KR20020025239A - 연결된 에러 정정 코드를 구비하는 자기 기록 채널에서비동일 보호를 가지는 인코딩 방법 및 장치 - Google Patents

연결된 에러 정정 코드를 구비하는 자기 기록 채널에서비동일 보호를 가지는 인코딩 방법 및 장치 Download PDF

Info

Publication number
KR20020025239A
KR20020025239A KR1020027002595A KR20027002595A KR20020025239A KR 20020025239 A KR20020025239 A KR 20020025239A KR 1020027002595 A KR1020027002595 A KR 1020027002595A KR 20027002595 A KR20027002595 A KR 20027002595A KR 20020025239 A KR20020025239 A KR 20020025239A
Authority
KR
South Korea
Prior art keywords
ecc
code
bit
code word
data
Prior art date
Application number
KR1020027002595A
Other languages
English (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 추후
Publication of KR20020025239A publication Critical patent/KR20020025239A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/29Coding, 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1222ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 적어도 하나의 데이터 워드 블록을 에러 정정 코드(ECC) 코드 워드로 맵핑하는 인코더 및 데이터 워드 인코딩 방법에 관한 것이다. ECC 코드 워드는 경계에 의해 분리되는 다수의 다중-비트 ECC 심볼로 정의된다. 경계에 대한 비트 패턴의 상대적 위치에 기초하여 ECC 코드 워드에서 발생되는 비트 패턴에 제약조건(constraint)이 부과된다.

Description

연결된 에러 정정 코드를 구비하는 자기 기록 채널에서 비동일 보호를 가지는 인코딩 방법 및 장치 {METHOD AND APPARATUS FOR ENCODING WITH UNEQUAL PROTECTION IN MAGNETIC RECORDING CHANNELS HAVING CONCATENATED ERROR CORRECTION CODES}
디지털 통신 시스템 분야에서, 디지털 정보는 채널을 통해서 송신기에서 수신기로 전송된다. "채널"은 예컨대 기록 매체, 전화선, 그리고 전자기 스펙트럼과 같은 많은 다양한 매체를 포함하는 일반화된 용어이다. 자기 디스크 드라이브와 같은 데이터 저장 시스템에서, 채널은 저장 매체를 포함하며, 디지털 정보는 저장 매체로 전송되고 복구되기 전 소정의 시간동안 저장되어 수신기로 전송된다.
통상적인 자기 디스크 드라이브는 회전을 위해 허브 또는 스핀들상에 장착되는 하나 이상의 단단한 디스크를 포함한다. 각 디스크는 디스크 표면과의 통신을 위해 유체역학적 베어링 및 트랜스듀서로 형성된 관련 헤드를 가진다. 전자기계식 액추에이터는 트랙 탐색 오퍼레이션 동안 데이터 헤드를 디스크 표면상에 방사상으로 이동시키고, 트랙 추종 오퍼레이션 동안 트랜스듀서를 디스크 표면의 원하는 트랙 바로 위에 유지시킨다. 드라이브 컨트롤러는 호스트 컴퓨터로부터 수신된 명령에 기초하여 디스크 드라이브를 제어하여, 디스크로부터 정보를 검색하고 디스크상에 정보를 저장한다. 드라이브 컨트롤러는 호스트 시스템과의 통신을 위한 "호스트 인터페이스", 액추에이터를 제어하기 위한 "서보 서브시스템", 데이터를 저장매체에 기록하기 위한 "기록 채널", 및 저장매체로부터 기록된 데이터를 수신하기 위한 "판독 채널" 등과 같은 다양한 서브시스템을 포함한다.
정보는 전형적으로 디스크 표면상의 동심원 데이터 트랙에 저장된다. 선택된 데이터 트랙내의 디스크 표면상의 자속 반전을 인코딩하기 위하여 트랜스듀서를 통과하는 전류의 방향이 제어된다. 비-제로-복귀-반전(non-return-to-zero-inverse; NRZI) 코딩으로 공지된 코딩의 한 형태에서, 디지털 "1'은 데이터 트랙내 하나의 자구(magnetic domain)에서 다음 자구로의 자속 반전으로 표현되며, 디지털 "0"는 하나의 자구에서 다음 자구로 자속 반전이 일어나지 않는 것으로 표현된다.
디스크로부터 데이터를 검색할 경우, 서보 서브시스템은 데이터 헤드가 원하는 데이터 트랙위를 활강(fly)하여 데이터 트랙에 저장된 자속 반전을 감지하도록 전자기계식 액추에이터를 제어하고, 상기 자속 반전에 기초하여 판독 신호를 생성한다. 판독 신호는 통상 조건설정된 후, 자속 반전으로서 표현된 데이터를 재생하기 위하여 판독 채널에 의해 디코딩된다. 전형적인 판독 채널은 자동 이득 제어 회로, 로우-패스 필터, 아날로그-디지털 변환기 또는 샘플러(sampler), 시퀀스 검출기 및 디코더를 포함한다.
과거에는 판독 채널에서 시퀀스 검출을 위해 비터비 검출기(Viterbi detector)가 사용되었다. 비터비 검출기는 검출기로의 입력이 신호 및 부가적인 화이트(white) 가우시안 노이즈(Gaussian noise)로 구성될 때, 그리고 전형적인 브랜치 메트릭(branch metric)(검출기에 제공되는 신호에서 에러의 제곱)이 사용될 때 최대 가능성(maximum-likelihood; ML) 시퀀스 검출기로 작용한다. 검출된 비트 시퀀스는 디코더로 전송되어 최초(original) 사용자 데이터로 디코딩된다.
디스크 드라이브 저장 채널을 포함하는 모든 채널은 그것이 전송하는 신호에 노이즈를 유입시킨다. 채널 노이즈에 의해 야기된 신호 에러를 검출하고 경우에 따라서는 이를 정정하기 위하여, 다양한 코딩 기술이 개발되었다. 이러한 코딩 기술은 다수의 데이터 비트로 형성된 사용자 데이터 워드를 다수의 코드 비트로 형성된 코드 워드로 변환한다. 코드 워드에 부과되는 코딩 제약조건(coding constraint)은 에러 발생을 유발하는 경향이 있는 비트 시퀀스를 방지하도록 설계될 수 있으며, 채널로부터 수신된 신호에서 에러를 검출하고 경우에 따라서는 이를 정정하는 것을 가능하게 한다.
코드 비트 수에 대한 사용자 데이터 비트 수의 평균 비(m/n)는 코드의 코드 비율(code rate)로서 공지되어 있다. 일반적으로, 수신된 채널에서 에러를 검출하고 정정할 수 있는 능력은 코드 비율이 감소할수록 증가하는데, 이는 코드 비율이 낮을수록 코드 워드에서 잉여 정보(redundant information)를 더 많이 가지기 때문이다. 그러나, 인코더에 의해 부가되는 각 부가적인 정보는 채널을 통해서 신호를 전송하는데 필요한 시간 및 에너지를 증가시킨다.
몇가지 형태의 코드 제약조건이 제안되어 왔다. 예를 들면, 디스크 드라이브에서 자기 매체를 회전시키는 스핀들 모터의 회전 속도를 시간에 따라서 변화시키는 것이다. 이것은 판독 신호 전압 펄스 사이에 동일하지 않은 시간 간격을 초래한다. 판독 신호 전압 펄스의 위상 및 주파수에 대하여 판독 타이밍 클록의 위상 및 주파수를 동기화하기 위하여 위상 동기 루프(phase-locked loop)가 사용되었다. PLL이 정규적으로 업데이트되는 것을 보장하기 위하여, 판독 신호에서 연속적인 "0"의 수가 최대 수 "k"보다 크지 않도록 제한하는 코드가 사용될 수 있다. 이러한 종류의 코드는 "k"의 제약조건을 가지는 실행-길이-제한(run-length-limited; RLL) 코드로서 공지되어 있다. "k"의 값이 작을수록 PLL의 성능이 좋다. 그러나, "k"의 값이 작을수록 코드의 구현이 어려워진다.
코드는 또한 인코딩된 비트 스트림에서 연속적인 "1"의 수를 제한하여 내부-심볼 간섭의 영향을 제한하는데, 상기 내부-심볼 간섭은 전송된 신호에서의 연속적인 변환(transition)이 서로 간섭을 일으킬 때 발생한다. 이러한 코드는 "j"의 제약조건을 가지는 최대 변환 실행(maximum transition run; MTR) 코드로서 공지되어 있는데, 여기서 "j"는 채널 신호에서 허용되는 연속적인 변환의 최대 수이다. 예를 들면, 3개 이상의 연속적인 변환을 방지하기 위하여, MTR 제약조건 j=2를 가지는 코드가 설계될 수 있다. 비록 MTR 코드가 내부-심볼 간섭을 감소시키지만, 상기 코드는 내부-심볼 간섭이 잘 발생되지 않는 많은 수의 이용가능한 코드 워드를 제거하며 경우에 따라서는 높은 코드 비율을 가지는 MTR 제약조건을 구현하는 것을 불가능하게 한다.
몇몇 자기 기록 채널은 에러 정정 코드(error correction code; ECC)를 이용함으로써 부가적인 보호를 제공한다. (코딩 또는 언코딩된) 연속적인 데이터 블록은 데이터 필드 및 ECC 필드를 가지는 연속적인 에러 정정 코드 워드로 맵핑된다. 데이터 블록은 데이터 영역으로 맵핑되고, 이는 다수의 다중-비트 ECC 심볼로 분할된다. 데이터 필드내의 ECC 심볼은 다항 함수로 인가되고, 다항 함수는 ECC 필드를 형성하는 "패러티 비트(parity bit)"라고 불리는 부가적인 다중-비트 ECC 심볼을 생성한다. 데이터 필드로 연결되는 부가적인 ECC 심볼의 수는 정정가능한 ECC 코드 워드내 ECC 심볼의 수를 결정한다. 예를 들어, 리드-솔로몬(Reed-Solomon) 형태의 ECC에서는 ECC 코드 워드내의 하나의 심볼을 정정하기 위하여는 2개의 부가적인 ECC 심볼이 필요하다. ECC 필드에서 연결되는 24개의 부가적인 ECC 심볼을 가지는 ECC 코드 워드는 ECC 코드 워드내의 12개 심볼까지 에러 정정이 가능하다.
그리고, ECC 코드 워드에서 에러를 검출하고 정정하기 위해 ECC 디코더가 판독 채널에서 사용된다. 송신된 ECC 코드 워드내의 대응 심볼과 매칭되지 않는 수신된 ECC 코드 워드내의 각 심볼에 대하여, ECC 디코더는 부가적인 심볼을 생성하는데 사용되었던 다항 함수 및 수신된 코드 워드내의 다른 심볼들을 기초로하여 올바른 심볼을 결정한다.
이러한 코딩 기술은 어떠한 에러의 발생을 방지하고 최대의 잔존하는 에러의 발생을 정정하는 수단을 제공하는데 효과적인 반면, 높은 코드 비율로 구현하기는 어렵다. 이는 기록 채널의 속도 및 코드의 효율을 제한한다. 본 발명은 전술한 문제점 및 그 외의 다른 문제점들을 시정하고, 종래 기술보다 유리한 장점을 제공한다.
본 발명은 인코딩 시스템에 관한 것이다. 특히, 본 발명은 예컨대 디스크 드라이브 및 다른 형태의 데이터 저장 시스템에서와 같은 기록 채널에서 사용되는 인코딩 시스템에 관한 것이다.
도 1은 본 발명이 구현되는 디스크 드라이브의 사시도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 디스크 드라이브내의 데이터 저장 채널의 블록도이다.
도 3a 및 도 3b는 도 2에 도시된 저장 채널에서 사용되는 인코더 및 디코더에 의해 방지될 수 있는, 위법의 NRZ 비트 패턴을 포함하는 ECC 코드 워드의 일부를 도시한 것이다.
도 3c 및 도 3d는 도 2에 도시된 저장 채널에서 사용되는 인코더 및 디코더에 의해 허용되는, 적법의 NRZ 비트 패턴을 포함하는 ECC 코드 워드의 일부를 도시한 것이다.
도 4는 연결된 ECC 코드를 가지는 코딩 및 언코딩된 채널에 대하여 에러 발생 비율의 함수로서 정정된 비트 에러 비율을 도시한 그래프이다.
도 5는 본 발명의 일 실시예에 따른, 도 2에 도시된 제 1 비트-레벨 인코더에 의해 수행되는 인코딩 프로세서를 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 도 2에 도시된 ECC 인코더 및 제 2 비트-레벨 인코더에 의해 수행되는 프로세서를 도시한 흐름도이다.
도 7은 도 2에 도시된 ECC 인코더 및 비트-레벨 인코더를 통과하는 데이터 흐름을 도시한 흐름도이다.
도 8은 본 발명의 또다른 실시예에 따른 인코더 회로의 블록도이다.
본 발명의 일 태양은 적어도 하나의 데이터 워드의 블록을 에러 정정 코드(ECC) 코드 워드로 맵핑하는 데이터 워드 인코딩 방법과 관련된다. ECC 코드 워드는 경계에 의해 분리되는 다수의 다중-비트 ECC 심볼에 의해서 정의된다. (도 3a 및 도 3b에서 도시된 바와 같이) 비트 패턴은 경계에 대한 비트 패턴의 상대적 위치에 기초하여, ECC 코드 워드에서 발생된 비트 패턴에 제약조건이 부가된다.
본 발명의 또다른 태양은 연속적인 데이터 워드를 각각의 연속적인 코드 워드로 인코딩하는 인코더와 관련된다. 인코더는 데이터 워드 입력; 코드 워드 출력; 및 제 1 인코더 유니트를 포함한다. 제 1 인코더 유니트는 데이터 워드 입력에서 수신된 각각의 연속적인 데이터 워드를 제 1 코드에 따라서 각각의 연속적인 코드 워드로 맵핑하여 데이터 워드 출력으로 출력한다. 제 1 코드는 다중-비트 에러 정정 코드(ECC) 심볼 사이의 각 코드 워드 경계를 식별하여, 경계에 가까운 각 코드 워드의 비트 위치와 경계에서 먼 각 코드 워드의 비트 위치 사이에 상이한 코드 제약조건을 부가한다.
본 발명의 또다른 태양은 트랜스듀서 및 인코더를 포함하는 디스크 드라이브 저장 채널과 관련된다. 트랜스듀서는 데이터 저장 디스크와 통신할 수 있다. 인코더는 트랜스듀서와 연결되어, 코드에 따라서 데이터를 다중-비트 ECC 심볼로 형성된 연속적인 에러 정정 코드(ECC) 코드 워드로 인코딩한다. 코드는 다중-비트 ECC 심볼 사이의 경계에 대한 비트 패턴의 상대적 위치에 기초하여 각 ECC 코드 워드에서 발생된 비트 패턴에 제약조건을 부가한다. 그리고, 인코더는 ECC 코드 워드를 코드 워드 스트림으로서 트랜스듀서에 전송한다.
본 발명의 또다른 태양은 트랜스듀서 및 디코더를 포함하는 디스크 드라이브 저장 채널과 관련된다. 트랜스듀서는 데이터 저장 디스크와 통신할 수 있다. 디코더는 트랜스듀서와 연결되어 트랜스듀서로부터 판독 신호를 수신하고, 판독 신호로서 표현되는 연속적인 에러 정정 코드(ECC) 코드 워드를 연속적인 데이터 워드로 코드에 따라서 디코딩한다. 각 ECC 코드 워드는 다수의 다중-비트 ECC 심볼을 포함하고, 코드는 다중-비트 ECC 심볼 사이의 경계에 대한 비트 패턴의 상대적 위치에 기초하여 각 ECC 코드 워드의 비트 패턴에 제약조건을 부가한다.
도 1은 본 발명에 사용되는 디스크 드라이브(100)의 사시도이다. 디스크 드라이브(100)는 베이스(102) 및 상부 커버(미도시)로 구성된 하우징을 포함한다. 디스크 드라이브(100)는 또한, 디스크 클램프(108)에 의해서, 스핀들 모터(미도시)에 장착되는 디스크 팩(106)을 포함한다. 디스크 팩(106)은 중심축(109)에 대하여 함께 회전하도록 장착된 다수의 개별 디스크를 포함한다. 각각의 디스크 표면은 디스크 표면과의 통신을 위해 디스크 드라이브(100)에 장착되는 관련 디스크 헤드 슬라이더(110)를 가진다. 도 1에 도시된 예에서, 슬라이더(110)는 액추에이터(116)의 트랙 액세싱 암(114)에 차례로 부착된 서스펜션(112)에 의해 지지된다. 도 1에 도시된 액추에이터는 회전 이동식 코일 액추에이터로 공지된 형태이고, 참조번호 118로 도시된 보이스 코일 모터(voice coil motor; VCM)를 포함한다. 보이스 코일 모터(118)는 헤드(110)가 부착된 액추에이터(116)를 피봇축(120)을 중심으로 회전시켜, 헤드(110)를 디스크 내경(124)과 외경(126) 사이의 아치형 경로(122)를 따라서 원하는 트랙상으로 위치시킨다. 보이스 코일 모터(118)는 헤드(110) 및 호스트 컴퓨터(미도시)에 의해 생성된 신호에 기초하여 내부 회로부(128)상에 위치된 서보 전자장치에 의해서 구동된다.
내부 회로부(128)내의 기록 회로부는 연속적인 코드 워드(code word)로 저장될 데이터를 인코딩하는데, 상기 코드 워드는 비-제로-복귀-반전 (non-return-to-zero-inverse; NRZI) 포맷(또는, 선택적으로, NRZ 포맷)으로 프리코딩되고 변조되어 일련의 아날로그 기록 신호를 형성한다. 헤드(110)상의 기록 트랜스듀서는 아날로그 기록 신호에 기초하여 디스크 표면상의 자기층내에 자속의 반전을 인코딩한다. 판독 오퍼레이션동안, 헤드(110)의 판독 트랜스듀서는 자속의 반전을 감지하여 일련의 아날로그 판독 신호를 생성한다. 아날로그 판독 신호는 일련의 디지털 신호로 변환되며, 디지털 신호는 검출기 및 내부 회로부(128)내의 디코더 회로부에 전송되어 복구된 데이터 신호를 생성한다.
도 2는 본 발명에 이용되는 개괄적인 통신 시스템(138)의 블록도를 도시한 것이다. 도 1의 디스크 드라이브에 있어, 통신 시스템(138)은 헤드(110), 디스크(106), 및 회로부(128)의 내부 로직으로 형성된다. 통신 시스템(138)은 제 1 비트-레벨 인코더(140), 심볼-레벨 에러 정정 코드(ECC) 인코더(144), 멀티플렉서(148), 및 제 2 비트-레벨 인코더(150)를 포함하는 인코더 회로(139)를 구비한다. 비트-레벨 인코더(140)는 연속적인 데이터 워드(142)를 수신하여 코드에 따라서 이를 연속적인 데이터 코드 워드(143)로 인코딩한다. 각 데이터 워드(142)는소정 수의 비트를 포함한다. 비트의 수가 클수록, 인코더(140)에 의해 수행될 수 있는 코드 비율은 커진다. 체널(160)에서 어떤 일반적인 에러를 발생시키는 것으로 인식된 비트 패턴을 가지는 코드 워드를 방지하기 위하여, 코드는 비트 레벨상의 연속적인 데이터 코드 워드(143)에 제약조건(constraint)을 부과한다.
예를 들면, 코드는 "k"의 제약조건(constraint)을 가지는 실행 길이 제한(Run Length Limited; RLL) 코드를 포함할 수 있다. "k"의 제약조건은 판독 신호에서 연속적인 '0'의 수를 최대수 "k" 보다 크지않도록 제한한다. 코드는 또한 상호-심볼 간섭을 제한하는 인코딩된 비트 스트림에서 연속적인 '1'의 수를 제한하는데, 상호-심볼 간섭은 전송된 신호에 있어 연속적인 변환이 서로 간섭되는 경우 발생한다. 이러한 코드는 "j"의 제약조건을 가지는 최대 변환 실행(maximum transition run; MTR) 코드로서 공지되어 있는데, 여기서 "j"는 채널 신호에서 허용되는 연속적인 변환의 최대 수이다. 전술한 형태의 코드에 부가되거나 또는 이를 대신하여 다른 형태의 코드도 또한 인코더(140)에서 이용될 수 있다. 하기에 상세히 설명된 일 실시예에서는, 각각의 비트가 다중-비트 ECC 심볼에서 차지하는 상대적 위치에 기초하여, 코드는 각 데이터 코드 워드(142)에서의 상이한 비트 위치에 대하여 상이한 제약조건을 부과한다. 이것은 각 데이터 코드 워드(143)내의 ECC 심볼 경계를 식별하기 위하여 인코더(140)에 의해 수행될 코드를 필요로 한다.
인코더(140)는 블록 인코더를 포함하거나 또는 상태 구동될 수 있으며, 모든 코드 워드(143)는 통상적인 에러를 발생시키는 코드 워드를 방지하기 위하여 신중하게 선택된다. 인코더(140)는 사용자 데이터 워드 및 이에 대응하는 코드 워드사이의 변환을 위한 룩-업 테이블을 가지는 소프트웨어나 또는 결합 로직으로 구현될 수 있다. 또한, 그 외의 하드웨어와 소프트웨어로도 구현될 수 있다.
인코더(140)에서 생성된 연속적인 데이터 코드 워드(143)가 멀티플렉서(148)의 입력중 하나와 ECC 인코더(144)에 제공되고, 데이터 코드 워드(143)의 연속적인 블록(또는 섹터)을 함께 인코딩하여 멀티플렉서(148)에서 연속적인 ECC 코드 워드(149)(이는 또한 ECC 블록 또는 섹터로 공지되어 있다)로 출력된다. 각각의 ECC 코드 워드(149)는 하나 이상의 다중-비트 ECC 심볼로 각각 구성된 데이터 필드 및 ECC 필드를 포함한다. 멀티플렉서(148)는 데이터 코드 워드(143)의 각 블록을 대응하는 ECC 코드 워드(149)의 데이터 필드로 맵핑하여 데이터 필드내에 하나 이상의 ECC 심볼을 형성한다.
ECC 인코더(144)는 데이터 필드내의 ECC 심볼에 근거하여 ECC 필드를 위한 부가적인 ECC 심볼(152)을 생성한다. 예를 들면, 데이터 필드내의 ECC 심볼을 다항 함수(polynomial function)에 적용함으로써 부가적인 ECC 심볼이 생성될 수 있다. ECC 필드에서 연결되어 있는 부가적인 ECC 심볼의 수는 각 ECC 코드 워드내에서 정정가능한 ECC 심볼의 총 수를 결정한다. 예를 들면, 어떤 특정 ECC는 ECC 코드 워드내에서 각 정정가능한 ECC 심볼에 대하여 2개의 부가적인 ECC 심볼을 요구한다. 가령, 리드-솔로몬(Reed-Solomon) ECC와 같은 어떠한 형태의 ECC도 이용될 수 있다.
비트-레벨 인코더(150)는 부가적인 ECC 심볼(152)을 인코딩하여, 인코더(140)에 의해 데이터 코드 워드(142)에 인가되는 것과 유사한 코드 제약조건을 인가한다. 또한, 코드는 ECC 심볼에서 각 비트의 상대적 위치에 기초하여 상이한 비트 위치에 상이한 제약조건을 부과한다. 일 실시예에서, 각 ECC 심볼은 대응하는 인코딩된 ECC 심볼(146)로 인코딩된다. 각 부가적인 ECC 심볼(152)에서는 각 데이터 워드(142)보다는 비트 수가 작기 때문에, 비트-레벨 인코더(150)의 코드 비율은 비트-레벨 인코더(140)의 코드 비율보다 작다. 대안적인 실시예에서는, 다수의 부가적인 ECC 심볼이 대응하는 코드 워드로 함께 인코딩된다. 그리고, 인코딩된 ECC 심볼(146)은 멀티플렉서(148)의 다른 입력에 제공된다.
멀티플렉서(148)는 데이터 코드 워드(143)의 각 블록을 대응하는 ECC 코드 워드(149)의 데이터 필드로 맵핑하고, 부가적인 인코딩된 ECC 심볼(146)의 각 세트(set)를 멀티플렉서의 입력을 시간-다중화(time-multiplexing)함으로써 대응하는 ECC 코드 워드(149)의 ECC 필드로 맵핑한다. 대안적인 실시예에서는, 인코딩된 부가적인 ECC 심볼(146)을 대응하는 ECC 코드 워드(149)의 데이터 필드로 연결하는데 있어 다른 구조 및 방법이 이용될 수 있다.
병렬-직렬 변환기(155)는 연속적인 ECC 코드 워드(149)를 수신하여 각 ECC 코드 워드(149)를 직렬 표현으로 변환하고, 상기 직렬 표현을 연결하여 ECC 코드 워드 비트(154)의 직렬 스트림을 생성한다. 송신기/프리코더(156)는 직렬 코드 워드 스트림(154)을 수신하고, 채널로부터의 신호를 복구하는데 사용되는 검출기 형태에 대한 최적화를 위하여 시퀀스를 조건설정한다. 송신기/프리코더(156)는 채널(160)에 제공되는 인코딩된 기록 신호(158)를 생성한다.
디스크 드라이브(100)에서, 채널(160)은 헤드(110)의 기록 트랜스듀서, 디스크 팩(106), 및 헤드(110)의 판독 트랜스듀서를 포함한다. 인코딩된 기록 신호는 기록 트랜스듀서에 의해 디스크 표면에 저장된다. 판독 오퍼레이션동안, 판독 트랜스듀서는 디스크 표면으로부터 저장 및 인코딩된 정보를 판독하여, 인코딩된 정보를 판독 신호(164)로서 수신기/검출기(162)로 전송한다. 수신기/검출기(162)는 판독 신호(164)를 증폭 및 필터링하고, 몇몇 공지된 검출 방법을 이용하여 판독 신호로부터 인코딩된 정보를 복구한다. 예를 들면, 수신기/검출기(162)는 비터비 검출기(Viterbi detector), 결정 피드백 평형기(Decision Feedback Equalization; DFE), 결정 피드백을 가진 고정-지연 트리 서치(Fixed-Delay Tree Search with Decision Feedback; FDTS/DF) 또는 감소된 상태 시퀀스 검출(Reduced State Sequence detection; RSSE)을 이용할 수 있다. 채널(160)로부터 신호를 검출 및 증폭한 후에, 수신기/검출기(162)는 직렬-병렬 변환기(163)에 제공될 코드 워드 비트(165)의 복구된 시퀀스를 생성한다.
직렬-병렬 변환기(163)는 비트를 ECC 코드 워드로 그룹화(group)하고, ECC 코드 워드를 직렬 포맷에서 병렬 포맷으로 변환한다. 연속적으로 복구된 ECC 코드 워드(166)는 인코더(139)에 의해 생성된 ECC 코드 워드의 길이에 대응하는 길이를 가진다. 그리고, 직렬-병렬 변환기는 연속적으로 복구된 ECC 코드 워드를 병렬 포맷으로 ECC 디코더 및 정정 회로(168)에 출력한다. 회로(168)는 인코더(150)에 의해 사용된 코딩 규칙의 역(inverse)을 이용하여 ECC 필드내의 부가적인 ECC 심볼을 최초 ECC 심볼로 디코딩하고, ECC 인코더(144)에 의해 사용된 다항 함수 및 최초 ECC 코드 워드(166)내의 ECC 심볼에 기초하여 ECC 심볼이 에러를 포함하는가를 결정한다. 에러를 포함하는 ECC 심볼의 수가 회로(168)에 의해 정정될 수 있는 심볼의 최대 수보다 크지 않는 한, 최초 전송된 ECC 심볼은 복구될 수 있다.
디코더(172)에 제공되는 데이터 코드 워드(170)의 최초 블록을 복구하기 위하여 데이터 필드는 복구된 ECC 코드 워드로부터 스트립된다. 비트-레벨 디코더(172)는 인코더(140)에 의해 이용된 코딩 규칙의 역을 이용하여 연속적인 데이터 코드 워드(170)를 각 데이터 워드(174)로 디코딩한다.
전술한 바와 같이, 비트-레벨 인코더(104 및 150)는 각 ECC 심볼에서 상이한 비트 위치에 대하여 동일하지 않는 에러 보호를 제공한다. 일 실시예에서, 각 ECC 심볼의 중심에 가까운 비트 위치보다는 ECC 심볼의 경계에 가까운 비트 위치에 더 많은 에러 보호가 제공된다. 이것은 각 ECC 심볼의 "외부" 비트 위치에 대하여 어떤 코드 제약조건 세트를 제공하고, 각 ECC 심볼의 "내부" 비트 위치에 대하여는 또다른 코드 제약조건 세트를 제공함으로써 이루어진다.
이것은 에러를 정정하는 정정 회로(168) 및 ECC 디코더의 성능에 큰 영향을 미치는 에러 발생에 대하여 더 큰 보호를 제공한다. 인코더(104 및 150)에 의해 사용되는 코드는 ECC 심볼 경계까지 확장되지 않는 에러보다 ECC 심볼 경계까지 확장되는 에러에 대하여 더 큰 보호를 제공한다. ECC 심볼 경계까지 확장되는 에러의 발생은 2개의 연속적인 ECC 심볼에서 에러의 발생을 유발한다. 이러한 다중-심볼 에러의 발생을 방지함으로써, 각 ECC 코드 워드에서 에러를 포함하는 ECC 심볼의 총 수는 감소하게 되어, 회로(168)가 주어진 ECC 코드 워드에서 모든 ECC 심볼을 복구할 수 있는 가능성은 더욱 커진다.
또한, "외부" 비트 위치에서 허용되지 않는 각 ECC 심볼의 "내부" 비트 위치에서 발생되는 어떠한 비트 패턴을 허용함으로써, 비교적 높은 코드 비율이 유지될 수 있는데, 이는 ECC 심볼 경계에 영향을 미치는 비트 패턴에만 제약조건이 부과되기 때문이다. 따라서, 비트 패턴의 총 가능한 수보다 더 크 수가 사용될 수 있다.
자기 기록 채널의 경우, 가장 가능성있는 에러 발생은 1-비트와 3-비트 에러이다. 1-비트 에러 발생은 항상 1-비트 ECC 심볼 에러를 일으킨다. 3-비트 에러 발생은 만약 그것이 ECC 심볼 경계로 확장될 경우 2개의 ECC 심볼 에러를 일으킬 수 있다. 일 실시예에서, 인코더(140 및 150)는 ECC 심볼 경계에서 "트리(tri)-비트" 에러의 발생을 제거하기 위하여 경계 MTR 코드를 사용한다. 상기 코드는 ECC 심볼 경계에서 중간 변환을 가지는 트리-비트를 일으키는 2개의 NRZ 패턴(또는 하나의 NRZI 패턴)을 제거한다.
도 3a 및 도 3b는 인코더(140 및 150)에 의해 방지되는 위법한 NRZ 비트 패턴을 포함하는 ECC 코드 워드 부분을 도시한 것이다. 전술한 바와 같이, 각 ECC 코드 워드는 데이터 및 ECC 필드에서 서로 연결되는 다수의 다중-비트 ECC 심볼로 형성된다. 도 3a에서, ECC 코드 워드(300)는 10-비트 ECC 심볼(301 및 302)을 포함하고, 상기 심볼 사이에 경계(303)를 형성한다. ECC 코드 워드(300)의 각 ECC 심볼은 하나 이상의 "외부" 비트 위치(304) 및 서로 중첩(overlap)될 수 있는 하나 이상의 "내부" 경계 비트 위치(306)를 가진다. ECC 심볼(301)의 "외부" 경계 비트 위치에서의 "01" 및 ECC 심볼(302)의 "외부" 경계 비트 위치에서의 "01"에 의해 형성된 NRZ 패턴은 경계(303)에서 발생되는 중간 변환과 함께 3개의 변환을 발생시킨다. 도 3b에서, ECC 코드 워드(310)는 ECC 심볼(311 및 312)을 포함하고, 상기 심볼 사이에 경계(313)를 형성한다. 도 3a에 도시된 패턴과 마찬가지로, NRZ 패턴 "1010"은 2개의 ECC 심볼(311 및 312) 사이의 경계(313)에서 발생되는 중간 변환과 함께 3개의 변환을 일으킨다. 이러한 비트 패턴은 "외부" 경계 비트 위치(304)에서 인코더(140 및 150)에 의해 방지되지만, "내부" 비트 위치(306)에서는 허용된다.
도 3c 및 도 3d는 인코더(140 및 150)에 의해 방지되지 않는 적법한 NRZ 비트 패턴을 포함하는 ECC 코드 워드 부분을 도시한 것이다. 도 3c에서, ECC 코드 워드(320)는 ECC 심볼(321 및 322)을 포함하고, 상기 심볼 사이에 경계(323)를 형성한다. 비록 NRZ 패턴 "10100"은 3개의 변환을 일으키지만, "외부" 비트 위치(304)내의 경계(313)에서 중간 변환은 일어나지 않는다. 도 3d에서, ECC 코드 워드(330)는 ECC 심볼(331 및 332)을 포함하고, 상기 심볼 사이에 경계(333)를 형성한다. 도 3c에 도시된 패턴과 마찬가지로, NRZ 패턴 "00101"은 3변환을 일으키지만, 2개의 ECC 심볼(331 및 332) 사이의 경계(333)에서 중간 변환은 일어나지 않는다.
인코더(140 및 150)을 가지는 도 3a 및 도3b에 도시된 패턴을 제거하는 것과 대응하는 제약조건을 디코더(168)에 부과하는 것은 ECC 심볼 경계에서 2개의 가능한 트리-비트 에러의 발생 및 ECC 심볼 경계에서 트리-비트를 포함하는 어떤 더 많은 에러의 발생을 제거한다. 싱글 ECC 심볼의 내부 비트 위치(306)에서 발생하는 트리-비트 에러 발생에 대하여 동일한 제약조건이 부과되지 않는다. 따라서, ECC심볼의 경계 근처의 비트 위치는 ECC 심볼내의 비트 위치보다 더 낮은 비트 에러 비율 가능성을 가진다.
모든 트리-비트 에러 발생을 제거하는 MTR 코드는 트리-비트를 야기하는 모든 비트 패턴을 방지하기 위하여 많은 수의 코드 비트가 사용되어야 하기 때문에 큰 코드 비율 패널티(penalty)를 가지는 단점이 있다. 본 발명의 상기 실시예에 있어, 잔존하는 트리-비트 에러 발생을 제외하고는 ECC 심볼 경계에서 모든 트리-비트 에러 발생을 방지함으로써 효과적인 절충안이 이루어질 수 있다. 잔존하는 트리-비트 에러 발생은 싱글 ECC 심볼로 제한되기 때문에, 이러한 에러 발생이 ECC 디코더에 의해 정정될 수 있는 가능성을 더 크다. 이러한 에러를 비트 레벨상의 MTR 코드에 의해 방지하는 것은 필요하지 않다. 따라서, MTR 코드 컨스트레이트는 완화될 수 있고, 결과적으로 더 높은 코드 비율을 얻을 수 있다.
예를 들어, (도 2에 도시된) 채널(160)이 단지 트리-비트를 가진다고 가정하자. ECC 인코더(144)는 10-비트 심볼을 형성하고, ECC 디코더(168)는 각 ECC 코드 워드에서 12개의 ECC 심볼까지 정정할 수 있는 수용력(capacity)을 가진다고 가정하자. (마찬가지로 도 2에 도시된) 인코더(140 및 150)에 의해 코딩하지 않을 경우, ECC 코드 워드에서 ECC 수용력을 초과하는 7개의 에러가 발생한다. 만약 7개의 에러가 ECC 심볼 경계에서 모두 발생하면, 12개의 ECC 심볼 에러 수용력을 초과하는 14개의 ECC 심볼이 에러를 가진다. 만약 ECC 코드 워드당 하나의 패러티 비트가 사용되면, ECC 코드 워드에서 ECC 수용력을 초과하는 8개의 에러가 발생한다. (ECC 심볼 경계에서 트리-비트 에러를 방지할 수 있는) 경계 MTR 코드가 있고 패러티가 없을 경우, ECC 코드 워드에서 ECC 수용력을 초과하는 13개의 에러가 발생한다.
도 4는 연관된 ECC 코드를 가지는 코딩 및 언코딩된 채널에 대하여 X-축(401)상의 에러 발생 비율의 함수로서 Y-축(400)상에 정정된 비트 에러 비율을 도시한 그래프이다. 정정된 비트 에러 비율은 비트 판독의 수로 나누어진 정정될 수 없는 ECC 코드 워드(섹터)의 비(ratio)이다. 라인(402)은 언코딩된 예제에 대한 정정된 비트 에러 비율을 나타내고, 라인(403)은 경계 MTR 코딩된 예제에 대한 정정된 비트 에러 비율을 나타낸다. 경계 MTR 코딩된 예제는 언코딩된 예제보다 정정될 수 없는 ECC 코드를 명백하게 적게 가진다.
도 5는 본 발명의 일 실시예에 따라서, 인코더(140)에 의해 수행되는 인코딩 프로세서를 도시한 흐름도이다. 단계 500에서, 인코더(140)는 인코딩을 위한 연속적인 m-비트 데이터 워드를 수신한다. 단계 501에서, 인코더(140)는 각 연속적인 m-비트 데이터 워드를 코드에 따라서 각각 연속적인 n-비트 코드 워드로 맵핑한다. 코드는 ECC 인코더(144)에 의해 후속하여 정의된 다중-비트 ECC 심볼 사이의 각 코드 워드 경계를 식별하고, ECC 경계로부터 더 멀리 떨어진 각 코드 워드에서의 비트 위치보다 ECC 경계에 더 가까운 각 코드 워드에서의 비트 위치에 상이한 코드 제약조건을 부과한다. 단계 502에서, 인코더(140)는 상기 결과인 코드 워드를 ECC 인코더(144)로 출력한다.
도 6은 본 발명의 일 실시예에 따라서, 인코더(144 및 150)에 의해 수행되는 프로세서를 도시한 흐름도이다. 단계 600에서, ECC 인코더(144)는 인코더(140)로부터 코딩된 데이터 워드의 블록을 수신한다. 단계 601에서, ECC 인코더(144)는 데이터 워드의 블록을 대응하는 ECC 코드 워드의 데이터 필드에 인가하는데, 이는 다수의 다중-비트 ECC 심볼로 나누어져 있다. 데이터 필드내의 ECC 심볼은, 단계 601에서, 데이터 필드에 연결될 부가적인 ECC 심볼을 생성하는데 사용되는 다항 함수(polynomial)에 인가된다. 단계 603에서, 비트-레벨 인코더(150)는 코드에 따라서 부가적인 ECC 심볼을 인코딩된 ECC 심볼로 맵핑하는데, 상기 코드는 ECC 심볼 경계에서 트리-비트를 방지하기 위해 비트-레벨 인코더(140)에 의해 인가되는 것과 유사한 제약조건을 부과한다. 단계 604에서, 인코딩된 ECC 심볼은 데이터 필드와 연결되는 ECC 코드 워드의 ECC 필드에 인가된다. 결과로서 인코딩된 ECC 코드 워드는 기록 채널의 다음 스테이지로 출력된다.
도 7은 본 발명의 일 실시예에 따라서, 인코더(139)를 통한 데이터의 흐름을 도시한 흐름도이다. (도 2에 도시된) 인코더(140)는 데이터 워드(700)의 블록을 각 인코딩된 데이터 워드(701)의 블록으로 인코딩한다. 인코딩된 데이터 워드(701)의 블록은 ECC 코드 워드(703)의 데이터 필드(702)로 직접 인가된다. 데이터 필드(702)는 다수의 다중-비트 ECC 심볼로 나누어진다. 또다른 실시예에서, ECC 인코더(144)는 다항 함수를 인코딩된 데이터 워드의 블록에 인가하여 데이터 필드(702)에서 ECC 심볼을 생성한다. 인코딩된 데이터 워드(701)의 블록은 또한 부가적인 ECC 심볼(705)을 생성하는 다항 함수(704)에 인가된다. 원하는 에러 정정 코드를 구현하기 위하여 어떤 안정한 다항식이 사용될 수 있다. 그리고, 인코더(150)는 부가적인 ECC 심볼을 ECC 코드 워드(703)의 ECC 필드(708)에 인가될 인코딩된 ECC 심볼(706)로 인코딩한다. 이것은 인코더의 "시스템적(systematic)" 형태의 예이다.
도 8은 본 발명의 또다른 실시예에 따른 인코더 회로(800)의 블록도로서, 이것은 도 2에 도시된 인코더 회로(139)를 대신하여 사용될 수 있다. 인코더 회로(800)는 심볼-레벨 ECC 인코더(802), 멀티플렉서(804) 및 비트-레벨 인코더(806)를 포함한다. 연속적으로 유입되는 데이터 워드(810)의 블록은 멀티플렉서(804)의 제 1 데이터 입력에 인가되어, 멀티플렉서(804)의 출력에서는 대응하는 ECC 코드 워드(812)의 데이터 필드로 맵핑된다. 그리고, ECC 코드 워드의 데이터 필드는 전술한 바와 같이 다수의 ECC 심볼로 나누어진다. 연속적인 데이터 워드(810)의 블록은 또한 데이터 필드의 ECC 심볼에 기초하여 ECC 필드를 위한 부가적인 ECC 심볼(812)을 생성하는 ECC 인코더(802)에 인가된다. 예를 들면, 부가적인 ECC 심볼은 데이터 필드의 ECC 심볼을 다항 함수에 인가함으로써 생성될 수 있다. 그리고, 부가적인 ECC 심볼은 멀티플렉서(804)의 제 2 데이터 입력에 인가된다. 멀티플렉서(804)는 부가적인 ECC 심볼(814)의 연속적인 세트를 연속적인 ECC 코드 워드(812)의 ECC 필드로 연결한다.
비트-레벨 인코더(806)는 각 ECC 코드 워드(812)를 수신하여, 도 2의 인코더(140 및 150)에 의해 인가되는 것과 유사한 코드 제약조건을 인가한다. 일 실시예에서, 인코더(806)는 ECC 코드 워드(812)에서 각 ECC 심볼을 대응하는 인코딩된 ECC 심볼로 인코딩하는 블록 인코더이다. 그리고, 인코더는 ECC 심볼에서 각각의 비트의 상대적인 위치에 기초하여 상이한 비트 위치에 대하여 상이한 제약조건을 부과한다. (도 2의) 각 데이터 워드(142)에서보다 각 ECC 심볼에서 비트의 수가 작기 때문에, 인코딩 회로(800)의 전체 코드 비율은 인코딩 회로(139)의 전체 코드 비율보다 더 작다. 인코딩 회로(139)에서, 각 ECC 코드 워드의 대부분의 비트는 비트-레벨 인코더(140)에 의해 더 높은 비율로 인코딩되는 데이터 비트이다. 단지 작은 수의 비트만이 인코더(150)에 의해 ECC 심볼에서 낮은 비율로 인코딩된다. 본 발명에 따라서 다른 인코딩 형태도 또한 사용될 수 있다.
요약하면, 본 발명의 일 태양은 적어도 하나의 데이터 워드(142)의 블록(700)을 에러 정정 코드(ECC) 코드 워드(149, 701)로 맵핑하는 데이터 워드(142) 인코딩 방법과 관련된다. ECC 코드 워드(149, 701)는 경계(303, 313, 323, 333)에 의해 분리되는 다수의 다중-비트 ECC 심볼(301, 302, 311, 312, 321, 322, 331, 332)에 의해서 정의된다. (도 3a 및 도 3b에서 도시된 바와 같이) 비트 패턴은 경계(303, 313, 323, 333)에 대한 비트 패턴의 상대적 위치(304, 306)에 기초하여, ECC 코드 워드(149, 701)에서 발생된 비트 패턴에 제약조건이 부가된다.
본 발명의 또다른 태양은 연속적인 데이터 워드를 각각의 연속적인 코드 워드로 인코딩하는 인코더(139)와 관련된다. 인코더는 데이터 워드 입력(142); 코드 워드 출력(143); 및 제 1 인코더 유니트(140)를 포함한다. 제 1 인코더 유니트(140)는 데이터 워드 입력(142)에서 수신된 각각의 연속적인 데이터 워드를 제 1 코드에 따라서 각각의 연속적인 코드 워드로 맵핑하여 데이터 워드 출력(143)으로 출력한다. 제 1 코드는 다중-비트 에러 정정 코드(ECC) 심볼(301, 302, 311, 312, 321, 322, 331, 332) 사이의 각 코드 워드 경계(303, 313, 323, 333)를 식별하여, 경계(303, 313, 323, 333)에 가까운 각 코드 워드의 비트 위치(304)와 경계에서 먼 각 코드 워드의 비트 위치(306) 사이에 상이한 코드 제약조건을 부가한다.
본 발명의 또다른 태양은 트랜스듀서(110) 및 인코더(139)를 포함하는 디스크 드라이브 저장 채널(138)과 관련된다. 트랜스듀서(110)는 데이터 저장 디스크(106)와 통신할 수 있다. 인코더(139)는 트랜스듀서(110)와 연결되어, 코드에 따라서 데이터(142)를 다중-비트 ECC 심볼(301, 302, 311, 312, 321, 322, 331, 332)로 형성된 연속적인 에러 정정 코드(ECC) 코드 워드(149, 701)로 인코딩한다. 코드는 다중-비트 ECC 심볼(301, 302, 311, 312, 321, 322, 331, 332) 사이의 경계(303, 313, 323, 333)에 대한 비트 패턴의 상대적 위치(304, 306)에 기초하여 각 ECC 코드 워드(149, 701)에서 발생된 비트 패턴에 제약조건을 부가한다. 그리고, 인코더(139)는 ECC 코드 워드(149, 701)를 코드 워드 스트림(154)으로서 트랜스듀서(110)에 전송한다.
본 발명의 또다른 태양은 트랜스듀서(110) 및 디코더(168, 172)를 포함하는 디스크 드라이브 저장 채널(138)과 관련된다. 트랜스듀서(110)는 데이터 저장 디스크(106)와 통신할 수 있다. 디코더(168, 172)는 트랜스듀서(110)와 연결되어 트랜스듀서(110)로부터 판독 신호(164)를 수신하고, 판독 신호(164)로서 표현되는 연속적인 에러 정정 코드(ECC) 코드 워드(166)를 연속적인 데이터 워드(174)로 코드에 따라서 디코딩한다. 각 ECC 코드 워드(166)는 다수의 다중-비트 ECC 심볼(301, 302, 311, 312, 321, 322, 331, 332)을 포함하고, 코드는 다중-비트 ECC 심볼(301, 302, 311, 312, 321, 322, 331, 332) 사이의 경계(303, 313, 323, 333)에 대한 비트 패턴의 상대적 위치(304, 306)에 기초하여 각 ECC 코드 워드(166)의 비트 패턴에 제약조건을 부가한다.
본 발명에 따른 다양한 실시예의 구조 및 기능에 대한 상세한 설명과 함께 본 발명에 따른 실시예의 다양한 특성 및 장점이 본원 명세서에 개시되어 있지만, 상기 개시는 단지 설명을 위한 것이고, 청구항에 표현된 용어에 있어 광의의 의미로 최대한 확장되는 본 발명의 원리를 벗어나지 않고 세부사항 특히 부품의 구조 및 배치에 있어 다양한 변형이 가능하다는 것을 당업자는 알 것이다. 예를 들어, 본 발명의 사상 및 범위를 벗어나지 않고 실질적으로 동일한 기능을 유지하면서 채널에 대한 특정 응용례에 따라서 특정 구성요소가 변경될 수 있다. 또한, 여기에 설명된 실시예는 디스크 드라이브 시스템을 위한 판독 및 기록 채널과 관련된 것이지만, 본 발명의 사상 및 범위를 벗어나지 않고, 본 발명이 통신 시스템 또는 또다른 저장 시스템과 같은 상이한 시스템에도 적용될 수 있다는 것을 당업자는 알 것이다. 또한, 명세서 및 청구항에서 사용된 "연결(coupled)"이라는 용어는 직접 연결 및 하나 이상의 매개 컴포넌트를 통한 간접 연결을 포함하는 의미이다.

Claims (11)

  1. 데이터 워드를 인코딩하는 방법으로서,
    (a) 상기 데이터 워드의 적어도 하나의 블록을, 경계에 의해 분리되는 다수의 다중-비트 에러 정정 코드(ECC) 심볼에 의해서 정의되는 ECC 코드 워드로 맵핑하는 단계; 및
    (b) 상기 경계에 대한 비트 패턴의 상대적 위치에 기초하여 ECC 코드 워드에 발생되는 비트 패턴에 제약조건(constraint)을 부과하는 단계를 포함하는 것을 특징으로 하는 데이터 워드 인코딩 방법.
  2. 제 1항에 있어서,
    단계 (a)에서, 상기 각 ECC 심볼은 다수의 내부 비트 위치 및 다수의 외부 비트 위치를 포함하고, 상기 외부 위치는 상기 내부 위치보다 경계들 중 각 하나에 더 가까우며, 그리고
    단계 (b)에서, 상기 비트 패턴에 제약조건을 부과하는 단계는, 내부 비트 위치에서는 허용되지만 외부 비트 위치에서는 허용될 수 없는 선택된 비트 패턴을 방지하기 위하여 외부 비트 위치와 내부 비트 위치에 상이한 코드 제약조건을 부과하는 단계를 포함하는 것을 특징으로 하는 데이터 워드 인코딩 방법.
  3. 제 1항에 있어서,
    단계 (a)는
    (a)(1) 다중-비트 ECC 심볼 사이의 경계에 대응하는 데이터 코드 워드내의 비트 위치와 관련된 데이터 코드 워드내의 비트 패턴의 위치에 기초하여, 데이터 코드 워드에서 발생되는 비트 패턴에 제약조건을 부과하는 코드에 따라서 각 데이터 워드를 데이터 코드 워드로 인코딩하는 단계; 및
    (a)(2) 상기 데이터 워드의 적어도 하나의 블록을, ECC 심볼의 제 1 세트를 포함하는 상기 ECC 코드 워드의 데이터 필드로 맵핑하는 단계를 포함하는 것을 특징으로 하는 데이터 워드 인코딩 방법.
  4. 제 3항에 있어서,
    단계 (a)는
    (a)(3) 상기 ECC 심볼의 제 1 세트의 다항 함수로서, 경계에 의해 분리된 ECC 심볼의 제 2 세트를 생성하는 단계;
    (a)(4) 상기 ECC 심볼의 제 2 세트의 경계에 대한 비트 패턴의 상대적 위치에 기초하여 ECC 심볼의 제 2 세트에서 발생된 비트 패턴에 제약조건을 부과하는 단계; 및
    (a)(5) 상기 ECC 심볼의 제 2 세트를 상기 ECC 코드 워드의 ECC 필드로 맵핑하는 단계를 포함하는 것을 특징으로 하는 데이터 워드 인코딩 방법.
  5. 제 1항에 있어서,
    상기 비트 패턴은 제 1 및 제 2 이진 상태 사이의 3개의 연속적인 변환을 가지는 비트 패턴을 포함하고, 상기 변환중 2번째 변환은 경계중 하나에서 발생되는 것을 특징으로 하는 데이터 워드 인코딩 방법.
  6. 연속적인 데이터 워드를 각각의 연속적인 코드 워드로 인코딩하는 인코더로서,
    데이터 워드 입력;
    코드 워드 출력; 및
    제 1 코드에 따라서 상기 데이터 워드 입력으로 수신된 각 연속적인 데이터 워드를 상기 코드 워드 출력상의 각 연속적인 코드 워드로 맵핑하는 제 1 인코더 유니트를 포함하고,
    상기 제 1 코드는 다중-비트 에러 정정 코드(ECC) 심볼 사이의 각 코드 워드 경계를 식별하여, 상기 경계로부터 멀리 떨어진 각 코드 워드내의 비트 패턴과 상기 경계에 가까이 있는 각 코드 워드내의 비트 패턴에 상이한 코드 제약조건을 부과하는 것을 특징으로 하는 인코더.
  7. 제 6항에 있어서,
    상기 제 1 인코더 유니트로부터 연속적인 코드 워드를 수신하여, 상기 코드 워드의 적어도 하나의 블록을 ECC 코드 워드의 데이터 필드로 맵핑하고, 상기 데이터 필드 및 미리 결정된 ECC 다항 함수에 기초하여 상기 데이터 필드상으로 ECC 필드를 연결시키는 ECC 인코더를 더 포함하고,
    상기 ECC 코드 워드는 데이터 필드 및 ECC 필드내의 다수의 다중-비트 ECC 심볼에 의해 정의되는 것을 특징으로 하는 인코더.
  8. 제 7항에 있어서,
    제 2 코드에 따라서 상기 ECC 필드내의 각 ECC 심볼을 인코딩된 ECC 심볼로 맵핑하는 제 2 인코더 유니트를 포함하고,
    상기 제 2 코드는 ECC 필드내의 인코딩된 ECC 심볼 사이의 경계를 식별하여, 상기 ECC 필드내의 경계로부터 멀리 떨어진 비트 위치와 상기 ECC 필드내의 경계에 가까이 있는 비트 위치에 상이한 코드 제약조건을 부과하는 것을 특징으로 하는 인코더.
  9. 제 8항에 있어서,
    상기 제 1 및 제 2 코드는 선택된 비트 패턴이 ECC 코드 워드에서 발생되는 것을 방지하고,
    상기 선택된 비트 패턴은 제 1 및 제 2 이진 상태 사이의 3개의 연속적인 변환을 가지는 비트 패턴을 포함하고, 상기 변환중 2번째 변환은 ECC 코드 워드내의 ECC 심볼 경계중 하나에서 발생되는 것을 특징으로 하는 인코더.
  10. 디스크 드라이브 저장 채널로서,
    데이터 저장 디스크와 통신가능한 트랜스듀서; 및
    상기 트랜스듀서와 연결되어, 코드에 따라서 데이터를 다중-비트 ECC 심볼로 형성된 연속적인 ECC 코드 워드로 인코딩하고, 상기 ECC 코드 워드를 코드 워드 스트림으로서 트랜스듀서로 전송하는 인코딩 수단을 포함하고,
    상기 코드는 다중-비트 ECC 심볼 사이의 경계에 대한 비트 패턴의 상대적 위치에 기초하여 각 ECC 코드 워드내에 발생되는 비트 패턴에 제약조건을 부과하는 것을 특징으로 하는 디스크 드라이브 저장 채널.
  11. 디스크 드라이브 저장 채널로서,
    데이터 저장 디스크와 통신가능한 트랜스듀서; 및
    상기 트랜스듀서와 연결되어, 상기 트랜스듀서로부터의 판독 신호를 수신하고, 코드에 따라서 상기 판독 신호로서 표현되는 연속적인 ECC 코드 워드를 연속적인 데이터 워드로 디코딩하는 디코딩 수단을 포함하고,
    상기 각 ECC 코드 워드는 다수의 다중-비트 ECC 심볼을 포함하고, 상기 코드는 상기 다수의 다중-비트 ECC 심볼 사이의 경계에 대한 비트 패턴의 상대적 위치에 기초하여 각 ECC 코드 워드내의 비트 패턴에 제약조건을 부과하는 것을 특징으로 하는 디스크 드라이브 저장 채널.
KR1020027002595A 2000-06-27 2001-06-26 연결된 에러 정정 코드를 구비하는 자기 기록 채널에서비동일 보호를 가지는 인코딩 방법 및 장치 KR20020025239A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US21469900P 2000-06-27 2000-06-27
US60/214,699 2000-06-27
PCT/US2001/020311 WO2002001561A2 (en) 2000-06-27 2001-06-26 Method and apparatus for encoding with unequal protection in magnetic recording channels having concatenated error correction codes

Publications (1)

Publication Number Publication Date
KR20020025239A true KR20020025239A (ko) 2002-04-03

Family

ID=22800094

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027002595A KR20020025239A (ko) 2000-06-27 2001-06-26 연결된 에러 정정 코드를 구비하는 자기 기록 채널에서비동일 보호를 가지는 인코딩 방법 및 장치

Country Status (7)

Country Link
US (1) US6804805B2 (ko)
JP (1) JP2004502264A (ko)
KR (1) KR20020025239A (ko)
CN (1) CN1383617A (ko)
DE (1) DE10193104T1 (ko)
GB (1) GB2371960A (ko)
WO (1) WO2002001561A2 (ko)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116961A (ja) * 2000-10-11 2002-04-19 Nec Corp シリアル通信装置およびシリアル通信方法
US7024653B1 (en) * 2000-10-30 2006-04-04 Cypress Semiconductor Corporation Architecture for efficient implementation of serial data communication functions on a programmable logic device (PLD)
FR2837332A1 (fr) * 2002-03-15 2003-09-19 Thomson Licensing Sa Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants
JP2003318865A (ja) * 2002-04-26 2003-11-07 Fuji Xerox Co Ltd 信号伝送システム
DE10305008A1 (de) * 2003-02-07 2004-08-19 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung einer elektronischen Steuerung
US7174485B2 (en) 2003-11-21 2007-02-06 Seagate Technology Llc Reverse error correction coding with run length limited constraint
US6897793B1 (en) * 2004-04-29 2005-05-24 Silicon Image, Inc. Method and apparatus for run length limited TMDS-like encoding of data
US20060242530A1 (en) * 2005-03-31 2006-10-26 Nec Laboratories America, Inc. Method for constructing finite-length low density parity check codes
US7599396B2 (en) * 2005-07-11 2009-10-06 Magnalynx, Inc. Method of encoding and synchronizing a serial interface
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
CN103208309B (zh) 2006-05-12 2016-03-09 苹果公司 存储设备中的失真估计和消除
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) * 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) * 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8493783B2 (en) 2008-03-18 2013-07-23 Apple Inc. Memory device readout using multiple sense times
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) * 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
EP2338544A1 (en) * 2009-12-28 2011-06-29 F. Hoffmann-La Roche AG Ambulatory infusion device with variable energy storage testing and method for testing an energy storage
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8922923B2 (en) 2011-03-01 2014-12-30 Seagate Technology Llc Interleaved automatic gain control for asymmetric data signals
US20140223136A1 (en) * 2013-02-07 2014-08-07 Lsi Corporation Lookup Tables Utilizing Read Only Memory and Combinational Logic
US9270403B2 (en) 2014-02-03 2016-02-23 Valens Semiconductor Ltd. Indicating end of idle sequence by replacing expected code words while maintaining running disparity
US9594719B2 (en) 2014-02-03 2017-03-14 Valens Semiconductor Ltd. Seamless addition of high bandwidth lanes
US9270415B2 (en) 2014-02-03 2016-02-23 Valens Semiconductor Ltd. Encoding payloads according to data types while maintaining running disparity
US9270411B2 (en) 2014-02-03 2016-02-23 Valens Semiconductor Ltd. Indicating end of idle sequence by replacing certain code words with alternative code words
US20150222384A1 (en) 2014-02-03 2015-08-06 Valens Semiconductor Ltd. Changing receiver configuration by replacing certain idle words with bitwise complement words
US9401729B2 (en) 2014-02-03 2016-07-26 Valens Semiconductor Ltd. Maintaining running disparity while utilizing different line-codes
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3334810B2 (ja) * 1992-02-14 2002-10-15 ソニー株式会社 符号化方法、再生方法、および、再生装置
US5859601A (en) * 1996-04-05 1999-01-12 Regents Of The University Of Minnesota Method and apparatus for implementing maximum transition run codes
US6009549A (en) * 1997-05-15 1999-12-28 Cirrus Logic, Inc. Disk storage system employing error detection and correction of channel coded data, interpolated timing recovery, and retroactive/split-segment symbol synchronization
WO1999008376A1 (en) * 1997-08-11 1999-02-18 Seagate Technology, Inc. Static viterbi detector for channels utilizing a code having time varying constraints
SG87129A1 (en) * 1999-07-12 2002-03-19 Ibm Data encoding systems
US6505320B1 (en) * 2000-03-09 2003-01-07 Cirrus Logic, Incorporated Multiple-rate channel ENDEC in a commuted read/write channel for disk storage systems

Also Published As

Publication number Publication date
US6804805B2 (en) 2004-10-12
CN1383617A (zh) 2002-12-04
GB2371960A (en) 2002-08-07
GB0204744D0 (en) 2002-04-17
WO2002001561A2 (en) 2002-01-03
US20010056561A1 (en) 2001-12-27
WO2002001561A3 (en) 2002-05-23
DE10193104T1 (de) 2003-03-13
JP2004502264A (ja) 2004-01-22

Similar Documents

Publication Publication Date Title
US6804805B2 (en) Method and apparatus for encoding with unequal protection in magnetic recording channels having concatenated error correction codes
US6018304A (en) Method and apparatus for high-rate n/n+1 low-complexity modulation codes with adjustable codeword length and error control capability
US5757294A (en) Rate 24/25 modulation code for PRML recording channels
US6185173B1 (en) Sampled amplitude read channel employing a trellis sequence detector matched to a channel code constraint and a post processor for correcting errors in the detected binary sequence using the signal samples and an error syndrome
US6233289B1 (en) High rate trellis code for partial response channels
US6388587B1 (en) Partial response channel having combined MTR and parity constraints
US6104324A (en) Coding/decoding method for reproducing data in high density and reproducing data, and apparatus therefor
US7734993B2 (en) Method and apparatus for encoding and precoding digital data within modulation code constraints
JP4065357B2 (ja) 高密度データの記録/再生のための符号化/復号化方法
US5576707A (en) Method and apparatus for detecting and decoding data in a PRML class-IV digital communication channel
US6417788B1 (en) High rate runlength limited codes for 10-bit ECC symbols
US5949357A (en) Time-varying maximum-transition-run codes for data channels
KR100406806B1 (ko) 짧게 인터리브된 제한 조건을 갖는 효과적인 런 길이 제한코드
US5544178A (en) Method and apparatus for encoding data in a PRML class-IV digital communication channel
KR100426656B1 (ko) 24 비트 시퀀스의 데이터에 대한 인코딩 및 디코딩 기술
Thapar et al. On the performance of a rate 8/10 matched spectral null code for class-4 partial response
US6201485B1 (en) High rate runlength limited codes for 8-bit ECC symbols
US5933103A (en) RLL code generation method for data storage device and recoding method therefor
JP4551408B2 (ja) 入力ビット・シーケンスをエンコーディングするための方法及び装置、ストレージ・メディアから読み取られたビット・シーケンスをデコーディングするための方法及び装置
US20080115038A1 (en) Dynamic early termination of iterative decoding for turbo equalization
KR100450782B1 (ko) 고밀도 데이타 저장기기를 위한 피알엠엘 코드의 부호화 및복호화 방법
US6839004B2 (en) High rate run length limited code
KR20010022814A (ko) 효과적 블록 코드 수행을 하는 데이터 저장 시스템
US6985320B2 (en) Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system
US6317856B1 (en) Encoder and a method of encoding for partial response channels

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application