KR100552944B1 - 최대 전이 런 길이 코드 - Google Patents

최대 전이 런 길이 코드 Download PDF

Info

Publication number
KR100552944B1
KR100552944B1 KR1019997008983A KR19997008983A KR100552944B1 KR 100552944 B1 KR100552944 B1 KR 100552944B1 KR 1019997008983 A KR1019997008983 A KR 1019997008983A KR 19997008983 A KR19997008983 A KR 19997008983A KR 100552944 B1 KR100552944 B1 KR 100552944B1
Authority
KR
South Korea
Prior art keywords
bit positions
code
code word
words
bit
Prior art date
Application number
KR1019997008983A
Other languages
English (en)
Other versions
KR20010005906A (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 시게이트 테크놀로지 엘엘씨
Publication of KR20010005906A publication Critical patent/KR20010005906A/ko
Application granted granted Critical
Publication of KR100552944B1 publication Critical patent/KR100552944B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • 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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 연속적 데이터 워드(152)를 교번하는 코드 워드 길이(260, 262)를 가지는 연속적 코드 워드(153, 180, 181, 182)로 인코딩하는 인코더(150) 및 방법에 관한 것이다. 각각의 코드 워드(153, 180, 181, 182)는 다수의 비트 위치를 가진다. 제1 최대 전이 런 제약(M)이 비트 위치의 제1 세트에 부과되고, 각각의 제1 세트의 비트 위치는 서로 S(266) 비트 위치만큼 일정하게 배치된다. 제1 최대 전이 런 제약과 다른 제2 최대 전이 런 제약(N)이 비트 위치의 제2 세트에 부과되고, 제2 세트는 제1 세트에 있지않은 비트 위치를 포함한다. 상기 교번하는 코드 워드 길이(260, 262)와 S(266)의 값은 연속적 코드 워드(153, 180, 181, 182)의 대응하는 비트 위치가 동일한 최대 전이 런 제약을 가지도록 정의된다.

Description

최대 전이 런 길이 코드 {MAXIMUM TRANSITION RUN LENGTH CODE}
본 발명은 디지털 통신 시스템에 관한 것으로, 특히 디스크 드라이브의 인코딩 및 디코딩 시스템에 관한 것이다.
디지털 통신 시스템 분야에서, 디지털 정보는 채널을 통해 송신기로부터 수신기로 전송된다. "채널"은 다른 많은 매체들을 포함할 수 있는 일반화된 용어이다. 자기 디스크 드라이브와 같은 데이터 저장 장치에서, 채널은 저장 매체를 포함하며, 디지털 정보는 저장 매체로 전송되어 재생되어 수신기로 전송되기 전의 일정 시간 주기동안 저장된다.
전형적인 자기 디스크 드라이브는 허브 또는 스핀들상에서의 회전을 위해 마운팅되는 하나 이상의 강성 디스크를 포함한다. 각각의 디스크는 디스크의 표면과 통신하기 위해 하이드로다이내믹 베어링과 트랜스듀서로 형성된 관련 데이터 헤드를 가진다. 전기 기계식 액추에이터는 트랙 탐색 동작을 위해 디스크 표면 위로 방사상으로 데이터 헤드를 이동시키고 트랙 다음 동작을 위해 디스크 표면상의 요구된 트랙 위에 직접 트랜스듀서를 유지시킨다. 드라이브 제어기는 디스크로부터의 정보를 검색하고 디스크상에 정보를 저장하기 위해 호스트 시스템으로부터 수신된 명령에 기초하여 디스크 드라이브를 제어한다.
정보는 전형적으로 디스크 표면상의 동심 데이터 트랙에 저장된다. 트랜스듀서를 통해 흐르는 전류의 방향은 선택된 데이터 트랙내의 디스크의 표면상에 자속 반전을 인코딩하기 위해 제어된다. 비복귀제로인버스(NRZI) 코딩으로 알려진 한가지 형태의 코딩에서, 디지털 "1"은 데이터의 1비트 위치로부터 다음까지의 자속 반전에 의해 표현되며, 디지털 "0"은 1비트 위치로부터 다음까지의 자속 반전의 부재에 의해 표현된다.
디스크로부터의 데이터 검색에서, 디스크 제어기는 데이터 헤드가 요구된 데이터 트랙 위를 활강하고, 데이터 트랙에 저장된 자속 반전을 감지하며, 자속 반전에 기초하여 판독 신호를 발생하도록 전기 기계식 액추에이터를 제어한다. 판독 신호는 전형적으로 자속 반전에 의해 표현되는 데이터를 재생하기 위해 조절되어 드라이브 제어기에 의해 디코딩된다.
디스크 드라이브 저장 채널을 포함하는 모든 채널은 이들이 운반하는 신호내에 노이즈를 유발시킨다. 이런 채널 노이즈에 의해 초래된 신호 에러를 검출하고 때때로 교정하기 위해, 다수의 코딩 기술이 발전되어 왔다. 이런 코딩 기술은 다수의 데이터 비트로 형성된 데이터 워드를 다수의 코드 비트로 형성된 코드 워드로 변환시킨다. 코드 워드내의 부가적인 비트는 채널로부터 수신된 신호 에러의 검출 및 때때로 교정을 허용한다.
데이터 비트 수 대 코드 비트 수의 비율은 코드의 코드율로서 공지되어 있다. 일반적으로, 수신된 신호의 에러 검출 및 교정 능력은 더 낮은 코드율이 더 큰 코드 워드내의 부가적인 비트수를 의미하기 때문에 코드율이 감소할수록 증가한 다. 그러나, 인코더에 의해 부가되는 부가적인 비트는 채널을 통해 신호를 전송하는데 필요한 시간과 에너지를 증가시킨다. 그러므로, 코드를 전송하는데 필요한 시간과 에너지를 최소화시키기 위해, 코드율은 최소화되어야 한다.
검출 개념에 의존하여, 상기 코드는 코드 워드 패턴에 특정 제약을 부과한다. 예를 들면, 디스크 드라이브에서, 자기 매체를 회전시키는 스핀들 모터의 회전 속도는 시간에 따라 변화한다. 이것은 판독 신호 전압 펄스 사이의 불균일한 시간 간격을 초래한다. 위상 동기 루프(PLL)는 판독 타이밍 클록의 위상과 주파수를 판독 신호 전압 펄스의 위상과 주파수에 동기시키는데 사용된다. PLL이 규칙적으로 갱신되도록 하기 위해, 최대수 "k"보다 크지않도록 연속적인 0의 수를 제한하는 어떤 코드가 사용될 수 있다. 이런 종류의 코드는 "k" 제약을 갖는 런 길이 제한(RLL : run-length-limited) 코드로서 공지되어 있다. "k"의 값이 작아질수록 PLL 성능은 더 좋아진다. 그러나, "k"의 값이 작아질수록 상기 코딩이 수행되기가 더욱 어렵다.
또한 상기 코드는 전송된 신호의 연속적 전이가 서로 간섭할 때 발생하는 인터-심볼(inter-symbol) 효과를 제한하기 위해서, 인코딩된 값에서 연속하는 1의 갯수를 제한하는 것이 또한 공지되어 있다. 이러한 코드는 "L" 제약을 갖는 최대 전이 런(MTR : maximum transition run) 코드로 알려져 있으며, 여기서 L은 채널 영역에서 허용되는 연속 전이들의 최대 갯수이다. 예를 들면, 3 이상의 연속 전이들을 방지하기 위해서, MTR 제약 L=2를 갖는 코드가 설계될 수 있다. MTR 코드가 인터-심볼 간섭을 감소시킬 수 있더라도, 이들은 다수의 사용 가능한 워드들을 제거하여 높은 코드율로 MTR 제약을 실행하는 것을 어렵게 하거나 때로는 불가능하게 한다.
본 발명은 상기 문제점과 그외 다른 문제점을 해결하고자 하는 것이며 종래기술과 다른 이점을 제공한다.
본 발명의 일 실시예는 연속적 데이터 워드를 교번하는 코드 워드 길이를 가지는 연속적 코드 워드로 인코딩하는 인코더 및 인코딩 방법을 포함한다. 각각의 코드 워드는 다수의 비트 위치를 가진다. 제 1 최대 전이 런 제약이 제 1 세트의 비트 위치들에 부과된다. 비트 세트의 각각의 비트 위치는 서로 S 비트 위치만큼 이격되며, 여기에서 S는 1보다 큰 정수이다. 제 1 최대 전이 런 제약과 다른, 제 2 최대 전이 런 제약이 제 2 세트의 비트 위치들에 부과된다. 상기 제 2 세트는 제 1 세트에 있지 않는 비트 위치들을 포함한다. 교번하는 코드 워드 길이와 S의 값은 연속적 코드 워드들에서 대응하는 비트 위치들이 동일한 최대 전이 런 제약을 가지도록 규정된다.
본 발명의 다른 실시예들은 교번하는 코드 워드 길이와 상기 최대 전이 런 제약을 가지는 코드 워드 스트림을 디코딩하는 디코더 및 디코딩 방법을 포함한다.
도 1은 본 발명의 인코더와 디코더가 사용될 수 있는 디스크 드라이브의 평면도.
도 2는 본 발명의 인코더와 디코더가 사용될 수 있는 일반화된 통신 시스템 의 블록도.
도 3은 본 발명의 일실시예로 사용된 넘버링 및 명명 규칙을 보여주는 코드 워드 시스템의 조직적 레이아웃.
도 4는 본 발명의 일실시예에 따른 인코더의 블록도.
도 5는 본 발명의 일실시예에 따른 디코더의 블록도.
도 6은 본 발명의 일실시예에 따른 코드 워드 길이와 MTR 제약 변수를 보여주는 코드 워드 스트림의 조직적인 레이아웃,
도 1은 본 발명의 코딩 개념이 사용되는 디스크 드라이브(100)의 평면도이다. 디스크 드라이브(100)는 베이스 플레이트(102)와 상부 커버(104)(명료하게 나타내기 위해 상부 커버의 섹션이 제거된다)를 갖는 하우징을 포함한다. 디스크 드라이브(100)는 스핀들 모터(도시 안됨)가 장착되는 디스크 팩(106)을 더 포함한다. 디스크 팩(106)은 중심축에 대한 동시회전을 위해 장착되는 다수의 개별 디스크를 포함할 수 있다. 각각의 디스크 표면은 디스크 표면과 통신하기 위한 하나 이상의 판독 및 기록 트랜스듀서를 가지는 연관 헤드(112)를 구비한다. 각각의 헤드(112)는 차례로 액추에이터 어셈블리(122)의 트랙 액세싱 암(120)에 의해 지지되는 서스펜션(118)에 의해 지지된다.
액추에이터 어셈블리(122)는 내부 회로(128)내의 서보 제어 회로에 의해 제어되는 음성 코일 모터(124)에 의해 샤프트(126) 주위로 회전된다. 헤드(112)는 디스크 내경부(132)와 디스크 외경부(134) 사이의 아치형 경로(130)로 이동한다. 기록 동작동안, 액추에이터 어셈블리(122)는 헤드(112)를 요구된 데이터 트랙상에 배치시킨다. 내부 회로(128)내의 기록 회로는 저장될 데이터를 연속적 코드 워드로 인코딩하고 직렬 아날로그 기록 신호의 형태로 코드 워드를 디스크 표면상의 자기층내의 자속 반전을 인코딩하는 헤드(112)상의 기록 트랜스듀서로 전송한다. 판독 동작동안, 헤드(112)의 판독 트랜스듀서는 자속 반전을 감지하여 직렬 아날로그 판독 신호를 발생시킨다. 상기 아날로그 판독 신호는 재생된 데이터 신호를 생성하기 위해 내부 회로(128)내의 검출기와 디코더 회로로 제공되는 직렬 디지털 신호로 변환된다.
도 2는 예를 들어 디스크 드라이브(100)내에 제조될 수 있는, 본 발명의 일실시예에 따른 일반화된 통신 시스템(148)의 블록도이다. 통신 시스템(148)은 연속적인 데이터 워드(152)를 수신하고 연속적인 데이터 워드를 연속적인 코드 워드(153)로 인코딩하는 인코더(150)를 포함한다. 각각의 데이터 워드는 어떤 수의 심볼을 포함할 수 있다. 2진 체계에서, 예를 들어 각각의 심볼은 1 논리 데이터 비트를 표현한다. 디스크 드라이브 애플리케이션에서, 공통 데이터 워드 길이는 8비트이다. 이하에서 더욱 상세히 개시되는 바와 같이, 연속적인 데이터 워드는 교번하는 코드 워드 길이를 가지는 연속적인 코드 워드로 인코딩된다. 일 실시예에서, 연속적인 코드 워드(153)는 8비트 내지 10비트의 길이로 교번한다.
병렬-직렬 변환기(155)가 상기 연속적인 코드 워드(153)를 수신하고, 각각의 코드 워드를 직렬 표시로 변환시키며, 코드 워드 비트(154)의 직렬 스트림을 생성하기 위해 직렬 표시들을 연결시킨다. 인코더(150)에 의해 사용된 인코딩 개념은 아래에서 상세히 개시되는 바와 같이 직렬 코드 워드 스트림에 수개의 제약을 부과한다. 송신기/채널 프리코더(precoder)(156)가 상기 직렬 코드 워드 스트림(154)을 수신하고, 상기 워드 스트림이 채널로부터의 신호를 재생하는데 사용되는 검출기 형태에 대해 최적화되도록 시퀀스를 조절한다. 송신기/채널 프리코더(156)는 채널(160)에 제공되는 인코딩된 기록 신호(158)를 생성한다.
디스크 드라이브(100)에서, 채널(160)은 헤드(112)의 기록 트랜스듀서, 디스크 팩(106) 및 헤드(112)의 판독 트랜스듀서를 포함한다. 상기 인코딩된 기록 신호는 기록 트랜스듀서에 의해 디스크 표면에 저장된다. 판독 동작동안, 상기 판독 트랜스듀서는 디스크 표면으로부터 저장된 인코딩 정보를 판독하고 판독 신호(164)로서 수신기/검출기(162)로 인코딩 정보를 전송한다. 수신기/검출기(162)는 판독 신호(164)를 증폭하고 필터링하며, 다음에 수개의 공지된 검출 방법중 하나를 사용하여 판독 신호로부터 인코딩 정보를 재생한다. 예를 들면, 판독/검출기(162)는 비터비 검출기, 결정 귀환 균등화(DFE : Decision Feedback Equalization), 결정 귀환을 갖는 고정 지연 트리 서치(FDTS/DF : Fixed-Delay Tree Search with Decision Feedback) 또는 감소된 상태 시퀀스 검출(RSSE : Reduced State Sequence detection)을 사용할 수 있다. 채널(160)로부터의 신호를 검출하고 증폭한 후, 수신기/검출기(162)는 직렬-병렬 변환기(163)에 제공되는 회복된 코드 워드 비트 시퀀스(165)를 생성한다. 상기 코드 워드 비트 시퀀스(165)는 직렬-병렬 변환기(163)에 대한 입력에서 직렬 포맷 형태가 된다.
직렬-병렬 변환기(163)는 비트를 코드 워드로 그룹화시키고 코드 워드를 직렬 포맷으로부터 병렬 포맷으로 변환시키는데, 연속적으로 회복되는 코드 워드가 인코더(150)에 의해 발생된 코드 워드 길이에 대응하는 교번 코드 워드 길이를 가진다. 다음에 직렬-병렬 변환기(163)가 병렬 포맷의 연속적으로 회복된 코드 워드(166)를 디코더(168)로 출력한다. 디코더(168)는 인코더(150)에 의해 사용된 코딩 규칙의 역을 사용하고 연속적 코드 워드(166)를 개별 데이터 워드(170)로 변환시킨다.
인코더(150)는 코드 워드 스트림(153)의 비트 패턴에 수개의 제약을 부과시킨다. 디스크의 회전 속도가 시간에 따라 변화하기 때문에, 위상 동기 루프(PLL)가 판독 타이밍 클록의 위상과 주파수를 판독 신호(164)의 위상과 주파수에 동기시키는데 사용된다. PLL이 규칙적으로 갱신되도록, 인코더(150)는 최대수 "k"보다 크지않은 코드 워드 스트림(153)의 연속적인 0의 수를 제한하는 어떤 코드를 사용한다. 이런 종류의 코드는 "k" 제약을 갖는 런 길이 제한(RLL) 코드로서 공지되어 있다. 또한 인코더(150)는 채널 신호(158)의 연속적 전이가 서로 간섭할 때 발생하는 인터-심볼 효과를 제한하기 위해서 코드 워드 스트림(154)의 연속적 1의 수를 제한한다. 이런 코드는 "L" 제약을 갖는 최대 전이 런(MTR) 코드로 알려져 있으며, 여기서 L은 채널 신호(158)에서 허용되는 연속적 전이들의 최대수이다.
본 발명의 일 예에서, 인코더(150)는 7의 "k" 제약을 갖는 8/9 비율 위치 의존성 최대 전이 런(LDMTR : Location Dependent Maximum Transition Run) 코드를 사용한다. 상기 LDMTR 코드는 각각의 코드 워드내의 서로 다른 미리 결정된 위치에 대해 서로 다른 MTR 제약값을 부과한다. 예를 들면, 코드 워드 스트림(154)내의 짝수 비트 위치에서 시작하는 전이 런은 3의 MTR(LE=3)를 가질 수 있는 반면, 코드 워드 스트림(154)내의 홀수 비트 위치에서 시작하는 전이 런은 2의 MTR(LO=2)를 가질 수 있다. 상기 8/9 비율 LDMTR 코드는 8비트 데이터 워드를 8비트 코드 워드와 10비트 코드 워드로 교번적으로 인코딩함으로써 얻어진다. 교번하는 코드 워드 길이(예를 들면 8과 10)가 둘다 짝수이기 때문에, 연속적 코드 워드의 대응하는 비트 위치는 동일한 MTR 제약을 가진다. 이것은 인코더(150)가 낮은 복잡성 코드로 인접한 코드 워드 사이의 경계에 걸쳐 미리 정의된 MTR 제약을 효율적으로 실행하도록 한다.
도 3은 상기 예에서 도 2의 코드 워드 스트림(154 또는 165)으로서 나타낼 수 있는 코드 워드 스트림(178)에 대한 조직적인 레이아웃을 도시한다. 코드 워드 스트림(178)은 3개의 상호연결된 코드 워드(180, 181 및 182)로 형성된다. 코드 워드(180과 182)는 8비트의 코드 워드 길이를 가지며, 코드 워드(181)는 10비트의 코드 워드 길이를 가진다. 시간상 제1 비트는 스트림(178)의 가장 왼쪽에 있고, 시간상 최후 비트는 오른쪽으로 연장된다. 라인(184)은 개별 코드 워드내의 전체 위치에 기초하여 코드 워드(180-182)의 각 비트에 대해 정수를 할당한다. 이런 넘버링 체계하에서, 각 코드 워드의 제1 비트가 최상위 비트(most significant bit)이고 코드 워드(180과 182)에 대해 비트 7로서 넘버링되고 코드 워드(181)에 대해 비트 9로서 넘버링된다. 각 코드 워드의 최종 비트는 최하위 비트(least significant bit)이고 비트 제로로서 넘버링된다. 라인(186)은 전체 코드 워드 스트림(178)내의 임시 위치에 기초하여 코드 워드(180-182)의 각 비트에 대해 정수를 할당한다.
짝수/홀수 라인(188)은 라인(186) 위에 놓이고 코드 워드 스트림(178)의 각 짝수 비트에 대해 "E" 표시를 제공하고 코드 워드 스트림(178)의 각 홀수 비트에 대해 "O" 표시를 제공한다. 상기 "E"와 "O" 표시는 코드 워드 스트림(178)에서 그것의 개별 비트로 수직적으로 정렬된다. MTR 라인(188)은 코드 워드(180-182)의 각 비트 위치에 대한 MTR 제약을 표시한다. 코드 워드 스트림(178)의 각 짝수 비트 위치는 3의 MTR 제약을 가지며, 코드 스트림(178)의 각 홀수 비트 위치는 2의 MTR 제약을 가진다. 코드 워드(180-182)의 교번하는 코드 워드 길이가 둘다 짝수이기 때문에, 동일한 MTR 제약을 가진다. 이것은 모든 MTR 제약이 상기 스트림의 개별 코드 워드 사이의 경계에 있는 전체 코드 스트림(178)에서 만족될 수 있다는 것을 보장한다.
인코더(150)는 개별 코드 워드로 각각의 데이터 워드를 맵핑하기 위해 상태 유도 코드표를 사용함으로써 코드 워드를 발생시킨다. 상기 상태 유도 코드표는 예를 들어 LE=3과 LO=2의 MTR 제약을 만족시키는 모든 8비트와 10비트 패턴을 수집함으로써 형성된다. 상기 제약을 만족시키는 178개의 8비트 패턴과 634개의 10비트 패턴이 있다.
상기 제약을 만족시키는 8비트 패턴은 2개 상태, 즉 S0 및 S1로 분할되며, 상기 제약을 만족시키는 10비트 패턴은 4개 상태, 즉 S2, S3, S4 및 S5로 분할된다. 표 1은 상기 패턴을 개별 상태로 분할하기 위해 사용되는 기준을 도시하는데, 여기에서 "X"는 "1" 또는 "0"의 2진값을 가지는 비트 위치를 표시한다.
상 태 코드 패턴
S0 1XXXXXXX
S1 0XXXXXXX
S2 11XXXXXXXX 1011XXXXXX 0111XXXXXX
S3 100XXXXXXX 1010XXXXXX
S4 010XXXXXXX 0110XXXXXX
S5 00XXXXXXXX
상태 S0와 S1의 8비트 패턴에 대해, 최상위 비트 위치에 있는 "1"를 가지는 패턴들은 상태 S0로 그룹화된다. 최상위 비트 위치에 있는 "0"를 가지는 패턴들은 상태 S1로 그룹화된다. 상태 S2, S3, S4 및 S5에 있는 10비트 패턴에 대해, "11", "1011" 또는 "0111"로 시작하는 패턴들은 상태 S2로 그룹화된다. "100" 또는 "0111"로 시작하는 패턴들은 상태 S3로 그룹화된다. "010" 또는 "0110"으로 시작하는 패턴들은 상태 S4로 그룹화된다. "00"으로 시작하는 패턴들은 상태 S5로 그룹화된다.
상태 S0 및 S1의 유효 8비트 패턴이 표 2a와 2b에 각각 16진법 형태로 도시되어 있다.
Figure 111999012222739-pct00001
Figure 111999012222739-pct00002
상태 S2-S5의 유효 10비트 패턴이 표 3a-3d에 각각 16진법 형태로 도시되어 있다.
Figure 111999012222739-pct00003
Figure 111999012222739-pct00004
Figure 111999012222739-pct00005
Figure 111999012222739-pct00006
8비트 코드 워드의 상태 S0 또는 S1이 하나의 최상위 비트에 의해 유일하게 결정되고, 10비트 코드 워드의 상태 S2, S3, S4 또는 S5가 4개의 최상위 비트들에 의해 유일하게 결정되기 때문에, 7 비트 미만의 오류 이벤트들(error events)은 기껏해야 2개의 데이터 워드의 디코딩 에러를 발생시킬 것이다. 8 내지 15 비트의 오류 이벤트들은 아무리 나빠도 3개의 데이터 워드의 디코딩 에러를 발생시킬 것이다.
연속적 코드 워드가 서로와 상호결합될 때 무효한 패턴이 경계에서 발생하지않도록 LE=3과 LO=2의 제약을 실시하기 위해, 각각의 코드 워드는 상태 S0와 S1가 항상 상태 S2, S3, S4 또는 S5의 10비트 코드 워드를 가리키고 상태 S2, S3, S4 또는 S5의 10비트 코드 워드가 항상 상태 S0 또는 S1의 8비트 코드 워드를 가리키도록 다음 상태 지시자와 연관된다. 상기 인코딩 프로세스는 8비트 코드 워드 또는 10비트 코드 워드중 하나로 시작할 수 있다.
표 4는 상태 S0-S5의 각 코드 패턴에 대한 유효한 다음 상태 지시자를 도시하는데, 여기에서 "X"="0" 또는 "1"이다.
현재 상태 코드 상태 다음 상태
S0, S1 XXXXXXX0 S2, S3, S4, S5
XXXXXX01 S2, S3, S4, S5
XXXXXX11 S4, S5
S2, S3, S4, S5 XXXXXXXXX0 S0, S1
XXXXXXXX01 S0, S1
SSSSSSSS11 S1
비트 위치 9876543210
"최하위" 비트 위치[0]에서 "0" 또는 비트 위치 [1:0]에서 "01"로 끝나는 상태 S0와 S1의 코드 패턴은 이들의 다음 상태로서 S2, S3, S4 및 S5를 가질 수 있다. 비트 위치[1:0]에서 "11"로 끝나는 S0와 S1의 코드 패턴은 이들의 다음 상태로서 단지 상태 S4와 S5를 가진다. 이것은 표 1에서 상태 S4와 S5에 대한 코드 패턴으로 도시된 바와 같이 코드 스트림의 다음 연속적 코드 워드의 제1 비트가 "0"이 된다는 것을 보장함으로써 비트 위치[1]에 대해 LO=2의 MTR 제약을 실시한다. 3개의 "1"은 비트 위치[1]에서 시작하는 상태 S0와 S1으로부터 상태 S4와 S5까지의 경계에서 불가능하다.
유사하게, 비트 위치[0]에서 "0" 또는 비트 위치[1:0]에서 "01"로 끝나는 상태 S2, S3, S4 및 S5의 코드 패턴은 이들의 다음 상태로서 상태 S0 또는 S1를 가질 수 있다. 비트 위치[1:0]에서 "11"로 끝나는 상태 S2, S3, S4 및 S5의 코드 패턴은 이들의 다음 상태로서 단지 상태 S1를 가질 수 있다.
이런 상태 정의를 사용하여, LE=3과 LO=2의 위치 의존성 MTR 및 7의 "k" 제약을 갖는 8/9 비율 코드를 위한 맵핑이 유도될 수 있다. 표 5a-h은 위에서 제공된 보기의 각각의 상태 S0-S5에 대해 대응하는 코드 워드와 다음 상태값으로 각각의 데이터 워드를 맵핑하는 상태도이다. 상기 8비트 코드 워드는 2개의 16진법 값에 의해 표현되고 10비트 코드 워드는 3개의 16진법 값으로 표현된다. 상기 데이터 워드는 열로 표시된 "DATA"로 제공되고, 대응하는 코드 워드는 열로 표시된 "CODE"로 제공되며, 대응하는 다음 상태는 열로 표시된 "NXS"로 제공된다.
Figure 111999012222739-pct00007
Figure 111999012222739-pct00008
Figure 111999012222739-pct00009
Figure 111999012222739-pct00010
Figure 111999012222739-pct00011
Figure 111999012222739-pct00012
Figure 111999012222739-pct00013
Figure 111999012222739-pct00014
표 5a-h에 도시된 상태도를 통한 디코딩 시퀀스의 보기는 도 3에 도시된 코드 워드 스트림을 참조로 설명될 수 있다. 16진법의 라인9200)은 코드 워드 스트림(178)의 코드 워드(180, 181 및 182)에 대해 16진법 표현 "81", "34A" 및 "D8"을 각각 제공한다. 상태 라인(202)은 개별 코드 워드가 디코딩될 때 디코더(168)의 현재 상태를 지시한다. 데이터 라인(204)은 코드 워드(180과 181)에 대한 16진법 형태의 대응하는 디코딩된 데이터 워드를 지시한다. "81"의 16진법 값을 가지는 코드 워드(180)가 디코더(168)에 인가될 때, 디코더(168)는 상태 S0에 있다. 표 5의 상부 왼쪽 코너를 살펴보면, "81"의 16진법 값에 대한 대응하는 데이터 워드는 다음 상태 지시자의 값에 의존하여 "00", "40", "80" 또는 "C0"가 된다. 이런 보기에서, 다음 상태 지시자는 상태 S2(코드 워드 181에 대한)를 지시하며, 그래서 대응하는 데이터 워드는 "00"가 된다. 코드 워드 181은 "34A"의 16진법 값을 가진다. 상태 S2에 대응하는 열에서, 코드 "34A"는 다음 상태지시자가 상태 S0 또는 S1인지의 여부에 따라 데이터 워드 "D5" 또는 데이터 워드 "DD"에 대응한다. 이런 보기에서, 다음 상태 지시자는 상태 S0를 지시하고, 그래서 대응하는 데이터 워드는 "D5"가 된다. 이런 연산은 각각의 연속적 코드 워드에 대해 지속된다. 상기 연산의 역은 데이터 워드를 인코딩하는 인코더(150)에 의해 사용된다.
8비트 데이터 워드를 8비트 또는 10비트 코드 워드로 맵핑하기 위해, 단지 코드 워드 패턴과 다음 상태값의 28 또는 256 단일 조합이 상태 S0-S5에 대해 요구된다. 각각의 상태가 256 조합보다 많기 때문에, 바람직하지않은 코드 워드 패턴 또는 작은 유클리드 거리를 갖는 긴 런 패턴은 상기 상태로부터 이들을 규칙적으로 제거함으로써 방지될 수 있다. 예를 들면, "k"보다 더 큰 0의 긴 런을 발생할 수 있는 모든 코드 워드 패턴 조합이 제거될 수 있다. 표 5a-h에 제공된 보기에서, 충분한 패턴이 "k" 제약을 7까지 감소시키기 위해 제거되었지만, 여전히 각각의 상태에서 적어도 256 조합을 유지하고 있다. 부가적으로, 디코더가 긴 메모리 길이를 유지하도록 할 수 있는 의사 캐터스트라픽 시퀀스로서 공지되어 있는 "110110.."의 긴 런을 발생시킬 수 있는 모든 코드 워드 패턴이 제거된다.
도 4는 상기 보기에서 연속적 데이터 워드를 8비트와 10비트의 교번하는 코드 워드 길이를 가지는 연속적 코드 워드로 인코딩하는 인코더(150)를 보여주는 블록도이다. 인코더(150)는 8비트 인코더(220)와 10비트 인코더(221)를 포함한다. 8비트 인코더(220)는 버스(222)에 결합되는 8비트 데이터 워드 입력 A[7:0], 버스(223)에 결합되는 8비트 코드 워드 출력 Y[7:0], 버스(224와 225)에 결합되는 다음 상태 지시자 출력(S0와 S1), 및 버스(226-229)에 결합되는 다음 상태 지시자 출력(S2-S5)을 포함한다. 10비트 인코더(221)는 버스(230)에 결합되는 8비트 데이터 워드 입력 B[7:0], 버스(232)에 결합되는 10비트 코드 워드 출력 Z[9:0], 버스(226-229)에 결합되는 다음 상태 지시자 입력(S2-S5), 및 버스(224와 225)에 결합되는 다음 상태 지시자 출력(S0와 S1)을 포함한다. 입력 데이터 워드는 데이터 워드 입력 A[7:0]와 B[7:0]에서 시간-다중화되며, 코드 워드 출력 Y[7:0]와 Z[9:0]에서 발생된 대응하는 코드 워드는 병렬-직렬 변환기(155)(도 2에 도시된)에서 시간-다중화된다.
표 5a-h에 도시된 상태도를 수행하는 8비트 인코더(220)와 10비트 인코더(221)의 동작은 부울 대수로 표현될 수 있고, 하드웨어 또는 소프트웨어중 하나로 수행된다. 상기 8비트 인코더(220)와 10비트 인코더(221)에 대한 부울 식은 아래의 표 6a와 6ba-bb로 제공되는데, 여기에서 "|"은 비트단위의 논리 OR를 나타내고, "&"는 비트단위의 논리 AND를 나타내고, "^"는 비트단위의 논리 배타적 OR를 나타내며, "
Figure 112005036833776-pct00015
"는 X의 역을 나타낸다.
Figure 111999012222739-pct00016
Figure 111999012222739-pct00017
Figure 111999012222739-pct00018
도 5는 상기 보기에서 8비트와 10비트의 교번하는 코드 워드 길이를 가지는 연속적 코드 워드를 8비트를 가지는 연속적 데이터 워드로 디코딩하는 디코더(168)를 도시하는 블록도이다. 디코더(168)는 8비트 디코더(240)와 10비트 디코더(241)를 포함한다. 8비트 디코더(240)는 버스(242)에 결합되는 8비트 코드 워드 입력 Y[7:0], 버스(243)에 결합되는 8비트 코드 워드 출력 A[7:0], 버스(244)에 결합되는 무효한 코드 워드 지시자 출력 FA, 버스(245-248)에 결합되는 다음 상태 지시자 입력 S2-S5, 및 버스(249와 250)에 결합되는 다음 상태 지시자 출력(S0-S1)을 포함한다. 10비트 디코더(241)는 버스(251)에 결합되는 10비트 코드 워드 입력 Z[9:0], 버스(252)에 결합되는 8비트 코드 워드 출력 B[7:0], 버스(253)에 결합되는 무효한 코드 워드 지시자 출력 FB, 버스(249와 250)에 결합되는 다음 상태 지시자 입력 S0-S1), 및 버스(245-248)에 결합되는 다음 상태 지시자 출력(S2-S5)을 포함한다. 입력 코드 워드는 직렬-병렬 변환기(163)(도 2에 도시된)로부터 코드 워드 입력 Y[7:0]와 Z[9:0]에서 시간-다중화되며, 대응하는 디코딩 데이터 워드는 데이터 워드 출력 A[7:0]와 B[7;0]에서 시간-다중화된다.
8비트 디코더(240)와 10비트 디코더(241)의 부울 식은 아래의 표 7aa-ab와 7ba-bc로 제공된다.
Figure 111999012222739-pct00019
Figure 111999012222739-pct00020
Figure 111999012222739-pct00021
Figure 111999012222739-pct00022
Figure 111999012222739-pct00023
본 발명의 코딩 구조는 개별 코드 워드내의 다른 미리 정의된 위치에서 시작하는 다양한 교번하는 코드 워드 길이와 다양한 MTR 제약을 가지는 코드 워드를 발생시키는 상기 보기로 설명될 수 있다. 그러나, 연속적 코드 워드의 대응하는 비트 위치가 동일한 MTR 제약을 가지고 코드워드가 코드 워드 스트림을 형성하기 위해 서로 상호결합될 때 모든 MTR 제약이 만족되도록 교번하는 코드 워드 길이와 MTR 위치 의존성이 정의될 수 있다는 것이 중요하다.
이런 전개는 코드 워드 길이 변수 "Y"와 "Z", MTR 변수 "M"과 "N", 및 MTR 위치 의존성 변수 "S"를 포함하는 변수에 의해 정의된다. 상기 변수들은 코드 워드 스트림(178)을 참조하여 도 6에 도시되어 있다. 다시, 비트 위치 라인(184)은 코드 워드 스트림(178) 위에 도시된다. 코드 워드(180-182)는 각각 "Y" 비트 위치(260)와 "Z" 비트 위치(262)의 교번하는 제1 및 제2 코드 워드 길이를 가진다. 도 6에 도시된 보기에서, 코드 워드(180과 182)에 대해 Y=8, 코드 워드(181)에 대해 Z=10이다. 인코더(150)는 MTR 제약 라인(264)에 의해 도시된 바와 같이 Y와 Z 비트 위치의 제1 세트상에 제1 MTR 제약을 부과한다. 상기 제1 세트의 각각의 비트 위치는 서로로부터 "S" 비트 위치(266으로 표시됨)만큼 배치된다. 도 6에서, S=2이다. 그러므로, 코드 워드(180과 182)의 비트 위치 "7", "5", "3" 및 "1"는 각각 M의 MTR 제약을 가지고, 서로로부터 2 비트 위치들(예를 들면, 7-5=2)만큼 배치된다. 마찬가지로, 코드 워드(181)의 비트 위치 "9", "7", "5", "3" 및 "1"은 각각 M의 MTR 제약을 가지고 서로로부터 2 비트 위치들만큼 배치된다. 상기 코드 워드 길이 변수 Y(260)와 Z(262)는 바람직하게 MTR 위치 의존성 변수 S(266)로 균일하게 나눠진다. 도시된 보기에서, Y=8이고 Z=10이며, 둘다 S로 균일하게 나눠지고, 2와 동일하다. 상기 인코더는 "M"과 다른 "N"의 제2 MTR 제약을 Y와 Z 비트 위치의 제2 세트에 부과한다. 상기 제2 세트는 제1 세트에 있지 않는 각각의 Y와 Z 비트 위치를 포함한다. 예를 들면, M은 2와 동일할 수 있고 N은 3과 동일할 수 있다.
다른 실시예에서, 상기 MTR 위치 의존성 변수 S는 3과 동일하다. 그러므로, 모든 제3 비트 위치는 M의 MTR 제약을 가지며, 모든 나머지 비트 위치는 N의 MTR 제약을 가진다. 8비트 데이터 워드에 대해, 가능한 교번하는 코드 워드 길이는 이러한 길이가 3으로 균등하게 나눠질 수 있기 때문에 예를 들어 9와 12를 포함한다.
요약하면, 본 발명은 채널(160)을 통한 전송을 위해 연속적 데이터 워드(152)를 인코딩하는 인코더(150)와 인코딩 방법을 제공한다. 상기 연속적 데이터 워드(152)는 교번하는 코드 워드 길이 Y(260)와 Z(262)를 가지는 연속적 코드 워드(153, 180, 181, 182)로 인코딩된다. 각각의 코드 워드는 Y[7:0]과 Z[9:0]과 같은 다수의 비트 위치를 가진다. M의 제1 MTR 제약이 비트 위치의 제1 세트에 부과되고, 여기에서 상기 제1 세트의 각각의 비트 위치는 서로로부터 S(266) 비트 위치만큼 배치된다. S는 1보다 큰 정수이다. 제1 MTR 제약과 다른 N의 제2 MTR 제약이 비트 위치의 제2 세트에 부과되고, 여기에서 상기 제2 세트는 제1 세트에 있지않은 각각의 비트 위치를 포함한다. 교번하는 코드 워드 길이(Y와 Z) 및 S의 값은 연속적 코드 워드의 대응하는 비트 위치가 동일한 최대 전이 런 제약을 가지도록 정의된다.
본 발명의 일 실시예에서, 상기 인코딩 방법은 교번하는 코드 워드 길이(Y와 Z)가 S로 균일하게 나눠지도록 이들을 정의하는 단계를 포함한다. 예를 들면, 상기 방법은 비트 위치의 제1 세트가 다수의 비트 위치중 모든 다른 위치를 포함하도록 S=2로 정의할 수 있다. 도 3의 라인(190)으로 도시된 바와 같이, 3의 최대 전이 런 제약이 모든 짝수 비트 위치와 같은 비트 위치의 제1 세트에 부과되며, 2의 최대 전이 런 제약이 모든 홀수 비트 위치와 같은 비트 위치의 제2 세트에 부과된다. 연속적 데이터 워드(152)는 8비트 코드 워드(180와 182)및 10비트 코드 워드(181)로 교번적으로 인코딩된다.
본 발명의 일 실시예에서, 각각의 코드 워드(153, 180-182)는 2진 "1" 및 "0"과 같은 일련의 코드 심볼로 형성되고, 인코딩 방법은 직렬 코드 워드 스트림(178)을 형성하기 위해 연속적 코드 워드를 서로 상호 연결하는 단계를 더 포함한다. 이상적 코드 심볼을 가지는 직렬 코드 스트림(178)의 연속적인 비트 위치의 수는 최대 7로 제한된다.
본 발명의 다른 실시예는 데이터 워드(152)를 개별 코드 워드(153, 180-182)로 인코딩하기 위한 인코더(150)에 관련된다. 인코더(150)는 데이터 워드(152)를 수신하기 위한 데이터 워드 입력 A[7:0]와 B[7:0], 코드 워드 출력 Y[7:0]와 Z[9:0], 및 상태 머신(220, 221)을 포함한다. 상기 상태 머신은 데이터 워드 입력 A[7:0]와 B[7:0]에 수신된 연속적 데이터 워드(152)를 코드 워드 출력 Y[7:0]와 Z[9:0]상의 교번하는 코드 워드 길이 Y와 Z를 가지는 코드 워드(153, 180-182)로 인코딩하는 상태 시퀀스를 포함한다. 각각의 코드 워드(153, 180-182)는 다수의 비트 위치를 가진다. 상기 상태 시퀀스는 다수의 비트 위치의 제1 세트에 M의 제1 MTR 제약을 부가하도록 배열된다. 상기 제1 세트의 각 비트 위치는 서로로부터 S 비트 위치만큼 배치되는데, 여기에서 S는 1보다 큰 정수이다. 상기 상태 시퀀스는 제1 MTR 제약과 다른 N의 제2 MTR 제약을 제1 세트에 있지않은 각각의 비트 위치를 포함하는 다수의 비트 위치의 제2 세트에 부과하도록 배열된다. 상기 교번하는 코드 워드 길이 Y와 Z 및 S의 값은 연속적 코드 워드(153, 180-181)의 대응하는 비트 위치가 동일한 MTR 제약을 가지도록 상태 머신에 의해 정의된다.
본 발명의 또다른 실시예는 코드 워드 입력(166, 242, 251), 데이터 워드 출력(170, 243, 252) 및 상태 머신(240, 241)을 가지는 디코더(168)에 관련한다. 상기 상태 머신(240, 241)은 연속적 코드 워드를 고정된 데이터 워드 길이를 가지는 연속적 데이터 워드로 디코딩하도록 배열되는 상태 시퀀스를 가진다. 상기 연속적 코드 워드는 교번하는 코드 워드 길이(260과 262)를 가지고, 각각의 연속적 코드 워드는 다수의 비트 위치를 가진다. 각각의 코드 워드는 다수의 비트 위치의 제1 세트에 대한 제1 최대 전이 런 제약 M을 가진다. 상기 제1 세트내의 각 비트 위치는 서로로부터 S비트 위치만큼 배치되며, 여기에서 S는 1보다 큰 정수이다. 각각의 코드 워드는 제1 최대 전이 런 제약과 다르고 제1 세트에 있지않은 비트 위치를 포함하는 다수의 비트 위치의 제2 세트에 대해 제2 최대 전이 런 제약 N을 가진다. 상기 교번하는 코드 워드 길이와 S값은 연속적 코드 워드의 대응하는 비트 위치가 동일한 최대 전이 런 제약을 가지도록 정의된다. 상기 상태 시퀀스는 데이터 워드 출력(170, 243, 252)에 연속적 데이터 워드를 인가하도록 배열된다.
본 발명의 또다른 실시예는 저장 채널로부터 수신된 코드 워드 스트림(166)을 디코딩하는 방법에 관련한다. 상기 코드 워드 스트림(166)으로부터의 연속적 코드 워드는 고정된 데이터 워드 길이를 가지는 데이터 워드(170, 243, 252)로 디코딩된다. 상기 연속적 코드 워드는 서로 구별되는 교번하는 제1 및 제2 코드 워드 길이(260과 262)를 가진다. 각각의 코드 워드는 다수의 비트 위치를 가진다. 제1 최대 전이 런 제약 M이 비트 위치의 제1 세트에 인가된다. 상기 제1 세트의 각 비트 위치는 서로로부터 S비트 위치만큼 배치된다. S는 1보다 큰 정수이다. 제1 최대 전이 런 제약 M과 다른 제2 최대 전이 런 제약 N이 비트 위치의 제2 세트에 인가되며, 여기에서 상기 제2 세트는 상기 제1 세트에 있지않은 비트 위치를 포함한다. 상기 교번하는 코드 워드 길이(260와 262)와 관련한 S값은 연속적 코드 워드의 대응하는 비트 위치가 동일한 최대 전이 런 제약을 가지도록 정의된다.
본 발명의 또다른 실시예에서, 디스크 드라이브 저장 채널(148)이 제공되는데, 데이터 저장 디스크(106)와 통신할 수 있는 트랜스듀서(112) 및 데이터 워드(152)를 제1 코드 워드 길이 Y와 제2 코드 워드 길이 Z 사이에서 연속적으로 교번하고 이미 기술된 제약을 부과하기 위한 코드 워드(153, 180-182)로 인코딩하기 위한 수단을 포함한다.
이상의 상세한 설명에서 본 발명의 다양한 실시예들의 상세한 구조와 기능을 포함하여 본 발명의 다양한 실시예들의 많은 특징과 장점에 대해 개시하였으나, 이러한 개시 사항들은 단지 설명을 위한 것이며, 변형들이 세부적으로, 특히 청구범위에 의해 표현된 용어들의 넓은 일반적 의미들에 의해 지시되는 본 발명의 최대 범위에 따른 원리 내에서 구조 및 구성 성분의 배치에서 가능할 수 있다. 예를들어, 본 발명의 범위 및 사상을 벗어 나지 않으면서 실질적으로 동일한 기능을 수행하는 코딩 방법 및 장치에 대한 특정 응용에 따라 본 발명의 특정 성분들이 변화될 수 있다. 또한, 위에서 설명한 바람직한 실시예가 디스크 드라이브용 코딩 시스템에 관한 것이었으나, 당업자에게는 위성 통신 또는 셀룰러 폰 시스템과 같은 다른 시스템에도 본 발명의 범위 및 사상을 벗어나지 않으면서 적용할 수 있다는 사실이 이해 될 수 있을 것이다.

Claims (16)

  1. 채널을 통한 전송을 위해 연속적 데이터 워드들을 인코딩하는 방법으로서,
    (a) 연속적 데이터 워드들을 교번하는 코드 워드 길이들을 갖는 연속적 코드 워드들로 인코딩하는 단계 - 각각의 코드 워드는 다수의 비트 위치들을 가짐 -;
    (b) 제 1 세트의 상기 비트 위치들에 제 1 최대 전이 런 제약을 부과하는 단계 - 상기 제 1 세트의 각각의 비트 위치는 S 비트 위치들만큼 서로 이격되어 있고, 여기서 S는 1보다 더 큰 정수임 -;
    (c) 제 2 세트의 상기 비트 위치들에 상기 제 1 최대 전이 런 제약과 다른 제 2 최대 전이 런 제약을 부과하는 단계 - 상기 제 2 세트는 상기 제 1 세트에 있지 않는 상기 비트 위치들을 각각 포함함 -; 및
    (d) 상기 연속적 코드 워드들에서 대응하는 비트 위치들이 동일한 최대 전이 런 제약을 가지도록 상기 교번하는 코드 워드 길이들 및 상기 S의 값을 규정하는 단계
    를 포함하는 데이터 워드들의 인코딩 방법.
  2. 제 1 항에 있어서, 상기 규정하는 단계 (d)는 상기 교번하는 코드 워드 길이들이 균등하게 S로 나눠질 수 있도록 상기 교번하는 코드 워드 길이들 및 상기 S의 값을 규정하는 단계를 포함하는 것을 특징으로 하는 데이터 워드들의 인코딩 방법.
  3. 제 1 항에 있어서, 상기 제 1 세트의 비트 위치들이 상기 다수의 비트 위치들 중 모든 다른 비트 위치를 포함하도록 S=2로 정의하는 단계 (e)를 더 포함하고, 상기 부과하는 단계 (b)는 상기 제 1 세트의 비트 위치들에 3의 최대 전이 런 제약을 부과하는 단계를 포함하며, 상기 부과하는 단계 (c)는 상기 제 2 세트의 비트 위치들에 2의 최대 전이 런 제약을 부과하는 단계를 포함하는 것을 특징으로 하는 데이터 워드들의 인코딩 방법.
  4. 제 3 항에 있어서, 상기 다수의 비트 위치들은 짝수 비트 위치들과 홀수 비트 위치들을 포함하고, 상기 부과하는 단계 (b)는 상기 짝수 비트 위치들에 3의 최대 전이 런 제약을 부과하는 단계를 포함하며, 상기 부과하는 단계 (c)는 상기 홀수 비트 위치들에 2의 최대 전이 런 제약을 부과하는 단계를 포함하는 것을 특징으로 하는 데이터 워드들의 인코딩 방법.
  5. 제 1 항에 있어서, 각각의 상기 데이터 워드는 8비트 위치들을 가지고, 상기 인코딩하는 단계 (a)는 상기 연속적 데이터 워드들을 8비트 코드 워드들과 10비트 코드 워드들로 교번으로 인코딩하는 단계를 포함하는 것을 특징으로 하는 데이터 워드들의 인코딩 방법.
  6. 제 1 항에 있어서, 각각의 상기 코드 워드는 일련의 코드 심볼들로 형성되며, 상기 데이터 워드들의 인코딩 방법은,
    (e) 직렬 코드 워드 스트림을 형성하기 위해 상기 연속적 코드 워드들을 서로 연결시키는 단계; 및
    (f) 동일한 코드 심볼들을 가지는 상기 직렬 코드 스트림에서 상기 연속적 비트 위치들의 수를 최대 7로 제한하는 단계를 포함하는 것을 특징으로 하는 데이터 워드들의 인코딩 방법.
  7. 데이터 워드들을 각각의 코드 워드들로 인코딩하기 위한 인코더로서,
    데이터 워드들을 수신하기 위한 데이터 워드 입력;
    코드 워드 출력; 및
    상기 데이터 워드 입력에 수신된 연속적인 데이터 워드들을 상기 코드 워드 출력에서 교번하는 코드 워드 길이들을 갖는 코드 워드들로 인코딩하는 상태들의 시퀀스를 포함하는 상태 머신(state machine) - (ⅰ) 각각의 코드 워드는 다수의 비트 위치들을 가지고, (ⅱ) 상기 상태들의 시퀀스는 제 1 세트의 상기 다수의 비트 위치들에 제 1 최대 전이 런 제약을 부과하도록 배열되며, 상기 제 1 세트의 각 비트 위치는 서로 S 비트 위치들만큼 이격되고, 여기서 S는 1보다 더 큰 정수이며, (ⅲ) 상기 상태들의 시퀀스는 상기 제 1 세트에 있지 않는 각각의 상기 비트 위치들을 포함하는 제 2 세트의 상기 다수의 비트 위치들에 상기 제 1 최대 전이 런 제약과 다른 제 2 최대 전이 런 제약을 부과하도록 배열되며, (ⅳ) 상기 교번하는 코드 워드 길이들과 S 값은 연속적 코드 워드들에서 대응하는 비트 위치들이 동일한 최대 전이 런 제약을 가지도록 상기 상태 머신에 의해 규정됨 -
    를 포함하는 인코더.
  8. 제 7 항에 있어서, 상기 교번하는 코드 워드 길이들은 S로 균등하게 나눠질 수 있는 것을 특징으로 하는 인코더.
  9. 제 8 항에 있어서,
    S는 2로 규정되고,
    상기 제 1 세트의 비트 위치들은 상기 다수의 비트 위치들 중 모든 다른 비트 위치를 포함하며,
    상기 상태들의 시퀀스는 상기 제 1 세트의 비트 위치들 각각에 3의 최대 전이 런 제약을 부과하고,
    상기 상태들의 시퀀스는 상기 제 2 세트의 비트 위치들 각각에 2의 최대 전이 런 제약을 부과하는 것을 특징으로 하는 인코더.
  10. 제 9 항에 있어서, 상기 다수의 비트 위치들은 짝수 비트 위치들과 홀수 비트 위치들을 포함하고, 상기 상태들의 시퀀스는 상기 짝수 비트 위치들에 3의 최대 전이 런 제약을 부과하며, 상기 상태들의 시퀀스는 상기 홀수 비트 위치들에 2의 최대 전이 런 제약을 부과하는 것을 특징으로 하는 인코더.
  11. 제 9 항에 있어서, 각각의 상기 데이터 워드는 8비트 위치들을 가지고, 상기 상태들의 시퀀스는 상기 연속적 데이터 워드들을 8비트 코드 워드들과 10비트 코드 워드들로 교번으로 인코딩하도록 배열되는 것을 특징으로 하는 인코더.
  12. 코드 워드 입력;
    데이터 워드 출력;
    연속적인 코드 워드들을 고정된 데이터 워드 길이를 갖는 연속적인 데이터 워드들로 디코딩하도록 배열되는 상태들의 시퀀스를 포함하는 상태 머신 - (ⅰ) 상기 연속적인 코드 워드들은 다수의 비트 위치들을 각각 갖는 교번하는 코드 워드 길이들을 가지고, (ⅱ) 각각의 코드 워드는 제 1 세트의 상기 다수의 비트 위치들에 제 1 최대 전이 런 제약을 가지며, (ⅲ) 상기 제 1 세트의 각 비트 위치는 서로 S 비트 위치들만큼 이격되고, 여기서 S는 1보다 더 큰 정수이며, (ⅳ) 각각의 코드 워드는 상기 제 1 세트에 있지 않는 상기 비트 위치들 각각을 포함하는 제 2 세트의 상기 다수의 비트 위치들에 상기 제 1 최대 전이 런 제약과 다른 제 2 최대 전이 런 제약을 가지고, (ⅴ) 상기 교번하는 코드 워드 길이들과 S 값은 연속적인 코드 워드들에서 대응하는 비트 위치들이 동일한 최대 전이 런 제약을 가지도록 규정되며, (ⅵ) 상기 상태들의 시퀀스는 상기 데이터 워드 출력에 상기 연속적인 데이터 워드들을 인가하도록 배열됨 -
    를 포함하는 디코더.
  13. 저장 채널로부터 수신되는 코드 워드 스트림을 디코딩하는 방법으로서,
    (a) 상기 코드 워드 스트림으로부터의 연속적인 코드 워드들을 고정된 데이터 워드 길이를 갖는 데이터 워드로 디코딩하는 단계 - 상기 연속적인 코드 워드들은 서로 다른 교번하는 제 1 및 제 2 코드 워드 길이를 가지고, 각각의 코드 워드는 다수의 비트 위치들을 가짐 -;
    (b) 제 1 세트의 상기 비트 위치들에 제 1 최대 전이 런 제약을 인가하는 단계 - 상기 제 1 세트의 각 비트 위치는 서로 S 비트 위치들만큼 이격되고, 여기서 S는 1보다 더 큰 정수임 -;
    (c) 제 2 세트의 상기 비트 위치들에 상기 제 1 최대 전이 런 제약과 다른 제 2 최대 전이 런 제약을 인가하는 단계 - 상기 제 2 세트는 상기 제 1 세트에 있지 않는 각각의 상기 비트 위치들을 포함함 -; 및
    (d) 상기 연속적 코드 워드들에서 대응하는 비트 위치들이 동일한 최대 전이 런 제약을 가지도록 상기 교번하는 코드 워드 길이들과 관련된 S 값을 규정하는 단계
    를 포함하는 코드 워드 스트림의 디코딩 방법.
  14. 제 13 항에 있어서, 상기 규정하는 단계 (d)는 상기 교번하는 코드 워드 길이들이 S로 균등하게 나눠질 수 있도록 상기 S 값을 규정하는 단계를 포함하는 것을 특징으로 하는 코드 워드 스트림의 디코딩 방법.
  15. 데이터 저장 디스크와 통신할 수 있는 트랜스듀서; 및
    연속적인 데이터 워드들을 수신하고, 상기 데이터 워드들을 제 1 코드 워드 길이와 제 2 코드 워드 길이 사이에서 연속적으로 교번하는 코드 워드들로 인코딩하며, 상기 코드 워드들의 제 1 세트의 비트 위치들에 제 1 전이 런 제약을 부과하고, 상기 코드 워드들의 다른 제 2 세트의 비트 위치들에 제 2 전이 런 제약을 부과하기 위한 수단 - 상기 연속적 코드 워드들에서 대응하는 비트 위치들은 동일한 최대 전이 런 제약을 가짐 -
    을 포함하는 디스크 드라이브 저장 채널.
  16. 제 15 항에 있어서,
    각각의 상기 코드 위드들은 비트 위치당 하나의 코드 심볼인 일련의 코드 심볼들로 형성되고,
    상기 코드 워드들은 서로 연결될 때 직렬 코드 워드 스트림을 형성하며,
    상기 인코딩하기 위한 수단은 동일한 코드 심볼들을 갖는 연속적인 비트 위치들의 수를 최대 7로 제한하기 위한 수단을 포함하는 것을 특징으로 하는 디스크 드라이브 저장 채널.
KR1019997008983A 1997-04-01 1998-03-31 최대 전이 런 길이 코드 KR100552944B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US4251897P 1997-04-01 1997-04-01
US60/042,518 1997-04-01
US7572398P 1998-02-24 1998-02-24
US60/075,723 1998-02-24
PCT/US1998/006321 WO1998044636A1 (en) 1997-04-01 1998-03-31 Maximum transition run length code

Publications (2)

Publication Number Publication Date
KR20010005906A KR20010005906A (ko) 2001-01-15
KR100552944B1 true KR100552944B1 (ko) 2006-02-22

Family

ID=26719328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997008983A KR100552944B1 (ko) 1997-04-01 1998-03-31 최대 전이 런 길이 코드

Country Status (5)

Country Link
JP (1) JP2001518254A (ko)
KR (1) KR100552944B1 (ko)
DE (1) DE19882279T1 (ko)
GB (1) GB2338628B (ko)
WO (1) WO1998044636A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100472524B1 (ko) * 1999-06-30 2005-03-09 시게이트 테크놀로지 엘엘씨 조합된 mtr과 패러티 제약을 갖는 부분 응답 채널

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2637591B2 (ja) * 1990-01-22 1997-08-06 松下電器産業株式会社 位置認識装置及びその方法

Also Published As

Publication number Publication date
GB9923042D0 (en) 1999-12-01
DE19882279T1 (de) 2000-02-24
KR20010005906A (ko) 2001-01-15
GB2338628B (en) 2002-02-20
GB2338628A (en) 1999-12-22
JP2001518254A (ja) 2001-10-09
WO1998044636A1 (en) 1998-10-08

Similar Documents

Publication Publication Date Title
US5537112A (en) Method and apparatus for implementing run length limited codes in partial response channels
US5757567A (en) Method and apparatus for servo control with high efficiency gray code for servo track ID
US5731768A (en) Method and apparatus for implementing codes with maximum transition run length
US6804805B2 (en) Method and apparatus for encoding with unequal protection in magnetic recording channels having concatenated error correction codes
US5737142A (en) Servo track address channel code for PR4 magnetic recording
US6201652B1 (en) Method and apparatus for reading and writing gray code servo data to magnetic medium using synchronous detection
JPH01137410A (ja) デイスク記憶方法及び装置
RU2089045C1 (ru) Дешифратор импульсных последовательностей
KR100506070B1 (ko) 고밀도데이터의기록/재생을위한부호화/복호화방법
JPH10508456A (ja) mビットの情報語の系列を変調信号に変換する方法、記録キャリアを製造する方法、コード装置、装置、記録装置、信号及び記録キャリア
KR100406806B1 (ko) 짧게 인터리브된 제한 조건을 갖는 효과적인 런 길이 제한코드
JP2001060872A (ja) データ符号化システム
KR100597326B1 (ko) 변조장치및방법과분배매체
KR100543381B1 (ko) 시변화 제약들을 갖는 코드를 사용하는 채널들을 위한 스태틱 비터비 검출기
KR100426656B1 (ko) 24 비트 시퀀스의 데이터에 대한 인코딩 및 디코딩 기술
US6154504A (en) Encoding method, encoding apparatus, decoding method, decoding apparatus, and recording medium
JP2000040968A (ja) 符号化方法および符号化装置、復号化方法および復号化装置、並びに提供媒体
KR100552944B1 (ko) 최대 전이 런 길이 코드
KR100571743B1 (ko) 통신 채널
WO1999022375A1 (en) Device for encoding/decoding n-bit source words into corresponding m-bit channel words, and vice versa
US6839004B2 (en) High rate run length limited code
US6097321A (en) Punctured maximum transition run code, apparatus and method for providing the same
US6985320B2 (en) Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system
EP0720302B1 (en) Code modulation method, code demodulation method, and code detection method
JP3187528B2 (ja) 符号化装置および復号化装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20110128

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee