CN115525215A - 存储器存取模式选择 - Google Patents
存储器存取模式选择 Download PDFInfo
- Publication number
- CN115525215A CN115525215A CN202210705426.1A CN202210705426A CN115525215A CN 115525215 A CN115525215 A CN 115525215A CN 202210705426 A CN202210705426 A CN 202210705426A CN 115525215 A CN115525215 A CN 115525215A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory access
- read operation
- determining
- memory cells
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请案是针对存储器存取模式选择。一种方法包含确定存储器装置的存储器单元的一或多个质量属性,接收涉及写入到所述存储器单元的至少一部分的数据的存储器存取请求,以及确定所述存储器存取请求是对应于随机读取操作还是顺序读取操作。所述方法进一步包含响应于确定所述存储器存取请求对应于随机读取操作或响应于确定存储器单元的所述一或多个质量属性大于阈值质量水平或这两者,选择读取模式用于执行所述随机读取操作,且使用所述选择的读取模式执行所述随机读取操作。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及存储器存取模式选择。
背景技术
存储器子系统可以包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
发明内容
在一个方面中,本申请案是针对一种用于存储器存取模式选择的方法,其包括:确定存储器装置的存储器单元的一或多个质量属性;接收涉及写入到存储器单元的至少一部分的数据的存储器存取请求;确定所述存储器存取请求是对应于随机读取操作还是顺序读取操作;响应于确定所述存储器存取请求对应于随机读取操作或响应于确定存储器单元的所述一或多个质量属性大于阈值质量水平或这两者,选择读取模式用于执行所述随机读取操作;以及使用所述选择的读取模式执行所述随机读取操作。
在另一方面中,本申请案是针对一种用于存储器存取模式选择的设备,其包括:存储器装置;以及存储器存取模式选择组件,其耦合到所述存储器装置,其中所述存储器存取模式选择组件将:确定所述存储器装置的存储器单元的一或多个质量属性;接收涉及所述存储器单元的存储器存取请求;至少部分地基于所述接收的存储器存取请求而确定所述存储器存取操作的执行是涉及随机读取操作还是顺序读取操作;至少部分地基于所述存储器单元的所述一或多个质量属性大于阈值质量水平以及所述存储器存取操作的执行是涉及所述随机读取操作还是所述顺序读取操作而确定要发出的特定存储器存取命令以从所述存储器单元的至少一部分检索数据;以及执行所述存储器存取操作以从所述存储器单元的至少所述部分检索所述数据。
在另一方面中,本申请案是针对一种用于存储器存取模式选择的系统,其包括:存储器装置,其包括多个NAND存储器单元;以及处理装置,其耦合到所述存储器装置,所述处理装置将执行包括以下各项的操作:确定所述多个NAND存储器单元当中的存储器单元集合的一或多个质量属性,其中所述存储器单元集合包括比所述存储器装置的页大小少的存储器单元;接收指示涉及所述存储器单元集合的存储器存取的信令;确定指示所述存储器存取的所述信令是对应于随机读取操作还是顺序读取操作;响应于确定指示所述存储器存取的所述信令对应于所述随机读取操作或响应于确定所述存储器单元集合的所述一或多个质量属性大于阈值质量水平或这两者,选择特定读取模式用于执行所述随机读取操作;以及使用所述选择的读取模式执行所述随机读取操作。
附图说明
根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2说明根据本公开的一些实施例的实例存储器子系统。
图3是根据本公开的一些实施例的对应于存储器存取模式选择的流程图。
图4是根据本公开的一些实施例的对应于用于存储器存取模式选择的方法的流程图。
图5是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面是针对存储器子系统中的存储器存取模式选择,特定来说是针对包含存储器存取模式选择组件的存储器子系统。存储器子系统可为存储系统、存储装置、存储器模块或这些的组合。存储器子系统的实例是如固态驱动器(SSD)的存储系统。下文结合图1等描述存储装置和存储器模块的实例。大体来说,主机系统可利用包含一或多个组件的存储器子系统,所述组件例如存储数据的存储器装置。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
存储器装置可以为非易失性存储器装置。非易失性存储器装置的一个实例为“与非”(NAND)存储器装置(也被称为快闪技术)。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个平面组成。平面可分组成逻辑单元(LUN)。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由物理块集合组成。每一块由页集合组成。每一页由存储器单元(“单元”)集合组成。信元为存储信息的电子电路。在下文中,块是指用于存储数据的存储器装置的单元,且可包含存储器单元群组、字线群组、字线或单独存储器单元。对于一些存储器装置,块(在下文中也被称为“存储器块”)为可擦除的最小区域。无法单独地擦除页,且只能擦除整个块。
存储器装置中的每一个可以包含一或多个存储器单元阵列。取决于单元类型,单元可存储一或多个二进制信息位,且具有与所存储的位数相关的各种逻辑状态。逻辑状态可由例如“0”和“1”等二进制值或这些值的组合表示。存在各种类型的单元,例如单电平单元(SLC)、多电平单元(MLC)、三电平单元(TLC)和四电平单元(QLC)。举例来说,SLC可存储一位信息且具有两种逻辑状态。
一些NAND存储器装置采用浮置栅极架构,其中基于位线与字线之间的相对电压变化来控制存储器存取。NAND存储器装置的其它实例可采用可包含使用字线布局的替换栅极架构,所述字线布局可允许基于用于构造字线的材料的特性而在存储器单元内捕获对应于数据值的电荷。
在操作期间,存储器子系统可接收各种存储器存取请求(例如,对存储器子系统的存储器装置读取或写入数据的请求)。检索由存储器存取请求指示的数据的操作的执行大体上经受一些时延量。即,在存储器存取请求的执行与数据从存储器装置读取或写入到存储器装置之间存在发生的时间量。在一些存储器子系统中,读取操作时间(“tR”)是与执行存储器存取相关联的时延的主导成分。
大体来说,存储器存取请求可对应于涉及写入到存储器装置的顺序存储器单元的数据(例如,顺序数据)或写入到遍布存储器装置分散的存储器单元的数据(例如,随机数据)的存储器存取。由于遍布存储器装置分散,因此涉及随机数据的存储器存取大体上比涉及顺序数据的存储器存取经历更低的处理量和更高的时延。
随着存储器装置技术发展,对存储器装置带来越来越高要求的工作负载和更高的性能期望。因此,使处理量最大化,同时缓解与执行存储器存取操作(例如,满足存储器存取请求)相关联的时延以改善存储器装置的性能已变成合意的。举例来说,期望通过尝试减轻与满足涉及随机数据的存储器存取请求相关联的时延来改善读取性能,特别是随机读取性能(例如,与满足涉及随机数据的存储器存取请求相关联的时间量)。这又可改善存储器装置的总体性能,且因此改善存储器装置在其中操作的计算系统的总体性能。
另外,在其中存储器装置的队列深度相对低的情境中减少存储器装置的tR可为有益的。举例来说,当存储器装置的队列深度相对低时,存储器装置的tR可变为瓶颈,特别是在低密度存储器装置中,例如与移动计算装置相关联的存储器装置。如将了解,存储器装置的队列深度大体上指代等待处理的同时待决存储器存取请求的数量。
然而,存储器装置的tR的减少可能难以实现。此情形的一个原因在于存储器子系统大体上具有最大所允许原始位错误率(RBER)以便提供标准化数据质量。如将了解,存储器子系统、存储器装置、存储器阵列等的RBER通常被量化为每总位数读取(包含可校正的以及不可校正的错误)的损坏位(例如,错误的位)的数目。如温度、编程擦除循环(PEC)的损耗;物理年龄(例如,装置已在现场使用的月数,与PEC无关);工作负载,其可通过读取、写入和/或擦除操作的数量来测量,这是因为针对例如页的这些操作可潜在地干扰周围单元;以及存储器子系统中其它错误的存在的多个因素可影响存储器子系统的RBER。在一些实施例中,可在成功解码由存储器子系统存储的数据之后确定RBER。
本公开的方面通过允许在某些条件下执行某些存储器存取操作期间放松对存储器子系统的RBER要求来解决以上和其它缺陷。这可允许与执行某些存储器存取操作相关联的时延(例如,tR)的减少,这可得到存储器子系统的增加的处理量,且又得到存储器子系统的改进的性能。在一些实施例中,可基于存储器存取中涉及的存储器单元的质量属性、存储器存取待存取的数据的单位大小(例如,存储器存取中涉及多少数据)和/或基于存储器子系统和/或存储器装置的年龄(例如,存储器子系统或存储器装置与生命早期(BOL)或生命晚期(EOL)的接近程度)在执行某些存储器存取操作期间放松对存储器子系统的RBER要求。存储器单元的质量属性的非限制性实例可包含存储器单元已经历的编程擦除循环(PEC)的数量和/或存储器单元可存储的位数量(例如,存储器单元是否为SLC、MLC、TLC或QLC)等等。
另外,本公开的方面通过允许基于存储器存取中涉及的存储器单元的质量属性、存储器存取待存取的数据数量和/或存储器子系统和/或存储器装置的年龄等等而选择不同存储器存取模式,来解决以上和其它缺陷。如本文更详细地描述,不同存储器存取模式可对应于用于存储器子系统的存储器的不同读取模式。在一些实施例中,不同存储器存取模式可具有不同的命令、修整集合、时延(例如,tR值)和/或与其相关联的所允许RBER要求。通过执行本文所描述的操作,与并不允许在某些条件下放松RBER要求和/或并不允许基于存储器存取中涉及的存储器单元的质量属性、存储器存取待存取的数据数量和/或存储器子系统和/或存储器装置的年龄而选择多个存储器存取模式中的一个的方法相比,可改善存储器子系统性能。
表1说明存储器存取模式的若干非限制性实例。如表1所示,实例存储器存取模式中的每一个可具有针对存储器子系统和/或存储器装置的不同读取操作时间(例如,tR)和不同所允许RBER要求。存储器存取模式中的每一个可具有与其相关联的对应存储器存取命令集合,且存储器存取模式和/或对应存储器存取命令中的每一个可具有与其相关联的特定修整集合。
存储器存取模式 | 读取操作时间(tR) | 实例所允许RBER要求 |
第一存储器存取模式 | ~25μs | 5×10<sup>-3</sup> |
第二存储器存取模式 | ~30μs | 4×10<sup>-3</sup> |
第三存储器存取模式 | ~40μs | 3×10<sup>-3</sup> |
表1
表1中说明的非限制性实例示出三个相异的存储器存取模式:第一存储器存取模式,第二存储器存取模式,和第三存储器存取模式。表1中示出的存储器存取模式各自具有增加的tR和减小的所允许RBER要求。举例来说,第一存储器存取模式可比第二和第三存储器存取模式更快地执行;然而,第一存储器存取模式的选择是基于比第二或第三存储器存取模式高的所允许RBER要求来断言。
如上文所提及,可基于存储器存取中涉及的存储器单元的质量属性、存储器存取待存取的数据数量和/或存储器子系统和/或存储器装置的年龄等等而选择存储器存取模式中的一个以用于执行存储器存取操作。举例来说,可当确定存储器存取中涉及的存储器单元具有高质量属性(例如,已经历相对低数量的PEC)时和/或当存储器子系统和/或存储器装置接近于BOL条件时选择第一存储器存取模式以用于执行存储器存取操作。相反,可当确定存储器存取中涉及的存储器单元具有低质量属性(例如,已经历相对高数量的PEC)时和/或当存储器子系统和/或存储器装置接近于EOL条件时选择第二存储器存取模式和/或第三存储器存取模式以用于执行存储器存取操作。
在一些实施例中,可当存储器子系统和/或存储器装置的存储器单元的平均PEC计数高于目标耐久性阈值的80%时选择第一存储器存取模式。如果存储器子系统和/或存储器装置的存储器单元的平均PEC计数低于目标耐久性阈值的80%,那么可选择第二存储器存取模式且用于执行存储器存取操作。作为补充或替代,如果在使用第一存储器存取模式执行存储器存取操作期间检测到错误或失败,那么可选择第二存储器存取模式以用于执行存储器存取操作。
在一些实施例中,可选择第一存储器存取模式和/或第二存储器存取模式以用于执行涉及随机数据的存储器存取操作,可选择第三存储器存取模式以用于执行涉及顺序数据的存储器存取操作。然而,实施例不受如此限制,且在一些实施例中,可选择第一存储器存取模式和/或第二存储器存取模式以用于执行涉及存储器单元页的一部分或“存储器单元集合”(例如,小于存储器单元的完整页)的存储器存取操作,可选择第三存储器存取模式以用于执行涉及存储器单元的完整页或跨平面页的存储器存取操作。
在另外其它实施例中,可响应于使用第一存储器存取模式的存储器存取操作的失败而选择第二存储器存取模式以用于执行存储器存取。即,在一些实施例中,可响应于使用第一存储器存取模式存取的数据并未准确地解码的确定而选择第二存储器存取模式以用于执行存储器存取。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。
存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),和各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为计算装置,例如桌上型计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(IoT)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与……耦合”通常是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,无介入组件),无论有线或无线,包含例如电、光学、磁性等的连接。
主机系统120可包含处理器芯片组和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓冲存储器、存储器控制器(例如,SSD控制器)以及存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用例如存储器子系统110以将数据写入到存储器子系统110和从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)、开放NAND快闪接口(ONFI)、双数据速率(DDR)、低功率双数据速率(LPDDR)或任何其它接口。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。图1说明存储器子系统110作为一实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。NAND型快闪存储器包含(例如)二维NAND(2DNAND)和三维NAND(3D NAND)。
存储器装置130、140中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单电平单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如多电平单元(MLC)、三电平单元(TLC)、四电平单元(QLC)和五电平单元(PLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类存储器单元阵列的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分、MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。
虽然描述了非易失性存储器组件,例如非易失性存储器单元三维交叉点阵列和NAND型快闪存储器(例如,2D NAND、3D NAND),但存储器装置130可基于任何其它类型的非易失性存储器或存储装置,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、“或非”(NOR)快闪存储器或电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(或简称为控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据,及其它这类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路以执行本文所描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。
存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令的处理器117(例如,处理装置)。在所说明实例中,存储器子系统控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程,包含处置存储器子系统110与主机系统120之间的通信。
在一些实施例中,本地存储器119可包含存储器寄存器,其存储存储器指针、所提取数据等。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然在图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本公开的另一个实施例中,存储器子系统110不包含存储器子系统控制器115,而是可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
一般来说,存储器子系统控制器115可从主机系统120接收命令或操作并且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130和/或存储器装置140的所要存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名字空间)与物理地址(例如,物理块地址、物理媒体地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统,以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换为命令指令,以存取存储器装置130和/或存储器装置140以及将与存储器装置130和/或存储器装置140相关联的响应转换为用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如DRAM)和地址电路系统(例如行解码器和列解码器),所述地址电路系统可接收来自存储器子系统控制器115的地址,且解码所述地址以存取存储器装置130和/或存储器装置140。
在一些实施例中,存储器装置130包含与存储器子系统控制器115一起操作以在存储器装置130的一或多个存储器单元上执行操作的本地媒体控制器135。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器子系统110可包含存储器存取模式选择组件113。虽然在图1中未图示以免混淆附图,但存储器存取模式选择组件113可包含各种电路系统以促进使用多个存储器存取模式中的一个执行存储器存取。如本文更详细地描述,可基于存储器存取操作中涉及的存储器单元的质量属性、存储器子系统110的年龄和/或存储器存取操作中涉及的数据的大小而选择存储器存取模式。通过在存储器子系统的不同操作条件下利用特定可选存储器存取模式,可减小存储器存取的时延,进而增加存储器子系统的处理量且改善计算系统100的总体性能。在一些实施例中,存储器存取模式选择组件113可包含呈ASIC、FPGA、状态机的形式的专用电路系统,和/或可允许存储器存取模式选择组件113安排和/或执行本文所描述的涉及存储器装置130和/或存储器装置140的操作的其它逻辑电路系统。
在一些实施例中,存储器子系统控制器115包含存储器存取模式选择组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理器117(处理装置),所述处理器经配置以执行存储在本地存储器119中的指令以用于执行本文所描述的操作。在一些实施例中,存储器存取模式选择组件113是主机系统110、应用程序或操作系统的部分。
在非限制性实例中,设备(例如,计算系统100和/或存储器子系统110)可包含存储器装置130/140和存储器存取模式选择组件113。存储器存取模式选择组件113可确定存储器装置130/140的存储器单元的一或多个质量属性。如上文所描述,质量属性可包含操作温度,来自编程擦除循环(PEC)的存储器单元磨损;物理年龄(例如,装置已在现场的月或年的数目,与PEC无关);可通过读取、写入和/或擦除操作的数量测量的工作负载,干扰效应;以及存储器子系统110中的其它错误的存在。因此,在一些实施例中,存储器装置的存储器单元的所述一或多个质量属性可包含与存储器单元相关联的编程擦除循环的数量、存储器装置的寿命阶段,或确定的存储器装置的工作负载特性,或其任何组合。
存储器存取模式选择组件113可驻留在存储器子系统110上。如本文中所使用,术语“驻留于...上”是指某物物理上位于特定组件上。举例来说,存储器存取模式选择组件113“驻留在存储器子系统110上”是指包括存储器存取模式选择组件113的硬件电路系统在物理上位于存储器子系统110上的条件。术语“驻留于...上”可在本文中与例如“部署在...上”或“位于...上”的其它术语互换使用。
在一些实施例中,存储器存取模式选择组件113可接收涉及存储器单元集合的存储器存取请求(例如,指示存储器存取操作的执行的信令),且至少部分地基于接收的存储器存取请求而确定存储器存取操作的执行是涉及随机读取操作还是顺序读取操作。存储器存取模式选择组件113可至少部分地基于存储器单元集合的所述一或多个质量属性大于阈值质量水平以及存储器存取操作的执行是涉及随机读取操作还是顺序读取操作而确定要发出的特定存储器存取命令以从存储器单元的至少一部分(例如,存储器单元集合,例如本文图2所示的存储器单元235-1到235-N的集合)检索数据,且执行存储器存取操作以从存储器单元的至少所述部分检索数据。
在一些实施例中,存储器存取模式选择组件113可在约三十(30)微秒或更短(例如,30微秒、25微秒等)的时间内执行存储器存取。即,与大体上在约四十(40)微秒或更多的时间内执行的常规存储器存取操作相比,存储器存取模式选择组件113可在约三十(30)微秒或更短(例如,30微秒、25微秒等)的时间内执行存储器存取。此外,在一些实施例中,特定存储器存取命令可对应于特定存储器存取模式,例如上文结合表1描述的第一存储器存取模式或第二存储器存取模式。
继续此实例,当存储器单元的所述一或多个质量属性大于阈值质量水平时且当存储器存取操作涉及随机读取操作时,存储器单元的部分可包含比存储器装置130/140的页大小少的存储器单元。在此类实施例中,存储器存取模式选择组件113可执行存储器存取操作以从存储器单元的部分检索数据。即,基于特定选择的存储器存取命令(例如,选择的存储器存取模式),存储器存取模式选择组件113可检索具有小于存储器装置130/140的页大小(例如,小于16千字节(KB))的大小的数据。
实施例不受如此限制,且在一些实施例中,当存储器单元集合的所述一或多个质量属性小于阈值质量水平时或当存储器存取操作涉及顺序读取操作时或这两者,存储器单元的部分可为存储器装置130/140的页大小。在此类实施例中,存储器存取模式选择组件113可执行存储器存取操作以从存储器单元的部分检索数据。
继续此实例,存储器存取模式选择组件113可至少部分地基于确定的存储器单元的质量属性大于阈值质量水平和/或确定指示存储器存取操作执行的信令对应于随机读取操作而增加(例如,放松)存储器单元集合的所允许原始位错误率(RBER)(如上文结合表1所描述)。
在一些实施例中,特定存储器存取命令可选自至少三个存储器存取命令当中,所述至少三个存储器存取命令各自具有与其对应的相异的修整集合且所述至少三个存储器存取命令中的每一个具有与其关联的不同原始位错误率(RBER)容限。举例来说,一个存储器存取命令可具有“正常”RBER容限(例如,当在标准操作模式中操作时与存储器子系统110相关联的RBER要求),而另一存储器存取命令可具有放松的RBER容限(例如,系统RBER要求)使得至少在一或多个存储器存取的执行期间存储器子系统110容许较高RBER。
图2说明根据本公开的一些实施例的实例存储器子系统110的方面。如图2所示,存储器子系统110可包含可类似于图1所示的存储器存取模式选择组件113的存储器存取模式选择组件113,以及可类似于图1所示的存储器装置130或存储器装置140的存储器装置231。存储器装置231可包含存储器单元页233-1到233-M,其可进一步划分成存储器单元集合235-1到235-N。虽然存储器单元集合235-1到235-M在存储器单元页233-1内显式地说明,但将了解,存储器单元页233-M可类似地包含存储器单元集合。存储器单元集合235-1到235-N可为NAND存储器单元,但实施例不受如此限制。在一些实施例中,存储器子系统110,且因此处理装置和存储器装置231,可驻留在例如智能手机、膝上型计算机、平板手机、物联网装置、自主车辆等等移动计算装置上。如本文中所使用,术语“移动计算装置”通常是指具有平板或平板手机形状因子的手持计算装置。通常,平板形状因子可包含约3英寸与5.2英寸(对角测量)之间的显示屏,而平板手机形状因子可包含约5.2英寸与7英寸(对角测量)之间的显示屏。然而,“移动计算装置”的实例不限于此,且在一些实施例中,“移动计算装置”可指IoT装置,以及其它类型的边缘计算装置。
多个存储器存取模式可与存储器存取模式选择组件113相关联。即,如图2所示,存储器存取模式选择组件可存储对应于第一存储器存取模式221、第二存储器存取模式223和第三存储器存取模式225中的每一个的一或多个指令集。第一存储器存取模式221、第二存储器存取模式223和第三存储器存取模式225可类似于上文结合表1描述的第一存储器存取模式、第二存储器存取模式和第三存储器存取模式。另外,虽然示出为三个相异的存储器存取模式,但在本公开的范围内预期少于或大于三个存储器存取模式。
在非限制性实例中,存储器装置231可包含多个NAND存储器单元(例如,单元集合235-1到235-N)。处理装置(例如,存储器存取模式选择组件113)可经由例如通信路径227耦合到存储器装置231。处理装置可执行各种操作,例如确定NAND存储器单元当中的存储器单元集合235-1到235-N的一或多个质量属性。在一些实施例中,存储器单元集合235-1到235-N包含比存储器装置231的页大小(例如,单元页233-1到233-M中的每一个内的存储器单元的数量)少的存储器单元。处理装置可执行操作,包含接收指示涉及存储器单元集合235-1到235-N的存储器存取的信令。在一些实施例中,所述信令可从存储器装置231外部的电路系统接收,例如从存储器子系统110的其它组件(上文结合图2描述)和/或从例如本文图1所示的主机系统120的主机系统接收。
处理装置可执行操作,包含确定指示存储器存取的信令是对应于随机读取操作还是顺序读取操作,且响应于确定指示存储器存取的信令对应于随机读取操作和/或响应于确定存储器单元集合的所述一或多个质量属性大于阈值质量水平,选择用于执行随机读取操作的特定读取模式。处理装置可进一步执行操作,包含使用选择的读取模式执行随机读取操作。选择的读取模式可为第一存储器存取模式221或第二存储器存取模式223中的一个。在一些实施例中,特定读取模式选自各自具有与其对应的相异修整集合的至少三个读取模式当中,且所述至少三个读取模式中的每一个具有与其相关联的不同原始位错误率(RBER)容限。
继续此实例,处理装置将执行操作,包含确定涉及在使用选择的读取模式执行随机读取操作中请求的数据的错误发生,且响应于确定错误发生而选择不同读取模式用于执行随机读取操作。处理装置可进一步执行操作,包含使用所述不同选择的读取模式执行随机读取操作。在至少一个实施例中,选择的读取模式可为第一存储器存取模式221,且所述不同选择的读取模式可为第二存储器存取模式223。
在一些实施例中,处理装置将执行操作,包含响应于确定指示存储器存取的信令对应于顺序读取操作和/或响应于确定存储器单元集合的所述一或多个质量属性大于阈值质量水平而选择不同读取模式用于执行顺序读取操作。处理装置可随后执行操作,包含使用选择的不同读取模式执行顺序读取操作。在此实例中,所述不同读取模式可为第三存储器存取模式225。
在一些实施例中,处理装置可执行操作,包含至少部分地基于存储器单元集合235-1到235-N的所确定质量属性大于阈值质量水平和/或确定指示存储器存取的信令对应于随机读取操作而增加存储器单元集合235-1到235-N的所允许原始位错误率(RBER)。即,如上文所描述,处理装置可促进在至少一些存储器存取操作的执行期间放松系统RBER要求。这可与并不允许在执行存储器存取操作期间放松系统RBER要求的方法相比改善处理量且减少存储器存取时延,这又可改善存储器子系统110的性能。
图3是根据本公开的一些实施例的对应于存储器存取模式选择的流程图340。过程流程340可由处理逻辑进行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,过程流程340由图1的存储器存取模式选择组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
过程流程340分为三个部分,其由竖直虚线分离。所述三个部分中的每一个对应于存储器子系统(例如,本文图1和图2所示的存储器子系统110)和/或存储器装置(例如,本文图1所示的存储器装置130/140和/或图2所示的存储器装置231)在操作期间可经历的不同情境。举例来说,过程流程340的最左部分对应于其中存储器装置的存储器单元的质量属性大于阈值(例如,阈值质量水平)和/或存储器子系统和/或存储器装置处于寿命的BOL阶段的情境。过程流程340的中心部分对应于其中在使用第一存储器存取模式(例如,上文结合表1所论述的第一存储器存取模式)执行存储器存取操作期间已检测到失败的情境。最后,过程流程340的最右部分对应于其中质量属性小于阈值(例如,阈值质量水平)和/或存储器子系统和/或存储器装置处于寿命的EOL阶段的情境。
当存储器装置的存储器单元的质量属性大于阈值质量和/或存储器子系统和/或存储器装置处于寿命的BOL阶段时,在操作341处,可选择第一存储器存取模式用于执行存储器存取操作且可将对应于第一存储器存取模式的修整集合例如加载到高速缓存或存储器存取模式选择组件(例如,本文图1和图2所示的存储器存取模式选择组件113)可存取的其它存储位置中。第一存储器存取模式可类似于上文结合图2描述的第一存储器存取模式221。
在操作342处,可使用第一存储器存取模式执行存储器存取操作。在一些实施例中,通过本文图1和图2所示的存储器存取模式选择组件113促进存储器存取操作的执行。在操作343处,可作出关于存储器存取操作(例如,读取操作)是否成功的确定。即,可作出关于在存储器存取操作的执行中检索的数据是否成功地解码的确定。如果存储器存取操作通过此检查,那么在操作344处,存储器子系统可继续使用第一存储器存取模式且过程流程340可返回到操作342。
然而,如果存储器存取操作未通过此检查,那么在操作345处,存储器存取模式选择组件可切换到第二存储器存取模式(例如,图2所示的第二存储器存取模式223,且可使用第二存储器存取模式重试存储器存取操作。在操作346处,可作出关于使用第二存储器存取模式的存储器存取操作是否成功的确定。如果使用第二存储器存取模式的存储器存取操作成功,那么过程流程340可返回到操作342且可使用第一存储器存取模式执行后续存储器存取操作。
然而,如果使用第二存储器存取模式的存储器存取操作不成功,那么在操作347处,可针对存储器子系统和/或存储器装置启用粘滞读取模式。如本文中所使用,“粘滞读取”操作通常是指当针对多个连续读取操作使用特定参数(例如,特定阈值电压、应用于默认阈值电压的特定读取偏移等)并且所述特定参数与同存储器子系统相关联的默认参数(例如,默认读取设置、校准读取设置等)不同时使用所述特定参数进行的读取操作。“粘滞读取模式”通常是指存储器子系统的操作模式,在所述操作模式期间,当针对多个连续读取操作使用特定参数并且所述特定参数与同存储器子系统相关联的默认参数或校准参数不同时使用所述特定参数进行读取操作。本文中描述关于特定参数、阈值电压、读取偏移、默认参数、默认读取设置、校准读取设置等的其它细节。
现在转而参看图3的最右部分,当质量属性小于阈值(例如,阈值质量水平)和/或存储器子系统和/或存储器装置处于寿命的EOL阶段时,在操作348处,可执行涉及存储器子系统和/或存储器装置的媒体扫描。媒体扫描可为背景媒体扫描,但实施例不受如此限制。媒体扫描可从存储器装置的部分读取数据且确定在媒体扫描的执行期间数据读取的RBER。
在操作349处,可基于从媒体扫描的执行搜集的信息作出检测到的RBER是否大于存储器装置的阈值RBER(例如,系统RBER要求)的确定。如果确定RBER不大于阈值(例如,RBER小于阈值),那么过程流程可返回到操作341且可选择第一存储器模式。然而,如果确定RBER大于阈值,那么在操作350处,可选择第二存储器存取模式(且可将对应修整集合例如加载到高速缓存或存储器存取模式选择组件可存取的其它存储位置),且在操作351处,可使用第二存储器存取模式执行存储器存取操作。
图4是根据本公开的一些实施例的对应于用于存储器存取模式选择的方法460的流程图。方法460可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法460由图1的存储器存取模式选择组件113执行虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作461处,可确定存储器装置的存储器单元的一或多个质量属性。存储器单元集合可类似于本文图2所示的存储器单元集合235-1到235-N中的一或多个,而存储器装置可类似于本文图2所示的存储器装置231。如上文所描述,在一些实施例中,存储器单元的所确定质量属性可包含用于存储器单元的编程擦除循环的数量。
在操作463处,可接收涉及写入到存储器单元的至少一部分的数据的存储器存取请求。在一些实施例中,存储器存取请求可由处理装置(例如,本文图1所示的存储器存取模式选择组件113)从主机计算装置(例如,本文图1所示的主机系统120)接收。
在操作465处,可作出关于存储器存取请求是对应于随机读取操作还是顺序读取操作的确定。如上文结合表1所描述,可在约三十微秒或更短的时间内执行随机读取操作。即,可使用上文描述的第一存储器存取模式或第二存储器存取模式执行随机读取操作。
在操作467处,可选择用于执行随机读取操作的读取模式。读取模式可对应于上文结合表1描述的存储器存取模式中的一个。在一些实施例中,响应于存储器存取请求对应于随机读取操作的确定和/或响应于存储器单元的所述一或多个质量属性大于阈值质量水平的确定而选择读取模式。
在操作469处,可执行使用选择的读取模式的随机读取操作。如上文所描述,使用选择的读取模式的随机读取操作可由本文图1所示的存储器存取模式选择组件113执行,且可进一步涉及请求的数据向主机计算装置的传送。在一些实施例中,可执行使用选择的读取模式的随机读取操作以感测写入到存储器单元集合的数据,所述存储器单元集合可包含比存储器装置的页大小少的存储器单元。然而,实施例不受如此限制,且在一些实施例中,可执行使用选择的读取模式的随机读取操作以感测写入到多个存储器单元集合的数据,所述多个存储器单元集合可含有等于或小于存储器装置的页大小的存储器单元的数量。
在一些实施例中,可执行至少部分地基于存储器单元集合的所确定质量属性大于阈值质量水平和/或确定存储器存取请求对应于随机读取操作而增加存储器单元集合的所允许原始位错误率(RBER)的操作。
响应于确定存储器存取请求对应于顺序读取操作和/或响应于确定存储器单元的所述一或多个质量属性大于阈值质量水平,可选择用于执行顺序读取操作的不同读取模式,且可使用选择的不同读取模式执行顺序读取操作。
在一些实施例中,确定涉及在使用选择的读取模式执行随机读取操作中请求的数据的错误已发生。在此类情境中,可选择用于执行随机读取操作的不同读取模式,且可使用不同选择的读取模式执行随机读取操作,如本文结合图3更详细论述。
图5是其中本公开的实施例可操作的实例计算机系统500的框图。举例来说,图5说明计算机系统500的实例机器,在所述计算机系统内可执行用于使机器进行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统500可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120)或可用于进行控制器的操作(例如,执行操作系统以进行对应于图1的错误恢复操作组件113的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定待由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等动态随机存取存储器(DRAM))、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储装置518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置502经配置以执行指令526,以用于执行本文中所论述的操作和步骤。计算机系统500可进一步包含网络接口装置508以经由网络520通信。
数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),其上存储有一或多个指令集526或体现本文中所描述的方法或功能中的任一或多种的软件。指令526还可在由计算机系统500执行期间完全或至少部分地驻留在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含用以实施对应于存储器存取模式选择组件(例如,图1的存储器存取模式选择组件113)的功能性的指令。虽然在实例实施例中将机器可读存储媒体524展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可指将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操控和变换为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令并且各自耦合到计算机系统总线的任何类型的媒体。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有可以用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。
Claims (20)
1.一种用于存储器存取模式选择的方法,其包括:
确定存储器装置(130,140,231)的存储器单元(233-1到233-M,235-1到235-N)的一或多个质量属性;
接收涉及写入到存储器单元(233-1到233-M,235-1到235-N)的至少一部分的数据的存储器存取请求;
确定所述存储器存取请求是对应于随机读取操作还是顺序读取操作;
响应于确定所述存储器存取请求对应于随机读取操作或响应于确定存储器单元(233-1到233-M,235-1到235-N)的所述一或多个质量属性大于阈值质量水平或这两者,选择读取模式(221,223,225)用于执行所述随机读取操作;以及
使用所述选择的读取模式(221,223,225)执行所述随机读取操作。
2.根据权利要求1所述的方法,其进一步包括使用所述选择的读取模式执行所述随机读取操作以感测写入到至少所述存储器单元的集合的数据,其中所述存储器单元的所述集合包括比所述存储器装置的页大小少的存储器单元。
3.根据权利要求1所述的方法,其进一步包括至少部分地基于所述存储器单元集合的所述所确定质量属性大于所述阈值质量水平或确定所述存储器存取请求对应于所述随机读取操作或这两者而增加所述存储器单元集合的所允许原始位错误率(RBER)。
4.根据权利要求1所述的方法,其中确定所述存储器单元的所述一或多个质量属性进一步包括确定用于所述存储器单元的编程擦除循环的数量。
5.根据权利要求1到4中任一权利要求所述的方法,其进一步包括:
响应于确定所述存储器存取请求对应于所述顺序读取操作或响应于确定所述存储器单元的所述一或多个质量属性大于阈值质量水平或这两者,选择不同读取模式(221,223,225)用于执行所述顺序读取操作;以及
使用所述选择的不同读取模式(221,223,225)执行所述顺序读取操作。
6.根据权利要求1到4中任一权利要求所述的方法,其中执行所述随机读取操作进一步包括在约三十微秒或更短的时间内执行所述随机读取操作。
7.根据权利要求1到4中任一权利要求所述的方法,其进一步包括:
确定涉及在使用所述选择的读取模式执行所述随机读取操作中请求的数据的错误发生;
响应于确定所述错误发生,选择不同读取模式用于执行所述随机读取操作;以及
使用所述不同选择的读取模式执行所述随机读取操作。
8.一种用于存储器存取模式选择的设备,其包括:
存储器装置(130,140,231);以及
存储器存取模式选择组件(113),其耦合到所述存储器装置(130,140,231),其中所述存储器存取模式选择组件(113)将:
确定所述存储器装置(130,140,231)的存储器单元(233-1到233-M,235-1到235-N)的一或多个质量属性;
接收涉及所述存储器单元的存储器存取请求;
至少部分地基于所述接收的存储器存取请求而确定所述存储器存取操作的执行是涉及随机读取操作还是顺序读取操作;
至少部分地基于所述存储器单元的所述一或多个质量属性大于阈值质量水平以及所述存储器存取操作的执行是涉及所述随机读取操作还是所述顺序读取操作而确定要发出的特定存储器存取命令以从所述存储器单元的至少一部分检索数据;以及
执行所述存储器存取操作以从所述存储器单元的至少所述部分检索所述数据。
9.根据权利要求8所述的设备,其中:
当所述存储器单元的所述一或多个质量属性大于所述阈值质量水平时且当所述存储器存取操作涉及所述随机读取操作时,所述存储器单元的所述部分包括比所述存储器装置的页大小少的存储器单元,且
所述存储器存取模式选择组件将执行所述存储器存取操作以从所述存储器单元的所述部分检索所述数据。
10.根据权利要求9所述的设备,其中所述存储器存取模式选择组件将在约三十微秒或更短的时间内执行所述存储器存取。
11.根据权利要求8到9中任一权利要求所述的设备,其中:
当所述存储器单元的所述一或多个质量属性小于所述阈值质量水平时或当所述存储器存取操作涉及所述顺序读取操作时或这两者,所述存储器单元的所述部分包括所述存储器装置的页大小,且
所述存储器存取模式选择组件将执行所述存储器存取操作以从所述存储器单元的所述部分检索所述数据。
12.根据权利要求8到9中任一权利要求所述的设备,其中所述存储器存取模式选择组件将至少部分地基于所述存储器单元的所述所确定质量属性大于所述阈值质量水平或确定指示所述存储器存取操作的执行的信令对应于所述随机读取操作或这两者而增加所述存储器单元的所允许原始位错误率(RBER)。
13.根据权利要求8到9中任一权利要求所述的设备,其中:
所述特定存储器存取命令是选自至少三个存储器存取命令(221,223,225),所述至少三个存储器存取命令各自具有与其对应的相异的修整集合,且
所述至少三个存储器存取命令(221,223,225)中的每一个具有与其关联的不同的原始位错误率(RBER)容限。
14.根据权利要求8到9中任一权利要求所述的设备,其中所述存储器装置的所述存储器单元的所述一或多个质量属性包含与所述存储器单元相关联的编程擦除循环的数量、所述存储器装置的寿命阶段,或所述存储器装置的所确定工作负载特性,或其任何组合。
15.一种用于存储器存取模式选择的系统,其包括:
存储器装置(130,231),其包括多个NAND存储器单元(233-1到233-M,235-1到235-N);以及
处理装置(113,117),其耦合到所述存储器装置(130,231),所述处理装置(113,117)将执行包括以下各项的操作:
确定所述多个NAND存储器单元(233-1到233-M,235-1到235-N)当中的存储器单元集合(233-1到233-M,235-1到235-N)的一或多个质量属性,其中所述存储器单元集合(233-1到233-M,235-1到235-N)包括比所述存储器装置(130,231)的页大小(233-1到233-M)少的存储器单元;
接收指示涉及所述存储器单元集合(233-1到233-M,235-1到235-N)的存储器存取的信令;
确定指示所述存储器存取的所述信令是对应于随机读取操作还是顺序读取操作;
响应于确定指示所述存储器存取的所述信令对应于所述随机读取操作或响应于确定所述存储器单元集合的所述一或多个质量属性大于阈值质量水平或这两者,选择特定读取模式(231,233,235)用于执行所述随机读取操作;以及
使用所述选择的读取模式(231,233,235)执行所述随机读取操作。
16.根据权利要求15所述的系统,其中所述处理装置将执行包括以下各项的操作:
确定涉及在使用所述选择的读取模式执行所述随机读取操作中请求的数据的错误发生;
响应于确定所述错误发生,选择不同读取模式(231,233,235)用于执行所述随机读取操作;以及
使用所述不同选择的读取模式(231,233,235)执行所述随机读取操作。
17.根据权利要求15所述的系统,其中所述处理装置将执行包括以下各项的操作:
响应于确定指示所述存储器存取的所述信令对应于顺序读取操作或响应于确定所述存储器单元集合的所述一或多个质量属性大于阈值质量水平或这两者,选择不同读取模式(231,233,235)用于执行所述顺序读取操作;以及
使用所述选择的不同读取模式(231,233,235)执行所述顺序读取操作。
18.根据权利要求15到17中任一权利要求所述的系统,其中所述处理装置将执行包括以下的操作:至少部分地基于所述存储器单元集合的所述所确定质量属性大于所述阈值质量水平或确定指示所述存储器存取的所述信令对应于所述随机读取操作或这两者而增加所述存储器单元集合的所允许的原始位错误率(RBER)。
19.根据权利要求15到17中任一权利要求所述的系统,其中:
所述特定读取模式是选自至少三个读取模式(231,233,235),所述至少三个读取模式各自具有与其对应的相异的修整集合,且
所述至少三个读取模式(231,233,235)中的每一个具有与其相关联的不同的原始位错误率(RBER)容限。
20.根据权利要求15到17中任一权利要求所述的系统,其中所述存储器装置和所述处理装置驻留在移动计算装置上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/357,436 | 2021-06-24 | ||
US17/357,436 US11726671B2 (en) | 2021-06-24 | 2021-06-24 | Memory access mode selection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115525215A true CN115525215A (zh) | 2022-12-27 |
Family
ID=84540985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210705426.1A Pending CN115525215A (zh) | 2021-06-24 | 2022-06-21 | 存储器存取模式选择 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11726671B2 (zh) |
CN (1) | CN115525215A (zh) |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1313403B1 (it) * | 1999-12-21 | 2002-07-23 | St Microelectronics Srl | Circuito di selezione e deselezione di linee di memoria in lettureveloci |
US7024571B1 (en) * | 2002-08-15 | 2006-04-04 | Network Appliance, Inc. | Conversion card and method to convert a general purpose personal computer into a dedicated mass storage appliance |
CN101167189B (zh) * | 2005-04-27 | 2013-09-18 | 株式会社半导体能源研究所 | 半导体器件的制造方法 |
JP4933211B2 (ja) * | 2006-10-10 | 2012-05-16 | 株式会社日立製作所 | ストレージ装置、制御装置及び制御方法 |
US7990648B1 (en) * | 2009-12-09 | 2011-08-02 | Western Digital Technologies, Inc. | Disk drive margining read channel using predictable disturbance samples generated as a function of a written pattern |
JP2013149008A (ja) * | 2012-01-18 | 2013-08-01 | Sony Corp | 電子機器とデータ転送制御方法およびプログラム |
US9606730B2 (en) * | 2012-05-04 | 2017-03-28 | Samsung Electronics Co., Ltd. | System and method including three dimensional nonvolatile memory device and random access memory |
US8853818B2 (en) | 2013-02-20 | 2014-10-07 | Macronix International Co., Ltd. | 3D NAND flash memory |
CN103915119B (zh) * | 2013-07-11 | 2017-02-15 | 威盛电子股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
US9569119B2 (en) * | 2014-09-04 | 2017-02-14 | National Instruments Corporation | Self-addressing memory |
US10409526B2 (en) | 2014-12-17 | 2019-09-10 | Violin Systems Llc | Adaptive garbage collection |
US9583160B1 (en) * | 2015-09-04 | 2017-02-28 | Micron Technology, Inc. | Apparatuses including multiple read modes and methods for same |
US9858009B2 (en) | 2015-10-26 | 2018-01-02 | Sandisk Technologies Llc | Data folding in 3D nonvolatile memory |
US10509597B2 (en) * | 2018-01-02 | 2019-12-17 | Intel Corporation | Memory block access modes for a storage device |
US11188416B2 (en) * | 2018-07-12 | 2021-11-30 | Micron Technology, Inc. | Enhanced block management for a memory sub-system |
US11138068B2 (en) * | 2018-07-12 | 2021-10-05 | Micron Technology, Inc. | Memory sub-system codeword quality metrics streaming |
US11132247B2 (en) * | 2018-07-30 | 2021-09-28 | Micron Technology, Inc. | Selective bad block untag and bad block reuse |
JP2020035128A (ja) * | 2018-08-29 | 2020-03-05 | キオクシア株式会社 | メモリシステム |
TWI749279B (zh) * | 2018-12-18 | 2021-12-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US11526302B2 (en) * | 2019-06-20 | 2022-12-13 | AI Plus, Inc. | Memory module and computing device containing the memory module |
KR20210112872A (ko) * | 2020-03-06 | 2021-09-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
-
2021
- 2021-06-24 US US17/357,436 patent/US11726671B2/en active Active
-
2022
- 2022-06-21 CN CN202210705426.1A patent/CN115525215A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220413714A1 (en) | 2022-12-29 |
US11726671B2 (en) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11682446B2 (en) | Selective wordline scans based on a data state metric | |
CN113168292B (zh) | 将数据重定位到低时延存储器 | |
US11880275B2 (en) | Memory device activity-based copying defect management data | |
US11934268B2 (en) | Memory sub-system using partial superblocks | |
US11762767B2 (en) | Storing highly read data at low impact read disturb pages of a memory device | |
US12009042B2 (en) | Executing a refresh operation in a memory sub-system | |
US11733892B2 (en) | Partial superblock memory management | |
CN114596889A (zh) | 管理概率数据完整性扫描间隔 | |
US20230197157A1 (en) | Adaptive read-retry offset based on word line groups for systems | |
CN114639413A (zh) | 错误恢复操作 | |
US11726671B2 (en) | Memory access mode selection | |
US11670376B2 (en) | Erasing partially-programmed memory unit | |
US12051479B2 (en) | Memory block programming using defectivity information | |
US12019888B2 (en) | Deferred zone adjustment in zone memory system | |
US12001721B2 (en) | Multiple-pass programming of memory cells using temporary parity generation | |
US11599300B2 (en) | Voltage threshold prediction-based memory management | |
US20230207028A1 (en) | Managing an adaptive data path selection threshold for a memory sub-system | |
US20240038311A1 (en) | Reliability based data verification | |
CN115273925A (zh) | 存储器子系统刷新 | |
CN113126899A (zh) | 完全多平面操作启用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |