KR100873824B1 - 오류 제어 코드 장치 및 그 방법 - Google Patents

오류 제어 코드 장치 및 그 방법 Download PDF

Info

Publication number
KR100873824B1
KR100873824B1 KR1020070043669A KR20070043669A KR100873824B1 KR 100873824 B1 KR100873824 B1 KR 100873824B1 KR 1020070043669 A KR1020070043669 A KR 1020070043669A KR 20070043669 A KR20070043669 A KR 20070043669A KR 100873824 B1 KR100873824 B1 KR 100873824B1
Authority
KR
South Korea
Prior art keywords
ecc
data
control signal
encoding
decoding
Prior art date
Application number
KR1020070043669A
Other languages
English (en)
Other versions
KR20080098241A (ko
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 KR1020070043669A priority Critical patent/KR100873824B1/ko
Priority to US11/905,733 priority patent/US8028215B2/en
Publication of KR20080098241A publication Critical patent/KR20080098241A/ko
Application granted granted Critical
Publication of KR100873824B1 publication Critical patent/KR100873824B1/ko

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

Abstract

오류 제어 코드 장치 및 그 방법이 개시된다. 본 발명의 일 실시예에 따른 오류 제어 코드 장치는 채널 정보를 기초로 ECC(error control code) 조절 제어 신호를 생성하는 조절 제어 신호 생성부, 각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들(storage elements)을 통해 출력하는 복수 개의 ECC 인코딩 조절부들 및 상기 ECC 인코딩 조절부들로부터 출력되는 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 인코딩 수행부를 포함하는 것을 특징으로 한다.
ECC(error control code), I-interleaved coding scheme, 채널 정보, BER(bit error rate), 인코딩(encoding), 디코딩(decoding)

Description

오류 제어 코드 장치 및 그 방법{ERROR CONTROL CODE APPARATUS AND METHOD USING THE SAME}
도 1은 본 발명의 일 실시예에 따른 오류 제어 코드 장치에 대한 블록도이다.
도 2는 도 1에 도시한 ECC 인코딩 조절부 또는 ECC 디코딩 조절부에 대한 일 예시도이다.
도 3은 본 발명의 일 실시예에 따른 오류 제어 코드 방법에 대한 동작 흐름도이다.
도 4는 본 발명의 다른 일 실시예에 따른 오류 제어 코드 방법에 대한 동작 흐름도이다.
도 5는 본 발명의 또 다른 일 실시예에 따른 오류 제어 코드 방법에 대한 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110, 120: ECC 인코딩 조절부
140: 조절 제어 신호 생성부
150, 160: ECC 디코딩 조절부
240: 출력 데이터 선택부
본 발명은 오류 제어 코드(ECC: error control code)에 관한 것으로, 더욱 상세하게는 I-인터리브드 코딩 스킴(I-interleaved coding scheme)을 이용하여 채널에서 발생하는 오류 수준에 따라 기억 소자들의 개수를 조절하여 ECC 성능을 조절할 수 있는 오류 제어 코드 장치 및 그 방법에 관한 것이다.
일반적으로 채널에서 발생하는 오류 수준이 다를 경우 오류 수준에 따라 최적화된 ECC 구조를 구현한다.
즉, 채널에서 발생하는 오류 수준이 낮은 경우 오류 정정 능력이 낮은 간단한 구조의 ECC로서 원하는 수준의 성능을 구현할 수 있지만, 채널에서 발생하는 오류 수준이 높은 경우에는 원하는 수준의 성능을 구현하기 위하여 오류 정정 능력이 높은 복잡도의 수준이 높은 ECC 구조가 필요하다.
한편, 일반적으로 인터리빙 수준이 높은 코딩 스킴 (coding scheme)을 이용할수록 오류 정정 능력이 높아지지만 복잡도와 레이턴시(latency)가 증가하고 코드 효율(code rate)이 낮아지며, 인터리빙 수준이 낮은 코딩 스킴을 이용할수록 오류 정정 능력이 낮아지지만 복잡도와 레이턴시가 감소하고 코드 효율이 높아진다.
따라서, 일반적으로 채널에서 발생하는 오류 수준이 높은 경우에는 인터리빙 수준이 높은 코딩 스킴을 사용하고, 채널에서 발생하는 오류 수준이 낮은 경우에는 인터리빙 수준이 낮은 코딩 스킴을 사용하는 것이 바람직하다.
하지만, 채널에서 발생하는 오류 수준이 높은 경우에 맞추어 인터리빙 수준을 고정하여 사용할 경우에는 상황에 따라 달라지는 채널의 오류 수준과 관계없이 높은 수준의 인터리브드 코드 스킴을 이용하여 ECC 연산을 수행하기 때문에 상황에 따라 채널의 오류 수준이 낮아질 경우 불필요하게 레이턴시(latency)가 길어지고, 불필요한 추가 데이터(redundancy data)의 전송이 요구됨으로써 전체 코드 길이에 대한 정보량의 비율, 즉 코드 효율(code rate)이 불필요하게 줄어들게 된다.
물론, 채널측에서 발생하는 오류 수준이 낮은 경우 낮은 수준의 인터리브드 코드 스킴을 이용한 ECC 구조를 사용하고, 채널측에서 발생하는 오류 수준이 높은 경우 높은 수준의 인터리브드 코딩 스킴을 이용한 ECC 구조를 사용할 수 있도록 여러 개의 구조를 함께 구성할 수 있지만, 이 경우에는 회로의 복잡도가 높아지게 된다.
한편, 일반적으로 인터리브드 코딩 스킴을 사용할 경우 연속적인 비트 에러(burst error)의 정정 능력이 높아짐은 널리 알려져 있는 사실이다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, I-인터리브드 코딩 스킴을 이용한 제너레이터 폴리노미얼(generator polynomial)로부터 채널에서 발생한 오류 수준에 따라 기억 소자들의 개수를 조절하여 인코딩 및 디코딩의 레이턴시를 줄이는 것을 목적으로 한다.
또한, 본 발명은 채널에서 발생한 오류 수준에 따라 기억 소자들의 개수를 조절하여 코드 효율(code rate)을 향상시키는 것을 목적으로 한다.
또한, 본 발명은 I-인터리브드 코딩 스킴을 이용하여 채널에서 발생한 오류 수준에 따라 ECC 성능을 조절하면서 복잡도가 낮은 ECC 구조를 제공하는 것을 목적으로 한다.
또한, 본 발명은 제품의 반복 사용 횟수나 사용 시간에 따라 채널의 오류 수준이 변하는 경우 오류 수준의 변화에 따라 ECC 성능을 조절할 수 있는 최적의 ECC 구조를 제공하는 것을 목적으로 한다.
또한, 본 발명은 채널로서 메모리가 사용될 경우 메모리 셀의 SLC(single level cell) 및 MLC(multi level cell) 동작 방식에 의한 채널 오류 수준의 변화에 따라 ECC 성능을 조절할 수 있는 최적의 ECC 구조를 제공하는 것을 목적으로 한다.
또한, 본 발명은 채널로서 MLC 동작 방식에 의한 메모리가 사용될 경우 MSB(most significant bit), LSB(least significant bit) 등의 사용 비트에 대한 오류 수준의 변화에 따라 ECC 성능을 조절할 수 있는 최적의 ECC 구조를 제공하는 것을 목적으로 한다.
상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따른 오류 제어 코드 장치는 채널 정보를 기초로 ECC(error control code) 조절 제어 신호를 생성하는 조절 제어 신호 생성부, 각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들(storage elements)을 통해 출력하는 복수 개의 ECC 인코딩 조절부들 및 상기 ECC 인코딩 조절부들로부터 출력되는 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 인코딩 수행부를 포함하는 것을 특징으로 한다.
이때, 상기 ECC 인코딩 조절부들 각각은 직렬로 연결된 I 개의 기억 소자들을 포함하고, 상기 입력되는 데이터를 상기 I 개의 기억 소자들 중 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력할 수 있다.
이때, 상기 ECC 인코딩 조절부들 각각은 상기 ECC 조절 제어 신호를 기초로 상기 I 개의 기억 소자들의 출력 데이터들 중 어느 하나를 출력하는 출력 데이터 선택부를 더 포함할 수 있다.
이때, 상기 채널 정보는 채널측 비트 에러율(BER), 채널측 수신신호강도(RSSI: Received Signal Strength Indication) 및 사용자에 의해 입력된 입력 신호일 수 있다.
이때, 상기 채널 정보는 메모리에 대한 채널 정보일 수 있다.
본 발명의 다른 일 실시예에 따른 오류 제어 코드 장치는 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 조절 제어 신호 생성부, 각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하는 복수 개의 ECC 디코딩 조절부들 및 상기 ECC 디코딩 조절부들로부터 출력되는 데이터들을 이용하여 상기 ECC 조절 제어 신호에 상응하는 개수의 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩하는 디코딩 수행부를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 일 실시예에 따른 오류 제어 코드 장치는 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 조절 제어 신호 생성부, 각각 입력되는 데이 터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하는 복수 개의 ECC 인코딩 조절부들 및 복수 개의 ECC 디코딩 조절부들, 상기 ECC 인코딩 조절부들로부터 출력되는 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 인코딩 수행부 및 상기 ECC 디코딩 조절부들로부터 출력되는 데이터들을 이용하여 상기 ECC 조절 제어 신호에 상응하는 개수의 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩하는 디코딩 수행부를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 오류 제어 코드 방법은 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 단계, 각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 인코딩 조절 데이터들을 생성하는 단계 및 상기 복수 개의 ECC 인코딩 조절 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따른 오류 제어 코드 방법은 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 단계, 각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 디코딩 조절 데이터들을 생성하는 단계 및 상기 복수 개의 ECC 디코딩 조절 데이터들을 이용하여 상기 ECC 조절 제어 신호에 상응하는 개수의 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 일 실시예에 따른 오류 제어 코드 방법은 채널 정보를 기 초로 ECC 조절 제어 신호를 생성하는 단계, 각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 인코딩 조절 데이터들 및 복수 개의 ECC 디코딩 조절 데이터들을 생성하는 단계, 상기 복수 개의 ECC 인코딩 조절 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 단계 및 상기 복수 개의 ECC 디코딩 조절 데이터들을 이용하여 상기 ECC 조절 제어 신호에 상응하는 개수의 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 오류 제어 코드 장치에 대한 블록도이다.
도 1을 참조하면, 오류 제어 코드 장치는 조절 제어 신호 생성부(140), 복수 개의 ECC 인코딩 조절부들(110, 120), 복수 개의 ECC 디코딩 조절부들(150, 160), 인코딩 수행부 및 디코딩 수행부를 포함한다.
조절 제어 신호 생성부(140)는 채널 정보를 기초로 ECC 조절 제어 신호(Sc)를 생성한다.
이때, 채널 정보는 채널측 비트 에러율(BER), 수신신호강도(RSSI: Received Signal Strength Indication) 및 사용자에 의해 입력된 사용자 입력 신호 등이 될 수 있는데, 채널 정보를 이에 한정 하지 않고 채널 오류 수준을 판단할 수 있는 모든 정보를 포함할 수 있다.
여기서, 채널은 통신 채널 및 스토리지 채널 등이 될 수 있고, 채널에 대한 일 예로는 무선 구간, 하드 디스크(HDD), 콤팩트 디스크(CD), 디지털 비디오 디스크(DVD) 및 메모리 등이 될 수 있는데, 본 발명에서의 채널은 메모리인 것이 가장 바람직하다.
이때, 메모리는 SLC(single level cell) 방식의 메모리 및 MLC(multi-level cell) 방식의 메모리를 포함할 수 있다.
일 예로, 채널로서 데이터 저장 장치가 사용될 경우 채널 정보는 저장 장치의 내구성(endurance) 및 저장되어 있는 데이터의 지속성(retention) 등의 신뢰성(reliability)일 수 있다.
다른 일 예로, 채널로서 메모리가 사용될 경우 채널 정보는 단위 메모리 셀에 저장할 수 있는 데이터의 양에 따라서 SLC 방식의 메모리인지 또는 MLC 방식의 메모리인지 등을 포함할 수 있다.
또 다른 일 예로, 채널로서 MLC 방식의 메모리가 사용될 경우 채널 정보는 메모리에 저장되는 데이터의 비트(bit) 정보일 수 있다. 여기서, MLC 메모리에 저장되는 데이터의 비트 정보는 MSB(most significant bit) 또는 LSB(least significant bit) 등을 포함할 수 있다.
이때, 조절 제어 신호 생성부(140)는 ECC 인코딩 조절부들(110, 120) 및 ECC 디코딩 조절부들(150, 160)에 포함된 기억 소자들(storage elements)의 출력 신호 들 중 어느 하나를 선택하는 ECC 조절 제어 신호를 생성할 수 있다.
이때, 조절 제어 신호 생성부(140)는 ECC 인코딩 조절부들(110, 120)의 기억 소자들의 출력 신호들 중 어느 하나를 선택하는 ECC 조절 제어 신호 및 ECC 디코딩 조절부들(150, 160)의 기억 소자들의 출력 신호들 중 어느 하나를 선택하는 ECC 조절 제어 신호를 각각 생성할 수 있다. 여기서, ECC 디코딩 조절부들(150, 160)의 기억 소자들의 출력 신호들 중 어느 하나를 선택하는 ECC 조절 제어 신호는 디코딩이 수행되는 복수 개의 데이터들이 특정 데이터의 인코딩에 의해 생성된 경우 특정 데이터의 인코딩 시 ECC 인코딩 조절부들(110, 120)의 기억 소자들의 출력 신호들 중 어느 하나를 선택하는 ECC 조절 제어 신호와 동일한 것이 바람직하며, 이는 이 기술 분야에 종사하는 당업자에게 있어서 자명하다. 예컨대, A라는 데이터가 복수 개의 기억 소자들 중 2 개의 기억 소자들을 통해 출력된 신호를 이용하여 C1, C2의 서브 데이터들로 인코딩된 경우 조절 제어 신호 생성부(140)는 인코딩된 데이터들 C1, C2를 디코딩하기 위해 기억 소자들의 출력 신호들 중 2 개의 기억 소자들을 통해 출력된 신호를 선택하는 ECC 조절 제어 신호를 생성하여 ECC 디코딩 조절부들(150, 160)로 출력한다.
이때, 조절 제어 신호 생성부(140)는 ECC 인코딩 조절부들(110, 120)의 기억 소자들의 출력 신호들 중 선택될 어느 하나에 대한 정보 및 ECC 디코딩 조절부들(150, 160)의 기억 소자들의 출력 신호들 중 선택될 어느 하나에 대한 정보를 포함하는 ECC 조절 제어 신호를 생성할 수 있다. 예컨대, 조절 제어 신호 생성부(140)는 ECC 인코딩 조절부들(110, 120)의 기억 소자들의 출력 신호들 중 선택될 어느 하나를 나타내는 비트수 예를 들어, 4비트와 ECC 디코딩 조절부들(150, 160)의 기억 소자들의 출력 신호들 중 선택될 어느 하나를 나타내는 비트수 예를 들어, 4비트가 더해진 8비트의 ECC 조절 제어 신호를 생성한다.
복수 개의 ECC 인코딩 조절부들(110, 120) 각각은 I 개의 기억 소자들을 포함하고 조절 제어 신호 생성부(140)에 의해 생성된 ECC 조절 제어 신호(Sc)를 기초로 입력되는 데이터를 I 개의 기억 소자들 중 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력한다.
이때, 복수 개의 ECC 인코딩 조절부들(110, 120) 각각은 ECC 조절 제어 신호를 기초로 직렬로 연결된 I 개의 기억 소자들의 출력 데이터 중 어느 하나를 출력할 수 있다.
이때, 복수 개의 ECC 인코딩 조절부들(110, 120) 각각은 입력 데이터(a)에 기 결정된 웨이트(weight), 예를 들어, g0 내지 gn -k-1 중 어느 하나가 곱해진 데이터 또는 곱해진 데이터와 ECC 인코딩 조절부들(110, 120)의 출력 데이터가 더해진 데이터를 입력받고, ECC 조절 제어 신호를 기초로 입력받은 데이터에 대한 I 개의 기억 소자들의 출력 신호들 중 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력된 신호를 출력할 수 있다. 여기서, 웨이트는 0 또는 1인 것이 바람직하다.
복수 개의 ECC 디코딩 조절부들(150, 160) 각각은 I 개의 기억 소자들을 포함하고 조절 제어 신호 생성부(140)에 의해 생성된 ECC 조절 제어 신호(Sc)를 기초 로 입력되는 데이터를 I 개의 기억 소자들 중 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력한다.
이때, 복수 개의 ECC 디코딩 조절부들(150, 160) 각각은 ECC 조절 제어 신호를 기초로 직렬로 연결된 I 개의 기억 소자들의 출력 데이터 중 어느 하나를 출력할 수 있다.
이때, 복수 개의 ECC 디코딩 조절부들(150, 160) 각각은 입력 데이터(r1 내지 rl)의 디코딩된 출력 데이터(S)에 기 결정된 웨이트(weight), 예를 들어, g0 내지 gn -k-1 중 어느 하나가 곱해진 데이터와 입력 데이터(r1 내지 rl)가 더해진 데이터 또는 입력 데이터(r1 내지 rl)의 디코딩된 출력 데이터(S)에 웨이트들 중 어느 하나가 곱해진 데이터와 ECC 디코딩 조절부(150)의 출력 데이터가 더해진 데이터를 입력받고, ECC 조절 제어 신호를 기초로 입력받은 데이터에 대한 I 개의 기억 소자들의 출력 신호들 중 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력된 신호를 출력할 수 있다.
이때, 입력 데이터(r1 내지 rl)의 디코딩된 출력 데이터(S)는 ECC 디코딩 조절부(160)로부터 출력된 신호에 기 결정된 웨이트 gn -k가 곱해진 데이터가 될 수 있다.
인코딩 수행부는 복수 개의 덧셈기들(131 내지 133)을 포함하고, 복수 개의 ECC 인코딩 조절부들(110, 120)로부터 출력되는 데이터들을 이용하여 인코딩하기 위한 입력 데이터(a)(이하, 인코딩 입력 데이터)를 ECC 조절 제어 신호에 상응하는 개수(m)의 독립적인 서브 데이터들(c1 내지 cm)로 인코딩한다.
여기서, I-인터리브드 코딩 스킴의 제너레이터 폴리노미얼(generator polynomial)로부터 복수 개의 ECC 인코딩 조절부들 및 인코딩 수행부의 연결 상태가 결정되고, 이 연결 상태는 I 값의 변화에 따라 거의 바뀌지 않는다.
여기서, m은 1 이상 I 이하인 정수이다.
여기서, 인코딩 수행부는 인코딩 방식에 따라 복수 개의 덧셈기가 아닌 복수 개의 배타적 덧셈기를 포함할 수도 있다.
디코딩 수행부 또한 복수 개의 덧셈기들(171 내지 173)을 포함하고, 복수 개의 ECC 디코딩 조절부들로부터 출력되는 데이터들을 이용하여 복수 개(l)의 독립적인 입력 데이터들(r1 내지 rl)(이하, 디코딩 입력 데이터들)을 하나의 출력 데이터(S)로 디코딩하기 위한 데이터를 출력한다.
즉, 복수 개(l)의 독립적인 입력 데이터들은 덧셈기들(171 내지 173) 각각으로부터 출력된 데이터를 이용하여 하나의 출력 데이터(S)로 디코딩 된다.
이때, 채널이 메모리인 경우 복수 개(l)의 독립적인 입력 데이터들(r1 내지 rl)은 복수 개의 ECC 인코딩 조절부들(110, 120) 및 인코딩 수행부(131 내지 133)를 통해 인코딩되어 메모리에 저장된 복수 개(l)의 서브 데이터들로서, 디코딩되는 독립적인 입력 데이터들의 개수(l)는 메모리에 저장된 서브 데이터들을 디코딩하기 때문에 특정 데이터가 인코딩되어 메모리에 저장되는 서브 데이터들의 개수(m)와 다를 수도 있다. 즉, 도 1에 도시한 m과 l은 같은 값이거나 다른 값일 수 있다.
여기서, I-인터리브드 코딩 스킴의 제너레이터 폴리노미얼로부터 복수 개의 ECC 디코딩 조절부들 및 디코딩 수행부의 연결 상태가 결정되고, 이 연결 상태는 I 값의 변화에 따라 거의 바뀌지 않는다.
여기서, l은 1 이상 I 이하인 정수이다.
여기서, 디코딩 수행부는 디코딩 방식에 따라 복수 개의 덧셈기가 아닌 복수 개의 배타적 덧셈기를 포함할 수도 있다.
이와 같이 본 발명에 따른 오류 제어 코드 장치는 I 개의 기억 소자들 중 채널측 에러 수준에 상응하는 개수의 기억 소자들을 통해 출력된 데이터들을 이용하여 인코딩 또는 디코딩을 수행한다.
본 발명에 따른 오류 제어 코드 장치의 적용 예를 들면 다음과 같다.
일 예로, 본 발명에 따른 오류 제어 코드 장치는 채널측 에러 수준이 높은 m-bit/cell 방식과 채널측 에러 수준이 낮은 m'-bit/cell(m'<m) 방식을 선택하여 사용할 수 있는 메모리 코어에 적용될 수 있다. 즉, 메모리 코어가 m'-bit/cell 방식으로 동작하는 경우 채널 오류 수준이 낮기 때문에 오류 제어 코드 장치는 I 개의 기억 소자들 중 일부인 I1 개의 기억 소자들을 사용하여 오류 정정을 수행하고, 메모리 코어가 m-bit/cell 방식으로 동작하는 경우 채널 오류 수준이 높기 때문에 오류 제어 코드 장치는 I2(I1<I2<I) 개의 기억 소자들을 사용하여 오류 정정을 수행한다. 이때, 오류 제어 코드 장치는 동일한 모제너레이터 폴리노미얼로부터 재구성되므로, 각 경우에 대하여 기억 소자의 개수가 I1, I2 등으로 변할 수 있 도록 하더라도 전체적인 하드웨어의 복잡도는 크게 증가하지 않기 때문에 각 경우에 대한 오류 제어 코드 장치를 별도로 하는 경우보다 하드웨어의 복잡도가 작다.
다른 일 예로, 본 발명에 따른 오류 제어 코드 장치는 페이지별로 에러 수준이 다른 m-bit/cell 방식의 메모리 코어에 적용될 수 있다. 즉, 에러 수준이 낮은 페이지에 대해서 오류 제어 코드 장치는 I 개의 기억 소자들 중 일부인 I3 개의 기억 소자들을 사용하여 오류 정정을 수행하고, 오류 수준이 높은 페이지에 대해서 오류 제어 코드 장치는 I4(I3<I4<I) 개의 기억 소자들을 사용하여 오류 정정을 수행한다
도 2는 도 1에 도시한 ECC 인코딩 조절부 또는 ECC 디코딩 조절부에 대한 일 예시도이다.
즉, ECC 인코딩 조절부 및 ECC 디코딩 조절부는 동일한 구성을 갖는다. 따라서, 도 2에서는 ECC 인코딩 조절부로 한정하여 설명한다.
도 2를 참조하면, ECC 인코딩 조절부는 I 개의 기억 소자들(210 내지 230) 및 출력 데이터 선택부(240)를 포함한다.
I 개의 기억 소자들(210 내지 230)은 직렬로 연결되고, 각각의 기억 소자들은 입력되는 데이터를 딜레이한 후 출력한다.
출력 데이터 선택부(240)는 ECC 조절 제어 신호(Sc)를 기초로 I 개의 기억 소자들(210 내지 230)의 출력 데이터들 중 어느 하나를 출력한다. 즉, 출력 데이터 선택부(240)는 채널 오류 수준에 따라 기억 소자들의 개수가 조절된 출력 데이 터를 출력한다.
예컨대, ECC 인코딩 조절부가 4 개의 기억 소자들을 포함하고, 채널 오류 수준이 E1, E2, E3 및 E4(E1<E2<E3<E4)로 구분된 경우 출력 데이터 선택부(240)는 채널 오류 수준 E1에 상응하는 ECC 조절 제어 신호가 입력되면 입력되는 데이터에 대한 4 개의 기억 소자들의 출력 데이터 중 첫 번째 기억 소자의 출력 데이터(①)를 출력한다.
마찬가지로, 출력 데이터 선택부(240)는 채널 오류 수준 E4에 상응하는 ECC 조절 제어 신호가 입력되면 입력되는 데이터에 대한 4 개의 기억 소자들의 출력 데이터 중 마지막 기억 소자 즉, 네 번째 기억 소자의 출력 데이터(ⓘ)를 출력한다.
이때, 출력 데이터 선택부(240)는 ECC 조절 제어 신호를 선택 신호로 하여 복수 개의 입력 데이터 중 어느 하나를 출력하는 멀티플렉서(multiplexer)일 수 있다. 즉, ECC 인코딩 조절부가 4 개의 기억 소자들을 포함하는 경우 출력 데이터 선택부(240)는 4x1 멀티플렉서이다.
이와 같이 본 발명에 따른 오류 제어 코드 장치는 채널 오류 수준에 따라 기억 소자들의 출력 신호들 중 채널 오류 수준에 상응하는 신호를 선택하여 ECC 성능을 가변적으로 조절함으로써, 코드 효율을 향상시키고 레이턴시를 줄일 수 있다.
도 3은 본 발명의 일 실시예에 따른 오류 제어 코드 방법에 대한 동작 흐름도로서, I-인터리브드 코딩 스킴을 이용한 인코딩 과정에 대한 동작 흐름도이다.
도 3을 참조하면, 오류 제어 코드 방법은 채널 정보를 기초로 ECC 조절 제어 신호를 생성한다(S310).
이때, 채널 정보는 채널측 비트 에러율, 수신신호강도 및 사용자에 의해 입력된 사용자 입력 신호 등이 될 수 있다.
여기서, 채널은 통신 채널 및 스토리지 채널 등이 될 수 있는데, 채널에 대한 일 예로는 무선 구간, 하드 디스크(HDD), 콤팩트 디스크(CD), 디지털 비디오 디스크(DVD) 및 메모리 등이 될 수 있고, 본 발명에 따른 오류 제어 코드 방법에서의 채널은 메모리인 것이 가장 바람직하다.
채널 정보에 대한 일 예로, 채널로서 MLC 방식의 메모리가 사용될 경우 채널 정보는 메모리에 저장되는 데이터의 비트(bit) 정보일 수 있다.
이때, ECC 조절 제어 신호는 채널측 오류 수준에 따라 ECC 성능을 조절하기 위한 제어 신호로서, 그 값은 상황에 따라 달라질 수 있다.
ECC 조절 제어 신호가 생성되면 그 생성된 ECC 조절 제어 신호를 기초로 I 개의 기억 소자들의 출력 신호들 중 ECC 조절 제어 신호에 상응하는 출력 신호를 선택한다(S320).
각각 입력되는 데이터를 I 개의 기억 소자들 중 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 인코딩 조절 데이터들을 생성한다(S330).
즉, I 개의 기억 소자들 중 채널측 오류 수준에 따라 생성된 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 이용하여, 복수 개의 ECC 인코딩 조절 데이터들을 생성 또는 출력한다.
이때, ECC 인코딩 조절 데이터들 각각은 ECC 조절 제어 신호를 기초로 I 개 의 기억 소자들의 출력 데이터들 중 어느 하나가 될 수 있다.
복수 개의 ECC 인코딩 조절 데이터들을 이용하여 인코딩 입력 데이터를 복수 개의 독립적인 서브 데이터들로 인코딩한다(S340).
여기서, 독립적인 서브 데이터들의 개수는 ECC 조절 제어 신호에 상응하는 개수이다. 예컨대, ECC 조절 제어 신호에 상응하는 개수가 3 개인 경우 생성되는 독립적인 서브 데이터들은 3 개가 된다.
도 4는 본 발명의 다른 일 실시예에 따른 오류 제어 코드 방법에 대한 동작 흐름도로서, I-인터리브드 코딩 스킴을 이용한 디코딩 과정에 대한 동작 흐름도이다.
도 4를 참조하면, 오류 제어 코드 방법은 채널 정보를 기초로 ECC 조절 제어 신호를 생성한다(S410).
여기서, 디코딩 과정에서 필요한 ECC 조절 제어 신호는 디코딩을 수행하기 위한 복수 개의 독립적인 디코딩 입력 데이터들이 ECC 인코딩 블록에서 인코딩될 때에 사용되었던 ECC 조절 제어 신호와 같은 것을 사용하는 것이 바람직하다.
이때, 채널 정보는 채널측 비트 에러율, 수신신호강도 및 사용자에 의해 입력된 사용자 입력 신호 등이 될 수 있다.
ECC 조절 제어 신호가 생성되면 그 생성된 ECC 조절 제어 신호를 기초로 I 개의 기억 소자들의 출력 신호들 중 ECC 조절 제어 신호에 상응하는 출력 신호를 선택한다(S420).
각각 입력되는 데이터를 I 개의 기억 소자들 중 ECC 조절 제어 신호에 상응 하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 디코딩 조절 데이터들을 생성한다(S430).
즉, I 개의 기억 소자들 중 채널측 오류 수준에 따라 생성된 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 이용하여, 복수 개의 ECC 디코딩 조절 데이터들을 생성 또는 출력한다.
이때, ECC 디코딩 조절 데이터들 각각은 ECC 조절 제어 신호를 기초로 I 개의 기억 소자들의 출력 데이터들 중 어느 하나가 될 수 있다.
복수 개의 ECC 디코딩 조절 데이터들을 이용하여 복수 개의 독립적인 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩한다(S440).
도 5는 본 발명의 또 다른 일 실시예에 따른 오류 제어 코드 방법에 대한 동작 흐름도이다.
도 5를 참조하면, 오류 제어 코드 방법은 채널 정보를 기초로 ECC 조절 제어 신호를 생성한다(S510).
이때, 채널 정보는 채널측 비트 에러율, 수신신호강도 및 사용자에 의해 입력된 사용자 입력 신호 등이 될 수 있다.
ECC 조절 제어 신호가 생성되면 그 생성된 ECC 조절 제어 신호를 기초로 I 개의 기억 소자들의 출력 신호들 중 ECC 조절 제어 신호에 상응하는 출력 신호를 선택한다(S520).
각각 입력되는 데이터를 I 개의 기억 소자들 중 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 인코딩 조절 데이터들 및 복수 개의 ECC 디코딩 조절 데이터들을 생성한다(S530).
즉, I 개의 기억 소자들 중 채널측 오류 수준에 따라 생성된 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 이용하여, 복수 개의 ECC 인코딩 조절 데이터들 및 복수 개의 ECC 디코딩 조절 데이터들을 생성 또는 출력한다.
이때, ECC 인코딩 조절 데이터들 및 ECC 디코딩 조절 데이터들 각각은 ECC 조절 제어 신호를 기초로 I 개의 기억 소자들의 출력 데이터들 중 어느 하나가 될 수 있다.
복수 개의 ECC 인코딩 조절 데이터들을 이용하여 인코딩 입력 데이터를 복수 개의 독립적인 서브 데이터들로 인코딩한다(S540).
복수 개의 ECC 디코딩 조절 데이터들을 이용하여 복수 개의 독립적인 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩한다(S550).
도 5에서 단계 S540과 단계 S550이 순차적으로 수행되도록 도시되었지만, 이에 한정하지 않고 두 단계 S540과 단계 S550이 동시에 수행될 수 있으며 단계 S550이 단계 S540보다 먼저 수행될 수도 있다.
디코딩 속도를 증가시켜야 할 경우 복수 개의 독립적인 디코딩 입력 데이터들을 병렬로 디코딩함으로써, 디코딩 수행 속도를 빠르게 할 수도 있다.
본 발명에 따른 오류 제어 코드 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명의 일 실시예에 따른 오류 제어 코드 장치 및 그 방법은, I-인터리브 드 코딩 스킴을 이용한 제너레이터 폴리노미얼(generator polynomial)로부터 채널에서 발생한 오류 수준에 따라 기억 소자들의 개수를 조절하여 인코딩 및 디코딩의 레이턴시를 줄일 수 있다.
또한, 본 발명은 채널에서 발생한 오류 수준에 따라 기억 소자들의 개수를 조절하여 코드 효율(code rate)을 향상시킬 수 있다.
또한, 본 발명은 I-인터리브드 코딩 스킴을 이용하여 채널에서 발생한 오류 수준에 따라 ECC 성능을 조절하면서 복잡도가 낮은 ECC 구조를 제공할 수 있다.
또한, 본 발명은 제품의 반복 사용 횟수나 사용 시간에 따라 채널측의 오류 수준이 변하는 경우 오류 수준의 변화에 따라 ECC 성능을 조절할 수 있는 최적의 ECC 구조를 제공할 수 있다.
또한, 본 발명은 채널로서 메모리가 사용될 경우 메모리 셀의 SLC(single level cell) 및 MLC(multi level cell) 동작 방식에 의한 채널 오류 수준의 변화에 따라 ECC 성능을 조절할 수 있는 최적의 ECC 구조를 제공할 수 있다.
또한, 본 발명은 채널로서 MLC 동작 방식에 의한 메모리가 사용될 경우 MSB(most significant bit), LSB(least significant bit) 등의 사용 비트에 대한 오류 수준의 변화에 따라 ECC 성능을 조절할 수 있는 최적의 ECC 구조를 제공할 수 있다.

Claims (26)

  1. 채널 정보를 기초로 ECC(error control code) 조절 제어 신호를 생성하는 조절 제어 신호 생성부;
    각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들(storage elements)을 통해 출력하는 복수 개의 ECC 인코딩 조절부들; 및
    상기 ECC 인코딩 조절부들로부터 출력되는 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 인코딩 수행부
    를 포함하는 것을 특징으로 하는 오류 제어 코드 장치.
  2. 제1항에 있어서,
    상기 ECC 인코딩 조절부들 각각은
    직렬로 연결된 I 개의 기억 소자들을 포함하고, 상기 입력되는 데이터를 상기 I 개의 기억 소자들 중 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하는 것을 특징으로 하는 오류 제어 코드 장치.
  3. 제2항에 있어서,
    상기 ECC 인코딩 조절부들 각각은
    상기 ECC 조절 제어 신호를 기초로 상기 I 개의 기억 소자들의 출력 데이터 들 중 어느 하나를 출력하는 출력 데이터 선택부
    를 더 포함하는 것을 특징으로 하는 오류 제어 코드 장치.
  4. 제3항에 있어서,
    상기 출력 데이터 선택부는
    상기 ECC 조절 제어 신호를 선택 신호로 하여 상기 I 개의 기억 소자들의 출력 데이터들 중 상기 선택 신호에 상응하는 어느 하나를 출력하는 멀티플렉서(multiplexer)인 것을 특징으로 하는 오류 제어 코드 장치.
  5. 제1항에 있어서,
    상기 채널 정보는
    채널측 비트 에러율(BER)인 것을 특징으로 하는 오류 제어 코드 장치.
  6. 제1항에 있어서,
    상기 채널 정보는
    채널측 수신신호강도(RSSI: Received Signal Strength Indication)인 것을 특징으로 하는 오류 제어 코드 장치.
  7. 삭제
  8. 제1항에 있어서,
    상기 채널 정보는
    메모리에 대한 채널 정보인 것을 특징으로 하는 오류 제어 코드 장치.
  9. 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 조절 제어 신호 생성부;
    각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하는 복수 개의 ECC 디코딩 조절부들; 및
    상기 ECC 디코딩 조절부들로부터 출력되는 데이터들을 이용하여 상기 ECC 조절 제어 신호에 상응하는 개수의 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩하는 디코딩 수행부
    를 포함하는 것을 특징으로 하는 오류 제어 코드 장치.
  10. 제9항에 있어서,
    상기 ECC 디코딩 조절부들 각각은
    직렬로 연결된 I 개의 기억 소자들을 포함하고, 상기 입력되는 데이터를 상기 I 개의 기억 소자들 중 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하는 것을 특징으로 하는 오류 제어 코드 장치.
  11. 제10항에 있어서,
    상기 ECC 디코딩 조절부들 각각은
    상기 ECC 조절 제어 신호를 기초로 상기 I 개의 기억 소자들의 출력 데이터들 중 어느 하나를 출력하는 출력 데이터 선택부
    를 포함하는 것을 특징으로 하는 오류 제어 코드 장치.
  12. 제11항에 있어서,
    상기 출력 데이터 선택부는
    상기 ECC 조절 제어 신호를 선택 신호로 하여 상기 I 개의 기억 소자들의 출력 데이터들 중 상기 선택 신호에 상응하는 어느 하나를 출력하는 멀티플렉서인 것을 특징으로 하는 오류 제어 코드 장치.
  13. 제9항에 있어서,
    상기 채널 정보는
    채널측 비트 에러율인 것을 특징으로 하는 오류 제어 코드 장치.
  14. 제9항에 있어서,
    상기 채널 정보는
    채널측 수신신호강도인 것을 특징으로 하는 오류 제어 코드 장치.
  15. 삭제
  16. 제9항에 있어서,
    상기 채널 정보는
    메모리에 대한 채널 정보인 것을 특징으로 하는 오류 제어 코드 장치.
  17. 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 조절 제어 신호 생성부;
    각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하는 복수 개의 ECC 인코딩 조절부들 및 복수 개의 ECC 디코딩 조절부들;
    상기 ECC 인코딩 조절부들로부터 출력되는 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 인코딩 수행부; 및
    상기 ECC 디코딩 조절부들로부터 출력되는 데이터들을 이용하여 상기 ECC 조절 제어 신호에 상응하는 개수의 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩하는 디코딩 수행부
    를 포함하는 것을 특징으로 하는 오류 제어 코드 장치.
  18. 제17항에 있어서,
    상기 ECC 인코딩 조절부들 및 상기 ECC 디코딩 조절부들 각각은
    직렬로 연결된 I 개의 기억 소자들을 포함하고, 상기 입력되는 데이터를 상기 I 개의 기억 소자들 중 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하는 것을 특징으로 하는 오류 제어 코드 장치.
  19. 제18항에 있어서,
    상기 ECC 인코딩 조절부들 및 상기 ECC 디코딩 조절부들 각각은
    상기 ECC 조절 제어 신호를 기초로 상기 I 개의 기억 소자들의 출력 데이터들 중 어느 하나를 출력하는 출력 데이터 선택부
    를 포함하는 것을 특징으로 하는 오류 제어 코드 장치.
  20. 제17항에 있어서,
    상기 채널 정보는
    채널측 비트 에러율인 것을 특징으로 하는 오류 제어 코드 장치.
  21. 제15항에 있어서,
    상기 채널 정보는
    채널측 수신신호강도인 것을 특징으로 하는 오류 제어 코드 장치.
  22. 삭제
  23. 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 단계;
    각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 인코딩 조절 데이터들을 생성하는 단계; 및
    상기 복수 개의 ECC 인코딩 조절 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 단계
    를 포함하는 것을 특징으로 하는 오류 제어 코드 방법.
  24. 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 단계;
    각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 디코딩 조절 데이터들을 생성하는 단계; 및
    상기 복수 개의 ECC 디코딩 조절 데이터들을 이용하여 상기 ECC 조절 제어 신호에 상응하는 개수의 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩하는 단계
    를 포함하는 것을 특징으로 하는 오류 제어 코드 방법.
  25. 채널 정보를 기초로 ECC 조절 제어 신호를 생성하는 단계;
    각각 입력되는 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 기억 소자들을 통해 출력하여 복수 개의 ECC 인코딩 조절 데이터들 및 복수 개의 ECC 디코딩 조절 데이터들을 생성하는 단계;
    상기 복수 개의 ECC 인코딩 조절 데이터들을 이용하여 인코딩 입력 데이터를 상기 ECC 조절 제어 신호에 상응하는 개수의 서브 데이터들로 인코딩하는 단계; 및
    상기 복수 개의 ECC 디코딩 조절 데이터들을 이용하여 상기 ECC 조절 제어 신호에 상응하는 개수의 디코딩 입력 데이터들을 하나의 출력 데이터로 디코딩하는 단계
    를 포함하는 것을 특징으로 하는 오류 제어 코드 방법.
  26. 제23항 내지 제25항 중 어느 하나의 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020070043669A 2007-05-04 2007-05-04 오류 제어 코드 장치 및 그 방법 KR100873824B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070043669A KR100873824B1 (ko) 2007-05-04 2007-05-04 오류 제어 코드 장치 및 그 방법
US11/905,733 US8028215B2 (en) 2007-05-04 2007-10-03 Error control code apparatuses and methods of using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070043669A KR100873824B1 (ko) 2007-05-04 2007-05-04 오류 제어 코드 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20080098241A KR20080098241A (ko) 2008-11-07
KR100873824B1 true KR100873824B1 (ko) 2008-12-15

Family

ID=39940440

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070043669A KR100873824B1 (ko) 2007-05-04 2007-05-04 오류 제어 코드 장치 및 그 방법

Country Status (2)

Country Link
US (1) US8028215B2 (ko)
KR (1) KR100873824B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100104623A (ko) * 2009-03-18 2010-09-29 삼성전자주식회사 데이터 처리 시스템 및 그것의 부호율 제어 스킴
US8527705B2 (en) * 2010-03-16 2013-09-03 Cleversafe, Inc. Temporarily caching an encoded data slice
WO2012158171A1 (en) * 2011-05-19 2012-11-22 Hewlett-Packard Development Company, L.P. Error control coding
US9542268B2 (en) * 2014-01-29 2017-01-10 Macronix International Co., Ltd. Dynamic data density ECC
TWI688965B (zh) * 2019-08-14 2020-03-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
CN112416240B (zh) * 2019-08-22 2022-10-21 群联电子股份有限公司 数据写入方法、存储器控制电路单元及存储器存储装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005072975A (ja) 2003-08-25 2005-03-17 Matsushita Electric Ind Co Ltd 誤り訂正回路および誤り訂正方法
JP2005151299A (ja) 2003-11-18 2005-06-09 Sanyo Electric Co Ltd 無線通信装置、誤り訂正方法、および誤り訂正プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866719A (en) * 1988-03-21 1989-09-12 Sony Corporation System and method for performing error correction on still frame audio tape format video signals
JP3367807B2 (ja) * 1995-10-27 2003-01-20 株式会社東芝 光ディスク再生装置
DE69829847T2 (de) * 1997-05-30 2006-02-23 Qualcomm Inc., San Diego Fehlerschutzverfahren und vorrichtung für über-funk-dateiübertragung
JP3975245B2 (ja) * 1999-12-16 2007-09-12 株式会社ルネサステクノロジ 記録再生装置および半導体メモリ
KR100445899B1 (ko) 2001-12-14 2004-08-25 한국전자통신연구원 터보 코드 인코더 및 그의 부호율 감소 방법
KR20030085871A (ko) 2002-05-02 2003-11-07 김환용 오류 정정 부호화 장치
US7844877B2 (en) * 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
JP2006269063A (ja) 2006-03-27 2006-10-05 Matsushita Electric Ind Co Ltd インタリーブデータに対する誤り訂正方法および装置
JP4308226B2 (ja) 2006-06-19 2009-08-05 富士通株式会社 誤り訂正符号化装置
KR100907218B1 (ko) * 2007-03-28 2009-07-10 삼성전자주식회사 읽기 레벨 제어 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005072975A (ja) 2003-08-25 2005-03-17 Matsushita Electric Ind Co Ltd 誤り訂正回路および誤り訂正方法
JP2005151299A (ja) 2003-11-18 2005-06-09 Sanyo Electric Co Ltd 無線通信装置、誤り訂正方法、および誤り訂正プログラム

Also Published As

Publication number Publication date
KR20080098241A (ko) 2008-11-07
US8028215B2 (en) 2011-09-27
US20080276149A1 (en) 2008-11-06

Similar Documents

Publication Publication Date Title
KR100852193B1 (ko) 오류 제어 코드 장치 및 그 방법
KR100873824B1 (ko) 오류 제어 코드 장치 및 그 방법
US6940431B2 (en) Method and apparatus for modulating and demodulating digital data
US8049648B2 (en) Systems and methods for constructing high-rate constrained codes
US8930798B2 (en) Data encoding in solid state storage devices
KR100838292B1 (ko) 메모리 셀의 읽기 레벨 제어 장치 및 그 방법
US8555139B1 (en) Integrated 2-level low density parity check (LDPC) codes
JP4468858B2 (ja) データ符号化装置、データ符号化方法、プログラム
JP2007087529A (ja) 信号復号装置、信号復号方法、および記憶システム
JP2013524609A5 (ko)
US20110029835A1 (en) Systems and Methods for Quasi-Cyclic LDPC Code Production and Decoding
US8458557B1 (en) Interleaved error correction coding for channels with non-uniform signal-to-noise ratios
JP4042841B2 (ja) 行列演算処理装置
EP2339583B1 (en) Coding method, coding apparatus, decoding method, and decoding apparatus
WO2001058102A9 (en) Dc control of a multilevel signal
JP2011086333A (ja) データ変調装置および方法、並びにプログラム、記録媒体
JP2008011078A (ja) 情報符号化装置、情報復号装置、情報符号化方法、および情報復号方法
JP3664091B2 (ja) 変調方法、変調装置、復調方法、復調装置、情報記録媒体に記録する方法、情報伝送方法および情報伝送装置
US8239726B2 (en) Apparatuses and methods for encoding and decoding
US8054207B1 (en) Enumerative DC-RLL constrained coding
JP2007272973A (ja) 復号装置、再生装置、復号方法、復号プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
KR20050040073A (ko) 코드율 7/8인 mtr 코드 부호화/복호화 방법 및 장치
JP4224818B2 (ja) 符号化方法及び符号化装置並びに復号方法及び復号装置
KR20140074600A (ko) 비씨에이치 디코더, 이를 포함하는 메모리 시스템 및 디코딩 방법
US7667626B1 (en) Enumerative DC-RLL constrained coding

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
FPAY Annual fee payment

Payment date: 20121130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 6