CN109358979A - 温差均衡方法在数据纠错中的应用、***及存储介质 - Google Patents
温差均衡方法在数据纠错中的应用、***及存储介质 Download PDFInfo
- Publication number
- CN109358979A CN109358979A CN201811081449.XA CN201811081449A CN109358979A CN 109358979 A CN109358979 A CN 109358979A CN 201811081449 A CN201811081449 A CN 201811081449A CN 109358979 A CN109358979 A CN 109358979A
- Authority
- CN
- China
- Prior art keywords
- temperature
- storage
- data
- write
- difference
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 173
- 238000000034 method Methods 0.000 title claims abstract description 69
- 210000000352 storage cell Anatomy 0.000 claims abstract description 81
- 238000012937 correction Methods 0.000 claims abstract description 49
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 230000015654 memory Effects 0.000 claims description 29
- 238000011084 recovery Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000007689 inspection Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 239000002245 particle Substances 0.000 claims description 6
- 239000007787 solid Substances 0.000 claims description 5
- 230000014759 maintenance of location Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 210000004027 cell Anatomy 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 238000007711 solidification Methods 0.000 description 2
- 230000008023 solidification Effects 0.000 description 2
- 101100401739 Caenorhabditis elegans mlc-3 gene Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
温差均衡方法在数据纠错中的应用、***及存储介质,包括以下步骤:记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;写入完成后,实时监测存储芯片所处的实时环境温度T2;判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;进一步判断环境温度T2是否达到设定的理想写入温度,达到时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错。
Description
技术领域
本发明涉及数据存储装置的数据纠错方法,属于数据存储的方法领域。
背景技术
随着闪存的更新换代,闪存中存储的数据对温度的变化越来越敏感,譬如,高温下写入的数据,在低温下读取出错的机率会大幅度增加,反之也是。
然而,越来越多的闪存比如SSD固态硬盘或是存储阵列在工业场合被使用,而这些场合的环境温度的变化是十分宽泛的:从-40℃-+85℃,这这种大温差环境下工作环境下,闪存中写入的数据会随着外界环境温度的变化发生变化,即存储芯片中的0、1数码状态发生改变,当改变到一定程度后,会导致存储的数据、文件发生损坏或是丢失。
现有技术中尚没有较好的解决方案,业界通常的方法是建立备份,即在特定的恒温环境中建立服务器或是存储中心来备份保存关键的数据,显然该种方案并不适合所有的用户,特别是不适合个人消费用户以及中小企业使用。
发明内容
本发明是为了解决上述宽温差条件下,现有技术不能较好的实现数据可靠读写、无法进行自我纠错的缺陷进行的,目的在于提供一种温差均衡方法在数据纠错中的应用。
本发明提供一种温差均衡的数据恢复方法在数据纠错中的应用,其特征在于,包括以下步骤:
将存储芯片划分为多个存储区域,所述区域包含多个存储单位;
随着数据被写入到存储单位中,当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;
写入完成后,实时监测存储芯片所处的实时环境温度T2;
判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;
当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;
以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,其中,所述存储单位为存储块或存储页。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,其中,对数据进行检验的过程包括:
比较某个存储区域中,所有的存储单位对应的环境温度与写入温度T1之间的差值并根据数值大小进行排列,从大到小依次对存储单位进行数据扫描、检验得到误码率。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,其中,数据纠错过程包括:
当数据误码率达到阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单位中,同时记录下写入时的写入温度T1;
当数据误码率超过存储芯片自身的硬件ECC纠错能力,启动额外的数据恢复机制来恢复纠错。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,其中,设定存储芯片自身的硬件ECC纠错能力为70-85%的误码率。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,其中,所述额外的数据恢复机制包括RAID数据恢复。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,其中,所述理想写入温度的设定值是根据存数据存储装置的产品规格、实际使用环境、闪存类型、生命周期这样因素进行设定的。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,某个存储区域的所有存储单位对应的写入温度T1按照数值大小保存在特定的存储区域中。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,将该恢复方法应用在SSD固态硬盘上进行数据恢复和纠错。
本发明提供的温差均衡的数据恢复方法在数据纠错中的应用,还可以具有这样的特征,其中,所述SSD固态硬盘的存储芯片为SLC、MLC、TLC或QLC闪存颗粒的存储芯片。
本发明还提供一种11.利用温差均衡的数据恢复方法进行数据纠错的***,其特征在于,包括:
存储区域划分模块,用于将存储芯片划分为多个存储区域,所述区域包含多个存储单位;
写入温度记录模块,用于当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;
环境温度检测模块,用于在写入完成后,实时监测存储芯片所处的实时环境温度T2;
温度差值判断模块,用于判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;
差值总和计算模块,用于当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;
数据纠错模块,用于以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错。
本发明还提供一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的温差均衡的数据恢复方法在数据纠错中的应用中的步骤。
本发明的作用和效果在于:根据本发明所涉及的温差均衡的数据恢复方法在数据纠错中的应用,因为首先将存储芯片划分为多个存储区域,所述区域包含多个存储单位;然后随着数据被写入到存储单位中,当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;待写入完成后,实时监测存储芯片所处的实时环境温度T2;实时判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;一旦当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;最后以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错,所以,本发明能够及时的获取写入数据后的存储芯片所处的温度,只有当存储芯片所处的环境温度与全盘写入时的平均温度的差值超过设定的阈值时,才会触发温差均衡的数据恢复方法进行数据纠错;而在进行数据纠错时,通过等待环境温度达到设定的最佳写入温度时,才进行数据检验和恢复操作,通过计算某个存储区域中所有的存储单位的写入温度T1与该环境温度的差值的总和,得到所有的存储区域的差值总和然后根据差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行误码率检验和数据恢复,如此的操作不仅可以对有可能出现数据丢失的数据进行纠错恢复,而且能够在最佳写入温度时写入正确的数据,起到较好的数据数据纠错固化效果。
附图说明
图1是本发明的实施例中温差均衡的数据恢复方法在数据纠错中的应用的步骤示意图;以及
图2为本发明的实施例中的提供的利用温差均衡的数据恢复方法进行数据纠错的***的模块框图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明温差均衡方法在数据纠错中的应用、***及存储介质作具体阐述。
实施例1
图1是本发明的实施例中温差均衡的数据恢复方法在数据纠错中的应用的步骤示意图。
如图1所示,本实施例提供的实现数据可靠性读写的方法,包括以下步骤:
步骤S1,将存储芯片划分为多个存储区域,所述区域包含多个存储单位。
在本实施例中,所述存储芯片为NAND闪存芯片,具体为SLC、MLC、TLC或QLC闪存颗粒制作的NAND闪存芯片。在理论上,也可以使其他类型的存储芯片,比如NOR闪存、ROM、PROM、EPROM、EEPROM、Flash ROM、FRAM、MRAM、RRAM、PCRAM等,都是可以作为本发明的存储芯片的。
SLC,Single-LevelCell,即1bit/cell,速度快寿命长,价格超贵(约MLC3倍以上的价格),约10万次擦写寿命。
MLC,Multi-LevelCell,即2bit/cell,速度一般寿命一般,价格一般,约3000---10000次擦写寿命。
TLC,Trinary-LevelCell,即3bit/cell,也有Flash厂家叫8LC,速度相对慢寿命相对短,价格便宜,约500次擦写寿命。
QLC,Quad-Level Cell,即4bit/cell,支持16充电值,速度最慢寿命最短。
这三种结构的NAND闪存芯片,简单地说SLC的性能最优,价格超高。一般用作企业级或高端发烧友。MLC性能够用,价格适中为消费级SSD应用主流,TLC综合性能最低,价格最便宜。但可以通过高性能主控、主控算法来弥补、提高TLC闪存的性能。
其中,所述存储单位为存储块(block)或存储页(page),一般而言,一个基本的存储单位的容量为16k字节,这个具体的数据根据存储颗粒的生产厂家不同而有不同。
步骤S2,随着数据被写入到存储单位中,当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T。
每个存储区域的所有存储单位对应的写入温度T1按照数值大小保存在特定的存储区域中。
将所有存储单位对应的写入温度进行算术求和,然后除以写入温度的个数就得到这里的平均温度T。
在写入数据时,都通过存储装置(包括控制芯片和存储芯片)所具有的控制芯片进行了ECC保护。
ECC是“Error Correcting Code”的简写,中文名称是“错误检查和纠正”。ECC是一种能够实现“错误检查和纠正”的技术,ECC保护就是应用了这种技术对存储的数据进行保护的操作,一般在存储数据时,通过控制芯片将对应的ECC代码写入并存储到存储芯片中,这将使存储在存储芯片中的数据可以进行硬件恢复。ECC也可以解释为error correctionor correcting code、error checking and correcting、error checking andcorrecting,还可以解释为Error correction circuit,其是一种成熟应用在数据存储设备上的的数据保护和恢复机制。
步骤S3,写入完成后,实时监测存储芯片所处的实时环境温度T2。
因为数据的写入可能是连续的,也可能是断断续续的,而实际中写入过程和读出过程以及等待过程是相互交错的,所以这里的写入完成是对某个存储单位而言,也可以是针对某个人为划分的存储区域。
实时监测环境温度T2的采样频率为每1-30秒一次,这个频率是根据该存储芯片所处的工作环境以及读写的频率而定的,如果工作环境的温度变化比较大,并且存储芯片读写比较频繁,就意味着该种情况下,存储芯片的温度变化会比较剧烈,对应的环境温度的采样频率就会比较高。
步骤S4,判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步。
具体的对于每一个存储单位而言,需要实时的计算实时的环境温度T2与写入时的平均温度T的温度差值,并判断该差值是否查过设定的阈值t。
显然,根据背景技术中介绍的存储芯片中写入的数据对温度的敏感情况,写入温度和环境温度的差值如果达到某个值,也就是这个阈值t,那么数据丢失的风险就会很大,而这个阈值t显然和存储芯片的类型、生产的工艺以及生产厂家都会有关系。
对于使用环境而言,也会影响到这个阈值t的设定值。显然,由于数据的重要程度差异,对于特别重要的宝贵数据,我们设定的差值的阈值t就比较小,这样微小的温度变动都能触发后续步骤S4的检验操作,从而能更好的保护这些宝贵数据的完整性。
另一方面,由于存储芯片类型,比如SLC类型的NAND闪存颗粒就比MLC类型的NAND闪存颗粒稳定,可靠,其对温度变动就具有更强的抵抗能力,即使温度变化,其数据的稳定性也比MLC,TLC高一些,这样使用SLC类型闪存颗粒的存储芯片的差值的阈值t就可以在相同的情况下设定的更大一些。
同样的道理,不同的生产的工艺以及生产厂家也会导致存储芯片的温度差值的阈值t不同。申请人建议使用的阈值范围是20-80℃。
步骤S5,当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和。
其中,所述理想写入温度的设定值是根据存数据存储装置的产品规格、实际使用环境、闪存类型、生命周期这样因素进行设定的。在环境温度达到设定的理想写入温度时,写入的数据具有更好的可靠性,更牢固,更不容易出现失误或是丢失,在以后的保存环境中具有对外界温度变化更好的适应性。
当环境温度T2达到设定的理想写入温度时,就计算每个存储区域中所有的存储单位的写入温度T1与该环境温度的差值的总和,得到所有的存储区域的差值总和。
步骤S6,以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行误码率检验步骤和数据恢复步骤。
其中,对数据进行误码率检验的过程步骤包括:
比较某个存储区域中,所有的存储单位对应的环境温度与写入温度T1之间的差值并根据数值大小进行排列,从大到小依次对存储单位进行数据扫描、检验得到误码率。
判断数据的误码率是否达到误码率阈值,如果达到误码率阈值则进行数据恢复。
根据某个存储单位所存储的数据的误码率与阈值、存储芯片的硬件ECC纠错能力所能达到的误码率的大小关系进行对应的处理。
硬件ECC保护机制在数据纠错过程中可以汇报每单元数据(一般是512byte-4KB之间)所能纠正的数据的比特(Bit)数量,再根据硬件ECC的纠错能力,设置一个相对的百分比阈值,即误码率的最高值,作为存储芯片的硬件ECC纠错能力所能达到的误码率,这个误码率称为硬件ECC的纠错能力。本实施例会根据存储设备的生命周期,闪存特性,将硬件ECC的纠错能力设定在误码率在70-85%内。
其中,数据恢复过程步骤包括:
当数据误码率未达到阈值时,说明数据是可靠的,并没有发生丢失情况,无需进行处理。这个阈值称为数据可靠阈值,一般是由存储装置的控制芯片来决定,数值从10-5到10-9不等。
当数据误码率达到阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单位中,同时再次记录下写入时的写入温度T1。
当数据误码率超过存储芯片自身的硬件ECC纠错能力时,启动额外的数据恢复机制来恢复数据。其中,所述额外的数据恢复机制包括RAID数据恢复、re-try,soft-retry数据恢复等。
RAID的全称是Redundant Array of Inexpensive Disk,中文翻译为廉价冗余磁盘阵列的简称简称RAID技术。它是1988年由美国加州大学Berkeley分校的DavidPatterson教授等人提出来的磁盘冗余技术。从那时起,磁盘阵列技术发展得很快,并逐步走向成熟。
目前人们逐渐认识了磁盘阵列技术。磁盘阵列技术可以详细地划分为若干个级别0-5RAID技术,并且又发展了所谓的RAID Level 10,30,50的新的级别。用RAID的好处简单的说就是:安全性高,速度快,数据容量超大。某些级别的RAID技术可以把速度提高到单个硬盘驱动器的400%。磁盘阵列把多个硬盘驱动器连接在一起协同工作,大大提高了速度,同时把硬盘***的可靠性提高到接近无错的境界。这些“容错”***速度极快,同时可靠性极高。
RAID恢复方法是使用多个die(磁盘片或是存储单位)奇偶校验,可以挽救整个Die(磁盘片或是存储单位)的报废或是数据丢失,从而对数据进行恢复。
re-try,即read retry,MLC或TLC、SLC的几个数据点电压分布有可能会平移,只要几个分布没有叠加就可以恢复。ReadRetry尝试用不同的参考电压来读取数据,直到读出来。
soft-retry,即用软信息读。从不同的参考电压读到几组数据后综合得到最终数据。这个需要更强大的ECC纠错能力,如LDPC(Low Density Parity Check Code的英文缩写,中文意思是低密度奇偶校验码,最早在20世纪60年代由Gallager在他的博士论文中提出。)
如数据无法通过任何机制恢复,将对应的数据标注为损坏,如读到此存储单位的数据,将返回错误状态,显示该区域数据不可读。
实施例2
图2为本发明的实施例中的提供的利用温差均衡的数据恢复方法进行数据纠错的***的模块框图。
本实施例提供一种利用温差均衡的数据恢复方法进行数据纠错的***包括存储区域划分模块101、写入温度记录模块102、环境温度检测模块103、温度差值判断模块104、差值总和计算模块105、数据纠错模块106。
存储区域划分模块101,用于将存储芯片划分为多个存储区域,所述区域包含多个存储单位;
写入温度记录模块102,用于当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;
环境温度检测模块103,用于在写入完成后,实时监测存储芯片所处的实时环境温度T2;
温度差值判断模块104,用于判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;
差值总和计算模块105,用于当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;
数据纠错模块106,用于以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错。
具体的,作为一种优化:
优选的,对数据进行检验的过程包括:
比较某个存储区域中,所有的存储单位对应的环境温度与写入温度T1之间的差值并根据数值大小进行排列,从大到小依次对存储单位进行数据扫描、检验得到误码率。
优选的,当数据误码率达到阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单位中,同时记录下写入时的写入温度T1。
优选的,当数据误码率超过存储芯片自身的硬件ECC纠错能力,启动额外的数据恢复机制来恢复数据。
优选的,设定存储芯片自身的硬件ECC纠错能力为70-85%的误码率。
优选的,所述额外的数据恢复机制包括RAID数据恢复。
优选的,所述理想写入温度的设定值是根据存数据存储装置的产品规格、实际使用环境、闪存类型、生命周期这样因素进行设定的。
优选的,每个存储区域的所有存储单位对应的写入温度T1按照数值大小保存在特定的存储区域中。
实施例3
本实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下的实现数据可靠性读写的方法:
步骤S1,将存储芯片划分为多个存储区域,所述区域包含多个存储单位;
步骤S2,随着数据被写入到存储单位中,当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;
步骤S3,写入完成后,实时监测存储芯片所处的实时环境温度T2;
步骤S4,判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;
步骤S5,当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;
步骤S6,以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错。
具体的,作为一种优化:
优选的,对数据进行检验的过程包括:
比较某个存储区域中,所有的存储单位对应的环境温度与写入温度T1之间的差值并根据数值大小进行排列,从大到小依次对存储单位进行数据扫描、检验得到误码率。
优选的,当数据误码率达到阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单位中,同时记录下写入时的写入温度T1。
优选的,当数据误码率超过存储芯片自身的硬件ECC纠错能力,启动额外的数据恢复机制来恢复数据。
优选的,设定存储芯片自身的硬件ECC纠错能力为70-85%的误码率。
优选的,所述额外的数据恢复机制包括RAID数据恢复。
优选的,所述理想写入温度的设定值是根据存数据存储装置的产品规格、实际使用环境、闪存类型、生命周期这样因素进行设定的。
优选的,每个存储区域的所有存储单位对应的写入温度T1按照数值大小保存在特定的存储区域中。
显然该存储介质可以是光盘、优盘或者磁盘、软盘、光盘、DVD、硬盘、闪存、CF卡、SD卡、MMC卡、SM卡、记忆棒(Memory Stick)、xD卡、磁带、磁光盘等,将对应上述方法的计算机程序存储或是刻录在该存储介质上,用户获得该存储介质后进行安装或运行即可以在对应的存储装置上执行本发明的实施例1的方法。
本实施例的作用与效果在于:根据本实施例所涉及的温差均衡的数据恢复方法在数据纠错中的应用,因为首先将存储芯片划分为多个存储区域,所述区域包含多个存储单位;然后随着数据被写入到存储单位中,当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;待写入完成后,实时监测存储芯片所处的实时环境温度T2;实时判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;一旦当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;最后以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错,所以,本发明能够及时的获取写入数据后的存储芯片所处的温度,只有当存储芯片所处的环境温度与全盘写入时的平均温度的差值超过设定的阈值时,才会触发温差均衡的数据恢复方法进行数据纠错;而在进行数据纠错时,通过等待环境温度达到设定的最佳写入温度时,才进行数据检验和恢复操作,通过计算某个存储区域中所有的存储单位的写入温度T1与该环境温度的差值的总和,得到所有的存储区域的差值总和然后根据差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行误码率检验和数据恢复,如此的操作不仅可以对有可能出现数据丢失的数据进行纠错恢复,而且能够在最佳写入温度时写入正确的数据,起到较好的数据数据纠错固化效果。
进一步,因为记录写入温度T1的过程是先将存储芯片划分为多个存储区域,所述区域包含多个存储单位;然后随着数据被写入到存储单位中,当存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,所以每个最基本的存储单位都会对应有一个写入温度并作为元数据,如此就可以对每个基本的存储单位进行监控检验并在出现数据丢失时进行恢复。
更进一步,本实施例对于不同的数据的误码率的不同,根据某个存储单位所存储的数据的误码率与阈值、存储芯片的硬件ECC纠错能力所能达到的误码率的大小关系进行对应的处理:
当数据误码率未达到阈值时,说明数据是可靠的,并没有发生丢失情况,无需进行处理;
当数据误码率达到阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单位中,同时再次记录下写入时的写入温度T1;
当数据误码率超过存储芯片自身的硬件ECC纠错能力时,启动额外的数据恢复机制来恢复数据。其中,所述额外的数据恢复机制包括RAID数据恢复、re-try,soft-retry数据恢复等;
如数据无法通过任何机制恢复,将对应的数据标注为损坏,如读到此存储单位的数据,将返回错误状态,显示该区域数据不可读。
因为对数据进行误码率检验的过程包括:比较某个存储区域中,所有的存储单位对应的环境温度与写入温度T1之间的差值并根据数值大小进行排列,从大到小依次对存储单位进行数据扫描、检验得到误码率。此种状况下,本实施例依照差值大小进行排序,优先处理差值大的存储单位来进行检验,这样相当于在战场中对伤患进行分级,优先处理救治重伤员,本实施例如此操作可以在存储芯片繁忙时,达到最优的数据检验和恢复效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
Claims (10)
1.温差均衡的数据恢复方法在数据纠错中的应用,其特征在于,包括以下步骤:
将存储芯片划分为多个存储区域,所述区域包含多个存储单位;
随着数据被写入到存储单位中,当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;
写入完成后,实时监测存储芯片所处的实时环境温度T2;
判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;
当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;
以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错。
2.根据权利要求1所述的温差均衡的数据恢复方法在数据纠错中的应用,其特征在于:
其中,所述存储单位为存储块或存储页。
3.根据权利要求1所述的温差均衡的数据恢复方法在数据纠错中的应用,其特征在于:
其中,对数据进行检验的过程包括:
比较某个存储区域中,所有的存储单位对应的环境温度与写入温度T1之间的差值并根据数值大小进行排列,从大到小依次对存储单位进行数据扫描、检验得到误码率。
4.根据权利要求3所述的温差均衡的数据恢复方法在数据纠错中的应用,其特征在于:
其中,数据纠错过程包括:
当数据误码率达到阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单位中,同时记录下写入时的写入温度T1;
当数据误码率超过存储芯片自身的硬件ECC纠错能力,启动额外的数据恢复机制来恢复纠错。
5.根据权利要求4所述的温差均衡的数据恢复方法在数据纠错中的应用,其特征在于:
其中,设定存储芯片自身的硬件ECC纠错能力为70-85%的误码率。
6.根据权利要求4所述的温差均衡的数据恢复方法在数据纠错中的应用,其特征在于:
其中,所述额外的数据恢复机制包括RAID数据恢复。
7.根据权利要求1所述的温差均衡的数据恢复方法在数据纠错中的应用,其特征在于:
其中,所述理想写入温度的设定值是根据存数据存储装置的产品规格、实际使用环境、闪存类型、生命周期这样因素进行设定的;
每个存储区域的所有存储单位对应的写入温度T1按照数值大小保存在特定的存储区域中;
将该恢复方法应用在SSD固态硬盘上进行数据恢复和纠错。
8.根据权利要求7所述的温差均衡的数据恢复方法在数据纠错中的应用,其特征在于:
其中,所述SSD固态硬盘的存储芯片为SLC、MLC、TLC或QLC闪存颗粒的存储芯片。
9.一种利用温差均衡的数据恢复方法进行数据纠错的***,其特征在于,包括:
存储区域划分模块,用于将存储芯片划分为多个存储区域,所述区域包含多个存储单位;
写入温度记录模块,用于当某个存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,并计算整个存储芯片被多次写入直至写满时的全盘写入时的平均温度T;
环境温度检测模块,用于在写入完成后,实时监测存储芯片所处的实时环境温度T2;
温度差值判断模块,用于判断环境温度T2与写入时的平均温度T之间的差值是否超过阈值t,如果超过进入下一步;
差值总和计算模块,用于当差值超过阈值t时,进一步判断环境温度T2是否达到设定的理想写入温度,当环境温度T2达到设定的理想写入温度时,就计算某个存储区域中所有的存储单位的写入温度T1与该环境温度T2的差值的总和,得到所有的存储区域的差值总和;
数据纠错模块,用于以存储区域的差值总和的大小进行排序,从大到小依次对所有的存储区域中的数据进行检验和纠错。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的温差均衡的数据恢复方法在数据纠错中的应用中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811081449.XA CN109358979B (zh) | 2018-09-17 | 2018-09-17 | 温差均衡方法在数据纠错中的应用、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811081449.XA CN109358979B (zh) | 2018-09-17 | 2018-09-17 | 温差均衡方法在数据纠错中的应用、***及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109358979A true CN109358979A (zh) | 2019-02-19 |
CN109358979B CN109358979B (zh) | 2021-10-12 |
Family
ID=65350899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811081449.XA Active CN109358979B (zh) | 2018-09-17 | 2018-09-17 | 温差均衡方法在数据纠错中的应用、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109358979B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070176617A1 (en) * | 2006-01-31 | 2007-08-02 | Advantest Corporation | Temperature compensation circuit and testing apparatus |
US20130188431A1 (en) * | 2012-01-20 | 2013-07-25 | Roy E. Scheuerlein | Temperature compensation of conductive bridge memory arrays |
CN104731522A (zh) * | 2013-12-20 | 2015-06-24 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
US20170345510A1 (en) * | 2016-05-27 | 2017-11-30 | Western Digital Technologies, Inc. | Temperature variation compensation |
CN108052414A (zh) * | 2017-12-28 | 2018-05-18 | 湖南国科微电子股份有限公司 | 一种提升ssd工作温度范围的方法及*** |
CN108205505A (zh) * | 2016-12-20 | 2018-06-26 | 桑迪士克科技有限责任公司 | 基于误比特率的多通道存储器操作 |
-
2018
- 2018-09-17 CN CN201811081449.XA patent/CN109358979B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070176617A1 (en) * | 2006-01-31 | 2007-08-02 | Advantest Corporation | Temperature compensation circuit and testing apparatus |
US20130188431A1 (en) * | 2012-01-20 | 2013-07-25 | Roy E. Scheuerlein | Temperature compensation of conductive bridge memory arrays |
CN104731522A (zh) * | 2013-12-20 | 2015-06-24 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
US20170345510A1 (en) * | 2016-05-27 | 2017-11-30 | Western Digital Technologies, Inc. | Temperature variation compensation |
CN108205505A (zh) * | 2016-12-20 | 2018-06-26 | 桑迪士克科技有限责任公司 | 基于误比特率的多通道存储器操作 |
CN108052414A (zh) * | 2017-12-28 | 2018-05-18 | 湖南国科微电子股份有限公司 | 一种提升ssd工作温度范围的方法及*** |
Non-Patent Citations (1)
Title |
---|
薛明喜: "《基于自适应Kalman滤波的SAW测温数据纠错方法》", 《仪器仪表学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109358979B (zh) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101608679B1 (ko) | 톤 라이트 완화 | |
Schwarz et al. | Disk scrubbing in large archival storage systems | |
TWI498724B (zh) | 保護資料免於記憶體器件中之寫入失敗的裝置及方法 | |
CN103718162B (zh) | 用于ssd中灵活的raid的方法和设备 | |
CN104484251B (zh) | 一种硬盘故障的处理方法及装置 | |
US20170147437A1 (en) | Intelligent stress testing and raid rebuild to prevent data loss | |
JP2015035247A5 (ja) | 書き込み時の欠落の緩和 | |
JP2008033874A (ja) | 独立ディスクのリダンダントアレイ毀損時のデータ救援方法及びそのシステム | |
JP2012523599A5 (zh) | ||
JP2011521397A5 (zh) | ||
TW200532449A (en) | Efficient media scan operations for storage systems | |
CN111124758A (zh) | 一种故障硬盘的数据恢复方法 | |
US20150178150A1 (en) | Techniques for Assessing Pass/Fail Status of Non-Volatile Memory | |
US10275312B1 (en) | Systems and methods for selecting a set of storage nodes for use in reconstructing data on a faulted node in an erasure-coded system | |
CN103019894B (zh) | 一种独立冗余磁盘阵列的重建方法 | |
CN105224891A (zh) | 磁盘光盘融合数据安全存储方法、***及装置 | |
CN105892950A (zh) | 一种磁盘阵列的重建方法及*** | |
CN109445982A (zh) | 实现数据可靠读写的数据存储装置 | |
CN104503781A (zh) | 硬盘的固件升级方法和存储*** | |
US20060215456A1 (en) | Disk array data protective system and method | |
CN109582488A (zh) | 一种固态硬盘的错误预防方法及相关装置 | |
CN103176859A (zh) | 一种flash数据备份/恢复方法、设备及信号源 | |
CN109375869A (zh) | 实现数据可靠读写的方法以及***、存储介质 | |
CN109284201A (zh) | 温度均衡数据恢复方法以及***、存储介质 | |
CN109358984A (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 | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 430000 west of 2-3 / F, No.2 factory building, Guannan Industrial Park, No.1 Gaoxin 2nd Road, Wuhan Donghu New Technology Development Zone, Wuhan City, Hubei Province Patentee after: Zhiyu Technology Co.,Ltd. Address before: 430223 west of building 2-3, Guannan Industrial Park, No. 1, Gaoxin 2nd Road, Wuhan East Lake New Technology Development Zone, Wuhan, Hubei Province Patentee before: EXASCEND TECHNOLOGY (WUHAN) CO.,LTD. |
|
CP03 | Change of name, title or address |