CN109445982A - 实现数据可靠读写的数据存储装置 - Google Patents

实现数据可靠读写的数据存储装置 Download PDF

Info

Publication number
CN109445982A
CN109445982A CN201811082860.9A CN201811082860A CN109445982A CN 109445982 A CN109445982 A CN 109445982A CN 201811082860 A CN201811082860 A CN 201811082860A CN 109445982 A CN109445982 A CN 109445982A
Authority
CN
China
Prior art keywords
data
storage
write
temperature
chip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811082860.9A
Other languages
English (en)
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.)
To Reputation Technology (wuhan) Co Ltd
Original Assignee
To Reputation Technology (wuhan) 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 To Reputation Technology (wuhan) Co Ltd filed Critical To Reputation Technology (wuhan) Co Ltd
Priority to CN201811082860.9A priority Critical patent/CN109445982A/zh
Publication of CN109445982A publication Critical patent/CN109445982A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种实现数据可靠性读写的数据存储装置,涉及数据存储装置以及方法,属于数据存储的方法领域,具有存储芯片、控制芯片以及与外部的数据源连接的接口,其中控制芯片中存储有控制程序,控制程序实现以下步骤:在存储芯片写入数据时,记录写入温度T1;写入完成后,实时监测存储芯片所处的环境温度T2;判断环境温度T2与写入温度T1之间的差值是否超过阈值t,如果超过进入下一步;当差值超过阈值t时,对存储的数据进行检验并得到数据的误码率;判断数据的误码率是否达到误码率阈值,如果达到误码率阈值则进行数据恢复。

Description

实现数据可靠读写的数据存储装置
技术领域
本发明涉及数据存储装置以及方法,属于数据存储的方法领域。
背景技术
随着闪存的更新换代,闪存中存储的数据对温度的变化越来越敏感,譬如,高温下写入的数据,在低温下读取出错的机率会大幅度增加,反之也是。
然而,越来越多的闪存比如SSD固态硬盘或是存储阵列在工业场合被使用,而这些场合的环境温度的变化是十分宽泛的:从-40℃-+85℃,这这种大温差环境下工作环境下,闪存中写入的数据会随着外界环境温度的变化发生变化,即存储芯片中的0、1数码状态发生改变,当改变到一定程度后,会导致存储的数据、文件发生损坏或是丢失。
现有技术中尚没有较好的解决方案,业界通常的方法是建立备份,即在特定的恒温环境中建立服务器或是存储中心来备份保存关键的数据,显然该种方案并不适合所有的用户,特别是不适合个人消费用户以及中小企业使用。
发明内容
本发明是为了解决上述宽温差条件下,现有技术不能较好的实现数据可靠读写的问题而进行的,目的在于提供一种实现数据可靠读写的数据存储装置,该数据存储装置解决了宽温差下数据可靠读写的问题。
本发明提供一种实现数据可靠性读写的数据存储装置,具有存储芯片、控制芯片以及与外部的数据源连接的接口,其中控制芯片中存储有控制程序,控制程序实现以下步骤:
在存储芯片写入数据时,记录写入完成时的写入温度T1
实时监测存储芯片所处的环境温度T2
判断环境温度T2与写入温度T1之间的差值是否超过阈值t;
当差值超过阈值t时,对存储的数据进行检验并得到数据的误码率;
判断数据的误码率是否达到误码率阈值,如果达到误码率阈值则进行数据恢复。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,其中,记录写入温度T1的过程包括:
将存储芯片划分为多个存储区域,所述存储区域包含多个存储单位;
当存储区域被写满时,记录该时刻对应的温度T1,并被作为元数据写入存储到存储芯片的特定区域,得到每个存储单位对应的写入温度T1。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,其中,所述存储单位为存储块或存储页,所述存储芯片为SLC、MLC、TLC或QLC闪存颗粒。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,其中,实时监测环境温度T2的采样频率为每1-30秒一次。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,其中,对存储的数据进行检验的过程包括:
比较所有的存储单位对应的环境温度T2与写入温度T1之间的差值并根据数值大小进行排列,优先对差值数据大的存储单位进行数据扫描;或包括:
当没有数据写入时,对整个存储芯片的所有存储单位的数据进行扫描。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,其中,当数据的误码率达到误码率阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单元,同时记录下写入时的写入温度T1
当数据的误码率超过存储芯片自身的硬件ECC纠错能力时,启动额外的数据恢复机制来恢复数据。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,其中,设定存储芯片自身的硬件ECC纠错能力为70-85%的误码率,所述额外的数据恢复机制包括RAID数据恢复。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,还包括:
PCB板,
其中,所述存储芯片、控制芯片以及接口都设置在所述PCB板上,所述PCB设置有温度传感器,用来检测所述存储芯片的温度。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,其中,所述接口包括PCIe、SATA接口。
本发明提供的实现数据可靠性读写的数据存储装置,还可以具有这样的特征,其特征在于,该存储装置为固态硬盘。
本发明的作用和效果在于:根据本发明所涉及的实现数据可靠性读写的数据存储装置,因为在控制芯片中存储有控制程序,使得在存储芯片写入数据时,记录写入温度T1;而在写入完成后,实时监测存储芯片所处的环境温度T2;在采集到环境温度后,判断环境温度T2与写入温度T1之间的差值是否超过阈值t,如果超过说明该环境下保存的数据可能会发生较大的改变,需要进行检验;当差值超过阈值t时,对存储的数据进行检验并得到数据的误码率;根据数据的误码率的不同情形,及时的采用不同的修复方式进行数据恢复,所以,本发明提供的存储装置能够及时的获取写入数据后的存储芯片所处的温度,并实时与写入时的温度进行比较,当写入温度和环境温度超过设定的阈值时,就说明写入后存储的数据可能发生了丢失,并进一步进行检验来获知具体的数据误码率,根据数据的误码率大小来选择不同的修复方式进行数据修复。
附图说明
图1为本发明的实施例中的实现数据可靠读写的数据存储装置的结构示意图;
图2是本发明的实施例中控制芯片存储的控制程序所对应的实现数据可靠读写的方法的步骤示意图;以及
图3为记录写入温度的过程示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明实现数据可靠读写的数据存储装置作具体阐述。
实施例1
图1为本发明的实施例中的实现数据可靠读写的数据存储装置的结构示意图。
如图1所示,实现数据可靠读写的数据存储装置100,具有存储芯片10、控制芯片20以及与外部的数据源连接的接口30以及PCB板40、温度传感器50,其中控制芯片中存储有控制程序。
所述存储芯片10为SLC、MLC、TLC或QLC闪存颗粒制成的存储芯片。
在本实施例中,所述存储芯片为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闪存的性能。
控制芯片20,使用通用的SSD控制芯片,市售购买,比如
SATA3控制器,选用美国Marvell公司(中文名迈威科技集团有限公司,现更名美满)的88SS1074、88SS1079控制器,适用SATA数据接口;
NVMe控制器,选用美国Marvell公司(中文名迈威科技集团有限公司,现更名美满)88SS1093、88SS1092控制器,适合于NVMe协议下的PCIe数据接口。
这里列举的美国Marvell公司只是一个实例,实际上市面上任何厂家的SSD控制器都可以实现,并不限定是美国Marvell公司。
数据源连接的接口30,使用的接口包括PCIe、SATA接口。
PCB板40,作为以上硬件的电路载体,所述存储芯片10、控制芯片20以及接口30都设置在所述PCB板40上。所述PCB设置有温度传感器50,用来检测所述存储芯片40的温度。
图2是本发明的实施例中控制芯片存储的控制程序所对应的实现数据可靠读写的方法的步骤示意图。
控制芯片20中存储有控制程序,控制程序实现以下的实现数据可靠性读写的方法,如图2所示,实现数据可靠性读写的方法包括以下步骤:
步骤S1,在存储芯片写入数据时,记录写入完成时的写入温度T1。
图3为记录写入温度的过程示意图。
具体的,如图3所示,记录写入温度T1的过程包括:
步骤S1-1,将存储芯片划分为多个存储区域,所述区域包含多个存储单位。
其中,所述存储单位为存储块(block)或存储页(page),一般而言,一个基本的存储单位的容量为16k字节,这个具体的数据根据存储颗粒的生产厂家不同而有不同。
步骤S1-2,当存储区域被写满时,记录该时刻对应的温度T1,并被作为元数据写入存储到存储芯片的特定区域,得到每个存储单位对应的写入温度T1。存储芯片中设定有特定的区域用来专门存储这些写入温度。
在写入数据时,都通过存储装置(包括控制芯片和存储芯片)所具有的控制芯片进行了ECC保护。
ECC是“Error Correcting Code”的简写,中文名称是“错误检查和纠正”。ECC是一种能够实现“错误检查和纠正”的技术,ECC保护就是应用了这种技术对存储的数据进行保护的操作,一般在存储数据时,通过控制芯片将对应的ECC代码写入并存储到存储芯片中,这将使存储在存储芯片中的数据可以进行硬件恢复。ECC也可以解释为error correctionor correcting code、error checking and correcting、error checking andcorrecting,还可以解释为Error correction circuit,其是一种成熟应用在数据存储设备上的的数据保护和恢复机制。
步骤S2,实时监测存储芯片所处的环境温度T2。
因为数据的写入可能是连续的,也可能是断断续续的,而实际中写入过程和读出过程以及等待过程是相互交错的,所以这里的写入完成是对某个存储单位而言,也可以是针对某个人为划分的存储区域。
实时监测环境温度T2的采样频率为每1-30秒一次,这个频率是根据该存储芯片所处的工作环境以及读写的频率而定的,如果工作环境的温度变化比较大,并且存储芯片读写比较频繁,就意味着该种情况下,存储芯片的温度变化会比较剧烈,对应的环境温度的采样频率就会比较高。
步骤S3,判断环境温度T2与写入温度T1之间的差值是否超过阈值t,如果超过进入下一步S4。
具体的对于每一个存储单位而言,需要实时的计算实时的环境温度T2与自身的存储单位写入数据的写入温度T1的温度差值,并判断该差值是否查过设定的阈值t。
显然,根据背景技术中介绍的存储芯片中写入的数据对温度的敏感情况,写入温度和环境温度的差值如果达到某个值,也就是这个阈值t,那么数据丢失的风险就会很大,而这个阈值t显然和存储芯片的类型、生产的工艺以及生产厂家都会有关系。
对于使用环境而言,也会影响到这个阈值t的设定值。显然,由于数据的重要程度差异,对于特别重要的宝贵数据,我们设定的差值的阈值t就比较小,这样微小的温度变动都能触发后续步骤S4的检验操作,从而能更好的保护这些宝贵数据的完整性。
另一方面,由于存储芯片类型,比如SLC类型的NAND闪存颗粒就比MLC类型的NAND闪存颗粒稳定,可靠,其对温度变动就具有更强的抵抗能力,即使温度变化,其数据的稳定性也比MLC,TLC高一些,这样使用SLC类型闪存颗粒的存储芯片的差值的阈值t就可以在相同的情况下设定的更大一些。
同样的道理,不同的生产的工艺以及生产厂家也会导致存储芯片的温度差值的阈值t不同。申请人建议使用的阈值范围是20-80℃。
步骤S4,当差值超过阈值t时,对存储的数据进行检验并得到数据的误码率。
对存储的数据进行检验的过程有两种操作模式:
模式一包括以下操作:
比较所有的存储单位对应的环境温度T2与写入温度T1之间的差值并根据数值大小进行排列,优先对差值数据大的存储单位进行数据扫描读取,扫描读取后得出某个存储单位所存储数据的误码率。
显然这中操作是适合于存储芯片比较忙,即正在进行数据的读或者写操作的时候,由于这种情况下,无法进行全盘扫描读取。此种状况下,本实施例依照差值大小进行排序,优先处理差值大的存储单位来进行检验,这样相当于在战场中对伤患进行分级,优先处理救治重伤员,本实施例如此操作可以在存储芯片繁忙时,达到最优的数据检验和恢复效果。
模式二包括以下操作:
当没有数据写入时,对整个存储芯片的所有存储单位的数据进行扫描。
显然,当整个存储芯片没有进行读写操作时,就可以直接开启全盘扫描读写来得到每个存储单位的数据的误码率了。
步骤S5,判断数据的误码率是否达到误码率阈值,如果达到误码率阈值则进行数据恢复。
根据某个存储单位所存储的数据的误码率与阈值、存储芯片的硬件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在他的博士论文中提出。)
如数据无法通过任何机制恢复,将对应的数据标注为损坏,如读到此存储单位的数据,将返回错误状态,显示该区域数据不可读。
作为一种实际应用,上述的数据存储装置为固态硬盘或是固态存储阵列。
本实施例的作用与效果在于:根据本实施例所涉及的实现数据可靠性读写的数据存储装置,因为在控制芯片中存储有控制程序,使得在存储芯片写入数据时,记录写入温度T1;而在写入完成后,实时监测存储芯片所处的环境温度T2;在采集到环境温度后,判断环境温度T2与写入温度T1之间的差值是否超过阈值t,如果超过说明该环境下保存的数据可能会发生较大的改变,需要进行检验;当差值超过阈值t时,对存储的数据进行检验并得到数据的误码率;根据数据的误码率的不同情形,及时的采用不同的修复方式进行数据恢复,所以,本发明提供的存储装置能够及时的获取写入数据后的存储芯片所处的温度,并实时与写入时的温度进行比较,当写入温度和环境温度超过设定的阈值时,就说明写入后存储的数据可能发生了丢失,并进一步进行检验来获知具体的数据误码率,根据数据的误码率大小来选择不同的修复方式进行数据修复。
进一步,因为记录写入温度T1的过程是先将存储芯片划分为多个存储区域,所述区域包含多个存储单位;然后随着数据被写入到存储单位中,当存储单位被写满时,就记录该时刻对应的温度T1,并被作为元数据写入存储,得到每个存储单位对应的写入温度T1,所以每个最基本的存储单位都会对应有一个写入温度并作为元数据,如此就可以对每个基本的存储单位进行监控检验并在出现数据丢失时进行恢复。
更进一步,对存储的数据进行检验的过程有两种操作模式:
模式一包括以下操作:
比较所有的存储单位对应的环境温度T2与写入温度T1之间的差值并根据数值大小进行排列,优先对差值数据大的存储单位进行数据扫描读取,扫描读取后得出某个存储单位所存储数据的误码率。
显然这中操作是适合于存储芯片比较忙,即正在进行数据的读或者写操作的时候,由于这种情况下,无法进行全盘扫描读取。此种状况下,本实施例依照差值大小进行排序,优先处理差值大的存储单位来进行检验,这样相当于在战场中对伤患进行分级,优先处理救治重伤员,本实施例如此操作可以在存储芯片繁忙时,达到最优的数据检验和恢复效果。
更进一步,本实施例对于不同的数据的误码率的不同,根据某个存储单位所存储的数据的误码率与阈值、存储芯片的硬件ECC纠错能力所能达到的误码率的大小关系进行对应的处理:
当数据误码率未达到阈值时,说明数据是可靠的,并没有发生丢失情况,无需进行处理;
当数据误码率达到阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单位中,同时再次记录下写入时的写入温度T1
当数据误码率超过存储芯片自身的硬件ECC纠错能力时,启动额外的数据恢复机制来恢复数据。其中,所述额外的数据恢复机制包括RAID数据恢复、re-try,soft-retry数据恢复等;
如数据无法通过任何机制恢复,将对应的数据标注为损坏,如读到此存储单位的数据,将返回错误状态,显示该区域数据不可读。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。

Claims (10)

1.实现数据可靠读写的数据存储装置,具有存储芯片、控制芯片以及与外部的数据源连接的接口,其中控制芯片中存储有控制程序,控制程序实现以下步骤:
在存储芯片写入数据时,记录写入完成时的写入温度T1
实时监测存储芯片所处的环境温度T2
判断环境温度T2与写入温度T1之间的差值是否超过阈值t;
当差值超过阈值t时,对存储的数据进行检验并得到数据的误码率;
判断数据的误码率是否达到误码率阈值,如果达到误码率阈值则进行数据恢复。
2.根据权利要求1所述的实现数据可靠读写的数据存储装置,其特征在于:
其中,记录写入温度T1的过程包括:
将存储芯片划分为多个存储区域,所述存储区域包含多个存储单位;
当存储区域被写满时,记录该时刻对应的温度T1,并被作为元数据写入存储到存储芯片的特定区域,得到每个存储单位对应的写入温度T1。
3.根据权利要求1所述的实现数据可靠读写的数据存储装置,其特征在于:
其中,所述存储单位为存储块或存储页,
所述存储芯片为SLC、MLC、TLC或QLC闪存颗粒。
4.根据权利要求1所述的实现数据可靠读写的数据存储装置,其特征在于:
其中,实时监测环境温度T2的采样频率为每1-30秒一次。
5.根据权利要求1所述的实现数据可靠读写的数据存储装置,其特征在于:
其中,对存储的数据进行检验的过程包括:
比较所有的存储单位对应的环境温度T2与写入温度T1之间的差值并根据数值大小进行排列,优先对差值数据大的存储单位进行数据扫描;或
包括:
当没有数据写入时,对整个存储芯片的所有存储单位的数据进行扫描。
6.根据权利要求1所述的实现数据可靠读写的数据存储装置,其特征在于:
其中,
当数据的误码率达到误码率阈值,但未超过存储芯片自身的硬件ECC纠错能力时,启动硬件ECC纠错,将完整恢复的数据再回写到新的存储单元,同时记录下写入时的写入温度T1
当数据的误码率超过存储芯片自身的硬件ECC纠错能力时,启动额外的数据恢复机制来恢复数据。
7.根据权利要求6所述的实现数据可靠读写的数据存储装置,其特征在于:
其中,设定存储芯片自身的硬件ECC纠错能力为70-85%的误码率,
所述额外的数据恢复机制包括RAID数据恢复。
8.根据权利要求1-7中任意一项所述的实现数据可靠读写的数据存储装置,其特征在于,还包括:
PCB板,
其中,所述存储芯片、控制芯片以及接口都设置在所述PCB板上,
所述PCB设置有温度传感器,用来检测所述存储芯片的温度。
9.根据权利要求1-7中任意一项所述的实现数据可靠读写的数据存储装置,其特征在于:
其中,所述接口包括PCIe、SATA接口。
10.根据权利要求1-7中任意一项所述的实现数据可靠读写的数据存储装置,其特征在于,该存储装置为固态硬盘。
CN201811082860.9A 2018-09-17 2018-09-17 实现数据可靠读写的数据存储装置 Pending CN109445982A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811082860.9A CN109445982A (zh) 2018-09-17 2018-09-17 实现数据可靠读写的数据存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811082860.9A CN109445982A (zh) 2018-09-17 2018-09-17 实现数据可靠读写的数据存储装置

Publications (1)

Publication Number Publication Date
CN109445982A true CN109445982A (zh) 2019-03-08

Family

ID=65532891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811082860.9A Pending CN109445982A (zh) 2018-09-17 2018-09-17 实现数据可靠读写的数据存储装置

Country Status (1)

Country Link
CN (1) CN109445982A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806957A (zh) * 2019-10-10 2020-02-18 鸿秦(北京)科技有限公司 一种降低固态盘高温误码率的方法
CN110928488A (zh) * 2019-10-28 2020-03-27 广州妙存科技有限公司 一种优化nand闪存高低温读写可靠性的方法
CN114141287A (zh) * 2020-09-04 2022-03-04 长鑫存储技术有限公司 存储装置的读写方法及存储装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110231737A1 (en) * 2010-03-16 2011-09-22 Kenshi Dachiku Data storage apparatus and data writing/reading method
CN102893337A (zh) * 2010-02-19 2013-01-23 桑迪士克技术有限公司 具有基于邻近存储元件的状态信息的温度补偿的非易失性存储装置
CN103955431A (zh) * 2014-04-11 2014-07-30 深圳市江波龙电子有限公司 一种闪存存储设备中数据管理的方法及装置
CN104731522A (zh) * 2013-12-20 2015-06-24 慧荣科技股份有限公司 数据储存装置及其数据维护方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102893337A (zh) * 2010-02-19 2013-01-23 桑迪士克技术有限公司 具有基于邻近存储元件的状态信息的温度补偿的非易失性存储装置
US20110231737A1 (en) * 2010-03-16 2011-09-22 Kenshi Dachiku Data storage apparatus and data writing/reading method
CN104731522A (zh) * 2013-12-20 2015-06-24 慧荣科技股份有限公司 数据储存装置及其数据维护方法
CN103955431A (zh) * 2014-04-11 2014-07-30 深圳市江波龙电子有限公司 一种闪存存储设备中数据管理的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806957A (zh) * 2019-10-10 2020-02-18 鸿秦(北京)科技有限公司 一种降低固态盘高温误码率的方法
CN110928488A (zh) * 2019-10-28 2020-03-27 广州妙存科技有限公司 一种优化nand闪存高低温读写可靠性的方法
CN114141287A (zh) * 2020-09-04 2022-03-04 长鑫存储技术有限公司 存储装置的读写方法及存储装置
CN114141287B (zh) * 2020-09-04 2024-03-26 长鑫存储技术有限公司 存储装置的读写方法及存储装置

Similar Documents

Publication Publication Date Title
KR101608679B1 (ko) 톤 라이트 완화
US10007431B2 (en) Storage devices configured to generate linked lists
KR101017443B1 (ko) 비휘발성 메모리 시스템내 에러 수정 코드용 하이브리드구현
US20210064249A1 (en) Extending the life of a solid state drive by using mlc flash blocks in slc mode
US8046528B2 (en) Data writing method for flash memory, and flash memory controller and storage device thereof
KR101405741B1 (ko) 스트라이프-기반 비-휘발성 멀티레벨 메모리 동작
US10248515B2 (en) Identifying a failing group of memory cells in a multi-plane storage operation
US9923562B1 (en) Data storage device state detection on power loss
US10762967B2 (en) Recovering from failure in programming a nonvolatile memory
JP2011521397A5 (zh)
US11430540B2 (en) Defective memory unit screening in a memory system
TW201044409A (en) Data recovery in a solid state storage system
CN111124758A (zh) 一种故障硬盘的数据恢复方法
CN109445982A (zh) 实现数据可靠读写的数据存储装置
CN103019894B (zh) 一种独立冗余磁盘阵列的重建方法
US20130166991A1 (en) Non-Volatile Semiconductor Memory Device Using Mats with Error Detection and Correction and Methods of Managing the Same
US10340025B2 (en) Data-storage device and block-releasing method
CN105320468A (zh) 半导体存储器件、存储控制器以及存储控制器的控制方法
CN109375869A (zh) 实现数据可靠读写的方法以及***、存储介质
CN109358984A (zh) 利用温度均衡数据恢复方法进行数据恢复的存储装置
CN109284201A (zh) 温度均衡数据恢复方法以及***、存储介质
US9952775B2 (en) Unusable column mapping in flash memory devices
CN109460316B (zh) 基于温差均衡的数据恢复方法以及***、存储介质
CN110299181A (zh) 非易失性存储器装置、其操作方法及数据存储装置
CN109407972A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190308