CN106160753B - Weight multi-bit flipping LDPC decoding method suitable for SSD - Google Patents

Weight multi-bit flipping LDPC decoding method suitable for SSD Download PDF

Info

Publication number
CN106160753B
CN106160753B CN201610462370.6A CN201610462370A CN106160753B CN 106160753 B CN106160753 B CN 106160753B CN 201610462370 A CN201610462370 A CN 201610462370A CN 106160753 B CN106160753 B CN 106160753B
Authority
CN
China
Prior art keywords
decoding
bit
weight
check matrix
flipping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610462370.6A
Other languages
Chinese (zh)
Other versions
CN106160753A (en
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.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN201610462370.6A priority Critical patent/CN106160753B/en
Publication of CN106160753A publication Critical patent/CN106160753A/en
Application granted granted Critical
Publication of CN106160753B publication Critical patent/CN106160753B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • 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/1148Structural properties of the code parity-check or generator matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

The invention discloses a weight multi-bit flipping LDPC decoding method suitable for SSDThe first step is based on the read channel soft information Y ═ Y1,y2,y3,...,yN]Setting a codeword bit flipping weight factor U ═ U1,u2,u3,...,uN],ui=α|yiL, |; the second step is to calculate the codeword bit reliability factor Ei(ii) a And thirdly, carrying out overturn decoding and updating the code word bit overturn weight factor according to the overturn rule. The invention effectively improves the throughput in the high-speed storage system; the global search operation with the maximum reliability factor of the prior bit flip search in the decoding process is overcome, and the error correction capability is improved; meanwhile, the restriction between the error correction capability and the operation speed is optimized, and the parallel decoding is effectively realized.

Description

一种适用于SSD的权值多比特翻转LDPC译码方法A weighted multi-bit flip LDPC decoding method suitable for SSD

技术领域technical field

本发明涉及一种适用于SSD的权值多比特翻转LDPC译码方法。The present invention relates to a weight multi-bit inversion LDPC decoding method suitable for SSD.

背景技术Background technique

随着互联网和社会各领域信息化系统的迅猛发展,数据正在爆炸式增长,使得大容量存储系统在可靠性和读写性能等方面均面临巨大挑战。以新型的NAND Flash作为存储介质的固态硬盘(Solid-State Drive,SSD)因为其具有高性能、低功耗等优良特点,已经逐步被应用在互联网、军事、车载、航空等诸多领域的数据存储中,也为构建大容量存储系统提供了更多发展机遇。采用Flash介质构建高容错、高效能的大容量固态存储系统,是存储系统的主要发展趋势之一。尽管研究者们针对固态硬盘展开了多方面的研究,取得了一系列相关成果,但是固态存储系统的纠错编码技术却仍然是沿袭着传统的磁存储系统的传统纠错码(ECC,Error Correction Code)技术,针对Flash介质和固态硬盘的差错特性的相关研究并不广泛深入。With the rapid development of the Internet and information systems in various fields of society, data is growing explosively, making large-capacity storage systems face huge challenges in terms of reliability and read/write performance. Solid-State Drive (SSD), which uses a new type of NAND Flash as a storage medium, has been gradually applied to data storage in many fields such as the Internet, military, vehicle, and aviation because of its excellent features such as high performance and low power consumption. It also provides more development opportunities for building large-capacity storage systems. It is one of the main development trends of storage systems to use Flash media to build high-capacity solid-state storage systems with high fault tolerance and high performance. Although researchers have carried out various researches on solid-state drives and have achieved a series of related results, the error correction coding technology of solid-state storage systems still follows the traditional error correction code (ECC, Error Correction Code) of traditional magnetic storage systems. Code) technology, the research on the error characteristics of Flash media and solid-state drives is not extensive and in-depth.

同时随着云计算应用的不断扩大,更多IT厂商纷纷建立自己的数据中心,不仅仅是互联网企业,一些传统的IT厂商也开始着重对于数据中心的开发。由于数据中心的规模庞大,数以万计的传统磁介质存储设备带来的能耗成本巨大,且I/O性能瓶颈问题突出,这给了固态硬盘广阔的市场空间,固态存储系统的低功耗、高性能、低噪声等特点为大规模数据中心的发展提供了更大的空间,成为未来数据中心或云计算的首选配置。因此,采用高性能固态存储系统构建大规模数据中心是存储系统未来的主要发展趋势之一。IDC的研究报告预计固态存储系统的销售额从2010年(24亿美金)开始将以每年105%的速度增长,且将达到100亿美金/年,被IDC评为存储领域十大新技术之一。同时IDC研究数据显示,2014年全球数据存储总量将增长到2.16ZB。At the same time, with the continuous expansion of cloud computing applications, more IT manufacturers have established their own data centers, not only Internet companies, but also some traditional IT manufacturers have begun to focus on the development of data centers. Due to the large scale of the data center, tens of thousands of traditional magnetic media storage devices bring huge energy costs, and the problem of I/O performance bottlenecks is prominent, which gives solid-state drives a broad market space, and the low power consumption of solid-state storage systems. Features such as high power consumption, high performance, and low noise provide more space for the development of large-scale data centers and become the preferred configuration for future data centers or cloud computing. Therefore, the use of high-performance solid-state storage systems to build large-scale data centers is one of the main development trends of storage systems in the future. IDC's research report predicts that the sales of solid-state storage systems will grow at an annual rate of 105% from 2010 (2.4 billion US dollars), and will reach 10 billion US dollars per year, and is rated as one of the top ten new technologies in the storage field by IDC. . At the same time, IDC research data shows that in 2014, the total amount of global data storage will increase to 2.16ZB.

当前NAND Flash被广泛应用于与存储相关的各个领域,作为具有优异性能的存储介质,特别是在固态硬盘的应用中发挥着关键作用,然而受限于NAND Flash的内部结构特征,如何提高并确保NAND Flash的可靠性是闪存研究的重大课题之一。NAND Flash通过纠错码ECC解决误码问题,发展过程中上使用过RS码(Reed-Solomn),以及BCH码(Bose-Chauhuri-Hocquenghem)作为纠错码[2][3],然而随着Flash工艺进步,单个Flash存储单元Cell中存储的比特增加,由最开始的SLC(Single-Level-Cell)到MLC(Multi-Level-Cell)以及TLC,存储密度大幅增加,且存储空间不断缩小,特别Flash是工艺达到25nm以下,NANDFlash误码率急剧上升,传统的纠错码机制已经无法满足日益发展的闪存需求,作为以一种具有卓越的纠错性能和并行快速译码等特点的纠错码,低密度奇偶校验码(Low-Density-Parity-Check-Code,LDPC)在信道编码领域得到广泛应用,在闪存纠错领域LDPC码近年来也被采用。NAND Flash闪存的高存储密度、低成本等特点,对LDPC码提出了高码率、长码、高性能和低复杂度的要求。因此,研究新的适用于NAND Flash的高效的译码技术具有重要的意义。At present, NAND Flash is widely used in various fields related to storage. As a storage medium with excellent performance, it plays a key role in the application of solid-state drives in particular. However, limited by the internal structural characteristics of NAND Flash, how to improve and ensure The reliability of NAND Flash is one of the major topics in flash memory research. NAND Flash solves the error problem through error correction code ECC. In the process of development, RS code (Reed-Solomn) and BCH code (Bose-Chauhuri-Hocquenghem) are used as error correction codes [2][3]. With the advancement of Flash technology, the number of bits stored in a single Flash memory cell has increased. From the original SLC (Single-Level-Cell) to MLC (Multi-Level-Cell) and TLC, the storage density has increased significantly, and the storage space has been shrinking. In particular, when the process of Flash is below 25nm, the error rate of NAND Flash has risen sharply. The traditional error correction code mechanism has been unable to meet the growing demand for flash memory. As a kind of error correction with excellent error correction performance and parallel fast decoding Low-Density-Parity-Check-Code (LDPC) has been widely used in the field of channel coding, and LDPC codes have also been used in the field of flash memory error correction in recent years. The characteristics of high storage density and low cost of NAND Flash flash memory require high code rate, long code, high performance and low complexity for LDPC codes. Therefore, it is of great significance to study a new efficient decoding technology suitable for NAND Flash.

总之,随着Flash工艺深入到25nm甚至以下,且结构从SLC到MLC再到TLC,存储容量越来越大,数据差错率也越来越高,目前固态存储系统的数据容错却仍然依赖于传统磁存储系统的一些纠错技术,已经不完全符合固态存储介质的技术特点,难以充分发挥其性能优势。因此,研究符合固态存储系统随机差错特性的纠错编码技术,并研发高容错的纠错编码芯片,对于确保大容量固态存储系统的可靠性,具有十分重要的意义。In a word, as the Flash technology goes deep into 25nm or below, and the structure changes from SLC to MLC to TLC, the storage capacity is getting larger and larger, and the data error rate is getting higher and higher. At present, the data error tolerance of solid-state storage systems still relies on traditional Some error correction technologies of magnetic storage systems are no longer fully in line with the technical characteristics of solid-state storage media, and it is difficult to give full play to their performance advantages. Therefore, it is of great significance to study the error correction coding technology that conforms to the random error characteristics of solid-state storage systems, and to develop error-correction coding chips with high error tolerance to ensure the reliability of large-capacity solid-state storage systems.

LDPC码即Low Density Parity Check Code,是由Gallager由上世纪60年代提出的一类基于奇偶校验矩阵定义的线性分组码,因其校验矩阵含有少量的非零元素,因而得其名。LDPC码因其编码率高,译码速度快,不可检测错误少,硬件实现简单以及发生错误平台比较低等很多优点成为近些年来研究的热点。LDPC code, namely Low Density Parity Check Code, is a class of linear block codes defined by a parity check matrix proposed by Gallager in the 1960s. Because the check matrix contains a small number of non-zero elements, it gets its name. LDPC codes have become a research hotspot in recent years due to their high coding rate, fast decoding speed, few undetectable errors, simple hardware implementation, and relatively low error-generating platforms.

Bit-Flipping是LDPC的一类代表性硬译码方法,有很多版本,基本思想主要是基于Gallager提出的硬译码,根据信息位的不满足方程数与满足方程数的对比,进行翻转判决。由于Bit-Flipping译码过程只有简单运算,其特点是硬件开销小、计算复杂度小、运算速度快,但纠错性能相对不佳,译码收敛速度缓慢。Bit-Flipping is a representative hard decoding method of LDPC. There are many versions. The basic idea is mainly based on the hard decoding proposed by Gallager. According to the comparison of the number of unsatisfied equations and the number of satisfied equations, the flipping decision is made. Since the Bit-Flipping decoding process has only simple operations, it is characterized by low hardware overhead, low computational complexity, and fast operation speed, but the error correction performance is relatively poor, and the decoding convergence speed is slow.

Zhao对传统的Bit-Flipping方法进行了改进,称为NBF(Novel Bit-Flipping)方法,NBF解决了传统方法在译码过程中的全局搜索,采用的方法是通过动态改变翻转阀值,实验表明该方法能效地提高译码速度,同时节约硬件设计开销,但缺点在于纠错性能进一步损失。Zhao has improved the traditional Bit-Flipping method, which is called NBF (Novel Bit-Flipping) method. NBF solves the global search in the decoding process of the traditional method. The method used is to dynamically change the flip threshold. Experiments show that This method can effectively improve the decoding speed and save the hardware design overhead, but the disadvantage is that the error correction performance is further lost.

Yu PengHu等人根据研究NAND Flash错误特点,提出了基于闪存主要错误区间的译码策略,通过错误区间策略有效区分错误比特位和正确比特位,该方案能够有效提高译码效率和译码纠错能力。Yu PengHu et al. proposed a decoding strategy based on the main error interval of flash memory based on the study of the error characteristics of NAND Flash. Through the error interval strategy, the error bits and the correct bits can be effectively distinguished. This scheme can effectively improve the decoding efficiency and decoding error correction. ability.

Zhang T等人根据闪存生命周期不同阶段错误特点提出了Hybrid Hard/Soft的软硬判决混译码策略方法,由于闪存不同生命周期阶段错误率有差别,所以一种混合译码策略被提出,生命周期早期阶段采用硬判决Bit-Flipping或者Min-Sum译码方法,当译码不成功时调用高精度判决Min-Sum译码方法,一定程度提高了整体译码纠错能力和译码速度,但明显缺陷是硬件开销大,译码性能提升有限。Zhang T et al. proposed Hybrid Hard/Soft soft-hard decision mixed decoding strategy method according to the error characteristics of different stages of flash memory life cycle. In the early stage of the cycle, the hard-decision Bit-Flipping or Min-Sum decoding method is used. When the decoding is unsuccessful, the high-precision judgment Min-Sum decoding method is called, which improves the overall decoding error correction ability and decoding speed to a certain extent. The obvious defect is that the hardware overhead is large and the decoding performance improvement is limited.

Wu等根据校验方程满足与否,采用不同修正因子对最小和方法进行修正,在低信噪比的条件下,得到了比采用单一修正因子更好的译码性能,但是该方法在应用于码长较小的LDPC码时存在比较高的地板效应,即在较高信噪比条件下仍有大于10-6量级的误码率。According to whether the check equation is satisfied or not, Wu et al. modified the min-sum method with different correction factors. Under the condition of low signal-to-noise ratio, better decoding performance was obtained than using a single correction factor. LDPC codes with smaller code lengths have a relatively high floor effect, that is, under the condition of higher signal-to-noise ratio, there is still a bit error rate of the order of magnitude greater than 10-6.

如上所述,这些研究者从不同方面对LDPC码的译码方法进行了研究,在特定的条件下,都获得了比较好的译码性能。As mentioned above, these researchers have studied the decoding methods of LDPC codes from different aspects, and they have obtained relatively good decoding performance under certain conditions.

目前LDPC纠错码中存在的译码技术主要有软译码Soft-decision,硬译码hard-decision和混合译码。Soft-decision以软信息作为输入,经过和、乘甚至对数等运算进行译码,特点是纠错能力强,译码并行性高,收敛速度快,接近香农极限,但是计算复杂度大,硬件实现难度大。在高速存储系统中,因为需要精度高的软信息,准确读取存储单元的电压值带来的延迟占据整个译码过程所花时间的绝大部分,制约了译码速度的提高,提高吞吐量困难。At present, the decoding technologies existing in LDPC error correction codes mainly include soft decoding Soft-decision, hard decoding hard-decision and hybrid decoding. Soft-decision takes soft information as input, and decodes through sum, multiplication and even logarithmic operations. It is characterized by strong error correction ability, high decoding parallelism, fast convergence speed, close to the Shannon limit, but large computational complexity and hardware It is difficult to achieve. In a high-speed storage system, because of the need for high-precision soft information, the delay caused by accurately reading the voltage value of the memory cell occupies most of the time spent in the entire decoding process, which restricts the improvement of the decoding speed and improves the throughput. difficulty.

Hard-decision译码以简单的0和1作为输入,译码过程只有简单整数运算,因此其特点是硬件开销小、计算复杂度小、运算速度快。但是它有一个致命的缺现,纠错能力差,译码收敛速度慢,原因如下:第一,基于异或运算校验矩阵,在译码过程中,偶数个位翻转会引入错误的伴随式信息,并且错误的伴随式信息在后续译码过程中将会传播,导致单纯依赖伴随式信息难以准确译码,难以正确收敛;第二,在hard-decision译码中位翻转搜索具有最大可靠性因子过程是全局的,全局搜索过程使得译码呈现伪并行译码;第三,硬判决操作会损失掉大部分的信道信息,导致信道信息利用率很低。Hard-decision decoding takes simple 0 and 1 as input, and the decoding process only has simple integer operations, so it is characterized by low hardware overhead, low computational complexity, and fast operation speed. However, it has a fatal deficiency, poor error correction ability, and slow decoding convergence speed. The reasons are as follows: First, based on the XOR operation check matrix, in the decoding process, even-number bit flips will introduce wrong syndromes information, and the wrong syndrome information will be propagated in the subsequent decoding process, making it difficult to accurately decode and converge only by relying solely on syndrome information; second, the bit flip search has the greatest reliability in hard-decision decoding. The factor process is global, and the global search process makes the decoding appear pseudo-parallel decoding; third, the hard decision operation will lose most of the channel information, resulting in low utilization of channel information.

混合译码是一种比较理想的译码的方式,因为此种方法综合了soft-decision的软信息和hard-decision的译码速度。该类方法因为引入信道软信息有效提高了译码纠错能力,并且译码计算复杂度上同BF方法相差不大。本发明的译码方法是在该类方法的基础上进行改进提出。Hybrid decoding is an ideal decoding method, because this method combines the soft information of soft-decision and the decoding speed of hard-decision. This kind of method effectively improves the decoding error correction ability due to the introduction of channel soft information, and the computational complexity of decoding is not much different from that of the BF method. The decoding method of the present invention is improved and proposed on the basis of such methods.

近来一系列的关于提高BF混合译码方法纠错性能,以及提高收敛速度的研究成果被提出,如Weighted BF(WBF)、Modified WBF(MWBF)、Combined Modified WBF(CMWBF)、Parallel WBF(PWBF)、Candidate bit BF(CBBF)等译码方法,这一类译码方法又叫做基于软信息加权比特翻转方法。由于提高译码方法收敛速度、降低译码平均迭代次数是提高译码器吞吐率的有效办法,因此提高译码并行性,同时降低译码器设计的硬件开销,并同时能够有效保证译码器有较高纠错能力是译码器研究的关键。Recently, a series of research results on improving the error correction performance of BF hybrid decoding methods and improving the convergence speed have been proposed, such as Weighted BF (WBF), Modified WBF (MWBF), Combined Modified WBF (CMWBF), Parallel WBF (PWBF) , Candidate bit BF (CBBF) and other decoding methods, this type of decoding method is also called a weighted bit flip method based on soft information. Since improving the convergence speed of the decoding method and reducing the average number of decoding iterations are effective ways to improve the throughput of the decoder, the parallelism of the decoding is improved, the hardware overhead of the decoder design is reduced, and the decoder can be effectively guaranteed at the same time. Having a higher error correction capability is the key to the research of the decoder.

现有各种传统BF以及WBF译码方法基本译码流程如图1所示,可以看到在每次迭代译码过程中包含三个主要步骤:Step 1对于每个给定的硬判决码字所有比特,计算每个比特来自校验方程的可信度信息,设为Ei;Step 2全局搜索具有最大Ei(或者最大的q个Ei);Step 3翻转所有具有最大Ei(或者最大q个Ei)对应比特。其中Step 3在Step 2完成全局搜索后才能执行,译码器在此过程中需要存储所有Ei,并且异步执行的串行设计,限制了译码速度。The basic decoding process of various traditional BF and WBF decoding methods is shown in Figure 1. It can be seen that there are three main steps in each iterative decoding process: Step 1 For each given hard-decision codeword All bits, calculate the credibility information of each bit from the check equation, set as E i ; Step 2 global search has the largest E i (or the largest q E i ); Step 3 flips all the E i (or A maximum of q E i ) corresponding bits. Among them, Step 3 can be executed after the global search is completed in Step 2. The decoder needs to store all E i in this process, and the serial design of asynchronous execution limits the decoding speed.

分析图1可知,现有的各种改进BF or WBF方法,在每次迭代译码过程中将涉及到全局搜索操作(搜索具有最大Ei的比特位),然后权值翻转特定位比特。这样的串行设计将会导致在译码器设计过程中存在连个缺点:(i)译码器需要存储大量中间数据,导致大量的硅缓存空间开销;(ii)更为需要注意的是译码器译码过程中必须先完成全局搜索操作,然后才能执行翻转操作,使得并行译码受阻,导致有限的译码吞吐率。为了解决以上两个缺陷,尤其是译码无法并行,以及现有权值WBF译码方法权值不能更新而导致译码容易进入相同比特循环翻转的陷进,严重影响译码收敛速度。Analysis of Fig. 1 shows that the existing improved BF or WBF methods involve a global search operation (searching for the bits with the largest E i ) in each iterative decoding process, and then the weights flip specific bits. Such a serial design will lead to several disadvantages in the decoder design process: (i) the decoder needs to store a large amount of intermediate data, resulting in a large amount of silicon buffer space overhead; (ii) more attention should be paid to the decoding In the decoding process of the decoder, the global search operation must be completed first, and then the flip operation can be performed, so that parallel decoding is blocked, resulting in limited decoding throughput. In order to solve the above two defects, in particular, the decoding cannot be parallelized, and the weights of the existing WBF decoding method cannot be updated, so that the decoding is easy to enter the trap of the same bit cyclic flip, which seriously affects the decoding convergence speed.

发明内容SUMMARY OF THE INVENTION

本发明所要解决的技术问题是,针对现有技术不足,提供一种适用于SSD的权值多比特翻转LDPC译码方法。The technical problem to be solved by the present invention is to provide a weight multi-bit inversion LDPC decoding method suitable for SSD in view of the deficiencies of the prior art.

为解决上述技术问题,本发明所采用的技术方案是:一种适用于SSD的权值多比特翻转LDPC译码方法,包括以下步骤:In order to solve the above-mentioned technical problems, the technical solution adopted in the present invention is: a weight multi-bit flip LDPC decoding method suitable for SSD, comprising the following steps:

1)初始化非负参数因子α,以及码字比特翻转权值序列U=[u1,u2,u3,...,un],1) Initialize the non-negative parameter factor α, and the codeword bit flip weight sequence U=[u 1 , u 2 , u 3 ,..., u n ],

ui=α|yi|,其中,设定最大迭代次数Kmax,初始迭代次数k=1;u i =α|y i |, where the maximum number of iterations K max is set, and the initial number of iterations k=1;

i=1,2,…n;i=1,2,...n;

2)根据初始判决序列Z计算获得伴随式S,S=ZHT,如果S=0或者k达到最大迭代次数Kmax,则停止译码,输出译码结果;如果以上条件都不满足则计算可靠性中间参数因子wm2) Calculate the syndrome S according to the initial decision sequence Z, S=ZH T , if S=0 or k reaches the maximum number of iterations K max , stop decoding and output the decoding result; if none of the above conditions are satisfied, the calculation is reliable Sexual intermediate parameter factor w m :

其中,N(m)={n:hm,n=1};hm,n为校验矩阵H中的元素,H=(hm,n),1≤m≤M,1≤n≤N,M为校验矩阵的行,N为码长,;yn为第n个信道的软信息;Among them, N(m)={n:h m , n =1}; h m,n are elements in the check matrix H, H=(h m,n ), 1≤m≤M, 1≤n≤ N, M is the row of the check matrix, N is the code length, y n is the soft information of the nth channel;

3)计算码字比特可信度因子En3) Calculate the bit reliability factor En of the codeword:

Figure BDA0001026574160000051
Figure BDA0001026574160000051

其中,M(n)={m:hm,n=1};sm表示伴随式S中的元素;Wherein, M(n)={ m : hm,n =1}; sm represents the element in syndrome S;

4)根据码字比特可信度因子En,并根据设定的翻转规则,对被判定为错误比特位的比特进行翻转,得到翻转后的序列Zk4) according to the codeword bit reliability factor E n and according to the set inversion rule, flip the bit that is judged to be an error bit to obtain the flipped sequence Z k ;

5)重新根据S=ZkHT计算伴随式S;如果当前计算得到的S=0,或者迭代次数k达到k+1>Kmax,停止迭代译码,输出当前译码结果;否则返回步骤3),并且将k值加1。5) Calculate the syndrome S again according to S=Z k H T ; if the current calculated S=0, or the iteration number k reaches k+1>K max , stop iterative decoding, and output the current decoding result; otherwise, return to the step 3), and add 1 to the k value.

非负参数因子α的获取过程为:使用码率R=90%的长度N=2KB的码字进行实验,码字初始错误率RBER=0.01和RBER=0.007,校验矩阵列重分别取dv=3、dv=4和dv=5,最大迭代次数上限Kmax=100,当校验矩阵列重dv=3时,α取值为[0.825,0.85];当校验矩阵列重dv=4时,α取值为[0.85,0.875];当校验矩阵列重dv=5时,α取值为[0.9,0.95]。与现有技术相比,本发明所具有的有益效果为:本发明有效提升了高速存储系统中吞吐量;克服了译码过程中优先比特翻转搜索具有最大可靠性因子的全局搜索操作,并提高纠错能力;同时优化了纠错能力和运算速度之间的制约,有效实现并行译码。The acquisition process of the non-negative parameter factor α is as follows: use codewords with a code rate of R=90% and a length of N=2KB to conduct experiments. The initial error rates of the codewords are RBER=0.01 and RBER=0.007, and the column weight of the check matrix is d v respectively. =3, d v =4 and d v =5, the upper limit of the maximum number of iterations K max =100, when the check matrix column weight d v =3, the value of α is [0.825, 0.85]; when the check matrix column weight is When d v =4, the value of α is [0.85, 0.875]; when the column weight of the check matrix is d v =5, the value of α is [0.9, 0.95]. Compared with the prior art, the present invention has the following beneficial effects: the present invention effectively improves the throughput in the high-speed storage system; overcomes the global search operation with the maximum reliability factor in the priority bit inversion search in the decoding process, and improves the Error correction ability; at the same time, the constraints between error correction ability and operation speed are optimized, and parallel decoding is effectively realized.

附图说明Description of drawings

图1为现有各种传统BF以及WBF译码方法基本译码流程图;Fig. 1 is the basic decoding flow chart of existing various traditional BF and WBF decoding methods;

图2为本发明WMBF译码流程图;Fig. 2 is the WMBF decoding flow chart of the present invention;

图3为本发明WMBF译码器Flip Logic模块设计图;Fig. 3 is the Flip Logic module design diagram of the WMBF decoder of the present invention;

图4为本发明列重为5时,标准WBF译码方法与本发明方法纠错能力对比图;4 is a comparison diagram of the error correction capability of the standard WBF decoding method and the method of the present invention when the column weight of the present invention is 5;

图5为本发明列重为3时,标准WBF译码方法与本发明方法纠错能力对比图;5 is a comparison diagram of the error correction capability of the standard WBF decoding method and the method of the present invention when the column weight of the present invention is 3;

图6为本发明列重为5时,标准WBF译码方法与本发明方法译码平均迭代次数对比图;6 is a comparison diagram of the average number of iterations of decoding between the standard WBF decoding method and the method of the present invention when the column weight of the present invention is 5;

图7为本发明列重为3时,标准WBF译码方法与本发明方法译码平均迭代次数对比图;7 is a comparison diagram of the average number of iterations of decoding between the standard WBF decoding method and the method of the present invention when the column weight of the present invention is 3;

图8为RBER=0.01对应的α取值与译码成功率曲线图;FIG. 8 is a curve diagram of the value of α corresponding to RBER=0.01 and the decoding success rate;

图9为RBER=0.007对应的α取值与译码成功率曲线图。FIG. 9 is a curve diagram of the value of α corresponding to RBER=0.007 and the decoding success rate.

具体实施方式Detailed ways

本发明WMBF方法的整个译码流程大致分三个步骤,第一步是根据读取的信道软信息Y=[y1,y2,y3,...,yN]设置码字比特翻转权值因子U=[u1,u2,u3,...,uN],ui=α|yi|;第二步是计算码字比特可靠性因子Ei;第三步是根据翻转规则进行翻转译码和更新码字比特翻转权值因子。The whole decoding process of the WMBF method of the present invention is roughly divided into three steps. The first step is to set the codeword bit flip according to the read channel soft information Y=[y 1 , y 2 , y 3 ,...,y N ] Weight factor U=[u 1 , u 2 , u 3 ,...,u N ], u i =α|y i |; the second step is to calculate the codeword bit reliability factor E i ; the third step is Perform flip decoding and update codeword bit flip weight factor according to flip rule.

图2给出了WMBF译码流程说明。Figure 2 shows a description of the WMBF decoding process.

假设(N,K)(dv,dc)是一个LDPC码字C,其中码长为N,信息比特序列长K,变量节点度为dv,校验节点度为dc。校验LDPC校验矩阵为H=(hm,n),1≤m≤M,1≤n≤N。经过调制后传输序列为X,加噪(高斯噪声)模拟后实际从NAND Flash闪存中读出信道软信息序列为Y(Soft-Information),初始硬判决序列为Z。伴随式矩阵S=Z*HT(mod2);假设校验矩阵中同校验节点相关的比特节点集合为N(m)={n:hm,n=1},同比特节点相关的校验节点集合为M(n)={m:hm,n=1}。比特判别翻转权值序列U=[u1,u2,u3,...,uN],其中ui=α|yi|(其中α是一个非负参数因子,同检验矩阵列重成相关,可以通过大量仿真实验获得最优值),设定译码最大迭代次数为KmaxSuppose (N,K)(d v ,d c ) is an LDPC codeword C, where the code length is N, the information bit sequence length is K, the variable node degree is d v , and the check node degree is d c . The check matrix of the check LDPC is H=(h m,n ), 1≤m≤M, 1≤n≤N. After modulation, the transmission sequence is X, and after simulation with noise (Gaussian noise), the channel soft information sequence actually read from the NAND Flash flash memory is Y (Soft-Information), and the initial hard decision sequence is Z. Syndrome matrix S=Z*H T (mod2); Assuming that the set of bit nodes related to the check node in the check matrix is N(m)={n:h m,n =1}, the checksum related to the bit node is The set of test nodes is M(n)={m:h m,n =1}. Bit discriminant flip weight sequence U=[u 1 , u 2 , u 3 ,...,u N ], where u i =α|y i | (where α is a non-negative parameter factor, which is the same as the test matrix column The optimal value can be obtained through a large number of simulation experiments), and the maximum number of iterations of decoding is set as K max .

准备步骤:将原始信息k位经过生成矩阵G生成含有m位冗余信息的n位码字,将之保存在闪存中,其中n=m+k。Preparation steps: pass the original information k bits through the generator matrix G to generate an n-bit codeword containing m-bit redundant information, and store it in the flash memory, where n=m+k.

初始化设定相关参数,如α参数,以及码字比特翻转权值序列U=[u1,u2,u3,...,un],其中ui=α|yi|,设定最大迭代次数Kmax,初始迭代次数k=1;Initialize and set relevant parameters, such as the α parameter, and the codeword bit flip weight sequence U=[u 1 , u 2 , u 3 , . . . , u n ], where u i =α|y i |, set The maximum number of iterations K max , the initial number of iterations k=1;

步骤一:根据初始判决序列Z计算获得伴随式Sm如果Sm=0或者k达到停止译码输出结果;如果以上条件都不满足则计算可靠性中间参数因子:Step 1: Calculate and obtain the syndrome S m according to the initial decision sequence Z. If S m = 0 or k reaches the stop decoding output result; if the above conditions are not satisfied, calculate the reliability intermediate parameter factor:

Figure BDA0001026574160000061
Figure BDA0001026574160000061

步骤二:计算码字比特可信度因子EnStep 2: Calculate the bit reliability factor En of the codeword:

Figure BDA0001026574160000062
Figure BDA0001026574160000062

步骤三:根据计算获得码字比特可信度因子En,并根据设定的翻转规则,对被判定为错误比特位的比特进行翻转,得到翻转后的序列Zk。翻转规则与错误比特判别标准更新策略如下:Step 3: Obtain the codeword bit reliability factor En according to the calculation, and according to the set inversion rule, invert the bit determined as the wrong bit to obtain the inverted sequence Z k . The update strategy of the inversion rule and the error bit judgment criterion is as follows:

步骤四:重新根据S=ZHT计算伴随式Sm;如果当前计算Sm=0;或者迭代次数k达到k+1>Kmax;停止迭代译码输出当前译码结果;否则返回步骤二。并且k=k+1;Step 4: recalculate the syndrome S m according to S=ZH T ; if the current calculation S m =0; or the iteration number k reaches k+1>K max ; stop iterative decoding and output the current decoding result; otherwise, return to step 2. and k=k+1;

WMBF方法中翻转函数由两部分组成,

Figure BDA0001026574160000072
可以视为来自校验方程的码字比特可靠性因子,ui=α|yi|视为码字比特翻转权值因子。在每一次迭代过程中,翻转函数会将Ei>ui的比特进行翻转,此比特对应的伴随式在下一次迭代时得到更新,因此来自校验方程的可靠度信息得到了更新
Figure BDA0001026574160000073
然而,现有权值比特翻转方法中翻转权值并未改变,在WMBF方法中翻转权值会迭代更新。当可信度低的比特被翻转后应变为具有较高可信度的比特,本发明为了体现出这种可信度的增加,将每次迭代翻转的比特可信度权值更新,这样能够有效降低译码过程中相同比特被反复翻转的概率,由于两种可信度译码过程中都迭代更新,译码精度得到提升。同时同现有BF&WBF最大的差别在于在如何判定错误比特的标准上,在本发明的WMBF,实现了并行多比特并行翻转的可能,能够满足条件Ei≥ui的多个比特实现一次迭代同时翻转,即使在所有比特处于Ei<ui情况下,译码方法会全局搜索最大
Figure BDA0001026574160000074
(或者几个
Figure BDA0001026574160000075
)进行翻转,因此在每次迭代计算译码过程中至少保持一个比特的翻转,避免了现有多比特翻转方法出现一次迭代整个码字无法更新,迭代译码进入死循环,译码无法有效收敛,直到译码达到最大迭代次数。这种机制有效克服了现有改进加权比特翻转方法每次迭代过程中必须先完成只搜索具有最大
Figure BDA0001026574160000076
对应的比特,然后执行翻转操作,译码无法实现并行的缺点。The flip function in the WMBF method consists of two parts,
Figure BDA0001026574160000072
It can be regarded as the codeword bit reliability factor from the check equation, and u i =α|y i | is regarded as the codeword bit flip weight factor. In each iteration process, the flip function will flip the bit of E i > ui , the syndrome corresponding to this bit is updated in the next iteration, so the reliability information from the check equation is updated
Figure BDA0001026574160000073
However, in the existing weight bit flipping method, the flipping weight does not change, and in the WMBF method, the flipping weight is updated iteratively. When a bit with low reliability is flipped, it should be turned into a bit with higher reliability. In order to reflect this increase in reliability, the present invention updates the bit reliability weight of each iteration flipped, so that it can It effectively reduces the probability that the same bit is repeatedly flipped in the decoding process, and the decoding accuracy is improved due to iterative updating in the two reliability decoding processes. At the same time, the biggest difference from the existing BF&WBF lies in the standard of how to determine the error bit. In the WMBF of the present invention, the possibility of parallel multi-bit parallel flip is realized, and the multiple bits that can satisfy the condition E i ≥ u i can realize one iteration simultaneously. Flip, even if all bits are in the case of E i < ui , the decoding method will globally search for the maximum
Figure BDA0001026574160000074
(or a few
Figure BDA0001026574160000075
) to flip, so at least one bit flip is maintained in each iterative calculation and decoding process, avoiding the existing multi-bit flip method that the entire codeword cannot be updated in one iteration, the iterative decoding enters an infinite loop, and the decoding cannot effectively converge. , until the decoding reaches the maximum number of iterations. This mechanism effectively overcomes the fact that the existing improved weighted bit-flipping method must complete the search first in each iteration process.
Figure BDA0001026574160000076
The corresponding bits are then flipped, and the decoding cannot achieve the disadvantage of parallelism.

本发明将以WMBF方法进行详细的说明。为了提高译码并行性,在每一次迭代译码过程中,WMBF方法预先设定每个比特自身翻转权值,设为Ui。当计算每个比特来自校验方程的可信度因子Ei,通过比较Ei与UiThe present invention will be described in detail with the WMBF method. In order to improve the parallelism of decoding, in each iterative decoding process, the WMBF method presets the flip weight of each bit itself, which is set as U i . When calculating the confidence factor E i for each bit from the check equation, by comparing E i with U i :

●If Ei=Ui,翻转该比特;If E i =U i , flip the bit;

●If Ei>Ui,更新Ui=Ei,同时翻转该比特。• If E i >U i , update U i =E i while flipping the bit.

当在每一次迭代译码过程中即便存在All:Ei<Ui。则在迭代译码过程中通过激活执行全局搜索操作的串行译码方案。由于在存储系统中采用高码率(至少90%)并且数据整体错误率较低,在存储系统中采用的LDPC码校验矩阵更多的使用规则码,列重选取选择为3-5。因此比特来自校验方程的可信度Ei处在一个非常有限的范围内,对应每个比特自身可信度权值(翻转权值)可以设定为Ui=α|yi|,其中α与校验矩阵列重有关,可以通过仿真获得。When there is All:E i <U i in each iterative decoding process. Then in the iterative decoding process, the serial decoding scheme that performs the global search operation is activated by activation. Since the storage system adopts a high code rate (at least 90%) and the overall data error rate is low, the LDPC code check matrix used in the storage system uses more regular codes, and the column re-selection selection is 3-5. Therefore, the credibility E i of the bit from the check equation is in a very limited range, and the credibility weight (flip weight) corresponding to each bit itself can be set as U i =α|y i |, where α is related to the column weight of the check matrix and can be obtained by simulation.

传统BF&WBF译码器Flip Logic需要在完成全局搜索最大Emax(或者最大的q个Emax)后才能进行比较判决翻转操作,即译码采用串行设计,这样的设计将严重影响译码器吞吐率;同时优先全局搜索最大Ei(或者最大的q个Ei),则需要花费大量比较器阵列来执行,功耗比较大的同时大量中间数据需要保存使得空间开销增大。为了提高译码器并行执行能力,本发明的设计采用并行译码策略,在计算得到Ei便将该信息直接同ui比较进行判决是比特否需要翻转,对于Ei>ui的比特将以Ei更新该比特对应ui(实线部分);同时当本次迭代不存在翻转权值更新时,执行全局搜索模块得到最大Emax,翻转具有最大Emax对应比特。The traditional BF&WBF decoder Flip Logic needs to complete the global search for the maximum E max (or the maximum q E max ) before performing the comparison decision flip operation, that is, the decoding adopts a serial design, which will seriously affect the decoder throughput. At the same time, the global search for the largest E i (or the largest q E i ) requires a large number of comparator arrays to execute, and the power consumption is relatively large, and a large amount of intermediate data needs to be saved, which increases the space overhead. In order to improve the parallel execution capability of the decoder, the design of the present invention adopts a parallel decoding strategy. When E i is calculated, the information is directly compared with u i to determine whether the bits need to be flipped . The bit corresponding to ui (solid line part) is updated with E i ; at the same time, when there is no flip weight update in this iteration, the global search module is performed to obtain the maximum E max , and the flip has the corresponding bit with the largest E max .

本发明采用在Matlab环境下进行仿真,使用QC-PEG-LDPC规则码,为实验方便和充分说明WMBF译码方法译码性能的优越性,选用码长为N=2KB,码率使用为90%。校验矩阵分别选用列重dc为3与5,初始误码率RBER取值在0.01到0.002范围内。The invention adopts the simulation under the Matlab environment and uses the QC-PEG-LDPC regular code. For the convenience of the experiment and fully explaining the superiority of the decoding performance of the WMBF decoding method, the selected code length is N=2KB, and the code rate is used as 90%. . The check matrix is selected with column weights d c of 3 and 5 respectively, and the initial bit error rate RBER is in the range of 0.01 to 0.002.

为充分说明本发明提出的WMBF译码方法的优异性。本发明采用从两个角度进行验证:首先将WMBF译码方法同WBF和MWBF译码方法在纠错性能上进行对比,其次将从译码速度上进行对比,其中译码速度用译码平均迭代次数来表示。In order to fully illustrate the superiority of the WMBF decoding method proposed by the present invention. The present invention is verified from two perspectives: firstly, the WMBF decoding method is compared with the WBF and MWBF decoding methods in terms of error correction performance, and secondly, the decoding speed is compared, wherein the decoding speed is based on the decoding average iteration number of times.

首先如图4和图5所示,可以看出使用DERM的两种方法(DERM/NBF,DERM/GDBF)比原始的两种方法(NBF,GDBF)都要具有更低的不可纠正错误率。尤其是列重为3时,使用DERM的效果更加明显。这是因为DERM能有效克服偶数位翻转引入的错误伴随式信息传播,缩小搜索区间,提高纠错能力,即使列重很小时仍能有很强的纠错能力。First, as shown in Figures 4 and 5, it can be seen that both methods using DERM (DERM/NBF, DERM/GDBF) have lower uncorrectable error rates than the original two methods (NBF, GDBF). Especially when the column weight is 3, the effect of using DERM is more obvious. This is because DERM can effectively overcome the error concomitant information propagation introduced by the even-numbered bit flip, narrow the search range, and improve the error correction ability. Even if the column weight is very small, it can still have a strong error correction ability.

为了充分检验本发明WMBF方法的有效性,本发明使用MWBF,标准WBF译码方法进行对比同本发明方法进行对比。实验中,使用2KB,码率为90%规则QC-PEG-LDPC码,列重3,5。WMBF译码方法参数α根据列重设定为0.82,0.90。最大迭代次数Kmax=100。初始误码率的范围RBER在0.01到0.002。纠错能力和译码平均迭代次数对比如图6和图7所示进行说明。In order to fully test the validity of the WMBF method of the present invention, the present invention uses MWBF, and the standard WBF decoding method is compared with the method of the present invention. In the experiment, 2KB is used, the code rate is 90% regular QC-PEG-LDPC code, the column weight is 3,5. The WMBF decoding method parameter α is set to 0.82, 0.90 according to the column reset. Maximum number of iterations K max =100. The range of initial bit error rate RBER is 0.01 to 0.002. The comparison between the error correction capability and the average number of decoding iterations is illustrated in Figures 6 and 7 .

实验仿真表明WMBF译码方法在纠错性能上同MWBF译码方法相差不大,有少量的提升,但是从图6和图7可以得知WMBF译码方法在译码平均迭代次数上有着非常大的提升,译码收敛速度明显加快。特别是在RBER在0.005到0.007区间译码迭代次数减少量打到峰值。平均译码迭代次数减少30%-45%。The experimental simulation shows that the error correction performance of the WMBF decoding method is not much different from that of the MWBF decoding method, and there is a small improvement, but it can be seen from Figure 6 and Figure 7 that the WMBF decoding method has a very large average number of decoding iterations. The improvement of the decoding convergence speed is significantly accelerated. Especially when the RBER is in the range of 0.005 to 0.007, the reduction in the number of decoding iterations reaches a peak. The average number of decoding iterations is reduced by 30%-45%.

由于在存储系统中采用高码率(至少90%)并且数据整体错误率较低,在存储系统中采用的LDPC码校验矩阵更多的使用规则码,列重选取选择为3-5。因此比特来自校验方程的可信度Ei处在一个非常有限的范围内,因此码字比特的可信度权值ui=α|yi|因子α也在一个狭窄范围内,因为来自校验节点的比特可信度Ei同校验矩阵列重直接与相关,所以在设定参数因子α时必然同校验矩阵列重也存在相关联系,为了获得最优α值,本发明采用了大量实验仿真进行模拟本发明采用QC-PEG-LDPC构造规则码,使用码率约R=90%的长度N=2KB的码字进行实验,码字初始错误率RBER=0.01and RBER=0.007,(已经处在闪存末期),校验矩阵列重分别取dv=3、dv=4和dv=5,最大迭代次数上限Kmax=100,如图8和图9所示。Since the storage system adopts a high code rate (at least 90%) and the overall data error rate is low, the LDPC code check matrix used in the storage system uses more regular codes, and the column re-selection selection is 3-5. Therefore, the reliability E i of the bit from the check equation is in a very limited range, so the reliability weight u i = α|y i | of the codeword bits is also in a narrow range, because from The bit reliability E i of the check node is directly related to the column weight of the check matrix, so when the parameter factor α is set, it must also be related to the column weight of the check matrix. In order to obtain the optimal α value, the present invention adopts A large number of experimental simulations are used for simulation. The present invention uses QC-PEG-LDPC to construct regular codes, and uses codewords with a code rate of about R=90% and a length of N=2KB to conduct experiments. The initial error rate of the codeword is RBER=0.01 and RBER=0.007, (Already at the end of the flash memory), the column weights of the parity check matrix are d v =3, d v =4 and d v =5 respectively, and the upper limit of the maximum number of iterations is K max =100, as shown in FIG. 8 and FIG. 9 .

从图8和图9可知在RBER=0.01或者RBER=0.007,当校验矩阵列重dv=3时,译码成功率(注:译码能够成功收敛,即S=0)最高出现在α均取值等于[0.825,0.85]附近;当校验矩阵列重dv=4时,译码成功率最高出现在α均取值等于[0.85,0.875]附近;当校验矩阵列重dv=5时,译码成功率最高出现在α均取值等于[0.9,0.95]附近。It can be seen from Figure 8 and Figure 9 that when RBER=0.01 or RBER=0.007, when the check matrix column weight is d v =3, the decoding success rate (Note: The decoding can successfully converge, that is, S=0) appears at the highest at α The average value is equal to the vicinity of [0.825, 0.85]; when the check matrix column weight d v = 4, the highest decoding success rate occurs when the α average value is equal to [0.85, 0.875]; when the check matrix column weight d v = 5, the highest decoding success rate occurs when the value of α is equal to [0.9, 0.95].

Claims (2)

1. A weight multi-bit flipping LDPC decoding method suitable for SSD is characterized in that,
the method comprises the following steps:
1) initializing a non-negative parameter factor alpha and a codeword bit flipping weight sequence U ═ U1,u2,u3,...,un],ui=α|yiIn which the maximum number of iterations K is setmaxThe initial iteration number k is 1; 1,2, … n;
2) obtaining a syndrome S according to the initial decision sequence Z by calculation, wherein S is ZHTIf S is 0 or K reaches the maximum number of iterations KmaxIf yes, stopping decoding and outputting a decoding result; if none of the above conditions is met, calculating a reliability intermediate parameter factor wm
Figure FDA0002276263310000011
Wherein N (m) ═ n: hm,n=1};hm,nIs an element in the check matrix H, H ═ Hm,n) M is more than or equal to 1and less than or equal to M, N is more than or equal to 1and less than or equal to N, M is a row of the check matrix, and N is a code length; y isnSoft information for the nth channel;
3) calculating codeword bit confidence factorSeed En
Figure FDA0002276263310000012
Wherein M (n) ═ m: hm,n=1};smRepresents an element in syndrome S;
4) according to the code word bit credibility factor EnAnd according to a set turning rule, turning the bit which is determined as the error bit to obtain a turned sequence Zk(ii) a The turning rule is as follows: if E isi=uiFlipping the bit; if E isi>uiUpdate ui=EiWhile flipping the bit; the updating method of the flipping rule and the error bit discrimination standard is as follows:
Figure FDA0002276263310000013
Eithe bit credibility factor is the ith code word;
5) according to S ═ ZkHTCalculating a syndrome S; if S obtained by current calculation is 0, or the iteration number K reaches K +1 > KmaxStopping iterative decoding, and outputting a current decoding result; otherwise, returning to the step 3), and adding 1 to the k value.
2. The method for decoding LDPC code with multi-bit flipping weights applicable to SSD according to claim 1, wherein the obtaining process of the non-negative parameter factor α is as follows: the experiment is carried out by using code words with the length of N being 2KB and the code rate of R being 90 percent, the initial error rate of the code words RBER being 0.01and RBER being 0.007, and d is respectively taken by the weight of the check matrixv=3、dv4 and dv5, the maximum iteration number upper limit KmaxWhen check matrix column number d is 100vWhen the value is 3, the value of alpha is [0.825,0.85 ]](ii) a When check matrix column weight dvWhen the alpha value is 4, the alpha value is [0.85,0.875 ]](ii) a When check matrix column weight dvWhen the value is 5, the value of alpha is [0.9,0.95 ]]。
CN201610462370.6A 2016-06-23 2016-06-23 Weight multi-bit flipping LDPC decoding method suitable for SSD Active CN106160753B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610462370.6A CN106160753B (en) 2016-06-23 2016-06-23 Weight multi-bit flipping LDPC decoding method suitable for SSD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610462370.6A CN106160753B (en) 2016-06-23 2016-06-23 Weight multi-bit flipping LDPC decoding method suitable for SSD

Publications (2)

Publication Number Publication Date
CN106160753A CN106160753A (en) 2016-11-23
CN106160753B true CN106160753B (en) 2020-01-10

Family

ID=57353758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610462370.6A Active CN106160753B (en) 2016-06-23 2016-06-23 Weight multi-bit flipping LDPC decoding method suitable for SSD

Country Status (1)

Country Link
CN (1) CN106160753B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI697907B (en) 2020-01-14 2020-07-01 慧榮科技股份有限公司 Memory controller and method of accessing flash memory

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI632780B (en) * 2016-12-30 2018-08-11 慧榮科技股份有限公司 Decoding method and related apparatus
CN108055043B (en) * 2017-12-12 2021-07-20 中国电子科技集团公司电子科学研究院 Bit flipping decoding method and device
CN109660263B (en) * 2018-11-22 2022-07-05 华中科技大学 An LDPC code decoding method suitable for MLC NAND flash memory
CN110011670B (en) * 2019-03-27 2023-04-28 深圳忆联信息系统有限公司 LDPC decoding method and device based on SSD data protection
CN111769839B (en) * 2019-03-30 2024-05-10 北京忆芯科技有限公司 Fast bit-flipping decoding method
CN110071727B (en) * 2019-04-26 2023-05-05 成都海光集成电路设计有限公司 Encoding method, decoding method, error correction method and device
CN111224675A (en) * 2019-11-22 2020-06-02 南京大学 Efficient bit flipping decoder based on adaptive threshold
CN116505961B (en) * 2023-06-29 2023-09-29 深圳大普微电子科技有限公司 Decoding method and related device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944588A (en) * 2014-05-13 2014-07-23 电子科技大学 LDPC (low density parity check) code weighed bit-flipping translation method
CN104796159A (en) * 2015-05-06 2015-07-22 电子科技大学 Hybrid advanced iteration-stopping method of weighted bit-flipping decoding method of LDPC (low-density parity-check) codes
CN105577193A (en) * 2015-12-16 2016-05-11 华南理工大学 LDPC Decoding Method Based on Loop Elimination and Hybrid Weighted Bit Flip

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9337865B2 (en) * 2012-05-04 2016-05-10 Seagate Technology Llc Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944588A (en) * 2014-05-13 2014-07-23 电子科技大学 LDPC (low density parity check) code weighed bit-flipping translation method
CN104796159A (en) * 2015-05-06 2015-07-22 电子科技大学 Hybrid advanced iteration-stopping method of weighted bit-flipping decoding method of LDPC (low-density parity-check) codes
CN105577193A (en) * 2015-12-16 2016-05-11 华南理工大学 LDPC Decoding Method Based on Loop Elimination and Hybrid Weighted Bit Flip

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI697907B (en) 2020-01-14 2020-07-01 慧榮科技股份有限公司 Memory controller and method of accessing flash memory

Also Published As

Publication number Publication date
CN106160753A (en) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106160753B (en) Weight multi-bit flipping LDPC decoding method suitable for SSD
CN104464822B (en) A kind of based on the LDPC error correction/encoding method between flash memory error-zone
US8984376B1 (en) System and method for avoiding error mechanisms in layered iterative decoding
US8990661B1 (en) Layer specific attenuation factor LDPC decoder
CN100425000C (en) Twin-turbo structure low-density parity-check code decoder and decoding method
US10715178B2 (en) Generalized low-density parity-check codes
Ho et al. A 520k (18900, 17010) array dispersion LDPC decoder architectures for NAND flash memory
CN102893529B (en) For the method and system of the decoding of LDPC code
Mappouras et al. GreenFlag: Protecting 3D-racetrack memory from shift errors
CN107395214B (en) A method of LDPC decoding latency is reduced based on Hash memory pages error property
CN114649047A (en) Decoding of Low Density Parity Check Codes with Highly Variable Nodes
CN100589357C (en) LDPC code vector decoding device and method based on unit matrix and its cyclic shift matrix
US9639421B2 (en) Operating method of flash memory system
EP3926834A1 (en) Ldpc decoder apparatus, device, system, method and computer program
Chen et al. Hardware implementation of a backtracking-based reconfigurable decoder for lowering the error floor of quasi-cyclic LDPC codes
Zhao et al. Improving min-sum LDPC decoding throughput by exploiting intra-cell bit error characteristic in MLC NAND flash memory
US20250037784A1 (en) Efficient soft decoding of error correction code via extrinsic bit information
Liu et al. A 38.64-Gb/s large-CPM 2-KB LDPC decoder implementation for NAND Flash memories
Hwang et al. Energy-efficient symmetric BC-BCH decoder architecture for mobile storages
CN110751977B (en) A memory chip fault-tolerant device and error-tolerant correction method based on LDPC code
Yu et al. LIAD: A method for extending the effective time of 3-D TLC NAND flash hard decision
Qiao et al. A joint decoding strategy of non-binary LDPC codes based on retention error characteristics for MLC NAND flash memories
CN110708077B (en) LDPC code large number logic decoding method, device and decoder
CN103475378B (en) A kind of high-throughput ldpc decoder being applicable to optic communication
CN101635574B (en) A method to speed up the convergence speed of layered non-regular low density check code decoding decoder

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant