KR102083498B1 - 선택적 ecc 동작을 수행하는 메모리 장치 - Google Patents

선택적 ecc 동작을 수행하는 메모리 장치 Download PDF

Info

Publication number
KR102083498B1
KR102083498B1 KR1020130016594A KR20130016594A KR102083498B1 KR 102083498 B1 KR102083498 B1 KR 102083498B1 KR 1020130016594 A KR1020130016594 A KR 1020130016594A KR 20130016594 A KR20130016594 A KR 20130016594A KR 102083498 B1 KR102083498 B1 KR 102083498B1
Authority
KR
South Korea
Prior art keywords
error correction
cell
ecc
data
address
Prior art date
Application number
KR1020130016594A
Other languages
English (en)
Other versions
KR20140005757A (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 US13/915,179 priority Critical patent/US9235466B2/en
Publication of KR20140005757A publication Critical patent/KR20140005757A/ko
Application granted granted Critical
Publication of KR102083498B1 publication Critical patent/KR102083498B1/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/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
    • 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
    • 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/14Implementation of control logic, e.g. test mode decoders
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Dram (AREA)

Abstract

본 발명은 선택적 ECC 동작을 수행하는 메모리 장치에 대하여 개시된다. 메모리 장치는 제1 비트라인들을 갖는 다수개의 제1 메모리 셀 블락들, 제2 비트라인들을 갖는 제2 메모리 셀 블락 그리고 ECC 유닛을 포함한다. 제2 메모리 셀 블락은 제1 메모리 셀 블락들의 불량 셀을 구제하는 패리티 비트들을 저장한다. ECC 유닛은 메모리 장치 외부에서 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행한다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정한다.

Description

선택적 ECC 동작을 수행하는 메모리 장치{Memory device with selective Error Correction Code}
본 발명은 반도체 메모리 장치에 관한 것으로, 특히 선택적 ECC 동작을 수행하여 불량 셀을 구제하는 메모리 장치 및 메모리 시스템에 관한 것이다.
반도체 메모리 장치의 메모리 용량은 제조 공정 기술의 발달로 증가하고 있다. 미세화 공정 기술이 진행됨에 따라 불량이 있는 메모리 셀들의 수도 증가하고 있다. 불량 셀들의 증가는 반도체 메모리 장치의 생산 수율을 감소시킬 뿐 아니라 메모리 용량을 보장하기 어렵게 한다. 불량 셀들을 구제하여 반도체 메모리 장치의 수율을 향상시키는 방법들이 요구된다.
본 발명이 이루고자 하는 기술적 과제는 불량 셀에 대해서만 선택적으로 ECC 동작을 수행하는 메모리 장치를 제공하는 데 있다.
본 발명의 일면에 따른 메모리 장치는, 제1 비트라인들에 연결되는 제1 메모리 셀들을 포함하는 다수개의 제1 메모리 셀 블락들, 제2 비트라인들에 연결되는 제2 메모리 셀들을 포함하고 제1 메모리 셀 블락들 내 제1 메모리 셀들 중 불량 셀을 구제하는 패리티 비트들을 제2 메모리 셀들에 저장하는 제2 메모리 셀 블락, 불량 셀의 어드레스를 저장하고 외부로부터 인가되는 커맨드에 응답하여 불량 셀의 어드레스와 외부로부터 억세스되는 어드레스를 비교하고 제1 제어 신호를 발생하는 제어 로직부, 그리고 제1 제어 신호에 응답하여 불량 셀의 에러 비트를 검출하고 정정하는 ECC 유닛을 포함한다.
본 발명의 실시예들에 따라, 제1 메모리 셀들과 제2 메모리 셀들은 워드라인들에 연결되고, 제1 메모리 셀 블락들과 제2 메모리 셀 블락은 워드라인들을 공유할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치는 제2 비트라인들의 수를 제1 메모리 셀 블락 각각의 제1 비트라인들의 수보다 적게 설정할 수 있다.
본 발명의 다른 면에 따른 메모리 장치는, 제1 워드라인들과 제1 비트라인들의 교차점들에 배열되는 제1 메모리 셀들을 포함하는 다수개의 제1 메모리 셀 블락들, 제2 워드라인들과 제2 비트라인들의 교차점에 배열되는 제2 메모리 셀들을 포함하고 제1 메모리 셀 블락들 내 제1 메모리 셀들 중 불량 셀과 연결되는 제1 워드라인에 대응하는 제2 워드라인에 연결되는 제2 메모리 셀들에 불량 셀을 구제하는 패리티 비트들을 저장하는 제2 메모리 셀 블락, 불량 셀의 어드레스를 저장하고 외부로부터 인가되는 커맨드에 응답하여 불량 셀의 어드레스와 외부로부터 억세스되는 어드레스를 비교하고 제1 제어 신호를 발생하는 제어 로직부, 그리고 제1 제어 신호에 응답하여 불량 셀의 에러를 검출하고 정정하는 ECC 유닛을 포함한다.
본 발명의 다양한 실시예들에 따라, 메모리 장치는 제2 워드라인들의 수를 제1 메모리 셀 블락들의 제1 워드라인들의 수보다 적게 설정할 수 있다.
본 발명의 또 다른 면에 따른 메모리 장치는, 워드라인들과 제1 비트라인들의 교차점들에 배열되는 제1 메모리 셀들을 포함하는 제1 메모리 셀 블락, 워드라인들과 제2 비트라인들의 교차점에 배열되는 제2 메모리 셀들을 포함하고 제1 메모리 셀 블락들 내 제1 메모리 셀들 중 불량 셀을 구제하는 패리티 비트들을 제2 메모리 셀들에 저장하는 제2 메모리 셀 블락, 외부로부터 억세스되는 어드레스가 불량 셀의 어드레스와 일치하는 경우 외부로부터 인가되는 제어 신호에 응답하여 불량 셀의 에러를 검출하고 정정하는 ECC 유닛을 포함한다.
본 발명의 다양한 실시예들에 따라, 제어 신호는 메모리 장치 외부에 연결되고, 불량 셀의 어드레스를 저장하고, 불량 셀의 어드레스와 억세스되는 어드레스가 일치하는 가를 판단하는 메모리 콘트롤러로부터 제공될 수 있다.
상술한 본 발명의 메모리 장치는 제1메모리 셀 블락 내 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC동작을 수행하고, 제2 메모리 셀 블락에 불량 셀에 대한 패리티 비트들을 저장한다. 이에 따라, 메모리 장치는 모든 메모리 셀에 대하여 패리티 비트들을 저장하는 ECC 동작을 수행하는 메모리 장치에 비하여 칩 사이즈 오버헤드를 줄일 수 있다.
도 1은 본 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 메모리 장치를 포함하는 메모리 시스템을 설명하는 제1 예의 도면이다.
도 2a 및 도 2b는 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제1 예의 블락 다이어그램이다.
도 3은 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제2 예의 블락 다이어그램이다.
도 4는 도 2의 제어 로직부를 설명하는 도면이다.
도 5는 도 3의 제어 로직부를 설명하는 제1 예의 도면이다.
도 6은 도 3의 제어 로직부를 설명하는 제2 예의 도면이다.
도 7은 도 6의 비교부를 설명하는 도면이다.
도 8은 도 6의 어드레스 저장 테이블을 설명하는 도면이다.
도 9는 본 발명의 다양한 실시예들에 따른 ECC 유닛을 설명하는 제1 예의 도면이다.
도 10은 본 발명의 다양한 실시예들에 따른 ECC 유닛을 설명하는 제2 예의 도면이다.
도 11은 본 발명의 다양한 실시예들에 따른 ECC 유닛을 설명하는 제3 예의 도면이다.
도 12는 도 11의 에러 정정부를 설명하는 도면이다.
도 13은 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제3 예의 블락 다이어그램이다.
도 14는 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제4 예의 도면이다.
도 15는 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제5 예의 도면이다.
도 16은 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제6 예의 도면이다.
도 17은 본 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 메모리 장치를 포함하는 메모리 시스템을 설명하는 제2 예의 도면이다.
도 18은 본 발명의 다양한 실시예들에 따른 메모리 장치의 블락 다이어그램을 설명하는 도면이다.
도 19 내지 도 21은 본 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 DRAM을 포함하는 메모리 모듈을 설명하는 도면들이다.
도 22는 본 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 DRAM 반도체 레이어들을 구비하는 적층 구조의 반도체 장치를 설명하는 도면이다.
도 23은 본 발명의 다양한 실시예에 따른 선택적 ECC 동작을 수행하는 DRAM을 포함하는 메모리 시스템을 설명하는 도면이다.
도 24는 본 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 DRAM을 포함하는 데이터 처리 시스템을 설명하는 도면이다.
도 25는 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 DRAM을 포함하는 서버 시스템을 설명하는 도면이다.
도 26은 본 발명에 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 DRAM이 장착된 컴퓨터 시스템을 설명하는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
반도체 메모리 장치, 예컨대 DRAM (dynamic Random Access Memory)의 메모리 용량은 제조 공정 기술의 발달로 증가하고 있다. 미세화 공정 기술이 진행됨에 따라 결함이 있는 메모리 셀들의 수도 증가하고 있다. 수율 확보를 위하여, 결함 메모리 셀들은 리던던트 메모리 셀들로 교체되어 리페어된다. 리던던트 리페어 스킴으로는 충분한 수율 확보가 불가능할 수 있다. 이에 따라, DRAM 내부에 ECC (Error Correction Code) 알고리즘을 적용하여 에러 비트들을 구제하는 방법이 제안되고 있다.
ECC 알고리즘은 데이터를 기록하고 읽는 과정에서 생길 수 있는 에러들을 검출하고, 이를 스스로 정정할 수 있는 ECC 기능을 제공한다. 데이터 무결성을 제공하기 위하여, DRAM은 ECC 유닛을 채용할 수 있다. ECC 유닛은 에러의 검출/정정하는 과정에서 패리티 비트들을 이용하는 ECC 동작을 수행한다. 이에 따라, DRAM은 패리티 비트들을 저장하기 위한 별도의 메모리 영역 확보가 필수적이다. 표 1에 나타낸 바와 같이, ECC 동작을 위해 패리티 비트들을 많이 쓸수록 정정할 수 있는 데이터 비트의 개수는 많아지지만 칩 사이즈 오버헤드가 커진다.
Data bit Error bit Parity bit Chip size overhead
8 1 4 50%
16 1 5 31%
32 1 6 18%
64 1 7 10%
128 1 8 6%
표 1에서, 데이터 비트 64 비트 단위로 ECC동작을 수행하면 10% 정도의 칩 사이즈 오버헤드가 생길 수 있다.
도 1은 본 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 메모리 장치를 포함하는 메모리 시스템을 설명하는 제1예의 도면이다.
도 1을 참조하면, 메모리 시스템(10)은 메모리 콘트롤러(12)와 메모리 장치(14)를 포함한다. 메모리 콘트롤러(12)는 메모리 장치(14)를 제어한다. 메모리 콘트롤러(12)는 명령(CMD), 로우 어드레스(RA), 칼럼 어드레스(CA) 등의 제어 신호들과 데이터(Data)를 메모리 장치(14)로 전송하고, 메모리 장치(14)로부터 데이터(Data)를 수신한다.
메모리 장치(14)는 제어 로직부(16)와 ECC유닛(18)을 포함한다. 제어 로직부(16)는 메모리 장치(14) 내 불량 메모리 셀들을 어드레싱하는 불량 어드레스들을 저장하는 불량 어드레스 저장부(17)를 포함한다. 불량 메모리 셀들에는 결함 셀들과 위크 셀들을 포함할 수 있다. 결함 셀들은 하드웨어적으로 불량인 셀들을 의미하고, 위크 셀들은 소프트웨어적으로 불량인 셀들을 의미한다. 위크 셀들에는 각종 소자 특성 저하를 나타내는 셀들. 예컨대, 짧은 리프레쉬 시간을 가지는 셀, 셀 기입 특성 저하 또는 가변적인 리텐션 시간(variable retention time)을 보이는 셀 등이 포함될 수 있다.
불량 어드레스 저장부(17)는 메모리 장치(14) 테스트 시 발생된 불량 어드레스를 저장할 수 있다. 또한, 불량 어드레스 저장부(17)는 메모리 장치(14)가 메모리 시스템(10)에 장착되어 동작하는 도중에 새롭게 발생하는 불량 어드레스를 저장할 수 있다. 불량 어드레스 저장부(17)는 추가로 발생되는 불량 어드레스를 업데이트시키면서 저장할 수 있다. 불량 어드레스 저장부(17)는 안티 퓨즈 어레이, CAM (Content Addressable Memory), 레지스터 또는 SRAM 과 같은 메모리 소자로 구현될 수 있다.
ECC유닛(18)은 메모리 장치(14) 내 불량 메모리 셀에 대해서만 패리티 비트들을 발생하고, 패리티 비트들을 이용하여 불량 메모리 셀의 에러를 검출하고 정정하는 선택적 ECC 동작을 수행한다.
도 2a 및 도 2b는 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제1 예의 블락 다이어그램이다.
도 2a를 참조하면, 메모리 장치(14a)는 도 1의 메모리 시스템(10)에 포함되는 메모리 장치(14)로 설명된다. 메모리 장치(14a)는 ECC 동작을 예컨대, 64 비트 단위로 수행한다. 메모리 장치(14a)는 다수개의 메인 메모리 셀 블락들(101-108)과 ECC용 메모리 셀 블락(109)을 포함한다. 메인 메모리 셀 블락들(101-108)은 메모리 장치(100)의 메모리 용량을 결정하는 메모리 블락이다. 메인 메모리 셀 블락(101-108) 각각에는 행들 및 열들로 배열되는 복수개의 메모리 셀들이 배열된다. ECC 용 메모리 셀 블락(109)에도, 메인 메모리 셀 블락(101-108)과 동일하게, 행들 및 열들로 배열되는 복수개의 메모리 셀들이 배열된다.
메인 메모리 셀 블락(101-108) 각각의 메모리 셀들에 저장된 데이터는 해당되는 데이터 입출력 패드(DQ0-DQ7)를 통하여 입출력되므로, 설명의 편의를 위하여, 메인 메모리 셀 블락(101-108)을 DQ0-DQ7 셀 블락(101-108)으로 칭한다. 그리고 ECC 용 메모리 셀 블락(109)은 ECC 셀 블락(109)이라 칭한다.
DQ0-DQ7 셀 블락들(101-108) 각각의 행들은 예컨대, 8K워드라인들(WL)로 구성되고, 열들은 예컨대, 1K 비트라인들(BL)로 구성될 수 있다. 워드라인들(WL)과 비트라인들(BL)의 교차점들에 연결되는 메모리 셀들은 DRAM (Dynamic Random Access Memory) 셀들로 구성될 수 있다. DQ0-DQ7 셀 블락들(101-108)의 워드라인들(WL)은 로우 어드레스들(RA0-RAm)에 의해 억세스되고, 비트라인들(BL)은 칼럼 어드레스들(CA0-CAn)에 의해 억세스된다. 로우 어드레스들(RA0-RAm)은 로우 디코더(111)를 통해 디코딩되고, 디코딩된 로우 어드레스들(RA0-RAm)에 의해 워드라인(WL)이 선택된다. 칼럼 어드레스들(CA0-CAn)은 칼럼 디코더(112)를 통해 디코딩된다. 칼럼 디코더(112)는 칼럼 어드레스들(CA0-CAn)을 디코딩하여 비트라인(BL)을 선택하는 칼럼 선택 신호들(CSL0-CSL127)을 발생한다. 비트라인들은 억세스할 수 있는 칼럼 로케이션들의 최대 수를 나타내는 버스트 길이 (Burst Length; BL)를 지원하기 위하여, BL에 해당하는 비트라인들이 동시에 억세스될 수 있다.
메모리 장치(14a)는 예시적으로, BL=8로 설정될 수 있다. 이에 따라, 비트라인들(BLs)은 128개의 칼럼 선택 신호들(CSL0-CSL127) 각각에 연결되는 칼럼 선택부(113)와 연결되고, 하나의 칼럼 선택부(113)에 의해 8개의 비트라인들(BLs)이 동시에 선택될 수 있다. 칼럼 선택부(113) 각각은 8개의 스위치들로 구성될 수 있으며, 칼럼 선택 신호(CSL0-CSL127)에 의해 턴온된다.
DQ0 셀 블락(101)에서, 로우 어드레스들(RA0-RAm)에 의해 억세스되는 워드라인(WL)에는 복수개의 메모리 셀들이 연결된다. 복수개의 메모리 셀들 중 8개의 메모리 셀들이 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되어 제1 데이터 라인들(GIO[0:7])과 연결된다. 제1 데이터 라인들(GIO[0:7]) 각각은 8 비트로 구성된다. DQ1 셀 블락(102)에서도, 워드라인(WL)에 연결된 복수개의 메모리 셀들 중 8개의 메모리 셀들이 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되어 제 2 데이터 라인들(GIO[8:15])과 연결된다. 나머지 DQ2-DQ7 셀 블락(103-108) 각각에서도 워드라인(WL)에 연결된 복수개의 메모리 셀들 중 8개의 메모리 셀들이 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되어, 해당되는 제 3 내지 제8 데이터 라인들(GIO[56:63])과 연결된다.
메모리 장치(14a)에서, DQ0-DQ7 셀 블락들(101-108)에 기입될 데이터들(Data[0:63])이 제1 내지 제8 데이터 라인들(GIO[0:63])로 전달된다. 제1 내지 제8 데이터 라인들(GIO[0:63]) 각각을 통하여 DQ0-DQ7 셀 블락(101-108) 각각에 기입될 제1 내지 제8 버스트 데이터들, 총 64 비트 데이터(Data[0:63])가 수신된다. 수신된 64 비트 데이터(Data[0:63])는 워드라인(WL)에 연결된 복수개의 메모리 셀들 중 예컨대, CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되는 DQ0-DQ7 셀 블락(101-108) 각각의 8개의 메모리 셀들에 기입된다.
ECC 셀 블락(109)은 DQ0-DQ7 셀 블락(101-108) 내 하나의 워드라인(WL)에 연결되는 메모리 셀들 중1개 불량 셀이 있는 경우, 이 하나의 불량 셀을 구제하는 용도로 사용된다. 예컨대, 워드라인(WL)과 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되는 DQ0-DQ7 셀 블락(101-108)의 메모리 셀들 중 DQ0 셀 블락(101) 내 불량 셀(● 표시)이 하나 있을 수 있다. 불량 셀(● 표시)은 DQ0 셀 블락(101)의 불량 셀이 아니라, DQ1-DQ7 셀 블락(101-108) 내 워드라인(WL)과 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되는 메모리 셀들 중에서 발생되는 어느 하나의 불량 셀일 수도 있다. ECC 셀 블락(109)은 제어 로직부(16)와 ECC 유닛(18)에 의해 제어되고, DQ0-DQ7 셀 블락(101-108)의 불량 셀을 검출하고 정정하는 용도로 사용된다.
ECC 셀 블락(109)은, DQ0-DQ7 셀 블락(101-108)과 동일하게, 예컨대, 8K워드라인들로 구성된다. ECC 셀 블락(109)은, DQ0-DQ7 셀 블락(101-108)과는 다르게, 8개 비트라인들로 구성된다. ECC 셀 블락(109)의 워드라인들(WL)과 비트라인들(BL)의 교차점들에 연결되는 메모리 셀들도 DRAM 셀들로 구성된다. ECC 셀 블락(109)에서, 8개의 비트라인들(BLs)은 패리티 데이터 라인(ECCP[0:7])과 연결된다. 패리티 데이터 라인(ECCP[0:7])으로는 DQ0-DQ7 셀 블락(101-108)의 불량 셀에 저장되는 데이터(Data[0:63])에 대한 패리티 비트들이 전달된다. 패리티 비트들은 패리티 데이터 라인(ECCP[0:7])를 통하여 ECC블락(109) 내 8개의 메모리 셀들에 저장되고 독출된다. 이 때, ECC 셀 블락(109)의 8개 메모리 셀들은 불량 셀의 워드라인(WL)과 동일한 워드라인(WL)에 연결된다.
제어 로직부(16)는 메모리 콘트롤러(12, 도 1)로부터 독출 동작 또는 기입 동작 등을 지시하는 커맨드(CMD)와, 해당 커맨드(CMD)와 함께 억세스되는 로우 어드레스(RA0-RAm) 및 칼럼 어드레스(CA0-CAn)를 수신한다. 제어 로직부(16)는 억세스되는 로우 어드레스(RA0-RAm) 및 칼럼 어드레스(CA0-CAn)와 불량 어드레스 저장부(17, 도 1)에 저장된 불량 셀 어드레스를 비교한다. 제어 로직부(16)는 비교 결과, 불량 셀 어드레스와 억세스되는 로우 어드레스(RA0-RAm) 및 칼럼 어드레스(CA0-CAn)가 일치하는 경우 ECC 매치 신호(ECCMTCH_EN)를 발생한다. 또한, 제어 로직부(16)는 커맨드(CMD)에 응답하여 ECC (Error Correction Code) 디코딩 및 인코딩 동작을 지시하는 ECC 지시 신호(DEC_EN)를 발생한다. 제어 로직부(16)는 독출 동작의 커맨드(CMD)에 응답하여 예컨대, 로직 하이 레벨의 ECC 지시 신호(DEC_EN)를 발생하고 ECC 디코딩 동작을 지시한다. 제어 로직부(16)는 기입 동작의 커맨드(CMD)에 응답하여 로직 로우 레벨의 ECC 지시 신호(DEC_EN)를 발생하고 ECC 인코딩 동작을 지시한다.
ECC 유닛(18)은 ECC 지시 신호(DEC_EN) 및 ECC 매치 신호(ECCMTCH_EN)에 응답하여 DQ0-DQ7 셀 블락(101-108)의 불량 셀을 검출하고 정정한다. ECC 유닛(18)은 기입 동작시, ECC 매치 신호(ECCMTCH_EN)에 응답하여 메모리 콘트롤러(12, 도 1)로부터 수신되는 기입 데이터(Data[0:63])에 대하여 패리티 비트들을 발생하고 패리티 데이터 라인(ECCP[0:7])으로 전달한다. 패리티 데이터 라인(ECCP[0:7]) 상의 패리티 비트들은 불량 셀의 워드라인(WL)과 연결되는 ECC 셀 블락(109)의 메모리 셀들에 저장된다.
ECC 유닛(18)은 독출 동작시, ECC 매치 신호(ECCMTCH_EN)에 응답하여, 제1 내지 제8 데이터 라인들(GIO[0:63])으로 전달되는 데이터와 패리티 데이터 라인(ECCP[0:7])으로 전달되는 데이터를 수신한다. 제1 내지 제8 데이터 라인들(GIO[0:63])으로 전달되는 데이터는 DQ0-DQ7 셀 블락(101-108) 내 불량 셀의 워드라인(WL)과 연결되는 메모리 셀들에 저장된 데이터이고, 패리티 데이터 라인(ECCP[0:7])으로 전달되는 데이터는 ECC 셀 블락(109) 내 해당 워드라인(WL)과 연결되는 메모리 셀들에 저장된 패리티 비트들이다. ECC 유닛(18)은, 제1 내지 제8 데이터 라인들(GIO[0:63]) 및 패리티 데이터 라인(ECCP[0:7])으로 전달된 데이터를 이용하여, 신드롬 데이터를 발생하고, 불량 셀의 위치, 즉 에러 비트 위치를 계산하고, 에러 비트 위치에 대응하는 데이터를 정정하고, 에러 정정된 데이터(Data[0:63])를 출력한다.
도 2a에서는 워드라인(WL)과 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되는 DQ0-DQ7 셀 블락(101-108)의 메모리 셀들 중 DQ0 셀 블락(101) 내 불량 셀(● 표시)이 하나 있는 경우, 해당 불량 셀을 포함하는 메모리 셀들에 기입될 데이터(Data[0:63])에 대하여 패리티 비트들을 발생하고, 해당 워드라인(WL)과 연결되는 ECC 셀 블락(109)의 메모리 셀들에 패리티 비트들을 저장하는 예에 대하여 설명하였다. CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되는 DQ0-DQ7 셀 블락(101-108)의 메모리 셀들 중 다른 워드라인들에 연결되는 메모리 셀들에 불량 셀이 발생할 수 있다. 이 경우, 메모리 장치(14b)는 도 2b에 도시된 바와 같이, DQ0-DQ7 셀 블락(101-108) 내 다수개의 불량 셀들에 대하여 에러 비트들을 검출하고 정정한다.
도 2b를 참조하면, 메모리 장치(14a)는 제1 워드라인(WL1)과 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되는 DQ0-DQ7 셀 블락(101-108)의 메모리 셀들 중 DQ0 셀 블락(101) 내 불량 셀(● 표시)이 하나 있는 경우, 해당 불량 셀을 포함하는 메모리 셀들에 기입될 데이터(Data[0:63])에 대한 패리티 비트들은 제1 워드라인(WL1)과 연결되는 ECC 셀 블락(109)의 메모리 셀들에 저장된다. 메모리 장치(14a)는 제2 워드라인(WL2)과 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되는 DQ0-DQ7 셀 블락(101-108)의 메모리 셀들 중 DQ1 셀 블락(102) 내 불량 셀(● 표시)이 하나 있는 경우, 해당 불량 셀을 포함하는 메모리 셀들에 기입될 데이터(Data[0:63])에 대한 패리티 비트들은 제2 워드라인(WL1)과 연결되는 ECC 셀 블락(109)의 메모리 셀들에 저장된다. 마찬가지로, 메모리 장치(14a)는 제3 및 제4 워드라인(WL3, WL4) 각각과 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(113)에 의해 선택되는 DQ0-DQ7 셀 블락(101-108)의 메모리 셀들 중 DQ2 및 DQ7 셀 블락(103, 108) 각각에 불량 셀(● 표시)이 하나씩 있는 경우, 해당 불량 셀을 포함하는 메모리 셀들에 기입될 데이터(Data[0:63])에 대한 패리티 비트들 각각은 제3 및 제4 워드라인(WL3, WL4) 각각과 연결되는 ECC 셀 블락(109)의 메모리 셀들에 저장된다.
메모리 장치(14b)는, 기입 동작에서, DQ0-DQ7 셀 블락(101-108) 내 불량 셀들의 제1 내지 제4 워드라인(WL1-WL4) 각각에 연결되는 메모리 셀들에 저장되는 데이터 각각에 대하여 패리티 비트들을 발생하고, ECC 셀 블락(109) 내 해당 워드라인들(WL1-WL4) 각각에 연결되는 메모리 셀들에 패리티 비트들을 저장한다. 메모리 장치(14b)는, 독출 동작에서, DQ0-DQ7 셀 블락(101-108) 내 불량 셀들의 제1 내지 제4 워드라인(WL1-WL4) 각각에 연결되는 메모리 셀들에서 제1 내지 제8 데이터 라인들(GIO[0:63])로 전달되는 독출 데이터와 ECC 셀 블락(109) 내 해당 워드라인들(WL1-WL4) 각각에 연결되는 메모리 셀들에서 패리티 데이터 라인(ECCP[0:7])으로 전달되는 패리티 비트 데이터를 이용하여, 불량 셀들의 에러 비트를 검출하고 정정한다.
도 3은 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제2 예의 블락 다이어그램이다.
도 3을 참조하면, 메모리 장치(14b)는 도 1의 메모리 시스템(10)에 포함되는 메모리 장치(14)로 설명된다. 메모리 장치(14b)는, 로우 어드레스(RA[0:m])에 의해 억세스되는 워드라인(WL)에 연결되는 메모리 셀들 중 2개 이상의 결함 셀들이 있는 경우, 2 비트 이상의 에러들을 검출하고, 이를 정정하는 ECC 셀 블락(209)를 포함한다. 메모리 장치(14b)는, 도 2a의 메모리 장치(14a)와 비교하여, ECC 셀 블락(209)이 32개의 비트라인들(BLs)을 포함한다는 점에서 차이가 있다. ECC 셀 블락(209)은, 32개 비트라인들(BLs) 이외에, DQ0 셀 블락(101)의 비트라인(BL) 수가 1K개 인 경우에 (1K-8)개 비트라인들(BLs)을 더 포함할 수 있다. 즉, ECC 셀 블락(209)의 비트라인들(BLs)의 수는 DQ0-DQ7 셀 블락(101-108) 각각의 비트라인들(BLs)의 수보다 적게 설정될 수 있다. 도 3에서, 도 2에서와 동일한 참조 부호는 동일 부재를 나타내며, 설명의 간략화를 위하여 이들에 대한 상세한 설명은 생략한다.
ECC 셀 블락(209)의 비트라인들(BLs)은 4개의 ECC 칼럼 선택 신호들(ECSL0-ECSL3)에 연결되는 ECC 칼럼 선택부들(213, 213a-213c)과 연결되고, ECC 칼럼 선택부(213, 213a-213c) 각각에 의해 8개의 비트라인들(BLs)이 동시에 선택될 수 있다. ECC 칼럼 선택 신호들(ECSL0-ECSL3)은 ECC 칼럼 어드레스들(ECA0-ECAi)을 디코딩하는 ECC 칼럼 디코더(212)에 의해 발생된다. ECC 칼럼 어드레스들(ECA0-ECAi)는 제어 로직부(16)에서 제공된다. ECC 칼럼 선택부(213, 213a-213c) 각각은 8개의 스위치들로 구성될 수 있으며, ECC 칼럼 선택 신호(ECSL0-ECSL3)에 의해 턴온된다.
ECC 셀 블락(209)은 DQ0-DQ7 셀 블락(101-108) 내 로우 어드레스(RA[0:m])에 의해 억세스되는 워드라인(WL)에 연결되는 메모리 셀들 중 서로 다른 칼럼 선택부(113, 113a-113c)에 의해 억세스되는 불량 셀이 4개인 경우, 즉, 4 비트 에러를 검출하고, 이를 정정하여 4개 불량 셀들을 구제하는 용도로 사용된다. 즉, ECC 셀 블락(209)은 DQ0-DQ7 셀 블락(101-108)의 4 비트 에러를 검출하고 정정하는 용도로 사용된다.
예컨대, 로우 어드레스(RA[0:m])에 의해 억세스되는 워드라인(WL)에 연결되는 메모리 셀들 중에서 CSL0 칼럼 선택 신호에 연결되는 칼럼 선택부(113)에 의해 선택되는 불량 셀(● 표시)이 DQ0 셀 블락(101)에 하나 있고, CSL2 칼럼 선택 신호에 연결되는 칼럼 선택부(113a)에 의해 선택되는 불량 셀(● 표시)이 DQ1 셀 블락(102)에 하나 있고, CSL5 칼럼 선택 신호에 연결되는 칼럼 선택부(113b)에 의해 선택되는 불량 셀(● 표시)이 DQ2 셀 블락(103)에 하나 있고, CSL127 칼럼 선택 신호에 연결되는 칼럼 선택부(113c)에 의해 선택되는 불량 셀(● 표시)이 DQ7 셀 블락(108)에 하나 있는 경우를 들어보자.
기입 동작시, DQ0-DQ7(101-108) 블락 내 워드라인(WL)과 CSL0 칼럼 선택 신호에 연결되는 칼럼 선택부(113)에 의해 선택되는 메모리 셀들에 저장될 64 비트 기입 데이터들(Data[0:63])은 DQ0-DQ7 셀 블락(101-108) 내 해당 메모리 셀들로 제공되고, ECC 유닛(18)은 기입 데이터(Data[0:63])에 대하여 패리티 비트들을 발생하고 패리티 데이터 라인(ECCP[0:7])으로 전달한다. 패리티 데이터 라인(ECCP[0:7]) 상의 패리티 비트들은 ECC 셀 블락(209) 내 워드라인(WL)과 ECC 칼럼 선택 신호(ECSL0)에 연결되는 칼럼 선택부(213)에 의해 선택되는 메모리 셀들에 패리티 비트들이 저장된다.
DQ0-DQ7(101-108) 블락 내 워드라인(WL)과 CSL2 칼럼 선택 신호에 연결되는 칼럼 선택부(113a)에 의해 선택되는 메모리 셀들에 저장될 64 비트 기입 데이터들(Data[0:63])은 DQ0-DQ7 셀 블락(101-108) 내 해당 메모리 셀들로 제공되고, ECC 유닛(18)은 기입 데이터(Data[0:63])에 대하여 패리티 비트들을 발생하고, 패리티 비트들은 ECC 셀 블락(209) 내 워드라인(WL)과 ECC 칼럼 선택 신호(ECSL1)에 연결되는 칼럼 선택부(213a)에 의해 선택되는 메모리 셀들에 패리티 비트들이 저장된다.
DQ0-DQ7(101-108) 블락 내 워드라인(WL)과 CSL5 칼럼 선택 신호에 연결되는 칼럼 선택부(113b)에 의해 선택되는 메모리 셀들에 저장될 64 비트 기입 데이터들(Data[0:63])은 DQ0-DQ7 셀 블락(101-108) 내 해당 메모리 셀들로 제공되고, ECC 유닛(18)은 기입 데이터(Data[0:63])에 대하여 패리티 비트들을 발생하고, 패리티 비트들은 ECC 셀 블락(209) 내 워드라인(WL)과 ECC 칼럼 선택 신호(ECSL2)에 연결되는 칼럼 선택부(213b)에 의해 선택되는 메모리 셀들에 패리티 비트들이 저장된다.
DQ0-DQ7(101-108) 블락 내 워드라인(WL)과 CSL127 칼럼 선택 신호에 연결되는 칼럼 선택부(113c)에 의해 선택되는 메모리 셀들에 저장될 64 비트 기입 데이터들(Data[0:63])은 DQ0-DQ7 셀 블락(101-108) 내 해당 메모리 셀들로 제공되고, ECC 유닛(18)은 기입 데이터(Data[0:63])에 대하여 패리티 비트들을 발생하고, 패리티 비트들은 ECC 셀 블락(209) 내 워드라인(WL)과 ECC 칼럼 선택 신호(ECSL3)에 연결되는 칼럼 선택부(213c)에 의해 선택되는 메모리 셀들에 패리티 비트들이 저장된다.
독출 동작시, DQ0-DQ7 셀 블락들(101-108) 내 워드라인(WL)과 CSL0 칼럼 선택 신호에 연결되는 칼럼 선택부(113)에 의해 선택되는 메모리 셀들에 저장된 64 비트 데이터와, 워드라인(WL)과 ECC 칼럼 선택 신호(ECSL0)에 연결되는 ECC 칼럼 선택부(213)에 의해 선택되는 메모리 셀들에 저장된 8 비트의 패리티 비트들을 독출하여 ECC 유닛(18)으로 제공한다. ECC 유닛(18)은 워드라인(WL)과 칼럼 선택부(113)에 의해 선택되는 메모리 셀들 중 불량 셀의 비트 에러 위치를 검출하고, 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정한다.
DQ0-DQ7 셀 블락들(101-108) 내 워드라인(WL)과 CSL2 칼럼 선택 신호에 연결되는 칼럼 선택부(113a)에 의해 선택되는 메모리 셀들에 저장된 64 비트 데이터와, 워드라인(WL)과 ECC 칼럼 선택 신호(ECSL1)에 연결되는 ECC 칼럼 선택부(213a)에 의해 선택되는 메모리 셀들에 저장된 8 비트의 패리티 비트들을 독출하여 ECC 유닛(18)으로 제공한다. ECC 유닛(18)은 워드라인(WL)과 칼럼 선택부(113a)에 의해 선택되는 메모리 셀들 중 불량 셀의 비트 에러 위치를 검출하고, 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정한다.
DQ0-DQ7 셀 블락들(101-108) 내 워드라인(WL)과 CSL5 칼럼 선택 신호에 연결되는 칼럼 선택부(113b)에 의해 선택되는 메모리 셀들에 저장된 64 비트 데이터와, 워드라인(WL)과 ECC 칼럼 선택 신호(ECSL2)에 연결되는 ECC 칼럼 선택부(213b)에 의해 선택되는 메모리 셀들에 저장된 8 비트의 패리티 비트들을 독출하여 ECC 유닛(18)으로 제공한다. ECC 유닛(18)은 워드라인(WL)과 칼럼 선택부(113b)에 의해 선택되는 메모리 셀들 중 불량 셀의 비트 에러 위치를 검출하고, 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정한다.
DQ0-DQ7 셀 블락들(101-108) 내 워드라인(WL)과 CSL127 칼럼 선택 신호에 연결되는 칼럼 선택부(113c)에 의해 선택되는 메모리 셀들에 저장된 64 비트 데이터와, 워드라인(WL)과 ECC 칼럼 선택 신호(ECSL3)에 연결되는 ECC 칼럼 선택부(213c)에 의해 선택되는 메모리 셀들에 저장된 8 비트의 패리티 비트들을 독출하여 ECC 유닛(18)으로 제공한다. ECC 유닛(18)은 워드라인(WL)과 칼럼 선택부(113c)에 의해 선택되는 메모리 셀들 중 불량 셀의 비트 에러 위치를 검출하고, 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정한다.
따라서, ECC 유닛(18)은 DQ0-DQ7 셀 블락(101-108) 내 불량 셀들에 의한 4 비트 에러 위치를 검출하고 에러 정정된 데이터(Data[0:63])를 출력할 수 있다.
도 4는 도 2의 제어 로직부를 설명하는 도면이다.
도 4를 참조하면, 제어 로직부(16a)는 로우 어드레스 저장부(402), 제1 비교부(404), 칼럼 어드레스 저장부(406) 그리고 제2 비교부(408)를 포함한다. 로우 어드레스 저장부(402)는 불량 셀의 로우 어드레스들(FRA[0:m])를 저장하고, 칼럼 어드레스 저장부(306)는 불량 셀의 칼럼 어드레스(FCA[0:n])를 저장한다.
제1 비교부(404)는 메모리 콘트롤러(12, 도 1)로부터 독출 동작 또는 기입 동작 등을 지시하는 커맨드(CMD)와, 해당 커맨드(CMD)와 함께 억세스되는 로우 어드레스(RA[0:m])를 수신한다. 제1 비교부(404)는 로우 어드레스 저장부(402)에 저장된 불량 셀의 로우 어드레스들(FRA[0:m])와 억세스되는 로우 어드레스(RA[0:m])를 비교한다. 제1 제어부(404)는 비교 결과로서 로우 매치 신호(ROW_MTCH)와 해당 불량 셀의 칼럼 어드레스 위치 신호(POS[0:a])를 발생하고 칼럼 어드레스 저장부(406)으로 전달한다.
칼럼 어드레스 저장부(406)는 로우 매치 신호(ROW_MTCH)에 응답하여 칼럼 어드레스 위치 신호(POS[0:a])에 대응하는 불량 셀의 칼럼 어드레스(FCA[0:n])를 제2 비교부(408)로 제공한다. 제2 비교부(408)는 해당 커맨드(CMD)와 함께 억세스되는 칼럼 어드레스(CA[0:n])를 수신하고, 칼럼 어드레스 저장부(406)에서 제공되는 불량 셀의 칼럼 어드레스(FCA[0:n])와 억세스되는 칼럼 어드레스(CA[0:n])를 비교한다. 제2 비교부(408)는 비교 결과로서 ECC 매치 신호(ECCMTCH_EN)를 발생하고 ECC 유닛(18)으로 전달한다.
ECC 유닛(18)은, 기입 동작시 ECC 매치 신호(ECCMTCH_EN)에 응답하여, 기입 데이터(Data[0:63])에 대하여 패리티 비트들을 발생하고, 기입 데이터(Data[0:63])와 패리티 비트들을 제1 내지 제8 데이터 라인들(GIO[0:63]) 및 패리티 데이터 라인(ECCP[0:7])을 통해 DQ0-DQ7 셀 블락(101-108)과 ECC 셀 블락(109)의 셀 어레이 블락에 저장한다. 또한, ECC 유닛(18)은 독출 동작시 ECC 매치 신호(ECCMTCH_EN)에 응답하여, DQ0-DQ7 셀 블락(101-108)과 ECC 셀 블락(109)의 셀 어레이 블락으로부터 제1 내지 제8 데이터 라인들(GIO[0:63]) 및 패리티 데이터 라인(ECCP[0:7])으로 전달되는 데이터를 이용하여, 신드롬 데이터를 발생하고, 불량 셀의 위치, 즉 에러 비트 위치를 계산하고, 에러 비트 위치에 대응하는 데이터를 정정하고, 에러 정정된 데이터(Data[0:63])를 출력한다.
도 5는 도 3의 제어 로직부를 설명하는 제1예의 도면이다.
도 5를 참조하면, 제어 로직부(16b)는, 도 4의 제어 로직부(16a)와 비교하여, 제2 비교부(508)가 불량 셀의 칼럼 어드레스(FCA[0:n])와 억세스되는 칼럼 어드레스(CA[0:n])를 비교하여 ECC 매치 신호(ECCMTCH_EN)와 ECC 칼럼 어드레스(ECA[0:i])를 발생한다는 점에서 차이가 있다. 도 5에서, 도 4에서와 동일한 참조 부호는 동일 부재를 나타내며, 설명의 간략화를 위하여 이들에 대한 상세한 설명은 생략한다.
앞서 도 3에서, 로우 어드레스(RA[0:m])에 의해 억세스되는 워드라인(WL)에 연결되는 메모리 셀들 중 DQ0, DQ1, DQ2, DQ7 셀 블락(101, 102, 103, 108)에서 CSL0, CSL2, CSL5, CSL127 칼럼 선택 신호들에 의해 선택되는 칼럼 선택부들(113, 113a, 113b, 113c)에 연결되는 메모리 셀들 중에 4개 불량 셀들이 존재한다. 즉, 하나의 불량 로우 어드레스(FRA[0:m])에 대하여 4개의 불량 칼럼 어드레스(FCA[0:n])가 존재한다. 이에 따라, 제1 제어부(404)에서는 로우 어드레스 저장부(402)에 저장된 불량 셀의 로우 어드레스들(FRA[0:m])와 억세스되는 로우 어드레스(RA[0:m])를 비교하고, 로우 매치 신호(ROW_MTCH)와 4개의 해당 불량 셀들의 칼럼 어드레스 위치 신호(POS[0:a])를 발생한다.
제2 비교부(508)는 칼럼 어드레스 저장부(406)에서 제공되는 4개의 해당 불량 셀들의 칼럼 어드레스(FCA[0:n])와 억세스되는 칼럼 어드레스(CA[0:n])를 비교하고, ECC 매치 신호(ECCMTCH_EN)와 ECC 칼럼 어드레스(ECA[0:i])를 발생한다. ECC 매치 신호(ECCMTCH_EN)는 ECC 유닛(18)으로 전달된다. ECC 유닛(18)은 기입 동작에서DQ0-DQ7 셀 블락(101-108) 내 불량 셀을 포함하는 메모리 셀들에 기입될 데이터(Data[0:63])에 대한 패리티 비트들을 발생한다. ECC 유닛(18)은 독출 동작에서 불량 셀을 포함하는 메모리 셀들로부터 제1 내지 제8 데이터 라인들(GIO[0:63])을 통해 독출되는 데이터와 패리티 데이터 라인(ECCP[0:7])으로 전달되는 패리티 비트를 이용하여 에러 비트 데이터를 정정하고, 에러 정정된 데이터(Data[0:63])를 출력한다.
ECC 칼럼 어드레스(ECA[0:i])는 ECC 칼럼 디코더(212)로 제공되고, ECC 칼럼 디코더(212)는 ECC 칼럼 어드레스(ECA[0:i])를 디코딩하여 ECC 칼럼 선택 신호들(ECSL0-ECSL3)을 발생한다. ECC 칼럼 선택 신호(ECSL0-ECSL3)는 ECC 칼럼 선택부(213, 213a-213c)에 연결되고, DQ0-DQ7 셀 블락(101-108) 내 불량 셀을 포함하는 메모리 셀들에 기입될 데이터(Data[0:63])에 대한 패리티 비트들을 저장하는 ECC 셀 블락(209)의 메모리 셀들을 선택한다.
도 6은 도 3의 제어 로직부를 설명하는 제2예의 도면이다.
도 6을 참조하면, 제어 로직부(16c)는 테이블 포인터(601), 어드레스 저장 테이블(602), 센싱부(603), 제1 및 제2 비교부들(604, 608), 로직부(610) 그리고 버퍼부(612)를 포함한다. 테이블 포인터(601)는 메모리 콘트롤러(12, 도 1)로부터 독출 동작 또는 기입 동작 등을 지시하는 커맨드(CMD)에 응답하여 포인터 신호(TPS)를 발생한다. 포인터 신호(TPS)는 어드레스 저장 테이블(602)의 위치 정보를 제공한다.
어드레스 저장 테이블(602)은 불량 셀의 로우 어드레스(FRA[0:m]) 및 칼럼 어드레스(FCA[0:n]), 그리고 ECC 칼럼 어드레스(ECA[0:i])를 저장한다. 어드레스 저장 테이블(602)는 안티 퓨즈 어레이 또는 CAM (Content Addressable Memory)으로 구성될 수 있다. 센싱부(603)는 포인터 신호(TPS)에 응답하여, 포인터 신호(TPS)의 해당 위치에 저장된 어드레스 저장 테이블(602) 내 불량 셀의 로우 어드레스(FRA[0:m]) 및 칼럼 어드레스(FCA[0:n]), 그리고 ECC 칼럼 어드레스(ECA[0:i])를 출력한다.
제1 비교부(604)는 어드레스 저장 테이블(602)에서 출력되는 불량 셀의 로우 어드레스들(FRA[0:m])와 억세스되는 로우 어드레스(RA[0:m])를 비교한다. 제1 비교부(604)는 비교 결과 일치하는 경우, 예컨대 로직 하이 레벨의 제1 비교 신호(COMP1)를 출력할 수 있다. 제2 비교부(608)는 어드레스 저장 테이블(602)에서 출력되는 불량 셀의 칼럼 어드레스들(FCA[0:n])와 억세스되는 칼럼 어드레스(CA[0:n])를 비교한다. 제2 비교부(608)는 비교 결과 일치하는 경우, 예컨대 로직 하이 레벨의 제2 비교 신호(COMP2)를 출력할 수 있다.
로직부(610)는 제1 비교 신호(COMP1)와 제2 비교 신호(COMP2)를 논리 곱하여 ECC 매치 신호(ECCMTCH_EN)를 발생한다. 로직부(610)는 로직 하이 레벨의 제1 비교 신호(COMP1) 및 제2 비교 신호(COMP2)에 응답하여 로직 하이 레벨의 ECC 매치 신호(ECCMTCH_EN)를 발생한다. 버퍼부(612)는 ECC 매치 신호(ECCMTCH_EN)에 응답하여 어드레스 저장 테이블(602)에서 출력되는 ECC 칼럼 어드레스(ECA[0:i])를 출력한다.
도 7은 도 6의 비교부를 설명하는 도면이다.
도 7을 참조하면, 제1 비교부(604)는 불량 셀의 로우 어드레스(FRA[0:m]) 비트 각각과 억세스되는 로우 어드레스(RA[0:m]) 비트 각각을 비교하는 XNOR 게이트(701)를 포함한다. XNOR 게이트들(701)의 출력들은 AND 게이트(702)로 입력되고, AND 게이트(702)는 제1 비교 신호(COMP)를 출력한다.
제1 비교부(604)의 구성은 도 6의 제2 비교부(608)의 구성과 동일할 수 있다. 다만, 제2 비교부(608)의 XNOR 게이트는 불량 셀의 칼럼 어드레스(FCA[0:m]) 비트 각각과 억세스되는 칼럼 어드레스(CA[0:m]) 비트 각각을 비교한다는 점에서 차이가 있다.
도 8은 도 6의 어드레스 저장 테이블을 설명하는 도면이다.
도 8을 참조하면, 어드레스 저장 테이블(602)은 다수개의 안티 퓨즈들(802)을 포함하는 안티 퓨즈 어레이로 구성될 수 있다. 안티 퓨즈(802)는 안티-퓨즈는 퓨즈 소자와 반대되는 전기적 특성을 갖는 것으로서, 프로그램 되지 않은 상태에서는 높은 저항 값을 갖는 반면 프로그램 된 상태에서는 낮은 저항 값을 갖는 저항성 퓨즈 소자이다.
안티-퓨즈(802)는 일반적으로 도전체 사이에 유전체가 삽입되어 있는 형태로 구성되며, 안티-퓨즈(802) 양단의 도전체를 통해 고전압을 인가하여 양 도전체 사이의 유전체를 파괴함으로써 안티-퓨즈를 프로그램한다. 프로그램의 결과, 안티-퓨즈의 양 단의 도전체가 단락되어 낮은 저항 값을 가질 수 있다.
안티 퓨즈(802)는 소스(4)와 드레인(5)이 연결된 디플리션 타입의 MOS 트랜지스터로 구성된다. 초기 상태에서, 게이트 전극(3)에 연결된 제1 노드(6)와 소스(4)와 드레인(5)에 공통으로 연결된 제2 노드(7) 사이의 저항은, 이들 사이가 게이트 산화막에 의해 분리되어 있기 때문에, 매우 크다. 이에 따라, 제1 노드(6)와 제2 노드(7) 사이는 비도통 상태이다. 예컨대, 이 상태를 프로그램 되지 않은 상태인 로직 "로우"로 설정할 수 있다.
안티 퓨즈(802)는, 제1 노드(6)와 제2 노드(7) 사이에 브레이크다운 전압을 인가함으로써 게이트 산화막을 파괴시켜, 비도통 상태에서 도통 상태로 불개변성으로(irreversibly) 바뀌어질 수 있다. 게이트 산화막이 파괴되면, 제1 노드(6)와 제2 노드(7) 사이의 저항은 낮아진다. 이 상태를 프로그램 된 상태인 로직 "하이"라고 설정할 수 있다.
어드레스 저장 테이블(602)은 안티 퓨즈들(802)을 선택적으로 프로그램하여 DQ0-DQ7(101-108, 도 3) 내 불량 셀의 로우 어드레스(FRA[0:m]) 및 칼럼 어드레스(CA[0:n])를 저장하고, 불량 셀에 대한 패리티 비트들을 저장하는 ECC 셀 블락(209)의 메모리 셀들을 어드레싱하는 ECC 칼럼 어드레스(ECA[0:i])를 저장할 수 있다. 어드레스 저장 테이블(602)는 포인터 신호(TPS)에 응답하여 불량 셀의 로우 어드레스(FRA[0:m])는 제1 비교부(604, 도 6)로 제공하고, 불량 셀의 칼럼 어드레스(FCA[0:n])는 제2 비교부(608, 도 6)로 제공하고, ECC 칼럼 어드레스(ECA[0:i])는 버퍼부(612)로 제공한다.
도 9는 본 발명의 다양한 실시예들에 따른 ECC 유닛을 설명하는 제1예의 도면이다.
도 9를 참조하면, ECC 유닛(18a)은 DQ0-DQ7 셀 블락(101-108) 내 불량 셀을 포함하는 메모리 셀들로부터 제1 내지 제8 데이터 라인들(GIO[0:63])을 통해 독출되는 데이터와 패리티 데이터 라인(ECCP[0:7])으로 전달되는 패리티 비트들을 이용하여 에러 비트 데이터를 정정하고, 에러 정정된 데이터(Data[0:63])를 출력하는 ECC 디코딩 동작을 수행한다. ECC 유닛(18a)은 신드롬 발생부(902), 계수 계산부(904), 1 비트 에러 위치 검출부(906), 그리고 에러 정정부(908)를 포함한다.
신드롬 발생부(902)는 제1 내지 제8 데이터 라인들(GIO[0:63])을 통하여 전달되는 64 비트 독출 데이터와 패리티 데이터 라인(ECCP[0:7])으로 전달되는 패리티 비트를 수신하고 XOR 어레이 연산을 이용하여 신드롬 데이터(S[0:7])를 발생한다. 계수 계산부(904)는 신드롬 데이터(S[0:7])를 이용하여 오류 위치 방정식의 계수를 산출한다. 이와 동시에, 1 비트 에러 위치 검출부(906)는 신드롬 데이터(S[0:7])를 이용하여 1 비트 에러의 위치를 계산한다. 오류 위치 방정식은 에러 비트의 역수를 근으로 하는 방정식이다. 에러 정정부(908)는 1 비트 에러 위치 검출부(906)의 검출 결과에 기초하여 1 비트 에러 위치를 결정한다. 에러 정정부(908)는 결정된 1 비트 에러 위치 정보에 따라 64 비트 데이터 중 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정하고, 에러 정정된 64 비트 데이터(Data[0:63])를 출력한다.
도10은 본 발명의 다양한 실시예들에 따른 ECC 유닛을 설명하는 제2 예의 도면이다.
도 10을 참조하면, ECC 유닛(18b)은 DQ0-DQ7 셀 블락(101-108) 내 불량 셀을 포함하는 메모리 셀들에 기입될 데이터(Data[0:63])에 대한 패리티 비트들을 발생하는 ECC 인코딩 동작을 수행한다. ECC 유닛(18b)은 64 비트 기입 데이터(Data[0:63])와 b'00000000 비트들을 수신하고, XOR 어레이 연산을 이용하여 패리티 비트들을 발생하는 신드롬 발생부(912)를 포함한다. b'00000000 비트들은 64 비트 기입 데이터(Data[0:63])에 대한 패리티 비트들을 발생시키기 위한 비트들이다. 64 비트 기입 데이터(Data[0:63])에 대한 패리티 비트들을 발생시키기 위하여 b'00000000 비트들 대신에 다른 특정 비트들을 이용할 수 있다. 패리티 비트들은 패리티 데이터 라인(ECCP[0:7])으로 전달된다.
도 11은 본 발명의 다양한 실시예들에 따른 ECC 유닛을 설명하는 제3 예의 도면이다.
도 11을 참조하면, ECC 유닛(18c)는 ECC 인코딩 및 디코딩 동작을 수행한다. ECC 유닛(18c)은 제1 내지 제4 버퍼부들(920, 930, 932, 934), 제1 및 제2 먹스부들(922, 924), 신드롬 발생부(926) 그리고 에러 정정부(928)를 포함한다.
제1 버퍼부(920)는 ECC 지시 신호(DEC_EN)를 입력하여 반전된 ECC 지시 신호(/DEC_EN)를 발생한다. 제1 버퍼부(920)는 인버터로 구성될 수 있다. ECC 지시 신호(DEC_EN)는 제어 로직부(16, 도 2 및 도 3)에 의해 기입 동작의 커맨드(CMD)에 응답하여 예컨대, 로직 로우 레벨로 발생되고, 독출 동작의 커맨드(CMD)에 응답하여 예컨대, 로직 하이 레벨로 발생된다. 로직 로우 레벨의 ECC 지시 신호(DEC_EN)는 ECC 유닛(18c)의 ECC 인코딩 동작을 지시하고, 로직 하이 레벨의 ECC 지시 신호(DEC_EN)는 ECC 유닛(18c)의 ECC 디코딩 동작을 지시한다.
제1 먹스부(922)는 ECC 지시 신호(DEC_EN)에 응답하여 기입 데이터(Data[0:63]) 또는 제1 내지 제8 데이터 라인들(GIO[0:63])을 통하여 수신되는 64 비트 데이터를 선택하고, 제1 먹스부(922)의 출력(MData[0:63])으로 제공한다. 로직 로우 레벨의 ECC 지시 신호(DEC_EN)에 응답하여 기입 데이터(Data[0:63])가 제1 먹스부(922)의 출력(MData[0:63])으로 제공되고, 로직 하이 레벨의 ECC 지시 신호(DEC_EN)에 응답하여 제1 내지 제8 데이터 라인들(GIO[0:63])을 통하여 수신되는 64 비트 데이터가 제1 먹스부(922)의 출력(MData[0:63])으로 제공된다.
제2 먹스부(924)는 ECC 지시 신호(DEC_EN)에 응답하여 b'00000000 비트 또는 패리티 데이터 라인(ECCP[0:7])을 통해 수신되는 패리티 비트들을 선택하고, 제2 먹스부(924)의 출력(MECCP[0:7])으로 제공한다. 로직 로우 레벨의 ECC 지시 신호(DEC_EN)에 응답하여 b'00000000 비트가 제2 먹스부(924)의 출력(MECCP[0:7])으로 제공되고, 로직 하이 레벨의 ECC 지시 신호(DEC_EN)에 응답하여 패리티 데이터 라인(ECCP[0:7])을 통해 수신되는 패리티 비트들이 제2 먹스부(924)의 출력(MECCP[0:7])으로 제공된다.
신드롬 발생부(926)는 제1 먹스부(922)의 출력(MData[0:63])과 제2 먹스부(924)의 출력(MECCP[0:7])을 수신하여 신드롬 데이터(S[0:7])를 발생한다. ECC 지시 신호(DEC_EN)가 로직 로우 레벨일 때, 기입 데이터(Data[0:63])가 제1 먹스부(922)의 출력(MData[0:63])으로 제공되고, b'00000000 비트가 제2 먹스부(924)의 출력(MECCP[0:7])으로 제공된다. 신드롬 발생부(926)는 기입 데이터(Data[0:63])와 b'00000000 비트를 수신하고, XOR 어레이 연산을 이용하여 신드롬 데이터(S[0:7])를 발생한다. 신드롬 데이터(S[0:7])는 제3 버퍼(932)를 통해 패리티 데이터 라인(ECCP[0:7])으로 전달되며, 신드롬 데이터(S[0:7])는 기입 데이터(Data[0:63])에 대한 패리티 비트들이 된다. 그리고, 기입 데이터(Data[0:63])는 제4 버퍼(934)를 통해 제1 내지 제8 데이터 라인들(GIO[0:63])으로 전달되고, DQ0-DQ7 셀 블락(101-108)에 저장된다.
ECC 지시 신호(DEC_EN)가 로직 하이 레벨일 때, 제1 내지 제8 데이터 라인들(GIO[0:63])을 통하여 전달되는 64 비트 독출 데이터가 제1 먹스부(922)의 출력(MData[0:63])으로 제공되고, 패리티 데이터 라인(ECCP[0:7])을 통해 전달되는 패리티 비트들이 제2 먹스부(924)의 출력(MECCP[0:7])으로 제공된다. 신드롬 발생부(926)는 64 비트 독출 데이터와 패리티 비트를 수신하고, XOR 어레이 연산을 이용하여 신드롬 데이터(S[0:7])를 발생한다. 신드롬 데이터(S[0:7])는 에러 정정부(928)로 전달된다.
에러 정정부(928)는 ECC 매치 신호(ECCMTCH_EN)에 응답하고 신드롬 데이터(S[0:7])를 이용하여 제1 먹스부(922)의 출력(MData[0:63]) 내 에러 비트를 검출하고, 에러 비트 데이터를 정정하고, 에러 정정된 데이터(CData[0:63])를 출력한다. 이 때, 제1 먹스부(922)의 출력(MData[0:63])은 제1 내지 제8 데이터 라인들(GIO[0:63])을 통하여 전달되는 64 비트 독출 데이터이다. 즉, 에러 정정부(928)는 불량 셀을 포함하는 메모리 셀들로부터 독출되는 64 비트 데이터에 대하여 에러 비트를 검출하고, 에러 비트 데이터를 정정하고, 에러 정정된 데이터(CData[0:63])를 출력한다. 에러 정정된 데이터(CData[0:63])는 제2 버퍼(930)를 통해 독출 데이터(Data[0:63])로 출력된다.
도 12는 도 11의 에러 정정부를 설명하는 도면이다.
도 12를 참조하면, 에러 정정부(926)은 신드롬 계산부(940), 비트 반전부(942) 그리고 먹스부(944)를 포함한다. 신드롬 계산부(940)는 신드롬 데이터(S[0:7])를 이용하여 오류 위치 방정식의 계수를 산출하고, 에러 비트의 위치를 계산한다. 비트 반전부(942)는, 신드롬 계산부(940)의 에러 비트 위치 검출 결과에 기초하여, 제1 먹스부(922)의 출력(MData[0:63])인 제1 내지 제8 데이터 라인들(GIO[0:63])을 통하여 전달되는 64 비트 독출 데이터 중 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정한다.
먹스부(944)는 ECC 매치 신호(ECCMTCH_EN)에 응답하여 제1 먹스부(922)의 출력(MData[0:63])인 제1 내지 제8 데이터 라인들(GIO[0:63])을 통하여 전달되는 64 비트 독출 데이터 또는 비트 반전부(942)에서 에러 정정된 데이터를 선택하여 출력한다. ECC 매치 신호(ECCMTCH_EN)가 로직 하이 레벨이면, 비트 반전부(942)에서 에러 정정된 데이터가 먹스부(944)의 출력(CData[0:63])으로 출력된다. 이는 불량 셀 어드레스와 로우 어드레스(RA0-RAm) 및 칼럼 어드레스(CA0-CAn)가 일치하는 경우 ECC 매치 신호(ECCMTCH_EN)가 로직 하이 레벨로 발생되기 때문에, 64 비트 독출 데이터에 포함된 에러 비트를 정정한다는 내용과 잘 부합한다.
ECC 매치 신호(ECCMTCH_EN)가 로직 로우 레벨이면, 제1 내지 제8 데이터 라인들(GIO[0:63])을 통하여 전달되는 64 비트 독출 데이터가 먹스부(944)의 출력(CData[0:63])으로 출력된다. 이는 불량 셀 어드레스와 로우 어드레스(RA0-RAm) 및 칼럼 어드레스(CA0-CAn)가 불일치하는 경우 ECC 매치 신호(ECCMTCH_EN)가 로직 로우 레벨로 발생되기 때문에, 64 비트 독출 데이터에는 에러 비트를 포함하지 않는다는 것과 잘 부합한다.
도 13은 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제3 예의 블락 다이어그램이다.
도 13을 참조하면, 메모리 장치(14c)는 도 2a의 메모리 장치(14a)와 비교하여, DQ0-DQ7 셀 블락들(1001-1008)과 ECC 셀 블락(1009)이 행방향으로 다수개 분할된 메모리 구조를 보여준다는 점에서 차이가 있고, 다른 구성 요소들은 동일하다. 설명의 중복을 피하기 위하여, 동일한 참조 부호를 갖는 구성 요소들에 대한 설명은 생략된다.
DQ0-DQ7 셀 블락(1001-1008)과 ECC 셀 블락(1009) 각각은, 예컨대, 4개의 서브 블락들(SB0-SB3)로 구성될 수 있다. DQ0-DQ7 셀 블락들(1001-1008)과 ECC 셀 블락(1009)의 서브 블락들(SB0-SB3)의 워드라인들은 동일하게 어드레싱될 수 있다. ECC 셀 블락(1009)의 서브 블락들(SB0-SB3) 각각은 DQ0-DQ7 셀 블락(1001-1008)의 서브 블락들(SB0-SDB3) 각각에서 발생되는 불량 셀을 구제하는 용도로 사용된다.
메모리 장치(14c)는, 기입 동작에서 DQ0-DQ7 셀 블락(1001-1008)의 서브 블락들(SB0-SB3) 내 불량 셀들이 제1 내지 제4 워드라인(WL1-WL4) 각각에 연결되는 경우, 제1 내지 제4 워드라인(WL1-WL4) 각각과 칼럼 선택부(113)에 의해 선택되는 메모리 셀들에 저장되는 데이터 각각에 대하여 패리티 비트들을 발생하고, ECC 셀 블락(1009)의 서브 블락들(SB0-SB3) 내 해당 워드라인들(WL1-WL4) 각각에 연결되는 메모리 셀들에 패리티 비트들을 저장한다. 메모리 장치(14c)는, 독출 동작에서 DQ0-DQ7 셀 블락(1001-1008)의 서브 블락들(SB0-SB3) 내 불량 셀들의 제1 내지 제4 워드라인(WL1-WL4) 각각에 연결되는 메모리 셀들에서 제1 내지 제8 데이터 라인들(GIO[0:63])로 전달되는 독출 데이터와 ECC 셀 블락(1009) 내 해당 워드라인들(WL1-WL4) 각각에 연결되는 메모리 셀들에서 패리티 데이터 라인(ECCP[0:7])으로 전달되는 패리티 비트 데이터를 이용하여, 불량 셀들의 에러 비트를 검출하고 정정한다.
본 실시예에서는 메모리 장치(14c) 내 DQ0-DQ7 셀 블락(1001-1008)과 ECC 셀 블락(1009) 각각이 4개의 서브 블락들(SB0-SB3)로 구성되는 예에 대하여 설명하고 있으나, 다양한 수의 서브 블락들로 구성될 수 있다. 이 경우, 메모리 장치(1000)의 ECC 셀 블락(1009)은 각 서브 블락 내 하나의 불량 셀을 구제할 수 있으므로, 서브 블락들의 수에 해당하는 불량 셀들을 구제할 수 있다.
도 14는 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제4 예의 도면이다.
도 14를 참조하면, 메모리 장치(14d)는, 도3의 메모리 장치(14c)와 비교하여, DQ0-DQ7 셀 블락들(1101-1108)과 ECC 셀 블락(1109)이 행방향으로 다수개 분할된 메모리 구조를 보여준다는 점에서 차이가 있고, 다른 구성 요소들은 동일하다. 설명의 중복을 피하기 위하여, 동일한 참조 부호를 갖는 구성 요소들에 대한 설명은 생략된다.
DQ0-DQ7 셀 블락(1101-1108)과 ECC 셀 블락(1109) 각각은, 예컨대, 4개의 서브 블락들(SB0-SB3)로 구성될 수 있다. ECC 셀 블락(1109)의 서브 블락들(SB0-SB3) 각각은 DQ0-DQ7 셀 블락(1101-1108)의 서브 블락들(SB0-SDB3) 각각에서 서로 다른 칼럼 선택부(113, 113a-113c)에 의해 억세스되는 다수개의 불량 셀들을 구제하는 용도로 사용된다.
메모리 장치(14d)는, 기입 동작에서 DQ0-DQ7 셀 블락(1101-1108)의 서브 블락들(SB0-SB3) 내 서로 다른 칼럼 선택부(113, 113a-113c)에 의해 억세스되는 불량 셀들이 제1 내지 제4 워드라인(WL1-WL4) 각각에 연결되는 경우, 제1 내지 제4 워드라인(WL1-WL4) 각각에 연결되는 메모리 셀들에 저장되는 데이터 각각에 대하여 패리티 비트들을 발생하고, ECC 셀 블락(1109)의 서브 블락들(SB0-SB3) 내 해당 워드라인들(WL1-WL4) 각각에 연결되는 메모리 셀들에 패리티 비트들을 저장한다. 메모리 장치(14d)는, 독출 동작에서 DQ0-DQ7 셀 블락(1001-1008) 의 서브 블락들(SB0-SB3) 내 불량 셀들의 제1 내지 제4 워드라인(WL1-WL4) 각각에 연결되는 메모리 셀들에서 제1 내지 제8 데이터 라인들(GIO[0:63])로 전달되는 독출 데이터와 ECC 셀 블락(1009) 내 해당 워드라인들(WL1-WL4) 각각에 연결되는 메모리 셀들에서 패리티 데이터 라인(ECCP[0:7])으로 전달되는 패리티 비트 데이터를 이용하여, 불량 셀들의 에러 비트를 검출하고 정정한다.
본 실시예에서는 메모리 장치(14d) 내 DQ0-DQ7 셀 블락(1101-1108)과 ECC 셀 블락(1109) 각각이 4개의 서브 블락들(SB0-SB3)로 구성되는 예에 대하여 설명하고 있으나, 다양한 수의 서브 블락들로 구성될 수 있다.
도 15는 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제5 예의 도면이다.
도 15를 참조하면, 메모리 장치(14e)는 DQ0-DQ7 셀 블락들(1201-1208)과 ECC 셀 블락(1209), 그리고 ECC 유닛(1210)을 포함한다. 메모리 장치(14e)는 DQ0-DQ7 셀 블락들(1201-1208) 중 불량 셀이 발생한 DQ 블락의 비트라인에 대해서만 ECC를 수행하는 칼럼 ECC 방식을 적용한다.
DQ0-DQ7 셀 블락들(1201-1208)은 행들 및 열들로 배열되는 복수개의 워드라인들(WL)과 비트라인들(BL)로 구성될 수 있다. ECC 셀 블락(1209)은 복수개의 워드라인들(WL)과 예컨대, 8개 비트라인들(BL)로 구성될 수 있다. ECC 셀 블락(1209) 내 4개 비트라인(BL)씩 패리티 데이터 라인(PIO0, PIO1)과 연결될 수 있다. DQ0-DQ7 셀 블락들(1201-1208)과 ECC 셀 블락(1209)은 억세스 로우 어드레스(RADD)를 디코딩하는 로우 디코더(1211)에 의해 해당 워드라인(WL)이 인에이블된다.
DQ0-DQ7 셀 블락들(1201-1208)의 비트라인들은 억세스 칼럼 어드레스(CADD)를 디코딩하는 칼럼 디코더(1212)와 칼럼 선택부에 의해 선택된다. DQ0-DQ7 셀 블락들(1201-1208)의 비트라인들은, 도 2a에 도시된 바와 같이, 다수개의 칼럼 선택부들과 연결될 수 있다. 본 실시예에서는 억세스 칼럼 어드레스(CADD)에 의해 CSL 칼럼 선택부가 선택되고, CSL 칼럼 선택부에 의해 DQ0-DQ7 셀 블락들(1201-1208) 각각에서 8 비트라인들이 선택되는 경우에 대하여 설명된다.
DQ0-DQ7 셀 블락들(1201-1208)에서, 억세스 로우 어드레스(RADD)와 억세스 칼럼 어드레스에 의해 선택되는 메모리 셀들 중 DQ2 셀 블락(1203)과 DQ7 셀 블락(1208)에 불량 셀이 1개씩 있다고 가정하자. 이에 따라, DQ0-DQ7 셀 블락들(1201-1208)에서 CSL 칼럼 선택부를 통해 전달되는 64 비트 데이터들에도 2개의 에러 비트가 포함되어 있다. 본 실시예에서는 DQ2, DQ7 셀 블락들(1203, 1208)의 2 에러 비트들에 대하여 설명하고 있으나, DQ2, DQ7 셀 블락(1203, 1208) 각각의 1 에러 비트에 대하여도 적용될 수 있음은 물론이다.
메모리 장치(14e)는 테스트 과정에서 DQ2 셀 블락(1203)과 DQ7 셀 블락(1208) 각각의 불량 셀을 어드레싱하는 로우 어드레스와 칼럼 어드레스를 저장한다. 메모리 장치(14e)는 DQ2 셀 블락(1203)과 DQ7 셀 블락(1208) 각각의 불량 셀을 구제하기 위하여 ECC 셀 블락(1209) 내 4개 비트라인씩을 이용할 수 있다. 즉, DQ2 셀 블락(1203)에서 출력되는 8 비트 데이터 중 1비트 에러를 정정하기 위하여, ECC 셀 블락(1209)에 저장되는 4 개 패리티 비트들을 이용한다. 그리고, DQ7 셀 블락(1208)에서 출력되는 8 비트 데이터 중 1비트 에러를 정정하기 위하여, ECC 셀 블락(1209)에 저장되는 4 개 패리티 비트들을 이용한다. 이는 표 1의 ECC 알고리즘에서, 8 비트 데이터의 ECC를 위하여 4 비트 패리티가 필요하다고 보여주고 있다.
메모리 장치(14e)는 불량 셀들을 구제하기 위하여 ECC 유닛(1210)을 사용한다. ECC 유닛(1210)은 해당 불량 셀의 어드레스 정보를 제공하는 CAM 셀 어레이(1214)와 비교부(1216)를 이용하여1 비트 에러의 위치를 검출하고, 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정할 수 있다.
CAM 셀 어레이(1214)는 메모리 장치(14e)의 테스트시 발견된 불량 셀의 로우 어드레스 및 칼럼 어드레스를 저장할 수 있다. 메모리 장치(14e)로 수신되는 억세스 로우 어드레스(RADD)가 불량 셀의 로우 어드레스와 일치하는 경우, CAM 셀 어레이(1214)는 제1 매치 신호(MTCH1)를 발생하고 불량 셀의 칼럼 어드레스를 비교부(1216)로 전달한다. 비교부(1216)는 메모리 장치(14e)로 수신되는 억세스 칼럼 어드레스(CADD)가 불량 셀의 칼럼 어드레스와 일치하는 경우 칼럼 ECC 제어 신호(CECC)를 발생한다. 칼럼 ECC 제어 신호(CECC)는 ECC 셀 블락(1209) 내 4개 비트라인들을 선택할 수 있다.
예컨대, 메모리 장치(14e)로 수신되는 억세스 로우 어드레스(RADD)와 억세스 칼럼 어드레스(CADD)가 DQ2 셀 블락(1203)의 불량 셀을 어드레싱하는 로우 어드레스와 칼럼 어드레스인 경우, ECC 셀 블락(1209) 내 해당 로우 어드레스와 칼럼 ECC 제어 신호(CECC)에 의해 선택되는 4개 메모리 셀들에 저장된 4 개 패리티 비트들이 PIO0 패리티 데이터 라인을 통하여 독출된다. 이 때, 4개 패리티 비트들은 DQ2 셀 블락(1203)의 불량 셀에 저장된 8 비트 데이트들에 대한 패리티 비트들이다.
그리고, 메모리 장치(14e)는 ECC 셀 블락(1209) 내 해당 로우 어드레스와 칼럼 ECC 제어 신호(CECC)에 의해 선택되는 4개 메모리 셀들에 저장된 4 개 패리티 비트들이 PIO1 패리티 데이터 라인을 통하여 독출된다. 이 때, 4개 패리티 비트들은 DQ7 셀 블락(1208)의 불량 셀에 저장된 8 비트 데이트들에 대한 패리티 비트들이다.
이 후, 메모리 장치(14e) 내 DQ0-DQ7 셀 블락(1201-1208)에서, 수신된 억세스 로우 어드레스(RADD)와 억세스 칼럼 어드레스(CADD)에 의해 선택되는 메모리 셀들에 저장된 64 비트 데이터들이 독출되어 ECC 유닛(1210)으로 제공된다. 또한, ECC 셀 블락에서, 해당 억세스 로우 어드레스(RADD)와 칼럼 ECC 제어 신호(CECC)에 의해 선택되는 DQ2 셀 블락(1203)의 불량 셀에 대한 4 개 패리티 비트들(P0-P3)과 DQ7 셀 블락(1208)의 불량 셀에 대한 4 개 패리티 비트들(P0-P3)이 독출되어 ECC 유닛(1210)으로 제공된다. ECC 유닛(1210)은 DQ0-DQ7 셀 블락(1201-1208)에서 독출되는 64 비트 데이터에서 DQ2 셀 블락(1203)과 DQ7 셀 블락(1208) 각각의 1 비트 에러를 검출하고 이를 정정한다.
도 16은 본 발명의 다양한 실시예들에 따른 메모리 장치를 설명하는 제6 예의 도면이다.
도 16을 참조하면, 메모리 장치(14f)는 DQ0-DQ7 셀 블락들(1301-1308)과 ECC 셀 블락(1309)을 포함한다. 메모리 장치(14f)는 DQ0-DQ7 셀 블락들(1301-1308) 중 불량 셀들이 발생한 DQ 블락의 워드라인들(NWL)에 대해서만 ECC를 수행하는 로우 ECC 방식을 적용한다.
DQ0-DQ7 셀 블락들(1301-1308)은 행들 및 열들로 배열되는 복수개의 워드라인들(WL)과 비트라인들(BL)로 구성되고, 억세스 로우 어드레스(RADD)를 디코딩하는 제1 로우 디코더(1311)에 의해 해당 워드라인(NWL)이 인에이블된다. DQ0-DQ7 셀 블락들(1301-1308)의 비트라인들(BL)은 억세스 칼럼 어드레스(CADD)를 디코딩하는 제1 칼럼 디코더(1312)와 CSL 칼럼 선택부에 의해 선택된다.
DQ0-DQ7 셀 블락들(1301-1308)의 비트라인들(BL)은, 도 2a에 도시된 바와 같이, 다수개의 칼럼 선택부들과 연결될 수 있다. 본 실시예에서는 억세스 칼럼 어드레스(CADD)에 의해 CSL 칼럼 선택부가 선택되고, CSL 칼럼 선택부에 의해 DQ0-DQ7 셀 블락들(1301-1308) 각각에서 8 비트라인들이 선택되는 경우에 대하여 설명된다.
ECC 셀 블락(1309)은 DQ0-DQ7 셀 블락(1301-1308) 각각에서 발생된 불량 셀의 워드라인을 구제하기 위한 용도로 사용된다. ECC 셀 블락(1309)는 행들 및 열들로 배열되는 복수개의 워드라인들(EWL)과 비트라인들(EBL)로 구성되고, 제2 로우 디코더(1321)에 의해 워드라인(EWL)이 인에이블되고, 제2 칼럼 디코더(1322)에 의해 비트라인(EBL)이 선택된다.
ECC 셀 블락(1309)에서, EWL 워드라인들의 수는 DQ0-DQ7 셀 블락(1301-1308)의 NWL 워드라인의 수보다 적고, EBL 비트라인들의 수는 DQ0-DQ7 셀 블락들(1301-1308)의 비트라인 수와 동일할 수 있다. 즉, DQ0-DQ7 셀 블락(1301-1308) 각각의 비트라인에 대응하는 EBL 비트라인이 존재할 수 있다. ECC 셀 블락(1309)의 비트라인들 중 예컨대, 4개 비트라인들(EBL)이 패리티 데이터 라인(PIO[0:8]) 각각 연결될 수 있다.
메모리 장치(14f)는 불량 셀들을 구제하기 위하여 ECC 유닛(1310)을 사용한다. ECC 유닛(1310)은 해당 불량 셀에 대한 어드레스 정보를 제공하는 CAM 셀 어레이(1314)를 이용하여1 비트 에러의 위치를 검출하고, 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정할 수 있다.
CAM 셀 어레이(1314)는 메모리 장치(14f)의 테스트시 발견된 DQ0-DQ7 셀 블락(1301-1308) 각각의 불량 셀의 로우 어드레스들을 저장할 수 있다. 메모리 장치(14f)로 수신되는 억세스 로우 어드레스(RADD)가 해당 DQ0-DQ7 셀 블락(1301-1308)의 불량 셀의 로우 어드레스와 일치하는 경우, CAM 셀 어레이(1414)는 제2 로우 디코더(1321)와 제2 칼럼 디코더(1322)를 구동하는 로우 ECC 제어 신호(RECC)를 발생한다.
제2 로우 디코더(1321)는 메모리 장치(14f)에서 사용되는 칼럼 어드레스들 중 억세스 칼럼 어드레스(CADD)로 사용되지 않는 칼럼 어드레스(CA[9:7])을 이용하여 디코딩하고, 로우 ECC 제어 신호(RECC)와 칼럼 어드레스들(CA[9:7])에 응답하여 해당 워드라인(EWL)을 인에이블시킬 수 있다. 제2 칼럼 디코더(1322)는 억세스 칼럼 어드레스(CADD)를 디코딩하고, 로우 ECC 제어 신호(RECC)와 엑세스 칼럼 어드레스(CADD)에 응답하여 ECC 셀 블락(1309) 내 4개 비트라인들(EBL)을 선택할 수 있다.
한편, ECC 셀 블락(1309)의 EBL 비트라인들은DQ0-DQ7 셀 블락(1301-1308) 각각의 비트라인에 대응한다. 그러나, 불량 셀들이 발생한 DQ 블락의 워드라인들에 대해서만 ECC를 수행하기 위하여, 로우 ECC 제어 신호(RECC)와 엑세스 칼럼 어드레스(CADD)에 응답하여 선택되는 4개의 EBL 비트라인들은 DQ0-DQ7 셀 블락(1301-1308) 각각의 비트라인에 대응하지 않을 수 있다.
즉, DQ0 셀 블락(1301)의 비트라인들에 대응하는 ECC 셀 블락(1309)의 EBL 비트라인들은 DQ0 셀 블락(1301)과 DQ1 셀 블락(1302)의 불량 셀의 워드라인에 연결되는 메모리 셀들의 비트라인들에 4개의 EBL 비트라인들이 대응되고, PIO0, PIO1 패리티 데이터 라인에 연결될 수 있다. DQ2 셀 블락(1303)의 비트라인들에 대응하는 ECC 셀 블락(1309)의 EBL 비트라인들은 DQ2 셀 블락(1303)과 DQ3 셀 블락(1304)의 불량 셀의 워드라인에 연결되는 메모리 셀들의 비트라인들에 4개의 EBL 비트라인들이 대응되고, PIO2, PIO3 패리티 데이터 라인에 연결될 수 있다.
DQ4 셀 블락(1305)의 비트라인들에 대응하는 ECC 셀 블락(1309)의 EBL 비트라인들은 DQ4 셀 블락(1305)과 DQ5 셀 블락(1306)의 불량 셀의 워드라인에 연결되는 메모리 셀들의 비트라인들에 4개의 EBL 비트라인들이 대응되고, PIO4, PIO5 패리티 데이터 라인에 연결될 수 있다. DQ6 셀 블락(1307)의 비트라인들에 대응하는 ECC 셀 블락(1309)의 EBL 비트라인들은 DQ6 셀 블락(1307)과 DQ7 셀 블락(1308)의 불량 셀의 워드라인에 연결되는 메모리 셀들의 비트라인들에 4개의 EBL 비트라인들이 대응되고, PIO6, PIO7 패리티 데이터 라인에 연결될 수 있다.
ECC 셀 블락(1309)에서, 선택된 EWL 워드라인과 4개의 EBL 비트라인들에 연결된 4개 메모리 셀들에 저장된 4 개 패리티 비트들이 패리티 데이터 라인들(PIO[0:7])을 통하여 독출된다. 이 때, 4개 패리티 비트들은DQ0-DQ7 셀 블락들(1301-1308) 중 불량 셀들이 발생한 DQ 블락의 워드라인(NWL)과 CSL 칼럼 선택부에 의해 선택되는 메모리 셀들에 저장된 8 비트 데이트들에 대한 패리티 비트들이다.
메모리 장치(14f) 내 DQ0-DQ7 셀 블락(1301-1308)에서, 수신된 억세스 로우 어드레스(RADD)와 억세스 칼럼 어드레스(CADD)에 의해 선택되는 메모리 셀들에 저장된 64 비트 데이터들이 독출되어 ECC 유닛(1310)으로 제공된다. 또한, ECC 셀 블락에서, 선택된 EWL 워드라인과 4개의 EBL 비트라인들에 연결된 4개 메모리 셀들에 저장된 4 개 패리티 비트들이 ECC 유닛(1310)으로 제공된다. ECC 유닛(1310)은 64 비트 데이터 내 불량 셀의 워드라인에 연결된 메모리 셀들 중 1 비트 에러를 검출하고 이를 정정한다.
도 17은 본 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 메모리 장치를 포함하는 메모리 시스템을 설명하는 제2예의 도면이다.
도 17을 참조하면, 메모리 시스템(20)은, 도 1의 메모리 시스템(10)과 비교하여, 메모리 장치(24)의 불량 메모리 셀들을 어드레싱하는 불량 어드레스들을 저장하는 불량 어드레스 저장부(27)가 메모리 콘트롤러(22)에 포함된다는 점에서 차이가 있다. 메모리 콘트롤러(22)는 메모리 장치(24)를 제어한다. 메모리 콘트롤러(22)는 명령(CMD), 로우 어드레스(RA), 칼럼 어드레스(CA), ECC 구동 신호(ECC) 등의 제어 신호들과 데이터(Data)를 메모리 장치(24)로 전송하고, 메모리 장치(24)로부터 데이터(Data)를 수신한다.
불량 어드레스 저장부(27)는 메모리 장치(24) 테스트 시 발생된 불량 어드레스를 저장하거나 메모리 장치(24)가 메모리 시스템(20)에 장착되어 동작하는 도중에 새롭게 발생하는 불량 어드레스를 업데이트시키면서 저장할 수 있다. 메모리 콘트롤러(22)는 메모리 장치(24)로의 억세스 로우 어드레스(RA[0:m]) 및 칼럼 어드레스(CA[0:n])가 불량 어드레스 저장부(27)에 저장되어 있는 어드레스인 지를 알 수 있다.
메모리 콘트롤러(22)는 메모리 장치(24) 내 불량 메모리 셀들을 어드레싱하는 억세스 로우 어드레스(RA[0:m]) 및 칼럼 어드레스(CA[0:n])를 출력하는 경우, 해당 억세스 로우 어드레스(RA[0:m]) 및 칼럼 어드레스(CA[0:n])와 함께 ECC 구동 신호(ECC)를 메모리 장치(24)로 출력한다. 메모리 장치(24)는 ECC 구동 신호(ECC)에 응답하여 선택적 ECC동작을 수행하도록 ECC 유닛(28)을 구동할 수 있다. 메모리 콘트롤러(22)는 ECC 구동 신호(ECC) 대신에 소정의 어드레스 신호(ECA)를 이용하여 메모리 장치(24) 내 선택적 ECC 동작을 수행하도록 ECC 유닛(28)을 구동할 수 있다.
ECC 구동 신호(ECC)는 본 발명의 실시예들에서 설명되고 있는 ECC 지시 신호(DEC_EN)와 ECC 매치 신호(ECCMTCH_EN)의 기능과 동일하게 ECC 유닛(28)을 구동한다. ECC 유닛(28)은 ECC 구동 신호(ECC)에 응답하여 불량 메모리 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛(28)은 ECC 구동 신호(ECC)에 응답하여 불량 메모리 셀에 대한 패리티 비트들을 이용하여 불량 메모리 셀을 포함하는 메모리 셀들로부터 독출되는 데이터의 에러 비트 위치를 검출하고 에러 비트 데이터를 정정하고 에러 정정된 데이터를 출력한다.
본 실시예들에서 설명되는 선택적 ECC 동작을 수행하는 메모리 장치는 도 18과 같은 반도체 메모리 장치, 예컨대, DDR-SDRAM에 포함될 수 있다.
도 18을 참조하면, DDR-SDRAM(1500)은 DRAM 셀을 포함하는 메모리 셀 어레이(1501) 및 DRAM 셀을 구동하기 위한 각종 회로 블록들을 구비할 수 있다. 예컨대, 타이밍 레지스터(1502)는 칩 선택 신호(CS)가 비활성화 레벨(예컨대 로직 하이)에서 활성화 레벨(예컨대 로직 로우)로 변화될 때 활성화될 수 있다. 타이밍 레지스터(1502)는 외부로부터 클럭 신호(CLK), 클럭 인에이블 신호(CKE), 칩 선택신호(CSB), 로우(Row) 어드레스 스트로브 신호(RASB), 칼럼(Column) 어드레스 스트로브 신호(CASB), 기입 인에이블 신호(WEB) 및 데이터 입력/출력 마스크 신호(DQM) 등의 커맨드(CMD) 신호를 수신하고, 수신된 커맨드 신호를 처리하여 회로 블록들을 제어하기 위한 각종 내부 커맨드 신호들(LRAS, LCBR, LWE, LCAS, LWCBR, LDQM)을 생성할 수 있다.
타이밍 레지스터(1502)로부터 생성된 일부 내부 커맨드 신호들은 프로그래밍 레지스터(1504)에 저장된다. 예컨대, 데이터 출력에 관계된 레이턴시(Latency) 정보나 버스트 길이(Burst Length) 정보 등이 프로그래밍 레지스터(1504)에 저장될 수 있다. 프로그래밍 레지스터(1504)에 저장된 내부 커맨드 신호들은 레이턴시/버스트 길이 제어부(1506)로 제공될 수 있으며, 레이턴시/버스트 길이 제어부(1506)는 데이터 출력의 레이턴시나 버스트 길이를 제어하기 위한 제어 신호를 칼럼 버퍼(1508)를 통하여 칼럼 디코더(1510)나 출력 버퍼(1512)로 제공할 수 있다.
어드레스 레지스터(1520)는 외부로부터 어드레스 신호(ADD)를 수신할 수 있다. 로우 어드레스 신호는 로우 어드레스 버퍼(1522)를 통하여 로우 디코더(1524)로 제공될 수 있다. 또한, 칼럼 어드레스 신호는 칼럼 어드레스 버퍼(1508)를 통하여 칼럼 디코더(1510)로 제공될 수 있다.
로우 어드레스 버퍼(1522)는 리프레쉬 명령(LRAS, LCBR)에 응답하여 리프레쉬 카운터에서 발생하는 리프레쉬 어드레스 신호를 더 수신할 수 있으며, 로우 어드레스 신호나 리프레쉬 어드레스 신호 중 어느 하나를 로우 디코더(1524)로 제공할 수 있다. 또한, 어드레스 레지스터(1520)는 뱅크를 선택하기 위한 뱅크 신호를 뱅크 선택부(1526)로 제공할 수 있다.
로우 디코더(1524)는 로우 어드레스 버퍼(1522)로부터 입력되는 로우 어드레스 신호 또는 리프레쉬 어드레스 신호를 디코딩하고, 메모리 셀 어레이(1501)의 워드라인을 활성화시킬 수 있다. 칼럼 디코더(1510)는 칼럼 어드레스 신호를 디코딩하고, 메모리 셀 어레이(1501)의 비트라인에 대한 선택 동작을 수행할 수 있다. 일예로서, 칼럼 선택 라인(Column selection Line)이 반도체 메모리 장치(1500)에 적용되어, 칼럼 선택 라인을 통한 선택 동작이 수행될 수 있다.
센스 앰프(1530)는 로우 디코더(1524)와 칼럼 디코더(1510)에 의해 선택된 메모리 셀의 독출 데이터를 ECC 유닛(1522)으로 제공할 수 있다. 데이터 셀의 기록을 위한 데이터는 ECC 유닛(1522)를 통하여 메모리 셀 어레이(1501)로 제공된다. 메모리 셀 어레이(1501)에는 DQ0-DQ7 셀 블락들과 ECC 셀 블락을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛(1522)은 DDR-SDRAM(1500)으로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛(1522)은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정하여 데이터 입출력 패드(DQi)로 출력할 수 있다.
도 19 내지 도 21은 본 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 DRAM을 포함하는 메모리 모듈을 설명하는 도면들이다.
도 19을 참조하면, 메모리 모듈(1600)은 인쇄 회로 기판(1601), 복수의 DRAM 칩들(1602) 및 커넥터(1603)를 포함한다. 복수의 DRAM 칩들(1602)은 인쇄 회로 기판(1601)의 상면과 하면에 결합될 수 있다. 커넥터(1603)는 도전 선들(미도시)을 통해 복수의 DRAM 칩들(1602)과 전기적으로 연결된다. 또한, 커넥터(1603)는 외부 호스트의 슬롯에 연결될 수 있다.
각각의 DRAM 칩(1602)은 DQ0-DQ7 셀 블락들 및 ECC 셀 블락의 메모리 셀 어레이와 ECC 유닛을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛은 DRAM 칩(1602)으로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정할 수 있다.
도 20을 참조하면, 메모리 모듈(1700)은 인쇄 회로 기판(1701), 복수의 DRAM 칩들(1702), 커넥터(1703) 그리고 복수의 버퍼 칩들(1704)을 포함한다. 복수의 버퍼 칩들(1704)은 각각의 DRAM 칩(1702)과 커넥터(1703) 사이에 배치될 수 있다. DRAM 칩들(1702)과 버퍼 칩들(1704)은 인쇄 회로 기판(1701)의 상면 및 하면에 제공될 수 있다. 인쇄 회로 기판(1701)의 상면 및 하면에 형성되는 DRAM 칩들(1702)과 버퍼 칩들(1704)은 복수의 비아 홀들을 통해 연결될 수 있다.
각각의 DRAM 칩(1702)은 DQ0-DQ7 셀 블락들 및 ECC 셀 블락의 메모리 셀 어레이와 ECC 유닛을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛은 DRAM 칩(1702)으로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정할 수 있다.
버퍼 칩(1704)은 버퍼 칩(1704)과 연결되는 DRAM 칩(1702)의 특성을 테스트한 결과를 저장할 수 있다. 버퍼 칩(1704)은 저장된 특성 정보를 이용하여 해당 DRAM 칩(1702)의 동작을 관리함으로써, 위크(weak) 셀이나 위크 페이지가 DRAM 칩(1702) 동작에 미치는 영향을 감소시킨다. 예컨대, 버퍼 칩(1704)은 그 내부에 저장부를 두어, DRAM 칩(1702)의 위크 셀 또는 위크 페이지를 구제할 수 있다.
도 20을 참조하면, 메모리 모듈(1800)은 인쇄 회로 기판(1801), 복수의 DRAM 칩들(1802), 커넥터(1803), 복수의 버퍼 칩들(1804) 그리고 콘트롤러(1805)를 포함한다. 콘트롤러(1805)는 DRAM 칩들(1802)과 버퍼 칩들(1804)과 통신하고, DRAM 칩들(1802)의 동작 모드를 제어한다. 콘트롤러(1805)는 DRAM 칩(1805)의 모드 레지스터를 이용하여 다양한 기능들, 특성들 그리고 모드들을 제어할 수 있다.
각각의 DRAM 칩(1802)은 DQ0-DQ7 셀 블락들 및 ECC 셀 블락의 메모리 셀 어레이와 ECC 유닛을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛은 DRAM 칩(1802)으로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정할 수 있다.
DRAM 모듈들(1600, 1600, 1700)은 SIMM(Single in-line memory module), DIMM(Dual in-line memory module), SO-DIMM(Small-outline DIMM), UDIMM(Unbuffered DIMM), FBDIMM(Fully-buffered DIMM), RBDIMM(Rank-buffered DIMM), LRDIMM(Load-reduced DIMM), mini-DIMM 및 micro-DIMM 등의 메모리 모듈에 적용될 수 있다.
도 22는 본 발명의 다양한 실시예들에 따른 선택적 ECC를 수행하는 DRAM 반도체 레이어들을 구비하는 적층 구조의 반도체 장치를 설명하는 도면이다.
도 22를 참조하면, 반도체 장치(1900)는 다수의 DRAM 반도체 레이어들(LA1 내지 LAn)을 구비할 수 있다. 반도체 레이어들(LA1 내지 LAn) 각각은 DRAM 셀들로 구성되는 메모리 셀 어레이들(1901)을 포함하는 메모리 칩일 수 있으며, 반도체 레이어들(LA1 내지 LAn) 중 일부는 외부의 콘트롤러와 인터페이싱을 수행하는 마스터 칩이고, 나머지는 데이터를 저장하는 슬레이브 칩일 수 있다. 도 22에서, 가장 아래에 위치하는 반도체 레이어(LA1)는 마스터 칩이고, 나머지 반도체 레이어들(LA2 내지 LAn)은 슬레이브 칩일 수 있다.
다수의 반도체 레이어들(LA1 내지 LAn)은 관통 실리콘 비아(TSV, 1802)를 통해 신호를 서로 송수신하며, 마스터 칩(LA1)은 외면에 형성된 도전 수단(미 도시)을 통해 외부의 메모리 컨트롤러(미도시)와 통신할 수 있다.
또한, 반도체 레이어들(LA1 내지 LAn) 사이의 신호의 전달은 광학적 입출력 접속(Optical IO Connection)으로 수행될 수 있다. 예컨대, 라디오 주파수(Radio frequency, RF)파 또는 초음파를 이용하는 방사형(radiative) 방식, 자기 유도(magnetic induction)을 이용하는 유도 커플링(inductive coupling) 방식, 또는 자기장 공진을 이용하는 비방사형(non-radiative) 방식을 이용하여 서로 연결될 수 있다.
방사형 방식은 모노폴(monopole)이나 PIFA(planar inverted-F antenna) 등의 안테나를 이용하여, 무선으로 신호를 전달하는 방식이다. 시간에 따라 변화하는 전계나 자계가 서로 영향을 주면서 방사가 일어나며, 같은 주파수의 안테나가 있을 경우 입사파의 극(polarization) 특성에 맞게 신호를 수신할 수 있다. 유도 커플링 방식은 코일을 여러 번 감아서 한 방향으로 강한 자계를 발생시키고, 비슷한 주파수에서 공진하는 코일을 근접시켜 커플링을 발생시키는 방식이다. 비방사형 방식은, 근거리 전자장을 통해 같은 주파수로 공진하는 두 매체들 사이에서 전자파를 이동시키는 감쇄파 결합(evanescent wave coupling)을 이용하는 방식이다.
각각의 반도체 레이어(LA1 내지 LAn)는 DQ0-DQ7 셀 블락들 및 ECC 셀 블락의 메모리 셀 어레이와 ECC 유닛을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛은 반도체 레이어(LA1 내지 LAn)로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정할 수 있다.
앞서 설명된 도 19 내지 도 21의 모듈 구조에서 각각의 DRAM 칩은 복수의 DRAM 반도체 레이어들(LA1~LAn)을 포함할 수 있다.
도 23은 본 발명의 다양한 실시예에 따른 선택적 ECC를 수행하는 DRAM을 포함하는 메모리 시스템을 설명하는 도면이다.
도 23을 참조하면, 메모리 시스템(2000)은 광 연결 장치들(2001A, 1901B)과 콘트롤러(2002) 그리고 DRAM(2003)을 포함한다. 광 연결 장치들(2001A, 1901B)은 콘트롤러(2002)와 DRAM(2003)을 상호 연결한다(interconnect). 콘트롤러(2002)는 컨트롤 유닛(2004), 제1 송신부(2005), 제1 수신부(2006)를 포함한다. 컨트롤 유닛(2004)은 제1 전기 신호(SN1)를 제1 송신부(2005)로 전송한다. 제1 전기 신호(SN1)는 DRAM(2003)으로 전송되는 커맨드 신호들, 클럭킹 신호들, 어드레스 신호들 또는 기입 데이터 등으로 구성될 수 있다.
제1 송신부(2005)는 제1 광 변조기(2005A)를 포함하고, 제1 광 변조기(2005A)는 제1 전기 신호(SN1)를 제1 광 송신 신호(OTP1EC)로 변환하여 광 연결 장치(2001A)로 전송한다. 제1 광 송신 신호(OTP1EC)는 광 연결 장치(2001A)를 통하여 시리얼 통신으로 전송된다. 제1 수신부(2006)는 제1 광 복조기(2006B)를 포함하고, 제1 광 복조기(2006B)는 광 연결 장치(2001B)로부터 수신된 제2 광 수신 신호(OPT2OC)를 제2 전기 신호(SN2)로 변환하여 컨트롤 유닛(2004)으로 전송한다.
DRAM(2003)는 제2 수신부(2007), 메모리 셀 어레이를 포함하는 메모리 영역(2008) 및 제2 송신부(2009)를 포함한다. 메모리 영역(2008)은 DQ0-DQ7 셀 블락들 및 ECC 셀 블락의 메모리 셀 어레이와 ECC 유닛을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛은 DRAM(2003)으로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정할 수 있다.
제2 수신부(2007)은 제2 광 복조기(2007A)를 포함하고, 제2 광 복조기(2007A)는 광 연결 장치(2001A)로부터 제1 광 수신 신호(OPT1OC)를 제1 전기 신호(SN1)로 변환하여 메모리 영역(2008)으로 전송한다.
메모리 영역(2008)에서는 제1 전기 신호(SN1)에 응답하여 기입 데이터를 메모리 셀에 기입하거나 메모리 영역(2008)로부터 독출된 데이터를 제2 전기 신호(SN2)로서 제2 송신부(2009)로 전송한다. 제2 전기 신호(SN2)는 메모리 콘트롤러(2002)로 전송되는 클럭킹 신호, 독출 데이터 등으로 구성될 수 있다. 제2 송신부(2009)는 제2 광 변조기(2009B)를 포함하고, 제2 광 변조기(2009B)는 제2 전기 신호(SN2)를 제2 광 데이터 신호(OPT2EC)로 변환하여 광 연결 장치(2001B)로 전송한다. 제2 광 송신 신호(OTP2EC)는 광 연결 장치(2001B)를 통하여 시리얼 통신으로 전송된다.
도 24는 본 발명의 다양한 실시예들에 따른 선택적 ECC를 수행하는 DRAM을 포함하는 데이터 처리 시스템을 설명하는 도면이다.
도 24를 참조하면, 데이터 처리 시스템(2100)은 제1 장치(2101), 제2 장치(2102) 그리고 다수개의 광 연결 장치들(2103, 724)을 포함한다. 제1 장치(2101)와 제 2 장치(2102)는 시리얼 통신을 통하여 광 신호를 통신할 수 있다.
제 1 장치(2101)는 DRAM(2105A), 제1 광원(2106A), 전-광 변환(Electric to Optical Conversion) 동작을 수행할 수 있는 제1 광 변조기(Optical modulator; 2007A) 그리고 광-전 변환(Optical to Electric Conversion) 동작을 수행할 수 있는 제1 광 복조기(Optical de-modulator; 2008A)를 포함할 수 있다. 제2 장치(2102)는 DRAM(2105B), 제2 광원(2106B), 제2 광 변조기(2107B) 그리고 제1 광 복조기(2108B)를 포함한다. DRAM(2105A, 2105B)은 DQ0-DQ7 셀 블락들 및 ECC 셀 블락의 메모리 셀 어레이와 ECC 유닛을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛은 DRAM(2105A, 2105B)으로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정할 수 있다.
제 1 및 제2 광원들(2106A, 2006B)은 지속 파형을 갖는 광 신호를 출력한다. 제 1 및 제2 광원들(2106A)은 다파장 광원인 분산형 피이드백 레이저 다이오드(Distributed Feed-Back Laser Diode; 이하 "DFB-LD"라고 칭한다) 또는 패브리 페롯 레이저 다이오드(Fabry Perot Laser Diode, 이하 "FP-LD"라고 칭한다)를 광원으로 사용할 수 있다.
제1 광 변조기(2107A)는 전송 데이터를 광 송신 신호로 변환하여 광 연결 장치(2103)로 전송한다. 제1 광 변조기(2107A)는 전송 데이터에 따라 제1 광원(2106A)에서 수신된 광신호의 파장을 변조할 수 있다. 제1 광 복조기(2108A)는 제 2 장치(2102)의 제2 광 변조기(2107B)으로부터 출력된 광 신호를 광 연결 장치(2104)를 통하여 수신하고 복조하여 복조된 전기 신호를 출력한다.
제2 광 변조기(2107B)는 제2 장치(2102)의 전송 데이터를 광 송신 신호로 변환하여 광 연결 장치(2104)로 전송한다. 제2 광 변조기(2107B)는 전송 데이터에 따라 제2 광원(2106B)에서 수신된 광 신호의 파장을 변조할 수 있다. 제2 광 복조기(2108B)는 제 1 장치(2101)의 제1 광 변조기(2107A)로부터 출력된 광 신호를 광 연결 장치(2103)를 통하여 수신하고 복조하여, 복조된 전기 신호를 출력한다.
도 25는 발명의 다양한 실시예들에 따른 선택적 ECC 동작을 수행하는 DRAM을 포함하는 서버 시스템을 설명하는 도면이다.
도 25를 참조하면, 서버 시스템(2200)은 메모리 컨트롤러(2202) 및 복수의 메모리 모듈들(2203)을 구비한다. 각각의 메모리 모듈(2203)은 복수의 DRAM 칩들(2204)을 포함할 수 있다. DRAM 칩(2204)은 DQ0-DQ7 셀 블락들 및 ECC 셀 블락의 메모리 셀 어레이와 ECC 유닛을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛은 DRAM 칩(2204)으로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정할 수 있다.
서버 시스템(2200)은 제1 회로 기판(2201)의 소켓들(2205)에 제2 회로 기판(2206)이 결합되는 구조를 가질 수 있다. 서버 시스템(2200)은 신호 채널 별로 하나의 제2회로 기판(2206)이 제1 회로 기판(2201)과 연결되는 채널 구조를 설계할 수 있다. 그러나 이에 제한되는 것은 아니고, 다양한 구조를 가질 수 있다.
한편, 메모리 모듈들(2203)의 신호의 전달이 광학적 입출력 접속(Optical IO Connection)으로 수행될 수 있다. 광학적 입출력 접속을 위해, 서버 시스템(2200)은 전-광 변환 유닛(2207)을 더 포함할 수 있으며, 메모리 모듈들(2203) 각각은 광-전 변환 유닛(2208)을 더 포함할 수 있다.
메모리 컨트롤러(2202)는 전기적 채널(EC)을 통하여 전-광 변환 유닛(2207)에 접속된다. 전-광 변환 유닛(2207)은 전기적 채널(EC)을 통하여 메모리 컨트롤러(2202)로부터 수신된 전기적 신호를 광 신호로 변환시켜 광 채널(OC) 측으로 전달한다. 또한, 전-광 변환 유닛(2207)은 광 채널(OC)을 통하여 수신되는 광 신호를 전기적 신호로 변환시켜 전기적 채널(EC) 측으로 전달하는 신호 처리를 실행한다.
메모리 모듈들(2203)은 광 채널(OC)을 통하여 전-광 변환 유닛(2207)과 접속된다. 메모리 모듈(2203)로 인가된 광 신호는 광-전 변환 유닛(2208)을 통해 전기적 신호로 변환되어 DRAM 칩들(2204)로 전달될 수 있다. 이와 같은 광 연결 메모리 모듈들로 구성된 서버 시스템(2200)은 높은 저장 용량과 빠른 처리 속도를 지원할 수 있다.
도 26은 본 발명에 다양한 실시예들에 따른 선택적 ECC를 수행하는 DRAM이 장착된 컴퓨터 시스템을 설명하는 도면이다.
도 26을 참조하면, 컴퓨터 시스템(2300)은 모바일 기기나 데스크 톱 컴퓨터 등에 장착될 수 있다. 컴퓨터 시스템(2300)은 시스템 버스(2304)에 전기적으로 연결되는 DRAM 메모리 시스템(2301), 중앙 처리 장치(2305), 사용자 인터페이스(2307) 및 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(2308)을 포함할 수 있다. 컴퓨터 시스템(2300)에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 입출력 장치 등이 더 제공될 수 있다.
사용자 인터페이스(2307)는 통신 네트워크로 데이터를 전송하거나 통신 네크워크로부터 데이터를 수신하기 위한 인터페이스일 수 있다. 사용자 인터페이스(2307)는 통신 네트워크로 데이터를 전송하거나 통신 네크워크로부터 데이터를 수신하기 위한 인터페이스일 수 있다. 사용자 인터페이스(2307)는 유무선 형태일 수 있고, 안테나 또는 유무선 트랜시버 등을 포함할 수 있다. 사용자 인터페이스(2307) 또는 모뎀(2308)을 통해 제공되거나 중앙 처리 장치(2305)에 의해서 처리된 데이터는 DRAM 메모리 시스템(2301)에 저장될 수 있다.
DRAM 메모리 시스템(2301)은 DRAM(2302)와 메모리 콘트롤러(2303)를 포함할 수 있다. DRAM(2302)에는 중앙 처리 장치(2305)에 의해서 처리된 데이터 또는 외부에서 입력된 데이터가 저장된다. DRAM(2302)은 DQ0-DQ7 셀 블락들 및 ECC 셀 블락의 메모리 셀 어레이와 ECC 유닛을 포함할 수 있다. ECC 셀 블락은 DQ0-DQ7 셀 블락들 불량 셀에 대한 패리티 비트들을 저장할 수 있다. ECC 유닛은 DRAM(2302)으로 인가되는 커맨드 또는 제어 신호에 응답하여, 불량 셀의 비트라인에 대해서 또는 불량 셀의 워드라인에 대해서 선택적으로 ECC 동작을 수행할 수 있다. ECC 유닛은 해당 불량 셀에 대한 패리티 비트들을 이용하여 에러 비트 위치를 검출하고, 에러 비트 데이터를 정정할 수 있다.
컴퓨터 시스템(2300)이 무선 통신을 수행하는 장비인 경우, 컴퓨터 시스템(2300)은 CDMA(Code Division Multiple Access), GSM(Global System for Mobile communication), NADC(North American Multiple Access), CDMA2000 과 같은 통신 시스템에서 사용될 수 있다. 컴퓨터 시스템(2300)은 개인 휴대용 정보 단말기(PDA: Personal Digital Assistant), 휴대용 컴퓨터, 웹 태블렛(web tablet), 디지털 카메라, PMP(Portable Media Player), 모바일 폰, 무선폰, 랩탑 컴퓨터와 같은 정보 처리 장치에 장착될 수 있다.
시스템에는 처리 속도가 빠른 캐시 메모리, RAM 등과 대용량 데이터를 저장하기 위한 스토리지를 따로 두었는데 대해, 본 발명의 실시예에 따른 DRAM 시스템 하나로 전술한 메모리들을 모두 대체할 수 있을 것이다. 즉, DRAM을 포함하는 메모리 장치에서 대용량의 데이터를 빠르게 저장할 수 있어, 컴퓨터 시스템 구조가 단순해질 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (26)

  1. 메모리 장치의 복수개의 메모리 셀들로/로부터 기입되거나 독출되는 데이터의 일부에 대하여 에러 정정을 선택적으로 수행하는 에러 정정 회로를 포함하고,
    상기 데이터의 일부는 불량 셀 어드레스 정보와 수신된 어드레스 정보와의 비교에 의해 결정되고,
    상기 에러 정정 회로는,
    상기 데이터에 대하여 에러 정정을 선택적으로 수행하는 에러 정정 코딩 회로; 및
    상기 불량 셀 어드레스 정보와 상기 수신된 어드레스 정보와의 상기 비교에 응답하여 상기 에러 정정 코딩 회로를 제어하는 제어 로직부를 포함하고,
    상기 제어 로직부는,
    상기 불량 셀 어드레스 정보와 상기 수신된 어드레스 정보와의 상기 비교에 기초하여 매치 신호를 출력하는 비교 회로를 포함하고,
    상기 에러 정정 코딩 회로는 상기 매치 신호에 기초하여 에러 정정을 선택적으로 수행하는 것을 특징으로 하는 에러 정정 장치.
  2. 제1항에 있어서,
    상기 데이터의 일부는 상기 복수개의 메모리 셀들의 서브세트로/로부터 기입되거나 독출되는 데이터 중 적어도 하나이고, 상기 서브세트는 상기 복수개의 메모리 셀들 중 적어도 하나의 불량 셀을 포함하고,
    상기 에러 정정 장치는 상기 적어도 하나의 불량 셀에 대한 상기 불량 셀 어드레스 정보를 저장하는 불량 어드레스 저장부를 더 포함하는 에러 정정 장치.
  3. 제2항에 있어서,
    상기 에러 정정 회로는 전기적인 퓨즈 프로그래밍을 이용하여 메모리 셀들을 불량 셀들로 업데이트하는 것을 특징으로 하는 에러 정정 장치.
  4. 제3항에 있어서,
    상기 전기적인 퓨즈는 안티-퓨즈인 것을 특징으로 하는 에러 정정 장치.
  5. 제1항에 있어서,
    상기 불량 셀 어드레스 정보는 불량 셀 로우 어드레스와 불량 셀 칼럼 어드레스를 포함하고, 상기 수신된 어드레스 정보는 상기 복수개의 메모리 셀들 중 메모리 셀에 대하여 수신된 로우 어드레스와 수신된 칼럼 어드레스를 포함하고,
    상기 비교 회로는,
    상기 불량 셀 로우 어드레스와 상기 수신된 로우 어드레스와의 비교에 기초하여 로우 매치 신호를 출력하는 제1 비교부; 및
    상기 불량 셀 칼럼 어드레스와 상기 수신된 칼럼 어드레스와의 비교에 기초하여 상기 매치 신호를 출력하는 제2 비교부를 포함하는 에러 정정 장치.
  6. 제5항에 있어서,
    상기 제1 비교부는 상기 불량 셀 로우 어드레스와 상기 수신된 로우 어드레스와의 비교에 기초하여 불량 셀 칼럼 위치 신호를 더 출력하고,
    상기 에러 정정 장치는 상기 로우 매치 신호와 상기 불량 셀 칼럼 위치 신호에 응답하여 상기 불량 셀 칼럼 어드레스를 출력하는 불량 셀 칼럼 어드레스 테이블을 더 포함하는 것을 특징으로 하는 에러 정정 장치.
  7. 제1항에 있어서,
    상기 에러 정정 코딩 회로는 상기 매치 신호와 지시 신호에 기초하여 상기 에러 정정을 선택적으로 수행하고, 상기 지시 신호는 수신된 커맨드가 독출 커맨드 또는 기입 커맨드인지를 나타내는 것을 특징으로 하는 에러 정정 장치.
  8. 제7항에 있어서,
    상기 에러 정정 코딩 회로는 상기 메모리 장치로부터 상기 데이터를 독출하고, 상기 수신된 커맨드가 상기 독출 커맨드이고 상기 매치 신호가 상기 수신된 어드레스 정보와 상기 불량 셀 어드레스 정보가 매치된다는 것을 나타낼 때 상기 독출된 데이터에 대하여 상기 에러 정정을 수행하는 것을 특징으로 하는 에러 정정 장치.
  9. 제7항에 있어서,
    상기 에러 정정 코딩 회로는 상기 수신된 커맨드가 상기 기입 커맨드이고 상기 매치 신호가 상기 수신된 어드레스 정보와 상기 불량 셀 어드레스 정보가 매치된다는 것을 나타낼 때 상기 데이터에 대하여 에러 정정 패리티 코드를 발생하고,
    상기 에러 정정 코딩 회로는 상기 에러 정정 패리티 코드와 상기 데이터를 상기 메모리 장치에 저장하는 것을 특징으로 하는 에러 정정 장치.
  10. 제1항에 있어서,
    상기 에러 정정 코딩 회로는 상기 메모리 장치의 동일한 워드라인에 연결된 적어도 2개의 불량 셀들에 대하여 상기 에러 정정을 선택적으로 수행하는 것을 특징으로 하는 에러 정정 장치.
  11. 메모리 장치의 복수개의 메모리 셀들로/로부터 기입되거나 독출되는 데이터의 일부에 대하여 에러 정정을 선택적으로 수행하는 에러 정정 회로를 포함하고,
    상기 데이터의 일부는 불량 셀 어드레스 정보와 수신된 어드레스 정보와의 비교에 의해 결정되고,
    상기 에러 정정 회로는,
    상기 데이터에 대하여 에러 정정을 선택적으로 수행하는 에러 정정 코딩 회로; 및
    상기 불량 셀 어드레스 정보와 상기 수신된 어드레스 정보와의 상기 비교에 응답하여 상기 에러 정정 코딩 회로를 제어하는 제어 로직부를 포함하고,
    상기 제어 로직부는,
    상기 불량 셀 어드레스 정보와 상기 수신된 어드레스 정보와의 상기 비교에 기초하여 매치 신호와 에러 정정 칼럼 어드레스를 출력하는 비교 회로를 포함하고,
    상기 에러 정정 코딩 회로는 상기 매치 신호와 상기 에러 정정 칼럼 어드레스에 기초하여 에러 정정을 선택적으로 수행하는 것을 특징으로 하는 에러 정정 장치.
  12. 제11항에 있어서,
    상기 불량 셀 어드레스 정보는 불량 셀 로우 어드레스와 불량 셀 칼럼 어드레스를 포함하고, 상기 수신된 어드레스 정보는 상기 복수개의 메모리 셀들 중 메모리 셀에 대하여 수신된 로우 어드레스와 수신된 칼럼 어드레스를 포함하고,
    상기 비교 회로는,
    상기 불량 셀 로우 어드레스와 상기 수신된 로우 어드레스와의 비교에 기초하여 로우 매치 신호를 출력하는 제1 비교부; 및
    상기 불량 셀 칼럼 어드레스와 상기 수신된 칼럼 어드레스와의 비교에 기초하여 상기 매치 신호와 상기 에러 정정 칼럼 어드레스를 출력하는 제2 비교부를 포함하는 에러 정정 장치.
  13. 제12항에 있어서, 상기 에러 정정 장치는
    상기 에러 정정 칼럼 어드레스에 기초하여 상기 에러 정정을 수행하는데 이용하기 위하여 에러 정정 셀 블락의 에러 정정 셀들을 선택하는 에러 정정 칼럼 디코더를 더 포함하는 것을 특징으로 하는 에러 정정 장치.
  14. 제13항에 있어서,
    상기 에러 정정 코딩 회로는 상기 매치 신호, 상기 에러 정정 칼럼 어드레스 및 지시 신호에 기초하여 상기 에러 정정을 선택적으로 수행하고, 상기 지시 신호는 수신된 커맨드가 독출 커맨드 또는 기입 커맨드인지를 나타내는 것을 특징으로 하는 에러 정정 장치.
  15. 제14항에 있어서,
    상기 에러 정정 코딩 회로는 상기 메모리 장치의 메모리 셀들로부터 상기 데이터를 독출하고, 상기 에러 정정 셀 블락의 상기 선택된 에러 정정 셀들로부터 에러 정정 패리티 코드를 독출하고, 상기 수신된 커맨드가 상기 독출 커맨드이고 상기 매치 신호가 상기 수신된 어드레스 정보와 상기 불량 셀 어드레스 정보가 매치된다는 것을 나타낼 때 상기 에러 정정 패리티 코드에 기초하여 상기 독출된 데이터에 대하여 상기 에러 정정을 수행하는 것을 특징으로 하는 에러 정정 장치.
  16. 제14항에 있어서,
    상기 에러 정정 코딩 회로는 상기 수신된 커맨드가 상기 기입 커맨드이고 상기 매치 신호가 상기 수신된 어드레스 정보와 상기 불량 셀 어드레스 정보가 매치된다는 것을 나타낼 때 상기 데이터에 대하여 에러 정정 패리티 코드를 발생하고, 상기 데이터를 상기 메모리 장치에 저장하고, 상기 에러 정정 패리티 코드를 상기 에러 정정 셀 블락의 상기 선택된 에러 정정 셀들에 저장하는 것을 특징으로 하는 에러 정정 장치.
  17. 제13항에 있어서,
    상기 에러 정정 셀 블락은 복수개의 에러 정정 서브 블락들을 포함하고, 상기 에러 정정 칼럼 디코더는 상기 복수개의 에러 정정 서브 블락들에서 상기 에러 정정 셀들을 선택하여 상기 에러 정정을 수행하는 것을 특징으로 하는 에러 정정 장치.
  18. 메모리 장치의 복수개의 메모리 셀들로/로부터 기입되거나 독출되는 데이터의 일부에 대하여 에러 정정을 선택적으로 수행하는 에러 정정 회로를 포함하고,
    상기 데이터의 일부는 불량 셀 어드레스 정보와 수신된 어드레스 정보와의 비교에 의해 결정되고,
    상기 에러 정정 회로는,
    상기 데이터에 대하여 에러 정정을 선택적으로 수행하는 에러 정정 코딩 회로; 및
    상기 불량 셀 어드레스 정보와 상기 수신된 어드레스 정보와의 상기 비교에 응답하여 상기 에러 정정 코딩 회로를 제어하는 제어 로직부를 포함하고,
    상기 제어 로직부는,
    상기 불량 셀 어드레스 정보를 저장하고, 수신된 커맨드에 응답하여 상기 불량 셀 어드레스 정보를 출력하는 어드레스 저장 테이블;
    상기 어드레스 저장 테이블에서 출력되는 상기 불량 셀 어드레스 정보와 상기 수신된 어드레스 정보에 기초하여 제1 및 제2 비교 신호들을 출력하는 비교 회로; 및
    상기 제1 및 제2 비교 신호들에 기초하여 매치 신호를 출력하는 로직부를 포함하고,
    상기 에러 정정 코딩 회로는 상기 매치 신호에 기초하여 에러 정정을 선택적으로 수행하는 것을 특징으로 하는 에러 정정 장치.
  19. 제18항에 있어서,
    상기 불량 셀 어드레스 정보는 불량 셀 로우 어드레스와 불량 셀 칼럼 어드레스를 포함하고, 상기 수신된 어드레스 정보는 수신된 로우 어드레스와 수신된 칼럼 어드레스를 포함하고,
    상기 비교 회로는,
    상기 불량 셀 로우 어드레스와 상기 수신된 로우 어드레스와의 비교에 기초하여 상기 제1 비교 신호를 출력하는 제1 비교부; 및
    상기 불량 셀 칼럼 어드레스와 상기 수신된 칼럼 어드레스와의 비교에 기초하여 상기 제2 비교 신호를 출력하는 제2 비교부를 포함하는 에러 정정 장치.
  20. 제18항에 있어서,
    상기 어드레스 저장 테이블은 상기 메모리 장치의 에러 정정 셀들에 대한 에러 정정 칼럼 어드레스 정보를 저장하고, 상기 수신된 커맨드에 응답하여 에러 정정 셀에 대한 에러 정정 칼럼 어드레스를 출력하고,
    상기 제어 로직부는 상기 매치 신호와 상기 에러 정정 칼럼 어드레스에 기초하여 선택적인 에러 정정 코딩을 수행하는 것을 특징으로 하는 에러 정정 장치.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
KR1020130016594A 2012-07-03 2013-02-15 선택적 ecc 동작을 수행하는 메모리 장치 KR102083498B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/915,179 US9235466B2 (en) 2012-07-03 2013-06-11 Memory devices with selective error correction code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261667779P 2012-07-03 2012-07-03
US61/667,779 2012-07-03

Publications (2)

Publication Number Publication Date
KR20140005757A KR20140005757A (ko) 2014-01-15
KR102083498B1 true KR102083498B1 (ko) 2020-04-14

Family

ID=50141096

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130016594A KR102083498B1 (ko) 2012-07-03 2013-02-15 선택적 ecc 동작을 수행하는 메모리 장치

Country Status (1)

Country Link
KR (1) KR102083498B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11816006B2 (en) 2021-11-02 2023-11-14 Samsung Display Co., Ltd. Data error detection method and display device including the same
US11886289B2 (en) 2021-11-11 2024-01-30 Samsung Display Co., Ltd. Display device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102193682B1 (ko) * 2014-08-01 2020-12-21 삼성전자주식회사 선택적 ecc 기능을 갖는 반도체 메모리 장치
KR102204390B1 (ko) * 2014-09-12 2021-01-18 삼성전자주식회사 빠른 불량 셀 구제 동작의 메모리 장치
KR102298607B1 (ko) * 2015-02-17 2021-09-06 삼성전자주식회사 저항성 메모리 시스템 및 저항성 메모리 시스템의 동작 방법
KR102025880B1 (ko) * 2015-05-27 2019-09-26 에스케이하이닉스 주식회사 에러 보정 기능을 갖는 메모리 장치 및 그의 에러 보정 방법
KR101860809B1 (ko) 2015-09-30 2018-07-06 서울대학교산학협력단 메모리 시스템 및 메모리 에러 정정 방법
KR20180061445A (ko) 2016-11-28 2018-06-08 에스케이하이닉스 주식회사 메모리 장치
EP3370152B1 (en) * 2017-03-02 2019-12-25 INTEL Corporation Integrated error checking and correction (ecc) in memory devices with fixed bandwidth interfaces
US11204826B2 (en) 2018-09-28 2021-12-21 Taiwan Semiconductor Manufacturing Company, Ltd. Memory error detection and correction
TWI714277B (zh) * 2018-09-28 2020-12-21 台灣積體電路製造股份有限公司 記憶體錯誤偵測及校正
KR20200046245A (ko) * 2018-10-24 2020-05-07 삼성전자주식회사 메모리 모듈 및 메모리 시스템의 동작 방법
US10872010B2 (en) 2019-03-25 2020-12-22 Micron Technology, Inc. Error identification in executed code
WO2023047149A1 (en) * 2021-09-23 2023-03-30 Micron Technology, Inc. Improved ecc configuration in memories

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8190968B2 (en) 2006-11-03 2012-05-29 Samsung Electronics Co., Ltd. Semiconductor memory device and data error detection and correction method of the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190968B2 (en) 2006-11-03 2012-05-29 Samsung Electronics Co., Ltd. Semiconductor memory device and data error detection and correction method of the same
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11816006B2 (en) 2021-11-02 2023-11-14 Samsung Display Co., Ltd. Data error detection method and display device including the same
US11886289B2 (en) 2021-11-11 2024-01-30 Samsung Display Co., Ltd. Display device

Also Published As

Publication number Publication date
KR20140005757A (ko) 2014-01-15

Similar Documents

Publication Publication Date Title
KR102083498B1 (ko) 선택적 ecc 동작을 수행하는 메모리 장치
US9875155B2 (en) Memory device for performing error correction code operation and redundancy repair operation
US9235466B2 (en) Memory devices with selective error correction code
US11239960B2 (en) Characterization of in-chip error correction circuits and related semiconductor memory devices/memory systems
US11216339B2 (en) Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices
CN109754828B (zh) 半导体存储器装置及其操作方法、存储器系统
KR102032371B1 (ko) 마스크드 라이트 동작을 수행하는 메모리 장치
US9287004B2 (en) Semiconductor memory device and system having redundancy cells
US9129702B2 (en) Method of refreshing volatile memory device
US9455047B2 (en) Memory device to correct defect cell generated after packaging
US10404286B2 (en) Memory modules, memory systems including the same and methods of operating memory systems
US10867690B2 (en) Memory modules and methods of operating memory systems including the same
KR20140027810A (ko) 리던던시 셀을 포함하는 반도체 메모리 장치 및 시스템
CN109036492A (zh) 半导体存储器装置及其操作方法以及存储器系统
KR20170014109A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
CN112216332A (zh) 半导体存储器装置和操作半导体存储器装置的方法
KR20130050233A (ko) 리던던시 영역을 구비한 반도체 메모리 장치 및 시스템
US11803501B2 (en) Routing assignments based on error correction capabilities
KR20240007996A (ko) 반도체 메모리 장치 및 메모리 모듈
CN117437966A (zh) 半导体存储器装置和包括半导体存储器装置的存储器系统

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant