KR20190120690A - Reed solomon decoder and semiconductor deivce including the same - Google Patents

Reed solomon decoder and semiconductor deivce including the same Download PDF

Info

Publication number
KR20190120690A
KR20190120690A KR1020180167946A KR20180167946A KR20190120690A KR 20190120690 A KR20190120690 A KR 20190120690A KR 1020180167946 A KR1020180167946 A KR 1020180167946A KR 20180167946 A KR20180167946 A KR 20180167946A KR 20190120690 A KR20190120690 A KR 20190120690A
Authority
KR
South Korea
Prior art keywords
circuit
error
kes
sub
calculating
Prior art date
Application number
KR1020180167946A
Other languages
Korean (ko)
Other versions
KR102635135B1 (en
Inventor
김현호
박인철
김우영
송영욱
조상구
Original Assignee
에스케이하이닉스 주식회사
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사, 한국과학기술원 filed Critical 에스케이하이닉스 주식회사
Priority to US16/239,460 priority Critical patent/US10879933B2/en
Publication of KR20190120690A publication Critical patent/KR20190120690A/en
Application granted granted Critical
Publication of KR102635135B1 publication Critical patent/KR102635135B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation

Abstract

According to the present invention, a reed Solomon decoder comprises: a syndrome calculation (SC) circuit for calculating a syndrome from a codeword; a key equation solver (KES) circuit for calculating an error position polynomial function and an error evaluation polynomial function from the syndrome; and a Chien search and error evaluation (CSEE) circuit for computing an error position and error value from the error position polynomial function and the error evaluation polynomial function. Each of a plurality of sub KES circuits, the SC circuit, and the CSEE circuit constitutes a pipeline stage.

Description

리드 솔로몬 디코더 및 이를 포함하는 반도체 장치{REED SOLOMON DECODER AND SEMICONDUCTOR DEIVCE INCLUDING THE SAME}Reed Solomon Decoder and Semiconductor Device Comprising the Same {{{LOD}} SOLOMON DECODER AND SEMICONDUCTOR DEIVCE INCLUDING THE SAME

본 발명은 리드 솔로몬 디코더와 이를 포함하는 반도체 장치에 관한 것이다.The present invention relates to a Reed Solomon decoder and a semiconductor device including the same.

도 1은 종래의 리드 솔로몬 디코더를 나타내는 블록도이다.1 is a block diagram illustrating a conventional Reed Solomon decoder.

종래의 리드 솔로몬 디코더는 코드워드로부터 신드롬을 계산하는 SC(Syndrome Calculation) 회로(10), 신드롬을 이용하여 키 방정식을 풀이하는 KES(Key Equation Solver) 회로(20) 및 KES 회로(20)의 출력을 이용하여 치엔 검색 및 에러 평가를 수행하는 CSEE(Chien Search and Error Evaluation) 회로(30), CSEE 회로(30)의 출력과 수신된 코드워드를 연산하여 에러가 정정된 출력 데이터를 제공하는 에러 정정 에러 정정 연산 회로(40)를 포함한다.Conventional Reed-Solomon decoders have outputs from a Syndrome Calculation (SC) circuit 10 for calculating syndromes from codewords, a Key Equation Solver circuit 20 for solving key equations using syndromes, and a KES circuit 20. Compute the Chien Search and Error Evaluation (CSEE) circuit 30, which performs the Chien search and error evaluation, and the output of the CSEE circuit 30 and the received codeword to provide error-corrected output data. And an error correction operation circuit 40.

도 2는 도 1의 KES 회로(20)의 동작을 나타내는 블록도이다.FIG. 2 is a block diagram showing the operation of the KES circuit 20 of FIG.

종래의 KES 회로(20)는 신드롬으로부터 에러 위치 다항식과 에러 평가 다항식을 출력하게 되는데 이를 위해서는 2t번의 루프를 돌면서 연산을 수행하게 된다.The conventional KES circuit 20 outputs an error position polynomial and an error evaluating polynomial from the syndrome. To this end, the KES circuit 20 performs an operation while looping 2t times.

이때 2t는 코드워드에 포함된 패리티 심볼의 개수와 연관된다. 예를 들어 리드 솔로몬 코드로 인코딩된 하나의 블록에 255개의 심볼이 포함되고 이 중에서 데이터 심볼이 223개 패리티 심볼이 32개라면, 2t는 32와 동일하다.In this case, 2t is associated with the number of parity symbols included in the codeword. For example, if a block encoded with a Reed Solomon code includes 255 symbols, and among these, 32 data symbols are 223 parity symbols, 2t is equal to 32.

예를 들어 SC 회로(10)의 동작에 1 클록, CSEE 회로(30)의 동작에 2 클록, KES 회로(20)가 한번 루프를 도는데 1 클록이 필요하다면 레이턴시는 2t+3이 된다.For example, if one clock is required for the operation of the SC circuit 10, two clocks for the operation of the CSEE circuit 30, and one clock is required for the KES circuit 20 to loop once, the latency becomes 2t + 3.

또한 종래의 리드 솔로몬 디코더는 이전에 입력된 코드워드에 대한 디코딩 동작이 진행되는 도중에 새로운 코드워드에 대한 디코딩 동작을 시작할 수 없다.In addition, the conventional Reed Solomon decoder cannot start the decoding operation for the new codeword while the decoding operation for the previously input codeword is in progress.

이에 따라 종래의 리드 솔로몬 디코더는 레이턴시가 길고 쓰루풋이 낮아 고속의 디코딩이 불가능한 문제가 있다.Accordingly, the conventional Reed Solomon decoder has a long latency and low throughput, and thus high speed decoding is not possible.

KRKR 10-2004-004592210-2004-0045922 AA USUS 83653548365354 B2B2

D. V. Sarwate and N. R. Shanbhag, "High-speed Architectures for Reed-Solomon decoders," IEEE Trans. on VLSI Syst., vol. 9, pp. 641-655, Oct. 2001. (Pubitemid 32992893) D. V. Sarwate and N. R. Shanbhag, "High-speed Architectures for Reed-Solomon decoders," IEEE Trans. on VLSI Syst., vol. 9, pp. 641-655, Oct. 2001. (Pubitemid 32992893)

본 발명은 고속의 디코딩 동작이 가능한 리드 솔로몬 디코더와 이를 포함하는 반도체 장치를 제공한다.The present invention provides a Reed Solomon decoder capable of a high speed decoding operation and a semiconductor device including the same.

본 발명의 일 실시예에 의한 리드 솔로몬 디코더는 코드워드로부터 신드롬을 계산하는 SC 회로; 신드롬으로부터 에러 위치 다항식과 에러 평가 다항식을 연산하는 KES 회로; 및 에러 위치 다항식과 에러 평가 다항식으로부터 에러 위치와 에러 값을 연산하는 CSEE 회로를 포함하되, KES 회로는 직렬 연결된 다수의 서브 KES 회로를 포함하고, 다수의 서브 KES 회로 각각, 상기 SC 회로 및 상기 CSEE 회로는 파이프라인 단계를 구성한다.Reed Solomon decoder according to an embodiment of the present invention includes an SC circuit for calculating a syndrome from a codeword; A KES circuit for calculating an error position polynomial and an error evaluation polynomial from the syndrome; And a CSEE circuit for calculating an error position and an error value from the error position polynomial and the error evaluation polynomial, wherein the KES circuit includes a plurality of sub-KES circuits connected in series, each of the plurality of sub-KES circuits, the SC circuit and the CSEE. The circuit constitutes a pipeline stage.

본 발명의 일 실시예에 의한 반도체 장치는 데이터를 인코딩하여 코드워드를 출력하는 에러 정정 인코더; 에러 정정 인코더에서 출력되는 코드워드를 저장하는 메모리 셀; 및 메모리 셀에서 출력되는 코드워드를 디코딩하여 에러가 정정된 데이터를 출력하는 에러 정정 디코더를 포함한다.In an embodiment, a semiconductor device may include an error correction encoder that encodes data and outputs a codeword; A memory cell storing a codeword output from an error correction encoder; And an error correction decoder that decodes the codeword output from the memory cell and outputs data in which the error is corrected.

본 발명에 의한 리드 솔로몬 디코더는 SC 회로, CSEE 회로에서 병렬 처리를 수행하여 고속의 연산이 가능하도록 한다.The Reed Solomon decoder according to the present invention performs parallel processing in the SC circuit and the CSEE circuit to enable high-speed computation.

본 발명에 의한 리드 솔로몬 디코더는 KES 회로를 다수의 서브 회로로 분할하여 전체 디코딩 회로의 동작이 파이프라이닝 가능하도록 하여 쓰루풋을 향상시킨다.The Reed Solomon decoder according to the present invention divides the KES circuit into a plurality of sub-circuits so that the operation of the entire decoding circuit can be pipelined to improve throughput.

본 발명에 의한 반도체 장치는 에러 정정 인코더와 디코더를 내부에 내장하여 자체적으로 에러 정정 동작을 수행할 수 있다.The semiconductor device according to the present invention may internally perform an error correction operation by embedding an error correction encoder and a decoder therein.

본 발명에 의한 반도체 장치는 에러 정정을 위하여 별도의 장치를 필요로 하지 않으므로 시스템의 면적과 제조 비용을 줄일 수 있다.Since the semiconductor device according to the present invention does not require a separate device for error correction, the area and manufacturing cost of the system can be reduced.

도 1은 종래의 리드 솔로몬 디코더의 블록도.
도 2는 도 1의 KES 회로의 동작을 나타내는 블록도.
도 3은 본 발명의 일 실시예에 의한 리드 솔로몬 디코더의 블록도.
도 4는 도 3의 SC 회로의 상세 블록도.
도 5는 도 3의 서브 KES 회로의 상세 블록도.
도 6은 도 3의 서브 KES 회로의 동작을 나타내는 알고리즘.
도 7은 도 3의 PE 회로를 나타내는 블록도.
도 8은 도 7의 PE 회로의 상세 블록도.
도 9는 도 7의 제어 회로의 상세 블록도.
도 10은 도 3의 CSEE 회로의 상세 블록도.
도 11은 본 발명의 일 실시예에 의한 반도체 장치의 블록도.
1 is a block diagram of a conventional Reed Solomon decoder.
2 is a block diagram showing operation of the KES circuit of FIG.
3 is a block diagram of a Reed Solomon decoder according to an embodiment of the present invention.
4 is a detailed block diagram of the SC circuit of FIG.
5 is a detailed block diagram of the sub KES circuit of FIG.
6 is an algorithm illustrating operation of the sub KES circuit of FIG.
FIG. 7 is a block diagram illustrating the PE circuit of FIG. 3. FIG.
8 is a detailed block diagram of the PE circuit of FIG.
9 is a detailed block diagram of the control circuit of FIG.
10 is a detailed block diagram of the CSEE circuit of FIG.
11 is a block diagram of a semiconductor device according to one embodiment of the present invention.

이하에서는 첨부한 도면을 참조하여 본 발명의 실시예를 개시한다.Hereinafter, with reference to the accompanying drawings discloses an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 의한 리드 솔로몬 디코더(1)의 블록도이다.3 is a block diagram of a Reed Solomon decoder 1 according to an embodiment of the present invention.

본 발명의 일 실시예에 의한 리드 솔로몬 디코더(1)는 SC 회로(100), KES 회로(200), CSEE 회로(300)를 포함한다.The Reed Solomon decoder 1 according to an embodiment of the present invention includes an SC circuit 100, a KES circuit 200, and a CSEE circuit 300.

본 발명의 일 실시예에 의한 리드 솔로몬 디코더(1)는 입력되는 코드워드를 순차적으로 큐잉하는 레지스터(500)와 레지스터(500)에서 제공되는 코드워드와 CSEE 회로(300)에서 출력되는 에러 위치 및 에러 값을 연산하여 에러가 정정된 출력 데이터를 생성하는 에러 정정 연산 회로(400)를 더 포함할 수 있다.Reed Solomon decoder 1 according to an embodiment of the present invention is a register 500 for sequentially queuing the input codeword and the codeword provided from the register 500 and the error position output from the CSEE circuit 300 and It may further include an error correction operation circuit 400 for calculating the error value to generate output data in which the error is corrected.

SC 회로(100)는 코드워드(r(x))를 이용하여 생성된 신드롬(S0 ~ S2t-1)을 출력한다.The SC circuit 100 outputs syndromes S 0 to S 2t-1 generated using the codeword r (x).

이하에서 코드워드는 코드워드 다항식, 신드롬은 신드롬 다항식으로 표현할 수도 있다.Hereinafter, a codeword may be expressed as a codeword polynomial and a syndrome may be expressed as a syndrome polynomial.

KES 회로(200)는 각각 신드롬으로부터 생성된 에러 위치 다항식(λ(x))과 에러 평가 다항식(Ω(x))을 출력한다.The KES circuit 200 outputs an error position polynomial [lambda] (x) and an error evaluation polynomial [Omega (x)) generated from syndromes, respectively.

CSEE 회로(300)는 에러 위치 다항식(λ(x))과 에러 평가 다항식(Ω(x))을 입력받아 에러 위치와 에러 값을 출력한다.The CSEE circuit 300 receives an error position polynomial λ (x) and an error evaluation polynomial Ω (x) and outputs an error position and an error value.

본 실시예에서 SC 회로(100), KES 회로(200), CSEE 회로(300)의 기본적인 동작 원리는 도 1에 도시된 종래의 리드 솔로몬 디코더와 유사하다.In this embodiment, the basic operation principle of the SC circuit 100, the KES circuit 200, and the CSEE circuit 300 is similar to the conventional Reed Solomon decoder shown in FIG.

예를 들어 CSEE 회로(300)는 치엔 검색(Chien Search) 알고리즘과 포니(Forney) 알고리즘을 구현할 수 있다.For example, the CSEE circuit 300 may implement a Chien Search algorithm and a Forney algorithm.

이들 알고리즘 자체는 잘 알려진 것이므로 이들에 대해서는 자세한 설명을 생략한다.Since these algorithms are well known, detailed descriptions thereof are omitted.

SC 회로(100) 및 CSEE 회로(300)는 처리 속도를 높이기 위하여 병렬식 구조를 가질 수 있다.SC circuit 100 and CSEE circuit 300 may have a parallel structure to increase the processing speed.

본 실시예에서 KES 회로(200)는 직렬로 연결된 다수의 서브 KES 회로(210)를 포함한다.In this embodiment, the KES circuit 200 includes a plurality of sub KES circuits 210 connected in series.

본 실시예에서 서브 KES 회로(210)는 t(자연수) 개가 포함되어 있다.In the present embodiment, the sub KES circuit 210 includes t (natural numbers).

t개의 서브 KES 회로(210)는 2t번 루프를 돌며 연산을 수행하는 종래의 KES 회로(20)를 대체한다.The t sub KES circuits 210 replace the conventional KES circuits 20 that perform operations in loop 2t.

이때 각각의 서브 KES 회로(210)와 SC 회로(100)와 CSEE 회로(300)는 각각 파이프라인 단계를 구성할 수 있다.In this case, each sub KES circuit 210, the SC circuit 100, and the CSEE circuit 300 may configure a pipeline stage, respectively.

예를 들어 각 파이프라인 단계가 2 클록 동안 연산을 수행한다면 전체 레이턴시를 t+4로 줄일 수 있다.For example, if each pipeline stage operates for two clocks, the overall latency can be reduced to t + 4.

또한 본 발명의 일 실시예에 의한 리드 솔로몬 디코더(1)는 파이프라인 방식으로 동작하므로 이전에 입력된 코드워드에 대한 디코딩 동작이 수행되는 도중에 새로운 코드워드에 대한 디코딩 동작을 진행할 수 있어 쓰루풋을 높일 수 있다. 예를 들어 본 실시예에서는 각 파이프라인 단계를 수행하는데 2 클록이 필요하므로 하나의 코드워드는 매 2 클록마다 디코딩될 수 있다.In addition, since the Reed Solomon decoder 1 according to an embodiment of the present invention operates in a pipelined manner, a decoding operation for a new codeword may be performed while a decoding operation for a previously inputted codeword is performed to increase throughput. Can be. For example, in this embodiment, two clocks are required to perform each pipeline step, so that one codeword can be decoded every two clocks.

레지스터(500)는 코드워드를 순차적으로 큐잉하고 CSEE 회로(300)에서 출력되는 에러 위치와 에러 값에 대응하는 코드워드를 에러 정정 연산 회로(400)에 제공한다. 일 실시예에서 레지스터(500)는 SC 회로(100), KES 회로(200) 및 CSEE 회로(300)에 포함된 전체 파이프라인 단계만큼의 코드워드를 큐잉하도록 구성될 수 있으며 선입선출 방식으로 동작할 수 있다.The register 500 sequentially queues the codewords and provides the error correction arithmetic circuit 400 with codewords corresponding to the error position and the error value output from the CSEE circuit 300. In one embodiment, register 500 may be configured to queue codewords for the entire pipeline stages contained in SC circuit 100, KES circuit 200, and CSEE circuit 300 and operate in a first-in, first-out manner. Can be.

에러 정정 연산 회로(400)는 에러 위치와 에러 값을 참조하여 에러가 정정된 데이터를 출력한다.The error correction operation circuit 400 outputs data in which an error is corrected by referring to the error position and the error value.

도 4는 도 3의 SC 회로(100)를 구성하는 서브 SC 회로(110)의 상세 블록도이다.4 is a detailed block diagram of the sub SC circuit 110 constituting the SC circuit 100 of FIG. 3.

서브 SC 회로(110)는 하나의 신드롬(Si)을 출력하고 SC 회로(100)는 병렬로 배치되어 다수의 신드롬(Si, i = 0, ..., 2t-1)을 동시에 출력하는 다수의 서브 SC 회로(110)를 포함한다. 이때 2t는 코드워드(r(x))에 포함된 패리티 심볼의 개수와 동일하다.The sub-SC circuit 110 outputs one syndrome (Si) and the SC circuit 100 is arranged in parallel to output a plurality of syndromes (Si, i = 0, ..., 2t-1) simultaneously. The sub SC circuit 110 is included. In this case, 2t is equal to the number of parity symbols included in the codeword r (x).

이하에서 코드워드 다항식을 r(x), 에러가 정정된 데이터 다항식을 c(x)로 표현하고 에러 다항식을 e(x)로 표현한다.Hereinafter, the codeword polynomial is represented by r (x), the error-corrected data polynomial is represented by c (x), and the error polynomial is represented by e (x).

이때 수신된 코드워드 다항식은 다음과 같이 표시할 수 있다.In this case, the received codeword polynomial may be expressed as follows.

r(x) = c(x) + e(x)r (x) = c (x) + e (x)

메시지 다항식을 m(x), 코드워드 생성 다항식을 g(x)라고 하면 코드워드 다항식은 다음과 같이 표현할 수 있다.If the message polynomial is m (x) and the codeword generation polynomial is g (x), the codeword polynomial can be expressed as follows.

g(x) = (x-α1)…(x-α2t)g (x) = (x-α 1 )... (x-α 2t )

c(x) = m(x) g(x)c (x) = m (x) g (x)

위에서 αi(i = 0, ..., 2t-1)는 갈루아 필드를 구성하는 원시 다항식의 근이다.Α i (i = 0, ..., 2t-1) is the root of the primitive polynomial constituting the Galois field.

신드롬 다항식에서 각 신드롬(Si)은 다음과 같이 표현된다.In the syndrome polynomial, each syndrome (Si) is expressed as

Si = r(αi) = c(αi) + e(αi) = e(αi), i = 0, ..., 2t-1Si = r (α i ) = c (α i ) + e (α i ) = e (α i ), i = 0, ..., 2t-1

도 5는 도 3의 서브 KES 회로(210)의 상세 블록도이다.FIG. 5 is a detailed block diagram of the sub KES circuit 210 of FIG.

서브 KES 회로(210)는 3t+1개의 PE(Processing Element) 회로(211)와 이를 제어하는 제어 회로(212)를 포함한다.The sub KES circuit 210 includes 3t + 1 PE (Processing Element) circuits 211 and a control circuit 212 for controlling them.

도 5의 서브 KES 회로(210)는 도 3의 서브 KES 회로 중 r번째 서브 KES 회로(r = 0, 1, ..., t-1)에 대응하며 r번째 서브 KES 회로는 지시번호 210 또는 210-r을 사용하여 지시할 수 있다.The sub KES circuit 210 of FIG. 5 corresponds to the r th sub KES circuit (r = 0, 1, ..., t-1) among the sub KES circuits of FIG. Instructions can be made using 210-r.

r번째 서브 KES 회로(210)는 이전 단계의 서브 KES 회로로부터 θi(r), δi(r), γ(r) 및 k(r)와 같은 신호를 입력받는다(i = 0, 1, 2, ..., 3t). The r th sub KES circuit 210 receives signals such as θ i (r), δ i (r), γ (r) and k (r) from the sub KES circuit of the previous step (i = 0, 1, 2, ..., 3t).

예를 들어 θi(r)는 i번째 PE 회로(211-i, i = 0, 1, ..., 3t)에 입력되고 δi+1(r)는 i 번째 PE 회로(211-i, i = 0, 1, ..., 3t-1)에 입력되며 3t번째 PE 회로(211-3t)에는 δ3t+1(r) 대신에 고정된 값 0을 입력받는다. δ0(r), γ(r) 및 k(r)은 제어 회로(212)에 입력된다.For example, θ i (r) is input to the i-th PE circuit 211-i, i = 0, 1, ..., 3t and δ i + 1 (r) is the i-th PE circuit 211-i, i = 0, 1, ..., 3t-1) and a fixed value 0 is input to the 3t-th PE circuit 211-3t instead of δ 3t + 1 (r). δ 0 (r), γ (r) and k (r) are input to the control circuit 212.

0번째 서브 KES 회로(211-0)에 대해서, 입력 신호 θi(0)와 δi(0)는 i = 0, 1, ..., 2t-1에 대해서 Si로 초기화되고, i = 2t, 2t+1, ..., 3t-2, 3t-1에 대해서 0으로 초기화되며, i = 3t에 대해서 1로 초기화된다. 또한 k(0)는 0으로 초기화되고 γ(0)은 1로 초기화된다.For the 0th sub KES circuit 211-0, the input signals θ i (0) and δ i (0) are initialized to Si for i = 0, 1, ..., 2t-1, and i = 2t Is initialized to 0 for 2t + 1, ..., 3t-2, 3t-1, and 1 for i = 3t. K (0) is also initialized to 0 and γ (0) is initialized to 1.

r번째 서브 KES 회로(210)는 다음 서브 KES 회로에 θi(r+1), δi(r+1), γ(r+1) 및 k(r+1)와 같은 신호를 출력한다(i = 0, 1, ..., 3t). 이때 θi(r+1), δi(r+1)는 i 번째 PE 회로(211-i)에서 출력되고 γ(r+1) 및 k(r+1)는 제어 회로(212)에서 출력된다.The r-th sub KES circuit 210 outputs signals such as θ i (r + 1), δ i (r + 1), γ (r + 1), and k (r + 1) to the next sub KES circuit ( i = 0, 1, ..., 3t). Θ i (r + 1) and δ i (r + 1) are output from the ith PE circuit 211-i and γ (r + 1) and k (r + 1) are output from the control circuit 212. do.

(t-1)번째 서브 KES 회로는 에러 위치 방정식 λ(x)의 계수 λi(t)와 에러 평가 방정식 Ω(x)의 계수 Ωi(t)를 제공한다. 이때 λi(t) = δi+1(t), Ωi(t) = δi(t)이다(i = 0, 1, ..., t-1).The (t-1) th sub KES circuit provides the coefficient λ i (t) of the error position equation λ (x) and the coefficient Ω i (t) of the error evaluation equation Ω (x). Λ i (t) = δ i + 1 (t), Ω i (t) = δ i (t) (i = 0, 1, ..., t-1).

PE 회로의 동작에 대해서는 이하에서 개시한다.The operation of the PE circuit is described below.

도 6은 도 3의 KES 회로(200)의 동작을 나타내는 알고리즘이다.FIG. 6 is an algorithm illustrating the operation of the KES circuit 200 of FIG. 3.

본 실시예에서 KES 회로(200)는 2단 펼침(2-stage unfolded) RiBM 알고리즘을 사용한다.In this embodiment, the KES circuit 200 uses a two-stage unfolded RiBM algorithm.

본 실시예는 종래와 달리 t개의 서브 KES 회로(210)를 포함한다.This embodiment includes t sub KES circuits 210 unlike the prior art.

각각의 서브 KES 회로(210)는 도 6의 알고리즘의 라인 6 ~ 35 사이의 동작을 수행한다.Each sub KES circuit 210 performs an operation between lines 6 to 35 of the algorithm of FIG.

t 개의 서브 KES 회로(210)가 직렬로 연결되어 있으며, r(r = 0,1, ..., t-1) 번째 서브 KES 회로는 도 6의 알고리즘의 라인 5에 기재된 r값에 대응하는 동작을 수행한다.t sub KES circuits 210 are connected in series, and the r (r = 0, 1, ..., t-1) th sub KES circuits correspond to the r values described in line 5 of the algorithm of FIG. Perform the action.

제어 회로(212)는 3t+1개의 PE 회로(211) 각각에서 제 1 연산과 제 2 연산을 수행하도록 제어한다. The control circuit 212 controls to perform the first operation and the second operation in each of the 3t + 1 PE circuits 211.

제 1 연산은 도 6의 알고리즘의 라인 7 ~ 20에서 수행하는 연산에 대응하고, 제 2 연산은 라인 21 ~ 35에서 수행하는 연산에 대응한다.The first operation corresponds to the operation performed on lines 7 to 20 of the algorithm of FIG. 6, and the second operation corresponds to the operation performed on lines 21 to 35.

제어 회로(212)는 3t+1개의 PE 회로(211)가 제 1 연산을 수행한 후 제 2 연산을 수행하도록 제어한다. 이를 위하여 제어 회로(212)는 도 6의 알고리즘의 라인 8에서 계산되는 판정 결과를 나타내는 신호 MC(r)과 라인 23에서 계산되는 판정 결과를 나타내는 신호 MC'(r)를 3t+1개의 PE 회로(211) 각각에 제공한다.The control circuit 212 controls the 3t + 1 PE circuits 211 to perform the second operation after performing the first operation. For this purpose, the control circuit 212 uses the signal MC (r) representing the determination result calculated in line 8 of the algorithm of FIG. 211 to each.

제 1 연산과 제 2 연산은 3t+1 개의 PE 회로(211)에서 순차적으로 진행될 수 있다.The first operation and the second operation may be sequentially performed in the 3t + 1 PE circuits 211.

도 7은 도 5에서 i번째 PE 회로(211)를 나타내는 블록도이다.FIG. 7 is a block diagram illustrating the i-th PE circuit 211 in FIG. 5.

PE 회로(211)는 도 6의 알고리즘의 라인 7, 10, 16에서 수행하는 제 1 연산과 라인 22, 25, 31에서 수행하는 제 2 연산을 위해 필요한 신호를 입출력하는 단자들을 포함한다.The PE circuit 211 includes terminals for inputting and outputting signals necessary for the first operation performed on lines 7, 10, and 16 of the algorithm of FIG. 6 and the second operation performed on the lines 22, 25, and 31.

예를 들어 PE 회로(211)는 θi(r), δi+1(r), δ0(r), γ(r), δ'0(r), γ'(r), MC(r) 및 MC'(r) 등의 신호를 입력받고, θi(r+1), δi(r+1), δ0(r), γ(r), δ'0(r) 및 γ'(r) 등의 신호를 출력한다.For example, the PE circuit 211 includes θ i (r), δ i + 1 (r), δ 0 (r), γ (r), δ ' 0 (r), γ' (r), and MC (r ) And MC '(r) and the like, θ i (r + 1), δ i (r + 1), δ 0 (r), γ (r), δ' 0 (r) and γ ' (r) outputs a signal.

도 8은 도 7의 PE 회로(211)의 상세 회로도이다.FIG. 8 is a detailed circuit diagram of the PE circuit 211 of FIG. 7.

PE 회로(211)는 제 1 연산을 위한 제 1 연산 회로(2111)와 제 2 연산을 위한 제 2 연산 회로(2112)를 포함한다.The PE circuit 211 includes a first arithmetic circuit 2111 for a first operation and a second arithmetic circuit 2112 for a second operation.

제 1 연산 회로(2111)는 제 1 연산 블록(21111)과 제 2 연산 블록(21112)를 포함한다.The first calculation circuit 2111 includes a first calculation block 21111 and a second calculation block 21112.

제 2 연산 회로(2112)는 제 3 연산 블록(21121)과 제 4 연산 블록(21122)을 포함한다.The second arithmetic circuit 2112 includes a third arithmetic block 21121 and a fourth arithmetic block 21122.

예를 들어 제 1 연산 블록(21111)은 도 6의 알고리즘의 라인 7을 수행하고, 제 2 연산 블록(21112)은 도 6의 알고리즘의 라인 10 또는 16을 수행한다. For example, the first operation block 21111 performs line 7 of the algorithm of FIG. 6, and the second operation block 21112 performs line 10 or 16 of the algorithm of FIG. 6.

유사하게 제 3 연산 블록(21121)은 도 6의 알고리즘의 라인 22를 수행하고, 제 4 연산 블록(21122)은 도 6의 알고리즘의 라인 25 또는 31을 수행한다.Similarly, third operation block 21121 performs line 22 of the algorithm of FIG. 6, and fourth operation block 21122 performs line 25 or 31 of the algorithm of FIG. 6.

제 3 연산 블록(21121)과 제 4 연산 블록(21122)은 D 플립플롭을 포함하여 대응하는 파이프라인 단계에서 데이터를 유지하도록 한다.The third operation block 21121 and the fourth operation block 21122 include a D flip-flop to hold data at the corresponding pipeline stage.

도 8의 회로에서 각 연산 블록은 도 6의 알고리즘을 그대로 기호화한 것이므로 이에 대한 구체적인 설명은 생략한다.In the circuit of FIG. 8, each operation block is a symbol of the algorithm of FIG. 6 as it is, and thus a detailed description thereof will be omitted.

도 9는 도 7의 제어 회로(212)의 상세 블록도이다.9 is a detailed block diagram of the control circuit 212 of FIG. 7.

제어 회로(212)는 도 6의 알고리즘에서 라인 8, 11, 12, 17, 18에서 수행하는 제 1 제어 연산 및 라인 23, 26, 27, 32, 33에서 수행하는 제 2 제어 연산을 수행한다.The control circuit 212 performs a first control operation performed on lines 8, 11, 12, 17, and 18 and a second control operation performed on lines 23, 26, 27, 32, and 33 in the algorithm of FIG. 6.

제어 회로(212)는 제 1 제어 연산을 위한 제 1 제어 회로(2121)와 제 2 제어 연산을 위한 제 2 제어 회로(2122)를 포함한다.The control circuit 212 includes a first control circuit 2121 for a first control operation and a second control circuit 2122 for a second control operation.

제 1 제어 회로(2121)는 제 1 제어 블록(21211), 제 2 제어 블록(21212) 및 제 3 제어 블록(21213)을 포함한다.The first control circuit 2121 includes a first control block 221211, a second control block 221212, and a third control block 221213.

제 2 제어 회로(2122)는 제 4 제어 블록(21221), 제 5 제어 블록(21222) 및 제 6 제어 블록(21223)을 포함한다.The second control circuit 2122 includes a fourth control block 221221, a fifth control block 21222, and a sixth control block 221223.

제 5 제어 블록(21222)과 제 6 제어 블록(21223)은 D 플립플롭을 포함하여 대응하는 파이프라인 단계에서 데이터를 유지하도록 한다.The fifth control block 21222 and the sixth control block 221223 include a D flip-flop to hold data at the corresponding pipeline stage.

도 6의 알고리즘의 라인 8의 판단 결과를 나타내는 신호는 MC(r), 라인 23의 판단 결과를 나타내는 신호는 MC'(r)로 표시된다.The signal representing the determination result of line 8 of the algorithm of FIG. 6 is represented by MC (r), and the signal representing the determination result of line 23 is represented by MC '(r).

예를 들어 제 1 제어 블록(21211)은 도 6의 알고리즘의 라인 8의 판정 결과에 대응하는 신호 MC(r)를 생성하고, 제 2 제어 블록(21212)은 도 6의 알고리즘의 라인 11 또는 17에 대응하는 동작을 수행하고, 제 3 제어 블록(21213)은 도 6의 알고리즘의 라인 12 또는 18에 대응하는 동작을 수행한다.For example, the first control block 221211 generates a signal MC (r) corresponding to the determination result of line 8 of the algorithm of FIG. 6, and the second control block 221212 is line 11 or 17 of the algorithm of FIG. 6. And the third control block 221213 performs an operation corresponding to line 12 or 18 of the algorithm of FIG. 6.

유사하게 제 4 제어 블록(21221)은 도 6의 알고리즘의 라인 23의 판정 결과에 대응하는 신호 MC'(r)를 생성하고, 제 5 제어 블록(21222)은 도 6의 알고리즘의 라인 26 또는 32에 대응하는 동작을 수행하고, 제 6 제어 블록(21223)은 도 6의 알고리즘의 라인 27 또는 33에 대응하는 동작을 수행한다.Similarly, fourth control block 221221 generates signal MC '(r) corresponding to the determination result of line 23 of the algorithm of FIG. 6, and fifth control block 21222 generates line 26 or 32 of the algorithm of FIG. 6. And a sixth control block 221223 performs an operation corresponding to line 27 or 33 of the algorithm of FIG.

라인 12 및 27의 동작은 음수를 표현하기 위한 2의 보수 연산을 나타낸다. 예를 들어 k(r)의 음수값은 k(r)을 비트별로 반전한 후 1을 더한 것과 같다. 따라서 k(r)을 비트별로 반전한 값은 도 6의 알고리즘의 라인 12와 같이 k(r)의 음수값에서 1을 뺀 것과 같다.The operation of lines 12 and 27 represents a two's complement operation for representing negative numbers. For example, a negative value of k (r) is equivalent to adding 1 after inverting k (r) bit by bit. Accordingly, the value of inverting k (r) bit by bit is equal to minus one from the negative value of k (r) as shown in line 12 of the algorithm of FIG. 6.

도 9의 각 제어 블록은 도 6의 대응하는 알고리즘을 직접적으로 기호화한 것이어서 이에 대한 구체적인 설명은 생략한다.Each control block of FIG. 9 is a direct symbolization of the corresponding algorithm of FIG. 6, and thus a detailed description thereof will be omitted.

도 10은 도 3의 CSEE 회로(300)의 상세 블록도이다.10 is a detailed block diagram of the CSEE circuit 300 of FIG.

CSEE 회로(300)는 CS(Chien Search) 회로(310)와 EE(Error Evaluation) 회로(320)를 포함한다.The CSEE circuit 300 includes a chien search (CS) circuit 310 and an error evaluation (EE) circuit 320.

CS 회로(310)는 치엔 검색 알고리즘을 구현한 회로로서 KES 회로(200)에서 출력되는 에러 위치 다항식(λ(x))을 입력받아 에러 위치를 연산한다.The CS circuit 310 implements a Chien search algorithm and receives an error position polynomial λ (x) output from the KES circuit 200 to calculate an error position.

EE 회로(310)는 포니 알고리즘을 구현한 회로로서 KES 회로(200)에서 출력되는 에러 평가 다항식(Ω(x))과 CS 회로(310)에서 출력되는 에러 위치를 입력받아 에러 값을 연산한다.The EE circuit 310 implements a pony algorithm and calculates an error value by receiving an error evaluation polynomial (Ω (x)) output from the KES circuit 200 and an error position output from the CS circuit 310.

치엔 검색 알고리즘과 포니 알고리즘은 구현하는 회로는 종래에 다양하게 알려져 있다.The circuitry for implementing the Chien search algorithm and the Pony algorithm is variously known in the art.

연산 속도를 향상시키기 위해서는 병렬식으로 회로를 구현하는 것이 바람직하다.In order to improve the computational speed, it is desirable to implement the circuit in parallel.

도 11은 본 발명의 일 실시예에 의한 반도체 장치(2)의 블록도이다.11 is a block diagram of a semiconductor device 2 according to an embodiment of the present invention.

반도체 장치(2)는 데이터를 입력받는 입력 버퍼(610), 입력 버퍼(610)에서 출력된 데이터를 에러 정정 알고리즘에 따라 인코딩하여 코드워드를 출력하는 에러 정정 인코더(620), 인코딩된 코드워드를 저장하는 메모리 셀(630), 메모리 셀(630)에서 출력된 코드워드를 에러 정정 알고리즘에 따라 디코딩하여 에러가 정정된 데이터를 출력하는 에러 정정 디코더(640), 에러 정정 디코더(640)에서 출력된 데이터를 버퍼링하여 외부에 제공하는 출력 버퍼(650)를 포함한다.The semiconductor device 2 may include an input buffer 610 that receives data, an error correction encoder 620 that encodes data output from the input buffer 610 according to an error correction algorithm, and outputs a codeword, and an encoded codeword. An error correction decoder 640 and an error correction decoder 640 which decode the codewords output from the memory cell 630 and the memory cell 630 according to an error correction algorithm and output the data whose error is corrected. And an output buffer 650 for buffering data and providing the data to the outside.

메모리 셀(630)은 데이터와 패리티를 분리하여 저장할 수 있으며 이 경우 데이터를 저장하는 메인 셀(631)과 패리티를 저장하는 패리티 셀(632)을 포함할 수 있다.The memory cell 630 may separately store data and parity, and in this case, the memory cell 630 may include a main cell 631 storing data and a parity cell 632 storing parity.

본 실시예에서 에러 정정 알고리즘은 리드 솔로몬 알고리즘을 포함하며 이때 에러 정정 디코더(640)는 도 3에 개시된 리드 솔로몬 디코더(1)를 포함한다.In this embodiment, the error correction algorithm includes a Reed Solomon algorithm, wherein the error correction decoder 640 includes the Reed Solomon decoder 1 disclosed in FIG. 3.

본 발명에 의한 반도체 장치(2)는 반도체 메모리 장치, 네트워크 장치 등 다양한 실시예로 구현될 수 있다.The semiconductor device 2 according to the present invention may be implemented in various embodiments, such as a semiconductor memory device and a network device.

도 11은 본 발명에 의한 반도체 장치(2) 내에 포함되는 대표적인 구성을 도시한 것으로서 도 11의 각 블록 사이의 경로에는 데이터가 경유하는 블록들이 추가될 수 있다.FIG. 11 illustrates a representative configuration included in the semiconductor device 2 according to the present invention, and blocks through which data passes may be added to paths between the blocks of FIG. 11.

본 발명에 의한 반도체 장치(2)는 에러 정정 디코더(640)가 고속으로 디코딩을 수행하므로 디코딩 과정에서의 병목 현상을 방지할 수 있다.In the semiconductor device 2 according to the present invention, since the error correction decoder 640 performs decoding at high speed, the bottleneck in the decoding process can be prevented.

본 발명에 의한 반도체 장치(2)는 에러 정정 인코딩 및 디코딩 기능을 자체적으로 수행하므로 반도체 장치 외부에 별도의 인코딩 및 디코딩 장치를 추가할 필요가 없다.Since the semiconductor device 2 according to the present invention performs an error correction encoding and decoding function by itself, it is not necessary to add a separate encoding and decoding device outside the semiconductor device.

이를 통해 반도체 장치(2)를 포함하는 시스템의 면적 및 제조 비용을 줄일 수 있다.As a result, the area and manufacturing cost of the system including the semiconductor device 2 can be reduced.

이상의 개시는 본 발명의 실시예를 설명하는 것이므로 이상의 개시에 의하여 본 발명의 권리범위가 한정되는 것은 아니다. 본 발명의 권리범위는 이하의 특허청구범위에 문언적으로 기재된 범위와 그 균등범위에 의해 정해진다.Since the above disclosure describes the embodiments of the present invention, the scope of the present invention is not limited to the above disclosure. The scope of the present invention is defined by the scope literally described in the following claims and their equivalents.

1: 리드 솔로몬 디코더
2: 반도체 장치
10, 100: SC 회로
20, 200: KES 회로
210: 서브 KES 회로
211: PE 회로
212: 제어 회로
30, 300: CSEE 회로
310: CS 회로
320: EE 회로
40, 400: 에러 정정 연산 회로
500: 레지스터
610: 입력 버퍼
620: 에러 정정 인코더
630: 메모리 셀
640: 에러 정정 디코더
650: 출력 버퍼
1: Reed Solomon Decoder
2: semiconductor device
10, 100: SC circuit
20, 200: KES circuit
210: sub KES circuit
211: PE circuit
212: control circuit
30, 300: CSEE circuit
310: CS circuit
320: EE circuit
40, 400: error correction operation circuit
500: register
610: input buffer
620: error correction encoder
630: memory cell
640: error correction decoder
650 output buffer

Claims (18)

코드워드로부터 신드롬을 계산하는 SC 회로;
상기 신드롬으로부터 에러 위치 다항식과 에러 평가 다항식을 연산하는 KES 회로; 및
상기 에러 위치 다항식과 상기 에러 평가 다항식으로부터 에러 위치와 에러 값을 연산하는 CSEE 회로
를 포함하되,
상기 KES 회로는 직렬 연결된 다수의 서브 KES 회로를 포함하고,
상기 다수의 서브 KES 회로 각각, 상기 SC 회로 및 상기 CSEE 회로는 파이프라인 단계를 구성하는 리드 솔로몬 디코더.
An SC circuit for calculating a syndrome from a codeword;
A KES circuit for calculating an error position polynomial and an error evaluation polynomial from the syndrome; And
CSEE circuit for calculating an error position and an error value from the error position polynomial and the error evaluation polynomial
Including,
The KES circuit includes a plurality of sub KES circuits connected in series,
And each of said plurality of sub KES circuits, said SC circuit and said CSEE circuit constitute a pipeline stage.
청구항 1에 있어서,
상기 코드워드를 큐잉하는 레지스터; 및
상기 레지스터에서 출력된 코드워드와 상기 에러 위치 및 상기 에러 값을 연산하여 에러가 정정된 데이터를 출력하는 에러 정정 연산 회로
를 더 포함하는 리드 솔로몬 디코더.
The method according to claim 1,
A register for queuing the codeword; And
An error correction arithmetic circuit for calculating the codeword output from the register, the error position, and the error value and outputting data in which the error is corrected
Reed Solomon decoder including more.
청구항 1에 있어서, 상기 서브 KES 회로는 직렬 연결된 다수 개의 PE 회로와 상기 PE 회로의 동작을 제어하는 제어 회로를 포함하는 리드 솔로몬 디코더.The Reed Solomon decoder of claim 1, wherein the sub KES circuit comprises a plurality of PE circuits connected in series and a control circuit for controlling the operation of the PE circuit. 청구항 3에 있어서, 상기 서브 KES 회로의 개수는 t(t는 자연수) 개이고, 상기 PE 회로의 개수는 3t+1개인 리드 솔로몬 디코더.The Reed Solomon decoder of claim 3, wherein the number of sub-KES circuits is t (t is a natural number), and the number of PE circuits is 3t + 1. 청구항 3에 있어서, 상기 PE 회로는 제 1 연산 동작을 수행하는 제 2 연산 회로와 제 2 연산 동작을 수행하는 제 2 연산 회로를 포함하고, 상기 제어 회로는 상기 제 1 연산 회로를 제어하는 제 1 제어 회로와 상기 제 2 연산 회로를 제어하는 제 2 제어 회로를 포함하는 리드 솔로몬 디코더.The apparatus of claim 3, wherein the PE circuit comprises a second operation circuit performing a first operation operation and a second operation circuit performing a second operation operation, wherein the control circuit is configured to control the first operation circuit. A reed solomon decoder comprising a control circuit and a second control circuit for controlling the second arithmetic circuit. 청구항 1에 있어서, 상기 SC 회로는 각각 코드워드로부터 하나의 신드롬을 계산하는 다수의 서브 SC 회로를 포함하는 리드 솔로몬 디코더.The Reed Solomon decoder of claim 1, wherein the SC circuit comprises a plurality of sub SC circuits, each calculating one syndrome from a codeword. 청구항 6에 있어서, 상기 다수의 서브 SC 회로는 병렬적으로 동작하여 다수의 신드롬을 출력하는 리드 솔로몬 디코더.The Reed Solomon decoder of claim 6, wherein the plurality of sub-SC circuits operate in parallel to output a plurality of syndromes. 청구항 1에 있어서, 상기 CSEE 회로는
상기 에러 위치 다항식으로부터 에러 위치를 연산하는 CS 회로; 및
상기 에러 평가 다항식 및 상기 에러 위치로부터 에러 값을 연산하는 EE 회로
를 포함하는 리드 솔로몬 디코더.
The circuit of claim 1 wherein the CSEE circuitry is
A CS circuit for calculating an error position from the error position polynomial; And
An EE circuit for calculating an error value from the error evaluation polynomial and the error location
Reed Solomon decoder including.
데이터를 인코딩하여 코드워드를 출력하는 에러 정정 인코더;
상기 에러 정정 인코더에서 출력되는 코드워드를 저장하는 메모리 셀; 및
상기 메모리 셀에서 출력되는 코드워드를 디코딩하여 에러가 정정된 데이터를 출력하는 에러 정정 디코더
를 포함하되,
상기 에러 정정 디코더는
상기 메모리 셀에서 출력된 코드워드로부터 신드롬을 계산하는 SC 회로;
상기 신드롬으로부터 에러 위치 다항식과 에러 평가 다항식을 연산하는 KES 회로; 및
상기 에러 위치 다항식과 상기 에러 평가 다항식으로부터 에러 위치와 에러 값을 연산하는 CSEE 회로
를 포함하고,
상기 KES 회로는 직렬 연결된 다수의 서브 KES 회로를 포함하고,
상기 다수의 서브 KES 회로 각각, 상기 SC 회로 및 상기 CSEE 회로는 파이프라인 단계를 구성하는
리드 솔로몬 디코더를 포함하는 반도체 장치.
An error correction encoder for encoding data and outputting a codeword;
A memory cell storing a codeword output from the error correction encoder; And
An error correction decoder that decodes a codeword output from the memory cell and outputs data with error correction
Including,
The error correction decoder
An SC circuit for calculating a syndrome from a codeword output from the memory cell;
A KES circuit for calculating an error position polynomial and an error evaluation polynomial from the syndrome; And
CSEE circuit for calculating an error position and an error value from the error position polynomial and the error evaluation polynomial
Including,
The KES circuit includes a plurality of sub KES circuits connected in series,
Each of the plurality of sub KES circuits, the SC circuit and the CSEE circuit constitute a pipeline stage.
A semiconductor device comprising a Reed Solomon decoder.
청구항 9에 있어서,
외부에서 입력된 데이터를 버퍼링하여 상기 에러 정정 인코더에 제공하는 입력 버퍼 및
상기 에러 정정 디코더에서 출력되는 데이터를 버퍼링하여 외부에 제공하는 출력 버퍼
를 더 포함하는 반도체 장치.
The method according to claim 9,
An input buffer for buffering externally input data and providing the same to the error correction encoder;
An output buffer that buffers the data output from the error correction decoder and provides it to the outside
The semiconductor device further comprising.
청구항 9에 있어서, 상기 코드워드는 데이터 부분과 패리티 부분을 포함하고, 상기 메모리 셀은 상기 데이터 부분을 저장하는 메인 셀과 상기 패리티 부분을 저장하는 패리티 셀을 포함하는 반도체 장치.The semiconductor device of claim 9, wherein the codeword includes a data portion and a parity portion, and the memory cell includes a main cell storing the data portion and a parity cell storing the parity portion. 청구항 9에 있어서, 상기 에러 정정 디코더는
상기 메모리 셀에서 출력된 코드워드를 큐잉하는 레지스터; 및
상기 레지스터에서 출력된 코드워드와 상기 에러 위치 및 상기 에러 값을 연산하여 에러가 정정된 데이터를 출력하는 에러 정정 연산 회로
를 더 포함하는 반도체 장치.
The method of claim 9, wherein the error correction decoder is
A register for queuing a codeword output from the memory cell; And
An error correction arithmetic circuit for calculating the codeword output from the register, the error position, and the error value and outputting data in which the error is corrected
The semiconductor device further comprising.
청구항 9에 있어서, 상기 서브 KES 회로는 직렬 연결된 다수 개의 PE 회로와 상기 PE 회로의 동작을 제어하는 제어 회로를 포함하는 반도체 장치.The semiconductor device of claim 9, wherein the sub-KES circuit comprises a plurality of PE circuits connected in series and a control circuit for controlling the operation of the PE circuit. 청구항 13에 있어서, 상기 서브 KES 회로의 개수는 t(t는 자연수) 개이고, 상기 PE 회로의 개수는 3t+1개인 반도체 장치.The semiconductor device according to claim 13, wherein the number of sub-KES circuits is t (t is a natural number), and the number of PE circuits is 3t + 1. 청구항 13에 있어서, 상기 PE 회로는 제 1 연산 동작을 수행하는 제 2 연산 회로와 제 2 연산 동작을 수행하는 제 2 연산 회로를 포함하고, 상기 제어 회로는 상기 제 1 연산 회로를 제어하는 제 1 제어 회로와 상기 제 2 연산 회로를 제어하는 제 2 제어 회로를 포함하는 반도체 장치.The apparatus of claim 13, wherein the PE circuit comprises a second operation circuit performing a first operation operation and a second operation circuit performing a second operation operation, wherein the control circuit is configured to control the first operation circuit. And a second control circuit for controlling the control circuit and the second arithmetic circuit. 청구항 9에 있어서, 상기 SC 회로는 각각 코드워드로부터 하나의 신드롬을 계산하는 다수의 서브 SC 회로를 포함하는 반도체 장치.10. The semiconductor device of claim 9, wherein the SC circuit comprises a plurality of sub SC circuits each calculating one syndrome from a codeword. 청구항 16에 있어서, 상기 다수의 서브 SC 회로는 병렬적으로 동작하여 다수의 신드롬을 출력하는 반도체 장치.The semiconductor device of claim 16, wherein the plurality of sub-SC circuits operate in parallel to output a plurality of syndromes. 청구항 9에 있어서, 상기 CSEE 회로는
상기 에러 위치 다항식으로부터 에러 위치를 연산하는 CS 회로; 및
상기 에러 평가 다항식 및 상기 에러 위치로부터 에러 값을 연산하는 EE 회로
를 포함하는 반도체 장치.
The system of claim 9, wherein the CSEE circuitry is
A CS circuit for calculating an error position from the error position polynomial; And
An EE circuit for calculating an error value from the error evaluation polynomial and the error location
A semiconductor device comprising a.
KR1020180167946A 2018-04-16 2018-12-21 Reed solomon decoder and semiconductor deivce including the same KR102635135B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/239,460 US10879933B2 (en) 2018-04-16 2019-01-03 Reed solomon decoder and semiconductor device including the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180043797 2018-04-16
KR20180043797 2018-04-16

Publications (2)

Publication Number Publication Date
KR20190120690A true KR20190120690A (en) 2019-10-24
KR102635135B1 KR102635135B1 (en) 2024-02-08

Family

ID=68423474

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180167946A KR102635135B1 (en) 2018-04-16 2018-12-21 Reed solomon decoder and semiconductor deivce including the same

Country Status (1)

Country Link
KR (1) KR102635135B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040045922A (en) 2001-10-26 2004-06-02 코닌클리즈케 필립스 일렉트로닉스 엔.브이. Decoding method and decoder for reed solomon code
KR20120007847A (en) * 2010-07-15 2012-01-25 아주대학교산학협력단 Four channel three-parallel reed-solomon decoder using s-dcme
KR101226439B1 (en) * 2011-12-27 2013-01-25 한국과학기술원 Rs decoder, memory system having the same and decoding method
US8365354B1 (en) 2011-10-25 2013-02-05 Der Sheng Co., Ltd. Castor having adjustable braking function

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040045922A (en) 2001-10-26 2004-06-02 코닌클리즈케 필립스 일렉트로닉스 엔.브이. Decoding method and decoder for reed solomon code
KR20120007847A (en) * 2010-07-15 2012-01-25 아주대학교산학협력단 Four channel three-parallel reed-solomon decoder using s-dcme
US8365354B1 (en) 2011-10-25 2013-02-05 Der Sheng Co., Ltd. Castor having adjustable braking function
KR101226439B1 (en) * 2011-12-27 2013-01-25 한국과학기술원 Rs decoder, memory system having the same and decoding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
D. V. Sarwate and N. R. Shanbhag, "High-speed Architectures for Reed-Solomon decoders," IEEE Trans. on VLSI Syst., vol. 9, pp. 641-655, Oct. 2001. (Pubitemid 32992893)

Also Published As

Publication number Publication date
KR102635135B1 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
Lee High-speed VLSI architecture for parallel Reed-Solomon decoder
US5157671A (en) Semi-systolic architecture for decoding error-correcting codes
JP3256517B2 (en) Encoding circuit, circuit, parity generation method, and storage medium
US6119262A (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
WO2000057561A1 (en) Pipelined high speed reed-solomon error/erasure decoder
US7870468B1 (en) Reed-solomon decoder using a configurable arithmetic processor
Qaqos Optimized FPGA implementation of the CRC using parallel pipelining architecture
US20030188248A1 (en) Apparatus for iterative hard-decision forward error correction decoding
Xie et al. Reduced-complexity key equation solvers for generalized integrated interleaved BCH decoders
KR100970223B1 (en) A method of soft-decision decoding of reed-solomon codes, and reed-solomon codeword decoder and computer program product
JP3447053B2 (en) Combination circuit, encoding device, decoding device, and semiconductor device using the combination circuit
US9337869B2 (en) Encoding and syndrome computing co-design circuit for BCH code and method for deciding the same
US20100174970A1 (en) Efficient implementation of a key-equation solver for bch codes
US20030131308A1 (en) Method and apparatus for solving key equation polynomials in decoding error correction codes
KR102635135B1 (en) Reed solomon decoder and semiconductor deivce including the same
US8984385B1 (en) Systems and methods for cyclic redundancy check implementation
KR100756424B1 (en) An Area-Efficient Reed-Solomon Decoder using Pipelined Recursive Technique
JPH11196006A (en) Parallel processing syndrome calculation circuit and reed solomon decoding circuit
KR101636406B1 (en) Preprocessing apparatus and method for low latency of syndrome calculation in bch decoder
US10218386B1 (en) Methods and apparatus for performing variable and breakout Reed Solomon encoding
US10879933B2 (en) Reed solomon decoder and semiconductor device including the same
KR101267958B1 (en) Bch decoder, memory system having the same and decoding method
TWI523437B (en) Encoding and syndrome computing co-design circuit for bch code and method for deciding the same
JPH06276106A (en) Error correcting/decoding device
US8245103B2 (en) Arithmetic circuit for concatenated codes and address control method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant