[go: up one dir, main page]

KR20060061261A - 주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에변조 제약들을 적용하기 위한 기술들 - Google Patents

주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에변조 제약들을 적용하기 위한 기술들 Download PDF

Info

Publication number
KR20060061261A
KR20060061261A KR1020050116324A KR20050116324A KR20060061261A KR 20060061261 A KR20060061261 A KR 20060061261A KR 1020050116324 A KR1020050116324 A KR 1020050116324A KR 20050116324 A KR20050116324 A KR 20050116324A KR 20060061261 A KR20060061261 A KR 20060061261A
Authority
KR
South Korea
Prior art keywords
symbols
symbol
integer
base
data
Prior art date
Application number
KR1020050116324A
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 KR20060061261A publication Critical patent/KR20060061261A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • 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
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/04Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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
    • H03M13/31Coding, 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 coding for error detection or correction and efficient use of the spectrum
    • 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
    • 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
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/06Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being a positive integer different from two
    • 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
    • G11B2020/1473Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof modulation code without any merging bits

Landscapes

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

Abstract

에러에 취약한 금지되는 특정 데이터 패턴들을 대치하기 위해 주기적으로 변화하는 심볼 매핑들을 사용하여 데이터에 변조 제약들을 적용하기 위한 기술들이 제공된다. 먼저, 제1 진법의 사용자 데이터는 진법 변환 기술을 이용하여 제2 진법의 정수들로 매핑된다. 제2 진법의 정수들은 심볼들에 대응한다. 그 후에, 진법 변환 동안 생성된 금지되는 심볼들을 허용되는 심볼들에 매핑하는 동안에 주기적으로 변화하는 심볼 매핑들이 수행된다. 주기적으로 변화하는 심볼 매핑들은 복수의 위상들에서 발생하고, 금지되는 심볼들은 각 위상마다 다르다. 도출된 데이터는 어떤 실시예들에서 프리코더에 의해 프로세싱된다.
심볼 매핑, 변조 제약, 진법 변환, 프리코더.

Description

주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에 변조 제약들을 적용하기 위한 기술들{TECHNIQUES FOR APPLYING MODULATION CONSTRAINTS TO DATA USING PERIODICALLY CHANGING SYMBOL MAPPINGS}
도 1a 및 도 1b는 본 발명의 변조 인코딩 기술들이 포함되는 2개의 리버스 접합 방식을 도시한다.
도 2a는 본 발명의 일실시예에 따라, 진법 변환 및 주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에 변조 제약들을 적용하기 위한 개괄적 기술들을 나타낸다.
도 2b는 본 발명의 일실시예에 따라, 진법 변환 및 주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에 변조 제약들을 적용하기 위한 특정 기술들을 나타낸다.
도 3a는 본 발명의 일실시예에 따라, 진법 변환 및 주기적으로 변화하는 심볼 매핑들 및 프리코딩을 이용하여 데이터에 변조 제약들을 적용하기 위한 개괄적 기술들을 나타낸다.
도 3b 및 도 3c는 본 발명의 실시예들에 따라, 진법 변환 및 주기적으로 변화하는 심볼 매핑들 및 프리코딩을 이용하여 데이터에 변조 제약들을 적용하기 위한 2개의 특정 기술들을 나타낸다.
도 4는 본 발명의 일실시예에 따라, 짝수 및 홀수 인터리브들에의 심볼 대치 및 프리코딩을 이용하여 데이터에 변조 제약들을 적용하기 위한 기술을 나타낸다.
도 5a 및 도 5b는 본 발명의 실시예들에 따라, 도출된 데이터의 최고의 변조 제약들을 달성하는 방식으로 RS 데이터 심볼들의 그룹들 사이에 리드-솔로몬(RS) 패리티 심볼들을 인터리빙하는 기술들을 나타낸다.
본 발명은 에러에 취약한 데이터 패턴들을 제거하기 위해 데이터에 변조 제약들을 적용하기 위한 기술들에 관한 것이고, 더욱 상세하게는, 금지되는 특정 심볼들이 주기적으로 발생하지 않도록 보장하기 위한 기술들에 관한 것이다.
하드 드라이브는 자기 하드 디스크와 같은 데이터 저장 디스크 상에 데이터 비트를 기록할 수 있다. 또한, 하드 디스크는 데이터 디스크 상에 저장된 데이터 비트들을 읽을 수 있다. 특정 데이터 패턴들은 하드 디스크 상에 기록하기 어렵고, 이 데이터 패턴들을 다시 읽는 경우에 종종 에러를 유발한다. 연속하는 0들 또는 연속하는 1들의 긴 시퀀스(예컨대, 40개의 연속하는 0들)는 에러에 취약한 데이터 패턴들의 예들이다. 교번하는 극성 비트들의 긴 시퀀스(010101010...)는 에러에 취약한 데이터 패턴의 또 다른 예이다.
따라서, 채널 입력 데이터에서 에러를 유발하기 쉬운 패턴들을 제거하는 것이 바람직하다. 에러에 취약한 패턴들을 제거하는 것은 디스크 드라이브 시스템에 서 검출기의 신뢰성 있는 동작 및 타이밍 루프들을 보장한다. 에러를 유발하기 쉬운 패턴들을 제거하는 하나의 방법은 이 데이터 패턴들을 에러에 덜 취약한 데이터 패턴들로 대치하는 것이다. 대치 심볼들은 메모리의 룩업 테이블들에 저장될 수 있다. 그러나, 많은 수의 비트들로 데이터 패턴들을 대치하기 위해 룩업 테이블들은 바람직하지 않은데, 그것들은 대용량 메모리를 필요로 하기 때문이다.
많은 디스크 드라이브들은 변조 코드들을 사용하여 에러에 취약한 패턴들을 제거하는 변조 인코더를 구비한다. 변조 인코더들은 특정 데이터 패턴들을 제거하기 위해 전역적 및/또는 인터리빙되는 제약들을 데이터에 부과한다. 1/(1+D2) 프리코더(precoder)의 입력에서 전역적 G 제약은 G개의 연속하는 0들 이상의 데이터 패턴들을 금지한다. 1/(1+D2) 프리코더의 입력에서 인터리빙되는 I 제약은 홀수 또는 짝수의 인터리빙에서 I개의 연속하는 0들 이상의 데이터 패턴들을 금지한다.
또한, 제약된 코드들로 알려진 변조 코드들은 디지털 데이터의 기록 및 재생 프로세스에 대하여 바람직하지 않은 시퀀스들을 제거하기 위하여 자기적 및 광학적 데이터 저장장치에 널리 사용되어 왔다. 실제로 다양한 클래스들의 변조 코드들이 사용된다. 예컨대, 레이트-1/2 RLL(2,7) 및 레이트-2/3 RLL(1,7) 코드들과 같은 실행 길이-제한 RLL(d,k) 제약 코드들을 채용하는 피크 탐지 시스템들이 정규화 선형 밀도가 낮은 디지털 자기 저장장치에서 널리 사용되어 왔다.
적절하게 정규화된 선형 밀도에서, 부분-응답 최대 가능성(PRML: Partial-Response Maximum-Likelihood) 탐지 채널들을 데이터 저장장치에 도입하는 것은 상 이한 형태의 제약 코드들을 필요로 했다. PRML(G,I) 코드들로 알려진 코드들의 이러한 클래스들은 타이밍 회복 및 이득 제어를 용이하게 하고, 시퀀스 검출기의 경로 메모리 길이를 제한하여, 검출기의 성능을 현저하게 저하시키지 않고 디코딩 지연을 제한한다. PRML(G,I) 코드들은 1/(1+D2) 프리코더들 및 PRML 개념을 일반화한 잡음-예측 최대 가능성(NPML) 채널들과 함께 사용된다.
더 최근에는, 잡음-예측 최대 가능성 채널들에 코딩 이득을 제공하기 위해 최대 전이 실행(MTR: Maximum Transition Run) 코드들, 특히 MTR(j,k) 및 MTR(j,k,t) 코드들이 도입되었다. 1/(1+D2) 프리코더들과 함께 사용되는 MTR 코드들은 변조 속도(baud rate)의 증가를 희생하여 시퀀스 검출기 출력에서의 현저한 에러 사건들의 발생을 제거하거나 줄이고, 시간에 따라 변화하는 트렐리스(trellis)를 구현함에 의해 j-제약을 검출기에 포함시켜 검출기 성능을 향상시킨다.
에러 발생을 줄이기 위하여 변조 코드들을 사용하기 위한 많은 종래 기술들은 높은 지연 시간을 필요로 한다. 따라서, 지연 시간을 감소시키고, 에러를 발생시키기 쉬운 데이터 패턴들을 제거하기 위한 대안적인 변조 인코딩 기술들을 제공하는 것이 바람직하다.
본 발명은 주기적으로 변화하는 심볼 매핑들을 이용하여 에러에 취약한 금지 된 데이터 패턴들을 대치함에 의해 데이터에 변조 제약들을 적용하기 위한 기술을 제공한다. 본 발명의 기술들은 리버스 접합(reverse concatenation) 인코딩 방식의 응용이다.
먼저, 제1 진법의 사용자 데이터는 진법 변환 기술을 이용하여 제2 진법의 정수들로 매핑된다. 제2 진법의 정수들은 심볼들에 대응한다.
그 후에, 진법 변환 동안 생성된 금지되는 심볼들을 허용되는 심볼들에 매핑하는 동안에 주기적으로 변화하는 심볼 매핑들이 수행된다. 주기적으로 변화하는 심볼 매핑들은 복수의 위상들에서 발생하고, 금지되는 심볼들은 각 위상마다 다르다. 도출된 데이터는 어떤 실시예들에서 프리코더에 의해 프로세싱된다.
본 발명의 일 실시예에 따르면, 입력 데이터는 짝수 및 홀수 인터리브들로 분리된다. 기수 변환 및 그 후의 심볼 대치는 짝수 및 홀수 인터리브들의 서브세트에 대하여 수행된다. 도출된 결과는 분리된 비트들로 재조합된다. 그 후에, 조합된 데이터는 프로코더에 의해 프로세싱된다.
본 발명의 또 다른 실시예에 따르면, 부분 인터리버는 도출된 데이터의 최고의 변조 제약들을 달성하는 방식으로 RS 데이터 심볼들의 그룹들 사이에 리드-솔로몬(RS) 패리티 심볼들을 인터리빙한다.
본 발명의 다른 목적, 특징, 및 장점들은 동일한 참조번호가 도면 전체에서 동일한 특징적 구성을 나타내는 첨부된 도면과 후술하는 상세한 설명에 의해 명확해 질 것이다.
리버스 접합(reverse concatenation)은 RS 패리티 심볼들에 대하여 계통적인 리드-솔로몬(RS: Reed-Solomon) 인코더 및 포스트-RS 변조 인코더를 따르는 효율적인 변조 인코더를 채용하는 코딩 기술이다. 효율적인 프리-RS 변조 코드들을 갖는 리버스 접합 아키텍처들은 큰 블록 크기들을 채용한다. 리버스 접합 아키텍처의 효율적인 코드들에 대하여 변조 디코더는 RS 디코더를 따르기 때문에, 리버스 접합 아키텍처는 에러의 전파를 겪지 않는다. 검출기 또는 내부 패리티 디코더로부터의 소프트(soft) 정보는 용이하게 ECC 디코더에 제공된다.
도 1a는 리드-솔로몬(RS) 패리티 심볼들의 생성 이전 및 이후에 변조 코드들을 데이터 스트림에 삽입하는 종래의 리버스 접합 방식과 캐스캐이딩된(cascaded) 내부 패리티 인코더의 예를 도시한다. 사용자 데이터는 우선 제1 변조 인코더 블록(101)에 의해 인코딩된다. 예컨대, 제1 변조 인코더는 1/(1+D) 프리코더가 따르는 매우 효율적인 MTR(j,k,t) 인코더일 수 있다. 그 후, RS 패리티 심볼들은 MTR-인코딩된 데이터 스트림의 함수로 리드-솔로몬 인코더(102)에 의해 생성된다.
RS 인코더(102)의 출력 스트림은 제2 변조 인코더 블록(103)에 의해 인코딩된다. 예컨대, 제2 변조 인코더는 1/(1+D) 프리코더가 따르는 양호한 에러 전파 특성을 갖는 MTR(j,k,t)일 수 있다. 멀티플렉서(104)는 블록(103)의 출력 스트림을 블록(101)의 변조-인코딩된 사용자 데이터 출력에 부가한다. 패리티 삽입 블록(105)은 변조-인코딩 비트들의 함수로 m개의 내부 패리티 비트들을 생성하고, 그것들을 변조-인코딩 데이터 스트림에 삽입한다. 블록(105)의 출력 스트림에 대한 내부 패리티 코드 레이트는 n/(n+m)이다.
도 1b는 리드-솔로몬(RS) 패리티 심볼들을 생성하기 전에, 변조 코드들을 데 이터 스트림에 삽입하는 리버스 접합 아키텍처의 예를 도시한다. 사용자 데이터는 블록(111)에서 변조 인코더에 의해 인코딩된다. 예컨대, 변조 인코더는 1/(1+D) 프리코더가 따르는 매우 효율적인 MTR(j,k,t) 인코더 또는 1/(1+D2) 프리코더가 따르는 PRML(G,I) 인코더일 수 있다. 리드-솔로몬 인코더(112)는 인코딩된 데이터 스트림의 함수로 RS 패리티 심볼들을 생성한다. 멀티플렉서(113)는 블록(111)의 출력 스트림을 RS 인코더(112)의 인코딩된 데이터 출력에 부가한다.
부분 인터리버 블록(114)은 RS 패리티 심볼들을 블록(111)로부터 제약되고 인코딩된 심볼 스트림으로 부분적으로 인터리빙한다. 부분 인터리빙은 도 5a 내지 도 5b를 참조하여 이하에 더 상세하게 설명되어 있다. 비제약된 RS 패리티 심볼들을 제약된 심볼 스트림에 부분 인터리빙하는 것의 깊이는 특정 코딩 방식에 달려있고, 기록 채널 입력에서의 최고의 가능한 제약들을 달성하도록 선택된다. 패리티 삽입 블록(115)은 n 비트들의 함수로 m개의 내부 패리티 비트들을 생성하고, 내부 패리티 비트들을 인코딩된 데이터 스트림에 삽입한다. 블록(115)에 의해 생성된 내부 패리티 코드 레이트는 n/(n+m)이다.
변조 인코더들(110, 103, 111)에 의해 수행될 수 있는 본 발명의 변조 인코딩 방식들의 실시예들은 도 2a 내지 도 2b, 도 3a 내지 도 3c 및 도 4와 관련하여 이제 논의된다. 도 2a 내지 도 2b의 실시예들을 먼저 설명한다.
도 2a는 본 발명의 실시예에 따라, 높은 코드 레이트를 달성하기 위해 주기적으로 변화하는 심볼 매핑들을 사용하여 데이터의 변조 인코딩을 수행하기 위한 개략화된 방식(200)을 도시한다. 방식(200)은 주기적으로 변화하는 심볼 매핑들이 따르는 진법 변환(base conversion)을 이용한다.
단계 201에서, 변조 인코더의 입력에서 (n-1)-비트 수들의 [ai] 형태의 사용자 데이터는 진법 변환 기술을 사용하여 제1 진법으로부터 제2 진법 L의 정수들 [bi]로 변환된다. 단계 202에서, 주기적으로 변화하는 심볼 매핑들은 불(boolean) 논리 또는 룩업 테이블들을 사용하여 제2 진법의 결과 심볼들을 제약된 s-비트 심볼들 [ci]로 매핑하도록 수행된다. 이 클래스에 속하는 (n-1)/n 레이트 코드가 존재하기 위한 조건은 2n-1 = Ln /s (여기서, s는 [bi]2의 각 심볼을 나타내는 비트들의 수)이다.
도 2b는 도 2a의 개략화된 변조 인코딩을 구현하는 특정 실시예를 도시한다. 도 2b의 변조 인코딩 기술(210)은 심볼 매핑 단계를 따르는 주기 p를 갖는 주기적으로 변화하는 심볼 대치(substitution)들을 이용함에 의해 높은 코드 레이트를 달성한다. 변조 인코딩 기술(210)은 199/200 비트의 코드 레이트를 갖는다.
변조 인코더는 G=26의 전역적 제약 및 I=22의 인터리빙되는 제약을 둔다. 프리코더가 없다면, 이 제약들은 DC-패턴들(00...0 및 11...1), 나이키스트 패턴들(0101... 및 1010...)의 최대 길이를 G+2로 제한하고, 홀수 또는 짝수 인터리브에서의 연속하는 심볼들의 최대 개수를 I+1로 제한하는 것과 동일하다. 이 제약들은 PRML(G=26, I=22)로 간략화될 수 있다.
전역적 G 및 인터리빙되는 I 제약, 진법 L, 도 2B(및 도 3b 내지 도3c 및 도 4)와 관련하여 기술된 각 심볼 내의 비트들의 수와 같은 특정 파라미터들과 관련하여 사용되는 특별한 수들은 단지 예에 불과하며, 본 발명의 범위를 제한할 의도가 아님을 유의하라. 본 발명의 기술들에 따라 당업자는 다양한 수들이 이 파라미터들로 사용될 수 있음을 이해할 것이다.
단계 211에서 기수 변환(Radix conversion)이 수행된다. 기수 변화(단계 211)에서 사용될 수 있는 기수 변환의 예는 미국 특허 제6,236,340에 기술되어 있으며, 이것은 본 명세서에 참조로써 포함된다. 기수 변환은 단지 본 발명에 따라 수행될 수 있는 진법 변환 기술들 중 하나의 예이다. 여기서 기수 변환의 논의는 예시적이며, 이는 본원 발명의 범위를 제한하려고 의도된 것이 아니다.
단계 211의 기수 변환 동안에, 사용자 데이터의 199-비트 워드는 진법 991의 정수들로 매핑된다. 199-비트의 이진 정수들은 도 2b에서 비트들([a0]2~[a198]2)로 표현된다. 아래첨자 2는 이진수를 나타내고, 아래첨자들 0-198은 각 비트를 식별하는 인덱스(i)이다. 기수 변환(단계 211)은 각 199비트의 이진 정수를 20개의 심볼들을 갖는 진법 991의 정수로 매핑한다. 진법 991 정수의 각 심볼은 991개의 가능한 값들을 갖는다. 진법 991 정수는 심볼들([b0]2~b[19]2)에 의해 이진법으로 표현된다. 아래첨자 2는 이진법을 나타내고, 아래첨자들 0-19는 각 심볼을 식별하는 인덱스(i)이다.
기수 변환(단계 211) 이후에, 2개의 주기적으로 변화시키는 심볼 매핑 단계 들(212, 213)이 수행된다. 심볼 매핑(단계 212)은 함수[f()]를 사용하여 블록(212)에 의해 생성된 진법 991 정수들([bi]2)을 매핑한다. 단계 211에서 생성된 정수([bi]2)는 20개의 심볼들을 갖는다. 각 심볼은 10개의 이진 비트들로 표현될 수 있다. 심볼 매핑(단계 212)은 [bi]2 정수 내의 각 10-비트 심볼을 분석한다.
단계 212는 진법 991의 [bi]에 대한 모든 가능한 심볼들의 리스트로부터 0x0x0x0x0x 또는 1111111111와 매칭되는 33개의 심볼들을 배제한다[여기서 x는 어떠한 이진 값(1 또는 0)도 될 수 있음]. 진법 변환(단계 211)은 [bi]991 정수의 각 991-진법 비트에 대하여 991개의 가능한 심볼들을 생성할 수 있다. 10-비트의 이진수는 1024개의 가능한 값을 갖는다. 따라서, 10-비트 이진으로 표현되는 [bi]2 정수의 심볼들 각각에 대하여 991개의 가능한 심볼들(1024-33=991)이 남게 된다.
10-비트 이진으로 표현되는 [bi]2 정수의 심볼들이 금지되는 심볼들 중 하나와 매칭되는 경우에, 그 심볼은 단계 212에서 33개의 배제된 심볼들 중 하나가 아닌 또 다른 10-비트 심볼로 대치되고, 이것은 기수 변환(단계 211)에서 생성될 수 있는 991개의 가능한 심볼들 중 하나가 아니다. 각 10-비트 이진으로 표현된 심볼은 1024개의 가능한 심볼들로부터 33개의 배제된 심볼들을 감산하여 991개의 가능한 심볼들이 되므로, 이러한 매핑이 가능하다. 단계 212에서 생성된 정수들은 [c0]2~c[19]2로 명명된다(아래첨자 2는 이진법을 나타냄).
따라서, 단계 212에서 수행되는 함수에 대한 심볼 매핑의 범위는, 모든 10- 비트 심볼들의 리스트로부터 0x0x0x0x0x 및 1111111111 형태의 33개의 심볼들을 배제함에 의해 얻어지는 10-비트 심볼들의 991개의 리스트이다. 이 함수의 특정 매핑은 이 함수를 구현하는 불 회로의 복잡성을 최소화하도록 선택되는 것이 바람직하다. 아래의 표 1은 4개의 위상들(0-3) 모두에서 배제되는 33개의 심볼들을 목록화한다. 표 1의 2번째 칸은 위상(0) 동안에 심볼 매핑(단계 212)에서 배제되는 심볼들을 목록화한다.
<표 1>
위상 0 (i mod 4 = 0) 위상 1 (i mod 4 = 1) 위상 2 (i mod 4 = 2) 위상 3 (i mod 4 = 3)
배제되는 33개의 심볼들 [di]2 0x0x0x0x0x 1111111111 1x1x1x1x1x 0000000000 x0x0x0x0x0 1111111111 x1x1x1x1x1 0000000000
단계 213은 단계 212에서 생성된 정수들([ci])에 대하여 주기적으로 변화하는 심볼 대치를 수행한다. 단계 213은 [ci]2의 어떤 심볼이 고려되는지에 따라, 위상들(1-3) 동안에 시간에 따라 변화하는 심볼 대치를 수행한다.
위상(0)은 [ci]2의 심볼의 인덱스 i가 4로 나누어 떨어지는 경우(즉, i mod 4 = 0)에 발생한다. 위상(0) 동안에, 배제된 심볼들은 상술한 바와 같이 단계 212에서 대치된다. [ci] 심볼의 인덱스가 0, 4, 8, 12, 16, 24 등인 경우에 단계 213 동안의 위상(0)에서는 어떤 동작도 행해지지 않는다. 단계 213에서 생성된 심볼들은 [d0]2~d[19]2로 명명된다.
심볼 대치는 위상(1,2,3) 동안에 [ci]2 심볼들에 대하여 단계 213에서 수행된다. 위상들(1-3)동안 단계 213에서 수행되는 대치들은 아래의 표 2에 요약되어 있다. 표 2에서 x는 (x1, x2, x3, x4, x5)를 나타내고, "~"는 불 부정을 나타냄을 유의하라. 위상들(1-3)에서의 모든 대치들은 위상(0)에서 허용되는 심볼들의 목록과 관련이 있다. 따라서, 위상(0)에는 어떤 대치도 수행되지 않는다. 이 특정 실시예에는 어떤 프리코딩 동작도 필요하지 않다. 단계 213에 의해 수행되는 주기적으로 변화하는 심볼 대치들은 3개의 매핑들[g1(.), g2(.), g3(.)]에 특징이 있다.
<표 2>
위상 1 (i mod 4 = 1) 위상 2 (i mod 4 = 2) 위상 3 (i mod 4 = 3)
금지되는 심볼들 [ci]2 x≠(1,1,1,1,1)일때 1x11x21x31x41x5 x≠(0,0,0,0,0)일때 x10x20x30x40x50 x≠(0,0,0,0,0)이고 x≠(1,1,1,1,1)일때 x11x21x31x411x51
대치 심볼들 [di]2 x≠(1,1,1,1,1)일때 0(~x1)0(~x2)0(~x3)0(~x41)0(~x5) x≠(0,0,0,0,0)일때 0x10x20x30x40x5 x≠(0,0,0,0,0)이고 x≠(1,1,1,1,1)일때 0x10x20x30x40x5
위상(1)은 [ci] 심볼의 인덱스 i를 4로 나눌 때 1이 남는 경우(즉, i mod 4 = 1)에 발생한다. 예컨대, 위상(1)은 [ci] 심볼의 인덱스들이 1, 5, 9, 13, 17, 25 등인 경우에 발생한다. 위상(1)인 동안에, 표 2의 두번째 칸, 두번째 줄에 도시된 심볼들은 표 2의 두번째 칸, 세번째 줄에 도시된 심볼들로 대치된다. 대치 심볼들은 단계 212에서 위상(0) 동안에 배제된 심볼들(0x0x0x0x0x)의 세트에 있다.
위상(2)는 [ci] 심볼의 인덱스 i를 4로 나눌 때 2가 남는 경우(즉, i mod 4 = 2)에 발생한다. 예컨대, 위상(2)은 [ci] 심볼의 인덱스들이 2, 6, 10, 14, 18, 26 등인 경우에 발생한다. 위상(2)인 동안에, 표 2의 세번째 칸, 두번째 줄에 도시된 심볼들은 표 2의 세번째 칸, 세번째 줄에 도시된 심볼들로 대치된다. 대치 심볼들은 단계 212에서 위상(0) 동안에 배제된 심볼들(0x0x0x0x0x)의 세트에 있다.
위상(3)는 [ci] 심볼의 인덱스 i를 4로 나눌 때 3이 남는 경우(즉, i mod 4 = 3)에 발생한다. 예컨대, 위상(3)은 [ci] 심볼의 인덱스들이 3, 7, 11, 15, 19, 27 등인 경우에 발생한다. 위상(3)인 동안에, 표 2의 네번째 칸, 두번째 줄에 도시된 심볼들은 표 2의 네번째 칸, 세번째 줄에 도시된 심볼들로 대치된다. 대치 심볼들은 단계 212에서 위상(0) 동안에 배제된 심볼들(0x0x0x0x0x)의 세트에 있다.
도 2b의 변조 인코딩 기술은 n=200, L=991, s=10의 파라미터들을 갖는다. 이 특정 파라미터들은 코드 1으로 언급된다. 변수 n은 코드 워드 블록에서의 비트 수를 말한다. 변수 L은 기수 변환(단계 211)에 의해 생성된 정수들 [bi]의 진법(base)을 말한다. 변수 s는 [bi]2, [ci]2 및 [di]2의 각 심볼에서의 비트 수를 말한다.
이 계열의 코드들은 L=2s/2(2s/2-1)-1 크기의 심볼 알파벳을 갖고, G=3s-4 및 I=5(s/2)-3의 제약들(여기서, s는 짝수로 가정하고, 코드 워드 크기, n 비트는 4s에 의해 나누어 떨어짐)을 만족한다. 프리코더가 이 코드들의 클래스에 사용되지 않더라도, 제약들은 등가의 전역적 G 및 인터리빙되는 I 제약 값들을 특징으로 갖는다. 다시 말해서, 기록 채널 입력에서 DC-패턴들 및 나이키스트(Nyquist) 패턴들의 최대 길이는 G+2이고, 기록 채널 입력의 홀수 또는 짝수 인터리브에서 DC-패턴들의 최대 길이는 I+1이다. 또한, 210은 40으로 나누어 떨어지지 않지만, 인코더(200)는 n=210, L=991, s=10인 파라미터 코드를 갖는 209/210 PRML(26,22) 코드 레이트를 갖는 인코더를 구성하도록 사용될 수 있다. 이 경우에, 코드 워드 j의 제1 심볼은 위상(j mod 4)에서 발생하고, 도 2b에서 각 코드 워드의 제1 심볼은 위상(0)에서 항상 발생한다.
도 3a는 본 발명의 또 다른 실시예에 따라, 높은 코드 레이트를 얻기 위해 주기적으로 변화하는 심볼 매핑들을 사용하여 데이터의 변조 인코딩을 수행하기 위한 개략화된 방식(300)을 도시한다. 인코더(300)는 진법 변환을 이용하고, 그 후에 주기적으로 변화하는 심볼 매핑, 프리코딩을 한다.
단계 301에서, 진법 변환 기술은 제1 진법의 사용자 데이터를 제2 진법(L) 표현인 [bi]의 정수로 변환하도록 수행된다. 단계 302에서, 주기적으로 변화하는 심볼 매핑들은 도출된 진법(L) 심볼들을 불 논리 또는 룩업 테이블들을 사용하여 제약된 s-비트 심볼들 [ci]로 변환한다.
단계 302 이후에, 프리코더(303)는 도출된 제약 심볼들을 인코딩한다. 프리코딩 단계는 금지되는 심볼들(x1x1x1x1x1 및 1x1x1x1x1x)를 제거한다. 그 결과로, 심볼 매핑들의 2가지 위상들만이 단계 302에서 수행되어, 금지되는 심볼들 (0x0x0x0x0x 및 x0x0x0x0x0)을 제거한다.
도 3b는 도 3a의 개략화된 변조 인코딩을 구현하는 특정 실시예를 도시한다. 변조 인코더(310)는 199/200 비트의 코드 레이트를 갖고, 파라미터 n=200, L=992, s=10인 PRML(G=18, I=13)을 생성한다. 이 파라미터들은 코드 2로 언급된다.
변조 인코더(310)의 기수 변환(단계 311)은 인코더 입력에서 199-비트 워드의 진법-992 변환을 사용한다. 단계 312는 단계 311에서 생성된 [bi] 심볼들의 심볼 매핑들을 수행한다. 단계 313은 단계 312에서 생성된 [ci] 심볼들에 주기적으로 변화하는 심볼 대치들을 수행한다. 단계 314는 단계 313에서 생성된 [di] 심볼들의 1/(1+D2) 프리코딩을 수행한다.
아래의 표 3은 인코더(310)의 2개 위상들 각각에서 배제되는 32개의 심볼들을 목록화한 것이다. 2개의 위상들은 수학식 i mod 2로 표현된다. 심볼 매핑(단계 312)는 심볼 매핑 f(.)의 범위를 수행하는데, 이 심볼 매핑은 모든 1024개의 가능한 10-비트 심볼들의 리스트로부터 0x0x0x0x0x 형태의 32개의 심볼들을 배제함에 의해 얻어진 10-비트 심볼들의 992개의 목록을 갖는다. [bi]2의 10-비트 심볼들 중 어느 것이라도 0x0x0x0x0x와 매칭되는 경우에, 이 심볼들은 0x0x0x0x0x가 아닌 다른 10-비트 심볼로 매핑된다.
10-비트 이진수는 1024개의 가능한 심볼들을 갖는다. 32개의 배제된 심볼들이 1024개의 가능한 심볼들로부터 제거된다면, 992개의 가능한 심볼들이 남게 된 다. 각 [bi]992는 992개의 심볼들을 갖는 것이 가능하다. 따라서, 제약 0x0x0x0x0x을 위반하는 각 심볼을, 이 제약을 위반하지 않으며 기수 변환 단계에서 생성되지 않는 심볼에 매핑하는데 충분한 심볼들이 남아있게 된다. 특정 매핑 f(.)은 f(.)를 구현하는 불 회로의 복잡도를 최소화하도록 선택되는 것이 바람직하다. 표 3에서 볼 수 있는 바와 같이, 심볼 매핑(단계 312)은 위상(0, 즉 i mod 2 = 0)에 제약들을 부과한다.
<표 3>
위상 0 (i mod 2 = 0) 위상 1 (i mod 2 = 1)
배제되는 32개의 심볼들 [di]2 0x0x0x0x0x x0x0x0x0x0
단계 313은 위상(1) 동안에 주기적으로 변화하는 심볼 대치들을 부과한다. 아래의 표 4는 단계 313에 의해 금지되는 심볼들 및 금지되는 심볼들을 대치하는 심볼들을 도시한다. 표 4에 도시된 심볼 대치들은 위상(1)에서 금지되는 심볼들 [ci]2가 대치 심볼들 [di]2에 의해 대치되도록 수행된다. 주기적으로 변화하는 심볼 대치들은 매핑 g1(.)에 특징이 있다. 표 4에서 x는 (x1,x2,x3,x4,x5)를 나타내고, "~"는 불 논리에서의 부정을 나타낸다.
<표 4>
위상 1 (i mod 2 = 1)
금지되는 심볼들 [ci]2 x≠(0,0,0,0,0)일때 x10x20x30x40x50
대치 심볼들 [di]2 x≠(0,0,0,0,0)일때 0x10x20x30x40x5
위상(1)에서의 모든 대치들은 위상(0)에서 허용되는 심볼들의 리스트와 관련이 있으므로, 위상(0)에서는 어떤 대치도 수행되지 않는다. 위상(1)에서 대치 심볼들은 단계 312에서 위상(0)에서 배제되었던 심볼들(0x0x0x0x0x)의 세트에 있다.
2209=99221 및 2219 > 99222이기 때문에, s=10인 이 코드들의 클래스에 대하여 가능한 최대 레이트는 209/210이다. 이 계열의 코드들은 L=2s/2(2s/2-1) 크기의 심볼 알파벳을 갖고, G=2(s-1) 및 I=3(s/2)-2의 제약들(여기서, s는 짝수로 가정하고, 코드 워드 크기, n 비트는 2s에 의해 나누어 떨어짐)을 만족한다. 210이 20에 의해 나누어 떨어지지 않지만, 파라미터 n=210, L=992, s=10 코드를 갖는 레이트 209/210 PRML(G=18, I=13) 코드를 구비하는 도 3a에 도시된 형태의 변조 인코더도 역시 구성될 수 있다. 이 경우에, 코드 워드 j의 제1 심볼은 위상(j mod 2)에서 발생하고, 도 3b에서는 각 코드 워드의 제1 심볼은 항상 위상(0)에서 발생한다.
위상(0)에서의 심볼(1000000000) 및 위상 (1)에서의 심볼(0000000001)이 배제된 다른 심볼들에 추가하여 배제된다면, 본 발명의 또 다른 실시예로써 파라미터 n=200, L=991, s=10 코드인 레이트-199/200 PRML(G=16, I=13) 코드도 역시 얻을 수 있다. 이 코드는 코드 3으로 언급된다. 코드 3에 대한 변조 인코더(320)는 도 3c 에 도시된다. 도 3c의 기수 변환(단계 321)은 199-비트의 입력 데이터 블록들을 진법(991) 정수들로 기수 변환을 수행한다. 각 진법(991) 정수는 이진 심볼들 [di]2로 표현된다. 심볼 매핑(단계 322) 및 심볼 대치(단계 323)는 2 위상들 동안 금지되는 심볼들을 대치한다. 아래의 표 5는 i mod 2의 2 위상들 각각에서 배제되는 33개의 심볼들 [di]2를 목록화한다.
<표 5>
위상 0 (i mod 2 = 0) 위상 1 (i mod 2 = 1)
배제되는 33개의 심볼들 [di]2 0x0x0x0x0x 1000000000 x0x0x0x0x0 0000000001
단계 322에서 수행되는 심볼 매핑 f(.)의 범위는 모든 10-비트 심볼들의 목록으로부터 0x0x0x0x0x 및 1000000000 형태의 33개의 심볼들을 배제함에 의해 얻어지는 10-비트 심볼들의 991개의 목록이다. 특정 매핑 f(.)는 f(.)을 구현하는 불 회로의 복잡도를 최소화하도록 선택되는 것이 바람직하다. 표 5에서 볼 수 있는 바와 같이, 단계 322는 위상(0, 즉 i mod 2 = 0)에서 원하는 제약들을 부과한다.
위상(1)에서 원하는 제약들을 부과하기 위해, 단계 323에서 주기적으로 변화하는 심볼 대치들이 수행된다. 단계 323에서 수행되는 주기적으로 변화하는 심볼 대치들은 아래의 표 6에 도시된다. 표 6에서 x는 (x1,x2,x3,x4,x5)를 나타내고, "~"는 불 논리에서의 부정을 나타낸다. 단계 323에서 수행되는 심볼 대치들은 도 3c의 매핑 g1(.)에 특징이 있다.
<표 6>
위상 1 (i mod 2 = 1)
금지되는 심볼들 [ci]2 0000000001 x≠(0,0,0,0,0) 일때 x10x20x30x40x50
대치 심볼들 [di]2 1000000000 x≠(0,0,0,0,0)일때 x10x20x30x40x50
위상(1)에서의 모든 대치들은 위상(0)에서 허용되는 심볼들의 리스트와 관련이 있으므로, 단계 323에서 위상(0)에서는 어떤 대치도 수행되지 않는다. 2209=99121 및 2219 > 99122이기 때문에, s=10인 이 코드들의 클래스에 대하여 가능한 최대 레이트는 209/210이다. 이 계열의 코드들은 L=2s/2(2s/2-1)-1 크기의 심볼 알파벳을 갖고, G=2(s-1)-2 및 I=3(s/2)-2의 제약들(여기서, s는 짝수로 가정하고, 코드 워드 크기, n 비트는 2s에 의해 나누어 떨어짐)을 만족한다. 210이 20에 의해 나누어 떨어지지 않지만, 파라미터 n=210, L=991, s=10 코드를 갖는 레이트 209/210 PRML(G=16, I=13) 코드를 구비하는 도 3a에 도시된 형태의 변조 인코더도 역시 구성될 수 있다. 이 경우에, 코드 워드 j의 제1 심볼은 위상(j mod 2)에서 발생하고, 도 3c에서는 각 코드 워드의 제1 심볼은 항상 위상(0)에서 발생한다.
불평형(unbalanced)의 인터리빙된 코드들은 고정 크기의 주기적으로 변화하는 심볼 알파벳들을 갖는 코드들의 서브클래스이고, 비제약된 입력 데이터를 제약 된 데이터로 인터리빙하는 것에 기초하여 간단한 인코딩/디코딩 구조들에 의해 구현될 수 있다. 이 클래스의 코드들은 L=2s/2(2s/2-1) 크기의 심볼 알파벳을 갖고, G=2(s-1) 및 I=3(s/2)-2의 제약들(여기서, s는 짝수로 가정하고, 코드 워드 크기 n 비트는 2s에 의해 나누어 떨어짐)을 만족한다.
도 4는 불평형의 인터리빙된 코드들로 보여지는 간략화된 레이트-199/200 변조 인코더(400)을 도시한다. 변조 인코더(400)는 코드 2에 대한 대안적인 인코딩 구조이다. s=10인 코드 2에 대하여, 다음 파라미터들에 대한 값들로 L=992, G=18, I=13이 적용된다. 또한, 변조 인코더(400)는 다른 코드들에 적용될 수 있다.
도 4를 참조하면, 단계 401에서 199-비트 입력 워드들(420)이 특정 방식으로 디멀티플렉싱된다. 디멀티플렉싱은 짝수 심볼들로부터 짝수 비트들을 추출하고, 홀수 심볼들로부터 홀수 심볼들을 추출함에 의해 수행되어 99-비트 워드 [ai]를 생성한다. 5개의 짝수 비트들이 10개의 짝수 심볼들로부터 추출되고, 5개의 홀수 비트들이 첫번째 9개의 홀수 심볼들로부터 추출되며, 4개의 비트들이 10번째 홀수 심볼로부터 추출되어 [ai]의 99비트들을 생성한다. [ai]의 99개의 추출된 비트들은 워드(420)에서 X가 없는 빈 박스들로 도시된다. X가 있는 박스들로 도시된 워드(420)의 남은 100개의 비트들은 원래의 199 비트 워드로부터 제거되고, 이하에서 설명화는 바와 같이 단계 404에서 재조합된다.
사용자 데이터의 워드에서 대체로 제1 심볼은 0번째 심볼로 간주되므로, 짝수 심볼이다. 다음에는 홀수 심볼, 그 다음에는 짝수 심볼 등이 된다. 대체로 심 볼의 제1 비트는 0번째 비트로 간주되어, 짝수 비트이다. 심볼의 제2 비트는 홀수이고, 그 다음 비트는 짝수 등이다.
99-비트 워드 [ai]는 기수 변환(단계 402)에서 (제약된 데이터의) 100-비트 워드로 인코딩된다. 단계 402에서, 인코더의 입력에서의 99-비트 수 [ai]는 기수 31의 정수 표현인 [bi]로 변환된다. [ai] 정수에서의 인덱스 i(0~98)는 [ai]의 99개의 비트들에 대응한다. [bi] 정수에서의 인덱스 i(0~19)는 [bi]의 20개의 심볼에 대응한다. [bi]의 심볼들 각각은 5 비트들로 표현될 수 있다.
단계 403에서, 대치 동작은 [bi] 내의 금지되는 패턴들을 대치한다. 대치 동작(403)은 비트 패턴들(00000, bi=0)을 대치 패턴들(11111, ci=31)로 대치하여, 20개의 심볼들(각 심볼은 5개의 이진 비트들로 표현됨)을 갖는 제약된 정수 [ci]를 생성한다. 단계 401에서 짝수 비트들은 짝수 심볼들로부터 추출되고, 홀수 비트들은 홀수 심볼들로부터 추출되기 때문에, 대치(단계 403)는 이전 실시예들에서 사용된 복수 위상 대치를 수행하지 않고, 입력 데이터에서 금지된 심볼들(x0x0x0x0x0 및 0x0x0x0x0x) 모두를 제거할 수 있다.
대치(단계 403) 이후에, 제약된 심볼들 [ci] 및 워드(420)로부터 비제약된 100 비트들은 단계 404에서 함께 멀티플렉싱되어, 도 4에 도시된 바와 같이 200 비트 워드(421)를 생성한다. 조합된 200 비트 워드는 단계 405에서 1/(1+D2) 프리코 더에 의해 프로세싱된다.
본 발명의 또 다른 실시예에 따라, 호너(Horner)의 법칙에 기초한 간단하고 효율적인 알고리즘이 2s/2 진법과 (2s/2-1) 진법 사이의 기수 변환을 구현하도록 사용될 수 있다. 행렬 곱에 기초한 기수 변환 알고리즘은 미국 특허 제6,236,340에서 논의된다.
s=10에 대하여, 코드 2에 대한 인코더측의 알고리즘은 진법(31) 계산에서의 19번의 연속적인 곱셈-덧셈을 사용하여 기수 변환 엔진의 입력에서 99-비트 정수를 평가하는 것을 기초로 한다. 진법(31) 계산에서 32=31+1에 의한 곱셈은 시프트-및-덧셈과 등가이므로, 수학식 1에 따라 20개의 5-비트 진법(31) 수를 얻기 위해서는 진법(31) 계산에서 단지 19개의 덧셈들이 필요하다.
<수학식 1>
Figure 112005070292021-PAT00001
인코더에서의 기수 변환 알고리즘은 입력으로써 2개의 5-비트 가수(addend) 및 1-비트 캐리(carry)를 갖고, 출력으로써 하나의 5-비트의 31 진수 및 1-비트 캐리를 갖는 2+3+4+...+20=209의 연속적인 5-비트 전가산기(full adder)들에 의해 구현될 수 있다. 5-비트 덧셈을 위한 계산 유닛은 불 논리를 이용하여 구현될 수 있고, 여기서 11 비트들은 6비트들로 매핑되고, 논리 회로는 지연시간(latency)과 관 련하여 최적화된다. 또한, 2 이상의 덧셈들이 일괄적으로 행해질 수 있고, 지연 및 게이트 카운트에 대하여 최적화될 수 있다. 예컨대, 2개의 5-비트 덧셈들은 21비트를 11비트로 매핑하는 불 회로에 의해 수행될 수 있다.
디코더측의 알고리즘은 진법 32 계산에서 19개의 연속하는 곱셈-및-뺄셈을 이용하여 기수 변환 엔진의 입력에서 100-비트 정수를 평가하는 것에 기초한다. 진법 32 계산에서 31=32-1에 의한 곱은 시프트-및-뺄셈과 등가이므로, 수학식 2에 도시된 바와 같이 20개의 5-비트 32 진수를 얻기 위해서는 단지 19개의 뺄셈만이 진법(32) 계산에서 수행될 필요가 있다.
<수학식 2>
Figure 112005070292021-PAT00002
디코더에서의 기수 변환 알고리즘은 2+3+4+...+20=209의 연속하는 5-비트 뺄셈들에 의해 구현될 수 있다.
이전에 논의된 PRML(G,I)의 3가지 계열들의 제약들은 리드-솔로몬(RS) 인코더의 입력에서 특징을 갖는다. 이 코드들에 대한 코드 파라미터들은 아래의 표 7에 요약되어 있다. 상술한 바와 같이, L은 기수 변환 단계에서 생성되는 수의 진법을 나타내고, p는 위상들의 수이고, G는 전역적인 제약이며, I는 인터리빙되는 제약이고, s는 각 심볼에서 이진 비트들의 수이다.
<표 7>
코드 1 코드 2 코드 3
L 2s/2(2s/2-1)-1 2s/2(2s/2-1)-1 2s/2(2s/2-1)-1
P 4 2 2
G 3s-4 2(s-1) 2(s-2)
I 5(s/2)-3 3(s/2)-2 3(s/2)-2
전체 시스템 관점에서, 기록 채널의 입력에서의 제약은 중요하다. 다시 말해서, 기록 채널 입력에서 DC-패턴들 및 나이키스트 패턴들의 최대 길이 및 기록 채널의 홀수 또는 짝수의 인터리브에서 DC-패턴들의 최대 길이가 계산될 필요가 있다. 이 파라미터들은 도 1b에 도시된 부분 심볼 인터리버(114)의 출력에서 시퀀스들의 변조 특성들을 연구함에 의해 결정될 수 있다.
부분 심볼 인터리빙의 깊이는 기록 채널 입력에서의 변조 제약들이 가능한 한 엄격(tight)하도록 선택되어야 한다. 기록 채널 입력에서의 변조 제약들을 엄격하게 할 수 있는 하나의 방법은 제약된 RS 데이터 심볼들 사이에서 비제약된 RS 패리티 심볼들을 인터스퍼싱(interspersing)하여, 어떤 2개의 RS 패리티 심볼들도 서로 인접하지 않도록 하는 것이다. 이 기술의 예들은 도 5a 및 도 5b를 참조하여 이하에서 설명한다.
도 5a는 코드 1에 대하여 선택되었던 깊이-5의 부분 심볼 인터리빙 방식을 나타내고, 여기서 n은 RS 코드 워드들의 길이(심볼들에서)를 말한다. 도 5a는 RS 인코더(112)에 의해 생성되는 코드 워드 및 부분 심볼 인터리버(114)에 의해 생성되는 코드 워드를 도시한다. 아래에 음영이 없는 박스들을 갖는 비트들은 리드-솔 로몬(RS) 데이터 심볼들이고, 아래에 음영이 있는 박스들을 갖는 비트들은 RS 패리티 심볼들이다. 도 5a에 도시된 바와 같이, 부분 심볼 인터리버(114)는 RS 데이터 심볼들 사이에 RS 패리티 심볼들을 인터스퍼싱한다. 각 RS 패리티 심볼은 4개의 RS 데이터 심볼들에 의해 또 다른 RS 패리티 심볼과 분리된다. 예컨대, RS 패리티 심볼들 n과 n-5는 4개의 RS 데이터 심볼들에 의해 분리된다.
도 5b는 코드 2 및 코드 3에 대하여 선택되었던 깊이-4의 부분 심볼 인터리빙 방식을 나타낸다. 도 5b는 RS 인코더(112)에 의해 생성되는 코드 워드 및 부분 심볼 인터리버(114)에 의해 생성되는 코드 워드를 도시한다. 아래에 음영이 없는 박스들을 갖는 비트들은 리드-솔로몬(RS) 데이터 심볼들이고, 아래에 음영이 있는 박스들을 갖는 비트들은 RS 패리티 심볼들이다. 도 5a에 도시된 바와 같이, 부분 심볼 인터리버(114)는 RS 데이터 심볼들 사이에 RS 패리티 심볼들을 인터스퍼싱한다. 각 RS 패리티 심볼은 3개의 RS 데이터 심볼들에 의해 또 다른 RS 패리티 심볼과 분리된다. 예컨대, RS 패리티 심볼들 n과 n-4는 3개의 RS 데이터 심볼들에 의해 분리된다.
아래의 표 8은 내부 패리티 코드가 레이트-100/102 코드라고 가정되는 코드 1, 코드 2 및 코드 3에 대하여 부분 심볼 인터리빙 및 내부 패리티 비트 삽입을 따르는 변조 제약들을 요약한다.
<표 8>
코드 1 코드 2 코드 3
(G, I) (38, 28) (30, 19) (28, 19)
본 발명은 특정 실시예를 참조하여 기술되었지만, 그 변형의 범위 및 다양한 변화들, 대치들은 본 발명에 포함된다. 어떤 예들에서는, 기재된 본 발명의 범위를 벗어나지 않고 대응하는 다른 특성들을 이용하지 않으면서 본 발명의 특징이 채용될 수 있다. 따라서, 본 발명의 범위 및 정신을 벗어나지 않고 개시된 특정 구성 또는 방법을 채택하는 많은 변형들이 행해질 수 있다. 본 발명은 여기 개시된 특정 실시예에 제한되지 않고, 본 발명은 청구항들의 범위에 내에 있는 모든 실시예들 및 균등물들을 포함할 것이다.
본 발명에 따르면, 지연 시간을 감소시킴과 동시에 에러에 취약한 데이터 패턴들을 제거할 수 있다.

Claims (25)

  1. 데이터에 변조 제약들을 부과하기 위한 방법에 있어서,
    진법 변환(base conversion) 기술을 사용하여 제1 진법의 데이터 워드를 제2 진법의 정수(integer)-상기 정수는 복수의 심볼들을 포함함-로 변환하는 단계; 및
    배제되는 심볼들과 매칭되는 정수 내의 심볼들에 대하여 주기적으로 변화하는 심볼 매핑을 수행하는 단계를 포함하는 변조 제약 부과 방법.
  2. 제1항에 있어서, 진법 변환(base conversion) 기술을 사용하여 제1 진법의 데이터 워드를 제2 진법의 정수(integer)로 변환하는 상기 단계는,
    제1 진법의 상기 데이터 워드를 상기 제2 진법으로 변환하기 위해 기수 변환(radix conversion)을 수행하는 단계를 더 포함하는 변조 제약 부과 방법.
  3. 제1항에 있어서, 주기적으로 변화하는 심볼 매핑들을 수행하는 상기 단계는,
    상기 정수 내의 심볼들 중 하나가 제1 위상 동안에 금지되는 제1 심볼과 매칭되는 경우에, 상기 심볼을 제1 대치 심볼(substitute symbol)로 대치하는 단계를 더 포함하는 변조 제약 부과 방법.
  4. 제3항에 있어서, 주기적으로 변화하는 심볼 매핑들을 수행하는 상기 단계는,
    상기 정수 내의 심볼들 중 하나가 제2 위상 동안에 금지되는 제2 심볼과 매 칭되는 경우에, 상기 심볼을 제2 대치 심볼로 대치하는 단계를 더 포함하는 변조 제약 부과 방법.
  5. 제4항에 있어서, 주기적으로 변화하는 심볼 매핑들을 수행하는 상기 단계는,
    상기 정수 내의 심볼들 중 하나가 제3 위상 동안에 금지되는 제3 심볼과 매칭되는 경우에, 상기 심볼을 제3 대치 심볼로 대치하는 단계를 더 포함하는 변조 제약 부과 방법.
  6. 제1항에 있어서, 1/(1+D2) 프리코더를 사용하여 상기 정수를 프리코딩하는 단계를 더 포함하는 변조 제약 부과 방법.
  7. 제1항에 있어서, 데이터에 변조 제약들을 부과하기 위한 상기 방법은 리버스 접합(reverse concatenation) 방식으로 수행되는 변조 제약 부과 방법.
  8. 제7항에 있어서,
    RS 인코더를 사용하여 리드-솔로몬(RS) 패리티 심볼들을 생성하는 단계; 및
    각 RS 패리티 심볼이 적어도 4개의 상기 정수 심볼들에 의해 분리되도록 상기 정수의 심볼들의 세트들 사이에 상기 RS 패리티 심볼들을 인터스퍼싱(interspersing)하는 단계를 더 포함하는 변조 제약 부과 방법.
  9. 제7항에 있어서,
    RS 인코더를 사용하여 리드-솔로몬(RS) 패리티 심볼들을 생성하는 단계; 및
    각 RS 패리티 심볼이 적어도 3개의 상기 정수 심볼들에 의해 분리되도록 상기 정수의 심볼들의 세트들 사이에 상기 RS 패리티 심볼들을 인터스퍼싱(interspersing)하는 단계를 더 포함하는 변조 제약 부과 방법.
  10. 데이터에 변조 제약들을 부과하기 위한 방법에 있어서,
    데이터 블록을 생성하기 위해, 데이터 워드에서 짝수 심볼들로부터 짝수 비트들을 추출하고, 홀수 심볼들로부터 홀수 비트들을 추출하는 단계;
    진법 변환 기술을 사용하여, 제1 진법의 데이터 블록을 제2 진법의 제1 정수로 변환하는 단계;
    제2 정수를 생성하기 위해, 금지되는 심볼들과 매칭되는 상기 제1 정수 내의 심볼들을 대치 심볼들로 대치하는 단계; 및
    상기 제2 정수 내의 비트들을 데이터 워드의 짝수 심볼들로부터의 홀수 비트들 및 홀수 심볼들로부터의 짝수 비트들로 인터리빙하는 단계를 포함하는 변조 제약 부과 방법.
  11. 제10항에 있어서, 1/(1+D2) 프리코더를 사용하여 상기 정수를 프리코딩하는 단계를 더 포함하는 변조 제약 부과 방법.
  12. 제10항에 있어서, 진법 변환 기술을 사용하여 제1 진법의 데이터 블록을 제2 진법의 제1 정수로 변환하는 상기 단계는,
    상기 제1 진법의 제1 정수를 상기 제2 진법으로 변환하기 위해 기수 변환을 수행하는 단계를 더 포함하는 변조 제약 부과 방법.
  13. 제10항에 있어서, 제2 정수를 생성하기 위해 금지되는 심볼들과 매칭되는 상기 제1 정수 내의 심볼들을 대치 심볼들로 대치하는 상기 단계는,
    s/2개의 연속하는 0을 갖는 상기 제1 정수 내의 심볼들을 s/2개의 연속하는 1을 갖는 심볼들로 대치하는 단계-여기서 s는 데이터 워드의 각 심볼 내의 비트수임-를 더 포함하는 변조 제약 부과 방법.
  14. 변조 인코더를 구비하는 디스크 드라이브 제어기 칩셋을 포함하고,
    상기 변조 인코더는 진법 변환 기술을 사용하여 제1 진법의 데이터 워드들을 제2 진법의 정수들로 변환하고, 배제되는 심볼들과 매칭되는 상기 정수들 내의 심볼들에 대하여 주기적으로 변화하는 심볼 매핑들을 수행하는 디스크 드라이브 시스템.
  15. 제14항에 있어서, 상기 디스크 드라이브 제어기 칩셋은 1/(1+D2) 프리코더를 더 포함하는 디스크 드라이브 시스템.
  16. 제14항에 있어서, 상기 디스크 드라이브 제어기 칩셋은,
    상기 변조 인코더의 출력에 결합되고, 패리티 심볼들을 생성하는 리드-솔로몬 에러 정정 인코더; 및
    각 RS 패리티 심볼이 적어도 3개의 상기 정수 심볼들에 의해 분리되도록 상기 정수들의 심볼들의 세트들 사이에 상기 패리티 심볼들을 인터스퍼싱(interspersing)하는 멀티플렉서를 포함하는 디스크 드라이브 시스템.
  17. 제16항에 있어서, 각 패리티 심볼은 적어도 4개의 상기 정수 심볼들에 의해 분리되는 디스크 드라이브 시스템.
  18. 제14항에 있어서, 상기 변조 인코더는 상기 제1 진법의 데이터 워드들을 상기 제2 진법으로 변환하는 기수 변환을 수행하는 디스크 드라이브 시스템.
  19. 제14항에 있어서, 상기 변조 인코더는 제1 위상 동안에 금지되는 제1 심볼과 매칭되는 상기 정수 내의 심볼들을 제1 대치 심볼로 대치하는 디스크 드라이브 시스템.
  20. 제15항에 있어서, 상기 변조 인코더는 제2 위상 동안에 금지되는 제2 심볼과 매칭되는 상기 정수 내의 심볼들을 제2 대치 심볼로 대치하는 디스크 드라이브 시스템.
  21. 제16항에 있어서, 상기 변조 인코더는 제3 위상 동안에 금지되는 제3 심볼과 매칭되는 상기 정수 내의 심볼들을 제3 대치 심볼로 대치하는 디스크 드라이브 시스템.
  22. 변조 인코더를 포함하는 디스크 드라이브 제어기 칩셋을 포함하고,
    상기 변조 인코더는,
    데이터 블록을 생성하기 위해, 데이터 워드에서 짝수 심볼들로부터 짝수 비트들을 추출하고, 홀수 심볼들로부터 홀수 비트들을 추출하며,
    진법 변환 기술을 사용하여, 제1 진법의 데이터 블록을 제2 진법의 제1 정수로 변환하고,
    제2 정수를 생성하기 위해, 금지되는 심볼들과 매칭되는 상기 제1 정수 내의 심볼들을 대치 심볼들로 대치하며,
    제약된 데이터 워드를 생성하기 위해 상기 제2 정수 내의 비트들을 데이터 워드의 짝수 심볼들로부터의 홀수 비트들 및 홀수 심볼들로부터의 짝수 비트들로 인터리빙하는 디스크 드라이브 시스템.
  23. 제22항에 있어서, 상기 디스크 드라이브 제어기 칩셋은 1/(1+D2) 프리코더를 더 포함하는 디스크 드라이브 시스템.
  24. 제22항에 있어서, 상기 디스크 드라이브 제어기 칩셋은,
    상기 변조 인코더의 출력에 결합되고, 패리티 심볼들을 생성하는 리드-솔로몬 에러 정정 인코더; 및
    각 RS 패리티 심볼이 적어도 3개의 상기 정수 심볼들에 의해 분리되도록 상기 정수들의 심볼들의 세트들 사이에 상기 패리티 심볼들을 인터스퍼싱(interspersing)하는 멀티플렉서를 포함하는 디스크 드라이브 시스템.
  25. 제22항에 있어서, 상기 변조 인코더는 기수 변환을 사용하여, 상기 제1 진법의 데이터 블록을 상기 제2 진법의 제1 정수로 변환하는 디스크 드라이브 시스템.
KR1020050116324A 2004-12-01 2005-12-01 주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에변조 제약들을 적용하기 위한 기술들 KR20060061261A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/002,970 US7030789B1 (en) 2004-12-01 2004-12-01 Techniques for applying modulation constraints to data using periodically changing symbol mappings
US11/002,970 2004-12-01

Publications (1)

Publication Number Publication Date
KR20060061261A true KR20060061261A (ko) 2006-06-07

Family

ID=36147427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050116324A KR20060061261A (ko) 2004-12-01 2005-12-01 주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에변조 제약들을 적용하기 위한 기술들

Country Status (4)

Country Link
US (1) US7030789B1 (ko)
EP (1) EP1679597A3 (ko)
KR (1) KR20060061261A (ko)
CN (1) CN100527248C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101279204B1 (ko) * 2006-10-24 2013-06-26 삼성전자주식회사 터보 부호기의 인터리빙 방법 및 장치

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142134B2 (en) * 2005-02-01 2006-11-28 Hitachi Global Storage Technologies Netherlands B.V. Techniques for generating modulation codes using running substitutions
US7386780B2 (en) * 2005-02-03 2008-06-10 Agere Systems Inc. Method and apparatus for encoding and precoding digital data within modulation code constraints
US20070007359A1 (en) * 2005-07-08 2007-01-11 Ward/Kraft System and method for generating variably configured magnetic templates
US7714748B1 (en) * 2005-07-22 2010-05-11 Marvell International Ltd. Systems and methods for constructing high-rate constrained codes
US7696908B2 (en) * 2006-01-04 2010-04-13 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for reducing error propagation using modulation codes having a variable span
US7962827B2 (en) 2006-03-08 2011-06-14 Marvell World Trade Ltd. Systems and methods for achieving higher coding rate using parity interleaving
US7934143B1 (en) * 2006-04-24 2011-04-26 Marvell International Ltd. Parity insertion for inner architecture
US7827464B2 (en) * 2006-11-15 2010-11-02 Seagate Technology Llc Iterative read channel architectures with coded modulation
US7877662B2 (en) * 2007-03-23 2011-01-25 International Business Machines Corporation Reverse concatenation for product codes
US7873894B2 (en) * 2007-03-23 2011-01-18 International Business Machines Corporation Reverse concatenation for product codes
US8055085B2 (en) * 2007-07-12 2011-11-08 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7602316B2 (en) * 2007-07-12 2009-10-13 Monro Donald M Data coding/decoding for electrical computers and digital data processing systems
US7548176B2 (en) * 2007-07-12 2009-06-16 Donald Martin Monro Data coding buffer for electrical computers and digital data processing systems
US7671767B2 (en) * 2007-07-12 2010-03-02 Donald Martin Monro LIFO radix coder for electrical computers and digital data processing systems
US7990289B2 (en) * 2007-07-12 2011-08-02 Intellectual Ventures Fund 44 Llc Combinatorial coding/decoding for electrical computers and digital data processing systems
US8144037B2 (en) 2007-07-12 2012-03-27 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7545291B2 (en) * 2007-07-12 2009-06-09 Donald Martin Monro FIFO radix coder for electrical computers and digital data processing systems
US8307267B2 (en) * 2008-03-14 2012-11-06 Seagate Technology Llc Programmable soft-output Viterbi algorithm system and method
US7786907B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7864086B2 (en) * 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US7786903B2 (en) * 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7791513B2 (en) 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
KR20110017613A (ko) * 2009-08-14 2011-02-22 삼성전자주식회사 메모리 장치의 시퀀스 대체 방법, 상기 방법을 수행할 수 있는 장치들
US8904258B2 (en) * 2010-09-07 2014-12-02 Zephyr Photonics Modulation-forward error correction (MFEC) codes and methods of constructing and utilizing the same
US9558782B2 (en) * 2012-05-29 2017-01-31 International Business Machines Corporation Partial reverse concatenation for data storage devices using composite codes
US9178534B2 (en) 2012-05-29 2015-11-03 International Business Machines Corporation Methods for partial reverse concatenation for data storage devices using composite codes
RU2012152710A (ru) * 2012-12-06 2014-06-20 ЭлЭсАй Корпорейшн Модуляционное кодирование битов четности, сформированных с использованием кода с исправлением ошибок
US9160452B2 (en) 2012-12-29 2015-10-13 Zephyr Photonics Inc. Apparatus for modular implementation of multi-function active optical cables
US10958348B2 (en) 2012-12-29 2021-03-23 Zephyr Photonics Inc. Method for manufacturing modular multi-function active optical cables
US9190809B2 (en) 2012-12-29 2015-11-17 Zephyr Photonics Inc. Method and apparatus for active voltage regulation in optical modules
US9468085B2 (en) 2012-12-29 2016-10-11 Zephyr Photonics Inc. Method and apparatus for implementing optical modules in high temperatures
US9728936B2 (en) 2012-12-29 2017-08-08 Zephyr Photonics Inc. Method, system and apparatus for hybrid optical and electrical pumping of semiconductor lasers and LEDs for improved reliability at high temperatures
US9172462B2 (en) * 2012-12-31 2015-10-27 Zephyr Photonics Inc. Optical bench apparatus having integrated monitor photodetectors and method for monitoring optical power using same
US9081674B2 (en) 2013-02-28 2015-07-14 Micron Technology, Inc. Dual mapping between program states and data patterns

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4818969A (en) 1984-08-09 1989-04-04 Kronos, Inc. Method of fixed-length binary encoding and decoding and apparatus for same
US4707681A (en) 1986-04-24 1987-11-17 International Business Machines Corporation Method and apparatus for implementing optimum PRML codes
DE68920739T2 (de) 1989-08-16 1995-06-29 Ibm Daten-Kodierung für den Sofortstart von PRML-Empfängern.
US5311521A (en) 1990-01-12 1994-05-10 Boris Fitingof Method and apparatus for implementing post-modulation error correction coding scheme
US5511096A (en) * 1994-01-18 1996-04-23 Gi Corporation Quadrature amplitude modulated data for standard bandwidth television channel
CN1110903C (zh) 1995-02-03 2003-06-04 皇家菲利浦电子有限公司 编码装置和译码装置
US5757822A (en) 1995-08-24 1998-05-26 Quantum Corporation Bit-interleaved rate 16/17 modulation code with three-way byte-interleaved ECC
US5757294A (en) 1996-12-31 1998-05-26 Quantum Corporation Rate 24/25 modulation code for PRML recording channels
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
US6018304A (en) 1997-12-18 2000-01-25 Texas Instruments Incorporated Method and apparatus for high-rate n/n+1 low-complexity modulation codes with adjustable codeword length and error control capability
US6236340B1 (en) * 1999-01-04 2001-05-22 Quantum Corporation Modulation encoders and decoders
US6417788B1 (en) 1999-07-09 2002-07-09 Maxtor Corporation High rate runlength limited codes for 10-bit ECC symbols
US6643814B1 (en) * 1999-07-12 2003-11-04 International Business Machines Corporation Maximum transition run encoding and decoding systems
SG87129A1 (en) 1999-07-12 2002-03-19 Ibm Data encoding systems
US6959412B2 (en) * 2002-03-04 2005-10-25 Seagate Technology Llc Error correction coding utilizing numerical base conversion for modulation coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101279204B1 (ko) * 2006-10-24 2013-06-26 삼성전자주식회사 터보 부호기의 인터리빙 방법 및 장치

Also Published As

Publication number Publication date
US7030789B1 (en) 2006-04-18
CN100527248C (zh) 2009-08-12
CN1808610A (zh) 2006-07-26
EP1679597A3 (en) 2009-01-28
EP1679597A2 (en) 2006-07-12

Similar Documents

Publication Publication Date Title
KR20060061261A (ko) 주기적으로 변화하는 심볼 매핑들을 이용하여 데이터에변조 제약들을 적용하기 위한 기술들
KR101114057B1 (ko) Rll 인코딩
US6504493B1 (en) Method and apparatus for encoding/decoding data
KR20060088060A (ko) 쇼트 블록 인코더를 이용하여 데이터를 변조하는 방법
Hareedy et al. LOCO codes: Lexicographically-ordered constrained codes
KR101211244B1 (ko) 모듈레이션 코딩 및 디코딩
JP2001060872A (ja) データ符号化システム
Van Wijngaarden et al. Maximum runlength-limited codes with error control capabilities
US7786905B2 (en) Modulation coding and decoding
US9431053B2 (en) Run-length limited (RLL) codes
Hareedy et al. Asymmetric LOCO codes: Constrained codes for Flash memories
KR101332142B1 (ko) Lto-5 테이프용 rll 인코딩
US7616134B1 (en) Systems and methods for enumerative encoding and decoding of maximum-transition-run codes and PRML (G,I,M) codes
CN1386327A (zh) 把二进制信息信号的数据比特流变换成约束的二进制信道信号的数据比特流的方法,用于编码的装置,包括约束的二进制信道信号的数据比特流的信号,记录载体,用于译码的方法,用于译码的装置
JP2000078025A (ja) 符号化されたデ―タを処理する装置
CN1894748B (zh) 数据存储系统
Blaum et al. Error-correcting codes with bounded running digital sum
JPH10503355A (ja) 可変ブロック長でデータを符号化するための方法および装置
İrimağzı et al. Protecting the future of information: LOCO coding with error detection for DNA data storage
Blaum et al. Enumerative encoding with non-uniform modulation constraints
Poo Optimal code rates for constrained systems with unconstrained positions: An approach to combining error correction codes with modulation codes for digital storage systems
McLaughlin et al. One-pairs codes for partial response magnetic recording
Sankarasubramaniam New capacity-approaching codes for run-length-limited channels
Mittelholzer et al. Reverse concatenation of product and modulation codes
Immink High-rate maximum runlength constrained coding schemes using base conversion

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20051201

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid