KR101722798B1 - Compact decoding of punctured codes - Google Patents
Compact decoding of punctured codes Download PDFInfo
- Publication number
- KR101722798B1 KR101722798B1 KR1020127004322A KR20127004322A KR101722798B1 KR 101722798 B1 KR101722798 B1 KR 101722798B1 KR 1020127004322 A KR1020127004322 A KR 1020127004322A KR 20127004322 A KR20127004322 A KR 20127004322A KR 101722798 B1 KR101722798 B1 KR 101722798B1
- Authority
- KR
- South Korea
- Prior art keywords
- matrix
- code
- codeword
- columns
- punctured
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 208
- 238000004891 communication Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 90
- 230000008030 elimination Effects 0.000 claims description 28
- 238000003379 elimination reaction Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 25
- 230000009467 reduction Effects 0.000 description 12
- 239000013598 vector Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- WURBVZBTWMNKQT-UHFFFAOYSA-N 1-(4-chlorophenoxy)-3,3-dimethyl-1-(1,2,4-triazol-1-yl)butan-2-one Chemical compound C1=NC=NN1C(C(=O)C(C)(C)C)OC1=CC=C(Cl)C=C1 WURBVZBTWMNKQT-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
- H03M13/6368—Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
- H03M13/6393—Rate compatible low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
- H04L1/0013—Rate matching, e.g. puncturing or repetition of code symbols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
- H04L1/0068—Rate matching by puncturing
- H04L1/0069—Puncturing patterns
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
Abstract
k 입력 비트는 m × n(n = m + k) 패리티 체크 매트릭스 H와 연관된 코드에 따라 인코딩된다. n' < n 인 비트를 가진 생성된 코드워드가 천공된다. 천공 코드워드는 통신 채널 또는 메모리와 같은 커럽팅 매체로 보내기 된다. 천공 코드 워드의 표본은 커럽팅 매체로부터 가져오기 되고 H 보다 작은 매트릭스 H'를사용하여 디코딩된다. 예를 들면 H'는 m' = m ~ (n-n') × n'이고, H의 선택된 로우를 병합하여 유도된다. 대안적으로, H는 최대 m개 로우와 n보다 작지만 n'와 동일하지 않은 컬럼을 가진다. 대안적으로 H는 m' = m - (n - n')보다 작은 로우와 n' 보다 작은 컬럼을 가진다.The k input bits are encoded according to the code associated with the mxn (n = m + k) parity check matrix H. The generated code word with bits n < n is punctured. The puncturing codeword is sent to a communication medium such as a communication channel or memory. A sample of the punctured codeword is taken from the kerning medium and decoded using a matrix H 'smaller than H. For example, H 'is derived from m' = m to (n-n ') x n' and merging the selected rows of H. Alternatively, H has at most m rows and columns less than n but not equal to n '. Alternatively, H has a row smaller than m '= m - (n - n') and a column smaller than n '.
Description
본 발명은 천공 코드(punctured code)에 관한 것으로, 구체적으로는 천공 코드워드(codeword)를 효율적으로 디코딩하기 위한 방법 및 장치에 관한 것이다.
The present invention relates to punctured codes, and more particularly to a method and apparatus for efficiently decoding puncturing codewords.
시변 채널(time-varying channels)에서의 통상적인 종래의 에러 제어 전략(strategy)은 속도 적응도(rate adaptability)로 언급되기도 하는 이용가능한 CSI(channel state information, 채널 상태 정보)에 따른 속도(rate)에 적응된다. 이와 같은 코딩 전략을 구현하는 하나의 효과적인 방법은 단일 코드를 사용하고 속도-호환가능한 방식(rate-compatible fashion)으로 코드를 천공하는 - 즉 속도 호환 가능 천공 코드(rate-compatible punctured code, RCPC) - 것이다. 이러한 방식에서, 전송기(transmitter)는 코드워드에 패리티 비트를 질서 정연하게 조직적으로 천공하며, 천공된 심볼의 위치가 수신기/수신기들에게 알려 진다. 저속(베이스 코드) 디코더는 다른 고속 디코더와 호환가능하기 때문에, RCPC는 속도 적응도를 위한 추가적인 복잡한 장치(complexity)가 필요하지 않다. 또한 자동 반복 요청(ARQ, automatic repeat request)와 연관하여 RCPC는 전송기가 계속하여 리둔던시(redundancies)를 전송하는 것을 허용한다.
A conventional conventional error control strategy in time-varying channels is a rate based on available CSI (channel state information), also referred to as rate adaptability, . One effective way to implement such a coding strategy is to use a single code and puncture the code in a rate-compatible fashion, i.e. rate-compatible punctured code (RCPC) will be. In this manner, the transmitter punctually and systematically punctures the parity bits in the codeword, and the location of the punctured symbols is known to the receivers / receivers. Because the low-rate (base-code) decoder is compatible with other high-speed decoders, the RCPC does not require the additional complexity of rate adaptation. Also, in conjunction with an automatic repeat request (ARQ), the RCPC allows the sender to continue to send redundancies.
생성기 매트릭스(generator matrix) Γ에 의해 정의되는 선형 블록 코드를 살펴본다. 정보 백터 b를 인코딩하기 위해, Γ는 b의 우변에 곱해져서 코드워드 백터 c가 생성된다.Let's look at the linear block code defined by the generator matrix Γ. To encode information vector b, Γ is multiplied by the right side of b to generate a codeword vector c.
c = bΓ (1)
c = b? (1)
Γ는 하나 이상의 패리트 체크 매트릭스 H와 연관되며, 코드의 모든 코드워드 백터 c에 대하여 다음의 매트릭스 방정식을 만족하는데, 예를 들면 백터가 방정식 (2)를 만족한다면 백터 c는 코드에 종속된다. Γ is associated with one or more parity check matrices H and satisfies the following matrix equation for all codeword vectors c of the code. For example, if vector satisfies equation (2), vector c is dependent on the code.
Hc = 0 (2)Hc = 0 (2)
일반적으로 Γ, H, c는 갈로아필드 GF(2) 상에서 정의되며, Γ, H, c의 엘리먼트들은 0 또는 1이며, 추가의 필드 엘리먼트는 정수 추가 모듈로 2(integer addition modulo 2)로 수행된다.
In general, Γ, H, and c are defined on the Galois field GF (2), the elements of Γ, H, and c are 0 or 1, and the additional field elements are implemented as integer addition modulo 2 do.
대부분의 경우, 속도 호환가능 천공 코드(RCPC)가 구현되면, 코드워드 c의 비트 중 일부분만이 채널 상에 전달되거나(통신 시나리오), 또는 메모리 장치에 저장된다(스토리지 어플리케이션). 전송된 비트의 위치는 (통신 시스템 또는 스토리지 장치의)전송기와 수신기 모두에게 알려진 것으로 가정된다. c'로 전송된 또는 저장된 비트는 서브-코드워드로서 c'로 언급된다. c'는 또한 본 명세서에서 "천공된 코드워드"로서 언급되기도 한다. 통신 수신기에 의해 수신된(또는 메모리 판독 장치에 의해 판독된) 비트는 통상적으로 c'의 노이즈 버전(noisy version)dlau, 이하에서는 c'의 '표본(representation)'으로 언급되기도 하지만, 표기의 재사용(resue of notation)에 의해 수신된 서브-코드는 여전히 c'로 표기될 수 있다.
In most cases, when a rate compatible puncturing code (RCPC) is implemented, only a fraction of the bits of the codeword c are either carried on the channel (communication scenario) or stored in the memory device (storage application). It is assumed that the location of the transmitted bits is known to both the transmitter and the receiver (of the communication system or storage device). The bit transmitted or stored in c 'is referred to as c' as a sub-codeword. c 'may also be referred to herein as "punctured code word ". The bit received (or read by the memory reading device) by the communication receiver is typically referred to as the 'noisy version' dlau of c ', hereinafter referred to as the' representation 'of c' the sub-code received by the resue of notation may still be denoted by c '.
서브-코드워드 c'의 표본을 제공한 c를 디코딩하는 종래의 방법은 천공 비트 c를 "소거(erasures)"로 취급된다. 디코딩 동안 비트가 c'에 삽입되어 c'의 비트 수는 c의 전체 수까지 백업되며, 이어서 원본 매트릭스 방정식(2)의 코드를 디코딩하는 한편 특정 값(소거)이 삽입 비트에 할당되어 디코딩이 수행된다. 천공 코드워드를 디코딩하는 이러한 절차는 이하 "소거 디코딩"으로서 언급한다.
The conventional way of decoding c providing a sample of sub-code word c 'is treated as "erasures" of puncturing bit c. During decoding, a bit is inserted into c 'so that the number of bits of c' is backed up to the total number of c, and then the code of the original matrix equation (2) is decoded while a specific value do. This procedure for decoding punctured codewords is referred to below as "erasure decoding ".
소거 디코딩의 완전한 예를 제공하기 위해 이하에는 저밀도 패리티 체크(LDPC, low density parity check) 코드에 대해 설명하도록 한다.
A low density parity check (LDPC) code will be described below to provide a complete example of erasure decoding.
LDPC 코드는 선형 2진 블록 코드(linear binary block code)이고, 그 패리티-체크 매트릭스 도는 매트릭스들 H는 저밀도(또는 희소, sparse)이다. 도 1에 도시한 바와 같이, LDPC 패리티 체크 매트릭스 H는 N 비트 노드(도 1에서 N=13)의 세트 V, M 체크 노드(도1에서 M=10)의 세트 C, 비트 노드와 체크 노드를 연결하는 에지(도 1에서 E=38)의 세트 E를 가지는 희소 이분(sparse bipartite) "태너 그래프(tanner graph)" G=(V,C,E)와 등가이다. 비트 코드는 코드워드 비트에 대응하고, 체크 노드는 비트 상의 패리티-체크 제한(constraints)에 대응한다. 하나의 비트 노드는 에지에 의해 체크 노드에 연결되며, 이 비트 노드가 참가된다. 도 1의 좌측 상의 코드의 매트릭스 표현(방정식 (2)의 매트릭스 H)에 있어서, 비트 노드 i와 체크 노드 j를 연결하는 에지는 로우(행) j와 컬럼(렬) i의 교차점에서 영이 아닌 매트릭스(이하 논제로 매트릭스, none-zero matrix) 엘리먼트에 의해 표시된다.
The LDPC code is a linear binary block code, and its parity-check matrix or matrix H is low density (or sparse). 1, the LDPC parity check matrix H includes a set V of N bits (N = 13 in FIG. 1), a set C of M check nodes (M = 10 in FIG. 1) Is equivalent to a sparse bipartite "tanner graph" G = (V, C, E) with a set E of connecting edges (E = The bit code corresponds to a code word bit, and the check node corresponds to parity-check constraints on a bit. One bit node is connected to the check node by an edge, and this bit node is joined. In the matrix representation of the code on the left side of Figure 1 (matrix H in equation (2)), the edge connecting the bit node i and the check node j is a non-zero matrix at the intersection of row (row) j and column (Hereinafter referred to as a "none-zero matrix") element.
다음으로 도 1의 최초 및 최종 체크 노드는 방정식(1)의 등가 로우를 나타낸다. 부호 ""는 "XOR"를 나타낸다.
Next, the first and last check nodes of FIG. 1 represent the equivalent rows of equation (1). sign " Quot; indicates "XOR ".
LDPC 코드는 반복 메시지 패싱 디코딩 알고리즘(iterative message passing decoding algorithms)을 사용하여 디코드될 수 있다. 이들 알고리즘은 코드를 나타내는 언더라인 이분 그래프의 에지를 따라 비트 노드와 체크 노드 사이에 메시지를 교환하는 것으로 동작된다. 디코더에는 코드 비트(통신 채널 출력 또는 판독된 메모리 컨텐츠에 기반함)의 초기 추정값(estimate)이 제공된다. 이들 초기 추정값은 패리티-체크 제한을 부가함으로서 정밀해지며 향상될 수 있느데, 비트는 방정식(2)에 따른 유효한 코드워드를 만족한다. 이는 그래프 에지를 따라 지나는 메시지를 사용하여, 코드워드 비트를 나타내는 비트 노드와 코드워드 비트 상의 패리티-체크 제한을 나타내는 체크 노드 사이의 정보 교환에 의해 수행된다.
The LDPC code may be decoded using iterative message passing decoding algorithms. These algorithms operate by exchanging messages between bit nodes and check nodes along the edge of an underline bipartite graph representing the code. The decoder is provided with an initial estimate of the code bits (based on the communication channel output or the read memory content). These initial estimates can be refined and improved by adding parity-check constraints, where the bits satisfy a valid codeword according to equation (2). This is done by exchanging information between a bit node representing a code word bit and a check node representing a parity-check restriction on a code word bit, using a message going along the graph edge.
반복적 디코딩 알고리즘에서, 비트 추정과 비트 추정의 신뢰성 모두가 얻어지는 "소프트" 비트 추정법을 사용하는 것이 공통적이다.
In a iterative decoding algorithm, it is common to use a "soft" bit estimation scheme in which both bit estimation and reliability of bit estimation are obtained.
그래프 에지를 따라 지나는 메시지에 의해 전달되는 비트 추정은 여러 형태로 표시될 수 있다. 비트 v의 소프트 추정법을 표시하는 공통의 척도(measure)는 대수-가능성비(log-likelihood ratio; LLR)와 같다.The bit estimates conveyed by a message going along a graph edge can be represented in various forms. A common measure representing the soft estimate of the bit v is equal to the log-likelihood ratio (LLR).
여기서 "current constraints and observations"이란, 이들 패리티 체크에 참여된 비트들에 대응하는, 통신 채널로부터 수신된 심볼의 시퀀스와 같은, 가까운 메시지의 계산과 관측(observations)을 고려하여 취해진 다양한 패리티-체크 제한이다. LLR의 부호(sign)는 비트 추정을 제공하는데 예를 들면 양(positive)의 LLR은 v=0에 대응하고, 음(negative)의 LLR은 v=1에 대응한다. LLR의 절대값 크기(magnitude)는 추정의 신뢰도를 제공하는데, 예를 들면 |LLR|=0은 추정이 완전히 신뢰될 수 없음을 의미하고, |LLR|= ±∞은 추정이 완전히 신뢰될 수 있고 비트값이 알려진 것을 의미한다.
Here, the term "current constraints and observations" refers to various parity-check constraints that are taken into account, such as the sequence of symbols received from the communication channel corresponding to the bits participating in these parity checks, to be. The sign of LLR provides a bit estimate, for example a positive LLR corresponds to v = 0 and a negative LLR corresponds to v = 1. The magnitude of the absolute magnitude of the LLR provides the reliability of the estimate, for example, | LLR | = 0 means that the estimate can not be fully trusted, and | LLR | = +/- ∞, Bit value is known.
"소거 디코딩"에 의한 천공 코드워드의 디코딩으로 돌아가서, H가 LLP 코드의 패리티-체크 매트릭스이라면, 디코딩은 H와 연계된 태너 그래프에 다라 수행되는 한편, 초기 LLR으로서 LLR=0이, 서브-코드워드 c'의 비트가 아닌 코드워드의 모든 비트(즉 c의 모든 천공 비트)에 할당된다.
Returning to decoding of punctured codewords by "erasure decoding ", if H is a parity-check matrix of LLP codes, decoding is performed on a tangent graph associated with H, while LLR = 0 as initial LLR, Is assigned to all bits of the codeword (i. E., All punctured bits of c) that are not bits of word c '.
이와 같은 소거 디코딩은 BCH 코드와 같은 다른 형태의 코드에 적용될 수도 있다.
Such erasure decoding may be applied to other types of codes, such as BCH codes.
일반적으로, "소거 디코딩"은 보통의 디코딩에 비해 보다 복잡하고 수렴(converges)이 느리다. 또한 통상적으로 코드는 조직 코드(systematic code)이고, 이는 리둔던시 비트를 데이터 비트에 부가함으로써 코드워드 c와 같은 입력 데이터 비트를 인코딩하고, 천공된 비트는 리둔던시 비트 중에서 선택되어, 실제 천공된 비트를 디코딩할 필요가 없다. 일반적으로 c의 정보 비트와 동일한, 서브-코드워드 c'를 직접 디코딩하고 정보 비트를 추출하는 방법은 상당한 이점이 있다.
Generally, "erasure decoding" is more complex and slower to converge than normal decoding. Also typically, the code is a systematic code, which encodes an input data bit such as codeword c by appending a rendition bit to the data bit, and the punctured bit is selected from the rendition bits, It is not necessary to decode the bit. The method of directly decoding the sub-code word c ', which is generally the same as the information bits of c, and extracting the information bits has a considerable advantage.
정의(defintions)Defintions
이하 설명할 본 발명의 방법은 2개 이상의 상이한 환경(circumstance)에서 천공 코드워드의 인코딩 및 디코딩에 적용가능하다. 하나의 환경은 저장 매체에 데이터를 저장하고, 저장 매체로부터 데이터를 검색(retrieving)하는 것이다. 다른 환경은 데이터를 전송 메체로 전송하고, 데이터를 전송 메체로부터 수신하는 것이다. 따라서 "저장(storing)"과 "전송(transmitting)"의 개념은 데이터 "보내기(exporting)"의 개념으로 일반화되고, "검색" 및 "수신"의 개념은 "가져오기(importing)"의 개념으로 일반화된다. 데이터 "저장" 및 "전송"은 모두 데이터 "보내기"의 특별한 경우이고, 데이터 "검색" 및 수신"은 모두 데이터 "가져오기" 특별한 경우이다. 데이터 "보내기"의 처리와 옵션적으로 데이터 "가져오기"의 처리는 본 명세서에서 데이터 "포팅(porting)"으로 사용될 수 있다.
The method of the present invention described below is applicable to the encoding and decoding of punctured codewords in two or more different circumstances. One environment is to store data on a storage medium and retrieve data from the storage medium. Another environment is to transmit data to the transmission medium and receive data from the transmission medium. Therefore, the concepts of "storing" and "transmitting" are generalized to the concept of data "exporting", and the concepts of "retrieving" and "receiving" are concepts of "importing" Generalized. Data "store" and "transfer" are all special cases of data "send" and data "retrieve" and "receive" are both special cases of data retrieval. Quot; on "may be used herein as data" porting. &Quot;
저장 매체의 일반적은 예는 메모리와 같은 것이고 전송 매체의 일반적인 예는 통신 채널과 같은 것이다. 저장 매체와 전송 매체 모두 "코럽트(corrupting)" 매체의 예이다. "코럽트" 매체는 매체로 보내기된 데이터에 에러가 발생되어 가져오기된 데이터가 보내기된 데이터오 동일하지 않을 수 있는 매체이다.
A common example of a storage medium is a memory and a common example of a transmission medium is a communication channel. Both the storage medium and the transmission medium are examples of "corrupting" media. "Corrupt" media is a medium in which the imported data may not be the same as the transmitted data due to an error in the data sent to the medium.
본 명세서에서 "인코딩"은 정보 백터(방정식 (1)의 "b")를 코드워드(방정식 (1)의 "c")로 변환하는 것을 의미하는 것으로 이해될 수 있다. 본 명세서에서 "디코딩"은 코드워드의 표본을를 최초의 인코딩된 정보 백터로 변환하는 것을 의미하는 것으로 이해될 수 있다. 코럽트 매체로부터 가져오기된, 디코딩된 것은 코드워드의 "표본(representation)"이지만 가져오기된 것은 보내기된 것에 대해서 노이즈에 의해 코럽팅(또는 변질)될 수 있기 때문에 코드워드 그 자체는 아니다. 엄밀히 이야기하면, 메시지 패싱에 의한 디코딩에 사용된 바와 같은 매트릭스 H 또는 등가의 태너 그래프는 원본의 코드워드를 재생성(reconstruct)하는데만 이용되고, 원본의 정보 백터를 제공하는데 이용되는 것은 아니지만, 원본의 코드워드가 주어지면 원본 정보 백터를 어떻게 복원(recover)할 것인지는 당업자에게 잘 알려져 있다. 또한, 조직 코드의 경우, 코드워드는 원본 정보 백터와 패리티 비트의 단순 연결이므로 원본 정보 백터는 용이하게 복원될 수 있다. 첨부된 청구의 범위에서 코드워드 표본을 디코딩할 정도로 매트릭스를 이용하는 것은 매트릭스가 코드워드의 표본을 디코딩하는데 사용될 수 있을 만큼 매트릭스를 이용하는 것을 의미하는 것으로 이해되어야 한다.
As used herein, "encoding" can be understood to mean the conversion of an information vector ("b" in equation (1)) into a codeword ("c" in equation (1)). As used herein, "decoding" can be understood to mean converting a sample of code words into the original encoded information vector. The decoded which is fetched from the coercive medium is a "representation" of the codeword, but not the codeword itself, since the fetched can be corrupted (or altered) by the noise on the transmitted. Strictly speaking, a matrix H or an equivalent tanner graph, as used for decoding by message passing, is only used to reconstruct the original code word and not used to provide the original information vector, It is well known to those skilled in the art how to recover a source information vector given a codeword. Also, in the case of the organization code, the codeword is a simple connection of the original information vector and the parity bit, so that the original information vector can be easily restored. It should be understood that using a matrix to the extent that it decodes a codeword sample in the appended claims means using the matrix such that the matrix can be used to decode a sample of codewords.
본 발명은 천공 코드워드(codeword)를 효율적으로 디코딩하기 위한 방법 및 장치를 제공하는 것을 목적으로 한다.
It is an object of the present invention to provide a method and apparatus for efficiently decoding a punctured codeword.
본 발명에 따르면 k 입력 비트를 포팅(porting)하는 방법이 제공되고, 이 방법은, (a) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 입력 비트를 인코딩하는 단계 - 그에 따라 n 비트의 코드워드가 생성됨 - ; (b) 코드워드를 천공하는 단계 - 그에 따라 n' < n 비트의 천공 코드워드가 제공됨 - ; (c) 천공 코드워드를 커럽팅 매체(corrupting medium)로 보내기(exporting)하는 단계; (d) 커럽팅 매체로부터 천공 코드워드의 표본(representation)을 가져오기(importing) 하는 단계; (e) H의 선택된 열을 병합하여 m' = m - (n - n') 로우와 n' 컬럼을 가진 매트릭스 H'를 유도하는 단계; 및 (f) 천공 코드워드의 표본을 디코딩하기 위해 H'를 사용하는 단계를 포함한다.
According to the present invention there is provided a method of porting k input bits comprising the steps of: (a) generating a first code associated with a parity check matrix H with m rows and n (n = m + k) Encoding an input bit according to a predetermined number of bits, whereby an n-bit code word is generated; (b) puncturing the codeword so that n < n bits of punctured codeword are provided; (c) exporting the punctured codeword to a corrupting medium; (d) importing a representation of the punctured codeword from the killing medium; (e) merging selected columns of H to derive a matrix H 'with m' = m - (n - n ') row and n'columns; And (f) using H 'to decode a sample of the punctured codeword.
본 발명에 따르면 메모리 장치가 제공되고, 이 메모리 장치는,According to the present invention there is provided a memory device,
(a) 메모리, (b) 상기 메모리에 k 입력 비트를 저장하고 메모리로부터 입력 비트를 회복시키는 제어기를 포함하고, 상기 제어기는, (a) a memory, (b) a controller for storing the k input bits in the memory and recovering input bits from the memory,
(i) 인코더 - 상기 인코더는,(i) Encoder -
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하고,(A) encoding an input bit according to a code associated with a parity check matrix H with m rows and n (n = m + k) columns to generate an n-bit code word,
(B) 코드워드를 천공하여 n 보다 작은 천공된 코드워드를 제공함 - ;(B) puncturing a code word to provide a punctured code word less than n;
(ii) 디코더 - 상기 디코더는 메모리로부터 판독된 천공 코드워드의 표본을 디코딩하고, 여기서 디코딩은 m' = m - (n - n') 로우와 n' 컬럼을 가진 매트릭스 H'를 사용하여 이루어지고 H'는 H의 선택된 열을 병합하는 것에 의해 H로부터 유도된다.
(ii) Decoder - The decoder decodes a sample of punctured codewords read from memory, where decoding is done using a matrix H 'with m' = m - (n-n ') row and n' columns H 'is derived from H by merging the selected columns of H.
본 발명의 다른 실시예에 따르면 시스템이 제공되고, 이 시스템은,According to another embodiment of the present invention, a system is provided,
(a) 제1 메모리; 및(a) a first memory; And
(b) 제1 메모리의 호스트를 포함하고,(b) a host of the first memory,
상기 호스트는, (i) 제1 메모리를 관리하기 위한 코드가 저장되어 있는 제2 메모리 및 (ii) 상기 코드를 실행하기 위한 프로세서를 포함하고, Wherein the host comprises: (i) a second memory in which a code for managing a first memory is stored, and (ii) a processor for executing the code,
상기 제1 메모리는,The first memory comprising:
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하는 단계,(A) encoding a k input bit according to a code associated with a parity check matrix H having m rows and n (n = m + k) columns,
(B) 코드워드를 천공하여 n' < n 의 천공된 코드워드를 제공하는 단계,(B) puncturing the codeword to provide a punctured codeword of n '< n,
(C) 제1 메모리에 천공 코드워드를 저장하는 단계,(C) storing a punctured codeword in a first memory,
(D) 제1 메모리로부터 천공 코드워드의 표본을 판독하는 단계,(D) reading a sample of punctured codewords from a first memory,
(E) m' = m - (n - n') 로우와 n' 컬럼을 가지고 H의 선택된 열을 병합하는 것에 의해 H로부터 유도되는 매트릭스 H'를사용하여 천공 코드워드의 표본을 디코딩하는 단계를 포함하는 단계에 의해 관리된다.
(E) decoding a sample of the punctured codeword using matrix H 'derived from H by merging the selected columns of H with m' = m - (n - n ') rows and n' And the like.
본 발명의 다른 실시예에 따르면 메모리를 관리하기 위한 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체가 제공되고, According to another embodiment of the present invention there is provided a computer-readable storage medium having recorded thereon a computer-readable code for managing a memory,
상기 컴퓨터 판독가능한 코드는,The computer readable code comprising:
(a) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하는 프로그램 코드,(a) program code for encoding an k input bit according to a code associated with a parity check matrix H with m rows and n (n = m + k) columns to produce an n-bit code word,
(b) 코드워드를 천공하여 n' < n 비트의 천공된 코드워드를 제공하는 프로그램 코드,(b) program code for puncturing a codeword to provide a punctured codeword of n '< n bits,
(c) 메모리에 천공 코드워드를 저장하는 프로그램 코드,(c) program code for storing puncturing codewords in the memory,
(d) 메모리로부터 천공 코드워드의 표본을 판독하는 프로그램 코드,(d) program code for reading a specimen of punctured codewords from memory,
(e) m' = m - (n - n') 로우와 n' 컬럼을 가지고 H의 선택된 열을 병합하는 것에 의해 H로부터 유도되는 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 프로그램 코드;를 포함한다.
(e) program code for decoding a sample of punctured codewords using matrix H 'derived from H by m' = m - (n-n ') row and n' columns and merging selected columns of H .
본 발명의 다른 실시예에 따르면 (a) 전송 장치와 (b) 수신 장치를 포함하는 통신 시스템이 제공되고, (a) 전송 장치는 (i) 인코더 및 (ii) 변조기를 포함하고, (b) 수신 장치는 (i) 복조기 및 (ii) 디코더를 포함하며,According to another embodiment of the present invention, there is provided a communication system including (a) a transmission apparatus and (b) a reception apparatus, wherein (a) the transmission apparatus includes (i) an encoder and (ii) The receiving apparatus includes (i) a demodulator and (ii) a decoder,
(i) 인코더는, (i)
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하고,(A) encoding a k input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to produce an n-bit code word,
(B) 코드워드를 천공하여 n 보다 작은 천공된 코드워드를 제공하며,(B) puncturing a code word to provide a punctured code word less than n,
(ii) 변조기는 통신 채널을 통해 변조된 신호로서 천공 코드워드를 전송하고,(ii) the modulator transmits a punctured codeword as a modulated signal over a communication channel,
(i) 복조기는 통신 채널로부터 변조된 신호를 수신하고 변조된 신호를 복조하여 천공 코드워드의 표본을 제공하고,(i) a demodulator receives a modulated signal from a communication channel and demodulates the modulated signal to provide a sample of punctured codewords,
(ii) 디코더는 m' = m - (n - n') 로우와 n' 컬럼을 가지고 H의 선택된 열을 병합하는 것에 의해 H로부터 유도되는 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩한다.
(ii) The decoder decodes a sample of punctured codewords using a matrix H 'derived from H by merging the selected columns of H with m' = m - (n-n ') rows and n' .
본 발명의 다른 실시예에 따르면 m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 n비트의 코드워드로서 인코딩되고 n-n' 선택된 비트를 코드워드로부터 제거하여 생성된 천공 코드워드로서 커럽팅 매체로 보내기된 k 입력 비트를 회복하기 위한 방법이 제공되고, 이 방법은,In accordance with another embodiment of the present invention, an n-bit code word is encoded according to a first code associated with a parity check matrix H with m rows and n (n = m + k) There is provided a method for recovering a k input bit sent to a killing medium as a punctured code word generated by removing a k input bit from a k-
(a) 커럽팅 매체로부터 천공 코드워드의 표본(representation)을 가져오기(importing) 하는 단계; (a) importing a representation of a punctured codeword from a corrupting medium;
(b) m' = m - (n - n') 로우와 n' 컬럼을 가지고 H의 선택된 열을 병합하는 것에 의해 H로부터 H'를 유도하는 단계;(b) deriving H 'from H by merging a selected column of H with m' = m - (n-n ') row and n' columns;
(c) 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하기 위해 H'를사용하는 단계를 포함한다.
(c) using H 'to decode a sample of the punctured codeword using the matrix H'.
본 발명의 다른 실시예에 따르면 천공 코드워드의 표본을 디코딩하기 위한 디코더가 제공되고, 여기서, 상기 천공 코드워드는 n 비트의 코드워드로부터 n-n' 선택된 비트를 제거하여 생성되고, 상기 코드워드는 k 입력 비트를 m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 인코딩하여 생성되며, 이 디코더는,According to another embodiment of the present invention there is provided a decoder for decoding a punctured codeword sample, wherein the punctured codeword is generated by removing nn 'selected bits from an n-bit codeword, Is generated by encoding an input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns,
(a) m' = m - (n - n') 로우와 n' 컬럼을 가지고 H의 선택된 열을 병합하는 것에 의해 H로부터 유도된 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 디코딩 모듈을 포함한다.
(a) a decoding module that decodes a sample of punctured codewords using a matrix H 'derived from H by merging selected columns of H with m' = m - (n-n ') rows and n' .
본 발명의 다른 실시예에 따르면 수신기가 제공되고, 이 수신기는,According to another embodiment of the present invention, there is provided a receiver,
(a) 통신 채널로부터 변조된 신호를 수신하고, 변조된 신호를 복조하여 n 비트의 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드의 표본을 제공하는 복조기 - 여기서 코드워드는 k 입력 비트를 m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 인코딩하여 생성됨 - ; 및 (a) a demodulator that receives a modulated signal from a communication channel and provides a sample of the punctured codeword generated by demodulating the modulated signal to remove nn 'selected bits from the n-bit codeword, wherein the codeword is a k input Bits in accordance with a first code associated with a parity check matrix H with m rows and n columns (n = m + k); And
(b) m' = m - (n - n') 로우와 n' 컬럼을 가지고 H의 선택된 열을 병합하는 것에 의해 H로부터 유도된 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 디코딩 모듈을 포함한다.
(b) a decoding module that decodes a sample of punctured codewords using a matrix H 'derived from H by merging selected columns of H with m' = m - (n-n ') rows and n' .
본 발명의 다른 실시예에 따르면, k 입력 비트를 포팅(porting)하는 방법이 제공되고, 이 방법은, (a) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 입력 비트를 인코딩하는 단계 - 그에 따라 n 비트의 코드워드가 생성됨 - ; (b) 코드워드를 천공하는 단계 - 그에 따라 n' < n 비트의 천공 코드워드가 제공됨 - ; (c) 천공 코드워드를 커럽팅 매체(corrupting medium)로 보내기(exporting)하는 단계; (d) 커럽팅 매체로부터 천공 코드워드의 표본(representation)을 가져오기(importing) 하는 단계; (e) 최대 m개의 로우와 n개 보다 작고 n'보다 큰 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계를 포함한다.
According to another embodiment of the present invention there is provided a method of porting k input bits comprising the steps of (a) generating a parity check matrix H with m rows and n (n = m + k) Encoding an input bit in accordance with a code associated with the code word, whereby an n-bit code word is generated; (b) puncturing the codeword so that n < n bits of punctured codeword are provided; (c) exporting the punctured codeword to a corrupting medium; (d) importing a representation of the punctured codeword from the killing medium; (e) decoding a sample of the punctured codeword using a matrix H 'having at most m rows and columns smaller than n and greater than n'.
본 발명의 다른 실시예에 따르면 메모리 장치가 제공되고, 이 메모리 장치는, (a) 메모리, (b) 상기 메모리에 k 입력 비트를 저장하고 메모리로부터 입력 비트를 회복시키는 제어기를 포함하고, 상기 제어기는,According to another embodiment of the present invention, there is provided a memory device comprising: (a) a memory, (b) a controller for storing k input bits in the memory and recovering input bits from memory, Quot;
(i) 인코더 - 상기 인코더는,(i) Encoder -
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하고,(A) encoding an input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to produce an n-bit code word,
(B) 코드워드를 천공하여 n 보다 작은 천공된 코드워드를 제공함 - ;(B) puncturing a code word to provide a punctured code word less than n;
(ii) 디코더 - 상기 디코더는 최대 m개의 로우와 n 보다 작고 n'보다 큰 컬럼 수를 가진 매트릭스 H'를 사용하여 메모리로부터 판독된 천공 코드워드의 표본을 디코딩함;를 포함한다.
(ii) Decoder - The decoder includes decoding a sample of punctured codewords read from memory using up to m rows and a matrix H 'having a number of columns smaller than n and greater than n'.
본 발명의 다른 실시예에 따르면 시스템이 제공되고, 이 시스템은,According to another embodiment of the present invention, a system is provided,
(a) 제1 메모리; 및 (b) 제1 메모리의 호스트를 포함하고,(a) a first memory; And (b) a host in the first memory,
상기 호스트는, (i) 제1 메모리를 관리하기 위한 코드가 저장되어 있는 제2 메모리 및 (ii) 상기 코드를 실행하기 위한 프로세서를 포함하고,Wherein the host comprises: (i) a second memory in which a code for managing a first memory is stored, and (ii) a processor for executing the code,
상기 제1 메모리는,The first memory comprising:
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하는 단계,(A) encoding a k input bit according to a code associated with a parity check matrix H having m rows and n (n = m + k) columns,
(B) 코드워드를 천공하여 n' < n 의 천공된 코드워드를 제공하는 단계,(B) puncturing the codeword to provide a punctured codeword of n '< n,
(C) 제1 메모리에 천공 코드워드를 저장하는 단계,(C) storing a punctured codeword in a first memory,
(D) 제1 메모리로부터 천공 코드워드의 표본을 판독하는 단계,(D) reading a sample of punctured codewords from a first memory,
(E) 최대 m개의 로우와 n 보다 작고 n'보다 큰 컬럼 수를 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계에 의해 관리된다.
(E) decoding a sample of the punctured codeword using a matrix H 'having at most m rows and a number of columns that is less than n and greater than n'.
본 발명의 다른 실시예에 따르면 메모리를 관리하기 위한 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체가 제공되고,According to another embodiment of the present invention there is provided a computer-readable storage medium having recorded thereon a computer-readable code for managing a memory,
상기 컴퓨터 판독가능한 코드는,The computer readable code comprising:
(a) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하는 프로그램 코드,(a) program code for encoding an k input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to generate an n-bit code word,
(b) 코드워드를 천공하여 n' < n 비트의 천공된 코드워드를 제공하는 프로그램 코드,(b) program code for puncturing a codeword to provide a punctured codeword of n '< n bits,
(c) 메모리에 천공 코드워드를 저장하는 프로그램 코드,(c) program code for storing puncturing codewords in the memory,
(d) 메모리로부터 천공 코드워드의 표본을 판독하는 프로그램 코드,(d) program code for reading a specimen of punctured codewords from memory,
(e) 최대 m개의 로우와 n 보다 작고 n'보다 큰 컬럼 수를 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 프로그램 코드를 포함한다.
(e) program code for decoding samples of the punctured codeword using a matrix H 'having a maximum of m rows and a number of columns less than n and greater than n'.
본 발명의 다른 실시예에 따르면 (a) 전송 장치와 (b) 수신 장치를 포함하는 통신 시스템이 제공되고, (a) 전송 장치는 (i) 인코더 및 (ii) 변조기를 포함하고, (b) 수신 장치는 (i) 복조기 및 (ii) 디코더를 포함하며,According to another embodiment of the present invention, there is provided a communication system including (a) a transmission apparatus and (b) a reception apparatus, wherein (a) the transmission apparatus includes (i) an encoder and (ii) The receiving apparatus includes (i) a demodulator and (ii) a decoder,
(i) 인코더는, (i)
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하고,(A) encoding a k input bit according to a code associated with a parity check matrix H having m rows and n (n = m + k) columns, to generate an n-bit code word,
(B) 코드워드를 천공하여 n 보다 작은 천공된 코드워드를 제공하며,(B) puncturing a code word to provide a punctured code word less than n,
(ii) 변조기는 통신 채널을 통해 변조된 신호로서 천공 코드워드를 전송하고,(ii) the modulator transmits a punctured codeword as a modulated signal over a communication channel,
(i) 복조기는 통신 채널로부터 변조된 신호를 수신하고 변조된 신호를 복조하여 천공 코드워드의 표본을 제공하고,(i) a demodulator receives a modulated signal from a communication channel and demodulates the modulated signal to provide a sample of punctured codewords,
(ii) 디코더는 천공 코드워드의 표본을 최대 m개의 로우와 n 보다 작고 n'보다 큰 컬럼 수를 가진 매트릭스 H'를 사용하여 디코딩한다.
(ii) The decoder decodes a sample of the punctured codeword using up to m rows and a matrix H 'having a number of columns smaller than n and greater than n'.
본 발명의 다른 실시예에 따르면, m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 n비트의 코드워드로서 인코딩되고 n-n' 선택된 비트를 코드워드로부터 제거하여 생성된 천공 코드워드로서 커럽팅 매체로 보내기된 k 입력 비트를 회복하기 위한 방법이 제공되고, 이 방법은,According to another embodiment of the present invention, a code is encoded as an n-bit code word according to a first code associated with a parity check matrix H with m rows and n (n = m + k) There is provided a method for recovering a k input bit sent to a killing medium as a punctured code word generated by removing from a word,
(a) 커럽팅 매체로부터 천공 코드워드의 표본(representation)을 가져오기(importing) 하는 단계;(a) importing a representation of a punctured codeword from a corrupting medium;
(b) 최대 m개의 로우와 n 보다 작고 n'보다 큰 컬럼 수를 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계를 포함한다.
(b) decoding a sample of the punctured codeword using a matrix H 'having a maximum of m rows and a number of columns less than n and greater than n'.
본 발명의 다른 실시예에 따르면 천공 코드워드의 표본을 디코딩하기 위한 디코더가 제공되고, 여기서, 상기 천공 코드워드는 n 비트의 코드워드로부터 n-n' 선택된 비트를 제거하여 생성되고, 상기 코드워드는 k 입력 비트를 m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 인코딩하여 생성되고, According to another embodiment of the present invention there is provided a decoder for decoding a punctured codeword sample, wherein the punctured codeword is generated by removing nn 'selected bits from an n-bit codeword, Is generated by encoding an input bit according to a code associated with a parity check matrix H with m rows and n (n = m + k) columns,
(a) 최대 m개의 로우와 n 보다 작고 n'보다 큰 컬럼 수를 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 디코딩 모듈을 포함한다.
(a) a decoding module that decodes a sample of punctured codewords using matrices H 'having a maximum of m rows and a number of columns less than n and greater than n'.
본 발명의 다른 실시예에 따르면 수신기가 제공되고, 이 수신기는,According to another embodiment of the present invention, there is provided a receiver,
(a) 통신 채널로부터 변조된 신호를 수신하고, 변조된 신호를 복조하여 n 비트의 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드의 표본을 제공하는 복조기 - 여기서 코드워드는 k 입력 비트를 m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 인코딩하여 생성됨 - ; 및(a) a demodulator that receives a modulated signal from a communication channel and provides a sample of the punctured codeword generated by demodulating the modulated signal to remove nn 'selected bits from the n-bit codeword, wherein the codeword is a k input Bit by encoding according to a code associated with a parity check matrix H with m rows and n (n = m + k) columns; And
(b) 최대 m개의 로우와 n 보다 작고 n'보다 큰 컬럼 수를 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 디코딩 모듈을 포함한다.
(b) a decoding module that decodes a sample of the punctured codeword using a matrix H 'having at most m rows and a number of columns less than n and greater than n'.
본 발명의 다른 실시예에 따르면, k 입력 비트를 포팅(porting)하는 방법이 제공되고, 이 방법은, (a) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 입력 비트를 인코딩하는 단계 - 그에 따라 n 비트의 코드워드가 생성됨 - ; (b) 코드워드를 천공하는 단계 - 그에 따라 n' < n 비트의 천공 코드워드가 제공됨 - ; (c) 천공 코드워드를 커럽팅 매체(corrupting medium)로 보내기(exporting)하는 단계; (d) 커럽팅 매체로부터 천공 코드워드의 표본(representation)을 가져오기(importing) 하는 단계; (e) m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계를 포함한다.
According to another embodiment of the present invention there is provided a method of porting k input bits comprising the steps of (a) generating a parity check matrix H with m rows and n (n = m + k) Encoding an input bit in accordance with a code associated with the code word, whereby an n-bit code word is generated; (b) puncturing the codeword so that n < n bits of punctured codeword are provided; (c) exporting the punctured codeword to a corrupting medium; (d) importing a representation of the punctured codeword from the killing medium; (e) decoding a sample of the punctured codeword using a matrix H 'having a row less than m' = m - (n - n ') and a column less than n'.
본 발명의 다른 실시예에 따르면 메모리 장치가 제공되고, 이 메모리 장치는, (a) 메모리, (b) 상기 메모리에 k 입력 비트를 저장하고 메모리로부터 입력 비트를 회복시키는 제어기를 포함하고, 상기 제어기는,According to another embodiment of the present invention, there is provided a memory device comprising: (a) a memory, (b) a controller for storing k input bits in the memory and recovering input bits from memory, Quot;
(i) 인코더 - 상기 인코더는,(i) Encoder -
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하고,(A) encoding an input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to produce an n-bit code word,
(B) 코드워드를 천공하여 n 보다 작은 천공된 코드워드를 제공함 - ;(B) puncturing a code word to provide a punctured code word less than n;
(ii) 디코더 - 상기 디코더는 m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진 매트릭스 H'를 사용하여 메모리로부터 판독된 천공 코드워드의 표본을 디코딩함;를 포함한다.
(ii) Decoder - The decoder decodes a sample of punctured codewords read from memory using a matrix H 'with columns less than m' = m - (n - n ') and columns less than n'; .
본 발명의 다른 실시예에 따르면 시스템이 제공되고, 이 시스템은,According to another embodiment of the present invention, a system is provided,
(a) 제1 메모리; 및 (b) 제1 메모리의 호스트를 포함하고,(a) a first memory; And (b) a host in the first memory,
상기 호스트는, (i) 제1 메모리를 관리하기 위한 코드가 저장되어 있는 제2 메모리 및 (ii) 상기 코드를 실행하기 위한 프로세서를 포함하고,Wherein the host comprises: (i) a second memory in which a code for managing a first memory is stored, and (ii) a processor for executing the code,
상기 제1 메모리는,The first memory comprising:
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하는 단계,(A) encoding a k input bit according to a code associated with a parity check matrix H having m rows and n (n = m + k) columns,
(B) 코드워드를 천공하여 n' < n 의 천공된 코드워드를 제공하는 단계,(B) puncturing the codeword to provide a punctured codeword of n '< n,
(C) 제1 메모리에 천공 코드워드를 저장하는 단계,(C) storing a punctured codeword in a first memory,
(D) 제1 메모리로부터 천공 코드워드의 표본을 판독하는 단계,(D) reading a sample of punctured codewords from a first memory,
(E) m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계에 의해 관리된다.
(E) decoding a sample of the punctured codeword using a matrix H 'having a row less than m' = m - (n - n ') and a column less than n'.
본 발명의 다른 실시예에 따르면 메모리를 관리하기 위한 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체가 제공되고,According to another embodiment of the present invention there is provided a computer-readable storage medium having recorded thereon a computer-readable code for managing a memory,
상기 컴퓨터 판독가능한 코드는,The computer readable code comprising:
(a) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하는 프로그램 코드,(a) program code for encoding an k input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to generate an n-bit code word,
(b) 코드워드를 천공하여 n' < n 비트의 천공된 코드워드를 제공하는 프로그램 코드,(b) program code for puncturing a codeword to provide a punctured codeword of n '< n bits,
(c) 메모리에 천공 코드워드를 저장하는 프로그램 코드,(c) program code for storing puncturing codewords in the memory,
(d) 메모리로부터 천공 코드워드의 표본을 판독하는 프로그램 코드,(d) program code for reading a specimen of punctured codewords from memory,
(e) m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 프로그램 코드를 포함한다.
(e) program code for decoding a sample of the punctured codeword using a matrix H 'having a row less than m' = m - (n - n ') and a column less than n'.
본 발명의 다른 실시예에 따르면 (a) 전송 장치와 (b) 수신 장치를 포함하는 통신 시스템이 제공되고, (a) 전송 장치는 (i) 인코더 및 (ii) 변조기를 포함하고, (b) 수신 장치는 (i) 복조기 및 (ii) 디코더를 포함하며,According to another embodiment of the present invention, there is provided a communication system including (a) a transmission apparatus and (b) a reception apparatus, wherein (a) the transmission apparatus includes (i) an encoder and (ii) The receiving apparatus includes (i) a demodulator and (ii) a decoder,
(i) 인코더는, (i)
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하고,(A) encoding a k input bit according to a code associated with a parity check matrix H having m rows and n (n = m + k) columns, to generate an n-bit code word,
(B) 코드워드를 천공하여 n 보다 작은 천공된 코드워드를 제공하며,(B) puncturing a code word to provide a punctured code word less than n,
(ii) 변조기는 통신 채널을 통해 변조된 신호로서 천공 코드워드를 전송하고,(ii) the modulator transmits a punctured codeword as a modulated signal over a communication channel,
(i) 복조기는 통신 채널로부터 변조된 신호를 수신하고 변조된 신호를 복조하여 천공 코드워드의 표본을 제공하고,(i) a demodulator receives a modulated signal from a communication channel and demodulates the modulated signal to provide a sample of punctured codewords,
(ii) 디코더는 천공 코드워드의 표본을 m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진 매트릭스 H'를 사용하여 디코딩한다.
(ii) The decoder decodes a sample of the punctured codeword using a matrix H 'with columns smaller than m' = m - (n - n ') and columns smaller than n'.
본 발명의 다른 실시예에 따르면, m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 n비트의 코드워드로서 인코딩되고 n-n' 선택된 비트를 코드워드로부터 제거하여 생성된 천공 코드워드로서 커럽팅 매체로 보내기된 k 입력 비트를 회복하기 위한 방법이 제공되고, 이 방법은,According to another embodiment of the present invention, a code is encoded as an n-bit code word according to a first code associated with a parity check matrix H with m rows and n (n = m + k) There is provided a method for recovering a k input bit sent to a killing medium as a punctured code word generated by removing from a word,
(a) 커럽팅 매체로부터 천공 코드워드의 표본(representation)을 가져오기(importing) 하는 단계;(a) importing a representation of a punctured codeword from a corrupting medium;
(b) m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계를 포함한다.
(b) decoding a sample of the punctured codeword using a matrix H 'having a row less than m' = m - (n-n ') and a column less than n'.
본 발명의 다른 실시예에 따르면 천공 코드워드의 표본을 디코딩하기 위한 디코더가 제공되고, 여기서, 상기 천공 코드워드는 n 비트의 코드워드로부터 n-n' 선택된 비트를 제거하여 생성되고, 상기 코드워드는 k 입력 비트를 m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 인코딩하여 생성되고, According to another embodiment of the present invention there is provided a decoder for decoding a punctured codeword sample, wherein the punctured codeword is generated by removing nn 'selected bits from an n-bit codeword, Is generated by encoding an input bit according to a code associated with a parity check matrix H with m rows and n (n = m + k) columns,
(a) m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 디코딩 모듈을 포함한다.
(a) a decoding module that decodes a sample of the punctured codeword using a matrix H 'having a row less than m' = m - (n - n ') and a column less than n'.
본 발명의 다른 실시예에 따르면 수신기가 제공되고, 이 수신기는,According to another embodiment of the present invention, there is provided a receiver,
(a) 통신 채널로부터 변조된 신호를 수신하고, 변조된 신호를 복조하여 n 비트의 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드의 표본을 제공하는 복조기 - 여기서 코드워드는 k 입력 비트를 m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 코드에 따라 인코딩하여 생성됨 - ; 및(a) a demodulator that receives a modulated signal from a communication channel and provides a sample of the punctured codeword generated by demodulating the modulated signal to remove nn 'selected bits from the n-bit codeword, wherein the codeword is a k input Bit by encoding according to a code associated with a parity check matrix H with m rows and n (n = m + k) columns; And
(b) m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 디코딩 모듈을 포함한다.
(b) a decoding module that decodes a sample of the punctured codeword using a matrix H 'having a row less than m' = m - (n - n ') and a column less than n'.
k 입력 비트를 포팅하기 위한 제1 방법의 대부분의 실시예에서, 입력 비트는 m × n 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 인코딩되고, 여기서 n = m + k 이다. 인코딩 절차는 n 비트의 코드워드를 생성한다. n 비트 코드워드는 천공되고 그에 따라 n' < n 인 비트의 천공된 코드워드가 제공된다. 천공된 코드워드는 커럽팅 매체로 보내기된다. 천공 코드워드의 표본은 커럽팅 매체로부터 가져오기 된다. 천공 코드워드의 표본은 H 보다 작은 H'를사용하여 디코딩되는데, H' = m' = m - (n - n') 로우와 n' 컬럼을 가진다. H'는 H의 선택된 로우를 병합하여 H로부터 유도된다.
In most embodiments of the first method for porting k input bits, the input bits are encoded according to a first code associated with the mxn parity check matrix H, where n = m + k. The encoding procedure produces an n-bit code word. The n-bit codeword is punctured so that a punctured codeword of bits of n '< n is provided. The punctured codeword is sent to the calling medium. A sample of the punctured codeword is taken from the calling media. A sample of punctured codewords is decoded using H 'less than H, with H' = m '= m - (n - n') rows and n 'columns. H 'is derived from H by combining the selected rows of H.
바람직하게, 제1 코드는 블록 코드이다.
Preferably, the first code is a block code.
바람직하게, H'는 제2 코드의 패리티 체크 매트릭스이고 천공 코드워드는 제2 코드의 코드워드이다.
Preferably, H 'is the parity check matrix of the second code and the punctured codeword is the codeword of the second code.
이 방법의 대부분의 실시예에서, m은 짝수, m' = m / 2, n' = n - m'이고, H'는 H의 로우 쌍을 병합하여 유도된다. 바람직하게 H'는 H의 연속된 로우 쌍을 병합하는 것으로 H로부터 유도된다.
In most embodiments of this method, m is an even number, m '= m / 2, n' = n - m 'and H' is derived by merging the row pair of H. Preferably H ' is derived from H by incorporating a consecutive row pair of H.
바람직하게, 디코딩은 LDPC와 같이 H'의 로우와 컬럼 사이에서 메시지를 교환하는 것을 포함한다. 전술한 바와 같이, 패리티 체크 매트릭스의 로우와 컬럼 사이의 메시지 교환은 태너 그래프의 비트 노드와 체크 노드 사이의 메시지 교환과 등가이다.
Preferably, decoding includes exchanging messages between rows and columns of H ', such as LDPC. As described above, the exchange of messages between the rows and columns of the parity check matrix is equivalent to the exchange of messages between the bit nodes of the tanner graph and the check nodes.
제1 방법의 일부 실시예에서, 커럽팅 매체는 전송 매체이다. 천공 코드워드의 보내기는 통신 매체를 경유한 천공 코드워드의 전송을 포함한다. 천공 코드워드의 표본의 가져오기는 전송 매체로부터 천공 코드워드의 표본을 수신하는 것을 포함한다.
In some embodiments of the first method, the killing medium is a transmission medium. The sending of punctured codewords involves the transmission of punctured codewords via the communication medium. Retrieving a specimen of punctured codewords involves receiving a specimen of punctured codewords from the transmission medium.
제1 방법의 다른 실시예에서, 커럽팅 매체는 저장 매체이다. 천공 코드워드의 보내기는 저장 매체에 천공 코드워드를 저장하는 것을 포함한다. 천공 코드워드의 표본의 가져오기는 저장 매체로부터 천공 코드워드의 표본을 판독하는 것을 포함한다.
In another embodiment of the first method, the killing medium is a storage medium. The sending of the punctured codeword includes storing the punctured codeword in the storage medium. Importing a specimen of punctured codewords comprises reading a specimen of punctured codewords from a storage medium.
k 입력 비트를 토핑하는 제1 방법을 사용하는 메모리 장치는 메모리와 제어기를 포함한다. 제어기는 메모리에 입력 비트를 저장하고 메모리로부터 입력 비트를 회복한다. 제어기는 인코더와 디코더를 포함한다. 인코더는 매트릭스 H에따라 입력 비트를 인코딩하고 생성된 코드워드를 천공하여 천공된 코드워드를 제공한다. 디코더는 매트릭스 H'를이용하여 메모리로부터 판독된 천공 코드워드의 표본을 디코딩한다.
A memory device using a first method of topping k input bits comprises a memory and a controller. The controller stores the input bits in the memory and retrieves the input bits from the memory. The controller includes an encoder and a decoder. The encoder encodes the input bits according to matrix H and punctures the generated codewords to provide punctured codewords. The decoder decodes a sample of the punctured codeword read from memory using the matrix H '.
k 입력 비트를 포팅하는 제1 방법을 사용하는 시스템은 제1 메모리와 제1 메모리의 호스트를 포함한다. 호스트는 제2 메모리와 프로세서를 포함한다. 제2 메모리는 저장 매체에 적용되는 것과 같이 k 입력 비트를 포팅하는 제1 방법에 따라 제1 메모리의 관리하는 코드가 기록되어 있다. 프로세서는 이 코드를 실행한다. 첨부된 청구항의 범위는 k 입력 비트를 포팅하는 제1 방법에 따라 제1 메모리를 관리하는 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체를 포함한다.
A system using a first method of porting k input bits comprises a host of a first memory and a first memory. The host includes a second memory and a processor. The second memory has a code for managing the first memory in accordance with the first method of porting the k input bits as applied to the storage medium. The processor executes this code. The scope of the appended claims includes a computer-readable storage medium having recorded thereon computer readable code for managing a first memory in accordance with a first method of porting k input bits.
k 입력 비트를 포팅하는 제1 방법을 사용하는 통신 시스템은 전송기와 수신기를 포함한다. 전송기는 인코더와 변조기를 포함한다. 인코더는 매트릭스 H에따라 입력 비트를 인코딩하고 생성된 코드워드를 천공하여 천공된 코드워드를 제공한다. 변조기는 천공 코드워드를 변조된 신호로서 통신 채널을 거쳐 전송한다. 수신기는 복조기와 디코더를 포함한다. 복조기는 변조된 신호를 통신 채널로부터 수신하고 변조 신호를 복조하여 천공 코드워드의 표본을 제공한다. 디코더는 매트릭스 H'를사용하여 천공 코드워드의 표본을 디코딩한다.
A communication system using a first method of porting k input bits comprises a transmitter and a receiver. The transmitter includes an encoder and a modulator. The encoder encodes the input bits according to matrix H and punctures the generated codewords to provide punctured codewords. The modulator transmits the punctured codeword as a modulated signal across the communication channel. The receiver includes a demodulator and a decoder. The demodulator receives the modulated signal from the communication channel and demodulates the modulated signal to provide a sample of the punctured codeword. The decoder uses a matrix H 'to decode a sample of punctured codewords.
m × n = m + k 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 n 비트의 코드워드로서 인코딩되고 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드로서 커럽팅 매체로 보내기된 k 입력 비트를 회복하기 위한 제1 방법의 대부분의 실시예에서, 천공 코드워드의 표본은 커럽팅 매체로부터 가져오기된 천공 코드워드의 표본이다. 천공 코드워드의 표본은 H보다 작은 매트릭스 H'를사용하여 디코딩되며, H'는 m' = m - (n - n') 로우와 n' 컬럼을 가진다. H'는 H의 선택된 로우를 병합하는 것에 의해 H로부터 유도된다.
k input to the kerning medium as a punctured code word that is encoded as an n-bit code word according to a first code associated with the parity check matrix H and removed from the code word, In most embodiments of the first method for recovering bits, a sample of punctured codewords is a sample of punctured codewords taken from the corrupting medium. A sample of punctured codewords is decoded using a matrix H 'smaller than H, and H' has m '= m - (n - n') rows and n 'columns. H 'is derived from H by merging selected rows of H.
바람직하게, 제1 코드는 블록 코드이다.
Preferably, the first code is a block code.
바람직하게, H'는 제2 코드의 패리티 체크 매트릭스이고 천공 코드워드는 제2 코드의 코드워드이다.
Preferably, H 'is the parity check matrix of the second code and the punctured codeword is the codeword of the second code.
이 방법의 대부분의 실시예에서, m은 짝수, m' = m / 2, n' = n - m'이고, H'는 H의 로우 쌍을 병합하여 유도된다. 바람직하게 H'는 H의 연속된 로우 쌍을 병합하는 것으로 H로부터 유도된다.
In most embodiments of this method, m is an even number, m '= m / 2, n' = n - m 'and H' is derived by merging the row pair of H. Preferably H ' is derived from H by incorporating a consecutive row pair of H.
바람직하게, 디코딩은 LDPC와 같이 H'의 로우와 컬럼 사이에서 메시지를 교환하는 것을 포함한다. 전술한 바와 같이, 패리티 체크 매트릭스의 로우와 컬럼 사이의 메시지 교환은 태너 그래프의 비트 노드와 체크 노드 사이의 메시지 교환과 등가이다.
Preferably, decoding includes exchanging messages between rows and columns of H ', such as LDPC. As described above, the exchange of messages between the rows and columns of the parity check matrix is equivalent to the exchange of messages between the bit nodes of the tanner graph and the check nodes.
n 비트의 코드워드를 제공하기 위해 m × n = m + k 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하고 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드의 표본을 디코딩하는 디코더는 천공된 코드워드의 표본을 H보다 작은 매트릭스 H'를 사용하여 디코딩하는 디코딩 모듈을 포함하고, H'는 m' = m - (n - n') 로우와 n' 컬럼을 가진다. H'는 H의 선택된 로우를 병합하는 것에 의해 H로부터 유도된다.
to decode a sample of punctured codewords generated by encoding k input bits according to the code associated with mxn = m + k parity check matrix H and removing nn 'selected bits from the codeword to provide n bits of codeword Decoder includes a decoding module that decodes a sample of the punctured codeword using a matrix H 'less than H, and H' has m '= m - (n-n') row and n 'columns. H 'is derived from H by merging selected rows of H.
디코더의 대부분의 실시예에서, m은 짝수, m' = m / 2, n' = n - m'이고, H'는 H의 로우 쌍을 병합하여 유도된다.
In most embodiments of the decoder, m is an even number, m '= m / 2, n' = n - m ', and H' is derived by concatenating the row pair of H.
바람직하게 디코더는 H로부터 H'를 유도하기 위해 코드 축소 모듈을 포함한다.
Preferably, the decoder includes a code reduction module to derive H 'from H.
수신기는 복조기와 디코딩 모듈을 포함한다. 복조기는 통신 채널로부터 변조된 신호를 수신하고 변조된 신호를 복조하여 천공 코드워드의 표본을 제공하는데, 이 천공 코드워드의 표본은 n 비트의 코드워드를 제공하기 위해 m × n = m + k 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하고 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 것이다. 디코딩 모듈은 천공 코드워드의 표본을 H보다 작은 매트릭스 H'를 사용하여 디코딩하고, H'는 m' = m - (n - n') 로우와 n' 컬럼을 가진다. H'는 H의 선택된 로우를 병합하는 것에 의해 H로부터 유도된다.
The receiver includes a demodulator and a decoding module. The demodulator receives a modulated signal from the communication channel and provides a sample of the punctured codeword by demodulating the modulated signal, wherein the sample of the punctured codeword is m x n = m + k parity Is generated by encoding the k input bits according to the code associated with the check matrix H and removing nn 'selected bits from the codeword. The decoding module decodes a sample of the punctured codeword using a matrix H 'smaller than H, and H' has m '= m - (n - n') row and n 'columns. H 'is derived from H by merging selected rows of H.
수신기의 대부분의 실시예에서, m은 짝수, m' = m / 2, n' = n - m'이고, H'는 H의 로우 쌍을 병합하여 유도된다.
In most embodiments of the receiver, m is an even number, m '= m / 2, n' = n - m ', and H' is derived by concatenating the row pair of H.
바람직하게 수신기는 H로부터 H'를 유도하기 위해 코드 축소 모듈을 포함한다.
Preferably the receiver comprises a code reduction module to derive H 'from H.
k 입력 비트를 포팅하기 위한 제2 방법의 대부분의 실시예에서, 입력 비트는 m × n 패리티 체크 매트릭스 H와 연관된 코드에 따라 인코딩되고, 여기서 n = m + k 이다. 인코딩 절차는 n 비트의 코드워드를 생성한다. n 비트 코드워드는 천공되고 그에 따라 n' < n 인 비트의 천공된 코드워드가 제공된다. 천공된 코드워드는 커럽팅 매체로 보내기된다. 천공 코드워드의 표본은 커럽팅 매체로부터 가져오기 된다. 천공 코드워드의 표본은 H 보다 작은 H'를 사용하여 디코딩되는데, H'는 최대 m 로우와 n보다 작고 n-n' 보다 큰 컬럼을 가진다.
In most embodiments of the second method for porting k input bits, the input bits are encoded according to the code associated with the mxn parity check matrix H, where n = m + k. The encoding procedure produces an n-bit code word. The n-bit codeword is punctured so that a punctured codeword of bits of n '< n is provided. The punctured codeword is sent to the calling medium. A sample of the punctured codeword is taken from the calling media. A sample of the punctured code word is decoded using H 'less than H, where H' has a maximum m rows and columns smaller than n and greater than nn '.
바람직하게, 제1 코드는 블록 코드이다.
Preferably, the first code is a block code.
바람직하게, H'는 제2 코드의 패리티 체크 매트릭스이고 천공 코드워드는 제2 코드의 코드워드이다.
Preferably, H 'is the parity check matrix of the second code and the punctured codeword is the codeword of the second code.
바람직하게, 제2 방법은 H로 부터 H'를 유도하는 단계를 포함한다. 더 바람직하게, 코드워드의 천공은 코드워드로부터 n-n' 선택된 비트를 제거하는 단계를 포함하고, H로부터 H'의 유도는 소거에 선택된 m'' < n-n'의 비트 수에 대응하는 H의 컬럼의 첫번째 m-m''엘리먼트가 제로로 설정되도록 H 상에 가우시안 소거를 수행하는 단계를 포함한다. 즉, 가우시안 소거 세트는 소거에 선택된 코드워드의 일부 비트에 대응하는 H의 컬럼의 첫번째 엘리먼트를 제로로 한다. H'는 제로-아웃 컬럼이 없이 생성된 매트릭스의 m-m'' 로우이다. 바람직하게, m''는 가우시안 소거가 연속되고 생성된 매트릭스 H'가 스파스에 대한 미리결정된 기준을 만족하지 않는 지점에서 가우시안 소거를 종료하면서 찾아진다. 스파스에 대한 하나의 유용한 기준은 H'의 평균 컬럼 정도가 10보다 작고 H'의 로우 수의 1/4 보다 작은 것이다.
Preferably, the second method comprises deriving H 'from H'. More preferably, the puncturing of the codeword comprises removing nn 'selected bits from the codeword, and the derivation of H' from H 'comprises removing H' corresponding to the number of bits of m ''<n-n' And performing Gaussian elimination on H so that the first m-m '' element of the column is set to zero. That is, the Gaussian erasure set sets the first element of the column of H to zero, corresponding to some bits of the code word selected for erasure. H 'is the m-m " row of the generated matrix without a zero-out column. Preferably, m '' is found by continuing Gaussian elimination and terminating Gaussian elimination at a point where the generated matrix H 'does not meet a predetermined criterion for sparse. One useful criterion for sparse is that the average column degree of H 'is less than 10 and less than 1/4 of the low number of H'.
바람직하게, 디코딩은 LDPC와 같이 H'의 로우와 컬럼 사이에서 메시지를 교환하는 것을 포함한다. 전술한 바와 같이, 패리티 체크 매트릭스의 로우와 컬럼 사이의 메시지 교환은 태너 그래프의 비트 노드와 체크 노드 사이의 메시지 교환과 등가이다.
Preferably, decoding includes exchanging messages between rows and columns of H ', such as LDPC. As described above, the exchange of messages between the rows and columns of the parity check matrix is equivalent to the exchange of messages between the bit nodes of the tanner graph and the check nodes.
제2 방법의 일부 실시예에서, 커럽팅 매체는 전송 매체이다. 천공 코드워드의 보내기는 통신 매체를 경유한 천공 코드워드의 전송을 포함한다. 천공 코드워드의 표본의 가져오기는 전송 매체로부터 천공 코드워드의 표본을 수신하는 것을 포함한다.
In some embodiments of the second method, the killing medium is a transmission medium. The sending of punctured codewords involves the transmission of punctured codewords via the communication medium. Retrieving a specimen of punctured codewords involves receiving a specimen of punctured codewords from the transmission medium.
제2 방법의 다른 실시예에서, 커럽팅 매체는 저장 매체이다. 천공 코드워드의 보내기는 저장 매체에 천공 코드워드를 저장하는 것을 포함한다. 천공 코드워드의 표본의 가져오기는 저장 매체로부터 천공 코드워드의 표본을 판독하는 것을 포함한다.
In another embodiment of the second method, the killing medium is a storage medium. The sending of the punctured codeword includes storing the punctured codeword in the storage medium. Importing a specimen of punctured codewords comprises reading a specimen of punctured codewords from a storage medium.
k 입력 비트를 포팅하는 제2 방법을 사용하는 메모리 장치는 메모리와 제어기를 포함한다. 제어기는 메모리에 입력 비트를 저장하고 메모리로부터 입력 비트를 회복한다. 제어기는 인코더와 디코더를 포함한다. 인코더는 매트릭스 H에따라 입력 비트를 인코딩하고 생성된 코드워드를 천공하여 천공된 코드워드를 제공한다. 디코더는 매트릭스 H'를이용하여 메모리로부터 판독된 천공 코드워드의 표본을 디코딩한다.
A memory device using a second method of porting k input bits comprises a memory and a controller. The controller stores the input bits in the memory and retrieves the input bits from the memory. The controller includes an encoder and a decoder. The encoder encodes the input bits according to matrix H and punctures the generated codewords to provide punctured codewords. The decoder decodes a sample of the punctured codeword read from memory using the matrix H '.
k 입력 비트를 포팅하는 제2 방법을 사용하는 시스템은 제1 메모리와 제1 메모리의 호스트를 포함한다. 호스트는 제2 메모리와 프로세서를 포함한다. 제2 메모리는 저장 매체에 적용되는 것과 같이 k 입력 비트를 포팅하는 제2 방법에 따라 제1 메모리의 관리하는 코드가 기록되어 있다. 프로세서는 이 코드를 실행한다. 첨부된 청구항의 범위는 k 입력 비트를 포팅하는 제1 방법에 따라 제1 메모리를 관리하는 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체를 포함한다.
A system using a second method of porting k input bits comprises a host of a first memory and a first memory. The host includes a second memory and a processor. The second memory is recorded with a code managed by the first memory according to a second method of porting k input bits as applied to the storage medium. The processor executes this code. The scope of the appended claims includes a computer-readable storage medium having recorded thereon computer readable code for managing a first memory in accordance with a first method of porting k input bits.
k 입력 비트를 포팅하는 제2 방법을 사용하는 통신 시스템은 전송기와 수신기를 포함한다. 전송기는 인코더와 변조기를 포함한다. 인코더는 매트릭스 H에 따라 입력 비트를 인코딩하고 생성된 코드워드를 천공하여 천공된 코드워드를 제공한다. 변조기는 천공 코드워드를 변조된 신호로서 통신 채널을 거쳐 전송한다. 수신기는 복조기와 디코더를 포함한다. 복조기는 변조된 신호를 통신 채널로부터 수신하고 변조 신호를 복조하여 천공 코드워드의 표본을 제공한다. 디코더는 매트릭스 H'를사용하여 천공 코드워드의 표본을 디코딩한다.
A communication system using a second method of porting k input bits comprises a transmitter and a receiver. The transmitter includes an encoder and a modulator. The encoder encodes the input bits according to matrix H and punctures the generated codewords to provide punctured codewords. The modulator transmits the punctured codeword as a modulated signal across the communication channel. The receiver includes a demodulator and a decoder. The demodulator receives the modulated signal from the communication channel and demodulates the modulated signal to provide a sample of the punctured codeword. The decoder uses a matrix H 'to decode a sample of punctured codewords.
m × n = m + k 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 n 비트의 코드워드로서 인코딩되고 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드로서 커럽팅 매체로 보내기된 k 입력 비트를 회복하기 위한 제2 방법의 대부분의 실시예에서, 천공 코드워드의 표본은 커럽팅 매체로부터 가져오기된 천공 코드워드의 표본이다. 천공 코드워드의 표본은 H보다 작은 매트릭스 H'를사용하여 디코딩되며, H'는 최대 m 로우와 n보다 작고 n-n' 보다 큰 컬럼을 가진다.
k input to the kerning medium as a punctured code word that is encoded as an n-bit code word according to a first code associated with the parity check matrix H and removed from the code word, In most embodiments of the second method for recovering bits, a sample of punctured codewords is a sample of punctured codewords taken from the corrupting medium. A sample of the punctured code word is decoded using a matrix H 'that is less than H, and H' has a column that is less than n maximum m rows and n and greater than nn '.
바람직하게, 제1 코드는 블록 코드이다.
Preferably, the first code is a block code.
바람직하게 이 방법은 H로부터 H'를 유도하는 단계를 포함한다. 더 바람직하게, H로부터 H'를 유도하는 단계는 소거에 선택된 m'' < n-n'의 비트 수에 대응하는 H의 컬럼의 첫번째 m-m'' 엘리먼트가 제로로 설정되도록 H 상에 가우시안 소거를 수행하는 단계를 포함한다. 즉, 가우시안 소거는 소거에 선택된 코드워드의 일부 비트에 대응하는 H의 컬럼의 첫번째 엘리먼트를 제로로 한다. H'는 제로-아웃 컬럼이 없이 생성된 매트릭스의 m-m'' 로우이다. 바람직하게, m''는 가우시안 소거가 연속되고 생성된 매트릭스 H'가 스파스에 대한 미리결정된 기준을 만족하지 않는 지점에서 가우시안 소거를 종료하면서 찾아진다. 스파스에 대한 하나의 유용한 기준은 H'의 평균 컬럼 정도가 10보다 작고 H'의 로우 수의 1/4 보다 작은 것이다.
Preferably, the method comprises deriving H 'from H. More preferably, the step of deriving H 'from H is performed in such a manner that the first m-m''elements of the column of H corresponding to the number of bits of m''<n-n' selected for erase are set to zero, And performing an erase operation. That is, Gaussian elimination zeroes the first element of the column of H corresponding to some bits of the code word selected for erasure. H 'is the m-m " row of the generated matrix without a zero-out column. Preferably, m '' is found by continuing Gaussian elimination and terminating Gaussian elimination at a point where the generated matrix H 'does not meet a predetermined criterion for sparse. One useful criterion for sparse is that the average column degree of H 'is less than 10 and less than 1/4 of the low number of H'.
바람직하게, 디코딩은 LDPC와 같이 H'의 로우와 컬럼 사이에서 메시지를 교환하는 것을 포함한다. 전술한 바와 같이, 패리티 체크 매트릭스의 로우와 컬럼 사이의 메시지 교환은 태너 그래프의 비트 노드와 체크 노드 사이의 메시지 교환과 등가이다.
Preferably, decoding includes exchanging messages between rows and columns of H ', such as LDPC. As described above, the exchange of messages between the rows and columns of the parity check matrix is equivalent to the exchange of messages between the bit nodes of the tanner graph and the check nodes.
m × n = m + k 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 생성된 n 비트 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드의 표본을 디코딩하는 디코더는 천공된 코드워드의 표본을 H보다 작은 매트릭스 H'를 사용하여 디코딩하는 디코딩 모듈을 포함하고, H'는 H'는 최대 m 로우와 n보다 작고 n-n' 보다 큰 컬럼을 가진다.
A decoder that decodes a sample of punctured codewords generated by removing nn 'selected bits from an n-bit codeword generated by encoding a k input bit according to a code associated with a mxn = m + k parity check matrix H, And a decoding module for decoding a sample of codewords using a matrix H 'less than H, where H' has a maximum mrow and a column smaller than n and greater than nn '.
바람직하게 디코더는 H로부터 H'를 유도하기 위해 코드 축소 모듈을 포함한다. 더 바람직하게, H로부터 H'를 유도하는 단계는 소거에 선택된 코드워드의 m'' < n-n'의 비트 수에 대응하는 H의 컬럼의 첫번째 m-m'' 엘리먼트가 제로로 설정되도록 H 상에 가우시안 소거를 수행하는 단계를 포함한다. 즉, 가우시안 소거는 소거에 선택된 코드워드의 일부 비트에 대응하는 H의 컬럼의 첫번째 엘리먼트를 제로로 한다. H'는 제로-아웃 컬럼이 없이 생성된 매트릭스의 m-m'' 로우이다. 바람직하게, m''는 가우시안 소거가 연속되고 생성된 매트릭스 H'가 스파스에 대한 미리결정된 기준을 만족하지 않는 지점에서 가우시안 소거를 종료하면서 찾아진다. 스파스에 대한 하나의 유용한 기준은 H'의 평균 컬럼 정도가 10보다 작고 H'의 로우 수의 1/4 보다 작은 것이다.
Preferably, the decoder includes a code reduction module to derive H 'from H. More preferably, the step of deriving H 'from H is performed so that the first m-m''elements of the column of H corresponding to the number of bits m''<n-n' of the code word selected for erasure are set to zero Lt; RTI ID = 0.0 > Gaussian < / RTI > That is, Gaussian elimination zeroes the first element of the column of H corresponding to some bits of the code word selected for erasure. H 'is the m-m " row of the generated matrix without a zero-out column. Preferably, m '' is found by continuing Gaussian elimination and terminating Gaussian elimination at a point where the generated matrix H 'does not meet a predetermined criterion for sparse. One useful criterion for sparse is that the average column degree of H 'is less than 10 and less than 1/4 of the low number of H'.
수신기는 복조기와 디코딩 모듈을 포함한다. 복조기는 통신 채널로부터 변조된 신호를 수신하고 변조된 신호를 복조하여 천공 코드워드의 표본을 제공하는데, 이 천공 코드워드의 표본은 m × n = m + k 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 생성된 n 비트 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 것이다. 디코딩 모듈은 천공 코드워드의 표본을 H보다 작은 매트릭스 H'를 사용하여 디코딩하고, H'는 H'는 최대 m 로우와 n보다 작고 n-n' 보다 큰 컬럼을 가진다.
The receiver includes a demodulator and a decoding module. A demodulator receives a modulated signal from a communication channel and provides a sample of the punctured codeword by demodulating the modulated signal, wherein the sample of punctured codewords is a code word of k < RTI ID = 0.0 > And removing nn 'selected bits from the generated n-bit code word by encoding the input bit. The decoding module decodes a sample of the punctured codeword using a matrix H 'less than H, where H' has a maximum mrow and a column less than n and greater than nn '.
바람직하게 수신기는 H로부터 H'를 유도하기 위해 코드 축소 모듈을 포함한다. 더 바람직하게, H로부터 H'를 유도하는 단계는 소거에 선택된 코드워드의 m'' < n-n'의 비트 수에 대응하는 H의 컬럼의 첫번째 m-m'' 엘리먼트가 제로로 설정되도록 H 상에 가우시안 소거를 수행하는 단계를 포함한다. 즉, 가우시안 소거는 소거에 선택된 코드워드의 일부 비트에 대응하는 H의 컬럼의 첫번째 엘리먼트를 제로로 한다. H'는 제로-아웃 컬럼이 없이 생성된 매트릭스의 m-m'' 로우이다. 바람직하게, m''는 가우시안 소거가 연속되고 생성된 매트릭스 H'가 스파스에 대한 미리결정된 기준을 만족하지 않는 지점에서 가우시안 소거를 종료하면서 찾아진다. 스파스에 대한 하나의 유용한 기준은 H'의 평균 컬럼 정도가 10보다 작고 H'의 로우 수의 1/4 보다 작은 것이다.
Preferably the receiver comprises a code reduction module to derive H 'from H. More preferably, the step of deriving H 'from H is performed so that the first m-m''elements of the column of H corresponding to the number of bits m''<n-n' of the code word selected for erasure are set to zero Lt; RTI ID = 0.0 > Gaussian < / RTI > That is, Gaussian elimination zeroes the first element of the column of H corresponding to some bits of the code word selected for erasure. H 'is the m-m " row of the generated matrix without a zero-out column. Preferably, m '' is found by continuing Gaussian elimination and terminating Gaussian elimination at a point where the generated matrix H 'does not meet a predetermined criterion for sparse. One useful criterion for sparse is that the average column degree of H 'is less than 10 and less than 1/4 of the low number of H'.
k 입력 비트를 포팅하기 위한 제3 방법의 대부분의 실시예에서, 입력 비트는 m × n 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 인코딩되고, 여기서 n = m + k 이다. 인코딩 절차는 n 비트의 코드워드를 생성한다. n 비트 코드워드는 천공되고 그에 따라 n' < n 인 비트의 천공된 코드워드가 제공된다. 천공된 코드워드는 커럽팅 매체로 보내기된다. 천공 코드워드의 표본은 커럽팅 매체로부터 가져오기 된다. 천공 코드워드의 표본은 H 보다 작은 H'를 사용하여 디코딩되는데, H'는 m' = m - (n - n') 보다 작은 로우와 n'보다 작은 컬럼을 가진다.
In most embodiments of the third method for porting k input bits, the input bits are encoded according to a first code associated with the mxn parity check matrix H, where n = m + k. The encoding procedure produces an n-bit code word. The n-bit codeword is punctured so that a punctured codeword of bits of n '< n is provided. The punctured codeword is sent to the calling medium. A sample of the punctured codeword is taken from the calling media. A sample of the punctured code word is decoded using H 'less than H, where H' has a row less than m '= m - (n - n') and a column less than n '.
바람직하게, 제1 코드는 블록 코드이다.
Preferably, the first code is a block code.
바람직하게, H'는 제2 코드의 패리티 체크 매트릭스이고 천공 코드워드는 제2 코드의 코드워드이다.
Preferably, H 'is the parity check matrix of the second code and the punctured codeword is the codeword of the second code.
바람직하게, 제3 방법은 H로부터 H'를 유도하는 단계를 포함한다. 더 바람직하게, 코드워드의 천공은 코드워드로부터 n-n' 선택된 비트를 제거하는 단계를 포함하고, H로부터 H'의 유도는 소거에 선택된 코드워드의 비트 수에 대응하는 H의 컬럼의 첫번째 m' 엘리먼트를 제로로 설정하도록 H 상에 가우시안 소거를 수행하는 단계를 포함한다. H'는 H에 의해 선택된 비트에만 연결된 다른 비트에 대응하는 컬럼이 없고, 제로 아웃 컬럼이 없는 생성 매트릭스의 선택된 로우이다.
Preferably, the third method comprises deriving H 'from H. More preferably, the puncturing of the codeword comprises removing nn 'selected bits from the codeword, and the derivation of H' from H 'comprises removing the first m' elements of the column of H corresponding to the number of bits of the codeword selected for erasure And performing Gaussian elimination on the H phase so as to set to zero. H 'is the selected row of the generator matrix with no column corresponding to the other bits connected to only the bits selected by H, and no zero out column.
바람직하게, 디코딩은 LDPC와 같이 H'의 로우와 컬럼 사이에서 메시지를 교환하는 것을 포함한다. 전술한 바와 같이, 패리티 체크 매트릭스의 로우와 컬럼 사이의 메시지 교환은 태너 그래프의 비트 노드와 체크 노드 사이의 메시지 교환과 등가이다.
Preferably, decoding includes exchanging messages between rows and columns of H ', such as LDPC. As described above, the exchange of messages between the rows and columns of the parity check matrix is equivalent to the exchange of messages between the bit nodes of the tanner graph and the check nodes.
제3 방법의 일부 실시예에서, 커럽팅 매체는 전송 매체이다. 천공 코드워드의 보내기는 통신 매체를 경유한 천공 코드워드의 전송을 포함한다. 천공 코드워드의 표본의 가져오기는 전송 매체로부터 천공 코드워드의 표본을 수신하는 것을 포함한다.
In some embodiments of the third method, the killing medium is a transmission medium. The sending of punctured codewords involves the transmission of punctured codewords via the communication medium. Retrieving a specimen of punctured codewords involves receiving a specimen of punctured codewords from the transmission medium.
제3 방법의 다른 실시예에서, 커럽팅 매체는 저장 매체이다. 천공 코드워드의 보내기는 저장 매체에 천공 코드워드를 저장하는 것을 포함한다. 천공 코드워드의 표본의 가져오기는 저장 매체로부터 천공 코드워드의 표본을 판독하는 것을 포함한다.
In another embodiment of the third method, the killing medium is a storage medium. The sending of the punctured codeword includes storing the punctured codeword in the storage medium. Importing a specimen of punctured codewords comprises reading a specimen of punctured codewords from a storage medium.
k 입력 비트를 포팅하는 제3 방법을 사용하는 메모리 장치는 메모리와 제어기를 포함한다. 제어기는 메모리에 입력 비트를 저장하고 메모리로부터 입력 비트를 회복한다. 제어기는 인코더와 디코더를 포함한다. 인코더는 매트릭스 H에 따라 입력 비트를 인코딩하고 생성된 코드워드를 천공하여 천공된 코드워드를 제공한다. 디코더는 매트릭스 H'를이용하여 메모리로부터 판독된 천공 코드워드의 표본을 디코딩한다.
A memory device using a third method of porting k input bits comprises a memory and a controller. The controller stores the input bits in the memory and retrieves the input bits from the memory. The controller includes an encoder and a decoder. The encoder encodes the input bits according to matrix H and punctures the generated codewords to provide punctured codewords. The decoder decodes a sample of the punctured codeword read from memory using the matrix H '.
k 입력 비트를 포팅하는 제3 방법을 사용하는 시스템은 제1 메모리와 제1 메모리의 호스트를 포함한다. 호스트는 제2 메모리와 프로세서를 포함한다. 제2 메모리는 저장 매체에 적용되는 것과 같이 k 입력 비트를 포팅하는 제3 방법에 따라 제1 메모리의 관리하는 코드가 기록되어 있다. 프로세서는 이 코드를 실행한다. 첨부된 청구항의 범위는 k 입력 비트를 포팅하는 제3 방법에 따라 제1 메모리를 관리하는 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체를 포함한다.
A system using a third method of porting k input bits comprises a host of a first memory and a first memory. The host includes a second memory and a processor. The second memory has a code for managing the first memory in accordance with a third method of porting k input bits as applied to the storage medium. The processor executes this code. The scope of the appended claims includes a computer readable storage medium having computer readable code recorded thereon for managing a first memory in accordance with a third method of porting k input bits.
k 입력 비트를 포팅하는 제3 방법을 사용하는 통신 시스템은 전송기와 수신기를 포함한다. 전송기는 인코더와 변조기를 포함한다. 인코더는 매트릭스 H에 따라 입력 비트를 인코딩하고 생성된 코드워드를 천공하여 천공된 코드워드를 제공한다. 변조기는 천공 코드워드를 변조된 신호로서 통신 채널을 거쳐 전송한다. 수신기는 복조기와 디코더를 포함한다. 복조기는 변조된 신호를 통신 채널로부터 수신하고 변조 신호를 복조하여 천공 코드워드의 표본을 제공한다. 디코더는 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩한다.
A communication system using a third method of porting k input bits comprises a transmitter and a receiver. The transmitter includes an encoder and a modulator. The encoder encodes the input bits according to matrix H and punctures the generated codewords to provide punctured codewords. The modulator transmits the punctured codeword as a modulated signal across the communication channel. The receiver includes a demodulator and a decoder. The demodulator receives the modulated signal from the communication channel and demodulates the modulated signal to provide a sample of the punctured codeword. The decoder uses a matrix H 'to decode a sample of punctured codewords.
m × n = m + k 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 n 비트의 코드워드로서 인코딩되고 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드로서 커럽팅 매체로 보내기된 k 입력 비트를 회복하기 위한 제3 방법의 대부분의 실시예에서, 천공 코드워드의 표본은 커럽팅 매체로부터 가져오기 된다. 천공 코드워드의 표본은 H보다 작은 매트릭스 H'를 사용하여 디코딩되며, H'는 m' = m - (n - n')의 보다 작은 로우 n'보다 작은 컬럼을 가진다.
k input to the kerning medium as a punctured code word that is encoded as an n-bit code word according to a first code associated with the parity check matrix H and removed from the code word, In most embodiments of the third method for recovering bits, a sample of the punctured codeword is fetched from the killing medium. A sample of the punctured codeword is decoded using a matrix H 'smaller than H, and H' has a column that is smaller than a smaller row n 'of m' = m - (n - n ').
바람직하게, 제1 코드는 블록 코드이다.
Preferably, the first code is a block code.
바람직하게 H'는 제2 코드의 패리티 체크 매트릭스이고 천공 코드는 제2 코드의 코드워드이다.
Preferably H 'is the parity check matrix of the second code and the puncturing code is the codeword of the second code.
바람직하게 이 방법은 H로부터 H'를 유도하는 단계를 포함한다. 더 바람직하게, H로부터 H'를 유도하는 단계는 코드워드로부터 n-n'의 선택된 비트를 제거하는 단계를 포함하고, H로부터 H'의 유도는 소거에 선택된 코드워드의 비트에 대응하는 H 컬럼의 첫번째 m' 엘리먼트를 제로로 설정하도록 H 상에 가우시안 소거를 수행하는 단계를 포함한다. H'는 H에 의해 선택된 비트에만 연결된 다른 비트에 대응하는 하나 이상의 컬럼이 없고, 제로 아웃 컬럼이 없는 생성 매트릭스의 선택된 로우이다.
Preferably, the method comprises deriving H 'from H. More preferably, deriving H 'from H comprises removing selected bits of n-n' from the codeword, wherein the derivation of H 'to H' comprises deleting H-columns corresponding to the bits of the selected codeword And performing a Gaussian erase on the H phase so as to set the first m ' H 'is the selected row of the generator matrix with no zero-out column and no more than one column corresponding to the other bits connected to only the bits selected by H.
바람직하게, 디코딩은 LDPC와 같이 H'의 로우와 컬럼 사이에서 메시지를 교환하는 것을 포함한다. 전술한 바와 같이, 패리티 체크 매트릭스의 로우와 컬럼 사이의 메시지 교환은 태너 그래프의 비트 노드와 체크 노드 사이의 메시지 교환과 등가이다.
Preferably, decoding includes exchanging messages between rows and columns of H ', such as LDPC. As described above, the exchange of messages between the rows and columns of the parity check matrix is equivalent to the exchange of messages between the bit nodes of the tanner graph and the check nodes.
m × n = m + k 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 생성된 n 비트 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 천공 코드워드의 표본을 디코딩하는 디코더는 천공된 코드워드의 표본을 H보다 작은 매트릭스 H'를 사용하여 디코딩하는 디코딩 모듈을 포함하고, H'는 m' = m - (n - n') 보다 작은 로우 n'보다 작은 컬럼을 가진다.
A decoder that decodes a sample of punctured codewords generated by removing nn 'selected bits from an n-bit codeword generated by encoding a k input bit according to a code associated with a mxn = m + k parity check matrix H, A decoding module for decoding a sample of codewords using a matrix H 'less than H, and H' has a column that is smaller than row n 'that is less than m' = m - (n - n ').
바람직하게 디코더는 H로부터 H'를 유도하기 위해 코드 축소 모듈을 포함한다. 더 바람직하게, H로부터 H'를 유도하는 단계는 소거에 선택된 코드워드의 비트 에 대응하는 H의 컬럼의 첫번째 m' 엘리먼트가 제로로 설정되도록 H 상에 가우시안 소거를 수행하는 단계를 포함한다. H'는 H에 의해 선택된 비트에만 연결된 다른 비트에 대응하는 하나 이상의 컬럼이 없고, 제로 아웃 컬럼이 없는 생성 매트릭스의 선택된 로우이다.
Preferably, the decoder includes a code reduction module to derive H 'from H. More preferably, deriving H 'from H comprises performing Gaussian erasure on H so that the first m' element of the column of H corresponding to the bits of the code word selected for erasure is set to zero. H 'is the selected row of the generator matrix with no zero-out column and no more than one column corresponding to the other bits connected to only the bits selected by H.
수신기는 복조기와 디코딩 모듈을 포함한다. 복조기는 통신 채널로부터 변조된 신호를 수신하고 변조된 신호를 복조하여 천공 코드워드의 표본을 제공하는데, 이 천공 코드워드의 표본은 m × n = m + k 패리티 체크 매트릭스 H와 연관된 코드에 따라 k 입력 비트를 인코딩하여 생성된 n 비트 코드워드로부터 n-n' 선택된 비트를 제거하여 생성된 것이다. 디코딩 모듈은 천공 코드워드의 표본을 H보다 작은 매트릭스 H'를 사용하여 디코딩하고, H'는 m' = m - (n - n') 보다 작은 로우 n'보다 작은 컬럼을 가진다.
The receiver includes a demodulator and a decoding module. A demodulator receives a modulated signal from a communication channel and provides a sample of the punctured codeword by demodulating the modulated signal, wherein the sample of punctured codewords is a code word of k < RTI ID = 0.0 > And removing nn 'selected bits from the generated n-bit code word by encoding the input bit. The decoding module decodes a sample of the punctured codeword using a matrix H 'smaller than H, and H' has a column smaller than row n 'that is smaller than m' = m - (n - n ').
바람직하게 수신기는 H로부터 H'를 유도하기 위해 코드 축소 모듈을 포함한다. 더 바람직하게, H로부터 H'를 유도하는 단계는 소거에 선택된 코드워드의 비트 에 대응하는 H의 컬럼의 첫번째 m' 엘리먼트가 제로로 설정되도록 H 상에 가우시안 소거를 수행하는 단계를 포함한다. H'는 H에 의해 선택된 비트에만 연결된 다른 비트에 대응하는 하나 이상의 컬럼이 없고, 제로 아웃 컬럼이 없는 생성 매트릭스의 선택된 로우이다.
Preferably the receiver comprises a code reduction module to derive H 'from H. More preferably, deriving H 'from H comprises performing Gaussian erasure on H so that the first m' element of the column of H corresponding to the bits of the code word selected for erasure is set to zero. H 'is the selected row of the generator matrix with no zero-out column and no more than one column corresponding to the other bits connected to only the bits selected by H.
본 발명에 따르면 천공 코드워드(codeword)를 효율적으로 디코딩할 수 있는 방법 및 장치가 제공될 수 있다.
According to the present invention, a method and apparatus capable of efficiently decoding a punctured codeword can be provided.
도 1은 LDPC 코드가 어떻게 희소 패리티 체크 매트릭스 또는 태너 그래프 중 하나로 표현될 수 있는지를 나타내는 도면.
도 2는 천공 코드워드를 디코딩하기 위해 패리티 체크 매트릭스 H를 작은 규모의 매트릭스 H'로 변환하는 것을 도시한 도면.
도 3 및 도 4는 천공 코드워드의 표본을 효율적으로 디코딩하는 디코더의 단순 스케메틱 하이-레벨 블록도.
도 5는 그 제어기가 도 3의 디코더 또는 도 4의 디코더를 포함하는 플래시 메모리 장치의 하이-레벨 스케메틱 블록도.
도 6은 도 5의 상세도.
도 7은 도 5의 제어기의 대부분의 기능이 소프트웨어에 의해 모방(emulated)되는 메모리 시스템의 하이-레벨 스케메틱 블록도.
도 8은 그 수신기가 도 3의 디코더 또는 도 4의 디코더를 포함하는 통신 시스템의 하이-레벨 스케메틱 블록.
도 9는 본 발명의 방법의 세번째 변형예의 콘텍스트(context)를 나타낸 도면.
도 10은 본 발명의 세번째 변형예에 따른 H로부터 H'로의 변환을 도시한 태너 그래프.Brief Description of the Drawings Figure 1 shows how an LDPC code can be represented as either a sparse parity check matrix or a tanner graph.
Figure 2 illustrates the conversion of a parity check matrix H to a small scale matrix H 'for decoding punctured codewords.
FIGS. 3 and 4 are simplified schematic high-level block diagrams of a decoder that efficiently decodes a sample of punctured codewords. FIG.
5 is a high-level schematic block diagram of a flash memory device whose controller includes the decoder of FIG. 3 or the decoder of FIG. 4;
6 is a detailed view of Fig.
Figure 7 is a high-level schematic block diagram of a memory system in which most of the functionality of the controller of Figure 5 is emulated by software.
FIG. 8 is a high-level schematic block of a communication system in which the receiver includes the decoder of FIG. 3 or the decoder of FIG. 4;
Figure 9 shows the context of a third variant of the inventive method;
10 is a tanner graph showing the conversion from H to H 'according to a third variant of the invention.
천공 코드워드의 효율적인 디코딩의 이론 및 동작에 대해 첨부된 도면을 참조하여 이하에 설명하도록 한다.
The theory and operation of efficient decoding of punctured codewords will now be described with reference to the accompanying drawings.
H의 체계는 m×n, 즉 H는 m개의 행과 n개의 열로 가진다. H는 코드 C의 패리티 체크 매트릭스이며, 그 코스(course)는 c가 n의 길이(즉, c는 n개의 엘리먼트를 가짐)임을 암시한다. 천공 코드워드 c'는 몇개의 미리정의된 c의 좌표를 삭제함으로써 c로부터 유도된다. c'의 길이는 n'이다. 물론 n' < n이다. 모든 천공 코드워드의 세트는 C'로 표기되는 코드 자신이다. 바람직하게, 원본 코드 C의 정보 비트는 천공되지 않으므로 천공 코드 C'는 C와 같은 동일한 크기(즉, 코드워드의 동일한 수)를 가지지만 적은 리둔던시 비트를 가진다.
The system of H has m × n, ie, H has m rows and n columns. H is the parity check matrix of code C, and the course suggests that c is of length n (i.e., c has n elements). The puncturing codeword c 'is derived from c by eliminating any of the predefined coordinates of c. The length of c 'is n'. Of course n '<n. The set of all punctured codewords is the code itself labeled C '. Preferably, the information bits of the original code C are not punctured, so that the puncturing code C 'has the same size as C (i.e., the same number of codewords) but has a small redundancy bit.
H, c', n, m 및 n'가 주어지면, 축소된 매트릭스 코드 H'가 계산되는데, c가 방정식 (2)를 만족하는 코드워드이면 천공 서브-코워드 c'는 아래 방정식을 만족한다.Given H, c ', n, m and n', the reduced matrix code H 'is computed. If c is a code word satisfying equation (2), then the punctured sub-codeword c' .
H'c' = 0 (3)H'c '= 0 (3)
하기하는 바와 같이 이루어지는 매트릭스 H'는 H보다 작고(적은 수의 로우 및/또는 컬럼), 따라서 방정식 (3)에 따른 c'의 디코딩은 방정식(2)에 대해 소거 디코딩을 적용하는 것보다 쉽고 덜 복잡하다.The matrix H 'made as follows is less than H (fewer rows and / or columns), so decoding of c' according to equation (3) is easier and less effective than applying erasure decoding for equation (2) Complex.
주어진 H의 오더 m×n, 주어진 c'의 길이, 매트릭스 H'의 오더 m'×n'가 계산되고, 이때 m'=m-(n-n')이다.The order m x n of a given H, the length of a given c ', the order m' x n 'of the matrix H' is computed, where m '= m- (n-n').
c의 천공된 비트에 연관된 모든 컬럼에 있어서, H의 선택된 m' 로우에서, 예를 들면, H의 첫번째 m' 로우에서, 모두 0이 얻어지는 것을 목표로, H'는 매트릭스 H에 가우시안 제거 알고리즘(Gaussian elimination algorithm)을 적용하여 계산된다. 이 목표가 달성된 다음, H''에 의해 변경된 매트릭스, H''의 첫번째 m' 로우는 축소된 코드를 나타내고, 천공된 비트는 코드내에 참여하지 않는데, 이들은 모든 검사 방정식에서 0으로 곱해지기 때문이다.
For all columns associated with the punctured bits of c, H 'aims to get all zeros in the selected m' row of H, e.g., the first m 'row of H, with a Gaussian elimination algorithm Gaussian elimination algorithm. After this goal is achieved, the first m 'row of the matrix H''modified by H''represents the reduced code, and the punctured bits do not participate in the code because they are multiplied by zero in all test equations .
따라서 축소된 코드는 H''의 첫번째 m' 로우와 천공되지 않은 비트(미천공 비트라고 함)와 연관된 H''의 n' 컬럼만을 취해 표시될 수 있다. H'는 H''의 첫번째 m' 로우에서 제로이고 천공된 비트에 대응하는 H''의 컬럼을 가지지 않는 H''의 첫번째 m' 로우이다. 예를 들면, n=4096이고, c의 비트 4000, 4010, 4020, 4030, 4040가 천공되고(n'=4091), H''의 첫번째 m' 로우에서 제로인 H''의 컬럼은 컬럼 4000, 4010, 4020, 4030, 및 4040이며, H'는 컬럼 4000, 4010, 4020, 4030, 및 4040를 가지지 않는 H''의 첫번째 m' 로우이다.
Thus, the scaled code can be represented by taking only the n 'column of H''associated with the first m' row of H '' and the unperforated bit (called the punch bit). H 'is zero in the first m' row of H '' and is the first m 'row of H''that does not have a column of H''corresponding to the bit punched. For example, n = 4096 and bits 4000, 4010, 4020, 4030 and 4040 of c are punctured (n '= 4091) and the column of H''in the first m' row of H ' 4010, 4020, 4030, and 4040, and H 'is the first m' row of H '' having no columns 4000, 4010, 4020, 4030,
예를 들어 패리티 체크 매트릭스 H가 도 2에 도시한 형태를 가지는 코드에 대해 고려해 본다. 이 경우 매트릭스의 하부 부분과 매트릭스의 상부 부분 내의 천공된 비트에 연관된 서브매트릭스는 동일한 구조를 가지며, 따라서 매트릭스의 상부 절반을 상부의 합(모듈로 2)으로 대체되고, 매트릭스의 하부 절반은 천공된 비트와 연관된 첫번째 m' 로우 및 컬럼 내에 모두 0을 가진 매트릭스 H''를 생성한다. H로부터 H''를 생성하기 위해 로우 연산만이 수행되기 때문에, H와 H''는 모두 동일한 선형 부분공간(subspace)에 걸치고(span), H와 H''는 모두 코드 C의 패리티-체크 매트릭스이다. H'는 H''의 첫번째 m' 로우와 H''의 첫번째 n' 컬럼을 제외한 소거에 의해 H''로부터 유도되고, 결과적으로 천공된 코드의 C'의 (m-m')×n' 패리티 체크 매트릭스로 된다.
For example, consider parity check matrix H with code having the form shown in FIG. In this case, the submatrix associated with the perforated bit in the lower portion of the matrix and the upper portion of the matrix has the same structure, so that the upper half of the matrix is replaced by the upper sum (modulo 2) Generates a first m 'row associated with the bit and a matrix H''with all zeros in the column. H and H " all span the same linear subspace (span), since H and H " only perform a row operation to generate H " from H, Matrix. H 'is derived from H''by erasing except for the first m' row of H '' and the first n 'column of H'', resulting in (m-m') n ' And becomes a parity check matrix.
또한 이 실시예에서, 매트릭스 H'는 각각의 로우에 인가된 로우 연산(이 경우 로우 당 하나의 연산)의 최소 수로 유도된다. 따라서, H'의 각각의 로우에서 1의 개수는 H의 로우에서의 1의 개수의 최대 2배이다. 만일 H가 H'보다 적다면 스파스(sparse)로서 고려될 수 있다. 따라서, 원본의 코드가 LDPC 코드라면, 축소된 코드 H'는 LDPC 코드로서 간주되어 이는 코드의 태너 그래프를 생성하고 메시지 패싱 알고리즘을 수행함으로써 효율적으로 디코딩될 수 있다.
Also in this embodiment, the matrix H 'is derived to the minimum number of row operations (in this case one operation per row) applied to each row. Thus, the number of 1's in each row of H 'is at most twice the number of 1's in the row of H's. If H is less than H ', it can be considered as a sparse. Thus, if the original code is an LDPC code, the reduced code H 'is considered LDPC code, which can be efficiently decoded by generating a tanner graph of the code and performing a message passing algorithm.
대부분의 구현에서, H 상에 수행되는 로우 연산의 수는 스파스와 같은 특정한 속성을 보호하기 위해 제한된다.
In most implementations, the number of row operations performed on H is limited to protect certain attributes, such as sparse.
도 3은 전술한 바와 같은 효율적인 천공 디코딩을 구현하기 위한 디코더(60)를 개략적으로 나타낸 하이-레벨 블록도이다. 천공 디코더(60)는 코드 축소 모듈(62)과 디코더 모듈(64)을 포함한다. 디코더(60)로의 입력은 코드 매트릭스 H와 (잡음과 오류(corrupt)가 발생될 수 있는)서브-코드워드 c'의 표본이다. 축소된 코드 매트릭스 H'는 코드 축소 모듈(62)에서 계산되고(바람직하게 한번, 이어서 국부 휘발성 또는 비휘발성 메모리(미도시)에 저장됨), 이어서 H'가 서브-코드워드 c'의 표본과 함께 디코더 모듈(64)에 제공된다. 디코더 모듈(64)의 출력은 디코딩된 코드워드이고, 이는 원본의 서브-코드워드 c'의 정보 콘텐츠를 포함한다. 이 정보는 원본의 코드워드 c의 정보 콘텐츠와 동일하다.
3 is a high-level block diagram that schematically illustrates a decoder 60 for implementing efficient puncturing decoding as described above. The puncturing decoder 60 includes a code reduction module 62 and a decoder module 64. The input to the decoder 60 is a sample of the code matrix H and a sub-code word c '(in which noise and corruption may occur). The reduced code matrix H 'is computed (preferably once in a code reduction module 62) and then stored in a local volatile or nonvolatile memory (not shown), followed by a sample of the sub-code word c' And supplied to the decoder module 64 together. The output of the decoder module 64 is a decoded codeword, which contains the information content of the original sub-codeword c '. This information is the same as the information content of the original codeword c.
도 4는 전술한 바와 같은 효율적인 천공 디코딩을 구현하기 위한 다른 디코더(80)를 개략적으로 나타낸 하이-레벨 블록도이다. 코드 축소 모듈(82)과 디코더 모듈(84)에 더하여, 디코더(80)는 코드 매트릭스 H를 저장하기 위한 비휘발성 메모리(86)를 포함한다. 디코더(80)로의 입력은 (잡음과 오류가 발생될 수 있는)서브-코드워드 c'의 표본과 c'를 생성하도록 천공된 c의 비트의 인덱스와 같은 정보이고, 이는 H''를 생성하기 위해 H의 어느 컬럼이 H의 첫번째 m' 로우에 제로 출력되는지를 컬럼 코드 축소 모듈(82)에 알려준다. 코드 축소 모듈(82)은 필요시 H'를 계산하고 바람직하게 국부에 H'를 저장하는데 메모리(86) 또는 국부 비휘발성 메모리(미도시)에 저장한다. 디코더(60)에서, H'는 서브-코드워드 c'와 함께 디코더 모듈(84)에 제공된다. 디코더 모듈(84)의 출력은 디코딩된 코드워드이다.
4 is a high-level block diagram schematically illustrating another decoder 80 for implementing efficient puncturing decoding as described above. In addition to the code reduction module 82 and the decoder module 84, the decoder 80 includes a non-volatile memory 86 for storing the code matrix H. [ The input to the decoder 80 is information such as a sample of the sub-code word c '(which may cause noise and error) and an index of the bits of c punctured to produce c', which generates H ' And informs the column code reduction module 82 which column of the hash is output to the first m 'row of H. Code collapse module 82 stores H 'in the memory 86 or local non-volatile memory (not shown) for calculating H' as needed and preferably storing H 'in the local area. At the decoder 60, H 'is provided to the decoder module 84 along with the sub-codeword c'. The output of the decoder module 84 is a decoded codeword.
코드 축소 모듈(62,82)와 디코더 모듈(64,84)은 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있으며, 이는 당업자에게 자명하다.
The code reduction modules 62, 82 and decoder modules 64, 84 may be implemented in hardware, firmware, software, or a combination thereof, as will be apparent to those skilled in the art.
도 5는 플래시 메모리 장치의 하이-레벨 스케매틱 블록도이다. 매트릭스 형태로 배열된 복수의 메모리 셀(M)를 포함하는 메모리 셀 어레이(1)는 컬럼 제어 회로(2), 로우 제어 회로(3), C-소스 제어 회로(4) 및 C-P-웰(well) 제어 회로(5)에 의해 제어된다. 컬럼 제어 회로(2)는 메모리 셀(M)에 저장된 데이터를 판독하고 기입 동작 동안 메모리 셀(M)의 상태를 결정하고, 기입 또는 기입 억제를 위해 비트 라인(BL)의 전위 레벨을 제어하기 위해 메모리 셀 어레이(1)의 비트 라인(BL)에 연결된다. 로우 제어 회로(3)는 워드 라인(WL)에 접속되어 워드 라인(WL) 중 하나를 선택하고, 판독 전압을 인가하고, 컬럼 제어 회로(2)에 의해 제어된 비트 라인 전위 레벨과 결합된 기입 전압을 인가하며, 메모리 셀(M)이 형성된 p-타입 영역의 전압과 결합된 소거 전압을 인가한다. C- 소스 제어 회로(4)는 메모리 셀(M)에 접속된 공동 소스 라인을 제어한다. C-P-웰 제어 회로(5)는 c-p-웰 전압을 제어한다.
5 is a high-level schematic block diagram of a flash memory device. The
메모리 셀(M)에 저장된 데이터는 컬럼 제어 회로(2)에 의해 판독되고 I/O 라인을 거쳐 외부 I/O 라인으로 출력되어 데이터 입력/출력 버퍼(6)로 출력된다. 메모리 셀에 저장되는 프로그램 데이터는 외부 I/O 라인을 거쳐 데이터 입력/출력 버퍼(6)에 입력되고 컬럼 제어 회로(2)에 전달된다. 외부 I/O 라인은 제어기(20)에 연결된다.
The data stored in the memory cell M is read by the column control circuit 2, output to the external I / O line via the I / O line, and output to the data input / output buffer 6. The program data stored in the memory cell is input to the data input / output buffer 6 via the external I / O line and transferred to the column control circuit 2. The external I / O line is connected to the controller 20.
플래시 메모리 장치를 제어하기 위한 명령 데이터는 제어기(20)에 접속된 외부 제어 라인에 접속된 명령 인터페이스에 입력된다. 명령 데이터는 어떤 동작이 요청되었는지를 플래시 메모리에 통지한다. 입력 명령은 컬럼 제어 회로(2), 로우 제어 회로(3), c-소스 제어 회로(4), c-p-웰 제어 회로(5) 데이터 입력/출력 버퍼(6)를 제어하는 상태 머신(8)에 전달된다. 상태 머신(8)은 READY/BUSY 또는 PASS/FAIL과 같은 플래시 메모리의 상태 데이터를 출력할 수 있다.
The command data for controlling the flash memory device is input to a command interface connected to an external control line connected to the controller 20. [ The command data notifies the flash memory which operation is requested. The input command is input to the state machine 8 which controls the column control circuit 2, the row control circuit 3, the c-
제어기(20)는 퍼스널 컴퓨터, 디지탈 카메라, PDA와 같은 호스트 시스템에 연결되어 있거나 연결가능하다. 호스트는 메모리 어레이(1)로부터 데이터를 판독하거나 메모리 어레이에 데이터를 저장하는 것과 같은 명령어를 개시하고, 그런 데이터를 제공하거나 수신한다. 제어기(20)는 이런 명령어를 명령 회로(7)에 의해 해석되거나 실행될 수 있는 명령어 신호로 변환한다. 제어기(20)는 통상적으로 메모리 어레이로부터 판독되거나 메모리 어레이에 기입되는 사용자 데이터를 위한 버퍼 메모리를 포함한다. 물론 메모리 어레이와 장치의 제어 회로를 함께 하나 또는 하나 이상의 집적 회로 칩에 집적하는 것이 현재의 경향이다. 메모리 장치는 호스트 시스템의 일부로서 실장될 수 있고, 호스트 시스템의 전용 소켓(mating socket)에 탈착가능한 메모리 카드에 포함될 수도 있다. 이러한 카드는 완전 메모리 장치 또는 제어기와 메모리 어레이를 연관된 주변 회로와 함께 포함하거나 별도의 카드에 제공될 수도 있다.
The controller 20 is connected to or connectable to a host system such as a personal computer, a digital camera, or a PDA. The host initiates commands such as reading data from the
도 6은 도 의 부분 확대도로서, 제어기(20)는 하나 이상의 천공된 코드워드로서 호스트로부터 수신된 사용자 데이터를 인코딩하는 인코더(52), 명령 회로(7)에게 천공된 코드워드를 메모리 셀 어레이(1)에 저장하라 지시하고 명령 회로(7)에게 메모리 셀 어레이(1)로부터 저장된 천공 코드워드를 검색할 것을 지시하는 R/W 회로(54), 및 디코더(30)를 포함하는데, 디코더는 도 3의 디코더(60)이거나 도 4의 디코더(80)일 수 있으며 회로(54)에 의해 검색된 바와 같은 천공 코드워드의 표본을 디코딩한다.
FIG. 6 is a partial enlarged view of the diagram, in which the controller 20 includes an encoder 52 for encoding user data received from a host as one or more punctured codewords, An R / W circuit 54 for instructing the instruction circuit 7 to store the punctured code word in the
종래로부터 RCPC는 시변 통신 채널(time-varying communication channel)에만 적용가능한 것으로 생각되어 왔다. 시간에 따라 점차적으로 불안정해지는 플래시 메모리와 같은 메모리 역시 시변 오류(커럽팅) 매체(time-varying corrupting media)이다. 제어기(20)는 먼저 상대적으로 많은 개수의 천공 비트를 사용하고 메모리 셀 어레이(1)가 시간이 지나 안정성이 떨어짐에 따라 그 개수를 점차적으로 감소시킨다.
Conventionally, RCPC has been considered to be applicable only to time-varying communication channels. Memory, such as flash memory, that gradually becomes unstable over time is also a time-varying corrupting medium. The controller 20 first uses a relatively large number of puncturing bits and gradually reduces the number of
도 7은 제어기(20)의 대부분의 기능들이 소프트웨어에 의해 유효화되는 시스템(100)의 하이-레벨 블록도이다. 시스템(100)은 프로세서(102)와 4개의 메모리 장치, 즉 램(104), 부트 롬(106), 대용량 저장 장치(하드 디스크(108)) 및 도 5의 변형된 플래시 메모리 장치로서 플래시 메모리 장치(112)를 포함하고, 모두 공동 버스(114)를 통해 통신한다. 도 5의 플래시 메모리 장치와 플래시 메모리 장치(112) 사이의 차이점은 플래시 메모리 장치(112)의 제어기는 버스(114)에 대한 인터페이스로서만 기능하고, 도 5의 제어기(20)의 나머지 기능은 전술한 바와 같이 대용량 저장 장치(108)에 저장되고 프로세서(102)에 의해 실행되는 플래시 메모리 구동 코드(110)에 의해 에뮬레이트되어 프로세서(102)에 의해 실행되는 유저 어플리케이션과 플래시 메모리 장치(112) 사이에 인터페이싱하고 플래시 메모리 장치(112)의 플래시 메모리를 관리하는 점이다. 또한 플래시 메모리 구동 코드의 종래의 기능에 더하여, 구동 코드(110)는 전술한 바와 같이 메모리 셀 어레이(1)에 저장되고 메모리 셀 어레이(1)로부터 판독되는 코드워드의 천공 인코딩 및 디코딩에 관한 도 5의 제어기(20)의 기능을 에뮬레이트한다. 구동 코드(110)는 통상적으로 시스템(100)의 운영체제에 포함되지만 독립 코드일 수도 있다.
7 is a high-level block diagram of the
플래시 메모리 장치(112) 이외의 시스템(100)의 구성요소는 플래시 메모리 장치(112)의 호스트(120)를 형성한다. 대용량 저장 장치(108)는 전술한 바와 같이 효율적인 천공 디코딩을 위한 컴퓨터-판독가능한 구동기를 포함한 컴퓨터-판독가능한 저장 매체의 일례이다. 이와 같은 컴퓨터 판독-가능한 매체의 다른 예는 이런 코드를 포함한 CD와 같은 판독 전용 메모리를 포함한다.
Components of the
본 명세서에서 설명된 방법 및 디코더는 데이터 저장 시스템에 사용하는 것으로 우선하여 설명하였지만, 본 발명의 방법은 통신 시스템, 특히 잡음 전송 미디어(noisy transmission media)을 통한 웨이브 전파(wave propagation)에 의존하는 통신 시스템에 적용가능하다.
Although the methods and decoders described herein are primarily described for use in data storage systems, the method of the present invention is applicable to communication systems, particularly those that rely on wave propagation through noisy transmission media System.
도 8은 송신기(210), 채널(203) 및 수신기(212)를 포함하는 통신 시스템(200)의 하이-레벨 블록 회로도이다. 송신기(210)는 인코더(201)와 변조기(202)를 포함한다. 수신기(212)는 복조기(204)와 디코더(206)를 포함하고, 디코더(206)는 도 3의 디코더(60) 또는 도 4의 디코더(80) 중 하나 일 수 있다. 인코더(201)는 메시지를 수신하고 대응하는 천공 코드워드를 생성한다. 변조기(202)는 생성된 천공 코드워드를 디지탈 변조, 예를 들면 BPSK, QPSK 또는 멀티 밸류 QAM(multi-valued QAM) 시키고 얻어진 변조된 신호를 채널(203)을 통해 수신기(212)로 전달한다. 수신기(212)에서, 복조기(204)는 변조된 신호를 채널(203)로부터 수신하고 수신된 변조 신호를 디지탈 복조, 예를 들면 BPSK, QPSK 또는 멀티 밸류 QAM(multi-valued QAM) 시킨다. 전술한 바와 같이 디코더(206)는 원본의 천공 코드워드의 최종 표본을 디코딩한다.
8 is a high-level block circuit diagram of a communication system 200 that includes a transmitter 210, a channel 203, The transmitter 210 includes an encoder 201 and a modulator 202. The receiver 212 includes a demodulator 204 and a decoder 206 and the decoder 206 may be one of the decoders 60 of Fig. 3 or the decoder 80 of Fig. Encoder 201 receives the message and generates a corresponding puncturing codeword. The modulator 202 digitally modulates the resulting punctured codeword, for example BPSK, QPSK or multi-valued QAM, and delivers the resulting modulated signal to the receiver 212 over channel 203. At receiver 212, demodulator 204 receives a modulated signal from channel 203 and digitally demodulates the received modulated signal, e.g., BPSK, QPSK, or multi-valued QAM. As described above, the decoder 206 decodes the final sample of the punctured codeword of the original.
천공 코드워드의 효율적 디코딩을 위한 전술한 방법의 변형예에서, H'는 가우시안 제거법이 아닌 H의 로우의 그룹을 병합하는 것에 의해 H로부터 유도된다. 각각의 그룹에 있어서, 천공 비트와 연관된 각각의 컬럼 내의 1의 개수는 짝수(even)여야만 하며, 그룹의 로우의 모듈로 2 덧셈은 그들의 1에 0을 더한다.
In a variation of the above method for efficient decoding of punctured codewords, H 'is derived from H by merging groups of rows of H rather than Gaussian elimination. For each group, the number of 1's in each column associated with the punctured bits must be even, and the modulo 2 addition of the rows of the group adds 0 to their 1's.
중여한 특별한 경우는 H의 로우의 쌍(pairs)을 병합하는 것이다. m은 이 특별한 경우에 있어서 반듯이 작수이어야 한다. H'의 결과 매트릭스는 m/2 로우와 n-m/2 컬럼을 가진다. 도 2의 패리티 체크 매트릭스는 매트릭스 H의 일례이고, 이 H로부터 H'가 로우의 쌍의 병합에 의해 유도될 수 있다. 이 경우, m=2m'이다. 병합은 쌍(로우 1과 로우 m'+1), 쌍(로우 2와 로우 m'+2),..., 쌍(로우 m'와 로우 2m')의 모듈로 2 덧셈에 의해 수행된다. 또한 매트릭스 H는 바람직하게 병합된 로우가 다른 컬럼(천공 비트와 연관된 컬럼은 제외함)에 그들의 1을 가지도록 설계된다. 이 방식으로, H의 모든 로우가 동일한 수의 1을 가진다면, H'의 모든 로우는 동일한 수의 1을 가진다. 이런 특성은 반복 디코딩(iterative decoding)에 바람직하고, 올바른 정규 LDPC는 최적에 근접한 에러 교정 능력(near optimal error correction capability)이 얻어지도록 설계될 수 있다. 또한 이런 조직적 구조는 효율적인 디코더 하드웨어 설계에 기여한다.
A special case of middle is to merge the pairs of rows of H. m must be a positive number in this particular case. The resulting matrix of H 'has m / 2 rows and nm / 2 columns. The parity check matrix of FIG. 2 is an example of a matrix H, from which H 'can be derived by merging pairs of rows. In this case, m = 2m '. The merging is performed by modulo 2 addition of a pair (
이 변형예에서, H와 H'는 디코더(80)의 비휘발성 메모리(86) 내의 동일한 어레이에 저장될 수 있다. H의 각각의 로우에 있어서, 로우의 엘리먼트가 1인 컬럼의 인덱스만이 저장된다. H가 정규 매트릭스라면(로든 로우가 동일한 수의 1을 가진 매트릭스), 인덱스는 단순히 연속으로 저장되고 코드 축소 모듈(82)은 미리 정해진 수의 인덱스가 전송된 후 H의 새로운 로우가 시작됨을 알기 때문에 저장은 보다 더 단순해질 수 있다. H가병합된 로우가 상이한 컬럼에 그들의 1을 가지도록 설계되면, H'는 H의 병합 로우에 의해 그때 그때 생성되기 때문에 H'를 반듯이 저장할 필요는 없다. H의 병합된 로우의 "1" 엘리먼트의 인덱스는 H'의 로우의 "1" 엘리먼트의 인덱스이다.
In this variation, H and H 'may be stored in the same array in non-volatile memory 86 of decoder 80. For each row of H, only the index of the column with
H'가 H의 연속적인 로우를 병합하여 유도되면(H의 제1 및 제2 로우의 병합, H의 제3 및 제4 로우의 병합,.., H의 제m-1 및 제m 로우의 병합), 디코더(80)는 H를 사용한 (n-엘리먼트 미천공 코드워드의 표본의)미천공 디코딩 또는 H'를 사용한 (n'-엘리먼트 미천공 코드워드의 표본의)미천공 디코딩 중 하나로 구현가능한다.
If H 'is derived by concatenating the successive rows of H (merging of the first and second rows of H, merging of the third and fourth rows of H, ..., of the m-1 and m rows of H Decoder 80 is implemented either in un-punctured decoding (of a sample of n-element unperforated codewords) with H or un-punctured decoding (of a sample of n'-element unperforated codewords) using H ' It is possible.
전술한 방법의 제2 변형예는 잠재적 단점의 방법을 지향한다. m' 로우를 지닌 매트릭스 H'에 있어서, 완전 가우시안 제거는 메시지 패싱에 의한 디코딩에 사용하기에 불충분한 스파스(sparse)를 가진 매트릭스 H'를 생성할 수도 있다. 실험경험을 통해, 스파스에 대한 유용한 기준은 H'의 평균 컬럼 등급(degree)이며, 예를 들면 H'의 컬럼 당 1의 평균 개수, 10보다 작고 또한 H'의 로우를 4로 나눈 수보다 작아야 한다. 양호한 LDPC 코드의 경우 패리티 체크 매트릭스의 평균 컬럼 등급은 3과 4 사이이다. H로 부터 H'를 유도하는 가우시안 제거는 H의 다른 컬럼을 제거하는 것이 이 기준에 따른 스파스가 아닌 매트릭스 H'를 생성할 때까지 실시된다. 다음으로, 디코딩 동안, 종래의 소거 디코딩은 H의 대응하는 컬럼이 제거되지 않은 천공 비트를 제어하는데 이용된다.
A second variant of the above-described method is directed to a method of potential disadvantages. For matrix H 'with m' rows, full Gaussian elimination may produce a matrix H 'with sparse that is insufficient for use in decoding by message passing. Experimental experience shows that a useful criterion for sparse is the average column rank of H ', for example, the average number of 1's per column of H', less than 10 and also the number of rows of H 'divided by 4 It should be small. For good LDPC codes, the average column rank of the parity check matrix is between 3 and 4. Gaussian removal from H to H 'is carried out until the removal of the other column of H produces a non-sparse matrix H' according to this criterion. Next, during decoding, conventional erasure decoding is used to control the puncturing bits for which the corresponding column of H has not been removed.
전술한 방법의 제3 변형예에 대한 하나의 예가 도 9에 도시되는데, 도 9는 이하의 방식으로 복수의 섹션으로 분할되어진 LDPC 코드를 나타내는 양자간 그래프(bipartite graph)를 나타낸다.One example of a third variant of the above method is shown in Fig. 9, which shows a bipartite graph representing LDPC codes divided into a plurality of sections in the following manner.
1) 비트 노드의 세트 V를 t개의 분리된 서브 세트 V1, V2,..., Vt)(따라서 V = V1 U V2 U...U Vt)1) a set V of bit nodes into t divided sub-sets V 1 , V 2 , ..., V t ) (therefore V = V 1 U V 2 U ... U V t )
2) 비트 노드의 각각의 서브세브 Vi에 대해 Vi 내의 비트 노드에 독립으로 연결된 모든 체크 노드를 포함하는 체크 노드의 서브세트 Ci를 형성함2) forming a respective subset of a check node Ci to include all the check nodes connected to a bit node as a stand-in for the sub-SEB V i V i of the bit nodes
3) 지금까지 형성된 임의의 체크 노드 서브세트에 없는 모든 체크 노드를 포함하는 외부 체크 노드의 서브세트 CJ를 형성함, 예를 들면 CJ=C\(C1UC2U...UCt)3) Form a subset C J of outer check nodes that contains all the check nodes that are not in any previously generated check node subset, for example C J = C \ (C 1 UC 2 U ... UC t )
4) Gi = (Vi, Ci, Ei)가 되도록 그래프 G를 t 서브-그래프 G1, G2,..,Gt로 분리하고, 여기서 Ei는 Vi 내의 비트 노드와 Ci 내의 체크 노드 사이에 연결된 에지의 세트임. 에지는 EJ(EJ=E\(E1 U E2 U...U Et))에 의해 세트 CJ에 연결됨.
4) Divide graph G into t sub-graphs G 1 , G 2 , .., G t such that Gi = (V i , C i , E i ), where E i is the bit node in V i and C i Lt; / RTI > is the set of edges connected between the check nodes in the block. The edge is connected to set CJ by E J (E J = E \ (E 1 U E 2 U ... U E t )).
이 실시예에서, 그래프 G는 특정 메시지 패싱 스케줄에 따라, 디코딩 페이즈의 반복 수행에 의해 처리되고, 각각의 디코딩 페이즈에서 다음의 순서로 그래프 에지를 따라 메시지를 교환한다.In this embodiment, the graph G is processed by iteration of the decoding phase according to a specific message passing schedule, and exchanges messages along the graph edge in the following order in each decoding phase.
·i = 1 부터 t· I = 1 to t
1. 도 9 내의 RCJVi 메시지로 도시된 바와 같이, EJ내의 에지를 따라 체크 노드 c∈CJ로부터 비트 노드 v∈Vi까지, 메시지를 전송한다. 도 9 내의 RCiVi 메시지로 도시된 바와 같이, 체크 노드 c∈Ci로부터 비트 노드 v∈Vi까지의 메시지를 제로로 설정한다. 도 9 내의 Pvi 메시지로서 도시된 바와 같이, 모든 비트 v∈Vi에 대해 초기 비트 추정값을 설정한다. RCJVi 메시지는 이 단계 이전에 다른 t-1 서브-그래프 Gk, k≠i에 대해 디코더를 활성화시킨 결과이다. 다른 서브-그래프가 아직 처리되지 않은 경우, 도 9에서 그들의 대응하는 메시지 QvicJ는 메모리로부터 판독된 또는 통신 채널로부터 수신된 바와 같은 초기 비트 추정값으로 설정된다. 천공 비트의 초기(LLR) 추정값은 동등하게 제로이다.1. Send a message from the check node c? C J to the bit node v? V i along the edge in E J , as shown by the R CJVi message in FIG. As shown in Figure 9 in the R CiVi messages, check node i is set from c∈C messages to the bit node v∈V i to zero. The initial bit estimate is set for all bits v? V i , as shown in the Pvi message in FIG. The R CJVi message is the result of activating the decoder for another t-1 sub-graph G k , k ≠ i before this step. If the other sub-graphs have not yet been processed, their corresponding message Q vicJ in Fig. 9 is set to an initial bit estimate as read from memory or received from the communication channel. The initial (LLR) estimate of the puncturing bits is equally zero.
2. 스케줄에 기반해 Ei 내의 에지를 따라 Vi 내의 비트 노드로부터 Ci 내의 체크 노드로 메시지를 전송함으로써 하나 이상의 반복(iterations)을 수행한다. 이는 도 9에서 Qvici 및 Rcivi 메시지로 도시된다.2. It performs one or more iterations by sending a message from the bit node in V i to the check node in C i along the edge in E i based on the schedule. This is shown in Fig. 9 as Q vici and R civi messages.
3. EJ 내의 에지를 따라 Vi 내의 비트 노드로부터 CJ 내의 체크 노드로 메시지를 전송한다. 이는 도 9에서 QvicJ 메시지로 도시된다.
3. Transmit the message from the bit node in V i to the check node in C J along the edge in E J. This is shown in Fig. 9 as Q vicJ message.
디코더가 모든 패리티-체크 제약을 만족하면서 유효 코드워드로 수렴할 때 까지, 또는 허용된 디코팅 페이즈의 최대수에 도달할 때 까지 디코딩을 계속한다. 각각의 서브-그래프 내의 메시지 패싱에 대한 정지 기준은 유사한데, 이 서브-그래프 내의 모든 패리티-체크 제약이 만족될 때 가지 또는 허용된 반복의 최대수에 도달될 때가지 반복한다. 통상적으로, 반복의 최대 허용된 수는 하나의 서브-그래프로부터 다른 하나의 것 또는 하나의 디코더의 활성화로부터 다른 하나의 것까지 변화될 수 있다.
Decoding continues until the decoder converges to a valid codeword while satisfying all parity-check constraints, or until the maximum number of allowed decapsulation phases is reached. The stopping criteria for message passing in each sub-graph are similar, repeating until the maximum number of branches or allowed iterations is reached when all parity-check constraints in this sub-graph are satisfied. Typically, the maximum allowed number of iterations can vary from one sub-graph to another or from activation of one decoder to the other.
이와 관련한 일부 구현에 있어서, CJ 내의 체크 노드는 천공 비트에 대응하는 비트 노드에만 연결된다. 분리된 서브-그래프 Gi 내의 메시지 교환은 천공 비트와 함께 H에의해 천공된 비트에만 연결된 비트를 무시하는 매트릭스 H'를 사용하여 수행된다. 도 10은 어떻게 H'가 H로부터 유도되는지를 도시하는 태너 그래프이다. 번호가 부여된 원은 비트 노드이다. 번호가 부여된 사각형은 체크 노드이다. 도 10의 태너 그래프는 세번째의 변형예의 개념을 나타내고 도 9의 컨텍스트에 사용될 필요성은 없다. 도 10의 테너 그래프에 대응하는 매트릭스 H는 다음과 같다.In some implementations in this regard, the check nodes in C J are connected only to the bit nodes corresponding to the puncturing bits. The exchange of messages in the separated sub-graph G i is performed using a matrix H 'which ignores the bits associated with only punctured bits by H with puncturing bits. FIG. 10 is a tanner graph showing how H 'is derived from H. FIG. The numbered circle is a bit node. The numbered rectangle is a check node. The tanner graph of Fig. 10 represents the concept of the third variant and need not be used in the context of Fig. The matrix H corresponding to the tenor graph of FIG. 10 is as follows.
(4) (4)
비트 7, 8, 9는 천공된다. H'는 로우 1과 4, 로우 2와 5, 로우 3과 6의 모듈로-2 덧셈과, 마지막 로우와 마지막 4개의 컬럼을 생략하는 것에 의해 유도된다.Bits 7, 8, and 9 are punctured. H 'is derived by omitting the modulo-2 addition of
(5)
(5)
이상 천공 디코딩을 위한 방법, 이 방법을 사용하는 장치 및 시스템의 제한된 실시예를 설명하였다. 그러나 이 방법, 장치 및 시스템의 각종 변형, 변경 및 다른 응용이 본 발명의 범위 내에서 이루어질 수 있다는 것은 자명하다.
A method for ideal punctured decoding, a limited embodiment of an apparatus and system using this method has been described. It will, however, be evident that various modifications, alterations, and other applications of the method, apparatus, and system may be made within the scope of the present invention.
Claims (44)
(a) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 입력 비트를 인코딩하는 단계 - 그에 따라 n 비트의 코드워드가 생성됨 - ;
(b) 코드워드를 천공하는 단계 - 그에 따라 n' < n 비트의 천공 코드워드가 제공됨 - ;
(c) 천공 코드워드를 커럽팅 매체(corrupting medium)로 보내기(exporting)하는 단계;
(d) 커럽팅 매체로부터 천공 코드워드의 표본(representation)을 가져오기(importing) 하는 단계;
(e) 상기 매트릭스 H의 로우의 쌍(pairs of rows)을 병합하는 것에 의해 상기 매트릭스 H로부터 매트릭스 H'를 유도하는 단계 - 상기 로우의 쌍은 상이한 컬럼들에 1을 가짐 -; 및
(f) 최대 m개의 로우와 n개 보다 작고 n'와 동일하지 않은 수의 컬럼을 가진 상기 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계 - 여기서 H'는 제2 코드의 패리티 체크 매트릭스이고, 천공 코드워드는 제2 코드의 코드워드 임 -
를 포함하는 것을 특징으로 하는 k 입력 비트를 포팅(porting)하는 방법.
A method for porting k input bits,
(a) encoding an input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns, whereby an n-bit code word is generated;
(b) puncturing the codeword so that n < n bits of punctured codeword are provided;
(c) exporting the punctured codeword to a corrupting medium;
(d) importing a representation of the punctured codeword from the killing medium;
(e) deriving a matrix H 'from the matrix H by merging pairs of rows of the matrix H, the pair of rows having a 1 in different columns; And
(f) decoding a sample of the punctured codeword using the matrix H 'having at most m rows and a number of columns less than n and not equal to n', where H 'is the parity check of the second code Matrix, and the punctured codeword is a codeword of the second code -
Gt; k < / RTI > input bits.
제1 코드는 블록 코드인 것을 특징으로 하는 k 입력 비트를 포팅(porting)하는 방법.
The method according to claim 1,
Wherein the first code is a block code. ≪ RTI ID = 0.0 > 11. < / RTI >
디코딩은 H'의 로우에 대응하는 태너 그래프(Tanner graph)의 노드와 H'의 컬럼에 대응하는 태너 그래프의 노드 사이에서 메시지를 교환하는 단계를 포함하는 것을 특징으로 하는 k 입력 비트를 포팅(porting)하는 방법.
The method according to claim 1,
Decoding includes exchanging a message between a node of a tanner graph corresponding to a row of H 'and a node of a tanner graph corresponding to a column of H' )How to.
상기 커럽팅 매체는 전송 매체이고,
상기 보내기 단계는, 상기 전송 매체를 통해 천공 코드워드를 전송하는 단계를 포함하고, 상기 가져오기 단계는 상기 전송 매체로부터 천공 코드워드의 표본을 수신하는 단계를 포함하는 것을 특징으로 하는 k 입력 비트를 포팅(porting)하는 방법.
The method according to claim 1,
Wherein the calling media is a transmission medium,
Wherein said transmitting step comprises transmitting a punctured codeword through said transmission medium and said fetching step comprises receiving a punctured codeword sample from said transmission medium. How to port.
상기 커럽팅 매체는 저장 매체이고,
상기 보내기 단계는, 상기 저장 매체에 천공 코드워드를 저장하는 단계를 포함하고, 상기 가져오기 단계는 상기 저장 매체로부터 천공 코드워드의 표본을 판독하는 단계를 포함하는 것을 특징으로 하는 k 입력 비트를 포팅(porting)하는 방법.
The method according to claim 1,
Wherein the calling media is a storage medium,
Wherein the step of sending includes storing punctured codewords in the storage medium and the fetching step comprises reading a sample of punctured codewords from the storage medium. lt; / RTI >
H'는 n'개 보다 많은 컬럼을 가지며,
상기 천공 단계는 코드워드로부터 n-n'개의 선택된 비트를 제거하는 단계를 포함하고,
상기 H로부터 H'를 유도하는 단계는
m''<n-n'개의 선택된 비트에 대응하는 H의 컬럼들 중 엘리먼트 1 부터 m-m'' 까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거(Gaussian elimination)를 수행하는 단계를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 m''의 선택된 비트에 대응하는 컬럼이 없는 H''의 m-m'' 로우로 되는 것을 특징으로 하는 k 입력 비트를 포팅(porting)하는 방법.
The method according to claim 1,
H 'has more than n' columns,
The puncturing step includes removing n-n ' selected bits from the codeword,
The step of deriving H 'from H
performing Gaussian elimination on H such that the elements 1 through m-m " of the H columns corresponding to m "< n-n selected bits are set equal to zero M " of H ''' where there is no column corresponding to a selected bit of m '', so that a matrix H " )How to.
상기 가우시안 소거는 다른 가우시안 소거가 스파스(sparseness)의 미리 결정된 기준을 만족시키지 않은 매트릭스 H'를 생성할때 종료되는 것을 특징으로 하는 k 입력 비트를 포팅(porting)하는 방법.
8. The method of claim 7,
Wherein the Gaussian cancellation is terminated when another Gaussian cancellation produces a matrix H 'that does not satisfy a predetermined criterion of sparseness.
상기 스파스의 미리 결정된 기준은 H'의 평균 컬럼의 수(average column degree)가 10과 H'의 로우의 수의 1/4 중 작은 것 보다도 작은 k 입력 비트를 포팅(porting)하는 방법.
9. The method of claim 8,
Wherein the predetermined criterion of the sparse is to port the k input bits where the average column degree of H 'is less than a small of one-fourth of the number of rows of 10 and H'.
H'는 m'=m-(n-n') 보다 작은 로우와 n'보다 작은 컬럼을 가지며,
상기 천공 단계는 코드워드로부터 n-n' 선택 비트를 제거하는 단계를 포함하고,
상기 H로부터 H'를 유도하는 단계는, 선택 비트에 대응하는 H의 컬럼들 중 엘리먼트 1부터 m'까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 단계를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 선택된 비트에 대응하는 컬럼이 없이 그리고 선택된 비트에만 H에 의해 연결된 다른 비트에 대응하는 적어도 하나의 컬럼 없이 H''의 선택된 로우인 것을 특징으로 하는 k 입력 비트를 포팅(porting)하는 방법.
The method according to claim 1,
H 'has a row smaller than m' = m- (n-n ') and a column smaller than n'
The puncturing step includes removing nn 'selection bits from the codeword,
The step of deriving H 'from H comprises performing Gaussian elimination on H such that elements 1 through m' of the columns of H corresponding to the selected bit are set equal to zero, H " is generated, and H 'is a selected row of H''without at least one column corresponding to another bit connected by H, with no column corresponding to the selected bit and only the selected bit. / RTI >
(b) 상기 메모리에 k 입력 비트를 저장하고 상기 메모리로부터 입력 비트를 회복시키는 제어기를 포함하고,
상기 제어기는,
(i) 인코더 - 상기 인코더는,
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하고,
(B) 코드워드를 천공하여 n 보다 작은 n' 비트의 천공된 코드워드를 제공함 - ; 및
(ii) 디코더 - 상기 디코더는 상기 메모리로부터 판독된 천공 코드워드의 표본을 디코딩하고, 여기서 디코딩은 최대 m개의 로우와 n 보다 작고 n'와 같지 않은 컬럼 수를 가진 매트릭스 H'를 사용하여 수행되고, H'는 제2 코드의 패리티 체크 매트릭스이고, 천공 코드워드는 제2 코드의 코드워드이고, 상기 매트릭스 H'는 상기 매트릭스 H의 로우의 쌍을 병합하는 것에 의해 상기 매트릭스 H로부터 유도되고, 상기 로우의 쌍은 상이한 컬럼들에 1을 가지고, H와 H'는 상기 메모리 내의 동일한 어레이에 저장됨 - 를 포함하는 것을 특징으로 하는
메모리 장치.
(a) a memory, and
(b) a controller for storing k input bits in the memory and recovering input bits from the memory,
The controller comprising:
(i) Encoder -
(A) encoding an input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to produce an n-bit code word,
(B) puncturing a codeword to provide a punctured codeword of n 'bits less than n; And
(ii) Decoder - the decoder decodes a sample of the punctured codeword read from the memory, wherein the decoding is performed using a matrix H 'having a maximum of m rows and a number of columns less than n and not equal to n' , H 'is the parity check matrix of the second code, the punctured codeword is the codeword of the second code, the matrix H' is derived from the matrix H by merging the pair of rows of the matrix H, Characterized in that the pair of rows has one in the different columns and the H and H 'are stored in the same array in the memory
Memory device.
(b) 제1 메모리의 호스트를 포함하고,
상기 호스트는,
(i) 제1 메모리를 관리하기 위한 코드가 저장되어 있는 제2 메모리 및
(ii) 상기 코드를 실행하기 위한 프로세서를 포함하고,
상기 제1 메모리는,
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하는 단계,
(B) 코드워드를 천공하여 n' < n 의 천공된 코드워드를 제공하는 단계,
(C) 제1 메모리에 천공 코드워드를 저장하는 단계,
(D) 제1 메모리로부터 천공 코드워드의 표본을 판독하는 단계,
(E) 상기 매트릭스 H의 로우의 쌍을 병합하는 것에 의해 상기 매트릭스 H로부터 매트릭스 H'를 유도하는 단계 - 상기 로우의 쌍은 상이한 컬럼들에 1을 가짐 -; 및
(F) 최대 m개의 로우와 n개 보다 작고 n'개와 동일하지 않은 수의 컬럼을 가진 상기 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계 - 여기서 H'는 제2 코드의 패리티 체크 매트릭스이고, 천공 코드워드는 제2 코드의 코드워드 임 - 를 포함하는 단계에 의해 관리되는 것을 특징으로 하는 시스템.
(a) a first memory; And
(b) a host of the first memory,
The host,
(i) a second memory in which a code for managing a first memory is stored, and
(ii) a processor for executing the code,
The first memory comprising:
(A) encoding a k input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to produce an n-bit code word,
(B) puncturing the codeword to provide a punctured codeword of n '< n,
(C) storing a punctured codeword in a first memory,
(D) reading a sample of punctured codewords from a first memory,
(E) deriving a matrix H 'from the matrix H by merging a pair of rows of the matrix H, the pair of rows having a 1 in different columns; And
(F) decoding a sample of punctured codewords using the matrix H 'with a maximum of m rows and a number of columns less than n and not equal to n', where H 'is the parity check of the second code Matrix and a punctured codeword is a code word of a second code.
H'는 n'개 보다 많은 컬럼을 가지며,
상기 천공하는 것은 코드워드로부터 n-n'개의 선택된 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 단계는,
m''<n-n'개의 선택된 비트에 대응하는 H의 컬럼들 중 엘리먼트 1 부터 m-m'' 까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 단계를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 m''의 선택된 비트에 대응하는 컬럼이 없는 H''의 m-m'' 로우로 되는 것을 특징으로 하는 시스템.
13. The method of claim 12,
H 'has more than n' columns,
The puncturing may include removing n-n ' selected bits from the codeword,
Wherein deriving H 'from H comprises:
performing a Gaussian erasure on H such that elements 1 through m-m " of the columns of H corresponding to m "< n-n selected bits are set equal to zero, The matrix H " is generated, and H 'becomes the m-m " low of H''without a column corresponding to the selected bit of m''.
상기 가우시안 소거는 다른 가우시안 소거가 스파스(sparseness)의 미리 결정된 기준을 만족시키지 않은 매트릭스 H'를 생성할때 종료되는 것을 특징으로 하는 시스템.
15. The method of claim 14,
Wherein said Gaussian cancellation is terminated when another Gaussian cancellation produces a matrix H 'that does not satisfy a predetermined criterion of sparseness.
상기 스파스의 미리 결정된 기준은 H'의 평균 컬럼의 수가 10과 H'의 로우의 수의 1/4 중 작은 것 보다도 작은 것인 시스템.
16. The method of claim 15,
Wherein the predetermined criterion of the sparse is that the number of average columns of H 'is less than a small of one-fourth of the number of rows of 10 and H'.
H'는 m'=m-(n-n') 보다 작은 로우와 n'보다 작은 컬럼을 가지며,
상기 천공하는 것은 코드워드로부터 n-n' 선택 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 단계는, 선택 비트에 대응하는 H의 컬럼들 중 엘리먼트 1부터 m'까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 단계를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 선택된 비트에 대응하는 컬럼이 없이 그리고 선택된 비트에만 H에 의해 연결된 다른 비트에 대응하는 적어도 하나의 컬럼 없이 H''의 선택된 로우인 것을 특징으로 하는 시스템.
13. The method of claim 12,
H 'has a row smaller than m' = m- (n-n ') and a column smaller than n'
The puncturing may include removing nn 'selection bits from the codeword,
The step of deriving H 'from H comprises performing Gaussian elimination on H such that elements 1 through m' of the columns of H corresponding to the selected bit are set equal to zero, H " is generated, and H 'is the selected row of H''without at least one column corresponding to the other bits connected by H, with no column corresponding to the selected bit and only the selected bit.
상기 컴퓨터 판독가능한 코드는,
(a) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하는 프로그램 코드,
(b) 코드워드를 천공하여 n' < n 비트의 천공된 코드워드를 제공하는 프로그램 코드,
(c) 메모리에 천공 코드워드를 저장하는 프로그램 코드,
(d) 메모리로부터 천공 코드워드의 표본을 판독하는 프로그램 코드,
(e) 상기 매트릭스 H의 로우의 쌍을 병합하는 것에 의해 상기 매트릭스 H로부터 매트릭스 H'를 유도하는 프로그램 코드 - 상기 로우의 쌍은 상이한 컬럼들에 1을 가짐 -, 및
(f) 최대 m개의 로우와 n개 보다 작고 n'개와 동일하지 않은 수의 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 프로그램 코드 - 여기서 H'는 제2 코드의 패리티 체크 매트릭스이고, 천공 코드워드는 제2 코드의 코드워드 임 - 를 포함하는 것을 특징으로 하는 메모리를 관리하기 위한 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체.
A computer-readable storage medium having recorded therein computer readable code for managing a memory,
The computer readable code comprising:
(a) program code for encoding an k input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to generate an n-bit code word,
(b) program code for puncturing a codeword to provide a punctured codeword of n '< n bits,
(c) program code for storing puncturing codewords in the memory,
(d) program code for reading a specimen of punctured codewords from memory,
(e) program code for deriving a matrix H 'from the matrix H by merging a pair of rows of the matrix H, the pair of rows having a 1 in different columns, and
(f) a program code for decoding a sample of a punctured codeword using a matrix H 'having at most m rows and a number of columns less than n and not equal to n', where H 'is a parity check Matrix and the punctured code word is a code word of a second code. ≪ Desc / Clms Page number 13 >
H'는 n'개 보다 많은 컬럼을 가지며,
천공하는 것은 코드워드로부터 n-n'개의 선택된 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 프로그램 코드는
m''<n-n'개의 선택된 비트에 대응하는 H의 컬럼들 중 엘리먼트 1 부터 m-m'' 까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 프로그램 코드를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 m''의 선택된 비트에 대응하는 컬럼이 없는 H''의 m-m'' 로우로 되는 것을 특징으로 하는 메모리를 관리하기 위한 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체.
19. The method of claim 18,
H 'has more than n' columns,
Puncturing includes removing n-n ' selected bits from the codeword,
The program code for deriving H 'from H
and program code for performing Gaussian elimination on H such that elements 1 through m-m " of columns of H corresponding to m "< n-n selected bits are set equal to zero, Wherein the matrix H " is generated, and H 'is the m-m " low of H''without a column corresponding to the selected bit of m''. A computer-readable storage medium having recorded thereon.
상기 가우시안 소거는 다른 가우시안 소거가 스파스(sparseness)의 미리 결정된 기준을 만족시키지 않은 매트릭스 H'를 생성할때 종료되는 것을 특징으로 하는 메모리를 관리하기 위한 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체.
21. The method of claim 20,
Wherein said Gaussian cancellation is terminated when another Gaussian cancellation produces a matrix H 'that does not satisfy a predetermined criterion of sparseness. Storage medium.
상기 스파스의 미리 결정된 기준은 H'의 평균 컬럼의 수가 10과 H'의 로우의 수의 1/4 중 작은 것 보다도 작은 것을 특징으로 하는 메모리를 관리하기 위한 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체.
22. The method of claim 21,
Characterized in that the predetermined criterion of the sparse is that the number of average columns of H 'is smaller than a small of 1/4 of the number of rows of H ' and the computer readable code for managing the memory Readable storage medium.
H'는 m'=m-(n-n') 보다 작은 로우와 n'보다 작은 컬럼을 가지며,
천공하는 것은 코드워드로부터 n-n' 선택 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 프로그램 코드는, 선택 비트에 대응하는 H의 컬럼들 중 엘리먼트 1부터 m'까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 프로그램 코드를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 선택된 비트에 대응하는 컬럼이 없이 그리고 선택된 비트에만 H에 의해 연결된 다른 비트에 대응하는 적어도 하나의 컬럼 없이 H''의 선택된 로우인 것을 특징으로 하는 메모리를 관리하기 위한 컴퓨터 판독가능한 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체.
19. The method of claim 18,
H 'has a row smaller than m' = m- (n-n ') and a column smaller than n'
Puncturing includes removing nn 'selection bits from the codeword,
The program code for deriving H 'from H comprises program code for performing Gaussian elimination on H such that elements 1 through m' of the columns of H corresponding to the selected bit are set equal to zero, H " is a selected row of H '' without at least one column corresponding to the other bits connected by H, with no column corresponding to the selected bit and only the selected bit. Readable storage medium having recorded thereon computer readable code for managing a computer readable medium.
(a) 전송 장치는 (i) 인코더 및 (ii) 변조기를 포함하고,
(b) 수신 장치는 (i) 복조기 및 (ii) 디코더를 포함하며,
(i) 인코더는,
(A) m개의 로우와 n개(n=m+k) 컬럼을 가진 패리티 체크 매트릭스 H와 연관된 제1 코드에 따라 k 입력 비트를 인코딩하여 n 비트의 코드워드를 생성하고,
(B) 코드워드를 천공하여 n 보다 작은 n' 비트의 천공된 코드워드를 제공하며,
(ii) 변조기는 통신 채널을 통해 변조된 신호로서 천공 코드워드를 전송하고,
(i) 복조기는 통신 채널로부터 변조된 신호를 수신하고 변조된 신호를 복조하여 천공 코드워드의 표본을 제공하고,
(ii) 디코더는 천공 코드워드의 표본을 최대 m개의 로우와 n 보다 작고 n'와 같지 않은 컬럼 수를 가진 매트릭스 H'를 사용하여 디코딩하고, 여기서 H'는 제2 코드의 패리티 체크 매트릭스이고, 천공 코드워드는 제2 코드의 코드워드이고 상기 매트릭스 H의 로우의 쌍을 병합하는 것에 의해 상기 매트릭스 H로부터 매트릭스 H'를 유도하고, 상기 로우의 쌍은 상이한 컬럼들에 1을 가지는 것을 특징으로 하는 통신 시스템.
A communication system comprising (a) a transmission device and (b) a receiving device,
(a) the transmission apparatus comprises (i) an encoder and (ii) a modulator,
(b) the receiving device comprises (i) a demodulator and (ii) a decoder,
(i)
(A) encoding a k input bit according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns to produce an n-bit code word,
(B) puncturing the codeword to provide a punctured codeword of n 'bits less than n,
(ii) the modulator transmits a punctured codeword as a modulated signal over a communication channel,
(i) a demodulator receives a modulated signal from a communication channel and demodulates the modulated signal to provide a sample of punctured codewords,
(ii) the decoder decodes a sample of the punctured codeword using a matrix H 'having a maximum of m rows and a number of columns less than n and not equal to n', where H 'is the parity check matrix of the second code, Wherein the punctured code word is a code word of a second code and derives the matrix H 'from the matrix H by merging the pair of rows of the matrix H, and wherein the pair of rows has one in the different columns Communication system.
(a) 커럽팅 매체로부터 천공 코드워드의 표본(representation)을 가져오기(importing) 하는 단계;
(b) 상기 매트릭스 H의 로우의 쌍을 병합하는 것에 의해 상기 매트릭스 H로부터 매트릭스 H'를 유도하는 단계 - 상기 로우의 쌍은 상이한 컬럼들에 1을 가짐 -;
(c) 최대 m개의 로우와 n개 보다 작고 n'와 동일하지 않은 수의 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 단계 - 여기서 H'는 제2 코드의 패리티 체크 매트릭스이고, 천공 코드워드는 제2 코드의 코드워드 임 - 를 포함하는 것을 특징으로 하는 k 입력 비트를 회복하기 위한 방법.
bit code word according to a first code associated with a parity check matrix H with m rows and n (n = m + k) columns, where n 'is less than n and nn' CLAIMS 1. A method for recovering a k input bit sent to a calling medium as a punctured code word generated by removing from a word,
(a) importing a representation of a punctured codeword from a corrupting medium;
(b) deriving a matrix H 'from the matrix H by merging a pair of rows of the matrix H, the pair of rows having a 1 in different columns;
(c) decoding a sample of the punctured codeword using a matrix H 'having at most m rows and a number of columns less than n and not equal to n', where H 'is a parity check matrix of the second code And the punctured code word is a code word of a second code. ≪ Desc / Clms Page number 21 >
제1 코드는 블록 코드인 것을 특징으로 하는 k 입력 비트를 회복하기 위한 방법.
26. The method of claim 25,
Wherein the first code is a block code.
상기 디코딩은 H'의 로우에 대응하는 태너 그래프(Tanner graph)의 노드와 H'의 컬럼에 대응하는 태너 그래프의 노드 사이에서 메시지를 교환하는 단계를 포함하는 것을 특징으로 하는 k 입력 비트를 회복하기 위한 방법.
26. The method of claim 25,
Wherein said decoding includes exchanging messages between a node of a tanner graph corresponding to a row of H 'and a node of a tanner graph corresponding to a column of H' Way.
H'는 n'개 보다 많은 컬럼을 가지며,
천공하는 것은 코드워드로부터 n-n'개의 선택된 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 단계는
m''<n-n'개의 선택된 비트에 대응하는 H의 컬럼들 중 엘리먼트 1 부터 m-m'' 까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 단계를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 m''의 선택된 비트에 대응하는 컬럼이 없는 H''의 m-m'' 로우로 되는 것을 특징으로 하는 k 입력 비트를 회복하기 위한 방법.
26. The method of claim 25,
H 'has more than n' columns,
Puncturing includes removing n-n ' selected bits from the codeword,
The step of deriving H 'from H
performing a Gaussian erasure on H such that elements 1 through m-m " of the columns of H corresponding to m "< n-n selected bits are set equal to zero, The matrix H " is generated, and H 'becomes the m-m " low of H''without the column corresponding to the selected bit of m''.
상기 가우시안 소거는 다른 가우시안 소거가 스파스(sparseness)의 미리 결정된 기준을 만족시키지 않은 매트릭스 H'를 생성할때 종료되는 것을 특징으로 하는 k 입력 비트를 회복하기 위한 방법.
30. The method of claim 29,
Wherein the Gaussian cancellation is terminated when another Gaussian cancellation generates a matrix H 'that does not satisfy a predetermined criterion of sparseness.
상기 스파스의 미리 결정된 기준은 H'의 평균 컬럼의 수가 10과 H'의 로우의 수의 1/4 중 작은 것 보다도 작은 것인 k 입력 비트를 회복하기 위한 방법.
31. The method of claim 30,
Wherein the predetermined criterion of the sparse is that the number of average columns of H 'is less than a small of one-fourth of the number of rows of 10 and H'.
H'는 m'=m-(n-n') 보다 작은 로우와 n'보다 작은 컬럼을 가지며,
천공하는 것은 코드워드로부터 n-n' 선택 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 단계는, 선택 비트에 대응하는 H의 컬럼들 중 엘리먼트 1부터 m'까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 단계를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 선택된 비트에 대응하는 컬럼이 없이 그리고 선택된 비트에만 H에 의해 연결된 다른 비트에 대응하는 적어도 하나의 컬럼 없이 H''의 선택된 로우인 것을 특징으로 하는 k 입력 비트를 회복하기 위한 방법.
26. The method of claim 25,
H 'has a row smaller than m' = m- (n-n ') and a column smaller than n'
Puncturing includes removing nn 'selection bits from the codeword,
The step of deriving H 'from H comprises performing Gaussian elimination on H such that elements 1 through m' of the columns of H corresponding to the selected bit are set equal to zero, H " is generated, and H 'is a selected row of H''without at least one column corresponding to another bit connected by H, with no column corresponding to the selected bit and only the selected bit. ≪ / RTI >
(a) 최대 m개의 로우와 n개 보다 작고 n'와 동일하지 않은 수의 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 디코딩 모듈 - 여기서 H'는 제2 코드의 패리티 체크 매트릭스이고, 천공 코드워드는 제2 코드의 코드워드 이고 상기 매트릭스 H'는 상기 매트릭스 H의 로우의 쌍을 병합하는 것에 의해 상기 매트릭스 H로부터 유도되고, 상기 로우의 쌍은 상이한 컬럼들에 1을 가짐 -
을 포함하는 것을 특징으로 하는 천공 코드워드의 표본을 디코딩하기 위한 디코더.
A decoder for decoding a punctured codeword sample, wherein the punctured codeword is generated by removing nn 'selected bits from an n-bit codeword , where n' is less than n, k input bits according to a first code associated with a parity check matrix H having m rows and n columns (n = m + k) columns,
(a) a decoding module that decodes a sample of punctured codewords using a matrix H 'having at most m rows and a number of columns that are less than n and not equal to n', where H 'is a parity check The punctured code word is a code word of a second code and the matrix H 'is derived from the matrix H by merging the pair of rows of the matrix H, and the pair of rows has a 1 in the different columns -
And a decoder for decoding the punctured codeword samples.
H'는 n'개 보다 많은 컬럼을 가지며,
천공하는 것은 코드워드로부터 n-n'개의 선택된 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 것은,
m''<n-n'개의 선택된 비트에 대응하는 H의 컬럼들 중 엘리먼트 1 부터 m-m'' 까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 것을를 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 m''의 선택된 비트에 대응하는 컬럼이 없는 H''의 m-m'' 로우로 되는 것을 특징으로 하는 천공 코드워드의 표본을 디코딩하기 위한 디코더.
34. The method of claim 33,
H 'has more than n' columns,
Puncturing includes removing n-n ' selected bits from the codeword,
Deriving H 'from H,
performing a Gaussian elimination on H such that elements 1 through m-m " of columns of H corresponding to m "< n-n selected bits are set equal to zero, H " is generated, and H ' is m-m " low of H " with no column corresponding to the selected bit of m ".
상기 가우시안 소거는 다른 가우시안 소거가 스파스(sparseness)의 미리 결정된 기준을 만족시키지 않은 매트릭스 H'를 생성할때 종료되는 것을 특징으로 하는 천공 코드워드의 표본을 디코딩하기 위한 디코더.
36. The method of claim 35,
Wherein the Gaussian cancellation is terminated when another Gaussian cancellation produces a matrix H 'that does not satisfy a predetermined criterion of sparseness. ≪ Desc / Clms Page number 21 >
상기 스파스의 미리 결정된 기준은 H'의 평균 컬럼의 수가 10과 H'의 로우의 수의 1/4 중 작은 것 보다도 작은 것인 천공 코드워드의 표본을 디코딩하기 위한 디코더.
37. The method of claim 36,
Wherein the predetermined criterion of the sparse is that the number of average columns of H 'is less than a small of one-fourth of the number of rows of 10 and H'.
H'는 m'=m-(n-n') 보다 작은 로우와 n'보다 작은 컬럼을 가지며,
천공하는 것은 코드워드로부터 n-n' 선택 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 것은, 선택 비트에 대응하는 H의 컬럼들 중 엘리먼트 1부터 m'까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 것을 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 선택된 비트에 대응하는 컬럼이 없이 그리고 선택된 비트에만 H에 의해 연결된 다른 비트에 대응하는 적어도 하나의 컬럼 없이 H''의 선택된 로우인 것을 특징으로 하는 천공 코드워드의 표본을 디코딩하기 위한 디코더.
34. The method of claim 33,
H 'has a row smaller than m' = m- (n-n ') and a column smaller than n'
Puncturing includes removing nn 'selection bits from the codeword,
Deriving H 'from H comprises performing Gaussian elimination on H such that elements 1 through m' of the H columns corresponding to the selected bit are set equal to zero, such that matrix H 'Quot; is generated, and H 'is a selected row of H''without at least one column corresponding to the other bits connected by H with only the selected bit and no corresponding column for the selected bit. / RTI >
(b) 최대 m개의 로우와 n개 보다 작고 n'와 동일하지 않은 수의 컬럼을 가진 매트릭스 H'를 사용하여 천공 코드워드의 표본을 디코딩하는 디코딩 모듈 - 여기서 H'는 제2 코드의 패리티 체크 매트릭스이고, 천공 코드워드는 제2 코드의 코드워드 이고 상기 매트릭스 H'는 상기 매트릭스 H의 로우의 쌍을 병합하는 것에 의해 상기 매트릭스 H로부터 유도되고, 상기 로우의 쌍은 상이한 컬럼들에 1을 가짐 -;
를 포함하는 것을 특징으로 하는 수신기.
(a) a demodulator that receives a modulated signal from a communication channel and provides a sample of the punctured codeword generated by demodulating the modulated signal to remove nn 'selected bits from the n-bit codeword, where n' The codeword being generated by encoding the k input bits according to a first code associated with a parity check matrix H with m rows and n columns (n = m + k); And
(b) a decoding module that decodes a sample of punctured codewords using a matrix H 'having a maximum of m rows and a number of columns less than n and not equal to n', where H 'is the parity check of the second code The punctured code word is a code word of a second code and the matrix H 'is derived from the matrix H by merging the pair of rows of the matrix H, and the pair of rows has a 1 in the different columns -;
≪ / RTI >
H'는 n'개 보다 많은 컬럼을 가지며,
천공하는 것은 코드워드로부터 n-n'개의 선택된 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 것은,
m''<n-n'개의 선택된 비트에 대응하는 H의 컬럼들 중 엘리먼트 1 부터 m-m'' 까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 것을 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 m''의 선택된 비트에 대응하는 컬럼이 없는 H''의 m-m'' 로우로 되는 것을 특징으로 하는 수신기.
40. The method of claim 39,
H 'has more than n' columns,
Puncturing includes removing n-n ' selected bits from the codeword,
Deriving H 'from H,
performing a Gaussian elimination on H such that elements 1 through m-m " of columns of H corresponding to m "< n-n selected bits are set equal to zero, H " is generated, and H 'is m-m " low of H''having no column corresponding to the selected bit of m''.
상기 가우시안 소거는 다른 가우시안 소거가 스파스(sparseness)의 미리 결정된 기준을 만족시키지 않은 매트릭스 H'를 생성할때 종료되는 것을 특징으로 하는 수신기.
42. The method of claim 41,
Wherein the Gaussian elimination is terminated when another Gaussian cancellation produces a matrix H 'that does not satisfy a predetermined criterion of sparseness.
상기 스파스의 미리 결정된 기준은 H'의 평균 컬럼의 수가 10과 H'의 로우의 수의 1/4 중 작은 것 보다도 작은 것을 특징으로 하는 수신기.
43. The method of claim 42,
Wherein the predetermined criterion of the sparse is that the number of the average columns of H 'is smaller than the smaller of 1/4 of the number of rows of 10 and H'.
H'는 m'=m-(n-n') 보다 작은 로우와 n'보다 작은 컬럼을 가지며,
천공하는 것은 코드워드로부터 n-n' 선택 비트를 제거하는 것을 포함하고,
상기 H로부터 H'를 유도하는 것은, 선택 비트에 대응하는 H의 컬럼들 중 엘리먼트 1부터 m'까지가 제로와 동일하게 설정되도록 H에 대해 가우시안 소거를 수행하는 것을 포함하고, 그에 따라 매트릭스 H''가 생성되고, H'는 선택된 비트에 대응하는 컬럼이 없이 그리고 선택된 비트에만 H에 의해 연결된 다른 비트에 대응하는 적어도 하나의 컬럼 없이 H''의 선택된 로우인 것을 특징으로 하는 수신기.40. The method of claim 39,
H 'has a row smaller than m' = m- (n-n ') and a column smaller than n'
Puncturing includes removing nn 'selection bits from the codeword,
Deriving H 'from H comprises performing Gaussian elimination on H such that elements 1 through m' of the H columns corresponding to the selected bit are set equal to zero, such that matrix H ''Is generated, and H' is the selected row of H '' without at least one column corresponding to the other bits connected by H with only the selected bit and no corresponding column to the selected bit.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/506,342 | 2009-07-21 | ||
US12/506,316 US8516351B2 (en) | 2009-07-21 | 2009-07-21 | Compact decoding of punctured block codes |
US12/506,327 US8516352B2 (en) | 2009-07-21 | 2009-07-21 | Compact decoding of punctured block codes |
US12/506,342 US8375278B2 (en) | 2009-07-21 | 2009-07-21 | Compact decoding of punctured block codes |
US12/506,316 | 2009-07-21 | ||
US12/506,327 | 2009-07-21 | ||
PCT/IB2010/053317 WO2011010286A2 (en) | 2009-07-21 | 2010-07-21 | Compact decoding of punctured codes |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120046751A KR20120046751A (en) | 2012-05-10 |
KR101722798B1 true KR101722798B1 (en) | 2017-04-05 |
Family
ID=43430611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127004322A Expired - Fee Related KR101722798B1 (en) | 2009-07-21 | 2010-07-21 | Compact decoding of punctured codes |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2457329A2 (en) |
KR (1) | KR101722798B1 (en) |
WO (1) | WO2011010286A2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI427936B (en) * | 2009-05-29 | 2014-02-21 | Sony Corp | Receiving apparatus, receiving method, program, and receiving system |
US9397699B2 (en) | 2009-07-21 | 2016-07-19 | Ramot At Tel Aviv University Ltd. | Compact decoding of punctured codes |
US10979072B2 (en) * | 2019-03-19 | 2021-04-13 | Western Digital Technologies, Inc. | Punctured bit estimation and bit error rate estimation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100834650B1 (en) * | 2006-09-04 | 2008-06-02 | 삼성전자주식회사 | Signal transceiving device and method in communication system |
TWI427936B (en) * | 2009-05-29 | 2014-02-21 | Sony Corp | Receiving apparatus, receiving method, program, and receiving system |
-
2010
- 2010-07-21 KR KR1020127004322A patent/KR101722798B1/en not_active Expired - Fee Related
- 2010-07-21 WO PCT/IB2010/053317 patent/WO2011010286A2/en active Application Filing
- 2010-07-21 EP EP10747670A patent/EP2457329A2/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
WO2011010286A3 (en) | 2011-11-24 |
WO2011010286A2 (en) | 2011-01-27 |
EP2457329A2 (en) | 2012-05-30 |
WO2011010286A4 (en) | 2012-01-19 |
KR20120046751A (en) | 2012-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8464123B2 (en) | Matrix structure for block encoding | |
US9141467B2 (en) | Semiconductor memory system including Reed-Solomon low density parity check decoder and read method thereof | |
US8291279B2 (en) | Memory-efficient LDPC decoder and method | |
KR101621573B1 (en) | Reduced complexity ldpc decoder | |
US9490849B1 (en) | Systems and methods for configuring product codes for error correction in a hard disk drive | |
US8954831B2 (en) | Error correction codes for incremental redundancy | |
JP3917624B2 (en) | Routing method and system in a low density parity check (LDPC) decoder | |
WO2018142391A1 (en) | Device, system and method of implementing product error correction codes for fast encoding and decoding | |
EP2779468A9 (en) | Min-sum based hybrid non-binary low-density parity check (LDPC) decoder | |
US8375278B2 (en) | Compact decoding of punctured block codes | |
CN101542913A (en) | Decoding method and device for LDPC code and communication device including such device | |
JP2005522140A (en) | A method for repeated forward error correction of hard input. | |
JP2005528840A (en) | Soft decoding of linear block codes | |
US8516351B2 (en) | Compact decoding of punctured block codes | |
US8516352B2 (en) | Compact decoding of punctured block codes | |
KR102058499B1 (en) | Semiconductor memory system including reed-solomon low density parity check decoder and read method thereof | |
US9397699B2 (en) | Compact decoding of punctured codes | |
KR101722798B1 (en) | Compact decoding of punctured codes | |
US10790854B2 (en) | Coset probability based majority-logic decoding for non-binary LDPC codes | |
US10191803B2 (en) | Rewriting flash memories by message passing | |
US11031956B2 (en) | Generalized concatenated error correction coding scheme with locality | |
Seong-Joon | Double-masked error correction code transformer and coding schemes for high-density dna storage with low error rates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20120220 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20150529 Comment text: Request for Examination of Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160309 Patent event code: PE09021S01D |
|
E90F | Notification of reason for final refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20160804 Patent event code: PE09021S02D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170118 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170328 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170328 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20200227 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20200227 Start annual number: 4 End annual number: 4 |
|
PC1903 | Unpaid annual fee |