CN113625947A - 一种数据纠错方法、装置、设备及计算机可读存储介质 - Google Patents
一种数据纠错方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113625947A CN113625947A CN202110720420.7A CN202110720420A CN113625947A CN 113625947 A CN113625947 A CN 113625947A CN 202110720420 A CN202110720420 A CN 202110720420A CN 113625947 A CN113625947 A CN 113625947A
- Authority
- CN
- China
- Prior art keywords
- error correction
- data
- offset voltage
- voltage parameter
- data block
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000007787 solid Substances 0.000 claims abstract description 43
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000011084 recovery Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
- G06F3/064—Management of blocks
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种数据纠错方法,该方法包括以下步骤:当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作;判断是否读取成功;若是,则停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块。应用本发明所提供的数据纠错方法,降低了对电容时间的消耗,提高了数据纠错的成功率,较大地降低了对硬盘寿命的影响。本发明还公开了一种数据纠错装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种数据纠错方法、装置、设备及计算机可读存储介质。
背景技术
按照固态硬盘(Solid State Drives,SSD)中计算机闪存设备(NAND)电气特性,数据块(block)在写过一个页面(page)后,即进入打开(open)状态,在所有页面写完后进入关闭(close)状态。对于关闭状态的数据块,长时间离线放置时数据中Bit位发生错误的几率(Bit Error Rate,BER)增加不明显,读数据时可以通过错误恢复流程(Error RecoveryFlow,ERF)纠回。对于打开状态的数据块,长时间离线放置的话,由于电荷泄漏等原因,最后写入的4个页面数据中Bit位发生错误的几率会比较高,尤其在固态硬盘生命后期比较明显。
正常运行中,数据块会在关闭之后,才会执行下一个数据块的写。不过在遇到下电时,数据块是大概率写不满的,即打开状态,下电长时间离线放置或存储后再上电。读取下电前最后写入的用户数据时,会遇到Bit位发生错误的几率比较高的情况,此时需要纠错。
现有的数据纠错方法主要是对于处于打开状态的数据块,在写入第一个页面开始计时,如果在规定时间内(比如60分钟)没有关闭,即用户数据没有写满数据块,则用空数据(dummy)填写四个页面。再遇到下电时,在刷写完用户数据后,不等延时时间,直接用空数据填写四个页面。即让Bit位发生错误的几率比较高的页面落在空数据页面上,即保护了空数据页面之前的用户数据页面。但该方案有两个缺点:首先,在异常下电时,填写四个空数据页面会耗用电容时间,有导致异常下电完不成的风险,或者有可能填不完四个空数据页面,导致数据仍然无法恢复,数据纠错的成功率低。其次,空数据是非用户数据,会提高固态硬盘的写放大,影响盘的寿命(program and erase count,PE)。
综上所述,如何有效地解决现有的数据纠错方法耗用电容时间,数据纠错的成功率低,影响硬盘寿命等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种数据纠错方法,该方法降低了对电容时间的消耗,提高了数据纠错的成功率,较大地降低了对硬盘寿命的影响;本发明的另一目的是提供一种数据纠错装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种数据纠错方法,包括:
当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;
遍历所述偏移电压参数组对上次下电前的未写满数据块进行读取操作;
判断是否读取成功;
若是,则停止遍历,并将读取到的数据集确定为对所述未写满数据块纠错完成的目标数据块。
在本发明的一种具体实施方式中,在检测到固态硬盘上电启动之后,调取预训练得到的偏移电压参数组之前,还包括:
利用预置错误恢复流程对所述未写满数据块进行纠错;
判断是否纠错成功;
若是,则将纠错得到的数据集确定为所述目标数据块;
若否,则执行所述调取预训练得到的偏移电压参数组的步骤。
在本发明的一种具体实施方式中,还包括:
当对所述偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
在本发明的一种具体实施方式中,调取预训练得到的偏移电压参数组,包括:
获取所述固态硬盘的当前寿命信息;
确定所述当前寿命信息对应的目标预置寿命范围;
从预训练得到的偏移电压参数组集合中调取所述目标预置寿命范围对应的偏移电压参数组;其中,所述偏移电压参数组集合中存储有各预置寿命范围与各偏移电压参数组之间的对应关系。
一种数据纠错装置,包括:
参数组调取模块,用于当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;
数据块读取模块,用于遍历所述偏移电压参数组对上次下电前的未写满数据块进行读取操作;
第一判断模块,用于判断是否读取成功;
第一数据块确定模块,用于当确定读取成功时,停止遍历,并将读取到的数据集确定为对所述未写满数据块纠错完成的目标数据块。
在本发明的一种具体实施方式中,还包括:
数据块纠错模块,用于在检测到固态硬盘上电启动之后,调取预训练得到的偏移电压参数组之前,利用预置错误恢复流程对所述未写满数据块进行纠错;
第二判断模块,用于判断是否纠错成功;
第二数据块确定模块,用于当纠错成功时,将纠错得到的数据集确定为所述目标数据块;
所述参数组调取模块具体为当纠错失败时,调取预训练得到的偏移电压参数组的模块。
在本发明的一种具体实施方式中,还包括:
报错模块,用于当对所述偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
在本发明的一种具体实施方式中,所述参数组调取模块包括:
寿命信息获取子模块,用于获取所述固态硬盘的当前寿命信息;
寿命范围确定子模块,用于确定所述当前寿命信息对应的目标预置寿命范围;
参数组调取子模块,用于从预训练得到的偏移电压参数组集合中调取所述目标预置寿命范围对应的偏移电压参数组;其中,所述偏移电压参数组集合中存储有各预置寿命范围与各偏移电压参数组之间的对应关系。
一种数据纠错设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述数据纠错方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述数据纠错方法的步骤。
本发明所提供的数据纠错方法,当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作;判断是否读取成功;若是,则停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块。
由上述技术方案可知,通过预先训练分析固态硬盘打开状态数据块的特性,如可以预先选用在不同已写页数下的各数据块进行训练,即得到长时间打开后,数据块内部数据电压偏移情况,从而得到由各最优电压构成的偏移电压参数组。当固态硬盘上电启动,需要对长时间离线存储的未写满数据块进行纠错时,直接通过遍历偏移电压参数组对未写满数据块进行读取,实现对未写满数据块的纠错。不需要填写空数据,降低了对电容时间的消耗,提高了数据纠错的成功率,较大地降低了对硬盘寿命的影响。
相应的,本发明还提供了与上述数据纠错方法相对应的数据纠错装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中数据纠错方法的一种实施流程图;
图2为本发明实施例中数据纠错方法的另一种实施流程图;
图3为本发明实施例中一种数据纠错装置的结构框图;
图4为本发明实施例中一种数据纠错设备的结构框图;
图5为本实施例提供的一种数据纠错设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例中数据纠错方法的一种实施流程图,该方法包括以下步骤:
S101:当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组。
预先训练得到对上次下电前的未写满数据块进行纠错的最优偏移电压参数组,使得该偏移电压参数组不管未写满数据块在上次下电前被写页数如何,都能对未写满数据块进行成功纠错。当存在长时间离线放置的上次下电前的未写满数据块的情况下,当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组。
S102:遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作。
偏移电压参数组中包含多个偏移电压参数,在调取到预训练得到的偏移电压参数组之后,遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作。
S103:判断是否读取成功,若是,则执行步骤S104,若否,则执行步骤S105。
在遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作之后,判断是否读取成功,如可以预先记录上次下电前未写满数据的数据块大小,通过将当前读取到的数据块大小与原记录大小进行对比的方式确定是否读取成功,若是,则说明已经遍历到能够对未写满数据块纠错成功的偏移电压参数组,执行步骤S104,若否,则说明未遍历到能够对未写满数据块纠错成功的偏移电压参数组,执行步骤S105。
S104:停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块。
当确定读取成功时,说明已经遍历到能够对未写满数据块纠错成功的偏移电压参数组,不需要对偏移电压参数组中的偏移电压参数进行继续遍历,停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块,从而对上次下电前的未写满数据块纠错完成。通过遍历偏移电压参数组对未写满数据块进行读取,实现对未写满数据块的纠错。不需要填写空数据,降低了对电容时间的消耗,提高了数据纠错的成功率,提高了数据的可靠性,较大地降低了对硬盘寿命的影响。
S105:当对偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
当确定未读取成功时,说明未遍历到能够对未写满数据块纠错成功的偏移电压参数组,对偏移电压参数组遍历完成且读取失败,进行数据报错操作,从而指示运维人员及时了解固态硬盘上电后其存储的未写满数据块的数据情况。
由上述技术方案可知,通过预先训练分析固态硬盘打开状态数据块的特性,如可以预先选用在不同已写页数下的各数据块进行训练,即得到长时间打开后,数据块内部数据电压偏移情况,从而得到由各最优电压构成的偏移电压参数组。当固态硬盘上电启动,需要对长时间离线存储的未写满数据块进行纠错时,直接通过遍历偏移电压参数组对未写满数据块进行读取,实现对未写满数据块的纠错。不需要填写空数据,降低了对电容时间的消耗,提高了数据纠错的成功率,较大地降低了对硬盘寿命的影响。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图2,图2为本发明实施例中数据纠错方法的另一种实施流程图,该方法可以包括以下步骤:
S201:当检测到固态硬盘上电启动时,利用预置错误恢复流程对未写满数据块进行纠错。
预先设置固态硬盘上电启动时对上次下电前未写满数据块的错误恢复流程。当检测到固态硬盘上电启动时,利用预置错误恢复流程对未写满数据块进行纠错。
S202:判断是否纠错成功,若是,则执行步骤S203,若否,则执行步骤S204。
通过利用预置错误恢复流程对未写满数据块进行纠错,判断是否纠错成功,若是,则说明通过预置错误恢复流程已对上次下电前未写满数据块纠正成功,不需要进行进一步地偏移电压参数组遍历过程,执行步骤S203,若否,则说明通过预置错误恢复流程对上次下电前未写满数据块纠正失败,需要进行进一步地偏移电压参数组遍历过程,执行步骤S204。
通过首先预设置错误恢复流程对上次下电前未写满数据块进行纠错,若能够通过预置错误恢复流程对上次下电前未写满数据块纠正成功,提高了据纠错效率。
S203:将纠错得到的数据集确定为对未写满数据块纠错完成的目标数据块。
当确定通过预置错误恢复流程已对上次下电前未写满数据块纠正成功时,不需要进行进一步地偏移电压参数组遍历过程,直接将纠错得到的数据集确定为对未写满数据块纠错完成的目标数据块,从而完成数据纠错流程。
S204:获取固态硬盘的当前寿命信息。
当确定通过预置错误恢复流程对上次下电前未写满数据块纠正失败时,需要进行进一步地偏移电压参数组遍历过程。获取固态硬盘的当前寿命信息,如可以通过已擦写次数和还可以擦写的次数计算固态硬盘的当前寿命信息。
S205:确定当前寿命信息对应的目标预置寿命范围。
在进行偏移电压参数组训练时,以固态硬盘寿命对偏移电压参数组进行区分训练,训练得到的各偏移电压参数组与各寿命信息之间存在对应关系。在获取到固态硬盘的当前寿命信息之后,确定当前寿命信息对应的目标预置寿命范围。
S206:从预训练得到的偏移电压参数组集合中调取目标预置寿命范围对应的偏移电压参数组。
其中,偏移电压参数组集合中存储有各预置寿命范围与各偏移电压参数组之间的对应关系。
由于偏移电压参数组集合(如固件代码数据组)中存储有各预置寿命范围与各偏移电压参数组之间的对应关系,因此在确定当前寿命信息对应的目标预置寿命范围之后,从预训练得到的偏移电压参数组集合中调取目标预置寿命范围对应的偏移电压参数组。通过按照固态硬盘寿命范围进行相应的偏移电压参数组训练划分,进一步提高了数据纠错的成功率。通过重试retry方式去纠错,提升数据纠错成功的概率。
偏移电压参数组的训练过程可以包括:进行计算机闪存设备特性分析,针对不同预置寿命范围下打开状态数据块进行特性分析,拿多个数据块进行取样。将多个数据块分别写一个页面,写数据块总页数的三分之一,写数据块总页数的三分之二,然后长时间离线存储。离线存储后,上电后尝试不同的偏移电压去读取数据,直到读取成功,如可以预先设置判为读取成功的Bit位发生错误的几率阈值,当读取到的数据Bit位发生错误低于阈值时,确定为读取成功,记录该偏移电压。依次类推,找出一组最优的偏移电压,即各种打开状态数据块均可以读取成功。
S207:遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作。
S208:判断是否读取成功,若是,则执行步骤S209,若否,则执行步骤S210。
S209:停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块。
S210:当对偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
本实施例区别于独立权利要求1所要求保护的技术方案对应的实施例一,还增加了从属权利要求2至4对应要求保护的技术方案,当然,根据实际情况和要求的不同,可将各从属权利要求对应要求保护的技术方案在不影响方案完整性的基础上进行灵活组合,以更加符合不同使用场景的要求,本实施例只是给出了其中一种包含方案最多、效果最优的方案,因为情况复杂,无法对所有可能存在的方案一一列举,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
相应于上面的方法实施例,本发明还提供了一种数据纠错装置,下文描述的数据纠错装置与上文描述的数据纠错装置方法可相互对应参照。
参见图3,图3为本发明实施例中一种数据纠错装置的结构框图,该装置可以包括:
参数组调取模块31,用于当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;
数据块读取模块32,用于遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作;
第一判断模块33,用于判断是否读取成功;
第一数据块确定模块34,用于当确定读取成功时,停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块。
由上述技术方案可知,通过预先训练分析固态硬盘打开状态数据块的特性,如可以预先选用在不同已写页数下的各数据块进行训练,即得到长时间打开后,数据块内部数据电压偏移情况,从而得到由各最优电压构成的偏移电压参数组。当固态硬盘上电启动,需要对长时间离线存储的未写满数据块进行纠错时,直接通过遍历偏移电压参数组对未写满数据块进行读取,实现对未写满数据块的纠错。不需要填写空数据,降低了对电容时间的消耗,提高了数据纠错的成功率,较大地降低了对硬盘寿命的影响。
在本发明的一种具体实施方式中,该装置还可以包括:
数据块纠错模块,用于在检测到固态硬盘上电启动之后,调取预训练得到的偏移电压参数组之前,利用预置错误恢复流程对未写满数据块进行纠错;
第二判断模块,用于判断是否纠错成功;
第二数据块确定模块,用于当纠错成功时,将纠错得到的数据集确定为目标数据块;
参数组调取模块31具体为当纠错失败时,调取预训练得到的偏移电压参数组的模块。
在本发明的一种具体实施方式中,该装置还可以包括:
报错模块,用于当对偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
在本发明的一种具体实施方式中,参数组调取模块31包括:
寿命信息获取子模块,用于获取固态硬盘的当前寿命信息;
寿命范围确定子模块,用于确定当前寿命信息对应的目标预置寿命范围;
参数组调取子模块,用于从预训练得到的偏移电压参数组集合中调取目标预置寿命范围对应的偏移电压参数组;其中,偏移电压参数组集合中存储有各预置寿命范围与各偏移电压参数组之间的对应关系。
相应于上面的方法实施例,参见图4,图4为本发明所提供的数据纠错设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的数据纠错方法的步骤。
具体的,请参考图5,图5为本实施例提供的一种数据纠错设备的具体结构示意图,该数据纠错设备可因配置或性能不同而产生比较大的差异,可以包括处理器(centralprocessing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在数据纠错设备301上执行存储器332中的一系列指令操作。
数据纠错设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作***341。
上文所描述的数据纠错方法中的步骤可以由数据纠错设备的结构实现。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;遍历偏移电压参数组对上次下电前的未写满数据块进行读取操作;判断是否读取成功;若是,则停止遍历,并将读取到的数据集确定为对未写满数据块纠错完成的目标数据块。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种数据纠错方法,其特征在于,包括:
当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;
遍历所述偏移电压参数组对上次下电前的未写满数据块进行读取操作;
判断是否读取成功;
若是,则停止遍历,并将读取到的数据集确定为对所述未写满数据块纠错完成的目标数据块。
2.根据权利要求1所述的数据纠错方法,其特征在于,在检测到固态硬盘上电启动之后,调取预训练得到的偏移电压参数组之前,还包括:
利用预置错误恢复流程对所述未写满数据块进行纠错;
判断是否纠错成功;
若是,则将纠错得到的数据集确定为所述目标数据块;
若否,则执行所述调取预训练得到的偏移电压参数组的步骤。
3.根据权利要求1所述的数据纠错方法,其特征在于,还包括:
当对所述偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
4.根据权利要求1至3任一项所述的数据纠错方法,其特征在于,调取预训练得到的偏移电压参数组,包括:
获取所述固态硬盘的当前寿命信息;
确定所述当前寿命信息对应的目标预置寿命范围;
从预训练得到的偏移电压参数组集合中调取所述目标预置寿命范围对应的偏移电压参数组;其中,所述偏移电压参数组集合中存储有各预置寿命范围与各偏移电压参数组之间的对应关系。
5.一种数据纠错装置,其特征在于,包括:
参数组调取模块,用于当检测到固态硬盘上电启动时,调取预训练得到的偏移电压参数组;
数据块读取模块,用于遍历所述偏移电压参数组对上次下电前的未写满数据块进行读取操作;
第一判断模块,用于判断是否读取成功;
第一数据块确定模块,用于当确定读取成功时,停止遍历,并将读取到的数据集确定为对所述未写满数据块纠错完成的目标数据块。
6.根据权利要求5所述的数据纠错装置,其特征在于,还包括:
数据块纠错模块,用于在检测到固态硬盘上电启动之后,调取预训练得到的偏移电压参数组之前,利用预置错误恢复流程对所述未写满数据块进行纠错;
第二判断模块,用于判断是否纠错成功;
第二数据块确定模块,用于当纠错成功时,将纠错得到的数据集确定为所述目标数据块;
所述参数组调取模块具体为当纠错失败时,调取预训练得到的偏移电压参数组的模块。
7.根据权利要求5所述的数据纠错装置,其特征在于,还包括:
报错模块,用于当对所述偏移电压参数组遍历完成且读取失败时,进行数据报错操作。
8.根据权利要求5至7任一项所述的数据纠错装置,其特征在于,所述参数组调取模块包括:
寿命信息获取子模块,用于获取所述固态硬盘的当前寿命信息;
寿命范围确定子模块,用于确定所述当前寿命信息对应的目标预置寿命范围;
参数组调取子模块,用于从预训练得到的偏移电压参数组集合中调取所述目标预置寿命范围对应的偏移电压参数组;其中,所述偏移电压参数组集合中存储有各预置寿命范围与各偏移电压参数组之间的对应关系。
9.一种数据纠错设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述数据纠错方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述数据纠错方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110720420.7A CN113625947B (zh) | 2021-06-28 | 2021-06-28 | 一种数据纠错方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110720420.7A CN113625947B (zh) | 2021-06-28 | 2021-06-28 | 一种数据纠错方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113625947A true CN113625947A (zh) | 2021-11-09 |
CN113625947B CN113625947B (zh) | 2023-08-25 |
Family
ID=78378564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110720420.7A Active CN113625947B (zh) | 2021-06-28 | 2021-06-28 | 一种数据纠错方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113625947B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114047887A (zh) * | 2022-01-13 | 2022-02-15 | 苏州浪潮智能科技有限公司 | 一种提高数据读取的成功率的方法、装置及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189337A (zh) * | 2018-08-21 | 2019-01-11 | 浪潮电子信息产业股份有限公司 | 一种选择数据块的方法、装置、设备及可读存储介质 |
CN109992446A (zh) * | 2019-04-12 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种固态硬盘纠错方法及相关装置 |
CN111880736A (zh) * | 2020-07-28 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种固态硬盘访问方法、装置、设备及介质 |
CN112466378A (zh) * | 2020-11-12 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种固态硬盘运行纠错方法、装置及相关组件 |
-
2021
- 2021-06-28 CN CN202110720420.7A patent/CN113625947B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189337A (zh) * | 2018-08-21 | 2019-01-11 | 浪潮电子信息产业股份有限公司 | 一种选择数据块的方法、装置、设备及可读存储介质 |
CN109992446A (zh) * | 2019-04-12 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种固态硬盘纠错方法及相关装置 |
CN111880736A (zh) * | 2020-07-28 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种固态硬盘访问方法、装置、设备及介质 |
CN112466378A (zh) * | 2020-11-12 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种固态硬盘运行纠错方法、装置及相关组件 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114047887A (zh) * | 2022-01-13 | 2022-02-15 | 苏州浪潮智能科技有限公司 | 一种提高数据读取的成功率的方法、装置及介质 |
WO2023134132A1 (zh) * | 2022-01-13 | 2023-07-20 | 苏州浪潮智能科技有限公司 | 一种提高数据读取的成功率的方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113625947B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106910528B (zh) | 一种固态硬盘数据巡检的优化方法及装置 | |
US20190034290A1 (en) | Method and System for Improving Open Block Data Reliability | |
CN104282342A (zh) | 闪存装置、存储器控制器及闪存的控制方法 | |
CN109614052B (zh) | 一种数据巡检方法、装置和计算机可读存储介质 | |
CN113223583B (zh) | NAND Flash坏块内数据重读的方法、电子设备及存储介质 | |
CN108717385A (zh) | 一种用于闪存的数据恢复方法及*** | |
KR100643288B1 (ko) | 플래시 메모리의 데이터 처리 장치 및 방법 | |
CN107992268B (zh) | 一种坏块标记的方法及相关装置 | |
CN113625947A (zh) | 一种数据纠错方法、装置、设备及计算机可读存储介质 | |
CN112732181B (zh) | 一种ssd的数据迁移方法及相关装置 | |
CN108564981B (zh) | 一种存储装置数据安全动态监控方法 | |
CN110704257A (zh) | 固态硬盘及其质量监测方法、装置和计算机可读存储介质 | |
CN114187955A (zh) | 存储器阵列的测试方法、装置、设备及存储介质 | |
CN116880781B (zh) | 一种存储设备及其控制方法 | |
CN115509466B (zh) | 一种数据管理方法、装置及电子设备和存储介质 | |
CN116467225A (zh) | 闪存的坏块管理方法、存储介质、电子装置和固态硬盘 | |
US20120072795A1 (en) | Semiconductor memory device and controlling method | |
CN112732179A (zh) | 一种ssd的数据管理方法即相关装置 | |
CN112540882A (zh) | 闪存设备检测***及闪存设备检测方法 | |
US10475522B2 (en) | Memory system including a delegate page and method of identifying a status of a memory system | |
CN116521432B (zh) | 一种提高闪存可靠性的方法、控制器和计算机存储介质 | |
CN112527199B (zh) | 一种提高闪存介质寿命的方法、装置和电子设备 | |
CN114974387B (zh) | 基于固态硬盘主控芯片的闪存测试方法、装置及固态硬盘 | |
CN112711378B (zh) | 数据储存方法及读写设备 | |
US8108740B2 (en) | Method for operating a memory device |
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 |