书签 分享 收藏 举报 版权申诉 / 10

多层单元固态硬盘的存储管理方法.pdf

  • 上传人:r5
  • 文档编号:4705262
  • 上传时间:2018-10-28
  • 格式:PDF
  • 页数:10
  • 大小:1.79MB
  • 摘要
    申请专利号:

    CN201410440438.1

    申请日:

    2014.09.01

    公开号:

    CN104216665A

    公开日:

    2014.12.17

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20140901|||公开

    IPC分类号:

    G06F3/06; G11C16/16; G11C29/42

    主分类号:

    G06F3/06

    申请人:

    上海新储集成电路有限公司

    发明人:

    景蔚亮; 陈邦明

    地址:

    201506 上海市金山区亭卫公路6505号2幢8号

    优先权:

    专利代理机构:

    上海申新律师事务所 31272

    代理人:

    吴俊

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及信息存储技术领域,尤其涉及一种多层单元固态硬盘的存储管理方法,包括如下步骤:对多层单元固态硬盘中预先选定的数据块进行ECC扫描检测以获取数据块中错误数据的位数;判断错误位数是否达到预警值,若是,则继续进行下一步,若否,则不对数据块做任何处理;继续判断错误位数是否达到临界值,若是,则继续进行下一步,若否,则将数据块配置为单层单元存储模式;继续判断错误位数是否大于ECC最大纠错位数,若是,则将数据块中包含有错误数据的页均标记为失效页,若否,则将数据块由多次可编程模式调整为一次可编程模式。这样有效保证了多层单元固态硬盘正常使用,并提高了多层单元固态硬盘寿命。

    权利要求书

    权利要求书
    1.  一种多层单元固态硬盘的存储管理方法,其特征在于,包括如下步骤:
    步骤S1:对所述多层单元固态硬盘中的数据块进行ECC检测以获取所述数据块中数据的错误位数;
    步骤S2:判断所述错误位数是否达到预警值,若是,则继续进行步骤S3,若否,则不对所述数据块做任何处理;
    步骤S3:继续判断所述错误位数是否达到临界值,若是,则继续进行步骤S4,若否,则将所述数据块配置为单层单元存储模式;
    步骤S4:继续判断所述错误位数是否大于ECC最大纠错位数,若是,则将所述数据块中包含有错误数据的页均标记为失效页,若否,则将所述数据块由多次可编程模式调整为一次可编程模式。

    2.  如权利要求1所述的多层单元固态硬盘的存储管理方法,其特征在于,所述多层单元固态硬盘为非易失性固态硬盘。

    3.  如权利要求2所述的多层单元固态硬盘的存储管理方法,其特征在于,所述非易失性固态硬盘为NAND固态硬盘。

    4.  如权利要求1所述的多层单元固态硬盘的存储管理方法,其特征在于,所述步骤S1具体为,在所述多层单元固态硬盘的存储控制器空闲时,对所述多层单元固态硬盘中的数据块进行ECC检测以获取所述数据块中数据的错误位数。

    5.  如权利要求1所述的多层单元固态硬盘的存储管理方法,其特征在于,在所述步骤S1中,对所述数据块中的部分页或全部页进 行所述ECC检测。

    6.  如权利要求4所述的多层单元固态硬盘的存储管理方法,其特征在于,所述步骤S1具体为,对所述多层单元固态硬盘中存在错误数据的数据块进行ECC扫描检测以获取所述数据块中数据的错误位数。

    7.  如权利要求1所述的多层单元固态硬盘的存储管理方法,其特征在于,在所述步骤S1中,所述ECC检测为主动式检测。

    8.  如权利要求1所述的多层单元固态硬盘的存储管理方法,其特征在于,在所述多层单元固态硬盘的存储控制器空闲时,将所述多层单元固态硬盘中的冷数据存储至一备用存储介质上。

    9.  如权利要求8所述的多层单元固态硬盘的存储管理方法,其特征在于,所述备用存储介质为硬盘、磁带、光盘、或网络云盘。

    10.  如权利要求1所述的多层单元固态硬盘的存储管理方法,其特征在于,所述临界值小于或等于所述ECC最大纠错位数。

    说明书

    说明书多层单元固态硬盘的存储管理方法
    技术领域
    本发明涉及信息存储技术领域,尤其涉及一种多层单元固态硬盘的存储管理方法。
    背景技术
    Flash存储器由于具有存储容量大,体积小,掉电时数据不易丢失,以及可多次擦写等优点,己逐步取代其他半导体存储器件,广泛应用于手机、PDA及数码相机等移动电子产品中。NAND Flash内部分为多个块(block),每块由多个页(page)组成。页是写入数据的最小单元,块是擦除的最小单元。页内数据不能被反复写入,只有当包含该页的块被擦除后才能重新写入。Flash存储器的寿命是有限的,不能无限次擦写,块的最大擦写次数一般为105-106次,所以,在采用NAND Flash的应用中必须采用一定的机制,保证各个物理块近似均衡使用,避免某些块提前损耗达到使用寿命,从而影响整个存储器的使用,这个问题称为损耗均衡(wear leveling)。均衡损耗就是让闪存中所有的块都参与到擦写的过程中去,尽量的让各块都有相近的擦除次数,延长闪存的寿命。物理块被选中执行擦除操作的先决条件是其上有脏页出现,即其上存放的数据需要被执行更新操作,如果该块上存放的数据长期得不到更新,则该块就不会因变脏而被擦除,其擦除次数就会明 显少于存放着经常被更新的数据块。形象的说,存放更新频率低的冷数据的块的擦除次数会少于存放更新频率高的热数据的块的擦除次数。如何实现冷热数据存放位置的交换,使得各个物理块都有机会出现脏页从而被擦除,是损耗均衡处理中需要考虑的问题。
    目前均衡损耗算法可以分为动态算法和静态算法两大类。动态算法侧重于更新数据时对目标物理页的选择上,因为闪存上的数据更新不像磁盘那样原地更新,而是将新数据写到别的页上去,原来的数据标识为无效,那么存放无效数据的页在垃圾回收时就得到擦除的机会。动态损耗均衡算法强调将新数据写入到擦除次数较小的块上,因为计算机有局部性原理,刚被访问或更新的数据很有可能马上又被访问或更新,新数据很可能很快变成无效数据,因而增加了擦除次数少的块上出现脏页的可能,使得这些块就能得到更多的擦除机会。如果某块上存放的都是更新频率很低的静态数据或称为冷数据,甚至是上层应用程序的只读数据区域,则此块上的数据被选中更新的频率就会非常低,因而其上出现脏页很少,在垃圾回收时就很少被选中擦除,结果这个块的擦除次数明显小于别的块,导致损耗不均衡。为解决这一问题出现了另一类均衡算法,即静态算法。此类算法通过一定的方法观察是否有扎堆冷数据存在,如果存在与某块上,则将冷数据转移到擦除次数已经很高的块上,而原先存放冷数据的块存放经常更新的数据,这样这些块就能够得到更多的擦除机会。如图1所示的是一种称为“区域均衡”(Regioned Leveling)的均衡损耗算法统计图表。X轴代表不同的NAND闪存区域,Y轴代表擦写次数(P/E cycle)。可 以看出,即使在同一个区域内,不同块的擦除次数也是有很大差异的。另一种均衡损耗算法统计图如图2所示,根据Intel的报告指出,在该算法下,NAND固态硬盘经历很多擦写次数之后,损耗最高的块损耗最高的块擦写次数仅是平均擦写次数的3倍,损耗最高的块与损耗最低的块之间擦写次数仅有4%的差异。
    从上面分析可以看出,不论是静态还是动态均衡损耗算法都可能会产生不必要的擦除操作,损失了NAND固态硬盘的可擦写次数。
    中国专利(CN 101533337A)公开了一种固态硬盘数据管理方法,该方法包括:获取所述固态硬盘的逻辑地址与存储于所述固态硬盘中的数据的物理地址的动态映射关系;通过修改所述动态映射关系,进行逻辑地址间的所述数据的移动。该发明同时公开一种固态硬盘数据管理设备。该发明可以实现固态硬盘数据在不同逻辑地址间的快速移动,降低I/O资源占用、加快命令执行速度,且能够有效降低固态硬盘的读/写损耗,延长固态硬盘的使用寿命。
    该专利主要用过减少对固态硬盘的擦写次数来延长固态硬盘的使用寿命,但并未解决固态硬盘的损耗均衡问题,优化器数据算法。
    中国专利(CN 101740132A)公开了一种固态硬盘的寿命预警的方法、报警装置、固态硬盘和预警系统;寿命预警的方法包括:监测固态硬盘的寿命状态;判断所述寿命状态是否达到设置的预警值;当所述寿命状态达到设置的预警值时发出预警信号。
    该专利主要解决了固态硬盘的受用寿命的预警问题,但并未能有效延长固态硬盘的使用寿命。
    发明内容
    鉴于上述问题,本发明提供一种多层单元固态硬盘的存储管理方法。
    本发明解决技术问题所采用的技术方案为:
    一种多层单元固态硬盘的存储管理方法,其中,所述方法包括:
    步骤S1:对所述多层单元固态硬盘中的数据块进行ECC检测以获取所述数据块中数据的错误位数;
    步骤S2:判断所述错误位数是否达到预警值,若是,则继续进行步骤S3,若否,则不对所述数据块做任何处理;
    步骤S3:继续判断所述错误位数是否达到临界值,若是,则继续进行步骤S4,若否,则将所述数据块配置为单层单元存储模式;
    步骤S4:继续判断所述错误位数是否大于ECC最大纠错位数,若是,则将所述数据块中包含有错误数据的页均标记为失效页,若否,则将所述数据块由多次可编程模式调整为一次可编程模式。
    上述的多层单元固态硬盘的存储管理方法,其中,所述多层单元固态硬盘为非易失性固态硬盘。
    上述的多层单元固态硬盘的存储管理方法,其中,所述非易失性固态硬盘为NAND固态硬盘等。
    上述的多层单元固态硬盘的存储管理方法,其中,所述步骤S1具体为,在所述多层单元固态硬盘的存储控制器空闲时,对所述多层单元固态硬盘中的数据块进行ECC检测以获取所述数据块中数据的错误位数。
    上述的多层单元固态硬盘的存储管理方法,其中,在所述步骤S1中,对所述数据块中的部分页或全部页进行所述ECC检测。
    上述的多层单元固态硬盘的存储管理方法,其中,所述步骤S1具体为,对所述多层单元固态硬盘中存在错误数据的数据块进行ECC扫描检测以获取所述数据块中数据的错误位数。
    上述的多层单元固态硬盘的存储管理方法,其中,在所述步骤S1中,所述ECC检测为主动式检测。
    上述的多层单元固态硬盘的存储管理方法,其中,在所述多层单元固态硬盘的存储控制器空闲时,将所述多层单元固态硬盘中的冷数据存储至一备用存储介质上。
    上述的多层单元固态硬盘的存储管理方法,其中,所述备用存储介质为硬盘、磁带、光盘、或网络云盘。
    上述的多层单元固态硬盘的存储管理方法,其中,所述临界值小于或等于所述ECC最大纠错位数。
    上述技术方案具有如下优点或有益效果:
    通过本发明的方法能够利用多层单元固态硬盘中存储控制器空闲的时间对多层单元固态硬盘中的数据块进行主动的检测,从而有效降低了多层单元固态硬盘中某些数据块因为提前达到擦写使用周期,而导致的整块固态硬盘使用寿命缩短,进而导致多层单元固态硬盘内部数据丢失的问题。
    附图说明
    参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
    图1是本发明背景技术中第一种均衡损耗算法统计示意图;
    图2是本发明背景技术中第二种均衡损耗算法统计示意图;
    图3是单层单元NAND固态硬盘存储数据原理示意图;
    图4是多层单元NAND固态硬盘存储数据原理示意图;
    图5是本发明实施例中的多层单元固态硬盘的存储管理方法具体实施方式的流程示意图。
    具体实施方式
    本发明提供一种多层单元固态硬盘的存储管理方法。通过ECC检测失效位,进而采取不同的处理策略,从而更进一步延长固态硬盘的使用寿命。
    多层单元NAND固态硬盘是与单层单元(SLC,Single level cell)NAND固态硬盘相对的,单层单元NAND固态硬盘一个存储单元存储1bit数据,状态“0”和状态“1”取决于由浮栅管中的电荷量引起的阈值电压的大小,如图3所示的是由阈值电压决定存储数据的状态。由于单层单元NAND固态硬盘每单元只存储1bit数据,因而其稳定性好,读取速度也非常快,可擦写次数(Endurance)高达10万次,数据保持能力(Retention)可长达10年,但缺点是成本高,容量不易做大。多层单元NAND固态硬盘由Intel率先发明,其原理是 将2bit或更多位数据写入到一个浮栅管中,利用不同电位的电荷,透过电压控制精准读写,如图4所示。显然多层单元NAND固态硬盘成本低,容量更大,但缺点也相当明显,因为浮栅管中的电荷控制需要更加精确,数据稳定性较差,读写速度也明显比SLC慢,更差的是多层单元NAND固态硬盘的可擦写次数仅为1万次,每单元存储位数越多,可擦写次数也会越来越少,因此MLC曾一度被误解为劣质芯片。但由于多层单元NAND固态硬盘在容量上的优势,MLC技术也在不断发展。由于每个MLC存储单元中存放bit较多,出错的几率会增加,必须进行更多的错误修正(ECC,Error Correction Code),一些数据保持能力较差的多层单元NAND固态硬盘甚至需要进行周期刷新从而保证数据可靠性,这些动作都会导致其性能大幅落后于结构简单的SLC NAND固态硬盘。表1列出了在不同工艺下多层单元NAND固态硬盘和单层单元NAND固态硬盘在性能上的对比,表中可以看出SLC在性能上明显要优于MLC,但在成本和大容量方面MLC又明显优于SLC,因此用户在选择时需要折中考虑。

    表1
    根据上述多层单元NAND固态硬盘与单层单元NAND固态硬盘 的优缺点,本发明提供了一种多层单元固态硬盘的存储管理方法,旨在通过检测多层单元固态硬盘中数据块中数据的错误位数,并与预先设置的错误数据位数预警值、临界值与该固态硬盘所能进行的ECC最大纠错位数进行比较,并以所获得的不同的比较结果为基础进行不同的算法策略修正,从而延长了该数据块的使用寿命。
    下面结合附图对本发明方法进行详细说明。
    首先,提供一待测多层单元固态硬盘,该多层单元固态硬盘优选为非易失性固态硬盘,如NAND固态硬盘等,但并不限于NAND固态硬盘;为了能够更清楚阐述本发明的技术方案,本实施例以多层单元NAND固态硬盘为例对本发明的方法进行详细说明。
    然后,对该多层单元NAND固态硬盘进行ECC检测(既可对多层单元NAND固态硬盘中的数据块的部分页或全部页进行ECC检测),得出该多层单元NAND固态硬盘每个具有错误数据的数据块,并且计算该数据块中所有数据的错误位数n。该步骤优选采用主动式ECC检测对该多层单元NAND固态硬盘进行检测扫描,并且,在该固态硬盘中的存储控制器空闲时对该多层单元NAND固态硬盘进行ECC检测。
    之后,设定一个错误数据位数预警值Na,和一个错误数据临界值Nb,所述错误数据临界值Nb大于错误数据位数预警值Na,且小于或等于该多层单元NAND固态硬盘的ECC最大纠错位数M。其中,错误数据位数预警值Na,可由用户或者系统自行设置,优选设置为所述固态硬盘上ECC能够检测到的最大错误位数N的二分之一或三 分之一,错误数据位数的临界值Nb,同样可由用户或者系统自行设置,优选设置为该固态硬盘可使用ECC最大纠错位数M的相同值或M-1。
    然后,将检测所得的数据的错误位数n与错误数据位数预警值Na,错误数据临界值Nb和错误数据块中的ECC最大纠错位数M进行比较。
    如果数据的错误位数n小于错误数据位数预警值Na时,表明该被扫描的数据块仍具有较长的使用寿命,则不对所述多层单元NAND固态硬盘中被扫描的数据块做任何处理。
    如果错误数据位数n大于错误数据位数预警值Na,且小于错误数据临界值Nb时,表明该数据块已近经历了大量的擦写周期,若固态硬盘为多层单元NAND固态硬盘,为保证该数据块能有更长的使用周期,则将所被扫描的数据块配置为单层NAND固态硬盘的擦写模式,降低该数据块的使用擦写强度,以延长该数据块的使用寿命。
    如果数据的错误位数n大于等于错误数据临界值Nb时,且小于等于该固态硬盘的ECC最大纠错位数M,表明该数据块经历了相当多的擦写周期,内部的错误数据位数已接近ECC的最大可修正上限,则将所扫描的数据块由多次可编程模式调整为一次可编程模式,即将禁止对该数据块的擦除,仅保留一次写入的机会,使存储的数据保持稳定,进而提高该多层单元NAND固态硬盘的使用寿命。
    如果数据的错误位数n大于该固态硬盘可使用ECC纠正的错误数据块中的ECC最大纠错位数M时,表明该数据块内的错误数据位 数已近超出了ECC的修正能力范围,则将所述固态硬盘中被扫描的数据块中包含有错误数据的页均标记为失效页,即不再向该数据块中进行数据写入,屏蔽该已无用的数据块。
    同时,可将该多层单元NAND固态硬盘中预定时间内不被擦写修改的冷数据上传至其它存储介质,只保留一个链接地址于该固态硬盘中,减少了该固态硬盘中实际所需写入的数据量,又同时保证了所需保存的数据不会丢失,故而有效地避免了该固态硬盘在损耗均衡算法的数据管理下,因转移冷数据的存储位置而导致的无谓地对固态硬盘擦写周期的浪费。进一步延长了固态硬盘的使用寿命。
    优选的,其它存储介质可以是硬盘,磁带,光盘,网络云盘,或者是其它网络资源。
    下面通过一具体实例对本发明作进一步详细阐述。
    例如,假设多层单元NAND固态硬盘中每一个块内包含64个页,每页ECC能够检测出8bit错误,并能够修正7bit错误数据,故可将预警值Na设为4bit,将临界值Nb设为6bit。如果对某块中的页数据有50个页最多检测到2bit数据错误位数,即低于预警值,那么说明该块经历的擦写次数较少,使用寿命仍较长,此时不作处理。如果对某块中有50个页数据能检测到最多的4bit错误位数,已经达到了预警值,那么将该块配置成单层单元存储模式中,虽然存储容量有所下降,但是可擦写次数的上限得到改善,从而延长整个多层单云NAND固态硬盘的寿命。如果对某块中有50个页数据检测到最多的6bit失效位,达到了临界值,显然该块已经经历大量的擦写周期,虽然还在 ECC纠错能力的范围内,但即将超出ECC纠错能力范围,此时将该块调整为一次可编程模式,进而不对其再次进行擦写,虽然损失了可擦写功能,但仍然能够正常使用,进而延长该块的使用寿命。如果对某块中有5个页数据检测到最多的8bit错误位,那么这5个页已经超过了ECC所能纠错上限,因而存储的数据不具可靠性,应当将这些页标记为无效页,系统应当不再向这些页存储数据。
    另外,由于存放更新频率低的冷数据的块的擦除次数会少于存放更新频率高的热数据的块的擦除次数。为了实现均衡损耗,会将冷数据与热数据互换位置,但这种方法会额外增加了NAND存储器的擦写周期。因此,本发明针对NAND固态硬盘(可以是单层单元NAND固态硬盘,也可以是多层单元NAND固态硬盘)提出了一种策略,当系统非繁忙或者网络非繁忙的时候,将擦除频率较低的冷数据上传至本地存储介质,比如硬盘,磁带或者光盘或者网络云盘中,或者保存到其他网络资源中,只保留一个链接地址,从而腾出NAND固态硬盘的存储空间给那些需要经常擦写的数据,更有利于实现损耗均衡。例如用户存储的视频文件、音乐文件、电子书籍等,这些数据存储在固态硬盘中几乎不会被擦写,为了损耗均衡,这些文件数据会定期在NAND固态硬盘中移动,浪费了NAND固态硬盘的擦写周期,采用本发明这种策略,可在系统或网络非繁忙的时候,将这些数据上传至本地磁盘中,或者在网络非繁忙的时候将这些数据上传至网络云盘中,不仅节省了NAND固态硬盘的存储空间,而且避免了不必要的NAND固态硬盘擦写次数。这些数据对NAND固态硬盘来说是冷 数据,但对用户而言,这些数据可能会经常被访问,而现在这些数据存放于网络云盘或者本地磁盘中,也不会影响用户的正常使用,但却提高了NAND固态硬盘的寿命。
    综上所述,本发明的多层单元固态硬盘的存储管理方法通过优化对多层单元固态硬盘内部数据块的管理算法,延长每个数据块的使用寿命,并且将预定时间内不被擦写修改的冷数据上传至其它存储介质的方法,使整个多层单元固态硬盘的寿命被有效延长。
    对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。

    关 键  词:
    多层 单元 固态 硬盘 存储 管理 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:多层单元固态硬盘的存储管理方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4705262.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1