CN112148520A - 用于数据存储装置的二维可缩放通用存储格式 - Google Patents
用于数据存储装置的二维可缩放通用存储格式 Download PDFInfo
- Publication number
- CN112148520A CN112148520A CN202010196174.5A CN202010196174A CN112148520A CN 112148520 A CN112148520 A CN 112148520A CN 202010196174 A CN202010196174 A CN 202010196174A CN 112148520 A CN112148520 A CN 112148520A
- Authority
- CN
- China
- Prior art keywords
- storage
- storage format
- format
- page
- nvm
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 590
- 238000013500 data storage Methods 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000012937 correction Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 46
- 230000008569 process Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 239000007787 solid Substances 0.000 description 9
- 230000003247 decreasing effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 206010011906 Death Diseases 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000011112 process operation Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B2020/1218—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
- G11B2020/1238—Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1291—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting serves a specific purpose
- G11B2020/1292—Enhancement of the total storage capacity
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
在各种方面中,本公开描述供包含非易失性存储器(NVM)的控制器的数据存储装置使用的一种或多种技术。在一个实例中,所述控制器将默认存储格式应用于所述NVM的存储区域,所述默认存储格式将所述存储区域配置为逻辑上沿着水平维度和竖直维度布置的若干相异存储区域。所述控制器基于所述存储区域的性能能力使用水平维度缩放和竖直维度缩放的组合修改所述默认存储格式以获得修改后的存储格式。所述控制器将所述修改后的存储格式应用于所述存储区域。
Description
技术领域
本公开在各种实施例中涉及数据存储装置。更确切地说,本公开涉及一种用于数据存储装置的二维可缩放通用存储格式。
背景技术
例如固态装置(SSD)或硬盘驱动器(HDD)等数据存储装置可包含非易失性存储器(NVM)。NVM可包含例如NAND快闪存储器等一个或多个快闪存储器装置。归因于在从NAND快闪存储器读取或写入数据时发生的高错误率,可使用错误校正程序(例如,错误校正码(ECC)和算法)来改进SSD可靠性和数据完整性。然而,在一些情况下,错误校正程序应用于NAND快闪存储器的方式可能使SSD的性能和耐久性降低。
发明内容
本公开的一个方面提供一种数据存储设备。在一个实例中,数据存储设备包括非易失性存储器(NVM)和耦合到NVM的处理器。处理器配置成:将默认存储格式应用于NVM的存储区域,所述默认存储格式将存储区域配置为逻辑上沿着水平维度和竖直维度布置的若干相异存储区域;基于存储区域的性能能力使用水平维度缩放和竖直维度缩放的组合修改默认存储格式以获得修改后的存储格式;以及将修改后的存储格式应用于存储区域。
本公开的另一方面提供一种数据存储设备。在一个实例中,数据存储设备包括:用于将默认存储格式应用于NVM的存储区域的构件,所述默认存储格式将存储区域配置为逻辑上沿着水平维度和竖直维度布置的若干相异存储区域;用于基于存储区域的性能能力使用水平维度缩放和竖直维度缩放的组合修改默认存储格式以获得修改后的存储格式的构件;以及用于将修改后的存储格式应用于存储区域的构件。
本公开的另一方面提供一种操作数据存储设备的方法。在一个实例中,所述方法包含:将默认存储格式应用于NVM的存储区域,所述默认存储格式将存储区域配置为逻辑上沿着水平维度和竖直维度布置的若干相异存储区域;基于存储区域的性能能力使用水平维度缩放和竖直维度缩放的组合修改默认存储格式以获得修改后的存储格式;以及将修改后的存储格式应用于存储区域。
本公开的另一方面提供一种数据存储设备。在一个实例中,所述数据存储设备包括NVM和耦合到NVM的处理器。所述处理器配置成:将第一存储格式应用于NVM中的块的页,其中所述存储格式将所述页配置为第一数目的逻辑页;当页的误码率超出阈值时确定所述页的第二存储格式,其中所述第二存储格式将所述页配置为第二数目的逻辑页,所述第二数目的逻辑页少于所述第一数目的逻辑页;以及将第二存储格式应用于所述页。
本公开的另一方面提供一种数据存储设备。在一个实例中,数据存储设备包括:用于将第一存储格式应用于NVM中的块的页的构件,其中所述存储格式将所述页配置为第一数目的逻辑页;用于在页的误码率超出阈值时确定所述页的第二存储格式的构件,其中所述第二存储格式将所述页配置为第二数目的逻辑页,所述第二数目的逻辑页少于所述第一数目的逻辑页;以及用于将第二存储格式应用于所述页的构件。
本公开的另一方面提供一种操作数据存储设备的方法。在一个实例中,所述方法包含:将第一存储格式应用于NVM中的块的页,其中所述存储格式将所述页配置为第一数目的逻辑页;当页的误码率超出阈值时确定所述页的第二存储格式,其中所述第二存储格式将所述页配置为第二数目的逻辑页,所述第二数目的逻辑页少于所述第一数目的逻辑页;以及将第二存储格式应用于所述页。
本公开的另一方面提供一种数据存储设备。在一个实例中,数据存储设备包括NVM和耦合到NVM的处理器。所述处理器配置成:监视NVM的多个存储区域的误码率,所述多个存储区域中的每一个具有存储格式;识别所述多个存储区域中的具有超出阈值的误码率的一个或多个存储区域;以及动态地缩放所述多个存储区域中的所述一个或多个的存储格式以减小所述多个存储区域中的所述一个或多个的误码率。
本公开的另一方面提供一种数据存储设备。在一个实例中,数据存储设备包括:NVM,其包括多个存储区域;用于监视所述NVM的多个存储区域的误码率的构件,所述多个存储区域中的每一个具有存储格式;用于识别所述多个存储区域中的具有超出阈值的误码率的一个或多个存储区域的构件;以及用于动态地缩放所述多个存储区域中的所述一个或多个的存储格式以减小所述多个存储区域中的所述一个或多个的误码率的构件。
本公开的另一方面提供一种操作数据存储设备的方法。在一个实例中,所述方法包含:监视NVM的多个存储区域的误码率,所述多个存储区域中的每一个具有存储格式;识别所述多个存储区域中的具有超出阈值的误码率的一个或多个存储区域;以及动态地缩放所述多个存储区域中的所述一个或多个的存储格式以减小所述多个存储区域中的所述一个或多个的误码率。
附图说明
下文参考附图中示出的特定实施例包含更具体的描述。应理解,这些图式仅描绘了本公开的某些实施例,因此不应被认为是对其范围的限制,通过使用附图,以额外的特征和细节来描述和阐释本公开,在附图中:
图1是根据本公开的各方面包含示例性数据存储系统的系统的框图。
图2示出根据本发明的各方面与主机装置通信的SSD。
图3示出根据本发明的各方面可应用于非易失性存储器(NVM)的页的存储空间分配的第一实例。
图4示出根据本发明的各方面可应用于NVM的页的存储空间分配的第二实例。
图5示出可由存储格式控制装置应用于NVM的页的实例存储格式。
图6示出根据本发明的各方面可应用于NVM的页的经水平缩放的单层级单元(SLC)存储格式的实例。
图7示出根据本发明的各方面可应用于NVM的页的经水平缩放的SLC存储格式的实例。
图8(包含图8A到8E)示出根据本发明的各方面的NVM的存储格式的实例。
图9示出根据本发明的各方面指示可应用于NVM的页的示例存储格式的示例性图式。
图10(包含图10A和10B)示出根据本公开的一个或多个方面的示例磁性存储介质。
图11示出根据本公开的一个或多个方面的设备的实施例。
图12大致概述供SSD的控制器使用的示例性操作。
图13大致概述供SSD的控制器使用的示例性操作。
图14大致概述供SSD的控制器使用的示例性操作。
具体实施方式
在以下详细描述中,参考附图,附图形成描述内容的一部分。除了上文描述的说明性方面、实施例和特征之外,通过参考图式以及以下详细描述,另外的方面、实施例和特征将变得显而易见。每个图式中的元件的描述可以参考前述图式的元件。在图式中相似的数字可以指代相似的元件,包含相似元件的替代实施例。
概观
例如固态装置(SSD)等数据存储系统可包含数据存储管理系统来改进数据存储系统中使用的非易失性存储器(NVM)(例如,NAND快闪存储器)的性能和耐久性。举例来说,数据存储管理系统可在存储数据位(也称为用户位)集合时应用特定错误校正码(ECC)速率。这可通过将若干奇偶校验位(也称为ECC位)添加到用户位集合以形成码字来实现。举例来说,n个ECC字节可添加到m个数据字节以产生具有m+n个字节的码字。码字中的奇偶校验位可用于校正码字中的错误的用户位。
在一些数据存储管理系统中,ECC速率在数据存储系统的寿命期间是固定的(也称为固定ECC(FECC))。此FECC可设计成在寿命终止时为NVM的误码率(BER)递送指定扇区失败率(SFR)。举例来说,NVM的寿命终止可能受NVM的一部分(例如,NAND闪存块中的页)的BER限制。此外,NVM的寿命终止可能受NVM的若干离群区域(例如,NAND闪存块)限制。举例来说,NVM的此类离群区域可包含具有超出NVM中的大多数(或所有)NAND闪存块的平均BER的BER的一个或多个NAND闪存块。归因于离群区域的高失效位计数(fail bit count,FBC),NVM的这些离群区域不大可能以由数据存储管理系统应用的默认FECC来恢复。FBC指示错误用户位(也称为失效用户位)的计数,例如当被存储时或在写入或读取操作期间值错误地改变的位。
在一些情境中,高级耗损均衡算法可调换出或引退NVM的离群区域(例如,识别为不良块的NAND闪存块)。然而,这可能削弱数据存储系统中的过设计(overprovisioning),且可能危及数据存储系统的总体性能和持久性。
为了解决这些问题,本公开提供一种用于数据存储系统的二维可缩放通用存储格式。在一个方面中,此可体现在包含非易失性存储器(NVM)和耦合到NVM的处理器的数据存储设备中。处理器可配置成:将默认存储格式应用于NVM的存储区域,所述默认存储格式将存储区域配置为逻辑上沿着水平维度和竖直维度布置的若干相异存储区域;基于存储区域的性能能力使用水平维度缩放和竖直维度缩放的组合修改默认存储格式以获得修改后的存储格式;以及将修改后的存储格式应用于存储区域。在一个方面中,性能能力可涉及BER,且数据存储设备可将缩放应用于NVM中的存储区域以实现防止将一个或多个存储区域视为不可用的BER,借此改进NVM的耐久性。此外,通过缩小存储区域(例如,页)的存储格式来改进页的可靠性,可了解,还可改进页的读取/写入性能(例如,解码速度)。本文提供的方法可应用于固态装置(SSD)和硬盘驱动器(HDD)两者。
示例数据存储系统
图1示出数据存储系统100的实施例,数据存储系统100包含主机装置102和以通信方式耦合到主机装置102的数据存储设备104。虽然数据存储设备104可以是SSD或HDD,但其将针对图1的描述被称为SSD。主机装置(例如,上位机)102将在主机装置102和SSD 104之间传送数据的命令提供到SSD 104。举例来说,主机装置102可将用于将数据写入到SSD 104的写入命令提供到SSD 104,或将用于从SSD 104读取数据的读取命令提供到SSD 104。主机装置102可以是具有数据存储或检索的需求和用于与SSD 104通信的兼容接口的任何系统或装置。举例来说,主机装置102可以是计算装置、个人计算机、便携式计算机、工作站、服务器、个人数字助理、数码相机、数字电话等。
SSD 104包含主机接口106、控制器108、任选存储器110和非易失性数据存储装置112(也称为NVM 112)。主机接口106耦合到控制器108,且促进主机装置102和控制器108之间的通信。此外,控制器108耦合到存储器110和NVM 112。举例来说,NVM112可以是NAND快闪存储器或磁性存储介质。
主机接口106可以是任何类型的通信接口,例如集成驱动电子设备(IDE)接口、通用串行总线(USB)接口、串行外围设备(SP)接口、高级技术附件(ATA)接口、小型计算机系统接口(SCSI)、IEEE 1394(火线)接口等。在一些方面中,主机装置102包含SSD 104(例如,主机装置102和SSD 104被实施为单个组件)。在其它实施例中,SSD 104位于主机装置102的远程处或包含于与主机装置102通信而耦合的远程计算系统中。举例来说,主机装置102可经由无线通信链路与SSD 104通信。
控制器108控制SSD 104的操作。在各种实施例中,控制器108经由主机接口106从主机装置102接收命令,且执行所述命令以在主机装置102和NVM 112之间传送数据。如图1中所示,控制器108可包含存储格式控制装置116。举例来说,存储格式控制装置116可配置成根据本文详细描述的方面将一个或多个存储格式应用于NVM 112。如本文所使用的术语存储格式可指代逻辑上沿着水平维度和竖直维度布置的相异存储区域的配置。在一些实例中,相异存储区域中的每一个可用于存储包含数据位和奇偶校验位(例如,ECC位)的码字。在一些实例中,存储格式可限定将在产生和存储码字时使用的ECC强度、码字结构和/或媒体格式类型。举例来说,ECC强度可依据奇偶校验开销而量化。举例来说,码字结构可指代数据有效负载与ECC强度的组合。
控制器108可执行例如垃圾收集操作、数据完整性操作和耗损均衡操作等内部操作。控制器108可包含任何类型的处理装置,例如微处理器、微控制器、嵌入式控制器、逻辑电路、软件、固件等,用于控制SSD 104的操作。
在一些实施例中,本文中描述为由控制器108执行的功能中的一些或全部可改为由SSD 104的另一元件执行。举例来说,SSD 104可包含微处理器、微控制器、嵌入式控制器、逻辑电路、软件、固件或任何种类的处理装置,用于执行本文中描述为由控制器108执行的功能中的一个或多个。在一些实施例中,本文中描述为由控制器108执行的功能中的一个或多个改为由主机装置102执行。在一些实施例中,本文中描述为由控制器108执行的功能中的一些或全部可改为由另一元件执行,例如包含非易失性存储器元件和磁性存储元件两者的混合驱动器中的控制器。
存储器110可以是能够存储数据的任何存储器、计算装置或系统。例如,存储器110可以是随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)、快闪存储装置、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等。在各种实施例中,控制器108在主机装置102与NVM 112之间的数据传送期间使用存储器110或其一部分来存储数据。举例来说,存储器110或存储器110的一部分可以是高速缓冲存储器。在一个方面中,数据存储系统100配置成与快速非易失性存储器(NVMe)系统一起使用,其中NVM数据存储控制器(例如,控制器108)配置成使用NVMe协议控制对例如NAND存储装置(下文中,“NAND”)等NVM装置(例如,112)的存取。NVMe系统是利用快速外围组件互连(PCI)(PCIe)与系统SSD一起使用的可缩放主机控制器接口。参见例如2017年10月24日的NVM Express标准,修正版1.3a。然而,本文中所描述的至少一些特征适用于其它数据存储装置、驱动器、系统或协议。
图2示出根据本发明的各方面与主机装置202通信的固态装置(SSD)200。如图2中所展示,SSD 200可包含控制器206和NVM 208。控制器206可包含存储格式控制装置204。NVM208可包含一个或多个NAND块,例如NAND块0 210、NAND块1 212和NAND块n-1 214。如图2中进一步展示,每一NAND块可包含若干页。举例来说,NAND块0 210可包含页0 216、页1 218和页m-1 220,NAND块1 212可包含页0 222、页1 224和页m-1 226,且NAND块n-1 214可包含页0 228、页1 230和页m-1 232。
图2中的每一页(例如,页0 216)可表示一组存储器单元(也称为字线)。在本公开的一些方面中,存储格式控制装置204可配置NVM 208中的页的存储器单元的媒体格式类型。举例来说,存储格式控制装置204可将NVM 208中的页的存储器单元的媒体格式类型配置为单层级单元(SLC)类型(例如,页的存储器单元可每单元存储一个位(1BPC))、多层级单元(MLC)类型(例如,页的存储器单元可每单元存储两个位(2BPC))、三层级单元(TLC)类型(例如,页的存储器单元可存储每单元三个位(3BPC))、分数层级单元类型(例如,页的存储器单元可存储每单元3.5个位(3.5BPC)),或四层级单元(QLC)类型(例如,页的存储器单元可存储每单元四个位(4BPC))。
在本公开的一些方面中,SSD 200可含有比图2中展示的更大数目的NVM 208(例如,在不同NAND闪存芯片中)。举例来说,NVM 208可包含每块数千个NAND块(例如,n≥1000)和数百个页(例如,m≥100)。每一NVM(例如,NVM 208)、块(例如,块0 210)和页(例如,页0216)可具有其自身的唯一错误校正码(ECC)要求以使其对于SSD 200的有用性最大化。此ECC要求可基于SSD 200中的相关联数据存储区域(例如,NVM阵列、块、页等)的性能能力而确定。举例来说,页或块的性能能力(也称为状态或条件)可基于存储区域的一个或多个性能量度而确定。在一些方面中,所述一个或多个性能量度可包含误码率(BER)、误码计数、编程-擦除循环的数目、错误校正码(ECC)解码时延、编程持续时间、擦除循环持续时间或读取感测持续时间中的至少一个。举例来说,BER可以依据一个或多个物理参数而变,所述物理参数包含(但不限于)半导体工艺变化、晶片位置、字线、媒体格式类型(例如,SLC、MLC、TLC、QLC)、编程-擦除循环和干扰效应。举例来说,读取感测持续时间可指代在读取操作期间检测存储于存储器单元中的信息(例如,对应于位值或位值序列的电压电平)所需的时间周期。
本文中所描述的方面可使NVM 208的每一数据存储区域(例如,NVM阵列、块和/或页)能够具有唯一ECC强度、码字结构和/或媒体格式类型。在本公开的一些方面中,存储格式控制装置204可选择数据存储区域(例如,块、页等)的最适当存储格式以满足数据存储区域和数据存储区域内的某一范围的最小(例如,最坏情况)持久性和可靠性要求。
在本公开的一些方面中,存储格式控制装置204可确定SSD 200中的数据存储区域的性能能力(例如,BER)。在本公开的一些方面中,存储格式控制装置204可将二维可缩放存储格式应用于数据存储区域。二维可缩放存储格式可根据每一数据存储区域(例如,块、页等)的需求以及每一数据存储区域内的个别范围和需求启用存储格式(例如,包含ECC和媒体格式类型两者)的调适。在本公开的一些方面中,存储格式控制装置204可以数据存储区域的耐久性为代价选择使数据存储区域的数据有效负载存储空间最大的存储格式。
图3示出根据本发明的各方面可应用于NVM的页的存储空间分配300的第一实例。举例来说,存储格式控制装置204可将存储器空间分配300应用于NVM 208中的块(例如,块0210)的页(例如,页0 216)。如图3所示,页的页大小302可为L字节。如图3中进一步展示,可分配可用L字节中的M字节用于存储数据有效负载(例如,指示为图3中的有效负载区304),且可分配L字节中的剩余N字节用于存储奇偶校验信息(例如,指示为图3中的奇偶校验区306)。在一个实例中,页大小302可为36,672字节(例如,L=36,672)。在此实例中,32,768字节可被分配给有效负载区304(例如,M=32,768),且剩余3,904字节可被分配给奇偶校验区306(例如,L-M=N=3,904)。
图4示出根据本发明的各方面可应用于NVM的页的存储空间分配400的第二实例。举例来说,存储格式控制装置204可将存储器空间分配400应用于NVM 208中的块(例如,块1212)的页(例如,页1 224)。在一个实例中,页的页大小402可为37,952字节(例如,L=37,952)。在此实例中,32,768字节可被分配给有效负载区404(例如,M=32,768),且剩余5,184字节可被分配给奇偶校验区406(例如,L-M=N=5,184)。应注意,虽然图4的实例中的页大小402大于图3的实例中的页大小302,但有效负载区304和404的大小可相等。因此,对于给定有效负载区,存储器空间分配400可提供比存储器空间分配300中的奇偶校验区306大的奇偶校验区(例如,奇偶校验区406)。因此,在本公开的一些方面中,存储器空间分配400可提供相对于存储器空间分配300改进的错误校正能力。
图5示出可由存储格式控制装置204应用于NVM(例如,NAND)的页的示例存储格式500。举例来说,存储格式500可将页的存储器单元的媒体格式类型设定为SLC媒体格式类型。在一个实例中,存储格式500可应用于具有本文参看图3论述的存储器空间分配300的NVM的页。举例来说,页的页大小502可为L字节。如图5中所展示,存储格式控制装置204可划分页的L字节以形成相等大小的八个群组。在本文中所描述的方面中,每一群组可被称为逻辑页(LP)。在图5的实例中,L字节(例如,配置成存储L字节的页的存储器单元)被划分以形成逻辑页0 508、逻辑页1 510、逻辑页2 512、逻辑页3 514、逻辑页4 516、逻辑页5 518、逻辑页6 520和逻辑页7 522。举例来说,每一逻辑页可包含具有A字节的长度504的数据有效负载区(例如,数据有效负载区524、526、528、530、532、534、536、538)和具有B字节的长度506的相应奇偶校验区(例如,奇偶校验区540、542、544、546、548、550、552、554)。因此,在此实例中,八个数据有效负载区540、542、544、546、548、550、552、554的总和(例如,(8)×(A字节))可等于图3中的有效负载区304。相应地,八个奇偶校验区540、542、544、546、548、550、552、554的总和(例如,(8)×(B字节))可等于图3中的奇偶校验区306。页中的可用字节的总数目(例如,在本文中指示为L字节)可表达为(8)(A字节)+(8)(B字节)。
在一个实例中,参看图5,如果页大小502为36,672字节(例如,L=36,672),则每一数据有效负载区(例如,数据有效负载区524、526、528、530、532、534、536、538)可具有4,096字节(例如,A=4096),且每一相应奇偶校验区(例如,奇偶校验区540、542、544、546、548、550、552、554)可具有488字节(例如,B=488)。相应地,在此实例中,页中的可用字节的总数目(例如,在本文中指示为L字节)可表达为(8)(4096字节)+(8)(488字节)=36,672字节。
在另一实例中,参看图5,如果页大小502为37,952字节(例如,L=37,952),则每一数据有效负载区(例如,数据有效负载区524、526、528、530、532、534、536、538)可具有4,096字节(例如,A=4096),且每一相应奇偶校验区(例如,奇偶校验区540、542、544、546、548、550、552、554)可具有648字节(例如,B=648)。相应地,在此实例中,页中的可用字节的总数目(例如,在本文中指示为L字节)可表达为(8)(4096字节)+(8)(648字节)=37,952字节。
图6示出根据本发明的各方面可应用于NVM(例如,NAND)的页的经水平缩放的SLC存储格式600的实例。举例来说,SLC存储格式600可应用于具有本文参看图3论述的存储器空间分配300的NVM的页。如图6的实例中展示,存储格式控制装置204可划分页的L字节以形成相等大小的七个群组(也称为逻辑页(LP))。在图6的实例中,L字节(例如,配置成存储L字节的页的存储器单元)被划分以形成逻辑页0 608、逻辑页1 610、逻辑页2 612、逻辑页3614、逻辑页4 616、逻辑页5 618和逻辑页6 620。举例来说,每一逻辑页可包含具有A字节的长度604的数据有效负载区(例如,数据有效负载区622、624、626、628、630、632、634)和具有B字节的长度606的相应奇偶校验区(例如,奇偶校验区636、638、640、642、644、646、648)。
在一个示例配置中,页大小602可与图5中的页大小502相同。举例来说,页大小602可为36,672字节(例如,L=36,672)。在此实例中,图6中的每一数据有效负载区(例如,数据有效负载区622、624、626、628、630、632、634)可配置成与图5中的数据有效负载区(例如,数据有效负载区524)相同的大小。举例来说,图6中的每一数据有效负载区(例如,数据有效负载区622、624、626、628、630、632、634)可具有4,096字节(例如,A=4096)。页中的剩余8,000字节(例如,L-7(A)=36,672字节-7(4096)字节=8,000字节)可用于存储奇偶校验信息。因此,在此实例中,每一相应奇偶校验区(例如,奇偶校验区636、638、640、642、644、646、648)可具有近似1,142字节(例如,B=(8,000字节)/7≈1,142字节)。
应注意,经水平缩放的SLC存储格式600中的数据有效负载区(例如,数据有效负载区622、624、626、628、630、632、634)和SLC存储格式500中的数据有效负载区(例如,数据有效负载区524、526、528、530、532、534、536、538)的大小相等。然而,因为经水平缩放的SLC存储格式600包含比SLC存储格式500少一个逻辑页,所以相比于SLC存储格式500中的奇偶校验区(例如,奇偶校验区540、542、544、546、548、550、552、554),经水平缩放的SLC存储格式600提供每一数据有效负载区的较大奇偶校验区(例如,奇偶校验区636、638、640、642、644、646、648)。
图7示出根据本发明的各方面可应用于NVM(例如,NAND装置)的页的经水平缩放的单层级单元(SLC)存储格式700的实例。举例来说,SLC存储格式700可应用于具有本文参看图4论述的存储器空间分配400的NVM的页。如图7的实例中展示,存储格式控制装置204可划分页的L字节以形成相等大小的九个群组(也称为逻辑页(LP))。在图7的实例中,L字节(例如,配置成存储L字节的页的存储器单元)被划分以形成逻辑页0 708、逻辑页1 710、逻辑页2 712、逻辑页3 714、逻辑页4 716、逻辑页5 718、逻辑页6 720、逻辑页7 722和逻辑页8724。举例来说,每一逻辑页可包含具有A字节的长度704的数据有效负载区(例如,数据有效负载区726、728、730、732、734、736、738、740、742)和具有B字节的长度706的相应奇偶校验区(例如,奇偶校验区744、746、748、750、752、754、756、758、760)。
在一个示例配置中,页大小702可与图5中的页大小502相同。举例来说,页大小702可为37,952字节(例如,L=37,952)。在此实例中,图7中的每一数据有效负载区(例如,数据有效负载区726、728、730、732、734、736、738、740、742)可配置成与图5中的数据有效负载区(例如,数据有效负载区524)相同的大小。举例来说,图7中的每一数据有效负载区(例如,数据有效负载区726、728、730、732、734、736、738、740、742)可具有4,096字节(例如,A=4096)。页中的剩余1,088字节(例如,L-9(A)=37,952字节-9(4096)字节=1,088字节)可用于存储奇偶校验信息。因此,在此实例中,每一相应奇偶校验区(例如,奇偶校验区744、746、748、750、752、754、756、758、760)可具有近似120字节(例如,B=(1,088字节)/9≈120字节)。
应注意,经水平缩放的SLC存储格式700中的数据有效负载区(例如,数据有效负载区726、728、730、732、734、736、738、740、742)和SLC存储格式500中的数据有效负载区(例如,数据有效负载区524、526、528、530、532、534、536、538)的大小相等。然而,因为经水平缩放的SLC存储格式700包含比SLC存储格式500多一个逻辑页,所以相比于SLC存储格式500中的奇偶校验区(例如,奇偶校验区540、542、544、546、548、550、552、554),经水平缩放的SLC存储格式700提供每一数据有效负载区的较小奇偶校验区(例如,奇偶校验区744、746、748、750、752、754、756、758、760)。
图8(包含图8A到8E)示出根据本发明的各方面的NVM的存储格式的实例。在本公开的一些方面中,图8A可表示应用于NVM中的页的默认存储格式800的实例。如先前描述,NVM中的页可表示一组存储器单元(也称为字线),且页的页大小802可为L字节。如图8A的示例配置中所展示,页(例如,页的存储器单元)的L字节可被划分以形成相等大小的八个群组,例如第一群组806(也称为群组0)和第八群组808(也称为群组8)。此外,在默认存储格式800中,页的每一存储器单元可配置为四层级单元(QLC)。相应地,每一存储器单元可存储四个位。如图8A中所展示,存储在群组的存储器单元处的四个位中的每一个可对应于不同逻辑页(LP)。举例来说,第一群组806中的存储器单元的第一位可对应于下部逻辑页0(LP0),第一群组806中的存储器单元的第二位可对应于中间逻辑页0(MP0),第一群组806中的存储器单元的第三位可对应于上部逻辑页0(UP0),且第一群组806中的存储器单元的第四位可对应于顶部逻辑页0(TP0)。
在默认存储格式800中,每一逻辑页中的可用存储空间的一部分可被分配用于存储数据位(也称为数据有效负载区),而每一逻辑页中的可用存储空间的剩余部分可被分配用于存储奇偶校验信息(也称为奇偶校验区)。在本公开的一些方面中,奇偶校验信息可包含奇偶校验位(也称为错误校正码(ECC)位)。在本公开的一些方面中,默认存储格式800中的每一逻辑页可具有相同长度,例如长度804。在一个实例中,类似于图5中的配置,如果页大小802为36,672字节(例如,L=36,672),则每一逻辑页可包含4,096字节(例如,A=4096)的数据有效负载区和488字节(例如,B=488)的相应奇偶校验区。相应地,在此实例中,逻辑页的每一行(例如,行810)中的可用字节的总数目可表达为(8)(4096字节)+(8)(488字节)=36,672字节。
图8A中的默认存储格式800可被视为具有两个维度。举例来说,默认存储格式800的第一维度(也称为水平维度)可指代默认存储格式800的每一行(例如,行807)中的逻辑页数目。默认存储格式800的第二维度(也称为竖直维度)可指代默认存储格式800的每一列中的逻辑页数目(例如,列809中的逻辑页LP0、MP0、UP0和TP0)。如本文中所使用的术语水平维度和竖直维度虽然它们可能似乎暗示如图8A到8E中所展示的物理关系,但它们仅指代作为存储区域的可缩放特征的存储区域的第一和第二维度。第一或水平维度可以指由预选数目的多层级存储单元组成的页中的逻辑页数目。第二或竖直维度可以指多层级存储单元中的一个中的存储层级数目。因此,如本文中所使用,水平维度缩放可以指缩放给定页中使用的数目的逻辑页。另一方面,如本文中所使用,竖直维度缩放可以指缩放给定页中每存储单元使用的数目的位。如本文参考图8B到8E所描述,默认存储格式800可根据NVM中的每一存储组件的存储可靠性和耐久性要求在水平维度和/或竖直维度中缩放。
在本公开的一些方面中,存储格式控制装置204可通过增加或减小默认存储格式800的每一行中的逻辑页数目而在水平维度中缩放默认存储格式800。在一些方面中,存储格式控制装置204可在水平维度中缩放(例如,增加或减小)默认存储格式800时维持每一逻辑页中的数据有效负载的大小。在一些方面中,存储格式控制装置204可在竖直维度中缩放默认存储格式800以增加或减小存储在每一存储器单元中的位数目。在一些方面中,如本文所描述,存储格式控制装置204可在改变NVM中的页的存储格式时组合水平和竖直缩放两者来实现更精细粒度的存储。在此些方面中,存储格式控制装置204可配置页的存储格式来实现页的最大存储效率,同时延长NVM的耐久性(也称为持久性)。
图8B示出根据本发明的各方面的NVM中的页的经水平缩放的存储格式810的实例。如图8B的实例中展示,控制器可缩小(例如,减小)默认存储格式800的每一行中的逻辑页数目。举例来说,存储格式控制装置204可缩小默认存储格式800的水平维度以在每一行中包含七个逻辑页(例如,LP0到LP6),如图8B的经水平缩放的存储格式810中所展示。在一个方面中,存储格式控制装置204可以类似于相对于图6描述的实例的方式执行此水平缩放。因为经水平缩放的存储格式810的每一行(例如,行807)包含比默认存储格式800少一个逻辑页,所以经水平缩放的存储格式810中的每一逻辑页的大小812可大于默认存储格式800中的每一逻辑页的大小804。经水平缩放的存储格式810中的每一逻辑页的较大大小812可使每一逻辑页能够相比于默认存储格式800的每一逻辑页包含数据有效负载的较大奇偶校验区。在本公开的一些方面中,默认存储格式800的每一逻辑页中的有效负载区可等于经水平缩放的存储格式810的每一逻辑页中的有效负载区。
因此,在本公开的一些方面中,存储格式控制装置204可如图8B所示在水平维度中缩小默认存储格式800以减小ECC码率。举例来说,可通过增加逻辑页中的给定数据有效负载的奇偶校验区(例如,增加ECC奇偶校验位的数目)来减小所述逻辑页的ECC码率。
在经水平缩放的存储格式810中,应注意,存储格式控制装置204尚未相对于默认存储格式800应用任何竖直缩放。因此,类似于默认存储格式800,页的每一存储器单元为QLC。相应地,页的每一存储器单元可存储四个位。如图8B中所展示,存储器单元中的四个位中的每一个可对应于不同逻辑页。举例来说,第一群组814中的存储器单元的第一位可对应于下部页0(LP0),第一群组814中的存储器单元的第二位可对应于中间页0(MP0),第一群组814中的存储器单元的第三位可对应于上部页0(UP0),且第一群组814中的存储器单元的第四位可对应于顶部页0(TP0)。
图8C示出根据本发明的各方面的NVM的经竖直缩放的存储格式820的实例。如先前描述,NVM中的页可表示一组存储器单元(也称为字线),且页的页大小802可为L字节。在一些方面中,存储格式控制装置204可通过将每一存储器单元配置为三层级单元(TLC)来缩小(例如,减小)默认存储格式800的竖直维度。相应地,如图8C所示,每一存储器单元可存储三个位。如图8C中进一步展示,存储在存储器单元处的三个位中的每一个可对应于不同逻辑页(LP)。举例来说,第一群组824中的存储器单元的第一位可对应于下部逻辑页0(LP0),第一群组824中的存储器单元的第二位可对应于中间逻辑页0(MP0),且第一群组824中的存储器单元的第三位可对应于上部逻辑页0(UP0)。
在经竖直缩放的存储格式820中,应注意,存储格式控制装置204尚未相对于默认存储格式800应用任何水平缩放。因此,在本公开的一些方面中,经竖直缩放的存储格式820中的每一逻辑页的大小822可等于默认存储格式800中的每一逻辑页的大小804。
图8D示出根据本发明的各方面的NVM的经水平和竖直缩放的存储格式830的实例。如图8D的实例中展示,存储格式控制装置204可缩小(例如,减小)默认存储格式800的每一行中的逻辑页数目。举例来说,存储格式控制装置204可缩小默认存储格式800的水平维度以在每一行中包含七个逻辑页(例如,LP0到LP6),如图8D的经水平和竖直缩放的存储格式830中所展示。在一个方面中,存储格式控制装置204可以类似于相对于图6描述的实例的方式执行此水平缩放。因为经水平和竖直缩放的存储格式830的每一行包含比默认存储格式800少一个逻辑页,所以经水平和竖直缩放的存储格式830中的每一逻辑页的大小832可大于默认存储格式800中的每一逻辑页的大小804。经水平和竖直缩放的存储格式830中的每一逻辑页的较大大小832可使每一逻辑页能够相比于默认存储格式800的每一逻辑页包含数据有效负载的较大奇偶校验区。在本公开的一些方面中,默认存储格式800的每一逻辑页中的有效负载区可等于经水平缩放的存储格式830的每一逻辑页中的有效负载区。
如图8D中进一步展示,存储格式控制装置204还可通过将每一存储器单元配置为三层级单元(TLC)来缩小(例如,减小)默认存储格式800的竖直维度。相应地,如图8D所示,每一存储器单元可存储三个位。如图8D中所展示,存储在存储器单元处的三个位中的每一个可对应于不同逻辑页(LP)。举例来说,第一群组834中的存储器单元的第一位可对应于下部逻辑页0(LP0),第一群组834中的存储器单元的第二位可对应于中间逻辑页0(MP0),且第一群组834中的存储器单元的第三位可对应于上部逻辑页0(UP0)。应理解,举例来说,通过缩小存储格式800的竖直维度,可改进相关联数据存储区域的可靠性。
图8E示出根据本发明的各方面的NVM的经水平和竖直缩放的存储格式840的实例。如图8E的实例中展示,存储格式控制装置204可放大(例如,增加)默认存储格式800的每一行中的逻辑页数目。举例来说,存储格式控制装置204可放大默认存储格式800的水平维度以在每一行中包含九个逻辑页(例如,LP0到LP8),如图8E的经水平和竖直缩放的存储格式840中所展示。在一个方面中,存储格式控制装置204可以类似于相对于图7描述的实例的方式执行此水平缩放。因为经水平和竖直缩放的存储格式840的每一行包含比默认存储格式800多一个逻辑页,所以经水平和竖直缩放的存储格式840中的每一逻辑页的大小842可小于默认存储格式800中的每一逻辑页的大小804。经水平和竖直缩放的存储格式830中的每一逻辑页的较小大小842可产生的每一逻辑页具有比默认存储格式800的每一逻辑页小的数据有效负载的奇偶校验区。在本公开的一些方面中,默认存储格式800的每一逻辑页中的有效负载区可等于经水平缩放的存储格式840的每一逻辑页中的有效负载区。
如图8E中进一步展示,存储格式控制装置204还可通过将每一存储器单元配置为TLC媒体格式类型来缩小(例如,减小)默认存储格式800的竖直维度。相应地,如图8E所示,每一存储器单元可存储三个位。如图8E中所展示,存储在存储器单元处的三个位中的每一个可对应于不同逻辑页(LP)。举例来说,第一群组844中的存储器单元的第一位可对应于下部逻辑页0(LP0),第一群组844中的存储器单元的第二位可对应于中间逻辑页0(MP0),且第一群组844中的存储器单元的第三位可对应于上部逻辑页0(UP0)。
如本文所描述,存储格式控制装置204可针对NVM中的页相对于默认存储格式(例如,默认存储格式800)执行水平缩放来实现不同存储格式。在一个实例中,存储格式控制装置204可执行水平缩放来实现相比于默认存储格式包含具有较大奇偶校验区的较少逻辑页的存储格式(例如,存储格式810)。在另一实例中,存储格式控制装置204可执行水平缩放来实现相比于默认存储格式包含具有较小奇偶校验区的较多逻辑页的存储格式(例如,存储格式840)。因为水平缩放可增加或减小每一逻辑页中的数据有效负载的奇偶校验区的大小,所以存储格式控制装置204可执行水平缩放来实现NVM中的页的所要ECC格式类型。
在一个示例配置中,通过将页的L字节划分为八个逻辑页而获得的默认存储格式(例如,存储格式800)可识别为8/8ECC格式类型。通过水平地缩放此默认存储格式实现的其它存储格式可识别为x/8ECC格式类型,其中x表示产生于水平缩放操作的逻辑页数目。举例来说,在每一行(例如,行846)中包含九个逻辑页(例如,x=9)的图8E中的存储格式840可称为具有9/8ECC格式类型。作为另一实例,在每一行(例如,行838)中包含七个逻辑页(例如,x=7)的图8D中的存储格式830可称为具有7/8ECC格式类型。
根据本文中所描述的方面,x/8ECC格式类型(其中x<8)可以存储效率为代价改进NVM中的页的存储可靠性。换句话说,页的奇偶校验位数目可增加,而页的数据存储容量可减小(例如,归因于逻辑页数目的减少)。可在图6所示的经水平缩放的SLC存储格式600的实例中观察到此情境。此外,x/8ECC格式类型(其中x>8)可以存储可靠性为代价增加NVM中的页的存储效率。换句话说,页的数据存储容量可增加(例如,归因于逻辑页数目增加),而页的奇偶校验位数目可减小。可在图7中展示的经水平缩放的SLC存储格式700的实例中观察到此情境。
图9示出根据本发明的各方面指示可应用于NVM(例如,NVM,比如NAND)的页的示例存储格式的示例性图式900。在本公开的一些方面中,存储格式控制装置204可选择和/或应用本文中相对于图9所描述的示例存储格式。
如图9中所展示,存储格式控制装置204可通过配置页的存储器单元的媒体格式类型和/或应用于页的ECC格式类型来选择NVM中的页的存储格式。在一些方面中,举例来说,存储格式控制装置204可将页的存储器单元的媒体格式类型配置为SLC类型902(例如,页的存储器单元可存储每单元一个位(1BPC))、MLC类型904(例如,页的存储器单元可存储每单元两个位(2BPC))、TLC类型906(例如,页的存储器单元可存储每单元三个位(3BPC))、分数层级单元类型908(例如,页的存储器单元可存储每单元3.5个位(3.5BPC)),或QLC类型910(例如,页的存储器单元可存储每单元四个位(4BPC))。在一些方面中,举例来说,存储格式控制装置204可选择9/8ECC格式类型912、8/8ECC格式类型914、7/8ECC格式类型916或6/8ECC格式类型918。如本文所描述,8/8ECC格式类型914可表示默认存储格式类型(例如,默认存储格式类型800)。
示例性图式900指示可在NVM的页中针对给定媒体格式类型和ECC格式类型配置的可能的逻辑页数目。在本公开的一些方面中,图式900中指示的逻辑页数目可指代包含相同数据有效负载大小(例如,4096字节的数据有效负载大小)的逻辑页。在本公开的一些方面中,图式900的不同列中的逻辑页数目可指代包含不同大小的奇偶校验区(例如,由于如本文所描述的水平缩放)的逻辑页。在第一实例中,参考图式900,如果存储格式控制装置204将页的存储器单元的媒体格式类型配置为QLC类型910且应用8/8ECC格式类型914,则所述页可包含32个逻辑页。此配置可表示先前参看图8论述的默认存储格式800。举例来说,可见,默认存储格式800包含四个行,每一行含有八个逻辑页(例如,4×8=32个逻辑页)。在第二实例中,参考图式900,如果存储格式控制装置204将页的存储器单元的媒体格式类型配置为SLC类型902且应用9/8ECC格式类型912,则所述页可包含九个逻辑页。根据本文中所描述的方面,包含在第二实例的九个逻辑页中的每一个中的奇偶校验区可小于包含在第一实例的32个逻辑页中的每一个中的奇偶校验区。
在本公开的一些方面中,存储格式控制装置204可基于一个或多个准则选择NVM的一个或多个页的存储格式。在一个方面中,所述准则可包含页的一个或多个性能量度。举例来说,所述一个或多个准则可包含误码率(BER)、误码计数、编程-擦除循环的数目、ECC解码时延、编程持续时间、擦除循环持续时间、读取感测持续时间和/或可指示存储介质(例如,NVM的页)的可靠性和/或耐久性的任何其它数据。
在一个示例实施方案中,用于选择页的存储格式的准则可基于页的BER,且存储格式控制装置204可根据页的BER应用存储格式。存储格式控制装置204可通过解码存储在页中的码字并确定处于码字中的失效位(例如,错误位)的数目来获得页的BER。存储格式控制装置204接着可确定失效位的数目与码字中的位数目的比率以获得BER。在本公开的一些方面中,存储格式控制装置204可监视(例如,跟踪)NVM 208中的一个或多个页的BER。
在一个实例中,存储格式控制装置204可在BER超出第一阈值时应用第一存储格式,且在BER超出第二阈值时应用第二存储格式,等等。存储格式控制装置204可随着页的BER增加选择具有较低存储效率和/或较稳健ECC格式的存储格式。举例来说,存储格式控制装置204可监视以默认存储格式配置的页的BER。在一个实例中,默认存储格式可以是图8A中的默认存储格式800。相应地,参看图9,页可配置有QLC媒体格式类型910和8/8ECC格式类型914。因此,参看图9,页可包含32个逻辑页。在此实例中,如果页的BER超出第一阈值,则存储格式控制装置204可将默认存储格式水平地缩小至7/8ECC格式类型914来改进存储可靠性。因此,参看图9,页可包含28个逻辑页。继续此实例,如果页的BER仍超出第一阈值,则存储格式控制装置204可进一步将存储格式水平地缩小至6/8ECC格式类型914来进一步改进存储可靠性。因此,参看图9,页可包含24个逻辑页。如果页的BER继续超出第一阈值,则存储格式控制装置204可通过将页的存储器单元配置为TLC类型906来竖直地缩小存储格式。因此,参看图9,页可包含18个逻辑页。尽管维持相同ECC格式类型(例如,6/8ECC格式类型918),但通过将页的存储器单元从QLC类型910转换为TLC类型906,所述页可对于错误更稳健和具有弹性,
在本公开的一些方面中,先前描述的第一阈值可设定成BER,其表示存储区域为了被视为可用存储区域(例如,NAND中的良好块)可具有的最大BER。换句话说,具有超出此最大BER的BER的存储区域可被视为不可用的(例如,NAND中的不良块)。因此,先前描述的方法可使NVM(例如,NVM 208)中的存储区域能够实现防止将所述一个或多个存储区域视为不可用的的BER,借此改进NVM的耐久性。此外,通过缩小如先前描述的页的存储格式来改进页的可靠性,可了解,还可改进页的读取/写入性能(例如,解码速度)。
在本公开的一些方面中,存储格式控制装置204可实时跟踪页的BER。在这些方面中,存储格式控制装置204可基于本文描述的方面根据BER的当前值动态地选择适当存储格式并将适当存储格式应用于所述页。
在本公开的一些方面中,存储格式控制装置204可配置成选择提供最大存储效率的页的存储格式。例如,参考图9,如果第一存储格式(例如,应用分数层级单元媒体格式类型908和8/8ECC格式类型914的存储格式)可提供28个逻辑页且第二存储格式(例如,应用TLC类型906和9/8ECC格式类型912的存储格式)可提供27个逻辑页,则存储格式控制装置204可偏好应用第一存储格式。举例来说,可通过使用全序列读取和高级信号处理技术来应用分数层级单元媒体格式类型908。
在本公开的一些方面中,存储格式控制装置204可配置成选择提供页的最多编程-擦除循环的存储格式。举例来说,在这些方面中,如果先前实例中的第二存储格式提供比第一存储格式多的页的编程-擦除循环,则存储格式控制装置204可选择第二存储格式。因此,通过选择提供较大编程-擦除循环数目的第二存储格式,存储格式控制装置204可增加页的耐久性。
如先前描述,本文的各方面可改进NVM的性能和耐久性。本文中所描述的存储格式的水平维度和/或竖直维度可以允许NVM 208的每一存储区域(例如,页、块等)具有唯一ECC强度、码字结构和/或媒体存储类型。存储格式控制装置204可确定数据存储区域的最适当存储格式来满足数据存储区域的持久性和可靠性要求。存储格式控制装置204可进一步确定每一存储区域的存储格式以使NVM 208的寿命期间的用户数据最大化。
举例来说,如果NAND中的块的一个或多个页开始在可接受水平以下执行使得NAND的控制器将把所述块视为不良块,则所公开的存储格式控制装置204可应用本文中所描述的方面来改进所述一个或多个页的性能(例如,存储可靠性)。由于性能得到改进,所述块可不再被视为不良块(例如,控制器206可继续使用所述块),且因此,可增加存储装置的耐久性。
在本公开的一些方面中,本文中所描述的技术可在数据存储系统(例如,SSD)的制造阶段期间应用。举例来说,存储格式控制装置(例如,存储格式控制装置204)可识别被视为不可用的NVM的一个或多个区域(例如,NAND中的一个或多个不良块),且可应用缩放后的存储格式以使得能够使用NVM的此些一个或多个区域。
图10(包含图10A和10B)示出根据本公开的一个或多个方面的示例磁性存储介质1002。图10A示出根据本公开的一个或多个方面的示例磁性存储介质1002的俯视图。举例来说,磁性存储介质1002可实施于硬盘驱动器(HDD)中,且磁性存储介质1002可在将数据写入到磁性存储介质1002(或从其读取数据)时自旋。在一些实例中且如图10所示,磁性存储介质1002可配置成将信息存储在一个或多个同心圆形轨道(例如,轨道1004、1006)上。沿着轨道存储的信息(例如,位)的密度可表达为每英寸位(BPI),且磁性存储介质1002中的轨道的密度可表达为每英寸轨道(TPI)。
图10B示出根据本公开的一个或多个方面的示例磁性存储介质1002的轨道的概念示意图。在概念图中,轨道(例如,1004、1006)已经重新绘制为以轨道间隔隔开的直线。在此实施例中,BPI可指示可沿着具有一英寸的轨道长度(例如,第一长度1008)的轨道存储的位数目,且TPI可指示如沿着磁性存储介质1002的半径测得的一英寸的径向长度(例如,第二长度1010)内的轨道数目。
在本公开的一些方面中,数据存储系统(例如,HDD)可将本文中所描述的示例存储格式和/或缩放操作应用于磁性存储介质(例如,磁性存储介质1002)。举例来说,参考图8A中的默认存储格式800,默认存储格式800的第一尺寸(也称为水平维度)可对应于磁性存储介质1002的切向方向,其中所述切向方向(例如,沿着第一长度1008)包含可沿着轨道的一部分(例如,BPI)存储在磁性存储介质1002上的若干位。默认存储格式800的第二维度(也称为竖直维度)可对应于磁性存储介质1002的径向方向,其中所述径向方向(例如,沿着第二长度1010)包含可沿着磁性存储介质1002的一部分的给定长度存储的基于TPI值的若干轨道。相应地,数据存储系统可通过增加或减小(例如,控制)磁性存储介质1002的BPI来执行本文中所描述的水平维度缩放,和/或可通过增加或减小(例如,控制)磁性存储介质1002的TPI来执行本文中所描述的竖直维度缩放。在一些实例中,数据存储系统可限定磁性存储介质1002上的若干相异存储区域(例如,也称为扇区),其中每一相异存储区域包含若干轨道的部分。数据存储系统可通过增加磁性存储介质1002的TPI来增加每一相异存储区域的存储容量,且可通过减小磁性存储介质1002的TPI来减小每一相异存储区域的存储容量。
配置成缩放存储格式的一个示例HDD可实施叠瓦式磁记录(shingled magneticrecording,SMR)。叠瓦式磁记录(SMR)技术与使用传统磁记录(CMR)技术的同代驱动器相比实现面积密度的增加。实体上,这可通过循序地写入数据,接着用另一数据轨道重叠(或“叠瓦”)所述数据来进行。通过重复此过程,更多数据轨道可放置在每一磁性表面上。传统磁记录在HDD上的记录轨道之间留下间隙以考虑轨道未对齐(TMR)预算。这些分隔影响面积密度,因为盘片的部分未被完全利用。叠瓦式磁记录通过以重叠的方式循序写入轨道移除了轨道之间的间隙,从而形成类似于屋顶上的瓦片的图案。
由于SMR的叠瓦格式,数据流通常循序地组织和写入到介质。虽然SMR实施方案的方法可能不同,然而数据通常循序地写入到介质。因此,假如特定轨道需要修改或重写,则整个轨道“带”(区)被重写。因为经修改数据可能位于数据的另一“瓦片”下方,所以可能不准许直接修改,这与传统CMR驱动器不同。在SMR的情况下,经修改轨道上方的瓦片的整个行需要在过程中重写。因此,SMR技术与快闪存储器具有一些相似,并且还可得益于用于对实施于NVM中的存储格式的粒度作出调整的本文中所描述的方法。
在一些实例中,数据存储系统(例如,重新配置为可包含固态存储组件和/或磁性存储组件的数据存储系统的SSD 104)可实施叠瓦式磁记录(SMR)使得磁性存储介质1002上的先前描述的轨道(例如,轨道1004、1006)至少部分重叠,这可进一步增加磁性存储介质1002的存储密度(例如,面积密度)。在这些实例中,数据存储系统可通过增加或减小沿着轨道的位密度来执行本文中所描述的水平维度缩放,和/或可通过增加或减小跨越轨道在径向方向上的轨道密度来执行本文中所描述的竖直维度缩放。如上文针对涉及SSD和快闪存储器的实施例所论述,缩放可基于存储区域的性能能力来获得修改后的存储格式。所述性能能力可基于HDD的磁性介质的存储区域(例如,扇区或区)中的例如误码率(BER)等存储区域的一个或多个性能量度来确定。在某些情况下,一些带(或区)可展现关于面积密度(TPI*BPI)的特定行为特性,包含对BER的影响。因此,一些消费者应用可能需要例如用BER能力来交换面积密度。本公开预期一种展现制造过程中驱动器之间以及给定驱动器内的区之间的折衷的可能的方法。
本公开描述用于改进SSD/HDD的最大效率且用于延长SSD/HDD的耐久性的系统性方法。在本公开的一些方面中,此类系统性方法可包含使用水平缩放、竖直缩放和/或水平缩放与竖直缩放的一些组合来调整实施于NVM中的存储格式的粒度。根据本发明的各个方面,本文中所描述的过程和设备可实现原本会被视为在数据存储系统中不可用的NVM的区域(例如,NAND快闪存储器中的不良块)的再使用。在本公开的一些方面中,这些区域的再使用可包含将数据写入到这些区域和/或从这些区域读取数据。在一些情境中,这些区域的再使用可改进数据存储系统中的存储空间的过设计,这可改进数据存储系统的性能。
示例设备
图11示出根据本公开的一个或多个方面的设备1100的实施例。设备1100可以在控制器、SSD、固态驱动器、主机装置、NVM装置、NAND裸片或支持数据存储的某一其它类型的装置内体现或实施。在各种实施方案中,设备1100可以在计算装置、个人计算机、便携式装置或工作站、服务器、个人数字助理、数码相机、数字电话、娱乐装置、医疗装置或存储数据的任何其它电子装置内体现或实施。
设备1100包含通信接口1102、存储介质1104、NVM(例如,NVM存储器电路)1108和处理电路1110(例如,至少一个处理器和/或其它合适的电路)。这些组件可以经由信令总线或其它合适的组件(一般由图11中的连接线表示)耦合到彼此和/或放置成彼此电连通。信令总线可取决于处理电路1110的特定应用和总体设计约束而包含任何数目个互连总线和桥接器。信令总线将各种电路链接在一起使得通信接口1102、存储介质1104和NVM 1108中的每一个耦合到处理电路1110和/或与处理电路1110电连通。信令总线还可将例如计时源、外围装置、电压调节器和功率管理电路等各种其它电路(未示出)链接在一起,所述各种其它电路是所属领域中众所周知的且因此将不再进一步描述。
通信接口1102提供用于通过传输介质与其它设备通信的构件。在一些实施方案中,通信接口1102包含适于促进相对于系统中的一个或多个装置的双向信息传送的电路和/或编程设计(例如,程序)。在一些实施方案中,通信接口1102可配置成用于基于线材的通信。举例来说,通信接口1102可以是总线接口、发送/接收接口,或某一其它类型的信号接口,包含驱动器、缓冲器或用于输出和/或获得信号(例如,从集成电路输出信号和/或将信号接收到集成电路中)的其它电路。通信接口1102充当用于接收的构件和/或用于传输的构件的一个实例。
NVM 1108可表示一个或多个非易失性存储器装置。在一些实施方案中,NVM 1108和存储介质1104被实施为共同存储器组件。NVM 1108还可用于存储由处理电路1110或设备1100的某一其它组件操纵的数据。
存储介质1104可表示一个或多个计算机可读、机器可读和/或处理器可读装置,用于存储例如处理器可执行代码或指令(例如,软件、固件)、电子数据、数据库或其它数字信息等编程设计。存储介质1104也可以用于存储当执行编程设计时由处理电路1110操纵的数据。存储介质1104可为可由通用或专用处理器存取的任何可用介质,包含便携式或固定存储装置、光学存储装置和能够存储、含有或携载编程设计的各种其它介质。
借助于实例而非限制,存储介质1104可包含磁性存储装置(例如,硬盘、软盘、磁条)、光盘(例如,压缩光盘(CD)或数字多功能光盘(DVD))、智能卡、快闪存储器装置(例如,卡、棒或键驱动)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器、可装卸式磁盘,以及用于存储可由计算机存取和读取的软件和/或指令的任何其它合适的介质。存储介质1104可体现在制品(例如,计算机程序产品)中。借助于实例,计算机程序产品可包含封装材料中的计算机可读介质。鉴于上文,在一些实施方案中,存储介质1104可为非暂时性(例如,有形的)存储介质。举例来说,存储介质1104可以是非暂时性计算机可读介质,其存储包含用以执行如本文所描述的操作的代码的计算机可执行代码。
存储介质1104可耦合到处理电路1110使得处理电路1110可从存储介质1104读取信息和向存储介质1104写入信息。也就是说,存储介质1104可耦合到处理电路1110使得存储介质1104至少可由处理电路1110存取,包含其中至少一个存储介质与处理电路1110成一体式的实例和/或其中至少一个存储介质与处理电路1110分离(例如,驻留在设备1100中、在设备1100外部,跨越多个实体分布等)的实例。
由存储介质1104存储的编程设计当由处理电路1110执行时致使处理电路1110执行本文中所描述的各种功能和/或过程操作中的一个或多个。举例来说,存储介质1104可包含配置成用于调节处理电路1110的一个或多个硬件块处的操作以及利用通信接口1102来利用其相应通信协议进行无线通信的操作。
处理电路1110通常适合于处理,包含存储在存储介质1104上的此类编程设计的执行。如本文所用,术语“代码”或“编程设计”将广义地解释为包含(不限于)指令、指令集、数据、代码、码段、程序代码、程序、编程设计、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行程序、执行线程、程序、函数等,无论被称作软件、固件、中间件、微码、硬件描述语言还是其它。
处理电路1110布置成获得、处理和/或发送数据,控制数据访问和存储,发布命令,且控制其它所要操作。处理电路1110在至少一个实例中可包含配置成实施由适当介质提供的所要编程设计的电路。举例来说,处理电路1110可实施为一个或多个处理器、一个或多个控制器和/或配置成执行可执行编程设计的其它结构。处理电路1110的实例可以包含通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件,或设计成执行本文描述的功能的其任何组合。通用处理器可以包含微处理器以及任何常规的处理器、控制器、微控制器或状态机。处理电路1110也可以实施为计算组件的组合,例如控制器和微处理器的组合、多个微处理器的组合、一个或多个微处理器结合ASIC和微处理器,或任何其它数目的不同配置。处理电路1110的这些实例是用于说明,且还预期本公开范围内的其它合适的配置。
根据本公开的一个或多个方面,处理电路1110可适于执行本文中所描述的设备中的任一个或全部的特征、过程、功能、操作和/或例程中的任一个或全部。举例来说,处理电路1110可配置成执行相对于图11-13描述的步骤、功能和/或过程中的任一个。如本文所使用,相对于处理电路1110的术语“适于”可指代处理电路1110被配置、采用、实施和/或编程以根据本文中所描述的各种特征执行特定过程、功能、操作和/或例程,这些当中的一个或多个。
处理电路1110可以是专用处理器,例如专用集成电路(ASIC),其充当用于实行结合图11-13描述的操作中的任一个的构件(例如,用于执行所述操作的结构)。处理电路1110充当用于发送的构件和/或用于接收的构件的一个实例。在各种实施方案中,处理电路1110可至少部分提供和/或并入有上文对于图1的控制器108或SSD 104所描述的功能性。
根据设备1100的至少一个实例,处理电路1110可包含以下中的一个或多个:用于应用默认存储格式的电路/模块1120、用于修改默认存储格式的电路/模块1122、用于应用修改后的存储格式的电路/模块1124、用于监视存储区域的误码率的电路/模块1126、用于使存储区域与修改后的存储格式相关联的电路/模块1128、用于将数据存储在数据存储装置中的电路/模块1130。在各种实施方案中,用于应用默认存储格式的电路/模块1120、用于修改默认存储格式的电路/模块1122、用于应用修改后的存储格式的电路/模块1124、用于监视存储区域的误码率的电路/模块1126、用于使存储区域与修改后的存储格式相关联的电路/模块1128或用于将数据存储在NVM中的电路/模块1130可至少部分提供和/或并入有上文对于图1的控制器108所描述的功能性。在本公开的一些方面中,用于修改默认存储格式的电路/模块1122可配置成如本文所描述缩放默认存储格式1122(例如,执行水平维度缩放和/或竖直维度缩放)以提供缩放后的存储格式。相应地,在这些方面中,术语修改后的存储格式可与术语缩放后的存储格式互换使用。
如上文所提及,由存储介质1104存储的程序当由处理电路1110执行时致使处理电路1110执行本文中所描述的各种功能和/或过程操作中的一个或多个。举例来说,所述程序可致使处理电路1110执行本文在各种实施方案中相对于图11-13所描述的各种功能、步骤和/或过程。如图11中所展示,存储介质1104可包含以下代码中的一个或多个:用于应用默认存储格式的代码1140、用于修改默认存储格式的代码1142、用于应用修改后的存储格式的代码1144、用于监视存储区域的误码率的代码1146、用于使存储区域与修改后的存储格式相关联的代码1148,或用于将数据存储在NVM中的代码1150。在各种实施方案中,用于应用默认存储格式的代码1140、用于修改默认存储格式的代码1142、用于应用修改后的存储格式的代码1144、用于监视存储区域的误码率的代码1146、用于使存储区域与修改后的存储格式相关联的代码1148和用于将数据存储在NVM中的代码1150可被执行或以其它方式使用以提供本文中针对用于应用默认存储格式的电路/模块1120、用于修改默认存储格式的电路/模块1122、用于应用修改后的存储格式的电路/模块1124、用于监视存储区域的误码率的电路/模块1126、用于使存储区域与修改后的存储格式相关联的电路/模块1128、用于将数据存储在NVM中的电路/模块1130所描述的功能性。
第一示例过程
图12示出根据本公开的一些方面的过程1200。过程1200可在处理电路(例如,图10的处理电路1010)内发生,所述处理电路可位于控制器、SSD、固态驱动器、主机装置、NVM装置、NAND裸片或某一其它合适的设备中。当然,在本公开的范围内的各种方面中,过程1200可由能够支持存储器相关操作的任何合适的设备实施。应理解,图12中以虚线指示的框表示任选框。
在框1202处,设备将默认存储格式应用于NVM的存储区域。默认存储格式可将存储区域配置为逻辑上沿着水平维度和竖直维度布置的若干相异存储区域。在一个实例中,NVM可以是NAND装置,且存储区域可以是NAND装置中的页或块。在另一实例中,NVM可包含磁性存储介质,且存储区域可包含磁性存储介质的至少一个部分。在一些方面中,默认存储格式可通过将存储区域(例如,NAND中的页)划分为若干相异存储区域(例如,逻辑页)而将存储区域配置为若干相异存储区域。
在框1204处,设备基于存储区域的性能能力使用水平维度缩放和竖直维度缩放的组合修改(例如,缩放)默认存储格式以获得修改后的存储格式(也称为缩放后的存储格式)。在一些方面中,存储区域的性能能力基于存储区域的一个或多个性能量度来确定。在一些方面中,所述一个或多个量度包括以下中的至少一个:误码率、误码计数、编程-擦除循环的数目、错误校正码(ECC)解码时延、编程持续时间、擦除循环持续时间或读取感测持续时间。在一些方面中,水平维度缩放包括控制可用于相异存储区域中的每一个的奇偶校验位的数目,且竖直维度缩放包括控制可由存储区域的每一存储器单元存储的位的数目。在一些方面中,水平维度缩放和竖直维度缩放的组合减小了存储区域的存储效率且增加了存储区域的可靠性和耐久性。在一些方面中,修改后的存储格式配置成相对于默认存储格式增加NVM的存储区域的耐久性或NVM的存储区域的可靠性中的至少一个。
在框1206处,设备将修改后的存储格式应用于存储区域。
在框1208处,设备基于修改后的存储格式将数据存储在存储区域中。
在一些方面中,根据本文的教示的过程可以包含以上操作的任何组合。
第二示例过程
图13示出根据本公开的一些方面的过程1300。过程1300可在处理电路(例如,图10的处理电路1010)内发生,所述处理电路可位于控制器、SSD、固态驱动器、主机装置、NVM装置、NAND裸片或某一其它合适的设备中。当然,在本公开的范围内的各种方面中,过程1300可由能够支持存储器相关操作的任何合适的设备实施。应理解,图13中以虚线指示的框表示任选框。
在框1302处,设备将第一存储格式应用于NVM中的块的页。存储格式可将页配置为第一数目的逻辑页。
在框1304处,设备在页的误码率超出阈值时确定页的第二存储格式。第二存储格式可将页配置为第二数目的逻辑页,所述第二数目的逻辑页少于所述第一数目的逻辑页。在一些方面中,第二数目的逻辑页具有比第一数目的逻辑页高的ECC率。在一些方面中,第二存储格式相对于第一存储格式减小可存储在页的每一存储器单元中的位数目。在一些方面中,第一数目的逻辑页中的每一个和第二数目的逻辑页中的每一个配置成存储大约相同数据量。在一些方面中,第二数目的逻辑页中的每一个相对于第一数目的逻辑页中的每一个被分配更多ECC位。
在框1306处,设备将第二存储格式应用于页。
在框1308处,设备基于第二存储格式将数据存储在页中。
在框1310处,设备在页的误码率超出第二阈值时确定页的第三存储格式。第三存储格式将页配置(例如,划分)为第三数目的逻辑页,所述第三数目的逻辑页少于所述第二数目的逻辑页。在一些方面中,第三数目的逻辑页具有比第二数目的逻辑页高的ECC率。
在框1312处,设备基于第三存储格式将数据存储在页中。
在一些方面中,根据本文的教示的过程可以包含以上操作的任何组合。
第三示例过程
图14示出根据本公开的一些方面的过程1400。过程1400可在处理电路(例如,图10的处理电路1010)内发生,所述处理电路可位于控制器、SSD、固态驱动器、主机装置、NVM装置、NAND裸片或某一其它合适的设备中。当然,在本公开的范围内的各种方面中,过程1400可由能够支持存储器相关操作的任何合适的设备实施。应理解,图14中以虚线指示的框表示任选框。
在框1402处,设备监视NVM的多个存储区域的误码率,所述多个存储区域中的每一个具有存储格式。在一些方面中,所述多个存储区域中的每一个的大小大约相等。
在框1404处,设备识别所述多个存储区域中的误码率超出阈值的一个或多个存储区域。
在框1406处,设备动态地缩放所述多个存储区域中的所述一个或多个的存储格式以减小所述多个存储区域中的所述一个或多个的误码率。在一些方面中,缩放后的存储格式减小所述多个存储区域中的所述一个或多个的存储效率以增加所述多个存储区域中的所述一个或多个的可靠性。在一些方面中,缩放后的存储格式减小所述多个存储区域中的所述一个或多个的存储效率以增加可用于所述多个存储区域中的所述一个或多个的奇偶校验位的数目。在一些方面中,所述多个存储区域中的所述一个或多个的第一存储区域具有第一缩放后的存储格式,且所述多个存储区域中的所述一个或多个的第二存储区域具有第二缩放后的存储格式,其中第一缩放后的存储格式不同于第二缩放后的存储格式。
在框1408处,设备使第一存储区域与第一缩放后的存储格式相关联,且使第二存储区域与第二缩放后的存储格式相关联。
在框1410处,设备基于第一缩放后的存储格式将第一数据存储在第一存储区域中。
在框1412处,设备基于第二缩放后的存储格式将第二数据存储在第二存储区域中。
在一些方面中,根据本文的教示的过程可以包含以上操作的任何组合。
额外方面
提供本文陈述的实例是为了说明本公开的特定概念。上文说明的设备、装置或组件可配置成执行本文描述的方法、特征或步骤中的一个或多个。所属领域的一般技术人员将了解,这些本质上仅为说明性的,且其它实例可落在本公开和所附权利要求书的范围内。基于本文的教示,所属领域的技术人员应了解,本文公开的方面可以独立于任何其它方面实施,且可以各种方式组合这些方面中两个或更多个方面。举例来说,可使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,通过使用除了本文所阐述的方面中的一个或多个之外或不同于本文所阐述的实施例中的一个或多个的其它结构、功能性或结构与功能性,可实施此设备或可实践此方法。
上文已经参考根据本公开的实施例的方法、设备、系统和计算机程序产品的示意性流程图和/或示意性框图描述了本公开的各方面。应理解,可以通过计算机程序指令来实施示意性流程图和/或示意性框图的每个框以及示意性流程图和/或示意性框图中的框的组合。这些计算机程序指令可以被提供给计算机的处理器或其它可编程数据处理设备以产生机器,从而使得经由处理器或其它可编程数据处理设备执行的指令创建用于实施一个或多个示意性流程图和/或示意性框图的框中指定的功能和/或动作的构件。
本文描述的主题可以以硬件、软件、固件或其任何组合来实施。由此,本文中使用的术语“功能”、“模块”等可以指代硬件,其也可以包含用于实施所描述的特征的软件和/或固件组件。在一个示例实施方案中,本文中所描述的主题可使用上面存储有计算机可执行指令的计算机可读介质来实施,所述计算机可执行指令当由计算机(例如,处理器)执行时控制计算机以执行本文中所描述的功能性。适用于实施本文描述的主题的计算机可读介质的实例包含非暂时性计算机可读介质,例如磁盘存储器装置、芯片存储器装置、可编程逻辑装置和专用集成电路。另外,实施本文描述的主题的计算机可读介质可以位于单个装置或计算平台上,或者可以分布在多个装置或计算平台上。
还应注意,在一些替代的实施方案中,各个块中提及的功能可以不按图中所提及的次序发生。举例来说,取决于所涉及的功能性,连续展示的两个块可以实际上大体上同时执行,或所述块有时可以按相反次序执行。可以构想其它步骤和方法,这些步骤和方法在功能、逻辑或效果上等同于所示附图的一个或多个块或其部分。尽管在流程图和/或框图中可以采用各种箭头类型和线条类型,但是应理解,它们不限制相应实施例的范围。举例来说,箭头可以指示所描绘实施例的所列步骤之间未指定持续时间的等待或监视周期。
上文所描述的各种特征和过程可独立于彼此使用,或可以不同方式组合。所有可能的组合和子组合希望落在本公开的范围内。此外,在一些实施方案中可省略某些方法、事件、状态或过程框。本文描述的方法和过程还不限于任何特定序列,并且与其相关的块或状态可以其它适当的序列执行。举例来说,所描述的任务或事件可以按不同于特定公开的次序的次序来执行,或者可以在单个块或状态中组合多个任务或事件。示例任务或事件可以串行、并行或以某一其它合适的方式执行。任务或事件可添加到所公开的示例实施例或从其移除。本文所描述的示例系统和组件可与所描述不同地配置。举例来说,元件可添加到所公开的示例实施例、从其移除或与其相比重新布置。
所属领域的技术人员应了解,可使用多种不同技术和技艺中的任一个来表示信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。
如本文所使用的术语“大约相同”或“大约相等”意味着相同、相等、达1%不同、达5%不同,或达10%不同中的任一个。词语“示例性”在本文中用于意指“充当实例、例子或说明”。本文中描述为“示例性”的任何方面不必解释为比其它方面优选或有利。同样地,术语“方面”不要求所有方面包含所论述的特征、优点或操作模式。
尽管以上描述包含本发明的许多特定实施例,但是这些不应解释为对本发明范围的限制,而应解释为其特定实施例的实例。因此,本发明的范围不应由所说明的实施例来确定,而是应由所附权利要求书及其等效物来确定。此外,贯穿本说明书对“一个实施例”、“实施例”或类似语言的引用意味着结合实施例描述的特定特征、结构或特性包含在本公开的至少一个实施例中。因此,贯穿本说明书的短语“在一个实施例中”、“在实施例中”和类似语言的出现可以但不是必须全部指代相同的实施例,而是指“一个或多个但不是所有实施例”,除非另有明确说明。
本文中所使用的术语仅用于描述特定方面的目的,且并不希望限制各方面。如本文中所使用,单数形式“一”和“所述”既定也包含复数形式(即,一个或多个),除非上下文另外明确指示。除非另外明确指出,否则列举的项目清单并不意味着任何或所有项目都是相互排斥和/或相互包含的。应进一步理解,除非另外明确指出,否则本文中使用的术语“包括”、“包含”、“具有”、其变体是指“包含但不限于”。也就是说,这些术语可以指定所陈述的特征、整数、步骤、操作、元件或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件、组件或其群组的存在或添加。此外,应理解,除非另外明确陈述,否则词语“或”具有与布尔(Boolean)运算子“OR”相同的含义,即,其涵盖“任一”和“皆”的可能性,且不限于“异或”(“XOR”)。还应理解,除非另外明确陈述,否则两个邻接词之间的符号“/”具有与“或”相同的含义。另外,除非另外明确陈述,否则例如“连接到”、“耦合到”或“与...联通”等短语不限于直接连接。
本文使用例如“第一”、“第二”等名称对元件的任何参考通常不限制那些元件的量或次序。事实上,这些名称可在本文中用作区别两个或两个以上元素或元素实例的方便的方法。因此,对第一和第二元件的参考并不意味着此处可使用仅两个元件,或第一元件必须以某一方式先于第二元件。并且,除非另外说明,否则一组元件可包含一个或多个元件。此外,描述内容或权利要求书中使用的形式“a、b或c中的至少一个”或“a、b、c或其任何组合”的术语意味着“a或b或c,或这些要素的任何组合”。举例来说,此术语可以包含a或b或c,或者a和b,或者a和c,或者a和b和c,或者2a或2b或2c,或者2a和b等等。
如本文中所使用,术语“确定”涵盖广泛多种动作。举例来说,“确定”可以包含推算、计算、处理、导出、调查、查找(例如,在表、数据库或另一数据结构中查找)、确认等等。并且,“确定”可包含接收(例如,接收信息)、存取(例如,存取存储器中的数据)等。而且,“确定”可包含解析、选择、挑选、建立等等。
Claims (22)
1.一种数据存储设备,其包括:
非易失性存储器(NVM);
处理器,其耦合到所述NVM且配置成:
将默认存储格式应用于所述NVM的存储区域,所述默认存储格式将所述存储区域配置为逻辑上沿着水平维度和竖直维度布置的若干相异存储区域;
基于所述存储区域的性能能力使用水平维度缩放和竖直维度缩放的组合修改所述默认存储格式以获得修改后的存储格式;以及
将所述修改后的存储格式应用于所述存储区域。
2.根据权利要求1所述的数据存储设备,其中所述存储区域的所述性能能力是基于所述存储区域的一个或多个性能量度而确定的。
3.根据权利要求2所述的数据存储设备,其中所述一个或多个量度包括以下中的至少一个:误码率、误码计数、编程-擦除循环的数目、错误校正码(ECC)解码时延、编程持续时间、擦除循环持续时间或读取感测持续时间。
4.根据权利要求1所述的数据存储设备,其中所述水平维度缩放包括控制可用于所述相异存储区域中的每一个的奇偶校验位的数目,且其中所述竖直维度缩放包括控制可由所述存储区域的每一存储器单元存储的位的数目。
5.根据权利要求1所述的数据存储设备,其中水平维度缩放和竖直维度缩放的所述组合减小了所述存储区域的存储效率且增加了所述存储区域的耐久性。
6.根据权利要求1所述的数据存储设备,其中所述修改后的存储格式配置成相对于所述默认存储格式增加所述NVM的所述存储区域的耐久性或所述NVM的所述存储区域的可靠性中的至少一个。
7.根据权利要求1所述的数据存储设备,其中所述NVM包括NAND装置,且所述存储区域是所述NAND装置中的页或块。
8.根据权利要求1所述的数据存储设备,其中所述NVM包括磁性存储介质,且所述存储区域包含所述磁性存储介质的至少一个部分。
9.根据权利要求8所述的数据存储设备,其中所述水平维度缩放包括控制存储在所述磁性存储介质的所述至少一个部分的一个或多个轨道中的每英寸位(BPI)的数目,且其中所述竖直维度缩放包括控制用于所述磁性存储介质的所述至少一个部分的每英寸轨道(TPI)的数目。
10.根据权利要求9所述的数据存储设备,其中所述设备配置成使用叠瓦式磁记录将信息存储在所述磁性存储介质上。
11.一种操作数据存储设备的方法,其包括:
将第一存储格式应用于非易失性存储器(NVM)中的块的页,其中所述第一存储格式将所述页配置为第一数目的逻辑页;
当所述页的误码率超出阈值时确定所述页的第二存储格式,其中所述第二存储格式将所述页配置为第二数目的逻辑页,所述第二数目的逻辑页少于所述第一数目的逻辑页;以及
将所述第二存储格式应用于所述页。
12.根据权利要求11所述的方法,其中所述第二数目的逻辑页具有比所述第一数目的逻辑页高的错误校正码(ECC)率。
13.根据权利要求12所述的方法,其中所述第二存储格式相对于所述第一存储格式减小可存储在所述页的每一存储器单元中的位的数目。
14.根据权利要求11所述的方法,其中所述第一数目的逻辑页中的每一个和所述第二数目的逻辑页中的每一个配置成存储大约相同的数据量。
15.根据权利要求11所述的方法,其中所述第二数目的逻辑页中的每一个相对于所述第一数目的逻辑页中的每一个被分配更多错误校正码(ECC)位。
16.根据权利要求15所述的方法,其进一步包括:
当所述页的误码率超出第二阈值时确定所述页的第三存储格式,其中所述第三存储格式将所述页配置为第三数目的逻辑页,所述第三数目的逻辑页少于所述第二数目的逻辑页。
17.根据权利要求16所述的方法,其中所述第三数目的逻辑页包括比所述第二数目的逻辑页高的错误校正码(ECC)率。
18.一种数据存储设备,其包括:
非易失性存储器(NVM),其包括多个存储区域;
用于监视所述NVM的所述多个存储区域的误码率的构件,所述多个存储区域中的每一个具有存储格式;
用于识别所述多个存储区域中的误码率超出阈值的一个或多个存储区域的构件;以及
用于动态地缩放所述多个存储区域中的所述一个或多个的所述存储格式以减小所述多个存储区域中的所述一个或多个的所述误码率的构件。
19.根据权利要求18所述的数据存储设备,其中所述缩放后的存储格式减小所述多个存储区域中的所述一个或多个的存储效率以增加所述多个存储区域中的所述一个或多个的可靠性。
20.根据权利要求18所述的数据存储设备,其中所述缩放后的存储格式减小所述多个存储区域中的所述一个或多个的存储效率以增加可用于所述多个存储区域中的所述一个或多个的奇偶校验位的数目。
21.根据权利要求18所述的数据存储设备,其中所述多个存储区域中的所述一个或多个的第一存储区域具有第一缩放后的存储格式,且所述多个存储区域中的所述一个或多个的第二存储区域具有第二缩放后的存储格式,其中所述第一缩放后的存储格式不同于所述第二缩放后的存储格式。
22.根据权利要求21所述的数据存储设备,其中所述数据存储设备进一步包括用于使所述第一存储区域与所述第一缩放后的存储格式相关联且使所述第二存储区域与所述第二缩放后的存储格式相关联的构件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/455,181 US10990304B2 (en) | 2019-06-27 | 2019-06-27 | Two-dimensional scalable versatile storage format for data storage devices |
US16/455,181 | 2019-06-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148520A true CN112148520A (zh) | 2020-12-29 |
Family
ID=73747107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010196174.5A Pending CN112148520A (zh) | 2019-06-27 | 2020-03-19 | 用于数据存储装置的二维可缩放通用存储格式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10990304B2 (zh) |
KR (1) | KR102351489B1 (zh) |
CN (1) | CN112148520A (zh) |
DE (1) | DE102020107166A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113628087A (zh) * | 2021-08-20 | 2021-11-09 | 轩昂环保科技股份有限公司 | 城市智慧管家管理系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11150812B2 (en) | 2019-08-20 | 2021-10-19 | Micron Technology, Inc. | Predictive memory management |
US11907570B2 (en) * | 2020-02-25 | 2024-02-20 | Micron Technology, Inc. | Predictive media management for read disturb |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040246616A1 (en) * | 2003-06-09 | 2004-12-09 | Yun Jong Yun | Flexible BPI and TPI selection in disk drives |
CN103137199A (zh) * | 2011-11-30 | 2013-06-05 | 三星电子株式会社 | 存储器系统、数据存储设备、存储卡和固态驱动器 |
US9111578B1 (en) * | 2014-07-23 | 2015-08-18 | Seagate Technology Llc | Recording density variation of data tracks |
US20150234706A1 (en) * | 2014-02-18 | 2015-08-20 | Sandisk Technologies Inc. | Error detection and handling for a data storage device |
US20160299812A1 (en) * | 2015-04-08 | 2016-10-13 | Sandisk Enterprise Ip Llc | Device-Specific Variable Error Correction |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589766B2 (en) * | 2010-02-24 | 2013-11-19 | Apple Inc. | Codeword remapping schemes for non-volatile memories |
US9189385B2 (en) * | 2010-03-22 | 2015-11-17 | Seagate Technology Llc | Scalable data structures for control and management of non-volatile storage |
US20120038997A1 (en) * | 2010-08-16 | 2012-02-16 | Hitachi Asia Ltd. | System for write fault protection in a hard disk drive |
US20130343131A1 (en) * | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
KR101526110B1 (ko) * | 2013-02-07 | 2015-06-10 | 서울대학교산학협력단 | 증명 가능하고 정확한 오류 복구를 위한 플래시 변환 계층 설계 프레임워크 |
US20160299844A1 (en) | 2015-04-08 | 2016-10-13 | Sandisk Enterprise Ip Llc | Mapping Logical Groups of Data to Physical Locations In Memory |
US9768808B2 (en) | 2015-04-08 | 2017-09-19 | Sandisk Technologies Llc | Method for modifying device-specific variable error correction settings |
-
2019
- 2019-06-27 US US16/455,181 patent/US10990304B2/en active Active
-
2020
- 2020-03-16 DE DE102020107166.3A patent/DE102020107166A1/de active Pending
- 2020-03-19 CN CN202010196174.5A patent/CN112148520A/zh active Pending
- 2020-03-24 KR KR1020200035367A patent/KR102351489B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040246616A1 (en) * | 2003-06-09 | 2004-12-09 | Yun Jong Yun | Flexible BPI and TPI selection in disk drives |
CN103137199A (zh) * | 2011-11-30 | 2013-06-05 | 三星电子株式会社 | 存储器系统、数据存储设备、存储卡和固态驱动器 |
US20150234706A1 (en) * | 2014-02-18 | 2015-08-20 | Sandisk Technologies Inc. | Error detection and handling for a data storage device |
US9111578B1 (en) * | 2014-07-23 | 2015-08-18 | Seagate Technology Llc | Recording density variation of data tracks |
US20160299812A1 (en) * | 2015-04-08 | 2016-10-13 | Sandisk Enterprise Ip Llc | Device-Specific Variable Error Correction |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113628087A (zh) * | 2021-08-20 | 2021-11-09 | 轩昂环保科技股份有限公司 | 城市智慧管家管理系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20210001897A (ko) | 2021-01-06 |
US10990304B2 (en) | 2021-04-27 |
US20200409578A1 (en) | 2020-12-31 |
DE102020107166A1 (de) | 2020-12-31 |
KR102351489B1 (ko) | 2022-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9665295B2 (en) | Data storage system with dynamic erase block grouping mechanism and method of operation thereof | |
US8355279B2 (en) | Nonvolatile memory device and system, and method of programming a nonvolatile memory device | |
US8417879B2 (en) | Method for suppressing errors, and associated memory device and controller thereof | |
CN108647111B (zh) | 用于存储器的读取控制装置、读取控制方法和存储器控制器 | |
US9465552B2 (en) | Selection of redundant storage configuration based on available memory space | |
US9270296B1 (en) | Method and system for soft decoding through single read | |
US9563498B2 (en) | Method for preventing read-disturb errors, memory control circuit unit and memory storage apparatus | |
WO2018026570A1 (en) | Proactive corrective actions in memory based on a probabilistic data structure | |
CN112148520A (zh) | 用于数据存储装置的二维可缩放通用存储格式 | |
US9582224B2 (en) | Memory control circuit unit, memory storage apparatus and data accessing method | |
US8370680B2 (en) | Solid state storage system for controlling reserved area and method of controlling the same | |
US9472300B2 (en) | Data storage device and operating method thereof | |
US20160283319A1 (en) | Data storage device and encoding method thereof | |
KR20140104829A (ko) | 멀티 레벨 셀 비휘발성 메모리 시스템 | |
CN112562772B (zh) | 自适应低密度奇偶校验硬解码器 | |
CN112328508B (zh) | 多层存储器中的层交错 | |
US20200264953A1 (en) | Error correction in data storage devices | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN110727390A (zh) | 存储器管理方法以及存储控制器 | |
US11531582B2 (en) | Data storage device dynamically relocating data sectors based on map-out value | |
US11145372B2 (en) | Decoding method, memory controlling circuit unit, and memory storage device | |
CN117636999A (zh) | 数据恢复方法、存储器存储装置及存储器控制器 | |
CN117409845A (zh) | 分组管理方法、存储器存储装置及存储器控制器 | |
CN115202584A (zh) | 存储器管理方法、存储器控制器及存储器存储装置 | |
CN117882045A (zh) | 用于存储器装置的自动vdm调整 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240829 Address after: California, USA Applicant after: SanDisk Technology Co. Country or region after: U.S.A. Address before: California, USA Applicant before: Western Digital Technologies, Inc. Country or region before: U.S.A. |