促进存储器子系统中的循序读取的制作方法



1.本公开的实施例大体上涉及存储器子系统,且更明确来说,涉及促进存储器子系统中的循序读取。


背景技术:



2.存储器子系统可为存储系统、存储器模块或存储装置与存储器模块的混合体。存储器子系统可包含存储数据的一或多个存储器组件。举例来说,所述存储器组件可为非易失性存储器组件及易失性存储器组件。一般来说,主机系统可利用存储器子系统以将数据存储于存储器组件处及从存储器组件检索数据。
附图说明
3.从下面给出的详细描述及从本公开的一些实施例的附图中,将更全面地理解本公开。
4.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
5.图2示意性地说明根据本公开的一些实施例的主机系统与存储器系统控制器的交互。
6.图3示意性地说明根据本公开的一些实施例实施的存储器子系统的实例逻辑地址空间。
7.图4示意性地说明根据本公开的一些实施例实施的实例l2p映射的结构。
8.图5是由根据本公开的一些实施例操作的存储器子系统控制器产生循序辅助增强l2p表的实例方法的流程图。
9.图6示意性地说明根据本公开的一些实施例实施的实例l2p映射。
10.图7是由根据本公开的一些实施例操作的主机系统发出循序辅助增强读取命令的实例方法的流程图。
11.图8是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
12.本公开的实施例旨在促进存储器子系统中的循序读取。存储器子系统可为存储器装置、存储器模块或存储装置与存储器模块的混合体。下面结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供待存储在存储器子系统处的数据,并且可请求待从存储器子系统检索的数据。主机系统通过其相应逻辑块地址(lba)来识别存储器块,所述逻辑块地址可由预定大小的整数表示。
13.为了使由存储器子系统采用的存储器组件的物理实施方案的各个方面与主机系统隔离,存储器子系统可维持将每一lba映射到对应物理地址(pa)的数据结构。举例来说,对于快闪存储器,物理地址可包含通道标识符、裸片标识符、页面标识符、平面标识符及/或
帧标识符。映射数据结构在本文中称为逻辑到物理(l2p)映射。
14.为了改进主机系统与存储器子系统之间的数据传送的总体效率,l2p映射可由主机系统高速缓存在动态随机存取存储器(dram)中,从而允许主机系统通过供应对应于待由存储器子系统读取的数据项的lba的pa来增强传输到存储器子系统的读取命令。被称为主机感知性能提升(hpb)的此方法通过消除存储器子系统存取l2p映射(其可存储在展现超过主机的dram的存取时间若干个数量级的存取时间的非易失性存储器组件上)以便执行lba到pa转译的需要来减少读取延迟。
15.然而,hpb的各种常见实施方案仅支持单个lba随机读取。因此,本公开的实施例通过实施支持具有可变长度随机读取的hpb的存储器子系统来解决上述及其它缺陷,从而显著改进主机系统与存储器子系统之间的数据传送的总体效率。
16.根据本公开的实施例,可由主机系统高速缓存的每一l2p记录用循序辅助值增强,所述循序辅助值存储被映射到循序地跟随映射到当前lba的pa的连续pa的连续lba的数目。在说明性实例中,如果三个连续lba被映射到三个连续pa,那么由lba=1指定的l2p记录将具有循序辅助值2(因为跟随lba=1的两个lba(lba=2及lba=3)被映射到跟随映射到lba=1的pa的两个连续pa);由lba=2指定的l2p记录将具有循序辅助值1(因为跟随lba=2的lba=3被映射到跟随映射到lba=2的pa的pa),而由lba=3指定的l2p记录将具有循序辅助值0(因为映射到lba=4的pa不循序地跟随映射到lba=4的pa)。
17.因此,由主机发出的每一随机读取命令将包含对应于待由存储器子系统读取的数据项的lba的pa及循序辅助值,从而允许存储器系统控制器省略落入由循序辅助值指定的范围内的逻辑块的逻辑到物理的转译。在说明性实例中,对于循序辅助值n,存储器系统控制器将仅需要将第一lba转译为对应pa,且接着检索存储在[pa;pa+n]的物理地址范围内的数据,如本文在下面更详细地描述。
[0018]
尽管出于安全性原因,可对传输到主机系统用于高速缓存的l2p记录进行加密,从而防止主机通过修改发出到存储器子系统的读取命令中的pa值来损害存储器子系统的安全性及完整性,但某些实施方案可向主机系统揭示l2p记录的循序辅助值。因此,主机系统将能够利用循序辅助信息以便优化向存储器子系统发出的读取命令:主机系统可将每一多lba读取命令拆分为一系列读取命令,其与由相应循序辅助值指定的循序pa对准。在说明性实例中,为了读取n个连续lba,假设lba[0]的循序读取辅助为l,且lba[l+1]的循序读取辅助为m,使得l+m》=n,主机系统将发出两个读取命令,使得第一读取命令将读取(l+1)个块,且第二读取命令将读取(n-l-1)个块,如本文在下面更详细描述。
[0019]
因此,根据本公开的一些实施例实施的系统及方法的优点包含(但不限于),通过在对应pa也是连续的情况下免除存储器系统控制器转译多个连续lba的需要来改进主机系统与存储器子系统之间的数据传送的总体效率。此外,根据本公开的一些实施例实施的系统及方法的优点还包含允许主机系统利用循序辅助值来优化发出到存储器子系统的读取命令,如本文在下面更详细描述。
[0020]
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含例如存储器组件112a到112n的媒体。存储器组件112a到112n可为易失性存储器组件、非易失性存储器组件或其组合。存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合体。存储装置的实例包含固态驱动器(ssd)、快闪驱
动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小外形dimm(so-dimm)及非易失性双列直插式存储器模块(nvdimm)。
[0021]
计算环境100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。主机系统120例如使用存储器子系统110将数据写入存储器子系统110并从存储器子系统110读取数据。如本文使用,“耦合到”一般是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论是有线的还是无线的,包含例如电连接、光学连接、磁连接等的连接。
[0022]
主机系统120可为例如台式计算机、膝上型计算机、网络服务器、移动装置的计算装置,或者包含存储器及处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或向存储器子系统110写入数据。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文中所使用的,“耦合到”通常是指组件之间的连接,其可为有线或无线的间接通信连接或直接通信连接(例如,没有中间组件),其包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含(但不限于)串行高级技术附件(sata)接口、外围组件互连快速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接scsi(sas)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。主机系统120可进一步利用nvm快速(nvme)接口以在存储器子系统110通过pcie接口与主机系统120耦合时存取存储器组件112a到112n。所述物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。
[0023]
存储器组件112a到112n可包含不同类型的非易失性存储器组件及/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含“与非”(nand)型快闪存储器及就地写入存储器,例如三维交叉点(“3d x点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格数据存取阵列基于体积电阻的改变执行位存储。另外,与许多基于快闪的存储器相反,交叉点非易失性存储器可执行就地写入操作,其中可对非易失性存储器单元进行编程而无需事先擦除非易失性存储器单元。nand型快闪存储器包含例如二维nand(2d nand)及三维nand(3d nand)。
[0024]
存储器组件112a到112n中的每一者可包含一或多个存储器单元阵列,例如单电平单元(slc)或多电平单元(mlc)(例如,三电平单元(tlc)或四电平单元(qlc))。在一些实施例中,特定存储器组件可包含存储器单元的slc部分及mlc部分两者。存储器单元中的每一者可存储由主机系统120使用的一或多个数据位(例如,数据块)。尽管描述例如nand型快闪存储器的非易失性存储器组件,但是存储器组件112a到112n可基于任何其它类型的存储器,例如易失性存储器。在一些实施例中,存储器组件112a到112n可为(但不限于)随机存取存储器(ram)装置、只读存储器(rom)装置、动态随机存取存储器(dram)装置、同步动态随机存取存储(sdram)装置、相变存储器(pcm)装置、磁随机存取存储器(mram)装置、“或非”(nor)快闪存储器装置、电可擦除可编程只读存储器(eeprom)及/或3d x点”存储器装置。此外,存储器组件112a到112n的存储器单元可被分组为存储器页面或数据块,其可指代用于存储数据的存储器组件的单位。
[0025]
存储器系统控制器115(此后称为“控制器”)可与存储器组件112a到112n通信以执行例如在存储器组件112a到112n处读取数据、写入数据或擦除数据的操作以及其它此类操作。控制器115可包含例如一或多个集成电路及/或离散组件、缓冲存储器或其组合的硬件。控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适处理器。控制器115可包含经配置以执行存储在本地存储器119中的指令的处理器(处理装置)117。在所说明实例中,控制器115的本地存储器119包含经配置以存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流程以及例程的指令的嵌入式存储器,所述操作包含处置存储器子系统110与主机系统120之间的通信。在一些实施例中,本地存储器119可包含存储存储器指针、经提取数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(rom)。尽管图1中的实例存储器子系统110已经说明为包含控制器115,但在本公开的另一实施方案中,存储器子系统110可不包含控制器115,而是可依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
[0026]
一般来说,控制器115可从主机系统120接收命令或操作,并且可将命令或操作转换为指令或适当命令以实现对存储器装置112a到112n的期望存取。控制器115可负责其它操作,例如损耗均衡操作、垃圾收集操作、错误检测及错误校正码(ecc)操作、加密操作、高速缓存操作以及与存储器组件112a到112n相关联的逻辑块地址与物理块地址之间的地址转译。控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收的命令转换为命令指令以存取存储器组件112a到112n,以及将与存储器组件112a到112n相关联的响应转换为用于主机系统120的信息。在一些实施例中,存储器组件112可包含本地媒体控制器(图1中未展示),其与存储器系统控制器115结合操作以便实施本文描述的方法。
[0027]
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含可从控制器115接收地址并解码所述地址以存取存储器组件112a到112n的高速缓存或缓冲器(例如,dram)及地址电路系统(例如,行解码器及列解码器)。
[0028]
存储器子系统110包含hpb组件113,其可用于根据本公开的一些实施例实施具有循序辅助的hpb。在一些实施例中,hpb组件113可实施由存储器子系统控制器产生循序辅助增强l2p表的方法500,如本文在下面更详细描述。在一些实施例中,控制器115包含hpb组件113的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中的指令用于执行本文所描述的操作。在一些实施例中,hpb组件113是主机系统120、应用程序或操作系统的部分。
[0029]
hpb组件113可从存储器子系统控制器接收l2p映射数据,并且可将所接收l2p映射数据存储到主机存储器,例如动态随机存取存储器(dram)。由于主机存储器的大小可达到数千兆字节,主机存储器可具有用于存储数十兆字节的l2p映射数据(且可能是整个l2p映射)的容量。l2p映射由lba值索引,且每一l2p映射条目包含pa及对应于lba的循序辅助值,lba的索引识别l2p映射条目。如本文上面所述,循序辅助值反映被映射到循序地跟随映射到当前lba的pa的连续pa的连续lba的数目。
[0030]
因此,除待由存储器子系统读取的数据项的lba之外,由主机发出的每一读取命令可进一步包含对应于lba的pa及循序辅助值,从而允许存储器系统控制器省略落入由循序
辅助值指定的范围内的逻辑块的逻辑到物理转译。下面描述有关hpb组件113的操作的进一步细节。
[0031]
图2示意性地说明根据本公开的一些实施例的主机系统120及存储器系统控制器115的交互。在初始化阶段(操作210),在主机系统120上运行的存储器驱动器可查询存储器系统控制器115,以便识别由存储器子系统110支持的hpb特征,并且可相应地分配用于存储l2p映射的主机存储器缓冲器。主机系统120可接着通过发出hpb读取缓冲器命令从而致使存储器系统控制器115将l2p映射数据发送到主机系统120来下载l2p映射数据(操作220)。在一些实施方案中,l2p映射数据可细分为多个区及子区,如本文在下面参考图3更详细解释。
[0032]
在正常操作期间(操作230),主机系统120可向存储器子系统110发出读取命令,使得每一读取命令包含对应于待由存储器子系统读取的数据项的lba相对应的pa及循序辅助值。存储器子系统110可通过向主机传输对应通知来发起l2p映射更新(操作240),所述通知可通过由存储器子系统110传输到主机系统120的任何响应来编码。响应于接收所述通知,主机系统120可发出hpb读取缓冲器命令,从而致使存储器系统控制器115向主机系统120发送l2p映射数据。
[0033]
图3示意性地说明根据本公开的一些实施例实施的存储器子系统的实例逻辑地址空间。如在图3中展示,lba地址空间300被划分为多个hpb区310a到310n。hpb区是逻辑单元(lu)内hpb特征的激活及去激活的单元。如果hpb区太大而无法通过单个读取操作将l2p映射信息传送到主机,那么可将hpb区划分为多个hpb子区320a到320k。
[0034]
在说明性实例中,hpb区大小为2gb,逻辑块大小为4千字节,且l2p记录大小为8字节,如下面参考图4更详细描述。因此,为了支持跨越所有逻辑单元的10个活动区,主机将分配40兆字节的存储器。
[0035]
40mb=(2gb/4kb)*8b*10个区。
[0036]
如本文上面所述,存储器子系统可使用任何已完成命令的响应ufs协议信息单元(upiu)向主机通知区及子区的激活/去激活。在接收到不活动区标识符时,主机系统可丢弃不活动hpb区的l2p映射数据。相反,在接收到活动子区标识符(即,区及子区索引)时,主机系统可发出读取缓冲器命令以加载所识别子区的l2p映射数据。
[0037]
图4示意性地说明根据本公开的一些实施例实施的实例l2p映射400的结构。l2p映射400由lba值索引,使得l2p映射400的第i个条目存储对应于lba=i的pa 410,并且进一步存储安全令牌420,安全令牌420用于编码循序辅助值及与lba=i有关的某些其它数据。在一些实施方案中,pa字段440可存储对pa与lba应用互斥析取(异或,xor)运算(即,pa^lba)的结果,因此为未映射lba保留全“1”(0xffffffff)的二进制值。尽管在图4的说明性实例中,l2p映射条目具有8字节的大小,包含分配到pa的4字节及分配到安全令牌的4字节,但在各种其它实施方案中,可实施其它大小的l2p映射条目及/或其个别字段。
[0038]
如由图4示意性地说明,安全令牌420通过串接上电复位计数430、子区更新计数440及循序辅助值450而产生。每次存储器子系统通电时,上电复位计数430递增,从而促进识别陈旧l2p条目。子区更新计数440是每当子区更新时递增的随机数。循序辅助值450是循序地跟随当前lba(即,l2p映射条目的索引)并映射到连续pa的lba的数目,所述连续pa又循序地跟随映射到当前lba的pa 410。
[0039]
子区表由存储器系统控制器(例如,图1的控制器115)创建,所述存储器系统控制器可从快闪存储器(例如,由图1的存储器组件112a到112n提供)检索子区的l2p映射,并将所检索l2p映射存储在本地静态随机存取存储器(sram)(例如,图1的本地存储器119)中。存储器系统控制器读取l2p映射并计算每一l2p映射条目的循序辅助值。如本文上面所述,循序辅助值是被映射到循序地跟随映射到当前lba的pa的连续pa的连续lba的数目。控制器接着针对每一l2p映射条目产生包含上电复位计数430、子区更新计数440及循序辅助值450的安全令牌420。
[0040]
因此,如果主机需要读取的逻辑块是活动子区的部分,那么主机可向存储器子系统发出读取命令,所述读取命令指定逻辑块地址、对应于逻辑块地址的物理地址、待读取的块的数目以及对应于逻辑块地址的循序辅助值。响应于接收到读取命令,控制器可通过使物理地址递增高达等于由读取命令供应的循序辅助值的次数,从由物理地址识别的存储器组件读取具有连续物理地址的多个存储器块。使物理地址递增使控制器免于进行原本必要的l2p表查操作(其又可能需要从非易失性存储器组件(例如存储器组件112a到112n)检索l2p表),从而减少读取操作的延时。
[0041]
图5是由根据本公开的一些实施例操作的存储器子系统控制器产生循序辅助增强l2p表的实例方法500的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法500由图1的hpb组件113执行。尽管以特定序列或顺序展示,但除非另有指定,否则可修改操作的顺序。因此,所说明实施例应仅被理解为实例,并且所说明操作可以不同顺序执行,而一些操作可并行执行。另外,在一些实施例中可省略一或多个操作。因此,并非在每一个实施例中都需要所有所说明操作,并且其它过程流程是可能的。
[0042]
在操作510处,存储器子系统控制器的处理装置从非易失性存储器检索hpb子区的l2p映射数据。每一l2p记录将逻辑块地址映射到由控制器管理的存储器组件上的存储器块的对应物理地址,如本文上面更详细描述。
[0043]
在操作520处,处理装置初始化l2p记录指针以便迭代通过l2p记录以计算循序辅助值。
[0044]
在操作530处,处理装置针对由指针识别的当前l2p记录确定循序辅助值,所述循序辅助值指定被映射到循序地跟随由l2p指定的物理地址的连续物理地址的逻辑块地址的数目,如本文上面更详细描述。
[0045]
在操作540处,处理装置为当前l2p记录产生安全令牌。安全令牌通过串接上电复位计数、子区更新计数及循序辅助值来产生,如本文上面更详细描述。
[0046]
在操作550处,处理装置将安全令牌附加到当前l2p记录。
[0047]
在操作560处,处理装置使l2p记录指针递增。
[0048]
响应于在操作570处确定当前子区的所有l2p记录已被处理,处理在框580处继续;否则,所述方法环回到操作530。
[0049]
响应于在操作580处从主机系统接收hpb读取缓冲器命令,处理装置在操作590处向主机系统传输由hpb读取缓冲器命令指定的子区的l2p映射数据,并且所述方法终止。
[0050]
尽管出于安全性原因,可对传输到主机系统用于高速缓存的l2p记录进行加密,从
而防止主机通过修改发出到存储器子系统的读取命令中的pa值来损害存储器子系统的安全性及完整性,但某些实施方案可向主机系统揭示l2p记录的循序辅助值。因此,主机系统将能够利用循序辅助信息以便优化向存储器子系统发出的读取命令:主机系统可将每一多lba读取命令拆分为一系列读取命令,其与由相应循序辅助值指定的循序pa对准。
[0051]
图6示意性地说明根据本公开的一些实施例实施的实例l2p映射。如在图6中展示,l2p映射600包含多个l2p条目610a到610e,使得每一条目包含对应于lba 630的pa 610及循序辅助值620。尽管出于说明性目的,lba 630值被展示为相应l2p条目610a到610e的部分,但l2p映射600可由lba值索引,使得l2p映射600的第i个条目将存储对应于lba=i的pa 610及循序辅助值620。在各种其它实施方案中,每一l2p条目可包含其它字段,例如上电复位计数及子区更新计数,如本文上面参考图4更详细描述。
[0052]
假设主机系统需要读取由lba=0
×
20
…0×
24识别的五个块,主机可利用循序辅助信息以便优化向存储器子系统发出的读取命令:主机系统可发出一系列两个读取命令,其与由相应循序辅助值指定的循序pa对准:
[0053]
读取lba=0
×
20,长度=3,pa=0
×
12,循序辅助=2。
[0054]
读取lba=0
×
23,长度=2,pa=0
×
a2,循序辅助=6。
[0055]
因此,为了读取n个连续lba,假设lba[0]的循序读取辅助为l,且lba[l+1]的循序读取辅助为m,使得l+m》=n,主机系统将发出两个读取命令,使得第一读取命令将读取(l+1)个块,且第二读取命令将读取(n-l-1)个块。
[0056]
在更一般情况下,主机系统可发出多个读取命令,使得每一读取命令将读取小于或等于递增1的当前循序辅助值(即,与待由读取命令读取的第一lba相关联的循序辅助值)的块的数目,如本文下面参考图7更详细描述。此功能性可由存储器子系统驱动器实施,所述存储器子系统驱动器可从应用程序接收读取命令,并且可将应用程序级读取命令拆分为发出到存储器子系统的多个读取命令。
[0057]
图7是由根据本公开的一些实施例操作的主机系统(例如,图1的主机系统120)发出循序辅助增强读取命令的实例方法700的流程图。方法700可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。尽管以特定序列或顺序展示,但除非另有指定,否则可修改操作的顺序。因此,所说明实施例应仅被理解为实例,并且所说明操作可以不同顺序执行,而一些操作可并行执行。另外,在一些实施例中可省略一或多个操作。因此,并非在每一个实施例中都需要所有所说明操作,并且其它过程流程是可能的。
[0058]
在操作710处,主机系统的处理装置从在主机子系统上运行的应用程序接收指定待读取的块的lba及数目的存储器读取命令。
[0059]
响应于在操作720处确定块的数目超过或等于当前循序辅助值,处理在操作730处继续;否则,所述方法分支到操作770。
[0060]
在操作730处,处理装置向存储器子系统发出读取命令,以从当前lba开始读取等于当前循序辅助值的块的数目。读取命令进一步指定对应于当前lba的pa及对应于当前lba的循序辅助值:
[0061]
读取(lba,pa[lba],(n=seqassist[lba]+1),seqassists[lba])
[0062]
在操作740处,处理装置使待读取的块的数目递减已通过所述方法的当前迭代读取的块的数目(n)(即,递减对应于当前lba的循序辅助值)。
[0063]
在操作750处,处理装置使当前lba值递增已通过所述方法的当前迭代读取的块的数目(n)(即,递增对应于当前lba的循序辅助值)。
[0064]
响应于在操作760处确定待读取的块的数目超过零,所述方法环回到操作720;否则,所述方法终止。
[0065]
在操作770处,处理装置向存储器子系统发出读取命令,以从当前lba开始读取剩余数目个块。读取命令进一步指定对应于当前lba的pa及对应于当前lba的循序辅助值:
[0066]
读取(lba,pa[lba],nblocks,seqassist[lba]),且所述方法终止。
[0067]
图8说明计算机系统800的实例机器,在计算机系统800内可执行用于致使所述机器执行本文所论述的方法中的任一或多者的一组指令。在一些实施例中,计算机系统800可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或者可用以执行控制器的操作(例如,执行操作系统以执行对应于图1的hpb组件113的操作)。在替代实施例中,所述机器可连接(例如,联网)到lan、内联网、外联网及/或因特网中的其它机器。所述计算机可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云计算基础设施或环境中作为服务器或客户端机器操作。
[0068]
机器可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器械、服务器、网络路由器、交换机或网桥或能够执行指定待由所述机器采取的动作的一组指令(循序或以其它方式)的任何机器。此外,虽然说明单个机器,但是术语“机器”也应被认为包含机器的任何集合,其个别地或共同地执行一组(或多组)指令以执行本文所论述的方法中的任一者或多者。
[0069]
实例计算机系统800包含处理装置802、主存储器804(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器808(例如,快闪存储器、静态随机存取存储器(sram)等)及数据存储器装置818,其经由总线830彼此通信。
[0070]
处理装置802表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或者是实施其它指令集的处理器,或者是实施指令集的组合的处理器。处理装置802也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器或类似者。处理装置802经配置以执行用于执行本文所论述的操作及步骤的指令828。计算机系统800可进一步包含用于通过网络820进行通信的网络接口装置808。
[0071]
数据存储系统818可包含机器可读存储媒体824(也称为计算机可读媒体),在其上存储体现本文所描述的方法或功能中的任一者或多者的一或多组指令828或软件,包含由存储器子系统控制器产生循序辅助增强l2p表的方法500及由主机系统发出循序辅助增强读取命令的方法700。在由计算机系统800执行指令828期间,指令828也可全部或至少部分地驻留在主存储器804内及/或处理装置802内,主存储器804及处理装置802也构成机器可读存储媒体。机器可读存储媒体824、数据存储系统818及/或主存储器804可对应于图1的存
储器子系统110。
[0072]
在一个实施例中,指令828包含用以实施对应于图1的hpb组件113的功能性的指令。尽管在实例实施例中将机器可读存储媒体824展示为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”也应被认为包含能够存储或编码一组指令以供机器执行并且致使机器执行本公开的方法中的任一者或多者的任何媒体。因此,术语“机器可读存储媒体”应被认为包含(但不限于)固态存储器、光学媒体及磁性媒体。
[0073]
已经根据对计算机存储器内的数据位的操作的算法及符号表示来呈现前述详细描述的某些部分。这些算法描述及表示是数据处理领域的技术人员用来最有效地向所属领域的其它技术人员传达其工作实质的方式。此处,算法通常被认为是导致所需结果的自洽操作序列。所述操作是需要对物理量的物理操纵的操作。通常但不是必须的,这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。有时已经证明,主要出于通用的原因将这些信号称为位、值、元素、符号、字符、项、数字或类似者是方便的。
[0074]
然而,应牢记,所有这些及类似术语均应与适当物理量相关联并且仅仅是应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置将表示为计算机系统的寄存器及存储器内的物理(电子)数的数据操纵及变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
[0075]
本公开还涉及用于执行本文的操作的设备。此设备可经特定构造用于预期目的,或者其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如(但不限于)任何类型的磁盘,包含软盘、光盘、cd-rom及磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡或适用于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
[0076]
本文提出的算法及显示并非固有地与任何特定计算机或其它设备相关。各种通用系统可与根据本文的教示的程序一起使用,或者可证明构造更专用设备来执行所述方法是方便的。各种这些系统的结构将如下文描述中所阐述那样出现。另外,未参考任何特定编程语言来描述本公开。将了解,可使用各种编程语言来实施如本文所描述的本公开的教示。
[0077]
本公开可被提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以由机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
[0078]
在前述说明书中,已经参考本公开的特定实例实施例描述本公开的实施例。显而易见的是,在不脱离如所附权利要求书中阐述的本公开的实施例的更广泛精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应被认为是说明意义而不是限制意义的。

技术特征:


1.一种系统,其包括:存储器组件;及处理装置,其可操作地耦合到所述存储器组件,所述处理装置用以执行包括以下操作的操作:接收多个逻辑到物理(l2p)记录,其中所述多个l2p记录中的l2p记录将逻辑块地址映射到所述存储器组件上的存储器块的物理地址;确定循序辅助值,所述循序辅助值指定被映射到循序地跟随由所述l2p记录指定的所述物理地址的连续物理地址的逻辑块地址的数目;产生编码所述循序辅助值的安全令牌;以及将所述安全令牌与所述l2p记录相关联。2.根据权利要求1所述的系统,其中所述操作进一步包括:响应于从主机系统接收请求,将所述多个l2p记录的至少子集传输到所述主机系统,其中所述子集包含所述l2p记录。3.根据权利要求1所述的系统,其中所述安全令牌进一步包括:上电复位计数的编码。4.根据权利要求1所述的系统,其中所述安全令牌进一步包括:子区更新计数的编码。5.根据权利要求1所述的系统,其中所述操作进一步包括:从主机系统接收指定所述逻辑块地址、对应于所述逻辑块地址的所述物理地址及所述循序辅助值的读取命令;及从所述存储器组件读取具有连续物理地址的多个存储器块,其中所述存储器块的数目小于或等于所述循序辅助值。6.根据权利要求1所述的系统,其中所述操作进一步包括:向主机系统传输包括通用快闪存储(ufs)协议信息单元(upiu)的响应,其中所述upiu指示具有循序辅助能力的主机性能提升(hpb)。7.根据权利要求1所述的系统,其中所述存储器组件是nand型快闪存储器。8.一种包括可执行指令的非暂时性计算机可读存储媒体,所述可执行指令在由控制器的处理装置执行时致使所述处理装置执行操作,所述操作包括:接收多个逻辑到物理(l2p)记录,其中所述多个l2p记录中的l2p记录将逻辑块地址映射到由所述控制器管理的存储器组件上的存储器块的物理地址;确定循序辅助值,所述循序辅助值指定被映射到循序地跟随由所述l2p记录指定的所述物理地址的连续物理地址的逻辑块地址的数目;产生编码所述循序辅助值的安全令牌;以及将所述安全令牌与所述l2p记录相关联。9.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述操作进一步包括:响应于从主机系统接收请求,将所述多个l2p记录的至少子集传输到所述主机系统,其中所述子集包含所述l2p记录。10.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述安全令牌进一步包括:
上电复位计数的编码。11.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述安全令牌进一步包括:子区更新计数的编码。12.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述操作进一步包括:从主机系统接收指定所述逻辑块地址、对应于所述逻辑块地址的所述物理地址及所述循序辅助值的读取命令;及从所述存储器组件读取具有连续物理地址的多个存储器块,其中所述存储器块的数目小于或等于所述循序辅助值。13.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述操作进一步包括:向主机系统传输包括通用快闪存储(ufs)协议信息单元(upiu)的响应,其中所述upiu指示具有循序辅助能力的主机性能提升(hpb)。14.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述存储器组件是nand型快闪存储器。15.一种包括可执行指令的非暂时性计算机可读存储媒体,所述可执行指令在由主机系统的处理装置执行时致使所述处理装置执行操作,所述操作包括:接收逻辑到物理(l2p)映射,其包括第一l2p记录及第二l2p记录,其中所述第一l2p记录指定存储器组件上的第一存储器块的第一逻辑块地址、第一物理地址,及指定被映射到循序地跟随所述第一物理地址的连续物理地址的逻辑块地址的数目的第一循序辅助值,且其中所述第二l2p记录指定所述存储器组件上的第二存储器块的第二逻辑块地址、第二物理地址,及指定被映射到循序地跟随所述第二物理地址的连续物理地址的逻辑块地址的数目的第二循序辅助值;向存储器子系统发出第一读取命令以从所述第一逻辑块地址开始读取第一多个块,其中所述第一多个块包括超过所述第一循序辅助值的第一数目个块;以及向存储器子系统发出第二读取命令以从所述第二逻辑块地址开始读取第二多个块,其中所述第二多个块包括小于或等于所述第二循序辅助值的第二数目个块。16.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述操作进一步包括:响应于从所述存储器子系统接收包括指定活动子区的标识符的通用快闪存储(ufs)协议信息单元(upiu)的响应,向所述存储器子系统传输识别所述活动子区的读取主机性能提升(hpb)缓冲器命令。17.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述操作进一步包括:响应于从所述存储器子系统接收包括指定不活动子区的标识符的通用快闪存储(ufs)协议信息单元(upiu)的响应,丢弃与所述不活动子区相关联的多个l2p记录。18.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述第一循序辅助值由与所述第一l2p记录相关联的安全令牌来编码。19.根据权利要求18所述的非暂时性计算机可读存储媒体,其中所述安全令牌进一步包括以下中的至少一者:上电复位计数的编码或子区更新计数的编码。20.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述存储器组件是
nand型快闪存储器。

技术总结


一种实例存储器子系统包含存储器组件及可操作地耦合到所述存储器组件的处理装置。所述处理装置经配置以:接收多个逻辑到物理(L2P)记录,其中所述多个L2P记录中的L2P记录将逻辑块地址映射到所述存储器组件上的存储器块的物理地址;确定循序辅助值,所述循序辅助值指定被映射到循序地跟随由所述L2P记录指定的所述物理地址的连续物理地址的逻辑块地址的数目;产生编码所述循序辅助值的安全令牌;以及将所述安全令牌与所述L2P记录相关联。以及将所述安全令牌与所述L2P记录相关联。以及将所述安全令牌与所述L2P记录相关联。


技术研发人员:

S

受保护的技术使用者:

美光科技公司

技术研发日:

2021.02.25

技术公布日:

2022/12/22

本文发布于:2024-09-20 14:47:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/47506.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:存储器   所述   子系统   主机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议