KR20190043043A - 전자장치 - Google Patents
전자장치 Download PDFInfo
- Publication number
- KR20190043043A KR20190043043A KR1020170134860A KR20170134860A KR20190043043A KR 20190043043 A KR20190043043 A KR 20190043043A KR 1020170134860 A KR1020170134860 A KR 1020170134860A KR 20170134860 A KR20170134860 A KR 20170134860A KR 20190043043 A KR20190043043 A KR 20190043043A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- parity
- error
- bit
- internal
- Prior art date
Links
- 238000003780 insertion Methods 0.000 claims abstract description 88
- 230000037431 insertion Effects 0.000 claims abstract description 88
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 66
- 238000006243 chemical reaction Methods 0.000 claims abstract description 55
- 230000004044 response Effects 0.000 claims abstract description 27
- 239000011159 matrix material Substances 0.000 claims description 52
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 4
- 230000015654 memory Effects 0.000 description 47
- 238000013500 data storage Methods 0.000 description 19
- 238000012937 correction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 101000859758 Homo sapiens Cartilage-associated protein Proteins 0.000 description 5
- 101000916686 Homo sapiens Cytohesin-interacting protein Proteins 0.000 description 5
- 101000726740 Homo sapiens Homeobox protein cut-like 1 Proteins 0.000 description 5
- 101000761460 Homo sapiens Protein CASP Proteins 0.000 description 5
- 101000761459 Mesocricetus auratus Calcium-dependent serine proteinase Proteins 0.000 description 5
- 102100024933 Protein CASP Human genes 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2215—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
-
- 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
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- 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
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Semiconductor Integrated Circuits (AREA)
- Sheets, Magazines, And Separation Thereof (AREA)
- Iron Core Of Rotating Electric Machines (AREA)
Abstract
전자장치는 리드동작 시 데이터가 출력될 때마다 카운팅되는 에러삽입코드를 생성하는 에러발생제어회로; 상기 에러삽입코드에 응답하여 데이터를 변환하여 내부데이터를 생성하는 데이터변환회로; 상기 에러삽입코드에 응답하여 패러티를 변환하여 내부패러티를 생성하는 패러티변환회로; 및 상기 내부데이터와 상기 내부패러티로부터 생성된 신드롬과 상기 에러삽입코드로부터 검증신호를 생성하는 검증신호생성회로를 포함한다.
Description
본 발명은 에러정정코드를 사용하는 전자장치에 관한 것이다.
최근 반도체장치의 동작속도를 증가시키기 위해 클럭 사이클(cycle)마다 4비트 또는 8비트의 데이터를 입/출력하는 DDR2, DDR3 방식 등이 사용되고 있다. 데이터의 입/출력 속도가 빨라지는 경우 데이터가 전송되는 과정 중 발생되는 에러의 발생 확률도 증가 되므로, 데이터 전송의 신뢰성을 보장하기 위한 별도의 장치와 방법이 추가적으로 요구되고 있다.
데이터 전송 시마다 에러 발생 여부를 확인할 수 있는 에러코드를 생성하여 데이터와 함께 전송함으로써, 데이터 전송의 신뢰성을 보장하는 방법을 사용하고 있다. 에러코드에는 발생한 에러를 검출할 수 있는 에러검출코드(Error Detection Code, EDC)와, 에러 발생시 이를 자체적으로 정정할 수 있는 에러정정코드(Error Correction Code, ECC) 등이 있다.
본 발명은 에러정정코드를 검증할 수 있는 전자장치를 제공한다.
이를 위해 본 발명은 리드동작 시 데이터가 출력될 때마다 카운팅되는 에러삽입코드를 생성하는 에러발생제어회로; 상기 에러삽입코드에 응답하여 데이터를 변환하여 내부데이터를 생성하는 데이터변환회로; 상기 에러삽입코드에 응답하여 패러티를 변환하여 내부패러티를 생성하는 패러티변환회로; 및 상기 내부데이터와 상기 내부패러티로부터 생성된 신드롬과 상기 에러삽입코드로부터 검증신호를 생성하는 검증신호생성회로를 포함하는 전자장치를 제공한다.
또한, 본 발명은 에러체크매트릭스에 응답하여 데이터에 포함된 비트들 중 선택된 비트들을 논리 연산하여 패러티를 생성하는 패러티생성회로; 에러삽입코드에 응답하여 데이터를 변환하여 내부데이터를 생성하는 데이터변환회로; 에러삽입코드에 응답하여 패러티를 변환하여 내부패러티를 생성하는 패러티변환회로; 및 상기 내부데이터와 상기 내부패러티로부터 생성된 신드롬과 상기 에러삽입코드로부터 검증신호를 생성하는 검증신호생성회로를 포함하는 전자장치를 제공한다.
또한, 본 발명은 에러체크매트릭스에 따라 데이터 및 패러티에 포함된 비트들 중 적어도 하나의 비트에 대응되는 논리레벨조합을 갖는 에러삽입코드를 생성하는 에러발생제어회로; 상기 에러삽입코드의 논리레벨조합에 따라 상기 데이터에 포함된 비트들 중 적어도 하나의 비트를 반전시켜 내부데이터를 생성하는 데이터변환회로; 상기 에러삽입코드의 논리레벨조합에 따라 상기 패러티에 포함된 비트들 중 적어도 하나의 비트를 반전시켜 내부패러티를 생성하는 패러티변환회로; 및 상기 내부데이터와 상기 내부패러티로부터 생성된 신드롬과 상기 에러삽입코드로부터 검증신호를 생성하는 검증신호생성회로를 포함하는 전자장치를 제공한다.
본 발명에 의하면 에러정정코드에 의해 데이터에 에러를 발생시키고, 에러가 발생된 데이터를 통해 생성된 신드롬에 의해 에러정정코드의 정상 동작 여부를 검증할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 전자장치의 구성을 도시한 블록도이다.
도 2는 도 1에 도시된 전자장치에서 사용되는 에러정정코드를 구현하기 위한 에러체크매트릭스의 일 실시예를 도시한 표이다.
도 3은 도 1에 도시된 전자장치에 포함된 패러티생성회로의 일 실시예에 따른 회로도이다.
도 4는 도 1에 도시된 전자장치에 포함된 에러발생제어회로의 일 실시예에 따른 도면이다.
도 5는 도 4에 도시된 에러발생제어회로에서 생성되는 에러삽입코드의 논리레벨조합을 보여주는 표이다.
도 6은 도 1에 도시된 전자장치에 포함된 데이터변환회로의 일 실시예에 따른 회로도이다.
도 7은 도 1에 도시된 전자장치에 포함된 패러티변환회로의 일 실시예에 따른 회로도이다.
도 8은 도 1에 도시된 전자장치에 포함된 신드롬생성회로의 일 실시예에 따른 회로도이다.
도 9는 도 1에 도시된 전자장치에 포함된 검증신호생성회로의 일 실시예에 따른 회로도이다.
도 10 및 도 11은 도 1에 도시된 전자장치가 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 도면이다.
도 2는 도 1에 도시된 전자장치에서 사용되는 에러정정코드를 구현하기 위한 에러체크매트릭스의 일 실시예를 도시한 표이다.
도 3은 도 1에 도시된 전자장치에 포함된 패러티생성회로의 일 실시예에 따른 회로도이다.
도 4는 도 1에 도시된 전자장치에 포함된 에러발생제어회로의 일 실시예에 따른 도면이다.
도 5는 도 4에 도시된 에러발생제어회로에서 생성되는 에러삽입코드의 논리레벨조합을 보여주는 표이다.
도 6은 도 1에 도시된 전자장치에 포함된 데이터변환회로의 일 실시예에 따른 회로도이다.
도 7은 도 1에 도시된 전자장치에 포함된 패러티변환회로의 일 실시예에 따른 회로도이다.
도 8은 도 1에 도시된 전자장치에 포함된 신드롬생성회로의 일 실시예에 따른 회로도이다.
도 9는 도 1에 도시된 전자장치에 포함된 검증신호생성회로의 일 실시예에 따른 회로도이다.
도 10 및 도 11은 도 1에 도시된 전자장치가 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 도면이다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전자장치는 패러티생성회로(1), 에러발생제어회로(2), 데이터변환회로(3), 패러티변환회로(4), 신드롬생성회로(5) 및 검증신호생성회로(6)를 포함할 수 있다.
패러티생성회로(1)는 데이터(D<4:1>)를 입력받아 패러티(P<3:1>)를 생성할 수 있다. 패러티생성회로(1)는 데이터(D<4:1>)에 포함된 비트들을 선택적으로 논리 연산하여 패러티(P<3:1>)를 생성할 수 있다. 패러티(P<3:1>)는 해밍코드(Hamming Code)를 이용한 에러정정코드(Error Correction Code, ECC) 방식을 사용하여 생성될 수 있다. 해밍코드(Hamming Code)는 데이터의 에러를 정정하기 위한 에러체크매트릭스에 의해 구현될 수 있다. 패러티생성회로(1)의 보다 구체적인 구성 및 동작은 도 2 및 도 3을 참고하여 후술한다.
에러발생제어회로(2)는 리드신호(RD) 및 컬럼펄스(CASP)에 응답하여 에러삽입코드(EI<3:1>)를 생성할 수 있다. 에러발생제어회로(2)는 리드신호(RD)가 인에이블된 상태에서 컬럼펄스(CASP)가 발생되는 시점에서 카운팅되는 에러삽입코드(EI<3:1>)를 생성할 수 있다. 리드신호(RD)는 리드동작이 수행되는 경우 인에이블될 수 있다. 컬럼펄스(CASP)는 리드동작에서 데이터(D<4:1>)가 메모리셀(미도시)에서 출력될 때마다 발생될 수 있다. 에러발생제어회로(2)의 보다 구체적인 구성 및 동작은 도 4 및 도 5를 참고하여 후술한다.
데이터변환회로(3)는 에러삽입코드(EI<3:1>)에 응답하여 데이터(D<4:1>)로부터 내부데이터(ID<4:1>)를 생성할 수 있다. 데이터변환회로(3)는 데이터(D<4:1>)에 포함된 비트들 중 에러삽입코드(EI<3:1>)의 논리레벨조합에 대응하는 비트를 반전시켜 내부데이터(ID<4:1>)를 생성할 수 있다. 에러삽입코드(EI<3:1>)의 논리레벨조합에 대응하는 데이터(D<4:1>)의 비트는 실시예에 따라서 다양하게 설정될 수 있다. 데이터변환회로(3)의 보다 구체적인 구성 및 동작은 도 6을 참고하여 후술한다.
패러티변환회로(4)는 에러삽입코드(EI<3:1>)에 응답하여 패러티(P<3:1>)로부터 내부패러티(IP<3:1>)를 생성할 수 있다. 패러티변환회로(4)는 패러티(P<3:1>)에 포함된 비트들 중 에러삽입코드(EI<3:1>)의 논리레벨조합에 대응하는 비트를 반전시켜 내부패러티(IP<3:1>)를 생성할 수 있다. 에러삽입코드(EI<3:1>)의 논리레벨조합에 대응하는 패러티(P<3:1>)의 비트는 실시예에 따라서 다양하게 설정될 수 있다. 패러티변환회로(4)의 보다 구체적인 구성 및 동작은 도 7을 참고하여 후술한다.
신드롬생성회로(5)는 내부데이터(ID<4:1>) 및 내부패러티(IP<3:1>)에 응답하여 신드롬(S<3:1>)을 생성할 수 있다. 신드롬생성회로(5)는 내부데이터(ID<4:1>) 및 내부패러티(IP<3:1>)에 포함된 비트들을 선택적으로 논리 연산하여 신드롬(S<3:1>)을 생성할 수 있다. 신드롬(S<3:1>)은 해밍코드(Hamming Code)를 이용한 에러정정코드(Error Correction Code, ECC) 방식을 사용하여 생성될 수 있다. 해밍코드(Hamming Code)는 데이터의 에러를 정정하기 위한 에러체크매트릭스에 의해 구현될 수 있다. 신드롬생성회로(5)의 보다 구체적인 구성 및 동작은 도 8을 참고하여 후술한다.
검증신호생성회로(6)는 에러삽입코드(EI<3:1>) 및 신드롬(S<3:1>)에 응답하여 검증신호(VR)를 생성할 수 있다. 검증신호생성회로(6)는 에러삽입코드(EI<3:1>) 및 신드롬(S<3:1>)이 동일한 경우 제1 로직레벨을 갖는 검증신호(VR)를 생성할 수 있다. 검증신호생성회로(6)는 에러삽입코드(EI<3:1>) 및 신드롬(S<3:1>)이 상이한 경우 제2 로직레벨을 갖는 검증신호(VR)를 생성할 수 있다. 제1 로직레벨은 로직하이레벨로 설정될 수 있고, 제2 로직레벨은 로직로우레벨로 설정될 수 있다. 제1 및 제2 로직레벨은 실시예에 따라서 다르게 설정될 수 있다. 검증신호생성회로(6)의 보다 구체적인 구성 및 동작은 도 9를 참고하여 후술한다.
도 2를 참고하면 본 발명의 일 실시예에 따른 전자장치에서 사용되는 에러체크매트릭스를 확인할 수 있다. 본 발명의 일 실시예에 따른 에러체크매트릭스는 제1 매트릭스(1st MATRIX) 및 제2 매트릭스(2nd MATRIX)를 포함할 수 있다.
제1 매트릭스(1st MATRIX)는 패러티(P<3:1>)에 포함된 비트들에 에러가 있는 지 여부에 대한 정보를 포함할 수 있다. 제1 매트릭스(1st MATRIX)의 첫번째 컬럼의 논리레벨 조합 '0, 0, 1'과 동일한 논리레벨조합을 갖는 신드롬(S<3:1>)이 생성되는 경우 패러티의 제1 비트(P<1>)에 에러가 발생됨이 확인될 수 있다. 신드롬(S<3:1>)이 '0, 0, 1' 논리레벨조합을 갖는 경우라 함은 신드롬의 제1 비트(S<1>)가 로직하이레벨이고, 신드롬의 제2 및 제3 비트(S<2:3>)가 모두 로직로우레벨임을 의미한다. 제1 매트릭스(1st MATRIX)의 두번째 컬럼의 논리레벨 조합 '0, 1, 0'과 동일한 논리레벨조합을 갖는 신드롬(S<3:1>)이 생성되는 경우 패러티의 제2 비트(P<2>)에 에러가 발생됨이 확인될 수 있다. 제1 매트릭스(1st MATRIX)의 세번째 컬럼의 논리레벨 조합 '1, 0, 0'과 동일한 논리레벨조합을 갖는 신드롬(S<3:1>)이 생성되는 경우 패러티의 제3 비트(P<3>)에 에러가 발생됨이 확인될 수 있다. 이하 논리레벨이 '1'이라함은 로직하이레벨임을 의미하고, 논리레벨이 '0'이라함은 '로직로우레벨임을 의미한다.
제2 매트릭스(2nd MATRIX)는 데이터(D<4:1>)에 포함된 비트들에 에러가 있는 지 여부에 대한 정보를 포함할 수 있다. 제2 매트릭스(2nd MATRIX)의 첫번째 컬럼의 논리레벨 조합 '0, 1, 1'과 동일한 논리레벨조합을 갖는 신드롬(S<3:1>)이 생성되는 경우 데이터의 제1 비트(D<1>)에 에러가 발생됨이 확인될 수 있다. 제2 매트릭스(2nd MATRIX)의 두번째 컬럼의 논리레벨 조합 '1, 0, 1'과 동일한 논리레벨조합을 갖는 신드롬(S<3:1>)이 생성되는 경우 데이터의 제2 비트(D<2>)에 에러가 발생됨이 확인될 수 있다. 제2 매트릭스(2nd MATRIX)의 세번째 컬럼의 논리레벨 조합 '1, 1, 0'과 동일한 논리레벨조합을 갖는 신드롬(S<3:1>)이 생성되는 경우 데이터의 제3 비트(D<3>)에 에러가 발생됨이 확인될 수 있다. 제2 매트릭스(2nd MATRIX)의 네번째 컬럼의 논리레벨 조합 '1, 1, 1'과 동일한 논리레벨조합을 갖는 신드롬(S<3:1>)이 생성되는 경우 데이터의 제4 비트(D<4>)에 에러가 발생됨이 확인될 수 있다.
제2 매트릭스(2nd MATRIX)는 패러티(P<3:1>)를 생성하기 위해 데이터(D<4:1>)에 포함된 비트들의 논리레벨 조합에 대한 정보를 포함할 수 있다. 제2 매트릭스(2nd MATRIX)의 첫번째 로우의 논리레벨 조합은 '1, 1, 0, 1'이므로, 패러티의 제1 비트(P<1>)는 데이터의 제1 비트(D<1>), 데이터의 제2 비트(D<2>) 및 데이터의 제4 비트(D<4>)의 배타적논리 연산 수행 결과 생성될 수 있다. 제2 매트릭스(2nd MATRIX)의 두번째 로우의 논리레벨 조합은 '1, 0, 1, 1'이므로, 패러티의 제2 비트(P<2>)는 데이터의 제1 비트(D<1>), 데이터의 제3 비트(D<3>) 및 데이터의 제4 비트(D<4>)의 배타적논리 연산 수행 결과 생성될 수 있다. 제2 매트릭스(2nd MATRIX)의 세번째 로우의 논리레벨 조합은 '0, 1, 1, 1'이므로, 패러티의 제3 비트(P<3>)는 데이터의 제2 비트(D<2>), 데이터의 제3 비트(D<3>) 및 데이터의 제4 비트(D<4>)의 배타적논리 연산 수행 결과 생성될 수 있다.
도 3을 참고하면 패러티생성회로(1)는 제1 패러티생성회로(11), 제2 패러티생성회로(12) 및 제3 패러티생성회로(13)를 포함할 수 있다. 제1 패러티생성회로(11)는 도 2에 도시된 제2 매트릭스(2nd MATRIX)의 첫번째 로우의 논리레벨조합인 '1, 1, 0, 1'에 따라 데이터의 제1 비트(D<1>), 데이터의 제2 비트(D<2>) 및 데이터의 제4 비트(D<4>)의 배타적논리 연산 수행 결과 패러티의 제1 비트(P<1>)를 생성할 수 있다. 제2 패러티생성회로(12)는 도 2에 도시된 제2 매트릭스(2nd MATRIX)의 두번째 로우의 논리레벨조합인 '1, 0, 1, 1'에 따라 데이터의 제1 비트(D<1>), 데이터의 제3 비트(D<3>) 및 데이터의 제4 비트(D<4>)의 배타적논리 연산 수행 결과 패러티의 제2 비트(P<2>)를 생성할 수 있다. 제3 패러티생성회로(13)는 도 2에 도시된 제2 매트릭스(2nd MATRIX)의 세번째 로우의 논리레벨조합인 '0, 1, 1, 1'에 따라 데이터의 제2 비트(D<2>), 데이터의 제3 비트(D<3>) 및 데이터의 제4 비트(D<4>)의 배타적논리 연산 수행 결과 패러티의 제3 비트(P<3>)를 생성할 수 있다.
도 4를 참고하면 에러발생제어회로(2)는 카운팅펄스생성회로(21) 및 카운터회로(22)를 포함할 수 있다. 카운팅펄스생성회로(21)는 리드신호(RD) 및 컬럼펄스(CASP)에 응답하여 카운팅펄스(CNTP)를 생성할 수 있다. 카운팅펄스생성회로(21)는 리드동작이 수행되어 리드신호(RD)가 인에이블된 상태에서 데이터(D<4:1>)가 메모리셀(미도시)에서 출력되어 컬럼펄스(CASP)가 발생될 때마다 카운팅펄스(CNTP)를 발생시킬 수 있다. 카운터회로(22)는 카운팅펄스(CNTP)가 발생될 때마다 순차적으로 카운팅되는 에러삽입코드(EI<3:1>)를 생성할 수 있다.
도 5를 참고하면 도 4에 도시된 에러발생제어회로(2)에서 생성되는 에러삽입코드(EI<3:1>)의 논리레벨조합을 확인할 수 있다. 에러삽입코드(EI<3:1>)가 '0,0,0'의 논리레벨조합으로 설정된 상태에서 첫번째 카운팅펄스(CNTP)가 발생하는 경우 에러삽입코드(EI<3:1>)는 카운팅되어 '0, 0, 1'의 논리레벨조합을 갖는다. 에러삽입코드(EI<3:1>)가 '0, 0, 1'의 논리레벨조합을 갖는 경우라 함은 에러삽입코드의 제1 비트(EI<1>)가 로직하이레벨이고, 에러삽입코드의 제2 및 제3 비트(EI<3:2>)가 로직로우레벨임을 의미한다. 두번째 카운팅펄스(CNTP)가 발생하는 경우 에러삽입코드(EI<3:1>)는 카운팅되어 '0, 1, 0'의 논리레벨조합을 갖고, 세번째 카운팅펄스(CNTP)가 발생하는 경우 에러삽입코드(EI<3:1>)는 카운팅되어 '0, 1, 1'의 논리레벨조합을 갖는다. 네번째 카운팅펄스(CNTP)가 발생하는 경우 에러삽입코드(EI<3:1>)는 카운팅되어 '1, 0, 0'의 논리레벨조합을 갖고, 다섯번째 카운팅펄스(CNTP)가 발생하는 경우 에러삽입코드(EI<3:1>)는 카운팅되어 '1, 0, 1'의 논리레벨조합을 갖는다. 여섯번째 카운팅펄스(CNTP)가 발생하는 경우 에러삽입코드(EI<3:1>)는 카운팅되어 '1, 1, 0'의 논리레벨조합을 갖고, 일곱번째 카운팅펄스(CNTP)가 발생하는 경우 에러삽입코드(EI<3:1>)는 카운팅되어 '1, 1, 1'의 논리레벨조합을 갖는다.
에러삽입코드(EI<3:1>)가 갖는 '0, 0, 1'의 논리레벨조합은 패러티의 제1 비트(P<1>)에 에러가 발생될 때 생성되는 신드롬(S<3:1>)의 논리레벨조합과 동일하다. 에러삽입코드(EI<3:1>)가 갖는 '0, 1, 0'의 논리레벨조합은 패러티의 제2 비트(P<2>)에 에러가 발생될 때 생성되는 신드롬(S<3:1>)의 논리레벨조합과 동일하다. 에러삽입코드(EI<3:1>)가 갖는 '0, 1, 1'의 논리레벨조합은 데이터의 제1 비트(D<1>)에 에러가 발생될 때 생성되는 신드롬(S<3:1>)의 논리레벨조합과 동일하다. 에러삽입코드(EI<3:1>)가 갖는 '1, 0, 0'의 논리레벨조합은 패러티의 제3 비트(P<3>)에 에러가 발생될 때 생성되는 신드롬(S<3:1>)의 논리레벨조합과 동일하다. 에러삽입코드(EI<3:1>)가 갖는 '1, 0, 1'의 논리레벨조합은 데이터의 제2 비트(D<2>)에 에러가 발생될 때 생성되는 신드롬(S<3:1>)의 논리레벨조합과 동일하다. 에러삽입코드(EI<3:1>)가 갖는 '1, 1, 0'의 논리레벨조합은 데이터의 제3 비트(D<3>)에 에러가 발생될 때 생성되는 신드롬(S<3:1>)의 논리레벨조합과 동일하다. 에러삽입코드(EI<3:1>)가 갖는 '1, 1, 1'의 논리레벨조합은 데이터의 제4 비트(D<4>)에 에러가 발생될 때 생성되는 신드롬(S<3:1>)의 논리레벨조합과 동일하다.
도 6을 참고하면 데이터변환회로(3)는 데이터변환신호생성회로(31) 및 제1 내부데이터생성회로(32), 제2 내부데이터생성회로(33), 제3 내부데이터생성회로(34) 및 제4 내부데이터생성회로(35)를 포함할 수 있다.
데이터변환신호생성회로(31)는 에러삽입코드(EI<3:1>)가 갖는 '0, 1, 1'의 논리레벨조합을 가질 때 로직하이레벨로 생성되는 제1 변환데이터(DV<1>)를 생성할 수 있다. 데이터변환신호생성회로(31)는 에러삽입코드(EI<3:1>)가 갖는 '1, 0, 1'의 논리레벨조합을 가질 때 로직하이레벨로 생성되는 제2 변환데이터(DV<2>)를 생성할 수 있다. 데이터변환신호생성회로(31)는 에러삽입코드(EI<3:1>)가 갖는 '1, 1, 0'의 논리레벨조합을 가질 때 로직하이레벨로 생성되는 제3 변환데이터(DV<3>)를 생성할 수 있다. 데이터변환신호생성회로(31)는 에러삽입코드(EI<3:1>)가 갖는 '1, 1, 1'의 논리레벨조합을 가질 때 로직하이레벨로 생성되는 제4 변환데이터(DV<4>)를 생성할 수 있다.
제1 내부데이터생성회로(32)는 제1 변환데이터(DV<1>)가 로직하이레벨을 갖는 경우 데이터의 제1 비트(D<1>)를 반전시켜 내부데이터의 제1 비트(ID<1>)를 생성할 수 있다. '0, 1, 1'의 논리레벨조합을 갖는 에러삽입코드(EI<3:1>)에 의해 제1 변환데이터(DV<1>)가 로직하이레벨을 갖는 경우 데이터의 제1 비트(D<1>)를 반전시켜 내부데이터의 제1 비트(ID<1>)에 에러를 발생시킬 수 있다.
제2 내부데이터생성회로(33)는 제2 변환데이터(DV<2>)가 로직하이레벨을 갖는 경우 데이터의 제2 비트(D<2>)를 반전시켜 내부데이터의 제2 비트(ID<2>)를 생성할 수 있다. '1, 0, 1'의 논리레벨조합을 갖는 에러삽입코드(EI<3:1>)에 의해 제2 변환데이터(DV<2>)가 로직하이레벨을 갖는 경우 데이터의 제2 비트(D<2>)를 반전시켜 내부데이터의 제2 비트(ID<2>)에 에러를 발생시킬 수 있다.
제3 내부데이터생성회로(34)는 제3 변환데이터(DV<3>)가 로직하이레벨을 갖는 경우 데이터의 제3 비트(D<3>)를 반전시켜 내부데이터의 제3 비트(ID<3>)를 생성할 수 있다. '1, 1, 0'의 논리레벨조합을 갖는 에러삽입코드(EI<3:1>)에 의해 제3 변환데이터(DV<3>)가 로직하이레벨을 갖는 경우 데이터의 제3 비트(D<3>)를 반전시켜 내부데이터의 제3 비트(ID<3>)에 에러를 발생시킬 수 있다.
제4 내부데이터생성회로(35)는 제4 변환데이터(DV<4>)가 로직하이레벨을 갖는 경우 데이터의 제4 비트(D<4>)를 반전시켜 내부데이터의 제4 비트(ID<4>)를 생성할 수 있다. '1, 1, 1'의 논리레벨조합을 갖는 에러삽입코드(EI<3:1>)에 의해 제4 변환데이터(DV<4>)가 로직하이레벨을 갖는 경우 데이터의 제4 비트(D<4>)를 반전시켜 내부데이터의 제4 비트(ID<4>)에 에러를 발생시킬 수 있다.
도 7을 참고하면 패러티변환회로(4)는 패러티변환신호생성회로(41) 및 제1 내부패러티생성회로(42), 제2 내부패러티생성회로(43) 및 제3 내부패러티생성회로(44)를 포함할 수 있다.
패러티변환신호생성회로(41)는 에러삽입코드(EI<3:1>)가 갖는 '0, 0, 1'의 논리레벨조합을 가질 때 로직하이레벨로 생성되는 제1 변환패러티(PV<1>)를 생성할 수 있다. 패러티변환신호생성회로(41)는 에러삽입코드(EI<3:1>)가 갖는 '0, 1, 0'의 논리레벨조합을 가질 때 로직하이레벨로 생성되는 제2 변환패러티(PV<2>)를 생성할 수 있다. 패러티변환신호생성회로(41)는 에러삽입코드(EI<3:1>)가 갖는 '1, 0, 0'의 논리레벨조합을 가질 때 로직하이레벨로 생성되는 제3 변환패러티(PV<3>)를 생성할 수 있다.
제1 내부패러티생성회로(42)는 제1 변환패러티(PV<1>)가 로직하이레벨을 갖는 경우 패러티의 제1 비트(P<1>)를 반전시켜 내부패러티의 제1 비트(IP<1>)를 생성할 수 있다. '0, 0, 1'의 논리레벨조합을 갖는 에러삽입코드(EI<3:1>)에 의해 제1 변환패러티(PV<1>)가 로직하이레벨을 갖는 경우 패러티의 제1 비트(P<1>)를 반전시켜 내부패러티의 제1 비트(IP<1>)에 에러를 발생시킬 수 있다.
제2 내부패러티생성회로(43)는 제2 변환패러티(PV<2>)가 로직하이레벨을 갖는 경우 패러티의 제2 비트(P<2>)를 반전시켜 내부패러티의 제2 비트(IP<2>)를 생성할 수 있다. '0, 1, 0'의 논리레벨조합을 갖는 에러삽입코드(EI<3:1>)에 의해 제2 변환패러티(PV<2>)가 로직하이레벨을 갖는 경우 패러티의 제2 비트(P<2>)를 반전시켜 내부패러티의 제2 비트(IP<2>)에 에러를 발생시킬 수 있다.
제3 내부패러티생성회로(44)는 제3 변환패러티(PV<3>)가 로직하이레벨을 갖는 경우 패러티의 제3 비트(P<3>)를 반전시켜 내부패러티의 제3 비트(IP<3>)를 생성할 수 있다. '1, 0, 0'의 논리레벨조합을 갖는 에러삽입코드(EI<3:1>)에 의해 제3 변환패러티(PV<3>)가 로직하이레벨을 갖는 경우 패러티의 제3 비트(P<3>)를 반전시켜 내부패러티의 제3 비트(IP<3>)에 에러를 발생시킬 수 있다.
도 8을 참고하면 신드롬생성회로(5)는 제1 신드롬생성회로(51), 제2 신드롬생성회로(52) 및 제3 신드롬생성회로(53)를 포함할 수 있다.
제1 신드롬생성회로(51)는 내부데이터의 제1 비트(ID<1>), 내부데이터의 제2 비트(ID<2>), 내부데이터의 제4 비트(ID<4>) 및 패러티의 제1 비트(P<1>)의 배타적논리 연산 수행 결과 신드롬의 제1 비트(S<1>)를 생성할 수 있다. 신드롬의 제1 비트(S<1>)를 생성하기 위한 논리 연산식은 제1 매트릭스(1st MATRIX)의 첫번째 로우의 논리레벨조합인 '1, 0, 0'와 제2 매트릭스(2nd MATRIX)의 첫번째 로우의 논리레벨조합인 '1, 1, 0, 1'에 따라 결정된다.
제2 신드롬생성회로(52)는 내부데이터의 제1 비트(ID<1>), 내부데이터의 제4 비트(ID<4>), 내부데이터의 제4 비트(ID<4>) 및 패러티의 제2 비트(P<2>)의 배타적논리 연산 수행 결과 신드롬의 제2 비트(S<2>)를 생성할 수 있다. 신드롬의 제2 비트(S<2>)를 생성하기 위한 논리 연산식은 제1 매트릭스(1st MATRIX)의 첫번째 로우의 논리레벨조합인 '0, 1, 0'와 제2 매트릭스(2nd MATRIX)의 두번째 로우의 논리레벨조합인 '1, 0, 1, 1'에 따라 결정된다.
제3 신드롬생성회로(53)는 내부데이터의 제2 비트(ID<2>), 내부데이터의 제3 비트(ID<3>), 내부데이터의 제4 비트(ID<4>) 및 패러티의 제3 비트(P<3>)의 배타적논리 연산 수행 결과 신드롬의 제3 비트(S<3>)를 생성할 수 있다. 신드롬의 제3 비트(S<3>)를 생성하기 위한 논리 연산식은 제1 매트릭스(1st MATRIX)의 첫번째 로우의 논리레벨조합인 '0, 0, 1'와 제2 매트릭스(2nd MATRIX)의 세번째 로우의 논리레벨조합인 '0, 1, 1, 1'에 따라 결정된다.
도 9를 참고하면 검증신호생성회로(6)는 배타적논리합게이트들(XOR61, XOR62, XOR63) 및 부정논리합게이트(NOR61)를 포함할 수 있다. 배타적논리합게이트(XOR61)는 신드롬의 제1 비트(S<1>) 및 에러삽입코드의 제1 비트(EI<1>)의 배타적논리 연산을 수행할 수 있다. 배타적논리합게이트(XOR61)는 신드롬의 제1 비트(S<1>) 및 에러삽입코드의 제1 비트(EI<1>)가 동일한 경우 로직로우레벨을 출력할 수 있고, 상이한 경우 로직하이레벨을 출력할 수 있다. 배타적논리합게이트(XOR62)는 신드롬의 제2 비트(S<2>) 및 에러삽입코드의 제2 비트(EI<2>)의 배타적논리 연산을 수행할 수 있다. 배타적논리합게이트(XOR62)는 신드롬의 제2 비트(S<2>) 및 에러삽입코드의 제2 비트(EI<2>)가 동일한 경우 로직로우레벨을 출력할 수 있고, 상이한 경우 로직하이레벨을 출력할 수 있다. 배타적논리합게이트(XOR63)는 신드롬의 제3 비트(S<3>) 및 에러삽입코드의 제3 비트(EI<3>)의 배타적논리 연산을 수행할 수 있다. 배타적논리합게이트(XOR63)는 신드롬의 제3 비트(S<3>) 및 에러삽입코드의 제3 비트(EI<3>)가 동일한 경우 로직로우레벨을 출력할 수 있고, 상이한 경우 로직하이레벨을 출력할 수 있다. 부정논리합게이트(NOR61)는 배타적논리합게이트들(XOR61, XOR62, XOR63)의 출력신호들이 모두 로직로우레벨인 경우 로직하이레벨의 검증신호(VR)를 출력할 수 있다. 부정논리합게이트(NOR61)는 배타적논리합게이트들(XOR61, XOR62, XOR63)의 출력신호들 중 적어도 하나가 로직하이레벨인 경우 로직로우레벨의 검증신호(VR)를 출력할 수 있다.
검증신호생성회로(6)는 에러삽입코드(EI<3:1>) 및 신드롬(S<3:1>)이 동일한 논리레벨조합을 갖는 경우 로직하이레벨의 검증신호(VR)를 생성할 수 있다. 검증신호생성회로(6)는 에러삽입코드(EI<3:1>) 및 신드롬(S<3:1>)이 상이한 논리레벨조합을 갖는 경우 로직로우레벨을 갖는 검증신호(VR)를 생성할 수 있다.
본 발명의 전자장치는 에러체크매트릭스를 이용하여 에러삽입코드(EI<3:1>)를 생성하고, 에러삽입코드(EI<3:1>)의 논리레벨조합에 따라 데이터(D<4:1>) 및 패러티(P<3:1>)에 에러를 포함시켜 내부데이터(ID<4:1>) 및 내부패러티(IP<3:1>)를 생성할 수 있다. 본 발명의 전자장치는 에러가 포함된 내부데이터(ID<4:1>) 및 내부패러티(IP<3:1>)에 의해 신드롬(S<3:1>)을 생성하고, 신드롬(S<3:1>)과 에러삽입코드(EI<3:1>)의 동일 여부에 따라 에러체크매트릭스에 의해 에러 정정 동작이 정상적으로 수행되는지 여부를 확인할 수 있다. 즉, 본 발명의 전자장치는 원하는 위치에 에러를 발생시키고 에러 발생 위치가 원하는 위치에서 발생시키는지 여부를 감지하는 방법으로 에러 정정 동작이 정상적으로 수행되는지 여부를 확인할 수 있다.
앞서, 도 1에서 살펴본 전자장치는 메모리시스템, 그래픽시스템, 컴퓨팅시스템 및 모바일시스템 등을 포함하는 전자시스템에 적용될 수 있다. 예를 들어, 도 10을 참고하면 본 발명의 일 실시예에 따른 전자시스템(1000)은 데이터저장부(1001), 메모리컨트롤러(1002), 버퍼메모리(1003) 및 입출력인터페이스(1004)를 포함할 수 있다.
데이터저장부(1001)는 메모리컨트롤러(1002)로부터의 제어신호에 따라 메모리컨트롤러(1002)로부터 인가되는 데이터를 저장하고 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 데이터저장부(1001)는 도 1에 도시된 전자장치를 포함할 수 있다. 한편, 데이터저장부(1001)는 전원이 차단되어도 데이터를 잃지 않고 계속 저장할 수 있는 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 플래쉬 메모리(Nor Flash Memory, NAND Flash Memory), 상변환 메모리(Phase Change Random Access Memory; PRAM), 저항 메모리(Resistive Random Access Memory;RRAM), 스핀 주입자화반전 메모리(Spin Transfer Torque Random Access Memory; STTRAM), 자기메모리(Magnetic Random Access Memory; MRAM)로 구현될 수 있다.
메모리컨트롤러(1002)는 입출력인터페이스(1004)를 통해 외부기기(호스트 장치)로부터 인가되는 명령어를 디코딩하고 디코딩된 결과에 따라 데이터저장부(1001) 및 버퍼메모리(1003)에 대한 데이터 입출력을 제어한다. 도 10에서는 메모리컨트롤러(1002)가 하나의 블록으로 표시되었으나, 메모리컨트롤러(1002)는 데이터저장부(1001)를 제어하기 위한 컨트롤러와 휘발성 메모리인 버퍼메모리(1003)를 제어하기 위한 컨트롤러가 독립적으로 구성될 수 있다.
버퍼메모리(1003)는 메모리컨트롤러(1002)에서 처리할 데이터 즉 데이터저장부(1001)에 입출력되는 데이터를 임시적으로 저장할 수 있다. 버퍼메모리(1003)는 제어신호에 따라 메모리컨트롤러(1002)에서 인가되는 데이터(DATA)를 저장할 수 있다. 버퍼메모리(1003)는 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 버퍼메모리(1003)는 DRAM(Dynamic Random Access Memory), Moblie DRAM, SRAM(Static Random Access Memory) 등의 휘발성 메모리를 포함할 수 있다.
입출력인터페이스(1004)는 메모리컨트롤러(1002)와 외부기기(호스트) 사이의 물리적 연결을 제공하여 메모리컨트롤러(1002)가 외부기기로부터 데이터 입출력을 위한 제어신호를 수신하고 외부기기와 데이터를 교환할 수 있도록 해준다. 입출력인터페이스(1004)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 및 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 포함할 수 있다.
전자시스템(1000)은 호스트 장치의 보조 기억장치 또는 외부 저장장치로 사용될 수 있다. 전자시스템(1000)은 고상 디스크(Solid State Disk; SSD), USB 메모리(Universal Serial Bus Memory), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등을 포함할 수 있다.
도 11을 참고하면 본 발명의 다른 실시예에 따른 전자시스템(2000)은 호스트(2001), 메모리컨트롤러(2002) 및 데이터저장부(2003)를 포함할 수 있다.
호스트(2001)는 데이터저장부(2003)를 엑세스 하기 위해 메모리컨트롤러(2002)로 리퀘스트 및 데이터를 전송할 수 있다. 메모리컨트롤러(2002)는 리퀘스트에 응답하여 데이터, 데이터 스트로브, 커맨드, 어드레스 및 클럭 등을 데이터저장부(2003)에 제공하고, 이에 응답하여 데이터저장부(2003)는 라이트 또는 리드 동작을 수행하게 할 수 있다. 호스트(2001)는 데이터저장부(2003)로 데이터를 저장시키기 위해 데이터를 메모리컨트롤러(2002)로 전송할 수 있다. 또한 호스트는 데이터저장부(2003)로부터 출력된 데이터를 메모리컨트롤러(2002)를 통해 수신할 수 있다. 호스트(2001)는 에러정정코드(Error Correction Code, ECC) 방식을 사용하여 데이터에 포함된 에러를 정정하는 회로를 포함할 수 있다.
메모리컨트롤러(2002)는 호스트(2001)와 데이터저장부(2003) 사이의 통신을 중계할 수 있다. 메모리컨트롤러(2002)는 호스트(2001)로부터 리퀘스트와 데이터를 수신하고, 데이터저장부(2003)의 동작을 제어하기 위하여 데이터, 데이터 스트로브, 커맨드, 어드레스 및 클럭 등을 생성하여 데이터저장부(2003)로 제공할 수 있다. 또한, 메모리컨트롤러(2002)는 데이터저장부(2003)로부터 출력된 데이터를 호스트(2001)로 제공할 수 있다.
데이터저장부(2003)는 다수의 메모리들을 포함할 수 있다. 데이터저장부(2003)는 메모리컨트롤러(2002)로부터 데이터, 데이터 스트로브, 커맨드, 어드레스 및 클럭 등을 수신하여 라이트 또는 리드 동작을 수행할 수 있다. 데이터저장부(2003)에 포함된 다수의 메모리들은 에러정정코드(Error Correction Code, ECC) 방식을 사용하여 데이터에 포함된 에러를 정정하는 회로를 포함할 수 있다.
호스트(2001)에 포함된 에러를 정정하는 회로 및 다수의 메모리들에 포함된 에러를 정정하는 회로는 실시예에 따라서 모두 동작하거나 선택적으로 동작하도록 구현될 수 있다. 호스트(2001) 및 메모리컨트롤러(2002)는 실시예에 따라서 동일한 칩으로 구현될 수 있다. 메모리컨트롤러(2002) 및 데이터저장부(2003)는 실시예에 따라서 동일한 칩으로 구현될 수 있다.
1: 패러티생성회로
2: 에러발생제어회로
3: 데이터변환회로 4: 패러티변환회로
5: 신드롬생성회로 6: 검증신호생성회로
11: 제1 패러티생성회로 12: 제2 패러티생성회로
13: 제3 패러티생성회로 21: 카운팅펄스생성회로
22: 카운터회로 31: 데이터변환신호생성회로
32: 제1 내부데이터생성회로 33: 제2 내부데이터생성회로
34: 제3 내부데이터생성회로 35: 제4 내부데이터생성회로
41: 패러티변환신호생성회로 42: 제1 내부패러티생성회로
43: 제2 내부패러티생성회로 44: 제3 내부패러티생성회로
51: 제1 신드롬생성회로 52: 제2 신드롬생성회로
53: 제3 신드롬생성회로
3: 데이터변환회로 4: 패러티변환회로
5: 신드롬생성회로 6: 검증신호생성회로
11: 제1 패러티생성회로 12: 제2 패러티생성회로
13: 제3 패러티생성회로 21: 카운팅펄스생성회로
22: 카운터회로 31: 데이터변환신호생성회로
32: 제1 내부데이터생성회로 33: 제2 내부데이터생성회로
34: 제3 내부데이터생성회로 35: 제4 내부데이터생성회로
41: 패러티변환신호생성회로 42: 제1 내부패러티생성회로
43: 제2 내부패러티생성회로 44: 제3 내부패러티생성회로
51: 제1 신드롬생성회로 52: 제2 신드롬생성회로
53: 제3 신드롬생성회로
Claims (21)
- 리드동작 시 데이터가 출력될 때마다 카운팅되는 에러삽입코드를 생성하는 에러발생제어회로;
상기 에러삽입코드에 응답하여 상기 데이터를 변환하여 내부데이터를 생성하는 데이터변환회로;
상기 에러삽입코드에 응답하여 패러티를 변환하여 내부패러티를 생성하는 패러티변환회로; 및
상기 내부데이터와 상기 내부패러티로부터 생성된 신드롬과 상기 에러삽입코드로부터 검증신호를 생성하는 검증신호생성회로를 포함하는 전자장치.
- 제 1 항에 있어서, 상기 에러삽입코드는 리드신호 및 컬럼펄스에 응답하여 카운팅펄스가 발생될 때마다 카운팅되는 전자장치.
- 제 2 항에 있어서, 상기 리드신호는 상기 리드동작 시 인에이블되고, 상기 컬럼펄스는 상기 데이터가 출력될 때마다 발생되는 전자장치.
- 제 1 항에 있어서, 상기 에러삽입코드의 논리레벨조합들 각각은 에러체크매트릭스에 따라 상기 데이터 및 상기 패러티에 포함된 비트들 중 적어도 하나의 비트에 대응되는 전자장치.
- 제 1 항에 있어서, 상기 데이터변환회로는 상기 에러삽입코드의 논리레벨조합에 따라 상기 데이터에 포함된 비트들 중 적어도 하나의 비트를 반전시켜 상기 내부데이터를 생성하는 전자장치.
- 제 1 항에 있어서, 상기 패러티는 에러체크매트릭스에 응답하여 상기 데이터에 포함된 비트들 중 선택된 비트들을 논리 연산하여 생성되는 전자장치.
- 제 1 항에 있어서, 상기 패러티변환회로는 상기 에러삽입코드의 논리레벨조합에 따라 상기 패러티에 포함된 비트들 중 적어도 하나의 비트를 반전시켜 상기 내부패러티를 생성하는 전자장치.
- 제 1 항에 있어서, 상기 신드롬은 에러체크매트릭스에 응답하여 상기 내부데이터에 포함된 비트들 중 선택된 비트들과 상기 내부패러티의 논리레벨조합으로 생성되는 전자장치.
- 제 1 항에 있어서, 상기 신드롬은 상기 내부데이터에 포함된 비트들 중 상기 데이터에 포함된 비트가 반전되어 생성된 비트의 위치 또는 상기 내부패러티에 포함된 비트들 중 상기 패러티에 포함된 비트가 반전되어 생성된 비트의 위치에 대한 정보를 포함하는 전자장치.
- 제 1 항에 있어서, 상기 검증신호생성회로는 상기 신드롬과 상기 에러삽입코드가 동일한 경우 제1 로직레벨을 갖는 검증신호를 생성하고, 상기 신드롬과 상기 에러삽입코드가 상이한 경우 제2 로직레벨을 갖는 검증신호를 생성하는 전자장치.
- 에러체크매트릭스에 응답하여 데이터에 포함된 비트들 중 선택된 비트들을 논리 연산하여 패러티를 생성하는 패러티생성회로;
에러삽입코드에 응답하여 데이터를 변환하여 내부데이터를 생성하는 데이터변환회로;
에러삽입코드에 응답하여 패러티를 변환하여 내부패러티를 생성하는 패러티변환회로; 및
상기 내부데이터와 상기 내부패러티로부터 생성된 신드롬과 상기 에러삽입코드로부터 검증신호를 생성하는 검증신호생성회로를 포함하는 전자장치.
- 제 11 항에 있어서, 상기 에러삽입코드는 리드신호 및 컬럼펄스에 응답하여 카운팅펄스가 발생될 때마다 카운팅되고, 상기 리드신호는 리드동작 시 인에이블되며, 상기 컬럼펄스는 상기 데이터가 출력될 때마다 발생되는 전자장치.
- 제 11 항에 있어서, 상기 에러삽입코드의 논리레벨조합들 각각은 상기 에러체크매트릭스에 따라 상기 데이터 및 상기 패러티에 포함된 비트들 중 적어도 하나의 비트에 대응되는 전자장치.
- 제 11 항에 있어서, 상기 데이터변환회로는 상기 에러삽입코드의 논리레벨조합에 따라 상기 데이터에 포함된 비트들 중 적어도 하나의 비트를 반전시켜 상기 내부데이터를 생성하는 전자장치.
- 제 11 항에 있어서, 상기 패러티변환회로는 상기 에러삽입코드의 논리레벨조합에 따라 상기 패러티에 포함된 비트들 중 적어도 하나의 비트를 반전시켜 상기 내부패러티를 생성하는 전자장치.
- 제 11 항에 있어서, 상기 신드롬은 상기 에러체크매트릭스에 응답하여 상기 내부데이터에 포함된 비트들 중 선택된 비트들과 상기 내부패러티의 논리레벨조합으로 생성되고, 상기 신드롬은 상기 내부데이터에 포함된 비트들 중 상기 데이터에 포함된 비트가 반전되어 생성된 비트의 위치 또는 상기 내부패러티에 포함된 비트들 중 상기 패러티에 포함된 비트가 반전되어 생성된 비트의 위치에 대한 정보를 포함하는 전자장치.
- 제 11 항에 있어서, 상기 검증신호생성회로는 상기 신드롬과 상기 에러삽입코드가 동일한 경우 제1 로직레벨을 갖는 검증신호를 생성하고, 상기 신드롬과 상기 에러삽입코드가 상이한 경우 제2 로직레벨을 갖는 검증신호를 생성하는 전자장치.
- 에러체크매트릭스에 따라 데이터 및 패러티에 포함된 비트들 중 적어도 하나의 비트에 대응되는 논리레벨조합을 갖는 에러삽입코드를 생성하는 에러발생제어회로;
상기 에러삽입코드의 논리레벨조합에 따라 상기 데이터에 포함된 비트들 중 적어도 하나의 비트를 반전시켜 내부데이터를 생성하는 데이터변환회로;
상기 에러삽입코드의 논리레벨조합에 따라 상기 패러티에 포함된 비트들 중 적어도 하나의 비트를 반전시켜 내부패러티를 생성하는 패러티변환회로; 및
상기 내부데이터와 상기 내부패러티로부터 생성된 신드롬과 상기 에러삽입코드로부터 검증신호를 생성하는 검증신호생성회로를 포함하는 전자장치.
- 제 18 항에 있어서, 상기 에러삽입코드는 리드신호 및 컬럼펄스에 응답하여 카운팅펄스가 발생될 때마다 카운팅되고, 상기 리드신호는 리드동작 시 인에이블되며, 상기 컬럼펄스는 상기 데이터가 출력될 때마다 발생되는 전자장치.
- 제 18 항에 있어서, 상기 신드롬은 상기 에러체크매트릭스에 응답하여 상기 내부데이터에 포함된 비트들 중 선택된 비트들과 상기 내부패러티의 논리레벨조합으로 생성되고, 상기 신드롬은 상기 내부데이터에 포함된 비트들 중 상기 데이터에 포함된 비트가 반전되어 생성된 비트의 위치 또는 상기 내부패러티에 포함된 비트들 중 상기 패러티에 포함된 비트가 반전되어 생성된 비트의 위치에 대한 정보를 포함하는 전자장치.
- 제 18 항에 있어서, 상기 검증신호생성회로는 상기 신드롬과 상기 에러삽입코드가 동일한 경우 제1 로직레벨을 갖는 검증신호를 생성하고, 상기 신드롬과 상기 에러삽입코드가 상이한 경우 제2 로직레벨을 갖는 검증신호를 생성하는 전자장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170134860A KR20190043043A (ko) | 2017-10-17 | 2017-10-17 | 전자장치 |
TW107111820A TWI774749B (zh) | 2017-10-17 | 2018-04-03 | 電子設備 |
US15/947,438 US10552277B2 (en) | 2017-10-17 | 2018-04-06 | Electronic devices |
CN201810359609.6A CN109669801B (zh) | 2017-10-17 | 2018-04-20 | 包括验证信号发生电路的电子设备 |
US16/723,908 US11048602B2 (en) | 2017-10-17 | 2019-12-20 | Electronic devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170134860A KR20190043043A (ko) | 2017-10-17 | 2017-10-17 | 전자장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190043043A true KR20190043043A (ko) | 2019-04-25 |
Family
ID=66097150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170134860A KR20190043043A (ko) | 2017-10-17 | 2017-10-17 | 전자장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10552277B2 (ko) |
KR (1) | KR20190043043A (ko) |
CN (1) | CN109669801B (ko) |
TW (1) | TWI774749B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11475971B1 (en) | 2021-03-31 | 2022-10-18 | SK Hynix Inc. | Semiconductor device and semiconductor system for testing error correction circuit |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190086936A (ko) * | 2018-01-15 | 2019-07-24 | 삼성전자주식회사 | 메모리 장치 |
EP4394774A4 (en) * | 2022-11-18 | 2024-12-04 | Yangtze Memory Technologies Co., Ltd. | Storage system, controller, memory and operation method, and electronic device |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4149038A (en) * | 1978-05-15 | 1979-04-10 | Wescom Switching, Inc. | Method and apparatus for fault detection in PCM muliplexed system |
US4794597A (en) * | 1986-03-28 | 1988-12-27 | Mitsubishi Denki Kabushiki Kaisha | Memory device equipped with a RAS circuit |
US5502732A (en) * | 1993-09-20 | 1996-03-26 | International Business Machines Corporation | Method for testing ECC logic |
US6799287B1 (en) * | 2000-05-01 | 2004-09-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for verifying error correcting codes |
US6983414B1 (en) * | 2001-03-30 | 2006-01-03 | Cisco Technology, Inc. | Error insertion circuit for SONET forward error correction |
JP2006323739A (ja) * | 2005-05-20 | 2006-11-30 | Renesas Technology Corp | メモリモジュール、メモリシステム、及び情報機器 |
JP6212396B2 (ja) * | 2014-01-08 | 2017-10-11 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
KR20160102738A (ko) * | 2015-02-23 | 2016-08-31 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
DE102015210651B4 (de) | 2015-06-10 | 2022-10-27 | Infineon Technologies Ag | Schaltung und Verfahren zum Testen einer Fehlerkorrektur-Fähigkeit |
KR20170050935A (ko) * | 2015-11-02 | 2017-05-11 | 에스케이하이닉스 주식회사 | 온 칩 ecc 회로를 포함하는 메모리 장치 및 시스템 |
KR102429452B1 (ko) * | 2016-02-02 | 2022-08-05 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
KR20170101368A (ko) * | 2016-02-26 | 2017-09-06 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 에러 정정 방법 |
-
2017
- 2017-10-17 KR KR1020170134860A patent/KR20190043043A/ko unknown
-
2018
- 2018-04-03 TW TW107111820A patent/TWI774749B/zh active
- 2018-04-06 US US15/947,438 patent/US10552277B2/en active Active
- 2018-04-20 CN CN201810359609.6A patent/CN109669801B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11475971B1 (en) | 2021-03-31 | 2022-10-18 | SK Hynix Inc. | Semiconductor device and semiconductor system for testing error correction circuit |
Also Published As
Publication number | Publication date |
---|---|
CN109669801A (zh) | 2019-04-23 |
US20190115937A1 (en) | 2019-04-18 |
TWI774749B (zh) | 2022-08-21 |
CN109669801B (zh) | 2022-06-03 |
US10552277B2 (en) | 2020-02-04 |
TW201917575A (zh) | 2019-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102393427B1 (ko) | 반도체장치 및 반도체시스템 | |
US10162703B2 (en) | Methods of correcting data errors and semiconductor devices used therein | |
KR20180019791A (ko) | 반도체장치 및 반도체시스템 | |
KR102647418B1 (ko) | 반도체장치 및 반도체시스템 | |
US20170286218A1 (en) | Semiconductor devices, and semiconductor systems | |
US10579472B2 (en) | Semiconductor devices | |
KR102410022B1 (ko) | 에러스크럽방법 및 이를 이용한 반도체모듈 | |
US10552277B2 (en) | Electronic devices | |
US10261860B2 (en) | Semiconductor systems | |
US9997234B1 (en) | Semiconductor devices | |
KR102563162B1 (ko) | 집적회로 | |
US20180189134A1 (en) | Semiconductor device | |
KR20190072144A (ko) | 에러정정방법 및 이를 이용한 반도체장치 | |
US20170344422A1 (en) | Semiconductor devices and semiconductor systems | |
US10181863B2 (en) | Semiconductor devices and semiconductor systems | |
KR102638789B1 (ko) | 테스트방법 및 이를 이용한 반도체시스템 | |
US10379786B2 (en) | Semiconductor devices | |
US11429477B2 (en) | Semiconductor devices | |
KR20180027234A (ko) | 반도체장치 | |
US10014073B2 (en) | Semiconductor devices | |
US11048602B2 (en) | Electronic devices | |
US20170235634A1 (en) | Semiconductor devices and semiconductor systems including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20171017 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination |