【技术实现步骤摘要】
存储器管理方法以及存储控制器
本专利技术涉及一种存储器管理方法,尤其涉及一种适用于配置有可复写式非易失性存储器模块的存储装置的存储器管理方法与存储控制器。
技术介绍
传统的SATA(SerialAdvancedTechnologyAttachment)接口的固态硬盘(配置有可复写式非易失性存储器模块的存储装置)会使用进阶主机控制器接口(AdvancedHostControllerInterface,以下称AHCI)标准,其允许软件与SATA存储装置沟通。一般来说,AHCI具有32个指令深度,即,允许主机系统同一时间内下达32个指令。但是,随着硬件本身的进展,SATA接口的固态硬盘也演化为PCIe(PeripheralComponentInterconnectexpress)接口的固态硬盘,并且PCIe接口的固态硬盘会使用非易失性存储器主机控制器接口(Non-VolatileMemoryexpress,以下称NVMe)标准。一般来说,NVMe具有65536个指令深度,即,允许主机系统同一时间内下达65536个指令。也就是说,因为NVMe标准可提供近两千倍的指令深度,存储控制器所需要管理的来自主机系统的指令的数量也会随之大量增加。因此,要如何在NVMe标准下管理所接收到的大量指令,进而提升PCIe接口的固态硬盘的处理指令的效率,是本领域人员研究的课题之一。
技术实现思路
本专利技术提供一种存储器管理方法(也称,主机指令管理方法)与存储控制器,可有效率地消化指令阵列中的多个指令,并且降低 ...
【技术保护点】
1.一种存储器管理方法,适用于配置有可复写式非易失性存储器模块的存储装置,所述方法包括下列步骤:/n(1)从指令缓冲器获取新的第一指令,并且判断所述第一指令是否为刷新指令,其中反应于判定所述第一指令为所述刷新指令,执行步骤(2a),其中反应于判定所述第一指令不为所述刷新指令,执行步骤(2b);/n(2a)将所述刷新指令存储至指令阵列中,根据所述刷新指令来识别所述指令阵列中对应所述刷新指令的一或多个第二指令,并且计数所述刷新指令与所述一或多个第二指令的总数以成为对应当前刷新阶段的刷新阶段计数值;/n根据所述当前刷新阶段来设定所述指令阵列中的所述刷新指令与所述一或多个第二指令各自的刷新阶段值,并且将所述当前刷新阶段从多个刷新阶段中的第一刷新阶段调整至第二刷新阶段;以及/n根据所述指令阵列中的一或多个刷新指令的总数以及所述指令阵列的剩余空间来执行步骤(1)或步骤(3);/n(2b)将所述第一指令存储至指令阵列,并且根据所述指令阵列的所述剩余空间来执行步骤(1)或步骤(3);/n(3)不从所述指令缓冲器获取新的第一指令,并且执行步骤(4);/n(4)从所述指令阵列的一或多个非刷新指令中选择新的 ...
【技术特征摘要】
1.一种存储器管理方法,适用于配置有可复写式非易失性存储器模块的存储装置,所述方法包括下列步骤:
(1)从指令缓冲器获取新的第一指令,并且判断所述第一指令是否为刷新指令,其中反应于判定所述第一指令为所述刷新指令,执行步骤(2a),其中反应于判定所述第一指令不为所述刷新指令,执行步骤(2b);
(2a)将所述刷新指令存储至指令阵列中,根据所述刷新指令来识别所述指令阵列中对应所述刷新指令的一或多个第二指令,并且计数所述刷新指令与所述一或多个第二指令的总数以成为对应当前刷新阶段的刷新阶段计数值;
根据所述当前刷新阶段来设定所述指令阵列中的所述刷新指令与所述一或多个第二指令各自的刷新阶段值,并且将所述当前刷新阶段从多个刷新阶段中的第一刷新阶段调整至第二刷新阶段;以及
根据所述指令阵列中的一或多个刷新指令的总数以及所述指令阵列的剩余空间来执行步骤(1)或步骤(3);
(2b)将所述第一指令存储至指令阵列,并且根据所述指令阵列的所述剩余空间来执行步骤(1)或步骤(3);
(3)不从所述指令缓冲器获取新的第一指令,并且执行步骤(4);
(4)从所述指令阵列的一或多个非刷新指令中选择新的目标指令,识别所述目标指令的目标刷新阶段值以及对应所述目标刷新阶段值的目标刷新阶段计数值,其中反应于所述目标指令不具有所述目标刷新阶段值,执行步骤(5a),其中反应于所述目标指令具有所述目标刷新阶段值,执行步骤(5b);
(5a)执行所述目标指令,并且反应于完成所述目标指令的执行,从所述指令阵列中删除所述目标指令,并且执行步骤(1);
(5b)改变所述目标刷新阶段计数值,并且根据改变后的所述目标刷新阶段计数值执行步骤(5a)或步骤(5c);
(5c)执行所述目标指令,回应主机系统对应所述目标刷新阶段值的目标刷新指令已经执行完毕,将所述目标刷新阶段计数值设定为预设值,并且执行步骤(1)。
2.根据权利要求1所述的存储器管理方法,其中所述指令缓冲器用以从所述主机系统接收指令,其中上述方法还包括下列步骤:
反应于所述指令缓冲器与所述指令阵列皆不具有任何指令,结束上述存储器管理方法的所有步骤;以及
反应于经由空的所述指令缓冲器从所述主机系统接收到一个指令,开始执行上述步骤(1),
其中上述步骤(1)的从指令缓冲器获取所述新的第一指令的步骤包括反应于所述指令缓冲器不具有可被获取的所述新的第一指令,执行步骤(4)。
3.根据权利要求1所述的存储器管理方法,其中所述指令阵列被维护于主机指令管理电路单元中,所述指令阵列的所有指令皆各自被标记对应的刷新阶段值,其中刷新阶段计数表被维护于所述主机指令管理电路单元中,并且所述刷新阶段计数表记录有多个刷新阶段与分别对应所述多个刷新阶段的多个刷新阶段计数值,其中上述步骤(4)包括:
依据先进先出方式来从所述指令阵列的所述一或多个非刷新指令中选择所述目标指令;以及
从指令阵列中识别所述目标指令的被标记的所述目标刷新阶段值,并且根据所述目标刷新阶段值从所述刷新阶段计数表中查找对应目标刷新阶段计数值。
4.根据权利要求1所述的存储器管理方法,其中上述步骤(5b)包括:
反应于所述目标指令具有所述目标刷新阶段值,将所述目标刷新阶段计数值减一,以改变所述目标刷新阶段计数值;
判断改变后的所述目标刷新阶段计数值是否等于1,其中反应于所述目标刷新阶段计数值不等于1,执行步骤(5a),
其中反应于所述目标刷新阶段计数值等于1,执行步骤(5c),
其中所述步骤(5c)包括:
反应于完成所述目标指令的执行,删除所述指令阵列中的所述目标指令以及所述目标刷新指令。
5.根据权利要求1所述的存储器管理方法,其中所述刷新指令用以指示将所述指令阵列的所述一或多个第二指令删除,并且所述刷新指令与所述一或多个第二指令皆对应相同的识别单元,其中上述步骤(2a)包括:
不根据所述刷新指令执行所述一或多个第二指令,并且不删除所述一或多个第二指令;
记录所述刷新阶段计数值,以对应所述多个刷新阶段中的所述第一刷新阶段,
其中所述多个刷新阶段以循环方式排列,并且所述第二刷新阶段排列在所述第一刷新阶段之后。
6.根据权利要求5所述的存储器管理方法,其中上述步骤(2a)的根据所述指令阵列中的所述一或多个刷新指令的所述总数以及所述指令阵列的剩余空间的步骤包括:
判断所述指令阵列中的所述一或多个刷新指令的总数是否大于阶段上限值,
其中反应于判定所述一或多个刷新指令的所述总数大于所述阶段上限值,执行步骤(3),
其中反应于判定所述一或多个刷新指令的所述总数不大于所述阶段上限值,判断所述指令阵列是否具有所述剩余空间,其中反应于判定所述指令阵列不具有所述剩余空间,执行步骤(3),其中反应于判定所述指令阵列具有所述剩余空间,执行步骤(1)。
7.一种存储控制器,用于控制配置有可复写式非易失性存储器模块的存储装置,所述存储控制器包括:
连接接口电路,用以耦接至主机系统,其中所述连接接口电路包括指令缓冲器,用以暂存来自所述主机系统的指令;
存储器接口控制电路,用以耦接至所述可复写式非易失性存储器模块;
主机指令管理电路单元;以及
处理器,耦接至所述连接接口电路、所述存储器接口控制电路及所述主机指令管理电路单元,其中所述处理器用以指示所述主机指令管理电路单元执行主机指令管理操作,所述主机指令管理操作包括下列步骤...
【专利技术属性】
技术研发人员:萧又华,谢宏志,
申请(专利权)人:深圳大心电子科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。