KR20190060258A - 에러스크럽방법 및 이를 이용한 반도체모듈 - Google Patents

에러스크럽방법 및 이를 이용한 반도체모듈 Download PDF

Info

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
Application number
KR1020170158288A
Other languages
English (en)
Other versions
KR102410022B1 (ko
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 KR1020170158288A priority Critical patent/KR102410022B1/ko
Priority to US15/982,378 priority patent/US10964406B2/en
Priority to CN201810579865.6A priority patent/CN109840161B/zh
Publication of KR20190060258A publication Critical patent/KR20190060258A/ko
Application granted granted Critical
Publication of KR102410022B1 publication Critical patent/KR102410022B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital 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/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • 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/0781Error 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
    • 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/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • 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
    • G11C2029/0409Online test
    • 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
    • G11C2029/0411Online 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

에러스크럽방법 및 이를 이용한 반도체모듈{ERROR SCRUB METHOD AND SEMICONDUCTOR MODULE USING THE SAME}
본 발명은 데이터의 에러를 정정하여 다시 저장하는 에러스크럽동작을 수행하는 반도체모듈에 관한 것이다.
최근 반도체장치의 동작속도를 증가시키기 위해 클럭 사이클(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에 도시된 반도체모듈이 적용된 전자시스템의 다른 실시예에 따른 구성을 도시한 도면이다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 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 타이머

Claims (20)

  1. 리드동작 및 에러스크럽동작을 제어하는 컨트롤러; 및
    다수의 메모리칩을 포함하는 반도체장치를 포함하되, 상기 다수의 메모리칩에 대한 상기 리드동작 중 상기 다수의 메모리칩 중 적어도 어느 하나는 상기 에러스크럽동작을 수행하는 반도체모듈.
  2. 제 1 항에 있어서, 상기 에러스크럽동작은 상기 다수의 메모리칩에 대한 데이터의 에러를 정정하여 다시 저장하는 동작인 반도체모듈.
  3. 제 1 항에 있어서, 상기 에러스크럽동작이 수행되는 메모리칩에 포함된 내부에러정정회로는 에러가 발생한 데이터의 에러를 정정하지 않고, 상기 컨트롤러에 포함된 에러정정회로를 통해 상기 데이터의 에러가 정정되는 반도체모듈.
  4. 제 3 항에 있어서, 상기 에러정정회로는 2 비트 이상의 데이터 에러를 정정하고, 상기 내부에러정정회로는 1 비트의 데이터 에러를 정정하는 반도체모듈.
  5. 제 1 항에 있어서, 상기 컨트롤러는
    상기 리드동작 및 상기 에러스크럽동작을 수행하기 위한 커맨드를 생성하는 커맨드생성회로;
    제1 내지 제4 에러정보신호에 응답하여 선택적으로 인에이블되는 제1 내지 제4 메모리선택신호를 생성하는 에러스크럽제어회로; 및
    상기 에러스크럽동작이 수행되는 메모리칩의 데이터의 에러를 정정하여 상기 에러스크럽동작이 수행되는 메모리칩에 다시 저장하는 에러정정회로를 포함하는 반도체모듈.
  6. 제 1 항에 있어서, 상기 반도체장치는
    제1 내부에러정정회로를 포함하고, 커맨드에 응답하여 상기 리드동작 시 출력된 제1 데이터에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제1 에러감지신호를 생성하는 제1 메모리칩;
    제2 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작 시 출력된 제2 데이터에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제2 에러감지신호를 생성하는 제2 메모리칩;
    제3 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작 시 출력된 제3 데이터에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제3 에러감지신호를 생성하는 제3 메모리칩;
    제4 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작 시 출력된 제4 데이터에 에러가 발생하는 경우 발생하는 펄스를 포함하는 제4 에러감지신호를 생성하는 제4 메모리칩; 및
    상기 제1 내지 제4 에러감지신호의 펄스가 기 설정된 펄스 발생횟수 이상 발생하는 경우 인에이블되는 제1 내지 제4 에러정보신호를 생성하는 에러정보신호생성회로를 포함하는 반도체모듈.
  7. 제 6 항에 있어서,
    상기 제1 내부에러정정회로는 제1 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하고, 상기 제2 내부에러정정회로는 제2 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하며, 상기 제3 내부에러정정회로는 제3 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하고, 상기 제4 내부에러정정회로는 제4 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하는 반도체모듈.
  8. 제 6 항에 있어서, 상기 에러정보신호생성회로는
    기준정보를 입력받아 상기 제1 에러감지신호의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 상기 제1 에러정보신호를 생성하는 제1 카운터;
    상기 기준정보를 입력받아 상기 제2 에러감지신호의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 상기 제2 에러정보신호를 생성하는 제2 카운터;
    상기 기준정보를 입력받아 상기 제3 에러감지신호의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 상기 제3 에러정보신호를 생성하는 제3 카운터; 및
    상기 기준정보를 입력받아 상기 제4 에러감지신호의 펄스가 기 설정된 횟수 이상 발생하는 경우 인에이블되는 상기 제4 에러정보신호를 생성하는 제4 카운터를 포함하는 반도체모듈.
  9. 제 8 항에 있어서, 상기 기준정보는 상기 기 설정된 펄스 발생횟수 정보를 포함하는 신호인 반도체모듈.
  10. 제 6 항에 있어서, 상기 에러정보신호생성회로는
    상기 제1 내지 제4 에러감지신호의 펄스에 응답하여 카운팅되는 제1 내지 제4 카운팅신호를 생성하는 카운팅신호생성회로; 및
    상기 제1 내지 제4 카운팅신호와 기 설정된 횟수 정보를 포함하는 기준정보를 비교하여 상기 제1 내지 제4 에러정보신호를 생성하는 비교회로를 포함하는 반도체모듈.
  11. 제 10 항에 있어서, 상기 카운팅신호생성회로는
    상기 제1 에러감지신호의 펄스에 응답하여 카운팅되는 상기 제1 카운팅신호를 생성하는 제1 카운터;
    상기 제2 에러감지신호의 펄스에 응답하여 카운팅되는 상기 제2 카운팅신호를 생성하는 제2 카운터;
    상기 제3 에러감지신호의 펄스에 응답하여 카운팅되는 상기 제3 카운팅신호를 생성하는 제3 카운터; 및
    상기 제4 에러감지신호의 펄스에 응답하여 카운팅되는 상기 제4 카운팅신호를 생성하는 제4 카운터를 포함하는 반도체모듈.
  12. 제 1 항에 있어서, 상기 반도체장치의 상기 다수의 메모리칩에 대한 상기 에러스크럽동작은 순차적으로 수행되는 반도체모듈.
  13. 제 12 항에 있어서, 상기 컨트롤러는
    상기 리드동작 및 상기 에러스크럽동작을 수행하기 위한 커맨드를 생성하는 커맨드생성회로;
    제1 내지 제4 동작감지신호에 응답하여 순차적으로 인에이블되는 제1 내지 제4 메모리선택신호를 생성하는 에러스크럽제어회로; 및
    상기 에러스크럽동작이 수행되는 메모리칩의 데이터의 에러를 정정하여 상기 에러스크럽동작이 수행되는 메모리칩에 다시 저장하는 에러정정회로를 포함하는 반도체모듈.
  14. 제 13 항에 있어서, 상기 에러스크럽제어회로는
    상기 제4 동작감지신호가 입력되는 경우 인에이블되는 상기 제1 메모리선택신호를 생성하고, 상기 제1 동작감지신호가 입력되는 경우 인에이블되는 상기 제2 메모리선택신호를 생성하며, 상기 제2 동작감지신호가 입력되는 경우 인에이블되는 상기 제3 메모리선택신호를 생성하고, 상기 제3 동작감지신호가 입력되는 경우 인에이블되는 상기 제4 메모리선택신호를 생성하는 반도체모듈.
  15. 제 12 항에 있어서, 상기 반도체장치는
    제1 내부에러정정회로를 포함하고, 커맨드에 응답하여 상기 리드동작에 진입하여 제1 데이터를 출력하고, 상기 에러스크럽의 진입 시점에 인에이블되는 제1 동작개시신호를 생성하는 제1 메모리칩;
    제2 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작에 진입하여 제2 데이터를 출력하고, 상기 에러스크럽의 진입 시점에 인에이블되는 제2 동작개시신호를 생성하는 제2 메모리칩;
    제3 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작에 진입하여 제3 데이터를 출력하고, 상기 에러스크럽의 진입 시점에 인에이블되는 제3동작개시신호를 생성하는 제3 메모리칩;
    제4 내부에러정정회로를 포함하고, 상기 커맨드에 응답하여 상기 리드동작에 진입하여 제4 데이터를 출력하고, 상기 에러스크럽의 진입 시점에 인에이블되는 제4 동작개시신호를 생성하는 제4 메모리칩; 및
    상기 제1 내지 제4 동작개시신호에 응답하여 순차적으로 인에이블되는 제1 내지 제4 동작감지신호를 생성하는 동작감지신호생성회로를 포함하는 반도체모듈.
  16. 제 15 항에 있어서,
    상기 제1 내부에러정정회로는 제1 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하고, 상기 제2 내부에러정정회로는 제2 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하며, 상기 제3 내부에러정정회로는 제3 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하고, 상기 제4 내부에러정정회로는 제4 메모리선택신호에 응답하여 상기 리드동작 또는 상기 에러스크럽동작을 수행하는 반도체모듈.
  17. 제 15 항에 있어서, 상기 동작감지신호생성회로는
    상기 제1 동작개시신호가 입력되는 시점부터 소정구간 이후 인에이블되는 상기 제1 동작감지신호를 생성하는 제1 타이머;
    상기 제2 동작개시신호가 입력되는 시점부터 소정구간 이후 인에이블되는 상기 제2 동작감지신호를 생성하는 제2 타이머;
    상기 제3 동작개시신호가 입력되는 시점부터 소정구간 이후 인에이블되는 상기 제3 동작감지신호를 생성하는 제3 타이머; 및
    상기 제4 동작개시신호가 입력되는 시점부터 소정구간 이후 인에이블되는 상기 제4 동작감지신호를 생성하는 제4 타이머를 포함하는 반도체모듈.
  18. 다수의 메모리칩에 대한 리드동작 중 어느 하나의 메모리칩에 대한 에러스크럽동작을 수행하는 제1 단계; 및
    상기 다수의 메모리칩 중 상기 에러스크럽동작이 완료된 메모리칩을 제외한 어느 하나의 메모리칩에 대한 상기 에러스크럽동작을 수행하는 제2 단계를 포함하는 에러스크럽방법.
  19. 제 18 항에 있어서, 상기 제1 단계는 상기 다수의 메모리칩 중 에러발생 횟수가 기 설정횟수 이상 발생하는 상기 메모리칩에 대한 상기 에러스크럽동작이 수행되는 에러스크럽방법.
  20. 제 18 항에 있어서, 상기 제2 단계는 상기 다수의 메모리칩에 대한 에러스크럽동작이 순차적으로 수행되는 에러스크럽방법.
KR1020170158288A 2017-11-24 2017-11-24 에러스크럽방법 및 이를 이용한 반도체모듈 KR102410022B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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