KR20150130813A - 노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 - Google Patents

노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 Download PDF

Info

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
Application number
KR1020140057901A
Other languages
English (en)
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 KR1020140057901A priority Critical patent/KR20150130813A/ko
Priority to US14/446,029 priority patent/US9298422B2/en
Priority to TW104110944A priority patent/TWI660597B/zh
Priority to CN201510242810.2A priority patent/CN105099465A/zh
Publication of KR20150130813A publication Critical patent/KR20150130813A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/01Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/015Simulation or testing of codes, e.g. bit error rate [BER] measurements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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 유닛 검증 회로{NOISE GENERATOR AND CIRCUIT OF TESTING FOR ECC UNIT INCLUDING THE SAME}
본 발명은 노이즈 생성기에 관한 것으로, 더욱 상세하게는 복수의 노이즈 세트들을 생성할 수 있는 노이즈 생성기에 관한 것이다.
전기 시스템 또는 통신 시스템은 각종 신호들의 입력과 입력에 대한 응답을 통해 동작할 수 있다. 시스템 내부에서 각종 신호들은 전송 중에 발생한 에러를 포함할 수 있고, 에러들은 시스템의 오작동을 유발할 수 있다. 이를 방지하기 위해서 신호들에 발생된 에러를 검출하고 정정하기 위한 기술들이 다양한 방면으로 개발되는 추세에 있다. 예를 들어, 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 유닛 검증 회로를 개략적으로 도시한 블록도이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도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 연산부

Claims (15)

  1. 제1 함수에 근거하여 제1 시드들에 각각 대응하는 제1 엘리먼트들을 출력하고, 제2 함수에 근거하여 제2 시드들에 각각 대응하는 제2 엘리먼트들을 출력하도록 구성된 선택부;
    상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제1 대응 관계에 근거하여 제1 패어 엘리먼트들을 생성하도록 구성된 제1 퍼뮤터; 및
    상기 제1 패어 엘리먼트들에 근거하여, 제1 노이즈를 생성하도록 구성된 제1 연산부를 포함하되,
    상기 제1 함수 및 상기 제2 함수의 곱은 가우시안 랜덤 변수인 노이즈 생성기.
  2. 제1항에 있어서,
    상기 제1 퍼뮤터는,
    제1 인덱스 세트에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 상기 제1 패어 엘리먼트들을 생성하는 노이즈 생성기.
  3. 제1항에 있어서,
    상기 선택부는,
    상기 제1 시드들과 상기 제1 엘리먼트들의 대응 관계에 대한 정보를 포함하는 제1 테이블 및 상기 제2 시드들과 상기 제2 엘리먼트들의 대응 관계에 대한 정보를 포함하는 제2 테이블을 참조하는 노이즈 생성기.
  4. 제1항에 있어서,
    상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 제2 대응 관계에 근거하여 제2 패어 엘리먼트들을 생성하도록 구성된 제2 퍼뮤터를 더 포함하되,
    상기 제1 대응 관계와 상기 제2 대응 관계는 서로 다른 노이즈 생성기.
  5. 제4항에 있어서,
    상기 제2 퍼뮤터는,
    제2 인덱스 세트에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 상기 제2 패어 엘리먼트들을 생성하는 노이즈 생성기.
  6. 제4항에 있어서,
    상기 제2 패어 엘리먼트들에 근거하여, 제2 노이즈를 생성하도록 구성된 제2 연산부를 더 포함하는 노이즈 생성기.
  7. 제1 데이터를 인코딩하여 제1 코드워드를 생성하도록 구성된 제1 ECC 유닛; 및
    상기 제1 코드워드에 삽입되는 제1 노이즈를 생성하도록 구성된 노이즈 생성기를 포함하되,
    상기 노이즈 생성기는,
    제1 함수에 근거하여 제1 시드들에 각각 대응하는 제1 엘리먼트들을 출력하고, 제2 함수에 근거하여 제2 시드들에 각각 대응하는 제2 엘리먼트들을 출력하도록 구성된 선택부;
    상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제1 대응 관계에 근거하여 제1 패어 엘리먼트들을 생성하도록 구성된 제1 퍼뮤터; 및
    상기 제1 패어 엘리먼트들에 근거하여, 상기 제1 노이즈를 생성하도록 구성된 제1 연산부를 포함하고,
    상기 제1 함수 및 상기 제2 함수의 곱은 가우시안 랜덤 변수인 ECC 유닛 검증 회로.
  8. 제7항에 있어서,
    상기 제1 퍼뮤터는,
    제1 인덱스 세트에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 상기 제1 패어 엘리먼트들을 생성하는 ECC 유닛 검증 회로.
  9. 제7항에 있어서,
    상기 선택부는,
    상기 제1 시드들과 상기 제1 엘리먼트들의 대응 관계에 대한 정보를 포함하는 제1 테이블 및 상기 제2 시드들과 상기 제2 엘리먼트들의 대응 관계에 대한 정보를 포함하는 제2 테이블을 참조하는 ECC 유닛 검증 회로.
  10. 제7항에 있어서,
    상기 노이즈 생성기는 상기 제1 엘리먼트들 각각과 상기 제2 엘리먼트들 각각을 대응시킨 제2 대응 관계에 근거하여 제2 패어 엘리먼트들을 생성하도록 구성된 제2 퍼뮤터를 더 포함하고,
    상기 제1 대응 관계와 상기 제2 대응 관계는 서로 다른 ECC 유닛 검증 회로.
  11. 제10항에 있어서,
    상기 제2 퍼뮤터는,
    제2 인덱스 세트에 근거하여, 서로 대응하는 하나의 제1 엘리먼트 및 하나의 제2 엘리먼트의 쌍으로 각각 구성된 상기 제2 패어 엘리먼트들을 생성하는 ECC 유닛 검증 회로.
  12. 제10항에 있어서,
    상기 노이즈 생성기는 상기 제2 패어 엘리먼트들에 근거하여, 제2 노이즈를 생성하도록 구성된 제2 연산부를 더 포함하는 ECC 유닛 검증 회로.
  13. 제12항에 있어서,
    제2 데이터를 인코딩하여 제2 코드워드를 생성하도록 구성된 제2 ECC 유닛을 더 포함하되,
    상기 제2 노이즈는 상기 제2 코드워드에 삽입되는 ECC 유닛 검증 회로.
  14. 제13항에 있어서,
    상기 노이즈 생성기는 상기 제1 및 제2 노이즈들을 동시에 생성하고,
    상기 제1 및 제2 노이즈들 각각은 상기 제1 및 제2 코드워드들 각각에 동시에 삽입되고,
    상기 제1 및 제2 ECC 유닛들 각각은 에러 정정 동작을 동시에 수행하는 ECC 유닛 검증 회로.
  15. 제7항에 있어서,
    상기 제1 ECC 유닛이 상기 제1 코드워드에 발생한 에러를 제대로 검출하고 정정했는지 여부를 판단하도록 구성된 판단부를 더 포함하는 ECC 유닛 검증 회로.
KR1020140057901A 2014-05-14 2014-05-14 노이즈 생성기 및 그것을 포함하는 ecc 유닛 검증 회로 KR20150130813A (ko)

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)

* Cited by examiner, † Cited by third party
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的随机脉冲发生器

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