KR20110074644A - 불휘발성 반도체 메모리 장치 - Google Patents

불휘발성 반도체 메모리 장치 Download PDF

Info

Publication number
KR20110074644A
KR20110074644A KR1020100028656A KR20100028656A KR20110074644A KR 20110074644 A KR20110074644 A KR 20110074644A KR 1020100028656 A KR1020100028656 A KR 1020100028656A KR 20100028656 A KR20100028656 A KR 20100028656A KR 20110074644 A KR20110074644 A KR 20110074644A
Authority
KR
South Korea
Prior art keywords
memory
area
error
redundant
block
Prior art date
Application number
KR1020100028656A
Other languages
English (en)
Inventor
수도 나오아키
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US12/965,951 priority Critical patent/US8331151B2/en
Publication of KR20110074644A publication Critical patent/KR20110074644A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • 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
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 ECC(Error Correcting Code) 회로를 갖는 불휘발성 반도체 메모리 장치에 관한 것이다. 본 발명의 실시 예에 따른 불휘발성 반도체 메모리 장치는 데이터를 저장하기 위한 메모리 셀이 배열되는 메모리 영역; 상기 메모리 영역이 불량 영역인 경우에 상기 메모리 영역과 치환되는 리던던트 영역; 및 소거 동작을 지시하는 커맨드가 입력되면 소거 동작 전에 상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류 검출을 수행하고, 오류 검출 결과에 따라 상기 리던던트 영역으로 치환되는 상기 불량 영역을 검출하는 제어부를 포함한다.

Description

불휘발성 반도체 메모리 장치{NONVOLATILE SEMICONDUCTOR MEMORY DEVICE}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로 ECC(Error Correcting Code) 회로를 갖는 불휘발성 반도체 메모리 장치에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(volatile memory device)와 불휘발성 메모리 장치(nonvolatile memory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸하는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등이 있다. 불휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등이 있다. 플래시 메모리 장치는 크게 노어형(NOR-type)과 낸드형(NAND-type)으로 구분된다.
EEPROM, 플래시 메모리 등과 같이, 전기적으로 소거 및 프로그램할 수 있는 불휘발성 반도체 메모리 장치에 있어서, 메모리 셀의 특성은 반복적인 쓰기 또는 소거 동작에 의해 열화 된다. 이로 인해, 규정 횟수 이상 쓰기 또는 소거를 실행하게 되면, 메모리 셀의 동작 불량이 나타날 수 있다. 이를 방지하기 위해, 오류 정정 코드(Error Correcting Code, 이하 ECC라고 함)가 이용된다. 즉, ECC에 의해 불량 메모리 셀에 대한 오류를 정정하여 메모리 셀에 대한 쓰기 또는 소거의 제한 횟수를 늘릴 수 있다.
ECC에 의한 오류 정정 시, 일반적으로, 데이터(정보 비트, information bit)를 저장하기 위한 메모리 셀 영역 및 검사 비트(패리티 비트, parity bit)를 저장하기 위한 패리티 셀 영역(이하, 두 영역 모두 소거 블록이라 함)이 필요하다. 이때, 패리티 셀의 수를 늘리는 것에 의해 오류 정정이 가능한 비트 수는 증가할 수 있다. 다만, 패리티 셀의 수가 증가하는 만큼 칩(chip) 사이즈도 증가할 것이다. 따라서, 제품 가격과의 관계를 고려하여 오류 정정이 가능한 비트 수를 제한하기 위해, 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 소거 블록(이하, ECC 오버플로우 블록이라 함)을 리던던트(redundant) 블록으로 치환하는 기술이 이용된다(이하에서 언급하는 특허 문헌 1 내지 3 참조).
특개평 8-31196호 국제공개 01/022232호 특개 2006-134310호
본 발명의 목적은 ECC(Error Correcting Code)에 의한 오류 정정 동작을 소거 동작 시에 수행하여 고속 읽기 동작을 할 수 있는 불휘발성 반도체 메모리 장치를 제공하는 데 있다.
본 발명의 실시 예에 따른 불휘발성 반도체 메모리 장치는 데이터를 저장하기 위한 메모리 셀이 배열되는 메모리 영역; 상기 메모리 영역이 불량 영역인 경우에 상기 메모리 영역과 치환되는 리던던트 영역; 및 소거 동작을 지시하는 커맨드가 입력되면 소거 동작 전에 상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류 검출을 수행하고, 오류 검출 결과에 따라 상기 리던던트 영역으로 치환되는 상기 불량 영역을 검출하는 제어부를 포함한다.
이로 인해, 소거 커맨드가 입력되는 소거 모드에서 ECC에 의한 오류 정정을 수행하여 불량 영역(ECC 오버플로우 블록)을 검출할 수 있다.
또한, 상기 제어부는, 상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류 검출 및 정정을 수행하는 오류 정정 회로; 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 경우에 상기 불량 영역의 좌표를 기억, 보관, 유지하는 오류 정정 영역 좌표 기억부; 및 읽기 동작 또는 쓰기 동작을 지시하는 커맨드가 입력되면, 상기 오류 정정 좌표 기억부에 기억, 보관, 유지된 상기 불량 영역의 좌표가 가리키는 메모리 영역을 대신하여 상기 리던던트 영역을 선택하는 제어 회로를 포함한다.
이로 인해, 제어 회로는 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 메모리 영역을 리던던트 블록으로 치환할 수 있다.
본 발명의 실시 예에 따른 반도체 메모리 장치는 메모리 영역과 상기 메모리 영역 내의 불량 영역을 대체하기 위한 리던던트 영역으로 구분되는 메모리 셀 어레이; 외부 어드레스에 따라 상기 메모리 셀 어레이의 메모리 블록들을 선택하는 디코더; 및 소거 커맨드가 입력된 후 소거 동작이 시작되기 전에 상기 불량 영역을 검출하고, 상기 리던던트 영역이 상기 불량 영역을 대체하도록 상기 디코더를 제어하는 제어부를 포함한다.
실시 예에 있어서, 상기 제어부는 상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류를 검출하고, 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 경우에 상기 불량 영역의 좌표를 상기 리던던트 영역의 좌표로 변경하도록 구성된다. 또한, 상기 제어부는 상기 불량 영역에 대한 접근을 차단하기 위한 퓨즈 회로를 더 포함할 수 있다.
실시 예에 있어서, 상기 제어부는 상기 불량 영역이 검출되면, 상기 퓨즈 회로 내의 상기 불량 영역에 대응하는 퓨즈를 전기적으로 절단하도록 구성된다. 그리고, 상기 제어부는 상기 불량 영역에 대한 어드레스가 입력될 때, 상기 퓨즈가 가리키는 논리 레벨에 의해 상기 리던던트 영역을 선택하도록 상기 디코더를 제어한다.
실시 예에 있어서, 상기 오류 정정이 가능한 비트 수는 패리티 비트 수에 따라 결정된다.
실시 예에 있어서, 상기 리던던트 영역은 복수의 리던던트 메모리 블록을 포함한다.
본 발명의 실시 예에 따른 메인 메모리 블록; 상기 메인 메모리 블록을 대체하기 위한 리던던트 메모리 블록; 및 소거 커맨드가 입력된 후 소거 동작이 시작되기 전에 상기 메인 메모리 블록에 대한 불량 여부를 판정하고, 상기 메인 메모리 블록이 불량으로 판정되면 불량 메모리 블록에 대한 접근을 차단하고 상기 리던던트 메모리 블록을 선택하도록 구성되는 제어부를 포함한다.
실시 예에 있어서, 상기 제어부는 상기 메인 메모리 블록에 대한 불량 여부를 판정하기 위해 상기 메인 메모리 블록으로부터 더미 리드를 통해 읽어 들인 데이터에 대해 오류를 검출하고, 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는지 여부를 판단한다. 또한, 상기 제어부는 상기 불량 메모리 블록에 대한 좌표 정보를 저장하기 위한 퓨즈 회로를 더 포함할 수 있다.
실시 예에 있어서, 상기 제어부는 상기 좌표 정보를 참조하여 상기 불량 메모리 블록을 상기 리던던트 메모리 블록으로 치환하도록 구성된다.
실시 예에 있어서, 상기 퓨즈 회로는 상기 불량 메모리 블록에 대응하는 퓨즈를 전기적으로 절단하는 것에 의해 상기 좌표 정보를 저장한다.
본 발명의 실시 예에 따른 불휘발성 반도체 메모리 장치에 의하면, 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 메모리 영역을 리던던트(redundant) 블록으로 치환할 수 있다. 이로 인해, ECC 오버플로우(overflow)의 발생 확률이 감소하게 된다. 따라서, 쓰기 또는 소거의 횟수 제한을 늘릴 수 있으므로 제품의 신뢰성이 향상될 수 있다.
또한, 소거 커맨드가 입력되는 소거 동작 시에 ECC에 의한 오류 정정을 하여, ECC 오버플로우 블록을 리던던트 블록으로 치환할 수 있다. 즉, 읽기 동작 시에 ECC 오버플로우 블록을 장황 블록으로 치환하지 않으므로 읽기 동작 속도가 개선될 수 있다. 결과적으로, 본 발명의 실시 예에 따른 반도체 메모리 장치는 고속 읽기 동작이 가능하다.
도 1은 본 발명의 실시 예에 따른 반도체 메모리 장치를 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 반도체 메모리 장치의 블록 치환 동작을 설명하기 위한 순서도이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.
도 1은 본 발명의 실시 예에 따른 반도체 메모리 장치를 보여주는 블록도이다. 도 1을 참조하면, 반도체 메모리 장치(10)는 메모리 셀 어레이(memory cell array, 11), 제어부(control unit, 12), 프리디코더(pre-decoder, 13), 어드레스 단자(14), 데이터 출력 단자(15) 및 커맨드 입력 단자(16)를 포함한다.
반도체 메모리 장치(10)는 메모리 셀에 대한 소거 동작의 최초 구간에서, 메모리 셀 어레이(11)의 소거 블록으로부터 데이터를 미리 읽어 낸다(더미 리드). 이때, 반도체 메모리 장치(10)는 각각의 오류 정정 단위 내에서 오류 정정이 가능한 비트 수(n 비트)를 초과하는 비트 수(m 비트: m > n)의 오류가 발견되면, 소거 블록의 좌표(외부 어드레스에 의해 해당 블록을 특정하는 경우의 어드레스 정보)를 기억, 보관 및 유지한다.
더미 리드 종료 후에, 반도체 메모리 장치(10)는 소거 블록의 데이터에 대한 소거 동작을 수행한다. 그리고, 반도체 메모리 장치(10)는 ECC(Error Correcting Code) 오버플로우(overflow) 블록이 리던던트(redundant) 소거 블록(110-1)으로 치환되고 나서 읽기, 쓰기 및 소거 동작을 수행할 때, 오류 정정이 불가능한 소거 블록이 외부 어드레스 정보에 의해 선택되면, 오류 정정이 불가능한 소거 블록을 대신하여 리던던트 소거 블록(110-1)을 선택한다. 즉, 반도체 메모리 장치(10)는 리던던트 소거 블록(110-1)에 대한 읽기, 쓰기 및 소거 동작을 수행한다.
메모리 셀 어레이(11)는 리던던트 소거 블록(110-1), 메인 소거 블록들(110-2~110-n) 및 이들 각각에 연결되는 디코더들(111-1~111-n)을 포함한다. 메인 소거 블록들(110-2~110-n, 메모리 영역)은 불휘발성 메모리 셀이 배열되는 메모리 영역이다. 그리고, 메인 소거 블록들(110-2~110-n)은 반도체 메모리 장치(10)의 외부에서 입력되는 데이터를 기억, 보관 및 유지하는 영역이다. 이러한 소거 블록은 1회의 소거 커맨드의 입력으로 일괄 소거를 할 수 있는 단위의 블록이다. 리던던트 소거 블록(110-1)은 메인 소거 블록들(110-2~110-n) 중 어느 하나가 불량 영역인 경우(오류 정정이 불가능한 비트 불량을 갖는 불량 메모리 영역인 경우), 상기 불량 영역과 치환되는 리던던트 영역이다.
리던던트 소거 블록(110-1)은 메인 소거 블록들(110-2~110-n)과 같이 불휘발성 메모리 셀이 배열되는 메모리 영역이다. 본 발명의 실시 예에 대한 간결한 설명을 위해, 리던던트 소거 블록(110-1)은 하나의 블록으로 도시되어 설명된다. 그러나, 리던던트 소거 블록(110-1)은 하나의 블록으로 한정되지 않고, 복수의 블록으로 구성될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
또한, 리던던트 소거 블록(110-1) 및 메인 소거 블록들(110-2~110-n)은 외부에서 입력되는 데이터(정보 비트)를 저장하기 위한 메모리 셀 영역뿐만 아니라 검사 비트(패리티 비트)를 저장하기 위한 패리티 셀 영역을 더 포함할 수 있다. 여기서, 본 발명의 실시 예로서, 패리티 셀 영역은 이와 같은 소거 블록들 내에 포함되는 것으로 가정한다. 다만, 패리티 셀 영역은 이에 한정되지 않고, 패리티 셀 전용의 메모리 셀 어레이가 별도로 포함될 수 있다.
각각의 소거 블록(110-1~110-n)에 인접하여 위치하는 디코더들(111-1~111~n)은 행 디코더들 및 열 디코더들이다. 디코더들(111-1~111~n)은 프리디코더(13)로부터 입력되는 행 어드레스 및 열 어드레스(메모리 셀의 어드레스)에 따라 대응하는 메모리 셀을 선택하는 회로이다. 즉, 디코더들(111-1~111~n)은 제어 회로(120)의 제어 명령에 응답하여 외부 어드레스 주소에 따라 해당 소거 블록 및 해당 소거 블록 내의 메모리 셀(데이터를 저장하기 위한 셀 및 패리티 셀)을 선택한다.
제어 회로(120)는 커맨드 입력 단자(16)를 통해 외부에서 입력되는 읽기, 쓰기, 소거 등을 지시하는 외부 커맨드 신호를 디코딩하여 내부 커맨드 신호를 발생한다. 즉, 제어 회로(120)는 반도체 메모리 장치(10) 내의 복수의 회로를 제어하기 위해 외부 커맨드 신호에 응답하여 내부 커맨드 신호를 출력한다. 또한, 제어 회로(120)는 읽기 또는 쓰기를 지시하는 커맨드 신호가 입력되면, 어드레스 단자(14)를 통해 입력되는 어드레스 정보를 프리디코더(13)로 제공한다. 그리고, 제어 회로(120)는 어드레스 정보가 가리키는 메인 소거 블록들(110-2~110-n) 내의 메모리 셀을 선택하도록 각각의 소거 블록에 대응하는 디코더들(111-2~111-n)을 활성화한다.
또한, 제어 회로(120)는 쓰기 동작 시에 데이터 입력 단자(도시되지 않음)를 통해 입력되는 데이터에 대한 패리티 비트를 생성하도록 오류 검출 정정 회로(123)를 제어한다. 그리고, 제어 회로(120)는 입력된 데이터 및 오류 검출 정정 회로(error correction circuit, 123)에 의해 생성된 패리티 비트를 소거 블록 내의 선택된 메모리 셀(데이터를 저장하기 위한 셀 및 패리티 셀)에 저장한다.
한편, 읽기 동작 시에 선택된 메모리 셀의 데이터 및 패리티 비트는 제어 회로(120)의 제어에 응답하여 읽기 회로(122)로 전송된다. 제어 회로(120)는 읽어 들인 데이터 및 패리티 비트에 대해 ECC에 의한 오류 정정을 하도록 오류 검출 정정 회로(123)를 제어한다. 이후, 데이터 출력 단자(15)를 통해 오류 정정된 데이터는 제어 회로(120)의 제어에 응답하여 외부로 출력된다.
여기서, 오류 검출 정정 회로(123)는 n 비트의 오류 정정이 가능하고, n 비트보다 많은 m 비트의 오류 검출이 가능한 오류 정정 기능을 갖춘 회로이다. 예를 들면, 허밍 부호(humming code)를 이용하여 오류 정정을 하는 경우에, 부호 중에 1 비트의 오류가 발생하면 오류 정정이 가능하고, 2 비트의 오류가 발생하면 오류 검출이 가능하다. 본 발명의 실시 예는 오류 정정이 가능한 비트 수를 n 비트라고 가정하여 설명된다. 또한, 허밍 부호를 이용하여 오류 정정을 하는 경우에 오류 정정 비트와 패리티 비트의 관계는 다음과 같이 예를 들어 설명된다. 64 비트 중에서 오류를 정정하는 경우, n=1일 때, 7 비트의 패리티 셀이 필요하고, n=2일 때, 12 비트의 패리티 셀이 필요하다.
이와 같이, 오류 정정이 가능한 비트 수 n은 설계 당시 패리티 셀의 비트 수에 의해 결정된다. 그러나, 오류 정정이 가능한 비트 수 n을 늘리는 것은 그만큼의 패리티 셀을 미리 칩에 포함킬 필요가 생기므로 칩 사이즈의 증가를 초래한다. 또한, 종래 기술에서는 소거 블록에 대한 오류 비트가 오류 정정이 가능한 비트 수(n비트)를 초과하는 경우에 불량 블록을 리던던트 블록으로 치환하지만, 어느 불량 블록을 치환할지 여부를 결정하는 동작이 읽기 동작 시에 수행되어 읽기 속도의 저하를 가져왔다.
이와 관련하여, 본 발명의 실시 예에 따른 반도체 메모리 장치(10)는 소거 동작에 대한 커맨드가 입력된 후 소거 동작이 개시되기 전의 시간 동안에, 리던던트 블록으로 치환하기 위한 소거 블록을 결정한다. 이를 위해, 도 1에 도시되어 있는 것과 같이, 제어부(12)는 더미 리드 제어 회로(dummy read control circuit, 121), 퓨즈 개서 회로(fuse renewal circuit, 124) 및 리던던트 변환 퓨즈(redundant replacement fuse, 125)를 포함한다. 더미 리드 제어 회로(121) 및 퓨즈 개서 회로(124)는 제어 회로(120)에 의해 제어된다. 오류 검출 정정 회로(123)는 제어 회로(120)로부터 입력되는 명령 신호에 응답하여 리던던트 변환 퓨즈(125)를 제어한다. 즉, 리던던트 변환 퓨즈(125)는 오류 검출 정정 회로(123)에 의해 제어된다.
더미 리드 제어 회로(121)는 반도체 메모리 장치(10)가 소거 동작을 수행하면, 제어 회로(120)로부터 입력되는 소거 제어 신호에 응답하여 읽기 회로(122)를 활성화한다.
또한, 퓨즈 개서 회로(124)는 오류 검출 정정 회로(123)로부터 입력되는 오류 검출 신호에 응답하여 활성화된다. 퓨즈 개서 회로(124)는 리던던트 변환 퓨즈(125)에서 메인 소거 블록(110-2~110-n)의 블록 번호(블록 좌표) 중 어느 하나에 대응하는 해당 퓨즈를 전기적으로 절단한다. 이로 인해, 제어 회로(120)는 읽기 또는 쓰기 동작 시에, n 비트의 오류 정정이 불가능한 소거 블록을 선택하는 어드레스가 입력되면, 전기적으로 절단된 퓨즈가 가리키는 논리 레벨(0 또는 1)에 의해, 해당 메인 소거 블록을 대신하여 리던던트 소거 블록(110-1)을 선택한다.
오류 검출 정정 회로(123)는 소거 동작 시에 메인 소거 블록들(110-2~110-n) 중 하나의 메인 소거 블록을 선택하고, 선택된 블록으로부터 읽어 들인(더미 리드) 데이터(정보 비트)와 검사 비트(패리티 비트)에 의해 오류 검출을 수행한다. 또한, 오류 검출 정정 회로(123)는 메인 소거 블록에 대한 더미 리드를 통해 읽어 들인 각각의 오류 정정 단위의 데이터로부터 n 비트를 초과하는 오류 비트를 검출하면, 해당 소거 블록을 n 비트의 오류 정정이 불가능한 소거 블록(ECC 오버플로우 블록)으로 판정한다. 오류 검출 정정 회로(123)는 오류 검출 신호를 출력하고, 이를 퓨즈 개서 회로(124)에 전달한다.
다음으로, 본 발명의 실시 예에 따른 반도체 메모리 장치(10)의 소거 동작 시의 오류 검출을 이하의 도 2를 참조하여 설명한다. 도 2는 본 발명의 실시 예에 따른 반도체 메모리 장치의 블록 치환 동작을 설명하기 위한 순서도이다.
도 1 및 2를 참조하면, 우선, 소거 모드가 시작되면, 제어부(12)는 더미 리드를 수행한다(단계 S1). 즉, 커맨드 입력 단자(16)로부터 소거 동작을 지시하는 커맨드(소거 커맨드)가 입력되면, 제어부(12)는 더미 리드를 수행한다. 더욱 구체적으로 설명하면, 제어 회로(120)는 소거 제어 신호가 입력되면, 읽기 회로(122)를 활성화한다. 참고로, 읽기 회로(122)는 일반적으로 읽기 동작 시에 활성화되는 회로이다. 또한, 제어 회로(120)는 오류 검출 정정 회로(123)를 활성화하기 위한 제어 신호를 출력한다. 오류 검출 정정 회로(123)는 이러한 제어 신호에 응답하여 활성화된다. 이후, 오류 검출 정정 회로(123)는 읽기 회로(122)에 의해 소거 블록으로부터 읽어 들인 데이터에 대한 오류 검출을 수행한다.
제어 회로(120)는 선택 소거 블록에 대응하는 디코더를 구동한다. 예를 들면, 메인 소거 블록(110-2)을 소거하는 경우, 제어 회로(120)는 이에 대응하는 디코더(111-2)를 구동한다. 제어 회로(120)는 어드레스 카운터를 포함할 수 있다. 제어 회로(120)는 어드레스 카운터를 이용하여 소거 블록에서 최하위 어드레스부터 최상위 어드레스에 대응하는 메모리 셀을 차례로 선택하도록 프리디코더(13)를 제어한다. 이때, 제어 회로(120)는 오류 검출 정정 회로(123)에 데이터(정보 비트) 및 검사 비트(패리티 비트)를 보내도록 읽기 회로(122)를 제어한다.
더미 리드 동작(단계 S1)은 소거 블록 내의 최종 어드레스에 도달할 때까지 반복된다(단계 S2에서 NO일 때 단계 S3을 거쳐 단계 S1으로 진행). 그리고, 소거 블록의 모든 메모리 셀에 대해 오류 검출이 수행된다(단계 S2에서 YES일 때). 이때, 오류 검출 정정 회로(123)는 읽기 회로(122)에 의해 소거 블록으로부터 차례대로 읽어 들인 데이터 각각에 대해, 각각의 패리티 비트를 이용하여 오류 정정이 가능한 비트 수(n 비트)를 초과하는지 여부를 판정한다(단계 S4).
오류 검출 정정 회로(123)는 오류 정정이 가능한 비트 수(n 비트)를 초과하는 m 비트의 오류가 검출되면, 리던던트 변환 퓨즈(125)의 고쳐 쓰기 동작을 수행한다(단계 S5). 더욱 구체적으로 설명하면, 오류 검출 정정 회로(123)는 퓨즈 개서 회로(124)에 전달되는 오류 검출 신호를 출력한다. 이후, 퓨즈 개서 회로(124)는 오류 검출 신호에 응답하여 리던던트 변환 퓨즈(125) 내의 퓨즈들 중 현재 소거 동작과 관련되는 블록 좌표를 나타내는 해당 퓨즈를 전기적으로 절단한다.
이로 인해, 제어 회로(120)는 읽기, 쓰기 또는 소거 커맨드가 입력되고, 오류가 검출된 소거 블록에 접근하기 위한 어드레스 정보가 입력되면, n 비트의 오류 정정이 불가능한 소거 블록(ECC 오버플로우 블록)을 대신하여 리던던트 블록을 선택한다.
한편, 오류 정정이 가능한 비트 수(n 비트)를 초과하는 m 비트의 오류가 검출되지 않으면, 해당 소거 블록에 대한 소거 동작을 수행한다(단계 S6). 또한, 리던던트 변환 퓨즈(125)의 고쳐 쓰기 동작을 수행하는 단계(단계 S5) 후에, 치환된 리던던트 블록에 대한 오류 여부를 확인하기 위해, 더미 리드 단계(단계 S1)부터 이후 단계들이 반복된다. 이로 인해, 치환된 리던던트 블록에서 오류 정정이 가능한 비트 수(n 비트)를 초과하는 m 비트의 오류가 검출되는지 여부를 확인할 수 있다.
이와 같이, 본 발명의 실시 예에 따른 불휘발성 반도체 메모리 장치는 데이터를 저장하기 위한 메모리 셀이 배열되는 메모리 영역; 상기 메모리 영역이 불량 영역인 경우에 상기 메모리 영역과 치환되는 리던던트 영역; 및 소거 동작을 지시하는 커맨드가 입력되면 소거 동작 전에 상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류 검출을 수행하고, 오류 검출 결과에 따라 상기 리던던트 영역으로 치환되는 상기 불량 영역을 검출하는 제어부를 포함한다.
또한, 상기 제어부는, 상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류 검출 및 정정을 수행하는 오류 정정 회로; 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 경우에 상기 불량 영역의 좌표를 기억, 보관, 유지하는 오류 정정 영역 좌표 기억부; 및 읽기 동작 또는 쓰기 동작을 지시하는 커맨드가 입력되면, 상기 오류 정정 좌표 기억부에 기억, 보관, 유지된 상기 불량 영역의 좌표가 가리키는 메모리 영역을 대신하여 상기 리던던트 영역을 선택하는 제어 회로를 포함한다.
앞에서 살펴본 바와 같이, 본 발명의 실시 예에 따른 반도체 메모리 장치는 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 메모리 영역을 리던던트 블록으로 치환할 수 있다. 따라서, ECC 오버플로우의 발생 확률이 감소되고, 그 결과, 제품의 쓰기/소거의 제한 횟수를 늘릴 수 있으므로 신뢰성이 향상된 반도체 메모리 장치가 제공될 수 있다. 또한, 본 발명의 실시 예에 따른 반도체 메모리 장치는 소거 커맨드가 입력되는 소거 모드에서 ECC에 의한 오류 정정을 수행하여 ECC 오버플로우 블록을 리던던트 블록으로 치환하는 구성을 포함하고 있다. 따라서, 읽기 속도가 개선되어 고속 읽기 동작을 할 수 있는 반도체 메모리 장치가 제공될 수 있다.
이상에서, 본 발명은 실시 예에 의해 설명되었으나, 이는 실시 예에 한정되는 것은 아니고, 그 요지를 벗어나지 않는 범위에서 여러 가지 형태로 변경될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 예를 들면, 본 발명의 실시 예에 따른 반도체 메모리 장치에서, 치환되는 리던던트 영역의 리던던트 단위를 소거 블록이라고 하였으나, 이는 워드 라인 단위 등의 다른 리던던트 단위일 수 있다.
이하, 플래시 메모리 장치를 참조하여 본 발명의 실시 예가 설명된다. 즉, 본 발명의 실시 예에 따른 반도체 메모리 장치는 플래시 메모리 장치인 것으로 가정한다.
본 발명의 실시 예에 따른 플래시 메모리 장치는 여러 가지 제품에 적용 또는 응용될 수 있다. 본 발명의 실시 예에 따른 플래시 메모리 장치는 퍼스널 컴퓨터, 디지털 카메라, 캠코더, 휴대 전화, MP3, PMP, PSP, PDA 등과 같은 전자 장치들뿐만 아니라, 메모리 카드, USB 메모리, 솔리드 스테이트 드라이브(Solid State Drive, 이하 SSD라고 함) 등과 같은 저장 장치로 구현될 수 있다.
도 3은 본 발명의 실시 예에 따른 플래시 메모리 장치를 사용하는 메모리 시스템을 보여주는 블록도이다. 도 3을 참조하면, 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 메모리 컨트롤러(1200)를 포함한다.
플래시 메모리 장치(1100) 및 메모리 컨트롤러(1200)는 하나의 저장 장치 내에 포함될 수 있다. 이러한 저장 장치에는 USB 메모리, 메모리 카드(MMC, SD 카드, xD 카드, CF 카드, SIM 카드 등) 등과 같은 이동식 저장 장치도 포함된다. 또한, 이러한 저장 장치는 컴퓨터, 노트북, 디지털 카메라, 휴대폰, MP3 플레이어, PMP, 게임기 등과 같은 호스트(Host)에 접속되어 사용될 수 있다.
플래시 메모리 장치(1100)는 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 메모리 영역을 리던던트 블록으로 치환할 수 있다. 따라서, ECC 오버플로우의 발생 확률이 감소되고, 그 결과, 제품의 쓰기/소거의 제한 횟수를 늘릴 수 있다. 또한, 플래시 메모리 장치(1100)는 소거 커맨드가 입력되는 소거 모드에서 ECC에 의한 오류 정정을 수행하여 ECC 오버플로우 블록을 리던던트 블록으로 치환하는 구성을 포함하고 있다. 따라서, 읽기 속도가 개선되어 고속 읽기 동작을 할 수 있다.
메모리 컨트롤러(1200)는 플래시 인터페이스(1210), 호스트 인터페이스(1220), ECC 회로(1230), 중앙처리장치(CPU, 1240), 그리고 버퍼 메모리(1250)를 포함한다.
플래시 인터페이스(1210)는 플래시 메모리 장치(1100)와 커맨드, 어드레스, 데이터 등을 주고 받는 데 사용된다. 즉, 플래시 인터페이스(1210)는 읽기 동작 시에는 읽기 커맨드 및 어드레스를 제공하고, 쓰기 동작 시에는 쓰기 커맨드, 어드레스, 그리고 데이터를 제공한다. 호스트 인터페이스(1220)는 호스트(Host)로부터 쓰기나 읽기 등의 요청을 받거나, 호스트의 요청에 응답하여 데이터를 제공하는 데 사용된다.
ECC 회로(1230)는 플래시 메모리 장치(1100)로 전송되는 데이터를 이용하여, 패리티 비트 (또는 ECC 데이터)를 생성한다. 이렇게 생성된 패리티 비트는 플래시 메모리 장치(1100)의 스페어 영역(spare area)에 저장된다. ECC 회로(1230)는 플래시 메모리 장치(1100)로부터 읽혀진 데이터의 오류를 검출한다. 만약 검출된 오류가 정정 범위 내이면, ECC 회로(1230)는 검출된 오류를 정정한다. 한편, ECC 회로(1230)는 메모리 시스템(1000)에 따라, 메모리 컨트롤러(1200) 내에 위치하거나 밖에 위치할 수 있다.
중앙처리장치(1240)는 호스트(Host)의 요청에 응답하여 플래시 메모리 장치(1100)의 읽기, 쓰기 동작 등을 제어하도록 구성된다. 버퍼 메모리(1250)는 플래시 메모리 장치(1100)로부터 읽혀진 데이터 또는 호스트(Host)로부터 제공되는 데이터를 임시로 저장할 수 있다. 또한, 버퍼 메모리(1250)는 플래시 변환 계층(Flash Translation Layer; FTL)과 같은 펌웨어를 구동하는 데 사용될 수도 있다. 플래시 변환 레이어(FTL)는 중앙처리장치(1240)에 의해 운용된다. 버퍼 메모리(1250)는 DRAM, SRAM 등으로 구현될 수 있다.
한편, 버퍼 메모리(1250)는 읽기 오류 정보를 관리하는 데 필요한 테이블 정보를 저장할 수 있다. 이 테이블 정보는 메타(meta) 데이터로서, 중앙처리장치(1240)의 제어 하에 플래시 메모리 장치(1100)의 메타 영역에 저장된다. 이 테이블 정보는 파워 업 시에 메타 영역으로부터 버퍼 메모리(1250)로 복사된다. 비록 도면에는 도시되지 않았지만, 메모리 시스템(1000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM이 더 포함될 수 있다.
도 4는 본 발명의 실시 예에 따른 플래시 메모리 장치를 포함하는 메모리 카드를 보여주는 블록도이다. 도 4는 메모리 카드 중에서 SD 카드의 외형을 보여준다. 도 4를 참조하면, SD 카드는 9개의 핀으로 구성되어 있다. SD 카드는 4개의 데이터 핀(예를 들면, 1, 7, 8, 9), 한 개의 커맨드 핀(예를 들면, 2), 한 개의 클록 핀(예를 들면, 5), 3개의 전원 핀(예를 들면, 3, 4, 6)을 갖는다.
여기서, 커맨드 핀(핀 번호 2)을 통해 커맨드(command) 및 응답 신호(response)가 전달된다. 일반적으로, 커맨드(command)는 호스트로부터 메모리 카드로 전송되고, 응답 신호(response)는 메모리 카드로부터 호스트로 전송된다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 SD 카드 등과 같은 이동식 저장장치로 구현될 수 있다. 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 플래시 메모리 장치(1100)를 제어하기 위한 메모리 컨트롤러(1200)를 포함할 수 있다.
플래시 메모리 장치(1100)는 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 메모리 영역을 리던던트 블록으로 치환할 수 있다. 따라서, ECC 오버플로우의 발생 확률이 감소되고, 그 결과, 제품의 쓰기/소거의 제한 횟수를 늘릴 수 있다. 또한, 플래시 메모리 장치(1100)는 소거 커맨드가 입력되는 소거 모드에서 ECC에 의한 오류 정정을 수행하여 ECC 오버플로우 블록을 리던던트 블록으로 치환하는 구성을 포함하고 있다. 따라서, 읽기 속도가 개선되어 고속 읽기 동작을 할 수 있다.
도 5는 도 4에 도시된 메모리 카드의 내부 구성 및 호스트와의 연결 관계를 보여주는 블록도이다. 메모리 카드 시스템(2000)은 호스트(2100)와 메모리 카드(2200)를 포함한다. 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 접속 유닛(2120)을 포함한다. 메모리 카드(2200)는 카드 접속 유닛(2210), 카드 컨트롤러(2220) 및 메모리(2230)를 포함한다.
호스트 접속 유닛(2120) 및 카드 접속 유닛(2210)은 복수의 핀으로 구성된다. 이들 핀에는 커맨드 핀, 데이터 핀, 클록 핀, 전원 핀 등이 포함되어 있다. 핀의 수는 메모리 카드(2200)의 종류에 따라 달라진다. 예시적으로, SD 카드는 9개의 핀을 갖는다.
호스트(2100)는 메모리 카드(2200)에 데이터를 쓰거나, 메모리 카드(2200)에 저장된 데이터를 읽는다. 호스트 컨트롤러(2110)는 커맨드(예를 들면, 쓰기 커맨드), 호스트(2100) 내의 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK), 그리고 데이터(DAT)를 호스트 접속 유닛(2120)을 통해 메모리 카드(2200)로 전송한다.
카드 컨트롤러(2220)는 카드 접속 유닛(2210)을 통해 수신된 쓰기 커맨드에 응답하여, 카드 컨트롤러(2220) 내에 있는 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK)에 동기하여 데이터를 메모리(2230)에 저장한다. 메모리(2230)는 호스트(2100)로부터 전송된 데이터를 저장한다. 예를 들어, 호스트(2100)가 디지털 카메라인 경우에는 영상 데이터를 저장한다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 메모리 카드 시스템(2000)으로 구현될 수 있다. 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 메모리 컨트롤러(1200)를 포함한다. 여기서, 플래시 메모리 장치(1100)는 메모리(2230)로 구현되고, 메모리 컨트롤러(1200)는 카드 컨트롤러(2220)로 구현될 수 있다.
플래시 메모리 장치(1100)는 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 메모리 영역을 리던던트 블록으로 치환할 수 있다. 따라서, ECC 오버플로우의 발생 확률이 감소되고, 그 결과, 제품의 쓰기/소거의 제한 횟수를 늘릴 수 있다. 또한, 플래시 메모리 장치(1100)는 소거 커맨드가 입력되는 소거 모드에서 ECC에 의한 오류 정정을 수행하여 ECC 오버플로우 블록을 리던던트 블록으로 치환하는 구성을 포함하고 있다. 따라서, 읽기 속도가 개선되어 고속 읽기 동작을 할 수 있다.
도 6은 본 발명의 실시 예에 따른 플래시 메모리 장치를 솔리드 스테이트 드라이브(SSD)로 구현한 예를 보여주는 블록도이다. 도 6을 참조하면, SSD 시스템(3000)은 호스트(3100)와 SSD(3200)를 포함한다. SSD(3200)는 신호 커넥터(signal connector, 3231)를 통해 호스트(3100)와 신호를 주고 받으며, 전원 커넥터(power connector, 3232)를 통해 전원을 입력받는다. SSD(3200)는 복수의 불휘발성 메모리 장치(3201~320n), SSD 컨트롤러(3210) 및 보조 전원 장치(3220)를 포함한다.
복수의 불휘발성 메모리 장치(3201~320n)는 SSD(3200)의 저장 매체로서 사용된다. 복수의 불휘발성 메모리 장치(3201~320n)는 대용량의 저장 능력을 가지는 플래시 메모리 장치로 구현될 수 있다. SSD(3200)는 주로 플래시 메모리를 사용하고 있으나, 플래시 메모리 이외에도 PRAM, MRAM, ReRAM, FRAM 등의 불휘발성 메모리 장치가 사용될 수도 있다.
복수의 불휘발성 메모리 장치(3201~320n)는 복수의 채널(CH1~CHn)을 통해 SSD 컨트롤러(3210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 메모리 장치가 연결될 수 있다. 하나의 채널에 연결되는 메모리 장치들은 동일한 데이터 버스에 연결될 수 있다.
SSD 컨트롤러(3210)는 신호 커넥터(3231)를 통해 호스트(3100)와 신호(SGL)를 주고 받는다. 여기에서, 신호(SGL)에는 커맨드, 어드레스, 데이터 등이 포함될 수 있다. SSD 컨트롤러(3210)는 호스트(3100)의 커맨드에 따라 해당 메모리 장치에 데이터를 쓰거나 해당 메모리 장치로부터 데이터를 읽어낸다. SSD 컨트롤러(3210)의 내부 구성은 이하의 도 7을 참조하여 상세하게 설명될 것이다.
보조 전원 장치(3220)는 전원 커넥터(3232)를 통해 호스트(3100)와 연결된다. 보조 전원 장치(3220)는 호스트(3100)로부터 입력되는 전력(PWR)을 충전할 수 있다. 한편, 보조 전원 장치(3220)는 SSD(3200) 내에 위치할 수도 있고, SSD(3200) 밖에 위치할 수 있다. 예를 들면, 보조 전원 장치(3220)는 메인 보드에 위치하고, SSD(3200)에 보조 전원을 제공할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 SSD 시스템(3000)으로 구현될 수 있다. 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 플래시 메모리 장치(1100)를 제어하기 위한 메모리 컨트롤러(1200)를 포함할 수 있다. 여기서, 플래시 메모리 장치(1100)는 복수의 불휘발성 메모리 장치(3201~320n)로 구현되고, 메모리 컨트롤러(1200)는 SSD 컨트롤러(3210)로 구현될 수 있다.
플래시 메모리 장치(1100)는 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 메모리 영역을 리던던트 블록으로 치환할 수 있다. 따라서, ECC 오버플로우의 발생 확률이 감소되고, 그 결과, 제품의 쓰기/소거의 제한 횟수를 늘릴 수 있다. 또한, 플래시 메모리 장치(1100)는 소거 커맨드가 입력되는 소거 모드에서 ECC에 의한 오류 정정을 수행하여 ECC 오버플로우 블록을 리던던트 블록으로 치환하는 구성을 포함하고 있다. 따라서, 읽기 속도가 개선되어 고속 읽기 동작을 할 수 있다.
도 7은 도 6에 도시된 SSD 컨트롤러의 구성을 예시적으로 보여주는 블록도이다. 도 7을 참조하면, SSD 컨트롤러(3210)는 NVM 인터페이스(3211), 호스트 인터페이스(3212), ECC 회로(3213), 중앙 처리 장치(CPU, 3214), 그리고 버퍼 메모리(3215)를 포함한다.
NVM 인터페이스(3211)는 버퍼 메모리(3215)로부터 전달된 데이터를 각각의 채널들(CH1~CHn)로 스캐터링(Scattering)한다. 그리고 NVM 인터페이스(3211)는 불휘발성 메모리 장치(3201~320n)로부터 읽은 데이터를 버퍼 메모리(3215)로 전달한다. 여기서, NVM 인터페이스(3211)는 낸드 플래시 메모리의 인터페이스 방식을 사용할 수 있다. 즉, SSD 컨트롤러(3210)는 낸드 플래시 메모리 인터페이스 방식에 따라 소거, 쓰기, 읽기 동작 등을 수행할 수 있다.
호스트 인터페이스(3212)는 호스트(Host)의 프로토콜에 대응하여 SSD(3200)와의 인터페이싱을 제공한다. 호스트 인터페이스(3212)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등을 이용하여 호스트(Host)와 통신할 수 있다. 또한, 호스트 인터페이스(3212)는 호스트(Host)가 SSD(3200)를 하드 디스크 드라이브(HDD)로 인식하도록 지원하는 디스크 에뮬레이션(Disk Emulation) 기능을 수행할 수 있다.
ECC 회로(3213)는 불휘발성 메모리(3201~320n)로 전송되는 데이터를 이용하여, 패리티 비트를 생성한다. 이렇게 생성된 패리티 비트는 불휘발성 메모리(3201~320n)의 스페어 영역(spare area)에 저장된다. ECC 회로(3213)는 불휘발성 메모리(3201~320n)로부터 읽혀진 데이터의 오류를 검출한다. 만약 검출된 오류가 정정 범위 내이면, ECC 회로(3213)는 검출된 오류를 정정한다.
중앙 처리 장치(3214)는 호스트(Host)로부터 입력된 신호(SGL)를 분석하고 처리한다. 중앙 처리 장치(3214)는 호스트 인터페이스(3212)나 NVM 인터페이스(3211)를 통해 호스트(Host)나 불휘발성 메모리(3201~320n)를 제어한다. 중앙 처리 장치(3214)는 SSD(3200)을 구동하기 위한 펌웨어에 따라서 불휘발성 메모리 장치(3201~320n)의 동작을 제어한다.
버퍼 메모리(3215)는 호스트(Host)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치로부터 읽은 데이터를 임시로 저장한다. 또한, 버퍼 메모리(3215)는 불휘발성 메모리 장치(3201~320n)에 저장될 메타 데이터나 캐시 데이터를 저장할 수 있다. 서든 파워 오프(sudden power-off) 동작 시에, 버퍼 메모리(3215)에 저장된 메타 데이터나 캐시 데이터는 불휘발성 메모리 장치(3201~320n)에 저장된다. 버퍼 메모리(3215)에는 DRAM, SRAM 등이 포함될 수 있다.
도 8는 본 발명의 실시 예에 따른 플래시 메모리 장치를 전자 장치로 구현한 예를 보여주는 블록도이다. 여기에서, 전자 장치(4000)는 퍼스널 컴퓨터(PC)로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(Personal Digital Assistant), 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
도 8을 참조하면, 전자 장치(4000)는 메모리 시스템(4100), 전원 장치(4200), 보조 전원 장치(4250), 중앙처리장치(4300), 램(4400) 및 사용자 인터페이스(4500)를 포함한다. 메모리 시스템(4100)은 플래시 메모리(4110) 및 메모리 컨트롤러(4120)를 포함한다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 전자 장치(4000)의 메모리 시스템(4100)으로 구현될 수 있다. 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 플래시 메모리 장치(1100)를 제어하기 위한 메모리 컨트롤러(1200)를 포함할 수 있다. 여기서, 플래시 메모리 장치(1100)는 전자 장치(4000)의 플래시 메모리(4110)로 구현되고, 메모리 컨트롤러(1200)는 전자 장치(4000)의 메모리 컨트롤러(4120)로 구현될 수 있다.
플래시 메모리 장치(1100)는 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 메모리 영역을 리던던트 블록으로 치환할 수 있다. 따라서, ECC 오버플로우의 발생 확률이 감소되고, 그 결과, 제품의 쓰기/소거의 제한 횟수를 늘릴 수 있다. 또한, 플래시 메모리 장치(1100)는 소거 커맨드가 입력되는 소거 모드에서 ECC에 의한 오류 정정을 수행하여 ECC 오버플로우 블록을 리던던트 블록으로 치환하는 구성을 포함하고 있다. 따라서, 읽기 속도가 개선되어 고속 읽기 동작을 할 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
10: 불휘발성 반도체 메모리 장치 11: 메모리 셀 어레이
12: 제어부 13: 프리디코더
14: 어드레스 단자 15: 데이터 출력 단자
16: 커맨드 입력 단자 110-1: 리던던트 소거 블록
110-2: 메인 소거 블록 111-1, 111-2: 디코더
120: 제어 회로 121: 더미 리드 제어 회로
122: 읽기 회로 123: 오류 검출 정정 회로
124: 퓨즈 개서 회로 125: 리던던트 변환 퓨즈

Claims (10)

  1. 데이터를 저장하기 위한 메모리 셀이 배열되는 메모리 영역;
    상기 메모리 영역이 불량 영역인 경우에 상기 메모리 영역과 치환되는 리던던트 영역; 및
    소거 동작을 지시하는 커맨드가 입력되면 소거 동작 전에 상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류 검출을 수행하고, 오류 검출 결과에 따라 상기 리던던트 영역으로 치환되는 상기 불량 영역을 검출하는 제어부를 포함하는 반도체 메모리 장치.
  2. 제 1 항에 있어서,
    상기 제어부는,
    상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류 검출 및 정정을 수행하는 오류 정정 회로;
    검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 경우에 상기 불량 영역의 좌표를 기억, 보관, 유지하는 오류 정정 영역 좌표 기억부; 및
    읽기 동작 또는 쓰기 동작을 지시하는 커맨드가 입력되면, 상기 오류 정정 좌표 기억부에 기억, 보관, 유지된 상기 불량 영역의 좌표가 가리키는 메모리 영역을 대신하여 상기 리던던트 영역을 선택하는 제어 회로를 포함하는 반도체 메모리 장치.
  3. 메모리 영역과 상기 메모리 영역 내의 불량 영역을 대체하기 위한 리던던트 영역으로 구분되는 메모리 셀 어레이;
    외부 어드레스에 따라 상기 메모리 셀 어레이의 메모리 블록들을 선택하는 디코더; 및
    소거 커맨드가 입력된 후 소거 동작이 시작되기 전에 상기 불량 영역을 검출하고, 상기 리던던트 영역이 상기 불량 영역을 대체하도록 상기 디코더를 제어하는 제어부를 포함하는 반도체 메모리 장치.
  4. 제 3 항에 있어서,
    상기 제어부는 상기 메모리 영역으로부터 읽어 들인 데이터에 대한 오류를 검출하고, 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는 경우에 상기 불량 영역의 좌표를 상기 리던던트 영역의 좌표로 변경하도록 구성되는 반도체 메모리 장치.
  5. 제 3 항에 있어서,
    상기 제어부는 상기 불량 영역에 대한 접근을 차단하기 위한 퓨즈 회로를 더 포함하는 반도체 메모리 장치.
  6. 제 5 항에 있어서,
    상기 제어부는 상기 불량 영역이 검출되면, 상기 퓨즈 회로 내의 상기 불량 영역에 대응하는 퓨즈를 전기적으로 절단하도록 구성되는 반도체 메모리 장치.
  7. 제 6 항에 있어서,
    상기 제어부는 상기 불량 영역에 대한 어드레스가 입력될 때, 상기 퓨즈가 가리키는 논리 레벨에 의해 상기 리던던트 영역을 선택하도록 상기 디코더를 제어하는 반도체 메모리 장치.
  8. 메인 메모리 블록;
    상기 메인 메모리 블록을 대체하기 위한 리던던트 메모리 블록; 및
    소거 커맨드가 입력된 후 소거 동작이 시작되기 전에 상기 메인 메모리 블록에 대한 불량 여부를 판정하고, 상기 메인 메모리 블록이 불량으로 판정되면 불량 메모리 블록에 대한 접근을 차단하고 상기 리던던트 메모리 블록을 선택하도록 구성되는 제어부를 포함하는 반도체 메모리 장치.
  9. 제 8 항에 있어서,
    상기 제어부는 상기 메인 메모리 블록에 대한 불량 여부를 판정하기 위해 상기 메인 메모리 블록으로부터 더미 리드를 통해 읽어 들인 데이터에 대해 오류를 검출하고, 검출된 오류 비트 수가 오류 정정이 가능한 비트 수를 초과하는지 여부를 판단하는 반도체 메모리 장치.
  10. 제 8 항에 있어서,
    상기 제어부는 상기 불량 메모리 블록에 대한 좌표 정보를 저장하기 위한 퓨즈 회로를 더 포함하는 반도체 메모리 장치.
KR1020100028656A 2009-12-25 2010-03-30 불휘발성 반도체 메모리 장치 KR20110074644A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/965,951 US8331151B2 (en) 2009-12-25 2010-12-13 Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2009-294115 2009-12-25
JP2009294115A JP5503960B2 (ja) 2009-12-25 2009-12-25 不揮発性半導体記憶装置

Publications (1)

Publication Number Publication Date
KR20110074644A true KR20110074644A (ko) 2011-07-01

Family

ID=44346970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100028656A KR20110074644A (ko) 2009-12-25 2010-03-30 불휘발성 반도체 메모리 장치

Country Status (2)

Country Link
JP (1) JP5503960B2 (ko)
KR (1) KR20110074644A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150055879A (ko) * 2013-11-14 2015-05-22 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US9378089B2 (en) 2013-10-24 2016-06-28 Winbond Electronics Corp. Semiconductor storing device and redundancy method thereof
US11537315B2 (en) 2019-01-11 2022-12-27 SK Hynix Inc. Apparatus and method for erasing data programmed in a non-volatile memory block in a memory system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10063263B2 (en) 2015-05-20 2018-08-28 International Business Machines Corporation Extended error correction coding data storage

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4034949B2 (ja) * 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP4110000B2 (ja) * 2003-01-28 2008-07-02 株式会社ルネサステクノロジ 記憶装置
JP4041076B2 (ja) * 2004-02-27 2008-01-30 株式会社東芝 データ記憶システム
JP2005353110A (ja) * 2004-06-08 2005-12-22 Nec Electronics Corp 不揮発性メモリ装置
JP4703148B2 (ja) * 2004-09-08 2011-06-15 株式会社東芝 不揮発性半導体記憶装置
JP4569416B2 (ja) * 2005-08-19 2010-10-27 日本電気株式会社 半導体記憶装置
JPWO2007023544A1 (ja) * 2005-08-25 2009-03-26 スパンション エルエルシー 記憶装置、記憶装置の制御方法、および記憶制御装置の制御方法
JP4652409B2 (ja) * 2005-08-25 2011-03-16 スパンション エルエルシー 記憶装置、および記憶装置の制御方法
JP5032155B2 (ja) * 2007-03-02 2012-09-26 株式会社東芝 不揮発性半導体記憶装置、及び不揮発性半導体記憶システム
JP2009223941A (ja) * 2008-03-14 2009-10-01 Spansion Llc 不揮発性記憶装置および不揮発性記憶装置の制御方法
JP5467270B2 (ja) * 2010-04-28 2014-04-09 国立大学法人 東京大学 データ入出力制御装置および半導体記憶装置システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378089B2 (en) 2013-10-24 2016-06-28 Winbond Electronics Corp. Semiconductor storing device and redundancy method thereof
KR20150055879A (ko) * 2013-11-14 2015-05-22 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US11537315B2 (en) 2019-01-11 2022-12-27 SK Hynix Inc. Apparatus and method for erasing data programmed in a non-volatile memory block in a memory system

Also Published As

Publication number Publication date
JP5503960B2 (ja) 2014-05-28
JP2011134406A (ja) 2011-07-07

Similar Documents

Publication Publication Date Title
CN108694017B (zh) 存储器系统及其操作方法
US8331151B2 (en) Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block
KR101678907B1 (ko) 리드 디스터번스를 줄일 수 있는 불휘발성 메모리 장치 및 그것의 읽기 방법
US8363482B2 (en) Flash memory devices with selective bit line discharge paths and methods of operating the same
KR102571747B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR101716716B1 (ko) 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법
KR20120035064A (ko) 리드 성능을 향상시킬 수 있는 리드 파라미터 변경 방법과 상기 방법을 수행할 수 있는 장치들
KR20150029402A (ko) 데이터 저장 시스템 및 그것의 동작 방법
US11416174B2 (en) Memory device and method of operating the same
KR20160074025A (ko) 데이터 저장 장치의 동작 방법
CN111400082A (zh) 控制器及控制器的操作方法
CN113741798A (zh) 数据存储装置及其操作方法
KR20210038189A (ko) 저장 장치 및 그 동작 방법
KR20110074644A (ko) 불휘발성 반도체 메모리 장치
US11508454B2 (en) Data storage device and method of operating the same
KR20140031551A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 데이터 저장 장치
US9837166B2 (en) Data storage device and operating method thereof
KR102648790B1 (ko) 데이터 저장 장치 및 그 동작 방법
KR20170031311A (ko) 데이터 저장 장치 및 그것의 동작 방법
US9778864B2 (en) Data storage device using non-sequential segment access and operating method thereof
US9318164B2 (en) Semiconductor memory device with power-saving signal
US20190179744A1 (en) Memory system and operating method thereof
CN112447234A (zh) 存储器控制器及其操作方法
KR20210054396A (ko) 저장 장치 및 그 동작 방법
US11782646B2 (en) Memory device and memory system having the memory device