管理存储器子系统中的页地址和分区号的分布的制作方法

文档序号:33334190发布日期:2023-03-04 01:00阅读:30来源:国知局
管理存储器子系统中的页地址和分区号的分布的制作方法

1.本公开的实施例大体上涉及存储器子系统,且更具体地说,涉及管理存储器子系统中的页地址和分区号的分布。


背景技术:

2.存储器子系统可包含存储数据的一或多个存储器装置。所述存储器装置可以是例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可以利用存储器子系统以在存储器装置处存储数据并且从存储器装置检索数据。


技术实现要素:

3.在一个方面中,本技术提供一种系统,其包括:存储器装置;以及处理装置,其以可操作方式与所述存储器装置耦合以执行包括以下各项的操作:接收待对所述存储器装置的裸片执行的存储器存取命令,其中所述存储器存取命令包括基本分区号和基本页地址;基于与所述裸片相关联的分区数目将所述存储器存取命令转换为多个命令;针对所述多个命令中的每一命令,确定从所述基本分区号导出的相应分区号;使用所述基本页地址确定与所述多个命令中的每一命令相关联的相应页地址;以及针对所述多个命令中的每一命令,使用所述相应分区号和所述相应页地址执行所述多个命令。
4.在另一方面中,本技术提供一种方法,其包括:接收待对存储器装置的裸片执行的存储器存取命令,其中所述存储器存取命令包括基本分区号和基本页地址;使用预定义变换将所述基本分区号变换成经更新基本分区号;基于与所述裸片相关联的分区数目将所述存储器存取命令转换为多个命令;针对所述多个命令中的每一命令,确定从所述经更新基本分区号导出的相应分区号;使用所述基本页地址确定与所述多个命令中的每一命令相关联的相应页地址;以及针对所述多个命令中的每一命令,使用所述相应分区号和所述相应页地址执行所述多个命令。
5.在另一方面中,本技术提供一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时使得所述处理装置执行包括以下各项的操作:接收待对所述存储器装置的裸片执行的存储器存取命令,其中所述存储器存取命令包括基本分区号和基本页地址;基于与所述裸片相关联的分区数目将所述存储器存取命令转换为多个命令;针对所述多个命令中的每一命令,确定从所述基本分区号导出的相应分区号;使用所述基本页地址确定与所述多个命令中的每一命令相关联的相应页地址;以及针对所述多个命令中的每一命令,使用所述相应分区号和所述相应页地址执行所述多个命令。
附图说明
6.根据下文给出的具体实施方式和本公开的各个实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限于具体实施例,而是仅用于解释和理解。
7.图1示出了根据本公开的一些实施例的包含存储器子系统的示例计算系统。
8.图2为根据本公开的一些实施例的用以管理页地址和分区号的分布的示例方法的流程图。
9.图3为根据本公开的一些实施例的用以管理页地址和分区号的分布的示例方法的流程图。
10.图4为根据本公开的一些实施例的用以管理页地址和分区号的分布的示例方法的流程图。
11.图5为本公开的实施例可以在其中操作的示例计算机系统的框图。
具体实施方式
12.本公开的各方面涉及管理存储器子系统中的页地址和分区号的分布。存储器子系统可以为存储装置、存储器模块,或存储装置和存储器模块的组合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可以提供将要存储在存储器子系统处的数据并且可以请求将要从存储器子系统检索的数据。
13.存储器子系统可以包含高密度非易失性存储器装置,其中当没有电力供应到存储器装置时需要保存数据。非易失性存储器装置的一个实例是与非(nand)存储器装置。非易失性存储器装置的另一实例是作为非易失性存储器的交叉点阵列的三维交叉点(“3d交叉点”)存储器装置,其可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个分区组成。每一分区由页集合组成。每一页由存储器单元集合(“单元”)组成。单元为存储信息的电子电路。取决于单元类型,单元可以存储二进制信息的一或多个位,并且具有与正存储的位数相关的各种逻辑状态。逻辑状态可以表示为二进制值,例如“0”和“1”,或此类值的组合。
14.存储器装置可以由布置在二维或三维网格中的位构成。存储器单元蚀刻到列(下文也称为位线)和行(下文也称为字线)的阵列中的硅晶片上。字线可以指存储器装置的存储器单元的一或多个行,所述一或多个行与一或多个位线一起使用以生成存储器单元中的每一者的地址。位线和字线的相交点构成存储器单元的地址。
15.分割可以指其中存储器分成供应用程序、过程、操作等使用的区段(例如,分区)的过程。存储器装置的裸片可细分成两个或更多个分区。分区可为可个别寻址的并且可含有与特定应用程序、过程、操作等相关的信息。
16.存储器子系统控制器可包含对存储器子系统的特定存储器装置执行各种存储器存取操作的控制器。存储器存取操作可以是主机发起的操作。例如,主机系统可将存储器存取请求(例如,写入命令、读取命令)发送到控制器,以便在存储器子系统处将数据存储在存储器装置上,且在存储器子系统处从存储器装置读取数据。存储器存取请求可包含逻辑地址信息,其包含用于数据的分区号和页地址。逻辑地址信息可以是用于数据的元数据的部分。元数据还可以包含错误处理(例如,ecc码字、奇偶校验码)、数据版本(例如,用于区分所写入数据的使用期限)、有效位图等。
17.可通过将特定电压施加到存储器单元来对存储器单元进行编程(写入),这产生由存储器单元保持的电荷。可通过连接到存储器装置的外围电路的电力总线将特定电压施加
到存储器单元。考虑到存储器装置的物理布局,存储器单元可定位在距外围电路的不同距离处。由于这一布局约束,在到达存储器装置的某些存储器单元时可能存在功率下降或延迟,这可能会导致存储器单元之间的电压差。存储器单元之间的电压差可能会引起每一存储器单元的原始误码率(rber)的差异。例如,存储器装置的一个位置中的一个存储器单元可能相较于存储器装置的另一位置中的另一存储器单元具有较高的rber。因此,存储在每一存储器单元处的数据的可靠性降低。
18.在一些存储器子系统中,控制器可包含用以管理存储器装置处的存储器存取操作的序列发生器组件。序列发生器组件可接收待相对于存储器子系统执行的存储器存取命令(例如,写入命令),并且可进一步接收对应于所述命令的数据(例如,待写入到存储器单元的数据)。在一些存储器子系统中,序列发生器组件可以循序方式执行存储器存取操作,即序列发生器组件可基于标识存储器装置上的存储器单元群组的循序物理地址而执行存储器存取操作。然而,当使用循序物理地址执行存储器存取操作时,可能会产生影响存储器装置上的数据的可靠性的定位问题。
19.本公开的各方面通过提供管理用于存储器存取命令的页地址和分区号的分布的存储器子系统来解决以上和其它不足。在某些实施例中,存储器子系统控制器的序列发生器组件可接收待相对于存储器子系统的存储器装置执行的存储器存取命令。存储器存取命令可包含基本分区号和基本页地址。基本分区号和基本页地址可各自为表示执行存储器存取命令的开始分区号和开始页号的一组位。序列发生器组件可将存储器存取命令转换为命令集(例如,特定于分区的命令)。序列发生器组件可基于基本分区号而确定命令集中的每一命令的相应分区号。例如,序列发生器组件可递增命令集中的每一命令的基本分区号。每一经递增基本分区号可设定为命令集中的命令的分区号。序列发生器组件可使用基本页地址来确定命令集中的每一命令的相应页地址。例如,序列发生器组件可递增命令集中的每一命令的基本页地址。序列发生器组件可响应于确定命令集中的命令的分区号满足阈值准则而递增基本页地址。例如,序列发生器组件可响应于确定分区号为裸片中的最大分区号(例如,裸片中的最大分区号为32)而确定命令的分区号满足阈值准则。序列发生器组件可使用相应分区号和相应页号来执行命令集合中的每一命令。
20.在某些实施例中,序列发生器组件可接收待相对于存储器子系统的存储器装置执行的存储器存取命令。存储器存取命令可包含基本分区号和基本页地址。序列发生器组件可将表示基本分区号的每一位重新映射到裸片上的另一组位。序列发生器组件可将存储器存取命令转换为命令集(例如,特定于分区的命令)。序列发生器组件可基于基本分区号而确定命令集中的每一命令的相应分区号。例如,序列发生器组件可递增命令集中的每一命令的基本分区号。每一经递增基本分区号可设定为命令集中的命令的分区号。序列发生器组件可使用基本页地址来确定命令集中的每一命令的相应页地址。例如,序列发生器组件可递增命令集中的每一命令的基本页地址。序列发生器组件可响应于确定命令集中的命令的分区号满足阈值准则而递增基本页地址。例如,序列发生器组件可响应于确定分区号为裸片中的最大分区号(例如,裸片中的最大分区号为32)而确定命令的分区号满足阈值准则。序列发生器组件可使用相应分区号和相应页号来执行命令集合中的每一命令。
21.本公开的优势包含但不限于提高存储在存储器装置处的数据的可靠性。如上文所论述,由于存储器装置的物理布局,因此存储器装置的裸片中的存储器单元之间可能存在
电压差,这可能会引起每一存储器单元的原始误码率(rber)的差异,从而导致数据丢失或损坏。当对存储器装置的循序物理地址执行存储器存取操作时,这一问题可能会出现在一些存储器子系统中。通过重新分布每一存储器存取操作的地址并重新映射每一存储器存取操作的分区号,可提高存储在存储器装置处的数据的可靠性,这是因为未对具有循序地址的数据执行存储器存取操作。随着数据的可靠性提高,存储器装置整体的可靠性和性能也得到提高。
22.图1示出了根据本公开的一些实施例的包含存储器子系统110的示例计算系统100。存储器子系统110可以包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或这些的组合。
23.存储器子系统110可以是存储装置、存储器模块,或存储装置和存储器模块的组合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)以及各种类型的非易失性双列直插式存储器模块(nvdimm)。
24.计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、载具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(iot)的装置、嵌入式计算机(例如,载具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
25.计算系统100可以包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的多个存储器子系统110。图1说明了耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与
……
耦合”通常是指组件之间的连接,所述连接可以是间接通信连接或直接通信连接(例如,不具有中间组件),不管有线还是无线的,包含例如电气、光学、磁性等的连接。
26.主机系统120可以包含处理器芯片组和由处理器芯片组执行的软件堆叠。处理器芯片组可以包含一或多个核心、一或多个高速缓冲存储器、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用存储器子系统110,例如以将数据写入存储器子系统110和从存储器子系统110读取数据。
27.主机系统120可以经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接的scsi(sas)、双数据速率(ddr)存储器总线、小型计算机系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接接口)等。物理主机接口可以用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过物理主机接口(例如,pcie总线)与主机系统120耦合时,主机系统120可以进一步利用nvm高速(nvme)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。图1说明了存储器子系统110作为实例。一般来说,主机系统120可以经由相同通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
28.存储器装置130、140可以包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存
储器(ram),例如动态随机存取存储器(dram)和同步动态随机存取存储器(sdram)。
29.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器和就地写入存储器,如三维交叉点(“3d交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器单元的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储。另外,与许多基于闪存的存储器相比,交叉点非易失性存储器可以执行就地写入操作,其中可以在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。nand型快闪存储器包含例如二维nand(2d nand)和三维nand(3d nand)。
30.存储器装置130中的每一者可以包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(slc)每单元可以存储一个位。其它类型的存储器单元,例如多层级单元(mlc)、三层级单元(tlc)、四层级单元(qlc)和五层级单元(plc),每单元可以存储多个位。在一些实施例中,存储器装置130中的每一者可以包含一或多个存储器单元阵列,例如slc、mlc、tlc、qlc、plc或其任何组合。在一些实施例中,特定存储器装置可以包含存储器单元的slc部分,以及mlc部分、tlc部分、qlc部分或plc部分。存储器装置130的存储器单元可以分组为可指代用于存储数据的存储器装置的逻辑单元的页。对于一些类型的存储器(例如,nand),页可以分组以形成块。
31.尽管描述了非易失性存储器组件,例如非易失性存储器单元的3d交叉点阵列和nand型快闪存储器(例如,2d nand、3d nand),但存储器装置130可以基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻性随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器,或电可擦除可编程只读存储器(eeprom)。
32.存储器子系统控制器115(或为简单起见,控制器115)可以与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据等操作以及其它此类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲器存储器,或其组合。硬件可以包含具有用以执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路系统。存储器子系统控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。
33.存储器子系统控制器115可以包含处理装置,所述处理装置包含经配置以执行存储在本地存储器119中的指令的一或多个处理器(例如,处理器117)。在所示的实例中,存储器子系统控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程和例程。
34.在一些实施例中,本地存储器119可以包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。尽管图1中的示例存储器子系统110已示出为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,并且可以替代地依赖于(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。
35.一般来说,存储器子系统控制器115可以从主机系统120接收命令或操作,并且可以将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可以负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ecc)操作、加密操作、高速缓存操作和与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、命名空间)与物理地址(例如,物理块地址)之间的地址翻译。存储器子系统控制器115可进一步包含主机接口电路系统,以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成命令指令以存取存储器装置130,并且将与存储器装置130相关联的响应转换成用于主机系统120的信息。
36.存储器子系统110还可以包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓冲存储器或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可以从存储器子系统控制器115接收地址且对所述地址进行解码以存取存储器装置130。
37.在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可以在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110是受管理存储器装置,其是具有裸片上的控制逻辑(例如,本地媒体控制器135)的原始存储器装置130和用于相同存储器装置封装内的媒体管理的控制器(例如,存储器子系统控制器115)。受管理存储器装置的实例是受管理nand(mnand)装置。
38.存储器子系统110包含序列发生器组件113,其可以管理存储器装置(例如,存储器装置130)上的存储器存取操作的页地址和分区号的分布。在一些实施例中,存储器子系统控制器115包含序列发生器组件113的至少一部分。在一些实施例中,序列发生器组件113是主机系统110、应用程序或操作系统的一部分。在其它实施例中,本地媒体控制器135包含序列发生器组件113的至少一部分且经配置以执行本文中所描述的功能性。
39.序列发生器组件113可接收待相对于存储器子系统的存储器装置执行的存储器存取命令(例如,写入命令)。存储器存取命令可包含基本分区号和基本页地址。序列发生器组件113可将存储器存取命令转换为命令集(例如,特定于分区的命令)。序列发生器组件113可基于基本分区号而确定命令集中的每一命令的相应分区号。例如,序列发生器组件113可递增命令集中的每一命令的基本分区号。每一经递增基本分区号可设定为命令集中的命令的分区号。序列发生器组件113可使用基本页地址来确定命令集中的每一命令的相应页地址。例如,序列发生器组件113可响应于确定命令集中的命令的分区号的值满足阈值准则而递增命令集中的每一命令的基本页地址。例如,序列发生器组件113可响应于确定分区号为裸片中的最大分区号(例如,裸片中的最大分区号为32)而确定命令的分区号满足阈值准则。序列发生器组件113可使用相应分区号和相应页号来执行命令集合中的每一命令。
40.在某些实施例中,序列发生器组件113可接收待相对于存储器子系统的存储器装置执行的存储器存取命令。存储器存取命令可包含基本分区号和基本页地址。序列发生器组件113可将表示基本分区号的每一位重新映射到裸片上的另一组位。序列发生器组件113可将存储器存取命令转换为命令集(例如,特定于分区的命令)。序列发生器组件113可基于基本分区号而确定命令集中的每一命令的相应分区号。例如,序列发生器组件113可递增命
令集中的每一命令的基本分区号。每一经递增基本分区号可设定为命令集中的命令的分区号。序列发生器组件113可使用基本页地址来确定命令集中的每一命令的相应页地址。例如,序列发生器组件113可响应于确定命令集中的命令的分区号满足阈值准则而递增基本页地址。例如,序列发生器组件113可响应于确定分区号为裸片中的最大分区号(例如,裸片中的最大分区号为32)而确定命令的分区号满足阈值准则。序列发生器组件113可使用相应分区号和相应页号来执行每一命令。
41.下文描述关于序列发生器组件113的操作的另外细节。
42.图2为根据本公开的一些实施例的用以管理存储器装置的存储器存取操作的页地址和分区号的分布的示例方法200的流程图。可通过处理逻辑执行方法200,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,由图1的序列发生器组件113执行方法200。尽管以特定顺序或次序示出,但除非另外规定,否则可以修改过程的次序。因此,所示实施例应仅作为实例理解,并且所示过程可以不同次序执行,且一些过程可以并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非在每一实施例中都需要所有过程。其它过程流程也是可能的。
43.在操作204处,处理逻辑接收待对存储器装置的裸片执行的存储器存取命令。存储器存取命令可包含基本分区号和基本页地址。处理逻辑可从主机系统接收存储器存取命令。在一些实施例中,可使用一或多组位来表示基本分区号和基本页地址。例如,可使用一组五个位来表示基本分区号。可使用一组二十六个位来表示基本页地址。
44.在操作206处,处理逻辑将存储器存取命令转换为命令集。在一些实施例中,处理逻辑可确定与裸片相关联的分区数目。处理逻辑可基于与裸片相关联的分区数目将存储器存取命令转换为命令集。例如,处理逻辑可将存储器存取命令转换为命令集,所述命令集在数目上等于与裸片相关联的分区数目。在一些实施例中,命令集可为待对存储器装置的裸片执行的特定于分区的命令集。
45.在操作208处,处理逻辑针对多个命令中的每一命令确定相应分区号。在一些实施例中,确定命令集中的每一命令的相应分区号可包含从基本分区号导出相应分区号。在一些实施例中,从基本分区号导出相应分区号可包含将命令集中的命令的分区号设定为等于基本分区号。在一些实施例中,处理逻辑可针对命令集中的另一命令的另一分区号将基本分区号递增固定值(例如,1)。例如,基本分区号可为25。例如,处理逻辑可将命令的分区号设定为等于基本分区号(例如,25)。处理逻辑可将分区号递增固定值(例如,1)。例如,命令的分区号可为25。处理逻辑可将25递增固定值1,即经递增值为26。处理逻辑可将另一命令的分区号设定为等于经递增值。例如,处理逻辑可将其它命令的分区号设定为等于经递增值(例如,如以上实例中所描述的26)。在一些实施例中,处理逻辑可确定命令的分区号不满足阈值准则。例如,处理逻辑可确定命令的分区号小于或等于与裸片的分区相关联的最大值。在一些实施例中,与裸片的分区相关联的最大值可等于裸片上所允许的分区的最大数目。例如,裸片上所允许的分区的最大数目可为32个分区。裸片上所允许的分区的最大数目可基于存储器装置的物理特性。响应于确定命令的分区号不满足阈值准则,处理逻辑可针对命令集中的另一命令将分区号递增固定值(例如,1)。在一些实施例中,处理逻辑可确定命令的分区号满足阈值准则。例如,处理逻辑可确定命令的分区号超过与裸片的分区相关
联的最大值。响应于确定命令的分区号满足阈值准则,处理逻辑可将另一命令的分区号设定为等于初始值。初始值可为裸片的分区数目的初始值。例如,初始值可为0,即分区号可设定为裸片的分区0。在一些实施例中,每一分区号可存储于数据结构(例如,表)的对应条目中。数据结构可与一或多个存储器装置的裸片相关联。在一些实施例中,递增分区号可包含更新数据结构的对应条目。
46.在操作210处,处理逻辑使用基本页地址确定与命令集中的每一命令相关联的页地址。在一些实施例中,确定与命令集中的每一命令相关联的页地址可包含标识命令集中的命令的分区号不满足阈值准则(例如,分区号小于或等于与裸片的分区相关联的最大值)。响应于确定命令的分区号不满足阈值准则,处理逻辑可利用等于基本页地址的地址更新命令集中的另一命令的页地址。例如,处理逻辑可利用基本页地址(例如,5)更新其它命令的页地址,即其它命令的页地址可设定为等于5。在一些实施例中,处理逻辑可确定命令集中的命令的分区号满足阈值准则(例如,分区号超过与裸片的分区相关联的最大值)。响应于确定命令的分区号满足阈值准则,处理逻辑可递增命令的页地址。在一些实施例中,处理逻辑可将页地址递增固定值(例如,1)。处理逻辑可利用经递增页地址更新与其它命令相关联的页地址。例如,如果命令的页地址为5,则处理逻辑可将页地址递增为6并且将其它命令的页地址更新为6。在一些实施例中,每一页地址可存储于数据结构(例如,表)的对应条目中。数据结构可与一或多个存储器装置的裸片相关联。在一些实施例中,递增页地址可包含更新数据结构的对应条目。
47.在一些实施例中,响应于确定与命令集中的每一命令相关联的相应页地址,处理逻辑可标识与存储器装置的裸片相关联的分区偏移。在一些实施例中,可基于存储器装置的离线媒体特性标识分区偏移,其中存储器装置经特性化以平衡与存储器装置相关联的误码率(例如,rber)。处理逻辑可标识对应于与命令集中的每一命令相关联的页地址的一组字线。在一些实施例中,处理逻辑可基于页地址的位图标识一组字线。例如,位图可包含表示页地址的一组位(例如,26个位)。处理逻辑可使用位图标识表示一组字线的位图的一或多个位。处理逻辑可基于分区偏移更新一组字线中的每一字线。基于分区偏移更新每一字线可包含将与每一字线相关联的值相加地计算到分区偏移。可将计算出的值乘以裸片的字线的总数目。在一些实施例中,处理逻辑可标识对应于与命令集中的每一命令相关联的页地址的一组位线。在一些实施例中,处理逻辑可基于页地址的位图标识一组位线。例如,位图可包含表示页地址的一组位(例如,26个位)。处理逻辑可使用位图标识表示一组位线的位图的一或多个位。处理逻辑可基于分区偏移更新一组位线中的每一位线。基于分区偏移更新每一位线可包含将与每一位线相关联的值相加地计算到分区偏移。可将计算出的值乘以裸片的位线的总数目。
48.在一些实施例中,响应于基于分区偏移更新每一字线和/或每一位线,处理逻辑可取消混用(de-swizzle)与命令集中的每一命令相关联的页地址。取消混用可包含将与命令集中的每一命令相关联的物理页地址重新映射到与命令集中的每一命令相关联的对应逻辑页地址。
49.在操作212处,处理逻辑执行命令集。在一些实施例中,执行命令集包含执行命令集中的每一命令。处理逻辑可使用与命令集中的每一命令相关联的相应分区号和与命令集中的每一命令相关联的相应页地址来执行命令集。
50.图3为根据本公开的一些实施例的用以管理存储器装置的存储器存取操作的页地址和分区号的分布的示例方法300的流程图。可通过处理逻辑执行方法300,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,由图1的序列发生器组件113执行方法300。尽管以特定顺序或次序示出,但除非另外规定,否则可以修改过程的次序。因此,所示实施例应仅作为实例理解,并且所示过程可以不同次序执行,且一些过程可以并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非在每一实施例中都需要所有过程。其它过程流程也是可能的。
51.在操作304处,处理逻辑接收待对存储器装置的裸片执行的存储器存取命令。存储器存取命令可包含基本分区号和基本页地址。处理逻辑可从主机系统接收存储器存取命令。在一些实施例中,可使用一或多组位来表示基本分区号和基本页地址。例如,可使用一组五个位来表示基本分区号。可使用一组二十六个位来表示基本页地址。
52.在操作306处,处理逻辑将存储器存取命令转换为命令集。在一些实施例中,处理逻辑可确定与裸片相关联的分区数目。处理逻辑可基于与裸片相关联的分区数目将存储器存取命令转换为命令集。例如,处理逻辑可将存储器存取命令转换为命令集,所述命令集在数目上等于与裸片相关联的分区数目。在一些实施例中,命令集可为待对存储器装置的裸片执行的特定于分区的命令集。
53.在操作308处,处理逻辑可确定用于命令集合的命令的分区号是否满足阈值准则。阈值准则可指定裸片上所允许的分区的最大数目。例如,裸片上所允许的分区的最大数目可为32个分区。裸片上所允许的分区的最大数目可基于存储器装置的物理特性。
54.在操作310处,处理逻辑可确定命令的分区号不满足阈值准则。例如,处理逻辑可确定命令的分区号小于或等于与裸片的分区相关联的最大值。响应于确定命令的分区号不满足阈值准则,处理逻辑可针对命令集中的另一命令的另一分区号将基本分区号递增固定值(例如,1)。例如,基本分区号可为25。处理逻辑可将命令的分区号设定为等于基本分区号(例如,25)。处理逻辑可将分区号递增固定值(例如,1)。例如,命令的分区号可为25。处理逻辑可将25递增固定值1,即经递增值为26。处理逻辑可将另一命令的分区号设定为等于经递增值。例如,处理逻辑可将其它命令的分区号设定为等于经递增值(例如,如以上实例中所描述的26)。
55.在操作312处,响应于确定命令的分区号不满足阈值准则,处理逻辑可利用等于基本页地址的地址更新命令集中的另一命令的页地址。例如,处理逻辑可利用基本页地址(例如,5)更新其它命令的页地址,即其它命令的页地址可设定为等于5。
56.在操作314处,处理逻辑可确定命令的分区号满足阈值准则。例如,处理逻辑可确定分区号的值超过与裸片的分区相关联的最大值。响应于确定命令的分区号满足阈值准则,处理逻辑可将另一命令的分区号设定为等于初始值。初始值可为裸片的分区数目的初始值。例如,初始值可为0,即分区号可设定为裸片的分区0。
57.在操作316处,响应于确定命令的分区号满足阈值准则,处理逻辑可递增命令的页地址。在一些实施例中,处理逻辑可将页地址递增固定值(例如,1)。
58.在操作318处,响应于递增页地址,处理逻辑可利用经递增页地址更新与其它命令相关联的页地址。例如,如果命令的页地址为5,则处理逻辑可将页地址递增为6并且将其它
命令的页地址更新为6。
59.在操作320处,处理逻辑执行命令集。在一些实施例中,可执行命令集合包含执行命令集合中的每一命令。处理逻辑可使用与命令集中的每一命令相关联的相应分区号和与命令集中的每一命令相关联的相应页地址来执行命令集。
60.图4为根据本公开的一些实施例的用以管理存储器装置的存储器存取操作的页地址和分区号的分布的示例方法400的流程图。可通过处理逻辑执行方法400,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,由图1的序列发生器组件113执行方法400。尽管以特定顺序或次序示出,但除非另外规定,否则可以修改过程的次序。因此,所示实施例应仅作为实例理解,并且所示过程可以不同次序执行,且一些过程可以并行执行。另外,可以在各种实施例中省略一或多个过程。因此,并非在每一实施例中都需要所有过程。其它过程流程也是可能的。
61.在操作404处,处理逻辑接收待对存储器装置的裸片执行的存储器存取命令。存储器存取命令可包含基本分区号和基本页地址。处理逻辑可从主机系统接收存储器存取命令。在一些实施例中,可使用一或多组位来表示基本分区号和基本页地址。例如,可使用一组五个位来表示基本分区号。可使用一组二十六个位来表示基本页地址。
62.在操作406处,处理逻辑使用预定义变换将基本分区变换为经更新基本分区号。在一些实施例中,变换基本分区可包含更新与基本分区号相关联的位图。在一些实施例中,位图可以是存储器装置的可配置寄存器值。更新位图可包含利用基本分区号更新寄存器中的值。在一些实施例中,预定义变换可基于存储器装置的离线媒体特性。在一些实施例中,处理逻辑响应于确定不存在执行存储器存取操作的请求(例如,图1的序列发生器组件113处于空闲状态)而变换基本分区。
63.在操作408处,处理逻辑将存储器存取命令转换为命令集。在一些实施例中,处理逻辑可确定与裸片相关联的分区数目。处理逻辑可基于与裸片相关联的分区数目将存储器存取命令转换为命令集。例如,处理逻辑可将存储器存取命令转换为命令集,所述命令集在数目上等于与裸片相关联的分区数目。在一些实施例中,命令集可为待对存储器装置的裸片执行的特定于分区的命令集。
64.在操作410处,处理逻辑针对多个命令中的每一命令确定相应分区号。在一些实施例中,确定命令集中的每一命令的相应分区号可包含从经更新基本分区号导出相应分区号。在一些实施例中,从经更新基本分区号导出相应分区号可包含将命令集中的命令的分区号设定为等于经更新基本分区号。在一些实施例中,处理逻辑可针对命令集中的另一命令的另一分区号将经更新基本分区号递增固定值(例如,1)。例如,经更新基本分区号可为25。例如,处理逻辑可将命令的分区号设定为等于经更新基本分区号(例如,25)。处理逻辑可将分区号递增固定值(例如,1)。例如,命令的分区号可为25。处理逻辑可将25递增固定值1,即经递增值为26。处理逻辑可将另一命令的分区号设定为等于经递增值。例如,处理逻辑可将其它命令的分区号设定为等于经递增值(例如,如以上实例中所描述的26)。在一些实施例中,处理逻辑可确定命令的分区号不满足阈值准则。例如,处理逻辑可确定命令的分区号小于或等于与裸片的分区相关联的最大值。在一些实施例中,与裸片的分区相关联的最大值可等于裸片上所允许的分区的最大数目。例如,裸片上所允许的分区的最大数目可为
32个分区。裸片上所允许的分区的最大数目可基于存储器装置的物理特性。响应于确定命令的分区号不满足阈值准则,处理逻辑可针对命令集中的另一命令将分区号递增固定值(例如,1)。在一些实施例中,处理逻辑可确定命令的分区号满足阈值准则。例如,处理逻辑可确定命令的分区号超过与裸片的分区相关联的最大值。响应于确定命令的分区号满足阈值准则,处理逻辑可将另一命令的分区号设定为等于初始值。初始值可为裸片的分区数目的初始值。例如,初始值可为0,即分区号可设定为裸片的分区0。在一些实施例中,每一分区号可存储于数据结构(例如,表)的对应条目中。数据结构可与一或多个存储器装置的裸片相关联。在一些实施例中,递增分区号可包含更新数据结构的对应条目。
65.在操作412处,处理逻辑使用基本页地址确定与命令集中的每一命令相关联的页地址。在一些实施例中,确定与命令集中的每一命令相关联的页地址可包含标识命令集中的命令的分区号不满足阈值准则(例如,分区号小于或等于与裸片的分区相关联的最大值)。响应于确定命令的分区号不满足阈值准则,处理逻辑可利用等于基本页地址的地址更新命令集中的另一命令的页地址。例如,处理逻辑可利用基本页地址(例如,5)更新其它命令的页地址,即其它命令的页地址可设定为等于5。在一些实施例中,处理逻辑可确定命令集中的命令的分区号满足阈值准则(例如,分区号超过与裸片的分区相关联的最大值)。响应于确定命令的分区号满足阈值准则,处理逻辑可递增命令的页地址。在一些实施例中,处理逻辑可将页地址递增固定值(例如,1)。处理逻辑可利用经递增页地址更新与其它命令相关联的页地址。例如,如果命令的页地址为5,则处理逻辑可将页地址递增为6并且将其它命令的页地址更新为6。在一些实施例中,每一页地址可存储于数据结构(例如,表)的对应条目中。数据结构可与一或多个存储器装置的裸片相关联。在一些实施例中,递增页地址可包含更新数据结构的对应条目。
66.在一些实施例中,响应于确定与命令集中的每一命令相关联的相应页地址,处理逻辑可标识与存储器装置的裸片相关联的分区偏移。在一些实施例中,可基于存储器装置的离线媒体特性标识分区偏移,其中存储器装置经特性化以平衡与存储器装置相关联的误码率(例如,rber)。处理逻辑可标识对应于与命令集中的每一命令相关联的页地址的一组字线。在一些实施例中,处理逻辑可基于页地址的位图标识一组字线。例如,位图可包含表示页地址的一组位(例如,26个位)。处理逻辑可使用位图标识表示一组字线的位图的一或多个位。处理逻辑可基于分区偏移更新一组字线中的每一字线。基于分区偏移更新每一字线可包含将与每一字线相关联的值相加地计算到分区偏移。可将计算出的值乘以裸片的字线的总数目。在一些实施例中,处理逻辑可标识对应于与命令集中的每一命令相关联的页地址的一组位线。在一些实施例中,处理逻辑可基于页地址的位图标识一组位线。例如,位图可包含表示页地址的一组位(例如,26个位)。处理逻辑可使用位图标识表示一组位线的位图的一或多个位。处理逻辑可基于分区偏移更新一组位线中的每一位线。基于分区偏移更新每一位线可包含将与每一位线相关联的值相加地计算到分区偏移。可将计算出的值乘以裸片的位线的总数目。
67.在一些实施例中,响应于将分区偏移应用到裸片的每一字线和/或每一位线,处理逻辑可取消混用与命令集中的每一命令相关联的页地址。取消混用可包含将与命令集中的每一命令相关联的物理页地址重新映射到与命令集中的每一命令相关联的对应逻辑页地址。
68.在操作414处,处理逻辑执行命令集。在一些实施例中,执行命令集包含执行命令集中的每一命令。处理逻辑可使用与命令集中的每一命令相关联的相应分区号和与命令集中的每一命令相关联的相应页地址来执行命令集。
69.图5示出了计算机系统500的示例机器,所述示例机器内可以执行用于使得所述机器执行本文所论述的任何一或多种方法的指令集。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或可用于执行控制器的操作(例如,以执行操作系统,从而执行对应于图1的写入干扰管理组件113的操作)。在替代实施例中,所述机器可以连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可以作为点对点(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器操作。
70.所述机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(循序或以其它方式)指定待由所述机器采取的动作的指令集的任何机器。另外,尽管示出了单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令集(或多个指令集)以执行本文中所论述的任何一或多种方法。
71.示例计算机系统500包含经由总线530彼此通信的处理装置502、主存储器504(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rdram等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(sram)等)以及数据存储系统518。
72.处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或实施其它指令集的处理器或实施指令集的组合的处理器。处理装置502也可以是一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置502经配置以执行指令526,以用于执行本文中所论述的操作和步骤。计算机系统500可进一步包含通过网络520通信的网络接口装置508。
73.数据存储系统518可以包含机器可读存储媒体524(也称为计算机可读媒体),在所述机器可读存储媒体上存储有指令526的一个或多个集或者体现本文中所描述的任何一或多种方法或功能的软件。指令526还可以在其由计算机系统500执行期间完全或至少部分地驻留在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518,和/或主存储器504可对应于图1的存储器子系统110。
74.在一个实施例中,指令526包含用以实施对应于序列发生器组件(例如,图1的序列发生器组件113)的功能性的指令。尽管机器可读存储媒体524在示例实施例中示出为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储供机器执行的指令集或对所述指令集进行编码以及使机器执行本公开的任何一或多种方法的任何媒体。因此应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
75.已根据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用于将其工作的主旨最有效地传达给本领域的其他技术人员的方式。算法在这里并且通常被认为是引起期望结果的操作的自洽序列。操作为需要物理量的物理操控的操作。这些量通常但不一定呈能够被存储、组合、比较和以其它方式操控的电信号或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元素、符号、字符、术语、数量等是方便的。
76.然而,应牢记,所有这些和类似术语应与恰当的物理量相关联,并且仅是应用于这些量的方便标记。本公开可以指计算机系统或类似电子计算装置的操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据并将所述数据变换为计算机系统的存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的动作和过程。
77.本公开还涉及一种用于执行本文中的操作的设备。可以出于预期目的而专门构造此设备,或所述设备可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可以存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、cd-rom和磁性光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或者适于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
78.本文中呈现的算法和显示本质上不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或其可以证明构造用以执行所述方法的更加专用的设备是方便的。将如下文描述中所示呈现用于多种这些系统的结构。另外,没有参考任何特定编程语言来描述本公开。应了解,可以使用各种编程语言来实施如本文所描述的本公开的教示。
79.本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有可以用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于存储呈可由机器(例如,计算机)读取的形式的信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
80.在前述说明书中,已参考其具体示例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广泛精神和范围的情况下对本公开进行各种修改。因此,说明书和附图应被视为说明性的而非限制性的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1