KR20190060258A - 에러스크럽방법 및 이를 이용한 반도체모듈 - Google Patents
에러스크럽방법 및 이를 이용한 반도체모듈 Download PDFInfo
- Publication number
- KR20190060258A KR20190060258A KR1020170158288A KR20170158288A KR20190060258A KR 20190060258 A KR20190060258 A KR 20190060258A KR 1020170158288 A KR1020170158288 A KR 1020170158288A KR 20170158288 A KR20170158288 A KR 20170158288A KR 20190060258 A KR20190060258 A KR 20190060258A
- Authority
- KR
- South Korea
- Prior art keywords
- error
- signal
- data
- memory
- enabled
- Prior art date
Links
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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0033—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/02—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
-
- 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/0766—Error or fault reporting or storing
- G06F11/0781—Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
-
- 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/0766—Error or fault reporting or storing
- G06F11/0784—Routing of error reports, e.g. with a specific transmission path or data flow
-
- 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
- G11C2029/0409—Online test
-
- 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
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
반도체모듈은 에러정정회로를 포함하고, 리드동작 및 에러스크럽동작을 제어하는 컨트롤러 및 내부에러정정회로를 통해 상기 리드동작 및 상기 에러스크럽동작을 수행하는 다수의 메모리칩을 포함하는 반도체장치를 포함하되, 상기 다수의 메모리칩에 대한 리드동작 중 상기 다수의 메모리칩 중 적어도 어느 하나는 상기 에러스크럽동작을 수행한다.
Description
본 발명은 데이터의 에러를 정정하여 다시 저장하는 에러스크럽동작을 수행하는 반도체모듈에 관한 것이다.
최근 반도체장치의 동작속도를 증가시키기 위해 클럭 사이클(cycle)마다 다수의 데이터를 입/출력하는 방식이 사용되고 있다. 데이터의 입/출력 속도가 빨라지는 경우 데이터가 전송되는 과정 중 발생되는 오류의 발생 확률도 증가 되므로, 데이터 전송의 신뢰성을 보장하기 위한 별도의 장치와 방법이 추가적으로 요구되고 있다.
데이터 전송시마다 오류 발생 여부를 확인할 수 있는 오류코드를 생성하여 데이터와 함께 전송함으로써, 데이터 전송의 신뢰성을 보장하는 방법을 사용하고 있다. 오류코드에는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와, 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC) 등이 있다. 본 발명의 배경기술은 미국 공개 특허 US2017/0123903에 개시되어 있다.
본 발명은 다수의 메모리칩에 대한 리드동작 시 적어도 어느 하나 이상의 메모리칩에 대하여 에러스크럽동작을 수행하는 반도체모듈을 제공한다.
이를 위해 본 발명은 리드동작 및 에러스크럽동작을 제어하는 컨트롤러 및 다수의 메모리칩을 포함하는 반도체장치를 포함하되, 상기 다수의 메모리칩에 대한 상기 리드동작 중 상기 다수의 메모리칩 중 적어도 어느 하나는 상기 에러스크럽동작을 수행하는 반도체모듈을 제공한다.
또한, 본 발명은 다수의 메모리칩에 대한 리드동작 중 어느 하나의 메모리칩에 대한 에러스크럽동작을 수행하는 제1 단계 및 상기 다수의 메모리칩 중 상기 에러스크럽동작이 완료된 메모리칩을 제외한 어느 하나의 메모리칩에 대한 상기 에러스크럽동작을 수행하는 제2 단계를 포함하는 에러스크럽방법을 제공한다.
본 발명에 의하면 다수의 메모리칩에 대한 리드동작 시 적어도 어느 하나 이상의 메모리칩에 대하여 에러스크럽동작을 수행함으로써 에러스크럽동작을 위한 별도의 시간을 감소할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 반도체모듈의 구성을 도시한 블럭도이다.
도 2는 도 1에 도시된 반도체모듈에 포함된 에러정보신호생성회로의 일 실시예에 대한 구성을 도시한 블럭도이다.
도 3은 도 1에 도시된 반도체모듈에 포함된 에러정보신호생성회로의 다른 실시예에 대한 구성을 도시한 블럭도이다.
도 4는 본 발명의 다른 실시예에 따른 반도체모듈의 구성을 도시한 블럭도이다.
도 5는 도 4에 도시된 반도체모듈에 포함된 동작감지신호생성회로의 일 실시예에 대한 구성을 도시한 블럭도이다.
도 6은 도 1 내지 도 5에 도시된 반도체모듈이 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 도면이다.
도 7은 도 1 내지 도 5에 도시된 반도체모듈이 적용된 전자시스템의 다른 실시예에 따른 구성을 도시한 도면이다.
도 2는 도 1에 도시된 반도체모듈에 포함된 에러정보신호생성회로의 일 실시예에 대한 구성을 도시한 블럭도이다.
도 3은 도 1에 도시된 반도체모듈에 포함된 에러정보신호생성회로의 다른 실시예에 대한 구성을 도시한 블럭도이다.
도 4는 본 발명의 다른 실시예에 따른 반도체모듈의 구성을 도시한 블럭도이다.
도 5는 도 4에 도시된 반도체모듈에 포함된 동작감지신호생성회로의 일 실시예에 대한 구성을 도시한 블럭도이다.
도 6은 도 1 내지 도 5에 도시된 반도체모듈이 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 도면이다.
도 7은 도 1 내지 도 5에 도시된 반도체모듈이 적용된 전자시스템의 다른 실시예에 따른 구성을 도시한 도면이다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1에 도시된 바와 같이 본 발명의 일 실시예에 따른 반도체모듈은 컨트롤러(1) 및 반도체장치(2)를 포함할 수 있다.
컨트롤러(1)는 커맨드생성회로(11), 에러스크럽제어회로(12) 및 에러정정회로(13)를 포함할 수 있다.
커맨드생성회로(11)는 반도체장치(2)를 제어하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(11)는 반도체장치(2)의 리드동작에 진입하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(11)는 반도체장치(2)의 에러스크럽동작에 진입하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(11)는 반도체장치(2)의 라이트동작에 진입하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(11)는 반도체장치(2)의 다양한 동작에 진입하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드(CMD)는 하나의 신호로 도시되어 있지만 다수의 비트를 포함하는 신호로 설정되어 어드레스, 커맨드 및 데이터 중 적어도 하나가 전송되는 라인들을 통해 전송될 수 있다. 리드동작은 반도체장치(2)에 저장된 데이터(DATA<1:4>)를 외부로 출력하는 동작으로 설정될 수 있다. 에러스크럽동작은 반도체장치(2)에 저장된 데이터(DATA<1:4>)의 에러를 정정하여 다시 저장하는 동작으로 설정될 수 있다. 라이트동작은 컨트롤러(1)에서 입력되는 데이터(DATA<1:4>)를 반도체장치(2)에 저장하는 동작으로 설정될 수 있다.
에러스크럽제어회로(12)는 제1 내지 제4 에러정보신호(ERIF<1:4>)에 응답하여 선택적으로 인에이블되는 제1 내지 제4 메모리선택신호(MS<1:4>)를 생성할 수 있다. 에러스크럽제어회로(12)는 제1 에러정보신호(ERIF<1>)가 인에이블되는 경우 인에이블되는 제1 메모리선택신호(MS<1>)를 생성할 수 있다. 에러스크럽제어회로(12)는 제2 에러정보신호(ERIF<2>)가 인에이블되는 경우 인에이블되는 제2 메모리선택신호(MS<2>)를 생성할 수 있다. 에러스크럽제어회로(12)는 제3 에러정보신호(ERIF<3>)가 인에이블되는 경우 인에이블되는 제3 메모리선택신호(MS<3>)를 생성할 수 있다. 에러스크럽제어회로(12)는 제4 에러정보신호(ERIF<4>)가 인에이블되는 경우 인에이블되는 제4 메모리선택신호(MS<4>)를 생성할 수 있다. 에러스크럽제어회로(12)는 선택적으로 인에이블되는 제1 내지 제4 메모리선택신호(MS<1:4>)를 생성하도록 구현되어 있지만 실시예에 따라 제1 내지 제4 메모리선택신호(MS<1:4>) 중 하나 이상의 메모리선택신호가 인에이이블되도록 구현될 수 있다.
에러정정회로(13)는 리드동작에서 출력되는 제1 내지 제4 데이터(DATA<1:4>)를 외부로 출력할 수 있다. 에러정정회로(13)는 에러스크럽동작에서 제1 내지 제4 데이터(DATA<1:4>) 중 에러가 발생한 데이터를 정정하여 다시 반도체장치(2)에 저장할 수 있다. 에러정정회로(13)는 라이트동작에서 외부에서 입력되는 제1 내지 제4 데이터(DATA<1:4>)를 반도체장치(2)로 출력할 수 있다.
한편, 에러정정회로(13)는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC)를 사용하여 제1 내지 제4 데이터(DATA<1:4>)의 2 비트 이상의 에러를 정정하는 일반적인 에러정정회로로 구현될 수 있다.
컨트롤러(1)는 실시예에 따라 리드솔로몬코드(Read-Solomon Code)를 사용하여 반도체장치(2)에 포함된 특정 메모리칩에 대하여 에러스크럽동작을 수행하도록 구현될 수 있다.
반도체장치(2)는 제1 메모리칩(21), 제2 메모리칩(22), 제3 메모리칩(23), 제4 메모리칩(24) 및 에러정보신호생성회로(25)를 포함할 수 있다.
제1 메모리칩(21)은 제1 내부에러정정회로(210)를 포함할 수 있다. 제1 메모리칩(21)의 제1 내부에러정정회로(210)는 커맨드(CMD) 및 제1 메모리선택신호(MS<1>)에 응답하여 리드동작 시 제1 데이터(DATA<1>)에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제1 에러감지신호(ED<1>)를 생성할 수 있다. 제1 메모리칩(21)은 커맨드(CMD) 및 제1 메모리선택신호(MS<1>)에 응답하여 리드동작 또는 에러스크럽동작을 수행할 수 있다. 제1 메모리칩(21)은 커맨드(CMD)에 응답하여 제1 메모리선택신호(MS<1>)가 디스에이블되는 경우 리드동작을 수행할 수 있다. 제1 메모리칩(21)은 리드동작 시 내부에 저장된 제1 데이터(DATA<1>)를 출력할 수 있다. 제1 메모리칩(21)은 리드동작 시 내부에 저장된 제1 데이터(DATA<1>)의 에러를 제1 내부에러정정회로(210)를 통해 정정하여 출력할 수 있다. 제1 메모리칩(21)은 커맨드(CMD)에 응답하여 제1 메모리선택신호(MS<1>)가 인에이블되는 경우 에러스크럽동작을 수행할 수 있다. 제1 메모리칩(21)은 에러스크럽동작 시 내부에 저장된 제1 데이터(DATA<1>)를 출력할 수 있다. 제1 메모리칩(21)은 에러스크럽동작 시 제1 데이터(DATA<1>)의 에러를 정정하지 않고 출력할 수 있다. 제1 메모리칩(21)은 커맨드(CMD)에 응답하여 라이트동작을 수행할 수 있다. 제1 메모리칩(21)은 라이트동작 시 컨트롤러(1)로부터 입력되는 제1 데이터(DATA<1>)를 저장할 수 있다. 제1 데이터(DATA<1>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다양한 비트를 포함하는 신호로 설정될 수 있다.
제2 메모리칩(22)은 제2 내부에러정정회로(220)를 포함할 수 있다. 제2 메모리칩(22)의 제2 내부에러정정회로(220)는 커맨드(CMD) 및 제2 메모리선택신호(MS<2>)에 응답하여 리드동작 시 제2 데이터(DATA<2>)에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제2 에러감지신호(ED<2>)를 생성할 수 있다. 제2 메모리칩(22)은 커맨드(CMD) 및 제2 메모리선택신호(MS<2>)에 응답하여 리드동작 또는 에러스크럽동작을 수행할 수 있다. 제2 메모리칩(22)은 커맨드(CMD)에 응답하여 제2 메모리선택신호(MS<2>)가 디스에이블되는 경우 리드동작을 수행할 수 있다. 제2 메모리칩(22)은 리드동작 시 내부에 저장된 제2 데이터(DATA<2>)를 출력할 수 있다. 제2 메모리칩(22)은 리드동작 시 내부에 저장된 제2 데이터(DATA<2>)의 에러를 제2 내부에러정정회로(220)를 통해 정정하여 출력할 수 있다. 제2 메모리칩(22)은 커맨드(CMD)에 응답하여 제2 메모리선택신호(MS<2>)가 인에이블되는 경우 에러스크럽동작을 수행할 수 있다. 제2 메모리칩(22)은 에러스크럽동작 시 내부에 저장된 제2 데이터(DATA<2>)를 출력할 수 있다. 제2 메모리칩(22)은 에러스크럽동작 시 제2 데이터(DATA<2>)의 에러를 정정하지 않고 출력할 수 있다. 제2 메모리칩(22)은 커맨드(CMD)에 응답하여 라이트동작을 수행할 수 있다. 제2 메모리칩(22)은 라이트동작 시 컨트롤러(1)로부터 입력되는 제2 데이터(DATA<2>)를 저장할 수 있다. 제2 데이터(DATA<2>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다양한 비트를 포함하는 신호로 설정될 수 있다.
제3 메모리칩(23)은 제3 내부에러정정회로(230)를 포함할 수 있다. 제3 메모리칩(23)의 제3 내부에러정정회로(230)는 커맨드(CMD) 및 제3 메모리선택신호(MS<3>)에 응답하여 리드동작 시 제3 데이터(DATA<3>)에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제3 에러감지신호(ED<3>)를 생성할 수 있다. 제3 메모리칩(23)은 커맨드(CMD) 및 제3 메모리선택신호(MS<3>)에 응답하여 리드동작 또는 에러스크럽동작을 수행할 수 있다. 제3 메모리칩(23)은 커맨드(CMD)에 응답하여 제3 메모리선택신호(MS<3>)가 디스에이블되는 경우 리드동작을 수행할 수 있다. 제3 메모리칩(23)은 리드동작 시 내부에 저장된 제3 데이터(DATA<3>)를 출력할 수 있다. 제3 메모리칩(23)은 리드동작 시 내부에 저장된 제3 데이터(DATA<3>)의 에러를 제3 내부에러정정회로(230)를 통해 정정하여 출력할 수 있다. 제3 메모리칩(23)은 커맨드(CMD)에 응답하여 제3 메모리선택신호(MS<3>)가 인에이블되는 경우 에러스크럽동작을 수행할 수 있다. 제3 메모리칩(23)은 에러스크럽동작 시 내부에 저장된 제3 데이터(DATA<3>)를 출력할 수 있다. 제3 메모리칩(23)은 에러스크럽동작 시 제3 데이터(DATA<3>)의 에러를 정정하지 않고 출력할 수 있다. 제3 메모리칩(23)은 커맨드(CMD)에 응답하여 라이트동작을 수행할 수 있다. 제3 메모리칩(23)은 라이트동작 시 컨트롤러(1)로부터 입력되는 제3 데이터(DATA<3>)를 저장할 수 있다. 제3 데이터(DATA<3>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다양한 비트를 포함하는 신호로 설정될 수 있다.
제4 메모리칩(24)은 제4 내부에러정정회로(240)를 포함할 수 있다. 제4 메모리칩(24)의 제4 내부에러정정회로(240)는 커맨드(CMD) 및 제4 메모리선택신호(MS<4>)에 응답하여 리드동작 시 제4 데이터(DATA<4>)에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제4 에러감지신호(ED<4>)를 생성할 수 있다. 제4 메모리칩(24)은 커맨드(CMD) 및 제4 메모리선택신호(MS<4>)에 응답하여 리드동작 또는 에러스크럽동작을 수행할 수 있다. 제4 메모리칩(24)은 커맨드(CMD)에 응답하여 제4 메모리선택신호(MS<4>)가 디스에이블되는 경우 리드동작을 수행할 수 있다. 제4 메모리칩(24)은 리드동작 시 내부에 저장된 제4 데이터(DATA<4>)를 출력할 수 있다. 제4 메모리칩(24)은 리드동작 시 내부에 저장된 제4 데이터(DATA<4>)의 에러를 제4 내부에러정정회로(240)를 통해 정정하여 출력할 수 있다. 제4 메모리칩(24)은 커맨드(CMD)에 응답하여 제4 메모리선택신호(MS<4>)가 인에이블되는 경우 에러스크럽동작을 수행할 수 있다. 제4 메모리칩(24)은 에러스크럽동작 시 내부에 저장된 제4 데이터(DATA<4>)를 출력할 수 있다. 제4 메모리칩(24)은 에러스크럽동작 시 제4 데이터(DATA<4>)의 에러를 정정하지 않고 출력할 수 있다. 제4 메모리칩(24)은 커맨드(CMD)에 응답하여 라이트동작을 수행할 수 있다. 제4 메모리칩(24)은 라이트동작 시 컨트롤러(1)로부터 입력되는 제4 데이터(DATA<4>)를 저장할 수 있다. 제4 데이터(DATA<4>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다양한 비트를 포함하는 신호로 설정될 수 있다.
한편, 제1 내지 제4 내부에러정정회로(210,220,230,240)는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC)를 사용하여 제1 내지 제4 데이터(DATA<1:4>)의 1 비트 에러를 정정하는 일반적인 에러정정회로로 구현될 수 있다.
에러정보신호생성회로(25)는 제1 내지 제4 에러감지신호(ED<1:4>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제1 내지 제4 에러정보신호(ERIF<1:4>)를 생성할 수 있다. 에러정보신호생성회로(25)는 제1 에러감지신호(ED<1>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제1 에러정보신호(ERIF<1>)를 생성할 수 있다. 에러정보신호생성회로(25)는 제2 에러감지신호(ED<2>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제2 에러정보신호(ERIF<2>)를 생성할 수 있다. 에러정보신호생성회로(25)는 제3 에러감지신호(ED<3>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제3 에러정보신호(ERIF<3>)를 생성할 수 있다. 에러정보신호생성회로(25)는 제4 에러감지신호(ED<4>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제4 에러정보신호(ERIF<4>)를 생성할 수 있다.
도 2를 참고하면 본 발명의 일 실시예에 따른 에러정보신호생성회로(25)는 제1 카운터(251), 제2 카운터(252), 제3 카운터(253) 및 제4 카운터(254)를 포함할 수 있다.
제1 카운터(251)는 기준정보(REF<1:N>)를 입력받아 제1 에러감지신호(ED<1>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제1 에러정보신호(ERIF<1>)를 생성할 수 있다. 제1 카운터(251)는 제1 에러감지신호(ED<1>)의 펄스 발생횟수가 기준정보(REF<1:N>)에 의해 기 설정된 펄스 발생횟수 이상인 경우 인에이블되는 제1 에러정보신호(ERIF<1>)를 생성할 수 있다. 기준정보(REF<1:N>)는 기 설정된 펄스 발생횟수 정보를 포함하는 신호로 설정될 수 있다. 기준정보(REF<1:N>)의 비트 수는 실시예에 따라 다양하게 설정될 수 있다. 제1 카운터(251)는 제1 에러감지신호(ED<1>)의 펄스가 기 설정된 횟수 이상 발생 된 이후 초기화되어 디스에이블되는 제1 에러정보신호(ERIF<1>)를 생성할 수 있다. 기준정보(REF<1:N>)는 기 설정된 펄스 발생횟수 정보를 포함하도록 반도체장치 내부에 저장된 신호로 설정될 수 있다. 또한, 기준정보(REF<1:N>)는 반도체장치의 외부에서 입력되는 신호로 설정될 수 있다.
제2 카운터(252)는 기준정보(REF<1:N>)를 입력받아 제2 에러감지신호(ED<2>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제2 에러정보신호(ERIF<2>)를 생성할 수 있다. 제2 카운터(252)는 제2 에러감지신호(ED<2>)의 펄스의 발생횟수가 기준정보(REF<1:N>)에 의해 기 설정된 펄스 발생횟수 이상인 경우 인에이블되는 제2 에러정보신호(ERIF<2>)를 생성할 수 있다. 제2 카운터(252)는 제2 에러감지신호(ED<2>)의 펄스가 기 설정된 횟수 이상 발생 된 이후 초기화되어 디스에이블되는 제2 에러정보신호(ERIF<2>)를 생성할 수 있다.
제3 카운터(253)는 기준정보(REF<1:N>)를 입력받아 제3 에러감지신호(ED<3>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제3 에러정보신호(ERIF<3>)를 생성할 수 있다. 제3 카운터(253)는 제3 에러감지신호(ED<3>)의 펄스의 발생횟수가 기준정보(REF<1:N>)에 의해 기 설정된 펄스 발생횟수 이상인 경우 인에이블되는 제3 에러정보신호(ERIF<1>)를 생성할 수 있다. 제3 카운터(253)는 제3 에러감지신호(ED<3>)의 펄스가 기 설정된 횟수 이상 발생 된 이후 초기화되어 디스에이블되는 제3 에러정보신호(ERIF<3>)를 생성할 수 있다.
제4 카운터(254)는 기준정보(REF<1:N>)를 입력받아 제4 에러감지신호(ED<4>)의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 제4 에러정보신호(ERIF<4>)를 생성할 수 있다. 제4 카운터(254)는 제4 에러감지신호(ED<4>)의 펄스의 발생횟수가 기준정보(REF<1:N>)에 의해 기 설정된 펄스 발생횟수 이상인 경우 인에이블되는 제4 에러정보신호(ERIF<4>)를 생성할 수 있다. 제4 카운터(254)는 제4 에러감지신호(ED<4>)의 펄스가 기 설정된 횟수 이상 발생 된 이후 초기화되어 디스에이블되는 제4 에러정보신호(ERIF<4>)를 생성할 수 있다.
도 3을 참고하면 본 발명의 다른 실시예에 따른 에러정보신호생성회로(25a)는 카운팅신호생성회로(260) 및 비교회로(270)를 포함할 수 있다.
카운팅신호생성회로(260)는 제1 카운터(261), 제2 카운터(262), 제3 카운터(263) 및 제4 카운터(264)를 포함할 수 있다.
제1 카운터(261)는 제1 에러감지신호(ED<1>)의 펄스에 응답하여 카운팅되는 제1 카운팅신호(CNT1<1:N>)를 생성할 수 있다. 제1 카운터(261)는 제1 에러감지신호(ED<1>)의 펄스가 발생하는 경우 순차적으로 업 카운팅되는 제1 카운팅신호(CNT1<1:N>)를 생성할 수 있다.
제2 카운터(262)는 제2 에러감지신호(ED<2>)의 펄스에 응답하여 카운팅되는 제2 카운팅신호(CNT2<1:N>)를 생성할 수 있다. 제2 카운터(262)는 제2 에러감지신호(ED<2>)의 펄스가 발생하는 경우 순차적으로 업 카운팅되는 제2 카운팅신호(CNT2<1:N>)를 생성할 수 있다.
제3 카운터(263)는 제3 에러감지신호(ED<3>)의 펄스에 응답하여 카운팅되는 제3 카운팅신호(CNT3<1:N>)를 생성할 수 있다. 제3 카운터(263)는 제3 에러감지신호(ED<3>)의 펄스가 발생하는 경우 순차적으로 업 카운팅되는 제3 카운팅신호(CNT3<1:N>)를 생성할 수 있다.
제4 카운터(264)는 제4 에러감지신호(ED<4>)의 펄스에 응답하여 카운팅되는 제4 카운팅신호(CNT4<1:N>)를 생성할 수 있다. 제4 카운터(264)는 제4 에러감지신호(ED<4>)의 펄스가 발생하는 경우 순차적으로 업 카운팅되는 제4 카운팅신호(CNT4<1:N>)를 생성할 수 있다.
비교회로(270)는 제1 카운팅신호(CNT1<1:N>)와 기준정보(REF<1:N>)를 비교하여 제1 에러정보신호(ERIF<1>)를 생성할 수 있다. 비교회로(270)는 제1 카운팅신호(CNT1<1:N>)가 기준정보(REF<1:N>)의 조합 이상으로 카운팅되는 경우 인에이블되는 제1 에러정보신호(ERIF<1>)를 생성할 수 있다. 비교회로(270)는 제2 카운팅신호(CNT2<1:N>)와 기준정보(REF<1:N>)를 비교하여 제2 에러정보신호(ERIF<2>)를 생성할 수 있다. 비교회로(270)는 제2 카운팅신호(CNT2<1:N>)가 기준정보(REF<1:N>)의 조합 이상으로 카운팅되는 경우 인에이블되는 제2 에러정보신호(ERIF<2>)를 생성할 수 있다. 비교회로(270)는 제3 카운팅신호(CNT3<1:N>)와 기준정보(REF<1:N>)를 비교하여 제3 에러정보신호(ERIF<3>)를 생성할 수 있다. 비교회로(270)는 제3 카운팅신호(CNT3<1:N>)가 기준정보(REF<1:N>)의 조합 이상으로 카운팅되는 경우 인에이블되는 제3 에러정보신호(ERIF<3>)를 생성할 수 있다. 비교회로(270)는 제4 카운팅신호(CNT4<1:N>)와 기준정보(REF<1:N>)를 비교하여 제4 에러정보신호(ERIF<4>)를 생성할 수 있다. 비교회로(270)는 제4 카운팅신호(CNT4<1:N>)가 기준정보(REF<1:N>)의 조합 이상으로 카운팅되는 경우 인에이블되는 제4 에러정보신호(ERIF<4>)를 생성할 수 있다. 기준정보(REF<1:N>)는 기 설정된 펄스 발생횟수 정보를 포함하는 신호로 설정될 수 있다. 기준정보(REF<1:N>)의 비트 수는 실시예에 따라 다양하게 설정될 수 있다.
본 발명의 일 실시예에 따른 반도체모듈의 동작을 설명하되 리드동작 중 제2 메모리칩(22)에 에러가 기 설정된 횟수 이상 발생하는 경우 에러스크럽동작을 수행하는 동작을 설명하면 다음과 같다.
커맨드생성회로(11)는 반도체장치(2)의 리드동작에 진입하기 위한 커맨드(CMD)를 생성한다.
제1 메모리칩(21)은 커맨드(CMD)에 응답하여 리드동작을 수행하고 내부에 저장된 제1 데이터(DATA<1>)를 출력한다. 제1 메모리칩(21)의 제1 내부에러정정회로(210)는 커맨드(CMD)에 응답하여 리드동작 시 제1 데이터(DATA<1>)에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제1 에러감지신호(ED<1>)를 생성한다.
에러정보신호생성회로(25)는 제1 에러감지신호(ED<1>)의 펄스가 기 설정된 횟수 이상 발생하지 않아 디스에이블되는 제1 에러정보신호(ERIF<1>)를 생성한다.
에러스크럽제어회로(12)는 제1 에러정보신호(ERIF<1>)에 응답하여 디스에이블되는 제1 메모리선택신호(MS<1>)를 생성한다.
제1 메모리칩(21)의 제1 내부에러정정회로(210)는 디스에이블되는 제1 메모리선택신호(MS<1>) 응답하여 제1 데이터(DATA<1>)의 에러를 정정하여 출력한다.
에러정정회로(13)는 제1 데이터(DATA<1>)를 외부로 출력한다.
제2 메모리칩(22)은 커맨드(CMD)에 응답하여 리드동작을 수행하고 내부에 저장된 제2 데이터(DATA<2>)를 출력한다. 제2 메모리칩(22)의 제2 내부에러정정회로(220)는 커맨드(CMD)에 응답하여 리드동작 시 제2 데이터(DATA<2>)에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제2 에러감지신호(ED<2>)를 생성한다.
에러정보신호생성회로(25)는 제2 에러감지신호(ED<2>)의 펄스가 기 설정된 횟수 이상 발생하므로 인에이블되는 제2 에러정보신호(ERIF<2>)를 생성한다.
에러스크럽제어회로(12)는 제2 에러정보신호(ERIF<2>)에 응답하여 인에이블되는 제2 메모리선택신호(MS<2>)를 생성한다.
제2 메모리칩(22)의 제2 내부에러정정회로(220)는 인에이블되는 제2 메모리선택신호(MS<2>) 응답하여 제2 데이터(DATA<2>)의 에러를 정정하지 않고 출력한다.
에러정정회로(13)는 제2 데이터(DATA<2>)의 에러를 정정하여 제2 메모리칩(22)에 저장한다.
제3 메모리칩(23)은 커맨드(CMD)에 응답하여 리드동작을 수행하고 내부에 저장된 제3 데이터(DATA<3>)를 출력한다. 제3 메모리칩(23)의 제3 내부에러정정회로(230)는 커맨드(CMD)에 응답하여 리드동작 시 제3 데이터(DATA<3>)에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제3 에러감지신호(ED<3>)를 생성한다.
에러정보신호생성회로(25)는 제3 에러감지신호(ED<3>)의 펄스가 기 설정된 횟수 이상 발생하지 않아 디스에이블되는 제3 에러정보신호(ERIF<3>)를 생성한다.
에러스크럽제어회로(12)는 제3 에러정보신호(ERIF<3>)에 응답하여 디스에이블되는 제3 메모리선택신호(MS<3>)를 생성한다.
제3 메모리칩(23)의 제3 내부에러정정회로(230)는 디스에이블되는 제3 메모리선택신호(MS<3>) 응답하여 제3 데이터(DATA<3>)의 에러를 정정하여 출력한다.
에러정정회로(13)는 제3 데이터(DATA<3>)를 외부로 출력한다.
제4 메모리칩(24)은 커맨드(CMD)에 응답하여 리드동작을 수행하고 내부에 저장된 제4 데이터(DATA<4>)를 출력한다. 제4 메모리칩(24)의 제4 내부에러정정회로(240)는 커맨드(CMD)에 응답하여 리드동작 시 제4 데이터(DATA<4>)에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제4 에러감지신호(ED<4>)를 생성한다.
에러정보신호생성회로(25)는 제4 에러감지신호(ED<4>)의 펄스가 기 설정된 횟수 이상 발생하지 않아 디스에이블되는 제4 에러정보신호(ERIF<4>)를 생성한다.
에러스크럽제어회로(12)는 제4 에러정보신호(ERIF<4>)에 응답하여 디스에이블되는 제4 메모리선택신호(MS<4>)를 생성한다.
제4 메모리칩(24)의 제4 내부에러정정회로(240)는 디스에이블되는 제4 메모리선택신호(MS<4>) 응답하여 제4 데이터(DATA<4>)의 에러를 정정하여 출력한다.
에러정정회로(13)는 제4 데이터(DATA<4>)를 외부로 출력한다.
이와 같은 본 발명의 일 실시예에 따른 반도체모듈은 다수의 메모리칩에 대한 리드동작 시 적어도 에러가 발생한 어느 하나 이상의 메모리칩에 대하여 에러스크럽동작을 수행함으로써 에러스크럽동작을 위한 별도의 시간을 감소할 수 있다.
도 4에 도시된 바와 같이 본 발명의 다른 실시예에 따른 반도체모듈은 컨트롤러(3) 및 반도체장치(4)를 포함할 수 있다.
컨트롤러(3)는 커맨드생성회로(31), 에러스크럽제어회로(32) 및 에러정정회로(33)를 포함할 수 있다.
커맨드생성회로(31)는 반도체장치(4)를 제어하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(31)는 반도체장치(4)의 리드동작에 진입하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(31)는 반도체장치(4)의 에러스크럽동작에 진입하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(31)는 반도체장치(4)의 라이트동작에 진입하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(31)는 반도체장치(4)의 다양한 동작에 진입하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드(CMD)는 하나의 신호로 도시되어 있지만 다수의 비트를 포함하는 신호로 설정되어 어드레스, 커맨드 및 데이터 중 적어도 하나가 전송되는 라인들을 통해 전송될 수 있다. 리드동작은 반도체장치(4)에 저장된 데이터(DATA<1:4>)를 외부로 출력하는 동작으로 설정될 수 있다. 에러스크럽동작은 반도체장치(4)에 저장된 데이터(DATA<1:4>)의 에러를 정정하여 다시 저장하는 동작으로 설정될 수 있다. 라이트동작은 컨트롤러(3)에서 입력되는 데이터(DATA<1:4>)를 반도체장치(4)에 저장하는 동작으로 설정될 수 있다.
에러스크럽제어회로(32)는 제1 내지 제4 동작감지신호(OPTD<1:4>)에 응답하여 순차적으로 인에이블되는 제1 내지 제4 메모리선택신호(MS<1:4>)를 생성할 수 있다. 에러스크럽제어회로(32)는 제4 동작감지신호(OPTD<4>)가 인에이블되는 경우 인에이블되는 제1 메모리선택신호(MS<1>)를 생성할 수 있다. 에러스크럽제어회로(32)는 제1 동작감지신호(OPTD<1>)가 인에이블되는 경우 인에이블되는 제2 메모리선택신호(MS<2>)를 생성할 수 있다. 에러스크럽제어회로(32)는 제2 동작감지신호(OPTD<2>)가 인에이블되는 경우 인에이블되는 제3 메모리선택신호(MS<3>)를 생성할 수 있다. 에러스크럽제어회로(32)는 제3 동작감지신호(OPTD<3>)가 인에이블되는 경우 인에이블되는 제4 메모리선택신호(MS<4>)를 생성할 수 있다. 제1 내지 제4 동작감지신호(OPTD<1:4>)는 제1 내지 제4 메모리칩(41,42,43,44)의 동작 정보를 포함하는 신호로 설정될 수 있다. 예를 들어, 제4 동작감지신호(OPTD<4>)가 인에이블되는 경우는 제4 메모리칩(44)에 대한 에러스크럽동작이 완료됨을 의미한다.
에러정정회로(33)는 리드동작에서 출력되는 제1 내지 제4 데이터(DATA<1:4>)를 외부로 출력할 수 있다. 에러정정회로(33)는 에러스크럽동작에서 제1 내지 제4 데이터(DATA<1:4>) 중 에러가 발생한 데이터를 정정하여 다시 반도체장치(4)에 저장할 수 있다. 에러정정회로(33)는 라이트동작에서 외부에서 입력되는 제1 내지 제4 데이터(DATA<1:4>)를 반도체장치(4)로 출력할 수 있다.
한편, 에러정정회로(33)는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC)를 사용하여 제1 내지 제4 데이터(DATA<1:4>)의 2 비트 이상의 에러를 정정하는 일반적인 에러정정회로로 구현될 수 있다.
컨트롤러(3)는 실시예에 따라 리드솔로몬코드(Read-Solomon Code)를 사용하여 반도체장치(4)에 포함된 특정 메모리칩에 대하여 에러스크럽동작을 수행하도록 구현될 수 있다.
반도체장치(4)는 제1 메모리칩(41), 제2 메모리칩(42), 제3 메모리칩(43), 제4 메모리칩(44) 및 동작감지신호생성회로(45)를 포함할 수 있다.
제1 메모리칩(41)은 제1 내부에러정정회로(410)를 포함할 수 있다. 제1 메모리칩(41)의 제1 내부에러정정회로(410)는 커맨드(CMD) 및 제1 메모리선택신호(MS<1>)에 응답하여 에러스크럽동작 시 인에이블되는 제1 동작개시신호(OS<1>)를 생성할 수 있다. 제1 메모리칩(41)은 커맨드(CMD) 및 제1 메모리선택신호(MS<1>)에 응답하여 리드동작 또는 에러스크럽동작을 수행할 수 있다. 제1 메모리칩(41)은 커맨드(CMD)에 응답하여 제1 메모리선택신호(MS<1>)가 디스에이블되는 경우 리드동작을 수행할 수 있다. 제1 메모리칩(41)은 리드동작 시 내부에 저장된 제1 데이터(DATA<1>)를 출력할 수 있다. 제1 메모리칩(41)은 리드동작 시 내부에 저장된 제1 데이터(DATA<1>)의 에러를 제1 내부에러정정회로(410)를 통해 정정하여 출력할 수 있다. 제1 메모리칩(41)은 커맨드(CMD)에 응답하여 제1 메모리선택신호(MS<1>)가 인에이블되는 경우 에러스크럽동작을 수행할 수 있다. 제1 메모리칩(41)은 에러스크럽동작 시 내부에 저장된 제1 데이터(DATA<1>)를 출력할 수 있다. 제1 메모리칩(41)은 에러스크럽동작 시 제1 데이터(DATA<1>)의 에러를 정정하지 않고 출력할 수 있다. 제1 메모리칩(41)은 커맨드(CMD)에 응답하여 라이트동작을 수행할 수 있다. 제1 메모리칩(41)은 라이트동작 시 컨트롤러(3)로부터 입력되는 제1 데이터(DATA<1>)를 저장할 수 있다. 제1 데이터(DATA<1>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다양한 비트를 포함하는 신호로 설정될 수 있다. 제1 동작개시신호(OS<1>)는 제1 메모리칩(41)의 에러스크럽동작이 수행되는 시점에 인에이블되는 신호로 설정될 수 있다.
제2 메모리칩(42)은 제2 내부에러정정회로(420)를 포함할 수 있다. 제2 메모리칩(42)의 제2 내부에러정정회로(420)는 커맨드(CMD) 및 제2 메모리선택신호(MS<2>)에 응답하여 에러스크럽동작 시 인에이블되는 제2 동작개시신호(OS<2>)를 생성할 수 있다. 제2 메모리칩(42)은 커맨드(CMD) 및 제2 메모리선택신호(MS<2>)에 응답하여 리드동작 또는 에러스크럽동작을 수행할 수 있다. 제2 메모리칩(42)은 커맨드(CMD)에 응답하여 제2 메모리선택신호(MS<2>)가 디스에이블되는 경우 리드동작을 수행할 수 있다. 제2 메모리칩(42)은 리드동작 시 내부에 저장된 제2 데이터(DATA<2>)를 출력할 수 있다. 제2 메모리칩(42)은 리드동작 시 내부에 저장된 제2 데이터(DATA<2>)의 에러를 제2 내부에러정정회로(420)를 통해 정정하여 출력할 수 있다. 제2 메모리칩(42)은 커맨드(CMD)에 응답하여 제2 메모리선택신호(MS<2>)가 인에이블되는 경우 에러스크럽동작을 수행할 수 있다. 제2 메모리칩(42)은 에러스크럽동작 시 내부에 저장된 제2 데이터(DATA<2>)를 출력할 수 있다. 제2 메모리칩(42)은 에러스크럽동작 시 제2 데이터(DATA<2>)의 에러를 정정하지 않고 출력할 수 있다. 제2 메모리칩(42)은 커맨드(CMD)에 응답하여 라이트동작을 수행할 수 있다. 제2 메모리칩(42)은 라이트동작 시 컨트롤러(3)로부터 입력되는 제2 데이터(DATA<2>)를 저장할 수 있다. 제2 데이터(DATA<2>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다양한 비트를 포함하는 신호로 설정될 수 있다. 제2 동작개시신호(OS<2>)는 제2 메모리칩(42)의 에러스크럽동작이 수행되는 시점에 인에이블되는 신호로 설정될 수 있다.
제3 메모리칩(43)은 제3 내부에러정정회로(430)를 포함할 수 있다. 제3 메모리칩(43)의 제3 내부에러정정회로(430)는 커맨드(CMD) 및 제3 메모리선택신호(MS<3>)에 응답하여 에러스크럽동작 시 인에이블되는 제3 동작개시신호(OS<3>)를 생성할 수 있다. 제3 메모리칩(43)은 커맨드(CMD) 및 제3 메모리선택신호(MS<3>)에 응답하여 리드동작 또는 에러스크럽동작을 수행할 수 있다. 제3 메모리칩(43)은 커맨드(CMD)에 응답하여 제3 메모리선택신호(MS<3>)가 디스에이블되는 경우 리드동작을 수행할 수 있다. 제3 메모리칩(43)은 리드동작 시 내부에 저장된 제3 데이터(DATA<3>)를 출력할 수 있다. 제3 메모리칩(43)은 리드동작 시 내부에 저장된 제3 데이터(DATA<3>)의 에러를 제3 내부에러정정회로(430)를 통해 정정하여 출력할 수 있다. 제3 메모리칩(43)은 커맨드(CMD)에 응답하여 제3 메모리선택신호(MS<3>)가 인에이블되는 경우 에러스크럽동작을 수행할 수 있다. 제3 메모리칩(43)은 에러스크럽동작 시 내부에 저장된 제3 데이터(DATA<3>)를 출력할 수 있다. 제3 메모리칩(43)은 에러스크럽동작 시 제3 데이터(DATA<3>)의 에러를 정정하지 않고 출력할 수 있다. 제3 메모리칩(43)은 커맨드(CMD)에 응답하여 라이트동작을 수행할 수 있다. 제3 메모리칩(43)은 라이트동작 시 컨트롤러(3)로부터 입력되는 제3 데이터(DATA<3>)를 저장할 수 있다. 제3 데이터(DATA<3>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다양한 비트를 포함하는 신호로 설정될 수 있다. 제3 동작개시신호(OS<3>)는 제3 메모리칩(43)의 에러스크럽동작이 수행되는 시점에 인에이블되는 신호로 설정될 수 있다.
제4 메모리칩(44)은 제4 내부에러정정회로(440)를 포함할 수 있다. 제4 메모리칩(44)의 제4 내부에러정정회로(440)는 커맨드(CMD) 및 제4 메모리선택신호(MS<4>)에 응답하여 에러스크럽동작 시 인에이블되는 제4 동작개시신호(OS<4>)를 생성할 수 있다. 제4 메모리칩(44)은 커맨드(CMD) 및 제4 메모리선택신호(MS<4>)에 응답하여 리드동작 또는 에러스크럽동작을 수행할 수 있다. 제4 메모리칩(44)은 커맨드(CMD)에 응답하여 제4 메모리선택신호(MS<4>)가 디스에이블되는 경우 리드동작을 수행할 수 있다. 제4 메모리칩(44)은 리드동작 시 내부에 저장된 제4 데이터(DATA<4>)를 출력할 수 있다. 제4 메모리칩(44)은 리드동작 시 내부에 저장된 제4 데이터(DATA<4>)의 에러를 제4 내부에러정정회로(440)를 통해 정정하여 출력할 수 있다. 제4 메모리칩(44)은 커맨드(CMD)에 응답하여 제4 메모리선택신호(MS<4>)가 인에이블되는 경우 에러스크럽동작을 수행할 수 있다. 제4 메모리칩(44)은 에러스크럽동작 시 내부에 저장된 제4 데이터(DATA<4>)를 출력할 수 있다. 제4 메모리칩(44)은 에러스크럽동작 시 제4 데이터(DATA<4>)의 에러를 정정하지 않고 출력할 수 있다. 제4 메모리칩(44)은 커맨드(CMD)에 응답하여 라이트동작을 수행할 수 있다. 제4 메모리칩(44)은 라이트동작 시 컨트롤러(3)로부터 입력되는 제4 데이터(DATA<4>)를 저장할 수 있다. 제4 데이터(DATA<>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다양한 비트를 포함하는 신호로 설정될 수 있다. 제4 동작개시신호(OS<4>)는 제4 메모리칩(44)의 에러스크럽동작이 수행되는 시점에 인에이블되는 신호로 설정될 수 있다.
한편, 제1 내지 제4 내부에러정정회로(410,420,430,440)는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와, 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC)를 사용하여 제1 내지 제4 데이터(DATA<1:4>)의 1 비트 에러를 정정하는 일반적인 에러정정회로로 구현될 수 있다.
동작감지신호생성회로(45)는 제1 내지 제4 동작개시신호(OS<1:4>)가 입력된 시점부터 소정구간 이후 인에이블되는 제1 내지 제4 동작감지신호(OPTD<1:4>)를 생성할 수 있다. 동작감지신호생성회로(45)는 제1 동작개시신호(OS<1>)가 입력된 시점부터 소정구간 이후 인에이블되는 제1 동작감지신호(OPTD<1>)를 생성할 수 있다. 동작감지신호생성회로(45)는 제2 동작개시신호(OS<2>)가 입력된 시점부터 소정구간 이후 인에이블되는 제2 동작감지신호(OPTD<2>)를 생성할 수 있다. 동작감지신호생성회로(45)는 제3 동작개시신호(OS<3>)가 입력된 시점부터 소정구간 이후 인에이블되는 제3 동작감지신호(OPTD<3>)를 생성할 수 있다. 동작감지신호생성회로(45)는 제4 동작개시신호(OS<4>)가 입력된 시점부터 소정구간 이후 인에이블되는 제4 동작감지신호(OPTD<4>)를 생성할 수 있다.
도 5를 참고하면 본 발명의 일 실시예에 따른 동작감지신호생성회로(45)는 제1 타이머(451), 제2 타이머(452), 제3 타이머(453) 및 제4 타이머(454)를 포함할 수 있다.
제1 타이머(451)는 제1 동작개시신호(OS<1>)에 응답하여 인에이블되는 제1 동작감지신호(OPTD<1>)를 생성할 수 있다. 제1 타이머(451)는 제1 동작개시신호(OS<1>)가 입력되는 시점부터 소정구간 이후 인에이블되는 제1 동작감지신호(OPTD<1>)를 생성할 수 있다.
제2 타이머(452)는 제2 동작개시신호(OS<2>)에 응답하여 인에이블되는 제2 동작감지신호(OPTD<2>)를 생성할 수 있다. 제2 타이머(452)는 제2 동작개시신호(OS<2>)가 입력되는 시점부터 소정구간 이후 인에이블되는 제2 동작감지신호(OPTD<2>)를 생성할 수 있다.
제3 타이머(453)는 제3 동작개시신호(OS<3>)에 응답하여 인에이블되는 제3 동작감지신호(OPTD<3>)를 생성할 수 있다. 제3 타이머(453)는 제3 동작개시신호(OS<3>)가 입력되는 시점부터 소정구간 이후 인에이블되는 제3 동작감지신호(OPTD<3>)를 생성할 수 있다.
제4 타이머(454)는 제4 동작개시신호(OS<4>)에 응답하여 인에이블되는 제4 동작감지신호(OPTD<4>)를 생성할 수 있다. 제4 타이머(454)는 제4 동작개시신호(OS<4>)가 입력되는 시점부터 소정구간 이후 인에이블되는 제4 동작감지신호(OPTD<4>)를 생성할 수 있다.
본 발명의 다른 실시예에 따른 반도체모듈의 동작을 설명하되 리드동작 중 제1 메모리칩(41)이 에러스크럽동작을 수행하여 모든 메모리칩이 순차적으로 에러스크럽동작을 수행하는 동작을 설명하면 다음과 같다.
커맨드생성회로(31)는 반도체장치(4)의 리드동작에 진입하기 위한 커맨드(CMD)를 생성한다.
제1 메모리칩(41)은 커맨드(CMD) 및 제1 메모리선택신호(MS<1>)에 응답하여 에러스크럽동작을 수행한다. 제1 메모리칩(41)은 제1 데이터(DATA<1>)의 에러를 정정하지 않고 출력한다. 제1 메모리칩(41)의 제1 내부에러정정회로(410)는 커맨드(CMD) 및 제1 메모리선택신호(MS<1>)에 응답하여 에러스크럽동작 시 인에이블되는 제1 동작개시신호(OS<1>)를 생성한다.
에러정정회로(33)는 제1 데이터(DATA<1>)의 에러를 정정하여 제1 메모리칩(41)에 저장한다.
동작감지신호생성회로(45)는 제1 동작개시신호(OS<1>)가 입력된 시점부터 소정구간 이후 인에이블되는 제1 동작감지신호(OPTD<1>)를 생성한다.
에러스크럽제어회로(32)는 제1 동작감지신호(OPTD<1>)가 인에이블되는 경우 인에이블되는 제2 메모리선택신호(MS<2>)를 생성한다.
제2 메모리칩(42)은 커맨드(CMD) 및 제2 메모리선택신호(MS<2>)에 응답하여 에러스크럽동작을 수행한다. 제2 메모리칩(42)은 제2 데이터(DATA<2>)의 에러를 정정하지 않고 출력한다. 제2 메모리칩(42)의 제2 내부에러정정회로(420)는 커맨드(CMD) 및 제2 메모리선택신호(MS<2>)에 응답하여 에러스크럽동작 시 인에이블되는 제2 동작개시신호(OS<2>)를 생성한다.
에러정정회로(33)는 제2 데이터(DATA<2>)의 에러를 정정하여 제2 메모리칩(42)에 저장한다.
동작감지신호생성회로(45)는 제2 동작개시신호(OS<2>)가 입력된 시점부터 소정구간 이후 인에이블되는 제2 동작감지신호(OPTD<2>)를 생성한다.
에러스크럽제어회로(32)는 제2 동작감지신호(OPTD<2>)가 인에이블되는 경우 인에이블되는 제3 메모리선택신호(MS<3>)를 생성한다.
제3 메모리칩(43)은 커맨드(CMD) 및 제3 메모리선택신호(MS<3>)에 응답하여 에러스크럽동작을 수행한다. 제3 메모리칩(43)은 제3 데이터(DATA<3>)의 에러를 정정하지 않고 출력한다. 제3 메모리칩(43)의 제3 내부에러정정회로(430)는 커맨드(CMD) 및 제3 메모리선택신호(MS<3>)에 응답하여 에러스크럽동작 시 인에이블되는 제3 동작개시신호(OS<3>)를 생성한다.
에러정정회로(33)는 제3 데이터(DATA<3>)의 에러를 정정하여 제3 메모리칩(43)에 저장한다.
동작감지신호생성회로(45)는 제3 동작개시신호(OS<3>)가 입력된 시점부터 소정구간 이후 인에이블되는 제3 동작감지신호(OPTD<3>)를 생성한다.
에러스크럽제어회로(32)는 제3 동작감지신호(OPTD<3>)가 인에이블되는 경우 인에이블되는 제4 메모리선택신호(MS<4>)를 생성한다.
제4 메모리칩(44)은 커맨드(CMD) 및 제4 메모리선택신호(MS<4>)에 응답하여 에러스크럽동작을 수행한다. 제4 메모리칩(44)은 제4 데이터(DATA<4>)의 에러를 정정하지 않고 출력한다. 제4 메모리칩(44)의 제4 내부에러정정회로(440)는 커맨드(CMD) 및 제4 메모리선택신호(MS<4>)에 응답하여 에러스크럽동작 시 인에이블되는 제4 동작개시신호(OS<4>)를 생성한다.
에러정정회로(34)는 제4 데이터(DATA<4>)의 에러를 정정하여 제4 메모리칩(44)에 저장한다.
동작감지신호생성회로(45)는 제4 동작개시신호(OS<4>)가 입력된 시점부터 소정구간 이후 인에이블되는 제4 동작감지신호(OPTD<4>)를 생성한다.
에러스크럽제어회로(32)는 제4 동작감지신호(OPTD<4>)가 인에이블되는 경우 인에이블되는 제1 메모리선택신호(MS<1>)를 생성한다.
이후, 제1 메모리칩(41)은 앞서 설명한 에러스크럽동작을 수행한다.
이와 같은 본 발명의 다른 실시예에 따른 반도체모듈은 다수의 메모리칩에 대한 리드동작 시 모든 메모리칩에 대한 에러스크럽동작을 순차적으로 수행함으로써 에러스크럽동작을 위한 별도의 시간을 감소할 수 있다.
앞서, 도 1 내지 도 5에서 살펴본 반도체모듈은 메모리시스템, 그래픽시스템, 컴퓨팅시스템 및 모바일시스템 등을 포함하는 전자시스템에 적용될 수 있다. 예를 들어, 도 6을 참고하면 본 발명의 일 실시예에 따른 전자시스템(1000)은 데이터저장부(1001), 메모리컨트롤러(1002), 버퍼메모리(1003) 및 입출력인터페이스(1004)를 포함할 수 있다.
데이터저장부(1001)는 메모리컨트롤러(1002)로부터의 제어신호에 따라 메모리컨트롤러(1002)로부터 인가되는 데이터를 저장하고 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 데이터저장부(1001)는 도 1에 도시된 반도체장치(2) 및 도 4에 도시된 반도체장치(4)를 포함할 수 있다. 한편, 데이터저장부(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) 및 도 4에 도시된 컨트롤러(3)를 포함할 수 있다. 도 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)로 제공할 수 있다. 메모리컨트롤러(2002)는 도 1에 도시된 컨트롤러(1) 및 도 4에 도시된 컨트롤러(3)를 포함할 수 있다.
데이터저장부(2003)는 다수의 메모리들을 포함할 수 있다. 데이터저장부(2003)는 메모리컨트롤러(2002)로부터 데이터, 데이터 스트로브, 커맨드, 어드레스 및 클럭 등을 수신하여 라이트 또는 리드 동작을 수행할 수 있다. 데이터저장부(2003)에 포함된 다수의 메모리들은 오류정정코드(Error Correction Code, ECC) 방식을 사용하여 데이터에 포함된 에러를 정정하는 회로를 포함할 수 있다. 데이터저장부(2003)는 도 1에 도시된 메모리칩(2) 및 도 4에 도시된 메모리칩(4)을 포함할 수 있다.
호스트(2001)에 포함된 에러를 정정하는 회로 및 데이터저장부(2003) 내부의 다수의 메모리들에 포함된 에러를 정정하는 회로는 실시예에 따라서 모두 동작하거나 선택적으로 동작하도록 구현될 수 있다. 호스트(2001) 및 메모리컨트롤러(2002)는 실시예에 따라서 동일한 칩으로 구현될 수 있다. 메모리컨트롤러(2002) 및 데이터저장부(2003)는 실시예에 따라서 동일한 칩으로 구현될 수 있다.
제1 실시예
1. 컨트롤러 2. 반도체장치
11. 커맨드생성회로 12. 에러스크럽제어회로
13. 에러정정회로 21. 제1 메모리칩
22. 제2 메모리칩 23. 제3 메모리칩
24. 제4 메모리칩 25. 에러정보신호생성회로
251. 제1 카운터 252. 제2 카운터
253. 제3 카운터 254. 제4 카운터
210. 제1 내부에러정정회로 220. 제2 내부에러정정회로
230. 제3 내부에러정정회로 240. 제4 내부에러정정회로
260. 카운팅신호생성회로 270. 비교회로
제2 실시예
3. 컨트롤러 4. 반도체장치
31. 커맨드생성회로 32. 에러스크럽제어회로
43. 에러정정회로 41. 제1 메모리칩
42. 제2 메모리칩 43. 제3 메모리칩
44. 제4 메모리칩 45. 동작감지신호생성회로
410. 제1 내부에러정정회로 420. 제2 내부에러정정회로
430. 제3 내부에러정정회로 440. 제4 내부에러정정회로
451. 제1 타이머 452. 제2 타이머
453. 제3 타이머 454. 제4 타이머
1. 컨트롤러 2. 반도체장치
11. 커맨드생성회로 12. 에러스크럽제어회로
13. 에러정정회로 21. 제1 메모리칩
22. 제2 메모리칩 23. 제3 메모리칩
24. 제4 메모리칩 25. 에러정보신호생성회로
251. 제1 카운터 252. 제2 카운터
253. 제3 카운터 254. 제4 카운터
210. 제1 내부에러정정회로 220. 제2 내부에러정정회로
230. 제3 내부에러정정회로 240. 제4 내부에러정정회로
260. 카운팅신호생성회로 270. 비교회로
제2 실시예
3. 컨트롤러 4. 반도체장치
31. 커맨드생성회로 32. 에러스크럽제어회로
43. 에러정정회로 41. 제1 메모리칩
42. 제2 메모리칩 43. 제3 메모리칩
44. 제4 메모리칩 45. 동작감지신호생성회로
410. 제1 내부에러정정회로 420. 제2 내부에러정정회로
430. 제3 내부에러정정회로 440. 제4 내부에러정정회로
451. 제1 타이머 452. 제2 타이머
453. 제3 타이머 454. 제4 타이머
Claims (20)
- 리드동작 및 에러스크럽동작을 제어하는 컨트롤러; 및
다수의 메모리칩을 포함하는 반도체장치를 포함하되, 상기 다수의 메모리칩에 대한 상기 리드동작 중 상기 다수의 메모리칩 중 적어도 어느 하나는 상기 에러스크럽동작을 수행하는 반도체모듈.
- 제 1 항에 있어서, 상기 에러스크럽동작은 상기 다수의 메모리칩에 대한 데이터의 에러를 정정하여 다시 저장하는 동작인 반도체모듈.
- 제 1 항에 있어서, 상기 에러스크럽동작이 수행되는 메모리칩에 포함된 내부에러정정회로는 에러가 발생한 데이터의 에러를 정정하지 않고, 상기 컨트롤러에 포함된 에러정정회로를 통해 상기 데이터의 에러가 정정되는 반도체모듈.
- 제 3 항에 있어서, 상기 에러정정회로는 2 비트 이상의 데이터 에러를 정정하고, 상기 내부에러정정회로는 1 비트의 데이터 에러를 정정하는 반도체모듈.
- 제 1 항에 있어서, 상기 컨트롤러는
상기 리드동작 및 상기 에러스크럽동작을 수행하기 위한 커맨드를 생성하는 커맨드생성회로;
제1 내지 제4 에러정보신호에 응답하여 선택적으로 인에이블되는 제1 내지 제4 메모리선택신호를 생성하는 에러스크럽제어회로; 및
상기 에러스크럽동작이 수행되는 메모리칩의 데이터의 에러를 정정하여 상기 에러스크럽동작이 수행되는 메모리칩에 다시 저장하는 에러정정회로를 포함하는 반도체모듈.
- 제 1 항에 있어서, 상기 반도체장치는
제1 내부에러정정회로를 포함하고, 커맨드에 응답하여 상기 리드동작 시 출력된 제1 데이터에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제1 에러감지신호를 생성하는 제1 메모리칩;
제2 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작 시 출력된 제2 데이터에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제2 에러감지신호를 생성하는 제2 메모리칩;
제3 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작 시 출력된 제3 데이터에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제3 에러감지신호를 생성하는 제3 메모리칩;
제4 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작 시 출력된 제4 데이터에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제4 에러감지신호를 생성하는 제4 메모리칩; 및
상기 제1 내지 제4 에러감지신호의 펄스가 기 설정된 펄스 발생횟수 이상 발생하는 경우 인에이블되는 제1 내지 제4 에러정보신호를 생성하는 에러정보신호생성회로를 포함하는 반도체모듈.
- 제 6 항에 있어서,
상기 제1 내부에러정정회로는 제1 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하고, 상기 제2 내부에러정정회로는 제2 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하며, 상기 제3 내부에러정정회로는 제3 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하고, 상기 제4 내부에러정정회로는 제4 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하는 반도체모듈.
- 제 6 항에 있어서, 상기 에러정보신호생성회로는
기준정보를 입력받아 상기 제1 에러감지신호의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 상기 제1 에러정보신호를 생성하는 제1 카운터;
상기 기준정보를 입력받아 상기 제2 에러감지신호의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 상기 제2 에러정보신호를 생성하는 제2 카운터;
상기 기준정보를 입력받아 상기 제3 에러감지신호의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 상기 제3 에러정보신호를 생성하는 제3 카운터; 및
상기 기준정보를 입력받아 상기 제4 에러감지신호의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 상기 제4 에러정보신호를 생성하는 제4 카운터를 포함하는 반도체모듈.
- 제 8 항에 있어서, 상기 기준정보는 상기 기 설정된 펄스 발생횟수 정보를 포함하는 신호인 반도체모듈.
- 제 6 항에 있어서, 상기 에러정보신호생성회로는
상기 제1 내지 제4 에러감지신호의 펄스에 응답하여 카운팅되는 제1 내지 제4 카운팅신호를 생성하는 카운팅신호생성회로; 및
상기 제1 내지 제4 카운팅신호와 기 설정된 횟수 정보를 포함하는 기준정보를 비교하여 상기 제1 내지 제4 에러정보신호를 생성하는 비교회로를 포함하는 반도체모듈.
- 제 10 항에 있어서, 상기 카운팅신호생성회로는
상기 제1 에러감지신호의 펄스에 응답하여 카운팅되는 상기 제1 카운팅신호를 생성하는 제1 카운터;
상기 제2 에러감지신호의 펄스에 응답하여 카운팅되는 상기 제2 카운팅신호를 생성하는 제2 카운터;
상기 제3 에러감지신호의 펄스에 응답하여 카운팅되는 상기 제3 카운팅신호를 생성하는 제3 카운터; 및
상기 제4 에러감지신호의 펄스에 응답하여 카운팅되는 상기 제4 카운팅신호를 생성하는 제4 카운터를 포함하는 반도체모듈.
- 제 1 항에 있어서, 상기 반도체장치의 상기 다수의 메모리칩에 대한 상기 에러스크럽동작은 순차적으로 수행되는 반도체모듈.
- 제 12 항에 있어서, 상기 컨트롤러는
상기 리드동작 및 상기 에러스크럽동작을 수행하기 위한 커맨드를 생성하는 커맨드생성회로;
제1 내지 제4 동작감지신호에 응답하여 순차적으로 인에이블되는 제1 내지 제4 메모리선택신호를 생성하는 에러스크럽제어회로; 및
상기 에러스크럽동작이 수행되는 메모리칩의 데이터의 에러를 정정하여 상기 에러스크럽동작이 수행되는 메모리칩에 다시 저장하는 에러정정회로를 포함하는 반도체모듈.
- 제 13 항에 있어서, 상기 에러스크럽제어회로는
상기 제4 동작감지신호가 입력되는 경우 인에이블되는 상기 제1 메모리선택신호를 생성하고, 상기 제1 동작감지신호가 입력되는 경우 인에이블되는 상기 제2 메모리선택신호를 생성하며, 상기 제2 동작감지신호가 입력되는 경우 인에이블되는 상기 제3 메모리선택신호를 생성하고, 상기 제3 동작감지신호가 입력되는 경우 인에이블되는 상기 제4 메모리선택신호를 생성하는 반도체모듈.
- 제 12 항에 있어서, 상기 반도체장치는
제1 내부에러정정회로를 포함하고, 커맨드에 응답하여 상기 리드동작에 진입하여 제1 데이터를 출력하고, 상기 에러스크럽의 진입 시점에 인에이블되는 제1 동작개시신호를 생성하는 제1 메모리칩;
제2 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작에 진입하여 제2 데이터를 출력하고, 상기 에러스크럽의 진입 시점에 인에이블되는 제2 동작개시신호를 생성하는 제2 메모리칩;
제3 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작에 진입하여 제3 데이터를 출력하고, 상기 에러스크럽의 진입 시점에 인에이블되는 제3동작개시신호를 생성하는 제3 메모리칩;
제4 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작에 진입하여 제4 데이터를 출력하고, 상기 에러스크럽의 진입 시점에 인에이블되는 제4 동작개시신호를 생성하는 제4 메모리칩; 및
상기 제1 내지 제4 동작개시신호에 응답하여 순차적으로 인에이블되는 제1 내지 제4 동작감지신호를 생성하는 동작감지신호생성회로를 포함하는 반도체모듈.
- 제 15 항에 있어서,
상기 제1 내부에러정정회로는 제1 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하고, 상기 제2 내부에러정정회로는 제2 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하며, 상기 제3 내부에러정정회로는 제3 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하고, 상기 제4 내부에러정정회로는 제4 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하는 반도체모듈.
- 제 15 항에 있어서, 상기 동작감지신호생성회로는
상기 제1 동작개시신호가 입력되는 시점부터 소정구간 이후 인에이블되는 상기 제1 동작감지신호를 생성하는 제1 타이머;
상기 제2 동작개시신호가 입력되는 시점부터 소정구간 이후 인에이블되는 상기 제2 동작감지신호를 생성하는 제2 타이머;
상기 제3 동작개시신호가 입력되는 시점부터 소정구간 이후 인에이블되는 상기 제3 동작감지신호를 생성하는 제3 타이머; 및
상기 제4 동작개시신호가 입력되는 시점부터 소정구간 이후 인에이블되는 상기 제4 동작감지신호를 생성하는 제4 타이머를 포함하는 반도체모듈.
- 다수의 메모리칩에 대한 리드동작 중 어느 하나의 메모리칩에 대한 에러스크럽동작을 수행하는 제1 단계; 및
상기 다수의 메모리칩 중 상기 에러스크럽동작이 완료된 메모리칩을 제외한 어느 하나의 메모리칩에 대한 상기 에러스크럽동작을 수행하는 제2 단계를 포함하는 에러스크럽방법.
- 제 18 항에 있어서, 상기 제1 단계는 상기 다수의 메모리칩 중 에러발생 횟수가 기 설정횟수 이상 발생하는 상기 메모리칩에 대한 상기 에러스크럽동작이 수행되는 에러스크럽방법.
- 제 18 항에 있어서, 상기 제2 단계는 상기 다수의 메모리칩에 대한 에러스크럽동작이 순차적으로 수행되는 에러스크럽방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170158288A KR102410022B1 (ko) | 2017-11-24 | 2017-11-24 | 에러스크럽방법 및 이를 이용한 반도체모듈 |
US15/982,378 US10964406B2 (en) | 2017-11-24 | 2018-05-17 | Methods of scrubbing errors and semiconductor modules using the same |
CN201810579865.6A CN109840161B (zh) | 2017-11-24 | 2018-06-07 | 刷洗错误的方法和使用该方法的半导体模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170158288A KR102410022B1 (ko) | 2017-11-24 | 2017-11-24 | 에러스크럽방법 및 이를 이용한 반도체모듈 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190060258A true KR20190060258A (ko) | 2019-06-03 |
KR102410022B1 KR102410022B1 (ko) | 2022-06-21 |
Family
ID=66632639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170158288A KR102410022B1 (ko) | 2017-11-24 | 2017-11-24 | 에러스크럽방법 및 이를 이용한 반도체모듈 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10964406B2 (ko) |
KR (1) | KR102410022B1 (ko) |
CN (1) | CN109840161B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020247149A1 (en) * | 2019-06-06 | 2020-12-10 | Micron Technology, Inc. | Scrub rate control for a memory device |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11204835B2 (en) | 2018-10-12 | 2021-12-21 | Supermem, Inc. | Error correcting memory systems |
KR20200137739A (ko) * | 2019-05-31 | 2020-12-09 | 에스케이하이닉스 주식회사 | 반도체장치 |
US20240028247A1 (en) * | 2022-07-19 | 2024-01-25 | Micron Technology, Inc. | Efficient error signaling by memory |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017003440A1 (en) * | 2015-06-30 | 2017-01-05 | Hewlett-Packard Development Company, L.P. | Patrol scrub periods based on power status |
KR20170045806A (ko) * | 2015-10-20 | 2017-04-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR20170056823A (ko) * | 2015-11-16 | 2017-05-24 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20170104115A (ko) * | 2016-03-03 | 2017-09-14 | 삼성전자주식회사 | 인-모듈 기능들을 수행하는 메모리 모듈 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6715116B2 (en) * | 2000-01-26 | 2004-03-30 | Hewlett-Packard Company, L.P. | Memory data verify operation |
JP2001331377A (ja) * | 2000-05-22 | 2001-11-30 | Hitachi Ltd | 再生エラーの処理方法及びこれを用いたディスク装置 |
US7320100B2 (en) * | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
JP5348248B2 (ja) * | 2009-09-25 | 2013-11-20 | 富士通株式会社 | メモリシステム及びメモリシステムの制御方法 |
KR101873526B1 (ko) | 2011-06-09 | 2018-07-02 | 삼성전자주식회사 | 에러 정정회로를 구비한 온 칩 데이터 스크러빙 장치 및 방법 |
KR102087755B1 (ko) * | 2013-10-07 | 2020-03-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 포함하는 반도체 시스템 |
KR102087759B1 (ko) * | 2013-11-04 | 2020-03-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 동작방법 및 다수의 반도체 메모리 장치를 포함하는 반도체 메모리 모듈의 동작방법 |
US9946595B2 (en) * | 2015-09-30 | 2018-04-17 | International Business Machines Corporation | Reducing uncorrectable errors based on a history of correctable errors |
US10193576B2 (en) | 2015-10-30 | 2019-01-29 | Toshiba Memory Corporation | Memory system and memory device |
US9823964B2 (en) * | 2015-12-08 | 2017-11-21 | Nvidia Corporation | Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation |
KR20170082066A (ko) * | 2016-01-05 | 2017-07-13 | 에스케이하이닉스 주식회사 | 반도체시스템 |
US10042700B2 (en) * | 2016-05-28 | 2018-08-07 | Advanced Micro Devices, Inc. | Integral post package repair |
KR20180009076A (ko) * | 2016-07-18 | 2018-01-26 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
-
2017
- 2017-11-24 KR KR1020170158288A patent/KR102410022B1/ko active IP Right Grant
-
2018
- 2018-05-17 US US15/982,378 patent/US10964406B2/en active Active
- 2018-06-07 CN CN201810579865.6A patent/CN109840161B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017003440A1 (en) * | 2015-06-30 | 2017-01-05 | Hewlett-Packard Development Company, L.P. | Patrol scrub periods based on power status |
KR20170045806A (ko) * | 2015-10-20 | 2017-04-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
KR20170056823A (ko) * | 2015-11-16 | 2017-05-24 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20170104115A (ko) * | 2016-03-03 | 2017-09-14 | 삼성전자주식회사 | 인-모듈 기능들을 수행하는 메모리 모듈 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020247149A1 (en) * | 2019-06-06 | 2020-12-10 | Micron Technology, Inc. | Scrub rate control for a memory device |
US11169730B2 (en) | 2019-06-06 | 2021-11-09 | Micron Technology, Inc. | Scrub rate control for a memory device |
US11748021B2 (en) | 2019-06-06 | 2023-09-05 | Micron Technology, Inc. | Scrub rate control for a memory device |
Also Published As
Publication number | Publication date |
---|---|
CN109840161A (zh) | 2019-06-04 |
US10964406B2 (en) | 2021-03-30 |
CN109840161B (zh) | 2022-09-06 |
US20190164626A1 (en) | 2019-05-30 |
KR102410022B1 (ko) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102393427B1 (ko) | 반도체장치 및 반도체시스템 | |
US10572341B2 (en) | Semiconductor devices | |
KR102638790B1 (ko) | 반도체장치 및 반도체시스템 | |
KR20180019791A (ko) | 반도체장치 및 반도체시스템 | |
TWI729239B (zh) | 半導體裝置 | |
US10162703B2 (en) | Methods of correcting data errors and semiconductor devices used therein | |
KR102647418B1 (ko) | 반도체장치 및 반도체시스템 | |
KR102410022B1 (ko) | 에러스크럽방법 및 이를 이용한 반도체모듈 | |
TWI752120B (zh) | 半導體裝置 | |
KR102563162B1 (ko) | 집적회로 | |
US10261860B2 (en) | Semiconductor systems | |
KR20170133545A (ko) | 반도체장치 및 반도체시스템 | |
US10360950B2 (en) | Methods, semiconductor devices, and semiconductor systems | |
KR102638789B1 (ko) | 테스트방법 및 이를 이용한 반도체시스템 | |
KR20190043043A (ko) | 전자장치 | |
KR20180055148A (ko) | 반도체장치 및 반도체시스템 | |
US10181863B2 (en) | Semiconductor devices and semiconductor systems | |
KR20210023317A (ko) | 반도체장치 | |
KR20180086817A (ko) | 반도체장치 | |
KR20180027234A (ko) | 반도체장치 | |
US10014073B2 (en) | Semiconductor devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |