KR20030082376A - Ram 메모리 요구가 감소된 ecc 블록 인코더 및 디코더 - Google Patents
Ram 메모리 요구가 감소된 ecc 블록 인코더 및 디코더 Download PDFInfo
- Publication number
- KR20030082376A KR20030082376A KR10-2003-0019164A KR20030019164A KR20030082376A KR 20030082376 A KR20030082376 A KR 20030082376A KR 20030019164 A KR20030019164 A KR 20030019164A KR 20030082376 A KR20030082376 A KR 20030082376A
- Authority
- KR
- South Korea
- Prior art keywords
- ram memory
- data
- row
- rows
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- 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/27—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 using interleaving techniques
- H03M13/2782—Interleaver implementations, which reduce the amount of required interleaving memory
- H03M13/2785—Interleaver using in-place interleaving, i.e. writing to and reading from the memory is performed at the same memory location
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Detection And Correction Of Errors (AREA)
- Television Signal Processing For Recording (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 복수의 데이터 섹터를 포함하는, 패리티(parity) 정보가 제공된 데이터 블록{에러 보정 코드 블록(ECC 블록)}을 생성하기 위한 방법 및 장치, 및 패리티 정보가 제공된 데이터 블록으로부터 데이터 섹터를 복구(recover)하기 위한 방법 및 장치에 관한 것이다. 본 발명의 목적은, 메모리 요구가 감소되고 2개의 인코더(12,14) 또는 디코더를 이용하여 관리하는, 데이터 스트림을 각각 인코딩 또는 디코딩하는 방법, 및 본 발명에 따른 방법을 각각 구현하기 위한 인코딩 또는 디코딩 유닛(10)을 제안하는 것이다. 본 발명에 따르면, 복수의 데이터 섹터를 포함하는 ECC 블록을 생성하는 방법의 경우에, 상기 데이터 섹터는 행과 열의 형태로 조직된 메모리(11,13)에서 복수의 행을 갖는 블록의 형태로 버퍼-저장되고, 상기 목적은, 데이터 섹터의 연속적으로 수신된 블록이 메모리(11,13)의 각각의 행 또는 열에 교대로 행 단위로 기록된다는 사실에 의해 실현된다.
Description
본 발명은 복수의 데이터 섹터를 포함하는, 패리티(parity) 정보가 제공된 데이터 블록{에러 보정 코드 블록(ECC 블록)}을 생성하기 위한 방법 및 장치, 및 패리티 정보가 제공된 데이터 블록으로부터 데이터 섹터를 복구(recover)하기 위한 방법 및 장치에 관한 것이다.
디지털 데이터 통신 및 데이터 저장을 위한 대부분의 방법에서 이러한 유형의 방법이 사용된다. 디지털 데이터 통신을 위한 알려진 방법으로는 예를 들어 DVB(디지털 비디오 방송: Digital Video Broadcasting) 또는 DAB(디지털 오디오 방송: Digital Audio Broadcasting)이 있다. 디지털 데이터 저장 방법의 경우에, 필수적으로 테이프 저장{예를 들어, DAT(디지털 오디오 테이프), DVC(디지털 비디오 카세트), DVHS(디지털 비디오 홈 시스템)}, 디스크 저장{예를 들어, 하드 디스크, CD-R(레코딩가능한 컴팩트 디스크), DVD+RW(디지털 범용 디스크+판독/기록)}, 및 메모리 카드상의 저장{예를 들어 컴팩트플래시(CompactFlash)}이 언급될 수 있다. 전술한 방법 및 추가 방법의 경우에도 역시, 각각의 저장 또는 전송을 위한 데이터 섹터는 패리티 정보가 제공되어, 데이터를 판독 또는 수신할 때, 판독 또는 수신된 에러가 발생하는 경우 에러가 보정될 수 있도록 한다. 기록 또는 통신 처리에 앞서, 데이터에 패리티 정보가 제공된다. 즉 인코딩된다. 각각의 판독 또는 수신 처리 후, 데이터에서 패리티 정보가 제거되어야 한다. 즉 디코딩된다. 알려진 인코딩 유닛(1)이 도 1에 도식적으로 도시되어 있다. 도 1에서는 동일하게 구성된 2개의 인코딩 브랜치(branch)(2,3)를 구비한다. 2개 인코딩 브랜치(2,3) 각각은 제 1 메모리(21,31), 제 1 인코더(22,32), 제 2 메모리(23,33), 및 제 2인코더(24,34)를 포함하고, 상기 메모리(21,23,31,33)는 행과 열의 형태로 구성된다. 인코더(22,24,32,34)는 예의 방법으로, 리드-솔로몬(Reed-Solomon) 인코더(RS 인코더) 또는 XOR 인코더가 될 수 있다; 다른 유형 또한 가능하다. RAM 메모리는 통상적으로 메모리(21,23,31,33)로 사용된다. 데이터 섹터는 입력단(4)을 통해서 인코딩 유닛(1)으로 전달되고, 상기 인코딩 유닛(1)에서, 스위치(6)를 통해 제 1 인코딩 브랜치(2) 또는 제 2 인코딩 브랜치(3)로 전송된다. 2개의 인코딩 브랜치(2,3)에서, 각각의 경우에 데이터 섹터는 제 1 인코더(22,32) 및 제 2 인코더(24,34)에 의해 패리티 정보가 제공되고, 제 2 스위치(7)를 통해 출력단(5)으로 출력된다. 대응하는 디코더는 원칙적으로 동일하게 구성되고, 대응하는 디코더{예를 들어, 리드-솔로몬(RS) 디코더, XOR 디코더}는 단순히 인코더(22,32,24,34) 대신 사용된다.
종래 기술에 따른 인코딩 유닛(1)의 기본 작동 방법은 도 1 및 도 2를 참조하여 후술될 것이다. 이러한 경우, DVD-RAM 또는 DVD+RW 각각을 위한 인코딩 유닛에 기초하여 설명한다.
인코딩 동작은 2가지 순환 단계(40,50)로 나눠질 수 있다. 상기 단계는 원칙적으로 동일하고, 2개 인코딩 브랜치(2,3)의 역할이 단순히 서로 교환된다. 도 2에서, 2단계(40,50)에서의 방법의 스텝은 제 1 인코딩 브랜치(2)에서 진행되는 방법 스텝(401,501)과, 제 2 인코딩 브랜치(3)에서 진행되는 방법 스텝(402,502)으로 분할된다. 한 스텝옆에 다른 스텝이 있고, 한 스텝 아래에 다른 스텝이 있는 서로 다른 방법 스텝의 배치는, 화살표로 도시하여 명확하게 시간적인 순서를 도시하지않는 한, 반드시 시간적인 순서를 나타내지는 않는다.
먼저, 제 1 단계(40)를 설명한다. 스텝(41)에서, 각각 2064바이트를 갖는 16개의 데이터 섹터가 제 1 인코딩 브랜치(2)로 전달된다. 다음 스텝(42)에서, 상기 데이터 섹터는 각각 172바이트를 갖는 192개 행의 형태로 제 1 인코딩 브랜치의 제 1 메모리(21)에 기록된다. 반면, 제 2 인코딩 브랜치(3)에서, 스텝(43)에서 각각 172바이트를 갖는 192개 행의 형태로 제 1 메모리(31)에 이미 저장된 데이터는 상기 제 1 메모리로부터 열 단위로 판독된다. 판독된 데이터는 제 1 인코더(32)로 전송되고, 각각의 경우에 상기 인코더에 의해 열 당 16바이트의 외부 패리티 정보가 제공된다. 다음 스텝(45)에서, 그렇게 얻어진, 각각 208바이트를 갖는 172개 열은 제 2 인코딩 브랜치(3)의 제 2 메모리(33)의 열에 기록된다. 따라서, 제 2 메모리(33)는 각각 172바이트를 갖는 208개 행을 보유하고, 처음 192행은 데이터 영역을 형성하고, 나머지 16행은 패리티 영역을 형성한다. 제 2 인코딩 브랜치(3)의 제 1 메모리(31)에 아직까지 데이터가 존재하지 않는 경우, 인코딩 동작의 시작부에서 스텝(43 내지 45)이 생략된다.
스텝(46)에서, 각각 172바이트를 갖는 208개 행은 제 1 인코딩 브랜치(2)의 제 2 메모리(23)로부터 판독되고, 제 2 인코더(24)로 전송되며, 상기 제 2 인코더는 다음 스텝(47)에서 각각의 경우에 상기 행에 행 당 10바이트의 내부 패리티 정보를 제공한다. 이러한 경우, 상기 데이터 섹터의 블록은 상기 행을 간삽(interleave)함으로써, 에러로부터 추가로 보호될 수 있다. 그 다음, 각각의 경우에 상기 데이터 영역으로부터의 12개 행 다음에 패리티 영역으로부터의 1개 행이 뒤에 오게 된다. 마지막으로, 스텝(48)에서, 이제 완전히 인코딩된 16개 데이터 섹터는 각각 182바이트를 갖는 208개 행의 형태로 스위치(7) 및 출력단(5)을 통해 출력되고, 레코딩되거나 또는 전송될 수 있다. 제 1 인코딩 브랜치(2)의 제 2 메모리(23)에 아직 데이터가 존재하지 않기 때문에 인코딩 동작의 시작부에서 스텝(46 내지 48)이 또한 생략된다.
제 1 단계(40)가 종료된 후, 제 1 인코딩 브랜치(2) 및 제 2 인코딩 브랜치(3)의 역할은 제 2 단계(50)에서 서로 교환된다. 스텝(51)에서, 다음 16개 데이터 섹터는 입력단(4) 및 스위치(6)를 통해 제 2 인코딩 브랜치(3)로 전달되고, 각각 172바이트를 갖는 192개 행의 형태로 제 2 인코딩 브랜치(3)의 제 1 메모리(31)에 기록된다. 제 1 단계(40)의 스텝(42)에서 제 1 인코딩 브랜치(2)의 제 1 메모리(21)에 기록된 각각 172바이트를 갖는 192개 행이 이제 판독되고, 스텝(53)에서 각각 192바이트를 갖는 172개 열의 형태로 제 1 인코더(22)로 전송되며, 스텝(54)에서 상기 인코더에 의해 열 당 16바이트의 외부 패리티 정보가 제공되고, 스텝(55)에서 각각 208바이트를 갖는 172개 열의 형태로 제 1 인코딩 브랜치(2)의 제 2 메모리(23)에 기록된다. 제 1 단계(40)의 스텝(45)으로부터 제 2 인코딩 브랜치(3)의 제 2 메모리(33)내에 존재하는 각각 172바이트를 갖는 208개 행이 단계(56)에서 대응적으로 판독되고, 제 2 인코더(34)로 전송되며, 만일 적절하게 간삽된다면, 스텝(57)에서, 각각의 경우에 상기 인코더에 의해 행 당 10바이트의 내부 패리티 정보가 제공되고, 스텝(58)에서 스위치(7) 및 출력단(5)을 통해 출력된다. 인코딩 유닛(1)의 입력단(4)에서 인입되는 데이터 스트림은2단계(40,50)의 점진적인 반복을 통해 연속적으로 인코딩된다.
종래 기술에 따른 디코딩 유닛은 전술한 설명과 동일하게 동작한다. 이러한 경우, 인코딩 처리동안 인코더(22,24,32,34)에 의해 데이터에 패리티 정보가 제공되는 상기 스텝은, 패리티 정보가 제공된 데이터에서 디코더에 의해 패리티 정보 아이템이 제거되는 대응 스텝으로 교체된다. 또한, 상기 데이터에서 먼저 내부 패리티 정보가 제거되고, 그 다음에만 외부 패리티 정보가 제거된다; 따라서 제거 순서가 인코딩 처리동안의 순서와 반대되는데, 이 때문에 입력단(4) 및 출력단(5)의 역할 또한 서로 교환된다. 기록 또는 판독될 행 및 열의 개수 및 길이도 각각 대응적으로 변경된다. 엄밀하게 말해서, 데이터에서 패리티 정보를 제거하는 것은 복잡한 에러 보정 동작이다. 모든 에러가 제 1 디코더에 의해 내부 패리티 정보를 이용하여 이미 보정될 수 있거나, 또는 전체 행이 보정불가능한 것으로 표시된다. 제 2 디코더에 의해서만 나머지 표시된 바이트가 그 후 외부 패리티 정보에 의해 보정된다. 그러나, 데이터가 판독되는 저장매체상에 큰 결함(예를 들어, 구멍, 스크래치 등)이 있는 경우, 어느 정도 제 2 에러 보정 또한 실패할 확률이 있어서, 나머지 에러가 남아있게 된다.
알려진 인코딩 또는 디코딩 유닛은 각각, 데이터 스트림의 연속적인 인코딩 또는 디코딩에서 각각 4개 메모리 및 4개 인코더 또는 디코더를 전부 필요로 하고, 그 중 2개는 각각의 경우에 동일한 태스크를 수행한다는 단점을 갖는다. 이러한 각각의 요소가 비교적 고가이기 때문에, 종래 기술에 따른 각각의 인코딩 또는 디코딩 유닛의 사용은 상대적으로 높은 비용을 발생시킨다.
따라서, 본 발명의 목적은, 메모리 요구가 감소되고 각각 2개의 인코더 또는 디코더를 이용하여 관리하는, 데이터 스트림을 인코딩 또는 디코딩하는 방법, 및 본 발명에 따른 방법을 구현하기 위한 각각의 인코딩 또는 디코딩 유닛(10)을 제안하는 것이다. 본 발명의 추가 목적은, 데이터 스트림을 각각 인코딩 또는 디코딩하기 위한 본 발명에 따른 방법 또는 본 발명에 따른 각각의 인코딩 유닛 또는 디코딩 유닛을 이용하는 저장매체의 판독 및/또는 기록 장치 및 디지털 데이터 스트림의 전달 방법 또는 수신 방법을 제안하는 것이다.
도 1은 종래 기술에 따른 인코딩 유닛을 나타내는 도면.
도 2는 종래 기술에 따른 인코딩 유닛을 이용하여 데이터 스트림을 인코딩하는 방법을 나타내는 도면.
도 3은 본 발명에 따른 인코딩 유닛을 나타내는 도면.
도 4는 본 발명에 따른 디코딩 유닛을 나타내는 도면.
도 5는 본 발명에 따른 인코딩 유닛을 이용하여 데이터 스트림을 인코딩하는 방법을 나타내는 도면.
<도면의 주요 부분에 대한 부호의 간단한 설명>
10 : 인코딩(디코딩) 유닛 11 : 제 1 RAM 메모리
12 : 제 1 인코더 13 : 제 2 RAM 메모리
14 : 제 2 인코더 15 : 입력단
16 : 출력단
본 발명에 따르면, 복수의 데이터 섹터를 포함하는 ECC 블록을 생성하는 방법의 경우, 상기 데이터 섹터는 행과 열의 형태로 조직된 메모리에 복수의 행과 열을 갖는 블록의 형태로 버퍼-저장되고 또한 이 섹터에는 패리티 정보가 제공되고, 상기 목적은, 데이터 섹터의 연속적으로 수신된 블록이 메모리의 각각의 행 또는 열에 교대로 행 단위로 기록된다는 사실에 의해 실현된다. 이것은 메모리내에 각각 배치된 행 또는 열이, 패리티 정보의 생성을 위해 여전히 필요한 데이터가 처리중에 삭제되는 일없이, 판독 직후에 다음으로 수신된 행에 의해 겹쳐 기록될 수 있다는 이점을 갖는다.
상기 메모리는 유리하게 제 1 RAM 메모리 및 제 2 RAM 메모리를 구비한다. 이러한 방식으로, 패리티 정보는 2단계, 먼저 데이터 섹터의 블록의 행을 위한 단계, 그 다음 열을 위한 단계에서 생성될 수 있어서, 인코딩을 위해 종래의 인코더를 사용할 수 있도록 한다. 2개 RAM 메모리는 반드시 물리적으로 분리될 필요가 없다; 상위 RAM 메모리의 부영역(subarea) 또한 수반될 수 있다.
본 발명에 따르면, 상기 제 2 RAM 메모리내에 배치되고 제 1 패리티 정보 아이템이 제공되며, 데이터 영역 및 패리티 영역을 갖는 데이터 섹터의 제 1 블록은 판독되어, 제 2 패리티 정보 아이템을 제공받아 출력되고, 여기서 상기 제 1 RAM 메모리내에 배치된 데이터 섹터의 제 2 블록은 판독되어, 상기 제 1 패리티 정보 아이템을 제공받아, 상기 제 2 RAM 메모리에 저장된다. 이것은, 제 2 RAM 메모리에 배치된 데이터가 완전히 인코딩되고 출력되었을 때만 새로운 데이터로 교체된다는 것을 보장한다.
본 발명에 따르면, 패리티 정보가 제공되는 데이터 섹터의 ECC 블록으로부터 복수의 데이터 섹터를 복구하는 방법의 경우에서, 상기 ECC 블록은 행과 열의 형태로 조직된 메모리에 버퍼-저장되고, 상기 목적은, 데이터 섹터의 연속적으로 수신된 ECC 블록이 상기 메모리의 각각의 행 또는 열에 교대로 행 단위로 기록된다는 사실에 의해 실현된다. 이것은, 메모리의 각각의 행 또는 열이 디코딩을 위해 여전히 필요한 데이터가 처리중에 삭제되는 일없이 데이터 섹터의 다음 ECC 블록의 다음 수신된 행에 의해 겹쳐 기록될 수 있다는 이점을 갖는다.
상기 메모리는 유리하게 제 1 RAM 메모리 및 제 2 RAM 메모리를 구비한다. 이것은, 패리티 정보가 2단계, 먼저 데이터 섹터의 블록의 행을 위한 단계, 그 다음 열을 위한 단계에서 제거될 수 있어서, 디코딩을 위해 종래 디코더를 이용할 수 있도록 한다. 2개 RAM 메모리는 반드시 물리적으로 분리될 필요는 없다; 상위 RAM메모리의 부영역 또한 수반될 수 있다.
본 발명에 따르면, 상기 제 1 RAM 메모리내에 배치되고 제 1 패리티 정보 아이템이 제공되는 데이터 섹터의 제 1 ECC 블록은 판독되고, 상기 제 1 패리티 정보 아이템이 제거되며, 상기 제 2 RAM 메모리에 저장되고, 여기서 제 1 및 제 2 패리티 정보 아이템이 제공되는 데이터 섹터의 이어서 수신된 제 2 ECC 블록은 상기 제 2 패리티 정보 아이템이 제거되고, 상기 제 1 RAM 메모리에 저장된다. 이것은, 제 1 RAM 메모리에 배치된 데이터가 완전히 디코딩되고 제 2 RAM 메모리에 저장된 경우에만 새로운 데이터로 교체된다는 것을 보장한다.
본 발명에 따르면, 데이터 섹터의 제 1 (ECC) 블록은 상기 제 2 RAM 메모리에 열 단위로 기록되는 경우에는 상기 제 2 RAM 메모리로부터 행 단위로 판독되고, 상기 제 2 RAM 메모리에 행 단위로 기록되는 경우에는 열 단위로 판독되며, 여기서 상기 데이터 섹터의 제 2 (ECC) 블록은, 상기 제 1 RAM 메모리의 열에 행 단위로 기록되는 경우에는 상기 제 1 RAM 메모리로부터 행 단위로 판독되고, 상기 제 2 RAM 메모리에 행 단위로 기록되며, 상기 제 1 RAM 메모리의 행에 행 단위로 기록되는 경우에는 열 단위로 판독되고 상기 제 2 RAM 메모리에 열 단위로 기록된다. 이것은, 인코딩 또는 디코딩하는 동안 여전히 필요한 데이터가 결코 다른 데이터에 의해 겹쳐 기록되지 않는다는 것을 보장한다. "데이터 섹터의 (ECC) 블록"이라는 문구는 이하에서 상기 방법의 특징을 나타내는 특성이 데이터 섹터의 블록과 데이터 섹터의 ECC 블록에 동일하게 적용된다는 것을 나타낸다.
본 발명에 따르면, 데이터 섹터의 후속적으로 추가 수신된 (ECC) 블록은, 데이터 섹터의 상기 제 2 (ECC) 블록이 상기 제 1 RAM 메모리로부터 각각 행 단위 또는 열 단위로 판독되는 경우, 상기 제 1 RAM 메모리의 각각의 행 또는 열에 행 단위로 기록된다. 이러한 방식으로 실현되는 것은, 여전히 필요한 어떠한 데이터도 데이터 섹터의 후속적으로 수신된 (ECC) 블록에 의해 겹쳐 기록되지 않는다는 것이다.
유리한 방식으로, 상기 제 2 RAM 메모리로부터 각각의 행 또는 열을 판독한 직후의 각각의 경우에, 대응하는 행 또는 열은 각각 상기 제 1 RAM 메모리로부터 판독되고 상기 제 2 RAM 메모리의 각각의 현재 판독된 행 또는 열에 기록된다. 이것은, 제 2 RAM 메모리에 존재하는 데이터가 아직 모두 처리되지 않은 시점에 제 2 RAM 메모리에 데이터가 이미 기록될 수 있다는 이점을 갖는다. 따라서, 제 2 RAM 메모리가 완전히 판독되기를 기다릴 필요는 없다.
본 발명의 추가적인 양상에 따르면, 상기 제 2 RAM 메모리내 데이터 영역으로부터의 정해진 개수의 각각의 행 또는 열의 판독, 패리티 정보의 제공 및 출력 처리 이후의 각각의 경우에, 행 또는 열은 각각 상기 제 2 RAM 메모리내 패리티 영역으로부터 판독되어, 제 2 패리티 정보 아이템을 제공받아 출력되고, 상기 판독된 각각의 행 또는 열은 즉시 겹쳐 기록되지 않는다. 이것은 데이터 섹터의 ECC 블록의 간삽(interleaving)을 가능하게 하여, 에러 보호를 증가시킨다.
또한, 유리한 방식으로, 상기 제 1 RAM 메모리로부터 각각의 행 또는 열을 판독한 직후의 각각의 경우에, 데이터 섹터의 후속적으로 추가 수신된 (ECC) 블록의 대응하는 행은 현재 판독된 행 또는 열에 각각 기록된다. 여기서의 이점은, 제1 RAM 메모리내에 존재하는 데이터가 아직 모두 처리되지 않은 시점에 제 1 RAM 메모리에 데이터가 이미 기록될 수 있다는 사실에 있다. 다시 한번 제 1 RAM 메모리가 완전히 판독되기를 기다릴 필요가 없다.
본 발명에 따르면, 상기 제 1 RAM 메모리에 각각 기록된 모든 행 또는 열의 판독 이후, 데이터 섹터의 후속적으로 추가 수신된 (ECC) 블록의 나머지 행은 상기 제 1 RAM 메모리의 추가 행 또는 열에 각각 기록되고, 여기서 상기 제 1 RAM 메모리로부터 각각 판독된 대응하는 행 또는 열이 판독 이후에 겹쳐 기록되는 상기 제 2 RAM 메모리의 모든 행 또는 열의 각각의 판독 이후에, 남아있는 상기 제 2 RAM 메모리의 각각의 판독되지 않은 행 또는 열이 판독되고 출력된다. 이 방식으로, 데이터 섹터의 (ECC) 블록이 서로 다른 개수의 행과 열을 갖는 경우에도 각각 완전히 인코딩 또는 디코딩될 수 있다.
유리한 방식에서, 데이터 섹터의 블록은, 예를 들어 DVD+RW 또는 DVD-RAM을 위해 데이터 스트림을 각각 인코딩 또는 디코딩할 때 발생하는 바와 같이, 각각 16 데이터 섹터를 포함한다.
본 발명에 따르면, 데이터 섹터의 각각의 블록은 각각 172바이트를 갖는 192행을 포함한다. 이러한 방식으로, DVD 표준에 따라 데이터 스트림이 각각 인코딩 또는 디코딩될 수 있다.
본 발명에 따르면, 데이터 섹터의 각각의 ECC 블록은 각각 182 바이트를 갖는 208개 행을 포함한다. 이것 또한 DVD 표준에 해당한다.
본 발명에 따르면, DVD 표준에 해당하는 바와 같이, 상기 제 1 패리티 정보아이템은 16바이트를 포함하고, 상기 제 2 패리티 정보 아이템은 10바이트를 포함한다.
메모리에 버퍼-저장되고 패리티 정보 아이템이 제공되는, 복수의 데이터 섹터를 포함하는 ECC 블록을 생성하는 인코딩 유닛은, 데이터 섹터를 인코딩하기 위해 본 발명에 따른 방법을 유리하게 이용한다. 상기 인코딩 유닛은, 종래 기술과 비교하여, 메모리 요구가 절반으로 감소되고, 4개 인코더 대신 2개 인코더만 필요로 한다는 이점을 갖는다.
본 발명에 따르면, 메모리에 버퍼-저장되는, 패리티 정보가 제공된 데이터 섹터의 ECC 블록으로부터 복수의 데이터 섹터를 복구하는 디코딩 유닛은, 데이터 섹터의 디코딩을 위해 본 발명에 따른 방법을 이용한다. 상기 디코딩 유닛은, 종래 기술과 비교하여, 메모리 요구가 절반으로 감소되고, 4개 디코더 대신 2개 디코더만을 필요로 한다는 이점을 갖는다.
본 발명에 따르면, 저장매체의 판독 및/또는 기록 장치는 데이터 스트림을 인코딩하기 위해 본 발명에 따른 인코딩 유닛 또는 방법, 또는 데이터 스트림을 디코딩하기 위해 본 발명에 따른 디코딩 유닛 또는 방법을 이용한다. 상기 장치는 데이터 스트림을 각각 인코딩 또는 디코딩하기 위해 필요한 요소의 수가 감소되기 때문에 저가로 생산될 수 있다.
본 발명의 추가 양상에 따르면, 디지털 데이터 스트림의 전달 방법은 전달될 데이터 스트림을 인코딩하기 위해 본 발명에 따른 방법 또는 본 발명에 따른 인코딩 유닛을 이용한다. 여기서, 역시 이점은 전달될 데이터 스트림을 인코딩하기 위해 필요한 비용이 감소된다는 것이다.
대응적으로, 디지털 데이터 스트림의 수신 방법은 수신된 데이터 스트림을 디코딩하기 위해 본 발명에 따른 방법 또는 본 발명에 따른 디코딩 유닛을 이용한다. 여기서, 역시 이점은 수신된 데이터 스트림을 디코딩하는데 필요한 비용이 감소된다는 점에 있다.
본 발명에 따른 방법은 컴퓨터 프로그램에 의해 유리하게 수행된다. 이것은, 데이터 스트림의 인코딩 또는 디코딩을 위해 특정 메모리를 제공할 필요없이, 다른 목적을 위한 메모리 모듈을 이미 갖는 프로그램-제어된 장치에서 상기 방법을 이용할 수 있게 한다.
유리한 유사 특징들의 조합이 본 발명의 유효한 범주내에 놓이는 것은 물론이다.
더 잘 이해하기 위해, 도 1 내지 도 5를 참조하여 본 발명을 후술할 것이다.
도 3은 본 발명에 따른 인코딩 유닛(10)을 도식적으로 나타낸다. 종래 기술과 대조적으로, 인코딩 유닛(10)은 입력단(15) 및 출력단(16) 외에 단순히 제 1 RAM 메모리(11) 및 제 2 RAM 메모리(13) 및 또한 제 1 인코더(12) 및 제 2 인코더(14)를 구비한다. 입력단(15)을 통해 수신된 데이터는 제 1 RAM 메모리(11)에 저장되고, 상기 메모리로부터 판독되며, 제 1 인코더(12)에 의해 제 1 패리티 정보 아이템이 제공되고, 제 2 RAM 메모리(13)에 저장된다. 제 2 RAM 메모리(13)에 저장된 데이터는 동일하게 판독되고, 제 2 인코더(14)에 의해 제 2 패리티 정보 아이템이 제공되며, 인코딩 유닛의 출력단(16)을 통해 출력된다.
도 4는 본 발명에 따른 디코딩 유닛(10)을 도식적으로 나타낸다. 도 3에 도시된 인코딩 유닛(10)과 비교할 때, 단순히 RAM 메모리(11,13)와 디코더(12,14)를 역배치한 차이점이 있다. 입력단(15)을 통해 수신되고 제 1 및 제 2 패리티 정보 아이템이 제공되는 ECC 블록은, 제 1 디코더(12)에 의해 제 2 패리티 정보 아이템이 제거되고 제 1 RAM 메모리(11)에 저장된다. 제 1 RAM 메모리(11)에 저장된 데이터는 판독되고, 제 2 디코더(14)에 의해 제 1 패리티 정보 아이템이 제거되며, 제 2 RAM 메모리(13)에 저장되고, 제 2 RAM 메모리로부터 차례로 판독되어 출력단(16)을 통해 출력된다. 도 5는 도 3에 도시된 인코딩 유닛으로 데이터 스트림을 인코딩하기 위한 본 발명에 따른 방법을 도식적으로 나타낸다. 예시에서, DVD+RW 또는 DVD-RAM을 위해 데이터 스트림을 각각 인코딩할 예정이다. 즉, 각각의 경우에 각각 172바이트를 갖는 192개 행의 블럭 형태를 갖는 16개 데이터 섹터는 열 당 16바이트의 외부 패리티 정보 및 행 당 10바이트의 내부 패리티 정보를 갖는 블록의 형태로 제공되고, 각각 182바이트를 갖는 208개 행을 갖는 ECC 블록의 형태로 출력된다. 또한, 데이터가 이미 제 1 RAM 메모리(11) 및 제 2 RAM 메모리(13)에 존재하는 것으로 가정한다. 만일 이러한 경우가 아니라면, 상기 방법은 제 1 사이클이 진행되고 상기 가정이 실현될 때까지 먼저 스텝(630)에서 시작한다. 본 발명에 따른 방법은 2단계(60,70)로 나누어질 수 있고, 제 1 단계(60) 및 제 2 단계(70) 양쪽에서 데이터 섹터의 전체 블록이 수신되고 데이터 섹터의 전체 ECC 블록이 출력된다. 따라서, 2단계(60,70)가 연속적으로 반복되어, 데이터 스트림을 인코딩하도록 한다. 2단계는 각각의 경우에 4개 부단계(601,602,603,604 및701,702,703,704)로 각각 분할될 수 있다. 도 5에서, 제 1 단계(60) 및 제 2 단계(70) 양쪽에서, 모든 부단계(601 내지 604 및 701 내지 704)는 각각 도식적으로 좌측 절반 및 우측 절반으로 다시 나누어진다. 좌측 절반의 방법 스텝은 각각의 경우에 입력단(15), 제 1 RAM 메모리(11) 및 제 1 인코더(12)와 관련되고, 우측 절반의 방법 스텝은 제 2 RAM 메모리(13), 제 2 인코더(14) 및 출력단(16)과 관련된다.
제 1 단계(60)의 시작부에서, 제 2 RAM 메모리(13)는 각각 172바이트를 갖는 208개 행의 형태로 데이터를 보유하고, 처음 192개 행은 데이터 영역을 형성하며, 나머지 16개 행은 패리티 영역을 형성한다. 제 1 부단계(601)에서는, 스텝(610)에서 172바이트의 제 1 행은 제 2 RAM 메모리(13)로부터 판독된다. 스텝(611)에서, 상기 행은 제 2 인코더(14)에 의해 10바이트의 내부 패리티 정보가 제공되고, 스텝(612)에서 출력단(16)을 통해 182바이트의 한 행으로서 출력된다. 제 2 RAM 메모리(13)의 제 1 행은 따라서 새로운 데이터로 겹쳐 기록될 수 있다. 제 2 부단계(602)에서는, 스텝(620)에서, 192바이트의 한 행이 제 1 RAM 메모리(11)로부터 판독된다. 스텝(621)에서, 상기 행은 제 1 인코더(12)에 의해 16바이트의 외부 패리티 정보가 제공되고, 스텝(622)에서 제 2 RAM 메모리(13)의 제거된 행에 기록된다. 제 3 부단계(603)는, 먼저 스텝(630)에서 데이터 섹터의 다음 블록의 172바이트의 한 행이 입력단(15)을 통해 수신되는 것으로 시작된다. 스텝(631)에서, 상기 행은 제 1 RAM 메모리(11)의 제 1 행에 기록된다. 스텝(632)에서, 172바이트의 다음 행은 제 2 RAM 메모리(13)로부터 판독되고 제 2 인코더(14)로 전송된다.스텝(633)에서, 상기 인코더에 의해 10바이트의 내부 패리티 정보가 제공되고, 스텝(634)에서 출력단(16)을 통해 출력된다. 제 2 부단계(602) 및 제 3 부단계(603)는 전체적으로 172회 진행되고, 이 경우, n번째 반복시, 스텝(620)에서 각각의 경우에 n번째 행이 제 1 RAM 메모리(11)로부터 판독되고, 외부 패리티 정보가 제공된 후, 스텝(622)에서 제 2 RAM 메모리(13)의 n번째 행에 기록된다. 또한, 스텝(630)에서, 데이터 섹터의 다음 블록의 n번째 행은 각각의 경우에 수신된 다음, 스텝(631)에서 제 1 RAM 메모리(11)의 n번째 행에 기록되고, 이러한 경우, 스텝(632)에서 제 2 RAM 메모리(13)의 (n+1)번째 행이 판독되고 스텝(634)에서 ECC 블록의 (n+1)번째 행으로서 출력된다. 일단 제 2 및 제 3 부단계(602,603)가 전체적으로 172회 진행되었다면, 제 4 부단계(604)가 시작된다. 스텝(640)에서, 데이터 섹터의 다음 블록의 각각 172바이트를 갖는 나머지 20개 행은 입력단(15)을 통해 수신되고, 스텝(641)에서 제 1 RAM 메모리(11)의 대응하는 20개 행에 기록된다. 또한, 스텝(642)에서, 아직 판독되지 않은 각각 172바이트를 갖는 나머지 35개 행은 제 2 RAM 메모리(13)로부터 판독되고, 스텝(643)에서 각각의 경우에 제 2 인코더(14)에 의해 행 당 10바이트의 내부 패리티 정보가 제공되고, 스텝(644)에서 출력단(16)을 통해 각각 182바이트를 갖는 35개 행의 형태로 출력된다. 따라서, 제 4 부단계(604)가 종료된 후, 데이터 섹터의 전체 블록은 전부 제 1 RAM 메모리(11)에 기록되고, 데이터 섹터의 전체 ECC 블록은 출력단(16)을 통해 출력된다. 또한, 제 1 RAM 메모리(11)에 존재하는 데이터 섹터의 블록은 제 1 패리티 정보가 제공되고, 제 2 RAM 메모리(13)에 기록된다. 따라서, 행과 열의 역할이 제 1 및 제 2RAM 메모리(11,13)에서 서로 교환되지만, 제 2 단계(70)의 시작 이전에는 제 1 단계(60)의 시작부에서와 동일한 전제조건이 우세하다.
제 2 단계(70)는 제 1 단계(60)와 완전히 동일하게 진행된다. 제 2 단계(70)의 시작부에서, 제 2 RAM 메모리(13)는 각각 172바이트를 갖는 208개 열의 형태로 데이터를 보유하고, 처음 192개 열은 데이터 영역을 형성하며, 나머지 16개 열은 패리티 영역을 형성한다. 제 1 부단계(701)에서는, 스텝(710)에서 172바이트의 제 1 열은 제 2 RAM 메모리(13)로부터 판독된다. 스텝(711)에서, 상기 열은 제 2 인코더(14)에 의해 10바이트의 내부 패리티 정보가 제공되고, 스텝(712)에서 출력단(16)을 통해 182바이트의 한 행으로서 출력된다. 따라서 제 2 RAM 메모리(13)의 제 1 열은 새로운 데이터로 겹쳐 기록될 수 있다. 제 2 부단계(702)에서는, 스텝(720)에서 192바이트의 한 열이 제 1 RAM 메모리(11)로부터 판독된다. 스텝(721)에서, 상기 열은 제 1 인코더(12)에 의해 16바이트의 외부 패리티 정보가 제공되고, 스텝(722)에서 제 2 RAM 메모리(13)의 제거된 열에 기록된다. 제 3 부단계(703)는, 먼저 스텝(730)에서 데이터 섹터의 다음 블록의 172바이트의 한 행이 입력단(15)을 통해 수신되는 것으로 시작된다. 스텝(731)에서, 상기 행은 제 1 RAM 메모리(11)의 제 1 열에 기록된다. 스텝(732)에서, 172바이트의 다음 열은 제 2 RAM 메모리(13)로부터 판독되고, 제 2 인코더(14)로 송신된다. 스텝(733)에서, 상기 인코더에 의해 10바이트의 내부 패리티 정보가 제공되고, 스텝(734)에서 출력단(16)을 통해 출력된다. 제 2 부단계(702) 및 제 3 부단계(703)는 전체적으로 172회 진행되고, 이러한 경우, n번째 반복시, 스텝(720)에서 n번째 열은 각각의 경우에 제 1 RAM 메모리(11)로부터 판독되고, 외부 패리티 정보가 제공된 이후, 스텝(722)에서 제 2 RAM 메모리(13)의 n번째 열에 기록되며, 스텝(730)에서 데이터 섹터의 다음 블록의 n번째 행은 각각의 경우에 수신되고, 스텝(731)에서 제 1 RAM 메모리(11)의 n번째 열에 기록되며, 스텝(732)에서 제 2 RAM 메모리(13)의 (n+1)번째 열이 판독되고, 스텝(734)에서 ECC 블록의 (n+1)번째 행으로서 출력된다. 일단 제 2 및 제 3 부단계(702,703)가 전체적으로 172회 진행되면, 제 4 부단계(704)가 시작된다. 스텝(740)에서, 데이터 섹터의 다음 블록의 각각 172바이트를 갖는 나머지 20개 행은 입력단(15)을 통해 수신되고, 스텝(741)에서 제 1 RAM 메모리(11)의 대응하는 20개 열에 기록된다. 또한, 스텝(742)에서 아직 판독되지 않은 각각 172바이트를 갖는 나머지 35개 열은 제 2 RAM 메모리(13)로부터 판독되고, 스텝(743)에서 제 2 인코더(14)에 의해 열 당 10바이트의 내부 패리티 정보가 제공되며, 스텝(744)에서 출력단(16)을 통해 각각 182바이트를 갖는 35개 행의 형태로 출력된다. 따라서, 제 4 부단계(704)가 종료된 후, 데이터 섹터의 전체 블록은 제 1 RAM 메모리에 기록되고, 데이터 섹터의 전체 ECC 블록은 출력단(16)을 통해 출력된다. 또한, 제 1 RAM 메모리(11)에 존재하는 데이터 섹터의 블록은 제 1 패리티 정보가 제공되고 제 2 RAM 메모리(13)에 기록된다. 입력단(15)에서 인입되는 데이터 스트림의 연속적인 인코딩은 2단계(60,70)의 점진적인 반복에 의해 실현된다.
만일 패리티 정보의 추가외에, 인코딩될 데이터 섹터의 블록이 또한 간삽을 갖는 것으로 예정된다면, 상기 시퀀스는 일부 수정되어야 한다. 12개 행 또는 열이 각각의 경우에 제 2 RAM 메모리(13)로부터 각각 판독되고, 외부 패리티 정보가제공되며, 출력된 후, 행 또는 열은 각각 패리티 영역으로부터 추가 판독되고 패리티 정보가 제공되며 출력된다. 판독 및 기록 매커니즘을 잠시동안 중단하기보다는 이러한 행 또는 열이 즉시 겹쳐 기록되지 않는다. 따라서, 스텝(642,742)에서, 35개보다는 단지 21개의 나머지 행 또는 열이 각각 처리된다.
본 발명에 따른 디코딩 유닛은 상기 설명과 동일하게 동작하지만, 반대 순서로 동작하여, 각각의 경우에 데이터가 먼저 디코딩된 다음에만 저장된다. 이러한 경우, 인코딩 처리동안 데이터가 인코더(12,14)에 의해 패리티 정보가 제공되는 상기 스텝은, 패리티 정보가 제공된 데이터가 디코더에 의해 패리티 정보 아이템이 제거되는 대응 스텝으로 교체된다. 또한, 데이터는 먼저 내부 패리티 정보가 제거되고, 그 이후에만 외부 패리티 정보가 제거되며, 다시 말해서 그 순서가 상기 인코딩 처리 동안의 순서와 반대된다. 종래 기술에 대해 이미 제공된 동일한 설명이 데이터에서 패리티 정보를 제거하는데 적용된다. 엄밀하게 말해서, 에러 보정의 복잡한 동작이 수반된다.
전술한 바와 같이, 본 발명에 따르면 메모리 요구가 감소되고 각각 2개의 인코더 또는 디코더를 이용하여 관리하는, 데이터 스트림을 인코딩 또는 디코딩하는 방법, 및 상기 방법을 구현하기 위한 각각의 인코딩 또는 디코딩 유닛을 제공하고, 또한 데이터 스트림을 각각 인코딩 또는 디코딩하기 위해 상기 방법 또는 상기 인코딩 유닛 또는 디코딩 유닛을 이용하는 저장매체의 판독 및/또는 기록 장치, 및 디지털 데이터 스트림의 전달 또는 수신 방법을 제공할 수 있다.
Claims (22)
- 복수의 데이터 섹터를 포함하는 ECC 블록을 생성하는 방법으로서, 상기 데이터 섹터는 행과 열의 형태로 조직된 메모리(11,13)내에 복수의 행을 갖는 블록의 형태로 버퍼-저장되고, 패리티(parity) 정보가 제공되는, ECC 블록의 생성 방법에 있어서, 데이터 섹터의 연속적으로 수신된 블록은 상기 메모리(11,13)의 각각의 행 또는 열에 교대로 행 단위로 기록되는 것을 특징으로 하는, ECC 블록의 생성 방법.
- 제 1항에 있어서, 상기 메모리(11,13)는 제 1 RAM 메모리(11) 및 제 2 RAM 메모리(13)인 것을 특징으로 하는, ECC 블록의 생성 방법.
- 제 2항에 있어서, 상기 제 2 RAM 메모리(13)내에 배치되고 제 1 패리티 정보 아이템이 제공되며, 데이터 영역 및 패리티 영역을 구비하는 데이터 섹터의 제 1 블록은 판독되어(610, 632, 642, 710, 732, 742), 제 2 패리티 정보 아이템을 제공받아(611, 633, 643, 711, 733, 743) 출력되고(612,634,644,712,734,744), 상기 제 1 RAM 메모리(11)내에 배치된 데이터 섹터의 제 2 블록은 판독되어(620,720), 상기 제 1 패리티 정보 아이템을 제공받아(621,721), 상기 제 2 RAM 메모리(13)에 저장되는(622,722) 것을 특징으로 하는, ECC 블록의 생성 방법.
- 패리티 정보가 제공되는 데이터 섹터의 ECC 블록으로부터 복수의 데이터 섹터를 복구하는 방법으로서, 상기 ECC 블록은 행과 열의 형태로 조직된 메모리(11,13)에 버퍼-저장되는, 복수의 데이터 섹터의 복구 방법에 있어서, 데이터 섹터의 연속적으로 수신된 블록은 상기 메모리(11,13)의 각각의 행 또는 열에 교대로 행 단위로 기록되는 것을 특징으로 하는, 복수의 데이터 섹터의 복구 방법.
- 제 4항에 있어서, 상기 메모리(11,13)는 제 1 RAM 메모리(11) 및 제 2 RAM 메모리(13)인 것을 특징으로 하는, 복수의 데이터 섹터의 복구 방법.
- 제 5항에 있어서, 상기 제 1 RAM 메모리(11)내에 배치되고 제 1 패리티 정보 아이템이 제공되는 데이터 섹터의 제 1 ECC 블록은 판독되고, 상기 제 1 패리티 정보 아이템이 제거되며, 상기 제 2 RAM 메모리(13)에 저장되고, 제 1 및 제 2 패리티 정보 아이템이 제공되는 데이터 섹터의 이어서 수신된 제 2 ECC 블록은 상기 제 2 패리티 정보 아이템이 제거되고, 상기 제 1 RAM 메모리(11)에 저장되는 것을 특징으로 하는, 복수의 데이터 섹터의 복구 방법.
- 제 3항 또는 제 6항에 있어서, 데이터 섹터의 상기 제 1 (ECC) 블록은, 상기 제 2 RAM 메모리에 열 단위로 기록되는 경우에는 상기 제 2 RAM 메모리(13)로부터 행 단위로 판독되고, 상기 제 2 RAM 메모리에 행 단위로 기록되는 경우에는 열 단위로 판독되며, 데이터 섹터의 상기 제 2 (ECC) 블록은, 상기 제 1 RAM 메모리(11)의 열에 행 단위로 기록되는 경우에는 상기 제 1 RAM 메모리(11)로부터 행 단위로판독되고, 상기 제 2 RAM 메모리(13)에 행 단위로 기록되며, 상기 제 1 RAM 메모리(11)의 행에 행 단위로 기록되는 경우에는 열 단위로 판독되고 상기 제 2 RAM 메모리(13)에 열 단위로 기록되는 것을 특징으로 하는, 방법.
- 제 7항에 있어서, 데이터 섹터의 후속적으로 추가 수신된 (ECC) 블록은, 데이터 섹터의 제 2 (ECC) 블록이 상기 제 1 RAM 메모리(11)로부터 각각 행 단위 또는 열 단위로 판독되는 경우에 상기 제 1 RAM 메모리(11)의 각각의 행 또는 열에 행 단위로 기록되는 것을 특징으로 하는, 방법.
- 제 8항에 있어서, 상기 제 2 RAM 메모리(13)로부터 각각의 행 또는 열을 판독한 직후의 각각의 경우에, 대응하는 행 또는 열은 각각 상기 제 1 RAM 메모리(11)로부터 판독되고 상기 제 2 RAM 메모리(13)의 각각의 현재 판독된 행 또는 열에 기록되는 것을 특징으로 하는, 방법.
- 제 9항에 있어서, 상기 제 2 RAM 메모리(13)내 데이터 영역으로부터의 정해진 개수의 각각의 행 또는 열의 판독, 패리티 정보의 제공 및 출력 처리 이후의 각각의 경우에, 행 또는 열은 각각 상기 제 2 RAM 메모리(13)내 패리티 영역으로부터 판독되어, 제 2 패리티 정보 아이템을 제공받아 출력되고, 상기 판독된 행 또는 열은 각각 즉시 겹쳐 기록되지 않는 것을 특징으로 하는, 방법.
- 제 9항 또는 제 10항에 있어서, 상기 제 1 RAM 메모리(11)로부터 행 또는 열을 각각 판독한 직후의 각각의 경우에, 데이터 섹터의 후속적으로 추가 수신된 (ECC) 블록의 대응하는 행은 현재 판독된 각각의 행 또는 열에 각각 기록되는 것을 특징으로 하는, 방법.
- 제 11항에 있어서, 상기 제 1 RAM 메모리(11)에 각각 기록된 모든 행 또는 열의 판독 이후, 데이터 섹터의 상기 후속적으로 추가 수신된 (ECC) 블록의 나머지 행은 상기 제 1 RAM 메모리(11)의 행 또는 열에 각각 기록되고, 상기 제 1 RAM 메모리(11)로부터 각각 판독된 대응하는 행 또는 열이 다시 한번 기록된 상기 제 2 RAM 메모리(13)의 모든 행 또는 열을 각각 판독한 이후, 남아있는 상기 제 2 RAM 메모리(13)의 판독되지 않은 행 또는 열은 각각 판독되고 출력되는 것을 특징으로 하는, 방법.
- 제 1항 내지 제 12항 중 어느 한 항에 있어서, 데이터 섹터의 블록은 각각 16 데이터 섹터를 포함하는 것을 특징으로 하는, 방법.
- 제 1항 내지 제 3항 또는 제 7항 내지 제 13항 중 어느 한 항에 있어서, 데이터 섹터의 블록은 각각 172바이트를 갖는 192개 행을 각각 포함하는 것을 특징으로 하는, 방법.
- 제 4항 내지 제 13항 중 어느 한 항에 있어서, 데이터 섹터의 ECC 블록은 각각 182 바이트를 갖는 208개 행을 각각 포함하는 것을 특징으로 하는, 방법.
- 제 1항 내지 제 15항 중 어느 한 항에 있어서, 상기 제 1 패리티 정보 아이템은 16바이트를 포함하고, 상기 제 2 패리티 정보 아이템은 10바이트를 포함하는 것을 특징으로 하는, 방법.
- 메모리(11,13)내에 블록의 형태로 버퍼-저장되고, 패리티 정보가 제공되는 복수의 데이터 섹터를 포함하는 ECC 블록을 생성하기 위한 인코딩 유닛(10)에 있어서, 상기 ECC 블록의 생성을 위해 제 1항 내지 제 3항 또는 제 7항 내지 제 13항 중 어느 한 항에 따른 방법을 이용하는 것을 특징으로 하는, 인코딩 유닛.
- 메모리(11,13)에 버퍼-저장되는, 패리티 정보가 제공된 ECC 블록으로부터 복수의 데이터 섹터를 복구하기 위한 디코딩 유닛에 있어서, 데이터 섹터의 복구를 위해 제 4항 내지 제 13항 중 어느 한 항에 따른 방법을 이용하는 것을 특징으로 하는, 디코딩 유닛.
- 저장매체의 판독 및/또는 기록 장치에 있어서, 데이터 스트림을 인코딩하기 위해 제 1항 내지 제 3항 또는 제 7항 내지 제 13항 중 어느 한 항에 따른 방법, 또는 제 17항에 따른 인코딩 유닛(10)을 이용하거나, 또는 데이터 스트림을 디코딩하기 위해 제 4항 내지 제 13항 중 어느 한 항에 따른 방법, 또는 제 18항에 따른 디코딩 유닛을 이용하는 것을 특징으로 하는, 저장매체의 판독 및/또는 기록 장치.
- 디지털 데이터 스트림의 전달 방법에 있어서, 전달될 데이터 스트림을 인코딩하기 위해 제 1항 내지 제 3항 또는 제 7항 내지 제 13항 중 어느 한 항에 따른 방법, 또는 제 17항에 따른 인코딩 유닛(10)을 이용하는 것을 특징으로 하는, 디지털 데이터 스트림의 전달 방법.
- 디지털 데이터 스트림의 수신 방법에 있어서, 수신된 데이터 스트림을 디코딩하기 위해 제 4항 내지 제 13항 중 어느 한 항에 따른 방법 또는 제 18항에 따른 디코딩 유닛을 이용하는 것을 특징으로 하는, 디지털 데이터 스트림의 수신 방법.
- 청구항 제 1항 내지 제 13항 또는 제 20항 또는 제 21항 중 어느 한 항에 따른 방법을 수행하기 위한, 컴퓨터 프로그램 제품.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10216999A DE10216999A1 (de) | 2002-04-16 | 2002-04-16 | ECC-Block-Enkodierer und -Dekodierer mit reduziertem RAM-Speicherbedarf |
DE10216999.3 | 2002-04-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030082376A true KR20030082376A (ko) | 2003-10-22 |
Family
ID=28458883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0019164A KR20030082376A (ko) | 2002-04-16 | 2003-03-27 | Ram 메모리 요구가 감소된 ecc 블록 인코더 및 디코더 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20030196157A1 (ko) |
EP (1) | EP1355429A3 (ko) |
JP (1) | JP2004007587A (ko) |
KR (1) | KR20030082376A (ko) |
CN (1) | CN1452321A (ko) |
DE (1) | DE10216999A1 (ko) |
TW (1) | TW200305860A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411686B2 (en) | 2013-08-23 | 2016-08-09 | Silicon Motion, Inc. | Methods for accessing a storage unit of a flash memory and apparatuses using the same |
US9459962B2 (en) | 2013-08-23 | 2016-10-04 | Silicon Motion, Inc. | Methods for accessing a storage unit of a flash memory and apparatuses using the same |
US9513995B2 (en) | 2013-08-23 | 2016-12-06 | Silicon Motion, Inc. | Methods for accessing a storage unit of a flash memory and apparatuses using the same |
US9977714B2 (en) | 2013-08-23 | 2018-05-22 | Silicon Motion, Inc. | Methods for programming a storage unit of a flash memory in multiple stages and apparatuses using the same |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100359587C (zh) * | 2003-12-10 | 2008-01-02 | 联发科技股份有限公司 | 用于单晶片电子电路的影音编解码方法 |
JP2009181425A (ja) * | 2008-01-31 | 2009-08-13 | Nec Corp | メモリモジュール |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
KR101678053B1 (ko) * | 2010-04-02 | 2016-11-22 | 삼성전자 주식회사 | 반도체 장치 및 이의 복호 방법 |
WO2011154780A1 (en) * | 2010-06-11 | 2011-12-15 | Freescale Semiconductor, Inc. | Method for providing data protection for data stored within a memory element and integrated circuit device therefor |
US10152429B2 (en) | 2015-10-27 | 2018-12-11 | Medallia, Inc. | Predictive memory management |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE128585T1 (de) * | 1983-12-20 | 1995-10-15 | Sony Corp | Verfahren und vorrichtung zur dekodierung eines fehlerkorrigierenden kodes. |
DE69317867T2 (de) * | 1992-12-14 | 1998-10-22 | Koninkl Philips Electronics Nv | Verfahren und Vorrichtung zur Realisierung eines Quasiproduktkodes mit verschiedenen Fehlerschutzstufen |
JPH06216220A (ja) * | 1993-01-19 | 1994-08-05 | Hitachi Ltd | 位置決め装置 |
FR2717644B1 (fr) * | 1994-03-15 | 1996-04-26 | Alcatel Mobile Comm France | Procédé de codage - Entrelacement et procédé correspondant de désentrelacement - décodage. |
US5719884A (en) * | 1995-07-27 | 1998-02-17 | Hewlett-Packard Company | Error correction method and apparatus based on two-dimensional code array with reduced redundancy |
US5828671A (en) * | 1996-04-10 | 1998-10-27 | Motorola, Inc. | Method and apparatus for deinterleaving an interleaved data stream |
JP3250032B2 (ja) * | 1997-04-09 | 2002-01-28 | 日本アイ・ビー・エム株式会社 | 動的バンド幅変更データ転送方法及びシステム |
JP4097852B2 (ja) * | 1999-08-26 | 2008-06-11 | 株式会社フィリップスエレクトロニクスジャパン | データ書込読出方法、デインターリーブ方法、データ処理方法、メモリ、及びメモリ駆動装置 |
US6738942B1 (en) * | 2000-06-02 | 2004-05-18 | Vitesse Semiconductor Corporation | Product code based forward error correction system |
-
2002
- 2002-04-16 DE DE10216999A patent/DE10216999A1/de not_active Withdrawn
-
2003
- 2003-03-27 KR KR10-2003-0019164A patent/KR20030082376A/ko not_active Application Discontinuation
- 2003-04-04 EP EP03290845A patent/EP1355429A3/en not_active Withdrawn
- 2003-04-11 TW TW092108296A patent/TW200305860A/zh unknown
- 2003-04-14 US US10/412,881 patent/US20030196157A1/en not_active Abandoned
- 2003-04-15 JP JP2003110481A patent/JP2004007587A/ja not_active Withdrawn
- 2003-04-16 CN CN03110472A patent/CN1452321A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411686B2 (en) | 2013-08-23 | 2016-08-09 | Silicon Motion, Inc. | Methods for accessing a storage unit of a flash memory and apparatuses using the same |
US9459962B2 (en) | 2013-08-23 | 2016-10-04 | Silicon Motion, Inc. | Methods for accessing a storage unit of a flash memory and apparatuses using the same |
US9513995B2 (en) | 2013-08-23 | 2016-12-06 | Silicon Motion, Inc. | Methods for accessing a storage unit of a flash memory and apparatuses using the same |
US9977714B2 (en) | 2013-08-23 | 2018-05-22 | Silicon Motion, Inc. | Methods for programming a storage unit of a flash memory in multiple stages and apparatuses using the same |
Also Published As
Publication number | Publication date |
---|---|
DE10216999A1 (de) | 2003-11-06 |
EP1355429A3 (en) | 2004-11-17 |
US20030196157A1 (en) | 2003-10-16 |
EP1355429A2 (en) | 2003-10-22 |
JP2004007587A (ja) | 2004-01-08 |
TW200305860A (en) | 2003-11-01 |
CN1452321A (zh) | 2003-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CS8091A2 (en) | Device for digital data storage on multitrack memory medium, for decoding and information reproduction and unit memory medium for application with such a device | |
US20070101235A1 (en) | Data processing method and apparatus, recording medium, reproducing method and apparatus using the same method | |
GB2156555A (en) | Error correction of data symbols | |
JPS62217468A (ja) | デイジタル情報の記録/再生方法及び装置 | |
KR20030082376A (ko) | Ram 메모리 요구가 감소된 ecc 블록 인코더 및 디코더 | |
JP4141964B2 (ja) | エラー訂正コードに追加のエラー訂正レイヤを埋め込む方法及び装置 | |
KR20010081335A (ko) | 차세대 고밀도 기록 매체를 위한 디지털 데이터의 오류정정 부호화 방법 | |
US6718505B1 (en) | Method and apparatus for error correction in a process of decoding cross-interleaved Reed-Solomon code (CIRC) | |
JP4126795B2 (ja) | 疑似積符号復号装置及び方法 | |
JP3992443B2 (ja) | 符号化方法、復号方法、符号化回路、復号回路、記憶装置、記憶媒体、通信装置 | |
US7266751B2 (en) | Data recording method and data recording apparatus | |
EP1111799B1 (en) | Error correction with a cross-interleaved Reed-Solomon code, particularly for CD-ROM | |
US6694473B1 (en) | Parallel signal decoding method | |
JPS59117713A (ja) | デイジタルオ−デイオ信号の伝送装置 | |
JP2536861B2 (ja) | 多段復号化方法 | |
JPH0628343B2 (ja) | 積符号の復号方法 | |
JP2536860B2 (ja) | 多段符号化方法 | |
KR100215868B1 (ko) | 디지탈 전송시스템 | |
JP2008072190A (ja) | データ伝送装置 | |
KR100620184B1 (ko) | 재생데이터의 오류정정방법 | |
JP3740256B2 (ja) | 誤り訂正符号復号化装置及び誤り訂正符号復号化方法 | |
JPH08125549A (ja) | 誤り訂正復号回路とそれを使用するディジタル通信装置及びディジタル記録装置 | |
JPH08125548A (ja) | 誤り訂正符号化回路、誤り訂正復号化回路、誤り訂正符号化・復号化回路、および、それを用いたディジタル装置 | |
KR100653005B1 (ko) | 데이터 기록 또는 재생방법과 그에 따른 고밀도 기록매체 | |
JPS6187279A (ja) | 復号回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |