CN111813591B - Nand Flash的数据纠错方法、装置、电子设备及存储介质 - Google Patents

Nand Flash的数据纠错方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111813591B
CN111813591B CN202010630517.4A CN202010630517A CN111813591B CN 111813591 B CN111813591 B CN 111813591B CN 202010630517 A CN202010630517 A CN 202010630517A CN 111813591 B CN111813591 B CN 111813591B
Authority
CN
China
Prior art keywords
error correction
data
nand flash
correction coding
coding scheme
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
CN202010630517.4A
Other languages
English (en)
Other versions
CN111813591A (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.)
STMicroelectronics Shenzhen R&D Co Ltd
Original Assignee
STMicroelectronics Shenzhen R&D 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 STMicroelectronics Shenzhen R&D Co Ltd filed Critical STMicroelectronics Shenzhen R&D Co Ltd
Priority to CN202010630517.4A priority Critical patent/CN111813591B/zh
Publication of CN111813591A publication Critical patent/CN111813591A/zh
Application granted granted Critical
Publication of CN111813591B publication Critical patent/CN111813591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

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)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本发明公开了一种Nand Flash的数据纠错方法,包括:当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率;根据评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;利用目标纠错编码方案对待写入的数据进行纠错编码,得到正确的编码数据;将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至Nand Flash冗余区。通过实施本方案,可提高评估误码率的准确度,根据误码率选择不同的目标纠错编码方案进行纠错编码,降低资源占用和功耗,提高Nand Flash处理器在不同误码率下的纠错编码效率。

Description

Nand Flash的数据纠错方法、装置、电子设备及存储介质
技术领域
本发明涉及Nand Flash数据技术领域,尤其涉及一种Nand Flash的数据纠错方法、装置、电子设备及存储介质。
背景技术
3D(Three Dimensions,三维)垂直设计的Nand Flash(闪存)芯片已逐步实现在硅片上进行垂直堆叠的结构设计,以及Nand Flash发展了多比特存储技术,使得芯片存储技术从单比特的SLC(Single Level Cel,单层单元)和逐步发展到两比特MLC(Multi-LevelCell,多层单元)、三比特和四比特等。但是,Nand Flash芯片在使用时,随着编程/擦除次数的增加,芯片的隧道氧化物的磨损会增大,使得电荷的流失加大,从而导致误码率变高。
为了解决上述问题,相关技术在对Nand Flash的数据进行纠错时,主要是基于最差情况进行ECC代码设计,如基于1K字节包含70位错误的情况进行ECC设计,该技术能够降低Nand Flash的数据的误码率;但是,在Nand Flash的初始使用阶段时,由于编辑次数较少,误码率也较低,即不同阶段的使用,数据的保持时间不同,误码率也是不同的,如果基于最差情况进行ECC代码设计,会造成运算时间和存储空间的浪费,使得Nand Flash处理器的纠错效率低。
因此,有必要提出一种新的Nand Flash的数据纠错技术。
发明内容
本申请提供了一种Nand Flash的数据纠错方法、装置、电子设备及存储介质,可以解决Nand Flash处理器的纠错效率低的技术问题。
本发明第一方面提供一种Nand Flash的数据纠错方法,所述方法包括:
当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率;
根据所述评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;
利用所述目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据;
将所述编码数据储存至Nand Flash数据区,及将所述目标纠错编码方案储存至所述Nand Flash冗余区。
可选的,所述将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型的步骤之前包括:
接收Nand Flash芯片的测试数据,所述测试数据包括:多个不同的映射指标及所述映射指标对应的所述误码率,所述映射指标包含所述编辑次数及所述数据保持时间;
分别利用所述映射指标及对应的所述误码率按照预设的多项式拟合规则进行建模,得到所述Nand Flash误码率模型。
可选的,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率的步骤包括:
访问Nand Flash芯片的所述Nand Flash冗余区;
提取所述Nand Flash冗余区中的所述编辑次数;
将预设的所述数据保持时间及所述编辑次数输入所述Nand Flash误码率模型,得到所述评估的误码率。
可选的,所述根据所述评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案的步骤包括:
根据所述评估的误码率计算所述中的错误比特数,所述误码率为所述错误比特数占所述待写入数据的比率;
根据所述错误比特数与预设的错误比特数阈值对比,并根据对比结果选取所述纠错编码方案列表中的所述目标纠错编码方案。
可选的,所述目标纠错编码方案包括:单级纠错编码方案及级联纠错编码方案,则所述根据所述错误比特数与预设的错误比特数阈值对比,并根据对比结果选取所述纠错编码方案列表中的所述目标纠错编码方案的步骤包括:
将所述错误比特数与预设的错误比特数阈值对比;
若所述对比结果为所述错误比特数小于或等于所述错误比特数阈值,则选取所述纠错编码方案列表中的所述单级纠错编码方案作为所述目标纠错编码方案;
若所述对比结果为所述错误比特数大于所述错误比特数阈值,则选取所述纠错编码方案列表中的所述级联纠错编码方案作为所述目标纠错编码方案。
可选的,所述将所述编码数据储存至Nand Flash数据区,及将所述目标纠错编码方案储存至所述Nand Flash冗余区的步骤之后包括:
当接收到读取指令时,获取所述Nand Flash冗余区中的目标纠错编码方案,及获取所述Nand Flash数据区中的待解码数据,所述待解码数据为所述编码数据;
根据所述目标纠错编码方案确定所述待解码数据的目标纠错解码方案;
根据所述目标纠错解码方案对所述待解码数据进行解码纠错,得到正确的解码数据。
本发明第二方面提供一种Nand Flash的数据纠错装置,所述装置包括:
评估模块,用于当接收到编程指令时,将预设的数据保持时间及获取的NandFlash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率;
选取模块,用于根据所述评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;
纠错模块,用于利用所述目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据;
储存模块,用于将所述编码数据储存至Nand Flash数据区,及将所述目标纠错编码方案储存至所述Nand Flash冗余区。
可选的,所述装置还包括:
获取模块,用于当接收到读取指令时,获取所述Nand Flash冗余区中的目标纠错编码方案,及获取所述Nand Flash数据区中的待解码数据,所述待解码数据为所述编码数据;
确定模块,用于根据所述目标纠错编码方案确定所述待解码数据的目标纠错解码方案;
解码模块,用于根据所述目标纠错解码方案对所述待解码数据进行解码纠错,得到正确的解码数据。
本发明第三方面提供一种电子设备,包括:存储器、处理器及通信总线,所述通信总线分别与所述存储器及所述处理器通信连接,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时,实现如第一方面所述的Nand Flash的数据纠错方法方法中的各个步骤。
本发明第四方面提供一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的Nand Flash的数据纠错方法方法中的各个步骤。
本发明提供的Nand Flash的数据纠错方法,包括:当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率;根据评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;利用目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据;将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至Nand Flash冗余区。通过实施本方案,通过Nand Flash的编辑次数及数据保持时间评估误码率,提高评估误码率的准确度,且根据误码率选择不同的目标纠错编码方案,并利用目标纠错编码方案对待写入数据进行纠错编码,降低资源占用和功耗,提高Nand Flash处理器在不同误码率下的纠错编码效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本发明实施例提供的Nand Flash结构示意图;
图1b为本发明实施例提供的Nand Flash存储阵列结构的示意图
图2为本发明实施例提供的Nand Flash误码率模型的示意图;
图3为本发明实施例提供的Nand Flash的数据纠错方法的步骤流程图;
图4为本发明实施例提供的Nand Flash的数据纠错方法的又一步骤流程图;
图5为图4提供的Nand Flash的数据纠错方法的细化步骤流程图;
图6为本发明实施例的Nand Flash的数据纠错装置的模块方框图;
图7为本发明实施例提供的电子设备的架构图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中Nand Flash处理器的纠错效率低的技术问题。
为了解决上述技术问题,本发明提出一种Nand Flash的数据纠错方法、装置、电子设备及存储介质。
请参阅图1a和图1b,图1a为本发明实施例提供的闪存Nand Flash的结构示意图,在该结构示意图为一个LUN(Logical Unit Nunber)的结构图,一个LUN代表一个NandFlash(闪存)芯片,在该Nand Flash的结构示意图中,一个Nand Flash芯片包含存储阵列结构101和缓存结构102两部分。一方面,该存储阵列结构101拥有两个Plane1011(部分或级等),每个Plane1011包含2048个block(物理块或存储物理块),每个LUN包含4096个block,每个block里面有128个page(页),每个页包含8.448K字节。
进一步的,请参阅图1b,图1b为本发明实施例提供的Nand Flash存储阵列结构的示意图,每个页里面包括:数据区和冗余区,其中,数据区包含可存储8K字节,冗余区包含或存储0.448K字节,本发明实施例将上述的数据区统称为Nand Flash数据区10111,及将上述冗余区统称为Nand Flash冗余区10112,每个Plane包含:Nand Flash数据区10111和NandFlash冗余区10112。
可以理解的是,Nand Flash数据区10111用于储存写入的数据,而Nand Flash冗余区10112用于储存:地址映射信息、芯片编辑次数、ECC校验码、坏块管理等信息;另一方面,缓存结构102包括:Cache Register1021(高速缓冲存储器)和Data Register1022(数据寄存器),可以理解的是,存储阵列结构在逻辑上划分为两个Plane1011,在每个Plane1011划分为2048个block,每个block划分为128个page,每个页包含8.448K字节,缓存结构102也相应地划分为相同的阵列,以实现的存储阵列结构中的数据与缓存结构中的地址映象,以提高数据处理的速度,如数据读取、储存或测试,但不限于此,其他Nand Flash数据处理方式也属于本实施例所包含的范围。
导致Nand Flash的可靠性退化的两个因素为:Nand Flash中数据的编辑次数(编程/擦除的次数)和Nand Flash采用了多比特存储技术。一方面,对Nand Flash存储阵列数据编辑会导致隧穿氧化层退化,具体的,编辑操作主要是依赖于电荷通过薄氧化层传输,并通过Fowler Nordheim(FN)隧穿进出存储层,在隧穿后,将陷阱充电到氧化物和界面状态来物理地磨损氮化硅薄膜的隧道氧化物;可能会导致在隧道氧化物中捕获电荷,或者多余的电荷流入/流出存储层,从而降低了存储单元的阈值电压,降低了可靠性。另一方面,采用了多比特存储技术后,栅极阈值电压的变化领域被划分为多个小区域,使得区域之间的容错率太小,导致邻近区域之间的阈值电压极易受到相互影响,从而产生错误位;从SLC到TLC,Nand Flash存储的原始误码率直接降低了10-3量级,这将降低了可靠性,因此,为了保证Nand Flash存储数据的读出正确性,通常在Nand Flash处理器中会引入ECC(ErrorCorrecting Code,纠错码),降低误码率。
本发明实施例的ECC纠错方案的设计是基于误码率确定的,因此,需要分析NandFlash存储阵列中数据的误码率。由于不同的编程/擦除次数和数据保持时间会影响NandFlash数据的误码率,为了准确评估误码率,需要执行一下操作:
一、首先需要进行芯片测试,以测试不同的编辑次数和数据保持时间对误码率的影响。一般地,3D Nand Flash的编辑次数大约为3000次,测试方案根据编辑次数进行设定,测试过程如下:1、对Nand Flash芯片的奇数页编程写入“0x55”向量,偶数页编程写入“0xAA”向量,编程后读出数据,然后另存为独立的文件;2、对Nand Flash进行100次编程/擦除循环;3、采用高温环境加速芯片的老化来缩短测试时长,将Nand Flash放入125℃高温箱,设置每5分钟进行1次数据读取操作,将读取结果与独立文件进行对比,记录错误比特数;4、当测试时间达到100小时(等效55℃下10年),停止测试;5、每次对Nand Flash增加100次编程/擦除循环,重复步骤3和4;6、当Nand Flash编程/擦除循环次数达到3000次时,测试结束;7、将得到的测试数据(编辑次数、数据保持时间及误码率)建立表格或记录至表格,本实施例不对表格的绘制和记录做进一步赘述,只要体现以编辑次数和数据保持时间作为误码率的共同影响因素,体现误码率在该共同因素的影响下的变化即可。通过本阶段对芯片进行测试,可分析在编辑次数和数据保持时间的共同影响下的误码率变化情况,提高评估误码率的准确度。
二、根据测试数据对Nand Flash的误码率分布情况进行建模拟合,具体通过多项式拟合的方式进行建模,得到Nand Flash误码率模型。在建模后,使得处理器可根据NandFlash当前的编辑次数和数据保持时间预估写入或编程数据时的误码率。
三、请参阅图2,为本发明实施例提供的Nand Flash误码率模型的示意图;获取Nand Flash的编辑次数和数据保持时间,将获取的Nand Flash存储阵列的编辑次数和数据保持时间输入Nand Flash误码率模型201,可得到对应的评估的误码率,通过借助本实施例的Nand Flash误码率模型201,可提高获取误码率的效率和准确度。
请参阅图3,为本发明实施例提供的Nand Flash的数据纠错方法的步骤流程图,本发明实施例提供一种Nand Flash的数据纠错方法,该方法以应用于图1所示的Nand Flash存储阵列为例,评估图1所示的Nand Flash存储阵列的误码率,并基于误码率选取纠错编码方案,具体的,Nand Flash对应的处理器执行程序时,实现本实施例的Nand Flash的数据纠错方法,该方法包括以下步骤:
步骤S301:当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率。
具体的,该编程指令可为人为输入的编程启动指令,也可为人机触发的编程启动指令,该编程指令通过处理器接收到,该处理器的为计算机的处理器,也可为专门应用于Nand Flash的数据编辑的控制单元或数据处理单元,当处理器编程指令时,访问NandFlash存储阵列中的Nand Flash冗余区,从Nand Flash冗余区中获取当前的编辑次数,并利用编辑次数和预设的数据保持时间通过Nand Flash误码率模型评估对应的误码率。
其中,Nand Flash误码率模型包含不同的映射指标与误码率的映射关系,映射指标包含编辑次数及数据保持时间。可以理解的是,该Nand Flash误码率模型是利用编辑次数及数据保持时间作为映射指标,通过该映射指标可获取对应的误码率。需要说明的是,利用映射指标通过Nand Flash误码率模型获取的误码率为Nand Flash或芯片当前的误码率,若对当前的Nand Flash芯片进行编程或写入数据,编程后或写入后的Nand Flash芯片会存在当前评估的误码率对应的错误比特数。因此,在对Nand Flash芯片进行编程或写入数据前,需要评估Nand Flash或芯片当前的误码率,通过本步骤S301,可提高获取Nand Flash芯片误码率的准确度。
步骤S302:根据评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案。
具体的,预设的纠错编码方案列表包含多个纠错编码方案,该纠错编码方案为包含ECC(Error Correcting Code,纠错码)码和编码方式,多个纠错编码方案之间采用的ECC纠错码和编码方式不同。优选的,本实施例包含两种纠错编码方案,如包含:单级纠错编码方案和级联纠错编码方案,此外,单级纠错编码方案和级联纠错编码方案采用的ECC纠错码和编码方式不同,如单级纠错编码方案采用单级编码方式的,及采用的纠错码为BCH码;而级联纠错编码方案采用级联编码方式,及采用的纠错码是RS码和BCH码的组合,此外,级联纠错编码方案还可采用RS码和LDPC码的组合等其他的纠错码;需要说明的是,对待写入的数据进行编码纠错后,将编码后的数据存入Nand Flash数据区,且将编码后的纠错编码方案存储至Nand Flash冗余区,由于不同的纠错编码方案的纠错码的长度不同,若采用较长的ECC纠错码,处理器需要花费较多的运算时间,且会压缩其他信息(如编辑次数等信息数据)的存储,因此,需要根据评估的误码率选取包含适合纠错且具有较短纠错码的纠错编码方案,以实现编码后节省Nand Flash冗余区的存储空间。进一步的,根据不同复杂程度的误码率选取预设的纠错编码方案列表中的目标纠错编码方案,该目标纠错编码方案为单前的误码率对应的纠错编码方案。通过实施本步骤的方案,可根据不同的误码率选取对应的纠错编码方案,可减少运算时间,且节省存储空间。
步骤S303:利用目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据。
具体的,在选取纠错编码方案后,利用纠错编码方案对待写入的数据进行纠错编码,可得到经过纠错编码后的准确的编码数据。例如,当误码率较低时,选用的纠错编码方案为单级纠错编码方案,单级纠错编码方案为较为简单的纠错编码方案,具有运算时间短的特点,其纠错码为BCH码,即单级纠错编码方案的纠错码的码长较短,该单级纠错编码方案应用于误码率较低的Nand Flash寿命期间,需要说明的是,Nand Flash寿命期与NandFlash的编辑次数和数据保持时间相关,由于Nand Flash芯片的初始使用阶段的数据出现的误码率较低,采用单级纠错编码方案即可对待写入的数据完成纠错编码;当误码率高于特定值时,则选用级联纠错编码方案,其纠错码可选择为RS码和BCH码的组合,级联纠错编码方案具有纠错能力强的优点,且级联纠错编码方案的运算较为复杂,需要花费较多的运算时间,适用于误码率较大情况下的对待写入数据的纠错编码。因此,无论数据中误码率对应的错误比特数目多少,都需要运行完整的ECC算法才能完成校验(纠错编码)。通过实施本步骤方案,可实现根据选取的目标纠错编码方案对待写入的数据进行编码,可提高数据的准确度,防止待写入的数据在编码后出现错误的情况,具有较高的可靠性。
步骤S304:将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至Nand Flash冗余区。
具体的,在待写入数据进行纠错编码后,将得到的编码数据和目标纠错编码方案储存至Nand Flash存储阵列结构内,其中,Nand Flash存储阵列结构包括:Nand Flash数据区和Nand Flash冗余区。通过将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至Nand Flash冗余区,以实现对数据和目标纠错编码方案的保存,为纠错解码提供待解码数据和解码纠错方案的解码基础;需要说明的是,当将编码数据储存至Nand Flash数据区,且将目标纠错编码方案储存至Nand Flash冗余区后,表示对Nand Flash完成一次编辑(数据擦除及擦除后的编程),则Nand Flash冗余区的编辑次数加1,因此,每一次对Nand Flash的编辑(擦除及擦除后进行编程),将会使得Nand Flash冗余区的编辑次数的更新。通过实施本步骤的技术,可以实现对编码数据和目标纠错编码方案的储存,提高NandFlash的可靠性。
本实施例提供一种Nand Flash的数据纠错方法,包括:当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率,其中,Nand Flash误码率模型包含不同的映射指标与误码率的映射关系,映射指标包含编辑次数及数据保持时间;根据评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;利用目标纠错编码方案对待写入的数据进行纠错编码,得到正确的编码数据;将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至Nand Flash冗余区。通过实施本方案,通过Nand Flash的编辑次数及数据保持时间评估误码率,提高评估误码率的准确度,且根据误码率选择不同的目标纠错编码方案,并利用目标纠错编码方案对待写入数据进行纠错编码,降低资源占用和功耗,提高Nand Flash处理器在不同误码率下的纠错编码效率。
请参阅图4,为本发明实施例提供的Nand Flash的数据纠错方法的又一步骤流程图,本发明另一实施例提供的Nand Flash的数据纠错方法包括:
S401:接收Nand Flash芯片的测试数据,测试数据包括:多个映射指标及映射指标对应的误码率。
在步骤S401中,接收对Nand Flash芯片测试后的测试数据,该测试数据具体包括:多个编辑次数和多个数据保持时间,还包括多个编辑次数和多个数据保持时间结合的多个映射指标对应的多个误码率,这些多个数据为Nand Flash芯片测试得到的数据,即通过对Nand Flash芯片进行擦除及擦除后的编程,读取编程后的数据,以计算误码率,通过连续的擦除/编程操作,以测试Nand Flash芯片在不同的编辑次数(擦除并擦除后进行编程的次数)及不同的数据保持时间下的误码率,通过这些测试数据可分析Nand Flash芯片系列在编辑次数和数据保持时间因素下的误码率分布情况。
S402:分别利用映射指标及对应的误码率按照预设的多项式拟合规则进行建模,得到Nand Flash误码率模型。
具体的,根据测试数据对Nand Flash的误码率分布情况进行建模拟合,利用映射指标及对应的误码率按照预设的多项式拟合规则进行建模,得到Nand Flash误码率模型。本步骤的方案可提高评估误码率的效率和准确度。
S403:当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率,其中,Nand Flash误码率模型包含不同的映射指标与误码率的映射关系,映射指标包含编辑次数及数据保持时间。
S404:根据评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案。
S405:利用目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据。
S406:将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至NandFlash冗余区。
在本发明实施例中,步骤S403-S406为与前述实施例提供一种Nand Flash的数据纠错方法中的步骤S301-S304相同或相近的技术特征,步骤S403-S406的详细叙述请参考步骤S301-S304的描述,本实施例不做进一步限定。
可选的,步骤S403包括:
访问Nand Flash冗余区。具体的,Nand Flash包含Nand Flash数据区和NandFlash冗余区,Nand Flash数据区用于储存写入的编码数据,该编码数据进可理解为需要储存的数据;Nand Flash冗余区用于储存:目标纠错编码方案、编辑次数等数据,因此,为了评估Nand Flash当前的误码率,需要获取写入数据或进行编码前的编辑次数和数据保持时间,则需要先访问Nand Flash冗余区。
进一步的,提取Nand Flash冗余区中的编辑次数。在访问Nand Flash冗余区后,提取Nand Flash冗余区中的编辑次数。可以理解的是,该编辑次数为上一次将数据写入NandFlash后的编辑次数,即上一次编程后的编辑次数。
进一步的,将预设的数据保持时间及编辑次数输入Nand Flash误码率模型,得到评估的误码率。
具体的,数据保持时间为在本次编辑之前预估待写入数据编程后,在Nand Flash中的总存储时间,如从Nand Flash的首次使用时,将数据写入Nand Flash中直至数据被删除或擦除的时间段为每次对应的数据保持时间,该数据保持时间可用于确定每次编程后的数据所需保存时间或编程后的数据更新/重新编程的频率。在获取Nand Flash冗余区中的编辑次数后,将编辑次数及预设的数据保持时间输入预先建立的Nand Flash误码率模型中,Nand Flash误码率模型根据编辑次数及数据保持时间进行计算或进行映射,得到相应评估的误码率,提高获取Nand Flash或芯片误码率的准确度。
请参阅图5,图5为图4提供的Nand Flash的数据纠错方法的细化步骤流程图,该方法包括:
S401:接收Nand Flash芯片的测试数据,测试数据包括:多个映射指标及映射指标对应的误码率。
S402:分别利用映射指标及对应的误码率按照预设的多项式拟合规则进行建模,得到Nand Flash误码率模型。
S403:当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率,其中,Nand Flash误码率模型包含不同的映射指标与误码率的映射关系,映射指标包含编辑次数及数据保持时间。
进一步的,步骤S404包括:
S4041:根据评估的误码率计算待写入数据中的错误比特数,误码率为错误比特数占待写入数据的比率;
S4042:根据错误比特数与预设的错误比特数阈值对比,并根据对比结果选取纠错编码方案列表中的目标纠错编码方案。
在步骤S404中,在获得评估后的误码率后,利用该评估的误码率计算或预估待写入数据的错误比特数,该待写入数据为编程储存至Nand Flash数据区中数据,比如,NandFlash数据区可储存8K字节,该误码率可为每1K字节对应的误码率;该误码率用于评估或预算待写入数据中出现的错误比特数,及根据误码率可计算单位传输数据中的错误比特数。进一步的,将错误比特数与预设的错误比特数阈值对比,该错误比特数阈值为预先设定的阈值,用于判定待写入数据中出现错误比特数是否为数据包含严重错误的情况,经过对比可得到对比结果,进而根据对比结果选取纠错编码方案列表中的目标纠错编码方案,以实现根据不同的误码率选取对应的纠错编码方案,可减少运算时间,且节省存储空间。
S405:利用目标纠错编码方案对待写入的数据进行纠错编码,得到正确的编码数据。
S406:将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至NandFlash冗余区。
进一步的,目标纠错编码方案包括:单级纠错编码方案及级联纠错编码方案,则步骤S4042具体包括:
将错误比特数与预设的错误比特数阈值对比;
若对比结果为错误比特数小于或等于错误比特数阈值,则选取纠错编码方案列表中的单级纠错编码方案作为目标纠错编码方案;
若对比结果为错误比特数大于错误比特数阈值,则选取纠错编码方案列表中的级联纠错编码方案作为目标纠错编码方案。
具体的,目标纠错编码方案包括:单级纠错编码方案和级联纠错编码方案。将错误比特数与预设的错误比特数阈值对比,假若将预设的错误比特数阈值设定为30,当错误比特数为31、40、70等数值时,错误比特数大于错误比特数阈值30,则判定错误比特数为数据包含严重错误的情况,单位传输数据出现为较为复杂的错误比特数,选取纠错编码方案列表中的级联纠错编码方案(上述包含BCH码和RS码组合的纠错编码方案)作为目标纠错编码方案。假若错误比特数为10、20、29、30等小于或等于30的数值时,错误比特数小于或等于错误比特数阈值30,则判定错误比特数为数据包含轻度错误的情况,单位传输数据出现为较为简单的错误比特数,选取纠错编码方案列表中的单级纠错编码方案(上述包含BCH码的纠错编码方案)作为目标纠错编码方案。
进一步的,在步骤S304或步骤S406之后包括:
当接收到读取指令时,获取Nand Flash冗余区中的目标纠错编码方案,及获取Nand Flash数据区中的待解码数据,待解码数据为编码数据;
根据目标纠错编码方案确定待解码数据的目标纠错解码方案;
根据目标纠错解码方案对待解码数据进行解码纠错,得到正确的解码数据。
具体的,本发明的上述实施例的Nand Flash的数据纠错方法还包括:对写入NandFlash储存阵列的数据进行解码纠错,该解码的过程可为数据读取过程,通过解码,可实现准确读取Nand Flash存储阵列中的编码数据,需要说明的是,解码过程并不是对NandFlash数据区的数据进行删除/擦除,具体为数据读取过程中对数据进行分析、解译的过程。在接收读取指令时,提取Nand Flash冗余区中的目标纠错编码方案,该目标纠错编码方案为上一次向Nand Flash写入数据时的纠错编码方案,需要说明的是,Nand Flash储存阵列包含多个数据,向Nand Flash冗余区提取的目标纠错编码方案为所需要解码的数据对应的纠错编码方案,其中所需要解码的数据为待解码数据,该待解码数据于本次解码操作之前已写入Nand Flash中的Nand Flash数据区。进一步的,根据提取的目标纠错编码方案确定待解码数据对应的目标纠错解码方案,具体的,分析提取的目标纠错编码方案,得到该目标纠错编码方案的编码方式和纠错码,比如,当目标纠错编码方案为单级纠错编码方案时,编码方式为单级纠错编码方式,纠错码为BCH码,根据该编码方式和纠错码确定单级纠错解码方案为目标纠错解码方案;当目标纠错编码方案为级联纠错编码方案时,编码方式为级联纠错编码方式,纠错码为BCH码和RS码的组合码,根据该编码方式和纠错码确定级联纠错解码方案为目标纠错解码方案。此外,根据目标纠错解码方案对待解码数据进行解码纠错,得到正确的解码数据,经过解码纠错得到的解码数据为准确的可读取数据,可供用户的读取,具有可靠性。
需要说明的是,数据读取操作不属于对Nand Flash的编辑(擦除/编程),在完成上述的解码过程后,可读取到存储在Nand Flash数据区中的数据,Nand Flash冗余区的编辑次数不会递增。
请参阅图6,图6为本发明实施例提供的Nand Flash的数据纠错装置,该装置对应于上述的Nand Flash的数据纠错方法,该装置600包括:
评估模块601,用于当接收到编程指令时,将预设的数据保持时间及获取的NandFlash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率,其中,Nand Flash误码率模型包含不同的映射指标与误码率的映射关系,映射指标包含编辑次数及数据保持时间;
选取模块602,用于根据评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;
编码模块603,用于利用目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据;
储存模块604,用于将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至Nand Flash冗余区。
本发明提供的一种Nand Flash的数据纠错装置,包括:评估模块601、选取模块602、编码模块603及储存模块604。其中,当接收到编程指令时,通过评估模块601将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率,其中,Nand Flash误码率模型包含不同的映射指标与误码率的映射关系,映射指标包含编辑次数及数据保持时间;通过选取模块602根据评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;通过编码模块603利用目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据;通过储存模块604将编码数据储存至NandFlash数据区,及将目标纠错编码方案储存至Nand Flash冗余区。通过实施本方案,通过评估模块601根据Nand Flash的编辑次数及数据保持时间评估误码率,提高评估误码率的准确度,且通过选取模块602根据误码率选择不同的目标纠错编码方案,并利用目标纠错编码方案对待写入数据进行纠错编码,降低资源占用和功耗,提高Nand Flash处理器在不同误码率下的纠错编码效率。
进一步的,该装置600还包括:获取模块605、确定模块606及解码模块607,具体如下:
获取模块605,用于当接收到读取指令时,获取Nand Flash冗余区中的目标纠错编码方案,及获取Nand Flash数据区中的待解码数据,待解码数据为编码数据。
确定模块606,用于根据目标纠错编码方案确定待解码数据的目标纠错解码方案。
解码模块607,用于根据目标纠错解码方案对待解码数据进行解码纠错,得到正确的解码数据。
本发明提供的编程指令Nand Flash的数据纠错装置还包括:获取模块605、确定模块606及解码模块607,这些模块用于对写入Nand Flash储存阵列的数据进行解码的编辑,该解码的过程可为数据读取过程,通过解码,可实现准确读取Nand Flash存储阵列中的编码数据。具体的,在接收读取指令时,通过获取模块605获取Nand Flash冗余区中的目标纠错编码方案,该目标纠错编码方案为上一次向Nand Flash写入数据时的纠错编码方案,或为本次解码编辑之前的其他的目标纠错编码方案,需要说明的是,Nand Flash储存阵列包含多个数据,向Nand Flash冗余区提取的目标纠错编码方案为所需要解码的数据对应的纠错编码方案,其中所需要解码的数据为待解码数据,该待解码数据于本次解码编辑之前已写入Nand Flash中的Nand Flash数据区。进一步的,通过确定模块606根据提取的目标纠错编码方案确定待解码数据对应的目标纠错解码方案,如,分析提取的目标纠错编码方案,得到该目标纠错编码方案的编码方式和纠错码,比如,当目标纠错编码方案为单级纠错编码方案时,编码方式为单级纠错编码方式,纠错码为BCH码,根据该编码方式和纠错码确定单级纠错解码方案为目标纠错解码方案;当目标纠错编码方案为级联纠错编码方案时,编码方式为级联纠错编码方式,纠错码为BCH码和RS码的组合码,根据该编码方式和纠错码确定级联纠错解码方案为目标纠错解码方案。最后,通过解码模块607根据目标纠错解码方案对待解码数据进行解码纠错,得到正确的解码数据,经过解码纠错得到的解码数据为准确的可读取数据。通过本装置提供的获取模块605、确定模块606及解码模块607执行解码过程,得到准确的解码数据,可供用户的读取,具有可靠性。
本发明提供一种电子设备,请参阅图7,为本发明实施例提供的电子设备的架构图,该电子设备包括:存储器701、处理器702及通信总线703,通信总线703分别与存储器701及处理器702通信连接,存储器701与处理器702耦合,存储器701上存储有计算机程序,处理器702执行计算机程序时,实现上述实施例中的Nand Flash的数据纠错方法中的各个步骤。
示例性的,该Nand Flash的数据纠错方法的计算机程序主要包括:当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的NandFlash误码率模型,得到评估的误码率;根据评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;利用目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据;将编码数据储存至Nand Flash数据区,及将目标纠错编码方案储存至Nand Flash冗余区。另外,计算机程序也可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算设备中的执行过程。例如,计算机程序可以被分割成如图6所示的评估模块601、选取模块602、编码模块603、储存模块604、获取模块605、确定模块606及解码模块607。
处理器702可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本发明还提供一种存储介质,存储介质为计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现上述实施例中的Nand Flash的数据纠错方法中的各个步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种Nand Flash的数据纠错方法、装置、电子设备及存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种Nand Flash的数据纠错方法,其特征在于,所述方法包括:
当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率;
根据所述评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;
利用所述目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据;
将所述编码数据储存至Nand Flash数据区,及将所述目标纠错编码方案储存至所述Nand Flash冗余区;
其中,所述根据所述评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案的步骤包括:
根据所述评估的误码率计算所述待写入数据中的错误比特数,所述误码率为所述错误比特数占所述待写入数据的比率;
根据所述错误比特数与预设的错误比特数阈值对比,并根据对比结果选取所述纠错编码方案列表中的所述目标纠错编码方案;
若所述目标纠错编码方案包括:单级纠错编码方案及级联纠错编码方案,则所述根据所述错误比特数与预设的错误比特数阈值对比,并根据对比结果选取所述纠错编码方案列表中的所述目标纠错编码方案的步骤包括:
将所述错误比特数与预设的错误比特数阈值对比;
若所述对比结果为所述错误比特数小于或等于所述错误比特数阈值,则选取所述纠错编码方案列表中的所述单级纠错编码方案作为所述目标纠错编码方案;
若所述对比结果为所述错误比特数大于所述错误比特数阈值,则选取所述纠错编码方案列表中的所述级联纠错编码方案作为所述目标纠错编码方案。
2.根据权利要求1所述的Nand Flash的数据纠错方法,其特征在于,所述将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型的步骤之前包括:
接收Nand Flash芯片的测试数据,所述测试数据包括:多个不同的映射指标及所述映射指标对应的所述误码率,所述映射指标包含所述编辑次数及所述数据保持时间;
分别利用所述映射指标及对应的所述误码率按照预设的多项式拟合规则进行建模,得到所述Nand Flash误码率模型。
3.根据权利要求1所述的Nand Flash的数据纠错方法,其特征在于,所述将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率的步骤包括:
访问Nand Flash芯片的所述Nand Flash冗余区;
提取所述Nand Flash冗余区中的所述编辑次数;
将预设的所述数据保持时间及所述编辑次数输入所述Nand Flash误码率模型,得到所述评估的误码率。
4.根据权利要求1所述的Nand Flash的数据纠错方法,其特征在于,所述将所述编码数据储存至Nand Flash数据区,及将所述目标纠错编码方案储存至所述Nand Flash冗余区的步骤之后包括:
当接收到读取指令时,获取所述Nand Flash冗余区中的目标纠错编码方案,及获取所述Nand Flash数据区中的待解码数据,所述待解码数据为所述编码数据;
根据所述目标纠错编码方案确定所述待解码数据的目标纠错解码方案;
根据所述目标纠错解码方案对所述待解码数据进行解码纠错,得到正确的解码数据。
5.一种Nand Flash的数据纠错装置,其特征在于,包括:
评估模块,用于当接收到编程指令时,将预设的数据保持时间及获取的Nand Flash冗余区的编辑次数输入预设的Nand Flash误码率模型,得到评估的误码率;
选取模块,用于根据所述评估的误码率选取预设的纠错编码方案列表中的目标纠错编码方案;
纠错模块,用于利用所述目标纠错编码方案对待写入数据进行纠错编码,得到正确的编码数据;
储存模块,用于将所述编码数据储存至Nand Flash数据区,及将所述目标纠错编码方案储存至所述Nand Flash冗余区;
所述选取模块具体用于:根据所述评估的误码率计算所述待写入数据中的错误比特数,所述误码率为所述错误比特数占所述待写入数据的比率;根据所述错误比特数与预设的错误比特数阈值对比,并根据对比结果选取所述纠错编码方案列表中的所述目标纠错编码方案;其中,若所述目标纠错编码方案包括单级纠错编码方案及级联纠错编码方案,则将所述错误比特数与预设的错误比特数阈值对比;若所述对比结果为所述错误比特数小于或等于所述错误比特数阈值,则选取所述纠错编码方案列表中的所述单级纠错编码方案作为所述目标纠错编码方案;若所述对比结果为所述错误比特数大于所述错误比特数阈值,则选取所述纠错编码方案列表中的所述级联纠错编码方案作为所述目标纠错编码方案。
6.根据权利要求5所述的Nand Flash的数据纠错装置,其特征在于,所述装置还包括:
获取模块,用于当接收到读取指令时,获取所述Nand Flash冗余区中的目标纠错编码方案,及获取所述Nand Flash数据区中的待解码数据,所述待解码数据为所述编码数据;
确定模块,用于根据所述目标纠错编码方案确定所述待解码数据的目标纠错解码方案;
解码模块,用于根据所述目标纠错解码方案对所述待解码数据进行解码纠错,得到正确的解码数据。
7.一种电子设备,包括:存储器、处理器及通信总线,所述通信总线分别与所述存储器及所述处理器通信连接,其特征在于,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至4任意一项所述的Nand Flash的数据纠错方法中的各个步骤。
8.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至4任意一项所述的Nand Flash的数据纠错方法中的各个步骤。
CN202010630517.4A 2020-07-03 2020-07-03 Nand Flash的数据纠错方法、装置、电子设备及存储介质 Active CN111813591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010630517.4A CN111813591B (zh) 2020-07-03 2020-07-03 Nand Flash的数据纠错方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010630517.4A CN111813591B (zh) 2020-07-03 2020-07-03 Nand Flash的数据纠错方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111813591A CN111813591A (zh) 2020-10-23
CN111813591B true CN111813591B (zh) 2023-12-29

Family

ID=72856737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010630517.4A Active CN111813591B (zh) 2020-07-03 2020-07-03 Nand Flash的数据纠错方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111813591B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562902A (zh) * 2022-01-11 2023-01-03 荣耀终端有限公司 一种存储区域的编码方法、装置及相关设备
CN116521432B (zh) * 2023-04-06 2024-01-09 珠海妙存科技有限公司 一种提高闪存可靠性的方法、控制器和计算机存储介质
CN116467131B (zh) * 2023-06-19 2023-08-25 上海芯联芯智能科技有限公司 一种处理器的ecc功能验证方法、装置、介质和设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103269230A (zh) * 2013-05-28 2013-08-28 中国科学院自动化研究所 一种自适应调整纠错码的容错***及方法
CN106685431A (zh) * 2016-12-05 2017-05-17 华南理工大学 基于Nand Flash的LDPC获取软信息译码方法及编译码器
CN106776104A (zh) * 2016-11-11 2017-05-31 大唐微电子技术有限公司 一种Nand Flash控制器和终端以及控制Nand Flash的方法
CN107562563A (zh) * 2016-07-01 2018-01-09 龙芯中科技术有限公司 Nand Flash控制方法和装置
CN107590021A (zh) * 2017-08-22 2018-01-16 华中科技大学 一种降低闪存误码率的编、解码器和编、解码方法
CN108845890A (zh) * 2018-05-07 2018-11-20 西安电子科技大学 基于Nand Flash存储器阵列的数据校验方法
CN111061592A (zh) * 2019-11-22 2020-04-24 山东航天电子技术研究所 一种通用的Nand Flash比特位反转纠错方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296623B2 (en) * 2007-01-05 2012-10-23 California Institute Of Technology Codes for limited magnitude asymmetric errors in flash memories
US10901840B2 (en) * 2018-06-28 2021-01-26 Western Digital Technologies, Inc. Error correction decoding with redundancy data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103269230A (zh) * 2013-05-28 2013-08-28 中国科学院自动化研究所 一种自适应调整纠错码的容错***及方法
CN107562563A (zh) * 2016-07-01 2018-01-09 龙芯中科技术有限公司 Nand Flash控制方法和装置
CN106776104A (zh) * 2016-11-11 2017-05-31 大唐微电子技术有限公司 一种Nand Flash控制器和终端以及控制Nand Flash的方法
CN106685431A (zh) * 2016-12-05 2017-05-17 华南理工大学 基于Nand Flash的LDPC获取软信息译码方法及编译码器
CN107590021A (zh) * 2017-08-22 2018-01-16 华中科技大学 一种降低闪存误码率的编、解码器和编、解码方法
CN108845890A (zh) * 2018-05-07 2018-11-20 西安电子科技大学 基于Nand Flash存储器阵列的数据校验方法
CN111061592A (zh) * 2019-11-22 2020-04-24 山东航天电子技术研究所 一种通用的Nand Flash比特位反转纠错方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种降低NAND Flash滞留错误的纠错方案;金令旭等;通信技术;141-145 *
面向Nand Flash自适应纠错码方案研究与设计;周懿;计算机工程与设计;289-293 *

Also Published As

Publication number Publication date
CN111813591A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
US10521292B2 (en) Error correction code unit, self-test method and associated controller applied to flash memory device for generating soft information
KR101981355B1 (ko) 메모리 시스템들을 위한 소프트 정보 생성
CN111813591B (zh) Nand Flash的数据纠错方法、装置、电子设备及存储介质
US8386860B2 (en) Methods of calculating compensation voltage and adjusting threshold voltage and memory apparatus and controller
US8429501B2 (en) Memory storage device, memory controller thereof, and method thereof for generating log likelihood ratio
US8751726B2 (en) System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
US8560926B2 (en) Data writing method, memory controller and memory storage apparatus
JP5183625B2 (ja) 適応能力を有するメモリ素子
US9478298B2 (en) Memory system and method of reading data thereof
CN109164978B (zh) 闪存管理方法、闪存存储设备及计算机可读存储介质
CN113076218B (zh) Nvm芯片读数据错误快速处理方法及其控制器
TWI536749B (zh) 解碼方法、記憶體儲存裝置與記憶體控制電路單元
CN114968837A (zh) 数据压缩方法及闪存设备
US20210407598A1 (en) Dual Sense Bin Balancing In NAND Flash
CN115509798B (zh) 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法
CN104679441A (zh) 时间估测方法、存储器存储装置、存储器控制电路单元
CN109783001B (zh) 数据编码方法、数据解码方法以及存储控制器
TWI751620B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
WO2019007315A1 (zh) 闪存设备中数据写入的方法及设备
CN111858137B (zh) 一种原始比特错误率感知的读电平施加方法
US11675530B2 (en) Memory controller, storage device and operating method of memory controller
US11847342B2 (en) Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
CN117608501B (zh) 电压调整方法、存储器存储装置及存储器控制电路单元
CN102436842A (zh) 存储器储存装置、存储器控制器与产生对数似然比的方法
WO2024124417A1 (en) Best read reference voltage search of 3d nand memory

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