KR980011265A - 하드 디스크 드라이브 제어장치 및 그 방법 - Google Patents

하드 디스크 드라이브 제어장치 및 그 방법 Download PDF

Info

Publication number
KR980011265A
KR980011265A KR1019960030890A KR19960030890A KR980011265A KR 980011265 A KR980011265 A KR 980011265A KR 1019960030890 A KR1019960030890 A KR 1019960030890A KR 19960030890 A KR19960030890 A KR 19960030890A KR 980011265 A KR980011265 A KR 980011265A
Authority
KR
South Korea
Prior art keywords
sector
servo sector
counter
data
value
Prior art date
Application number
KR1019960030890A
Other languages
English (en)
Other versions
KR0176615B1 (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 KR1019960030890A priority Critical patent/KR0176615B1/ko
Priority to JP9200043A priority patent/JP3034826B2/ja
Priority to GB9715607A priority patent/GB2315914B/en
Priority to CN97120633A priority patent/CN1110047C/zh
Priority to US08/901,786 priority patent/US5907445A/en
Publication of KR980011265A publication Critical patent/KR980011265A/ko
Application granted granted Critical
Publication of KR0176615B1 publication Critical patent/KR0176615B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/08Track changing or selecting during transducing operation
    • G11B21/081Access to indexed tracks or parts of continuous track
    • G11B21/083Access to indexed tracks or parts of continuous track on discs

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 하드 디스크 드라이브 제어 장치 및 그 방법에 관한 것으로서, 특히 ID 정보가 디스크상에 없는 하드 디스크 드라이브에서 에러 발생 유무에 관계 없이 디스크 리드 및 라이트 동작을 제어하는 장치 및 그 방법에 관한 것이며, 본 발명의 목적을 위하여 목표 서보 섹터 번호를 설정하는 제1카운터부, 서보 섹터 펄스에 의해 서보 섹터 번호가 연산되는 제2카운터부, 목표 서보 섹터 번호와 서보 섹터 번호를 비교하는 제1비교부, 버퍼 에러가 발생할 경우 버퍼 에러 영역 설정을 하고, 그 영역내에서 상기 각 카운터부의 카운트가 중단되는 에러 영역 설정부, 스킵할 데이타 섹터 갯수를 설정하고, 상기 제1비교부의 비교값이 일치하면 데이타 섹터 펄스에 의해 연산되는 제3카운터부, 에러 영역에서 버퍼 에러 발생 시점에 수행중인 데이타 섹터의 값을 유지하여 에러가 소멸 되었을 때 상기 제3카운터부에 데이타 섹터 값을 인가하는 제4카운터부, 상기 제3카운터부의 연산된 값이 소정의 값이 되면 디스크 리드 및 라이트를 수행하는 시퀀서부를 포함한다.
본 발명에 의하면, ID 정보가 디스크상에 없는 하드 디스크 드라이브에서 버퍼 에러가 발생할 경우 디스크 콘트롤러가 버퍼 에러 소멸을 스스로 판단하고, 버퍼 에러 이전 까지 수행되었던 디스크 동작의 이후 부터 자동으로 디스크의 리드 및 라이트를 할 수 있는 잇점이 있다.

Description

하드 디스크 드라이브 제어장치 및 그 방법
본 발명은 하드 디스크 드라이브 제어 장치 및 그 방법에 관한 것으로서, 특히 ID(Identification) 정보가 디스크상에 없는 하드 디스크 드라이브에서 에러 발생 유무에 관계 없이 디스크 리드 및 라이트 동작을 제어하는 장치 및 그 방법에 관한 것이다.
일반적으로 하드 디스크 드라이브(Hard Disk Drive)와 같은 자기 디스크 기록 장치에 구비되는 디스크 콘트롤러는 프로그래머블(Programable) 콘트롤 시퀀서를 구비하여 디스크상에 대해 포맷(Format)을 하거나 데이타를 라이트 또는 리드하는 시퀀스(Sequence)를 제어한다.
그리고 디스크 콘트롤러는 퍼스널 컴퓨터와 같은 호스트의 자기 디스크 기록 장치의 주제어 장치인 마이크로 콘트롤러와 디스크 사이의 인터페이스를 제공하며, 리드 및 라이트에 따른 데이타의 에러 검출 및 정정을 수행한다.
제1도은 일반적인 하드 디스크 드라이브의 구성을 보이는 블럭도이며, 제1도에 도시된 바와 같이 하드 디스크 드라이브는 두장의 디스크와 그의 각 면에 하나씩 대응되게 설치되는 4개의 헤드를 구비하며, 헤드(112)와 연결되는 전치 증폭기(114)는 헤드(112)에 의해 픽엎된 신호를 전치 증폭하여 증폭된 신호를 리드 및 라이트 채널 회로(116)에 인가하며, 라이트시에는 리드 및 라이트 회로(116)로 부터 인가되는 인코딩된 라이트 데이타에 따른 라이트 전류를 헤드(112)에 인가함으로서 라이트 데이타를 디스크상(112) 라이트한다. 그리고 리드 및 라이트 회로(116)는 전치 증폭기(114)로 부터 인가되는 리드 신호로 부터 데이타 펄스를 검출하고 디코딩하여 디스크 콘트롤러(118)에 인가하며, 디스크 콘트롤러(118)로 부터 인가되는 라이트 데이타를 인코딩하여 전치 증폭기(114)에 인가한다.
디스크 콘트롤러(118)는 마이크로 콘트롤러(122)로 부터 다운 로딩되는 마이크로 프로그램에 따른 동작을 수행하는 시퀀서를 구비하며 호스트로 부터 수신되는 데이타를 리드 및 라이트 회로(116)와 전치 증폭기(114)를 통해 디스크상(110에 라이트 하거나 디스크상(110)으로 부터 데이타를 리드하여 호스트로 송신한다.
또한 디스크 콘트롤러(118)는 호스트와 마이크로 콘트롤러(122)간의 통신을 인터페이스한다.
버퍼램은 호스트와 마이크로 콘트롤러(122) 및 리드 및 라이트 회로(116) 사이에 전송되는 데이타를 일시 저장한다.
마이크로 콘트롤러(118)는 호스트로 부터 수신되는 포맷이나 리드 및 라이트 명령에 응답하여 디스크 콘트롤러(118)를 제어하며 트랙 탐색 및 트랙 추종을 제어한다.
롬(ROM:Read Only Memory)(24)은 마이크로 콘트롤러(122)의 수행 프로그램 및 각종 설정 값들을 저장한다.
서보 구동부(126)는 마이크로 콘트롤러(122)로 부터 발생되는 헤드(112)의 위치 제어를 위한 신호에 의해 엑추에이터(128)를 구동하기 위한 구동 전류를 발생하여 엑츄에이터(128)에 인가한다.
엑츄에이터(128)는 서보 구동부(126)로 부터 인가되는 구동 전류의 방향 및 레벨에 대응하여 헤드(122)를 디스크상에서 이동 시킨다.
스핀들 모터 구동부(130)는 마이크로 콘트롤러(122)로 부터 발생되는 디스크(110)의 회전 제어를 위한 제어 값에 따라 스핀들 모터(132)를 구동하여 디스크(110)를 회전 시킨다.
디스크 신호 제어부(134)는 리드 및 라이트 채널 회로(116)로 부터 출력되는 리드 데이타에서 서보 정보를 디코딩하여 마이크로 콘트롤러(122)에 인가하며, 리드 및 라이트에 필요한 각종 제어 신호들을 디스크 콘트롤러(118)에 인가한다.
제2a도는 일반적인 하드 디스크 드라이브의 대략적인 포맷도이며, 제2b도는 제2a도의 서보 영역의 위치를 감지하여 디스크 콘트롤러에서 발생하는 서보 펄스 타이밍도이며 제2c도는 제2a도의 서보 영역에서 마이크로 콘트롤러에 의해 라이트된 값에 의해 특정 시간이 경과한 후에 디스크 콘트롤러에서 발생하며, 데이타 섹터의 시작을 나타내는 데이타 섹터 펄스의 타이밍도이다.
제2a도에 도시된바와 같이 원형의 하드 디스크를 동심원으로 세분한 것을 실린더(Cylinder:CYL)라고 하는데, 실린더중에서 하나의 실린더를 나타낸 제1도의 하드 디스크 드라이브의 포맷이다.
제2a도에 도시된 포맷도에서 하나의 실린더는 N개의 서보 섹터로 구성되며, 하나의 서보 섹터는 하나의 서보 영역과 M개의 데이타 섹터로 이루어진다.
또한 제1도의 하드 디스크 드라이브에서는 데이타 섹타가 ID 영역과 데이타 영역으로 나누어진다.
기존의 하드 디스크 드라이브에서는 기억 용량을 증대시키기 위하여 기록 밀도를 일정하게 하여 ID 정보와 데이타를 기록하며, 데이타 영역에서는 디스크상의 위치에 관계없이 동일한 크기 즉, 512 바이트의 크기를 갖는다.
즉, 서보 방식에 있어 임베디드 섹터 서보(embeded sector servo) 방식을 채용 할 경우 하나의 데이타 섹터는 디스크상의 위치에 따라 2개의 세그먼트로 스플리트(split:분할) 될 수도 있다(제2도의 스플리트 데이타 섹터).
종래의 하드 디스크 드라이브에서 데이타 섹터의 구성이 제2a도의 ID 영역의 ID 정보와 데이타 영역의 데이타로 구성되어 있기 때문에 한 데이타 섹터당 ID 영역 만큼(예를 들면 29바이트) 사용자가 디스크 용량으로 사용할 수 없다.
따라서 종래의 ID 영역에서 위치 정보를 위한 정보를 위한 오버 헤드로서 실제로 정보를 저장하는데 사용 될 수없는 ID 영역의 ID 정보를 삭제함으로서 그 만큼의 저장 용량이 증가하며, 특히 ID 영역과 데이타 영역 사이에서 헤드의 특성인 라이트-리드 복구 시간(약 8μsec)의 오버 헤드도 제거할 수있으므로 약 6% 정도의 디스크 용량이 증가하게 된다.
이를 위해 기존의 ID 영역의 존재 이유인 목표 데이타 섹터를 찾을 수있는 방법이 필요하게 된다.
목표 데이타를 찾는 방법은 디스크 리드나 라이트를 수행하기 위해서 디스크 콘트롤러(118)를 제어하는 마이크로 콘트롤러(122)가 디스크상의 인덱스 부터 서보 섹터의 갯수를 세거나 또는 서보 영역에 기록된 서보 번호를 읽어서 디스크상의 현재 서보 위치를 파악하고 목표 서보 섹터를 찾는다.
다음 마이크로 콘트롤러(122)가 미리 설정한 스킵 카운터의 값 만큼 데이타 섹터를 스킵한 후 디스크 콘트롤러(118)를 제어하여 디스크 리드 및 라이트를 시작한다.
한편 제1도의 하드 디스크 드라이브에서는 컴퓨터의 호스트와 하드 디스크 드라이브의 속도 차이 때문에 속도의 제약을 줄이기 위하여 버퍼램(120)을 두고 있다.
그러나 버퍼 램(120)은 동작 수행중에 풀(Full)이 되거나 비어 있게 되는(Empty) 버퍼 에러가 발생 할 수도 있다.
종래의 ID 정보가 디스크상에 있는 하드 디스크 드라이브에서 버퍼 에러가 발생할 경우 디스크 콘트롤러(118)에 목표 데이타 섹터를 찾은 후에도 계속적으로 갱신되는 목표 데이타 섹터에 대한 정보가 있으므로 디스크 콘트롤러(118) 스스로 버퍼 에러 소멸을 파악하여 버퍼 에러가 소멸되었을 경우 디스크에 기록된 ID 정보와 목표 데이타 섹터에 대한 정보를 비교하여 버퍼 에러가 발생한 시점 이 후 부터 디스크 리드 및 라이트를 자동으로 수행하였다.
그러나 ID 정보가 디스크상에 없는 하드 디스크 드라이브는 목표 데이타 섹터를 찾은 후에 디스크 리드 및 라이트 동작을 하면서 목표 서보 섹터를 갱신하지도 않으며, 또한 스킵 카운터 역시 목적상 스킵할 데이타 섹터가 없기 때문에 갱신되지도 않는다.
따라서 디스크 리드 및 라이트 동작중에 버퍼 에러가 발생 할 경우 시퀀서의 동작을 중지시키고 마이크로 콘트롤러(122)는 버퍼 에러 발생 이전 까지 수행되었던 동작을 파악한 후, 버퍼 에러의 소멸을 계속적으로 검사하여 버퍼 에러가 발생 했을 때 까지 수행 되었던 동작 다음 부터 다시 시작 해야 하므로 로드가 많은 단점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 ID 정보가 디스크상에 없는 하드 디스크 드라이브에서 버퍼 에러가 발생할 경우 디스크 콘트롤러가 버퍼 에러 소멸을 스스로 판단하고, 버퍼 에러 이전 까지 수행되었던 디스크 동작의 이후 부터 자동으로 디스크의 리드 및 라이트를 행하는 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 ID 정보가 디스크상에 없는 하드 디스크 드라이브에서 버퍼 에러가 발생할 경우 디스크 콘트롤러가 버퍼 에러 소멸을 스스로 판단하고, 버퍼 에러 이전 까지 수행되었던 디스크 동작의 이후 부터 자동으로 디스크의 리드 및 라이트를 행하는 방법을 제공하는 데 있다.
제1도는 일반적인 하드 디스크 드라이브의 구성을 보이는 블럭도이다.
제2a도는 일반적인 하드 디스크 드라이브의 대략적인 포맷도이다.
제2b도는 제2a도의 서보 영역의 위치를 감지하여 디스크 콘트롤러에서 발생하는 서보 펄스 타이밍도이다.
제2c도는 제2a도의 서보 영역의 위치를 감지하여 디스크 콘트롤러에서 발생하는 데이타 섹터 펄스의 타이밍도이다.
제3도는 본 발명에 따른 하드 디스크 드라이브에서 마이크로 콘트롤러(122)와 디스크 콘트롤러(118)의 일부에서 디스크 리드 및 라이트를 수행하는 장치를 보이는 구성도이다.
제4도는 제3도의 각부의 동작을 보이는 타이밍도이다.
제5도는 본 발명에 따른 현재 서보 섹터와 목표 서보 섹터의 갱신을 위한 플로우챠트이다.
제6도는 제5도에서 현재 서보 섹터 번호와 목표 서보 섹터 번호가 일치 했을시 디스크 리드 및 라이트를 수행하는 방법을 보이는 플로우챠트이다.
상기의 목적을 달성하기 위하여 본 발명은 목표 데이타 섹터를 찾아 디스크 리드 및 라이트 동작을 수행하는 하드 디스크 드라이브 제어 장치에 있어서, 설정된 목표 서보 섹터를 저장하고 목표 서보 섹터를 찾고, 입력되는 서보 섹터 펄스에 따라 1씩 가산되는 목표 서보 카운터부, 실린더상의 최대 서보 갯수를 저장하는 최대 서보 저장부, 설정된 현재 서보 섹터 번호를 저장하고 입력되는 서보 섹터 펄스에 따라 1씩 가산되는 서보 섹터 카운터부, 상기 최대 서보 저장부의 최대 서보 갯수와 상기 서보 섹터 카운터부의 서보 섹터 번호를 비교하는 제1비교부, 상기 목표 서보 카운터부의 목표 서보 번호와 서보 섹터 카운터부의 서보 섹터 번호를 비교하는 제2비교부, 목표 서보 섹터에 도달하였을 때 스킵할 데이타 섹터 갯수를 저장하고 데이타 섹터 펄스에 의해 "1"씩 감산을 수행하는 스킵 카운터부, 현재 서보 섹터중 몇번째 데이타를 수행하고 있는지를 카운트하는 서보 섹터내 데이타 섹터 카운터부, 버퍼 에러가 발생할 경우 버퍼 에러 영역 설정을 하여 각종 카운터부의 카운트를 중단 시키는 에러 영역 설정부를 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치이다.
본 발명의 다른 목적을 위하여 본 발명은 목표 데이타 섹터를 찾아 디스크 리드 및 라이트 동작을 수행하는 하드 디스크 드라이브 제어 방법에 있어서, 목표 서보 섹터 값, 스킵할 데이타 섹터 값 및 현재 서보 섹터 값을 설정하는 제1단계, 서보 섹터 펄스에 의해 현재 서보 섹터 값을 연산하는 제2단계, 상기 제1단계의 목표 서보 섹터 값과 상기 제2단계의 연산된 현재 서보 섹터 값을 비교하여 두 값이 다를 때는 서보 섹터 펄스가 입력될 때마다 현재 서보 섹터 번호를 연산시키며, 버퍼 에러가 발생시 목표 서보 섹터 값을 유지하는 제3단계, 상기 제2단계에서 목표 서보 섹터 값과 연산된 현재 서보 섹터 값이 같을 때 입력되는 데이타 섹터 펄스에 따라 스킵할 데이타 섹터 갯수를 연산하는 제4단계, 상기 제4단계에서 스킵할 데이타의 갯수가 소정의 갯수이면 디스크 리드 및 라이트를 수행하는 제5단계, 상기 제3단계에서 목표 섹터 번호를 찾은 후 데이타 섹터 펄스가 입력될 때마다 현재 서보 섹터내의 데이타 섹터를 연산하고 버퍼 에러가 발생할 경우 그 값을 유지하는 제6단계, 버퍼 에러가 발생하였다가 소멸될 경우 버퍼 에러 이전에 수행되었던 데이타 섹터의 다음 섹터 부터 디스크 리드 및 라이트를 수행하기 위하여 서보 섹터내의 데이타 섹터 값을 제4단계의 스킵할 섹터 갯수로 설정하는 제6단계를 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 방법이다.
이하에서 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
제3도은 본 발명에 따른 하드 디스크 드라이브에서 마이크로 콘트롤러(122)와 디스크 콘트롤러(118)의 일부에서 디스크 리드 및 라이트를 수행하는 장치를 보이는 구성도이며, 제3도에 도시된 장치는 하드 디스크 드라이브 전체를 제어하는 마이크로 콘트롤러(300), 마이크로 콘트롤러(300)에 의해 목표 서보 섹터 값을 설정하는 목표 서보 카운터(310), 마이크로 콘트롤러(300)에 의해 현재의 서보 섹터 번호를 설정하고 입력되는 서보 섹터 펄스를 카운트하는 서보 섹터 카운터(320), 마이크로 콘트롤러(300)에 의해 현재 실린더의 서보 섹터의 갯수를 설정하는 최대 서보 레지스터(330), 서보 섹터내 데이타 섹터의 갯수를 판단하기 위한 서보 섹터내 데이타 섹터 카운터(340), 서보 섹터 카운터(320)의 번호와 최대 서보 레지스터(330)의 값을 비교하는 제1비교기(350), 서보 섹터 카운터(320)의 서보 섹터 번호와 목표 서보 레지스터(310)의 값을 비교하는 제2비교기(360), 버퍼 에러 영역을 설정하는 버퍼 에러 영역 설정기(370), 제2비교기(360)의 결과와 데이타 섹터 펄스에 의해 스킵 데이타를 카운터하는스킵 카운터(380), 스킵 카운터(380)의 카운트 값에 따라 디스크 리드 및 라이트 제어 신호를 출력하는 시퀀서(390)로 구성된다.
제3도에 도시된 바와 같이 마이크로 콘트롤러(300)는 목표 서보 카운터(310)에 디스크 리드 및 라이트를 원하는 목표 섹터 번호를 설정하며, 최대 서보 레지스터(330)에 현 실린더에 존재하는 서보 섹터의 갯수를 설정하며, 서보 섹터 카운터(320)에 현재 서보 섹터 번호를 설정 설정한다.
여기서 서보 섹터 카운터(320)는 서보 섹터 펄스가 입력될 때마다 "1" 씩 증가되며 제1비교기(250)에서 현재 서보 섹터 번호와 최대 서보 레지스터(230)의 최대 서보 섹터 갯수를 비교하여 같을 경우 리어 신호(252)가 인가되어 "0" 값이 설정된다.
제2비교기(360)는 서보 섹터 카운터(320)의 값과 목표 서보 카운터(310)의 값을 비교하여 비교된 값이 같을 경우 목표 서보 섹터에 도달하였음을 의미하므로 이때 부터 데이타 섹터 펄스가 입력될 때마다 스킵 카운터(380)를 동작 시킨다.
스킵 카운터(380)는 데이타 섹터 펄스가 입력 되었을 때 카운트 값이 "0"이면 현재 데이타 섹터부터 시퀀서(390)를 동작시켜 디스크 리드 및 라이트 동작을 수행하도록 하고, "0"가 아니면 "0"가 될 때 까지 데이타 섹터 펄스가 입력 될 때 마다 감산하는 과정을 수행한다.
시퀀서(390)는 동작이 시작된 이후에 버퍼 에러가 발생되지 않으면, 설정된 만큼의 데이타 섹터가 입력될 때마다 디스크 동작을 수행하기 위하여 리드 및 라이트 제어 신호를 제1도의 리드/라이트 회로에 인가한 후 작업을 종료하게 되며, 버퍼 에러가 발생될 경우 버퍼 에러 영역 설정기(370)의 버퍼 에러 영역 설정에 의하여 동작이 내부적으로 중단하게 된다.
내부적으로 중단된 시퀀서(390)가 재동작 할 때 현재 까지 진행 되었던 데이타 섹터 다음의 섹터를 목표로 재설정하기 위하여 목표 서보 카운터(310)와 스킵 카운터(380)의 값을 설정할 필요가 있다.
목표 서보 섹터 카운터(310)의 값은 목표 서보 섹터에 도달 할 때 까지 마이크로 콘트롤러(300)에 의해 설정된 값을 유지하다가 목표 서보 섹터에 도달한 후에는 계속적으로 목표 서보 섹터의 정보를 갱신하기 위하여 서보 섹터가 입력 될 때 마다 목표 서보 카운터(310)를 "1"씩 증가 시키며 버퍼 에러가 발생 할 경우 버퍼 에러 영역 설정기(370)의 제어 신호에 따라 목표 서보 카운터의 값을 유지한다.
서보 섹터내 데이타 섹터 카운터(340)는 버퍼 에러 발생시 다시 설정할 필요가 있는 스킵 카운터의 값을 갱신하기 위하여 목표 서보 카운터(310)의 값과 서보 섹터 카운터(320)의 값이 같을 경우 데이타 섹터 펄스가 입력 될 때 마다 카운트 값을 "1"씩 증가 시키며, 버퍼 에러가 발생할 경우 버퍼 에러 설정기(370)에 의한 버퍼 에러 영역에서 그 값을 유지한다.
또한 버퍼 에러가 소멸되는 시점에서 서보 섹터내 데이타 섹터 카운터(340) 값은 스킵 카운터(380)에 재설정된다.
제3도의 장치에서 첫째 목표 서보 섹터를 찾고 스킵 카운터를 동작 시켜야 하므로, 이에 부합된 버퍼 에러 영역을 설정하기 위하여 버퍼 에러 영역 설정기(370)에서는 버퍼 에러가 발생한 이후 데이타 섹터 펄스가 입력된 시점 부터 버퍼 에러가 소멸한 이후 서보 섹터 펄스가 입력된 시점 까지로 버퍼 에러 영역을 설정한다.
제2비교기(310)는 버퍼 에러 영역 설정기(370)에 의해 설정된 버퍼 에러 영역을 벗어남에 따라 목표 서보 카운터(310)의 값과 서보 섹터 카운터(320)의 값을 비교하여 값이 같을 경우 스킵 카운터(380)를 동작 시켜 버퍼 에러 발생 이전에 수행했던 작업 다음 부터 디스크 리드 및 라이트를 수행 한 후 종료되도록 한다.
또한 스플리트 데이타 섹터 처리를 위하여 마이크로 콘트롤러(300)는 스플리트 데이타 섹터와 CDR 정보를 매 서보 섹터 마다 디스크 콘트롤러(118)에 설정해야 하는데 목표 서보 카운터(310)와 서보 섹터 카운터(320)의 값을 비교하는 제2비교기(360)의 비교 결과가 같을 경우에만 인터럽트 신호(262)를 발생시켜 작업을 수행하도록 함으로서, 디스크 리드 및 라이트를 위하여 디스크 콘트롤러(118)가 온 된 이후 부터 목표 서보 섹터를 찾을 때 까지와 버퍼 에러가 발생한 이 후에 목표 서보 섹터를 찾을 때 까지 동안에 불필요한 로드를 제거하였다.
제4도는 제3도의 각부의 동작을 보이는 타이밍도이다.
우선, 목표 서보 섹터가 "00"이고, 최대 서보 섹터가 "72"이며, 제4도의 현재 서보 섹터 카운터의 현재 서보섹터가 "71"이며, 제4도의 스킵 카운터 1이 "01"일 때 첫번째 서보 섹터 펄스에 의해 현재 서보 섹터 카운터는 "72"로 바뀌며 이것이 최대 서보 섹터"72"와 동일 하므로 "00"로 재설정된다.
목표 서보 섹터는 현재 서보 섹터 카운터와 같아질 때 까지는 현재 설정 값을 유지하고 이후에는 서보 섹터 펄스가 입력 될 때마다 그 값을 "1"만큼 증가 시킨다.
또한 디스크 동작중에 버퍼 에러가 발생한 경우 목표 서보 카운터는 버퍼 에러가 소멸되더라도 현재 서보 카운터의 값과 같아 질 때 까지의 그 값을 유지한다.
현재 서보 섹터 카운터는 어떠한 조건에도 서보 섹터 펄스가 입력 될 때마다 카운터를 "1" 증가 시킨다. 이때 현재 서보 섹터와 목표 서보 섹터가 동일 하므로 데이타 섹터 펄스가 입력될 때 제4도의 스킵 카운터1이 동작하는 데 첫번 째 데이타 섹터 펄스에서 "01"에서 "00"으로 감산되며 두번 째 데이타 섹터 펄스 부터 디스크 리드 및 라이트 동작을 시작하게 된다(시퀀서 동작 구간 410).
한편 버퍼 에러가 발생할 경우(실제 버퍼 에러 420) 스킵 카운터2를 재설정하기 위하여 목표 서보 섹터를 찾은 후에 첫번째 데이타 섹터 펄스가 입력되면 제4도의 서보 섹터내 데이타 카운터의 값은 "00"에서 "01"로, 두번째 데이타 섹터 펄스가 입력되면 "02"로 1씩 값이 증가하게 되며, 서보 섹터 펄스에 의해서 "00"으로 초기화되며, 디스크 리드 및 라이트 동작중에 버퍼 에러가 발생하게 되면 현재 값을 유지하게 된다.
즉, 제4도의 서보내 데이타 카운터에서 "02" 값이 유지된다. 버퍼 에러가 소멸 될 때 서보 섹터내 데이타 섹터 카운터 값 "02"는 제4도의 스킵 카운터2에 재설정된다.
현재 디스크 위치는 디스크 동작중 발생한 버퍼 에러 때문에 잠시 동작을 멈춘 사이에 목표 서보 섹터 위치를 이미 지나쳤기 때문에 디스크가 1회전 할 동안 대기하였다가 목표 서보 섹터 카운터와 현재 서보 카운터를 비교하여 같을 경우 재설정된 스킵 카운터를 동작 시키고 시퀀서를 온 시켜(시퀀서 동작 구간 430) 목표로 하는 데이타 섹터를 찾는다.
버퍼 에러가 실제 발생하는 시간과 본 발명의 제3도의 장치를 제어하기 위하여 설정되는 버퍼 에러 영역 설정 시간(제4도의 422)은 차이가 있는데 본 발명의 장치에서는 실제 에러가 발생한 이후의 첫번째로 입력되는 시간 부터 실제 버퍼 에러가 소멸된 이후의 첫번째로 입력되는 서보 섹터 까지를 버퍼 에러 영역으로 설정한다.
버퍼 에러 영역의 설정을 상기와 같이 설정하는 이유는 버퍼 에러가 발생한 경우 다음의 데이타 섹터 부터 데이타 리드 및 라이트를 내부적으로 중단하여야하고, 버퍼 에러가 소멸되었을 때 본 발명의 장치가 서보 섹터 부터 동작되어야 하기 때문이다.
제5도는 본 발명에 따른 현재 서보 섹터와 목표 서보 섹터의 갱신을 위한 플로우챠트이며, 스킵 카운터 값 , 최대 서보 섹터 번호, 목표 서보 섹터 번호 및 현재 서보 섹터 번호 설정 과정(512), 서보 섹터 펄스 검출 과정(514), 현재 서보 섹터 번호 가산 과정(516), 최대 서보 섹터 번호와 현재 서보 섹터 번호의 일치 판단 과정(518), 현재 서보 섹터 번호 초기화 과정(520), 현재 서보 섹터 번호와 목표 서보 섹터 번호 일치 판단 과정(522), 버퍼 에러 판단 과정(524), 서보 섹터 펄스 검출 과정(526), 목표 서보 섹터 번호 가산 과정(528)으로 이루어진다.
제5도에 도시된 바와 같이 마이크로 콘트롤러(300)는 목표 서보 섹터 번호 설정, 스킵 카운터 설정, 최대 서보 섹터 설정 및 현재 서보 섹터 번호 설정하며(512과정), 디스크 콘트롤러를 온(ON)시키고, 서보 섹터 펄스의 입력을 기다린다.
여기서 디스크 콘트롤러(118)는 목표 데이타 섹터를 찾기전에 버퍼 에러가 발생할 경우 마이크로 콘트롤러(300)에 의해 재설정되는 것을 방지하기 위하여 내부의 플래그를 "1"로 설정한다.
서보 섹터 카운터(320)는 서보 섹터 펄스가 검출되면(514과정), 현재 서보 섹터 카운터 값에 "1" 가산된다(516과정).
제1비교기(360)에서 서보 섹터 카운터(320)의 현재 서보 섹터 번호와 최대 서보 레지스터(330)의 최대 서보 섹터 갯수를 비교하여(518과정) 같으면, 현재 서보 섹터 번호가 해당되는 실린더에서 가질 수있는 섹터 번호의 한계를 초과 했으므로 이를 인덱스가 위치한 서보 섹터의 번호로 바꾸어 주는 서보 섹터 카운터의 값을 재설정 즉, "0"로 설정하고(520과정), 제2비교기(360)에서 목표 서보 섹터 번호와 서보 섹터 카운터의 현재 서보 섹터 번호를 비교하며(522과정), 설정된 목표 서보 섹터 번호와 현재 서보 섹터 카운터 값이 다르면 같아질 때 까지 과정(514과정 ∼ 522과정)을 반복 수행한다.
다음 제2비교기(360)에서 목표 서보 섹터 번호와 현재 서보 섹터 번호가 같으면 목표 서보 섹터를 찾았음을 의미한다.
여기서 목표 서보 섹터를 찾은 후 버퍼 에러가 발생하면 마이크로 콘트롤러(300)의 관여 없이 디스크 콘트롤러(118) 자체적으로 목표를 설정한다.
따라서 버퍼 에러 발생 여부를 판단해서(524과정) 버퍼 에러가 발생할 경우 목표 섹터 번호는 그 값이 유지되고 서보 섹터 펄스 과정(514)에서 서보 섹터 펄스를 다시 검출하며, 버퍼 에러가 발생하지 않고 서보 섹터 펄스가 검출되면(526과정) 다음 목표 서보 섹터를 위해 목표 서보 섹터 번호를 "1"만큼 증가시키고 현재 서보 가산 과정(516)으로 다시 복귀한다(528과정).
제6도은 제5도에서 현재 서보 섹터 번호와 목표 서보 섹터 번호가 일치 했을시 디스크 리드 및 라이트를 수행하는 방법을 보이는 플로우챠트이며, 목표 서보 섹터 검출 과정(612), 서보 섹터내 데이타 섹터 카운터 초기화 과정(614), 버퍼 에러 판단 과정(616), 버퍼 에러 발생시 플래그의 상태 판단 과정(618), 서보 섹터내의 데이타 섹터 카운터 값을 스킵 카운터에 설정하는 과정(618), 데이타 펄스 검출 과정(622), 서보 섹터내 데이타 섹터 카운터 가산 과정(624), 스킵 카운터의 값이 "0"인가를 판단하는 과정(628), 디스크 리드 및 라이트 수행 과정(630), 전송 완료 판단 과정(632)로 이루어진다.
제6도에 도시된 바와 같이 제5도의 522과정에서 목표 서보 섹터가 검출되고 버퍼 에러가 발생하지 않을 경우(612과정), 서보 섹터내의 데이타 섹터 번호를 카운트하는 카운터를 초기화 즉, "0"로 설정하고(614과정) 데이타 섹터 펄스의 입력을 기다린다.
데이타 섹터 펄스가 검출되면(622과정), 서보 섹터내의 데이타 섹터 카운터를 "1"증가 시키고 스킵 카운터를 "1" 감산 시킨다.
이때 스킵 카운터가 "0"가 될 때 까지 과정(612,614,62,624,628과정)을 반복하며, 스킵 카운터가 "0"가 되면(628과정) 디스크 콘트롤러(118)내의 시퀀서는 온되어 디스크 리드 및 라이트를 수행하고(630) 설정된 전송할 데이타 섹터 수 만큼 전송을 시작한다.
시퀀서(390)는 데이타 섹터가 전송 완료인가를 판단(632)해서 데이타 종료이면 동작을 중지하고, 전송 완료가 아니면 데이타 펄스 검출 과정(622) 부터 다시 시작한다.
한편 버퍼 에러가 발생할 경우의 동작은 목표 데이타 섹터를 찾기전, 후에 따라서 즉, 내부의 플래그가 "0" 인가 "1"인가에 따라서 달라진다.
목표 데이타 섹터를 찾기전에 버퍼 에러가 발생한 경우(616과정) 즉, 플래그 상태가 "1"일때 스킵 카운터는 데이타 섹터 펄스가 검출될 때마다 감산을 하게 되며, 스킵 카운터가 "0"가 되기 전에 버퍼 에러가 발생할 때 스킵 카운터는 내부의 플래그에 의하여 마이크로 콘트롤러(300)가 설정한 스킵 카운터 값을 다시 설정하게 된다.
또한 목표 데이타 섹터를 찾은 후에 버퍼 에러가 발생하는 경우는 스킵 카운터 값이 "0"가 될 때 내부 플래그는 "0"로 설정되며 버퍼 에러가 발생한 시점의 서보 섹터내 데이타 섹터 카운터 값을 스킵 카운터에 재설정하고(620과정) 제5도의 B의 목표 섹터를 찾는 과정부터 다시 수행하게 된다.
즉, 디스크 콘트롤러내의 플래그 상태는 디스크 콘트롤러(118)가 온 될 때 "1"로 설정되며, 목표 데이타 섹터에 도달하게 되면 "0"로 되고 내부 플래그에 의하여 버퍼 에러 발생시 스킵 카운터 값의 재설정은 플래그상태가 "1"인 경우는 마이크로 콘트롤러(300)가 설정한 값을 설정하게 되고, 플래그 상태가 "0"인 경우는 서보 섹터내 데이타 섹터 카운터 값을 설정하게 된다.
상술한 바와 같이 본 발명에 의하면, 버퍼 에러 발생시 디스크 콘트롤러를 중단시키고, 버퍼 에러가 발생한 때 까지 어느 정도의 디스크 리드 및 라이트 동작을 수행하였는지를 파악하며, 디스크 읽기 및 라이트를 다시 시작하기 위해서 버퍼 에러가 소멸되었는지를 계속적으로 감시하며, 버퍼 에러가 소멸하였을 경우 목표 서보 섹터를 설정하는 작업을 마이크로 콘트롤러에게 로드하지 않고 디스크 콘트롤러 자체적으로 버퍼 에러 발생에 무관하게 목표 데이타를 찾고 데이타 리드 및 라이트를 수행 할 수 있는 잇점이 있다.

Claims (11)

  1. 목표 데이타 섹터를 찾아 디스크 리드 및 라이트 동작을 수행하는 하드 디스크 드라이브 제어 장치에 있어서, 목표 서보 섹터 번호를 설정하는 제1카운터부;현재의 서보 섹터 번호를 설정하고 서보 섹터 펄스에 의해 서보 섹터 번호가 연산되는 제2카운터부;상기 제1카운터의 목표 서보 섹터 번호와 상기 제2카운터의 서보 섹터 번호를 비교하는 제1비교부;버퍼 에러가 발생할 경우 버퍼 에러 영역 설정을 하고, 그 영역내에서 상기 제1카운터부 및 제3카운터부의 카운트가 중단되는 에러 영역 설정부;스킵할 데이타 섹터 갯수를 설정하고, 상기 제1비교부의 비교값이 일치하면 데이타 섹터 펄스에 의해 연산되는 제3카운터부;서보 섹터내에서 데이타 섹터를 카운트하고, 상기 에러 영역 설정부의 에러 영역에서 버퍼 에러 발생 시점에 수행중인 데이타 섹터 값을 유지하여 에러가 소멸 되었을 때 상기 제3카운터부에 데이타 섹터 값을 인가하는 제4카운터부;상기 제3카운터부의 연산된 값이 소정의 값이 되면 디스크 읽기 및 쓰기를 제어하는 시퀀서부를 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.
  2. 제1항에 있어서, 상기 디스크 실린더상에 존재하는 서보 섹터의 최대 갯수를 설정하는 제1저장부;및 상기 제1카운터부의 서보 섹터 번호와 상기 제2저장부의 최대 서보 섹터 갯수를 비교하여 상기 제2카운터부에 카운터 값을 설정하는 신호를 발생하는 제2비교부를 더 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.
  3. 제2항에 있어서, 상기 제2카운터부의 서보 섹터 번호는 상기 제2비교부에서 서보 섹터 번호와 최대 서보 섹터 갯수가 같으면 소정의 값으로 재설정되는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.
  4. 제1항에 있어서, 상기 제1카운터부의 카운트 값은 목표 서보 섹터의 정보를 갱신하기 위하여 목표 서보 섹터를 찾고 서보 섹터 펄스가 입력될 때마다 연산되는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.
  5. 제1항에 있어서, 상기 제4카운터부의 카운트 값은 버퍼 에러가 발생할 경우 버퍼 에러 소멸 시점에 목표 데이타 섹터를 찾기 위하여 제3카운터에 의해 재설정되는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.
  6. 제1항에 있어서, 상기 제4카운터부의 카운트 값은 데이타 섹터 펄스에 의해 소정의 갯수로 가산되는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.
  7. 제1항에 있어서, 상기 제1비교부는 목표 서보 섹터를 찾은 후에 인터럽트를 발생시키는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.
  8. 목표 데이타 섹터를 찾아 디스크 리드 및 라이트 동작을 수행하는 하드 디스크 드라이브 제어 방법에 있어서, 목표 서보 섹터 값, 스킵할 데이타 섹터 값 및 현재 서보 섹터 값을 설정하는 제1단계;서보 섹터 펄스에 의해 현재 서보 섹터 값을 연산하는 제2단계;상기 제1단계의 목표 서보 섹터 값과 상기 제2단계의 연산된 현재 서보 섹터 값을 비교하여 두 값이 다를 때는 서보 섹터 펄스가 입력될 때마다 현재 서보 섹터 번호를 연산시키며, 버퍼 에러가 발생시 목표 서보 섹터 값을 유지하는 제3단계;상기 제2단계에서 목표 서보 섹터 값과 연산된 현재 서보 섹터 값이 같을 때 입력되는 데이타 섹터 펄스에 따라 스킵할 데이타 섹터 갯수를 연산하는 제4단계;상기 제4단계에서 스킵할 데이타의 갯수가 소정의 갯수이면 디스크 리드 및 라이트를 수행하는 제5단계;상기 제3단계에서 목표 서보 섹터 번호를 찾은 후 데이타 섹터 펄스가 입력될 때마다 현재 서보 섹터내의 데이타 섹터를 연산하고 버퍼 에러가 발생할 경우 데이타 섹터 값을 유지하는 제6단계;버퍼 에러가 발생했을 경우 버퍼 에러 이전에 수행되었던 데이타 섹터의 다음 섹터 부터 디스크 리드 및 라이트를 수행하기 위하여 제6단계에서 유지된 서보 섹터내의 데이타 섹터 값을 제4단계의 스킵할 섹터 갯수로 설정하는 제7단계를 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 방법.
  9. 제8항에 있어서, 제2단계에서 연산된 서보 섹터 번호와 실린더상의 최대 서보 섹터 번호를 비교하는 단계;및 상기 연산된 서보 섹터 번호와 실린더상의 최대 서보 섹터 번호가 일치하면 현재 서보 섹터 번호를 재설정하는 단계를 더 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 방법.
  10. 제8항에 있어서, 제4단계는 스킵할 데이타 섹터 갯수가 소정 갯수로 될 때 까지 감산되는 것을 특징으로 하는 하드 디스크 드라이브 제어 방법.
  11. 제8항에 있어서, 목표 서보 섹터 번호를 찾은 후의 현재 서보 섹터내의 데이타 섹터 번호는 초기화 되는 특징으로 하는 하드 디스크 드라이브 제어 방법.
    ※ 참고사항:최초출원 내용에 의하여 공개하는 것임.
KR1019960030890A 1996-07-27 1996-07-27 하드 디스크 드라이브 제어장치 및 그 방법 KR0176615B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019960030890A KR0176615B1 (ko) 1996-07-27 1996-07-27 하드 디스크 드라이브 제어장치 및 그 방법
JP9200043A JP3034826B2 (ja) 1996-07-27 1997-07-25 ハードディスクドライブ装置及びその方法
GB9715607A GB2315914B (en) 1996-07-27 1997-07-25 Apparatus and method for controlling hard disk drive
CN97120633A CN1110047C (zh) 1996-07-27 1997-07-27 用于控制硬盘驱动器的装置和方法
US08/901,786 US5907445A (en) 1996-07-27 1997-07-28 Apparatus and method for controlling hard disk drive-locating position by counting sectors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960030890A KR0176615B1 (ko) 1996-07-27 1996-07-27 하드 디스크 드라이브 제어장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR980011265A true KR980011265A (ko) 1998-04-30
KR0176615B1 KR0176615B1 (ko) 1999-04-15

Family

ID=19467828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960030890A KR0176615B1 (ko) 1996-07-27 1996-07-27 하드 디스크 드라이브 제어장치 및 그 방법

Country Status (5)

Country Link
US (1) US5907445A (ko)
JP (1) JP3034826B2 (ko)
KR (1) KR0176615B1 (ko)
CN (1) CN1110047C (ko)
GB (1) GB2315914B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7472222B2 (en) * 2004-10-12 2008-12-30 Hitachi Global Storage Technologies Netherlands B.V. HDD having both DRAM and flash memory
KR20090113503A (ko) * 2008-04-28 2009-11-02 삼성전자주식회사 서보 디펙 처리방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139732A (ja) * 1992-10-27 1994-05-20 Nec Ic Microcomput Syst Ltd 磁気ディスクコントローラ
EP0631277A3 (en) * 1993-06-22 1995-02-22 Quantum Corp Data sector format without identity code and data control unit for disk drive.

Also Published As

Publication number Publication date
CN1180894A (zh) 1998-05-06
JP3034826B2 (ja) 2000-04-17
US5907445A (en) 1999-05-25
GB2315914B (en) 1998-06-17
JPH10124996A (ja) 1998-05-15
CN1110047C (zh) 2003-05-28
GB9715607D0 (en) 1997-10-01
GB2315914A (en) 1998-02-11
KR0176615B1 (ko) 1999-04-15

Similar Documents

Publication Publication Date Title
EP1569220B1 (en) Automatic data update method of data storage system and disk drive using the same
EP1564738A2 (en) Method for partitioning hard disc drive and hard disc drive adapted thereto
US6523142B1 (en) Apparatus and method of performing in a disk drive commands issued from a host system
JPH0667805A (ja) 非同期dasd制御方法及び装置
US20040003172A1 (en) Fast disc write mechanism in hard disc drives
EP0490400B1 (en) Information storage apparatus
US6862150B1 (en) Information storage device and defect information management method
KR100274742B1 (ko) 하드디스크드라이브의초기화복사방법및그복사장치
KR980011265A (ko) 하드 디스크 드라이브 제어장치 및 그 방법
US5889939A (en) Disk drive with a PFA function and monitor value saving control method in the same
US7454560B2 (en) Method and apparatus to perform improved retry in data storage system
US5875453A (en) Apparatus for and method of information processing
KR0176611B1 (ko) 하드 디스크 드라이브 제어장치 및 그 방법
KR100189927B1 (ko) 하드 디스크 드라이브 제어장치 및 그 방법
KR100383638B1 (ko) 컴퓨터바이러스 방지를 위한 자기디스크 기록장치의바이러스백업프로그램을자기디스크에기록하는방법
JPH04285783A (ja) 磁気テープ記憶装置の管理方式
JPH0963198A (ja) ヘッドの位置決めとパラメータの設定とを並行に処理可能なディスク装置及びこのディスク装置におけるパラメータ設定方法
JPH0729312A (ja) 磁気ディスク装置
KR100585165B1 (ko) 데이터 저장 장치 및 데이터 보호 방법
KR930008151B1 (ko) 디스크 제어장치
KR100446287B1 (ko) 마그네틱 헤드 코아의 스트레스 해소 방법
KR100350679B1 (ko) 하드디스크드라이브의재교정명령처리방법
JPH04364516A (ja) 光ディスク装置のアクセス制御方式
JPH06243622A (ja) ディスク装置
JPH05258467A (ja) 光磁気ディスク装置の制御方式

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20091029

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee