KR20150130813A - 노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 - Google Patents
노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 Download PDFInfo
- Publication number
- KR20150130813A KR20150130813A KR1020140057901A KR20140057901A KR20150130813A KR 20150130813 A KR20150130813 A KR 20150130813A KR 1020140057901 A KR1020140057901 A KR 1020140057901A KR 20140057901 A KR20140057901 A KR 20140057901A KR 20150130813 A KR20150130813 A KR 20150130813A
- Authority
- KR
- South Korea
- Prior art keywords
- elements
- pair
- noise
- generate
- function
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/01—Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/015—Simulation or testing of codes, e.g. bit error rate [BER] measurements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Quality & Reliability (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Error Detection And Correction (AREA)
Abstract
노이즈 생성기는 제1 함수에 근거하여 제1 시드들에 각각 대응하는 제1 엘리먼트들을 출력하고, 제2 함수에 근거하여 제2 시드들에 각각 대응하는 제2 엘리먼트들을 출력하도록 구성된 선택부, 상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제1 대응 관계에 근거하여 제1 패어 엘리먼트들을 생성하도록 구성된 제1 퍼뮤터 및 상기 제1 패어 엘리먼트들에 근거하여, 제1 노이즈를 생성하도록 구성된 제1 연산부를 포함하되, 상기 제1 함수 및 상기 제2 함수의 곱은 가우시안 랜덤 변수이다.
Description
본 발명은 노이즈 생성기에 관한 것으로, 더욱 상세하게는 복수의 노이즈 세트들을 생성할 수 있는 노이즈 생성기에 관한 것이다.
전기 시스템 또는 통신 시스템은 각종 신호들의 입력과 입력에 대한 응답을 통해 동작할 수 있다. 시스템 내부에서 각종 신호들은 전송 중에 발생한 에러를 포함할 수 있고, 에러들은 시스템의 오작동을 유발할 수 있다. 이를 방지하기 위해서 신호들에 발생된 에러를 검출하고 정정하기 위한 기술들이 다양한 방면으로 개발되는 추세에 있다. 예를 들어, ECC(Error Correction Code) 유닛은 에러 정정 동작을 수행하기 위해서 시스템에 포함될 수 있다. 다른 예로서, 테스트 장치는 가상의 환경에서 발생될 수 있는 에러들을 시스템에 입력하고 에러에 대한 시스템의 응답을 분석하여, 시스템이 올바르게 작동하는지를 테스트할 수 있다.
실시 예는 복수의 노이즈 세트들을 생성할 수 있는 노이즈 생성기를 제공하는데 있다.
실시 예에 따른 노이즈 생성기는 제1 함수에 근거하여 제1 시드들에 각각 대응하는 제1 엘리먼트들을 출력하고, 제2 함수에 근거하여 제2 시드들에 각각 대응하는 제2 엘리먼트들을 출력하도록 구성된 선택부, 상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제1 대응 관계에 근거하여 제1 패어 엘리먼트들을 생성하도록 구성된 제1 퍼뮤터 및 상기 제1 패어 엘리먼트들에 근거하여, 제1 노이즈를 생성하도록 구성된 제1 연산부를 포함하되, 상기 제1 함수 및 상기 제2 함수의 곱은 가우시안 랜덤 변수일 수 있다.
실시 예에 따른 ECC 유닛 검증 회로는 제1 데이터를 인코딩하여 제1 코드워드를 생성하도록 구성된 제1 ECC 유닛 및 상기 제1 코드워드에 삽입되는 제1 노이즈를 생성하도록 구성된 노이즈 생성기를 포함할 수 있다. 상기 노이즈 생성기는, 제1 함수에 근거하여 제1 시드들에 각각 대응하는 제1 엘리먼트들을 출력하고, 제2 함수에 근거하여 제2 시드들에 각각 대응하는 제2 엘리먼트들을 출력하도록 구성된 선택부; 상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제1 대응 관계에 근거하여 제1 패어 엘리먼트들을 생성하도록 구성된 제1 퍼뮤터 및 상기 제1 패어 엘리먼트들에 근거하여, 상기 제1 노이즈를 생성하도록 구성된 제1 연산부를 포함하고, 상기 제1 함수 및 상기 제2 함수의 곱은 가우시안 랜덤 변수일 수 있다.
실시 예에 따른 노이즈 생성기는 복수의 노이즈 세트들을 생성할 수 있다.
도1은 실시 예에 따른 노이즈 생성기를 개략적으로 도시한 블록도,
도2는 도1에 도시된 선택부의 동작을 설명하기 위한 도면,
도3은 도1에 도시된 제1 퍼뮤터의 동작 방법을 설명하기 위한 도면,
도4는 도1에 도시된 제1 연산부의 구성을 상세하게 도시한 회로도,
도5는 도1에 도시된 노이즈 생성기의 동작 방법을 설명하기 위한 순서도,
도6은 실시 예에 따른 노이즈 생성기를 개략적으로 도시한 블록도,
도7은 도6에 도시된 제2 퍼뮤터의 동작 방법을 설명하기 위한 도면,
도8은 도6에 도시된 제2 연산부의 구성을 상세하게 도시한 회로도,
도9는 도6에 도시된 노이즈 생성기를 포함하는 ECC 유닛 검증 회로를 개략적으로 도시한 블록도이다.
도2는 도1에 도시된 선택부의 동작을 설명하기 위한 도면,
도3은 도1에 도시된 제1 퍼뮤터의 동작 방법을 설명하기 위한 도면,
도4는 도1에 도시된 제1 연산부의 구성을 상세하게 도시한 회로도,
도5는 도1에 도시된 노이즈 생성기의 동작 방법을 설명하기 위한 순서도,
도6은 실시 예에 따른 노이즈 생성기를 개략적으로 도시한 블록도,
도7은 도6에 도시된 제2 퍼뮤터의 동작 방법을 설명하기 위한 도면,
도8은 도6에 도시된 제2 연산부의 구성을 상세하게 도시한 회로도,
도9는 도6에 도시된 노이즈 생성기를 포함하는 ECC 유닛 검증 회로를 개략적으로 도시한 블록도이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 실시 예에 따른 노이즈 생성기(10)를 개략적으로 도시한 블록도이다.
노이즈 생성기(10)는 제1 노이즈(rv1)를 생성할 수 있다. 생성된 제1 노이즈(rv1)는 전기 시스템 또는 통신 시스템에 입력되어, 데이터와 같은 신호가 전달되는 경로인 채널에서 발생될 수 있는 다양한 형태의 노이즈로서 해당 시스템에 영향을 끼칠 수 있다. 제1 노이즈(rv1)는 전기 시스템 또는 통신 시스템의 노이즈에 대한 반응을 살피기 위해서 사용될 수 있다.
노이즈 생성기(10)는 선택부(100), 제1 퍼뮤터(permuter, 200a) 및 제1 연산부(300a)를 포함할 수 있다.
선택부(100)는, 제1 함수에 근거하여 제1 시드들(sd_f<1:n>)에 각각 대응하는 제1 엘리먼트들(f<1:n>)을 출력할 수 있고, 제2 함수에 근거하여 제2 시드들(sd_g<1:n>)에 각각 대응하는 제2 엘리먼트들(g<1:n>)을 출력할 수 있다. 제1 함수 및 제2 함수의 곱은 가우시안 랜덤 변수일 수 있다.
제1 퍼뮤터(200a)는 제1 엘리먼트들(f<1:n>) 각각과 제2 엘리먼트들(g<1:n>) 각각을 대응시킨 제1 대응 관계에 근거하여 제1 패어 엘리먼트들(f_g1<1:n>)을 생성할 수 있다. 제1 퍼뮤터(200a)는 제1 인덱스 세트(idx1)에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 제1 패어 엘리먼트들(f_g1<1:n>)을 생성할 수 있다. 제1 대응 관계는 제1 인덱스 세트(idx1)에 근거하여, 제1 엘리먼트들(f<1:n>)과 제2 엘리먼트들(g<1:n>)이 일대일로 대응된 상태일 수 있다.
제1 연산부(300a)는 제1 패어 엘리먼트들(f_g1<1:n>)에 근거하여, 연산을 통해 제1 노이즈(rv1)를 생성할 수 있다.
노이즈 생성기(10)가 입력된 제1 시드들(sd_f<1:n>) 및 제2 시드들(sd_g<1:n>)에 근거하여 제1 노이즈(rv1)를 생성하는 일련의 동작은 1회의 노이즈 생성 동작으로 정의될 수 있다. 노이즈 생성기(10)는 매회의 노이즈 생성 동작마다 서로 다른 제1 시드들(sd_f<1:n>) 및 제2 시드들(sd_g<1:n>)을 입력받을 수 있고, 그 때마다 서로 다른 제1 노이즈들을 생성할 수 있다. 서로 다른 제1 노이즈들은 제1 노이즈 세트를 형성할 수 있다. 형성된 제1 노이즈 세트는 가우시안 분포 특성을 가질 수 있다. 노이즈 생성기(10)는 부가 백색 가우시안 노이즈(Additive White Gaussian Noise, AWGN)를 생성할 수 있다.
도2는 도1에 도시된 선택부(100)의 동작을 설명하기 위한 도면이다. 도2를 참조하면, 제1 함수에 근거하는 제1 테이블(lut_f) 및 제2 함수에 근거하는 제2 테이블(lut_g)을 포함하는 선택부(100)가 도시된다.
제1 시드들(sd_f<1:n>)로부터 제1 엘리먼트들(f<1:n>)을 생성하기 위한 제1 함수 및 제2 시드들(sd_g<1:n>)로부터 제2 엘리먼트들(g<1:n>)을 생성하기 위한 제2 함수의 곱은 가우시안 랜덤 변수일 수 있다. 다시 말하면, 제1 함수 및 제2 함수는 가우시안 랜덤 변수의 인자들일 수 있다. 예를 들어, 제1 함수 및 제2 함수는 가우시안 랜덤 변수를 생성하기 위한 박스-뮬러 방법(Box-Muller Method)에 근거하여 얻어진 인자들일 수 있다. 제1 함수(f)와 제2 함수(g)의 곱이 가우시안 랜덤 변수(rv)인 관계는 아래 식과 같이 표현될 수 있다.
rv=f(sd_f)*g(sd_g)
f(sd_f)=√(-ln(sd_f))
g(sd_g)=√(2)*cos(2π*(sd_g))
위 식을 참조하면, 제1 함수(f(sd_f))는 제1 시드(sd_f)의 함수일 수 있다. 제2 함수(g(sd_g))는 제2 시드(sd_g)의 함수일 수 있다.
도2를 참조하면, 선택부(100)는 제1 시드들(sd_f<1:n>) 및 제2 시드들(sd_g<1:n>)을 입력받을 수 있다. 제1 시드들(sd_f<1:n>) 및 제2 시드들(sd_g<1:n>)은 [0,1]의 범위에서, 서로 독립인 균등 랜덤 변수들로서 선택될 수 있다.
선택부(100)는 제1 함수에 근거하여 제1 시드들(sd_f<1:n>)에 각각 대응하는 제1 엘리먼트들(f<1:n>)을 출력할 수 있다. 선택부(100)는 제1 시드들(sd_f<1:n>)이 제1 함수의 식 f=√(-ln(sd_f))에 각각 대입된 값들을 제1 엘리먼트들(f<1:n>)로 출력할 수 있다. 예를 들어, 선택부(100)는 제1 함수에 근거한 제1 테이블(lut_f)을 참조하여 제1 엘리먼트들(f<1:n>)을 출력할 수 있다.
제1 테이블(lut_f)은 범위 [0,1] 사이에서 제1 시드들(sd_f)로서 입력될 수 있는 값들이 제1 함수의 식에 각각 대입된 값들, 즉, 제1 엘리먼트들(f)에 대한 정보를 포함할 수 있다. 예를 들어, 제1 테이블(lut_f)에서, 제1 시드(sd_f)가 0으로 입력되면, 그것에 대응하는 제1 엘리먼트(f)는 제1 함수에 근거하여 무한대로 발산하는 값일 수 있다. 다른 예로서, 제1 테이블(lut_f)에서, 제1 시드(sd_f)가 1로 입력되면, 그것에 대응하는 제1 엘리먼트(f)는 제1 함수에 근거하여 0일 수 있다. 제1 테이블(lut_f)은 입력된 제1 시드들(sd_f<1:n>)에 각각 대응하는 제1 엘리먼트들(f<1:n>)에 대한 정보를 포함할 수 있다.
선택부(100)는 제2 함수에 근거하여 제2 시드들(sd_g<1:n>)에 각각 대응하는 제2 엘리먼트들(g<1:n>)을 출력할 수 있다. 선택부(100)는 제2 시드들(sd_g<1:n>)이 제2 함수의 식 g=√(2)*cos(2π*(sd_g))에 각각 대입된 값들을 제2 엘리먼트들(g<1:n>)로 출력할 수 있다. 예를 들어, 선택부(100)는 제2 함수에 근거한 제2 테이블(lut_g)을 참조하여 제2 엘리먼트들(g<1:n>)을 출력할 수 있다.
제2 테이블(lut_g)은 범위 [0,1] 사이에서 제2 시드들(sd_g)로서 입력될 수 있는 값들이 제2 함수의 식에 각각 대입된 값들, 즉, 제2 엘리먼트들(g)에 대한 정보를 포함할 수 있다. 예를 들어, 제2 테이블(lut_g)에서 제2 시드(sd_g)가 0으로 입력되면, 그것에 대응하는 제2 엘리먼트(g)는 제2 함수에 근거하여 √2일 수 있다. 다른 예로서, 제2 테이블(lut_g)에서 제2 시드(sd_g)가 1로 입력되면, 그것에 대응하는 제2 엘리먼트(g)는 제2 함수에 근거하여 √2일 수 있다. 제2 테이블(lut_g)은 입력된 제2 시드들(sd_g<1:n>)에 각각 대응하는 제2 엘리먼트들(g<1:n>)에 대한 정보를 포함할 수 있다.
도3은 도1에 도시된 제1 퍼뮤터(200a)의 동작 방법을 설명하기 위한 도면이다. 도3을 참조하면 제1 대응 관계로 정렬된 제1 엘리먼트들(f<1:n>) 및 제2 엘리먼트들(g<1:n>), 그리고, 제1 패어 엘리먼트들(f_g1<1:n>)이 도시된다.
제1 퍼뮤터(200a)는 선택부(100)로부터 출력된 제1 엘리먼트들(f<1:n>)과 제2 엘리먼트들(g<1:n>)을 제1 대응 관계로 셋팅할 수 있다. 제1 대응 관계는 제1 인덱스 세트(idx1)에 근거하여 제1 엘리먼트들(f<1:n>)과 제2 엘리먼트들(g<1:n>)이 일대일 대응된 상태일 수 있다. 예를 들어, 제1 엘리먼트 f<1>는 제2 엘리먼트 g<1>와 대응될 수 있다. 다른 예로서, 제1 엘리먼트 f<n>는 제2 엘리먼트 g<n>와 대응될 수 있다.
인덱스 세트는 제1 엘리먼트들(f<1:n>) 각각에 대응하는 제2 엘리먼트들(g<1:n>) 각각의 인덱스들이 열거된 것일 수 있다. 인덱스 세트는 제1 엘리먼트들(f<1:n>)의 순차적으로 고정된 인덱스 배열에 대응하는 제2 엘리먼트들(g<1:n>)의 인덱스 배열을 나타낼 수 있다. 예를 들어, 제1 인덱스 세트(idx1)는 제1 엘리먼트들(f<1:n>)의 순차적인 인덱스 배열 {1, 2, …, n-1, n}에 대응하는 제2 엘리먼트들(g<1:n>)의 인덱스 배열 {1, 2, …, n-1, n}을 의미할 수 있다.
다시 도3을 참조하면, 제1 퍼뮤터(200a)는 제1 대응 관계에 근거하여 서로 대응하는 하나의 제1 엘리먼트(f)와 하나의 제2 엘리먼트(g)의 쌍으로 각각 구성된 제1 패어 엘리먼트들(f_g1<1:n>)을 생성할 수 있다. 예를 들어, 제1 패어 엘리먼트 f_g1<1>는 서로 대응하는 제1 엘리먼트 f<1>와 제2 엘리먼트 f<1>로 구성될 수 있다. 생성된 제1 패어 엘리먼트들(f_g1<1:n>)은 제1 연산부(300a)로 제공될 수 있다.
도4는 도1에 도시된 제1 연산부(300a)의 구성을 상세하게 도시한 회로도이다.
제1 퍼뮤터(200a)로부터 출력된 제1 패어 엘리먼트들(f_g1<1:n>) 각각을 구성하는 제1 엘리먼트(f)와 제2 엘리먼트(g)의 곱들은 위의 식을 참조하여 설명된 제1 함수와 제2 함수의 특성에 따라서 가우시안 분포 특성을 가질 수 있다. 제1 연산부(300a)는 제1 엘리먼트(f)와 제2 엘리먼트(g)의 곱들에 대해 중심 극한 정리(Central Limit Theorem)에 따른 연산을 수행하고, 더욱 개선된 가우시안 분포 특성을 가진 제1 노이즈(rv1)를 생성할 수 있다.
도4를 참조하면, 제1 연산부(300a)는 제1 패어 엘리먼트들(f_g1<1:n>)에 근거하여 연산을 통해 제1 노이즈(rv1)를 생성할 수 있다. 제1 연산부(300a)는 승산기들(m_a<1:n>, m_a) 및 합산기(ad_a)를 포함할 수 있다. 승산기들(m_a<1:n>)은 제1 패어 엘리먼트들(f_g1<1:n>) 각각을 구성하는 서로 대응하는 제1 엘리먼트(f)와 제2 엘리먼트(g)를 곱할 수 있다. 그리고, 합산기(ad_a)는 곱셈 결과들을 더하고, 승산기(m_a)는 덧셈 결과와 1/√n을 곱할 수 있다. 제1 연산부(300a)는 승산기(m_a)의 출력을 제1 노이즈(rv1)로 출력할 수 있다.
도5는 도1에 도시된 노이즈 생성기(10)의 동작 방법을 설명하기 위한 순서도이다.
이하, 도1 내지 도5를 참조하여 노이즈 생성기(10)의 동작 방법을 상세하게 설명한다.
S110 단계에서, 선택부(100)는 제1 시드들(sd_f<1:n>) 및 제2 시드들(sd_g<1:n>)을 입력받을 수 있다. 제1 시드들(sd_f<1:n>) 및 제2 시드들(sd_g<1:n>)은 [0,1]의 범위에서 서로 독립인 균등 랜덤 변수들로서 선택될 수 있다.
S120 단계에서, 선택부(100)는 제1 테이블(lut_f)을 참조하여 제1 시드들(sd_f<1:n>)에 각각 대응하는 제1 엘리먼트들(f<1:n>)을 출력하고, 제2 테이블(lut_g)을 참조하여 제2 시드들(sd_g<1:n>)에 각각 대응하는 제2 엘리먼트들(g<1:n>)을 출력할 수 있다.
S130 단계에서, 제1 퍼뮤터(200a)는 제1 엘리먼트들(f<1:n>) 각각과 제2 엘리먼트들(g<1:n>) 각각을 대응시킨 제1 대응 관계에 근거하여, 제1 패어 엘리먼트들(f_g1<1:n>)을 생성할 수 있다.
S140 단계에서, 제1 연산부(300a)는 제1 패어 엘리먼트들(f_g1<1:n>)에 근거하여, 제1 노이즈(rv1)를 생성할 수 있다. 제1 연산부(300a)는 중심 극한 정리에 따른 연산을 수행하고, 더욱 개선된 가우시안 분포 특성을 가진 제1 노이즈(rv1)를 생성할 수 있다.
도6은 실시 예에 따른 노이즈 생성기(20)를 개략적으로 도시한 블록도이다. 도6에 있어서, 도1의 노이즈 생성기(10)의 구성 요소와 실질적으로 동일한 구성 요소에 대해서는 도1과 동일한 참조 부호가 사용될 것이고, 해당 구성 요소에 대한 상세한 설명은 생략될 것이다.
노이즈 생성기(20)는 선택부(100), 제1 퍼뮤터(200a), 제1 연산부(300a), 제2 퍼뮤터(200b) 및 제2 연산부(300b)를 포함할 수 있다.
제2 퍼뮤터(200b)는 제1 엘리먼트들(f<1:n>) 각각과 제2 엘리먼트들(g<1:n>) 각각을 대응시킨 제2 대응 관계에 근거하여 제2 패어 엘리먼트들(f_g2<1:n>)을 생성할 수 있다. 제2 퍼뮤터(200b)는 제2 인덱스 세트(idx2)에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 제2 패어 엘리먼트들(f_g2<1:n>)을 생성할 수 있다. 제2 대응 관계는 제2 인덱스 세트(idx2)에 근거하여, 제1 엘리먼트들(f<1:n>)과 제2 엘리먼트들(g<1:n>)이 일대일로 대응된 상태일 수 있다.
제2 연산부(300b)는 제2 패어 엘리먼트들(f_g2<1:n>)에 근거하여, 연산을 통해 제2 노이즈(rv2)를 생성할 수 있다.
제1 인덱스 세트(idx1)와 제2 인덱스 세트(idx2)는 서로 다르게 구성될 수 있기 때문에, 제1 퍼뮤터(200a)에 의해 형성되는 제1 대응 관계와 제2 퍼뮤터(200b)에 의해 형성되는 제2 대응 관계는 서로 다를 수 있다. 따라서, 제1 퍼뮤터(200a)와 제2 퍼뮤터(200b)는 제1 패어 엘리먼트들(f_g1<1:n>) 및 제2 패어 엘리먼트들(f_g2<1:n>)을 서로 다르게 생성할 수 있고, 제1 연산부(300a)와 제2 연산부(300b)는 제1 노이즈(rv1) 및 제2 노이즈(rv2)도 서로 다르게 생성할 수 있다.
노이즈 생성기(20)는 1회의 노이즈 생성 동작을 통해 서로 다른 제1 노이즈(rv1)와 제2 노이즈(rv2)를 동시에 생성할 수 있다. 노이즈 생성기(10)는 매회의 노이즈 생성 동작마다 서로 다른 제1 시드들(sd_f<1:n>) 및 제2 시드들(sd_g<1:n>)을 입력받을 수 있고, 그 때마다 서로 다른 제1 노이즈들, 즉, 제1 노이즈 세트를 생성하는 동시에 서로 다른 제2 노이즈들, 즉, 제2 노이즈 세트를 생성할 수 있다. 생성된 제1 노이즈 세트 및 제2 노이즈 세트는 각각 가우시안 분포 특성을 가질 수 있다.
도6은 노이즈 생성기(20)가 두 개의 퍼뮤터들(200a, 200b) 및 두 개의 연산부들(300a, 300b)을 포함하는 것으로 도시하나, 실시 예에 따라 노이즈 생성기는 세 개 이상의 퍼뮤터들 및 세 개 이상의 연산부들을 포함할 수 있다. 이러한 경우, 노이즈 생성기는 매회의 노이즈 생성 동작마다 세 개 이상의 노이즈들을 생성할 수 있다.
도7은 도6에 도시된 제2 퍼뮤터(200b)의 동작 방법을 설명하기 위한 도면이다. 도7을 참조하면 제2 대응 관계로 정렬된 제1 엘리먼트들(f<1:n>) 및 제2 엘리먼트들(g<1:n>), 그리고, 제2 패어 엘리먼트들(f_g2<1:n>)이 도시된다.
제2 퍼뮤터(200b)는 제1 퍼뮤터(200a)와 비교하여, 제2 인덱스 세트(idx2)를 참조한다는 점을 제외하고, 실질적으로 동일한 구성을 가지고 동일하게 동작할 수 있다. 제2 퍼뮤터(200b)는 제2 인덱스 세트(idx2)에 근거하여 선택부(100)로부터 출력된 제1 엘리먼트들(f<1:n>)과 제2 엘리먼트들(g<1:n>)을 도3의 제1 대응 관계와 서로 다른 제2 대응 관계로 셋팅할 수 있다. 제2 대응 관계에서, 예를 들어, 제1 엘리먼트 f<1>는 제2 엘리먼트 g<2>와 대응될 수 있다. 다른 예로서, 제1 엘리먼트 f<n>는 제2 엘리먼트 g<1>와 대응될 수 있다.
앞서 정의한 바와 같이, 인덱스 세트는 제1 엘리먼트들(f<1:n>)의 순차적으로 고정된 인덱스 배열에 대응하는 제2 엘리먼트들(g<1:n>)의 인덱스 배열을 나타낼 수 있다. 예를 들어, 제2 인덱스 세트(idx2)는 제1 엘리먼트들(f<1:n>)의 순차적인 인덱스 배열 {1, 2, …, n-2, n-1, n}에 대응하는 제2 엘리먼트들(g<1:n>)의 인덱스 배열 {2, 3, …, n-1, n, 1}을 의미할 수 있다.
다시 도7을 참조하면, 제2 퍼뮤터(200b)는 제2 대응 관계에 근거하여 서로 대응하는 하나의 제1 엘리먼트(f)와 하나의 제2 엘리먼트(g)의 쌍으로 각각 구성된 제2 패어 엘리먼트들(f_g2<1:n>)을 생성할 수 있다. 예를 들어, 제2 패어 엘리먼트 f_g2<1>는 서로 대응하는 제1 엘리먼트 f<1>와 제2 엘리먼트 g<2>로 구성될 수 있다. 생성된 제2 패어 엘리먼트들(f_g2<1:n>)은 제2 연산부(300b)로 제공될 수 있다.
도8은 도6에 도시된 제2 연산부(300b)의 구성을 상세하게 도시한 회로도이다.
제2 연산부(300b)는 제1 연산부(300a)와 비교하여, 실질적으로 동일한 구성을 가지고 동일하게 동작할 수 있다. 제2 연산부(300b)는 제2 패어 엘리먼트들(f_g2<1:n>)에 근거하여 연산을 통해 제2 노이즈(rv2)를 생성할 수 있다. 제2 연산부(300b)는 승산기들(m_b<1:n>, m_b) 및 합산기(ad_b)를 포함할 수 있다.
도9는 도6에 도시된 노이즈 생성기(20)를 포함하는 ECC 유닛 검증 회로(1000)를 개략적으로 도시한 블록도이다.
ECC 유닛 검증 회로(1000)는 제1 ECC 유닛(1100), 제2 ECC 유닛(1200), 노이즈 생성기(20) 및 판단부(1300)를 포함할 수 있다.
제1 ECC 유닛(1100)은 데이터(d1)에 발생된 에러를 검출하고 정정하는 에러 정정 동작을 수행할 수 있다. 제1 ECC 유닛(1100)은 제1 인코더(1110) 및 제1 디코더(1120)를 포함할 수 있다.
제1 인코더(1110)는 입력된 데이터(d1)에 추후에 발생될 에러를 검출하고 정정할 수 있도록, 데이터(d1)를 인코딩할 수 있다. 제1 인코더(1110)는 인코딩 시, 데이터(d1)의 패리티 데이터를 생성하고, 생성된 패리티 데이터를 데이터(d1)에 부가하여 제1 코드워드(c1)를 생성할 수 있다.
제1 디코더(1120)는 제1 노이즈 세트({rv1})가 제1 코드워드(c1)에 노이즈로서 삽입된 에러 발생 코드워드(c_n1)의 에러를 검출하고 정정할 수 있다. 제1 디코더(1120)는 에러 정정된 제1 코드워드를 인코딩하기 전의 본래의 데이터(d_c1)로 디코딩하여 출력할 수 있다.
제2 ECC 유닛(1200)은 제2 인코더(1210) 및 제2 디코더(1220)를 포함할 수 있다. 제2 인코더(1210) 및 제2 디코더(1220)의 구성 및 동작 방법은 제1 인코더(1110) 및 제1 디코더(1120)의 구성 및 동작 방법과 실질적으로 동일할 수 있으므로 상세한 설명은 생략될 것이다.
노이즈 생성기(20)의 구성 및 동작 방법은 도6에 도시된 노이즈 생성기(20)의 구성 및 동작 방법과 실질적으로 동일할 수 있다. 노이즈 생성기(20)는 가우시안 분포 특성을 각각 가지는 제1 노이즈 세트({rv1}) 및 제2 노이즈 세트({rv2})를 생성하고 출력할 수 있다. 제1 노이즈 세트({rv1})는 제1 인코더(1110)로부터 출력된 제1 코드워드(c1)에 합산기(ad1)를 통하여 노이즈, 즉, 에러로서 삽입될 수 있다. 제2 노이즈 세트({rv2})는 제2 인코더(1210)로부터 출력된 제2 코드워드(c2)에 합산기(ad2)를 통하여 노이즈, 즉, 에러로서 삽입될 수 있다.
노이즈 생성기(20)는 제1 및 제2 노이즈 세트들({rv1}, {rv2})을 실질적으로 동시에 생성할 수 있다. 동시에 생성된 제1 및 제2 노이즈 세트들({rv1}, {rv2}) 각각은 제1 및 제2 코드워드들(c1, c2) 각각에 에러로서 실질적으로 동시에 삽입될 수 있다. 제1 및 제2 ECC 유닛들(1100, 1200) 각각은 에러 정정 동작을 실질적으로 동시에 수행할 수 있다.
판단부(1300)는 제1 ECC 유닛(1100) 및 제2 ECC 유닛(1200)이 정상적으로 동작하는지 여부를 판단할 수 있다. 즉, 판단부(1300)는 제1 디코더(1120) 및 제2 디코더(1220)가 코드워드들(c1, c2)에 발생한 에러를 제대로 검출하고 정정했는지 여부를 판단할 수 있다. 예를 들어, 판단부(1300)는 제1 ECC 유닛(1100) 및 제2 ECC 유닛(1200)에 대해 입출력된 데이터들(d1, d_c1, d2, d_c2)의 참조 및 비교를 통해 제1 ECC 유닛(1100) 및 제2 ECC 유닛(1200)의 성능을 검증할 수 있다. 제1 및 제2 ECC 유닛들(1100, 1200)이 실질적으로 동시에 에러 정정 동작을 수행하는 경우, 판단부(1300)는 제1 및 제2 ECC 유닛들(1100, 1200) 각각의 성능을 실질적으로 동시에 검증할 수 있다.
실시 예에 따른 ECC 유닛 검증 회로(1000)는 복수의 ECC 유닛들 각각의 성능을 실질적으로 동시에 검증할 수 있으므로, 검증 시간이 단축될 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 노이즈 생성기
100 : 선택부
200a : 제1 퍼뮤터
200b : 제2 퍼뮤터
300a : 제1 연산부
300b : 제2 연산부
100 : 선택부
200a : 제1 퍼뮤터
200b : 제2 퍼뮤터
300a : 제1 연산부
300b : 제2 연산부
Claims (15)
- 제1 함수에 근거하여 제1 시드들에 각각 대응하는 제1 엘리먼트들을 출력하고, 제2 함수에 근거하여 제2 시드들에 각각 대응하는 제2 엘리먼트들을 출력하도록 구성된 선택부;
상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제1 대응 관계에 근거하여 제1 패어 엘리먼트들을 생성하도록 구성된 제1 퍼뮤터; 및
상기 제1 패어 엘리먼트들에 근거하여, 제1 노이즈를 생성하도록 구성된 제1 연산부를 포함하되,
상기 제1 함수 및 상기 제2 함수의 곱은 가우시안 랜덤 변수인 노이즈 생성기. - 제1항에 있어서,
상기 제1 퍼뮤터는,
제1 인덱스 세트에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 상기 제1 패어 엘리먼트들을 생성하는 노이즈 생성기. - 제1항에 있어서,
상기 선택부는,
상기 제1 시드들과 상기 제1 엘리먼트들의 대응 관계에 대한 정보를 포함하는 제1 테이블 및 상기 제2 시드들과 상기 제2 엘리먼트들의 대응 관계에 대한 정보를 포함하는 제2 테이블을 참조하는 노이즈 생성기. - 제1항에 있어서,
상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 제2 대응 관계에 근거하여 제2 패어 엘리먼트들을 생성하도록 구성된 제2 퍼뮤터를 더 포함하되,
상기 제1 대응 관계와 상기 제2 대응 관계는 서로 다른 노이즈 생성기. - 제4항에 있어서,
상기 제2 퍼뮤터는,
제2 인덱스 세트에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 상기 제2 패어 엘리먼트들을 생성하는 노이즈 생성기. - 제4항에 있어서,
상기 제2 패어 엘리먼트들에 근거하여, 제2 노이즈를 생성하도록 구성된 제2 연산부를 더 포함하는 노이즈 생성기. - 제1 데이터를 인코딩하여 제1 코드워드를 생성하도록 구성된 제1 ECC 유닛; 및
상기 제1 코드워드에 삽입되는 제1 노이즈를 생성하도록 구성된 노이즈 생성기를 포함하되,
상기 노이즈 생성기는,
제1 함수에 근거하여 제1 시드들에 각각 대응하는 제1 엘리먼트들을 출력하고, 제2 함수에 근거하여 제2 시드들에 각각 대응하는 제2 엘리먼트들을 출력하도록 구성된 선택부;
상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제1 대응 관계에 근거하여 제1 패어 엘리먼트들을 생성하도록 구성된 제1 퍼뮤터; 및
상기 제1 패어 엘리먼트들에 근거하여, 상기 제1 노이즈를 생성하도록 구성된 제1 연산부를 포함하고,
상기 제1 함수 및 상기 제2 함수의 곱은 가우시안 랜덤 변수인 ECC 유닛 검증 회로. - 제7항에 있어서,
상기 제1 퍼뮤터는,
제1 인덱스 세트에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 상기 제1 패어 엘리먼트들을 생성하는 ECC 유닛 검증 회로. - 제7항에 있어서,
상기 선택부는,
상기 제1 시드들과 상기 제1 엘리먼트들의 대응 관계에 대한 정보를 포함하는 제1 테이블 및 상기 제2 시드들과 상기 제2 엘리먼트들의 대응 관계에 대한 정보를 포함하는 제2 테이블을 참조하는 ECC 유닛 검증 회로. - 제7항에 있어서,
상기 노이즈 생성기는 상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제2 대응 관계에 근거하여 제2 패어 엘리먼트들을 생성하도록 구성된 제2 퍼뮤터를 더 포함하고,
상기 제1 대응 관계와 상기 제2 대응 관계는 서로 다른 ECC 유닛 검증 회로. - 제10항에 있어서,
상기 제2 퍼뮤터는,
제2 인덱스 세트에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 상기 제2 패어 엘리먼트들을 생성하는 ECC 유닛 검증 회로. - 제10항에 있어서,
상기 노이즈 생성기는 상기 제2 패어 엘리먼트들에 근거하여, 제2 노이즈를 생성하도록 구성된 제2 연산부를 더 포함하는 ECC 유닛 검증 회로. - 제12항에 있어서,
제2 데이터를 인코딩하여 제2 코드워드를 생성하도록 구성된 제2 ECC 유닛을 더 포함하되,
상기 제2 노이즈는 상기 제2 코드워드에 삽입되는 ECC 유닛 검증 회로. - 제13항에 있어서,
상기 노이즈 생성기는 상기 제1 및 제2 노이즈들을 동시에 생성하고,
상기 제1 및 제2 노이즈들 각각은 상기 제1 및 제2 코드워드들 각각에 동시에 삽입되고,
상기 제1 및 제2 ECC 유닛들 각각은 에러 정정 동작을 동시에 수행하는 ECC 유닛 검증 회로. - 제7항에 있어서,
상기 제1 ECC 유닛이 상기 제1 코드워드에 발생한 에러를 제대로 검출하고 정정했는지 여부를 판단하도록 구성된 판단부를 더 포함하는 ECC 유닛 검증 회로.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140057901A KR20150130813A (ko) | 2014-05-14 | 2014-05-14 | 노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 |
US14/446,029 US9298422B2 (en) | 2014-05-14 | 2014-07-29 | Noise generator, integrated circuit including the same, and operation method thereof |
TW104110944A TWI660597B (zh) | 2014-05-14 | 2015-04-02 | 雜訊產生器、包括雜訊產生器的積體電路、及其操作方法 |
CN201510242810.2A CN105099465A (zh) | 2014-05-14 | 2015-05-13 | 噪声发生器、包括噪声发生器的集成电路及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140057901A KR20150130813A (ko) | 2014-05-14 | 2014-05-14 | 노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150130813A true KR20150130813A (ko) | 2015-11-24 |
Family
ID=54538552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140057901A KR20150130813A (ko) | 2014-05-14 | 2014-05-14 | 노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9298422B2 (ko) |
KR (1) | KR20150130813A (ko) |
CN (1) | CN105099465A (ko) |
TW (1) | TWI660597B (ko) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220568A (en) * | 1988-05-31 | 1993-06-15 | Eastman Kodak Company | Shift correcting code for channel encoded data |
JP3318291B2 (ja) * | 1999-08-31 | 2002-08-26 | 株式会社環境電磁技術研究所 | 擬似雑音発生装置 |
US6910165B2 (en) * | 2001-02-28 | 2005-06-21 | International Business Machines Corporation | Digital random noise generator |
KR100567536B1 (ko) | 2003-07-01 | 2006-04-05 | 엘지전자 주식회사 | 테스트 채널의 노이즈 생성 장치 및 방법 |
WO2005119678A1 (en) * | 2004-06-02 | 2005-12-15 | Koninklijke Philips Electronics N.V. | Encoding and decoding apparatus and corresponding methods |
US7432986B2 (en) * | 2005-02-16 | 2008-10-07 | Lsi Corporation | Method and apparatus for masking of video artifacts and/or insertion of film grain in a video decoder |
US8418023B2 (en) * | 2007-05-01 | 2013-04-09 | The Texas A&M University System | Low density parity check decoder for irregular LDPC codes |
CN100462986C (zh) * | 2007-09-13 | 2009-02-18 | 南京大学 | 基于可编程门阵列的低密度奇偶校验编解码硬件仿真系统 |
US8078943B1 (en) * | 2008-05-23 | 2011-12-13 | Western Digital Technologies, Inc. | Error correction code for correcting shift and additive errors |
KR101818671B1 (ko) * | 2011-04-19 | 2018-02-28 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 시스템 및 그것의 랜덤 데이터 읽기 방법 |
KR101811298B1 (ko) * | 2011-12-28 | 2017-12-27 | 삼성전자주식회사 | 랜덤마이져로 씨드를 제공하는 씨드 컨트롤러 및 그것을 포함한 메모리 컨트롤러 |
CN106291011B (zh) * | 2016-08-22 | 2018-12-28 | 重庆邮电大学 | 一种基于fpga的随机脉冲发生器 |
-
2014
- 2014-05-14 KR KR1020140057901A patent/KR20150130813A/ko not_active Application Discontinuation
- 2014-07-29 US US14/446,029 patent/US9298422B2/en active Active
-
2015
- 2015-04-02 TW TW104110944A patent/TWI660597B/zh active
- 2015-05-13 CN CN201510242810.2A patent/CN105099465A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
TWI660597B (zh) | 2019-05-21 |
TW201543831A (zh) | 2015-11-16 |
CN105099465A (zh) | 2015-11-25 |
US20150331670A1 (en) | 2015-11-19 |
US9298422B2 (en) | 2016-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180357530A1 (en) | Deep learning decoding of error correcting codes | |
US4486882A (en) | System for transmitting binary data via a plurality of channels by means of a convolutional code | |
Guruswami et al. | Maximum-likelihood decoding of Reed-Solomon codes is NP-hard | |
EP2946348A1 (en) | Syndrome of degraded quantum redundancy coded states | |
CN104205647A (zh) | 用于前向纠错(fec)码的性能评估的方法和设备 | |
EP2533450B1 (en) | Method and device for data check processing | |
Goli et al. | Universal bounds on the scaling behavior of polar codes | |
US9471416B2 (en) | Partitioned error code computation | |
US20160373133A1 (en) | Systems and methods for interleaved coded modulation with convolutional coding-based low-density parity check codes | |
CN110971243B (zh) | 解码bch编码码字的系统和方法 | |
CN104348588A (zh) | 多位错误的有效错误校正 | |
Xiao et al. | Error correction in polynomial remainder codes with non-pairwise coprime moduli and robust Chinese remainder theorem for polynomials | |
JP7116374B2 (ja) | 短縮レイテンシ誤り訂正復号 | |
CN108886369B (zh) | 用于执行里德-所罗门编码的方法和装置 | |
KR20150130813A (ko) | 노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 | |
US9645883B2 (en) | Circuit arrangement and method for realizing check bit compacting for cross parity codes | |
US9236890B1 (en) | Decoding a super-code using joint decoding of underlying component codes | |
KR20140091087A (ko) | 병렬 bch 복호기를 위한 고속 소면적의 수정된 스텝-바이-스텝 복호 방법 및 그 연산 회로 | |
Siap et al. | Reversible cellular automata with penta-cyclic rule and ECCs | |
RU2542665C1 (ru) | Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации | |
TWI551059B (zh) | 用於具有不同GF(2m)中m值的BCH碼之多模式秦式搜尋電路 | |
WO2016045292A1 (zh) | 一种预编码矩阵的生成装置和方法、存储介质 | |
Zhang et al. | A Hybrid Fault Tolerant Approach for AES. | |
JP6351530B2 (ja) | 通信装置及び制御方法 | |
CN117785859A (zh) | 数据校验方法、装置、设备、介质和计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |