CN106601305A - Solid-state disk error correction method combining error detection code with error correction code - Google Patents

Solid-state disk error correction method combining error detection code with error correction code Download PDF

Info

Publication number
CN106601305A
CN106601305A CN201611025081.6A CN201611025081A CN106601305A CN 106601305 A CN106601305 A CN 106601305A CN 201611025081 A CN201611025081 A CN 201611025081A CN 106601305 A CN106601305 A CN 106601305A
Authority
CN
China
Prior art keywords
error
solid
state disk
code
error correction
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
CN201611025081.6A
Other languages
Chinese (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201611025081.6A priority Critical patent/CN106601305A/en
Publication of CN106601305A publication Critical patent/CN106601305A/en
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/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本发明公开了一种使用检错码和纠错码相结合的固态盘纠错方法,该方法包括如下步骤:(1)固态盘写入数据前,对闪存页的原始数据进行编码,并保存到所述固态盘的存储单元中;(2)使用检错码译码操作检查所述存储单元中闪存页的错误状态,对不存在错误的闪存页直接读取,对存在错误的所述闪存页则使用低密度奇偶校验码译码操作进行纠错。本发明的方法,能够在固态盘使用的早期阶段,在闪存页出错率很低的情况下,先使用检错码CRC对闪存页进行检错,对于检出的无错页无需进行LDPC译码过程直接读取,而对于检出的有错页则进行LDPC译码纠错。

The invention discloses an error correction method for a solid-state disk using a combination of an error-detecting code and an error-correcting code. The method includes the following steps: (1) before writing data into the solid-state disk, encode the original data of the flash memory page and save the into the storage unit of the solid-state disk; (2) use the error detection code decoding operation to check the error state of the flash memory page in the storage unit, directly read the flash memory page without error, and directly read the flash memory page with error Pages are corrected using LDPC decoding operations. The method of the present invention can first use the error detection code CRC to perform error detection on the flash memory page in the early stage of the use of the solid state disk when the error rate of the flash memory page is very low, and does not need to perform LDPC decoding on the detected error-free pages The process reads directly, and performs LDPC decoding and error correction for the detected pages with errors.

Description

一种使用检错码和纠错码相结合的固态盘纠错方法A solid-state disk error correction method using a combination of error detection codes and error correction codes

技术领域technical field

本发明属于固态盘纠错技术领域,具体地,涉及一种使用检错码和纠错码相结合的固态盘纠错方法。The invention belongs to the technical field of solid-state disk error correction, and in particular relates to an error correction method for a solid-state disk using a combination of an error detection code and an error correction code.

背景技术Background technique

固态盘已经应用到人们生活中各个领域,保证固态盘存储数据的安全至关重要,其中纠错码是目前固态盘最常用的数据安全的技术之一。随着固态盘制造工艺进步,闪存单元尺寸越来越小,相应的噪声也随之增加。固态盘内部噪声是由多种因素决定的,比如擦写次数、数据保存时间等,擦写操作可以破坏闪存单元周围的氧化层,并会引起相邻闪存单元产生电荷耦合效应,引起闪存单元内部电荷量发生变化,从而引起闪存单元阈值电压值改变,从而引起数据出错。擦写次数越大,引起的噪声干扰幅度越大,固态盘内部数据出错率越高。在固态盘的早期使用阶段,擦写次数很少,数据保存时间也很短,内部数据出错率很低,大部分闪存页是无错的。在固态盘的中后期阶段,因擦写次数的增加和数据保存时间的延长,内部数据的出错率逐步提高。Solid-state disks have been applied to various fields of people's lives. It is very important to ensure the security of data stored in solid-state disks. Among them, error-correcting codes are one of the most commonly used data security technologies for solid-state disks. As the solid state disk manufacturing process advances, the size of the flash memory unit becomes smaller and smaller, and the corresponding noise also increases. The internal noise of the solid-state disk is determined by many factors, such as the number of times of erasing and writing, data storage time, etc. The erasing and writing operation can destroy the oxide layer around the flash memory unit, and cause the charge coupling effect of the adjacent flash memory unit, causing the internal The amount of charge changes, which causes the threshold voltage value of the flash memory cell to change, thereby causing data errors. The greater the number of times of erasing and writing, the greater the range of noise interference caused, and the higher the error rate of data inside the solid-state disk. In the early use stage of solid-state disks, the number of times of erasing and writing is very small, the data storage time is also very short, the internal data error rate is very low, and most of the flash memory pages are error-free. In the middle and late stages of solid-state disks, due to the increase in the number of erases and writes and the extension of data storage time, the error rate of internal data gradually increases.

低密度奇偶校验码(Low-Density Parity-Check code,LDPC)因其优异的纠错能力被应用到各个领域。LDPC主要由编码器和译码器构成。原始数据需要经过LDPC编码器生成校验位,原始数据和LDPC校验位共同构成码字。读取固态盘数据时,码字需要LDPC译码器译码。如果原始数据出错,经过LDPC译码过程可以被改正。如果原始数据无错,正常情况下也必须经过LDPC译码过程,这样就会增加不必要的译码时间,影响固态盘数据的读性能。Low-Density Parity-Check code (Low-Density Parity-Check code, LDPC) is applied in various fields because of its excellent error correction capability. LDPC is mainly composed of encoder and decoder. The original data needs to be generated by an LDPC encoder to generate a check bit, and the original data and the LDPC check bit together form a codeword. When reading data from a solid-state disk, the codeword needs to be decoded by an LDPC decoder. If the original data is wrong, it can be corrected after the LDPC decoding process. If the original data is error-free, it must go through the LDPC decoding process under normal circumstances, which will increase unnecessary decoding time and affect the read performance of the SSD data.

专利文献CN 104464822A公开了一种基于闪存错误区间的LDPC纠错编码方法,其根据固态硬盘信道当前的差错率,计算出准确的错误区间,利用错误区间定位可能的错位位置,根据Bit-Flipping方法译码准则翻转已定位为错误位置中的位。该方法消除了Bit-Flipping方法硬译码过程中错误码字的传播,提高了纠错能力和算法执行效率。但是该方法存在以下不足和缺陷:Patent document CN 104464822A discloses an LDPC error correction coding method based on the error interval of flash memory, which calculates the accurate error interval according to the current error rate of the solid-state hard disk channel, and uses the error interval to locate the possible misalignment position, according to the Bit-Flipping method The decoding criterion flips bits that have been positioned in error positions. This method eliminates the propagation of error codewords in the hard decoding process of the Bit-Flipping method, and improves the error correction capability and algorithm execution efficiency. But there are following deficiencies and defects in this method:

(1)该方法没有考虑无错页的处理,无错页不需要译码,可以直接读取;(1) This method does not consider the processing of error-free pages, and error-free pages do not need to be decoded and can be read directly;

(2)该方法需要判断数据的错误区间,而对于固态盘早期使用阶段,错误率非常低甚至接近零,会增加判断处理的时间开销。(2) This method needs to judge the error interval of the data, and for the early use stage of the solid state disk, the error rate is very low or even close to zero, which will increase the time overhead of judgment processing.

如果原始数据出错,经过LDPC译码过程可以被改正。如果原始数据无错,正常情况下也必须经过LDPC译码过程,这样就会增加不必要的译码时间,影响固态盘数据的读性能。如果提前使用检错码CRC检测出闪存页的错误状态,对于无错页则无需经历LDPC译码过程。对于有错页,则要经过LDPC译码过程进行纠错。If the original data is wrong, it can be corrected after the LDPC decoding process. If the original data is error-free, it must go through the LDPC decoding process under normal circumstances, which will increase unnecessary decoding time and affect the read performance of the SSD data. If the error state of the flash memory page is detected in advance by using the error detection code CRC, the LDPC decoding process is not required for the error-free page. For pages with errors, they need to go through the LDPC decoding process for error correction.

发明内容Contents of the invention

针对现有技术的以上缺陷或改进需求,本发明提供一种使用检错码和纠错码相结合的固态盘纠错方法,其目的在于根据固态盘在早期阶段数据出错率极低的特点,采用检错码和纠错码相结合的方式,达到提高固态盘读性能的目的,减少在固态盘早期阶段无错页不必要的LDPC译码过程,减少了固态盘早期阶段大量无错页的LDPC译码过程,同时减少了LDPC码的纠错能耗,并提高了固态盘的读性能。In view of the above defects or improvement needs of the prior art, the present invention provides an error correction method for a solid-state disk using a combination of an error-detecting code and an error-correcting code. The combination of error detection code and error correction code is used to improve the reading performance of solid state disk, reduce the unnecessary LDPC decoding process of error-free pages in the early stage of solid state disk, and reduce the number of error-free pages in the early stage of solid state disk The LDPC decoding process reduces the error correction energy consumption of the LDPC code and improves the read performance of the solid state disk.

为了实现上述目的,本发明提供一种使用检错码和纠错码相结合的固态盘纠错方法,其特征在于:该方法包括如下步骤:In order to achieve the above object, the present invention provides a solid state disk error correction method using an error detection code and an error correction code, characterized in that: the method includes the following steps:

(1)固态盘写入数据前,对闪存页的原始数据进行编码,并保存到所述固态盘的存储单元中;(1) Before the solid-state disk writes data, the original data of the flash memory page is encoded, and stored in the storage unit of the solid-state disk;

(2)使用检错码译码操作检查所述存储单元中闪存页的错误状态,对不存在错误的闪存页直接读取,对存在错误的所述闪存页则使用低密度奇偶校验码译码操作进行纠错。(2) Use the error detection code decoding operation to check the error state of the flash page in the storage unit, directly read the flash page without error, and use the low density parity check code to decode the flash page with error Code operation for error correction.

进一步地,所述检错码译码操作过程包括对所述存储单元的每一闪存页进行硬判决电压感知,获取存储数据的二进制信息,并对所述闪存页进行检错码译码操作。Further, the error detection code decoding operation process includes performing hard decision voltage sensing on each flash memory page of the storage unit, obtaining binary information of stored data, and performing error detection code decoding operation on the flash memory page.

进一步地,所述低密度奇偶校验码译码操作过程包括:对所述存储单元进行软判决电压感知,获取对数释然比信息,并对闪存页进行低密度奇偶校验码译码操作。Further, the LDPC decoding operation process includes: performing soft-decision voltage sensing on the storage unit, obtaining logarithmic relief ratio information, and performing LDPC decoding operation on the flash memory page.

优选地,还包括在执行步骤(2)前判断所述存储单元是否写满的步骤,并对未写满的存储单元立即执行步骤(2)。Preferably, it also includes the step of judging whether the storage unit is full before performing step (2), and immediately performing step (2) for the storage unit that is not full.

进一步地,对于写满的存储单元,还包括判断所述固态盘内部并行属性是否可用的步骤,并对于并行属性不可用的固态盘提前执行步骤(2),对于并行属性可用的固态盘提前并行执行步骤(2)。Further, for the full storage unit, it also includes the step of judging whether the internal parallel attribute of the solid-state disk is available, and performing step (2) in advance for the solid-state disk whose parallel attribute is not available, and parallelizing the solid-state disk for the available parallel attribute in advance Execute step (2).

优选地,还包括在判断所述存储单元是否写满前判断所述固态盘是否空闲的步骤,并在非空闲时立即执行步骤(2)。Preferably, the method further includes the step of judging whether the solid-state disk is idle before judging whether the storage unit is full, and executing step (2) immediately when it is not idle.

优选地,还包括在判断所述固态盘内部并行属性是否可用前判断所述固态盘是否已被检测的步骤,并在判断已被检测时立即执行步骤(2),未被检测时执行所述判断固态盘内部并行属性是否可用的步骤。Preferably, it also includes the step of judging whether the solid-state disk has been detected before judging whether the internal parallel attribute of the solid-state disk is available, and executing step (2) immediately when it is judged that it has been detected, and executing the step (2) when it is not detected. Steps for judging whether the internal parallel attribute of the SSD is available.

优选地,还包括在判断所述固态盘是否空闲前判断所述存储单元的闪存页中错误页概率是否大于设定的阈值的步骤,并在小于阈值时执行判断所述固态盘是否空闲的步骤。Preferably, it also includes the step of judging whether the error page probability in the flash memory page of the storage unit is greater than a set threshold before judging whether the solid state disk is idle, and performing the step of judging whether the solid state disk is idle when it is less than the threshold .

进一步地,在大于阈值时使用低密度奇偶校验码译码操作对所述固态盘进行纠错。Further, when the value is greater than the threshold value, the error correction of the solid-state disk is performed by using a low-density parity-check code decoding operation.

进一步地,所述编码具体过程为:Further, the specific encoding process is:

(11)对所述闪存页的原始数据分别用检错码和低密度奇偶校验码进行编码,分别产生检错码校验位和低密度奇偶校验码校验位;(11) the original data of described flash memory page is encoded with error detection code and low density parity check code respectively, produces error detection code check digit and low density parity check code check digit respectively;

(12)原始数据、检错码校验位及低密度奇偶校验码校验位共同组成码字;(12) The original data, the error detection code check bit and the low density parity check code check bit together form a code word;

(13)将所述码字保存到所述固态盘的存储单元中。(13) Save the codeword in the storage unit of the solid state disk.

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:Generally speaking, compared with the prior art, the above technical solutions conceived by the present invention can achieve the following beneficial effects:

(1)本发明的技术方案中,提出了一种固态盘使用检错码和纠错码相结合的CDF-LDPC方法,该方法能够在固态盘使用的早期阶段,在闪存页出错率很低的情况下,先使用检错码CRC对闪存页进行检错,对于检出的无错页无需进行LDPC译码过程直接读取,而对于检出的有错页则进行LDPC译码纠错。(1) In the technical solution of the present invention, a CDF-LDPC method in which a solid state disk uses an error detection code and an error correction code is proposed. In the case of an error detection code, CRC is first used to detect errors on the flash memory pages, and the detected error-free pages are directly read without the LDPC decoding process, while the LDPC decoding and error correction is performed on the detected error pages.

(2)由于无错页省去了LDPC译码过程,固态盘的读性能可以得到提升。同时在固态盘空闲时间内,对满写闪存块可以提前执行CDF-LDPC译码过程。如果固态盘并行属性可用,可以提前并行执行CDF-LDPC译码过程。(2) Since the error-free page saves the LDPC decoding process, the read performance of the solid-state disk can be improved. At the same time, during the idle time of the solid-state disk, the CDF-LDPC decoding process can be executed in advance for the full-write flash memory block. If the SSD parallelism property is available, the CDF-LDPC decoding process can be executed in parallel in advance.

(3)上述提前执行CDF-LDPC译码过程和提前并行执行CDF-LDPC译码操作可以进一步提升固态盘的读性能。另一方面,因省去了对无错页的LDPC译码操作,固态盘所需的LDPC译码能耗也得到降低,并且固态盘的可靠性并不受到任何影响。(3) The above-mentioned execution of the CDF-LDPC decoding process in advance and parallel execution of the CDF-LDPC decoding operation in advance can further improve the read performance of the solid state disk. On the other hand, since the LDPC decoding operation for error-free pages is omitted, the LDPC decoding energy consumption required by the solid state disk is also reduced, and the reliability of the solid state disk is not affected in any way.

附图说明Description of drawings

图1为本发明实施例的一种使用检错码和纠错码相结合的固态盘纠错方法的处理流程图;Fig. 1 is a processing flowchart of a solid state disk error correction method using a combination of an error detection code and an error correction code according to an embodiment of the present invention;

图2为本发明实施例的一种使用检错码和纠错码相结合的固态盘纠错方法涉及的CDF-LDPC编码过程示意图;2 is a schematic diagram of a CDF-LDPC encoding process involved in a solid state disk error correction method using a combination of an error detection code and an error correction code according to an embodiment of the present invention;

图3为本发明实施例的一种使用检错码和纠错码相结合的固态盘纠错方法涉及的CDF-LDPC译码过程示意图。FIG. 3 is a schematic diagram of a CDF-LDPC decoding process involved in a solid state disk error correction method using a combination of an error detection code and an error correction code according to an embodiment of the present invention.

具体实施方式detailed description

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not constitute a conflict with each other.

图1为本发明实施例的一种使用检错码和纠错码相结合的固态盘纠错方法的处理流程图。如图1所示,该方法包括如下步骤:FIG. 1 is a processing flowchart of a solid state disk error correction method using a combination of an error detection code and an error correction code according to an embodiment of the present invention. As shown in Figure 1, the method includes the following steps:

(1)编码过程具体过程为:(1) The specific process of the encoding process is as follows:

固态盘输入数据前,为了能够使用纠错码纠错,要进行纠错编码过程。一个闪存页的原始数据记为D;Before inputting data into the solid-state disk, in order to use the error-correcting code to correct errors, an error-correcting encoding process must be performed. The original data of a flash page is denoted as D;

(1.1)如图2所示,一个闪存页的原始数据D执行CRC编码生成CRC校验位CRC-P,执行LDPC编码生成LDPC校验位LDPC-P;(1.1) As shown in Figure 2, the original data D of a flash page performs CRC encoding to generate CRC check digit CRC-P, and executes LDPC encoding to generate LDPC check digit LDPC-P;

(1.2)一个闪存页的原始数据D、CRC校验位CRC-P、LDPC校验位LDPC-P共同构成一个码字存储到固态盘中。每个码字增加1位的Error-free-Judgment标识符,用于判断该页数据是否出错,初始值为0,表示该页数据无错。如果该页数据出错,Error-free-Judgment标识符设置为1。(1.2) The original data D of a flash memory page, the CRC check bit CRC-P, and the LDPC check bit LDPC-P together form a code word and store it in the solid-state disk. Each codeword adds a 1-bit Error-free-Judgment identifier, which is used to judge whether the page data has an error. The initial value is 0, indicating that the page data is error-free. If there is an error in the page data, the Error-free-Judgment identifier is set to 1.

(2)流程控制部分具体过程为:(2) The specific process of the flow control part is:

(2.1)如图1所示,当访问固态盘存储单元时,判断闪存页所在块的错误页概率P是否大于阈值T,如果P>T,该闪存页使用LDPC译码纠错,否则转到步骤(2.2);(2.1) As shown in Figure 1, when accessing the storage unit of the solid-state disk, judge whether the error page probability P of the block where the flash page is located is greater than the threshold T, if P>T, the flash page uses LDPC decoding to correct errors, otherwise go to step (2.2);

(2.2)判断固态盘是否空闲,如果固态盘没有空闲时间,转到步骤(3)立即执行,否则转到步骤(2.3);(2.2) Judge whether the solid-state disk is idle, if the solid-state disk has no idle time, go to step (3) and execute immediately, otherwise go to step (2.3);

(2.3)判断闪存页所在块是否为满写块,如果该块不是满写块,转到步骤(3)立即执行,否则转到步骤(2.4);(2.3) judge whether the block where the flash memory page is located is a full write block, if the block is not a full write block, go to step (3) and execute immediately, otherwise go to step (2.4);

(2.4)判断闪存块是否被检测过,如果该块已经被检测过,转到步骤(3),否则转到步骤(2.5);(2.4) judge whether flash memory block has been detected, if this block has been detected, go to step (3), otherwise go to step (2.5);

(2.5)判断固态盘的并行属性是否可用,如果不可用,则对闪存页所在块提前执行步骤(3),否则对闪存页所在块提前并行执行步骤(3);(2.5) judge whether the parallel attribute of solid-state disk is available, if unavailable, then carry out step (3) ahead of time to the block where flash memory page is located, otherwise step (3) is executed in parallel ahead of time to the block where flash memory page is located;

(3)译码过程具体为:(3) The decoding process is specifically as follows:

(3.1)如图3所示,将访问闪存页的原始数据D和CRC校验位CRC-P共同组成CRC码字,对码字进行硬判决电压感知获取具体的二进制信息;(3.1) As shown in Figure 3, the original data D and the CRC check bit CRC-P of the access flash memory page are jointly formed into a CRC code word, and the code word is subjected to hard decision voltage sensing to obtain specific binary information;

(3.2)对CRC码字进行CRC译码操作;(3.2) carry out CRC decoding operation to CRC code word;

(3.3)判断闪存页是否出错,即判断Error-free-Judgment是否为1,如果Error-free-Judgment为0,表示闪存页无错,则直接读取,否则将Error-free-Judgment设置为1,并转到步骤(3.4);(3.3) Judging whether the flash page has an error, that is, judging whether the Error-free-Judgment is 1, if Error-free-Judgment is 0, indicating that the flash page is error-free, then read it directly, otherwise set Error-free-Judgment to 1 , and go to step (3.4);

(3.4)对访问闪存页的原始数据D和LDPC校验位LDPC-P共同组成LDPC码字,对码字进行软判决电压感知获取对数似然比信息;(3.4) The original data D and the LDPC parity bit LDPC-P of the access flash memory page are jointly composed of an LDPC codeword, and the codeword is subjected to soft-judgment voltage sensing to obtain log likelihood ratio information;

(3.5)对LDPC码字进行LDPC译码操作,改正数据中的错误;(3.5) Carry out LDPC decoding operation to LDPC code word, correct the error in the data;

(3.6)如果闪存块被擦除,将闪存块中所有页的Error-free-Judgment设置为0,表示闪存页无错。(3.6) If the flash memory block is erased, the Error-free-Judgment of all pages in the flash memory block is set to 0, indicating that the flash memory page is error-free.

所述闪存页所在块的错误页概率是指闪存块中错误页个数与闪存快中总页数之比。The error page probability of the block where the flash memory page is located refers to the ratio of the number of error pages in the flash memory block to the total number of pages in the flash memory.

本发明提出了一种固态盘使用检错码和纠错码相结合的CDF-LDPC方法,该方法能够在固态盘使用的早期阶段,在闪存页出错率很低的情况下,先使用检错码CRC对闪存页进行检错,对于检出的无错页无需进行LDPC译码过程直接读取,而对于检出的有错页则进行LDPC译码纠错。The present invention proposes a CDF-LDPC method using a combination of error detection codes and error correction codes for solid state disks. This method can first use error detection codes in the early stage of solid state disk use when the error rate of flash memory pages is very low. The code CRC performs error detection on the flash memory pages, and the detected error-free pages are directly read without the LDPC decoding process, while the LDPC decoding error correction is performed on the detected error pages.

由于无错页省去了LDPC译码过程,固态盘的读性能可以得到提升。同时在固态盘空闲时间内,对满写闪存块可以提前执行CDF-LDPC译码过程。如果固态盘并行属性可用,可以提前并行执行CDF-LDPC译码过程。Since the error-free page saves the LDPC decoding process, the read performance of the SSD can be improved. At the same time, during the idle time of the solid-state disk, the CDF-LDPC decoding process can be executed in advance for the full-write flash memory block. If the SSD parallelism property is available, the CDF-LDPC decoding process can be executed in parallel in advance.

上述提前执行CDF-LDPC译码过程和提前并行执行CDF-LDPC译码操作可以进一步提升固态盘的读性能。另一方面,因省去了对无错页的LDPC译码操作,固态盘所需的LDPC译码能耗也得到降低,并且固态盘的可靠性并不受到任何影响。The foregoing execution of the CDF-LDPC decoding process in advance and parallel execution of the CDF-LDPC decoding operation in advance can further improve the read performance of the solid state disk. On the other hand, since the LDPC decoding operation for error-free pages is omitted, the LDPC decoding energy consumption required by the solid state disk is also reduced, and the reliability of the solid state disk is not affected in any way.

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。It is easy for those skilled in the art to understand that the above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention, All should be included within the protection scope of the present invention.

Claims (10)

1. the solid-state disk error correction method that a kind of use error-detecging code and error correcting code combine, it is characterised in that the method includes as follows Step:
(1) before solid-state disk write data, the initial data of Hash memory pages is encoded, and is saved in the storage list of the solid-state disk In unit;
(2) error condition of Hash memory pages in the memory cell, the sudden strain of a muscle to there is no mistake are checked using error-detecging code decoded operation Deposit page to directly read, the Hash memory pages to there is mistake then carry out error correction using low density parity check code decoded operation.
2. the solid-state disk error correction method that a kind of use error-detecging code according to claim 1 and error correcting code combine, wherein, institute Stating error-detecging code decoded operation process includes carrying out each Hash memory pages of the memory cell hard decision voltage perception, obtains storage The binary message of data, and error-detecging code decoded operation is carried out to the Hash memory pages.
3. the solid-state disk error correction method that a kind of use error-detecging code according to claim 1 and 2 and error correcting code combine, its In, the low density parity check code decoded operation process includes:Soft-decision voltage perception is carried out to the memory cell, is obtained Logarithm is felt relieved than information, and carries out low density parity check code decoded operation to Hash memory pages.
4. the solid-state disk error correction side that a kind of use error-detecging code and error correcting code according to any one of claim 1-3 combines Method, wherein, it is additionally included in before execution step (2) and judges whether the memory cell writes full step, and to not writing full storage Unit is immediately performed step (2).
5. the solid-state disk error correction method that a kind of use error-detecging code according to claim 4 and error correcting code combine, wherein, it is right In full memory cell is write, also including judge solid-state disk inside parallel property whether can with the step of, and for parallel category The disabled solid-state disk of property shifts to an earlier date execution step (2), for the available solid-state disk of parallel property shifts to an earlier date parallel execution of steps (2).
6. the solid-state disk error correction method that a kind of use error-detecging code and error correcting code according to claim 4 or 5 combines, its In, be additionally included in judge the memory cell whether write it is completely front judge the solid-state disk whether idle step, and busy When be immediately performed step (2).
7. the solid-state disk error correction method that a kind of use error-detecging code according to claim 5 and error correcting code combine, wherein, also It is included in and judges to judge before whether solid-state disk inside parallel property is available the solid-state disk whether step being detected, and Step (2) is immediately performed when judging and being detected, is performed when not being detected and described is judged inside solid-state disk whether is parallel property The step of can using.
8. the solid-state disk error correction method that a kind of use error-detecging code according to claim 6 and error correcting code combine, wherein, also It is included in faulty page probability in the Hash memory pages for judging that the memory cell is judged before the solid-state disk is whether idle and whether is more than and sets The step of fixed threshold value, and perform when less than threshold value and judge the solid-state disk whether step of free time.
9. the solid-state disk error correction method that a kind of use error-detecging code according to claim 8 and error correcting code combine, wherein, Error correction is carried out to the solid-state disk using low density parity check code decoded operation more than during threshold value.
10. the solid-state disk error correction that a kind of use error-detecging code and error correcting code according to any one of claim 1-9 combines Method, wherein, the coding detailed process is:
(11) error-detecging code and encoding low density parity check are used respectively to the initial data of the Hash memory pages, produces respectively Error-detecging code check bit sum low density parity check code check bit;
(12) initial data, error-detecging code check bit and low density parity check code check bit collectively constitute code word;
(13) code word is saved in the memory cell of the solid-state disk.
CN201611025081.6A 2016-11-18 2016-11-18 Solid-state disk error correction method combining error detection code with error correction code Pending CN106601305A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611025081.6A CN106601305A (en) 2016-11-18 2016-11-18 Solid-state disk error correction method combining error detection code with error correction code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611025081.6A CN106601305A (en) 2016-11-18 2016-11-18 Solid-state disk error correction method combining error detection code with error correction code

Publications (1)

Publication Number Publication Date
CN106601305A true CN106601305A (en) 2017-04-26

Family

ID=58592347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611025081.6A Pending CN106601305A (en) 2016-11-18 2016-11-18 Solid-state disk error correction method combining error detection code with error correction code

Country Status (1)

Country Link
CN (1) CN106601305A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861834A (en) * 2017-11-06 2018-03-30 华中科技大学 A kind of method based on wrong pre-detection skill upgrading solid state hard disc reading performance
CN108804025A (en) * 2018-03-07 2018-11-13 深圳忆联信息系统有限公司 A kind of method and solid state disk for reducing flash memory and being detained mistake
CN108958963A (en) * 2018-06-01 2018-12-07 杭州电子科技大学 A kind of NAND FLASH error control method based on LDPC and cyclic redundancy check code
CN111162794A (en) * 2018-11-08 2020-05-15 北京忆芯科技有限公司 Decoding data caching method and decoder
WO2020199490A1 (en) * 2019-04-01 2020-10-08 江苏华存电子科技有限公司 Dual-mode error detection memory and dual-mode error detection method
CN114879916A (en) * 2022-07-12 2022-08-09 合肥康芯威存储技术有限公司 Method and device for managing storage unit

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101040445A (en) * 2005-01-22 2007-09-19 思科技术公司 Error protecting groups of data words
CN101258471A (en) * 2005-07-15 2008-09-03 Gsip有限责任公司 Flash error correction
US20090070637A1 (en) * 2006-03-07 2009-03-12 Nxp B.V. Electronic circuit with a memory matrix that stores pages including extra data
CN102436406A (en) * 2010-09-15 2012-05-02 株式会社东芝 Semiconductor device and data access method thereof
CN103186352A (en) * 2011-12-30 2013-07-03 三星电子株式会社 Method of reading data from storage device, error correction device and storage system
US20140136926A1 (en) * 2005-04-28 2014-05-15 Micron Technology, Inc. Non-systematic coded error correction
CN103973272A (en) * 2013-01-30 2014-08-06 德克萨斯仪器股份有限公司 Error detection in nonvolatile logic arrays using parity

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101040445A (en) * 2005-01-22 2007-09-19 思科技术公司 Error protecting groups of data words
US20140136926A1 (en) * 2005-04-28 2014-05-15 Micron Technology, Inc. Non-systematic coded error correction
CN101258471A (en) * 2005-07-15 2008-09-03 Gsip有限责任公司 Flash error correction
US20090070637A1 (en) * 2006-03-07 2009-03-12 Nxp B.V. Electronic circuit with a memory matrix that stores pages including extra data
CN102436406A (en) * 2010-09-15 2012-05-02 株式会社东芝 Semiconductor device and data access method thereof
CN103186352A (en) * 2011-12-30 2013-07-03 三星电子株式会社 Method of reading data from storage device, error correction device and storage system
CN103973272A (en) * 2013-01-30 2014-08-06 德克萨斯仪器股份有限公司 Error detection in nonvolatile logic arrays using parity

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861834A (en) * 2017-11-06 2018-03-30 华中科技大学 A kind of method based on wrong pre-detection skill upgrading solid state hard disc reading performance
CN108804025A (en) * 2018-03-07 2018-11-13 深圳忆联信息系统有限公司 A kind of method and solid state disk for reducing flash memory and being detained mistake
CN108958963A (en) * 2018-06-01 2018-12-07 杭州电子科技大学 A kind of NAND FLASH error control method based on LDPC and cyclic redundancy check code
CN111162794A (en) * 2018-11-08 2020-05-15 北京忆芯科技有限公司 Decoding data caching method and decoder
CN111162794B (en) * 2018-11-08 2023-10-20 北京忆芯科技有限公司 Decoding data caching method and decoder
WO2020199490A1 (en) * 2019-04-01 2020-10-08 江苏华存电子科技有限公司 Dual-mode error detection memory and dual-mode error detection method
CN114879916A (en) * 2022-07-12 2022-08-09 合肥康芯威存储技术有限公司 Method and device for managing storage unit

Similar Documents

Publication Publication Date Title
US10353622B2 (en) Internal copy-back with read-verify
CN106601305A (en) Solid-state disk error correction method combining error detection code with error correction code
US8966347B2 (en) Forward error correction with parallel error detection for flash memories
TWI411912B (en) Error-floor mitigation of codes using write verification
US8464134B2 (en) Method and apparatus for error correction according to erase counts of a solid-state memory
US10498362B2 (en) Low power error correcting code (ECC) system
KR102155795B1 (en) Log-likelihood ratio(llr) dampening in low-density parity-check(ldpc) decoders
JP6257708B2 (en) System and method for improving flash memory reliability and lifetime
US11768732B2 (en) Soft decoding method using LLR conversion table
Ho et al. A 45nm 6b/cell charge-trapping flash memory using LDPC-based ECC and drift-immune soft-sensing engine
WO2014197140A1 (en) Miscorrection detection for error correcting codes
US20090319843A1 (en) Method and apparatus for error correction
US11550663B2 (en) Changing of error correction codes based on the wear of a memory sub-system
US11563450B1 (en) System and method for high reliability fast RAID decoding for NAND flash memories
US10009045B2 (en) Decoding method, memory controlling circuit unit and memory storage device
CN108958963A (en) A kind of NAND FLASH error control method based on LDPC and cyclic redundancy check code
JP2019057752A (en) Memory system
TWI672698B (en) Memory control method, memory storage device and memory control circuit unit
US11962327B2 (en) Iterative decoding technique for correcting DRAM device failures
CN103137213B (en) Memory control device and method with low-density parity-check code decoding capability
CN112331244B (en) Soft input soft output component code decoder for generalized low density parity check code
KR20160075001A (en) Operating method of flash memory system
CN106301389B (en) Decoding method and device
US20160080004A1 (en) Memory controller and decoding method
CN107423159B (en) A method of LDPC decoding performance is promoted based on flash memory error pattern

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170426