本发明专利技术公开用于提供指向存储器装置中的微码的灵活命令指针的设备、方法及计算机可读媒体。在一个实施例中,公开一种方法,其包括:接收存取存储器装置的命令;存取配置参数;基于所述配置参数及所述命令来识别程序计数器值;及基于所述程序计数器来加载并执行微码。及基于所述程序计数器来加载并执行微码。及基于所述程序计数器来加载并执行微码。
【技术实现步骤摘要】
【国外来华专利技术】指向微码操作的灵活命令指针
[0001]相关申请案
[0002]本申请案主张2019年12月10日申请且标题为“指向微码操作的灵活命令指针(FLEXIBLE COMMAND POINTERS TO MICROCODE OPERATIONS)”的第16/708,971号美国专利申请案,所述申请案的全部公开特此以引用的方式并入本文中。
[0003]版权声明
[0004]本专利文件的公开内容的一部分含有受版权保护的材料。版权所有者不反对任何人以传真方式复制如在专利及商标局专利文档或记录中出现的专利文件及专利公开,但在其它方面保留所有版权权利。
技术介绍
[0005]所公开实施例涉及存储器装置,且特定来说,涉及用于改进此类存储器装置中的微码操作的效率的装置、系统、方法及计算机可读媒体。
[0006]当前,例如非易失性存储器(NVM)装置的存储器装置利用经存储微码来执行例如读取及写入操作等的操作。一般来说,存储器装置提供响应于此类命令的外部接口。接着,将这些命令映射到操纵底层存储构造(例如,读取/写入NVM存储构造的行/列)的经存储例程(微码)。本质上,这些装置通过使用存储器电路系统执行的更复杂及更低级操作(例如,行/列启用等)来提供抽象层(例如,READ或WRITE)。此外,在一些存储器装置中,这些微码使用多熔丝或类似装置来存储。此类装置占据大量裸片空间。
[0007]然而,这些存储器装置受到各种技术限制。原则上,此类装置限于每命令仅一个微码例程。因此,作为一个实例,对于向所述存储器装置发出的每个READ命令执行相同微码例程。此方法未能基于经接收命令周围的条件(例如,在循环前或循环后接收命令)来优化所述存储器装置的性能。所公开实施例解决这个及其它问题。
附图说明
[0008]图1是根据本公开的一些实施例的存储器装置的框图。
[0009]图2是说明根据本公开的一些实施例的控制器及存储器的框图。
[0010]图3是说明根据本公开的一些实施例的实例性存储器布局的存储器图。
[0011]图4是说明根据本公开的一些实施例的用于执行微码的方法的流程图。
[0012]图5是说明根据本公开的一些实施例的用来执行主机命令的替代微码的方法的流程图。
[0013]图6是说明根据本公开的一些实施例的用于基于循环计数来执行替代微码的方法的流程图。
具体实施方式
[0014]所公开实施例描述实现针对相同存储器存取命令动态转变微码算法的用于提供灵活命令指针的系统、装置、方法及计算机可读媒体。在一个实施例中,多个微码存储在存
储器中且使用基于参数或基于循环计数的切换机制来从默认微码转变为替代微码。此外,跳转指令允许替代微码返回到默认微码,从而减少码复制。所公开实施例可被实施为用户控制的、自动控制,或可允许后生产过程在最终测试之前永久地选择一个微码或另一微码。
[0015]图1是根据本公开的一些实施例的存储器系统的框图。
[0016]在所说明实施例中,主机(102)通信地耦合到存储器装置或设备(104)。在所说明实施例中,主机(102)可包括能够向存储器装置(104)发出命令的任何计算装置。在一个实施例中,主机(102)及存储器装置(104)经由数据总线或其它接口连接。作为一个实例,主机(102)及存储器装置(104)可经由PCIe或NVMe总线/接口连接。一般来说,主机(102)将发出命令以从存储器装置(104)读取数据/将数据写入到存储器装置(104)。简而言之,读取命令指示待从中读取数据的存储器地址。存储器地址可包括逻辑或物理地址存储器地址。例如,如果存储器装置(104)提供对NAND快闪存储器阵列的存取,那么读取命令可包含逻辑块地址(LBA)。写入命令指示待写入到的存储器地址及待写入到那个存储器地址的数据有效负载。在一些实施例中,两个命令还可包含用以修改所述命令的操作的一或多个修整参数。修整参数的实例包含编程速率、电压电平、设置电压/大小、编程脉冲宽度及其它参数。在一些实施例中,修整参数还可包含指示待使用的微码代码的变体的旗标(如本文中更详细地描述)。
[0017]在所说明实施例中,存储器装置(104)包含控制器(106)(其也被称为处理器)、寄存器/静态随机存取存储器(SRAM)(108)及媒体阵列(110)。
[0018]在图2中更详细地描述控制器(106)及寄存器/SRAM(108)的逻辑元件,所述逻辑元件的描述在本文中不再赘述。简而言之,控制器(106)含有用于存取媒体阵列(110)的逻辑。在所说明实施例中,固件(也被称为微码)存储在寄存器/SRAM(108)中。响应于接收到命令,控制器(106)识别存储在寄存器/SRAM(108)中的适当固件且继续从寄存器/SRAM(108)加载与固件相关联的指令。控制器(106)进一步经配置以实施本文中更详细地描述的微码选择例程。在从寄存器/SRAM(108)加载指令之后,控制器(106)执行读取、写入或以其它方式执行涉及媒体阵列(110)的计算的指令。
[0019]在所说明实施例中,媒体阵列(110)可包括NAND快闪存储器阵列或其它类型的非易失性存储装置。在一些实施例中,媒体阵列(110)可包括本地存储媒体或网络附属存储媒体或存储区域网络)。在一些实施例中,媒体阵列(110)可包括易失性存储器,例如动态随机存取存储器(DRAM)或静态RAM(SRAM)。存储器(或其内容)的特定形式并不意在为限制性的。
[0020]图2是说明根据本公开的一些实施例的控制器及存储器的框图。
[0021]在所说明实施例中,命令接口(202)经配置以从(例如)主机装置接收命令。接口(202)可包括用于接收主机命令且将所述命令及任何修整参数传输到程序计数器映射逻辑(204)的PCIe、NVMe或类似命令接口。命令的命令接口(202)的特定处理并不意在为限制性的。一般来说,命令接口(202)验证命令且执行底层协议所需的任何管理或维护任务。如所说明,接口(202)将命令,包含例如包含在所述命令中的修整参数传输到映射逻辑(204)。另外,接口(200)将包含在主机命令中的地址及任何数据(例如,用于写入命令)传输到解码逻辑(208)。
[0022]在所说明实施例中,程序计数器映射逻辑(204)经配置以接收命令且返回识别对应算法位于存储器中的位置的程序计数器。在一些实施例中,程序计数器映射逻辑(204)可
被实施为解码逻辑(208)的部分,但被说明为单独逻辑块。程序计数器映射逻辑(204)包含命令类型到程序计数器的映射。这个映射可包含基于修整参数或循环计数进一步映射的一或多个替代映射。如所说明,提供监测由控制器向底层存储构造发出的编程/擦除循环的数目的循环计数器(214)。在替代实施例中,可对其它循环(读取、写入等)进行监测及计数。在一个实施例中,循环计数器(214)包括计数器及将计数与硬连线循环计数进行比较的比较器。一旦计数器超过那个计数,循环计数器(214)就发信号通知程序计数器映射逻辑(本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种方法,其包括:在存储器装置处接收命令;由所述存储器装置存取配置参数;由所述存储器装置基于所述配置参数及所述命令来识别程序计数器值;及由所述存储器装置基于所述程序计数器来加载并执行微码例程。2.根据权利要求1所述的方法,所述命令包括存取由所述存储器装置管理的存储构造的读取或写入命令。3.根据权利要求1所述的方法,所述配置参数包括修整参数。4.根据权利要求1所述的方法,其中所述程序计数器值是基于所述存储器装置的循环计数来确定。5.根据权利要求4所述的方法,所述循环计数包括编程/擦除循环计数。6.根据权利要求1所述的方法,其进一步包括存储用于所述命令的多个微码,所述多个微码中的每一者与唯一程序计数器值相关联。7.根据权利要求6所述的方法,所述微码中的至少一者包含跳转指令,所述跳转指令致使所述存储器装置加载并执行所述微码中的不同微码。8.根据权利要求7所述的方法,所述跳转指令进一步致使所述存储器装置在不同于所述不同微码的起始命令的命令处执行所述不同微码。9.一种用于有形地存储能够由计算机处理器执行的计算机程序指令的非暂时性计算机可读存储媒体,所述计算机程序指令定义以下步骤:接收存取存储器装置的命令;存取配置参数;基于所述配置参数及所述命令来识别程序计数器值;及基于所述程序计数器来加载并执行微码。10.根据权利要求9所述的非暂时性计算机可读存储媒体,所述命令包括存取由所述存储器装置管理的存储构造的读取或写入命令。11.根据权利要求9所述的非暂时性计...
【专利技术属性】
技术研发人员:M,
申请(专利权)人:美光科技公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。