在循序地编程的存储器子系统中的顺序读取优化技术方案

技术编号:35809299 阅读:24 留言:0更新日期:2022-12-03 13:28
一种系统包含具有缓冲器的易失性存储器,和处理装置。命令生成处理器从主机接收具有逻辑块地址(LBA)的读取请求,且创建待映射到物理地址的包含所述第一LBA的第一逻辑传送单元(LTU)。所述命令生成处理器读取旗标以确定所述第一LTU与LBA地址空间的区相关联,所述区包含循序地映射到顺序物理地址的顺序LBA。所述命令生成处理器生成命令标签,所述命令标签将引导所述处理装置从所述存储器装置检索所述数据且在所述缓冲器的集合中存储所述数据,其中所述命令标签包含与所述物理地址相关联的第一命令标签以及与循序地跟随所述物理地址的第二物理地址相关联的第二命令标签。的第二物理地址相关联的第二命令标签。的第二物理地址相关联的第二命令标签。

【技术实现步骤摘要】
【国外来华专利技术】在循序地编程的存储器子系统中的顺序读取优化


[0001]本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及在循序地编程的存储器子系统中的顺序读取优化。

技术介绍

[0002]存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
附图说明
[0003]根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。
[0004]图1A说明根据实施例的包含存储器子系统的实例计算系统。
[0005]图1B说明根据实施例的图1A的存储器子系统的额外细节。
[0006]图2是根据各种实施例的说明经配置以支持基于区的映射的数据结构的实例的框图。
[0007]图3是根据实施例的图1A

1B的存储器子系统控制器的命令生成处理器、转译处理器和命令执行处理器的相互关系的框图。
[0008]图4是根据实施例的用于顺序读取优化的方法的流程图。
[0009]图5是根据相关实施例的用于顺序读取优化的方法的流程图。
[0010]图6是其中本公开的实施例可操作的实例计算机系统的框图。
具体实施方式
[0011]本公开的方面是针对在循序地编程的存储器子系统中的顺序读取优化。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1A描述存储装置和存储器模块的实例。大体来说,主机系统可利用包含例如存储数据的存储器装置等一或多个组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
[0012]存储器装置可为非易失性存储器装置。非易失性存储器装置的一个实例为与非(NAND)存储器装置。下文结合图1A描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。封装中的裸片可经指派给一或多个通道以用于与存储器子系统控制器通信。每一裸片可由一或多个平面组成。平面可分组成逻辑单元(LUN)。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由物理块集合组成。每一块由页集合组成。每一页由存储器单元(“单元”)的集合组成。单元是存储信息的电子电路。在下文中,块是指用于存储数据的存储器装置的单元,且可包含存储器单元群组、字线群组、字线或单独存储器单元。
[0013]可由存储器子系统执行数据操作。数据操作可为主机发起的操作。举例来说,主机系统可起始存储器子系统上的数据操作(例如,写入、读取、擦除等等)。主机系统可将存取请求(例如,写入命令、读取命令)发送到存储器子系统,以便在存储器子系统处的存储器装置中存储数据且从存储器子系统的存储器装置读取数据。
[0014]如由主机请求指定的待读取或写入的数据在下文中被称作“主机数据”。主机请求可包含用于主机数据的逻辑地址信息(例如,逻辑块地址(LBA)、名称空间),其是主机系统与主机数据相关联的位置。逻辑地址信息(例如,LBA、名称空间)可为主机数据的元数据的部分。元数据还可包含错误处置数据(例如,ECC码字、奇偶检验码)、数据版本(例如,用以区分所写入数据的年龄)、有效位图(其LBA或逻辑传送单元含有有效数据),及类似物。为简单起见,在下文提及“数据”的情况下,此类数据可理解为至少指代主机数据,但也可指代例如媒体管理数据和/或系统数据等其它数据。
[0015]存储器装置的单元(或简称为“媒体”)可从裸片(上部层级)到平面、到块、到页(下部层级)以阶层式方式组织。块集合(也被称作块条带)可为跨越不同裸片的平面排列以使得块分组在一起以用于数据存储的块集合。写入到块条带允许可跨多个裸片同时并行写入和读取的更多数据。一或多个块集合的多个块可经识别为数据群组。
[0016]在各种实施例中,主机文件系统可通过局部性将主机数据分组且将主机数据循序地写入到存储器子系统。文件系统可接着将不同局部性的数据作为并行循序流写入到存储器子系统,每一流具有其自身的局部性,例如其中不同主机应用可各自写入到其自身的流。“局部性”可以指时间局部性或空间局部性。以时间局部性分组的数据是处理器趋于在短时间段内反复在同一存储器装置位置处存取的主机数据,例如,大约同时被写入、覆写和修整的数据。经修整涉及使用修整命令的操作系统向存储器装置告知不再处于使用中且可例如经由垃圾收集在内部擦除的数据块。以空间局部性分组的数据含有在特定时间参考特定存储位置时的数据检索模式,随后则可能在近期将参考附近存储器位置(存储器装置上)。在此情况下,处理器可尝试确定当前参考的存储器位置周围的值得针对随后参考的位置准备较快存取的区域的大小和形状。对顺序局部性的参考是当数据元素被线性地布置和存取时(例如,在遍历一维阵列中的元素时)发生的空间局部性的特殊情况。
[0017]存储器子系统控制器(例如,包含处理装置)通常在主机数据的部分(例如,4KB)中随机地对媒体写入,且接着使用元数据将LBA空间映射到媒体的物理地址空间。然而,当以数据局部性分组写入较大群组的主机数据(例如,100MB或更大)时,可跨越多个裸片将“数据群组”作为较大组块循序地写入到一个或多个块集合。为了简化此类数据群组的映射,可在LBA空间内循序排序区域的LBA(例如,与数据群组相关联的逻辑地址空间)且映射到物理地址空间内的循序排序的物理地址。换句话说,数据群组可与具有循序地映射到多个顺序物理地址的多个顺序LBA相关联的LBA空间区。可一次性写入(例如,编程)数据区且相应地映射所述区的存储器子系统在区名称空间(ZNS)中操作,例如其中逻辑地址区被命名/经识别为群组。有利的是,使用ZNS用于逻辑到物理(LTP)地址映射极大地减少用以跟踪LTP映射的元数据的量。
[0018]在存储器子系统中,读取请求(或读取操作)通常以一次一个命令标签的方式发出到存储器子系统控制器的转译处理器(例如,将逻辑地址转译为物理地址),从而导致以由命令标签指定的粒度进行的随机读取。命令标签,也被称作系统标签(例如,systag),包含
逻辑传送单元(LTU)数目和识别其中对应于传送单元的内容如同在高速缓存中那样存储的缓冲器(例如,易失性存储器中的槽或条目)的缓冲器地址。在一个实施例中对应于4KB数据部分的LTU是可经由映射数据结构集合映射到物理地址的多个顺序LBA的子集。因此,为了创建LTU,存储器子系统控制器的命令生成处理器可组合读取请求的LBA与循序排在所述LBA之后的额外LBA(也可在读取请求中接收)。每一LTU可经转译为逻辑块或逻辑页,这取决于LTU类型。
[0019]因为以一次一个命令标签的方式常规地执行读取请求,所以每一读取请求生成进入存储器子系统控制器的命令生成处理器(不管读取是否为顺序的)的命令消息(例如,在一个实例中为信箱消息),生成多个(例如,四个)数据结构查找以用于将读取请求的LBA映射到存储器装置中的物理位置,如将详细解释。可在非易失性存储器命令的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,其包括:存储器装置;易失性存储器,其包括缓冲器;以及处理装置,其耦合到所述存储器装置和所述易失性存储器,其中所述处理装置的命令生成处理器进行以下操作:从主机系统接收包括用于所述存储器装置的逻辑块地址(LBA)地址空间的第一LBA的读取请求;创建第一逻辑传送单元(LTU)以包含所述第一LBA,所述第一LTU待映射到所述存储器装置的第一物理地址;从所述易失性存储器读取旗标以确定所述第一LTU与所述LBA地址空间的区相关联,其中所述区包括循序地映射到多个顺序物理地址的多个顺序LBA;以及生成命令标签集合,所述命令标签集合将引导所述处理装置的命令执行处理器从所述存储器装置检索数据且在所述缓冲器的集合中存储所述数据,其中所述命令标签集合包括与所述第一物理地址相关联的第一命令标签以及与循序地跟随所述第一物理地址的第二物理地址相关联的第二命令标签。2.根据权利要求1所述的系统,其中所述命令标签集合中的每一命令标签包括:LTU编号,其识别映射到所述存储器装置的物理地址空间的物理地址的LTU;以及所述缓冲器的所述集合内的位置的缓冲器地址。3.根据权利要求1所述的系统,其中所述命令标签集合进一步包括与在所述第二物理地址后循序编号的后续物理地址相关联的额外命令标签,且其中将每一后续物理地址递增页数目直到达到从所述第一物理地址起的读取窗口大小的结束为止。4.根据权利要求1所述的系统,其中所述处理装置的所述命令生成处理器进一步进行以下操作:从所述易失性存储器检索所述第一物理地址;以及向所述主机系统传回从所述第一物理地址检索且存储于所述缓冲器的所述集合的第一缓冲器中的所述数据的第一子集。5.根据权利要求4所述的系统,其中响应于第二读取请求,所述命令生成处理器进行以下操作:确定所述第二读取请求的第二LBA对应于所述第二物理地址;从所述缓冲器的所述集合的第二缓冲器检索所述数据的第二子集,所述第二缓冲器具有与所述第二命令标签相关联的缓冲器地址;以及将所述数据的所述第二子集传输到所述主机系统。6.根据权利要求1所述的系统,其中所述处理装置的转译处理器基于正循序地写入到所述存储器装置的所述数据而在所述易失性存储器中设定所述旗标。7.根据权利要求1所述的系统,其中所述命令生成处理器进一步向所述处理装置的所述命令执行处理器传输分别包括所述命令标签集合中的一个的命令群组,且响应于接收到所述命令标签集合,所述命令执行处理器根据所述命令标签集合的相应缓冲器地址从所述存储器装置检索所述数据且在所述缓冲器的所述集合中存储所述数据。8.根据权利要求1所述的系统,其中所述命令生成处理器进一步进行以下操作:
将所述命令标签集合互连到命令链中;以及在单个命令消息中将所述命令链传输到所述命令执行处理器。9.根据权利要求1所述的系统,其中所述命令生成处理器进一步使用以下各项中的一个在所述易失性存储器内分配和跟踪所述缓冲器:二

三树算法,其中通过LTU编号分选所述缓冲器;或N路高速缓存,其采用散列算法。10.一种方法,其包括:由处理装置的命令生成处理器接收包括用于存储器装置的逻辑块地址(LBA)地址空间的第一LBA的读取请求;由所述命令生成处理器创建第一传送单元(LTU)以包含所述第一LBA,所述第一LTU待映射到所述存储器装置的第一物理地址;由所述命令生成处理器从易失性存储器读取位图的位值以确定所述第一LTU与所述LBA地址空间的区相关联,其中所述区包括循序地映射到多个顺序物理地址的多个顺序LBA;由所述命令生成处理器在所述易失性存储器中分配缓冲器集合,其中所述缓冲器集合的容量匹配于在所述第一物理地址和在开始于所述第一物理地址处的读取窗口大小内循序编号的后续物理地址处存储的数据量;以及由所述命令生成处理器生成命令标签集合,所述命令标签集合将引导所述处理装置的命令执行处理器从所述存储器装置检索所述数据且在所述缓冲器集合中存储所述数据,其中所述命令标签集合至少包括与所述第一物理地址相关联的第一命令标签...

【专利技术属性】
技术研发人员:C
申请(专利权)人:美光科技公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1