CN112204533A - 具有两个数据部分的存储器中的数据重定位 - Google Patents
具有两个数据部分的存储器中的数据重定位 Download PDFInfo
- Publication number
- CN112204533A CN112204533A CN201980035424.2A CN201980035424A CN112204533A CN 112204533 A CN112204533 A CN 112204533A CN 201980035424 A CN201980035424 A CN 201980035424A CN 112204533 A CN112204533 A CN 112204533A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- logical block
- physical
- relocating
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 285
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 2
- 238000003491 array Methods 0.000 description 18
- 238000013507 mapping Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本公开包含用于具有两个数据部分的存储器中的数据重定位的设备、方法和系统。实施例包含具有多个存储器单元物理块以及第一数据部分和第二数据部分的存储器,所述第一数据部分和第二数据部分分别具有与其相关联的第一数目个逻辑块地址和第二数目个逻辑块地址。所述多个单元物理块中的两个不存储数据。电路系统被配置成将与所述第一数目个逻辑块地址中的一个相关联的所述第一部分的所述数据重定位到不存储数据的所述两个单元物理块中的一个,并且将与所述第二数目个逻辑块地址中的一个相关联的所述第二部分的所述数据重定位到不存储数据的所述两个单元物理块中的另一个。
Description
技术领域
本公开大体上涉及半导体存储器和方法,并且更具体地说,涉及具有两个数据部分的存储器中的数据重定位。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路和/或外部可移除装置。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据,且可包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)等。非易失性存储器可通过当不被供电时保存所存储的数据来提供永久性数据,并且可包含NAND闪存存储器、NOR闪存存储器、只读存储器(ROM),以及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)和磁性随机存取存储器(MRAM),等等。
存储器装置可组合到一起形成固态驱动器(SSD)、嵌入式多媒体卡(e.MMC),和/或通用闪存存储(UFS)装置。SSD、e.MMC和/或UFS装置可包含非易失性存储器(例如,NAND闪存存储器和NOR闪存存储器),和/或可包含易失性存储器(例如,DRAM和SRAM),以及各种其它类型的非易失性和易失性存储器。非易失性存储器可用于广泛范围的电子应用中,例如个人计算机、便携式存储器棒、数码相机、蜂窝式电话、便携式音乐播放器,例如MP3播放器、电影播放器等等。
闪存存储器装置可包含将数据存储于例如浮动栅极的电荷存储结构中的存储器单元。闪存存储器装置通常使用允许高存储器密度、高可靠性和低功耗的单晶体管存储器单元。电阻可变存储器装置可包含可基于存储元件(例如,具有可变电阻的电阻性存储器元件)的电阻状态存储数据的电阻性存储器单元。
存储器单元可布置成阵列,且阵列架构中的存储器单元可被编程为目标(例如,所要)状态。举例来说,电荷可置于快闪存储器单元的电荷存储结构(例如,浮动栅极)上或从其移除以将所述单元编程到特定数据状态。所述单元的电荷存储结构上的所存储电荷可指示所述单元的阈值电压(Vt)。可通过感测快闪存储器单元的电荷存储结构上的所存储电荷(例如,Vt)来确定所述单元的状态。
作为额外实例,电阻性存储器单元可被编程为通过改变电阻性存储器元件的电阻电平来存储对应于目标数据状态的数据。可通过在特定持续时间内将电场或能量源(例如正或负电脉冲(例如,正或负电压或电流脉冲))施加到电阻性存储器单元(例如,所述单元的电阻性存储器元件),将所述单元编程到目标数据状态(例如,对应于特定电阻状态)。可通过响应于施加的询问电压而感测到通过电阻性存储器单元的电流,确定所述单元的状态。基于所述单元的电阻电平而变化的所感测电流可指示所述单元的状态。
单层级存储器单元(SLC)可被编程为两个不同的数据状态中的一个目标数据状态,其可由二进制单位1或0表示。一些快闪存储器单元和电阻性存储器单元可被编程为大于两个数据状态(例如,1111、0111、0011、1011、1001、0001、0101、1101、1100、0100、0000、1000、1010、0010、0110和1110)中的一个目标数据状态。此类单元可被称为多状态存储器单元、多单位单元或多层级单元(MLC)。MLC可允许制造较高密度存储器,而不会增加存储器单元的数目,这是因为每一单元可表示多于一个数字(例如,多于一个的位)。
附图说明
图1说明根据本公开的实施例的具有数个物理块的存储器阵列的一部分的图式。
图2是根据本公开的实施例的包含主机和呈存储器装置形式的设备的计算系统的框图。
图3是根据本公开的实施例的用于执行存储器中的数据重定位操作的电路系统的框图。
图4说明根据本公开的实施例的在存储器中执行的数据重定位操作的概念实例。
图5A说明根据本公开的实施例的在存储器中执行的数据重定位操作序列的概念实例。
图5B是根据本公开的实施例的与在存储器中执行的数据重定位操作序列相关联的值的表。
具体实施方式
本公开包含用于具有两个数据部分的存储器中的数据重定位的设备、方法和系统。实施例包含具有多个存储器单元物理块的存储器,且第一数据部分和第二数据部分分别具有与其相关联的第一数目个逻辑块地址和第二数目个逻辑块地址。所述多个单元物理块中的两个不存储数据。电路系统被配置成将与第一数目个逻辑块地址中的一个相关联的第一部分的数据重定位到不具有存储于其中的数据的两个单元物理块中的一个,并且将与第二数目个逻辑块地址中的一个相关联的第二部分的数据重定位到不具有存储于其中的数据的两个单元物理块中的另一个。
耗损均衡操作可包含和/或是指将目前存储于存储器的一个物理方位中的数据重定位到存储器的另一物理方位的操作。执行这类耗损均衡操作可增加存储器的性能(例如,增加速度,增加可靠性和/或减小功率消耗),和/或可增加存储器的耐久性(例如,寿命)。
先前耗损均衡操作可使用表重定位存储器中的数据。然而,这类表可为大(例如,可使用存储器中的大量空间),并且可致使耗损均衡操作变缓慢。相比之下,根据本公开的重定位数据的操作(例如,耗损均衡操作)可维持代数映射(例如,逻辑地址和物理地址之间的代数映射)以供用于识别数据已重定位到的物理方位(例如,物理块)。因此,根据本公开的重定位数据的操作可使用存储器中的较少空间,并且可比先前耗损均衡操作更快速。
此外,存储器可包含(例如,分割和/或划分成)两个不同的数据部分(例如,逻辑区),如将在本文中进一步描述。在此类实例中,先前耗损均衡操作可能需要独立地应用于存储器的每一相应部分(例如,可能需要单独操作用于每一相应部分),且每一相应部分的数据可仅跨存储器的一部分重定位(例如,每一相应部分的数据可保持于存储器的单独物理区中)。然而,这类方法在增加存储器的性能和/或耐久性上可为低效的。举例来说,由于两个不同逻辑区的大小和/或其上的工作负载可不同,因此物理区中的一个可比另一个受到更大应力。
相比之下,与先前耗损均衡操作相比,根据本公开的重定位数据的操作(例如,耗损均衡操作)可在包含两个不同部分的存储器上更高效地工作(例如,增加性能和/或耐久性)。举例来说,根据本公开的重定位数据的操作可同时应用于存储器的每一相应部分(例如,同一操作可用于这两个部分)。此外,每一相应部分的数据可跨整个存储器重定位(例如,每一相应部分的数据可跨存储器的所有不同物理方位滑动)。因此,根据本公开的重定位数据的操作可能够考虑(例如,补偿)两个部分的大小和/或工作负载的差异。
此外,先前耗损均衡操作可能无法实施于硬件中。相比之下,根据本公开的重定位数据的操作(例如,耗损均衡操作)可为可实施(例如,完全可实施)于硬件中的。举例来说,根据本公开的重定位数据的操作可为可实施于存储器的控制器中,或存储器自身内。因此,根据本公开的重定位数据的操作可能不影响存储器的时延,并且可能不会给存储器带来额外开销。
虽然实施例不限于存储器或存储器装置的特定类型,但根据本公开的重定位数据的操作(例如,耗损均衡操作)可在包含可为存储级存储器的第一存储器阵列和可为NAND快闪存储器的数个第二存储器阵列的混合式存储器装置上执行(例如,实行)。举例来说,所述操作可在第一存储器阵列和/或第二数目个存储器阵列上执行以增加混合式存储器的性能和/或耐久性。
如本文中所使用,“一”或“数个”可以指某事物中的一或多个,且“多个”可以指这类事物中的两个或更多个。举例来说,存储器装置可以指一或多个存储器装置,且多个存储器装置可以指两个或更多个存储器装置。另外,如本文中所使用的指定符“R”、“B”、“S”和“N”,尤其相对于图式中的附图标记,指示如此指定的数个特定特征可与本公开的数个实施例包含在一起。
本文中的图遵循编号定则,其中第一的一或多个数字对应于图号,且剩余的数字识别图式中的元件或组件。可通过使用类似数字来识别不同图式之间的类似元件或组件。举例来说,214可表示图2中的元件“14”,且相似元件可在图3中表示为314。
图1说明根据本公开的实施例的具有数个物理块的存储器阵列101的一部分的图式。举例来说,存储器阵列101可为NAND快闪存储器阵列。作为额外实例,存储器阵列101可为存储级存储器(SCM)阵列,例如3D XPoint存储器阵列、铁电RAM(FRAM)阵列,或可变电阻存储器阵列,例如PCRAM、RRAM或自旋力矩转移(STT)阵列等等。存储器阵列101可以是混合式存储器的部分,如将在本文中(例如,结合图2)进一步描述。此外,虽然图1中未示出,存储器阵列101可与和其操作相关联的各种外围电路一起位于特定半导体裸片上。
如图1所示,存储器阵列101具有存储器单元的数个物理块107-0(块0)、107-1(块1)、……、107-B(块B)。存储器单元可为单层级单元和/或多层级单元,例如二层级单元、三层级单元(TLC)或四层级单元(QLC)。作为实例,存储器阵列101中的物理块的数目可为128个块、512个块或1024个块,但实施例不限于存储器阵列101中的二的特定幂或任何特定数目个物理块。
数个存储器单元物理块(例如,块107-0、107-1、……、107-B)可包含在存储器单元的平面中,且存储器单元的数个平面可包含于裸片上。举例来说,在图1所示的实例中,每一物理块107-0、107-1、……、107-B可以是单个裸片的部分。也就是说,图1中所说明的存储器阵列101的部分可为存储器单元的裸片。
如图1所示,每一物理块107-0、107-1、……、107-B包含存储器单元的耦合到存取线(例如,字线)的数个物理行(例如,103-0、103-1、……、103-R)。每一物理块中的行(例如,字线)的数目可为32,但实施例不限于每物理块特定数目行103-0、103-1、……、103-R。此外,虽然图1中未示出,但存储器单元可耦合到感测线(例如,数据线和/或数字线)。
如所属领域的普通技术人员将了解,每一行103-0、103-1、……、103-R可包含数个存储器单元页(例如,物理页)。物理页是指编程和/或感测单元(例如,一起被编程和/或感测为功能群组的数个存储器单元)。在图1中示出的实施例中,每一行103-0、103-1、……、103-R包括存储器单元的一个物理页。然而,本公开的实施例不限于此。举例来说,在一实施例中,每一行可包括存储器单元的多个物理页(例如,耦合到偶数编号的位线的一或多个均匀存储器单元页,以及耦合到奇数编号的位线的一或多个奇数存储器单元页)。另外,对于包含多层级单元的实施例,存储器单元的物理页可存储多个数据页(例如,逻辑页)(例如,上部数据页和下部数据页,其中物理页中的每一单元存储朝向上部数据页的一或多个位和朝向下部数据页的一或多个位)。
在本公开的实施例中,并且如图1所示,存储器单元页可包括数个物理扇区105-0、105-1、……、105-S(例如,存储器单元子集)。单元的每一物理扇区105-0、105-1、……、105-S可存储数据的数个逻辑扇区。另外,数据的每一逻辑扇区可对应于特定数据页的一部分。作为实例,存储于特定物理扇区中的数据的第一逻辑扇区可对应于与第一数据页对应的逻辑扇区,且存储于特定物理扇区中的数据的第二逻辑扇区可对应于第二数据页。每一物理扇区105-0、105-1、……、105-S可存储系统和/或用户数据,和/或可包含开销数据,例如错误校正码(ECC)数据、逻辑块地址(LBA)数据和元数据。
逻辑块寻址是可供主机用于识别数据逻辑扇区的方案。举例来说,每一逻辑扇区可对应于唯一逻辑块地址(LBA)。另外,LBA也可对应于(例如,动态地映射到)可指示存储器中的数据的所述逻辑扇区的物理方位的物理地址,例如物理块地址(PBA)。数据的逻辑扇区可以是数据的字节数目(例如256字节、512字节、1024字节或4,096字节)。然而,实施例不限于这些实例。此外,在本公开的实施例中,存储器阵列101可分割和/或划分成具有与其相关联的第一数目个LBA的数据的第一逻辑区,以及具有与其相关联的第二数目个LBA的数据的第二逻辑区,如将在本文中(例如,结合图2)进一步描述。
应注意,用于物理块107-0、107-1、……、107-B、行103-0、103-1、……、103-R、扇区105-0、105-1、……、105-S和页的其它配置是可能的。举例来说,物理块107-0、107-1、……、107-B的行103-0、103-1、……、103-R可各自存储对应于可包含例如多于或少于512字节的数据的单一逻辑扇区的数据。
图2是根据本公开的实施例的包含主机202和呈存储器装置206形式的设备的计算系统200的框图。如本文所使用,“设备”可以指但不限于多种结构或结构组合中的任何一种,例如电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。此外,在一实施例中,计算系统200可包含类似于存储器装置206的数个存储器装置。
在图2中所说明的实施例中,存储器装置206可包含第一类型的存储器(例如,第一存储器阵列210)和第二类型的存储器(例如,数个第二存储器阵列212-1、……、212-N)。存储器装置206可为混合式存储器装置,其中存储器装置206包含与数个第二存储器阵列212-1、……、212-N为不同类型的存储器的第一存储器阵列210。第一存储器阵列210可为存储级存储器(SCM),其可为充当用于存储器装置206的主存储器的非易失性存储器,这是因为其与第二数目个存储器阵列212-1、……212-N相比具有更快的存取时间。举例来说,第一存储器阵列210可为3D XPoint存储器阵列、FRAM,或可变电阻存储器,例如PCRAM、RRAM或STT等等。第二数目个存储器阵列212-1、……、212-N可充当用于存储器装置206的数据存储装置(例如,存储存储器),并且可为NAND快闪存储器,以及其它类型的存储器。
虽然图2中所说明的实施例包含第一类型的存储器的一个存储器阵列,但本公开的实施例不限于此。举例来说,在一实施例中,存储器装置206可包含数个SCM阵列。然而,存储器装置206可包含第一类型的存储器比第二类型的存储器少。举例来说,存储器阵列210可存储与存储于存储器阵列212-1、……、212-N中的数据更少的数据。
以类似于先前结合图1描述的存储器阵列101的方式,存储器阵列210和存储器阵列212-1、……、212-N可各自具有多个存储器单元物理块。此外,存储器(例如,存储器阵列210和/或存储器阵列212-1、……、212-N)可包含(例如,分割和/或划分成)两个不同的数据部分(例如,逻辑区)。举例来说,存储器可包含具有与其相关联的第一数目(例如,第一量)的逻辑块地址(LBA)的第一数据部分,以及具有与其相关联的第二数目(例如,第二量)的LBA的第二数据部分。第一数目个LBA可包含例如第一LBA序列,且第二数目个LBA可包含例如第二LBA序列。
作为实例,第一数据部分可包括用户数据,且第二数据部分可包括系统数据。作为额外实例,第一数据部分可包括在对存储器执行的编程和/或感测操作期间已以特定频率或高于特定频率的频率存取的数据(例如,其相关联的LBA已经存取的数据),且第二数据部分可包括在对存储器执行的编程和/或感测操作期间已以低于所述特定频率的频率存取的数据(例如,其相关联的LBA已经存取的数据)。在此实例中,第一数据部分可包括分类为“热”数据的数据,且第二数据部分可包括分类为“冷”数据的数据。作为额外实例,第一数据部分可包括操作系统数据(例如,操作系统文件),且第二数据部分可包括多媒体数据(例如,多媒体文件)。在此实例中,第一数据部分可包括分类为“关键”数据的数据,且第二数据部分可包括分类为“非关键”数据的数据。
第一数目个LBA和第二数目个LBA可相同(例如,第一数据部分和第二数据部分可为相同大小),或第一数目个LBA可不同于第二数目个LBA(例如,第一数据部分和第二数据部分的大小可不同)。举例来说,第一数目个LBA可大于第二数目个LBA(例如,第一数据部分的大小可大于第二数据部分的大小)。此外,第一数目个LBA中的每一相应LBA的大小可与第二数目个LBA中的每一相应LBA的大小相同,或第一数目个LBA中的每一相应LBA的大小可不同于第二数目个LBA中的每一相应LBA的大小。举例来说,第一数目个LBA中的每一相应LBA的大小可为第二数目个LBA中的每一相应LBA的大小的倍数。此外,与存储器的每一相应部分相关联的LBA可随机化。举例来说,LBA可由静态随机化器处理。
在一实施例中,存储器的多个物理块中的至少两个可能不具有存储于其中的有效数据。举例来说,存储器中的两个物理块可为空白的。这些物理块可分隔存储器中的第一数据部分和第二数据部分(例如,处于存储器中的第一数据部分和第二数据部分之间)。举例来说,这两个物理块中的第一个可在第一数据部分之后且第二数据部分之前,且这两个物理块中的第二个可在第二部分之后且第一部分之前。这些物理块在本文中可以被称为分隔块。说明具有通过两个这类分隔块分隔开的两个不同数据部分的存储器的实例将在本文中(例如,结合图4)进一步描述。
如图2中所说明,主机202可经由接口204耦合到存储器装置206。主机202和存储器装置206可在接口204上通信(例如,发送命令和/或数据)。主机202可为手提式计算机、个人计算机、数码相机、数字记录和重放装置、移动电话、PDA、存储卡读卡器或接口集线器,以及其它主机系统,并且可包含存储器存取装置(例如,处理器)。所属领域一般技术人员将理解,“处理器”可以是一或多个处理器,例如并行处理系统、多个协处理器等。
接口204可呈标准化物理接口形式。举例来说,当存储器装置206用于计算系统200中的信息存储时,接口204可为串行高级技术附件(SATA)物理接口、外围组件互连高速(PCIe)物理接口、通用串行总线(USB)物理接口,或小型计算机系统接口(SCSI),以及其它物理连接器和/或接口。然而,一般来说,接口204可提供用于在存储器装置206与具有用于接口204的兼容接收器的主机(例如,主机202)之间传送控制、地址、信息(例如,数据)和其它信号的接口。
存储器装置206包含与主机202以及第一存储器阵列210和数个第二存储器阵列212-1、……、212-N通信的控制器208。控制器208可发送对第一存储器阵列210和数个第二存储器阵列212-1、……、212-N执行操作的命令。控制器208可与第一存储器阵列210和数个第二存储器阵列212-1、……、212-N通信以感测、(例如,读取)、编程(例如,写入)、移动和/或擦除数据,以及其它操作。
控制器208可与存储器210和212-1、……、212-N包含于同一物理装置(例如,同一裸片)上。替代地,控制器208可包含于以通信方式耦合到包含存储器210和212-1、……、212-N的物理装置的单独物理装置上。在一实施例中,控制器208的组件可作为分布式控制器散布在多个物理装置上(例如,一些组件与存储器处于同一裸片上,且一些组件处于不同裸片、模块或板上)。
主机202可包含与存储器装置206通信的主机控制器。主机控制器可经由接口204将命令发送到存储器装置206。主机控制器可与存储器装置206和/或存储器装置206上的控制器208通信以读取、写入和/或擦除数据,以及其它操作。
存储器装置206上的控制器208和/或主机202上的主机控制器可包含控制电路系统和/或逻辑(例如,硬件和固件)。在一实施例中,存储器装置206上的控制器208和/或主机202上的主机控制器可为耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)。而且,存储器装置206和/或主机202可包含易失性和/或非易失性存储器的缓冲器和数个寄存器。
举例来说,如图2中所示出,存储器装置可包含电路系统214。在图2中所说明的实施例中,电路系统214包含在控制器208中。然而,本公开的实施例不限于此。举例来说,在一实施例中,电路系统214可包含在存储器210和/或存储器212-1、……、212-N中(例如,而非包含在控制器208中)(例如,与存储器210和/或存储器212-1、……、212-N处于同一裸片上)。
电路系统214可包括例如硬件,并且可执行耗损均衡操作以根据本公开重定位存储于存储器阵列210和/或存储器阵列212-1、……、212-N中的数据。举例来说,电路系统214可将与第一数目个LBA中的一个特定LBA相关联的第一数据部分的数据重定位到两个分隔块中的一个,并且可将与第二数目个LBA中的一个特定LBA相关联的第二数据部分的数据重定位到两个分隔块中的另一个。
举例来说,电路系统214可将与第一数目个LBA中的最后一个LBA(例如,第一LBA序列中的最后一个LBA)相关联的第一部分的数据重定位到第二分隔块(例如,在第二部分之后且第一部分之前的分割块),且电路系统214可将与第二数目个LBA中的最后一个LBA(例如,第二LBA序列中的最后一个LBA)相关联的第二部分的数据重定位到第一分隔块(例如,在第一部分之后且第二部分之前的分割块)。这类数据重定位可造成存储器的两个不同物理块不存储有效数据(例如,可造成存储器的两个不同物理块变成分割块)。举例来说,重定位与第一数目个LBA中的最后一个LBA相关联的第一部分的数据可使得不同物理块变成处于第二部分之后且第一部分之前的分割块,且重定位与第二数目个LBA中的最后一个LBA相关联的第二部分的数据可造成不同物理块变成处于第一部分之后且第二部分之前的分割块。此外,重定位与第一数目个LBA中的最后一个LBA相关联的第一部分的数据可造成第一数目个LBA中的一个不同的LBA(例如,第一LBA序列中的倒数第二个LBA)变成第一数目个LBA中的最后一个LBA,且重定位与第二数目个LBA中的最后一个相关联的第二部分的数据可造成第二数目个LBA中的一个不同的LBA(例如,第二LBA序列中的倒数第二个LBA)变成第二数目个LBA中的最后一个LBA。说明这类数据重定位操作的实例将在本文中(例如,结合图3和4)进一步描述。
在一实施例中,电路系统214可响应于触发事件二执行重定位数据的操作。所述触发事件可以是例如正在对存储器执行(例如,实行)的特定数目个编程操作,例如,100个编程操作。举例来说,计数器(图2中未展示)可被配置成响应于正在执行的特定数目个编程操作而发送起始信号,且电路系统214可响应于接收到来自计数器的起始信号而执行重定位数据的操作。作为额外实例,所述触发事件可为在存储器中发生的功率状态转变,例如,存储器装置206从作用中模式转变到备用模式、空闲模式或断电模式。
在一实施例中,可在重定位第一部分的数据后立即重定位第二部分的数据。然而,在一些情况下,可能需要暂停重定位数据的操作以便执行主机202请求的操作,例如编程或感测操作。在此情况下,可在重定位第一部分的数据后(例如,在数据重定位完成后)即刻执行主机请求的操作,且可在执行所请求的操作后(例如,在所述操作完成后)即刻重定位第二部分的数据。
一旦数据经重定位,电路系统214便可使用代数映射识别存储器中的数据已重定位到的物理方位。举例来说,电路系统214可使用代数映射(例如,代数逻辑到物理映射)识别(例如,计算)第一部分的数据已重定位到的物理块在存储器中的方位(例如,PBA)(例如,第二分隔块的方位),以及存储器的第二部分中的数据已重定位到的物理块在存储器中的方位(例如,PBA)(例如,第一分隔块的方位)。举例来说,电路系统214可使用代数映射识别在感测第一部分的经重定位数据的操作期间(例如,在接收到来自主机202的读取第一数目个LBA中的一个的请求后)所述经重定位数据已重定位到的物理块在存储器中的方位,以及识别在感测第二部分的经重定位数据的操作期间(例如,在接收到来自主机202的读取第二数目个LBA中的一个的请求后)所述经重定位数据已重定位到的物理块在存储器中的方位。这类代数映射将在本文中(例如,结合图3)进一步描述。
电路系统214可执行在存储器的整个寿命中进一步重定位存储于存储器阵列210和/或存储器阵列212-1、……、212-N中的数据的额外(例如,后续)耗损均衡操作。举例来说,电路系统214可执行响应于额外(例如,后续)触发事件二重定位数据的额外(例如,后续)操作。
举例来说,在本文中先前所描述的实例操作之后重定位存储器中的数据的操作中,电路系统214可将与第一数目个LBA中现在已变成最后一个LBA的不同LBA(例如,先前是第一LBA序列中倒数第二个LBA的LBA)相关联的第一部分的数据重定位到现在已变成处于第二部分之后且第一部分之前的分割块的不同物理块,且电路系统214可将与第二数目个LBA中现在已变成最后一个LBA的不同LBA(例如,先前是第二LBA序列中倒数第二个LBA的LBA)相关联的第二部分的数据重定位到现在已变成处于第一部分之后且第二部分之前的分割块的不同物理块。这类数据重定位可再次使得存储器的两个不同物理块变成分割块,且第一和第二数目个LBA中的不同LBA分别变成第一和第二数目个LBA中的最后一个LBA,且后续数据重定位操作可继续以类似方式执行。说明这类后续数据重定位操作序列的实例将在本文中(例如,结合图5A-5B)进一步描述。
图2中所说明的实施例可包含未说明的额外电路系统、逻辑和/或组件以免模糊本公开的实施例。举例来说,存储器装置206可包含锁存在I/O连接器上通过I/O电路系统提供的地址信号的地址电路系统。地址信号可由行解码器和列解码器接收和解码,以存取存储器阵列210和212-1、……、212-N。此外,存储器装置206可包含与存储器阵列210-1和212-1、……、212-N隔开和/或包含在一起的主存储器,例如DRAM或SDRAM。
图3是根据本公开的实施例的用于执行存储器中的数据重定位操作的电路系统314的框图。举例来说,电路系统314可为先前结合图2描述的电路系统214。
如图3中所示,电路系统314可包含四个寄存器(例如,第一寄存器320-1、第二寄存器320-2、第三寄存器320-3和第四寄存器320-4)。寄存器320-1可存储指示(例如,指向)存储器的与第一数目个LBA中的第一个LBA(例如,第一LBA序列中的第一LBA)相关联的第一部分的数据的PBA的值。此值可在本文中被称为。
寄存器320-2可存储指示存储器不存储数据的两个物理块中的一个的PBA的值,且寄存器320-3可存储指示不存储数据的两个物理块中的另一个的PBA的值。举例来说,寄存器320-2可存储指示用于处于第一数据部分之后且第二数据部分之前的物理块(例如,第一分隔块)的,PBA的值,且寄存器320-3可存储指示处于第二部分之后且第一部分之前的物理块(例如,第二分隔块)的PBA的值。寄存器320-2所存储的值可在本文中被称作“gA”,且寄存器320-3所存储的值可在本文中被称作“gB”。
寄存器320-4可将指示第二数目个LBA中的第一个LBA(例如,第二LBA序列中的第一LBA)的相对位置的值存储于存储器的第二数据部分中。此值可在本文中被称作“rB”。
电路系统314可使用存储于寄存器320-1、320-2、320-3和320-4中的值(例如,SA、gA、gB和rB)执行根据本公开的存储器中的数据重定位操作。举例来说,电路系统314可使用表示可执行指令的以下代码实例执行根据本公开的数据重定位操作。在以下实例中,“nPBA”表示存储器中的PBA的总数目(例如,数量),“nA”表示与第一数据部分相关联的LBA(例如,第一数目个LBA)的总数目,“nB”表示与第二数据部分相关联的LBA(例如,第二数目个LBA)的总数目,且“sep”表示每一相应分隔块的PBA的数目。
此外,电路系统314可使用存储于寄存器320-1、320-2、320-3和320-4中的值(例如,SA、gA、gB和rB)执行用以识别(例如,在如本文中先前所描述的感测操作期间)数据已重定位到的存储器中物理方位(例如,PBA)的代数映射(例如,代数逻辑到物理映射)。举例来说,电路系统314可使用以下“第一部分映射”计算与第一数据部分相关联的任何LBA(在下文表示为“l”)的PBA(在下文表示为“p”),且电路系统314可使用以下“第二部分映射”计算与第二数据部分相关联的任何LBA的PBA:
第一部分映射
其中l∈{0,…,nA-1}
第二部分映射
p=((l+rB)mod nB+gA+sep)mod nPBA
其中l∈{0,…,nB-1}
图4说明根据本公开的实施例的在存储器中执行的数据重定位操作的概念实例430。存储器可以是例如先前结合图2描述的存储器阵列210和/或存储器阵列212-1、……、212-N,且数据重定位操作可由例如先前分别结合图2和3描述的电路系统214和/或314执行。
在图4中说明的实例中,存储器包含由PBA 0到PBA 9(例如,PBA 0对应于第一物理块,PBA 1对应于第二物理块,PBA 2对应于第三物理块等)表示的十个存储器单元物理块。此外,在图4中说明的实例中,存储器包含(例如,分割和/或划分成)两个不同数据部分(例如,逻辑区),其可称为部分A和部分B。如图4中所示,部分A的数据具有与其相关联的五个LBA(例如,LBA A0到A4),且部分B的数据具有与其相关联的三个LBA(例如,LBA B0到B2)。在图4中说明的实例中,部分A和部分B的LBA大小相同。此外,图4中示出的“SA”指示与LBA A0相关联的部分A的数据的PBA,且图4中示出的“rB”指示部分B中的LBA B0的相对位置(例如,与部分B相关联的LBA序列中的LBA B0的相对位置)。
此外,在图4中说明的实例中,存储器的两个物理块不存储有效数据,并且分割部分A和部分B(例如,处于部分A与部分B之间)。这些块可以被称作分隔块(如本文中先前所描述),并且在图4中由“--”符号表示。在图4中说明的实例中,“gA”指示处于部分A之后且部分B之前的分割块的PBA,且“gB”指示处于部分B之后且部分A之前的分割块的PBA。
在图4中说明的实例中,每一相应分隔块包括一个PBA,其大小与部分A和B的LBA大小相同。然而,在其中部分A和B的LBA大小不同,例如其中一个部分的大小是另一部分的大小的倍数的实例中,每一分隔块中的PBA的数目可等于所述倍数。举例来说,如果部分B的LBA大小等于PBA大小,但部分A的LBA大小是四个PBA,那么每一分隔块中的PBA的数目是四个。
在图4中标记为“步骤0”的列示出在执行数据重定位操作之前存储器内的数据分配。举例来说,如图4中所说明,在执行数据重定位操作之前,部分A的数据位于PBA0到PBA 4中,部分B的数据位于PBA 6到PBA 8中处于部分A之后且部分B之前的分割块位于PBA 5处(例如,如由gA所指示),且处于部分B之后且部分A之前的分割块位于PBA 9处(例如,如由gB所指示)。此外,如图4中所说明,在执行数据重定位操作之前,部分B中的LBA B0的相对位置是第一个(例如,如由rB的值所指示,LBA B0是与部分B相关联的LBA序列中的第一个)。
数据重定位操作可划分成两个子步骤,其由图4中的“步骤1B”和“步骤1A”列表示。如图4中所示,在第一子步骤(例如,步骤1B)期间,与部分B的LBA中的最后一个相关联的部分B的数据(例如,与LBA B2相关联的数据)重定位到处于部分A之后且部分B之前的分割块(例如,重定位到由gA指示的分割块)。也就是说,第一子步骤(例如,步骤1B)将与部分B的LBA中的最后一个相关联的数据向上移动到部分B的LBA中的第一个之前(例如,将与LBA B2相关联的数据向上移动到与LBA B0和LBA B1相关联的数据之前)。在第二子步骤(例如,步骤1A)期间,与部分A的LBA中的最后一个相关联的部分A的数据(例如,与LBA A4相关联的数据)重定位到处于部分B之后且部分A之前的分割块(例如,重定位到由gB指示的分割块),如图4中所说明。也就是说,第二子步骤将与部分A的LBA中的最后一个相关联的数据向下移动到部分B的LBA之后(例如,将与LBA A4相关联的数据向下移动到与LBA B2、B0和B1相关联的数据之后)。
由于数据重定位操作(例如,在执行步骤1B和1A之后),PBA 4变成处于部分A之后且部分B之前的分割块,且PBA 8变成处于部分B之后且部分A之前的分割块,如图4中所说明(例如分别由gA和gB所指示,在步骤1B之后)。而且,由于数据重定位操作,部分A的LBA中的倒数第二个(例如,LBA A3)变成处于部分B之前的部分A的LBA中的最后一个,且部分B的LBA中的倒数第二个(例如,LBA B1)变成部分B的LBA中的最后一个,如图4中所说明。而且,由于数据重定位操作,部分A的数据变成位于PBA 0到PBA 3和PBA 9中,且部分B的数据变成位于PBA 5到7中,如图4中所说明。而且,由于数据重定位操作,部分B中的LBA B0的相对位置变成第二个(例如,LBA B0变成与部分B相关联的LBA序列中的第二个,如由rB的值所指示),如图4中所说明。
在图4中说明的实例中,每一子集在数据重定位操作期间运行一次。然而,在其中部分A和B的LBA大小不同,例如,其中一个部分的大小是另一个部分的大小的倍数的实例中,可需要步骤1A和/或步骤1B运行一次以上。举例来说,在其中部分B的LBA大小等于PBA大小,但部分A的LBA大小是四个PBA的实例中,步骤1B将运行四次,且步骤1A将运行一次。
图5A说明根据本公开的实施例的在存储器中执行的数据重定位操作序列的概念实例540。存储器类似于先前结合图4描述的存储器,且数据重定位操作可由例如先前分别结合图2和3描述的电路系统214和/或314执行。图5B是与数据重定位操作序列相关联的SA、gA、gB和rB的值的表545。SA、gA、gB和rB分别类似于先前结合图4描述的SA、gA、gB和rB。图5A和5B中的每一“步骤”列表示执行子步骤B和子集A两者的效应(例如,“步骤1”是结合图4描述的子步骤1B和子步骤1A的组合)。
图5A中标记为“步骤0”的列示出在执行所述序列的第一数据重定位操作之前存储器内的数据分配,且类似于结合图4描述的“步骤0”列。举例来说,如图5B中所示,(例如,在执行第一数据重定位操作之前)步骤0列中的SA、gA、gB和rB的值分别是0、5、9和0,如结合图4所描述。
图5A中标记为“步骤1”到“步骤6”的列示出在执行所述序列中的每一相应数据重定位操作之后存储器内的数据分配。举例来说,步骤1列示出在执行第一数据重定位操作之后的数据分配,并且类似于结合图4描述的子步骤1B和子步骤1A的组合效应。步骤2列示出在执行第二数据重定位操作之后的数据分配,步骤3列示出在执行第三数据重定位操作之后的数据分配等。此外,图5B中标记为“步骤1”到“步骤6”性能的列示出在执行所述序列中的每一相应数据重定位操作之后的SA、gA、gB和rB的值。举例来说,分别在图5A和5B中的步骤1列中示出的数据分配和值类似于结合图4描述的在重定位操作之后的数据分配以及SA、gA、gB和rB值。
如图5A的步骤2列中所示,在执行所述序列中的第二数据重定位操作之后,在步骤1之后与部分B的LBA中的最后一个相关联的部分B的数据(例如,与LBA B1相关联的数据)重定位到在步骤1之后处于部分A之后且部分B之前的分割块(例如,重定位到PBA 4),且在步骤1之后与部分A的LBA中的最后一个相关联的部分A的数据(例如,与LBA A3相关联的数据)重定位到在步骤1之后处于部分B之后且部分A之前的分割块(例如,重定位到PBA 8)。此外,如图5A的步骤2列中所示,PBA 3已变成处于部分A之后且部分B之前的分割块,且PBA 7已变成处于部分B之后且部分A之前的分割块,如分别由图5B的步骤2列中的gA和gB的值所指示。此外,如图5A的步骤2列中所示,在步骤1之后是部分A的LBA中的倒数第二个的LBA(例如,LBA A2)已变成处于部分B之前的部分A的LBA中的最后一个,且在步骤1之后是部分B的LBA中的倒数第二个的LBA(例如,LBA B0)已变成部分B的LBA中的最后一个。此外,如图5A的步骤2列中所示,部分A的数据已变成位于PBA 0到PBA 2和PBA 8到PBA 9中,且部分B的数据已变成位于PBA 4到6中,其中与LBA A0相关联的部分A的数据的PBA保持在PBA 0处,如由图5B的步骤2列中的SA的值所指示。此外,如图5A的步骤2列中所示,部分B中的LBA B0的相对位置已变成第三个,如由图5B的步骤2列中的rB的值所指示。
如图5A的步骤3列中所示,在执行所述序列中的第三数据重定位操作之后,在步骤2之后与部分B的LBA中的最后一个相关联的部分B的数据(例如,与LBA B0相关联的数据)重定位到在步骤2之后处于部分A之后且部分B之前的分割块(例如,重定位到PBA 3),且在步骤2之后与部分A的LBA中的最后一个相关联的部分A的数据(例如,与LBA A2相关联的数据)重定位到在步骤2之后处于部分B之后且部分A之前的分割块(例如,重定位到PBA 7)。此外,如图5A的步骤2列中所示,PBA 2已变成处于部分A之后且部分B之前的分割块,且PBA 6已变成处于部分B之后且部分A之前的分割块,如分别由图5B的步骤3列中的gA和gB的值所指示。此外,如图5A的步骤3列中所示,在步骤2之后是部分A的LBA中的倒数第二个的LBA(例如,LBA A1)已变成部分A的LBA中的最后一个,且在步骤2之后是部分B的LBA中的倒数第二个的LBA(例如,LBA B2)已变成部分B的LBA中的最后一个。此外,如图5A的步骤3列中所示,部分A的数据已变成位于PBA 0到PBA 1和PBA 7到PBA 9中,且部分B的数据已变成位于PBA 3到5中,其中与LBA A0相关联的部分A的数据的PBA保持在PBA0处,如由图5B的步骤3列中的SA的值所指示。此外,如图5A的步骤3列中所示,部分B中的LBA B0的相对位置已变成第一个,如由图5B的步骤3列中的rB的值所指示。
如图5A和5B中分别由步骤4列、步骤5列和步骤6列所示,所述序列的第四、第五和第六数据重定位操作可以类似方式继续。因而,可见,数据重定位操作的效应是将与部分B的LBA中的最后一个相关联的数据依序向上移动到处于部分B的LBA中的第一个之前,并且将与部分A的LBA中的最后一个相关联的数据依序向下移动到处于部分B的LBA之后,使得在存储器的整个操作中,部分B向上移动且部分A向下移动。因此,不仅执行所述序列的数据重定位操作会在存储器的整个操作中将与每一相应LBA相关联的数据移动到不同PBA,而且两个不同的数据部分并非静态(例如,每一相应部分的数据所在的PBA继续在存储器的整个操作中改变)。也就是说,每一相应部分的数据可在存储器的整个操作中跨整个存储器重定位。
如本文中先前(例如,结合图2)所描述,所述序列中的每一相应数据重定位操作可响应于单独触发事件而执行。虽然图5A-5B中说明的实例序列包含六个数据重定位操作,但本公开的实施例不限于此。举例来说,额外数据重定位操作可继续在存储器的整个寿命中以类似方式执行(例如,响应于后续触发事件)。
尽管已在本文中说明并描述了具体实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可取代所展示的具体实施例。本公开意欲涵盖本公开的数个实施例的改编或变化。应理解,以上描述是以说明性方式进行的,而不是限制性的。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的若干实施例的范围包含其中使用上述结构和方法的其它应用。因此,本公开的若干实施例的范围应当参考所附权利要求书连同此类权利要求有权享有的等效物的完整范围来确定。
在前述具体实施方式中,出于简化本公开的目的而将一些特征一并归到单个实施例中。本公开的这一方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。相反,如所附权利要求书所反映,本发明主题在于单个所公开实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。
Claims (23)
1.一种设备,其包括:
存储器,其具有多个存储器单元物理块,其中:
所述存储器包含具有与其相关联的第一数目个逻辑块地址的第一数据部分,以及具有与其相关联的第二数目个逻辑块地址的第二数据部分;且
所述多个存储器单元物理块中的两个不存储数据;
电路系统,其被配置成:
将与所述第一数目个逻辑块地址中的一个相关联的所述第一部分的所述数据重定位到所述多个存储器单元物理块中的不存储数据的所述两个存储器单元物理块中的一个;和
将与所述第二数目个逻辑块地址中的一个相关联的所述第二部分的所述数据重定位到所述多个存储器单元物理块中的不存储数据的所述两个存储器单元物理块中的另一个。
2.根据权利要求1所述的设备,其中所述多个存储器单元物理块中的不存储数据的所述两个存储器单元物理块将所述存储器中的所述第一数据部分和所述第二数据部分隔开。
3.根据权利要求1所述的设备,其中:
所述第一数目个逻辑块地址中的所述一个是所述第一数目个逻辑块地址中的最后一个;且
所述第二数目个逻辑块地址中的所述一个是所述第二数目个逻辑块地址中的最后一个。
4.根据权利要求1所述的设备,其中:
所述第一数据部分包括用户数据;且
所述第二数据部分包括系统数据。
5.根据权利要求1所述的设备,其中:
所述第一数据部分包括在对所述存储器执行编程或感测操作期间已以特定频率或高于特定频率的频率存取的数据;且
所述第二数据部分包括在对所述存储器执行编程或感测操作期间已以低于所述特定频率的频率存取的数据。
6.根据权利要求1所述的设备,其中:
所述第一数据部分包括操作系统数据;且
所述第二数据部分包括多媒体数据。
7.一种操作存储器的方法,其包括:
将包含在所述存储器的第一部分中并且与所述存储器的所述第一部分的数个逻辑块地址中的一个相关联的数据重定位到所述存储器中的不存储数据的物理块;和
将包含在所述存储器的第二部分中并且与所述存储器的所述第二部分的数个逻辑块地址中的一个相关联的数据重定位到所述存储器中的不存储数据的另一物理块。
8.根据权利要求7所述的方法,其中所述方法包含:
使用代数映射识别所述存储器的所述第一部分中的所述数据已重定位到的物理块在所述存储器中的方位;和
使用代数映射识别所述存储器的所述第二部分中的所述数据已重定位到的另一物理块在所述存储器中的方位。
9.根据权利要求8所述的方法,其中所述方法包含:
使用所述代数映射识别在感测所述存储器的所述第一部分中的经重定位数据的操作期间所述经重定位数据已重定位到的所述物理块在所述存储器中的所述方位;和
使用所述代数映射识别在感测所述存储器的所述第二部分中的经重定位数据期间所述经重定位数据已重定位到的另一物理块在所述存储器中的所述方位。
10.根据权利要求7所述的方法,其中所述方法包含响应于触发事件而重定位包含在所述存储器的所述第一部分中的所述数据并且重定位包含在所述存储器的所述第二部分中的所述数据。
11.根据权利要求10所述的方法,其中所述触发事件是对所述存储器执行特定数目个编程操作。
12.根据权利要求10所述的方法,其中所述触发事件是在所述存储器中发生功率状态转变。
13.根据权利要求7所述的方法,其中:
将包含在所述存储器的所述第一部分中的所述数据重定位到所述存储器的所述物理块会造成所述存储器的第三物理块不存储数据;且
将包含在所述存储器的所述第二部分中的所述数据重定位到所述存储器的另一物理块会造成所述存储器的第四物理块不存储数据;且
所述方法另外包含:
将包含在所述存储器的第一部分中并且与所述存储器的所述第一部分的所述数个逻辑块地址中的一个不同的逻辑块地址相关联的数据重定位到所述存储器的所述第三物理块;和
将包含在所述存储器的所述第二部分中并且与所述存储器的所述第二部分的所述数个逻辑块地址中的一个不同的逻辑块地址相关联的数据重定位到所述存储器的所述第四物理块。
14.一种设备,其包括:
存储器,其具有多个存储器单元物理块,其中:
所述存储器包含具有与其相关联的第一数目个逻辑块地址的第一数据部分,以及具有与其相关联的第二数目个逻辑块地址的第二数据部分;且
所述多个存储器单元物理块中的两个不存储数据并且将所述存储器中的所述第一数据部分和所述第二数据部分隔开;
电路系统,其被配置成:
将与所述第一数目个逻辑块地址中的最后一个相关联的所述第一部分的所述数据重定位到所述多个存储器单元物理块中的不存储数据的所述两个存储器单元物理块中的一个;和
将与所述第二数目个逻辑块地址中的最后一个相关联的所述第二部分的所述数据重定位到所述多个存储器单元物理块中的不存储数据的所述两个存储器单元物理块中的另一个。
15.根据权利要求14所述的设备,其中所述第一数目个逻辑块地址中的每一相应逻辑块地址的大小不同于所述第二数目个逻辑块地址中的每一相应逻辑块地址的大小。
16.根据权利要求14所述的设备,其中所述电路系统包含在所述存储器中。
17.根据权利要求14所述的设备,其中所述电路系统包含在所述设备的控制器中。
18.根据权利要求14所述的设备,其中所述电路系统包含:
第一寄存器,其被配置成存储指示与所述第一数目个逻辑块地址中的第一个相关联的所述第一部分的所述数据的物理块地址的值;
第二寄存器,其被配置成存储指示所述多个存储器单元物理块中的不存储数据的所述两个存储器单元物理块中的一个的物理块地址的值;
第三寄存器,其被配置成存储指示所述多个存储器单元物理块中的不存储数据的所述两个存储器单元物理块中的另一个的物理块地址的值;和
第四寄存器,其被配置成存储指示所述第二数据部分中的所述第二数目个逻辑块地址中的第一个的相对位置的值。
19.一种操作存储器的方法,其包括:
将包含在所述存储器的第一部分中并且与所述存储器的所述第一部分的数个逻辑块地址中的最后一个相关联的数据重定位到所述存储器的不存储数据的物理块并且在所述存储器中处于所述存储器的所述第一部分之前;和
将包含在所述存储器的第二部分中并且与所述存储器的所述第二部分的数个逻辑块地址中的最后一个相关联的数据重定位到所述存储器的不存储数据的物理块并且在所述存储器中处于所述存储器的所述第二部分之后。
20.根据权利要求19所述的方法,其中所述方法包含:
使用代数映射识别与所述存储器的所述第一部分的所述数个逻辑块地址中的所述最后一个相关联的所述数据已重定位到的所述物理块的物理块地址;和
使用代数映射识别与所述存储器的所述第二部分的所述数个逻辑块地址中的所述最后一个相关联的所述数据已重定位到的所述物理块的物理块地址。
21.根据权利要求19所述的方法,其中所述存储器的所述第一部分的所述数个逻辑块地址和所述存储器的所述第二部分的所述数个逻辑块地址是随机化的。
22.根据权利要求21所述的方法,其中所述方法包含在重定位包含在所述存储器的所述第一部分中的所述数据后立即重定位包含在所述存储器的所述第二部分中的所述数据。
23.根据权利要求19所述的方法,其中所述方法包含:
在重定位包含在所述存储器的所述第一部分中的所述数据后即刻对所述存储器执行操作;和
在对所述存储器执行所述操作后即刻重定位包含在所述存储器的所述第二部分中的所述数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/994,477 US10585795B2 (en) | 2018-05-31 | 2018-05-31 | Data relocation in memory having two portions of data |
US15/994,477 | 2018-05-31 | ||
PCT/US2019/028854 WO2019231584A1 (en) | 2018-05-31 | 2019-04-24 | Data relocation in memory having two portions of data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112204533A true CN112204533A (zh) | 2021-01-08 |
Family
ID=68693947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980035424.2A Pending CN112204533A (zh) | 2018-05-31 | 2019-04-24 | 具有两个数据部分的存储器中的数据重定位 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10585795B2 (zh) |
EP (1) | EP3803605A4 (zh) |
JP (1) | JP2021525924A (zh) |
KR (1) | KR20210003957A (zh) |
CN (1) | CN112204533A (zh) |
WO (1) | WO2019231584A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761739B2 (en) * | 2018-08-23 | 2020-09-01 | Micron Technology, Inc. | Multi-level wear leveling for non-volatile memory |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1720590A (zh) * | 2002-10-28 | 2006-01-11 | 桑迪士克股份有限公司 | 非易失性存储系统中的自动磨损平衡 |
US20070103992A1 (en) * | 2005-11-10 | 2007-05-10 | Sony Corporation | Memory system |
US20080183947A1 (en) * | 2007-01-30 | 2008-07-31 | Fuja Shone | Method for Enhancing Life Cycle of Memory |
US20090198882A1 (en) * | 2008-02-05 | 2009-08-06 | Skymedi Corporation | Method of wear leveling for non-volatile memory and apparatus using the same |
US20090310408A1 (en) * | 2008-06-13 | 2009-12-17 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US20100281202A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
CN102543177A (zh) * | 2010-12-17 | 2012-07-04 | 西安奇维测控科技有限公司 | 一种固态盘静态磨损平衡算法 |
CN102789423A (zh) * | 2012-07-11 | 2012-11-21 | 山东华芯半导体有限公司 | 四池闪存磨损均衡方法 |
US20130205076A1 (en) * | 2012-02-02 | 2013-08-08 | Ocz Technology Group Inc. | Apparatus, methods and architecture to increase write performance and endurance of non-volatile solid state memory components |
US20130246732A1 (en) * | 2012-03-14 | 2013-09-19 | Phison Electronics Corp. | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same |
US20170286293A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Wear leveling based on a swapping operation between sets of physical block addresses of a non-volatile memory |
US20190056888A1 (en) * | 2017-08-17 | 2019-02-21 | SK Hynix Inc. | Memory system and operating method of the same |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000285001A (ja) * | 1999-03-31 | 2000-10-13 | Seiko Epson Corp | 半導体フラッシュメモリ装置及びその制御方法 |
JP2003216506A (ja) * | 2002-01-23 | 2003-07-31 | Hitachi Ltd | フラッシュメモリを搭載した記憶装置及び計算機 |
EP1713085A1 (en) | 2002-10-28 | 2006-10-18 | SanDisk Corporation | Automated wear leveling in non-volatile storage systems |
JP2004296014A (ja) * | 2003-03-27 | 2004-10-21 | Mitsubishi Electric Corp | 不揮発性メモリの消去回数平準化方法 |
JP2004326539A (ja) * | 2003-04-25 | 2004-11-18 | Fuji Photo Film Co Ltd | 記録媒体の記録方法 |
US20060282610A1 (en) * | 2005-06-08 | 2006-12-14 | M-Systems Flash Disk Pioneers Ltd. | Flash memory with programmable endurance |
US7791952B2 (en) | 2007-01-30 | 2010-09-07 | Micron Technology, Inc. | Memory device architectures and operation |
JP4899946B2 (ja) * | 2007-03-06 | 2012-03-21 | 横河電機株式会社 | ディスク装置およびこれを用いた測定装置 |
US8239611B2 (en) | 2007-12-28 | 2012-08-07 | Spansion Llc | Relocating data in a memory device |
KR20130021026A (ko) | 2011-08-22 | 2013-03-05 | 엘지이노텍 주식회사 | 웨이퍼 표면 처리 방법 |
US20140122774A1 (en) | 2012-10-31 | 2014-05-01 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method for Managing Data of Solid State Storage with Data Attributes |
CN103902461A (zh) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | 不同Nand闪存兼容方法及装置 |
JP2016170703A (ja) | 2015-03-13 | 2016-09-23 | 富士通株式会社 | 記憶装置、記憶装置の制御方法、及び情報処理システム |
JP6403162B2 (ja) * | 2015-07-23 | 2018-10-10 | 東芝メモリ株式会社 | メモリシステム |
JP2017027388A (ja) * | 2015-07-23 | 2017-02-02 | 株式会社東芝 | メモリシステムおよび不揮発性メモリの制御方法 |
US10102138B2 (en) | 2015-10-22 | 2018-10-16 | Western Digital Technologies, Inc. | Division of data storage in single-storage device architecture |
US10474370B1 (en) * | 2016-05-20 | 2019-11-12 | EMC IP Holding Company LLC | Method and system for mitigating the effect of write and read disturbances in solid state memory regions |
US10430085B2 (en) | 2016-11-08 | 2019-10-01 | Micron Technology, Inc. | Memory operations on data |
US10649665B2 (en) * | 2016-11-08 | 2020-05-12 | Micron Technology, Inc. | Data relocation in hybrid memory |
KR20180065075A (ko) * | 2016-12-06 | 2018-06-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 |
US20190129627A1 (en) | 2017-10-31 | 2019-05-02 | EMC IP Holding Company LLC | Method and system for wear-leveling using a multi-gap progress field |
-
2018
- 2018-05-31 US US15/994,477 patent/US10585795B2/en active Active
-
2019
- 2019-04-24 WO PCT/US2019/028854 patent/WO2019231584A1/en unknown
- 2019-04-24 JP JP2020567009A patent/JP2021525924A/ja active Pending
- 2019-04-24 KR KR1020207037788A patent/KR20210003957A/ko not_active Application Discontinuation
- 2019-04-24 EP EP19810601.5A patent/EP3803605A4/en active Pending
- 2019-04-24 CN CN201980035424.2A patent/CN112204533A/zh active Pending
-
2020
- 2020-02-18 US US16/793,185 patent/US11194708B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1720590A (zh) * | 2002-10-28 | 2006-01-11 | 桑迪士克股份有限公司 | 非易失性存储系统中的自动磨损平衡 |
US20070103992A1 (en) * | 2005-11-10 | 2007-05-10 | Sony Corporation | Memory system |
US20080183947A1 (en) * | 2007-01-30 | 2008-07-31 | Fuja Shone | Method for Enhancing Life Cycle of Memory |
US20090198882A1 (en) * | 2008-02-05 | 2009-08-06 | Skymedi Corporation | Method of wear leveling for non-volatile memory and apparatus using the same |
US20090310408A1 (en) * | 2008-06-13 | 2009-12-17 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US20100281202A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
CN102543177A (zh) * | 2010-12-17 | 2012-07-04 | 西安奇维测控科技有限公司 | 一种固态盘静态磨损平衡算法 |
US20130205076A1 (en) * | 2012-02-02 | 2013-08-08 | Ocz Technology Group Inc. | Apparatus, methods and architecture to increase write performance and endurance of non-volatile solid state memory components |
US20130246732A1 (en) * | 2012-03-14 | 2013-09-19 | Phison Electronics Corp. | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same |
CN102789423A (zh) * | 2012-07-11 | 2012-11-21 | 山东华芯半导体有限公司 | 四池闪存磨损均衡方法 |
US20170286293A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Wear leveling based on a swapping operation between sets of physical block addresses of a non-volatile memory |
US20190056888A1 (en) * | 2017-08-17 | 2019-02-21 | SK Hynix Inc. | Memory system and operating method of the same |
Non-Patent Citations (2)
Title |
---|
YUAN-HAO CHANG .ETC: "Improving Flash Wear-Leveling by Proactively Moving Static Data", 《IEEE TRANSACTIONS ON COMPUTERS》, vol. 59, no. 1, 22 September 2009 (2009-09-22), pages 53 - 65, XP011283083, DOI: 10.1109/TC.2009.134 * |
杜雨阳等: "一种基于代数映射的相变内存矩阵磨损均衡方法", 《计算机研究与发展》, 15 December 2012 (2012-12-15), pages 2713 - 2720 * |
Also Published As
Publication number | Publication date |
---|---|
JP2021525924A (ja) | 2021-09-27 |
US20200183828A1 (en) | 2020-06-11 |
EP3803605A1 (en) | 2021-04-14 |
US20190370166A1 (en) | 2019-12-05 |
WO2019231584A1 (en) | 2019-12-05 |
EP3803605A4 (en) | 2022-03-09 |
KR20210003957A (ko) | 2021-01-12 |
US11194708B2 (en) | 2021-12-07 |
US10585795B2 (en) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157417B2 (en) | Memory having a static cache and a dynamic cache | |
US20200233585A1 (en) | Data relocation in hybrid memory | |
US10949344B2 (en) | Garbage collection | |
US20210286525A1 (en) | Memory management | |
US9342371B2 (en) | Boot partitions in memory devices and systems | |
US10977186B2 (en) | Last written page searching | |
US11983403B2 (en) | Data relocation in memory | |
CN110678852A (zh) | 控制对缓冲器的存储器操作的设备和方法 | |
US11194708B2 (en) | Data relocation in memory having two portions of data | |
US11113205B2 (en) | Die addressing using a reduced size translation table entry |
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 |