KR101120780B1 - 기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체 - Google Patents

기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체 Download PDF

Info

Publication number
KR101120780B1
KR101120780B1 KR1020097012034A KR20097012034A KR101120780B1 KR 101120780 B1 KR101120780 B1 KR 101120780B1 KR 1020097012034 A KR1020097012034 A KR 1020097012034A KR 20097012034 A KR20097012034 A KR 20097012034A KR 101120780 B1 KR101120780 B1 KR 101120780B1
Authority
KR
South Korea
Prior art keywords
data array
data
array
modulation
row
Prior art date
Application number
KR1020097012034A
Other languages
English (en)
Other versions
KR20090100346A (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
Priority claimed from US11/690,635 external-priority patent/US7873894B2/en
Priority claimed from US11/690,619 external-priority patent/US7877662B2/en
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20090100346A publication Critical patent/KR20090100346A/ko
Application granted granted Critical
Publication of KR101120780B1 publication Critical patent/KR101120780B1/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1866Error detection or correction; Testing, e.g. of drop-outs by interleaving
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/2721Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions the interleaver involves a diagonal direction, e.g. by using an interleaving matrix with read-out in a diagonal direction
    • 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • H03M13/53Codes using Fibonacci numbers series
    • 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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1287Synchronisation pattern, e.g. VCO fields
    • 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/144616 to 17 modulation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1836Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

매체 상에 기록하기 위한 데이터를 인코딩하기 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 제공되며, 이를 통해 연결 코드 또는 제품 코드로부터의 변조 및 선형 제약이 부여된다. 인코딩되지 않은 사용자 데이터의 제 1 어레이가 생성된다. 각각의 행은 제 1 변조 제약을 강제하기 위해 변조 인코딩되며, 상기 제 1 어레이는 제 2 어레이로 변환되며 이 제 2 어레이는 변조된 데이터로 인터리빙된 각각의 열 내의 사전결정된 빈 위치들을 갖는 제 3 어레이로 변환된다. C2 패리티 바이트는 제 3 어레이의 빈 위치들 중의 적어도 일부에 대해 계산되며 제 4 어레이가 생성된다. 각각의 행 내의 C1 패리티 심볼이 계산되고 제 5 어레이를 생성한다. 제 2 변조 제약은 제 5 어레이의 각각의 행 내의 각각의 C1 패리티 심볼에 대해 부여되어 제 6 어레이를 생성한다. 제 6 어레이의 행은 기록 매체 상에 기록하기 위한 헤더 및 싱크 필드와 함께 결합된다.

Description

기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체{REVERSE CONCATENATION FOR PRODUCT CODES}
본 발명은 일반적으로 기록 매체에 기록될 데이터를 인코딩하는 것에 관한 것으로, 특히 제품 코드에 대한 리버스 연결 코딩(reverse concatenation coding)에 관한 것이다.
소거가능한 매체를 사용하며 전형적으로 대용량 데이터를 기록하는 데이터 저장 시스템, 가령 테이프 드라이브 및 광 디스크는 강력한 에러 보정 코드(ECC)에 의존한다. 테이프 드라이브 및 CD 장치는 강력하고 그리고 복잡성 측면에서 유효한 ECC를 사용하며 이는 외부 C2 코드 및 내부 C1 코드의 코드 연결에 기반을 두고 있다. 리니어 테이프 오픈 3세대(LTO-3) 표준에서 규정되는 제품 코드는 연결 코딩 체계의 특정 인스탄스이며, 여기서 내부 및 외부 코드들은 표 1에서 제공되는 바와 같이 각각 길이 480 및 64를 갖는 RS 계 코드들이다.
Figure 112009035244292-pct00001
서브데이터 세트는 64×480의 바이트 어레이이며, 즉 서브데이터 세트는 54×468=25,272 데이터 바이트를 갖는 30,720 바이트를 포함하여, 0.8227의 코드 레이트를 생성한다. 각각의 480-바이트 행은 코드워드 쌍을 포함한다. 특히, 외부 C2 코드는 갈로이스 필드(Galois field) GF(256)를 통한 [N2=64, K2=54, d2=11] RS 코드이며, N2는 코드의 길이를 나타내며, K2는 코드의 치수를 나타내며, d2는 코드의 최소 해밍 거리를 나타낸다. 내부 C1 코드는 GF(256)를 통한 [240,234,7] 리드 솔로몬(RS) 코드의 우수/기수 인터리빙에 의해 획득된다.
자기 및 광학 기록시, 변조 코드는 실질적인 성능 손실 없이 재판독 신호로부터 타이밍 복구를 가능하게 하며 검출기 내의 단거리 경로 기억을 가능하게 하는 데 사용된다. 따라서, 매체 상에 ECC 인코딩된 데이터를 쓰기 전의 쓰기 경로(write path)에서, ECC 인코딩된 데이터는 변조 인코더를 통해 전달된다. 도 1을 참조하면, 사용자 데이터가 먼저 ECC(102)에 의해 인코딩되며 다음에 16/17 런랭쓰 제한(run length limited: RLL) 인코더와 같은 변조 인코더(104)를 통해 전달되는 방법은 포워드 연결(FC) 아키텍처(100)로 알려져 있다. ECC 성능을 개선하기 위해, 인터리빙 및 트랙 할당 블럭으로 표시된, LTO-3 쓰기 경로 내의 길다란 블럭의 인터리버(106)가 존재한다. 이러한 블럭(106)은 64개의 연속하는 제품의 서브데이터 세트를 버퍼링하며 이를 통해 전체 64×64=4096 행을 축적한다. 이러한 4096 행은 사전정의된 순서로 자기 테이프의 16개 트랙(108)에 할당된다. 각각의 트랙에 대해 레이트 16/17 변조 인코더가 존재하며, 이 인코더는 할당된 행을 인코딩하며 사전결정된 변조 제한, 즉 글로벌 G=13과 인터리빙된 I=11 제약을 보장한다.
최근, 리버스 연결(RC) 아키텍처는 하드디스크 드라이브(HDD) 산업에서 그 관심이 증대되어 왔다. 도 2는 그러한 아키텍처(200)의 블럭도이다. RC 아키텍처(200)에서, ECC 인코더 및 변조 인코더의 순서는 역전되어, 데이터가 먼저 변조 인코더(202)를 통해 전달되고 변조된 데이터가 에러 보정 코드를 위한 계통적인 인코더(204)를 사용하여 ECC 인코딩된다. ECC 패리티 심볼은 도시된 바와 같이 제 2 변조 인코더(206)를 사용하여 인코딩되거나 그것은 비트 레벨 또는 심볼 레벨에서 데이터 심볼 스트림 내로 삽입된다. 전체 패리티 심볼을 데이터 심볼 스트림 내로 삽입하는 것은 부분적인 심볼 인터리빙으로 지칭된다. 패리티 삽입 전략은 에러 없는 전달과 함께 간단한 체계를 발생시키지만, 그러한 전략은 원래의 변조 제약을 약화시킬 수 있다. 그럼에도 불구하고, RC를 매력적으로 만드는 세 개의 주요 이점이 다음과 같이 존재한다.
a) 변조 디코더를 통해서는 에러 전달이 존재하지 않는다.
b) 에러 전달이 발생하지 않으므로, 제 1 변조 코드는 매우 길게 채택되어 용량 측면에서 효율적이고 하이 레이트의 변조 코드 사용을 가능하게 하여 코드 레이트를 획득한다.
c) 재판독 경로에서, ECC 디코딩 블럭이 채널 검출 블럭 바로 직후에 배치되며, 이는 검출기로부터 디코더로 소프트 정보가 비트순으로 전달될 수 있게 한다. 이는, 터보 및 LDPC 코드에 기반을 두고 있으며 그리고 커다란 성능 개선의 약속을 지키고 있는 신규 ECC 기법을 사용하기 위한 적절한 프레임워크를 생성한다. 또한, 이 프레임워크에서, 패리티 사후 처리 체계는 용이하게 구현될 수 있다.
테이프 기록의 프레임워크에서 동일한 이점이 제공되는 것이 바람직할 것이다. 그러나, HDD에 사용되는 ECC는 테이프 기록에 사용되는 ECC와는 상이한 구조를 갖는다. HDD에서, ECC는 주로 단일의 하이 레이트 리드 솔로몬(RS) 코드에 기초를 두고 있지만, 테이프에서는 새로운 RC 구조를 필요로 하는 대형의 강력한 제품 코드가 사용된다. RC는 1차원 ECC 구조용으로 제안되지만, ECC는 전형적으로 리드 솔로몬 코드 또는 LDPC 코드와 같은 단일 코드로 구성된다. 그러나, 주지의 RC 체계는 연결형 코드 또는 제품 코드에 기반을 두고 있는 ECC로부터 발생하는 특정의 문제에 역점을 두고 있지는 않다. 연결형 코드 또는 제품 코드의 경우, 내부 C1 코드의 출력은 트랙/채널에 매핑되어 모든 행들이 사전결정된 변조 제약을 충족해야만 한다. 따라서, LTO-3 제품 코드와 관련하여 예시되는 커다란 결점이 제시된다. 표 1을 참조하면, 계통적인 ECC 인코더에 앞서 변조 인코더를 배치하게 되면, C1 패리티 바이트를 제외하고는 K2 행만이 변조 제약을 충족할 것이다. C2 패리티 바이트로 구성되는 남아 있는 N2-K2 개 행(행 54-63)은 변조 제약을 충족시키지 못하고 있다. C1 패리티 부분은 1차원 ECC의 경우에서와 마찬가지로 개별적으로 처리될 수 있으므로 사소한 문제를 제기한다. 그러나, C2 패리티 부분에 대해서는 효율적인 솔루션이 아직 제안되지 않고 있다. 따라서, 상당한 양의 행들은 변조 제약을 충족할 수 없으며 또다른 처리를 필요로 할 것이다. 1차원 RC 전략에 따라, 이들 행들은 제 2 변조 인코더로 전달되거나 패리티 삽입 전략을 사용하여 처리될 필요가 있다. 이들 모든 기법은 아래의 바람직하지 않은 특징, 즉 (1) 제 2 변조 코드가 에러 전파를 초래하여 채널 검출기로부터 ECC 디코더로 소프트 정보가 비트 단위로 전달될 수는 없을 것이며, (2) 데드 트랙(dead track)의 경우 부분적인 심볼 인터리빙으로 인해 성능이 저하되는데, 그 이유는 전체 결함이 분할되고 다른 행들 내로 확산되어 여러 행들에서 여러 에러를 야기한다.
전술한 결함들은 만약 외부 C2 인코더가 제 1 변조 인코더와 교환된다면, 즉 인코딩의 순서가 문제가 되지 않는다면, 회피될 것이다. 그러나, 이러한 것은 그러한 경우가 아니며 그리고 지금까지는 제품 코드를 위해 리버스 연결 구조(reverse concatenation architecture)가 제안되지 않고 있다.
본 발명의 바람직한 실시예는 기록 쓰기 경로에 대한 리버스 연결 인코딩 시스템을 제공한다. 이 리버스 연결 인코딩 시스템은 인코딩되지 않은 사용자 데이터의 제 1 데이터 어레이를 생성하는 수단과, 상기 제 1 데이터 어레이의 각각의 행에 대해 제 1 변조 제약을 강제하여 변조 제약된 데이터를 포함하는 제 2 데이터 어레이를 생성하는 제 1 변조 인코더를 포함한다. 이 시스템은 상기 변조 제약된 데이터가 인터리빙된 각각의 열(column) 내에 사전결정된 빈 위치(empty locations)를 삽입함으로써 제 2 데이터 어레이를 처리하며 제 3 데이터 어레이를 생성하도록 동작가능한 포매터(formatter)를 더 포함한다. C2 인코더는 제 3 데이터 어레이의 각각의 열 내의 다수의 빈 위치의 각각에 대한 C2 패리티 바이트를 계산하고 제 4 데이터 어레이를 생성하도록 동작가능하다. C1 인코더는 제 4 데이터 어레이의 각각의 행에 대해 C1 패리티 심볼을 계산하고 제 5 어레이를 생성하도록 동작가능하다. 이 시스템은 제 5 데이터 어레이의 각각의 C1 패리티 심볼에 대해 제 2 변조 제약을 부여하여 제 6 데이터 어레이를 생성하도록 동작가능한 제 2 변조 인코더를 더 포함한다. 이 시스템은 또한 기록 매체의 트랙상에 제 6 데이터 어레이의 행들을 기록하는 수단을 더 포함한다.
본 발명의 다른 바람직한 실시예는 매체 상에 기록을 위한 데이터를 인코딩하는 방법을 제공하며, 이 방법은 인코딩되지 않은 사용자 데이터의 제 1 데이터 어레이를 생성하는 단계와, 변조 제약된 데이터를 포함하는 제 2 데이터 어레이를 생성하기 위해 상기 제 1 데이터 어레이 내의 각각의 행에 대해 제 1 변조 제약을 부여하는 단계와, 변조 제약된 데이터가 인터리빙된 제 2 데이터 어레이의 각각의 열 내에 사전결정된 빈 위치를 삽입함으로써 제 2 데이터 어레이를 포맷팅하고 제 3 데이터 어레이를 생성하는 단계와, 제 3 데이터 어레이의 각각의 열 내의 다수의 빈 위치의 각각에 대해 C2 패리티 바이트를 계산하고 제 4 데이터 어레이를 생성하는 단계와, 제 4 데이터 어레이의 각각의 행에 대해 C1 패리티 심볼을 계산하고 제 5 데이터 어레이를 생성하는 단계와, 제 5 데이터 어레이의 각각의 C1 패리티 심볼에 대해 제 2 변조 제약을 부여하고 제 6 데이터 어레이를 생성하는 단계와, 기록 매체 상에 제 6 데이터 어레이의 행을 기록하는 단계를 포함한다.
본 발명의 또다른 실시예는 프로그램가능한 컴퓨터와 함께 사용가능한 컴퓨터 판독가능한 매체의 컴퓨터 프로그램 제품을 제공하며, 이 컴퓨터 프로그램 제품은 상기 매체 상에 기록하기 위한 데이터를 인코딩하기 위해 구현된 컴퓨터 판독가능한 코드를 가지며, 이 컴퓨터 판독가능한 코드는 인코딩되지 않은 사용자 데이터의 제 1 데이터 어레이를 생성하는 인스트럭션과, 변조 제약된 데이터를 포함하는 제 2 데이터 어레이를 생성하기 위해 상기 제 1 데이터 어레이 내의 각각의 행에 대해 제 1 변조 제약을 부여하는 인스트럭션과, 변조 제약된 데이터가 인터리빙된 제 2 데이터 어레이의 각각의 열 내에 사전결정된 빈 위치를 삽입함으로써 제 2 데이터 어레이를 포맷팅하고 제 3 데이터 어레이를 생성하는 인스트럭션과, 제 3 데이터 어레이의 각각의 열 내의 다수의 빈 위치의 각각에 대해 C2 패리티 바이트를 계산하고 제 4 데이터 어레이를 생성하는 인스트럭션과, 제 4 데이터 어레이의 각각의 행 내의 P개의 C1 패리티 심볼을 계산하고 제 5 데이터 어레이를 생성하는 인스트럭션과, 제 5 데이터 어레이의 각 행 내의 각각의 C1 패리티 심볼에 대해 제 2 변조 제약을 부여하고 제 6 데이터 어레이를 생성하는 인스트럭션과, 기록 매체의 트랙 상에 제 6 데이터 어레이의 행을 기록하는 인스트럭션을 포함한다.
도 1은 포워드 연결을 사용한 종래 기술의 데이터 인코딩의 블럭도이다.
도 2는 리버스 연결을 사용한 종래 기술의 데이터 인코딩의 블럭도이다.
도 3은 종래 기술의 LTO-3 쓰기 경로의 블럭도이다.
도 4는 본 발명의 리버스 연결 구조의 하이 레벨 블럭도이다.
도 5a는 본 발명의 리버스 연결 구조가 포함될 수 있는 쓰기 경로의 블럭도이다.
도 5b는 본 발명의 일 실시예의 쓰기 경로의 일부의 블럭도이다.
도 6은 본 발명의 리버스 연결 구조의 보다 상세한 블럭도이다.
도 7은 본 발명의 포매터에 의해 빈 위치가 제공된 데이터 세트를 도시한 도면이다.
도 8은 본 발명의 계통적인 제 2 변조 인코더의 기능적인 블럭도이다.
도 9는 본 발명에 따른 데이터 인코딩에 후속하는 코드워드 쿼드의 합성을 도시한 도면이다.
도 10은 무제약 데이터 바이트 및 패리티 바이트가 모두 포매터에 의해 제공된 빈 위치로 삽입되는 대안의 실시예의 블럭도이다.
도 3은 LTO-3 표준에 따른 쓰기 경로(300)의 블럭도이다. 호스트 레코드들은 압축되고(302) 데이터 세트 및 DSIT 생성기(304)는 심볼들의 스트림으로부터 서브 데이터 세트를 생성한다. ECC 인코더(306)는 ECC 인코딩을 제공하며 인코딩된 서브 데이터 세트를 코드워드 쌍 헤더 및 코드워드 쿼드 생성기(308)에 전달한다. 최종적인 코드워드 쿼드는 쓰기 포매터(310)에 전달되며, 여기서 16-트랙 비트 스트림이 생성된다. 비트 스트림은 데이터 랜덤화기(312)에서 처리되고, 그 후 변조 인코딩된다(314). RLL 인코딩된 비트 스트림은 동기화 생성 블럭(316)에서 싱크를 삽입하고 패턴을 포맷팅함으로써 동기화된 비트 스트림으로 변환되고 동기화된 비트 스트림은 비트 스트림을 제공하는 쓰기 등화기(318)를 통해 전달되며 그 후 매체 상에 기록될 수 있다.
도 4의 하이 레벨 개략도에 도시된 바와 같이, 본 발명(400)은 리버스 연결 구조를 제공하며, 이 구조에서 데이터는 먼저 직렬/병렬 블럭(401)을 통해 전달되어 인코딩되지 않은 어레이를 형성한다. 각 어레이의 각각의 행은 제 1 변조 인코더(402)에서 변조 인코딩되고 그 후 ECC는 ECC 인코더(404)에 제공된다. 각각의 행은 제 2 변조 인코더(406)를 통해 처리되거나 부분적인 심볼 인터리빙 처리되어 필요한 변조 제약을 충족시킨다.
도 5a는 본 발명의 리버스 연결 구조가 포함될 수 있는 쓰기 경로(500)의 블럭도이다. 도 3의 LTO-3 쓰기 경로의 경우, 본 발명의 쓰기 경로(500) 내의 호스트 레코드는 압축되고(502) 데이터 세트 및 DSIT 생성기(504)는 심볼들의 스트림으 로부터 서브 데이터 세트를 생성한다. 서브 데이터 세트는 다음에 데이터 랜덤화기(506)에서 행 단위 방식으로 랜덤화되며 랜덤화된 데이터는 제 1 변조 인코더(508)(행 단위 방식)로 전달된다. C2 및 C1 ECC 인코더(510)는 변조 인코딩된 서브 데이터 세트를 인코딩하며, 이는 보다 상세하게 기술될 것이다. 제 2 변조 인코더(512)는 인코딩된 서브 데이터 세트에 대한 추가 변조 인코딩을 제공하며, 그 후 변조된 데이터는 인터리빙 및 트랙 할당 블럭(520)에 의해 처리된다. 최종적인 C1 코드워드 및 코드워드 쌍의 멀티-트랙 스트림은 동기화 생성 블럭(514)에서 싱크를 삽입하고 패턴을 포맷팅함으로써 동기화된 비트 스트림으로 변환되며 동기화된 비트 스트림은 쓰기 스트림을 제공하는 쓰기 등화기(516)로 전달되며 그 후 매체(518) 상에 기록될 수 있다.
도 5b는 본 발명의 일 실시예의 쓰기 경로의 일부의 블럭도이며, 인터리빙 및 트랙 할당 블럭(520)은 LTO-3 테이프 매체용 포맷의 행으로 서브 데이터 세트를 처리한다. 이 실시예에서, 인터리빙 및 트랙 할당 블럭(520)은 코드워드 쌍 헤더 및 코드워드 쿼드 생성기(522)를 포함하며, 여기서 제 2 변조 인코더(512)로부터의 변조된 데이터는 코드워드 헤더와 함께 인터리빙되어 코드워드 쿼드를 형성한다. 인터리빙 및 트랙 할당 블럭(520)은 코드워드 쿼드를 논리적 트랙에 매핑하는 쓰기 포매터(524)를 더 포함한다. 최종적인 16-트랙 비트 스트림은 동기화 생성 블럭(514)에서 싱크를 삽입하고 패턴을 포맷팅함으로써 동기화된 비트 스트림으로 변환되며 동기화된 비트 스트림은 비트 스트림을 제공하는 쓰기 등화기(516)를 통해 전달되어 테이프(530) 상에 기록될 수 있다. 본 발명은 이러한 방식으로 C1 코드 워드 및 코드워드 헤더를 결합하는 것에 국한되는 것이 아니라 다른 방식으로도 결합될 수 있다는 것이 이해될 수 있을 것이다.
도 6은 본 발명의 RC 구조(600)의 보다 상세한 블럭도이다. 구조(600)는 하이 레이트 변조 인코더들의 세트(602)와 외부의 열 단위의 C2 인코더(604)를 포함하며, 이들 N2 행의 각각에 대한 하나의 인코더는 직렬/병렬 블럭(601)로부터 데이터를 수신하다. 이 구조(600)는 또한 변조 인코더(602)와 C2 인코더(604) 간에 배치된 포맷 블럭(606)을 제공한다. 보다 상세하게 기술되는 바와 같이, 포맷 블럭(606)은 변조 인코딩된 사용자 데이터 어레이를 재구성하며 그 결과 그 사이즈는 외부 코드의 치수보다는 오히려 길이에 기초하고 있다. C2 인코더(604)에 후속하여 각각의 행에 대해 내부 C1 인코더(608)가 배치되어 각각의 행의 단부에서 패리티 바이트를 생성한다. 인코딩된 행의 처리가 계통적인 변조 인코더(610)의 세트에 의해 완료된다. C2 인코더(604)로부터의 데이터 및 제 2 변조 인코더의 세트(610)로부터의 데이터는 멀티플렉서(612) 내에서 멀티플렉싱되어 완성된 서브 데이터 세트를 형성한다.
사용자 데이터 재구성
사용자 데이터가 K2 행(K2는 C2의 크기(dimension)임)으로 구성되는 길이 N2의 C2 코드의 종래 인코딩과 대조적으로, 본 발명의 인코딩되지 않은 사용자 데이터 어레이는 직렬/병렬 블럭(601)에 의해 생성되는 N2 행으로 구성된다. 그러한 인코딩되지 않은 사용자 데이터 어레이의 예가 표 2에 도시되며, 이는 LTO-3 표준(표 1)의 서브 데이터 세트 어레이의 변형예이다.
Figure 112009035244292-pct00002
특히, 어레이는 종래의 LTO-3 서브 데이터 세트보다 많은 520개의 사용자 바이트를 포함한다. 인코딩되지 않은 사용자 데이터 어레이의 각각의 행은 제 1 변조 인코더(602)를 통해 전달되며 이 인코더는 포맷 블럭(606)의 입력 단에서 변조 제약을 부여한다. 이 시점에서, 변조된 사용자 데이터 어레이는 여전히 제 1 변조 인코더(602)로 인해 수 바이트 더 긴 N2 행의 변조 제약 데이터를 포함한다. 일 실시예에서, 제 1 변조 인코더(602)는 글로벌 G=14의 변조 제약 및 인터리빙된 I=7 제약을 충족하는 레이트-215/216 인터리빙된 피보나치 변조 코드로부터 도출될 수 있다. 각각의 행은 8×403=3224 데이터 비트를 포함하며, 이는 15 비트-시퀀스의 길이:214, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215로 그룹화된다.
더미 제로 비트(dummy zero-bit)는 길이-214의 비트 시퀀스의 개시부에 부가되며, 그 후 모든 시퀀스는 인코딩되어 길이 216의 15 비트 시퀀스를 발생시키며, 이는 행당 전체 405 바이트에 이르기까지 부가된다. 제 1 변조 코드는 표 2의 인코딩되지 않은 사용자 데이터 어레이를 표 3의 변조 제약된 사용자 데이터 어레이로 변환한다.
Figure 112009035244292-pct00003
보다 일반적으로, 제 1 변조 코드에 대해 하나의 코드를 선택하며, 이 코드는 무제약 심볼의 부분적인 인터리빙을 지원하며 그 결과 사전결정된 글로벌 G 제약 및 인터리빙된 I 제약은 부분적인 심볼 인터리빙 후에 충족된다.
포맷 블럭
포맷 블럭(606)은 표 3의 변조된 사용자 데이터 어레이를 각각의 열 내의 N2 -K2개의 빈 구성요소를 갖는 어레이로 변환한다. N2 -K2개의 빈 위치들은 C2 인코더(604)에 의해 생성될 패리티 심볼들이 도입될 장소 유지 위치가 된다. 포맷 블럭의 설계 단계에서, 패리티 패턴 어레이가 결정된다. 패리티 패턴 어레이가 제공되면, 포맷 블럭(606)은 빈 셀을 표 3의 변조된 사용자 데이터 어레이 내로 행 단위 방식으로 인터리빙하여 L 바이트만큼 각각의 행의 길이를 연장한다. 이러한 인터리빙 동작은 부분적인 심볼 인터리빙과 유사하며 제 1 변조 코드의 변조 제약을 약화시킨다. 기술된 실시예에서, 상기 어레이 내로의 8 비트 패리티 심볼의 삽입은 글로벌 및 인터리빙 제약을 G=22 및 I=11로 약화시킬 것이다.
패리티 패턴 어레이를 검색하기 위해, 변조된 사용자 데이터 어레이의 크기는 디오판투스 방정식(Diophantine equation), 즉 (M+L)×(N2 -K2)=N2×L을 충족시켜야만 하며, 여기서 L은 행당 C2 패리티 심볼의 개수이며, M+L=K1는 C2 심볼에 기초한 C1 코드의 크기이다(즉, C1 코드의 크기는 C2 심볼 단위, 가령 바이트로 표현되어야 한다). 이러한 디오판투스 방정식은 C1 코드의 파라미터를 조정할 필요가 있게 할 수 있다. LTO-3 기반의 전술한 예에서, M+L=K1=480은 각각의 행에서 L=75의 C2 패리티 바이트 위치를 갖는 방정식을 충족시킨다. 또한, 패리티 바이트는 제 1 변조 코드의 변조 제약을 완전히 파괴하지 않도록 하기 위해 사전결정된 최소 양만큼 이격되어야 한다. 예에서, 적어도 2 바이트 위치의 공간이면 (G,I)=(22,11) 제약을 획득하는 데 충분하다. 각각의 패리티 패턴 어레이 내에는 64개의 행이 존재함에 따라, 패리티 패턴 어레이에 대해 전체 64×75=4800의 C2 패리티 바이트 위치가 존재한다. 삽입 위치는 다음의 10개의 선형 방정식(모듈 64)에 의해 규정되며, 이 방정식은 열 지표 x 내지 행 지표 y와 관련되는 다음과 같이, 즉 y≡x+ci(mod 64)와 관련되며,
여기서, ci∈{0, 6, 13, 19, 26, 32, 38, 45, 51, 58} 및 0≤x<480=k1이다. 패리티 패턴은 바람직하게도 각각의 열이 N2 -K2=10 패리티 위치를 포함하도록 그리고 그 패턴이 가능한한 수 열 내에서 반복되도록 선택된다. 예에서, 패리티 패턴은 매 32번째 열마다 반복된다. 이러한 특정의 패리티 패턴 어레이는 도 7에 도시되며 점선은 각각의 열에 대한 10개의 빈 패리티 삽입 위치를 나타낸다.
열 종속 C2 인코딩
각각의 열이 10개의 패리티 장소 유지 위치를 포함하고 있으므로, 각각의 열은 레이트-54/64 RS C2 코드의 코드워드로 인코딩될 수 있다. 또한, 패리티 위치는 열마다 변화되므로, C2 인코더는 또한 바람직하게도 열마다 변화된다.
C2 코드는 리드 솔로몬 코드일 수 있지만 다른 코드들이 사용될 수도 있다. 바람직하게도, 이 코드는 모든 세트의 K2개 구성요소가 정보 세트를 형성하는 유용한 특성을 갖는 최대 거리로 이격가능한 코드이다. 따라서, 모든 세트의 K2개 구성요소가 남아 있는 N2 -K2개의 패리티 심볼을 고유하게 결정한다. C2 인코더(604)의 입력단에서, 모든 열은 K2개의 변조 데이터 바이트와 N2 -K2개의 빈 패리티 위치를 포함한다. 각각의 열에서, C2 인코더(604)는 K2개의 변조 데이터 바이트로부터 N2 -K2개의 패리티 바이트를 결정하며 이를 상기 빈 패리티 위치에 삽입한다. C2 인코더(604)의 출력은 표 4에 도시된 바와 같이 사이즈 N2 × K1의 C2 인코딩된 어레이이다. C2 인코딩된 어레이는 각각의 행을 따라 사전결정된 변조 제약을 충족시킨다.
Figure 112009035244292-pct00004
보다 일반적으로, C2 인코더는 갈로이스 필드 GF(2m)을 통한 레이트 K2/N2 리드 솔로몬 코드에 대한 인코더이며, 특히 코드워드 구성요소는 m-비트 심볼로 구성된다.
C1 인코딩
C2 인코딩된 어레이의 행들은 C1 코드에 대한 C1 인코더(608)를 통해 전달된다. 최종적인 C1 패리티 심볼은 도 6에 도시된 바와 같이 제 2 변조 인코더(610)에 의해 처리될 수 있거나 부분적으로는 C1 인코더(608)의 데이터 스트림 내로 비트 단위 또는 바이트 단위로 인터리빙될 수 있다. 전술한 LTO-3 기반의 예에서, 크기 K1=480 및 길이 N1=492의 C1 코드는 GF(256)를 통해 크기 240 및 길이 246의 우수/기수 인터리빙된 리드 솔로몬 코드로서 획득된다. 그러한 코드는 행당 2×6=12개의 인터리빙된 RS 패리티 바이트를 생성하며, 이는 표 5에 도시된 바와 같이 각각의 행의 단부에 부착된다. 행 내의 우수 및 기수 패리티 바이트는 제각기 * 및 점으로 각각 표시된다.
Figure 112009035244292-pct00005
보다 일반적으로, C1 인코더는 GF(28)을 통해 크기 K1 및 길이 N1의 우수/기수 인터리빙된 리드 솔로몬 코드로부터 획득될 수 있다. C1 인코더는 r-비트 심볼을 갖는 갈로이스 필드 GF(2r)을 통해 선형 코드로부터 도출될 수 있으며, GF(2)를 통해 크기 mK1을 갖는다. C1 인코더는 또한 갈로이스 필드 GF(2r)을 통해 저밀도의 패리티 체크 코드로부터 도출될 수 있으며, GF(2)를 통해 크기 mK1을 갖는다.
최종 변조 코딩
도 8은 첨부된 C1 패리티 바이트 전체에 걸쳐 (G,I)=(22,11) 제약을 부여하는 방법을 도시한 것으로, 각각의 행 내의 12개의 C1 패리티 바이트는 바람직하게도 계통적인 제 2 변조 인코더(610)를 통해 전달되며, 이 인코더는 단일 변조 비트를 각각의 행 내의 C1 패리티 바이트의 각각의 개시부에 부가한다. 변조 비트는 바람직하게도 각각의 C1 패리티 바이트 내에 계통적인 제 2 인코더를 특징짓는 제 2 비트 p1을 반전시키고 그것을 상기 패리티 바이트에 부가함으로써 결정된다. 간단한 제 2 변조 인코더(610)는 간단한 인버스(inverse)를 갖는 인버터일 수 있으며 데이터가 판독될 때 채널 비트 검출기로부터 ECC 검출기로 소프트 정보가 비트 단위로 전달될 수 있게 한다. 또한, 제 2 변조 인코더(610)는 G=22 및 I=11 제약을 유지한다. 또한, 비계통적인 변조 체계가 가령 LTO-3의 16/17-코드를 적용함으로써 사용될 수가 있다. 그러나, 소프트 정보를 전달하는 것은 비트 단위로 수행될 수는 없다.
C1/C2 인코딩된 서브 데이터 세트가 생성된 후, 코드워드 쿼드는 LTO-3 표준과 유사한 방식으로 멀티플렉서에 의해 결합된다. 도 9에 도시된 바와 같이, C1/C2 인코딩된 서브 데이터 세트의 일련의 행 902A, 902B, 가령 제 1 행 및 제 2 행은 인코딩된 헤더 906A, 906B가 인터리빙되어 제 1 및 제 2 코드워드 쌍 902A 및 902B를 각각 형성한다. 두 개의 코드워드 쌍 902A, 902B는 코드워드 쿼드(900)를 포함한다.
연결된 코드들을 위한 제안된 RC 구조의 특징은 (1) N2 행들로의 사용자 데이터 재구성과, (2) 사전결정된 C2 패리티 패턴에 기반한 포맷 블럭과, (3) 열 종속 C2 인코딩을 포함한다. 그 결과, 기술 배경에서 논의된 리버스 연결 체계의 특징으로부터의 이점, 즉 복조기에서 에러가 전달되지 않으며, 개선된 레이트의 변조 코드 및 패리티 사후-프로세서 또는 터보 코딩 체계에 기반한 신규 소프트 디코딩 기법을 가능하게 하는 것을 본 발명으로부터 획득할 수 있다.
본 발명의 RC 구조는 변조를 위한 16+12=28 비트를 각각의 행에 부가한다. 각각의 행은 403×8=3224 데이터 비트를 포함한다. 따라서, RC 변조 체계의 레이트는 RRC=3224/3252=0.9914이다.
전형적인 포워드 연결 구조는 16/17 코드에 기반을 두고 있다. 따라서, RFC=16/17=0.9412이다.
결과적으로, 본 발명의 RC 구조는 표준 LTO-3 포맷보다 5.34% 더 높은 레이트를 갖지만 I=11 제약은 동일하게 유지하되 G 제약은 13에서 22로 약화시킨다. 또한, 본 발명의 RC 구조는 변조 제약을 (G,I)=(24,12)로 약화시키는 것에도 불구하고 10-비트 ECC 및 보다 긴 C1 코드로 확장될 수 있다.
주로 LTO-3 코드와 동일한 레이트의 보다 긴 C2 코드를 선택함으로써 C2 코드의 성능이 개선될 수 있다. 본 발명은 갈로이스 필드 GF(256)를 통해 파라미터 [N2=96, K2=80, d2=17]를 갖는 리드 솔로몬 (RS) 코드에 기반을 두고 있는 리버스 연결 (RC) 체계의 제 2 실시예를 제공하며, 여기서, N2는 길이를 나타내고, K2는 크기를 나타내며, d2는 C2 코드의 최소 해밍 거리를 나타낸다. RS 코드가 길이 96을 가지기 때문에, 대응하는 RC 체계는 N2=96 행을 갖는 인코딩되지 않은 사용자 데이터 어레이를 사용한다. U=398의 행당 인코딩되지 않은 사용자 바이트를 갖는 N2×U=96×398 사이즈의 전술한 인코딩되지 않은 사용자 데이터 어레이의 예가 표 6에 도시된다.
Figure 112009035244292-pct00006
인코딩되지 않은 사용자 데이터 어레이의 각각의 행은 제 1 변조 인코더(602)를 통해 전달되며, 따라서 포맷 블럭(606)의 입력단에서 변조 제약을 충족하고 있다. 제 2 실시예에서, 제 1 변조 인코더(602)는 이전에 기술된 실시예(길이 64 C2 코드를 가짐)에서 사용된 것과 유사하지만, 글로벌 G=14 및 인터리빙된 I=7 제약을 갖는 레이트-199/200 인터리빙된 피보나치 코드로부터 도출된다. 각각의 행 내의 8×398=3184 데이터 비트는 모두 길이 199의 16 비트 시퀀스로 그룹화된다. 다음, 모든 16 비트 시퀀스는 변조 인코딩되어 모두 길이 200의 16 비트 시퀀스를 생성하며, 이는 행당 M=400바이트에 이를때까지 가산한다. 따라서, 제 1 변조 코드는 표 6의 인코딩되지 않은 사용자 데이터 어레이를 사이즈 N2×M=96×400 사이즈의 표 7의 변조된 사용자 데이터 어레이로 변환한다.
Figure 112009035244292-pct00007
포맷 블럭(606)은 변조된 사용자 데이터 어레이를 각각의 열 내의 N2-K2=16의 "빈" 구성요소를 갖는 어레이로 변환한다. M=400을 갖는 디오판투스 방정식 (M+L)×(N2 -K2)=N2×L을 충족시키기 위해 행당 C2 패리티 심볼의 개수는 L=80이어야만 하며, 이는 C2 심볼에 기반하여, 즉 바이트로 C1 코드의 크기를 위해 K1=L+M=480을 생성한다. 주목할 것은 C2 코드의 파라미터의 특정 선택을 위해 디오판투스 방정식이 M=5L로 단순화된다는 것이다. 각각의 패리티 패턴 어레이 내에는 96개의 행이 존재하므로, 패리티 패턴 어레이당 전체 96×80=7680의 C2 패리티 바이트가 존재한다. 이러한 7680의 C2 패리티 바이트를 위한 삽입 위치는 아래의 16 선형 방정식 (모듈로 96)에 의해 규정되며, 이는 열 지표 x 내지 행 지표 y, 즉 y≡x+ci(mod 96)과 관련되며, 여기서, ci=6i (i=0, 1, 2,....., 15) 이며 0≤x<480=K1이다.
C2 인코더(604)의 입력단에서, 모든 열은 K2=80 변조 데이터 바이트와 N2-K2=16 빈 패리티 위치를 포함한다. 각각의 열에서, C2 인코더(604)는 K2=80 변조 데이터 바이트로부터 N2-K2=16 패리티 바이트를 결정하며, 이를 빈 패리티 위치에 삽입한다. C2 인코더(604)의 출력단은 표 8에 도시된 N2×K1=96×480 사이즈의 C2 인코딩된 어레이이며, C2 패리티 바이트의 위치들은 'x'로 표시된다.
Figure 112009035244292-pct00008
C1 코드는 이전에 기술된 실시예에서와 마찬가지로 선택되며, 그것은 크기 K1=480과 길이 N1=492를 가지며, GF(256)를 통해 크기 240과 길이 246의 리드 솔로몬 코드의 우수/기수 인터리빙에 의해 획득된다. 각각의 행 내의 12개의 패리티 바이트는 간단한 계통적인 제 2 변조 인코더(610)를 통해 전달되며, 이 제 2 변조 인코더는 각각의 패리티 바이트의 개시부에 단일의 비트를 부가한다. 변조 비트는 각각의 패리티 바이트 내의 제 2 비트를 반전시키고 그것을 패리티 바이트에 첨가함으로써 획득되며, 이로써 모든 행에 걸쳐 G=22 및 I=11 제약이 생성된다.
구현과 관련하여 길이 96과 크기 80의 C2 코드에 기반한 제 2 실시예는 길이 64 및 크기 54의 C2 코드에 기반한 제 1 실시예에 비해 다음의 이점을 갖는다.
(1) 제 2 실시예의 제 1 변조 인코더(602)는 레이트-199/200 피보나치 코드에 기반하며, 그 길이는 변조된 사용자 데이터 어레이의 행 길이를 균등하게 분할하며 따라서 각각의 행에 대해 제 2 실시예에서 동일한 피보나치 인코더를 16번 적용할 수 있다.
(2) 열 종속 C2 인코딩은 제 2 실시예에 대해 보다 더 간단한데, 그 이유는 패리티 패턴이 매 6번째 열마다 반복되며, 따라서 많아야 6번의 상이한 C2 인코더(604)가 요구되지만, 제 1 실시예에 대해서 제안된 패리티 패턴은 단지 매 32열마다 반복된다.
본 발명은 또한 사전결정된 개수의 무제약 데이터 바이트의 부분적인 인터리빙에 기반한 RC 구조의 제 3 실시예를 제공하며, 포맷 블럭(606)에 의해 생성되는 빈 위치의 다양성을 도시하고 있다. 먼저의 두 개의 실시예에서, C2 인코더는 패리티 위치 내로 패리티 바이트를 삽입한다. 그러나, 빈 위치들은 또한 상이한 방식으로 사용될 수 있으며, 일부에는 C2 패리티 바이트가 충진될 수 있으며 일부에는 무제약 데이터 바이트가 충진될 수 있다. 도 10은 제품 코드에 대한 RC 구조(1000)의 블럭도를 도시하며, 무제약 데이터 바이트는 포매터(606)에 의해 제공된 빈 위치들의 일부에 삽입되며, 패리티 바이트는 남아 있는 빈 위치들 내로 삽입된다. 무제약 데이터 바이트의 삽입은 C2 인코더에 앞서 발생하는데, 그 이유는 C2 인코더가 패리티 바이트를 계산하기 위한 바이트들을 필요로 하기 때문이다. 무제약 데이터 바이트는 디멀티플렉서(1002)에 의해 생성된다. 디멀티플렉서(1002)는 사용자 데이터를 변조 인코더(602)의 제 1 세트에 의해 처리되는 제 1 부분과 C2 인코더(604) 이전의 삽입 블럭(1004)에 의해 처리되며 제 1 세트의 변조 인코더(602)를 우회하는 제 2 부분으로 분리한다.
제 3 실시예의 RC 구조는 GF(256)를 통해 파라미터 [N2=96, K2=81, d2=16]을 갖는 RS 코드를 C2 코드로서 사용하며, 여기서 N2는 길이를 나타내고, K2는 크기를 나타내며, d2는 C2 코드의 최소 해밍 거리를 나타낸다. 각각의 서브 데이터 세트에 대해, 사용자 데이터의 N2×(U+D)=96×399=38,304 바이트가 존재하며, 이들 바이트는 제 1 변조 인코더(602)에 의해 인코딩되는 N2×U=96×394=37,824 바이트와 C2 인코더(604) 이전의 삽입 블럭(1004)에 의해 처리되는 N2×D=96×5=480 바이트로 분리된다. 따라서, 인코딩되지 않은 사용자 데이터 어레이는 N2×U=96×394의 사이즈를 갖는다. 이러한 어레이의 각각의 행은 글로벌 G=10 제약 및 I=5 제약을 갖는 레이트-197/200 인터리빙 피보나치 코드에 의해 인코딩된다. 레이트-197/200 변조 인코더를 행당 16회 적용함으로써 8×394=3152 비트를 갖는 인코딩되지 않은 서브 데이터 세트의 각각의 행은 N2×M=96×400의 사이즈의 변조된 사용자 데이터 어레이의 행으로 매핑된다.
포맷 블럭(606)은 변조된 사용자 데이터 어레이를 각각의 열 내의 N2-K2+T '빈' 위치를 갖는 어레이로 변환하며, 여기서, T는 삽입 블럭(1004)에 의해 삽입되는 열(column)당 무제약 데이터 바이트의 개수이다. T=1에 대해, 각각의 열에는 16개의 빈 위치가 존재하지만, T는 몇몇 다른 수와 동일할 수도 있다는 것이 인식될 것이다. 이러한 16개의 빈 위치들 중의 하나는 무제약 데이터 바이트에 의해 충진될 것이며, 나머지 N2-K2 빈 위치들은 C2 패리티 바이트가 충진될 것이다. M=400과 T=1을 갖는 디오판투스 방정식 (M+L)×(N2 - K2 + T)=N2×L을 충족시키기 위해 행당 빈 위치의 개수는 L=80이어야만 하며, 이는 C2 심볼에 기반하여, 즉 바이트로 C1 코드의 크기를 위해 K1=L+M=480을 생성한다. 각각의 패리티 패턴 어레이 내에는 96개의 행이 존재하므로, 패리티 패턴 어레이당 전체 96×80=7680의 빈 위치가 존재한다. 이러한 7680의 삽입 위치는 아래의 16 선형 방정식 (모듈로 96)에 의해 규정되며, 이는 열 지표 x 내지 행 지표 y, 즉 y≡x+ci(mod 96)과 관련되며, 여기서, ci=6i (i=0, 1, 2,....., 15) 이며 0≤x<480=K1이다.
무제약 N2×D=96×5=480=(M+L)×T 데이터 바이트는 어레이의 처음의 6개의 행 내의 모든 480개의 빈 위치 내로, 즉 행 지표 상에서 추가적인 조건 0≤y<6이 만족되는 전술한 방정식에 의해 규정되는 위치에 삽입된다. 각각의 열에서, 정확히 T=1의 무제약 데이터 바이트가 삽입되며 따라서 남아 있는 N2-K2=15의 빈 위치에는 C2 패리티 바이트가 충진된다.
C2 인코더(604)의 입력단에서, 모든 열은 K2=81 변조된 또는 무제약의 데이터 바이트와 N2-K2=15의 빈 패리티 위치를 포함한다. 각각의 열에서, C2 인코더(604)는 K2=81 바이트로부터 N2-K2=15의 패리티 바이트를 결정하며, 이를 빈 패리티 위치에 삽입한다. C2 인코더(604)의 출력은 표 9에 도시된 바와 같이 N2×K1=96×480 사이즈의 C2 인코딩된 어레이이며, C2 패리티 바이트의 위치들은 'p'로 표시되며, 이전에 삽입된 무제약 데이터 바이트는 'd'로 표시된다. 주목할 것은 많아야 단지 6개의 상이한 열 종속 C2 인코더(604)만이 필요한데, 그 이유는 패리티 패턴이 매 6개의 열마다 반복되기 때문이라는 것이다. 패리티 및 무제약 바이트의 삽입은 C2 인코딩 후에 각각의 행을 따른 제 1 변조 코드의 I=5 제약 및 G=10 변조 제약을 I=9 및 G=18로 약화시킨다.
Figure 112009035244292-pct00009
C1 코드는 이전에 기술된 제 1 실시예 및 제 2 실시예에 대해 선택된 것과 동일한 방식으로 선택된다. C1 코드는 크기 K1=480과 길이 N1=492를 가지며, GF(256)를 통해 크기 240과 길이 246의 리드 솔로몬 코드의 우수/기수 인터리빙에 의해 획득된다. 각각의 행 내의 12개의 패리티 바이트는 간단한 계통적인 제 2 변조 인코더(610)를 통해 전달되며, 이 제 2 변조 인코더는 각각의 패리티 바이트의 개시부에 단일의 비트를 부가한다. 변조 비트는 각각의 패리티 바이트 내의 제 2 비트를 반전시키고 그것을 패리티 바이트에 첨가함으로써 획득되며, 이로써 모든 행에 걸쳐 G=18 및 I=9 제약이 생성된다.
중요한 것은 본 발명이 데이터 처리 시스템을 작동시키는 문맥에서 기술되었지만 당업자라면 본 발명의 프로세스가 컴퓨터 판독가능한 인스트럭션의 매체의 형태 및 다양한 형태로 배포될 수 있으며 본 발명이 그러한 배포를 수행하는 데 실제로 사용되는 신호 함유 매체의 특정 타입에 무관하게 적용된다는 것을 인식하고 있음에 주목해야 한다는 것이다. 컴퓨터 판독가능한 매체의 예는 플로피 디스크, 하드디스크 드라이브, RAM, CD-ROM과 같은 기록가능한 타입의 매체와 디지털 및 아날로그 통신 링크와 같은 전송 타입의 매체를 포함한다.
본 발명의 설명은 예시 및 기술의 목적으로 제시되지만, 개시된 형태로 본 발명이 국한되는 것은 아니라는 것이다. 당업자라면 여러 변형 및 수정을 가할 수 있음이 명백할 것이다. 실시예는 본 발명의 원리를 최상으로 설명하고 당업자가 특정 사용을 위해 적응된 여러 변형예를 갖는 다양한 실시예의 발명을 이해할 수 있도록 선택되고 기술되었다. 또한, 비록 본 발명이 시스템 및 방법과 관련하여 전술되었지만, 본 기술분야에서의 필요성이 매체 상에 기록하는 데이터를 인코딩하기 위한 인스트럭션을 포함하는 컴퓨터 프로그램 제품으로 충족될 수 있다.

Claims (10)

  1. 기록 쓰기 경로(a recording write path)를 위한 리버스 연결 인코딩 시스템(a reverse concatenation encoding system)으로서,
    입력 사용자 데이터를 처리하여 제 1 데이터 어레이를 생성하도록 동작하는 사용자 데이터 어레이 생성기와,
    상기 제 1 데이터 어레이의 각각의 행에 대해 제 1 변조 제약(a first modulation constraint)을 부여하여 변조 제약된 데이터를 포함하는 제 2 데이터 어레이를 생성하도록 동작하는 제 1 변조 인코더와,
    상기 변조 제약된 데이터가 인터리빙된 제 2 데이터 어레이의 각각의 열 내에 사전결정된 빈 위치들(empty locations)을 삽입함으로써 상기 제 2 데이터 어레이를 처리하여 제 3 데이터 어레이를 생성하도록 동작하는 포매터(formatter)와,
    상기 제 3 데이터 어레이의 각각의 열 내의 다수의 상기 빈 위치의 각각에 대한 C2 패리티 바이트를 계산하여 제 4 데이터 어레이를 생성하도록 동작하는 C2 인코더와,
    상기 제 4 데이터 어레이의 각각의 행에 대해 C1 패리티 심볼을 계산하여 제 5 데이터 어레이를 생성하도록 동작하는 C1 인코더와,
    상기 제 5 데이터 어레이의 각각의 C1 패리티 심볼에 대해 제 2 변조 제약을 부여하여 제 6 데이터 어레이를 생성하도록 동작하는 제 2 변조 인코더와,
    기록 매체의 트랙 상에 상기 제 6 데이터 어레이의 행들을 기록하는 수단을 포함하는
    리버스 연결 인코딩 시스템.
  2. 제 1 항에 있어서,
    다수의 무제약 데이터 바이트(a plurality of unconstrained data bytes)를 생성하도록 동작하는 디멀티플렉서와,
    상기 제 3 데이터 어레이의 각각의 열 내의 상기 빈 위치들 중의 적어도 하나의 위치 내로 상기 무제약 데이터 바이트를 삽입하고, 상기 제 3 데이터 어레이의 각각의 열 내의 나머지 빈 위치들 내로 상기 계산된 C2 패리티 바이트를 삽입하도록 동작하는 삽입 블럭을 더 포함하는
    리버스 연결 인코딩 시스템.
  3. 제 2 항에 있어서,
    상기 포매터는 상기 제 3 데이터 어레이의 크기(dimension)가 디오판투스(Diophantine) 방정식 (M+L)×(N2 - K2 + 1)=N2×L을 만족하도록 상기 빈 위치들을 결정하며, 여기서, 상기 방정식은 M+L=K1=480, L=80 및 N2-K2=15에 의해 충족되고, M은 상기 제 2 데이터 어레이 내의 열의 개수이며, L은 상기 제 2 데이터 어레이 내의 행의 개수가 포매터에 의해 상기 제 2 데이터 어레이를 처리하는 동안 확장되는 크기이며, K1는 상기 제 3 데이터 어레이 내의 열의 개수이며, N2는 상기 제 2 데이터 어레이 내의 행의 개수이며, K2는 C2 인코더의 C2 코드의 크기이며,
    상기 빈 위치들은 적어도 2의 사전결정된 최소량만큼 이격되며,
    상기 빈 위치들은 y≡x+ci(mod 96)에 의해 식별되며, 여기서 x 및 y는 제각기 상기 제 3 데이터 어레이의 열 지표 및 행 지표이며, ci=6i (i=0, 1, 2,....., 15) 이며 0≤x<480=K1
    리버스 연결 인코딩 시스템.
  4. 제 1 항에 있어서,
    상기 포매터는, 상기 제 3 데이터 어레이 내의 빈 위치들이 사전결정된 수의 바이트만큼 이격되도록 그리고 상기 제 2 데이터 어레이 및 상기 제 3 데이터 어레이의 각각의 크기가 디오판투스 방정식(Diophantine equation)을 만족하도록 상기 제 2 데이터 어레이를 처리하도록 또한 동작가능한
    리버스 연결 인코딩 시스템.
  5. 제 4 항에 있어서,
    상기 디오판투스 방정식은 (M+L)×(N2 -K2)=N2×L이며,
    여기서, M+L=K1 이며, M은 상기 제 2 데이터 어레이 내의 열의 개수이며, L은 상기 제 2 데이터 어레이 내의 행의 개수가 상기 포매터에 의해 상기 제 2 데이터 어레이를 처리하는 동안 확장되는 크기이며, K1는 상기 제 3 데이터 어레이 내의 열의 개수이며,
    N2-K2는 상기 제 3 데이터 어레이 내의 상기 빈 위치들을 이격시키는 사전결정된 수의 바이트의 개수이며, N2는 상기 제 2 데이터 어레이 내의 행의 개수이며, K2는 C2 인코더의 C2 코드의 크기인
    리버스 연결 인코딩 시스템.
  6. 제 5 항에 있어서,
    상기 디오판투스 방정식은 M+L=K1=480, L=75, N2=64, N2-K2=10에 의해 만족되며,
    상기 제 3 데이터 어레이의 빈 위치들이 이격되는 사전결정된 수의 바이트는 적어도 2이며,
    상기 제 3 데이터 어레이의 빈 위치들은 y≡x+ci(mod 64)에 의해 식별되며, 여기서 x 및 y는 각각 제 3 데이터 어레이의 열 지표 및 행 지표이며, ci∈{0, 6, 13, 19, 26, 32, 38, 45, 51, 58} 및 0≤x<480=K1
    리버스 연결 인코딩 시스템.
  7. 제 1 항에 있어서,
    코드워드 헤더(codeword headers)로 상기 제 6 데이터 어레이의 행을 인터리빙하여 코드워드 쿼드(codeword quads)를 생성하도록 동작하는 코드워드 쌍 헤더 및 코드워드 쿼드 생성기(a codeword pair header and codeword quad generator)와,
    상기 코드워드 쿼드를 상기 기록 매체의 논리적 트랙에 매핑하도록 동작하는 쓰기 포매터(a write formatter)를 더 포함하는
    리버스 연결 인코딩 시스템.
  8. 매체 상에 기록을 위한 데이터를 인코딩하는 방법으로서,
    인코딩되지 않은 사용자 데이터의 제 1 데이터 어레이를 생성하는 단계와,
    변조 제약된 데이터를 포함하는 제 2 데이터 어레이를 생성하기 위해 상기 제 1 데이터 어레이 내의 각각의 행에 대해 제 1 변조 제약을 부여하는 단계와,
    상기 변조 제약된 데이터가 인터리빙된 상기 제 2 데이터 어레이의 각각의 열 내에 사전결정된 빈 위치들을 삽입함으로써 상기 제 2 데이터 어레이를 포맷팅하여 제 3 데이터 어레이를 생성하는 단계와,
    상기 제 3 데이터 어레이의 각각의 열 내의 다수의 상기 빈 위치의 각각에 대해 C2 패리티 바이트를 계산하여 제 4 데이터 어레이를 생성하는 단계와,
    상기 제 4 데이터 어레이의 각각의 행에 대해 C1 패리티 심볼을 계산하여 제 5 데이터 어레이를 생성하는 단계와,
    상기 제 5 데이터 어레이의 각각의 C1 패리티 심볼에 대해 제 2 변조 제약을 부여하여 제 6 데이터 어레이를 생성하는 단계와,
    기록 매체의 트랙 상에 상기 제 6 데이터 어레이의 행을 기록하는 단계를 포함하는
    데이터 인코딩 방법.
  9. 제 8 항에 있어서,
    다수의 무제약 데이터 바이트를 생성하는 단계와,
    상기 제 3 데이터 어레이의 각각의 열 내의 상기 빈 위치들 중의 적어도 하나의 위치 내로 상기 무제약 데이터 바이트를 삽입하고 상기 계산된 C2 패리티 바이트를 상기 제 3 데이터 어레이의 각각의 열 내의 나머지 빈 위치들 내로 삽입하는 단계를 더 포함하는
    데이터 인코딩 방법.
  10. 프로그램가능한 컴퓨터와 함께 사용가능한 컴퓨터 판독가능한 기록 매체로서,
    상기 컴퓨터 판독가능한 기록 매체는 상기 매체 상에 기록하기 위한 데이터를 인코딩하기 위해 구현된 컴퓨터 판독가능한 코드를 가지며,
    상기 컴퓨터 판독가능한 코드는,
    인코딩되지 않은 사용자 데이터의 제 1 데이터 어레이를 생성하는 인스트럭션과,
    변조 제약된 데이터를 포함하는 제 2 데이터 어레이를 생성하기 위해 상기 제 1 데이터 어레이 내의 각각의 행에 대해 제 1 변조 제약을 부여하는 인스트럭션과,
    상기 변조 제약된 데이터가 인터리빙된 제 2 데이터 어레이의 각각의 열 내에 사전결정된 빈 위치를 삽입함으로써 상기 제 2 데이터 어레이를 포맷팅하고 제 3 데이터 어레이를 생성하는 인스트럭션과,
    상기 제 3 데이터 어레이의 각각의 열 내의 다수의 상기 빈 위치의 각각에 대해 C2 패리티 바이트를 계산하고 제 4 데이터 어레이를 생성하는 인스트럭션과,
    각각의 행 내의 P개의 C1 패리티 심볼을 계산하고 제 5 데이터 어레이를 생성하는 인스트럭션과,
    각 행 내의 각각의 C1 패리티 심볼에 대해 제 2 변조 제약을 부여하고 제 6 데이터 어레이를 생성하는 인스트럭션과,
    기록 매체의 트랙 상에 상기 제 6 데이터 어레이의 행을 기록하는 인스트럭션을 포함하는
    컴퓨터 판독가능한 기록 매체.
KR1020097012034A 2007-03-23 2008-02-29 기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체 KR101120780B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/690,619 2007-03-23
US11/690,635 2007-03-23
US11/690,635 US7873894B2 (en) 2007-03-23 2007-03-23 Reverse concatenation for product codes
US11/690,619 US7877662B2 (en) 2007-03-23 2007-03-23 Reverse concatenation for product codes
PCT/EP2008/052510 WO2008116725A1 (en) 2007-03-23 2008-02-29 Reverse concatenation for product codes

Publications (2)

Publication Number Publication Date
KR20090100346A KR20090100346A (ko) 2009-09-23
KR101120780B1 true KR101120780B1 (ko) 2012-03-26

Family

ID=39431114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097012034A KR101120780B1 (ko) 2007-03-23 2008-02-29 기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체

Country Status (4)

Country Link
EP (1) EP2140452A1 (ko)
JP (1) JP5063709B2 (ko)
KR (1) KR101120780B1 (ko)
WO (1) WO2008116725A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7876516B2 (en) * 2009-01-09 2011-01-25 International Business Machines Corporation Rewrite-efficient ECC/interleaving for multi-track recording on magnetic tape
US8479079B2 (en) * 2010-04-09 2013-07-02 International Business Machines Corporation Integrated data and header protection for tape drives
US8854759B2 (en) 2012-04-24 2014-10-07 International Business Machines Corporation Combined soft detection/soft decoding in tape drive storage channels
US9178534B2 (en) * 2012-05-29 2015-11-03 International Business Machines Corporation Methods for partial reverse concatenation for data storage devices using composite codes
US9190076B2 (en) 2012-05-29 2015-11-17 International Business Machines Corporation Data format using an efficient reverse concatenated modulation code for magnetic tape recording
US9558782B2 (en) * 2012-05-29 2017-01-31 International Business Machines Corporation Partial reverse concatenation for data storage devices using composite codes

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3482676B2 (ja) * 1994-03-15 2003-12-22 ソニー株式会社 データ記録方法及びデータ記録装置
JPH11154377A (ja) * 1997-09-17 1999-06-08 Sony Corp データ記録装置及び方法、並びにデータ再生装置及び方法
US6505320B1 (en) * 2000-03-09 2003-01-07 Cirrus Logic, Incorporated Multiple-rate channel ENDEC in a commuted read/write channel for disk storage systems
US7064687B1 (en) * 2005-01-31 2006-06-20 Hitachi Global Storage Technologies Netherlands B.V. Techniques for modulating data using short block encoders

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
M. Blaum et al.,"High Rate Modulation Codes for Reverse Concatenation," IEEE Trans. on Magnetics, Vol. 43, No. 2, Feb. 2007.

Also Published As

Publication number Publication date
JP2010521764A (ja) 2010-06-24
WO2008116725A1 (en) 2008-10-02
JP5063709B2 (ja) 2012-10-31
EP2140452A1 (en) 2010-01-06
KR20090100346A (ko) 2009-09-23

Similar Documents

Publication Publication Date Title
US7877662B2 (en) Reverse concatenation for product codes
JP5341207B2 (ja) 磁気テープへのマルチトラック記録のための再書込効率の高いecc/インタリービング
US8276045B2 (en) ECC interleaving for multi-track recording on magnetic tape
US7873894B2 (en) Reverse concatenation for product codes
RU2504848C2 (ru) Устройство и способ обработки данных и носитель записи, содержащий программу
JP2008544686A (ja) 低密度パリティ検査符号化の方法及び装置
KR101120780B1 (ko) 기록 쓰기 경로를 위한 리버스 연결 인코딩 시스템과 매체 상에 기록하기 위한 데이터를 인코딩하는 방법과 컴퓨터 판독가능한 기록 매체
JP2002319242A (ja) 記録方法、記録装置、伝送装置、再生方法、再生装置、受信装置、記録媒体及び伝送媒体
CN101395670A (zh) 用于数据编码和解码的方法和设备、记录有实现该方法的程序的存储介质以及驱动所述存储介质的系统
KR20010081335A (ko) 차세대 고밀도 기록 매체를 위한 디지털 데이터의 오류정정 부호화 방법
JP4543895B2 (ja) データ処理方法、データ記録装置及びデータ伝送装置
CN100590716C (zh) 光学储存媒体刻录装置以及方法
JP3768149B2 (ja) 光記録媒体、データ記録装置及びデータ記録方法
US7159165B2 (en) Optical recording medium, data recording or reproducing apparatus and data recording or reproducing method used by the data recording or reproducing apparatus
Mittelholzer et al. Reverse concatenation of product and modulation codes
KR100653005B1 (ko) 데이터 기록 또는 재생방법과 그에 따른 고밀도 기록매체
KR100724211B1 (ko) 차세대 고밀도 기록 매체를 위한 디지털 데이터의 오류정정 부호화 방법
JP2002074854A (ja) ディジタルデータ記録伝送方法およびその装置
JP2004273114A (ja) 光情報貯蔵媒体のデータ記録方法
JPH087494A (ja) 誤り訂正符号語の記録方法

Legal Events

Date Code Title Description
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: 20150127

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee