CN107657984A - 闪存的纠错方法、装置、设备以及计算机可读存储介质 - Google Patents
闪存的纠错方法、装置、设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107657984A CN107657984A CN201710703447.9A CN201710703447A CN107657984A CN 107657984 A CN107657984 A CN 107657984A CN 201710703447 A CN201710703447 A CN 201710703447A CN 107657984 A CN107657984 A CN 107657984A
- Authority
- CN
- China
- Prior art keywords
- data
- hard data
- flash memory
- hard
- adjustment
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明适用于电子通信技术领域,提供了一种闪存的纠错方法、装置、设备以及计算机可读存储介质,所述纠错方法包括:读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据;读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次;根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值;根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错。通过上述方法能够提高LDPC的纠错能力。
Description
技术领域
本发明属于电子通信技术领域,尤其涉及一种闪存的纠错方法、装置、设备以及计算机可读存储介质。
背景技术
Nand闪存广泛地应用于MP3、智能手机、平板电脑等便携式电子产品。为了能够延长闪存芯片的使用寿命,保证用户数据的安全,固态硬盘控制器中设计有纠错模块,对从闪存芯片中读取的数据进行纠错处理,消除数据中的错误。传统上,主流的纠错编码都采用BCH码,这种编码方式计算快速,纠错能力强。然而,随着闪存颗粒的磨损或Data Retention(数据保存)、温度等变化,闪存数据的错误比特数会增加,进而会导致数据ECC(ErrorCorrection Code,纠错码)纠错失败,BCH纠错算法已无法为闪存芯片提供足够的纠错能力。在通讯领域中广泛使用的LDPC(Low Density Parity Check Code,低密度奇偶校验码)凭借其强大的纠错能力开始成为将来闪存纠错发展的新趋势。
闪存设备通过LDPC纠错使用硬判决和软判决之分,闪存控制器从闪存芯片的标准接口中读取到由逻辑‘0’和逻辑‘1’构成的硬数据(Hard Data),通常闪存数据的错误比特数偏高时,通过硬数据纠错会导致ECC纠错失败,此时则需要利用软判决,设备读取软数据(Soft Data)辅助LDPC纠错。但不同Nand闪存原厂提供的获取软数据的方法都不相同,并且存在诸多限制,这样直接导致LDPC纠错效果不佳,无法保证安全可靠的存储闪存数据的问题。
发明内容
有鉴于此,本发明实施例提供了一种闪存的纠错方法、装置、设备以及计算机可读存储介质,以解决现有技术中不同Nand闪存原厂提供的获取软数据的方法不相同且存在诸多限制,导致LDPC纠错效果不佳,无法保证安全可靠的存储闪存数据的问题。
本发明第一方面提供了一种闪存的纠错方法,所述纠错方法包括:
读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据;
读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次;
根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值;
根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错。
本发明第二方面提供了一种闪存的纠错装置,所述纠错装置包括:
初始数据读取单元,用于读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据;
调整数据读取单元,用于读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次;
确定单元,用于根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值;
纠错单元,用于根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错。
本发明第三方面提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述闪存的纠错方法的步骤。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述闪存的纠错方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过先读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据,然后读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次,再根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值,最后根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错,本方案在没有软数据的场景下获取LLR,可提升低密度奇偶校验码LDPC的纠错能力,从而保证闪存数据存储的可靠与安全,并可延长数据的保存时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种闪存的纠错方法的实现流程图;
图2.1是本发明实施例提供的一种确定对数似然比LLR的方法实现流程图;
图2.2是本发明实施例提供的一种确定二进制索引数据的方法实现流程图;
图3.1是本发明实施例提供的闪存颗粒类型为单层单元SLC的示意图;
图3.2是本发明实施例提供的闪存颗粒类型为双层单元MLC的示意图;
图3.3是本发明实施例提供的闪存颗粒类型为三层单元TLC的示意图;
图4是本发明实施例提供的一种闪存的纠错方法的场景示意图;
图5是本发明实施例提供的一种闪存的纠错装置的结构框图;
图6是本发明实施例提供的一种终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
现有技术中,本发明实施例为了在部分闪存不支持内部产生软数据时,提高低密度奇偶校验码LDPC的纠错能力,提供了一种闪存的纠错方法、装置、设备以及计算机可读存储介质,该方案在现有技术的基础上,读取至少三次的硬数据,将至少三次的硬数据组合代替硬数据与闪存内部通过指令生成的软数据组合,根据组合后的数据进行处理得到的LLR的值进行纠错,进而可提升LDPC的纠错能力,从而保证闪存数据存储的可靠与安全,并可延长数据的保存时间。为了具体说明上述闪存的纠错方法、装置、设备以及计算机可读存储介质,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例提供的一种闪存的纠错方法的流程图,详述如下:
步骤S101,读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据。
具体地,在默认的窗口电压值下读取一包硬数据(Hard Data)作为初始硬数据。其中,闪存的硬数据是指闪存内部存储的数据,一般为“1”或“0”。在本发明实施例中,默认的窗口电压值是指读取闪存页对应的寄存器的默认电压值。需说明的是,每个Nand闪存原厂都有不同的命令和方法调整窗口电压值,上述窗口电压值可以根据现有技术中已有的默认的窗口电压值进行调整,也可以由用户自己设定,本发明在此不做限定。
步骤S102,读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次。
其中,所述闪存的窗口电压值是指闪存页对应的寄存器的电压值。具体地,按预设调整规则发送相关命令设置窗口电压偏移值对默认的窗口电压值进行调整。进一步地,以默认的窗口电压值为中线,发送相关命令设置中线左边的窗口电压偏移值或中线右边的窗口电压偏移值,从而使得窗口电压值向左偏移或者向右偏移。在本发明实施例中,每调整一次闪存的窗口电压值则读取一次闪存的硬数据,在调整后的窗口电压值下读取一包硬数据作为调整硬数据。并且,为了提高准确性,至少调整2次窗口电压值,因此,本发明实施例中至少存在一组初始硬数据和两组调整硬数据。可选地,所述窗口电压值调整次数为2的倍数。现有技术中,通过闪存内部产生的软数据来表示硬数据为“1”或“0”的可靠性,不同的闪存有不同的定义,在有些闪存中,“0”表示可靠,“1”表示不可靠,而有些闪存中“1”表示可靠,“0”表示不可靠,而在本发明实施例中的初始硬数据和调整硬数据是用来获取LLR的数据,初始硬数据和调整硬数据中的“0”或“1”不能直接用来表示可靠性。
可选地,在本发明实施例中,当闪存数据的错误比特数高于预设的错误比特数时,若LDPC的硬判决无法纠错成功,读取所述闪存的调整硬数据。
步骤S103,根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值。
进一步地,当所述窗口电压值调整2次时,包括一组初始硬数据和两组调整硬数据,此时,如图2.1所示,在本发明实施例中,所述步骤S103包括:
A1、获取在第一次调整后的窗口电压值下读取的第一调整硬数据。
A2、获取在第二次调整后的窗口电压值下读取的第二调整硬数据。
A3、根据所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据进行组合生成的组合硬数据,确定二进制索引数据。
A4、根据所述二进制索引数据确定对数似然比LLR的值。
其中,二进制索引数据Bin Index用于区分闪存存储的不同的数据状态,每种状态都有不同的可靠性水平。本发明实施例中,所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据都是二进制数据,其组合生成的组合硬数据为二进制数据。二进制索引数据为组合硬数据对应的十进制数据。对数似然比LLR用于判定闪存存储的数据为逻辑“1”的可能性以及闪存存储的数据为逻辑“0”的可能性。
需说明的是,在本发明实施例中,不限定调整窗口电压值向左偏右或者向右偏移,也不限定窗口电压值向左偏移是否与窗口电压值向右偏移对称。
进一步地,如图2.2所示,在本发明实施例中,所述A3具体包括:
A31、将所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据中相同数据位上的数据按指定规则分别进行组合,生成组合硬数据。
A32、根据组合硬数据确定二进制索引数据。
具体地,将默认的电压窗口值下的读取的闪存的初始硬数据中的数据,存入组合硬数据的第一数据位中,依次将所述第一调整硬数据以及第二调整硬数据分别存入组合硬数据的第二数据位和第三数据位。其中,所述组合硬数据的第一数据位为低位。进一步地,在本发明实施例中,所述A31具体包括:
A311、将所述初始硬数据中的数据放入所述组合硬数据的第一数据位,将所述第一调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第二数据位,将所述第二调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第三数据位,生成组合硬数据。
或者,
A312、将所述初始硬数据中第一数据位的数据放入所述组合硬数据的第一数据位,将所述第二调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第二数据位,将所述第一调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第三数据位,生成组合硬数据。
示例性地,所述初始硬数据中第一数据位的数据为“1”,所述第一调整硬数据中第一数据位的数据为“0”,所述第一调整硬数据中第一数据位的数据为“1”,此时,将所述第一调整硬数据中的数据放入组合硬数据的中第二位,将所述第二调整硬数据中的数据放入组合硬数据中的第三位,此时,该组合硬数据为“101”,其对应的二进制索引数据位“5”。
需说明的是,在本发明实施例中,当所述窗口电压值调整不止2次时,则根据所述初始硬数据以及在每一次调整后的窗口电压值下读取的调整硬数据进行组合生成的组合硬数据,确定二进制索引数据。
步骤S104,根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错。
其中,对数似然比LLR用于判定闪存存储的数据为逻辑“1”的可能性以及闪存存储的数据为逻辑“0”的可能性。例如,当LLR<0,表示数据比特为“1”的可能性更大,LLR>0,表示数据比特为“0”的可能性更大。
进一步地,在本发明实施例中,所述步骤S104包括:
B1、当所述对数似然比LLR的值大于零时,判定所述闪存的内部存储数据为“0”的可能性大于所述闪存的内部存储数据为“1”的可能性;
B2、当所述对数似然比LLR的值小于零时,判定所述闪存的内部存储数据为“1”的可能性大于所述闪存的内部存储数据为“0”的可能性。
具体地,对数似然比LLR的值是经验值,对数似然比LLR的值可以表示为0,+3,-3,+6,-6,+12,-12,+15,-15,对数似然比LLR的绝对值越大,表示可能性越高。例如,“15”为非常可靠,“12”为可靠,“6”为有点可靠,“3”为不可靠,“0”为不存在即不可靠。进一步地,对数似然比LLR的绝对值在0~15之间,且相邻的组合硬数据对应的对数似然比LLR的绝对值不能非常靠近。
进一步地,在本发明实施例中,闪存颗粒类型包括:SLC(Single Level Cell,单层单元),即一个存储单元存储1bit,如图3.1所示;MLC(Multiple Level Cell,双层单元),即一个存储单元存储2bit,如图3.2所示;3bit为TLC(Triple Level Cell,三层单元),即一个存储单元存储3bit,如图3.3所示。
以一个应用场景为例,如图4所示,该示例中闪存的颗粒类型为SLC,即一个存储单元存储1bit。在默认的窗口电压值下读取一包闪存的硬数据,即闪存的初始硬数据,记为Hard Data 0,如图4,读取的Hard Data 0为“1100”;第一次对默认的窗口电压值进行调整,发送重读寄存器命令设置中线的默认的窗口电压值向左移动一定的偏移值,并在该次调整后的窗口电压值下读取一包硬数据,即第一调整硬数据,记为Hard Data 1,如图4,读取的Hard Data 1为“1000”;再一次对默认的窗口电压值进行调整,发送重读寄存器命令设置中线的默认的窗口电压值向右移动一定的偏移值,并在该次调整后的窗口电压值下读取一包硬数据,即第二调整硬数据,记为Hard Data 2,如图4,读取的Hard Data 2为“1110”。其中,Hard Data0、Hard Data 1和Hard Data 2中的“0”和“1”不能直接用于表示可靠性。将HardData0、Hard Data 1和Hard Data 2中相同数据位上的数据按指定规则分别进行组合,生成组合硬数据。其中,Hard Data0、Hard Data 1和Hard Data 2的组合顺序不限制。如图4所示,图中每一列数据可组合成一组组合硬数据,包括“111”、“101”、“001”、“000”等,组合硬数据分别对应的Bin Index为7”“5”“4”“0”,根据Bin Index确定对应的LLR的值分别为“-12”、“-3”、“+3”和“+12”,通过多包硬数据组合,在没有软数据的场景下获取LLR,根据LLR的值,对闪存的初始硬数据进行纠错,其中,LLR<0的表示数据比特为“1”的可能性更大,LLR>0的表示数据比特为“0”的可能性更大。
本发明第一实施例中,通过先读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据,然后读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次,例如,当所述窗口电压值调整2次时,包括一组初始硬数据、第一调整硬数据和第二调整硬数据,将所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据中相同数据位上的数据按指定规则分别进行组合,生成组合硬数据,再根据所述组合硬数据确定二进制索引数据,进而确定对数似然比LLR的值,最后根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错,本方案在没有软数据的场景下获取LLR,可提升低密度奇偶校验码LDPC的纠错能力,从而保证闪存数据存储的可靠与安全,进而可延长数据的保存时间。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例二:
对应于上文实施例所述的一种闪存的纠错方法,图5示出了本发明实施例提供的一种闪存的纠错装置的结构框图,该装置可应用于闪存存储设备。为了便于说明,仅示出了与本发明实施例相关的部分。
参照图5,该闪存的纠错装置包括:初始数据读取单元21,调整数据读取单元22,确定单元23,纠错单元24,其中:
初始数据读取单元21,用于读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据;
调整数据读取单元22,用于读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次;
确定单元23,用于根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值;
纠错单元24,用于根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错。
可选地,在本发明实施例中,当闪存数据的错误比特数高于预设的错误比特数时,若LDPC的硬判决无法纠错成功,读取所述闪存的调整硬数据。
进一步地,所述确定单元23具体包括:
第一获取模块,用于获取在第一次调整后的窗口电压值下读取的第一调整硬数据;
第二获取模块,用于获取在第二次调整后的窗口电压值下读取的第二调整硬数据;
索引数据确定模块,用于根据所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据进行组合生成的组合硬数据,确定二进制索引数据;
对数似然比确定模块,用于根据所述二进制索引数据确定对数似然比LLR的值。
进一步地,所述索引数据确定模块具体包括:
组合硬数据生成子模块,用于将所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据中相同数据位上的数据按指定规则分别进行组合,生成组合硬数据;
索引数据子模块,用于根据组合硬数据确定二进制索引数据。
可选地,所述组合硬数据生成子模块具体包括:
第一组合硬数据生成子模块,用于将所述初始硬数据中的数据放入所述组合硬数据的第一数据位,将所述第一调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第二数据位,将所述第二调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第三数据位,生成组合硬数据;
第二组合硬数据生成子模块,用于将所述初始硬数据中第一数据位的数据放入所述组合硬数据的第一数据位,将所述第二调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第二数据位,将所述第一调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第三数据位,生成组合硬数据。
可选地,所述纠错单元24具体包括:
第一判定模块,用于当所述对数似然比LLR的值大于零时,判定所述闪存的内部存储数据为“0”的可能性大于所述闪存的内部存储数据为“1”的可能性;
第二判定模块,用于当所述对数似然比LLR的值小于零时,判定所述闪存的内部存储数据为“1”的可能性大于所述闪存的内部存储数据为“0”的可能性。
本发明第二实施例中,通过先读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据,然后读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次,再根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值,最后根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错,本方案在没有软数据的场景下获取LLR,可提升低密度奇偶校验码LDPC的纠错能力,从而保证闪存数据存储的可靠与安全,进而可延长数据的保存时间。
实施例三:
图6是本发明一实施例提供的一种终端设备的示意图。如图6所示,该实施例的终端设备3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32,例如闪存的纠错程序。所述处理器30执行所述计算机程序32时实现上述各个闪存的纠错方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器30执行所述计算机程序32时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元21至24的功能。
示例性的,所述计算机程序32可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器31中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序32在所述终端设备3中的执行过程。例如,所述计算机程序32可以被分割成初始数据读取单元、调整数据读取单元、确定单元、纠错单元,各单元具体功能如下:
初始数据读取单元,用于读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据;
调整数据读取单元,用于读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次;
确定单元,用于根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值;
纠错单元,用于根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错。
所述终端设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备3可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图6仅仅是终端设备3的示例,并不构成对终端设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器31可以是所述终端设备3的内部存储单元,例如终端设备3的硬盘或内存。所述存储器31也可以是所述终端设备3的外部存储设备,例如所述终端设备3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器31还可以既包括所述终端设备3的内部存储单元也包括外部存储设备。所述存储器31用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种闪存的纠错方法,其特征在于,所述纠错方法包括:
读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据;
读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次;
根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值;
根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错。
2.如权利要求1所述的纠错方法,其特征在于,当所述窗口电压值调整2次时,所述根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值,具体包括:
获取在第一次调整后的窗口电压值下读取的第一调整硬数据;
获取在第二次调整后的窗口电压值下读取的第二调整硬数据;
根据所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据进行组合生成的组合硬数据,确定二进制索引数据;
根据所述二进制索引数据确定对数似然比LLR的值。
3.如权利要求2所述的纠错方法,其特征在于,所述根据所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据进行组合生成的组合硬数据,确定二进制索引数据,具体包括:
将所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据中相同数据位上的数据按指定规则分别进行组合,生成组合硬数据;
根据组合硬数据确定二进制索引数据。
4.如权利要求3所述的纠错方法,其特征在于,所述将所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据中相同数据位上的数据按指定规则分别进行组合,生成组合硬数据,包括:
将所述初始硬数据中的数据放入所述组合硬数据的第一数据位,将所述第一调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第二数据位,将所述第二调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第三数据位,生成组合硬数据;
或者,将所述初始硬数据中第一数据位的数据放入所述组合硬数据的第一数据位,将所述第二调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第二数据位,将所述第一调整硬数据中与所述初始硬数据中数据位相同的数据放入所述组合硬数据的第三数据位,生成组合硬数据。
5.如权利要求1至4任一项所述的纠错方法,其特征在于,所述根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错,具体包括:
当所述对数似然比LLR的值大于零时,判定所述闪存的内部存储数据为“0”的可能性大于所述闪存的内部存储数据为“1”的可能性;
当所述对数似然比LLR的值小于零时,判定所述闪存的内部存储数据为“1”的可能性大于所述闪存的内部存储数据为“0”的可能性。
6.一种闪存的纠错装置,其特征在于,所述纠错装置包括:
初始数据读取单元,用于读取闪存的初始硬数据,所述初始硬数据为闪存默认的窗口电压值下读取的闪存的硬数据;
调整数据读取单元,用于读取所述闪存的调整硬数据,所述调整硬数据为调整所述闪存的窗口电压值并在调整后的窗口电压值下读取的闪存的硬数据,其中,所述窗口电压值调整至少2次;
确定单元,用于根据所述初始硬数据与所述调整硬数据确定对数似然比LLR的值;
纠错单元,用于根据所述对数似然比LLR的值,对所述闪存的初始硬数据进行纠错。
7.如权利要求6所述的纠错装置,其特征在于,所述确定单元具体包括:
第一获取模块,用于获取在第一次调整后的窗口电压值下读取的第一调整硬数据;
第二获取模块,用于获取在第二次调整后的窗口电压值下读取的第二调整硬数据;
索引数据确定模块,用于根据所述初始硬数据、所述第一调整硬数据以及所述第二调整硬数据进行组合生成的组合硬数据,确定二进制索引数据;
对数似然比确定模块,用于根据所述二进制索引数据确定对数似然比LLR的值。
8.如权利要求6或7任一项所述的纠错装置,其特征在于,所述纠错单元具体包括:
第一判定模块,用于当所述对数似然比LLR的值大于零时,判定所述闪存的内部存储数据为“0”的可能性大于所述闪存的内部存储数据为“1”的可能性;
第二判定模块,用于当所述对数似然比LLR的值小于零时,判定所述闪存的内部存储数据为“1”的可能性大于所述闪存的内部存储数据为“0”的可能性。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述闪存的纠错方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述闪存的纠错方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710703447.9A CN107657984B (zh) | 2017-08-16 | 2017-08-16 | 闪存的纠错方法、装置、设备以及计算机可读存储介质 |
PCT/CN2017/116256 WO2019033647A1 (zh) | 2017-08-16 | 2017-12-14 | 闪存的纠错方法、装置、设备以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710703447.9A CN107657984B (zh) | 2017-08-16 | 2017-08-16 | 闪存的纠错方法、装置、设备以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107657984A true CN107657984A (zh) | 2018-02-02 |
CN107657984B CN107657984B (zh) | 2020-09-22 |
Family
ID=61128540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710703447.9A Active CN107657984B (zh) | 2017-08-16 | 2017-08-16 | 闪存的纠错方法、装置、设备以及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107657984B (zh) |
WO (1) | WO2019033647A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638993A (zh) * | 2020-05-12 | 2020-09-08 | 合肥康芯威存储技术有限公司 | 一种存储介质的纠错方法、及其应用的系统及存储系统 |
CN111858138A (zh) * | 2020-07-08 | 2020-10-30 | 上海威固信息技术股份有限公司 | 一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 |
CN112527550A (zh) * | 2020-11-26 | 2021-03-19 | 中山市江波龙电子有限公司 | 存储装置重读表的生成方法、测试装置以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655021A (zh) * | 2011-03-02 | 2012-09-05 | 株式会社东芝 | 半导体存储装置以及解码方法 |
CN103186352A (zh) * | 2011-12-30 | 2013-07-03 | 三星电子株式会社 | 从存储设备读取数据的方法、纠错设备和存储系统 |
CN104052498A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 最优化对数似然比的方法以及纠错方法和设备 |
US9189333B2 (en) * | 2013-10-17 | 2015-11-17 | Seagate Technology Llc | Generating soft decoding information for flash memory error correction using hard decision patterns |
CN105164649A (zh) * | 2013-03-14 | 2015-12-16 | 西部数据技术公司 | 对存储在固态存储器中的数据进行解码 |
US9450619B2 (en) * | 2013-03-22 | 2016-09-20 | Seagate Technology Llc | Dynamic log likelihood ratio quantization for solid state drive controllers |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073563B (zh) * | 2011-02-23 | 2015-09-09 | 深圳市江波龙电子有限公司 | 闪存设备、闪存设备中存储块的管理方法及系统 |
CN102394113B (zh) * | 2011-11-14 | 2014-06-18 | 清华大学 | 一种应用于快闪存储器中的动态ldpc纠错码方法 |
US9916906B2 (en) * | 2014-02-27 | 2018-03-13 | Seagate Technology Llc | Periodically updating a log likelihood ratio (LLR) table in a flash memory controller |
CN105468471A (zh) * | 2014-09-12 | 2016-04-06 | 光宝科技股份有限公司 | 固态存储装置及其错误更正方法 |
-
2017
- 2017-08-16 CN CN201710703447.9A patent/CN107657984B/zh active Active
- 2017-12-14 WO PCT/CN2017/116256 patent/WO2019033647A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655021A (zh) * | 2011-03-02 | 2012-09-05 | 株式会社东芝 | 半导体存储装置以及解码方法 |
CN103186352A (zh) * | 2011-12-30 | 2013-07-03 | 三星电子株式会社 | 从存储设备读取数据的方法、纠错设备和存储系统 |
CN105164649A (zh) * | 2013-03-14 | 2015-12-16 | 西部数据技术公司 | 对存储在固态存储器中的数据进行解码 |
CN104052498A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 最优化对数似然比的方法以及纠错方法和设备 |
US9450619B2 (en) * | 2013-03-22 | 2016-09-20 | Seagate Technology Llc | Dynamic log likelihood ratio quantization for solid state drive controllers |
US9189333B2 (en) * | 2013-10-17 | 2015-11-17 | Seagate Technology Llc | Generating soft decoding information for flash memory error correction using hard decision patterns |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638993A (zh) * | 2020-05-12 | 2020-09-08 | 合肥康芯威存储技术有限公司 | 一种存储介质的纠错方法、及其应用的系统及存储系统 |
CN111638993B (zh) * | 2020-05-12 | 2023-04-14 | 合肥康芯威存储技术有限公司 | 一种存储介质的纠错方法、及其应用的系统及存储系统 |
CN111858138A (zh) * | 2020-07-08 | 2020-10-30 | 上海威固信息技术股份有限公司 | 一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 |
CN111858138B (zh) * | 2020-07-08 | 2023-09-19 | 上海威固信息技术股份有限公司 | 一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 |
CN112527550A (zh) * | 2020-11-26 | 2021-03-19 | 中山市江波龙电子有限公司 | 存储装置重读表的生成方法、测试装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019033647A1 (zh) | 2019-02-21 |
CN107657984B (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106415502B (zh) | 数据存储的方法和装置 | |
CN104541249B (zh) | 用于非易失性存储器的耐久性感知纠错码(ecc)保护 | |
US20230208449A1 (en) | Neural networks and systems for decoding encoded data | |
TWI436370B (zh) | 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法 | |
CN107657984A (zh) | 闪存的纠错方法、装置、设备以及计算机可读存储介质 | |
CN107832062B (zh) | 一种程序更新方法及终端设备 | |
CN107659384A (zh) | 数据处理的方法和装置 | |
CN106980538A (zh) | 数据处理的方法及装置 | |
US11563449B2 (en) | Systems for error reduction of encoded data using neural networks | |
CN110570311B (zh) | 区块链的共识方法、装置及设备 | |
CN105653484A (zh) | 一种数据分块压缩多通道传输方法 | |
CN110472957A (zh) | 一种区块链交易验证方法及相关设备 | |
US10116335B2 (en) | Data processing method, memory storage device and memory control circuit unit | |
WO2023059517A1 (en) | Systems for estimating bit error rate (ber) of encoded data using neural networks | |
CN109241357A (zh) | 链式结构模型及其构建方法、系统和终端设备 | |
CN110569038B (zh) | 随机验证参数设计方法、装置、计算机设备及存储介质 | |
WO2015096496A1 (zh) | 存储数据的方法及存储装置 | |
CN104298933A (zh) | 一种配置信息安全处理方法及系统 | |
CN105528183A (zh) | 一种存储数据的方法及存储设备 | |
CN104077272B (zh) | 一种字典压缩的方法和装置 | |
CN110874284A (zh) | 数据处理的方法和装置 | |
TW202001567A (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN111143111B (zh) | Ssd映射表保护机制验证方法、装置、计算机设备及存储介质 | |
WO2021097624A1 (zh) | 一种文件处理方法、文件处理装置及终端设备 | |
CN107832086A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 A, B, C, D, E, F1, 8 Building, Financial Services Technology Innovation Base, No. 8 Kefa Road, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen jiangbolong electronic Limited by Share Ltd Address before: 518000 8 building, 1 finance base, 8 KFA Road, Nanshan District, Shenzhen, Guangdong. Applicant before: Shenzhen jiangbolong Electronic Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |