KR20180055148A - 반도체장치 및 반도체시스템 - Google Patents

반도체장치 및 반도체시스템 Download PDF

Info

Publication number
KR20180055148A
KR20180055148A KR1020160152599A KR20160152599A KR20180055148A KR 20180055148 A KR20180055148 A KR 20180055148A KR 1020160152599 A KR1020160152599 A KR 1020160152599A KR 20160152599 A KR20160152599 A KR 20160152599A KR 20180055148 A KR20180055148 A KR 20180055148A
Authority
KR
South Korea
Prior art keywords
data
error code
error
code
semiconductor device
Prior art date
Application number
KR1020160152599A
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 KR1020160152599A priority Critical patent/KR20180055148A/ko
Priority to US15/604,059 priority patent/US10635517B2/en
Priority to CN201710822607.1A priority patent/CN108073468B/zh
Publication of KR20180055148A publication Critical patent/KR20180055148A/ko

Links

Images

Classifications

    • 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
    • G06F11/1008Adding 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/1048Adding 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
    • 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
    • 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
    • G06F11/1008Adding 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0703Error 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/0706Error 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/0727Error 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 storage system, e.g. in a DASD or network based storage system
    • 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/0703Error 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/0751Error or fault detection not based on redundancy
    • 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/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Abstract

반도체시스템은 커맨드어드레스, 제1 및 제2 데이터를 출력하고, 비교신호를 입력받아 상기 제1 및 제2 데이터의 동일성 여부를 감지하는 제1 반도체장치 및 상기 커맨드어드레스에 응답하여 라이트동작 시 상기 제1 데이터에 대한 제1 에러코드 및 상기 제2 데이터에 대한 제2 에러코드를 저장하고, 리드동작 시 상기 제1 에러코드 및 상기 제2 에러코드를 비교하여 상기 비교신호를 출력하는 제2 반도체장치를 포함한다.

Description

반도체장치 및 반도체시스템{SEMICONDUCTOR DEVICE AND SEMICONDUCTOR SYSTEM}
본 발명은 에러코드를 비교하여 데이터의 동일성 여부를 감지하는 반도체장치 및 반도체시스템에 관한 것이다.
최근 10nm process 등 반도체 공정 미세화와 DDR4와 같은 고속 인터페이스가 도입되면서, 메모리장치의 신뢰성을 보장하는 것이 매우 중요해지고 있다. 이에 따라 데이터가 전송되는 과정 중 발생되는 오류의 발생 확률도 증가 되므로, 데이터 전송의 신뢰성을 보장하기 위한 별도의 장치와 방법이 추가적으로 요구되고 있다.
데이터 전송시마다 오류 발생 여부를 확인할 수 있는 오류코드를 생성하여 데이터와 함께 전송함으로써, 데이터 전소의 신뢰성을 보장하는 방법을 사용하고 있다. 오류코드에는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와, 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC) 등이 있다.
본 발명은 데이터의 에러정보를 포함하는 에러코드를 비교하여 데이터의 동일성 여부를 감지하는 반도체장치 및 반도체시스템을 제공한다.
이를 위해 본 발명은 커맨드어드레스, 제1 및 제2 데이터를 출력하고, 비교신호를 입력받아 상기 제1 및 제2 데이터의 동일성 여부를 감지하는 제1 반도체장치 및 상기 커맨드어드레스에 응답하여 라이트동작 시 상기 제1 데이터에 대한 제1 에러코드 및 상기 제2 데이터에 대한 제2 에러코드를 저장하고, 리드동작 시 상기 제1 에러코드 및 상기 제2 에러코드를 비교하여 상기 비교신호를 출력하는 제2 반도체장치를 포함하는 반도체시스템을 제공한다.
또한, 본 발명은 커맨드어드레스를 출력하고, 제1 및 제2 데이터를 입출력하며, 제1 및 제2 에러코드를 비교하여 상기 제1 및 제2 데이터의 동일성 여부를 감지하는 제1 반도체장치 및 상기 커맨드어드레스에 응답하여 라이트동작 시 상기 제1 데이터에 대한 상기 제1 에러코드 및 상기 제2 데이터에 대한 상기 제2 에러코드를 저장하고, 리드동작 시 상기 제1 에러코드 및 상기 제2 에러코드를 출력하는 제2 반도체장치를 포함하는 반도체시스템을 제공한다.
또한, 본 발명은 커맨드어드레스에 응답하여 라이트동작 시 제1 데이터에 대한 제1 에러코드를 생성하고, 제2 데이터에 대한 제2 에러코드를 생성하며, 리드동작 시 상기 제1 및 제2 에러코드를 비교하여 비교신호를 생성하는 에러정정회로 및 상기 라이트동작 시 상기 제1 및 제2 데이터를 메모리영역에 저장하고, 상기 제1 및 제2 에러코드를 에러코드영역에 저장하며, 리드동작 시 상기 제1 및 제2 데이터를 출력하고, 상기 제1 및 제2 에러코드를 출력하는 뱅크를 포함하는 반도체장치를 제공한다.
또한, 본 발명은 데이터라인을 통해 데이터를 입출력하는 컨트롤러 및 다수의 반도체장치 및 에러코드저장장치를 포함하고, 라이트동작 시 상기 다수의 반도체장치에 상기 데이터를 저장하며, 상기 라이트동작 시 상기 데이터의 에러정보를 포함하는 에러코드를 상기 에러코드저장장치에 저장하고, 리드동작 시 상기 에러코드를 비교하여 상기 데이터의 동일성을 감지하는 반도체모듈을 포함하는 반도체시스템을 제공한다.
또한, 본 발명은 이터라인을 통해 데이터를 입출력하고, 상기 데이터라인에 실린 에러코드를 비교하여 비교신호를 생성하는 컨트롤러 및 다수의 반도체장치 및 에러코드저장장치를 포함하고, 라이트동작 시 상기 다수의 반도체장치에 상기 데이터를 저장하며, 상기 라이트동작 시 상기 데이터의 에러정보를 포함하는 에러코드를 상기 에러코드저장장치에 저장하며, 리드동작 시 상기 데이터라인을 통해 상기 에러코드를 출력하되, 상기 비교신호에 응답하여 상기 데이터의 동일성을 감지하는 반도체모듈을 포함하는 반도체시스템을 제공한다.
본 발명에 의하면 데이터의 에러정보를 포함하는 에러코드를 비교하여 데이터의 동일성 여부를 감지할 수 있는 효과가 있다.
또한, 본 발명에 의하면 데이터보다 적은 비트수를 갖는 에러코드를 비교하여 데이터의 동일성 여부를 감지함으로써 데이터의 동일성 감지 시간 및 전류소모량을 감소할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 반도체시스템의 구성을 도시한 블럭도이다.
도 2는 도 1에 도시된 반도체시스템에 포함된 에러정정회로의 구성을 도시한 블럭도이다.
도 3은 본 발명의 다른 실시예에 따른 반도체시스템의 구성을 도시한 블럭도이다.
도 4는 본 발명의 다른 실시예에 따른 반도체시스템의 구성을 도시한 블럭도이다.
도 5는 본 발명의 다른 실시예에 따른 반도체시스템의 구성을 도시한 블럭도이다.
도 6은 도 1 내지 도 5에 도시된 반도체장치 및 반도체시스템이 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 도면이다.
도 7은 도 1 내지 도 5에 도시된 반도체장치 및 반도체시스템이 적용된 전자시스템의 다른 실시예에 따른 구성을 도시한 도면이다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1에 도시된 바와 같이 본 발명의 일 실시예에 따른 반도체시스템은 제1 반도체장치(1) 및 제2 반도체장치(2)를 포함할 수 있다. 제2 반도체장치(2)는 에러정정회로(10), 제1 뱅크(20) 및 제2 뱅크(30)를 포함할 수 있다.
제1 반도체장치(1)는 커맨드어드레스(CA), 제1 데이터(D<1>) 및 제2 데이터(D<2>)를 출력할 수 있다. 제1 반도체장치(1)는 비교신호(CMP)를 입력받아 제1 데이터(D<1>) 및 제2 데이터(D<2>)의 동일성 여부를 감지할 수 있다. 커맨드어드레스(CA)는 어드레스, 커맨드 및 데이터 중 적어도 하나가 전송되는 라인들을 통해 전송될 수 있다. 커맨드어드레스(CA)는 다수의 비트로 구현될 수 있다. 커맨드어드레스(CA)에 포함된 일부 비트는 제2 반도체장치(2)의 동작을 제어하기 위한 커맨드를 포함할 수 있다. 커맨드어드레스(CA)에 포함된 일부 비트는 제2 반도체장치(2)의 제1 뱅크(20) 및 제2 뱅크(30)에 포함된 메모리셀을 선택하기 위한 어드레스를 포함할 수 있다. 제1 데이터(D<1>)는 하나의 신호로 도시되어 있지만 다수의 비트를 포함하도록 구현될 수 있다. 제2 데이터(D<2>)는 하나의 신호로 도시되어 있지만 다수의 비트를 포함하도록 구현될 수 있다.
에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 생성할 수 있다. 에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 생성할 수 있다. 에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 리드동작 시 제1 에러코드(EC<1>) 및 제2 에러코드(EC<2>)를 비교하여 비교신호(CMP)를 생성할 수 있다. 에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 리드동작 시 제1 에러코드(EC<1>)와 제2 에러코드(EC<2>)가 동일한 조합인 경우 인에이블되는 비교신호(CMP)를 생성할 수 있다. 에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 리드동작 시 제1 에러코드(EC<1>)에 따라 제1 데이터(D<1>)의 에러를 정정할 수 있다. 에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 리드동작 시 제2 에러코드(EC<2>)에 따라 제2 데이터(D<2>)의 에러를 정정할 수 있다. 제2 에러코드(EC<2>)는 제1 에러코드(EC<1>)가 출력된 이후 출력되도록 설정될 수 있다. 제1 에러코드(EC<1>)에 포함된 비트수는 제1 데이터(D<1>)의 비트수보다 적은 비트수로 생성될 수 있다. 제2 에러코드(EC<2>)에 포함된 비트수는 제2 데이터(D<2>)의 비트수보다 적은 비트수로 생성될 수 있다. 제1 에러코드(EC<1>)와 제2 에러코드(EC<2>)가 상이한 조합인 경우 제1 데이터(D<1>)와 제2 데이터(D<2>)는 상이한 조합일 수 있다.
제1 뱅크(20)는 제1 메모리영역(21) 및 제1 에러코드영역(22)을 포함할 수 있다. 제1 메모리영역(21)은 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 제1 데이터(D<1>)를 저장할 수 있다. 제1 메모리영역(21)은 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제1 데이터(D<1>)를 출력할 수 있다. 제1 에러코드영역(22)은 커맨드어드레스(CA)에 응답하여 라이트동작 시 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 저장할 수 있다. 제1 에러코드영역(22)은 커맨드어드레스(CA)에 응답하여 리드동작 시 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 출력할 수 있다.
제2 뱅크(30)는 제2 메모리영역(31) 및 제2 에러코드영역(32)을 포함할 수 있다. 제2 메모리영역(31)은 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 제2 데이터(D<2>)를 저장할 수 있다. 제2 메모리영역(31)은 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제2 데이터(D<2>)를 출력할 수 있다. 제2 에러코드영역(32)은 커맨드어드레스(CA)에 응답하여 라이트동작 시 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 저장할 수 있다. 제2 에러코드영역(32)은 커맨드어드레스(CA)에 응답하여 리드동작 시 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 출력할 수 있다.
한편, 도 1에 도시된 제2 반도체장치(2)는 제1 뱅크(20) 및 제2 뱅크(30)를 포함하도록 도시되어 있지만 실시예에 따라 다수의 뱅크를 포함하도록 구현될 수 있다.
도 2를 참고하면 에러정정회로(10)는 에러코드생성회로(11), 입력버퍼(12), 코드저장회로(13) 및 비교회로(14)를 포함할 수 있다.
에러코드생성회로(11)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 생성할 수 있다. 에러코드생성회로(11)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 생성할 수 있다. 에러코드생성회로(11)는 커맨드어드레스(CA)에 응답하여 리드동작 시 제1 에러코드(EC<1>)에 따라 제1 데이터(D<1>)의 에러를 정정할 수 있다. 에러코드생성회로(11)는 커맨드어드레스(CA)에 응답하여 리드동작 시 제2 에러코드(EC<2>)에 따라 제2 데이터(D<2>)의 에러를 정정할 수 있다. 에러코드생성회로(11)는 일반적인 오류정정코드(Error Correction Code, ECC)를 이용하여 데이터의 에러를 정정하는 회로로 구현될 수 있다.
입력버퍼(12)는 커맨드어드레스(CA)에 응답하여 리드동작 시 제1 에러코드(EC<1>)를 버퍼링하여 제1 내부에러코드(IC<1>)를 생성할 수 있다. 입력버퍼(12)는 커맨드어드레스(CA)에 응답하여 리드동작 시 제2 에러코드(EC<2>)를 버퍼링하여 제2 내부에러코드(IC<2>)를 생성할 수 있다.
코드저장회로(13)는 제1 내부에러코드(IC<1>)를 저장하고, 저장된 제1 내부에러코드(IC<1>)를 저장에러코드(SC)로 출력할 수 있다. 코드저장회로(13)는 저장된 제1 내부에러코드(IC<1>)를 제2 내부에러코드(IC<2>)가 생성되는 시점에 저장에러코드(SC)로 출력할 수 있다. 코드저장회로(13)는 제1 내부에러코드(IC<1>)를 저장하도록 도시되었지만 실시예에 따라 다수의 신호를 저장하는 레지스터로 구현될 수 있다.
비교회로(14)는 저장에러코드(SC)와 제2 내부에러코드(IC<2>)를 비교하여 비교신호(CMP)를 생성할 수 있다. 비교회로(14)는 저장에러코드(SC)와 제2 내부에러코드(IC<2>)가 동일한 조합인 경우 인에이블되는 비교신호(CMP)를 생성할 수 있다. 비교신호(CMP)가 인에이블되는 로직레벨은 실시예에 따라 다양하게 설정될 수 있다.
이와 같은 본 발명의 일 실시예에 따른 반도체시스템의 데이터 동일성 여부 감지동작을 살펴보되 제1 데이터(D<1>)와 제2 데이터(D<2>)가 상이한 조합인 경우와 제1 데이터(D<1>)와 제2 데이터(D<2>)가 동일한 조합인 경우를 예를 들어 설명하면 다음과 같다.
우선, 제1 데이터(D<1>)와 제2 데이터(D<2>)가 상이한 조합인 경우를 설명하면 다음과 같다.
제1 반도체장치(10)는 라이트동작을 위한 커맨드어드레스(CA), 제1 데이터(D<1>) 및 제2 데이터(D<2>)를 출력한다. 이때, 제1 데이터(D<1>) 및 제2 데이터(D<2>)는 상이한 조합으로 출력된다.
에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 생성한다. 에러정정회로(30)는 커맨드어드레스(CA)에 응답하여 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 생성한다. 여기서, 제1 데이터(D<1>) 및 제2 데이터(D<2>)가 상이한 조합이므로 제1 에러코드(EC<1>)와 제2 에러코드(EC<2>)의 조합은 상이한 조합으로 생성된다.
제1 뱅크(20)의 제1 메모리영역(21)은 커맨드어드레스(CA)에 응답하여 선택되는 메모리셀에 제1 데이터(D<1>)를 저장한다. 제1 뱅크(20)의 제1 에러코드영역(22)은 커맨드어드레스(CA)에 응답하여 제1 에러코드(EC<1>)를 저장한다.
제2 뱅크(30)의 제2 메모리영역(31)은 커맨드어드레스(CA)에 응답하여 선택되는 메모리셀에 제2 데이터(D<2>)를 저장한다. 제2 뱅크(30)의 제2 에러코드영역(32)은 커맨드어드레스(CA)에 응답하여 제2 에러코드(EC<2>)를 저장한다.
제1 반도체장치(10)는 리드동작을 위한 커맨드어드레스(CA)를 출력한다.
제1 뱅크(20)의 제1 메모리영역(21)은 커맨드어드레스(CA)에 응답하여 선택되는 메모리셀의 제1 데이터(D<1>)를 출력한다. 제1 뱅크(20)의 제1 에러코드영역(22)은 커맨드어드레스(CA)에 응답하여 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 출력한다.
제2 뱅크(30)의 제2 메모리영역(31)은 커맨드어드레스(CA)에 응답하여 선택되는 메모리셀의 제2 데이터(D<2>)를 출력한다. 제2 뱅크(30)의 제2 에러코드영역(32)은 커맨드어드레스(CA)에 응답하여 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 출력한다.
에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 제1 에러코드(EC<1>) 및 제2 에러코드(EC<2>)가 상이한 조합이므로 디스에이블되는 비교신호(CMP)를 생성한다.
제1 반도체장치(10)는 디스에이블되는 비교신호(CMP)를 입력받아 제1 데이터(D<1>) 및 제2 데이터(D<2>)가 상이한 조합임을 감지한다.
다음으로, 제1 데이터(D<1>)와 제2 데이터(D<2>)가 동일한 조합인 경우를 설명하면 다음과 같다.
제1 반도체장치(10)는 라이트동작을 위한 커맨드어드레스(CA), 제1 데이터(D<1>) 및 제2 데이터(D<2>)를 출력한다. 이때, 제1 데이터(D<1>) 및 제2 데이터(D<2>)는 동일한 조합으로 출력된다.
에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 생성한다. 에러정정회로(30)는 커맨드어드레스(CA)에 응답하여 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 생성한다. 여기서, 제1 데이터(D<1>) 및 제2 데이터(D<2>)가 동일한 조합이므로 제1 에러코드(EC<1>)와 제2 에러코드(EC<2>)의 조합은 동일한 조합으로 생성된다.
제1 뱅크(20)의 제1 메모리영역(21)은 커맨드어드레스(CA)에 응답하여 선택되는 메모리셀에 제1 데이터(D<1>)를 저장한다. 제1 뱅크(20)의 제1 에러코드영역(22)은 커맨드어드레스(CA)에 응답하여 제1 에러코드(EC<1>)를 저장한다.
제2 뱅크(30)의 제2 메모리영역(31)은 커맨드어드레스(CA)에 응답하여 선택되는 메모리셀에 제2 데이터(D<2>)를 저장한다. 제2 뱅크(30)의 제2 에러코드영역(32)은 커맨드어드레스(CA)에 응답하여 제2 에러코드(EC<2>)를 저장한다.
제1 반도체장치(10)는 리드동작을 위한 커맨드어드레스(CA)를 출력한다.
제1 뱅크(20)의 제1 메모리영역(21)은 커맨드어드레스(CA)에 응답하여 선택되는 메모리셀의 제1 데이터(D<1>)를 출력한다. 제1 뱅크(20)의 제1 에러코드영역(22)은 커맨드어드레스(CA)에 응답하여 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 출력한다.
제2 뱅크(30)의 제2 메모리영역(31)은 커맨드어드레스(CA)에 응답하여 선택되는 메모리셀의 제2 데이터(D<2>)를 출력한다. 제2 뱅크(30)의 제2 에러코드영역(32)은 커맨드어드레스(CA)에 응답하여 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 출력한다.
에러정정회로(10)는 커맨드어드레스(CA)에 응답하여 제1 에러코드(EC<1>) 및 제2 에러코드(EC<2>)가 동일한 조합이므로 인에이블되는 비교신호(CMP)를 생성한다.
제1 반도체장치(10)는 인에이블되는 비교신호(CMP)를 입력받아 제1 데이터(D<1>) 및 제2 데이터(D<2>)가 동일한 조합임을 감지한다.
이와 같은 본 발명의 일 실시예에 따른 반도체시스템은 데이터의 에러정보를 포함하는 에러코드를 비교하여 데이터의 동일성 여부를 감지할 수 있다. 또한, 본 발명의 일 실시예에 따른 반도체시스템은 데이터보다 적은 비트수를 갖는 에러코드를 비교하여 데이터의 동일성 여부를 감지함으로써 데이터의 동일성 감지시간 및 전류소모량을 감소할 수 있다.
도 3에 도시된 바와 같이 본 발명의 다른 실시예에 따른 반도체시스템은 제1 반도체장치(3) 및 제2 반도체장치(4)를 포함할 수 있다. 제1 반도체장치(3)는 에러정정회로(40)를 포함할 수 있다. 제2 반도체장치(4)는 제1 뱅크(50) 및 제2 뱅크(60)를 포함할 수 있다.
제1 반도체장치(3)는 커맨드어드레스(CA), 제1 데이터(D<1>) 및 제2 데이터(D<2>)를 출력할 수 있다. 제1 반도체장치(10)는 제1 에러코드(EC<1>) 및 제2 에러코드(EC<2>)를 입력받아 제1 데이터(D<1>) 및 제2 데이터(D<2>)의 동일성 여부를 감지할 수 있다. 커맨드어드레스(CA)는 어드레스, 커맨드 및 데이터 중 적어도 하나가 전송되는 라인들을 통해 전송될 수 있다. 커맨드어드레스(CA)는 다수의 비트로 구현될 수 있다. 커맨드어드레스(CA)에 포함된 일부 비트는 제2 반도체장치(4)의 동작을 제어하기 위한 커맨드를 포함할 수 있다. 커맨드어드레스(CA)에 포함된 일부 비트는 제2 반도체장치(4)의 제1 뱅크(50) 및 제2 뱅크(60)에 포함된 메모리셀을 선택하기 위한 어드레스를 포함할 수 있다. 제1 데이터(D<1>)는 하나의 신호로 도시되어 있지만 다수의 비트를 포함하도록 구현될 수 있다. 제2 데이터(D<2>)는 하나의 신호로 도시되어 있지만 다수의 비트를 포함하도록 구현될 수 있다.
에러정정회로(40)는 라이트동작 시 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 생성할 수 있다. 에러정정회로(40)는 라이트동작 시 제1 에러코드(EC<1>)를 제2 반도체장치(4)로 출력할 수 있다. 에러정정회로(40)는 라이트동작 시 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 생성할 수 있다. 에러정정회로(40)는 라이트동작 시 제2 에러코드(EC<2>)를 제2 반도체장치(4)로 출력할 수 있다. 에러정정회로(40)는 리드동작 시 제2 반도체장치(4)로부터 제1 에러코드(EC<1>) 및 제2 에러코드(EC<2>)를 인가받을 수 있다. 에러정정회로(40)는 리드동작 시 제1 에러코드(EC<1>)와 제2 에러코드(EC<2>)를 비교하여 제1 데이터(D<1>) 및 제2 데이터(D<2>)의 동일성 여부를 감지할 수 있다. 에러정정회로(10)는 리드동작 시 제1 에러코드(EC<1>)에 따라 제1 데이터(D<1>)의 에러를 정정할 수 있다. 에러정정회로(10)는 리드동작 시 제2 에러코드(EC<2>)에 따라 제2 데이터(D<2>)의 에러를 정정할 수 있다. 제1 에러코드(EC<1>)에 포함된 비트수는 제1 데이터(D<1>)의 비트수보다 적은 비트수로 생성될 수 있다. 제2 에러코드(EC<2>)에 포함된 비트수는 제2 데이터(D<2>)의 비트수보다 적은 비트수로 생성될 수 있다. 제1 에러코드(EC<1>)와 제2 에러코드(EC<2>)가 상이한 조합인 경우 제1 데이터(D<1>)와 제2 데이터(D<2>)는 상이한 조합일 수 있다. 도 3에 도시된 에러정정회로(40)는 앞서 도 1에 도시된 에러정정회로(10)와 동일한 구성으로 구현되어 동일한 동작을 수행하므로 구체적인 설명은 생략한다.
제1 뱅크(50)는 제1 메모리영역(51) 및 제1 에러코드영역(52)을 포함할 수 있다. 제1 메모리영역(51)은 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 제1 데이터(D<1>)를 저장할 수 있다. 제1 메모리영역(51)은 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제1 데이터(D<1>)를 출력할 수 있다. 제1 에러코드영역(52)은 커맨드어드레스(CA)에 응답하여 라이트동작 시 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 저장할 수 있다. 제1 에러코드영역(52)은 커맨드어드레스(CA)에 응답하여 리드동작 시 제1 데이터(D<1>)에 대한 에러정보를 포함하는 제1 에러코드(EC<1>)를 출력할 수 있다.
제2 뱅크(60)는 제2 메모리영역(61) 및 제2 에러코드영역(62)을 포함할 수 있다. 제2 메모리영역(61)은 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 제2 데이터(D<2>)를 저장할 수 있다. 제2 메모리영역(61)은 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제2 데이터(D<2>)를 출력할 수 있다. 제2 에러코드영역(62)은 커맨드어드레스(CA)에 응답하여 라이트동작 시 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 저장할 수 있다. 제2 에러코드영역(62)은 커맨드어드레스(CA)에 응답하여 리드동작 시 제2 데이터(D<2>)에 대한 에러정보를 포함하는 제2 에러코드(EC<2>)를 출력할 수 있다. 제2 에러코드(EC<2>)는 제1 에러코드(EC<1>)가 출력된 이후 출력되도록 설정될 수 있다.
한편, 도 3에 도시된 제2 반도체장치(4)는 제1 뱅크(50) 및 제2 뱅크(60)를 포함하도록 도시되어 있지만 실시예에 따라 다수의 뱅크를 포함하도록 구현될 수 있다.
이와 같은 본 발명의 다른 실시예에 따른 반도체시스템은 데이터의 에러정보를 포함하는 에러코드를 비교하여 데이터의 동일성 여부를 감지할 수 있다. 또한, 본 발명의 다른 실시예에 따른 반도체시스템은 데이터보다 적은 비트수를 갖는 에러코드를 비교하여 데이터의 동일성 여부를 감지함으로써 데이터의 동일성 감지시간 및 전류소모량을 감소할 수 있다.
도 4에 도시된 바와 같이 본 발명의 다른 실시예에 따른 반도체시스템은 컨트롤러(5) 및 반도체모듈(6)을 포함할 수 있다. 반도체모듈(6)은 에러정정회로(100), 모듈컨트롤러(200), 제1 내지 제8 반도체장치(211~218) 및 에러코드저장장치(300)를 포함할 수 있다.
컨트롤러(5)는 라이트동작 시 제1 내지 제8 데이터(D<1:8>)를 데이터라인(DIO)을 통해 출력할 수 있다. 컨트롤러(5)는 리드동작 시 데이터라인(DIO)에 실린 제1 내지 제8 데이터(D<1:8>)를 입력받을 수 있다. 데이터라인(DIO)은 다수의 라인을 포함하는 입출력라인 버스로 구현될 수 있다.
에러정정회로(100)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 제1 내지 제8 데이터(D<1:8>)에 대한 에러정보를 포함하는 에러코드(EC)를 생성할 수 있다. 에러정정회로(100)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 에러코드(EC)를 데이터라인(DIO)을 통해 출력할 수 있다. 에러정정회로(100)는 커맨드어드레스(CA)에 응답하여 리드동작 시 데이터라인(DIO)에 실린 에러코드(EC)에 포함된 에러정보에 따라 비교신호(CMP)를 생성할 수 있다. 에러정정회로(100)는 커맨드어드레스(CA)에 응답하여 리드동작 시 에러코드(EC)에 따라 제1 내지 제8 데이터(D<1:8>)의 에러를 정정할 수 있다. 에러정정회로(100)는 에러가 정정된 제1 내지 제8 데이터(D<1:8>)를 데이터라인(DIO)으로 출력할 수 있다. 에러코드(EC)는 제1 내지 제8 데이터(D<1:8>)의 각각에 대한 에러정보를 포함하는 다수의 비트로 구현될 수 있다.
좀더 구체적으로 에러정정회로(100)에서 비교신호(CMP)를 생성하는 동작을 예를 들어 설명하면 다음과 같다.
에러정정회로(100)는 제1 데이터(D<1>)와 제2 데이터(D<2>)의 동일성 여부를 판단하는 경우 제1 데이터(D<1>)에 대한 에러정보를 포함하는 에러코드(EC)와 제2 데이터(D<2>)에 대한 에러정보를 포함하는 에러코드(EC)를 비교하여 비교신호(CMP)를 생성할 수 있다. 또한, 에러정정회로(100)는 제1 데이터(D<1>), 제3 데이터(D<3>) 및 제5 데이터(D<5>)의 동일성 여부를 판단하는 경우 제1 데이터(D<1>)에 대한 에러정보를 포함하는 에러코드(EC), 제3 데이터(D<3>)에 대한 에러정보를 포함하는 에러코드(EC) 및 제5 데이터(D<5>)에 대한 에러정보를 포함하는 에러코드(EC)를 비교하여 비교신호(CMP)를 생성할 수 있다. 에러정정회로(100)는 에러코드(EC)를 비교하여 다수의 데이터에 대한 동일성 여부를 감지하는 비교신호(CMP)를 생성할 수 있다.
모듈컨트롤러(200)는 커맨드어드레스(CA)를 커맨드라인(CIO)을 통해 출력할 수 있다. 모듈컨트롤러(200)는 비교신호(CMP)를 입력받아 제1 내지 제8 데이터(D<1:8>)의 동일성 여부를 감지할 수 있다. 모듈컨트롤러(200)는 비교신호(CMP)를 입력받아 제1 내지 제8 데이터(D<1:8>) 중 일부 데이터에 대한 동일성 여부를 감지할 수 있다. 커맨드어드레스(CA)는 다수의 비트로 구현될 수 있다. 커맨드어드레스(CA)에 포함된 일부 비트는 제1 내지 제8 반도체장치(211~218)의 동작을 제어하기 위한 커맨드를 포함할 수 있다. 커맨드어드레스(CA)에 포함된 일부 비트는 제1 내지 제8 반도체장치(211~218)에 포함된 메모리셀을 선택하기 위한 어드레스를 포함할 수 있다.
제1 반도체장치(211)는 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 데이터라인(DIO)에 실린 제1 데이터(D<1>)를 저장할 수 있다. 제1 반도체장치(211)는 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제1 데이터(D<1>)를 데이터라인(DIO)을 통해 출력할 수 있다.
제2 반도체장치(212)는 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 데이터라인(DIO)에 실린 제2 데이터(D<2>)를 저장할 수 있다. 제2 반도체장치(212)는 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제2 데이터(D<2>)를 데이터라인(DIO)을 통해 출력할 수 있다.
제3 반도체장치(213)는 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 데이터라인(DIO)에 실린 제3 데이터(D<3>)를 저장할 수 있다. 제3 반도체장치(213)는 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제3 데이터(D<3>)를 데이터라인(DIO)을 통해 출력할 수 있다.
제4 반도체장치(214)는 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 데이터라인(DIO)에 실린 제4 데이터(D<4>)를 저장할 수 있다. 제4 반도체장치(214)는 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제4 데이터(D<4>)를 데이터라인(DIO)을 통해 출력할 수 있다.
제5 반도체장치(215)는 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 데이터라인(DIO)에 실린 제5 데이터(D<5>)를 저장할 수 있다. 제5 반도체장치(215)는 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제5 데이터(D<5>)를 데이터라인(DIO)을 통해 출력할 수 있다.
제6 반도체장치(216)는 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 데이터라인(DIO)에 실린 제6 데이터(D<6>)를 저장할 수 있다. 제6 반도체장치(216)는 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제6 데이터(D<6>)를 데이터라인(DIO)을 통해 출력할 수 있다.
제7 반도체장치(217)는 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 데이터라인(DIO)에 실린 제7 데이터(D<7>)를 저장할 수 있다. 제7 반도체장치(217)는 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제7 데이터(D<7>)를 데이터라인(DIO)을 통해 출력할 수 있다.
제8 반도체장치(218)는 다수의 메모리셀을 포함하고, 커맨드어드레스(CA)에 응답하여 라이트동작 시 선택되는 메모리셀에 데이터라인(DIO)에 실린 제8 데이터(D<8>)를 저장할 수 있다. 제8 반도체장치(218)는 커맨드어드레스(CA)에 응답하여 리드동작 시 선택된 메모리셀에 저장된 제8 데이터(D<8>)를 데이터라인(DIO)을 통해 출력할 수 있다.
제1 내지 제8 반도체장치(211~218)는 일반적인 휘발성 메모리장치인 DRAM으로 구현되거나 비휘발성 메모리장치로 구현될 수 있다.
에러코드저장장치(300)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 데이터라인(DIO)에 실린 에러코드(EC)를 저장할 수 있다. 에러코드저장장치(300)는 커맨드어드레스(CA)에 응답하여 리드동작 시 에러코드(EC)를 데이터라인(DIO)을 통해 출력할 수 있다.
이와 같은 본 발명의 다른 실시예에 따른 반도체시스템은 데이터의 에러정보를 포함하는 에러코드를 비교하여 데이터의 동일성 여부를 감지할 수 있다. 또한, 본 발명의 다른 실시예에 따른 반도체시스템은 데이터보다 적은 비트수를 갖는 에러코드를 비교하여 데이터의 동일성 여부를 감지함으로써 데이터의 동일성 감지시간 및 전류소모량을 감소할 수 있다.
도 5에 도시된 바와 같이 본 발명의 다른 실시예에 따른 반도체시스템은 컨트롤러(7) 및 반도체모듈(8)을 포함할 수 있다. 컨트롤러(7)는 에러정정회로(400)를 포함할 수 있다. 반도체모듈(8)은 모듈컨트롤러(500), 제1 내지 제8 반도체장치(511~518) 및 에러코드저장장치(600)를 포함할 수 있다.
컨트롤러(7)는 라이트동작 시 제1 내지 제8 데이터(D<1:8>)를 데이터라인(DIO)을 통해 출력할 수 있다. 컨트롤러(7)는 리드동작 시 데이터라인(DIO)에 실린 제1 내지 제8 데이터(D<1:8>)를 입력받을 수 있다. 데이터라인(DIO)은 다수의 라인을 포함하는 입출력라인 버스로 구현될 수 있다.
에러정정회로(400)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 제1 내지 제8 데이터(D<1:8>)에 대한 에러정보를 포함하는 에러코드(EC)를 생성할 수 있다. 에러정정회로(400)는 커맨드어드레스(CA)에 응답하여 라이트동작 시 에러코드(EC)를 데이터라인(DIO)을 통해 출력할 수 있다. 에러정정회로(400)는 커맨드어드레스(CA)에 응답하여 리드동작 시 데이터라인(DIO)에 실린 에러코드(EC)에 포함된 에러정보에 따라 비교신호(CMP)를 생성할 수 있다. 에러정정회로(400)는 커맨드어드레스(CA)에 응답하여 리드동작 시 에러코드(EC)에 따라 제1 내지 제8 데이터(D<1:8>)의 에러를 정정할 수 있다. 에러정정회로(400)는 에러가 정정된 제1 내지 제8 데이터(D<1:8>)를 데이터라인(DIO)으로 출력할 수 있다. 에러코드(EC)는 제1 내지 제8 데이터(D<1:8>)의 각각에 대한 에러정보를 포함하는 다수의 비트로 구현될 수 있다.
도 5에 도시된 에러정정회로(400)는 도 4에 도시된 에러정정회로(100)와 달리 반도체모듈(8)에 구비되지 않고 컨트롤러(7)에 구비될 뿐, 도 4에 도시된 에러정정회로(100)와 동일한 동작을 수행하므로 구체적인 설명은 생략한다.
모듈컨트롤러(500)는 커맨드어드레스(CA)를 커맨드라인(CIO)을 통해 출력할 수 있다. 모듈컨트롤러(500)는 비교신호(CMP)를 입력받아 제1 내지 제8 데이터(D<1:8>)의 동일성 여부를 감지할 수 있다. 모듈컨트롤러(500)는 비교신호(CMP)를 입력받아 제1 내지 제8 데이터(D<1:8>) 중 일부 데이터에 대한 동일성 여부를 감지할 수 있다. 커맨드어드레스(CA)는 다수의 비트로 구현될 수 있다. 커맨드어드레스(CA)에 포함된 일부 비트는 제1 내지 제8 반도체장치(511~518)의 동작을 제어하기 위한 커맨드를 포함할 수 있다. 커맨드어드레스(CA)에 포함된 일부 비트는 제1 내지 제8 반도체장치(511~518)에 포함된 메모리셀을 선택하기 위한 어드레스를 포함할 수 있다.
도 5에 도시된 제1 내지 제8 반도체장치(511~518)는 도 4에 도시된 제1 내지 제8 반도체장치(211~218)와 동일하게 구현되어 동일한 동작을 수행하므로 구체적인 설명은 생략한다. 또한, 제1 내지 제8 반도체장치(511~518)는 일반적인 휘발성 메모리장치인 DRAM으로 구현되거나 비휘발성 메모리장치로 구현될 수 있다.
도 5에 도시된 에러코드저장장치(600)는 도 4에 도시된 에러코드저장장치(300)와 동일하게 구현되어 동일한 동작을 수행하므로 구체적인 설명은 생략한다.
이와 같은 본 발명의 다른 실시예에 따른 반도체시스템은 데이터의 에러정보를 포함하는 에러코드를 비교하여 데이터의 동일성 여부를 감지할 수 있다. 또한, 본 발명의 다른 실시예에 따른 반도체시스템은 데이터보다 적은 비트수를 갖는 에러코드를 비교하여 데이터의 동일성 여부를 감지함으로써 데이터의 동일성 감지시간 및 전류소모량을 감소할 수 있다.
앞서, 도 1 내지 도 5에서 살펴본 반도체장치는 메모리시스템, 그래픽시스템, 컴퓨팅시스템 및 모바일시스템 등을 포함하는 전자시스템에 적용될 수 있다. 예를 들어, 도 6을 참고하면 본 발명의 일 실시예에 따른 전자시스템(1000)은 데이터저장부(1001), 메모리컨트롤러(1002), 버퍼메모리(1003) 및 입출력인터페이스(1004)를 포함할 수 있다.
데이터저장부(1001)는 메모리컨트롤러(1002)로부터의 제어신호에 따라 메모리컨트롤러(1002)로부터 인가되는 데이터를 저장하고 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 데이터저장부(1001)는 도 1에 도시된 제2 반도체장치(2), 도 3에 도시된 제2 반도체장치(4), 도 4에 도시된 제1 내지 제8 반도체장치(211~218) 및 도 5에 도시된 제1 내지 제8 반도체장치(511~518)를 포함할 수 있다. 한편, 데이터저장부(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)에 대한 데이터 입출력을 제어한다. 메모리컨트롤러(1002)는 도 1에 도시된 제1 반도체장치(1), 도 3에 도시된 제1 반도체장치(3), 도 4에 도시된 모듈컨트롤러(200) 및 도 5에 도시된 모듈컨트롤러(500)를 포함할 수 있다. 도 6에서는 메모리컨트롤러(1002)가 하나의 블록으로 표시되었으나, 메모리컨트롤러(1002)는 비휘발성 메모리를 제어하기 위한 컨트롤러와 휘발성 메모리인 버퍼메모리(1003)를 제어하기 위한 컨트롤러가 독립적으로 구성될 수 있다.
버퍼메모리(1003)는 메모리컨트롤러(1002)에서 처리할 데이터 즉 데이터저장부(1001)에 입출력되는 데이터를 임시적으로 저장할 수 있다. 버퍼메모리(1003)는 제어신호에 따라 메모리컨트롤러(1002)에서 인가되는 데이터를 저장할 수 있다. 버퍼메모리(1003)는 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 버퍼메모리(1003)는 DRAM(Dynamic Random Access Memory), Mobile 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) 등을 포함할 수 있다.
도 7을 참고하면 본 발명의 다른 실시예에 따른 전자시스템(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)에 포함된 에러를 정정하는 회로 및 데이터저장부(2003) 내부의 다수의 메모리들에 포함된 에러를 정정하는 회로는 실시예에 따라서 모두 동작하거나 선택적으로 동작하도록 구현될 수 있다. 호스트(2001) 및 메모리컨트롤러(2002)는 실시예에 따라서 동일한 칩으로 구현될 수 있다. 메모리컨트롤러(2002) 및 데이터저장부(2003)는 실시예에 따라서 동일한 칩으로 구현될 수 있다.
제1 실시예
1. 제1 반도체장치 2. 제2 반도체장치
10. 에러정정회로 11. 에러코드생성회로
12. 입력버퍼 13. 코드저장회로
14. 비교회로 20. 제1 뱅크
21. 제1 메모리영역 22. 제1 에러코드영역
30. 제2 뱅크 31. 제2 메모리영역
32. 제2 에러코드영역
제2 실시예
3. 제1 반도체장치 4. 제2 반도체장치
40. 에러정정회로 50. 제1 뱅크
51. 제1 메모리영역 52. 제1 에러코드영역
60. 제2 뱅크 61. 제2 메모리영역
62. 제2 에러코드영역
제3 실시예
5. 컨트롤러 6. 반도체모듈
100. 에러정정회로 200. 모듈컨트롤러
211. 제1 반도체장치 212. 제2 반도체장치
213. 제3 반도체장치 214. 제4 반도체장치
215. 제5 반도체장치 216. 제6 반도체장치
217. 제7 반도체장치 218. 제8 반도체장치
300. 에러코드저장장치
제4 실시예
7. 컨트롤러 8. 반도체모듈
400. 에러정정회로 500. 모듈컨트롤러
511. 제1 반도체장치 512. 제2 반도체장치
513. 제3 반도체장치 514. 제4 반도체장치
515. 제5 반도체장치 516. 제6 반도체장치
517. 제7 반도체장치 518. 제8 반도체장치
600. 에러코드저장장치

Claims (20)

  1. 커맨드어드레스, 제1 및 제2 데이터를 출력하고, 비교신호를 입력받아 상기 제1 및 제2 데이터의 동일성 여부를 감지하는 제1 반도체장치; 및
    상기 커맨드어드레스에 응답하여 라이트동작 시 상기 제1 데이터에 대한 제1 에러코드 및 상기 제2 데이터에 대한 제2 에러코드를 저장하고, 리드동작 시 상기 제1 에러코드 및 상기 제2 에러코드를 비교하여 상기 비교신호를 출력하는 제2 반도체장치를 포함하는 반도체시스템.
  2. 제 1 항에 있어서, 상기 제1 에러코드는 상기 제1 데이터의 에러정보를 포함하고, 상기 제2 에러코드는 상기 제2 데이터의 에러정보를 포함하는 신호인 반도체시스템.
  3. 제 1 항에 있어서, 상기 제1 에러코드와 상기 제2 에러코드가 상이한 조합인 경우 상기 제1 데이터와 상기 제2 데이터는 상이한 조합인 반도체시스템.
  4. 제 1 항에 있어서, 상기 제2 에러코드는 상기 제1 에러코드가 출력된 이후 출력되는 반도체시스템.
  5. 제 1 항에 있어서, 상기 제2 반도체장치는
    상기 라이트동작 시 상기 제1 및 제2 에러코드를 생성하고, 상기 리드동작 시 상기 제1 및 제2 에러코드를 비교하여 상기 비교신호를 생성하는 에러정정회로;
    상기 라이트동작 시 상기 제1 데이터를 제1 메모리영역에 저장하고, 상기 제1 에러코드를 제1 에러코드영역에 저장하며, 상기 리드동작 시 상기 제1 데이터 및 상기 제1 에러코드를 출력하는 제1 뱅크; 및
    상기 라이트동작 시 상기 제2 데이터를 제2 메모리영역에 저장하고, 상기 제2 에러코드를 제2 에러코드영역에 저장하며, 상기 리드동작 시 상기 제2 데이터 및 상기 제2 에러코드를 출력하는 제2 뱅크를 포함하는 반도체시스템.
  6. 제 5 항에 있어서, 상기 에러정정회로는
    상기 라이트동작 시 상기 제1 및 제2 에러코드를 생성하고, 상기 리드동작 시 상기 제1 및 제2 에러코드를 비교하여 상기 비교신호를 생성하는 에러코드생성회로;
    상기 리드동작 시 상기 제1 및 제2 에러코드를 버퍼링하여 제1 및 제2 내부에러코드를 생성하는 입력버퍼;
    상기 제1 내부에러코드를 저장하고, 저장된 상기 제1 내부에러코드를 저장에러코드로 출력하는 코드정장회로; 및
    상기 저장에러코드 및 상기 제2 내부에러코드를 비교하여 상기 비교신호를 생성하는 비교회로를 포함하는 반도체시스템.
  7. 제 6 항에 있어서, 상기 에러코드생성회로는
    상기 리드동작 시 상기 제1 에러코드에 따라 상기 제1 데이터의 에러를 정정하고, 상기 제2 에러코드에 따라 상기 제2 데이터의 에러를 정정하여 출력하는 반도체시스템.
  8. 커맨드어드레스를 출력하고, 제1 및 제2 데이터를 입출력하며, 제1 및 제2 에러코드를 비교하여 상기 제1 및 제2 데이터의 동일성 여부를 감지하는 제1 반도체장치; 및
    상기 커맨드어드레스에 응답하여 라이트동작 시 상기 제1 데이터에 대한 상기 제1 에러코드 및 상기 제2 데이터에 대한 상기 제2 에러코드를 저장하고, 리드동작 시 상기 제1 에러코드 및 상기 제2 에러코드를 출력하는 제2 반도체장치를 포함하는 반도체시스템.
  9. 제 8 항에 있어서, 상기 제1 에러코드는 상기 제1 데이터의 에러정보를 포함하고, 상기 제2 에러코드는 상기 제2 데이터의 에러정보를 포함하는 신호인 반도체시스템.
  10. 제 8 항에 있어서, 상기 제1 에러코드와 상기 제2 에러코드가 상이한 조합인 경우 상기 제1 데이터와 상기 제2 데이터는 상이한 조합인 반도체시스템.
  11. 제 8 항에 있어서, 상기 제2 에러코드는 상기 제1 에러코드가 출력된 이후 출력되는 반도체시스템.
  12. 제 8 항에 있어서, 상기 제1 반도체장치는
    상기 라이트동작 시 상기 제1 및 제2 에러코드를 생성하고, 상기 리드동작 시 상기 제1 및 제2 에러코드를 비교하여 상기 제1 및 제2 데이터의 동일성을 감지하는 에러정정회로를 포함하는 반도체시스템.
  13. 제 8 항에 있어서, 상기 제2 반도체장치는
    상기 커맨드어드레스에 응답하여 상기 라이트동작 시 상기 제1 데이터를 제1 메모리영역에 저장하고, 상기 제1 에러코드를 제1 에러코드영역에 저장하며, 리드동작 시 상기 제1 데이터 및 상기 제1 에러코드를 출력하는 제1 뱅크; 및
    상기 커맨드어드레스에 응답하여 상기 라이트동작 시 상기 제2 데이터를 제2 메모리영역에 저장하고, 상기 제2 에러코드를 제2 에러코드영역에 저장하며, 상기 리드동작 시 상기 제2 데이터 및 상기 제2 에러코드를 출력하는 제2 뱅크를 포함하는 반도체시스템.
  14. 커맨드어드레스에 응답하여 라이트동작 시 제1 데이터에 대한 제1 에러코드를 생성하고, 제2 데이터에 대한 제2 에러코드를 생성하며, 리드동작 시 상기 제1 및 제2 에러코드를 비교하여 비교신호를 생성하는 에러정정회로; 및
    상기 라이트동작 시 상기 제1 및 제2 데이터를 메모리영역에 저장하고, 상기 제1 및 제2 에러코드를 에러코드영역에 저장하며, 리드동작 시 상기 제1 및 제2 데이터를 출력하고, 상기 제1 및 제2 에러코드를 출력하는 뱅크를 포함하는 반도체장치.
  15. 제 14 항에 있어서, 상기 제1 에러코드는 상기 제1 데이터의 에러정보를 포함하고, 상기 제2 에러코드는 상기 제2 데이터의 에러정보를 포함하는 신호인 반도체장치.
  16. 제 14 항에 있어서, 상기 제1 에러코드와 상기 제2 에러코드가 상이한 조합인 경우 상기 제1 데이터와 상기 제2 데이터는 상이한 조합인 반도체장치.
  17. 제 14 항에 있어서, 상기 제2 에러코드는 상기 제1 에러코드가 출력된 이후 출력되는 반도체장치.
  18. 제 14 항에 있어서, 상기 에러정정회로는 상기 제1 및 제2 에러코드를 비교하여 상기 제1 및 제2 데이터의 동일성을 감지하는 반도체장치.
  19. 데이터라인을 통해 데이터를 입출력하는 컨트롤러; 및
    다수의 반도체장치 및 에러코드저장장치를 포함하고, 라이트동작 시 상기 다수의 반도체장치에 상기 데이터를 저장하며, 상기 라이트동작 시 상기 데이터의 에러정보를 포함하는 에러코드를 상기 에러코드저장장치에 저장하고, 리드동작 시 상기 에러코드를 비교하여 상기 데이터의 동일성을 감지하는 반도체모듈을 포함하는 반도체시스템.
  20. 데이터라인을 통해 데이터를 입출력하고, 상기 데이터라인에 실린 에러코드를 비교하여 비교신호를 생성하는 컨트롤러; 및
    다수의 반도체장치 및 에러코드저장장치를 포함하고, 라이트동작 시 상기 다수의 반도체장치에 상기 데이터를 저장하며, 상기 라이트동작 시 상기 데이터의 에러정보를 포함하는 에러코드를 상기 에러코드저장장치에 저장하며, 리드동작 시 상기 데이터라인을 통해 상기 에러코드를 출력하되, 상기 비교신호에 응답하여 상기 데이터의 동일성을 감지하는 반도체모듈을 포함하는 반도체시스템.
KR1020160152599A 2016-11-16 2016-11-16 반도체장치 및 반도체시스템 KR20180055148A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160152599A KR20180055148A (ko) 2016-11-16 2016-11-16 반도체장치 및 반도체시스템
US15/604,059 US10635517B2 (en) 2016-11-16 2017-05-24 Semiconductor devices comparing error codes and semiconductor systems including the same
CN201710822607.1A CN108073468B (zh) 2016-11-16 2017-09-13 半导体器件和包括该半导体器件的半导体系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160152599A KR20180055148A (ko) 2016-11-16 2016-11-16 반도체장치 및 반도체시스템

Publications (1)

Publication Number Publication Date
KR20180055148A true KR20180055148A (ko) 2018-05-25

Family

ID=62108516

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160152599A KR20180055148A (ko) 2016-11-16 2016-11-16 반도체장치 및 반도체시스템

Country Status (3)

Country Link
US (1) US10635517B2 (ko)
KR (1) KR20180055148A (ko)
CN (1) CN108073468B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838837B2 (en) * 2016-06-24 2020-11-17 International Business Machines Corporation Sensor based system state prediction
KR20200065761A (ko) * 2018-11-30 2020-06-09 에스케이하이닉스 주식회사 메모리 시스템

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909541A (en) * 1993-07-14 1999-06-01 Honeywell Inc. Error detection and correction for data stored across multiple byte-wide memory devices
US5630054A (en) * 1995-04-18 1997-05-13 Mti Technology Center Method and apparatus for storing and retrieving error check information
US7650558B2 (en) * 2005-08-16 2010-01-19 Intel Corporation Systems, methods, and apparatuses for using the same memory type for both error check and non-error check memory systems
US7676730B2 (en) * 2005-09-30 2010-03-09 Quantum Corporation Method and apparatus for implementing error correction coding in a random access memory
KR100746225B1 (ko) * 2006-02-13 2007-08-03 삼성전자주식회사 반도체 메모리 장치 및 이를 구비한 메모리 시스템
US7774684B2 (en) * 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
US8880970B2 (en) * 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
US8255773B2 (en) 2009-06-29 2012-08-28 Sandisk Technologies Inc. System and method of tracking error data within a storage device
KR20130050776A (ko) * 2011-11-08 2013-05-16 에스케이하이닉스 주식회사 반도체 장치와 반도체 장치를 포함하는 반도체 시스템 및 그 동작방법
FR2983597B1 (fr) * 2011-12-01 2014-01-24 Viaccess Sa Procede de detection d'une erreur de lecture d'une donnee
US10102003B2 (en) * 2012-11-01 2018-10-16 International Business Machines Corporation Intelligent context management
KR102025340B1 (ko) 2012-11-27 2019-09-25 삼성전자 주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
KR102035108B1 (ko) * 2013-05-20 2019-10-23 에스케이하이닉스 주식회사 반도체 시스템
KR20160001948A (ko) * 2014-06-30 2016-01-07 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
US9952925B2 (en) * 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry

Also Published As

Publication number Publication date
CN108073468A (zh) 2018-05-25
CN108073468B (zh) 2020-12-22
US10635517B2 (en) 2020-04-28
US20180136996A1 (en) 2018-05-17

Similar Documents

Publication Publication Date Title
US20180052732A1 (en) Semiconductor device and semiconductor system
US10096345B2 (en) Semiconductor devices
US10388401B2 (en) Semiconductor device, semiconductor system, and method thereof
KR102647418B1 (ko) 반도체장치 및 반도체시스템
US10162703B2 (en) Methods of correcting data errors and semiconductor devices used therein
KR20190117117A (ko) 데이터 저장 장치 및 그것의 동작 방법
US10579472B2 (en) Semiconductor devices
US10964406B2 (en) Methods of scrubbing errors and semiconductor modules using the same
US10261860B2 (en) Semiconductor systems
US10153028B2 (en) Semiconductor devices
US20180358108A1 (en) Semiconductor systems
US20170344422A1 (en) Semiconductor devices and semiconductor systems
US10917111B2 (en) Error correction code unit and error correction method
US20180018219A1 (en) Semiconductor devices and semiconductor systems
US10635517B2 (en) Semiconductor devices comparing error codes and semiconductor systems including the same
US10460826B2 (en) Test methods of semiconductor devices and semiconductor systems used therein
KR20170143084A (ko) 반도체장치 및 반도체시스템
US9997234B1 (en) Semiconductor devices
US10360105B2 (en) Semiconductor devices and semiconductor systems including the same
KR20180005584A (ko) 비휘발성 메모리 시스템 및 에러 판정 방법
KR20180027234A (ko) 반도체장치
KR20170140931A (ko) 반도체장치 및 반도체시스템
US10014073B2 (en) Semiconductor devices

Legal Events

Date Code Title Description
A201 Request for examination