CN115080305A - 一种基于重复读取的数据恢复方法、***及电子设备 - Google Patents
一种基于重复读取的数据恢复方法、***及电子设备 Download PDFInfo
- Publication number
- CN115080305A CN115080305A CN202210396842.8A CN202210396842A CN115080305A CN 115080305 A CN115080305 A CN 115080305A CN 202210396842 A CN202210396842 A CN 202210396842A CN 115080305 A CN115080305 A CN 115080305A
- Authority
- CN
- China
- Prior art keywords
- data
- reading
- read
- repeated
- soft
- 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
Links
Images
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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
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
本申请实施例提供一种基于重复读取的数据恢复方法、***及电子设备,能够有效率用原始读数据进行数据恢复,减少读数据延时,提高服务质量。所述方法包括:对待恢复数据进行常规读取,对常规读取结果进行硬解码;若常规读取硬解码失败,对待恢复数据进行重复读取,并对重复读取结果进行硬解码;若重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值;根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据。所述***包括常规读取单元、重复读取单元及重读软解码模块。所述电子设备,包括存储器、处理器及存储在存储器用于执行所述数据恢复方法的计算机程序。
Description
技术领域
本申请一个或多个实施例涉及数据存储技术领域,尤其涉及一种基于重复读取的数据恢复方法、***及电子设备。
背景技术
在数据存储过程中可能出现部分数据受损出错的情况,存储控制器需要先对受损数据进行恢复才能进行后续操作。针对受损数据,存储控制器,会顺序使用常规读取解码、重复读取解码以及软读取解码三种方式进行数据恢复。其中常规读取解码首先进行常规读取操作,使用纠错码硬解码功能来纠正读数据中的错误。常规读取解码不能正确纠正读数据中的错误时,采用重复读取解码,通过调整数据的读电压,期望能够获得原始误码率比较低的读数据,然后再采用纠错码的硬解码功能来纠错。重复读取解码可执行多次。采用重复读取解码方式恢复数据时,之前包括常规解码在内所有读操作的原始读数据均被丢弃,导致大量有效信息被浪费。当重复读取解码也无效时,对数据进行软读取,然后使用纠错码软解码功能来纠正读数据的错误,这种方式依赖软读取与软解码速度,往往会导致读数据延时过长,降低***服务质量。
发明内容
有鉴于此,本申请一个或多个实施例的目的在于提出一种基于重复读取的数据恢复方法、***及电子设备,能够有效率用原始读数据,减少读数据延时,提高服务质量。
基于上述目的,在第一方面,本申请实施例提供了一种基于重复读取的数据恢复方法,包括:
对待恢复数据进行常规读取,并对常规读取结果进行硬解码;
响应于常规读取硬解码失败,对所述待恢复数据进行重复读取,并对重复读取结果进行硬解码;
响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值;
根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据。
可选的,所述对所述待恢复数据进行重复读取,包括:
从读电压参考值表中依次选取多个电压值作为读电压对所述待恢复数据进行多次重复读取。
可选的,所述响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值,包括:
从所述常规读取结果与多次重复读取相应的所述重复读取结果中选取部分或全部作为基础读数据,并确定与所述基础读数据相对应的多个读电压;
根据所述基础读数据与多个所述读电压确定所述软信息值。
可选的,响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值,包括:
每次重复读取后,将所述常规读取结果与已有的所述重复读取结果作为基础读数据,并确定与所述基础读数据相对应的多个读电压;
根据所述基础读数据与多个所述读电压确定所述软信息值。
可选的,根据所述基础读数据与多个所述读电压确定所述软信息值,包括:
根据多个所述读电压将所述基础读数据对应的数据页面划分为多个比特区域;
确定所述基础读数据对应到每个所述比特区域中的读取值;
根据多个所述比特区域的所述读取值分别为多个所述比特区域赋予软信息值。
可选的,根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据,包括:
根据似然比值表将所述软信息值转换为对应的对数似然比值,以所述对数似然比值为输入进行软解码。
可选的,所述似然比值表从多个预设似然比值表中选取;
所述方法还包括:响应于基于当前所述似然比值表软解码失败,从多个所述预设似然比值表中选取新的似然比值表进行软解码。
可选的,所述方法还包括:
响应于根据所述软信息值进行软解码失败,对所述待恢复数据进行软读取,并对软读取结果进行软解码。
基于同样目的,在第二方面,本申请实施例提供了一种基于重复读取的数据恢复***,包括:
常规读取单元,被配置为对待恢复数据进行常规读取,并对常规读取结果进行硬解码;
重复读取单元,被配置为当常规读取硬解码失败时,对所述待恢复数据进行重复读取,并对重复读取结果进行硬解码;以及
重读软解码模块,被配置为当重复读取硬解码失败时,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值;
所述重读软解码模块,还被配置为根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据;
所述基于重复读取的数据恢复***用于执行第一方面所述的基于重复读取的数据恢复方法。
基于相同目的,在第三方面,本申请实施例还提供了一种基于重复读取的数据恢复电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的基于重复读取的数据恢复方法。
从上面所述可以看出,本申请一个或多个实施例提供的一种基于重复读取的数据恢复方法、***及电子设备,具有以下有益技术效果:
(1)利用常规读取操作以及重复读取操作的原始读数据来生成软信息,直接利用软信息进行软解码操作进行数据恢复,这样的方式能够减少重复读取次数,并且能够省去软读取操作,高效利用常规读取和重复读取的原始读数据中有效信息的同时还能避免软读取操作所带来的延时影响,减少***整体的读数据延时,提高服务质量。
(2)通过似然比值表确定与所述软信息对应的对数似然比,进而基于对数似然比进行软解码实现数据恢复。其中用于确定对数似然比的所述似然比值表从多个预设似然比值表中选取。当利用当前似然比值表进行软解码失败时,可以从多个所述预设似然比值表中选取新的似然比值表进行软解码,直至根据所选似然比值表能够实现对数据的正确解码恢复,这样的方式能够进一步提高数据读取成功率。
附图说明
为了更清楚地说明本申请一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个或多个实施例所提供的一种基于重复读取的数据恢复方法示意图;
图2为本申请一个或多个实施例所提供的一种基于重复读取的数据恢复方法中确定待恢复数据相应的软信息值的方法示意图;
图3为本申请一个或多个实施例所提供的一种基于重复读取的数据恢复方法中示例性基础读数据对应数据页面示意图;
图4为本申请一个或多个实施例所提供的一种基于重复读取的数据恢复方法中又一示例性基础读数据对应数据页面示意图;
图5为本申请一个或多个实施例所提供的一种基于重复读取的数据恢复方法的数据读取解码流程示意图;
图6为本申请一个或多个实施例所提供的一种基于重复读取的数据恢复***示意图;
图7为本申请一个或多个实施例所提供的一种基于重复读取的数据恢复电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本申请一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本申请一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
以下结合具体实施例对本申请技术方案进行说明。
在一方面,本申请实施例提供了一种基于重复读取的数据恢复方法。
如图1所示,本申请一个或多个可选实施例所提供的一种基于重复读取的数据恢复方法,包括:
S1:对待恢复数据进行常规读取,并对常规读取结果进行硬解码。
存储控制器可以首先对待恢复数据执行常规读取操作,针对常规读取所确定的原始读数据,使用纠错码硬解码功能来纠正原始读数据中的错误来进行恢复。
其中,所述存储控制器可以是闪存控制器、固态硬盘控制器或其他存储相关领域设备中的读数据控制器。
S2:响应于常规读取硬解码失败,对所述待恢复数据进行重复读取,并对重复读取结果进行硬解码。
当数据受损程度较高时,仅凭常规读取纠错无法完全纠正待恢复数据中的错误。这种情况下存储控制器可以通过调整采用不同的数据读电压对所述待恢复数据进行多次重复读取,并采用纠错码的硬解码功能进行解码纠错。
在一些可选实施例中,可以从读电压参考值表中依次选取多个电压值作为读电压对所述待恢复数据进行多次重复读取。
S3:响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值。
对于数据受损较为严重时,通过若干次的重复读取解码可能也无法实现数据纠错。这种情况下存储控制器可以获取常规读取结果和若干次重复读取结果的原始读数据,虽然根据这些原始读数据未能实现数据恢复,但这些原始读数据中包含有大量有效信息,存储控制器可以根据这些原始读数据确定与所述待恢复数据相应的软信息值。
S4:根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据。
在确定所述软信息值之后,存储控制器可以直接基于所述软信息值基于纠错码软解码功能进行软解码恢复,从而确定与所述待恢复数据对应的所述恢复数据。
所述基于重复读取的数据恢复方法,利用常规读取操作以及重复读取操作的原始读数据来生成软信息,直接利用软信息进行软解码操作进行数据恢复,这样的方式能够减少重复读取次数,并且能够省去软读取操作,高效利用常规读取和重复读取的原始读数据中有效信息的同时还能避免软读取操作所带来的延时影响,减少***整体的读数据延时,提高服务质量。
如图2所示,在本申请一个或多个可选实施例所提供的一种基于重复读取的数据恢复方法中,所述响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值,包括:
S201:从所述常规读取结果与多次重复读取相应的所述重复读取结果中选取部分或全部作为基础读数据。
S202:确定与所述基础读数据相对应的多个读电压。
S203:根据所述基础读数据与多个所述读电压确定所述软信息值。
在一些可选实施例中,可以根据多个所述读电压将所述基础读数据对应的数据页面划分为多个比特区域,确定所述基础读数据对应到每个所述比特区域的读取值,再根据多个所述比特区域的所述读取值分别为多个所述比特区域赋予软信息值。
以下结合参考图3,以执行常规读取后又执行两次重复读取为例进行示例性说明。所获取的所述基础读数据就包括所述常规读取的原始读数据以及重复读取1、重复读取2的原始读数据。其中,常规读取的原始读数据为“1000”,重复读取1的原始读数据为“1100”,重复读取2的原始读数据为“1110”。与所述基础读数据相应的常规读取、重复读取1、重复读取2对应的读电压分别为V0,V1,V2。相应的所述数据页面被读电压V0,V1,V2划分为S0,S1,S2,S3四个比特区域。
其中,比特区域S0对应的常规读取、重复读取1以及重复读取2的数据分别为1、1和1,将该比特区域相应的2-bit软信息值赋值为“11”。相应的,比特区域S1对应的常规读取、重复读取1以及重复读取2的数据分别为0、1和1,将该比特区域相应的2-bit软信息值赋值为“10”;比特区域S2对应的常规读取、重复读取1以及重复读取2的数据分别为0、0和1,将该比特区域相应的2-bit软信息值赋值为“00”;比特区域S3对应的常规读取、重复读取1以及重复读取2的数据分别为0、0和0将该比特区域相应的2-bit软信息值赋值为“01”。由此,为多个比特区域确定相应的软信息值。确定所示软信息值之后可以再根据所述软信息值进行纠错软解码。
对上述实施例进行分析可知,由于纠错码软解码纠错能力相比之前常规读取和重复读取的硬解码纠错能力更强,再根据所述软信息值进行纠错软解码更大几率能将待恢复数据正确的恢复出来。在较优状态下整个过程当前数据页面只需被读取3次,并且进行4次解码就能把数据正确的读取出来。相比较传统的不利用常规读操作以及重复读取操作的原始读数据来构建软信息方法,减少了一次软读取操作,从而有效的减少了读操作的延时,并且提高了服务质量性能。
需要说明的是,可以从所述常规读取结果与多次重复读取相应的所述重复读取结果中选取部分或全部作为基础读数据。以下结合参考图4,同样以执行常规读取后又执行两次重复读取为例进行示例性说明,在实施例中可以选取常规读取和两次重复读取中的部分原始读数据,例如只选用两次重复读取的原始读数据作为所述基础读数据生成软信息值。
其中,重复读取1的原始读数据为“100”,重复读取2的原始读数据为“110”。与所述基础读数据相应的重复读取1、重复读取2对应的读电压分别为V1,V2。相应的所述数据页面被读电压V1,V2划分为S0,S1,S2三个比特区域。同样的根据每个比特区域对应的读取值可以分别为三个比特区域赋值软信息值为“11”、“00”、“01”。之后可以根据所述软信息值进行纠错软解码从而实现数据恢复。
同样的,仅根据常规读取和重复读取1的原始读数据或者仅根据常规读取与重复读取2的原始读数据也可以实现数据恢复。对上述实施例进行分析可知,在较立项本申请所述基于重复读取的数据恢复方法在较优状态下最少只需要两个读取的原始读数据,经过两次硬解码一次软解码共三次解码就能把数据正确的读取出来。相比较传统的不利用常规读操作以及重复读取操作的原始读数据来构建软信息方法,同样可以保证减少一次软读取操作,从而有效的减少了读操作的延时,提高服务质量。
在本申请一个或多个可选实施例所提供的一种基于重复读取的数据恢复方法中,所述响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值,包括:
每次重复读取后,将所述常规读取结果与已有的所述重复读取结果作为基础读数据,并确定与所述基础读数据相对应的多个读电压;
根据所述基础读数据与多个所述读电压确定所述软信息值。
参考图5所示,为本申请实施例提供的所述基于重复读取的数据恢复方法进行数据读取解码流程示意图。
步骤S501:对待恢复数据进行常规读取,并对常规读取结果进行硬解码。
步骤S502:确定硬解码是否成功恢复数据,硬解码失败执行下一步。
步骤S503::开始执行重复读取,对重复读取结果进行硬解码。
步骤S504:确定硬解码是否成功恢复数据,硬解码失败执行下一步。
步骤S505:将所述常规读取结果与已有的所述重复读取结果作为基础读数据,确定与所述基础读数据相应的多个读电压。
步骤S506:根据所述基础读数据与多个所述读电压确定相应软信息值,并根据所述软信息值进行纠错软解码。
步骤S507:确定软解码是否成功恢复数据,软解码失败执行下一步。
步骤S508:确定当前重复读取是否为最后一次重复读取。
如果不是最后一次重复读取,从读电压参考值表中选取新的重复读电压,执行步骤S503;
如果是最后一次重复读取,执行下一步。
步骤S509;对所述待恢复数据进行软读取,根据软读取结果进行纠错软解码。软解码成功则数据恢复,软解码失败则确定数据读取失败。
当待恢复数据受损程度较大时,可能需要多次重复读取,此时可能需要获取足够多的原始读数据,根据这些原始读数据所包含的有效信息可以实现成功软解码。所述方法基于重复读取的数据恢复方法进行多次重复读取,每多一次重复读取硬解码都增加数据读取成功的可能性,若重复读取硬解码失败再根据已有的原始读数据进行软解码,每次重复读取之后已有的原始读数据中的有效信息更加丰富,软解码成功率也就更高。采用这样逐次递增循环的读取解码方式进行数据恢复,能够最大限度保证数据读取成功率,保证数据读取成功率的同时读取操作次数与解码操作次数尽可能少,有效的减少了读操作的延时,提高服务质量。
在本申请一个或多个可选实施例所提供的一种基于重复读取的数据恢复方法中,所述根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据,包括:
根据似然比值表将所述软信息值转换为对应的对数似然比值,以所述对数似然比值为输入进行软解码。
如图3所示,通过查询所述似然比值表可以确定与S0,S1,S2,S3四个比特区域的软信息值“11、10、00、01”所对应的对数似然比值分别为“12、3、0、-12”。在确定四个比特区域对应的对数似然比值后,将所述对数似然比作为输入,利用纠错软解码其进行解码。
在一些可选实施例中,用于确定对数似然比的所述似然比值表从多个预设似然比值表中选取。当利用当前似然比值表进行软解码失败时,可以从多个所述预设似然比值表中选取新的似然比值表进行软解码,这样的方式能够有效提高软解码成功率。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种基于重复读取的数据恢复装置。
参考图6,所述基于重复读取的数据恢复装置,包括:
常规读取单元601,被配置为对待恢复数据进行常规读取,并对常规读取结果进行硬解码;
重复读取单元602,被配置为当常规读取硬解码失败时,对所述待恢复数据进行重复读取,并对重复读取结果进行硬解码;以及
重读软解码模块603,被配置为当重复读取硬解码失败时,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值;
所述重读软解码模块603,还被配置为根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据;
所述基于重复读取的数据恢复***用于执行上述方法实施例中的基于重复读取的数据恢复方法。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的基于重复读取的数据恢复方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的基于重复读取的数据恢复方法。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的基于重复读取的数据恢复方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的基于重复读取的数据恢复方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的基于重复读取的数据恢复方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种基于重复读取的数据恢复方法,其特征在于,包括:
对待恢复数据进行常规读取,并对常规读取结果进行硬解码;
响应于常规读取硬解码失败,对所述待恢复数据进行重复读取,并对重复读取结果进行硬解码;
响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值;
根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据。
2.根据权利要求1所述的方法,其特征在于,对所述待恢复数据进行重复读取,包括:
从读电压参考值表中依次选取多个电压值作为读电压对所述待恢复数据进行多次重复读取。
3.根据权利要求2所述的方法,其特征在于,所述响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值,包括:
从所述常规读取结果与多次重复读取相应的所述重复读取结果中选取部分或全部作为基础读数据,并确定与所述基础读数据相对应的多个读电压;
根据所述基础读数据与多个所述读电压确定所述软信息值。
4.根据权利要求2所述的方法,其特征在于,所述响应于重复读取硬解码失败,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值,包括:
每次重复读取后,将所述常规读取结果与已有的所述重复读取结果作为基础读数据,并确定与所述基础读数据相对应的多个读电压;
根据所述基础读数据与多个所述读电压确定所述软信息值。
5.根据权利要求3或4所述的方法,其特征在于,所述根据所述基础读数据与多个所述读电压确定所述软信息值,包括:
根据多个所述读电压将所述基础读数据对应的数据页面划分为多个比特区域;
确定所述基础读数据对应到每个所述比特区域中的读取值;
根据多个所述比特区域的所述读取值分别为多个所述比特区域赋予软信息值。
6.根据权利要求1所述的方法,其特征在于,所述根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据,包括:
根据似然比值表将所述软信息值转换为对应的对数似然比值,以所述对数似然比值为输入进行软解码。
7.根据权利要求6所述的方法,其特征在于,所述似然比值表从多个预设似然比值表中选取;
所述方法还包括:
响应于基于当前所述似然比值表软解码失败,从多个所述预设似然比值表中选取新的似然比值表进行软解码。
8.根据权利要求1所述的方法,其特征在于,还包括:
响应于根据所述软信息值进行软解码失败,对所述待恢复数据进行软读取,并对软读取结果进行软解码。
9.一种基于重复读取的数据恢复***,其特征在于,包括:
常规读取单元,被配置为对待恢复数据进行常规读取,并对常规读取结果进行硬解码;
重复读取单元,被配置为当常规读取硬解码失败时,对所述待恢复数据进行重复读取,并对重复读取结果进行硬解码;以及
重读软解码模块,被配置为当重复读取硬解码失败时,根据所述常规读取结果与所述重复读取结果确定所述待恢复数据相应的软信息值;
所述重读软解码模块,还被配置为根据所述软信息值对所述待恢复数据进行软解码以获取恢复数据;
所述基于重复读取的数据恢复***用于执行如权利要求1至8任意一项权利要求所述的基于重复读取的数据恢复方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210396842.8A CN115080305A (zh) | 2022-04-15 | 2022-04-15 | 一种基于重复读取的数据恢复方法、***及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210396842.8A CN115080305A (zh) | 2022-04-15 | 2022-04-15 | 一种基于重复读取的数据恢复方法、***及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080305A true CN115080305A (zh) | 2022-09-20 |
Family
ID=83247006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210396842.8A Pending CN115080305A (zh) | 2022-04-15 | 2022-04-15 | 一种基于重复读取的数据恢复方法、***及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080305A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344433A (zh) * | 2022-10-19 | 2022-11-15 | 珠海妙存科技有限公司 | 数据恢复方法、数据恢复装置、固态硬盘、存储介质 |
-
2022
- 2022-04-15 CN CN202210396842.8A patent/CN115080305A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344433A (zh) * | 2022-10-19 | 2022-11-15 | 珠海妙存科技有限公司 | 数据恢复方法、数据恢复装置、固态硬盘、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102663812B1 (ko) | 데이터의 인코딩과 디코딩을 위한 메모리 시스템 | |
KR101668934B1 (ko) | 분배된 코드워드 부분들 | |
US8959407B2 (en) | Scaling factors for hard decision reads of codewords distributed across die | |
US20150089310A1 (en) | Use of error correction pointers to handle errors in memory | |
US11063611B2 (en) | Encoding method and apparatus | |
US20190312593A1 (en) | Decoding method and storage controller | |
US20130318395A1 (en) | Reconstructing codewords using a side channel | |
CN109614372B (zh) | 一种对象存储、读取方法、装置、及业务服务器 | |
CN105740088B (zh) | 闪存数据纠错方法及装置 | |
CN106776104B (zh) | 一种Nand Flash控制器和终端以及控制Nand Flash的方法 | |
US10382064B2 (en) | Efficient LDPC encoder for irregular code | |
US9304851B2 (en) | Decoding with log likelihood ratios stored in a controller | |
CN115080305A (zh) | 一种基于重复读取的数据恢复方法、***及电子设备 | |
CN110535476B (zh) | Ldpc软译码器软信息存储优化方法、装置、计算机设备及存储介质 | |
CN112333294A (zh) | 日志归并方法、装置、介质和设备 | |
CN104185952A (zh) | 处理迭代解码器的初级检验节点 | |
CN112583421A (zh) | 用于识别和解码极化码中的里德穆勒码的***和方法 | |
KR20100080691A (ko) | 1-비트용 에러 정정 장치 및 그 방법 | |
CN111865492B (zh) | 中继***中的信息传输方法、装置、设备及存储介质 | |
US9954556B2 (en) | Scheme to avoid miscorrection for turbo product codes | |
CN111769839B (zh) | 快速的比特翻转译码方法 | |
US11010661B2 (en) | Neural network chip, method of using neural network chip to implement de-convolution operation, electronic device, and computer readable storage medium | |
CN116662063B (zh) | 一种闪存的纠错配置方法、纠错方法、***、设备及介质 | |
US20240070036A1 (en) | Data processing device and operation method thereof | |
US20240097706A1 (en) | Decoding method and decoding 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 |