KR20160031326A - 빠른 불량 셀 구제 동작의 메모리 장치 - Google Patents

빠른 불량 셀 구제 동작의 메모리 장치 Download PDF

Info

Publication number
KR20160031326A
KR20160031326A KR1020140121271A KR20140121271A KR20160031326A KR 20160031326 A KR20160031326 A KR 20160031326A KR 1020140121271 A KR1020140121271 A KR 1020140121271A KR 20140121271 A KR20140121271 A KR 20140121271A KR 20160031326 A KR20160031326 A KR 20160031326A
Authority
KR
South Korea
Prior art keywords
cell
defective
memory
memory device
cells
Prior art date
Application number
KR1020140121271A
Other languages
English (en)
Other versions
KR102204390B1 (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 KR1020140121271A priority Critical patent/KR102204390B1/ko
Priority to US14/683,705 priority patent/US10235258B2/en
Publication of KR20160031326A publication Critical patent/KR20160031326A/ko
Application granted granted Critical
Publication of KR102204390B1 publication Critical patent/KR102204390B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • 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
    • 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
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Abstract

본 발명은 빠른 불량 셀 구제 동작을 수행하는 메모리 장치에 대하여 개시된다. 메모리 장치는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이와, 불량 셀에 대한 ECC 동작을 수행하는 ECC 엔진을 포함한다. 메모리 셀 어레이는 복수개의 메모리 셀들 중 다른 일부에 불량 셀에 대한 패리티 비트들을 저장할 수 있다. 메모리 장치는 메모리 셀 어레이에서 발생된 불량 셀에 대한 정보를 저장하는 저장부를 포함하고, 저장부는 메모리 장치의 초기화 동작 동안 불량 셀에 대한 정보가 복수개의 메모리 셀들 중 일부에 저장되도록 한다.

Description

빠른 불량 셀 구제 동작의 메모리 장치 {Memory device with fast fail cell repair}
본 발명은 반도체 메모리 장치에 관한 것으로서, 더욱 상세하게는 빠른 불량 셀 구제를 위하여 불량 셀 정보를 메모리 셀에 복사(copy)하여 저장되도록 하여 불량 셀을 구제하는 메모리 장치 및 메모리 시스템에 관한 것이다.
메모리 장치의 메모리 용량은 제조 공정 기술의 발달로 증가하고 있다. 미세화 공정 기술이 진행됨에 따라 불량이 있는 메모리 셀들의 수도 증가하고 있다. 불량 셀들의 증가는 메모리 용량을 보장하기 어렵게 하고 메모리 장치의 생산 수율을 감소시킨다. 메모리 장치의 수율을 향상시키기 위하여, 불량 셀에 대한 정보를 안티-퓨즈와 같은 비휘발성 메모리 소자에 저장하고, 안티-퓨즈에 저장된 불량 셀 정보를 이용하여 불량 셀을 구제할 수 있다. 그런데, 안티-퓨즈로부터 불량 셀 정보를 읽어내는 데 걸리는 시간이 상당히 길다. 이에 따라, 메모리 장치는 불량 셀 구제로 기인한 동작 지연이 불가피하다. 불량 셀 구제에 따른 지연을 줄일 수 있는 방안이 요구된다.
본 발명이 이루고자 하는 기술적 과제는 불량 셀 정보를 복수개의 메모리 셀들 중 일부에 복사하여 저장되도록 하고, 메모리 셀에 저장된 불량 셀 정보를 이용하여 빠른 불량 셀 구제 동작을 수행하는 메모리 장치와 메모리 시스템을 제공하는 데 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 일면에 따른 메모리 장치는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이와, 불량 셀에 대한 ECC (Error Correction Code) 동작을 수행하는 ECC 엔진을 포함한다.
본 발명의 실시예들에 따라, ECC 엔진은 메모리 장치의 버스트 길이 (BL) 데이터 중에서 불량 셀로 인한 에러 비트를 포함하는 해당 버스트 데이터에 대하여 ECC 동작을 수행할 수 있다.
본 발명의 실시예들에 따라, 메모리 셀 어레이는 복수개의 메모리 셀들 중 다른 일부에 불량 셀에 대한 패리티 비트들을 저장할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치는 메모리 셀 어레이의 로우들 각각에서 발생된 불량 셀에 대한 정보를 저장하는 저장부를 더 포함할 수 있다. 저장부는 메모리 장치의 초기화 동작 동안 불량 셀에 대한 정보가 복수개의 메모리 셀들 중 일부에 저장되도록 할 수 있다.
본 발명의 실시예들에 따라, 저장부는 불량 셀의 어드레스, 불량 셀의 위치를 나타내는 오더링 정보 및 참 불량 셀 정보임을 나타내는 마스터 정보를 저장할 수 있다.
본 발명의 실시예들에 따라, 저장부는 전기적인 퓨즈 프로그래밍을 이용하여 불량 셀에 대한 정보를 저장할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치는 복수개의 메모리 셀들 중 일부에서 독출되는 불량 셀에 대한 정보와 메모리 장치의 외부로부터 수신되는 억세스 어드레스와의 비교를 바탕으로 제어 신호를 출력하는 비교부를 더 포함할 수 있다. ECC 엔진은 제어 신호에 응답하여 ECC 동작을 수행할 수 있다.
본 발명의 실시예들에 따라, 메모리 셀 어레이는 메모리 장치의 제1 동작 모드에 따라, 복수개의 메모리 셀들에 저장된 데이터가 대응되는 n (n은 짝수)개의 데이터 입출력 패드들(DQ)을 통하여 입출력되도록 n개의 DQ 셀 블락들로 구성되고, 제2 동작 모드에 따라, 복수개의 메모리 셀들에 저장된 데이터가 n/2 개의 DQ 패드들로 입출력되도록 n개의 DQ 셀 블락들이 n/2개의 하위(lower) DQ 셀 블락들과 n/2개의 상위(upper) DQ 셀 블락들로 구성되도록 할 수 있다. 제1 동작 모드는 X8 모드이고, 제2 동작 모드는 X4 모드이고, n은 8로 설정될 수 있다.
본 발명의 실시예들에 따라, 불량 셀에 대한 정보를 저장하는 복수개의 메모리 셀들 중 일부는 하위 DQ 셀 블락들에서 발생된 불량 셀에 대한 정보를 저장하는 FCSL 셀 블락과 상위 DQ 셀 블락들에서 발생된 불량 셀에 대한 정보를 저장하는 FCSU 셀 블락으로 구성될 수 있다.
본 발명의 실시예들에 따라, FCSL 셀 블락과 FCSU 블락은 DQ 셀 블락들과 연결되는 데이터 라인들을 공유할 수 있다.
본 발명의 실시예들에 따라, FCSL 셀 블락과 FCSU 블락은 저장된 불량 셀 정보에 대한 ECC 동작에 이용되는 패리티 비트들을 저장할 수 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 다른 면에 따른 메모리 장치는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이, 그리고 불량 셀을 구제하기 위하여, 데이터 라인 리페어 (Data Line Repair: DLR) 동작을 수행하도록 하는 리던던시 제어 회로를 포함한다.
본 발명의 실시예들에 따라, 메모리 장치는 복수개의 메모리 셀들 중 일부에서 독출되는 불량 셀에 대한 정보와 메모리 장치의 외부로부터 수신되는 억세스 어드레스와의 비교를 바탕으로 제어 신호를 출력하는 비교부를 더 포함할 수 있다. 리던던시 제어 회로는 제어 신호에 응답하여 DLR 동작을 수행할 수 있다.
본 발명의 실시예들에 따라, 메모리 셀 어레이는 복수개의 메모리 셀들 중 다른 일부는 메모리 셀들에 저장된 데이터가 대응되는 데이터 입출력 패드들(DQ)을 통하여 입출력되도록 DQ 셀 블락들로 구성되고, 복수개의 메모리 셀들 중 나머지 일부는 불량 셀을 구제하는 리던던시 셀들을 포함하는 리던던시 셀 블락으로 구성되도록 할 수 있다.
본 발명의 실시예들에 따라, 리던던시 제어 회로는 제어 신호에 응답하여 DQ 셀 블락들에서 발생된 불량 셀이 연결되는 데이터 라인이 리던던시 셀 블락과 연결되는 데이터 라인으로 교체되도록 하는 스위칭부를 포함할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치는 DQ 셀 블락들 각각이 스위칭부들을 통하여 해당 데이터 라인과 대응적으로 연결되는 구조에서, 스위칭부는 제어 신호에 응답하여 불량 셀이 발생된 DQ 셀 블락과 데이터 라인의 연결을 차단하고, 차단된 DQ 블락의 데이터 라인으로 인해 쉬프트된 구조로 DQ 셀 블락들 및 리던던시 셀 블락이 데이터 라인과 연결되도록 할 수 있다.
본 발명의 실시예들에 따라, 리던던시 제어 회로는 제어 신호에 응답하여 DQ 셀 블락들에서 발생된 불량 셀의 비트라인이 리던던시 셀 블락의 비트라인으로 교체되도록 하는 스위치를 포함할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치는 DQ 셀 블락들의 비트라인 각각이 스위치들을 통하여 해당 데이터 라인과 대응적으로 연결되는 구조에서, 스위치는 제어 신호에 응답하여 불량 셀이 연결되는 비트라인과 데이터 라인의 연결을 차단하고, 차단된 비트라인으로 인해 쉬프트된 구조로 DQ 셀 블락들 및 리던던시 셀 블락의 비트라인이 데이터 라인과 연결되도록 할 수 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 다른 면에 따른 메모리 장치의 동작 방법은, 복수개의 메모리 셀들 중 불량 셀에 대한 어드레스 정보를 저장부에 저장하는 단계, 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 어드레스 정보를 저장부로부터 복사하여 저장하는 단계, 복수개의 메모리 셀들 중 일부에서 독출되는 불량 셀에 대한 어드레스 정보와 억세스 어드레스를 비교하는 단계, 그리고 비교 결과, 불량 셀에 대한 어드레스 정보와 억세스 어드레스가 일치하는 경우, 불량 셀에 대한 ECC (Error Correction Code) 동작을 수행하는 단계를 포함한다.
본 발명의 실시예들에 따라, ECC 동작은 메모리 장치의 버스트 길이 (BL) 데이터 중에서 불량 셀로 인한 에러 비트를 포함하는 해당 버스트 데이터에 대하여 수행할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치의 동작 방법은 복수개의 메모리 셀들 중 다른 일부에 불량 셀에 대한 패리티 비트들을 저장하는 단계를 더 포함할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치의 동작 방법은 메모리 장치의 초기화 동작 동안 상기 저장부의 상기 불량 셀에 대한 어드레스 정보가 상기 복수개의 메모리 셀들 중 일부에 저장되도록 할 수 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 다른 면에 따른 메모리 장치의 동작 방법은, 복수개의 메모리 셀들 중 불량 셀에 대한 어드레스 정보를 저장부에 저장하는 단계, 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 어드레스 정보를 저장부로부터 복사하여 저장하는 단계, 복수개의 메모리 셀들 중 일부에서 독출되는 불량 셀에 대한 어드레스 정보와 억세스 어드레스를 비교하는 단계, 그리고 비교 결과, 불량 셀에 대한 어드레스 정보와 억세스 어드레스가 일치하는 경우, 불량 셀에 대한 DLR (Data Line Repair) 동작을 수행하는 단계를 포함한다.
본 발명의 실시예들에 따라, 메모리 장치의 동작 방법은 복수개의 메모리 셀들 중 다른 일부를 불량 셀을 구제하는 리던던시 셀들로 이용할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치의 동작 방법은 불량 셀의 비트라인이 연결되는 소정 비트들의 데이터 라인이 리던던시 셀들이 연결되는 데이터 라인으로 교체되도록 할 수 있다.
본 발명의 실시예들에 따라, 메모리 장치의 동작 방법은 불량 셀의 비트라인이 리던던시 셀들이 연결되는 비트라인으로 교체되도록 할 수 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 다른 면에 따른 메모리 시스템은, 복수개의 메모리 셀들을 갖는 메모리 셀 어레이를 포함하는 메모리 장치와, 메모리 장치와 연결되는 메모리 콘트롤러를 포함한다. 메모리 장치는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이와, 불량 셀에 대한 ECC (Error Correction Code) 동작을 수행하는 ECC 엔진을 포함한다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 다른 면에 따른 메모리 시스템은, 복수개의 메모리 셀들을 갖는 메모리 셀 어레이를 포함하는 메모리 장치와, 메모리 장치와 연결되는 메모리 콘트롤러를 포함한다. 메모리 장치는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이, 그리고 불량 셀을 구제하기 위하여, 데이터 라인 리페어 (Data Line Repair: DLR) 동작을 수행하도록 하는 리던던시 제어 회로를 포함한다.
상술한 본 발명의 메모리 장치는, 불량 셀을 구제함에 있어서 억세스 어드레스 중 억세스 로우 어드레스는 비교되지 않고, 억세스 칼럼 어드레스만이 메모리 셀 어레이 내 일부 메모리 셀들에 저장된 불량 칼럼 어드레스와 비교되게 함으로써, 빠른 비교 결과를 얻을 수 있다. 빠른 비교 결과를 바탕으로, 불량 셀이 ECC 동작 또는 DLR 동작에 의해 구제되므로 메모리 장치의 동작 지연을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 설명하는 도면이다.
도 2는 도 1의 메모리 장치의 동작 방법을 설명하는 플로우챠트이다.
도 3a 내지 도 3c는 도 1의 메모리 장치에서 X8 모드 동작을 설명하는 도면들이다.
도 4는 도 1의 메모리 장치의 X4 모드 동작을 설명하는 도면이다.
도 5a 및 도 5b는 도 4의 메모리 장치에서 메모리 셀 어레이의 FCS 셀 어레이를 설명하는 도면이다.
도 6a 및 도 6b는 도 5a의 FCS 셀 블락에 저장되는 불량 셀 정보를 설명하는 도면들이다.
도 7은 도 5a의 메모리 장치에서 데이터 라인 구조를 설명하는 도면이다.
도 8 및 도 9는 도 1의 저장부를 설명하는 도면들이다.
도 10은 도 1의 비교부를 설명하는 블락 다이어그램이다.
도 11은 도 1의 ECC 엔진을 설명하는 도면이다.
도 12는 도 11의 제1 ECC 엔진을 설명하는 도면이다.
도 13a 및 도 13b는 도 12의 ECC 인코딩 회로와 ECC 디코딩 회로를 설명하는 도면들이다.
도 14는 본 발명의 다른 실시예에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 설명하는 도면이다.
도 15는 도 14의 메모리 장치의 동작 방법을 설명하는 플로우챠트이다.
도 16a및 도 16b는 도 14의 메모리 장치에서 데이터 라인 단위의 DLR 동작을 설명하는 도면들이다.
도 17a및 도 17b는 도 14의 메모리 장치에서 비트라인 라인 단위의 DLR 동작을 설명하는 도면들이다.
도 18은 본 발명의 다른 실시예에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 설명하는 도면이다.
도 19는 본 발명의 실시예들에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 모바일 시스템에 응용한 예를 나타내는 블록도이다.
도 20은 본 발명의 실시예들에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
반도체 메모리 장치, 예컨대 DRAM (Dynamic Random Access Memory)의 메모리 용량은 제조 공정 기술의 발달로 증가하고 있다. 미세화 공정 기술이 진행됨에 따라 불량 메모리 셀들의 수도 증가하고 있다. 수율 확보를 위하여, 불량 메모리 셀들은 리던던트 메모리 셀들로 교체되어 리페어되거나, ECC (Error Correction Code) 동작을 이용하여 리페어될 수 있다.
도 1은 본 발명의 일 실시예에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 설명하는 도면이다.
도 1을 참조하면, 메모리 장치(100)는 불량 셀 구제를 위하여 ECC 동작을 수행한다. 메모리 장치(100)는 메모리 셀 어레이(110), 제어 로직부(120), 그리고 ECC 엔진(130)을 포함한다.
메모리 셀 어레이(110)는 로우들 및 칼럼들로 배열되는 복수개의 메모리 셀들을 포함한다. 메모리 셀 어레이(110)의 로우들은 로우 디코더에 의해 억세스되는 워드라인들로 구성되고, 칼럼들은 칼럼 디코더에 의해 억세스되는 비트라인들로 구성된다. 워드라인들과 비트라인들의 교차점들에 연결되는 메모리 셀들은 DRAM (Dynamic Random Access Memory) 셀들로 구성될 수 있다.
메모리 셀 어레이(110)는 노멀 셀 어레이(112), 불량 셀 정보 저장용 셀 어레이(114), 그리고 ECC 셀 어레이(116)를 포함할 수 있다. 노멀 셀 어레이(112)는 메모리 장치(100)의 메모리 용량을 결정하는 메모리 블락이다. 노멀 셀 어레이(112)에서, 하나의 로우에 연결되는 메모리 셀들 중에서 불량 셀(● 표시)이 존재할 수 있다. 불량 셀에는 하드웨어적으로 불량인 셀, 각종 소자 특성 저하를 나타내는 셀, 예컨대, 짧은 리프레쉬 시간을 가지는 셀, 셀 기입 특성 저하 또는 가변적인 리텐션 시간(variable retention time)을 보이는 셀 등이 포함될 수 있다. 불량 셀이 연결되는 로우와 칼럼은 불량 로우 어드레스(FRA)와 불량 칼럼 어드레스(FCA)에 의해 어드레싱될 수 있다.
불량 셀 정보 저장용 셀 어레이(114)는 제어 로직부(120)의 저장부(122)에 저장된 불량 셀 정보를 복사하여 저장하는 메모리 블락이다. 저장부(122)는 노멀 셀 어레이(112)에서 발생된 불량 셀의 불량 로우 어드레스(FRA) 및 불량 칼럼 어드레스(FCA)를 저장할 수 있다. 불량 셀 정보 저장용 셀 어레이(114)는 불량 로우 어드레스(FRA)에 의해 억세스되는 메모리 셀들에 불량 칼럼 어드레스(FCA)를 저장할 수 있다.
불량 칼럼 어드레스(FCA)는 칼럼 디코더를 통하여 불량 셀과 연결되는 비트라인들을 선택하는 칼럼 선택 신호로 발생될 수 있다. 불량 셀 정보 저장용 셀 어레이(114)에 저장되는 불량 칼럼 어드레스(FCA)는 노멀 셀 어레이(112)의 불량 셀을 억세스하는 불량 칼럼 선택 신호(Fail Column Select Signal: FCS)를 의미한다. 이에 따라, 불량 셀 정보 저장용 셀 어레이(114)는 실질적으로 불량 칼럼 선택 신호(FCS)를 저장하는 메모리 블락이 될 수 있다. 설명의 편의를 위하여, 불량 셀 정보 저장용 셀 어레이(114)는 FCS 셀 어레이(114)라고 칭한다.
FCS 셀 어레이(114)는 제어 로직부(120)의 저장부(122)로부터 불량 로우 어드레스(FRA)에 의해 억세스되는 메모리 셀들에 불량 칼럼 어드레스(FCA)를 포함하는 불량 셀 정보를 복사하여 저장하고, 저장된 불량 칼럼 어드레스(FCA)를 제어 로직부(120)의 비교부(124)로 제공할 수 있다. 비교부(124)는 FCS 셀 어레이(114)의 불량 로우 어드레스(FRA)의 메모리 셀들로부터 출력되는 불량 칼럼 어드레스(FCA)와 메모리 장치(100)의 기입 또는 독출 동작의 억세스 어드레스를 비교할 수 있다.
비교부(124)는 억세스 어드레스를 FCS 셀 어레이(114)에서 출력되는 불량 셀 어드레스(FRA, FCA)와 비교함으로써, 저장부(122)의 불량 셀 어드레스(FRA, FCA)와 비교하는 것에 비하여 빠른 비교 결과를 얻을 수 있다. 억세스 어드레스가 불량 셀 어드레스(FRA, FCA)와 일치하는 경우, 불량 셀 어드레스(FRA, FCA)에 상응하는 메모리 셀들에 대한 ECC 동작 여부가 빠르게 결정될 수 있다.
ECC 셀 어레이(116)은 노멀 셀 어레이(112) 내 하나의 로우에 연결되는 메모리 셀들 중에서 1개 불량 셀이 있는 경우, 이 1개 불량 셀을 구제하는 용도로 사용된다. ECC 셀 어레이(116)은 불량 셀에 대하여 ECC 동작을 수행하기 위하여 패리티 비트들을 저장할 수 있다. 패리티 비트들은 ECC 엔진(130)에서 제공될 수 있다.
제어 로직부(120)는 메모리 장치(100)의 외부에서 인가되는 억세스 어드레스가 불량 셀을 어드레싱하는지 여부를 판단할 수 있다. 제어 로직부(120)는 노멀 셀 어레이(112)에서 발생된 불량 셀의 어드레스(FRA, FCA)를 포함하는 불량 셀 정보를 저장할 수 있다. 제어 로직부(120)는 FCS 셀 어레이(114)에서 출력되는 불량 셀 어드레스(FRA, FCA)와 메모리 장치(100)의 외부에서 인가되는 억세스 어드레스를 비교하고, 비교 결과에 따라 ECC 동작을 수행할지 여부를 판단할 수 있다. 제어 로직부(120)는 불량 셀 정보를 저장하는 저장부(122)와, FCS 셀 어레이(114)에서 출력되는 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])를 비교하는 비교부(124)를 포함할 수 있다.
저장부(122)는 노멀 셀 어레이(112)에서 발생된 불량 셀의 정보를 저장할 수 있다. 불량 셀 정보는 불량 셀 어드레스(FRA, FCA), 불량 셀의 위치를 나타내는 오더링 정보 및 참(true) 불량 셀 정보임을 나타내는 마스터 정보를 포함할 수 있다. 불량 셀 정보는 메모리 장치(100)의 제조 공정 단계의 테스트 과정에서 얻어질 수 있다. 저장부(122)는 불량 로우 어드레스(FRA)에 연결되는 메모리 셀들 중 1개 불량 셀이 있는 경우, 이 1개 불량 셀의 칼럼 어드레스를 불량 칼럼 어드레스(FCA)로서 저장할 수 있다. 불량 셀 정보는 메모리 장치(100)의 제품 출하 시에 저장부(122)에 저장될 수 있다.
저장부(122)는 메모리 장치(100)의 파워-업에 따른 초기화 동작 동안, 불량 로우 어드레스(FRA)에 상응하는 메모리 셀 어레이(110)의 워드라인을 인에이블시킬 수 있다. 저장부(122)는 불량 로우 어드레스(FRA)의 워드라인에 연결되는 메모리 셀들 중 FCS 셀 어레이(114)의 메모리 셀들에 불량 칼럼 어드레스(FCA)를 포함하는 불량 셀 정보가 저장되도록 할 수 있다.
실시예에 따라, 저장부(122)는 레이저-프로그래머블 퓨즈 어레이, 안티-퓨즈 어레이, 전기적 프로그래머블 퓨즈 어레이 등과 같은 원-타임 프로그래머블 메모리로 구현되거나, MRAM (Magnetic Ramdom Access Memory), RRAM (Resistance Random Access memory), PRAM (Phase Change Ramdom Access Memory), 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자로 구현될 수 있다.
비교부(124)는 억세스 칼럼 어드레스(CA[0:n])를 수신하고, FCS 셀 어레이(114)로부터 불량 칼럼 어드레스(FCA)를 수신할 수 있다. 비교부(124)는 억세스 칼럼 어드레스(CA[0:n])와 불량 칼럼 어드레스(FCA)가 일치하는 경우, ECC 제어 신호(ECC_CNTL)를 출력할 수 있다. ECC 제어 신호(ECC_CNTL)는 노멀 셀 어레이(112)의 불량 로우 어드레스(FRA)와 불량 칼럼 어드레스(FCA)에 상응하는 메모리 셀들에 대하여 ECC 동작을 수행하도록 ECC 엔진(130)으로 제공될 수 있다.
ECC 엔진(130)은 ECC 제어 신호(ECC_CNTL)에 응답하여 노멀 셀 어레이(112)의 불량 셀에 대한 ECC 동작을 수행할 수 있다. ECC 엔진(130)은 노멀 셀 어레이(112)의 불량 셀을 포함하는 메모리 셀들로 기입되는 기입 데이터 비트들에 대하여 패리티 비트들을 생성하고, 생성된 패리티 비트들을 ECC 셀 어레이(116)에 저장되도록 할 수 있다. ECC 엔진(130)은 노멀 셀 어레이(112)의 불량 셀을 포함하는 메모리 셀들로부터 독출되는 독출 데이터 비트와 ECC 셀 어레이(116)에서 독출되는 패리티 비트들을 이용하여 독출 데이터 비트들에 포함된 에러 비트를 검출하고 정정할 수 있다.
ECC 엔진(130)은 ECC 제어 신호(ECC_CNTL)에 응답하여 FCS 셀 어레이(114)에 저장된 불량 셀 정보에 대한 ECC 동작을 수행할 수 있다. ECC 엔진(130)은 FCS 셀 어레이(114)에 저장되는 불량 셀 정보에 대하여 ECC 동작을 수행하고 패리티 비트들을 생성하고, 생성된 패리티 비트들이 FCS 셀 어레이(114)에 저장되도록 할 수 있다. ECC 엔진(130)은 FCS 셀 어레이(114)에서 독출되는 불량 셀 정보와 패리티 비트들을 이용하여 불량 셀 정보에 포함된 에러 비트를 검출하고 정정할 수 있다.
도 2는 도 1의 메모리 장치의 동작 방법을 설명하는 플로우챠트이다.
도 1과 연계하여 도 2를 참조하면, 메모리 장치(100)의 테스트 과정에서 노멀 셀 어레이(110)의 메모리 셀들의 양·불량을 테스트할 수 있다. 메모리 장치(100)는 테스트 과정에서 걸러진(screen) 불량 셀에 대한 정보를 저장부(122)에 저장할 수 있다(S210).
불량 셀에 대한 정보는 노멀 셀 어레이(112)의 1 단위분의 메모리 셀들로/로부터 기입 또는 독출되는 데이터에서 1비트 에러를 포함하는 불량 셀 어드레스를 포함할 수 있다. 불량 셀 어드레스는 불량 로우 어드레스(FRA)와 불량 칼럼 어드레스(FCA)로 구성될 수 있다. 저장부(122)는 불량 셀을 포함하는 1 단위분의 메모리 셀들을 어드레싱하는 불량 로우 어드레스(FRA)와 불량 칼럼 어드레스(FCA)를 저장할 수 있다. 1 단위분의 메모리 셀들은 8, 16, 32, 64, 128 개의 메모리 셀들 중 하나로 구성될 수 있다.
메모리 장치(100)는 전원 인가시 파워-업에 따라 초기화 동작을 수행할 수 있다. 메모리 장치(100)는 메모리 장치(100)의 복수개 동작 옵션들을 제공하는 모드 레지스터를 포함할 수 있다. 메모리 장치(100)의 초기화 동작 동안, 모드 레지스터는 메모리 장치(100)의 다양한 기능들, 특성들 그리고 모드들을 프로그램할 수 있다. 예를 들어, 버스트 길이, 독출 버스트 타입, 카스 레이턴시, DLL 인에이블/디세이블, 출력 드라이브 세기, 어디티브 레이턴시, 파워-다운 모드, 데이터 마스크 기능 등을 프로그램할 수 있다.
메모리 장치(100)는 초기화 동작 동안, 저장부(122)에 저장된 불량 셀 정보를 메모리 셀 어레이(110)의 FCS 셀 어레이(114)에 복사하여 저장할 수 있다(S220). 메모리 장치(100)는 저장부(122)의 불량 로우 어드레스(FRA)에 상응하는 메모리 셀 어레이(110)의 워드라인을 인에이블시키고, 불량 로우 어드레스(FRA)의 워드라인에 연결되는 메모리 셀들 중 FCS 셀 어레이(114)의 메모리 셀들에 저장부(122)의 불량 칼럼 어드레스(FCA)를 저장할 수 있다.
메모리 장치(100)는 메모리 콘트롤러 또는 메모리 버퍼로부터 기입 또는 독출 명령을 수신할 수 있다. 메모리 장치(100)는 기입 또는 독출 명령과 함께 억세스 어드레스를 수신할 수 있다(S230). 억세스 어드레스는 억세스 로우 어드레스와 억세스 칼럼 어드레스를 포함할 수 있다.
메모리 장치(100)는 억세스 어드레스가 FCS 셀 어레이(114)의 불량 어드레스와 일치하는지 여부를 판별할 수 있다(S240). 억세스 로우 어드레스가 불량 셀의 불량 로우 어드레스(FRA)와 일치하는 경우, 메모리 셀 어레이(110)에서 불량 로우 어드레스(FRA)에 상응하는 워드라인이 인에이블될 수 있다. 불량 로우 어드레스(FRA)의 워드라인에 연결되는 메모리 셀들 중 FCS 셀 어레이(114)의 메모리 셀들에 저장된 불량 칼럼 어드레스(FCA)가 독출되어 비교부(124)로 제공될 수 있다. 비교부(124)는 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])를 비교하여 일치하는지 여부를 판별할 수 있다.
판별 결과(S240), 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])가 일치하는 경우 (예), 메모리 장치(100)는 불량 어드레스에 상응하는 노멀 셀 어레이(112)의 메모리 셀들에 대하여 ECC 동작을 수행할 수 있다(S250). 억세스 칼럼 어드레스(CA[0:n])와 불량 칼럼 어드레스(FCA)가 일치하는 경우, 비교부(124)는 ECC 제어 신호(ECC_CNTL)를 발생하여 ECC 엔진(130)으로 제공할 수 있다. ECC 엔진(130)은 ECC 제어 신호(ECC_CNTL)에 응답하여 불량 로우 어드레스(FRA)와 불량 칼럼 어드레스(FCA)에 상응하는 노멀 셀 어레이(112)의 메모리 셀들에 대하여 ECC 동작을 수행할 수 있다.
메모리 장치(100)는 ECC 동작을 수행하는 억세스 어드레스에 상응하는 노멀 셀 어레이(112)의 메모리 셀들에 대하여 기입 및 독출 동작을 수행할 수 있다(S260).
판별 결과(S240), 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])가 일치하지 않은 경우 (아니오), 메모리 장치(100)는 억세스 어드레스에 상응하는 노멀 셀 어레이(112)의 메모리 셀들에 대하여 기입 및 독출 동작을 수행할 수 있다(S260).
본 실시예의 메모리 장치(100)의 동작 방법에서, 저장부(122)에 저장된 불량 셀 어드레스(FRA, FCA)가 메모리 장치(100)의 초기화 동작에서 FCS 셀 어레이(114)로 복사되어 저장될 수 있다. FCS 셀 어레이(114)에 저장된 불량 셀 어드레스(FRA, FCA)는 메모리 장치(100)의 기입 또는 독출 동작을 수행하기 위한 억세스 어드레스와 비교되고, 비교 결과에 따라 억세스 어드레스에 상응하는 메모리 셀들에 대한 ECC 동작 수행 여부가 결정될 수 있다.
메모리 장치(100)의 동작 방법은 억세스 어드레스 중 억세스 로우 어드레스는 비교하지 않고 억세스 칼럼 어드레스만이 불량 칼럼 어드레스(FCA)와 비교되게 함으로써, 빠른 비교 결과를 얻을 수 있다. 또한, 억세스 칼럼 어드레스가 FCS 셀 어레이(114)에서 출력되는 불량 칼럼 어드레스(FCA)와 비교되게 함으로써, 저장부(122)의 불량 셀 어드레스(FRA, FCA)와 비교되는 것에 비하여 비교 결과를 빨리 얻을 수 있다. 빠른 비교 결과를 바탕으로, 불량 어드레스(FRA, FCA)에 의해 어드레싱되는 메모리 셀들에 포함된 불량 셀이 ECC 동작에 의해 구제될 수 있다.
도 3a 내지 도 3c는 도 1의 메모리 장치에서 X8 모드 동작을 설명하는 도면들이다.
도 3a를 참조하면, 메모리 장치(100)는 노멀 셀 어레이(112)의 1 단위분의 메모리 셀들로/로부터 기입 또는 독출되는 데이터들이 8개의 데이터 입출력 패드들(DQ0-DQ7)을 통하여 입출력되는 X8 모드를 지원할 수 있다. 노멀 셀 어레이(112)의 1 단위분의 메모리 셀들로/로부터 기입 또는 독출되는 1 단위분의 데이터 비트들에 포함된 에러 비트를 구제하기 위하여 ECC 동작을 수행할 수 있다. 본 실시예에서는 1 단위분의 메모리 셀들이 64개의 메모리 셀들로 구성되고, 1 단위분의 데이터 비트들은 64 비트들로 구성되는 예에 대하여 설명된다.
노멀 셀 어레이(112)는 다수개의 노멀 셀 블락들(301-308)을 포함할 수 있다. 노멀 셀 블락들(301-308) 각각에는 행들 및 열들로 배열되는 복수개의 메모리 셀들이 배열된다. 노멀 셀 블락(301-308) 각각의 메모리 셀들에 저장된 데이터는 대응되는 데이터 입출력 패드들(DQ0-DQ7)을 통하여 입출력되므로, 설명의 편의를 위하여, 노멀 셀 블락(301-308)을 DQ0-DQ7 셀 블락(301-308)으로 칭한다.
DQ0-DQ7 셀 블락(301-308) 각각의 로우들은 예컨대, 8K워드라인들(WL)로 구성되고, 칼럼들은 예컨대, 1K 비트라인들(BL)로 구성될 수 있다. 워드라인들(WL)과 비트라인들(BL)의 교차점들에 연결되는 메모리 셀들은 DRAM 셀들(○ 표시)로 구성될 수 있다. DQ0-DQ7 셀 블락들(301-308)의 워드라인들(WL)은 로우 어드레스들(RA0-RAm)에 의해 억세스되고, 비트라인들(BL)은 칼럼 어드레스들(CA0-CAn)에 의해 억세스된다.
로우 어드레스들(RA0-RAm)은 로우 디코더(311)를 통해 디코딩되고, 디코딩된 로우 어드레스들(RA0-RAm)에 의해 워드라인(WL)이 선택된다. 칼럼 어드레스들(CA0-CAn)은 칼럼 디코더(312)를 통해 디코딩된다. 칼럼 디코더(312)는 칼럼 어드레스들(CA0-CAn)을 디코딩하여 비트라인(BL)을 선택하는 칼럼 선택 신호들(CSL0-CSL127)을 발생한다. 비트라인들(BLs)을 억세스할 수 있는 칼럼 로케이션들의 최대 수를 나타내는 버스트 길이 (Burst Length; BL)를 지원하기 위하여, 버스트 길이 BL에 해당하는 비트라인들이 동시에 억세스될 수 있다.
메모리 장치(100)는 예시적으로, 버스트 길이 BL=8로 설정될 수 있다. 이에 따라, 비트라인들(BLs)은 128개의 칼럼 선택 신호들(CSL0-CSL127) 각각에 연결되는 칼럼 선택부(321)와 연결되고, 하나의 칼럼 선택부(321)에 의해 8개의 비트라인들(BLs)이 동시에 선택될 수 있다. 칼럼 선택부(321) 각각은 8개의 스위치들로 구성될 수 있으며, 칼럼 선택 신호(CSL0-CSL127)에 의해 턴온된다. 128개의 칼럼 선택 신호들(CSL0-CSL127)에 의해 스위칭되는 칼럼 선택부들(321)은 칼럼 선택 회로(320)를 구성할 수 있다.
DQ0 셀 블락(301)에서, 로우 어드레스들(RA0-RAm)에 의해 억세스되는 워드라인(WL)에는 복수개의 메모리 셀들이 연결될 수 있다. 워드라인(WL)에 연결된 복수개의 메모리 셀들 중 8개의 메모리 셀들이 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(321)에 의해 선택되어 제1 데이터 라인들(GIO[0:7])과 연결될 수 있다. 제1 데이터 라인들(GIO[0:7])은 8 비트로 구성될 수 있다.
DQ1 셀 블락(302)에서도, 워드라인(WL)에 연결된 복수개의 메모리 셀들 중 8개의 메모리 셀들이 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(321)에 의해 선택되어 제 2 데이터 라인들(GIO[8:15])과 연결된다. 나머지 DQ2-DQ7 셀 블락(303-308) 각각에서도 워드라인(WL)에 연결된 복수개의 메모리 셀들 중 8개의 메모리 셀들이 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(321)에 의해 선택되어, 대응하는 제 3 내지 제8 데이터 라인들(GIO[16:23] ~ GIO[56:63])과 연결될 수 있다.
메모리 장치(100)에서, DQ0-DQ7 셀 블락들(301-308)에 기입될 데이터들(Data[0:63])이 제1 내지 제8 데이터 라인들(GIO[0:63])로 전달될 수 있다. 제1 내지 제8 데이터 라인들(GIO[0:63]) 각각을 통하여 DQ0-DQ7 셀 블락(301-308) 각각에 기입될 제1 내지 제8 버스트 데이터들, 총 64 비트 데이터(Data[0:63])가 수신될 수 있다. 수신된 64 비트 데이터(Data[0:63])는 워드라인(WL)에 연결된 복수개의 메모리 셀들 중 예컨대, CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(321)에 의해 선택되는 DQ0-DQ7 셀 블락(301-308) 각각의 8개의 메모리 셀들에 기입될 수 있다.
ECC 셀 어레이(116)는 DQ0-DQ7 셀 블락(301-308) 내 하나의 워드라인(WL)에 연결되는 메모리 셀들 중1개 불량 셀이 있는 경우, 이 하나의 불량 셀을 구제하는 용도로 사용된다. 예컨대, 워드라인(WL)과 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(321)에 의해 선택되는 DQ0-DQ7 셀 블락(301-308)의 메모리 셀들 중 DQ0 셀 블락(301) 내 불량 셀(● 표시)이 하나 있을 수 있다. 불량 셀은 DQ0 셀 블락(301)의 불량 셀이 아니라, DQ1-DQ7 셀 블락(302-308) 내 워드라인(WL)과 CSL0 칼럼 선택 신호와 연결되는 칼럼 선택부(321)에 의해 선택되는 메모리 셀들 중에서 발생되는 어느 하나의 불량 셀일 수도 있다. ECC 셀 어레이(116)는 ECC 엔진(130)에 의해 제어되고, DQ0-DQ7 셀 블락(301-308)의 불량 셀을 검출하고 정정하는 용도로 사용될 수 있다.
ECC 셀 어레이(116)는, DQ0-DQ7 셀 블락(301-308)과 동일하게, 예컨대, 8K워드라인들로 구성될 수 있다. ECC 셀 어레이(116)은, DQ0-DQ7 셀 블락(301-308)과는 다르게, 8개 비트라인들로 구성될 수 있다. ECC 셀 어레이(116)의 워드라인들(WL)과 비트라인들(BL)의 교차점들에 연결되는 메모리 셀들도 DRAM 셀들로 구성될 수 있다.
ECC 셀 어레이(116)에서, 8개의 비트라인들(BLs)은 패리티 데이터 라인(ECCP[0:7])과 연결될 수 있다. 패리티 데이터 라인(ECCP[0:7])으로는 DQ0-DQ7 셀 블락(301-308)의 불량 셀에 저장되는 데이터(Data[0:63])에 대한 패리티 비트들이 전달될 수 있다. 패리티 비트들은 패리티 데이터 라인(ECCP[0:7])를 통하여 ECC셀 어레이(116) 내 8개의 메모리 셀들에 저장되고 독출될 수 있다. 이 때, ECC 셀 어레이(116)의 8개 메모리 셀들은 불량 셀의 워드라인(WL)과 동일한 워드라인(WL)에 연결될 수 있다.
ECC 엔진(130)은 ECC 제어 신호(ECC_CNTL)에 응답하여 DQ0-DQ7 셀 블락(301-308)의 불량 셀을 검출하고 정정한다. ECC 엔진(130)은 기입 동작시, ECC 제어 신호(ECC_CNTL)에 응답하여 메모리 콘트롤러 또는 메모리 버퍼로부터 수신되는 데이터(Data[0:63])에 대하여 패리티 비트들을 발생하고 패리티 데이터 라인(ECCP[0:7])으로 전달할 수 있다. 패리티 데이터 라인(ECCP[0:7]) 상의 패리티 비트들은 불량 셀의 워드라인(WL)과 연결되는 ECC 셀 어레이(116)의 메모리 셀들에 저장될 수 있다.
ECC 엔진(130)은 독출 동작시, ECC 제어 신호(ECC_CNTL)에 응답하여, 제1 내지 제8 데이터 라인들(GIO[0:63])으로 전달되는 데이터와 패리티 데이터 라인(ECCP[0:7])으로 전달되는 데이터를 수신할 수 있다. 제1 내지 제8 데이터 라인들(GIO[0:63])으로 전달되는 데이터는 DQ0-DQ7 셀 블락(301-308) 내 불량 셀의 워드라인(WL)과 연결되는 메모리 셀들로부터 독출되는 데이터이고, 패리티 데이터 라인(ECCP[0:7])으로 전달되는 데이터는 ECC 셀 어레이(116) 내 해당 워드라인(WL)과 연결되는 메모리 셀들로부터 독출되는 패리티 비트들이다.
ECC 엔진(130)은 제1 내지 제8 데이터 라인들(GIO[0:63]) 및 패리티 데이터 라인(ECCP[0:7])으로 전달된 데이터를 이용하여 불량 셀로 인한 에러 비트를 검출하고 정정할 수 있다. ECC 엔진(130)은 제1 내지 제8 데이터 라인들(GIO[0:63]) 및 패리티 데이터 라인(ECCP[0:7])으로 전달된 데이터를 수신하고, 신드롬 데이터를 발생하고, 불량 셀의 위치, 즉 에러 비트 위치를 계산하고, 에러 비트 위치에 대응하는 데이터를 정정하고, 에러 정정된 데이터(Data[0:63])를 출력할 수 있다.
메모리 장치(100)는 버스트 길이 BL=8에 해당하는 데이터들이 8개의 데이터 입출력 패드들(DQ0-DQ7)을 통하여 입출력되는 X8 모드를 지원할 수 있다. 도 3b 및 도 3c에 도시된 바와 같이, DQ0-DQ7 셀 블락(301-308)으로부터 해당 DQ0-DQ7 패드로 제1 내지 제8 버스트 데이터들, 총 64 비트 데이터(Data[0:63])가 출력될 수 있다.
도 3b를 참조하면, T0시간에서, DQ0-DQ7 패드들로 제1 버스트 데이터(Data0, Data 8, Data16, Data24, Data32, Data40, Data48, Data56)가 출력될 수 있다. T1 시간에서, 제2 버스트 데이터(Data1, Data 9, Data17, Data25, Data33, Data41, Data49, Data57)가 출력될 수 있다. T2 시간에서, 제3 버스트 데이터(Data2, Data 10, Data18, Data26, Data34, Data42, Data50, Data58)가 출력될 수 있다. T3 내지 T7 시간 각각에서도 제4 내지 제8 버스트 데이터가 출력될 수 있다.
메모리 장치(100)는 버스트 ? (Burst Chop: BC) 기능을 수행하도록 요구될 수 있다. 메모리 장치(100)는 예컨대, 버스트 ? BC=4 기능에 따라 T0-T3 시간의 제1 내지 제4 버스트 데이터를 출력할 수 있다. 메모리 장치(100)는 제1 내지 제4 버스트 데이터에 대하여 에러 비트를 검출하고 정정하도록 ECC 엔진(130)을 구동할 수 있다.
ECC 엔진(130)은 제1 버스트 길이(Data0, Data 8, Data16, Data24, Data32, Data40, Data48, Data56)에 대하여 패리티 비트들(ECCP0[0:3])을 생성할 수 있다. ECC 엔진(130)은 제2 버스트 데이터(Data1, Data 9, Data17, Data25, Data33, Data41, Data49, Data57)에 대하여 패리티 비트들(ECCP1[0:3])을 생성할 수 있다. 마찬가지로, ECC 엔진(130)은 제3 및 제4 버스트 데이터에 대하여 패리티 비트들(ECCP2[0:3], ECCP3[0:3])을 생성할 수 있다.
ECC 엔진(130)은 제1 내지 제4 버스트 길이에 대한 패리티 비트들(ECCP0[0:3], ECCP1[0:3], ECCP2[0:3], ECCP3[0:3])을 ECC 셀 어레이(116)에 저장할 수 있다. ECC 엔진(130)은 DQ0-DQ7 셀 블락(301-308)에서 독출되는 제1 내지 제4 버스트 데이터와 ECC 셀 어레이(116)에서 독출되는 패리티 비트들(ECCP0[0:3], ECCP1[0:3], ECCP2[0:3], ECCP3[0:3])을 이용하여 해당 버스트 데이터의 에러 비트를 검출하고 정정할 수 있다.
도 3c를 참조하면, 메모리 장치(100)는 데이터 마스크(data mask) 기능을 수행하도록 요구될 수 있다. 메모리 장치(100)는 예컨대, 제2, 4, 6, 8 버스트 데이터에 대하여 데이터 마스크 동작이 수행할 수 있다. 메모리 장치(100)는 마스킹되지 않은 제1, 3, 5, 7 버스트 데이터에 대하여 에러 비트를 검출하고 정정하도록 ECC 엔진(130)을 구동할 수 있다.
ECC 엔진(130)은 마스킹되지 않은 버스트 길이 데이터에 대하여 ECC 동작을 수행할 수 있다. ECC 엔진(130)은 제1 버스트 길이(Data0, Data 8, Data16, Data24, Data32, Data40, Data48, Data56)에 대하여 패리티 비트들(ECCP0[0:3])을 생성할 수 있다. ECC 엔진(130)은 제3 버스트 길이(Data2, Data 10, Data18, Data26, Data34, Data42, Data50, Data58)에 대하여 패리티 비트들(ECCP2[0:3])을 생성할 수 있다. 마찬가지로, ECC 엔진(130)은 제5 및 제7 버스트 데이터에 대하여 패리티 비트들(ECCP4[0:3], ECCP6[0:3])을 생성할 수 있다.
ECC 엔진(130)은 제1, 3, 5, 7버스트 길이에 대한 패리티 비트들(ECCP0[0:3], ECCP2[0:3], ECCP4[0:3], ECCP6[0:3])을 ECC 셀 어레이(116)에 저장할 수 있다. ECC 엔진(130)은 DQ0-DQ7 셀 블락(301-308)에서 독출되는 제1, 3, 5, 7 버스트 데이터와 ECC 셀 어레이(116)에서 독출되는 패리티 비트들(ECCP0[0:3], ECCP2[0:3], ECCP4[0:3], ECCP6[0:3])을 이용하여 해당 버스트 데이터의 에러 비트를 검출하고 정정할 수 있다.
본 실시예의 메모리 장치(100)는 DQ0?Q7 셀 블락(301-308) 각각에 대하여 버스트 길이 BL=8 에 해당하는 64 데이터 비트들이 대응되는 DQ0-DQ7 패드를 통하여 입출력되므로, X8 모드를 지원할 수 있다. 메모리 장치(100)는 사용자 요구에 따라 X8 모드 이외에 X4 모드를 지원하는 것이 요구될 수 있다. X8 모드의 메모리 장치(100)가 X4 모드로도 동작될 수 있다면, 메모리 장치(100)의 호환성을 향상시킬 수 있을 것이다. 이 때, 메모리 장치(100) 내 불량 셀을 구제하는 ECC 동작도 X4 모드에 따라 적응적으로 동작될 것이 요구된다.
도 4는 도 1의 메모리 장치의 X4 모드 동작을 설명하는 도면이다.
도 4를 참조하면, 메모리 장치(100a)는 X4 모드를 지원하기 위하여, 1 단위분의 데이터 비트들이 32 비트들로 구성되는 예에 대하여 설명된다. 노멀 셀 어레이(112)에서, DQ0L 셀 블락(401L)은 도 3의 DQ0 셀 블락(301)에 대응할 수 있다. 그리고, DQ0U 셀 블락(401U)은 DQ1 셀 블락(302)에, DQ1L 셀 블락(402L)은 DQ2 셀 블락(303)에, DQ1U 셀 블락(402U)은 DQ3 셀 블락(304)에, DQ2L 셀 블락(403L)은 DQ4 셀 블락(305)에, DQ2U 셀 블락(403U)은 DQ5 셀 블락(306)에, DQ3L 셀 블락(404L)은 DQ6 셀 블락(307)에, 그리고 DQ3U 셀 블락(404U)은 DQ7 셀 블락(308)에 대응할 수 있다.
DQ0L, DQ1L, DQ2L, DQ3L 셀 블락들(401L, 402L, 403L, 404L)은 `L (Lower)` 첨자가 붙은 셀 블락들이고, DQ0U, DQ1U, DQ2U, DQ3U 셀 블락들(401U, 402U, 403U, 404U)은 `U (Upper)` 첨자가 붙은 셀 블락들이다. X4 모드를 지원하기 위하여, `L`첨자를 갖는 DQ0L, DQ1L, DQ2L, DQ3L 셀 블락들(401L, 402L, 403L, 404L)에 대하여 버스트 길이 BL=8 에 해당하는 32 데이터 비트들이 입출력되도록 할 수 있다. 그리고, `U`첨자를 갖는 DQ0U, DQ1U, DQ2U, DQ3U 셀 블락들(401U, 402U, 403U, 404U)에 대하여 버스트 길이 BL=8 에 해당하는 32 데이터 비트들이 입출력되도록 할 수 있다.
DQ0L, DQ1L, DQ2L, DQ3L 셀 블락들(401L, 402L, 403L, 404L)과 DQ0U, DQ1U, DQ2U, DQ3U 셀 블락들(401U, 402U, 403U, 404U)의 비트라인들(BLs)은, 128개의 칼럼 선택 신호들(CSL0-CSL127) 각각에 연결되는 칼럼 선택부(421)를 포함하는 칼럼 선택 회로(420)와 연결될 수 있다. 칼럼 선택 회로(420)는 도 5a 및 도 5b의 FCS 셀 어레이(114) 내 FCS0L, FCS1L 셀 블락들(406L, 407L)과 FCS0U, FCS1U 셀 블락들(406U, 407U)의 비트라인들을 선택하는 칼럼 선택부(521)를 포함할 수 있다. 칼럼 선택부(521)은 FCS 칼럼 선택 신호(FCSL0, FCSL1)에 연결될 수 있다. 칼럼 선택 신호들(CSL0-CSL127,FCSL0,FCSL1)은 칼럼 어드레스들(CA0-CAn)을 디코딩하는 칼럼 디코더로부터 제공될 수 있다.
칼럼 선택 회로(420)는 칼럼 선택 신호들(CSL0-CSL127)을 생성하는 칼럼 어드레스들(CA[0:n]) 중 하나의 어드레스를 이용하여, `L`첨자를 갖는 셀 블락들(401L, 402L, 403L, 404L)이 선택되거나 `U`첨자를 갖는 셀 블락들(401U, 402U, 403U, 404U)이 선택되도록 설정할 수 있다. 예를 들어, CA11 어드레스를 이용하여, CA11 어드레스가 `0` 비트이면 `L`첨자를 갖는 DQ0L, DQ1L, DQ2L, DQ3L 셀 블락들(401L, 402L, 403L, 404L)이 선택되도록 하고, `1` 비트이면 `U`첨자를 갖는 DQ0U, DQ1U, DQ2U, DQ3U 셀 블락들(401U, 402U, 403U, 404U)이 선택되도록 할 수 있다.
DQ0L 셀 블락(401L)과 DQ0U 셀 블락(401U)은 제1 데이터 라인들(GIOa[0:7])을 공유하고, DQ1L 셀 블락(402L)과 DQ1U 셀 블락(402U)은 제2 데이터 라인들(GIOa[8:15])을 공유하고, DQ2L 셀 블락(403L)과 DQ2U 셀 블락(403U)은 제3 데이터 라인들(GIOa[16:23])을 공유하고, DQ3L 셀 블락(404L)과 DQ3U 셀 블락(404U)은 제4 데이터 라인들(GIOa[24:31])을 공유하도록 설계될 수 있다.
DQ0L, DQ1L, DQ2L, DQ3L 셀 블락들(401L, 402L, 403L, 404L)에 기입될 데이터들(Data[0:31])이 제1 내지 제4 데이터 라인들(GIOa[0:31])로 전달될 수 있다. 제1 내지 제4 데이터 라인들(GIOa[0:31]) 각각을 통하여 DQ0L, DQ1L, DQ2L, DQ3L 셀 블락들(401L, 402L, 403L, 404L) 각각에 기입될 제1 내지 제8 버스트 데이터들, 총 32 비트 데이터(Data[0:31])가 수신될 수 있다. 수신된 32 비트 데이터(Data[0:31])는 `L`첨자를 갖는 셀 블락들(401L, 402L, 403L, 404L)이 선택되도록 설정된 칼럼 선택 회로(420)를 통하여 DQ0L, DQ1L, DQ2L, DQ3L 셀 블락들(401L, 402L, 403L, 404L) 각각의 8개의 메모리 셀들에 기입될 수 있다.
DQ0U, DQ1U, DQ2U, DQ3U 셀 블락들(401U, 402U, 403U, 404U)에 기입될 데이터들(Data[0:31])이 제1 내지 제4 데이터 라인들(GIOa[0:31])로 전달될 수 있다. 제1 내지 제4 데이터 라인들(GIOa[0:31]) 각각을 통하여 DQ0U, DQ1U, DQ2U, DQ3U 셀 블락들(401U, 402U, 403U, 404U) 각각에 기입될 제1 내지 제8 버스트 데이터들, 총 32 비트 데이터(Data[0:31])가 수신될 수 있다. 수신된 32 비트 데이터(Data[0:31])는 `U`첨자를 갖는 셀 블락들(401U, 402U, 403U, 404U)이 선택되도록 설정된 칼럼 선택 회로(420)를 통하여 DQ0U, DQ1U, DQ2U, DQ3U 셀 블락들(401L, 402L, 403L, 404L) 각각의 8개의 메모리 셀들에 기입될 수 있다.
ECC 셀 어레이(116)는 ECCPL 셀 블락(405L)과 ECCPU 셀 블락(405U)을 포함할 수 있다. ECCPL 셀 블락(405L)은 `L` 첨자의 DQ0L, DQ1L, DQ2L, DQ3L 셀 블락들(401L, 402L, 403L, 404L) 내 하나의 워드라인(WL)에 연결되는 메모리 셀들 중1개 불량 셀이 있는 경우, 이 1개 불량 셀을 구제하는 용도로 사용될 수 있다. ECCPU 셀 블락(405U)은 `U` 첨자의 DQ0U, DQ1U, DQ2U, DQ3U 셀 블락들(401L, 402L, 403L, 404L) 내 하나의 워드라인(WL)에 연결되는 메모리 셀들 중1개 불량 셀이 있는 경우, 이 1개 불량 셀을 구제하는 용도로 사용될 수 있다.
ECCPL 셀 블락(405L)과 ECCPU 셀 블락(405U) 각각은 DQ0L-DQ3L, DQ0U-DQ3U 셀 블락들(401L-404L, 401U-404U)과 동일하게, 예컨대, 8K워드라인들로 구성될 수 있다. ECCPL 셀 블락(405L)과 ECCPU 셀 블락(405U) 각각은 DQ0L-DQ3L, DQ0U-DQ3U 셀 블락들(401L-404L, 401U-404U)과는 다르게, 8개 비트라인들로 구성될 수 있다.
ECCPL 셀 블락(405L)의 8개의 비트라인들(BLs)은 제1 패리티 데이터 라인들(PL[0:7])과 연결될 수 있다. 제1 패리티 데이터 라인들(PL[0:7])으로는 DQ0L-DQ3L 셀 블락들(401L-404L)의 불량 셀에 저장되는 데이터(Data[0:31])에 대한 제1 패리티 비트들이 전달될 수 있다. 제1 패리티 비트들은 제1 패리티 데이터 라인(PL[0:7])를 통하여 ECCPL 셀 블락(405L) 내 8개의 메모리 셀들에 저장되고 독출될 수 있다. 이 때, ECCPL 셀 블락(405L)의 8개 메모리 셀들은 불량 셀의 워드라인(WL)과 동일한 워드라인(WL)에 연결될 수 있다.
ECCPU셀 블락(405U)의 8개의 비트라인들(BLs)은 제2 패리티 데이터 라인들(PU[0:7])과 연결될 수 있다. 제2 패리티 데이터 라인들(PU[0:7])으로는 DQ0U-DQ3U 셀 블락들(401U-404U)의 불량 셀에 저장되는 데이터(Data[0:31])에 대한 제2 패리티 비트들이 전달될 수 있다. 제2 패리티 비트들은 제2 패리티 데이터 라인(PU[0:7])를 통하여 ECCPU 셀 블락(405U) 내 8개의 메모리 셀들에 저장되고 독출될 수 있다. 이 때, ECCPU 셀 블락(405U)의 8개 메모리 셀들은 불량 셀의 워드라인(WL)과 동일한 워드라인(WL)에 연결될 수 있다.
ECC 엔진(130)은 ECC 제어 신호(ECC_CNTL)에 응답하여 DQ0L-DQ3L 셀 블락들(401L-404L)의 불량 셀을 검출하고 정정한다. ECC 엔진(130)은 기입 동작시, ECC 제어 신호(ECC_CNTL)에 응답하여 메모리 콘트롤러 또는 메모리 버퍼로부터 수신되는 DQ3L 셀 블락들(401L-404L)로 기입될 데이터(Data[0:31])에 대하여 제1 패리티 비트들을 발생하고 제1 패리티 데이터 라인(PL[0:7])으로 전달할 수 있다. 제1 패리티 데이터 라인(PL[0:7]) 상의 제1 패리티 비트들은 불량 셀의 워드라인(WL)과 연결되는 ECCPL 셀 블락(405L)의 메모리 셀들에 저장될 수 있다.
ECC 엔진(130)은 독출 동작시, ECC 제어 신호(ECC_CNTL)에 응답하여, 제1 내지 제4 데이터 라인들(GIO[0:31])으로 전달되는 DQ0L-DQ3L 셀 블락들(401L-404L)의 독출 데이터와 제1 패리티 데이터 라인(PL[0:7])으로 전달되는 ECCPL 셀 블락(405L)의 제1 패리티 비트들을 수신할 수 있다. ECC 엔진(130)은 제1 내지 제4 데이터 라인들(GIO[0:31])의 독출 데이터와 제1 패리티 데이터 라인(PL[0:7])의 제1 패리티 비트들을 수신하고, 신드롬 데이터를 발생하고, DQ0L-DQ3L 셀 블락들(401L-404L)의 독출 데이터 내 에러 비트 위치를 계산하고, 에러 비트 위치에 대응하는 데이터를 정정하고, 에러 정정된 데이터(Data[0:31])를 출력할 수 있다.
ECC 엔진(130)은 ECC 제어 신호(ECC_CNTL)에 응답하여 DQ0U-DQ3U 셀 블락들(401U-404U)의 불량 셀을 검출하고 정정한다. ECC 엔진(130)은 기입 동작시, ECC 제어 신호(ECC_CNTL)에 응답하여 메모리 콘트롤러 또는 메모리 버퍼로부터 수신되는 DQ3U 셀 블락들(401U-404U)로 기입될 데이터(Data[0:31])에 대하여 제2 패리티 비트들을 발생하고 제2 패리티 데이터 라인(PU[0:7])으로 전달할 수 있다. 제2 패리티 데이터 라인(PU[0:7]) 상의 제2 패리티 비트들은 불량 셀의 워드라인(WL)과 연결되는 ECCPU 셀 블락(405U)의 메모리 셀들에 저장될 수 있다.
ECC 엔진(130)은 독출 동작시, ECC 제어 신호(ECC_CNTL)에 응답하여, 제1 내지 제4 데이터 라인들(GIO[0:31])으로 전달되는 DQ0U-DQ3U 셀 블락들(401U-404U)의 독출 데이터와 제2 패리티 데이터 라인(PU[0:7])으로 전달되는 ECCPU 셀 블락(405U)의 제2 패리티 비트들을 수신할 수 있다. ECC 엔진(130)은 제1 내지 제4 데이터 라인들(GIO[0:31])의 독출 데이터와 제2 패리티 데이터 라인(PU[0:7])의 제2 패리티 비트들을 수신하고, 신드롬 데이터를 발생하고, DQ0U-DQ3U 셀 블락들(401U-404U)의 독출 데이터 내 에러 비트 위치를 계산하고, 에러 비트 위치에 대응하는 데이터를 정정하고, 에러 정정된 데이터(Data[0:31])를 출력할 수 있다.
메모리 장치(100a)에서, DQ0L-DQ3L 셀 블락들(401L-404L)의 불량 셀에 대한 정보와 DQ0U-DQ3U 셀 블락들(401U-404U)의 불량 셀에 대한 정보는, 도 5에 도시된 바와 같이, 제어 로직부(120)의 저장부(122)에 저장될 수 있다. 저장부(122)에 저장된 불량 셀 어드레스(FRA, FCA)는 메모리 셀 어레이(110, 도 1)의 FCS 셀 어레이(114)로 복사되어 저장될 수 있다.
도 5a 및 도 5b는 도 4의 메모리 장치에서 메모리 셀 어레이의 FCS 셀 어레이를 설명하는 도면이다. 도 5a는 `L`첨자의 DQ0L-DQ3L 셀 블락들(401L, 402L, 403L, 404L)에 대한 불량 셀에 대한 정보가 `L` 첨자의 FCS0L, FCS1L 셀 블락들(406L, 407L)에 복사되어 저장되는 것을 보여준다. 도 5b는 `U`첨자의 DQ0U-DQ3U 셀 블락들(401U, 402U, 403U, 404U)에 대한 불량 셀에 대한 정보가 `U` 첨자의 FCS0U, FCS1U 셀 블락들(406U, 407U)에 복사되어 저장되는 것을 보여준다.
도 5a를 참조하면, 메모리 셀 어레이(110)는 도 4에서 설명된 노멀 셀 어레이의 DQ0L-DQ3L 셀 블락들과 DQ0U-DQ3U 셀 블락들, 그리고 ECC 셀 어레이의 ECCPL 셀 블락과 ECCPU 셀 블락을 포함할 수 있다. 그리고, 메모리 셀 어레이(110)는 FCS0L, FCS0U, FCS1L, FCS1U 셀 블락들(406L, 406U, 407L, 407U)로 구성되는 FCS 셀 어레이(114)를 포함할 수 있다. FCS0L, FCS0U, FCS1L, FCS1U 셀 블락들(406L, 406U, 407L, 407U) 각각은, ECCPL, ECCPU 셀 블락들과 같이, 8K워드라인들과 8 비트라인들로 구성될 수 있다.
FCS 셀 어레이(114)의 FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)은 칼럼 선택부(521)를 통하여 저장부(122)로부터 DQ0L-DQ3L 셀 블락들(401L-404L)의 불량 셀에 대한 정보를 복사하여 저장할 수 있다. 저장부(122)는 DQ0L-DQ3L 셀 블락들(401L-404L)의 불량 셀 어드레스(FRA, FCA)를 저장하고, 메모리 장치(100a)의 초기화 동작 동안, FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)의 불량 로우 어드레스(FRA)의 워드라인에 연결되는 메모리 셀들에 불량 칼럼 어드레스(FCA)가 저장되도록 할 수 있다.
도 5b를 참조하면, FCS 셀 어레이(114)의 FCS0U 셀 블락(406U)과 FCS1U 셀 블락(407U)은 칼럼 선택부(521)를 통하여 저장부(122)로부터 DQ0U-DQ3U 셀 블락들(401U-404U)의 불량 셀에 대한 정보를 복사하여 저장할 수 있다. 저장부(122)는 DQ0U-DQ3U 셀 블락들(401U-404U)의 불량 셀 어드레스(FRA, FCA)를 저장하고, 메모리 장치(100a)의 초기화 동작 동안, FCS0U 셀 블락(406U)과 FCS1U 셀 블락(407U)의 불량 로우 어드레스(FRA)의 워드라인에 연결되는 메모리 셀들에 불량 칼럼 어드레스(FCA)가 저장되도록 할 수 있다.
도 5a에서, FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L) 각각에는 불량 로우 어드레스(FRA)의 워드라인에 연결되는 8 개의 메모리 셀들이 존재하고, 총 16개 메모리 셀들로 DQ0L-DQ3L 셀 블락들(401L-404L)의 불량 셀에 대한 정보가 저장부(122)로부터 복사되어 저장될 수 있다. FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)에 저장되는 불량 셀 정보는 도 6a 및 도 6b와 같이 표시될 수 있다.
도 6a 및 도 6b는 도 5a의 FCS 셀 블락에 저장되는 불량 셀 정보를 설명하는 도면들이다. 도 6a와 도 6b는 오더링 정보에 할당된 비트 수가 다르다는 점을 보여준다.
도 6a를 참조하면, 불량 로우 어드레스(FRA)의 워드라인에 연결되는 FCS0L 셀 블락(406L)의 8 개 메모리 셀들과 FCS1L 셀 블락(407L)의 8개 메모리 셀들은 16 비트들을 구성할 수 있다. FCS0L 셀 블락(406L)의 8 비트들과 FCS1L 셀 블락(407L)의 8 비트들 중 3 비트들, 총 11 비트들을 이용하여 DQ0L-DQ3L 셀 블락들(401L-404L)의 불량 셀에 대한 정보를 저장할 수 있다.
FCS0L 셀 블락(406L)의 F4, F5, F6, F7, F8 비트와 FCS1L 셀 블락(407L)의 F9, F10 비트, 총 7 비트들은, 불량 로우 어드레스(FRA)의 워드라인에 연결되며 DQ0L-DQ3L 셀 블락들(401L-404L)에서 발생된 1개 불량 셀이 칼럼 선택 신호들(CSL0-CSL127)에 연결되는 칼럼 선택부들(421, 도 4) 중에서 어느 칼럼 선택부와 연결되는지를 나타낼 수 있다.
FCS0L 셀 블락(406L)의 F1, F2, F3 비트는 오더링 정보를 저장할 수 있다. 3 비트들로 구성되는 오더링 정보는, 도 3b 에서 설명된 제1 내지 제8 버스트 데이터들 중 어느 버스트 데이터에 불량 셀에 의한 에러 비트가 있는지를 나타낼 수 있다. 3 비트의 오더링 정보는 메모리 장치의 X8 모드를 지원하는 것으로 설정될 수 있다.
FCS1L 셀 블락(407L)의 M 비트는 FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)에 저장된 불량 셀 정보가 참(true)인지 여부를 나타내는 마스터 정보를 저장할 수 있다. M 비트는 불량 로우 어드레스(FRA)의 워드라인에 연결되는 DQ0L-DQ3L 셀 블락들(401L-404L)의 메모리 셀들에서 1 개 불량 셀이 있는지를 나타낼 수 있다. 예컨대, M 비트가 `0` 이면, 불량 로우 어드레스(FRA)의 워드라인에 연결되는 DQ0L-DQ3L 셀 블락들(401L-404L)에는 불량 셀이 없음을 나타내고, FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)에 저장된 불량 셀 정보는 무효함을 나타낸다. M 비트가 `1` 이면, 불량 로우 어드레스(FRA)의 워드라인에 연결되는 DQ0L-DQ3L 셀 블락들(401L-404L)에 1개 불량 셀이 있음을 나타내고, FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)에 저장된 불량 셀 정보는 유효함을 나타낸다.
FCS1L 셀 블락(407L)의 8 비트들 중 사용되지 않은(reserved) 5 비트들이 존재할 수 있다. 사용되지 않은 5 비트들은 FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)에 저장된 불량 셀 정보, 총 11 비트들에 대한 ECC 동작을 위하여 사용될 수 있다. FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)에 저장되는 불량 셀 정보에 대하여 ECC 동작을 수행하고 패리티 비트들을 생성할 수 있다. 불량 셀 정보에 대한 패리티 비트들은 FCS1L 셀 블락(407L)의 사용되지 않는 5 비트들에 저장될 수 있다.
도 6b를 참조하면, 도 6a와 비교하여, 오더링 정보가 FCS0L 셀 블락(406L)의 F1, F2 비트, 총 2 비트들을 이용하여 저장된다는 점에서 차이가 있다. 도 3b 에서 설명된 제1 내지 제8 버스트 데이터들은 2개의 버스트 데이터끼리 그루핑(grouping)되어 4 그룹으로 구성될 수 있다. 2 비트들로 구성되는 오더링 정보는, 4 그룹의 버스트 데이터 중 어느 그룹에 불량 셀에 의한 에러 비트가 있는지를 나타낼 수 있다. 2 비트의 오더링 정보는 메모리 장치의 X4 모드를 지원하는 것으로 설정될 수 있다.
FCS0L 셀 블락(406L)의 F3, F4, F5, F6, F7, F8 비트와 FCS1L 셀 블락(407L)의 F9 비트, 총 7 비트들은, 불량 로우 어드레스(FRA)의 워드라인에 연결되며 DQ0L-DQ3L 셀 블락들(401L-404L)에서 발생된 1개 불량 셀이 칼럼 선택 신호들(CSL0-CSL127)에 연결되는 칼럼 선택부들(421, 도 4) 중에서 어느 칼럼 선택부와 연결되는지를 나타낼 수 있다. FCS1L 셀 블락(407L)의 M 비트는, 불량 로우 어드레스(FRA)의 워드라인에 연결되는 DQ0L-DQ3L 셀 블락들(401L-404L)의 메모리 셀들에서 1 개 불량 셀이 있는지를 나타낼 수 있다. FCS1L 셀 블락(407L)의 8 비트들 중 사용되지 않은(reserved) 6 비트들에는 FCS0L 셀 블락(406L)과 FCS1L 셀 블락(407L)에 저장되는 불량 셀 정보에 대한 패리티 비트들이 저장될 수 있다.
도 7은 도 5a의 메모리 장치에서 데이터 라인 구조를 설명하는 도면이다. 도 7은 FCS 셀 블락들이 DQ 셀 블락들의 데이터 라인들을 공유하는 데이터 라인 구조를 보여준다.
도 7을 참조하면, 메모리 셀 어레이(110)는 DQ0L-DQ3L 셀 블락들(401L-404L)과 DQ0U-DQ3U 셀 블락들(401U-404U), ECCPL 셀 블락(405L)과 ECCPU 셀 블락(405U), FCS0L, FCS1L 셀 블락들(406L, 407L), 그리고 FCS0U, FCS1U 셀 블락들(406U, 407U)을 포함할 수 있다.
DQ0L 셀 블락(401L)은 GIO[0:7] 데이터 라인들과 연결되고, DQ0U 셀 블락(401U)은GIO[8:15] 데이터 라인들과 연결되고, DQ1L 셀 블락(402L)은 GIO[16:23] 데이터 라인들과 연결되고, DQ1U 셀 블락(402U)은GIO[24:31] 데이터 라인들과 연결되고, DQ2L 셀 블락(403L)은 GIO[32:39] 데이터 라인들과 연결되고, DQ2U 셀 블락(403U)은GIO[40:47] 데이터 라인들과 연결되고, DQ3L 셀 블락(404L)은 GIO[48:55] 데이터 라인들과 연결되고, DQ3U 셀 블락(404U)은GIO[56:63] 데이터 라인들과 연결될 수 있다.
메모리 셀 어레이(110)에서, 로우들 및 칼럼들로 배열되는 DRAM 셀들은 미세화 공정에 의하여 셀 사이즈가 작다. 이에 대하여, DRAM 셀들과 연결되는 데이터 라인들(GIO[0:63])은 라인 폭과 라인 간격 등을 고려하여 배치되므로, 셀 사이즈에 비하여 큰 배치 영역을 필요로 한다.
FCS0L, FCS0U, FCS1L, FCS1U 셀 블락들(406L, 406U, 407L, 407U)의 메모리 셀들로 불량 셀 정보를 저장하기 위하여, FCS0L, FCS0U, FCS1L, FCS1U 셀 블락들(406L, 406U, 407L, 407U)과 연결되는 데이터 라인들이 필요하다. FCS0L, FCS0U, FCS1L, FCS1U 셀 블락들(406L, 406U, 407L, 407U)에 연결되는 데이터 라인들을 별도로 배치하기 보다 기존의 데이터 라인들(GIO[0:63])을 공유할 수 있다면, 메모리 장치(100a)의 데이터 라인 배치가 용이할 수 있다.
FCS0L 셀 블락(406L)은 DQ0L 셀 블락(401L)의GIO[0:7] 데이터 라인들을 공유할 수 있다. FCS0U 셀 블락(406U) 블락은 DQ0U 셀 블락(401U)의GIO[8:15] 데이터 라인들을 공유하고, FCS1L 셀 블락(407L) 블락은 DQ3L 셀 블락(404L)의GIO[48:55] 데이터 라인들을 공유하고, FCS3U 셀 블락(407U) 블락은 DQ3U 셀 블락(404U)의GIO[56:63] 데이터 라인들을 공유할 수 있다. 이를 위하여, FCS0L 셀 블락(406L)은 DQ0L 셀 블락(401L)에 인접하게 배치되고, FCS0U 셀 블락(406U) 블락은 DQ0U 셀 블락(401U)에 인접하게 배치되고, FCS1L 셀 블락(407L) 블락은 DQ3L 셀 블락(404L)에 인접하게 배치되고, FCS3U 셀 블락(407U) 블락은 DQ3U 셀 블락(404U)에 인접하게 배치될 수 있다.
실시예에 따라, FCS0L, FCS0U, FCS1L, FCS1U 셀 블락(406L, 406U, 407L, 407U) 각각은 대응적으로 DQ1L, DQ1U, DQ2L, DQ2U 셀 블락(402L, 402U, 403L, 403U)에 인접하게 배치될 수 있다. FCS0L, FCS0U, FCS1L, FCS1U 셀 블락(406L, 406U, 407L, 407U) 각각은 대응적으로 GIO[16:23], GIO[24:31], GIO[32:39], GIO[40:47] 데이터 라인들을 공유할 수 있다.
도 8 및 도 9는 도 1의 저장부를 설명하는 도면들이다.
도 8을 참조하면, 저장부(122)는 로우 어드레스 저장부(810), 칼럼 어드레스 저장부(820), 오더링 저장부(830), 그리고 마스터 저장부(840)를 포함할 수 있다. 로우 어드레스 저장부(810)는 불량 셀의 로우 어드레스들(FRA[0:m])를 저장하고, 칼럼 어드레스 저장부(820)는 불량 셀의 칼럼 어드레스(FCA[0:n])를 저장할 수 있다. 오더링 저장부(830)는, 예컨대, 도 6b에서 설명된 오더링 정보(F[1:2])를 저장하고, 마스터 저장부(840)는 마스터 정보(M)를 저장할 수 있다.
도 9를 참조하면, 로우 어드레스 저장부(810), 칼럼 어드레스 저장부(820), 오더링 저장부(830) 그리고 마스터 저장부(840)는 다수개의 안티-퓨즈들(902)을 포함하는 안티-퓨즈 어레이로 구성될 수 있다. 안티-퓨즈(902)는 퓨즈 소자와 반대되는 전기적 특성을 갖는 것으로서, 프로그램 되지 않은 상태에서는 높은 저항 값을 갖는 반면 프로그램 된 상태에서는 낮은 저항 값을 갖는 저항성 퓨즈 소자이다.
안티-퓨즈(902)는 일반적으로 도전체 사이에 유전체가 삽입되어 있는 형태로 구성되며, 안티-퓨즈(902) 양단의 도전체를 통해 고전압을 인가하여 양 도전체 사이의 유전체를 파괴함으로써 안티-퓨즈를 프로그램한다. 프로그램의 결과, 안티-퓨즈의 양 단의 도전체가 단락되어 낮은 저항 값을 가질 수 있다.
안티-퓨즈(902)는 소스(4)와 드레인(5)이 연결된 디플리션 타입의 MOS 트랜지스터로 구성된다. 초기 상태에서, 게이트 전극(3)에 연결된 제1 노드(6)와 소스(4)와 드레인(5)에 공통으로 연결된 제2 노드(7) 사이의 저항은, 이들 사이가 게이트 산화막에 의해 분리되어 있기 때문에, 매우 크다. 이에 따라, 제1 노드(6)와 제2 노드(7) 사이는 비도통 상태이다. 예컨대, 이 상태를 프로그램 되지 않은 상태인 로직 `로우`로 설정할 수 있다.
안티 퓨즈(902)는, 제1 노드(6)와 제2 노드(7) 사이에 브레이크다운 전압을 인가함으로써 게이트 산화막을 파괴시켜, 비도통 상태에서 도통 상태로 불개변성으로(irreversibly) 바뀌어질 수 있다. 게이트 산화막이 파괴되면, 제1 노드(6)와 제2 노드(7) 사이의 저항은 낮아진다. 이 상태를 프로그램 된 상태인 로직 `하이`라고 설정할 수 있다.
로우 어드레스 저장부(810), 칼럼 어드레스 저장부(820), 오더링 저장부(830) 그리고 마스터 저장부(840) 각각은, 안티-퓨즈들(902)을 선택적으로 프로그램하여, 메모리 장치(100, 도 1)의 제조 공정 단계에서 발생된 불량 셀들의 로우 어드레스(FRA[0:m]), 칼럼 어드레스(FCA[0:n]), 오더링 정보(F[1:2]) 그리고 마스터 정보(M)를 저장할 수 있다.
도 10은 도 1의 비교부를 설명하는 블락 다이어그램이다.
도 10을 참조하면, 비교부(124)는 어드레스 비교부(910)와 ECC 제어 신호 출력부(920)를 포함할 수 있다. 어드레스 비교부(910)는 FCS 셀 어레이(114, 도 1)에서 출력되는 불량 칼럼 어드레스(FCA[0:n]) 비트 각각과 억세스 칼럼 어드레스(CA[0:n]) 비트 각각을 비교하는 XNOR 게이트들(911)을 포함할 수 있다. ECC 제어 신호 출력부(920)는 XNOR 게이트들(911)의 출력을 입력하는 NAND 게이트(921)와 NAND 게이트(921)의 출력을 입력하는 인버터(922)로 구성될 수 있다. 인버터(922)의 출력은 ECC 제어 신호(ECC_CNTL)로 출력될 수 있다.
도 11은 도 1의 ECC 엔진을 설명하는 도면이다.
도 11을 참조하면, ECC 엔진(130)은 제1 ECC 엔진(1110)과 제2 ECC 엔진(1120)을 포함할 수 있다. 제1 ECC 엔진(1110)은 ECC 제어 신호(ECC_CNTL)에 응답하여 노멀 셀 어레이(112)의 불량 셀에 대한 ECC 동작을 수행할 수 있다. 제1 ECC 엔진(1110)은 노멀 셀 어레이(112)의 불량 셀을 포함하는 메모리 셀들로 기입되는 기입 데이터 비트들에 대하여 패리티 비트들을 생성하고, 생성된 패리티 비트들을 ECC 셀 어레이(116)에 저장되도록 할 수 있다. 제1 ECC 엔진(1110)은 노멀 셀 어레이(112)의 불량 셀을 포함하는 메모리 셀들로부터 독출되는 독출 데이터 비트와 ECC 셀 어레이(116)에서 독출되는 패리티 비트들을 이용하여 독출 데이터 비트들에 포함된 에러 비트를 검출하고 정정할 수 있다.
제2 ECC 엔진(1120)은 ECC 제어 신호(ECC_CNTL)에 응답하여 FCS 셀 어레이(114)에 저장된 불량 셀 정보에 대한 ECC 동작을 수행할 수 있다. 제2 ECC 엔진(1120)은 FCS 셀 어레이(114)에 저장되는 불량 셀 정보에 대하여 ECC 동작을 수행하고 패리티 비트들을 생성하고, 생성된 패리티 비트들을 FCS 셀 어레이(114)에 저장되도록 할 수 있다. 예컨대, 도 6a 및 도 6b에서 설명된 바와 같이, 불량 셀 정보에 대한 패리티 비트들이 FCS1L 셀 블락(407L)의 사용되지 않는 5 비트들에 저장되도록 할 수 있다. 제2 ECC 엔진(1120)은 FCS 셀 어레이(114)에서 독출되는 불량 셀 정보와 패리티 비트들을 이용하여 불량 셀 정보에 포함된 에러 비트를 검출하고 정정할 수 있다.
도 12는 도 11의 제1 ECC 엔진을 설명하는 도면이다. 도 12의 제1 ECC 엔진(1110)은 도 4의 메모리 장치의 X4 모드에 적응적으로 동작하도록 설명된다.
도 12를 참조하면, 제1 ECC 엔진(1110)은 ECC 인코딩 회로(1102)와 ECC 디코딩 회로(1104)를 포함할 수 있다. ECC 인코딩 회로(1102)는 ECC 제어 신호(ECC_CNTL)에 응답하여 메모리 셀 어레이(110)의 메모리 셀들에 기입될 기입 데이터(WData[0:7])에 대하여 패리티 비트들(ECCP[0:3])을 생성할 수 있다. 패리티 비트들(ECCP[0:3])은 ECC 셀 어레이(116)의 ECCPL 셀 블락 또는 ECCPU 셀 블락에 저장될 수 있다. 기입 데이터(WData[0:7])는 노멀 셀 어레이(112)의 DQ0L-DQ3L 셀 블락들 또는 DQ0U-DQ3U 셀 블락들에 저장될 수 있다.
ECC 디코딩 회로(1104)는 ECC 제어 신호(ECC_CNTL)에 응답하여 노멀 셀 어레이(112)로부터 독출되는 독출 데이터(RData[0:7])와 ECC 셀 어레이(116)로부터 독출되는 패리티 비트들(ECCP[0:3])을 이용하여 독출 데이터(RData[0:7])에 포함된 에러 비트를 정정하고, 에러 정정된 데이터(Data[0:7])를 출력할 수 있다.
도 13a 및 도 13b는 도 12의 ECC 인코딩 회로와 ECC 디코딩 회로를 설명하는 도면들이다.
도 13a를 참조하면, ECC 인코딩 회로(1102)는 ECC 제어 신호(ECC_CNTL)에 응답하여 8 비트 기입 데이터(WData[0:7])를 수신하고, 데이터 비트들끼리의 연산을 이용하여 패리티 비트들(ECCP[0:3])을 발생하는 패리티 발생부(1212)를 포함할 수 있다.
도 13b를 참조하면, ECC 디코딩 회로(1104)는 신드롬 발생부(1302), 계수 계산부(1304), 1 비트 에러 위치 검출부(1306), 그리고 에러 정정부(1308)를 포함한다. 신드롬 발생부(1302)는 ECC 제어 신호(ECC_CNTL)에 응답하여 8 비트 독출 데이터(RData[0:7])와 4 비트의 패리티 비트(ECCP[0:3])를 수신하고 XOR 어레이 연산을 이용하여 신드롬 데이터(S[0:3])를 발생할 수 있다. 계수 계산부(1304)는 신드롬 데이터(S[0:3])를 이용하여 오류 위치 방정식의 계수를 산출할 수 있다. 오류 위치 방정식은 에러 비트의 역수를 근으로 하는 방정식이다. 1 비트 에러 위치 검출부(1306)는 산출된 오류 위치 방정식을 이용하여 1 비트 에러의 위치를 계산할 수 있다. 에러 정정부(1308)는 1 비트 에러 위치 정보에 따라 8 비트 독출 데이터(RData[0:7]) 중 에러가 발생한 비트의 로직 값을 반전시켜 에러를 정정하고, 에러 정정된 8 비트 데이터(Data[0:7])를 출력할 수 있다.
도 14는 본 발명의 다른 실시예에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 설명하는 도면이다.
도 14를 참조하면, 메모리 장치(1400)는 불량 셀 구제를 위하여 데이터 라인 리던던시 동작을 수행한다. 메모리 장치(1400)는 메모리 셀 어레이(1410), 제어 로직부(1420), 그리고 리던던시 제어 회로(1430)를 포함한다. 메모리 셀 어레이(1410)는 로우들 및 칼럼들로 배열되는 복수개의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(1410)는 노멀 셀 어레이(1412), FCS 셀 어레이(1414), 그리고 리던던시 셀 어레이(1416)를 포함할 수 있다. 제어 로직부(1420)는 노멀 셀 어레이(1412)에서 발생된 불량 셀에 대한 정보를 저장할 수 있다. 리던던시 제어 회로(1430)는 노멀 셀 어레이(1412)의 불량 셀이 연결되는 칼럼을 리던던시 셀 어레이(1416)의 칼럼으로 교체하는 리페어 동작을 수행할 수 있다.
노멀 셀 어레이(1412)에는 불량 로우 어드레스(FRA)와 불량 칼럼 어드레스(FCA)에 의해 어드레싱되는 불량 셀(● 표시)이 존재할 수 있다. FCS 셀 어레이(1414)는 제어 로직부(1420)의 저장부(1422)에 저장된 불량 셀의 정보를 복사하여 저장할 수 있다. 저장부(1422)는 노멀 셀 어레이(1412)에서 발생된 불량 셀의 불량 로우 어드레스(FRA) 및 불량 칼럼 어드레스(FCA)를 저장할 수 있다. FCS 셀 어레이(1414)는 불량 로우 어드레스(FRA)에 의해 억세스되는 메모리 셀들에 불량 칼럼 어드레스(FCA)를 저장할 수 있다.
FCS 셀 어레이(1414)는 저장부(1422)로부터 복사하여 저장되어 있는 불량 칼럼 어드레스(FCA)를 제어 로직부(1420)의 비교부(1424)로 제공할 수 있다. 비교부(1424)는 FCS 셀 어레이(114)의 불량 로우 어드레스(FRA)의 메모리 셀들로부터 출력되는 불량 칼럼 어드레스(FCA)와 메모리 장치(1400)의 기입 또는 독출 동작의 억세스 어드레스를 비교할 수 있다.
비교부(1424)는 억세스 어드레스를 FCS 셀 어레이(1414)에서 출력되는 불량 셀 어드레스(FRA, FCA)와 비교함으로써, 저장부(1422)의 불량 셀 어드레스(FRA, FCA)와 비교하는 것에 비하여 빠른 비교 결과를 얻을 수 있다. 비교 결과, 억세스 어드레스가 불량 셀 어드레스(FRA, FCA)와 일치하는 경우, 노멀 셀 어레이(1414)의 불량 칼럼 어드레스(FCA)에 상응하는 메모리 셀들을 리던던시 셀 어레이(1416)의 리던던시 셀들로 교체하는 데이터 라인 리페어(Data Line Repair: DLR) 동작 여부가 빠르게 결정될 수 있다.
리던던시 셀 어레이(1416)는 노멀 셀 어레이(1412)의 불량 셀이 연결되는 칼럼을 구제하는 용도로 사용된다. 리던던시 셀 어레이(1416)는 불량 셀을 구제하는 리던던시 셀들로 구성될 수 있다. 리던던시 셀 어레이(1416)는 불량 셀을 구제하기 위하여 불량 셀이 연결되는 데이터 라인 단위로 또는 비트라인 단위로 리던던시 셀들이 교체될 수 있다.
제어 로직부(1420)는 메모리 장치(1400)의 외부에서 인가되는 억세스 어드레스가 불량 셀을 어드레싱하는지 여부를 판단할 수 있다. 제어 로직부(1420)는 노멀 셀 어레이(1412)에서 발생된 불량 셀의 어드레스(FRA, FCA)를 저장할 수 있다. 제어 로직부(1420)는 불량 셀 어드레스(FRA, FCA)와 메모리 장치(1400)의 외부에서 인가되는 억세스 어드레스를 비교하고, 비교 결과에 따라 DLR 동작을 수행할지 여부를 판단할 수 있다. 제어 로직부(1420)는 불량 셀 어드레스(FRA, FCA)를 저장하는 저장부(1422)와, FCS 셀 어레이(1414)에서 출력되는 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])를 비교하는 비교부(1424)를 포함할 수 있다.
저장부(1422)는 노멀 셀 어레이(1412)에서 발생된 불량 셀 어드레스(FRA, FCA)를 저장할 수 있다. 불량 셀 어드레스(FRA, FCA)는 메모리 장치(1400)의 제조 공정 단계의 테스트 과정에서 얻어질 수 있다. 불량 셀 어드레스(FRA, FCA)는 메모리 장치(1400)의 제품 출하 시에 저장부(1422)에 저장될 수 있다.
저장부(1422)는 메모리 장치(100)의 파워-업에 따른 초기화 동작 동안, 불량 로우 어드레스(FRA)에 상응하는 메모리 셀 어레이(110)의 워드라인을 인에이블시킬 수 있다. 저장부(1422)는 불량 로우 어드레스(FRA)의 워드라인에 연결되는 메모리 셀들 중 FCS 셀 어레이(1414)의 메모리 셀들에 불량 칼럼 어드레스(FCA)가 저장되도록 할 수 있다.
실시예에 따라, 저장부(1422)는 레이저-프로그래머블 퓨즈 어레이, 안티-퓨즈 어레이, 전기적 프로그래머블 퓨즈 어레이 등과 같은 원-타임 프로그래머블 메모리로 구현되거나, MRAM, RRAM, PRAM, 플래쉬 메모리와 같은 비휘발성 메모리 소자로 구현될 수 있다.
비교부(1424)는 억세스 칼럼 어드레스(CA[0:n])를 수신하고, FCS 셀 어레이(1414)로부터 불량 칼럼 어드레스(FCA)를 수신할 수 있다. 비교부(1424)는 억세스 칼럼 어드레스(CA[0:n])와 불량 칼럼 어드레스(FCA)가 일치하는 경우, DLR 제어 신호(DLR_CNTL)를 출력할 수 있다. DLR 제어 신호(DLR_CNTL)는 노멀 셀 어레이(1412)의 불량 칼럼 어드레스에 상응하는 칼럼이 리던던시 셀 어레이(1416)의 칼럼으로 교체되도록 리던던시 제어 회로(1430)으로 제공될 수 있다.
리던던시 제어 회로(1430)는 DLR 제어 신호(DLR_CNTL)에 응답하여 노멀 셀 어레이(1412)의 불량 칼럼 어드레스에 상응하는 칼럼을 리던던시 셀 어레이(1416)의 칼럼으로 교체할 수 있다. 리던던시 제어 회로(1430)은 불량 칼럼 어드레스에 상응하는 칼럼을 데이터 라인 단위로 또는 비트라인 단위로 리던던시 셀 어레이(1416)의 칼럼으로 교체할 수 있다.
도 15는 도 14의 메모리 장치의 동작 방법을 설명하는 플로우챠트이다.
도 14와 연계하여 도 15를 참조하면, 메모리 장치(1400)의 테스트 과정에서 노멀 셀 어레이(1410)의 메모리 셀들의 양·불량을 테스트할 수 있다. 메모리 장치(1400)는 테스트 과정에서 걸러진(screen) 불량 셀의 불량 로우 어드레스(FRA)와 불량 칼럼 어드레스(FCA)를 저장부(1422)에 저장할 수 있다(S1510).
메모리 장치(1400)는 전원 인가시 파워-업에 따라 초기화 동작을 수행할 수 있다. 메모리 장치(1400)는 초기화 동작 동안, 저장부(1422)에 저장된 불량 셀 정보를 메모리 셀 어레이(1410)의 FCS 셀 어레이(1414)에 복사하여 저장할 수 있다(S1520). 메모리 장치(1400)는 저장부(1422)의 불량 로우 어드레스(FRA)에 상응하는 메모리 셀 어레이(1410)의 워드라인을 인에이블시키고, 불량 로우 어드레스(FRA)의 워드라인에 연결되는 메모리 셀들 중 FCS 셀 어레이(1414)의 메모리 셀들에 저장부(1422)의 불량 칼럼 어드레스(FCA)를 저장할 수 있다.
메모리 장치(1400)는 메모리 콘트롤러 또는 메모리 버퍼로부터 기입 또는 독출 명령과 함께 억세스 어드레스를 수신할 수 있다(S1530).
메모리 장치(1400)는 억세스 어드레스가 FCS 셀 어레이(1414)의 불량 어드레스와 일치하는지 여부를 판별할 수 있다(S1540).
판별 결과(S1540), 억세스 로우 어드레스가 불량 셀의 불량 로우 어드레스(FRA)와 일치하는 경우, 메모리 셀 어레이(1410)에서 불량 로우 어드레스(FRA)에 상응하는 워드라인이 인에이블될 수 있다. 불량 로우 어드레스(FRA)의 워드라인에 연결되는 메모리 셀들 중 FCS 셀 어레이(1414)의 메모리 셀들에 저장된 불량 칼럼 어드레스(FCA)가 독출되어 비교부(1424)로 제공될 수 있다. 비교부(1424)는 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])를 비교하여 일치하는지 여부를 판별할 수 있다.
판별 결과(S1540), 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])가 일치하는 경우 (예), 메모리 장치(1400)는 노멀 셀 어레이(1414)의 불량 칼럼 어드레스(FCA)에 상응하는 칼럼을 리던던시 셀 어레이(1416)의 칼럼으로 교체하는 데이터 라인 리페어(Data Line Repair: DLR) 동작을 수행할 수 있다(S1550).
억세스 칼럼 어드레스(CA[0:n])와 불량 칼럼 어드레스(FCA)가 일치하는 경우, 비교부(1424)는 DLR 제어 신호(DLR_CNTL)를 발생하여 리던던시 제어 회로(1430)으로 제공할 수 있다. 리던던시 제어 회로(1430)는 DLR 제어 신호(DLR_CNTL)에 응답하여 불량 칼럼 어드레스에 상응하는 칼럼을 데이터 라인 단위로 또는 비트라인 단위로 리던던시 셀 어레이(1416)의 칼럼으로 교체할 수 있다.
메모리 장치(1400)는 데이터 라인 리페어 동작으로 구제된 억세스 어드레스에 상응하는 리던던시 셀 어레이(1416)의 메모리 셀들에 대하여 기입 및 독출 동작을 수행할 수 있다(S1560).
판별 결과(S1540), 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])가 일치하지 않은 경우 (아니오), 메모리 장치(1400)는 억세스 어드레스에 상응하는 노멀 셀 어레이(1412)의 메모리 셀들에 대하여 기입 및 독출 동작을 수행할 수 있다(S1560).
본 실시예의 메모리 장치(1400)의 동작 방법에서, 저장부(1422)에 저장된 불량 셀 어드레스(FRA, FCA)가 메모리 장치(1400)의 초기화 동작에서 FCS 셀 어레이(1414)로 복사되어 저장될 수 있다. FCS 셀 어레이(1414)에 저장된 불량 셀 어드레스(FRA, FCA)는 메모리 장치(1400)의 기입 또는 독출 동작을 수행하기 위한 억세스 어드레스와 비교되고, 비교 결과에 따라 억세스 어드레스에 상응하는 메모리 셀들에 대한 DLR 동작 수행 여부가 결정될 수 있다.
메모리 장치(1400)의 동작 방법은 억세스 어드레스 중 억세스 로우 어드레스는 비교하지 않고 억세스 칼럼 어드레스만이 불량 칼럼 어드레스(FCA)와 비교되게 함으로써, 빠른 비교 결과를 얻을 수 있다. 또한, 억세스 칼럼 어드레스가 FCS 셀 어레이(1414)에서 출력되는 불량 칼럼 어드레스(FCA)와 비교되게 함으로써, 저장부(1422)의 불량 셀 어드레스(FRA, FCA)와 비교되는 것에 비하여 비교 결과를 빨리 얻을 수 있다. 빠른 비교 결과를 바탕으로, 불량 셀 어드레스(FRA, FCA)에 의해 어드레싱되는 불량 셀은 데이터 라인 단위로 또는 비트라인 단위로 수행되는 DLR 동작에 의해 구제될 수 있다.
도 16a및 도 16b는 도 14의 메모리 장치에서 데이터 라인 단위의 DLR 동작을 설명하는 도면들이다. 도 16a및 도 16b는 DQ0-DQ7 셀 블락의 8 비트 데이터 라인들이 DLR 셀 블락의 8 비트 데이터 라인으로 리페어되는 동작의 전후를 보여준다.
도 16a를 참조하면, 노멀 셀 어레이(1412)는 다수개의 노멀 셀 블락들(1601-1608)을 포함할 수 있다. 노멀 셀 블락들(1601-1608) 각각에는 행들 및 열들로 배열되는 복수개의 메모리 셀들이 배열된다. 노멀 셀 블락(1601-1608) 각각의 메모리 셀들에 저장된 데이터는 대응되는 데이터 입출력 패드들(DQ0-DQ7)을 통하여 입출력되므로, 설명의 편의를 위하여, 노멀 셀 블락(1601-1608)을 DQ0-DQ7 셀 블락(1601-1608)으로 칭한다.
DQ0-DQ7 셀 블락(1601-1608) 각각의 로우들은 예컨대, 8K워드라인들(WL)로 구성되고, 칼럼들은 예컨대, 1K 비트라인들(BL)로 구성될 수 있다. 워드라인들(WL)과 비트라인들(BL)의 교차점들에 연결되는 메모리 셀들은 DRAM 셀들(○ 표시)로 구성될 수 있다. 메모리 장치(1400)는 예시적으로, 버스트 길이 BL=8로 설정될 수 있다. 이에 따라, DQ0-DQ7 셀 블락(1601-1608)에서 8개의 비트라인들(BLs)이 동시에 선택될 수 있다.
리던던시 셀 어레이(1416)는 노멀 셀 어레이(1412)의 불량 셀이 연결되는 칼럼을 구제하기 위하여, DQ0-DQ7 셀 블락(1601-1608)과 동일하게, 예컨대, 8K워드라인들로 구성될 수 있다. 리던던시 셀 어레이(1416)는, DQ0-DQ7 셀 블락(1601-1608)과는 다르게, 8개 비트라인들로 구성될 수 있다. 리던던시 셀 어레이(1416)는 8K 워드라인들(WLs)과 8 비트라인들(BLs)의 교차점들에 연결되는 DRAM 셀들을 포함하는 DLR 셀 블락(1609)를 포함할 수 있다.
리던던시 제어 회로(1430)는 DLR 제어 신호(DLR_CNTL)에 응답하여 DQ0-DQ7 셀 블락들(1601-1608)과 데이터 라인들(GIO[0:63])을 대응적으로 연결시키는 제1 내지 제8스위칭부들(1611-1618)을 포함할 수 있다. FCS 셀 어레이(1414, 도 14)에서 출력되는 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])가 일치하지 않은 경우, 리던던시 제어 회로(1430)는 비활성화된 DLR 제어 신호(DLR_CNTL)를 수신할 수 있다.
리던던시 제어 회로(1430)는 비활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 제1 스위칭부(1611)를 통해 DQ0 셀 블락(1601)과 제1 데이터 라인들(GIO[0:7])을 연결시킬 수 있다. 그리고, 제2 스위칭부(1612)를 통해 DQ1 셀 블락(1602)과 제 2 데이터 라인들(GIO[8:15])을 연결시키고, 나머지 제3 내지 제8 스위칭부(1613-1618) 각각을 통해 DQ3-DQ8 셀 블락과 대응하는 제 3 내지 제8 데이터 라인들(GIO[16:23] ~ GIO[56:63])을 연결시킬 수 있다.
DQ0-DQ7 셀 블락들(1601-1608)에 불량 셀(● 표시)이 있는 경우, 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)를 수신할 수 있다. 예를 들어, 도 16b에 도시된 바와 같이, DQ1 셀 블락(1602)에 불량 셀이 여러개 존재할 수 있다.
도 16b을 참조하면, FCS 셀 어레이(1414, 도 14)에서 출력되는 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])가 일치하는 경우, 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)를 수신할 수 있다. 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 제1 스위칭부(1611)를 통해 DQ0 셀 블락(1601)과 제1 데이터 라인들(GIO[0:7])을 연결시킬 수 있다. 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 불량 셀을 포함하는 DQ1 셀 블락(1602)과 제 2 데이터 라인들(GIO[8:15])이 연결되지 않도록 차단하고 DQ2 셀 블락(1603)과 제2 데이터 라인들(GIO[8:15])이 연결되도록 제2 스위칭부(1612)를 제어할 수 있다.
리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 제3 스위칭부(1613)를 통해 DQ3 셀 블락(1604)과 제3 데이터 라인들(GIO[16:23])을 연결시키고, 제4 스위칭부(1614)를 통해 DQ4 셀 블락(1605)과 제 4 데이터 라인들(GIO[24:31])을 연결시키고, 나머지 제5 내지 제7 스위칭부(1615-1617) 각각을 통해 DQ5-DQ7 셀 블락(1606-1608)과 대응하는 제 5 내지 제7 데이터 라인들(GIO[32:39] ~ GIO[48:55])을 연결시킬 수 있다. 그리고, 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 제8 스위칭부(1618)를 통해 DLR 셀 블락(1609)과 제8 데이터 라인들(GIO[56:63])을 연결시킬 수 있다.
본 실시예의 메모리 장치(1400)은 DLR 동작이 8 비트들의 데이터 라인 단위로 수행되는 예에 대하여 설명하고 있다. 실시예에 따라, 8 비트들 이외에 다양한 비트 수의 데이터 라인 단위로 DLR 동작이 수행될 수 있다.
도 17a및 도 17b는 도 14의 메모리 장치에서 비트라인 라인 단위의 DLR 동작을 설명하는 도면들이다. 도 17a및 도 17b는 DQ0-DQ7 셀 블락의 1 비트라인이 DLR 셀 블락의 1 비트라인으로 리페어되는 동작의 전후를 보여준다.
도 17a를 참조하면, 리던던시 제어 회로(1430)는 DLR 제어 신호(DLR_CNTL)에 응답하여 DQ0-DQ7 셀 블락(1601-1608) 각각의 비트라인들과 데이터 라인들(GIO[0:63])을 대응적으로 연결시키는 다수개의 스위치들(1711-1714)을 포함할 수 있다. FCS 셀 어레이(1414, 도 14)에서 출력되는 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])가 일치하지 않은 경우, 리던던시 제어 회로(1430)는 비활성화된 DLR 제어 신호(DLR_CNTL)를 수신할 수 있다.
리던던시 제어 회로(1430)는 비활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 제1 스위치(1711)를 통해 DQ0 셀 블락(1601)의 BL0 비트라인과 GIO[0] 데이터 라인을 연결시킬 수 있다. 그리고, 제2 스위치(1712)를 통해 DQ0 셀 블락(1601)의 BL1 비트라인과 GIO[1] 데이터 라인을 연결시키고, 제3 스위치(1712)를 통해 DQ0 셀 블락(1601)의 BL2 비트라인과 GIO[2] 데이터 라인을 연결시킬 수 있다. 그리고, 나머지 스위치들 각각을 통하여 DQ0-DQ7 셀 블락들의 비트라인들과 GIO 데이터 라인들을 연결시키고, 스위치(1714)를 통하여 DQ7 셀 블락의 비트라인과 GIO[63] 데이터 라인을 연결시킬 수 있다.
DQ0-DQ7 셀 블락들(1601-1608)에 불량 셀(● 표시)이 있는 경우, 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)를 수신할 수 있다. 예를 들어, 도 17b에 도시된 바와 같이, DQ0 셀 블락(1601)에 불량 셀이 존재할 수 있다.
도 17b을 참조하면, FCS 셀 어레이(1414, 도 14)에서 출력되는 불량 칼럼 어드레스(FCA)와 억세스 칼럼 어드레스(CA[0:n])가 일치하는 경우, 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)를 수신할 수 있다. 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 제1 스위치(1711)를 통해 DQ0 셀 블락(1601)의 BL0 비트라인과 GIO[0] 데이터 라인을 연결시킬 수 있다.
리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 DQ0 셀 블락(1601)의 불량 셀이 연결되는 BL1 비트라인이 GIO[1] 데이터 라인이 연결되지 않도록 차단하고, BL1 비트라인에 인접한 BL2 비트라인이 GIO[1] 데이터 라인과 연결되도록 제2 스위치(1712)를 제어할 수 있다. 그리고, 리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 제3 스위치(1713)를 통해 DQ0 셀 블락(1601)의 BL3 비트라인과 GIO[2] 데이터 라인을 연결시킬 수 있다.
리던던시 제어 회로(1430)는 활성화된 DLR 제어 신호(DLR_CNTL)에 응답하여 대칭적인 비트라인과 GIO 데이터 라인 연결 구조에서 1 불량 셀의 비트라인을 스킵하여 1 비트라인 쉬프트된 비트라인과 GIO 데이터 라인이 연결되도록 스위치들을 제어할 수 있다. 이에 따라, 리던던시 제어 회로(1430)는 GIO[63] 데이터 라인은 DLR 셀 블락(1609)의 리던던트 비트라인(RBL)과 연결되도록 스위치(1714)를 제어할 수 있다.
도 18은 본 발명의 다른 실시예에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 설명하는 도면이다.
도 18을 참조하면, 메모리 장치(1800)는 제어 로직(1810), 리프레쉬 어드레스 발생부(1815), 어드레스 버퍼(1820), 뱅크 제어 로직(1830), 로우 어드레스 멀티플렉서(1840), 칼럼 어드레스 래치(1850), 로우 디코더, 메모리 셀 어레이, 센스 앰프부, 입출력 게이팅 회로(1890), 데이터 입출력 버퍼(1895), ECC 엔진(1802), 그리고 DLR 제어부(1804)을 포함할 수 있다. 메모리 장치(1800)는 ECC 엔진(1802)과 DLR 제어부(1804) 중 어느 하나를 선택적으로 포함할 수 있다.
메모리 셀 영역은 제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d)을 포함할 수 있다. 제1 내지 제4 뱅크 어레이(1880a, 1880b, 1880c, 1880d) 각각은 노멀 셀 어레이, FCS 셀 어레이, ECC 셀 어레이, 그리고 DLR 셀 어레이로 구성될 수 있다. 노멀 셀 어레이, FCS 셀 어레이, ECC 셀 어레이, 그리고 DLR 셀 어레이는 행들 및 열들로 배열되는 복수개의 메모리 셀들을 포함할 수 있다.
FCS 셀 어레이는 제어 로직(1810)의 저장부로부터 불량 셀 정보를 복사하여 저장할 수 있다. ECC 셀 어레이는 노멀 셀 어레이의 불량 셀들로/로부터 제공되는 데이터에 대하여 수행되는 ECC 동작에 이용되는 ECC 패리티 비트들을 저장할 수 있다. DLR 셀 어레이는 노멀 셀 어레이의 불량 셀을 데이터 라인 리페어(Data Line Repair: DLR) 동작으로 구제하기 위한 리던던트 셀들을 포함할 수 있다.
로우 디코더는 제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d)에 각각 연결된 제1 내지 제4 뱅크 로우 디코더들(1860a, 1860b, 1860c, 1860d)을 포함할 수 있다. 칼럼 디코더는 제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d)에 각각 연결된 제1 내지 제4 뱅크 칼럼 디코더들(1870a, 1870b, 1870c, 1870d)을 포함할 수 있다. 센스 앰프부는 제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d)에 각각 연결된 제1 내지 제4 뱅크 센스 앰프들(1885a, 1885b, 1885c, 1885d)을 포함할 수 있다.
제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d), 제1 내지 제4 뱅크 로우 디코더들(1860a, 1860b, 1860c, 1860d), 제1 내지 제4 뱅크 칼럼 디코더들(1870a, 1870b, 1870c, 1870d) 및 제1 내지 제4 뱅크 센스 앰프들(1885a, 1885b, 1885c, 1885d)은 제1 내지 제4 메모리 뱅크들을 각각 구성할 수 있다. 도 18에는 4개의 메모리 뱅크들을 포함하는 메모리 장치(1800)의 예가 도시되어 있으나, 실시예에 따라, 메모리 장치(1800)는 임의의 수의 메모리 뱅크들을 포함할 수 있다.
또한, 실시예에 따라, 메모리 장치(1800)는 DDR SDRAM (Double Data Rate Synchronous Dynamic Ramdom Access Memory), LPDDR (Low Power Double Data Rate) SDRAM, GDDR (Graphics Double Data Rate) SDRAM, RDRAM (Rambus Dynamic Ramdom Access Memory) 등과 같은 동적 랜덤 억세스 메모리 (Dynamic Ramdom Access Memory: DRAM) 이거나, ECC 동작이 필요한 임의의 휘발성 메모리 장치일 수 있다.
제어 로직(1810)은 메모리 장치(1800)의 동작을 제어할 수 있다. 예를 들어, 제어 로직(1810)은 메모리 장치(1800)가 기입 동작 또는 독출 동작을 수행하도록 제어 신호들을 생성할 수 있다. 제어 로직(1810)은 노멀 셀 어레이에서 발생된 불량 셀의 어드레스를 포함하는 불량 셀 정보를 저장하고, FCS 셀 어레이에서 출력되는 불량 셀 어드레스와 메모리 장치의 외부에서 인가되는 억세스 어드레스를 비교할 수 있다. 제어 로직(1810)은 비교 결과에 따라 ECC 제어 신호를 발생하여 ECC 동작을 수행하도록 ECC 엔진(1802)으로 제공할 수 있다. 또한, 제어 로직(1810)은 비교 결과에 따라 DLR 제어 신호를 발생하여 DLR 동작을 수행하도록 DLR 제어부(1804)로 제공할 수 있다.
제어 로직(1810)은 메모리 콘트롤러로부터 수신되는 커맨드(CMD)를 디코딩하는 커맨드 디코더(1811) 및 메모리 장치(1800)의 동작 모드를 설정하기 위한 모드 레지스터(1812)를 포함할 수 있다. 커맨드 디코더(1811)는 기입 인에이블 신호(/WE), 로우 어드레스 스트로브 신호(/RAS), 칼럼 어드레스 스트로브 신호(/CAS), 칩 선택 신호(/CS)등을 디코딩하여 커맨드(CMD)에 상응하는 제어 신호들을 생성할 수 있다. 커맨드 디코더(1811)는 메모리 콘트롤러로부터 에러 카운트 커맨드(ERR_CNT)를 수신할 수 있다.
모드 레지스터(1812)는 메모리 장치(1800)의 복수개 동작 옵션들을 제공하고, 메모리 장치(1800)의 다양한 기능들, 특성들 그리고 모드들을 프로그램할 수 있다.
제어 로직(1810)은 동기 방식으로 메모리 장치(1800)을 구동하기 위한 차동 클럭들(CLK_t/CLK_c) 및 클럭 인에이블 신호(CKE)를 더 수신할 수 있다. 메모리 장치(1800)의 데이터는 더블 데이터 레이트로 동작할 수 있다. 클럭 인에이블 신호(CKE)는 클럭(CLK_t)의 상승 에지에서 캡쳐될 수 있다.
제어 로직(1810)은 리프레쉬 커맨드에 응답하여 리프레쉬 어드레스 발생부(1815)가 오토 리프레쉬 동작을 수행하도록 제어하거나, 셀프 리프레쉬 진입 커맨드에 응답하여 리프레쉬 어드레스 발생부(1815)가 셀프 리프레쉬 동작을 수행하도록 제어할 수 있다.
리프레쉬 어드레스 발생부(1815)는 리프레쉬 동작이 수행될 메모리 셀 로우에 해당하는 리프레쉬 어드레스(REF_ADDR)를 생성할 수 있다. 리프레쉬 어드레스 발생부(1815)는 휘발성 메모리 장치의 표준에서 정의된 리프레쉬 주기로 리프레쉬 어드레스(REF_ADDR)를 생성할 수 있다.
어드레스 버퍼(1820)는 메모리 콘트롤러로부터 뱅크 어드레스(BANK_ADDR), 로우 어드레스(ROW_ADDR) 및 칼럼 어드레스(COL_ADDR)를 포함하는 어드레스(ADDR)를 수신할 수 있다. 또한, 어드레스 버퍼(1820)는 수신된 뱅크 어드레스(BANK_ADDR)를 뱅크 제어 로직(1830)에 제공하고, 수신된 로우 어드레스(ROW_ADDR)를 로우 어드레스 멀티플렉서(1840)로 제공하고, 수신된 칼럼 어드레스(COL_ADDR)를 칼럼 어드레스 래치(1850)에 제공할 수 있다.
뱅크 제어 로직(1830)은 뱅크 어드레스(BANK_ADDR)에 응답하여 뱅크 제어 신호들을 생성할 수 있다. 뱅크 제어 신호들에 응답하여, 제1 내지 제4 뱅크 로우 디코더들(1860a, 1860b, 1860c, 1860d) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 로우 디코더가 활성화되고, 제1 내지 제4 뱅크 칼럼 디코더들(1870a, 1870b, 1870c, 1870d) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 칼럼 디코더가 활성화될 수 있다.
뱅크 제어 로직(1830)은 뱅크 그룹을 결정하는 뱅크 어드레스(BANK_ADDR)에 응답하여 뱅크 그룹 제어 신호들을 생성할 수 있다. 뱅크 그룹 제어 신호들에 응답하여, 제1 내지 제4 뱅크 로우 디코더들(1860a, 1860b, 1860c, 1860d) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 그룹의 로우 디코더들이 활성화되고, 제1 내지 제4 뱅크 칼럼 디코더들(1870a, 1870b, 1870c, 1870d) 중 뱅크 어드레스(BANK_ADDR)에 상응하는 뱅크 그룹의 칼럼 디코더들이 활성화될 수 있다.
로우 어드레스 멀티플렉서(1840)는 어드레스 버퍼(1820)로부터 로우 어드레스(ROW_ADDR)를 수신하고, 리프레쉬 어드레스 발생부(1815)로부터 리프레쉬 로우 어드레스(REF_ADDR)를 수신할 수 있다. 로우 어드레스 멀티플렉스(1840)는 로우 어드레스(ROW_ADDR) 또는 리프레쉬 로우 어드레스(REF_ADDR)를 선택적으로 출력할 수 있다. 로우 어드레스 멀티플렉서(1840)에서 출력되는 로우 어드레스는 제1 내지 제4 뱅크 로우 디코더들(1860a, 1860b, 1860c, 1860d)에 각각 인가될 수 있다.
제1 내지 제4 뱅크 로우 디코더들(1860a, 1860b, 1860c, 1860d) 중 뱅크 제어 로직(1830)에 의해 활성화된 뱅크 로우 디코더는 로우 어드레스 멀티플렉서(1840)에서 출력된 로우 어드레스를 디코딩하여, 로우 어드레스에 상응하는 워드라인을 활성화할 수 있다. 예를 들어, 활성화된 뱅크 로우 디코더는 로우 어드레스에 상응하는 워드라인에 워드라인 구동 전압을 인가할 수 있다.
칼럼 어드레스 래치(1850)는 어드레스 버퍼(1820)로부터 칼럼 어드레스(COL_ADDR)를 수신하고, 수신된 칼럼 어드레스(COL_ADDR)를 일시적으로 저장할 수 있다. 칼럼 어드레스 래치(1850)는 버스트 모드에서 수신된 칼럼 어드레스(COL_ADDR)를 점진적으로 증가시킬 수 있다. 칼럼 어드레스 래치(1850)는 일시적으로 저장된 또는 점진적으로 증가된 칼럼 어드레스(COL_ADDR)를 제1 내지 제4 뱅크 칼럼 디코더들(1870a, 1870b, 1870c, 1870d)에 각각 인가할 수 있다.
제1 내지 제4 뱅크 칼럼 디코더들(1870a, 1870b, 1870c, 1870d) 중 뱅크 제어 로직(1830)에 의해 활성화된 뱅크 칼럼 디코더는 입출력 게이팅 회로(1890)를 통하여 뱅크 어드레스(BANK_ADDR) 및 칼럼 어드레스(COL_ADDR)에 상응하는 센스 앰프를 활성화시킬 수 있다.
입출력 게이팅 회로(1890)는 입출력 데이터를 게이팅하는 회로들과 함께, 입력 데이터 마스크 로직, 제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d)로부터 출력된 데이터를 저장하기 위한 독출 데이터 래치들, 그리고 제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d)에 데이터를 기입하기 위한 기입 드라이버를 포함할 수 있다.
제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d) 중 하나의 뱅크 어레이의 메모리 셀 어레이에 기입될 기입 데이터는 메모리 콘트롤러로부터 메모리 버퍼를 통해 데이터 입출력 버퍼(1895)로 제공될 수 있다. 데이터 입출력 버퍼(1895)에 제공된 데이터는 기입 드라이버를 통하여 하나의 뱅크 어레이에 기입될 수 있다. 데이터 입출력 버퍼(1895)에 제공된 데이터는 ECC 엔진(1802)으로 전달될 수 있다. ECC 엔진(1802)은 노멀 셀 어레이에 기입될 데이터에 대하여 패리티 비트들을 생성할 수 있다. ECC 엔진(1802)에서 생성된 패리티 비트들은 해당 뱅크 어레이의 ECC 셀 어레이에 저장될 수 있다.
제1 내지 제4 뱅크 어레이들(1880a, 1880b, 1880c, 1880d) 중 하나의 뱅크 어레이의 노멀 셀 어레이에서 독출되는 데이터와 ECC 셀 어레이에서 독출되는 패리티 비트들은 센스 앰프에 의해 감지 증폭되고, 독출 데이터 래치들에 저장될 수 있다. 독출 데이터 래치에 저장된 데이터는 데이터 입출력 버퍼(1895)로 전달되고, 메모리 버퍼를 통해 메모리 콘트롤러에 제공될 수 있다. 또한, 독출 데이터 래치에 저장된 데이터는 ECC 엔진(1802)으로 전달될 수 있다. ECC 엔진(1802)은 패리티 비트들을 이용하여 노멀 셀 어레이에서 독출된 데이터에 포함된 에러 비트를 검출하고 정정할 수 있다.
ECC 엔진(1802)은 ECC 제어 신호에 응답하여 노멀 셀 어레이의 불량 셀에 대한 ECC 동작을 수행할 수 있다. ECC 엔진(1802)은 메모리 장치의 X8 모드 또는 X4 모드에 적응적으로 ECC 동작을 수행할 수 있다. DLR 제어부(1804)는 DLR 제어 신호에 응답하여 노멀 셀 어레이(1412)의 불량 셀이 연결되는 칼럼을 리던던시 셀 어레이의 칼럼으로 교체할 수 있다. DLR 제어부(1804)는 데이터 라인 단위로 또는 비트라인 단위로 DLR 동작을 수행할 수 있다.
도 19는 본 발명의 실시예들에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 모바일 시스템에 응용한 예를 나타내는 블록도이다.
도 19를 참조하면, 모바일 시스템(1900)은 버스(1902)를 통하여 서로 연결되는 어플리케이션 프로세서(1910), 통신(Connectivity)부(1920), 제1 메모리 장치(1930), 제2 메모리 장치(1940), 사용자 인터페이스(1950) 및 파워 서플라이(1960)를 포함할 수 있다. 제1 메모리 장치(1930)는 휘발성 메모리 장치로 설정되고, 제2 메모리 장치(1940)는 비휘발성 메모리 장치로 설정될 수 있다. 실시예에 따라, 모바일 시스템(1900)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation)시스템 등과 같은 임의의 모바일 시스템일 수 있다.
어플리케이션 프로세서(1910)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시예에 따라, 어플리케이션 프로세서(1910)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(1910)는 듀얼 코어(Dual-Core), 퀴드 코어(Quid-Core), 헥사 코어(Hexa-Core)를 포함할 수 있다. 또한, 실시예에 따라, 어플리케이션 프로세서(1910)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
통신부(1920)는 외부 장치와 무선 통신 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신부(1920)는 이더넷(Ethernet) 통신, 근거리 자기장 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신, 범용 직렬 버스(Universal Serial Bus; USB) 통신 등을 수행할 수 있다. 예를 들어, 통신부(1920)는 베이스밴드 칩 셋(Baseband Chipset)을 포함할 수 있고, GSM, GRPS, WCDMA, HSxPA 등의 통신을 지원할 수 있다.
휘발성 메모리 장치인 제1 메모리 장치(1930)는 어플리케이션 프로세서(1910)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 제1 메모리 장치(1930)는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이와, 불량 셀에 대한 ECC 동작을 수행하는 ECC 엔진을 포함할 수 있다. 메모리 셀 어레이는 복수개의 메모리 셀들 중 다른 일부에 불량 셀에 대한 패리티 비트들을 저장할 수 있다. 제1 메모리 장치(1930)는 메모리 셀 어레이에서 발생된 불량 셀에 대한 정보를 저장하는 저장부를 포함하고, 저장부는 제1 메모리 장치(1930)의 초기화 동작 동안 불량 셀에 대한 정보가 복수개의 메모리 셀들 중 일부에 저장되도록 할 수 있다. 제1 메모리 장치(1930)는 복수개의 메모리 셀들 중 일부에서 독출되는 불량 셀에 대한 정보와 메모리 장치의 외부로부터 수신되는 억세스 어드레스와의 비교를 바탕으로 제어 신호를 출력하는 비교부를 포함하고, ECC 엔진은 제어 신호에 응답하여 ECC 동작을 수행할 수 있다.
제1 메모리 장치(1930)는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이, 그리고 불량 셀을 구제하기 위하여, DLR 동작을 수행하도록 하는 리던던시 제어 회로를 포함할 수 있다. 제1 메모리 장치(1930)는 메모리 셀 어레이에서 발생된 불량 셀에 대한 정보를 저장하는 저장부를 포함하고, 저장부는 제1 메모리 장치(1930)의 초기화 동작 동안 불량 셀에 대한 정보가 복수개의 메모리 셀들 중 일부에 저장되도록 할 수 있다. 제1 메모리 장치(1930)는 복수개의 메모리 셀들 중 일부에서 독출되는 불량 셀에 대한 정보와 메모리 장치의 외부로부터 수신되는 억세스 어드레스와의 비교를 바탕으로 제어 신호를 출력하는 비교부를 포함하고, 리던던시 제어 회로는 제어 신호에 응답하여 DLR 동작을 수행할 수 있다.
비휘발성 메모리 장치인 제2 메모리 장치(1940)는 모바일 시스템(1900)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 예를 들어, 비휘발성 메모리 장치(1940)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플레시 메모리(Flash Memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 이와 유사한 메모리로 구현될 수 있다.
사용자 인터페이스(1950)는 키패드, 터치 스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 하나 이상의 출력 장치를 포함할 수 있다. 파워 서플라이(1960)의 동작 전압을 공급할 수 있다. 또한, 실시예에 따라, 모바일 시스템(1900)은 카메라 이미지 프로세서(Camera Image Processor; CIP)를더 포함할 수 있고, 메모리 카드(Memory Card), 솔리드 스테이트 드라이브(Solid State Drive; SSD), 하드 디스크 드라이브(Hard Disk Drive; HDD), 씨디롬(CD-ROM) 등과 같은 저장 장치를 더 포함할 수 있다.
도 20은 본 발명의 실시예들에 따른 빠른 불량 셀 구제 동작을 수행하는 메모리 장치를 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
도 20을 참조하면, 컴퓨터 시스템(2000)은 프로세서(2010), 입출력 허브(2020), 입출력 컨트롤러 허브(2030), 메모리 장치(2040) 및 그래픽 카드(2050)를 포함한다. 실시예에 따라, 컴퓨터 시스템(2000)은 개인용 컴퓨터(Personal Computer: PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal digital assistant: PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player: PMP), 디지털 카메라(Digital Camera), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable game console), 네비게이션(Navigation) 시스템 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
프로세서(2010)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(2010)는 마이크로 프로세서 또는 중앙 처리 장치(Central Processing Uint: CPU) 일 수 있다. 실시예에 따라, 프로세서(2010)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(2010)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코드(Hexa-Core) 등을 포함할 수 있다. 또한, 도 20에는 하나의 프로세서(2010)를 포함하는 컴퓨팅 시스템(2000)이 도시되어 있으나, 실시예에 따라, 컴퓨팅 시스템(2000)은 복수의 프로세서들을 포함할 수 있다. 또한 실시예에 따라, 프로세서(2010)는 내부 또는 외부네 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
프로세서(2010)는 메모리 장치(2040)의 동작을 제어하는 메모리 콘트롤러(2011)를 포함할 수 있다. 프로세서(2010)에 포함된 메모리 콘트롤러(2011)는 집적 메모리 콘트롤러(Intergrated Memory Controller: IMC) 라 불릴 수 있다. 실시예에 따라, 메모리 콘트롤러(2011)는 입출력 허브(2020) 내에 위치할 수 있다. 메모리 콘트롤러(2011)를 포함하는 입출력 허브(2020)는 메모리 콘트롤러 허브(memory Controller Hub: MCH)라 불릴 수 있다.
메모리 장치(2040)는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이와, 불량 셀에 대한 ECC 동작을 수행하는 ECC 엔진을 포함할 수 있다. 메모리 셀 어레이는 복수개의 메모리 셀들 중 다른 일부에 불량 셀에 대한 패리티 비트들을 저장할 수 있다. 메모리 장치(2040)는 메모리 셀 어레이에서 발생된 불량 셀에 대한 정보를 저장하는 저장부를 포함하고, 저장부는 메모리 장치(2040)의 초기화 동작 동안 불량 셀에 대한 정보가 복수개의 메모리 셀들 중 일부에 저장되도록 할 수 있다. 메모리 장치(2040)는 복수개의 메모리 셀들 중 일부에서 독출되는 불량 셀에 대한 정보와 메모리 장치의 외부로부터 수신되는 억세스 어드레스와의 비교를 바탕으로 제어 신호를 출력하는 비교부를 포함하고, ECC 엔진은 제어 신호에 응답하여 ECC 동작을 수행할 수 있다.
메모리 장치(2040)는 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이, 그리고 불량 셀을 구제하기 위하여, DLR 동작을 수행하도록 하는 리던던시 제어 회로를 포함할 수 있다. 메모리 장치(2040)는 메모리 셀 어레이에서 발생된 불량 셀에 대한 정보를 저장하는 저장부를 포함하고, 저장부는 메모리 장치(2040)의 초기화 동작 동안 불량 셀에 대한 정보가 복수개의 메모리 셀들 중 일부에 저장되도록 할 수 있다. 메모리 장치(2040)는 복수개의 메모리 셀들 중 일부에서 독출되는 불량 셀에 대한 정보와 메모리 장치의 외부로부터 수신되는 억세스 어드레스와의 비교를 바탕으로 제어 신호를 출력하는 비교부를 포함하고, 리던던시 제어 회로는 제어 신호에 응답하여 DLR 동작을 수행할 수 있다.
메모리 장치(2040)는 컴퓨팅 시스템(2000)에 장착되어 사용되는 도중에 발생되는 에러 발생 상황을 컴퓨팅 시스템(2000)이 알 수 있도록 에러 신호를 출력할 수 있다. 이에 따라, 컴퓨팅 시스템(2000)은 에러 신호와 ECC 동작 회수를 감안하여, 시스템 동작 상 메모리 장치(2040)가 부적합한 것으로 판단되면 메모리 장치(2040)를 교체할 수 있다. 이에 따라, 컴퓨팅 시스템(2000)은 메모리 장치(2040)로 인한 시스템 오동작 이전에 메모리 장치(2040)를 교체할 수 있어서 안정적인 시스템 동작을 보장할 수 있다.
입출력 허브(2020)는 그래픽 카드(2050)와 같은 장치들과 프로세서(2010) 사이의 데이터 전송을 관리할 수 있다. 입출력 허브(2020)는 다양한 방식의 인터페이스를 통하여 프로세서(2010)에 연결될 수 있다. 예를 들어, 입출력 허브(2020)와 프로세서(2010)는, 프론트 사이드 버스(Front Side Bus; FSB), 시스템 버스(System Bus), 하이퍼트랜스포트(HyperTransport), 라이트닝 데이터 트랜스포트(Lighting Data Transport; LDT), 퀵패스 인터커넥트(QuickPath Interconnect; QPI), 공통 시스템 인터페이스, 주변 구성요소 인터페이스-익스프레스(Peripheral Component Interface-Express; CSI 등의 다양한 표준의 인터페이스로 연결할 수 있다. 도 20에는 하나의 입출력 허브(2020)를 포함하는 컴퓨팅 시스템(2000)이 도시되어 있으나, 실시예에 따라, 컴퓨팅 시스템(2000)은 복수의 입출력 허브들을 포함할 수 있다.
입출력 허브(2020)는 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 허브(2020)는 가속 그래픽 포트(Accelerated Graphics Port;AGP) 인터페이스, 주변 구성요소 인터페이스-익스프레스(Peripheral Component Interface-Express; PCIe), 통신 스트리밍 구조(Communications Streaming Architecture; CSA) 인터페이스 등을 제공할 수 있다.
그래픽 카드(2050)는 AGP 또는 PCIe를 통하여 입출력 허브(2020)와 연결될 수 있다. 그래픽 카드(2050)는 영상을 표시하기 위한 디스플레이 장치(미도시)를 제어할 수 있다. 그래픽카드(2050)는 이미지 데이터 처리를 위한 내부 프로세서 및 내부 프로세서 및 내부 반도체 메모리 장치를 포함할 수 있다. 실시예에 따라, 입출력 허브(2020)는, 입출력 허브(2020)의 외부에 위치한 그래픽 카드(2050)와 함께, 또는 그래픽 카드(2050) 대신에 입출력 허브(2020)의 내부에 그래픽 장치를 포함할 수 있다. 입출력 허브(2020)에 포함된 그래픽 장치는 집적 그래픽(Integrated Graphics)이라 불릴 수 있다. 또한, 메모리 컨트롤러 및 그래픽 장치를 포함하는 입출력 허브(2020)는 그래픽 및 메모리 컨트롤러 허브(Graphics and Memory Controller Hub; GMCH)라 불릴 수 있다.
입출력 컨트롤러 허브(2030)는 다양한 시스템 인터페이스들이 효율적으로 동작하도록 데이터 버퍼링 및 인터페이스 중재를 수행할 수 있다. 입출력 컨트롤러 허브(2030)는 내부 버스를 통하여 입출력 허브(2020)와 연결될 수 있다. 예를 들어, 입출력 허브(2020)와 입출력 컨트롤러 허브(2030)는 다이렉트 미디어 인터페이스(Direct Media Interface; DMI), 허브 인터페이스, 엔터프라이즈 사우스브릿지 인터페이스(Enterprise Southbridge interface; ESI), PCIe 등을 통하여 연결될 수 있다.
입출력 컨트롤러 허브(2030)는 주변 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 컨트롤러 허브(2030)는 범용 직렬 버스(Universal Serial Bus; USB)포트, 직렬 ATA(Serial Advanced Technology Attachment; SATA) 포트, 범용 입출력(General Purpose Input/output; GPIO), 로우 핀 카운트(Low Pin Count; LPC) 버스, 직렬 주변 인터페이스(Serial Peripheral Interface; SPI), PCI, PCIe 등을 제공할 수 있다.
실시예에 따라, 프로세서(2010), 입출력 허브(2020) 또는 입출력 컨트롤러 허브(2030) 중 2 이상의 구성 요소들이 하나의 칩셋으로 구현될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (20)

  1. 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이; 및
    상기 불량 셀에 대한 ECC (Error Correction Code) 동작을 수행하는 ECC 엔진을 구비하는 것을 특징으로 하는 메모리 장치.
  2. 제1항에 있어서,
    상기 ECC 엔진은 상기 메모리 장치의 버스트 길이 (BL) 데이터 중에서 상기 불량 셀로 인한 에러 비트를 포함하는 해당 버스트 데이터에 대하여 상기 ECC 동작을 수행하는 것을 특징으로 하는 메모리 장치.
  3. 제1항에 있어서, 상기 메모리 셀 어레이는
    상기 복수개의 메모리 셀들 중 다른 일부에 상기 불량 셀에 대한 패리티 비트들을 저장하는 것을 특징으로 하는 메모리 장치.
  4. 제1항에 있어서, 상기 메모리 장치는
    상기 메모리 셀 어레이의 로우들 각각에서 발생된 상기 불량 셀에 대한 정보를 저장하는 저장부를 더 구비하고,
    상기 저장부는 상기 메모리 장치의 초기화 동작 동안 상기 불량 셀에 대한 정보가 상기 복수개의 메모리 셀들 중 일부에 저장되도록 하는 것을 특징으로 하는 메모리 장치.
  5. 제4항에 있어서, 상기 저장부는
    상기 불량 셀의 어드레스, 상기 불량 셀의 위치를 나타내는 오더링 정보 및 참(true) 불량 셀 정보임을 나타내는 마스터 정보를 상기 불량 셀에 대한 정보로서 전기적인 퓨즈 프로그래밍을 이용하여 저장하는 것을 특징으로 하는 메모리 장치.
  6. 제1항에 있어서, 상기 메모리 장치는
    상기 복수개의 메모리 셀들 중 일부에서 독출되는 상기 불량 셀에 대한 정보와 상기 메모리 장치의 외부로부터 수신되는 억세스 어드레스와의 비교를 바탕으로 제어 신호를 출력하는 비교부를 더 구비하고,
    상기 ECC 엔진은 상기 제어 신호에 응답하여 상기 ECC 동작을 수행하는 것을 특징으로 하는 메모리 장치.
  7. 제1항에 있어서, 상기 메모리 셀 어레이는
    상기 메모리 장치의 제1 동작 모드에 따라, 상기 복수개의 메모리 셀들에 저장된 데이터가 대응되는 n (n은 짝수)개의 데이터 입출력 패드들(DQ)을 통하여 입출력되도록 n개의 DQ 셀 블락들로 구성되고,
    제2 동작 모드에 따라, 상기 복수개의 메모리 셀들에 저장된 데이터가 n/2 개의 DQ 패드들로 입출력되도록 상기 n개의 DQ 셀 블락들이 n/2개의 하위(lower) DQ 셀 블락들과 n/2개의 상위(upper) DQ 셀 블락들로 구성되고,
    상기 불량 셀에 대한 정보를 저장하는 상기 복수개의 메모리 셀들 중 일부는 상기 하위 DQ 셀 블락들에서 발생된 상기 불량 셀에 대한 정보를 저장하는 FCSL 셀 블락과 상기 상위 DQ 셀 블락들에서 발생된 상기 불량 셀에 대한 정보를 저장하는 FCSU 셀 블락으로 구성되는 것을 특징으로 하는 메모리 장치.
  8. 제7항에 있어서,
    상기 FCSL 셀 블락과 상기 FCSU 블락은 상기 DQ 셀 블락들과 연결되는 데이터 라인들을 공유하는 것을 특징으로 하는 메모리 장치.
  9. 제7항에 있어서,
    상기 FCSL 셀 블락과 상기 FCSU 블락은 상기 저장된 불량 셀에 대한 정보에 대한 ECC 동작에 이용되는 패리티 비트들을 저장하는 것을 특징으로 하는 메모리 장치.
  10. 복수개의 메모리 셀들 중 일부에 불량 셀에 대한 정보를 저장하는 메모리 셀 어레이; 및
    상기 불량 셀을 구제하기 위하여, 데이터 라인 리페어 (Data Line Repair: DLR) 동작을 수행하도록 하는 리던던시 제어 회로를 구비하는 것을 특징으로 하는 메모리 장치.
  11. 제10항에 있어서, 상기 메모리 장치는
    상기 복수개의 메모리 셀들에서 발생된 상기 불량 셀에 대한 정보를 저장하는 저장부를 더 구비하고,
    상기 저장부는 상기 메모리 장치의 초기화 동작 동안 상기 불량 셀에 대한 정보가 상기 복수개의 메모리 셀들 중 일부에 저장되도록 하는 것을 특징으로 하는 메모리 장치.
  12. 제10항에 있어서, 상기 메모리 장치는
    상기 복수개의 메모리 셀들 중 일부에서 독출되는 상기 불량 셀에 대한 정보와 상기 메모리 장치의 외부로부터 수신되는 억세스 어드레스와의 비교를 바탕으로 제어 신호를 출력하는 비교부를 더 구비하고,
    상기 리던던시 제어 회로는 상기 제어 신호에 응답하여 상기 DLR 동작을 수행하는 것을 특징으로 하는 메모리 장치.
  13. 제10항에 있어서, 상기 메모리 셀 어레이는
    상기 복수개의 메모리 셀들 중 다른 일부는 상기 메모리 셀들에 저장된 데이터가 대응되는 데이터 입출력 패드들(DQ)을 통하여 입출력되도록 DQ 셀 블락들로 구성되고,
    상기 복수개의 메모리 셀들 중 나머지 일부는 상기 불량 셀을 구제하는 리던던시 셀들을 포함하는 리던던시 셀 블락으로 구성되도록 하는 것을 특징으로 하는 메모리 장치.
  14. 제13항에 있어서, 상기 리던던시 제어 회로는
    상기 제어 신호에 응답하여 상기 DQ 셀 블락들에서 발생된 상기 불량 셀이 연결되는 데이터 라인 또는 비트라인을 상기 리던던시 셀 블락과 연결되는 데이터 라인 또는 비트라인으로 교체되도록 하는 스위칭부를 구비하는 것을 특징으로 하는 메모리 장치.
  15. 복수개의 메모리 셀들 중 불량 셀에 대한 어드레스 정보를 저장부에 저장하는 단계;
    상기 복수개의 메모리 셀들 중 일부에 상기 불량 셀에 대한 어드레스 정보를 상기 저장부로부터 복사하여 저장하는 단계;
    상기 복수개의 메모리 셀들 중 일부에서 독출되는 상기 불량 셀에 대한 어드레스 정보와 억세스 어드레스를 비교하는 단계; 및
    비교 결과, 상기 불량 셀에 대한 어드레스 정보와 억세스 어드레스가 일치하는 경우 상기 불량 셀에 대한 ECC (Error Correction Code) 동작을 수행하는 단계를 구비하는 것을 특징으로 하는 메모리 장치의 동작 방법.
  16. 제15항에 있어서, 상기 메모리 장치의 동작 방법은
    상기 복수개의 메모리 셀들 중 다른 일부에 상기 불량 셀에 대한 패리티 비트들을 저장하는 단계를 더 구비하는 것을 특징으로 하는 메모리 장치의 동작 방법.
  17. 제15항에 있어서, 상기 메모리 장치의 동작 방법은
    상기 메모리 장치의 초기화 동작 동안 상기 저장부의 상기 불량 셀에 대한 어드레스 정보가 상기 복수개의 메모리 셀들 중 일부에 저장되도록 하는 것을 특징으로 하는 메모리 장치의 동작 방법.
  18. 복수개의 메모리 셀들 중 불량 셀에 대한 어드레스 정보를 저장부에 저장하는 단계;
    상기 복수개의 메모리 셀들 중 일부에 상기 불량 셀에 대한 어드레스 정보를 상기 저장부로부터 복사하여 저장하는 단계;
    상기 복수개의 메모리 셀들 중 일부에서 독출되는 상기 불량 셀에 대한 어드레스 정보와 억세스 어드레스를 비교하는 단계; 및
    비교 결과, 상기 불량 셀에 대한 어드레스 정보와 억세스 어드레스가 일치하는 경우 상기 불량 셀에 대한 DLR (Data Line Repair) 동작을 수행하는 단계를 구비하는 것을 특징으로 하는 메모리 장치의 동작 방법.
  19. 제18항에 있어서, 상기 메모리 장치의 동작 방법은
    상기 복수개의 메모리 셀들 중 다른 일부를 상기 불량 셀을 구제하는 리던던시 셀들로 이용하는 것을 특징으로 하는 메모리 장치의 동작 방법.
  20. 제18항에 있어서, 상기 메모리 장치의 동작 방법은
    상기 불량 셀이 연결되는 데이터 라인 또는 비트라인을 상기 리던던시 셀들이 연결되는 데이터 라인 또는 비트라인으로 교체되도록 하는 것을 특징으로 하는 메모리 장치의 동작 방법.
KR1020140121271A 2014-09-12 2014-09-12 빠른 불량 셀 구제 동작의 메모리 장치 KR102204390B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140121271A KR102204390B1 (ko) 2014-09-12 2014-09-12 빠른 불량 셀 구제 동작의 메모리 장치
US14/683,705 US10235258B2 (en) 2014-09-12 2015-04-10 Memory device capable of quickly repairing fail cell

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140121271A KR102204390B1 (ko) 2014-09-12 2014-09-12 빠른 불량 셀 구제 동작의 메모리 장치

Publications (2)

Publication Number Publication Date
KR20160031326A true KR20160031326A (ko) 2016-03-22
KR102204390B1 KR102204390B1 (ko) 2021-01-18

Family

ID=55454872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140121271A KR102204390B1 (ko) 2014-09-12 2014-09-12 빠른 불량 셀 구제 동작의 메모리 장치

Country Status (2)

Country Link
US (1) US10235258B2 (ko)
KR (1) KR102204390B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170138627A (ko) * 2016-06-07 2017-12-18 삼성전자주식회사 여분의 용량을 포함하는 메모리 장치 및 이를 포함하는 적층 메모리 장치
KR20180004936A (ko) * 2016-07-05 2018-01-15 에스케이하이닉스 주식회사 반도체 장치, 메모리 시스템 및 그 리페어 방법
KR20190035237A (ko) * 2017-09-26 2019-04-03 삼성전자주식회사 반도체 메모리 장치, 반도체 메모리 장치의 동작 방법 및 메모리 시스템
KR20190069782A (ko) * 2017-12-12 2019-06-20 연세대학교 산학협력단 베이스 다이 스페어 셀을 이용한 적층형 메모리 장치 및 그 수리 방법
KR20190114736A (ko) * 2018-03-29 2019-10-10 삼성전자주식회사 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작 방법

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180124568A (ko) * 2017-05-12 2018-11-21 에스케이하이닉스 주식회사 리페어 회로 및 이를 포함하는 메모리 장치
CN109698008B (zh) * 2017-10-23 2021-01-15 北京兆易创新科技股份有限公司 Nor型存储器位线故障的修复方法及装置
KR102533232B1 (ko) * 2017-11-13 2023-05-16 삼성전자주식회사 데이터 입출력 단위들이 서로 상이한 글로벌 라인 그룹들을 갖는 메모리 장치
US10691533B2 (en) * 2017-12-12 2020-06-23 Micron Technology, Inc. Error correction code scrub scheme
KR102433098B1 (ko) * 2018-02-26 2022-08-18 에스케이하이닉스 주식회사 어드레스 생성회로, 어드레스 및 커맨드 생성회로 및 반도체 시스템
KR102469098B1 (ko) * 2018-03-21 2022-11-23 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
US10998052B2 (en) 2018-04-12 2021-05-04 Samsung Electronics Co., Ltd. Non-volatile memory device and initialization information reading method thereof
KR102508529B1 (ko) * 2018-04-12 2023-03-09 삼성전자주식회사 불휘발성 메모리 장치의 초기화 정보를 읽는 방법
US10684797B2 (en) * 2018-08-31 2020-06-16 Micron Technology, Inc. Command-in-pipeline counter for a memory device
KR20200091201A (ko) * 2019-01-22 2020-07-30 에스케이하이닉스 주식회사 메모리 시스템
KR20210071469A (ko) * 2019-12-06 2021-06-16 삼성전자주식회사 기능 안전 수준을 향상시키는 오류 검출 기능을 갖는 메모리 장치 및 이를 포함하는 제어 시스템
KR20210113841A (ko) * 2020-03-09 2021-09-17 에스케이하이닉스 주식회사 리페어 회로 및 이를 포함하는 메모리 장치
KR20220081644A (ko) * 2020-12-09 2022-06-16 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
CN112420119B (zh) * 2020-12-11 2023-05-30 西安紫光国芯半导体有限公司 包含转换模块的存储器以及阵列单元模块
KR20220114299A (ko) 2021-02-08 2022-08-17 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20230069567A (ko) * 2021-11-12 2023-05-19 에스케이하이닉스 주식회사 메모리 장치 및 그의 동작 방법
US20230333742A1 (en) * 2022-04-19 2023-10-19 Advanced Micro Devices, Inc. Memory bit cell with homogeneous layout pattern of base layers for high density memory macros
CN116072207B (zh) * 2023-04-06 2023-08-08 长鑫存储技术有限公司 故障寻址电路及存储器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130122260A (ko) * 2012-04-30 2013-11-07 에스케이하이닉스 주식회사 어레이 일렉트릭 퓨즈를 구비하는 반도체 집적회로 및 그의 구동방법
KR20140005757A (ko) * 2012-07-03 2014-01-15 삼성전자주식회사 선택적 ecc 동작을 수행하는 메모리 장치
KR20140027810A (ko) * 2012-08-27 2014-03-07 삼성전자주식회사 리던던시 셀을 포함하는 반도체 메모리 장치 및 시스템
KR20140068648A (ko) * 2012-11-28 2014-06-09 에스케이하이닉스 주식회사 반도체 메모리 장치

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
JP3512957B2 (ja) * 1996-10-09 2004-03-31 株式会社東芝 半導体記憶装置
JPH10334690A (ja) * 1997-05-27 1998-12-18 Nec Corp 半導体記憶装置
US6205063B1 (en) 1998-08-26 2001-03-20 International Business Machines Corporation Apparatus and method for efficiently correcting defects in memory circuits
JP2000173269A (ja) * 1998-12-08 2000-06-23 Mitsubishi Electric Corp 半導体記憶装置
JP4204685B2 (ja) * 1999-01-19 2009-01-07 株式会社ルネサステクノロジ 同期型半導体記憶装置
JP2001101890A (ja) * 1999-09-28 2001-04-13 Mitsubishi Electric Corp 半導体記憶装置
US6314030B1 (en) 2000-06-14 2001-11-06 Micron Technology, Inc. Semiconductor memory having segmented row repair
JP2003077294A (ja) 2001-08-31 2003-03-14 Mitsubishi Electric Corp メモリ回路
JP3944380B2 (ja) * 2001-11-08 2007-07-11 日本テキサス・インスツルメンツ株式会社 誤り訂正回路を備えた半導体記憶装置
JP2004055100A (ja) 2002-07-24 2004-02-19 Elpida Memory Inc メモリモジュールの救済方法、メモリモジュール、及び揮発性メモリ
US7028234B2 (en) 2002-09-27 2006-04-11 Infineon Technologies Ag Method of self-repairing dynamic random access memory
JP2005025827A (ja) 2003-06-30 2005-01-27 Toshiba Corp 半導体集積回路装置およびそのエラー検知訂正方法
JP2005327437A (ja) 2004-04-12 2005-11-24 Nec Electronics Corp 半導体記憶装置
TWI252397B (en) * 2004-09-17 2006-04-01 Ind Tech Res Inst Method and apparatus of built-in self-diagnosis and repair in a memory with syndrome identification
JP4980565B2 (ja) 2004-12-21 2012-07-18 富士通セミコンダクター株式会社 半導体メモリ
JP4547313B2 (ja) * 2005-08-01 2010-09-22 株式会社日立製作所 半導体記憶装置
US20070136640A1 (en) * 2005-12-14 2007-06-14 Jarrar Anis M Defect detection and repair in an embedded random access memory
JP4761995B2 (ja) * 2006-02-16 2011-08-31 株式会社東芝 半導体集積回路及びそのテスト方法
JP4946249B2 (ja) 2006-08-07 2012-06-06 富士通セミコンダクター株式会社 Eccのコード長が変更可能な半導体メモリ装置
US7861138B2 (en) 2006-12-05 2010-12-28 Qimonda Ag Error correction in memory devices
JP2008217926A (ja) 2007-03-06 2008-09-18 Renesas Technology Corp 半導体記憶装置
US8156402B2 (en) 2007-04-26 2012-04-10 Agere Systems Inc. Memory device with error correction capability and efficient partial word write operation
JP2009104757A (ja) * 2007-10-02 2009-05-14 Panasonic Corp 半導体記憶装置
JP5067131B2 (ja) 2007-11-07 2012-11-07 富士通セミコンダクター株式会社 半導体メモリ、半導体メモリの動作方法およびシステム
KR101201582B1 (ko) * 2010-09-06 2012-11-14 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR101873526B1 (ko) 2011-06-09 2018-07-02 삼성전자주식회사 에러 정정회로를 구비한 온 칩 데이터 스크러빙 장치 및 방법
US9235466B2 (en) 2012-07-03 2016-01-12 Samsung Electronics Co., Ltd. Memory devices with selective error correction code
TWI594254B (zh) * 2012-07-17 2017-08-01 慧榮科技股份有限公司 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置
KR20150028118A (ko) 2013-09-05 2015-03-13 삼성전자주식회사 메모리 장치의 동작 방법, 이를 이용한 데이터 기입 방법 및 데이터 독출 방법
US9343184B2 (en) * 2014-04-07 2016-05-17 Micron Technology, Inc. Soft post package repair of memory devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130122260A (ko) * 2012-04-30 2013-11-07 에스케이하이닉스 주식회사 어레이 일렉트릭 퓨즈를 구비하는 반도체 집적회로 및 그의 구동방법
KR20140005757A (ko) * 2012-07-03 2014-01-15 삼성전자주식회사 선택적 ecc 동작을 수행하는 메모리 장치
KR20140027810A (ko) * 2012-08-27 2014-03-07 삼성전자주식회사 리던던시 셀을 포함하는 반도체 메모리 장치 및 시스템
KR20140068648A (ko) * 2012-11-28 2014-06-09 에스케이하이닉스 주식회사 반도체 메모리 장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170138627A (ko) * 2016-06-07 2017-12-18 삼성전자주식회사 여분의 용량을 포함하는 메모리 장치 및 이를 포함하는 적층 메모리 장치
KR20180004936A (ko) * 2016-07-05 2018-01-15 에스케이하이닉스 주식회사 반도체 장치, 메모리 시스템 및 그 리페어 방법
KR20190035237A (ko) * 2017-09-26 2019-04-03 삼성전자주식회사 반도체 메모리 장치, 반도체 메모리 장치의 동작 방법 및 메모리 시스템
KR20190069782A (ko) * 2017-12-12 2019-06-20 연세대학교 산학협력단 베이스 다이 스페어 셀을 이용한 적층형 메모리 장치 및 그 수리 방법
KR20190114736A (ko) * 2018-03-29 2019-10-10 삼성전자주식회사 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작 방법

Also Published As

Publication number Publication date
US10235258B2 (en) 2019-03-19
KR102204390B1 (ko) 2021-01-18
US20160077940A1 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
KR102204390B1 (ko) 빠른 불량 셀 구제 동작의 메모리 장치
US9727412B2 (en) Memory device having error notification function
US9870293B2 (en) Memory device performing post package repair (PPR) operation
CN107799155B (zh) 包括列冗余的存储装置
US9646718B2 (en) Semiconductor memory device having selective ECC function
US10062427B2 (en) Semiconductor memory device for controlling having different refresh operation periods for different sets of memory cells
US9524770B2 (en) Semiconductor memory devices including redundancy memory cells
US9754678B2 (en) Method of programming one-time programmable (OTP) memory device and method of testing semiconductor integrated circuit including the same
KR101878972B1 (ko) 안티퓨즈 선택 방법 및 안티퓨즈 모니터링 방법
KR20170121798A (ko) 반도체 메모리 장치 및 이의 동작 방법
US9460816B2 (en) Semiconductor memory devices and memory systems including the same
US10020074B1 (en) Nonvolatile storage circuit and semiconductor memory device including the same
US8867288B2 (en) Memory device and test method thereof
KR20180038339A (ko) 셀어레이 불량 테스트 방법 및 이를 수행하는 반도체장치
US8995217B2 (en) Hybrid latch and fuse scheme for memory repair
KR20180134120A (ko) 반도체시스템
US20140068241A1 (en) Memory device, memory system including the same, and method for operating the memory system
KR102290032B1 (ko) 컬럼 리던던시를 포함하는 메모리 장치
TW201921245A (zh) 用於支持錯誤更正碼的裝置及其測試方法
US11803501B2 (en) Routing assignments based on error correction capabilities
US20240161861A1 (en) Memory device performing target refresh operation and operating method thereof
US20240061758A1 (en) Resource allocation for a memory built-in self-test
KR20150130608A (ko) 메모리 장치

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