KR20000022714A - Error correction system, error correction method, and data memory with error correction function - Google Patents
Error correction system, error correction method, and data memory with error correction function Download PDFInfo
- Publication number
- KR20000022714A KR20000022714A KR1019990033468A KR19990033468A KR20000022714A KR 20000022714 A KR20000022714 A KR 20000022714A KR 1019990033468 A KR1019990033468 A KR 1019990033468A KR 19990033468 A KR19990033468 A KR 19990033468A KR 20000022714 A KR20000022714 A KR 20000022714A
- Authority
- KR
- South Korea
- Prior art keywords
- ecc block
- error correction
- row
- syndrome
- byte
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
본 발명은 오류 정정 시스템 및 오류 정정 기능을 갖는 데이타 기억 시스템에 관한 것으로, 더욱 상세히 말하면, DVD(Digital Versatile Disk)에서 보여지는 바와 같은 곱셈 부호 형식의 오류 정정 부호를 이용한 오류 정정 시스템에 있어서의 데이타 전송 효율을 높임으로써, 오류 정정 처리에 요하는 시간을 단축하기 위한 기술에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an error correction system and a data storage system having an error correction function. More specifically, the present invention relates to data in an error correction system using an error correction code in the form of a multiplication code as shown in a digital versatile disk (DVD). The present invention relates to a technique for shortening the time required for an error correction process by increasing transmission efficiency.
광 디스크에 대표되는 DVD는 일반적으로, 곱셈 부호 형식의 오류 정정 부호를 이용한 오류 정정 기술을 이용하고 있고, 오류 정정 부호로서는 리드 솔로몬 부호(reed-solomon code)가 이용된다. 도 1은, 곱셈 부호 형식의 오류 정정 부호를 이용한 기본의 데이타 포맷을 나타내고 있다. 데이타 바이트는, k1행×k2열에 배열된다. 알려져 있는 바와 같이, 행(수평) 방향으로는 PI 부호(Parity-Inner Code) 또는 내 부호라 불리는 행 오류 정정 부호가 붙여지고, 열(수직) 방향으로는, PO 부호(Parity-Outer Code) 또는 외부호라 불리는 열 오류 정정 부호가 붙여진다. PI 부호 및 PO 부호가 붙여진 데이타 바이트의 배열 1은 ECC 블럭이라 불린다. 알려져 있는 바와 같이, PI 부호 및 PO 부호는 행 데이타 및 열 데이타에 기초하여 부호 생성 다항식에 의해 만들어진다.A DVD represented by an optical disc generally uses an error correction technique using an error correction code in the form of a multiplication code, and a reed-solomon code is used as the error correction code. Fig. 1 shows a basic data format using an error correcting code in a multiplication code format. The data bytes are arranged in k1 rows x k2 columns. As is known, a row error correction code called a PI code (Parity-Inner Code) or an inner code is given in the row (horizontal) direction, and a PO code (Parity-Outer Code) or in the column (vertical) direction. A column error correction code called an outer code is assigned. The array 1 of data bytes with PI code and PO code is called an ECC block. As is known, PI and PO codes are generated by sign generation polynomials based on row data and column data.
ECC 블럭의 포맷은 DVD의 표준에 의해 정해져 있고, k1은 192행, k2는 172바이트, 각 행의 PI는 10바이트, PO는 16행이다. 따라서, ECC 블럭의 행 방향의 길이 Y는 182바이트이고, ECC 블럭의 열 방향의 길이 Z는 208행이다. 즉, ECC 블럭의 208행의 각각은 182개의 바이트를 포함하고, ECC 블럭의 182열의 각각은 208개의 바이트를 포함한다. ECC 블럭은 16개의 섹터 S1-S16을 포함하며, 각 섹터는 12개의 바이트 행 L1-L12를 포함한다. 바이트 행 L1-L12의 각각은, 172개의 데이타 바이트 및 10개의 PI 바이트를 포함한다. PO는 16개의 PO 바이트 행 PO1-PO16을 포함한다.The format of the ECC block is determined by the DVD standard, where k1 is 192 rows, k2 is 172 bytes, PI of each row is 10 bytes, and PO is 16 rows. Therefore, the length Y in the row direction of the ECC block is 182 bytes, and the length Z in the column direction of the ECC block is 208 rows. That is, each of the 208 rows of the ECC block contains 182 bytes, and each of the 182 columns of the ECC block contains 208 bytes. The ECC block contains sixteen sectors S1-S16, each sector comprising twelve byte rows L1-L12. Each of the byte rows L1-L12 contains 172 data bytes and 10 PI bytes. The PO contains 16 PO byte lines PO1-PO16.
도 2는 DVD의 데이타 트랙에 기록되는 ECC 블럭 기록 포맷을 개략적으로 나타내고 있다. 도 1의 16개의 PO 바이트 행 PO1-PO16은 16개의 섹터로 각각 분배된다. 예를 들면, 섹터 S1은 12개의 바이트 행 L1-L12와, 관련하는 1개의 PO 바이트 행 PO1과의 조합을 포함하고, 섹터 S16은 12개의 바이트 행 L1-L12와, 관련하는 1개의 PO 바이트 행 P16(도시하지 않음)과의 조합을 포함한다.2 schematically shows an ECC block recording format recorded on a data track of a DVD. The 16 PO byte rows PO1-PO16 of FIG. 1 are divided into 16 sectors each. For example, sector S1 includes a combination of twelve byte rows L1-L12 and one PO byte row PO1 associated therewith, and sector S16 includes twelve byte rows L1-L12 and one PO byte row associated therewith. Combination with P16 (not shown).
도 1의 ECC 블럭은 도 2의 기록 포맷으로 변환되어 DVD에 기록된다. 일반적으로는, 도 1의 ECC 블럭은 도 2의 기록 포맷으로 변환되고, 프레임 동기 신호가 부가되어, 8/16 변조(EFM plus 변조)되어 DVD에 기록된다. 판독 시에는, DVD로부터 판독된 신호가 8/16 복조되고, 프레임 동기 신호가 제거되어, 도 2의 ECC 블럭 포맷에 조립된다.The ECC block of FIG. 1 is converted to the recording format of FIG. 2 and recorded on the DVD. Generally, the ECC block of FIG. 1 is converted to the recording format of FIG. 2, a frame synchronizing signal is added, and 8/16 modulation (EFM plus modulation) is recorded on DVD. At the time of reading, the signal read out from the DVD is 8/16 demodulated, the frame synchronizing signal is removed, and assembled in the ECC block format of FIG.
오류 정정 처리는, 일반적으로, 우선 행 방향에서 오류 정정을 행하고, 행 방향에서 소정수를 넘는 오류 바이트가 검출되었을 때, 열 방향에서 소실(이레이저) 정정을 행한다. DVD의 경우, 행 방향의 리드 솔로몬 부호의 해밍(hamming) 거리는 11, 열 방향의 리드 솔로몬 부호의 해밍 거리는 17이다. 행 방향의 최대 오류 정정수는 5바이트이고, 열 방향의 최대 오류 정정수는 8바이트이다. 그러나, 행 방향의 최대오류 정정수는 통상, 5보다도 적은 수, 예를 들면 3바이트로 제한되고, 3바이트를 넘는 오류가 검출되었을 때에는 열 방향에서 소실 정정을 행한다.In general, the error correction process first performs error correction in the row direction, and performs loss (eraser) correction in the column direction when more than a predetermined number of error bytes are detected in the row direction. In the case of a DVD, the Hamming distance of the Reed Solomon code in the row direction is 11 and the Hamming distance of the Reed Solomon code in the column direction is 17. The maximum error correction number in the row direction is 5 bytes, and the maximum error correction number in the column direction is 8 bytes. However, the maximum error correction number in the row direction is usually limited to less than five, for example, three bytes, and when an error exceeding three bytes is detected, the loss correction is performed in the column direction.
다음에, 도 3을 참조하여 종래의 DVD 시스템에 있어서의 오류 정정 순서에 대해 설명한다. ECC 블럭 데이타는 도 2에 대해 설명한 기록 포맷으로, 광 디스크와 같은 DVD(11)에 기억된다. 디스크(11)는 스핀들 모터(12)에 의해 회전된다. 안내봉(14) 상에서 이동하는 판독 헤드(13)는 DVD(11)로부터 기록 데이타 및 서보 정보을 판독하고, 이들을 판독 회로(16)로 보낸다. 판독 회로(16)는 판독된 기록 데이타 및 서보 정보를 포맷터(20)로 보낸다. 스핀들 모터(12)의 회전 및 안내봉(14) 상에서의 판독 헤드(13)의 이동은 서보 정보에 응답하는 디지탈 서보 프로세서(18)에 의해 제어된다.Next, an error correction procedure in the conventional DVD system will be described with reference to FIG. The ECC block data is stored in the DVD 11, such as an optical disc, in the recording format described with reference to FIG. The disk 11 is rotated by the spindle motor 12. The read head 13 moving on the guide rod 14 reads the write data and the servo information from the DVD 11 and sends them to the read circuit 16. The read circuit 16 sends the read write data and the servo information to the formatter 20. The rotation of the spindle motor 12 and the movement of the read head 13 on the guide rod 14 are controlled by the digital servo processor 18 in response to servo information.
도 3에 있어서, 파선 및 그 파선으로 도시된 괄호 안의 숫자는, 데이타 전송및 처리의 순서를 나타내고 있다.In FIG. 3, the broken line and the number in parentheses shown by the broken line show the procedure of data transfer and processing.
(1) 포맷터(20)는 판독된 신호를 8/16 복조하고, 프레임 동기 신호를 제거하여, 도 1의 포맷의 ECC 블럭을 생성한다. 포맷터(20)는 도 1의 ECC 블럭의 바이트 행(이하, ECC 블럭 행) L1, L2, L3… PO15, PO16을, 제1 버퍼 기억 장치로서 작동하는 DRAM(22)으로 순차 전송한다. DRAM(22)은 ECC 블럭을 유지하고, 오류가 있는 경우에는 정정된 ECC 블럭을 기억하고, 정정된 ECC 블럭을 호스트 PC(퍼스널 컴퓨터)로 전송하기 위한 작업용 메모리로서 이용된다.(1) The formatter 20 demodulates the read signal by 8/16, removes the frame synchronization signal, and generates an ECC block in the format of FIG. The formatter 20 stores the byte rows (hereinafter ECC block rows) L1, L2, L3... Of the ECC block of FIG. PO15 and PO16 are sequentially transferred to the DRAM 22 operating as the first buffer memory device. The DRAM 22 is used as a working memory for holding an ECC block, storing a corrected ECC block when there is an error, and transferring the corrected ECC block to a host PC (personal computer).
(2) 1개 이상의 ECC 블럭 행이 DRAM(22)으로 전송될 때, 최초의 ECC 블럭 행이, 제2 버퍼 기억 장치로서 작동하는 SRAM(24)으로 전송된다. SRAM(24)은 비교적 소용량의 고속 버퍼이고, 오류 정정 처리를 효율적으로 행하기 위한 것이다. SRAM(24)으로 전송되는 ECC 블럭 행은 172개의 데이타 바이트와 10개의 PI 바이트를 포함한다.(2) When one or more ECC block rows are transferred to the DRAM 22, the first ECC block rows are transferred to the SRAM 24 operating as the second buffer storage device. The SRAM 24 is a relatively small high speed buffer and is for efficiently performing error correction processing. The ECC block row sent to SRAM 24 contains 172 data bytes and 10 PI bytes.
(3) SRAM(24)으로 전송된 ECC 블럭 행은 다음에, 오류 정정 부호 디코더(26)로 전송된다. 디코더(26)는 신드롬 생성기(28) 및 오류 정정 회로(30)를 포함한다. 신드롬 생성기(28)는 SRAM(24)으로부터의 ECC 블럭 행의 데이타에 기초하여 10바이트의 신드롬을 생성한다. 오류 정정 회로(30)는 생성된 신드롬에 기초하여, ECC 블럭 행의 오류 위치 및 오류 수치를 구하고, 오류 바이트수가 3 이하일 때에는, 오류 바이트를 정정한다.(3) The ECC block rows sent to the SRAM 24 are then sent to the error correction code decoder 26. Decoder 26 includes a syndrome generator 28 and an error correction circuit 30. The syndrome generator 28 generates a syndrome of 10 bytes based on the data of the ECC block row from the SRAM 24. The error correction circuit 30 obtains an error position and an error value of the ECC block row based on the generated syndrome, and corrects an error byte when the number of error bytes is three or less.
(4) 디코더(26)는 이어서, 오류 정정된 바이트를 MPU(32)로 보낸다.(4) The decoder 26 then sends an error corrected byte to the MPU 32.
(5) MPU(32)는 디코더(26)로부터 보내진 정정이 완료된 바이트를 DRAM(22)으로 보내고, DRAM(22) 내의 대응 ECC 블럭 행의 오류 바이트를 정정이 완료된 바이트로 재기록한다.(5) The MPU 32 sends the corrected byte sent from the decoder 26 to the DRAM 22, and rewrites the error byte of the corresponding ECC block row in the DRAM 22 as the corrected byte.
상기한 순서는 모든 ECC 블럭 행에 대해 순차 행해진다. 만일 디코더(26)에서 3개보다도 많은 오류 바이트가 검출되었을 경우에는 소실 포인터가 셋트된다. 소실 포인터가 셋트되었을 때에는, 행 방향의 오류 정정 처리의 종료후, DRAM(22) 내의 ECC 블럭의 바이트 열(이하 ECC 블럭 열)이 순차 SRAM(24)으로 전송된다. 열 방향에서는 16바이트의 신드롬이 신드롬 생성기(28)로 생성되고, 행 오류 정정과 마찬가지로, 열 방향에 있어서 오류 정정 처리가 행해진다. 열 방향의 오류 정정 처리를 하기 위해서는, 그 전에, DRAM(22) 내에 ECC 블럭 전체가 기억되어 있을 필요가 있다.The above order is performed sequentially for all ECC block rows. If more than three error bytes are detected in the decoder 26, the missing pointer is set. When the missing pointer is set, after completion of the error correction processing in the row direction, byte strings (hereinafter referred to as ECC block columns) of ECC blocks in the DRAM 22 are sequentially transferred to the SRAM 24. A syndrome of 16 bytes is generated by the syndrome generator 28 in the column direction, and error correction processing is performed in the column direction similarly to row error correction. In order to perform the error correction processing in the column direction, the entire ECC block must be stored in the DRAM 22 before that.
(6) 모든 오류 정정 처리가 종료할 때, DRAM(22) 내에는, 오류를 포함하지 않는 ECC 블럭이 존재하게 된다. DRAM(22) 내의 ECC 블럭의 데이타는 선(23)을 통해 호스트 PC(퍼스널 컴퓨터)로 보내진다.(6) When all the error correction processing ends, there is an ECC block in the DRAM 22 that does not contain an error. Data of the ECC block in the DRAM 22 is sent to the host PC (personal computer) via the line 23.
행 방향의 오류 정정을 위한 신드롬은 172개의 데이타 바이트 및 10개의 PI 바이트를 포함하는 182바이트의 ECC 블럭 행에 기초하여 발생된다. 상술한 종래의 시스템은 SRAM(24)의 하류에 신드롬 생성기(28)를 갖기 때문에, 182바이트의 ECC 블럭 행 전체를 DRAM(22)으로부터 SRAM(24)으로, 계속해서 디코더(28)로 전송할 필요가 있다. 따라서, 데이타의 전송에 시간이 걸려, 오류 정정 처리를 효율적으로 행할 수 없다고 하는 문제가 있었다.Syndrome for row direction error correction is generated based on a 182 byte ECC block row containing 172 data bytes and 10 PI bytes. Since the conventional system described above has a syndrome generator 28 downstream of the SRAM 24, it is necessary to transfer the entire 182 bytes of ECC block rows from the DRAM 22 to the SRAM 24 and subsequently to the decoder 28. There is. Therefore, there has been a problem that data transmission takes a long time and error correction processing cannot be performed efficiently.
오류 정정 처리는 온 더 플라이(on-the-fly) 양식으로, 즉, 호스트에의 데이타 전송을 기다리지 않고 리얼 타임 양식으로, 실행할 수 있는 것이 바람직하다. 상기한 종래의 방식에서도, 예를 들면, 파이프 라인 방식의 병행 처리를 이용하여 처리 효율을 높임으로써, 온 더 플라이가 실현 가능하지만, 보다 본질적으로 처리 시간을 단축할 수 있는 것이 바람직하다. DRAM(22)과 디코더(26) 사이의 데이타 전송 시간을 단축할 수 있으면, 데이타 전송에 의한 내부 버스(36)의 점유 시간을 단축하여, MPU(32) 등의 내부 버스(36)를 이용할 수 있는 시간을 늘려 데이타 기억 시스템 전체의 처리 효율을 높일 수 있다.It is desirable that the error correction process can be executed on-the-fly, ie in real time without waiting for data to be sent to the host. Also in the above-described conventional system, on-the-fly can be realized by increasing the processing efficiency by using parallel pipeline processing, for example, but it is preferable that the processing time can be shortened more essentially. If the data transfer time between the DRAM 22 and the decoder 26 can be shortened, the occupancy time of the internal bus 36 due to the data transfer can be shortened, and an internal bus 36 such as the MPU 32 can be used. By increasing the amount of time you spend, you can increase the efficiency of the entire data storage system.
또한, ECC 블럭 포맷은 고정되어 있고, ECC 블럭 행의 길이 (182바이트)가 2의 거듭제곱 수가 아니기 때문에, 종래의 시스템에서는 DRAM 버퍼(22) 내에, 불사용영역이 남게 되어, 버퍼 기억 장치의 이용 효율이 낮다고 하는 문제가 있었다.In addition, since the ECC block format is fixed and the length (182 bytes) of the ECC block row is not a power of two, in the conventional system, an unused area remains in the DRAM buffer 22, and thus the There was a problem that the utilization efficiency was low.
따라서, 본 발명의 목적은 데이타 전송 효율을 높임으로써, 오류 정정 처리에 요하는 시간을 단축할 수 있는 오류 정정 시스템 및 오류 정정 방법을 제공하는 것이다.Accordingly, it is an object of the present invention to provide an error correction system and an error correction method that can shorten the time required for error correction processing by increasing data transmission efficiency.
본 발명의 또 하나의 목적은, 오류 정정 처리에 요하는 시간을 단축할 수 있고, 더구나 버퍼 기억 장치의 사용 효율을 높일 수 있는 오류 정정 시스템을 제공하는 것이다.It is still another object of the present invention to provide an error correction system that can shorten the time required for error correction processing and can further increase the use efficiency of the buffer storage device.
본 발명의 다른 목적은, 곱셈 부호 형식의 오류 정정 부호를 이용한 오류 정정 기능을 가지고, 오류 정정 처리에 요하는 시간을 단축할 수 있는 데이타 기억 시스템을 제공하는 것이다.Another object of the present invention is to provide a data storage system which has an error correction function using an error correction code in the form of a multiplication code and can shorten the time required for error correction processing.
본 발명의 한 형태에 따르면, 본 발명의 오류 정정 시스템은 행렬로 배열된 데이타 및 각 행에 대한 행 오류 정정용 부호를 적어도 포함하는 ECC 블럭을 생성하는 포맷터와, 상기 포맷터로부터의 각 ECC 블럭 행에 기초하여 신드롬을 생성하는 신드롬 생성기와, 상기 신드롬 생성기로부터 ECC 블럭 행 및 관련하는 신드롬을 수신하여 기억하는 제1 버퍼 기억 장치와, 상기 제1 버퍼 기억 장치로부터 신드롬을 수신하여, 상기 제1 버퍼 기억 장치 내의 ECC 블럭 행에 대해 오류 정정 처리를 행하는 오류 정정 부호 디코더를 포함한다.According to one aspect of the present invention, an error correction system of the present invention includes a formatter for generating an ECC block including at least data arranged in a matrix and a code for correcting row errors for each row, and in each ECC block row from the formatter. A syndrome generator for generating a syndrome based on the first memory; a first buffer storage device for receiving and storing ECC block rows and associated syndromes from the syndrome generator; and receiving a syndrome from the first buffer memory device; And an error correction code decoder for performing error correction processing on ECC block rows in the apparatus.
상기 제1 버퍼 기억 장치는 제1 및 제2 뱅크를 가지고, 상기 뱅크의 각 행은 2n×(2m+1) (여기서, n 및 m은 양의 정수)의 바이트 길이를 가지고 또한 (2m+1)개의 바이트 블럭으로 분할된다. 상기 ECC 블럭 행의 바이트 길이 Y는, 2n×2m<Y<2n×(2m+1)이고, 각 상기 ECC 블럭 행은 2n의 바이트 길이의 블럭 단위로 상기 제1 및 제2 뱅크의 상기 바이트 블럭에 교대로 인터리브 양식으로 기억된다. 각 상기 ECC 블럭 행에 대한 신드롬은 상기 ECC 블럭 행의 (2m+1)번째의 블럭이 기억된 뱅크 바이트 블럭의, 바이트 길이 [2n×(2m+1)-k]의 빈 영역에 기억된다.The first buffer memory has a first and a second bank, each row of the bank has a byte length of 2 n x (2m + 1), where n and m are positive integers, and (2m + It is divided into 1) byte blocks. Byte length Y of the ECC block row, 2n × 2m <Y <2 n × (2m + 1) , and wherein the first and second banks in units of blocks of each of the ECC block row of bytes in the second n-length The byte blocks are alternately stored in an interleaved fashion. The syndrome for each ECC block row is stored in an empty area of byte length [ 2n × (2m + 1) -k] of the bank byte block in which the (2m + 1) th block of the ECC block row is stored. .
본 발명의 또 하나의 형태에 따르면, 본 발명의 데이타 기억 시스템은 데이타 및 곱셈 부호 형식의 오류 정정 부호를 포함하는 섹터 데이타를 기억한 기억 매체와, 상기 기억 매체로부터 판독된 섹터 데이타를 포맷하고, 행렬로 배열된 데이타, 각 행에 대한 행 오류 정정용 내부호 및 각 열에 대한 열 오류 정정용 외부호를 포함하는 ECC 블럭을 생성하는 포맷터와, 상기 포맷터로부터 ECC 블럭 행을 순차적으로 수신하고, 각 ECC 블럭 행에 기초하여 신드롬을 발생하는 신드롬 생성기와, 상기 신드롬 생성기로부터 ECC 블럭 행 및 관련하는 신드롬을 수신하는 제1 버퍼 기억 장치와, 상기 제1 기억 장치로부터 상기 신드롬을 수신하는 제2 버퍼 기억 장치와, 상기 제2 버퍼 기억 장치로부터 상기 신드롬을 수신하고, 상기 제1 버퍼에 기억된 ECC 블럭 행에 대해 오류 정정 처리를 행하는 디코더를 포함한다.According to yet another aspect of the present invention, a data storage system of the present invention formats a storage medium storing sector data including data and an error correction code in multiplication code format, and sector data read from the storage medium, A formatter for generating an ECC block including data arranged in a matrix, an inner code for row error correction for each row, and an outer code for column error correction for each column, and sequentially receiving ECC block rows from the formatter, and receiving each ECC block A syndrome generator for generating a syndrome based on the row, a first buffer storage device for receiving an ECC block row and an associated syndrome from the syndrome generator, a second buffer memory device for receiving the syndrome from the first memory device; Receive the syndrome from the second buffer memory, and error an ECC block row stored in the first buffer. And a decoder that performs correction processing.
도 1은 DVD에서 사용되는 ECC 블럭의 데이타 포맷을 나타낸 도면.1 is a diagram showing the data format of an ECC block used in a DVD.
도 2는 DVD에 기록되는 섹터 데이타의 기록 포맷을 나타낸 도면.2 is a diagram showing a recording format of sector data recorded on a DVD.
도 3은 종래의 DVD 기억 시스템의 개략 구성을 나타낸 도면.3 is a diagram showing a schematic configuration of a conventional DVD storage system.
도 4는 본 발명의 실시예에 따른 DVD 기억 시스템의 개략 구성을 나타낸 도면.4 is a diagram showing a schematic configuration of a DVD storage system according to an embodiment of the present invention;
도 5는 DRAM 버퍼에의 데이타 맵핑을 나타낸 도면.5 illustrates data mapping to a DRAM buffer.
〈도면의 주요 부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>
1 : ECC 블럭1: ECC block
11 : DVD11: DVD
12 : 모터12: motor
13 : 판독 헤드13: readhead
16 : 판독 회로16: readout circuit
18 : 디지탈 서보 프로세서18: digital servo processor
20 : 포맷터20: formatter
22 : DRAM 버퍼 (제1 버퍼 기억 장치)22: DRAM buffer (first buffer storage)
24 : SRAM 버퍼 (제2 버퍼 기억 장치)24: SRAM buffer (second buffer storage)
26 : 디코더26: decoder
28 : 신드롬 생성기28: syndrome generator
30 : 오류 정정 회로30: error correction circuit
32 : MPU32: MPU
36 : 데이타 버스36 data bus
38 : 신드롬 생성기38: syndrome generator
다음에 도 4를 참조하여 본 발명을 설명한다. 도 4의 구성 요소 중, 도 3의 것과 대응하는 구성 요소는 동일한 참조 번호로 도시되어 있다. 본 발명의 특징은, 도 3의 종래의 시스템의 디코더(26)에 포함되어 있는 신드롬 생성기(28)와 마찬가지의 신드롬 생성기(38)를 포맷터(20)와 DRAM 버퍼(22) 사이에 배치하도록 변경한 것이다. 신드롬 생성기(38)는 포맷터(20)로부터 ECC 블럭 행을 순차적으로 수신하고, 수신한 ECC 블럭 행을 DRAM 버퍼(22)로 전송함과 함께, 그 ECC 블럭 행에 대한 신드롬을 생성한다. 각 ECC 블럭 행 및 관련하는 신드롬은 모두 DRAM(22)에 기억된다. DRAM(22)은 신드롬만을 SRAM(24)으로 전송한다. SRAM(24)은 DRAM(22)으로부터 수신한 신드롬을 디코더(26)로 전송한다. 디코더(26) 내의 오류 정정 회로(30)는 SRAM(24)으로부터 수신한 신드롬에 기초하여 행 방향의 오류 정정 처리를 행한다. 디코더(26) 내의 신드롬 생성기(28)는 열 방향의 신드롬을 발생하기 위해서 이용되고, 행 방향의 신드롬을 생성하기 위해서는 이용되지 않는다.Next, the present invention will be described with reference to FIG. Of the components of FIG. 4, the components corresponding to those of FIG. 3 are shown with the same reference numerals. A feature of the present invention is that the same syndrome generator 38 as the syndrome generator 28 included in the decoder 26 of the conventional system of FIG. 3 is arranged between the formatter 20 and the DRAM buffer 22. It is. The syndrome generator 38 sequentially receives ECC block rows from the formatter 20, transfers the received ECC block rows to the DRAM buffer 22, and generates syndromes for the ECC block rows. Each ECC block row and associated syndromes are all stored in the DRAM 22. The DRAM 22 transfers only syndromes to the SRAM 24. The SRAM 24 transfers the syndrome received from the DRAM 22 to the decoder 26. The error correction circuit 30 in the decoder 26 performs the error correction processing in the row direction based on the syndrome received from the SRAM 24. The syndrome generator 28 in the decoder 26 is used to generate syndromes in the column direction, and is not used to generate syndromes in the row direction.
도 4에 있어서의 파선 및 그 파선에 도시된 괄호 안의 숫자는, 데이타 전송 및 처리의 순서를 나타내고 있다.The broken line in FIG. 4 and the number in parentheses shown by the broken line show the procedure of data transfer and processing.
(1) 포맷터(20)는 종래와 마찬가지로, 도 1의 포맷의 ECC 블럭을 생성한다. 포맷터(20)는 ECC 블럭 행 L1, L2, L3… PO15, PO16을 신드롬 생성기(38)로 순차 전송한다.(1) The formatter 20 generates an ECC block in the format of FIG. 1 as in the prior art. The formatter 20 executes ECC block rows L1, L2, L3... PO15 and PO16 are sequentially transmitted to the syndrome generator 38.
(2) 신드롬 생성기(38)는 포맷터(20)로부터 ECC 블럭 행을 수신할 때마다, 그 ECC 블럭 행에 대한 10바이트의 신드롬을 생성한다. 신드롬 생성기(38)는 수신한 ECC 블럭 행을, 제1 버퍼 기억 장치로서 작동하는 DRAM 버퍼(22)로 전송하는 동안에, 그 ECC 블럭 행에 대한 신드롬을 생성한다. 생성된 신드롬은 관련하는 ECC 블럭 행과 함께, DRAM(22)에 기억된다.(2) Each time the syndrome generator 38 receives an ECC block row from the formatter 20, it generates a 10-byte syndrome for the ECC block row. The syndrome generator 38 generates a syndrome for the ECC block row while transferring the received ECC block row to the DRAM buffer 22 serving as the first buffer storage device. The generated syndrome is stored in the DRAM 22 along with the associated ECC block row.
(3) DRAM(22)은 신드롬만을 제2 버퍼 기억 장치로서 작동하는 SRAM(24)으로 순차 전송한다.(3) The DRAM 22 sequentially transfers only syndromes to the SRAM 24 operating as the second buffer memory device.
(4) SRAM(24)은 DRAM(22)으로부터 수신한 신드롬을 오류 정정 부호 디코더(26)로 전송한다. 디코더(26)의 오류 정정 회로(30)는 수신한 신드롬에 기초하여, 관련하는 ECC 블럭 행의 오류 위치 및 오류 수치를 구하고, 오류 바이트 수가 3 이하일 때에는, 오류 바이트를 정정한다.(4) The SRAM 24 transmits the syndrome received from the DRAM 22 to the error correction code decoder 26. The error correction circuit 30 of the decoder 26 obtains an error position and an error value of an associated ECC block row based on the received syndrome, and corrects an error byte when the number of error bytes is 3 or less.
(5) 디코더(26)는 이어서, 오류 정정된 바이트를 MPU(32)로 보낸다.(5) The decoder 26 then sends an error corrected byte to the MPU 32.
(6) MPU(32)는 디코더(26)로부터 보내진 정정이 완료된 바이트를 DRAM(22)로 보내고, DRAM(22) 내의 대응 ECC 블럭 행의 오류 바이트를 정정이 완료된 바이트로 재기록한다.(6) The MPU 32 sends the corrected byte sent from the decoder 26 to the DRAM 22, and rewrites the error byte of the corresponding ECC block row in the DRAM 22 as the corrected byte.
디코더(26)에서 3개 보다도 다수의 오류 바이트가 검출된 경우의 소실 정정 처리는 도 3의 종래의 경우와 동일하다. 즉, 소실 포인터가 셋트될 때에는, 행 방향의 오류 정정 처리의 종료 후, DRAM(22) 내의 ECC 블럭의 바이트열이 순차 SRAM(24)로 전송된다. 열 방향에서는 16바이트의 신드롬이 신드롬 생성기(28)로 생성되고, 행 방향의 오류 정정 처리와 마찬가지로, 열 방향의 오류 정정 처리가 행해진다.The loss correction processing in the case where more than three error bytes are detected in the decoder 26 is the same as in the conventional case of FIG. That is, when the missing pointer is set, after completion of the error correction processing in the row direction, the byte strings of the ECC blocks in the DRAM 22 are sequentially transferred to the SRAM 24. In the column direction, a 16-byte syndrome is generated by the syndrome generator 28, and error correction processing in the column direction is performed similarly to error correction processing in the row direction.
(7) 모든 오류 정정 처리가 종료되었을 때, DRAM(22) 내에는, 오류를 포함하지 않은 ECC 블럭이 존재하게 된다. DRAM(22) 내의 ECC 블럭의 데이타는 선(23)을 통해 호스트 PC(퍼스널 컴퓨터)로 보내진다.(7) When all the error correction processing is completed, there is an ECC block in the DRAM 22 that does not contain an error. Data of the ECC block in the DRAM 22 is sent to the host PC (personal computer) via the line 23.
이상으로부터 명백한 바와 같이, 본 발명에 있어서는, 행 방향의 신드롬은 포맷터(20)와 DRAM 버퍼(22) 사이의 위치에서 생성된다. 신드롬은 각 ECC 블럭 행과 함께 DRAM(22)에 기억된다. DRAM(22)으로부터 SRAM(24) 및 디코더(26)로 전송되는 것은, 10바이트의 신드롬만이고, 따라서, 182바이트의 ECC 블럭 행 전체를 DRAM(22)으로부터 SDRAM(24) 및 디코더(26)로 전송하는 종래에 비교하여, 데이타 전송 시간을 대폭 단축하는 것이 가능하다. 또, 열 방향의 소실 정정 처리는 종래와 동일한 순서로 행해지기 때문에, 소실 정정에 요하는 시간은 기본적으로는, 종래와 마찬가지이다.As is apparent from the above, in the present invention, the syndrome in the row direction is generated at a position between the formatter 20 and the DRAM buffer 22. The syndrome is stored in the DRAM 22 along with each ECC block row. Only the 10-byte syndrome is transmitted from the DRAM 22 to the SRAM 24 and the decoder 26, so that the entire 182-byte ECC block row is transferred from the DRAM 22 to the SDRAM 24 and the decoder 26. Compared with the conventional transmission by the above, it is possible to significantly shorten the data transfer time. In addition, since the loss correction processing in the column direction is performed in the same order as in the prior art, the time required for the loss correction is basically the same as in the prior art.
본 발명에서는, ECC 블럭 및 신드롬의 양쪽이 DRAM 버퍼(22)에 기억된다. 본 발명에 따르면, DRAM 버퍼(22)의 이용 효율을 높일 수 있다. 이것은 본 발명의 부가적 특징이다. 다음에, 본 발명에 있어서 ECC 블럭 및 신드롬을 DRAM 버퍼(22)에 어떻게 기억할지에 대해 설명한다.In the present invention, both the ECC block and the syndrome are stored in the DRAM buffer 22. According to the present invention, the utilization efficiency of the DRAM buffer 22 can be improved. This is an additional feature of the present invention. Next, how to store the ECC block and syndrome in the DRAM buffer 22 in the present invention will be described.
ECC 블럭은 표준에 의해 정해진 고정 데이타 포맷을 가지고, 각 ECC 블럭 행은 182바이트의 길이를 갖는다. 한편, DRAM에서는 행 방향의 길이를 2의 누승 수로 하는 것이 일반적이다. 따라서, DRAM의 각 행에 1ECC 블럭 행을 기억한 경우에는, 빈 영역이 남게 되어, 메모리의 이용 효율이 저하한다고 하는 문제가 있다. 또한, DRAM의 어드레스는 행 방향에서는 연속하지만, 열 방향에서는 불연속이 된다. 따라서, 열 방향에서는 억세스 속도를 올릴 수 없다고 하는 문제가 있다.ECC blocks have a fixed data format defined by the standard, and each ECC block row has a length of 182 bytes. On the other hand, in DRAM, the length in the row direction is a power of two. Therefore, when one ECC block row is stored in each row of the DRAM, there is a problem that a free area remains and the memory utilization efficiency is lowered. The address of the DRAM is continuous in the row direction but discontinuous in the column direction. Therefore, there is a problem that the access speed cannot be increased in the column direction.
본 출원인에 의한 특원평10-15740호는, DRA 버퍼의 이용 효율을 높임과 함께 행렬 양방향에서 연속적으로 억세스할 수 있도록 하기 위해서, ECC 블럭을 2개의 메모리 뱅크에 인터리브 방식으로 기억하도록 한 기술을 제안하고 있다. 2개의 뱅크로서는, 2개의 SDRAM(동기 DRAM) 칩이 이용된다. 도 5는 이 특허 출원에 개시된 메모리 데이타 맵핑을 나타내고 있다. 도 5의 상측 부분은 도 1의 ECC 블럭의 논리 맵핑을 나타내며, 하측 부분은 2개의 메모리 뱅크 (뱅크 0 및 뱅크 1)에의 물리적 맵핑을 나타내고 있다. 도 5의 L1, L2, L3…은 도 1 및 도 2의 섹터 S1의 ECC 블럭 행 L0, L1, L3…에 대응한다. 설명을 간략화하기 위해서, ECC 블럭 행 L1-L4만이 나타나 있다.Korean Patent Application Publication No. 10-15740 by the present applicant proposes a technique for interleaving ECC blocks in two memory banks in order to improve the efficiency of use of the DRA buffer and to allow continuous access in both directions of the matrix. Doing. As two banks, two SDRAM (synchronous DRAM) chips are used. 5 shows the memory data mapping disclosed in this patent application. The upper part of FIG. 5 shows the logical mapping of the ECC block of FIG. 1, and the lower part shows the physical mapping to two memory banks (bank 0 and bank 1). L1, L2, L3... Are the ECC block rows L0, L1, L3... Of sector S1 in FIGS. Corresponds to. For simplicity, only ECC block rows L1-L4 are shown.
뱅크 0 및 1의 바이트 행은 각각, 홀수개의 바이트 블럭으로 나누어진다. 각 바이트 블럭은 행 방향으로 동일한 길이를 갖는다. 뱅크 0 및 1의 행 방향의 길이(바이트수)는 2n× (2m+1)에 의해 나타난다. 여기서, n 및 m은 양의 정수이다. 2n은 1바이트 블럭의 바이트 수이고, 이 예에서는 64(n=6)이다. 2m+1은 바이트 블럭의 수이고, 이 예에서는 3(m=1)이다. 뱅크 0 및 1의 행 방향의 길이는 192바이트이다. 1ECC 블럭 행의 바이트 수(이 예에서는, 182 바이트)를 Y로 할 때,다음 관계가 성립한다.The byte rows of banks 0 and 1 are divided into odd byte blocks, respectively. Each byte block has the same length in the row direction. The length (number of bytes) in the row direction of the banks 0 and 1 is represented by 2n × (2m + 1). Where n and m are positive integers. 2 n is the number of bytes in a one-byte block, which in this example is 64 (n = 6). 2m + 1 is the number of byte blocks, which in this example is 3 (m = 1). The length in the row direction of the banks 0 and 1 is 192 bytes. When the number of bytes (1182 bytes in this example) of 1 ECC block row is Y, the following relationship is established.
2n×2m<Y<2n×(2m+1)2 n × 2m <Y <2 n × (2m + 1)
ECC 블럭의 각 행 L1, L2, L3…도 각각 64바이트의 3개의 바이트 블럭으로 나누어진다. ECC 블럭 행 L1의 제1 바이트 블럭 A0은 뱅크 0의 바이트 블럭 A0에 기억되고, ECC 블럭 행 L1의 제2 바이트 블럭 B0은 뱅크 1의 바이트 블럭 B0에 기억되고, L1의 제3 바이트 블럭 A1은 뱅크 0의 바이트 블럭 A1에 기억된다. ECC 블럭 행 L2의 제1 바이트 블럭 B1은 뱅크1의 바이트 블럭 B1에 기억되고, L2의 제2 바이트 블럭 A2는 뱅크 0의 바이트 블럭 A2에 기억되고, L2의 제3 바이트 블럭 B2는 뱅크 1의 바이트 블럭 B2에 기억된다. 이하 마찬가지로, 각 ECC 블럭 행은 뱅크 0 및 1의 바이트 블럭에 인터리브 양식으로 기억된다.Each row L1, L2, L3... Of the ECC block. Also divided into three byte blocks of 64 bytes each. The first byte block A0 of the ECC block row L1 is stored in the byte block A0 of bank 0, the second byte block B0 of the ECC block row L1 is stored in the byte block B0 of bank 1, and the third byte block A1 of L1 is It is stored in the byte block A1 of bank 0. The first byte block B1 of the ECC block row L2 is stored in the byte block B1 of bank1, the second byte block A2 of L2 is stored in the byte block A2 of bank 0, and the third byte block B2 of L2 is stored in the bank 1 It is stored in the byte block B2. Likewise below, each ECC block row is stored in the interleaved format in the byte blocks of banks 0 and 1.
ECC 블럭 행 L1을 페치(fetch)할 때에는, 바이트 블럭 A0, B0, A1이 뱅크 0 및 1 사이에서 교대로 억세스되고, ECC 블럭 행 L2를 페치할 때에는, 바이트 블럭 B1, A2, B2가 뱅크1 및 0 사이에서 교대로 억세스된다. 좌측의 ECC 블럭 열을 페치할 때에는, 바이트 블럭 A0, B1, A3, B4…가 뱅크 0 및 1 사이에서 교대로 억세스되고, 중앙의 ECC 블럭 열을 페치할 때에는, 바이트 블럭 B0, A2, B3, A5…가 뱅크 1 및 0 사이에서 교대로 억세스된다. 또, 실제의 열 방향의 오류 정정 처리에서는 ECC 블럭이 바이트 열 단위로 처리되므로, ECC 블럭의 가장 좌측의 바이트열은 바이트 블럭 열 A0, B1, A3, B4…의 가장 좌측의 바이트를 선택함으로써 페치된다.When fetching ECC block row L1, byte blocks A0, B0, A1 are alternately accessed between banks 0 and 1, and when fetching ECC block row L2, byte blocks B1, A2, B2 are bank1. And alternately between zero. When fetching the left ECC block string, the byte blocks A0, B1, A3, B4... Are alternately accessed between banks 0 and 1, and when fetching the central ECC block string, byte blocks B0, A2, B3, A5... Are alternately accessed between banks 1 and 0. Also, in the error correction processing in the column direction, the ECC block is processed in units of byte strings, so the leftmost byte string of the ECC block is the byte block strings A0, B1, A3, B4. It is fetched by selecting the leftmost byte of.
도 5의 메모리 데이타 맵핑에서는, 각 뱅크는 행 방향으로 연속 어드레스를 갖는다. 또한, 인접하는 행은 다른 뱅크에 기억되고, 각 뱅크는 프리차지 등에 요하는 내부 회로 지연이 외관 상, 외부로부터 보이지 않도록 뱅크 인터리브 방식으로 억세스할 수 있기 때문에, 열 방향으로 어드레스를 바꾼 경우에서도(192를 가산한다), 열 데이타를 연속적으로 페치할 수 있다. 따라서, 이 방식에 따르면, 행렬의 양 방향에서 고속 억세스를 실현할 수 있다.In the memory data mapping of Fig. 5, each bank has a continuous address in the row direction. In addition, adjacent rows are stored in different banks, and each bank can be accessed in a bank interleaved manner so that internal circuit delays required for precharge and the like are not visible from the outside. Add 192) to continually fetch thermal data. Therefore, according to this method, fast access can be realized in both directions of the matrix.
또한, 각 뱅크의 행 방향의 길이는 192바이트인데 대해, ECC 블럭 행은 182바이트의 길이이다. 따라서, ECC 블럭의 우측의 바이트 블럭열 A1, B2, A4, B5…를 기억하는 뱅크 블럭만이 54바이트의 데이타를 기억한다. 이 때의 기억 영역 사용 효율은 182/192=0.948로 되어, 높은 사용 효율이 얻어진다.In addition, the length of each bank in the row direction is 192 bytes, whereas the ECC block row is 182 bytes in length. Therefore, the byte block strings A1, B2, A4, B5, ... on the right side of the ECC block. Only the bank block that stores the data stores 54 bytes of data. The storage area use efficiency at this time is 182/192 = 0.948, and high use efficiency is obtained.
따라서, 도 5의 뱅크 인터리브 방식에 따르면, 고속 억세스와 높은 기억 영 역 사용 효율을 얻을 수 있다. 그러나, 각 뱅크 행당, 2n×(2m+1)-Y=192-182=10바이트의 빈 영역을 포함한다.Therefore, according to the bank interleave method of FIG. 5, fast access and high storage area use efficiency can be obtained. However, each bank row contains an empty area of 2n × (2m + 1) -Y = 192-182 = 10 bytes.
본 발명은, 도 4의 DRAM 버퍼(22)에 도5의 뱅크 인터리브 방식을 사용함과 함께, 뱅크 행당 10바이트의 불사용 영역에 신드롬을 기억하는 것이다. 신드롬 생성기(38)는 각 ECC 블럭 행마다 10바이트의 신드롬을 생성하기 때문에, ECC 블럭 행을 뱅크에 인터리브 기억함과 함께, 관련하는 10바이트의 신드롬을, 10바이트의 불사용 영역에 기억함으로써, DRAM 버퍼(22)의 사용 효율을 100%로 높일 수 있다.According to the present invention, the bank interleaving method of FIG. 5 is used for the DRAM buffer 22 of FIG. 4 and the syndrome is stored in an unused area of 10 bytes per bank row. Since the syndrome generator 38 generates a 10-byte syndrome for each ECC block row, the interleaved ECC block rows are stored in the bank, and the associated 10-byte syndrome is stored in a 10-byte unused area. The use efficiency of the buffer 22 can be increased to 100%.
이상, 특정한 실시예에 대해 설명하였지만, 본 발명의 범위 내에서 여러가지 변경을 할 수 있는 것은 당업자에게 명백할 것이다. 예를 들면, 실시예에서는, 행 방향의 오류 정정 처리 후에 열 방향의 오류 정정 처리를 행하였지만, 먼저 열 방향의 오류 정정을 행하는 경우에도, 본 발명을 적용할 수 있다. 단, 이 경우에는 ECC 블럭 전체가 DRAM 버퍼(22)에 기억될 때까지는, 오류 정정 처리를 개시할 수 없다. 먼저 행 방향의 오류 정정 처리를 행하는 경우에는, 1개 이상의 ECC 블럭 행이 DRAM 버퍼에 기억될 때 오류 정정 처리를 개시할 수 있으므로, 이 방법이 유리하다. 또한, 실시예에서는, 특정한 구조의 데이타 포맷이 이용되었지만, 다른 데이타 포맷을 사용하는 것도 가능하다.While specific embodiments have been described above, it will be apparent to those skilled in the art that various changes may be made within the scope of the present invention. For example, in the embodiment, the error correction processing in the column direction is performed after the error correction processing in the row direction, but the present invention can be applied even when the error correction in the column direction is performed first. In this case, however, the error correction process cannot be started until the entire ECC block is stored in the DRAM buffer 22. When the error correction processing in the row direction is first performed, this method is advantageous because the error correction processing can be started when one or more ECC block rows are stored in the DRAM buffer. In addition, although the data structure of a specific structure was used in embodiment, it is also possible to use another data format.
본 발명에서는, 포맷터와 제1 버퍼 기억 장치 사이에 신드롬 생성기를 배치하고, 신드롬만을 오류 정정용의 제2 버퍼 기억 장치 및 디코더로 전송한다. 따라서, 데이타 전송에 요하는 시간을 대폭 단축할 수 있어, 오류 정정 처리를 고속화할 수 있다.In the present invention, a syndrome generator is disposed between the formatter and the first buffer memory, and only the syndrome is transmitted to the second buffer memory and the decoder for error correction. Therefore, the time required for data transfer can be greatly shortened, and the error correction process can be speeded up.
또한, 제1 버퍼 기억 장치에 뱅크 인터리브 기억 방식을 사용하고, 신드롬을 각 뱅크의 불사용 행 영역에 기억함으로써, 제1 버퍼 기억 장치의 사용 효율을 개선할 수 있다.In addition, by using the bank interleaved storage method for the first buffer storage device and storing the syndrome in the unused row area of each bank, the use efficiency of the first buffer storage device can be improved.
또한, 신드롬을 기억하는데 부가적인 기억 장치를 필요로 하지 않고, 특별한 기억 제어도 필요 없기 때문에 경제적이다. 포맷터와 제1 버퍼 기억 장치 사이에 신드롬 생성기를 추가할 필요가 있지만, 신드롬 생성기는 비교적 간단한 게이트로 구성되어 염가이기 때문에, 신드롬 생성기의 추가는 시스템 전체의 비용에는 거의 영향을 주지 않을 정도이다.It is also economical because no additional storage device is required for storing the syndrome and no special memory control is required. Although it is necessary to add a syndrome generator between the formatter and the first buffer memory device, the addition of the syndrome generator has little effect on the overall system cost since the syndrome generator is inexpensive because of the relatively simple gate.
Claims (16)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1998-271912 | 1998-09-25 | ||
JP27191298A JP3272308B2 (en) | 1998-09-25 | 1998-09-25 | Error correction system, error correction method, and data storage system having error correction function |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000022714A true KR20000022714A (en) | 2000-04-25 |
KR100339452B1 KR100339452B1 (en) | 2002-06-05 |
Family
ID=17506620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990033468A KR100339452B1 (en) | 1998-09-25 | 1999-08-14 | Error correction system, error correction method, and data memory with error correction function |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP3272308B2 (en) |
KR (1) | KR100339452B1 (en) |
SG (1) | SG86356A1 (en) |
TW (1) | TW436767B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010081335A (en) * | 2000-02-12 | 2001-08-29 | 구자홍 | Coding method for correcting error of digital data in high density disc |
KR100724211B1 (en) * | 2006-05-09 | 2007-05-31 | 엘지전자 주식회사 | Coding method for correcting error of digital data in high density disc |
KR20170039804A (en) * | 2015-10-01 | 2017-04-12 | 에스케이하이닉스 주식회사 | Operating method of flash memory system |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005006563A1 (en) * | 2003-07-09 | 2005-01-20 | Thomson Licensing | Error correction method for reed-solomon product code |
US7607071B2 (en) * | 2005-01-28 | 2009-10-20 | Intel Corporation | Error correction using iterating generation of data syndrome |
JP2008077458A (en) | 2006-09-22 | 2008-04-03 | Fujitsu Ltd | Storage data processor, storage device, and storage data processing program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761220A (en) * | 1994-09-19 | 1998-06-02 | Cirrus Logic, Inc. | Minimum latency asynchronous data path controller in a digital recording system |
-
1998
- 1998-09-25 JP JP27191298A patent/JP3272308B2/en not_active Expired - Fee Related
-
1999
- 1999-07-30 TW TW088112956A patent/TW436767B/en not_active IP Right Cessation
- 1999-08-14 KR KR1019990033468A patent/KR100339452B1/en not_active IP Right Cessation
- 1999-09-15 SG SG9904524A patent/SG86356A1/en unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010081335A (en) * | 2000-02-12 | 2001-08-29 | 구자홍 | Coding method for correcting error of digital data in high density disc |
US7500157B2 (en) | 2000-02-12 | 2009-03-03 | Lg Electronics Inc. | Error correction coding method for a high-density storage media |
KR100724211B1 (en) * | 2006-05-09 | 2007-05-31 | 엘지전자 주식회사 | Coding method for correcting error of digital data in high density disc |
KR20170039804A (en) * | 2015-10-01 | 2017-04-12 | 에스케이하이닉스 주식회사 | Operating method of flash memory system |
Also Published As
Publication number | Publication date |
---|---|
JP3272308B2 (en) | 2002-04-08 |
SG86356A1 (en) | 2002-02-19 |
TW436767B (en) | 2001-05-28 |
JP2000112776A (en) | 2000-04-21 |
KR100339452B1 (en) | 2002-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3863252B2 (en) | Error correction method, error correction device, data reading device, and data mapping method | |
KR100328902B1 (en) | A data storage system | |
US5467360A (en) | Storage device for reversibly storing digital data on a multitrack storage medium, a decoding device, an information reproducing apparatus for use with a storage medium, and a unitary storage medium for use with such a storage device decoding device and/o | |
KR100370239B1 (en) | Memory device for applying to high speed block pipelined reed-solomon decoder and method of memory access and reed-solomon decoder having the memory device | |
US6363511B1 (en) | Device and method for decoding data streams from storage media | |
US6158040A (en) | Rotated data-aligmnent in wade embedded DRAM for page-mode column ECC in a DVD controller | |
US6397366B1 (en) | Data transmission system, data recording and reproducing apparatus and recording medium each having data structure of error correcting code | |
KR100430657B1 (en) | Signal processor for correcting and detecting errors | |
JP2009054278A (en) | Circuit and device for reproducing data | |
US6061760A (en) | Controller circuit apparatus for CD-ROM drives | |
US4464757A (en) | Method and device for writing and reading sector-organized information into and from a record carrier body | |
KR100339452B1 (en) | Error correction system, error correction method, and data memory with error correction function | |
US8181075B2 (en) | Error correction device and recording and reproducing device | |
JPH1198462A (en) | Data reproduction device | |
US5586127A (en) | Apparatus and method for correcting error in data read from recording medium | |
US6697921B1 (en) | Signal processor providing an increased memory access rate | |
KR20020075269A (en) | Error correction device | |
JP3542943B2 (en) | Data transfer device and data transfer method | |
US20050055622A1 (en) | Device and method for generating error correction code | |
JP2000137651A (en) | Device and method for correcting data error | |
US20080175137A1 (en) | Method for encoding data written to optical storage media | |
KR20050078231A (en) | Digital video disc decoding device and error correction method | |
KR100390120B1 (en) | Signal processor | |
JP2001237715A (en) | Decoder | |
JP2001117825A (en) | Data recording device and data reproducing device |
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 |