KR100633498B1 - 데이터 스트림의 동기화 및 재동기화용 방법, 시스템 및 프로그램을 포함하는 기록매체 - Google Patents

데이터 스트림의 동기화 및 재동기화용 방법, 시스템 및 프로그램을 포함하는 기록매체 Download PDF

Info

Publication number
KR100633498B1
KR100633498B1 KR1020047001401A KR20047001401A KR100633498B1 KR 100633498 B1 KR100633498 B1 KR 100633498B1 KR 1020047001401 A KR1020047001401 A KR 1020047001401A KR 20047001401 A KR20047001401 A KR 20047001401A KR 100633498 B1 KR100633498 B1 KR 100633498B1
Authority
KR
South Korea
Prior art keywords
synchronization
mark
data stream
binary data
resynchronization
Prior art date
Application number
KR1020047001401A
Other languages
English (en)
Other versions
KR20040062940A (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 KR20040062940A publication Critical patent/KR20040062940A/ko
Application granted granted Critical
Publication of KR100633498B1 publication Critical patent/KR100633498B1/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
    • 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
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

2진 데이터 스트림에서 동기화를 제공하기 위한 방법, 시스템 및 프로그램이 구비된다. 2진 데이터 스트림이 수신된다. 적어도 하나의 고립된 피크를 갖는 동기화 마크가 데이터 스트림 내의 적어도 한 곳에 생성된다. 동기화 마크를 수신된 2진 데이터와 연결함으로써 인코딩된 데이터 스트림이 형성된다. 디코딩 동안, 동기화 마크의 적어도 하나의 고립된 피크에 근접해서 발생하는 에러 전파에 기초하여 동기화 마크가 검출된다.
동기화 마크, 데이터 스트림, 고립된 피크, 에러 패턴

Description

데이터 스트림의 동기화 및 재동기화용 방법, 시스템 및 프로그램을 포함하는 기록매체{METHOD, SYSTEM, AND RECORDING MEDIUM CONTAINING PROGRAM FOR SYNCHRONIZATION AND RESYNCHRONIZATION OF A DATA STREAM}
본 발명은 데이터 스트림의 동기화 및 재동기화용 방법, 시스템 및 프로그램에 관한 것이다.
<관련 출원>
본 출원은 공통으로 양도되어 동시 계속 중이고, 대리인 사건 번호(Attorney Docket No.)가 TUC920010037US1이며, 발명의 명칭이 "Method and Apparatus for Encoding Data to Guarantee Isolated Transitions in a Magnetic Recording System"인 미국 특허출원과 관련되며, 이 특허출원은 본 출원과 동일자로 출원되고 전체로서 참조되어 본 명세서에 편입된다.
데이터 기록 시스템에서, 데이터 드라이브는 본 기술 분야에서 공지된 인코딩 방식을 사용하여 포지티브 및 네거티브 "자속 변환(flux transitions)"을 저장 매체에 기록하고, 저장 매체에 저장된 인코딩된 데이터를 도로 판독하기 위해 디코더를 사용한다. "1" 비트 ("1")는 신호의 피크나 골(trough)을 나타내고, "0" 비트 ("0")는 피크가 없음을 나타낸다. 기록 채널 또는 디코더에 제공될 데이터는, 변환으로서 기록 매체에 기록될, 또는 기록매체로부터 도로 판독할 순차적인 비트열이다. 종래 기술에서, 데이터 세트는 특정 위치(헤더)에서의 VFO(Variable Frequency Oscillator; 가변 주파수 발진기) 패턴과, (위상 고정 루프(Phase Locked Loop; PLL)와 같은) 판독 클록(read clock)을 코드워드(codeword) 비트 주파수와 동기화하기 위한 특별한 공지의 변환 주파수를 포함할 것이다. VFO 패턴은, "10" 또는 2T 비트의 시퀀스와 같은, 반복적인 코드워드 패턴을 포함할 수 있으나, 이는 헤더에 위치하기 때문에 식별 가능하다. 또한, 공지의 동기화 마크가 VFO 패턴과 임의의 인코딩된 데이터 사이에 구비되어, 코드워드 경계에, 그리고 유입되는 데이터의 시작 위치에 디코더를 정렬(align)시킨다.
PLL이 완전한 위상 고정(phase-lock)을 달성하지 않은 경우 또는 디코더가 유입되는 데이터 상의 코드워드 경계에 정렬되지 않은 경우에는, 일반적으로 그 다음 데이터 세트의 헤더 또는 코드워드 그룹의 분류를 위한 헤더에서, 그 다음 동기화("sync") 또는 재동기화("resync") 패턴을 만나기 전까지는, 디코터가 유입되는 인코딩된 데이터를 성공적으로 디코딩할 수 없을 것이다. 동기화 패턴이 검출되지 않거나(누락되거나), (예를 들어 결함에 의해) 잘못된 위치에서 잘못 검출되는 때에는, 정확한 비트의 위치와 코드워드 경계에의 정렬을 알 수 없다. 따라서, 디코더는 다음 동기화 또는 재동기화와 같은, 뒤이은 동기 필드 부분을 만나지 않으면 또는 만나기 전까지는 인코딩된 데이터를 성공적으로 디코딩할 수 없을 것이다. 그러한 디코딩 실패(failure)는 재난 수준의 실패인, 무한한 에러 전파(error propagation)를 포함한다.
VFO 패턴과 동기화 마크의 위치를 알더라도, 동기화 마크 내의 하나 또는 그 이상의 비트를 잘못 검출하는 것은 동기화 마크의 식별을 방해할 수 있다. 동기화 마크의 적절한 식별이 없다면, 데이터 디코더는 기록된 데이터와 동기화되지 않을 것이고, 데이터를 식별하지 못할 것이다.
종래 기술에서, 데이터 에러는 에러 정정 코드를 사용해 주소 지정(addressing)된다. 그러한 코드는 많은 데이터 기록 에러가 검출되고 정정되게 한다. 그러나, VFO 또는 동기화 패턴 내의 에러는 동기화 마크 검출의 누락이나 잘못된 곳에서의 검출을 유발할 수 있다. 그 결과, 데이터가 실제로 시작하기 전 또는 후에 데이터를 판독하는 것으로부터 데이터의 검출이 시작될 수 있다. 동기화 마크의 검출을 통해 데이터의 시작이 결정되지 않으면, 하나의 동기화 마크와 성공적으로 검출된 후속하는 동기화 마크 사이의 모든 데이터가 분실될 것이다. 이는 데이터를 보호하는 에러 정정 코드를 쓸모 없게 만드는, 재난적인 영향을 미칠 수 있다.
본 출원인에게 함께 양도된 미국 특허 제5,999,110호에서, VFO 패턴과 연결된(concatenated) 인코딩된 동기화 마크를 사용하는 것에 기초한 방법이 개시되는데, 여기서 인코딩된 동기화 마크는 연결된 VFO로부터, 고정된 복수의 비트의 비트 수에 대해 최대 해밍 거리(Hamming distance)에 놓인다. 그러나, EPR4(Enhanced Partial Response Type 4) 파형과 같은, 특정 응용에서는, 에러가 피크 사이로 전파되는 경향 때문에 최대 해밍 거리 측정(measurement)이 덜 효과적이다.
따라서, 데이터 인코딩 시스템의 에러를 줄이기 위한 더 정교한 동기화 및 재동기화 방법을 제공하는 기술이 필요하다.
2진 데이터 스트림에서 동기화를 달성하기 위한 방법, 시스템 및 프로그램이 구비된다. 2진 데이터 스트림이 수신된다. 적어도 하나의 고립된 피크(isolated peak)를 갖는 동기화 마크가 데이터 스트림 내의 적어도 한 곳에 생성된다. 이 동기화 마크를 수신된 2진 데이터와 연결함으로써 인코딩된 데이터 스트림이 형성된다. 디코딩 동안, 동기화 마크의 적어도 하나의 고립된 피크에 근접해서 발생하는 에러 전파에 기초하여 동기화 마크가 검출된다.
다른 구현예에서, 수신된 2진 데이터 스트림은 적어도 하나의 재동기화 마크와 연결되고, 여기서 적어도 하나의 재동기화 마크는 수신된 2진 데이터 스트림의 가운데에 위치하고 재동기화 마크와 인코딩된 2진 데이터는 서로 다르다.
디코딩 공정이 정확하게 동작하는지 검증하기 위해 재동기화 마크가 검출된다.
또 다른 구현예에서, 수신된 2진 데이터 스트림의 데이터 섹션은 인코딩 레이트(encoding rate) m/n으로 인코딩되고, 재동기화 마크는 인코딩된 2진 데이터의 바이트에 상당하는 고정된 복수의 비트를 포함한다.
설명된 구현예는, 수신된 2진 데이터 스트림의 데이터 섹션의 검출을 향상시키기 위해 동기화 및 재동기화 마크를 데이터 스트림 내에 위치시킴으로써 향상된 데이터 디코딩을 제공하는 기술을 제공한다
이하에서는 도면을 참조하여 설명하며, 도면 전체에 걸쳐 동일한 참조 번호는 대응하는 부분을 나타낸다.
도 1은 발명의 형태가 구현되는, 데이터를 인코딩 또는 디코딩하기 위한 테이프 드라이브 내의 구성 요소들의 구조를 나타내는 도면.
도 2는 발명의 구현예에 따라 동기화 및 재동기화 마크를 채용하는 인코딩된 데이터 세트의 기록 또는 채널 형식을 나타내는 도면.
도 3은 발명의 구현예에 따라 데이터 스트림 내의 동기화 마크를 검출하기 위한 로직을 나타내는 도면.
도 4는 발명의 구현예에 따라 재동기화 마크를 검출하기 위한 로직을 나타내는 도면.
도 5는 발명의 구현예에 따라 데이터를 디코딩할 때 도 3 및 도 4의 로직을 이용하기 위한 로직을 나타내는 도면.
이하의 설명에서, 본 출원의 일부를 형성하고, 본 발명의 몇 가지 실시예를 나타내는 첨부 도면을 참조한다. 본 발명의 범위를 벗어남이 없이, 다른 실시예들이 이용될 수 있고, 구조적인 변경 및 실시상의 변경이 가능함이 이해될 것이다.
도 1은 발명의 형태가 구현된 테이프 저장 환경을 나타낸다. 호스트 시스템(2)은 테이프 드라이브(4)와 통신한다. 테이프 드라이브(4)는 호스트 시스템(2)에 내장된 부품이거나 호스트 시스템(2)이 네트워크(도시하지 않음)를 통해 통신하는 테이프 라이브러리 또는 테이프 서버 내의 드라이브일 수 있다. 테이프 드라이브(4)는 호스트(2)로부터 수신된 데이터를 인코딩하는 인코더(6)를 포함하고, 인코딩된 데이터는 테이프 드라이브(4)의 기록헤드(16)와 맞물린 테이프 카트리지(10) 의 테이프 매체(8)에 기록된다. 테이프 드라이브(4)는 테이프 매체(8)에 저장된 데이터를 디코딩하여 호스트 시스템(2)으로 복귀시키는 디코더(12)를 더 포함한다. 테이프 드라이브(4) 내의 제어기(14)는 기록헤드(16) 및 판독헤드(18)를, 각각 구동하여, 본 기술 분야에서 공지된 방식으로 테이프 매체(8)의 인코딩된 데이터에 대해 기록 및 판독 동작을 수행한다. 인코더(6)와 디코더(12)는 제어기(14) 외부의 별개의 하드웨어 부품으로 구현하거나 제어기(14)에 의해 실행되는 로직 내에서 구현하여도 좋다.
대안적인 구현예에서, 인코더와 디코더는, 하드디스크 드라이브, 광 디스크 드라이브, 또는 비휘발성 저장 매체로 데이터를 판독 및 기록하기 위한 다른 장치와 같은, 다른 형태의 저장 장치에서 구현하여도 좋다. 설명한 구현예에서, 테이프 매체(8)는 자기 테이프(예를 들어, 리니어 테이프 오픈(Linear Tape Open), 트라반(Travan) 등) 또는 디지털 테이프를 포함한다.
기록헤드(16)는, 자속 변환의 형태로, 인코딩된 2진 비트 스트림을 테이프 매체(8)에 기록한다. 테이프 매체(8)로부터 데이터를 검색하기 위해, 판독헤드(18)는 인코딩된 데이터를 테이프 매체(8)로부터 판독하고, 그 후 이 데이터는 디코더(12)에 의해 디코딩되며, 디코더(12)는 복귀시킬 출력 2진 데이터를 호스트(2)로 제공한다. 판독할 때의 에러가, 동기화 및 에러-제어에 사용되는 코드의 에러 정정 능력을 초과하지 않는 경우, 디코더(12)로부터의 2진 출력 데이터는 호스트(2)로부터의 2진 입력 데이터와 일치할 것이다.
특정한 구현예에서는, 기록헤드(16)와 판독헤드(18)에서의 입력이 비동기적이다. 따라서, 판독 채널로 들어가는 데이터 스트림은, 디코더(12)가 채널 출력 데이터를 디코딩할 수 있도록, 판독헤드(18)가 저장된 데이터의 변환을 정확히 해석하게 하는 것에 필수적인 클록킹(clocking)을 제공해야 한다. 디코더(12)는 위상 고정 루프(PLL; 20) 회로를 포함한다. 클록킹 필드는 인코딩된 데이터 필드에 첨부되어, 인코딩된 데이터 필드에 들어가기 전에 위상 고정 루프(PLL; 20)가 위상-고정을 달성하게 하는데, 이를 위해서는 PLL의 클록이 성공적으로 판독되어야 한다.
기록 포매터(write formatter; 22)는 데이터 세트 각각에 클록킹 정보를 갖는 헤더를 덧붙인다. 예를 들어, 기록 포매터(22)는 인코더(6), 동기화 신호 발생기(sync generator; 24) 및 다중화기(multiplexor; MUX; 26)를 작동하여 인코딩된 데이터, 동기 신호 등을 원하는 형태로 배열한다. 이후 판독 헤드(18)는 클록킹 정보를 이용하여, 인코딩된 데이터 내의 변환 각각의 위치를 식별하고 그 정보를 인코딩된 데이터의 디코딩을 위해 디코더(12)에 제공할 수 있다. 판독헤드(18)로부터의 출력 신호 패턴 또한, 테이프 매체(8)로부터 판독한 2진 데이터의 동기화 패턴을 검출하는 동기화 검출기(sync detector; 28)로 제공된다. 판독 포매터(30)는 검출된 동기화 마크를 사용해 디코더의 출력 중 어떤 것이 데이터인지 결정한다.
도 2는 본 발명의 구현예에 따라 동기화 및 재동기화 마크를 채용하는 인코 딩된 데이터 세트의 기록 또는 채널 형식을 도시한다. 데이터 세트 각각은 데이터 세트 분리자(data set separator), 즉 간격(gap; 50)에 의해 분리된다. 데이터가 자기 테이프 드라이브에 의해 기록되는 경우, 이 간격은 통상적으로 "IBG" 또는 블록 간격(interblock gap)으로 호칭된다. 이 간격은 종종 가변 주파수 발진기(variable frequency oscillator; VFO) 영역(52)을 수반하는데, 이 영역은, 데이터 주파수를 VFO 영역의 주파수와 동기화하는 것을 유지하기 위해 출력 채널 PLL(20)에 의해 이용된다. 데이터 기록에서, 테이프 드라이브(10)는 다양한 속도로 작동할 수 있고, 또는 정지 및 재시작, 또는 역행할 수 있기 때문에, 데이터 주파수에 변화를 초래할 수 있으며, 이러한 변화는 VFO 영역 주파수를 검출함으로써 PLL(20)에 의해 결정되어야 한다. 그 후 VFO 영역(52)은 인코딩된 데이터 4분구간(quadrants; 53-55) 및, 자기 테이프와 같은 앞뒤로 이동할 수 있는 테이프 드라이브에서는, 역방향 VFO 영역(57)을 수반한다.
설명한 구현예에서, 코드워드 그룹의 일 그룹, 즉 코드워드 4분구간(Codeword Quad; 54)이 확대되어 더 상세하게 도 2에서 도시된다. 각각의 코드워드 4분구간은 선두의 VFO 패턴(60) 및 동기화 마크(61)를 갖는 헤더, 재동기화 마크(65)에 의해 분리된 복수의 코드워드 그룹(62, 63)을 포함하고, 4분구간의 끝에, 그 다음 VFO 패턴 직전에 자기 테이프를 위한 "역동기화(Reverse Sync)" 패턴(68)을 갖는다. 코드워드 그룹(62-63) 각각은 어떠한 적절한 길이라도 좋다. 또한 디코더(40)가 동기화 마크에 정렬되기 전에 주파수가 조절될 수 있도록, VFO 패턴(60)을 동기화 마크(61) 이전에 만나서 함께 연결(concatenation)하는 것이 좋 다. 설명한 구현예는 동기화 마크(68)를 VFO 패턴의 맞은편에 역순으로 기록하고, 이어지는 VFO 패턴과 연결함으로써, 양방향에서 기록 및 판독하도록 구성할 수 있다. 따라서, 역동기화 마크(68), VFO(60) 및 그 다음 동기화 마크(61)가 순차적인 스트링으로 연결될 수 있다.
VFO 패턴(60)은 반복적인 고주파 코드워드 패턴이며 헤더에 위치한 결과 식별이 가능하게 된다. VFO 패턴(60)은, 클록 또는 PLL이 동작 주파수를 VFO 영역(52)의 주파수로 조절(위상-고정)할 수 있는 짧은 패턴을 제공한다. 그러나, VFO 패턴(60)은 주파수가 검출되고 고정될 수 있을 정도로 충분히 길어야 한다.
동기화 마크, 즉 패턴(61)이 제공되어, 디코더(12)가 인코딩된 데이터의 시작을 결정하게 하고, 코드워드 경계에 정렬된다. 동기화 마크가 (그렇지 않은 재동기화 마크에 반해) 항상 VFO 패턴에 인접해 있기 때문에, 동기화 마크는 VFO 패턴에 이어서 쉽게 검출된다. 이와 같이 동기화 마크를 위치시킴으로써 동기화 마크가 인코딩된 데이터 내에서 나타날 것이라는 어떠한 염려도 크게 불식시킨다.
VFO 및/또는 동기화 패턴의 에러는 엉뚱한 곳에서 동기화 패턴을 발견하는 것을 초래하고, 그 결과 기록 판독 채널(recording read channel)은 데이터가 실제로 시작하기 전 또는 후에 "데이터"를 제공하기 시작한다. 이는 디코더(12)가 동기화 없이 동작하게 할 것이고, 때문에 제공된 어느 "데이터"도 디코딩되지 못하게 한다. 데이터 기록 시스템에서 발생하는 에러 중 하나는, 고주파 신호의 기호간 간섭(inter-symbol interference)이, 어느 변환의 검출을 근접한 변환으로부터 변환이 없는 긴 스트링(변환과 변환 사이의 다수의 "0")쪽으로 이동시키는 "비트 이 동(bit shift)"이다. 이는 검출 회로가 긴 간격의 변환을 다른 위치로 이동시켜서, 그 변환이 대신 더 짧은 패턴으로 잘못 검출될 수 있게 한다.
에러 중 하나는 판독을 할 때 하나의 변환이 강한 신호를 형성하기에는 너무 느리게 발생해서, 피크 검출의 최소한의 검출 임계값(threshold)을 만족하지 못하는 것이다. 따라서, 그 변환은 완전히 누락된다. 또 다른 에러는 매체의 결함에 기인하는 것으로 신호 진폭의 엄청난 손실과 데이터가 기록된 트랙의 길이에 대한 전달 함수의 변화를 초래한다.
설명한 구현예에서, 앞서 논의된 에러를 방지할, 동기화 마크의 피크 사이의 연속적인 에러의 진행에 기초한 에러 검출 알고리즘이 개시된다. 설명한 구현예에 따른 알고리즘은 고립된 피크로 이루어지는 동기화 마크를 이용한다. 고립된 피크는, EPR4(Extended Partial Response)형 파형의 디코딩에서 발견되는 가장 많은 에러 전파 유형에 대해 자연적 장벽(natural barrier) 역할을 하기 때문에 사용된다. 인코딩 레이트 16/17을 사용하는 한 구현예에서, VFO에 첨부되는, S = 01000100001010001 과 같은, 17-비트 동기화 기호 S가 사용될 수 있다. 대안적인 동기화 기호도 데이터 스트림 내에 생성될 수 있다. 데이터 스트림 내에서 데이터의 앞에 동기화 기호 (S)를 생성함으로써, 디코더(12)로 하여금 데이터 스트림에서 데이터 디코딩의 시작점을 검출할 수 있게 한다. 소정의 구현예에서, 동기화 기호를 VFO에 첨부하여 이하의 S'를 얻는다.
S'= 1001000100001010001.
S'의 첫 번째 두 비트(1,0)가 이미 VFO에 있기 때문에, 19개 대신, 16/17 코 드 레이트(code rate)에서는 2 바이트와 동등한, 열 일곱 개의 비트가 VFO에 첨부된다. 이러한 방법으로, 전파 피크를 이용하여 동기화 기호를 전파 피크 내로 통합한다. 동기화 기호(S')의 값은 다른 방식으로도 생성할 수 있다. S'가 결정된 후에는, 동기화 마크에 이어서 데이터가 시작하기 때문에 데이터의 위치를 찾아내고 판독할 수 있다. 덧붙여, 데이터를 역방향으로 판독할 수도 있기 때문에, 동기화 마크는 인코딩된 데이터 뒤에 역방향으로도 기록된다. 결과적으로, 동기화 마크의 어떠한 일부도 VFO 패턴과 혼동하기 어려울 것이고, 패턴 전부를 실제로 만나기 전에는 동기화 마크를 식별하기 힘들 것이다. 따라서, 인코딩된 데이터 이전에 유효한 동기화 마크와 만나는 경우, 이를 정확한 위치에서 식별하기가 쉬울 것이다.
VFO에 첨부된 동기화 S'에서 발생하는 흔한 에러 중 하나는, 피크 사이에 짝수 개의 "1"이 연달아 나타나는 것이다. 덧붙여서, 피크 주위의 "101" 유형의 에러 패턴도 흔하다. 발생할 수 있는 가능한 에러 패턴은 다음과 같다.
1111000000000000000
0000000001111000000
0000011000000011110
0010100000000000000
그러므로, 본 발명에 따라, 디코더(12)는 이와 같이 흔히 발생하는 에러를 식별할 수 있어야 한다.
설명한 구현예에서, 디코더(12)에 의해 수신된 2진 스트림은 VFO 필드 101010에 이어서 동기화 마크, 그리고 16/17 레이트 코드(rate code)를 사용해 인코딩된 데이터를 그 다음에 포함한다. 이 레이트 코드는 발명의 명칭이 "Method and Apparatus for Encoding Data to Guarantee Isolated Transitions in a Magnetic Recording System"이고 대리인 사건 번호(Attorney Docket No.) TUC920010037US1을 갖는, 전체로서 참조되어 본 명세서에 합체된, 관련된 미국 특허출원에 개시된 레이트 코드와 같은 것으로, 여기서 코드워드 각각은 세 개 이하의 0 및 세 개 이하의 1로 시작하고 끝나며, 101010101 및 010101010 의 두 패턴은 배제되고 코드워드 각각은 피크 010을 포함한다. EPR4 파형을 인코딩하기 위해, 2진 스트림과
Figure 112004003902574-pct00001
(여기서 D는 지연 연산자(delay operator))를 곱하고, 그 후 2진 스트림과
Figure 112004003902574-pct00002
를 합성곱(convolving)함으로써 2진 스트림은 사전 부호화(precoded)되고 공지 기술의 방식으로 EPR4 파형을 얻는다. EPR4 파형을 디코딩하기 위해, 아마도 노이즈가 있는 파형의 형태에 비터비(Viterbi) 디코딩 알고리즘을 적용하고, (
Figure 112004003902574-pct00003
)와 비터비 알고리즘의 결과를 합성곱함으로써 비터비 알고리즘의 결과가 사후 부호화(postcoded)된다.
도 3은 수신된 2진 벡터(r0, r1, r2, ...) 내의 동기화 마크를 검출하기 위해 동기화 검출기(28)에서 구현되는 로직을 나타낸다. 설명한 구현예에서, 동기화 마크는, "010"과 같은, 적어도 하나의 피크를 포함한다. 도 3을 참조하면, 블록(100)에서 입력 2진 벡터(r0, r1, r2, ...)를 수신할 때 시작하도록 제어하며, 여기서 각각의 rj는 수신된 입력 벡터의 j번째 항목에 대한 2진 값이다. 블록(102)에서 동기화 검출기(28)는 j를 0으로 초기화한다. 블록(104)에서 입력 벡터의 고려된 구간(rj, rj+1,...,rj+18)을 동기화 기호(S')(여기서 S'= 1001000100001010001)와 비교하여, 각 벡터에서 서로 다른 비트 위치의 수인, 그 사이의 해밍 거리(Hamming distance)를 결정한다. 블록(106)에서 입력 벡터의 고려된 구간(rj, rj+1,...,rj+18)과 동기화 기호(S'= 1001000100001010001) 사이의 결정된 해밍 거리가 2 이하이면, 블록(108)에서 입력 벡터의 고려된 구간(rj, rj+1,...,rj+18)은 수신된 2진 벡터 내의 동기화 기호로 간주된다. 그렇지 않고, 블록(106)에서 해밍거리가 2보다 크다면, 블록(110)에서 에러 벡터 E가, 입력 벡터의 고려된 구간(rj, rj+1,...,rj+18)과 동기화 기호(S'= 1001000100001010001)의 배타적 논리합(exclusive OR; XOR)으로 계산되어 벡터(e0, e1,...,e18)가 된다. 블록(112)에서 X0 값은 e0 ∨ e1 ∨ e2 의 논리합(disjunction; OR)으로 설정된다. 블록(114)에서 X1 값은 e4 ∨ e5 ∨ e6 의 논리합 (OR)으로 설정된다. 블록(116)에서 X2 값은 e8 ∨ e9 ∨ e10 ∨ e11 의 논리합 (OR)으로 설정된다. 블록(118)에서 X3 값은 e13으로 설정된다. 블록(120)에서 X4 값은 e15 ∨ e16 ∨ e17 ∨ e18 의 논리합 (OR)으로 설정된다. 블록(122)에서 변수 X는 X1, X2, X3, 및 X4의 합으로 설정된다.
블록(124)에서 X가 1과 같다면, 제어는 블록(108)으로 진행하여 입력 벡터의 고려된 구간(rj, rj+1,...,rj+18)을 입력 벡터 내의 동기화 마크로 간주한다. 그렇지 않고 블록(126)에서 X가 2보다 크다면, 블록(128)에서 j는 1만큼 증가하고, 블록(104)으로 되돌아가도록 제어하여 오른쪽으로 1 비트 이동한, 입력 벡터의 그 다음 구간을 고려한다. 그렇지 않고 블록(126)에서 X가 2와 같다면, 블록(130)에서 변수 M이, 에러 벡터(E)에서 1인 비트값의 수로 결정된다. 블록(132)에서 벡터 W, 즉 (i0, i1,...,iM-1)는, ik가 입력 벡터의 고려된 구간(r j, rj+1,...,rj+18)에서 1의 k번째 값의 오프셋이도록 결정된다. 예를 들어, 벡터 10101에 대해, i0는 0, i1 은 2, 그리고 i2는 4이다. 동기화 검출기(28)는 그 후 블록(134)에서 변수 L을, 1 ≤k ≤M-1 에 대해 (ik - ik-1)이 1과 같아지는 횟수로 설정한다. 블록(136)에서 L이 M-2 와 같다면, 블록(108)으로 진행하도록 제어하여 현재 고려되는 구간(rj, rj+1,...,rj+18)을 동기화 마크로 받아들이나, 그렇지 않다면, 블록(128)으로 진행하도록 제어하여 수신된 입력 데이터 내의 그 다음에 가능한 동기화 마크를 고려한다. 동기화 마크에 후속하는 비트들이 데이터 블록을 포함하기 때문에, 동기화 마크로부터, 판독 포매터(30)가 디코딩할 데이터 블록에 액세스할 수 있다.
동기화 기호 외에도, 재동기화 마크(65)가 데이터의 가운데로 생성되어 정확한 데이터가 판독되고 있는지를 검증한다. 동기화 기호와는 달리, 재동기화 마크(65)는 재동기화 패턴(65)의 시작을 나타내기 위해 VFO에 의해 선행되지 않는 다. 따라서, 재동기화 마크(65)의 위치는 인코딩된 데이터로 보여지는 것을 피하기 위해 부가적인 안전장치를 가져야 한다. 특정한 구현예에서, 재동기화 마크(65)는 약 4 바이트의 데이터와 동등하다. 인코딩 레이트 16/17을 사용하는 한 실시예에서, RS = 1000000000100000000001000000000001 과 같은 34-비트 재동기화 마크가 사용된다. 이 RS 기호는 단지 예시적인 목적으로 주어진 것이며, 다른 기호들도 사용될 수 있다. 그러나, 설명한 구현예에서, 이 재동기화 마크(65)를 인코딩된 데이터로 오해하기는 어려울 것이다. 따라서, 인코딩 프로토콜에 따라, 재동기화 마크가 실제 데이터와의 혼동을 피하도록 선택된다.
재동기화 마크 RS를 검출하기 위해, 동기화 동작과 함께 사용된 코드와 동일한 16/17 코드(즉, 코드워드 각각은 세 개 이하의 0 및 세 개 이하의 1로 시작하고 끝나며, 101010101 및 010101010 의 두 패턴은 배제되고 코드워드 각각은 피크 010을 포함함)로 인코딩된 데이터 사이에 위치한 상술한 RS에 관련하여 이하의 알고리즘이 사용된다.
도 4는 재동기화 (RS) 코드를 검출하기 위해 판독 포매터(30)에서 구현되는 로직을 나타낸다. 도 4의 로직은 34 비트 재동기화 마크 1000000000100000000001000000000001 을 가정한다. 도 4를 참조하면, 블록(200)에서 입력 2진 벡터(r0, r1, r2, ...)를 판독하기 시작하도록 제어하며, 여기서 각각의 rj는 수신된 입력 벡터의 j번째 항목에 대한 2진 값이다. 블록(202)에서 디코더(12)는 j를 0으로 초기화한다. 블록(204)에서 주어진 j에 대한 입력 벡터의 구간(rj, rj+1, ... ,rj+33)을 재동기화 기호(RS=1000000000100000000001000000000 001)와 비교하여, 각 벡터에서 서로 다른 비트 위치의 수인, 둘 사이의 해밍 거리를 결정한다. 블록(206)에서 입력 벡터의 구간(rj, rj+1,...,rj+33)과 재동기화 기호 (RS=1000000000100000000001000000000001) 사이의 결정된 해밍 거리가 0이면, 블록(208)에서 입력 벡터의 고려된 구간(rj, rj+1,...,rj+33)은 판독되고 있는 벡터 내의 재동기화 기호(RS)로 간주된다. 그렇지 않고, 블록(206)에서 해밍거리가 0이 아니면, 블록(210)에서 에러 벡터 E가, 입력 벡터의 고려된 구간(rj, rj+1,...,rj+33 )과 재동기화 기호 (RS)의 배타적 논리합(XOR)으로 계산되어 벡터(e0, e1,...,e33 )가 된다.
블록(212)에서 변수 M이, 입력 벡터(rj, rj+1,...,rj+33)에서 1인 비트값의 수로 결정된다. 블록(214)에서 벡터 W, 즉 (i0, i1,...,iM-1)은, ik 가 입력 벡터의 고려된 구간(rj, rj+1,...,rj+33)에서 1의 k번째 값의 오프셋이도록 결정된다. 예를 들어, 벡터 10101에 대해, i0는 0, i1은 2, 그리고 i2는 4이다. 만약 블록 (216)에서 ((iM-1 -i0) + 1)이 M이고, 블록(220)에서 M이 2와 같다면, 블록(208)으로 진행하도록 제어하여 그 입력 벡터를 재동기화 마크로 받아들인다. 블록(220)에서 M이 2가 아니고, 블록(222)에서 M>1 이면, 블록(230)에서 (E)벡터 내의 e0 및 ew-1은 0으로 설정되고, 1 ≤k ≤(M-2) 에 대하여 ek는 1로 설정된다. 블록(232)에서, 수정된 에러 E 벡터와 재동기화 기호(RS)에서 둘 다 1이 되는 비트 위치가 하나뿐인 경우에는 블록(208)으로 진행하도록 제어하여 그 입력 벡터를 재동기화 기호로 받아들인다. 그렇지 않으면, 블록(228)에서 j는 1만큼 증가하고, 블록(204)으로 돌아가도록 제어하여 수신된 입력 벡터에서 1 비트 이동하고 그 다음 가능한 34비트를 재동기화 마크로 고려한다. 블록(226)에서 W 벡터(i0, i1,...,iM-1)의 값들이 집합 {0, 1, 32, 33}의 원소인 경우에는, 블록(208)으로 진행하도록 제어하여 고려된 벡터를 재동기화 마크로 받아들인다. 그렇지 않으면, 블록(228)으로 진행하도록 제어하여 수신된 입력 벡터 내의 그 다음 가능한 재동기화 마크를 고려한다. 만약 블록(216)에서 ((iM-1 -i0) + 1)이 M이 아니고 블록(218)에서 (iM-1 -i 0)가 M이면, 블록(230)으로 진행하도록 제어하고, 그렇지 않으면, 블록(228)으로 진행하도록 제어하여 j를 1만큼 증가하고 수신된 입력 벡터(r0, r1, r2, ...) 내의 그 다음 가능한 재동기화 마크를 고려한다.
도 5는 동기화 검출기(28) 및 디코더(12)가 본 발명의 구현에 따라 어떻게 비트 동기화 및 재동기화를 구현하는지를 나타낸다. 도 5에서의 로직은 디코더(12)가 테이프 매체(8)로부터 인코딩된 비트 시퀀스를 수신하는 블록(300)에서 시작한다. 블록(302)에서 동기화 검출기(28)는 인코딩된 비트 시퀀스에서 VFO 패턴을 검출하도록 노력할 것이다. VFO 패턴이 검출되면 동기화 검출기(28)는 도 3의 로직을 수행하여 블록(304)에서 동기화 마크(S)를 검출한다. 동기화 마크(S) 의 식별에 의해 사용자 데이터의 시작을 정확히 식별할 수 있다. 블록(306)에서 디코더(12)가 데이터를 판독하는 동안, 디코더(12)는 데이터가 정확하게 판독되고 있는지를 검증하기 위해 어떠한 재동기화 마크(RS)라도 식별하도록 노력한다. 디코더(12)는 블록(308)에서 도 4의 로직을 수행하여 재동기화(RS) 패턴을 식별하고 디코더(12)가 데이터를 바르게 해석하고 있는지를 시험한다.
[실시예에 대한 부가 설명]
바람직한 실시예는 소프트웨어, 펌웨어(firmware), 하드웨어, 또는 이들의 어떤 조합을 생산하기 위해 표준 프로그래밍 및/또는 공학 기술을 사용하는 방법, 장치 또는 제조물품(article of manufacture)으로 구현될 수 있다. 여기서 사용된 "제조물품" 이라는 용어는 하드웨어 로직(예를 들어, 집적 회로 칩, 필드 프로그래머블 게이트 어레이(FPGA), 주문형 반도체(Application Specific Integrated Circuit(ASIC) 등) 또는 컴퓨터 판독가능 매체(예를 들어 자기 저장 매체(예를 들어, 하드디스크 드라이브, 플로피 디스크, 테이프 등)), 광 저장 장치(optical storage)(CD-ROM, 광 디스크 등), 휘발성 및 비휘발성 메모리 장치(예를 들어, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 펌웨어, 프로그래머블 로직 등))에서 구현되는 코드 또는 로직을 말한다. 컴퓨터 판독 가능 매체 내의 코드는 프로세서에 의해 액세스되고 실행된다. 바람직한 실시예에서 구현된 코드는 나아가 전송 매체를 통해, 또는 네트워크를 통해 파일서버로부터 액세스 가능할 수 있다. 그러한 경우 코드가 구현된 제조물품은, 네트워크 전송선(network transmission line)과 같은 전송 매체, 무선 전송 매체, 공간을 통해 전파하는 신호, 전파(radio wave), 적외 선 신호 등을 포함할 수 있다. 물론, 당업자는 본 발명의 범위 내에서 상기 구성을 여러 가지로 수정할 수 있고, 이 제조물품이 공지기술의 정보 운반 매체(information bearing medium)를 포함할 수 있다는 것을 인식할 것이다.
설명한 구현예는 데이터를 테이프 드라이브로 전송하는 기술을 제공한다. 앞서 설명한 로직은 다른 입출력(I/O) 장치 또는 다른 저장 장치(예를 들어, 광 테이프(optical tape), 자기 테이프, 자기 디스크 등)와 함께 사용될 수 있다.
설명한 구현예에서, 바람직한 알고리즘이 EPR4 시스템에 기초하여 제시되었다. 대안적인 구현예에서, 동기화 및 재동기화 마크의 고립된 피크에 접한 에러 전파를 식별하는 동일한 기술을 사용하여, PR4 및 E2PR4 시스템에서 사용되도록 알고리즘을 수정할 수 있다.
설명한 구현예에서, 설명한 구현예는, 각각의 코드워드가 세 개 이하의 0 및 세 개 이하의 1로 시작하고 끝나며, 101010101 및 010101010 의 두 패턴은 배제되고 코드워드 각각은 피크 010을 포함하는, 16/17 코드를 사용하여 데이터가 인코딩되는 것으로 가정했다. 대안적인 구현예에서, 본 발명에서 설명된 동기화 및 재동기화 방법은 다른 인코딩 방식 및 상이한 인코딩 레이트 m/n에도 적용될 수 있다. 더 나아가, 동기화 기호(S') 및 재동기화 기호(RS)에 대신하여 여기서 설명된 값들이 아닌 다른 기호들도 사용될 수 있다.
도 3, 4, 및 5에서 설명된 로직은 특정한 순서로 일어나는 특정한 동작을 설명했다. 대안적인 구현예에서, 로직 동작의 특정 부분이 상이한 순서로 수행되거 나, 수정, 또는 삭제될 수 있고 여전히 본 발명의 바람직한 실시예를 구현한다. 또한, 앞서 설명된 로직에 단계들이 부가될 수 있고 여전히 발명의 구현예에 합치한다.
발명의 바람직한 실시예에 대한 앞의 설명은 예시적이고 설명적인 목적으로 제시된 것이다. 이는 구성 요소를 전부 열거하거나 개시한 정확한 형태에 발명을 한정하는 것을 의도하지 않는다. 상기 교시에 비추어 볼 때 여러 수정과 변화가 가능하다. 본 발명의 범위는 이 상세한 설명에 의해서가 아니라 첨부된 청구의 범위에 의해 한정되도록 의도된다. 앞선 설명, 예시, 및 데이터는 발명의 구성의 제조 및 사용에 대한 완전한 설명을 제공한다. 본 발명의 기술 사상 및 범위 내에서 여러 실시예가 만들어질 수 있기 때문에, 발명은 이하에 첨부된 청구항 내에 존속한다.

Claims (42)

  1. 2진 데이터 스트림에서 동기화를 제공하는 방법에 있어서,
    2진 데이터 스트림을 수신하는 단계와,
    적어도 하나의 고립된 피크(isolated peak)를 갖는 동기화 마크를 상기 데이터 스트림 내의 적어도 한 곳에 생성하는 단계와,
    상기 동기화 마크를 상기 수신된 2진 데이터 스트림과 연결(concatenate)함으로써 인코딩된 데이터 스트림을 형성하는 단계를 포함하고,
    디코딩 동안, 상기 동기화 마크의 적어도 하나의 고립된 피크에 근접하여 발생하는 에러 전파(error propagation)에 기초하여 상기 동기화 마크를 검출하는 단계 - 에러 검출은 동기화 마크의 피크들 사이의 연속적인 에러의 진행(runs of consecutive errors)에 기초하여 수행되며, 상기 적어도 하나의 고립된 피크가 에러 전파에 대하여 자연적 장벽(natural barrier)의 역할을 함 - 를 포함하는 것을 특징으로 하는
    동기화 제공 방법.
  2. 제1항에 있어서, 상기 2진 데이터 스트림의 입력 벡터의 고려된 구간(rj, rj+1,...,rj+18)이 동기화 기호(S')와 비교되어 그 사이의 해밍 거리(Hamming distance)가 결정되고,
    상기 입력 벡터의 상기 고려된 구간(rj, rj+1,...,rj+18)과 상기 동기화 기호(S') 사이의 상기 결정된 해밍 거리가 2 이하인 경우에는, 상기 입력 벡터의 상기 고려된 구간(rj, rj+1,...,rj+18)이 상기 수신된 2진 벡터 내의 동기화 기호로 간주되며,
    그렇지 않고 상기 해밍거리가 2보다 큰 경우에는, 에러 벡터 E가 상기 입력 벡터의 상기 고려된 구간(rj, rj+1,...,rj+18)과 상기 동기화 기호(S')의 배타적 논리합(EXCLUSIVE-OR; XOR)으로서 계산되어 벡터(e0, e1,...,e18)가 되는 동기화 제공 방법.
  3. 제1항에 있어서, 상기 수신된 2진 데이터 스트림을 VFO 패턴과 연결하는 단계를 더 포함하는 동기화 제공 방법.
  4. 제3항에 있어서, 상기 VFO 패턴은 시퀀스 "10"을 갖는 동기화 제공 방법.
  5. 제4항에 있어서, 상기 동기화 마크는 동기화 기호와 상기 VFO 패턴을 연결함으로써 결정되는 동기화 제공 방법.
  6. 제4항에 있어서, 상기 동기화 마크를 상기 수신된 2진 데이터 스트림과 연결함으로써 인코딩된 데이터 스트림을 형성하는 단계는,
    상기 동기화 마크보다 더 많은 비트를 갖는 수정된 동기화 패턴을 얻기 위하여 상기 동기화 마크를 상기 VFO 패턴으로부터의 적어도 하나의 비트와 연결하는 단계를 더 포함하는 동기화 제공 방법.
  7. 제1항에 있어서, 상기 수신된 2진 데이터 스트림을 적어도 하나의 재동기화 마크 - 상기 적어도 하나의 재동기화 마크는 상기 수신된 2진 데이터 스트림의 가운데에 위치하고 상기 재동기화 마크와 상기 인코딩된 2진 데이터 스트림은 서로 다름 - 와 연결하는 단계를 더 포함하는 동기화 제공 방법.
  8. 제7항에 있어서, 상기 디코딩 공정이 정확하게 동작하는지 검증하기 위해 상기 적어도 하나의 재동기화 마크를 검출하는 단계를 더 포함하는 동기화 제공 방법.
  9. 제1항에 있어서, 상기 수신된 2진 데이터 스트림의 데이터 섹션은 인코딩 레이트 m/n으로 인코딩되며, 상기 m 및 n은 각각 0보다 큰 정수인 동기화 제공 방법.
  10. 제9항에 있어서, 상기 동기화 마크는 01000100001010001을 포함하고 상기 인코딩 레이트 m/n은 인코딩 레이트 16/17을 포함하는 동기화 제공 방법.
  11. 제9항에 있어서, 상기 데이터 섹션은 인코딩 레이트 m/n으로 인코딩되고, 상기 재동기화 마크는 상기 인코딩된 2진 데이터 스트림의 바이트에 상당하는(equivalent) 고정된 복수의 비트를 포함하는 동기화 제공 방법.
  12. 제11항에 있어서, 상기 재동기화 마크는 1000000000100000000001000000000 001을 포함하고, 상기 인코딩 레이트 m/n으로 인코딩된 비트 시퀀스는 레이트 16/17로 코딩된 시퀀스를 포함하는 동기화 제공 방법.
  13. 제1항에 있어서, 상기 동기화 마크를 검출하는 단계는
    피크 사이의 짝수개의 1 및 피크 주위의 에러 패턴 "101"을 검출하는 단계를 포함하는 동기화 제공 방법.
  14. 2진 데이터 스트림에서 동기화를 제공하는 시스템에 있어서,
    2진 데이터 스트림을 수신하는 수단과,
    적어도 하나의 고립된 피크를 갖는 동기화 마크를 상기 2진 데이터 스트림 내의 적어도 한 곳에 생성하는 수단과,
    상기 동기화 마크를 상기 수신된 2진 데이터 스트림과 연결함으로써 인코딩된 데이터 스트림을 형성하는 수단과,
    디코딩 동안, 상기 동기화 마크의 적어도 하나의 고립된 피크에 근접하여 발생하는 에러 전파에 기초하여 상기 동기화 마크를 검출하는 수단 - 동기화 마크의 피크들 사이의 연속적인 에러의 진행에 기초하여 에러 검출이 수행되며, 상기 적어도 하나의 고립된 피크가 에러 전파에 대하여 자연적 장벽의 역할을 함 -
    을 포함하는 동기화 제공 시스템.
  15. 제14항에 있어서,
    상기 2진 데이터 스트림의 입력 벡터의 고려된 구간(rj, rj+1,...,rj+18)과 동기화 기호(S')를 비교하여 그 사이의 해밍 거리(Hamming distance)를 결정하기 위한 수단을 포함하고,
    상기 입력 벡터의 상기 고려된 구간(rj, rj+1,...,rj+18)과 상기 동기화 기호(S') 사이의 상기 결정된 해밍 거리가 2 이하인 경우에는, 상기 입력 벡터의 상기 고려된 구간(rj, rj+1,...,rj+18)이 상기 수신된 2진 벡터 내의 동기화 기호로 간주되며,
    그렇지 않고 상기 해밍거리가 2보다 큰 경우에는, 에러 벡터 E가 상기 입력 벡터의 상기 고려된 구간(rj, rj+1,...,rj+18)과 상기 동기화 기호(S')의 배타적 논리합(EXCLUSIVE-OR; XOR)으로서 계산되어 벡터(e0, e1,...,e18)가 되는 동기화 제공 시스템.
  16. 제14항 또는 제15항에 있어서, 상기 수신된 2진 데이터 스트림을 VFO 패턴과 연결하는 수단을 더 포함하는 동기화 제공 시스템.
  17. 제16항에 있어서, 상기 VFO 패턴은 시퀀스 "10"을 갖는 동기화 제공 시스템.
  18. 제17항에 있어서, 상기 동기화 마크는 동기화 기호와 상기 VFO 패턴을 연결함으로써 결정되는 동기화 제공 시스템.
  19. 제17항에 있어서, 상기 동기화 마크를 상기 수신된 2진 데이터 스트림과 연결함으로써 인코딩된 데이터 스트림을 형성하는 수단은,
    상기 동기화 마크보다 더 많은 비트를 갖는 수정된 동기화 패턴을 얻기 위하여 상기 동기화 마크를 상기 VFO 패턴으로부터의 적어도 하나의 비트와 더 연결하는 동기화 제공 시스템.
  20. 제14항에 있어서, 상기 수신된 2진 데이터 스트림을 적어도 하나의 재동기화 마크 - 상기 적어도 하나의 재동기화 마크는 상기 수신된 2진 데이터 스트림의 가운데에 위치하고 상기 재동기화 마크와 상기 인코딩된 2진 데이터 스트림은 서로 다름 - 와 연결하는 수단을 더 포함하는 동기화 제공 시스템.
  21. 제20항에 있어서, 상기 디코딩 공정이 정확하게 동작하는지 검증하기 위해 상기 적어도 하나의 재동기화 마크를 검출하는 수단을 더 포함하는 동기화 제공 시스템.
  22. 제14항에 있어서, 상기 수신된 2진 데이터 스트림의 데이터 섹션은 인코딩 레이트 m/n으로 인코딩되며, 상기 m 및 n은 각각 0보다 큰 정수인 동기화 제공 시스템.
  23. 제22항에 있어서, 상기 동기화 마크는 01000100001010001을 포함하고 상기 인코딩 레이트 m/n은 인코딩 레이트 16/17을 포함하는 동기화 제공 시스템.
  24. 제22항에 있어서, 상기 데이터 섹션은 인코딩 레이트 m/n으로 인코딩되고, 상기 재동기화 마크는 상기 인코딩된 2진 데이터 스트림의 바이트에 상당하는 고정된 복수의 비트를 포함하는 동기화 제공 시스템.
  25. 제24항에 있어서, 상기 재동기화 마크는 1000000000100000000001000000000 001을 포함하고, 상기 인코딩 레이트 m/n으로 인코딩된 비트 시퀀스는 레이트 16/17로 코딩된 시퀀스를 포함하는 동기화 제공 시스템.
  26. 제14항에 있어서, 상기 동기화 마크를 검출하는 수단은
    피크 사이의 짝수개의 1 및 피크 주위의 에러 패턴 "101"을 검출하는 동기화 제공 시스템.
  27. 제14항에 있어서, 입출력 장치(I/O device) - 상기 동기화 제공 시스템은 상기 입출력 장치에서 구현됨 - 를 더 포함하는 동기화 제공 시스템.
  28. 제27항에 있어서, 상기 입출력 장치는 자기 테이프 드라이브를 포함하는 동기화 제공 시스템.
  29. 제1항 내지 제13항의 방법 중 어느 하나의 항에 따른 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
KR1020047001401A 2002-01-02 2002-12-19 데이터 스트림의 동기화 및 재동기화용 방법, 시스템 및 프로그램을 포함하는 기록매체 KR100633498B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/038,163 2002-01-02
US10/038,163 US7116736B2 (en) 2002-01-02 2002-01-02 Method, system, and program for synchronization and resynchronization of a data stream
PCT/EP2002/014563 WO2003056557A2 (en) 2002-01-02 2002-12-19 Method, system, and program for synchronization and resynchronization of a data stream

Publications (2)

Publication Number Publication Date
KR20040062940A KR20040062940A (ko) 2004-07-09
KR100633498B1 true KR100633498B1 (ko) 2006-10-13

Family

ID=21898407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001401A KR100633498B1 (ko) 2002-01-02 2002-12-19 데이터 스트림의 동기화 및 재동기화용 방법, 시스템 및 프로그램을 포함하는 기록매체

Country Status (8)

Country Link
US (1) US7116736B2 (ko)
EP (1) EP1464052A2 (ko)
JP (1) JP2005525666A (ko)
KR (1) KR100633498B1 (ko)
CN (1) CN100378856C (ko)
AU (1) AU2002358766A1 (ko)
TW (1) TWI244847B (ko)
WO (1) WO2003056557A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1308931A1 (de) * 2001-10-23 2003-05-07 Deutsche Thomson-Brandt Gmbh Decodierung eines codierten digitalen Audio-Signals welches in Header enthaltende Rahmen angeordnet ist
US7154965B2 (en) * 2002-10-08 2006-12-26 President And Fellows Of Harvard College Soft detection of data symbols in the presence of intersymbol interference and timing error
EP1627284B1 (en) 2003-05-23 2018-10-24 IP Reservoir, LLC Intelligent data storage and processing using fpga devices
KR20080019729A (ko) * 2004-04-02 2008-03-04 실버브룩 리서치 피티와이 리미티드 모놀리식 집적회로
US7139142B2 (en) * 2004-10-29 2006-11-21 International Business Machines Corporation Determination of magnetic tape write quality employing write equalization transitions
US7428116B2 (en) * 2005-05-05 2008-09-23 International Business Machines Corporation Method for a cyclic dibit response estimation in a media system using a data set separator sequence
US7457355B2 (en) * 2005-05-25 2008-11-25 International Business Machines Corporation Method for an equalizer computation in a media system using a data set separator sequence
US7593430B2 (en) * 2005-07-28 2009-09-22 Alcatel-Lucent Usa Inc. Method and apparatus for generating virtual clock signals
SI2095524T1 (sl) 2006-11-01 2019-02-28 Qualcomm Incorporated Zasnova referenčnega signala za iskanje celice v ortogonalnem brezžičnem komunikacijskem sistemu
US8626741B2 (en) * 2007-06-15 2014-01-07 Emc Corporation Process for cataloging data objects backed up from a content addressed storage system
US8190834B2 (en) * 2007-06-15 2012-05-29 Emc Corporation Process for contiguously streaming data from a content addressed storage system
US8599973B2 (en) * 2008-04-30 2013-12-03 HGST Netherlands B.V. Detection of synchronization mark from output of matched filter upstream of Viterbi detector
US7965463B2 (en) 2009-01-09 2011-06-21 International Business Machines Corporation Recording multiple codeword sets during latency period
CN102568521B (zh) * 2010-12-31 2016-06-15 新奥特(北京)视频技术有限公司 一种读取文件的容错处理方法及系统
EP2863566B1 (en) 2013-10-18 2020-09-02 Université de Nantes Method and apparatus for reconstructing a data block
US9768950B2 (en) * 2015-06-25 2017-09-19 International Business Machines Corporation Codeword synchronization for fiber channel protocol
US10713213B2 (en) * 2016-12-21 2020-07-14 Intel Corporation Systems and methods for multi-architecture computing
US10684984B2 (en) 2016-12-21 2020-06-16 Intel Corporation Computing devices and server systems with processing cores having different instruction set architectures
US10552207B2 (en) 2016-12-21 2020-02-04 Intel Corporation Systems and methods for multi-architecture computing including program stack translation
US11275709B2 (en) 2017-05-02 2022-03-15 Intel Corporation Systems and methods for multi-architecture computing

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933786A (en) 1988-09-21 1990-06-12 Maxtor Corporation Fault tolerant index patterns and decoding means
US5231545A (en) 1991-06-04 1993-07-27 Quantum Corporation Fault tolerant rll data sector address mark decoder
US5291499A (en) 1992-03-16 1994-03-01 Cirrus Logic, Inc. Method and apparatus for reduced-complexity viterbi-type sequence detectors
US5341387A (en) 1992-08-27 1994-08-23 Quantum Corporation Viterbi detector having adjustable detection thresholds for PRML class IV sampling data detection
US5424881A (en) 1993-02-01 1995-06-13 Cirrus Logic, Inc. Synchronous read channel
JPH0863905A (ja) * 1994-08-18 1996-03-08 Hitachi Ltd 記録再生装置、ディジタル信号処理装置およびエラー訂正方法
US5661760A (en) 1995-10-23 1997-08-26 Quantum Corporation Wide biphase digital servo information detection, and estimation for disk drive using servo Viterbi detector
US5635933A (en) 1995-06-30 1997-06-03 Quantum Corporation Rate 16/17 (d=0,G=6/I=7) modulation code for a magnetic recording channel
US5521945A (en) 1995-06-30 1996-05-28 Quantum Corporation Reduced complexity EPR4 post-processor for sampled data detection
US5757822A (en) 1995-08-24 1998-05-26 Quantum Corporation Bit-interleaved rate 16/17 modulation code with three-way byte-interleaved ECC
US6429986B1 (en) 1995-09-07 2002-08-06 International Business Machines Corporation Data storage to enhance timing recovery in high density magnetic recording
US5960041A (en) 1995-09-21 1999-09-28 Lucent Technologies Inc. Method and apparatus for generating high rate codes for recording information on a magnetic medium
WO1997050179A1 (en) 1996-06-24 1997-12-31 Etom Technologies Corporation M=10 (2,10), d=3.75 runlength limited code for multi-level data
JPH1027433A (ja) 1996-07-09 1998-01-27 Matsushita Electric Ind Co Ltd ディジタル信号の復号装置
US5717395A (en) 1996-07-29 1998-02-10 Cirrus Logic, Inc. Rate 16/17 ENDEC with independent high/low byte decoding
US5838738A (en) 1996-07-29 1998-11-17 Cirrus Logic, Inc. Coding to improve timing recovery in a sampled amplitude read channel
JP3246349B2 (ja) 1996-09-05 2002-01-15 ソニー株式会社 ビタビ復号化装置
JP2891216B2 (ja) 1996-12-27 1999-05-17 日本電気株式会社 サーボマーク検出回路
US5757294A (en) 1996-12-31 1998-05-26 Quantum Corporation Rate 24/25 modulation code for PRML recording channels
US6032284A (en) 1997-03-12 2000-02-29 Cirrus Logic, Inc. Trellis coding system for disc storage systems
KR100506070B1 (ko) 1997-10-07 2005-09-30 삼성전자주식회사 고밀도데이터의기록/재생을위한부호화/복호화방법
US6115198A (en) 1997-10-29 2000-09-05 Cirrus Logic, Inc. PR4 sampled amplitude read channel for detecting user data and embedded servo data
US6018304A (en) 1997-12-18 2000-01-25 Texas Instruments Incorporated Method and apparatus for high-rate n/n+1 low-complexity modulation codes with adjustable codeword length and error control capability
US6097320A (en) 1998-01-20 2000-08-01 Silicon Systems, Inc. Encoder/decoder system with suppressed error propagation
US5999110A (en) * 1998-02-17 1999-12-07 International Business Machines Corporation Defect tolerant binary synchronization mark
US5969649A (en) * 1998-02-17 1999-10-19 International Business Machines Corporation Run length limited encoding/decoding with robust resync
US6184806B1 (en) 1998-03-13 2001-02-06 Quantum Corporation Rate 32/33 (D=0, K=6) run length limited modulation code having optimized error propagation
US6046691A (en) 1998-04-13 2000-04-04 Lucent Technologies Inc. Rate 16/17 (0,5) modulation code apparatus and method for partial response magnetic recording channels
US6097321A (en) 1998-04-30 2000-08-01 Lucent Technologies, Inc. Punctured maximum transition run code, apparatus and method for providing the same
JP2002515673A (ja) 1998-05-13 2002-05-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 入力情報信号の符号化
US6185175B1 (en) 1998-12-02 2001-02-06 Cirrus Logic, Inc. Sampled amplitude read channel employing noise whitening in a remod/demod sequence detector
KR100370223B1 (ko) * 2001-02-05 2003-02-05 삼성전자 주식회사 데이터 기록/재생 장치 및 그 방법과 데이터 부호화 방법

Also Published As

Publication number Publication date
WO2003056557A3 (en) 2004-03-04
AU2002358766A8 (en) 2003-07-15
KR20040062940A (ko) 2004-07-09
WO2003056557A2 (en) 2003-07-10
CN1592933A (zh) 2005-03-09
TWI244847B (en) 2005-12-01
US20030123587A1 (en) 2003-07-03
JP2005525666A (ja) 2005-08-25
CN100378856C (zh) 2008-04-02
US7116736B2 (en) 2006-10-03
TW200307436A (en) 2003-12-01
EP1464052A2 (en) 2004-10-06
AU2002358766A1 (en) 2003-07-15

Similar Documents

Publication Publication Date Title
KR100633498B1 (ko) 데이터 스트림의 동기화 및 재동기화용 방법, 시스템 및 프로그램을 포함하는 기록매체
KR100326981B1 (ko) 결함 허용 2진 동기 마크
KR930011679B1 (ko) 신호전송 장치 및 신호전송 장치에서의 데이타의 기록 재생방법
JP3083011B2 (ja) データ記録方法及び装置
US5220568A (en) Shift correcting code for channel encoded data
KR100393386B1 (ko) 로버스트 재동기를 가진 실행 길이 제한 인코딩/디코딩 방법 및 장치
US5576707A (en) Method and apparatus for detecting and decoding data in a PRML class-IV digital communication channel
US5528607A (en) Method and apparatus for protecting data from mis-synchronization errors
US5544178A (en) Method and apparatus for encoding data in a PRML class-IV digital communication channel
US5237574A (en) Error-resilient information encoding
KR100889149B1 (ko) 데이터 전송 방법, 블록 동기 신호 검출 방법 및 재생장치
US6574756B1 (en) Method and apparatus for identifying the start of a data field using a fault tolerant sync word
JP4131050B2 (ja) データ伝送方法
US4868690A (en) Self-initializing 1,7 code decoder with low sensitivity to errors in preamble
WO1989010029A1 (en) Method and apparatus for encoding consisting of forming a codeword by combining a first code sequence with a second code sequence
JP2000100084A (ja) 信号処理装置および磁気ディスク装置
KR100335164B1 (ko) 자기기록인코더시스템및그방법
JP2004253026A (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: 20111005

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee