CN105955672B - 用于灵活控制损耗均衡的固态存储***及方法 - Google Patents

用于灵活控制损耗均衡的固态存储***及方法 Download PDF

Info

Publication number
CN105955672B
CN105955672B CN201610333979.3A CN201610333979A CN105955672B CN 105955672 B CN105955672 B CN 105955672B CN 201610333979 A CN201610333979 A CN 201610333979A CN 105955672 B CN105955672 B CN 105955672B
Authority
CN
China
Prior art keywords
block
target block
erase
wear leveling
mathematical formula
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.)
Active
Application number
CN201610333979.3A
Other languages
English (en)
Other versions
CN105955672A (zh
Inventor
王军辉
霍小四
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HENAN ZHONGTIAN YIKE ELECTRONIC SCIENCE AND TECHNOLOGY Co Ltd
Original Assignee
HENAN ZHONGTIAN YIKE ELECTRONIC SCIENCE AND TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HENAN ZHONGTIAN YIKE ELECTRONIC SCIENCE AND TECHNOLOGY Co Ltd filed Critical HENAN ZHONGTIAN YIKE ELECTRONIC SCIENCE AND TECHNOLOGY Co Ltd
Priority to CN201610333979.3A priority Critical patent/CN105955672B/zh
Publication of CN105955672A publication Critical patent/CN105955672A/zh
Application granted granted Critical
Publication of CN105955672B publication Critical patent/CN105955672B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本发明涉及一种用于灵活控制损耗均衡的固态存储控制***及方法。该方法统一用于存储单元,其目的是用不经常使用的存储模块替代已磨损的存储单元。通过在每个存储区或平面中改变该存储的物理位置,该损耗均衡方法得以执行。目标存储块和磨损存储块擦除次数的基准参数被用于搜索将被替换掉的目标存储模块。因而,当缓存单元空间减少,且损耗均衡进程的处理时间也减少,则固态存储***的运行性能和成本效益均会提高。

Description

用于灵活控制损耗均衡的固态存储***及方法
技术领域
本发明涉及到一种固态存储***和方法,确切的说是一种用于灵活控制损耗均衡的***和一个起到相同控制作用的方法。
背景技术
通常情况下,非易损性内存被广泛的用作便携式信息设备的存储内存。近年来,使用NAND闪存存储的固态硬盘替代硬盘驱动被用于个人电脑,在市场上开始销售,并有望大举进入HDD(硬盘驱动器)市场。
通常,在固态存储***(如:SSD(固态硬盘))中对数据文件的控制是通过写入、擦除和更新在由可识别这些数据文件的逻辑地址指定的页中的真实数据来执行的。更具体的说,利用闪存传输层,能够使一个逻辑地址和一个数据存储区的一个物理地址进行映射。通过根据主机命令所指的逻辑地址被映射到一个逻辑地址上,该逻辑地址指定了可被写入、读取或者擦除数据的位置。该物理地址就是在页或者存储区子块上的位置信息。
NAND闪存单元是非易损性存储单元。因此,当更新NAND闪存存储单元的数据时,相应单元的数据必须先被擦除,然后新数据才能被编译。但是,数据不能被统一的编入所有的存储单元,而是被经常性的编写到集中的特定的单元区域内。换句话说,由于经常性地数据编写和擦除操作,使得特定的单元区或一些单元因磨损而无法使用。甚至于,尽管有全新状态的存储单元存在,但是固态存储***的整体性能仍受制于磨损的单元。
因此,在这些存储单元被磨损前,通过在每个存储区或平面内改变存储单元物理位置的方式来执行损耗均衡方法,以保证所有的存储单元能被均匀使用。为执行损耗均衡进程,所有块区的可擦除次数信息都将被存储到NAND存储区。当需要执行损耗均衡进程时,块区的擦除次数信息将会被加载到RAM(随机存取存储器)缓存中,同时,通过检索可替代该块区的物理位置将会块被改变。
虽然,根据当前大容量SSD趋势,作为存储区能拥有更多的存储块区,其中加载了所有块擦除次数信息的RAM缓存的大小也不可避免地增加了。另外,在内存中增加RAM缓存仍然受价格和内存容量的限制。
发明内容
本发明的目的在于提出一种用于灵活控制损耗均衡的固态存储***及方法。这里描述了固态存储***用于控制损耗均衡过程的环节和应用实例;也描述了用于控制固态存储***方法的应用环节和应用实例。
在本发明的一个应用实例中,固态存储***包含:一个缓冲单元,该缓冲单元配置后可用于依次加载多个存储了映射信息和擦除次数的映射页;一个存储控制—用于配制设定目标块的擦除次数的基准值和目标块中被查找对象的映射页的数量,其目的是为了找到可以替代已损坏块的目标块,对映射页进行采用后,执行损耗均衡程序。
本发明的另一应用实例中,固态存储***包含了一个含有组存储块的闪存区—其作用是为了保存用于存储映射信息和擦除次数存储的映射页,一个存储控制—经配置用以设定搜索相对于替代块的目标数量的参考值,利用磨损块上的关于替代块擦除次数的参考值信息,存储中已经磨损的块将通过损耗均衡程序被替代,找到初始替代块作为目标块,然后用找到的替代块与损坏的块进行置换。
本发明还能应用于方法实例,用于控制固态存储***的方法包含了下列步骤:通过确定替代损坏块的目标块的在损耗均衡过程中的擦除次数设置第一个参数值;通过查找对应损坏块擦除数的目标块设置第二个参数值;在第一和第二参数值之间搜索目标块未果的情况下,需要对第一个参数值进行变化和更行,以便影响下个目标块的搜索条件。
本发明的一个固态存储***组成包括:配置缓存单元用于部分加载映射页,每个映射页包含映射信息和与存储块相对应的擦除数信息;配置存储控制用于搜索基于累积失败数的目标块,该数值的得出基于先前的损耗均衡处理过程中搜索目标块的失败次数和对映射页的访问次数;配置后也用于处理损耗均衡进程用目标块替代损坏块。上述的固态存储***,存储控制确定:当数据擦除时,是否执行损耗均衡进程。上述的固态存储***,当损耗均衡进程被执行时,存储控制变化目标块的数量。上述的固态存储***,存储控制提升搜索目标块失败的累积失败次数,同时根据增加的累积失败数提升目标块的数量。上述的固态存储***,存储控制提升映射页的访问次数,同时根据增加的映射页访问次数提升目标块的数目。上述的固态存储***,当损坏块的擦除次数超出预设值时,存储控制提升映射页的访问次数。上述的固态存储***,当映射页的访问次数增加,存储控制增加加载到缓存单元的映射页数目。上述的固态存储***,映射页被有序的加载到缓存单元中。上述固态存储***,还应包括含有组存储块的闪存区,该组存储块中含多个有映射页。
本发明的另一个固态存储***组成包括:存储块组成的闪存区,经配置后用于存储映射页,该映射页中保存了映射信息和存储块的擦除次数信息;存储控制经配置后,用于改变替代损坏块的目标块的数目,该数目的确定,通过使用搜索目标块次数的累积失败数和在损耗均衡进程中的映射页的访问次数。上述的固态存储***,其中,存储控制为提高目标块的搜索成功率增加目标块的 数目。上述的固态存储***,其中,当在之前的损耗均衡进程中搜索目标块失败时,存储控制提升累积失败数。上述的固态存储***,为增加目标块的数量,存储控制增加映射页的访问次数。上述的固态存储***,当在之前的损耗均衡进程中成功搜索目标块,存储控制会减少累积失败数,以便减少目标块的数目。
本发明的一种固态存储***控制方法由以下步骤组成:根据在之前损耗均衡进程中搜索单个目标块的失败次数的累积失败次数设置第一参数值;根据对映射页的访问次数设置第二参数值;根据第一和第二参数值设置一个目标块的搜索条件;在损耗均衡进程中,根据该目标块的搜索条件,搜索用于替代损坏块的目标块。上述的固态存储***控制方法,当累积失败数增加时,目标块的搜索条件需要变化。上述的固态存储***控制方法,作为目标块被搜索的块的数量根据改变的目标块的搜索条件增加。上述的固态存储***控制方法,当映射页的访问次数增加,则目标块的搜索条件改变。上述的固态存储***控制方法,当损坏块的擦除次数超出了平均擦除次数与误差范围之和,则映射页的访问次数增加。上述的固态存储***控制方法,根据变化的目标块的搜索条件,作为目标块被搜索的块的数目将被增加。
通过实施上述本发明,联系实际应用,即使当存储空间扩大,也不必要增加用于临时存储映射信息和擦除次数信息的缓存单元空间;而相较于当前技术,该缓存单元可以保持较小的空间。仅该损坏块的擦除次数信息和映射信息将被加载,该擦除次数参数值条件和搜索次数参数值条件要分别设置。损耗均衡进程处理时间有可能减少。因而,当缓存单元空间减少,且损耗均衡进程的处理时间也减少,则固态存储***的运行性能和成本效益均会提高。
附图说明
图1是一个框图,描述了与固体存储***对应的应用实例;
图2是一个概念框图,阐述了图1中的地址映射,其中图2(a)为扇区视图,图2(b)为NAND视图,图2(c)为缓存单元视图;
图3是一个流程图,解释了图1中关于控制固体存储***的方法;
图4是一个曲线图,展示了目标块擦除次数和图3中累积失败数之间的相关性;
图5是一个表格图,用表格的形式说明了灵敏度和受损块擦除次数之间的相关性;以及
图6是一个曲线图,根据图5中灵敏度以曲线图形式展示了受损块的擦除次数和访问次数的变化。
具体实施方式
在此,本发明中涉及的应用实例将按规定进行详细披露。需要说明的是,所披露的应用实例仅是本发明的示例,这些应用实例也可用其它形式表现。因此,本文披露的具体细节不应被理解为限制,而仅作为权利要求的依据,以及用合适的方式向本领域中不同人员阐述本发明的不同应用的代表性依据。
固态存储***和根据本方法同样用于控制的方法,将在下面通过附图中的优选应用实例进行描述。
首先,结合图1和2,根据其中的应用实例对固态存储***进行描述。图1中,以框图形式展示了固态存储***100,图2以概念框图的形式解释了物理/逻辑地址映射表和缓存单元120之间的关系。在本文中,使用NAND闪存的存储***将被视为固态存储***100的应用例。参照图1和2,固态存储***包含了主机接口110,缓存单元120,微控制单元(MCU)130,存储控制140和存储区 150。
主机接口110与缓存单元120连接,在外部主机及缓存单元120间传送和接收控制命令、地址信号、数据信号。主机接口110和外部主机之间的接口模式,可以是SATA、PATA、SCSI、Express Card、或PCI-Express之一,但不仅限于此。
从主机接口110输出的信号被缓存到缓存单元120,或临时存储逻辑地址与物理地址间的映射信息、存储区150的块分配信息、外部数据、块擦除次数以及其它外部数据等。缓存单元120也能用做于SRAM或DRAM的缓存。如图2所示,从扇区上来看某逻辑块的第1000个扇区代表了在存储区150的NAND视图中一个实用物理块的第200个块中的第30个页,缓冲单元120存储了映射信息和实际被访问块(第200个块区)的擦除次数。本发明并不仅限于图2中的用例。
具体联系某方面或实际用例,缓存单元120并不加载全部存储块的可擦除次数,而是仅加载损坏块的擦除次数。因此,缓存单元120的空间不需要很大,从而可以在降低成本的同时,提高空间利用率。MCU 130可向主机接口110传输或接收来自主机接口110的控制命令、寻址信号或数据信号,或通过这些信号控制存储控制140.
存储控制140在存储区150的多个闪存存储中选择预定的NAND存储,并对其执行写命令、擦除命令或读命令。尤其是,当存储控制140涉及需要灵活控制损耗均衡过程时,如:在损耗均衡程序中,利用两个参数值控制搜索条件和需对目标块的搜索次数,从而实现统一管理存储使用寿命的目的。
通常情况下,所有块的可擦除次数信息被存储到大块闪存的存储区150上。 故,在需要执行损耗均衡过程时,关于所有块的可擦除次数信息都会被加载到缓存单元120上,然后尝试交换拥有最大可擦除次数块和拥有最少擦除次数块的物理地址。在这种情况下,缓存单元120需要足够大的存储容量以便一次性加载各块的擦除次数。虽然,在实际执行损耗均衡过程时,存储控制140很有可能不将全部块的擦除信息加载到缓存单元120上,通过根据搜索条件采样块的预定条件,仍然可执行损耗均衡过程。另外,某些情况下,当存储块被擦除后,存储控制140会在原来擦除数的基础上,增加数值。当该数值大于预先设定的数值时,损耗均衡进程就会被自动执行。这种情况下,计算有误的数值就被用作于该块的搜索条件,当损坏块的擦除次数和平均擦除次数之间存在误差时,平均擦除次数将被用作于搜索次数参数。如此,搜索次数和搜索条件都必须灵活多样。换句话说,当损耗均衡进程信息最小化时,两个搜索参数值都要被设定。故,搜索次数减少,替代目标块的的搜索概率就会增加。
存储控制140通过执行数据的读、写、擦除操作可以控制存储区150。闪存单元可以是SLC(单层单元)或MLC(多层单元)。存储区150可以由复合芯片组成,每个芯片包含多个多重页组成的块。同时,存储区150中不仅有映射信息,还有上述的擦除次数信息(下文中将之称为“映射页”)。所谓的映射页就是NAND闪存中的进程单元或者存储单元。映射页可定义为擦除次数以及相对于单个块的逻辑地址与物理地址间映射信息的存储。映射信息也被称为映射存储区。
图3用流程图形式解释了图1中用于控制固态存储***的方法。举例来说,图中同样也描述了是否执行损耗均衡进程是由每个擦除指令决定的。联系图1-3,任意块的数据都可被擦除。块的数据被擦除后,在已有次数的基础上增加本次擦除的次数,并对其进行检验(S10)。然后确定已经确认的擦除次数是否 大于预定义值(S20)。预定义值应通过数学公式计算:
预定义值=(平均擦除次数+误差范围) [数学公式1]
例如,当平均擦除次数为100,误差范围为40,则预定义值为140。当在损坏块上执行的擦除次数大于140时,存储控制140开始操纵执行损耗均衡进程。累积失败数(S30)被用作目标块的第一查询参数。累积失败数是种标识信号,其作用是用来说明在替代损毁块的目标块中搜索的成功或失败。累积失败数的初始值被设为0,在后续的进程中,用于替代磨损块的目标块如果没有被搜索,则累积失败数加一。这样做是为了在累积失败数增加的情况下,放宽目标块擦除次数的基本参照值。换句话说,当累积失败数增加,目标块的搜索参数值就会扩大。具体而言,目标块的初始参数值是一个较小的擦除次数,该数值通过从平均擦除值中减去错误范围获得。举例来说,当平均擦除值为100、误差范范围为40时,则该块的初始参数值为60。块的擦除次数大于上面提到的数值时,则应视为被替代块。故,当累积失败数增加,有较小擦除数的块的参数值会以每次增加“5”的方式(45,50,55,……)递增扩大。虽然,允许的累积失败数被设置为小于平均,同时防止累积失败数被无尽累加。因此,查找目标块的第一个条件是被替代目标块的擦除数,它被作为目标块的选择参数。
同时,目标块的搜索次数将被作为目标块的第二个搜索参数值(S40)。将目标块的搜索次数作为条件,意味着,对存储区的映射页的访问次数。存于单个映射页的块每次仅能执行一次访问操作。若未对目标块进行一次性访问搜索,则需访问其它映射页,以确定访问的映射页中是否有目标块的存在。访问次数的增加,导致查询对象增多。访问次数既不随意也不统一设置,而是根据损坏块的擦除次数灵活变动。映射页的访问次数需要参照损坏块的擦除次数超出平 均擦除次数与误差范围之和的值灵活进行控制。也就是说,映射页的访问次数在灵活控制下增加,考虑到损坏块需被替换的紧急程度进行及时替换。因此,知道损坏块的擦除次数和平均擦除次数间的差异是非常重要的。如,根据***的重要性,有区别的执行损耗均衡过程的深度。当然,考虑到已用的固态存储***的架构及其用途,在执行损耗均衡进程时其也需要分别对待。在图5中有对该部分的阐述,详细描述见后文。因此,这就决定了,执行次数是否要用到第二个搜索条件(S50)。
也就是说,根据计算公式得出的访问次数没有超过预定值,执行重复循环直到搜索到目标块为止(S60)。一旦访问次数值达到预定参数值,就要确定目标块是否是在访问次数极限值内被找到。在使用重复循环过程中,目标块以小于预设的访问次数被找到,则累积失败数被减少且被更新(S80)。一旦现有状态满足第一和第二条件,则允许累积失败次数的余值可以通过从预定值中减去累积失败次数得到的数值进行确认。
如果在访问次数临界值内没有找到目标块,则需要放宽搜索条件。也就是说,累积失败数需被提升且被更新(S90)。这种情况发生在即使当前已经设定了第一、二搜索条件,但是作为替代块的目标块仍然未被找到。这种情况下,累积失败数增加且被更新以便影响下个搜索条件,因而在下个块的擦除操作中损耗均衡进程的搜索成功率会有所提升。
举例来说,擦除次数参考值条件和搜索次数参考值条件需要分别设置,以便更有效的搜索块的分布式擦除数信息。初始搜索块意味着,在损耗均衡进程中(或者在下一个损耗均衡进行中搜索),这些块要在预定义的搜素次数内被搜索,以初步满足擦除次数条件。因此,与损耗均衡进程需要在所有块上执行的 情形相比,本类情况需要执行的次数会有大幅降低。
图4基于一个应用实例以图表展示了一个目标块的擦除次数与累积失败次数之间的关联。在图4中,X轴代表累积失败数,Y轴代表该目标块的擦除次数。在这种情况下可以假设平均擦除次数、误差范围和允许的累积失败次数分别为100、40和5(或者更少)。
图4中a曲线可通过下列数学公式实现:
目标块的第一搜索条件=(平均擦除次数-误差范围)
+误差范围/(允许最大累积失败数-累积失败数) [数学公式2]
该公式仅在允许累积失败数小于等于5时才能应用。如果允许累积失败数大于极限值,则可能在应用第一条件实现目标块时产生一条有小斜度的直线,就像图4中b曲线中所示。
目标块第一条件=(平均擦除次数+阈误差值上线)-累积失败数 [数学公式3]
因此,图4中建议,积极地在累积失败数低于允许累积失败数5的扇区中搜索目标块更有实际意义。当允许累积失败数大于极值、且目标块的擦除次数已经超过了平均擦除数与极值之和时,放宽目标块的搜索条件的意义就不太大了。因此,联系本例,将允许累积失败数极值设定为5,且对固态存储***进行管理以免出现超出极值的情况。
图5以表格形式展示灵敏性和块擦除数的关联:当损坏块的擦除数增加,则基于灵敏性的搜索次数被设置为增加。此外,由于灵敏性的强度增加,在有相同擦除次数的损坏块的搜索次数也必须增加。
目标块的第二搜索条件=
(基本映射页访问次数-1)+(损坏块的擦除次数-(平均擦除次数+极值))*灵敏性[数学公式4]
基本映射页访问次数、平均擦除次数以及极值分别设置为7,100和40。故,当损耗块的擦除次数大于平均擦除数与极值之和时,与损坏块相对应的目标块的搜索次数必须予以增强。面向目标块的第二搜索条件应设置提高映射访问次数,例如,使用数学公式4。与此同时,一旦高性能***需要高灵敏度,公式4就可以用灵敏函数实现。
图6以图形展示灵敏性和访问次数之间的关系:X轴显示损坏块的擦除次数,Y轴代表访问次数。访问次数可运用数学公式4计算得出。如果运用图5中的灵敏度,则该图中相应的斜率会更陡。就是说,在图6的1-5对应图5的1-5的灵敏性强度。相对于该擦除次数的访问次数会根据灵敏性的强度而改变。例如,当擦除次数为150时,根据灵敏度强度访问次数的区间为[18,58]。当该***的灵敏度更高时,纵然访问次数增加也需要对目标块加强搜索。在损耗均衡进程中,不是所有块的擦除次数信息都能够被加载,整体比较也许是不可能的。故,设置适当的搜索条件,能够更加有效的搜索目标块。
相较于拥有低值的目标块,拥有可替代值的块搜索用时更短。这就是说,最初搜索的、具有替换能力的块将在损耗块的损耗均衡进程中取代具有最低值的目标块,而被牺牲掉。最终,目标块的擦除次数,也就是对于该目标块的第一搜索条件,在不断变化以提高搜索成功率期间,仍需被控制;且目标块要搜索数目可根据损坏块替换紧急程度进行增加。
联系实际应用,即使当存储空间扩大,也不必要增加用于临时存储映射信息和擦除次数信息的缓存单元空间;而相较于当前技术,该缓存单元可以保持 较小的空间。仅该损坏块的擦除次数信息和映射信息将被加载,该擦除次数参数值条件和搜索次数参数值条件要分别设置。损耗均衡进程处理时间有可能减少。因而,当缓存单元空间减少,且损耗均衡进程的处理时间也减少,则固态存储***的运行性能和成本效益均会提高。
如上所述,所描述的应用实例,仅供本领域相关人员理解使用。故而,本***及方法不限制于文中所举用例。

Claims (2)

1.一种用于灵活控制损耗均衡的固态存储***,包括:主机接口,缓存单元,微控制单元,存储控制和存储区,主机接口与缓存单元连接,在外部主机及缓存单元间传送和接收控制命令、地址信号、数据信号,主机接口和外部主机之间的接口模式,是SATA、PATA、SCSI、Express Card、或PCI-Express之一,从主机接口输出的信号被缓存到缓存单元,或临时存储逻辑地址与物理地址间的映射信息、存储区的块分配信息、外部数据、块擦除次数,缓存单元也用做于SRAM或DRAM的缓存,缓存单元,其仅加载损坏块的擦除次数,用于部分加载映射页,每个映射页包含映射信息和与存储块相对应的擦除数信息;以及存储控制,其用于搜索基于累积失败数的目标块,该累积失败数基于先前的损耗均衡处理过程中搜索目标块的失败次数和对映射页的访问次数,该擦除次数参数值条件和搜索次数参数值条件要分别设置,任意块的数据都可被擦除,块的数据被擦除后,在已有次数的基础上增加本次擦除的次数,并对其进行检验,然后确定已经确认的擦除次数是否大于预定义值,预定义值通过数学公式1计算:
预定义值=(平均擦除次数+误差范围) [数学公式1],
当平均擦除次数为100,误差范围为40,则预定义值为140,当在损坏块上执行的擦除次数大于140时,存储控制开始操纵执行损耗均衡进程,通过下列数学公式2实现:
目标块的第一搜索条件=(平均擦除次数-误差范围)
+误差范围/(允许最大累积失败数-累积失败数) [数学公式2],
该数学公式2仅在允许累积失败数小于等于5时才能应用,在累积失败数低于允许累积失败数5的扇区中搜索目标块,
目标块的第二搜索条件=
(基本映射页访问次数-1)+(损坏块的擦除次数-(平均擦除次数+极值))*灵敏性 [数学公式4],
基本映射页访问次数、平均擦除次数以及极值分别设置为7,100和40,当损耗块的擦除次数大于平均擦除数与极值之和时,与损坏块相对应的目标块的搜索次数必须予以增强,使用数学公式4,面向目标块的第二搜索条件应设置提高映射访问次数,其中灵敏性为与损耗块的擦除次数关联的灵敏度。
2.一种用于灵活控制损耗均衡的固态存储***控制方法,仅加载损坏块的擦除次数,由以下步骤组成:
a)根据在之前损耗均衡进程中搜索单个目标块的失败次数的累积失败次数设置第一参数值;
b)根据对映射页的访问次数设置第二参数值;
c)根据第一和第二参数值设置一个目标块的搜索条件;以及
d)在损耗均衡进程中,根据该目标块的搜索条件,搜索用于替代损坏块的目标块,
其中,该擦除次数参数值条件和搜索次数参数值条件要分别设置,任意块的数据都可被擦除,块的数据被擦除后,在已有次数的基础上增加本次擦除的次数,并对其进行检验,然后确定已经确认的擦除次数是否大于预定义值,预定义值通过数学公式1计算:
预定义值=(平均擦除次数+误差范围) [数学公式1],
当平均擦除次数为100,误差范围为40,则预定义值为140,当在损坏块上执行的擦除次数大于140时,存储控制开始操纵执行损耗均衡进程,通过下列数学公式2实现:
目标块的第一搜索条件=(平均擦除次数-误差范围)
+误差范围/(允许最大累积失败数-累积失败数) [数学公式2],
该数学公式2仅在允许累积失败数小于等于5时才能应用,在累积失败数低于允许累积失败数5的扇区中搜索目标块,
目标块的第二搜索条件=
(基本映射页访问次数-1)+(损坏块的擦除次数-(平均擦除次数+极值))*灵敏性 [数学公式4],
基本映射页访问次数、平均擦除次数以及极值分别设置为7,100和40,当损耗块的擦除次数大于平均擦除数与极值之和时,与损坏块相对应的目标块的搜索次数必须予以增强,使用数学公式4,面向目标块的第二搜索条件应设置提高映射访问次数,其中灵敏性为与损耗块的擦除次数关联的灵敏度。
CN201610333979.3A 2016-05-19 2016-05-19 用于灵活控制损耗均衡的固态存储***及方法 Active CN105955672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610333979.3A CN105955672B (zh) 2016-05-19 2016-05-19 用于灵活控制损耗均衡的固态存储***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610333979.3A CN105955672B (zh) 2016-05-19 2016-05-19 用于灵活控制损耗均衡的固态存储***及方法

Publications (2)

Publication Number Publication Date
CN105955672A CN105955672A (zh) 2016-09-21
CN105955672B true CN105955672B (zh) 2019-12-06

Family

ID=56912950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610333979.3A Active CN105955672B (zh) 2016-05-19 2016-05-19 用于灵活控制损耗均衡的固态存储***及方法

Country Status (1)

Country Link
CN (1) CN105955672B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180045091A (ko) * 2016-10-24 2018-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
CN106951186B (zh) 2017-03-07 2020-02-07 合肥兆芯电子有限公司 数据程序化方法、存储器存储装置及存储器控制电路单元
CN109669620B (zh) * 2017-10-13 2021-11-30 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器储存装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819509A (zh) * 2010-04-19 2010-09-01 清华大学深圳研究生院 一种固态硬盘读写方法
CN105468291A (zh) * 2014-08-21 2016-04-06 腾讯科技(深圳)有限公司 动态及静态磨损均衡控制方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6146087B2 (ja) * 2013-03-28 2017-06-14 富士通株式会社 ストレージ制御プログラム,ストレージ制御方法,ストレージシステム及びその階層制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819509A (zh) * 2010-04-19 2010-09-01 清华大学深圳研究生院 一种固态硬盘读写方法
CN105468291A (zh) * 2014-08-21 2016-04-06 腾讯科技(深圳)有限公司 动态及静态磨损均衡控制方法及装置

Also Published As

Publication number Publication date
CN105955672A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
US8335887B2 (en) Solid state storage systems and methods for flexibly controlling wear leveling
US9753653B2 (en) High-priority NAND operations management
KR102663661B1 (ko) 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치
US9298608B2 (en) Biasing for wear leveling in storage systems
CN107622023B (zh) 限制数据存储设备中的访问操作
US8200904B2 (en) System and method for clearing data from a cache
US9280460B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US20100030948A1 (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
US8296504B2 (en) Data management method and flash memory storage system and controller using the same
US20120155167A1 (en) Non-volatile storage device, information processing system and write control method of non-volatile storage device
US10884669B2 (en) Controller, operation method of the controller and memory system
WO2011030290A1 (en) Data management in solid-state storage devices and tiered storage systems
US10126970B2 (en) Paired metablocks in non-volatile storage device
US11157402B2 (en) Apparatus and method for managing valid data in memory system
CN102298543A (zh) 一种存储器管理方法和装置
US11681619B2 (en) Controller and operation method thereof for managing read count information of memory block
CN105955672B (zh) 用于灵活控制损耗均衡的固态存储***及方法
US11016889B1 (en) Storage device with enhanced time to ready performance
US20110138110A1 (en) Method and control unit for performing storage management upon storage apparatus and related storage apparatus
CN110333966B (zh) 一种固态硬盘设备
US11698742B2 (en) Garbage collection in a memory component using an adjusted parameter
US20200104384A1 (en) Systems and methods for continuous trim commands for memory systems
KR20200121068A (ko) 데이터 저장 장치 및 이의 동작 방법, 이를 위한 컨트롤러
US11182087B2 (en) Modifying write performance to prolong life of a physical memory device
US20240143226A1 (en) Data storage device and method for managing a write buffer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant