CN112230843A - 限制热-冷交换磨损均衡 - Google Patents
限制热-冷交换磨损均衡 Download PDFInfo
- Publication number
- CN112230843A CN112230843A CN202010679380.1A CN202010679380A CN112230843A CN 112230843 A CN112230843 A CN 112230843A CN 202010679380 A CN202010679380 A CN 202010679380A CN 112230843 A CN112230843 A CN 112230843A
- Authority
- CN
- China
- Prior art keywords
- memory device
- memory
- smu
- wear
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000015654 memory Effects 0.000 claims description 216
- 238000004519 manufacturing process Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 description 81
- 238000012545 processing Methods 0.000 description 33
- 210000004027 cell Anatomy 0.000 description 24
- 230000003321 amplification Effects 0.000 description 17
- 238000003199 nucleic acid amplification method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 241000053227 Themus Species 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 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
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/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
- 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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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)
Abstract
实施例包含用于限制存储器装置中的热‑冷交换磨损均衡的方法、系统、装置、指令和介质。在一个实施例中,使用多个磨损均衡标准来存储和监视磨损度量值。所述多个磨损均衡标准包含热‑冷交换磨损均衡标准,其可利用写计数偏移值。基于第一管理组的第一磨损度量值和第二管理组的第二磨损度量值,选择所述第一管理组和所述第二管理组以用于磨损均衡交换操作。利用所述第一管理组的整个管理组读操作来执行所述磨损均衡交换操作以读取数据集合,并且利用整个管理组写操作来执行所述磨损均衡交换操作以将所述数据集合写入所述第二管理组。
Description
优先权要求
本申请要求于2019年7月15日提交的美国临时专利申请序列号62/874,357(其全部内容以引用方式并入本文)以及于2020年5月14日提交的美国专利申请序列号16/874,389(其全部内容以引用方式并入本文)的优先权。
技术领域
本公开的实施例大体上涉及存储器子系统,且更具体地来说涉及优化存储器子系统中的热-冷交换磨损均衡操作。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为(例如)非易失性存储器装置和易失性存储器装置。通常,主机系统可利用存储器子系统以在存储器装置处存储数据并从存储器装置检索数据。
发明内容
在一个方面中,本公开针对一种存储器系统,其包括:存储器装置;及存储器子系统控制器,其可操作地与所述存储器装置耦合并且经配置以执行包括以下项的操作:基于所述存储器装置的第一部分的磨损量和预定阈值,选择所述存储器装置的所述第一部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据;针对所述交换操作,选择所述存储器装置的未被所述数据结构映射的第二部分;且通过以下项执行所述交换操作:将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
在另一个方面中,本公开针对一种方法,其包括:基于存储器装置的第一部分的磨损量和预定阈值,选择所述存储器装置的所述第一部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据;针对所述交换操作,选择所述存储器装置的未被所述数据结构映射的第二部分;且通过以下项执行所述交换操作:将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
在另一个方面,本公开针对一种存储器系统,其包括:存储器装置;且存储器子系统控制器,其可操作地与所述存储器装置耦合并且经配置以执行包括以下项的操作:基于所述存储器装置的第一部分的第一磨损量、所述存储器装置的第二部分的第二磨损量及预定偏移,选择所述存储器装置的所述第一部分和所述存储器装置的所述第二部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据,所述存储器装置的所述第二部分未被所述数据结构映射;且通过以下项执行所述交换操作:将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
在另一个方面中,本公开针对一种方法,其包括:基于存储器装置的第一部分的第一磨损量、所述存储器装置的第二部分的第二磨损量及预定偏移,选择所述存储器装置的所述第一部分和所述存储器装置的所述第二部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据,所述存储器装置的所述第二部分未被所述数据结构映射;且通过以下项执行所述交换操作:将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
附图说明
通过下面给出的详细描述以及通过本公开的各种实施例的附图,将更全面地理解本公开。然而,附图不应被理解为将本公开限制为特定实施例,而是仅用于解释和理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例性计算环境。
图2说明根据本公开的一些实施例的实例性存储器子系统的方面。
图3说明根据本公开的一些实施例的实例性存储器子系统的方面。
图4说明根据本公开的一些实施例的实例性存储器子系统的方面。
图5是根据本公开的一些实施例的实例性方法的流程图。
图6是说明根据本公开的一些实施例的系统的方面的通信图。
图7是根据本公开的一些实施例的实例性方法的流程图。
图8是根据本公开的一些实施例的实例性方法的流程图。
图9是根据本公开的一些实施例的实例性方法的流程图。
图10是根据本公开的一些实施例的实例性方法的流程图。
图11是其中可操作本公开的实施例的实例性计算机系统的框图。
具体实施方式
本公开的方面是针对优化存储器子系统中的磨损均衡中的热-冷交换操作。存储器子系统可为存储装置、存储器模块或者存储装置和存储器模块的混合。下面结合图1描述存储装置和存储器模块的实例。通常,主机系统可利用包含一或多个组件的存储器子系统,诸如存储数据的存储器装置。主机系统可提供将被存储在存储器子系统处的数据,并且可请求将从存储器子系统被检索的数据。
存储器装置可为非易失性存储器装置。非易失性存储器装置的一个实例是负与(NAND)存储器装置。下面结合图1描述非易失性存储器装置的其它实例。数据操作可由存储器子系统执行。数据操作可为主机启动的操作。举例来说,主机系统可启动对存储器子系统的数据操作(例如,写、读、擦除等)。主机系统可将访问请求(例如,写命令、读命令)发送到存储器子系统,(诸如)将数据存储在存储器子系统处的存储器装置上并从存储器子系统上的存储器装置读取数据。
主机系统可将访问请求发送到存储器子系统,(诸如)将数据存储在存储器子系统处并从存储器子系统读取数据。将被读取和写入的数据在下文中被称为“用户数据”。主机请求可包含用户数据的逻辑地址(例如,逻辑块地址(LBA)),所述逻辑地址是主机系统与用户数据关联的位置。逻辑地址可为用户数据的元数据的部分。
存储器装置可包含非易失性存储器装置和易失性存储器装置。非易失性存储器装置是一或多个管芯的封装。可将封装中的管芯分配至用于与存储器子系统控制器通信的一或多个通道。非易失性存储器装置包含单元(即,存储信息的电子电路),所述单元被分组为页以存储数据位。
非易失性存储器装置可包含(例如)三维交叉点(“3D交叉点”)存储器装置,所述三维交叉点存储器装置是可结合可堆叠交叉网格化数据访问阵列基于体电阻的变化而执行位存储的非易失性存储器的交叉点阵列。
此些非易失性存储器装置可将跨越管芯和通道的页分组以形成管理单元(MU)。MU可包含用户数据和对应元数据。存储器子系统控制器可向且从存储器装置发送MU。超管理单元(SMU)是被一起管理的一或多个MU的集合。举例来说,存储器子系统控制器可对SMU执行介质管理操作(例如,磨损水平操作、刷新操作等)。
存储器子系统可对非易失性存储器装置执行内部管理操作(诸如介质管理操作(例如,缺陷扫描、磨损均衡、刷新)),以管理存储器装置。在存储器装置处存储数据可增大存储器装置的磨损。在阈值量的写操作后,所述磨损可导致存储器装置变得不可靠,使得不再能够可靠地存储数据并从存储器装置检索数据。在此情况下,当存储器装置中的任一者发生故障时,存储器子系统可导致故障。
用于管理具有有限使用周期(例如,在预期故障之前有限数目个写和/或读周期)的物理组件的存储器子系统的耐久性的一种技术是磨损均衡。磨损均衡是通过在存储器装置上分布写操作来帮助减少存储器装置中的过早磨损的过程。磨损均衡包含操作的集合,以用于确定每次对数据进行编程时使用哪个物理介质(例如,存储单元的集合)来帮助确保存储单元的特定物理集合不会比其它物理集合更频繁地被写入和擦除。磨损均衡操作可尝试在存储器装置的数据分组(例如,页、管理单元或其它数据分组)上平均分布磨损操作(例如,写操作、读操作、擦除操作或其任何合适组合)且因此平均分布对应物理磨损,从而限制存储器子系统的特定部分在其它部分之前发生故障的概率。
其中从存储器中的一个位置移动数据的交换操作可为此些系统中的磨损均衡操作的部分。此些操作可包含热-冷交换,其在具有低使用计数(例如,读/写/擦除使用计数)的“冷”存储器与具有高使用计数的“热”存储器之间交换数据。然而,此些操作在系统资源方面可为昂贵的。在交叉点系统中,此些交换可涉及读取较大组的管理单元,随后写入整组的管理单元。此外,此些操作增加了存储器子系统的“写放大”值,其中较高值反映负条件,其中较少的装置操作用于存储器子系统的主要功能(例如,提供主机服务)并且更多的操作用于内部存储器子系统管理。
本公开的方面通过在用于热-冷交换操作的触发条件中包含偏移值来解决上述和其它缺陷。存储器装置的存储单元可被组织为某一数目个单独单元(诸如存储器组件的页、MU、SMU或块),所述单独单元中的每一者经历物理磨损。这些单元可表示可在单个操作中被写入或擦除的存储器组件的单独片段。
可定制偏移值以限制由存储器子系统执行的热-冷交换操作的数目,同时管理此些减少的操作的缺点,诸如MU之间的使用计数差的增加(例如,具有最高使用计数的MU与具有最低使用计数的MU之间的使用计数的差)。在一些实施例中,可将偏移值调整为以存储器子系统内的SMU写中的特定写放大和变化为目标。实施例通过减少存储器子系统使用期间的写放大来改进存储器子系统的操作,包含在诸如顺序工作负荷的平均工作负荷下的写放大减少。这通过增加存储器子系统吞吐量且减少等待时间来改进装置性能。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例性计算系统100。存储器子系统110可包含介质,诸如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或其组合。
存储器子系统110可为存储装置、存储器模块或者存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、闪存驱动器、通用串行总线(USB)闪存驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用闪存(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)和各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为计算装置,诸如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、物联网(IoT)、嵌入式装置、嵌入式计算机(例如,包含于交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的此计算装置。
计算系统100可包含耦合到存储器系统的主机系统120。存储器系统可包含一或多个存储器子系统110。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明主机系统120耦合到一个存储器子系统110的一个实例。如本文所使用,“耦合到”或“与......耦合”通常是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,没有介入组件),无论是有线还是无线,包含(诸如)电、光、磁等的连接。
主机系统120可包含处理器芯片组和由处理器芯片组执行的软件栈。处理器芯片组可包含一或多个核、一或多个高速缓存、存储器控制器(例如,NVDIMM控制器)和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,(例如)以将数据写入存储器子系统110并从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(SATA)接口、快速外围组件互连(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接SCSI(SAS)、小型计算机系统接口(SCSI)、双倍数据速率(DDR)存储器总线、双列直插式存储器模块(DIMM)接口(例如,支持双倍数据速率(DDR)的DIMM插槽接口)、开放NAND闪存接口(ONFI)、双倍数据速率(DDR)、低功率双倍数据速率(LPDDR)或任何其它接口。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。主机系统120可进一步利用NVM快速(NVMe)接口,以在存储器子系统110通过PCIe接口与主机系统120耦合时访问存储器装置(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。图1说明作为实例的存储器子系统110。通常,主机系统120可经由相同的通信连接、多个单独通信连接和/或通信连接的组合来访问多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为(但不限于)随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含负与(NAND)型闪速存储器及原位写存储器,诸如三维交叉点(“3D交叉点”)存储器装置,其为非易失性存储单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据访问阵列,基于体电阻的变化来执行位存储。此外,与许多基于闪存的存储器相比,交叉点非易失性存储器可执行原位写操作,其中可在不预先擦除非易失性存储单元的情况下对非易失性存储单元进行编程。NAND型闪速存储器包含(例如)二维NAND(2D NAND)和三维NAND(3D NAND)。
存储器装置130中的每一者可包含一或多个存储单元阵列。一种类型的存储单元(例如,单级单元(SLC))可每单元存储一位。其它类型的存储单元(诸如多级单元(MLC)、三级单元(TLC)、四级单元(QLC)和五级单元(PLC))可每单元存储多个位。在一些实施例中,存储器装置130中的每一者可包含一或多个存储单元阵列,诸如SLC、MLC、TLC、QLC或其任何组合。在一些实施例中,特定存储器装置可包含存储单元的SLC部分和MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储单元可被分组为页,其可指代用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),可将页分组以形成块。
尽管描述了非易失性存储器组件(诸如NAND型闪速存储器(例如,2D NAND、3DNAND))和非易失性存储单元的3D交叉点阵列,但是存储器装置130可基于任何其它类型的非易失性存储器,诸如只读存储器(ROM)、相变存储器(PCM)、自选择存储器、其它基于硫族化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、NOR闪速存储器和电可擦可编程只读存储器(EEPROM)。
存储器子系统控制器115可与存储器装置130通信以执行诸如在存储器装置130处读取数据、写入数据或擦除数据的操作及其它此些操作。存储器子系统控制器115可包含诸如一或多个集成电路和/或分立元件的硬件、缓冲存储器或其组合。硬件可包含具有专用(即,硬编码)逻辑的数字电路以执行本文描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其任何合适组合)或其它合适的处理器。
存储器子系统控制器115可包含处理装置117(例如,处理器),其经配置以执行存储于本地存储器119中的指令。在所说明的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,其经配置以存储用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程和例程的指令。
在一些实施例中,本地存储器119可包含存储存储器指针、被取出的数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(ROM)。尽管已经将图1中的实例性存储器子系统110说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110可不包含存储器子系统控制器115,而是可依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
通常,存储器子系统控制器115可从主机系统120接收命令或操作,并且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130和/或存储器装置140的期望访问。存储器子系统控制器115可负责其它操作,诸如磨损均衡操作、垃圾收集操作、误差检测及误差校正码(ECC)操作、加密操作、高速缓存操作以及与存储器装置130关联的逻辑地址(例如,逻辑块地址(LBA),命名空间)与物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路,以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收的命令转换为命令指令以访问存储器装置130和/或存储器装置140,以及将与存储器装置130和/或存储器装置140关联的响应转换为用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,DRAM)和地址电路(例如,行解码器和列解码器),其可从存储器子系统控制器115接收地址并解码所述地址以访问存储器装置130。
在一些实施例中,存储器装置130包含本地介质控制器135,其结合存储器子系统控制器115进行操作以对存储器装置130的一或多个存储单元执行操作。外部控制器(例如,存储器子系统控制器115)可从外部管理存储器装置130(例如,对存储器装置130执行介质管理操作)。在一些实施例中,存储器装置130是受管存储器装置,其是与本地控制器(例如,本地控制器135)组合的原始存储器装置,以用于相同存储器装置封装内的介质管理。受管存储器装置的实例是受管NAND(MNAND)装置。
存储器子系统110包含磨损均衡管理组件113,其可优化存储器子系统110中的热-冷交换磨损均衡操作。磨损均衡管理组件113可在用于启动热-冷交换磨损均衡操作的触发条件下使用偏移值,以最小化热-冷交换磨损均衡操作。在一些实施例中,存储器子系统控制器115包含磨损均衡管理组件113的至少一部分。举例来说,存储器子系统控制器115可包含处理装置117,其经配置以执行存储于本地存储器119中的指令以执行本文描述的操作。在一些实施例中,磨损均衡管理组件113是主机系统110、应用程序或操作系统的部分。下面描述关于磨损均衡管理组件113的操作的进一步细节。
图2说明根据本公开的一些实施例的存储器子系统的实例性存储器结构的方面。如本文所描述,存储器装置130可经配置有如存储器结构200所说明的MU和SMU结构。在一些实施例中,存储器结构200是特别地如上所描述的交叉点存储器,其具有SMU210A到SMU210N的集合。
在一些实施例中,MU可为管芯、通道、页、码字、奇偶校验位、存储单元或其组合的组。MU可使存储器子系统控制器能够在经分配介质组或区段中的存储器装置的部分上进行管理(例如,执行操作、过程等)。
在一些实施例中,存储器结构200是特别地如上所描述的交叉点存储器,其具有SMU 210A到SMU 210N的集合。每一SMU包含MU 212到MU 220的对应集合。举例来说,如所展示,SMU 210A包含MU 212A到MU 220A,并且SMU 210N包含MU 212N到MU 220N。在一个实例性实施例中,存储器结构200系统可具有100,000个SMU,其中每一SMU含有1000个MU。此粗略映射存储200的其它实施例可具有不同数目个SMU和MU,其中SMU和MU的平衡经配置以用于数据存储的有效管理。存储器装置的存储单元可被组织为某一数目个单独单元。举例来说,3D交叉点存储器装置可将页组织为MU,并且MU可被分组为SMU。在另一实例中,在NAND存储器装置中,一组页形成块。单独单元可表示可在单个操作中被写入或擦除的存储器装置的单独片段。MU和SMU在下文中用作单元的实例。
在存储器子系统中,具有可用空间的部分(例如,SMU)可被映射到数据(例如,用户数据和元数据)并且一些部分(例如,SMU)可未被映射到数据。经映射部分(例如,SMU)在下文中指示存储数据或可用于存储数据的部分(SMU)。存储器的未经映射部分(例如,未经映射SMU)在下文中指示不存储数据或不可用于存储数据的存储器装置的部分。经映射SMU可被组织为经映射SMU的集合或池,并且未经映射SMU可被组织为未经映射SMU的集合或池。
图3说明根据本公开的一些实施例的使用经映射SMU 300的集合和未经映射SMU320的集合的SMU磨损均衡(例如,SMU间磨损均衡)。当SMU包含被映射(例如,用数据编程或可用于用数据编程)到数据的MU时,SMU可被称为经映射SMU。当SMU包含未被映射到数据或为空的MU时,SMU可被称为未经映射SMU。
图3说明经映射SMU 310和未经映射SMU 322的实例。经映射SMU 310包含多个经映射MU 312、314、316和318。未经映射SMU 322还包含多个未经映射MU 324、326、328和330。经映射SMU 310可被包含于经映射SMU 300的集合中,并且未经映射SMU 322可被包含于未经映射SMU 320的集合中。在经映射SMU的集合和未经映射SMU的集合中分别仅描绘了有限数目个经映射SMU和未经映射SMU,但是实际上在经映射SMU的集合和未经映射SMU的集合中可包含任何数目个经映射SMU和未经映射SMU。进一步地,经映射SMU和未经映射SMU中的每一者可包含任何数目个数据管理单元。
在一个实施例中,磨损均衡管理组件113可通过用于将经映射SMU 310与未经映射SMU 322进行交换的交换操作390来执行SMU间磨损均衡。举例来说,当满足阈值条件时(诸如与经映射SMU 310关联的小计写计数器超过阈值时),可将经映射SMU 310的数据复制到未经映射SMU 320的集合,并且未经映射SMU 322可被包含于经映射SMU 300的集合中。交换操作390的SMU间磨损均衡可使用由映射数据结构实施的间接全关联映射,以在经映射SMU300的集合和未经映射SMU 320的集合之间交换SMU时存储逻辑地址到SMU的物理地址的映射。如下面更详细地描述,交换操作390可包含读取整个SMU(例如,SMU的所有MU),随后写入整个SMU。
各种系统可使用不同的磨损度量。总写计数(例如,在数据单元的寿命期间对数据单元执行将数据写入数据单元的写操作的次数)、总读计数(例如,在数据单元的寿命期间对数据单元执行从数据单元读取数据的读操作的次数)或总擦除计数(例如,在数据单元的寿命期间对数据单元执行从数据单元擦除数据的擦除操作的次数)可为存储器装置的数据单元的磨损的指示符。也可使用其它度量,如本文所描述。
在各种实施方案中,磨损均衡操作可将具有高磨损度量的数据单元的数据重写入具有较低磨损度量的另一数据单元,或反之亦然(例如,将具有低磨损度量的数据单元的数据重写入具有较高磨损度量的另一数据单元)。在此些实施方案中,磨损度量可指示数据单元上的物理磨损水平。磨损度量的一些实例可包含写计数、读计数或写计数与读计数的组合。尽管本文的讨论主要集中于写计数,但是应当注意,可使用类似技术来实施额外类型的计数。
在一些实施方案中,磨损度量可包含写计数与读计数的组合。举例来说,磨损度量可包含特定数据单元的写计数和读计数两者,其中使用一或多个等式来组合写计数和读计数。读操作引起的数据单元上的物理磨损可小于由写操作引起的物理磨损。为了组合数据单元的读计数和写计数,可通过加权写计数或读计数来归一化数据单元的读计数或写计数(例如,将根据不同标度测量的计数调整为公共标度)。举例来说,数据单元的读计数可乘以分数(例如,0.8),以确定读计数在磨损方面表示的写计数的等效数目。数据单元的加权读计数和写计数可被组合(例如,相加),并且用作表示特定数据单元上的物理磨损的磨损度量。
在一些实施方案中,存储器装置112可包含非易失性存储器装置,此些非易失性存储器装置包含非易失性存储单元的交叉点阵列。如上所指出,非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据访问阵列,基于体电阻的变化来执行位存储。此外,与执行不在位写操作的许多基于闪存的存储器(例如,在可将其它数据编程到将被写入的位置之前擦除所述位置处的数据)相比,交叉点非易失性存储器可执行原位写操作,其中可在不预先擦除非易失性存储单元的情况下对非易失性存储单元进行编程。可注意到,由于交叉点非易失性存储器执行原位写操作的能力,交叉点非易失性存储器的磨损度量可不包含擦除计数。擦除计数可用于确定其它类型的存储器装置的磨损度量。擦除计数可为指示在数据单元的寿命期间对数据单元执行存储器操作(诸如擦除数据单元的数据的擦除操作)的次数的值。本公开的方面可被应用于其它类型的非易失性存储器装置或其它类型的存储器装置。
通过从经映射SMU中的SMU将数据复制到未经映射SMU中的SMU,各种条件可用于确定何时将经映射SMU中的SMU与未经映射SMU中的SMU交换。在一些存储器子系统中,条件依赖于SMU的总写计数器(例如,在SMU的寿命期间SMU的历史写计数)。使用SMU的总写计数器来在经映射SMU的集合和未经映射SMU的集合之间移动SMU可导致写放大。写放大可指示增加执行写操作的频率。举例来说,第一条件(例如,最低写计数条件或“冷”交换条件)可指定当第一SMU变为“冷”时,将经映射SMU的集合中的第一SMU与未经映射SMU的集合中的第二SMU交换。变为“冷”可指示第一SMU具有相对于经映射SMU的集合中的其它SMU的最小总写计数器,并且其最小总写计数器低于第二SMU的总写计数器,所述第二SMU的总写计数器相对于未经映射SMU的集合中的其它SMU是最小的。
然而,将数据复制到包含于第二SMU中的大量数据块以将第二SMU包含于经映射SMU的集合中可导致与大量数据块相当的写次数。因此,被添加到经映射SMU的集合的SMU的写计数可增加到其中满足第二条件(例如,最高写计数条件或“热”交换条件)的值。在不存在用于检测第二SMU最近是否被写入(例如,是“热”)的机制的情况下,可选择第二SMU来将其数据复制到未经映射SMU的集合中的另一SMU并且不能实现磨损均衡。此外,写放大可变得无限制。
进一步地,磨损均衡的另一目标可为尝试收敛SMU的总写计数器之间的差,其中SMU的每一总写计数器是包含于该SMU中的相应MU的总写计数器的总和,以及/或者尝试收敛SMU中的每一者内的各个数据块的总写计数器之间的差。在如上所描述的仅依赖于条件的总写计数器的一些存储器子系统中,写放大可使SMU的某些总写计数器与其它SMU的其余总写计数器分开。因此,具有较高总写计数器的一些SMU可比其它SMU更快地劣化。此外,当执行更多的写时,无限制的写放大可导致存储器子系统的性能降低,并且当执行写时带宽下降时,连接到存储器子系统的主机系统经历等待时间。由于未实现磨损均衡,因此存储器装置整体的寿命缩短。
可使用不同的磨损均衡技术在数据结构内的不同级别处执行磨损均衡。一些系统以单个级别的磨损均衡进行操作。在使用以上描述的SMU和MU存储器结构的一些实施例中,以SMU级别执行磨损均衡。该SMU间磨损均衡可使用基于磨损均衡的触发由映射数据结构(例如,查找表)实施的间接全关联映射。在一些实施例中,(例如)在与经映射SMU关联的至少小计写计数器或新的写计数器超过阈值之后发生一个触发。在此些实施例中,小计写计数器可包含指示在SMU被映射到数据(例如,从另一SMU将数据复制到经映射SMU)之后对经映射SMU执行的写操作的数目的值。
图4说明根据本公开的一些实施例的实例性存储器子系统的方面。图4展示包含一或多个磨损水平度量的SMU数据表400。对于每一SMU,磨损均衡度量包含SMU基址指针410、SMU写计数420和SMU前向写计数(FWC)430。SMU数据表400还在SMU经映射/未经映射列440中指示SMU被映射还是未被映射。在其它实例性实施例中,不同的数据结构用于跟踪SMU数据。举例来说,可使用链表或其它数据结构来代替SMU数据表400。数据结构可被存储于存储器装置(例如,存储器装置140、存储器装置130)中,或者可被存储于存储器子系统控制器的本地存储器上。
SMU数据表400包含存储器装置130中的每一SMU的表条目。每一SMU的表条目包含一或多个磨损均衡度量。度量可包含(例如但不限于)总写计数(例如,在相应SMU的寿命期间对相应SMU执行将用户数据写入SMU MU的写操作的次数)、总读计数(例如,在相应SMU的寿命期间对相应SMU执行从SMU读取用户数据的读操作的次数),或总擦除计数(例如,在相应SMU的寿命期间对相应SMU执行从SMU擦除数据的擦除操作的次数)或其任何合适组合。在一些实施例中,度量可包含MU度量。
在一些实施例中,SMU数据表400包含用于与存储器子系统中的SMU的数目匹配的条目。在操作期间,更新SMU数据表的条目(例如,每一条目)中的值。举例来说,如果SMU“C”是写操作的目标,则可递增SMU“C”的SMU写计数和SMU FWC。如果写操作也是移动操作或交换操作的部分,则也可调节SMU“C”的SMU基址指针。SMU数据表400可由磨损均衡管理组件113访问、使用和/或维护。在其它实施例中,SMU数据表400可为作为存储器子系统110的部分进行操作且由磨损均衡管理组件113访问的独立数据表。
由系统使用以用于SMU数据表400中的磨损均衡操作的数据包含基址指针数据、写计数数据和FWC数据。在磨损均衡操作期间,可使用包含确定性函数、映射函数、随机化函数、查找表或位图的地址确定技术的集合中的至少一个在SMU内确定特定目标SMU的基址指针的新地址(例如,SMU“B”的SMU基址指针410)。可为SMU存储基址指针的新地址和地址确定技术的集合中的地址确定技术的索引。对SMU中MU的逻辑地址的任何访问尝试可使用基址指针的新地址和/或地址确定技术的索引来确定SMU内的被请求MU的物理地址。
如上所描述,SMU间磨损均衡可包含交换SMU的所有MU,所述SMU被映射到空闲SMU的MU。前一SMU变为空闲SMU并且后一SMU变为经映射SMU。以这种方式,经映射SMU的集合中的SMU被包含于未经映射SMU的集合中,并且未经映射SMU的集合中的SMU被包含于经映射SMU的集合中。在一些实施例中,SMU的一个MU可单独地与另一SMU中的另一MU交换,而在其它实施例中,SMU的多个MU可同时地与另一SMU中的多个MU交换。
在一些实施例中,除了基址指针之外,其它元数据可与SMU中的每一者关联,以使得总写计数器之间的差能够收敛且限制写放大。
总写计数器SMU写计数420可包含指示在SMU的寿命期间(例如,在SMU被移动到经映射SMU的集合之前并且自SMU被移动到经映射SMU的集合之后)SMU的总历史写计数的值。在一些实施例中,SMU数据表400的总写计数器中的SMU写计数420可经配置以超过一百万的值(例如,在可能的值中超过21位)。在其它实施例中,可使用其它限制或数据大小。
与SMU FWC 430关联的小计写计数器或新的写计数器以及与SMU写计数420关联的总写计数器可与每一SMU关联。小计(例如,FWC)写计数器可包含指示自来自另一SMU的数据被复制到相应SMU且相应SMU被包含于经映射SMU的集合中之后对相应SMU执行的写操作的数目的值。即,小计写计数器可包含指示自将相应SMU从未经映射SMU的集合交换到经映射SMU的集合之后对相应SMU执行的写操作的数目的值。阈值用于确定何时使用FWC触发热-冷交换操作并且然后将FWC重置为零。在其它实施例中,FWC可反映总写计数的较低位,其中进行监视以确定FWC何时超过阈值且FWC何时循环。举例来说,如果FWC表示22位SMU WC的较低15位,则磨损均衡管理组件113可跟踪FWC何时超过阈值以及较低15位在热-冷交换操作之后何时循环到所有零值。
每当将数据从经映射SMU复制到未经映射SMU时,未经映射SMU变为经映射SMU并且重置用于新的经映射SMU的小计写计数器。此外,未重置用于新的经映射SMU的总写计数器。对经映射SMU的集合中的新的经映射SMU的进一步写可使小计写计数器递增并且使总写计数器递增。为了确保新的经映射SMU的数据在变为经映射SMU之后不会被过快地复制到未经映射SMU的集合中的另一SMU,当小计写计数器超过作为第一阈值磨损条件的阈值时,可对新的经映射SMU执行SMU间磨损均衡操作。以这种方式,可检测SMU的“热度”,并且可通过防止最近被映射到数据的SMU在期望之前未被映射到数据来限制写放大。阈值可为任何合适的数字并且可为可调的。
在一些实施例中,可基于小计写计数器和总写计数器来执行磨损均衡操作。举例来说,除了满足第一阈值磨损条件以外,额外磨损水平条件可包含将SMU的总写计数器与另一SMU进行比较,所述另一SMU相对于经映射SMU的集合和未经映射SMU的集合中的其它SMU具有最小总写计数器。可确定总写计数器的值之间的差是否超过阈值。如果小计写计数器超过阈值并且总写计数器比另一SMU的最小总写计数器大至一阈值,则可执行SMU间磨损均衡操作,以将数据从经映射SMU的集合中的SMU复制到未经映射SMU的集合中的另一SMU。
图5是根据本公开的实施例的用于在存储器装置中执行磨损均衡操作同时限制热-冷交换的实例性方法500的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路或其任何合适组合)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法500由图1的磨损均衡管理组件113执行。尽管以特定顺序或次序展示,但除非另有说明,否则可修改所述操作的次序。因此,所说明的实施例应当仅被理解为实例,并且可以以不同次序执行所说明的操作且可并行执行一些操作。此外,可在各种实施例中省略一或多个操作。因此,并非在每一实施例中都需要所有操作。其它操作流程也是可能的。
在操作510中,磨损均衡管理组件113将存储器装置的管理组中的每一管理组的磨损度量值存储在存储器子系统(例如,存储器子系统110)中。如上所描述,在存储器组件220的结构中,每一管理组(例如,SMU)由MU组成,并且每一MU由多个存储器元件(例如,3D交叉点存储器系统中的可单独寻址的存储器位)组成。举例来说,3D交叉点存储器装置可跨越管芯和通道组织页以形成管理单元(MU),并且MU可被分组为SMU。
在操作520,处理装置监视磨损度量值(例如,SMU写计数420或SMU FWC 430)。使用一或多个磨损均衡标准来执行该监视。在一些实施例中,可使用两个以上的磨损均衡标准。在一些实施例中,磨损均衡标准中的一者是包含写计数偏移值的热-冷交换标准。写计数偏移值对于存储器子系统的特定部署可为可调的,并且在一些系统中可用于几乎完全地消除热-冷交换操作。下面描述与偏移相关的额外细节。
在操作530,处理装置选择多个管理组(例如,SMU)以用于磨损均衡交换。在一些实施例中,处理装置选择两个SMU。该选择可基于各个管理组的磨损度量值。举例来说,所述选择可基于第一管理组的第一磨损度量值和第二管理组的第二磨损度量值。取决于用于选择的标准,SMU可具体地由标准确定,使得用于磨损均衡交换操作的不同管理组具体地由监视标准识别。举例来说,当写计数偏移加上经映射管理组的集合的写计数值的最低写计数值低于未经映射管理组的集合的写计数值的最低写计数值时,可触发热-冷交换标准。此标准识别来自经映射SMU的特定SMU(例如,经映射SMU 300的集合)和来自未经映射SMU的特定SMU(例如,未经映射SMU 320的集合)。
其它标准仅识别单个目标SMU,并且用于交换的第二SMU可为随机的或基于另一独立标准。举例来说,如以上针对热-冷交换操作所描述,标准可将新的写计数值与系统中的每一SMU的阈值进行比较。当特定目标SMU(例如,经映射SMU 310)具有超过阈值的新的写计数时,触发磨损均衡交换。然而,该标准仅识别具有恰好超过阈值的对应的新的写计数的特定单个SMU。可随机地或基于另一磨损均衡标准来选择第二SMU(例如,未经映射SMU 322)。举例来说,第二SMU可被选择作为具有最低总写计数的未经映射SMU的集合中的未经映射SMU。在其它实施例中,可使用额外更复杂的标准。举例来说,如果第一SMU具有不频繁使用的历史,则可基于标准来选择第二SMU以使用具有总高写计数的SMU。类似地,如果第一SMU具有频繁使用的历史,则可基于低总写计数来选择第二SMU。在其它实施例中,可使用任何此额外标准。
在操作540,处理装置执行磨损均衡交换操作。如上所描述,此交换操作涉及管理组的整个管理组(例如,DMU或MU)的读取以及整个管理组写操作(例如,管理组的每一MU的写),以将数据集合写入第二管理组。
图6是说明根据本公开的一些实施例的系统的方面的通信图。图6的系统600包含磨损均衡管理组件113、SMU管理表400和存储器装置130。SMU管理表包含SMU FWC430元素、SMU WC 420元素和SMU基址指针410元素,如以上针对图4所详细地描述。尽管系统600说明特定实施方案,但是在其它实施方案中,可存在额外存储器装置或介质,可在SMU 400中存在额外数据、度量、计数器或其它信息,并且可将磨损均衡管理组件113和SMU管理表400集成在一起或保持其分离。
在所说明的操作602中,磨损均衡管理组件113与来自存储器装置130的数据交互以监视SMU使用。这可包含监视读、写、移动或任何前端主机服务操作(例如,由主机装置启动的读和写)以及后端内部管理操作(例如,数据刷新移动操作等)。当存储器操作发生时,在操作604中更新所述操作中涉及的SMU的度量。
在操作606中,通过磨损均衡管理组件1130使用来自SMU管理表400的数据来监视各种标准(例如,热-冷交换标准)。如上所描述,标准中的至少一者是具有写计数偏移的热-冷交换标准。当根据所监视标准中的一者满足交换的标准时,在操作608中由磨损均衡管理组件113启动移动操作。然后,整个SMU读操作610和整个SMU写操作612响应于操作608的移动触发而发生。
作为监视涉及存储器装置130的操作的部分,在操作614中重置用于目标SMU的SMUFWC 430的FWC。在一些实施例中,系统可以以用于SMU FWC 430值的重置或翻转的不同机制来操作。然后在操作616中更新SMU WC 420的总写计数。取决于特定实施例,也可以以各种方式更新SMU基址指针410的基址指针。一些实施例在移动操作期间特别地随机化SMU基址指针410值,以改进磨损均衡性能。
图7是根据本公开的一些实施例的实例性方法的流程图。方法700可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法700由图1的磨损均衡管理组件113执行。尽管以特定顺序或次序展示,但除非另有说明,否则可修改所述操作的次序。因此,所说明的实施例应当仅被理解为实例,并且可以以不同次序执行所说明的操作且可并行执行一些操作。此外,可在各种实施例中省略一或多个操作。因此,并非在每一实施例中都需要所有操作。其它操作流程也是可能的。
在方法700中,处理装置(例如,执行用于磨损均衡管理组件113的指令)监视SMU管理表。当各种主机操作利用与SMU管理表关联的存储器装置时,更新表中的数据。所述监视启动对多个磨损均衡标准的检查。
操作704的第一磨损均衡标准是热-冷交换磨损均衡标准。在操作704中,热-冷交换磨损均衡标准是:
(1)FWC>阈值SMU
在上述比较中,FWC是新的写计数值并且阈值SMU是用于触发目标管理组的热-冷交换操作的阈值,所述目标管理组具有大于阈值的对应的新的写计数。如果特定SMU的元数据不满足该标准,则方法700继续监视。如果满足所述标准,则在操作706中,执行整个SMU移动(例如,对经映射SMU的整个SMU读取和对未经映射SMU的整个SMU写入),以将满足标准的目标SMU中的数据移动到未经映射SMU。然后在操作708中更新SMU管理表,并且所述方法继续。
操作720的第二磨损均衡标准是具有写计数偏移的热-冷交换磨损均衡标准。在操作720中,根据下式确定热-冷交换磨损均衡标准:
(2)WCmin(经映射)-Offset>WCmin(未经映射)
在该第二热-冷交换标准中,WCmin(经映射)是经映射管理组的集合的写计数值的最低写计数值,WCmin(未经映射)是未经映射管理组的集合的写计数值的最低写计数值,并且Offset是偏移值。由于使用Offset值,当(最少使用的)经映射SMU的写计数值超过(最少使用的)未经映射SMU的写计数值时,不立即将经映射SMU与未经映射SMU交换。在没有Offset的情况下,可在每次修改之后在两个SMU之间重复地交换数据,从而导致100%的开销。通过使用Offset,保证在导致另一交换操作的成本之前对数据进行最小数目个修改。
如果在操作720中未满足标准,则方法700继续周期性地监视管理表或使用任何合适的监视机制。如果满足所述标准,则在操作722中,执行整个SMU移动(例如,整个SMU读取和整个SMU写入),以将满足标准的目标SMU中的数据移动到未经映射SMU。然后在操作724中更新SMU管理表,并且所述方法继续进行稳态监视,直到下一次基于SMU管理表中的元数据满足标准中的一者为止。
图8是根据本公开的一些实施例的实例性方法的流程图。方法800可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法800由图1的磨损均衡管理组件113执行。尽管以特定顺序或次序展示,但除非另有说明,否则可修改所述操作的次序。因此,所说明的实施例应当仅被理解为实例,并且可以以不同次序执行所说明的操作且可并行执行一些操作。此外,可在各种实施例中省略一或多个操作。因此,并非在每一实施例中都需要所有操作。其它操作流程也是可能的。
在操作805中,处理装置存储或以其它方式管理且更新SMU管理表中的磨损值。此些存储和更新操作可(例如)涉及对用于实施管理表的存储器子系统的存储器元件的读操作和写操作。针对耦合到处理装置的存储器装置的SMU存储磨损值。磨损值包含写计数度量值、新的写计数值和基址指针值。多个存储器装置中的每一SMU由MU组成,并且每一SMU的每一MU由存储器元件组成。
在操作810中,处理装置使用一或多个磨损均衡标准来监视磨损度量值。如上所描述,磨损均衡标准包含具有写计数偏移值的热-冷交换磨损均衡标准。在操作815中选择用于磨损均衡交换的SMU之后,在操作820中,处理装置基于第一SMU的第一写计数值和第二SMU的第二写计数值来选择用于磨损均衡交换操作的第一SMU和第二SMU。然后,在操作825中,处理装置执行磨损均衡交换操作,其中第一SMU的整个SMU读操作读取数据的集合,并且整个SMU写操作将数据的集合写入第二SMU。
特别地,对于仅具有单个热-冷交换标准的系统(诸如在上述方法700中描述的那些),磨损均衡操作被限于其中用于磨损均衡的单个基本机制使用SMU移动操作的低复杂度操作。因此,可使用上述标准1和标准2以仅两个磨损均衡标准配置一些实施例。这限制了来自SMU内管理(例如,管理SMU内的MU)的开销,并且限制了来自被排除在此些实施例之外的SMU内(例如,在单个SMU或多个SMU的MU之间)操作的额外硬件。
在此些实施例中,写放大和SMU写计数使用热-冷交换偏移和热-冷交换阈值来区分目标。如上所描述,写放大是SMU的物理写计数的数目(例如,写的实际数目)除以SMU的逻辑写的数目(例如,响应于主机请求的写)。随着写放大值增大,存储器组件的较少的总写操作用于预期目的(例如,用于支持诸如膝上型计算机操作、汽车竞争等的主机部署)且较多的总写操作用于内部管理(例如,磨损均衡)。举例来说,1.2的写放大值导致超过用于主机服务的读和写的额外20%的总读和写。此外,写放大对于所有类型的工作负荷是恒定的。
SMU写计数差指示SMU管理表中SMU的最高总写计数值与所述表中SMU的最低总写计数值之间的增量。举例来说,如果SMU管理表具有五个SMU的元数据,其中对应SMU的总写计数被存储为200000、300000、350000、150000和400000,则SMU的集合的SMU写计数差值将为250000,其是400000与150000之间的差。
通过在热-冷交换标准下使用非零的正可调写计数偏移值,热-冷交换不那么频繁地发生,这是因为当针对SMU发生热-冷交换操作时,启动热-冷交换操作的FWC值被重置,从而延迟满足热-冷交换标准的时间。因此,在适当地调节热-冷交换偏移和热-冷交换阈值的情况下,减小了存储器装置的写放大。
在一些实施例中,热-冷交换偏移和热-冷交换阈值被一起调节,以便以存储器装置的写放大性能值为目标。在一些此些实施例中,进一步进行该调节以便以存储器装置的多个管理组的管理组写差性能值为目标。
对于顺序工作负荷,因为操作被相对平均分布在存储器组件的逻辑操作空间上,所以一些实施例可设置热-冷交换偏移,使得很少或从不被触发。此外,尽管一些实施例不使用MU的明确磨损均衡标准来管理在MU内发生的写变化,但在一些实施例中,SMU基址指针的随机化选择可在SMU内提供足够的变化以限制SMU中的MU之间的巨大差,所述巨大差可导致装置故障(例如,由于第一MU命中最大写计数且远在同一SMU的另一MU之前失败)。
图9是根据本公开的一些实施例的实例性方法900的流程图。方法900包含操作910、920、930、940和950。通过实例而非限制的方式,方法900被描述为由存储器子系统110中的磨损均衡管理组件113使用SMU数据表400来执行。
在操作910中,磨损均衡管理组件113基于存储器装置的第一部分(例如,SMU)的磨损量和预定阈值,选择存储器装置的第一部分以用于热-冷交换操作,存储器装置的第一部分通过数据结构被映射到当前数据。举例来说,磨损均衡管理组件113可访问SMU数据表400的SMU写计数420或SMU FWC 430,以确定自制造或被映射到当前数据之后SMU上的总磨损。在一些实例性实施例中,将磨损与阈值进行比较,使得选择具有至少阈值磨损量的SMU。举例来说,可应用方法700的操作704的标准。
磨损均衡管理组件113为热-冷交换操作选择未被数据结构映射的存储器装置的第二部分(例如,SMU)(操作920)。举例来说,磨损均衡管理组件113可访问SMU数据表400的SMU写计数420和SMU经映射/未经映射列400,以选择在未经映射SMU当中具有最低磨损量的未经映射SMU。
在操作930中,磨损均衡管理组件113通过将数据从存储器装置的第一部分传送到存储器装置的第二部分(操作940)并且修改数据结构以映射存储器装置的第二部分且去映射存储器装置的第一部分(操作950)来执行交换操作。举例来说,可读取来自第一SMU的数据(例如,可读取整个第一SMU),并且可将所读取的数据写入第二SMU。SMU数据表400经修改以指示第二SMU现在“热”且正被用于有效地存储数据,并且第一SMU现在“冷”且不存储数据。
图10是根据本公开的一些实施例的实例性方法1000的流程图。方法1000包含操作1010、1020、1030和1040。通过实例而非限制的方式,方法1000被描述为由存储器子系统110中的磨损均衡管理组件113使用SMU数据表400来执行。
在操作1010中,磨损均衡管理组件113基于存储器装置的第一部分(例如,第一SMU)的第一磨损量、存储器装置的第二部分(例如,第二MSU)的第二磨损量及预定偏移,选择存储器装置的第一部分和存储器装置的第二部分以用于交换操作,存储器装置的第一部分通过数据结构被映射到当前数据,存储器装置的第二部分未被数据结构映射。举例来说,磨损均衡管理组件113可访问SMU数据表400的SMU写计数420或SMU FWC 430,以确定自制造或被映射到当前数据之后SMU上的总磨损。此外,可访问SMU数据表400的SMU经映射/未经映射列400,以确定哪些SMU被映射且哪些未被映射。在一些实例性实施例中,从第一磨损量中减去偏移,从而使得选择至少具有比第一SMU更小磨损的偏移的第二SMU。举例来说,可应用方法700的操作720的标准。
在操作1020中,磨损均衡管理组件113通过将数据从存储器装置的第一部分传送到存储器装置的第二部分(操作1030)并且修改数据结构以映射存储器装置的第二部分且去映射存储器装置的第一部分(操作1040)来执行交换操作。举例来说,可读取来自第一SMU的数据(例如,可读取整个第一SMU),并且可将所读取的数据写入第二SMU。SMU数据表400经修改以指示第二SMU现在“热”且正被用于有效地存储数据,并且第一SMU现在“冷”且不存储数据。
实例
实例1是存储器系统,其包括:存储器装置;及存储器子系统控制器,其可操作地与所述存储器装置耦合并且经配置以执行包括以下项的操作:基于所述存储器装置的第一部分的磨损量和预定阈值,选择所述存储器装置的所述第一部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据;针对所述交换操作,选择所述存储器装置的未被所述数据结构映射的第二部分;且通过以下项执行所述交换操作:将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
实例2包括实例1的主题,其中:所述存储器装置的所述第一部分的所述磨损量基于通过所述数据结构将所述存储器装置的所述第一部分映射到当前数据之后对所述存储器装置的所述第一部分的访问次数。
实例3包括实例2的主题,其中:所述存储器装置的所述第一部分的所述选择进一步基于所述存储器装置的所述第一部分的第二磨损量,所述第二磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第一部分的访问次数。
实例4包括实例1至3中任一项的主题,其中:所述存储器装置的所述第一部分的所述磨损量基于对所述存储器装置的所述第一部分的写次数和对所述存储器装置的所述第一部分的读次数的加权和,在通过所述数据结构将所述存储器装置的所述第一部分映射到当前数据后测量所述写次数和所述读次数,所述写次数的第一权重不同于所述读次数的第二权重,所述第一权重和所述第二权重均具有正值。
实例5包括实例1至4中任一项的主题。根据权利要求1所述的存储器系统,其中所述操作进一步包括:修改所述数据结构以指示自被映射之后对所述存储器装置的所述第二部分的访问次数为零。
实例6是一种方法,其包括:基于存储器装置的第一部分的磨损量和预定阈值,选择所述存储器装置的所述第一部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据;针对所述交换操作,选择所述存储器装置的未被所述数据结构映射的第二部分;且通过以下项执行所述交换操作:将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
实例7包括实例6的主题,其中:所述存储器装置的所述第一部分的所述磨损量基于通过所述数据结构将所述存储器装置的所述第一部分映射到当前数据之后对所述存储器装置的所述第一部分的访问次数。
实例8包括实例7的主题,其中:所述存储器装置的所述第一部分的所述选择进一步基于所述存储器装置的所述第一部分的第二磨损量,所述第二磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第一部分的访问次数。
实例9包括实例6至8中任一项的主题,其中:所述存储器装置的所述第一部分的所述磨损量基于对所述存储器装置的所述第一部分的写次数和对所述存储器装置的所述第一部分的读次数的加权和,在通过所述数据结构将所述存储器装置的所述第一部分映射到当前数据后测量所述写次数和所述读次数,所述写次数的第一权重不同于所述读次数的第二权重,所述第一权重和所述第二权重均具有正值。
实例10包括实例6至9中任一项的主题,进一步包括:修改所述数据结构以指示自被映射之后对所述存储器装置的所述第二部分的访问次数为零。
实例11是存储器系统,其包括:存储器装置;及存储器子系统控制器,其可操作地与所述存储器装置耦合并且经配置以执行包括以下项的操作:基于所述存储器装置的第一部分的第一磨损量、所述存储器装置的第二部分的第二磨损量及预定偏移,选择所述存储器装置的所述第一部分和所述存储器装置的所述第二部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据,所述存储器装置的所述第二部分未被所述数据结构映射;且通过以下项执行所述交换操作:将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
实例12包括实例11的主题,其中:所述存储器装置的所述第一部分的所述选择包括确定所述存储器装置的所述第一部分比所述存储器装置的所有其它经映射部分具有更大的磨损。
实例13包括实例11或实例12的主题,其中:所述存储器装置的所述第二部分的所述选择包括确定所述存储器装置的所述第二部分比所述存储器装置的所有其它未经映射部分具有更小的磨损。
实例14包括实例11至13中任一项的主题,其中:所述存储器装置的所述第一部分的所述第一磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第一部分的第一访问次数;且所述存储器装置的所述第二部分的所述第二磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第二部分的第二访问次数。
实例15包括实例11至14中任一项的主题,其中:所述存储器装置的所述第一部分的所述第一磨损量基于对所述存储器装置的所述第一部分的写次数和对所述存储器装置的所述第一部分的读次数的加权和,自所述存储器装置的制造之后测量所述写次数和所述读次数,所述写次数的第一权重不同于所述读次数的第二权重,所述第一权重和所述第二权重均具有正值。
实例16包括实例11至15中任一项的主题,其中所述操作进一步包括:修改所述数据结构以指示自被映射之后对所述存储器装置的所述第二部分的访问次数为零。
实例17是一种方法,其包括:基于存储器装置的第一部分的第一磨损量、所述存储器装置的第二部分的第二磨损量及预定偏移,选择所述存储器装置的所述第一部分和所述存储器装置的所述第二部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据,所述存储器装置的所述第二部分未被所述数据结构映射;且通过以下项执行所述交换操作:将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
实例18包括实例17的主题,其中:所述存储器装置的所述第一部分的所述选择包括确定所述存储器装置的所述第一部分比所述存储器装置的所有其它经映射部分具有更大的磨损。
实例19包括实例17或实例18的主题,其中:所述存储器装置的所述第二部分的所述选择包括确定所述存储器装置的所述第二部分比所述存储器装置的所有其它未经映射部分具有更小的磨损。
实例20包括实例17至19中任一项的主题,其中:所述存储器装置的所述第一部分的所述第一磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第一部分的第一访问次数;且所述存储器装置的所述第二部分的所述第二磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第二部分的第二访问次数。
实例21包括实例17至20中任一项的主题,其中:所述存储器装置的所述第一部分的所述第一磨损量基于对所述存储器装置的所述第一部分的写次数和对所述存储器装置的所述第一部分的读次数的加权和,自所述存储器装置的制造之后测量所述写次数和所述读次数,所述写次数的第一权重不同于所述读次数的第二权重,所述第一权重和所述第二权重均具有正值。
实例22包括实例17至21中任一项的主题,进一步包括:修改所述数据结构以指示自被映射之后对所述存储器装置的所述第二部分的访问次数为零。
图11说明计算机系统1100的实例性机器,在所述实例性机器内可执行用于使机器执行本文所讨论的方法中的任何一或多者的指令的集合。在一些实施例中,计算机系统1100可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120),或者可用于执行控制器的操作(例如,用于执行操作系统以执行对应于图1的磨损均衡管理组件113的操作)。在替代实施例中,机器可连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可在客户端-服务器网络环境中的服务器或客户端机器的容量中操作,作为对等(或分布式)网络环境中的对等机器操作,或者作为云计算基础设施或环境中的服务器或客户端机器操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥,或能够执行指定该机器将要采取的动作的指令的集合(顺序的或以其它方式)的任何机器。进一步地,尽管说明了单个机器,但术语“机器”还应当被理解为包含单独地或联合地执行指令的集合(或多个集合)以执行本文所讨论的方法中的任何一或多者的机器的任何集合。
实例性计算机系统1100包含处理装置1102、主存储器1104(例如,只读存储器(ROM)、闪速存储器、动态随机存取存储器(DRAM)(诸如同步DRAM(SDRAM)或RDRAM等))、静态存储器1106(例如,闪速存储器、静态随机存取存储器(SRAM)等),以及经由总线1130彼此通信的数据存储系统1118。
处理装置1102表示一或多个通用处理装置,诸如微处理器、中央处理单元等。更具体地,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或者实施其它指令集的处理器,或者实施指令集组合的处理器。处理装置1102还可为一或多个专用处理装置,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置1102经配置以执行用于执行本文所讨论的操作和步骤的指令1126。计算机系统1100可进一步包含网络接口装置1108以经由网络1120进行通信。
数据存储系统1118可包含机器可读存储介质1124(也被称为计算机可读介质),其上存储有指令1126或软件的一或多个集合,所述指令1126或软件实现本文所描述的方法或功能中的任何一或多者。指令1126还可完全地或至少部分地驻留在主存储器1104内和/或处理装置1102内,在其由计算机系统1100执行期间,主存储器1104和处理装置1102也构成机器可读存储介质。机器可读存储介质1124、数据存储系统1118和/或主存储器1104可对应于图1的存储器子系统110。
在一个实施例中,指令1126包含用于实施对应于磨损均衡管理组件(例如,图1的磨损均衡管理组件113)的功能的指令。尽管机器可读存储介质1124在实例性实施例中被展示为单个介质,但是术语“机器可读存储介质”应当被理解为包含存储指令的一或多个集合的单个介质或多个介质。术语“机器可读存储介质”还应当被理解为包含能够存储或编码由机器执行的指令的集合且使机器执行本公开的方法中的任何一或多者的任何介质。因此,术语“机器可读存储介质”应被理解为包含(但不限于)固态存储器、光介质和磁介质。
已经根据对计算机存储器内的数据位的操作的算法和符号表示呈现了前面的详细描述的一些部分。这些算法描述和表示为数据处理领域的技术人员通常使用的,从而最有效地将它们的工作实质传递到其它领域的技术人员。本文的算法通常是指得到期望结果的操作的自相容序列。这些操作是需要对物理量进行物理操纵的操作。通常,尽管不是必须的,这些量采用能够被存储、组合、比较以及以其它方式被操纵的电或磁信号的形式。有时主要是为了公共使用的原因,将这些信号称为位、值、元素、符号、字符、项、数字、或者类似名称,经证实这是方便的。
然而,应当记住,所有这些和类似术语将与适当物理量关联,并且仅仅是应用于这些量的方便标签。本公开可指示计算机系统或类似电子计算装置的动作和过程,所述电子计算装置操纵被表现为计算机系统的寄存器和存储器内的物理(电子)量地数据并且将被表现为计算机系统的寄存器和存储器内的物理(电子)量的数据转换为被类似地表现为计算机系统存储器或寄存器或其它此些信息存储系统内的物理量的其它数据。
本公开还涉及用于执行本文的操作的设备。该设备可具体地被构建用于预期目的,或者其可包含由存储于计算机中的计算机程序选择性地激活或可由其重新配置的通用计算机。此计算机程序可存储于计算机可读存储介质中,诸如(但不限于)任何类型的磁盘,包含软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或者适于存储电子指令的任何类型的介质,每一介质耦合到计算机系统总线。
本文呈现的算法和显示并不固有地与任何特定计算机或其它设备相关。各种通用系统可与根据本文的教示的程序一起使用,或者其可证明构造更专用的设备来执行所述方法是方便的。多种这些系统的结构从下面的描述将是显而易见的。另外,没有参考任何特定编程语言来描述本公开。将了解,可使用多种编程语言来实施本文所描述的本公开的教示。
本公开可被提供作为计算机程序产品或软件,所述软件可包含其上存储有指令的机器可读介质,所述指令可用于对计算机系统(或其它电子装置)编程以执行根据本公开的过程。机器可读介质包含用于以机器(例如,计算机)可读形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)介质包含机器(例如,计算机)可读存储介质,诸如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪速存储器装置等。
在前述说明书中,已经参考其特定实例性实施例描述了本公开的实施例。显然,可在不脱离如在所附权利要求中阐述的本公开的实施例的更宽的精神和范围的情况下对其进行各种修改。因此,说明书和附图被认为是说明性的而非限制性的。
Claims (22)
1.一种存储器系统,其包括:
存储器装置;及
存储器子系统控制器,其可操作地与所述存储器装置耦合并且经配置以执行包括以下项的操作:
基于所述存储器装置的第一部分的磨损量和预定阈值,选择所述存储器装置的所述第一部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据;
针对所述交换操作,选择所述存储器装置的未被所述数据结构映射的第二部分;且
通过以下项执行所述交换操作:
将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且
修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
2.根据权利要求1所述的存储器系统,其中:
所述存储器装置的所述第一部分的所述磨损量基于通过所述数据结构将所述存储器装置的所述第一部分映射到当前数据之后对所述存储器装置的所述第一部分的访问次数。
3.根据权利要求2所述的存储器系统,其中:
所述存储器装置的所述第一部分的所述选择进一步基于所述存储器装置的所述第一部分的第二磨损量,所述第二磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第一部分的访问次数。
4.根据权利要求1所述的存储器系统,其中:
所述存储器装置的所述第一部分的所述磨损量基于对所述存储器装置的所述第一部分的写次数和对所述存储器装置的所述第一部分的读次数的加权和,在通过所述数据结构将所述存储器装置的所述第一部分映射到当前数据后测量所述写次数和所述读次数,所述写次数的第一权重不同于所述读次数的第二权重,所述第一权重和所述第二权重均具有正值。
5.根据权利要求1所述的存储器系统,其中所述操作进一步包括:
修改所述数据结构以指示自被映射之后对所述存储器装置的所述第二部分的访问次数为零。
6.一种方法,其包括:
基于存储器装置的第一部分的磨损量和预定阈值,选择所述存储器装置的所述第一部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据;
针对所述交换操作,选择所述存储器装置的未被所述数据结构映射的第二部分;且
通过以下项执行所述交换操作:
将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且
修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
7.根据权利要求6所述的方法,其中:
所述存储器装置的所述第一部分的所述磨损量基于通过所述数据结构将所述存储器装置的所述第一部分映射到当前数据之后对所述存储器装置的所述第一部分的访问次数。
8.根据权利要求7所述的方法,其中:
所述存储器装置的所述第一部分的所述选择进一步基于所述存储器装置的所述第一部分的第二磨损量,所述第二磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第一部分的访问次数。
9.根据权利要求6所述的方法,其中:
所述存储器装置的所述第一部分的所述磨损量基于对所述存储器装置的所述第一部分的写次数和对所述存储器装置的所述第一部分的读次数的加权和,在通过所述数据结构将所述存储器装置的所述第一部分映射到当前数据后测量所述写次数和所述读次数,所述写次数的第一权重不同于所述读次数的第二权重,所述第一权重和所述第二权重均具有正值。
10.根据权利要求6所述的方法,其进一步包括:
修改所述数据结构以指示自被映射之后对所述存储器装置的所述第二部分的访问次数为零。
11.一种存储器系统,其包括:
存储器装置;且
存储器子系统控制器,其可操作地与所述存储器装置耦合并且经配置以执行包括以下项的操作:
基于所述存储器装置的第一部分的第一磨损量、所述存储器装置的第二部分的第二磨损量及预定偏移,选择所述存储器装置的所述第一部分和所述存储器装置的所述第二部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据,所述存储器装置的所述第二部分未被所述数据结构映射;且
通过以下项执行所述交换操作:
将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且
修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
12.根据权利要求11所述的存储器系统,其中:
所述存储器装置的所述第一部分的所述选择包括确定所述存储器装置的所述第一部分比所述存储器装置的所有其它经映射部分具有更大的磨损。
13.根据权利要求11所述的存储器系统,其中:
所述存储器装置的所述第二部分的所述选择包括确定所述存储器装置的所述第二部分比所述存储器装置的所有其它未经映射部分具有更小的磨损。
14.根据权利要求11所述的存储器系统,其中:
所述存储器装置的所述第一部分的所述第一磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第一部分的第一访问次数;且
所述存储器装置的所述第二部分的所述第二磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第二部分的第二访问次数。
15.根据权利要求11所述的存储器系统,其中:
所述存储器装置的所述第一部分的所述第一磨损量基于对所述存储器装置的所述第一部分的写次数和对所述存储器装置的所述第一部分的读次数的加权和,自所述存储器装置的制造之后测量所述写次数和所述读次数,所述写次数的第一权重不同于所述读次数的第二权重,所述第一权重和所述第二权重均具有正值。
16.根据权利要求11所述的存储器系统,其中所述操作进一步包括:
修改所述数据结构以指示自被映射之后对所述存储器装置的所述第二部分的访问次数为零。
17.一种方法,其包括:
基于存储器装置的第一部分的第一磨损量、所述存储器装置的第二部分的第二磨损量及预定偏移,选择所述存储器装置的所述第一部分和所述存储器装置的所述第二部分以用于交换操作,所述存储器装置的所述第一部分通过数据结构被映射到当前数据,所述存储器装置的所述第二部分未被所述数据结构映射;且
通过以下项执行所述交换操作:
将数据从所述存储器装置的所述第一部分传送到所述存储器装置的所述第二部分;且
修改所述数据结构以映射所述存储器装置的所述第二部分且去映射所述存储器装置的所述第一部分。
18.根据权利要求17所述的方法,其中:
所述存储器装置的所述第一部分的所述选择包括确定所述存储器装置的所述第一部分比所述存储器装置的所有其它经映射部分具有更大的磨损。
19.根据权利要求17所述的方法,其中:
所述存储器装置的所述第二部分的所述选择包括确定所述存储器装置的所述第二部分比所述存储器装置的所有其它未经映射部分具有更小的磨损。
20.根据权利要求17所述的方法,其中:
所述存储器装置的所述第一部分的所述第一磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第一部分的第一访问次数;且
所述存储器装置的所述第二部分的所述第二磨损量基于自所述存储器装置的制造之后对所述存储器装置的所述第二部分的第二访问次数。
21.根据权利要求17所述的方法,其中:
所述存储器装置的所述第一部分的所述第一磨损量基于对所述存储器装置的所述第一部分的写次数和对所述存储器装置的所述第一部分的读次数的加权和,自所述存储器装置的制造之后测量所述写次数和所述读次数,所述写次数的第一权重不同于所述读次数的第二权重,所述第一权重和所述第二权重均具有正值。
22.根据权利要求17所述的方法,其进一步包括:
修改所述数据结构以指示自被映射之后对所述存储器装置的所述第二部分的访问次数为零。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962874357P | 2019-07-15 | 2019-07-15 | |
US62/874,357 | 2019-07-15 | ||
US16/874,389 US11481119B2 (en) | 2019-07-15 | 2020-05-14 | Limiting hot-cold swap wear leveling |
US16/874,389 | 2020-05-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112230843A true CN112230843A (zh) | 2021-01-15 |
CN112230843B CN112230843B (zh) | 2024-07-02 |
Family
ID=74115372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010679380.1A Active CN112230843B (zh) | 2019-07-15 | 2020-07-15 | 限制热-冷交换磨损均衡 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230019910A1 (zh) |
CN (1) | CN112230843B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281251A (zh) * | 2021-12-10 | 2022-04-05 | 重庆邮电大学 | 面向3d tlc闪存存储器的数据分配与重编程优化方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117632037B (zh) * | 2024-01-25 | 2024-05-03 | 合肥兆芯电子有限公司 | 数据存储方法、存储器存储装置及存储器控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168604A1 (en) * | 2006-01-17 | 2007-07-19 | Kabushiki Kaisha Toshiba | Information recording apparatus and method for controlling the same |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
CN105955672A (zh) * | 2016-05-19 | 2016-09-21 | 河南中天亿科电子科技有限公司 | 用于灵活控制损耗均衡的固态存储系统及方法 |
CN108762671A (zh) * | 2018-05-23 | 2018-11-06 | 中国人民解放军陆军工程大学 | 基于pcm和dram的混合内存系统及其管理方法 |
-
2020
- 2020-07-15 CN CN202010679380.1A patent/CN112230843B/zh active Active
-
2022
- 2022-09-27 US US17/954,023 patent/US20230019910A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168604A1 (en) * | 2006-01-17 | 2007-07-19 | Kabushiki Kaisha Toshiba | Information recording apparatus and method for controlling the same |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
CN105955672A (zh) * | 2016-05-19 | 2016-09-21 | 河南中天亿科电子科技有限公司 | 用于灵活控制损耗均衡的固态存储系统及方法 |
CN108762671A (zh) * | 2018-05-23 | 2018-11-06 | 中国人民解放军陆军工程大学 | 基于pcm和dram的混合内存系统及其管理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281251A (zh) * | 2021-12-10 | 2022-04-05 | 重庆邮电大学 | 面向3d tlc闪存存储器的数据分配与重编程优化方法 |
CN114281251B (zh) * | 2021-12-10 | 2023-08-11 | 重庆邮电大学 | 面向3d tlc闪存存储器的数据分配与重编程优化方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230019910A1 (en) | 2023-01-19 |
CN112230843B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113015965B (zh) | 基于小计写入计数器执行混合损耗均衡操作 | |
US20230097187A1 (en) | Hybrid wear leveling for in-place data replacement media | |
KR20210070378A (ko) | 판독 방해 스캔 통합 | |
US11609848B2 (en) | Media management based on data access metrics | |
US20230019910A1 (en) | Limiting hot-cold swap wear leveling | |
CN112740189B (zh) | 非易失性存储器的多级损耗均衡 | |
US11455242B2 (en) | Scrubber driven wear leveling in out of place media translation | |
US11687363B2 (en) | Internal management traffic regulation for memory sub-systems | |
US11481119B2 (en) | Limiting hot-cold swap wear leveling | |
CN114613405A (zh) | 频繁读取干扰攻击者的标识和高速缓存 | |
US20220180955A1 (en) | Managing probabilistic data integrity scan intervals | |
US11360885B2 (en) | Wear leveling based on sub-group write counts in a memory sub-system | |
US11275680B2 (en) | Profile and queue-based wear leveling of memory devices | |
US10817435B1 (en) | Queue-based wear leveling of memory components | |
CN114610229A (zh) | 减少概率性数据完整性扫描冲突 | |
US11789861B2 (en) | Wear leveling based on sub-group write counts in a memory sub-system | |
CN112231252B (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 | ||
GR01 | Patent grant |