KR100305309B1 - Data reading method and data storage device - Google Patents

Data reading method and data storage device Download PDF

Info

Publication number
KR100305309B1
KR100305309B1 KR1019970060268A KR19970060268A KR100305309B1 KR 100305309 B1 KR100305309 B1 KR 100305309B1 KR 1019970060268 A KR1019970060268 A KR 1019970060268A KR 19970060268 A KR19970060268 A KR 19970060268A KR 100305309 B1 KR100305309 B1 KR 100305309B1
Authority
KR
South Korea
Prior art keywords
data
read
error
bus
storage device
Prior art date
Application number
KR1019970060268A
Other languages
Korean (ko)
Other versions
KR19980070095A (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 포만 제프리 엘
Publication of KR19980070095A publication Critical patent/KR19980070095A/en
Application granted granted Critical
Publication of KR100305309B1 publication Critical patent/KR100305309B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 목적은 호스트 장치와 기억 장치간의 데이타 전송시에 버스 노이즈에 의한 기억 장치의 판독 에러의 발생을 저감시키기 위한 것이다.An object of the present invention is to reduce the occurrence of a read error of a storage device due to bus noise during data transfer between the host device and the storage device.

이러한 목적을 달성을 위해서 버스 노이즈에 의한 판독 에러가 검출되었을 때에 호스트 장치(10)에 대한 데이타 전송을 일단 정지시키고, 판독 에러의 원인인 버스 노이즈를 없앤 상태에서 판독을 행한다. 버퍼(6)가 풀(full)로된 때에, 호스트 장치(10)로부터의 코맨드에 대한 데이타의 판독이 종료된 때에 등에 다시 데이타 전송을 개시시키도록 구성한 것이다.To achieve this object, when a read error due to bus noise is detected, data transmission to the host device 10 is once stopped, and the read is performed in a state in which the bus noise which is the cause of the read error is removed. When the buffer 6 becomes full, the data transfer is started again when the reading of data on the command from the host device 10 ends.

Description

데이타 판독 방법 및 데이타 기억 장치Data reading method and data storage device

본 발명은 기억 장치로부터 데이타를 판독하기 위한 방법 및 데이타 판독 장치에 관한 것이다. 보다 구체적으로는 버스 노이즈로 인하여 판독 에러가 발생된 경우에 호스트 장치와 기억 장치간의 데이타의 전송 방법에 특징이 있는 데이타 판독 방법 및 데이타 판독 장치에 관한 것이다.The present invention relates to a method and a data reading device for reading data from a storage device. More specifically, the present invention relates to a data reading method and a data reading device characterized by a method of transferring data between a host device and a storage device when a read error occurs due to bus noise.

정보 기기의 비약적인 보급에 따라 노우트북형 퍼스널 컴퓨터의 소형화, 경량화가 진전되고 있다. 이 영향으로서, 노우트북형 퍼스널 컴퓨터에서는 그 협소한 케이스내에 각종의 주변 기기가 밀집되어 배치된 상태로 되어 있다. 이와 같은 케이스내에서는 각종의 노이즈가 발생하여 주변기기에 있어서는 열악한 환경이 되고 있다. 특히, 하드 디스크 장치는 자기 디스크 상의 기록 트랙에 추종하는 자기 헤드에 의해서 미묘한 자속(磁束)의 변화를 검지해서 자기 디스크에 기록된 데이타를 판독하고 있으므로 노이즈에 약하다.Along with the rapid spread of information equipment, notebook computers are becoming smaller and lighter. As a result of this influence, in a notebook computer, various peripheral devices are densely arranged in the narrow case. In such a case, various kinds of noise are generated, which is a poor environment for peripheral devices. In particular, the hard disk device is susceptible to noise since the magnetic head following the recording track on the magnetic disk detects subtle magnetic flux changes and reads the data recorded on the magnetic disk.

하드 디스크 장치에 있어서, 가장 가까이에 존재하는 노이즈원으로서, 데이타 버스가 있다. 예를 들면, 호스트 장치(이 경우는 노우트북형 퍼스널 컴퓨터의 MPU 등) 에 대한 데이타 전송과 병행하여 데이타의 판독을 하고 있으면, 최악의 경우 1 섹터를 판독할 때마다 판독 에러가 생긴다. 예를 들면, 통상시는 128섹터를 판독하는데 디스크 1 회전분의 시간으로 끝나지만 각각의 섹터에서 에러가 생겨 재 판독(Retry)을 행하는 데는 128 회전분의 시간이 걸리는 일도 있을 수 있다.In a hard disk device, the nearest noise source is a data bus. For example, if data is being read in parallel with data transfer to a host device (in this case, an MPU of a laptop computer), a reading error occurs every time a sector is read. For example, normally, 128 sectors may be read in one rotation of the disc, but an error may occur in each sector, which may take 128 revolutions.

이 때문에 노우트북형 퍼스널 컴퓨터 등에서는 일반적으로 시일드의 강화 등 하드웨어에 의한 각종 대책이 채택되고 있다.For this reason, in notebook computer personal computers and the like, various countermeasures by hardware such as strengthening of shields are generally adopted.

그러나, 호스트 장치의 사양에 따라서는 상술한 바와 같은 하드웨어에 의한 대책만으로는 불충분한 경우가 있기 때문에 이와 같은 경우에는 하드 디스크 장치(HDD)의 판독 에러가 증가한다.However, depending on the specifications of the host device, the above-described measures by the hardware may be insufficient, and in such a case, the read error of the hard disk device (HDD) increases.

따라서, 본 발명은 호스트 장치와 기억 장치간의 데이타 전송시에 버스 노이즈에 의한 기억 장치의 판독 에러를 저감시키는 것을 목적으로 한다.Therefore, an object of the present invention is to reduce a read error of a storage device due to bus noise during data transfer between the host device and the storage device.

또, 본 발명은 기억 장치의 소프트웨어만으로 판독 에러의 저감을 실현하는 것을 목적으로 한다.Moreover, an object of this invention is to implement | achieve reading error reduction only by the software of a memory | storage device.

본 발명에 관한 판독 방법은 기억 장치로부터 데이타를 판독하기 위한 방법에 있어서, 기억 장치로부터 데이타를 판독하는 판독 단계와, 상기 판독 단계에서 판독된 데이타를 버스를 통해서 호스트 장치로 출력하는 데이타 전송 단계와, 버스 노이즈에 의한 판독 에러의 발생을 검출하는 에러 검출 단계와, 에러 검출 단계에 의해 판독 에러의 발생이 검출된 때에 호스트 장치에 대한 데이타 전송 및 기억 장치로부터의 데이타의 판독을 동시에 행하는 것을 정지시키는 제어 단계를 포함하고 있다.A reading method according to the present invention is a method for reading data from a storage device, comprising: a reading step of reading data from a storage device, a data transfer step of outputting data read in the reading step to a host device via a bus; An error detection step of detecting occurrence of a read error due to a bus noise, and stopping the data transfer to and from reading from the storage device at the same time when the occurrence of the read error is detected by the error detection step. It includes a control step.

또, 본 발명에 관한 데이타 판독 장치는 기억 매체와, 기억 매체에 기억된 데이타를 재생하는 재생 수단과, 재생 수단에 의해서 재생된 데이타를 버스를 통해서 호스트 장치로 출력하는 데이타 전송 수단과, 버스 노이즈에 의한 판독 에러의 발생을 검출하는 에러 검출 수단과, 데이타 전송 수단의 동작을 제어하여 에러 검출 단계에 의해서 판독 에러의 발생이 검출된 때에 호스트 장치에 대한 데이타 전송 및 기억 장치로부터의 판독을 동시에 행하는 것을 정지시키는 제어 수단을 구비하고 있다.The data reading apparatus according to the present invention further includes a storage medium, reproducing means for reproducing data stored in the storage medium, data transmission means for outputting data reproduced by the reproducing means to a host device via a bus, and bus noise. Error detection means for detecting the occurrence of a read error by means of controlling the operation of the data transfer means and simultaneously performing data transfer to the host device and read from the storage device when the occurrence of the read error is detected by the error detection step. It is provided with the control means for stopping a thing.

도 1은 본 발명의 일 실시 형태에 관한 디스크 드라이브 장치의 구성을 나타내는 블럭도.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing the structure of a disk drive apparatus according to an embodiment of the present invention.

도 2는 본 발명의 일 실시 형태에 관한 디스크 드라이브 장치에 의한 에러 회복 처리를 나타내는 플로우 챠트.2 is a flowchart showing error recovery processing by the disk drive apparatus according to the embodiment of the present invention.

도 3은 본 발명의 일 실시 형태에 관한 디스크 드라이브 장치에 의한 에러 회복 처리를 나타내는 플로우 챠트.3 is a flowchart showing error recovery processing by the disk drive apparatus according to the embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

1 : 자기 디스크1: magnetic disk

2 : 버퍼2: buffer

3 : 헤드 구동 기구3: head drive mechanism

4 : 서보계4: servo system

5 : 판독/기록계5 read / write meter

6 : 버퍼6: buffer

7 : 버스7: bus

8 : 제어부8: control unit

10 : 정보 처리 장치(호스트 장치)10: information processing device (host device)

도 1은 본 발명의 일 실시 형태에 관한 디스크 드라이브 장치의 구성을 나타내는 블럭도이다. 이 디스크 드라이브 장치는 예를 들면, 노우트북형 퍼스널 컴퓨터에 사용되는 소형의 디스크 드라이브 장치에 본 발명을 적용한 것이다.1 is a block diagram showing the structure of a disk drive apparatus according to an embodiment of the present invention. This disk drive device applies the present invention to a small disk drive device used for a notebook computer, for example.

이 디스크 드라이브 장치는 데이타를 기억하기 위한 자기 디스크(1)와, 자기 디스크(1)에 대하여 데이타의 판독/기록을 행하는 헤드(2)와, 헤드(2)를 구동하는 헤드 구동 기구(3)와, 헤드 구동 기구(3)의 제어를 행하는 서보계(4)와, 헤드(2)에 의한 기록/판독을 제어하는 판독/기록계(5)와, 기록/판독 데이타를 보유하는 버퍼(6)와, 디스크 드라이브 장치 전체의 동작을 제어함과 동시에 버스(7)을 통해서 접속된 외부 기기(호스트 장치)(10)에 대한 데이타의 입출력을 제어하는 제어부(8)를 구비하고 있다.The disk drive apparatus includes a magnetic disk 1 for storing data, a head 2 for reading and writing data to and from the magnetic disk 1, and a head drive mechanism 3 for driving the head 2; And a servo system 4 for controlling the head drive mechanism 3, a read / write system 5 for controlling recording / reading by the head 2, and a buffer 6 for holding write / read data. And a control unit 8 for controlling the operation of the entire disk drive device and controlling the input / output of data to and from the external device (host device) 10 connected via the bus 7.

버퍼(6)는 예를 들면, 자기 디스크(1)상의 기록 단위(섹터)의 수백개분 이상의 데이타를 보유할 수 있는 정도의 기억 용량을 갖고 있다.The buffer 6 has a storage capacity that can hold, for example, data for hundreds or more of recording units (sectors) on the magnetic disk 1.

제어부(8)는 제어 프로그램을 실행하는 프로세서, 제어 프로그램, 불량 섹터의 단위를 나타내는 디펙트맵 등의 데이타를 보유하는 메모리 등을 구비하고 있다. 메모리로서는 RAM, ROM을 구비하고 있고, 제어 프로그램은 예를 들면, ROM에 저장되어 있다. ROM쪽이 동작이 고속이기는 하지만 실질적으로 혹은 코스트 등의 면에서 용량에 제한이 있으므로 ROM에 들어 갈 수 없는 제어 프로그램은 자기 디스크(1)상의 소정의 영역에 보존해 두고 전원 투입시(POR(power on reset))에 RAM으로 읽어 들여 실행한다.The control unit 8 includes a processor for executing a control program, a control program, a memory holding data such as a defect map indicating a unit of a bad sector, and the like. As a memory, RAM and ROM are provided, and a control program is stored in ROM, for example. Although the operation of the ROM is high speed, the capacity of the ROM is limited in terms of practicality or cost, so that a control program that cannot enter the ROM is stored in a predetermined area on the magnetic disk 1, and the power is supplied (POR (power). read it into RAM and execute it.

이 제어부(8)는 제어프로그램(마이크로 프로그램)을 실행함으로써 디스크 드라이브 장치 전체의 동작을 제어하고, 호스트 장치로부터 버스(7)를 거쳐 공급되는 코맨드, 데이타에 기초하여 자기 디스크(1)에 대한 판독/기록의 제어 등을 행한다.The controller 8 controls the operation of the entire disk drive apparatus by executing a control program (micro program), and reads the magnetic disk 1 on the basis of commands and data supplied from the host apparatus via the bus 7. Control recording and the like.

또, 제어부(8)의 프로세서는 복수의 프로세스를 병행하여 실행할 수 있게 되어 있으며, 그 중 하나의 프로세스는 호스트 장치(10)과의 사이의 코맨드, 데이타의 입출력의 제어이며, 다른 하나는 버퍼(6)에 보유되어 있는 기록 데이타를 자기 디스크(1)에 기록하는 라이트 캐쉬 프로세스이고, 다른 하나는 호스트 장치로부터 판독이 지시된 데이타 혹은 판독될 것으로 예측되는 데이타를 자기 디스크(1)로부터 사전 판독(look ahead)하여 버퍼(6)에 보유해 두는 리드 캐쉬 프로세스이다. 그 외에도 서보 제어를 위한 연산, 에러 회복 처리 등의 프로세스를 병행해서 실행한다.The processor of the controller 8 is capable of executing a plurality of processes in parallel, one of which is a command between the host device 10 and the control of input / output of data, and the other is a buffer ( 6) is a write cache process for recording the record data retained in 6) onto the magnetic disk 1, and the other is a pre-reading from the magnetic disk 1 of the data instructed to be read from the host device or the data to be read. It is a read cache process that looks ahead and holds in the buffer 6. In addition, processes for servo control and error recovery processing are executed in parallel.

호스트 장치(10)에 대한 입출력 제어 프로세스에서는 제어부(8)는 호스트 장치(10)으로부터 데이타의 기록을 요구하는 코맨드, 기록처(자기 디스크(1)상의 섹터)를 지시하는 어드레스(예를 들면, 논리 블럭 어드레스 : LBA 등) 및 기록 데이타가 공급되면, 공급된 기록 데이타를 버퍼(2)에 보유한 후에 호스트 장치(10)를 기록처리에서 해방시킨다. 또, 호스트 장치(10)으로부터 데이타의 판독을 요구하는 코맨드와, 판독할 데이타가 저장되어 있는 어드레스(LBA)가 공급되면, 해당 판독 요구가 있었던 데이타가 자기 디스크(1)로부터 판독되어 버퍼(2)에 보유되어 있으면 그것을 판독해서 호스트 장치(10)에 공급하고 버퍼(2)에 보유되어 있지 않으면 판독/기록계(5)에 판독 요구가 있었던 데이타의 판독을 지시하고 판독된 데이타를 호스트 장치(10)로 공급한다.In the input / output control process for the host device 10, the control unit 8 includes a command for requesting data recording from the host device 10 and an address indicating a recording destination (sector on the magnetic disk 1) (for example, When the logical block address (LBA, etc.) and write data are supplied, the host device 10 is released from the recording process after the supplied write data is held in the buffer 2. When the command for requesting reading of the data and the address LBA in which the data to be read are stored are supplied from the host device 10, the data requested for reading is read from the magnetic disk 1 and the buffer 2 ), It is read and supplied to the host apparatus 10. If it is not held in the buffer 2, the read / write system 5 is instructed to read data that has been requested to read, and the read data is read from the host apparatus 10. ).

라이트 캐쉬 프로 세스에서는 제어부(8)은 상술한 바와 같이 호스트 장치(10)에서 공급되고, 버퍼(2)에 보유되어 있는 기록 데이타를 순차 판독하고 판독/기록계(5)로 공급해서 자기 디스크(1)에 대한 기록을 지시한다.In the write cache process, the control unit 8 is supplied from the host device 10 as described above, sequentially reads the record data held in the buffer 2, and supplies the read / write system 5 to the magnetic disk 1. ) To the record.

또, 리드 캐쉬 프로세스에서는 제어부(8)는 판독/기록계(5)에 호스트 장치(10)로부터 판독 요구가 있다고 예상되는 데이타의 판독을 지시하고 판독된 데이타를 버퍼(2)에 보유해 둔다.In the read cache process, the control unit 8 instructs the read / write system 5 to read data that is expected to have a read request from the host device 10 and holds the read data in the buffer 2.

그런데, 제어부(8)의 프로세서는 상술한 프로세스외에 판독/기록계(5)에 의한 데이타의 판독이 버스(7)상의 노이즈에 기인하여 판독 에러로 된 것인지의 여부를 검출하고, 이 검출 결과에 기초하여 에러 회복 처리를 행하게 되어 있다.By the way, the processor of the controller 8 detects whether the read of the data by the read / write system 5 is a read error due to noise on the bus 7 in addition to the above-described process, and based on the detection result The error recovery process is performed.

버스(7)상의 노이즈에 기인하는 판독 에러의 특징은 데이타 전송중에 에러가 빈번하게 일어나고, 일회의 재 판독으로 데이타가 회복된다는 것이다. 이 때문에 에러 회복 처리에서는 먼저, 판독 에러의 발생 빈도를 조사하고, 다시 재 판독 회수를 조사함으로써 버스(7)상의 노이즈에 기인하는 에러와, 다른 에러를 구별하고 있다. 또한, 이들의 한쪽만에 의해서 다른 에러와 구별해도 상관없다.A characteristic of the read error due to noise on the bus 7 is that errors frequently occur during data transfer, and data is recovered in one reread. For this reason, in the error recovery process, the frequency of occurrence of a read error is first checked, and the number of rereads is checked again to distinguish an error due to noise on the bus 7 from another error. In addition, only one of these may be distinguished from other errors.

버스(7)상의 노이즈에 기인하는 판독 에러가 발생한 경우에는 호스트 장치(10)에 대한 데이타 전송과 자기 디스크(1)로부터의 데이타의 판독을 동시에 행하는 것을 정지시키고 데이타의 판독만을 행한다. 이에 의해서 버스 노이즈가 저감되고 버스 노이즈에 기인하는 판독 에러의 발생이 저감된다.If a read error due to noise on the bus 7 occurs, data transmission to the host device 10 and reading of data from the magnetic disk 1 are stopped at the same time, and only data reading is performed. This reduces bus noise and reduces the occurrence of read errors due to bus noise.

이 상태에서 데이타의 판독을 행하고 있으면, 자기 디스크(1)로부터 판독된 데이타가 순차적으로 버퍼(6)에 보유된다. 그리고, 이하의 조건의 어느것인가를 만족하면, 자기 디스크(1)로부터 판독되어 버퍼(6)에 보유되어 있던 데이타의 호스트로의 전송을 시작한다.When data is read in this state, the data read from the magnetic disk 1 are held in the buffer 6 sequentially. When one of the following conditions is satisfied, data transfer from the magnetic disk 1 and held in the buffer 6 is started to the host.

(a) 드라이브 캐취 업(Drive Catchup, 판독된 데이타로 버퍼(6)가 가득찬 상태)(a) Drive Catchup (buffer (6) full of read data)

이 상태에서는 버퍼(6)에 보유된 데이타를 호스트 장치(10)로 전송하지 않으면 다음의 데이타의 판독을 행할 수 없다. 이 때문에 데이타를 전송한 후에 판독을 계속한다.In this state, the next data cannot be read unless the data held in the buffer 6 is transferred to the host device 10. For this reason, reading continues after data transfer.

(b) 버퍼레디(룩 어헤드(Look Ahead)로 사전 판독하고 있고, 호스트 장치(10)로부터의 코맨드에 필요한 데이타가 이미 버퍼(6)에 판독되어 있는 상태)(b) Buffer Ready (the state which has been read in advance by Look Ahead and the data required for the command from the host device 10 has already been read in the buffer 6)

예를 들면, 호스트 장치(10)로부터의 복수의 코맨드에 대한 판독 처리가 실행되고 있고, 어느것인가의 코맨드에 대한 데이타의 판독이 종료된 경우에 상당한다. 이 상태에서는 다른 코맨드에 대한 데이타의 판독을 계속할 필요가 있다.For example, this corresponds to a case where a read process for a plurality of commands from the host device 10 is executed, and the reading of data for any of the commands is completed. In this state, it is necessary to continue reading data for other commands.

(c) 코맨드 완료(사전 판독(Look Ahead)을 행하고 있지 않은 상태에서 판독 코맨드에 따른 판독이 완료된 상태)(c) Command completion (the state in which reading according to the read command is completed while the look-ahead is not performed)

이 상태에서는 코맨드에 대한 모든 데이타가 이미 버퍼(6)에 보유되어 있기 때문에 더 이상의 판독을 행할 필요가 없어 판독을 종료한다.In this state, since all data for the command is already held in the buffer 6, no further reading is necessary and the reading ends.

(d) 판독 하드 에러(판독이 불가능한 상태)(d) Read hard error (unreadable)

이 상태에서는 코맨드에 대한 데이타의 판독이 불가능하게 되어 있다. 이 때문에 호스트 장치(10)에 그 취지를 통지하여 판독을 종료한다.In this state, it is impossible to read data to the command. For this reason, the host device 10 is notified of the effect and the reading is finished.

도 2 및 도 3은 상술한 바와 같은 에러 회복 처리를 나타내는 플로우 챠트이다. 먼저, 단계(110)에서 판독 에러가 검출되면, 이하의 단계(112) 및 (114)에서 판독 에러가 버스 노이즈에 의한 것인지의 여부를 판단한다.2 and 3 are flowcharts showing the error recovery processing as described above. First, when a read error is detected in step 110, it is determined in the following steps 112 and 114 whether the read error is due to bus noise.

단계(112)에서는 판독 에러의 발생 빈도를 검출한다. 일반적으로, 자기 디스크(1)에 대한 액세스는 단시간 동안에는 근접한 LBA에 대하여 행해지는 경우가 많다. 따라서 근접한 LBA에 있어서 연속해서 판독 에러가 발생하면 단시간에 복수의 판독 에러가 생기게 되어 판독 에러의 발생빈도가 높다고 생각할 수 있다. 따라서 이 단계(112)에서는 현재 판독 에러가 발생한 논리 블럭 어드레스(LBA)와 전회(前回)판독 에러가 발뱅된 LBA와의 차를 구해서 이 차와 소정의 임계값(예를 들면 16)을 비교하여 판독 에러의 발생빈도가 소정의 임계값 이상인지의 여부를 간접적으로 판정하고 있다.In step 112, a frequency of occurrence of a read error is detected. In general, access to the magnetic disk 1 is often made for a close LBA in a short time. Therefore, when reading errors occur continuously in the adjacent LBA, a plurality of reading errors are generated in a short time, and it is considered that the occurrence frequency of reading errors is high. Therefore, in this step 112, the difference between the logical block address (LBA) in which the current read error occurred and the LBA in which the previous read error was issued is obtained, and the difference is read by comparing a predetermined threshold value (for example, 16). It is indirectly determined whether an error occurrence frequency is equal to or greater than a predetermined threshold value.

현재, 판독 에러가 발생된 논리 블럭 어드레스(LBA)와 전회 판독 에러가 발생된 LBA와의 차가 임계값(16)보다 작으면 판독 에러의 발생 빈도가 높고, 버스 노이즈에 의한 판독 에러일 가능성이 있다. 이 때문에 이 단계(112)로부터 단계(114)로 진행하여 버스 노이즈에 기인하는 판독 에러인지의 여부의 판정을 계속한다. 또, 이 차가 임계값(16)이상이면, 판독 에러의 발생빈도가 그다지 높지 않기 때문에 버스 노이즈에 의한 판독 에러일 가능성이 낮다. 이 때문에 이 단계(112)로부터 도 3중의 단계(128)로 진행하여 데이타의 판독을 계속한다. 한편, 임계값의 설정은 16으로 한정되지 않는다. 혹은 판독 에러의 발생 빈도의 검출은 소정 시간 간격 마다의 판독 에러의 발생수를 카운트하여 직접적으로 행하는 일도 가능하다. 이 경우는 소정 시간 마다의 판독 에러의 수를 카운트할 필요가 있으므로 이 단계(112)의 처리보다 처리 부하가 증가한다.At present, when the difference between the logical block address LBA where a read error occurs and the LBA where a previous read error occurs is smaller than the threshold value 16, the occurrence frequency of the read error is high and there is a possibility that the read error is caused by bus noise. For this reason, the process proceeds from step 112 to step 114, and continues the determination as to whether or not it is a read error due to bus noise. If the difference is greater than or equal to the threshold value 16, the occurrence frequency of the read error is not so high, so the possibility of the read error due to the bus noise is low. For this reason, the process proceeds from step 112 to step 128 in FIG. 3 and continues reading data. On the other hand, the setting of the threshold is not limited to sixteen. Alternatively, detection of the occurrence frequency of the read error may be performed directly by counting the number of occurrences of the read error at predetermined time intervals. In this case, it is necessary to count the number of read errors for each predetermined time, which increases the processing load than the processing of this step 112.

단계(114)에서는 전회 판독 에러가 발생된 때의 LBA의 재 판독 회수가 소정의 임계값(예를 들면 1)과 동일한지 혹은 그 이상인지를 판정한다.In step 114, it is determined whether the number of rereads of the LBA when the last read error has occurred is equal to or greater than a predetermined threshold (for example, 1).

재 판독 회수가 임계값(1)과 동일하면, 버스 노이즈에 의한 판독 에러일 가능성이 높기 때문에 단계(116)이후의 처리를 실행한다. 재 판독 회수가 임계값(1)보다 크면 버스 노이즈 이외의 원인에 의한 판독 에러일 가능성이 낮고 도 3중의 단계(128)로 진행하여 데이타의 판독을 계속한다. 한편, 임계값의 설정은 1에 한정되지 않고 예를 들면 2 이상의 수라도 관계없고 혹은 전회 판독 에러가 발생된 LBA로부터의 경과 LBA에 따라 변경하도록 해도 좋다.If the number of rereads is equal to the threshold value 1, the process after step 116 is executed because there is a high possibility of a read error due to bus noise. If the number of rereads is larger than the threshold value 1, it is unlikely that it is a read error due to a cause other than bus noise, and the flow proceeds to step 128 in Fig. 3 to continue reading data. On the other hand, the setting of the threshold value is not limited to 1, and may be, for example, two or more numbers or may be changed depending on the elapsed LBA from the LBA in which the last read error occurred.

단계(112) 및 (114)에서 판독 에러가 버스 노이즈에 의한 것이라고 판단된 경우에는 단계(116)으로 진행하여 버퍼(6)상의 유효한 데이타를 호스트 장치(10)로 전부 전송해서 버퍼(6)을 일단 비운다. 그 후에 다음 단계(118)에서 호스트 장치(10)에 대한 데이타 전송과 자기 디스크(1)로부터의 데이타 판독을 병행시켜 실행하는 동시 입출력 모드(Concurrent I/O mode)를 사용 불가(Disable)로 한다. 이것에 의해서 데이타 전송에 의한 버스 노이즈가 없어 지므로 단계(120)에서 판독을 재개한다. 이와 같은 상태에서 데이타의 판독을 행함으로써 버스 노이즈에 기인하는 판독 에러를 저감시킬 수 있다.If it is determined in step 112 and 114 that the read error is due to bus noise, the process proceeds to step 116 where all valid data on the buffer 6 is transferred to the host device 10 to transfer the buffer 6. Empty it once. After that, in the next step 118, the concurrent I / O mode, which executes the data transfer to the host device 10 and the data read from the magnetic disk 1, is performed in a disabled state. . This eliminates bus noise due to data transfer and resumes reading in step 120. By reading data in such a state, it is possible to reduce a read error due to bus noise.

자기 디스크(1)로부터의 데이타의 판독을 재개한 후에 단계(122), (123), (130), (131)에서 상술한 조건 (c), (d), (a), (b)의 판정을 행한다.After resuming reading of data from the magnetic disk 1, the conditions (c), (d), (a), and (b) described above in steps 122, 123, 130, and 131 The determination is made.

조건(a) (버퍼가 풀상태) 또는 (b) (버퍼레디)를 만족시키고 있는 경우에는 단계(122) 또는 단계(123)으로부터 도 3 중의 단계(124)로 진행하고 이 단계(124)에서 동시 입출력 모드를 사용가능하게 한 후에 다음 단계(126)에서 버퍼(6)에 보유된 데이타를 호스트 장치(10)로 전송한다. 그 후에 단계(128)에서 나머지 데이타의 판독을 개시하고 도 2 중의 단계(110)로 되돌아가 판독 에러의 발생을 감시한다.If the condition (a) (buffer is full) or (b) (buffer ready) is satisfied, the process proceeds from step 122 or step 123 to step 124 in FIG. After enabling the simultaneous input / output mode, the data held in the buffer 6 is transferred to the host device 10 in the next step 126. Thereafter, the reading of the remaining data is started in step 128 and the process returns to step 110 in FIG. 2 to monitor the occurrence of the read error.

또, 조건(c)(코맨드 완료) 또는 (d)(판독 하드 에러)를 만족시키고 있는 경우에는 단계(130) 또는 단계(131)로부터 도 3 중의 단계(132)로 진행하여 이 단계(132)에서 동시 입출력 모드를 사용가능하게 한 후에 다음 단계(134)에서 버퍼(6)에 보유된 데이타를 호스트 장치(10)로 전송한 후에 종료한다.If condition (c) (command completion) or (d) (read hard error) is satisfied, the process proceeds from step 130 or step 131 to step 132 in FIG. After the simultaneous input / output mode is enabled, the next step 134 transfers the data retained in the buffer 6 to the host device 10 and then terminates.

이상 설명한 바와 같이, 이 실시 형태에서는 버스 노이즈에 기인하는 판독 에러가 검출된 때에 호스트 장치(10)에 대한 데이타의 전송을 정지시킨 상태에서 자기 디스크(1)로부터의 판독을 행하므로써 버스 노이즈에 기인한 판독 에러를 저감시킬 수 있다.As described above, in this embodiment, when a read error due to bus noise is detected, the bus noise is caused by reading from the magnetic disk 1 in a state in which data transmission to the host device 10 is stopped. One reading error can be reduced.

또, 이 실시 형태에서는 종래와 같이 시일드의 강화 등의 하드웨어에 의한 대책을 필요로 하지 않고, 제어부(8)의 프로세서에 의해서 실행되는 소프트웨어(마이크로 프로그램)만에 의해서 버스 노이즈에 기인하는 판독 에러를 저감시킬 수 있다. 이 때문에 당해 기억 장치를 사용한 장치의 코스트 저감에 기여할 수 있다.In addition, in this embodiment, a read error caused by bus noise is not required by hardware (such as a micro program) that is executed by a processor of the control unit 8 without requiring measures by hardware such as strengthening of a shield as in the prior art. Can be reduced. For this reason, it can contribute to the cost reduction of the apparatus using the said memory apparatus.

또, 본 발명은 상술한 실시 형태에 한정되는 것이 아니고 본 발명의 기술적인 사상의 범주내에서 각종의 변경이 가능하다. 예를 들면, 상술한 실시 형태에서는 본 발명을 디스크 드라이브 장치에 적용한 경우에 대하여 설명하였으나 버스를 통해서 호스트 장치에 접속된 기억 장치이면, 예를 들면 메모리 카드, 및 그 외의 기억 장치에도 적용할 수 있다.In addition, this invention is not limited to embodiment mentioned above, Various changes are possible within the scope of the technical idea of this invention. For example, in the above-described embodiment, the case where the present invention is applied to the disk drive device has been described. However, if the storage device is connected to the host device via a bus, the present invention can also be applied to, for example, a memory card and other storage devices. .

본 발명에 따르면, 에러 검출 단계에서 검출된 에러에 기초하여 제어 단계에서 호스트 장치에 대한 데이타 전송과 기억 장치로부터의 데이타의 판독을 동시에 행하는 것을 정지시킬 수 있으므로 호스트 장치와 기억 장치간의 데이타 전송시의 버스 노이즈에 의한 기억 장치의 판독 소프트웨어 에러 비율을 저감시킬 수 있다.According to the present invention, it is possible to stop performing data transfer to the host device and reading data from the storage device at the same time in the control step based on the error detected in the error detection step. The readout software error rate due to bus noise can be reduced.

또, 본 발명에 따르면, 기억 장치의 소프트웨어만에 의해서 판독 에러의 저감을 실현할 수 있으므로 시일드의 강화 등의 하드웨어에 의한 대책을 필요로 하지 않는다. 이 때문에 당해 기억 장치를 사용한 장치의 코스트의 저감에 기여할 수 있다.Further, according to the present invention, since the reduction of the read error can be realized only by the software of the storage device, no countermeasures by hardware such as strengthening of the shield are required. For this reason, it can contribute to the reduction of the cost of the apparatus using the said memory apparatus.

Claims (10)

버스를 갖는 기억 장치로부터 데이타를 판독하기 위한 방법에 있어서,A method for reading data from a storage device having a bus, the method comprising: 상기 기억 장치로부터 데이타를 판독하는 판독 단계;A reading step of reading data from the storage device; 이전 판독 에러에 대한 재판독 회수를 판단하고 상기 재판독 회수가 소정의 임계값과 같거나 그 이상인 때에는 판독 에러가 버스 노이즈로 인한 것인 아닌 것으로 판정함으로써 버스 노이즈로 인한 판독 에러의 발생을 검출하는 단계; 및Detecting occurrence of a read error due to bus noise by determining a reread count for a previous read error and determining that the read error is not due to bus noise when the read count is equal to or greater than a predetermined threshold. step; And 상기 검출 단계에 응답하여, 호스트 장치로의 데이터 전송을 정지시켜 버스 노이즈를 감소시킨 다음에 상기 기억 장치로부터 상기 지정된 데이터를 재판독하는 단계In response to the detecting step, stopping data transmission to the host device to reduce bus noise and then rereading the designated data from the storage device. 를 포함하는 데이타 판독 방법.Data reading method comprising a. 제1항에 있어서, 상기 검출 단계는, 이전 판독 에러에 대한 판독 에러 발생 빈도가 소정의 임계값과 같거나 그 이상인지 여부를 판단하고 상기 판독 에러 발생 빈도가 상기 소정의 임계값과 같거나 그 이상인 때에는 판독 에러가 버스 노이즈로 인한 것이 아닌 것으로 판정하는 단계를 더 포함하고, 상기 기억 장치로부터 판독된 데이터를 버퍼에 일시적으로 저장하고, 상기 버퍼가 데이터로 가득 찬 때에는 호스트 장치로의 데이터 전송을 재개하는 단계를 더 포함하는 데이터 판독 방법.The method of claim 1, wherein the detecting step determines whether a read error occurrence frequency for a previous read error is equal to or greater than a predetermined threshold and wherein the read error occurrence frequency is equal to or greater than the predetermined threshold. And determining that the read error is not due to bus noise when abnormal, and temporarily storing data read from the storage device in a buffer, and when the buffer is full, transfer data to the host device. The method further comprises the step of resuming. 제1항에 있어서, 상기 지정된 데이터의 판독이 에러없이 완료된 때에는 호스트 장치로의 데이터 전송을 재개하는 단계를 더 포함하는 데이터 판독 방법.The method of claim 1, further comprising resuming data transmission to a host device when the reading of the designated data is completed without error. 버스를 갖는 기억 장치로부터 데이터를 판독하기 위한 방법에 있어서, 상기 기억 장치로부터 지정된 데이터를 판독하는 단계; 이전 판독 에러에 대한 에러 발생 빈도가 소정의 임계값과 같거나 그 이상인 때에는 판독 에러가 버스 노이즈로 인한 것이 아닌 것으로 판정함으로써 버스 노이즈로 인한 판독 에러의 발생을 검출하는 단계; 및 상기 검출 단계에 응답하여, 호스트 장치로의 데이터 전송을 정지시켜 버스 노이즈를 감소시킨 다음에 상기 기억 장치로부터 상기 지정된 데이터를 재판독하는 단계를 포함하는 데이타 판독 방법.CLAIMS 1. A method for reading data from a storage device having a bus, comprising: reading specified data from the storage device; Detecting the occurrence of a read error due to bus noise by determining that the read error is not due to bus noise when the error occurrence frequency for the previous read error is equal to or greater than a predetermined threshold; And responsive to the detecting step, stopping data transfer to a host device to reduce bus noise, and then rereading the designated data from the storage device. 버스와, 호스트로의 데이터 전송 시에 버스 액티비티(activity)를 발생시키는 제어부를 구비한 데이터 기억 장치에 있어서, 기억 매체; 상기 기억 매체에 기억된 데이터를 판독하기 위한 헤드; 버스 노이즈로 인한 판독 에러들의 발생을 구별하여 버스 노이즈 에러를 받는 데이터를 재판독할 때에는 호스트로의 데이터 전송을 정지시키고, 버스 노이즈 에러가 발생된 이전 데이터 단위의 어드레스와 현재 단위의 어드레스 간의 차이의 크기를 판단하여 그 차이의 크기가 소정의 임계값 이상인 때에는 버스 노이즈로 인하지 않은 판독 에러의 발생을 구별하는 제어부를 포함하는 데이터 기억 장치.A data storage device having a bus and a control unit for generating bus activity during data transfer to a host, comprising: a storage medium; A head for reading data stored in the storage medium; When rereading data receiving a bus noise error by distinguishing occurrences of read errors due to bus noise, the data transmission to the host is stopped, and the difference between the address of the previous data unit and the address of the current unit where the bus noise error occurred is detected. And a control section for judging the magnitude and discriminating occurrence of a read error not caused by bus noise when the magnitude of the difference is equal to or greater than a predetermined threshold value. 제5항에 있어서, 상기 제어부는 이전 판독 에러에 대한 재판독 회수를 저장하고 상기 재판독 회수가 소정의 임계값 이상인 때에는 버스 노이즈로 인하지 않은 판독 에러의 발생을 구별하는 데이터 기억 장치.6. The data storage device according to claim 5, wherein said control section stores the number of rereads for a previous read error and distinguishes occurrence of read errors not caused by bus noise when the number of rereads is greater than or equal to a predetermined threshold. 제5항에 있어서, 상기 제어부는 버스 노이즈 에러가 발생된 이전 데이터 단위의 어드레스와 현재 단위의 어드레스 간의 차이의 크기를 판단하여 그 차이의 크기가 소정의 임계값 이상인 때에는 버스 노이즈로 인하지 않은 판독 에러의 발생을 구별하고, 기억 장치로부터 판독된 데이터를 일시적으로 저장하기 위한 버퍼를 더 포함하고, 상기 제어부는 상기 버퍼가 데이터로 가득찬 때에는 호스트로의 데이터 전송을 재개하는 데이터 기억 장치.6. The apparatus of claim 5, wherein the controller determines the magnitude of the difference between the address of the previous data unit and the address of the current unit where the bus noise error has occurred, and if the magnitude of the difference is greater than or equal to a predetermined threshold, reading is not caused by bus noise. And a buffer for discriminating occurrence of an error and temporarily storing data read from the storage device, wherein the control unit resumes data transmission to a host when the buffer is full of data. 제7항에 있어서, 상기 제어부는 상기 데이터의 판독이 에러없이 완료된 때에는 호스트 장치로의 데이터 전송을 재개하는 데이터 기억 장치.8. The data storage device according to claim 7, wherein said control section resumes data transfer to a host device when reading of said data is completed without error. 데이터 기억 장치에 있어서, 데이터를 포함하는 기억 매체; 데이터가 호스트로 전송될 때에 액티비티가 발생하는 버스; 상기 기억 매체로부터 데이터 단위가 판독될 때에 판독 에러를 검출하기 위한 수단; 판독 에러가 검출될 때에 데이터 단위를 재판독하기 위한 수단; 판독 에러가 발생된 제1지정 데이터 단위의 제1어드레스 및 재판독 회수를 기록하기 위한 수단; 및 상기 제1어드레스와 제2지정 데이터 단위의 제2어드레스 간의 차이가 소정의 임계값 이하이고 또 상기 재판독 회수가 소정의 값 이하일 때에 상기 제2지정 데이터 단위를 재판독하기 전에 호스트로의 데이터 전송을 정지시킴으로써, 판독 에러가 발생되는 상기 제2지정 데이터 단위를 처리하기 위한 수단을 포함하는 데이터 기억 장치.A data storage device comprising: a storage medium containing data; A bus on which activity occurs when data is sent to a host; Means for detecting a read error when a data unit is read from the storage medium; Means for rereading the data unit when a read error is detected; Means for recording a first address and a reread count of the first designated data unit in which a read error occurred; And data to the host before rereading the second designated data unit when the difference between the first address and the second address of the second designated data unit is equal to or less than a predetermined threshold and the number of rereads is equal to or less than a predetermined value. Means for processing said second specified data unit at which a read error occurs by stopping the transfer. 제9항에 있어서, 기억 장치로부터 판독된 데이터를 일시적으로 저장하기 위한 버퍼를 더 포함하며, 상기 제2지정 데이터 단위 처리 수단은 상기 버퍼가 데이터로 가득 찰 때에 또는 상기 제2지정 데이터 단위가 에러없이 완료될 때에는 호스트로의 데이터 전송을 재개하는 데이터 기억 장치.10. The apparatus according to claim 9, further comprising a buffer for temporarily storing data read from the storage device, wherein the second designated data unit processing means includes an error when the buffer is full of data or the second designated data unit is in error. Data storage that resumes data transfer to the host when complete without.
KR1019970060268A 1997-01-22 1997-11-15 Data reading method and data storage device KR100305309B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP927797 1997-01-22
JP97-009277 1997-01-22
JP97-232102 1997-08-28
JP9232102A JPH10269025A (en) 1997-01-22 1997-08-28 Data reading method and device therefor

Publications (2)

Publication Number Publication Date
KR19980070095A KR19980070095A (en) 1998-10-26
KR100305309B1 true KR100305309B1 (en) 2001-11-22

Family

ID=26343963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970060268A KR100305309B1 (en) 1997-01-22 1997-11-15 Data reading method and data storage device

Country Status (2)

Country Link
JP (1) JPH10269025A (en)
KR (1) KR100305309B1 (en)

Also Published As

Publication number Publication date
JPH10269025A (en) 1998-10-09
KR19980070095A (en) 1998-10-26

Similar Documents

Publication Publication Date Title
US6289416B1 (en) Disk drive device and a method for controlling the same
US5537552A (en) Apparatus for selectively comparing pointers to detect full or empty status of a circular buffer area in an input/output (I/O) buffer
US20060215307A1 (en) Storage apparatus, control method and program
US7415636B2 (en) Method and apparatus for replacement processing
US6125459A (en) Information storing method, information storing unit, and disk drive
US6523142B1 (en) Apparatus and method of performing in a disk drive commands issued from a host system
JP2976780B2 (en) Information recording / reproducing device
JP2001092600A (en) Computer system having large capacity storage device and its operating method
US6088818A (en) Data read apparatus and data read method
KR100251950B1 (en) Data storage apparatus
KR100305309B1 (en) Data reading method and data storage device
US7062682B2 (en) Data recorder and data recording method avoiding data loss due to data transfer error
JP3431582B2 (en) Desk storage device and processing method when hang-up occurs applied to the device
JP3356106B2 (en) Magnetic disk device and retry processing method thereof
JP3150242B2 (en) Disk unit
JPH0793101A (en) Data backup device
JP2005222626A (en) Recording and reproducing apparatus
JPH0520789A (en) Recording and reproducing device
JPH07281836A (en) Data transfer method
JPH09282108A (en) Disk device
US6920011B2 (en) Recording device having disk-shaped recording medium and servo information processing method
JPH04341977A (en) Data reproducing control system
JPS58223860A (en) Magnetic disk controller
JPH0660550A (en) Disk device
JPH09161415A (en) Control method for magnetic tape apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee