KR100217750B1 - Prevention method for data transmission error - Google Patents

Prevention method for data transmission error Download PDF

Info

Publication number
KR100217750B1
KR100217750B1 KR1019960037161A KR19960037161A KR100217750B1 KR 100217750 B1 KR100217750 B1 KR 100217750B1 KR 1019960037161 A KR1019960037161 A KR 1019960037161A KR 19960037161 A KR19960037161 A KR 19960037161A KR 100217750 B1 KR100217750 B1 KR 100217750B1
Authority
KR
South Korea
Prior art keywords
data
disk
sector
read
host computer
Prior art date
Application number
KR1019960037161A
Other languages
Korean (ko)
Other versions
KR19980017384A (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 KR1019960037161A priority Critical patent/KR100217750B1/en
Publication of KR19980017384A publication Critical patent/KR19980017384A/en
Application granted granted Critical
Publication of KR100217750B1 publication Critical patent/KR100217750B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs

Landscapes

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

Abstract

가. 청구범위에 기재된 발명이 속한 기술분야:하드 디스크 드라이브의 데이타 전송오류 방지방법에 관한 것이다.end. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer error prevention method for a hard disk drive.

나. 발명이 해결하려고 하는 기술적과제:하드 디스크 드라이브의 데이타 리드/라이트 동작시 디스크와 호스트컴퓨터 사이의 데이타 전송오류를 방지할 수 있는 방법을 제공함에 있다.I. SUMMARY OF THE INVENTION The present invention provides a method for preventing a data transmission error between a disk and a host computer during a data read / write operation of a hard disk drive.

다. 발명의 해결방법의 요지:하드 디스크 드라이브의 데이타 전송오류 방지방법에 있어서, 호스트컴퓨터로부터 전송되는 데이타에 어드레스를 부여하는 과정과, 전송된 데이타와 부여된 어드레스를 디스크상에 함께 기록하는 과정과, 리드데이타 전송시 각 섹터에 부여된 어드레스와 전송하고자 하는 목표섹터의 어드레스가 동일할 경우에만 리드데이타를 전송하는 과정으로 이루어짐을 특징으로 한다.All. According to an aspect of the present invention, there is provided a method for preventing data transmission errors in a hard disk drive, the method comprising: providing an address to data transmitted from a host computer; And transmitting the read data only when an address assigned to each sector and an address of a target sector to be transmitted are the same when the read data is transmitted.

라. 발명의 중요한 용도:디스크와 호스트컴퓨터사이의 데이타 전송에 사용될 수 있다.la. An important application of the invention is that it can be used to transfer data between a disk and a host computer.

Description

데이타 전송오류 방지방법How to prevent data transmission errors

본 발명은 하드 디스크 드라이브의 데이타 전송에 관한 것으로, 특히 디스크와 호스트컴퓨터 사이의 데이타 전송오류를 방지할 수 있는 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to data transfer of a hard disk drive, and more particularly, to a method of preventing a data transmission error between a disk and a host computer.

하드 디스크 드라이브(Hard Disk Drive)는 호스트컴퓨터로부터 전송된 데이타를 기록매체인 디스크상에 자기형태로 저장하고 데이타 리드명령 수신시 그에 대응하는 데이타를 리드하여 호스트컴퓨터로 전송하는 컴퓨터시스템의 보조기억장치로서 널리 사용되고 있다. 하드 디스크 드라이브의 주된 기능은 상술한 바와 같이 크게 데이타 데이타 리드/라이트 동작으로 대별할 수 있으며, 데이타 리드동작은 사용자에게 디스크상에 라이팅되어 있는 데이타를 일정 시간 경과후에 재생출력하여 준다는 측면에서 중요한 의의가 있다고 하겠다. 이하 하드 디스크 드라이브의 구성을 보인 도1을 참조하여 데이타 리드/라이트 동작시 각 구성요소들의 동작을 살펴보기로 한다.[0002] A hard disk drive (HDD) stores data transferred from a host computer in a magnetic form on a disk as a recording medium, reads data corresponding thereto upon receipt of a data read command and transfers the read data to a host computer, . The main function of the hard disk drive can be broadly divided into data data read / write operations as described above. The data read operation is important in terms of reproducing data that is written on the disk after a certain period of time. I would say. Hereinafter, the operation of each component in the data read / write operation will be described with reference to FIG. 1 showing the configuration of the hard disk drive.

도1은 일반적인 하드 디스크 드라이브의 블럭구성도를 도시한 것으로서 두장의 디스크(10)와 그에 대응하는 4개의 헤드(12)를 구비한 하드 디스크 드라이브의 예를 보인 것이다. 도1을 참조하면, 디스크(10)들은 통상 스택(stack)형태로서 스핀들모터(34) 구동축에 장착되어 회전하며 각 디스크면은 하나의 헤드(12)에 대응되어 진다. 한편 상기 각 디스크(10)상에 동심원상으로 배열되어 있는 소정 트랙의 포맷을 살펴보면 도2a와 같다. 도2a는 디스크(10)상에 동심원상으로 배열되어 있는 소정 트랙에 대한 섹터포맷도를 도시한 것으로 각 트랙은 서보정보가 기록되어 있는 서보섹터와 호스트컴퓨터로부터 전송된 데이타가 기록되는 데이타섹터로 구성된다. 만약 하드 디스크 드라이브의 섹터포맷이 헤더리스(Hearderless)방식인 경우 상기 데이타섹터는 도2a에 도시된 바와 같이 실제 사용자 데이타가 기록되는 데이타영역과 오류정정을 위한 ECC(Error Correction Code)영역으로 구분할 수 있다. 한편 헤드(12)는 디스크(10)의 표면상에 위치하며 환상 보이스 코일 모터(Rotary Voice Coil Motor;VCM)(28)의 암 어셈블리(Arm Assembly)의 수직으로 신장된 암(14)에 설치된다. 전치증폭기(16)는 데이타 리드시 헤드들(12)중 하나의 헤드에 의해 픽업된 신호를 전치증폭하여 아나로그 리드신호를 리드/라이트 채널회로(read/write channel circuit)(18)에 인가하며 데이타 라이트시에는 리드/라이트 채널회로(18)로부터 인가되는 부호화된 기록데이타(Encoded Write Data)를 스위칭 선택된 헤드(12)를 통해 디스크(10)상에 라이트되도록 한다. 이때 전치증폭기(16)는 디스크 데이타 콘트롤러(Disk Data Controller:DDC)(38)의 제어에 의해 헤드들(4)중 하나를 스위칭 선택한다. 리드/라이트 채널회로(18)는 전치증폭기(16)로부터 인가되는 리드신호로를 디코딩하여 리드데이타 RDATA를 발생하며 디스크 데이타 콘트롤러(36)로부터 인가되는 라이트데이타 WDATA를 인코딩하여 전치증폭기(16)에 인가한다. 리드/라이트 채널회로(18)는 또한 디스크(10)상에 라이트되어 있는 서보정보의 일부인 헤드위치정보를 복조(Demodulation)하여 PES(Position Error Signal)를 발생한다. 리드/라이트 채널회로(18)로부터 발생된 PES는 A/D 컨버터(20)에 인가되고, A/D컨버터(20)는 인가되는 PES를 그의 레벨에 대응하는 디지탈 단계값으로 변환하여 마이크로 콘트롤러(22)에 제공한다. 디스크 데이타 콘트롤러(36)는 호스트컴퓨터로부터 수신되는 데이타를 리드/라이트 채널회로(18)와 전치증폭기(16)를 통해 디스크(10)상에 라이트하거나 디스크(10)로부터 리드된 데이타를 호스트컴퓨터로 송신한다. 또한 디스크 데이타 콘트롤러(36)는 호스트컴퓨터와 마이크로 콘트롤러(22)간의 통신을 인터페이싱한다.FIG. 1 is a block diagram of a conventional hard disk drive. FIG. 1 shows an example of a hard disk drive having two disks 10 and four heads 12 corresponding thereto. Referring to FIG. 1, the disks 10 are mounted on a drive shaft of a spindle motor 34 in the form of a stack and rotate, and each disk surface corresponds to one head 12. The format of a predetermined track arranged concentrically on each disk 10 is as shown in FIG. 2A. 2A shows a sector format diagram of a predetermined track arranged concentrically on the disk 10. Each track is composed of a servo sector in which servo information is recorded and a data sector in which data transmitted from the host computer is recorded . If the sector format of the hard disk drive is a Hearderless scheme, the data sector can be divided into a data area for recording actual user data and an error correction code (ECC) area for error correction as shown in FIG. 2A have. While the head 12 is mounted on a vertically elongated arm 14 of an arm assembly of a rotary voice coil motor (VCM) 28 located on the surface of the disk 10 . The preamplifier 16 pre-amplifies the signal picked up by one of the heads 12 during data read and applies the analog read signal to the read / write channel circuit 18 When the data is written, the encoded write data (Encoded Write Data) applied from the read / write channel circuit 18 is written on the disk 10 through the switching selected head 12. At this time, the preamplifier 16 switches and selects one of the heads 4 under the control of a disk data controller (DDC) The read / write channel circuit 18 decodes the read signal applied from the preamplifier 16 to generate lead data RDATA, encodes the write data WDATA applied from the disk data controller 36, and outputs the read data RDATA to the preamplifier 16 . The read / write channel circuit 18 also demodulates head position information, which is a part of the servo information written on the disk 10, to generate a position error signal (PES). The PES generated from the read / write channel circuit 18 is applied to the A / D converter 20 and the A / D converter 20 converts the applied PES to a digital step value corresponding to its level, 22). The disk data controller 36 writes the data received from the host computer on the disk 10 via the read / write channel circuit 18 and the preamplifier 16 or writes the data read from the disk 10 to the host computer . The disk data controller 36 also interfaces communication between the host computer and the microcontroller 22.

한편 마이크로 콘트롤러(22)는 호스트컴퓨터로부터 수신되는 데이타 리드/라이트 명령에 응답하여 디스크 데이타 콘트롤러(36)를 제어하며 트랙탐색 및 트랙추종을 제어한다. 이때 마이크로 콘트롤러(22)는 A/D컨버터(20)로부터 입력되는 PES값을 이용하여 트랙추종을 제어하며 게이트어레이(Gate Array:도시하지 않았음)로부터 출력되는 각종 서보제어관련 신호에 대응하여 서보제어를 수행한다. D/A컨버터(24)는 마이크로 콘트롤러(22)로부터 발생되는 헤드들(12)의 위치제어를 위한 제어값을 아나로그신호로 변환하여 출력한다. VCM구동부(26)는 D/A컨버터(24)로부터 인가되는 신호에 의해 액츄에이터를 구동하기 위한 전류 I(t)를 발생하여 VCM(28)에 인가한다. 일측에 헤드들(12)이 부착된 액츄에이터의 타측에 위치하는 VCM(28)은 VCM구동부(26)로부터 입력되는 전류의 방향 및 그 레벨에 대응하여 헤드들(12)을 디스크(10)상에서 수평이동시킨다. 모터제어부(30)는 마이크로 콘트롤러(22)로부터 발생되는 디스크들(10)의 회전제어를 위한 제어값에 따라 스핀들모터 구동부(32)를 제어한다. 스핀들모터 구동부(32)는 모터제어부(30)의 제어에 따라 스핀들모터(34)를 구동하여 디스크들(10)을 회전시킨다. 디스크 데이타 콘트롤러(36)에 연결되어 있는 버퍼 메모리(38)는 상기 디스크 데이타 콘트롤러(36)의 제어하에 디스크(10)와 호스트컴퓨터사이에 전송되는 데이타를 일시 저장한다.On the other hand, the microcontroller 22 controls the disk data controller 36 in response to a data read / write command received from the host computer, and controls track search and track following. At this time, the microcontroller 22 controls the track following by using the PES value inputted from the A / D converter 20, and in response to various servo control related signals outputted from a gate array (not shown) Control is performed. The D / A converter 24 converts the control value for controlling the position of the heads 12 generated from the microcontroller 22 into an analog signal and outputs the analog signal. The VCM driving unit 26 generates a current I (t) for driving the actuator by a signal applied from the D / A converter 24 and applies the current I (t) to the VCM 28. The VCM 28 positioned on the other side of the actuator having the heads 12 on one side is configured to move the heads 12 horizontally on the disk 10 corresponding to the direction and the level of the current input from the VCM driver 26 . The motor control unit 30 controls the spindle motor driving unit 32 according to a control value for controlling the rotation of the disks 10 generated from the microcontroller 22. [ The spindle motor driving unit 32 drives the spindle motor 34 in accordance with the control of the motor control unit 30 to rotate the disks 10. The buffer memory 38 connected to the disk data controller 36 temporarily stores data transmitted between the disk 10 and the host computer under the control of the disk data controller 36.

이하 상술한 구성을 갖는 종래 하드 디스크 드라이브에 있어서 소정 데이타를 리드 혹은 라이트하는 경우의 데이타 전송과정을 설명하면 다음과 같다. 우선 데이타 리드시 소정 데이타섹터(이하 섹터라함)로부터 리드된 데이타는 디스크 데이타 콘트롤러(36)를 통해 버퍼 메모리(38)로 전송된다. 만약 리드하고자 하는 섹터영역에 에러가 존재한다면 동일 섹터내의 ECC영역에 기록되어 있는 정보를 이용하여 리드데이타의 에러를 정정한후 이를 버퍼 메모리(38)로 전송한다. 한편 데이타 라이트시에는 호스트컴퓨터로부터 전송된 데이타를 버퍼 메모리(38)에 일시 저장한후 전송된 데이타에 ECC를 첨부하여 디스크(10)로 전송한다. 통상 버퍼 메모리(38)상에 데이타를 리드/라이트하기 위한 어드레스의 지정은 디스크 데이타 콘트롤러(36)에 구비되어 있는 DAP(Disk Address Pointer)레지스터의 값에 의해 결정된다. 상기 DAP레지스터는 데이타 리드/라이트 동작을 수행하기 직전에 마이크로 콘트롤러(22)의 제어에 의해 초기 설정된후 한 섹터분의 데이타가 전송될때마다 1씩 증가한다. 한편 버퍼 메모리(38)상에 저장되어 있는 데이타를 호스트컴퓨터로 전송하는 경우 전송되어야 할 데이타가 저장되어 있는 어드레스의 지정은 디스크 데이타 콘트롤러(36)에 구비되어 있는 HAP(Host Address Pointer)레지스터의 값에 의해 결정된다. 상기 HAP레지스터 역시 호스트컴퓨터로 데이타를 전송하기 직전에 마이크로 콘트롤러(22)의 제어에 의해 초기 설정된후 한 섹터분의 데이타가 전송될때마다 1씩 증가한다. 그러나 종래 하드 디스크 드라이브에 있어서는 버퍼 메모리(38)로부터 호스트컴퓨터로 데이타가 전송되는 경우 혹은 버퍼 메모리(38)로부터 디스크(10)로 데이타가 전송되는 경우에 소망하는 데이타가 정상적으로 전송되는가를 확인할 수 없는 문제점이 있었다. 즉 종래 하드 디스크 드라이브에 있어서는 디스크 데이타 콘트롤러(36)의 오류로 인해 버퍼 메모리(38)상의 어드레스가 잘못 지정되는 경우 데이타 전송오류를 발생시킬 수 있는 문제점이 있었다.Hereinafter, a data transfer process when reading or writing predetermined data in a conventional hard disk drive having the above-described configuration will be described. First, data read from a predetermined data sector (hereinafter referred to as a sector) is transferred to the buffer memory 38 through the disk data controller 36. If there is an error in the sector area to be read, the error in the read data is corrected using the information recorded in the ECC area in the same sector, and the error is transmitted to the buffer memory 38. On the other hand, at the time of the data write, the data transmitted from the host computer is temporarily stored in the buffer memory 38, and the data is transmitted to the disk 10 by attaching ECC to the transmitted data. The designation of an address for reading / writing data on the normal buffer memory 38 is determined by the value of a DAP (Disk Address Pointer) register provided in the disk data controller 36. The DAP register is incremented by 1 each time data of one sector is transferred after being initially set by the control of the microcontroller 22 immediately before performing a data read / write operation. When the data stored in the buffer memory 38 is transferred to the host computer, the designation of the address where data to be transferred is stored is determined by the value of a HAP (Host Address Pointer) register provided in the disk data controller 36 . The HAP register is also initialized by the control of the microcontroller 22 immediately before transferring data to the host computer, and is incremented by 1 each time data for one sector is transferred. However, in the conventional hard disk drive, when data is transferred from the buffer memory 38 to the host computer or when data is transferred from the buffer memory 38 to the disk 10, it can not be confirmed whether the desired data is normally transferred There was a problem. That is, in the conventional hard disk drive, if an address on the buffer memory 38 is erroneously designated due to an error of the disk data controller 36, a data transmission error may occur.

따라서 본 발명의 목적은 하드 디스크 드라이브의 데이타 리드/라이트 동작시 디스크와 호스트컴퓨터 사이의 데이타 전송오류를 방지할 수 있는 방법을 제공함에 있다.Accordingly, it is an object of the present invention to provide a method for preventing a data transmission error between a disk and a host computer during a data read / write operation of a hard disk drive.

도1은 일반적인 하드 디스크 드라이브의 블록구성도.1 is a block diagram of a general hard disk drive;

도2a 내지 2c는 일반적인 디스크상의 섹터포맷도 및 본 발명의 일실시예에 따른 섹터포맷도.FIGS. 2A through 2C are a sector format diagram on a general disk and a sector format diagram according to an embodiment of the present invention. FIG.

도3은 본 발명의 일실시예에 따른 데이타 LBA(Logic Block Address) 설정과정을 설명하기 위한 디스크 데이타 콘트롤러(36)의 처리흐름도.3 is a flowchart of a process of a disk data controller 36 for explaining a process of setting a data LBA (Logic Block Address) according to an embodiment of the present invention.

도4는 본 발명의 일실시예에 따른 데이타 라이트과정을 설명하기 위한 디스크 데이타 콘트롤러(36)의 처리흐름도.FIG. 4 is a flowchart of a process of a disk data controller 36 for explaining a data write process according to an embodiment of the present invention.

도5는 본 발명의 일실시예에 따른 데이타 리드과정을 설명하기 위한 디스크 데이타 콘트롤러(36)의 처리흐름도.FIG. 5 is a flowchart of a process of a disk data controller 36 for explaining a data read process according to an embodiment of the present invention.

도6은 본 발명의 일실시예에 따른 리드데이타 전송오류 방지과정을 설명하기 위한 디스크 데이타 콘트롤러(36)의 처리흐름도.FIG. 6 is a flowchart of a process of a disk data controller 36 for explaining a read data transmission error prevention process according to an embodiment of the present invention.

이하 첨부한 도면을 참조하여 본 발명의 일실시예에 따른 동작을 상세히 설명하기로 한다. 하기 설명 및 첨부도면에 기재된 데이타섹터의 수, 섹터포맷도 및 구체적인 처리흐름등과 같은 많은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진자에게 자명하다 할 것이다. 그리고 하기 설명에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략하기로 한다.Hereinafter, an operation according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. Many specific details are set forth in order to provide a more thorough understanding of the present invention, such as the number of data sectors, the sector format and the specific process flow described in the following description and accompanying drawings. It will be apparent to those skilled in the art that the present invention may be practiced without these specific details. In the following description, a detailed description of known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

도2b는 본 발명의 일실시예에 따른 섹터포맷도를 도시한 것으로 본 발명의 구현을 위해 데이타섹터를 LBA영역과 데이타영역 및 ECC영역으로 구성한다. 상기 LBA영역은 호스트컴퓨터로부터 전송된 한 섹터분의 데이타가 기록되는 섹터의 어드레스가 기록되는 영역이며, 데이타영역 및 ECC영역은 전술한 바와 같이 각각 사용자 데이타와 데이타 오류정정을 위한 정보가 기록되는 영역을 나타낸다. 만약 디스크(10)상에 동심원상으로 배열되는 각 트랙의 섹터포맷이 도2b와 같은 섹터포맷을 갖는다면 데이타 리드시 헤드(12)를 통해 리드되는 신호에는 각 섹터에 대한 LBA값과 해당 데이타가 포함될 것이며 이는 리드/라이트 채널회로(18)에서 디코딩된 RDATA로서 디스크 데이타 콘트롤러(36)를 통해 버퍼 메모리(38)상에 저장된다. 이때 상기 버퍼 메모리(38)상에 저장되는 데이타의 포맷을 살펴보면 도2c와 같다. 즉 각 데이타섹터로부터 리드된 데이타의 전위에는 해당 데이타섹터의 어드레스를 지시하는 LBA가 저장된다. 이하 도3 내지 도6을 참조하여 호스트컴퓨터로부터 전송된 데이타에 LBA를 설정하는 과정 및 데이타 리드/라이트 동작시의 데이타 전송오류를 방지하기 위한 과정을 살펴보기로 한다.FIG. 2B illustrates a sector format diagram according to an embodiment of the present invention. In order to implement the present invention, a data sector is composed of an LBA area, a data area, and an ECC area. The LBA area is an area in which an address of a sector in which data of one sector transmitted from the host computer is recorded is recorded. The data area and the ECC area are areas in which information for user data and data error correction are recorded, . If the sector format of each track concentrically arranged on the disk 10 has a sector format as shown in FIG. 2B, the signal read through the head 12 during data reading includes the LBA value for each sector and the corresponding data And is stored on the buffer memory 38 via the disk data controller 36 as RDATA decoded in the read / write channel circuit 18. [ The format of the data stored in the buffer memory 38 is as shown in FIG. 2C. That is, LBA indicating the address of the data sector is stored in the potential of the data read from each data sector. 3 to 6, a procedure for setting an LBA in data transmitted from a host computer and a process for preventing a data transmission error during a data read / write operation will be described.

도3은 본 발명의 일실시예에 따른 데이타 LBA 설정과정을 설명하기 위한 디스크 데이타 콘트롤러(36)의 처리흐름도를 도시한 것이다. 도3을 참조하면, 우선 호스트컴퓨터로부터 데이타 라이트명령이 수신되면 디스크 데이타 컨트롤러(36)는 40단계에서 전송받을 첫번째(1st) 섹터의 데이타 LBA를 호스트 LBA 레지스터에 설정한후 호스트컴퓨터로부터 데이타를 전송받는다. 이후 데이타 전송이 시작되면 디스크 데이타 컨트롤러(38)는 42단계에서 한 섹터분의 데이타 전송이 있는가를 검사하여 한 섹터분의 데이타 전송이 완료되었으면 44단계로 진행하여 호스트 LBA 레지스터의 값을 버퍼 메모리(38)에 저장한다. 이후 디스크 데이타 컨트롤러(36)는 46단계에서 호스트 LBA 레지스터의 값을 1 증가시킨후 42단계로 되돌아가 전술한 42 내지 46단계를 반복 수행한다. 그 결과 호스트컴퓨터로부터 전송되는 데이타는 설정된 LBA와 함께 버퍼 메모리(38)상에 일시 저장된후 디스크(10)로 전송된다. 이하 도4를 참조하여 버퍼 메모리(38)상에 저장된 데이타와 그에 대응하는 LBA가 디스크(10)의 소정 데이타섹터에 라이트되는 과정을 설명하기로 한다.FIG. 3 illustrates a process flow of a disk data controller 36 for explaining a data LBA setting process according to an embodiment of the present invention. 3, when a data write command is received from the host computer, the disk data controller 36 sets the data LBA of the first sector to be transmitted in the step 40 in the host LBA register, and then transmits data from the host computer Receive. When the data transfer is started, the disk data controller 38 checks if there is data transfer for one sector in step 42. If the data transfer for one sector is completed, the disk data controller 38 proceeds to step 44 to store the value of the host LBA register in the buffer memory 38 ). The disk data controller 36 increments the value of the host LBA register by 1 in step 46, and then returns to step 42 to repeat steps 42 to 46 described above. As a result, data transmitted from the host computer is temporarily stored on the buffer memory 38 together with the set LBA, and then transferred to the disk 10. [ Hereinafter, a process of writing data stored in the buffer memory 38 and a corresponding LBA to a predetermined data sector of the disk 10 will be described with reference to FIG.

도4는 본 발명의 일실시예에 따른 데이타 라이트과정을 설명하기 위한 디스크 데이타 콘트롤러(36)의 처리흐름도를 도시한 것이다. 도4를 참조하면, 우선 디스크 데이타 콘트롤러(36)는 50단계에서 라이트할 첫번째(1st) 섹터의 LBA를 디스크 LBA 레지스터에 설정한후 라이트를 시작한다. 매 섹터를 라이트할때마다 디스크 데이타 컨트롤러(36)는 52단계에서 현재 디스크 LBA 레지스터의 값과 버퍼 메모리(38)상에 저장된 LBA값을 비교한다. 비교결과 현재 디스크 LBA 레지스터의 값이 버퍼 메모리(38)상에 저장되어 있는 LBA값과 동일하면 디스크 데이타 콘트롤러(36)는 54단계로 진행하여 한 섹터분의 데이타 라이트가 완료되었는가를 검사한다. 검사결과 한 섹터분의 데이타가 라이트 완료되었다면 디스크 데이타 콘트롤러(36)는 56단계에서 디스크 LBA 레지스터의 값을 증가시킨후 52단계로 되돌아가 전술한 52단계 내지 58단계를 반복수행한다. 반면 52단계의 비교결과 디스크 LBA 레지스터의 값과 버퍼 메모리(38)상에 저장된 LBA의 값이 다르다면 디스크 데이타 콘트롤러(36)는 58단계에서 인터럽트를 발생하여 마이크로 콘트롤러(22)로 출력함으로서 데이타 라이트동작을 종료시킨다. 이하 도5를 참조하여 본 발명의 일실시예에 따른 데이타 리드과정을 설명하면 다음과 같다.FIG. 4 illustrates a process flow of a disk data controller 36 for explaining a data write process according to an embodiment of the present invention. Referring to FIG. 4, first, the disk data controller 36 sets the LBA of the first sector to be written in the disk LBA register in step 50, and then starts writing. Each time the sector is written, the disk data controller 36 compares the value of the current disk LBA register with the value of the LBA stored in the buffer memory 38 in step 52. If the value of the current disk LBA register is equal to the value of the LBA stored in the buffer memory 38, the disk data controller 36 proceeds to step 54 and checks whether data writing for one sector is completed. If the data of one sector is written to the disk data controller 36, the disk data controller 36 increments the value of the disk LBA register in step 56, and then returns to step 52 and repeats steps 52 through 58 described above. On the other hand, if the value of the disk LBA register is different from the value of the LBA stored in the buffer memory 38 as a result of comparison in step 52, the disk data controller 36 generates an interrupt in step 58 and outputs the interrupt to the microcontroller 22, And terminates the operation. The data reading process according to an embodiment of the present invention will now be described with reference to FIG.

도5는 본 발명의 일실시예에 따른 데이타 리드과정을 설명하기 위한 디스크 데이타 콘트롤러(36)의 처리흐름도를 도시한 것이다. 도5에서 우선 호스트컴퓨터로부터 데이타 리드명령이 수신되면 디스크 데이타 콘트롤러(36)는 60단계에서 리드하고자 하는 첫번째(1st) 섹터의 LBA를 디스크 LBA 레지스터에 설정한후 데이타 리드를 시작한다. 매 섹터의 데이타가 리드될때마다 디스크 데이타 콘트롤러(36)는 62단계에서 현재 디스크 LBA 레지스터의 값과 리드된 섹터의 LBA값이 동일한가를 비교한다. 비교결과 LBA값이 동일하면 디스크 데이타 콘트롤러(36)는 64단계에서 한 섹터분의 데이타가 리드되었는가를 검사하고 한 섹터분의 데이타가 리드 완료되었을 경우 66단계에서 디스크 LBA 레지스터의 값을 1씩 증가시킨다. 이후 디스크 데이타 콘트롤러(36)는 다시 62단계로 되돌아가 상술한 62단계 내지 68단계를 반복 수행한다. 한편 62단계의 비교결과 LBA값이 동일하지 않으면 디스크 데이타 콘트롤러(36)는 68단계에서 인터럽트를 발생하여 마이크로 콘트롤러(22)로 출력함으로서 데이타 리드동작을 종료시킨다. 이하 도6을 참조하여 버퍼 메모리(38)로부터 호스트컴퓨터로의 리드데이타 전송과정을 설명하면 다음과 같다.FIG. 5 illustrates a process flow of a disk data controller 36 for explaining a data read process according to an embodiment of the present invention. 5, when the data read command is received from the host computer, the disk data controller 36 sets the LBA of the first sector to be read in the disk LBA register in step 60 and starts data reading. Every time data of every sector is read, the disk data controller 36 compares the value of the current disk LBA register with the value of the LBA of the read sector in step 62. If the LBA values are the same, the disk data controller 36 checks whether the data of one sector is read in step 64. If the data of one sector is read, the disk data controller 36 increments the value of the disk LBA register by 1 . Thereafter, the disk data controller 36 returns to step 62 and repeats steps 62 through 68 described above. On the other hand, if the LBA values are not equal to each other in step 62, the disk data controller 36 generates an interrupt in step 68 and outputs the interrupt to the microcontroller 22 to terminate the data read operation. Hereinafter, the process of transferring the read data from the buffer memory 38 to the host computer will be described with reference to FIG.

도6은 본 발명의 일실시예에 따른 리드데이타 전송오류 방지과정을 설명하기 위한 디스크 데이타 콘트롤러(36)의 처리흐름도를 도시한 것이다. 도6을 참조하면 우선 디스크 데이타 콘트롤러(36)는 70단계에서 전송할 첫번째(1st) 섹터의 LBA를 호스트 LBA 레지스터에 설정한후 리드데이타 전송을 시작한다. 디스크 데이타 콘트롤러(36)는 매 섹터의 리드데이타를 전송하기 전에 72단계에서 현재 호스트 LBA 레지스터의 값과 버퍼 메모리(38)에 저장된 LBA값을 비교한다. 비교결과 LBA값이 동일하면 디스크 데이타 콘트롤러(36)는 74단계에서 데이타전송을 수행하고 76단계에서 한 섹터분의 리드데이타 전송이 완료되었는가를 검사한다. 검사결과 한 섹터분의 리드데이타 전송이 완료되었으면 디스크 데이타 콘트롤러(36)는 78단계에서 호스트 LBA 레지스터의 값을 1 증가시킨후 72단계로 되돌아가 LBA값을 비교한다. 이후 디스크 데이타 콘트롤러(36)는 72단계 내지 78단계를 반복 수행하여 리드데이타를 전송한다. 만약 72단계의 비교결과 현재 호스트 LBA 레지스터의 값과 버퍼 메모리(38)상에 저장된 LBA의 값이 다르다면 디스크 데이타 콘트롤러(36)는 80단계에서 인터럽트를 발생하여 마이크로 콘트롤러(22)로 출력함으로서 리드데이타의 전송을 종료시킨다. 따라서 본 발명은 데이타 리드/라이트 동작시 디스크(10)와 호스트컴퓨터 사이에 전송되는 데이타의 LBA를 비교 검색함으로서 정상적인 데이타 전송이 이루어질 수 있다.FIG. 6 is a flowchart illustrating a process of a disk data controller 36 for explaining a read data transmission error prevention process according to an embodiment of the present invention. Referring to FIG. 6, first, in step 70, the disk data controller 36 sets the LBA of the first sector to be transmitted in the host LBA register and then starts the read data transfer. The disk data controller 36 compares the value of the current host LBA register with the value of the LBA stored in the buffer memory 38 in step 72 before transferring the read data of each sector. If the LBA values are the same as the comparison result, the disk data controller 36 performs data transfer in step 74 and checks whether the transfer of one sector of the read data is completed in step 76. [ If the read data transfer for one sector is completed, the disk data controller 36 increments the value of the host LBA register by one in step 78, and then returns to step 72 to compare LBA values. Thereafter, the disk data controller 36 repeats steps 72 to 78 to transmit the read data. If the value of the current host LBA register is different from the value of the LBA stored in the buffer memory 38 as a result of the comparison in step 72, the disk data controller 36 generates an interrupt in step 80 and outputs the interrupt to the microcontroller 22, And terminates transmission of the data. Therefore, in the data read / write operation of the present invention, normal data transmission can be performed by comparing LBAs of data transmitted between the disk 10 and the host computer.

상술한 바와 같이 본 발명은 데이타 리드/라이트 동작시 기록매체와 호스트컴퓨터 사이에 전송되는 데이타의 LBA를 비교 검색하여 동일한 LBA를 갖는 데이타만을 전송함으로서 전송오류로 인한 데이타의 유실을 막을 수 있는 잇점이 있다.As described above, in the data read / write operation, the LBA of the data transmitted between the recording medium and the host computer is compared and retrieved, and only the data having the same LBA is transmitted, thereby preventing the loss of data due to the transmission error have.

Claims (3)

하드 디스크 드라이브의 데이타 전송오류 방지방법에 있어서,A data transfer error prevention method for a hard disk drive, 호스트컴퓨터로부터 전송되는 데이타에 어드레스를 부여하는 과정과,A step of providing an address to data transmitted from a host computer, 전송된 데이타와 부여된 어드레스를 디스크상에 함께 기록하는 과정과,Recording the transferred data and the assigned address on the disk together; 리드데이타 전송시 각 섹터에 부여된 어드레스와 전송하고자 하는 목표섹터의 어드레스가 동일할 경우에만 리드데이타를 전송하는 과정으로 이루어짐을 특징으로 하는 데이타 전송오류 방지방법.And transmitting the read data only when an address assigned to each sector and an address of a target sector to be transmitted are the same when the read data is transmitted. 제1항에 있어서, 상기 어드레스는 호스트컴퓨터로부터 한 섹터분의 데이타 전송이 완료된 경우 부여됨을 특징으로 하는 데이타 전송오류 방지방법.The method as claimed in claim 1, wherein the address is assigned when data transfer of one sector is completed from the host computer. 제2항에 있어서, 상기 어드레스는 전송된 한 섹터분의 데이타와 함께 동일 섹터내에 기록됨을 특징으로 하는 데이타 전송오류 방지방법.3. The method of claim 2, wherein the address is recorded in the same sector together with the data of one sector transmitted.
KR1019960037161A 1996-08-30 1996-08-30 Prevention method for data transmission error KR100217750B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960037161A KR100217750B1 (en) 1996-08-30 1996-08-30 Prevention method for data transmission error

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960037161A KR100217750B1 (en) 1996-08-30 1996-08-30 Prevention method for data transmission error

Publications (2)

Publication Number Publication Date
KR19980017384A KR19980017384A (en) 1998-06-05
KR100217750B1 true KR100217750B1 (en) 1999-09-01

Family

ID=19471970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960037161A KR100217750B1 (en) 1996-08-30 1996-08-30 Prevention method for data transmission error

Country Status (1)

Country Link
KR (1) KR100217750B1 (en)

Also Published As

Publication number Publication date
KR19980017384A (en) 1998-06-05

Similar Documents

Publication Publication Date Title
JP4679943B2 (en) Data storage device and data rewrite processing method in nonvolatile memory thereof
KR100228796B1 (en) Data read/write control method
KR100412344B1 (en) Method for controlling data write according to head flying height
US5896547A (en) Method of executing an initialization and calibration routine of a hard disk drive
KR100265283B1 (en) Method for enhancing reliability of hard disk drive by use of head mapping
US7525747B2 (en) Data storage device, data storage control circuit, and control method for magnetic disk drive
US5852522A (en) Data recording apparatus for fast detection of servo sectors and correction of track address using a divided gray code and a parity bit
US5940242A (en) Method for determining a position of track-zero and mapping tracks according thereto
KR100274742B1 (en) Initiating method for copying hard-disk drive and copying apparatus thereof
US6160674A (en) Stable data writing method by tracking head speed in hard disk drive
US6317282B1 (en) Disk drive recording apparatus having actuator arm with dual heads and head switching control method
KR100217750B1 (en) Prevention method for data transmission error
US6005728A (en) Disk recording medium for embodying high capacity hard disk drive
US20050201236A1 (en) Data read retry with read timing adjustment for eccentrity of disc in data storage device
JP4154382B2 (en) Method for determining / applying track zero of disk drive and disk drive using the same
KR100403041B1 (en) Push-down type bad track swapping method
KR100233673B1 (en) Method for protecting defect of data sector
KR100383638B1 (en) Method for recording virus backup program on magnetic disk in magnetic disk recording device for preventing computer virus
KR100255187B1 (en) Effective data transfer device of hdd
KR100403049B1 (en) Method for compensating for position error signal and timing deviation of hard disk drive
KR100264796B1 (en) Method for improving drive credibility by head mapping
KR19990056099A (en) Data sector reallocation using error correction code threshold change
KR100392615B1 (en) Method for controlling head position of hard disk drive having three bursts
KR100265123B1 (en) Method for improving hard disc drive through head mapping
KR100417227B1 (en) Method for improving quality of hard disk drive by re-writing data having correctable error

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee