KR100397095B1 - 에러 검출 장치 및 그 방법 - Google Patents

에러 검출 장치 및 그 방법 Download PDF

Info

Publication number
KR100397095B1
KR100397095B1 KR10-2000-0001683A KR20000001683A KR100397095B1 KR 100397095 B1 KR100397095 B1 KR 100397095B1 KR 20000001683 A KR20000001683 A KR 20000001683A KR 100397095 B1 KR100397095 B1 KR 100397095B1
Authority
KR
South Korea
Prior art keywords
edc
error
block
syndrome
value
Prior art date
Application number
KR10-2000-0001683A
Other languages
English (en)
Other versions
KR20000062472A (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20000062472A publication Critical patent/KR20000062472A/ko
Application granted granted Critical
Publication of KR100397095B1 publication Critical patent/KR100397095B1/ko

Links

Classifications

    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02FDREDGING; SOIL-SHIFTING
    • E02F3/00Dredgers; Soil-shifting machines
    • E02F3/04Dredgers; Soil-shifting machines mechanically-driven
    • E02F3/28Dredgers; Soil-shifting machines mechanically-driven with digging tools mounted on a dipper- or bucket-arm, i.e. there is either one arm or a pair of arms, e.g. dippers, buckets
    • E02F3/36Component parts
    • E02F3/40Dippers; Buckets ; Grab devices, e.g. manufacturing processes for buckets, form, geometry or material of buckets
    • E02F3/402Dippers; Buckets ; Grab devices, e.g. manufacturing processes for buckets, form, geometry or material of buckets with means for facilitating the loading thereof, e.g. conveyors
    • E02F3/404Dippers; Buckets ; Grab devices, e.g. manufacturing processes for buckets, form, geometry or material of buckets with means for facilitating the loading thereof, e.g. conveyors comprising two parts movable relative to each other, e.g. for gripping

Abstract

에러 정정 부호(ECC) 블럭에 발생한 오정정을 검출하는 시스템 및 방법이 개시된다. ECC 블럭은 적어도 하나의 에러 검출 부호(EDC) 블럭을 포함하며, 이 EDC 블럭은 복수의 데이터 행을 포함하며, 각 데이터 행은 ECC를 갖는다. 각 행의 데이터 계열 내의 ECC를 이용함으로써 데이터 에러값이 산출된다. EDC 블럭 내의 데이터 에러값에 따라 EDC 신드롬이 산출된다. 그 후 전체 EDC 블럭 각각에 대해 EDC 블럭 신드롬이 산출된다. 그 후, EDC 블럭 신드롬은, 에러값으로부터 산출된 EDC 신드롬과 비교된다. 이 두 개의 EDC 신드롬이 다를 경우, 오정정이 발생된 것으로 판정된다.

Description

에러 검출 장치 및 그 방법{ERROR-DETECTING DEVICE AND METHOD THEREOF}
본 발명은 DVD 등의 기록 매체로부터 데이터를 재생하기 위해 이용되는 에러검출 장치 및 그 방법에 관한 것이다.
예를 들면, DVD 에서는, 데이터는, 에러 정정 부호(ECC)를 부가하여 기록되고, DVD로부터 판독된 데이터는, ECC 블럭을 이용한 단위로 에러 정정 처리된다.
예를 들면, 특개평7-230388호 공보, 특개평5-315974호 공보 및 특개평7-50595호 공보는, 기록 매체 등으로부터 얻어진 데이터에 대해, 에러 정정을 행하는 장치·방법을 개시한다.
예를 들면, DVD로부터 데이터를 판독하는 경우, 버스트 에러에 대해 규격화되어 있는 에러 정정 능력을 실현하기 위해서는, 데이터에 부가된 에러 정정 부호를, 시스템의 능력의 한계까지 이용하여 에러 정정 처리를 행해야한다.
에러 정정 부호를 시스템의 능력의 한계까지 이용하여 에러 정정 처리(error-correction process)를 행하면, 오정정(miscorrection)의 발생 확률이 높아지므로, 오정정의 발생을 검출할 필요가 있다.
이 오정정의 검출을 위해서는, EDC라고 하는 방법이 이용된다.
이 EDC의 처리는, 종래 에러 정정 처리가 완료된 후에, ECC 블럭을 버퍼로부터 판독하여, 스크램블의 해제, EDC의 값의 계산, 판독된 EDC와 계산된 EDC와의 값의 비교, 및 오정정의 판정이라는 순서로 행해지고 있었다. 이 순서로 EDC 처리를 행하면, ECC 블럭을 버퍼로부터 판독해야하는 등, 처리의 부담(overhead;오버헤드)가 커서, 처리 시간이 길어진다.
본 발명은 상술한 종래 기술의 문제점을 감안하여 이루어진 것으로, 처리에서의 오버헤드가 적고, 짧은 처리 시간에 오정정을 검출하여, 에러 정정을 행할 수 있는 에러 검출 장치 및 그 방법을 제공하는 것을 목적으로 한다.
[에러 검출 장치]
상기 목적을 달성하기 위해, 본 발명에 따른 에러 검출 장치는, 에러 정정의 대상이 되는 ECC 블럭에 생긴 에러를 검출하는 에러 검출 장치로서, 상기 ECC 블럭은, 각각 에러 검출 부호(EDC)가 부가된 하나 이상의 EDC 블럭에 대해, 에러 정정 부호(ECC)가 부가됨에 따라 생성되고, 상기 ECC 블럭에 포함되며, 각각 상기 ECC를 포함하는 데이터 계열 각각에 대해, 데이터 계열 각각에 포함되는 상기 ECC를 이용하여 에러값을 산출하는 에러값 산출 수단과, 상기 데이터 계열의 에러값이 산출될 때마다, 산출된 에러값에 따라 상기 EDC의 신드롬의 값을 수정하는 EDC 신드롬 수정 수단과, 수정된 상기 EDC의 신드롬에 기초하여, 상기 EDC 블럭에서의 오발생을 검출하는 에러 검출 수단을 갖는다.
바람직하게는, 상기 EDC 블럭은, 하나 이상의 행과 하나 이상의 열로 구성되고, 상기 에러 정정 부호는, 상기 EDC 블럭의 행 또는 열 각각에 대해 부가되고, 상기 데이터 계열은, 각각 상기 EDC 블럭의 1행 또는 1열, 및 이 EDC 블럭의 1행 또는 1열에 대해 부가된 ECC를 포함하고, 상기 에러값 산출 수단은, 상기 데이터 계열을 하나씩 처리하여 에러값을 산출하고, 상기 EDC 신드롬 수정 수단은, 소정의 EDC 신드롬의 초기값을, 상기 에러값이 산출될 때마다, 차례로, 수정하고, 상기 에러 검출 수단은, 하나의 상기 EDC 블럭에 대응하는 데이터 계열에 대한 에러값의산출이 끝날 때마다, 상기 수정된 EDC 신드롬에 기초하여, 상기 EDC 블럭에서의 에러의 발생을 검출한다.
바람직하게는, 상기 EDC 신드롬 수정 수단은, 상기 데이터 계열 각각의 일정한 위치에 일정한 에러가 생기는 경우의 EDC 신드롬을 상기 초기값으로 하고, 산출된 상기 에러값에 따라, 상기 초기값을 차례로, 수정한다.
바람직하게는, 상기 EDC 블럭 각각의 EDC를 산출하는 EDC 산출 수단을 가지고, 상기 에러 검출 수단은, 하나의 상기 EDC 블럭에 대응하는 데이터 계열에 대한 에러값의 산출이 종료할 때마다, 상기 산출된 EDC와, 수정된 상기 EDC 신드롬을 비교하여, 상기 EDC 블럭에서의 에러의 발생을 검출한다.
[에러 정정 장치의 작용]
본 발명에 따른 에러 정정 장치는, 예를 들면 DVD에 기록되는 데이터 블럭과 같이, 우선 에러 검출에 이용되는 EDC가 부가된 복수의 EDC 블럭에 대해, 또한 2종류의 패리티 PI, PO (승산 부호; ECC)를 부가한 ECC 블럭에 대한 에러 검출에 이용된다.
이하, EDC가, EDC 블럭의 소정의 위치에, 패리티 PI와 동일한 행방향으로 부가되는 경우를 예로서 설명한다.
[에러값 산출 수단]
에러값 산출 수단은, ECC 블럭으로부터, EDC 1행분과, 이 행에 부가된 패리티 PI를 포함하는 데이터 계열을 차례로 추출하고, 추출한 데이터 계열 각각에 대해, 패리티 PI를 이용하여, EDC 블럭 1행분에 대해 에러 검출 처리 및 에러 크기(에러값)의 산출 처리를 행한다.
[EDC 신드롬 수정 수단]
EDC 신드롬 수정 수단은, 우선 EDC 블럭의 각 행의 일정한 위치에 일정한 크기의 에러가 생기는 경우의 EDC 신드롬을 초기값으로 설정한다.
또한, EDC 신드롬 수정 수단은, 에러값 산출 수단이, 데이터 계열 각각의 에러값을 계산할 때마다, 에러값에 따라, 상기 초기값을 차례로 수정한다.
[EDC 산출 수단]
EDC 산출 수단은, EDC 블럭 전체의 EDC 신드롬을 산출한다.
[에러 검출 수단]
에러 검출 수단은, 에러값 검출 수단이, EDC 블럭에 포함되는 모든 행에 대해, 에러의 검출 처리 및 에러 크기의 산출 처리를 종료하면, EDC 산출 수단이 산출한 EDC 신드롬과, EDC 신드롬 수정 수단이 수정한 EDC 신드롬을 비교하고, 일치하지 않는 경우에 에러를 검출한다.
이 에러의 검출은, 에러 정정 처리에 이용된다.
[데이터 에러 검출 방법]
에러 정정의 대상이 되는 ECC 블럭에 생긴 에러를 검출하는 에러 검출 방법으로서, 상기 ECC 블럭은, 각각 에러 검출 부호(EDC)가 부가된 하나 이상의 EDC 블럭에 대해, 에러 정정 부호(ECC)가 부가됨에 따라 생성되고, 상기 ECC 블럭에 포함되고, 각각 상기 ECC를 포함하는 데이터 계열 각각에 대해, 데이터 계열 각각에 포함되는 상기 ECC를 이용하여 에러값을 산출하고, 상기 데이터 계열의 에러값이 산출될 때마다, 산출된 에러값에 따라 상기 EDC의 신드롬의 값을 수정하고, 수정된 상기 EDC의 신드롬에 기초하여, 상기 EDC 블럭에서의 오발생을 검출한다.
도 1은 DVD에 기록되는 데이터를 생성하는 처리(S10)를 나타낸 도면.
도 2는 도 1에 도시된 데이터 유닛(1)(EDC 블럭)을 나타낸 도면.
도 3은 도 1에 도시된 ECC 블럭을 나타낸 도면.
도 4는 체인 서치법(chain search method)을 나타낸 도면.
도 5는 본 발명에 따른 에러 정정 장치의 구성을 도시한 도면.
도 6은 도 5에 도시된 EDC 표준 수정 차분 계산부의 구성을 나타낸 도면.
도 7은 도 5에 도시된 제1 EDC 수정 차분 계산부(14a)의 구성을 나타낸 도면.
도 8은 도 5에 도시한 제1 EDC 수정 차분 계산부(14a)에 의한 EDC 수정 차분 산출의 연산 방향을 나타내는 도면.
도 9는 도 5에 도시된 제2 EDC 수정 차분 계산부(14b)의 구성을 나타낸 도면.
도 10은 도 5에 도시된 신드롬 수정 차분 계산부의 구성을 도시한 도면.
도 11은 에러 정정 장치의 PI 방향의 처리를 나타낸 도면.
도 12는 도 11에 도시된 에러 정정 장치의 스텝 3(Step 3)에서의 처리를 나타낸 도면.
도 13은 도 11에 도시된 에러 정정 장치의 스텝 5(Step 5)에서의 처리를 나타낸 도면.
도 14는 도 11에 도시된 에러 정정 장치의 스텝 6(Step 6)에서의 처리를 나타내는 도면.
도 15는 도 11에 도시된 에러 정정 장치의 스텝 7, 8 (Step 7, 8)에서의 처리를 도시하는 제1 도면.
도 16은 도 11에 도시된 에러 정정 장치의 스텝 7, 8 (Step 7, 8)에서의 처리를 도시하는 제2 도면.
도 17은 도 11에 도시된 에러 정정 장치의 스텝 7, 8 (Step 7, 8)에서의 처리를 나타내는 제3 도면.
도 18은 도 11에 도시된 에러 정정 장치의 스텝 9(Step 9)에서의 처리를 나타내는 도면.
도 19는 도 11에 도시된 에러 정정 장치의 스텝 11(Step 11)에서의 처리를 나타내는 도면.
도 20은 에러 정정 장치(도 5)의 PO 방향의 처리를 나타내는 도면.
도 21은 도 20에 도시된 에러 정정 장치(도 5)의 EDC 표준 수정 차분 계산부(도 6)의 스텝 100(Step 100)에서의 처리를 나타내는 도면.
도 22는 도 20에 도시된 에러 정정 장치의 스텝 101(Step 101)에서의 처리를 나타내는 도면.
도 23은 도 20에 도시된 에러 정정 장치의 스텝 103(Step 103)에서의 처리를나타내는 도면.
도 24는 도 20에 도시된 에러 정정 장치의 스텝 104(Step 104)에서의 처리를 나타내는 도면.
도 25는 도 20에 도시한 에러 정정 장치의 스텝 107 (Step 107)에서의 처리를 나타내는 도면.
도 26은 도 20에 도시한 에러 정정 장치의 제1 EDC 수정 차분 계산부(14a(도 7))의 스텝 107(Step 107)에서의 처리를 나타내는 도면.
도 27은 도 20에 도시된 에러 정정 장치의 제1 EDC 수정 차분 계산부(14a(도 7))의 스텝 108(Step 108)에서의 처리를 나타낸 도면.
도 28은 도 20에 도시된 에러 정정 장치의 스텝 110(Step 110)에서의 처리를 나타내는 도면.
도 29는 도 20에 도시된 에러 정정 장치의 EDC 표준 수정 차분 계산부(도 6)의 스텝 111(Step 111)에서의 처리를 나타내는 도면.
도 30은 도 20에 도시된 에러 정정 장치의 스텝 112(Step 112)에서의 처리를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 에러 정정 장치
10 : 에러 정정 블럭
100 : 기억 장치
102 : 판독/기록 제어부
104 : 신드롬/EDC 계산부
106 : 에러 위치 다항식/에러 평가 다항식 도출부
108 : 에러 소실 위치 제어부
100 : 위치 카운터
112 : 체인 서치부
114 : 에러 크기 계산부
116 : 정정 제어부
12 : 오정정 검출 블럭
120 : 비교 회로
122 : 오정정 검출 회로
124 : 비교 회로
126, 128 : 셀렉터
14a, 14b : EDC 수정 차분 계산부
16 : EDC 표준 수정 차분 계산부
18 : 신드롬 수정 차분 계산
20 : 제어부
이하, 본 발명의 실시예를 설명한다.
우선, 본 발명에 따른 에러 정정 장치(1)의 이해를 쉽게 하기 위해, ECC 블럭, 부호화, 에러가 존재하는지의 여부(에러의 존재성)의 판단, 에러 위치, 에러 위치 방정식 및 체인 서치등의 사항에 대해 설명한다.
[ECC 블럭]
도 1은 DVD에 기록되는 데이터를 생성하는 처리(S 10)를 나타낸 도면이다.
도 2는 도 1에 도시된 데이터 유닛(1)(EDC 블럭)을 도시한 도면이다.
도 3은 도 1에 도시된 ECC 블럭을 도시한 도면이다.
도 1에 도시된 바와 같이, 호스트 시스템으로부터 2048바이트의 메인 데이터가 입력되고, DVD 컨트롤러로부터, 각각 4바이트, 2바이트 및 6바이트의 ID/IED (패리티)/REV(리저브 에어리어)가 입력되면, 스텝 200(S200)의 처리에서, 메인 데이터의 ID 에어리어에, ID/IED/REV가 부가된다.
또한, 스텝 202(S202)에서, EDC가 부가되고, 또한 도 2에 도시된 바와 같이 172바이트×12행(12행×172열) 구성의 데이터 유닛(1)이 된다.
이 행 및 열은 설명의 편의를 도모하기 위한 구별로서, 본 발명에 대해 본질적인 의미를 갖지 않지만, 설명의 명확화를 위해, 이하 행 및 열을 도 2 및 도 3에 도시된 바와 같이 구별한다.
이하, 도 2에 도시된 데이터 유닛(1)을 EDC 블럭이라고 한다.
도 2에 도시된 바와 같이, EDC 블럭은, 각각 172바이트의 행을 12개 포함하고, 제1행에는 4바이트의 EDC를 포함하고, 제1행∼제12행에 2048바이트(#0∼#2047)의 메인 데이터를 포함하고, 제12행에는 데이터 ID/IED/RSV를 포함한다.
스텝 204(S204)에서, EDC 블럭은, 유사 난수 계열과 배타적 논리합을 취하는 스크램블 처리가 이루어진다.
스텝 206(S206)에서, 스크램블 처리된 EDC 블럭이 16개 모여있고, 이들 16개의 데이터 유닛(1)의 열 방향, 즉 12열×16바이트=192바이트 각각에, 16바이트의 P0 패리티(외부호)가 부가된다.
또한, 지금까지의 처리에 따라 얻어진 172바이트×(192+16)행 구성의 데이터 블럭(16개의 EDC 블럭 및 P0 패리티)에, 이 데이터 블럭의 행방향으로 10바이트의 PI 패리티(내부호)가 부가된다.
이와 같이, EDC 블럭에 부가되는 P0, PI 패리티는, 승산 부호라고도 한다.
이상과 같이 182바이트×13행으로 확장된 EDC 블럭은 섹터라고도 하고, 16섹터가, 도 3에 도시된 (172+10)바이트×(192+16)행 구성의 ECC 블럭을 구성하고, 이 ECC 블럭이, DVD에 대한 기록·재생의 최소 단위가 된다.
[부호화 처리]
EDC 블럭에 대해 패리티 PO, PI를 부가하는 부호화 처리를 더 설명한다.
DVD에서는, 갈로아체 GF(28) 상에서 정의되는 리드 솔로몬 부호가 에러 정정부호로서 이용된다.
이 리드 솔로몬 부호에서는, 데이터 계열을, 8비트(1바이트)씩 심볼로 구획지어, 이 심볼에 대해 소정의 계산 수속을 행함에 따라 패리티를 생성하고, 이 패리티를 데이터 계열에 부가한다. 패리티가 부가된 데이터 계열은, 부호어라고 한다.
이 계산 수속은, 다항식의 제산으로서 실현되고, 예를 들면 8비트 데이터 "00000010"을 원시근 α로 하면, PI, PO 각각에 이용되는 10차·16차의 제다항식은, 하기의 수학식 1-1, 1-2로 나타내어지고, 부호의 생성 다항식이라고도 한다.
데이터 계열에 대해 X10을 승산하고, 하기의 수학식 1-1에 도시된 생성 다항식으로 제산하여 얻어지는 나머지가 패리티 PI가 되고, 데이터 계열에 대해 X16을 승산하고, 하기의 수학식 1-2에 나타낸 생성 다항식으로 제산하여 얻어지는 나머지가 패리티 PO가 된다.
[에러의 검출]
여기까지 설명한 부호화 처리로부터 분명히 알 수 있듯이, 부호어(ECC 블럭)에서는, 제산의 나머지가 패리티로서 ECC 블럭에 부가되고 있다.
갈로아체 GF(256) 상에서는, 가산과 감산(XOR)은 동일하므로, 제산의 나머지의 부가는, 나머지를 데이터 계열로부터 감산한 것과 동일하고, 부호어를 제다항식(수학식 1-1, 1-2)에서 제산하면 완전히 나누어지고, 나머지는 없다.
따라서, 부호어가 제다항식으로 완전히 나누어지지 않는 경우에는, 부호어에 노이즈 등에 기인하는 에러가 생긴다고 판정할 수 있고, 부호어가 제다항식으로 완전히 나누어지는지의 여부가, 부호어에서의 에러의 존재성을 검증하기 위한 충분한 조건이 된다.
[신드롬]
실제로는, 에러의 존재성의 검증(에러 검출)뿐만 아니라, 후술하는 에러의 정정에서 필요하게 되는 계산치를 얻기 위해, 생성 다항식으로 완전히 나누어지는 것을 검사하는 것과 동등한, 신드롬이라고 하는 계산치가 계산된다.
신드롬은, 생성 다항식의 근을 부호어 F에 대입하여 얻어지는 값으로서, 부호어 F가 PI의 생성 다항식으로 완전히 나누어진다는 것(F (α°)= F (α1)=····= F(α9)= 0)는, 부호어 F에 에러가 없는 것과 등가이다.
또한, 부호어 F가 PO의 생성 다항식으로 완전히 나누어진다는 것(F(α0)=F(α1)=····=F(α15)=0)은, 부호어 F에 에러가 없는 것과 등가이다.
[에러의 위치]
여기서, 에러의 위치는, 도 3에 도시된 ECC 블럭에서, 패리티 PI의 최후의 심볼을 0으로 하고, 패리티 PI로부터 떨어진 위치의 심볼(바이트)일수록 값이 커지도록 카운트되는 값이고, 에러가 생기고 있는 심볼의 위치를 나타낸다.
또, 에러의 크기는, 심볼이 틀린 경우에, 잘못된 심볼의 값과 옳은 심볼의 값을 배타적 논리합 연산(XOR, 차분이라고도 함)한 결과에 따라 나타내어지고, 예를 들면 위치 n에 에러가 생기고(에러의 위치=n), 위치 n의 잘못된 심볼의 값이 "01011010"이고, 옳은 심볼의 값이 "10100101" 경우에는, 에러의 크기는 "11111111"이다.
[에러 위치 방정식 및 그 정의역]
상술한 신드롬을 이용하면, 소정의 계산 수속에 따라, 에러 위치의 정보를 포함한 방정식을 도출할 수 있다. 이 다항식은, 에러 위치 다항식(Error Locator Polynomial)이라고 하고, 하기의 수학식 2와 같이 정의된다.
단, m1∼mk는 에러의 위치, α는 원시근이다.
단, 실제로는, 수학식 2의 상반의 하기의 수학식 3-1에 나타낸 방정식이 이용되는 경우가 많고, 수학식 3-1로부터 얻어지는 하기의 수학식 3-2가 에러 위치 방정식으로서 이용된다.
에러 위치 방정식을 풀 수 있는 경우에는, 그 근 αm1, αm2, …αmk를 얻을 수 있고, 이들 근의 대수치를 구함에 따라 에러의 위치 m1∼mk를 구할 수 있다.
에러 위치 방정식의 근은 8비트의 심볼로서 얻을 수 있고, 그 대수치는 0∼254의 범위 내의 값이 된다.
한편, 패리티 PI, PO는 각각 0∼181(182-1), 0∼207(208-1)의 범위 내가 되므로, 패리티 PI, PO의 에러 방정식의 정의역은, 각각 α0∼α181, α0∼α207이 된다.
[체인 서치법]
도 4는, 체인 (회로) 서치법을 나타낸 도면이다.
많은 에러를 포함하는 부호어의 정정에는, 체인 서치라고 하는 방법을 이용하는 것이 일반적이다.
체인 서치법은, 에러 위치 방정식의 정의역의 요소를 방정식에 축차 대입하고, 대입의 결과로서 얻어진 값이 0이 되는지의 여부를 조사함에 따라, 에러 위치 방정식을 풀어 간다.
[본 발명에서의 체인 서치의 방향]
에러 위치 방정식에 대입하는 값은, 수치(1)(원시근 α의 0승)을 초기값으로 하여, 대입치에 원시근α를 차례로, 승산함으로써 구할 수 있으므로, 도 4에 도시된 바와 같이 종래 방법에 따른 체인 서치는, 패리티의 말미로부터 데이터의 선두 방향을 향해 행해지는 것이 보통이다.
이에 대해, 본 발명에 따른 에러 정정 장치(1)에서는, 체인 서치는, 도 4에 도시된 바와 같이, 데이터의 선두로부터 패리티의 말미를 향해 행해지고, 또한 에러의 다항식에 대입하는 값이, 초기값을 α181또는 α207로 하고, 원시근α를 차례로, 제산함으로써 구할 수 있는 것이 특징으로 되어 있다.
[신드롬과 수정 차분]
예를 들면, 하기의 수학식 4에 나타낸 바와 같이, 부호어 cn, cn-1, ···, co에, 3개의 에러 em1∼em3이 더해지고, 수신어 dn, dn-1, ···, do가 수신된 경우를 생각한다.
여기서, D(X) = dnxn+ dn-1xn-1+···+ do, C(x)=Cnxn+ Cn-1xn-1+···+ co로 하면, 신드롬 So∼Sk는, 하기의 수학식 5와 같다.
여기서, 부호어의 정의로부터, 수학식 5에서, Σci∼Σciαk의 값은 0이 되므로, 신드롬 So∼Sk의 값은, 하기의 수학식 6에 나타낸 바와 같다.
복합 처리의 과정에서, 에러의 위치 및 에러의 크기가 1세트씩 발견될 때마다, 그 에러의 위치에만, 값이 에러의 크기의 심볼을 포함하고, 나머지의 심볼이 0인 데이터 계열(0, 0, . . . , em, ···0)에 대한 신드롬을 수정 차분이라고 정의하면, 각 수정 차분 S0', S1', ···, Sk'는, 하기의 수학식 7-1∼7-k와 같아지고, 신드롬은 전체 수정 차분의 합과 일치한다(Si=ΣSi mj, 단, 이 Σ는 j에 관한 총합을 나타냄).
[EDC와 수정 차분]
상술한 신드롬에 대한 수정 차분과 마찬가지로, EDC에 대한 수정 차분을 정의할 수 있다.
단, 패리티 PO를 이용한 에러의 처리시에는, 체인 서치에서의 평가 대상의 위치가, EDC를 정의하는 부호 계열 상에서 이산적으로 되므로, EDC의 수정 차분을 구하는 것은 어렵다.
[본 발명에서의 EDC에 대한 수정 차분(표준 수정 차분)]
이에 대해, 본 발명에서의 EDC에 대한 수정 차분(이하, EDC 수정 차분이라고도 기록함)의 산출은, 평가의 대상으로 되고 있는 EDC의 정의역에서의 크기00000001 (01h)로서, 다른 EDC의 정의역에서의 에러의 크기가 0이 되는 에러에 대한 EDC의 값(표준 수정 차분)을 도출하고, 그 값을 에러의 크기만큼 승산함으로써, 수정 차분을 산출한다.
여기서, 섹터 N의 행0∼11(도 2 참조) 중, 행1에만 에러의 크기 e의 에러가 생기는 경우를 구체예로 하여, 본 발명에서의 EDC 수정 차분 산출 방법을 설명한다.
본 발명에 따른 EDC 수정 차분 산출에서는, 평가 대상이 행0인 경우에는, 행0에는 에러가 생기지 않으므로, 섹터 N과 섹터 N-1과의 경계에서, 섹터 N-1의 EDC 수정 차분을 세이브하고, 섹터 N의 수정 차분을 로드한다.
평가 대상이 행1로 이동하면, 행1에는 에러가 생기므로, EDC의 표준 수정 차분# 1과, 에러의 크기 e로부터 수정 차분을 산출하고, 얻어진 값을 수정 차분 계산용 워크레지스터(이 레지스터는, 이하의 설명과 반드시 대응하지는 않음)에 가산한다.
평가 대상이 행2∼10 사이에는, 에러가 발생하지 않으므로 수정 차분 계산용의 워크레지스터에 대한 가산 처리는 행해지지 않는다.
평가 대상이 행11인 경우에는, 섹터 N과 섹터 N+1과의 경계이므로, 수정 차분 계산용 워크레지스터 내의 수치를, 섹터 N의 수정 차분 레지스터(이 레지스터는 이하의 설명과 반드시 대응하지는 않음)에 스토어한다.
[에러 정정 장치(1)]
도 5는, 본 발명에 따른 에러 정정 장치(1)의 구성을 나타낸 도면이다.
이하, 도 5를 참조하여, 본 발명에 따른 에러 정정 장치(1)를 설명한다.
에러 정정 장치(1)는, 도 5에 도시된 바와 같이, 에러 정정 블럭(10), 오정정 검출 블럭(12) 및 제어부(20)로 구성된다.
에러 정정 블럭(10)은, 기억 장치(100), 판독/기록 제어부(102), 신드롬/EDC 계산부(104), 에러 위치 다항식/에러 평가 다항식 도출부(106), 에러 소실 위치 제어부(108), 위치 카운터(110), 체인 서치부(112), 에러 크기 계산부(114) 및 정정 제어부(116)로 구성된다.
오정정 검출 블럭(12)은, EDC 수정 차분 계산부(14a, 14b), EDC 표준 수정 차분 계산부(16), 신드롬 수정 차분 계산부(18), 비교 회로(120, 124), 오정정 검출부(122) 및 셀렉터(126, 128)로 구성된다.
에러 정정 장치(1)는, 이들 구성 부분에 의해, 예를 들면 DVD 플레이어(도시하지 않음)가 DVD로부터 판독하고, 차례로, 에러 정정 장치(1)에 대해 공급하는 ECC 블럭(도 3)에 대해 에러의 정정 처리를 행한다.
[제어부(20)]
제어부(20)는, 에러 정정 장치(1)의 각 구성 부분의 연산 처리 동작을 제어한다.
[에러 정정 블럭(10)]
이하, 에러 정정 블럭(10)의 각 구성 부분을 설명한다.
[기억 장치(100), 판독/기록 제어부(102)]
에러 정정 블럭(10)에서, 기억 장치(100)는, 판독/기록 제어부(102)의 제어에 따라 동작하고, 차례로 공급되는 ECC 블럭(도 3)을 기억하고, 기억한 ECC 블럭 각각을 행단위로 제0행으로부터 제207행의 순서로, 또는 열단위로 제181열로부터 제0열의 순으로 판독하고, 판독 데이터로서 판독/기록 제어부(102)로 공급한다.
또한, 기억 장치(100)는, 판독/기록 제어부(102)로부터 공급되는 정정 데이터에 따라, ECC 블럭에 생긴 에러를 정정하고, 정정한 데이터를 다른 정보 처리 장치 및 기록 장치(모두 도시하지 않음)로 공급한다.
판독/기록 제어부(102)는, 기억 장치(100)의 동작을 제어함과 함께, 기억 장치(100)로부터 입력된 판독 데이터를 신드롬/EDC 계산부(104)에 출력하고, 또한 정정 제어부(116)로부터 입력되는 정정 데이터를 기억 장치(100)에 출력하고, 에러가 생긴 데이터를 정정시킨다.
[신드롬/EDC 계산부(104)]
신드롬/EDC 계산부(104)는, 기억 장치(100)로부터 판독 데이터가 행단위로 12행분, 입력될 때마다, 판독/기록 제어부(102)로부터 입력되는 판독 데이터로부터 신드롬 및 EDC를 산출한다.
신드롬/EDC 계산부(104)는, 산출한 신드롬을 에러 정정 블럭(10)의 에러 위치 다항식/에러 평가 다항식 도출부(106) 및 오정정 검출 블럭(12)의 비교 회로(124)에 출력하고, 또한 산출한 EDC를 오정정 검출 블럭(12)의 비교 회로(120)에 출력한다.
[에러 위치 다항식/에러 평가 다항식 도출부(106)]
에러 위치 다항식/에러 평가 다항식 도출부(106)는, 신드롬/EDC 계산부(104)로부터 입력된 신드롬으로부터, 하기의 수학식 8-1, 8-2에 나타내는 에러 위치 다항식 및 에러 평가 다항식을 도출하고, 또한 정정 불능 데이터를 생성한다.
또, 에러 위치 다항식/에러 평가 다항식 도출부(106)는, 도출한 에러 위치 방정식을 체인 서치부(112)에 출력하고, 정정 불능 데이터를 에러 소실 위치 제어부(108)에 출력하고, 에러 위치 방정식 및 에러의 평가 방정식을, 에러 크기 계산부(114)에 출력한다.
또, 소실 위치 데이터는, 에러가 발생하는 것은 알 수 있지만, 에러의 크기가 불명의 심볼(소실)의 위치를 나타내고, 패리티 PI 또는 패리티 PO를 처리했을 때, 어느 행 또는 열에서 에러를 계산할 수 없었을 때에, 그 행 번호 또는 열 번호가 패리티 PO 또는 패리티 PI 에 대한 소실 위치가 된다.
또한, 정정 불능 데이터는, 어느 행 또는 열에서, 에러 위치 다항식 및 에러 평가 다항식을 구할 수 없었던 것을 나타낸다.
또한, 에러 위치 다항식/에러 평가 다항식 도출부(106)는, 2개의 다항식을 구하는 계산이 종료했던 것을 나타내는 스타트 신호를 위치 카운터(110)에 출력한다.
[에러 소실 위치 제어부(108)]
에러 소실 위치 제어부(108)는, 에러 위치 다항식/에러 평가 다항식 도출부(106)로부터 입력되는 정정 불능 데이터로부터 소실 위치 데이터를 생성하여, 에러 위치 다항식/에러 평가 다항식 도출부(106)에 출력한다.
[위치 카운터(110)]
위치 카운터(110)는 에러 위치 다항식/에러 평가 다항식 도출부(106)로부터 입력되는 스타트 신호에 따라, 체인 서치에서 σ(αi)를 차례로 계산하는데 필요한 클록을 생성하고, 그 생성 횟수를 i로서 유지한다(i는 PI일 때, 181∼0의 값을 취하고, PO인 경우, 207∼0의 값을 취함).
위치 카운터는 유지한 i를 오정정 검출 블럭(12)의 EDC 표준 수정 차분 계산부(16)와, 에러 정정 블럭(10)의 체인 서치부(112)와, 오정정 검출 블럭(12)의 셀렉터(126)와, 에러 정정 블럭(10)의 정정 제어부(116)에 출력한다. 또한 P0인 경우, 열의 최후까지 처리가 끝났을 때에 EDC 표준 수정 차분의 갱신을 요구하는 신호를 EDC 표준 수정 차분 계산부(16)에 출력한다.
[체인 서치부(112)]
체인 서치부(112)는, 에러 위치 다항식/에러 평가 다항식 도출부(106)로부터 입력되는 에러 위치 방정식과, 위치 카운터(110)로부터 입력되는 클록 및 대입 데이터에 기초하여, σ(αi)를 PI일 때에는 i=181, 180, . . . ., P0일 때, i=207, 206, . . . 의 순으로 계산하고, σ(αi)=0을 부여하는 근 αi를 검출하고, 에러 위치를 나타내는 검출 데이터(αi)를 에러 크기 계산부(114) 및 정정 제어부(116)에 출력한다.
또한, 체인 서치부(112)는, 검출 데이터를 셀렉터(126, 128)에 출력하고, 셀렉터(126, 128) 각각의 데이터 선택을 제어한다.
[에러 크기 계산부(114)]
에러 크기 계산부(114)는, 체인 서치부(112)로부터 입력되는 검출 데이터로부터 에러의 크기를 산출하고, 에러의 크기를 나타내는 크기 데이터를 정정 제어부(116)에 출력한다.
[정정 제어부(116)]
정정 제어부(116)는, 위치 카운터(110)로부터 입력되는 위치 데이터(αi), 체인 서치부(112)로부터 입력되는 위치 데이터, 에러 크기 계산부(114)로부터 입력되는 크기 데이터, 및 오정정 검출 블럭(12)의 오정정 검출부(122)로부터 입력되는 오정정 검출 데이터로부터, 정정 데이터를 생성하고, 판독/기록 제어부(102)에 출력한다.
[오정정 검출 블럭(12)]
이하, 오정정 검출 블럭(12)의 각 구성 부분을 설명한다.
[EDC 표준 수정 차분 계산부(16)]
도 6은, 도 5에 도시된 EDC 표준 수정 차분 계산부(16)의 구성을 나타내는 도면이다.
EDC 표준 수정 차분 계산부(16)는, 도 16에 도시된 구성 부분에 의해, 위치 카운터(110)로부터 입력되는 갱신 데이터를 이용하여, EDC 표준 수정 차분을 계산하여, EDC 수정 차분 계산부(14a, 14b)에 출력한다.
[셀렉터(126)]
셀렉터(126)는, 에러 정정 블럭(10)의 체인 서치부(112)의 제어에 따라 동작하고, 검출 데이터가 에러가 없음을 나타내는 경우에는 수치 0을 선택하고, 이외의 경우, 즉 검출 데이터가 에러가 있음을 나타내고 있는 경우에는 위치 카운터(110)로부터 입력되는 근을 선택하여 EDC 수정 차분 계산부(14a, 14b) 및 신드롬 수정 차분 계산부(18)에 출력한다.
[셀렉터(128)]
셀렉터(128)는, 에러 정정 블럭(10)의 체인 서치부(112)의 제어에 따라 동작하고, 검출 데이터가 에러가 없음을 나타내고 있는 경우에는 수치 0을 선택하고, 이외의 경우, 즉 검출 데이터가 에러가 있음을 나타내는 경우에는 에러 크기 계산부(114)로부터 입력되는 크기 데이터를 선택하여 EDC 수정 차분 계산부(14a, 14b) 및 신드롬 수정 차분 계산부(18)에 출력한다.
[PO 방향용 EDC 수정 차분 계산부(14a)]
도 7은 도 5에 도시된 제1 EDC 수정 차분 계산부(14a)의 구성을 나타내는 도면이다.
도 8은, 도 5에 도시된 제1 EDC 수정 차분 계산부(14a)에 의한 EDC 수정 차분 산출 연산의 방향을 나타내는 도면이다.
EDC 수정 차분 계산부(14a)는, 도 7에 도시된 구성 부분에 따라, EDC 표준 수정 차분 계산부(16)로부터 입력되는 표준 수정 차분 데이터, 및 셀렉터(126, 128)로부터 입력되는 위치 데이터, 크기 데이터 또는 수치 0을 이용하여, 도 2에 도시된 EDC 블럭에 대해, 도 8에 화살표로 나타내는 방향으로 연산을 행하여, EDC 표준 수정 차분을 산출한다.
[PI 방향용 EDC 수정 차분 계산부(14b)]
도 9는, 도 5에 도시된 제2 EDC 수정 차분 계산부(14b)의 구성을 나타내는 도면이다.
EDC 수정 차분 계산부(14b)는, 도 9에 도시된 구성 부분에 따라, EDC 표준 수정 차분 계산부(16)로부터 입력되는 표준 수정 차분 데이터, 및 셀렉터(126, 128)로부터 입력되는 위치 데이터, 크기 데이터 또는 수치 0을 이용하고, 도 2에 도시된 EDC 블럭에 대해 패리티 PI의 방향(행방향)으로 연산을 행하고, EDC 표준 수정 차분을 산출한다.
[신드롬 수정 차분 계산부(18)]
도 10은, 도 5에 도시된 신드롬 수정 차분 계산부(18)의 구성을 나타내는 도면이다.
신드롬 수정 차분 계산부(18)는, 도 10에 도시된 구성 부분에 따라, 셀렉터(126, 128)로부터 입력되는 위치 데이터, 크기 데이터 또는 수치 0을 이용하여 수정 차분을 산출하여, 비교 회로(124)에 출력한다.
[비교 회로(120)]
비교 회로(120)는, 신드롬/EDC 계산부(104)로부터 입력되는 EDC와, EDC 수정 차분 계산부(14a, 14b)로부터 입력되는 수정 차분과의 배타적 논리합을 취함에 따라 비교하고, 비교 결과를 오정정 검출부(122)에 출력한다.
[비교 회로(124)]
비교 회로(124)는, 신드롬/EDC 계산부(104)로부터 입력되는 신드롬과, 신드롬 수정 차분 계산부(18)로부터 입력되는 수정 차분의 배타적 논리합을 취함에 따라 비교하고, 비교 결과를 오정정 검출부(122)에 출력한다.
[오정정 검출부(122)]
오정정 검출부(122)는, 비교 회로(120, 124) 각각으로부터 입력되는 비교 결과를 이용하여, 정정의 에러(오정정)를 검출하고, 신드롬과 수정 차분이 일치하지 않는 것을 나타내는 오정정 데이터를 생성하여, 정정 제어부(116)에 출력한다.
[에러 정정 장치(1)에서의 PI(가로) 방향의 처리]
이하, 도 11∼도 19를 더욱 참조하여, 에러 정정 장치(1)의 PI 방향의 처리를 설명한다.
도 11은 에러 정정 장치(1)의 PI 방향의 처리를 나타내는 도면이다.
도 12는 도 11에 도시된 에러 정정 장치(1)의 스텝 3(Step 3)의 처리를 나타내는 도면이다.
도 13은 도 11에 도시된 에러 정정 장치(1)의 스텝 5(Step 5)의 처리를 나타내는 도면이다.
도 14는 도 11에 도시된 에러 정정 장치(1)의 스텝 6(Step 6)의 처리를 나타내는 도면이다.
도 15∼16은 도 11에 도시된 에러 정정 장치(1)의 스텝 7, 8(Step 7, 8)의 처리를 나타내는 도면이다.
도 18은 도 11에 도시된 에러 정정 장치(1)의 스텝 9(Step 9)의 처리를 나타내는 도면이다.
도 19는 도 11에 도시된 에러 정정 장치(1)의 스텝 11(Step11)의 처리를 나타내는 도면이다.
도 11에 도시된 바와 같이, 스텝(Step) 0에서, 에러 정정 장치(1)(도 5)의 판독/기록 제어부(102)는, 변수 1에 초기값을 대입(i=0)하고, 스텝 1의 처리로 진행한다.
스텝 1에서, 판독/기록 제어부(102)는, EDC의 신드롬을 스토어하는 레지스터를 클리어하고, 스텝 2의 처리로 진행한다.
스텝 2에서, 신드롬 수정 차분 계산부(18)는, 초기화 처리를 행하여, 초기 상태로 복귀한다.
스텝 3에서, 신드롬/EDC 계산부(104)는, 도 12에 도시된 바와 같이, 판독/기록 제어부(102)로부터 ECC 블럭(도 3)의 제i행째의 데이터를 판독, 에러 정정 부호의 신드롬을 계산하여, 스텝 4의 처리로 진행한다.
스텝 4에서, 신드롬/EDC 계산부(104)는, 스텝 3의 처리에서 산출한 신드롬의 값이 수치 0인지의 여부를 판단하고, 신드롬의 값이 수치 0이 아닌 경우에는 스텝 5의 처리로 진행하고, 이외의 경우에는 변수 i에 수치(1)를 더하고 (인크리먼트하여 ; i=l+1), 스텝 2의 처리로 복귀한다.
스텝 5에서, 에러 위치 다항식/에러 평가 다항식 도출부(106)는, 도 13에 도시된 바와 같이, 신드롬/EDC 계산부(104)로부터 입력되는 신드롬의 값으로부터 에러 다항식을 계산하고, 변수 L(체인 서치로 사용되는 αi)에 수치 α181(L=α181)을 대입한다.
스텝 6에서, 도 14에 도시된 바와 같이, 위치 카운터가 부여하는 변수 L의 초기치와 체인 서치부(112)는, 위치 카운터(110)가 부여하는 변수 L의 초기치와 클록을 이용하여 체인 서치를 행하고, 변수 L 즉 αi가, 에러 위치 다항식의 근인지의 여부를 판단한다. 근인 경우에는, 에러 크기 계산부(114)는, 그 위치에서의 에러의 크기를 계산하고, 스텝 7의 처리로 진행한다.
스텝 7에서, L이 근인 경우에는, 셀렉터(128)는 에러 크기 계산부(114)로부터 입력된 에러의 크기를 선택하여 신드롬 수정 차분 계산부(18)와 EDC 수정 차분 회로(14b)에 출력한다. 또한 근이 아닌 경우는 0을 신드롬 수정 차분 계산부(18), EDC 수정 차분 회로(14b)에 출력한다. 신드롬 수정 차분 계산부(18)와 EDC 수정 차분 회로(14b)는, 입력값을 이용하여 각각의 수정 차분에 대한 기여를 산출하고, 스텝 8a의 처리로 진행한다.
스텝 8에서, 도 17에 도시된 바와 같이, 셀렉터(128)는, 에러 크기 계산부(114)로부터 입력된 에러의 크기를 선택하여 EDC 수정 차분 계산부(14b)에 출력하고, EDC 수정 차분 계산부(14b)(도 9)는, 수정 차분을 산출한다.
체인 서치가 제 i행의 최후까지 오면 스텝 9의 처리로 진행하고, 이외의 경우에는 변수 L의 값을 L×α-1로 갱신하고, 스텝 6의 처리로 진행한다(스텝 8a).
스텝 9에서, 도 18에 도시된 바와 같이, 비교 회로(124)는, 신드롬/EDC 계산부(104)로부터 입력되는 신드롬과, 신드롬 수정 차분 계산부(18)로부터 입력되는 수정 차분을 비교한다.
오정정 검출 회로(122)는, 비교 결과가 일치를 나타내는 경우에는, 오정정 검출 데이터를 오정정이 생기지 않았던 것을 나타내는 값으로 하고, 이외의 경우에는 오정정 검출 데이터를 오정정이 생긴 것을 나타내는 값으로 하여 정정 제어부(116)에 출력한다.
정정 제어부(116)는, 오정정 검출 데이터가, 오정정이 생긴 것을 나타내고 있는 경우에는 판독/기록 제어부(102)의 버퍼(도시하지 않음) 상에서 에러의 정정을 행하고, 이외의 경우에는 에러의 정정을 행하지 않는다.
스텝 10에서, 판독/기록 제어부(102)는, EDC 블럭(도 2)의 최후의 행을 처리했는지의 여부를 판단하고, 최후의 행을 처리한 경우에는 스텝 11의 처리로 진행하고, 이외의 경우에는 스텝 3의 처리로 진행한다.
스텝 11에서, 비교 회로(120)는, 신드롬/EDC 계산부(104)로부터 입력된 EDC와, EDC 수정 차분 계산부(14b)로부터 입력된 수정 차분을 비교하여, 비교 결과가 일치를 나타내는 경우에는, 오정정 검출 데이터를 정정 불능을 나타내는 값으로 하여 정정 제어부(116)에 출력하고, 이외의 경우에는, 오정정 검출 데이터를 정정 가능을 나타내는 값으로 하여 스텝 12의 처리로 진행한다.
스텝 12에서, 비교 회로(120)는, 최후의 EDC 블럭을 처리했는지의 여부를 판단하고, 최후의 EDC 블럭을 처리한 경우에는 처리를 종료하고, 이외의 경우에는 스텝 1의 처리로 복귀한다.
이상 설명한 바와 같이, 에러 정정 장치(1)에서는, PI 방향의 에러 정정의 체인 서치는, 행의 선두로부터 실행된다.
즉, PI방향의 체인 서치에서는, 우선 에러 위치 다항식에 α181, α180, ···, α0의 각 수치가 차례로, 대입되어 근인지의 여부를 판정되고, 근인 경우에는, 에러의 크기가 계산된다.
또한, 신드롬/EDC 계산부(104)는, ECC 블럭의 데이터를 행의 선두측으로부터 처리하고, 또한 수정 차분은, 하나의 에러의 신드롬에 대한 영향의 합을 차례로, 계산함으로써 구할 수 있다.
따라서, 체인 서치에서 에러가 발견되고, 그 크기가 계산된 경우에 그 값을, 그 외의 경우에는 수치 0을 신드롬 수정 차분 계산부(18) 및 EDC 수정 차분 계산부(14b)에 입력함으로써, 신드롬의 수정 차분을 얻을 수 있다.
따라서, 에러 정정 장치(1)에서의 PI 방향의 처리는, 표준 수정 차분없이 행해질 수 있다.
[에러 정정 장치(1)에서의 PO(세로)방향의 처리]
예를 들면, 제1 EDC 블럭 제3행, ECC 블럭 제179열에 에러 0x94가 생긴 제1EDC 블럭(도 2)에서의 신드롬의 수정 차분은, 하기의 수학식 10에 나타내는 e(x)로부터, e(x) mod g(x)에 의해 주어진다. 이것을 계산하기 위해, 하기의 수학식 10에 나타내는 e(x)로부터, e(x) mod g(x)를 계산할 필요가 있다.
이로 인해, 우선 표준 수정 차분 Nj를, 하기의 수학식 11에 나타낸 바와 같이 정의한다.
이들 표준 수정 차분 Nj는, 각각 EDC 블럭의 제170열째에, 크기 0x01의 에러가 생기는 경우에, EDC가 신드롬에 끼치는 기여를 나타낸다.
단, Nx는, EDC의 제x 번째의 표준 수정 차분을 나타낸다.
도 5의 체인 서치부(112)와 위치 카운터(110)와 에러 크기 계산 회로(114)는, 제179열의 처리에서 에러의 위치(198)와 에러의 크기 0x94를 출력한다.
제1 EDC 블럭 제3행, ECC 블럭 제179열에 발생한 에러 0x94는, 12*15+16-1=198(lEDC 블럭은 12행, EDC 블럭은 전부 16개, 행은 0행으로부터 시작되는, PO의패리티는 16행 있음.)인 것으로부터, ECC 블럭 제198행에 위치하므로, 에러 정정 회로로부터 계산되는 에러 위치는 198(199행)인 것을 알 수 있다.
또한, EDC 블럭 상의 에러의 위치는, (199-1)=12*15+3으로부터, ECC 블럭 (도 3)의 제1 EDC 블럭 (도 2)의 제3행째인 것을 알 수 있다.
또한, 에러의 크기가 0x94인 것도 알 수 있으므로, e(x) = (x7+x4+x2)*x{(2*172+169)*8}.
이 때, 수정 차분 S(x)는, EDC 블럭의 제3행에 에러가 생기기 때문에, 수학식 11에 나타낸 표준 수정 차분 N3을 이용하여, 하기의 수학식 12와 같이 나타낼 수 있다.
이 때, [x7*N3] mod g(x)를 산출하는 회로는, 랜덤 로직으로 하드웨어에 의해 용이하게 구성할 수 있고, 또는 동등한 연산 처리는 소프트웨어적으로 용이하게 실현 가능하다.
도 7에 도시된 EDC 수정 차분 계산부(14a)에서, 에러의 크기 0x94에 대응하도록, B7=1, B4=1, B2=1, 그 외에는 0으로 하면, EDC 수정 차분 계산부(14a)의 가산기의 출력은, 수정 차분 S(x)가 된다.
이상의 설명을 일반화하고, 제i열에서의 EDC의 제1∼제12의 표준 수정 차분을 하기의 수학식 13과 같이 정의한다. 제180열에 에러가 있는 경우에는, 수학식 13에 i=180을 대입한 하기의 수학식 14에서 나타내는 표준 수정 차분이 사용되고 있다.
수학식 13, 14로부터 새로운 표준 수정 차분 N'j는, 하기의 수학식 15와 같이 나타낼 수 있고, 이 값을 이용하여 제181열째의 에러에 대해 같은 계산을 행할수 있다.
최종적으로, 16개의 수정 차분을 기억하는 레지스터와, 그 도중 결과를 기억하는 레지스터가 필요해지므로, EDC 수정 차분 계산부(14a)는, 도 7에 도시된 바와 같은 구성을 취한다.
이하, 도 20∼도 30을 더욱 참조하여, 에러 정정 장치(1)에서의 PO 방향의 처리를 설명한다.
도 20은 에러 정정 장치(1) (도 5)의 PO 방향의 처리를 나타내는 도면이다.
도 21은 도 20에 도시된 에러 정정 장치(1) (도 5)의 EDC 표준 수정 차분 계산부(16) (도 6)의 스텝 100 (Step 100)에서의 처리를 나타내는 도면이다.
도 22는 도 20에 도시된 에러 정정 장치(1)의 스텝 101(Step 101)에서의 처리를 나타내는 도면이다.
도 23은 도 20에 도시된 에러 정정 장치(1)의 스텝 103(Step 103)에서의 처리를 나타내는 도면이다.
도 24는 도 20에 도시된 에러 정정 장치(1)의 스텝 104(Step 104)에서의 처리를 나타내는 도면이다.
도 25는 도 20에 도시된 에러 정정 장치(1)의 스텝 107(Step 107)에서의 처리를 나타내는 도면이다.
도 26은 도 20에 도시된 에러 정정 장치(1)의 EDC 수정 차분 계산부(14a)(도7)의 스텝 107(Step 107)에서의 처리를 나타내는 도면이다.
도 27은 도 20에 도시된 에러 정정 장치(1)의 EDC 수정 차분 계산부(14a)(도 7)의 스텝 108(Step 108)에서의 처리를 나타내는 도면이다.
도 28은 도 20에 도시된 에러 정정 장치(1)의 스텝 110(Step 110)에서의 처리를 나타내는 도면이다.
도 29는 도 20에 도시된 에러 정정 장치(1)의 EDC 표준 수정 차분 계산부(16) (도 6)의 스텝 111(Step111)에서의 처리를 나타내는 도면이다.
도 30은 도 20에 도시된 에러 정정 장치(1)의 스텝 112(Step 112)에서의 처리를 나타낸 도면이다.
도 20에 도시된 바와 같이, 스텝 100에서, EDC 표준 수정 차분 계산부(16)는, 변수 i에 초기치(10)(변수 1의 초기치가 10이 되는 것은, PI 패리티는 EDC 블럭에 포함되지 않기 때문에)를 대입하고, 하기의 수학식 16에 도시된 미리 계산되어 있는 최초의 표준 수정 차분 Nj(j=1, . . . , 12)를 산출하고, EDC의 신드롬을 기억하는 신드롬 수정 차분 계산부(14a) 내의 레지스터(도시하지 않음)를 클리어하고, 신드롬/EDC 계산부(104)(에러 정정 부호의 신드롬 생성 회로)를 초기화하고, 스텝 101의 처리로 진행한다.
스텝 101에서, 도 22에 도시된 바와 같이, 신드롬/EDC 계산부(104)(도 5)는, EDC 블럭(도 2)의 제i 열의 에러 정정 부호의 신드롬을 계산하고, 스텝 102의 처리로 진행한다.
스텝 102에서, 에러 위치 다항식/에러 평가 다항식 도출부(106)는, 스텝 101의 처리에서 계산한 신드롬의 값이 수치 0이 아닌 경우에는 스텝 103의 처리로 진행하고, 이외의 경우에는, 변수 i에 수치(1)를 더하고(인크리먼트하고), 하기의 수학식 17에 의해 표준 수정 차분의 값을 갱신하여, 스텝 101의 처리로 복귀한다.
스텝 103에서, 도 23에 도시된 바와 같이, 에러 위치 다항식/에러 평가 다항식 도출부(106)는, 스텝 101의 처리에서 계산된 신드롬의 값으로부터 에러 위치 다항식을 계산하고, 변수 L의 값에 α207을 대입하고, 스텝 104의 처리로 진행한다.
스텝 104에서, 도 24에 도시된 바와 같이, 체인 서치부(112)는, 체인 서치를 행하여 변수 L의 값이 에러 위치 다항식의 근인지의 여부를 판단한다.
에러 크기 계산부(114)는, 변수 L이 에러 위치 다항식의 근인 경우에는 에러의 크기를 계산하고, 이외의 경우에는 에러의 크기의 값을 0으로 한다.
스텝 105에서, 신드롬 수정 차분 계산부(18)는, 스텝 104의 처리에서 구한 에러의 크기의 값으로부터 수정 차분을 산출하고, 스텝 106의 처리로 진행한다.
스텝 106에서, 체인 서치부(112)와 위치 카운터(110)에 의해 구해진 에러의 위치로부터, 에러가 ECC 블럭(도 3)에 포함되는 모든 EDC 블럭(도 2)의 몇행째에 발생했는지의 여부를 판정하고, 스텝 107의 처리로 진행한다.
스텝 107에서, EDC 수정 차분 계산부(14a)는, 도 25 및 도 26에 도시된 바와 같이, 스텝 106의 처리에서 에러가 발생하고 있는 것으로 판정된 EDC 블럭의 제j 번째의 행에 대응하는 표준 수정 차분 Nj를 선택하고, 에러의 크기 Bk(k=0∼7 ; Bk= 1 또는 0)을 이용하여, 하기의 수학식 18의 계산을 행하고, 스텝 108의 처리로 진행한다.
단, Σ은 k=0∼7에 관한 총합을 나타낸다.
스텝 108에서, EDC 수정 차분 계산부(14a)는, 도 27에 도시된 바와 같이, 스텝 107의 처리에서의 계산 결과(수학식 18)를 이용하여, 스텝 106에서 구해진 EDC 블럭에 대응하는 신드롬의 수정 차분을 갱신하고, 스텝 109의 처리로 진행한다.
스텝 109에서, 체인 서치부(112)는, 체인 서치가 EDC 블럭의 제i 열의 최후까지 종료한 경우에는 S110의 처리로 진행하고, 이외의 경우에는 변수 L에 수치 α-1을 승산하고, 스텝 104의 처리로 복귀한다.
스텝 110에서, 도 28에 도시된 바와 같이, 비교 회로(124)는, 신드롬/EDC 계산부(104)로부터 입력되는 신드롬과, 스텝 103 내지 109의 처리에서 신드롬 수정 차분 계산부(18)가 산출한 수정 차분의 값을 비교하고, 이들이 일치하는 경우에는, 오정정 검출 회로(122)는, 신드롬의 수정 차분이 정당하다고 판단하고, 정정 제어부(116)는 판독/기록 제어부(102)의 버퍼(도시하지 않음) 상에서 에러의 정정을 행하고, 스텝 111의 처리로 진행한다. 이외의 경우에는, 오정정 검출 회로(122)는, 오정정 검출 데이터에 정정 불능의 플래그를 셋트하고, 정정 제어부(116)는, 에러의 정정을 행하지 않고 스텝 111의 처리로 진행한다.
스텝 111에서, 도 29에 도시된 바와 같이, EDC 표준 수정 차분 계산부(16)는, 에러의 위치와 크기의 계산을 ECC 블럭의 최후의 열까지 행했는지의 여부를 판단하고, 최후의 열에 대한 계산을 행한 경우에는 스텝 112의 처리로 진행하고, 이외의 경우에는 S101의 처리로 복귀한다.
스텝 112에서, 비교 회로(120)는, 신드롬/EDC 계산부(104)로부터 입력되는 EDC와, EDC 수정 차분 계산부(14a)가 스텝 101로부터 112의 처리에서 산출한 수정 차분을 비교하고, 오정정 검출 회로(122)는, 이들이 일치하는 경우에는 처리를 종료하고, 이외의 경우에는 오정정 검출 데이터에 정정 불능 플러그를 셋트하여 처리를 종료한다.
이상 설명한 바와 같이, 본 발명에 따른 오정정 장치에서는, 에러 위치 및크기의 계산과, 에러의 정정에 따라 값이 변화하는 EDC의 신드롬과의 계산이, 동시에 행할 수 있으므로, 에러 정정의 확률을 낮출 수 있다.
또, 버퍼로부터 데이터를 판독하는 횟수를 종래보다도 적게 할 수 있으므로, 에러 정정 처리에 필요한 시간이 짧게 끝난다.
이상 설명된 바와 같이, 본 발명에 따른 에러 검출 장치 및 그 방법에 따르면, 처리에서의 오버헤드를 적게 할 수 있으므로, 짧은 처리 시간에 오정정을 검출하고, 에러의 정정을 행할 수 있다.

Claims (7)

  1. 에러 정정 부호(error-correcting code; ECC) 블럭에 발생한 오정정을 검출하는 에러 검출 장치 ―상기 ECC 블럭은 적어도 하나의 에러 검출 부호(error-detecting code; EDC) 블럭을 가지며, 상기 EDC 블럭 각각은 적어도 하나의 데이터 행을 가짐 ―에 있어서,
    상기 EDC 블럭 내의 ECC를 이용하여 상기 데이터 행 내의 각 데이터에 대한 에러값을 산출하는 에러값 산출 수단과,
    상기 EDC 블럭에서 검출된 제1 에러에 기초하여 초기 EDC 신드롬을 결정하는 EDC 수단과,
    상기 EDC 블럭에서 검출된 후속 에러들의 산출값에 따라 상기 초기 EDC 신드롬의 값을 수정하는 EDC 신드롬 수정 수단과,
    상기 EDC 블럭 전체에 대해 EDC 블럭 신드롬을 산출하는 EDC 블럭 신드롬 산출 수단 ―상기 EDC 블럭 신드롬은, 상기 초기 EDC 신드롬의 최종 수정된 것과는 독립적인 것으로, 상기 전체 EDC 블럭에 대해 발생되는 새로운 신드롬임 ―과,
    상기 EDC 블럭 신드롬과 상기 EDC 신드롬의 수정된 값의 비교에 기초하여 상기 EDC 블럭 내의 오정정의 발생을 검출하는 에러 검출 수단
    을 포함하는 에러 검출 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 EDC 블럭 각각은 적어도 하나의 어레이를 포함하며,
    상기 적어도 하나의 EDC 블럭의 상기 적어도 하나의 어레이 각각에는 ECC가 부가되며,
    각 데이터 계열은, 상기 적어도 하나의 EDC 블럭의 상기 적어도 하나의 어레이와, 상기 적어도 하나의 EDC 블럭의 상기 적어도 하나의 어레이에 부가된 ECC들중 하나를 각각 포함하며,
    상기 에러값 산출 수단은, 한번에 하나의 각 데이터 계열을 처리하여 각각의 에러값을 산출하며,
    상기 EDC 신드롬 수정 수단은, 각각의 에러값이 산출될 때마다 상기 ECC들중 하나의 신드롬의 사전설정된 초기값을 차례로 수정하며,
    상기 EDC 블럭에 대응하는 데이터 계열 내의 각각의 에러값이 산출될 때마다, 상기 에러 검출 수단은 상기 EDC의 신드롬의 수정된 값에 기초하여 상기 적어도 하나의 EDC 블럭 내의 에러의 발생을 검출하는
    에러 검출 장치.
  3. 제2항에 있어서,
    상기 적어도 하나의 어레이는 적어도 하나의 행(row)인 에러 검출 장치.
  4. 제2항에 있어서,
    상기 적어도 하나의 어레이는 적어도 하나의 열(column)인 에러 검출 장치.
  5. 제2항에 있어서,
    상기 EDC 신드롬 수정 수단은, 상기 데이터 계열 각각의 일정한 위치에 일정한 에러가 발생될 때, 상기 ECC들중 하나의 신드롬을 초기값으로 사용하여, 산출되는 각각의 에러값에 따라 상기 초기값을 차례로 수정하는 에러 검출 장치.
  6. 제5항에 있어서,
    상기 적어도 하나의 EDC 블럭 각각의 ECC의 값을 산출하는 EDC 산출 수단을 더 포함하며,
    상기 적어도 하나의 EDC 블럭중 하나에 대응하는 데이터 계열 내의 각각의 에러값이 산출될 때마다, 상기 에러 검출 수단은 상기 EDC의 산출된 값과 상기 EDC 신드롬의 수정된 값을 비교하여 상기 적어도 하나의 EDC 블럭중 하나의 블럭 내의 각각의 에러의 발생을 검출하는 에러 검출 장치.
  7. 에러 정정 부호(ECC) 블럭 내에 발생한 에러를 검출하는 방법 ―상기 ECC 블럭은 적어도 하나의 에러 검출 부호(EDC) 블럭을 가지며, 상기 EDC 블럭 각각은 적어도 하나의 데이터 행을 가짐 ―에 있어서,
    상기 EDC 블럭 내의 ECC를 이용하여 상기 데이터 행 내의 각 데이터에 대한 에러값을 산출하는 단계와,
    상기 EDC 블럭에서 검출된 제1 에러에 기초하여 초기 EDC 신드롬을 설정하는 단계와,
    상기 EDC 블럭에서 검출된 후속 에러들의 산출값에 따라 상기 초기 EDC 신드롬을 수정하는 단계와,
    상기 EDC 블럭 전체에 대해 EDC 블럭 신드롬을 산출하는 단계 ―상기 EDC 블럭 신드롬은, 상기 초기 EDC 신드롬의 최종 수정된 것과는 독립적인 것으로, 상기 전체 EDC 블럭에 대해 발생되는 새로운 신드롬임 ―와,
    상기 EDC 블럭 신드롬과 상기 EDC 신드롬의 수정된 값의 비교에 기초하여 상기 EDC 블럭 내의 오정정의 발생을 검출하는 단계
    를 포함하는 에러 검출 방법.
KR10-2000-0001683A 1999-01-21 2000-01-14 에러 검출 장치 및 그 방법 KR100397095B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1999-013468 1999-01-21
JP01346899A JP3272317B2 (ja) 1999-01-21 1999-01-21 誤り検出装置およびその方法

Publications (2)

Publication Number Publication Date
KR20000062472A KR20000062472A (ko) 2000-10-25
KR100397095B1 true KR100397095B1 (ko) 2003-09-06

Family

ID=11833981

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0001683A KR100397095B1 (ko) 1999-01-21 2000-01-14 에러 검출 장치 및 그 방법

Country Status (3)

Country Link
JP (1) JP3272317B2 (ko)
KR (1) KR100397095B1 (ko)
SG (1) SG88766A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060125692A (ko) 2003-08-29 2006-12-06 마츠시타 덴끼 산교 가부시키가이샤 오류 검출 장치, 및 오류 검출 방법
KR100594241B1 (ko) * 2004-01-29 2006-06-30 삼성전자주식회사 순방향 치엔 서치 방식의 리드 솔로몬 디코더 회로
KR100734307B1 (ko) 2006-01-23 2007-07-02 삼성전자주식회사 포스트 비터비 에러 정정 방법 및 이에 적합한 장치
FR3063776A1 (fr) 2017-03-08 2018-09-14 BD Kompressor GmbH Agencement de palier pour un arbre d'entrainement d'une turbomachine, et une turbomachine comportant un tel agencement de palier

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998035451A1 (en) * 1997-01-23 1998-08-13 Quantum Corporation MODIFIED REED-SOLOMON ERROR CORRECTION SYSTEM USING (w+i+1)-BIT REPRESENTATIONS OF SYMBOLS OF GF(2w+i)
KR19980065723A (ko) * 1997-01-14 1998-10-15 김광호 디지탈 비디오 디스크 시스템의 데이타 처리 방법 및 장치
US5996105A (en) * 1997-11-14 1999-11-30 Cirrus Logic, Inc. ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
KR20000023004A (ko) * 1998-09-10 2000-04-25 니시무로 타이죠 디스크 재생 장치에 적용되는 에러 검출 회로

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68925383T2 (de) * 1988-05-12 1996-05-15 Quantum Corp Fehlerortungssystem
US5644695A (en) * 1994-01-03 1997-07-01 International Business Machines Corporation Array combinatorial decoding with multiple error and erasure detection and location using cyclic equivalence testing
US5745507A (en) * 1995-03-31 1998-04-28 International Business Machines Corporation Systematic symbol level ECC for use in digital memory systems
KR100213254B1 (ko) * 1996-10-18 1999-08-02 윤종용 에러 정정 방법 및 장치
JPH1125616A (ja) * 1997-06-27 1999-01-29 Toshiba Corp データ処理装置
JPH11168392A (ja) * 1997-12-04 1999-06-22 Toshiba Corp データ誤り訂正装置及びデータ誤り訂正方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980065723A (ko) * 1997-01-14 1998-10-15 김광호 디지탈 비디오 디스크 시스템의 데이타 처리 방법 및 장치
WO1998035451A1 (en) * 1997-01-23 1998-08-13 Quantum Corporation MODIFIED REED-SOLOMON ERROR CORRECTION SYSTEM USING (w+i+1)-BIT REPRESENTATIONS OF SYMBOLS OF GF(2w+i)
US5996105A (en) * 1997-11-14 1999-11-30 Cirrus Logic, Inc. ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes
KR20000023004A (ko) * 1998-09-10 2000-04-25 니시무로 타이죠 디스크 재생 장치에 적용되는 에러 검출 회로

Also Published As

Publication number Publication date
JP2000224049A (ja) 2000-08-11
JP3272317B2 (ja) 2002-04-08
KR20000062472A (ko) 2000-10-25
SG88766A1 (en) 2002-05-21

Similar Documents

Publication Publication Date Title
US5920578A (en) Method and apparatus for efficiently processing a multi-dimensional code
US6048090A (en) Error correction and concurrent verification of a product code
KR100833600B1 (ko) 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치
KR100856129B1 (ko) 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치
US5027357A (en) ECC/CRC error detection and correction system
US5157669A (en) Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors
US7278085B1 (en) Simple error-correction codes for data buffers
KR19990044904A (ko) 코드워드 데이터를 저장하기 위한 데이터 버퍼와 에러 신드롬을 저장하기 위한 신드롬 버퍼를 사용하는 ecc 시스템
JPS632370B2 (ko)
KR100397095B1 (ko) 에러 검출 장치 및 그 방법
KR100253043B1 (ko) 에러 정정 방법 및 정정 회로
KR100281946B1 (ko) 신드롬 계산 장치
KR100330642B1 (ko) 오류정정방법및오류정정장치
JP2001292066A (ja) 誤り訂正装置および誤り訂正方法
JP2005135572A (ja) 記憶媒体から検索されたデータにおけるエラーを訂正する方法およびシステムならびにコンピュータ実行可能な命令を含むコンピュータ読取り可能な記憶媒体
US20080104487A1 (en) Error detection apparatus and error detection method
KR100207492B1 (ko) 에러 정정 검사 방법 및 장치
JP2599001B2 (ja) 誤り訂正処理回路
KR100246342B1 (ko) 리드솔로몬오류수정장치
JP3242682B2 (ja) 誤り訂正処理装置
JP2578740B2 (ja) 誤り訂正方法
KR100499878B1 (ko) 디브이디 램에서의 피아이디에 대한 에러 정정 회로
JPH1141113A (ja) 誤り訂正装置
JPH09331263A (ja) 誤り訂正方法及び装置
KR19980026491A (ko) 디지털 신호계의 에러와 이레이저의 정정장치

Legal Events

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