KR100189927B1 - Hard disk drive control device and method - Google Patents

Hard disk drive control device and method Download PDF

Info

Publication number
KR100189927B1
KR100189927B1 KR1019960029310A KR19960029310A KR100189927B1 KR 100189927 B1 KR100189927 B1 KR 100189927B1 KR 1019960029310 A KR1019960029310 A KR 1019960029310A KR 19960029310 A KR19960029310 A KR 19960029310A KR 100189927 B1 KR100189927 B1 KR 100189927B1
Authority
KR
South Korea
Prior art keywords
data sector
sector number
current
target data
target
Prior art date
Application number
KR1019960029310A
Other languages
Korean (ko)
Other versions
KR980011020A (en
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 KR1019960029310A priority Critical patent/KR100189927B1/en
Publication of KR980011020A publication Critical patent/KR980011020A/en
Application granted granted Critical
Publication of KR100189927B1 publication Critical patent/KR100189927B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/58Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
    • G11B5/596Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on disks
    • G11B5/59633Servo formatting
    • G11B5/59655Sector, sample or burst servo format
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/58Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
    • G11B5/596Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on disks
    • G11B5/59688Servo signal format patterns or signal processing thereof, e.g. dual, tri, quad, burst signal patterns

Abstract

본 발명은 하드 디스크 드라이브 제어 장치 및 방법에 관한 것으로서, 특히 ID 정보가 하드 디스크 드라이브에서 목표 섹터를 찾고, 버퍼 에러 발생시 디스크 리드 및 라이트를 자동으로 수행하는 장치 및 방법에 관한 것이며, 본 발명의 목적을 위하여 목표 데이타 섹터 번호를 설정하는 제1단계, 서보 섹터내의 소정 번째 데이타 섹터 번호를 설정하는 제2단계, 입력되는 서보 섹터 펄스에서 데이타 섹터 번호를 래치하는 제3단계, 데이타 섹터 펄스가 입력될 때마다 데이타 섹터 번호를 연산하는 제4단계, 현재 데이타 섹터 번호와 상기 제1단계의 목표 데이타 섹터 번호가 일치하는지를 판단하는 제5단계, 목표 데이타 섹터 번호와 현재 데이타 섹터 번호가 일치하고 버퍼 에러가 검출되지 않으면 디스크 리드 및 라이트를 수행하고, 목표 데이타 섹터 번호를 소정의 값으로 연산하는 제6단계를 포함하는 것을 특징으로 한다. 본 발명에 의하면, 버퍼 에러 발생시 마이크로 콘트롤러에 디스크 리드 및 라이트 처리를 위한 부담을 주지 않으며, 디스크 리드 및 라이트를 실제적으로 제어하는 시퀀서가 데이타 섹터 단위로 제어됨에 따라 버퍼 에러가 발생하였다 하더라도 신속하게 디스크를 읽고 쓸수 있는 잇점이 있다.The present invention relates to an apparatus and method for controlling a hard disk drive, and more particularly, to an apparatus and method for finding a target sector in a hard disk drive and automatically performing a disk read and write when a buffer error occurs. A first step of setting a target data sector number, a second step of setting a predetermined data sector number in the servo sector, a third step of latching the data sector number in the input servo sector pulse, and a data sector pulse to be inputted. A fourth step of calculating the data sector number each time; a fifth step of determining whether the current data sector number and the target data sector number of the first step coincide, the target data sector number and the current data sector number coincide, and a buffer error If it is not detected, perform disk read and write and target data sector number. Characterized in that a sixth step of calculating a predetermined value. According to the present invention, when a buffer error occurs, no burden is placed on the microcontroller for disk read and write processing, and even if a buffer error occurs as the sequencer that actually controls the disk read and write is controlled on a data sector basis There is an advantage to reading and writing.

Description

하드 디스크 드라이브 제어 장치 및 그 방법Hard disk drive control device and method

본 발명은 하드 디스크 드라이브 제어 장치 및 그 방법에 관한 것으로서, 특히 ID(Identification) 정보가 디스크상에 없는 하드 디스크 드라이브에서 목표 섹터를 찾고, 버퍼 에러 발생시 디스크 리드 및 라이트를 자동으로 수행하는 장치 및 방법에 관한 것이며, 일반적으로 하드 디스크 드라이브(Hard Disk Drive)와 같은 자기 디스크 기록 장치에 구비되는 디스크 콘트롤러는 프로그래머블(Programable) 콘트롤 시퀀서를 구비하여 디스크상에 대해 포맷(Format)을 하거나 데이타를 라이트 또는 리드하는 시퀀스(Sequence)를 제어한다. 그리고 디스크 콘트롤러는 퍼스널 컴퓨터와 같은 호스트의 자기 디스크 기록 장치의 주제어 장치인 마이크로 콘트롤러와 디스크 사이의 인터페이스를 제공하며, 리드 및 라이트에 따른 데이타의 에러 검출 및 정정을 수행한다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and method for controlling a hard disk drive, and more particularly, to an apparatus and method for finding a target sector in a hard disk drive having no identification information on a disk and automatically performing a disk read and write when a buffer error occurs. In general, a disk controller included in a magnetic disk recording apparatus such as a hard disk drive includes a programmable control sequencer to format or write or read data on a disk. To control the sequence. The disk controller provides an interface between a disk and a microcontroller, which is a main controller of a magnetic disk recording apparatus of a host such as a personal computer, and performs error detection and correction of data according to reads and writes.

도 1은 일반적인 하드 디스크 드라이브의 구성을 보이는 블럭도이다.1 is a block diagram showing the configuration of a general hard disk drive.

도 1에 도시된 바와 같이 하드 디스크 드라이브는 두장의 디스크와 그의 각 면에 하나씩 대응되게 설치되는 4개의 헤드를 구비하며, 헤드(112)와 연결되는 전치 증폭기(114)는 헤드(112)에 의해 픽엎된 신호를 전치 증폭하여 증폭된 신호를 리드 및 라이트 채널 회로(116)에 인가하며, 라이트시에는 리드 및 라이트 채널 회로(116)로 부터 인가되는 인코딩된 라이트 데이타에 따른 라이트 전류를 헤드(112)에 인가함으로서 라이트 데이타를 디스크상(112) 라이트한다. 그리고 리드 및 라이트 회로(116)는 전치 증폭기(114)로 부터 인가되는 리드 신호로 부터 데이타 펄스를 검출하고 디코딩하여 디스크 콘트롤러(118)에 인가하며, 디스크 콘트롤러(118)로 부터 인가되는 라이트 데이타를 인코딩하여 전치 증폭기(114)에 인가한다.As shown in FIG. 1, a hard disk drive includes two disks and four heads correspondingly installed on each side thereof, and the preamplifier 114 connected to the head 112 is connected by the head 112. Pre-amplify the picked-up signal and apply the amplified signal to the read and write channel circuit 116. When writing, the write current according to the encoded write data applied from the read and write channel circuit 116 is applied to the head 112. ), The write data is written to the disk 112. The read and write circuit 116 detects and decodes a data pulse from a read signal applied from the preamplifier 114 and applies it to the disk controller 118, and writes the write data applied from the disk controller 118. The encoding is applied to the preamplifier 114.

디스크 콘트롤러(118)는 마이크로 콘트롤러(122)로 부터 다운 로딩되는 마이크로 프로그램에 따른 동작을 수행하는 시퀀서를 구비하며 호스트로 부터 수신되는 데이타를 리드 및 라이트 회로(116)와 전치 증폭기(114)를 통해 디스크상(110에 라이트 하거나 디스크상(110)으로 부터 데이타를 리드하여 호스트로 송신하며, 디스크의 포맷 형태(예를 들면, ID 영역이 있거나 없거나)에 무관하게 디스크를 포맷하거나 데이타를 읽고 쓰는 작업을 제어한다. 또한 디스크 콘트롤러(118)는 호스트(Host) 컴퓨터와 마이크로 콘트롤러(122)간의 통신을 인터페이스한다. 버퍼램(120)은 호스트와 마이크로 콘트롤러(122) 및 리드 및 라이트 회로(116) 사이에 전송되는 데이타를 일시 저장한다. 또한 버퍼램(120)은 호스트 컴퓨터와 하드 디스크(HDD)드라이버의 속도 차이 때문에 속도의 제약을 줄이기 위하여 이용되고 있는데 동작 수행중에 풀(Full)이 되거나 비어(Empty)있게 되면 버퍼 에러(Buffer Error)가 발생할 수도 있다.The disk controller 118 includes a sequencer that performs an operation according to a micro program downloaded from the micro controller 122 and transmits data received from the host through the read and write circuit 116 and the preamplifier 114. Write to or read data from the disk 110 and send it to the host, and format the disk or read / write data regardless of the format of the disk (for example, with or without an ID area). The disk controller 118 also interfaces the communication between the host computer and the microcontroller 122. The buffer RAM 120 is between the host and the microcontroller 122 and the read and write circuit 116. Temporarily stores the data transmitted to the buffer RAM 120. Also, the buffer RAM 120 may not be able to maintain the speed of the host computer and the hard disk (HDD) There is used in order to reduce the drug is full (Full) during the operation performed or may occur when they become empty (Empty) buffer error (Error Buffer).

마이크로 콘트롤러(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)에 인가한다.The microcontroller 118 controls the disk controller 118 in response to a format or a read and write command received from a host, and controls track search and track following. The ROM (Read Only Memory) 24 stores the execution program of the microcontroller 122 and various setting values. The servo driver 126 generates a driving current for driving the actuator 128 by a signal for controlling the position of the head 112 generated from the microcontroller 122 and applies it to the actuator 128. The actuator 128 moves the head 122 on the disk in response to the direction and level of the driving current applied from the servo driver 126. The spindle motor driver 130 rotates the disk 110 by driving the spindle motor 132 according to a control value for the rotation control of the disk 110 generated from the microcontroller 122. The disk signal controller 134 decodes servo information from the read data output from the read and write channel circuit 116 to the microcontroller 122 and applies various control signals necessary for read and write to the disk controller 118. To apply.

도 2a는 일반적인 하드 디스크 드라이브의 대략적인 포맷도이다. 도 2b는 도 2a의 서보 영역의 위치를 감지하여 디스크 콘트롤러에서 발생하는 서보 펄스 타이밍도이다. 도 2c는 도 2a의 서보 영역에서 마이크로 콘트롤러에 의해 라이트된 값에 의해 특정 시간이 경과한 후에 디스크 콘트롤러에서 발생하며, 데이타 섹터의 시작을 나타내는 데이타 섹터 펄스의 타이밍도이다. 도 2a에 도시된바와 같이 원형의 하드 디스크를 동심원으로 세분한 것을 실린더(Cylinder:CYL)라고 하는데, 실린더중에서 하나의 실린더를 나타낸 도 1의 하드 디스크 드라이브의 포맷이다. 도 2a에 도시된 포맷도에서 하나의 실린더는 N개의 서보 섹터로 구성되며, 하나의 서보 섹터는 하나의 서보 영역과 M개의 데이타 섹터로 이루어진다. 또한 도 1의 하드 디스크 드라이브에서는 데이타 섹타가 ID 영역과 데이타 영역으로 나누어진다.2A is a schematic format diagram of a general hard disk drive. FIG. 2B is a servo pulse timing diagram generated by a disk controller by detecting a position of the servo region of FIG. 2A. FIG. 2C is a timing diagram of a data sector pulse that occurs at a disk controller after a specific time has elapsed by a value written by the microcontroller in the servo region of FIG. 2A and shows the start of a data sector. As shown in FIG. 2A, a circular hard disk divided into concentric circles is called a cylinder (Cylinder: CYL), which is a format of the hard disk drive of FIG. 1 showing one cylinder among the cylinders. In the format diagram shown in FIG. 2A, one cylinder consists of N servo sectors, and one servo sector consists of one servo area and M data sectors. In the hard disk drive of FIG. 1, the data sector is divided into an ID area and a data area.

기존의 하드 디스크 드라이브에서는 기억 용량을 증대시키기 위하여 기록 밀도를 일정하게 하여 ID 정보와 데이타를 기록하며, 데이타 영역에서는 디스크상의 위치에 관계없이 동일한 크기 즉, 512 바이트의 크기를 갖는다. 즉, 서보 방식에 있어 임베디드 섹터 서보(embeded sector servo) 방식을 채용 할 경우 하나의 데이타 섹터는 디스크상의 위치에 따라 2개의 세그먼트로 스플리트(split:분할) 될 수도 있다(제2도의 스플리트 데이타 섹터). 기존에는 목표 서보 섹터 번호와 현재 서보 섹터 번호를 비교하여 각각의 섹터 번호가 동일한 경우 스킵할 데이타 섹터 갯수가 설정된 카운터에 설정된 데이타 섹터 만큼 스킵한 후 디스크의 리드 및 라이트를 수행하며, 버퍼 에러 발생시 목표 서보 섹터 번호와 스킵 카운터에 스킵 값을 재설정 해야만 한다. 그러나 마이크로 콘트롤러(122)가 목표 서보 섹터 번호를 재설정하기 위해 목표 서보 섹터를 찾은 후 서보 섹터가 입력 될 때마다 목표 서보 섹터 번호를 갱신하고 버퍼 에러 발생시 그 번호를 계속 유지하도록 하여야 하며, 또한 스킵 카운터에 스킵 값을 설정하기 위하여 서보 섹터내 데이타 섹터를 위한 카운터를 동작 시켜 버퍼 에러가 소멸할 때 그 값을 스킵 카운터에 설정하도록 하여야 하며, 또한 목표 서보 섹터내에서 실제 버퍼 에러가 소멸될 경우 디스크 리드 및 라이트를 수행하지 못한다.In a conventional hard disk drive, ID information and data are recorded at a constant recording density in order to increase the storage capacity. The data area has the same size, that is, 512 bytes regardless of the position on the disk. In other words, when the embedded sector servo method is adopted in a servo method, one data sector may be split into two segments according to the position on the disk (split data in FIG. 2). Sector). Conventionally, if the target servo sector number is compared with the current servo sector number, if each sector number is the same, the number of data sectors to be skipped is skipped by the data sector set in the set counter, and then the read and write of the disk is performed. You must reset the skip value to the servo sector number and skip counter. However, after retrieving the target servo sector to reset the target servo sector number, the microcontroller 122 should update the target servo sector number whenever the servo sector is input and keep the number in case of a buffer error. Also, the skip counter In order to set the skip value in the servo sector, the counter for the data sector in the servo sector should be operated to set the skip counter when the buffer error disappears. And does not perform a write.

따라서 종래에는 버퍼 에러와 무관하게 디스크의 리드 및 라이트를 수행하기 위한 하드웨어 및 제어가 복잡하게 되고, 이에 따라 버퍼 에러 발생시 디스크 리드 및 라이트의 처리 속도가 늦어질 수 있는 단점이 있었다.Therefore, in the related art, hardware and control for reading and writing a disk are complicated, regardless of a buffer error, and thus, the processing speed of the disk read and write may be slowed down when a buffer error occurs.

본 발명이 이루고자하는 기술적 과제는 ID 정보가 디스크상에 없는 하드 디스크 드라이브에서 버퍼 에러 발생시 디스크 콘트롤러가 버퍼 에러 소멸을 판단하여 마이크로 콘트롤러의 관여 없이 버퍼 에러 이전 까지 수행되었던 섹터의 다음 섹터부터 자동으로 디스크의 리드 및 라이트를 수행함으로서, 제어와 구조가 간단하고 리드 및 라이트의 속도가 빠른 장치를 제공하는 데 있다.Disclosure of Invention Technical Problem The present invention provides a disk controller that determines whether a buffer error has been eliminated when a buffer error occurs in a hard disk drive having no ID information on the disk, and automatically starts from the next sector of the sector that was performed before the buffer error without the involvement of a microcontroller. By performing the read and write of the present invention, it is possible to provide a device with simple control and structure and a high speed of the read and write.

본 발명이 이루고자하는 다른 기술적 과제는 ID 정보가 디스크상에 없는 하드 디스크 드라이브에서 버퍼 에러 발생시 디스크 콘트롤러가 버퍼 에러 소멸을 판단하여 마이크로 콘트롤러의 관여 없이 버퍼 에러 이전 까지 수행되었던 섹터의 다음 섹터부터 자동으로 디스크의 리드 및 라이트를 수행함으로서, 제어와 구조가 간단하고 리드 및 라이트의 속도가 빠른 방법을 제공하는 데 있다.Another technical problem to be solved by the present invention is to determine when a buffer error occurs in a hard disk drive without ID information on a disk, the disk controller determines that the buffer error is extinguished and automatically starts from the next sector of the sector that was performed before the buffer error without the involvement of a microcontroller. By performing the read and write of the disc, a method of providing a simple control and structure and a fast read and write speed is provided.

도 1은 일반적인 하드 디스크 드라이브의 구성을 보이는 블럭도이다.1 is a block diagram showing the configuration of a general hard disk drive.

도 2a는 일반적인 하드 디스크 드라이브의 대략적인 포맷도이다.2A is a schematic format diagram of a general hard disk drive.

도 2b는 도 2a의 서보 영역의 위치를 감지하여 디스크 콘트롤러에서 발생하는 서보 펄스 타이밍도이다.FIG. 2B is a servo pulse timing diagram generated by a disk controller by detecting a position of the servo region of FIG. 2A.

도 2c는 도 2a의 서보 영역에서 마이크로 콘트롤러에 의해 라이트된 값에 의해 특정 시간이 경과한 후에 디스크 콘트롤러에서 발생하며, 데이타 섹터의 시작을 나타내는 데이타 섹터 펄스의 타이밍도이다.FIG. 2C is a timing diagram of a data sector pulse that occurs at a disk controller after a specific time has elapsed by a value written by the microcontroller in the servo region of FIG. 2A and shows the start of a data sector.

도 3은 본 발명에 따른 목표 데이타 섹터를 찾는 실시예를 나타내기 위한 디스크 콘트롤러(118)내부의 일부를 보이는 블럭도이다.Fig. 3 is a block diagram showing a portion of the disk controller 118 for illustrating an embodiment of finding a target data sector according to the present invention.

도 4는 본 발명에 따른 디스크 콘트롤러(118)에서의 목표 데이타 섹터를 찾기 위한 방법을 보이는 플로우챠트이다.4 is a flowchart showing a method for finding a target data sector in the disk controller 118 according to the present invention.

상기 과제를 이루기 위하여 본 발명은 목표 데이타 섹타를 찾기 위한 하드 디스크 드라이브 제어 장치에 있어서, 현재 서보 섹터내의 소정 번째 데이타 섹터 번호를 설정하는 현재 데이타 섹터 레지스터부, 목표 데이타 섹터 번호를 설정하고, 목표 데이타 섹터 번호를 카운트하는 목표 데이타 섹터 카운터부, 입력되는 서보 섹터 펄스에서 현재 데이타 섹터 번호를 래치하여 데이타 섹터 펄스가 검출될 때마다 현재 데이타 섹터 번호를 카운트하는 현재 데이타 섹터 카운터부, 현재 디스크상의 존재 가능한 최대 데이타 섹터의 갯수를 설정하는 최대 데이타 섹터 레지스터부, 상기 현재 데이타 섹터 카운터의 현재 데이타 섹터 번호와 상기 목표 데이타 섹터 카운터부의 목표 데이타 섹터 번호를 비교하는 제2비교부, 상기 제2비교부에서 데이타 섹터 번호가 일치하지않거나 상기 버퍼 에러가 검출되면 상기 목표 데이타 섹터 카운터의 현재의 목표 데이타 섹터 번호를 유지하며, 상기 제2비교부에서 데이타 섹터 번호가 일치하고 버퍼 에러가 발생하지 않으면 디스크 리드 및 라이트를 실행하는 실행부를 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치이다.In order to achieve the above object, the present invention provides a hard disk drive control apparatus for finding a target data sector, comprising: setting a current data sector register portion for setting a predetermined data sector number in a current servo sector, a target data sector number, and setting target data; Target data sector counter unit for counting the sector number; current data sector counter unit for counting the current data sector number each time a data sector pulse is detected by latching the current data sector number in the input servo sector pulse; A maximum data sector register section for setting the maximum number of data sectors, a second comparison section for comparing a current data sector number of the current data sector counter with a target data sector number of the target data sector counter section, and data in the second comparison section. Sector number If a mismatch or the buffer error is detected, the current target data sector number of the target data sector counter is maintained, and if the data sector numbers match in the second comparison unit and a buffer error does not occur, the disk read and write operations are executed. Hard disk drive control device comprising an execution unit.

상기 다른 과제를 이루기 위하여 본 발명은 목표 데이타 섹타를 찾기 위한 하드 디스크 드라이브 제어 방법에 있어서, 목표 데이타 섹터 번호를 설정하는 제1단계, 현재 서보 섹터내의 마지막 데이타 섹터를 설정하는 제2단계, 입력되는 서보 섹터 펄스에서 현재 데이타 섹터 번호를 래치하는 제3단계, 입력되는 데이타 섹터 펄스에서 현재 데이타 섹터 펄스를 가산하는 제4단계, 현재 데이타 섹터 번호와 최대 데이타 섹터 갯수를 비교하는 제5단계, 현재 데이타 섹터 번호와 최대 데이타 섹터 갯수가 같으면 현재 데이타 섹터 번호를 재설정하는 제6단계, 버퍼 에러 발생을 검사하는 제7단계, 현재 데이타 섹터 번호와 목표 데이타 섹터 번호가 일치하는지를 판단하는 제8단계, 목표 데이타 섹터 번호와 현재 데이타 섹터 번호가 일치하고 버퍼 에러가 검출되지 않으면 디스크 리드 및 라이트를 수행하고, 목표 데이타 섹터를 소정의 값으로 가산하는 제9단계를 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 방법이다.According to another aspect of the present invention, there is provided a method for controlling a hard disk drive for finding a target data sector, comprising: a first step of setting a target data sector number, a second step of setting a last data sector in the current servo sector, and A third step of latching a current data sector number in the servo sector pulse, a fourth step of adding a current data sector pulse from the input data sector pulse, a fifth step of comparing the current data sector number with the maximum number of data sectors, and current data If the sector number and the maximum number of data sectors are the same, a sixth step of resetting the current data sector number, a seventh step of checking for a buffer error occurrence, an eighth step of determining whether the current data sector number and the target data sector number match, and the target data The sector number matches the current data sector number and a buffer error is detected. Or a ninth step of performing a disk read and write and adding a target data sector to a predetermined value.

이하에서 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3는 본 발명에 따른 목표 데이타 섹터를 찾는 실시예를 나타내기 위한 디스크 콘트롤러(118)내부의 일부를 보이는 블럭도이며, 도 3에 도시된 장치는 마이크로 콘트롤러에 의해 현재 서보 섹터의 마지막 현재 데이타 섹터 번호를 설정하는 현재 데이타 섹터 레지스터(310), 마이크로 콘트롤러에 의해 목표 데이타 섹터를 설정하고 시퀀서의 제어에 의하여 데이타 섹터 번호를 카운트하는 목표 데이터 섹터 카운터(370), 서보 섹터 펄스에 의하여 현재 데이타 섹터 레지스터(310)의 데이타 섹터 번호를 래치하고 데이타 섹터 펄스가 입력될 때 마다 가산되는 현재 데이타 섹터 카운터(330), 마이크로 컨트롤러에 의해 현재의 디스크 실린더의 최대 데이타 섹터 갯수를 설정하는 최대 데이타 섹터 레지스터(340), 최대 데이타 섹터 레지스터(340)의 최대 데이타 섹터 갯수와 현재 데이타 섹터 카운터를 비교하는 제1비교기(350), 현재 데이타 섹터 카운터(330)의 현재 데이타 섹터 번호와 목표 데이타 섹터 카운터(320)의 목표 데이타 섹터 번호를 비교하는 제2비교기(360), 디스크 콘트롤러에서 발생되는 버퍼 에러 신호와 제2비교기(360)에서 발생되는 제어 신호에 따라 디스크 리드 및 라이트를 제어하고, 버퍼 에러 신호가 입력되지 않고 제2비교기(360)에서 섹터 번호가 같으면 목표 데이타 섹터 번호를 증가시켜 목표 데이타 섹터 카운터(320)로 인가시키는 시퀀서(370)로 구성된다.FIG. 3 is a block diagram showing a portion of a disk controller 118 for illustrating an embodiment of finding a target data sector according to the present invention, wherein the apparatus shown in FIG. 3 is the last current data of the current servo sector by the microcontroller. The current data sector register 310 for setting the sector number, the target data sector counter 370 for setting the target data sector by the microcontroller and counting the data sector number under the control of the sequencer, and the current data sector by the servo sector pulse. The current data sector counter 330 which latches the data sector number of the register 310 and is added each time a data sector pulse is input, and the maximum data sector register which sets the maximum number of data sectors of the current disk cylinder by the microcontroller. 340, the maximum data sector of the maximum data sector register 340 The first comparator 350 comparing the number and the current data sector counter, and the second comparator 360 comparing the current data sector number of the current data sector counter 330 with the target data sector number of the target data sector counter 320. When the disc read and write is controlled according to the buffer error signal generated by the disk controller and the control signal generated by the second comparator 360, and the buffer error signal is not input and the sector numbers are the same in the second comparator 360, It consists of a sequencer 370 that increments the data sector number and applies it to the target data sector counter 320.

도 4는 본 발명에 따른 디스크 콘트롤러(118)에서의 목표 데이타 섹터를 찾기 위한 방법을 보이는 플로우챠트이며, 최대 데이타 섹터 번호, 현재 데이타 섹터 번호 및 목표 데이타 섹터 번호 설정 과정(412), 서보 섹터 펄스에서 현재 데이타 섹터 번호 래치 과정(414), 데이타 섹터 펄스 검출 과정(416), 현재 데이타 섹터 번호 가산 과정(418), 최대 데이타 섹터 번호와 현재 데이타 섹터 번호의 비교 과정(420), 현재 데이타 섹터 번호 초기화 과정(422), 버퍼 에러 검출과정(424), 현재 데이타 섹터 번호와 목표 데이타 섹터 번호의 비교 과정(426), 디스크 리드 및 라이트 과정(428), 목표 데이타 섹터 번호 가산 과정(430), 전송 완료 판단 과정(432)으로 이루어진다.4 is a flowchart showing a method for finding a target data sector in the disk controller 118 according to the present invention. The process of setting the maximum data sector number, the current data sector number and the target data sector number 412, and the servo sector pulses are shown in FIG. Current data sector number latch process 414, data sector pulse detection process 416, current data sector number addition process 418, maximum data sector number comparison process with current data sector number 420, current data sector number Initialization process 422, buffer error detection process 424, comparison process of the current data sector number with the target data sector number 426, disk read and write process 428, target data sector number addition process 430, transmission Completion determination process 432 is made.

도 3의 장치를 도 4의 플로우챠트와 결부시켜 본 발명의 작용 및 효과를 설명하면 다음과 같다.The operation and effects of the present invention will be described below in conjunction with the apparatus of FIG. 3 with the flowchart of FIG. 4.

도 3에 도시된 바와 같이 마이크로 콘트롤러(122)는 현재 데이타 섹터 레지스터(310)에 현재 서보 섹터의 마지막 현재 데이타 섹터 번호를 설정하며, 목표 데이타 섹터 카운터(320)에 목표 데이타 섹터를 설정하며, 최대 데이타 섹터 레지스터(340)에 디스크상의 현 실린더에 존재하는 최대 데이타 갯수를 설정한다(412과정). 여기에서 레지스터(310,340)는 저장부의 한 실시예이다. 현재 데이타 섹터 카운터(330)는 원하는 서보 섹터 펄스를 검출하고 난후, 검출된 서보 섹터 펄스내에서 현재 데이타 섹터 레지스터(310)에 설정된 현재 데이타 섹터 번호를 래치하고(414과정), 데이타 섹터 펄스를 검출하여(416) 현재 데이타 섹터 번호에 1을 가산한다. 이때 제1비교부(350)는 현재 데이타 섹터 카운터(330)의 현재 데이타 섹터 번호와 최대 데이타 섹터 레지스터(340)의 최대 데이타 섹터 번호를 비교하여(420과정) 각각의 섹터 번호가 같으면 현재 데이타 섹터 카운터(330)를 초기화하고 데이타 섹터 번호를 0로 재설정한다(422과정). 이것은 데이타 섹터 펄스가 입력될 때마다 현재 데이타 섹터 카운터(330)를 계속 증가 시킬 경우 카운터 값이 계속 증가하게 되고, 결국 현 실린더상에 존재할 수없는 데이터 값을 가지게 되므로 목표 데이타 섹터를 찾지 못할 수 도 있기 때문이다. 다음은 디스크 콘트롤러(118) 내부의 버퍼 매니져(도시 안됨)는 버퍼 램(124)의 버퍼 에러 신호를 감지하여(424과정) 시퀀서(370)에 인가한다. 시퀀서(370)는 버퍼 에러가 감지될시 데이타 섹터 펄스가 인가되었다 하더라도 동작을 하지 않으며, 그에 따라서 목표 데이타 섹터 카운터(320)는 카운터 동작을 중단하고 현재의 목표 데이타 섹터 값을 유지(Hold) 한다. 한편 버퍼 에러가 존재하지 않으면, 제2비교기(360)는 현재 데이타 섹터 카운터(330)의 현재 데이타 섹터 번호와 목표 데이타 섹터 카운터(320)의 목표 데이타 섹터 번호를 비교한다(426과정). 여기서 제2비교기(360)의 각각의 섹터 번호가 일치하지 않으면 416과정으로 복귀하여 계속해서 현재 데이타 섹터 번호 가산 과정(418)을 반복 수행하여 현재 데이타 섹터 번호가 목표 데이타 섹터 번호와 일치될 때 까지 수행한다.As shown in FIG. 3, the microcontroller 122 sets the last current data sector number of the current servo sector in the current data sector register 310, sets a target data sector in the target data sector counter 320, and maximum. The maximum number of data existing in the current cylinder on the disk is set in the data sector register 340 (step 412). Here, the registers 310 and 340 are an embodiment of the storage unit. After detecting the desired servo sector pulse, the current data sector counter 330 latches the current data sector number set in the current data sector register 310 in the detected servo sector pulse (step 414), and detects the data sector pulse. (416) adds 1 to the current data sector number. In this case, the first comparison unit 350 compares the current data sector number of the current data sector counter 330 with the maximum data sector number of the maximum data sector register 340 (step 420). The counter 330 is initialized and the data sector number is reset to zero (step 422). This is because if the current data sector counter 330 continues to increase each time a data sector pulse is input, the counter value continues to increase, and thus the target data sector may not be found because it has a data value that cannot exist on the current cylinder. Because there is. Next, a buffer manager (not shown) inside the disk controller 118 detects a buffer error signal of the buffer RAM 124 and applies it to the sequencer 370 (step 424). The sequencer 370 does not operate even if a data sector pulse is applied when a buffer error is detected, and thus the target data sector counter 320 stops the counter operation and holds the current target data sector value. . On the other hand, if there is no buffer error, the second comparator 360 compares the current data sector number of the current data sector counter 330 with the target data sector number of the target data sector counter 320 (step 426). If the sector numbers of the second comparator 360 do not match, the process returns to step 416 and repeats the process of adding the current data sector number 418 until the current data sector number matches the target data sector number. Perform.

따라서 제2비교기(360)의 각각의 섹터 번호가 일치하면 시퀀스(370)는 디스크 리드 및 라이트 신호를 도 1의 리드 및 라이트 회로(116)에 인가하여 디스크 리드 및 라이트 동작을 수행하고(428과정), 목표 데이타 섹터 카운터(320)의 목표 데이타 섹터 번호를 1가산하여(430과정) 한 데이타 섹터의 전송을 완료한다. 상기 과정은 매 서보 섹터마다 반복 수행되며, 시퀀서(370)에 설정된 전송할 데이타 섹터수 만큼 전송을 완료하였으면 시퀀서는 종료하게 된다(432과정). 초기부터 버퍼 에러인 상태로 디스크 리드 및 라이트를 시작 하거나 디스크 리드 및 라이트 도중에 버퍼 에러가 발생한 경우 디스크 콘트롤러는 제2비교기(360)에서의 비교 과정을 거치지 않고, 버퍼 에러가 소멸될 때까지 목표 데이타 섹터 카운터(320)의 목표 데이타 섹터 번호를 유지하고 현재 데이타 섹터 카운터(330)의 현재 데이타 섹터 번호에다 1씩을 가산하는 과정만을 수행한다.Therefore, if the sector numbers of the second comparator 360 match, the sequence 370 applies the disc read and write signals to the read and write circuit 116 of FIG. 1 to perform the disc read and write operation (step 428). Then, the target data sector number of the target data sector counter 320 is added by one (step 430) to complete the transmission of one data sector. The process is repeated for each servo sector, and if the transfer is completed by the number of data sectors set in the sequencer 370, the sequencer ends (step 432). If the disk read and write starts with the buffer error from the beginning or if a buffer error occurs during the disk read and write, the disk controller does not go through the comparison process in the second comparator 360 and the target data until the buffer error disappears. Only the process of maintaining the target data sector number of the sector counter 320 and adding one by one to the current data sector number of the current data sector counter 330 is performed.

상술한 바와 같이 본 발명에 의하면, ID 영역에서 위치 정보를 위한 오버 헤드로서 실제로 정보를 저장하는데 사용 될 수없는 ID 영역의 ID 정보를 삭제함으로서, 그 만큼의 저장 용량이 증가하며, 특히 ID 영역과 데이타 영역 사이에서 헤드의 특성인 라이트-리드 복구 시간(약 8μsec)의 오버 헤드도 제거할 수있으므로 약 6%정도의 디스크 용량이 증가하게 되는 잇점이 있으며, 또한 버퍼 에러 발생시 마이크로 콘트롤러에 디스크 리드 및 라이트 처리를 위한 부담을 주지 않으며, 디스크 리드 및 라이트를 실제적으로 제어하는 시퀀서가 데이타 섹터 단위로 제어됨에 따라 버퍼 에러가 발생하였다 하더라도 신속하게 디스크를 읽고 쓸수 있는 잇점이 있다.As described above, according to the present invention, by deleting the ID information of the ID area that cannot be used to actually store the information as an overhead for the position information in the ID area, the storage capacity of that much increases, in particular, The overhead of the write-lead recovery time (approximately 8 μsec), which is the characteristic of the head, can be eliminated between the data areas, which increases the disk capacity by about 6%. Since there is no burden for write processing and the sequencer that actually controls the disc read and write is controlled in data sector units, even if a buffer error occurs, the disc can be read and written quickly.

Claims (9)

목표 데이타 섹타를 찾기 위한 하드 디스크 드라이브 제어 장치에 있어서,A hard disk drive control device for finding a target data sector, 서보 섹터내의 소정번째 데이타 섹터에 번호를 설정하는 제1저장부;A first storage section for setting a number to a predetermined data sector in the servo sector; 목표 데이타 섹터 번호를 설정하고, 목표 데이타 섹터 번호를 카운트하는 제1카운터부;A first counter unit for setting a target data sector number and counting the target data sector number; 서보 섹터 펄스로 현재 데이타 섹터 번호를 래치하여 데이타 섹터 펄스가 검출될 때마다 현재 데이타 섹터 번호를 카운트하는 제2카운터부;A second counter unit for latching the current data sector number with a servo sector pulse to count the current data sector number each time a data sector pulse is detected; 상기 현재 데이타 섹터 카운터의 현재 데이타 섹터 번호와 상기 목표 데이타 섹터 카운터부의 목표 데이타 섹터 번호를 비교하는 제1비교부;A first comparing unit which compares a current data sector number of the current data sector counter with a target data sector number of the target data sector counter unit; 상기 제1비교부에서 데이타 섹터 번호가 일치하지않거나 버퍼 에러가 검출되면 상기 목표 데이타 섹터 카운터의 현재의 목표 데이타 섹터 번호를 유지하며, 상기 제1비교부에서 데이타 섹터 번호가 일치하고 버퍼 에러가 발생하지 않으면 디스크 리드 및 라이트를 실행하는 시퀀서부를 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.If the data sector numbers of the first comparison unit do not match or a buffer error is detected, the current target data sector number of the target data sector counter is maintained, and the data sector numbers of the first comparison unit match and a buffer error occurs. And a sequencer section for executing disk read and write. 제1항에 있어서, 현재 실린더상에 존재하는 최대 데이타 섹터의 갯수를 설정하는 제2저장부, 및2. The second storage apparatus of claim 1, further comprising: a second storage unit for setting the maximum number of data sectors currently present on a cylinder, and 상기 현재 데이타 섹터 카운터의 섹터 번호와 상기 제3저장부의 최대 데이타 섹터 번호를 비교하는 제2비교부를 더 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.And a second comparing unit comparing the sector number of the current data sector counter with the maximum data sector number of the third storage unit. 제2항에 있어서, 상기 제2카운터부는 상기 제2비교부에서 현재 데이타 섹터 번호와 최대 데이타 섹터 갯수가 같으면 초기화 되는 것임을 특징으로 하는 하드 디스크 드라이브 제어 장치.The hard disk drive control apparatus of claim 2, wherein the second counter unit is initialized when the current data sector number and the maximum number of data sectors are the same in the second comparison unit. 제2항에 있어서, 상기 제2카운터부는 상기 제2비교부에서 현재 데이타 섹터 번호와 최대 데이타 섹터 갯수가 같으면 현재 데이타 섹터 번호를 소정의 값으로 재설정되는 것임을 특징으로 하는 하드 디스크 드라이브 제어 장치.The hard disk drive control apparatus according to claim 2, wherein the second counter unit resets the current data sector number to a predetermined value if the number of current data sector numbers and the maximum number of data sectors are the same in the second comparison unit. 제1항에 있어서, 상기 제1저장부의 데이타 섹터 번호는 현재 서보 섹터내의 마지막 데이타 섹터 번호인 것을 특징으로 하는 하드 디스크 드라이브 제어 장치.2. The apparatus of claim 1, wherein the data sector number of the first storage unit is a last data sector number in the current servo sector. 목표 데이타 섹타를 찾기 위한 하드 디스크 드라이브 제어 방법에 있어서,In the hard disk drive control method for finding a target data sector, 목표 데이타 섹터 번호를 설정하는 제1단계;A first step of setting a target data sector number; 서보 섹터내의 소정 번째 데이타 섹터 번호를 설정하는 제2단계;Setting a predetermined data sector number in the servo sector; 입력되는 서보 섹터 펄스에서 데이타 섹터 번호를 래치하는 제3단계;Latching a data sector number in an input servo sector pulse; 데이타 섹터 펄스가 입력될 때마다 제3단계에서 래치된 데이타 섹터 번호를 연산하는 제4단계;A fourth step of calculating the data sector number latched in the third step each time a data sector pulse is input; 상기 제4단계에서 데이타 섹터 번호와 상기 제1단계의 목표 데이타 섹터 번호가 일치하는지를 판단하는 제5단계;A fifth step of determining whether the data sector number and the target data sector number of the first step coincide in the fourth step; 제5단계에서의 목표 데이타 섹터 번호와 현재 데이타 섹터 번호가 일치하고 버퍼 에러가 검출되지 않으면 디스크 리드 및 라이트를 수행하고, 목표 데이타 섹터 번호를 소정의 값으로 연산하는 제6단계를 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 방법.And a sixth step of performing a disk read and write if the target data sector number and the current data sector number in the fifth step match and a buffer error is not detected, and calculating the target data sector number to a predetermined value. How to control your hard disk drive. 제6항에 잇어서, 상기 제4단계에서 가산된 데이타 섹터 번호와 디스크상의 최대 데이타 섹터 번호를 비교하는 비교단계, 및A comparison step of comparing the data sector number added in the fourth step with the maximum data sector number on the disk; 상기 비교단계에의 데이타 섹터 번호와 디스크상의 최대 데이타 섹터 번호가 일치하면 현재 데이타 섹터 번호를 소정의 번호로 재설정하는 현재 데이타 섹터 번호 재설정 단계를 더 포함하는 것을 특징으로 하는 하드 디스크 드라이브 제어 방법.And resetting the current data sector number to a predetermined number if the data sector number in the comparing step and the maximum data sector number on the disk coincide with each other. 제6항에 있어서, 상기 제4단계는 데이타 섹터 펄스가 검출될 때마다 데이타 섹터 번호가 가산되는 것을 특징으로 하는 하드 디스크 드라이브 제어 방법.7. The hard disk drive control method according to claim 6, wherein said fourth step adds a data sector number each time a data sector pulse is detected. 제6항에 있어서, 상기 제6단계는 목표 데이타 섹터 번호를 소정의 값으로 가산하는 것임을 특징으로 하는 하드 디스크 드라이브 제어 방법.7. The method of claim 6, wherein the sixth step is to add a target data sector number to a predetermined value.
KR1019960029310A 1996-07-19 1996-07-19 Hard disk drive control device and method KR100189927B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960029310A KR100189927B1 (en) 1996-07-19 1996-07-19 Hard disk drive control device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960029310A KR100189927B1 (en) 1996-07-19 1996-07-19 Hard disk drive control device and method

Publications (2)

Publication Number Publication Date
KR980011020A KR980011020A (en) 1998-04-30
KR100189927B1 true KR100189927B1 (en) 1999-06-01

Family

ID=19466850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960029310A KR100189927B1 (en) 1996-07-19 1996-07-19 Hard disk drive control device and method

Country Status (1)

Country Link
KR (1) KR100189927B1 (en)

Also Published As

Publication number Publication date
KR980011020A (en) 1998-04-30

Similar Documents

Publication Publication Date Title
US5603002A (en) Hard disk drive having buffer memory employing directory based cache controller with data replacement scheme
US6876511B2 (en) Disk drive and method of detecting servo address mark in the same
US4525801A (en) Disk storage controller
US20050182897A1 (en) Method for partitioning hard disc drive and hard disc drive adapted thereto
KR100532501B1 (en) Method for performing automatically data update in data storage system and disc drive using the same
US6523142B1 (en) Apparatus and method of performing in a disk drive commands issued from a host system
JPH1091361A (en) Initialization calibration routine execution method for hard disk drive
KR100274742B1 (en) Initiating method for copying hard-disk drive and copying apparatus thereof
KR100189927B1 (en) Hard disk drive control device and method
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
EP0459726A2 (en) Magnetic disk apparatus
US7649705B2 (en) Data read retry with read timing adjustment for eccentrity of disc in data storage device
US7466505B2 (en) Dummy write method for improving performance of data storage system and apparatus therefor
KR0176615B1 (en) Hard disk drive control device and method thereof
KR0176611B1 (en) Hard disk drive control and method
JP2006172533A (en) Method and device for writing servo information
KR100383638B1 (en) Method for recording virus backup program on magnetic disk in magnetic disk recording device for preventing computer virus
JPH10162503A (en) Data recording and reproducing apparatus having rewritable non-volatile memory, and method for changing setting data in rewritable non-volatile memory
KR100419394B1 (en) Method for recording error management program for analyzing and repairing malfunction of magnetic disk recording device
JP4440834B2 (en) Magnetic disk device and magnetic disk medium
JPS6149229A (en) Information processor
JP2003345526A (en) Storage device
JPH05274801A (en) Data write control device of data recording and reproducing device
JPH11238319A (en) Format efficiency improvement method of magnetic disk device

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: 20071221

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee