CN111142797B - 一种固态硬盘刷新方法、装置及固态硬盘 - Google Patents
一种固态硬盘刷新方法、装置及固态硬盘 Download PDFInfo
- Publication number
- CN111142797B CN111142797B CN201911365120.0A CN201911365120A CN111142797B CN 111142797 B CN111142797 B CN 111142797B CN 201911365120 A CN201911365120 A CN 201911365120A CN 111142797 B CN111142797 B CN 111142797B
- Authority
- CN
- China
- Prior art keywords
- data
- rber
- solid state
- state disk
- cber
- 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
Links
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
- 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
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种固态硬盘刷新方法、装置及固态硬盘,属于计算机存储领域,包括:若数据的容错比特误码率TBER=0,则识别为精确数据;若0<TBER≤CBER,则识别为低近似数据;若CBER<TBER≤RBERmax,则识别为中近似数据;若TBER>RBERmax,则识别为高近似数据;将固态硬盘中类型相同的近似数据聚类后,将属于相同聚类类别的近似数据分配到固态硬盘中相同的数据块中;针对高近似数据,不进行刷新操作;针对精确数据或低近似数据,在RBER=CBER时,采用传统刷新方法进行刷新;针对中近似数据,若数据保留时间RT(TBER)与数据保留时间RT(CBER)之间的差值ΔRT≤threshold,则在RBER=CBER时,采用传统刷新方法进行刷新,否则,结合数据热度和增强型纠错码对固态硬盘进行刷新。本发明能够减少固态硬盘的刷新开销,提升固态硬盘的性能与寿命。
Description
技术领域
本发明属于计算机存储领域,更具体地,涉及一种固态硬盘刷新方法、装置及固态硬盘。
背景技术
随着大数据时代的到来,计算机需存储的数据呈指数级增长,而固态硬盘以其读写速度快、能耗低、体积小等特点,正被广泛地应用于个人电脑、数据存储中心等场景中,被认为是下一代主流存储设备。
在存储数据过程中,为了保证未来被读取的数据没有比特错误,通过使用额外的校验数据对用户数据进行编码来提高闪存的可靠性。并且当一个或多个位损坏时,可以使用这些冗余校验数据来重建用户数据。在读取数据时,常规的精确数据通过校验码进行纠错后必须完全准确,而有许多应用程序可以容忍数据的比特位出错,例如图像处理,科学计算以及视频存储和流传输等,将这些具有内在容错性的应用程序(简称近似应用程序)中的数据称之为近似数据。当这些近似数据经过纠错码的错误检查与修正后,可根据数据还可以容忍的错误比特的数量计算出数据的容错比特误码率。
由于固态硬盘数据存储过程中存在电荷流失以及读写干扰等因素的问题,存储在固态硬盘上的数据会出现错误,因此需要定期执行数据刷新来应对可靠性问题。传统固态硬盘刷新方法周期性地选择闪存块,顺序选择有效数据页读入固态硬盘缓存并纠正数据页中出错的比特位,将其写入新的空闲页中,修改映射关系,同时将原始有效页置为失效页。这一简单灵活的机制可确保长期数据完整性,但是,额外的读取和编程操作可能会影响正常的I/O请求,从而阻碍固态硬盘为现代应用程序提供所需的高性能服务。此外,刷新引起的写入消耗更多的擦写周期,会导致固态硬盘的使用寿命降低。因此,如何设置更好的刷新方法,有效地降低刷新开销,提升固态硬盘性能与寿命,成为本领域技术人员亟需解决的问题。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种固态硬盘刷新方法、装置及固态硬盘,其目的在于,减少固态硬盘的刷新开销,以提升固态硬盘的性能与寿命。
为实现上述目的,按照本发明的第一方面,提供了一种固态硬盘刷新方法,包括:
数据分类:获取数据的容错比特误码率TBER,若TBER=0,则将数据识别为精确数据;若TBER>0,则将数据识别为近似数据;在近似数据中,若0<TBER≤CBER,则将近似数据识别为低近似数据;若CBER<TBER≤RBERmax,则将近似数据识别为中近似数据;若TBER>RBERmax,则将近似数据识别为高近似数据;
数据分配:将固态硬盘中类型相同的近似数据进行聚类后,将属于相同聚类类别的近似数据分配到固态硬盘中相同的数据块中;
根据数据类型执行刷新操作:针对高近似数据,不进行刷新操作;针对精确数据或低近似数据,实时获取数据的原始比特误码率RBER,并在RBER=CBER时,采用传统刷新方法对固态硬盘进行刷新;针对中近似数据,若数据保留时间RT(TBER)与数据保留时间RT(CBER)之间的差值ΔRT≤threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,采用传统刷新方法对固态硬盘进行刷新;针对中近似数据,若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,结合数据热度和增强型纠错码对固态硬盘进行刷新;
其中,CBER为固态硬盘中原始纠错码的可修正比特误码率;RBERmax为最大比特误码率,表示数据保留时间达到制造商提供的保证保留时间时,数据的原始比特误码率;数据保留时间RT(TBER)表示数据的原始比特误码率达到容错比特误码率时,数据的保留时间;数据保留时间RT(CBER)表示数据的原始比特误码率达到固态硬盘中原始纠错码的可修正比特误码率时,数据的保留时间;threshold为预设的阈值;增强型纠错码的可修正比特误码率高于固态硬盘原始纠错码的可修正比特误码率。
在传统的固态硬盘刷新方法中,对所有的数据采用统一的刷新方法;本发明根据数据的容错比特误码率对数据进行分类,对于不同类型的数据执行不同的刷新操作,对于高近似数据不进行刷新,对于中近似数据延迟刷新,从而能够充分利用数据的内在容错性,有效减少刷新开销,使得对正常I/O请求的影响以及额外引入的写入消耗均相应减少,有效提高了固态硬盘的性能和使用寿命。
进一步地,若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,结合数据热度和增强型纠错码对固态硬盘进行刷新,包括:
(S1)根据所读取数据的热度,将所读取的数据页分为冷读数据页和热读数据页,若为冷读数据页,则转入步骤(S2);否则,转入步骤(S6);
(S2)若RBER=CBER,则转入步骤(S3);若CBER<RBER≤TBER,则转入步骤(S4);若TBER<RBER≤RBERmax,则转入步骤(S5);
(S3)将数据读取出来后,利用原始纠错码进行错误修正,并根据第一增强型纠错码计算第一校验数据,之后转入步骤(S10);
(S4)直接读取原始的冷读数据页,并且不进行错误检查和修正,之后转入步骤(S10);
(S5)同时读取原始的冷读数据页和相应的第一校验数据后,利用第一增强型校验码对冷读数据页进行错误检查和修正,之后转入步骤(S10);
针对冷读数据页,进行错误检查和修正后,无需进行第二阶段刷新;
(S6)若RBER=CBER,则转入步骤(S7);若CBER<RBER<TBER,则转入步骤(S8);若RBER≥TBER,则转入步骤(S9);
(S7)将数据读取出来后,利用原始纠错码进行错误修正,并根据第二增强型纠错码计算第二校验数据,之后转入步骤(S10);
(S8)直接读取原始的热读数据页,并且不进行错误检查和修正,之后转入步骤(S10);
(S9)同时读取原始的热读数据页和相应的第二校验数据后,利用第二增强型校验码对热读数据页进行错误检查和修正,并将错误修正之后的热读数据页重新编程到固态硬盘中,即进行第二阶段刷新,之后转入步骤(S10);
(S10)刷新操作结束;
其中,第一增强型纠错码的可修正比特误码率CBER1≥RBERmax,第二增强型纠错码的可修正比特误码率CBER2≥TBER。
本发明在结合增强型纠错码对固态硬盘进行刷新时,当原始比特误码率等于原始纠错码的可修正比特误码率时,在使用原始纠错码对读取的数据进行错误检查和修正后,并不立即将数据编程入固态硬盘中,而是利用增强型纠错码计算新的校验数据并聚合,因此能够有效减少刷新过程中的写入消耗;进一步根据数据热度将读取的数据页划分为冷读数据页和热读数据页,当原始比特误码率超过容错比特误码率时,会结合增强型纠错码进行错误检查和纠错,并且在纠错之后,仅将热读数据页编程入固态硬盘中,因此能够在保证数据正常应用的情况下,进一步减少写入消耗。
进一步地,本发明第一方面提供的固态硬盘刷新方法,还包括:
将计算得到的第一校验数据聚合,当聚合后的数据量超过一个数据页的大小时,将聚合后的数据编程到固态硬盘中,同时原始的冷读数据页仍然保持有效;
将计算得到的第二校验数据聚合,当聚合后的数据量超过一个数据页的大小时,将聚合后的数据编程到固态硬盘中,同时原始的热读数据页仍然保持有效。
进一步地,数据保留时间的计算式为:
其中,RBERinit是数据编程完成时的原始比特误码率,PE是当前擦写周期,自变量r表示对应的比特误码率,α、β和γ均为相关系数。
由于利用增强型纠错码计算校验数据时,会产生一定的计算消耗,本发明通过计算容错比特误码率TBER和可修正比特误码率CBER对应的数据保留时间之间的差值,仅在差值超过预设阈值时,才结合增强型纠错码进行刷新,由此能够在不引入过多的计算消耗的情况下最大程度地减少写入消耗。
进一步地,本发明第一方面提供的固态硬盘刷新方法,还包括:对于精确数据,读取时,使用固态硬盘的原始纠错码进行错误检查和修正。
进一步地,本发明第一方面提供的固态硬盘刷新方法,还包括:对于低近似数据,若RBER≤TBER,则读取时,不进行错误检查和修正;若TBER<RBER≤CBER,则读取时,使用固态硬盘的原始纠错码进行错误检查和修正。
进一步地,本发明第一方面提供的固态硬盘刷新方法,还包括:对于高近似数据,读取时,不进行错误检查和修正。
本发明根据数据的内在容错特性,对于低近似数据,仅在原始比特误码率超过容错比特误码率时,才进行错误检查和修正,对于高近似数据,不进行错误检查和修正,从而能够在不影响应用程序性能的情况下,尽量减少错误检查和修正带来的计算开销。
按照本发明的第二发面,提供了一种固态硬盘刷新装置,包括:数据分类模块、数据分配模块、刷新控制模块、传统刷新模块以及中近似数据刷新模块;
数据分类模块,用于获取数据的容错比特误码率TBER,若TBER=0,则将数据识别为精确数据;若TBER>0,则将数据识别为近似数据;在近似数据中,若0<TBER≤CBER,则将近似数据识别为低近似数据;若CBER<TBER≤RBERmax,则将近似数据识别为中近似数据;若TBER>RBERmax,则将近似数据识别为高近似数据;
数据分配模块,用于将固态硬盘中类型相同的近似数据进行聚类后,将属于相同聚类类别的近似数据分配到固态硬盘中相同的数据块中;
刷新控制模块,用于针对高近似数据,不进行刷新操作;针对精确数据或低近似数据,实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发传统刷新模块;针对中近似数据,若数据保留时间RT(TBER)与数据保留时间RT(CBER)之间的差值ΔRT≤threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发传统刷新模块;针对中近似数据,若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发中近似数据刷新模块;
传统刷新模块,用于采用传统刷新方法对固态硬盘进行刷新;
中近似数据刷新模块,用于结合数据热度和增强型纠错码对固态硬盘进行刷新;
其中,CBER为固态硬盘中原始纠错码的可修正比特误码率;RBERmax为最大比特误码率,表示数据保留时间达到制造商提供的保证保留时间时,数据的原始比特误码率;数据保留时间RT(TBER)表示数据的原始比特误码率达到容错比特误码率时,数据的保留时间;数据保留时间RT(CBER)表示数据的原始比特误码率达到固态硬盘中原始纠错码的可修正比特误码率时,数据的保留时间;threshold为预设的阈值;增强型纠错码的可修正比特误码率高于固态硬盘原始纠错码的可修正比特误码率。
按照本发明的第三方面,提供了一种固态硬盘,该固态硬盘包括本发明第一方面提供的固态硬盘刷新装置。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明在根据数据的容错比特误码率对数据进行分类,对于不同类型的数据执行不同的刷新操作:对于高近似数据不进行刷新,对于中近似数据延迟刷新,从而能够充分利用数据的内在容错性,有效减少刷新开销,使得对正常I/O请求的影响以及额外引入的写入消耗均相应减少,有效提高了固态硬盘的性能和使用寿命。
(2)本发明在结合增强型纠错码对固态硬盘进行刷新时,当原始比特误码率不超过容错比特误码率时,在使用原始纠错码对读取的数据进行错误检查和修正后,并不立即将数据编程入固态硬盘中,而是利用增强型纠错码计算新的校验数据并聚合,因此能够有效减少刷新过程中的写入消耗;进一步根据数据热度将读取的数据页划分为冷读数据页和热读数据页,当原始比特误码率超过容错比特误码率时,会结合增强型纠错码进行错误检查和纠错,并且在纠错之后,仅将热读数据页编程入固态硬盘中,能够在保证数据正常应用的情况下,进一步减少写入消耗。
(3)本发明根据数据的内在容错特性,对于低近似数据,仅在原始比特误码率超过容错比特误码率时,才进行错误检查和修正,对于高近似数据,不进行错误检查和修正,从而能够在不影响应用程序性能的情况下,尽量减少错误检查和修正带来的计算开销。
附图说明
图1为本发明实施例提供的固态硬盘刷新方法;
图2为本发明实施例提供的数据分类示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在详细解释本发明的技术方案之前,先对本发明中使用到的相关术语进行解释如下:
保留时间(RT,Retention Time):同一数据连续两次被更新的时间间隔;
比特误码率(BER,Bit Error Rate):在一个时间间隔内,在一个数据页中,错误比特数目与总的比特数目的比值;
原始比特误码率:指在利用纠错码进行错误检查和修正之前的比特误码率;数据的原始比特误码率随时间的流逝逐渐增加;
容错比特误码率:当数据经过纠错码的错误检查与纠正后,数据还可以容忍的比特误码率;数据容错比特误码率反映了数据的容错性强度;
可修正比特误码率:纠错码可以检测出的错误比特数量所占的比例,当数据的原始比特误码率等于该值则触发刷新操作;可修正比特误码率反映了纠错码的纠错能力强度;
最大比特误码率:数据保留时间达到制造商提供的保证保留时间(theguaranteed retention time provided by the manufactories)时的原始比特误码率。
为了减少固态硬盘的刷新开销,以提升固态硬盘的性能与寿命,本发明提供的固态硬盘刷新方法,如图1所示,包括:
数据分类:获取数据的容错比特误码率TBER,如图2所示,若TBER=0,则将数据识别为精确数据;若TBER>0,则将数据识别为近似数据;在近似数据中,若0<TBER≤CBER,则将近似数据识别为低近似数据;若CBER<TBER≤RBERmax,则将近似数据识别为中近似数据;若TBER>RBERmax,则将近似数据识别为高近似数据;数据可以由具有内在容错性的应用程序(即近似应用程序)或传统应用程序通过I/O请求传输到固态硬盘中;
数据分配:将固态硬盘中类型相同的近似数据进行聚类后,将属于相同聚类类别的近似数据分配到固态硬盘中相同的数据块中;在聚类的过程中,TBER近似的数据会被划分到同一个聚类类别中,从而在数据分配完成后,TBER近似的数据会被分配到固态硬盘中相同的数据块中;
根据数据类型执行刷新操作:针对高近似数据,不进行刷新操作;针对精确数据或低近似数据,实时获取数据的原始比特误码率RBER,并在RBER=CBER时,采用传统刷新方法对固态硬盘进行刷新;针对中近似数据,若数据保留时间RT(TBER)与数据保留时间RT(CBER)之间的差值ΔRT≤threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,采用传统刷新方法对固态硬盘进行刷新;针对中近似数据,若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,结合数据热度和增强型纠错码对固态硬盘进行刷新;
其中,CBER为固态硬盘中原始纠错码的可修正比特误码率;RBERmax为最大比特误码率,表示数据保留时间达到制造商提供的保证保留时间时,数据的原始比特误码率;数据保留时间RT(TBER)表示数据的原始比特误码率达到容错比特误码率时,数据的保留时间;数据保留时间RT(CBER)表示数据的原始比特误码率达到固态硬盘中原始纠错码的可修正比特误码率时,数据的保留时间;threshold为预设的阈值;增强型纠错码(stronger ECC)的可修正比特误码率高于固态硬盘原始纠错码的可修正比特误码率;
其中,RBERinit是数据编程完成时的原始比特误码率,PE是当前擦写周期,自变量r表示对应的比特误码率,α、β和γ均为相关系数;在计算RT(TBER)时,r=TBER,在计算RT(CBER)时,r=CBER;
由于利用增强型纠错码计算校验数据时,会产生一定的计算消耗,本发明通过计算数据保留时间RT(TBER)与数据保留时间RT(CBER)之间的差值,仅在差值超过预设阈值时,才结合增强型纠错码进行刷新,由此能够在不引入过多的计算消耗的情况下最大程度地减少写入消耗。
在传统的固态硬盘刷新方法中,对所有的数据采用统一的刷新方法,即周期性地选择闪存块,顺序选择有效数据页读入固态硬盘缓存并纠正数据页中出错的比特位,将其写入新的空闲页中,修改映射关系,同时将原始有效页置为失效页;
本实施例根据数据的容错比特误码率对数据进行分类,对于不同类型的数据执行不同的刷新操作,对于高近似数据不进行刷新,对于中近似数据延迟刷新,从而能够充分利用数据的内在容错性,有效减少刷新开销,使得对正常I/O请求的影响以及额外引入的写入消耗均相应减少,有效提高了固态硬盘的性能和使用寿命;
在本实施例中,若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,结合数据热度和增强型纠错码对固态硬盘进行刷新,包括:
(S1)根据所读取数据的热度,将所读取的数据页分为冷读数据页和热读数据页,若为冷读数据页,则转入步骤(S2);否则,转入步骤(S6);
(S2)若RBER=CBER,则转入步骤(S3);若CBER<RBER≤TBER,则转入步骤(S4);若TBER<RBER≤RBERmax,则转入步骤(S5);
(S3)将数据读取出来后,利用原始纠错码进行错误修正,并根据第一增强型纠错码计算第一校验数据,之后转入步骤(S10);
(S4)直接读取原始的冷读数据页,并且不进行错误检查和修正,之后转入步骤(S10);
(S5)同时读取原始的冷读数据页和相应的第一校验数据后,利用第一增强型校验码对冷读数据页进行错误检查和修正,之后转入步骤(S10);
针对冷读数据页,进行错误检查和修正后,无需进行第二阶段刷新;
(S6)若RBER=CBER,则转入步骤(S7);若CBER<RBER<TBER,则转入步骤(S8);若RBER≥TBER,则转入步骤(S9);
(S7)将数据读取出来后,利用原始纠错码进行错误修正,并根据第二增强型纠错码计算第二校验数据,之后转入步骤(S10);
(S8)直接读取原始的热读数据页,并且不进行错误检查和修正,之后转入步骤(S10);
(S9)同时读取原始的热读数据页和相应的第二校验数据后,利用第二增强型校验码对热读数据页进行错误检查和修正,并将错误修正之后的热读数据页重新编程到固态硬盘中,即进行第二阶段刷新,之后转入步骤(S10);
(S10)刷新操作结束;
其中,第一增强型纠错码的可修正比特误码率CBER1≥RBERmax,第二增强型纠错码的可修正比特误码率CBER2≥TBER;
作为一种可选的实施方式,可以采用BCH校验码模型,模型可以表示为:其中k表示码字中用户比特的数量,p表示校验位的数量,CBER(k,p)表示在用户比特为k个,校验比特为p个的情况下的可修正比特误码率;根据该校验码模型,可以计算出增强型校验码位数;应当说明的是,此处仅为示例性描述,不应理解为对本发明的唯一限定,在实际应用中,增强型纠错码可采用任意一种纠错码,只要可修正比特误码率满足上述要求即可;
本实施例在结合增强型纠错码对固态硬盘进行刷新时,当原始比特误码率等于原始纠错码的可修正比特误码率时,在使用原始纠错码对读取的数据进行错误检查和修正后,并不立即将数据编程入固态硬盘中,而是利用增强型纠错码计算新的校验数据并聚合,因此能够有效减少刷新过程中的写入消耗;进一步根据数据热度将读取的数据页划分为冷读数据页和热读数据页,当原始比特误码率超过容错比特误码率时,会结合增强型纠错码进行错误检查和纠错,并且在纠错之后,仅将热读数据页编程入固态硬盘中,因此能够在保证数据正常应用的情况下,进一步减少写入消耗。
上述固态硬盘刷新方法,在结合增强型纠错码进行固态硬盘刷新时,还可包括:
将计算得到的第一校验数据聚合,当聚合后的数据量超过一个数据页的大小时,将聚合后的数据编程到固态硬盘中,同时原始的冷读数据页仍然保持有效;
将计算得到的第二校验数据聚合,当聚合后的数据量超过一个数据页的大小时,将聚合后的数据编程到固态硬盘中,同时原始的热读数据页仍然保持有效。
本实施例提供的固态硬盘刷新方法,还可包括:对于精确数据,读取时,使用固态硬盘的原始纠错码进行错误检查和修正;
对于低近似数据,若RBER≤TBER,则读取时,不进行错误检查和修正;若TBER<RBER≤CBER,则读取时,使用固态硬盘的原始纠错码进行错误检查和修正;
对于高近似数据,读取时,不进行错误检查和修正;
本实施例根据数据的内在容错特性,对于低近似数据,仅在原始比特误码率超过容错比特误码率时,才进行错误检查和修正,对于高近似数据,不进行错误检查和修正,从而能够在不影响应用程序性能的情况下,尽量减少错误检查和修正带来的计算开销。
本发明还提供了一种固态硬盘刷新装置,包括:数据分类模块、数据分配模块、刷新控制模块、传统刷新模块以及中近似数据刷新模块;
数据分类模块,用于获取数据的容错比特误码率TBER,若TBER=0,则将数据识别为精确数据;若TBER>0,则将数据识别为近似数据;在近似数据中,若0<TBER≤CBER,则将近似数据识别为低近似数据;若CBER<TBER≤RBERmax,则将近似数据识别为中近似数据;若TBER>RBERmax,则将近似数据识别为高近似数据;
数据分配模块,用于将固态硬盘中类型相同的近似数据进行聚类后,将属于相同聚类类别的近似数据分配到固态硬盘中相同的数据块中;
刷新控制模块,用于针对高近似数据,不进行刷新操作;针对精确数据或低近似数据,实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发传统刷新模块;针对中近似数据,若数据保留时间RT(TBER)与数据保留时间RT(CBER)之间的差值ΔRT≤threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发传统刷新模块;针对中近似数据,若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发中近似数据刷新模块;
传统刷新模块,用于采用传统刷新方法对固态硬盘进行刷新;
中近似数据刷新模块,用于结合数据热度和增强型纠错码对固态硬盘进行刷新;
其中,CBER为固态硬盘中原始纠错码的可修正比特误码率;RBERmax为最大比特误码率,表示数据保留时间达到制造商提供的保证保留时间时,数据的原始比特误码率;数据保留时间RT(TBER)表示数据的原始比特误码率达到容错比特误码率时,数据的保留时间;数据保留时间RT(CBER)表示数据的原始比特误码率达到固态硬盘中原始纠错码的可修正比特误码率时,数据的保留时间;threshold为预设的阈值;增强型纠错码的可修正比特误码率高于固态硬盘原始纠错码的可修正比特误码率;
本实施例中,各模块的具体实施方式可参考上述方法实施例中的描述,在此将不作复述。
本发明还提供了一种固态硬盘,该固态硬盘包括上述固态硬盘刷新装置。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种固态硬盘刷新方法,其特征在于,包括:
数据分类:获取数据的容错比特误码率TBER,若TBER=0,则将数据识别为精确数据;若TBER>0,则将数据识别为近似数据;在近似数据中,若0<TBER≤CBER,则将近似数据识别为低近似数据;若CBER<TBER≤RBERmax,则将近似数据识别为中近似数据;若TBER>RBERmax,则将近似数据识别为高近似数据;
数据分配:将固态硬盘中类型相同的近似数据进行聚类后,将属于相同聚类类别的近似数据分配到固态硬盘中相同的数据块中;
根据数据类型执行刷新操作:针对高近似数据,不进行刷新操作;针对精确数据或低近似数据,实时获取数据的原始比特误码率RBER,并在RBER=CBER时,采用传统刷新方法对固态硬盘进行刷新;针对中近似数据,若数据保留时间RT(TBER)与数据保留时间RT(CBER)之间的差值ΔRT≤threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,采用传统刷新方法对固态硬盘进行刷新;针对中近似数据,若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,结合数据热度和增强型纠错码对固态硬盘进行刷新;
其中,CBER为固态硬盘中原始纠错码的可修正比特误码率;RBERmax为最大比特误码率,表示数据保留时间达到制造商提供的保证保留时间时,数据的原始比特误码率;数据保留时间RT(TBER)表示数据的原始比特误码率达到容错比特误码率时,数据的保留时间;数据保留时间RT(CBER)表示数据的原始比特误码率达到固态硬盘中原始纠错码的可修正比特误码率时,数据的保留时间;threshold为预设的阈值;增强型纠错码的可修正比特误码率高于固态硬盘原始纠错码的可修正比特误码率;
若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,结合数据热度和增强型纠错码对固态硬盘进行刷新,包括:
(S1)根据所读取数据的热度,将所读取的数据页分为冷读数据页和热读数据页,若为冷读数据页,则转入步骤(S2);否则,转入步骤(S6);
(S2)若RBER=CBER,则转入步骤(S3);若CBER<RBER≤TBER,则转入步骤(S4);若TBER<RBER≤RBERmax,则转入步骤(S5);
(S3)将数据读取出来后,利用原始纠错码进行错误修正,并根据第一增强型纠错码计算第一校验数据,之后转入步骤(S10);
(S4)直接读取原始的冷读数据页,并且不进行错误检查和修正,之后转入步骤(S10);
(S5)同时读取原始的冷读数据页和相应的第一校验数据后,利用第一增强型校验码对冷读数据页进行错误检查和修正,之后转入步骤(S10);
(S6)若RBER=CBER,则转入步骤(S7);若CBER<RBER<TBER,则转入步骤(S8);若RBER≥TBER,则转入步骤(S9);
(S7)将数据读取出来后,利用原始纠错码进行错误修正,并根据第二增强型纠错码计算第二校验数据,之后转入步骤(S10);
(S8)直接读取原始的热读数据页,并且不进行错误检查和修正,之后转入步骤(S10);
(S9)同时读取原始的热读数据页和相应的第二校验数据后,利用第二增强型校验码对热读数据页进行错误检查和修正,并将错误修正之后的热读数据页重新编程到固态硬盘中,之后转入步骤(S10);
(S10)刷新操作结束;
其中,第一增强型纠错码的可修正比特误码率CBER1≥RBERmax,第二增强型纠错码的可修正比特误码率CBER2≥TBER。
2.如权利要求1所述的固态硬盘刷新方法,其特征在于,还包括:
将计算得到的第一校验数据聚合,当聚合后的数据量超过一个数据页的大小时,将聚合后的数据编程到固态硬盘中,同时原始的冷读数据页仍然保持有效;
将计算得到的第二校验数据聚合,当聚合后的数据量超过一个数据页的大小时,将聚合后的数据编程到固态硬盘中,同时原始的热读数据页仍然保持有效。
4.如权利要求1所述的固态硬盘刷新方法,其特征在于,还包括:对于精确数据,读取时,使用固态硬盘的原始纠错码进行错误检查和修正。
5.如权利要求1所述的固态硬盘刷新方法,其特征在于,还包括:对于低近似数据,若RBER≤TBER,则读取时,不进行错误检查和修正;若TBER<RBER≤CBER,则读取时,使用固态硬盘的原始纠错码进行错误检查和修正。
6.如权利要求1所述的固态硬盘刷新方法,其特征在于,还包括:对于高近似数据,读取时,不进行错误检查和修正。
7.一种固态硬盘刷新装置,其特征在于,包括:数据分类模块、数据分配模块、刷新控制模块、传统刷新模块以及中近似数据刷新模块;
所述数据分类模块,用于获取数据的容错比特误码率TBER,若TBER=0,则将数据识别为精确数据;若TBER>0,则将数据识别为近似数据;在近似数据中,若0<TBER≤CBER,则将近似数据识别为低近似数据;若CBER<TBER≤RBERmax,则将近似数据识别为中近似数据;若TBER>RBERmax,则将近似数据识别为高近似数据;
所述数据分配模块,用于将固态硬盘中类型相同的近似数据进行聚类后,将属于相同聚类类别的近似数据分配到固态硬盘中相同的数据块中;
所述刷新控制模块,用于针对高近似数据,不进行刷新操作;针对精确数据或低近似数据,实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发所述传统刷新模块;针对中近似数据,若数据保留时间RT(TBER)与数据保留时间RT(CBER)之间的差值ΔRT≤threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发所述传统刷新模块;针对中近似数据,若ΔRT>threshold,则实时获取数据的原始比特误码率RBER,并在RBER=CBER时,触发所述中近似数据刷新模块;
所述传统刷新模块,用于采用传统刷新方法对固态硬盘进行刷新;
所述中近似数据刷新模块,用于结合数据热度和增强型纠错码对固态硬盘进行刷新;
其中,CBER为固态硬盘中原始纠错码的可修正比特误码率;RBERmax为最大比特误码率,表示数据保留时间达到制造商提供的保证保留时间时,数据的原始比特误码率;数据保留时间RT(TBER)表示数据的原始比特误码率达到容错比特误码率时,数据的保留时间;数据保留时间RT(CBER)表示数据的原始比特误码率达到固态硬盘中原始纠错码的可修正比特误码率时,数据的保留时间;threshold为预设的阈值;增强型纠错码的可修正比特误码率高于固态硬盘原始纠错码的可修正比特误码率;
所述中近似数据刷新模块结合数据热度和增强型纠错码对固态硬盘进行刷新,包括:
(S1)根据所读取数据的热度,将所读取的数据页分为冷读数据页和热读数据页,若为冷读数据页,则转入步骤(S2);否则,转入步骤(S6);
(S2)若RBER=CBER,则转入步骤(S3);若CBER<RBER≤TBER,则转入步骤(S4);若TBER<RBER≤RBERmax,则转入步骤(S5);
(S3)将数据读取出来后,利用原始纠错码进行错误修正,并根据第一增强型纠错码计算第一校验数据,之后转入步骤(S10);
(S4)直接读取原始的冷读数据页,并且不进行错误检查和修正,之后转入步骤(S10);
(S5)同时读取原始的冷读数据页和相应的第一校验数据后,利用第一增强型校验码对冷读数据页进行错误检查和修正,之后转入步骤(S10);
(S6)若RBER=CBER,则转入步骤(S7);若CBER<RBER<TBER,则转入步骤(S8);若RBER≥TBER,则转入步骤(S9);
(S7)将数据读取出来后,利用原始纠错码进行错误修正,并根据第二增强型纠错码计算第二校验数据,之后转入步骤(S10);
(S8)直接读取原始的热读数据页,并且不进行错误检查和修正,之后转入步骤(S10);
(S9)同时读取原始的热读数据页和相应的第二校验数据后,利用第二增强型校验码对热读数据页进行错误检查和修正,并将错误修正之后的热读数据页重新编程到固态硬盘中,之后转入步骤(S10);
(S10)刷新操作结束;
其中,第一增强型纠错码的可修正比特误码率CBER1≥RBERmax,第二增强型纠错码的可修正比特误码率CBER2≥TBER。
8.一种固态硬盘,其特征在于,包括权利要求7所述的固态硬盘刷新装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911365120.0A CN111142797B (zh) | 2019-12-26 | 2019-12-26 | 一种固态硬盘刷新方法、装置及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911365120.0A CN111142797B (zh) | 2019-12-26 | 2019-12-26 | 一种固态硬盘刷新方法、装置及固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142797A CN111142797A (zh) | 2020-05-12 |
CN111142797B true CN111142797B (zh) | 2021-02-09 |
Family
ID=70520383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911365120.0A Active CN111142797B (zh) | 2019-12-26 | 2019-12-26 | 一种固态硬盘刷新方法、装置及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142797B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116992504A (zh) * | 2023-09-26 | 2023-11-03 | 合肥联宝信息技术有限公司 | 一种固态硬盘的数据保护方法、电子设备及存储介质 |
CN117762350B (zh) * | 2024-01-18 | 2024-08-13 | 四川和恩泰半导体有限公司 | 一种固态硬盘数据读取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017152392A1 (zh) * | 2016-03-09 | 2017-09-14 | 华为技术有限公司 | 一种闪存设备的刷新方法和装置 |
CN107748722A (zh) * | 2017-09-30 | 2018-03-02 | 华中科技大学 | 一种保证固态硬盘中数据持续性的自适应数据刷新方法 |
CN109947589A (zh) * | 2019-03-05 | 2019-06-28 | 深圳市得一微电子有限责任公司 | 一种闪存中近似数据存储方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260267B (zh) * | 2015-09-28 | 2019-05-17 | 北京联想核芯科技有限公司 | 一种数据刷新方法及固态硬盘 |
US10839886B2 (en) * | 2018-06-11 | 2020-11-17 | Western Digital Technologies, Inc. | Method and apparatus for adaptive data retention management in non-volatile memory |
-
2019
- 2019-12-26 CN CN201911365120.0A patent/CN111142797B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017152392A1 (zh) * | 2016-03-09 | 2017-09-14 | 华为技术有限公司 | 一种闪存设备的刷新方法和装置 |
CN107748722A (zh) * | 2017-09-30 | 2018-03-02 | 华中科技大学 | 一种保证固态硬盘中数据持续性的自适应数据刷新方法 |
CN109947589A (zh) * | 2019-03-05 | 2019-06-28 | 深圳市得一微电子有限责任公司 | 一种闪存中近似数据存储方法 |
Non-Patent Citations (1)
Title |
---|
Improvement of the tolerated raw bit error rate in NAND flash-based SSDs with the help of embedded statistics;Valentin Gherman, Emna Farjallah,;《2017 IEEE International Test Conference (ITC)》;20171102;第1-9页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111142797A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200159616A1 (en) | Estimating an error rate associated with memory | |
US10498367B2 (en) | Progressive effort decoder architecture | |
KR102460513B1 (ko) | 통합 패키지 후 복구 | |
US10002043B2 (en) | Memory devices and modules | |
TWI455136B (zh) | 用來進行資料整形之方法以及相關之記憶裝置及其控制器 | |
TWI447733B (zh) | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 | |
US20200133767A1 (en) | Data storage device and adaptive data-reading method thereof | |
US10725695B2 (en) | Memory system and operating method thereof | |
US20070268905A1 (en) | Non-volatile memory error correction system and method | |
CN106415502B (zh) | 数据存储的方法和装置 | |
US8839072B2 (en) | Access control apparatus, storage apparatus, and method | |
WO2018192488A1 (zh) | 一种nand闪存设备的数据处理方法及装置 | |
US20120079346A1 (en) | Simulated error causing apparatus | |
US11200114B2 (en) | System and method for facilitating elastic error correction code in memory | |
CN111142797B (zh) | 一种固态硬盘刷新方法、装置及固态硬盘 | |
US8588003B1 (en) | System, method and computer program product for programming and for recovering from a power failure | |
TW201921281A (zh) | 具備資料可靠性機制的儲存系統及其操作方法 | |
KR20110128436A (ko) | 비휘발성 메모리 장치의 리드 레벨 추정 방법 및 이를 수행하는 메모리 컨트롤러, 및 기록매체 | |
Zhao et al. | CeSR: A Cell State Remapping Strategy to Reduce Raw Bit Error Rate of MLC NAND Flash. | |
US12118222B2 (en) | Controlling memory overhead for storing integrity data in solid state drives | |
US11966277B2 (en) | Storage error identification/reduction system | |
US11176988B2 (en) | Control method for memory and non-transitory computer-readable media | |
US9846612B2 (en) | Systems and methods of memory bit flip identification for debugging and power management | |
US11086546B1 (en) | Preserve write for solid-state drives | |
US9348744B2 (en) | Implementing enhanced reliability of systems utilizing dual port DRAM |
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 |