KR100596939B1 - 짝수/홀수 데이터 트랙에 대한 교대적 랜덤화 - Google Patents
짝수/홀수 데이터 트랙에 대한 교대적 랜덤화 Download PDFInfo
- Publication number
- KR100596939B1 KR100596939B1 KR1020007004310A KR20007004310A KR100596939B1 KR 100596939 B1 KR100596939 B1 KR 100596939B1 KR 1020007004310 A KR1020007004310 A KR 1020007004310A KR 20007004310 A KR20007004310 A KR 20007004310A KR 100596939 B1 KR100596939 B1 KR 100596939B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- track
- read
- randomized
- write
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
- G11B5/09—Digital recording
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명은 데이터 오비교 에러(miscompare error) 발생을 감소시키기 위한 방법 및 저장 장치를 제공한다. 상기 방법은 목적 트랙(164)을 짝수 트랙 또는 홀수 트랙으로 식별하고 식별을 기초로 데이터(320)의 의사 랜덤 세트를 선택하는 것을 포함한다. 데이터(320)의 의사 랜덤 세트는 목적 트랙(164)에 기입될 기입 신호(279)에 대한 기준으로서 사용된 랜덤화된 데이터(322)를 형성하기 위하여 기입 데이터(263)와 결합된다.
Description
본 발명은 매체상에 데이터를 저장하는 저장 장치에 관한 것이다. 특히, 본 발명은 수신된 데이터에서 에러를 감소시키기 위한 인코딩 기술에 관한 것이다.
저장 장치는 저장 매체에 삽입된 트랙을 따라 데이터를 저장한다. 디스크를 사용하는 저장 장치에서, 트랙은 디스크의 회전축을 중심으로 한다. 테이프 형태 저장 장치에서, 트랙은 테이프의 이동 방향으로 진행하는 평행 경로를 따라 형성된다. 어느 경우에서나, 저장 장치는 목적 트랙상에 헤드를 배치시키고 매체의 일부 부분을 변경함으로써 데이터를 기입한다. 데이터를 복구하기 위하여, 저장 장치는 동일 트랙 위쪽에 판독 헤드를 배치시키고, 기입 헤드에 의해 수행된 변경을 나타내는 매체의 로컬 특성을 감지해야만 한다.
판독 및 기입 동작 동안 헤드의 배치는 저장된 데이터의 적절한 복구에 중요하다. 만약 기입 헤드가 기입 동작 동안 트랙상에 적당하게 배치되지 않으면, 데이터는 저장 장치가 예상하는 위치 외측에 기입될 것이다. 이것은 저장 장치가 데이터를 탐색하고자 하는 트랙상에 직접적으로 판독 헤드를 배치시키고자 하기 때문에 판독 에러를 유발할 수 있다. 만약 데이터가 이 위치의 외측에 있으면, 판독 헤드는 데이터를 판독할 수 없어서 판독 에러를 유발한다.
많은 저장 장치는 상기 판독 에러를 복구하기 위한 능력을 가진다. 특히, 복구 루틴의 부분으로서, 많은 장치가 이상적인 트랙 레이아웃으로부터 판독 헤드를 이동시키고 이상적인 트랙 외측에 기입된 데이터를 복구하고자 한다. 만약 판독 헤드가 성공적으로 데이터를 판독하면, 저장 장치는 남은 판독 동작을 계속 수행한다. 만약 판독 헤드가 데이터를 판독할 수 없으면, 미복구 에러를 기록한다.
트랙 밀도가 매체상에서 증가하면, 헤드 이동 복구 기술은 부가적인 문제를 형성한다. 특히, 이상적인 트랙 레이아웃의 외측으로 판독 헤드를 이동시키는 것은 판독 헤드가 인접 트랙으로 이동하게 한다. 만약 판독 헤드가 인접 트랙으로부터 성공적으로 데이터를 판독하면, 저장 장치는 본래의 타켓 트랙에 속하고 이웃하는 트랙에 속하지 않는 것으로서 복구된 데이터를 올바르지 않게 식별할 것이다. 이런 형태의 에러는 데이터 오비교(data miscompare)로서 공지된다.
상기 에러는, 실제로는 올바르지 않은 데이터가 호스트 컴퓨터에 리턴될 때 데이터 복구시 에러가 없다고 디스크 드라이브가 보고하도록 하기 때문에, 바람직하지 않다. 이러한 에러는 식별하기가 상당히 어렵고 컴퓨터 연산에 심각한 결과를 초래할 수 있다.
본 발명은 데이터 오비교 에러의 발생을 감소시키기 위한 방법 및 저장 장치를 제공한다. 상기 방법은 목적 트랙을 짝수 트랙 또는 홀수 트랙으로 식별하고 이런 식별을 기초로 의사 랜덤 데이터 세트를 선택하는 것을 포함한다. 의사 랜덤 데이터 세트는 목적 트랙에 기입될 기입 신호의 기초로 사용되는 랜덤화 데이터를 형성하기 위하여 기입 데이터와 결합된다.
본 발명의 다른 실시예에서, 상기 방법은 소스 트랙을 짝수 트랙 또는 홀수 트랙으로 식별하는 것을 포함한다. 판독 신호는 소스 트랙으로부터 판독함으로써 형성된다. 랜덤화 판독 데이터는 판독 신호로부터 추출되고 트랙상에 본래 기입된 데이터를 재생하기 위하여 의사 랜덤 데이터 세트와 결합된다. 의사 랜덤 데이터 세트는 소스 트랙이 짝수 트랙인지 홀수 트랙인지를 기초로 선택된다.
도 1은 본 발명이 실행되는 저장 장치의 한가지 형태의 평면도.
도 2는 이상적이지 않은 기입 트랙을 도시하는 저장 매체 데이터 트랙 레이아웃의 평면도.
도 3은 기입된 트랙을 복구하기 위하여 이동된 헤드를 가지는 이상적이지 않은 기입 트랙을 도시하는 저장 매체의 데이터 트랙 레이아웃 평면도.
도 4는 헤드에 의해 판독되는 트랙에 이웃하는 이상적이지 않은 기입 트랙을 가지는 저장 매체 데이터 트랙 레이아웃의 평면도.
도 5는 이상적이지 않은 기입 트랙쪽으로 이동된 헤드를 도시하는 저장 매체 데이터 트랙 레이아웃의 평면도.
도 6은 디스크 드라이브의 블록도.
도 7은 도 6의 판독 기입 채널의 블록도.
도 8은 도 7의 랜덤화기 및 디랜덤화기의 블록도.
도 9는 본 발명의 일실시예의 방법의 흐름도.
도 10은 본 발명의 다른 실시예 방법의 흐름도.
도 1은 베이스 플레이트(102) 및 상부 커버(104)(상부 커버 104의 섹션은 간략화를 위하여 제거된다)를 가지는 하우징을 포함하는 디스크 드라이브(100)의 평면도이다. 디스크 드라이브(100)는 스핀들 모터(도시되지 않음)상에 장착된 디스크 팩(106)을 더 포함한다. 디스크 팩(106)은 중앙 축에 대하여 공통적으로 회전하기 위하여 장착된 다수의 개별 디스크를 포함한다. 각각의 디스크 표면은 디스크 표면과 통신하기 위한 디스크 드라이브(100)에 장착된 관련된 헤드 짐벌 어셈블리(HGA)(112)를 가진다. 각각의 HGA(112)는 하나 이상의 판독 및 기입 헤드를 운반하는 짐벌 및 슬라이더를 포함한다. 각각의 HGA(112)는 작동기 어셈블리(122)의 설치물로서 일반적으로 공지된 트랙 액세싱 아암(120)에 차례로 부착된 서스펜션(118)에 의해 지지된다.
작동기 어셈블리(122)는 내부 회로(128)내의 서보 제어 회로에 의해 제어된 음성 코일 모터(124)에 의해 샤프트(126)에 대하여 회전된다. HGA(112)는 디스크 내부 직경(132) 및 디스크 외부 직경(134) 사이 아치 경로(130)에서 이동한다. 헤드가 적당하게 배치될때, 내부 회로(128)내의 기입 회로는 디스크상에 저장하기 위한 데이터를 인코드하고 디스크에 정보를 기입하는 HGA(112)의 헤드에 인코드된 신호를 보낸다. 다른 때에서, HGA(112)의 판독 헤드는 복구된 데이터 신호를 형성하기 위하여 디스크로부터 저장된 정보를 판독하고 복구된 신호를 내부 회로(128)내의 검출기 회로 및 디코더 회로에 제공한다.
도 2, 3, 4 및 5는 본 발명이 방지하고자 하는 오비교 에러를 기술하는데 사용하는 트랙 레이아웃의 평면도이다.
특히, 도 2는 3개의 트랙(150, 152 및 154)을 도시하는 저장 매체 트랙 레이아웃의 평면도이다. 비록 평행 트랙으로서 도시되었지만, 당업자는 디스크 드라이브 저장 장치에 대하여, 트랙(150, 152 및 154)이 실제적으로 서로에 대해 중심이 같은 것을 인식할 것이다.
트랙(150 및 154)내에서, 기입 데이터는 예상된 트랙 레이아웃을 따른다. 그러나, 트랙(152)에 대한 기입 데이터(156)는 이상적인 트랙 레이아웃(158)을 따르지 않는다. 실제적으로, 기입 데이터(156)는 이상적인 트랙 레이아웃(158)으로부터 트랙(150) 바깥쪽으로 보잉한다(bow). 이런 보잉 때문에, 예상된 트랙 레이아웃(158)을 추종하고자 하는 판독 헤드(160)는 데이터(156)의 전체 폭과 만나지 않을 것이다. 이것은 만약 판독 헤드(160)에 의해 판독되는 기입 데이터(156) 부분이 예상된 트랙 레이아웃(158)에 존재하는 매체 부분에 의해 발생된 신호에 의해 불명료해지면 판독 에러를 유발할 수 있다.
일반적으로, 저장 장치는 다수의 공지된 인코딩 기술을 통하여 도 2에 도시된 보잉 효과에 의해 발생된 판독 에러를 식별할 수 있다. 이들 인코딩 기술은 에러 정정 코드를 포함한다. 만약 저장 장치가 상기 에러를 검출하면, 데이터를 복구하기 위한 몇몇 다른 복구 기술을 적용한다. 한가지 기술은 만약 데이터가 트랙에 간단히 기입되었는지를 알기 위하여 예상된 트랙 라인으로부터 판독 헤드를 이동시키는 것이다.
도 3은 도 2의 트랙 레이아웃을 사용하는 에러 복구 기술을 도시한다. 도 3에서, 판독 헤드(160)는 트랙(150)쪽으로 이동되었다. 도 2 및 도 3에 도시된 트랙 레이아웃을 기초로, 상기 이동은 헤드가 보다 많은 기입된 데이터(156)를 판독하도록 하고 따라서 헤드가 트랙(152)에 기입된 데이터를 복구하게 한다.
비록 헤드 이동이 도 3에서 데이터 복구를 유발할지라도, 임의의 환경하에서, 도 4 및 도 5에 도시된 바와같이, 상기 헤드는 데이터 오비교 에러를 유발할 것이다. 도 4는 판독 헤드(162)가 트랙(164)으로부터 파손된 데이터를 판독하는 경우 저장 매체상 트랙 레이아웃의 평면도를 도시한다. 트랙(164)은 트랙(166 및 168) 사이에 배치되고, 트랙(168)은 이상적인 트랙 레이아웃(170) 및 트랙(164)쪽으로 보잉된 실제 기입 데이터 트랙(172)을 가진다.
트랙(164)의 데이터가 파손되기 때문에, 저장 장치는 다양한 복구 기술을 사용하여 데이터를 복구할 것이다. 이것은 때때로 데이터가 트랙에 간단히 기입되었는지를 알기 위하여 이상적인 트랙 라인의 외측으로 판독 헤드를 이동시킨다. 도 5에서, 저장 장치는 트랙(164)에 대한 데이터가 트랙(168) 방향으로 트랙에 기입되었는지를 알기 위하여 이웃하는 트랙(168)쪽으로 헤드(162)를 이동시킨다. 도 5에 도시된 바와같이, 이런 헤드 이동은 판독 헤드(162)가 이웃하는 트랙(168)의 기입 데이터(172)를 통하여 통과하게 한다.
만약 판독 헤드(162)가 기입된 데이터(172)로부터 충분한 데이터를 판독하면, 저장 장치는 실제적으로 이웃하는 트랙(168)과 연관된 데이터를 복구할때 트랙(164)과 연관된 데이터를 성공적으로 복구한 것을 올바르지 않게 결정할 수 있 다. 상기된 바와같이, 이런 에러 형태는 데이터 오비교 에러로서 공지되었고 발생 비율은 본 발명에 의해 감소된다.
도 6은 본 발명의 저장 장치의 일실시예를 나타내는 디스크 드라이브(198)의 블록도이다. 디스크 드라이브(198)는 디스크 드라이브(198)내의 인터페이스 제어기(202)에 접속된 호스트 컴퓨터 인터페이스(200)를 통하여 호스트 컴퓨터와 통신한다. 호스트 컴퓨터가 디스크(204)에 데이터를 기입하고자 할때, 호스트 데이터 패킷을 인터페이스 제어기(202)로 통과시킨다. 호스트 데이터 패킷은 데이터가 디스크(204)상에 저장되어야 하는 장소를 식별하는 데이터 및 연관된 논리 블록 어드레스를 포함한다. 바람직한 실시예에서, 이런 정보는 호스트 컴퓨터 인터페이스(200)내의 직렬 인터페이스를 따라 보내지고 인터페이스 제어기(202)에 의해 병렬 데이터 값으로 분석된다.
각각의 데이터 패킷에 대하여, 인터페이스 제어기(202)는 논리 블록 어드레스로부터 데이터를 분리하고 논리 블록 어드레스를 호스트 인터페이스 마이크로프로세서(205)로 통과시킨다.
호스트 인터페이스 마이크로프로세서(205)는 논리 블록 어드레스를 기초로 데이터에 대한 실린더 및 섹터를 결정한다. 바람직한 실시예에서, 저장 장치가 다중 디스크 드라이브인 경우, 호스트 인터페이스 마이크로프로세서(205)는 데이터를 디스크에 기입하기 위해 사용하기 위한 헤드를 결정한다. 이런 상황에서, 트랙은 특정 디스크상 실린더에 대하여 적용된 특정 헤드로 구성된다.
호스트 인터페이스 마이크로프로세서(205)는 헤드 및 실린더 식별부를 서보 마이크로프로세서 및 제어 논리(SMCL)(208)로 보낸다. SMCL(208)은 병렬 실린더 어드레스 정보를 직렬 인터페이스(212)를 통해 서보 제어 시스템(210)으로 통과되는 직렬 신호로 전환한다. SMCL(208)은 전치증폭기(216)에 접속하는 전치증폭기 직렬 인터페이스(214)를 통하여 목표된 헤드를 선택하기 위하여 헤드 판독부를 사용한다.
서보 직렬 인터페이스(212)를 따라 수신하는 실린더 값을 기초로, 서보 제어 시스템(210)은 디스크(204) 상에서 헤드(220)를 회전시킨다. 헤드(220)는 회전하며 서보 정보를 판독/기입 채널(222)에 제공할 때 디스크로부터 서보 정보를 판독한다. 판독/기입 채널(222)은 아날로그 서보 데이터(224)로서 이런 서보 정보를 서보 제어 시스템(210)에 전달하고, 이것은 목표된 실린더 위치에서 헤드를 최종적으로 배치하기 위하여 헤드의 위치를 추가로 수정한다.
서보 제어 시스템(210)이 헤드(220)를 배치시킬때, 호스트 인터페이스 마이크로프로세서(205)는 디스크에 정보를 기입하기 위하여 판독/기입 채널(222)을 제공한다. 특히, 호스트 인터페이스 마이크로프로세서(205)는 병렬 데이터 값으로서 서보 마이크로프로세서 및 제어 논리(SMCL)(208)로 통과하는 제어 바이트를 형성하기 위하여 실린더 식별부를 사용한다. 게다가, 호스트 인터페이스 마이크로프로세서(205)는 제어 바이트가 저장되는 판독/기입 채널(222)에서 레지스터를 식별하는 레지스터 어드레스를 통과시킨다. SMCL(208)은 직렬 값으로 병렬 제어 바이트를 전환하고 레지스터 어드레스를 직렬 값에 부가한다. SMCL(208)은 적당한 레지스터의 제어 바이트를 저장하는 판독/기입 채널(222)에 레지스터 어드레스 및 제어 바이트를 통과시킨다.
동시에, 인터페이스 제어기(202)는 입력 데이터에 대한 에러 정정 코드를 계산하고 데이터에 에러 정정 코드를 부가한다. 상기 에러 정정 코드는 종래에 잘 공지되었다.
서보 제어 시스템(210)이 적당한 실린더상에 헤드(220)를 배치시킬때, 서보 직렬 인터페이스(212)상 서보 마이크로프로세서 및 제어 논리(SMCL)(208)에 신호를 통과시킨다. SMCL(208)은 기입 제어 라인(229)을 따라 판독/기입 채널(222)로 통과되는 기입 제어 신호를 발생시키는 인터페이스 제어기(202)에 이 정보를 통과시킨다. 기입 제어 신호는 디스크에 데이터 기입을 시작해야 한다고 판독/기입 채널(222)에 지시한다. 동시에, 인터페이스 제어기(202)는 판독/기입 데이터 버스(232)를 따라 기입/판독 채널(222)에 입력 데이터 및 그것의 관련된 ECC 데이터를 통과시킨다.
데이터를 디스크에 기입하기 전에, 판독/기입 채널(222)은 고정된 패턴이 판독/기입 채널의 성능에 대해 가지는 바람직하지 않은 효과를 감소시키기 위하여 입력 데이터 및 ECC 데이터를 랜덤화한다. 판독/기입 채널(222)에 의해 수행된 특정 랜덤화는 호스트 인터페이스 마이크로프로세서(205)에 의해 형성된 제어 바이트로 표시되는 랜덤화기 제어 값에 의해 부분적으로 제어된다. 랜덤화의 성질은 하기에 추가로 논의된다.
판독 동작 동안, 호스트 컴퓨터는 논리 어드레스에서 정보를 판독하기 위한 요구와 함께, 호스트 인터페이스 제어기(202)에 호스트 컴퓨터 인터페이스(200)상 논리 블록 어드레스를 통과시킨다. 인터페이스 제어기(202)는 논리 블록 어드레스를 기초로 헤드, 실린더 및 섹터를 식별하는 호스트 인터페이스 마이크로프로세서(205)에 논리 블록 어드레스를 통과시킨다. 호스트 인터페이스 마이크로프로세서(205)는 헤드 및 실린더 정보를 서보 마이크로프로세서 및 제어 논리부(208)를 통하여 기입 동작을 위하여 상기된 바와 유사한 방식으로 서보 제어 시스템(210)에 통과시킨다.
서보 제어 시스템(210)은 판독/기입 채널(222)에 의해 제공된 아날로그 서보 데이터(224)를 사용하여 목표된 실린더에 헤드(220)를 배치시킨다. 일단 헤드가 목표된 위치에 있다면, 서보 제어 시스템(210)은 서보 직렬 인터페이스(212), 및 서보 마이크로프로세서와 제어 논리부(208)를 통하여 인터페이스 제어기(202)로 신호를 통과시킨다.
서보 제어 시스템(210)이 헤드를 배치시키는 동안, 호스트 인터페이스 마이크로프로세서(205)는 목표된 실린더를 기초로 제어 바이트를 생성한다. 이런 제어 바이트는 직렬 제어 바이트로 전환하는 서보 마이크로프로세서 및 제어 논리부(208)에 병렬 값으로서 보내진다. 호스트 인터페이스 마이크로프로세서(205)는 레지스터 어드레스를 병렬 레지스터 어드레스를 직렬 어드레스로 전환하고 직렬 어드레스를 직렬 제어 바이트에 부가하는 서보 마이크로프로세서 및 제어 논리부(208)로 통과시킨다. 결합된 제어 바이트 및 레지스터 어드레스는 제어 바이트가 레지스터 어드레스에 의해 식별된 레지스터에 저장되는 경우 판독/기입 채널(222)로 통과된다.
서보 제어 시스템(210)이 헤드를 목표된 실린더상에 배치한다는 확인을 수신한 후, 인터페이스 제어기(202)는 판독 제어 라인(230)상 신호를 판독/기입 채널(222)에 보낸다. 판독 제어 라인(230)상 신호는 판독/기입 채널(222)이 헤드(220)에 의해 디스크(204)로부터 판독된 데이터를 받아들이게 한다.
판독/기입 채널(222)은 디스크로부터 판독된 랜덤화된 데이터 및 에러 정정 코드를 디랜덤화한다. 랜덤화된 데이터 및 에러 정정 코드는 호스트 인터페이스 마이크로프로세서(205)에 의해 형성된 제어 바이트에서 랜덤화기 제어 값을 기초로 디랜덤화된다.
디랜덤화 데이터 및 에러 정정 코드는 판독/기입 데이터 버스(232)를 가로질러 인터페이스 제어기(202)에 병렬 포맷으로 통과된다. 인터페이스 제어기(202)는 만약 판독 데이터가 에러 정정 코드를 기초로 수정하는지를 결정한다. 만약 데이터가 올바르면, 인터페이스 제어기(202)는 호스트 컴퓨터 인터페이스(200)를 통하여 호스트 컴퓨터에 데이터를 통과시킨다. 만약 데이터가 올바르지 않으면, 인터페이스 제어기(202)는 데이터 판독시 에러가 있었다는 것을 가리킨다.
도 7은 도 6의 판독/기입 채널(222)의 블록 다이어그램이다. 도 6의 판독/기입 데이터 버스(232)는 병렬 인터페이스(260)에 접속한다. 기입 동작 동안, 병렬 인터페이스(260)는 판독/기입 데이터 버스(232)상 병렬 정보를 얻고 상기 정보를 입력 데이터(263)로서 8-비트 바이트로 랜덤화기(262)에 제공한다.
랜덤화기(262)는 제어 레지스터(264) 내의 제어 바이트로 표시되는 랜덤화기 제어 값을 기초로 하여 입력 데이터(263)를 랜덤화한다. 제어 레지스터(264)는 도 6의 서보 마이크로프로세서 및 제어 논리부(208)에 의해 설정된 위에서 논의된 레지스터이다.
특히, 서보 마이크로프로세서 및 제어 논리부(SMCL)(208)는 SMCL(208)로부터 직렬 포맷으로 제어 레지스터(264)의 제어 바이트 및 어드레스를 수신하는 직렬 인터페이스(266)를 통하여 제어 레지스터(264)를 설정한다. 직렬 인터페이스(266)는 직렬 제어 바이트를 병렬 제어 바이트로 전환하고 직렬 레지스터 어드레스를 기초로, 제어 레지스터(264)에 병렬 제어 바이트를 저장한다. 몇몇 실시예에서, 제어 레지스터(264)에 저장된 제어 바이트는 다른 제어 목적을 위하여 사용된 랜덤화기 제어 값 이상의 부가적인 제어 비트를 포함한다. 다른 실시에에서, 전체 제어 바이트가 제어 값이다.
랜덤화기(262)는 수신하는 입력 데이터(263)의 각각의 8-비트 바이트에 대한 랜덤화된 데이터(322)의 8-비트 바이트를 형성한다. 랜덤화된 데이터(322)의 각각의 8-비트 바이트는 예를들어 런 길이 제한 코드를 사용하는 랜덤화된 데이터(322)를 인코드하는 인코더(268)에 제공된다. 인코더(268)는 병렬 N 비트를 직렬 신호로 전환하는 병렬 대 직렬 컨버터(270)에 제공된 N 비트 인코드 출력을 형성한다.
직렬 신호는 멀티플렉서(274)에 제공된 출력 신호를 형성하기 위하여 직렬 신호에 채널 특정 인코딩을 적용하는 프리코더(272)에 제공된다. 멀티플렉서(274)는 프리코더(272)로부터 출력 신호 또는 동기화 패턴 발생기(276)으로부터의 출력을 통과시킨다. 동기화 패턴 발생기(276)는 트랙상 데이터 앞의 필드에 배치된 동기화 패턴을 발생시키기 위하여 사용된다. 멀티플렉서(274)에 의해 통과된 신호는 디스크 드라이브의 기입 헤드에 대해 설계된 추가 처리를 수행하는 기록 데이터 사전 처리 회로(278)에 제공된다. 그 다음 기입 데이터 사전 처리부(278)는 도 6의 전치증폭기(216)에 기입 신호(279)를 제공한다.
판독 동작 동안, 판독 데이터(281)는 자동 이득 제어(AGC) 증폭기(280)에 의해 전치증폭기(216)으로부터 수신된다. AGC 증폭기(280)는 판독 신호의 크기를 조절하고 조절된 판독 신호를 신호 처리 및 데이터 검출 회로(282)에 제공한다. 조절된 판독 신호를 기초로, 신호 처리 및 데이터 검출 회로(282)는 조절된 판독 신호의 크기를 제어하기 위하여 피드백 신호를 AGC 증폭기(280)에 제공한다.
신호 처리 및 데이터 검출 회로(282)는 클럭 발생 및 데이터 동기화 회로(284)에 타이밍 펄스를 제공한다. 이들 타이밍 펄스를 기초로, 클럭 발생 및 데이터 동기화 회로(284)는 디스크로부터 판독된 데이터에 동기화된 클럭 신호(284)를 형성한다. 클럭 신호(285)가 판독 회로의 나머지 엘리먼트에 제공되기 때문에, 판독 회로가 판독 데이터의 비트 경계에서 동작하게 한다.
신호 처리 및 데이터 검출부(282)는 직렬 대 병렬 컨버터(286) 및 코드 워드 경계 검출기(288)에 직렬 데이터 신호를 제공한다. 코드 워드 경계 검출기(288)는 직렬 데이터 신호의 코드 워드 경계를 결정하고 상기 경계에 동기화된 경계 검출 신호를 생성한다. 직렬 대 병렬 컨버터(286)는 데이터 신호를 병렬 N 비트 코드워드로 전환하기 위하여 경계 검출 신호를 사용한다.
직렬 대 병렬 컨버터(286)는 인코더(268)에 의해 사용된 인코더 룰의 역을 적용하는 디코더(290)에 N 비트 코드워드를 제공한다. 이것은 디랜덤화기(292)에 병렬로 제공된 랜덤화된 판독 데이터(291)의 8-비트 바이트를 발생시킨다. 디램덤화기(292)는 기입 동작을 위하여 상기된 바와 동일한 방식으로 판독 동작을 위하여 설정된 제어 레지스터(264)의 랜덤화기 제어 값을 기초로 의사 랜덤 데이터 세트를 사용하여 이미 랜덤화된 판독 데이터(291)를 디랜덤화한다. 디램덤화기(292)의 동작은 하기에 논의된다.
랜덤화된 데이터를 디랜덤화한 후, 디랜덤화기(292)는 판독/기입 데이터 버스(232)상에 병렬 데이터를 배치하는 병렬 인터페이스(260)에 디랜덤화된 데이터(293)를 제공한다.
도 8은 도 7의 랜덤화기(262) 및 디랜덤화기(292)의 블록도이다. 도 8에 도시된 바람직한 실시에에서, 랜덤화기(262) 및 디랜덤화기(292)는 몇몇 구성요소를 공유한다. 결합된 동작은 기입 제어부(229) 및 판독 제어부(230)에 의해 제어된 두개의 멀티플렉서(300 및 302)를 사용하여 달성된다.
기입 동작 동안, 기입 제어부(229)는 멀티플렉서(300)가 병렬 인터페이스(260)로부터 X-OR(익스클루시브 OR) 회로(304)로 입력 데이터(263)를 통과시키게 한다. X-OR 회로(304)는 랜덤 수 발생 상태 기기(306)로부터 의사 랜덤 데이터의 8-비트 바이트를 수신한다. 8 비트 형태의 의사 랜덤 데이터는 멀티플렉서(300)를 통하여 통과하는 입력 데이터(263)의 8-비트 바이트와 동시에 X-OR 회로(304)를 나타내기 위하여 조절된다. 입력 데이터의 각각의 분리된 바이트에 대하여, 분리된 바이트의 의사 랜덤 데이터는 랜덤 수 발생 상태 기기(306)에 의해 제공된다.
랜덤 수 발생 상태 기기(306)에 의해 발생된 수들은, 상기 수들이 서로 명백한 관련은 없는 의사 랜덤들이다. 그러나, 상기 수는 만약 동일 랜덤화기 씨드(seed)로 초기화되면 리세트되는 각각의 시간에 랜덤 수 발생 상태 기기(306)가 동일한 정도의 동일 세트의 수를 형성할 것이기 때문에 완벽하게 랜덤하지는 않다. 다른 랜덤화기 씨드에 대하여, 랜덤 수 발생 상태 기기(306)는 다른 세트의 의사 랜덤 데이터를 제공할 것이다.
몇몇 실시예에서, 랜덤 수 발생 상태 기기(306)는 기입 동작 동안 기입 제어 신호(229)의 에지를 기초로 리세트 신호를 보내는 제어 논리부(294)에 의해 리세트된다. 리세트된 후, 랜덤 수 발생 상태 기기(306)는 병렬 멀티플렉서(308)로부터 수신하고 랜덤화기 씨드로부터 시작된 한 세트의 의사 랜덤 데이터를 발생하기 시작한다.
몇몇 실시예에서, 병렬 멀티플렉서(308)는 두 개의 이용할 수 있는 랜덤화기로부터 선택하는 10 비트 랜덤화기 씨드를 제공한다. 이들 실시예중 하나에서, 병렬 멀티플렉서(308)가 선택할 수 있는 두개의 랜덤화기 씨드는 두개의 메모리(310 및 312)에서 저장되고, 병렬 멀티플렉서(308)에 접속되는 3FF 16진법 및 177 16진법으로부터 선택할 수 있다. 이들 실시예에서, 병렬 멀티플렉서(308)는 제어 레지스터(264)로부터 랜덤화기 제어 값의 값을 기초로 두개의 이용 가능한 랜덤화기 씨드 사이에서 선택이 이루어진다. 이들 실시예중 하나에서, 제어 값은 1 비트이고 제어 비트가 영일 때, 병렬 멀티플렉서(308)는 랜덤화기 씨드 3FF 16진법을 선택하고 제어 비트가 1일 때, 병렬 멀티플렉서(308)는 랜덤화기 씨드(177) 16 진법을 선택한다.
다른 실시예에서, 랜덤화기 제어 값은 랜덤화기 씨드를 포함한다. 상기 실시예에서, 멀티플렉서(308) 및 메모리(310 및 312)는 존재하지 않고 제어 값은 제어 레지스터(264)에 의해 랜덤 수 발생 상태 기기(306)에 직접적으로 제공된다.
X-OR 회로(304)는 랜덤화된 데이터의 8-비트 바이트 세트를 형성하기 위하여 의사 랜덤 데이터의 각각 대응하는 8-비트 바이트 및 입력 데이터의 각각 8-비트 바이트 사이에서 한비트씩 익스쿨루시브-OR 논리 동작을 수행한다. 8-비트 바이트의 랜덤화된 데이터는 도 7의 인코더(268)에 랜덤화된 데이터(322)를 전달하는 멀티플렉서(302)에 순차적으로 제공된다.
판독 동작 동안, 판독 제어 신호(230)는 멀티플렉서(300)가 디코더(290)로부터 X-OR 회로(304)로 8-비트 바이트의 랜덤화된 판독 데이터(291)를 통과하게 한다. X-OR 회로(304)는 랜덤화된 판독 데이터(291) 및 랜덤 수 발생 상태 기기(306)에 의해 제공된 한 세트의 의사 랜덤 데이터(320)를 사용하여 익스클루시브 OR 논리 동작을 수행한다. X-OR 회로(304)의 출력은 판독 제어 신호(230)의 제어하에서, 도 7의 병렬 인터페이스(260)에 판독 데이터(293)로서 출력을 지향시키는 멀티플렉서(302)에 제공된다.
판독 동작 동안, 의사 랜덤 데이터(320)는 제어 논리부(294) 및 랜덤화기 씨드에 의해 제공된 리세트 신호에 응답하여 랜덤 수 발생 상태 기기(306)에 의해 발생된다. 리세트 신호는 판독 제어 신호(230)에서 에지를 기초로 제공되고 랜덤화기 씨드로부터 시작하는 수를 발생시키기 시작하도록 상태 기기(306)를 리세트한다.
몇몇 실시예에서, 두 가지 가능한 랜덤화기 씨드 중 하나는 제어 레지스터(264)에 존재하는 랜덤화기 제어 비트의 값에 따라 병렬 멀티플렉서(308)에 의해 통과된다. 이들 실시예중 하나에서, 랜덤화기 제어 비트가 "1"일때, 병렬 멀티플렉서(308)는 랜덤화기 씨드 177 16진법의 메모리(312)를 통과하고, 랜덤화기 제어 비트가 "0"일때, 병렬 멀티플렉서(308)는 랜덤화기 씨드 3FF 16진법의 메모리(310)를 통과한다.
다른 실시예에서, 랜덤화기 씨드는 랜덤화 데이터와 관련하여 상기된 바와같은 제어 레지스터(264)에 의해 직접적으로 제공된다.
X-OR 회로(304)를 사용하는 이미 랜덤화된 판독 데이터(291)를 디랜덤화하기 위하여, X-OR 회로(304)에 인가된 의사 랜덤 데이터 세트는 디스크에 기입하기 전에 대응하는 입력 데이터를 랜덤화하기 위하여 사용된 의사 랜덤 데이터 세트와 매칭한다. 다른 말로, 동일한 세트의 의사 데이터는 특정 입력 데이터 세트를 랜덤화 및 디랜덤화하기 위하여 사용되어야 한다.
만약 랜덤화된 판독 데이터를 디랜덤화하기 위하여 사용된 의사 데이터가 대응하는 입력 데이터를 랜덤화하기 위하여 사용된 의사 데이터와 다르면, 최종 판독 데이터는 현재 에러 정정 코드 기술에 의해 쉽게 식별된 에러를 포함한다.
본 발명 하에서, 만약 실제 판독되는 데이터가 호스트 인터페이스 마이크로프로세서(205)가 판독 중임을 기대하는 공칭 실린더에 속하면, 랜덤 수 발생 상태 기기(306)에 의해 발생된 의사 랜덤 데이터 세트는 대응하는 입력 데이터를 랜덤화하기 위하여 사용된 의사 랜덤 데이터 세트에 매칭될 것이다. 그러나, 만약 판독 헤드가 이웃하는 트랙을 실제적으로 판독하고 호스트 인터페이스(205)가 판독하길 기대하는 트랙을 판독하지 하지 않으면, 랜덤 수 발생 상태 기기(306)에 의해 발생된 의사 랜덤 데이터 세트는 이웃하는 데이터를 랜덤화하기 위하여 사용된 의사 랜덤 데이터 세트와 완전히 다를 것이다.
이것은 본 발명의 바람직한 실시예에서 이웃하는 트랙이 의사 랜덤 데이터의 다른 세트를 형성하는 다른 랜덤화기 씨드와 연관된다는 사실에 따른다. 특히, 짝수 트랙은 제 1 랜덤화기와 연관되고 홀수 트랙은 제 2 랜덤화기 씨드와 연관된다. 예를들어, 만약 판독될 공칭 트랙이 홀수이고 랜덤화기 씨드 3FF를 사용하여 형성되면, 두개의 이웃하는 트랙은 짝수이고 랜덤화기 씨드 177 16진법을 사용하여 기입될 것이다.
본 발명하에서, 만약 판독 헤드가 이웃하는 트랙으로부터 데이터를 잘못 판독하면, 디랜덤화기(292)에 의해 형성된 최종 판독 데이터는 판독 에러가 판독 데이터에 내장된 에러 정정 코드를 기초로 발생되는 것을 인터페이스 제어기(202)가 쉽게 식별하는 에러로 채워진다. 상기 에러를 식별함으로써, 본 발명은 데이터 오비교 에러의 발생을 감소시킨다.
상기 설명에서, 랜덤수 발생 상태 기기(306)는 초기 랜덤화기 씨드를 제공한 의사 랜덤 데이터의 일관적인 세트를 형성하는 다수의 다른 랜덤 수 발생기중 임의의 하나일 수 있다. 바람직한 실시예에서, 10 비트의 주기적 시프트 레지스터는 의사 랜덤 데이터의 8-비트 바이트를 형성하기 위하여 사용된다. 바람직하게, 시프트 레지스터의 제 1 8개의 비트는 의사 랜덤 데이터의 8개 비트로서 취해지고 통과한 이동 레지스터 상태의 제 7 및 제 10 비트는 8 개의 비트를 형성하기 위하여 익스클루시브-OR이다. 게다가, 시프트 레지스터는 바람직하게 상태 기기가 발생시키는 각각의 의사 랜덤 바이트 사이의 8배를 이동시킨다.
도 9는 데이터 오비교 에러의 발생을 감소시키기 위한 본 발명 방법의 흐름도이다. 상기 방법은 단계(398)에서 시작하고 단계(400)로 진행하고, 여기서 저장 장치는 목적 트랙이 짝수 트랙인지 홀수 트랙인지를 결정한다. 만약 목적 트랙이 짝수 트랙이면, 처리는 단계(402)로 진행하고, 여기서 짝수 트랙과 관련된 의사 랜덤 세트는 짝수 씨드를 기초로 형성된다. 만약 목적 트랙이 홀수 트랙이면, 처리는 단계(402) 대신 단계(404)로 진행하고 홀수 트랙과 연관된 의사 랜덤 데이터 세트는 홀수 씨드를 기초로 형성된다.
단계(402) 또는 단계(404) 이후, 처리는 단계(406)로 진행하고, 여기서 의사 랜덤 세트의 데이터는 랜덤화된 데이터를 형성하기 위하여 기입 데이터와 결합된다. 단계(408)에서, 기입 신호는 랜덤화된 데이터에 부분적으로 기초하여 발생된다. 즉, 기입 신호는 랜덤화된 데이터를 인코딩함으로써 부분적으로 생성된다. 기입 신호는 단계(410)에서 매체 상에 데이터를 저장하기 위하여 기입 헤드에 인가된다. 처리는 단계(411)에서 종료된다.
도 10은 도 9의 방법과 협력하는 데이터 오비교 에러의 발생을 감소시키기 위한 본 발명의 다른 방법의 흐름도이다. 도 10의 방법은 단계(412)에서 시작하고 단계(413)으로 진행하고, 여기서 판독 신호는 판독 헤드를 사용하여 소스 트랙으로부터 발생된다. 단계(414)에서, 랜덤화된 판독 데이터는 판독 신호로부터 추출된 다.
단계(416)에서, 저장 장치는 소스 트랙이 짝수 트랙인지 홀수 트랙인지를 결정한다. 짝수 트랙에 대하여, 처리는 단계(418)로 진행하고, 여기서 짝수 트랙과 연관된 의사 랜덤 데이터 세트는 짝수 씨드를 기초로 형성된다. 만약 실제적으로 판독되는 데이터가 짝수 트랙으로부터 발생하면, 단계(418)에서 인가된 의사 랜덤 데이터 세트는 트랙에 기입하기 전에 기입 데이터를 랜덤화하기 위하여 사용된 의사 랜덤 데이터 세트에 매칭된다.
만약 소스 트랙이 홀수 트랙이면, 처리는 단계(418) 대신 단계(420)으로 진행한다. 단계(420)에서, 홀수 트랙과 연관된 의사 랜덤 데이터 세트는 홀수 씨드를 기초로 형성된다. 만약 실제적으로 판독되는 데이터가 홀수 트랙으로부터 나오면, 단계(420)에서 인가된 데이터의 의사 랜덤 세트는 트랙에 기입하기 전에 기입 데이터를 랜덤화하기 위하여 사용된 의사 랜덤 데이터 세트를 매칭한다.
단계(422)에서, 의사 랜덤 데이터 세트는 판독 데이터를 형성하기 위하여 랜덤화된 판독 데이터와 결합된다. 이런 판독 데이터는 바람직하게 ECC 데이터를 포함한다.
하기 테이블 Ⅰ에서, 컬럼 B는 컬럼 A에서 대응하는 호스트 기입 데이터로부터 발생하는 랜덤화된 기입 데이터를 도시한다. 두개의 그룹의 데이터가 도시된다. 제 1 그룹은 랜덤화기 씨드가 0x3FF일때 생성된 랜덤화된 데이터가고, 제 2 그룹은 랜덤화기 씨드가 0x177일때 발생된다. 양쪽 그룹은 동일한 호스트 데이터를 가진다.
통상적인 판독 동작에서, 랜덤화된 판독 데이터는 디코드되고, 데이터를 기입하는 동안 사용된 동일한 랜덤화기 씨드를 사용하여 디랜덤화된다. 컬럼 C 및 D는 이런 과정의 결과를 도시한다. 호스트에 보내진 디랜덤화된 판독 데이터는 컬럼 D에 도시되고 컬럼 A에서 호스트에 대해 기입된 본래의 데이터와 같다. 만약 데이터가 에러없이 판독되면, 에러 정정 코드는 데이터와 일치하고 에러는 검출되지 않을 것이다. 만약 에러가 검출되면, 일반적인 방법은 데이터를 복구하기 위하여 사용된다.
만약 판독 동작 동안 씨드가 트랙이 기입될때 사용된 씨드와 동일하지 않으면, 호스트에 리턴된 디랜덤화된 데이터는 본래의 호스트 기입 데이터와 동일하지 않을 것이다. 두 개의 다른 씨드에 대한 동일 판독 데이터로부터 발생된 디랜덤화된 데이터는 컬럼 D 및 컬럼 F에 도시될 수 있다. 이러한 컬럼들에서 도시되는 바와 같이, 기입때와는 다른 씨드들 판독시에 사용하는 것은 호스트에 제공되는 데이터에 상당한 차이를 생성시킨다. 디랜덤화된 데이터가 본래의 호스트 데이터와 다를때, 에러 정정 코드는 데이터와 일치하지 않고 에러가 검출된다.
A | B | C | D | E | F |
본래의 호스트 기입 데이터 | 인코더에 랜덤 기입 데이터 | 디코더 출력 랜덤 판독 데이터 | 호스트에 랜덤 판독 데이터 | 디코더 출력, 랜덤 판독 데이터 | 호스트에 랜덤 판독 데이터 |
씨드를 사용한 기입 = 0x3FF | 씨드를 사용한 판독 = 0x3FF | 씨드를 사용한 판독 = 0x177 | |||
62 | 9D | 9D | 62 | 9D | EA |
C1 | A2 | A2 | C1 | A2 | 75 |
91 | 98 | 98 | 91 | 98 | 2B |
00 | 59 | 59 | 00 | 59 | 62 |
6F | B2 | B2 | 6F | B2 | AF |
75 | 9F | 9F | 75 | 9F | D1 |
씨드를 사용한 기입 = 0x177 | 씨드를 사용한 판독 = 0x177 | 씨드를 사용한 판독 = 0x3FF | |||
62 | 15 | 15 | 62 | 15 | EA |
C1 | 16 | 16 | C1 | 16 | 75 |
91 | 22 | 22 | 91 | 22 | 2B |
00 | 3B | 3B | 00 | 3B | 62 |
6F | 72 | 72 | 6F | 72 | AF |
75 | 3B | 3B | 75 | 3B | D1 |
요약에서, 본 발명은 데이터 오빅 에러의 발생을 감소시키기 위한 방법 및 디스크 드라이브를 제공한다. 상기 방법은 짝수 트랙(164) 또는 홀수 트랙(166, 168)으로서 목적 트랙(166, 164 및 168)을 식별하는 단계를 포함한다. 기입 데이터(263)는 랜덤화된 데이터(322)를 형성하기 위하여 데이터(320)의 의사 랜덤 세트와 결합되고, 여기서 데이터(320)의 의사 랜덤 세트는 목적 트랙(164)이 짝수 트랙인지 홀수 트랙인지를 기초로 선택된다. 랜덤화된 데이터(322)의 적어도 일부를 기초로 기입 신호(279)는 목적 트랙(164)에 기입된다.
바람직한 실시예에서, 상기 방법은 짝수 트랙(164) 또는 홀수 트랙(166, 168)으로서 소스 트랙을 식별하는 단계 및 판독 신호(281)를 형성하기 위하여 소스 트랙으로부터 판독하는 단계를 포함한다. 랜덤화된 판독 데이터(291)는 판독 신호(281)로부터 추출되고 판독 데이터(293)를 형성하기 위하여 의사 랜덤 세트의 데이터(320)와 결합된다. 의사 랜덤 세트의 데이터(320)는 소스 트랙이 짝수 트랙인지 홀수 트랙인지를 기초로 한다.
본 발명은 매체 상 트랙에 정보를 저장하기 위한 저장 장치를 제공한다. 저장 장치는 호스트로부터 입력 데이터를 수신할 수 있는 입력 회로(202)를 포함한다. 어드레싱 회로(204, 208)는 짝수 트랙인지 홀수 트랙이지 목적 트랙을 나타낼 수 있도록 포함된다. 어드레싱 회로(204, 208)에 결합된 랜덤화기(306)는 목적 트랙이 짝수 트랙이면 제 1 세트의 랜덤 데이터를 생성하고 목적 트랙이 홀수 트랙이면 제 2 세트의 랜덤 데이터를 발생한다. 랜덤화기(306)는 랜덤화된 데이터(322)를 형성하기 위하여 한 세트의 랜덤 데이터(320)와 입력 데이터(263)를 추가로 결합할 수 있다. 랜덤화기(306)에 결합된 출력 회로(302, 268, 270, 272, 274, 278)은 랜덤화된 데이터(322)로부터 기입 데이터(279)를 형성할 수 있다. 헤드(220, 216)는 출력 회로에 결합되고 목적 트랙에 기입 데이터(279)를 기입할 수 있다.
바람직한 실시예에서, 랜덤화기(306)는 랜덤화기 씨드를 기초로 한 세트의 의사 랜덤 데이터를 형성한다.
다른 바람직한 실시예에서, 소스 트랙으로부터 데이터(281)를 판독하기 위한 판독 헤드(220)는 랜덤화된 판독 데이터(291)를 형성하기 위하여 판독 신호(281)를 조절하는 판독 회로(280, 282, 288, 286, 290)에 결합된다. 판독 회로에 결합된 디랜덤화기(292)는 랜덤화된 판독 데이터(293)를 형성하기 위하여 랜덤 데이터(320) 세트와 랜덤화된 판독 데이터(291)를 결합할 수 있다.
비록 본 발명이 바람직한 실시예를 참조하여 기술되었지만, 당업자는 변화가 본 발명의 사상 및 범위로부터 벗어나지 않고 이루어질 수 있다는 것을 인식할 것이다.
Claims (10)
- 매체상의 트랙에 정보를 저장하기 위한 저장 장치로서,호스트로부터 입력 데이터를 수신하고 상기 입력 데이터에 기초하여 저장 데이터를 생성할 수 있는 입력 회로;목적 트랙을 짝수 트랙 또는 홀수 트랙으로써 지정할 수 있는 어드레싱 회로;상기 어드레싱 회로 및 상기 입력 회로에 결합되며, 목적 트랙이 짝수 트랙이면 제 1 랜덤 데이터 세트를 생성하고 목적 트랙이 홀수 트랙이면 제 2 랜덤 데이터 세트를 생성할 수 있으며, 랜덤화된 데이터를 형성하기 위하여 저장 데이터를 랜덤 데이터 세트와 결합시킬 수 있는 랜덤화기;상기 랜덤화기에 결합되며, 상기 랜덤화기 데이터로부터 기입 데이터를 생성할 수 있는 출력 회로; 및상기 목적 트랙에 상기 기입 데이터를 기입하기 위해 상기 출력 회로에 결합된 헤드를 포함하는 저장 장치.
- 제 1 항에 있어서,상기 랜덤화기는 특정 랜덤 데이터 세트를 반복적으로 생성할 수 있는 상태 기기(state machine)를 포함하는 것을 특징으로 하는 저장 장치.
- 제 2 항에 있어서,상기 상태 기기는 상이한 랜덤 데이터 세트들을 생성하기 위하여, 동일 방법이지만 다른 랜덤화기 씨드(seed)를 사용하는 것을 특징으로 하는 저장 장치.
- 제 1 항에 있어서,판독 신호를 발생시키기 위하여 소스 트랙으로부터 판독 데이터를 판독할 수 있는 판독 헤드;랜덤화된 판독 데이터를 발생시키기 위하여 판독 신호를 조절하도록 상기 판독 헤드에 결합된 판독 회로; 및상기 판독 회로에 결합되며, 디랜덤화된 판독 데이터를 발생시키기 위하여 상기 랜덤화된 판독 데이터를 상기 랜덤화기로부터의 랜덤 데이터 세트와 결합시킬 수 있는 디랜덤화기를 더 포함하는 것을 특징으로 하는 저장 장치.
- 제 4 항에 있어서,상기 어드레싱 회로는 소스 트랙을 짝수 트랙 또는 홀수 트랙으로써 지정할 수 있고, 상기 랜덤화기는 만약 소스 트랙이 짝수 트랙이면 제 1 랜덤 데이터 세트를 발생시킬 수 있고, 만약 소스 트랙이 홀수 트랙이면 제 2 랜덤 데이터 세트를 발생시킬 수 있는 것을 특징으로 하는 저장 장치.
- 제 5 항에 있어서,상기 판독 헤드가 짝수 소스 트랙을 판독하고 상기 어드레싱 회로가 소스 트랙을 홀수 트랙으로써 지정할 때, 디랜덤화된 판독 데이터는 식별 가능한 에러를 포함하는 것을 특징으로 하는 저장 장치.
- 디스크 드라이브에서 데이터 오비교 에러(data miscompare errors) 발생을 감소시키기 위한 방법으로서,(a) 목적 트랙을 짝수 트랙 또는 홀수 트랙으로써 식별하는 단계;(b) 랜덤화된 데이터를 발생시키기 위하여 기입 데이터를 의사(pseudo) 랜덤 데이터 세트와 결합시키는 단계 - 상기 의사 랜덤 데이터 세트는 목적 트랙이 짝수 트랙인지 또는 홀수 트랙인지를 기초로 선택됨 -; 및(c) 적어도 부분적으로 상기 랜덤화된 데이터에 기초하는 기입 신호를 사용하여 상기 목적 트랙에 기입하는 단계를 포함하는 오비교 에러 감소 방법.
- 제 7 항에 있어서,(d) 소스 트랙을 짝수 트랙 또는 홀수 트랙으로써 식별하는 단계;(e) 판독 신호를 발생시키기 위하여 상기 소스 트랙으로부터 판독하는 단계;(f) 상기 판독 신호로부터, 랜덤화된 판독 데이터를 추출하는 단계; 및(g) 판독 데이터를 발생시키기 위하여 상기 랜덤화된 판독 데이터를 의사 랜덤 데이터 세트와 결합시키는 단계 - 상기 의사 랜덤 데이터 세트는 소스 트랙이 짝수 트랙인지 또는 홀수 트랙인지를 기초로 선택됨 -를 더 포함하는 것을 특징으로 하는 오비교 에러 감소 방법.
- 제 8 항에 있어서,상기 기입 신호는 상기 랜덤화된 데이터를 인코딩함으로써 부분적으로 생성되는 것을 특징으로 하는 오비교 에러 감소 방법.
- 트랙을 가지는 저장 매체 상에 저장하기 위해 데이터를 인코딩하는 방법으로서,(a) 랜덤화되지 않은 데이터를 형성하기 위하여, 데이터에 대한 에러 정정 코드를 생성하여 상기 데이터를 상기 에러 정정 코드와 결합시키는 단계;(b) 랜덤화되지 않은 데이터에 기초한 기입 데이터가 상기 매체 상에 저장되는 목적 트랙에 대한 카테고리를 식별하는 단계; 및(c) 목적 트랙에 대해 식별된 상기 카테고리에 기초하여 선택된 의사 랜덤화 데이터를 사용하여, 랜덤화되지 않은 데이터를 랜덤화시킴으로써 랜덤화된 데이터를 생성하는 단계를 포함하는 데이터 인코딩 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6359697P | 1997-10-23 | 1997-10-23 | |
US60/063,596 | 1997-10-23 | ||
PCT/US1998/022438 WO1999021079A1 (en) | 1997-10-23 | 1998-10-22 | Alternate randomizing for even/odd data tracks |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010031316A KR20010031316A (ko) | 2001-04-16 |
KR100596939B1 true KR100596939B1 (ko) | 2006-07-07 |
Family
ID=22050253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007004310A KR100596939B1 (ko) | 1997-10-23 | 1998-10-22 | 짝수/홀수 데이터 트랙에 대한 교대적 랜덤화 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6392829B1 (ko) |
JP (1) | JP2001521258A (ko) |
KR (1) | KR100596939B1 (ko) |
CN (1) | CN1160617C (ko) |
DE (1) | DE19882748T1 (ko) |
GB (1) | GB2346235B (ko) |
WO (1) | WO1999021079A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349399B1 (en) | 1998-09-03 | 2002-02-19 | Micron Technology, Inc. | Method and apparatus for generating expect data from a captured bit pattern, and memory device using same |
US7810012B1 (en) * | 2003-08-06 | 2010-10-05 | Oracle America, Inc. | Format for randomized data block in a storage device |
US20060066972A1 (en) * | 2004-09-30 | 2006-03-30 | Agere Systems Inc. | Read channel for simultaneous multiple bit data transfers |
US7433141B2 (en) * | 2005-03-09 | 2008-10-07 | Tandberg Data Corporation | Data randomization for rewriting in recording/reproduction apparatus |
US7478220B2 (en) * | 2005-06-23 | 2009-01-13 | International Business Machines Corporation | Method, apparatus, and product for prohibiting unauthorized access of data stored on storage drives |
KR100836758B1 (ko) * | 2006-09-11 | 2008-06-10 | 삼성전자주식회사 | 메모리 카드의 암호화 장치 및 그것에 따른 데이터 기입 및독출 방법 |
US8131920B2 (en) * | 2007-12-06 | 2012-03-06 | Hitachi Global Storage Technologies, Netherlands B.V. | Method and system for dynamically allocating read and write sequence randomizer |
KR101554159B1 (ko) | 2008-10-08 | 2015-09-21 | 삼성전자주식회사 | 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 |
KR20100099961A (ko) * | 2009-03-04 | 2010-09-15 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그 동작 방법 |
KR101504338B1 (ko) * | 2009-03-04 | 2015-03-23 | 삼성전자주식회사 | 불휘발성 메모리 장치의 동작 방법 |
CN102236584B (zh) * | 2010-04-20 | 2015-09-30 | 慧荣科技股份有限公司 | 用来抑制数据错误的方法以及相关的记忆装置及其控制器 |
US8935309B1 (en) * | 2011-04-22 | 2015-01-13 | Sk Hynix Memory Solutions Inc. | Generation of constrained pseudo-random binary sequences (PRBS) |
US8405925B2 (en) * | 2011-06-01 | 2013-03-26 | International Business Machines Corporation | Track-dependent data randomization mitigating false VFO detection |
US10474432B2 (en) * | 2017-11-02 | 2019-11-12 | Red Hat, Inc. | Repeatable distributed pseudorandom number generation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0337875A (ja) * | 1989-07-04 | 1991-02-19 | Toshiba Corp | データ記録再生装置のヘッド駆動制御装置 |
US5784216A (en) | 1995-11-16 | 1998-07-21 | Seagate Technology, Inc. | Method and apparatus for recording defective track identification information in a disk drive |
US5850382A (en) * | 1996-04-11 | 1998-12-15 | Matsushita Electrical Industrial Co., Ltd. | Optical disk having a rewritable area and a read-only area |
-
1998
- 1998-10-22 WO PCT/US1998/022438 patent/WO1999021079A1/en active IP Right Grant
- 1998-10-22 CN CNB98810475XA patent/CN1160617C/zh not_active Expired - Fee Related
- 1998-10-22 JP JP2000517333A patent/JP2001521258A/ja active Pending
- 1998-10-22 KR KR1020007004310A patent/KR100596939B1/ko not_active IP Right Cessation
- 1998-10-22 DE DE19882748T patent/DE19882748T1/de not_active Withdrawn
- 1998-10-22 GB GB0009932A patent/GB2346235B/en not_active Expired - Fee Related
- 1998-10-22 US US09/177,167 patent/US6392829B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2346235B (en) | 2002-07-03 |
GB0009932D0 (en) | 2000-06-07 |
DE19882748T1 (de) | 2000-09-28 |
CN1160617C (zh) | 2004-08-04 |
WO1999021079A1 (en) | 1999-04-29 |
US6392829B1 (en) | 2002-05-21 |
KR20010031316A (ko) | 2001-04-16 |
CN1276886A (zh) | 2000-12-13 |
GB2346235A (en) | 2000-08-02 |
JP2001521258A (ja) | 2001-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6661591B1 (en) | Disk drive employing sector-reconstruction-interleave sectors each storing redundancy data generated in response to an interleave of data sectors | |
US6981205B2 (en) | Data storage apparatus, read data processor, and read data processing method | |
US6687850B1 (en) | Disk drive for storing sector-reconstruction sectors and for storing a sector-reconstruction status in sectors distributed around a disk | |
US7191382B2 (en) | Methods and apparatus for correcting data and error detection codes on the fly | |
KR100596939B1 (ko) | 짝수/홀수 데이터 트랙에 대한 교대적 랜덤화 | |
US7518819B1 (en) | Disk drive rewriting servo sectors by writing and servoing off of temporary servo data written in data sectors | |
US7436610B1 (en) | Disk drive employing different zone boundaries across disk surfaces | |
JPS63197123A (ja) | エラ−訂正及びチエツク装置 | |
US5963387A (en) | Method for forming and processing data address mark for hard disk drive | |
US6891694B2 (en) | Method for writing streaming audiovisual data to a disk drive | |
US7433141B2 (en) | Data randomization for rewriting in recording/reproduction apparatus | |
US5889796A (en) | Method of insuring data integrity with a data randomizer | |
US5717535A (en) | Block address integrity check for storage medium | |
KR960011860A (ko) | 기록 매체에/로 부터 기록 및 재생 방법과, 그 기록 매체 | |
US5285436A (en) | Method of avoiding medium defects in record/reproduce apparatus | |
US7263650B2 (en) | Error correction extending over multiple sectors of data storage | |
JP2009016031A (ja) | ライト同期化に対するリトライおよびリリード | |
US6993688B2 (en) | Data sector error tracking and correction mechanism | |
US7848041B2 (en) | Method and apparatus for correcting data errors in a disk drive | |
US6502217B1 (en) | Method and apparatus for randomizing sector addresses in a disk storage device | |
US10186290B2 (en) | Data storage device saving partial map when read-modify-write fails during shingled writing | |
KR20060039400A (ko) | 복사 방지된 광디스크의 복사방법 | |
JP4247651B2 (ja) | 情報処理装置、情報記録媒体及び情報の伝送方法 | |
US7154688B2 (en) | Disk device having a function to confirm that a selected head is proper for a disk surface | |
JP3829617B2 (ja) | デジタル信号記録装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
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: 20090624 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |