CN112689829A - 用于就地数据替代媒体的混合式耗损均衡 - Google Patents
用于就地数据替代媒体的混合式耗损均衡 Download PDFInfo
- Publication number
- CN112689829A CN112689829A CN201980059927.3A CN201980059927A CN112689829A CN 112689829 A CN112689829 A CN 112689829A CN 201980059927 A CN201980059927 A CN 201980059927A CN 112689829 A CN112689829 A CN 112689829A
- Authority
- CN
- China
- Prior art keywords
- data
- wear
- memory
- memory component
- leveling operation
- 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 claims abstract description 235
- 238000013507 mapping Methods 0.000 claims abstract description 63
- 230000006870 function Effects 0.000 claims abstract description 42
- 238000013523 data management Methods 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 41
- 238000003860 storage Methods 0.000 claims description 27
- 238000012886 linear function Methods 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims 2
- 238000007726 management method Methods 0.000 description 56
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000012884 algebraic function Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011066 ex-situ storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 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/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
- 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/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/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/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
-
- 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/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- 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/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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明提供一种存储器子系统,其在所述存储器子系统的存储器组件的数据管理单元上以第一频率使用直接映射函数来周期性地执行第一耗损均衡操作。所述存储器子系统在所述存储器组件的数据管理单元的群组上以第二频率使用间接映射来进一步周期性地执行第二耗损均衡操作,其中所述第二耗损均衡操作的执行不如所述第一耗损均衡操作频繁。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及用于就地数据替代媒体的混合式耗损均衡。
背景技术
存储器子系统可为存储系统,例如固态驱动器(SSD),并且可包含存储数据的一或多个存储器组件。存储器组件可例如是非易失性存储器组件和易失性存储器组件。一般来说,主机系统可利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
附图说明
根据以下给出的详细描述以及本公开的各种实施方案的附图,将更充分地理解本公开。然而,图式不应视为将本公开限制于特定实施例,而是仅用于解释和理解。
图1说明根据本公开的一些实施方案的包含存储器系统的实例计算环境。
图2A说明根据本公开的一些实施方案存储器组件中的阶层式数据单元的不同层级。
图2B说明根据本公开的一些实施方案的待使用直接代数映射执行的SMU内耗损均衡。
图2C说明根据本公开的一些实施方案的待使用间接映射执行的SMU间耗损均衡。
图3是根据本公开的一些实施例的执行用于就地数据替代媒体的混合式耗损均衡的实例方法的流程图。
图4是根据本公开的一些实施例的执行用于就地数据替代媒体的混合式耗损均衡的实例方法的流程图。
图5是可操作本公开的实施方案的计算机系统的实例机器的框图。
具体实施方式
本公开的方面是关于用于存储器子系统中的就地数据替代媒体的混合式耗损均衡。存储器子系统在下文也称为“存储器装置”。存储器子系统的实例是存储装置系统,例如固态驱动器(SSD)。在一些实施例中,存储器子系统是混合式存储器/存储装置子系统。一般来说,主机系统可利用包含一或多个存储器组件的存储器子系统。主机系统可提供数据以存储于存储器子系统处并且可请求从存储器子系统检索数据。
由存储器子系统使用的存储器组件可具有在存储器子系统的操作上提供挑战的特定性质。举例而言,一些存储器组件,例如非易失性存储器组件,具有受限耐久性。存储器组件的个别段、数据单元或块仅可被写入、读取和/或擦除有限次数,之后物理耗损会导致存储器组件失效。为了抵消存储器组件的此受限耐久性,已经开发出管理存储器组件上的磨损的技术。
管理常规存储器子系统中的耐久性的一个技术是耗损均衡。耗损均衡操作可尝试跨越存储器组件均匀分布读取、写入和擦除操作,以及因此对应物理耗损。一个存储器组件可划分成一定数目个个别数据单元,例如存储器组件的页或块,其各自经历物理耗损。这些数据单元可表示可在单个操作中写入或擦除的存储器组件的个别片段。写入计数(例如,在数据单元的使用寿命期间对数据单元执行的将数据写入至数据单元的写入操作的次数)、读取计数(例如,在数据单元的使用寿命期间对数据单元执行的从数据单元读取数据的读取操作的次数)或擦除计数(例如,在数据单元的使用寿命期间对数据单元执行的从数据单元擦除数据的擦除操作的次数)可为存储器组件的数据单元上的耗损的强指示符。因此,常规耗损均衡技术通常使用分类程序来找到具有高读取或写入计数的数据单元及具有低读取计数或写入计数的数据单元。来自具有高读取或写入计数的数据单元的数据可与具有低读取或写入计数的数据单元的数据交换以试图跨越存储器组件的数据单元均匀地分布耗损。
然而,不同类型的存储器组件可包含不同数目个数据单元。举例而言,非易失性存储器单元的交叉点阵列可具有比基于快闪的存储器组件显著更小的数据单元大小,且因此可具有用于类似容量的存储器组件的显著更大数目个数据单元。非易失性存储器单元的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。因此,这类存储器组件可执行“就地”数据替代。由于此存储器组件中的数据单元的数目大,大量计算资源(例如,处理及存储器资源)用于检索、存储及分类与存储器组件相关联的各种计数值。另外,检索、存储及分类大量数据单元花费成比例地大量时间,其对存储器子系统的时延有显著贡献。
本公开的方面通过实施用于就地数据替代媒体的混合式耗损均衡来解决以上和其它缺陷。在一个实施方案中,混合式耗损均衡利用具有不同大小的数据单元的层级阶层。举例而言,第一层级可表示个别数据单元,例如存储器组件的数据块或页(其在本文中还可被称作“管理单元”),而第二层级可表示多个数据单元的群组(其在本文中还可被称作“超级管理单元”)。可在阶层的每一层级处使用不同耗损均衡技术且以不同频率执行耗损均衡。举例而言,混合式耗损均衡可包含在第一层级处使用直接代数映射的每五分钟或每1000次主机写入的耗损均衡及在第二层级处使用由查找表实施的间接完全关联映射的每一小时或每10,000次主机写入的耗损均衡。在其它实施方案中,耗损均衡技术和/或相关联频率可视需要改变。本文中描述的混合式耗损均衡方案实现具有较高数目个数据单元的存储器子系统中的高效及有效耗损均衡,例如当使用就地数据替代媒体时。用于耗损均衡的处理及存储器资源以及数据存取时延减少,而存储器子系统的多个存储器组件上的耗损(例如,对存储器组件执行的操作的数目和/或写入至存储器组件的数据量)可更均匀地分布,从而防止存储器子系统的特定存储器组件相对于存储器子系统的其它存储器组件的过早故障。此外,存在较小写入放大开销且用于耗损均衡的存储器占用面积减小。在下文关于图1到5提供混合式耗损均衡的额外细节。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,如存储器组件112A到112N。存储器组件112A到112N可以是易失性存储器组件、非易失性存储器组件或此类组件的组合。在一些实施例中,存储器子系统是存储系统。存储系统的实例是SSD。在一些实施例中,存储器子系统110是混合式存储器/存储装置子系统。一般来说,计算环境100可包含使用存储器子系统110的主机系统120。举例来说,主机系统120可将数据写入到存储器子系统110且从存储器子系统110读取数据。
主机系统120可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含但不限于串行高级技术附件(serial advanced technology attachment,SATA)接口、外围组件互连高速(peripheral component interconnect express,PCIe)接口、通用串行总线(universal serial bus,USB)接口、光纤信道、串行连接的SCSI(SerialAttached SCSI,SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可以进一步利用NVM快速(NVMe)接口来存取存储器组件112A到112N。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。
存储器组件112A到112N可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(NAND)类型快闪存储器。存储器组件112A到112N中的每一者可包含存储器单元的一或多个阵列,所述存储器单元例如单层级单元(SLC)或多层级单元(MLC)(例如三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每一者可存储由主机系统120使用的数据的一或多个位(例如数据块)。尽管描述了例如NAND类型快闪存储器的非易失性存储器组件,但存储器组件112A到112N可以基于例如易失性存储器的各种其它类型的存储器。在一些实施例中,存储器组件112A到112N可以是但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、或非(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112A到112N的存储器单元可分组为存储器页或数据块,其可指用于存储数据的存储器组件的单元。
存储器系统控制器115(下文称为“控制器”)可与存储器组件112A到112N通信以执行操作,例如在存储器组件112A到112N处读取数据、写入数据或擦除数据,以及其它此类操作。控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。控制器115可为微控制器、专用逻辑电路(例如,现场可编程门阵列(field programmablegate array,FPGA)、专用集成电路(ASIC)等等),或其它合适的处理器。控制器115可包含配置成执行存储在本地存储器119中的指令的处理器(处理装置)117。在所说明实例中,控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含操控存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程以及例程。在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110可不包含控制器115,而是可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
通常,控制器115可以从主机系统120接收命令或操作,并且可以将命令或操作转换成指令或适当的命令,以实现对存储器组件112A到112N的期望的存取。控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、差错检测和差错校正码(ECC)操作、加密操作、高速缓存操作以及在与存储器组件112A到112N相关联的逻辑块地址与物理块地址之间的地址转译。控制器115可进一步包含主机接口电路以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器组件112A到112N,以及将与存储器组件112A到112N相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲(例如DRAM)和地址电路(例如行解码器和列解码器),其可从控制器115接收地址且对地址进行解码以存取存储器组件112A到112N。
存储器子系统110包含可用于跨越存储器子系统110中的存储器组件112A到112N实施混合式耗损均衡的混合式耗损均衡管理组件113。在一些实施例中,控制器115包含混合式耗损均衡管理组件113的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中的指令以用于执行本文中所描述的操作。在一些实施例中,混合式耗损均衡管理组件113为主机系统120、应用程序或操作系统的部分。
混合式耗损均衡管理组件113可使用具有不同大小的数据单元的层级阶层执行耗损均衡。举例来说,第一层级可表示个别数据单元,例如存储器组件的数据块或页(即,管理单元),而第二层级可表示多个数据单元的群组(即,超级管理单元)。可在阶层的每一层级处使用不同耗损均衡技术且以不同频率执行耗损均衡。举例来说,混合式耗损均衡管理组件113可在第一层级处以第一频率实施直接代数映射,且可在第二层级处以第二频率实施由查找表实施的间接完全关联映射。在一个实施方案中,由于第一层级中的管理单元在大小方面比第二层级中的超级管理单元更小,所以耗损均衡在第一层级处的执行比在第二层级处更频繁。下文描述关于混合式耗损均衡管理组件113的操作的其它细节。
在实施方案中,耗损均衡操作可包含延长存储器组件112A到112N(在本文中通常被称作“存储器组件112”)的使用寿命的操作。举例来说,耗损均衡操作可试图跨越存储器组件112的数据单元的集合均匀地分布物理耗损。数据单元可指存储器组件112的物理存储器的量。
图2A说明存储器组件112中的阶层式数据单元的不同层级。管理单元(MU)为数据单元的一个实例。举例来说,管理单元可为基于快闪的存储器的非易失性存储器或块(例如,在基于快闪的存储器中可擦除的最小数据单元)的交叉点阵列的页(例如,可写入至交叉点阵列或从交叉点阵列读取的最小数据单元)。超级管理单元(SMU)为数据单元的另一实例,且可包含一组多个管理单元(例如1000个MU)。所述组数据单元可为构成一或多个存储器组件112的数据单元。举例来说,存储器组件112的所述组数据单元可为存储器组件112的页或块中的所有或大部分。图2A说明两个超级管理单元210及220的实例。超级管理单元210包含多个管理单元212、214、216及218。超级管理单元220还包含多个管理单元222、224、226及228。仅说明有限数目个管理单元,但实际上可存在任何数目个超级管理单元,各自含有任何数目个管理单元(例如,500个、1000个、2000个)。
在一个实施例中,混合式耗损均衡管理组件113可在阶层的每一层级处使用不同耗损均衡技术且以不同频率执行耗损均衡。举例来说,混合式耗损均衡管理组件113可在超级管理单元210的管理单元212、214、216及218或超级管理单元220的管理单元222、224、226及228当中使用直接代数映射以第一频率执行SMU内耗损均衡。此外,混合式耗损均衡管理组件113可在超级管理单元210及220自身当中使用由查找表实施的间接完全关联映射以第二较不频繁的频率执行SMU间耗损均衡。
在一些实施方案中,耗损均衡操作可将具有高耗损度量的数据单元的数据重写到具有较低耗损度量的另一数据单元,或反之亦然(例如,将具有低耗损度量的数据单元的数据重写到具有较高耗损度量的另一数据单元)。在实施方案中,耗损度量可指示数据单元上的物理耗损的层级。耗损度量的一些实例可包含写入计数、读取计数,或写入计数及读取计数的组合。
在一些实施方案中,耗损度量可包含写入计数及读取计数的组合。举例来说,耗损度量可包含特定数据单元的写入计数及读取计数两者,其中写入计数及读取计数使用一或多个方程来组合。由读取操作造成的数据单元上的物理耗损可小于由写入操作造成的物理耗损。为了组合数据单元的读取计数及写入计数,数据单元的读取计数或写入计数可通过对写入计数或读取计数进行加权而归一化(例如,将通过不同比例测量的计数调整为共同比例)。举例而言,数据单元的读取计数可乘以一分数(例如,0.8)以确定就耗损来说读取计数表示的写入计数的等效数目。数据单元的经加权的读取计数及写入计数可组合(例如,添加)且用作指示特定数据单元上的物理耗损的耗损度量。
在一些实施方案中,存储器组件112可包含非易失性存储器装置,此非易失性存储器装置包含非易失性存储器单元的交叉点阵列。如上文所提到,非易失性存储器的交叉点阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,相比于执行异地写入操作(例如,在可将其它数据编程到待写入位置之前擦除所述位置的数据)的许多基于快闪的存储器,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。可注意到,由于交叉点非易失性存储器执行就地写入操作的能力,交叉点非易失性存储器的耗损度量可不包含擦除计数。擦除计数可为指示在数据单元的使用寿命期间对数据单元执行的存储器操作(例如擦除数据单元的数据的擦除操作)的次数的值。本公开的方面可应用于其它类型的非易失性存储器装置或其它类型的存储器装置。
图2B说明根据本公开的一些实施方案的待使用直接代数映射执行的SMU内耗损均衡。在一个实施例中,代数函数可用于确定数据在耗损均衡操作中可移动到的适当物理位置(例如,Fn(逻辑MU索引)=物理MU索引)。取决于实施例,直接映射函数可包含交换函数、循环移位函数、利用基指针值及空闲指针值的线性函数或某一其它适当函数中的至少一者。由于函数引起逻辑索引到新物理位置的直接映射,此SMU内耗损均衡在阶层的第一层级处的执行可比在较高层级处更频繁且具有较低资源利用率。在一个实施例中,混合式耗损均衡管理组件113针对包括管理单元232、234、236和238的超级管理单元230维持基指针值231及空闲指针值235。基指针值231指示超级管理单元230的起点的位置(即,第一管理单元232的位置)。空闲指针值235指示用于超级管理单元230内的数据存储的可用空间的位置(即,管理单元236的位置)。在一个实施例中,混合式耗损均衡管理组件113在每N_free次写入之后递增空闲指针值235,其中N_free可为固定数目、随机数目或伪随机数目。混合式耗损均衡管理组件113在每N_base个步骤之后进一步递减基指针值231,其中N_base表示超级管理单元230的大小。在一个实施例中,直接映射函数可表示为:
if(Logical MU Index+Base Pointer)mod SMU Size>Free Pointer,
Physical MU Index=(Logical MU Index+Base Pointer)mod SMU Size;
else,
Physical MU Index=(Logical MU Index+Base Pointer)mod SMU Size+1
图2C说明根据本公开的一些实施方案的待使用间接映射执行的SMU间耗损均衡。运用间接映射,添加信息用于确定存储器组件112上的目标物理位置。在一个实施例中,混合式耗损均衡管理组件113将来自超级管理单元的数据复制到存储器组件112上的可用物理位置。可以任何数目个方式确定此物理位置,例如具有最低写入计数的位置、最近最少存取的位置等等。可用位置的列表可维持在存储于本地存储器119中的空闲池中。在复制数据后,混合式耗损均衡管理组件113将与来自超级管理单元的数据相关联的逻辑索引到可用物理索引的映射记录在查找表240中。在一个实施例中,查找表240维持在控制器115的本地存储器119中。因此,当逻辑索引应用于查找表240时,输出对应物理地址。在其它实施例中,映射可维持在某一其它类型的数据结构中,例如阵列、链表等等。由于间接映射利用本地存储器119且具有相关联的存取时延,此耗损均衡操作在阶层的第二层级处的执行可能不如在较低层级处频繁。
图3是根据本公开的一些实施例的执行用于就地数据替代媒体的混合式耗损均衡的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法300由图1的混合式耗损均衡管理组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。此外,可在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程是可能的。
在框310处,处理装置检测第一触发的发生。第一触发可使得混合式耗损均衡管理组件113起始图2A中展示的层级阶层中的第一层级的耗损均衡操作。在一个实施例中,第一层级可为阶层中的最低层级,且可包含可由控制器115控制的存储器组件112的最小数据单元。在一个实施例中,这些数据单元可包含管理单元,例如存储器组件112的数据块或页。在一个实施例中,第一触发是基于从先前耗损均衡操作起经过的时间段或从执行先前耗损均衡操作起在主机系统120的请求下对存储器组件112执行的数据写入操作的数目中的至少一者。在一个实施例中,控制器115包含在每当对第一层级执行耗损均衡操作时重置的计时器。控制器115可在每当定时器到期或达到预定值时通知混合式耗损均衡管理组件113。计时器可具有可根据特定存储器子系统110调整的可配置值(例如,1分钟、5分钟、10分钟等)。此通知可触发混合式耗损均衡管理组件113起始耗损均衡操作。在一个实施例中,控制器115包含在每当从主机系统120接收到写入请求且在存储器组件112上执行写入请求时递增(或递减)的计数器。控制器115可在每当计数器达到预定值(例如,500次写入、1000次写入、2000次写入等)时通知混合式耗损均衡管理组件113。此通知可触发混合式耗损均衡管理组件113起始耗损均衡操作。
在框320处,处理装置根据直接映射函数将数据单元的第一群组内的多个数据单元重新分布到存储器组件112A上的不同物理位置。直接映射函数可为耗损均衡操作的部分且可包含任何数学函数,例如代数函数,所述数学函数自身为完整的且的确需要使用任何额外信息以便确定存储器组件112A中的目标物理位置。在一个实施例中,混合式耗损均衡管理组件113将与来自阶层的第一层级中的数据单元中的一者的数据相关联的第一逻辑索引施加到直接映射函数,以确定对应于存储器组件112A上的物理位置的物理索引且接着将来自数据管理单元的数据复制到所述物理位置。在一个实施例中,直接映射函数包括交换函数、循环移位函数、利用基指针值及空闲指针值的线性函数或某一其它适当函数中的至少一者。由于函数引起逻辑索引到新物理位置的直接映射,所以此耗损均衡操作在阶层的第一层级处的执行可比在较高层级处更频繁且具有较低资源利用率。
在框330处,处理装置检测第二触发的发生,其中第二触发的发生不如第一触发频繁。第二触发可使得混合式耗损均衡管理组件113起始层级阶层中的第二层级的耗损均衡操作。在一个实施例中,第二层级可为阶层中的较高层级且可包含可由控制器115控制的存储器组件112A的更大数据单元。在一个实施例中,这些数据单元可包含超级管理单元,例如存储器组件112A的数据块或页的群组。在一个实施例中,第二触发也基于从先前耗损均衡操作起经过的时间段或从执行先前耗损均衡操作起在主机系统120的请求处对存储器组件112A执行的数据写入操作的数目中的至少一者。举例来说,控制器115可在每当定时器到期或达到预定值(例如,1小时、2小时、12小时、24小时等)时或每当写入计数器达到预定值(例如,5000次写入、10,000次写入、20,000次写入等)时通知混合式耗损均衡管理组件113。此通知可触发混合式耗损均衡管理组件113起始耗损均衡操作。
在框340处,处理装置使用间接映射将数据单元的多个群组重新分布到存储器组件112A上的不同物理位置。运用间接映射,需要添加信息以便以存储器组件112A上的目标物理位置为目标。在一个实施例中,混合式耗损均衡管理组件113将来自数据管理单元的群组的数据复制到存储器组件112A上的可用物理位置。可以任何数目个方式确定此物理位置,例如具有最低写入计数的位置、最近最少存取的位置等等。在复制数据后,混合式耗损均衡管理组件113将与来自数据管理单元的群组的数据相关联的逻辑索引到可用物理位置的映射记录在查找表中。在一个实施例中,查找表维持在控制器115的本地存储器119中。在其它实施例中,映射可维持在某一其它类型的数据结构中,例如阵列、链表等等。由于间接映射利用本地存储器119且具有相关联的存取时延,此耗损均衡操作在阶层的第二层级处的执行可能不如在较低层级处频繁。
在一个实施例中,对层级阶层中的第二层级执行的耗损均衡操作利用数据管理单元的经映射群组及数据管理单元的未映射群组两者。经映射群组可包含映射到特定逻辑空间的数据管理单元的物理群组,而未映射群组并未映射到任何特定逻辑空间。因此,给定存储器组件可包含至少一些经映射群组及一些未映射群组。在一个实施例中,混合式耗损均衡管理组件113确定存储器组件上的最高耗损度量与最低耗损度量之间的差是否大于预定义阈值。如果是,那么混合式耗损均衡管理组件113确定来自未映射群组的最低耗损度量是否大于来自经映射群组的最低耗损度量。如果是,那么混合式耗损均衡管理组件113可交换具有最低耗损度量的未映射群组及具有最低耗损度量的经映射群组的物理位置。如果来自未映射群组的最低耗损度量不大于来自经映射群组的最低耗损度量,那么混合式耗损均衡管理组件113可交换具有最低耗损度量的未映射群组与具有最高耗损度量的未映射群组的物理位置。
图4是根据本公开的一些实施例的执行用于就地数据替代媒体的混合式耗损均衡的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的混合式耗损均衡管理组件113执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改所述过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。此外,可在各种实施例中省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程是可能的。
在框410处,处理装置在存储器组件112的数据管理单元上以第一频率使用直接映射函数来周期性地起始第一耗损均衡操作。直接映射函数可为耗损均衡操作的部分且可包含任何数学函数,例如代数函数,所述数学函数自身为完整的且的确需要使用任何额外信息以便确定存储器组件112A中的目标物理位置。第一耗损均衡操作可在第一层级处使用直接代数映射以第一频率(例如每五分钟或每1000次主机写入)发生,所述第一耗损均衡操作可配置成具体实施方案。
在框420处,处理装置将与来自阶层的第一层级中的数据单元中的一者的数据相关联的第一逻辑索引施加到直接映射函数,以确定对应于存储器组件112A上的物理位置的物理索引。在一个实施例中,直接映射函数包括交换函数、循环移位函数、利用基指针值及空闲指针值的线性函数等中的至少一者。在框430处,处理装置将来自数据管理单元的数据复制到物理位置。
在框440处,处理装置在存储器组件112A的数据管理单元的群组上以第二频率使用间接映射来周期性地起始第二耗损均衡操作,其中第二耗损均衡操作的执行不如第一耗损均衡操作频繁。运用间接映射,需要添加信息以便以存储器组件112A上的目标物理位置为目标。第二耗损均衡操作可在第二层级处使用由查找表实施的间接完全关联映射以第二频率(例如,每一小时或每10,000次主机写入)发生,所述第二耗损均衡操作可配置成具体实施方案。
在框450处,处理装置将来自数据管理单元的群组的数据复制到存储器组件112A上的可用物理位置。可以任何数目个方式确定此物理位置,例如具有最低写入计数的位置、最近最少存取的位置等等。
在框460处,处理装置将与来自数据管理单元的群组的数据相关联的逻辑索引到可用物理位置的映射记录在查找表中。在复制数据后,混合式耗损均衡管理组件113将与来自数据管理单元的群组的数据相关联的逻辑索引到可用物理位置的映射记录在查找表(例如,查找表240)中。在一个实施例中,查找表维持在控制器115的本地存储器119中。在其它实施例中,映射可维持在某一其它类型的数据结构中,例如阵列、链表等等。
图5说明计算机系统500的实例机器,所述实例机器内可执行用于使得所述机器执行本文中所论述的方法中的任何一或多者的指令集。在一些实施例中,计算机系统500可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120)或可用于执行控制器的操作(例如,执行操作系统以进行对应于图1的混合式耗损均衡管理组件113的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或互联网中的其它机器。机器可作为点对点(或分散式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行指令的集合(或多个集合)以执行本文中所论述的方法中的任何一或多种。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等等。更具体地说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502还可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置502经配置以执行用于执行本文中所论述的操作和步骤的指令526。计算机系统500可进一步包含网络接口装置508以在网络520上通信。
数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),其上存储有一或多个指令集526或体现本文中所描述的方法或功能中的任何一或多者的软件。指令526还可在其由计算机系统500执行期间完全或至少部分地驻存在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含实施对应于组件(例如,图1的混合式耗损均衡管理组件113)的功能性的指令。尽管在实例实施例中将机器可读存储媒体524展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集且使得机器执行本公开的方法中的任何一或多者的任何媒体。因此应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体以及磁性媒体。
已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在这里并且通常被认为是引起所期望的结果的操作的自洽序列。操作是要求对物理量进行物理操控的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、术语、数目或类似物是方便的。
然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅是应用于这些量的方便标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM和磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,它们分别耦合到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。将了解,可使用多种编程语言来实施如本文中所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,已参考其特定实例实施例描述了本公开的实施例。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本发明进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
Claims (20)
1.一种系统,其包括:
存储器组件;及
处理装置,其与所述存储器组件可操作地耦合以进行以下操作:
在所述存储器组件的数据管理单元上以第一频率使用直接映射函数来周期性地执行第一耗损均衡操作;及
在所述存储器组件的数据管理单元的群组上以第二频率使用间接映射来周期性地执行第二耗损均衡操作,其中所述第二耗损均衡操作的执行不如所述第一耗损均衡操作频繁。
2.根据权利要求1所述的系统,其中所述存储器组件包括非易失性存储器单元的交叉点阵列。
3.根据权利要求1所述的系统,其中为了使用所述直接映射函数周期性地执行所述第一耗损均衡操作,所述处理装置进行以下操作:
将与来自所述数据管理单元的数据相关联的第一逻辑索引施加到所述直接映射函数,以确定对应于所述存储器组件上的物理位置的物理索引;及
将来自所述数据管理单元的所述数据复制到所述物理位置。
4.根据权利要求3所述的系统,其中所述直接映射函数包括交换函数。
5.根据权利要求3所述的系统,其中所述直接映射函数包括循环移位函数。
6.根据权利要求3所述的系统,其中所述直接映射函数包括利用基指针值及空闲指针值的线性函数。
7.根据权利要求1所述的系统,其中为了使用间接映射周期性地执行所述第二耗损均衡操作,所述处理装置进行以下操作:
将来自数据管理单元的所述群组的数据复制到所述存储器组件上的可用物理位置;及
将与来自数据管理单元的所述群组的所述数据相关联的第二逻辑索引到所述可用物理位置的映射记录在查找表中。
8.根据权利要求1所述的系统,其中所述第一频率及所述第二频率是基于从执行先前耗损均衡操作起经过的时间段。
9.根据权利要求1所述的系统,其中所述第一频率及所述第二频率是基于从执行先前耗损均衡操作起由主机机器对所述存储器组件执行的数据写入操作的数目。
10.一种方法,其包括:
通过处理装置在存储器组件的数据管理单元上以第一频率使用直接映射函数来周期性地执行第一耗损均衡操作;及
通过所述处理装置在所述存储器组件的数据管理单元的群组上以第二频率使用间接映射来周期性地执行第二耗损均衡操作,其中所述第二耗损均衡操作的执行不如所述第一耗损均衡操作频繁。
11.根据权利要求10所述的方法,其中使用所述直接映射函数周期性地执行所述第一耗损均衡操作包括:
将与来自所述数据管理单元的数据相关联的第一逻辑索引施加到所述直接映射函数,以确定对应于所述存储器组件上的物理位置的物理索引;及
将来自所述数据管理单元的所述数据复制到所述物理位置。
12.根据权利要求11所述的方法,其中所述直接映射函数包括交换函数、循环移位函数或利用基指针值及空闲指针值的线性函数中的至少一者。
13.根据权利要求10所述的方法,其中使用间接映射周期性地执行所述第二耗损均衡操作包括:
将来自数据管理单元的所述群组的数据复制到所述存储器组件上的可用物理位置;及
将与来自数据管理单元的所述群组的所述数据相关联的第二逻辑索引到所述可用物理位置的映射记录在查找表中。
14.根据权利要求10所述的方法,其中所述第一频率及所述第二频率是基于已经过的时间段或从执行先前耗损均衡操作起由主机机器对所述存储器组件执行的数据写入操作的数目中的至少一者。
15.一种包括指令的非暂时性计算机可读存储媒体,所述指令在由处理装置执行时使所述处理装置进行以下操作:
检测第一触发的发生;
根据直接映射函数将数据单元的第一群组内的多个数据单元重新分布到存储器组件上的不同物理位置;
检测第二触发的发生,其中所述第二触发的发生不如所述第一触发频繁;及
使用间接映射将数据单元的多个群组重新分布到所述存储器组件上的不同物理位置。
16.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述存储器组件包括非易失性存储器单元的交叉点阵列。
17.根据权利要求15所述的非暂时性计算机可读存储媒体,其中为了根据所述直接映射函数将数据单元的所述第一群组内的所述多个数据单元重新分布到所述存储器组件上的不同物理位置,所述处理装置进行以下操作:
将与来自所述多个数据单元中的一者的数据相关联的第一逻辑索引施加到所述直接映射函数,以确定对应于所述存储器组件上的物理位置的物理索引;及
将来自所述多个数据单元中的所述一者的所述数据复制到所述物理位置。
18.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所述直接映射函数包括交换函数、循环移位函数或利用基指针值及空闲指针值的线性函数中的至少一者。
19.根据权利要求15所述的非暂时性计算机可读存储媒体,其中为了使用间接映射将数据单元的所述多个群组重新分布到所述存储器组件上的不同物理位置,所述处理装置进行以下操作:
将来自数据单元的所述多个群组中的一者的数据复制到所述存储器组件上的可用物理位置;及
将与来自数据单元的所述多个群组中的所述一者的所述数据相关联的第二逻辑索引到所述可用物理位置的映射记录在查找表中。
20.根据权利要求15所述的非暂时性计算机可读存储媒体,其中所述第一触发的所述发生及所述第二触发的所述发生是基于已经过的时间段或从执行先前耗损均衡操作起由主机机器对所述存储器组件执行的数据写入操作的数目中的至少一者。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/110,691 | 2018-08-23 | ||
US16/110,691 US11537307B2 (en) | 2018-08-23 | 2018-08-23 | Hybrid wear leveling for in-place data replacement media |
PCT/US2019/047425 WO2020041418A1 (en) | 2018-08-23 | 2019-08-21 | Hybrid wear leveling for in-place data replacement media |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112689829A true CN112689829A (zh) | 2021-04-20 |
Family
ID=69586219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980059927.3A Pending CN112689829A (zh) | 2018-08-23 | 2019-08-21 | 用于就地数据替代媒体的混合式耗损均衡 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11537307B2 (zh) |
EP (1) | EP3841479A4 (zh) |
KR (1) | KR20210034677A (zh) |
CN (1) | CN112689829A (zh) |
WO (1) | WO2020041418A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10852373B2 (en) * | 2016-09-21 | 2020-12-01 | Quality Electrodynamics, Llc | Modulating magnetic resonance imaging transmit field in magnetic resonance fingerprinting using single layer transmit/receive radio frequency coil |
US11156682B2 (en) | 2017-03-24 | 2021-10-26 | Quality Electrodynamics, Llc | Single layer magnetic resonance imaging transmit/receive radio frequency coil for different anatomies |
US10976388B2 (en) | 2017-03-24 | 2021-04-13 | Quality Electrodynamics, Llc | Minimizing intravascular magnetic resonance imaging (MRI) guidewire heating with single layer MRI transmit/receive radio frequency coil |
US11193992B2 (en) | 2017-05-05 | 2021-12-07 | Quality Electrodynamics, Llc | Single layer magnetic resonance imaging (MRI) transmit/receive (Tx/Rx) radio frequency (RF) coil with induced current failsafe protection |
US10838028B2 (en) | 2017-06-19 | 2020-11-17 | Quality Electrodynamics, Llc | Decoupling magnetic resonance imaging (MRI) radio frequency (RF) coil elements with high acceleration factor in parallel transmit (pTx) or receive (Rx) coils using fewer channels |
US10817430B2 (en) | 2018-10-02 | 2020-10-27 | Micron Technology, Inc. | Access unit and management segment memory operations |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047230A (zh) * | 2008-05-28 | 2011-05-04 | 美光科技公司 | 混合式存储器管理 |
US20140063902A1 (en) * | 2012-08-30 | 2014-03-06 | Adesto Technologies Corporation | Memory devices, circuits and, methods that apply different electrical conditions in access operations |
US20180060227A1 (en) * | 2016-08-24 | 2018-03-01 | Futurewei Technologies, Inc. | Wear-Leveling Method for Cross-Point Memory for Multiple Data Temperature Zones |
US20180107386A1 (en) * | 2016-10-18 | 2018-04-19 | SK Hynix Inc. | Data storage device and operating method thereof |
US20180113636A1 (en) * | 2016-10-24 | 2018-04-26 | SK Hynix Inc. | Memory system and wear-leveling method thereof |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1713085A1 (en) | 2002-10-28 | 2006-10-18 | SanDisk Corporation | Automated wear leveling in non-volatile storage systems |
DE60316171T2 (de) * | 2002-10-28 | 2008-05-29 | SanDisk Corp., Milpitas | Automatischer abnutzungsausgleich in einem nicht-flüchtigen speichersystem |
US7315917B2 (en) | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US7539663B2 (en) | 2006-11-15 | 2009-05-26 | Microsoft Corporation | Mapping composition using algebraic operators |
US20080140918A1 (en) | 2006-12-11 | 2008-06-12 | Pantas Sutardja | Hybrid non-volatile solid state memory system |
US8543742B2 (en) | 2007-02-22 | 2013-09-24 | Super Talent Electronics, Inc. | Flash-memory device with RAID-type controller |
KR100857761B1 (ko) * | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
CN100538662C (zh) | 2007-07-05 | 2009-09-09 | 炬力集成电路设计有限公司 | 一种基于局部采样的存储器的磨损平衡方法 |
US20100017649A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation | Data storage system with wear-leveling algorithm |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US8255613B2 (en) | 2009-04-30 | 2012-08-28 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
US9170933B2 (en) | 2010-06-28 | 2015-10-27 | International Business Machines Corporation | Wear-level of cells/pages/sub-pages/blocks of a memory |
US8806171B2 (en) | 2011-05-24 | 2014-08-12 | Georgia Tech Research Corporation | Systems and methods providing wear leveling using dynamic randomization for non-volatile memory |
US20120311228A1 (en) | 2011-06-03 | 2012-12-06 | Advanced Micro Devices, Inc. | Method and apparatus for performing memory wear-leveling using passive variable resistive memory write counters |
KR20130060791A (ko) | 2011-11-30 | 2013-06-10 | 삼성전자주식회사 | 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브 |
WO2013095641A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Sub-block based wear leveling |
US9277013B2 (en) | 2012-05-10 | 2016-03-01 | Qualcomm Incorporated | Storing local session data at a user equipment and selectively transmitting group session data to group session targets based on dynamic playback relevance information |
KR102003930B1 (ko) | 2012-07-31 | 2019-07-25 | 삼성전자주식회사 | 불휘발성 메모리 장치의 데이터 라이팅 제어방법 및 웨어레벨링 제어 기능을 가지는 메모리 콘트롤러 |
US9348743B2 (en) | 2013-02-21 | 2016-05-24 | Qualcomm Incorporated | Inter-set wear-leveling for caches with limited write endurance |
US9710176B1 (en) | 2014-08-22 | 2017-07-18 | Sk Hynix Memory Solutions Inc. | Maintaining wear spread by dynamically adjusting wear-leveling frequency |
US9952801B2 (en) | 2015-06-26 | 2018-04-24 | Intel Corporation | Accelerated address indirection table lookup for wear-leveled non-volatile memory |
US10452533B2 (en) * | 2015-07-14 | 2019-10-22 | Western Digital Technologies, Inc. | Access network for address mapping in non-volatile memories |
US9886324B2 (en) | 2016-01-13 | 2018-02-06 | International Business Machines Corporation | Managing asset placement using a set of wear leveling data |
TWI571882B (zh) | 2016-02-19 | 2017-02-21 | 群聯電子股份有限公司 | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 |
US10049717B2 (en) | 2016-03-03 | 2018-08-14 | Samsung Electronics Co., Ltd. | Wear leveling for storage or memory device |
US20190073136A1 (en) | 2017-09-06 | 2019-03-07 | Macronix International Co., Ltd. | Memory controlling method, memory controlling circuit and memory system |
US11056206B2 (en) | 2017-10-11 | 2021-07-06 | Western Digital Technologies, Inc. | Non-volatile memory with dynamic wear leveling group configuration |
US10656844B2 (en) * | 2017-10-11 | 2020-05-19 | Western Digital Technologies, Inc. | Non-volatile memory with regional and inter-region wear leveling |
-
2018
- 2018-08-23 US US16/110,691 patent/US11537307B2/en active Active
-
2019
- 2019-08-21 KR KR1020217008137A patent/KR20210034677A/ko not_active Application Discontinuation
- 2019-08-21 WO PCT/US2019/047425 patent/WO2020041418A1/en unknown
- 2019-08-21 EP EP19853232.7A patent/EP3841479A4/en not_active Withdrawn
- 2019-08-21 CN CN201980059927.3A patent/CN112689829A/zh active Pending
-
2022
- 2022-11-29 US US18/071,325 patent/US20230097187A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047230A (zh) * | 2008-05-28 | 2011-05-04 | 美光科技公司 | 混合式存储器管理 |
US20140063902A1 (en) * | 2012-08-30 | 2014-03-06 | Adesto Technologies Corporation | Memory devices, circuits and, methods that apply different electrical conditions in access operations |
US20180060227A1 (en) * | 2016-08-24 | 2018-03-01 | Futurewei Technologies, Inc. | Wear-Leveling Method for Cross-Point Memory for Multiple Data Temperature Zones |
US20180107386A1 (en) * | 2016-10-18 | 2018-04-19 | SK Hynix Inc. | Data storage device and operating method thereof |
US20180113636A1 (en) * | 2016-10-24 | 2018-04-26 | SK Hynix Inc. | Memory system and wear-leveling method thereof |
Also Published As
Publication number | Publication date |
---|---|
EP3841479A1 (en) | 2021-06-30 |
KR20210034677A (ko) | 2021-03-30 |
WO2020041418A1 (en) | 2020-02-27 |
US20200065020A1 (en) | 2020-02-27 |
US20230097187A1 (en) | 2023-03-30 |
US11537307B2 (en) | 2022-12-27 |
EP3841479A4 (en) | 2022-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11681442B2 (en) | Performing hybrid wear leveling operations based on a sub-total write counter | |
US20230097187A1 (en) | Hybrid wear leveling for in-place data replacement media | |
US11704024B2 (en) | Multi-level wear leveling for non-volatile memory | |
US11307983B2 (en) | Maintaining data consistency in a memory subsystem that uses hybrid wear leveling operations | |
WO2021011263A1 (en) | Management of unmapped allocation units of a memory subsystem | |
US11676664B2 (en) | Voltage bin selection for blocks of a memory device after power up of the memory device | |
CN113823346A (zh) | 存储器子系统中的区域感知式存储器管理 | |
US20230019910A1 (en) | Limiting hot-cold swap wear leveling | |
US11593005B2 (en) | Managing voltage bin selection for blocks of a memory device | |
US20200133585A1 (en) | Relocating data to low latency memory | |
US11481119B2 (en) | Limiting hot-cold swap wear leveling | |
US11360885B2 (en) | Wear leveling based on sub-group write counts in a memory sub-system | |
US10817435B1 (en) | Queue-based wear leveling of memory components | |
CN112740189B (zh) | 非易失性存储器的多级损耗均衡 | |
CN114144756A (zh) | 使用写入事务数据选择读取电压 | |
US11789861B2 (en) | Wear leveling based on sub-group write counts in a memory sub-system | |
CN114512169A (zh) | 用于存储器装置的基于电压的块族组合 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |