KR19980066264A - Data decoding apparatus and method and data reproducing apparatus - Google Patents

Data decoding apparatus and method and data reproducing apparatus Download PDF

Info

Publication number
KR19980066264A
KR19980066264A KR1019970001683A KR19970001683A KR19980066264A KR 19980066264 A KR19980066264 A KR 19980066264A KR 1019970001683 A KR1019970001683 A KR 1019970001683A KR 19970001683 A KR19970001683 A KR 19970001683A KR 19980066264 A KR19980066264 A KR 19980066264A
Authority
KR
South Korea
Prior art keywords
data
error correction
decoding
error
frame
Prior art date
Application number
KR1019970001683A
Other languages
Korean (ko)
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 KR1019970001683A priority Critical patent/KR19980066264A/en
Publication of KR19980066264A publication Critical patent/KR19980066264A/en

Links

Abstract

에러 검출 디코딩 장치는 프레임 단위로 디코드된 데이터를 생성하기 위해 인코드된 데이터를 디코딩하고, 프레임 단위로 디코딩 정보를 발생함으로써 기록 매체로부터 재생된 에러 정정 인코드된 데이터를 디코드하고, 디코드된 데이터 및 디코딩 정보는 프레임 단위에 대응하여 저장되고, 디코드된 데이터 및 디코딩 정보는 기록 매체 상에 인코드된 데이터의 물리적 위치를 나타내는 어드레스 데이터로 프레임 동기되면서 기억 장소로부터 검색된다.The error detection decoding apparatus decodes the encoded data to generate decoded data on a frame basis, generates decoding information on a frame basis, decodes error correction encoded data reproduced from a recording medium, decoded data and Decoded information is stored in correspondence with frame units, and the decoded data and the decoded information are retrieved from the storage location while being frame synchronized with address data indicating the physical location of the encoded data on the recording medium.

Description

데이터 디코딩 장치와 방법 및, 데이터 재생 장치Data decoding apparatus and method, and data reproducing apparatus

본 발명은 광디스크로부터 재생된 디지탈 데이터에서 발생하는 에러를 정정하고 분석하기 위한 에러-정정 코드(ECC) 시스템에 관한 것이다. 보다 상세하게는 본 발명은 에러-정정 코드의 동작을 분석하기 위한 장치 및 방법론에 관한 것이다.The present invention relates to an error-correction code (ECC) system for correcting and analyzing errors occurring in digital data reproduced from an optical disc. More particularly, the present invention relates to an apparatus and methodology for analyzing the operation of error-correcting code.

영상 및 음성을 포함하는 비디오 정보는 통상적으로 기록 매체 상에 디지탈 데이터로서 가변 속도로 디지탈화, 압축 및 기록된다. MPEG(이동 화상 전문가 그룹) 표준에 따라, 비디오 정보는 3가지 타입의 화상(또는 프레임) : 즉, 인트라-코드된 화상(I-화상), 예측-코드된 화상(P-화상), 및 양방향예측-코드된 화상(B-화상)으로 인코드된다. I-화상은 비디오 데이터의 프레임을 인트라-프레임 인코딩함으로써 생성된다. P-화상은 직전 프레임 등의 비디오 데이터의 다른 프레임에 관하여 비디오 데이터의 프레임을 전진 예측 인코딩함으로써 생성된다. B-화상은 비디오 데이터의 다른 다중 프레임들에 관하여 비디오 데이터의 프레임을 양방향으로 예측 인코딩함으로써 재생된다. I-화상, P-화상, 및 B-화상 세트는 화상 그룹(GOP)을 형성하도록 그룹화될 수 있다.Video information, including video and audio, is typically digitalized, compressed and recorded at variable speeds as digital data on a recording medium. According to the MPEG (Mobile Picture Experts Group) standard, video information is divided into three types of pictures (or frames): i.e. intra-coded pictures (I-pictures), predictive-coded pictures (P-pictures), and bidirectional. It is encoded into a predictive-coded picture (B-picture). I-pictures are generated by intra-frame encoding a frame of video data. P-pictures are generated by forward predictive encoding a frame of video data with respect to other frames of video data, such as immediately preceding frames. A B-picture is reproduced by predictively encoding a frame of video data bidirectionally with respect to other multiple frames of video data. I-pictures, P-pictures, and B-picture sets can be grouped to form a picture group (GOP).

오디오 데이터 역시 MPEG 표준에 따라 디지탈화, 압축 및 기록될 수 있다. 또한, 오디오 데이터는 ATRAC(상표명) 등의 추가의 변환 음향 코딩에 의해 인코드될 수 있다.Audio data can also be digitized, compressed and recorded according to the MPEG standard. In addition, the audio data can be encoded by additional transformed acoustic coding such as ATRAC (trade name).

도 1은 가변 속도로 기록된 광디스크(104)로부터 데이터를 재생하는 데이터 재생 장치(100)를 나타낸다. 이 장치(100)는 트래킹 서보(102), 픽업(106), 링 버퍼 메모리(108), 멀티플렉스 데이터 세퍼레이터(110), 비디오 코드버퍼(112), 비디오 디코더(114), 디코딩 시스템(116), 트랙 점프 디텍터(126), 오디오 코드 버퍼(132), 오디오 디코더(134), 링 버퍼 제어기(136) 및 시스템 제어기(138)를 포함한다. 멀티플렉스 데이터 세퍼레이터(110)는 헤더 세퍼레이터(120), 스위치(122) 및 세퍼레이터 제어기(130)를 포함한다. 디코딩 시스렘(116)은 복조기(118), 섹터 검출기(124), 및 에러-정정 코드(ECC) 회로(128)를 포함한다.1 shows a data reproducing apparatus 100 for reproducing data from an optical disc 104 recorded at variable speed. The apparatus 100 includes a tracking servo 102, a pickup 106, a ring buffer memory 108, a multiplex data separator 110, a video code buffer 112, a video decoder 114, a decoding system 116. , Track jump detector 126, audio code buffer 132, audio decoder 134, ring buffer controller 136, and system controller 138. The multiplex data separator 110 includes a header separator 120, a switch 122, and a separator controller 130. The decoding system 116 includes a demodulator 118, a sector detector 124, and an error-correction code (ECC) circuit 128.

재생 동작에서, 픽업(166)은 광디스크(104)에 레이저 빔을 조사하고, 디스크의 표면으로부터 반사된 빛을 검출하고, 대응하는 재생 신호(S1)를 생성한다. 재생 신호(S1)는 복조를 위해 복조 회로(118)에 공급된다. 복조된 데이터는 섹터 검출기(124) 및 ECC 회로(128)에 공급된다. 섹터 검출기(124)는 재생된 데이터가 디스크 상에 기억되는 주소에 대응하는 디스크(104)의 섹터수를 검출한다. 검출된 섹터수는 링 버퍼 제어기(136)에 공급된다. ECC 회로(128)는 복조된 데이터에서 에러를 검출 및 정정한다. 디코딩 시스템(116)및 링 버퍼 제어기(136)의 동작은 시스템 제어기(138)에 의해 제어된다.In the reproducing operation, the pickup 166 irradiates a laser beam to the optical disc 104, detects the light reflected from the surface of the disc, and generates a corresponding reproducing signal S1. The reproduction signal S1 is supplied to the demodulation circuit 118 for demodulation. The demodulated data is supplied to the sector detector 124 and the ECC circuit 128. The sector detector 124 detects the number of sectors of the disk 104 corresponding to the address where the reproduced data is stored on the disk. The detected number of sectors is supplied to the ring buffer controller 136. ECC circuit 128 detects and corrects errors in the demodulated data. The operation of decoding system 116 and ring buffer controller 136 is controlled by system controller 138.

복조기(118)는 재생 신호(S1)를 RF 처리를 통해 바이너리로 변환시키고, EFM+(8, 16 변환) 싱크(sync) 패턴을 검출한다. 일정한 선속도(CLV) 시스템에 따라, 대강의 서보 조정이 재생 신호(S1)에서 검출된 싱크 패턴에 따라 적용된다. 이후, 섹터 검출기(124)에 의해 싱크 헤더의 검출에 따라, 상-록루프(PLL) 서보가 적용된다. 싱크 헤더가 여러번 연속적으로 검출되는 경우, EFM+ 복조된 데이터(S2)가 데인터리브될 것이다. 디코딩 시스템(116)의 동작에 대한 -보다 상세한 설명은 도 2와 관련된 다음 섹션에 기재할 것이다.The demodulator 118 converts the reproduction signal S1 into binary through RF processing and detects an EFM + (8, 16 conversion) sync pattern. According to the constant linear velocity CLV system, rough servo adjustment is applied according to the sync pattern detected in the reproduction signal S1. Then, upon detection of the sync header by the sector detector 124, a phase-lock loop (PLL) servo is applied. If the sync header is detected several times in succession, the EFM + demodulated data S2 will be deinterleaved. A more detailed description of the operation of the decoding system 116 will be described in the next section associated with FIG. 2.

섹터 검출기(124)가 섹터수를 검출할 수 없는 경우, 비정상적인 신호가 트랙 점프 검출기(126)에 공급된다. 복조된 데이터가 ECC(128)에 의해 정정될 수 없는 경우, 에러 발생 신호가 트랙 점프 검출기(126)에 공급된다. ECC(128)는 에러-정정된 데이터(S10)를 일시적으로 저장시키기 위해 링 버퍼메모리(108)에 공급한다. 링 버퍼 제어기(136)는 섹터 검출기(124)에 의해 제공된 검출된 섹터수의 어드레스에 대응하는 링 버퍼 메모리(108) 내에 기록 어드레스, 기록 포인터(WP)를 할당한다.If the sector detector 124 cannot detect the number of sectors, an abnormal signal is supplied to the track jump detector 126. If the demodulated data cannot be corrected by the ECC 128, an error generation signal is supplied to the track jump detector 126. The ECC 128 supplies the ring buffer memory 108 to temporarily store the error-corrected data S10. The ring buffer controller 136 allocates a write address, a write pointer WP in the ring buffer memory 108 corresponding to the address of the detected sector number provided by the sector detector 124.

멀티플렉스 데이터 세퍼레이터(110)로부터 코드 요청 신호(Rl0)에 반응하여, 링 버퍼 제어기(136)는 링 버퍼 메모리(108)에 저장된 대응하는 데이터에 따라 판독 어드레스, 판독 포인터(RP)를 할당한다. 판독 포인터(RP)는 대응하는 데이터(S12)를 멀티플렉스 데이터 세퍼레이터(110)에 공급하는 링 버퍼 메모리(108)에 공급된다.In response to the code request signal R10 from the multiplex data separator 110, the ring buffer controller 136 assigns a read address, a read pointer RP according to the corresponding data stored in the ring buffer memory 108. The read pointer RP is supplied to the ring buffer memory 108 which supplies the corresponding data S12 to the multiplex data separator 110.

헤더 세퍼레이터는 링 버퍼 메모리(108)에 의해 공급된 데이터로부터 팩 헤더 및 패킷 헤드를 분리한다. 헤더 데이터는 세퍼레이터 제어기(130)에 공급되고, 나머지 데이터인 시분할 멀티플렉스된 데이터는 스위치(122)의 입력단자(G)에 공급된다. 패킷 헤더 데이터 내에 포함된 스트림 식별자 정보에 따라, 세퍼레이터 제어기(130)는 시분할 멀티플렉스된 데이터를 디멀티플렉스하도록 스위치(122)의 동작을 제어한다. 특히, 스위치(122)는 입력 단자(G)를 출력 단자(H1 및 H2)와 조직적으로 접속시키기 위해 제어되고, 그로 인해 코드된 비디오 데이터를 비디오 코드 버퍼(112)에 및 코드된 오디오 데이터를 오디오 코드 버퍼(132)에 루팅시킨다. 비디오 코드 버퍼(112) 및 오디오 코드버퍼(132)로부터 수신된 데이터 요청 신호에 따라, 멀티플렉스 데이터 세퍼레이터(110)는 코드 요청 신호(R10)를 발생한다.The header separator separates the pack header and the packet head from the data supplied by the ring buffer memory 108. The header data is supplied to the separator controller 130, and the time division multiplexed data, which is the remaining data, is supplied to the input terminal G of the switch 122. According to the stream identifier information included in the packet header data, the separator controller 130 controls the operation of the switch 122 to demultiplex the time division multiplexed data. In particular, the switch 122 is controlled to systematically connect the input terminal G with the output terminals H1 and H2, thereby transferring the coded video data to the video code buffer 112 and the coded audio data. Route to code buffer 132. According to the data request signal received from the video code buffer 112 and the audio code buffer 132, the multiplex data separator 110 generates a code request signal R10.

데이터 디코딩 동작에 따라, 비디오 디코더(114)는 비디오 코드 버퍼(112)에 공급되는 데이터 요청 신호(R1)를 발생한다. 그의 저장 상태에 따라, 비디오 코드 버퍼(112)는 추가의 데이터를 요청하기 위해 데이터 요청 신호(R1)를 멀티플렉스 데이터 세퍼레이터(110)에 통과시킨다. 버퍼(112)는 세퍼레이터(110)로부터 수신된 코드된 비디오 데이터를 일시적으로 저장한다. 비디오 디코더(114)는 코드된 비디오 데이터를 디코드하고, 디코드된 비디오 데이터를 출력 단자(OUT1)에 공급한다.According to the data decoding operation, the video decoder 114 generates a data request signal R1 supplied to the video code buffer 112. Depending on its storage state, video code buffer 112 passes data request signal R1 to multiplex data separator 110 to request additional data. The buffer 112 temporarily stores the coded video data received from the separator 110. The video decoder 114 decodes the coded video data, and supplies the decoded video data to the output terminal OUT1.

다른 데이터 디코딩 동작에 따라, 오디오 디코더(134)는 오디오 코드버퍼(132)에 공급된 데이터 요청 신호(R2)를 발생한다. 그의 저장 상태에 따라, 오디오 코드 버퍼(132)는 추가의 데이터를 요청하기 위해 데이터 요청 신호(R2)를 멀티플렉스 데이터 세퍼레이터(110)에 통과시킨다. 버퍼(132)는 세퍼레이터(110)로부터 수신된 코드된 오디오 데이터를 일시적으로 저장한다. 오디오 디코더(134)는 코드된 오디오 데이터를 디코드하고, 디코드된 오디오데이터를 출력 단자(OUT2)에 공급한다.According to another data decoding operation, the audio decoder 134 generates a data request signal R2 supplied to the audio code buffer 132. Depending on its storage state, the audio code buffer 132 passes the data request signal R2 to the multiplex data separator 110 to request additional data. The buffer 132 temporarily stores the coded audio data received from the separator 110. The audio decoder 134 decodes the coded audio data and supplies the decoded audio data to the output terminal OUT2.

트래킹 서보(102) 및 트랙 점프 디텍터(126)는 종래 장치이다.The tracking servo 102 and track jump detector 126 are conventional devices.

도 2에 나타낸 바와 같이, ECC 회로(128)는 RAM(202, 206, 210 및 214) 및 ECC 디코더(204, 208 및 212)를 포함한다. ECC 회로(128)는 EFM+복조된 데이터(S2)를 C1/C2 포선 리드 솔로몬 디코딩 방법론(CIRC플러스)에 따라 처리한다. 데이터(S2)는 섹터 검출기(124)로부터 검색되고, 램(24)에 저장되고, ECC 디코더(25,2f7 및 29)에 의해 3개의 시리즈 방법으로 디코드된다. 먼저, C1 디코딩이 수행된 후, C2 디코딩이 수행되고, 마지막으로 C1 디코딩이 제 2 시간(C12)으로 수행된다.As shown in FIG. 2, the ECC circuit 128 includes RAMs 202, 206, 210 and 214 and ECC decoders 204, 208 and 212. The ECC circuit 128 processes the EFM + demodulated data S2 according to the C1 / C2 siding Reed Solomon decoding methodology (CIRC Plus). The data S2 is retrieved from the sector detector 124, stored in the RAM 24, and decoded in three series methods by the ECC decoders 25, 2f7 and 29. First, after C1 decoding is performed, C2 decoding is performed, and finally, C1 decoding is performed at the second time C12.

ECC 회로(128)의 ECC 디코딩 방법의 동작은 도 3에 나타낸다. EFM+ 복조된 데이터(S2)는 00, 01,..., A8, A9의 순서로 램(202)(EFM+ 기록)에 기록되고, EFM+ 복조된 데이터의 2 프레임이 저장된다. 데이터(S2)는 프레임의 00', 02',..., A8', 01, 03,..., A9의 순서로 ECC 디코더(204)에 공급된다. ECC 디코더(204)는 C1 디코드된 데이터를 생성하도록 디인터리브된 C1 시리즈 데이터의 ECC 디코딩을 실행한다. C1 디코드된 데이터는 도 4에나타낸 바와 같이 저장하기 위해 램(206)(C1 기록)에 공급된다.The operation of the ECC decoding method of the ECC circuit 128 is shown in FIG. The EFM + demodulated data S2 is recorded in the RAM 202 (EFM + record) in the order of 00, 01, ..., A8, A9, and two frames of the EFM + demodulated data are stored. The data S2 is supplied to the ECC decoder 204 in the order of 00 ', 02', ..., A8 ', 01, 03, ..., A9 of the frame. The ECC decoder 204 performs ECC decoding of the deinterleaved C1 series data to produce C1 decoded data. C1 decoded data is supplied to RAM 206 (C1 write) for storage as shown in FIG.

에러 정정은 ECC 디코더(204)로부터 에러 위치 및 정정 패턴을 판독하고, 램(202)(C1 판독)로부터 대응하는 에러 데이터를 동시에 판독하고, 정정패턴 및 에러 데이터와 배타적 논리합을 실행함으로써 달성될 수 있다.Error correction can be achieved by reading the error location and correction pattern from the ECC decoder 204, simultaneously reading the corresponding error data from the RAM 202 (C1 read), and executing an exclusive OR with the correction pattern and error data. have.

ECC 디코더(204)는 C2 코드 시리즈 길이를 위해 C1 시리즈 디코딩을 실행함으로써, C2 시리즈 디코딩을 허용한다. ECC 디코더(208)는 00', 01', 02', 03',..., A9'(C2 판독) 순서로 램(206)으로부터 공급된 C1 디코드된 데이터에 따라 C2 시리즈 디코딩을 실행하여 C2 디코드된 데이터를 생성한다. ECC 디코더(208)는 C1 코드 시리즈 길이에 대한 C2 시리즈 디코딩을 실행함으로써 C1 시리즈 디코딩을 허용한다. C2 디코드된 데이터는 도 5에 나타낸바와 같이 저장하기 위해 램(210)(C2 기록)에 공급된다.The ECC decoder 204 allows C2 series decoding by executing C1 series decoding for the C2 code series length. The ECC decoder 208 executes C2 series decoding in accordance with the C1 decoded data supplied from the RAM 206 in the order of 00 ', 01', 02 ', 03', ..., A9 '(C2 read) to perform C2 decoding. Generate decoded data. The ECC decoder 208 allows C1 series decoding by executing C2 series decoding for the C1 code series length. C2 decoded data is supplied to RAM 210 (C2 write) for storage as shown in FIG.

소거 정정은 각각의 프레임에 대해 정정할 수 없는 플래그를 데이터와 동기된 연속 단계의 ECC 디코더에 전송함으로써 달성될 수 있다. C2 시리즈의 소거 정정을 위해, C1의 정정할 수 없는 플래그가 사용될 수 없다. 이 경우, 에러 정정 동작은 C1의 그것과 동일하다.Erasure correction can be achieved by sending a non-correctable flag for each frame to a successive stage ECC decoder synchronized with the data. For erasure correction of the C2 series, the uncorrectable flag of C1 cannot be used. In this case, the error correction operation is the same as that of C1.

ECC 디코더(212)는 00', 01, 02, 03,..., A9(C12 판독) 순서로 램(210)으로부터 공급된 C2 디코드된 데이터에 따라 C12 시리즈 디코딩을 실행하여 C12 디코드된 데이터를 생성한다. C12 시리즈의 소거 정정을 위해, C2의 정정할 수 없는 플래그가 사용될 수 있다.The ECC decoder 212 executes C12 series decoding according to the C2 decoded data supplied from the RAM 210 in the order of 00 ', 01, 02, 03, ..., A9 (C12 read) to perform C12 decoded data. Create For erasure correction of the C12 series, the uncorrectable flag of C2 can be used.

C12의 에러 정정이 완료되었을 때, C12 시리즈의 ECC 디코딩 결과는 램(214) 내에 00, 01, 02, 03,..., A9의 순서로 기록될 수 있다. 따라서, 램(214)은 00, 01, 02, 03,..., A9(판독)의 순서로 저장 및 판독된 C1, C2 및 C12시리즈의 ECC 디코딩 결과를 저장한다. 디코딩 결과는 데스크램블 처리되고 링 버퍼 메모리(108)에 출력된다. 이어서, 필요한 섹터 데이터가 기록될 수 있다.When the error correction of C12 is completed, the ECC decoding results of the C12 series may be recorded in RAM 214 in the order of 00, 01, 02, 03, ..., A9. Accordingly, the RAM 214 stores ECC decoding results of the C1, C2 and C12 series stored and read in the order of 00, 01, 02, 03, ..., A9 (reading). The decoding result is descrambled and output to the ring buffer memory 108. Subsequently, necessary sector data can be recorded.

ECC 회로(128) 내에 처리된 에러 수는 디스크가 절단된 정확도에 의존하기 때문에, ECC 회로(128) 내의 에러 처리수의 측정은 디스크 품질의 평가로서 소용된다. 에러의 위치는 디스크 상의 위치의 표시로서 섹터 어드레스를 이용함으로써 측정될 수 있다.Since the number of errors processed in the ECC circuit 128 depends on the accuracy with which the disc is cut, the measurement of the number of error processes in the ECC circuit 128 serves as an evaluation of the disc quality. The location of the error can be measured by using the sector address as an indication of the location on the disk.

데이터가 C1 및 C2 시리즈로 컨벌루션으로 모드화되는 경우, ECC에서 검출 에러 정정은 C1, C2, C1과 같은 ECC 디코딩의 각각의 시리즈로 반복적으로 실행된다. 예를 들면, C2 시리즈의 ECC 디코딩은 C1 시리즈의 ECC 디코딩 후 실행될 수 있다. 마찬가지로, 제 2의 C1 시리즈 검출은 C2 및 C1 시리즈 디코딩이 실행된 후 수행된다. 따라서, ECC 디코딩의 실행 직후 결과가 출력되는 경우, 시간 지연은 동일한 C1 시리즈의 ECC 결과의 검출 시간에 관하여 발생할 것이다.When the data is modulated in convolution with the C1 and C2 series, detection error correction in ECC is performed repeatedly with each series of ECC decoding such as C1, C2, C1. For example, ECC decoding of the C2 series may be performed after ECC decoding of the C1 series. Similarly, the second C1 series detection is performed after the C2 and C1 series decoding are performed. Thus, if a result is output immediately after execution of ECC decoding, a time delay will occur with respect to the detection time of ECC results of the same C1 series.

따라서, ECC 결과가 시스템 제어기(138)에 의해 디스크 상의 위치로 추적될 수 있는 경우, 섹터 검출기(124)에 의해 검출된 섹터 어드레스가 기록되고, ECC 결과가 고려된다. 섹터 어드레스와 ECC 결과 사이의 시간 지연은 ECC 결과 및 기록된 데이터의 분석 전에 산출되어야 한다. 이러한 산출은그의 복잡성으로 인해 확실하지 않다.Thus, if the ECC result can be tracked by the system controller 138 to a location on the disc, the sector address detected by the sector detector 124 is recorded and the ECC result is considered. The time delay between the sector address and the ECC result must be calculated before analyzing the ECC result and the recorded data. This calculation is not clear due to its complexity.

또한, ECC 회로(128)에 공급될 단위 시간당 데이터 량은 다스크의 회전 속도에 비례한다. 따라서, ECC 처리를 위한 제어 타이밍은 디스크 속도에 의해 영향 받을 수 있다. 추가의 문제로서, 고속으로 디스크를 액세스할 때, ECC 처리가 실행된 직후 에러 결과가 출력되는 경우, C11, C2 및 C12 시리즈의 각각의 에러 결과를 디스크 상의 특정 섹터 어드레스와 상관시키는 것은 어렵다.In addition, the amount of data per unit time to be supplied to the ECC circuit 128 is proportional to the rotational speed of the dask. Therefore, the control timing for ECC processing may be influenced by the disk speed. As a further problem, when accessing a disk at high speed, if an error result is output immediately after ECC processing is executed, it is difficult to correlate each error result of the C11, C2 and C12 series with a specific sector address on the disk.

상기한 바에 비추어, 본 발명의 목적은 고속으로 디스크에 액세싱하면서 디스크 상의 에러 위치를 검출하기 위한 에러 정정 데이터 디코딩 방법론 및 장치를 제공하는 것이다.In view of the foregoing, it is an object of the present invention to provide an error correction data decoding methodology and apparatus for detecting error locations on a disc while accessing the disc at high speed.

본 발명의 다른 목적은 확실하지 않은 복잡한 연산을 이용하지 않고 고속으로 회전하는 디스크 상에서 에러 위치를 검출하기 위한 방법론 및 장치를 제공하는 것이다.It is another object of the present invention to provide a methodology and apparatus for detecting error locations on a disk that rotates at high speed without the use of indeterminate complex computations.

본 발명의 또 다른 목적은 에러와 디스크 상의 그의 물리적 위치와 및 에러 정정 방법의 결과와 상관 관계인, 디스크 상의 에러를 검출하기 위한 방법론 및 장치를 제공하는 것이다.It is a further object of the present invention to provide a methodology and apparatus for detecting an error on a disc that correlates the error with its physical location on the disc and the result of the error correction method.

본 발명의 또 다론 목적은 디스크 기록 매체의 상태를 측정하기 위해 디스크 기록 매체 상의 에러를 검출하기 위한 방법론 및 장치를 제공하는 것이다.It is yet another object of the present invention to provide a methodology and apparatus for detecting errors on a disc recording medium for measuring the state of the disc recording medium.

도 1은 선행 기술의 데이터 재생 및 에러 정정 장치의 블록도.1 is a block diagram of a data reproduction and error correction device of the prior art;

도 2는 도 1의 ECC 회로의 블록도.2 is a block diagram of the ECC circuit of FIG.

도 3 내지 도 6은 선행 기술의 ECC 회로에 의해 처리되는 데이터 디코딩을 설명하기 위해 참조할 수 있는 개략도.3-6 are schematic diagrams that may be referred to to explain data decoding processed by prior art ECC circuits.

도 7은 본 발명의 실시예에 따른 데이터 재생 및 에러 정정 장치의 블록도.7 is a block diagram of a data reproduction and error correction apparatus according to an embodiment of the present invention.

도 8은 도 7의 ECC 회로의 블록도.8 is a block diagram of the ECC circuit of FIG.

도 9는 도 7의 복조기, 섹터 검출기, 및 ECC 회로의 동작을 설명하기 위해 참조할 수 있는 블록도.9 is a block diagram that may be referred to to explain the operation of the demodulator, sector detector, and ECC circuit of FIG.

도 10은 도 8의 RAM에 저장된 데이터를 나타내는 데이터도.FIG. 10 is a data diagram illustrating data stored in a RAM of FIG. 8. FIG.

도 11은 도 8의 ECC 회로에 의해 생성된 디코딩 정보를 상술하는 데이터 차트.FIG. 11 is a data chart detailing decoding information generated by the ECC circuit of FIG. 8; FIG.

도 12a 및 도 12b는 도 8의 ECC 회로의 동작을 설명하기 위해 참조할 수 있는 타이밍도.12A and 12B are timing diagrams that can be referred to to explain the operation of the ECC circuit of FIG. 8.

도 13은 도 8의 ECC 회로로부터 출력된 데이터의 포맷을 나타내는 데이터 포맷도.FIG. 13 is a data format diagram showing a format of data output from the ECC circuit of FIG. 8; FIG.

도 14는 섹터 데이터의 구조를 나타내는 데이터 포맷도.Fig. 14 is a data format diagram showing a structure of sector data.

도 15는 ECC 블록의 구조를 나타내는 데이터 포맷도.15 is a data format diagram showing a structure of an ECC block.

도 16은 PO 패리티(외부 코드)의 인터리빙을 나타내는 데이터 포맷도.16 is a data format diagram showing interleaving of PO parity (external code).

도 17은 데이터 블록의 구조를 나타내는 데이터 포맷도.17 is a data format diagram showing a structure of a data block.

도 18은 본 발명의 다른 실시예에 따론 복조 회로 시스템의 블록도.18 is a block diagram of a demodulation circuit system in accordance with another embodiment of the present invention.

도 19는 물리적 섹터의 구조를 나타내는 개략도.19 is a schematic diagram showing the structure of a physical sector.

도 20은 데이터 섹터의 구조를 나타내는 개략도.20 is a schematic diagram showing the structure of a data sector.

도 21은 메모리 내의 데이터 기억 장소를 설명하기 위해 참조할 수 있는 개략도.Fig. 21 is a schematic diagram that can be referred to for explaining a data storage place in the memory.

도 22A 내지 도 22F는 데이터 기억 동작을 기재하기 위해 참조할 수있는 타이밍도.22A to 22F are timing diagrams that can be referred to for describing data storage operations.

도 23은 록 검출 방법을 나타내는 흐름도.23 is a flowchart showing a lock detection method.

도 24는 SCSY 신호 발생 방법을 나타내는 흐름도.24 is a flowchart showing a method for generating an SCSY signal.

도 25는 메인-FMSY 신호를 나타내는 흐름도.25 is a flowchart showing a main-FMSY signal.

도 26A 내지 도 26H는 블록-탑 검출 동작을 기재하기 위해 참조할 수 있는 타이밍도.26A-26H are timing diagrams that may be referenced to describe block-top detection operations.

도 27A 내지 도 27H는 포스트-블록-탑 검출 방법을 기재하기 위해 참조할 수 있는 타이밍도.27A-27H are timing diagrams that may be referenced to describe a post-block-top detection method.

도28A 내지 도28F는 SUB-전송방법을 기재하기 위해 참조할수있는 타이밍도.28A-28F are timing diagrams that can be referred to to describe the SUB-transmission method.

도 29는 섹터 정보의 구조를 나타내는 개략도.29 is a schematic diagram showing a structure of sector information.

도 30은 IED 연속 검출 및 측정 방법을 나타내는 흐름도.30 is a flow chart showing a method for continuous detection and measurement of an IED.

도 31은 ID(어드레스) 연속 측정 방법을 나타내는 흐름도.Fig. 31 is a flowchart showing a method of continuously measuring ID (address).

도 32는 SALK 발생 방법을 나타내는 흐름도.32 is a flowchart showing a method of generating SALK.

도 33A 내지 도 33D는 본 발명의 목적에 따론 에러 정정 동작을 기재하기 위해 참조할 수 있는 타이밍도.33A-33D are timing diagrams that may be referenced for describing error correction operations in accordance with the purpose of the present invention.

도 34A 내지 34I는 본 발명의 목적에 따른 에러 정정 동작을 기재하기 위해 참조할 수 있는 타이밍도.34A-34I are timing diagrams that may be referenced to describe error correction operations in accordance with the purpose of the present invention.

도 35A 내지 도 35E, 도 36A 내지 도 36E 및 도 37A 내지 도 37E는 본 발명의 목적에 따른 ECC 처리 제어 동작을 설명하기 위해 참조할 수 있는 타이밍도.35A to 35E, 36A to 36E, and 37A to 37E are timing diagrams that can be referred to for explaining the ECC processing control operation according to the object of the present invention.

도 38은 ECC 처리 방법을 나타내는 흐름도.38 is a flowchart showing an ECC processing method.

도 39는 본 발명의 다른 실시예에 따른 에러 정정 회로 시스템의 블록도.39 is a block diagram of an error correction circuit system according to another embodiment of the present invention.

도 40은 도 39의 ECC 회로에 의해 처리된 디코딩 정보를 상세히 나타내는 데이터 차트.40 is a data chart showing details of decoding information processed by the ECC circuit of FIG. 39; FIG.

도 41A 내지 도 41G는 버스 중재를 기재하기 위해 참조할 수 있는 타이밍도.41A-41G are timing diagrams that may be referenced to describe bus arbitration.

도 42는 본 발명의 목적에 따른 일 ECC 블록의 검출 동안 메모리 액세싱을 설명하기 위해 참조할 수 있는 표.42 is a table that may be referenced to illustrate memory accessing during detection of one ECC block in accordance with the purpose of the present invention.

도 43A 내지 도 43F는 에러 정정 결과를 기재하기 위해 참조할 수 있는 타이밍도.43A to 43F are timing diagrams that can be referred to for describing an error correction result.

도 44는 데이터 출력 방법을 나타내는 흐름도.44 is a flowchart showing a data output method.

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

100 : 데이터 재생 장치 102 : 트래킹 서보100: data reproducing apparatus 102: tracking servo

104 : 광디스크 106 : 픽업104: optical disk 106: pickup

108 : 링 버퍼 메모리 110 : 멀티플렉스 데이터 세퍼레이터108: ring buffer memory 110: multiplex data separator

112 : 비디오 코드 버퍼 114 : 비디오 디코더112: video code buffer 114: video decoder

116 : 디코딩 시스템 126 : 트랙 점프 검출기116: decoding system 126: track jump detector

132 : 오디오 코드 버퍼 134 : 오디오 디코더132: audio code buffer 134: audio decoder

136 : 링 버퍼 제어기 138 : 시스템 제어기136: ring buffer controller 138: system controller

본 발명의 목적에 따라, 기록 매체로부터 재생된 에러 정정 인코드된 데이터를 에러 정정 디코딩하기 위한 데이터 디코딩 장치가 제공된다. 이 장치는 프레임 단위로 디코드된 데이터를 생성하도록 에러 정정 인코드된 데이터를 에러 정정 디코딩하고, 프레임 단위로 디코딩 정보를 생성하기 위한 에러 정정 디코딩 회로를 포함한다. 메모리 장치는 에러 정정 인코드된 데이터, 디코드된 데이터 및 디코딩 정보를 저장한다. 에러 정정 디코딩 회로 및 메모리 장치에 결합된 메모리 제어 회로는 프레임 단위에 따라 디코드된 데이터 및 디코딩 정보를 저장하기 위해 메모리 장치를 제어하고, 기록 매체 상의 에러 정정 인코드된 데이터의 물리적 위치를 나타내는 어드레스 데이터로 프레임 동기시키면서 메모리 장치로부터 디코드된 데이터 및 디코딩 정보를 검색한다.According to the object of the present invention, a data decoding apparatus for error correcting decoding error corrected encoded data reproduced from a recording medium is provided. The apparatus includes error correction decoding circuitry for error correction decoding the error corrected encoded data to generate decoded data on a frame basis, and to generate decoding information on a frame basis. The memory device stores error correction encoded data, decoded data and decoding information. The error correction decoding circuit and the memory control circuit coupled to the memory device control the memory device to store decoded data and decoding information on a frame-by-frame basis, and address data indicating a physical location of the error correction encoded data on the recording medium. Decoded data and decoding information are retrieved from the memory device while frame synchronization is performed at a low speed.

본 발명의 다른 목적에 따라, 기록 매체로부터 재생된 에러 정정 인코드된 데이터를 에러 정정 디코딩하기 위한 데이터 디코딩 방법이 제공된다. 이러한 방법은 프레임 단위로 디코드된 데이터를 생성하기 위해 에러 정정 인코드된 데이터를 에러 정정 디코딩하는 단계, 프레임 단위로 디코딩된 정보를발생하는 단계, 에러 정정 인코드된 데이터, 디코드된 데이터 및 디코딩 정보를 저장하는 단계, 메모리에 프레임 단위에 따라 디코드된 데이터 및 디코딩정보를 저장하는 단계 및 기록 매체 상의 에러 정정 인코드된 데이터의 물리적 위치를 나타내는 어드레스 데이터로 프레임 동기시키면서 메모리로부터 디코드된 데이터 및 디코딩 정보를 검색하는 단계를 포함한다.According to another object of the present invention, there is provided a data decoding method for error correcting decoding error corrected encoded data reproduced from a recording medium. This method includes error correction decoding error corrected encoded data to generate decoded data on a frame basis, generating decoded information on a frame basis, error correction encoded data, decoded data and decoding information. Storing the decoded data and the decoding information according to the frame unit in the memory; and the decoded data and the decoding information from the memory while synchronizing the frame with address data indicating the physical position of the error correction encoded data on the recording medium. Searching for;

본 발명에 따른 다른 목적, 특징 및 장점은 수반된 도면과 연관시켜 판독될 때 나타낸 실시예의 하기 상세한 설명으로부터 보다 명백해질 것이며, 여기서 동일한 소자는 동일한 참고 숫자로 확인된다.Other objects, features and advantages according to the present invention will become more apparent from the following detailed description of the embodiments shown when read in conjunction with the accompanying drawings, in which like elements are identified with identical reference numerals.

[실시예]EXAMPLE

도 7은 본 발명의 실시예에 따른 데이터 재생 및 데이터 디코딩 장치(700)를 나타낸다. 장치(100)의 그것과 동일한 구조 및 기능을 갖는 장치(700)의 소자들은 도 1에서 이용된 것과 동일한 참고 숫자로 라벨링되었다. 데이터 재생 및 디코딩 장치(700)는 가변 속도로 기록된 광디스크(104)로부터 화상데이터 및 오디오 데이터를 재생 및 디코드한다.7 shows a data reproduction and data decoding apparatus 700 according to an embodiment of the present invention. Elements of device 700 having the same structure and function as that of device 100 are labeled with the same reference numerals as used in FIG. 1. The data reproducing and decoding apparatus 700 reproduces and decodes image data and audio data from the optical disc 104 recorded at variable speed.

도시한 바와 같이, 장치(700)는 트래킹 서보(102), 픽업(106), 링 버퍼메모리(702), 멀티플렉스 데이터 세퍼레이터(704), 비디오 코드 버퍼(710), 비디오 디코더(712), 디코딩 회로(714), 트랙 점프 검출기(724), 링 버퍼 제어기(730) 및 시스템 제어기(732)를 포함한다. 디코딩 회로(714)는 복조기(716), 섹터 검출기(718) 및 에러-정정 코드(ECC) 회로(726)를 포함한다. 멀티플렉스 데이터 세퍼레이터(704)는 헤더 세퍼레이터(706), 스위치(708) 및 세퍼레이터 제어기(728)를 포함한다. 디코딩 회로(714) 및 링 버퍼 제어기(730)는 제어 장치인 시스템 제어기(732)에 의해 제어된다.As shown, apparatus 700 includes tracking servo 102, pickup 106, ring buffer memory 702, multiplex data separator 704, video code buffer 710, video decoder 712, decoding Circuit 714, track jump detector 724, ring buffer controller 730, and system controller 732. Decoding circuit 714 includes a demodulator 716, a sector detector 718, and an error-correcting code (ECC) circuit 726. The multiplex data separator 704 includes a header separator 706, a switch 708, and a separator controller 728. The decoding circuit 714 and the ring buffer controller 730 are controlled by the system controller 732 which is a control device.

트래킹 서보(102) 및 픽업(106)은 종래 장치이다. 트래킹 서보(102)에 의해 제어되는 픽업(106)은 광디스크(104)에 레이저 빔을 조사하고, 디스크 표면으로부터 반사된 빛의 패턴을 검출한다. 반사된 빛의 패턴에 반응하여, 픽업(106)은 광디스크(104) 상에 기록된 데이터를 나타내는 재생 신호(S1)를 생성한다. 재생 신호(S1)는 복조기(716)에 공급된다.Tracking servo 102 and pickup 106 are conventional devices. The pickup 106 controlled by the tracking servo 102 irradiates a laser beam to the optical disc 104 and detects a pattern of light reflected from the surface of the disc. In response to the pattern of reflected light, the pickup 106 generates a reproduction signal S1 representing the data recorded on the optical disc 104. The reproduction signal S1 is supplied to the demodulator 716.

복조기(716)는 기록 매체로부터 직접적으로 재생된 변조된 신호를 복조하기 위한 장치이다. 복조기(716)의 바람직한 구조는 도 8에 나타내며, 다음 섹션에서 논의할 것이다. 재생 신호(S1)는 복조기(716)에 의해 복조되고, 복조된 신호(S2)는 섹터 검출기(718)에 공급된다. 섹터 검출기(718)는 광디스크로부터 재생된 복조된 데이터의 섹터 어드레스를 측정하기 위한 검출기 장치이다. 섹터 검출기(718)는 복조된 신호(S2)에 의해 나타낸 데이터의 각각의 섹터에 기록된 어드레스를 검출하고, 어드레스, 바람직하게는 섹터수를 링 버퍼 제어기(730)에 공급한다. 섹터 검출기(718)는 복조된 신호(S2)의 나머지 데이터 내용을 ECC 회로(718)에 공급한다. 이러한 데이터 전송은 섹터 동기화 동안 발생할 수 있다.Demodulator 716 is an apparatus for demodulating a modulated signal reproduced directly from a recording medium. The preferred structure of demodulator 716 is shown in FIG. 8 and will be discussed in the next section. The reproduction signal S1 is demodulated by the demodulator 716, and the demodulated signal S2 is supplied to the sector detector 718. The sector detector 718 is a detector device for measuring the sector address of the demodulated data reproduced from the optical disc. Sector detector 718 detects an address written in each sector of the data represented by demodulated signal S2, and supplies address, preferably the number of sectors, to ring buffer controller 730. The sector detector 718 supplies the ECC circuit 718 with the remaining data contents of the demodulated signal S2. This data transfer can occur during sector synchronization.

섹터 검출기(718)가 어드레스를 검출하지 않거나, 또는 검출된 어드레스가 연속적이지 않은 경우, 섹터 검출기(718)는 링 버퍼 제어기(730)를 통해 트랙 점프 검출기(724)에 공급되는 섹터수 비정상 신호를 발생한다.If the sector detector 718 does not detect an address, or if the detected address is not contiguous, the sector detector 718 outputs a sector number abnormal signal supplied to the track jump detector 724 through the ring buffer controller 730. Occurs.

링 버퍼 제어기(730)는 링 버퍼 메모리(702)의 판독 및 기록 동작을 제어하고, 멀티플렉스 데이터 세퍼레이터(704)에 의한 데이터 요청을 나타내는 데이터 요청 신호를 모니터링하기 위한 제어 회로이다. 링 버퍼 제어기(730)는 섹터 검출기(718)에 의해 제공된 검출된 섹터수의 어드레스에 대응하는 링버퍼 메모리(702)에 기록 어드레스, 기록 포인터(WP)를 할당한다. 링 버퍼메모리(702)는 선입 선출(FIFO) 기능을 갖는 링 버퍼 메모리 장치이다.The ring buffer controller 730 is a control circuit for controlling the read and write operations of the ring buffer memory 702 and for monitoring data request signals indicative of data requests by the multiplexed data separator 704. The ring buffer controller 730 assigns a write address and a write pointer WP to the ring buffer memory 702 corresponding to the address of the detected sector number provided by the sector detector 718. The ring buffer memory 702 is a ring buffer memory device having a first-in first-out (FIFO) function.

ECC 회로(726)는 복조된 데이터를 처리하고, 에러 정정을 실행하기 위한 에러 정정 코드 회로이다. ECC 회로(726)의 상세한 구조가 다음 섹션에서 논의될 도 8 및 도 9에 제공된다. ECC 회로(726)는 복조된 데이터(S2)로 에러를 검출하고, 데이터로 기록된 여분의 비트를 이용함으로써 데이터를 에러정정하고, 에러 정정된 데이터(S10)를 링 버퍼 메모리(702)에 출력한다. ECC회로(726)는 복조된 데이터(S2)로 섹터 헤더 데이터를 검출하고, 헤더 데이터를 섹터 검출기(726)를 통해 시스템 제어기(732)에 공급한다. 데이터 에러가 ECC 회로(726)에 의해 정정되지 않는 경우, 에러 발생 신호(E10)는 ECC 회로(726)에 의해 발생되고, 시스템 제어기(732)에 의해 공급된다.The ECC circuit 726 is an error correction code circuit for processing demodulated data and performing error correction. The detailed structure of the ECC circuit 726 is provided in FIGS. 8 and 9, which will be discussed in the next section. The ECC circuit 726 detects an error with the demodulated data S2, error corrects the data by using the extra bits recorded as the data, and outputs the error corrected data S10 to the ring buffer memory 702. do. The ECC circuit 726 detects sector header data with demodulated data S2 and supplies the header data to the system controller 732 through the sector detector 726. If the data error is not corrected by the ECC circuit 726, the error generation signal E10 is generated by the ECC circuit 726 and supplied by the system controller 732.

트랙 점프 검출기(724)는 트랙 점프가 요구될 때를 검출하도록 링 버퍼제어기(730)의 출력을 모니터링한다. 트랙 점프가 요구될 때, 트랙 점프 검출기(724)는 트랙 서보(102)에 공급되는 트랙 점프 신호(JP1)를 발생한다. 점프신호(JP1)에 반응하여, 트래킹 서보(102)는 광디스크(104) 상의 1 트랙에 의해 그의 재생 동작을 점프하도록 픽업(106)을 제어한다.Track jump detector 724 monitors the output of ring buffer controller 730 to detect when a track jump is required. When a track jump is required, the track jump detector 724 generates a track jump signal JP1 supplied to the track servo 102. In response to the jump signal JP1, the tracking servo 102 controls the pickup 106 to jump its reproduction operation by one track on the optical disc 104.

시스템 제어기(732)가 섹터 검출기(718)로부터 섹터수 비정상 신호 또는 ECC(726)로부터 에러 발생 신호를 검출할 때, 이 제어기는 픽업(106)의 재생 동작 중에 대응하는 조정을 유발하도록 트래킹 서보(102)에 트랙 점프 신호(JP1)를 공급하기 위해 트랙 점프 검출기(724)를 제어한다.When the system controller 732 detects a sector number abnormal signal from the sector detector 718 or an error occurrence signal from the ECC 726, the controller generates a tracking servo to cause a corresponding adjustment during the reproducing operation of the pickup 106. The track jump detector 724 is controlled to supply the track jump signal JP1 to 102.

링 버퍼 메모리(702)에 저장된 에러-정정된 데이터(S10)는 링 버퍼 제어기(730)에 의해 공급된 제어 신호에 따라 데이터(S12)로서 멀티플렉스 데이터 세퍼레이터(704)에 공급된다. 멀티플렉스 데이터 세퍼레이터(704)로부터 코드 요청 신호(Rl0)에 반응하여, 링 버퍼 제어기(730)는 판독 어드레스, 판독포인터(RP)를 링 버퍼 메모리(702)에 저장된 대응하는 데이터에 할당한다. 판독 포인터(RP)는 멀티플렉스 데이터 세퍼레이터(704)에 대응하는 데이터(S12)를 공급하는 링 버퍼 메모리(702)에 공급된다.The error-corrected data S10 stored in the ring buffer memory 702 is supplied to the multiplex data separator 704 as data S12 in accordance with a control signal supplied by the ring buffer controller 730. In response to the code request signal R10 from the multiplex data separator 704, the ring buffer controller 730 assigns a read address, read pointer RP, to the corresponding data stored in the ring buffer memory 702. The read pointer RP is supplied to the ring buffer memory 702 which supplies the data S12 corresponding to the multiplex data separator 704.

멀티플렉스 데이터 세퍼레이터(704)는 예를 들면 MPEG 등의 표준에 따라 멀티플렉스된 시분할 멀티플렉스된 디지탈 데이터를 디멀티플렉스하기 위한 디멀티플렉싱 장치이다. 멀티플렉스 데이터 세퍼레이터(704)의 동작은 세퍼레이터 제어기(726), 제어 장치에 의해 제어된다.The multiplexed data separator 704 is a demultiplexing device for demultiplexing time division multiplexed digital data multiplexed according to standards such as MPEG, for example. The operation of the multiplex data separator 704 is controlled by the separator controller 726 and the control device.

헤더 세퍼레이터(706)는 헤더 데이터 검출 및 추출 장치이다. 헤더 세퍼레이터(706)는 데이터(S12)로부터 팩 헤더 데이터 및 패킷 헤더 데이터를 분리하고, 헤더 데이터 등을 세퍼레이터 제어기(723)에 공급한다. 데이터(S12)의 나머지인 시분할 멀티플렉스된 데이터가 스위치(708)의 입력 단자(G)에 공급된다.The header separator 706 is a header data detection and extraction device. The header separator 706 separates the pack header data and the packet header data from the data S12 and supplies the header data and the like to the separator controller 723. Time division multiplexed data, which is the remainder of the data S12, is supplied to the input terminal G of the switch 708.

스위치(708)는 입력 단자(G) 및 출력 단자(H1 및 H2)를 갖는 개폐 장치이다. 스위치(708)의 개폐 상태는 세퍼레이터 제어기(728)에 의해 제어된다. 출력 단자(H1 및 H2)는 비디오 코드 버퍼 (710)의 입력 단자 및 오디오 코드버퍼(720)의 입력 단자에 각각 접속된다. 세퍼레이터 제어기(728)로부터 제어신호에 반응하여, 스위치(708)는 비디오 데이터를 비디오 코드 버퍼(710)에, 오디오 데이터를 오디오 코드 버퍼(720)에 루팅시킨다.The switch 708 is an opening and closing device having an input terminal G and an output terminal H1 and H2. The open / close state of the switch 708 is controlled by the separator controller 728. The output terminals H1 and H2 are connected to the input terminal of the video code buffer 710 and the input terminal of the audio code buffer 720, respectively. In response to the control signal from the separator controller 728, the switch 708 routes video data to the video code buffer 710 and audio data to the audio code buffer 720.

비디오 코드 버퍼(710) 및 오디오 코드 버퍼(720)는 버퍼 기억 메모리장치이다. 비디오 코드 버퍼(710)에 저장된 비디오 데이터는 비디오 디코더(712)에 의해 공급된 비디오 데이터 요청 신호(R1)에 반응하여 비디오 디코더(712)에 공급된다. 오디오 코드 버퍼(720)에 저장된 오디오 데이터는 오디오디코더(722)에 의해 공급된 오디오 데이터 요청 신호(R2)에 반응하여 오디오디코더(722)에 공급된다. 비디오 코드 버퍼(710)는 그의 동작 상태에 따라, 추가의 데이터를 요청하도록 비디오 데이터 요청 신호(Rl)를 멀티플렉스 데이터세퍼레이터(704)에 통과시킨다. 또한, 오디오 코드 버퍼(720)는 그의 동작 상태에 따라, 추가의 데이터틀 요청하도록 오디오 데이터 요청 신호(R2)를 멀티플렉스 데이터 세퍼레이터(704)에 통과시킨다.The video code buffer 710 and the audio code buffer 720 are buffer storage memory devices. The video data stored in the video code buffer 710 is supplied to the video decoder 712 in response to the video data request signal R1 supplied by the video decoder 712. Audio data stored in the audio code buffer 720 is supplied to the audio decoder 722 in response to the audio data request signal R2 supplied by the audio decoder 722. The video code buffer 710 passes the video data request signal Rl to the multiplexed data separator 704 to request additional data, depending on its operating state. The audio code buffer 720 also passes the audio data request signal R2 to the multiplexed data separator 704 to request additional data frames, depending on its operating state.

비디오 디코더(712)는 인코드되지 않고 디멀티플렉스된 비디오 데이터를 디코딩하기 위한 비디오 신호 검출기이다. 검출기(712)는 출력 단자(OUT1)에 디코드된 비디오 데이터(SV)를 공급한다. 오디오 검출기(722)는 인코드되지 않고 디멀티플렉스된 오디오 데이터를 디코딩하기 위한 오디오 신호 검출기이다. 검출기(722)는 출력 단자(OUT2)에 디코드된 오디오 데이터(SA)를 공급한다.Video decoder 712 is a video signal detector for decoding unencoded and demultiplexed video data. The detector 712 supplies decoded video data SV to the output terminal OUT1. Audio detector 722 is an audio signal detector for decoding unencoded and demultiplexed audio data. Detector 722 supplies decoded audio data SA to output terminal OUT2.

디코딩을 위해 요구되는 단위 시간당 데이터의 양은 영상 데이터의 여러 가지 세그먼트의 압축 량의 변화로 인해 변동될 수 있기 때문에, 비디오검출기(712) 및 오디오 검출기(722)가 멀티플렉스 세퍼레이터(704)를 통해 링버퍼(702)로부터 데이터를 요청하는 속도는 변화될 수 있다. 예를 들면, 단순한 영상의 처리는 링 버퍼 메모리(702)로부터 보다 적은 데이터를 요청할 것이다.Since the amount of data per unit time required for decoding may fluctuate due to the change in the amount of compression of various segments of the image data, the video detector 712 and the audio detector 722 pass through the multiplex separator 704 through the ring buffer. The rate of requesting data from 702 can vary. For example, processing of a simple image would require less data from the ring buffer memory 702.

결과적으로, 링 버퍼 메모리(702)는 픽업(106)이 디스크(104)로부터 데이터를 연속적으로 재생할 때 오버플로우될 수 있다. 오버플로우 상태를 피하기 위해, 트랙 점프 검출기(724)는 기록 포인터(WP) 및 판독 포인터(RP)의 위치로부터 링 버퍼 메모리(702)에 저장된 현재 데이터 량을 산출한다. 데이터의 양이 소정의 기준값을 초과하는 경우, 링 버퍼 메모리(702)는 트래킹 서버(102)에 트랙 점프 명령을 출력한다. 이러한 방식으로, 링 버퍼 메모리(702)로부터 멀티플렉스 데이터 세퍼레이터(704)에 적절한 플로우의 데이터를 보장하는 데 필요한 데이터 양은 광 디스크(104)을 대기 동작 동안 전환시킴으로써 얻어진다.As a result, the ring buffer memory 702 may overflow when the pickup 106 continuously reproduces data from the disc 104. To avoid the overflow condition, the track jump detector 724 calculates the current amount of data stored in the ring buffer memory 702 from the positions of the write pointer WP and the read pointer RP. When the amount of data exceeds a predetermined reference value, the ring buffer memory 702 outputs a track jump command to the tracking server 102. In this manner, the amount of data needed to ensure proper flow of data from the ring buffer memory 702 to the multiplexed data separator 704 is obtained by switching the optical disk 104 during standby operation.

트랙 점프 검출기(724)가 섹터 검출기(718)에 의해 공급된 섹터수 비정상 신호 또는 ECC 회로(726)에 의해 공급된 에러 발생 신호를 검출할 때, 이 검출기는 기록 포인터(WP) 및 판독 포인터(RP)의 위치로부터 링 버퍼 메모리(702) 내에 남아있는 데이터 양을 측정한다. 데이터가 메모리(702)로부터 최대 전송 속도로 판독되는 경우조차 언더플로우를 피할 수 있도록 링 버퍼 메모리(702) 내의 데이터의 양이 큰 경우, 트랙 점프 검출기(724)는 트래킹 서보(102)에 트랙 점프 명령(점프 백)을 공급한다. 따라서, 트래킹 서보(102)는 픽업(106)을 그의 재생 위치로 점프시킨다. 에러에 대응하는 디스크 상의 데이터는 픽업(106)에 의해 다시 재생될 수 있다. 링 버퍼 제어기(730)는 섹터 검출기(718)에 의해 검출된 색터수가 트랙 점프를 위한 섹터수와 동일해질 때까지 링 버퍼 메모리(702)로의 새로운 데이터의 전체적인 기록을 느리게 하거나 또는 중지시킨다. 그러나. 링 버퍼 메모리(702)에 저장된 데이터 양이 소정의 기준값을 초과하는 경우, 메모리(702)에 데이터를 기록하는 동작은 지연되지않고, 트랙 점프 동작은 다시 실행될 것이다. 링 버퍼 메모리(702)에 저장된 데이터는 필요할 경우 멀티플렉스 데이터 세퍼레이터(704)에 전송된다.When the track jump detector 724 detects a sector number abnormal signal supplied by the sector detector 718 or an error occurrence signal supplied by the ECC circuit 726, the detector includes a write pointer WP and a read pointer ( The amount of data remaining in the ring buffer memory 702 is measured from the position of RP). If the amount of data in the ring buffer memory 702 is large so that underflow can be avoided even when data is read from the memory 702 at the maximum transfer rate, the track jump detector 724 jumps the track to the tracking servo 102. Supply a command (jump back). Thus, the tracking servo 102 jumps the pickup 106 to its regeneration position. The data on the disc corresponding to the error can be played back by the pickup 106. The ring buffer controller 730 slows or stops the entire writing of new data to the ring buffer memory 702 until the number of colorters detected by the sector detector 718 is equal to the number of sectors for the track jump. But. When the amount of data stored in the ring buffer memory 702 exceeds a predetermined reference value, the operation of writing data to the memory 702 is not delayed, and the track jump operation will be executed again. Data stored in ring buffer memory 702 is transferred to multiplexed data separator 704 as needed.

도 8은 C1/C2 컨벌루션 리드 솔로몬 코드(CIRC플러스)에 따라 ECC디코딩을 제공하는 에러-정정 코드(ECC) 회로(726)의 바람직한 구조를 나타낸다. 도시한 바와 같이, ECC(726)는 ECC 검출기(802), 에러 레지스터(804),및 램(806)을 포함한다. ECC 검출기(52)는 EFM+ 복조된 데이터를 에러-정정하고, 그러한 데이터를 ECC-디코딩하기 위한 디코딩 회로이다. 에러 레지스터(804)는 에러 정정할 수 없는 플래그, 에러 정정 패턴 및 에러 위치를 저장하기 위한 메모리 장치이다. 램(806)은 링 버퍼 메모리 장치이다.8 shows a preferred structure of an error-correction code (ECC) circuit 726 that provides ECC decoding in accordance with the C1 / C2 convolutional Reed Solomon code (CIRCplus). As shown, the ECC 726 includes an ECC detector 802, an error register 804, and a RAM 806. The ECC detector 52 is a decoding circuit for error-correcting the EFM + demodulated data and for ECC-decoding such data. The error register 804 is a memory device for storing flags, error correction patterns, and error positions that cannot be error corrected. RAM 806 is a ring buffer memory device.

도 9는 디코딩 회로(714)의 바람직한 구조를 나타낸다. 도시한 바와같이, 디코딩 회로(714)는 복조기(716), 섹터 검출기(718), ECC(726), 램 인터페이스(RMIF)(908), 일정한 선속도(CLV) 제어기(912) 및 데이터 버스(918)를 포함한다. 랜덤 메모리 인터페이스(RMIF)(908)는 메모리 인터페이스 장치이며, 일정한 선속도(CLV) 제어기(912)는 서보 제어기 장치이다.9 shows a preferred structure of the decoding circuit 714. As shown, the decoding circuit 714 includes a demodulator 716, a sector detector 718, an ECC 726, a RAM interface (RMIF) 908, a constant linear velocity (CLV) controller 912, and a data bus ( 918). The random memory interface (RMIF) 908 is a memory interface device, and the constant linear velocity (CLV) controller 912 is a servo controller device.

도 9에 도시한 바와 같이, 복조기(716)는 RF 처리기(902) 및 EFM+ 복조기를 포함하는 한편, ECC 디코더(726)는 램(806), ECC 디코더(802), 및 출력 제어 회로(OCTL)(916)를 포함한다. RF 처리기(902)는 처리 장치이고, EFM+ 복조기는 EFM+ 방법론에 따라 변조된 신호들을 복조시키기 위한 장치이다. 램(806)은 프레임 메모리 장치이고, ECC 디코더(802)는 디코딩 장치이다. 출력 제어 회로(OCTL)(916)는 데이터 출력 장치이다.As shown in FIG. 9, the demodulator 716 includes an RF processor 902 and an EFM + demodulator, while the ECC decoder 726 includes a RAM 806, an ECC decoder 802, and an output control circuit (OCTL). 916. The RF processor 902 is a processing device, and the EFM + demodulator is a device for demodulating signals modulated according to the EFM + methodology. RAM 806 is a frame memory device, and ECC decoder 802 is a decoding device. The output control circuit (OCTL) 916 is a data output device.

ECC 디코더(902)는 ECC 디코더(904) 및 ECC 제어기(910)를 포함하도록 도시된다. ECC 디코더(904)는 디코딩 장치이다. ECC 제어기(910)는 제어기 장치이다.The ECC decoder 902 is shown to include an ECC decoder 904 and an ECC controller 910. The ECC decoder 904 is a decoding device. The ECC controller 910 is a controller device.

ECC 디코딩 방법은 도 8 및 도 9에 나타낸 구조를 참조하여 다음과 같이 기재한다. 재생 신호(S1)는 RF-처리기(402)에서 RF-처리되고, 2진 코드화되고, EFM+ 동기 패턴은 복조기(716)에 의해 검출된다. EFM 동기 패턴이검출되는 경우, 대강의 서보 제어가 CLV 제어기(912)에 의해 제공된다. 이후, EFM+의 싱크 패턴이 복조기(716)에 의해 검출되는 경우, 상-록된 루프(PLL)서보 제어가 제공된다. 싱크 패턴의 여러 가지 연속적인 검출에 따라, EFM+복조된 데이터(S2)가 데이터리브되고, 프레임 단위로 RMIF(908)를 통해 램(806)에 기록된다. 데이터(S2)는 에러 정정된 후, OCTL(916)을 통해 링 버퍼메모리(702)에 출력된다.The ECC decoding method is described as follows with reference to the structures shown in FIGS. 8 and 9. The playback signal S1 is RF-processed in the RF processor 402, binary coded, and the EFM + sync pattern is detected by the demodulator 716. When the EFM sync pattern is detected, rough servo control is provided by the CLV controller 912. Then, when the sync pattern of the EFM + is detected by the demodulator 716, phase-locked loop (PLL) servo control is provided. According to various successive detections of the sync pattern, EFM + demodulated data S2 is dataribbed and written to RAM 806 via RMIF 908 on a frame-by-frame basis. After the data S2 is error corrected, the data S2 is output to the ring buffer memory 702 through the OCTL 916.

ECC 회로(726)는 시스템 제어기(732)에 의해 제어되는 RMIF(908)를 통해 램(806)에 디코드된 데이터(S2)의 기록 어드레스를 공급한다. 램(806)으로부터 판독된 데이터는 RMIF(908)를 통해 ECC 제어 섹션(910) 및 ECC 디코더(904)에 전송된다.The ECC circuit 726 supplies the write address of the decoded data S2 to the RAM 806 via the RMIF 908 controlled by the system controller 732. Data read from the RAM 806 is transmitted to the ECC control section 910 and the ECC decoder 904 via the RMIF 908.

에러가 검출되고, 정정될 수 있는 경우, 에러 위치 및 에러의 정정 패턴은 ECC 디코딩 섹션(904)으로부터 ECC 제어기(802)에 출력된다. 에러 위치 및 에러 정정 패턴은 프레임 단위로 램(806)에 출력되고, 에러 레지스터(804)에 저장된다.If an error is detected and can be corrected, the error location and the correction pattern of the error are output from the ECC decoding section 904 to the ECC controller 802. The error position and the error correction pattern are output to the RAM 806 in units of frames and stored in the error register 804.

에러는 에러 레지스터(804)로부터 에러 위치 및 정정 패턴을 얻고, RAM(806)으로부터 에러 위치에 대응하는 에러 데이터를 얻고, 에러 데이터 및 정정 패턴(SP)와의 배타적 논리합(EXOR)을 실행함으로써 정정된다. 정정된 데이터는 램(806)에 기록된다.The error is corrected by obtaining an error position and a correction pattern from the error register 804, obtaining error data corresponding to the error position from the RAM 806, and executing an exclusive OR with the error data and the correction pattern SP. . The corrected data is written to the RAM 806.

정정할 수 없는 데이터가 검출되는 경우, 그 프레임에 대한 정정할 수 없는 플래그가 후속 단계의 소거 정정 동작에 사용할 수 있도록 에러 레지스터(804)에 의해 저장된다.If uncorrectable data is detected, an uncorrectable flag for that frame is stored by the error register 804 for use in the subsequent corrective correction operation.

이러한 방식으로, 에레 레지스터(804)는 ECC 처리에 필요한 각각의 시리즈 C1, C2 및 C12에 대한 에러 위치 및 정정 패턴을 저장한다. 일단 필요한 데이터, 예를 들면 에러 위치 및 정정 패턴(SP)이 얻어지면, 램(806)에 저장된 데이터(S2)는 에러 정정된다.In this way, the Ere register 804 stores the error location and correction pattern for each series C1, C2 and C12 required for ECC processing. Once the necessary data, for example the error position and the correction pattern SP, are obtained, the data S2 stored in the RAM 806 is error corrected.

에러 정정 및 ECC 디코딩 후, 디코드된 데이터(S10) 및 섹터 헤더 데이터(SH)가 분리되고, 링 버퍼 메모리(702) 및 섹터 검출기(718) 각각에 공급된다. 섹터 검출기(718)를 통해, 섹터 헤더 테이터(SH)는 링 버퍼 제어기(730)에 공급된다. 링 버퍼 제어기(730)는 섹터 헤더 데이터(SH)에 따라 디코드된 데이터(S10)를 링 버퍼 메모리(702)에 저장시킬 수 있다.After error correction and ECC decoding, decoded data S10 and sector header data SH are separated and supplied to ring buffer memory 702 and sector detector 718 respectively. Through sector detector 718, sector header data SH is supplied to ring buffer controller 730. The ring buffer controller 730 may store the decoded data S10 in the ring buffer memory 702 according to the sector header data SH.

데이터(RA)의 메모리 어드레스는 도 10에 나타낸 램(806)의 데이터 어드레스에 기초한 C1 코드 단위의 프레임 출력 번호 Fn 및 C1 방향의 데이터(Dn)의 차수와 하기 수학식을 이용함으로써 RMIF(908)에 의해 산출될 수 있다. 다음에서, 숫자는 16진수로 인용된다.The memory address of the data RA is determined by using the frame output number Fn in the C1 code unit and the order of the data Dn in the C1 direction based on the data address of the RAM 806 shown in FIG. Can be calculated by In the following, numbers are quoted in hexadecimal.

Dn : 데이터 번호 ((00-A9)Dn: data number ((00-A9)

Fn : 프레임 번호 (00-B9)Fn: frame number (00-B9)

RA : 램 어드레스 (0000-7FFF)RA: RAM address (0000-7FFF)

Fna = Fn + 46 + 101Fna = Fn + 46 + 101

(ECC 모드 = C2)이면 Fna = Fna + DnFna = Fna + Dn if (ECC Mode = C2)

(Fna FF)이면 Fna = Fna + 46 - 100 … (1)(Fna FF), Fna = Fna + 46-100. (One)

(Dn = 00) AND (00 Dn 80)(Dn = 00) AND (00 Dn 80)

RA = [(Fna) x 80] + Dn[6 : 0] … (2)RA = [(Fna) x 80] + Dn [6: 0]... (2)

(Dn = 80) AND (80 Dn A0)(Dn = 80) AND (80 Dn A0)

RA = [(Fna + 18) x 20] + Dn[4 : 0] … (3)RA = [(Fna + 18) x 20] + Dn [4: 0]... (3)

(Dn = A0) AND (A0 Dn AF)(Dn = A0) AND (A0 Dn AF)

RA = [(Fna + BA - 100) x 10] + Dn[3 : 0] … (4)RA = [(Fna + BA-100) x 10] + Dn [3: 0]... (4)

RMIF(908)는 각각의 시리즈를 선도하는 데이터를 포함하는 프레임의 AA번째, AB번째, AC번째, AD번째, AE번째 및 AF번째 어드레스로 3개의 시리즈 C1, C2 및 C12를 ECC 디코딩한 결과를 램(806)에 기록한다. ECC 결과가 AA, AB, AC로 기록될 때, 예를 들면 3개의 시리즈 C1, C2 및 C12에 대한 ECC 디코딩 결과에 대응하는 램(806)의 메모리 어드레스(RA)는 프레임 번호(Fn) 및 데이터 번호(AA, AB 및 AC)를 이용함으로써 용이하게 발생될 수 있다.The RMIF 908 performs ECC decoding of three series C1, C2, and C12 with the AA, AB, AC, AD, AE, and AF addresses of the frame including the data leading each series. Write to RAM 806. When ECC results are written in AA, AB, AC, for example, the memory address RA of RAM 806 corresponding to the ECC decoding results for three series C1, C2 and C12 is frame number Fn and data. It can be easily generated by using the numbers AA, AB and AC.

ECC 결과(ER)인, 광디스크(104) 상에 기록된 코드된 데이터에 대응하는 에러 정보를 도 11에 나타낸 포맷의 8비트 데이터로 나타낸다. ER에 대한 이러한 포맷에 따라, ECC 정정 번호는 비트 0, 1, 2 및 3으로 설정되고, 에러의 존재 또는 부재는 비트 4로 설정되며, C12 시리즈의 ECC 결과는 비트 5로 설정되고, ECC 결과가 C1 시리즈 또는 C2 시리즈로부터 초래된다는 지시는 비트 6으로 설정되며, 에러가 정정될 수 없다는 지시는 비트 7로 설정된다.Error information corresponding to coded data recorded on the optical disc 104, which is an ECC result ER, is represented by 8-bit data in the format shown in FIG. According to this format for ER, the ECC correction number is set to bits 0, 1, 2 and 3, the presence or absence of an error is set to bit 4, the ECC result of the C12 series is set to bit 5, the ECC result Is set to bit 6 and the indication that an error cannot be corrected is set to bit 7.

상기 포맷을 사용함으로써 에러의 존재 및 부재 뿐만 아니라 ECC 정정의 회수 및 유형을 모니터링할 수 있다.By using this format it is possible to monitor the number and type of ECC corrections as well as the presence and absence of errors.

도 12a 및 도 12b는 ECIC 결과(ER)의 출력 타이밍의 예를 나타낸다.12A and 12B show examples of output timings of the ECIC result ER.

도 12b는 도 12a의 일 프레임 사이클의 확대도이다. ECC 디코딩이 실행된 후, 3개의 시리즈 C1, C2 및 C12의 ECC 디코딩 결과(ER)는 섹터 어드레스데이터와 함께 프레임 단위로 출력된다. 유저 데이터(DAT)(예, 비디오 데이터 및(또는) 오디오 데이터), 섹터 어드레스 데이터(ADD) 및 RMIF(908)를 통해 램(806)으로부터 판독된 ECC 결과(ER)는 OCTL(916)을 거쳐 버스(918)를 통해 출력된다. 스트로브 신호(ASTB, DSTB, ESTB)는 데이터 내용을 측정하기 위해 각각의 데이터에 첨가된다.12B is an enlarged view of one frame cycle of FIG. 12A. After the ECC decoding is executed, the ECC decoding results ER of the three series C1, C2 and C12 are output in units of frames together with the sector address data. The ECC result ER read from RAM 806 via user data DAT (e.g. video data and / or audio data), sector address data ADD and RMIF 908 is passed via OCTL 916. It is output via the bus 918. Strobe signals (ASTB, DSTB, ESTB) are added to each data to measure the data content.

디코딩 처리에 적절한 데이터 양을 제공하기 위한 장치(700)에 있어서, RFCK에서, 재생의 채널 비트 속도는 디스크 기록(절단)시에 26.6 Mbits/s의 기준 채널 비트 속도보다 훨씬 더 큰 값으로 설정된다.In the apparatus 700 for providing an appropriate amount of data for decoding processing, in RFCK, the channel bit rate of reproduction is set to a value much larger than the reference channel bit rate of 26.6 Mbits / s at the time of disc recording (cutting). .

ECC 회로(726)에 의해 ECC 디코딩이 완료되었을 때, ECC 결과(ER)의 출력 타이밍을 제공하는 에레 스트로브 신호(ESTB)는 OCTL(916)로부터 정상적으로 ECC-디코드된 프레임에 출력된다. 예를 들면, 도 12b에 도시한 바와 같이, 유일하게 C1 시리즈의 프레임이 인터리브 길이의 차이로 인해 디코드될 수 있기 때문에, C1 시리즈의 ER은 ESTB=1로서 출력된다.When ECC decoding is completed by the ECC circuit 726, the ere strobe signal ESTB providing the output timing of the ECC result ER is output from the OCTL 916 in a normally ECC-decoded frame. For example, as shown in Fig. 12B, since only the frames of the C1 series can be decoded due to the difference in the interleaved length, the ER of the C1 series is output as ESTB = 1.

디스크(104) 상의 섹터 어드레스(ADD)의 출력 타이밍을 제공하는 어드레스 스트로브 신호(ASTB)는 연속적으로 출력된다. 어드레스 스트로브 신호 ASTB=1일 때의 기간 동안 데이터를 판독함으로써, 판독 프레임에 대응하는 광디스크(104) 상의 위치가 확인될 수 있다. 도 12a에 도시한 바와 같이, 섹터 어드레스(ADD)는 다중-프레임 섹터의 시작 프레임에 위치하기 때문에, 섹터 어드레스(ADD)를 갖는 프레임에 대해 ASTB=1이다. 따라서, 데이터 스트로브 신호(DSTB) 직후는 유저 데이터(DAT)를 지시한다(도 12b).The address strobe signal ASTB providing the output timing of the sector address ADD on the disk 104 is continuously output. By reading the data during the period when the address strobe signal ASTB = 1, the position on the optical disc 104 corresponding to the read frame can be confirmed. As shown in Fig. 12A, since the sector address ADD is located at the start frame of the multi-frame sector, ASTB = 1 for the frame having the sector address ADD. Therefore, immediately after the data strobe signal DSTB, the user data DAT is instructed (Fig. 12B).

도 13은 버스(918)로부터 출력된 S10 데이터에 대한 바람직한 섹터 포맷을 나타낸다. 에러 결과(ER)의 3바이트가 출력된 후, 싱크 데이터, 헤더 데이터 및 유저 데이터가 각각의 프레임에 대해 출력된다.13 shows a preferred sector format for S10 data output from bus 918. After 3 bytes of the error result ER are output, sink data, header data, and user data are output for each frame.

RMIF(908)에 의해 디코드된 유저 데이터(DAT) 및 유저 데이터(DAT)의 각각의 시리즈에 내한 ECC 결과(ER)는 램(806)으로부터 출력되고, ECC결과(ER)로 유저 데이터(DAT)를 프레임 동기시키면서 섹터 어드레스 데이터(ADD)와 함께 출력 데이터(S10)로서 공급된다. 이러한 방법에 의해, 광디스크(104)의 섹터 어드레스(ADD)에 대응하는 ECC 결과(ER)는 용이하게 검출된다. 따라서, 디스크로부터 재생된 데이터에서 검출된 에러 및 그의 ECC 정정은 용이하게 분석된다. 디스크가 고속으로 액세스되는 경우 조차, ECC 에러는 데이터가 디스크로부터 재생되는 것과 거의 동일한 시간에 분석될 수 있다.The ECC result ER, which has been decoded in each series of the user data DAT and the user data DAT decoded by the RMIF 908, is output from the RAM 806, and the user data DAT as the ECC result ER. Is supplied as the output data S10 together with the sector address data ADD with frame synchronization. By this method, the ECC result ER corresponding to the sector address ADD of the optical disc 104 is easily detected. Therefore, the error detected in the data reproduced from the disc and its ECC correction are easily analyzed. Even when the disc is accessed at high speed, the ECC error can be analyzed at about the same time as the data is played from the disc.

도 14 내지 도 17은 1 클러스터 단위(32 킬로바이트)로 기록되는 경우의 본 발명의 다른 실시예에 따른 데이터 포맷을 나타낸다. 도 14에 도시한 바와 같이, 2 킬로바이트(2,060 바이트)의 데이터가 1 섹터로서 추출되고, 4 바이트의 오버헤드가 부가된다. 오버헤드는 에러를 검출하기 위한 에러 검출 코드(EDC)를 포함한다.14 to 17 show data formats according to another embodiment of the present invention when recording in one cluster unit (32 kilobytes). As shown in Fig. 14, two kilobytes (2,060 bytes) of data are extracted as one sector, and four bytes of overhead are added. The overhead includes an error detection code (EDC) for detecting errors.

도 15에 도시한 바와 같이, 1개의 섹터에 대응하는 2,064(2,060 + 4) 바이트의 데이터는 12 x 172(2,064) 바이트의 데이터로서 형성된다. 16 데이터 섹터가 수집되고, 192(= 12x16) x 172 바이트의 데이터로서 구성된다. 16 바이트의 외부 코드(PO)는 패리티로서 수직(열) 방향으로 각각의 바이트에 대해 192 x 172 바이트의 데이터에 첨가된다. 10 바이트의 내부 코드(PI)는 패리티로서 수평(행) 방향으로 각각의 바이트에 대해 208(=192+6) x 172 바이트의 데이터에 첨가된다.As shown in Fig. 15, data of 2,064 (2,060 + 4) bytes corresponding to one sector is formed as data of 12 x 172 (2,064) bytes. Sixteen data sectors are collected and configured as 192 (= 12x16) x 172 bytes of data. The 16-byte external code PO is added to 192 x 172 bytes of data for each byte in the vertical (column) direction as parity. The 10-byte internal code PI is added to 208 (= 192 + 6) x 172 bytes of data for each byte in the horizontal (row) direction as parity.

도 16에 도시한 바와 같이, 208(=192+6) x 182(=172+0) 바이트로 블록화된 데이터, 16 x 182 바이트의 외부 코드(PO) 열은 1 x 182 바이트의 16열로 분할되고, 그의 각각은 12 x 182 바이트를 포함하는 16 섹터 데이터 각각의 아래에 삽입되고,0 내지 15로 번호매겨지고, 인터리브된다. 따라서, 1섹터 데이터는 13(=12+1) x 182 바이트를 포함한다.As shown in Fig. 16, data blocked by 208 (= 192 + 6) x 182 (= 172 + 0) bytes, an external code (PO) column of 16 x 182 bytes is divided into 16 columns of 1 x 182 bytes, and , Each of which is inserted under each of the 16 sector data including 12 x 182 bytes, numbered 0 to 15, and interleaved. Thus, one sector of data includes 13 (= 12 + 1) x 182 bytes.

도 16에 도시한 208 x 182 바이트의 데이터는 도 17에 도시한 바의 2개의 프레임으로 수직으로 분할된다. 91 바이트의 블록이 1 프레임으로 취급된다. 2 바이트의 프레임 동기화 신호(PS)는 91 바이트 프레임의 데이터 각각의 초기에 첨가된다. 결과적으로, 1 프레임의 데이터는 전체 93 바이트로 합계되고, 전체 데이터 구조는 도17에 도시한 바와 같이 208 x (93 x 2) 바이트로 구성된다. 이는 1 클러스터 (1 ECC 블록)의 데이터로서 정의된다. 오버헤드 섹션을 제외한 실제 테이터 섹션의 크기는 2 킬로바이트(=2,048 x 16/1,024 킬로바이트)이다.The data of 208 x 182 bytes shown in FIG. 16 is vertically divided into two frames as shown in FIG. A block of 91 bytes is treated as one frame. The two byte frame synchronization signal PS is added at the beginning of each of the data of the 91 byte frame. As a result, the data of one frame is summed up to 93 bytes in total, and the entire data structure is composed of 208 x (93 x 2) bytes as shown in FIG. It is defined as data of one cluster (one ECC block). The actual data section, excluding the overhead section, is 2 kilobytes (= 2,048 x 16 / 1,024 kilobytes).

1 클러스터(1 ECC 블록)는 16 섹터로 구성되고,1 섹터는 24 프레임으로 구성된다. 별개의 실시예에서, 데이터는 클러스터로 광디스크(104) 상에 기록된다.One cluster (1 ECC block) is composed of 16 sectors, and one sector is composed of 24 frames. In a separate embodiment, data is recorded on the optical disc 104 in clusters.

도 18은 상기한 별개의 데이터 포맷과 호환성인 장치(700)에 기초한 복조 장치(1800)를 나타낸다. 복조 장치(1800)는 복조기(716), 일정한 선속도(CLV)제어기(1806), 드라이브인터페이스(1808), 섹터검출기(718), 램제어기(1812), 에러-검출 코드(ECC) 회로(726), 및 호스트 CPU(1814)를 포함한다.18 shows a demodulation device 1800 based on device 700 that is compatible with the separate data format described above. The demodulation device 1800 includes a demodulator 716, a constant linear velocity (CLV) controller 1806, a drive interface 1808, a sector detector 718, a RAM controller 1812, an error-detection code (ECC) circuit 726. ), And a host CPU 1814.

복조기(716)는 RF 처리기(1802) 및 EFM+ 복조기(1804)를 포함하는 복조 장치이다. RF 처리기(1802)는 처리 장치이다. EFM+ 복조기(1804)는 EFM+ 인코드된 데이터를 북조하기 위한 복조 회로이다. CLV 제어기(1806)는 제어기 장치이다. 드라이브 인터페이스(1808)는 인터페이스 장치이다. 섹터 검출기(718)는 서브코드(SBCD) 회로(1810)를 포함하는 섹터 검출 장치이다. SBCD(1810)는 EFM+ 복조기(1804)에 의해 복조된 신호 출력으로 섹터를 검출한다. RMIF(908)(도 9)에 내응하는 램 제어기(1812)는 램(1818)으로부터 데이터의 판독 멎 램(1818)으로의 데이터의 기록을 제어하기 위한 제어 장치이다. 시스템 제어기(732)(도 7)에 대응하는 호스트 CPU(1814)는 장치(1800)의 각각의 섹션을 제어한다.Demodulator 716 is a demodulation device that includes an RF processor 1802 and an EFM + demodulator 1804. The RF processor 1802 is a processing device. EFM + demodulator 1804 is a demodulation circuit for drumming EFM + encoded data. CLV controller 1806 is a controller device. Drive interface 1808 is an interface device. Sector detector 718 is a sector detection device including subcode (SBCD) circuit 1810. SBCD 1810 detects the sector as the signal output demodulated by EFM + demodulator 1804. RAM controller 1812 corresponding to RMIF 908 (FIG. 9) is a control device for controlling the writing of data from RAM 1818 to RAM 1818. Host CPU 1814, corresponding to system controller 732 (FIG. 7), controls each section of device 1800.

ECC(726)는 ECC 제어끼(1816), 링 버퍼 메모리(1817), ECC 코어(1820), 및 출력 제어(OCTL) 회로(1822)를 포함하는 에러-정정 코드 장치이다. ECC 제어기(1816)는 에러를 실질적으로 정정하기 위해 ECC 코어 회로(1820)로부터 공급된 ECA, ECD 및 SFLG를 사용하는 제어 장치이다.The ECC 726 is an error-correcting code device including an ECC control unit 1816, a ring buffer memory 1817, an ECC core 1820, and an output control (OCTL) circuit 1822. The ECC controller 1816 is a control device that uses the ECA, ECD, and SFLG supplied from the ECC core circuit 1820 to substantially correct the error.

링 버퍼 메모리(1817)는 램(1818)을 포함하는 버퍼 메모리 장치이다.Ring buffer memory 1817 is a buffer memory device that includes RAM 1818.

램(1818)은 ECC 제어기(1816)가 에러를 정정할 때 데이터를 일시적으로 저장하는 메모리 장치이다. ECC 디코더(904)(도 9)에 대응하는 ECC 코어 회로(1820)는 리드-솔로몬 코드(PI 및 PO)를 사용하여 ECC 제어기(1816)에 공급하기 위한 ECA, ECD 및 SFLG를 발생한다. 출력 제어(OCTL) 회로(1822)는 EDC 디스크램블링을 실행하고, 데이터의 출력을 제어한다.The RAM 1818 is a memory device that temporarily stores data when the ECC controller 1816 corrects an error. ECC core circuit 1820 corresponding to ECC decoder 904 (FIG. 9) generates ECA, ECD, and SFLG for supply to ECC controller 1816 using Reed-Solomon codes (PI and PO). The output control (OCTL) circuit 1822 performs EDC descrambling and controls the output of the data.

하기 설명에서, 상당한 수의 약어가 사용되었으며, 이는 독자의 편의상 바로 아래 정의 및 기재한다.In the following description, a significant number of abbreviations have been used, which are defined and described just below for the convenience of the reader.

H : 논리적 하이 신호H: logical high signal

L : 논리적 로우 신호L: Logical Low Signal

블록-톱 : SYLK 신호가 H일 때 섹터의 시점에서 H인 신호Block-top: Signal that is H at the time of sector when SYLK signal is H

C11M : 11.2896 MHz의 주파수를 갖는 시스템 동작 클록C11M: System operating clock with frequency of 11.2896 MHz

DSTB : 메인 데이터가 스트림 데이터(SD)로서 출력되는 동안 H인 데이터 스트로브 신호DSTB: Data strobe signal that is H while main data is output as stream data (SD)

ECA : 에러의 위치(어드-레스)를 지시하는 에러 정정 어드레스ECA: error correction address indicating the location (address) of the error

ECCK : ECC 코어 회로(1820)에 대한 동작 클록ECCK: Operation Clock for ECC Core Circuit 1820

ECD : 에러 데이터에 배타적 논리적으로 첨가될 때의 데이터를 정정하는 에러 정정 데이터ECD: Error correction data to correct data when added exclusively and logically to error data

ECDE : 입력 데이터의 종료를 지시하는 제어 신호ECDE: Control signal to indicate the end of input data

ECOD : 이 신호는 에러가 정정될 수 없는 것으로 밝혀질 때 H이다.ECOD: This signal is H when the error is found to be uncorrectable.

ECOR : 정정될 수 있는 데이터(ECA, ECD)와 함께 데이터의 출력을 지시하는 스트로브 신호ECOR: Strobe signal indicating the output of data together with data that can be corrected (ECA, ECD)

ECYE : 입력 코드된 데이터의 사이클의 종료를 지시하는 제어 신호ECYE: Control signal indicating the end of a cycle of input coded data

EDT : 램(1818)으로부터 판독되고, 에러 정정을 위해 ECC 제어기 회로(1816)에 전송된 데이터EDT: data read from RAM 1818 and sent to ECC controller circuit 1816 for error correction

ESTB : 에러 정정 결과(ER)의 전송 동안 H인 에러 정정 스트로브 신호ESTB: Error correction strobe signal that is H during transmission of error correction result (ER)

ESTT : 입력 데이터의 시작을 지시하는 제어 신호ESTT: Control signal indicating the start of input data

EFM+W 프레임 : (EFM +기록 프레임 카운터) 이 신호는 램(1818)에 기록될 메인 프레임을 나타낸다.EFM + W Frame: (EFM + Write Frame Counter) This signal indicates the main frame to be written to RAM 1818.

HDEN : 섹터 헤더 데이터를 위한 스트로브 신호HDEN: Strobe signal for sector header data

메인-FMSY : (메인 프레임 싱크) 이 신호는 각각의 PI 열의 메인싱크(리딩 싱크)에서 H이다.Main-FMSY: (Main Frame Sink) This signal is H at the main sink (leading sink) of each PI column.

MWEN : (기록 인에이블된 메모리) 이 신호는 램(1818)에 기록될 EFM+ 복조된 데이터를 인에이블시킨다.MWEN: (Write Enabled Memory) This signal enables EFM + demodulated data to be written to RAM 1818.

MWRQ : (기록 요청된 메모리) 이 신호는 램(1818)에 EFM+ 복조된 데이터를 기록할 요구를 나타낸다.MWRQ: (Write Requested Memory) This signal indicates a request to write EFM + demodulated data to RAM 1818.

OUTE : 보간 (출력) 플래그OUTE: interpolation (output) flag

OSTT : (ECC 출력 시작) 이 신호는 특정 코드 서열에서 477 ECCK 후에 ESTT를 출력한다.OSTT: (start ECC output) This signal outputs ESTT after 477 ECCK in a particular code sequence.

RDT : 램(1818)으로의 판독 데이터 버스 상의 데이터RDT: data on a read data bus to RAM 1818

SALK : (섹터 어드레스 록) 이 신호는 섹터 어드레스(ID)가 정확히 검출되었음을 지시한다.SALK: (sector address lock) This signal indicates that the sector address ID is correctly detected.

SAUL : (섹터 어드레스 언록) SALK 신호와 반대 극성을 갖는 신호SAUL: (sector address unlock) A signal with the opposite polarity as the SALK signal.

SCSY : (섹터 싱크) 이 신호는 섹터의 시작을 나타내기 위해 SY0 프레임에서 H로 된다.SCSY: (sector sync) This signal goes H in the SY0 frame to indicate the start of a sector.

SD : 스트림 데이터 (디코드된 출력 데이터)SD: stream data (decoded output data)

SDCK : 스트림 데이터 클록SDCK: Stream Data Clock

SPLG : PI1 정정에 대해 정정할 수 없는 에러를 지시하는 섹터 플래그SPLG: Sector flag indicating an uncorrectable error for PI1 correction

SINF : 섹터의 시점에서 H로 되는 섹터 정보 스트로브 신호SINF: Sector information strobe signal that becomes H at the start of a sector

SUB : SBCD 회로(1810)로 전송되고, ID 및 IED를 포함하는 데이터SUB: Data transmitted to SBCD circuit 1810, including ID and IED

SYLK : (싱크 록) 이 신호는 3개의 싱크 코드가 연속적으로 검출되었을 때 H로 된다.SYLK: (Sink Lock) This signal goes to H when three sync codes are detected consecutively.

SYUL : (싱크 언록) 이 신호는 SYLK 신호와 반대 극성을 갖는다.SYUL: (Sink Unlock) This signal has the opposite polarity as the SYLK signal.

WDT : 램(1818)으로의 기록 데이터 버스 상의 데이터WDT: data on the write data bus to RAM 1818

XHWE : (기록 인에이블된 섹터 헤더) 이 신호는 SBCD 회로(1810)로부터 램(1818)으로 공급될 섹터 정보의 출력을 인에이블시킨다.XHWE: (Write Enabled Sector Header) This signal enables the output of sector information to be supplied from the SBCD circuit 1810 to the RAM 1818.

RF 처리기(1802)는 광디스크(104)(도 7에 도시함)로부터 픽업(106)에 의해 재생된 RF 신호를 수신하고, RF 신호를 2진 신호로 변환시킨다. 2진신호는 EFM+ 복조기(1804)에 공급된다. EFM+ 복조기(1804)는 EFM+ 복조를 2진 신호에 인가하고, 신호에서 동기화 패턴을 검출한다. EFM+ 복조기(1804)로부터 공급된 동기화 패턴에 기초하여, CLV 제어기(1806)는 드라이브 인터페이스(드라이브IF)(1808)를 제어하여 광디스크 서보메카니즘(도시하지 않음)을 대충 조정함으로써 내부의 싱크 코드(도 22A 내지 22F의 SY0 내지 SY7)의 검출을 인에이블시키고, 상 록된 루프(PLL) 상 서보메카니즘(도시하지 않음)을 허용함으로써 광디스크(104)의 회전을 추가로 조정한다.The RF processor 1802 receives the RF signal reproduced by the pickup 106 from the optical disc 104 (shown in FIG. 7), and converts the RF signal into a binary signal. The binary signal is supplied to the EFM + demodulator 1804. EFM + demodulator 1804 applies EFM + demodulation to a binary signal and detects a synchronization pattern in the signal. Based on the synchronization pattern supplied from the EFM + demodulator 1804, the CLV controller 1806 controls the drive interface (drive IF) 1808 to roughly adjust the optical disc servomechanism (not shown) so that the internal sync code (Fig. The rotation of the optical disc 104 is further adjusted by enabling detection of SY0 to SY7) of 22A to 22F and allowing a servo mechanism (not shown) on the locked loop (PLL).

도 19는 광디스크(104)의 물리적 섹터의 구조의 예를 나타낸다. 도시한 바와 같이, 물리적 섹터는 26 싱크 프레임 : 즉 2개의 수평 싱크 프레임 및 13 수직 싱크 프레임을 포함한다. 각각의 싱크 프레임은 32 채널 비트의 싱크 코드(SY0 내지 SY7)(변조 전에 데이터 비트로 표현된 16 비트(=2 바이트)) 및 1,456 채널 비트의 데이터 섹션(변조 전에 데이터 비트로 표현된 728비트(=91 바이트))으로 구성된다. 리딩 싱크 프레임의 데이터 섹션은 ID 정보(섹터 번호), IED 정보(ID에 대헨 에러-검출 코드), 및 메인 데이터, 예를 들면 오디오 및 비디오 데이터를 포함한다.19 shows an example of the structure of the physical sector of the optical disc 104. As shown in FIG. As shown, the physical sector comprises 26 sync frames: two horizontal sync frames and 13 vertical sync frames. Each sync frame is composed of 32 channel bits of sync code SY0 to SY7 (16 bits (= 2 bytes) represented as data bits before modulation) and 1,456 channel bits of data section (728 bits represented as data bits before modulation (= 91). Bytes)). The data section of the leading sync frame includes ID information (sector number), IED information (error-detection code for ID), and main data, for example audio and video data.

바람직하게는, 32 채널 비트의 싱크 패턴의 하위 22 비트는 0001000000000000010001로 설정되고, 이는 데이터에 나타나지 않은 독특한 패턴으로 정의된다.Preferably, the lower 22 bits of the sync pattern of 32 channel bits are set to 0001000000000000010001, which is defined as a unique pattern that does not appear in the data.

도 19에 도시한 바와 같이, 도면의 좌측 상의 각각의 싱크 프레임의 데이터 섹션은 그 위에 기록된 메인 데이터를 갖고, 도면의 좌측 상의 최종 싱크 프레임의 데이터 섹션은 그 위에 기록된 PO(패리티) 정보를 갖는다. 도 19의 우측 상의 싱크 프레임은 =1 위에 기록된 메인 데이터 및 PI 정보를 갖고, 도면의 우측 상의 1개의 싱크 프레임을 제외한 최종 프레임은 그 위에 기록된 EDC 및 PI(패리티) 정보를 갖고, 도면의 우측 상의 최종 싱크 프레임은 그 위에 기록된 PO 및 PI 정보를 갖는다.As shown in Fig. 19, the data section of each sync frame on the left side of the figure has main data recorded thereon, and the data section of the last sync frame on the left side of the figure shows PO (parity) information recorded thereon. Have The sync frame on the right side of FIG. 19 has main data and PI information recorded above = 1, and the final frame except one sync frame on the right side of the figure has EDC and PI (parity) information recorded thereon, and The final sync frame on the right side has the PO and PI information recorded on it.

도 20은 PI 및 PO 정보를 제외한, 각각의 섹터 내 데이터의 추가의 상세한 설명을 나타낸다. 1 섹터 내의 데이터는 ID(섹터 번호)(4 바이트), IED(ID에 대한 에러-검출 코드(2 바이트)), RSV(보존된 영역)(6 바이트), 메인데이터 및 EDC(4 바이트)를 포함한다. 메인 데이터는 스크램블되는 것이 바람직하다.20 shows a further detailed description of the data in each sector except for the PI and PO information. Data in one sector contains ID (sector number) (4 bytes), IED (error-detection code for ID (2 bytes)), RSV (conserved area) (6 bytes), main data and EDC (4 bytes). Include. The main data is preferably scrambled.

이러한 데이터 섹션 16개를 수집하고, 16 바이트의 PO 코드 및 10 바이트의 PI 코드를 도 15에 나타낸 바의 데이터 섹터에 부가하였다. PO 코드는 각각의 데이터 섹터 내에 위치되도록 16 행들 사이에 인터리브된다. 얻어진 데이터는 도 17에 나타낸 바의 싱크 코드(SYx)(x = 0, 1, 2,… 7)로 표현된 프레임 동기화(FS) 코드에 부가되고, 이어서 EFM+ 복조된다. 이는 ECC 블록 내의 물리적 섹터를 도 19에 도시한 바와 같이 13 x 2 싱크 프레임으로 구성시킨다.Sixteen such sections of data were collected and 16 bytes of PO code and 10 bytes of PI code were added to the data sector as shown in FIG. 15. PO codes are interleaved between 16 rows to be located within each data sector. The obtained data is added to the frame synchronization (FS) code represented by the sync code SYx (x = 0, 1, 2, ... 7) as shown in FIG. 17, and then EFM + demodulated. This organizes the physical sectors in the ECC block into 13 x 2 sync frames as shown in FIG.

ECC 블록은 16 섹터로 구성되기 때문에, 물리적 섹터 어드레스의 하위 4 비트는 0000 내지 1111중 임의의 것이다. 결과적으로, ECC 블록의 리딩 섹터의 물리적 어드레스는 0000이다.Since the ECC block is composed of 16 sectors, the lower 4 bits of the physical sector address are any of 0000 to 1111. As a result, the physical address of the leading sector of the ECC block is 0000.

메인 데이터는 초기값으로서 물리적 섹터 어드레스의 하위 4 내지 7비트에 의해 특정된 값을 사용하여 발생된 스크램블 데이터를 배타적 논리적으로 첨가함으로써 스크램블되는 것이 바람직하다.The main data is preferably scrambled by adding exclusively logically scrambled data generated using a value specified by the lower four to seven bits of the physical sector address as an initial value.

EFM+ 복조기(1804)(도 18)에 의해 복조된 데이터는 램 제어기(1812)의 제어 하에 램(1818) 내에 저장된다. 도 21은 데이터의 1 ECC 블록을 나타낸다. 램(1818)에 저장된 데이터를 판독하는 데 있어서, 램 제어기(1812)는 도시한 바와 같이 행 및 열에 의해 그의 어드레스를 특정함으로써 목적하는 데이터를 얻을 수 있는 것이 바람직하다. 예를 들면, M번째 행의 N번째 바이트의 데이터 x는 2개의 값(M, N)을 특정함으로써 램(1818)으로부터 판독될 수 있다.The data demodulated by the EFM + demodulator 1804 (FIG. 18) is stored in the RAM 1818 under the control of the ram controller 1812. 21 shows one ECC block of data. In reading the data stored in the RAM 1818, the RAM controller 1812 preferably obtains the desired data by specifying its address by row and column as shown. For example, the data x of the Nth byte of the Mth row can be read from the RAM 1818 by specifying two values (M, N).

SBCD 회로(1810)가 싱크 코드의 타입 및 연속성에 기초하여 광디스크(104) 상에 기록된 데이터의 섹터의 시작을 인식할 때, EFM+ 복조기(1804)에 의해 복조된 데이터가 리딩 데이터로 시작하는 램(1818)에 순차로 저장된다.When the SBCD circuit 1810 recognizes the start of a sector of data recorded on the optical disc 104 based on the type and continuity of the sync code, the data demodulated by the EFM + demodulator 1804 starts with leading data. Stored in sequence in 1818.

도 22A 내지 도 22F는 대응하는 신호 타이밍을 나타내고 이하 상세히 기재할 것이다.22A-22F show corresponding signal timings and will be described in detail below.

도 23은 싱크 록 상태를 검출하는 EFM+ 복조기(1804)의 방법을 나타내는 흐름도이다. 단계(SP1)에서, 도 19에 나타낸 싱크 코드(SY0 내지 SY7)가 각각의 싱크 프레임에서 검출되었는지 여부가 측정된다. 그럴 경우, 이 방법은 가변 SC록을 하나씩 증가시키고, 가변 SC언록을 0으로 설정하도록 단계(SP2)로 진행된다. 가변 SC록은 연속적으로 검출된 싱크 코드의 수를 지시하고, 가변 SC언록은 싱크 코드를 검출하는 데 연속적으로 실패한 수를 지시한다.23 is a flowchart illustrating a method of the EFM + demodulator 1804 for detecting a sync lock state. In step SP1, it is measured whether or not the sync codes SY0 to SY7 shown in Fig. 19 are detected in each sync frame. If so, the method proceeds to step SP2 to increment the variable SC lock by one and set the variable SC unlock to zero. The variable SC lock indicates the number of successively detected sync codes, and the variable SC lock indicates the number of consecutive failures to detect the sync code.

다음으로, 단계(SP3)에서 가변 SC록이 3개의 싱크 코드가 연속적으로 검출된 상태를 나타내는 3과 동열한지 여부가 측정된다. 가변 SC록이 3 미만인 경우, 이 방법은 단계(SP1)로 복귀되고, 그렇지 않으면 처리는 단계(SP4)로 진행된다. 단계(SP4)에서, 싱크 록 상태가 초기화되고, SYLK 신호는 H로 설정되었는지가 측정된다. 단계(SP5)에서, 가변 SC록은 2로 설정되고, 처리는 3개의 싱크 코드가 연속적으로 검출되었는지 여부를 추가로 측정하도록 단계(SP1)로 복귀된다.Next, in step SP3, it is measured whether or not the variable SC lock is equal to 3, which indicates a state in which three sync codes are continuously detected. If the variable SC lock is less than 3, the method returns to step SP1, otherwise processing proceeds to step SP4. In step SP4, the sync lock state is initialized and it is measured whether the SYLK signal is set to H. In step SP5, the variable SC lock is set to 2, and the process returns to step SP1 to further measure whether three sync codes have been detected successively.

그러나, 싱크 코드가 전혀 검출되지 않은 것으로 단계(SP1)에서 측정된 경우, 이 방법은 단계(SP6)로 진랭된다. 단계(SP6)에서, 가변 SC언록은 하나씩 증가되고, 가변 SC록은 0으로 설정된다. 처리 방법은 단계(SP7)로 진행되고, 여기서 가변 SC언록은 싱크 코드의 검출이 연속적으로 3회 실패하였음을 지시하는 3과 동일한지 여부가 측정된다. 싱크 코드의 검출이 연속적으로 2회 실패한 경우, 이 방법은 단계(SP1)로 복귀한다. 싱크 코드의 검출이 연속적으로 3회 실패한 경우, 이 방법은 SYLK 신호를 L로 설정하도록 단계(SP8)로 진행된다.However, if the sync code has not been detected at all, and measured in step SP1, the method is advanced to step SP6. In step SP6, the variable SC lock is incremented by one, and the variable SC lock is set to zero. The processing proceeds to step SP7, where the variable SC unlock is measured whether or not equal to 3 indicating that detection of the sync code has failed three times in succession. If the detection of the sync code fails twice in succession, the method returns to step SP1. If the detection of the sync code has failed three times in succession, the method proceeds to step SP8 to set the SYLK signal to L.

이 방법은 가변 SC언록을 2로 설정하도록 단계(SP8)로부터 단계(SP9)로 추가로 통과한다. 다음 싱크 코드 발생 시점에서 성크 코드가 전혀 검출되지 않은 경우, 가변 SC언록은 SYLK 신호를 L로 유지하도록 2로 설정된다. 이어서, 이 방법은 단계(SP1)로 복귀된다.The method further passes from step SP8 to step SP9 to set the variable SC unlock to two. If no sunk code is detected at the next sync code occurrence, the variable SC unlock is set to 2 to keep the SYLK signal at L. The method then returns to step SP1.

이러한 방식으로, EFM+ 복조기(1804)는 싱크가 록되었는지 여부를 모니터링하는 싱크 코드를 검출한다. 상기 실시예는 검출 또는 실패 경우의 기준수를 3으로 설정하는 것이 바람직하고, 연속 검출 시간의 기준수 NLOCK 및 연속 실패 시간의 기준수 NUNLOCK은 각각 다른 값으로 설정될 수 있다.In this way, EFM + demodulator 1804 detects a sync code that monitors whether the sink is locked. In the above embodiment, it is preferable to set the reference number in case of detection or failure to 3, and the reference number NLOCK of the continuous detection time and the reference number NUNLOCK of the continuous failure time may be set to different values, respectively.

EFM+ 복조기(1804)는 도 24의 흐름도에 나타낸 방법을 실행하고, 그때 SYLK 신호는 H로 되고, 즉, 록 상태는 상기한 바와 같이 초기화된다. 단계(SP21)에서 각각의 섹터의 시작에 위치한 싱크 코드(SY0)가 검출되었는지 여부가 측정된다. 그럴 경우, 이 방법은 섹터의 시작점을 나타내는 SCSY 신호를 특정된 시간 동안 H로 설정하도록 단계(SP22)로 통과된다. 이어서, 이 방법은, SYLK 신호가 L로 변화되었는지 여부를 측정하도록 단계(SP23)로 진행되고, 그렇지 않을 경우 (즉, 신호는 H로 남아있음), 이 방법은 유사한 처리를 반복하도록 단계(SP21)로 복귀된다. 단계(SP21)에서 싱크 코드(SY0)가 검출되지 않는 것으로 측정된 경우, 처리 방법은 단계(SP23)로 진행된다.EFM + demodulator 1804 executes the method shown in the flow chart of FIG. 24, at which time the SYLK signal becomes H, i.e., the lock state is initialized as described above. In step SP21, it is measured whether or not the sync code SY0 located at the start of each sector is detected. If so, the method passes to step SP22 to set the SCSY signal representing the start of the sector to H for a specified time. The method then proceeds to step SP23 to measure whether the SYLK signal has changed to L, otherwise (i.e., the signal remains H), the method repeats similar processing (SP21). Return to). If it is determined in step SP21 that the sync code SY0 is not detected, the processing proceeds to step SP23.

상기한 바와 같이, EFM+ 복조기(1804)는 도 22A에 나타낸 바의 각각의 섹터의 시작점에서 SCSY 신호를 발생한다.As noted above, the EFM + demodulator 1804 generates a SCSY signal at the beginning of each sector as shown in FIG. 22A.

더욱이, SYLK 신호가 H로 될 때, EFM+ 복조기(1804)는 도 25의 흐름도에 나타낸 방법을 수행한다. 단계(SP31)에서, 도 19에 나타낸 2개의 수평싱크 프레임이 메인 프레임으로서 총괄적으로 언급되는 경우, 메인 프레임에서 싱크 코드가 검출되었는지 여부가 측정된다. 도 19의 좌측 상에 나타난 싱크 코드는 메인 프레임 싱크로서 언급된다. 그럴 경우, 이 방법은 EFM+복조기(1804)가 도 22b에 나타낸 메인-FMSY 신호를 발생시킬 수 있도록 단계(SP32)로 통과된다. 단계(SP31)에서 메인 프레임 싱크가 전혀 검출되지 않은 경우, 단계(SP32)의 처리가 스킵되고, 처리 방법은 단계(SP33)로 진행된다.Moreover, when the SYLK signal goes to H, the EFM + demodulator 1804 performs the method shown in the flowchart of FIG. In step SP31, when the two horizontal sync frames shown in FIG. 19 are collectively referred to as the main frame, it is measured whether a sync code is detected in the main frame. The sync code shown on the left side of FIG. 19 is referred to as the main frame sync. If so, the method passes to step SP32 so that the EFM + demodulator 1804 can generate the main-FMSY signal shown in FIG. 22B. If no main frame sync is detected at step SP31, the processing at step SP32 is skipped, and the processing proceeds to step SP33.

단계(SP33)에서, SYLK 신호가 L로 변화되는지 여부가 측정되고, 그렇지 않은 경우(즉 신호가 H로 남음), 이 방법은 단계(SP31)로 복귀된다. 이와달리, 메인-PMSY 신호의 발생은 중지된다. 이러한 방식으로, EFM+ 복조기(1804)는 메인 프레임 싱크 기간(도 19에서 2개의 수평 싱크 프레임의 기간)마다 메인.-FMSY 신호를 발생한다.In step SP33, it is measured whether the SYLK signal changes to L, and if not (ie, the signal remains H), the method returns to step SP31. In contrast, the generation of the main-PMSY signal is stopped. In this way, EFM + demodulator 1804 generates a Main.-FMSY signal every main frame sync period (period of two horizontal sync frames in FIG. 19).

SCSY 신호가 DFM+ 복조기(1804)에 의해 입력될 때, 램 제어기(1812)는 MWEN 신호가 도 22D에 나타낸 바와 같이 H로 설정되고, 현재 검출된 섹터 데이터를 램(1818)에 기록시킨다. 램 제어기(1812)는 도 19에 나타낸 메인 프레임을 계수하기 위해 EFM+W 프레임 계수기(도시하지 않음)를 이용한다. 이러한 동작의 타이밍은 도 22E에 나타냈다. 이러한 카운트 값은 메인 프레임의 상부로부터 시작하는, 도 19에 나타낸 상향 메인 프레임 수를 지시한다.When the SCSY signal is input by the DFM + demodulator 1804, the RAM controller 1812 sets the MWEN signal to H as shown in FIG. 22D, and writes currently detected sector data to the RAM 1818. The RAM controller 1812 uses an EFM + W frame counter (not shown) to count the main frame shown in FIG. The timing of this operation is shown in Fig. 22E. This count value indicates the number of upward main frames shown in FIG. 19, starting from the top of the main frame.

램 제어기(1812)는 램(1818)에 전송된 메인 프레임 수를 관리하기 위해 PI1 프레임 계수기(도시하지 않음)를 이용한다. 이러한 동작의 타이밍은 도22F에 나타낸다.The RAM controller 1812 uses a PI1 frame counter (not shown) to manage the number of main frames sent to the RAM 1818. The timing of this operation is shown in Fig. 22F.

도 19에 나타낸 제 1 메인 프레임(0으로 번호 매김)의 데이터가 램(1818)에 기록될 때, ECC 제어기(1816)에 램 제어기(1818)의 제어하에 메인 프레임의 이러한 데이터가 공급된다. ECC 제어기(1816)는 이 데이터를 에러 정정을 위해 ECC 코어 회로(1820)에 전송한다. ECC 코어 회로(1820)는 PI1 처리 및 정정을 실행한다. 일단 정정되면, 데이터는 램(1818)에 다시 기록된다.When the data of the first main frame (numbered 0) shown in FIG. 19 is written to the RAM 1818, this data of the main frame is supplied to the ECC controller 1816 under the control of the ram controller 1818. The ECC controller 1816 sends this data to the ECC core circuit 1820 for error correction. The ECC core circuit 1820 performs PI1 processing and correction. Once corrected, data is written back to RAM 1818.

PI1 정정(PI 정정의 제 1 처리) 후, 램 제어기(1812)는 램(1818)에 저장된 0으로 번호 매긴 메인 프레임의 데이터로부터 ID 및 IED 데이터(SUI3)를 판독하고, 이러한 데이터를 도 22C의 0으로 번호 매긴 SUB 신호의 타이밍에 따라 데이터 버스를 통해 SBCD 회로(1810)에 전송한다. ID 및 IED 데이터는 도 19에 나타낸 바와 같이 각각의 섹터의 시점에서만 위치함으로써, 이러한 전송은 번호 0의 메인 프레임으로부터만 실행된다. 이어서, SBCD 회로(1810)는 대응하는 물리적 섹터의 어드레스(ID)를 검출한다.After PI1 correction (first process of PI correction), RAM controller 1812 reads the ID and IED data (SUI3) from zero-numbered mainframe data stored in RAM 1818, and stores this data in FIG. 22C. Transmit to SBCD circuit 1810 via the data bus in accordance with the timing of the SUB signal numbered zero. Since the ID and IED data are located only at the time of each sector as shown in Fig. 19, this transmission is performed only from the main frame of number zero. The SBCD circuit 1810 then detects the address ID of the corresponding physical sector.

검출된 물리적 섹터의 어드레스의 하위 4비트는 ECC 블록의 리딩 섹터를 검출될 수 있게 한다.The lower 4 bits of the address of the detected physical sector enable the leading sector of the ECC block to be detected.

도 26A 내지 도 26H는 ID의 전송 후 블록-톱 방향을 나타내는 타이밍도이고, 도 27A 내지 도 27H는 블록-톱 방향에 후속한 처리를 나타내는 타이밍도이다. 이들 타이밍도는 이후 더 상세하게 설명한다.26A to 26H are timing diagrams showing the block-top direction after transmission of ID, and FIGS. 27A to 27H are timing diagrams showing the process following the block-top direction. These timing diagrams are described in more detail later.

도 28A 내지 도 28F는 ID의 전송에 대한 타이밍을 나타내는 타이밍도이다. 도 28A에 나타낸 바와 같이, 램 제어기(1812)는 ID 및 IED 데이터(2 바이트)가 램(1818)로부터 판독되는 타이밍을 지시하는 HDEN 신호를 SBCD회로(1810)에 공급한다. ID 데이터(4 바이트) 및 IED 데이터(2 바이트)는 8비트(비트 7-0)를 포함하는 판독 데이터(RDT)(도 28C)로서 램(1818)으로부터 11.2896 MHz의 주파수의 클록 C11M(도 28F)으로 동기된 SBCD(1810)에 전송된다.28A to 28F are timing diagrams showing timing for transmission of ID. As shown in FIG. 28A, the RAM controller 1812 supplies an HDEN signal to the SBCD circuit 1810 indicating the timing at which ID and IED data (2 bytes) are read from the RAM 1818. ID data (4 bytes) and IED data (2 bytes) are read data RDT (FIG. 28C) containing 8 bits (bits 7-0) as clock C11M (FIG. 28F) at a frequency of 11.2896 MHz from RAM 1818. Is transmitted to the SBCD 1810 synchronized.

ECC 코어(1820)에 의해 ECC 제어기(1816)에 공급된 SFLG 신호(=1)는 ID 및 IED 데이터가 PI1 정정 처리에 의해 정정되었음을 지시한다(정정될 수 없는 경우, SFLG 신호는 H이다). ID(섹터 어드레스)를 수신함에 따라, SBCD 회로(1810)는 보간 플래그, 시작 섹터, 및 종료 섹터에 대한 발생 모드등의 호스트 CPU(1814)로부터 명령에 따라 이러한 ID(섹터)에 대응하는 섹터정보(SI)를 발생한다. 예를 들면, 출력될 데이터로서 호스트 CPU(1814)에 의해 특정된 ID를 갖는 섹터에 대해, 섹터 정보 비트 5는 1로 설정되고, 비트 4는 0으로 설정된다.The SFLG signal (= 1) supplied by the ECC core 1820 to the ECC controller 1816 indicates that the ID and IED data have been corrected by the PI1 correction process (if it cannot be corrected, the SFLG signal is H). Upon receiving the ID (sector address), the SBCD circuit 1810 responds to the sector information corresponding to this ID (sector) according to an instruction from the host CPU 1814 such as an interpolation flag, a start sector, and a generation mode for the end sector. (SI) occurs. For example, for a sector having an ID specified by the host CPU 1814 as data to be output, sector information bit 5 is set to 1 and bit 4 is set to 0.

도 29는 섹터 정보(SI)의 구조를 나타낸다. 이 도면에 나타낸 바와 같이, 섹터 정보(SI)의 각각의 비트는 하기 정보를 나타낸다.Fig. 29 shows the structure of the sector information SI. As shown in this figure, each bit of sector information SI represents the following information.

비트 7 : 보간 플래그(OUTF) 발생 모드의 설정Bit 7: Setting the interpolation flag (OUTF) generation mode

(1 : 보간 플래그 발생 모드)(1: interpolation flag generation mode)

비트 6 : ECC 블록의 리딩 에러(물리적 섹터 어드레스의 하위 4 비트가 0일 때 1)(1 : 리딩 섹터)Bit 6: Reading error of ECC block (1 when the lower 4 bits of the physical sector address are 0) (1: leading sector)

비트 5 : 시작 섹터(물리적 섹터 어드레스가 호스트 CPU(40)에 의해 특정된 시작 섹터 어드레스와 일치할 때 1)(1 : 시작 섹터)Bit 5: Start sector (1 when physical sector address matches start sector address specified by host CPU 40) (1: Start sector)

비트 4 : 종료 섹터(물리적 섹터 어드레스가 호스트 CPU(40)에 의해 특정된 종료 섹터 어드레스와 일치할 때 1)(1 : 종료 섹터)Bit 4: End sector (1 when the physical sector address matches the end sector address specified by the host CPU 40) (1: End sector)

비트 3 : 디스크램블 초기화 어드레스의 비트 3(물리적 섹터 어드레스의 7번째 비트)Bit 3: Bit 3 of the descramble initialization address (7th bit of the physical sector address)

비트 2 : 디스크램블 초기화 어드레스의 비트 2(물리적 섹터 어드레스의 6번째 비트)Bit 2: Bit 2 of the descramble initialization address (sixth bit of the physical sector address)

비트 1 : 디스크램블 초기화 어드레스의 비트 1(물리적 섹터 어드레스의 5번째 비트)Bit 1: Bit 1 of descramble initialization address (5th bit of physical sector address)

비트 0 : 디스크램블 초기화 어드레스의 비트 이물리적 섹터 어드레스의 4번째 비트)Bit 0: Bit of descramble initialization address bit 4 of physical sector address)

4 바이트의 ID 및 2 바이트의 IED가 도 30 내지 도 32를 참조하여 아래 기재하는 바와 같이 체크하기 위해 사용된 후, 도 28D에 나타낸 XHWE신호는 ECC 제어기(1816)에 의해 L로 설정된다. 섹터 정보(SI)는 8비트의 기록 데이터(WDT)로서 SBCD 회로(1810)로부터 램(1818)에 전송 및 기록된다.After the 4-byte ID and the 2-byte IED are used to check as described below with reference to Figs. 30-32, the XHWE signal shown in Fig. 28D is set to L by the ECC controller 1816. The sector information SI is transmitted and recorded from the SBCD circuit 1810 to the RAM 1818 as 8-bit write data WDT.

16 섹터에 대한 섹터 정보는 도 21에 나타낸 바와 같이, 상기 위치의 16 PI행에 대응하도록 저장된다. 따라서, 특정된 PI 행의 수를 특정함으로써, 대응하는 섹터 정보가 얻어질 수 있다.Sector information for 16 sectors is stored so as to correspond to 16 PI rows of the position, as shown in FIG. Thus, by specifying the number of specified PI rows, corresponding sector information can be obtained.

SBCD 회로(1810)가 ID 및 IED를 체크하는 방법의 설명은 도 30 내지 도 32에 나타낸 흐름도를 참조하여 기재될 것이다. SBCD 회로(1810)는 정상적인 IED 체크 결과를 갖도록 측정된 N개의 연속적인 섹터, 이 실시예의 경우 바람직하게는 3개의 연속적인 섹터가 존재하는지 여부, 예를 들면 ID에 에러가 전혀 검출되지 않는 것을 측정하기 위해 도 30의 흐름도에 나타낸 처리를 실행한다.A description of how the SBCD circuit 1810 checks the ID and the IED will be described with reference to the flowcharts shown in FIGS. 30 to 32. The SBCD circuit 1810 measures whether there are N consecutive sectors measured to have a normal IED check result, and in this embodiment preferably three consecutive sectors, for example no error is detected in the ID. The processing shown in the flowchart of FIG. 30 is executed for this purpose.

단계(SP41)에서, 얻어진 IED 체크가 정상적인지 여부가 측정된다. 그럴 경우, 이 방법은 정상적인 ID를 갖는 섹터수를 나타내는 가변 SA록을 하나씩 증가시키기 위해 단계(SP42)로 진행된다. 비정상적인 ID를 갖는, 예를들면 ID에 에러가 있는 연속적인 섹터수를 나타내는 가변 SA언록이 0으로 설정된다.In step SP41, it is measured whether the obtained IED check is normal. If so, the method proceeds to step SP42 to increment by one the variable SA lock indicating the number of sectors having a normal ID. The variable SA unlock, which indicates the number of consecutive sectors having an abnormal ID, for example an error in the ID, is set to zero.

단계(SP42) 후, 처리 방법은 가변 SA록이 3과 동일한지 여부를 측정하기 위해 단계(SP43)로 진행된다. 단계(SP42)에서 중가된 가변 SA록이 3과 동일하지 않은 것으로 측정된 경우, 이 방법은 단계(SP41)로 복귀된다. 가변 SA록이 3과 동일한 것으로 측정된 경우, 즉, 정상적인 ID를 갖는 3개의 섹터가 연속적으로 재생된 경우, 이 방법은 플래그 IECOK를 H로 설정하도록 단계(SP44)로 통과한다. 단계(SP44) 후, 단계(SP45)에서, 가변 SA록이 2로 설정되고, 처리 방법은 후속 IED 체크로부터 연속적인 정상적 결과의 수를 검출하도록 단계(SP41)로 복귀된다.After step SP42, the processing method proceeds to step SP43 to determine whether the variable SA lock is equal to three. If it is determined that the variable SA lock weighted in step SP42 is not equal to 3, the method returns to step SP41. If the variable SA lock is determined to be equal to 3, that is, three sectors with normal IDs are reproduced in succession, the method passes to step SP44 to set the flag IECOK to H. After step SP44, in step SP45, the variable SA lock is set to 2, and the processing method returns to step SP41 to detect the number of successive normal results from the subsequent IED check.

IED가 단계(SP41)에서 비정상적인 것으로 측정된 경우, 이 방법은 가변 SA언록을 하나씩 증가시키고, 가변 SA록을 0으로 설정하도록 단계(SP46)로 통과한다. 이어서, 단계(SP47)에서 가변 SA언록이 3과 동일한지 여부를 측정하고, 그렇지 않을 경우, 이 방법은 단계(SP41)로 복귀된다.If the IED is determined to be abnormal at step SP41, the method passes to step SP46 to increment the variable SA lock one by one and set the variable SA lock to zero. Then, in step SP47, it is determined whether the variable SA unlock is equal to 3, and if not, the method returns to step SP41.

가변 SA언록이 단계(SP47)에서 3과 동일한 것으로 측정되는 경우, 즉, 비정상적인 IED 체크 결과를 갖는 3개의 섹터가 연속적으로 검출된 경우, 이 방법은 플래그 IECOK가 L로 설정된 단계(SP48)로 진행된다. 후속 단계(SP49)에서, 다음 IED 체크가 비정상적인 결과를 초레하는 경우, 가변 SA언록은 2로 설정되고, 처리 방법은 비정상적인 IED 제크 결과를 갖는 3개의 연속적인 섹터를 검출하도록 단계(SP41)로 복귀된다.If the variable SA unlock is measured to be equal to 3 in step SP47, that is, if three sectors with abnormal IED check results are detected in succession, the method proceeds to step SP48 with the flag IECOK set to L. do. In a subsequent step SP49, if the next IED check precludes abnormal results, the variable SA unlock is set to 2 and the processing returns to step SP41 to detect three consecutive sectors having abnormal IED check results. do.

상기한 바와 같이, SBCD 회로(1810)는 3개 이상의 연속적인 IED 체크가 정상적인 결과를 초래하는 경우 플래그 IECOK를 H로 설정하는 한편, 3개이상의 연속적인 IED 체크가 비정상적인 결과를 초래하는 경우 플래그 IECOK를 L로 설정한다. SBCD 회로(1810)는 ID(어드레스)의 연속성을 측정하기 위해 도 31에 나타낸 방법을 추가로 실행한다. 1개의 ECC 블록 내의 섹터의 ID는 순차로 증가되는 것이 바람직하다.As noted above, the SBCD circuit 1810 sets the flag IECOK to H if three or more consecutive IED checks result in normal results, while the flag IECOK if three or more consecutive IED checks result in abnormal results. Is set to L. The SBCD circuit 1810 further performs the method shown in FIG. 31 to measure the continuity of the ID (address). It is preferable that IDs of sectors in one ECC block are sequentially increased.

먼저, ID(섹터 어드레스)가 검출되었는지 여부가 측정된다. 그럴 경우, 이 방법은 후속 ID와 비교하도록 ID를 저장하기 위해 단계(SP62)로 진행된다.First, it is measured whether an ID (sector address) is detected. If so, the method proceeds to step SP62 to store the ID for comparison with a subsequent ID.

다음 단계(SP63)에서, 현재 ID가 최종적으로 검출되고 저장된 ID보다 더 큰지 여부를 측정한다. 그럴 경우, 이 방법은 현재 ID가 연속적으로 검출되는 것을 나타내는 가변 NS를 하나씩 증가시키기 위해 단계(SP64)로 진행된다. ID가 전혀 검출되지 않았거나 또는 검출된 ID가 연속적이 아닌 것을 나타내는 가변 NNS는 0으로 설정된다.In the next step SP63, it is measured whether the current ID is greater than the last detected and stored ID. If so, the method proceeds to step SP64 to increment the variable NS one by one indicating that the current ID is continuously detected. The variable NNS indicating that no ID was detected at all or the detected ID is not continuous is set to zero.

단계(SP64) 후, 단계(SP65)에서 가변 NS가 3과 동일한지 여부가 측정되고, 그렇지 않을 경우(즉, 하나씩 증가된 3개의 연속적인 ID 각각의 검출이 실패한 경우), 이 방법은 단계(SP61)로 복귀된다. 가변 NS가 3과 동일한 것으로 측정된 경우, 이 방법은 연속적인 ID가 정상적인 상태임을 나타내는 플래그 AS를 H로 설정하도록 단계(SP66)로 통과한다. 후속 ID가 단계(SP67)에서 검출된 경우, 가변 NS는 2로 설정되고, 처리 방법은 3개의 연속 정정 ID가 검출된 것을 추가로 검출하도록 단계(SP61)로 복귀된다.After step SP64, it is measured at step SP65 whether the variable NS is equal to 3, and if not (i.e., the detection of each of three consecutive IDs incremented by one fails), SP61). If the variable NS is determined to be equal to 3, the method passes to step SP66 to set the flag AS to H, indicating that the continuous ID is normal. If the subsequent ID is detected in step SP67, the variable NS is set to 2, and the processing method returns to step SP61 to further detect that three consecutive correction IDs have been detected.

ID가 단계(SP61)에서 전혀 검출되지 않은 경우 또는 현재 검출된 ID가 단계(SP63)에서 이전 ID보다 하나 정도 더 크지 않은 경우(ID는 연속적이지 않은 것으로 측정되는 경우), 이 방법은 플래그 SALK가 H인지 여부를 측정하기 위해 단계(SP68)로 진행된다. 플래그 SALK는 도 32를 참조하여 아래 기재하고, 3개 이상의 연속적인 IED 체크가 정상적인 결과를 초래하고, 3개 이상의 ID의 연속성이 유지될 때 H로 설정된다.If the ID is not detected at all in step SP61 or if the currently detected ID is no more than one larger than the previous ID in step SP63 (the ID is measured as not continuous), then the method has a flag SALK. Proceeding to step SP68 to determine whether or not H. The flag SALK is described below with reference to FIG. 32 and is set to H when three or more consecutive IED checks result in a normal result and the continuity of three or more IDs is maintained.

플래그 SALK가 단계(SP68)에서 H로 설정된 것으로 측정된 경우, 이 방법은 ID를 보간시키기 위해 단계(SP69)로 진행된다. ID가 전혀 검출되지 않았거나, 또는 검출된 ID가 연속적이지 않기 때문에, 새로운 ID를 생성하기 위해 이전 ID에 1이 부가되고, 이는 검출된 ID 대신 사용된다. 단계(SP69)후, 처리 방법은 단계(SP70)로 진행된다. 플래그 SALK가 단계(SP68)에서 L로서 검출되는 경우, 처리 방법은 단계(SP70)로 진행된다.If the flag SALK is measured to be set to H in step SP68, the method proceeds to step SP69 to interpolate the ID. Since no ID is detected at all, or the detected ID is not contiguous, 1 is added to the previous ID to generate a new ID, which is used instead of the detected ID. After step SP69, the processing proceeds to step SP70. If the flag SALK is detected as L in step SP68, the processing proceeds to step SP70.

단계(SP70)에서, 가변 NNS는 하나씩 증가되고, 가변 NS는 0으로 설정된다. 단계(SP71)에서 가변 NNS가 3과 동일한지 여부가 측정되고, 그렇지 않은 경우, 이 방법은 단계(SP61)로 복귀된다. 그러나, 가변 NNS가 3과 동일한 것으로 측정된 경우, 이 방법은 플래그 AS가 L로 설정되는 단계(SP72)로 통과한다. 후속 ID가 단계(SP73)에서 검출되지 않는 경우, 이 방법은 가변 NNS를 2로 설정하고, ID를 검출하는 데 있어서 3회 연속적인 실패를 추가로 검출하기 위해 단계(SP61)로 복귀된다.In step SP70, the variable NNS is incremented by one, and the variable NS is set to zero. At step SP71 it is measured whether the variable NNS is equal to 3, and if not, the method returns to step SP61. However, if the variable NNS is measured to be equal to 3, the method passes to step SP72 where the flag AS is set to L. If the subsequent ID is not detected in step SP73, the method returns to step SP61 to set the variable NNS to 2 and further detect three consecutive failures in detecting the ID.

상기한 바와 같이, SBCD 회로(1810)는 ID가 연속적일 때 플래그 AS를 H로 설정하는 반면, ID가 연속적이지 않을 때 이러한 플래그를 L로 설정한다. SBCD 회로(134)는 플래그 SALK를 발생시키기 위해 상기와 동일한 방식으로 발생된 2개의 플래그 IECOK 및 AS를 사용한다.As described above, the SBCD circuit 1810 sets the flag AS to H when the IDs are continuous, while setting this flag to L when the IDs are not continuous. SBCD circuit 134 uses the two flags IECOK and AS generated in the same manner as above to generate flag SALK.

도 32의 흐름도에 나타낸 바와 같이, 단계(SP81)에서 플래그 IECOK가 H인지 여부가 측정되고, 그럴 경우, 이 방법은 플래그 AS가 H인지 여부를 측정하기 위해 단계(SP82)로 진행된다. 단계(SP82)에서 플래그 AS가 H인 것이 측정되는 경우, 이 방법은 플래그 ASLK가 H로 설정되는 단계(SP83)로 통과한다.As shown in the flowchart of FIG. 32, it is measured at step SP81 whether the flag IECOK is H, and if so, the method proceeds to step SP82 to measure whether the flag AS is H. If it is measured in step SP82 that the flag AS is H, the method passes to step SP83 where the flag ASLK is set to H.

플래그 IECOK가 단계(SP81)에서 L인 것으로 측정되거나 또는 플래그 AS가 단계(SP82)에서 L인 것으로 측정되는 경우, 이 방법은 플래그 SALK가 L로 설정되는 단계(SP70)로 통과한다.If the flag IECOK is measured to be L at step SP81 or if the flag AS is measured to be L at step SP82, the method passes to step SP70 where the flag SALK is set to L.

상기한 바와 같이, SBCD 회로(1830)는 3개 이상의 연속적인 IED가 정상적이거나 또는 3개 이상의 연속적인 ID가 각각 하나씩 증가되는 경우 플래그 SALK를 H로 설정한다. 플래그 SALK는 3개 이상의 연속적인 IED가 비정상적이거나 또는 3개의 연속적인 ID의 검출이 실패한 경우 L로 설정된다.As described above, the SBCD circuit 1830 sets the flag SALK to H when three or more consecutive IEDs are normal or three or more consecutive IDs are each increased by one. The flag SALK is set to L when three or more consecutive IEDs are abnormal or detection of three consecutive IDs fails.

호스트 CPU(1814)는 SALK 플래그 및 상기 ID 데이터를 참조함으로써 광디스크(104) 상의 픽업(106)의 액세스 위치를 검출한다.The host CPU 1814 detects the access position of the pickup 106 on the optical disc 104 by referring to the SALK flag and the ID data.

PI1 정정 결과는 도 33A 내지 도 33D에 나타낸 SA록 또는 SA언록상태에 부가될 수 있다. 더욱이, SA록 또는 SA언록에 대한 기준 번호는 3으로 설정되는 것이 바람직하지만, 호스트 CPU(1814)에 의해 상이한 값으로 설정될 수 있다.The PI1 correction result can be added to the SA lock or SA unlock state shown in Figs. 33A to 33D. Moreover, although the reference number for the SA lock or SA unlock is preferably set to 3, it can be set to a different value by the host CPU 1814.

SALK=L(SALK=H)일 때 SYLK가 L로 되는 경우, EFM+ 복조기(1804)에 의해 EFM+ 복조된 데이터의 램(1818) 및 ECC 제어기(1816)로의 기록은 모두 리셋된다. 언록 상태는 순차로 캔슬되고(SAUL=L), SYLK는 H로 된다. 이어서, EFM+ 복조된 데이터의 기록은 램(1818)을 재점유한다.When SYLK becomes L when SALK = L (SALK = H), the recording of the EFM + demodulated data by RAM 1818 and ECC controller 1816 by EFM + demodulator 1804 is reset. The unlock state is sequentially canceled (SAUL = L), and SYLK becomes H. The record of EFM + demodulated data then reoccupies RAM 1818.

언록은 호스트 CPU(1814)에 의해 강제적으로 실행된다. 예를 들면, 호스트 CPU(1814)는 ECC 제어기(1816)를 리셋하기 위해 트랙 점프 후 언록상태를 개시할 수 있다. 언록 생태는 호스트 CPU(1814)에 의해 또는 호스트CPU(1814)에 의한 명령 없이 단순히 자동적으로 캔슬될 수 있다.The unlock is forcibly executed by the host CPU 1814. For example, the host CPU 1814 may initiate an unlock state after track jump to reset the ECC controller 1816. The unlock ecology may simply be automatically canceled without instructions by the host CPU 1814 or by the host CPU 1814.

SYLK=H(록된 상태)이고, 섹터 정보의 비트 6이 섹터의 시작을 나타내는 1인 경우, SBCD 회로(1810)는 SYLlC가 도 26A 내지 26H에 나타낸 바와같이 록이 이완된 것을 나타내는 L로 될 때까지 블록-톱을 H로 유지한다.If SYLK = H (locked state) and bit 6 of the sector information is 1 indicating the start of the sector, the SBCD circuit 1810 goes to SYLlC to L indicating that the lock is relaxed as shown in Figs. 26A to 26H. Keep the block-top at H until

블록-톱=L인 경우, EFM+W 프레임의 값은 12로부터 일단 SCSY 및 메인-FMSY가 섹터의 시작을 나타내는 H로 된 경우 0으로 변화한다. EFM+W의 값은 각각의 메인 프레임에 대해 0 내지 12로 반복적으로 변화한다.In the case of block-top = L, the value of the EFM + W frame changes from 12 once to 0 when SCSY and main-FMSY become H indicating the start of the sector. The value of EFM + W changes repeatedly from 0 to 12 for each main frame.

그러나, 블록-톱=H인 경우, EFM+W 프레임의 값은 도 27A 내지 도 27H에 도시한 바와 같이 13에 도달한 후 조차 계속 증가된다. 결과적으로, 각각의 ECC 블록의 메인 프레임의 데이터는 도 21에 나타낸 바와 같이 램(1818)의 상이한 어드레스에 순차로 저장된다.However, when block-top = H, the value of the EFM + W frame continues to increase even after reaching 13 as shown in Figs. 27A to 27H. As a result, the data of the main frame of each ECC block are sequentially stored at different addresses of the RAM 1818 as shown in FIG.

EFM+복조된 데이터는 램(1818)에 순차로 및 유사하게 기록되고, 그동안 PI1 정정이 실행된다. 일단 1개의 ECC 블록(208열의 데이터) 내의 데이터의 PI1 정정이 완료되면, PO 열 방향의 ECC 처리가 실행된다(PO 정정).The EFM + demodulated data is written sequentially and similarly to RAM 1818, during which PI1 correction is performed. Once PI1 correction of the data in one ECC block (208 columns of data) is completed, ECC processing in the PO column direction is executed (PO correction).

PO 열 방향으로 데이터를 판독하기 위해, PO 행이 인터리브되어야 한다(도 16). 따라서, 도 21에 나타낸 N번째 바이트에 대응하는 열이 판독되는 경우, 이 열의 데이터는 하향 판독되고, 그 동인 인터리브된 PO 행은 스킵되고, N번째 바이트에 대응하는 동일한 열 내의 유일한 PO 행들의 코드가 판독되고, ECC 코어 회로(1820)에 공급된다.In order to read data in the PO column direction, the PO rows must be interleaved (FIG. 16). Thus, when the column corresponding to the Nth byte shown in FIG. 21 is read, the data of this column is read down, its interleaved PO row is skipped, and the code of the only PO rows in the same column corresponding to the Nth byte Is read and supplied to the ECC core circuit 1820.

일단 ECC 코어 회로(1820)가 완료된 후, PO 정정(도 21의 우측에서(10) PI 열을 제외한 모든 열, 즉, 172열이 처리됨), PI2 정정(PI 정정의 제 2처리)이 실행된다. PI 행 방향의 ECC 처리는 에러 정정 성능을 개선시키기 위해 2회 실행된다.Once the ECC core circuit 1820 is completed, PO correction (all columns except the PI column on the right side of FIG. 21 (ie, column 172) are processed), and PI2 correction (second process of PI correction) is executed. . ECC processing in the PI row direction is executed twice to improve error correction performance.

PO 정정에서, 소거 정정은 PI 정정의 결과에 기초하여 발생된 에러 플래그(PI1 플래그)에 의존하여 수행된다. PI2 정정에서, 소거 정정은 역시 PO 정정의 결과에 기초하여 발생된 에러 플래그(PO 플래그)를 사용하여 수행된다. 이들 소거 정정은 상기한 바와 같이 에러 정정을 개선시키기 위해 실행된다.In PO correction, erasure correction is performed depending on the error flag (PI1 flag) generated based on the result of the PI correction. In PI2 correction, erasure correction is performed using an error flag (PO flag) that is also generated based on the result of the PO correction. These erase corrections are performed to improve error correction as described above.

PI2 정정이 완료된 데이터의 PI 서열은 램(1818)으로부터 OCTL 회로(1822)로 전송되고, 여기서 메인 데이터는 도 29에 나타낸 섹터 정보의 비트 3 내지 0을 사용하는 각각의 섹터에 대해 디스크램블된다. 또한, OCTL 회로(1822)는 EDC-관련 연산을 실행한다. 이러한 연산의 결과 및 메인 데이터에 부가된 에러 플래그의 존재에 기초하여, 목적하는 섹터 내에 임의의 에러가 존재하는지 여부가 측정된다. 이러한 측정에 기초하여, 호스트 CPU(1814)는 데이터가 광디스크(104)로부터 다시 판독될 수 있는지 여부를 측정한다. 그럴경우, 호스트 CPLT(1814)는 다시 광디스크(104)를 액세스하려고 시도한다. 이와 달리, 에러를 포함하는 섹터 내의 데이터는 멀티플렉스 데이터 세퍼레이터(704)(도 7)로 출력된다.The PI sequence of PI2 corrected data is sent from RAM 1818 to OCTL circuit 1822, where main data is descrambled for each sector using bits 3 through 0 of the sector information shown in FIG. The OCTL circuit 1822 also executes EDC-related operations. Based on the result of this operation and the presence of an error flag added to the main data, it is determined whether any error exists in the desired sector. Based on this measurement, the host CPU 1814 measures whether data can be read back from the optical disc 104. If so, the host CPLT 1814 attempts to access the optical disc 104 again. Alternatively, the data in the sector containing the error is output to the multiplex data separator 704 (FIG. 7).

ECC 코어 회로(1820)는 코어 길이, 패리티 수, 및 정정 모드(정상적인 정정 또는 정상적 및 소저 정정 모두)가 프로그램될 수 있는 일반적인 리드-솔로몬 코드 에러 정정(LSI)을 포함한다. ECC 코어(1820)는 실시간으로 디코드될 멀티-코드되고, 연속적으로 코드된 데이터(상이한 코드 길이의 복수개의 코드 서열)를 인에이블시키는 것이 바람직하다. 리드-솔로몬 코드 에러 정정(LSI)은 예를 들면 소니사로부터 입수할 수 있는 CXD307-111G(상표명)를 포함하고, 이들 LSI를 사용하여 형성된 용도 특이적 집적 회로(ASIC)는 ECC 코어로서 작동할 수 있다. 이러한 ECC 코어는 도 21에 나타낸 ECC 코어 회로(1820) 내로 임의로 삽입될 수 있다.ECC core circuit 1820 includes a general Reed-Solomon code error correction (LSI) in which core length, parity number, and correction mode (both normal or normal and sweep correction) can be programmed. The ECC core 1820 preferably enables multi-coded, sequentially coded data (plural code sequences of different code lengths) to be decoded in real time. Reed-Solomon code error correction (LSI) includes, for example, CXD307-111G (trade name) available from Sony, and application specific integrated circuits (ASICs) formed using these LSIs can operate as ECC cores. have. This ECC core can be arbitrarily inserted into the ECC core circuit 1820 shown in FIG.

도 33A 내지 도 33D는 에러 정정 동작 동안 신호의 타이밍을 나타낸다. 이러한 도면에서, ESTT(도 33A)는 코드(PI 또는 PO 행)의 시작을 지시하는 제어 신호이고, ECDE(도 33B)는 코드(PI 또는 PO 행)의 종료를 지시하는 제어 신호이다. ECYE(도 33C)는 코드(PI 또는 PO 행) 사이클의 종료를 지시하는 제어 신호이다. 이들 신호는 램 제어기(1812)로부터 ECC 제어기(1816)를 통해 ECC 코어 회로(1820)에 공급된다. ECC 코어 회로(1820)는 램(1818)으로부터 공급된 데이터를 확인하기 위해 이들 제어 신호를 사용한다.33A-33D show timing of signals during error correction operations. In this figure, ESTT (FIG. 33A) is a control signal indicative of the start of a code (PI or PO row), and ECDE (FIG. 33B) is a control signal indicative of the end of a code (PI or PO line). ECYE (FIG. 33C) is a control signal indicating the end of a code (PI or PO row) cycle. These signals are supplied from the RAM controller 1812 to the ECC core circuit 1820 through the ECC controller 1816. The ECC core circuit 1820 uses these control signals to verify the data supplied from the RAM 1818.

도 33A 내지 도 33D에 도시한 바와 같이, PI 코드는 ESTT와 EDCE사이의 182 ECCK 동안 전송된다. PO 코드는 역시 ESTT와 EDCE 사이의 208 ECCK 동안 전송된다.As shown in Figures 33A-33D, the PI code is transmitted during 182 ECCK between ESTT and EDCE. The PO code is also sent during 208 ECCK between ESTT and EDCE.

PI 행의 코드 및 PO 열의 코드가 상이한 코드 길이를 갖는 경우, 정정될 데이터(EDT) 및 소거 정정을 위한 에러 플래그(PI1, PI2 및 PO 플래그)가 PI 행 및 PO 열 코드 길이(이 실시예에서, PO 열 코드의 208)보다 더 긴 코드 사이클 길이를 채택함으로써 도 33A 내지 도 33D에 나타낸 바와 같이, 코드 서열을 무시하고 동일한 타이밍으로 입력될 수 있다. 이 값들은 코드 길이 및 패리티 수 등의 파라메터에 대해 설정될 수 있다. 이러한 설정은 새로운 설정 데이터를 ECC 코어 회로(1820)에 공급하여 이 회로를 ESTT가 H로 될 때 공급된 데이터에 기초한 그의 내부 설정을 자동으로 변화시킴으로써 변화될 수 있다.If the code of the PI row and the code of the PO column have different code lengths, the data to be corrected (EDT) and the error flags for erasure correction (PI1, PI2 and PO flags) are the PI row and PO column code lengths (in this embodiment). By adopting a code cycle length longer than 208 of the PO column code, the code sequence can be input at the same timing, as shown in FIGS. 33A-33D. These values can be set for parameters such as code length and parity number. This setting can be changed by supplying the new setting data to the ECC core circuit 1820 and automatically changing its internal setting based on the supplied data when the ESTT goes to H.

데이터 정정 결과는 하기 수학식으로 나타낸 바와 같이 477 ECCK 사이클을 사용하여 출력된다The data correction result is output using 477 ECCK cycles as shown in the following equation.

[수학식 5][Equation 5]

스루풋 = 2 x NCYC + 3 x PCYC + 13Throughput = 2 x NCYC + 3 x PCYC + 13

= 2 x 208 + 3 x 16 + 13 = 477 (ECCK)= 2 x 208 + 3 x 16 + 13 = 477 (ECCK)

상기 수학식 5에서, NCYC는 보다 긴 PI 행 및 PO 열 코드 길이를 나타내고, PCYC는 보다 큰 패리티 수를 나타낸다. 도 36A 내지 36E에 나타낸 바와 같이, OSTT(도 33D)는 데이터 출력 사이클(정정 결과가 출력될 때)에 요구되는 시간 만큼 ESTT(도 33A)의 타이밍보다 느리게 ECC 코어 회로(1820)로부터 ECC 제어기(1816)에 출력된다. 이 실시예에서,OSTT는 ESTT에 비해 상대적으로 477 ECCK 지연된다.In Equation 5, NCYC represents a longer PI row and PO column code length, and PCYC represents a larger parity number. As shown in Figs. 36A to 36E, the OSTT (Fig. 33D) is delayed from the ECC core circuit 1820 to the ECC controller (Fig. 33A) by the time required for the data output cycle (when the correction result is output). 1816). In this embodiment, the OSTT is delayed by 477 ECCK relative to the ESTT.

에러 검출이 실행되고, 검출된 에러가 정정될 수 없는 것으로 밝혀진 경우, ECC 코어 회로(1820)는 OSTT(도 33E)가 H로 되었을 때 ECC 제어기(1816)에 O.CODEERR(도 34G)=L을 출력한다. 이어서, 에러 패턴(에러성 데이터가 정정 데이터를 얻기 위해 배타적 논리적으로 부가되는 데이터) ECD[7:0](도 34H)를 지시하는 8 비트 데이터 및 에러 위치(에러가 발생하는위치(어드레스)를 지시하는 8 비트 데이터) ECA[7:0](도 34I)는 ECOR(도 34F)이 H일 때 출력된다.When error detection is executed and it is found that the detected error cannot be corrected, the ECC core circuit 1820 sends O.CODEERR (Fig. 34G) = L to the ECC controller 1816 when OSTT (Fig. 33E) becomes H. Outputs Next, the 8-bit data indicating the error pattern (the data to which the error data is exclusively logically added to obtain correction data) ECD [7: 0] (Fig. 34H) and the error position (the position (address) where the error occurs) are shown. Indicating 8-bit data) ECA [7: 0] (Fig. 34I) is output when ECOR (Fig. 34F) is H.

소거 정정 모드에서, 에러 플래그(EFLG)(도 34C)가 입력되는 위치에 대응하는 에러 위치 ECA[7:0] 데이터가 틀림없이 출력되지만, 그 위치의 데이터가 정확한 경우, 에러 패턴 ECD[7:0]=00이다.In the erase correction mode, the error position ECA [7: 0] data corresponding to the position where the error flag EFLG (FIG. 34C) is input is certainly output, but when the data at that position is correct, the error pattern ECD [7: 0] = 00.

에러가 정정될 수 없는 경우, OSTT(도 34E)는 H로 스위칭되고, O.CODEERR(도 34G)는 H로 동시에 스위칭되고, ECOR(도 34F)는 순차로 H로 되는 것이 방지된다(이 타이밍도에는 도시하지 않음). 또한, O.CODEERR(도 34G)의 출력은 OSTT(도 34E)가 다시 H로 변화될 때까지 래치되는 한편, ECOR(도 34F), ECD[7:0](도 34H) 및 ECA[7:0](도 34I)는 OSTT(도 34E)가 다시 H로 변화될 때까지 계속 출력된다.If the error cannot be corrected, OSTT (FIG. 34E) is switched to H, O.CODEERR (FIG. 34G) is simultaneously switched to H, and ECOR (FIG. 34F) is prevented from going to H sequentially (this timing Not shown). In addition, the output of O.CODEERR (FIG. 34G) is latched until OSTT (FIG. 34E) changes back to H, while ECOR (FIG. 34F), ECD [7: 0] (FIG. 34H) and ECA [7: 0] (FIG. 34I) continues to output until OSTT (FIG. 34E) changes back to H. FIG.

도 35A 내지 도 35E, 도 36A 내지 도 36E 및 도 37A 내지 도 37E는 ECC 처리 동안 제공되는 제어를 나타내는 타이밍도이다. 도 35B, 도 36B 및 도 37B에 나타낸 PI1-R, PO-R 및 PI2-R 각각은 데이터 EDT[7:0] 및 EFLG(도 34C)의 PI1(PI 정정의 제 1 처리), PO(PO 정정) 및 PI2(PI 정정의 제 2처리) 서열에 따른 타이밍을 지시하고, 이를 위해 정정될 수 있는 에러는 램(1818)으로부터 ECC 제어기(1816) 회로(136)를 통해 ECC 코어 회로(1820)에 전송된다.35A to 35E, 36A to 36E, and 37A to 37E are timing diagrams showing control provided during ECC processing. The PI1-R, PO-R, and PI2-R shown in Figs. 35B, 36B, and 37B are respectively PI1 (first process of PI correction), PO (PO) of data EDT [7: 0] and EFLG (Fig. 34C). Correction) and PI2 (second processing of PI correction) sequences, and errors that may be corrected for this are the ECC core circuit 1820 from the RAM 1818 through the ECC controller 1816 circuit 136. Is sent to.

도 35A, 도 36A 및 도 37A에 도시한 바와 같이, MWRQ 신호는 EFM+ 복조기(1804)로부터 1개의 PI 행으로 데이터 EFM+W(182 바이트의 데이터)를 기록하기 위해 램(1818)에 182회 공급됨으로써 1개의 PI 행 내의 EFM+ 복조된 데이터는 램(1818)에 기록된다. 1개의 PI 행의 데이터가 기록되는 동안, 램(1818)에 이미 기록된 ECC 블록의 데이터가 판독되고, ECC 제어기(1816)를 통해 ECC 코어 회로(1820)에 전송된다. 즉, PI 행의 데이터가 램(1818)에 저속으로 기록되는 동안, 이미 기록된 다른 PI 행 또는 PO 열의 데이터가 고속으로 3회 판독된다. 섹터의 시점에서 PI 행의 데이터가 전송되는 경우, 서브코드 데이터(ID 및 IED) 역시 판독된다. 기록 및 판독은 하나의 동작이 실행되는 동안, 나머지는 중지되는 방식으로 수행된다.As shown in FIGS. 35A, 36A, and 37A, the MWRQ signal is fed 182 times to RAM 1818 to record data EFM + W (182 bytes of data) from EFM + demodulator 1804 in one PI row. As a result, the EFM + demodulated data in one PI row is recorded in the RAM 1818. While the data of one PI row is written, the data of the ECC block already written in the RAM 1818 is read and transmitted to the ECC core circuit 1820 through the ECC controller 1816. That is, while data of the PI row is written to the RAM 1818 at low speed, data of another PI row or PO column that has already been written is read three times at high speed. When data of the PI row is transmitted at the time of the sector, the subcode data ID and IED are also read. Writing and reading are performed in such a way that one operation is executed while the others are suspended.

예를 들면 ECC 블록의 PI1 정정이 실행되는 경우, 1개의 PI 행의 데이터의 기록이 실행되는 타이밍 기간 동안 1개의 PI 행의 데이터가 판독된다. 1개의 PI 행의 데이터는 램(1816)으로부터 판독되고, ECC 제어기(1816)를 통해 ECC 코어 회로(1820)에 전송된다. 도 35B, 36B 및 37B에서, 208 ECCK가 PI1 정정을 위한 데이터 PI1-R을 판독하기 위해 사용되었지만, 이러한 수의 ECCK가 가장 긴 데이터 길이인 PO 열의 길이에 적용되며, PI 행의 데이터를 전송하기 위해 182 ECCK 만이 셜질적으로 데이터 전송에 사용된다.For example, when PI1 correction of an ECC block is performed, data of one PI row is read during a timing period in which writing of data of one PI row is performed. Data in one PI row is read from RAM 1816 and sent to ECC core circuit 1820 via ECC controller 1816. In Figures 35B, 36B and 37B, although 208 ECCK was used to read the data PI1-R for PI1 correction, this number of ECCKs was applied to the length of the PO column, which is the longest data length, to transfer the data in the PI row. Only 182 ECCKs are used for data transmission.

도 38은 ECC 정정을 실행하기 위해 램(1818)으로 및 그로부터 데이터를 기록 및 판독하기 위해 램 제어기(1812)에 의해 사용된 방법을 나타내는 흐름도이다. 단계(SP101)에서, 램 제어기(1812)는 램(1818)으로부터 1개의 PI행의 데이터를 ECC 코어 회로(1820)에 전송한다. 이러한 실시예에서, PI 코드(패리티) 및 PO 코드 (패리티)는 각각의 ECC 블록에 첨가된다. 제 1 ECC 블록으로부터 데이터의 제 1 PI 서열의 정정 및 재기입이 완료될 때까지, 동일한 ECC 블록으로부터 데이터 PO-R의 PO 서열 또는 판독 데이터 PI2-R의 PI2 서열은 전송될 수 없다. 이러한 경우, 후속하는 2 x 208 ECCK 동안 데이터가 전혀 전송되지 않는다. 상기 데이터 후에 서브코드 데이터(SUB)가 존재하는 경우, 이는 단계(SP102)로 전송된다. 따라서, 램 제어기(1812)는 제 1 ECC 블록의 1개의 PI 행의 데이터 및 필요할 경우 서브코드 데이터를 순차로 전송한다.38 is a flowchart illustrating a method used by RAM controller 1812 to write and read data to and from RAM 1818 to perform ECC correction. In step SP101, the RAM controller 1812 transmits data of one PI row from the RAM 1818 to the ECC core circuit 1820. In this embodiment, the PI code (parity) and PO code (parity) are added to each ECC block. Until the correction and rewriting of the first PI sequence of data from the first ECC block is complete, the PO sequence of data PO-R or the PI2 sequence of read data PI2-R cannot be transferred from the same ECC block. In this case, no data is transmitted at all during the subsequent 2 × 208 ECCK. If subcode data SUB exists after the data, it is sent to step SP102. Thus, the RAM controller 1812 sequentially transmits data of one PI row of the first ECC block and subcode data if necessary.

단계(SP103)에서, 제 1 ECC 블록의 208 행에서 PI1-R 데이터가 전송되었는지 여부 및 그에 따라 제 1 ECC 블록의 208 PI 행의 모든 데이터의 전송이 완료되었는지 여부가 측정된다. 그렇지 않을 경우, 처리는 단계(SP101)로 복귀되고, 그렇지 않으면, 처리는 단계(SP104)로 진행된다.In step SP103, it is measured whether PI1-R data has been transmitted in row 208 of the first ECC block and accordingly whether transmission of all data of the 208 PI rows of the first ECC block has been completed. Otherwise, processing returns to step SP101, otherwise, processing proceeds to step SP104.

단계(SP104)에서 램 제어기(1812)는 제 1 ECC 블록에 이은 제 2 ECC 블록으로부터 PI1-R 및 후속 182 MWRQ 동안 제 1 ECC 블록으로부터 PO-R의 전송을 개시한다. 즉, 후속하는 182 MWRQ 동안 제 1 ECC 블록에 이은 제 2 ECC 블록으로부터 PI1-R이 먼저 전송되고, 이어서, 제 1 ECC 블록으로부터 PO-R이 2회 전송된다(2개의 열의 PO 데이터가 전송됨).In step SP104, the RAM controller 1812 initiates transmission of the PO-R from the first ECC block during PI1-R and subsequent 182 MWRQ from the second ECC block following the first ECC block. That is, PI1-R is first transmitted from the second ECC block following the first ECC block during the subsequent 182 MWRQ, and then PO-R is transmitted twice from the first ECC block (two rows of PO data are transmitted). ).

이들 동작은 각각 182 MWQR 기간 동안 수행된다. 일단 제 1 ECC 블록의 172 열의 PO 데이터가 전송되면, 램 제어기(1812)는 단계(SP105)에서 긍정적인 결과를 얻고, 제 1 ECC 블록으로부터 데이터 PI2-R의 PI2 서열을 후속하는 단계(SP106)에 전송한다. 데이터 PI2-R은 도 36B에 나타낸 제 1 ECC 블록의 데이터 PO-R이 전송되는 동일한 타이밍으로 전송된다. 이러한 시점에서, 데이터 PI1-R은 다음 ECC 블록(제 2 ECC 블록)에 속한다. 제 1 ECC 블록의 208 PI 행의 PI2-R은 이러한 방식으로 전송되고, 제 1 ECC 블록의 PI1-R, PO-R 및 PI2-R의 처리가 완료될 때, 램 제어기(1812)가 단계(SP107)에서 긍정적인 결과를 얻고, 처리는 다음 ECC 블록의 처리를 계속할 수 있도록 단계(SP101)로 복귀된다.These operations are each performed for 182 MWQR periods. Once the PO data of column 172 of the first ECC block is transmitted, the RAM controller 1812 obtains a positive result in step SP105 and follows the PI2 sequence of data PI2-R from the first ECC block (SP106). To transmit. The data PI2-R is transmitted at the same timing at which the data PO-R of the first ECC block shown in Fig. 36B is transmitted. At this point, the data PI1-R belongs to the next ECC block (second ECC block). PI2-R of the 208 PI rows of the first ECC block is transmitted in this manner, and when the processing of PI1-R, PO-R and PI2-R of the first ECC block is completed, the RAM controller 1812 performs the step ( A positive result is obtained in SP107, and the process returns to step SP101 to continue processing of the next ECC block.

ECCX(도 34A)는 램 제이기(1812)로부터 데이터 전송 동안 유일하게 ECC 코어 회로(1820)에 출력된다. 또한, 전송된 데이터의 정정 결과는 상기한 바와 같이 이들의 입력 후 477 클록(ECCK)으로 출력된다. 따라서, 데이터 서열이 에러를 포함하는지 여부를 측정한 결과(도 35C, 36C 및 37C)는 이러한 서열로부터 2개를 제외한 다음 서열이 전송될 때(도 35b, 36b 및 38b) 출력된다. 이러한 출력은 이후 기재하는 바와 같이 ERR FIFO 회로(3904)(도 39)에 저장된다.The ECCX (FIG. 34A) is uniquely output to the ECC core circuit 1820 during data transfer from the RAM Jay 1812. Further, the correction result of the transmitted data is output as 477 clock ECCK after their input as described above. Therefore, the result of determining whether the data sequence contains an error (FIGS. 35C, 36C and 37C) is output when the following sequence except two is transmitted from these sequences (FIGS. 35B, 36B and 38B). This output is stored in the ERR FIFO circuit 3904 (FIG. 39) as described below.

에러-정정될 데이터가 상기한 바와 같이 램(1818)으로부터 ECC 제어기(1816)에 입력될 때, 제어기(1816)는 1개의 PI 행의 데이터의 PI1 정정을 실행하고, 477 ECCK후 결과를 출력한다(도 35C, 36C 및 37C). 그 결과는 아래 기재하는 ECC 제어기(1816)에 내한 버퍼로서 사용된 ERR FIFO(3904)에 전송되고 일시적으로 저장된다. 이러한 데이터는 ERR FIFO(3904)로부터 추가로 판독되고, 에러 정정이 완료된 데이터로서 램(1818)에 다시 전송되고, 도 36D 및 37d에 나타낸 바와 같이 데이터 PI1-W로서 그에 기록된다. PO 또는 PI2 정정이 완료된 데이터 역시 데이터 PO-W 또는 PI2-W로서 각각 램(1818)에 기록된다.When the data to be error-corrected is input from the RAM 1818 to the ECC controller 1816 as described above, the controller 1816 performs PI1 correction of the data of one PI row and outputs the result after 477 ECCK. (Figures 35C, 36C and 37C). The result is sent to the ERR FIFO 3904 used as a cold buffer in the ECC controller 1816 described below and stored temporarily. This data is further read out from the ERR FIFO 3904 and sent back to RAM 1818 as data for which error correction has been completed, and written to it as data PI1-W as shown in FIGS. 36D and 37D. The data on which the PO or PI2 correction is completed is also recorded in the RAM 1818 as data PO-W or PI2-W, respectively.

에러 정정이 완료된 데이터는 182 SDCK의 기간을 사용하여 각각의 PI 행에 대해 추가로 판독되고, 도 35E, 36E 및 37E에 나타낸 바와같이 OCTL 회로(1822)로부터 출력된다.Data for which error correction has been completed is further read for each PI row using a period of 182 SDCK and output from the OCTL circuit 1822 as shown in FIGS. 35E, 36E, and 37E.

도18에서와 동일한 부품에 동일한 참조 번호가 제공된 도 39는 에러 정정 처리 동안 신호의 바람직한 흐름을 나타내는 블록도이다. ECC 제어기(1816)는 베모리 장치(ERR 계수)(3902), 다른 메모리 장치(ERR FIFO)(3904), 플래그 메모리(플래그 램)(3906), 및 논리합(EX-OR) 회로(3908)를 포함하는 것이 바람직하다.39 is provided with the same reference numerals as in FIG. 18, and is a block diagram showing a preferable flow of signals during error correction processing. The ECC controller 1816 disposes the memory device (ERR coefficient) 3902, the other memory device (ERR FIFO) 3904, the flag memory (flag) 3906, and the OR-circuit (EX-OR) circuit 3908. It is preferable to include.

에러 메모리 장치(3904)는 선입 선출 저장 용량을 갖는 메모리 장치이다. 플래그 메모리(3906)는 다른 메모리 장치이다. 논리합 회로(3908)는 2개의 양을 배타적 논리적으로 합하는 장치이다.The error memory device 3904 is a memory device having a first-in, first-out storage capacity. The flag memory 3906 is another memory device. The OR circuit 3908 is a device that logically sums the two quantities.

EFM+ 복조기(1804)로부터 출력된 복조된 데이터는 램 제어기(1812)의 제어 하에 램(1818)에 기록된다. 각각의 섹터의 시점에 저장된 서브 데이터(ID 및 IED)는 램(1818)으로부터 판독되고 SBCD 회로(1810)에 전송된다.The demodulated data output from the EFM + demodulator 1804 is written to the ram 1818 under the control of the ram controller 1812. The sub data (ID and IED) stored at the start of each sector are read from RAM 1818 and sent to SBCD circuit 1810.

SBCD 회로(1810)는 도 29에 나타낸 바의 섹터 정보(SI)를 발생한다. 섹터 정보(SI)는 SBCD 회로(1810)로부터 전송되고, 램(1818)에 기록된다.The SBCD circuit 1810 generates sector information SI as shown in FIG. Sector information SI is transmitted from SBCD circuit 1810 and recorded in RAM 1818.

램 제어기(1812)는 램(1818)에 기록된 1개의 PI 행의 데이터를 8비트 그룹을 포함하는 에러 정정 데이터 EDT로서 ECC 제어기(1816)(도 39에서 나타낸 EDT 데이터는 편의상 ECC 코어 회로에 직접적으로 공급됨)을 통해 ECC 코어 회로(1820)에 공급한다. 1개의 PI 행의 데이터가 ECC 코어 회로(1820)에 공급될 때, 이 회로(1820)는 8 비트의 에러 정정 데이터 ECD(도 34H) 및 8 비트의 에러 정정 어드레스 ECA(도 34I)를 발생시키는 PI 코드를 사용한다. 에러 정정 데이터 ECD 및 에러 정정 어드레스 ECA는 ECC 코어회로(1820)로부터 ERR FIFO(3904)에 전송 및 기입된다.The RAM controller 1812 is an error correction data EDT including 8-bit groups of data of one PI row recorded in the RAM 1818 as the ECC controller 1816 (the EDT data shown in FIG. 39 is directly connected to the ECC core circuit for convenience. Supplied to the ECC core circuit 1820. When data of one PI row is supplied to the ECC core circuit 1820, this circuit 1820 generates 8-bit error correction data ECD (FIG. 34H) and 8-bit error correction address ECA (FIG. 34I). Use a PI code. The error correction data ECD and error correction address ECA are transmitted and written from the ECC core circuit 1820 to the ERR FIFO 3904.

에러를 실질적으로 정정하기 위해, 램 제어기(1812)는 PI 행의 데이터 EDT를 판독하고, 이를 EX-OR 회로(3908)에 공급한다. EX-OR 회로(3908)에는 ERR FIFO(3904)로부터 에러 정정 데이터 ECD 및 에러 정정 어드레스 ECA가 공급된다. EX-OR 회로(3908)는 에러 정정 어드레스 ECA에 의해 특정된 비트로 램 제어기(1812)로부터 판독된 에러 정정 데이터(ECD) 및 데이터(EDT)를 함께 배타적 논리적으로 부가함으로써 에러를 정정한다. 에러 정정된 데이터는 램 제어기(1812)를 통해 램(1818)에 다시 기록된다.To substantially correct the error, the RAM controller 1812 reads the data EDT of the PI row and supplies it to the EX-OR circuit 3908. The EX-OR circuit 3908 is supplied with error correction data ECD and error correction address ECA from the ERR FIFO 3904. The EX-OR circuit 3908 corrects the error by logically adding together the error correction data ECD and the data EDT read from the RAM controller 1812 with bits specified by the error correction address ECA. The error corrected data is written back to RAM 1818 via RAM controller 1812.

또한, ECC 코어 회로(1820)는 ECD 및 ECA로부터 도 40에 나타낸 바의 8-비트 데이터를 포함하는 에러 정정 결과(ER)를 생성하고, 결과(ER)를 저장하기 위한 ERR COUNT(3902)에 공급한다. 1 바이트의 에러 정정 결과는 도 21에 나타낸 바의 PI 행에 대응하도록 램 제어기(1812)를 통해 램(1818)에 기록된다.In addition, the ECC core circuit 1820 generates an error correction result ER including 8-bit data as shown in FIG. 40 from the ECD and the ECA, and stores the result ER in the ERR COUNT 3902 for storing the result ER. Supply. The error correction result of one byte is recorded in the RAM 1818 through the RAM controller 1812 so as to correspond to the PI row as shown in FIG.

도 40에 나타낸 에러 정정 결과(ER)의 8 비트 데이터는 다음 정보를 나타낸다.8-bit data of the error correction result ER shown in FIG. 40 represents the following information.

비트 7 : 정정할 수 없는 에러(0 : 정정할 수 있음, 1 : 정정할 수 없음)(시리즈 중의 에러가 정정될 수 없는 것으로 밝혀진 경우 1)Bit 7: Uncorrectable error (0: correctable, 1: uncorrectable) (1 if an error in the series is found to be uncorrectable)

비트 6 : PO(0 : PI, 1 : PO)(PI 행 또는 PO 열의 시리즈를 지시함)Bit 6: PO (0: PI, 1: PO) (indicates a series of PI rows or PO columns)

비트 5 : PI2(0 : PI1, 1 : PI2)(PI1 또는 PI2 시리즈를 지시함)Bit 5: PI2 (0: PI1, 1: PI2) (indicates PI1 or PI2 series)

비트 4 : 정정 수(에러 정정 수의 제5 비트의 값(MSB))Bit 4: Correction number (value of the fifth bit (MSB) of the error correction number)

비트 3 : 정정 수(에러 정정 수를 나타내는 4개의 비트의 제 4 비트값)Bit 3: Correction number (fourth bit value of four bits representing error correction number)

비트 2 : 정정 수(에러 정정 수를 나타내는 4개의 비트의 제 3 비트값)Bit 2: Correction number (third bit value of four bits representing error correction number)

비트 1 : 정정 수(에러 정정 수를 나타내는 4개의 비트의 제 2 비트값)Bit 1: Number of corrections (second bit value of four bits representing error correction number)

비트 0 : 정정 수(에러 정정 수를 나타내는 4개의 비트의 제 2 비트값)Bit 0: Number of corrections (second bit value of four bits representing error correction number)

데이터가 PI1 정정 처리에 의해 정정되는지 여부를 나타내는 에러 플래그(PI1 플래그 및 에러 정정 결과(ER)의 비트 7)는 에러 정정 결과(ER)의 일부로서 ERR COUNT(3902) 및 플래그 램(3906C)에 저장된다.An error flag indicating whether data is corrected by the PI1 correction process (bit 7 of the PI1 flag and the error correction result ER) is sent to the ERR COUNT 3902 and the flag RAM 3906C as part of the error correction result ER. Stored.

이러한 PI1 정정 처리는 도 21에 나타낸 208 PI 행에 대해 실행된다.This PI1 correction process is executed for the 208 PI rows shown in FIG.

램 제어기(1812)는 램(1818)으로부터 제 1 PO 열 내의 208 바이트의 데이터를 판독하고, 이러한 데이터를 EDT로서 ECC 제어기(1816)를 통해 ECC 코어 회로(1820)에 공급한다. 플래그 램(3906)에 기록된 PI1 플래그는 역시 검색되고 ECC 코어 회로(1820)에 공급된다. ECC 코어 회로(1820)는 정상적인 정정 또는 소거 정정을 위해 ECD 및 ECA를 발생하는 패턴 PO 및 PI플래그를 사용한다. ECD 및 ECA는 ECC 코어 회로(1820)로부터 ERR FIFO(3904)에 공급되고, 그곳에 저장된다. ECD 및 ECA에 기초하여 ECC 코어 회로(1820)에 의해 발생된 이러한 PO 열에 대한 에러 정정 결과(ER)는 역시 ERR COUNT(3902)에 전송되고 저장된다. 에러 정정 결과(ER)의 비트 7에 대응하는 PO 플래그는 플래그 램(3906)에 기록될 수도 있다.The RAM controller 1812 reads 208 bytes of data in the first PO column from the RAM 1818 and supplies this data as an EDT to the ECC core circuit 1820 via the ECC controller 1816. The PI1 flag recorded in the flag RAM 3906 is also retrieved and supplied to the ECC core circuit 1820. The ECC core circuit 1820 uses pattern PO and PI flags that generate ECD and ECA for normal correction or erase correction. ECD and ECA are supplied to and stored therein from the ECC core circuit 1820 to the ERR FIFO 3904. The error correction result ER for this PO column generated by the ECC core circuit 1820 based on the ECD and ECA is also sent and stored in the ERR COUNT 3902. The PO flag corresponding to bit 7 of the error correction result ER may be written to the flag RAM 3906.

램(1818)으로부터 판독된 PO 열의 데이터 ECT는 EX-OR 회로(3908)에 공급된다. EX-OR 회로(3908)에는 ERR FIFO(3904)로부터 ECD 및 ECA가 공급된다. EX-OR 회로(3908)는 ECA에 의해 특정된 어드레스의 비트에 대응하도록 ECD 및 EDT를 함께 배타적 논리적으로 부가함으로써 에러를 정정한다. 에러 정정된 데이터는 램(1818)에 다시 기록된다.The data ECT of the PO column read from the RAM 1818 is supplied to the EX-OR circuit 3908. The EX-OR circuit 3908 is supplied with the ECD and the ECA from the ERR FIFO 3904. The EX-OR circuit 3908 corrects the error by adding exclusively logically the ECD and the EDT together to correspond to the bits of the address specified by the ECA. The error corrected data is written back to the RAM 1818.

또한, 이 PO 열에 대한 에러 정정 결과(ER)는 ERR COUNT(3902)로부터 판독되고 램(1818)에 기록된다. 이 PO 열에 대한 에러 정정 결과(ER)는 172 PI 행(상부로부터 시작)에 대응하는 위치에 실질적으로 기록된다.The error correction result ER for this PO column is also read from ERR COUNT 3902 and written to RAM 1818. The error correction result ER for this PO column is substantially recorded at a position corresponding to 172 PI rows (starting from the top).

이러한 PO 정정은 172 PO 열에 내해 실행된다.This PO correction is performed on the 172 PO column.

PI1 및 PO 정정 처리후, PI2 정정 처리가 수행되는 경우, 제 1 PI 행의 데이터는 EDT로서 램(1818)으로부터 판독되고 ECC 코어 회로(1820)에 공급된다. 플래그 램(3906)에 기록된 PO 플래그는 역시 판독되고 ECC 코어 회로(1820)에 공급된다. ECC 코어 회로(1820)는 ECD 및 ECA를 발생하는 이러한 PO 플래그 및 패리티 PI를 사용하고, 이들 둘을 ERR FIFO(3904)에 공급한다.After PI1 and PO correction processing, when PI2 correction processing is performed, the data of the first PI row is read from RAM 1818 as an EDT and supplied to ECC core circuit 1820. The PO flag recorded in the flag RAM 3906 is also read and supplied to the ECC core circuit 1820. The ECC core circuit 1820 uses this PO flag and parity PI to generate ECD and ECA, and supplies both to the ERR FIFO 3904.

ERR FIFO(3904)에 기록된 ECD 및 ECA 및 EX-OR 회로(3908)에 공급되고 램(1818)으로부터 판독된 PI 열의 데이터는 에러를 정정하기 위해 함께 배타적 논리적으로 부가된다. 에러가 정정된 데이터는 EX-OR 회로(3908)에 의해 램 제어기(1812)를 통해 램(1818)에 기록된다.The data of the PI columns supplied to the ECD and ECA and EX-OR circuits 3908 and read from the RAM 1818 that are recorded in the ERR FIFO 3904 are added together logically exclusively to correct errors. The error corrected data is written to the RAM 1818 via the RAM controller 1812 by the EX-OR circuit 3908.

ECC 코어 회로(1820) 역시 ECD 및 ECA로부터 에러 정정 결과(ER)를 생성하고, 이들을 저장하기 위해 ERR CPUNT(3902)에 공급한다. 비트 7에 대응하는 PI2 플래그 역시 플래그 램(3906)에 기록된다.The ECC core circuit 1820 also generates error correction results (ER) from the ECD and ECA and supplies them to the ERR CPUNT 3902 to store them. The PI2 flag corresponding to bit 7 is also written to flag RAM 3906.

ERR COUNT(3902)에 기록된 PI2-행에 내한 에러 정정 결과(ER)는 이로부터 판독되고 램(1818)에 기록된다. PI2 행에 대한 에러 정정 결과(ER)는 ECC 블록의 각각의 208 PI 행에 대응하는 각각의 위치에 기록된다.The error correction result ER in the PI2-row recorded in the ERR COUNT 3902 is read therefrom and written to the RAM 1818. The error correction result ER for the PI2 row is recorded at each position corresponding to each 208 PI row of the ECC block.

도 41A 내지 41G는 램(1818)에 액세스하기 위한 버스 중재를 나타내는 타이밍도이다. 이 도면에서, EFMREG(도 41A)는 EFM+ 복조된 데이터를 램(1818)에 기록하도록 요청하기 위해 EFM+ 복조기(1804)에 의해 램 제어기(1812)에 출력되는 신호이다. OUTREQ(도 41B)는 램(1818)으로부터 ECC-처리된 데이터의 판독을 요청하는 OCTL 회로(1822)에 의해 램 제어기(1812)에 출력된 신호이다. ECCREQ(도 41C)는 데이터를 ECC 코어 회로(1820)에 전송함으로써 에러를 정정하거나 또는 에러-정정된 데이터를 얻기 위해, 또는 SBCD 회로(1810)로부터 SUB 전송(ID 및 IED)을 요청하기 위해 RAM(1818)을 액세스하도록 ECC 제어기(1816)에 의해 램 제어기(1812)에 출력된 신호이다.41A-41G are timing diagrams illustrating bus arbitration for accessing RAM 1818. FIG. In this figure, EFMREG (FIG. 41A) is a signal output to RAM controller 1812 by EFM + demodulator 1804 to request writing EFM + demodulated data to RAM 1818. OUTREQ (FIG. 41B) is a signal output to RAM controller 1812 by OCTL circuit 1822 that requests reading of ECC-processed data from RAM 1818. ECCREQ (FIG. 41C) provides RAM to correct data or obtain error-corrected data by sending data to ECC core circuit 1820, or to request SUB transfers (ID and IED) from SBCD circuit 1810. A signal output to the RAM controller 1812 by the ECC controller 1816 to access 1818.

램 제어기(1812)는 이들 신호에 대한 우선 레벨을 프리셋하고, 이들 요청이 동시에 요구되는 경우의 우선 레벨에 따라 램(1818)에 인식(ACK) 신호를 순차로 출력한다. EFMACK(도 41D),OUTACK(도 41E) 및 ECCACK(도 41F)는 EFMREQ, OUTREQ, 및 ECCREQ 각각에 대한 인식 신호이다. 우선 레벨은 OUTREQ, EFMREQ 및 ECCREQ의 순서로 설정되는 것이 바람직하다. 따라서, 램 제어기(1812)는 도 44에 나타낸 바와 같이 우선 레벨에 따라 대응하는 REQ 신호에 내한 ACK 신호를 출력한다. 이들 신호는 시스템 클록으로서 사용된 C11M(도 41G)으로 동기되면서 수신된다.The RAM controller 1812 presets priority levels for these signals and sequentially outputs an acknowledgment (ACK) signal to the RAM 1818 according to the priority levels when these requests are simultaneously required. EFMACK (FIG. 41D), OUTACK (FIG. 41E), and ECCACK (FIG. 41F) are recognition signals for EFMREQ, OUTREQ, and ECCREQ, respectively. The priority level is preferably set in the order of OUTREQ, EFMREQ, and ECCREQ. Therefore, the RAM controller 1812 outputs the ACK signal to the corresponding REQ signal in accordance with the priority level as shown in FIG. These signals are received in synchronization with C11M (FIG. 41G) used as the system clock.

상기한 바와 같이, 본 발명에 따라, 램(1818)에 내한 액세스는 각각의 특정된 사이클 동안 EFMREQ, ECCREQ 또는 OUTREQ에 반응하여 얻어진다. 그러나, 이러한 사이클은 배치 또는 램(1818)의 타입 또는 액세스 속도에따라 변화될 수 있다.As noted above, in accordance with the present invention, access to RAM 1818 is obtained in response to EFMREQ, ECCREQ or OUTREQ during each specified cycle. However, this cycle may vary depending on the type of deployment or ram 1818 or the speed of access.

도 42는 1개의 ECC 블록의 데이터의 PI1, PI2 및 PO 정정을 실행하도록 요구되는 램(1818)에 대한 액세스 수를 나타낸다. 도시한 바와 같이, PI1, PO 및 PI2 정정을 실행하도록 요구되는 램(1818)에 내한 액세스 수는 ECC 블록당 214, 716이고, 메인 프레임당 평균값은 1,033이다. 예를 들면, EFM+ 복조된 데이터의 기록 동안 램(1818)에 대한 액세스 수는 메인 프레임당 182이고, ECC 실행 사이클 길이는 208 바이트(208 메인 프레임)이고, 37,856(=182 x 208) 액세스가 블록당 요구된다. 상기 값은 각각의 동작에 요구되는 액세스 수를 연산하고, 얻어진 모든 값들을 함께 부가함으로써 얻어진다.42 shows the number of accesses to RAM 1818 required to perform PI1, PI2, and PO corrections of data of one ECC block. As shown, the number of accesses to RAM 1818 required to perform PI1, PO, and PI2 corrections is 214, 716 per ECC block, and the average value per main frame is 1,033. For example, the number of accesses to RAM 1818 during the recording of EFM + demodulated data is 182 per main frame, the ECC execution cycle length is 208 bytes (208 main frames), and 37,856 (= 182 x 208) accesses are blocked. Per party is required. The value is obtained by calculating the number of accesses required for each operation and adding all the obtained values together.

도 43A 내지 43F는 램(1818)으로부터 OCTL 회로(1822)를 통해 에러정정 결과 데이터(ER)의 출력에 대한 타이밍을 나타내는 타이밍도이다. 이 도면에서, 도 35E, 36E 및 37E에 나타낸 182 SDCK에 앞선 위치에 대한 시간 베이스가 확장된다. SDCK(도 43A)는 스트림 데이터로서 ER을 출력하기 위해 사용된 클록 신호를 지정한다. SINF(도 43B)는 섹터의 시점에 H로 되는 섹터 정보 스트로브 신호이고, 전송된 데이터는 섹터 정보(SI)임을 나타낸다.43A through 43F are timing diagrams showing timings for the output of the error correction result data ER from the RAM 1818 through the OCTL circuit 1822. In this figure, the time base for the position prior to 182 SDCK shown in FIGS. 35E, 36E and 37E is expanded. SDCK (FIG. 43A) specifies the clock signal used to output the ER as stream data. SINF (Fig. 43B) is a sector information strobe signal that becomes H at the time of a sector, and indicates that the transmitted data is sector information (SI).

ESTB(도 43C)는 에러 정정 결과(ER)가 전송될 수 있음을 나타내는 H로 됨에 따라 에러 정정 결과 스트로브 신호이다. 각각의 PI 행에서, 1 바이트가 PI1, PO 및 PI2에 대한 에러 정정 결과(ER) 각각에 할당됨으로써, 그 결과의 데이터는 전체 3 바이트를 점유한다. 이 데이터는 그것이 저장된 순서로 출력되기 때문에(도 21), 특정 결과가 관련된 시리즈는 데이터의 비트 5 및 6(도40)을 체크함으로써 확인될 수 있다. PO 정정 결과가 출력되지 않는 PI 행에 대해, ESTB는 그러한 결과가 출력될 때 L로 된다.ESTB (FIG. 43C) is an error correction result strobe signal as it becomes H indicating that the error correction result ER can be transmitted. In each PI row, one byte is assigned to each of the error correction results (ER) for PI1, PO, and PI2, so that the data of the result occupies a total of three bytes. Since this data is output in the order in which it is stored (Figure 21), the series with which the particular result is associated can be confirmed by checking bits 5 and 6 (Figure 40) of the data. For PI rows for which no PO correction results are output, the ESTB goes to L when those results are output.

DSTB(도 43D)는 신호 SD[7:0](도 43E)가 메인 데이터일 때 H인 데이터 스트로브 신호이다. 이들 3개의 신호 SINF, ESTB 및 DSTB는 OCTL 회로(1822)에 의해 발생된다. 섹터 정보 SI 및 에러 정정 결과(ER)는 PI 행의 방향의 데이터가 도 43E에 도시한 바와 같이 182 SDCK를 사용하여 출력되기 직전에 출력된다,DSTB (FIG. 43D) is a data strobe signal that is H when signal SD [7: 0] (FIG. 43E) is main data. These three signals SINF, ESTB, and DSTB are generated by the OCTL circuit 1822. The sector information SI and the error correction result ER are output just before the data in the direction of the PI row is output using 182 SDCK as shown in FIG. 43E.

OUTE(보간 플래그)(도 43F)는 플래그 램(3906)에 저장된 PI 및 PO 정정할 수 없는 에러 플래그에 기초한 출력 전에 메인 데이터에 부가되는 메인 데이터를 위한 에러 플래그이다.OUTE (interpolation flag) (FIG. 43F) is an error flag for main data added to main data before output based on the PI and PO uncorrectable error flags stored in the flag RAM 3906. FIG.

OCTL 회로(1822)는 SBCD 회로(1810)에 의해 발생된 섹터 정보의 비트 4 및 5(도 29)로부터 디OCTL circuit 1822 decodes bits 4 and 5 (FIG. 29) of sector information generated by SBCD circuit 1810.

0.코딩이 완료된 섹터 내의 데이터가 출력될 수 있는지 여부를 측정한다. 섹터 정보의 비트 4 및 5는 도 29에 나타낸 바와 같이 종료 및 시작 섹터 각각을 나타낸다. 따라서 OCTL 회로(1822)는 특정 섹터내의 데이터에 따라 비트 4=0 및 비트 5=1을 갖는 섹터 데이터를 출력한다(출력해야 할 데이터).0. It is measured whether data in a sector in which coding has been completed can be output. Bits 4 and 5 of the sector information indicate end and start sectors, respectively, as shown in FIG. Therefore, the OCTL circuit 1822 outputs sector data having bits 4 = 0 and bits 5 = 1 according to data in a particular sector (data to be output).

OCTL 회로(1822)는 예를 들면 메인 데이터에 내한 에러 플래그의 존재 또는 EDC 결과가 호스트 CPU(1814)에 의해 프리셋된 상태를 만족시키는지 여부를 측정하고, 그럴 경우, 디코드 데이터를 출력한다. 그렇지 않으면,이 회로는 디코드 데이터의 출력을 중지하고, 에러의 호스트 CPU(1814)의 정보를 제공한다.The OCTL circuit 1822 measures, for example, the presence of an error flag in the main data or whether the EDC result satisfies a state preset by the host CPU 1814, and if so, outputs decoded data. Otherwise, this circuit stops the output of the decode data and provides the information of the host CPU 1814 in error.

예를 들면, 데이터 출력 조건은 다음과 같은 것이 바람직하다.For example, the data output conditions are preferably as follows.

(1) 데이터는 출력을 위해 특정될 수 있다.(1) Data can be specified for output.

(2) 모든 에러가 ECC 결과로부터 검출될 수는 없다.(2) Not all errors can be detected from the ECC results.

(3) 모든 에러 플래그가 메인 데이터에 부가될 수는 없다.(3) Not all error flags can be added to the main data.

이들 출력 상태가 설정되는 경우, 이들 조건을 만족시키는 데이터는 최종적으로 출력된다. 또한, 이러한 상태에도 불구하고, 호스트 CPU(1814)는 데이터 출력을 강제로 억제할 수 있다.When these output states are set, data satisfying these conditions is finally output. In addition, despite this state, the host CPU 1814 can forcibly suppress the data output.

OCTL 회로(1822)는 도면 44에 나타낸 섹터 데이터의 출력 서열의 순서로 메인 데이터, 섹터 정보(SI), 및 에러 정정 결과(ER)를 순차로 출력한다.The OCTL circuit 1822 sequentially outputs the main data, sector information SI, and error correction result ER in the order of the output sequence of the sector data shown in FIG.

단계(SP111)의 OCTL 회로(1822)는 먼저 섹터 정보(SI)의 비트 4에 저장된 종료 섹터 검출의 결과 및 비트 5에 저장된 시작 섹터 검출의 결과를 분석한다. 결과적으로, 비트 4가 0이고 비트 5가 1인 데이터가 출력되는 것이 측정된다.The OCTL circuit 1822 of step SP111 first analyzes the result of the end sector detection stored in bit 4 of the sector information SI and the result of the start sector detection stored in bit 5. As a result, it is measured that data in which bit 4 is zero and bit 5 is one is output.

이 처리 방법은 디코드된 데이터가 출력될 수 있는지 여부가 측정된 단계(SP112)로 진행된다. 그렇지 않은 경우, 처리 방법은 데이터 출력 동작을 중지하기 위해 단계(SP114)로 통과한다. 중지는 예를 들면 OCTL 회로(1822)에 의해 데이터 스트로브 신호를 종료함으로써 이루어진다. 한편, 디코드된 데이터가 출력 조건을 만족시키는지 측정되고, 출력되는 경우, 이 처리 방법은 단계(SP113)에 통과된다.This processing method proceeds to step SP112 where it is determined whether decoded data can be output. If not, the processing method passes to step SP114 to stop the data output operation. The stop is for example done by terminating the data strobe signal by the OCTL circuit 1822. On the other hand, if the decoded data satisfies the output condition and is output, this processing method passes to step SP113.

단계(SP113)에서, OCTL 회로(1822)는 출력 데이터 및 출력들의 각각의 스트로브 신호, 즉, 섹터 정보(SI)(도 43B)에 대한 스트로브 신호(SINF), 에러 정정 결과(ER)(도 43C)에 대한 스트로브 신호(ESTB), 및 메인 데이터(도 43D)에 대한 스트로브 신호 (DSTB)를 발생한다. 처리 방법은 단계(SP115)로 진행된다. 단계(SP115)에서, OCTL 회로(1822)는 섹터 정보(SI), 에러 정정 결과(ER), 및 메인 데이터(D0, D1, D2...)의 순서로 데이터를 출력한다. 일단 모든 섹터 데이터가 출력되면, 섹터 데이터의 출력이 종료될 것이다.In step SP113, the OCTL circuit 1822 performs each strobe signal of the output data and outputs, that is, the strobe signal SINF for the sector information SI (FIG. 43B), the error correction result ER (FIG. 43C). ) And a strobe signal (DSTB) for main data (FIG. 43D). The processing proceeds to step SP115. In step SP115, the OCTL circuit 1822 outputs data in the order of sector information SI, error correction result ER, and main data D0, D1, D2 .... Once all sector data is output, the output of sector data will be terminated.

상기 실시예에서, 182 MWRQ(PI1-R, PO-R 및 PI2-R(35A 내지 35E, 36A 내지 36E 및 37A 내지 37E))의 데이터 전송 기간 동안 램(1818)으로부터 ECC 코어 회로(1820)에 전송된 데이터는 전송 클록(ECCK)에 따라 램으로부터 판독된다. 이 경우, 데이터 전송 기간(PI1-R, PO-R 및 PL-R) 사이의 특정 시간 동안 전송 클록(ECCK)을 중지시킴으로써, 데이터(PI1-R, PO-R 및 PI2-R)의 전송은 이러한 중지 기간 동안 중지된다. 즉, 데이터가 전송되지 않는 기간은 데이터(PI1-R, PO-R 및 PI2-R) 시리즈 사이에 형성될 수 있다.In the above embodiment, the RAM 1818 from the RAM 1818 to the ECC core circuit 1820 during the data transfer period of 182 MWRQ (PI1-R, PO-R and PI2-R (35A to 35E, 36A to 36E and 37A to 37E)). The transmitted data is read from the RAM in accordance with the transmission clock ECCK. In this case, by stopping the transmission clock ECCK for a specific time between the data transfer periods PI1-R, PO-R and PL-R, the transfer of data PI1-R, PO-R and PI2-R It is suspended during this suspension period. That is, a period during which data is not transmitted may be formed between data (PI1-R, PO-R and PI2-R) series.

이러한 중지 기간 동안, 램 제어기(1812)는 메인 데이터를 ECC 코어 회로(1820)를 통해 ECC 제어기(1816)에 전송함으로써 ERR FIFO(에러 레지스터)의 정정 패턴 및 에러 위치 정보를 사용함으로써 램(1818)으로부터 대응하는 데이터를 판독하고, EX-OR 회로(3908)를 갖는 배타적 논리 부가를 실행함으로써 에러를 정정하고, ECC 처리를 실행하기 위해 램(1818)에 정정된 데이터를 다시 기입한다.During this pause, the RAM controller 1812 transfers main data to the ECC controller 1816 via the ECC core circuit 1820 to use the RAM 1818 by using the error pattern and correction pattern of the ERR FIFO (error register). The error is corrected by reading the corresponding data from the data, executing an exclusive logic addition with the EX-OR circuit 3908, and writing the corrected data back into the RAM 1818 to execute ECC processing.

PI1 정정(PI1-W)이 실행된 후, 램 제어기(1812)는 0으로 번호 매긴 메인 프레임에 저장되고 서브 타이밍(도 35B, 36B 및 37B)으로 램(1818)에 저장된 섹터 어드레스 정보(ID)에 내응하는 에러 검출 코드(IED)를 판독하고, 이들을 SBCD 회로(1810)에 전송한다. SBCD 회로(1810)가 물리적 섹터 어드레스(ID)를 검출하는 경우, 이 회로는 호스트 CPU(140)에 의해 할당된 보간 플래그 발생 모드, 시작 섹터 및 종료 섹터에 따라 섹터 정보(SI)를 발생하고, 소정의 PI 행에 대응하도록 이러한 정보를 램(1818)에 기록한다.After the PI1 correction (PI1-W) is executed, the RAM controller 1812 is stored in the main frame numbered 0 and the sector address information (ID) stored in the RAM 1818 at sub-timing (FIGS. 35B, 36B, and 37B). The error detection code (IED) corresponding to the data is read, and these are transmitted to the SBCD circuit 1810. When the SBCD circuit 1810 detects the physical sector address ID, the circuit generates sector information SI according to the interpolation flag generation mode, start sector and end sector assigned by the host CPU 140, This information is written to RAM 1818 to correspond to a given PI row.

EFM+ 복조된 데이터를 램(1818)에 기록할 때 램 제어기(1812)는 램(1818)으로부터 섹터 정보(SI) 및 에러 정정 결과(ER)와 함께 OUTREQ(도 41B)에 기초하여 에러-정정된 메인 데이터를 판독하고, 이러한 정보를 OCTL회로(1822)에 전송한다.When writing EFM + demodulated data to RAM 1818, RAM controller 1812 is error-corrected based on OUTREQ (FIG. 41B) with sector information SI and error correction result ER from RAM 1818. The main data is read and this information is sent to the OCTL circuit 1822.

OCTL 회로(1822)는 섹터 정보에 기초하여 디코드된 섹터 데이터가 출력될 수 있는지 측정하는 경우, 이 회로는 섹터 정보(SI)의 스트로브 신호(SINF), 에러 정정 결과(ER)의 스트로브 신호(ESTB) 및 메인 데이터의 스트로브 신호(DSTB)를 발생하고, 그 순서내로 각각을 출력한다. 따라서, 도 43A 내지 43F에 나타낸 바와 같이, 이 데이터는 섹터 정보(SI), 에러 정정 결과(ER) 및 메인 데이터(D0, D1, D2...)의 순서로 출력될 수 있다.When the OCTL circuit 1822 measures whether decoded sector data can be output based on the sector information, the circuit determines the strobe signal SINF of the sector information SI and the strobe signal ESTB of the error correction result ER. ) And the strobe signal DSTB of the main data are outputted, respectively. Therefore, as shown in Figs. 43A to 43F, this data can be output in the order of sector information SI, error correction result ER, and main data D0, D1, D2 ....

상기한 바와 같이, 섹터 데이터, 3 바이트의 PI, PO 및 PI2 정정을 포함하는 에러 정정 결과(ER)를 출력함에 따라, 메인 테이터가 섹터 정보(SI)후에 출력된다. 이러한 시점에서, 에러 정정 결과(ER)의 비트 5 및 6을 분석함으로써, 에러 정정 결과가 PI 또는 PO(비트 6) 및 PI1 또는 PI2인지 여부가 용이하게 측정될 수 있다.As described above, as the error correction result ER including sector data, 3 bytes of PI, PO, and PI2 correction is output, the main data is output after the sector information SI. At this point, by analyzing bits 5 and 6 of the error correction result ER, whether the error correction result is PI or PO (bit 6) and PI1 or PI2 can be easily measured.

또한, 섹터 데이터를 선도하는 메인 데이터(D0)는 에러 정정 결과(ER)(광디스크(104) 상의 어드레스)에 내응하는 물리적 어드레스가 용이하게 측정될 수 있게 하는 섹터 어드레스 정보(ID)를 포함한다.In addition, the main data D0 leading to the sector data includes sector address information ID that allows the physical address corresponding to the error correction result ER (the address on the optical disk 104) to be easily measured.

상기 배치에 따라, 디코드된 ECC 블록 데이터의 메인 데이터를 출력하기 직전에 섹터 정보(SI) 및 에러 정정 결과(ER)를 출력함으로써 메인 데이터의 섹터 단위의 에러 정정 결과(ER) 및 광디스크 (104) 상의 섹터 어드레스정보가 메인 데이터의 출력과 거의 동시에 얻어질 수 있다. 따라서, 섹터 어드레스 정보에 대응하는 ECC 에러 분석은 용이하게 수행될 수 있다.According to the arrangement, the sector correction (SI) and the error correction result (ER) are output immediately before outputting the main data of the decoded ECC block data, so that the error correction result (ER) and the optical disc 104 in the sector unit of the main data are output. The sector address information of the image can be obtained almost simultaneously with the output of the main data. Therefore, ECC error analysis corresponding to sector address information can be easily performed.

상기한 바와 같이, 본 발명에 따라, 데이터 디코딩 장치 및 그의 방법은 기록 매체 상에 기록된 코드된 데이터가 그로부터 판독되고 디코드될 때, 기록 매체 상에 기록된 코드된 데이터의 어드레스 데이터에 대응하는 디코드된 데이터의 디코딩 정보가 판독될 수 있는 방식으로 실현될 수 있다. 따라서, 기록 매체의 상태는 그 어드레스 데이터에 대응하는 디코딩 정보를 고려함으로써 용이하게 분석될 수 있다.As described above, according to the present invention, the data decoding apparatus and method thereof decode corresponding to the address data of the coded data recorded on the recording medium when the coded data recorded on the recording medium is read and decoded therefrom. It can be realized in such a way that the decoding information of the data can be read. Thus, the state of the recording medium can be easily analyzed by considering decoding information corresponding to the address data.

또한, 본 발명에 따라, 비디오 신호 및(또는) 오디오 신호를 재생하기 위한 데이터 재생 장치에서, 데이터 재생 장치는 코드된 데이터가 기록 매체로부터 판독되고 디코드될 때, 기록 매체 상에 기록된 코드된 데이터의 어드레스 데이터에 내응하는 더코드된 데이터의 디코딩 정보가 판독될 수 있는 방식으로 실현될 수 있다. 따라서, 기록 매체의 상태는 그 어드레스 데이터에 대응하는 디코딩 정보를 고려함으로써 용이하게 분석될 수 있다.Furthermore, in accordance with the present invention, in a data reproducing apparatus for reproducing a video signal and / or an audio signal, the data reproducing apparatus records the coded data recorded on the recording medium when the coded data is read from the recording medium and decoded. The decoding information of the decoded data corresponding to the address data of can be realized in a manner that can be read. Thus, the state of the recording medium can be easily analyzed by considering decoding information corresponding to the address data.

본 발명의 실시예 및 그의 변형을 명세서에 상세히 기재하였지만, 본 발명이 이들 정확한 실시예 및 변형으로 제한되지 않고, 다른 변형 및 변화가첨부된 특허 청구의 범위에 의해 한정된 바의 본 발명의 범위 및 정신으로부터 벗어나지 않고 당업계의 숙련자에 의해 영향을 받을 수 있음을 이해해야 한다.While embodiments of the present invention and variations thereof have been described in detail in the specification, the present invention is not limited to these exact embodiments and variations, and the scope of the invention as defined by the claims appended with other modifications and variations and It should be understood that it can be influenced by those skilled in the art without departing from the spirit.

Claims (24)

프레임 단위로 디코드된 데이터를 생성하도록 에러 정정 인코드된 데이터를 에러 정정 디코딩하고, 프레임 단위로 디코딩 정보를 발생하기 위한 에러 정정 디코딩 수단, 상기 에러 정정 인코드된 데이터, 상기 디코드된 데이터 및 상기 디코딩 정보를 저장하기 위한 메모리 수단 및 프레임 단위에 따라 상기 디코드된 데이터 및 상기 디코딩 정보를 저장하기 위해 상기 메모리 수단을 제어하고, 상기 기록 매체 상의 상기 에러 정정 인코드된 데이터의 물리적 위치를 나타내는 어드레스 데이터로 프레임 동기시키면서 상기 메모리 수단으로부터 상기 디코드된 데이터 및 상기 디코딩 정보를 검색하기 위한, 상기 에러 정정 디코딩 수단 및 상기 메모리 수단에 결합된, 메모리 제어 수단을 포함하는, 기록 매체로부터 재생된 에러 정정 인코드된 데이터를 에러 정정 디코딩하기 위한 데이터 디코딩 장치.Error correction decoding means for error correction decoding the data to generate decoded data on a frame basis, and generating decoding information on a frame basis, the error correction encoded data, the decoded data and the decoding Memory means for storing information and control the memory means for storing the decoded data and the decoding information according to a frame unit, and with address data indicating a physical location of the error correction encoded data on the recording medium. An error correction encoded reproduced from a recording medium comprising memory control means, coupled to said error correction decoding means and said memory means, for retrieving said decoded data and said decoding information from said memory means while frame synchronization. Data on Data decoding apparatus for decoding correction. 제 1항에 있어서, 상기 에러 정정 인코드된 데이터가 C1/C2 컨벌루션 리드 솔로몬 코드에 따라 인코드된 데이터 디코딩 장치.2. The apparatus of claim 1, wherein the error correction encoded data is encoded according to a C1 / C2 convolutional Reed Solomon code. 제 2항에 있어서, 상기 메모리 제어 수단이 상기 C1/C2 컨벌루션 리솔로몬 코드의 각각의 에러 정정 코드 시리즈에 대응하여 상기 메모리 수단 내의 상기 디코드된 데이터 및 상기 디코딩 정보를 저장하는 데이터 디코딩 장치.3. The data decoding apparatus according to claim 2, wherein said memory control means stores said decoded data and said decoding information in said memory means corresponding to each error correction code series of said C1 / C2 convolutional resolmon code. 제 1항에 있어서, 상기 기록 매체가 디스크 형상의 기억 매체이고, 그 위에 상기 에러 정정 인코드된 데이터가 섹터 내에 저장된 데이터 디코딩 장치.A data decoding apparatus according to claim 1, wherein said recording medium is a disk-shaped storage medium, and said error correction encoded data is stored in a sector thereon. 제 4항에 있어서, 상기 메모리 제어 수단이 상기 디스크 형상의 기억 매체 상에 저장된 상기 에러 정정 인코드된 데이터의 섹터 어드레스로 동기되면서 상기 메모리 수단으로부터 상기 디코드된 데이터 및 상기 디코딩 정보를 검색하는 데이터 디코딩 장치.5. The data decoding according to claim 4, wherein said memory control means retrieves said decoded data and said decoding information from said memory means while being synchronized with a sector address of said error correction encoded data stored on said disk shaped storage medium. Device. 제 1항에 있어서, 상기 에러 정정 인코드된 데이터가 열 인코드된 프레임을 생성하도록 상기 프레임의 열 방향으로 에러 정정 내부 코드에 따라 유저 데이터의 프레임을 인코딩하고, 상기 프레임의 행 방향으로 에러 정정 외부 코드에 따라 상기 열 인코드된 프레임을 인코딩함으로써 생성되는 데이터 디코딩 장치.The method of claim 1, wherein the error correction encoded data encodes a frame of user data according to an error correction inner code in a column direction of the frame to generate a column encoded frame, and corrects an error in a row direction of the frame. And a data decoding device generated by encoding the column encoded frame according to an outer code. 제 6항에 있어서, 상기 에러 정정 디코딩 수단이 열 단위로 블록에 의해 상기 에러 정정 인코드된 데이터를 디코드하고, 상기 에러 정정 디코딩 수단이 행 단위로 블록에 의해 상기 에러 정정 인코드된 데이터를 디코드하고, 상기 에러 정정 디코딩 수단이 다시 상기 열 단위로 상기 에러 정정 인코드된 데이터를 디코드하는, 데이터 디코딩 장치.7. The apparatus according to claim 6, wherein the error correction decoding means decodes the error correction encoded data by blocks in units of columns, and the error correction decoding means decodes the error correction encoded data by blocks in units of rows. And the error correction decoding means decodes the error correction encoded data in the column unit again. 제 7 항에 있어서, 상기 에러 정정 디코딩 수단이 에러 위치 및 에러패턴의 함수로서 상기 에러 정정 인코드된 데이터를 에러 정정하기 위한 에러 정정 수단을 포함하는 데이터 디코딩 장치.8. A data decoding apparatus according to claim 7, wherein said error correction decoding means includes error correction means for error correcting said error correction encoded data as a function of error location and error pattern. 프레임 단위로 디코드된 데이터를 생성하도록 에러 정정 인코드된 데이터를 에러 정정 디코딩하는 단계, 프레임 단위로 디코딩 정보를 발생하는 단계, 상기 에러 정정 인코드된 데이터, 상기 디코드된 데이터 및 상기 디코딩 정보를 저장하는 단계, 프레임 단위에 대응하여 상기 디코드된 데이터 및 상기 디코딩 정보를 메모리에 저장하는 단계 및 상기 기록 매체 상의 상기 에러 정정 인코드된 데이터의 물리적 위치를 나타내는 어드레스 데이터로 프레임 동기시키면서 상기 메모리로부터 상기 디코드된 데이터 및 상기 디코딩 정보를 검색하는 단계를 포함하는, 기록 매체로부터 재생된 에러 정정 인코드된 데이터를 에러 정정 디코딩하기 위한 데이터 디코딩 방법.Error correction decoding the error correction encoded data to generate decoded data on a frame basis, generating decoding information on a frame basis, storing the error correction encoded data, the decoded data, and the decoding information. Storing the decoded data and the decoding information in a memory corresponding to a frame unit, and decoding from the memory while frame synchronization with address data indicating a physical location of the error correction encoded data on the recording medium. Retrieving the corrected data and the decoding information, and error correcting decoding the error correction encoded data reproduced from the recording medium. 제 9항에 있어서, 상기 에러 정정 인코드된 데이터가 C1/C2 컨벌루션 리드 솔로몬 코드에 따라 인코드된 데이터 디코딩 방법.10. The method of claim 9, wherein the error correction encoded data is encoded according to a C1 / C2 convolutional Reed Solomon code. 제 10항에 있어서, 상기 C1/C2 컨벌루션 리드 솔로몬 코드의 각각의 에러 정정 코드 시리즈에 대응하는 상기 디코드된 데이터 및 상기 디코딩 정보를 저장하는 단계를 추가로 포함하는 데이터 디코딩 방법.11. The method of claim 10, further comprising storing the decoded data and the decoding information corresponding to each error correction code series of the C1 / C2 convolutional Reed Solomon code. 제 9항에 있어서, 상기 기록 매체가 디스크 형상의 기억 매체이고, 그위에 상기 에러 정정 인코드된 데이터가 섹터 내에 저장된 데이터 디코딩 방법.10. The data decoding method according to claim 9, wherein said recording medium is a disk-shaped storage medium, on which said error correction encoded data is stored in a sector. 제 12항에 있어서, 상기 디스크 형상의 기억 매체 상에 저장된 상기 에러 정정 인코드된 데이터의 섹터 어드레스로 동기되면서 상기 디코드된 데이터 및 상기 디코딩 정보를 검색하는 단계를 추가로 포함하는 데이터 디코딩방법.13. The data decoding method of claim 12, further comprising retrieving the decoded data and the decoding information while being synchronized with the sector address of the error correction encoded data stored on the disk shaped storage medium. 제 9항에 있어서, 상기 에러 정정 인코드된 데이터가 열 인코드된 프레임을 생성하도록 상기 프레임의 열 방향으로 에러 정정 내부 코드에 따라 유저 데이터의 프레임을 인코딩하고, 상기 프레임의 행 방향으로 에러 정정 외부 코드에 따라 상기 열 인코드된 프레임을 인코딩함으로써 생성되는 데이터 디코딩 방법.10. The method of claim 9, wherein the error correction encoded data encodes a frame of user data according to an error correction inner code in a column direction of the frame to generate a column encoded frame, and error correction in a row direction of the frame. And a data decoding method generated by encoding the column encoded frame according to an outer code. 제 14항에 있어서, 상기 에러 정정 디코딩 단계가, 열 단위로 블록에 의해 상기 에러 정정 인코드된 데이터를 디코딩하는 단계, 행 단위로 블록에 의해 상기 에러 정정 인코드된 데이터를 디코딩하는 단계, 다시 상기 열 단위로 상기 에러 정정 인코드된 데이터를 디코딩하는 단계를 포함하는 데이터 디코딩 방법.15. The method of claim 14, wherein the error correcting decoding comprises: decoding the error corrected encoded data by the block in columns, decoding the error corrected encoded data by the block in rows, again. Decoding the error correction encoded data in units of columns. 제 15항에 있어서, 상기 에러 정정 디코딩 단계가 에러 위치 및 에러패턴의 함수로서 상기 에러 정정 인코드된 데이터를 에러 정정하는 단계를 포함하는 데이터 디코딩 방법.16. The data decoding method of claim 15, wherein the error correction decoding step comprises error correcting the error correction encoded data as a function of error location and error pattern. 기록 매체로부터 에러 정정된 인코드된 데이터를 재생하기 위한 재생 수단, 프레임 단위로 디코드된 데이터를 생성하도록 에러 정정 인코드된 데이터를 에러 정정 디코딩하고, 프레임 단위로 디코딩 정보를 발생하기 위한 에러 정정 디코딩 수단, 상기 에러 정정 인코드된 데이터, 상기 디코드된 데이터 및 상기 디코딩 정보를 저장하기 위한 메모리 수단 및 프레임 단위에 따라 상기 디코드된 데이터 및 상기 디코딩 정보를 저장하기 위해 상기 메모리 수단을 제어하고, 상기 기록 매체 상의 상기 에러 정정 인코드된 데이터의 물리적 위치를 나타내는 어드레스 데이터로 프레임 동기시키면서 상기 메모리 수단으로부터 상기 디코드된 데이터 및 상기 디코딩 정보를 검색하기 위한, 상기 에러 정정 디코딩 수단 및 상기 메모리 수단에 결합된, 메모리 제어 수단을 포함하는, 기록 매체로부터 에러 정정 인코드된 데이터를 재생하기 위한 데이터 재생 장치.Reproducing means for reproducing the error corrected encoded data from the recording medium, error correction decoding the error correction encoded data to generate decoded data on a frame basis, and error correction decoding for generating decoding information on a frame basis Means for storing said decoded data and said decoding information in accordance with means, memory means for storing said error correction encoded data, said decoded data and said decoding information, and said recording means for storing said decoded data and said decoding information; Coupled to the error correction decoding means and the memory means for retrieving the decoded data and the decoding information from the memory means while frame synchronization with address data indicating a physical location of the error correction encoded data on a medium, Memory control Means for reproducing error correction encoded data from a recording medium. 제 17항에 있어서, 상기 에러 정정 인코드된 데이터가 C1/C2 컨벌루션 리드 솔로몬 코드에 따라 인코드된 데이터 재생 장치.18. The apparatus of claim 17, wherein the error correction encoded data is encoded according to a C1 / C2 convolutional Reed Solomon code. 제 18항에 있어서, 상기 메모리 제어 수단이 상기 C1/C2 컨벌루션 리드 솔로몬 코드의 각각의 에러 정정 코드 시리즈에 대응하여 상기 메모리 수단 내의 상기 디코드된 데이터 및 상기 디코딩 정보를 저장하는 데이터 재생장치.19. The data reproducing apparatus as set forth in claim 18, wherein said memory control means stores said decoded data and said decoding information in said memory means corresponding to each error correction code series of said C1 / C2 convolutional Reed Solomon code. 제 17항에 있어서, 상기 기록 매체가 디스크 형상의 기억 매체이고, 그 위에 상기 에러 정정 인코드된 데이터가 섹터에 저장된 데이터 재생 장치.18. The data reproducing apparatus according to claim 17, wherein said recording medium is a disk-shaped storage medium, and said error correction encoded data is stored in a sector thereon. 제 20항에 있어서, 상기 메모리 제어 수단이 상기 디스크 형상의 기억매체 상에 저장된 상기 에러 정정 인코드된 데이터의 섹터 어드레스로 동기되면서 상기 메모리 수단으로부터 상기 디코드된 데이터 및 상기 디코딩 정보를 검색하는 데이터 재생 장치.21. The data reproduction according to claim 20, wherein said memory control means retrieves said decoded data and said decoding information from said memory means while being synchronized with a sector address of said error correction encoded data stored on said disk shaped storage medium. Device. 제 17 항에 있어서, 생기 에러 정정 인코드된 데이터가 열 인코드된 프레임을 생성하도록 상기 프레임의 열 방향으로 에러 정정 내부 코드에 따라 유저 데이터의 프레임을 인코딩하고, 상기 프레임의 행 방향으로 에러 정정 외부 코드에 따라 상기 열 인코드된 프레임을 인코딩함으로써 생성되는 데이터 재생 장치.18. The method of claim 17, wherein the frame of user data is encoded according to an error correction inner code in the column direction of the frame such that the raw error correction encoded data generates a column encoded frame, and the error correction in the row direction of the frame. And a data reproduction device generated by encoding the column encoded frame according to an outer code. 제 22항에 있어서, 상기 에러 정정 디코딩 수단이 열 단위로 블록에 의해 상기 에러 정정 인코드된 데이터를 디코드하고, 상기 에러 정정 디코딩 수단이 행 단위로 블록에 의해 상기 에러 정정 인코드된 데이터를 디코드하고, 상기 에러 정정 디코딩 수단이 다시 상기 열 단위로 상기 에러 정정 인코드된 데이터를 디코드하는, 데이터 재생 장치.23. The apparatus of claim 22, wherein the error correction decoding means decodes the error correction encoded data by blocks in units of columns, and the error correction decoding means decodes the error correction encoded data by blocks in units of rows. And the error correction decoding means decodes the error correction encoded data in the column unit again. 제 23항에 있어서, 상기 에러 정정 디코딩 수단이 에러 위치 및 에러패턴의 함수로서 상기 에러 정정 인코드된 데이터를 에러 정정하기 위한 에러 정정 수단을 포함하는 데이터 재생 장치.A data reproducing apparatus as set forth in claim 23, wherein said error correction decoding means includes error correction means for error correcting the error correction encoded data as a function of error position and error pattern.
KR1019970001683A 1997-01-22 1997-01-22 Data decoding apparatus and method and data reproducing apparatus KR19980066264A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970001683A KR19980066264A (en) 1997-01-22 1997-01-22 Data decoding apparatus and method and data reproducing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970001683A KR19980066264A (en) 1997-01-22 1997-01-22 Data decoding apparatus and method and data reproducing apparatus

Publications (1)

Publication Number Publication Date
KR19980066264A true KR19980066264A (en) 1998-10-15

Family

ID=65953213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970001683A KR19980066264A (en) 1997-01-22 1997-01-22 Data decoding apparatus and method and data reproducing apparatus

Country Status (1)

Country Link
KR (1) KR19980066264A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05114251A (en) * 1991-10-23 1993-05-07 Matsushita Electric Ind Co Ltd Error correcting method
JPH06303151A (en) * 1993-04-15 1994-10-28 Sony Corp Error correction decoding device
JPH0786963A (en) * 1993-09-10 1995-03-31 Victor Co Of Japan Ltd Error correcting device
KR980011293A (en) * 1996-07-27 1998-04-30 구자홍 A decoding apparatus of a digital video disk system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05114251A (en) * 1991-10-23 1993-05-07 Matsushita Electric Ind Co Ltd Error correcting method
JPH06303151A (en) * 1993-04-15 1994-10-28 Sony Corp Error correction decoding device
JPH0786963A (en) * 1993-09-10 1995-03-31 Victor Co Of Japan Ltd Error correcting device
KR980011293A (en) * 1996-07-27 1998-04-30 구자홍 A decoding apparatus of a digital video disk system

Similar Documents

Publication Publication Date Title
US5793724A (en) Optical disk error-correcting code system correlating error correction with sector address
US5901159A (en) Apparatus and method for decoding a coded digital signal
KR100496211B1 (en) Data decoding device and method and data reproducing device
AU697039B2 (en) Data reproduction apparatus and data storage
JP3562544B2 (en) Decoding device and decoding method
US5966182A (en) Recording data production apparatus and method, recording medium reproducing apparatus and method, and recording medium
JPH10233701A (en) System decoder provided with memory for correcting error for high speed data processing/transmission and memory control method for error correction
US7277368B2 (en) Playback method, playback control circuit and playback apparatus for a recording medium
KR19980066264A (en) Data decoding apparatus and method and data reproducing apparatus
JP3672139B2 (en) Data decoding apparatus and method, and data reproducing apparatus
JP3700885B2 (en) Data decoding apparatus and method, and data reproducing apparatus
US6804182B2 (en) Optical disc reproducing apparatus and semiconductor integrated circuit and therefor
JPH11177581A (en) Data transmitter, data receiver and data recorder
WO2003105473A1 (en) Video tape recorder and recording method
JPH09265730A (en) Data reproducing device and method therefor
JPH09266564A (en) Device and method for data decoding, and data reproducing device
JPH10188471A (en) Data producing device and data reproducing method
KR100266370B1 (en) Data reproducing method
WO2003105472A1 (en) Video tape recorder and recording method
CA2385422C (en) Data reproduction apparatus and data storage medium
AU708660B2 (en) Data reproducing device and data recording medium
JPH07320420A (en) Digital signal reproducing device

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee