KR20170094481A - 반도체 메모리 장치, 그 소거 방법 및 프로그램 방법 - Google Patents

반도체 메모리 장치, 그 소거 방법 및 프로그램 방법 Download PDF

Info

Publication number
KR20170094481A
KR20170094481A KR1020160100591A KR20160100591A KR20170094481A KR 20170094481 A KR20170094481 A KR 20170094481A KR 1020160100591 A KR1020160100591 A KR 1020160100591A KR 20160100591 A KR20160100591 A KR 20160100591A KR 20170094481 A KR20170094481 A KR 20170094481A
Authority
KR
South Korea
Prior art keywords
nand string
bits
selected block
circuit
program
Prior art date
Application number
KR1020160100591A
Other languages
English (en)
Other versions
KR101829861B1 (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 윈본드 일렉트로닉스 코포레이션
Publication of KR20170094481A publication Critical patent/KR20170094481A/ko
Application granted granted Critical
Publication of KR101829861B1 publication Critical patent/KR101829861B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Memory System (AREA)

Abstract

수율을 향상시키고, 메모리 어레이의 이용 효율을 향상시킬 수 있는 반도체 메모리 장치, 그 소거 방법 및 프로그램 방법을 제공한다.
반도체 메모리 장치는, 복수의 NAND 스트링을 포함하는 메모리 어레이; 비트 라인을 통해 메모리 어레이의 NAND 스트링에 접속되고, NAND 스트링의 불량 여부를 출력하는 페이지 버퍼/센스 회로(170); 및 복수의 페이지 버퍼/센스 회로(170)에 접속되고, 선택 블록의 NAND 스트링 불량수를 검출하는 검출 회로(200);를 포함한다. 검출 회로(200)에 의해 검출된 NAND 스트링의 불량수가 일정수 이하일 때, 사용 가능한 블록으로 판정하고, 불량수가 일정수를 넘을 때, 배드 블록으로 판정한다.

Description

반도체 메모리 장치, 그 소거 방법 및 프로그램 방법{SEMICONDUCTOR MEMORY DEVICE, ERASING METHOD AND PROGRAMMING METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 특히 NAND형 플래시 메모리의 프로그램 및 소거에 관한 것이다.
플래시 메모리의 프로그램에서는 플로팅 게이트에 전자를 축적시키고, 메모리 셀의 문턱값 전압을 정(양)의 방향으로 시프트시키고, 소거에서는 플로팅 게이트로부터 전자를 방출시키며, 메모리 셀의 문턱값 전압을 부(음)의 방향으로 시프트시킨다. 이러한 프로그램 및 소거는 메모리 셀의 문턱값이 "0", "1"의 분포폭 내에 들어가도록 제어되어야 하며, 프로그램(program) 베리파이(verify) 및 소거(erase) 베리파이에 의해 프로그램 및 소거의 합격 여부의 판정이 이루어진다(특허 문헌 1).
[특허문헌1] 일본특허공개 2014-78308호 공보
도 1은 종래 플래시 메모리의 소거 동작의 플로우이다. 선택 블록에 소거 펄스가 인가되고(S10), 이어서, 선택 블록의 소거 베리파이가 수행된다(S20). 소거 베리파이에서는 선택 블록의 모든 워드 라인에 베리파이 전압이 인가되고, 모든 비트 라인의 합격 여부가 판정된다. 통상, 소거 베리파이는 소비 전력을 저감하기 위해, 공통 소스 라인으로부터 선택 블록의 각 NAND 스트링에 Vcc 전압을 공급하여 독출을 수행하는 리버스 독출이다. NAND 스트링 중의 모든 메모리 셀의 문턱값이 "1"의 분포 내에 있으면, NAND 스트링은 도통되고, 비트 라인은 H레벨이며, 하나라도 메모리 셀의 문턱값이 "1"의 분포 내에 없으면, NAND 스트링은 비도통이고, 비트 라인은 L레벨이다. 이와 같이 하여, 선택 블록의 모든 비트 라인이 H레벨이면 합격으로 판정되고(S30), 소거가 종료된다. 어느 하나의 비트 라인이 L레벨이면, 불합격으로 판정되고, 소거 펄스의 인가 횟수가 NMAX에 도달하였는지 여부가 판정된다(S40). NMAX란, 소거에 허용되는 최대 소거 펄스의 인가 횟수를 의미한다. NMAX에 도달한 경우에는, 소거 실패의 스테이터스가 외부의 콘트롤러에 통지됨과 동시에, 상기 블록이 배드 블록으로서 관리된다. NMAX에 도달하지 않았다면, ISPE(Incremental Step Erase Pulse)에 따라, 전회의 소거 펄스 보다 ΔV만큼 큰 스텝 전압을 갖는 소거 펄스가 생성되고(S50), 이 소거 펄스가 선택 블록으로 인가된다.
도 2는 종래의 소거 베리파이의 판정 회로이다. 예컨대, 페이지 버퍼/센스 회로의 사이즈가 2kB일 때, 베리파이 판정 라인(VL)와 노드(N)와의 사이에, 래치 회로의 노드(SLS_0, SLS_1, SLS_2,···SLS_2048×8)에 각각 접속된 베리파이용 트랜지스터가 병렬로 접속되고, 또한 노드(N)와 GND 사이에 베리파이를 인에이블(JUDGEON이 H레벨)하기 위한 트랜지스터가 접속된다. 소거 베리파이시, 베리파이 판정 라인(VL)에는 H레벨의 전압이 공급되고, 소거 베리파이가 합격이면, 모든 비트가 H레벨이고, 모든 래치 회로의 노드(SLS_0, SLS_1, SLS_2,···SLS_2048×8)이 L레벨이 되며, 베리파이 판정 라인(VL)은 H레벨을 유지한다. 한편, 소거 베리파이가 불합격인 경우, 노드(SLS_0, SLS_1, SLS_2,···SLS_2048×8) 중 어느 하나의 노드가 H레벨이 되고, 대응되는 베리파이용 트랜지스터가 온(ON) 되며, 베리파이 판정 라인(VL)은 L레벨이 된다.
이와 같이, 종래의 소거 베리파이는 모든 NAND 스트링의 도통 여부를 검출하는 것으로, 하나라도 비도통의 NAND 스트링이 있으면, 그 블록은 배드 블록으로서 관리되게 된다. 소거 베리파이에 있어서, 불량이 될 수 있는 NAND 스트링은 메모리 셀의 제조 결함, 프로그램/소거가 반복됨에 따른 메모리 셀의 열화 등이 원인이지만, 배드 블록의 증가는 플래시 메모리의 수율을 저하시키거나, 또는 메모리 어레이의 이용 효율을 저하시킨다.
본 발명은 상기 종래의 과제를 해결하고, 수율을 향상시키며, 메모리 어레이의 이용 효율을 향상시킬 수 있는 반도체 메모리 장치를 제공하는 것을 목적으로 한다.
본 발명에 따른 반도체 메모리 장치의 소거 방법은, 선택 블록에 소거 펄스를 인가하는 스텝, 선택 블록의 소거 베리파이가 불합격이고, 또한 소거 펄스의 인가 횟수가 미리 정해진 횟수에 도달한 경우에는, 선택 블록의 NAND 스트링 불량수를 검출하는 스텝; 및 검출된 NAND 스트링의 불량수가 일정수 이하일 때, 상기 선택 블록을 사용 가능한 상태로 소거를 종료하고, 불량수가 일정수를 넘을 때, 상기 선택 블록을 사용 불가능한 배드 블록으로서 관리하는 스텝;을 갖는다.
바람직하게는, 상기 일정수는 에러 검출·정정에 의해 구제 가능한 비트수 이하이다.
본 발명에 따른 반도체 메모리 장치의 프로그램 방법은, 선택 블록의 NAND 스트링 불량수를 검출하는 스텝; 검출된 NAND 스트링의 불량수에 기초하여, 프로그램 베리파이에서 허용 가능한 불합격 비트수를 결정하는 스텝; 선택 블록의 선택 페이지에 프로그램 펄스를 인가하는 스텝; 및 상기 허용 가능한 불합격 비트수에 기초하여 선택 페이지의 프로그램 베리파이를 수행하는 스텝;을 갖는다.
바람직하게는, 상기 허용 가능한 불합격 비트수는 에러 검출·정정에 의해 구제 가능한 비트수 이하이다. 바람직하게는, 상기 허용 가능한 불합격 비트수는 NAND 스트링의 불량수 증가에 따라 감산된다. 바람직하게는, 상기 프로그램 베리파이는 선택 페이지의 프로그램 불량 비트수가 상기 허용 가능한 불합격 비트수 이하일 때 의사(擬似) 합격으로 판정한다. 바람직하게는, NAND 스트링 불량수를 검출하는 스텝은 선택 블록의 공통 소스 라인으로부터 NAND 스트링으로 전압을 인가하여 독출을 수행하는 리버스 독출 스텝을 포함한다. 바람직하게는, 프로그램 방법은 프로그래밍해야 할 데이터의 에러 검출·정정 처리를 수행하는 스텝을 포함하고, NAND 스트링의 불량에 의한 에러는 데이터 독출시에 상기 에러 검출·정정 처리에 의해 정정된다.
본 발명에 따른 반도체 메모리 장치는, 복수의 NAND 스트링을 포함하는 메모리 어레이; 비트 라인을 통해 상기 메모리 어레이의 NAND 스트링에 접속되고, NAND 스트링의 불량 여부를 출력하는 출력 회로; 및 복수의 상기 출력 회로에 접속되고, 선택 블록의 NAND 스트링 불량수를 검출하는 검출 회로;를 포함한다.
바람직하게는, 상기 검출 회로는 상기 복수의 출력 회로의 NAND 스트링의 불량 여부에 따른 검출 전압을 생성하는 제1 회로; 기준 전압을 생성하는 제2 회로; 및 상기 검출 전압과 상기 기준 전압을 비교하는 비교 회로;를 포함하고, 상기 비교 회로는 상기 복수의 출력 회로에 접속된 NAND 스트링 불량수를 검출한다. 바람직하게는, 반도체 메모리 장치는 또한, 선택 블록의 공통 소스 라인으로부터 NAND 스트링으로 전압을 인가하고, 선택 블록의 전(全) 페이지로 베리파이 전압을 인가함으로써, 선택 블록의 복수의 NAND 스트링의 리버스 독출을 수행하는 수단을 포함하고, 상기 출력 회로는 상기 리버스 독출 수단의 독출 결과에 기초하여 NAND 스트링의 불량 여부를 출력한다. 바람직하게는, 반도체 메모리 장치는 또한, 선택 블록을 소거하는 소거 수단을 포함하고, 상기 소거 수단은 선택 블록의 소거 베리파이가 불합격이고, 또한 소거 펄스의 인가 횟수가 미리 정해진 횟수에 도달한 경우에 있어서, 상기 검출 회로에 의해 검출된 NAND 스트링의 불량수가 일정수 이하일 때, 상기 선택 블록을 사용 가능한 상태로 소거를 종료하고, 불량수가 일정수를 넘을 때, 상기 선택 블록을 사용 불가능한 배드 블록으로서 관리한다. 바람직하게는, 반도체 메모리 장치는 또한, 선택 블록의 선택 페이지를 프로그래밍할 프로그램 수단을 포함하고, 상기 프로그램 수단은 상기 검출 회로에 의해 검출된 NAND 스트링의 불량수에 기초하여 설정된 허용 가능한 불합격 비트수에 기초하여 선택 페이지의 프로그램 베리파이를 수행한다. 바람직하게는, 반도체 메모리 장치는 또한, 프로그래밍해야 할 데이터 및 상기 메모리 어레이 독출된 데이터의 에러 검출·정정을 수행하는 회로를 포함하고, 상기 불합격 비트수는 상기 에러 검출·정정을 수행하는 회로에 의해 구제 가능한 비트수 이하이다. 바람직하게는, 상기 출력 회로는 페이지 버퍼/센스 회로를 포함한다.
본 발명에 의하면, 선택 블록의 NAND 스트링 불량수를 검출함으로써, 일정수 이하의 NAND 스트링의 불량을 포함하는 블록을 사용 가능하게 할 수 있다. 또한 본 발명에 의하면, 검출된 NAND 스트링의 불량수에 따라 프로그램 베리파이시에 의사 합격으로 판정하는 불합격 비트수를 결정함으로써, NAND 스트링의 소거 불량에 따른 데이터의 에러를, 프로그램시의 프로그램 불량으로부터 제외하고, 의사 합격의 판정 정밀도를 유지하면서, 일부 NAND 스트링의 불량이 포함된 블록으로의 프로그램이 가능해진다.
도 1은 종래의 플래시 메모리의 소거 동작을 설명하는 흐름도이다.
도 2는 종래의 소거 베리파이의 판정 회로를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 NAND형 플래시 메모리 전체의 개략 구성을 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 메모리 셀 어레이의 NAND 스트링의 구성을 나타내는 회로도이다.
도 5는 본 발명의 실시예에 따른 플래시 메모리의 동작시에 각 부에 인가되는 전압의 일예를 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른 프로그램 동작시의 레귤러 영역의 ECC 처리를 설명하는 도면이다.
도 7은 본 발명의 실시예에 따른 프로그램 동작시의 스페어 영역의 ECC 처리를 설명하는 도면이다.
도 8은 본 발명의 실시예에 따른 의사 합격을 판정하는 판정 회로와 페이지 버퍼/센스 회로와의 접속 관계를 나타내는 도면이다.
도 9는 본 발명의 실시예에 따른 판정 회로와 페이지 버퍼/센스 회로의 구성을 나타내는 도면이다.
도 10은 본 발명의 실시예에 따른 판정 회로에 대해 의사 합격 판정시의 각 부의 전류값을 나타내는 테이블이다.
도 11은 본 발명의 실시예에 따른 소거 동작을 설명하는 흐름도이다.
도 12는 본 발명의 실시예에 따른 프로그램 동작을 설명하는 흐름도이다.
도 13은 본 발명의 실시예에 따른 프로그램 동작을 설명하는 흐름도이다.
도 14는 제1 방법에 의해 NAND 스트링 불량수를 검출할 때의 각 노드의 논리를 나타낸 테이블이다.
도 15는 제2 방법에 의해 NAND 스트링 불량수를 검출할 때의 각 노드의 논리를 나타낸 테이블이다.
이어서, 본 발명의 실시의 형태에 대해 도면을 참조하면서 상세하게 설명한다. 여기서는 바람직한 형태로서 NAND형 플래시 메모리를 예시한다. 또한 도면은 이해를 돕기 위해 각 부를 강조하여 도시하고 있고, 실제 디바이스의 스케일과는 다른 점에 유의해야 한다.
[실시예]
본 발명의 실시예에 따른 플래시 메모리의 전형적인 구성을 도 3에 도시한다. 단, 여기에 나타내는 플래시 메모리의 구성은 예시로서, 본 발명이 반드시 이러한 구성에 한정되는 것은 아니다. 본 실시예의 플래시 메모리(100)는, 복수의 메모리 셀이 행렬상으로 배열된 메모리 어레이(110); 외부 입출력 단자 I/O에 접속되고, 입출력 데이터를 홀딩하는 입출력 버퍼(120); 메모리 어레이(110)에 프로그래밍할 데이터나 거기로부터 독출된 데이터의 에러 검출·정정을 수행하는 ECC 회로(130); 입출력 버퍼(120)로부터의 어드레스 데이터를 받는 어드레스 레지스터(140); 입출력 버퍼(120)로부터의 커멘드 데이터나 외부로부터의 제어 신호를 수취하고, 각 부를 제어하는 제어부(150); 어드레스 레지스터(140)로부터 행 어드레스 정보(Ax)를 수취하고, 행 어드레스 정보(Ax)를 디코딩하며, 디코딩 결과에 기초하여 블록 선택 및 워드 라인 선택 등을 수행하는 워드 라인 선택 회로(160); 워드 라인 선택 회로(160)에 의해 선택된 페이지로부터 독출된 데이터를 홀딩하거나 선택된 페이지로의 기입 데이터를 홀딩하는 페이지 버퍼/센스 회로(170); 어드레스 레지스터(140)로부터 열 어드레스 정보(Ay)를 수취하고, 열 어드레스 정보(Ay)를 디코딩하며, 상기 디코딩 결과에 기초하여 페이지 버퍼/센스 회로(170) 내의 데이터 선택 등을 수행하는 열 선택 회로(180); 및 데이터의 독출, 프로그램 및 소거 등을 위해 필요한 다양한 전압(기입 전압(Vpgm), 패스 전압(Vpass), 독출 패스 전압(Vread), 소거 전압(Vers) 등)을 생성하는 내부 전압 발생 회로(190);를 포함하여 구성된다.
메모리 어레이(110)는 열 방향으로 배치된 m개의 메모리 블록(BLK(0), BLK(1),···, BLK(m-1))을 갖는다. 블록 BLK(0)에 근접하여 페이지 버퍼/센스 회로(170)가 배치된다. 하나의 메모리 블록에는, 예컨대, 도 4에 도시한 바와 같이, 복수의 메모리 셀을 직렬로 접속한 NAND 스트링 유닛(NU)이 복수 형성되고, 하나의 메모리 블록 내에 n+1개의 스트링 유닛(NU)이 행 방향으로 배열되어 있다. 스트링 유닛(NU)은 직렬로 접속된 복수의 메모리 셀((MCi)(i=0, 1,···, 31)); 일단부인 메모리 셀(MC31)의 드레인측에 접속된 선택 트랜지스터(TD); 및 타단부인 메모리 셀(MC0)의 소스측에 접속된 선택 트랜지스터(TS);를 포함하고, 선택 트랜지스터(TD)의 드레인은 비트 라인(GBL0 ~ GBLn) 중 대응되는 하나의 비트 라인에 접속되고, 선택 트랜지스터(TS)의 소스는 공통 소스 라인(SL)에 접속된다.
메모리 셀(MCi)의 컨트롤 게이트는 워드 라인(WLi)에 접속되고, 선택 트랜지스터(TD, TS)의 게이트는 워드 라인(WLi)과 평행한 선택 게이트 라인(SGD, SGS)에 접속된다. 워드 라인 선택 회로(160)는 행 어드레스 정보(Ax) 또는 변환된 어드레스 정보에 기초하여 블록을 선택할 때, 블록의 선택 게이트 라인(SGS, SGD)을 통해 선택 트랜지스터(TD, TS)를 선택적으로 구동한다. 도 4는 전형적인 스트링 유닛의 구성을 나타내고 있지만, 스트링 유닛은 NAND 스트링 내에 1개 또는 복수의 더미 셀을 포함할 수도 있다.
메모리 셀은 전형적으로 P웰 내에 형성된 N형 확산 영역인 소스/드레인; 소스/드레인간의 채널 상에 형성된 터널 산화막; 터널 산화막 상에 형성된 플로팅 게이트(전하 축적층); 및 플로팅 게이트 상에 유전체막을 통해 형성된 컨트롤 게이트를 포함하는 MOS 구조를 갖는다. 플로팅 게이트에 전하가 축적되어 있지 않을 때, 즉 데이터 "1"이 기입되어 있을 때, 문턱값은 부(음)의 상태에 있고, 메모리 셀은 노멀리 온(normally on)이다. 플로팅 게이트에 전하가 축적되었을 때, 즉 데이터 "0"이 기입되어 있을 때, 문턱값은 정(양)으로 시프트되고, 메모리 셀은 노멀리 오프(normally off)이다. 단, 메모리 셀은 1비트(2치 데이터)를 기억하는 SLC 타입일 수도 있고, 멀티 비트를 기억하는 MLC 타입일 수도 있다.
도 5는 플래시 메모리의 각 동작시에 인가되는 바이어스 전압의 일예를 나타내는 테이블이다. 독출 동작에서는 비트 라인에 어떤 정의 전압을 인가하고, 선택된 워드 라인에 어떤 전압(예컨대 0V)을 인가하며, 비선택 워드 라인에 패스 전압(Vpass)(예컨대, 4.5V)을 인가하고, 선택 게이트 라인(SGD, SGS)에 정의 전압(예컨대 4.5 V)을 인가하며, 비트 라인측 선택 트랜지스터(TD), 소스 라인측 선택 트랜지스터(TS)를 온으로 하고, 공통 소스 라인에 0V를 인가한다. 프로그램(기입) 동작에서는 선택된 워드 라인에 고전압의 프로그램 전압(Vpgm)(15 ~ 20V)을 인가하고, 비선택 워드 라인에 중간 전위(예컨대 10V)를 인가하며, 비트 라인측 선택 트랜지스터(TD)를 온으로 하고, 소스 라인측 선택 트랜지스터(TS)를 오프로 하며, "0" 또는 "1"의 데이터에 따른 전위를 비트 라인(GBL)에 공급한다. 소거 동작에서는 블록 내의 선택된 워드 라인에 0V를 인가하고, P웰에 고전압(예컨대 21V)을 인가하며, 플로팅 게이트의 전자를 기판에 뽑아 냄으로써, 블록 단위로 데이터를 소거한다.
프로그램 동작시에 입출력 버퍼(120)를 통해 입력 데이터(프로그래밍해야 할 데이터)(Di)가 페이지 버퍼/센스 회로(170)에 로딩되면, ECC 회로(130)는 페이지 버퍼/센스 회로(170)로부터 전송된 입력 데이터(Di)를 연산하고, 프로그램 데이터의 에러 검출 정정에 필요한 에러 정정 코드(ECC) 또는 패리티 비트를 생성한다. ECC의 연산은, 예컨대, 해밍(Hamming) 코드나 리드·솔로몬(Reed-Solomon) 등의 공지 수법에 따라 수행되고, 입력된 k비트 또는 k바이트의 입력 데이터(Di)를 p=k+q로 변환한다. "q"는 입력 데이터(Di)의 에러 검출 정정에 필요한 에러 정정 코드(ECC) 또는 패리티 비트이다. 하나의 바람직한 예에 있어서, ECC 회로(130)는 에러 정정 코드(ECC)를 페이지 버퍼/센스 회로(170)의 스페어 영역에 세팅한다. 이와 같이 하여, 페이지 버퍼/센스 회로(170)에 세팅된 입력 데이터(Di)와 에러 정정 코드(ECC)가 메모리 어레이(110)의 선택 페이지에 프로그래밍된다.
독출 동작시, 메모리 어레이(110)의 선택 페이지로부터 독출된 데이터가 페이지 버퍼/센스 회로(170)에 홀딩되면, ECC 회로(130)는 페이지 버퍼/센스 회로(170)로부터 전송된 에러 정정 코드(ECC)에 기초하여 독출 데이터의 에러 검출을 수행하고, 에러가 검출된 경우에는 정정한 데이터를 페이지 버퍼/센스 회로(170)에 세팅한다. 그리고, 페이지 버퍼/센스 회로(170)에 홀딩된 데이터가 입출력 버퍼(120)를 통해 출력된다.
도 6에, ECC 처리의 일예를 나타낸다. 제어부(150)는 입출력 버퍼(120)를 통해 프로그램 커멘드를 받으면, 프로그램을 위한 순서를 개시한다. 플래시 메모리(100)가 ×8의 외부 입출력 단자를 가질 때, 외부 입출력 단자(P-0 ~ P-7)로부터 각 I/O 버퍼(120-1 ~ 120-7)를 통해 페이지 버퍼/센스 회로(170)에 입력 데이터(Di)가 로딩된다. 페이지 버퍼/센스 회로(170)는, 예컨대 섹터 0 ~ 섹터 7의 8개의 섹터로 분할된 레귤러 영역(300)과, 스페어 0, 스페어 1, 스페어 2, 스페어 3의 4개의 섹터로 분할된 스페어 영역(310)을 갖는다.
레귤러 영역(300)의 하나의 섹터는, 예컨대, 256바이트로 구성되고, 이 경우, 레귤러 영역(300)의 8개의 섹터는 전체적으로 약 2K바이트의 프로그램 데이터를 홀딩할 수 있다. 스페어 영역(310)의 하나의 섹터는, 예컨대 16바이트로 구성되고, 이 경우, 4개의 섹터(스페어 0 ~ 스페어 3)는 전체적으로 64바이트의 데이터를 홀딩할 수 있다. 스페어 영역(310)의 하나의 섹터는, 예컨대, 불량 메모리 셀을 포함하는 배드 블록을 식별하는 정보를 기억하는 영역(311), 유저 데이터에 관한 정보를 기억하는 영역(312), 레귤러 영역(300)의 2개 섹터에 대한 에러 정정 코드(ECC)(패리티 비트)를 기억하는 영역(313, 314), 스페어 영역(310)이 ECC 연산되었을 때의 에러 정정 코드(ECC)(패리티 비트)를 기억하는 영역(315)을 갖는다. 스페어 영역(310)의 스페어 0의 영역(313, 314)은 레귤러 영역(300)의 섹터 0, 섹터 1의 에러 정정 코드(ECC)(패리티 비트)를 각각 기억하고, 스페어 영역(310)의 스페어 1의 영역(313, 314)은 레귤러 영역(300)의 섹터 2, 섹터 3의 에러 정정 코드(ECC)(패리티 비트)를 기억한다. 마찬가지로, 스페어 영역(310)의 스페어 2는 레귤러 영역(300)의 섹터 4, 섹터 5의 패리티 비트를 기억하고, 스페어 영역(310)의 스페어 3은 레귤러 영역(300)의 섹터 6, 섹터 7의 패리티 비트를 기억한다.
레귤러 영역(300)의 하나의 섹터에는 입출력 버퍼(120-0 ~ 120-7)가 할당되고, 즉, 하나의 외부 입출력 단자에는 256 비트가 할당된다(256bit×8 = 1 섹터). 열 선택 회로(180)는 프로그램 동작시에 받은 열 어드레스 정보(Ay)를 디코딩하고, 상기 디코딩 결과에 기초하여, 외부 입출력 단자(P-0 ~ P-7)에 입력된 데이터가 로딩되는 섹터를 선택한다. 도 6은 외부 입출력 단자(P-0 ~ P-7)에서 수취된 데이터가 열 어드레스 정보(Ay)에 따라 섹터 0에 로딩되는 예를 나타내고 있다.
여기에 나타내는 예에서는, ECC 회로(130)가 에러 정정 코드(ECC)를 기입하기 위한 기입 회로를 포함한다. 바람직하게는, ECC 회로(130)는 레귤러 영역(300)의 하나의 섹터와 동일한 바이트수의 데이터에 대해 ECC 연산을 행할 수 있다. 레귤러 영역(300)의 하나의 섹터가 256바이트라면, ECC 회로는 256바이트의 데이터에 대해 ECC 연산을 행하고, 예컨대, 1비트의 에러를 정정하는 에러 정정 코드(ECC)를 생성한다. 이 경우, 전체 8섹터에서는 최대 8비트의 에러를 정정할 수 있다.
ECC 회로(130)는 생성된 에러 정정 코드(ECC)를 스페어 영역(310)의 대응되는 섹터 영역(313 또는 314)에 기입한다. 도 6에 도시한 예에서는 프로그램 데이터가 레귤러 영역(300)의 섹터 0에 로딩되므로, 에러 정정 코드(ECC)는 스페어 0의 패리티를 기억하는 영역(313)에 기입된다.
도 7에, 스페어 영역(310)의 데이터의 ECC 처리를 예시한다. 레귤러 영역(300)의 각 섹터에 대해 ECC 처리가 종료되면, 이어서, 스페어 영역(310)의 각 섹터에 대해 ECC 처리가 수행된다. 스페어 영역(310)의 하나의 섹터 내에 포함되는 어느 데이터의 ECC 처리를 수행할지는 임의이지만, 본 예에서는 영역(312) 내지 영역(314)의 데이터에 대해 ECC 처리를 수행하는 것으로 한다. 그러므로, 스페어 0의 영역(312) 내지 영역(314)의 데이터가 ECC 회로(130)로 전송되고, ECC 처리에 의해 생성된 에러 정정 코드(ECC)가 ECC 회로(130)에 의해 스페어 0의 영역(315)에 기입된다. 동일한 처리가 다른 스페어 1 내지 스페어 3에 대해서도 수행된다. ECC 처리가 종료되면, 메모리 어레이(110)의 선택 페이지로의 프로그램이 개시된다.
본 실시예와 같이 ECC 회로가 온 칩 탑재된 플래시 메모리, 또는 외부 콘트롤러 등에 탑재된 ECC 기능을 이용하는 플래시 메모리에서는 프로그램 베리파이에 대해 일부 불합격 비트("0"프로그램이 불합격 메모리 셀)가 있었다 하더라도, 이를 ECC로 구제할 수 있다. 예컨대, ECC에 의해 Ncc 비트의 에러 검출·정정이 가능하다면, 이론상 최대로 Ncc 비트의 불합격 비트를 구제할 수 있다. 이러한 불합격 비트를 합격으로 판정하는 의사 합격 판정 스킴을 이용하는 경우에는, 프로그램 베리파이에 있어서, 불합격 비트수 N의 의사 합격 여부가 판정된다. 의사 합격 판정에서 허용 가능한 비트수를 Np로 하였을 때, N≤Np라면, 의사 합격으로 판정된다(또한 Np≤Ncc의 관계에 있음). 의사 합격 판정이 이루어지면, 프로그램 동작을 종료하고, 선택 페이지에는 "0"불량의 불합격 비트가 그대로 기억된다. 선택 페이지의 독출을 수행하는 경우에는, 선택 페이지에 포함되는 불합격 비트가 에러로서 검출되고, 이 데이터가 정정된다. 의사 합격의 판정 스킴을 이용함으로써, 프로그램 실패나 배드 블록을 줄여 수율을 향상시키고, 프로그램 펄스의 인가 횟수를 더욱 억제함으로써, 프로그램 디스터브를 줄일 수 있다.
이어서, 본 실시예의 의사 합격을 판정하는 판정 회로에 대해 설명한다. 도 8은 의사 합격을 판정하는 판정 회로와 페이지 버퍼/센스 회로와의 접속 관계를 나타내는 도면이다. 하나의 바람직한 실시 형태에서는, ECC 처리가 섹터 단위로 행해질 때, 하나의 판정 회로(200)는 하나의 섹터에 준비된다. 예컨대, 도 6에 도시한 바와 같이, 하나의 페이지가 8개의 섹터로 분할되고, 하나의 섹터가 256바이트로 구성될 때, 하나의 판정 회로는 하나의 섹터, 즉 256×8개의 페이지 버퍼/센스 회로(170_1, 170_2, 170_3 ~ 170_256×8)에 접속된다. 이 때문에, 하나의 페이지에는 8개의 판정 회로가 준비된다.
도 8에 도시한 바와 같이, 판정 회로(200)는 노드(N1, N2, N3)를 통해 배선(PB_UP, PB_MG, PB_DIS)에 접속되고, 이러한 배선(PB_UP, PB_MG, PB_DIS)은 256×8개의 페이지 버퍼/센스 회로(170_1 ~ 170_256×8)가 병렬이 되도록 공통 접속된다. ECC 회로(130)가 256바이트의 데이터에 대해 ECC 연산을 수행할 때, 예컨대 최대 4비트의 에러를 구제할 수 있다면, 판정 회로(200)는 최대 4비트의 불합격 비트(데이터 "0"의 프로그램 불량)를 의사 합격으로 판정하는 것이 허용된다.
다른 바람직한 실시 형태에서는, ECC 처리가 섹터 단위가 아닌, 페이지 단위로 행해지는 것일 때, 하나의 페이지에 하나의 판정 회로가 준비되도록 할 수도 있다. 이 경우, 하나의 판정 회로는 ECC 회로에 의해 구제 가능한 에러 비트의 최대값을 허용 가능한 불합격 비트로서 의사 합격 여부를 판정할 수 있다.
이어서, 판정 회로의 상세에 대해 설명하기로 한다. 도 9에, 하나의 판정 회로와 이에 접속되는 하나의 페이지 버퍼/센스 회로(170)의 구성을 나타낸다. 페이지 버퍼/센스 회로(170)는 전형적으로 전압 공급부(V1)로부터의 전압을 비트 라인에 프리차지하기 위한 트랜지스터(BLPRE), 비트 라인을 클램핑하기 위한 트랜지스터(BLCLAMP), 센스 노드(SNS)와 래치 노드(SLR)간의 전하 전송을 가능하게 하기 위한 트랜지스터(BLCD), 래치 노드(SLR)의 전위를 전압 공급부(V2)에 접속된 노드(VG)로 전송하기 위한 트랜지스터(DTG), 전압 공급부(V2)를 센스 노드(SNS)에 결합하기 위한 트랜지스터(REG)를 포함한다. 트랜지스터(DTG)는, 예컨대, 프로그램 베리파이 등에 대해 센스 노드(SNS)를 L레벨로부터 H레벨로 반전시킬 필요가 있을 때 동작되고, 또는 그 밖에도 센스 노드(SNS)를 H레벨로부터 L레벨로 반전시키는 경우에 동작된다. 페이지 버퍼/센스 회로(170)는 또한 한 쌍의 인버터를 크로스 커플링한 래치 회로를 포함하고, 래치 회로는 노드(SLR/SLS)를 등가하기 위한 트랜지스터(EQ_EN); 노드(SLR/SLS)를 데이터 라인에 결합하기 위한 트랜지스터(CSL); 노드(SLS)에 결합된 트랜지스터(Q1); 및 트랜지스터(Q1)에 직렬로 접속된 트랜지스터(Q2);를 포함한다.
페이지 버퍼/센스 회로(170)는 또한 프로그램 베리파이의 합격 여부 결과를 출력하기 위한 회로를 포함한다. 상기 회로는 배선(PB_UP)과 배선(PB_DIS) 사이에 직렬로 접속된 2개의 NMOS 트랜지스터(Q1, Q2)를 포함한다. 트랜지스터(Q1)의 게이트에는 래치 노드(SLS)가 공급되고, 트랜지스터(Q2)의 게이트에는 배선(PB_MG)이 접속된다. 배선(PB_UP)은 판정 회로(200)의 노드(N1)에 접속되고, 배선(PB_MG)은 노드(N2)에 접속되며, 배선(PB_DIS)은 노드(N3)에 접속된다. 트랜지스터(Q2)는, 후술하는 바와 같이 트랜지스터(Q5, Q8)와 동일한 사이즈(W)의 트랜지스터로 구성되고, 트랜지스터(Q2)는 트랜지스터(Q1)가 도통될 때, 기준 전류(Iref)를 흘린다. 프로그램 베리파이가 합격일 때, 래치 노드(SLS)가 L레벨이 되고, 트랜지스터(Q1)가 오프가 되며, 배선(PB_UP)으로부터 배선(PB_DIS)으로는 전류가 흐르지 않으므로, 배선(PB_UP)의 전압은 변동되지 않는다. 프로그램 베리파이가 불합격일 때, 래치 노드(SLS)가 H레벨이 되고, 트랜지스터(Q1)가 온 되며, 이 때 트랜지스터(Q2)가 기준 전류(Iref)를 흘리기 때문에, 배선(PB_UP)의 전압은 기준 전류(Iref)에 의해 강하된다.
판정 회로(200)는 전압 공급원에 접속된 PMOS 트랜지스터(Q3, Q4), 가변 저항(R1, R2), 비교기(CMP), NMOS 트랜지스터(Q5, Q6, Q7, Q8)를 포함한다. PMOS 트랜지스터(Q3, Q4)는 전류원으로서 기능하고, 가변 저항(R1, R2)은 각각 가변 저항(R1, R2)으로부터 출력되는 전압이 동일해지도록 조정된다. 즉 초기 설정으로서, 배선(PB_UP)의 전압과 기준 전압(Vref)이 동일해지도록 저항(R1, R2)이 조정된다. 가변 저항(R1)의 출력, 즉 배선(PB_UP)의 전압이 비교기(CMP)의 일방의 입력 단자(+)에 접속되고, 가변 저항(R2)의 출력, 즉 기준 전압(Vref)이 비교기(CMP)의 다른 일방의 입력 단자(-)에 접속된다. 비교기(CMP)는 2개의 입력 전압을 비교하여 H레벨 또는 L레벨의 전압을 출력한다. H레벨은 의사 합격을 나타내고, L레벨은 불합격을 나타낸다.
트랜지스터(Q5)는 정전류원에 접속되고, 기준 전류(Iref)를 흘린다. 트랜지스터(Q5)의 게이트는 노드(N2), 즉 배선(PB_MG)에 접속된다. 트랜지스터(Q6)는 가변 저항(R2)에 직렬로 접속되고, 그 게이트는 노드(N2)에 접속된다. 트랜지스터(Q6)와 GND와의 사이에 트랜지스터(Q7)가 직렬로 접속되고, 트랜지스터(Q7)의 게이트에는 JUDGEON 신호가 공급된다. 프로그램 베리파이가 수행될 때 JUDGEON 신호가 H레벨로 구동되고, 트랜지스터(Q7)는 도통 상태가 된다. 트랜지스터(Q6)와 트랜지스터(Q7)와의 접속 노드는 노드(N3), 즉 배선(PB_DIS)에 접속된다. 여기서, 트랜지스터(Q6)의 사이즈(W/2)는 트랜지스터(Q5, Q2)의 사이즈(W)의 절반이며, 따라서, 트랜지스터(Q6)는 트랜지스터(Q7)가 온 되었을 때, 1/2의 Iref를 흘린다.
트랜지스터(Q8)는 판정 회로(200)에 의해 의사 합격 여부를 판정하는 불합격 비트수(N)에 따라 설치된다. 판정 회로(200)에 의해 의사 합격 여부를 판정하는 불합격 비트수가 0비트인 경우, 트랜지스터(Q8)는 사실상 불필요하거나, 또는 설치되어 있었다고 하더라도, 트랜지스터(Q8)의 동작은 디스에이블된다(N=0). 1비트의 불합격 비트의 의사 합격 여부를 판정한다면, 트랜지스터(Q8)는 1개 필요하고(N=1), 2비트의 불합격 비트의 의사 합격 여부를 판정한다면, 병렬 접속된 트랜지스터(Q8)는 2개 필요하다(N=2). 판정 회로(200)에 의해 의사 합격 여부를 판정할 수 있는 불합격 비트수의 최대값은, ECC 회로(130)에 의해 구제되는 비트수의 최대값이다.
도 9에는, 하나의 트랜지스터(Q8)가 예시되고 있지만, 트랜지스터(Q8)는 상기한 바와 같이 의사 합격 여부를 판정하는 불합격 비트의 수(N)에 따라 설치된다. 트랜지스터(Q8)는 기준 전압(Vref)과 배선(PB_DIS) 사이에 접속되고, 그 게이트는 배선(PB_MG)에 접속된다. 트랜지스터(Q8)의 사이즈(W)는 트랜지스터(Q5, Q2)와 동일한 사이즈(W)이며, 트랜지스터(Q8)는 트랜지스터(Q7)가 도통될 때, 기준 전류(Iref)를 흘린다.
트랜지스터(Q8)는 의사 합격 여부를 판정하는 불합격 비트의 수(N)에 따라 준비되는데, N의 수에 따라 트랜지스터(Q8)를 접속하고, 그러한 트랜지스터(Q8)를 모두 동작하게 할 수도 있고, 또는 접속된 복수의 트랜지스터(Q8) 중에서 동작되는 트랜지스터(Q8)의 수를 임의로 선택하게 할 수도 있다. 도 10의 (B)는 접속된 트랜지스터(Q8) 중에서 동작되는 트랜지스터(Q8)의 수를 선택하는 방법의 일예를 나타내고 있다. 기준 전압(Vref)과 배선(PB_DIS) 사이에 트랜지스터(Q8_1)와 트랜지스터(Q10)가 직렬로 접속되고, 또한 이들 트랜지스터와 병렬로 트랜지스터(Q8_2)와 트랜지스터(Q11)가 직렬로 접속된다. 트랜지스터(Q10, Q11)의 게이트에는 인에이블 신호(EN_1, EN_2)가 공급되고, 인에이블 신호(EN_1, EN_2)를 H레벨로 구동했을 때, 트랜지스터(Q8_1, Q8_2)가 기준 전류(Iref)를 흘리도록 동작된다. 인에이블 신호(EN_1 또는 EN_2) 중 하나를 L레벨로 함으로써 하나의 트랜지스터(Q8)가 기준 전류(Iref)를 흘리도록 동작되고, 인에이블 신호(EN_1, EN_2)를 모두 L레벨로 함으로써 2개의 트랜지스터(Q8_1, Q8_2)가 비동작이 된다. 인에이블 신호(EN_1, EN_2)는, 예컨대 제어부(150)로부터의 제어 신호에 응답하여 구동된다. 여기서는 트랜지스터(Q10, Q11)를 스위칭시킴으로써 트랜지스터(Q8_1, Q8_2)의 선택을 가능하게 하였지만, 트랜지스터(Q10, Q11)를, 예컨대 퓨즈로 대체하는 것 보다 항구적으로 선택되는 트랜지스터(Q8)를 고정하는 것도 가능하다.
이어서, 판정 회로(200)의 동작에 대해 설명한다. 도 10의 (A)는, 판정 회로가 0비트, 1비트, 또는 2비트의 불합격 비트의 의사 합격을 판정할 때의 각 부의 전류값 및 전류값의 차분을 나타낸 테이블이다.
(1) 0비트의 불합격 비트를 판정하는 경우:
먼저, 0비트의 불합격 비트의 판정에 대해 설명한다. 이것은 모든 비트의 프로그램의 성공 여부를 판정하는 것이고, 이 경우에는 트랜지스터(Q8)가 완전히 불필요하거나, 또는 트랜지스터(Q8)가 디스에이블이다(N=0). 프로그램 베리파이는 선택 워드 라인에 베리파이 전압을 인가하는 이외에는, 통상의 독출 동작과 같고, 모든 비트의 프로그램이 성공한 경우에는, 선택 메모리 셀이 비도통이며, 모든 비트 라인의 전위는 방전되지 않고, 프리차지된 전위이다. 이 때문에, 래치 노드(SLS)는 L레벨이고, 트랜지스터(Q1)는 오프이며, 배선(PB_UP) 전압은 변동되지 않는다. 또한, 베리파이시에 JUDGEON 신호가 H레벨로 구동되고, 트랜지스터(Q7)가 온 되며, 배선(PB_DIS)이 GND 레벨이 된다. 이 때, 트랜지스터(Q6)는 1/2 Iref의 전류를 흘리기 때문에, 기준 전압(Vref)은 1/2 Iref의 전압 강하에 따른 값이 된다. 그 결과, 배선(PB_UP)의 전압이 기준 전압(Vref) 보다 1/2 Iref 만큼 높아지므로, 비교기(CMP)는 H레벨의 신호, 즉 합격을 출력한다.
한편, 1비트의 불합격 비트가 있을 때, 하나의 페이지 버퍼/센스 회로(170)의 래치 노드(SLS)가 H레벨이 되고, 트랜지스터(Q1)가 온 되며, 트랜지스터(Q2)가 Iref의 전류를 흘린다. 이 때문에, 배선(PB_UP)의 전압은 Iref 만큼 강하한 값이 된다. 그 결과, 배선(PB_UP) 전압은 기준 전압(Vref) 보다 1/2 Iref 만큼 작아지기 때문에, 비교기(CMP)는 L레벨의 신호, 즉 불합격을 출력한다.
(2) 1비트의 불합격 비트를 판정하는 경우:
1비트의 불합격 비트를 판정하는 경우(N=1), 하나의 트랜지스터(Q8)가 동작 가능한 상태에 놓여진다. 예컨대, 도 10의 (B)에 있어서, EN-1이 H레벨, EN-2가 L레벨로 구동된다. 상기한 바와 같이, 모든 비트의 프로그램이 성공한 경우에는, 트랜지스터(Q1)가 오프이고, 배선(PB_UP) 전압은 변동되지 않으며, 1비트의 불합격 비트가 있는 경우에는, 하나의 페이지 버퍼/센스 회로의 트랜지스터(Q1)가 온 되고, 배선(PB_UP) 전압은 Iref 만큼 강하된다. JUDGEON 신호가 H레벨로 구동되고, 트랜지스터(Q7)가 온 되며, 배선(PB_DIS)이 GND 레벨이 되면, 트랜지스터(Q6)가 1/2 Iref의 전류를 흘리고, 또한 트랜지스터(Q8)가 Iref의 전류를 흘린다. 이 때문에, 기준 전압(Vref)은 1/2Iref+Iref 만큼 강하된 값이 된다. 그 결과, 배선(PB_UP) 전압이 기준 전압(Vref) 보다 높아지고, 비교기(CMP)는 H레벨을 출력한다.
한편, 2비트의 불합격 비트가 있는 경우에는, 2개의 페이지 버퍼/센스 회로의 트랜지스터(Q1)가 온 되고, 배선(PB_UP) 전압은 2×Iref 만큼 강하된다. 이 때문에, 배선(PB_UP) 전압은 기준 전압(Vref) 보다 작아지고, 비교기(CMP)는 L레벨을 출력한다.
(3) 2비트의 불합격 비트를 판정하는 경우:
2비트의 불합격 비트를 판정하는 경우(N=2), 2개의 트랜지스터(Q8)가 동작 가능한 상태에 놓여진다. 예컨대, 도 10의 (B)에 있어서, EN_1이 H레벨, EN_2가 H레벨로 구동된다. 상기한 바와 같이, 2비트의 불합격 비트가 있는 경우에는, 2개의 페이지 버퍼/센스 회로의 트랜지스터(Q1)가 온 되고, 배선(PB_UP) 전압은 2×Iref 만큼 강하된다. JUDGEON 신호가 H레벨로 구동되고, 트랜지스터(Q7)가 온 되며, 배선(PB_DIS)이 GND 레벨이 되면, 트랜지스터(Q6)가 1/2 Iref의 전류를 흘리고, 또한 2개의 트랜지스터(Q8)가 2×Iref의 전류를 흘린다. 이 때문에, 기준 전압(Vref)는 1/2Iref+2×Iref 만큼 강하된 값이 된다. 그 결과, 배선(PB_UP) 전압이 기준 전압(Vref) 보다 높아지고, 비교기(CMP)는 H레벨을 출력한다.
한편, 3비트의 불합격 비트가 있는 경우에는, 3개의 페이지 버퍼/센스 회로의 트랜지스터(Q1)가 온 되고, 배선(PB_UP)의 전압은 3×Iref 만큼 강하된다. 이 때문에, 배선(PB_UP) 전압은 기준 전압(Vref) 보다 작아지고, 비교기(CMP)는 L레벨을 출력한다.
이와 같이, 판정 회로는 불합격 비트수에 따른 기준 전류에 의해 생성되는 전압과, 불합격 비트수에 따른 기준 전류+1/2 기준 전류에 의해 생성된 기준 전압을 비교함으로써, 불합격 비트의 의사 합격 판정을 수행할 수 있다.
의사 합격의 판정 스킴에 이용되는 판정 회로(200)는 선택 블록의 NAND 스트링의 불량수(Ns)를 검출하는 검출 회로로도 사용할 수 있다. NAND 스트링의 불량수(Ns)는, 예컨대, 선택 블록의 소거 동작시에 검출되거나, 또는 선택 블록의 선택 페이지로의 프로그램 동작시에 검출된다. 예컨대, 종래의 선택 블록의 소거는 선택 블록의 모든 NAND 스트링이 합격되는 것을 전제로 한다. 즉, 선택 블록 내의 모든 워드 라인에 소거 베리파이 전압을 인가하고, 공통 소스 라인으로부터 NAND 스트링에 Vcc를 공급함으로써 리버스 독출을 수행하고, 모든 비트 라인의 센스 노드가 Vcc 또는 H레벨이면, 소거 베리파이는 합격이고, 비트 라인의 하나라도 0V 또는 L레벨이면, 소거 베리파이는 불합격이다.
한편, 본 실시예에서는 판정 회로(200)에 의해 선택 블록 내의 NAND 스트링의 불량수(Ns)를 검출하고, 불량수(Ns)가 일정수 이하이면, 상기 블록을 배드 블록으로서 사용 불가로 하는 것이 아니라, 그대로 프로그램 가능한 블록으로서 사용 가능하게 한다.
도 11에, 본 실시예의 소거 동작의 플로우를 나타낸다. 스텝 S10 ~ S50까지의 플로우는 도 1에 나타내는 플로우와 동일하다. 소거 펄스의 인가 횟수가 소거에 허용되는 최대 소거 펄스 인가 횟수인 NMAX에 도달하였는지 여부가 판정되고(S40), 도달한 경우에는, 또한 NAND 스트링의 불량수(Ns)가 일정수 이하인지 여부가 판정된다(S60). 일정수는 ECC 회로(130)에 의해 구제 가능한 비트수(Ncc) 또는 의사 합격으로 판정할 수 있는 최대 비트수(Np)에 기초하여 결정되고, 예컨대, 일정수≤Np≤Ncc의 관계이다. 스트링의 불량수(Ns)가 일정수 이하인 경우에는, 소거 동작을 종료하고, 즉, 이 블록은 그 후에도 계속적으로 사용된다. 한편, 스트링 불량수(Ns)가 일정수를 넘는 경우에는, 소거 실패의 스테이터스가 외부의 콘트롤러로 통지됨과 더불어, 상기 블록이 사용 불가인 배드 블록으로서 관리된다(S70).
이어서, NAND 스트링의 불량수(Ns) 검출 방법에 대해 설명한다. NAND 스트링의 불량수 검출은 도 9에 도시한 페이지 버퍼/센스 회로(170)와 그것에 접속된 판정 회로(200)에 의해 수행된다. 판정 회로(200)에는, 예컨대, 도 10의 (B)에 도시한 바와 같이 2개의 트랜지스터(Q8)가 접속되고, 그것에 직렬로 선택용 트랜지스터(Q10, Q11)가 접속되어 있는 것으로 한다.
(1) 0비트의 스트링 불량의 검출:
제어부(150)에 의해 인에이블 신호(EN_1, EN_2)가 L레벨로 구동되고, 트랜지스터(Q8_1, Q8_2)가 동작 불능 상태에 있다. 여기서, 선택 블록의 리버스 독출이 수행된다. 모든 NAND 스트링의 소거가 성공이라면(모든 메모리 셀의 문턱값 분포가 "0"), 모든 페이지 버퍼/센스 회로(170)의 센스 노드(SNS)는 H레벨이고, 트랜지스터(Q1)가 오프되며, 비교기(CMP)는 H레벨을 출력한다. 이 출력은 선택 블록의 소거에 있어서 스트링 불량수(Ns)가 제로인 것을 나타낸다. 한편, 1비트의 NAND 스트링의 소거가 불량이라면(메모리 셀의 문턱값 분포가 "1"이 아님), 하나의 페이지 버퍼/센스 회로(170)의 센스 노드(SNS)가 L레벨이고, 트랜지스터(Q1)가 온 되며, 배선(PB_UP) 전압이 기준 전압(Vref) 보다 1/2 Iref 만큼 낮아지고, 비교기(CMP)는 L레벨을 출력한다. 이 출력은 선택 블록의 소거에 있어서 스트링 불량수(Ns)가 1비트인 것을 나타낸다.
(2) 1비트의 스트링 불량의 검출:
제어부(150)에 의해 인에이블 신호(EN_1 또는 EN_2) 중 하나가 H레벨로 구동되고, 트랜지스터(Q8_1 또는 Q8_2) 중 하나가 동작 가능한 상태에 있다. 리버스 독출에서, 1비트의 NAND 스트링 불량이 있을 때, 비교기(CMP)는 H레벨을 출력하고, 2비트의 스트링 불량이 있을 때, 비교기(CMP)는 L레벨을 출력한다.
(3) 2비트의 스트링 불량의 검출:
제어부(150)에 의해 인에이블 신호(EN_1 및 EN_2)가 모두 H레벨로 구동되고, 트랜지스터(Q8_1 및 Q8_2)가 모두 동작 가능한 상태에 있다. 리버스 독출에서, 2비트의 NAND 스트링 불량이 있을 때, 비교기(CMP)는 H레벨을 출력하고, 3비트의 스트링 불량이 있을 때, 비교기(CMP)는 L레벨을 출력한다.
이어서, 본 실시예의 프로그램 동작에 대해 설명한다. 본 실시예의 프로그램 동작은 프로그램을 수행하기 전에, NAND 스트링의 불량수(Ns)를 검출하고, 검출된 불량수(Ns)에 기초하여 의사 합격을 판정하는 불합격 비트수(N)를 결정한다. 선택 블록을 소거했을 때, 소거 불량의 NAND 스트링은 데이터 "0"의 메모리 셀을 포함하게 된다. 이러한 선택 블록을 사용하여 프로그램을 수행하는 경우, 입력 데이터(Di)가 "0" 또는 "1"에 관계없이, 프로그램 베리파이에서는 NAND 스트링 불량의 비트 라인이 합격으로 판정되게 되어, 입력 데이터(Di)가 바르게 프로그램되었는지 여부를 보증할 수 없다. 이 때문에, NAND 스트링의 불량이 포함되는 경우에는, 그 불량수(Ns) 만큼 의사 합격으로 판정하는 불합격 비트수를 줄여야 한다.
도 12, 도 13은, 본 실시예의 프로그램 동작을 설명하는 흐름도이다. 제어부(150)는 입출력 버퍼(120)를 통해 프로그램 커멘드, 어드레스 정보, 데이터(Di)를 수취하면, 프로그램을 위한 시퀀스를 개시한다. 입력 데이터(Di)가 페이지 버퍼/센스 회로(170)에 로딩되고, 이어서, ECC 회로(130)에 의해 입력 데이터(Di)의 ECC 처리가 수행된다(S100).
ECC 처리가 종료되면, 프로그램 수행 전에, 선택 블록의 NAND 스트링의 불량수(Ns)를 검출한다. 먼저, 도 9에 도시한 페이지 버퍼/센스 회로(170)에 의해 섹터 단위로 리버스 독출이 수행된다(S110). 도 14, 도 15는, NAND 스트링에 불량이 있는 경우와, 없는 경우의 각각에 있어서 데이터 "0", "1"이 입력될 때의 각 노드의 논리값을 나타낸 표이다.
프로그래밍해야 할 데이터(Di)가 래치 회로에 로딩되었을 때, 래치 노드(SLR)는 입력 데이터에 따른 논리 레벨이다. 이어서, 트랜지스터(DTG)가 일정 기간 온 되고, 래치 노드(SLR)의 전하가 노드(VG)로 전송되어 거기에 홀딩된다. 즉, 노드(VG)는 리버스 독출 동안 프로그래밍해야 할 데이터를 일시적으로 홀딩한다. 이어서, 리버스 독출이 수행된다(S110). 리버스 독출은 선택 블록에 접속된 공통 소스 라인으로부터 NAND 스트링에 대해, 예컨대 Vcc 전압을 공급한다. NAND 스트링에 불량이 없으면, 그것을 구성하는 메모리 셀의 문턱값은 "1"이고, NAND 스트링이 도통되며, 센스 노드(SNS)가 H레벨이 된다. 한편, NAND 스트링에 불량이 있으면, 그것을 구성하는 적어도 하나의 메모리 셀의 문턱값은 "1"은 아니기 때문에, NAND 스트링이 비도통이 되고, 센스 노드(SNS)가 L레벨이 된다. 이어서, 트랜지스터(BLCD)가 일정 기간 온 되고, 센스 노드(SNS)의 전하가 래치 노드(SLR)로 전송된다(S112). 래치 노드(SLR)가 H레벨일 때, 래치 노드(SLS)가 L레벨이 되고, 트랜지스터(Q1)가 오프되며, 반대로, 래치 노드(SLR)가 L레벨일 때, 래치 노드(SLS)가 H레벨이 되고, 트랜지스터(Q1)가 온 된다.
여기서, 판정 회로(200)가, 예컨대, 최대 2비트의 불합격 비트의 의사 합격을 판정한다고 하였을 때, 상기한 바와 같이, 판정 회로(200)에는, 도 10의 (B)에 도시한 바와 같이 2개의 트랜지스터(Q8_1, Q8_2)가 접속된다. 제어부(150)는 인에이블 신호(EN_1, EN_2)에 의해 2개의 트랜지스터(Q8_1, Q8_2)를 동작 가능 상태로 하고, NAND 스트링의 불량수(Ns)가 2비트인지 여부를 판정한다(S114). 비교기(CMP)의 출력이 L레벨이면(S120), 스트링의 불량수(Ns)는 3비트이고, 이 경우, 제어부(150)는 의사 합격의 불합격 비트수를 0비트(N=0)로 설정한다(S122). 즉, 인에이블 신호(EN_1, EN_2)를 모두 L레벨로 구동하고, 트랜지스터(Q8_1, Q8_2)를 동작 불능 상태로 한다(S122). 따라서, 프로그램 베리파이에서는 선택 페이지의 모든 비트의 합격 여부가 판정된다.
비교기(CMP)의 출력이 H레벨이면, 스트링의 불량수(Ns)는 2비트 이하이고, 이 경우에는 다음에 스트링 불량수(Ns)가 1비트인지 여부가 판정된다(S130). 제어부(150)는 트랜지스터(Q8_1, Q8_2)의 어느 하나를 동작 가능 상태로 하고, 1비트인지 여부를 판정한다. 비교기(CMP)의 출력이 L레벨이면(S132), 스트링의 불량수(Ns)는 2비트이고, 이 경우에도, 제어부(150)는 의사 합격의 불합격 비트수를 0비트(N=0)로 설정한다(S134).
비교기(CMP)의 출력이 H레벨이면, 스트링의 불량수(Ns)는 1비트 이하이고, 이 경우에는 다음에 스트링의 불량수(Ns)가 0비트인지 여부가 판정된다(S140). 제어부(150)는 트랜지스터(Q8_1, Q8_2)를 모두 동작 불능 상태로 하고, 0비트인지 여부를 판정한다. 비교기(CMP)의 출력이 L레벨이면(S142), 스트링의 불량수(Ns)는 1비트이고, 이 경우, 제어부(150)는 의사 합격의 불합격 비트수를 1비트(N=1)로 설정한다(S144). 즉, 트랜지스터(Q8_1, Q8_2)의 어느 하나가 동작 가능 상태가 되도록 인에이블 신호(EN_1, EN_2) 중 하나를 H레벨로 세팅한다.
비교기(CMP)의 출력이 H레벨이면, 스트링의 불량수(Ns)는 0비트이고, 이 경우, 제어부(150)는 의사 합격의 불합격 비트수를 2비트(N=2)로 설정한다(S146). 즉, 트랜지스터(Q8_1, Q8_2)가 모두 동작 가능 상태가 되도록 인에이블 신호(EN_1, EN_2)가 모두 H레벨로 세팅된다.
NAND 스트링의 불량수(Ns)에 따른 의사 합격의 불합격 비트수(N) 세트가 종료되면, 이어서, 노드(VG)에 홀딩된 데이터가 래치 노드(SLR)로 복원된다. 먼저, 전압 공급부(V1)를 GND로 하고, 또한 트랜지스터(BLPRE)를 일정 기간 온 상태로 함으로써, 센스 노드(SNS)를 GND로 한 후(S150), 전압 공급부(V2)를 0V로부터 Vdd로 하고, 트랜지스터(REG)를 일정 기간 온으로 한다. 노드(VG)가 H레벨일 때, 전압 공급부(V2)가 Vdd로 천이되면 부트스트랩에 의해 노드(VG)의 전위가 더욱 승압되고, 대응되는 트랜지스터가 강하게 온 되며, 센스 노드(SNS)가 H레벨로 충전된다(S152). 한편, 노드(VG)가 L레벨인 경우에는, 대응하는 트랜지스터가 온 되지 않으므로, 센스 노드(SNS)는 L레벨인 상태이다. 이어서, 센스 노드(SNS)의 전하가 래치 노드(SLR)로 전송되고, 입력 데이터가 복원되며(S154), 그 후, 프로그램 동작이 개시된다.
입력 데이터의 복원이 종료되면, 이어서, 입력 데이터에 따라 프로그램이 개시된다. 도 13에 도시한 바와 같이, 워드 라인 선택 회로(160)에 의해 선택 블록의 워드 라인이 선택되고, 센스 회로는 입력 데이터에 따른 전압을 비트 라인에 인가하고, 선택 페이지에 프로그램 펄스가 인가된다(S200). 이어서, 프로그램 베리파이가 수행된다(S210). 베리파이 결과, 선택 페이지의 모든 비트가 합격이면, 프로그램이 종료된다(S220). 한편, 모든 비트가 합격되지 않은 경우에는, 제어부(150)는 프로그램 펄스의 인가 횟수가 최적 횟수(Nop)에 도달하였는지 여부를 판정한다(S230). 여기서, 최적 횟수(Nop)란, 프로그램에 대해 허용되는 프로그램 펄스의 최대 인가 횟수(NMAX) 보다 작은 값이고, 바람직하게는, 메모리 셀을 프로그램 불합격으로 판정하는 경우, 최소한으로 인가되어야 할 프로그램 펄스의 횟수이다. 예컨대, 프로그램에 허용되는 최대 시간이 700μs이고, 1회의 프로그램 펄스의 인가에 필요한 시간이 50μs이라고 하였을 때, NMAX=700μs, 또는 NMAX=14회이다. 최적 횟수(Nop)는 전형적인 메모리 셀의 프로그램 합격시의 프로그램 펄스의 인가 횟수에 기초하여 결정할 수 있다. 예컨대, 통계적인 수법에 의해 프로그램 합격되는 메모리 셀에 인가된 프로그램 펄스의 평균 횟수(Nav)가 산출되었을 때, 최적 횟수(Nop)는 Nop=Nav로 설정할 수 있다. 이 최적 횟수(Nop)는, 예컨대, 외부의 콘트롤러로부터 수신한 커멘드 등에 의해 설정할 수 있고, 설정된 값은 제어부(150)의 레지스터 등에 홀딩된다.
제어부(150)는 프로그램 펄스의 인가 횟수가 최적 횟수(Nop)에 도달하지 않은 경우에는(S230), ISPP에 따라, 전회 보다 ΔV 만큼 큰 프로그램 펄스를 선택 페이지에 인가한다(S240). 한편, 프로그램 펄스의 인가 횟수가 최적 횟수(Nop)에 도달한 경우에는(S230), 제어부(150)는 선택 페이지가 의사 합격 여부를 판정하는 스텝을 수행한다(S250). 의사 합격으로 간주되는 불합격 비트수(N)는 상기한 바와 같이, ECC에 의해 구제할 수 있는 최대의 비트수(Ncc) 이하이고, 베리파이시의 불합격 비트수, 즉 선택 페이지에 실제로 발생한 불합격 비트수가 의사 합격의 불합격 비트수(N) 이하라면, 의사 합격으로 판정된다(S250). 의사 합격으로 판정되면 프로그램 동작이 종료되고, 선택 페이지에는 "0"불량의 불합격 비트가 그대로 기억되게 된다.
한편, 의사 합격되지 않은 것으로 판정되었을 때(S250), 제어부(150)는 프로그램 펄스의 인가 횟수가 NMAX에 도달하였는지 여부를 판정하고(S260), 도달하지 않았다면, ISPP에 따라 더욱 프로그램 펄스가 선택 페이지로 인가된다(S240, S200). 프로그램 펄스의 인가 횟수가 NMAX에 도달한 경우에는, 프로그램 실패의 스테이터스를 외부 콘트롤러에 통지하고, 상기 선택 페이지를 포함하는 블록이 배드 블록으로서 관리된다. 이 경우, 스페어 영역의 영역(311)에 배드 블록인 식별 정보가 기억된다.
여기서, 선택 블록에 NAND 스트링의 불량수(Ns)가 2비트 있을 때, 상기한 바와 같이 의사 합격에 의해 판정되는 불합격 비트수는 0비트이므로, 도 13의 플로우에 있어서, 사실상 의사 합격의 판정(S250)은 수행되지 않게 된다. NAND 스트링의 불량은 문턱값이 "1"이 아닌 메모리 셀을 포함하고, 리버스 독출에서는 불합격이 되지만, 프로그램 베리파이에서는 합격이 된다. 즉, 프로그래밍해야 할 데이터 여부에 관계없이, 불량 NAND 스트링의 프로그램 베리파이 결과는 "0"이고, 이는 합격이 되게 된다. 이 때문에, 선택 블록 내에 NAND 스트링의 불량이 포함되면, 프로그램 베리파이는 NAND 스트링의 불량수(Ns)에 따른 에러를 잠재적으로 포함하게 되고(불량 NAND 스트링으로의 프로그래밍해야 할 데이터가 "1"일 때), 프로그램 데이터와, 선택 페이지로부터 독출한 데이터 사이에는 스트링 불량수(Ns)에 따른 불일치(에러)가 발생할 가능성이 있다. 이 에러는 ECC 회로(130)에 의해 구제되어야 하고, 그 만큼, 판정 회로(200)의 의사 합격으로 판정되는 불합격 비트수로의 할당이 줄어들게 된다.
이와 같이 본 실시예에 의하면, 선택 블록의 NAND 스트링 불량수를 검출하도록 하였으므로, NAND 스트링의 불량수(Ns)가 ECC 회로에 의해 구제 가능한 비트수 이하라면, 종래에는 배드 블록으로 카운팅되었던 블록을 사용할 수 있게 되고, 메모리 어레이의 이용 효율 내지 제조 수율을 개선할 수 있다.
본 발명의 바람직한 실시의 형태에 대해 상술하였지만, 본 발명은 특정한 실시 형태에 한정되지 않으며, 특허 청구의 범위에 기재된 발명의 요지의 범위 내에서 다양한 변형·변경이 가능하다.
100 플래시 메모리
110 메모리 어레이
120 입출력 버퍼
130 ECC 회로
140 어드레스 레지스터
150 제어부
160 워드 라인 선택 회로
170 페이지 버퍼/센스 회로
180 열 선택 회로
190 내부 전압 발생 회로
200 판정 회로
210 공급 회로
300 레귤러 영역
310 스페어 영역

Claims (15)

  1. 반도체 메모리 장치의 소거 방법으로서,
    선택 블록에 소거 펄스를 인가하는 스텝;
    선택 블록의 소거 베리파이가 불합격이고, 또한 소거 펄스의 인가 횟수가 미리 정해진 횟수에 도달한 경우에는, 선택 블록의 NAND 스트링 불량수를 검출하는 스텝; 및
    검출된 NAND 스트링 불량수가 일정수 이하일 때, 상기 선택 블록을 사용 가능한 상태로 소거를 종료하고, 검출된 NAND 스트링 불량수가 일정수를 넘을 때, 상기 선택 블록을 사용 불가능한 배드 블록으로서 관리하는 스텝;을 갖는 반도체 메모리 장치의 소거 방법.
  2. 청구항 1에 있어서,
    상기 일정수는 에러 검출·정정에 의해 구제 가능한 비트수 이하인 반도체 메모리 장치의 소거 방법.
  3. 반도체 메모리 장치의 프로그램 방법으로서,
    선택 블록의 NAND 스트링 불량수를 검출하는 스텝;
    검출된 NAND 스트링 불량수에 기초하여, 프로그램 베리파이에서 허용 가능한 불합격 비트수를 결정하는 스텝;
    선택 블록의 선택 페이지에 프로그램 펄스를 인가하는 스텝; 및
    상기 허용 가능한 불합격 비트수에 기초하여 선택 페이지의 프로그램 베리파이를 수행하는 스텝;을 갖는 반도체 메모리 장치의 프로그램 방법.
  4. 청구항 3에 있어서,
    상기 허용 가능한 불합격 비트수는 에러 검출·정정에 의해 구제 가능한 비트수 이하인 반도체 메모리 장치의 프로그램 방법.
  5. 청구항 3 또는 4에 있어서,
    상기 허용 가능한 불합격 비트수는 NAND 스트링 불량수 증가에 따라 감산되는 반도체 메모리 장치의 프로그램 방법.
  6. 청구항 3에 있어서,
    상기 프로그램 베리파이는 선택 페이지의 프로그램 불량 비트수가 상기 허용 가능한 불합격 비트수 이하일 때, 의사 합격으로 판정하는 반도체 메모리 장치의 프로그램 방법.
  7. 청구항 3에 있어서,
    선택 블록의 NAND 스트링 불량수를 검출하는 스텝은, 선택 블록의 공통 소스 라인으로부터 NAND 스트링으로 전압을 인가하여 독출을 수행하는 리버스 독출 스텝을 포함하는 반도체 메모리 장치의 프로그램 방법.
  8. 청구항 3에 있어서,
    상기 프로그램 방법은 프로그래밍해야 할 데이터의 에러 검출·정정 처리를 수행하는 스텝을 포함하고,
    NAND 스트링의 불량에 의한 에러는 데이터 독출시에 상기 에러 검출·정정 처리에 의해 정정되는 반도체 메모리 장치의 프로그램 방법.
  9. 복수의 NAND 스트링을 포함하는 메모리 어레이;
    비트 라인을 통해 상기 메모리 어레이의 NAND 스트링에 접속되고, NAND 스트링의 불량 여부를 출력하는 출력 회로; 및
    복수의 상기 출력 회로에 접속되고, 선택 블록의 NAND 스트링 불량수를 검출하는 검출 회로;를 포함하는 반도체 메모리 장치.
  10. 청구항 9에 있어서,
    상기 검출 회로는 상기 복수의 출력 회로의 NAND 스트링의 불량 여부에 따른 검출 전압을 생성하는 제1 회로, 기준 전압을 생성하는 제2 회로, 및 상기 검출 전압과 상기 기준 전압을 비교하는 비교 회로를 포함하고,
    상기 비교 회로는 상기 복수의 출력 회로에 접속된 NAND 스트링 불량수를 검출하는 반도체 메모리 장치.
  11. 청구항 9 또는 10에 있어서,
    반도체 메모리 장치는, 선택 블록의 공통 소스 라인으로부터 NAND 스트링으로 전압을 인가하고, 선택 블록의 전 페이지로 베리파이 전압을 인가함으로써, 선택 블록의 복수의 NAND 스트링의 리버스 독출을 수행하는 리버스 독출 수단을 더 포함하고,
    상기 출력 회로는 상기 리버스 독출 수단의 독출 결과에 기초하여 NAND 스트링의 불량 여부를 출력하는 반도체 메모리 장치.
  12. 청구항 9에 있어서,
    반도체 메모리 장치는, 선택 블록을 소거하는 소거 수단을 더 포함하고,
    상기 소거 수단은 선택 블록의 소거 베리파이가 불합격이고, 또한 소거 펄스의 인가 횟수가 미리 정해진 횟수에 도달한 경우에 있어서, 상기 검출 회로에 의해 검출된 NAND 스트링 불량수가 일정수 이하일 때 상기 선택 블록을 사용 가능한 상태로 소거를 종료하고, 검출된 NAND 스트링 불량수가 일정수를 넘을 때 상기 선택 블록을 사용 불가능한 배드 블록으로서 관리하는 반도체 메모리 장치.
  13. 청구항 9에 있어서,
    반도체 메모리 장치는 선택 블록의 선택 페이지를 프로그래밍할 프로그램 수단을 더 포함하고,
    상기 프로그램 수단은, 상기 검출 회로에 의해 검출된 NAND 스트링 불량수에 기초하여 설정된 허용 가능한 불합격 비트수에 기초하여 선택 페이지의 프로그램 베리파이를 수행하는 반도체 메모리 장치.
  14. 청구항 13에 있어서,
    반도체 메모리 장치는 프로그래밍해야 할 데이터 및 상기 메모리 어레이 독출된 데이터의 에러 검출·정정을 수행하는 회로를 더 포함하고,
    상기 불합격 비트수는 상기 에러 검출·정정을 수행하는 회로에 의해 구제 가능한 비트수 이하인 반도체 메모리 장치.
  15. 청구항 9에 있어서,
    상기 출력 회로는 페이지 버퍼/센스 회로를 포함하는 반도체 메모리 장치.
KR1020160100591A 2016-02-09 2016-08-08 반도체 메모리 장치, 그 소거 방법 및 프로그램 방법 KR101829861B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2016-022322 2016-02-09
JP2016022322A JP6238378B2 (ja) 2016-02-09 2016-02-09 半導体記憶装置

Publications (2)

Publication Number Publication Date
KR20170094481A true KR20170094481A (ko) 2017-08-18
KR101829861B1 KR101829861B1 (ko) 2018-02-19

Family

ID=59497902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160100591A KR101829861B1 (ko) 2016-02-09 2016-08-08 반도체 메모리 장치, 그 소거 방법 및 프로그램 방법

Country Status (5)

Country Link
US (1) US10026482B2 (ko)
JP (1) JP6238378B2 (ko)
KR (1) KR101829861B1 (ko)
CN (1) CN107045889B (ko)
TW (1) TWI625727B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101941098B1 (ko) 2016-04-25 2019-01-22 주식회사 엘지화학 염화비닐계 중합체의 제조방법 및 이에 따라 제조된 염화비닐계 중합체
KR102336662B1 (ko) * 2017-10-12 2021-12-07 삼성전자 주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
KR102460526B1 (ko) 2018-01-04 2022-11-01 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치, 불휘발성 메모리 장치, 그리고 스토리지 장치의 동작 방법
CN110473584B (zh) * 2018-05-11 2021-07-23 建兴储存科技(广州)有限公司 固态储存装置中已抹除区块的再验证方法
KR20200114354A (ko) 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
JP6820380B2 (ja) * 2019-06-18 2021-01-27 ウィンボンド エレクトロニクス コーポレーション ダミーセルの制御方法および半導体装置
KR20210055346A (ko) 2019-11-07 2021-05-17 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
JP7025472B2 (ja) * 2020-04-20 2022-02-24 ウィンボンド エレクトロニクス コーポレーション 半導体装置
KR20220019547A (ko) 2020-08-10 2022-02-17 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 이의 소거 방법
KR20220020717A (ko) 2020-08-12 2022-02-21 삼성전자주식회사 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템
KR20220020724A (ko) 2020-08-12 2022-02-21 삼성전자주식회사 비휘발성 메모리 및 비휘발성 메모리의 불량 메모리 셀 블록 검출 방법
JP2022040515A (ja) * 2020-08-31 2022-03-11 ウィンボンド エレクトロニクス コーポレーション フラッシュメモリおよびプログラミング方法
JP7181984B1 (ja) * 2021-12-09 2022-12-01 ウィンボンド エレクトロニクス コーポレーション 半導体装置および消去方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3408552B2 (ja) * 1991-02-11 2003-05-19 インテル・コーポレーション 不揮発性半導体メモリをプログラム及び消去する回路とその方法
KR100258574B1 (ko) * 1997-12-30 2000-06-15 윤종용 반도체 메모리 장치 및 그 장치의 프로그램/소거 검증 방법
TW439293B (en) * 1999-03-18 2001-06-07 Toshiba Corp Nonvolatile semiconductor memory
US6456533B1 (en) * 2001-02-28 2002-09-24 Advanced Micro Devices, Inc. Higher program VT and faster programming rates based on improved erase methods
JP2003068086A (ja) * 2001-08-28 2003-03-07 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2006012367A (ja) * 2004-06-29 2006-01-12 Toshiba Corp 不揮発性半導体記憶装置
JP4703148B2 (ja) * 2004-09-08 2011-06-15 株式会社東芝 不揮発性半導体記憶装置
JP4761910B2 (ja) * 2005-10-05 2011-08-31 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
JP5112086B2 (ja) * 2007-01-17 2013-01-09 株式会社東芝 半導体記憶装置
CN101271731A (zh) * 2007-03-22 2008-09-24 中芯国际集成电路制造(上海)有限公司 存储器的擦除方法
JP2008004264A (ja) * 2007-09-21 2008-01-10 Toshiba Corp 不揮発性半導体メモリ及び不揮発性半導体メモリにおける不良カラムの検出及び置き換え方法
KR101039962B1 (ko) * 2009-06-29 2011-06-09 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 프로그램 방법
JP5514135B2 (ja) * 2011-02-15 2014-06-04 株式会社東芝 不揮発性半導体記憶装置
US8514624B2 (en) * 2011-06-21 2013-08-20 Micron Technology, Inc. In-field block retiring
JP2013127827A (ja) * 2011-12-16 2013-06-27 Samsung Yokohama Research Institute Co Ltd 不揮発性半導体記憶装置
JP2014053056A (ja) * 2012-09-06 2014-03-20 Toshiba Corp 半導体記憶装置
JP5583185B2 (ja) * 2012-10-12 2014-09-03 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体メモリ
US9196366B2 (en) * 2013-09-18 2015-11-24 Winbond Electronics Corp. Semiconductor memory apparatus and method for erasing the same
JP2017054561A (ja) * 2015-09-07 2017-03-16 株式会社東芝 半導体記憶装置及びメモリシステム

Also Published As

Publication number Publication date
TW201729196A (zh) 2017-08-16
US20170229184A1 (en) 2017-08-10
TWI625727B (zh) 2018-06-01
JP2017142870A (ja) 2017-08-17
CN107045889A (zh) 2017-08-15
US10026482B2 (en) 2018-07-17
KR101829861B1 (ko) 2018-02-19
CN107045889B (zh) 2020-05-12
JP6238378B2 (ja) 2017-11-29

Similar Documents

Publication Publication Date Title
KR101829861B1 (ko) 반도체 메모리 장치, 그 소거 방법 및 프로그램 방법
US20080158989A1 (en) Retention margin program verification
US20090225600A1 (en) Flash memory device and program method thereof
JP2008027511A (ja) 半導体記憶装置およびその制御方法
JP5095802B2 (ja) 半導体メモリ
JP2014157650A (ja) 半導体記憶装置
US9530507B2 (en) Non-volatile memory apparatus and writing circuit and method for non-volatile memory apparatus
US20080158990A1 (en) Retention margin program verification
KR101831266B1 (ko) 비휘발성 반도체 메모리 장치
JP6115740B1 (ja) 半導体記憶装置
US8363479B2 (en) Nonvolatile semiconductor memory device
US11621039B2 (en) Semiconductor memory device, memory system, and write method
JPH11176175A (ja) 不揮発性半導体記憶装置
US8385129B2 (en) Semiconductor memory device and control method thereof
CN107305786B (zh) 非易失性半导体存储装置
KR101842924B1 (ko) 반도체 메모리 장치 및 입력 데이터의 검증 방법
US20130314989A1 (en) Memory system
US8923068B2 (en) Low margin read operation with CRC comparision
JP6371423B2 (ja) 半導体記憶装置
JP6293846B2 (ja) 半導体記憶装置
JP4105188B2 (ja) 不揮発性半導体記憶装置およびそのデータ消去方法

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