KR100499878B1 - 디브이디 램에서의 피아이디에 대한 에러 정정 회로 - Google Patents
디브이디 램에서의 피아이디에 대한 에러 정정 회로 Download PDFInfo
- Publication number
- KR100499878B1 KR100499878B1 KR10-2001-0060957A KR20010060957A KR100499878B1 KR 100499878 B1 KR100499878 B1 KR 100499878B1 KR 20010060957 A KR20010060957 A KR 20010060957A KR 100499878 B1 KR100499878 B1 KR 100499878B1
- Authority
- KR
- South Korea
- Prior art keywords
- error
- information
- pid
- syndrome
- error correction
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1816—Testing
- G11B2020/1823—Testing wherein a flag is set when errors are detected or qualified
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2562—DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
- G11B2220/2575—DVD-RAMs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
디브이디 램에서의 피아이디에 대한 에러 정정부가 개시되어 있다. 본 발명에 따르면, 소정 바이트(Byte)의 PID 데이터, 소정 바이트의 IED 데이터로 이루어진 최초 PID 정보 C(X) 및 에러 정보 E(X)를 포함한 입력 신호 R(X)를 입력받아 상기 R(X)의 Generator Polinomial의 근을 대입한 신드롬(Syndrome) S0 및 S1을 생성하기 위한 신드롬 생성부; 상기 신드롬 S0 및 S1을 입력받아 수학식, S1 = S0 * αi 를 만족하는 에러 위치 i (i = 0 ~ n-1 n:코드 워드를 구성하는 심볼(Symbol) 수)값을 검출하기 위한 에러 위치 판별부; 및 상기 검출된 에러 위치 i 값에 해당하는 수신 정보 ri 및 상기 신드롬 S0를 XOR 논리를 수행하여 에러 보정된 결과 값 RCi
를 생성하기 위한 에러 정정부;로 이루어져, 정정 결과에 대한 정오를 판정하는 플래그와 정정 결과에 대한 출력을 1 Code Word 구간에 처리할 수 있게 구현하여, 정정 시간을 1/3이하로 단축할 수 있는 효과를 얻는다.
Description
본 발명은 에러 보정에 관한 것으로, 보다 상세히는 디브이디(DVD) 램(RAM)의 피아이디(PID) 신호를 RS(Reed Solomon) 부호에 의해 에러 연산 검출 및 에러 보정 시간을 단축시키기 위한 디브이디 램에서의 피아이디에 대한 에러 정정부 및 방법에 관한 것이다.
일반적으로 DVD RAM은 DVD가 재생 전용인 것에 비해 DVD기록 밀도로 데이터를 기록 및 재생이 가능하도록 구성된다. DVD RAM용 디스크는 디스크가 기록 가능한 재질로 제작되어 있으며, 비어있는 디스크라 할지라도 정보를 기록할 때 규정된 트랙에 맞추어 기록하게 된다. 이를 위해 DVD RAM용 디스크에는 정보를 기록할 때의 트래킹 서보를 위하여 디스크를 제작할 때 미리 트랙에 대한 정보를 수록하게 된다.
상기 수록된 정보 가운데 DVD RAM의 섹터 정보와 섹터 수가 수록된 PID신호가 있으며, 총 4바이트, 32심볼로 구성되어 있다. 이는 트래킹 서보시 필요한 중요 정보들이 기록되어 있으며, 이러한 정보를 보호하기 위하여 에러 정정을 위한 Reed- Solomon 부호가 추가되어 있는 것이다.
이와 같은 에러 정정은 통상적으로 3 단계를 거쳐 수행되는데, 첫 번째 단계로 Syndrome 계산, 두 번째 단계로 에러값 및 에러 위치 계산 및 세 번째 단계로 에러 정정/플래그 처리 단계로 구성된다. 이러한 단계는 한 블록 단위로처리되며, 하나의 블록은 하나의 코드 워드(Code Word)를 의미하는 것으로 워드 사이클 단위로 처리된다. 워드 사이클은 Symbol당 하나의 클록씩 입력되어 하나의 코드 워드가 모두 입력되는 구간을 의미하는 것으로, 하나의 코드 워드가 포함하는 Symbol 수에 해당하는 클록수와 같게 된다. 따라서, 상기의 세 단계를 수행하기 위해서는 통상 2 워드 사이클이 소요된다.
도 1에 도시된 바와 같이, 첫 구간에서는 n번째 수신 정보가 입력되면서 Syndrome에 대한 계산이 동시에 이루어지며, 이 후 수신되는 정보(R(X))와 그에 대한 Syndrome으로부터 R(X)에 섞여 있을 에러에 대한 위치와 에러값을 구하게 된다. 그러나 이러한 과정은 매우 복잡하고 연산량이 많아서 직접 에러값과 에러의 위치를 구하기 보다는 연산의 중간단계에서 필요한 LFSR을 구성하며, LFSR이 구성되고 나면 이로부터 에러값과 에러 위치를 구하게 된다. 이러한 LFSR을 구성하기 위해 필요한 연산은 하나의 코드 워드가 입력된 후 다른 하나의 코드 워드가 입력될 때까지의 구간에서 이루어진다.
두 번째 구간에서는 앞선 구간에서 구한 LFSR과 Syndrome으로부터 에러가 발생한 위치와 에러값을 계산하여 해당 위치의 에러를 제거하는 에러 정정이 이루어진다. 그리고 세 번째 구간에서는 정정된 결과가 시리얼로 출력되도록 하므로서 에러 정정 과정을 종료하게 되는 것이다.
따라서, 에러를 정정하기 위해서는 총 3개의 코드 워드구간이 필요하며, LFSR을 구성하기 위한 휴지기도 확보되야 하는 것이다. 이는 에러 정정 시간과 직결되어 에러 정정을 위한 소요 시간이 Code Word 구간 기준으로 3구간이 소요됨에 따라 정정 시간이 장기화 되는 문제점이 발생한다. 또한, 복잡한 이론을 구현함에 따른 큰 용량의 회로와 3구간 처리에 따른 병렬화로 인한 회로의 중복등으로 인한 회로량의 증가가 불가피하다는 문제점이 야기되는 것이다.
본 발명은 이와 같은 문제점을 해결하기 위해 창출된 것으로, 본 발명의 목적은 Reed Solomon 부호를 이용하여 PID 정보의 에러 유무 및 정정을 빠르게 수행할 수 있도록 하기 위한 디브이디 램에서의 피아이디에 대한 에러 정정부를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 관점에 따른 디브이디 램에서의 피아이디에 대한 에러 정정부는, 디브이디 램(DVD RAM)에서의 피아이디(PID)에 대한 에러 정정부 구현에 있어서, 소정 바이트(Byte)의 PID 데이터, 소정 바이트의 IED 데이터로 이루어진 최초 PID 정보 C(X) 및 에러 정보 E(X)를 포함한 입력 신호 R(X)를 입력받아 상기 R(X)의 Generator Polinomial의 근을 대입한 신드롬(Syndrome) S0 및 S1을 생성하기 위한 신드롬 생성부; 상기 신드롬 S0 및 S1을 입력받아 수학식, S1 = S0 * αi 를 만족하는 에러 위치 i (i = 0 ~ n-1 n:코드 워드를 구성하는 심볼(Symbol) 수)값을 검출하기 위한 에러 위치 판별부; 및 상기 검출된 에러 위치 i 값에 해당하는 수신 정보 ri 및 상기 신드롬 S0를 XOR 논리를 수행하여 에러 보정된 결과 값 RCi 를 생성하기 위한 에러 정정부;로 이루어진 것을 특징으로 한다.
또한, 상기 에러 정정부에서 생성된 상기 RCi 를 입력 신호 R(X)'로 가정하고, 상기 R(X)'의 Generator Polinomial의 근을 대입한 신드롬 S0 및 S1을 생성한 후, 상기 S0 및 S1의 정보를 상호 OR 논리를 수행하여 해당 결과를 플래그(Flag) 값으로 출력하기 위한 에러 플래그 발생부가 더 포함되는 것을 특징으로 한다.
이하, 본 발명을 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다. 먼저 본 발명의 실시예로서, PID 관련 정보는 4바이트의 PID 데이터와 2바이트의 패리티 (Parity) 데이터로 구성한다. 즉, 표 1에서와 같이,
PID 4Byte | IED 2Byte | ||||
C5 | C4 | C3 | C2 | C1 | C0 |
하나의 코드 워드는 6개의 Symbol을 포함한다. 따라서 코드 워드는 Reed Solomon의 다항식 정의에 따라 5차수로 표현하며, 이러한 다항식 C(X)는 다음과 같다.
C(X) = C5X5 + C4X4 + C3X3 + C2
X2 + C1X1 + C0X0 --------- 수학식 1
상기 수학식 1에서 표현된 다항식 C(X)는 PID 4바이트 및 IED 2바이트를 포함하고 있으며, 이로부터 C(X)는 PID 데이터(D(X))와 패리티 데이터(P(X))로 표현될 수 있다. 이 때, D(X)는 2차 다항식부터 적용되어 C(X)는 다음과 같다.
C(X) = D(X) * X2 + P(X) --------------- 수학식 2
한편, 상기 수학식 2는 Reed Solomon의 코드 워드 생성 다항식으로 표현하면,
C(X) = Q(X) * G(X) ------------------- 수학식 3
와 같이 된다. 또한, 상기 수학식 2에 사용되는 PID 데이터, 즉 D(X)만을 4차원 다항식으로 표현하면,
D(X) = d3X3 + d2X2 + d1X1 + d0
X0 --------- 수학식 4
와 같다. 또한, IED 데이터, 즉 패리티 데이터인 P(X)만을 2차원 다항식으로표현하면,
P(X) = P1X1 + P0X0 -------------------- 수학식 5
로 표현된다. 이 때, 상기 PID 데이터 및 IED 데이터에 에러가 발생했을 경우, 이러한 에러 정보를 각 Symbol 데이터별로 가능성을 살펴보면,
E(X) = e5X5 + e4X4 + e3X3 + e2
X2 + e1X1 + e0X0 ---- 수학식 6
와 같다. 이는 6차원 다항식으로서 패리티 코드를 포함한 PID 데이터에서의 에러 가능성을 나타내는 것이다. 따라서, 실질적으로 수신되야 할 정보(R(X))는 상기한 에러 정보(E(X)) 및 고유 정보인 코드 워드(C(X))로 이루어진다. 즉,
R(X) = C(X) + E(X) ------------------- 수학식 7
이며, 수학식 7을 Reed Solomon의 다항식으로 변환하면,
R(X) = r5X5 + r4X4 + r3X3 + r2
X2 +r1X1 + r0X0 --- 수학식 8
이 된다. 이 때, 상기 수학식 3에서 G(X)를 Reed Solomon의 코드 워드 생성 다항식에 의해 표현하면,
G(X) = (X + α1) * (X + α0) ---------- 수학식 9
와 같으며, Reed Solomon의 다항식 근을 의미한다. 수학식 9에서와 같이 근은 α1와 α0 가 되며, 이는 갈로아 필드(Galois fild) 의 규정에 따른 것으로 DVD-RAM의 PID에서 Generator Polinomina의 해가 2개가 되어 2개의 Symbol이 존재하기 때문이다. 즉, α1 + α1 = 0 이 되며, α0+ α0 = 0 이 되어 상기 G(X)의 근은 α1 와 α0 이 되는 것이다. 연산 방식은 XOR 연산이다.
따라서, 상기 수학식 7을 통해 에러의 위치를 산출할 수 있는데, 수학식 7에 상기 근 α1 또는 α0 을 대입하여 에러를 찾는 것이다. 근 α1 을 대입할 경우,
R(α1) = 0 + E(α1) 가 되고, 상기 근 α0 을 대입할 경우에는
R(α0) = 0 + E(α0) 가 된다. 따라서,
R(α0) = E(α0) = S0 이고, R(α1) = E(α1) = S1 이 된다. 또한 에러가 i 번째 위치에서 발생하였다면 에러 E(X) 와 수신 데이터 R(X)는,
E(X) = eiXi --------------------- 수학식 10
R(X) = C(X) + eiXi -------------- 수학식 11
와 같다. 이를 상기 근을 대입시켜 S0, S1으로 변환하면, 수신 데이터 R(X)는 다음과 같다.
S0 = 0 + ei(α0)i = Σei (i = 0 ~ 5)
S1 = 0 + ei(α1)i = Σeiαi
∴ S1 = ΣS0 * αi (i= 0 ~ 5) -------------------- 수학식 12
결국, 에러의 위치는 6개의 Symbol 데이터 중 어느 하나가 될 것이며, 이를 수학식 12에 따라 S1과 일치하는 6개의 근을 살펴보면, S0 * α0 , S0
* α1 , S0 * α2 , S0 * α3 , S0 * α4 , S0 * α
5 가 된다. 따라서 상기 6개의 근 중 S1과 같은 어느 하나의 근은 에러의 위치가 되는 것이다. 상기 수학식 12는 에러의 위치를 찾기 위한 것이며, 이를 하드웨어로 구현하면 도 2와 같다.
도 2는 에러 위치 판별부로서, n 심볼 연산이 가능한 곱셈기(201), n 심볼 비교가 가능한 비교기(203)로 구성되며, 결과 출력단(205)를 포함하고 있다. 입력측으로는 이미 연산 출력된 Syndrome 정보 즉, S0, S1 정보가 입력된다. 물론 n 심볼로 입력되고 있다.
수학식 12에 따라 상기 S1와 같은 S0를 찾기 위해 상기 비교기(203)의 일측단으로 S1이 입력된다. S0는 곱셈기(201)의 일단으로 입력되며, 상기 곱셈기(201)의 결과값은 상기 비교기(203)의 타측단으로 입력된다. 따라서, S0 * αi 과 S1의 값이 비교기(203)로 입력되어 각 심볼별로 동일한가를 판단하는 것이다. 결과 출력단(205)은 S0 * αi 과 S1 같은 심볼만을 하이레벨로 출력하고 그 이외의 결과 값은 로우레벨로 출력한다. 이는 l0 ~ l5로 표시하며, 이중 어느 하나의 심볼가 하이 레벨로 절환되면 에러 값의 위치인 것이다. 비교기(203)와 곱셈기(201)를 통해 고속 에러 위치 판별이 가능한 것이다.
한편, 상기 Syndrome 생성에 대해 살펴보면, 먼저 Syndrome 즉 S0 , S1 은 상기 수학식 8에서 설명된 바와 같이 수신된 코드(R(X))는 PID 신호인 C(X)와 에러 코드인 E(X)로 표현되며 이를 Reed Solomon의 다항식인 riXi로 표현된 후, 이를 Syndrome으로 변환하는 것이다.
즉, R(X) = r5X5 + r4X4 + r3X3 + r
2X2 + r1X1 + r0X0
= ΣriXi (i = 0 ~ 5)
이다. 이 때, Syndrome 즉, R(X)에 Generator Polinomial의 해 α0 과 α1 를 대입한 S0 및 S1은 다음과 같다.
S0 = Σri (i=0 ~ 5) = r5 + r4 + r3 + r2
+ r1 + r0 -- 수학식 13
S1 = Σri * αi (i= 0 ~ 5)------------------------ 수학식 14
= r5 * α5 + r4 * α4 + r3 * α3 + r2 * α2 + r1 * α1 + r0 * α0
따라서 상기의 Syndrome S0 , S1 을 하드웨어로 구현하면 도 3과 같이, 연산된 정보를 기억하고 상호 연산시 동기를 이루도록 하는 제 1 레지스터(301), 제 2 레지스터(303)과, 상기 레지스터(301,303)의 입력단으로 Reed Solomon의 덧셈 연산을 위한 XOR 게이트(305,307)가 접속되고, Syndrome S1의 곱셈기(309)를 통한 결과 정보가 피드백되도록 구현된다.
상기 XOR 게이트(305,307)는 수학식 13 및 수학식 14의 각 항의 덧셈에 사용되며, 곱셈기(309)는 수학식 14의 곱셈에 사용된다. CLK는 클럭 펄스 신호로써 상기 레지스터(301,303)의 동기 제어를 위해 사용된다.
Syndrome S0는 수학식 13에서와 같이 제 2 레지스터(303)로 입력/저장되며, 저장된 결과 정보가 다시 피드백하여 전 상태에 저장된 정보와 XOR 논리를 수행한다. 그리고 수행된 결과 정보는 제 2 레지스터(303)에 저장되며, 현재 저장된 결과 정보가 다시 상기 XOR 게이트(307)를 통해 전 상태에 저장된 정보와 XOR 게이트를 수행하는 것이다. 물론, PID 데이터 및 패리티 데이터가 모두 6바이트로 실시예로 하고 있기 때문에, 제 2 레지스터(303)에는 6회에 걸쳐 적산된 정보를 저장하는 것이다. 6회에 걸쳐 저장된 적산 정보가 상기 Syndrome S0가 되는 것이다.
한편, Syndrome S1는 수학식 14에서와 같이 수신된 정보(R(X))의 근 α1 가 대입된 신호를 제 1 레지스터(301)에 저장하고, 저장된 정보 값을 곱셈기(309)를 통해 αi 을 연산한다. 상기 Syndrome S1에 대한 최초 입력값r5가 입력되면, 이를 제 1 레지스터(301)에 저장하고, 상기 r5값을 피드백시켜 곱셈기(309)를 통해 α1 값을 곱하여
다음 입력값인 r4와의 XOR 논리 즉, 덧셈을 수행하는 것이다. 그리고 수행된 결과 값을 제 1 레지스터(301)에 저장하고, 저장된 값을 상기 곱셈기(309)를 통해 α1 곱셈을 수행하고 다음입력값과 XOR 논리를 수행하여 지속적인 적산을 수행한다. 물론, 본 발명의 실시예에서 정의한 바와 같이 αi 는 0 ~ 5까지 이다. 이와 같은 절차를 통해 얻어진 값이 Syndrome S1이 되는 것이다.
그러면, 상기 Syndrome 생성 및 에러 위치 판별을 통해 에러 정보를 정정하기 위한 방법을 살펴보면 다음과 같다. 먼저 수학식 7 및 수학식 8에 기초하여 수신된 정보(R(X))는 ri로 표현하고, ri는 전송된 코드 ci 및 에러 신호 e
i로 이루어짐을 알 수 있다.
따라서, ri = ci + ei 에서 최초 전송된 코드 ci를 얻으면 다음과 같다.
ri + ei = ci + ei + ei
∴ ci = ri + ei = RCi ---------------- 수학식 15
한편, 상기 수학식 12에서 유추된 바와 같이 ei 는 S0이므로,
에러 수정된 정보 RCi = ri + S0와 같이 된다. 여기서 에러는 하나의 위치에서 발생한다고 가정했을 때 i는 에러 발생 위치가 될 것이며, 에러가 발생하지 않았을 경우에는 에러 수정된 정보 RCi 는 ri 가 된다. 따라서 수정해야 할 에러 정보가 없을 땐, RCi = ri + 0이 되고, 수정해야 할 에러 정보가 존재할 경우에는 RCi
= ri + S0가 되는 것이다. 물론 앞서 설명된 바와 같이 덧셈은 XOR 논리로 수행한다.
이와 같은 에러 수정은 도 4에 도시된 바와 같이, 에러가 존재하는 심볼에서만 상기 ri와 S0가 XOR 논리를 수행하며, 에러가 존재하지 않는 심볼에서는 ri
와 0(Zero)이 XOR 논리를 수행하는 것이다. 예시된 도면에서는 어느 하나의 심볼에서 에러 존재 여부를 판단하기 위한 에러 위치 정보(l0 ~ l5)에 기초하여 상기 S0
또는 Zero를 선택하도록 한 후, 상기 ri값과 XOR 논리를 수행토록 하는 것이다.
도 4에서는 셀렉터(sel0 ~ sle5)를 구비하여 에러 위치 정보(l0 ~ l5)를 통해 상기 셀렉터(sel0 ~ sle5)의 입력단 신호를 선택할 수 있도록 하고 셀렉터(sel0 ~ sle5)의 입력단은 일측으로 S0가, 타측으로 어스 즉, zero 가 입력되도록 하고 있으며, 상기 셀렉터(sel0 ~ sle5)의 출력단으로 XOR 논리가 수행되도록 XOR 게이트(401 ~ 411)를 구비한다. 그리고 상기 XOR 게이트(401 ~ 411)의 입력측으로 상기 ri값이 입력되도록 하여 해당 결과 값 RCi가 출력되도록 하고 있다.
이와 같은 에러 정정부는 상기 에러 위치 판별부로부터 에러의 위치 정보를 입력받고, 상기 Syndrome 생성회로에서 S0 값을 입력받아 현재 수신되는 데이터 ri를 보정하는 것이다. 예컨대, l3에서 에러가 발생할 경우 상기 에러 위치 판별부는 상기 l3만 하이레벨로 절환되고 나머지 출력은 로우레벨로 유지한다.
따라서 상기 셀렉터(sel 0 ~ sel 5)에서 셀렉터(sel 3)만이 셀렉터(sel 3)의 "1" 입력 단자만을 선택하고 나머지 셀렉터(sel 0 ~ sel 5, ≠sel 3)는 "0" 입력단자를 선택한다. 이로인해 상기 나머지 셀렉터(sel 0 ~ sel 5, ≠sel 3)는 그 출력 값이 "0"가 되며 각각의 XOR 게이트(401,403,405,409,411)로 "0"가 입력되며, 각각의 수신 정보 ri와 XOR 논리를 수행한다. 즉, 상기 XOR 게이트(401,403, 405,409,411)의 결과 정보는 r5, r4, r2, r1, r0 이 되는 것이다.
그러나, 상기 l3에서 하이레벨로 출력, 즉 에러 위치 판별부에서 l3이 에러 발생 위치로 판별될 경우, 상기 l3은 셀렉터(sel 3)의 "1"입력 단자의 신호가 유입되도록 제어함에 따라, 상기 "1" 입력 단자에 연결된 Ev 즉, S0가 입력된다. 상기 S0 값은 XOR 게이트(407)로 입력되고, 이와 동시에 상기 r3 값이 입력되어 XOR 게이트(407)의 출력은 r3 + S0가 되는 것이다. 이는 수학식 15에 관한 설명에서 기재된 바와 같이 에러 정정된 정보 RC3가 되는 것이다.
한편, 이상 설명된 하나의 심볼 에러 발생이외에, 둘 이상의 심볼 에러가 발생했을 경우를 설명하면 다음과 같다. 먼저, DVD-RAM의 PID에서 채택하고 있는 에러 정정 규정은 하나까지의 에러를 정정하도록 규정되어 있으며, 둘 이상의 에러가 발생하였을 때는 정정하지 못한다는 에러 플래그(Flag)를 발생시키도록 규정하고 있음에 따라, 본 발명에서도 둘 이상의 에러 발생시 플래그를 출력하도록 설계한다.
상기 에러 플래그, 즉 둘 이상의 에러가 발생했을 경우 이를 검출함에 있어, 먼저 에러 수정된 정보 RCi 는 하나의 에러를 정정한 것에 불과하므로, 둘 이상의 에러가 존재하고 있다면, 상기 에러 수정된 정보 RCi 에 대한 Syndrome S0는 "Zero"가 되지 않게 된다. 물론 S1 또한 "Zero"가 되지 않는다. 이는 둘 이상의 에러 발생시 둘 이상의 근이 동시에 해법으로 사용되지 않기 때문인데, 상기 에러 수정된 정보 RCi 자체가 하나의 근을 대입한 것에 불과하여 결국, "Zero"가 되지 않는다.
이것을 이용하여, 상기 에러 수정된 정보 RCi 를 최초의 수신된 정보로 가정하여 상기 수학식 14에 기초하여 새로운 Syndrome S1을 구하는 것이다. 즉 상기 RCi
를 ri로 간주하여 S1을 구하는 것이다. 이 때, 근은 α1 을 사용하며, 상기 α1 가 대입되었을 때 "Zero" 값을 갖는다면 이는 하나의 근(하나의 에러)이 존재하였던 정보가 되는 것이고, 상기 α1 를 대입하여 출력값 S1이 "Zero"가 아닐 경우에는 둘 이상의 근이 존재하는 정보 데이터인 것이다. 이는 상기 α1 가 하나의 에러가 발생했을 때 적용되는 근이기 때문이다.
따라서, RCi 를 ri로 간주하여 S1을 구하는 것은 수학식 14에 기초하여 상기 RCi 를 입력받아 곱셈기(501)를 통해 해당 결과값을 적산하기 위한 제 1 적산기(MUX1)로 구현된다. 또한 상기 RCi 를 ri로 간주하여 S0을 구하는 것은 수학식 13에 기초할 수 있다. 결국, S0 는 RCi 를 모두 적산하기 위한 제 2 적산기(MUX2)로 구현된다. 그리고, 상기 S1 및 S0 의 출력 값은 OR게이트(OR)를 통해 하나의 출력 값인 플래그 신호를 제공하는 것이다.
또한, 상기 RCi 를 병렬로 출력하므로서 에러 수정된 정보로 활용하도록 출력단(503)을 구비한다.
앞서 설명된 바와 같이, Syndrome 생성부(300)에서 S0 및 S1을 구하고, 상기 S0 및 S1을 통해 에러 위치 판별부(200)를 구현하고, 상기 에러 위치 판별부(200)를 통해 검출된 에러 정보의 위치 정보와 상기 S0 값을 통해 에러 정정부(400)를 구현함과 더불어, 에러 정정된 정보를 적산기를 거쳐 에러가 둘 이상인가를 판단하기 위한 에러 플래그 발생회로(500)를 구현하는 것이다. 이와 같이 구성된 PID에 대한 에러 정정부(600)는 도 6에 도시하고 있으며, 미설명된 쉬프트 레지스터(601)는 상기 에러 정정부(400)로 시리얼로 입력되는 입력 정보(R(I))를 병렬로 출력하기 위한 레지스터인 것이다.
한편, 상기 Syndrome 생성회로(300)는 상기 에러 플래그 발생부(500)에 사용되는 곱셈기(501) 및 제 1,2 적산기(MUX1,2)의 회로를 사용하여도 동일한 결과를 생성할 수 있으므로, 상기 Syndrome 생성회로(300) 또는 상기 곱셈기(501) 및 제 1,2 적산기(MUX1,2)를 본 회로에 공용으로 사용할 수 있음 또한 본 발명의 요지를 벗어나지 않을 것이다.
이상의 설명은 DVD RAM에서의 PID에 대한 에러 정정부를 나타내고 있으며, 이를 위해 Syndrome 생성, 에러 위치 판별, 에러 정정 및 에러 플래그 발생부를 각각으로 구현함으로써, 정정 결과에 대한 정오를 판정하는 플래그와 정정 결과에 대한 출력을 1 Code Word 구간에 처리할 수 있게 구현하여, 정정 시간을 1/3이하로 단축할 수 있는 효과를 얻는다. 또한, DVD-RAM의 PID에서의 ECC 규격을 분석하여 간략화된 최적의 회로를 구현함으로써 구현 회로를 대폭 축소되는 효과가 있다. 이는 단일 Code Word 구간내에서 처리함으로써 통상 3 구간에 걸쳐서 병렬 처리함에 따른 회로의 중복을 피해 하드웨어 설계가 이루어짐에 따른 결과라고 볼 수 있다.
이상에서 설명한 것은 본 발명에 따른 디브이디 램에서의 피아이디에 대한 에러 정정부를 실시하기 위한 하나의 실시예에 불과한 것으로, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
도 1은 종래 에러 정정을 위한 동작 순서를 나타낸 도표이고,
도 2는 본 발명에 따른 에러 위치 판별부를 나타낸 구성도이며,
도 3은 본 발명에 따른 신드롬(Syndrome) 생성부를 나타낸 구성도이고,
도 4는 본 발명에 따른 에러 정정부를 나타낸 구성도이며,
도 5는 본 발명에 따른 에러 플래그 발생부를 나타낸 구성도이고,
도 6은 본 발명의 전체 구성도이다.
<도면의 주요 부분에 대한 부호의 설명>
201, 309, 501 : 곱셈기 203 : 비교기
301, 303 : 제 1,2 레지스터 305, 307, 401~411 : XOR 게이트
sel 0 ~ sel 5 : 셀렉터 MUX1, MUX2 : 제 1,2 적산기
OR : OR 게이트 200 : 에러 위치 판별부
300 : 신드롬 생성부 400 : 에러 정정부
500 : 에러 플래그 발생부 601 : 쉬프트 레지스터
Claims (5)
- 디브이디 램(DVD RAM)에서의 피아이디(PID)에 대한 에러 정정 회로 구현에 있어서,소정 바이트(Byte)의 PID 데이터, 소정 바이트의 IED 데이터로 이루어진 최초 PID 정보 C(X) 및 에러 정보 E(X)를 포함한 입력 신호 R(X)를 입력받아 상기 R(X)의 Generator Polinomial의 근을 대입한 신드롬(Syndrome) S0 및 S1을 생성하기 위한 신드롬 생성부;상기 신드롬 S0 및 S1을 입력받아 수학식,S1 = ΣS0 * αi (i = 0 ~ 5)를 만족하는 에러 위치 i (i = 0 ~ n-1 n:코드 워드를 구성하는 심볼(Symbol) 수)값을 검출하기 위한 에러 위치 판별부; 및상기 검출된 에러 위치 i 값에 해당하는 수신 정보 ri 및 상기 신드롬 S0를 XOR 논리를 수행하여 에러 보정된 결과 값 RCi 를 생성하기 위한 에러 정정부;로 이루어진 것을 특징으로 하는 디브이디 램에서의 피아이디에 대한 에러 정정 회로.
- 제 1 항에 있어서, 상기 에러 정정부에서 생성된 상기 RCi 를 입력 신호 R(X)'로 가정하고, 상기 R(X)'의 Generator Polinomial의 근을 대입한 신드롬 S0 및 S1을 생성한 후, 상기 S0 및 S1의 정보를 상호 OR 논리를 수행하여 해당 결과를 플래그(Flag) 값으로 출력하기 위한 에러 플래그 발생부가 더 포함되는 것을 특징으로 하는 디브이디 램에서의 피아이디에 대한 에러 정정 회로.
- 제 1 항에 있어서, 상기 에러 위치 판별부는 상기 신드롬 S0 을 입력받아 각각의 심볼 단위별로 αi 의 곱셈 연산을 수행하기 위한 곱셈기와, 상기 곱셈기의 결과 정보와 상기 신드롬 S1을 상기 심볼 단위별로 비교 출력하기 위한 비교기로 이루어진 것을 특징으로 하는 디브이디 램에서의 피아이디에 대한 에러 정정 회로.
- 제 1 항에 있어서, 상기 에러 정정부는 상기 에러 위치 판별부로부터 검출된 에러 위치 정보에 기초하여 해당 에러 위치에 따른 상기 수신 정보 ri 를 선택하기 위한 셀렉터 및 상기 셀렉터에서 선택된 상기 수신 정보 ri 와 상기 신드롬 S0를 XOR 논리 수행기 위한 XOR 논리 게이트로 이루어진 것을 특징으로 하는 디브이디 램에서의 피아이디에 대한 에러 정정 회로.
- 제 2 항에 있어서, 상기 에러 플래그 발생부는 상기 R(X)'정보를 입력받아 각 심볼 단위별로 αi 의 곱셈 연산을 수행하기 위한 곱셈기;상기 곱셈기의 결과 정보를 적산하기 위한 제 1 적산기(MUX1);상기 R(X)'정보를 입력받아 각 심볼 단위별로 적산하기 위한 제 2 적산기 (MUX2);상기 제 1 적산기 및 제 2 적산기의 출력 결과를 OR 논리 수행하고 상기 OR 논리 수행 결과를 상기 플래그로 상정하기 위한 OR 게이트; 및상기 R(X)'의 정보를 보정된 결과 값으로 활용하기 위한 출력단으로 이루어진 것을 특징으로 하는 디브이디 램에서의 피아이디에 대한 에러 정정 회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0060957A KR100499878B1 (ko) | 2001-09-29 | 2001-09-29 | 디브이디 램에서의 피아이디에 대한 에러 정정 회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0060957A KR100499878B1 (ko) | 2001-09-29 | 2001-09-29 | 디브이디 램에서의 피아이디에 대한 에러 정정 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030027600A KR20030027600A (ko) | 2003-04-07 |
KR100499878B1 true KR100499878B1 (ko) | 2005-07-07 |
Family
ID=29563105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0060957A KR100499878B1 (ko) | 2001-09-29 | 2001-09-29 | 디브이디 램에서의 피아이디에 대한 에러 정정 회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100499878B1 (ko) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5592404A (en) * | 1993-11-04 | 1997-01-07 | Cirrus Logic, Inc. | Versatile error correction system |
KR19980059945A (ko) * | 1996-12-31 | 1998-10-07 | 구자홍 | 에러정정 장치 및 방법 |
KR19980065723A (ko) * | 1997-01-14 | 1998-10-15 | 김광호 | 디지탈 비디오 디스크 시스템의 데이타 처리 방법 및 장치 |
KR19990024299A (ko) * | 1997-08-09 | 1999-04-06 | 윤종용 | Dvd-ram의 pid검출방법 및 그 장치 |
JP2000100086A (ja) * | 1998-09-25 | 2000-04-07 | Hitachi Ltd | エラー検出・訂正方法および磁気ディスク装置 |
KR100258951B1 (ko) * | 1997-09-25 | 2000-06-15 | 윤종용 | 리드-솔로몬(rs) 복호기와 그 복호방법 |
JP2001189059A (ja) * | 1999-12-28 | 2001-07-10 | Nec Corp | 記録再生装置 |
-
2001
- 2001-09-29 KR KR10-2001-0060957A patent/KR100499878B1/ko not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5592404A (en) * | 1993-11-04 | 1997-01-07 | Cirrus Logic, Inc. | Versatile error correction system |
KR19980059945A (ko) * | 1996-12-31 | 1998-10-07 | 구자홍 | 에러정정 장치 및 방법 |
KR19980065723A (ko) * | 1997-01-14 | 1998-10-15 | 김광호 | 디지탈 비디오 디스크 시스템의 데이타 처리 방법 및 장치 |
KR19990024299A (ko) * | 1997-08-09 | 1999-04-06 | 윤종용 | Dvd-ram의 pid검출방법 및 그 장치 |
KR100258951B1 (ko) * | 1997-09-25 | 2000-06-15 | 윤종용 | 리드-솔로몬(rs) 복호기와 그 복호방법 |
JP2000100086A (ja) * | 1998-09-25 | 2000-04-07 | Hitachi Ltd | エラー検出・訂正方法および磁気ディスク装置 |
JP2001189059A (ja) * | 1999-12-28 | 2001-07-10 | Nec Corp | 記録再生装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20030027600A (ko) | 2003-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4413339A (en) | Multiple error detecting and correcting system employing Reed-Solomon codes | |
US4486882A (en) | System for transmitting binary data via a plurality of channels by means of a convolutional code | |
US5170399A (en) | Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack | |
KR930001071B1 (ko) | 에러 정정회로 | |
JP3234130B2 (ja) | 誤り訂正符号復号化方法およびこの方法を用いる回路 | |
US5610929A (en) | Multibyte error correcting system | |
JPH084233B2 (ja) | 誤り訂正符号の復号装置 | |
US5490154A (en) | Method of and circuit arrangement for decoding RS-coded data signals | |
JPH0380727A (ja) | データストリームのフレーム同期検出方法及び装置 | |
US4527269A (en) | Encoder verifier | |
JPH0728227B2 (ja) | Bch符号の復号装置 | |
KR100258952B1 (ko) | 새로운 다항식 배열 구조를 채용한 리드-솔로몬(rs) 복호기와그 복호방법 | |
JPS632370B2 (ko) | ||
US5592498A (en) | CRC/EDC checker system | |
KR19990026630A (ko) | 리드-솔로몬 복호기와 그 복호방법 | |
KR100499878B1 (ko) | 디브이디 램에서의 피아이디에 대한 에러 정정 회로 | |
US20040039978A1 (en) | Low-cost methods and devices for the decoding of product cases | |
KR100330642B1 (ko) | 오류정정방법및오류정정장치 | |
JP2001292066A (ja) | 誤り訂正装置および誤り訂正方法 | |
KR100397095B1 (ko) | 에러 검출 장치 및 그 방법 | |
JP3281938B2 (ja) | 誤り訂正装置 | |
JP3252515B2 (ja) | 誤り訂正装置 | |
US20080104487A1 (en) | Error detection apparatus and error detection method | |
KR100239798B1 (ko) | 디지털 신호의 재생에 있어 에러정정방법 및 그에 적용되는 장치 | |
JP2797570B2 (ja) | ユークリッドの互除回路 |
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 |