TWI568197B - Encoding and decoding techniques using low-density parity check codes - Google Patents

Encoding and decoding techniques using low-density parity check codes Download PDF

Info

Publication number
TWI568197B
TWI568197B TW101112360A TW101112360A TWI568197B TW I568197 B TWI568197 B TW I568197B TW 101112360 A TW101112360 A TW 101112360A TW 101112360 A TW101112360 A TW 101112360A TW I568197 B TWI568197 B TW I568197B
Authority
TW
Taiwan
Prior art keywords
matrix
sub
information
parity check
matrices
Prior art date
Application number
TW101112360A
Other languages
Chinese (zh)
Other versions
TW201304430A (en
Inventor
錢德拉C 法拉納西
董桂強
Original Assignee
美光科技公司
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 美光科技公司 filed Critical 美光科技公司
Publication of TW201304430A publication Critical patent/TW201304430A/en
Application granted granted Critical
Publication of TWI568197B publication Critical patent/TWI568197B/en

Links

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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1182Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the structure of the parity-check matrix is obtained by reordering of a random parity-check matrix
    • 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
    • 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
    • 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
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • 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
    • H03M13/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC codes]
    • 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
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array codes
    • 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
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

使用低密度同位校驗碼之編碼與解碼技術 Encoding and decoding techniques using low-density parity check codes

諸多電裝置及系統經由傳輸媒體(諸如金屬導體、光纖電纜及空氣)而彼此交換資訊。一較差或有缺陷之傳輸媒體可導致此資訊之錯誤。超過媒體之傳輸能力(例如,傳輸速率)亦可引起錯誤。在某些情況中,錯誤可校正。諸多習用技術使用碼來在接收資訊之後校驗其有效性。某些碼亦可輔助校正該等錯誤。舉例而言,一低密度同位校驗(LDPC)碼可用於錯誤校正。然而,在某些習用技術中,使用一LDPC碼可涉及複雜寫碼操作或可需要操作大量電路組件。因此,一LDPC碼可不適於某些裝置或系統。 Many electrical devices and systems exchange information with each other via transmission media such as metal conductors, fiber optic cables, and air. A poor or defective transmission medium can cause errors in this information. Exceeding the transmission capacity of the media (eg, transmission rate) can also cause errors. In some cases, the error can be corrected. Many conventional techniques use codes to verify their validity after receiving information. Some codes can also assist in correcting these errors. For example, a low density parity check (LDPC) code can be used for error correction. However, in some conventional techniques, the use of an LDPC code may involve complex write operations or may require the operation of a large number of circuit components. Therefore, an LDPC code may not be suitable for some devices or systems.

圖1展示根據本發明之一實施例之包含經組態以相對於一LDPC碼編碼訊息資訊u以形成碼字V m 之一編碼器101之一設備100之一方塊圖。設備100可包含用以提供訊息資訊u之一資訊源110及用以自編碼器101接收碼字V m 之一記憶體區域120。資訊源110可係藉由諸如一記憶體控制器或一處理器之裝置提供。記憶體區域120可包含用以儲存碼字V m 之一記憶體陣列。編碼器101及記憶體區域120可包含於諸如一記憶體裝置或一記憶體控制器之一相同裝置中。設備100可包含一記憶體模組、能夠以無線方式傳輸或接收資訊之一系統或裝置及/或具有在資訊傳輸中提供錯誤校正之能力之其他通信系統及裝置。圖1省略設備100之額外細節以側重於本文中所闡述之實施例。 The embodiment according to FIG. 1 shows one embodiment of the present invention is configured by comprising a relative LDPC code encoding information message to form one code word u V m one encoder 101, one block apparatus 100 of FIG. The device 100 can include an information source 110 for providing message information u and a memory region 120 for receiving the code word V m from the encoder 101. Information source 110 can be provided by a device such as a memory controller or a processor. Memory area 120 may comprise a memory array for storing one code word V m. Encoder 101 and memory region 120 may be included in the same device, such as a memory device or a memory controller. Device 100 can include a memory module, a system or device capable of transmitting or receiving information wirelessly, and/or other communication systems and devices having the ability to provide error correction in the transmission of information. FIG. 1 omits additional details of device 100 to focus on the embodiments set forth herein.

編碼器101可以相對於一H-矩陣130自訊息資訊u產生碼字V m 之一LDPC編碼器之形式實現。H-矩陣130可內部儲存於設備100中或在設備100之外部。H-矩陣130可包含一LDPC碼之同位校驗矩陣H。如熟習此項技術者所理解,用於傳輸資訊之一碼之一H-矩陣(諸如H-矩陣130)可係使用各種碼建構(諸如,一漸進式邊增長LDPC碼建構、一李德所羅門(Reed Solomon)LDPC碼建構、基於歐式幾何(Euclidian geometry)之LDPC碼建構、基於凡德芒(Vandermonde)矩陣及循環排列區塊之LDPC碼建構以及各種其他LDPC建構)來產生(例如,建構)。一H-矩陣(諸如,H-矩陣130)可係藉由一電腦產生。 Encoder 101 relative to a self H- matrix 130 generates message information u in the form of one LDPC encoder implemented codeword V m. The H-matrix 130 can be stored internally in the device 100 or external to the device 100. The H-matrix 130 may comprise an parity check matrix H of an LDPC code. As understood by those skilled in the art, an H-matrix (such as H-matrix 130) for transmitting one of the information codes can be constructed using various codes (such as a progressive edge-grown LDPC code construction, a Lied Solomon) (Reed Solomon) LDPC code construction, LDPC code construction based on Euclidian geometry, LDPC code construction based on Vandermonde matrix and cyclically arranged blocks, and various other LDPC constructs (eg, construction) . An H-matrix (such as H-matrix 130) can be generated by a computer.

圖1展示用以指示碼字V m 可係含有同位資訊p與訊息資訊u之一組合之系統化碼字之碼字V m =[p u]。訊息資訊u可包含若干個資訊位元。同位資訊p可包含若干個同位位元。碼字V m =[p u]可係藉由H-矩陣130定義,其中訊息資訊u之訊息位元可對應於H-矩陣130之行之一部分且同位資訊p之同位位元可對應於H-矩陣130之行之另一部分。圖1展示碼字V m =[p u]之一實例,其中同位資訊p係定位於第一碼字位置中,其後係訊息資訊u。次序可係相反的。訊息資訊u可係定位於該第一碼字位置中,其後係同位資訊p,以使得碼字V m =[u p]。 1 shows a codeword V m =[ pu ] of a systematic codeword for indicating that the codeword V m can be combined with one of the parity information p and the message information u . The message information u can contain several information bits. The parity information p can contain several co-located bits. The codeword V m =[ pu ] may be defined by the H-matrix 130, wherein the message bit of the message information u may correspond to a part of the row of the H-matrix 130 and the parity bit of the parity information p may correspond to the H- Another part of the trip to matrix 130. FIG 1 shows one example of a codeword V m = [pu], where p parity information based positioned in a first position code word, followed by system information message u. The order can be reversed. Message-based information u may be positioned in the first code word position, followed by the Department of parity information p, so that the code word V m = [up].

在設備100中,由於訊息資訊u係習知的,因此針對一碼之一既定H-矩陣(諸如,H-矩陣130),藉由編碼器101所執行之編碼操作涉及基於所接收訊息資訊u及既定H-矩陣產 生同位資訊p。然後,編碼器101可組合所接收訊息資訊u與所產生同位資訊p以形成碼字V m =[p u]。解碼碼字V m 以擷取原始訊息資訊u可係以一相反次序進行。舉例而言,可對碼字V m 以一相反次序執行在編碼期間所執行以產生同位資訊p之編碼程序(例如,步驟)以產生經解碼資訊。然後,用於編碼之相同H-矩陣可在解碼期間用於基於經解碼資訊產生原始訊息資訊u。本文中之說明側重於編碼以基於所接收訊息資訊u及一LDPC碼之一既定H-矩陣產生碼字V m =[p u],如參考圖2至圖7所詳細闡述。 In the device 100, since the message information u is conventional, for a given H-matrix of one code (such as the H-matrix 130), the encoding operation performed by the encoder 101 involves based on the received message information u. And the established H-matrix generates the parity information p . Then, the encoder 101 can combine the received message information u with the generated parity information p to form a codeword V m = [ pu ]. V m decoded codeword to retrieve the original message information u can be based in a reverse order. For example, the codeword V m may be a reverse order to be executed during the program to generate an encoded with information bits of p (e.g., step) to produce the decoded information. The same H-matrix used for encoding can then be used during decoding to generate the original message information u based on the decoded information. The description herein focuses on encoded to generate a codeword V m = [pu] Based on the received information message u and one LDPC code is a matrix H- established, as described with reference to FIG. 2 to FIG. 7 in detail.

圖2展示一LDPC碼之一同位校驗矩陣H之一實例。矩陣H經配置成列及行且具有一大小(n-k+m)×(n),其對應於(n-k+m)個列及n個行。參數m對應於矩陣H之相關列之數目。一矩陣之秩係彼陣列之相關列之數目。因此,若矩陣H係一全秩矩陣,則參數m=0。若矩陣H係一秩不足(例如,非一全秩)矩陣,則參數m>0。參數n係一碼字中之碼位元之數目。參數k係一碼字中之資訊位元之數目。因此,在矩陣H之每一列(每一碼字)中,存在由k個資訊位元與n-k個同位位元之一組合形成之n個總碼位元。 Figure 2 shows an example of an parity check matrix H of one of the LDPC codes. The matrix H is configured as columns and rows and has a size (n-k+m) x (n) corresponding to (n-k+m) columns and n rows. The parameter m corresponds to the number of related columns of the matrix H. The rank of a matrix is the number of associated columns of the array. Therefore, if the matrix H is a full rank matrix, the parameter m=0. If the matrix H is a matrix with insufficient rank (eg, non-full rank), the parameter m>0. The parameter n is the number of code bits in a codeword. The parameter k is the number of information bits in a codeword. Thus, in each column (each codeword) of matrix H, there are n total code bits formed by combining k information bits with one of n-k parity bits.

如圖2中所示,矩陣H係具有僅零(「0」)及壹(「1」)元素之一個二進制矩陣之一實例。LDPC碼使用含有大多數零及有限數目個壹之一同位校驗矩陣H。為簡明起見,圖1僅展示矩陣H之元素中之某些元素。基於一同位校驗矩陣H(諸如,圖1中之矩陣H),本文中所闡述之一編碼器(例如,圖1中之編碼器101)可產生與訊息資訊相關聯之同位 資訊以便產生包含同位資訊與訊息資訊之一組合之碼字。 As shown in Figure 2, matrix H is an example of one binary matrix with only zero ("0") and 壹 ("1") elements. The LDPC code uses a parity check matrix H containing most zeros and a finite number of 壹. For the sake of simplicity, Figure 1 shows only some of the elements of the matrix H. Based on a parity check matrix H (such as matrix H in FIG. 1), one of the encoders (e.g., encoder 101 in FIG. 1) described herein can generate a parity associated with the message information. Information to generate a codeword that contains a combination of co-located information and message information.

圖3係根據本發明之一實施例之基於一LDPC碼之一同位校驗矩陣H編碼資訊之一方法300之一流程圖。方法300中所使用之同位校驗矩陣H可包含以上參考圖1及圖2所闡述之一LDPC碼之矩陣H。 3 is a flow diagram of one method 300 of encoding information based on one parity check matrix H of an LDPC code, in accordance with an embodiment of the present invention. The parity check matrix H used in method 300 may comprise a matrix H of one of the LDPC codes described above with reference to Figures 1 and 2.

在圖3中,方法300可包含用以自同位校驗矩陣H(例如,圖1及圖2中之矩陣H)產生一第一矩陣(例如,H m )之一活動310。第一矩陣可經產生以使得其具有在該第一矩陣之左上角中之一上三角形子矩陣。活動310亦可包含計算用於產生第一矩陣之同位校驗矩陣H之秩。 In Figure 3, the method 300 may include check bits for matrix H from the same (e.g., FIG. 1, and the matrix H in FIG. 2) generates a first matrix (e.g., H m) one of the activities 310. The first matrix can be generated such that it has a triangular submatrix on one of the upper left corners of the first matrix. Activity 310 may also include calculating a rank for generating a parity check matrix H of the first matrix.

若上三角形子矩陣之列之總數目等於同位校驗矩陣H之秩,則方法300可包含活動320以至少部分地基於第一矩陣產生用以編碼訊息資訊之同位資訊。方法320可在執行活動320之後停止。 If the total number of columns of the upper triangular submatrix is equal to the rank of the parity check matrix H, the method 300 can include an activity 320 to generate parity information for encoding the message information based at least in part on the first matrix. Method 320 can be stopped after activity 320 is performed.

若第一上三角形子矩陣之列之總數目小於同位校驗矩陣H之秩,則方法300可藉助活動330繼續對該第一矩陣之一第二子矩陣執行一上三角化運算以產生(例如,形成)一第二矩陣(例如,H m2)。方法300之活動340可至少部分地基於該第二矩陣產生用以編碼訊息資訊之同位資訊。 If the total number of columns of the first upper triangular submatrix is less than the rank of the parity check matrix H, the method 300 may continue to perform an up-triangulation operation on the second sub-matrix of the first matrix by means of the activity 330 (eg, , forming a second matrix (eg, H m 2 ). Activity 340 of method 300 can generate co-located information for encoding message information based at least in part on the second matrix.

方法300之活動310、320、330及340中之某些或全部可係藉由一電子單元(諸如一電腦)之一處理器執行。舉例而言,活動310、320及330可係藉由一電腦執行。方法300之活動310、320、330及340中之某些或全部亦可係藉由一編碼器(諸如,圖1之編碼器101)執行。此編碼器可包含於一 裝置(諸如,一處理器、一記憶體控制器或一記憶體裝置)中。方法300可包含下文參考圖4至圖7所闡述之一或多個活動。 Some or all of the activities 310, 320, 330, and 340 of method 300 may be performed by a processor of an electronic unit, such as a computer. For example, activities 310, 320, and 330 can be performed by a computer. Some or all of the activities 310, 320, 330, and 340 of method 300 may also be performed by an encoder, such as encoder 101 of FIG. This encoder can be included in one A device (such as a processor, a memory controller, or a memory device). Method 300 can include one or more of the activities set forth below with reference to Figures 4-7.

圖4展示根據本發明之一實施例之自一LDPC碼之一同位校驗矩陣H所產生之一矩陣H m 之一方塊結構。矩陣H m 可係自一LDPC碼之一同位校驗矩陣H(諸如,圖1或圖2中之矩陣H)產生。本文中所闡述之一編碼器(例如,圖1中之編碼器101)可接收訊息資訊且使用矩陣H m 來產生具有同位資訊及所接收訊息資訊之碼字。 4 shows a block structure of a matrix H m generated from a parity check matrix H of an LDPC code in accordance with an embodiment of the present invention. The matrix H m may be generated from a parity check matrix H of one of the LDPC codes (such as the matrix H in FIG. 1 or FIG. 2). One encoder set forth herein (e.g., the encoder 101 of FIG. 1) may receive the message and use the information to generate a matrix H m information and parity of the received codeword of the message information.

傳統上,使用一產生器矩陣Gm來編碼訊息資訊。舉例而言,一矩陣H=[In-k|P]可係自一矩陣H產生,其中In-k係一識別子矩陣,P係矩陣G之一子矩陣。然後,一矩陣Gm可自矩陣G產生,以使得Gm=[PT|Ik],其中PT表示子矩陣P之一轉置。可產生碼字=u*Gm,此方程式中之符號「*」表示乘法。因此,在一傳統編碼中,使用產生器矩陣Gm來編碼訊息資訊。然而,傳統方式可係複雜且不適於某些系統或裝置。舉例而言,可需要大量電路組件(例如,「互斥或」(XOR)閘)來處理並儲存與產生器矩陣Gm或產生器矩陣Gm及矩陣H兩者相關聯之資訊。 Conventionally, a generator matrix G m encoded message information. For example, a matrix H=[I nk |P] can be generated from a matrix H, where I nk is a recognition sub-matrix, and P is a sub-matrix of matrix G. Then, a matrix G from the matrix G m can be produced, so that G m = [P T | I k], where P T represents the transpose of sub-matrix P. A codeword = u * G m can be generated, and the symbol "*" in this equation represents multiplication. Thus, in a conventional encoding, the generator matrix G m used to encode the message information. However, conventional approaches can be complex and unsuitable for certain systems or devices. For example, a large number of circuit components may be required (e.g., "exclusive or" (XOR) gate) and to process and store information or both the generator matrix G m m matrix H and the generator matrix G of the associated.

本文中所闡述之編碼器可直接自矩陣H m 產生碼字,而不產生一矩陣(諸如傳統產生器矩陣Gm)。如本文中所闡述基於矩陣H m 產生碼字之編碼器可係較不複雜且可具有減少數目個組件(例如,「互斥或」閘)。 Set forth herein may be from the encoder matrix H m direct codeword, without generating a matrix (such as a conventional generator matrix G m). As set forth herein, is generated based on the matrix H m of codeword based encoder may be less complex and may have a reduced number of components (e.g., "exclusive or" gate).

如圖4中所示,矩陣H m 包含定位於矩陣H m 之各個部分中 之子矩陣T、A、B、E、C及D。舉例而言,子矩陣T係定位於矩陣H m 之一左上角部分中。子矩陣B係定位於矩陣H m 之一右上角部分中。子矩陣A係定位於矩陣H m 之一中間部分中,在子矩陣T與子矩陣B之間。子矩陣E係定位於矩陣H m 之一左下角部分中,在子矩陣T下面。子矩陣D係定位於矩陣H m 之一右下角部分中。子矩陣C係定位於矩陣H m 之一中間部分中,在子矩陣E與子矩陣D之間且在子矩陣A下面。此等子矩陣之大小係如下。 As shown in Figure 4 comprises a matrix H m H m located at respective portions of the sub-matrix of matrix T, A, B, E, C and D. For example, the sub-matrix T is located in the upper left corner portion of one of the matrices H m . The sub-matrix B is located in the upper right corner portion of one of the matrices H m . The sub-matrix A is positioned in an intermediate portion of the matrix H m between the sub-matrix T and the sub-matrix B. The sub-matrix E is located in a lower left corner portion of the matrix H m below the sub-matrix T. The sub-matrix D is positioned in a lower right corner portion of the matrix H m . The sub-matrix C is located in an intermediate portion of the matrix H m between the sub-matrix E and the sub-matrix D and below the sub-matrix A. The size of these sub-matrices is as follows.

T:(n-k-g)×(n-k-g)。 T: (n-k-g) × (n-k-g).

A:(n-k-g)×g。 A: (n-k-g) × g.

B:(n-k-g)×k。 B: (n-k-g) × k.

C:g×g。 C: g × g.

D:g×k。 D: g × k.

E:g×(n-k-g)。 E: g × (n-k-g).

矩陣H m 可係藉由執行稱作貪婪上三角化運算之一程序而產生。此運算在矩陣H m 之左上角中產生一上三角形矩陣(其係子矩陣T)。此運算涉及僅交換同位校驗矩陣H之列、僅交換其行或僅交換其列及行。在此運算中,不對同位校驗矩陣H之列執行算術運算(例如,無高斯(Gaussian)消去運算)。 The matrix H m can be generated by performing a program called a greedy up-triangulation operation. This operation produces an upper triangular matrix (which is a sub-matrix T) in the upper left corner of the matrix H m . This operation involves exchanging only the columns of the parity check matrix H, exchanging only its rows, or exchanging only its columns and rows. In this operation, arithmetic operations are not performed on the columns of the parity check matrix H (for example, no Gaussian erase operation).

子矩陣T係具有(n-k-g)個列及(n-k-g)個行之一直角上三角形矩陣。子矩陣T使所有壹在其對角線元素中且所有零在其對角線元素下面。若子矩陣T之列之數目係等於同位校驗矩陣H之秩R,則在矩陣H m 中參數g=0,以使得(n-k- g)=R,其中g=0。此外,若g=0,則子矩陣A被消去且變成子矩陣B之一部分,且子矩陣E、C及D被消去且變成子矩陣T及子矩陣B之部分。在此情形(n-k=R)中,矩陣H m =[T|B],其中子矩陣T具有一大小(n-k=R)×(n-k=R)且子矩陣B具有一大小(n-k=R)×k。 The submatrix T has a triangular matrix of (nkg) columns and (nkg) rows of right angles. The submatrix T causes all 壹 in its diagonal elements and all zeros are below its diagonal elements. If the number of columns of sub-matrices T is equal to the rank R of the parity check matrix H, then the parameter g=0 in the matrix H m such that (nk-g)=R, where g=0. Furthermore, if g=0, the sub-matrix A is eliminated and becomes part of the sub-matrix B, and the sub-matrices E, C, and D are eliminated and become part of the sub-matrix T and the sub-matrix B. In this case (nk=R), the matrix H m =[T|B], where the sub-matrix T has a size (nk=R)×(nk=R) and the sub-matrix B has a size (nk=R) ×k.

當一編碼器(諸如,圖1中之編碼器101)使用矩陣H m 來產生碼字V m =[p u](其中u表示訊息資訊)時,同位資訊(p)可如下產生(針對g=0)。針對矩陣H m ,有效碼字V m 之一校驗子係一大小n-k之一全零向量,以使得滿足方程式H m *V m T=0。由於H m =[T|B]且V m =[p u],藉由將V m T=[p u]T替代至方程式H m *V m T=0中,可獲得以下方程式。 When an encoder (such as in the FIG. 1 encoder 101) using the matrix H m to produce a codeword V m = [pu] (wherein u represents message information), the same bit of information (p) may be generated as follows (for g = 0). For the matrix H m , one of the valid codewords V m is one of the magnitudes nk of all zero vectors such that the equation H m * V m T =0 is satisfied. Since H m = [T|B] and V m = [ pu ], by replacing V m T = [ pu ] T with the equation H m * V m T = 0, the following equation can be obtained.

求解以上方程式產生以下方程式(1):Tp=Bu,因此p=T-1 Bu。 (方程式1) Solving the above equation yields the following equation (1): T p =B u , so p =T -1 B u . (Equation 1)

一編碼器(諸如,圖1之編碼器101)可經組態以產生碼字V m 之同位資訊p。因此,針對一LDPC碼之一既定同位校驗矩陣H,可產生圖4中所示之矩陣H m 。若矩陣H m 之子矩陣T之列之總數目係等於同位校驗矩陣H之秩R,則編碼器可經組態以基於方程式(1)產生同位資訊p。同位資訊可與所接收訊息資訊u組合以產生碼字V m =[p u]。由於本文中所闡述之一編碼器可在矩陣H m 之子矩陣T之列之總數目係等於同位校驗矩陣H之秩R之條件下基於方程式(1)產生碼字 V m ,因此該編碼器可僅儲存(例如,儲存於一記憶體中)矩陣H m (而非同位校驗矩陣H)及T-1以進行編碼,此乃因其他值(例如,B及u)係可自矩陣H m 及自訊息資訊u獲得。在編碼期間,該編碼器可存取一記憶體以擷取T-1及矩陣H m 之所儲存元素以基於方程式(1)產生同位資訊p且產生碼字V m =[p u]。 An encoder (such as the 101 encoded FIG. 1) may be configured to generate a code word V m of parity information p. Therefore, a parity check matrix H is established for one of the LDPC codes, and the matrix H m shown in FIG. 4 can be generated. If the total number of columns of the sub-matrix T of the matrix H m is equal to the rank R of the parity check matrix H, the encoder can be configured to generate the parity information p based on equation (1). Parity information with the message information can be combined to produce a received codeword u V m = [pu]. Since set forth herein, one encoder may be equal to Equation (1) produce a codeword V m with the condition rank R of bit check matrix H of based on the total number of series of H m of the matrix sub-matrix T's, so that the encoder The matrix H m (not the parity check matrix H) and T -1 may be stored (eg, stored in a memory) for encoding, since other values (eg, B and u ) may be from the matrix H. m and obtained from the message information u . During the encoding, the encoder may access a memory to capture matrix T -1 H m and the elements are stored based on Equation (1) to generate parity information and generating a codeword p V m = [pu].

若矩陣H m 之子矩陣T之列之總數目係小於同位校驗矩陣H之秩R,則可對圖4之矩陣H m 執行額外運算以產生同位資訊,如下文參考圖5及圖6所闡述。 If the total number of columns of the sub-matrix T of the matrix H m is less than the rank R of the parity check matrix H, additional operations may be performed on the matrix H m of FIG. 4 to generate co-located information, as explained below with reference to FIGS. 5 and 6 .

如以上參考圖4所闡述,可藉由僅交換同位校驗矩陣H之列或行或兩者而產生矩陣H m 。用於產生矩陣H m 之程序亦可包含產生(例如,形成)一追蹤記錄(例如,一映射)。此追蹤記錄可追蹤(例如,映射)同位校驗矩陣H之在矩陣H m 之產生期間已經交換之列或行之位置編號。由於矩陣H m 之子矩陣T係藉由交換同位校驗矩陣H之行而產生,因此追蹤記錄亦含有子矩陣T之至少一個行之一位置編號與同位校驗矩陣H之至少一個行之一位置編號之間的一連結。 As set forth above with reference to FIG. 4, may be exchanged only by the parity check matrix H of columns or rows or both generate a matrix H m. Used to generate a matrix of H m may also include generating a program (e.g., form) a recording track (e.g., a map). This trace traceable (e.g., maps) the position number of the column of parity check matrix H is generated during the matrix H m or a line of the exchange has. Since the sub-matrix T of the matrix H m is generated by exchanging the rows of the parity check matrix H, the trace record also contains one of the at least one row position number of the sub-matrix T and one of the at least one row of the parity check matrix H. A link between the numbers.

追蹤記錄可在碼字V m 之解碼期間用於獲得原始訊息資訊u。舉例而言,在解碼期間,可執行諸如一解交錯運算之運算。此等運算可基於追蹤記錄(但以一相反次序)交換碼字V m 之行以產生碼字V(其不係以系統化形式)。一解碼器可用於使用同位校驗矩陣H來解碼碼字V以產生原始訊息資訊uTracking can be used to obtain the original message record information u during the decoding of codewords of V m. For example, during decoding, an operation such as a de-interlacing operation can be performed. Such calculation may be based on a recording track (but in a reverse order) exchange line V m of codeword to produce a codeword V (which is not based in a systematic form). A decoder can be used to decode the codeword V using the parity check matrix H to produce the original message information u .

在用以產生矩陣H m 之子矩陣T之上三角化運算期間,可 隨機選擇同位校驗矩陣H之若干行以產生子矩陣T之行。此隨機選擇可增加子矩陣T具有一大小R×R(其中R係同位校驗矩陣H之秩)之一機率。當子矩陣T具有一大小R×R時,子矩陣T之列之總數目係等於R。若子矩陣T之大小係R×R,則矩陣H m 可具有一全三角形結構,例如,H m =[T|B],其中圖4中之參數係等於零(例如,n-k=R)。如以上參考圖4所闡述,方程式1可在子矩陣T具有一大小R×R之情形下用於一編碼器中。 During the triangulation operation over the sub-matrix T used to generate the matrix H m , several rows of the parity check matrix H may be randomly selected to generate rows of the sub-matrices T. This random selection may increase the probability that the sub-matrix T has a size R x R (where the R is the rank of the parity check matrix H). When the sub-matrix T has a size R x R, the total number of columns of the sub-matrix T is equal to R. If the size of the sub-matrix T is R x R, the matrix H m may have a full triangular structure, for example, H m = [T|B], wherein the parameter in FIG. 4 is equal to zero (for example, nk=R). As explained above with reference to Figure 4, Equation 1 can be used in an encoder where the sub-matrix T has a size R x R.

在某些情形下,取決於同位校驗矩陣H之元素之值,上三角化運算可失敗產生具有一大小R×R之子矩陣T(例如,子矩陣T之列之總數目係小於R)。在此情形下,矩陣H m 並不具有全三角形結構但其具有一近似三角形結構(如圖4中所示),其中參數g不係零。在此情形下,方程式(1)不適於產生同位資訊。然而,可對矩陣H m 執行額外運算以產生矩陣H m1(圖5)及矩陣H m2(圖6)。可基於矩陣H m2產生同位資訊。 In some cases, depending on the value of the elements of the parity check matrix H, the up-triangulation operation may fail to produce a sub-matrix T having a size R x R (eg, the total number of columns of sub-matrices T is less than R). In this case, the matrix H m but not having full triangular structure having a substantially triangular configuration (shown in FIG. 4), wherein the system parameter g is not zero. In this case, equation (1) is not suitable for generating co-located information. However, the matrix H m to perform additional operation to generate a matrix H m. 1 (FIG. 5), and the matrix H m 2 (FIG. 6). The parity information can be generated based on the matrix H m 2 .

圖5及圖6分別展示根據本發明之一實施例之自圖4之矩陣H m 所產生之矩陣H m1H m2之方塊結構。可使用圖6之矩陣H m2產生碼字V m ,如下文在對圖5之矩陣H m1之闡述之後所闡述。 5 and 6 are graphs showing the matrix H m arising from the embodiment of FIG. 4 of the matrix H m H m 1 and 2 of block structure in accordance with one embodiment of the present invention. H m can be used FIG. 6 of the matrix 2 generates codewords V m, as set forth above in the matrix of FIG. 5 explained later of the 1 H m.

如圖5中所示,矩陣H m1具有與圖4之矩陣H m 之方塊結構相同之方塊結構。然而,圖5之矩陣H m1之子矩陣E、Cm1及Dm1之元素之值係不同於圖4之矩陣H m 之對應子矩陣E、C及D之彼等元素之值。如圖5中所示,子矩陣E之所有元素 係零(「0」)。與圖4之對應子矩陣C及D相比,子矩陣Cm1及Dm1可係較不稀疏(較密集),此歸因於對子矩陣E所執行以使所有其元素為零之運算。此等運算可包含算術運算,例如,高斯消去運算。由於子矩陣E、C及D之列係矩陣H m 之相同列之部分,因此對矩陣H m 之子矩陣E之列所執行之運算亦修改矩陣H m 之子矩陣C及D之列。因此,在子矩陣E之所有元素變成零之後,圖4中之子矩陣C及D變成圖5中之子矩陣Cm1及Dm1As shown in FIG. 5, the matrix H m 1 has the same block structure as the block structure of the matrix H m of FIG. However, the values of the elements of the sub-matrices E, C m1 and D m1 of the matrix H m 1 of FIG. 5 are different from the values of the elements of the corresponding sub-matrices E, C and D of the matrix H m of FIG. 4 . As shown in FIG. 5, all elements of the sub-matrix E are zero ("0"). Compared to the corresponding sub-matrices C and D of FIG. 4, the sub-matrices Cm1 and Dm1 may be less sparse (more dense) due to the operation performed on the sub-matrix E to make all its elements zero. Such operations may include arithmetic operations, such as Gaussian elimination operations. As part of the same column of the row sub-matrix H m E, C, and D lines of the matrix, so the calculation performed by the column matrix H of m sub-matrices E are also modified sub-matrix H of m rows C and D of the matrix. Therefore, after all the elements of the sub-matrix E become zero, the sub-matrices C and D in FIG. 4 become the sub-matrices C m1 and D m1 in FIG.

圖6展示根據本發明之一實施例之自矩陣H m1所產生之一矩陣H m2之一方塊結構。自矩陣H m2,可執行計算以獲得用以產生用於碼字V m 之同位資訊之方程式。如圖6中所展示,矩陣H m2具有與圖5之矩陣矩陣H m 之方塊結構相同之方塊結構。然而,矩陣H m2可包含若干個具有所有零元素之列r。矩陣H m1之列及行之特定數目及圖6中所示之矩陣H m1之子矩陣中之每一者之特定大小係僅出於圖解說明之目的以幫助側重於本文中之說明。 6 shows a block structure of a matrix H m 2 generated from a matrix H m 1 in accordance with an embodiment of the present invention. From the matrix H m 2 , calculations can be performed to obtain equations for generating parity information for the codeword V m . Illustrated in Figure 6, has the same matrix H m 2 of the matrix of the matrix of FIG. 5 H m block structure of block structure. However, the matrix H m 2 may contain a number of columns r with all zero elements. The particular size of the matrix H m 1 and the particular number of rows and the sub-matrices of the matrix H m 1 shown in Figure 6 are for illustrative purposes only to help focus on the description herein.

如以上參考圖4所闡述,可對同位校驗矩陣H執行一上三角化運算以產生上三角形子矩陣T(如圖6中所展示)。在圖5及圖6中,可對子矩陣C m1執行一額外上三角化運算以使子矩陣C m1之對角線具有儘可能多之壹(「1」)。額外上三角化運算可不導致子矩陣C m1之對角線中之所有元素具有值壹。然而,額外上三角化運算可導致子矩陣C m1之對角線中之至少一個元素具有一值壹。舉例而言,如圖6中所示,額外上三角化運算可導致子矩陣C m1之對角線中之五 分之三的元素具有值壹。子矩陣C m1中之元素x可係壹或零。當無額外壹可形成於子矩陣C m1之對角線中時,額外上三角化運算可停止,諸如在圖6中所示之情形中。額外上三角化運算亦可導致子矩陣D m1之底部處之列中之一或多者具有值零。額外上三角化運算產生矩陣H m2。如圖6中所示,矩陣H m2具有若干個其中所有元素具有零之列r。圖6展示r=2作為一實例。r之值可變化。 As explained above with reference to Figure 4, an up-triangulation operation can be performed on the parity check matrix H to produce an upper triangular sub-matrix T (as shown in Figure 6). In FIG 5 and FIG 6, the sub-matrix C m 1 may perform an additional operation to make the upper triangular sub-matrix of C m as many as possible with a diagonal of one ( "1"). The extra up-triangulation operation may not cause all elements in the diagonal of the sub-matrix C m 1 to have a value 壹. However, the additional up-triangulation operation may result in at least one of the diagonals of the sub-matrices C m 1 having a value 壹. For example, as shown in FIG. 6, an additional calculation based on triangulation can lead to the diagonal sub-matrix in C m 1 has a value of three fifths One element. The element x in the submatrix C m 1 can be either 壹 or zero. When no extra turns can be formed in the diagonal of the sub-matrix C m 1 , the additional up-triangulation operation can be stopped, such as in the case shown in FIG. Additional upper triangularization operation can cause one of Liezi matrix D m in the bottom of one or more has a value of zero. An additional up-triangulation operation produces a matrix H m 2 . As shown in FIG. 6, the matrix H m 2 having a plurality of columns in which all elements have a zero of r. Figure 6 shows r = 2 as an example. The value of r can vary.

此r個列(具有帶有所有零之元素)對應於同位校驗矩陣H中之相關列。因此,可移除該r個列自矩陣H m2。因此,在移除該r個列之後,矩陣H m2可具有比矩陣H m1少之列(少r個列)。 The r columns (having elements with all zeros) correspond to the associated columns in the parity check matrix H. Therefore, the r columns can be removed from the matrix H m 2 . Therefore, after removing the r columns, the matrix H m 2 may have fewer columns (less r columns) than the matrix H m 1 .

對子矩陣C m1所執行之額外上三角化運算可包含交換列、交換行及算術運算(例如,高斯消去運算)之任何組合。作為一比較,對同位校驗矩陣H所執行以產生三角形子矩陣T(圖4)之上三角化運算可不包含算術運算(例如,僅交換列及行)。 Additional upper triangular matrix C m of the sub-operation 1 may comprise performing the exchange column, the exchange line and arithmetic operations (e.g., Gaussian elimination operation) of any combination thereof. As a comparison, the triangulation operation performed on the parity check matrix H to produce the triangular submatrix T (Fig. 4) may not include arithmetic operations (e.g., only swapping columns and rows).

對子矩陣Cm1所執行之額外上三角化運算亦可修改子矩陣A、B、Cm1及Dm1之列及行。因此,在額外上三角化運算之後,矩陣H m1(圖5)之子矩陣A、B、Cm1及Dm1變成圖6之矩陣H m2之子矩陣Am2、Bm2、Cm2及Dm2The additional up-triangulation operations performed on the sub-matrix Cm1 may also modify the columns and rows of the sub-matrices A, B, Cm1, and Dm1 . Therefore, after the additional up-triangulation operation, the sub-matrices A, B, C m1 and D m1 of the matrix H m 1 (Fig. 5) become the sub-matrices A m2 , B m2 , C m2 and D m2 of the matrix H m 2 of Fig. 6. .

當一編碼器(諸如圖1中之編碼器101)使用矩陣H m2 來產生碼字V m =[p u](其中u表示訊息資訊)時,同位資訊p可係如下產生。 When an encoder (such as encoder 101 in Fig. 1) uses matrix H m2 to generate codeword V m = [ pu ] (where u represents message information), the parity information p can be generated as follows.

如以上參考圖4、圖5及圖6所闡述,矩陣H m2 係自矩陣 H m1產生,矩陣H m1又係自矩陣H m (圖4)產生。由於矩陣H m 具有一近似三角形結構(其中參數g不係零),因此可將V m =[p m u]之系統化碼字之同位資訊p視為由兩部分組成:一(n-k-g)位元長之同位部分p 1 及一g位元長同位部分p 2 。因此,p=[p 1 p 2 ],因此V m =[p u]=[p 1 p 2 u]。 As described above with reference to FIGS. 4, 5 and 6 set forth, H m2 based matrix resulting from a matrix H m 1, the matrix H m 1 and line generated from the matrix H m (FIG. 4). Since the matrix H m has an approximate triangular structure (where the parameter g is not zero), the parity information p of the systematic codeword of V m =[ p m u ] can be regarded as consisting of two parts: one (nkg) bit The homotopic portion p 1 and the g-bit long isotopic portion p 2 of the meta-length. Therefore, p = [ p 1 p 2 ], so V m = [ pu ] = [ p 1 p 2 u ].

針對矩陣H m2 ,有效碼字V m 之一校驗子係一大小n-k之一全零向量,以使得滿足方程式H m2 *V m T=0。 For the matrix H m2 , one of the valid codewords V m is one of the magnitudes nk of all zero vectors such that the equation H m2 * V m T = 0 is satisfied.

由於V m =[p 1 p 2 u],因此V m T=[p 1 p 2 u]T。如圖6中所示,,藉由將V m T=[p 1 p 2 u]T替換至方程式H m2 *V m T=0中,可獲得以下方程式。 Since V m = [ p 1 p 2 u ], V m T = [ p 1 p 2 u ] T . As shown in Figure 6, By replacing V m T = [ p 1 p 2 u ] T with the equation H m2 * V m T = 0, the following equation can be obtained.

求解以上方程式產生下面之方程式(2)及方程式(3)。 Solving the above equation yields equations (2) and (3) below.

C m2 p2=D m2 u。因此,p2=(C m2 -1 D m2) (方程式2) C m 2 p 2 = D m 2 u . Therefore, p 2 =( C m 2 -1 D m 2 ) (Equation 2)

Tp1=(A m2 p2+B m2 u)。因此,p 1 =T-1(A m2 p2+B m2 u)。將來自方程式(2)之p2=(C m2 -1 D m2)替代至方程式p 1 =T-1(A m2 p2+B m2 u)中產生方程式(3)。 Tp 1 = (A m 2 p 2 + B m 2 u ). Therefore, p 1 = T -1 (A m 2 p 2 + B m 2 u ). Substituting p 2 =( C m 2 -1 D m 2 ) from equation (2) into the equation p 1 =T -1 (A m 2 p 2 +B m 2 u ) yields equation (3).

p 1 =T-1(A(C m2 -1 D m2)+B m2 u) (方程式3) p 1 =T -1 (A( C m 2 -1 D m 2 )+B m 2 u ) (Equation 3)

基於方程式(2)及方程式(3),一編碼器(諸如,圖1之編碼器101)可經組態以產生碼字V m 之同位資訊p。因此,針對一LDPC碼之一既定同位校驗矩陣H,可產生圖6中所示之矩陣H m2 。然後,基於矩陣H m2 ,方程式(2)及方程式(3) 可經計算以產生同位資訊p 1 p 2 。編碼器可組合同位資訊p 1 p 2 與所接收訊息資訊u以產生碼字V m =[p 1 p 2 u]。 Based on equations (2) and Equation (3), an encoder (such as the encoder of FIG. 1101) may be configured to generate a code word V m of parity information p. Therefore, by setting the parity check matrix H for one of the LDPC codes, the matrix H m2 shown in FIG. 6 can be generated. Then, based on the matrix H m2 , equations (2) and (3) can be calculated to produce parity information p 1 and p 2 . The encoder can combine the parity information p 1 and p 2 with the received message information u to generate the codeword V m =[ p 1 p 2 u ].

如以上所闡述,用於產生矩陣H m1 H m2 之程序亦可包含產生(例如,形成)一追蹤記錄(例如,一映射)。此追蹤記錄可追蹤同位校驗矩陣H之在矩陣H m1 H m2 之產生期間已經交換之列或行之位置編號。舉例而言,此追蹤記錄可追蹤同位校驗矩陣H之在用以使子矩陣E之所有元素為零之運算與對子矩陣矩陣C m1所執行之三角化運算兩者期間已經交換之列或行之位置編號。此追蹤記錄亦可連結(例如,映射)同位校驗矩陣H之在矩陣H m1 H m2 之產生期間已經交換之列或行之位置編號。因此,此追蹤記錄亦含有矩陣H m2 之行之位置編號與同位校驗矩陣H之行之位置編號之間的一連結。 As set forth above, and for generating a matrix H m1 H m2 of the program may also include generating (e.g., form) a recording track (e.g., a map). This tracking record tracks the position number of the column or row that has been exchanged during the generation of the matrices H m1 and H m2 by the parity check matrix H. For example, the trace record can track the parity check matrix H that has been swapped during the operation to make all elements of the sub-matrix E zero and the triangulation performed on the sub-matrix matrix C m 1 Or the location number of the line. This tracking record may also link (eg, map) the position number of the column or row that has been exchanged during the generation of the matrices H m1 and H m2 by the parity check matrix H. Therefore, this tracking record also contains a link between the position number of the row of the matrix H m2 and the position number of the row of the parity check matrix H.

在矩陣H m1 H m2 (圖5及圖6)之產生期間所產生之追蹤記錄與在矩陣H m (圖4)之產生期間所產生之追蹤記錄之組合可在碼字V m 之解碼期間與同位校驗矩陣H一起使用以獲得原始訊息資訊u。矩陣H m H m1 H m2 之產生及相關聯活動(諸如,追蹤記錄及方程式1、2及3之產生)可係藉由一電子單元(諸如,一電腦)執行。舉例而言,此電子單元可接收與同位校驗矩陣H相關聯之輸入資訊。然後,基於該輸入資訊,電子單元可產生輸出資訊,諸如矩陣H m H m1 H m2 、追蹤記錄以及方程式1、2及3。 The combination of the tracking record generated during the generation of the matrices H m1 and H m2 (Figs. 5 and 6) and the tracking record generated during the generation of the matrix H m (Fig. 4) may be during the decoding of the codeword V m Used with the parity check matrix H to obtain the original message information u . Matrix H m, H m1 and of generating H m2 and associated activities (such as, trace Records generated equations 1, 2 and 3 of) can be tied by an electronic unit (such as a computer) execute. For example, the electronic unit can receive input information associated with the parity check matrix H. Then, based on the input information, the electronic unit may generate output information, such as a matrix H m, H m1 and H m2, and an equation recording track 1, 2 and 3.

如以上所闡述,本文中所闡述之一編碼器可基於方程式(2)及(3)產生碼字V m 。方程式(2)及(3)中之參數之乘法可係 藉由諸如「互斥或」加法之運算獲得。因此,編碼器可僅儲存矩陣H m2 (而非同位校驗矩陣H)及乘積C m2 -1 D m2,此乃因其他值(例如,A、B及u)係可自矩陣H m2 及自訊息資訊u獲得。進一步計算可提供D m =ET-1 B。由於D m 可係可自矩陣H m1 獲得,D m2亦可係可獲得的且D m2D m 之一經修改版本,因此D m2可不需要儲存以用於編碼操作。因此,另一選擇為,編碼器可儲存(例如,儲存於一記憶體中)僅矩陣H m2 C m2 -1以及T-1(而不儲存D m2)。在編碼期間,編碼器可存取一記憶體以擷取矩陣H m2 之元素以及C m2 -1及T-1以基於方程式(2)及(3)產生同位p 1 p 2 且產生碼字Vm=[p 1 p 2 u]。 As set forth above, one encoder may be based on equations (2) and (3) V m generated codeword set forth herein. The multiplication of the parameters in equations (2) and (3) can be obtained by an operation such as "mutual exclusion" or addition. Therefore, the encoder can store only the matrix H m2 (instead of the parity check matrix H) and the product C m 2 -1 D m 2 , because other values (for example, A, B, and u ) can be derived from the matrix H m2 . And obtained from the message information u . Further calculations can provide D m =ET -1 B. Since the line D m can be obtained from the matrix H m1, D m 2 can be obtained a modified version of one of the lines and line D m 2 D m, D m 2 and therefore need not be stored for an encoding operation. Therefore, another option is that the encoder can store (e.g., store in a memory) only the matrices H m2 and C m 2 -1 and T -1 (without storing D m 2 ). During encoding, the encoder can access a memory to extract elements of the matrix H m2 and C m 2 -1 and T -1 to generate co-located p 1 and p 2 based on equations (2) and (3) and generate code The word Vm = [ p 1 p 2 u ].

作為一比較,一傳統編碼可儲存產生器矩陣Gm之子矩陣P。子矩陣P具有一大小k×(n-k)。在本文中所闡述之編碼中,矩陣H m2 之子矩陣C m2 -1D m2以及T-1中之每一者具有小於子矩陣P之大小之一大小。 As a comparison, a conventional encoding store generator matrix G m of the sub-matrix P. The sub-matrix P has a size k × (nk). In the encoding set forth herein, each of the sub-matrices C m 2 -1 and D m 2 and T -1 of the matrix H m2 has a size smaller than one of the sizes of the sub-matrices P.

圖7展示根據本發明之一實施例之包含一編碼器701之一系統700之一方塊圖。編碼器701可對應於圖1之編碼器101。舉例而言,編碼器701可以相對於一H-矩陣730自訊息資訊u產生碼字V m 之一LDPC編碼器之形式實現。H-矩陣730可內部儲存於系統700中或在系統700外部。 FIG. 7 shows a block diagram of a system 700 including an encoder 701 in accordance with an embodiment of the present invention. Encoder 701 may correspond to encoder 101 of FIG. For example, the encoder 701 relative to a self H- matrix 730 generates message information u in the form of one LDPC encoder implemented codeword V m. The H-matrix 730 can be stored internally in system 700 or external to system 700.

系統700可係具有用以儲存資訊之記憶體裝置之一記憶體系統。舉例而言,系統700可包含一裝置710,裝置710可包含用以控制至一裝置720及自一裝置720之資訊之一傳送之一記憶體控制器,裝置720可包含一記憶體裝置。 System 700 can be a memory system having a memory device for storing information. For example, system 700 can include a device 710 that can include a memory controller for controlling transmission to and from one of device 720, and device 720 can include a memory device.

如圖7中所示,傳送至裝置720之資訊可包含可對應於以 上參考圖1至圖6所闡述之碼字V m 之碼字V m 。裝置720可包含記憶體胞721。裝置720可在一寫入操作期間自裝置710接收碼字V m 且將碼字V m 儲存於記憶體胞721中。裝置720亦可包含用以輸出碼字V m 至裝置710之一讀取操作。記憶體胞721可包含揮發性記憶體胞、非揮發性記憶體胞或兩者。揮發性記憶體胞之實例包含隨機存取記憶體(RAM)胞。非揮發性記憶體胞之實例包含快閃記憶體胞,電阻式隨機存取記憶體(RRAM)胞及相變記憶體胞以及其他類型之非揮發性記憶體胞。 As shown in FIG. 7, the information transmitted to the device 720 may comprise a code corresponding to the above set forth with reference to FIG. 1 to 6 of the word of the code word V m V m. Device 720 can include a memory cell 721. Device 720 may be self-device during a write operation 710 received codeword and the codeword V m V m is stored in the memory cell 721. 720 may also include means for outputting codewords V m to 710 means reads one operation. The memory cell 721 can comprise a volatile memory cell, a non-volatile memory cell, or both. Examples of volatile memory cells include random access memory (RAM) cells. Examples of non-volatile memory cells include flash memory cells, resistive random access memory (RRAM) cells, and phase change memory cells, as well as other types of non-volatile memory cells.

系統700可將與編碼操作相關聯之參數儲存於裝置710之記憶體725及裝置720之記憶體胞721中之一或兩者中。此等參數可包含追蹤記錄,諸如以上參考圖4至圖6所闡述之追蹤記錄。裝置710之一解碼器702可使用所儲存參數及H-矩陣730來解碼碼字V m (自裝置720所接收)以獲得原始訊息資訊uSystem 700 can store the parameters associated with the encoding operation in one or both of memory 725 of device 710 and memory cell 721 of device 720. These parameters may include tracking records, such as the tracking records set forth above with reference to Figures 4-6. One of decoder device 710 may use the stored parameters 702 and 730 H- decoded codeword matrices V m (received from the device 720) to obtain the original information message u.

系統700亦可包含一裝置740,裝置740可包含一處理器(諸如通用處理器)或一特殊應用積體電路(ASIC)。在裝置720之一操作(例如,一寫入操作)中,裝置710可在其耦合至介面751之輸入處接收訊息資訊u。裝置710可產生具有訊息資訊u之碼字V m 且將碼字V m 提供至其耦合至介面752之輸出。在裝置720之另一操作(例如,一讀取操作)中,裝置710可接收經由介面752自裝置720輸出之碼字V m 、解碼碼字V m 以獲得訊息資訊u以及然後將訊息資訊u經由介面751發送至裝置740。介面751可包含一有線介面或一無線介面 或兩者之一組合。介面752可包含一有線介面或一無線介面或兩者之一組合。介面751及752中之每一者可包含一雙向介面。舉例而言,介面752可包含雙向導體(例如,一串列匯流排或一並列匯流排)以在相同雙向導體上將碼字V m 傳送至裝置720及自裝置720傳送碼字V m System 700 can also include a device 740, which can include a processor (such as a general purpose processor) or a special application integrated circuit (ASIC). In one of the operations of device 720 (e.g., a write operation), device 710 can receive message information u at its input coupled to interface 751. Device 710 may generate a codeword having a V m of the message information and the code word u V m provides to its output coupled to the interface 752. In another operation of the apparatus 720 (e.g., a read operation), the device 710 may receive via the interface device 752 from the output 720 of the code word V m, V m decoded code word to obtain the information message u, and then post the information u Transmitted to device 740 via interface 751. The interface 751 can include a wired interface or a wireless interface or a combination of the two. The interface 752 can include a wired interface or a wireless interface or a combination of the two. Each of the interfaces 751 and 752 can include a two-way interface. For example, interface 752 may comprise bidirectional conductors (e.g., a serial bus or a parallel bus) to transmit the same bi-directional V m codewords on conductor 720 to the device from the device 720 and sends the codeword V m.

系統700亦可包含一儲存裝置760。儲存裝置760之一部分或整個記憶體725可在系統700之外部。儲存裝置760可包含任何形式之電腦可讀儲存媒體,該電腦可讀儲存媒體包括在藉由一或多個處理器(例如,一電腦或一無線通信裝置中之一處理器)或藉由裝置710或740實施時可執行與本文中所闡述之碼字V m 之產生相關聯之操作中之所有操作或其一部分之指令。舉例而言,儲存裝置760可包含用以以下操作之指令:產生矩陣(諸如矩陣H m H m1H m2)、計算方程式(諸如方程式(1)、(2)及(3))以及產生以上參考圖1至圖6所闡述之追蹤記錄(例如,列及行交換)。執行儲存於儲存裝置760中之指令之處理器可包含於在系統700外部之系統中。舉例而言,此處理器可係不同於系統700之一電腦之一部分。 System 700 can also include a storage device 760. A portion of the storage device 760 or the entire memory 725 can be external to the system 700. The storage device 760 can comprise any form of computer readable storage medium, including by one or more processors (eg, a computer or a wireless communication device) or by a device All or a portion of the instruction code executable operations that result with the herein described embodiments 710 or 740 V m of the associated word in the sum. For example, storage device 760 can include instructions for generating matrices (such as matrices H m , H m 1 , and H m 2 ), and calculating equations (such as equations (1), (2), and (3)). And generating the tracking records (eg, column and row exchanges) set forth above with reference to Figures 1 through 6. A processor executing instructions stored in storage device 760 can be included in a system external to system 700. For example, the processor can be part of a computer that is different from one of the systems 700.

另一選擇為或除儲存裝置760外,一電子單元770亦可操作以:產生矩陣(諸如矩陣H m H m1H m2)、計算方程式(諸如方程式(1)、(2)及(3))以及產生以上參考圖1至圖6所闡述之追蹤記錄(例如,列及行交換)。舉例而言,電子單元770可接收與同位校驗矩陣H相關聯之輸入資訊。然後,基於該輸入資訊,電子單元770可產生輸出資訊,諸如矩 陣H m H m1 H m2 、追蹤記錄以及方程式1、2及3。由電子單元770所產生之資訊中之至少某些資訊(例如,包含於矩陣H m H m1H m2、方程式(1)、(2)及(3)以及追蹤記錄中之資訊中之至少某些資訊)可由編碼器701使用以產生碼字V m 且由解碼器702使用以解碼碼字V m Alternatively, or in addition to storage device 760, an electronic unit 770 can also operate to: generate matrices (such as matrices H m , H m 1 and H m 2 ), calculate equations (such as equations (1), (2), and (3)) and generating the tracking records (e.g., column and row exchanges) set forth above with reference to Figures 1 through 6. For example, electronic unit 770 can receive input information associated with parity check matrix H. Then, based on the input information, the electronic unit 770 may generate output information, such as a matrix H m, H m1 and H m2, and an equation recording track 1, 2 and 3. At least some of the information generated by the electronic unit 770 (eg, included in the matrices H m , H m 1 and H m 2 , equations (1), (2), and (3) and information in the tracking record at least some of the information) used by the encoder 701 to generate a code word used in the 702 V m and V m codeword decoded by a decoder.

系統700之一部分(例如,裝置710及720)或系統700之全部可包含於相同半導體晶片中、相同積體電路封裝中、或相同電路板中。 All of the portions of system 700 (e.g., devices 710 and 720) or system 700 can be included in the same semiconductor wafer, in the same integrated circuit package, or in the same circuit board.

對設備(例如,設備100)及系統(例如,系統700)之圖解說明旨在提供對各種實施例之結構之一般理解,且並非旨在提供對可能利用本文中所闡述結構之設備及系統之所有元件及特徵之一完全闡述。 The illustration of a device (e.g., device 100) and a system (e.g., system 700) is intended to provide a general understanding of the structure of various embodiments and is not intended to provide a device or system that may utilize the structures set forth herein. One of all the components and features is fully explained.

以上參考圖1至圖7所闡述之組件中之任何者可以若干種方式實施,包含經由軟體之模擬。因此,以上所闡述之設備(例如,設備100)及系統(例如,系統700)在本文中可全部表徵為「若干模組」(或「模組」)。視設備(例如,設備100)之架構之需要且視各種實施例之特定實施方案之情況,此等模組可包含硬體電路、單及/或多處理器電路、記憶體電路、軟體程式化模組及物件及/或韌體以及其組合。舉例而言,此等模組可包含於一系統作業模擬封裝中,諸如一軟體電信號模擬封裝、一功率使用及分配模擬封裝、一電容電感模擬封裝、一功率/熱耗散模擬封裝、一信號傳輸接收模擬封裝及/或用於操作或模擬各種可能實施例之操作之軟體及硬體之一組合。 Any of the components set forth above with reference to Figures 1 through 7 can be implemented in a number of ways, including simulation via software. Accordingly, the devices (eg, device 100) and systems (eg, system 700) described above may be fully characterized herein as "several modules" (or "modules"). Depending on the architecture of the device (eg, device 100) and depending on the particular implementation of various embodiments, such modules may include hardware circuitry, single and/or multiprocessor circuitry, memory circuitry, software stylization Modules and objects and/or firmware and combinations thereof. For example, the modules can be included in a system operation analog package, such as a software electrical signal analog package, a power usage and distribution analog package, a capacitor inductance analog package, a power/heat dissipation analog package, and a The signal transmission receives a combination of analog packages and/or software and hardware for operating or simulating the operation of various possible embodiments.

各種實施例之設備及系統可包含或包含於用於高速電腦、通信及信號處理電路、單或多處理器模組、單或多嵌入式處理器、多核處理器、訊息資訊切換器及包含多層、多晶片模組之特殊應用模組中之電子電路中。此等設備及系統可進一步作為子組件而包含於以下各種電子系統內:諸如,電視、蜂巢式電話、個人電腦(例如,膝上型電腦、桌上型電腦、手持式電腦、平板電腦等等)、工作站、無線電、視訊播放器、音訊播放器(例如,MP3(動畫專家群、音訊層3)播放器)、車輛、醫療裝置(例如,心臟監視器、血壓監視器等等)、視訊轉換器及其他裝置。 Apparatus and systems of various embodiments may be included or included in high speed computers, communication and signal processing circuits, single or multi-processor modules, single or multiple embedded processors, multi-core processors, message switchers, and multiple layers In the electronic circuit of the special application module of the multi-chip module. Such devices and systems may further be included as sub-components in various electronic systems such as televisions, cellular phones, personal computers (eg, laptops, desktops, handheld computers, tablets, etc.) ), workstations, radios, video players, audio players (eg, MP3 (Animation Experts Group, Audio Layer 3) players), vehicles, medical devices (eg, heart monitors, blood pressure monitors, etc.), video conversion And other devices.

以上參考圖1至圖7所闡述之實施例包含用於編碼訊息資訊之設備及方法。此等設備及方法可包含使用一低密度同位校驗(LDPC)碼之一同位校驗矩陣來產生具有一上三角形子矩陣之一第一矩陣。若該上三角形子矩陣之列之一總數目係等於該同位校驗矩陣之秩,則可基於該第一矩陣產生用以編碼該訊息資訊之同位資訊。若該上三角形子矩陣之列之該總數目係小於該同位校驗矩陣之該秩,則可在該第一矩陣之一第二部分中之一第二子矩陣中執行一個三角化運算以產生一第二矩陣。可基於該第二矩陣產生用以編碼該訊息資訊之同位資訊。本文中所闡述之編碼可組合同位資訊與訊息資訊以形成碼字。亦可執行碼字之解碼。舉例而言,在編碼期間所執行以產生同位資訊之程序(例如,步驟)可以一相反次序執行以產生經解碼資訊。然後,用於編碼之相同H-矩陣可在解碼期間用於產生原始訊息資 訊。本發明闡述包含額外設備及方法之其他實施例。 The embodiments set forth above with reference to Figures 1 through 7 include apparatus and methods for encoding message information. The apparatus and method can include generating a first matrix having one of the upper triangular sub-matrices using a parity check matrix of one of the low density parity check (LDPC) codes. If the total number of columns of the upper triangular sub-matrix is equal to the rank of the parity check matrix, the parity information used to encode the information of the message may be generated based on the first matrix. If the total number of columns of the upper triangular submatrix is less than the rank of the parity check matrix, a triangulation operation may be performed in one of the second submatrix of the second portion of the first matrix to generate A second matrix. The parity information used to encode the information of the message may be generated based on the second matrix. The encodings described herein can combine co-located information and message information to form a codeword. The decoding of the code words can also be performed. For example, a program (eg, a step) performed during encoding to generate co-located information can be performed in reverse order to produce decoded information. The same H-matrix used for encoding can then be used to generate the original message during decoding. News. The invention sets forth additional embodiments incorporating additional equipment and methods.

以上闡述及圖式圖解說明本發明之某些實施例以使得熟習此項技術者能夠實踐本發明之實施例。其他實施例可併入有結構、邏輯、電、程序及其他改變。實例僅代表可能變化形式。某些實施例之部分及特徵可包含於其他實施例之部分及特徵中或替代其他實施例之部分及特徵。熟習此項技術者在閱讀並理解以上闡述後將明瞭諸多其他實施例。 The above description and the drawings are intended to illustrate the embodiments of the invention Other embodiments may incorporate structural, logical, electrical, program, and other changes. The examples represent only possible variations. Portions and features of certain embodiments may be included in or substituted for parts and features of other embodiments. Many other embodiments will be apparent to those skilled in the art upon reading and understanding.

0‧‧‧子矩陣 0‧‧‧submatrix

100‧‧‧設備 100‧‧‧ Equipment

101‧‧‧編碼器 101‧‧‧Encoder

110‧‧‧資訊源 110‧‧‧Information source

120‧‧‧記憶體區域 120‧‧‧ memory area

130‧‧‧H-矩陣 130‧‧‧H-matrix

700‧‧‧系統 700‧‧‧ system

701‧‧‧編碼器 701‧‧‧Encoder

702‧‧‧解碼器 702‧‧‧Decoder

710‧‧‧裝置 710‧‧‧ device

720‧‧‧裝置 720‧‧‧ device

721‧‧‧記憶體胞 721‧‧‧ memory cells

725‧‧‧記憶體 725‧‧‧ memory

730‧‧‧H-矩陣 730‧‧‧H-matrix

740‧‧‧裝置 740‧‧‧ device

751‧‧‧介面 751‧‧‧ interface

752‧‧‧介面 752‧‧‧ interface

760‧‧‧儲存裝置 760‧‧‧Storage device

770‧‧‧電子單元 770‧‧‧Electronic unit

A‧‧‧子矩陣 A‧‧‧submatrix

A m2 ‧‧‧子矩陣 A m2 ‧‧‧submatrix

B‧‧‧子矩陣 B‧‧‧Submatrix

B m2 ‧‧‧子矩陣 B m2 ‧‧‧submatrix

C‧‧‧子矩陣 C‧‧‧Submatrix

C m1 ‧‧‧子矩陣 C m1 ‧‧‧submatrix

C m2 ‧‧‧子矩陣 C m2 ‧‧‧submatrix

D‧‧‧子矩陣 D‧‧‧Submatrix

D m1 ‧‧‧子矩陣 D m1 ‧‧‧submatrix

D m2 ‧‧‧子矩陣 D m2 ‧‧‧submatrix

E‧‧‧子矩陣 E‧‧‧submatrix

H‧‧‧同位校驗矩陣/矩陣 H‧‧‧ parity check matrix/matrix

H m ‧‧‧矩陣 H m ‧‧‧ matrix

H m1 ‧‧‧矩陣 H m1 ‧‧‧ matrix

H m2 ‧‧‧矩陣 H m2 ‧‧‧ matrix

T‧‧‧子矩陣 T‧‧‧Submatrix

u‧‧‧原始訊息資訊 u‧‧‧Original message information

V m ‧‧‧碼字 V m ‧‧‧ code words

圖1展示根據本發明之一實施例之包含經組態以相對於一LDPC碼編碼訊息資訊以形成碼字之一編碼器之一設備之一方塊圖。 1 shows a block diagram of an apparatus comprising one of an encoder configured to encode message information relative to an LDPC code to form a codeword, in accordance with an embodiment of the present invention.

圖2展示根據本發明之一實施例之一LDPC碼之一同位校驗矩陣H之一實例。 2 shows an example of one of the parity check matrices H of one of the LDPC codes in accordance with an embodiment of the present invention.

圖3係根據本發明之一實施例之基於一LDPC碼之一同位校驗矩陣H編碼資訊之一方法之一流程圖。 3 is a flow chart of one of the methods for encoding information based on one parity check matrix H of an LDPC code according to an embodiment of the present invention.

圖4展示根據本發明之一實施例之自一LDPC碼之一同位校驗矩陣H所產生之一矩陣之一方塊結構。 4 shows a block structure of a matrix generated from one parity check matrix H of an LDPC code in accordance with an embodiment of the present invention.

圖5及圖6展示根據本發明之一實施例之自圖4之矩陣所產生之矩陣之方塊結構。 5 and 6 show the block structure of a matrix generated from the matrix of FIG. 4 in accordance with an embodiment of the present invention.

圖7展示根據本發明之一實施例之包含一編碼器之一系統之一方塊圖。 7 shows a block diagram of a system including an encoder in accordance with an embodiment of the present invention.

700‧‧‧系統 700‧‧‧ system

701‧‧‧編碼器 701‧‧‧Encoder

702‧‧‧解碼器 702‧‧‧Decoder

710‧‧‧裝置 710‧‧‧ device

720‧‧‧裝置 720‧‧‧ device

721‧‧‧記憶體胞 721‧‧‧ memory cells

725‧‧‧記憶體 725‧‧‧ memory

730‧‧‧H-矩陣 730‧‧‧H-matrix

740‧‧‧裝置 740‧‧‧ device

751‧‧‧介面 751‧‧‧ interface

752‧‧‧介面 752‧‧‧ interface

760‧‧‧儲存裝置 760‧‧‧Storage device

770‧‧‧電子單元 770‧‧‧Electronic unit

u‧‧‧原始訊息資訊 u‧‧‧Original message information

V m ‧‧‧碼字 V m ‧‧‧ code words

Claims (35)

一種編碼方法,其包括:接收訊息資訊;基於根據一矩陣之一第一部分中之一第一子矩陣之至少一倒轉所計算之一第一方程式產生同位資訊之一部分,該第一子矩陣包含具有一值為"1"之一對角線元素;基於根據該矩陣之一第二部分中之至少一個三角形子矩陣所計算之一第二方程式產生該同位資訊之一額外部分;及至少部分地基於該同位資訊之該部分及該同位資訊之該額外部分產生諸碼字其中該第一方程式包含p 2 =(Cm2 -1Dm2)u,該第二方程式包含p 1 =T-1(Am2 p 2 +Bm2 u),其中p 1 p 2 表示該同位資訊之該部分及該額外部分,Cm2表示該第一子矩陣,T表示該三角形子矩陣,且Am2、Bm2及Dm2表示該矩陣之其他子矩陣,該矩陣具有一方塊結構 An encoding method, comprising: receiving message information; generating a portion of the parity information based on one of the first equations calculated according to at least one of the first sub-matrices in one of the first portions of a matrix, the first sub-matrix comprising a value of one diagonal element of "1"; generating an additional portion of the parity information based on one of the second equations calculated from at least one of the triangular sub-matrices of the second portion of the matrix; and based at least in part on The portion of the parity information and the additional portion of the parity information generates codewords wherein the first equation comprises p 2 =(C m2 -1 D m2 ) u , and the second equation comprises p 1 =T -1 (A M2 p 2 +B m2 u ), where p 1 and p 2 represent the portion of the isomorphic information and the additional portion, C m2 represents the first sub-matrix, T represents the triangular sub-matrix, and A m2 , B m2 and D m2 represents other sub-matrices of the matrix, the matrix has a block structure 一種編碼方法,其包括:接收訊息資訊;基於根據一矩陣之一第一部分中之一第一子矩陣之至少一倒轉所計算之一第一方程式產生同位資訊之一部分,該第一子矩陣包含具有一值為"1"之一對角線元素;基於根據該矩陣之一第二部分中之至少一個三角形子矩陣所計算之一第二方程式產生該同位資訊之一額外部分;及 至少部分地基於該同位資訊之該部分及該同位資訊之該額外部分產生諸碼字,其中該等碼字包含該同位資訊之該部分、該同位資訊之該額外部分與該訊息資訊之一組合。 An encoding method, comprising: receiving message information; generating a portion of the parity information based on one of the first equations calculated according to at least one of the first sub-matrices in one of the first portions of a matrix, the first sub-matrix comprising a value of one diagonal element of "1"; generating an additional portion of the parity information based on a second equation calculated from at least one of the triangular sub-matrices in the second portion of the matrix; and Generating codewords based at least in part on the portion of the co-located information and the additional portion of the co-located information, wherein the codewords comprise the portion of the co-located information, the additional portion of the co-located information, and one of the message information . 一種編碼方法,其包括:自一低密度同位校驗碼之一同位校驗矩陣產生一第一矩陣,該第一矩陣具有在該第一矩陣之一第一部分中之一個三角形子矩陣;若該三角形子矩陣之列之一總數目係等於該同位校驗矩陣之一秩,則至少部分地基於該第一矩陣產生用以編碼訊息資訊之同位資訊;及若該第一三角形子矩陣之列之該總數目係小於該同位校驗矩陣之該秩,則對該第一矩陣之一第二部分中之一第二子矩陣執行一個三角化運算以產生一第二矩陣,且至少部分地基於該第二矩陣產生用以編碼該訊息資訊之同位資訊。 An encoding method, comprising: generating a first matrix from a parity check matrix of a low density parity check code, the first matrix having a triangular submatrix in a first portion of the first matrix; And the total number of columns of the triangular sub-matrices is equal to one of the ranks of the parity check matrix, and the parity information used to encode the information of the information is generated based at least in part on the first matrix; and if the first triangular sub-matrix is And the total number is less than the rank of the parity check matrix, and performing a triangulation operation on a second sub-matrix of the second portion of the first matrix to generate a second matrix, and based at least in part on the The second matrix generates co-located information for encoding the information of the message. 如請求項3之方法,其中至少部分地基於該第一矩陣產生用以編碼該訊息資訊之該同位資訊係基於一方程式p=T-1(Bu),其中p表示該同位資訊,T-1表示該三角形子矩陣之一倒轉,B表示該第一矩陣之一第三部分中之一子矩陣,且u表示訊息資訊。 The method of claim 3, wherein the co-located information generated based on the first matrix to encode the message information is based on a program p = T -1 (B u ), where p represents the co-located information, T - 1 indicates that one of the triangular sub-matrices is inverted, B represents one of the third sub-matrices of the first matrix, and u represents message information. 如請求項3之方法,其中至少部分地基於該第二矩陣產生用以編碼該訊息資訊之該同位資訊係基於一方程式p 2 =(Cm2 -1Dm2)u,其中p 2 表示該同位資訊之一部分,Cm2 -1 表示該第二矩陣中之一第一子矩陣之一倒轉,Dm2表示該第二矩陣中之一第二子矩陣,且u表示該訊息資訊。 The method of claim 3, wherein the co-located information generated based on the second matrix to encode the message information is based on a program p 2 =(C m2 -1 D m2 ) u , wherein p 2 represents the co-located In one part of the information, C m2 -1 indicates that one of the first sub-matrices in the second matrix is inverted, D m2 represents one of the second sub-matrices in the second matrix, and u represents the message information. 如請求項5之方法,其中至少部分地基於該第二矩陣產生用以編碼該訊息資訊之該同位資訊係進一步基於一第二方程式p 1 =T-1(Am2 p 2+Bm2 u),其中p 1 表示該同位資訊之一額外部分,T-1表示該三角形子矩陣之一倒轉,Am2表示該第二矩陣中之第三子矩陣,且Bm2表示該第二矩陣中之一第四子矩陣。 The method of claim 5, wherein the co-located information generated to encode the message information based at least in part on the second matrix is further based on a second equation p 1 =T -1 (A m2 p 2 +B m2 u ) Wherein p 1 represents an additional portion of the parity information, T -1 represents one of the triangular sub-matrices, A m2 represents a third sub-matrix in the second matrix, and B m2 represents one of the second matrices The fourth submatrix. 如請求項3之方法,其中產生該第一矩陣包含在該同位校驗矩陣之複數個行當中隨機選擇若干行以產生該三角形子矩陣。 The method of claim 3, wherein generating the first matrix comprises randomly selecting a plurality of rows among the plurality of rows of the parity check matrix to generate the triangular submatrix. 如請求項7之方法,其中對該第二子矩陣執行該三角化運算包含對該第二子矩陣之至少一個列執行一算術運算。 The method of claim 7, wherein performing the triangulation operation on the second sub-matrix comprises performing an arithmetic operation on at least one column of the second sub-matrix. 如請求項7之方法,其進一步包括:產生一記錄,該記錄連結該三角形子矩陣之至少一個行之一位置編號與該同位校驗矩陣之至少一個行之一位置編號。 The method of claim 7, further comprising: generating a record linking a location number of at least one of the at least one row of the triangular submatrix and a location number of at least one of the parity check matrix. 如請求項3之方法,其中產生該第一矩陣包含執行以下操作中之至少一者:僅交換該同位校驗矩陣之列、僅交換該同位校驗矩陣之行及僅交換該同位校驗矩陣之列及行。 The method of claim 3, wherein generating the first matrix comprises performing at least one of: exchanging only the column of the parity check matrix, exchanging only the row of the parity check matrix, and exchanging only the parity check matrix The list and the line. 如請求項3之方法,其中產生該第一矩陣包含不對該同位校驗矩陣之該等列執行算術運算。 The method of claim 3, wherein generating the first matrix comprises performing an arithmetic operation on the columns of the parity check matrix. 如請求項3之方法,其中該同位校驗矩陣係一秩不足矩陣。 The method of claim 3, wherein the parity check matrix is a rank under-matrix. 如請求項3之方法,其中該三角形子矩陣係一上三角形子矩陣。 The method of claim 3, wherein the triangular submatrix is an upper triangular submatrix. 一種編碼方法,其包括:對一低密度同位校驗碼之同位校驗矩陣執行一第一三角化運算以產生一第一矩陣,該第一矩陣具有在該第一矩陣之一第一部分中之一個三角形子矩陣,該三角形子矩陣具有小於該同位校驗矩陣之一秩之總數目個列;對該第一矩陣之一第二部分中之一子矩陣之至少一部分執行一第二三角化運算以使得該第一矩陣之至少一個列包含所有零元素;移除該第一矩陣之包含所有零元素之該至少一個列以產生一第二矩陣,其中執行該第一三角化、執行該第二三角化及移除該第一矩陣之該至少一個列中之至少一者係由一電子單元執行;及計算至少一個方程式以至少部分地基於該第二矩陣產生同位資訊之至少一部分。 An encoding method comprising: performing a first triangulation operation on a parity check matrix of a low density parity check code to generate a first matrix, the first matrix having a first portion of the first matrix a triangular submatrix having a total number of columns smaller than one of the ranks of the parity check matrix; performing a second triangulation operation on at least a portion of one of the second matrices in the second portion of the first matrix So that at least one column of the first matrix includes all zero elements; removing the at least one column of the first matrix containing all zero elements to generate a second matrix, wherein performing the first triangulation, performing the second Triangulating and removing at least one of the at least one column of the first matrix is performed by an electronic unit; and calculating at least one equation to generate at least a portion of the parity information based at least in part on the second matrix. 如請求項14之方法,其中該第一矩陣包含配置成一方塊 結構之子矩陣T、A、B、Cm1、Dm1及0,其中T表示該三角形子矩陣,且Cm1表示該第一矩陣之該第二部分中之該子矩陣。 The method of claim 14, wherein the first matrix comprises a block structure Sub-matrices T, A, B, C m1 , D m1 and 0, where T represents the triangular sub-matrix and C m1 represents the sub-matrix in the second portion of the first matrix. 如請求項15之方法,其中該第二矩陣係配置成一方塊結 構,其中子矩陣Am2、Bm2、Cm2及Dm2分別係該第一矩陣之由對該第一矩陣之該第二部分中之該子矩陣所執行之該三角化運算產生之子矩陣A、B、Cm1及Dm1之修改版本。 The method of claim 15, wherein the second matrix is configured as a block structure , wherein the sub-matrices A m2 , B m2 , C m2 , and D m2 are respectively sub-matrices A of the first matrix generated by the triangulation operation performed on the sub-matrix in the second portion of the first matrix, Modified versions of B, C m1 and D m1 . 如請求項16之方法,其中形成該至少一個方程式包含:形成一第一方程式p 2 =(Cm2 -1Dm2)u,其中p 2 表示該同位資訊之一部分,且u表示該訊息資訊;且形成一第二方程式p 1 =T-1(Am2 p 2+Bm2 u),其中p 1 表示該同位資訊之另一部分。 The method of claim 16, wherein the forming the at least one equation comprises: forming a first equation p 2 = (C m2 -1 D m2 ) u , wherein p 2 represents a portion of the parity information, and u represents the message information; And forming a second equation p 1 =T -1 (A m2 p 2 +B m2 u ), where p 1 represents another part of the isomorphic information. 如請求項14之方法,其中執行該第一三角化運算包含在該同位校驗矩陣之複數個行當中隨機選擇若干行以使用該等所選擇行來形成該三角形子矩陣之行之至少一部分。 The method of claim 14, wherein performing the first triangulation operation comprises randomly selecting a plurality of rows among the plurality of rows of the parity check matrix to form at least a portion of the rows of the triangular submatrix using the selected rows. 如請求項18之方法,其中執行該第二三角化運算包含對該第一矩陣之該第二部分中之該子矩陣之至少一個列執行一算術運算。 The method of claim 18, wherein performing the second triangulation operation comprises performing an arithmetic operation on at least one column of the sub-matrix in the second portion of the first matrix. 如請求項14之方法,其中該三角形子矩陣係一上三角形子矩陣。 The method of claim 14, wherein the triangular submatrix is an upper triangular submatrix. 如請求項20之方法,其中執行該第二三角化運算包含執行一上三角化運算。 The method of claim 20, wherein performing the second triangulation operation comprises performing an up-triangulation operation. 如請求項14之方法,其進一步包括:產生一記錄,該記錄連結該第一矩陣之至少一部分之行之位置編號、該第二矩陣之至少一部分及該同位校驗 矩陣之至少一部分。 The method of claim 14, further comprising: generating a record that links a location number of at least a portion of the first matrix, at least a portion of the second matrix, and the parity check At least part of the matrix. 一種編碼方法,其包括:自一低密度同位校驗碼之一同位校驗矩陣產生一矩陣,該同位校驗矩陣具有一大小(n-k+m)×n及一秩R,其中R係小於(n-k+m),該矩陣具有一大小R×n且具有配置成一方塊結構[T B]之子矩陣T及B,該子矩陣B具有一大小R×(n-R),其中該子矩陣T係具有一大小R×R之一個三角形子矩陣;及至少部分地基於該三角形子矩陣之一倒轉形成一方程式以產生同位資訊,其中產生一矩陣及形成該方程式中之至少一者係由一電子單元執行。 An encoding method includes: generating a matrix from a parity check matrix of a low density parity check code, the parity check matrix having a size (n-k+m)×n and a rank R, wherein the R system Less than (n-k+m), the matrix has a size R×n and has sub-matrices T and B configured as a block structure [TB] having a size R×(nR), wherein the sub-matrix T a triangular submatrix having a size R×R; and at least in part based on one of the triangular submatrices being inverted to form a program to generate co-located information, wherein generating a matrix and forming at least one of the equations is performed by an electron Unit execution. 如請求項23之方法,其中該方程式包含p=T-1(Bu),其中u表示訊息資訊,且p表示與該訊息資訊相關聯之同位資訊。 The method of claim 23, wherein the equation comprises p = T -1 (B u ), where u represents message information and p represents co-located information associated with the message information. 如請求項23之方法,其中產生該矩陣包含在該同位校驗矩陣之複數個行當中隨機選擇一行,及交換該所選擇行之一位置與該複數個行中之一額外行之一位置以產生該子矩陣T之一行,以使得該子矩陣T包含該所選擇行。 The method of claim 23, wherein generating the matrix comprises randomly selecting a row among the plurality of rows of the parity check matrix, and exchanging one of the selected row positions and one of the plurality of rows of the plurality of rows to A row of the sub-matrix T is generated such that the sub-matrix T contains the selected row. 如請求項23之方法,其進一步包括:產生一記錄,該記錄相對於該同位校驗矩陣之一行之一位置編號追蹤該所選擇行之一位置編號。 The method of claim 23, further comprising: generating a record that tracks a location number of the selected row relative to a location number of one of the parity check matrices. 一種編碼設備,其包括:一輸入,其用以接收訊息資訊;及一模組,其用以產生具有該訊息資訊及同位資訊之諸 碼字,該模組經組態以基於根據一矩陣之一第一部分中之一第一子矩陣之至少一倒轉所計算之一第一方程式產生該同位資訊之一部分,該第一子矩陣包含具有一值為"1"之一對角線元素,該模組亦經組態以基於根據該矩陣之一第二部分中之至少一個三角形子矩陣所計算之一第二方程式產生該同位資訊之一額外部分;及一輸出,其用以提供該等碼字,其中該第一方程式包含p 2 =(Cm2 -1 Dm2)u,該第二方程式包含p 1 =T-1(Am2 p 2 +Bm2 u),其中p 1 p 2 表示該同位資訊之該等部分,Cm2表示一矩陣之該第一部分中之該第一子矩陣,T-1表示該三角形子矩陣之一倒轉,且Am2、Bm2及Dm2表示該矩陣之其他子矩陣,該矩陣具有一方塊結構An encoding device includes: an input for receiving message information; and a module for generating codewords having the message information and parity information, the module being configured to be based on a matrix One of the first equations calculated by at least one of the first sub-matrices in a first portion produces a portion of the isomorphic information, the first sub-matrix comprising a diagonal element having a value of "1", the mode The group is also configured to generate an additional portion of the parity information based on one of the second equations calculated from at least one of the triangular sub-matrices of the second portion of the matrix; and an output for providing the codewords Wherein the first equation comprises p 2 =(C m2 -1 D m2 ) u , the second equation comprises p 1 =T -1 (A m2 p 2 +B m2 u ), wherein p 1 and p 2 represent the For the portions of the parity information, C m2 represents the first sub-matrix in the first portion of a matrix, T -1 represents one of the triangular sub-matrices inverted, and A m2 , B m2 and D m2 represent the other matrix Submatrix, the matrix has a block structure . 一種編碼設備,其包括:一輸入,其用以接收訊息資訊;及一模組,其用以產生具有該訊息資訊及同位資訊之諸碼字,該模組經組態以基於根據一矩陣之一第一部分中之一第一子矩陣之至少一倒轉所計算之一第一方程式產生該同位資訊之一部分,該第一子矩陣包含具有一值為"1"之一對角線元素,該模組亦經組態以基於根據該矩陣之一第二部分中之至少一個三角形子矩陣所計算之一第二方程式產生該同位資訊之一額外部分;及一輸出,其用以提供該等碼字,其中該模組經組態以儲存該三角形子矩陣之該倒轉之諸元素,以及一矩陣之該第一部分中之該第一子矩陣之該倒轉之諸元素。 An encoding device includes: an input for receiving message information; and a module for generating codewords having the message information and parity information, the module being configured to be based on a matrix One of the first equations calculated by at least one of the first sub-matrices in a first portion produces a portion of the isomorphic information, the first sub-matrix comprising a diagonal element having a value of "1", the mode The group is also configured to generate an additional portion of the parity information based on one of the second equations calculated from at least one of the triangular sub-matrices of the second portion of the matrix; and an output for providing the codewords And wherein the module is configured to store the inverted elements of the triangular sub-matrix and the inverted elements of the first sub-matrix in the first portion of a matrix. 一種編碼設備,其包括:一輸入,其用以接收訊息資訊;及一模組,其用以產生具有該訊息資訊及同位資訊之諸碼字,該模組經組態以基於根據一矩陣之一第一部分中之一第一子矩陣之至少一倒轉所計算之一第一方程式產生該同位資訊之一部分,該第一子矩陣包含具有一值為"1"之一對角線元素,該模組亦經組態以基於根據該矩陣之一第二部分中之至少一個三角形子矩陣所計算之一第二方程式產生該同位資訊之一額外部分;及一輸出,其用以提供該等碼字,其中該模組經組態以儲存一低密度同位校驗碼之一同位校驗矩陣之諸元素,且其中該矩陣係自該同位校驗矩陣產生。 An encoding device includes: an input for receiving message information; and a module for generating codewords having the message information and parity information, the module being configured to be based on a matrix One of the first equations calculated by at least one of the first sub-matrices in a first portion produces a portion of the isomorphic information, the first sub-matrix comprising a diagonal element having a value of "1", the mode The group is also configured to generate an additional portion of the parity information based on one of the second equations calculated from at least one of the triangular sub-matrices of the second portion of the matrix; and an output for providing the codewords The module is configured to store elements of a parity check matrix of a low density parity check code, and wherein the matrix is generated from the parity check matrix. 如請求項29之設備,其中該模組經組態以儲存一記錄,該記錄連結該矩陣之行編號之至少一部分與該同位校驗矩陣之行編號之至少一部分。 The device of claim 29, wherein the module is configured to store a record that links at least a portion of the row number of the matrix to at least a portion of the row number of the parity check matrix. 一種編碼設備,其包括:一輸入,其用以接收訊息資訊;及一模組,其用以產生具有該訊息資訊及同位資訊之諸碼字,該模組經組態以基於根據一矩陣之一第一部分中之一第一子矩陣之至少一倒轉所計算之一第一方程式產生該同位資訊之一部分,該第一子矩陣包含具有一值為"1"之一對角線元素,該模組亦經組態以基於根據該矩陣之一第二部分中之至少一個三角形子矩陣所計算之一第二方程式產生該同位資訊之一額外部分;及 一輸出,其用以提供該等碼字,其中該模組包括具有用以儲存該等碼字之諸記憶體胞之一記憶體裝置。 An encoding device includes: an input for receiving message information; and a module for generating codewords having the message information and parity information, the module being configured to be based on a matrix One of the first equations calculated by at least one of the first sub-matrices in a first portion produces a portion of the isomorphic information, the first sub-matrix comprising a diagonal element having a value of "1", the mode The group is also configured to generate an additional portion of the parity information based on a second equation calculated from at least one of the triangular sub-matrices in the second portion of the matrix; and An output for providing the codewords, wherein the module includes a memory device having memory cells for storing the codewords. 一種電腦可讀儲存媒體,其包括當由一或多個處理器實施時執行以下操作之諸指令:自一低密度同位校驗碼之一同位校驗矩陣產生一第一矩陣,該第一矩陣具有在該第一矩陣之一第一部分中之一個三角形子矩陣;若該三角形子矩陣之列之一總數目係等於該同位校驗矩陣之秩,則至少部分地基於該第一矩陣產生用以編碼訊息資訊之同位資訊;及若該三角形子矩陣之列之該總數目係小於該同位校驗矩陣之該秩,則對該第一矩陣之一第二部分中之一第二子矩陣執行一個三角化運算以產生一第二矩陣,且至少部分地基於該第二矩陣產生用以編碼該訊息資訊之同位資訊。 A computer readable storage medium comprising instructions for, when implemented by one or more processors, to generate a first matrix from a parity check matrix of a low density parity check code, the first matrix Having a triangular submatrix in a first portion of the first matrix; if the total number of columns of the triangular submatrix is equal to the rank of the parity check matrix, based at least in part on the first matrix generation Coordinate information encoding the message information; and if the total number of columns of the triangular submatrix is less than the rank of the parity check matrix, performing one of the second submatrix of the second portion of the first matrix Triangulation operations to generate a second matrix, and based on the second matrix, generate parity information for encoding the message information. 如請求項32之電腦可讀儲存媒體,其中用以產生該第一矩陣之該操作包含在該同位校驗矩陣之複數個行當中隨機選擇若干行以產生該三角形子矩陣。 The computer readable storage medium of claim 32, wherein the operation to generate the first matrix comprises randomly selecting a plurality of rows among the plurality of rows of the parity check matrix to generate the triangular submatrix. 如請求項32之電腦可讀儲存媒體,其中用以對該第二子矩陣執行一個三角化運算之該操作包含對該第一矩陣之至少該第二部分之至少一個列執行一算術運算。 The computer readable storage medium of claim 32, wherein the operation of performing a triangulation operation on the second sub-matrix comprises performing an arithmetic operation on at least one of the at least one second portion of the first matrix. 如請求項34之電腦可讀儲存媒體,其中該等操作進一步包括:用以產生一記錄之一操作,該記錄相對於該同位校驗 矩陣之至少一個行之一位置編號追蹤該三角形子矩陣之至少一個行之一位置編號。 The computer readable storage medium of claim 34, wherein the operations further comprise: generating an operation of a record relative to the parity check A position number of at least one of the rows of the matrix tracks a position number of at least one of the rows of the triangular submatrix.
TW101112360A 2011-04-08 2012-04-06 Encoding and decoding techniques using low-density parity check codes TWI568197B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/083,341 US8839069B2 (en) 2011-04-08 2011-04-08 Encoding and decoding techniques using low-density parity check codes

Publications (2)

Publication Number Publication Date
TW201304430A TW201304430A (en) 2013-01-16
TWI568197B true TWI568197B (en) 2017-01-21

Family

ID=46967067

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101112360A TWI568197B (en) 2011-04-08 2012-04-06 Encoding and decoding techniques using low-density parity check codes

Country Status (7)

Country Link
US (2) US8839069B2 (en)
EP (1) EP2695300A4 (en)
JP (1) JP5913560B2 (en)
KR (1) KR101892319B1 (en)
CN (2) CN103534952B (en)
TW (1) TWI568197B (en)
WO (1) WO2012138662A2 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5269936B2 (en) * 2011-03-17 2013-08-21 株式会社東芝 Encoder and storage device
US8839069B2 (en) 2011-04-08 2014-09-16 Micron Technology, Inc. Encoding and decoding techniques using low-density parity check codes
US9785350B2 (en) * 2013-02-21 2017-10-10 Seagate Technology Llc Data storage device having a virtual machine
CN103151078B (en) * 2013-03-19 2015-08-12 中国科学院微电子研究所 A kind of storer error-detection error-correction code generating method
TWI536749B (en) * 2013-12-09 2016-06-01 群聯電子股份有限公司 Decoding method, memory storage device and memory controlling circuit unit
CN104733051B (en) * 2013-12-19 2018-01-05 群联电子股份有限公司 Coding/decoding method, memorizer memory devices and the control circuit unit of parity check code
RU2014104573A (en) * 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн SYSTEMS AND METHODS FOR CODING INCOMPLETE RANKING
KR102233371B1 (en) * 2014-06-24 2021-03-29 삼성전자주식회사 Method and apparatus for relaying in multicast network
US10268539B2 (en) * 2015-12-28 2019-04-23 Intel Corporation Apparatus and method for multi-bit error detection and correction
US10108487B2 (en) * 2016-06-24 2018-10-23 Qualcomm Incorporated Parity for instruction packets
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US20200081778A1 (en) * 2018-09-11 2020-03-12 Goke Us Research Laboratory Distributed storage system, method and apparatus
US11449577B2 (en) * 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
KR20230019636A (en) * 2021-08-02 2023-02-09 삼성전자주식회사 Method and apparatus for decoding of data in communication and broadcasting systems
JP2023045450A (en) * 2021-09-22 2023-04-03 キオクシア株式会社 Syndrome calculation circuit, error correction circuit, and memory system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033485A1 (en) * 2005-07-13 2007-02-08 Leanics Corporation Low-complexity hybrid LDPC code encoder
TW200939641A (en) * 2008-02-18 2009-09-16 Samsung Electronics Co Ltd Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
ES2282671T3 (en) 2002-07-03 2007-10-16 The Directv Group, Inc. CODIFICATION OF LOW DENSITY PARITY CHECK CODES (LDPC) USING A STRUCTURED PARITY CHECK MATRIX.
KR100906474B1 (en) * 2003-01-29 2009-07-08 삼성전자주식회사 Method of error-correction using a matrix for generating low density parity and apparatus thereof
KR100922956B1 (en) * 2003-10-14 2009-10-22 삼성전자주식회사 Method for encoding of low density parity check code
KR20050118056A (en) * 2004-05-12 2005-12-15 삼성전자주식회사 Method and apparatus for channel encoding and decoding in mobile communication systems using multi-rate block ldpc codes
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7543212B2 (en) 2004-09-13 2009-06-02 Idaho Research Foundation, Inc. Low-density parity-check (LDPC) encoder
FR2888061A1 (en) * 2005-07-01 2007-01-05 France Telecom METHOD AND SYSTEM FOR ENCODING A DATA SEQUENCE
CN100561878C (en) * 2005-11-24 2009-11-18 上海交通大学 LDPC code encoding method based on optimization searching matrix L U decomposition
KR101191196B1 (en) * 2006-06-07 2012-10-15 엘지전자 주식회사 Method of encoding and decoding using a parity check matrix
US8261155B2 (en) 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes
US7966548B2 (en) * 2007-06-29 2011-06-21 Alcatel-Lucent Usa Inc. Method and system for encoding data using rate-compatible irregular LDPC codes based on edge growth and parity splitting
US8196010B1 (en) * 2007-08-17 2012-06-05 Marvell International, Ltd. Generic encoder for low-density parity-check (LDPC) codes
EP2091156B1 (en) 2008-02-18 2013-08-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in a communication system using low-density parity-check codes
US20090282316A1 (en) * 2008-05-07 2009-11-12 Texas Instruments Incorporated Memory Access in Low-Density Parity Check Decoders
KR20090131230A (en) 2008-06-17 2009-12-28 삼성전자주식회사 Low density parity code encoding device and decoding device using at least two frequency bands
US8612823B2 (en) 2008-10-17 2013-12-17 Intel Corporation Encoding of LDPC codes using sub-matrices of a low density parity check matrix
KR20100058260A (en) 2008-11-24 2010-06-03 삼성전자주식회사 Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
KR101481431B1 (en) 2008-12-08 2015-01-12 삼성전자주식회사 Method for rearrange low-density parity-check matrix and apparatus using thereof
EP2202894B1 (en) * 2008-12-23 2011-11-02 Ntt Docomo, Inc. Relay station for a mobile communication system
EP2503698B1 (en) * 2009-11-17 2018-02-14 Mitsubishi Electric Corporation Error correction method and device, and communication system using the same
US8839069B2 (en) 2011-04-08 2014-09-16 Micron Technology, Inc. Encoding and decoding techniques using low-density parity check codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070033485A1 (en) * 2005-07-13 2007-02-08 Leanics Corporation Low-complexity hybrid LDPC code encoder
TW200939641A (en) * 2008-02-18 2009-09-16 Samsung Electronics Co Ltd Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
年2月28日公開文件Thomas J. Richardson and Rüdiger L. Urbanke"Efficient encoding of low-density parity-check codes" IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 47 *

Also Published As

Publication number Publication date
KR101892319B1 (en) 2018-08-27
CN103534952A (en) 2014-01-22
EP2695300A4 (en) 2014-10-22
KR20140031895A (en) 2014-03-13
TW201304430A (en) 2013-01-16
US20150039960A1 (en) 2015-02-05
US20120260144A1 (en) 2012-10-11
EP2695300A2 (en) 2014-02-12
CN107659382A (en) 2018-02-02
CN103534952B (en) 2017-10-10
JP2014510505A (en) 2014-04-24
JP5913560B2 (en) 2016-04-27
WO2012138662A2 (en) 2012-10-11
WO2012138662A3 (en) 2013-01-03
CN107659382B (en) 2020-10-16
US8839069B2 (en) 2014-09-16

Similar Documents

Publication Publication Date Title
TWI568197B (en) Encoding and decoding techniques using low-density parity check codes
KR101753498B1 (en) Updating Reliability Data
KR101668972B1 (en) Error detection and correction apparatus and method
US11740960B2 (en) Detection and correction of data bit errors using error correction codes
KR101264061B1 (en) Error correction mechanisms for flash memories
US10498364B2 (en) Error correction circuits and memory controllers including the same
US9710327B2 (en) Flash memory system and operating method thereof
US10936408B2 (en) Error correction of multiple bit errors per codeword
WO2009004601A3 (en) Generation of parity-check matrices
US20140095960A1 (en) Fully parallel encoding method and fully parallel decoding method of memory system
KR20120125891A (en) Memory controller and operating method of memory controller
US10243588B2 (en) Error correction code (ECC) decoders sharing logic operations, memory controllers including the error correction code decoders, and methods of decoding error correction codes
TWI702801B (en) Efficient ldpc encoder for irregular code
US10741212B2 (en) Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders
US20170214415A1 (en) Memory system using integrated parallel interleaved concatenation
US9960788B2 (en) Memory controller, semiconductor memory device, and control method for semiconductor memory device
US20140245096A1 (en) Single-bit error correction
US10291258B2 (en) Error correcting code for correcting single symbol errors and detecting double bit errors
TW202329147A (en) Memory device, error correction code circuit and operation method thereof
JP2006100941A (en) Signal processing apparatus, and coding method and decoding method of low density parity check code
CN110971240A (en) Decoder design method and memory controller
KR102021560B1 (en) Error bit search circuit, error check and correction circuit therewith, and memory device therewith
Yang et al. An MPCN-based BCH codec architecture with arbitrary error correcting capability
US20190056988A1 (en) H matrix generating circuit, operating method thereof and error correction circuit using h matrix generated by the same
JPS594741B2 (en) Block error detection and correction method