KR100552699B1 - 코드율 7/8인 mtr 코드 부호화/복호화 방법 및 장치 - Google Patents

코드율 7/8인 mtr 코드 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR100552699B1
KR100552699B1 KR1020030075227A KR20030075227A KR100552699B1 KR 100552699 B1 KR100552699 B1 KR 100552699B1 KR 1020030075227 A KR1020030075227 A KR 1020030075227A KR 20030075227 A KR20030075227 A KR 20030075227A KR 100552699 B1 KR100552699 B1 KR 100552699B1
Authority
KR
South Korea
Prior art keywords
codeword
mtr
codewords
bit
trellis
Prior art date
Application number
KR1020030075227A
Other languages
English (en)
Other versions
KR20050040073A (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 삼성전자주식회사
Priority to KR1020030075227A priority Critical patent/KR100552699B1/ko
Priority to US10/973,831 priority patent/US7006019B2/en
Priority to JP2004312956A priority patent/JP4169279B2/ja
Publication of KR20050040073A publication Critical patent/KR20050040073A/ko
Application granted granted Critical
Publication of KR100552699B1 publication Critical patent/KR100552699B1/ko

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 코드율 7/8인 MTR 코드 부호화/복호화 방법 및 장치에 관한 것으로서, 그 부호화 방법은 7비트의 데이터를 소정의 8비트의 코드워드로 출력시키는 코드율 7/8인 MTR코드 생성단계; 8비트의 코드워드 및 이와 연속해서 들어오는 8비트의 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하는 MTR 위반체크 단계; 및 MTR 구속조건을 위배하면 코드워드의 특정 비트를 변환시키고, 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 코드워드 변환단계를 포함함을 특징으로 하고, 그 복호화 방법은 현재 입력되는 8비트의 코드워드를 c(k) 라 하고, 이어서 들어오는 8비트의 코드워드를 c(k+1)이라 할 때, c(k) 코드워드 및 이와 연속해서 들어오는 c(k+1) 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하는 MTR 위반체크 단계; MTR 구속조건을 위배하면, 코드워드의 특정 비트를 변환시키고, 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 코드워드 변환단계; 및 코드워드 변환단계를 거친 8비트의 코드워드를 소정의 MTR 코드에 의해 7비트의 데이터로 복호화하는 단계를 포함함을 특징으로 한다.
본 발명에 의하면, 높은 기록밀도에서도 데이터를 신뢰성있게 재생할 수 있고 자기기록 정보저장장치에 보다 많은 데이터의 저장 및 재생을 가능하게 한다.

Description

코드율 7/8인 MTR 코드 부호화/복호화 방법 및 장치{Method and appratus of rate 7/8 maximum transition run code encoding and decoding}
도 1은 본 발명에 의한 코드율7/8 인 MTR 부호화장치 및 복호화장치의 일실시예에 대한 구성을 블록도로 도시한 것이다.
도 2는 본 발명에 의한 코드율 7/8인 MTR코드의 코드워드를 도시한 것이다.
도 3은 인코딩 및 디코딩을 위한 MTR 조건위반 검사 및 변환과정에 대한 흐름도를 도시한 것이다.
도 4는 종래의 j=2와 j=3인 MTR 코드에 대한 트렐리스도를 도시한 것이다.
도 5는 j=2와 j=3 이 결합된 MTR 코드에 대한 트렐리스도를 도시한 것이다.
도 6은 선형수평 자기기록 채널에서의 비트 오류율(BER) 성능을 비교한 그래프이다.
도 7은 선형수직 자기기록 채널에서의 비트오류율(BER) 성능 비교 그래프이다.
도 8은 비선형 수직자기기록 채널에서의 비트오류율(BER) 성능 비교 그래프이다.
본 발명은 고밀도 자기기록 시스템을 위한 코딩 및 신호처리에 관한 것으로서, 특히 고밀도의 기록시스템에 적합한 형태의 MTR(maximum transition run) 코드 부호화/복호화 방법 및 장치에 관한 것이다.
종래의 코드로는 일반적인 변조코드와 코드율이 상대적으로 낮은 MTR 코드 등이 있다. 자기기록 시스템 중에서 하드디스크 드라이브에서 대표적으로 사용되고 있는 일반적인 변조코드로는 코드율이 8/9 또는 16/17인 코드 등이 있다. 이러한 코드의 경우 기록밀도가 증가함에 따라 연속적인 데이터 천이(transition) 회수가 증가되고, 이는 데이터 검출 성능 감소의 주원인이 되어 기록밀도 증가에 한계를 가져온다.
따라서 이러한 문제점을 해결하기 위해 MTR 코딩 기술의 개발에 초점이 맞추어지고 있다. 종래의 MTR 코드의 경우 고밀도의 기록 채널에서 검출 성능의 향상을 가져올 수 있도록 하기 위해 주로 연속적인 데이터 천이의 회수가 2개 이하인 코드에 대한 기술이 개발되었다. 그러나 이러한 코드는 코드율 증가에 제한이 있다.
MTR 코딩 기술을 간략히 설명하기로 한다. 런길이제한(run-length limited : RLL) 변조코드는 자기 또는 광 기록/재생 시스템에서 가장 많이 사용되는 코드이다. RLL 코드에서 (d, k) 구속조건은 '1'과 '1' 사이에 연속되는 '0'의 수가 최소 d개에서 최대 k개가 되도록 하여, 변조된 NRZI(Non-Return-to-Zero-Inversion) 파형에서 천이의 발생간격이 최소 d +1비트에서 최대 k +1비트 이내가 되도록 한다. 이러한 (d, k) 코드는 인접 심벌간 간섭(inter-symbol interference, ISI)을 줄이 면서 타이밍 복구(timing recovery)가 용이하도록 한다.
MTR 코드는 고밀도의 자기기록 시스템에서 기록 데이터에 대한 최소거리 (minimum distance) 특성을 향상시켜 기존의 (0,k)인 기록 코드에 비해 검출 성능을 상당히 향상시킨다. 3개 이상의 연속적인 기록 천이가 발생되는 것을 제거하여 각각 4/5, 5/6, 6/7인 코딩기술은 개발되어 있다. 이러한 코드는 검출 성능 이득은 (1,7) 코드의 이득과 유사하면서도 보다 높은 코드율을 갖는 장점을 가진다. 이때 최대 허용 가능한 천이의 수(j)가 2인 경우, MTR 코드의 용량은 k 값에 따라 표 1과 같이 주어진다.
K 용량(Capacity) K 용량(Capacity)
4 5 6 7 0.8376 0.8579 0.8680 0.8732 8 9 10 ∞ 0.8760 0.8774 0.8782 0.8791
( j=2인 MTR 코드의 용량 )
다음으로 코드율 4/5인 MTR 코딩 기술을 설명하기로 한다. 코드율 4/5인 MTR 코드 구성 방법은 다음과 같다. ① 5비트로 이루어진 모든 코드워드 중에 '111' 패턴을 포함하고 있는 코드워드를 제거한다. ② 이때, 코드워드의 시작 부분과 끝 부분에서는 '11' 패턴을 포함하고 있는 코드워드도 제거하여 코드 시퀀스가 구성될 때 j=2가 만족되도록 한다. ③ k=∞인 코드워드가 생성되지 않도록 하기 위해, '00000' 코드워드를 제거한다.
이와 같이 구성할 경우, 가능한 코드워드의 수가 16개가 되어 코드율 4/5인 코드를 구성할 수 있고, 코드에서 허용되는 k는 최대 8이며, 표 2와 같다.
Figure 112003040222580-pat00001
(j=2; k=8)을 갖는 코드율 4/5인 MTR 코드
코드율 5/6인 MTR 코딩은 다음과 같다.
Figure 112003040222580-pat00002
(j=2; k=6)을 갖는 코드율 5/6인 MTR 코드
표 3은 j=2이고, 코드율이 5/6인 MTR 코드를 나타낸다. 이 코드는 두 개의 상태(state)로 나뉘어 있고, 인코딩 및 디코딩 방법은 다음과 같다. ① 25(=32)개의 가능한 입력 데이터 각각에 대해 코드를 할당하기 위해 "STATE-0"과 "STATE-1"은 각각 32개의 코드를 포함한다. 5비트의 입력 데이터는 두 개의 변환 상태 중 하나의 상태를 선택하여 인코딩 된다. "STATE-0"와 "STATE-1"의 코드워드는 마지막 두 개의 코드만 다르게 구성되어 있고, 이로 인한 상태의 선택은 인코딩된 이전 코드워드의 마지막 비트가 '0' 과 '1' 중에서 어느 것인지에 따라 결정된다. 다시 말해서 이전 코드워드의 마지막 비트가 '0'인 경우, "STATE-0"의 코드워드로 변환되고 마지막 비트가 '1' 인 경우에는 "STATE-1"의 코드워드로 변환된다. ② "STATE-1"이 선택될 경우, 입력이 '11110' 또는 '11111'이면 j=2인 구속 조건을 만족시키기 위해 이전 코드워드의 마지막 비트를 '0'으로 변환한다. ③ 인코딩된 6비트의 출력이 '000000'이고 다음 코드워드의 첫 번째 비트가 '0'인 경우, 마지막 두 비트를 '1'로 변환한다. ④ 이전 코드워드의 마지막 비트가 '0'이고, 현재 코드워드의 앞에서부터 5비트가 0이면 현재 코드워드의 처음 2 비트를 '1'로 수정한다. ⑤ 위의 ④번 항목의 조건에 해당되지 않으면서 이전 코드워드의 뒷 부분과 현재 코드워드의 앞 부분에서 '0'이 연속적으로 나오고, 전체 '0'의 개수가 7개 이상인 경우 이전 코드워드의 마지막 두 비트를 '1'로 변환한다. 이로 인해 코드에서 허용되는 k는 최대 6이 된다. ⑥ 디코딩의 경우 코드워드의 마지막 두 비트가 둘 다 '1'이면 '00'으로 변환하고 코드워드의 처음 5비트가 '11000'이면 '00000'으로 변환한다. 또한, 현재 코드워드의 처음 3비트가 '110'으로 시작되고, 마지막 2비트가 '10'이면 이전 코드워드의 마지막 비트 '0'을 '1'로 변환한다. 이와 같이 각 조건에 맞는 변환과정을 거친 후 코드 테이블을 통해 각 코드워드에 해당되는 입력을 디코딩한다.
코드율 6/7인 MTR 코딩은 다음과 같다. 코드율 6/7인 MTR 코드 구성 방법은 다음과 같다. ① 7비트로 이루어진 모든 코드워드 중에 '111' 패턴을 포함하고 있 는 코드워드를 제거한다. ② k-구속 (k-constraint) 조건을 고려하지 않을 경우 코드워드의 시작 부분과 끝 부분에서는 11 패턴을 포함하고 있지 않은 유효 코드워드의 수는 총 57개이다. 따라서 6비트의 입력에 대한 코드워드를 구성하기 위해서는 최소 7개(=26-57)의 코드워드가 추가로 필요하다. ③ 64개의 코드워드를 구성하기 위해 '110'으로 시작하면서 나머지 4비트가 j=2인 MTR 조건을 만족시키는 다음과 같은 9개의 코드워드, 즉 1100000, 1100001, 1100010, 1100100, 1100101, 1100110, 1101000, 1101001, 1101010 를 고려한다. ④ 위의 추가로 고려된 코드워드를 사용하면 이전 코드워드의 끝이 '0'인 경우 MTR 구속 조건에 위배되지 않으나 '1'로 끝날 경우에는 이전 코드워드의 연속되는 마지막 3비트와 현재 코드워드의 '110'을 다음과 같이 변형시켜 j=2인 조건을 만족시키도록 한다.
…001,110… => …011,001…
…101,110… => …011,010…
⑤ 66개의 사용 가능한 코드워드 중에서 k=∞ 인 코드워드가 생성되지 않도록 하기 위해 '0000000' 코드워드를 제거한다. 이때 '0'이 연속적으로 발생될 수 있는 길이가 가장 긴 경우가 '1000000,0000001' 이므로 최대 런-길이(run-length)는 12비트이다. ⑥ k-조건을 보다 더 줄이기 위해 다음과 같이 코드를 변형시킨다.
…000,000… => …011,000…
위와 같이 변형하면, '1000000,001…' 또는 …100,0000001'인 경우에 가장 긴 연속적인 '0'이 발생되므로 k=8이 된다. ⑦ 인코딩된 코드 시퀀스에 대한 디코딩 과정은 위의 과정의 역으로 진행된다.
이와 같이 구성한 코드는 가능한 코드워드의 수가 65개가 되어 이 중에서 64개를 선택하여 코드율 6/7인 코드를 구성할 수 있고, 코드에서 허용되는 k는 최대 8이며, 표 4와 같다.
Figure 112003040222580-pat00003
(j=2; k=8)을 갖는 코드율 6/7인 MTR 코드
본 발명이 이루고자 하는 기술적 과제는 종래의 일반적인 변조 코드에 비해 상대적으로 검출 성능의 향상을 보이면서 종래의 데이터 천이의 회수가 2개 이하인 MTR 코드에 비해 상대적으로 높은 코드율을 갖도록 하기 위해, 코드워드 자체에서는 데이터 천이의 회수를 2개 이하로 제한하고 코드워드가 연속될 경우에는 해당 경계에서의 데이터 천이 회수를 3개까지 허용하는, 코드율7/8인 MTR 코드 부호화/복호화 방법 및 장치를 제공하는 것이다.
상술한 과제를 달성하기 위한 본 발명에 의한 코드율7/8인 MTR 코드 부호화 방법은, 7비트의 데이터를 소정의 8비트의 코드워드로 출력시키는 코드율 7/8인 MTR코드 생성단계; 상기 8비트의 코드워드 및 이와 연속해서 들어오는 8비트의 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하는 MTR 위반체크 단계; 및 상기 MTR 구속조건을 위배하면 코드워드의 특정 비트를 변환시키고, 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 코드워드 변환단계를 포함함을 특징으로 한다. 상기 코드율 7/8 MTR 코드는 총 256개의 8비트 코드워드 중에서 코드워드가 연속될 경우에도 연속적인 데이터 천이를 나타내는 MTR 구속조건(j)이 2를 만족할 수 있도록 각 코드워드의 맨 앞(MSB)과 뒤(LSB)는 1이 한 개 이하로 구성되어 있는 105개의 코드워드 중에서 00000000 , 00000001 , 00100000 , 01000000 , 01100000 , 10000000 , 10100000 를 제외한 98개의 코드; 및 코드워드의 끝부분의 연속되는 1의 개수가 최대 2비트까지 허용하는 44개의 코드워드 중에서 1100 으로 시작하는 13개의 코드워드와 코드워드 11010000 을 배제한 30개의 코드워드로 이루어짐을 특징으로 한다.
상기 MTR 위반체크단계에서의 MTR 구속조건의 검사는 상기 128개의 코드워드에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, 현재 코드워드의 최하위 2비트(x1,x0)와 다음 코드워드의 최상위 4비트(y7,y6 ,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단하고, 상기 코드워드 변환단계에서의 코드워드 변환은 연속되는 0 의 개수(k)가 7 이하를 만족하는지를 검사하는 파라미터를 z0, j= 3의 구속조건을 만족하는지를 검사하는 파라미터를 z1 이라 할 때, z0 = x1 + x0 +y7 + y6 + y5 + y4 , z1 = x1 x0 y7 y6 y4 (여기서 + 는 모듈로-2 가산 연산을 나타냄) 에 의해 z0 및 z1을 계산하며, z0 = 0 인 경우에는 k = 7을 만족하도록 x 0, y7, y6를 1 로 변환하고, z1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 0 으로 변환함을 특징으로 한다.
상술한 과제를 달성하기 위한 본 발명에 의한 코드율7/8인 MTR 코드 부호화 장치는, 7비트의 데이터를 소정의 8비트의 코드워드로 출력시키는 코드율 7/8인 MTR코드를 생성하는 7/8인코더; 및 상기 8비트의 코드워드 및 이와 연속해서 들어오는 8비트의 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하고, 상기 MTR 구속조건을 위배하면 상기 코드워드의 특정 비트를 변환시키고 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 MTR 위반체크/변환부를 포함함을 특징으로 한다. 상기 코드율 7/8 MTR 코드는 총 256개의 8비트 코드워드 중 에서 코드워드가 연속될 경우에도 연속적인 데이터 천이를 나타내는 MTR구속조건(j)이 2를 만족할 수 있도록 각 코드워드의 맨 앞(MSB)과 뒤(LSB)는 1이 한 개 이하로 구성되어 있는 105개의 코드워드 중에서 00000000 , 00000001 , 00100000 , 01000000 , 01100000 , 10000000 , 10100000 를 제외한 98개의 코드; 및 코드워드의 끝부분의 연속되는 1의 개수가 최대 2비트까지 허용하는 44개의 코드워드 중에서 1100 으로 시작하는 13개의 코드워드와 코드워드 11010000 을 배제한 30개의 코드워드로 이루어지고, 상기 MTR 위반체크/변환부에서의 MTR 구속조건의 검사는 상기 128개의 코드워드에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, 현재 코드워드의 최하위 2비트(x1,x0)와 다음 코드워드의 최상위 4비트(y7,y6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단하고, 상기 MTR 위반체크/변환부에서의 코드워드 변환은 연속되는 0 의 개수(k)가 7 이하를 만족하는지를 검사하는 파라미터를 z0, j= 3의 구속조건을 만족하는지를 검사하는 파라미터를 z1 이라 할 때,
Figure 112003040222580-pat00004
,
Figure 112003040222580-pat00005
(여기서 + 는 모듈로-2 가산 연산을 나타냄) 에 의해 z0 및 z1을 계산하며, z0 = 0 인 경우에는 k = 7을 만족하도록 x0, y7, y6를 1 로 변환하고, z1 = 1 인 경우에는 j = 3 을 초과하지 않도록 x0 와 y4를 0 으로 변환한다.
상기 부호화장치는 상기 MTR위반체크/변환부의 병렬 코드워드를 직렬 데이터로 변환하는 병렬/직렬 변환부; 및 상기 직렬데이터를 채널에 기록하기 위해 신호 레벨을 변환하는 프리코더를 더 구비함을 특징으로 한다.
상술한 과제를 달성하기 위한 본 발명에 의한 코드율7/8인 MTR 코드 복호화 방법은, 현재 입력되는 8비트의 코드워드를 c(k) 라 하고, 이어서 들어오는 8비트의 코드워드를 c(k+1)이라 할 때, c(k) 코드워드 및 이와 연속해서 들어오는 c(k+1) 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하는 MTR 위반체크 단계; 상기 MTR 구속조건을 위배하면, 코드워드의 특정 비트를 변환시키고, 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 코드워드 변환단계; 및 상기 코드워드 변환단계를 거친 8비트의 코드워드를 소정의 MTR 코드에 의해 7비트의 데이터로 복호화하는 단계를 포함함을 특징으로 한다. 상기 코드율 7/8 인 MTR 코드는 총 256개의 8비트 코드워드 중에서 코드워드가 연속될 경우에도 연속적인 데이터 천이를 나타내는 MTR구속조건(j)이 2를 만족할 수 있도록 각 코드워드의 맨 앞과 뒤는 1이 한 개 이하로 구성되어 있는 105개의 코드워드 중에서 00000000 , 00000001 , 00100000 , 01000000 , 01100000 , 10000000 , 10100000 를 제외한 98개의 코드; 및 코드워드의 끝부분의 연속되는 1의 개수가 최대 2비트까지 허용하는 44개의 코드워드 중에서 1100 으로 시작하는 13개의 코드워드와 코드워드 11010000 을 배제한 30개의 코드워드로 이루어짐을 특징으로 한다.
상기 MTR 위반체크단계에서의 MTR 구속조건의 검사는 상기 128개의 코드워드 에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, c(k) 코드워드의 최하위 2비트(x1,x0)와 c(k+1) 코드워드의 최상위 4비트(y7,y 6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단하고, 상기 코드워드 변환단계에서의 코드워드 변환은 연속되는 0의 개수(k)가 7 이하를 만족하는지를 검사하는 파리미터를 z0, j= 3을 만족하는 지를 검사하는 파라미터를 z1 이라 할 때,
Figure 112003040222580-pat00006
,
Figure 112003040222580-pat00007
에 의해 z0 및 z1을 계산하여, z0 = 0 인 경우에는 k = 7을 만족하도록 x0, y7, y6를 0 으로 변환하고, z1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 1 로 변환함을 특징으로 한다.
상기 현재 입력되는 코드워드는 재생채널의 출력에 대해 등화처리되는 단계;
상기 등화된 출력은 j=2 인 트렐리스와 j=3 인 트렐리스가 결합된 형태의 트렐리스를 갖는 비터비 복호기에 입력되어 복호화됨을 특징으로 하고, 상기 결합된 트렐리스는 연결된 코드워드 간의 경계가 시작되는 비트부터 연속 3비트까지는 j=3 인 코드워드가 허용될 수 있도록 하는 변형된 j=3 트렐리스임을 특징으로 한다.
상기 복호화방법은 현재의 코드워드의 4번째 비트(x4)부터 마지막 최하위비트(x0)까지는 j=2 인 트렐리스에 의해 복호화하며, 뒤이은 다음 코드워드의 최상위비트(y7)와 그 다음 비트(y6)는 j=3을 허용하기 위해 y7에 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치 메트릭(BM)을 추가로 계산하며,
Figure 112003040222580-pat00008
y6에 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치 메트릭을 추가로 계산하며
Figure 112003040222580-pat00009
y5에 해당 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치
메트릭을 추가로 계산함을 특징으로 한다.
Figure 112003040222580-pat00010
상술한 과제를 달성하기 위한 본 발명에 의한 코드율7/8인 MTR 코드 복호화 장치는 현재 입력되는 8비트의 코드워드를 c(k) 라 하고, 이어서 들어오는 8비트의 코드워드를 c(k+1)이라 할 때, c(k) 코드워드 및 이와 연속해서 들어오는 c(k+1) 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하고 상기 MTR 구속조건을 위배하면, 코드워드의 특정 비트를 변환시키고, 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 MTR 위반체크/변환부; 및 MTR 위반체크/ 변환부의 8비트의 코드워드를 소정의 MTR 코드에 의해 7비트의 데이터로 복호화하는 7/8디코더를 포함함을 특징으로 한다. 상기 코드율 7/8 인 MTR 코드는 총 256개의 8비트 코드워드 중에서 코드워드가 연속될 경우에도 연속적인 데이터 천이를 나타내는 MTR구속조건(j)이 2를 만족할 수 있도록 각 코드워드의 맨 앞과 뒤는 1이 한 개 이하로 구성되어 있는 105개의 코드워드 중에서 00000000 , 00000001 , 00100000 , 01000000 , 01100000 , 10000000 , 10100000 를 제외한 98개의 코드; 및 코드워드의 끝부분의 연속되는 1의 개수가 최대 2비트까지 허용하는 44개의 코드워드 중에서 1100 으로 시작하는 13개의 코드워드와 코드워드 11010000 을 배제한 30개의 코드워드로 이루어짐을 특징으로 한다. 상기 MTR 위반체크/변환부에서의 MTR 구속조건의 검사는 상기 128개의 코드워드에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, c(k) 코드워드의 최하위 2비트(x1,x0)와 c(k+1) 코드워드의 최상위 4비트(y7,y6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단하고, 상기 코드워드 변환단계에서의 코드워드 변환은 연속되는 0의 개수(k)가 7 이하를 만족하는지를 검사하는 파리미터를 z0, j= 3을 만족하는 지를 검사하는 파라미터를 z1 이라 할 때,
Figure 112003040222580-pat00011
,
Figure 112003040222580-pat00012
에 의해 z0 및 z1을 계산하여, z0 = 0 인 경우에는 k = 7을 만족하도록 x0, y7, y6를 0 으로 변환하고, z1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 1 로 변환한다.
상기 복호화장치는 상기 현재 입력되는 8비트의 코드워드 및 이어서 들어오는 8비트의 코드워드는 채널의 재생특성을 보상하기 위해 채널로부터 읽은 데이터를 등화처리하는 4차부분응답등화기; j=2 인 트렐리스와 j=3 인 트렐리스가 결합된 형태로서, 연결된 코드워드 간의 경계가 시작되는 비트부터 연속 3비트까지는 j=3 인 코드워드가 허용될 수 있도록 하는 변형된 j=3 트렐리스를 구비하며, 상기 등화된 출력을 상기 결합된 트렐리스에 의해 비터비 복호화하는 비터비디코더; 및 상기 비터비 디코더의 직렬 데이터를 병렬 데이터로 변환하는 직렬/병렬 변환부를 더 구비함을 특징으로 한다.
그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다. 도 1은 본 발명에 의한 코드율7/8 인 MTR 부호화장치(10) 및 복호화장치(20)의 일실시예에 대한 구성을 블록도로 도시한 것이다. 코드율7/8 인 MTR 부호화장치는 7/8인코더(100), MTR 위반체크/변환부(110), 병렬/직렬변환부(120) 및 프리코더(130)를 포함하여 이루어진다.
상기 7/8인코더(100)는 7비트의 데이터를 소정의 8비트의 코드워드로 출력시키는 코드율 7/8인 MTR코드를 생성한다. 상기 MTR 위반체크/변환부(110)는 상기 8비트의 코드워드 및 이와 연속해서 들어오는 8비트의 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하고, 상기 MTR 구속조건을 위배하면 상기 코드워드의 특정 비트를 변환시키고 상기 구속조건을 위배하지 않으면 코드워드를 변환시 키지 않는다.
상기 병렬/직렬 변환부(120)는 상기 MTR위반체크/변환부의 병렬 코드워드를 직렬 데이터로 변환한다. 상기 프리코더(130)는 상기 직렬데이터를 채널에 기록하기 위해 신호 레벨을 변환한다.
그리고 상기 코드율7/8 인 MTR 복호화장치는 4차부분응답등화기(140), 비터비디코더(150), 직렬/병렬 변환부(160), MTR 위반검사/변환부(170) 및 7/8 디코더(180)을 포함하여 이루어진다.
MTR 위반검사/변환부(170)는 현재 입력되는 8비트의 코드워드를 c(k) 라 하고, 이어서 들어오는 8비트의 코드워드를 c(k+1)이라 할 때, c(k) 코드워드 및 이와 연속해서 들어오는 c(k+1) 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하고 상기 MTR 구속조건을 위배하면, 코드워드의 특정 비트를 변환시키고, 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는다.
상기 7/8디코더(180)는 MTR 위반체크/변환부의 8비트의 코드워드를 소정의 MTR 코드에 의해 7비트의 데이터로 복호화한다. 상기 4차부분응답등화기(140)는 채널의 재생특성을 보상하기 위해 채널로부터 읽은 데이터를 등화처리한다. 상기 비터비디코더(150)는 결합된 트렐리스를 구비하며, 비터비 복호화한다.
상기 직렬/병렬 변환기(160)는 상기 비터비 복호화기의 직렬 데이터를 병렬 데이터로 변환한다.
한편 상기 부호화장치 및 복호화장치의 동작을 설명하기로 한다. 먼저 7비트의 사용자 데이터가 7/8인코더(100)에 입력되어 8비트의 코드워드(Ck+1)를 출력시킨다. 이 출력은 이전의 변형된 코드워드(
Figure 112005070079417-pat00033
)와 함께 MTR 구속조건에 위배되는지를 검사하여 위배되는 경우 코드워드의 특정비트를 변환시키기 위해 MTR 위반체크/변환부(MTR violation check & converter, 110)에 입력되어 이전 코드워드에 대한 변형된 형태(
Figure 112005070079417-pat00034
)를 출력시킨다. 이 때 인코더로부터 입력된 코드워드는 다음 코드워드와의 MTR 조건위배 검사를 위해 임시 메모리로 입력(Ck+1)된다. 출력된 코드워드는 MTR 위반체크/변환부(110)에서 병렬/직렬 변환부(120)와 프리코더(130)를 통과한 후에 자기기록 채널(30)에 기록된다.
이와 같이 저장된 데이터에 대한 재생 과정에서는 재생 채널(30)의 출력에 대해 등화 과정을 거치게 된다. 이때 등화기는 4차 부분 응답 등화기(4th order partial response equalizer, 140)를 사용하고, 등화된 출력은 다시 본 발명에서 개발한 결합된 트렐리스를 갖는 비터비디코더(150)에 입력되어 검출 과정을 거치게 된다. 검출된 데이터는 다시 직렬/병렬 변환기 (Serial/Parallel converter, 160)로 입력되어 8비트 코드워드 단위로 변환(
Figure 112005070079417-pat00035
)되어 MTR 위반 검사 및 변환기를 통해 이전 코드워드(Ck)에 대해 복원한 후에, 이에 대해 디코딩을 수행하여 원래의 데이터를 출력시킨다.
도 2는 본 발명에 의한 코드율 7/8인 MTR코드의 코드워드를 도시한 것으로서, 그 구성 방법을 설명하기로 한다. 코드워드의 길이가 8비트이면서 k-구속 조 건을 고려하지 않을 경우(k=∞), 연속적인 최대 천이 회수(j)가 2비트 이하인 유효 코드워드 수는 105가지이다. 이 코드워드는 코드워드가 연속될 경우에도 j=2를 만족시킬 수 있도록 각 코드워드의 맨 앞과 뒤는 1이 한 개 이하로 구성되어 있다. 그러나 7비트 입력 데이터에 대해 8비트 코드워드로 부호화(encoding)하기 위해서는 128(=27)개의 코드워드가 필요하므로 최소 23개의 코드워드가 추가로 요구된다. 이것은 코드워드의 맨 앞이 "110"으로 시작되는 코드워드와 맨 뒤가 "011"로 끝나는 코드워드를 추가함으로써 해결이 가능하다. 코드워드의 맨 앞이 "110"으로 시작되는 코드워드와 맨 뒤가 "011"로 끝나는 코드워드는 총 44개가 존재하는데, MTR 위반 체크/변환부(110)를 통해 코드워드의 경계에서 연속되는 천이 회수를 3비트 이하로 제한할 수 있도록 코딩하기 위해 "1100" 으로 시작되는 코드워드 13가지를 배제한다. 이를 제외한 나머지 가용 코드워드의 수는 총 136(=105+(44-13))가지이다. 이 중에서 k-구속 조건을 7이 되도록 하기 위해 코드워드의 맨 앞부터 연속적인 0의 개수가 7비트 또는 8비트인 코드워드 2가지와 맨 뒤부터 연속적인 0의 개수가 5비트 이상인 코드워드 5가지 및 MTR 위반체크/변환부(110)를 통해 코드워드 변형시 k-구속 조건이 7을 초과하게 하는 코드워드 1가지의 사용을 배제하면 총 8가지의 해당 코드워드는 다음과 같다. 00000000, 00000001, 00100000, 01000000, 01100000, 10000000, 10100000, 11010000 따라서 본 발명에 의한 코드는 코드율이 7/8이고, 코드워드 내에서는 연속적으로 발생 가능한 최대 천이 회수가 2비트 이하이며, 코드워드와 코드워드의 경계에서는 연속적인 최대 천이 회수를 3비트까 지 허용하는 MTR 코드이다. 그러나 코드워드 테이블을 통해 단순히 입력에 대한 코드워드를 대응시키는 것만으로는 코드워드 경계에서 j=3을 항상 만족시킬 수 없고, k-구속 조건도 7이하가 되지 않는 경우가 발생한다. 따라서 이것은 MTR 위반체크/변환부(110)"를 통해 각각의 조건을 만족시킬 수 있는 코드를 발생시킬 수 있게 된다.
도 3은 인코딩 및 디코딩을 위한 MTR 조건위반 검사 및 변환과정에 대한 흐름도를 도시한 것이다. 종래의 코드율이 4/5, 5/6, 6/7인 MTR 코드와 달리 코드율이 7/8인 경우에는 전체적으로 j=2인 코딩이 불가능하기 때문에, 본 발명에서는 코드워드의 경계에서만 j=3을 허용할 수 있도록 하였다.
인코딩에 대한 MTR 위반 검사 및 변환 과정에서는 k-구속 조건이 7을 만족하고, 코드워드 경계에서 j=3까지만 허용하기 위해 특정한 경우에 다음과 같이 변환한다.
…00,0000… => …01,1100…
…11,1101… => …10,1100…
이 때 코드워드 시퀀스 중에서, "…11,11010000,0001…" 인 경우 "…10,11000000,0001…" 로 변환되어 k-구속 조건이 9가 되는 문제점이 발생하기 때문에, 코드워드 "11010000"의 사용을 배제한다. 현재 코드워드를 Ck … {x7(MSB),x6,…,x0(LSB)}라 하고, 다음 코드워드를 Ck+1 … { y7(MSB),y6,…,y0(LSB)}라 할 때, 위와 같이 변환 과정이 이루어지면, x1 , x0, y7가 동시에 1인 경우와 x0 , y7, y6가 동시에 1인 경우만 발생되고 그 외에서는 모두 j=2 인 구속조건을 만족하게 된다. 즉 현재 코드워드의 최하위 2비트(x1,x0)와 다음 코드워드의 최상위 4비트(y7,y6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단한다. 그리고 상기 MTR 위반체크/변환부(110)에서의 코드워드 변환은 연속되는 0 의 개수(k)가 7 이하를 만족하는지를 검사하는 파라미터를 z0, j= 3의 구속조건을 만족하는지를 검사하는 파라미터를 z1 이라 할 때,
Figure 112005070079417-pat00036
,
Figure 112005070079417-pat00037
(여기서 + 는 모듈로-2 가산 연산을 나타냄) 에 의해 z0 및 z1을 계산하며, z0 = 0 인 경우에는 k = 7을 만족하도록 x0, y7, y6를 1 로 변환하고, z1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 0 으로 변환한다.
디코딩에 대한 MTR 위반 검사 및 변환 과정은 위의 인코딩에 대한 과정의 역으로 수행된다. 즉 상기 MTR 위반검사/변환부(170)에서의 MTR 구속조건의 검사는 상기 128개의 코드워드에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, c(k) 코드워드의 최하위 2비트(x1,x0)와 c(k+1) 코드워드의 최상위 4비트(y7,y6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단한다.
상기 코드워드 변환은 연속되는 0의 개수(k)가 7 이하를 만족하는지를 검사하는 파리미터를 z0, j= 3을 만족하는 지를 검사하는 파라미터를 z1 이라 할 때,
Figure 112003040222580-pat00014
,
Figure 112003040222580-pat00015
에 의해 z0 및 z1을 계산하여, z0 = 0 인 경우에는 k = 7을 만족하도록 x0, y7, y6를 0 으로 변환하고, z 1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 1 로 변환한다.
도 4는 종래의 j=2와 j=3인 MTR 코드에 대한 트렐리스도를 도시한 것이다. 4차의 PR 등화를 통한 종래의 j=2인 MTR 코드에 대한 비터비 검출기에서는 BM (branch metric)을 구하기 위한 트렐리스에서 연속적인 데이터 천이가 3회 이상 발생하는 6개의 가지가 제거된다. 이로 인해 고밀도의 자기기록 채널에서 j=2 인 MTR 코드에 대한 PRML 검출 성능은 종래의 PRML 검출 성능보다 매우 향상되지만, 상대적으로 j=3인 MTR 코드에 비해 매우 낮은 코드율을 나타낸다.
반대로 4차의 PR 등화를 통한 j=3인 MTR 코드의 경우 코드율 향상면에서 잇점이 있는 반면에 비터비 검출기에서 연속적인 데이터 천이가 4회 이상 발생하는 2개의 가지만 제거되기 때문에, 종래의 PRML 검출기보다 성능이 향상되긴 하지만, j=2인 MTR 코드에 대한 PRML 검출 성능보다는 상대적으로 열악하다.
도 5는 j=2와 j=3 이 결합된 MTR 코드에 대한 트렐리스도를 도시한 것이다. 본 발명에 의한 MTR 코딩 기술에 대한 PRML 검출 방법은 j=2인 트렐리스와 j=3인 트렐리스가 결합된 형태로 구현될 수 있다. 이 경우 코드워드 경계까지는 j=2인 트렐리스를 통해 비터비 검출 기술을 적용하고, 경계 시작점부터 연속 3비트까지는 j=3인 코드워드의 허용을 위해 j=3인 트렐리스의 변형을 통해 검출하는 형태로 구 현된다. 예를 들어, 현재 코드워드의 4번째 비트(x4)부터 마지막 LSB(x0)까지는 항상 j=2인 트렐리스에 의해 검출이 가능하다. 그러나 뒤이은 다음 코드워드의 MSB(y7)와 그 다음 비트(y6)는 j=3을 허용하기 때문에 트렐리스의 변형이 필요하게 된다. 따라서 y7에 해당하는 트렐리스에서는 종래의 j=2인 트렐리스에서 다음의 경우에 대해 BM을 추가로 계산해야 한다.
BM(ak = +1 | ak-1 = -1, ak-2 = +1 , ak-3 = -1, a k-4 = -1)
BM(ak = -1 | ak-1 = +1, ak-2 = -1, ak-3 = +1, ak-4 = +1)
또한, 그 다음 비트 y6의 경우에는 이전 비트(y7)에 대한 트렐리스에 의해 종래의 j=3인 트렐리스에 대한 BM을 계산한다. 즉, 종래의 j=2인 트렐리스에서 다음의 경우에 대해 BM을 추가로 계산해야 한다.
BM(ak = +1 | ak-1 = -1, ak-2 = +1 , ak-3 = -1, a k-4 = -1)
BM(ak = +1 | ak-1 = +1, ak-2 = -1, ak-3 = +1, ak-4 = -1)
BM(ak = -1 | ak-1 = -1, ak-2 = +1 , ak-3 = -1, a k-4 = +1)
BM(ak = -1 | ak-1 = +1, ak-2 = -1, ak-3 = +1, ak-4 = +1)
마지막으로 y6이후의 비트에 대해서는 다시 j=2인 경우로 제한되므로 다음 비트 y5에서는 j=2만을 허용하도록 트렐리스의 변형이 필요하게 된다. 따라서, y5 에 해당하는 트렐리스에서는 종래의 j=2인 트렐리스에서 다음의 경우에 대해 BM을 추가로 계산해야 한다.
BM(ak = +1 | ak-1 = +1, ak-2 = -1 , ak-3 = +1, a k-4 = -1)
BM(a k = -1 | ak-1 = -1, ak-2 = +1, ak-3 = -1, a k-4 = +1)
도 6은 선형수평 자기기록 채널에서의 비트 오류율(BER) 성능을 비교한 그래프로서, 본 발명에 의한 코드율 7/8인 MTR 코드와 이에 대한 결합된 트렐리스를 갖는 4차의 PRML 검출기에 대한 성능을 종래의 선형 수평 자기기록 시스템에서 사용하고 있는 코드율 8/9인 변조 코드에 대한 검출 성능과 비교하여 나타내었다. 여기서 사용한 수평 자기기록 채널은 진폭이 1로 정규화된 로렌찌안 펄스(Lorentzian pulse)를 사용하였고, 사용자 비트(user bit)에 대한 정규화된 밀도(normalized density)가 2.5인 경우에 대해 EEPR4ML 검출기를 사용하였다. 도 6에서 보는 바와 같이 고밀도에서 10-5 BER을 기준으로 코드율 8/9인 코드에 대한 검출 성능은 본 발명에서 개발한 7/8 코드에 대한 성능에 비해 상대적으로 0.5dB 이상 저하된다. 이러한 원인은 8/9인 코드의 경우, 연속되는 천이가 최대 12비트까지 발생될 수 있기 때문에 기록밀도가 높아질수록 인접 심벌간의 간섭이 심해져서 검출 성능의 감소를 나타내기 때문이다. 또한 7/8 코드에 대해 종래의 j=3인 트렐리스를 이용하면 0.3dB 정도의 추가적인 성능 향상을 보이고, 본 발명에 의한 결합된 트렐리스를 갖는 비터비 검출기는 종래의 EEPR4ML 검출기에 7/8 코드를 사용한 경우보다 0.6dB 이상 성능 이득을 얻을 수 있다.
도 7은 선형수직 자기기록 채널에서의 비트오류율(BER) 성능 비교 그래프로 서, 본 발명에 의한 코드율 7/8인 MTR 코드와 이에 대한 결합된 트렐리스를 갖는 4차의 PRML 검출기에 대한 성능을 종래의 선형 수직 자기기록 시스템에서 코드율 8/9인 변조 코드에 대한 검출 성능과 비교하여 나타내었다. 여기서 사용한 선형 수직 자기기록 채널은 H. Sawaguchi, Y. Nishida, H. Takano와 H. Aoi에 의해 발표된 Journal of Magnetism and Magnetic Materials/2001년, P265-272 에 나와있는 채널 모델을 사용하였고, 사용자 비트에 대한 정규화된 밀도가 1.5인 경우에 대해 PR(12321)ML 검출기를 사용하였다. 도 7에서 보는 바와 같이 고밀도에서 10-5 BER을 기준으로 코드율 8/9인 코드에 대한 검출 성능은 본 발명에 의한 7/8 코드에 대한 성능에 비해 상대적으로 0.8dB 정도 감소된다. 또한, 7/8 코드에 대해 종래의 j=3인 트렐리스를 이용하면 1.3dB 정도의 추가적인 성능 향상을 보이고, 본 발명에 의한 결합된 트렐리스를 갖는 비터비 검출기는 종래의 PR(12321)ML 검출기에 7/8 코드를 사용한 경우보다 2dB 정도의 성능 이득을 얻을 수 있다.
도 8은 비선형 수직자기기록 채널에서의 비트오류율(BER) 성능 비교 그래프로서, 본 발명에 의한 코드율 7/8인 MTR 코드와 이에 대한 결합된 트렐리스를 갖는 4차의 PRML 검출기에 대한 성능을 종래의 비선형 수직 자기기록 시스템에서 코드율 8/9인 변조 코드에 대한 검출 성능과 비교하여 나타내었다. 여기서 사용한 비선형 수직 자기기록 채널은 비선형 잡음(지터, DC-offset)이 포함된 형태의 채널 모델을 사용하였고, 전체 잡음 중에 DC-offset 잡음이 10% 차지하고, 나머지 중에 지터 잡음과 백색 가우시안 잡음(white Gaussian noise, WGN)이 차지하는 비율을 각각 15%, 85%로 고정하였으며, 사용자 비트에 대한 정규화된 밀도가 1.5인 경우에 대해 PR(12321)ML 검출기를 사용하였다. 도 8에서 보는 바와 같이 고밀도에서 10-5 BER을 기준으로 코드율 8/9인 코드에 대한 검출 성능은 본 발명에 의한 7/8 코드에 대한 성능에 비해 상대적으로 0.8dB 정도 감소된다. 또한, 7/8 코드에 대해 종래의 j=3인 트렐리스를 이용하면 0.8dB 정도의 추가적인 성능 향상을 보이고, 본 발명에서 개발한 결합된 트렐리스를 갖는 비터비 검출기는 종래의 PR(12321)ML 검출기에 7/8 코드를 사용한 경우보다 2dB 정도의 성능 이득을 얻을 수 있다.
본 발명에 의하면, 코드워드 자체에서는 데이터 천이의 회수를 2개 이하로 제한하면서 코드워드가 연속될 때 해당 경계에서는 데이터 천이의 회수에 대해 3개가지 허용하도록 코딩 기술을 개발하여 종래의 일반적인 변조코드에 비해 상대적으로 검출성능의 향상을 보이면서 종래의 데이터 천이의 회수가 2개 이하인 MTR 코드에 비해 상대적으로 높은 코드율을 갖는다.
그리고 높은 기록밀도에서도 데이터를 신뢰성있게 재생할 수 있고 이로 인해 자기기록 정보저장장치에 보다 많은 데이터의 저장 및 재생을 가능하게 한다.
또한 본 발명에 의한 코딩기술의 특성에 맞도록 트렐리스가 결합된 형태의 PRML 검출이 되므로써 종래의 PRML 기술에 비해 검출성능을 상대적으로 향상된다.

Claims (15)

  1. 7비트의 데이터를 소정의 8비트의 코드워드로 출력시키는 코드율 7/8인 MTR코드 생성단계;
    상기 8비트의 코드워드 및 이와 연속해서 들어오는 8비트의 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하는 MTR 위반체크 단계; 및
    상기 MTR 구속조건을 위배하면 코드워드의 특정 비트를 변환시키고, 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 코드워드 변환단계를 포함함을 특징으로 하고,
    상기 코드율 7/8 MTR 코드는
    총 256개의 8비트 코드워드 중에서 코드워드가 연속될 경우에도 연속적인 데이터 천이를 나타내는 MTR구속조건(j)이 2를 만족할 수 있도록 각 코드워드의 맨 앞(MSB)과 뒤(LSB)는 1이 한 개 이하로 구성되어 있는 105개의 코드워드 중에서 00000000 , 00000001 , 00100000 , 01000000 , 01100000 , 10000000 , 10100000 를 제외한 98개의 코드; 및코드워드의 끝부분의 연속되는 1의 개수가 최대 2비트까지 허용하는 44개의 코드워드 중에서 1100 으로 시작하는 13개의 코드워드와 코드워드 11010000 을 배제한 30개의 코드워드로 이루어짐을 특징으로 하는, 코드율7/8 인 MTR 부호화방법.
  2. 제1항에 있어서, 상기 MTR 위반체크단계에서의 MTR 구속조건의 검사는상기 128개의 코드워드에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, 현재 코드워드의 최하위 2비트(x1,x0)와 다음 코드워드의 최상위 4비트(y7,y6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단하고,
    상기 코드워드 변환단계에서의 코드워드 변환은
    연속되는 0 의 개수(k)가 7 이하를 만족하는지를 검사하는 파라미터를 z0, j= 3의 구속조건을 만족하는지를 검사하는 파라미터를 z1 이라 할 때,
    Figure 112005070079417-pat00038
    ,
    Figure 112005070079417-pat00039
    (여기서 + 는 모듈로-2 가산 연산을 나타냄) 에 의해 z0 및 z1을 계산하며,
    z0 = 0 인 경우에는 k = 7을 만족하도록 x0, y7, y6를 1 로 변환하고,
    z1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 0 으로 변환함을 특징으로 하는, 코드율7/8 인 MTR 코드 부호화방법.
  3. 7비트의 데이터를 소정의 8비트의 코드워드로 출력시키는 코드율 7/8인 MTR코드를 생성하는 7/8인코더; 및
    상기 8비트의 코드워드 및 이와 연속해서 들어오는 8비트의 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하고, 상기 MTR 구속조건을 위배하면 상기 코드워드의 특정 비트를 변환시키고 상기 구속조건을 위배하지 않으면 코드워 드를 변환시키지 않는 MTR 위반체크/변환부를 포함함을 특징으로 하고,
    상기 코드율 7/8 MTR 코드는
    총 256개의 8비트 코드워드 중에서 코드워드가 연속될 경우에도 연속적인 데이터 천이를 나타내는 MTR구속조건(j)이 2를 만족할 수 있도록 각 코드워드의 맨 앞(MSB)과 뒤(LSB)는 1이 한 개 이하로 구성되어 있는 105개의 코드워드 중에서 00000000 , 00000001 , 00100000 , 01000000 , 01100000 , 10000000 , 10100000 를 제외한 98개의 코드; 및코드워드의 끝부분의 연속되는 1의 개수가 최대 2비트까지 허용하는 44개의 코드워드 중에서 1100 으로 시작하는 13개의 코드워드와 코드워드 11010000 을 배제한 30개의 코드워드로 이루어지고,
    상기 MTR 위반체크/변환부에서의 MTR 구속조건의 검사는
    상기 128개의 코드워드에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, 현재 코드워드의 최하위 2비트(x1,x0)와 다음 코드워드의 최상위 4비트(y7,y6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단하고,
    상기 MTR 위반체크/변환부에서의 코드워드 변환은
    연속되는 0 의 개수(k)가 7 이하를 만족하는지를 검사하는 파라미터를 z0, j= 3의 구속조건을 만족하는지를 검사하는 파라미터를 z1 이라 할 때,
    Figure 112003040222580-pat00016
    Figure 112003040222580-pat00017
    (여기서 + 는 모듈로-2 가산 연산을 나타냄) 에 의해 z0 및 z1을 계산하며,z0 = 0 인 경우에는 k = 7을 만족하도록 x 0, y7, y6를 1 로 변환하고,
    z1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 0 으로 변환하는, 코드율7/8 인 MTR 코드 부호화장치.
  4. 제3항에 있어서,
    상기 MTR위반체크/변환부의 병렬 코드워드를 직렬 데이터로 변환하는 병렬/직렬 변환부; 및
    상기 직렬데이터를 채널에 기록하기 위해 신호 레벨을 변환하는 프리코더를 더 구비함을 특징으로 하는 코드율7/8 인 MTR 코드 부호화장치.
  5. 현재 입력되는 8비트의 코드워드를 c(k) 라 하고, 이어서 들어오는 8비트의 코드워드를 c(k+1)이라 할 때, c(k) 코드워드 및 이와 연속해서 들어오는 c(k+1) 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하는 MTR 위반체크 단계;
    상기 MTR 구속조건을 위배하면, 코드워드의 특정 비트를 변환시키고, 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 코드워드 변환단계; 및
    상기 코드워드 변환단계를 거친 8비트의 코드워드를 소정의 MTR 코드에 의해 7비트의 데이터로 복호화하는 단계를 포함함을 특징으로 하고,
    상기 코드율 7/8 인 MTR 코드는
    총 256개의 8비트 코드워드 중에서 코드워드가 연속될 경우에도 연속적인 데이터 천이를 나타내는 MTR구속조건(j)이 2를 만족할 수 있도록 각 코드워드의 맨 앞과 뒤는 1이 한 개 이하로 구성되어 있는 105개의 코드워드 중에서 00000000 , 00000001 , 00100000 , 01000000 , 01100000 , 10000000 , 10100000 를 제외한 98개의 코드; 및코드워드의 끝부분의 연속되는 1의 개수가 최대 2비트까지 허용하는 44개의 코드워드 중에서 1100 으로 시작하는 13개의 코드워드와 코드워드 11010000 을 배제한 30개의 코드워드로 이루어짐을 특징으로 하는,코드율7/8 인 MTR 코드 복호화방법.
  6. 제5항에 있어서, 상기 MTR 위반체크단계에서의 MTR 구속조건의 검사는
    상기 128개의 코드워드에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, c(k) 코드워드의 최하위 2비트(x1,x0)와 c(k+1) 코드워드의 최상위 4비트(y7,y6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단하고,
    상기 코드워드 변환단계에서의 코드워드 변환은
    연속되는 0의 개수(k)가 7 이하를 만족하는지를 검사하는 파리미터를 z0, j= 3을 만족하는 지를 검사하는 파라미터를 z1 이라 할 때,
    Figure 112003040222580-pat00018
    Figure 112003040222580-pat00019
    에 의해 z0 및 z1을 계산하여,
    z0 = 0 인 경우에는 k = 7을 만족하도록 x0, y7, y6를 0 으로 변환하고,
    z1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 1 로 변환함을 특징으로 하는, 코드율7/8 인 MTR 코드 복호화방법.
  7. 제5항에 있어서, 상기 현재 입력되는 코드워드는
    재생채널의 출력에 대해 등화처리되는 단계;
    상기 등화된 출력은 j=2 인 트렐리스와 j=3 인 트렐리스가 결합된 형태의 트렐리스를 갖는 비터비 복호기에 입력되어 복호화됨을 특징으로 하고,
    상기 결합된 트렐리스는
    연결된 코드워드 간의 경계가 시작되는 비트부터 연속 3비트까지는 j=3 인 코드워드가 허용될 수 있도록 하는 변형된 j=3 트렐리스인, 코드율7/8 인 MTR 코드 복호화방법.
  8. 제7항에 있어서, 현재의 코드워드의 4번째 비트(x4)부터 마지막 최하위비트(x0)까지는 j=2 인 트렐리스에 의해 복호화하며,
    뒤이은 다음 코드워드의 최상위비트(y7)와 그 다음 비트(y6)는 j=3을 허용하기 위해 y7에 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치 메트릭을 추가로 계산하며,
    Figure 112003040222580-pat00020
    y6에 해당 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치 메트릭을 추가로 계산하며
    Figure 112003040222580-pat00021
    y5에 해당 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치 메트릭을
    Figure 112003040222580-pat00022
    추가로 계산함을 특징으로 하는 코드율7/8 인 MTR 코드 복호화방법.
  9. 현재 입력되는 8비트의 코드워드를 c(k) 라 하고, 이어서 들어오는 8비트의 코드워드를 c(k+1)이라 할 때, c(k) 코드워드 및 이와 연속해서 들어오는 c(k+1) 코드워드를 연결하여 소정의 MTR 구속조건을 만족하는지 검사하고 상기 MTR 구속조 건을 위배하면, 코드워드의 특정 비트를 변환시키고, 상기 구속조건을 위배하지 않으면 코드워드를 변환시키지 않는 MTR 위반체크/변환부; 및
    MTR 위반체크/변환부의 8비트의 코드워드를 소정의 MTR 코드에 의해 7비트의 데이터로 복호화하는 7/8디코더를 포함함을 특징으로 하고,
    상기 코드율 7/8 인 MTR 코드는
    총 256개의 8비트 코드워드 중에서 코드워드가 연속될 경우에도 연속적인 데이터 천이를 나타내는 MTR구속조건(j)이 2를 만족할 수 있도록 각 코드워드의 맨 앞과 뒤는 1이 한 개 이하로 구성되어 있는 105개의 코드워드 중에서 00000000 , 00000001 , 00100000 , 01000000 , 01100000 , 10000000 , 10100000 를 제외한 98개의 코드; 및
    코드워드의 끝부분의 연속되는 1의 개수가 최대 2비트까지 허용하는 44개의 코드워드 중에서 1100 으로 시작하는 13개의 코드워드와 코드워드 11010000 을 배제한 30개의 코드워드로 이루어짐을 특징으로 하는, 코드율7/8 인 MTR 코드 복호화장치.
  10. 제9항에 있어서, 상기 MTR 위반체크/변환부에서의 MTR 구속조건의 검사는
    상기 128개의 코드워드에 대해 코드워드를 연결하였을 경우, 코드워드 위배 검사 대상인 현재 코드워드를 c(k) 라 하고, 그 다음으로 들어오는 코드워드를 c(k+1)이라 할 때, c(k) 코드워드의 최하위 2비트(x1,x0)와 c(k+1) 코드워드의 최상 위 4비트(y7,y6,y5,y4)에 대해 MTR 구속조건 위배 여부를 판단하고,
    상기 코드워드 변환단계에서의 코드워드 변환은연속되는 0의 개수(k)가 7 이하를 만족하는지를 검사하는 파리미터를 z0, j= 3을 만족하는 지를 검사하는 파라미터를 z1 이라 할 때,
    Figure 112003040222580-pat00023
    Figure 112003040222580-pat00024
    에 의해 z0 및 z1을 계산하여,
    z0 = 0 인 경우에는 k = 7을 만족하도록 x0, y7, y6를 0 으로 변환하고,
    z1 = 1 인 경우에는 j =3 을 초과하지 않도록 x0 와 y4를 1 로 변환하는, 코드율7/8 인 MTR 코드 복호화장치.
  11. 제9항 또는 제10항에 있어서, 상기 현재 입력되는 8비트의 코드워드 및 이어서 들어오는 8비트의 코드워드는
    채널의 재생특성을 보상하기 위해 채널로부터 읽은 데이터를 등화처리하는 4차부분응답등화기;
    j=2 인 트렐리스와 j=3 인 트렐리스가 결합된 형태로서, 연결된 코드워드 간의 경계가 시작되는 비트부터 연속 3비트까지는 j=3 인 코드워드가 허용될 수 있도록 하는 변형된 j=3 트렐리스를 구비하며, 상기 등화된 출력을 상기 결합된 트렐리스에 의해 비터비 복호화하는 비터비디코더; 및
    상기 비터비 디코더의 직렬 데이터를 병렬 데이터로 변환하는 직렬/병렬 변환부를 더 구비함을 특징으로 하는 코드율7/8 인 MTR 코드 복호화장치.
  12. 삭제
  13. 제6항에 있어서, 상기 현재 입력되는 코드워드는
    재생채널의 출력에 대해 등화처리되는 단계;
    상기 등화된 출력은 j=2 인 트렐리스와 j=3 인 트렐리스가 결합된 형태의 트렐리스를 갖는 비터비 복호기에 입력되어 복호화됨을 특징으로 하고,
    상기 결합된 트렐리스는
    연결된 코드워드 간의 경계가 시작되는 비트부터 연속 3비트까지는 j=3 인 코드워드가 허용될 수 있도록 하는 변형된 j=3 트렐리스인, 코드율7/8 인 MTR 코드 복호화방법.
  14. 제13항에 있어서, 현재의 코드워드의 4번째 비트(x4)부터 마지막 최하위비트(x0)까지는 j=2 인 트렐리스에 의해 복호화하며,
    뒤이은 다음 코드워드의 최상위비트(y7)와 그 다음 비트(y6)는 j=3을 허용하기 위해 y7에 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치 메트릭을 추가로 계산하며,
    Figure 112005070079417-pat00040
    y6에 해당 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치 메트릭을 추가로 계산하며
    Figure 112005070079417-pat00041
    y5에 해당 해당하는 트렐리스는 j=2인 트렐리스에서 다음과 같은 브랜치 메트릭을
    Figure 112005070079417-pat00042
    추가로 계산함을 특징으로 하는 코드율7/8 인 MTR 코드 복호화방법.
  15. 제1항, 제2항, 제5항 내지 제8항, 제13항, 제14항 중 어느 한 항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020030075227A 2003-10-27 2003-10-27 코드율 7/8인 mtr 코드 부호화/복호화 방법 및 장치 KR100552699B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020030075227A KR100552699B1 (ko) 2003-10-27 2003-10-27 코드율 7/8인 mtr 코드 부호화/복호화 방법 및 장치
US10/973,831 US7006019B2 (en) 2003-10-27 2004-10-27 Rate-7/8 maximum transition run code encoding and decoding method and apparatus
JP2004312956A JP4169279B2 (ja) 2003-10-27 2004-10-27 コードレートが7/8であるmtrコード符号化/復号化方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030075227A KR100552699B1 (ko) 2003-10-27 2003-10-27 코드율 7/8인 mtr 코드 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20050040073A KR20050040073A (ko) 2005-05-03
KR100552699B1 true KR100552699B1 (ko) 2006-02-20

Family

ID=34617229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030075227A KR100552699B1 (ko) 2003-10-27 2003-10-27 코드율 7/8인 mtr 코드 부호화/복호화 방법 및 장치

Country Status (3)

Country Link
US (1) US7006019B2 (ko)
JP (1) JP4169279B2 (ko)
KR (1) KR100552699B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7034719B2 (en) * 2002-09-27 2006-04-25 Samsung Electronics Co., Ltd. Data modulating method and apparatus, data demodulating method and apparatus, and code arranging method
US8156539B1 (en) * 2002-12-18 2012-04-10 Cypress Semiconductor Corporation Method and system for protecting a wireless network
US7475331B1 (en) * 2003-10-07 2009-01-06 Marvell International Ltd. Data dependent scrambler with improved global constraint
US7583458B2 (en) * 2004-07-28 2009-09-01 Agere Systems Inc. Channel optimization metrics
US20060125666A1 (en) * 2004-12-12 2006-06-15 Hanks Darwin M Data modulation
US7404133B2 (en) * 2004-12-12 2008-07-22 Hewlett-Packard Development Company, L.P. Error detection and correction employing modulation symbols satisfying predetermined criteria
JP2020071888A (ja) 2018-10-29 2020-05-07 キオクシア株式会社 記憶装置及び記憶方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0162558B1 (en) * 1984-05-21 1991-08-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for generating a run length limited code
US6032284A (en) * 1997-03-12 2000-02-29 Cirrus Logic, Inc. Trellis coding system for disc storage systems
US6032287A (en) * 1997-04-11 2000-03-07 Kallas; Diane C. Child's clothing garment having changeable front panel
US6400288B1 (en) * 1998-09-22 2002-06-04 Seagate Technology Llc Method and apparatus for generating code words with shifted tribit error protection
US6476737B1 (en) * 2001-11-16 2002-11-05 Lsi Logic Corporation Rate 64/65 (d=0, G=11/I=10) run length limited modulation code

Also Published As

Publication number Publication date
US7006019B2 (en) 2006-02-28
KR20050040073A (ko) 2005-05-03
US20050116843A1 (en) 2005-06-02
JP2005135575A (ja) 2005-05-26
JP4169279B2 (ja) 2008-10-22

Similar Documents

Publication Publication Date Title
US7193540B2 (en) Encoding apparatus and method, recording medium and program
US7403138B2 (en) Coder and a method of coding for codes having a Repeated Maximum Transition Run constraint of 2
US6744580B2 (en) Method and apparatus for reproducing data and method and apparatus for recording and/or reproducing data
US6963296B2 (en) Recording method, recording apparatus, transmitting apparatus, reproducing method, reproducing apparatus, receiving apparatus, recording medium, and transmission medium
KR100370416B1 (ko) 고밀도 데이터의 기록/재생을 위한 부호화/복호화 방법 및 그에 따른 장치
JP4065357B2 (ja) 高密度データの記録/再生のための符号化/復号化方法
US6826722B2 (en) Method and apparatus for reproducing data and method and apparatus for recording and/or reproducing data
US20060220926A1 (en) Encoder and decoder
US7057536B2 (en) Rate-13/15 maximum transition run code encoding and decoding method and apparatus
US6798593B2 (en) Method and apparatus for reproducing data and method and apparatus for recording and/or reproducing data
US7196999B2 (en) Method and apparatus for reproducing data and method and apparatus for recording and/or reproducing data
KR100552699B1 (ko) 코드율 7/8인 mtr 코드 부호화/복호화 방법 및 장치
JP5472715B2 (ja) 符号化方法および装置、並びに復号方法および装置
US6373407B1 (en) Data encoding method for digital data recording and data recording system using the same
US6943708B2 (en) Method of converting a series of data words into a modulated signal
US7138931B2 (en) Recording and reproducing apparatus
US5861825A (en) Method and device for code modulation, method and device for code demodulation, and method and device for decoding
US7203884B2 (en) Shaped spectral coding and recording systems therefor
WO2015107571A1 (ja) 復号装置および復号方法、記録再生装置および記録再生方法
JP4983032B2 (ja) 復調テーブル、復調装置および方法、プログラム、並びに記録媒体
KR100269436B1 (ko) 광 디스크의 정보 재생방법
Cai et al. Distance-Enhancing Constrained Codes for Optical Recording Channels
JP2006048809A (ja) 最尤復号装置、その方法及びそのプログラム、並びに、デジタルデータ再生装置
JP2001035088A (ja) 差分型ビタビ復号装置
JP2000021095A (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: 20130111

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131220

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170126

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20171215

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee