CN117558332A - 数据恢复方法及相关数据读取方法和电子设备、存储介质 - Google Patents

数据恢复方法及相关数据读取方法和电子设备、存储介质 Download PDF

Info

Publication number
CN117558332A
CN117558332A CN202210935937.2A CN202210935937A CN117558332A CN 117558332 A CN117558332 A CN 117558332A CN 202210935937 A CN202210935937 A CN 202210935937A CN 117558332 A CN117558332 A CN 117558332A
Authority
CN
China
Prior art keywords
read voltage
data
decoding
user data
page
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
CN202210935937.2A
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.)
Shanghai Jiangbolong Digital Technology Co ltd
Original Assignee
Shanghai Jiangbolong Digital Technology 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 Shanghai Jiangbolong Digital Technology Co ltd filed Critical Shanghai Jiangbolong Digital Technology Co ltd
Priority to CN202210935937.2A priority Critical patent/CN117558332A/zh
Publication of CN117558332A publication Critical patent/CN117558332A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12005Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C2029/1802Address decoder

Abstract

本申请公开了一种数据恢复方法及相关数据读取方法和电子设备、存储介质。在该方法中,存储设备包括至少一页,每页存储至少一个系统数据和至少一个用户数据,方法包括:响应于使用至少一个读电压读取每页时至少一个用户数据的硬译码均失败,触发至少一个用户数据的软译码;根据至少一个系统数据的解码结果信息,自至少一个读电压,确定用于至少一个用户数据的软译码的基准读电压;使用基准读电压,执行至少一个用户数据的软译码,以恢复至少一个用户数据。本申请还公开了相关数据读取方法和电子设备、存储介质。本申请根据系统数据的解码结果信息,确定软译码的基准读电压,以提升LDPC软译码的成功率,从而提升存储设备的使用寿命。

Description

数据恢复方法及相关数据读取方法和电子设备、存储介质
技术领域
本申请涉及半导体存储领域,特别是涉及一种数据恢复方法及相关数据读取方法和电子设备、存储介质。
背景技术
NAND闪存使用的是非易失性存储技术,是断电后仍能保存资料的存储设备。目前市场上3D TLC(Triple Level Cell,三层单元)/QLC(Quad-level cells,四层单元)NAND的使用范围非常广泛,由于存储数据的密度增大,可靠性也会随之降低,主流的SSD(solidstate disk,固态硬盘,简称SSD)主控都使用LDPC(Low Density Parity Check Code,低密度奇偶校验码)来恢复数据。随着NAND的磨损次数增大、数据保持时间增长、读次数增多、读写温度差异变大等变化,NAND内部的读阈值电压会发生左右偏移,并且各个状态交叠,比特出错增加。
在NAND读取流程中,在使用默认的读阈值电压匹配LDPC硬译码失败之后,会启动数据恢复流程。数据恢复流程包括多档读电压匹配LDPC硬译码或者LDPC软译码。当LDPC硬译码失败之后,触发LDPC软译码,即根据软译码的基准读电压进行偏移读,但是软译码的代价较大,目前需要提升LDPC软译码的成功率,以提升存储设备的寿命。
发明内容
有鉴于此,本申请提供一种数据恢复方法及相关数据读取方法和电子设备、存储介质,以提升LDPC软译码的成功率。
本申请第一方面提供了一种用于存储设备的数据恢复方法,所述存储设备包括至少一页,每页存储至少一个系统数据和至少一个用户数据,所述方法包括:响应于使用至少一个读电压读取每页时所述至少一个用户数据的硬译码均失败,触发所述至少一个用户数据的软译码;根据所述至少一个系统数据的解码结果信息,自所述至少一个读电压,确定用于所述至少一个用户数据的软译码的基准读电压;使用所述基准读电压,执行所述至少一个用户数据的软译码,以恢复所述至少一个用户数据。
在一些实施例中,至少一个读电压包括第一读电压和第二读电压;根据所述至少一个系统数据的解码结果信息,自所述至少一个读电压,确定用于所述至少一个用户数据的软译码的基准读电压,包括:响应于使用所述第一读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第一读电压时所述至少一个系统数据的第一出错比特数;响应于使用所述第二读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第二读电压时所述至少一个系统数据的第二出错比特数;依据所述第一出错比特数和所述第二出错比特数,确定所述基准读电压。
在一些实施例中,依据所述第一出错比特数和所述第二出错比特数,确定所述基准读电压,包括:若所述第一出错比特数小于所述第二出错比特数,确定所述第一读电压为所述基准读电压。
在一些实施例中,所述至少一个读电压包括第一读电压、第二读电压和第三读电压;根据所述至少一个系统数据的解码结果信息,自所述至少一个读电压,确定用于所述至少一个用户数据的软译码的基准读电压,包括:响应于使用所述第一读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第一读电压时所述至少一个系统数据的第一出错比特数;响应于使用所述第二读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第二读电压时所述至少一个系统数据的第二出错比特数;响应于使用所述第三读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第三读电压时所述至少一个系统数据的第三出错比特数;依据所述第一出错比特数、所述第二出错比特数和所述第三出错比特数,确定所述基准读电压。
在一些实施例中,依据所述第一出错比特数、所述第二出错比特数和所述第三出错比特数,确定所述基准读电压,包括:若所述第一出错比特数和所述第三出错比特数相同,且小于所述第二出错比特数,确定所述第一读电压和所述第三读电压中至少一个为所述基准读电压;或若所述第一出错比特数、所述第三出错比特数和所述第二出错比特数依次递增,确定所述第一读电压和所述第三读电压中至少一个为所述基准读电压。
在一些实施例中,使用所述第一读电压作为所述基准读电压,执行所述至少一个用户数据的软译码,得到第一出错用户比特数;使用所述第二读电压作为所述基准读电压,执行所述至少一个用户数据的软译码,得到第二出错用户比特数;其中,所述第一出错用户比特数小于所述第二出错用户比特数。
在一些是实施例中,用所述基准读电压,执行所述至少一个用户数据的软译码,包括:使用所述基准读电压与预设值之和或之差,执行所述至少一个用户数据的软译码。
在一些实施例中,响应于使用至少一个读电压中任一个读取每页时所述至少一个用户数据的硬译码成功,返回所述至少一个用户数据,从而实现恢复所述至少一个用户数据。
本申请第二方面提供了用于存储设备的数据读取方法,所述存储设备包括至少一页,每页存储至少一个系统数据和至少一个用户数据,包括:使用默认读电压读取每页;响应于使用所述默认读电压读取每页时所述至少一个用户数据的硬译码成功,返回所述至少一个用户数据;响应于使用所述默认读电压读取每页时所述至少一个用户数据的硬译码失败,执行数据恢复流程;其中所述数据恢复流程包括如第一方面中任一项所述的数据恢复方法。
本申请第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述第一方面中的用于存储设备的数据恢复方法,或实现上述第二方面中的用于存储设备的数据读取方法。
本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一方面中的用于存储设备的数据恢复方法,或实现上述第二方面中的用于存储设备的数据读取方法。
上述方案,基于所述存储设备包括至少一页,每页存储至少一个系统数据和至少一个用户数据,响应于使用至少一个读电压读取每页时所述至少一个用户数据的硬译码均失败,触发所述至少一个用户数据的软译码,并根据所述页中至少一个系统数据的解码结果信息,自所述至少一个读电压,确定用于所述至少一个用户数据的软译码的基准读电压,使用所述确定的基准读电压,执行所述至少一个用户数据的软译码,以恢复所述至少一个用户数据,在此过程中,根据系统数据的解码结果信息,确定用于用户数据软译码的基准读电压,以提升LDPC软译码的成功率,从而提升存储设备的使用寿命。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请实施例存储设备的框架示意图;
图2是本申请实施例存储设备的一页的示意图;
图3是本申请实施例存储设备的一单元的状态分布图;
图4是本申请实施例用于存储设备的数据恢复方法的流程示意图;
图5是本申请数据恢复方法的确定基准读电压的一实施例的流程示意图;
图6是本申请数据恢复方法的确定基准读电压的另一实施例的流程示意图;
图7是本申请实施例用于存储设备的数据读取方法的流程示意图;
图8是本申请实施例的电子设备的框架示意图;
图9是本申请实施例的非易失性计算机可读存储介质的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
本说明书及权利要求书通篇中所用的某些用语指代特定部件。如所属领域的技术人员可以理解的是,电子设备制造商可利用不同名称来指代同一个部件。本文并非以名称来区分部件,而是以功能来区分部件。在以下说明书及权利要求书中,用语“包括”是开放式的限定词语,因此其应被解释为意指“包括但不限于…”。另外,用语“耦合”旨在意指间接电连接或直接电连接。因此,当一个装置耦合到另一装置时,则这种连接可以是直接电连接或通过其他装置及连接部而实现的间接电连接。
固态存储器中的数据存储单元(诸如每单元多级(MLC)闪速存储器)可以具有与不同的存储器状态对应的不同的阈值电压分布(Vt)电平。例如,在MLC实现方式中,固态存储器中的不同的存储器状态可以对应于范围在读数电压(VR)电平之间的电压电平的分布;当存储器单元的电荷落入特定的范围内时,对页的一个或多个读取可以揭示对应的该单元的存储器状态。在本文中,术语“读取”根据其广泛的和普通的意义,是相对于对固态存储器的电压读取来被使用的,并且其可以指代对包括多个单元(例如,上千个单元)的页的读取操作,或者可以是相对于单个存储器单元的电压电荷电平来被使用的。
读电压可以被有利地设置为在存储器状态之间的裕量(margin)中的值。根据其电荷电平,存储器单元存储表征用户数据的不同的二进制数据。例如,基于其电荷电平,每一个单元通常落入由相关联的数据比特表征的存储器状态中的一个存储器状态。随着时间的过去,并且由于各种物理状况和来自于重复的编程/擦除(P/E)循环的磨损,在各个分布电平之间的裕量可能被减小,使得电压分布在一定程度上重叠。读取裕量的这样的减小可能是由多个因素导致的,诸如由于闪存单元氧化物降解导致的电荷的损失、由于不正确的程序步骤导致的过度编程、由于在单元的所在位置的大量的读取或写入导致的对相邻的已擦除的单元的编程(或写入干扰)和/或其它因素,其中的所有因素都可能导致固态存储设备中的读取失败。
除数据损坏之外,读取失败可能是由于使用未适应于设备内部的存储器单元的电压分布偏移的固定的读数电压电平导致的。也就是说,在NAND读取流程中,当使用默认的读阈值电压匹配LDPC硬译码失败之后,会启动数据恢复流程。首先会尝试由NAND原厂提供的多档读电压,若有一档读电压匹配LDPC硬译码成功,则数据恢复成功。但最差的场景是所有由原厂提供的读电压档位都硬译码失败,需要触发LDPC软译码。LDPC软译码包括使用基准读电压,进行软译码,其过程代价比较大,并且软译码的成功率依赖于软解基准读电压的选择,即在LDPC软解基准读电压下出错比特比较小的时候,软解的成功率会比较高,但对于LDPC软译码的基准读电压的准确预判仍是目前现有技术中所面临的问题。本文公开的某些实施例提供用于以经调整的/最优化的读数电压电平来读取存储器单元的系统和方法,其可以提供经改善的数据恢复,提高软译码的成功率。特别地,下文描述了用于确定经调整的/最优的读取电压电平的技术,其可以适用于一般的或经预校准的固态存储器。
下面为了便于理解本申请,先对本申请以下实施例存储设备进行详细描述。
请参阅图1,图1是本申请实施例存储设备的框架示意图,一种存储设备100可以包括闪存110,闪存110包括至少一块(block)111,一块111包括至少一页,每页用于存储相应数目的系统数据与用户数据,即通过若干页组成若干块数据进行存储,参与数据读写的过程,该存储设备可以是一种半导体闪存芯片作为存储部件的新型存储设备,例如,基于闪存的固态硬盘。
请参阅图2,图2是本申请实施例存储设备的一页的示意图,该页200用于存储至少一个系统数据210与至少一个用户数据220。
页(page)200是NAND闪存单次读写单元,大小一般为4K或者4K字节的倍数,写操作只能写到空的页。系统数据210用于存储关键信息,长度较短,一般是几个字节量级的,且系统数据210可出现在页200中的各地方,不对其具体位置进行限定。多数主控使用BCH码来保护系统数据,其中,系统数据的保护粒度(BCH)比正常数据的保护粒度(LDPC)强很多,由于系统数据的数据长度很短,可以设置更低码率的ECC,使得纠错能力比正常的数据更强,具体地,BCH的纠错能力可以达到rber=6E-2,即残余误比特率值为6E-2,LDPC硬译码的能力只有rber=5E-3,即残余误比特率值为5E-3,也就是说,BCH的纠错能力比LDPC硬译码的能力强十多倍,因此,在很多出错场景下正常数据硬译码失败,但系统数据仍然可以纠正,从而可使用系统数据的出错情况来衡量整个page的出错情况。即在很多场景下,由于出错比较多,超过了LDPC的纠错能力,此时,用户数据220就会恢复不出来,但系统数据由于BCH码的保护,是可以恢复数据的。用户数据220是由用户创建或拥有的,可以是图像数据、文档数据,以及需要存储的数据等。
例如,NAND的页200的长度可以是16KB,LDPC码字的长度可以是1KB+LDPC Parity,且每4KB有一个系统数据210,即在页长度有效长度为16KB情况下,一页可以有4个系统数据210,16个用户数据220。
请参阅图3,图3是本申请实施例存储设备的一单元的状态分布图,即以TLC NAND为例,一个存储单元中可以存储3bit信息,其中,单独的存储单元可以根据存储在其上的电荷量来存储不同的二进制比特,存储器单元的电压分布可以包括多个不同的电压或状态,即会有8种状态,例如可以是“111”、“110”、“101”、“011”、“100”、“010”、“001”、“000”。其中,读电压可以置于这些电压之间,即可使用不同的读电压将8个状态给区分开,图3中描绘的横轴表示单元电压、纵轴表示具有相应的电压值的单元的数量,八条分布曲线表示由八个分布划分的、具有相应的电压值的数量。随着各种干扰因素的影响,每种状态的分布会发生左右偏移/展宽,导致默认的读电压不能很好的把8个状态区分开,超过一定的错误比特数,数据就会读取失败,发生数据丢失。
请参阅图4,图4是本申请实施例用于存储设备的数据恢复方法的流程示意图。该存储设备包括至少一页,每页可以为上述图2实施例中的读取单元页200,即每页200用于存储至少一个系统数据210与至少一个用户数据220。
该方法的执行主体可以是有着相互耦接的存储器和处理器的终端设备,例如,微型计算机、服务器,以及笔记本电脑、平板电脑等移动设备等。在一些可能的实现方式中,该数据恢复方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。具体而言,可以包括如下步骤:
步骤S41:响应于使用至少一个读电压读取每页时至少一个用户数据的硬译码均失败,触发至少一个用户数据的软译码。
在读取一段数据的时候,使用默认读电压读取,经过LDPC硬译码失败,触发数据恢复流程,使用原厂自带的读电压多档位依次进行读取。读电压可以是由NAND原厂提供的多档读电压,硬译码是LDPC硬判决译码,即将接收的实数序列先通过解调器进行解调,再进行硬判决,得到硬判决0,1序列,最后将得到的硬判决序列输送到硬判决译码器进行译码。通过判断使用至少一个读电压读取每页时至少一个用户数据220的硬译码是否失败,确定是否触发用户数据220的软译码。若用至少一个读电压读取每页时至少一个用户数据220的硬译码均失败,则触发至少一个用户数据220的软译码,即LDPC软判决译码,可以看成是无穷比特量化译码,充分利用接收的信道信息(软信息),使得信道信息利用率得到了极大的提高,即不直接判决输出是1还是0,只给出“推测”,例如给出某一码位是0或1的概率。
步骤S42:根据至少一个系统数据的解码结果信息,自至少一个读电压,确定用于至少一个用户数据的软译码的基准读电压。
在用至少一个读电压读取每页时至少一个用户数据220的硬译码均失败之后,则在至少一个读电压下,截取页中的至少一个系统数据210,进行系统数据210的解码,获取至少一个系统数据210的出错比特数,此时,可选择对应的读电压,用于确定至少一个用户数据220的软译码的基准读电压。
步骤S43:使用基准读电压,执行至少一个用户数据的软译码,以恢复至少一个用户数据。
根据所确定的至少一用户数据220的软译码的基准读电压,执行至少一个用户数据220的软译码,即利用基准读电压,通过调整读电压对至少一个用户数据220进行多次软译码,至软译码成功,以恢复至少一个用户数据220。
本实施例中,响应于使用至少一个读电压读取每页时至少一个用户数据的硬译码均失败,触发至少一个用户数据的软译码,并根据页中至少一个系统数据的解码结果信息,自至少一个读电压,确定用于至少一个用户数据的软译码的基准读电压,使用得到的基准读电压,执行至少一个用户数据的软译码,以恢复所述至少一个用户数据,也就是说,在数据恢复流程中,利用预设的读电压与系统数据的解码结果信息,实现确定用于户数据进行软译码的基准读电压,提升了软译码的成功率,以提升存储设备的寿命。
在一些实施例中,至少一个读电压包括第一读电压和第二读电压。
读电压可以是为了区分固态存储器中的数据存储单元不同的存储器状态对应的不同的阈值电压分布的预设读电压值,厂家可以根据不同状态设置多档读电压值,例如读电压1、读电压2等。
此时,根据至少一个系统数据的解码结果信息,自至少一个读电压,确定用于至少一个用户数据的软译码的基准读电压,如图5所示,图5是本申请数据恢复方法的确定基准读电压的一实施例的流程示意图,具体而言,包括以下步骤:
步骤S510:判断第一读电压硬译码是否失败。
若第一读电压硬译码失败,则执行步骤S511。
步骤S511:对系统数据进行解码,获得第一出错比特数。
响应于使用第一读电压读取每页时至少一个用户数据的硬译码失败,获取至少一个系统数据,并对至少一个系统数据进行解码,从而获得使用第一读电压时至少一个系统数据的第一出错比特数。
通过判断使用第一读电压读取每页时至少一个用户数据220的硬译码是否失败,决定是否对系统数据210进行解码。若使用第一读电压读取每页时至少一个用户数据220的硬译码失败,则获取至少一个系统数据210,并对至少一个系统数据210进行解码,即利用BCH码对所获取的系统数据210进行解码,以获得使用第一读电压时至少一个系统数据210的第一出错比特数。
例如,使用读电压1读取整页200的数据,截取用户数据220进行LDPC硬译码,若硬译码失败,则截取Page中的一个或者多个系统数据210,进行BCH译码,获取系统数据210的出错比特数,例如S11、S12、……S1M,并通过计算各出错比特数的和,即S11+S12+…+S1M=S1,从而可获取读电压1下系统数据210的出错比特数S1。
步骤S520:判断第二读电压硬译码是否失败。
若第二读电压硬译码失败,则执行步骤S521。
步骤S521:对系统数据进行解码,获得第二出错比特数。
响应于使用第二读电压读取每页时至少一个用户数据的硬译码失败,获取至少一个系统数据,并对至少一个系统数据进行解码,从而获得使用第二读电压时至少一个系统数据的第二出错比特数。
通过判断使用第二读电压读取每页时至少一个用户数据220的硬译码是否失败,决定是否对系统数据210进行解码。若使用第二读电压读取每页时至少一个用户数据220的硬译码失败,则获取至少一个系统数据210,并对至少一个系统数据210进行解码,即利用BCH码对所获取的系统数据210进行解码,以获得使用第二读电压时至少一个系统数据210的第二出错比特数。
例如,使用读电压2读取整页200的数据,截取用户数据220进行LDPC硬译码,若硬译码失败,则截取Page中的一个或者多个系统数据210,进行BCH译码,获取系统数据210的出错比特数,例如S21、S22、……S2M,并通过计算各出错比特数的和,即S21+S22+…+S2M=S2,从而可获取读电压2下系统数据210的出错比特数S2。
如上述,依据第一出错比特数和第二出错比特数,确定基准读电压。
通过执行上述步骤,获取使用第一读电压时至少一个系统数据的第一出错比特数与使用第二读电压时至少一个系统数据的第二出错比特数,确定基准读电压,即判断依据第一出错比特数和第二出错比特数的大小,筛选最优出错比特数,确定其对应的读电压为基准读电压。
在一些实施例中,依据第一出错比特数和第二出错比特数,确定基准读电压,包括:若第一出错比特数小于第二出错比特数,确定第一读电压为基准读电压。
通过获取使用第一读电压时至少一个系统数据的第一出错比特数与使用第二读电压时至少一个系统数据的第二出错比特数,确定基准读电压,即判断依据第一出错比特数和第二出错比特数的大小,选择最小出错比特数对应读电压作为基准读电压,例如S1小于S2,此时,S1为最小出错比特数,即可确定读电压1为基准读电压。
在本实施例中,响应于使用不同读电压读取每页时至少一个用户数据的硬译码失败,获取至少一个系统数据,并对至少一个系统数据进行解码,从而获得使用不同读电压时至少一个系统数据的不同出错比特数,并依据所获得的不同出错比特数,选出最小出错比特数对应的读电压作为基准读电压,通过数据恢复过程中的系统数据对应的出错比特数大小,完成对基准读电压的确定,提升了软译码的成功率,以提升存储设备的寿命。
在一些实施例中,至少一个读电压包括第一读电压、第二读电压和第三读电压。
读电压可以是为了区分固态存储器中的数据存储单元不同的存储器状态对应的不同的阈值电压分布的预设读电压值,厂家可以根据不同状态设置多档读电压值,少一个读电压包括第一读电压、第二读电压和第三读电压,例如读电压1、读电压2、读电压3等。
此时,根据至少一个系统数据的解码结果信息,自至少一个读电压,确定用于至少一个用户数据的软译码的基准读电压,结合图6,图6是本申请数据恢复方法的确定基准读电压另一实施例的流程示意图,具体而言,包括以下步骤:
步骤S610:判断第一读电压硬译码是否失败。
若第一读电压硬译码失败,则执行步骤S611。
步骤S611:对系统数据进行解码,获得第二出错比特数。
响应于使用第一读电压读取每页时至少一个用户数据的硬译码失败,获取至少一个系统数据,并对至少一个系统数据进行解码,从而获得使用第一读电压时至少一个系统数据的第一出错比特数。
通过判断使用第一读电压读取每页时至少一个用户数据220的硬译码是否失败,决定是否对系统数据210进行解码。若使用第一读电压读取每页时至少一个用户数据220的硬译码失败,则获取至少一个系统数据210,并对至少一个系统数据210进行解码,即利用BCH码对所获取的系统数据210进行解码,以获得使用第一读电压时至少一个系统数据210的第一出错比特数。
例如,使用读电压1读取整页200的数据,截取用户数据220进行LDPC硬译码,若硬译码失败,则截取Page中的一个或者多个系统数据210,进行BCH译码,获取系统数据210的出错比特数,例如S11、S12、……S1M,并通过计算各出错比特数的和,即S11+S12+…+S1M=S1,从而可获取读电压1下系统数据210的出错比特数S1。
步骤S620:判断第二读电压硬译码是否失败。
若第二读电压硬译码失败,则执行步骤S621。
步骤S621:对系统数据进行解码,获得第二出错比特数。
响应于使用第二读电压读取每页时至少一个用户数据的硬译码失败,获取至少一个系统数据,并对至少一个系统数据进行解码,从而获得使用第二读电压时至少一个系统数据的第二出错比特数。
通过判断使用第二读电压读取每页时至少一个用户数据220的硬译码是否失败,决定是否对系统数据210进行解码。若使用第二读电压读取每页时至少一个用户数据220的硬译码失败,则获取至少一个系统数据210,并对至少一个系统数据210进行解码,即利用BCH码对所获取的系统数据210进行解码,以获得使用第二读电压时至少一个系统数据210的第二出错比特数。
例如,使用读电压2读取整页200的数据,截取用户数据220进行LDPC硬译码,若硬译码失败,则截取Page中的一个或者多个系统数据210,进行BCH译码,获取系统数据210的出错比特数,例如S21、S22、……S2M,并通过计算各出错比特数的和,即S21+S22+…+S2M=S2,从而可获取读电压2下系统数据210的出错比特数S2。
步骤S630:判断第三读电压硬译码是否成功。
若第三读电压硬译码失败,则执行步骤S631。
步骤S631:对系统数据进行解码,获得第三出错比特数。
响应于使用第三读电压读取每页时至少一个用户数据的硬译码失败,获取至少一个系统数据,并对至少一个系统数据进行解码,从而获得使用第三读电压时至少一个系统数据的第三出错比特数。
通过判断使用第三读电压读取每页时至少一个用户数据220的硬译码是否失败,决定是否对系统数据进行解码。若使用第三读电压读取每页时至少一个用户数据220的硬译码失败,则获取至少一个系统数据,并对至少一个系统数据进行解码,即利用BCH码对所获取的系统数据进行解码,以获得使用第三读电压时至少一个系统数据的第三出错比特数。
例如,使用读电压3读取整页200的数据,截取用户数据220进行LDPC硬译码,若硬译码失败,则截取Page中的一个或者多个系统数据210,进行BCH译码,获取系统数据210的出错比特数,例如S231、S32、……S3M,并通过计算各出错比特数的和,即S31+S32+…+S3M=S3,从而可获取读电压3下系统数据210的出错比特数S3。
如上述,依据第一出错比特数、第二出错比特数和第三出错比特数,确定基准读电压。
通过执行上述步骤,获取使用第一读电压时至少一个系统数据210的第一出错比特数与使用第二读电压时至少一个系统数据210的第二出错比特数、以及使用第三读电压时至少一个系统数据210的第三出错比特数,确定基准读电压,即判断第一出错比特数、第二出错比特数与第三比特数的大小,筛选最优出错比特数,确定其对应的读电压为基准读电压。
在一些实施例,依据第一出错比特数、第二出错比特数和第三出错比特数,确定基准读电压,包括,若第一出错比特数和第三出错比特数相同,且小于第二出错比特数,确定第一读电压和第三读电压中至少一个为基准读电压;或若第一出错比特数、第三出错比特数和第二出错比特数依次递增,确定第一读电压和第三读电压中至少一个为基准读电压。
通过获取第一出错比特数、第二出错比特数与第三出错比特数,确定基准读电压,即判断依据第一出错比特数、第二出错比特数与第三出错比特数的大小,选择最小出错比特数对应的几档读电压作为基准读电压,例如S1与S3相等,且小于S2,此时,可确定读电压1和读电压3为基准读电压,或者第一出错比特数、第三出错比特数和第二出错比特数依次递增,例如S1小于S3,S3小于S2,此时,也可确定读电压1和读电压3为基准读电压。
在本实施例中,响应于使用不同读电压读取每页时至少一个用户数据的硬译码失败,获取至少一个系统数据,并对至少一个系统数据进行解码,从而获得使用不同读电压时至少一个系统数据的不同出错比特数,并依据所获得的不同出错比特数,选出最小出错比特数对应的几档读电压作为基准读电压,即通过数据恢复过程中的系统数据对应的出错比特数大小,完成对基准读电压的确定,提升了软译码的成功率,以提升存储设备的寿命。
其中,使用第一读电压作为基准读电压,执行至少一个用户数据的软译码,得到第一出错用户比特数;使用第二读电压作为基准读电压,执行至少一个用户数据的软译码,得到第二出错用户比特数;其中,第一出错用户比特数小于第二出错用户比特数。
例如,当使用读电压1作为基准读电压,执行至少一个用户数据220的软译码,可以得到第一出错用户比特数X1,当使用读电压2作为基准读电压,执行至少一个用户数据220的软译码,可以得到第二出错用户比特数X2,因读电压1下的系统数据错误比特数S1,小于读电压2下的系统数据错误比特数S2,,所以第一出错用户比特数X1小于第二出错用户比特数X2。
在一些实施例中,使用基准读电压,执行至少一个用户数据的软译码,包括:使用基准读电压与预设值之和或之差,执行至少一个用户数据的软译码。
使用基准读电压与预设值之和或之差,执行至少一个用户数据220的软译码,即根据上述步骤确定基准读电压,并固定左右偏移的预设值,可以使用基准读电压与预设值之间的和、基准读电压与预设值之间的差的读电压,对至少一个用户数据220进行软译码,例如确定基准读电压为读电压1为V,左右偏移的预设值为a,则可在读电压为V时执行至少一个用户数据220的软译码,读电压为V+a时执行至少一个用户数据220的软译码,也可在读电压为V-a时执行至少一个用户数据220的软译码。
在一些实施例中,响应于使用至少一个读电压中任一个读取每页时至少一个用户数据的硬译码成功,返回至少一个用户数据,从而实现恢复至少一个用户数据。
判断使用至少一个读电压读取每页时至少一个用户数据220的硬译码是否失败,若用至少一个读电压读取每页时至少一个用户数据220的硬译码成功,则不触发用户数据220的软译码,而是返回至少一个用户数据220,以实现恢复至少一个用户数据220,如图5所示。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
请参阅图7,图7是本申请实施例用于存储设备的数据读取方法的流程示意图。存储设备包括至少一页,每页可以为上述图2实施例中的读取单元页200,即每页200用于存储至少一个系统数据210与至少一个用户数据220。
该方法的执行主体可以是有着相互耦接的存储器和处理器的终端设备,例如,微型计算机、服务器,以及笔记本电脑、平板电脑等移动设备等。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。具体而言,可以包括如下步骤:
步骤S71:使用默认读电压读取每页。
在NAND读取流程中,通过使用默认读电压进行硬译码,以完成对每页的读取。
步骤S72:响应于使用默认读电压读取每页时至少一个用户数据的硬译码成功,返回至少一个用户数据。
判断使用默认读电压读取每页时至少一个用户数据220的硬译码成功与否,若用至少一个读电压读取每页时至少一个用户数据220的硬译码成功,则返回至少一个用户数据220,以实现恢复至少一个用户数据220。
步骤S73:响应于使用默认读电压读取每页时至少一个用户数据的硬译码失败,执行数据恢复流程。
判断使用默认读电压读取每页时至少一个用户数据220的硬译码成功与否,若用至少一个读电压读取每页时至少一个用户数据220的硬译码失败,则执行数据恢复流程,即使用至少一个读电压读取每页时至少一个用户数据220的硬译码,或响应于使用至少一个读电压读取每页时至少一个用户数据220的硬译码均失败,触发至少一个用户数据220的软译码。
其中,数据恢复流程包括如上述中任一项的数据恢复方法。
数据恢复流程包括若使用至少一个读电压读取每页时至少一个用户数据220的硬译码成功,则返回至少一个用户数据220,以实现恢复至少一个用户数据220,或者若使用至少一个读电压读取每页时至少一个用户数据220的硬译码失败,则在至少一个读电压下,截取页中的至少一个系统数据210,进行系统数据210的解码,获取至少一个系统数据的出错比特数,此时,可选择对应的读电压,用于确定至少一个用户数据220的软译码的基准读电压,并使用基准读电压,执行至少一个用户数据220的软译码,以恢复至少一个用户数据220。
请参阅图8,图8是本申请电子设备80一实施例的框架示意图。电子设备80包括相互耦接的存储器81和处理器82,处理器82用于执行存储器81中存储的程序指令,以实现上述任一数据恢复方法实施例的步骤,或实现上述任一数据读取方法实施例中的步骤。在一个具体的实施场景中,电子设备80可以包括但不限于:微型计算机、服务器,此外,电子设备80还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器82用于控制其自身以及存储器81以实现上述任一图像检测模型的训练方法实施例的步骤,或实现上述任一图像检测方法实施例中的步骤。处理器82还可以称为CPU(Central Processing Unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
请参阅图9,图9为本申请非易失性计算机可读存储介质90一实施例的框架示意图。非易失性计算机可读存储介质90存储有能够被处理器运行的程序指令901,程序指令901用于以实现上述任一数据恢复方法实施例的步骤,或实现上述任一数据读取方法实施例中的步骤。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (11)

1.一种用于存储设备的数据恢复方法,其特征在于,所述存储设备包括至少一页,每页存储至少一个系统数据和至少一个用户数据,所述方法包括:
响应于使用至少一个读电压读取每页时所述至少一个用户数据的硬译码均失败,触发所述至少一个用户数据的软译码;
根据所述至少一个系统数据的解码结果信息,自所述至少一个读电压,确定用于所述至少一个用户数据的软译码的基准读电压;
使用所述基准读电压,执行所述至少一个用户数据的软译码,以恢复所述至少一个用户数据。
2.根据权利要求1所述的方法,其特征在于,至少一个读电压包括第一读电压和第二读电压;
根据所述至少一个系统数据的解码结果信息,自所述至少一个读电压,确定用于所述至少一个用户数据的软译码的基准读电压,包括:
响应于使用所述第一读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第一读电压时所述至少一个系统数据的第一出错比特数;
响应于使用所述第二读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第二读电压时所述至少一个系统数据的第二出错比特数;
依据所述第一出错比特数和所述第二出错比特数,确定所述基准读电压。
3.根据权利要求2所述的方法,其特征在于,依据所述第一出错比特数和所述第二出错比特数,确定所述基准读电压,包括:
若所述第一出错比特数小于所述第二出错比特数,确定所述第一读电压为所述基准读电压。
4.根据权利要求1所述的方法,其特征在于,所述至少一个读电压包括第一读电压、第二读电压和第三读电压;
根据所述至少一个系统数据的解码结果信息,自所述至少一个读电压,确定用于所述至少一个用户数据的软译码的基准读电压,包括:
响应于使用所述第一读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第一读电压时所述至少一个系统数据的第一出错比特数;
响应于使用所述第二读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第二读电压时所述至少一个系统数据的第二出错比特数;
响应于使用所述第三读电压读取每页时所述至少一个用户数据的硬译码失败,获取所述至少一个系统数据,并对所述至少一个系统数据进行解码,从而获得使用所述第三读电压时所述至少一个系统数据的第三出错比特数;
依据所述第一出错比特数、所述第二出错比特数和所述第三出错比特数,确定所述基准读电压。
5.根据权利要求4所述方法,其特征在于,依据所述第一出错比特数、所述第二出错比特数和所述第三出错比特数,确定所述基准读电压,包括:
若所述第一出错比特数和所述第三出错比特数相同,且小于所述第二出错比特数,确定所述第一读电压和所述第三读电压中至少一个为所述基准读电压;或
若所述第一出错比特数、所述第三出错比特数和所述第二出错比特数依次递增,确定所述第一读电压和所述第三读电压中至少一个为所述基准读电压。
6.根据权利要求5所述方法,其特征在于,进一步包括:
使用所述第一读电压作为所述基准读电压,执行所述至少一个用户数据的软译码,得到第一出错用户比特数;
使用所述第二读电压作为所述基准读电压,执行所述至少一个用户数据的软译码,得到第二出错用户比特数;
其中,所述第一出错用户比特数小于所述第二出错用户比特数。
7.根据权利要求1所述方法,其特征在于,使用所述基准读电压,执行所述至少一个用户数据的软译码,包括:
使用所述基准读电压与预设值之和或之差,执行所述至少一个用户数据的软译码。
8.根据权利要求1-6任一项所述的方法,其特征在于,进一步包括:
响应于使用至少一个读电压中任一个读取每页时所述至少一个用户数据的硬译码成功,返回所述至少一个用户数据,从而实现恢复所述至少一个用户数据。
9.一种用于存储设备的数据读取方法,其特征在于,所述存储设备包括至少一页,每页存储至少一个系统数据和至少一个用户数据,包括:
使用默认读电压读取每页;
响应于使用所述默认读电压读取每页时所述至少一个用户数据的硬译码成功,返回所述至少一个用户数据;
响应于使用所述默认读电压读取每页时所述至少一个用户数据的硬译码失败,执行数据恢复流程;
其中所述数据恢复流程包括如权利要求1-8中任一项所述的数据恢复方法。
10.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1-8中任一项所述的数据恢复方法,或实现权利要求9所述的用于存储设备的数据读取方法。
11.一种非易失性计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1-8中任一项所述的数据恢复方法,或实现权利要求9所述的用于存储设备的数据读取方法。
CN202210935937.2A 2022-08-04 2022-08-04 数据恢复方法及相关数据读取方法和电子设备、存储介质 Pending CN117558332A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210935937.2A CN117558332A (zh) 2022-08-04 2022-08-04 数据恢复方法及相关数据读取方法和电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210935937.2A CN117558332A (zh) 2022-08-04 2022-08-04 数据恢复方法及相关数据读取方法和电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN117558332A true CN117558332A (zh) 2024-02-13

Family

ID=89817243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210935937.2A Pending CN117558332A (zh) 2022-08-04 2022-08-04 数据恢复方法及相关数据读取方法和电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN117558332A (zh)

Similar Documents

Publication Publication Date Title
US11386952B2 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
US11334413B2 (en) Estimating an error rate associated with memory
US7672162B2 (en) Non-volatile memory device, memory system, and LSB read method
US8112692B2 (en) Flash memory device error correction code controllers and related methods and memory systems
US9778985B1 (en) Operating method of data storage device
KR101466270B1 (ko) 비휘발성 메모리 시스템 및 그것의 데이터 처리 방법
JP5297380B2 (ja) ソフト入力ソフト出力(siso)復号器を有する不揮発性メモリにおける統計ユニットおよび適応操作
US9043678B2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
US9990247B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
US8635508B2 (en) Systems and methods for performing concatenated error correction
US8391076B2 (en) Nonvolatile memory device using interleaving technology and programming method thereof
JP4866107B2 (ja) 不揮発性記憶装置及びその書き込み判定方法
JP2019096281A (ja) データ記憶装置および関連する操作方法
US10665297B2 (en) Memory systems for memory devices and methods of operating the memory systems
CN117558332A (zh) 数据恢复方法及相关数据读取方法和电子设备、存储介质
US11048586B2 (en) Memory systems and methods of correcting errors in the memory systems
US11869584B2 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
CN113808642A (zh) 数据存取系统和操作数据存取系统的方法
CN114860170A (zh) 数据存取方法、存储器存储装置及存储器控制器
CN117409844A (zh) 数据恢复方法、存储器存储装置及存储器控制器
CN117409845A (zh) 分组管理方法、存储器存储装置及存储器控制器
CN117457055A (zh) 一种存储设备、数据处理方法及存储设备的控制芯片
US20130006896A1 (en) Training Datasets for Memory Devices

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