CN117174143A - 存储器系统中的平面平衡 - Google Patents
存储器系统中的平面平衡 Download PDFInfo
- Publication number
- CN117174143A CN117174143A CN202310641778.XA CN202310641778A CN117174143A CN 117174143 A CN117174143 A CN 117174143A CN 202310641778 A CN202310641778 A CN 202310641778A CN 117174143 A CN117174143 A CN 117174143A
- Authority
- CN
- China
- Prior art keywords
- blocks
- planes
- plane
- writing
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 114
- 238000005192 partition Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 50
- 230000009471 action Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013508 migration Methods 0.000 description 8
- 230000005012 migration Effects 0.000 description 8
- 239000000758 substrate Substances 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910052785 arsenic Inorganic materials 0.000 description 1
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- -1 but not limited to Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请案涉及存储器系统中的平面平衡。存储器系统可选择用于写入数据集的存储器裸片。所述存储器裸片可包含多个平面,所述多个平面中的每一者可包含存储器单元的相应多个块。基于选择所述存储器裸片,所述存储器系统可确定所述多个平面中具有第一数量的具有可用性状态的块的第一平面和所述多个平面中具有第二数量的具有所述可用性状态的块的第二平面。所述存储器系统可至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面。
Description
交叉参考
本专利申请案要求KANE等人在2022年7月13日申请的标题为“存储器系统中的平面平衡(PLANE BALANCING IN A MEMORY SYSTEM)”的第17/864,192号美国专利申请案和KANE等人在2022年6月2日申请的标题为“存储器系统中的平面平衡(PLANE BALANCING INA MEMORY SYSTEM)”的第63/348,298号美国临时专利申请案优先权,所述两案中的每一者让与给本受让人且其中的每一者明确地以全文引用的方式并入本文中。
技术领域
技术领域涉及存储器系统中的平面平衡。
背景技术
存储器装置广泛用于将信息存储在例如计算机、用户装置、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。举例来说,二进制存储器单元可编程到两个支持状态中的一者,常常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持多于两个可能的状态,所述状态中的任一个可由存储器单元存储。为了存取由存储器装置存储的信息,组件可读取(例如,感测、检测、检索、标识、确定、评估)存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入(例如,编程、设置、指配)到对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、“或非”(NOR)和“与非”(NAND)存储器装置等。可在易失性配置或非易失性配置方面描述存储器装置。易失性存储器单元(例如,DRAM)除非被外部电源定期刷新,否则可能随着时间推移丢失其编程状态。非易失性存储器单元(例如,NAND)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述一种方法。所述方法可包含:选择用于写入数据集的存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最低数量块的平面;以及至少部分地基于所述平面具有可用于写入的所述最低数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
描述一种方法。所述方法可包含:选择用于写入数据集的存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最高数量块的平面;以及至少部分地基于所述平面具有不可用于写入的所述最高数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
描述一种方法。所述方法可包含:选择用于写入数据集的存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中具有第一数量的具有可用性状态的块的第一平面和多个平面中具有第二数量的具有所述可用性状态的块的第二平面;以及至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面。
描述一种设备。所述设备可包含:存储器裸片;以及控制器,其与所述存储器裸片耦合且经配置以致使所述设备:选择数据集写入到的所述存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最低数量块的平面;以及至少部分地基于所述平面具有可用于写入的所述最低数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
描述一种设备。所述设备可包含:存储器裸片;以及控制器,其与所述存储器裸片耦合且经配置以致使所述设备:选择数据集写入到的所述存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最高数量块的平面;以及至少部分地基于所述平面具有不可用于写入的所述最高数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
描述一种设备。所述设备可包含:存储器裸片;以及控制器,其与所述存储器裸片耦合且经配置以致使所述设备:选择数据集写入到的所述存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中具有第一数量的具有可用性状态的块的第一平面和多个平面中具有第二数量的具有所述可用性状态的块的第二平面;以及至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面。
附图说明
图1绘示根据本文所公开的实例的支持存储器系统中的平面平衡的系统的实例。
图2绘示根据本文所公开的实例的支持存储器系统中的平面平衡的存储器裸片的实例。
图3绘示根据如本文所公开的实例的支持存储器系统中的平面平衡的处理流程的实例。
图4展示根据如本文所公开的实例的支持存储器系统中的平面平衡的存储器系统的框图。
图5到7展示根据如本文所公开的实例的说明支持存储器系统中的平面平衡的一或多种方法的流程图。
具体实施方式
存储器系统可包含一或多个存储器裸片,其中的每一者可包含多个块平面,其中块可包含存储器单元。如果存储器系统具有用于传送到存储器裸片的数据,那么存储器系统可从存储器裸片的每一平面选择可用块且将数据写入到所选块,其中可用块为已擦除或存储无效数据的块。但在一些情况下,存储器裸片的平面可能不平衡,因为所述平面可具有不同数量的可用块和不可用块,其中不可用块是指存储有效数据或被标记以用于避免(例如,归因于不可靠)的块。这些不平衡平面可导致不一致的存取性能,且可在存储器裸片填满时限制存取操作,这进而可不利地影响系统性能,以及其它缺点。
根据本文中所描述的技术,存储器系统可通过使用传送操作来更好地平衡存储器裸片的平面来改进系统性能。举例来说,如果存储器裸片中的平面中的一或多者具有比存储器裸片中的其它平面少的可用块,那么存储器系统可避免传送操作期间的一或多个平面且改为写入到其它平面。因此,其它平面中不可用块的数量可增加,而一或多个平面中不可用块的数量(且通过扩展相关块)避免保持相同,这可改进平面的总体平衡,以及其它优点。
首先参考图1在系统、装置和电路的上下文中描述本公开的特征。在参考图2和3所描述的存储器裸片和处理流程的上下文中描述本公开的特征。在涉及参考图4到7中的涉及存储器系统中的平面平衡的设备图和流程图的上下文中进一步说明且描述本公开的这些和其它特征。
图1绘示根据本文所公开的实例的支持存储器系统中的平面平衡的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可以是或包含任何装置或装置集,其中所述装置或装置集包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态硬盘(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。
系统100可包含在计算装置中,例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
系统100可包含可与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106的接口,所述主机系统控制器可以是配置成使得主机系统105根据如本文中所描述的实例执行各种操作的控制器或控制组件的实例。主机系统105可包含一或多个装置,且在一些情况下,可包含处理器芯片组和由处理器芯片组执行的软件堆叠。例如,主机系统105可包含经配置以用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,在主机系统105本地或包含在所述主机系统中的存储器)、存储器控制器(例如,NVDIMM控制器)和存储协议控制器(例如,外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器或CXL控制器)。主机系统105可以使用存储器系统110,例如,将数据写入存储器系统110以及从所述存储器系统110读取数据。尽管在图1中示出了一个存储器系统110,但主机系统105可与任何数量的存储器系统110耦合。
主机系统105可经由至少一个物理主机接口与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可配置成使用相关联协议经由物理主机接口进行通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式交流控制、地址、数据和其它信号)。物理主机接口的实例可包含但不限于SATA接口、UFS接口、eMMC接口、PCIe接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、双数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI),和低功率双数据速率(LPDDR)接口或CXL接口。在一些实例中,一或多个此类接口可包含在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115中或以其它方式在其间得到支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每一存储器装置130的相应物理主机接口或经由用于包含在存储器系统110中的每一类型的存储器装置130的相应物理主机接口而与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可以包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元,或其任何组合)的一或多个存储器阵列。虽然图1的实例中展示两个存储器装置130-a和130-b,但存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含多于一个存储器装置130,则存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合且通信(例如,经由物理主机接口),且可以是经配置以使存储器系统110根据本文所描述的实例执行各种操作的控制器或控制组件的实例。存储器系统控制器115还可与存储器装置130耦合及通信以在存储器装置130处执行可统称为存取操作的操作,例如读取数据、写入数据、擦除数据或刷新数据,以及其它这类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此类命令(例如,在所述一或多个存储器装置130内的存储器阵列处)。举例来说,存储器系统控制器115可从主机系统105接收命令或操作并且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130的所要存取。在一些情况下,存储器系统控制器115可与主机系统105以及一或多个存储器装置130交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。举例来说,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的对应信号。
存储器系统控制器115可配置成用于与存储器装置130相关联的其它操作。举例来说,存储器系统控制器115可执行或管理操作,例如耗损均衡操作、垃圾收集操作、错误检测操作或错误校正操作等错误控制操作、加密操作、高速缓存操作、媒体管理操作、背景刷新、健康监测,以及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路系统以执行本文中归于存储器系统控制器115的操作。存储器系统控制器115可为或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路。
存储器系统控制器115还可以包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或其它存储器,其可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归因于存储器系统控制器115的功能。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或其它存储器,其可由存储器系统控制器115用于例如与本文中归属于存储器系统控制器115的功能有关的内部存储或计算。
存储器装置130可包含一或多个非易失性存储器单元阵列。举例来说,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(RAM)(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、电可擦除可编程ROM(EEPROM),或其任何组合。另外或替代地,存储器装置130可包含易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含RAM存储器单元,例如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。
在一些实例中,存储器装置130可包含(例如,在同一裸片上或在同一封装内)本地控制器135,其可在相应存储器装置130的一或多个存储器单元上执行操作。本地控制器135可结合存储器系统控制器115操作,或可进行本文中归于存储器系统控制器115的一或多个功能。举例来说,如图1所说明,存储器装置130-a可以包含本地控制器135-a,且存储器装置130-b可以包含本地控制器135-b。
在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可为或包含存储器裸片160。举例来说,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每个裸片160可包含一或多个平面165,且每个平面165可包含相应的一组块170,其中每个块170可包含相应的一组页175,且每个页175可包含一组存储器单元。
在一些情况下,平面165可指块170的群组,并且在一些情况下,可在不同平面165内进行并发操作。举例来说,可对不同块170内的存储器单元进行并行操作,只要不同块170处于不同平面165中即可。在一些情况下,个别块170可被称作物理块,并且虚拟块180可指可在其内发生并行操作的块170的群组。举例来说,可对分别在平面165-a、165-b、165-c和165-d内的块170-a、170-b、170-c和170-d执行并发操作,且块170-a、170-b、170-c和170-d可统称为虚拟块180。在一些情况下,虚拟块可包含来自不同存储器装置130的块170(例如,包含存储器装置130-a和存储器装置130-b的一或多个平面中的块)。在一些情况下,虚拟块内的块170可在其相应平面165内具有相同的块地址(例如,块170-a可为平面165-a的“块0”,块170-b可为平面165-b的“块0”,等等)。在一些情况下,在不同平面165中进行并发操作可受制于一或多个限制,如对不同页175内的存储器单元执行并发操作,所述存储器单元在其相应平面165内具有相同页地址(例如,与命令解码、页地址解码电路系统,或跨平面165共享的其它电路系统相关)。
在一些情况下,块170可包含组织成行(页175)和列(例如,串,未示出)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可在第一粒度级别(例如,在页粒度级别)上进行读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)上进行擦除。也就是说,页175可为可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元集)的最小单元,且块170可为可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元集)的最小单元。此外,在一些情况下,NAND存储器单元可在其可用新数据重新写入之前被擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
在一些情况下,为了更新块170内的一些数据同时保留块170内的其它数据,存储器装置130可以将待保留的数据复制到新块170且将更新后的数据写入到新块170的一或多个其余页。存储器装置130(例如,本地控制器135)或存储器系统控制器115可将保持在旧块170中的数据标记或以其它方式表示为无效或过时,并且可更新逻辑到物理(L2P)映射表以使数据的逻辑地址(例如,LBA)与新的有效块170,而不是旧的无效块170相关联。在一些情况下,例如由于时延或耗损考虑,此类复制和重新映射可能比擦除和重新写入整个旧块170更佳。在一些情况下,L2P映射表的一或多个副本可存储在存储器装置130的存储器单元内(例如,一或多个块170或平面165内),以供本地控制器135或存储器系统控制器115使用(例如,参考和更新)。
在一些情况下,可以维持L2P映射表且可以页级别的粒度将数据标记为有效或无效的,并且页175可以包含有效数据、无效数据或不包含数据。无效数据可以是由于数据的较新版本或更新版本存储在存储器装置130的不同页175中而过时的数据。无效数据先前可能已被编程到无效页175,但可能不再与有效逻辑地址(例如由主机系统105参考的逻辑地址)相关联。有效数据可以是存储在存储器装置130上的此类数据的最新版本。不包含数据的页175可以是从未被写入或已被擦除的页175。
在一些情况下,存储器系统控制器115或本地控制器135可以执行存储器装置130的操作(例如,作为一或多个媒体管理算法的一部分),例如耗损均衡、后台刷新、垃圾收集、清理、块扫描、健康监测,或其它操作,或其任何组合。例如,在存储器装置130内,块170可以具有包含有效数据的一些页175和包含无效数据的一些页175。为了避免等待块170中的所有页175具有无效数据以便擦除和重复使用块170,可调用被称作“垃圾收集”的算法,以允许块170被擦除和释放为用于后续写入操作的空闲块。垃圾收集可指媒体管理操作集,其包含例如选择包含有效和无效数据的块170、选择块中包含有效数据的页175、将来自所选页175的有效数据复制到新位置(例如,另一块170中的空闲页175)、将先前选择的页175中的数据标记为无效,以及擦除选定块170。因此,可增加已擦除的块170的数量,使得可使用更多的块170来存储后续数据(例如,随后从主机系统105接收到的数据)。
在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例为受管理NAND(MNAND)系统。
在一些实例中(例如,在分区命名空间(ZNS)系统中),存储器系统110中的存储器单元可划分(例如,逻辑上)成区。在此些实例中,可在区域基础上执行存取操作、维护操作或这两者,且维护操作的管理(例如,耗损均衡、垃圾收集、刷新)可在存储器系统110与主机系统105之间划分。区可等于块或可具有与块不同的大小(例如,区可等于两个或更多个块)。
存储器系统110可包含较低密度块和较高密度块。举例来说,存储器系统110可包含单层级单元(SLC)块和多层级单元(MLC)块。SLC块是指具有配置为经配置以存储单个位信息的单层级单元的存储器单元的块。MLC块是指具有配置为经配置以存储多个位信息的多层级单元的存储器单元的块。多层级单元的实例包含可经配置以用于各自存储两个信息位的双层级单元(BLC)、可经配置以用于各自存储三个信息位的三层级单元(TLC),以及可经配置以用于各自存储四个信息位的四层级单元(QCC)。一般来说,经配置以存储n位的存储器单元可经配置以支持2n个层级。多层级单元可提供相对于单层级单元的较高密度的存储,但在一些情况下,可涉及较窄读取或写入容限。
如本文中所提及,术语“较低密度块”和“较高密度块”可用于是指相应块中的存储器单元经配置以存储的位的相对数量。因此,如果x<y,那么具有各自经配置以存储x位的存储器单元和具有各自经配置以存储y位的存储器单元的块可分别被称作较低密度块和较高密度块。因此,BLC块可相对于TLC块和QLC块被称为较低密度块,且可相对于SLC块被称为较高密度块。类似地,TLC块可相对于QLC块被称为较低密度块,且可相对于SLC块和BLC块被称为较高密度块。
归因于较低密度块与较高密度块之间的存取容限、时延和可靠性的差异,存储器系统110可使用较低密度块作为用于较高密度块的高速缓存。举例来说,存储器系统110可在较低密度块中累积数据,且将数据从较低密度块间歇地传送到较高密度块。因此,存储器系统110可实施将数据从较低密度块(例如,SLC块)传送到较高密度块(例如,QLC块)的传送操作。此类传送操作可被称为迁移操作。
除了从较低密度块到较高密度块执行传送操作(例如,迁移操作)之外,存储器系统110可在相同密度的块之间执行传送操作。举例来说,存储器系统110可执行刷新操作,其中将块集合中的数据复制到相同密度的不同块集合。存储器系统110可使用刷新操作来维持或改进数据的可靠性,所述数据的可靠性原本可能随时间而损坏。在一些实例中,存储器系统110还可执行从较高密度块到较低密度块的传送操作。因此,存储器系统110可执行各种类型的传送操作。
作为传送操作(例如,迁移操作、刷新操作)的部分,存储器系统110可选择存储器裸片160中的一者作为用于传送操作中涉及的数据的接收方存储器裸片。存储器系统110还可从存储器裸片160的每一平面选择用于数据的块,使得存储器系统110可并行地(例如,同时地、部分地或完全地重叠时间)写入到所述块,所述操作被称作并行写入或并行程序。并行写入可比涉及单个平面的串行写入更有效,且对较高数量的平面的并行写入可比对较低数量的平面的并行写入更有效。举例来说,四平面并行写入(例如,到四个平面的并行写入)可比三平面并行写入(例如,到三个平面的并行写入)更有效,等等。
在其它系统中,存储器系统可从存储器裸片的每一平面选择块以用于数据传送。但无差别地将数据写入到来自每一平面的块可保持平面之间的不平衡,其存在可不利地影响系统的性能。举例来说,不平衡平面可与不一致存取量度相关联。此外,当存储器裸片达到容量时,不平衡平面可通过防止高效写入操作(例如,并行写入操作)而造成效率降低的写入操作(例如,串行写入操作或减少的平面并行写入操作)。
根据本文中所描述的技术,存储器系统110可通过避免传送操作期间的一或多个平面(例如,最不平衡的平面)而减少存储器裸片160的平面之间的不平衡。举例来说,存储器系统110可识别具有最少可用块的平面且在传送操作期间避免所述平面。通过以此方式平衡平面,存储器系统110可增加存取操作的一致性且在填充存储器裸片160时分配较低效率写入,这可与在存储器裸片160接近容量时造成较低效率写入相比改进性能。
在一些实例中,存储器系统110可使用不平衡的严重程度作为避免平面的条件,这可阻止避免技术的过度使用。举例来说,如果平面的所使用块的数量与具有最高数量的所使用块的平面的所使用块的数量之间的差满足阈值,那么存储器系统110可避免不平衡的平面。
系统100可包含支持存储器系统中的平面平衡的任何数量的组件,例如非暂时性计算机可读媒体。举例来说,主机系统105(例如,主机系统控制器106)、存储器系统110(例如,存储器系统控制器115)或存储器装置130(例如,本地控制器135)可包含或以其它方式可存取存储指令(例如,固件、逻辑、代码)的一个或多个非暂时性计算机可读媒体以用于执行本文中属于主机系统105、存储器系统110或存储器装置130的功能。举例来说,这类指令在由主机系统105(例如,主机系统控制器106)、存储器系统110(例如,存储器系统控制器115)或存储器装置130(例如,本地控制器135)执行时可使主机系统105、存储器系统110或存储器装置130执行本文中描述的相关联功能。
图2绘示根据本文所公开的实例的支持存储器系统中的平面平衡的存储器裸片200的实例。存储器裸片200可以是参考图1描述的存储器裸片160的实例。存储器裸片200可包含多个平面,例如平面A、平面B、平面C和平面D。每一平面可包含多个块205,编索引为0到12。涵盖其它数量的平面和块,且其在本公开的范围内。根据本文中所描述的技术,包含存储器裸片200的存储器系统可通过在传送操作期间识别并避免一或多个不平衡平面而平衡所述平面。在一些实例中,存储器裸片200可包含于在区基础上管理存取操作和维护操作的ZNS系统中。在此些实例中,区可等于或可包含块、多个块或块的一部分。
在一些实例中,块205可为QLC块。然而,在其它实例中,块205可为SLC块、BLC块、TLC块或其它密度的块。尽管用块205展示,但存储器裸片200可包含相同或其它密度的额外块。举例来说,如果块205为QLC块,那么存储器裸片200可包含为SLC块的额外块。
平面的块205可具有不同可用性状态。举例来说,平面可包含可用于写入的块(其可被称为可用块)和不可用于写入的块(其可被称为不可用块)。可用块可为在对块执行写入操作之前经擦除的块或存储允许存储器裸片在对块上执行写入操作之前擦除的无效数据的块。不可用块可为存储有效数据或列出为避免存取的块(例如,不可靠块)的块。有效数据可是指最新数据,且无效数据可是指过时数据或不准确数据。
在一些实例中,存储器裸片200的平面可能不平衡,因为不同平面可具有不同数量的可用块与不可用块。举例来说,平面A和平面B可各自具有九个不可用块和四个可用块(其可被称为不可用块与可用块的9:4比率);平面C可具有五个不可用块和八个可用块(例如,5:8比率);且平面D可具有两个不可用块和11个可用块(例如,2:11比率)。归因于由主机系统起始的各种维护操作,或出于其它原因,平面可为不平衡的。举例来说,主机系统可起始使存储器裸片200的块205中的数据失效或擦除存储器裸片200的块的维护操作,从而产生不平衡的平面。
为了防止或减少平面之间的不平衡,存储器裸片200可使用本文中所描述的技术以在传送操作期间避免一或多个块205。举例来说,存储器裸片200可避免一或多个平面且将数据写入到其余平面(例如,存储器裸片200的其它平面),而不是在传送操作期间将数据写入到存储器裸片200的每一平面。为了说明,并非将数据写入到平面A、平面B、平面C和平面D中的每一者,存储器裸片200可避免平面A和平面B中的一或多者且将数据写入到平面C和平面D中的一或两者。因此,存储器裸片200可在传送操作期间排除用于写入数据的一或多个平面。
存储器裸片200可基于平面中的块的可用性状态以及其它因素确定哪个(些)平面避免进行数据传送。举例来说,存储器裸片200可选择避免具有最高数量的不可用块的平面,所述平面也可为具有最低数量的可用块的平面。换句话说,存储器裸片200可选择避免不可用块与可用块的最高比率的平面,所述平面也可为具有可用块与不可用块的最低比率的平面。因此,存储器裸片200可在传送操作期间避免平面A和平面B,且仅将数据写入到平面C和平面D。举例来说,存储器裸片200可将数据写入到平面C的块5,且写入到平面D的块2,且可制止将数据写入到平面A和平面B。
在一些实例中,存储器裸片200可基于平面之间的不平衡的严重程度而确定是否避免平面进行数据传送。举例来说,存储器裸片200可将具有最高数量的可用块(例如,平面D)的平面中的可用块的数量与具有最低数量的可用块(例如,平面A、平面B)的平面中的可用块的数量相比较。如果可用块的最高数量与可用块的最低数量之间的差满足阈值,那么存储器裸片200可避免具有可用块的最低数量的平面。在类似实例中,存储器裸片200可将具有最高数量的不可用块(例如,平面A、平面B)的平面中不可用块的数量与具有最低数量的不可用块(例如,平面D)的平面中不可用块的数量相比较。如果不可用块的最高数量与不可用块的最低数量之间的差满足阈值,那么存储器裸片200可避免具有最高数量的不可用块的平面。在类似实例中,存储器裸片200可比较可用块与不可用块的最高与最低比率,且基于所述比较而避免所述平面。
传送操作中涉及的数据可为来自同一存储器裸片(例如,存储器裸片200)的数据或来自不同存储器裸片的数据。也就是说,传送操作可为裸片内传送操作(例如,在存储器裸片内移动数据的传送操作)或裸片间传送操作(例如,在存储器裸片之间移动数据的传送操作)。另外,传送操作可为任何类型的传送操作,包含迁移操作或刷新操作。在迁移操作中,传送中涉及的数据可从较低密度块(例如,SLC块)传送到较高密度块(例如,QLC块),或反之亦然。在刷新操作中,在传送中涉及的数据可在相等密度的块之间(例如,在QLC块之间,在SLC块之间)传送。
因此,存储器裸片200可通过在传送操作期间识别并避免一或多个不平衡平面而更好地平衡存储器裸片的平面。
图3绘示根据如本文所公开的实例的支持存储器系统中的平面平衡的处理流程300的实例。过程流程300可由例如本文中所描述的存储器装置、存储器裸片或存储器系统等装置实施。所述装置可包含具有多个平面的存储器裸片,所述多个平面中的每一者可包含存储器单元的块。处理流程300的实施方案可允许装置通过平衡存储器裸片的平面来改进性能,这可涉及从传送操作排除存储器裸片的一或多个平面。在一些实例中,处理流程300可由ZNS存储器系统实施。
处理流程300中所描述的传送操作可为迁移操作、刷新操作或其它类型的传送操作。此外,传送操作可在相同密度的块之间或在具有不同密度的块之间,以及其它特性。
在305处,装置可检测用于一组数据的传送操作的触发项。举例来说,装置可确定数据集准备好进行刷新操作或迁移操作。在310处,装置可选择用于传送操作的存储器裸片。在一些实例中,装置可基于存储器裸片相对于其它存储器裸片的容量而选择存储器裸片。举例来说,所述装置可基于存储器裸片具有比其它存储器裸片更多可用容量而选择所述存储器裸片。
在315处,装置可确定存储器裸片的平面中的块的可用性状态。举例来说,装置可确定存储器裸片的每一平面中的可用平面的数量、存储器裸片的每一平面中的不可用平面的数量、每平面可用块的百分比、每平面不可用块的百分比或其任何组合。因此,装置可确定具有最低数量可用块的平面、具有最高数量可用块的平面、具有最低数量不可用块的平面、具有最高数量不可用块的平面或其任何组合,以及作为所述数量的函数的其它量度。
举例来说,系统可确定具有最高百分比的可用块的平面、具有最低百分比的可用块的平面、具有最高百分比的不可用块的平面、具有最低百分比的不可用块的平面或其任何组合。在另一实例中,系统可确定不可用块与可用块的最高比率(或反之亦然)的平面、不可用块与可用块的最低比率(或反之亦然)的平面,或其任何组合。
在320处,系统可确定可用性量度是否满足(例如,超出)阈值。可用性量度可基于用于一或多个平面的可用块的数量、不可用块的数量或这两者。在一个实例中,可用性量度可为可用块的最低数量(由具有可用块的最低数量的平面给定)与可用块的最高数量(由具有可用块的最高数量的平面给定)之间的差。在另一实例中,可用性量度可为不可用块的最高数量(由具有最高数量的不可用块的平面给定)与不可用块的最低数量(由具有最低数量的不可用块的平面给定)之间的差。在另一实例中,可用性量度可为可用块的百分比或不可用块的百分比。在另一实例中,可用性量度可为可用块与不可用块的比率,或反之亦然。
如果在320处,系统确定可用性量度不满足阈值,那么系统可前进到330。
如果在320处,系统确定可用性量度满足阈值,那么系统可前进到325。在325处,系统可从平面集合排除一或多个平面以不写入传送操作中涉及的数据。在一些实例中,所述系统可从所述平面集合排除具有最低数量的可用块的平面(或具有最高数量的不可用块的平面)。在其它实例中,系统可排除可用块的百分比(或不可用块的百分比)满足阈值的平面。在其它实例中,系统可排除具有可用块与不可用块的比率满足阈值的平面,或反之亦然。因此,经选择用于传送操作的平面集合可为存储器裸片的平面减去325处排除的一或多个平面。
如果多个平面具有满足用于排除的阈值的可用性量度,那么系统可基于存储器裸片中的平面的数量而排除多个平面中的一或多者。举例来说,如果多个平面具有最低数量的可用块(或最高数量的不可用块),那么系统可基于多个平面的数量且基于存储器裸片中的平面的数量而排除多个平面中的一或多者。举例来说,为了保持效率,系统可排除存储器裸片中的平面的至多但不超过x%(例如,50%)。
在330处,系统可从被选择用于传送操作的平面集合中选择块。所述系统可选择每平面一个块,使得所述系统可对所述平面执行并行写入操作。在一些实例中,所选择的块可基于对所述块执行的存取操作的数量。举例来说,在给定平面内,存储器系统可选择已经历最少数量的存取操作(例如,写入操作、擦除操作)的块。
在335处,系统可从块集合读取用于传送操作的数据。块集合可具有与在330处所选择的块相同的密度,或块集合可具有与在300处所选择的块不同的密度。举例来说,在迁移操作中,块集合可为SLC块,且在330处所选择的块可为QLC块。在刷新操作中,块集合可为QLC块,且在330处所选择的块也可为QLC块。涵盖涉及密度的其它组合的其它类型的传送操作,且其在本公开的范围内。
在340处,系统可将数据写入到平面集合作为传送操作的部分。举例来说,系统可将数据写入到从用于传送操作的平面集合选择的块。因此,系统可将数据写入到存储器裸片的减去325处排除的任何平面的平面。
因此,系统可通过从传送操作排除存储器裸片的一或多个平面而平衡存储器裸片的平面。
图4展示根据如本文所公开的实例的支持存储器系统中的平面平衡的存储器系统420的框图400。存储器系统420可为如参考图1至3所描述的存储器系统的方面的实例。存储器系统420或其各种组件可为用于执行如本文中所描述的存储器系统中的平面平衡的各种方面的构件的实例。举例来说,存储器系统420可包含控制器425、写入电路系统430、读取电路系统435或其任何组合。这些组件中的每一个可直接地或间接地(例如经由一或多个总线)彼此通信。
控制器425可被配置为或以其它方式支持用于选择存储器裸片以用于写入数据集的构件,存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块。在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于选择存储器裸片而确定多个平面中相对于多个平面中的其它平面具有可用于写入的最少数量的块的平面的构件。写入电路430可被配置为或以其它方式支持用于至少部分地基于所述平面具有可用于写入的最低数量块而将数据集写入到所述多个平面的至少排除所述平面的子集的构件。
在一些实例中,可用于写入的块包含处于擦除状态或存储无效数据的块。
在一些实例中,控制器425可经配置为或以其它方式支持用于确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最高数量块的第二平面的构件,其中至少部分地基于不可用块的所述最低数量与不可用块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于选择所述存储器裸片而确定所述多个平面中具有可用于写入的所述最低数量块的第二平面的构件,其中至少部分地基于所述第二平面具有可用于写入的所述最低数量块而从用于写入所述数据集的所述多个平面的所述子集排除所述第二平面。
在一些实例中,控制器425可经配置为或以其它方式支持用于确定所述多个平面中具有可用于写入的所述最低数量块的第二平面的构件,其中所述第二平面至少部分地基于所述存储器裸片的所述多个平面的数量而包含于所述多个平面的用于写入所述数据集的所述子集中。
在一些实例中,控制器425可经配置为或以其它方式支持用于确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的次低数量块的第二平面的构件,其中至少部分地基于所述第二平面具有可用于写入的所述次低数量块而从所述多个平面的用于写入所述数据集的所述子集排除所述第二平面。
在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于平面具有可用于写入的最低数量的块而选择用于写入所述数据集的块集合的构件,所述块集合包含来自所述多个平面的至少排除所述平面的子集中的每一平面的块。
在一些实例中,所述块集合包含具有存储器单元的块,所述存储器单元中的每一者经配置以用于存储第一数量的位,且读取电路系统435可被配置为或以其它方式支持用于从包含各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集的构件。
在一些实例中,所述块集合包含具有存储器单元的块,所述存储器单元中的每一者经配置以用于存储第一数量的位,且读取电路系统435可被配置为或以其它方式支持用于从包含各自经配置用于存储第一数量的位的存储器单元的第二块集合读取所述数据集的构件。在一些实例中,存储器裸片包含于ZNS存储器系统中。
在一些实例中,控制器425可被配置为或以其它方式支持用于选择存储器裸片以用于写入数据集的构件,存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块。在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于选择存储器裸片而确定多个平面中相对于多个平面中的其它平面具有可用于写入的最高数量的块的平面的构件。在一些实例中,写入电路系统430可被配置为或以其它方式支持用于至少部分地基于所述平面具有不可用于写入的最高数量块而将数据集写入到所述多个平面的至少排除所述平面的子集的构件。
在一些实例中,不可用于写入的块包含存储有效数据或包含于避免存取的块列表中的块。
在一些实例中,控制器425可经配置为或以其它方式支持用于确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最低数量块的第二平面的构件,其中至少部分地基于不可用块的所述最低数量与不可用块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于选择所述存储器裸片而确定所述多个平面中具有不可用于写入的所述最高数量块的第二平面的构件,其中至少部分地基于所述第二平面具有不可用于写入的所述最高数量块而从用于写入所述数据集的所述多个平面的所述子集排除所述第二平面。
在一些实例中,控制器425可经配置为或以其它方式支持用于确定所述多个平面中具有不可用于写入的所述最高数量块的第二平面的构件,其中所述第二平面至少部分地基于所述存储器裸片的所述多个平面的数量而包含于所述多个平面的用于写入所述数据集的所述子集中。
在一些实例中,控制器425可经配置为或以其它方式支持用于确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的次高数量块的第二平面的构件,其中至少部分地基于所述第二平面具有不可用于写入的所述次高数量块而从所述多个平面的用于写入所述数据集的所述子集排除所述第二平面。
在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于平面具有不可用于写入的最高数量的块而选择用于写入所述数据集的块集合的构件,所述块集合包含来自所述多个平面的至少排除所述平面的子集中的每一平面的块。
在一些实例中,所述块集合包含具有存储器单元的块,所述存储器单元中的每一者经配置以用于存储第一数量的位,且读取电路系统435可被配置为或以其它方式支持用于从包含各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集的构件。
在一些实例中,所述块集合包含具有存储器单元的块,所述存储器单元中的每一者经配置以用于存储第一数量的位,且读取电路系统435可被配置为或以其它方式支持用于从包含各自经配置用于存储第一数量的位的存储器单元的第二块集合读取所述数据集的构件。
在一些实例中,控制器425可被配置为或以其它方式支持用于选择存储器裸片以用于写入数据集的构件,存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块。在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于选择存储器裸片而确定多个平面中具有第一数量的具有可用性状态的块的第一平面及具有第二数量的具有可用性状态的块的第二平面的构件。在一些实例中,写入电路系统430可被配置为或以其它方式支持用于至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面的构件。
在一些实例中,可用性状态包含可用于写入的块。在一些实例中,如果块处于擦除状态或存储无效数据,那么块可用于写入。
在一些实例中,可用性状态包含块不可用于写入。在一些实例中,如果块存储有效数据或包含在避免存取的块列表中,那么所述块不可用于写入。
在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于具有所述可用性状态的第三平面的第三数量与块的所述第二数量之间的差满足所述阈值而从写入所述数据集排除所述多个平面中的所述第三平面的构件。
在一些实例中,控制器425可经配置为或以其它方式支持用于至少部分地基于平面具有不可用于写入的最高数量块而选择用于写入所述数据集的块集合,所述块集合包含来自所述多个平面中除所述平面以外的每一平面的块。
在一些实例中,所述块集合包含具有存储器单元的块,所述存储器单元中的每一者经配置以用于存储第一数量的位,且读取电路系统435可被配置为或以其它方式支持用于从包含各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集的构件。
在一些实例中,所述块集合包含具有存储器单元的块,所述存储器单元中的每一者经配置以用于存储第一数量的位,且读取电路435可被配置为或以其它方式支持用于从包含各自经配置用于存储第一数量的位的存储器单元的第二块集合读取所述数据集的构件。
图5展示绘示根据本文所公开的实例的支持存储器系统中的平面平衡的方法500的流程图。方法500的操作可由如本文中所描述的存储器系统或其组件来实施。举例来说,方法500的操作可由参考图1到4所描述的存储器系统执行。在一些实例中,存储器系统可执行指令集合以控制装置的功能元件执行所描述的功能。另外或替代地,存储器系统可使用专用硬件来执行所描述的功能的各方面。
在505处,所述方法可包含选择用于写入数据集的存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块。可根据如本文中所公开的实例来执行505的操作。在一些实例中,505的操作的方面可由如参考图4所描述的控制器425执行。
在510处,所述方法可包含至少部分地基于选择存储器裸片而确定多个平面中相对于多个平面中的其它平面具有可用于写入的最低数量块的平面。可根据如本文中所公开的实例来执行510的操作。在一些实例中,510的操作的方面可由如参考图4所描述的控制器425执行。
在515处,所述方法可包含至少部分地基于所述平面具有可用于写入的最低数量块而将数据集写入到所述多个平面的至少排除所述平面的子集。可根据如本文中所公开的实例来执行515的操作。在一些实例中,515的操作的方面可由如参考图4所描述的写入电路系统430执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法500。所述设备可包含用于执行本公开的以下方面的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)或其任何组合:
方面1:一种方法、设备或非暂时性计算机可读媒体,其包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:选择用于写入数据集的存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最低数量块的平面;以及至少部分地基于所述平面具有可用于写入的所述最低数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
方面2:根据方面1所述的方法、设备或非暂时性计算机可读媒体,其中可用于写入的块包含处于擦除状态或存储无效数据的块。
方面3:根据方面1至2中的任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最高数量块的第二平面,其中至少部分地基于块的所述最低数量与块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
方面4:根据方面1至3中的任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:至少部分地基于选择所述存储器裸片而确定所述多个平面中具有可用于写入的所述最低数量块的第二平面,其中至少部分地基于所述第二平面具有可用于写入的所述最低数量块而从用于写入所述数据集的所述多个平面的所述子集排除所述第二平面。
方面5:根据方面1至4中的任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:确定所述多个平面中具有可用于写入的所述最低数量块的第二平面,其中所述第二平面至少部分地基于所述存储器裸片的所述多个平面的数量而包含于所述多个平面的用于写入所述数据集的所述子集中。
方面6:根据方面1至5中的任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的次低数量块的第二平面,其中至少部分地基于所述第二平面具有可用于写入的所述次低数量块而从所述多个平面的用于写入所述数据集的所述子集排除所述第二平面。
方面7:根据方面1至6中的任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:至少部分地基于平面具有可用于写入的所述最低数量块而选择用于写入所述数据集的块集合,所述块集合包含来自所述多个平面的至少排除所述平面的所述子集中的每一平面的块。
方面8:根据方面7所述的方法、设备或非暂时性计算机可读媒体,其中所述块集合包含具有各自经配置用于存储第一数量的位的存储器单元的块,且所述方法、设备和非暂时性计算机可读媒体进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:从包含各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集。
方面9:根据方面7至8中的任一方面所述的方法、设备或非暂时性计算机可读媒体,其中所述块集合包含具有各自经配置用于存储第一数量的位的存储器单元的块,且所述方法、设备和非暂时性计算机可读媒体进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:从包含各自经配置用于存储所述第一数量的位的存储器单元的第二块集合读取所述数据集。
方面10:根据方面1至9中任一方面所述的方法、设备或非暂时性计算机可读媒体,其中所述存储器裸片包含于分区命名空间(ZNS)存储器系统中。
图6展示绘示根据本文所公开的实例的支持存储器系统中的平面平衡的方法600的流程图。方法600的操作可由如本文中所描述的存储器系统或其组件来实施。举例来说,方法600的操作可由参考图1到4所描述的存储器系统执行。在一些实例中,存储器系统可执行指令集合以控制装置的功能元件执行所描述的功能。另外或替代地,存储器系统可使用专用硬件来执行所描述的功能的各方面。
在605处,所述方法可包含选择用于写入数据集的存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块。可根据如本文所公开的实例来执行605的操作。在一些实例中,605的操作的方面可由如参考图4所描述的控制器425执行。
在610处,所述方法可包含至少部分地基于选择存储器裸片而确定多个平面中相对于多个平面中的其它平面具有不可用于写入的最高数量块的平面。可根据如本文中所公开的实例来执行610的操作。在一些实例中,610的操作的方面可由如参考图4所描述的控制器425执行。
在615处,所述方法可包含至少部分地基于所述平面具有不可用于写入的最高数量块而将数据集写入到所述多个平面的至少排除所述平面的子集。可根据如本文所公开的实例执行615的操作。在一些实例中,615的操作的方面可由如参考图4所描述的写入电路系统430执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法600。所述设备可包含用于执行本公开的以下方面的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)或其任何组合:
方面11:一种方法、设备或非暂时性计算机可读媒体,其包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:选择用于写入数据集的存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最高数量块的平面;以及至少部分地基于所述平面具有不可用于写入的所述最高数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
方面12:根据方面11所述的方法、设备或非暂时性计算机可读媒体,其中不可用于写入的块包含存储有效数据或包含于避免存取的块列表中的块。
方面13:根据方面11至12中的任一方面的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最低数量块的第二平面,其中至少部分地基于不可用块的所述最低数量与不可用块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
方面14:根据方面11至13中的任一方面的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:至少部分地基于选择所述存储器裸片而确定所述多个平面中具有不可用于写入的所述最高数量块的第二平面,其中至少部分地基于所述第二平面具有不可用于写入的所述最高数量块而从用于写入所述数据集的所述多个平面的所述子集排除所述第二平面。
方面15:根据方面11至14中的任一方面的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:确定所述多个平面中具有不可用于写入的所述最高数量块的第二平面,其中所述第二平面至少部分地基于所述存储器裸片的所述多个平面的数量而包含于所述多个平面的用于写入所述数据集的所述子集中。
方面16:根据方面11至15中的任一方面的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的次高数量块的第二平面,其中至少部分地基于所述第二平面具有不可用于写入的所述次高数量块而从所述多个平面的用于写入所述数据集的所述子集排除所述第二平面。
方面17:根据方面11至16中的任一方面的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:至少部分地基于平面具有不可用于写入的所述最高数量块而选择用于写入所述数据集的块集合,所述块集合包含来自所述多个平面的至少排除所述平面的所述子集中的每一平面的块。
方面18:根据方面17所述的方法、设备或非暂时性计算机可读媒体,其中所述块集合包含具有各自经配置用于存储第一数量的位的存储器单元的块,且所述方法、设备和非暂时性计算机可读媒体进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:从包含各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集。
方面19:根据方面17至18中的任一方面所述的方法、设备或非暂时性计算机可读媒体,其中所述块集合包含具有各自经配置用于存储第一数量的位的存储器单元的块,且所述方法、设备和非暂时性计算机可读媒体进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:从包含各自经配置用于存储所述第一数量的位的存储器单元的第二块集合读取所述数据集。
图7展示绘示根据如本文所公开的实例的支持存储器系统中的平面平衡的方法700的流程图。方法700的操作可由如本文中所描述的存储器系统或其组件来实施。举例来说,方法700的操作可由参考图1到4所描述的存储器系统执行。在一些实例中,存储器系统可执行指令集合以控制装置的功能元件执行所描述的功能。另外或替代地,存储器系统可使用专用硬件来执行所描述的功能的各方面。
在705处,所述方法可包含选择用于写入数据集的存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块。可根据如本文中所公开的实例来执行705的操作。在一些实例中,705的操作的方面可由如参考图4所描述的控制器425执行。
在710处,所述方法可包含至少部分地基于选择存储器裸片而确定多个平面中具有第一数量的具有可用性状态的块的第一平面和多个平面中具有第二数量的具有可用性状态的块的第二平面。可根据如本文中所公开的实例来执行710的操作。在一些实例中,710的操作的方面可由如参考图4所描述的控制器425执行。
在715处,所述方法可包含至少部分地基于块的第一数量与块的第二数量之间的差满足阈值而将数据集写入到至少排除所述第一平面的多个平面。可根据如本文中所公开的实例来执行715的操作。在一些实例中,715的操作的方面可由如参考图4所描述的写入电路系统430执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法700。所述设备可包含用于执行本公开的以下方面的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)或其任何组合:
方面20:一种方法、设备或非暂时性计算机可读媒体,其包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:选择用于写入数据集的存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中具有第一数量的具有可用性状态的块的第一平面和多个平面中具有第二数量的具有所述可用性状态的块的第二平面;以及至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面。
方面21:根据方面20所述的方法、设备或非暂时性计算机可读媒体,其中所述可用性状态包含块可用于写入,且其中如果块处于擦除状态或存储无效数据,那么所述块可用于写入。
方面22:根据方面20至21中的任一方面的方法、设备或非暂时性计算机可读媒体,其中所述可用性状态包含块不可用于写入,且如果块存储有效数据或包含于避免存取的块列表中,那么所述块不可用于写入。
方面23:根据方面20至22中的任一方面的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:至少部分地基于具有所述可用性状态的第三平面的第三数量与块的所述第二数量之间的差满足所述阈值而从写入所述数据集排除所述多个平面中的所述第三平面。
方面24:根据方面20至23中的任一方面的方法、设备或非暂时性计算机可读媒体,其进一步包含用于以下的操作、特征、电路系统、逻辑、装置或指令或其任何组合:至少部分地基于平面具有不可用于写入的最高数量块而选择用于写入所述数据集的块集合,所述块集合包含来自所述多个平面中除所述平面以外的每一平面的块。
方面25:根据方面24所述的方法、设备或非暂时性计算机可读媒体,其中所述块集合包含具有各自经配置用于存储第一数量的位的存储器单元的块,且所述方法、设备和非暂时性计算机可读媒体进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:从包含各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集。
方面26:根据方面24至25中的任一方面所述的方法、设备或非暂时性计算机可读媒体,其中所述块集合包含具有各自经配置用于存储第一数量的位的存储器单元的块,且所述方法、设备和非暂时性计算机可读媒体进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:从包含各自经配置用于存储所述第一数量的位的存储器单元的第二块集合读取所述数据集。
应注意,所描述的技术包含可能的实施方案,且操作和步骤可以重新布置或以其它方式加以修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
描述一种设备。下文提供如本文中所描述的设备的各方面的概述:
方面27:一种设备,其包含:存储器裸片;以及控制器,其与所述存储器裸片耦合且经配置以致使所述设备:选择数据集写入到的所述存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最低数量块的平面;以及至少部分地基于所述平面具有可用于写入的所述最低数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
方面28:根据方面27所述的设备,其中所述控制器进一步经配置以致使所述设备:确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最高数量块的第二平面,其中至少部分地基于块所述最低数量与块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
描述一种设备。下文提供如本文中所描述的设备的各方面的概述:
方面29:一种设备,其包含:存储器裸片;以及控制器,其与所述存储器裸片耦合且经配置以致使所述设备:选择数据集写入到的所述存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中具有第一数量的具有可用性状态的块的第一平面和多个平面中具有第二数量的具有所述可用性状态的块的第二平面;以及至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面。
方面30:根据方面29所述的设备,其中所述控制器进一步经配置以致使所述设备:确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最低数量块的第二平面,其中至少部分地基于不可用块的所述最低数量与不可用块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
描述一种设备。下文提供如本文中所描述的设备的各方面的概述:
方面31:一种设备,其包含:存储器裸片;以及控制器,其与所述存储器裸片耦合且经配置以致使所述设备:选择数据集写入到的所述存储器裸片,所述存储器裸片包含多个平面,每一平面包含存储器单元的相应多个块;至少部分地基于选择所述存储器裸片而确定所述多个平面中具有第一数量的具有可用性状态的块的第一平面和多个平面中具有第二数量的具有所述可用性状态的块的第二平面;以及至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个描述中可能参考的数据、指令、命令、信息、信号、位、符号和芯片。一些图式可将信号说明为单个信号;然而,信号可表示信号的总线,其中所述总线可具有多种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。如果如控制器的组件将其它组件耦合在一起,那么组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的所述组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,那么控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
术语“如果”、“当…时”、“基于”或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当……时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,则所述术语可互换。
术语“响应于”可以指由于先前条件或动作而至少部分地(如果不是完全地)发生的一个条件或动作。举例来说,可进行第一条件或动作,且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
另外,术语“直接地响应于”或“直接响应于”可指一个条件或动作作为先前条件或动作的直接结果而发生。在一些实例中,可进行第一条件或动作,且可作为与是否发生其它条件或动作无关的先前条件或动作发生的结果而直接发生第二条件或动作。在一些实例中,可进行第一条件或动作,且可作为先前条件或动作发生的结果而直接发生第二条件或动作,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作,或在较早条件或动作与第二条件或动作之间发生有限数量的一或多个中间步骤或动作。除非另外规定,否则本文中描述为“基于”、“至少部分地基于”或“响应于”某一其它步骤、动作、事件或条件进行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”这种其它条件或动作而进行。
本文所论述的包含存储器阵列的装置可形成在半导体衬底上,例如硅、锗、硅锗合金、砷化镓、氮化镓等。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(silicon-on-insulator,SOI)衬底,例如玻璃上硅(silicon-on-glass,SOG)或蓝宝石上硅(silicon-on-sapphire,SOP),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
本文中所论述的开关组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可为导电的,且可包括经重掺杂,例如简并,半导体区。源极与漏极可通过经轻掺杂半导体区或通道分离。如果通道是n型(即,大部分载流子为电子),则FET可称为n型FET。如果通道是p型(即,多数载流子是空穴),则FET可被称为p型FET。通道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制通道导电性。例如,将正电压或负电压分别施加到n型FET或p型FET可导致通道变得导电。在大于或等于晶体管的阈值电压的电压施加到晶体管栅极的情况下,晶体管可以“接通”或“激活”。如果小于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可“断开”或“去激活”。
本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”是指“充当实例、例子或说明”,且不“优选于”或“优于”其它实例。详细描述包含具体细节,以提供对所描述技术的理解。然而,可在没有这些特定细节的情况下实践这些技术。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
在附图中,类似组件或特征可以具有相同的参考标记。此外,可通过在参考标记之后跟着短横及在类似组件之间进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合实施。如果以由处理器执行的软件来实施,则可将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体予以传输。其它实例和实施在本公开和所附权利要求书的范围内。举例来说,归因于软件的性质,所描述的功能可使用由处理器、硬件、固件、硬连线或这些中的任一个的组合执行的软件实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。
举例来说,结合本文的公开内容描述的各种说明性块和组件可使用经设计以执行本文所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器,但在替代方案中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器可实施为计算装置的组合(例如,DSP和微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置)。
如本文中所使用,包含在权利要求书中,如在项列表(例如,后加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如A、B或C中的至少一个的列表意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A和条件B两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
计算机可读媒体包含非暂时性计算机存储媒体和通信媒体两者,通信媒体包含促进将计算机程序从一个地方传送到另一个地方的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。作为实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、紧密光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所使用,磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。这些的组合也包含在计算机可读媒体的范围内。
提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
Claims (31)
1.一种方法,其包括:
选择用于写入数据集的存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;
至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最低数量块的平面;以及
至少部分地基于所述平面具有可用于写入的所述最低数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
2.根据权利要求1所述的方法,其中可用于写入的块包括处于擦除状态或存储无效数据的块。
3.根据权利要求1所述的方法,其进一步包括:
确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最高数量块的第二平面,其中至少部分地基于块的所述最低数量与块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
4.根据权利要求1所述的方法,其进一步包括:
至少部分地基于选择所述存储器裸片而确定所述多个平面中具有可用于写入的所述最低数量块的第二平面,其中至少部分地基于所述第二平面具有可用于写入的所述最低数量块而从用于写入所述数据集的所述多个平面的所述子集排除所述第二平面。
5.根据权利要求1所述的方法,其进一步包括:
确定所述多个平面中具有可用于写入的所述最低数量块的第二平面,其中所述第二平面至少部分地基于所述存储器裸片的所述多个平面的数量而包含于所述多个平面的用于写入所述数据集的所述子集中。
6.根据权利要求1所述的方法,其进一步包括:
确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的次低数量块的第二平面,其中至少部分地基于所述第二平面具有可用于写入的所述次低数量块而从所述多个平面的用于写入所述数据集的所述子集排除所述第二平面。
7.根据权利要求1所述的方法,其进一步包括:
至少部分地基于平面具有可用于写入的所述最低数量块而选择用于写入所述数据集的块集合,所述块集合包括来自所述多个平面的至少排除所述平面的所述子集中的每一平面的块。
8.根据权利要求7所述的方法,其中所述块集合包括具有各自经配置用于存储第一数量的位的存储器单元的块,所述方法进一步包括:
从包括各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集。
9.根据权利要求7所述的方法,其中所述块集合包括具有各自经配置用于存储第一数量的位的存储器单元的块,所述方法进一步包括:
从包括各自经配置用于存储所述第一数量的位的存储器单元的第二块集合读取所述数据集。
10.根据权利要求1所述的方法,其中所述存储器裸片包含于分区命名空间ZNS存储器系统中。
11.一种方法,其包括:
选择用于写入数据集的存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;
至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最高数量块的平面;以及
至少部分地基于所述平面具有不可用于写入的所述最高数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
12.根据权利要求11所述的方法,其中不可用于写入的块包括存储有效数据或包含于避免存取的块列表中的块。
13.根据权利要求11所述的方法,其进一步包括:
确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最低数量块的第二平面,其中至少部分地基于不可用块的所述最低数量与不可用块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
14.根据权利要求11所述的方法,其进一步包括:
至少部分地基于选择所述存储器裸片而确定所述多个平面中具有不可用于写入的所述最高数量块的第二平面,其中至少部分地基于所述第二平面具有不可用于写入的所述最高数量块而从用于写入所述数据集的所述多个平面的所述子集排除所述第二平面。
15.根据权利要求11所述的方法,其进一步包括:
确定所述多个平面中具有不可用于写入的所述最高数量块的第二平面,其中所述第二平面至少部分地基于所述存储器裸片的所述多个平面的数量而包含于所述多个平面的用于写入所述数据集的所述子集中。
16.根据权利要求11所述的方法,其进一步包括:
确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的次高数量块的第二平面,其中至少部分地基于所述第二平面具有不可用于写入的所述次高数量块而从所述多个平面的用于写入所述数据集的所述子集排除所述第二平面。
17.根据权利要求11所述的方法,其进一步包括:
至少部分地基于平面具有不可用于写入的所述最高数量块而选择用于写入所述数据集的块集合,所述块集合包括来自所述多个平面的至少排除所述平面的所述子集中的每一平面的块。
18.根据权利要求17所述的方法,其中所述块集合包括具有各自经配置用于存储第一数量的位的存储器单元的块,所述方法进一步包括:
从包括各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集。
19.根据权利要求17所述的方法,其中所述块集合包括具有各自经配置用于存储第一数量的位的存储器单元的块,所述方法进一步包括:
从包括各自经配置用于存储所述第一数量的位的存储器单元的第二块集合读取所述数据集。
20.一种方法,其包括:
选择用于写入数据集的存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;
至少部分地基于选择所述存储器裸片而确定所述多个平面中具有第一数量的具有可用性状态的块的第一平面和多个平面中具有第二数量的具有所述可用性状态的块的第二平面;以及
至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面。
21.根据权利要求20所述的方法,其中所述可用性状态包括块可用于写入,且其中如果块处于擦除状态或存储无效数据,那么所述块可用于写入。
22.根据权利要求20所述的方法,其中所述可用性状态包括块不可用于写入,且其中如果块存储有效数据或包含于避免存取的块列表中,那么所述块不可用于写入。
23.根据权利要求20所述的方法,其进一步包括:
至少部分地基于具有所述可用性状态的第三平面的第三数量与块的所述第二数量之间的差满足所述阈值而从写入所述数据集排除所述多个平面中的所述第三平面。
24.根据权利要求20所述的方法,其进一步包括:
至少部分地基于平面具有不可用于写入的最高数量块而选择用于写入所述数据集的块集合,所述块集合包括来自所述多个平面中除所述平面以外的每一平面的块。
25.根据权利要求24所述的方法,其中所述块集合包括具有各自经配置用于存储第一数量的位的存储器单元的块,所述方法进一步包括:
从包括各自经配置用于存储第二数量的位的存储器单元的第二块集合读取所述数据集。
26.根据权利要求24所述的方法,其中所述块集合包括具有各自经配置用于存储第一数量的位的存储器单元的块,所述方法进一步包括:
从包括各自经配置用于存储所述第一数量的位的存储器单元的第二块集合读取所述数据集。
27.一种设备,其包括:
存储器裸片;以及
控制器,其与所述存储器裸片耦合且经配置以致使所述设备:
选择数据集写入到的所述存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;
至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最低数量块的平面;以及
至少部分地基于所述平面具有可用于写入的所述最低数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
28.根据权利要求27所述的设备,其中所述控制器进一步经配置以致使所述设备:
确定所述多个平面中相对于所述多个平面中的其它平面具有可用于写入的最高数量块的第二平面,其中至少部分地基于块所述最低数量与块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
29.一种设备,其包括:
存储器裸片;以及
控制器,其与所述存储器裸片耦合且经配置以致使所述设备:
选择数据集写入到的所述存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;
至少部分地基于选择所述存储器裸片而确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最高数量块的平面;以及
至少部分地基于所述平面具有不可用于写入的所述最高数量块而将所述数据集写入到所述多个平面的至少排除所述平面的子集。
30.根据权利要求29所述的设备,其中所述控制器进一步经配置以致使所述设备:
确定所述多个平面中相对于所述多个平面中的其它平面具有不可用于写入的最低数量块的第二平面,其中至少部分地基于不可用块的所述最低数量与不可用块的所述最高数量之间的差满足阈值而从写入所述数据集排除所述平面。
31.一种设备,其包括:
存储器裸片;以及
控制器,其与所述存储器裸片耦合且经配置以致使所述设备:
选择数据集写入到的所述存储器裸片,所述存储器裸片包括多个平面,每一平面包括存储器单元的相应多个块;
至少部分地基于选择所述存储器裸片而确定所述多个平面中具有第一数量的具有可用性状态的块的第一平面和多个平面中具有第二数量的具有所述可用性状态的块的第二平面;以及
至少部分地基于块的所述第一数量与块的所述第二数量之间的差满足阈值而将所述数据集写入到至少排除所述第一平面的所述多个平面。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/348,298 | 2022-06-02 | ||
US17/864,192 US11995345B2 (en) | 2022-06-02 | 2022-07-13 | Plane balancing in a memory system |
US17/864,192 | 2022-07-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117174143A true CN117174143A (zh) | 2023-12-05 |
Family
ID=88932498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310641778.XA Pending CN117174143A (zh) | 2022-06-02 | 2023-06-01 | 存储器系统中的平面平衡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117174143A (zh) |
-
2023
- 2023-06-01 CN CN202310641778.XA patent/CN117174143A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836074B2 (en) | Multiple flash translation layers at a memory device | |
US11907556B2 (en) | Data relocation operation techniques | |
US12007889B2 (en) | Valid data identification for garbage collection | |
CN115904221A (zh) | 高速缓存块预算技术 | |
CN115729848A (zh) | 直接逻辑到物理地址映射 | |
CN114822670A (zh) | 有效数据感知媒体可靠性扫描 | |
WO2022193270A1 (en) | Write booster buffer flush operation | |
US20230104752A1 (en) | Techniques for failure management in memory systems | |
US20230342077A1 (en) | Unmap backlog in a memory system | |
CN114443514A (zh) | 用于存储器系统的存储器单元存取技术 | |
US11995345B2 (en) | Plane balancing in a memory system | |
CN117174143A (zh) | 存储器系统中的平面平衡 | |
US11977443B2 (en) | Dynamic parity scheme | |
WO2024187364A1 (en) | Complete and incomplete superblock generation | |
CN114691031B (zh) | 基于分片操作的存储器系统的存取 | |
CN116030875B (zh) | 管理存储器系统中的信息保护方案 | |
WO2022193231A1 (en) | Dynamic memory management operation | |
US11977758B2 (en) | Assigning blocks of memory systems | |
WO2024040569A1 (en) | Data handling during a reflow operation | |
EP4060501A1 (en) | Redundant array management techniques | |
US20240086070A1 (en) | Read disturb management for memory | |
CN114691031A (zh) | 基于分片操作的存储器系统的存取 | |
CN118484339A (zh) | 多层级单元维护操作 | |
CN118502655A (zh) | 用于随机写入操作的缓冲扩展 | |
CN118535486A (zh) | 地址映射表压缩 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |