KR100510507B1 - Method for compensating data error in the disc drive and apparatus thereof - Google Patents

Method for compensating data error in the disc drive and apparatus thereof Download PDF

Info

Publication number
KR100510507B1
KR100510507B1 KR10-2002-0084086A KR20020084086A KR100510507B1 KR 100510507 B1 KR100510507 B1 KR 100510507B1 KR 20020084086 A KR20020084086 A KR 20020084086A KR 100510507 B1 KR100510507 B1 KR 100510507B1
Authority
KR
South Korea
Prior art keywords
error
disk
read
data
host
Prior art date
Application number
KR10-2002-0084086A
Other languages
Korean (ko)
Other versions
KR20040057374A (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 KR10-2002-0084086A priority Critical patent/KR100510507B1/en
Publication of KR20040057374A publication Critical patent/KR20040057374A/en
Application granted granted Critical
Publication of KR100510507B1 publication Critical patent/KR100510507B1/en

Links

Classifications

    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Abstract

본 발명은 호스트에서 디스크 구동기에 장착된 디스크의 데이터를 액세스 할 때, 오류 정정 실패로 인하여 호스트에서 재생되는 신호의 질이 저하되는 것을 보상하기 위한 데이터 보상 방법 및 장치이다. The present invention is a data compensation method and apparatus for compensating for degradation of a signal reproduced in a host due to an error correction failure when a host accesses data of a disc mounted in a disc driver.

본 발명에 따른 방법은, 호스트가 디스크 구동기에 장착된 디스크에 기록된 데이터를 액세스 할 때, 오류 정정 실패로 인한 에러 신호가 발생되면, 호스트의 동작 모드를 체크한다. 그 다음, 호스트의 동작 모드에 따라 결정된 데이터 보상 과정을 수행하여 상기 오류 정정 실패로 인해 발생된 에러를 보상한 데이터를 상기 호스트로 전송한다. The method according to the invention checks the mode of operation of the host if an error signal due to an error correction failure occurs when the host accesses the data recorded on the disc mounted in the disc drive. Thereafter, a data compensation process determined according to an operation mode of the host is performed to transmit data compensated for an error caused by the error correction failure to the host.

따라서, 디스크 구동기에서 읽기 재 시도를 하여도 에러가 발생될 확률이 높은 C2 에러가 발생되어도, 호스트의 동작 모드와 관계없이 디스크 구동기에서 호스트로 전송되는 데이터의 상태를 항상 양호하게 유지시킬 수 있다. Therefore, even if a C2 error having a high probability of generating an error occurs even when the disk driver attempts to read again, the state of the data transmitted from the disk driver to the host can be maintained in good condition regardless of the operation mode of the host.

Description

디스크 구동기에서 데이터 에러 보상 방법 및 장치{Method for compensating data error in the disc drive and apparatus thereof}Method and compensating data error in the disc drive and apparatus

본 발명은 데이터 액세스 시 데이터 보상 방법 및 장치에 관한 것으로, 특히, 호스트에서 디스크 구동기에 장착된 디스크의 데이터를 액세스 할 때, 오류 정정 실패로 인하여 호스트로 전송되는 데이터의 질 저하를 보상하기 위한 데이터 보상 방법 및 장치에 관한 것이다. The present invention relates to a data compensation method and apparatus for data access, and in particular, data for compensating for the deterioration of data transmitted to a host due to an error correction failure when a host accesses data of a disk mounted in a disk driver. The present invention relates to a compensation method and apparatus.

호스트에서 디스크 구동기에 장착된 디스크의 데이터를 액세스하기 위하여, 디스크 구동기로 리드 커맨드(read command)를 송출하면, 디스크 구동기는 장착된 디스크에 기록된 데이터를 재생한다. 즉, 상기 디스크 구동기는 디스크에 기록된 데이터를 픽업하고, 데이터 픽업에 의해 발생된 고주파 신호를 소정 치로 증폭하고, 증폭된 데이터를 디코딩한 뒤, 버퍼링하여 호스트로 전송한다. When a host issues a read command to the disk driver in order to access the data of the disk mounted in the disk driver, the disk driver plays back the data recorded on the mounted disk. That is, the disc driver picks up the data recorded on the disc, amplifies the high frequency signal generated by the data pickup to a predetermined value, decodes the amplified data, and buffers the transmitted data to the host.

상기 디코딩 시, 상기 디스크 구동기는 재생되는 데이터에 대한 오류 정정을 한다. 상기 오류 정정은 크로스 인터리브 리드 솔로몬 코드(Cross Interleaved Read-Solomon Code: CIRC)에 의해 수행된다. 상기 CIRC는 인터리브와 리드-솔로몬 부호를 조합한 것으로, C1 정정과 C2 정정으로 나뉘어 수행된다. 그러나, C1 정정과 C2 정정을 거치고도 정정을 실패한 심볼(symbol)이 발생되면 C2에러가 발생된다. 상기 C2 에러는 디스크의 해당 블록에 스크래치(Scratch)가 존재하거나 디스크가 불량인 경우에 발생될 수 있다. In the decoding, the disc driver makes error corrections on the data to be reproduced. The error correction is performed by a Cross Interleaved Read-Solomon Code (CIRC). The CIRC is a combination of interleaved and Reed-Solomon codes. The CIRC is divided into C1 correction and C2 correction. However, if a symbol fails to be corrected even after C1 correction and C2 correction, a C2 error occurs. The C2 error may occur when a scratch exists in a corresponding block of the disk or when the disk is bad.

상기 디스크 구동기는 상기 C2에러가 발생되면, 디스크에 기록된 데이터에 대한 읽기를 재 시도(retry)하고, 재 시도 횟수에 따라 배속을 다운시켜 다시 재 시도하는 방식으로 C2 에러에 대한 보상을 한다.When the C2 error occurs, the disk driver compensates for the C2 error by retrying reading of the data recorded on the disk, and retrying by lowering the speed according to the number of retries.

그러나, 상기 C2 에러 값이 크거나 C2 에러 값은 작으나 C2에러의 발생 빈도가 높은 경우에, 사실상 디스크에 기록된 데이터에 대한 읽기를 재 시도하여도 계속해서 에러가 발생될 확률이 높다. 상기 C2 에러 값이 큰 경우는 1회 에러 정정시 에러 정정이 실패한 심볼이 많은 경우를 의미한다. 상기 C2에러 값은 작으나 C2에러의 발생 빈도가 높은 것은 계속해서 소량 심볼의 C2 에러가 발생한다는 것을 의미한다.However, when the C2 error value is large or the C2 error value is small but the frequency of occurrence of C2 errors is high, there is a high probability that the error will continue to occur even if the reading of data written on the disk is retried. If the C2 error value is large, this means that there are many symbols for which error correction has failed in one error correction. Although the C2 error value is small, the occurrence frequency of the C2 error is high, which means that a small amount of C2 errors occur continuously.

따라서 상술한 바와 같이 읽기 재 시도에도 불구하고 계속해서 에러 발생 확률이 높은 경우에, 호스트로 전송할 데이터를 저장하는 버퍼가 빈(empty) 상태가 될 수 있다. 상기 버퍼가 빈 상태가 되면, 호스트로 전송되는 데이터가 끊기므로, 호스트가 디스크 구동기로부터 전송되는 데이터를 실시간 재생하고 있는 경우에 재생되는 신호가 끊기는 현상이 발생한다. 특히, 재생되는 신호가 오디오인 경우에 음이 끊기는 현상이 발생된다. Accordingly, as described above, in the case where the error probability continues to be high despite the read retry, the buffer for storing data to be transmitted to the host may be empty. When the buffer becomes empty, data to be transmitted to the host is cut off, and thus a signal to be reproduced is cut off when the host is reproducing data transmitted from the disk driver in real time. In particular, when the signal to be reproduced is audio, the sound is interrupted.

또한, 상술한 바와 같이 읽기 재 시도에도 불구하고 계속해서 에러 발생 확률이 높은 경우에, 버퍼에 불량 데이터가 저장될 수 있다. 만약 버퍼에 불량 데이터가 저장되고, 이 불량 데이터가 호스트로 전송되면, 호스트의 동작 모드가 실시간 재생모드이든 저장모드이든 관계없이 호스트는 불량 데이터가 실린 신호를 출력하게 된다. 예를 들어 재생되는 신호가 오디오 신호인 경우에 사용자는 음이 튀는 현상을 느낄 수 있다. In addition, in the case where the error occurrence probability is continuously high despite the read retry as described above, bad data may be stored in the buffer. If the bad data is stored in the buffer and the bad data is transmitted to the host, the host outputs a signal containing the bad data regardless of whether the host operation mode is a real time playback mode or a storage mode. For example, when the reproduced signal is an audio signal, the user may feel a popping phenomenon.

본 발명은 상술한 문제들을 해결하기 위해 제안한 것으로, 호스트에서 디스크 구동기에 장착된 디스크의 데이터를 액세스 할 때, 오류 정정 실패로 인하여 호스트에서 재생되는 신호의 질이 저하되는 것을 보상하기 위한 데이터 보상 방법 및 장치를 제공하는데 그 목적이 있다. The present invention has been proposed to solve the above problems, and the data compensation method for compensating for the degradation of the signal reproduced in the host due to the error correction failure when the host accesses the data of the disk mounted in the disk drive And to provide a device.

본 발명의 다른 목적은 디스크에서 액세스된 데이터에 대한 오류 정정 실패 시, 호스트의 동작 모드에 따라 결정된 방식으로 호스트로 전송되는 데이터의 에러를 보상하기 위한 데이터 보상 방법 및 장치를 제공하는데 있다. Another object of the present invention is to provide a data compensation method and apparatus for compensating for an error in data transmitted to a host in a manner determined according to an operation mode of the host when an error correction failure for data accessed from the disk is failed.

본 발명의 또 다른 목적은 호스트에서 디스크 구동기에 장착된 디스크의 데이터를 액세스할 때, 오류 정정 실패로 인한 에러 발생 정도에 따라 데이터 읽기 재 시도 횟수 및 타겟 어드레스를 조정하여 호스트로 전송되는 데이터의 에러를 보상하기 위한 데이터 보상 방법 및 장치를 제공하는데 있다. It is still another object of the present invention to adjust the number of data read retries and the target address according to the degree of error occurrence due to an error correction failure when the host accesses the data of the disk mounted in the disk driver. To provide a data compensation method and apparatus for compensating for.

상기 목적들을 달성하기 위하여 본 발명에 따른 방법은, 호스트가 디스크 구동기에 장착된 디스크에 기록된 데이터를 액세스 할 때, 오류 정정 실패로 인하여 발생된 에러에 대한 데이터 보상 방법에 있어서, 상기 오류 정정 실패로 인한 에러 신호가 발생되면, 상기 호스트의 동작 모드를 체크하는 단계; 상기 호스트의 동작 모드에 따라 결정된 데이터 보상 과정을 수행하여 상기 오류 정정 실패로 인해 발생된 에러를 보상한 데이터를 상기 호스트로 전송하는 단계를 포함하는 것이 바람직하다. In order to achieve the above objects, a method according to the present invention is a data compensation method for an error caused by an error correction failure when a host accesses data recorded on a disc mounted in a disc drive, the error correction failure Checking an operation mode of the host when an error signal is generated; And performing data compensation process determined according to the operation mode of the host, and transmitting data to the host to compensate for an error caused by the error correction failure.

상기 호스트의 동작 모드가 실시간 재생모드이면, 상기 데이터 보상 과정은, 상기 호스트로 전송될 수 있는 데이터 량을 체크하는 단계; 상기 호스트로 전송될 수 있는 데이터 량이 소정 치 이하이면, 상기 오류 정정 실패로 인해 발생된 에러의 정도를 파악하는 단계; 상기 에러의 정도가 읽기 재 시도를 하여도 에러 발생 확률이 높은 경우이면, 상기 디스크에 대한 타겟 어드레스를 증가시키는 단계; 상기 호스트로 전송될 수 있는 데이터 량이 소정 치 이하가 아니면, 상기 오류 정정 실패로 인한 에러가 발생된 블록에 대한 읽기 재 시도 횟수를 토대로 상기 디스크 구동기의 배속을 조정하면서 상기 디스크에 대한 읽기 모드를 수행하는 단계를 포함하는 것이 바람직하다. If the operation mode of the host is a real time playback mode, the data compensation process includes: checking an amount of data that can be transmitted to the host; If the amount of data that can be transmitted to the host is less than or equal to a predetermined value, determining a degree of an error caused by the error correction failure; Increasing a target address for the disk if the error probability is high even if the degree of error is retryed; If the amount of data that can be transmitted to the host is less than a predetermined value, the read mode for the disk is performed while adjusting the speed of the disk driver based on the number of read retries for the block in which the error due to the error correction failure occurs. It is preferable to include the step of.

상기 오류 정정 실패로 인하여 발생된 에러는 C2 에러이면, 상기 에러의 정도는 발생된 C2 에러 값이 소정 범위에 포함되는 C2에러가 소정 횟수 이상 발생되거나 상기 발생된 C2 에러 값이 과도한 경우를 포함하는 것이 바람직하다. If the error generated due to the error correction failure is a C2 error, the degree of the error includes a case where a C2 error in which the generated C2 error value is included in a predetermined range occurs more than a predetermined number of times or the generated C2 error value is excessive. It is preferable.

상기 호스트 동작 모드가 저장 모드이면, 상기 데이터 보상 과정은, 상기 에러가 발생된 블록에 대한 읽기 시간이 소정 시간 이상 경과하였는지 또는 과도한 에러 값이 발생되지 않았는지를 체크하는 단계; 상기 소정 시간 이상 경과하였거나 상기 과도한 에러 값이 발생된 것으로 판단되면, 상기 디스크에 대한 타겟 어드레스를 증가시키는 단계; 상기 소정 시간 이상 경과하지 않고, 상기 과도한 에러 값이 발생되지 않은 경우에, 상기 에러가 발생된 블록에 대한 읽기 재 시도 횟수를 토대로 배속을 조정하면서 읽기를 재 시도하는 단계를 포함하는 것이 바람직하다. If the host operation mode is a storage mode, the data compensation process may include: checking whether a read time for the block in which the error occurs has elapsed for a predetermined time or an excessive error value has not occurred; If it is determined that the predetermined time elapses or the excessive error value has occurred, increasing a target address for the disk; If the predetermined time has not elapsed and the excessive error value does not occur, it is preferable to include retrying reading while adjusting the speed based on the number of read retries for the block in which the error has occurred.

상기 데이터 보상 방법은, 상기 에러 신호가 발생되면, 상기 호스트의 동작 모드를 체크하기 이전에 발생된 에러의 정도를 체크하는 단계; 상기 에러의 정도가 상기 에러가 발생된 블록에 대한 읽기 재 시도를 하여도 에러 발생 확률이 높은 경우이면, 상기 에러가 발생된 블록에 대한 읽기 재 시도 횟수를 강제적으로 조정하는 단계를 더 포함하는 것이 바람직하다. The data compensation method may further include: checking, when the error signal is generated, a degree of an error occurring before checking an operation mode of the host; If the degree of error is high even if the error occurrence probability is high even if the read retry of the block in which the error has occurred is further included, forcibly adjusting the number of read retries for the block in which the error has occurred. desirable.

상기 목적들을 달성하기 위하여 본 발명에 따른 장치는, 호스트가 디스크 구동기에 장착된 디스크에 기록된 데이터를 액세스 할 때, 오류 정정 실패로 인하여 발생된 에러에 대한 데이터 보상 장치에 있어서, 상기 디스크로부터 읽혀진 데이터를 디코딩하면서 오류 정정을 수행하는 디코딩부; 상기 디코딩부로부터 출력된 에러 정정된 데이터를 저장하는 버퍼; 상기 버퍼에 저장된 데이터를 상기 호스트로 전송하고, 상기 호스트로부터 출력되는 커맨드를 수신하는 인터페이스부; 상기 디코딩부에서 상기 오류 정정 실패로 인해 발생된 에러신호를 수신하면, 상기 인터페이스부를 통해 수신된 리드 커맨드와 상기 버퍼를 통해 호스트로 전송되는 데이터 전송량을 토대로 호스트의 동작모드를 판단하고, 상기 호스트의 동작모드에 따라 상기 발생된 에러를 보상한 데이터가 호스트로 전송되도록 제어하는 제어부를 포함하는 것이 바람직하다. In order to achieve the above objects, an apparatus according to the present invention is a data compensation apparatus for an error caused by an error correction failure when a host accesses data recorded on a disk mounted to a disk drive, the apparatus being read from the disk. A decoding unit which performs error correction while decoding data; A buffer for storing error corrected data output from the decoding unit; An interface unit for transmitting the data stored in the buffer to the host and receiving a command output from the host; When the decoding unit receives an error signal generated due to the error correction failure, the operation mode of the host is determined based on the read command received through the interface unit and the amount of data transmitted to the host through the buffer. It is preferable to include a control unit for controlling the data to compensate for the generated error is transmitted to the host according to the operation mode.

상기 제어부는 상기 호스트의 동작 모드가 실시간 재생 모드이면, 상기 버퍼에 저장된 데이터 량이 소정 치 이하인지를 체크하고, 상기 데이터 량이 소정 치 이하이면, 발생된 에러의 정도가 상기 에러가 발생된 블록에 대한 읽기를 재 시도하여도 에러가 발생될 확률이 높은 경우이면, 상기 디스크에 대한 타겟 어드레스를 증가시켜 읽기를 재 시도하는 것이 바람직하다. If the operation mode of the host is a real time playback mode, the controller checks whether the amount of data stored in the buffer is less than or equal to a predetermined value, and if the amount of data is less than or equal to a predetermined value, the degree of error generated is determined for the block in which the error is generated. If there is a high probability that an error occurs even after retrying the read, it is preferable to increase the target address for the disc and retry the read.

상기 에러의 정도는 상기 에러가 C2에러이면, 발생된 C2 에러 값이 소정 범위에 포함되는 C2에러가 소정 횟수 이상 발생되거나 상기 발생된 C2 에러 값이 과도한 경우를 포함하는 것이 바람직하다. If the error is a C2 error, the degree of error preferably includes a case where a C2 error in which the generated C2 error value is included in a predetermined range occurs more than a predetermined number of times or the generated C2 error value is excessive.

상기 제어부는 상기 호스트의 동작 모드가 저장 모드이고, 상기 에러가 발생된 블록에 대한 읽기 시간이 소정 시간이상 경과하였거나 과도한 량의 에러가 발생되었으면, 상기 디스크에 대한 타겟 어드레스를 증가시켜 상기 디스크에 대한 읽기를 재 시도하여 데이터를 보상하는 것이 바람직하다. If the operation mode of the host is a storage mode, and the read time for the block in which the error occurs has elapsed for a predetermined time or an excessive amount of error occurs, the controller increases the target address for the disk and It is desirable to retry the read to compensate for the data.

상기 제어부는 상기 디코딩부로부터 에러 신호가 수신되면, 발생된 에러의 정도를 체크하고, 상기 에러의 정도가 에러가 발생된 블록에 대한 읽기 재 시도를 하여도 에러 발생 확률이 높은 경우에, 상기 에러가 발생된 블록에 대한 재시도 횟수를 강제적으로 조정하는 것을 특징으로 하는 것이 바람직하다. When the error signal is received from the decoding unit, the controller checks the degree of the generated error, and if the error probability is high even if the error level is retried by reading the block in which the error occurs, the error is detected. It is preferable to forcibly adjust the number of retries for the generated block.

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

도 1은 본 발명의 바람직한 실시 예에 따른 데이터 액세스 시 데이터 보상 장치의 기능 블록 도이다. 도 1을 참조하면, 본 발명에 따른 데이터 보상 장치는, 디스크 구동기(100)와 호스트(110)로 구성된다. 디스크 구동기(100)는 호스트 인터페이스부(101), 제어부(102), 서보부(103), 픽업부(104), 스핀들 모터(105), 디스크(106), RF 증폭부(107), 코덱(108), 버퍼(109)로 구성된다. 1 is a functional block diagram of a data compensation apparatus when accessing data according to a preferred embodiment of the present invention. Referring to FIG. 1, a data compensating apparatus according to the present invention includes a disk driver 100 and a host 110. The disk driver 100 may include a host interface 101, a controller 102, a servo 103, a pickup 104, a spindle motor 105, a disk 106, an RF amplifier 107, and a codec ( 108, and a buffer 109.

호스트 인터페이스부(101)는 호스트(110)로부터 리드 커맨드(read command)를 수신하여 제어부(102)로 전송하고, 상기 리드 커맨드에 따라 디스크(106)로부터 읽혀진 데이터를 호스트(110)로 전송한다. 상기 디스크(106)로부터 읽혀진 데이터는 버퍼(109)에 저장되어 있다. The host interface 101 receives a read command from the host 110 and transmits the read command to the controller 102, and transmits data read from the disk 106 to the host 110 according to the read command. The data read from the disc 106 is stored in the buffer 109.

제어부(102)는 호스트 인터페이스부(101)로부터 리드 커맨드가 수신되면, 디스크(106)에 기록되어 있는 데이터가 호스트(110)로 전송될 수 있도록 디스크 구동기를 제어한다. 즉, 서보부(103)를 통해 스핀들 모터(105)를 제어하여 디스크(106)를 회전시키고, 서보부(103)를 통해 픽업부(104)를 제어하여 디스크(106)에 기록된 데이터가 픽업되도록 한다. When the read command is received from the host interface unit 101, the controller 102 controls the disc driver so that data recorded on the disc 106 can be transmitted to the host 110. That is, the disk 106 is rotated by controlling the spindle motor 105 through the servo section 103, and the data recorded on the disk 106 is picked up by controlling the pickup section 104 through the servo section 103. Be sure to

픽업부(104)는 디스크(106)에서 픽업한 데이터의 고주파(RF) 신호를 RF 증폭부(107)로 전송한다. RF 증폭부(107)는 입력되는 고주파 신호를 소정 치로 증폭한 뒤, 코덱(CODEC)(108)으로 전송한다. The pickup unit 104 transmits a high frequency (RF) signal of the data picked up by the disk 106 to the RF amplifier 107. The RF amplifier 107 amplifies the input high frequency signal to a predetermined value and transmits the same to the codec 108.

코덱(108)은 입력된 데이터를 코딩 및 디코딩한다. 특히, 코덱(108)은 RF 증폭부(107)로부터 수신된 고주파 신호를 디지털 신호로 변환하고, 상기 디지털 신호로 변환된 데이터를 디코딩 한 뒤, CIRC방식에 의해 오류 정정을 한다. 따라서 코덱(108)을 디코딩부로 취급할 수 있다. 상기 오류 정정 시, C2 정정을 실패한 심볼이 발생되면, C2에러 신호를 발생하면서 C2 에러 값을 코덱(108)에 구비되어 있는 레지스터(미 도시됨)에 저장시킨다. 상기 C2에러 값은 C2 정정이 실패한 심볼 수이다. 상기 C2에러 신호는 제어부(102)로 전송된다. 그러나, 오류 정정 후, C2 에러가 발생되지 않으면, 코덱(108)은 오류 정정된 데이터를 버퍼(109)로 전송한다. Codec 108 codes and decodes the input data. In particular, the codec 108 converts the high frequency signal received from the RF amplifier 107 into a digital signal, decodes the data converted into the digital signal, and then corrects the error by the CIRC method. Therefore, the codec 108 can be treated as a decoding unit. In the error correction, if a symbol that fails C2 correction is generated, a C2 error signal is generated and the C2 error value is stored in a register (not shown) included in the codec 108. The C2 error value is the number of symbols for which C2 correction failed. The C2 error signal is transmitted to the controller 102. However, if no C2 error occurs after error correction, the codec 108 sends the error corrected data to the buffer 109.

버퍼(109)는 코덱(108)으로부터 전송된 오류 정정된 데이터를 순차적으로 저장하고, 제어부(102)에 의해 제어되어 저장된 오류 정정된 데이터를 호스트 인터페이스부(101)로 전송한다.The buffer 109 sequentially stores the error corrected data transmitted from the codec 108, and transmits the stored error corrected data controlled and controlled by the control unit 102 to the host interface unit 101.

한편, 제어부(101)는 코덱(108)으로부터 C2 에러 신호가 수신되면, 코덱(108)에 구비되어 있는 상기 레지스터에 저장되어 있는 C2 에러 값을 읽어온다. 제어부(101)는 읽어온 C2 에러 값이 소정 범위에 포함되는지 체크한다. 만약 C2 에러 값이 소정 범위에 포함되면, C2에러 값이 상기 소정 범위에 포함된 C2 에러의 발생 횟수가 소정 횟수 이상인지를 체크한다. On the other hand, when the C2 error signal is received from the codec 108, the control unit 101 reads the C2 error value stored in the register provided in the codec 108. The controller 101 checks whether the read C2 error value is within a predetermined range. If the C2 error value is included in the predetermined range, it is checked whether the number of occurrences of the C2 error whose C2 error value is included in the predetermined range is more than the predetermined number of times.

상기 발생 횟수는 제어부(102)가 디스크(106)에 기록되어 있는 동일한 블록에 대한 읽기 재 시도에 따라 상기 소정 범위에 포함되는 C2 에러 값이 발생될 때마다 제어부(102)가 카운트한 값을 이용한다. 상기 소정 범위는 C2 에러 값이 과도하지는 않으나 발생 빈도가 높을 경우에 읽기를 재 시도한다고 하여도 정상적으로 데이터 읽기가 실패할 확률이 높은 값으로서, 실험적으로 정해진 값이다. 예를 들어, 과도한 C2에러 값이 250이고, 상기 읽기를 재 시도하여도 정상적으로 데이터 읽기가 실패할 확률이 높은 C2에러 값이 50이면, 상기 소정의 범위는 50이상이고, 250보다 작은 값으로 설정될 수 있다. The number of occurrences is a value counted by the control unit 102 whenever a C2 error value included in the predetermined range is generated by the control unit 102 according to a retry reading of the same block recorded on the disk 106. . The predetermined range is an experimentally determined value that has a high probability of failing to read data normally even if the C2 error value is not excessive but is retried when the occurrence frequency is high. For example, if the excessive C2 error value is 250 and the C2 error value having a high probability of failing to read data normally even after retrying the read is 50, the predetermined range is set to a value greater than 50 and smaller than 250. Can be.

따라서, C2 에러 값이 소정 범위에 포함된 C2 에러가 소정 횟수 이상 발생된 것으로 판단되면, 제어부(101)는 해당 블록에 대한 읽기 재 시도 횟수를 강제적으로 조정한다. 조정되는 재 시도 횟수는 상기 블록에 대한 읽기 재 시도시 배속을 다운시키기 위한 것이다. Therefore, when it is determined that the C2 error having the C2 error value in the predetermined range occurs more than a predetermined number of times, the controller 101 forcibly adjusts the number of read retries for the corresponding block. The adjusted number of retries is to reduce the speed at read retries for the block.

또한, 제어부(101)는 C2 에러 값이 과도한 C2에러가 발생된 것으로 판단된 경우에도 상기 블록에 대한 읽기 재 시도 시 배속을 다운시키도록 상기 재 시도 횟수를 강제적으로 조정한다. In addition, the controller 101 forcibly adjusts the number of retry attempts to lower the speed when retrying reading of the block even when it is determined that a C2 error has an excessive C2 error.

그러나, 코덱(108)으로부터 C2 에러 신호를 수신한 후, 체크한 상기 레지스터에 저장된 C2 에러 값이 상기 소정 범위 또는 과도한 C2 에러 값이 아니거나 상기 소정 범위에 포함되기는 하나 C2 에러의 발생 횟수가 상기 소정 횟수 이상이 아니면, 제어부(102)는 호스트(110)의 동작 모드를 체크한다. 호스트(110)의 동작 모드는 호스트(110)가 디스크 구동기(100)로부터 액세스한 데이터를 실시간으로 재생하는 모드로 운영되는지, 상기 액세스한 데이터를 저장(Extraction) 모드로 운영하는지를 체크하기 위한 것이다. However, after receiving the C2 error signal from the codec 108, the C2 error value stored in the checked register is not the predetermined range or the excessive C2 error value or is included in the predetermined range, but the number of occurrences of the C2 error is determined. If not more than a predetermined number of times, the controller 102 checks the operation mode of the host 110. The operation mode of the host 110 is to check whether the host 110 is operated in a mode of reproducing data accessed from the disk driver 100 in real time, or operating the accessed data in an extraction mode.

이를 위하여 제어부(102)는 호스트 인터페이스부(101)로부터 리드 커맨드를 수신한 후, 버퍼(109)에서 호스트 인터페이스부(101)로부터 전송된 데이터 량을 체크하여 호스트(110)가 데이터를 액세스하는 배속을 계산한다. 예를 들어 초당 전송되는 데이터 량이 75 블록이면, 제어부(102)는 호스트(110)의 데이터 액세스 배속을 1배속으로 판단한다. To this end, the control unit 102 receives a read command from the host interface unit 101, checks the amount of data transmitted from the host interface unit 101 in the buffer 109, and assigns the data to the host 110 to access the data. Calculate For example, if the amount of data transmitted per second is 75 blocks, the controller 102 determines the data access double speed of the host 110 as 1x speed.

만약 호스트(110)의 데이터 액세스 배속이 1배속이면, 제어부(102)는 현재 호스트(110)의 동작 모드를 실시간 재생 모드로 판단한다. 그러나, 호스트(110)의 데이터 액세스 배속이 1배속이 아니면, 제어부(102)는 현재 호스트(110)의 동작 모드를 저장 모드로 판단한다. 이는 호스트(110)가 저장 모드로 운영되는 경우에, 호스트(110)는 디스크 구동기(100)가 지원하는 최대 배속에 의해 데이터 액세스 속도가 좌우되기 때문이다. If the data access speed of the host 110 is 1x, the controller 102 determines the current operation mode of the host 110 as the real time playback mode. However, if the data access speed of the host 110 is not 1x, the controller 102 determines the current operation mode of the host 110 as the storage mode. This is because when the host 110 is operated in the storage mode, the host 110 has a data access speed depending on the maximum speed supported by the disk driver 100.

호스트(110)의 동작 모드가 실시간 재생모드로 판단되면, 제어부(102)는 버퍼(109)의 데이터 저장량이 소정 치 이하인지를 체크한다. 이는 C2에러 발생으로 동일한 블록에 대한 읽기 재 시도 처리로 인하여 버퍼(109)가 빈(empty) 상태가 되는 것을 방지하기 위한 것이다. 상기 소정 치는 호스트(110)가 1배속으로 데이터를 액세스할 때, 1초당 버퍼(109)에서 출력되는 데이터 량과 상기 읽기 재 시도 시 소요되는 시간을 토대로 결정될 수 있다.If the operation mode of the host 110 is determined to be a real time playback mode, the controller 102 checks whether the data storage amount of the buffer 109 is less than or equal to a predetermined value. This is to prevent the buffer 109 from becoming empty due to a read retry process for the same block due to C2 error. The predetermined value may be determined based on the amount of data output from the buffer 109 per second and the time required for the read retry when the host 110 accesses data at 1x speed.

만약 버퍼(109)의 데이터 저장량이 상기 소정 치 이하가 아니면, 제어부(102)는 읽기 재 시도 횟수를 토대로 배속을 조정하면서 C2에러가 발생된 블록에 대한 읽기를 재 시도한다. If the data storage amount of the buffer 109 is not equal to or less than the predetermined value, the control unit 102 retries reading of the block in which the C2 error occurs while adjusting the double speed based on the number of read retries.

그러나, 버퍼(109)의 데이터 저장량이 상기 소정 치 이하이면, 제어부(102)는 코덱(108)에 구비되어 있는 레지스터에 저장되어 있는 C2 에러 값이 상기 소정 범위에 포함되는지, 상기 소정 범위에 포함되면, 상기 소정 범위에 포함된 C2 에러 값이 발생된 횟수가 소정 횟수 이상인지 또는 과도한 C2 에러 값이 발생되지는 않았는지를 체크한다. However, if the data storage amount of the buffer 109 is equal to or less than the predetermined value, the control unit 102 includes the C2 error value stored in the register included in the codec 108 in the predetermined range, or in the predetermined range. When the number of occurrences of the C2 error value included in the predetermined range is greater than or equal to the predetermined number of times, it is checked whether an excessive C2 error value has occurred.

만약 발생된 C2 에러 값이 소정 범위에 속하고, C2 에러 값이 상기 소정 범위에 속하는 C2 에러가 소정 횟수 이상 발생되거나 과도한 C2 에러 값을 갖는 C2 에러가 발생된 것으로 판단되면, 제어부(102)는 타겟 어드레스를 1 증가시킨다. 이는 C2 에러가 발생된 블록에 대한 읽기 재 시도를 더 이상 수행하지 않겠다는 의미이다. 따라서, 디스크 구동기(100)는 디스크(106)에 기록되어 있는 현재 C2 에러가 발생된 블록의 다음 블록에 대한 읽기를 시도하게 된다. If it is determined that the generated C2 error value is within a predetermined range, and the C2 error value is within the predetermined range, the C2 error occurs more than a predetermined number of times or a C2 error having an excessive C2 error value is generated. Increment the target address by one. This means that no further read retries will be performed for blocks with C2 errors. Therefore, the disc driver 100 attempts to read the next block of the block in which the current C2 error recorded on the disc 106 has occurred.

그러나, 만약 호스트(110)의 동작 모드가 실시간 재생 모드이고, 버퍼(109)에 저장된 데이터 량이 상기 소정 치 이하로 판단된 상태에서 상기 레지스터에 저장되어 있는 C2 에러 값이 소정 범위 또는 과도한 C2 에러 값으로 판단되지 않고, 상기 소정 범위에 속하더라고 발생된 횟수가 상기 소정 횟수 이상이 아닌 것으로 판단되면, 제어부(102)는 현재 읽혀진 블록에 대한 재 시도 횟수를 토대로 배속을 조정하면서 읽기를 재 시도한다. However, if the operation mode of the host 110 is a real time playback mode, and the amount of data stored in the buffer 109 is determined to be less than or equal to the predetermined value, the C2 error value stored in the register is within a predetermined range or excessive C2 error value. If it is determined that the number of times generated is not more than the predetermined number of times even if it is within the predetermined range, the control unit 102 retries the reading while adjusting the speed based on the number of retries for the currently read block.

한편, C2 에러가 발생된 상태에서 호스트(110)의 동작 모드가 저장 모드로 판단되면, 제어부(102)는 C2 에러가 발생된 블록에 대한 읽기를 시도한 시간이 소정 시간이상 경과하였지 또는 과도한 C2 에러 값이 발생되었는지를 체크한다. 상기 소정 시간은 호스트(110)가 디스크 구동기(100)에 대한 데이터 액세스 시, 데이터가 일정 시간동안 읽혀지지 않을 경우에 데이터 액세스를 강제적으로 리셋 시키게 되는 상황을 고려하여 설정된다. 예를 들어, 호스트(110)가 7초 동안 디스크 구동기(100)로부터 데이터가 액세스되지 않을 때, 데이터 액세스를 강제적으로 리셋 한다고 하면, 상기 소정 시간은 7초 이하인 5초로 설정될 수 있다. On the other hand, if the operation mode of the host 110 is determined to be a storage mode in a state where a C2 error occurs, the controller 102 has attempted to read a block in which the C2 error has occurred has elapsed for a predetermined time or excessive C2 error. Check if a value has occurred. The predetermined time is set in consideration of a situation in which the host 110 forcibly resets the data access when data is not read for a predetermined time when the host 110 accesses the data to the disk driver 100. For example, if the host 110 forcibly resets data access when no data is accessed from the disk driver 100 for 7 seconds, the predetermined time may be set to 5 seconds that is 7 seconds or less.

호스트(110)의 동작 모드가 저장 모드인 상태에서 읽기를 시도한 시간이 상기 소정 시간이상 경과한 것으로 판단되거나 과도한 C2 에러 값이 발생된 것으로 판단되면, 제어부(102)는 타겟 어드레스를 1증가시킨 후, 디스크(106)에 대한 재생 모드를 제어한다. 그러나, 호스트(110)의 동작 모드가 저장 모드인 상태에서 읽기를 시도한 시간이 상기 소정 시간이상 경과하지 않고, 과도한 C2 에러 값이 발생되지 않은 것으로 판단되면, 제어부(102)는 C2 에러가 발생된 블록에 대한 재 시도 횟수를 토대로 배속을 조정하면서 상기 블록에 대한 읽기가 재 시도되도록 서보부(103)로 제어 신호를 출력한다. If it is determined that the time that the reading attempt has elapsed more than the predetermined time or the excessive C2 error value is generated while the operation mode of the host 110 is the storage mode, the controller 102 increases the target address by one. The playback mode for the disc 106 is controlled. However, if it is determined that the time that the reading attempt is not made for more than the predetermined time and the excessive C2 error value does not occur in the state in which the operation mode of the host 110 is the storage mode, the controller 102 generates a C2 error. The control signal is output to the servo unit 103 so that the reading of the block is retried while adjusting the double speed based on the number of retries for the block.

도 2는 본 발명의 바람직한 실시 예에 따른 데이터 액세스 시 데이터 보상 방법에 대한 동작 흐름 도이다. 2 is a flowchart illustrating a data compensation method when accessing data according to an exemplary embodiment of the present invention.

호스트(110)가 디스크 구동기(100)로부터 데이터를 액세스하고 있을 때, 코덱(108)에서 C2 에러가 발생되면, 제어부(102)는 제 201 단계에서 C2 에러 값이 소정 범위인 C2 에러가 소정 횟수 이상 발생되거나 과도한 C2 에러 값을 갖는 C2 에러가 발생되었는지를 체크한다. 이는 C2 에러 값이 소정 범위인 C2에러가 소정 횟수 이상 발생되거나 과도한 C2에러 값을 갖는 C2에러가 발생되면, 에러가 발생된 블록에 대한 읽기 재시도를 하여도 C2에러가 다시 발생될 가능성이 높기 때문이다. If the C2 error occurs in the codec 108 when the host 110 is accessing data from the disk driver 100, the controller 102 determines that the C2 error having a predetermined range of C2 error values is a predetermined number of times in step 201. Check if a C2 error occurred with an abnormal or excessive C2 error value. This means that if a C2 error with a predetermined range of C2 errors occurs a predetermined number of times or a C2 error with an excessive C2 error occurs, there is a high possibility that the C2 error will occur again even if a read retry is performed on the block in which the error occurs. Because.

제 201 단계에서 C2 에러 값이 소정 범위인 C2 에러가 소정 횟수 이상 발생되었거나 과도한 C2 에러 값을 갖는 C2 에러가 발생된 것으로 판단되면, 제어부(102)는 제 202 단계에서 재 시도 회수를 강제적으로 조정한다. 강제적으로 조정되는 재 시도 횟수는 다음 읽기 재 시도 시 디스크 구동기(100)의 배속을 다운시킬 수 있는 값이다. If it is determined in step 201 that a C2 error having a predetermined range of C2 error values has occurred more than a predetermined number of times or a C2 error having an excessive C2 error value has occurred, the controller 102 forcibly adjusts the number of retries in step 202. do. The number of retries that are forcibly adjusted is a value that can reduce the speed of the disk driver 100 during the next read retry.

제 201 단계에서 C2 에러 값이 소정 범위인 C2 에러가 소정 횟수 이상 발생되지 않고 과도한 C2 에러 값을 갖는 C2 에러가 발생되지 않은 것으로 판단되면, 제어부(102)는 제 203 단계에서 호스트(110)의 동작 모드가 실시간 재생(play) 모드인지를 판단한다. 또한, 제 202 단계에서 재 시도 회수를 강제적으로 조정한 후에도 제어부(102)는 제 203 단계로 진행되어 호스트(110)의 동작모드를 체크한다. If it is determined in step 201 that the C2 error having the C2 error value is within the predetermined range does not occur more than a predetermined number of times and the C2 error having the excessive C2 error value does not occur, the control unit 102 determines that the host 110 of the host 110 has reached the step S203. It is determined whether the operation mode is a real time play mode. In addition, even after forcibly adjusting the number of retries in step 202, the controller 102 proceeds to step 203 to check the operation mode of the host 110.

제 203 단계에서 호스트(110)의 동작 모드가 실시간 재생 모드로 판단되면, 제어부(102)는 제 204 단계에서 버퍼에 저장된 데이터 량이 소정 치 이하인지를 판단한다. 이는 호스트로 전송될 수 있는 데이터 량을 체크하기 위한 것이다. If the operation mode of the host 110 is determined as the real time playback mode in operation 203, the controller 102 determines whether the amount of data stored in the buffer is equal to or less than a predetermined value in operation 204. This is to check the amount of data that can be sent to the host.

제 204 단계에서 버퍼에 저장된 데이터 량이 소정 치 이하로 판단되면, 제어부(102)는 제 205 단계에서 C2 에러 값이 소정 범위에 속하는 C2 에러가 소정 횟수 이상 발생되었는지 또는 과도한 C2 에러가 발생되었는지를 체크한다. If it is determined in step 204 that the amount of data stored in the buffer is less than or equal to a predetermined value, the control unit 102 checks in step 205 whether a C2 error in which the C2 error value falls within a predetermined range has occurred more than a predetermined number of times or an excessive C2 error has occurred. do.

제 205 단계에서 C2 에러 값이 소정 범위에 속하는 C2 에러가 소정 횟수 이상 발생되거나 과도한 C2 에러 값을 갖는 C2 에러가 발생된 것으로 판단되면, 제어부(102)는 제 206 단계에서 타겟 어드레스를 1 증가시킨다. If it is determined in step 205 that a C2 error having a C2 error value within a predetermined range occurs more than a predetermined number of times or a C2 error having an excessive C2 error value has occurred, the controller 102 increases the target address by 1 in step 206. .

그 다음, 제 207 단계에서 제어부(102)는 해당되는 블록에 대한 재 시도 횟수를 토대로 배속을 조정하고, 제 208 단계에서 읽기 모드 수행 루틴으로 진행되어 디스크(106)의 해당 블록에 대한 읽기 모드를 수행한다. Next, in step 207, the controller 102 adjusts the speed based on the number of retries for the corresponding block, and in step 208, the controller 102 proceeds to the read mode execution routine to change the read mode for the corresponding block of the disk 106. Perform.

한편, 제 204 단계에서 버퍼(109)의 데이터 저장량이 소정 치 이하가 아니거나 제 205 단계에서 C2 에러 값이 소정 범위의 C2 에러가 소정 횟수 이상 발생되지 않고 과도한 C2 에러 값을 갖는 C2에러가 발생되지 않으면, 제어부(102)는 제 207 단계로 진행된다. On the other hand, in step 204, the data storage amount of the buffer 109 is not less than or equal to a predetermined value, or in step 205, a C2 error having an excessive C2 error value is generated without a C2 error having a predetermined range of C2 errors more than a predetermined number of times. If not, the controller 102 proceeds to step 207.

또한, 제 203 단계에서 호스트(110)의 동작 모드가 실시간 재생모드가 아닌 것으로 판단되면, 저장 모드로 동작되는 것이므로, 제어부(102)는 제 209 단계에서재 시도를 포함한 해당 블록에 대한 읽기 시간이 소정 시간 이상 경과하였거나 과도한 C2 에러 값을 갖는 C2에러가 발생되었는지를 체크한다. In addition, if it is determined in operation 203 that the operation mode of the host 110 is not the real time playback mode, the operation mode is operating in the storage mode. Check whether a C2 error has elapsed for a predetermined time or has an excessive C2 error value.

제 209 단계에서 상기 읽기 시간이 소정 시간 이상 경과하거나 과도한 C2 에러 값을 갖는 C2 에러가 발생된 것으로 판단되면, 제어부(102)는 제 206 단계로 진행된다. 그러나 제 209 단계에서 상기 읽기 시간이 소정 시간 이상 경과하지 않고, 과도한 C2 에러 값을 갖는 C2에러가 발생되지 않았으면, 제어부(102)는 제 207 단계로 진행된다. If it is determined in step 209 that the read time has elapsed for more than a predetermined time or a C2 error having an excessive C2 error value has occurred, the controller 102 proceeds to step 206. However, if the read time has not elapsed for more than a predetermined time and a C2 error with an excessive C2 error value has not occurred in step 209, the controller 102 proceeds to step 207.

상술한 도 2에 도시된 과정을 통해 상기 C2 에러에 대한 보상이 이루어진 데이터는 호스트로 전송된다. 또한, 상술한 도 2에서 소정 범위, 소정 횟수, 소정 치는 도 1에서 정의된 바와 같다. Through the process shown in FIG. 2 described above, the data compensated for the C2 error is transmitted to the host. In addition, the predetermined range, the predetermined number of times, and the predetermined value in FIG. 2 are the same as those defined in FIG. 1.

상술한 본 발명에 의하면, 호스트에서 디스크 구동기에 장착된 디스크의 데이터를 실시간 재생 모드로 액세스할 때, C2 에러가 발생되면, 연속적으로 데이터가 전송될 수 있도록 상기 C2 에러를 보상한 데이터를 전송하고, 호스트에서 디스크 구동기에 장착된 디스크의 데이터를 저장 모드로 액세스할 때, C2 에러가 발생되면, 정확하게 데이터가 전송될 수 있도록 상기 C2 에러를 보상한 데이터를 전송함으로서, C2에러 발생 시 호스트의 동작 모드와 관계없이 디스크 구동기에서 호스트로 전송되는 데이터의 상태를 항상 양호하게 유지시킬 수 있다. According to the present invention described above, when the C2 error occurs when the host accesses the data of the disc mounted in the disc driver in the real time play mode, the data compensated for the C2 error is transmitted so that the data can be continuously transmitted. When the C2 error occurs when the host accesses the data of the disk mounted in the disk driver, the host transmits data that compensates for the C2 error so that the data can be transmitted correctly. Regardless of the mode, the state of the data sent from the disk driver to the host can always be kept good.

따라서 C2에러 발생 시에도 호스트에서 출력되는 데이터가 끊기거나 불량하지 않도록 할 수 있다. 예를 들어 호스트에서 출력되는 신호가 오디오 신호인 경우에 끊기거나 튀는 현상이 발생되는 것을 방지할 수 있다. Therefore, even in the event of C2 error, the data output from the host can be prevented from being dropped or bad. For example, when the signal output from the host is an audio signal, it may be prevented that a break or splash occurs.

본 발명은 상술한 실시 예에 한정되지 않으며, 본 발명의 사상 내에서 당업자에 의한 변형이 가능함은 물론이다. 따라서, 본 발명에서 권리를 청구하는 범위는 상세한 설명의 범위 내로 정해지는 것이 아니라 후술하는 청구범위로 정해질 것이다. The present invention is not limited to the above-described embodiments, and variations of the present invention can be made by those skilled in the art within the spirit of the present invention. Therefore, the scope of claims in the present invention will not be defined within the scope of the detailed description will be defined by the claims below.

도 1은 본 발명에 따른 데이터 액세스 시 데이터 보상 장치에 대한 기능 블록 도이다.1 is a functional block diagram of a data compensation apparatus when accessing data according to the present invention.

도 2는 본 발명에 따른 데이터 액세스 시 데이터 보상 방법에 대한 동작 흐름 도이다. 2 is a flowchart illustrating a data compensation method when accessing data according to the present invention.

Claims (13)

디스크, 상기 디스크로부터 읽혀진 데이터를 디코딩하면서 에러 정정을 수행하는 디코딩부, 및 제어부를 포함하는 디스크 구동기에서 상기 에러 정정의 실패로 인한 데이터 에러를 보상하는 방법에 있어서, A method for compensating for a data error due to a failure of an error correction in a disc driver comprising a disc, a decoding unit for performing error correction while decoding data read from the disc, and a control unit, 상기 에러 정정의 실패로 인한 에러가 상기 디코딩부로부터 발생되면, 상기 제어부에 의해 상기 에러의 상태를 체크하는 단계;Checking an error state by the controller if an error due to the failure of the error correction is generated from the decoding unit; 상기 체크결과, 상기 디스크상의 상기 에러가 발생된 블록에 대한 읽기 재 시도를 하여도 에러가 발생될 것으로 판단되면, 상기 제어부에 의해 상기 디스크에 대한 타겟 어드레스를 증가시킨 후, 상기 디스크에 대한 읽기 재 시도 횟수를 조정하여 상기 디스크에 대한 읽기 모드를 수행하는 단계; 및 As a result of the check, if it is determined that an error will occur even if a read retry is performed on the block in which the error has occurred, the controller increases the target address for the disc and then rereads the read. Adjusting the number of attempts to perform a read mode for the disc; And 상기 체크결과, 상기 디스크상의 상기 에러가 발생된 블록에 대한 읽기 재 시도 시 에러가 발생되지 않을 것으로 판단되면, 상기 제어부에 의해 상기 디스크에 대한 타겟 어드레스를 증가시키지 않고, 상기 디스크에 대한 읽기 재 시도 횟수를 조정하여 상기 디스크에 대한 읽기 모드를 수행하는 단계를 포함하는 디스크 구동기에서 데이터 에러 보상 방법.As a result of the check, if it is determined that no error occurs when retrying reading of the block on which the error occurred on the disk, the controller does not increase the target address for the disk and attempts to read the disk. Adjusting the number of times to perform a read mode for the disk. 디스크, 상기 디스크로부터 읽혀진 데이터를 디코딩하면서 에러 정정을 수행하는 디코딩부, 상기 디코딩부로부터 출력되는 에러 정정된 데이터를 저장하는 버퍼, 및 제어부를 포함하는 디스크 구동기로부터 호스트가 데이터를 액세스할 때, 상기 에러 정정의 실패로 인한 데이터 에러를 보상하는 방법에 있어서,When a host accesses data from a disk driver including a disk, a decoding unit for performing error correction while decoding data read from the disk, a buffer for storing error corrected data output from the decoding unit, and a control unit. In the method for compensating for data error due to failure of error correction, 상기 에러 정정의 실패로 인한 에러가 상기 디코딩부로부터 발생되면, 상기 제어부에 의해 상기 호스트의 동작 모드를 체크하는 제 1 단계;A first step of checking, by the controller, an operation mode of the host when an error due to the failure of the error correction is generated from the decoding unit; 상기 호스트의 동작 모드가 실시간 재생 모드이면, 상기 버퍼에 저장된 데이터 량과 상기 에러의 상태를 토대로 상기 제어부에 의해 상기 디스크에 대한 타겟 어드레스 증가 여부를 결정한 후, 상기 디스크에 대한 읽기 재 시도 횟수를 조정하여 상기 디스크에 대한 읽기 모드를 수행하는 제 2 단계; 및 If the operation mode of the host is a real time playback mode, the controller determines whether to increase the target address for the disk based on the amount of data stored in the buffer and the error state, and then adjusts the number of read retries for the disk. A second step of performing a read mode for the disc; And 상기 호스트의 동작 모드가 저장 모드이면, 상기 에러가 발생된 상기 디스크상의 블록에 대한 읽기 시간과 상기 에러의 상태를 토대로 상기 제어부에 의해 상기 타겟 어드레스 증가 여부를 결정한 후, 상기 디스크에 대한 읽기 재 시도 횟수를 조정하여 상기 디스크에 대한 읽기 모드가 수행되는 제 3 단계를 포함하는 디스크 구동기에서 데이터 에러 보상 방법.If the operation mode of the host is a storage mode, the controller determines whether the target address is increased by the controller based on a read time of the block on the disk on which the error occurs and the state of the error, and then attempts to read the disk. And adjusting a number of times to perform a read mode for the disk. 제 2 항에 있어서, 상기 호스트의 동작 모드가 실시간 재생모드이면, 상기 제 2 단계는, The method of claim 2, wherein if the operating mode of the host is a real-time playback mode, the second step, 상기 제어부에 의해 상기 버퍼에 저장된 데이터 량이 소정치 이하인지를 체크하는 단계;Checking by the controller whether the amount of data stored in the buffer is less than or equal to a predetermined value; 상기 버퍼에 저장된 데이터 량이 상기 소정치 이하이면, 상기 제어부에 의해 상기 에러의 상태를 체크하는 단계;If the amount of data stored in the buffer is less than or equal to the predetermined value, checking the state of the error by the controller; 상기 에러의 상태를 토대로 상기 디스크상의 상기 에러가 발생된 블록에 대한 읽기를 재 시도하여도 에러가 발생될 것으로 판단되면, 상기 제어부에 의해 상기 타겟 어드레스를 증가시킨 뒤, 상기 디스크에 대한 읽기 재 시도 횟수를 조정하는 단계;If it is determined that an error will occur even if the reading of the block on which the error occurred on the disk is retried based on the state of the error, the controller increases the target address and then attempts to read the disk. Adjusting the number of times; 상기 버퍼에 저장된 데이터 량이 상기 소정치 이하가 아니고, 상기 에러의 상태가 상기 디스크상의 에러가 발생된 블록에 대한 읽기를 재 시도할 때 에러가 발생되지 않을 것으로 판단되면, 상기 타겟 어드레스를 증가시키지 않고 상기 제어부에 의해 상기 디스크에 대한 읽기 재 시도 횟수를 조정하는 단계를 포함하고, If the amount of data stored in the buffer is not less than or equal to the predetermined value, and it is determined that no error occurs when the error state retries reading of an error block on the disk, the target address is not increased. Adjusting the number of read retries for the disc by the controller; 상기 소정치는 상기 버퍼의 빈상태를 체크하기 위한 것으로, 상기 버퍼로부터 출력되는 데이터량과 상기 읽기 재 시도시 소요되는 시간을 토대로 결정되는 것을 특징으로 하는 디스크 구동기에 있어서 데이터 에러 보상 방법.The predetermined value is for checking an empty state of the buffer, and is determined based on the amount of data output from the buffer and the time required for the read retry. 제 3 항에 있어서, 상기 에러 정정의 실패로 인한 상기 에러가 C2 에러이면,  The method of claim 3, wherein if the error due to the failure of the error correction is a C2 error, 상기 에러의 상태를 체크하는 단계는, 소정 범위에 포함되는 C2 에러의 값의 발생 횟수와 상기 C2 에러의 값을 토대로 상기 에러의 상태를 체크하는 것을 특징으로 하고, The checking of the status of the error may include checking the status of the error based on the number of occurrences of the value of the C2 error included in a predetermined range and the value of the C2 error. 상기 소정 범위는, 상기 디스크에 대해 읽기를 재 시도하여도 상기 디스크로부터 정상적으로 데이터를 읽을 수 없는 C2 에러 값을 토대로 설정되는 것을 특징으로 하는 디스크 구동기에 있어서 데이터 에러 보상 방법. And the predetermined range is set based on a C2 error value in which data cannot be read normally from the disk even when reading from the disk is attempted again. 제 2 항 내지 제 4 항중 어느 한 항에 있어서, 상기 호스트 동작 모드가 저장 모드이면, 상기 제 3 단계는,  The method according to any one of claims 2 to 4, wherein if the host mode of operation is a storage mode, the third step comprises: 상기 디스크상의 블록에 대한 읽기 시간이 소정 시간 이상 경과하거나 상기 에러의 상태를 토대로 상기 디스크상의 상기 에러가 발생된 블록에 대한 읽기를 재 시도하여도 에러가 발생될 것으로 판단되면, 상기 제어부에 의해 상기 타겟 어드레스를 증가시키고 상기 읽기 재시도 횟수를 조정하는 단계;If it is determined that an error will occur even if a read time for the block on the disk has elapsed for a predetermined time or more, or if the read on the block on which the error occurred on the disk is retried, Increasing a target address and adjusting the number of read retries; 상기 디스크상의 블록에 대한 읽기 시간이 소정 시간 이상 경과하지 않고, 상기 에러의 상태가 상기 디스크상의 상기 에러가 발생된 블록에 대한 읽기를 재시도 시 에러가 발생되지 않을 것으로 판단되면, 상기 타겟 어드레스를 증가시키지 않고 상기 제어부에 의해 상기 읽기 재시도 횟수를 조정하는 단계를 포함하고,If the read time for the block on the disk has not elapsed for more than a predetermined time, and the status of the error is determined to retry the reading of the block on which the error occurred, the error is not generated. Adjusting the number of read retries by the controller without increasing; 상기 소정 시간은 상기 디스크로부터 데이터가 읽혀지지 않을 경우에 데이터 액세스가 강제적으로 리셋되는 시간을 토대로 결정되는 것을 특징으로 하는 디스크 구동기에 있어서 데이터 에러 보상 방법. And the predetermined time is determined based on a time when data access is forcibly reset when data is not read from the disc. 삭제delete 삭제delete 디스크 구동기에서 수행된 에러 정정의 실패로 인한 데이터 에러를 보상하는 장치에 있어서,  An apparatus for compensating for a data error due to a failure of an error correction performed in a disk driver, 상기 디스크로부터 읽혀진 데이터를 디코딩하면서 에러 정정을 수행하는 디코딩부;A decoding unit which performs error correction while decoding data read from the disk; 상기 에러 정정의 실패로 인하여 상기 디코딩부로부터 에러 신호가 수신되면, 상기 에러의 상태를 체크하고, If an error signal is received from the decoding unit due to the failure of the error correction, check the state of the error, 상기 체크결과, 상기 디스크상의 상기 에러가 발생된 블록에 대한 읽기 재 시도를 하여도 에러가 발생될 것으로 판단되면, 상기 디스크에 대한 타겟 어드레스를 증가시킨 후, 상기 디스크에 대한 읽기 모드를 제어하고, If it is determined that the error is generated even if the reading is again attempted for the block in which the error occurred on the disk, the target address for the disk is increased, and then the read mode for the disk is controlled. 상기 체크결과, 상기 디스크상의 상기 에러가 발생된 블록에 대한 읽기 재 시도를 하면 에러가 발생되지 않을 것으로 판단되면, 상기 타겟 어드레스를 증가시키지 않고 상기 디스크에 대한 읽기 재 시도 횟수를 조정하여 상기 디스크에 대한 읽기 모드를 제어하는 제어부를 포함하는 디스크 구동기에서 데이터 에러 보상 장치. As a result of the check, if it is determined that an error does not occur when a read retry of the block on which the error occurs on the disc does not occur, the number of read retries on the disc is adjusted without increasing the target address. Data error compensation device in the disk drive including a control unit for controlling the read mode. 호스트가 디스크 구동기에 장착된 디스크에 기록된 데이터를 액세스 할 때, 상기 디스크 구동기에서 수행된 에러 정정의 실패로 인한 데이터 에러를 보상하는 장치에 있어서, An apparatus for compensating for a data error due to a failure of an error correction performed in the disk driver when a host accesses data recorded on a disk mounted to the disk driver, 상기 디스크로부터 읽혀진 데이터를 디코딩하면서 에러 정정을 수행하는 디코딩부;A decoding unit which performs error correction while decoding data read from the disk; 상기 디코딩부로부터 출력되는 에러 정정된 데이터를 저장하는 버퍼;A buffer for storing error corrected data output from the decoding unit; 상기 버퍼에 저장된 데이터를 상기 호스트로 전송하고, 상기 호스트로부터 출력되는 커맨드를 수신하는 인터페이스부; 및 An interface unit for transmitting the data stored in the buffer to the host and receiving a command output from the host; And 상기 에러 정정의 실패로 인하여 상기 디코딩부로부터 에러 신호가 수신되면, 상기 인터페이스부를 통해 수신된 리드 커맨드와 상기 버퍼에 저장된 데이터 량을 토대로 상기 호스트의 동작 모드를 체크하고, When an error signal is received from the decoding unit due to the failure of the error correction, the operation mode of the host is checked based on the read command received through the interface unit and the amount of data stored in the buffer, 상기 호스트의 동작 모드가 실시간 재생 모드이면, 상기 버퍼에 저장된 데이터 량과 상기 에러의 상태를 토대로 상기 디스크에 대한 타겟 어드레스 증가 여부를 결정한 후, 상기 디스크에 대한 읽기 재 시도 횟수를 조정하여 상기 디스크에 대한 읽기 모드를 제어하고, If the operation mode of the host is a real-time playback mode, after determining whether to increase the target address for the disk based on the amount of data stored in the buffer and the state of the error, and adjust the number of read retries for the disk to the disk Control the read mode for, 상기 호스트의 동작 모드가 저장 모드이면, 상기 에러가 발생된 상기 디스크상의 블록에 대한 읽기 시간과 상기 에러의 상태를 토대로 상기 타겟 어드레스 증가 여부를 결정한 후, 상기 디스크에 대한 읽기 재 시도 횟수를 조정하여 상기 디스크에 대한 읽기 모드를 제어하는 제어부를 포함하는 디스크 구동기에 있어서 데이터 에러 보상 장치. If the operation mode of the host is a storage mode, it is determined whether to increase the target address based on the read time of the block on the disk in which the error occurs and the state of the error, and then adjust the number of read retries on the disk. And a controller for controlling a read mode of the disk. 제 9 항에 있어서, 상기 호스트의 동작 모드가 실시간 재생 모드이면, 상기 제어부는 상기 버퍼에 저장된 데이터 량이 소정 치 이하인지를 체크하고, 상기 데이터 량이 소정 치 이하이고, 상기 에러의 상태가 상기 에러가 발생된 상기 디스크상의 블록에 대한 읽기를 재 시도하여도 에러가 발생될 것으로 판단되면, 상기 디스크에 대한 타겟 어드레스를 증가시켜 상기 에러가 발생된 상기 디스크상의 블록에 대한 읽기를 재 시도하는 것을 특징으로 하고,10. The method of claim 9, wherein if the operation mode of the host is a real-time playback mode, the controller checks whether the amount of data stored in the buffer is less than or equal to a predetermined value, the amount of data is less than or equal to a predetermined value, and the state of the error is If it is determined that an error will occur even if the read of the block on the disk is attempted again, the target address for the disk is increased to retry reading of the block on the disk on which the error has occurred. and, 상기 소정 치는 상기 버퍼의 빈 상태를 체크하기 위한 것으로, 상기 버퍼로부터 출력되는 데이터 량과 상기 읽기 재 시도시 소요되는 시간을 토대로 결정되는 것을 특징으로 하는 디스크 구동기에 있어서 데이터 에러 보상 장치. The predetermined value is for checking an empty state of the buffer, and is determined based on the amount of data output from the buffer and the time required for the read retry. 제 10 항에 있어서, 상기 에러가 C2 에러이면, 상기 제어부는 소정 범위에 포함되는 C2 에러의 값의 발생 횟수와 상기 C2 에러의 값을 토대로 상기 에러의 상태를 체크하는 것을 특징으로 하고,The method of claim 10, wherein if the error is a C2 error, the controller checks the state of the error based on the number of occurrences of the value of the C2 error included in the predetermined range and the value of the C2 error. 상기 소정 범위는 상기 디스크에 대해 읽기를 재 시도하여도 상기 디스크로부터 정상적으로 데이터를 읽을 수 없는 C2 에러의 값을 토대로 설정되는 것을 특징으로 하는 디스크 구동기에 있어서 데이터 에러 보상 장치. And the predetermined range is set based on a value of a C2 error in which data cannot be read normally from the disk even when reading from the disk is attempted again. 제 9 항 내지 제 11 항중 어느 한 항에 있어서, 상기 호스트의 동작 모드가 저장 모드이면, 상기 제어부는 상기 에러가 발생된 블록에 대한 읽기 시간이 소정 시간이상 경과하였거나 상기 에러의 상태가 상기 에러가 발생된 상기 디스크상의 블록에 대한 읽기를 재 시도하여도 에러가 발생될 것으로 판단되면, 상기 디스크에 대한 타겟 어드레스를 증가시켜 상기 디스크에 대한 읽기를 재 시도하도록 제어하는 것을 특징으로 하고,The method of claim 9, wherein if the operation mode of the host is a storage mode, the controller is further configured to read the block in which the error occurred, the predetermined time elapsed for a predetermined time or the state of the error. If it is determined that an error occurs even when retrying reading of the generated block on the disk, the target address for the disk is increased so as to control to read the disk again. 상기 소정 시간은 상기 디스크로부터 데이터가 읽혀지지 않을 경우에 데이터 액세스가 강제적으로 리셋되는 시간을 토대로 결정되는 것을 특징으로 하는 디스크 구동기에 있어서 데이터 에러 보상 장치. And said predetermined time is determined on the basis of a time when data access is forcibly reset when data is not read from said disk. 삭제delete
KR10-2002-0084086A 2002-12-26 2002-12-26 Method for compensating data error in the disc drive and apparatus thereof KR100510507B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0084086A KR100510507B1 (en) 2002-12-26 2002-12-26 Method for compensating data error in the disc drive and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0084086A KR100510507B1 (en) 2002-12-26 2002-12-26 Method for compensating data error in the disc drive and apparatus thereof

Publications (2)

Publication Number Publication Date
KR20040057374A KR20040057374A (en) 2004-07-02
KR100510507B1 true KR100510507B1 (en) 2005-08-26

Family

ID=37349960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0084086A KR100510507B1 (en) 2002-12-26 2002-12-26 Method for compensating data error in the disc drive and apparatus thereof

Country Status (1)

Country Link
KR (1) KR100510507B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686719B1 (en) * 2004-09-13 2007-02-23 삼성전자주식회사 Computer and audio output control method thereof
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
KR102358177B1 (en) * 2015-12-24 2022-02-07 에스케이하이닉스 주식회사 Control circuit and memory device including the control circuit

Also Published As

Publication number Publication date
KR20040057374A (en) 2004-07-02

Similar Documents

Publication Publication Date Title
US6912682B1 (en) Signal processor for correcting and detecting errors
EP1600966B1 (en) Optical recording medium, apparatus and method of recording/reproducing data thereon/therefrom, and computer readable recording medium storing program to perform the method
KR100716972B1 (en) Recording/reproducing method
JP4467575B2 (en) Recording / reproducing method using padding information, recording / reproducing apparatus and information recording medium
KR100510507B1 (en) Method for compensating data error in the disc drive and apparatus thereof
US20050177652A1 (en) Hard disk drive system, method of using such a system and apparatus
JP2010522406A (en) System and method for preventing errors in storage media
JP2003085883A (en) Information recording device
US20020172106A1 (en) Apparatus for and method of controlling writing of data when error occurs in an optical drive
US7106679B2 (en) Information reproducing apparatus and method, and error correction system
KR100422374B1 (en) Reproducing control method of optical disc driver and the optical disc driver
US6834032B2 (en) Method, apparatus, and medium including computer readable code for processing data in a drive
US20100180149A1 (en) Method and device for storing/reading data on/from a record medium and for transferring information to/from it
KR100194028B1 (en) How to play an optical disc
KR100232957B1 (en) Method for shortening error correcting time of digital video disc
KR100546583B1 (en) Data Buffering Apparatus and Method Thereof in Optical Recording Medium Recorded By Packet Manner
JP2001118337A (en) Method for detecting dropout and signal reproducing device
JP2001135012A (en) Device and method for detecting erroneous position and reproducing device and method
KR19980025760A (en) How to process data from CD-ROM drive
JPH05274815A (en) Optical disk device
JPH0785609A (en) Signal processing device
KR20070019022A (en) Recording/reproducing apparatus and computer readable recording medium storing a program for performing the method
JP2001184843A (en) Device, system and method for reproducing disk and recording medium with software for disk reproduction recorded thereon

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