Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
WO2019019550A1 - Adaptive LDPC code error correction code system and method applied to flash memory - Google Patents
[go: Go Back, main page]

WO2019019550A1 - Adaptive LDPC code error correction code system and method applied to flash memory - Google Patents

Adaptive LDPC code error correction code system and method applied to flash memory Download PDF

Info

Publication number
WO2019019550A1
WO2019019550A1 PCT/CN2017/119349 CN2017119349W WO2019019550A1 WO 2019019550 A1 WO2019019550 A1 WO 2019019550A1 CN 2017119349 W CN2017119349 W CN 2017119349W WO 2019019550 A1 WO2019019550 A1 WO 2019019550A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
flash memory
adaptive
decoder
ldpc code
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.)
Ceased
Application number
PCT/CN2017/119349
Other languages
French (fr)
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.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors 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 Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Publication of WO2019019550A1 publication Critical patent/WO2019019550A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • G11C2029/0411Online error correction

Definitions

  • the present application relates to an adaptive LDPC code error correction code system and method applied to a flash memory, and belongs to the field of flash memory storage control.
  • an error correcting code In various applications that require signal transmission, an error correcting code is often used.
  • the error correcting code can correct the error when the signal is transmitted incorrectly and obtain the correct signal.
  • the error correcting code can be applied to many systems.
  • the signal transmission may be interfered by channel effects and noise, thereby causing the data stored in the flash memory device to be incorrect.
  • the data stored in the flash memory device is data encoded by the error correction code device, and the error correction code is a necessary functional unit for the flash memory control device.
  • the memory unit As the process of memory becomes more and more advanced, the memory unit is getting smaller and smaller, and the data stored in the memory unit is gradually increasing, causing the error probability of the flash memory to be generated during the reading process to rise, and thus the flash controller It is especially necessary to use a suitable and strong error correction code decoding mechanism.
  • the key to measuring the quality of a flash memory controller is its adaptability, which can support flash memory from multiple vendors and different processes. Especially when the process of flash memory is more advanced, the volume is smaller, and the data stored in the flash memory cell is also increased, the probability of error caused by the flash memory during reading is also increasing.
  • the error correction code decoding capability of the flash memory controller is an important factor in determining whether the flash memory controller is qualified. Therefore, it is inevitable that the flash memory controller has an adaptable error correction code.
  • LDPC Low Density Parity Check
  • LDPC codes have great application potential and are widely used in deep space communications, fiber optic communications, satellite communications, satellite digital video, digital watermarking, magnetic/optical/holographic storage, mobile and fixed wireless communications, cable modulation/demodulation and digital users. application. According to the increasingly advanced process of the flash memory device, the error correction capability of the error correction code in the flash memory control device also needs to be enhanced.
  • the main error correction code is the BCH code.
  • the error probability increases, the space requirement and computing power of the BCH code are gradually increased.
  • the BCH code is corrected. The ability has gradually become unsuitable for the development of flash memory technology and its application, so it needs an error correction code with stronger error correction capability, more flexibility and adaptability. Therefore, it is more appropriate to select the LDPC code instead of the BCH code.
  • the technical problem to be solved by the present application is to provide an adaptive LDPC code error correction code system and method for use in a flash memory, to improve the error correction capability of the error correction code of the flash memory, and to protect the stability of the stored data.
  • an adaptive LDPC code error correction code system applied to a flash memory, including a host, a flash memory controller, and a flash memory, and a flash memory controller
  • Adaptive LDPC code decoder multi-level encoder, adaptive regulator, hard decision decoder, soft decision decoder, error detector, decider I, decider II, data processing And a pulse recovery device
  • the multi-level encoder is connected between the host and the flash memory, and the input of the multi-level encoder is connected with the adaptive regulator for corresponding encoding according to the adaptive regulator
  • the hard decision decoder The input end of the soft decision decoder is connected to the adaptive regulator and the decider I, and the input of the soft decision decoder is connected to the data processor, and the other end of the decider I and the data processor are connected to the flash memory, and the hard decision is made.
  • the decoder judges whether to perform hard decision decoding according to the decider I, and judges the check matrix for decoding according to the adaptive adjuster, and the soft decision decoder According to the judger I, it is judged whether or not the soft decision decoding is performed, and the parity bit information outputted by the data processor is used for calculation to perform decoding, and the check matrix for decoding is determined according to the adaptive regulator; the hard decision decoder and the soft decision decoder The output is connected to the determiner II, the output of the determiner II is connected to the adaptive regulator, the host and the error detector respectively, the error detector is connected to the flash memory through the pulse recovery device, and the determiner II is used to judge the LDPC If the code is successfully connected and the number of data errors is wrong, the error detector judges the decoding failure according to the decider II, and uses the pulse recovery device to recover the data error in the flash memory.
  • the adaptive LDPC code error correction code system is applied to a flash memory, and the soft decision decoder includes a primary decoder, a secondary decoder, and a tertiary decoder.
  • the adaptive LDPC code error correction code system applied to the flash memory is applied in the present application, and the error correction capability of the hard decision decoder, the first stage decoder, the second level decoder, and the third stage decoder is sequentially enhanced.
  • the adaptive LDPC code error correction code system applied to the flash memory is applied to the flash memory. Based on the standard data bits and the parity bits, a portion of the data bits are used as check bits.
  • the adaptive LDPC code error correction code system applied to the flash memory is applied in the present application.
  • the multi-level encoder adopts the Gallager construction method, the generalized LDPC code construction method, the Mackay construction method, the combinatorial construction method, and the finite geometry structure.
  • Method implementation; hard decision decoder and soft decision decoder adopt bit flip method, sum product decoding algorithm, minimum sum product decoding algorithm, maximum likelihood decoding algorithm, decoding architecture implemented by hardware circuit, implemented by software or hardware matching processor The way of decoding is implemented.
  • the present application also discloses an adaptive LDPC error correction code method applied to a flash memory, the method comprising an adaptive coding process and an adaptive decoding process, the process of the adaptive coding process is: a01), according to error detection The detector selects the corresponding encoder; a02), encodes the codeword information correspondingly; a03), stores the encoded data and the check code into the flash memory; the process of the adaptive decoding process is: b01), Read the codeword information from the flash memory; b02), perform decoding judgment, if it meets the hard decision decoding execution step 3, if it meets the soft decision decoding execution step 7; b03), read the hard information of the codeword; b04), utilize Corresponding LDPC code hard decision decoding; b05), perform decoding judgment, if successful, end decoding, if not successful, enter the next decision; b06), if not continue decoding, end decoding, if continue decoding, execute step 7; b07) Read the soft information of the codeword and perform corresponding
  • the adaptive LDPC code error correction code system and method applied to a flash memory can improve the error correction capability of the error correction code of the flash memory, protect the stability of the stored data, and improve the flash memory. Service life.
  • the method changes the LDPC code into adaptive encoding and decoding, improves the adaptability of the flash memory controller, greatly enhances the error correction capability of the flash memory controller, and improves the service life of the flash memory.
  • Figure 1 is a functional block diagram of a flash memory storage system
  • FIG. 2 is a schematic structural diagram of an adaptive LDPC code decoder
  • 3 is an overall block diagram of a multi-level encoder and a hard decision decoder, and a soft decision decoder;
  • Figure 4 is a comparison chart of the standard and adjusted flash village summer data storage
  • FIG. 5 is a flowchart of adaptive LDPC code decoding according to the present application.
  • the LDPC code is a type of linear block code which has all the characteristics of a linear block code.
  • LDPC codes can be classified into two types: regular (regular-LDPC) and irregular (regular-LDPC).
  • the regular LDPC code can be written as (n, j, k), where n is the code length and j is the weight of each column of the check matrix (ie, the number of 1 in the column) , referred to as column weight, k is the weight of each row of the check matrix (ie, the number of 1 in the row, referred to as the row weight), and generally has j>2, k>j.
  • the parity check matrix of a code is not exactly the same number of ones per row and column.
  • the iterative decoding method of LDPC codes can be roughly divided into two types: one is a hard decision method, and the other is a soft decision method.
  • the bit flip method delivers binary hard information in the iterative process, while the soft decision method passes the real soft information related to probability in the iterative process.
  • the hard decision method is simple to operate and easy to implement in hardware, but the error correction performance is general; The decision method has better performance, but the implementation complexity is higher.
  • This embodiment proposes an adaptive LDPC code error correction code system applied to the flash memory.
  • an adaptive LDPC code decoder is included in the flash memory controller.
  • the flash memory controller is primarily responsible for data read and write and data storage and other functions.
  • the flash memory controller obtains data from the host through an adaptive LDPC code decoder for encoding operations, and then stores the generated data into the flash memory. If the host wants to obtain data in the flash memory, it needs a flash memory controller to read it from the flash memory and decode it through an adaptive LDPC code decoder to generate data input to the host.
  • the adaptive LDPC code decoder includes a multi-level encoder, an adaptive regulator, a hard decision decoder, a soft decision decoder, an error detector, and a decision.
  • the multi-level encoder is connected between the host and the flash memory, and the input of the multi-level encoder is connected to the adaptive regulator for adapting the adaptive regulator Corresponding coding is performed; the input ends of the hard decision decoder and the soft decision decoder are connected to the adaptive regulator and the decider I, and the input of the soft decision decoder is connected to the data processor, the decider I, the data processor The other end is connected to the flash memory, and the hard decision decoder judges whether to perform hard decision decoding according to the decider I, and judges the check matrix for decoding according to the adaptive adjuster, and the soft decision decoder determines whether to perform the soft decision according to the decider I.
  • Decoding performing decoding by acquiring parity bit information outputted by the data processor, and determining the decoding moment for decoding according to the adaptive regulator
  • the output of the hard decision decoder and the soft decision decoder are connected to the determiner II, the output of the determiner II is respectively connected to the adaptive regulator, the host and the error detector, and the error detector is connected by the pulse recovery device.
  • the determiner II is used to determine whether the LDPC code is successfully connected and the number of data errors.
  • the error detector determines the decoding failure according to the decider II, and uses the pulse recovery device to recover the data error in the flash memory.
  • the role of each part is that the multi-level encoder is coded according to the adaptive regulator.
  • the hard decision decoder determines whether to perform hard decision decoding according to the decider 1, and judges the application of the check matrix for decoding according to the adaptive adjuster.
  • the soft decision decoder determines whether to perform soft decision decoding according to the decider I, obtains corresponding information of the check bit output by the data processor, performs corresponding operation to decode, and determines the application according to the adaptive regulator.
  • the matrix is checked for decoding.
  • the adaptive regulator makes corresponding adjustments according to the decider II, thereby performing higher level encoding and decoding to make the stored data reliable.
  • the data processor is used to process the corresponding data processing after the data stored in the flash memory is quantized, which improves the data processing speed, thereby improving the decoding time, reducing the decoding delay, and improving the decoding performance of the LDPC code.
  • the error detector mainly judges the decoding failure according to the determiner II, and uses the pulse recovery device to recover the data error in the flash memory.
  • the pulse recovery device injects electrons into the corresponding gates according to the error detector to increase and recover data errors.
  • the determiner I is mainly to determine what method to use for decoding.
  • the determiner II is used to judge whether the LDPC code is decoded successfully and the number of bits of the data error.
  • FIG. 3 it is a schematic structural diagram of a multi-level encoder and a hard decision decoder and a soft decision decoder.
  • the soft decision decoder includes a primary decoder, a secondary decoder, and a tertiary decoder.
  • the multi-level LDPC code is mainly used to adapt the error correction bits of different LDPC codes. Flash memory With the increasing number of erases and writes, the probability of error in flash memory storage data will gradually increase; therefore, multi-level LDPC codes are needed to adapt to changes in flash memory.
  • the LDPC code multi-level encoder in FIG. 3 mainly performs corresponding encoding processing according to the probability of data error in the flash memory, and corresponds to each level decoder of the LDPC code.
  • the LDPC code hard decision decoder is fast and has limited error correction capability. It can only correct a certain amount of error bits, and it performs corresponding hard decision decoding according to different levels of coding.
  • LDPC code soft decision decoding is divided into three levels, each level of error correction capability is different, the error correction capability of the primary decoder is greater than the hard decision decoding, and the secondary decoder is better than the primary decoder.
  • the stage decoder is superior to the second stage decoder.
  • the multi-level LDPC code design increases the useful life of the flash memory and enhances the adaptability of the flash controller.
  • the standard is a standard diagram of data stored in a flash memory whose data bits and check bits are set according to different processes of the flash memory.
  • the adjustment is based on the multi-level LDPC code to increase the error correction capability and increase the corresponding parity bit to make the flash memory more reliable and longer. It is worthwhile to sacrifice a portion of the storage space for flash memory to increase reliability and lifetime.
  • the LDPC code multi-level encoder can be implemented by using various algorithms and software and hardware architecture coding devices.
  • the LDPC code encoder can adopt the Gallager construction method, the generalized LDPC code construction method, the Mackay construction method, It is realized by combination of construction method and finite geometry construction method.
  • the LDPC code decoder can be implemented by using various algorithms and software and hardware architecture decoding devices.
  • the LDPC code decoder can adopt a bit flip method, a sum product decoding algorithm, a minimum sum product decoding algorithm, a maximum likelihood decoding algorithm, and a hardware circuit.
  • the implemented decoding architecture is implemented by software or hardware with a processor to implement decoding.
  • an adaptive LDPC code error correction code method applied in a flash memory is proposed.
  • the adaptive LDPC code error correction code adaptively adjusts the number of error correction bits according to the error probability of the flash memory to store data and different processes.
  • the adaptive LDPC code error correcting code of the method can automatically expand the number of error correcting bits to improve the reliability of the data and the service life of the flash memory.
  • the adaptability of the method is mainly embodied in the multi-level encoder and the multi-stage decoder of the LDPC code, which automatically adjusts the number of error correction bits according to the detecting error device, thereby adjusting the encoding mode and the decoding method thereof.
  • the specific scheme of this scheme is divided into an encoding process and a decoding process. The specific process is as follows.
  • the present application is mainly directed to improving the error correction capability of the error correction code of the flash memory, protecting the stability of the stored data, and improving the lifetime of the flash memory.
  • Changing the LDPC code into adaptive encoding and decoding improves the adaptability of the flash memory controller, and greatly enhances the error correction capability of the flash memory controller while improving the memory life of the flash memory.

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)
  • Error Detection And Correction (AREA)

Abstract

Disclosed in the present invention are a self-adaptive LDPC code error correction code system and method applied to a flash memory. The system and method can improve the error correction capability of the error correction code in the flash memory, ensure the stability of stored data, and prolong the service life of the flash memory. According to the method, the self-adaptive encoding and decoding of an LDPC code improves the adaptation of a flash memory controller, greatly enhances the error correction capability of the flash memory controller, and prolongs the service life of the flash memory.

Description

应用于快闪存储器中的自适应LDPC码纠错码系统和方法Adaptive LDPC code error correction code system and method applied to flash memory 技术领域Technical field

本申请涉及一种应用于快闪存储器中的自适应LDPC码纠错码系统和方法,属于闪存存储控制领域。The present application relates to an adaptive LDPC code error correction code system and method applied to a flash memory, and belongs to the field of flash memory storage control.

背景技术Background technique

在各种需要进行信号传输的应用中,常会采用纠错码,纠错码能使信号传输错误时接收端得以更正错误而获得正确的信号。纠错码可以应用于许多系统中,在通信系统中,信号传输时可能会受到信道效应及噪声的干扰,从而造成闪存存储装置中所存储的数据已经不正确。闪存存储装置中所存储的数据是经过纠错码装置编码后的数据,对于闪存存储控制装置来说,纠错码是必需的一个功能单元。随着存储器的工艺越来越先进,存储器单元体积越来越小,并且存储单元所存储的数据也逐渐在增加,造成闪存存储器在读取过程中产生的错误概率不断升高,因而闪存控制器中采用合适、较强的错误纠错码译码机制,尤其必要。In various applications that require signal transmission, an error correcting code is often used. The error correcting code can correct the error when the signal is transmitted incorrectly and obtain the correct signal. The error correcting code can be applied to many systems. In the communication system, the signal transmission may be interfered by channel effects and noise, thereby causing the data stored in the flash memory device to be incorrect. The data stored in the flash memory device is data encoded by the error correction code device, and the error correction code is a necessary functional unit for the flash memory control device. As the process of memory becomes more and more advanced, the memory unit is getting smaller and smaller, and the data stored in the memory unit is gradually increasing, causing the error probability of the flash memory to be generated during the reading process to rise, and thus the flash controller It is especially necessary to use a suitable and strong error correction code decoding mechanism.

此外,衡量一个闪存存储控制器的好坏关键是它的适应性,它可以支持多个厂商和不同工艺的闪存存储器。尤其当闪存存储器的工艺越先进、体积越小,并且闪存存储单元存储的数据也增加,造成闪存存储器在读取时产生的错误概率也不断的增加。然而,闪存存储控制器的纠错码译码能力是决定闪存存储控制器是否合格的重要因素。因此,闪存存储控制器具有一个适应性强的纠错码是必然趋势需求。In addition, the key to measuring the quality of a flash memory controller is its adaptability, which can support flash memory from multiple vendors and different processes. Especially when the process of flash memory is more advanced, the volume is smaller, and the data stored in the flash memory cell is also increased, the probability of error caused by the flash memory during reading is also increasing. However, the error correction code decoding capability of the flash memory controller is an important factor in determining whether the flash memory controller is qualified. Therefore, it is inevitable that the flash memory controller has an adaptable error correction code.

LDPC(Low Density Parity Check,低密度奇偶校验)码是Robert Gallager于1962年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,它的性能逼近香农限,且描述和实现简单,译码简单且可实行并行操作,适合硬件实现。LDPC码具有巨大的应用潜力,在深空通信、光纤通信、卫星通信、卫星数字视频、数字水印、磁/光/全息存储、移动和固定无线通信、电缆调制/解调和数字用户中得到广泛应用。根据闪存存储装置的工艺越来越先进,闪存存储器控制装置中的纠错码的纠错能力也需要增强。在目前闪存存储器控制装置中,主要的纠错码是BCH码,随着错误概率的增高,BCH码的对空间要求及运算能力也逐渐增高;随着闪存存储工艺的提高,BCH码的纠错能力已经逐渐不适合闪存工艺的发展及其应用,所以需要纠错能力更强、更灵活和适应性强的纠错码。所以选择LDPC码来代替BCH码是比较恰当的。LDPC (Low Density Parity Check) code is a packet error correction code with a sparse check matrix proposed by Robert Gallager in his doctoral thesis in 1962. It is suitable for all channels, its performance is close to Shannon limit, and its description and implementation are simple, the decoding is simple and parallel operation is possible, suitable for hardware implementation. LDPC codes have great application potential and are widely used in deep space communications, fiber optic communications, satellite communications, satellite digital video, digital watermarking, magnetic/optical/holographic storage, mobile and fixed wireless communications, cable modulation/demodulation and digital users. application. According to the increasingly advanced process of the flash memory device, the error correction capability of the error correction code in the flash memory control device also needs to be enhanced. In the current flash memory control device, the main error correction code is the BCH code. As the error probability increases, the space requirement and computing power of the BCH code are gradually increased. With the improvement of the flash memory storage process, the BCH code is corrected. The ability has gradually become unsuitable for the development of flash memory technology and its application, so it needs an error correction code with stronger error correction capability, more flexibility and adaptability. Therefore, it is more appropriate to select the LDPC code instead of the BCH code.

技术方案Technical solutions

本申请要解决的技术问题是提供一种应用于快闪存储器中的自适应LDPC码纠错码 系统和方法,提高闪存存储器的纠错码的纠错能力,保护存储数据的稳定性。The technical problem to be solved by the present application is to provide an adaptive LDPC code error correction code system and method for use in a flash memory, to improve the error correction capability of the error correction code of the flash memory, and to protect the stability of the stored data.

为了解决所述技术问题,本申请采用的技术方案是:一种应用于快闪存储器中的自适应LDPC码纠错码系统,包括主机、闪存存储控制器和闪存存储器,闪存存储控制器内设有自适应LDPC码解码器,自适应LDPC码解码器包括多级编码器、自适应调节器、硬判决解码器、软判决解码器、错误侦测器、判决器I、判决器II、数据处理器和脉冲恢复器,多级编码器连接于主机和闪存存储器之间,同时多级编码器的输入端与自适应调节器连接,用于根据自适应调节器进行相应的编码;硬判决解码器、软判决解码器的输入端均与自适应调节器、判决器I相连,并且软判决解码器的输入端与数据处理器相连,判决器I、数据处理器的另一端连接闪存存储器,硬判决解码器根据判决器I判断是否进行硬判决解码,并根据自适应调节器来判断进行解码的校验矩阵,软判决解码器根据判决器I判断是否进行软判决解码,通过获取数据处理器输出的校验位信息进行计算从而进行解码,根据自适应调节器判断进行解码的校验矩阵;硬判决解码器和软判决解码器的输出端均连接至判决器II,判决器II的输出分别连接至自适应调节器、主机和错误侦测器,错误侦测器通过脉冲恢复器连接至闪存存储器,判断器II用于判断LDPC码接错是否成功以及数据错误的位数,错误侦测器根据判决器II来判断解码失败,并利用脉冲恢复器来恢复闪存存储器中的数据错误。In order to solve the technical problem, the technical solution adopted by the present application is: an adaptive LDPC code error correction code system applied to a flash memory, including a host, a flash memory controller, and a flash memory, and a flash memory controller Adaptive LDPC code decoder, multi-level encoder, adaptive regulator, hard decision decoder, soft decision decoder, error detector, decider I, decider II, data processing And a pulse recovery device, the multi-level encoder is connected between the host and the flash memory, and the input of the multi-level encoder is connected with the adaptive regulator for corresponding encoding according to the adaptive regulator; the hard decision decoder The input end of the soft decision decoder is connected to the adaptive regulator and the decider I, and the input of the soft decision decoder is connected to the data processor, and the other end of the decider I and the data processor are connected to the flash memory, and the hard decision is made. The decoder judges whether to perform hard decision decoding according to the decider I, and judges the check matrix for decoding according to the adaptive adjuster, and the soft decision decoder According to the judger I, it is judged whether or not the soft decision decoding is performed, and the parity bit information outputted by the data processor is used for calculation to perform decoding, and the check matrix for decoding is determined according to the adaptive regulator; the hard decision decoder and the soft decision decoder The output is connected to the determiner II, the output of the determiner II is connected to the adaptive regulator, the host and the error detector respectively, the error detector is connected to the flash memory through the pulse recovery device, and the determiner II is used to judge the LDPC If the code is successfully connected and the number of data errors is wrong, the error detector judges the decoding failure according to the decider II, and uses the pulse recovery device to recover the data error in the flash memory.

本申请所述应用于快闪存储器中的自适应LDPC码纠错码系统,软判决解码器包括一级解码器、二级解码器和三级解码器。The adaptive LDPC code error correction code system is applied to a flash memory, and the soft decision decoder includes a primary decoder, a secondary decoder, and a tertiary decoder.

本申请所述应用于快闪存储器中的自适应LDPC码纠错码系统,硬判决解码器、一级解码器、二级解码器、三级解码器的纠错能力依次增强。The adaptive LDPC code error correction code system applied to the flash memory is applied in the present application, and the error correction capability of the hard decision decoder, the first stage decoder, the second level decoder, and the third stage decoder is sequentially enhanced.

本申请所述应用于快闪存储器中的自适应LDPC码纠错码系统,闪存存储器在标准数据位和校验位的基础上,将一部分数据位用作校验位。The adaptive LDPC code error correction code system applied to the flash memory is applied to the flash memory. Based on the standard data bits and the parity bits, a portion of the data bits are used as check bits.

本申请所述应用于快闪存储器中的自适应LDPC码纠错码系统,多级编码器通过Gallager的构造方法、广义LDPC码的构造方法、Mackay的构造方法、组合学构造法、有限几何构造方法实现;硬判决解码器和软判决解码器采用比特翻转法、和积解码算法、最小和积解码算法、最大似然解码算法、以硬件电路实现的解码架构、以软件或硬件搭配处理器实现译码的方式实现。The adaptive LDPC code error correction code system applied to the flash memory is applied in the present application. The multi-level encoder adopts the Gallager construction method, the generalized LDPC code construction method, the Mackay construction method, the combinatorial construction method, and the finite geometry structure. Method implementation; hard decision decoder and soft decision decoder adopt bit flip method, sum product decoding algorithm, minimum sum product decoding algorithm, maximum likelihood decoding algorithm, decoding architecture implemented by hardware circuit, implemented by software or hardware matching processor The way of decoding is implemented.

本申请还公开了一种应用于快闪存储器中的自适应LDPC纠错码方法,所述方法包括自适应编码流程和自适应解码流程,自适应编码流程的过程为:a01)、根据错误侦测器来选取相应的编码器;a02)、对码字信息进行相应编码;a03)、把编码完的数据及校验码存储到快存存储器中;自适应解码流程的过程为:b01)、从闪存存储器中读取码字信息;b02)、 进行解码判断,如果符合硬判决解码执行步骤3,如果符合软判决解码执行步骤7;b03)、读取码字的硬信息;b04)、利用相应的LDPC码硬判决解码;b05)、进行解码判断,如果成功则结束解码,如果不成功进入下一步判决;b06)、如果不继续解码则结束解码,如果继续解码则执行步骤7;b07)、读取码字的软信息,并进行相应数据处理;b08)、利用相应的LDPC码软判决解码;b09)、解码判断,如果解码成功则结束解码,如果不成功进入下一步判决;b10)、如果不继续解码则结束解码,如果继续解码,则启动错误侦测器判断解码错误;b11)、根据错误侦测器对快闪存储器内部数据进行脉冲恢复;b12)、重复步骤7和8;b13)、迭代达到一定次数仍然LDPC码解码不成功时,直接结束解码过程。The present application also discloses an adaptive LDPC error correction code method applied to a flash memory, the method comprising an adaptive coding process and an adaptive decoding process, the process of the adaptive coding process is: a01), according to error detection The detector selects the corresponding encoder; a02), encodes the codeword information correspondingly; a03), stores the encoded data and the check code into the flash memory; the process of the adaptive decoding process is: b01), Read the codeword information from the flash memory; b02), perform decoding judgment, if it meets the hard decision decoding execution step 3, if it meets the soft decision decoding execution step 7; b03), read the hard information of the codeword; b04), utilize Corresponding LDPC code hard decision decoding; b05), perform decoding judgment, if successful, end decoding, if not successful, enter the next decision; b06), if not continue decoding, end decoding, if continue decoding, execute step 7; b07) Read the soft information of the codeword and perform corresponding data processing; b08), use the corresponding LDPC code soft decision decoding; b09), decode the judgment, if the decoding succeeds, the decoding ends, if not Successfully enters the next decision; b10), if not continue decoding, the decoding is terminated, if the decoding continues, the error detector is started to determine the decoding error; b11), the internal data of the flash memory is pulse-recovered according to the error detector; b12 ), repeat steps 7 and 8; b13), the iteration reaches a certain number of times, and when the LDPC code decoding is unsuccessful, the decoding process is directly ended.

本申请的有益效果:本申请所述应用于快闪存储器中的自适应LDPC码纠错码系统和方法可以提高闪存存储器的纠错码的纠错能力、保护存储数据的稳定性和提高闪存存储器使用寿命。本方法将LDPC码变为自适应的编、解码,改善了闪存存储控制器的适应性,也大大增强了闪存存储控制器的纠错能力,同时提高了闪存存储器使用寿命。Advantageous Effects of the Invention: The adaptive LDPC code error correction code system and method applied to a flash memory according to the present application can improve the error correction capability of the error correction code of the flash memory, protect the stability of the stored data, and improve the flash memory. Service life. The method changes the LDPC code into adaptive encoding and decoding, improves the adaptability of the flash memory controller, greatly enhances the error correction capability of the flash memory controller, and improves the service life of the flash memory.

附图说明DRAWINGS

图1为闪存存储系统的功能框图;Figure 1 is a functional block diagram of a flash memory storage system;

图2为自适应LDPC码解码器的结构示意图;2 is a schematic structural diagram of an adaptive LDPC code decoder;

图3为多级编码器和硬判决解码器、软判决解码器的整体框图;3 is an overall block diagram of a multi-level encoder and a hard decision decoder, and a soft decision decoder;

图4为标准和调整后的闪存村暑期数据存储对比图;Figure 4 is a comparison chart of the standard and adjusted flash village summer data storage;

图5为本申请自适应LDPC码解码的流程图。FIG. 5 is a flowchart of adaptive LDPC code decoding according to the present application.

具体实施方式Detailed ways

下面结合附图和具体实施例对本申请做进一步的说明。The present application will be further described below in conjunction with the accompanying drawings and specific embodiments.

实施例1Example 1

LDPC码是线性分组码的一种,它具有线性分组码所有的特性。LDPC码可以分为规则(regular-LDPC)和非规则(irregular-LDPC)两大类。假设校验矩阵H 0为m×n阶矩阵,规则LDPC码可以记做(n,j,k),其中n为码长,j为校验矩阵每列的重量(即列中1的个数,简称列重(column weight),k为校验矩阵每行的重量(即行中1的个数,简称行重(row weight)),且一般有j>2,k>j。而非规则LDPC码的校验矩阵每行每列的1的个数是不完全相同的。LDPC码的迭代译码方法大致可分为两种:一种是硬判决方法,一种是软判决方法。硬判决比特翻转方法在迭代过程中传递的是二进制硬信息,而软判决方法在迭代过程中传递的是与概率相关的实数软信息。硬判决方法操作简单,易于硬件实现,但是纠错性能一般;软判决方法性能较好,但实现复杂度较高。本实施例提出一种应用于快闪存储器中的自 适应LDPC码纠错码系统。 The LDPC code is a type of linear block code which has all the characteristics of a linear block code. LDPC codes can be classified into two types: regular (regular-LDPC) and irregular (regular-LDPC). Assuming that the check matrix H 0 is an m×n-order matrix, the regular LDPC code can be written as (n, j, k), where n is the code length and j is the weight of each column of the check matrix (ie, the number of 1 in the column) , referred to as column weight, k is the weight of each row of the check matrix (ie, the number of 1 in the row, referred to as the row weight), and generally has j>2, k>j. Instead of regular LDPC The parity check matrix of a code is not exactly the same number of ones per row and column. The iterative decoding method of LDPC codes can be roughly divided into two types: one is a hard decision method, and the other is a soft decision method. The bit flip method delivers binary hard information in the iterative process, while the soft decision method passes the real soft information related to probability in the iterative process. The hard decision method is simple to operate and easy to implement in hardware, but the error correction performance is general; The decision method has better performance, but the implementation complexity is higher. This embodiment proposes an adaptive LDPC code error correction code system applied to the flash memory.

如图1所示,为闪存存储系统的功能框图,闪存存储控制器中包含自适应LDPC码解码器。闪存存储控制器主要负责数据的读写和数据的存储及其它功能。闪存存储控制器从主机获得数据经过自适应LDPC码解码器进行编码运算,然后将产生的数据存储到闪存存储器中。如果主机想要获得闪存存储器中的数据,需要闪存存储控制器来从闪存存储器中读取出来,经过自适应LDPC码解码器进行解码运算而产生数据输入给主机。As shown in FIG. 1 , which is a functional block diagram of a flash memory storage system, an adaptive LDPC code decoder is included in the flash memory controller. The flash memory controller is primarily responsible for data read and write and data storage and other functions. The flash memory controller obtains data from the host through an adaptive LDPC code decoder for encoding operations, and then stores the generated data into the flash memory. If the host wants to obtain data in the flash memory, it needs a flash memory controller to read it from the flash memory and decode it through an adaptive LDPC code decoder to generate data input to the host.

如图2所示,为自适应LDPC码解码器的结构示意图,自适应LDPC码解码器包括多级编码器、自适应调节器、硬判决解码器、软判决解码器、错误侦测器、判决器I、判决器II、数据处理器和脉冲恢复器,多级编码器连接于主机和闪存存储器之间,同时多级编码器的输入端与自适应调节器连接,用于根据自适应调节器进行相应的编码;硬判决解码器、软判决解码器的输入端均与自适应调节器、判决器I相连,并且软判决解码器的输入端与数据处理器相连,判决器I、数据处理器的另一端连接闪存存储器,硬判决解码器根据判决器I判断是否进行硬判决解码,并根据自适应调节器来判断进行解码的校验矩阵,软判决解码器根据判决器I判断是否进行软判决解码,通过获取数据处理器输出的校验位信息进行计算从而进行解码,根据自适应调节器判断进行解码的校验矩阵;硬判决解码器和软判决解码器的输出端均连接至判决器II,判决器II的输出分别连接至自适应调节器、主机和错误侦测器,错误侦测器通过脉冲恢复器连接至闪存存储器,判断器II用于判断LDPC码接错是否成功以及数据错误的位数,错误侦测器根据判决器II来判断解码失败,并利用脉冲恢复器来恢复闪存存储器中的数据错误。As shown in FIG. 2, which is a schematic structural diagram of an adaptive LDPC code decoder, the adaptive LDPC code decoder includes a multi-level encoder, an adaptive regulator, a hard decision decoder, a soft decision decoder, an error detector, and a decision. I, the determiner II, the data processor and the pulse recovery device, the multi-level encoder is connected between the host and the flash memory, and the input of the multi-level encoder is connected to the adaptive regulator for adapting the adaptive regulator Corresponding coding is performed; the input ends of the hard decision decoder and the soft decision decoder are connected to the adaptive regulator and the decider I, and the input of the soft decision decoder is connected to the data processor, the decider I, the data processor The other end is connected to the flash memory, and the hard decision decoder judges whether to perform hard decision decoding according to the decider I, and judges the check matrix for decoding according to the adaptive adjuster, and the soft decision decoder determines whether to perform the soft decision according to the decider I. Decoding, performing decoding by acquiring parity bit information outputted by the data processor, and determining the decoding moment for decoding according to the adaptive regulator The output of the hard decision decoder and the soft decision decoder are connected to the determiner II, the output of the determiner II is respectively connected to the adaptive regulator, the host and the error detector, and the error detector is connected by the pulse recovery device. To the flash memory, the determiner II is used to determine whether the LDPC code is successfully connected and the number of data errors. The error detector determines the decoding failure according to the decider II, and uses the pulse recovery device to recover the data error in the flash memory.

各部分的作用是:多级编码器是根据自适应调节器来进行相应的编码。硬判决解码器是根据判决器I来判断是否进行硬判决解码,而根据自适应调节器来判断应用那个校验矩阵来进行解码。软判决解码器是根据判决器I来判断是否进行软判决解码,通过获取数据处理器输出的校验位相应的信息而进行相应的运算从而进行解码,而根据自适应调节器来判断应用那个校验矩阵来进行解码。自适应调节器根据判决器II来进行做出相应的调节,从而进行更高级别的编码和解码,使存储数据可靠。数据处理器是用来处理闪存存储器中存储的数据进行量化后的相应数据处理,它提高了数据处理速度,从而提高了解码时间,减小解码延迟,提高了LDPC码解码性能。错误侦测器主要是根据判决器II来判断解码失败,利用脉冲恢复器来恢复闪存存储器中的数据错误。脉冲恢复器根据错误侦测器把电子注入相应的栅极来增加并恢复数据错误。判断器I主要是来判断采用什么方式来解码。判断器II用来判断LDPC码解码是否成功及其数据错误的位数。The role of each part is that the multi-level encoder is coded according to the adaptive regulator. The hard decision decoder determines whether to perform hard decision decoding according to the decider 1, and judges the application of the check matrix for decoding according to the adaptive adjuster. The soft decision decoder determines whether to perform soft decision decoding according to the decider I, obtains corresponding information of the check bit output by the data processor, performs corresponding operation to decode, and determines the application according to the adaptive regulator. The matrix is checked for decoding. The adaptive regulator makes corresponding adjustments according to the decider II, thereby performing higher level encoding and decoding to make the stored data reliable. The data processor is used to process the corresponding data processing after the data stored in the flash memory is quantized, which improves the data processing speed, thereby improving the decoding time, reducing the decoding delay, and improving the decoding performance of the LDPC code. The error detector mainly judges the decoding failure according to the determiner II, and uses the pulse recovery device to recover the data error in the flash memory. The pulse recovery device injects electrons into the corresponding gates according to the error detector to increase and recover data errors. The determiner I is mainly to determine what method to use for decoding. The determiner II is used to judge whether the LDPC code is decoded successfully and the number of bits of the data error.

如图3所示,为多级编码器和硬判决解码器、软判决解码器的结构示意图。软判决解码器包括一级解码器、二级解码器和三级解码器。多级LDPC码主要是用来自适应不同的LDPC码的纠错位数。闪存存储器随着不同的工艺、逐渐增加的擦写次数,闪存存储器存储数据出错的概率会逐渐增加;所以需要多级LDPC码来适应闪存存储器的变化。图3中LDPC码多级编码器主要是根据闪存存储器中数据出错的概率来进行相应的编码处理,它与LDPC码的各个级别解码器相互对应的。图3中LDPC码硬判决解码器速度快、纠错能力有限,它只能纠正一定量的错误位数,它根据不同级别的编码进行相应的硬判决解码。图3中,LDPC码软判决解码分为三个级别,每个级别的纠错能力不一样,一级解码器的纠错能力大于硬判决解码,二级解码器优于一级解码器,三级解码器优于二级解码器。多级LDPC码设计提高了闪存存储器的使用寿命,并且增强了闪存控制器适应性。As shown in FIG. 3, it is a schematic structural diagram of a multi-level encoder and a hard decision decoder and a soft decision decoder. The soft decision decoder includes a primary decoder, a secondary decoder, and a tertiary decoder. The multi-level LDPC code is mainly used to adapt the error correction bits of different LDPC codes. Flash memory With the increasing number of erases and writes, the probability of error in flash memory storage data will gradually increase; therefore, multi-level LDPC codes are needed to adapt to changes in flash memory. The LDPC code multi-level encoder in FIG. 3 mainly performs corresponding encoding processing according to the probability of data error in the flash memory, and corresponds to each level decoder of the LDPC code. In Figure 3, the LDPC code hard decision decoder is fast and has limited error correction capability. It can only correct a certain amount of error bits, and it performs corresponding hard decision decoding according to different levels of coding. In Figure 3, LDPC code soft decision decoding is divided into three levels, each level of error correction capability is different, the error correction capability of the primary decoder is greater than the hard decision decoding, and the secondary decoder is better than the primary decoder. The stage decoder is superior to the second stage decoder. The multi-level LDPC code design increases the useful life of the flash memory and enhances the adaptability of the flash controller.

如图4所示,为本专利的闪存存储器数据存储对比图。图4中,标准为闪存存储器存储数据的标准图,它的数据位和检验位根据闪存存储器不同的工艺而设定的一定比例。调整后是根据多级LDPC码为了增加纠错能力,增加相应的校验位而使闪存存储器可靠性更高、使用寿命更长而进行的调整。对于闪存存储器来说牺牲一部分存储空间而增加可靠性和使用寿命是值得的。As shown in FIG. 4, this is a comparison of the flash memory data storage of the patent. In Figure 4, the standard is a standard diagram of data stored in a flash memory whose data bits and check bits are set according to different processes of the flash memory. The adjustment is based on the multi-level LDPC code to increase the error correction capability and increase the corresponding parity bit to make the flash memory more reliable and longer. It is worthwhile to sacrifice a portion of the storage space for flash memory to increase reliability and lifetime.

本实施例中,LDPC码多级编码器可以采用各种算法及软硬件架构的编码装置实现,例如,LDPC码编码器可以采用Gallager的构造方法、广义LDPC码的构造方法、Mackay的构造方法、组合学构造法、有限几何构造方法等方式实现。In this embodiment, the LDPC code multi-level encoder can be implemented by using various algorithms and software and hardware architecture coding devices. For example, the LDPC code encoder can adopt the Gallager construction method, the generalized LDPC code construction method, the Mackay construction method, It is realized by combination of construction method and finite geometry construction method.

LDPC码解码器可以采用各种算法及软硬件架构的解码装置实现,例如,LDPC码解码器可以采用比特翻转法、和积解码算法、最小和积解码算法、最大似然解码算法、以硬件电路实现的解码架构、以软件或硬件搭配处理器实现译码等方式实现。The LDPC code decoder can be implemented by using various algorithms and software and hardware architecture decoding devices. For example, the LDPC code decoder can adopt a bit flip method, a sum product decoding algorithm, a minimum sum product decoding algorithm, a maximum likelihood decoding algorithm, and a hardware circuit. The implemented decoding architecture is implemented by software or hardware with a processor to implement decoding.

实施例2Example 2

本实施例中提出一种应用于闪存存储器中的自适应LDPC码纠错码方法。自适应LDPC码纠错码根据闪存存储器存储数据的出错概率和不同工艺来进行自适应性调节纠错的位数。本方法的自适应LDPC码纠错码可以自动扩展纠错位数来提高数据的可靠性及闪存存储器的使用寿命。本方法的自适应性主要体现在LDPC码的多级编码器和多级解码器,它根据侦测错误器来自动调节纠错位数,从而调整编码方式及其解码方式。本方案的具体分为编码流程和解码流程,具体流程如下。In this embodiment, an adaptive LDPC code error correction code method applied in a flash memory is proposed. The adaptive LDPC code error correction code adaptively adjusts the number of error correction bits according to the error probability of the flash memory to store data and different processes. The adaptive LDPC code error correcting code of the method can automatically expand the number of error correcting bits to improve the reliability of the data and the service life of the flash memory. The adaptability of the method is mainly embodied in the multi-level encoder and the multi-stage decoder of the LDPC code, which automatically adjusts the number of error correction bits according to the detecting error device, thereby adjusting the encoding mode and the decoding method thereof. The specific scheme of this scheme is divided into an encoding process and a decoding process. The specific process is as follows.

自适应LDPC码编码流程:Adaptive LDPC code encoding process:

(1)根据错误侦测器来选取相应的编码器;(1) Select the corresponding encoder according to the error detector;

(2)对码字信息进行相应编码;(2) correspondingly coding the codeword information;

(3)把编码完的数据及校验码存储到闪存存储器中。(3) The encoded data and the check code are stored in the flash memory.

自适应LDPC码解码流程如图5所示,具体为:The adaptive LDPC code decoding process is shown in Figure 5, specifically:

(1)从闪存存储器中读取码字信息;(1) reading codeword information from the flash memory;

(2)进行解码判断,如果符合硬判决解码执行(3),如果符合软判决解码执行(7);(2) performing decoding judgment, if it conforms to hard decision decoding execution (3), if it conforms to soft decision decoding execution (7);

(3)读取码字的硬信息;(3) reading the hard information of the codeword;

(4)利用相应的LDPC码硬判决解码;(4) Hard decision decoding using the corresponding LDPC code;

(5)进行解码判断,如果成功结束解码,如果不成功进入下一步判决;(5) Perform decoding judgment, if the decoding is successfully ended, if the decision is not successful, the next step is entered;

(6)如果不想继续解码结束解码,如果想继续解码,转到(7);(6) If you do not want to continue decoding to end the decoding, if you want to continue decoding, go to (7);

(7)读取码字的软信息,并进行相应数据处理;(7) reading the soft information of the codeword and performing corresponding data processing;

(8)利用相应的LDPC码软判决解码;(8) using the corresponding LDPC code soft decision decoding;

(9)解码判断,如果解码成功结束解码,如果不成功进入下一步判决;(9) Decoding judgment, if the decoding successfully ends the decoding, if the decision is not successful, the next step is entered;

(10)如果不继续解码结束解码,如果继续解码,启动错误侦测器;(10) If the decoding is not continued, the error detector is started if the decoding is continued;

(11)根据错误侦测器对闪存存储器内部数据进行脉冲恢复;(11) performing pulse recovery on the internal data of the flash memory according to the error detector;

(12)重复(7)、(8)过程;(12) repeating the processes of (7) and (8);

(13)如果达到一定迭代次数,LDPC码解码不成功,直接结束解码过程。(13) If a certain number of iterations is reached, the LDPC code decoding is unsuccessful, and the decoding process is directly ended.

本申请主要针对提高闪存存储器的纠错码的纠错能力、保护存储数据的稳定性和提高闪存存储器使用寿命。将LDPC码变为自适应的编、解码改善了闪存存储控制器的适应性,也大大增强了闪存存储控制器的纠错能力,同时提高了闪存存储器使用寿命。The present application is mainly directed to improving the error correction capability of the error correction code of the flash memory, protecting the stability of the stored data, and improving the lifetime of the flash memory. Changing the LDPC code into adaptive encoding and decoding improves the adaptability of the flash memory controller, and greatly enhances the error correction capability of the flash memory controller while improving the memory life of the flash memory.

以上描述的仅是本申请的基本原理和优选实施例,本领域技术人员根据本申请做出的改进和替换,属于本申请的保护范围。The above description is only the basic principles and preferred embodiments of the present application, and the improvements and substitutions made by those skilled in the art according to the present application fall within the protection scope of the present application.

Claims (6)

一种应用于快闪存储器中的自适应LDPC码纠错码系统,包括主机、闪存存储控制器和闪存存储器,其特征在于:闪存存储控制器内设有自适应LDPC码解码器,自适应LDPC码解码器包括多级编码器、自适应调节器、硬判决解码器、软判决解码器、错误侦测器、判决器I、判决器II、数据处理器和脉冲恢复器,多级编码器连接于主机和闪存存储器之间,同时多级编码器的输入端与自适应调节器连接,用于根据自适应调节器进行相应的编码;硬判决解码器、软判决解码器的输入端均与自适应调节器、判决器I相连,并且软判决解码器的输入端与数据处理器相连,判决器I、数据处理器的另一端连接闪存存储器,硬判决解码器根据判决器I判断是否进行硬判决解码,并根据自适应调节器来判断进行解码的校验矩阵,软判决解码器根据判决器I判断是否进行软判决解码,通过获取数据处理器输出的校验位信息进行计算从而进行解码,根据自适应调节器判断进行解码的校验矩阵;硬判决解码器和软判决解码器的输出端均连接至判决器II,判决器II的输出分别连接至自适应调节器、主机和错误侦测器,错误侦测器通过脉冲恢复器连接至闪存存储器,判断器II用于判断LDPC码接错是否成功以及数据错误的位数,错误侦测器根据判决器II来判断解码失败,并利用脉冲恢复器来恢复闪存存储器中的数据错误。An adaptive LDPC code error correction code system for use in a flash memory, comprising a host, a flash memory controller and a flash memory, characterized in that: an adaptive LDPC code decoder is provided in the flash memory controller, and the adaptive LDPC The code decoder includes a multi-level encoder, an adaptive regulator, a hard decision decoder, a soft decision decoder, an error detector, a decider I, a decider II, a data processor, and a pulse recovery device, and a multi-level encoder connection. Between the host and the flash memory, the input of the multi-level encoder is connected to the adaptive regulator for corresponding encoding according to the adaptive regulator; the input of the hard decision decoder and the soft decision decoder are both The adaptive regulator and the decider I are connected, and the input end of the soft decision decoder is connected to the data processor, the other end of the decider I and the data processor are connected to the flash memory, and the hard decision decoder determines whether to perform the hard decision according to the decider I. Decoding, and judging the parity check matrix for decoding according to the adaptive regulator, and the soft decision decoder determines whether to perform soft decision decoding according to the decider I. The decoding is performed by acquiring the parity bit information outputted by the data processor, and the parity check matrix is determined according to the adaptive regulator; the outputs of the hard decision decoder and the soft decision decoder are connected to the determiner II, and the decision is made. The output of the device II is connected to the adaptive regulator, the host and the error detector respectively, and the error detector is connected to the flash memory through the pulse recovery device, and the determiner II is used to determine whether the LDPC code is successfully connected and the number of data errors is incorrect. The error detector judges the decoding failure according to the determiner II, and uses the pulse recovery device to recover data errors in the flash memory. 根据权利要求1所述的应用于快闪存储器中的自适应LDPC码纠错码系统,其特征在于:软判决解码器包括一级解码器、二级解码器和三级解码器。The adaptive LDPC code error correction code system for use in a flash memory according to claim 1, wherein the soft decision decoder comprises a primary decoder, a secondary decoder and a tertiary decoder. 根据权利要求2所述的应用于快闪存储器中的自适应LDPC码纠错码系统,其特征在于:硬判决解码器、一级解码器、二级解码器、三级解码器的纠错能力依次增强。The adaptive LDPC code error correction code system for use in a flash memory according to claim 2, wherein the error correction capability of the hard decision decoder, the first stage decoder, the second stage decoder, and the third stage decoder Enhance in turn. 根据权利要求1所述的应用于快闪存储器中的自适应LDPC码纠错码系统,其特征在于:闪存存储器在标准数据位和校验位的基础上,将一部分数据位用作校验位。The adaptive LDPC code error correction code system for use in a flash memory according to claim 1, wherein the flash memory uses a portion of the data bits as a parity bit on the basis of standard data bits and parity bits. . 根据权利要求1所述的应用于快闪存储器中的自适应LDPC吗纠错码系统,其特征在于:多级编码器通过Gallager的构造方法、广义LDPC码的构造方法、Mackay的构造方法、组合学构造法、有限几何构造方法实现;硬判决解码器和软判决解码器采用比特翻转法、和积解码算法、最小和积解码算法、最大似然解码算法、以硬件电路实现的解码架构、以软件或硬件搭配处理器实现译码的方式实现。The adaptive LDPC error correction code system applied to a flash memory according to claim 1, wherein the multi-level encoder adopts a Gallager construction method, a generalized LDPC code construction method, a Mackay construction method, and a combination. Learning construction method, finite geometry construction method implementation; hard decision decoder and soft decision decoder adopt bit flip method, sum product decoding algorithm, minimum sum product decoding algorithm, maximum likelihood decoding algorithm, decoding architecture implemented by hardware circuit, Software or hardware is implemented in a way that the processor implements decoding. 一种应用于快闪存储器中的自适应LDPC码纠错码方法,其特征在于:包括自适应编码流程和自适应解码流程,自适应编码流程的过程为:a01)、根据错误侦测器来选取相应的编码器;a02)、对码字信息进行相应编码;a03)、把编码完的数据及校验码存储到快存存储器中;自适应解码流程的过程为:b01)、从闪存存储器中读取码字信息;b02)、进行解码判断,如果符合硬判决解码执行步骤3,如果符合软判决解码执行步骤7;b03)、读取码字的 硬信息;b04)、利用相应的LDPC码硬判决解码;b05)、进行解码判断,如果成功则结束解码,如果不成功进入下一步判决;b06)、如果不继续解码则结束解码,如果继续解码则执行步骤7;b07)、读取码字的软信息,并进行相应数据处理;b08)、利用相应的LDPC码软判决解码;b09)、解码判断,如果解码成功则结束解码,如果不成功进入下一步判决;b10)、如果不继续解码则结束解码,如果继续解码,则启动错误侦测器判断解码错误;b11)、根据错误侦测器对快闪存储器内部数据进行脉冲恢复;b12)、重复步骤7和8;b13)、迭代达到一定次数仍然LDPC码解码不成功时,直接结束解码过程。An adaptive LDPC code error correction code method applied to a flash memory, comprising: an adaptive coding process and an adaptive decoding process, wherein the process of the adaptive coding process is: a01), according to an error detector Selecting the corresponding encoder; a02), correspondingly encoding the codeword information; a03), storing the encoded data and the check code into the flash memory; the process of the adaptive decoding process is: b01), from the flash memory Reading the codeword information; b02), performing decoding judgment, if the hard decision decoding is performed, step 3 is performed, if the soft decision decoding is performed, step 7; b03), reading the hard information of the codeword; b04), using the corresponding LDPC Code hard decision decoding; b05), perform decoding judgment, if successful, end decoding, if not successfully enter the next decision; b06), if not continue decoding, end decoding, if continue decoding, execute step 7; b07), read The soft information of the codeword, and the corresponding data processing; b08), using the corresponding LDPC code soft decision decoding; b09), decoding judgment, if the decoding is successful, the decoding ends, if not successfully entered Next decision; b10), if not continue decoding, the decoding is terminated, if the decoding continues, the error detector is started to determine the decoding error; b11), the internal data of the flash memory is pulse-recovered according to the error detector; b12), Repeat steps 7 and 8; b13). When the iteration reaches a certain number of times and the LDPC code decoding is unsuccessful, the decoding process is directly ended.
PCT/CN2017/119349 2017-07-24 2017-12-28 Adaptive LDPC code error correction code system and method applied to flash memory Ceased WO2019019550A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710606541.2A CN107423161B (en) 2017-07-24 2017-07-24 Applied to the adaptive LDPC code error-correcting code system and method in flash memory
CN201710606541.2 2017-07-24

Publications (1)

Publication Number Publication Date
WO2019019550A1 true WO2019019550A1 (en) 2019-01-31

Family

ID=60431040

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/119349 Ceased WO2019019550A1 (en) 2017-07-24 2017-12-28 Adaptive LDPC code error correction code system and method applied to flash memory

Country Status (2)

Country Link
CN (1) CN107423161B (en)
WO (1) WO2019019550A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423161B (en) * 2017-07-24 2019-07-02 山东华芯半导体有限公司 Applied to the adaptive LDPC code error-correcting code system and method in flash memory
CN108880564B (en) * 2018-06-26 2021-09-24 清华大学 A low-density parity-check code decoding method with cache fault tolerance
CN109032524A (en) * 2018-07-26 2018-12-18 浪潮电子信息产业股份有限公司 Method and related device for bad block marking
CN109087683B (en) * 2018-07-26 2021-08-17 西京学院 A NAND Flash solid-state storage adaptive error control method
CN109739682B (en) * 2018-12-21 2021-04-02 山东华芯半导体有限公司 Self-adaptive polar code error correcting code system and method applied to flash memory controller
CN110232002A (en) * 2019-08-09 2019-09-13 深圳市硅格半导体有限公司 A method, system and device for improving read accuracy of flash memory
CN111294061B (en) * 2020-02-11 2021-01-05 上海威固信息技术股份有限公司 Decoding soft decision delay reduction method for original bit error rate perception
CN113517896B (en) * 2021-07-08 2022-09-20 华中科技大学 Encoding/decoding method, apparatus and system for phase modulation type holographic memory system
CN116107505B (en) * 2022-12-30 2026-01-16 深圳市时创意电子股份有限公司 Solid State Drives and Their Operating Methods
CN121050932B (en) * 2025-07-28 2026-04-10 苏州科美信息技术有限公司 Flash memory error correction method and system based on self-adaptive learning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140068379A1 (en) * 2012-08-31 2014-03-06 Kabushiki Kaisha Toshiba Memory system
CN103888148A (en) * 2014-03-20 2014-06-25 山东华芯半导体有限公司 LDPC hard decision decoding method for dynamic threshold value bit-flipping
CN104835535A (en) * 2015-05-15 2015-08-12 华中科技大学 Solid disc self-adaptive error correction method and system
CN106685431A (en) * 2016-12-05 2017-05-17 华南理工大学 LDPC soft information decoding method and coder-decoder based on Nand Flash
CN107423161A (en) * 2017-07-24 2017-12-01 山东华芯半导体有限公司 Applied to the adaptive LDPC code error-correcting code system and method in flash memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140068379A1 (en) * 2012-08-31 2014-03-06 Kabushiki Kaisha Toshiba Memory system
CN103888148A (en) * 2014-03-20 2014-06-25 山东华芯半导体有限公司 LDPC hard decision decoding method for dynamic threshold value bit-flipping
CN104835535A (en) * 2015-05-15 2015-08-12 华中科技大学 Solid disc self-adaptive error correction method and system
CN106685431A (en) * 2016-12-05 2017-05-17 华南理工大学 LDPC soft information decoding method and coder-decoder based on Nand Flash
CN107423161A (en) * 2017-07-24 2017-12-01 山东华芯半导体有限公司 Applied to the adaptive LDPC code error-correcting code system and method in flash memory

Also Published As

Publication number Publication date
CN107423161B (en) 2019-07-02
CN107423161A (en) 2017-12-01

Similar Documents

Publication Publication Date Title
WO2019019550A1 (en) Adaptive LDPC code error correction code system and method applied to flash memory
JP5345201B2 (en) Encoding and / or decoding memory device and method
CN1290267C (en) Decoder having fast decoder and Read solomon decoder and its method
KR101398200B1 (en) Memory device and encoding and/or decoding method
JP5324652B2 (en) Memory device and error control code decoding method
JP4777876B2 (en) Early termination of turbo decoder iterations
TWI557747B (en) Memory control module and method thereof and error correcting code encode/decode circuit and method thereof
JP2008544721A (en) Method and apparatus for iterative decoder power reduction
WO2015139160A1 (en) Hard decision decoding method for ldpc code of dynamic threshold bit-flipping
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
TWI460733B (en) Memory controller with low density parity check code decoding capability and relevant memory controlling method
WO2013075125A2 (en) Systems, methods, and devices for multi-tiered error correction
CN101194451A (en) Method and apparatus for power reduction in an iterative decoder
WO2013006579A2 (en) Non-volatile memory error mitigation
CN101923902A (en) Methods, systems and apparatus related to multilevel coding with error correction
CN114073024B (en) Convolutional Precoding and Decoding of Polar Codes
US10673465B2 (en) Memory controller, memory system, and control method
WO2020124980A1 (en) Adaptive polar code error correction code system and method used for flash memory controller
CN112468158A (en) Method for decoding a codeword and decoder
WO2012092902A2 (en) Decoding method and decoding device
CN118427000A (en) Data decoding method, device, equipment and storage medium
CN118508976A (en) Coding method, decoding method, encoder, decoder and readable storage medium
JP7309551B2 (en) memory system
TWI645683B (en) Partial concatenated coding system using algebraic code and ldpc code
CN103916139A (en) Enhanced coding method based on Reed-Solomon code, enhanced decoding method and enhanced decoder

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17919084

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17919084

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17919084

Country of ref document: EP

Kind code of ref document: A1