KR101332142B1 - Lto-5 테이프용 rll 인코딩 - Google Patents

Lto-5 테이프용 rll 인코딩 Download PDF

Info

Publication number
KR101332142B1
KR101332142B1 KR1020107000125A KR20107000125A KR101332142B1 KR 101332142 B1 KR101332142 B1 KR 101332142B1 KR 1020107000125 A KR1020107000125 A KR 1020107000125A KR 20107000125 A KR20107000125 A KR 20107000125A KR 101332142 B1 KR101332142 B1 KR 101332142B1
Authority
KR
South Korea
Prior art keywords
bits
block
input sequence
bit input
bit
Prior art date
Application number
KR1020107000125A
Other languages
English (en)
Other versions
KR20100040837A (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 KR20100040837A publication Critical patent/KR20100040837A/ko
Application granted granted Critical
Publication of KR101332142B1 publication Critical patent/KR101332142B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드를 인코딩 및 디코딩하기 위해 방법 및 장치를 제공하고, s는 비트 단위의 ECC 심볼 크기이고, K는 r번째 s-비트 심볼을 인코딩하는 레이트-s/(s+1) 인코더의 출력에서 (s+1)-비트로 이루어진 인코딩된 블록과 인터리빙되는 인코딩되지 않은 심볼의 개수이다. K=m/s-1이고, m=s(K+1)이 인코딩될 비트의 전체 개수이다. 에러 전파가 감소되기 때문에, ECC 코드가 에러를 효율적으로 정정할 수 있게 된다. 또한, 검출기 출력에서 가능한 에러 이벤트의 발생을 제거함으로써 헤더 에러 레이트가 감소된다. 처음에 RLL 코드가 s비트의 ECC 심볼 크기로 설계될 수도 있지만, 본 발명의 RLL 인코딩은 s비트가 아닌 심볼 크기를 이용하는 ECC 방식과 관련하여 사용될 수 있다.

Description

LTO-5 테이프용 RLL 인코딩{RLL ENCODING FOR LTO-5 TAPE}
본 출원은 "HIGH-RATE RLL ENCODING"라는 명칭으로 2007년 5월 16일에 출원된 공동으로 위임되고 동시 계류중인 미국 출원 제11/749,711호[IBM Docket #TUC920070095US1]에 관한 것으로, 그 전체 내용은 본 명세서에서 참조로써 포함된다.
본 발명은 일반적으로 RLL 인코딩에 관한 것으로, 특히, 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드를 이용한 데이터 입력 시퀀스의 인코딩에 관한 것이다.
런 길이 제한(Runlength-limited)(RLL) 코드는 디지털 데이터를 기록 및 재생하는 프로세스에 있어서 바람직하지 못한 시퀀스를 제거하기 위해 자기 및 광학 데이터 저장소에서 널리 사용되어 왔다. 다양한 부류의 RLL 코드가 실제로 사용된다. 예컨대, 레이트-1/2 RLL(2,7), 레이트-2/3 RLL(1,7) 코드와 같은 런 길이 제한 RLL(d,k)를 사용하는 피크 검출 시스템은, 낮은 정규화 선형 밀도(low normalized linear densities)의 디지털 자기 저장소에서 지배적이었다. 중간의 정규화 선형 밀도에서, 데이터 저장소로 부분 응답 최대 우도(PRML: partial-response maximum-likelihood) 검출 채널의 도입은, 상이한 형태의 제약 코드(constrained codes)를 필요로 하였다. PRML(G,I) 코드로서 알려진 이러한 부류의 코드는, 검출기 성능을 현저히 저하시키지 않으면서, 타이밍 복구 및 이득 제어를 용이하게 하고, 시퀀스 검출기의 경로 메모리 길이 및 그에 따른 디코딩 지연(decoding delay)을 제한한다.
PRML 개념을 일반화하는 자기 기록시의 노이즈 예측 최대 우도(NPML: noise-predictive maximum likelihood) 채널은, DC의 스펙트럴 널(spectral nulls) 및/또는 나이키스트 주파수 1/(2T)를 갖는 검출기 타겟(detector targets)을 가진다. 따라서,
Figure 112013049541551-pct00001
과 연관된 PRML(G,I) 코드는 NPML 채널에서도 사용될 수 있다. 또한, PRML(G,I) 코드는,
Figure 112013049541551-pct00002
프리코더(precoder)의 입력 M 제약 조건으로서도 알려져 있는 VFO 제약 조건을 만족시킬 수 있다. VFO 제약 조건은 인코딩된 데이터를 동기화 프리앰블로부터 구별하고, PRML 수신기의 빠른 시동(start-up)을 가능하게 한다. G, I 및 M 제약 조건을 만족하는 이러한 부류의 RLL 코드는 PRML(G,I,M) 코드로 알려져 있다. 기록된 VFP 패턴 ...++--++--...은 채널의 중심에서 주파수 1/(4T)의 톤(tone)으로서 수신된다. 1/(4T)의 스펙트럼 성분을 갖는 데이터 패턴을 배제하는 개념, 즉
Figure 112013049541551-pct00003
프리코더의 입력에서 VFO 제약 조건 또는 M 제약 조건은, 주파수 대역(0,1/(2T))에서 0 또는 1의 스펙트럼 성분을 갖는 데이터 패턴을 배제하는 안티 휘슬 코드(anti-whistle codes)의 도입에 의해 일반화되었다.
에러 검출 코딩(ECC) 알고리즘은 흔히 유한 필드 산술(finite-field arithmetic)을 이용하여 설명된다. 유한 필드는 n 요소를 갖고, n은 소수의 제곱이다. 유한 필드는 Galois에 의해 발명되었으므로, Galois 필드(GF)로 알려져 있다. 여기서 사용되는 바와 같이, "GF(n)"는 n 요소를 갖는 Galois 필드를 표시한다. ECC의 존재에서 에러 레이트 성능을 결정하는 가장 중요한 RLL 코드 파라미터는, 에러 전파(error propagation)이다. GF(16)에 대한 2방향 인터리빙 리드-솔로몬(RS) 인코딩(two-way interleaved Reed-Solomon encoding)(ECC 심볼 크기는 s=4비트 또는 1니블임)은, 헤더 리던던시를 증가시키지 않고서, 코드워드 쿼드(codeword quad)(LTO 4) 또는 동기화된 코드워드 오브젝트(codeword object)(LTO 5)에서 헤더의 견고성(robustness)을 증가시키도록 제안되었다. 검출기 출력에서의 거의 모든 랜덤 에러 패턴의 길이가 2~5 NRZI 비트(논 페이딩(non-fading) 형태의 짧은 에러 버스트)이므로, 여기서 에러 전파는, 5 NRZI 비트보다 길지 않은 채널 에러 버스트에 의해 야기되는 RS 코드워드에 있어서 에러 심볼의 최대 개수로서 정의된다. 일반적으로, 헤더 RLL 방식 및 헤더 RS-인코딩 방식은, 채널에서 가능한 에러 이벤트가 RS 코드워드당 많아야 하나의 에러 심볼만을 일으킬 수 있도록 선택되어야 한다. 에러 전파를 최소화하는 RLL 설계가 필요하다.
본 발명은 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드를 인코딩 및 디코딩하는 방법을 제공하고, s는 비트 단위의 ECC 심볼 크기이고, K는 r번째 s비트 심볼을 인코딩하는 레이트-s/(s+1) 인코더의 출력에서 (s+1)-비트로 이루어진 인코딩된 블록과 인터리빙되는 인코딩되지 않은 심볼의 개수이다. K=m/s-1이고, m=s(K+1)은 인코딩될 비트의 전체 개수임을 유의한다. 에러 전파가 감소되기 때문에, ECC 코드가 에러를 효율적으로 정정할 수 있게 된다. 또한, 본 발명은 검출기 출력에서 가능한 에러 이벤트의 발생을 제거함으로써 헤더 에러 레이트가 감소되는 인코딩 방법을 제공한다.
처음에 RLL 코드가 s비트의 ECC 심볼 크기로 설계될 수도 있지만, 본 발명의 RLL 인코딩은 s비트가 아닌 심볼 크기를 이용하는 ECC 방식과 관련하여 사용될 수 있다.
제 1 측면에 의하면, 본 발명은 m 비트의 데이터 입력 시퀀스를 m+1 비트의 출력 시퀀스 코드워드(codeword)로 인코딩하는 방법으로서, m은 ECC 심볼 크기 s의 정수배이고, 상기 방법은, 제 1 m-비트 입력 시퀀스를 포함하는, 인코딩되지 않은 m-비트 입력 시퀀스들의 데이터 스트림을 수신하는 단계와, 각각의 m-비트 입력 시퀀스를 s 비트로 이루어진 제 1 블럭 및 인코딩되지 않은 (m-s) 비트로 이루어진 적어도 하나의 제 2 블럭 - 즉, 하나의 제 2 블럭 또는 둘 이상의 제 2 블럭들 - 으로 분할하는 단계와, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블록에 인접하는 인코딩되지 않은 (m-s) 비트로 이루어진 상기 제2 블럭의 적어도 하나에 응답하여, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 블럭으로 인코딩하는 단계 - 인접한 인코딩되지 않은 블럭과 함께 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 상기 인코딩된 블럭은 j 제약조건, k 제약조건, t 제약조건 및 a 제약조건을 만족하고, 상기 제1 m-비트 입력 시퀀스의 s+1 비트의 상기 인코딩된 블럭은
Figure 112013049541551-pct00088
프리코딩 후에 적어도 q 개의 천이를 일으키고, 여기서 j 제약조건은 1의 최대 런 길이를 제한하고, k 제약조건은 0의 최대 런 길이를 제한하고, t 제약조건은 연속적인 '0'의 쌍(a pair of zeros) 또는 연속적인 '1'의 쌍(a pair of ones)의 최대 개수를 제한하고, 상기 a 제약조건은 번갈아 나타나는(alternating) 이진 심볼들의 최대 길이를 제한함 -; (m+1)-비트 출력 시퀀스 코드워드를 생성하기 위해 상기 제 1 m-비트 입력 시퀀스의 (m/s-1) 개의 인코딩되지 않은 블럭 사이에 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 상기 인코딩된 블럭을 인터리빙하는 단계; 상기 (m+1)-비트 출력 시퀀스 코드워드를
Figure 112013049541551-pct00089
프리코더(precoder)로 프리코딩하는 단계; 프리코딩된 출력 시퀀스 코드워드를 데이터 저장 매체에 저장하는 단계;를 포함하고, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 인코딩하는 단계는, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드로 인코딩하는 단계를 포함하고, 상기 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드는 레이트-8/9 TCMTR(j=10, k=8, t=5, a=13) 코드를 포함한다.
바람직하게, 본 발명은 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 제 1 블록에 인접한 인코딩되지 않은 (m-s) 비트로 이루어진 제 2 블록 중 적어도 하나가 제 1 m-비트 입력 시퀀스 내에 있는 방법을 제공한다.
바람직하게, 본 발명은 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 제 1 블록에 인접한 인코딩되지 않은 (m-s) 비트로 이루어진 제 2 블록 중 적어도 하나가 이전의 m-비트 입력 시퀀스의 끝에 있는 방법을 제공한다.
바람직하게, 본 발명은 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 제 1 블록에 인접한 인코딩되지 않은 (m-s) 비트로 이루어진 제 2 블록 중 적어도 하나가 다음의 m-비트 입력 시퀀스의 처음에 있는 방법을 제공한다.
삭제
삭제
바람직하게, 본 발명은 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드가 레이트-16/17 TCMTR(j=14, k=14, t=10, a=22) 코드를 포함하는 방법을 제공한다.
바람직하게, 본 발명은 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드가 레이트-16/17 TCMTR(j=18, k=16, t=9, a=21) 코드를 포함하는 방법을 제공한다.
제 2 측면에 의하면, 본 발명은 디지털 컴퓨터의 내부 메모리로 로딩가능한 컴퓨터 프로그램 제품을 제공하되, 상기 제품이 컴퓨터 상에서 실행될 때에, 상기한 바와 같은 본 발명을 수행하기 위해 실행되는 소프트웨어 코드부를 포함한다.
도 1은 본 발명의 바람직한 발명에 따라 구현될 수 있는 데이터 저장 장치의 하이레벨 블록도,
도 2는 본 발명의 바람직한 실시예에 따른 인코딩 프로세스의 도면,
도 3은 본 발명의 바람직한 실시예에 따른 인코더의 블록도,
도 4는 본 발명의 바람직한 실시예에 따른 디코딩 프로세스의 도면,
도 5는 본 발명의 바람직한 실시예에 따른 디코더의 블록도,
도 6(a), 6(b)는, 본 발명의 바람직한 실시예에 따라, 본 발명의 제 1 코드에 대한 인코더 및 디코더의 각각의 블록도,
도 7(a), 7(b)는 본 발명의 바람직한 실시예에 따라, 본 발명의 제 2 코드에 대한 인코더 및 디코더의 각각의 블록도,
도 8은 본 발명의 바람직한 실시예에 따른 표 Ⅲ의 목록,
도 9는 본 발명의 바람직한 실시예에 따른 표 Ⅳ의 목록,
도 10은 본 발명의 바람직한 실시예에 따른 표 Ⅴ의 목록,
도 11은 본 발명의 바람직한 실시예에 따른 표 Ⅵ의 목록,
도 12는 본 발명의 바람직한 실시예에 따른 표 Ⅶ의 목록,
도 13(a), 13(b)는 본 발명의 바람직한 실시예에 따라, 본 발명의 제 3 코드에 대한 인코더 및 디코더의 각각의 블록도.
본 명세서에서 설명되는 대부분의 기능 유닛은, 그것들의 구현 독립성을 특히 강조하기 위해, 모듈 또는 구성요소로서 라벨링되었다. 예컨대, 모듈은 커스텀 VLSI 회로 또는 게이트 어레이, 로직 칩과 같은 기성(off-the-shelf) 반도체, 트랜지스터, 또는 다른 개별적인 구성요소를 포함하는 하드웨어 회로로서 구현될 수 있다. 또한, 구성요소는 필드 프로그래밍가능한 게이트 어레이, 프로그래밍가능한 어레이 로직, 프로그래밍가능한 로직 장치 등과 같은 프로그래밍가능한 하드웨어 장치에서 구현될 수 있다.
또한, 구성요소는 다양한 형태의 프로세서에 의한 실행을 위해 소프트웨어에서 구현될 수 있다. 예컨대, 실행가능한 코드의 식별된 구성요소는, 예를 들어 컴퓨터 명령어의 하나 이상의 물리적 또는 논리적 블록을 포함할 수 있고, 이는 오브젝트, 절차 또는 함수로서 조직화될 수 있다. 그럼에도 불구하고, 식별된 구성요소의 실행가능한 부분은, 물리적으로 함께 위치될 필요는 없지만, 상이한 위치에 저장된 이종의 명령어를 포함할 수 있는데, 이들이 논리적으로 함께 결합되어 있는 경우에, 구성요소를 포함하고 그 구성요소에 대한 상기한 목적을 달성한다.
실제로, 실행가능한 코드의 구성요소는, 단일 명령어 또는 다수의 명령어일 수 있고, 심지어는 상이한 프로그램들 사이에 또한 복수의 메모리 장치에 걸쳐서, 복수의 상이한 코드 세그먼트에 분산될 수 있다. 마찬가지로, 동작 데이터가 식별되고 여기서의 구성요소 내에서 도시될 수 있고, 소정의 적합한 형태로 예시될 수 있으며 소정의 적합한 형태의 데이터 구조 내에서 조직화될 수 있다. 동작 데이터는 단일의 데이터 세트로서 수집될 수 있거나, 상이한 저장 장치를 포함하는 상이한 위치에 분산될 수 있으며, 적어도 부분적으로 단순히 시스템 또는 네트워크 상의 전자 신호로서 존재할 수도 있다.
또한, 설명되는 본 발명의 특징, 구조 또는 특성은 하나 이상의 실시예에서 소정의 적합한 방식으로 조합될 수 있다. 이하의 설명에서는, 본 발명의 실시예의 완전한 이해를 제공하기 위해, 프로그래밍의 예시, 소프트웨어 모듈, 사용자 선택, 구성요소, 하드웨어 모듈, 하드웨어 회로, 하드웨어 칩 등과 같은 다수의 구체적인 세부 사항들이 제공된다. 그러나, 당업자라면 본 발명이 하나 이상의 구체적인 세부 사항 없이, 또는 다른 방법, 구성요소, 재료 등으로 실시될 수 있음을 이해할 것이다. 다른 경우에, 본 발명의 측면을 불명확하게 하는 것을 피하기 위해, 공지된 구조, 재료, 구성요소 또는 동작은 도시되지 않거나 상세히 설명되지 않는다.
설명되는 논리 흐름도의 도시된 순서 및 라벨링된 단계는 제시된 프로세스의 일실시예를 나타낸다. 다른 단계 및 프로세스는, 도시된 프로세스의 함수, 하나 이상의 단계에 대한 로직 또는 효과, 또는 그 일부와 동등하다고 생각될 수 있다. 또한, 이용되는 포맷 및 심볼은 프로세스의 논리 단계를 설명하기 위해 제공되는 것이고, 본 발명의 범위를 제한하는 것으로 이해하지 않는다. 또한, 특정한 프로세스가 발생하는 순서는 도시된 대응하는 단계의 순서를 엄밀히 지키거나 지키지 않을 수도 있다.
표기법
표기법 x(i), xi 및 xi는 벡터 x의 성분을 표시하기 위해 교환가능하게 사용된다. 이하의 표현은 n성분을 갖는 행 벡터 x에 사용된다.
Figure 112010000440519-pct00006
이하의 규정은 불(Boolean) 연산을 이용하여 코드 제약 조건을 구체화하는데 사용되었다. " ̄"(윗선(overbar))는 부정(negation)을 나타내고, 곱셈은 AND를 나타내고, "+"(덧셈)은 OR을 나타내고,
Figure 112010000440519-pct00007
은 XOR(배타적-or)을 나타낸다. 이들 4개의 연산 중에서, 부정이 가장 높은 우선권을 갖고, AND가 두 번째로 높은 우선권을 갖고, OR(+)이 세 번째로 높은 우선권을 갖고, XOR
Figure 112010000440519-pct00008
이 가장 낮은 우선권을 갖는다. 여기서 명확하게 기재되는 매우 드문 예외적인 경우에서만, OR 연산을 대신하여, 정수 덧셈을 표시하는데도 덧셈 기호 "+"를 사용하였다. 곱셈 기호가 AND로 사용되지 않고, 즉 프로덕트 "ab"는 "a AND b"를 표시한다.
여기서, 불 로직 기반의 RLL 인코더 및 디코더 하드웨어는, 불 연산에 대한 MATLAB 표기법을 사용하여 특정된다. 특히, "~"는 단항 연산자 부정을 나타내고, "&"는 이항 연산자 AND를 나타내고, "|"는 이항 연산자 OR를 나타내고, "xor(...)"는 2개의 이항 독립 변수를 갖는 함수 XOR(배타적-or)을 나타낸다. 이들 연산자 중에서, 부정(~)이 가장 높은 우선권을 갖고, AND(&)는 두 번째로 높은 우선권을 갖고, OR(|) 가장 낮은 우선권을 갖는다.
Figure 112010000440519-pct00009
프리코딩을 필요로 하는 최대 천이 런(MTR; maximum transition-run) 코드의 부류는, 비터비 검출기의 출력에서 가능한 에러 이벤트의 발생을 제거하기 위해 도입된다. 이들 코드는
Figure 112010000440519-pct00010
프리코더의 입력에서 k 및 j 제약 조건을 만족한다. k 제약 조건은 변조 인코더 출력(
Figure 112010000440519-pct00011
프리코더의 입력)에서의 0의 최대 런 길이(runlength)를 k로 제한한다. j 제약 조건은 변조 인코더 출력(
Figure 112010000440519-pct00012
프리코더의 입력)에서의 1의 최대 런 길이를 j로 제한한다. 자기 기록 애플리케이션에서, MTR 코드 파라미터 j는, 검출기 출력에서의 가능한 에러 이벤트를 제거하기 위해 2, 3 또는 4와 통상적으로 같고, 반면에 코드 파라미터 k는 가능한 가장 높은 코드 레이트를 달성하여 레이트 손실을 최소화하기 위해 일반적으로 훨씬 크다. 시변(time-varying) MTR 코드는 코드워드 내의 위치에 의존적인 시변 j-파라미터 프로파일을 갖는다. 그것들은 금지되는 에러 이벤트를 선택하고 보다 높은 코드 레이트를 달성하는 것과 관련해서 추가적인 유연성을 코드 설계자들에게 부여한다.
또한
Figure 112013049541551-pct00080
프리코딩을 필요로 하는 TCMTR(twins-constrained maximum-transition-run) 코드는, PRML(G,I) 코드에 대한 대안을 제공하고, MTR 코드를 이용하는 부분 응답 시스템(partial-response systems)에서 비터비 검출기의 경로 메모리를 제한하도록 제안되었다. 이러한 부류의 코드는, 3가지 형태의 제약 조건, 즉 k 및 j 제약 조건과, 변조 인코더 출력(
Figure 112013049541551-pct00081
프리코더의 입력)에서의 연속적인 트윈스(twins)(즉, 1쌍의 0, 또는 1쌍의 1)의 최대 개수를 t로 제한하는 트윈스 제약 조건을 만족한다. 2 내지 4 세대용 LTO(Linear Tape Open) 표준에서의 RLL 코드(이하, LTO 2-4)는, 레이트-8/9 "마더(mother)" 코드에 기초한 레이트-16/17 TMCTR 코드이다. 이는,
Figure 112013049541551-pct00082
프리코더의 입력에서의 제약 조건 j=14, k=14, t=11과, VFO 제약 조건을 만족한다.
Figure 112013049541551-pct00083
프리코더의 입력에서의 M 제약 조건(VFO 제약 조건)은,
Figure 112013049541551-pct00084
프리코더의 입력에서의 번갈아 나타나는(alternating) 이진 심볼의 최대 런 길이(a=M+1)와 동등하다. LTO 2-4에서의 레이트-8/9 RLL 마더 코드는, 28=256개의 허용 가능한 9-비트 코드워드의 리스트에서, 2개의 번갈아 나타나는 9-비트 패턴, 즉 010101010 및 101010101을 제거함으로써 a 제약 조건을 만족한다. LTO 2-4에서, 레이트-8/9 인코딩된 바이트는 레이트-16/17 RLL 코드를 획득하기 위해 코딩되지 않은 바이트와 연결된다. j, k, t 및 a 제약 조건을 만족하는 코드의 부류는, TCMTR(j,k,t,a) 코드로 불린다. 이러한 표기법을 사용하여, LTO 2-4에서의 RLL 코드는 레이트-16/17 TCMTR(j=14, k=14, t=11, a=24) 코드로서 설명될 수 있다. 또한, LTO 2-4에서의 각 RLL 코드워드는, 아날로그/디지털 변환 전에 아날로그 이득 제어를 용이하게 하기 위해 적어도 하나의 격리된 천이(isolated transition)(NRZI 패턴 010)을 갖는다. 마지막으로, LTO 2-4에서의 RLL 코드는, 레이트-8/9 마더 코드를 정의하는 리스트 내의 모든 9-비트 코드워드가 적어도 2개의 NRZI 천이(2개의 천이)을 갖음을 보장함으로써, DSS(Data Set Separator)의 낮은 천이 밀도 시퀀스와, 재동기화(Re Sync: Resynchronization) 패턴을 제외시킨다(rule out).
레이트-32/33 또는 레이트-48/49 PRML(G,I,M) 코드는 동기화된 코드워드 오브젝트(SCO; synchronized codeword object)에서의 데이터의 변조 인코딩을 위해 제안되었다. SCO의 양쪽 헤더가 GF(16)에 대한 2방향 인터리빙 RS 인코딩에 의해 획득되면, SCO 헤더의 인코딩을 위해 레이트-32/33 및 레이트-48/49 RLL 코드를 사용하는 것은, 이들 코드가 3니블의 에러 전파를 갖기 때문에 적합하지 않다. 즉, 짧은 채널 에러 버스트는 GF(16)에 대해서 RS 코드워드 내에 3개의 에러 니블을 야기할 수 있다. 8-바이트 페이로드를 갖는 10-바이트 헤더의 에러 정정 능력이 단지 하나의 니블이라고 하면, 이 경우의 짧은 채널 에러 버스트는 RS 코드의 에러 정정 능력 범위를 벗어나 있다(beyond). 마찬가지로, GF(16)에 대한 2방향 인터리빙 RS 인코딩의 동일한 헤더 ECC 방식을 다시 가정하면, 2개의 SCO 헤더를 인코딩하기 위해 레이트-16/17 LTO 2-4 RLL 코드를 사용하는 것도, 이러한 코드가 2니블의 에러 전파를 갖기 때문에 적합하지 않다. 이러한 경우에, 짧은 채널 에러 버스트는 RS 코드워드 내에 최대 2개의 에러 니블을 야기할 수 있고, 짧은 채널 에러 버스트는 RS 코드에 의해 다시 정정될 수 없다.
도 1은 본 발명에서 구현될 수 있는 데이터 저장 시스템(100)의 하이레벨 블록도이다. 시스템(100)은 호스트(10)로부터 사용자 데이터를 수신하는 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) RLL 인코더(200)를 포함한다. 인코더(200)는, 여기서 설명하는 바와 같이, 데이터를 인코딩하고, LTO 표준에서와 같이 기입 등화 기능(write-equalization functionality)을 포함할 수 있는 프리코더(102)로 상기 인코딩된 데이터를 전달한다. 제어기(104)는 프리코딩된 데이터를 수신하여, 데이터 저장 매체(20) 상에 인코딩된 데이터를 기록하는 기입 채널(106)로 그 프리코딩된 데이터를 송신한다.
저장 시스템(100)은 저장 매체(20)로부터 데이터를 판독하여 제어기(104)로 송신하는 판독 채널(108)을 더 포함한다. 제어기(104)는 데이터를 검출기(100)로 보내고, 검출기(100)는 당해 데이터를 처리(예를 들면, 역프리코딩)하여 디코더(300)로 전달한다. 디코더(300)는, 여기서 설명하는 바와 같이 데이터를 디코딩하고, 그 디코딩된 데이터를 호스트(10)로 보낸다.
도 2는 본 발명에 따라 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) RLL 인코더(200)에 의해 m+1 비트의 출력 시퀀스로 인코딩되고 있는 m-비트의 입력 시퀀스를 도시한다. m-비트 입력 시퀀스는 4와 같은 ECC 심볼 크기에 대응하는 s비트의 심볼 또는 K+1의 보다 작은 블록으로 분할되지만, 반드시 그렇게 되는 것은 아니다. 이러한 하나의 심볼인 도 2에서의 rth 블록은 인코더(200)에 의해 s+1 비트로 처리되는 반면에, 나머지 심볼인 1 내지 r-1 및 r+1 내지 K+1은 인코딩되지 않는다. 불법적인 비트 시퀀스를 방지하기 위해서, (r-1)th(이전) 심볼의 적어도 마지막 비트도 인코더(200)로 입력된다. 본 발명의 하나의 코드에서, (r+1)th(다음) 심볼의 적어도 첫 번째 비트도, 도 2에서 점선 화살표로 표시된 바와 같이, 인코더(200)로 입력된다. (r-1)th 심볼 또는 (r+1)th 심볼은 현재 처리되고 있는 m-비트 입력 시퀀스의 일부일 필요는 없다. 오히려, 현재 m-비트 시퀀스 내의 rth 심볼의 위치에 따라, (r-1)th 심볼은 이전 m-비트 시퀀스의 끝 부분일 수 있고, 혹은, (r-1)th 심볼은 다음 m-비트 시퀀스의 처음 부분일 수 있다.
도 3은 본 발명의 인코더(300)의 블록도이다. 인코더(300)는 입력 인터페이스(302A, 302B, 302C)를 포함하고, 이 인터페이스를 통해서 (r-1)th, rth, (r+1)th 심볼이 각각 인코더(300)에 의해 수신된다. 또한, 인코더(300)는 프로세서(310) 및 관련 메모리(312)와, 인코딩된 (s+1)-비트 심볼이 출력될 수 있는 출력 인터페이스(304)를 포함한다.
도 4는 본 발명의 디코더(500)를 이용하여 대응하는 디코딩 프로세스를 도시한다. m+1 비트 시퀀스는 다시 s비트로 이루어진 K개의 심볼과, s+1비트로 이루어진 하나의 심볼(도 3에서의 rth)로 분할된다. rth 심볼은 디코더(500)에 의해 디코딩되고, 처리되지 않은 다른 심볼과 인터리빙되어, 본래의 m-비트 시퀀스가 출력된다. 피드백 또는 피드포워드가 디코딩 프로세스에서 이용되지 않기 때문에, 디코더(500)는 블록 디코더일 수 있다. 블록 디코더의 이점은 하나의 심볼 내의 에러가 인접한 심볼로 전파되지 않는 것이다.
도 5는 본 발명의 디코더(500)의 블록도이다. 디코더(500)는 매체로부터 판독된 인코딩된 (s+1)-비트 심볼이 디코더(500)에 의해 수신되는 입력 인터페이스(502)를 포함한다. 또한, 디코더(500)는 프로세서(510) 및 관련 메모리(512)와, 디코딩된 rth s-비트 심볼이 출력될 수 있는 출력 인터페이스(504)를 포함한다.
프로세서(310, 510)는 각각의 출력 심볼을 생성하기 위해 메모리(312, 512)에 저장된 프로그램 명령어를 실행시킬 수 있다. 프로세서(310, 510) 및 메모리(312, 512)의 기능은 다른 하드웨어 구성요소, 소프트웨어 모듈 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수도 있음을 이해해야 한다. 본 발명은 어느 하나의 특정한 수단에 의해 수행되고 있는 기능에 제한되지 않는다.
레이트-8/9 TCMTR(j=10, k=8, t=5, a=13) 코드 (코드 1)
도 6(a) 및 6(b)는 본 발명의 실시예 1로서, 코드워드당 적어도 2개의 천이를 실행시키는 레이트-8/9 TCMTR(j=10, k=8, t=5, a=13) 코드용 인코더(도 6(a))와 디코더(도 6(b))를 도시한다. 코드는 GF(24)에 대해 RS 인코딩되는 SCO 헤더의 RLL 인코딩용 변조 코드로서 사용될 수 있고, 즉 ECC 심볼 크기가 s=4비트이고 2방향 인터리빙된다. 본 실시예에서, m=8, q=2, K=1, r=2이고 레이트-4/5 인코딩에 사용되는 인접 심볼의 개수가 1이다. 또한, 에러 전파는 단지 하나의 니블이다. 즉, 짧은 채널 에러 버스트는 RS 코드워드 내에 단지 하나의 에러 니블을 야기할 수 있다. 따라서, 8-바이트 페이로드를 갖는 10-바이트 헤더에 연관된 에러 정정 능력이 단지 하나의 니블이기 때문에, 이 경우에서의 짧은 채널 에러 버스트는 RS 코드의 에러 정정 능력 내에 있다.
레이트-8/9 TCMTR(j=10, k=8, t=5, a=13) 코드는 j제약 조건, k제약 조건, t제약 조건 및 a제약 조건을 만족하는 레이트-4/5 TCMTR "마더" 코드에 기초한다. 8개의 입력 비트 중 4개는 이러한 마더 코드를 이용하여 5비트로 맵핑된다. 나머지 4개의 입력 비트는 변경되지 않고 남고, 인코딩되지 않고서 출력으로 직접 전달된다. 레이트-4/5 TCMTR 마더 코드의 5-비트 코드워드는 4개의 입력 비트뿐만 아니라 하나의 인접한 인코딩되지 않은 비트, 즉 마더 코드의 5-비트 코드워드에 선행하는 과거 비트 P에도 의존한다. 이하에서, 레이트-8/9 TCMTR 인코더의 입력은 x(1:8)로 되도록 가정되고, 출력은 y(1:9)이다. 에러 전파를 최소화하기 위해, 처음 4개의 출력 비트는 처음 4개의 입력 비트와 동일하고, 즉 y(i)=x(i), i=1, 2, 3, 4이다.
인코딩이 의존하는 인접 비트 P=y(4)=x(4)와 관련하여 레이트-4/5 TCMTR 마더 코드의 인코딩된 블록 y(5:9)은, 이하의 제약 조건 세트를 만족한다.
j 제약 조건:
Figure 112010000440519-pct00018
k 제약 조건:
Figure 112010000440519-pct00019
t 제약 조건:
Figure 112010000440519-pct00020
a 제약 조건:
Figure 112010000440519-pct00021
인코딩된 블록이,
Figure 112010000440519-pct00022
프리코딩 후에 적어도 q=2 천이를 야기함을 보장하는 제약 조건(바로 이하의 부등식에서 "+"는 OR 연산이 아니라 정수 덧셈을 표현하는 것을 유의한다)
Figure 112010000440519-pct00023
이하의 설명에서, 코드워드는 목록으로 그룹핑되고, 집합의 크기가 괄호 내에 표시되는 대문자로 지정된다. 예컨대, X(n)는 X로 지정된 n코드워드의 목록을 표시한다. P=x(4)=y(4)=0의 경우에, j, k, t 및 a 제약 조건의 상기 집합을 만족하는 16개의 코드워드가 정확히 존재하고, 목록 Y0(16)={00101, 01001, 01010, 01011, 01101, 01110, 10001, 10010, 10011, 10100, 10110, 10111, 11010, 11011, 11100, 11101}로 주어진다. P=x(4)=y(4)=1의 경우에, 제약 조건의 상기 집합을 만족하는 20개의 코드워드가 정확히 존재하고, 목록 Y1(20)={00010, 00011, 00100, 00101, 01000, 01001, 01011, 01100, 01101, 01110, 01111, 10001, 10010, 10100, 10101, 10110, 10111, 11010, 11011, 11101}로 주어진다.
2개의 집합 Y0 및 Y1은 공통적으로 13개의 코드워드를 갖고, 즉 그것들의 교집합은 집합 A(13)=Y0(16)∩Y1(20)(여기서, "∩"는 이진 집합 연산자 교집합을 나타냄)이다. A에 있지 않은 Y0에서의 나머지 3개의 코드워드 집합은 다음에 정의되고, 즉 집합 B(3)=Y0(16)\A(13)={01010, 10011, 11100}이고, 여기서 \는 집합론차(set-theoretic difference)이다. B(3)에서의 코드워드의 비트마다의 보수(complements)는 Y1에 존재한다. B(3)에서의 코드워드의 비트마다의 보수 집합은
Figure 112010000440519-pct00024
에 의해 표시된다. 표 I은 레이트-4/5 TCMTR 마더 코드에 대한 하나의 가능한 인코딩 표를 도시한다. 인코더 입력에서의 데이터워드 x(5:8)은 십진수로 표시된다. 예컨대, 4-비트 데이터워드 1011는 십진수 11에 대응한다. 특정한 데이터워드/코드워드 할당은, 인코딩의 압축 표현 및 블록 디코딩의 도해에 유용하다고 가정되었다.
표 I
Figure 112010000440519-pct00025
표 I은, y(5:9)의 x(5:8)로의 디코딩이 P에 대해 독립적인 방식으로, 즉, 에러 전파를 감소시키기 위해 바람직하게 디코더가 블록 디코더인 방식으로, CODE 1에 대한 인코딩이 수행될 수 있음을 도해하기 위해 명시되었다.
이하의 표 Ⅱ은 CODE 1에 대한 인코더를 불 로직으로 구현하기 위해 선택된 다른 가능한 인코딩 표를 명시한다. P=0 및 P=1이면 생성될 수 있는 5-비트 코드워드는 표 I과 정확히 동일하다. 그러나, 인코더 및 디코더의 구현을 불 로직으로 단순화하기 위해, 데이터워드/코드워드 할당은 표 I과는 상이하다. y(5:9)에 인접한 인코딩되지 않은 비트 P에 의존적인 B(3) 및
Figure 112010000440519-pct00026
에서의 코드워드는, 3번째, 10번째, 15번째 행에 존재하고, 별표로 표시되어 있다.
표 Ⅱ
Figure 112010000440519-pct00027
표 Ⅱ에서의 마더 코드를 이용하는 레이트-8/9 TCMTR 코드 1이 제약 조건 j=10, k=8, t=5 및 a=13을 만족하고, 코드워드당 적어도 2개의 천이(NRZI 천이)의 존재를 보장하는 것을 알 수 있다. 또한, 표 Ⅱ에서, 5-비트 코드워드는 2개의 상이한 4-비트 데이터워드에 할당된다. 따라서, 블록 디코딩이 가능하고, 즉 각각의 5-비트 코드워드는 인접 비트 P에 독립적인 고유의 4-비트 데이터워드에 할당될 수 있다.
레이트-8/9 TCMTR(j=10, k=8, t=5, a=13) 코드 1에 있어서, 8-비트 내지 9-비트의 인코딩은 MATLAB 불 연산에 의해 완벽하게 설명될 수 있다. 인코더로 입력되는 8개의 비트 x(1)...x(8)는, 인코더 출력에서 출력 비트 y(1)...y(9)를 생성한다. 이하의 불 부등식은 8-비트 입력 x 및 9-비트 출력 y를 갖는 인코더를 설명한다. 보조 불 변수 a는 P=1일 때마다 플래그를 일으키고, 4-비트 입력 x(5:8)은 표 Ⅱ에서 별표로 표시된 5-비트 코드워드 중 하나에 대응한다. 배타적-or 게이트와 함께 상기 보조 불 변수 a는, P=0으로 가정해서 생성되는 5-비트 코드워드의 비트마다의 보수에 사용된다.
보조 불 변수:
Figure 112010000440519-pct00028
인코딩 출력:
Figure 112010000440519-pct00029
불 부등식의 다음 집합은, 9-비트 입력 w 및 8-비트 출력 z를 갖는 CODE 1용 RLL 디코더를 설명한다. RLL 디코더는 RLL 인코더의 맵핑을 반전한다. 검출 에러가 발생할 수 있기 때문에, RLL 디코더의 출력은 RLL 인코더의 입력과 반드시 동일하지는 않다. 그러나, 검출 에러가 없는 경우에는, 8-비트 RLL 인코더 입력은 8-비트 RLL 디코더 출력과 동등하고, 즉 x=z이다.
디코딩 출력:
Figure 112010000440519-pct00030
본 발명에 따른 인코더 및 디코더의 레이트-8/9 TCMTR(j=10, k=8, t=5, a=13) 코드 1은, 코드워드당 적어도 2개의 천이를 일으킨다. 이러한 코드는, s=4 비트(1니블)의 ECC 심볼 크기를 갖는 2개의 RS 코드워드의 2방향 인터리빙에 의해 획득된 SCO 헤더의 RLL 인코딩용 변조 코드로서 사용될 수 있다. 이러한 코드에 있어서, m=8이고, 레이트-4/5 마더 코드의 5-비트 코드워드를 생성하기 위해 사용된 인접 비트의 개수는 1이다. 또한, 에러 전파는 단지 하나의 니블이다. 따라서, 검출기의 출력에서의 짧은 에러 버스트는 RS 코드워드에 단지 하나의 에러 니블을 일으킬 수 있다. 8-바이트 페이로드를 갖는 10-바이트 헤더의 에러 정정 능력은 단지 하나의 니블이다. 따라서, 짧은 채널 에러 버스트는 RS 코드의 에러 정정 능력 내에 있다.
레이트-16/17 TCMTR(j=14, k=14, t=10, a=22) 코드 (코드 2)
도 7(a) 및 7(b)는 본 발명의 실시예 2로서, 가능한 에러 이벤트를 선택된 위치에서 발생하는 것을 방지함으로써 채널 에러에 대한 견고성을 증가시키도록 마련된 레이트-16/17 TCMTR(j=14, k=14, t=10, a=22) 코드용 인코더(도 7(a))와 디코더(도 7(b))를 도시한다. 또한, 코드 2는 코드워드당 적어도 하나의 격리된 피크를 실행시키고, 코드워드당 적어도 2개의 천이를 갖는다. 코드 2는 GF(28)에 대해 RS 인코딩되는 SCO 헤더의 RLL 인코딩을 위한 변조 코드로서 사용될 수 있고, 즉 ECC 심볼 크기가 s=8비트이다. 본 실시예에서, m=16, q=2, K=1, r=1이고 레이트-8/9 인코딩에 사용되는 인접 심볼의 개수가 2이다. 또한, 에러 전파는 2바이트이다. 즉, 짧은 채널 에러 버스트는 RS 코드워드에서 2개의 에러 바이트를 야기할 수 있다. 8바이트의 헤더 페이로드 크기를 변경하지 않고서 헤더 크기가 12바이트로 증가되면, 짧은 채널 에러 버스트는 RS 코드의 에러 정정 능력 내에 있을 것이다. 실시예 2에 따른 레이트-16/17 TCMTR(j=14, k=14, t=10, a=22) 코드 2는, RLL 인코더 및 디코더를 구현하는데 필요한 복잡성을 약간만 증가시킴으로써, 보다 엄격한 코드 제약 조건을 만족하고, 채널 에러에 대해 보다 견고해지기 때문에, 레이트-16/17 TCMTR(j=14, k=14, t=11, a=24) LTO 2-4 코드보다 상당히 우수하다.
레이트-16/17 TCMTR(j=14, k=14, t=10, a=22) 코드 2는, j 제약 조건, k 제약 조건, t 제약 조건, a 제약 조건을 만족하는 레이트-8/9 TCMTR 마더 코드에 기초한다. 또한, 레이트-8/9 TCMTR 마더 코드는, 코드워드당 적어도 하나의 격리된 피크가 존재하는 것을 보장하고, DSS 및 Re Sync 패턴을 제외하기 위해 코드워드당 적어도 2개의 천이를 실행시킨다. 마지막으로, 상기 코드는 검출기 출력에서 가능한 에러 에러 이벤트를 제거함으로써 에러에 대한 견고성을 향상시킨다. 마지막 코드의 특성은 시변의 j프로파일을 부여함으로써 달성된다.
16개의 입력 비트 중 8개는 상기 마더 코드를 이용하여 9개의 비트로 맵핑된다. 나머지 8개의 입력 비트는 변경되지 않고 남고, 인코딩되지 않은 출력으로 전달된다. 레이트-8/9 TCMTR 마더 코드의 9-비트 코드워드는, 8개의 입력 비트뿐만 아니라, 인코딩되지 않은 2개의 인접 비트, 즉 마더 코드의 9-비트 코드워드에 선행하는 과거 비트 P(피드백)와 9-비트 코드워드 다음의 미래 비트 F(피드포워드)에도 의존한다. 이하의 설명에서, 레이트-16/17 TCMTR 인코더의 입력은 x(1:16)으로 되도록 가정되고, 출력은 y(1:17)이다. 에러 전파를 최소화하기 위해, 마지막 8개의 출력 비트는 마지막 8개의 입력 비트와 동일하고, 즉 y(i+1)=x(i), i=9,...,16이다. 또한, 레이트-16/17 TCMTR 인코더의 이전의 입력은 x'(1:16)으로 되도록 가정되고, 이전의 출력은 y'(1:17)이다. 부여되는 시변 j 제약 조건은 y(4)(n=4)에서 j=3이고, y(5)(n=5)에서 j=2이고, y(7)(n=7)에서 j=2이다. 따라서, j프로파일은 비트 위치 n=[4 5 6 7 8]에 있어서 j(n)=[3 2 3 2 3]으로 주어진다.
인코딩에 의존적인 2개의 인접 비트 P=y'(17)=x'(16) 및 F=y(10)=x(9)에 관련된 레이트-8/9 TCMTR 마더 코드의 인코딩된 블록 y(1:9)는, P=0 및 F=0인 경우에 이하의 집합의 제약 조건을 만족한다.
j 제약 조건:
Figure 112010000440519-pct00031
k 제약 조건:
Figure 112010000440519-pct00032
t 제약 조건:
Figure 112010000440519-pct00033
a 제약 조건:
Figure 112010000440519-pct00034
Figure 112010000440519-pct00035
프리코딩 후에 적어도 2개의 천이를 실행시키기 위한, 인코딩된 블록에 대한 제약 조건(바로 아래의 부등식에서 "+"는 OR 연산이 아니라 정수 덧셈을 나타냄):
Figure 112010000440519-pct00036
적어도 하나의 격리된 피크를 보장하기 위한, 인코딩된 블록에 대한 제약 조건:
Figure 112010000440519-pct00037
상기 집합의 제약 조건을 만족하는 9-비트 코드워드의 집합은 Y0로 표시된다. Y0(270)에는 정확하게 270개의 코드워드가 존재한다.
인코딩에 의존적인 인접한 2개의 비트 P=y'(17)=x'(16) 및 F=y(10)=x(9)와 관련된 레이트-8/9 TCMTR 마더 코드의 인코딩된 블록 y(1:9)는, P=0 및 F=1의 경우에 이하 집합의 제약 조건을 만족한다.
j 제약 조건:
Figure 112010000440519-pct00038
k 제약 조건:
Figure 112010000440519-pct00039
t 제약 조건:
Figure 112010000440519-pct00040
a 제약 조건:
Figure 112010000440519-pct00041
Figure 112010000440519-pct00042
프리코딩 후에 적어도 2개의 천이를 실행시키기 위한, 인코딩된 블록에 대한 제약 조건(바로 아래의 부등식에서 "+"는 OR 연산이 아니라 정수 덧셈을 나타냄을 주의함):
Figure 112010000440519-pct00043
적어도 하나의 격리된 피크를 보장하기 위한, 인코딩된 블록에 대한 제약 조건:
Figure 112010000440519-pct00044
상기 집합의 제약 조건을 만족하는 9-비트 코드워드의 집합은 Y1로 표시된다. Y1(266)에는 정확하게 266개의 코드워드가 존재한다.
인코딩에 의존적인 인접한 2개의 비트 P=y'(17)=x'(16) 및 F=y(10)=x(9)와 관련된 레이트-8/9 TCMTR 마더 코드의 인코딩된 블록 y(1:9)는, P=0 및 F=1의 경우에 이하 집합의 제약 조건을 만족한다.
j 제약 조건:
Figure 112010000440519-pct00045
k 제약 조건:
Figure 112010000440519-pct00046
t 제약 조건:
Figure 112010000440519-pct00047
a 제약 조건:
Figure 112010000440519-pct00048
Figure 112010000440519-pct00049
프리코딩 후에 적어도 2개의 천이를 실행시키기 위한, 인코딩된 블록에 대한 제약 조건(바로 아래의 부등식에서 "+"는 OR 연산이 아니라 정수 덧셈을 나타냄을 주의함):
Figure 112010000440519-pct00050
적어도 하나의 격리된 피크를 보장하기 위한, 인코딩된 블록에 대한 제약 조건:
Figure 112010000440519-pct00051
상기 집합의 제약 조건을 만족하는 9-비트 코드워드의 집합은 Y2로 표시된다. Y2(267)에는 정확하게 267개의 코드워드가 존재한다.
인코딩에 의존적인 인접한 2개의 비트 P=y'(17)=x'(16) 및 F=y(10)=x(9)와 관련된 레이트-8/9 TCMTR 마더 코드의 인코딩된 블록 y(1:9)는, P=0 및 F=1의 경우에 이하 집합의 제약 조건을 만족한다.
j 제약 조건:
Figure 112010000440519-pct00052
t 제약 조건:
Figure 112010000440519-pct00053
a 제약 조건:
Figure 112010000440519-pct00054
Figure 112010000440519-pct00055
프리코딩 후에 적어도 2개의 천이를 실행시키기 위한, 인코딩된 블록에 대한 제약 조건(바로 아래의 부등식에서 "+"는 OR 연산이 아니라 정수 덧셈을 나타냄을 주의함):
Figure 112010000440519-pct00056
적어도 하나의 격리된 피크를 보장하기 위한, 인코딩된 블록에 대한 제약 조건:
Figure 112010000440519-pct00057
P=1이고 F=1이기 때문에, k 제약 조건을 부여할 필요가 없음을 주의한다. 또한, q=2이고 하나의 천이(P=1, NRZI 표시)가 인코딩된 블록에 선행하고, 인코딩된 블럭에 뒤이어 하나의 천이(F=1, NRZI 표시) 후속함에 따라, 추가적인 천이를 실행시킬 필요는 없다. 그러나, 다른 제약 조건은, 이 경우에(P=1 및 F=1) 코드워드에 연관된 천이의 최소수를 3으로 증가시키면서, 코드워드당 적어도 하나 이상의 천이가 존재함을 보장한다. 상기 집합의 제약 조건을 만족하는 9-비트 코드워드의 집합은 Y3으로 표시된다. Y3(260)에는 정확하게 260개의 코드워드가 존재한다. 코드워드 Y0, Y1, Y2, 및 Y3의 4개의 리스트 사이에서 다양한 형태의 교차는, 레이트-8/9 TCMTR 마더 코드용 인코딩 표를 만족하기 위해서 다음에 정의된다.
9-비트 코드워드 Y0, Y1, Y2, 및 Y3의 전체 4개의 리스트에 대해 공통적으로 224개의 코드워드가 존재한다. 표 Ⅲ(도 8)은 224=28*8 코드워드의 목록을 표시하고, 이는 28행 8열의 매트릭스에서 A(224)로 표시된다.
Y1 및 Y3가 아니라 Y0 및 Y2에는 17개의 코드워드가 존재한다. 표 Ⅳ(도 9)는 B(16)으로 표시되는 리스트 내에서 이들 코드워드 중 처음 16개만을 표시한다. 표 Ⅳ에서 표시되지 않은 마지막 코드워드는 {111011001}이다.
Y0 및 Y2이 아니라 Y1 및 Y3에는 16개의 코드워드가 존재한다. 표 Ⅴ(도 10)는 C(16)으로 표시되는 리스트 내에서 이들 코드워드 중 16개 모두를 표시한다.
Y2 및 Y3이 아니라 Y0 및 Y1에는 21개의 코드워드가 존재한다. 표 Ⅵ(도 11)는 D(16)으로 표시되는 리스트 내에서 이들 코드워드 중 처음 16개만을 표시한다. 표 Ⅵ에서 표시되지 않은 나머지 5개의 코드워드는 {101100110, 101100111, 101101100, 101101110, 111000010}이다.
또한, Y0 및 Y1이 아니라 Y2 및 Y3에는 18개의 코드워드가 존재한다. 표 Ⅶ(도 12)는 E(16)으로 표시되는 리스트 내에서 이들 코드워드 중 처음 16개만을 표시한다. 표 Ⅶ에서 표시되지 않은 나머지 2개의 코드워드는 {011000010, 101010100}이다.
표 Ⅷ은 레이트-8/9 TCMTR 마더 코드용 인코딩 표를 도시한다. 인코더의 입력에서의 데이터워드 x(1:8)은 십진수 0-255로 표시된다. 예컨대, 8-비트 데이터워드 10001011은 십진수 139에 대응한다. 특정한 데이터워드/코드워드 할당은 인코딩의 컴팩트한 표현에 유용하다고 가정되었다. 코드워드의 다른 선택 및 다른 데이터워드/코드워드 할당이 가능하다. 특정한 9-비트 코드워드가 2개의 상이한 8-비트 데이터워드에 결코 할당되지 않음을 주의한다. 따라서, 블록 디코딩이 가능하고, 즉 각각의 9-비트 코드워드는 인접 비트 P 및 F에 독립적인 고유의 8-비트 데이터워드에 할당될 수 있다.
표 Ⅷ
Figure 112010000440519-pct00058
레이트-16/17 TCMTR(j=18, k=16, t=9, a=21) 코드 (코드 3)
도 13(a) 및 13(b)는 본 발명의 실시예 3으로서, 코드워드당 적어도 2개의 천이를 실행시키는 레이트-16/17 TCMTR(j=18, k=16, t=9, a=21) 코드용 인코더(도 13(a)) 및 디코더(도 13(b))를 도시한다. 코드 3은 GF(24)에 대해 RS 인코딩되는 SCO 헤더의 RLL 인코딩용 변조 코드로서 사용될 수 있고, 즉 ECC 심볼 크기는 s=4비트이고 2방향 인터리빙된다. 본 실시예에 있어서, m=16, q=2, K=3, r=2이고, 레이트-4/5 인코딩에 사용되는 인접 심볼의 수는 1이다. 또한, 에러 전파는 단지 하나의 니블이다. 즉, 짧은 채널 에러 버스트는 RS 코드워드에서 단지 하나의 에러 니블을 야기한다.
레이트-16/17 TCMTR(j=18, k=16, t=9, a=21) 코드 3은 코드 1에 사용된 동일한 레이트-4/5 TCMTR 마더 코드에 기초하고 있다. 이 경우에, m=16, K=3, r=2이고, 즉 3개의 인코딩되지 않은 s=4 비트 심볼(니블)은 인코딩된 5-비트 블록과 함께 인터리빙된다. 코드 3을 이용하면, 16/17의 높은 코드 레이트(높은 포맷 효율성)가 달성될 수 있다. 4-비트 심볼로 2방향 인터리빙되는 헤더 ECC가 사용되면, 검출기 출력에서 가능한 에러 이벤트로 인해 에러 전파는 RS 코드워드당 많아야 하나의 니블이고, 코드 제약 조건은 레이트-16/17 LTO 2-4 코드와 유사하다.
본 발명은 완전하게 기능하는 인코딩 및 디코딩 시스템과 관련하여 설명되었지만, 당업자라면, 본 발명의 프로세스가 컴퓨터 판독 가능한 매체의 명령어의 형태 및 다양한 형태로 배포될 수 있고, 실제로 사용되는 신호 베어링 매체(signal bearing media)의 특정한 형태에 상관없이 배포를 수행하는데 본 발명이 적용되는 것을 이해할 것이다. 컴퓨터 판독 가능한 매체의 예로서는 플로피 디스크, 하드디스크 드라이브, RAM 및 CD-ROM과 같은 기록가능형 매체와, 전송형 매체를 포함한다.
본 발명의 설명은 예시 및 설명을 목적으로 제공되었지만, 개시된 형태로 본 발명을 망라하거나 제한하는 것은 아니다. 당업자라면 다수의 변형 및 변경을 이해할 것이다. 본 발명의 원리, 실제적인 응용을 가장 잘 설명하기 위해, 또한, 고려되는 특정한 용도에 적합한 다양한 변경을 갖는 다양한 실시예에 있어서 당업자 이외의 사람들이 발명을 이해할 수 있도록, 실시예를 선택해서 설명한다. 또한, 방법 및 실시예에 대해서 상기에서 설명했지만, 해당 기술에서의 요구는, m비트의 데이터 입력 시퀀스를 m+1비트의 출력 시퀀스 코드워드로 인코딩/디코딩하기 위한 명령어를 포함하는 컴퓨터 프로그램 제품, 또는 m비트의 데이터 입력 시퀀스를 m+1비트의 출력 시퀀스 코드워드로 인코딩/디코딩하기 위해 컴퓨터 판독 가능한 코드를 컴퓨팅 시스템으로 통합하는 컴퓨팅 하부 조직을 이용하는 방법과 일치할 수도 있다.

Claims (9)

  1. m 비트의 데이터 입력 시퀀스를 m+1 비트의 출력 시퀀스 코드워드(codeword)로 인코딩하는 방법으로서, m은 ECC 심볼 크기 s의 정수배이고,
    상기 방법은,
    제 1 m-비트 입력 시퀀스를 포함하는, 인코딩되지 않은 m-비트 입력 시퀀스들의 데이터 스트림을 수신하는 단계와,
    각각의 m-비트 입력 시퀀스를 s 비트로 이루어진 제 1 블럭 및 인코딩되지 않은 (m-s) 비트로 이루어진 적어도 하나의 제 2 블럭 - 즉, 하나의 제 2 블럭 또는 둘 이상의 제 2 블럭들 - 으로 분할하는 단계와,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블록에 인접하는 인코딩되지 않은 (m-s) 비트로 이루어진 상기 제2 블럭의 적어도 하나에 응답하여, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 블럭으로 인코딩하는 단계 - 인접한 인코딩되지 않은 블럭과 함께 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 상기 인코딩된 블럭은 j 제약조건, k 제약조건, t 제약조건 및 a 제약조건을 만족하고, 상기 제1 m-비트 입력 시퀀스의 s+1 비트의 상기 인코딩된 블럭은
    Figure 112013049541551-pct00087
    프리코딩 후에 적어도 q 개의 천이를 일으키고, 여기서 j 제약조건은 1의 최대 런 길이를 제한하고, k 제약조건은 0의 최대 런 길이를 제한하고, t 제약조건은 연속적인 '0'의 쌍(a pair of zeros) 또는 연속적인 '1'의 쌍(a pair of ones)의 최대 개수를 제한하고, 상기 a 제약조건은 번갈아 나타나는(alternating) 이진 심볼들의 최대 길이를 제한함 -;
    (m+1)-비트 출력 시퀀스 코드워드를 생성하기 위해 상기 제 1 m-비트 입력 시퀀스의 (m/s-1) 개의 인코딩되지 않은 블럭 사이에 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 상기 인코딩된 블럭을 인터리빙하는 단계;
    상기 (m+1)-비트 출력 시퀀스 코드워드를
    Figure 112013049541551-pct00086
    프리코더(precoder)로 프리코딩하는 단계;
    프리코딩된 출력 시퀀스 코드워드를 데이터 저장 매체에 저장하는 단계;를 포함하고,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 인코딩하는 단계는, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드로 인코딩하는 단계를 포함하고,
    상기 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드는 레이트-8/9 TCMTR(j=10, k=8, t=5, a=13) 코드를 포함하는
    인코딩 방법.
  2. 제 1 항에 있어서,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭에 인접하는 인코딩되지 않은 (m-s) 비트로 이루어진 상기 제 2 블럭의 적어도 하나는 상기 제 1 m-비트 입력 시퀀스 내에 있는
    인코딩 방법.
  3. 제 1 항에 있어서,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭에 인접하는 인코딩되지 않은 (m-s) 비트로 이루어진 상기 제2 블럭의 적어도 하나는 이전의(previous) m-비트 입력 시퀀스의 끝(end)에 있는
    인코딩 방법.
  4. 제 1 항에 있어서,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭에 인접하는 인코딩되지 않은 (m-s) 비트로 이루어진 상기 제2 블럭의 적어도 하나는 다음의 m-비트 입력 시퀀스의 처음(beginning)에 있는
    인코딩 방법.
  5. 삭제
  6. 삭제
  7. m 비트의 데이터 입력 시퀀스를 m+1 비트의 출력 시퀀스 코드워드(codeword)로 인코딩하는 방법으로서, m은 ECC 심볼 크기 s의 정수배이고,
    상기 방법은,
    제 1 m-비트 입력 시퀀스를 포함하는, 인코딩되지 않은 m-비트 입력 시퀀스들의 데이터 스트림을 수신하는 단계와,
    각각의 m-비트 입력 시퀀스를 s 비트로 이루어진 제 1 블럭 및 인코딩되지 않은 (m-s) 비트로 이루어진 적어도 하나의 제 2 블럭 - 즉, 하나의 제 2 블럭 또는 둘 이상의 제 2 블럭들 - 으로 분할하는 단계와,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블록에 인접하는 인코딩되지 않은 (m-s) 비트로 이루어진 상기 제2 블럭의 적어도 하나에 응답하여, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 블럭으로 인코딩하는 단계 - 인접한 인코딩되지 않은 블럭과 함께 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 상기 인코딩된 블럭은 j 제약조건, k 제약조건, t 제약조건 및 a 제약조건을 만족하고, 상기 제1 m-비트 입력 시퀀스의 s+1 비트의 상기 인코딩된 블럭은
    Figure 112013049541551-pct00090
    프리코딩 후에 적어도 q 개의 천이를 일으키고, 여기서 j 제약조건은 1의 최대 런 길이를 제한하고, k 제약조건은 0의 최대 런 길이를 제한하고, t 제약조건은 연속적인 '0'의 쌍(a pair of zeros) 또는 연속적인 '1'의 쌍(a pair of ones)의 최대 개수를 제한하고, 상기 a 제약조건은 번갈아 나타나는(alternating) 이진 심볼들의 최대 길이를 제한함 -;
    (m+1)-비트 출력 시퀀스 코드워드를 생성하기 위해 상기 제 1 m-비트 입력 시퀀스의 (m/s-1) 개의 인코딩되지 않은 블럭 사이에 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 상기 인코딩된 블럭을 인터리빙하는 단계;
    상기 (m+1)-비트 출력 시퀀스 코드워드를
    Figure 112013049541551-pct00091
    프리코더(precoder)로 프리코딩하는 단계;
    프리코딩된 출력 시퀀스 코드워드를 데이터 저장 매체에 저장하는 단계;를 포함하고,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 인코딩하는 단계는, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드로 인코딩하는 단계를 포함하고,
    상기 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드는 레이트-16/17 TCMTR(j=14, k=14, t=10, a=22) 코드를 포함하는
    인코딩 방법.
  8. m 비트의 데이터 입력 시퀀스를 m+1 비트의 출력 시퀀스 코드워드(codeword)로 인코딩하는 방법으로서, m은 ECC 심볼 크기 s의 정수배이고,
    상기 방법은,
    제 1 m-비트 입력 시퀀스를 포함하는, 인코딩되지 않은 m-비트 입력 시퀀스들의 데이터 스트림을 수신하는 단계와,
    각각의 m-비트 입력 시퀀스를 s 비트로 이루어진 제 1 블럭 및 인코딩되지 않은 (m-s) 비트로 이루어진 적어도 하나의 제 2 블럭 - 즉, 하나의 제 2 블럭 또는 둘 이상의 제 2 블럭들 - 으로 분할하는 단계와,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블록에 인접하는 인코딩되지 않은 (m-s) 비트로 이루어진 상기 제2 블럭의 적어도 하나에 응답하여, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 블럭으로 인코딩하는 단계 - 인접한 인코딩되지 않은 블럭과 함께 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 상기 인코딩된 블럭은 j 제약조건, k 제약조건, t 제약조건 및 a 제약조건을 만족하고, 상기 제1 m-비트 입력 시퀀스의 s+1 비트의 상기 인코딩된 블럭은
    Figure 112013049541551-pct00092
    프리코딩 후에 적어도 q 개의 천이를 일으키고, 여기서 j 제약조건은 1의 최대 런 길이를 제한하고, k 제약조건은 0의 최대 런 길이를 제한하고, t 제약조건은 연속적인 '0'의 쌍(a pair of zeros) 또는 연속적인 '1'의 쌍(a pair of ones)의 최대 개수를 제한하고, 상기 a 제약조건은 번갈아 나타나는(alternating) 이진 심볼들의 최대 길이를 제한함 -;
    (m+1)-비트 출력 시퀀스 코드워드를 생성하기 위해 상기 제 1 m-비트 입력 시퀀스의 (m/s-1) 개의 인코딩되지 않은 블럭 사이에 상기 제 1 m-비트 입력 시퀀스의 s+1 비트로 이루어진 상기 인코딩된 블럭을 인터리빙하는 단계;
    상기 (m+1)-비트 출력 시퀀스 코드워드를
    Figure 112013049541551-pct00093
    프리코더(precoder)로 프리코딩하는 단계;
    프리코딩된 출력 시퀀스 코드워드를 데이터 저장 매체에 저장하는 단계;를 포함하고,
    상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 인코딩하는 단계는, 상기 제 1 m-비트 입력 시퀀스의 s 비트로 이루어진 상기 제 1 블럭을 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드로 인코딩하는 단계를 포함하고,
    상기 레이트-(s(K+1))/(s(K+1)+1) TCMTR(j,k,t,a) 코드는 레이트-16/17 TCMTR(j=18, k=16, t=9, a=21) 코드를 포함하는
    인코딩 방법.
  9. 컴퓨터의 내부 메모리로 로딩가능한 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 프로그램은 청구항 1 내지 청구항 4, 청구항 7 및 청구항 8 중 어느 한 항에 기재된 방법을 수행하기 위해 상기 컴퓨터 상에서 실행되는
    컴퓨터 판독가능 저장 매체.
KR1020107000125A 2007-07-05 2008-07-04 Lto-5 테이프용 rll 인코딩 KR101332142B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/773,821 2007-07-05
US11/773,821 US7432834B1 (en) 2007-07-05 2007-07-05 RLL encoding for LTO-5 tape
PCT/EP2008/058699 WO2009004084A1 (en) 2007-07-05 2008-07-04 Rll encoding for lto-5 tape

Publications (2)

Publication Number Publication Date
KR20100040837A KR20100040837A (ko) 2010-04-21
KR101332142B1 true KR101332142B1 (ko) 2013-11-21

Family

ID=39797287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107000125A KR101332142B1 (ko) 2007-07-05 2008-07-04 Lto-5 테이프용 rll 인코딩

Country Status (4)

Country Link
US (1) US7432834B1 (ko)
EP (1) EP2168244B1 (ko)
KR (1) KR101332142B1 (ko)
WO (1) WO2009004084A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8196019B2 (en) * 2007-01-30 2012-06-05 International Business Machines Corporation Error correction in codeword pair headers in a data storage tape format
KR101486043B1 (ko) * 2008-05-23 2015-01-26 삼성전자주식회사 시그마-델타 아날로그-디지털 변환기와 이를 포함하는이미지 촬상 장치
US8259405B2 (en) * 2009-01-09 2012-09-04 International Business Machines Corporation Rewriting codeword objects to magnetic data tape upon detection of an error
RU2012152710A (ru) * 2012-12-06 2014-06-20 ЭлЭсАй Корпорейшн Модуляционное кодирование битов четности, сформированных с использованием кода с исправлением ошибок
US9484949B1 (en) * 2015-04-09 2016-11-01 Oracle International Corporation Variable run length encoding of a bit stream
US11967973B2 (en) * 2021-05-06 2024-04-23 Samsung Display Co., Ltd. Low overhead transition encoding codes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643814B1 (en) * 1999-07-12 2003-11-04 International Business Machines Corporation Maximum transition run encoding and decoding systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537424A (en) * 1994-08-12 1996-07-16 International Business Machines Corporation Matched spectral null codes with partitioned systolic trellis structures
US5781133A (en) * 1996-08-05 1998-07-14 Seagate Technology, Inc. Method and apparatus for implementing run length limited codes
JP3307579B2 (ja) * 1998-01-28 2002-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション データ記憶システム
WO2005101404A1 (en) * 2004-04-15 2005-10-27 Koninklijke Philips Electronics N.V. Dc-controlled encoding for optical storage system
US6956510B1 (en) * 2004-05-14 2005-10-18 Marvell International Ltd. Methods, software, circuits and systems for coding information
US7002492B2 (en) * 2004-07-07 2006-02-21 Seagate Technology Llc High rate running digital sum-restricted code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643814B1 (en) * 1999-07-12 2003-11-04 International Business Machines Corporation Maximum transition run encoding and decoding systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
I. Demirkan et al.,"The combined constraints for perpendicular recording channels," IEEE Trans. on Magnetics, Vol. 42, Nol. 2, pp. 220-225, Feb. 2006.. *

Also Published As

Publication number Publication date
KR20100040837A (ko) 2010-04-21
EP2168244A1 (en) 2010-03-31
WO2009004084A1 (en) 2009-01-08
US7432834B1 (en) 2008-10-07
EP2168244B1 (en) 2014-06-04

Similar Documents

Publication Publication Date Title
KR101114057B1 (ko) Rll 인코딩
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
US5196849A (en) Method and apparatus for implementing PRML codes with maximum ones
US6505320B1 (en) Multiple-rate channel ENDEC in a commuted read/write channel for disk storage systems
US6046691A (en) Rate 16/17 (0,5) modulation code apparatus and method for partial response magnetic recording channels
KR101332142B1 (ko) Lto-5 테이프용 rll 인코딩
US7719444B2 (en) Modulation coding
KR100403946B1 (ko) 데이터 부호화 장치 및 방법
KR100506070B1 (ko) 고밀도데이터의기록/재생을위한부호화/복호화방법
US5576707A (en) Method and apparatus for detecting and decoding data in a PRML class-IV digital communication channel
KR101211244B1 (ko) 모듈레이션 코딩 및 디코딩
KR100406806B1 (ko) 짧게 인터리브된 제한 조건을 갖는 효과적인 런 길이 제한코드
US6201485B1 (en) High rate runlength limited codes for 8-bit ECC symbols
US6404355B1 (en) Generation of a runlength limited digital information signal
EP1695350B1 (en) Data storage system
US6574773B1 (en) Cost-effective high-throughput enumerative ENDEC employing a plurality of segmented compare tables
US6097321A (en) Punctured maximum transition run code, apparatus and method for providing the same
Blaum et al. Enumerative encoding with non-uniform modulation constraints
McLaughlin et al. One-pairs codes for partial response magnetic recording
Kuznetsov Coded modulation for E/sup 2/PR4 and ME/sup 2/PR4 channels
JP2000013236A (ja) 符号変換方法及び符号化・復号化装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161026

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171026

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 7