[go: up one dir, main page]

CN114913900B - 静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质 - Google Patents

静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质

Info

Publication number
CN114913900B
CN114913900B CN202210692393.1A CN202210692393A CN114913900B CN 114913900 B CN114913900 B CN 114913900B CN 202210692393 A CN202210692393 A CN 202210692393A CN 114913900 B CN114913900 B CN 114913900B
Authority
CN
China
Prior art keywords
error correction
ecc error
static
ecc
value
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
Application number
CN202210692393.1A
Other languages
English (en)
Other versions
CN114913900A (zh
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.)
Suzhou Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System 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 Suzhou Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202210692393.1A priority Critical patent/CN114913900B/zh
Publication of CN114913900A publication Critical patent/CN114913900A/zh
Application granted granted Critical
Publication of CN114913900B publication Critical patent/CN114913900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明涉及静态ECC纠错的NAND错误处理方法、装置、计算机设备及存储介质,该方法,包括:若读页数据发生ECC错误,则进入正常的闪存重读状态;判断进入正常的闪存重读状态是否发生ECC错误;若发生ECC错误,判断闪存重读是否已做完所有的level;若已做完,则执行静态ECC纠错;判断执行静态ECC纠错是否发生ECC错误;若发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;判断静态ECC纠错的循环次数是否等于L值;若等于L值,则执行Riad解码。本发明在静态ECC下纠错能力逐步加强,完善了静态ECC纠错的流程,从而实现高效的静态ECC纠错的NAND错误流程保护。

Description

静态ECC纠错的NAND错误处理方法、装置、计算机设备及存储 介质
技术领域
本发明涉及静态ECC纠错技术领域,尤其是指静态ECC纠错的NAND错误处理方法、装置、计算机设备及存储介质。
背景技术
目前,绝大多数固态硬盘都采用静态ECC纠错方案。ECC纠错单元(用户数据)和ECC校准数据的大小在整个固态硬盘生命周期中是固定的,即纠错能力始终保持不变,由于闪存在使用初期比特翻转的概率较小,随着闪存的使用,错误的概率逐渐增加。
目前传统的NAND错误流程,在Read page(读页数据)后,一旦出现ECC fail,就会进入到Read Retry(闪存重读),如果依然出现ECC fail,就会进入到静态ECC纠错,如果依然出现ECC fail,就会进入到Raid。
发明内容
本发明的目的在于克服现有技术的不足,提供静态ECC纠错的NAND错误处理方法、装置、计算机设备及存储介质。
为了解决上述技术问题,本发明采用如下技术方案:
第一方面,本实施例提供了一种静态ECC纠错的NAND错误处理方法,包括以下步骤:
若读页数据发生ECC错误,则进入正常的闪存重读状态;
判断进入正常的闪存重读状态是否发生ECC错误;
若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level;
若闪存重读已做完所有的level,则执行静态ECC纠错;
判断执行静态ECC纠错是否发生ECC错误;
若执行静态ECC纠错发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;
判断静态ECC纠错的循环次数是否等于L值;
若静态ECC纠错的循环次数等于L值,则执行Riad解码。
其进一步技术方案为:所述若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level步骤之后,若闪存重读未做完所有的level,则将闪存重读需要执行的level次数增加,并返回执行所述若读页数据发生ECC错误,则进入正常的闪存重读状态。
其进一步技术方案为:所述若闪存重读已做完所有的level,则执行静态ECC纠错步骤中,通过低密度奇偶校验码执行静态ECC纠错。
其进一步技术方案为:所述判断静态ECC纠错的循环次数是否等于L值步骤之后,还包括:若静态ECC纠错的循环次数不等于L值,则记录静态ECC纠错的循环次数,并返回执行所述若闪存重读已做完所有的level,则执行静态ECC纠错。
第二方面,本实施例提供了一种静态ECC纠错的NAND错误处理装置,包括:发生进入单元,第一判断单元,第二判断单元,第一执行单元,第三判断单元,获取得到单元,第四判断单元及第二执行单元;
所述发生进入单元,用于若读页数据发生ECC错误,则进入正常的闪存重读状态;
所述第一判断单元,用于判断进入正常的闪存重读状态是否发生ECC错误;
所述第二判断单元,用于若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level;
所述第一执行单元,用于若闪存重读已做完所有的level,则执行静态ECC纠错;
所述第三判断单元,用于判断执行静态ECC纠错是否发生ECC错误;
所述获取得到单元,用于若执行静态ECC纠错发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;
所述第四判断单元,用于判断静态ECC纠错的循环次数是否等于L值;
所述第二执行单元,用于若静态ECC纠错的循环次数等于L值,则执行Riad解码。
其进一步技术方案为:还包括:增加返回单元,用于若闪存重读未做完所有的level,则将闪存重读需要执行的level次数增加,并返回执行所述若读页数据发生ECC错误,则进入正常的闪存重读状态。
其进一步技术方案为:所述第一执行单元中,通过低密度奇偶校验码执行静态ECC纠错。
其进一步技术方案为:还包括:纠错返回单元,用于若静态ECC纠错的循环次数不等于L值,则记录静态ECC纠错的循环次数,并返回执行所述若闪存重读已做完所有的level,则执行静态ECC纠错。
第三方面,本实施例提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上述所述的静态ECC纠错的NAND错误处理方法。
第四方面,本实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如上述所述的静态ECC纠错的NAND错误处理方法。
本发明与现有技术相比的有益效果是:随着固态硬盘的使用,在静态ECC下纠错能力逐步加强,完善了静态ECC纠错的流程,从而实现高效的静态ECC纠错的NAND错误流程保护。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的静态ECC纠错的NAND错误处理方法的流程示意图;
图2为本发明实施例提供的静态ECC纠错的NAND错误处理装置的示意性框图;
图3为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
其中,本发明涉及以下英文,对应的翻译解释如下:
ECC,是“Error Correcting Code”的简写,ECC是一种能够实现“错误检查和纠正”的技术;
NAND,颗粒,闪存;
PE,即P/E中间是有斜杠的,全称是P/ECycle(简称P/E),是用来表示Flash闪存的可擦写次数,每次将整块SSD编程(即写入)/擦除1次,则计算1次P/E次数;
Read page,读页数据;
Raid,是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列;
Read Retry,闪存重读;
ECC fail,Error Correcting Code错误;
Retry Table Read Retry,正常的read retry(闪存重读)流程;
Level,闪存重读的不同档位;
LDPC,编解码技术,Low Density Parity Check Code英文缩写,意思是低密度奇偶校验码;
TLC PE,闪存SLC、MLC、TLC中的TLC,三层单元(Triple Level Cell,简称TLC);
RAID Decode,RAID解码。
请参阅图1所示的具体实施例,本发明公开了一种静态ECC纠错的NAND错误处理方法,包括以下步骤:
S1,若读页数据发生ECC错误,则进入正常的闪存重读状态;
具体地,用户需要传输的数据通过LDPC、CRC等编解码进行编码,形成ECC校验位,在接收数据时,会把数据与ECC校验位通过LDPC、CRC等进行解码,如果解码正确说明数据正确(ECC pass),如果解码失败说明数据出错(ECC fail);其中,固态硬盘控制器上有ECC纠错模块,部分闪存还集成了ECC纠错模块,常用的闪存ECC纠错算法有BCH和LDPC等。
S2,判断进入正常的闪存重读状态是否发生ECC错误;若进入正常的闪存重读状态未发生ECC错误,则结束操作;
其中,S2步骤中的ECC错误,同上述S1步骤中的ECC错误类似。
S3,若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level;若闪存重读未做完所有的level,则跳转执行S9步骤;
S4,若闪存重读已做完所有的level,则执行静态ECC纠错;
具体地,在S4步骤中,通过低密度奇偶校验码执行静态ECC纠错。
具体地,LDPC是常用的编解码,只需要说明使用的是LDPC编解码即可。简单说就是它提供了一个计算量较为适中的数组,也就是奇偶校验码,这个码会和数据进行编码,相应解码的时候也需要用这个数组进行循环解码,这是个常用的编解码,相关知识是通用的。
S5,判断执行静态ECC纠错是否发生ECC错误;若执行静态ECC纠错未发生ECC错误,则结束操作;
其中,S5步骤中的ECC错误,同上述S1步骤中的ECC错误类似。具体地,静态ECC指的是编解码的校验位长度是固定的(这就是静态的来历),如果校验位长度是变化的就是动态ECC。另外,进一步说明静态ECC与动态ECC的区别:目前,绝大多数固态硬盘都采用静态ECC纠错方案。ECC纠错单元(用户数据)和ECC校准数据的大小在整个固态硬盘生命周期中是固定的,即纠错能力始终保持不变。由于闪存在使用初期比特翻转的概率较小,随着闪存的使用,错误的概率逐渐增加。因此,一些固态硬盘开始使用动态ECC纠错方案:开始使用更少的纠错码,以便在闪存页面中存储更多的用户数据;随着固态硬盘的使用,纠错能力需要加强,用户数据在闪存页面中的比例越小,纠错码的比例越大。动态ECC纠错方案是随着固态硬盘的使用,动态调整其ECC纠错能力。
S6,若执行静态ECC纠错发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;
具体地,获取PE值,并将PE值右移10位,起到的效果是PE除以1024取整,例如TLCPE<1024时,L=0,如果大于1024小于2048时L=1。
具体地,获取PE值指的是固件会统计一张table表,一旦发现闪存被完全擦写一次就记录成1次P/E,并把它记录到闪存特定的空间里保存。
S7,判断静态ECC纠错的循环次数是否等于L值;若静态ECC纠错的循环次数不等于L值,则跳转执行S10步骤;
其中,固件中会设定一个最大次数为L,即ECC纠错最多循环L次。L值为0或1或其他值。
S8,若静态ECC纠错的循环次数等于L值,则执行Riad解码;
具体地,执行Riad解码,得到的结果是把错误的数据进行了纠回,即ECC错误了说明data发生了错误,错误的data再通过Raid来进行纠错。
S9,将闪存重读需要执行的level次数增加,并返回执行所述若读页数据发生ECC错误,则进入正常的闪存重读状态;
具体地,这是闪存重读功能,它提供了调整参考电压的方式进行数据重读,一般而言不同闪存厂商提供了36档电压调整,这里的Level指的就是这36档参考电压调整,使有机会通过调整参考电压来读取出正确的数据。
S10,记录静态ECC纠错的循环次数,并返回执行所述若闪存重读已做完所有的level,则执行静态ECC纠错。
具体地,静态ECC纠错会做循环,记录循环的次数。
本发明根据PE使用状况动态调整静态ECC纠错流程,使不同PE时使用不同的静态ECC纠错能力,使静态ECC纠错方案同样能够随着固态硬盘的使用,纠错能力也逐步加强,完善了静态ECC纠错的流程,从而实现高效的静态ECC纠错的NAND错误流程保护。
请参阅图2所示,本发明还公开了一种静态ECC纠错的NAND错误处理装置,包括:发生进入单元10,第一判断单元20,第二判断单元30,第一执行单元40,第三判断单元50,获取得到单元60,第四判断单元70及第二执行单元80;
所述发生进入单元10,用于若读页数据发生ECC错误,则进入正常的闪存重读状态;
所述第一判断单元20,用于判断进入正常的闪存重读状态是否发生ECC错误;
所述第二判断单元30,用于若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level;
所述第一执行单元40,用于若闪存重读已做完所有的level,则执行静态ECC纠错;
所述第三判断单元50,用于判断执行静态ECC纠错是否发生ECC错误;
所述获取得到单元60,用于若执行静态ECC纠错发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;
所述第四判断单元70,用于判断静态ECC纠错的循环次数是否等于L值;
所述第二执行单元80,用于若静态ECC纠错的循环次数等于L值,则执行Riad解码。
其中,该装置还包括:增加返回单元90,用于若闪存重读未做完所有的level,则将闪存重读需要执行的level次数增加,并返回执行所述若读页数据发生ECC错误,则进入正常的闪存重读状态。
其中,所述第一执行单元40中,通过低密度奇偶校验码执行静态ECC纠错。
其中,该装置还包括:纠错返回单元100,用于若静态ECC纠错的循环次数不等于L值,则记录静态ECC纠错的循环次数,并返回执行所述若闪存重读已做完所有的level,则执行静态ECC纠错。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述静态ECC纠错的NAND错误处理装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述静态ECC纠错的NAND错误处理装置可以实现为一种计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
请参阅图3,图3是本申请实施例提供的一种计算机设备的示意性框图;该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图3,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种静态ECC纠错的NAND错误处理方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种静态ECC纠错的NAND错误处理方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
步骤S1,若读页数据发生ECC错误,则进入正常的闪存重读状态;
步骤S2,判断进入正常的闪存重读状态是否发生ECC错误;
步骤S3,若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level;
步骤S4,若闪存重读已做完所有的level,则执行静态ECC纠错;
步骤S5,判断执行静态ECC纠错是否发生ECC错误;
步骤S6,若执行静态ECC纠错发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;
步骤S7,判断静态ECC纠错的循环次数是否等于L值;
步骤S8,若静态ECC纠错的循环次数等于L值,则执行Riad解码。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述的静态ECC纠错的NAND错误处理方法。该存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述的方法。该程序指令包括以下步骤:
步骤S1,若读页数据发生ECC错误,则进入正常的闪存重读状态;
步骤S2,判断进入正常的闪存重读状态是否发生ECC错误;
步骤S3,若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level;
步骤S4,若闪存重读已做完所有的level,则执行静态ECC纠错;
步骤S5,判断执行静态ECC纠错是否发生ECC错误;
步骤S6,若执行静态ECC纠错发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;
步骤S7,判断静态ECC纠错的循环次数是否等于L值;
步骤S8,若静态ECC纠错的循环次数等于L值,则执行Riad解码。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
上述实施例为本发明较佳的实现方案,除此之外,本发明还可以其它方式实现,在不脱离本技术方案构思的前提下任何显而易见的替换均在本发明的保护范围之内。

Claims (10)

1.静态ECC纠错的NAND错误处理方法,其特征在于,包括以下步骤:
若读页数据发生ECC错误,则进入正常的闪存重读状态;
判断进入正常的闪存重读状态是否发生ECC错误;
若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level;
若闪存重读已做完所有的level,则执行静态ECC纠错;
判断执行静态ECC纠错是否发生ECC错误;
若执行静态ECC纠错发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;
判断静态ECC纠错的循环次数是否等于L值;
若静态ECC纠错的循环次数等于L值,则执行Riad解码;
其中,获取PE值指的是固件统计一张table表,一旦发现闪存被完全擦写一次就记录成1次P/E,并把它记录到闪存特定的空间里保存;执行Riad解码,得到的结果是把错误的数据进行纠回,即ECC错误说明data发生错误,错误的data再通过Raid来进行纠错。
2.根据权利要求1所述的静态ECC纠错的NAND错误处理方法,其特征在于,所述若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level步骤之后,若闪存重读未做完所有的level,则将闪存重读需要执行的level次数增加,并返回执行所述若读页数据发生ECC错误,则进入正常的闪存重读状态。
3.根据权利要求1所述的静态ECC纠错的NAND错误处理方法,其特征在于,所述若闪存重读已做完所有的level,则执行静态ECC纠错步骤中,通过低密度奇偶校验码执行静态ECC纠错。
4.根据权利要求1所述的静态ECC纠错的NAND错误处理方法,其特征在于,所述判断静态ECC纠错的循环次数是否等于L值步骤之后,还包括:若静态ECC纠错的循环次数不等于L值,则记录静态ECC纠错的循环次数,并返回执行所述若闪存重读已做完所有的level,则执行静态ECC纠错。
5.静态ECC纠错的NAND错误处理装置,其特征在于,包括:发生进入单元,第一判断单元,第二判断单元,第一执行单元,第三判断单元,获取得到单元,第四判断单元及第二执行单元;
所述发生进入单元,用于若读页数据发生ECC错误,则进入正常的闪存重读状态;
所述第一判断单元,用于判断进入正常的闪存重读状态是否发生ECC错误;
所述第二判断单元,用于若进入正常的闪存重读状态发生ECC错误,则判断闪存重读是否已做完所有的level;
所述第一执行单元,用于若闪存重读已做完所有的level,则执行静态ECC纠错;
所述第三判断单元,用于判断执行静态ECC纠错是否发生ECC错误;
所述获取得到单元,用于若执行静态ECC纠错发生ECC错误,则获取PE值,并将PE值右移10位,以得到L值;
所述第四判断单元,用于判断静态ECC纠错的循环次数是否等于L值;
所述第二执行单元,用于若静态ECC纠错的循环次数等于L值,则执行Riad解码;
其中,获取PE值指的是固件统计一张table表,一旦发现闪存被完全擦写一次就记录成1次P/E,并把它记录到闪存特定的空间里保存;执行Riad解码,得到的结果是把错误的数据进行纠回,即ECC错误说明data发生错误,错误的data再通过Raid来进行纠错。
6.根据权利要求5所述的静态ECC纠错的NAND错误处理装置,其特征在于,还包括:增加返回单元,用于若闪存重读未做完所有的level,则将闪存重读需要执行的level次数增加,并返回执行所述若读页数据发生ECC错误,则进入正常的闪存重读状态。
7.根据权利要求5所述的静态ECC纠错的NAND错误处理装置,其特征在于,所述第一执行单元中,通过低密度奇偶校验码执行静态ECC纠错。
8.根据权利要求5所述的静态ECC纠错的NAND错误处理装置,其特征在于,还包括:纠错返回单元,用于若静态ECC纠错的循环次数不等于L值,则记录静态ECC纠错的循环次数,并返回执行所述若闪存重读已做完所有的level,则执行静态ECC纠错。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的静态ECC纠错的NAND错误处理方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-4中任一项所述的静态ECC纠错的NAND错误处理方法。
CN202210692393.1A 2022-06-17 2022-06-17 静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质 Active CN114913900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210692393.1A CN114913900B (zh) 2022-06-17 2022-06-17 静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210692393.1A CN114913900B (zh) 2022-06-17 2022-06-17 静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN114913900A CN114913900A (zh) 2022-08-16
CN114913900B true CN114913900B (zh) 2025-09-02

Family

ID=82772570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210692393.1A Active CN114913900B (zh) 2022-06-17 2022-06-17 静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114913900B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116679991B (zh) * 2023-05-10 2024-02-23 珠海妙存科技有限公司 存储器的启动管理方法、系统、设备及存储介质
CN118535373B (zh) * 2024-07-26 2024-10-15 深圳佰维存储科技股份有限公司 固态硬盘数据纠错方法、装置、设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1779838A (zh) * 2004-10-11 2006-05-31 三星电子株式会社 执行可变数量的纠错重复的数字信号处理方法和装置
CN108717385A (zh) * 2018-05-23 2018-10-30 中国科学院微电子研究所 一种用于闪存的数据恢复方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241549B (zh) * 2016-12-27 2021-04-30 北京兆易创新科技股份有限公司 基于ECC的NAND数据Read Retry纠错方法和NAND控制器
CN108647111B (zh) * 2018-05-14 2021-06-11 联芸科技(杭州)有限公司 用于存储器的读取控制装置、读取控制方法和存储器控制器
CN110752850B (zh) * 2019-08-27 2023-04-07 广东工业大学 一种mlc闪存芯片ldpc码快速迭代的方法
CN112447241A (zh) * 2020-11-25 2021-03-05 合肥大唐存储科技有限公司 一种实现数据重读的方法、装置、计算机存储介质及终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1779838A (zh) * 2004-10-11 2006-05-31 三星电子株式会社 执行可变数量的纠错重复的数字信号处理方法和装置
CN108717385A (zh) * 2018-05-23 2018-10-30 中国科学院微电子研究所 一种用于闪存的数据恢复方法及系统

Also Published As

Publication number Publication date
CN114913900A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
US11334413B2 (en) Estimating an error rate associated with memory
US10803971B2 (en) Device for supporting error correction code and test method thereof
US9442796B2 (en) Memory controller supporting rate-compatible punctured codes
CN104937555B (zh) 用于控制存储器装置的方法和控制器及存储器系统
KR101576102B1 (ko) 플래시 메모리의 블록으로부터 데이터를 판독하는 방법 및 관련 메모리 장치
US10417087B2 (en) System and method for adaptive multiple read of NAND flash
US8321757B2 (en) Method and apparatus for error correction
US9130597B2 (en) Non-volatile memory error correction
TWI332611B (en) Method for writing data in flash memory and error correction coding/decoding method thereof
US11119847B2 (en) System and method for improving efficiency and reducing system resource consumption in a data integrity check
CN114913900B (zh) 静态ecc纠错的nand错误处理方法、装置、计算机设备及存储介质
TW201921281A (zh) 具備資料可靠性機制的儲存系統及其操作方法
CN101308706B (zh) 适用于闪存的数据写入方法及错误修正编解码方法
US20150149856A1 (en) Decoding with log likelihood ratios stored in a controller
CN110535476B (zh) Ldpc软译码器软信息存储优化方法、装置、计算机设备及存储介质
JP2020046823A (ja) メモリシステム
CN115729746A (zh) 一种基于crc和ecc存储数据保护方法
CN114356645B (zh) 用于数据纠错的方法、装置、电子设备及存储介质
CN117409845A (zh) 分组管理方法、存储器存储装置及存储器控制器
US10867663B2 (en) Control method for memory and non-transitory computer-readable media
CN108170554B (zh) 一种nand的数据编码方法和装置
US20250245101A1 (en) Memory control method and memory storage device
TWI908216B (zh) 記憶體控制方法及記憶體儲存裝置
US20250077418A1 (en) Memory device control method and associated apparatus
CN112540866B (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
GR01 Patent grant