KR20170085779A - 비휘발성 메모리 장치의 동작 방법 - Google Patents

비휘발성 메모리 장치의 동작 방법 Download PDF

Info

Publication number
KR20170085779A
KR20170085779A KR1020160005330A KR20160005330A KR20170085779A KR 20170085779 A KR20170085779 A KR 20170085779A KR 1020160005330 A KR1020160005330 A KR 1020160005330A KR 20160005330 A KR20160005330 A KR 20160005330A KR 20170085779 A KR20170085779 A KR 20170085779A
Authority
KR
South Korea
Prior art keywords
program
fail
columns
fail bit
memory
Prior art date
Application number
KR1020160005330A
Other languages
English (en)
Other versions
KR102505852B1 (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 KR1020160005330A priority Critical patent/KR102505852B1/ko
Priority to US15/405,339 priority patent/US10402247B2/en
Priority to CN201710024781.1A priority patent/CN106981306B/zh
Publication of KR20170085779A publication Critical patent/KR20170085779A/ko
Priority to US16/297,763 priority patent/US10665302B2/en
Application granted granted Critical
Publication of KR102505852B1 publication Critical patent/KR102505852B1/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/08Address circuits; Decoders; Word-line control 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing 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/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
    • 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/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
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법이 개시된다. 본 개시의 실시예에 따른 복수의 페이지 버퍼가 매트릭스 형태로 배열된 페이지 버퍼 어레이를 포함하는 비휘발성 메모리 장치의 동작 방법은, 상기 페이지 버퍼 어레이의 복수의 컬럼들 중 일부 컬럼들을 선택하는 단계; 및 상기 선택된 컬럼들에 포함된 페이지 버퍼들에 저장된 페일 비트를 카운팅하는 단계를 포함할 수 있다.

Description

비휘발성 메모리 장치의 동작 방법{Operating method of non-volatile memory device}
본 개시의 기술적 사상은 메모리 장치에 관한 것으로서, 자세하게는 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용되고, 휘발성 메모리 장치 및 비휘발성 메모리 장치로 구분될 수 있다. 비휘발성 메모리 장치의 일 예로서, 플래쉬(flash) 메모리 장치는 휴대폰, 디지털 카메라, 휴대용 정보 단말기(PDA), 이동식 컴퓨터 장치, 고정식 컴퓨터 장치 및 기타 장치에 사용될 수 있다.
본 개시의 기술적 사상은, 프로그램 속도를 향상시킬 수 있는 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법을 제공한다.
본 개시의 기술적 사상은, 비트 카운터의 페일 비트 카운팅 성능을 향상시킬 수 있는 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법을 제공한다.
상기 기술적 과제를 달성하기 위한 본 개시의 실시예에 따른 복수의 페이지 버퍼가 매트릭스 형태로 배열된 페이지 버퍼 어레이를 포함하는 비휘발성 메모리 장치의 동작 방법은, 상기 페이지 버퍼 어레이의 복수의 컬럼들 중 일부 컬럼들을 선택하는 단계; 및 상기 선택된 컬럼들에 포함된 페이지 버퍼들에 저장된 페일 비트를 카운팅하는 단계를 포함할 수 있다.
상기 기술적 과제를 달성하기 위한 본 개시의 실시예에 따른 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 동작 방법은, 복수의 메모리 셀들에 프로그램 전압을 인가하는 단계; 상기 복수의 메모리 셀들에 대하여 제n 프로그램 상태에 대응하는 검증 동작을 수행하는 단계; 상기 제n 프로그램 상태에 대하여 페일 처리된 메모리 셀들의 개수를 카운팅하는 단계; 전압 레벨이 증가된 프로그램 전압을 상기 페일 처리된 메모리 셀들에 인가하는 단계; 및 상기 카운팅 결과에 따른 페일 비트 값이 미리 설정된 임계값 이하이면, 상기 복수의 메모리 셀들 중 일부 메모리 셀들을 제n+1 프로그램 상태로 프로그램하는 동작을 수행하는 단계를 포함할 수 있다.
본 개시의 기술적 사상에 따른 비휘발성 메모리 장치 및 그것의 동작 방법에 의하면, 각 프로그램 상태마다 1회의 검증 동작을 생략함으로써, 프로그램 시간을 단축시킬 수 있다.
또한, 본 개시의 기술적 사상에 따른 비휘발성 메모리 장치 및 그것의 동작방법에 의하면, 메모리 장치에 구비되는 페일 비트 카운터의 카운팅 성능을 향상시킬 수 있다.
본 개시의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 개시의 실시예에 따른 메모리 장치를 개략적으로 나타내는 블록도이다.
도 2는 본 개시의 실시예에 따른 메모리 블록의 일 예를 나타내는 회로도이다.
도 3은 본 개시의 실시예에 따른 메모리 블록의 다른 예를 나타내는 회로도이다.
도 4는 도 3의 회로도에 따른 메모리 블록을 나타내는 사시도이다.
도 5는 데이터의 기입이 완료된 후 메모리 셀이 가지는 문턱 전압 산포를 나타내는 그래프이다.
도 6은 본 개시의 실시예에 따른, 메모리 장치의 동작 방법을 나타내는 흐름도이다.
도 7은 본 개시의 실시예에 따라, 메모리 셀들을 제1 프로그램 상태로 프로그램하는 동작을 설명하는 도면이다.
도 8은 제1 프로그램 상태에 대한 페일 셀을 나타낸 그래프이다.
도 9a 및 도 9b는 메모리 셀들에 2-비트 데이터를 기입하는 경우의 프로그램 단계 및 프로그램 시간을 나타내는 도면으로서, 도 9a는 비교 예를 나타내고, 도 9b는 본 개시의 실시예에 따른 프로그램 방법 및 프로그램 시간을 나타낸다.
도 10은 본 개시의 실시예에 따른 프로그램 방법의 다른 예를 나타낸다.
도 11은 본 개시의 실시예에 따른 페이지 버퍼부의 일 구현예를 나타낸 도면이다.
도 12는 본 개시의 실시예에 따른 페이지 버퍼부에 저장된 페일 비트를 카운팅 하는 방법을 나타내는 흐름도이다.
도 13a 및 도 13b는 페이지 버퍼 어레이에 포함된 복수의 컬럼들 중 선택된 컬럼들을 나타내는 도면이다.
도 14는 본 개시의 실시예에 따른 페일 비트 카운터의 카운팅 동작을 시간에 따라 나타내는 도면이다.
도 15는 본 개시의 실시예에 따른 페일 비트 카운팅 방법의 다른 구현예를 나타내는 흐름도이다.
도 16은 본 개시의 실시예에 따른 페이지 버퍼 어레이의 일 예를 나타내는 도면이다.
도 17은 본 개시의 실시예에 다른 페이지 버퍼부의 일 구현예를 나타낸다.
도 18은 동작 모드들에 따른 페일 비트 카운팅 방법을 시간에 따라 나타내는 도면이다.
도 19a 내지 도 19c는 도 18의 각 동작 모드에 따라 선택되는 컬럼 그룹 및 연결 회로의 동작을 나타내는 도면이다.
도 20은 본 개시의 실시예에 다른 페일 비트 카운터의 일 구현예를 나타내는 블록도이다.
도 21은 본 개시의 실시 예에 따른 컬럼 샘플링 비율에 따른 페일 비트의 최대 카운팅 비트를 나타내는 테이블이다.
도 22는 본 개시의 실시예에 다른 페일 비트 카운팅 방법을 나타내는 흐름도이다.
도 23a는 페이지 버퍼 어레이에 포함된 복수의 컬럼들 및 복수의 로우들 중 선택된 컬럼들 및 로우들을 나타내는 도면이다.
도 23b는 도23a에서 선택된 컬럼들 및 로우들에 포함되는 페이지 버퍼의 페일 비트를 카운팅하는 동작을 시간에 따라 나타내는 도면이다.
도 24는 본 개시의 실시예에 다른 메모리 장치를 나타내는 블록도이다.
도 25는 본 개시의 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 26은 본 개시의 일 실시예에 따른 메모리 카드 시스템을 나타내는 블록도이다.
도 27은 본 개시의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 28은 본 개시의 일 실시예에 따른 SSD 시스템을 나타내는 블록도이다.
도 29는 본 개시의 실시예에 따른 UFS(uiversal flash storage)를 나타내는 블록도이다.
이하, 본 개시의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 개시의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 개시의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 개시의 다양한 실시예에서 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 개시의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 다양한 실시예에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 개시의 다양한 실시예에서 사용된 “제 1,”“제 2,”“첫째,”또는“둘째,”등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제 1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 개시의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 개시의 다양한 실시예에서 사용한 용어는 단지 특정일 실시예를 설명하기 위해 사용된 것으로, 본 개시의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 개시의 실시예에 따른 메모리 장치를 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 제어 로직(120), 전압 생성부(130), 로우 디코더(140), 페이지 버퍼부(150), 페일 비트 카운터(160) 및 데이터 입출력 회로(170)를 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함할 수 있다. 예를 들어, 복수의 메모리 셀들은 플래쉬 메모리 셀들일 수 있다. 이하에서는, 복수의 메모리 셀들이 낸드(NAND) 플래쉬 메모리 셀들인 경우를 예로 하여 실시예들을 상술하기로 한다. 그러나, 본 개시의 기술적 사상은 이에 제한되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 RRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
메모리 셀 어레이(110)는 3차원 (3D) 메모리 셀 어레이일 수 있다. 3차원 메모리 셀 어레이는 실리콘 기판 위에 배치되는 활성 영역과, 메모리 셀들의 동작과 관련된 회로로서 상기 기판 상에 또는 상기 기판 내에 형성된 회로를 가지는 메모리 셀 어레이들의 적어도 하나의 물리적 레벨에 모놀리식으로 형성된다. 상기 용어 "모놀리식"은 상기 어레이를 구성하는 각 레벨의 층들이 상기 어레이 중 각 하부 레벨의 층들의 바로 위에 적층되어 있음을 의미한다. 상기 3D 메모리 셀 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직 방향으로 배치된 낸드 스트링들을 포함한다. 상기 적어도 하나의 메모리 셀은 전하 트랩층을 포함할 수 있다. 그러나, 이에 제한되는 것은 아니며, 다른 실시예에 있어서, 메모리 셀 어레이(110)는 2차원 메모리 셀 어레이일 수 있다.
본 실시예에서, 메모리 셀 어레이(110)에 포함되는 각 메모리 셀은 2 비트 이상의 데이터를 저장하는 멀티 레벨 셀(multi level cell, MLC)일 수 있다. 예를 들어, 메모리 셀은 2 비트 데이터를 저장하는 멀티 레벨 셀(multi level cell, MLC)일 수 있다. 또 다른 예로서, 메모리 셀은 3 비트 데이터를 저장하는 트리플 레벨 셀(triple level cell, TLC)일 수 있다. 그러나, 본 개시는 이에 한정되지 않고, 다른 실시예에서, 메모리 셀 어레이(110)에 포함되는 일부 메모리 셀들은 1 비트 데이터를 저장하는 싱글 레벨 셀(single level cell, SLC)이고, 다른 일부 메모리 셀들은 멀티 레벨 셀(multi level cell, MLC)일 수 있다.
메모리 셀 어레이(110)는 워드 라인들(WL), 스트링 선택 라인들(SSL), 그라운드 선택 라인들(GSL) 및 비트 라인들(BL)에 연결될 수 있다. 구체적으로 메모리 셀 어레이(110)는 워드 라인들(WL) 또는 선택 라인들(SSL, GSL)을 통해 로우 디코더(140)에 연결되고, 비트 라인들(BL)을 통해서 페이지 버퍼부(150)에 연결될 수 있다.
메모리 셀 어레이(110)는 복수의 메모리 블록(BL1~BLKi)을 포함할 수 있다. 복수의 메모리 블록(BLK1~BLKi)은 싱글 레벨 셀들을 포함하는 싱글 레벨 셀 블록, 멀티 레벨 셀들을 포함하는 멀티 레벨 셀 블록 및 트리플 레벨 셀들을 포함하는 트리플 레벨 셀 블록 중 적어도 하나를 포함할 수 있다. 실시예에 있어서, 메모리 셀 어레이(110)에 포함된 복수의 메모리 블록들 중 일부 메모리 블록은 싱글 레벨 셀 블록일 수 있고, 다른 블록들은 멀티 레벨 셀 블록 또는 트리플 레벨 셀 블록일 수 있다.
제어 로직(120)은 외부, 예컨대 메모리 컨트롤러(미도시)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(110)에 데이터를 기입하거나 메모리 셀 어레이(110)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(120)은 메모리 장치(100) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(120)에서 출력된 각종 제어 신호는 전압 생성부(130), 로우 디코더(140), 페이지 버퍼부(150), 페일 비트 카운터(160) 및 데이터 입출력 회로(170)에 제공될 수 있다. 구체적으로, 제어 로직(120)은 전압 생성부(130)에 전압 제어 신호(CTRL_vol)를 제공할 수 있고, 로우 디코더(140)에 로우 어드레스(X-ADDR)를 제공할 수 있으며, 페이지 버퍼부(150)에 페이지 버퍼 제어 신호(CTRL_PB)를 제공할 수 있다. 또한 제어 로직(120)은 페일 비트 카운터(160)에 연결 제어 신호(CNS)를 제공할 수 있고, 데이터 입출력 회로(170)에 입출력 제어 신호(CTRL_I/O)를 제공할 수 있다. 그러나, 본 개시는 이에 한정되지 않고, 제어 로직(120)은 전압 생성부(130), 로우 디코더(140), 페이지 버퍼부(150), 페일 비트 카운터(160) 및 데이터 입출력 회로(170)에 다른 제어 신호들을 더 제공할 수 있다.
본 실시예에 따르면, 제어 로직(120)은 페일 비트 카운터(160)로부터 제공되는 페일 비트 값(CN)을 기초로, 프로그램의 패스/페일 여부, 추가로 수행될 프로그램 단계 등을 결정할 수 있다. 본 실시예에 따르면, 메모리 장치는 페일 비트 값(CN)이 미리 설정된 임계값 이하이면, 추가로 프로그램 전압이 인가된 후에 수행될 검증 동작을 생략하고, 프로그램 수행을 종료하거나, 다음 프로그램 상태에 대한 프로그램이 수행되도록 결정할 수 있다.
또한, 제어 로직(120)은 외부로부터 수신되는 커맨드(CMD)에 따른 동작 모드에 기초하여, 페이지 버퍼부(150)의 복수의 페이지 버퍼들과 페일 비트 카운터(160)의 연결을 제어할 수 있다.
전압 생성부(130)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(110)에 대한 프로그램, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성부(130)는 워드 라인들(WL)을 구동하기 위한 워드 라인 구동 전압(VWL)을 생성할수 있다. 예를 들어, 워드 라인 구동 전압(VWL)은 프로그램 전압(또는 기입 전압), 독출 전압, 인히빗 전압, 소거 검증 전압 또는 프로그램 검증 전압일 수 있다. 또한, 전압 생성부(130)는 스트링 선택 라인들(SSL)을 구동하기 위한 스트링 선택 라인 구동 전압 및 그라운드 선택 라인들(GSL)을 구동하기 위한 그라운드 선택 라인 구동 전압을 더 생성할 수 있다. 또한, 전압 생성부(130)는 메모리 셀 어레이(110)에 제공할 소거 전압을 더 생성할 수 있다.
로우 디코더(140)는 제어 로직(120)으로부터 수신한 로우 어드레스(X-ADDR)에 응답하여 워드 라인들(WL) 중 일부 워드 라인을 선택할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(140)는 선택된 워드 라인에 독출 전압을 인가하고, 비 선택된 워드 라인에 인히빗 전압을 인가할 수 있다. 또한, 프로그램 동작 시에 로우 디코더(140)는 선택된 워드 라인에 프로그램 전압을 인가하고, 비 선택된 워드 라인에 인히빗 전압을 인가할 수 있다. 또한, 로우 디코더(140)는 제어 로직(120)으로부터 수신한 로우 어드레스(X-ARRD)에 응답하여 스트링 선택 라인들(SSL) 중 일부 스트링 선택 라인 또는 그라운드 선택 라인들(GSL) 중 일부 그라운드 선택 라인을 선택할 수 있다.
페이지 버퍼부(150)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결되고, 제어 로직(120)으로부터 수신한 페이지 버퍼 제어 신호(CTRL_PB)에 응답하여 프로그램 동작, 독출 동작 또는 소거 동작을 수행할 수 있다. 구체적으로, 독출 동작 시에 페이지 버퍼부(150)는 감지 증폭기(sense amplifier)로 동작하여 메모리 셀 어레이(110)에 저장된 데이터(DATA)를 출력할 수 있다. 한편, 프로그램 동작시에 페이지 버퍼부(150)는 기입 드라이버(write driver)로 동작하여 메모리 셀 어레이(110)에 저장하고자 하는 데이터(DATA)를 입력시킬 수 있다.
본 실시예에 따른 페이지 버퍼부(150)는 매트릭스 형태로 배열된 복수의 페이지 버퍼를 포함하는 페이지 버퍼 어레이를 포함할 수 있으며, 상기 복수의 페이지 버퍼 각각은 대응하는 메모리 셀에 대한 프로그램 페일 비트를 저장할 수 있다. 일 실시예에 있어서, 페이지 버퍼부(150)는 연결 회로(미도시)를 포함하고, 상기 연결 회로는 제어 로직(120)으로부터 제공되는 연결 제어 신호(CNS)에 기초하여 페이지 버퍼 어레이의 복수의 칼럼들과 페일 비트 카운터(160)의 연결을 제어할 수 있다. 연결 제어 신호(CNS)는 페이지 버퍼 제어 신호(CTRL_PB)로서 제어 로직(120)으로부터 수신될 수 있다. 본 실시예에 따른 페이지 버퍼부(150) 및 페이지 버퍼부(150)의 동작은 도 11 내지 도 23b를 참조하여 보다 상세하게 설명하기로 한다.
페일 비트 카운터(160)는 페이지 버퍼부(150)의 복수의 페이지 버퍼들에 저장된 페일 비트들을 카운팅하여 페일 비트 값(CN)을 산출하고, 산출된 페일 비트 값을 제어 로직(120)에 제공할 수 있다. 한편, 페일 비트 카운터(160)는 페이지 버퍼 어레이의 복수의 컬럼들 중 선택된 일부 컬럼들, 다시 말해 페일 비트 카운터(160)와 연결되는 일부 컬럼들에 포함된 페이지 버퍼에 저장된 페일 비트들을 카운팅할 수 있다. 페일 비트 카운터(160)는 칼럼 샘플링 방식으로 페이지 버퍼 어레이의 복수의 페이지 버퍼에 저장된 페일 비트를 카운팅할 수 있으며, 카운팅된 값에 칼럼 샘플링 비율을 곱하여 페일 비트 값(CN)을 산출할 수 있다. 이에 따라, 페일 비트 카운터(160)의 최대 카운팅 비트 수가 증가될 수 있다.
데이터 입출력 회로(170)는 외부로부터 입력된 데이터(DATA)를 데이터 라인들(DL)을 통해서 페이지 버퍼부(150)로 전송하거나 페이지 버퍼부(150)로부터 출력된 데이터(DATA)를 메모리 장치(100)의 다수의 입출력 핀들 또는 데이터 버스를 통하여 메모리 장치(100)의 외부, 예컨대 메모리 컨트롤러(미도시)로 전송할 수 있다.
도 2는 본 개시의 실시예에 따른 메모리 블록의 일 예를 나타내는 회로도이다.
도 2를 참조하면, 메모리 블록(BLKa)은 수평 구조의 낸드 플래쉬 메모리일 수 있다. 메모리 블록(BLKa)은 예를 들어, 개의 메모리 셀들이 직렬로 연결되는 복수개의 스트링(STR)들을 포함할 수 있다. 각 스트링(STR)은 직렬로 연결된 메모리 셀들(MC)의 양 끝에 각각 연결되는 스트링 선택 트랜지스터(SST) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 여기서, 스트링들(STR)의 개수, 워드 라인들(WL)의 개수, 비트 라인들(BL)의 개수는 실시예에 따라 다양하게 변경될 수 있다.
도 2와 같은 구조를 갖는 메모리 블록을 포함하는 낸드 플래쉬 메모리 장치는 메모리 블록 단위로 소거가 수행되고, 각 워드 라인(WL1 내지 WL8)에 대응되는 페이지(PAGE) 단위로 프로그램을 수행할 수 있다.
도 3은 본 개시의 실시예에 따른 메모리 블록의 다른 예를 나타내는 회로도이다.
도 3을 참조하면, 메모리 블록(BLKb)은 수직 구조의 낸드 플래쉬 메모리일 수 있다. 메모리 블록(BLKb)은 복수의 낸드 스트링들(NS11 내지 NS33), 복수의 워드 라인들(WL1 내지 WL8), 복수의 비트 라인들(BL1 내지 BL3), 그라운드 선택 라인 들(GSL1, GSL2, GSL3), 복수의 스트링 선택 라인들(SSL1 내지 SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.
제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 제공되고 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 제공된다. 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 내지 MC8) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 이하에서는, 편의상 낸드 스트링을 스트링이라고 지칭하기로 한다.
하나의 비트 라인에 공통으로 연결된 스트링들은 하나의 칼럼을 구성한다. 예를 들어, 제1 비트 라인(BL1)에 공통으로 연결된 스트링들(NS11, NS21, NS31)은 제1 칼럼에 대응되고, 제2 비트 라인(BL2)에 공통으로 연결된 스트링들(NS12, NS22, NS32)은 제2 칼럼에 대응되며, 제3 비트 라인(BL3)에 공통으로 연결된 스트링들(NS13, NS23, NS33)은 제3 칼럼에 대응될 수 있다.
하나의 스트링 선택 라인에 연결되는 스트링들은 하나의 로우를 구성한다. 예를 들어, 제1 스트링 선택 라인(SSL1)에 연결된 스트링들(NS11, NS12, NS13)은 제1 로우에 대응되고, 제2 스트링 선택 라인(SSL2)에 연결된 스트링들(NS21, NS22, NS23)은 제2 로우에 대응되며, 제3 스트링 선택 라인(SSL3)에 연결된 스트링들(NS31, NS32, NS33)은 제3 로우에 대응될 수 있다.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL1 내지 SSL3)에 연결된다. 복수의 메모리 셀들(MC1 내지 MC8)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 그라운드 선택 라인들(GSL1, GSL2, GSL3)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되어 있고, 스트링 선택 라인들(SSL1 내지 SSL3)은 서로 분리되어 있다. 예를 들어, 제 1 워드 라인(WL1)에 연결되어 있고 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들을 프로그램하는 경우에는, 제1 워드 라인(WL1)과 제1 스트링 선택 라인(SSL1)이 선택될 수 있다. 일 실시예에 있어서, 도 4에 도시된 바와 같이, 그라운드 선택 라인들(GSL1, GSL2, GSL3)은 서로 분리될 수 있다. 다른 실시예에 있어서, 그라운드 선택 라인들(GSL1, GSL2, GSL3)은 서로 연결될 수 있다.
도 4는 도 3의 회로도에 따른 메모리 블록을 나타내는 사시도이다.
도 4를 참조하면, 메모리 블록(BLK)은 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 기판(SUB)은 도 1의 제1 반도체층(10)일 수 있다. 기판(SUB)은 제1 도전형(예를 들어, p 타입)을 가지며, 기판(SUB) 상에 제1 방향(예를 들어, x방향)을 따라 신장되고, 제2 도전형(예를 들어, n 타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공될 수 있다. 공통 소스 라인(CSL)은 수직형 메모리 셀들로 전류를 공급하는 소스 영역으로서 기능할 수 있다.
인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제2 방향(예를 들어, y 방향)을 따라 신장되는 복수의 절연막들(IL)이 제3 방향(예를 들어, z 방향)을 따라 순차적으로 제공되며, 복수의 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격된다. 예를 들어, 복수의 절연막들(IL)은 실리콘 산화물과 같은 절연 물질을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 복수의 절연막들(IL)을 관통하는 채널홀이 형성될 수 있다. 채널홀은 수직 방향으로 연장하는 컵 형상(또는 바닥이 막힌 실린더 형상)으로 형성될 수 있다. 또는 채널홀은 도시된 바와 같이 필라 형상으로 형성될 수 있다. 이하, 채널홀은 필라(pillars)라고 지칭하기로 한다. 복수의 필라들(P)은 복수의 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 수 있다. 구체적으로, 각 필라 (P)의 표면층(surface layer)(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(charge storage layer, CS)이 제공된다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에 게이트 전극(GE)이 제공될 수 있다.
복수의 필라들(P) 상에는 드레인들 또는 드레인 컨택들(DR)이 각각 제공된다. 예를 들어, 드레인들 또는 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들 또는 드레인 컨택들(DR) 상에, 제2 방향(예를 들어, y 방향)으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL)이 제공될 수 있다.
도 4를 참조하여, 메모리 블록의 실시 예를 설명하였다. 그러나, 이에 제한되는 것은 아니며 메모리 블록의 구조는 다양하게 변형될 수 있다.
도 5는 데이터의 기입이 완료된 후 메모리 셀이 가지는 문턱 전압 산포를 나타내는 그래프이다. 구체적으로, 도 5는 3-비트 데이터를 저장할 수 있는 트리플 레벨 셀인 예를 나타낸다. 도 5에서, 가로축은 문턱 전압(Vth)을 나타내고, 세로 축은 메모리 셀들의 개수를 나타낸다.
도 5를 참조하면, 메모리 셀은 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1 내지 P7) 중 하나를 가질 수 있다. 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1 내지 P7)은 서로 다른 3-비트 데이터에 각각 대응할 수 있다. 서로 인접한 상태들 사이의 전압을 사용하여 소거 상태(E) 및 제1 내지 제3 프로그램 상태들(P1 내지 P7) 중 메모리 셀이 가지는 상태가 판별될 수 있고, 이에 따라 메모리 셀에 저장된 데이터가 판별될 수 있다.
메모리 셀은 연결된 워드 라인을 통해서 인가되는 프로그램 전압(또는, 프로그램 펄스)에 의해서, 소거 상태(E)로부터 제1 내지 제7 프로그램 상태들(P1 내지 P7) 중 어느 하나로 천이할 수 있다. 메모리 셀의 문턱 전압(Vth)은 프로그램 펄스에 기초하여 상승(예컨대, 도 5에서 우측 방향으로 이동)할 수 있고, 제1 내지 제7 검증 전압들(V1 내지 V7)에 의해서 검증됨으로써 원하는 상태에 대응하는 값까지 이동할 수 있다. 이와 같이 메모리 셀에 데이터를 기입하는 동작은, 반복해서 수행되는 프로그램 펄스를 인가하는 프로그램 단계 및 검증 단계를 포함할 수 있다.
메모리 셀은 데이터가 기입되기 전 소거 상태(E)를 가질 수 있고, 메모리 셀을 메모리 셀에 저장될 데이터에 대응하는 최종 상태로 천이시키기 위한 다양한 프로그램 방식들이 존재할 수 있다. 도 1을 함께 참조하면, 제어 로직(120)은 메모리 장치(100)의 특성, 예컨대 메모리 셀 어레이(110)의 물리적 특성에 기초하여 다양한 프로그램 방식들 중 하나에 기초하여 메모리 셀 어레이(110)의 메모리 셀에 데이터를 기입할 수 있다.
한편, 제1 내지 제7 프로그램 상태들(P1 내지 P7) 중 어느 하나로 프로그램된 메모리 셀들은 소거 동작에 의하여 소거 상태(E)로 천이할 수 있다. 메모리 셀들에 연결된 워드 라인과 기판 사이에 강한 역전압이 인가됨으로써, 메모리 셀의 문턱 전압(Vth)이 하강(예컨대, 도 5에서 좌측 방향으로 이동)할 수 있고, 소거 검증 전압(V0)에 의해서 소거 검증됨으로써, 소거 검증 전압(V0) 이하로 이동할 수 있다. 이와 같이, 메모리 셀의 데이터를 소거하는 동작은, 반복해서 수행되는 소거 전압(또는 소거 펄스)를 인가하는 소거 단계 및 소거 검증 단계를 포함할 수 있다. 이때, 제어 로직(120)은 다양한 소거 방식들 중 하나에 기초하여 메모리 셀 어레이(110)의 메모리 셀들에 기입된 데이터를 소거할 수 있다.
도 6은 본 개시의 실시예에 따른, 메모리 장치의 동작 방법을 나타내는 흐름도이다. 구체적으로 도 6은 메모리 셀 어레이(110)에서, 선택된 메모리 셀들을 특정 프로그램 상태, 예컨대 제n 프로그램 상태(Pn)로 프로그램하는 방법을 나타낸다.
도 5를 참조하여 전술한 바와 같이, 메모리 셀에 데이터를 기입하는 동작은, 반복해서 수행되는 프로그램 펄스를 인가하는 프로그램 단계 및 검증 단계를 포함할 수 있다.
우선, 제n 프로그램 상태(Pn)로 프로그램될 메모리 셀들에 대하여, 프로그램 전압(VpgmL)을 인가함으로써, 프로그램을 수행한다(S10). 메모리 셀 어레이(110)에 대한 데이터 기입은 페이지 단위로 수행될 수 있다. 기입이 수행될 페이지에 대응하는 선택된 워드 라인에 프로그램 전압(VpgmL)(또는 프로그램 펄스라고 함)을 인가함으로써, 메모리 셀들을 프로그램할 수 있다.
일 실시예에 있어서, 제n 프로그램 상태(Pn)가 메모리 셀들이 가질수 있는 복수의 프로그램 상태들 중 최하위 프로그램 상태, 다시 말해 프로그램 상태들 중 문턱 전압이 가장 낮은 상태가 아니라면, 프로그램 수행(S10)전, 메모리 셀들이, 제n 프로그램 상태(Pn)로 프로그램 되었는지 검증하는 단계를 미리 수행할 수 있다. 이를 통해, 이전에 수행되었을 제n-1 프로그램 상태로의 프로그램 동작 과정에서, 이미 제n 프로그램 상태로 프로그램된 메모리 셀들(예컨대 패스트 셀들)을 판별하고, 상기 메모리 셀들에 대하여 더 이상 제n 프로그램 상태(Pn)에 대응하는 프로그램이 수행되는 것을 방지할 수 있다.
이후, 메모리 셀들이, 제n 프로그램 상태(Pn)로 프로그램되었는지 검증한다(S20). 제n 프로그램 상태(Pn)에 대응하는 검증 전압을 기초로, 메모리 셀들의 프로그램 상태를 독출할 수 있다. 문턱 전압이 검증 전압보다 높은 메모리 셀들의 프로그램 상태는 제1 레벨, 예컨대 로직 로우로, 검증 전압보다 낮은 메모리 셀들의 프로그램 상태는 제2 레벨, 예컨대 로직 하이로 독출될 수 있다.
상기 검증 단계를 통해 제n 프로그램 상태(Pn)로 프로그램되지 못한 것으로 판단된 메모리 셀들, 예컨대 로직 하이를 출력한 메모리 셀들을 페일 비트로 처리하고, 페일 비트 값(CN), 다시 말해 페일 비트의 개수를 산출할 수 있다(S30).
프로그램 전압을 증가시키고(S40), 증가된 프로그램 전압(VpgmL+1)을 기 초로 페일 비트로 처리된 메모리 셀들에 대해 다시 프로그램을 수행할 수 있다(S50). 이때, 페일 비트 값을 산출하는 단계(S30)는 프로그램 전압을 증가시키고(S40), 증가된 프로그램 전압을 기초로 다시 프로그램을 수행하는 단계(S50)와 동시에 수행될 수 있다.
한편, 페일 비트 값(CN)이 미리 설정된 임계값(Z) 이하인지 판단하고(S60), 임계값(Z)을 초과하면, 프로그램 검증 단계(S20) 내지 증가된 프로그램 전압을 기초로 다시 프로그램을 수행하는 단계(S50)를 반복하여 수행할 수 있다. 페일 비트 값(CN)이 임계값(Z) 이하이면, 제n 프로그램 상태에 대한 프로그램을 종료한다. 실시예에 있어서, 이후, 일부 메모리 셀들에 대하여, 제n+1 프로그램 상태로 프로그램하는 단계를 수행할 수 있다. 다른 실시예에 있어서, 제n 프로그램 상태(Pn)가 메모리 셀들이 가질수 있는 복수의 프로그램 상태들 중 최상위 프로그램 상태, 다시 말해 문턱 전압이 가장 높은 상태일 경우, 메모리 셀들에 대한 데이터 기입이 완료되었다고 판단하고, 기입 동작을 중단할 수 있다.
본 개시의 실시예에 따른 프로그램 방법에 따르면, 프로그램 검증 후, 페일 비트 값(CN)이 임계값(Z) 이하이면, 추가적인 한번의 프로그램 동작을 더 수행함으로써, 제n 프로그램 상태(Pn)로의 프로그램이 패스될 수 있다고 판단하고, 이후, 증가된 프로그램 전압(VpgmL+1)을 기초로 프로그램 동작을 한번 더 수행(S50) 한 후, 제n 프로그램 상태(Pn)에 대한 프로그램을 종료할 수 있다.
프로그램을 전압을 인가한 후, 프로그램 검증 동작을 수행하여야 하나, 본 개시의 실시예에 따르면, 상기 프로그램 수행 전, 페일 비트 값(CN)이 임계값(Z) 이하이면, 프로그램 검증 동작을 생략함으로써, 메모리 장치(도 1의 100)의 프로그램 시간을 감축시킬 수 있다.
도 7은 본 개시의 실시예에 따라, 메모리 셀들을 제1 프로그램 상태로 프로그램하는 동작을 설명하는 도면으로서, 도 6을 참조하여 설명한 프로그램 방법을 보다 상세하게 설명하는 도면이다.
도 7을 참조하면, 그래프의 가로축은 시간을 나타내고 세로축은 프로그램될 메모리 셀들, 다시 말해 페이지의 워드 라인에 인가되는 전압을 나타낸다. 도시된 바와 같이, 워드 라인에 순차적으로 레벨이 증가하는 프로그램 전압들(Vpgm1, Vpgm2, Vpgm3)(또는 프로그램 전압 펄스)이 인가됨으로서 프로그램(PGM)이 수행될 수 있다. 워드 라인에 각각의 프로그램 전압이 인가된 후, 워드 라인에 인가되는 제1 전압(V1) 기초로, 메모리 셀들의 프로그램 상태를 독출함으로써, 프로그램 검증 동작(VFY)이 수행될 수 있다. 도 8에 도시된 바와 같이, 프로그램이 수행된 메모리 셀들 중, 문턱 전압이 제1 전압(V1)보다 낮은 메모리 셀들은 제1 프로그램 상태(P1)에 대하여 페일 셀(또는 페일 비트)로 판단될 수 있다.
매 검증 동작(VFY)이 수행된 후, 증가된 프로그램 전압을 기초로 페일 셀들에 대하여 다시 프로그램이 수행될 수 있다. 동시에, 페일 비트 카운팅 동작(FBC)이 수행될 수 있다. 페일 비트 카운팅 결과, 페일 비트 값(CN)이 미리 설정된 임계값(Z) 이하이면, 증가된 프로그램 전압을 기초로 프로그램이 수행된 후의 검증 동작을 생략할 수 있다.
한편, 상기 임계값(Z)은 프로그램이 수행된 메모리 셀들이 모두 제1 프로그램 상태(P1)로 프로그램되었다고 판단할 수 있는 페일 비트 값보다 상대적으로 높을 수 있다. 예를 들어, 프로그램이 수행되는 메모리 셀들, 다시 말해 페이지가 4KB(kilobyte)이고, 메모리 셀들에 대하여 프로그램 및 검증 동작 수행 후, 페일 비트가 예컨대 대략 100개 이하로 카운팅될 때, 상기 페이지에 대한 제1 프로그램 상태(P1)로의 프로그램이 패스되었다고 판단할 수 있는 경우, 상기 임계값(Z)은 예컨대 대략 8000개로 설정될 수 있다. 페일 비트 값(CN)이 8000개 이하일 경우, 추가적인 한번의 프로그램 동작을 더 수행함으로써, 페일 비트가 100개 이하로 줄어들 수 있다고 판단하고, 상기 추가 프로그램 동작에 따른 검증 동작은 생략할 수 있다. 이와 같이, 검증 동작의 생략 여부를 결정하는 임계값(Z)은 프로그램 패스 여부를 결정하는 페일 비트의 개수보다 상대적으로 높게 설정될 수 있다. 한편, 전술한 프로그램 패스 여부를 결정하는 페일 비트 수 및 임계값(Z)의 구체적인 수치는 예시적인 것일 뿐이며, 본 개시의 기술적 사상은 이에 제한되는 것은 아니다. 페일 비트 수 및 임계값(Z)은 메모리 장치(100)가 탑재되는 메모리 시스템의 ECC(Error check and correction) 능력, 메모리 셀 어레이(110)의 프로그램 상태들의 산포 스펙 등에 따라 결정될 수 있다.
도 9a 및 도 9b는 메모리 셀들에 2-비트 데이터를 기입하는 경우의 프로그램 단계 및 프로그램 시간을 나타내는 도면으로서, 도 9a는 비교 예를 나타내고, 도 9b는 본 개시의 실시예에 따른 프로그램 방법 및 프로그램 시간을 나타낸다. 메모리 셀들이 제1 프로그램 상태(P1 PGM)로 프로그램될 때, 세 번의 프로그램이 수행되고, 메모리 셀들이 제2 프로그램 상태(P2 PGM) 및 제3 프로그램 상태(P3 PGM)로 프로그램될 때, 각각 두 번의 프로그램이 수행되는 것을 가정하여 설명하기로 한다. 한편, 프로그램이 반복될 때, 프로그램 전압들(Vpgm1~Vpgm7)의 전압 레벨이 증가될 수 있다. 이때, 일 실시예에 있어서, 프로그램 전압들의 전압 레벨 증가폭은 서로 동일할 수 있다. 예컨대, ISPP(incremental step pulse program) 방법에 따라 프로그램이 수행될 수 있다. 다른 실시예에 있어서, 프로그램 전압들의 전압 레벨 증가폭은 서로 상이할 수 있다.
도 9a에 도시된 비교예를 참조하면, 매 프로그램이 수행된 후, 각각의 프로그램 상태에 대한 검증 동작이 수행될 수 있다. 도시되지는 않았으나, 검증 동작이 수행된 후, 프로그램 수행 구간에 또는 그 이전에, 페일 비트가 카운팅 될 수 있다. 페일 비트 개수가 미리 설정된 프로그램 패스 기준값 이하일 때, 각 프로그램 상태에 대한 프로그램이 종료되고, 다음 프로그램 상태에 대한 프로그램 동작이 수행될 수 있다. 예컨대, 메모리 셀들을 제1 프로그램 상태(P1)로 프로그램하기 위한 P1 프로그램 구간(P1 PGM)에서, 마지막 검증 동작(LV_P1)이 수행된 후, 페일 비트 개수가 프로그램 패스 기준값 이하일 수 있으며, 이에 따라, 메모리 셀들에 대하여 제2 프로그램 상태(P2)로 프로그램하는 동작이 수행될 수 있다. 일 실시예에 있어서, 도시된 바와 같이, P1 프로그램 구간(P1 PGM) 중에 제2 프로그램 상태(P2)로 프로그램된 셀을 차단하기 위하여, 제2 프로그램 상태(P2)에 대한 검증 동작을 수행한 후, 페일 셀들에 대하여 프로그램을 수행할 수 있다.
P2 프로그램 구간(P2 PGM)에서, 마지막 검증 동작(LV_P2)이 수행된 후, 페일 비트 개수가 프로그램 패스 기준값 이하일 수 있으며, 이에 따라 메모리 셀들에 대하여 제3 프로그램 상태(P3)로 프로그램하는 동작이 수행될 수 있다.
P3 프로그램 구간(P3 PGM)에서, 마지막 검증 동작(LV_P3)이 수행된 후, 페일 비트 개수가 프로그램 패스 기준값 이하일 수 있으며, 이에 따라 메모리 셀들에 대한 데이터 기입 동작이 완료될 수 있다.
한편, 도 9b에 도시된 본 개시의 실시예에 따른 프로그램 방법을 참조하면, 매 검증 동작 후, 프로그램 수행 구간에 페일 비트가 카운팅 될 수 있으며, P1 프로그램 구간에서(P1 PGM)에서, 두번째 검증 동작이 수행된 후, 페일 비트 개수가 미리 설정된 임계값(Z)이하일 수 있으며, 이에 따라 메모리 셀들에 대하여 제3 프로그램 전압(Vpgm3)이 인가되어 프로그램이 수행된 후, 제1 프로그램 상태에 대한 추가적인 검증 동작 없이, 메모리 셀들에 대하여 제2 프로그램 상태(P2)로 프로그램하는 동작이 수행될 수 있다.
또한, P2 프로그램 구간에서(P2 PGM)에서, 두번째 검증 동작이 수행된 후, 페일 비트 개수가 미리 설정된 임계값(Z)이하일 수 있으며, 이에 따라 메모리 셀들에 대하여 제5 프로그램 전압(Vpgm5)이 인가되어 프로그램이 수행된 후, 제2 프로그램 상태에 대한 추가적인 검증 동작 없이, 메모리 셀들에 대하여 제3 프로그램 상태(P3)로 프로그램하는 동작이 수행될 수 있다.
P3 프로그램 구간에서(P3 PGM)에서, 두번째 검증 동작이 수행된 후, 페일 비트 개수가 미리 설정된 임계값(Z)이하일 수 있으며, 이에 따라 메모리 셀들에 대하여 제7 프로그램 전압(Vpgm7)이 인가되어 프로그램이 수행된 후, 제3 프로그램 상태에 대한 추가적인 검증 동작 없이, 메모리 셀들에 대한 데이터 기입 동작이 완료될 수 있다.
도 9a 및 도 9b에 도시된 바와 같이, 본 개시의 실시예에 따른 프로그램 방법에 따르면, 각 프로그램 상태에서 마지막 검증 동작(LV_P1, LV_P2, LV_P3)이 생략됨으로써, 데이터 기입을 위한 전체 프로그램 시간(tPROG2)이 비교예의 전체 프로그램 시간(tPROG1) 보다 감소될 수 있다.
도 10은 본 개시의 실시예에 따른 프로그램 방법의 다른 예를 나타낸다.
도 10에 도시된 프로그램 방법을 도 9b에 도시된 프로그램 방법과 비교하면, 도 10에서는, 각 프로그램 구간에서 프로그램 전압 인가 전 검증 동작이 생략될 수 있다. 예를 들어, 각 프로그램 상태들의 산포 차이가 큰 경우, P1 프로그램 구간(P1 PGM) 중에 제2 프로그램 상태(P2)로 프로그램된 셀들 또는 P2 프로그램 구간(P2 PGM) 중에 제3 프로그램 상태(P3)로 프로그램된 셀들이 존재하지 않을 수 있다. 따라서, 프로그램 전압 인가 전 검증 동작을 생략함으로써, 전체 프로그램 시간(tPROG)을 감축시킬 수 있다.
한편, 프로그램이 반복될 때, 프로그램 전압들(Vpgm11~Vpgm32)의 전압 레벨이 증가될 수 있다. 이때, 일 실시예에 있어서, 프로그램 전압들의 전압 레벨 증가폭은 서로 상이할 수 있다. 예컨대, P1 프로그램 구간(P1 PGM)에 워드 라인에 인가되는 프로그램 전압들(Vpgm11, Vpgm12, Vpgm13) 간의 전압 레벨 증가폭이 서로 상이할 수 있다. 일 실시예에 있어서, 각 프로그램 구간에서, 마지막으로 워드 라인에 인가되는 프로그램 전압과 다음 프로그램 구간에서 처음으로 워드 라인에 인가되는 프로그램 전압(예컨대 Vpgm13과 Vpgm21, Vpgm22와 Vpgm31) 간의 전압 레벨 증가폭은 동일한 프로그램 구간에서 워드 라인에 인가되는 프로그램 전압들, 예컨대, P1 프로그램 구간(P1 PGM)에서의 프로그램 전압들(Vpgm11, Vpgm12, Vpgm13)과 P2 프로그램 구간(P2 PGM)에서의 프로그램 전압들(Vpgm21, Vpgm22) 및 P3 프로그램 구간(P3 PGM) 에서의 프로그램 전압들(Vpgm31, Vpgm32)간의 전압 레벨 증가폭보다 클 수 있다.
이상, 도 6 내지 도 10을 참조하여 전술한 본 개시의 실시예에 따른 메모리 장치의 동작 방법에 따르면, 메모리 셀들에 데이터 기입시, 검증 동작에 따라 페일 처리된 페일 비트 값이 미리 설정된 임계값 이하이면, 메모리 셀들에 대한 추가적인 프로그램 동작을 수행하고, 그 이후의 검증 동작을 생략함으로써, 전체 프로그램 수행 시간, 다시 말해 데이터 기입 시간을 감소시킬 수 있다.
한편, 전술한 바와 같이, 임계값이 높은 레벨, 예컨대 천개 이상으로 설정될 수 있는바, 페일 비트 카운터의 카운팅 능력(예컨대, 최대 카운팅 개수)가 향상될 필요가 있다. 후술할 본 개시의 실시예에 따른 페일 비트 카운팅 방법, 및 페이지 버퍼부(150)와 페일 비트 카운터(160)의 연결 관계 및 동작 방법에 따르면, 페일 비트 카운터의 카운팅 능력이 향상될 수 있다. 이하, 본 개시의 실시예에 따른 페일 비트 카운팅 방법, 페이지 버퍼부(150) 및 페일 비트 카운터(160)에 대하여 설명하기로 한다.
도 11은 본 개시의 실시예에 따른 페이지 버퍼부의 일 구현예를 나타낸 도면이고, 도 12는 본 개시의 실시예에 따른 페이지 버퍼부에 저장된 페일 비트를 카운팅 하는 방법을 나타내는 흐름도이다. 설명의 편의를 위하여, 도 11의 페이지 버퍼부(150a)에 메모리 셀 어레이(110) 및 페일 비트 카운터(160)를 함께 도시하기로 한다.
도 11을 참조하면, 페이지 버퍼부(150a)는 복수의 페이지 버퍼(PB)가 매트릭스 형태로 배열된 페이지 버퍼 어레이(PBAR)를 포함할 수 있다.
페이지 버퍼 어레이(150a)는 N개의 칼럼(C1~CN) 및 M개의 로우(R1~RM)를 포함할 수 있다. 각각의 칼럼에 포함되는 N개의 페이지 버퍼들은 메모리 셀 어레이(110)에서 서로 인접한 M개의 비트 라인(BL)에 연결될 수 있다. 다시 말해, 메모리 셀 어레이(110)에서 서로 인접한 M개의 비트 라인들(BL)은 칼럼 방향으로 배열된, 복수의 페이지 버퍼들 각각에 연결될 수 있다. 예를 들어, 도 11에서, 좌측의 M개의 비트 라인(BL)은 제1 칼럼(C1)에 배열된 M개의 페이지 버퍼(PB)에 각각 일대일로 연결될 수 있다. 메모리 셀 어레이가 고집적화 됨에 따라, 비트 라인들 간의 피치(pitch)가 페이지 버퍼(PB)간의 피치보다 매우 좁으므로, 인접한 M개의 비트 라인(BL)을 로우 방향이 아닌, 칼럼 방향으로 배열된 페이지 버퍼(PB)에 연결함으로써, 페이지 버퍼들은 도시된 바와 같이, 페이지 버퍼 어레이를 형성할 수 있다.
각각의 페이지 버퍼(PB)는 대응하는 비트 라인(BL)에 연결된 메모리 셀에 기입될 데이터를 저장하거나, 메모리 셀로부터 독출된 데이터를 저장할 수 있다. 또한 페이지 버퍼(PB)는 메모리 셀들에 데이터 기입 시, 프로그램 검증 결과 또는 메모리 셀들로부터 데이터 소거 시, 소거 검증 결과를 저장할 수 있다. 이를 위해, 각각의 페이지 버퍼(PB)는 복수의 래치들을 포함할 수 있다.
전술한 바와 같이, 메모리 셀에 데이터를 기입하는 동작은, 반복해서 수행되는 프로그램 펄스를 인가하는 프로그램 단계 및 검증 단계를 포함할 수 있다. 메모리 셀에 대한 프로그램 펄스 인가후, 검증 수행 시, 메모리 셀의 문턱 전압이 타겟 레벨로 이동하지 못하여 메모리 셀이 프로그램 페일 셀로 판단되면, 페이지 버퍼(PB)는 메모리 셀이 정상적으로 프로그램되지 못했음을 나타내는 페일 비트(fail bit)를 저장하게 된다. 이후, 상기 프로그램 페일 셀들에 대하여 증가된 프로그램 전압을 인가하고 검증하는 단계를 반복함으로써, 메모리 셀들을 기입될 데이터에 대응하는 프로그램 상태로 프로그램하게 된다.
페일 비트 카운터(160)는 로우 단위로 차례로 페이지 버퍼 어레이(PBAR)에 저장된 페일 비트를 카운팅할 수 있다. 예컨대, 페일 비트 카운터(160)는 제1 로우(R1)의 페이지 버퍼들에 저장된 페일 비트의 수를 카운팅하고, 이어서, 제2 로우 (R2)의 페이지 버퍼들에 저장된 페일 비트의 수를 카운팅할 수 있다. 이러한 과정을 반복하여 마지막 로우(RM)에 포함된 페이지 버퍼들에 저장된 페일 비트의 수를 카운팅할 수 있다. 일 실시예에 있어서, 페일 비트 카운터(160)는 버퍼 어레이(150a)의 매 로우로부터 출력되는 신호, 예컨대 전류 신호를 기초로 페일 비트를 카운팅할 수 있다. 한편, 매 카운팅 단계에서, 페일 비트 카운터(160)는 최대 K개의 페일 비트를 카운트할 수 있다. 예컨대, K가 16인 경우, 페일 비트 카운터(160)는 각각의 로우에 대하여 최대 16개까지의 페일 비트를 카운팅할 수 있으며, 최대 16개*M개의 페일 비트 값을 출력할 수 있다.
그러나, 도 12에 도시된 본 개시의 실시예에 따른 페일 비트 카운팅 방법에 따르면, 페일 비트 카운터(160)는 더 많은 수의 페일 비트 값을 산출할 수 있다.
도 12를 참조하여, 본 개시의 실시예에 따른 페일 비트 카운팅 방법을 설명하기로 한다. 본 개시의 실시예에 따른 페일 비트 카운팅 방법은, 제어 로직(도 1의 120)의 제어 하에, 페일 비트 카운터(160) 및 페이지 버퍼부(150a)의 동작에 의하여 수행될 수 있다.
도 12를 참조하면, 제어 로직(120)은 페이지 버퍼 어레이(PBAR)의 N개의 컬럼들 중 L개(L은 1 초과 N미만의 정수)의 컬럼들을 선택할 수 있다(S110). 이를 컬럼을 샘플링한다고 지칭할 수 있다. 일 실시예에 있어서, 페이지 버퍼 어레이(PBAR)에서 매 N/L개의 컬럼들 중 하나를 선택할 수 있다. 다른 실시예에 있어서, 페이지 버퍼 어레이(PBAR)에서 매 N/(L/2) 개의 컬럼들 중 연속하는 두 개의 컬럼을 선택할 수 있다. 일 실시예에서, 선택되는 컬럼들간의 배치 간격은 동일할 수 있다. 그러나, 이는 예시적인 것이며 컬럼들을 선택하는 방법은 다양하게 변형될 수 있다.
페일 비트 카운터(160)는 선택된 L개의 컬럼들에 포함된 페이지 버퍼들의 페일 비트를 카운팅한다(S210). 다시 말해, 컬럼들을 샘플링하고, 샘플링된 컬럼들의 페이지 버퍼로부터 출력되는 페일 비트를 카운팅할 수 있다.
이후, 페일 비트 카운터(160)는 카운팅 값을 (N/L)배 함으로써 페일 비트 값을 산출할 수 있다(S130). N/L은 컬럼 샘플링 비율일 수 있다. S110 단계에서 선택되는 컬럼들의 수가 적을수록 샘플링 비율은 높아질 수 있다.
예를 들어, 페일 비트 카운터(160)가 각각의 로우마다 페일 비트를 카운팅하고, K가 16인 경우, 페일 비트 카운터(160)는 각각의 로우에 대하여 최대 16개까지의 페일 비트를 카운팅할 수 있으며, 16개*M개의 페일 비트를 카운팅할 수 있다. 페일 비트 카운터(160)는 카운팅된 값에 컬럼 샘플링 비율을 곱하여 페일 비트 값을 산출하므로, 최대 16*M*N/L 개의 페일 비트 값이 산출될 수 있다. 예를 들어 샘플링 비율이 8일 경우, 컬럼 샘플링 카운팅 방식을 적용하지 않는 경우보다 최대 8배 증가된 페일 비트 값을 산출할 수 있다.
본 개시의 실시예에 따른 페일 비트 카운팅 방법에 따르면, 샘플링 비율이 높아질수록, 페일 비트 카운터(160)로부터 출력되는 페일 비트 값의 정확도는 낮아지지만, 페일 비트 카운터(160)로부터 출력되는 페일 비트 값의 최대값이 증가될 수 있다. 다시 말해, 페일 비트 카운터(160)의 카운팅 능력이 향상될 수 있다.
도 13a 및 도 13b는 페이지 버퍼 어레이에 포함된 복수의 컬럼들 중 선택된 컬럼들을 나타내는 도면이다.
도 13a를 참조하면, 페이지 버퍼 어레이(PBAR)에서, 네 개의 컬럼들(C1~C4, C5~C8) 중 하나의 컬럼(C1, C5)가 선택될 수 있다. 선택된 컬럼(SC)들 간의 배치 간격은 동일할 수 있다.
도 13b를 참조하면, 여덟 개의 컬럼들(C1~C8, C9~16) 중 연속하여 배치되는 두 개의 컬럼(C1, C2, C9, C10)이 선택될 수 있다.
도 13a 및 도 13b는 선택된 컬럼들을 나타내는 예일 뿐이며, 본 개시의 기술적 사상은 이에 제한되는 것은 아니다. 컬럼들을 선택하는 방법은 이외에도 다양하게 적용될 수 있다.
도 14는 본 개시의 실시예에 따른 페일 비트 카운터의 카운팅 동작을 시간에 따라 나타내는 도면이다.
도 14를 참조하면, 페일 비트 카운터(160)는 제1 로우(R1)의 선택된 컬럼들(SC)의 페일 비트를 카운트하고, 제2 로우(R2)의 선택된 컬럼들(SC)의 페일 비트를 카운트할 수 있다. 이와 같이 순차적으로 제1 로우(R1)부터 제M 로우(RM)의 선택된 컬럼들(SC)의 페일 비트를 카운트할 수 있다.
도시되지는 않았으나, 페일 비트 카운터(160)는 제M 로우(RM)의 선택된 컬럼들(SC)의 페일 비트를 카운트한 후, 각 로우들에 대한 페일 비트 카운팅 값을 합산하고, 합산된 값에 샘플링 비율, 다시 말해, 선택된 컬럼의 수에 대한 전체 컬럼의 수를 곱하는 로직 연산을 수행함으로써, 페이지에 대한 페일 비트 값을 산출할 수 있다.
도 15는 본 개시의 실시예에 따른 페일 비트 카운팅 방법의 다른 구현예를 나타내는 흐름도이다.
도 15를 참조하면, 페이지 버퍼 어레이의 N개의 컬럼들을 각각 서로 다른 개수의 컬럼들을 포함하는 복수의 컬럼 그룹으로 구분될 수 있다(S210). 상기 동작은 제어 로직(120)에 수행되거나, 또는 페이지 버퍼 어레이(PBAR)와 페일 비트 카운터(160)의 물리적 연결 관계에 따라서 제조 단계에서 수행될 수 있다.
메모리 장치(100)가 동작 커맨드를 수신하고(S220), 동작 모드, 예컨대 SLC 기입 모드, MLC 기입 모드, 소거 모드 등에 따라 상기 동작이 수행되는 단위 셀들에 구동 전압을 인가한다(S230). 예컨대, 기입 모드일 경우, 메모리 셀 어레이(110)의 페이지에 포함되는 메모리 셀들에 프로그램 전압을 인가할 수 있다. 또한, 소거 모드일 경우, 메모리 셀 어레이(110)의 블록에 포함되는 메모리 셀들에 소거 전압을 인가할 수 있다.
이후, 동작 모드에 따라, 복수의 컬럼 그룹들 중 적어도 하나의 컬럼 그룹을 선택하고(S240), 선택된 적어도 하나의 컬럼 그룹에 포함된 페이지 버퍼들의 페일 비트를 카운팅할 수 있다(S250).
카운팅 값에 대하여, 샘플링 비율(N개/선택된 적어도 하나의 컬럼 그룹에 포함되는 컬럼들의 개수)을 곱하여 페일 비트 값을 산출한다(S260).
도 16의 페이지 버퍼 어레이를 참조하여, 도 15의 페일 비트 카운팅 방법을 보다 상세하게 설명하기로 한다.
도 16은 본 개시의 실시예에 따른 페이지 버퍼 어레이의 일 예를 나타내는 도면이다.
도 16을 참조하면, 페이지 버퍼 어레이(PBAR)는 복수의 서브 어레이들(SUBA1~SUBAk)을 포함할 수 있으며, 각 서브 어레이(SUBA)는 복수의 컬럼 그룹들(G1, G2, G3)을 포함할 수 있다. 도 16에서 도시된 바와 같이 서브 어레이(SUBA)가 여덟 개의 컬럼들(C1~C8)을 포함하며, 세 개의 컬럼 그룹들(G1, G2, G3)을 포함하는 경우를 예를 들어 설명하기로 한다.
서브 어레이(SUBA)에서, 제1 컬럼 그룹(G1)은 하나의 컬럼을 포함하고, 제2 컬럼 그룹(G2)은 두 개의 컬럼들을 포함하며, 제3 컬럼 그룹(G3)은 5개의 컬럼들을 포함할 수 있다. 이와 같이, 각 컬럼 그룹들(G1, G2, G5)에 포함되는 컬럼들의 개수는 상이할 수 있다.
제어 로직(도 1의 120)은 수신된 동작 커맨드에 따른 동작 모드에 따라 제1 내지 제3 컬럼 그룹들(G1, G2, G3) 중 적어도 하나의 컬럼 그룹을 선택할 수 있다. 이때, 동작 모드는, SLC, MLC 등에 대한 기입 동작 모드 또는 소거 모드일 수 있다. 프로그램 상태의 산포 특성이 중요한 동작 모드에서는 산출된 페일 비트 개수의 정확도가 중요할 수 있는바, 많은 수의 컬럼들이 선택될 수 있도록 제1 내지 제3 컬럼 그룹들(G1, G2, G3) 중 적어도 하나의 컬럼 그룹을 선택할 수 있다. 예컨대, TLC 기입 모드에서는, 제1 내지 제3 컬럼 그룹들(G1~G3) 모두를 선택하여 샘플링 비율을 낮추로, 페일 비트 값의 정확도를 높일 수 있다.
반대로, 프로그램 상태의 산포 특성보다 프로그램 속도가 중요한 동작 모드에서는 산출된 페일 비트 개수의 최대값이 클수 있도록, 적은 수의 컬럼들을 선택하기 위하여 제1 내지 제3 컬럼 그룹들(G1, G2, G3) 중 적어도 하나의 컬럼 그룹을 선택할 수 있다. 예컨대, SLC 기입 모드에서는, 제1 내지 제3 컬럼 그룹들(G1~G3)들 중 제1 컬럼 그룹(G1)을 선택하여 샘플링 비율을 높일 수 있다.
페일 비트 카운터(160)는 선택된 적어도 하나의 컬럼 그룹에 포함된 페이지 버퍼들의 페일 비트를 카운팅하고, 카운팅 값에 샘플링 비율을 곱합으로써, 페일 비트 값을 산출할 수 있다. 예컨데, 페일 비트 카운터(160)는 TLC 기입 모드 시, 페일 비트 카운팅 값에 샘플링 비율인 8/8을 곱하고, SLC 기입 모드 시, 페일 비트 카운팅 값에 샘플링 비율인, 8/1을 곱할 수 있다.
이와 같이, 도 15를 참조하여 설명한 페일 비트 카운팅 방법에 따르면, 동작 모드에 따라, 컬럼 샘플링 비율을 조절함으로써, 동작 모드에 따른 산포 특성 및 프로그램 속도 특성의 스펙을 만족할 수 있다.
도 17은 본 개시의 실시예에 다른 페이지 버퍼부의 일 구현예를 나타낸다.
도 17을 참조하면, 페이지 버퍼부(150b)는 서브 어레이(SUBA) 및 연결 회로(151)를 포함할 수 있다. 설명의 편의를 위하여 하나의 서브 어레이(SUBA)만을 도시하였으나, 페이지 버퍼부(150b)는 도시된 서브 어레이(SUBA)와 동일한 구조 및 동일한 연결 관계를 갖는 복수의 서브 어레이(SUBA)를 포함할 수 있으며, 상기 복수의 서브 어레이(SUBA)는 페이지 버퍼 어레이를 구성할 수 있다.
서브 어레이(SUBA)는 서로 다른 개수의 컬럼들을 포함하는 복수의 컬럼 그룹(G1, G2, G3)을 포함할 수 있다. 제1 컬럼 그룹(G1)에 포함된 컬럼(C1)은 제1 감지 노드(N1)에 연결되고, 제2 컬럼 그룹(G2)에 포함된 컬럼(C4, C8)은 제2 감지 노드(N2)에 연결되고, 제2 컬럼 그룹(G3)에 포함된 컬럼(C2, C3, C5, C6, C7)은 제3 감지 노드(N3)에 연결될 수 있다. 각각의 감지 노드가 연결 회로(151)를 통해 페일 비트 카운터(160)의 입력 노드(NI)에 연결됨으로서, 각각의 감지 노드에 연결된 컬럼들이 페일 비트 카운터(160)에 연결될 수 있다.
연결 회로(151)는 제1 내지 제3 감지 노드(N1, N2, N3)를 페일 비트 카운터(160)의 입력 노드(NI)에 연결하는 제1 내지 제3 스위치(SW1, SW2, SW3)를 포함할 수 있다. 제1 내지 제3 스위치(SW1, SW2, SW3)는 입력되는 연결 제어 신호(CNS)에 응답하여, 턴온 또는 턴오프될 수 있다. 연결 제어 신호(CNS)는 세 비트의 신호(S[3:1])일 수 있다. 제1 스위치(SW1)는 연결 제어 신호(CNS)의 제1 신호(S1)에 응답하여, 턴온되어, 제1 감지 노드(N1)를 페일 비트 카운터(160)의 입력 노드(NI)에 연결할 수 있다. 제2 스위치(SW2)는 열결 제어 신호(CNS)의 제2 신호(S2)에 응답하여 턴온되어, 제2 감지 노드(N2)를 페일 비트 카운터(160)의 입력 노드(N1)에 연결할 수 있다. 제3 스위치(SW3)는 연결 제어 신호(CNS)의 제3 신호(S3)에 응답하여 턴온되어, 제3 감지 노드(N3)를 페일 비트 카운터(160)의 입력 노드(N1)에 연결할 수 있다.
한편, 연결 제어 신호(CNS)는 제어 로직(도 1의 120)으로부터 수신될 수 있다. 제어 로직(120)은 외부, 예컨대 메모리 컨트롤러로부터 수신되는 동작 커맨드에 응답하여, 제1 내지 제3 컬럼 그룹들(G1, G2, G3) 중 적어도 하나의 컬럼 그룹을 선택하는 연결 제어 신호(CNS)를 생성할 수 있다.
이하, 도 18 내지 도 19c를 참조하여, 도 17의 페이지 버퍼부에서, 동작 모드에 따라, 복수의 컬럼 그룹들 중 적어도 하나의 컬럼 그룹을 선택하고, 선택된 컬럼 그룹의 페일 비트를 카운팅하는 방법을 설명하기로 한다.
도 18은 동작 모드들에 따른 페일 비트 카운팅 방법을 시간에 따라 나타내는 도면이고, 도 19a 내지 도 19c는 도 18의 각 동작 모드에 따라 선택되는 컬럼 그룹 및 연결 회로의 동작을 나타내는 도면이다.
도 18을 참조하면, 제1 동작 모드(OP1)는 SLC 기입 모드일 수 있다. SLC 기입 모드의 경우, 프로그램 산포 특성의 스펙이 넓을 수 있다. 제어 로직(도 1의 120)은 페이지 버퍼부(150b)의 제1 내지 제3 컬럼 그룹들(G1, G2, G3) 중 제1 컬럼 그룹(G1)을 선택하는 연결 제어 신호(CNS)를 생성할 수 있다. 연결 제어 신호(CNS)의 제1 내지 제3 신호(S[3:1])는 '001'일 수 있다. 이에 따라, 도 19a에 도시된 바와 같이, 연결 회로(151)의 제1 스위치(SW1)가 턴온되고, 각 서브 어레이(SUBA)에서 제1 컬럼 그룹(G1)에 포함되는 하나의 컬럼(C1) 이 선택될 수 있다. 페일 비트 카운터(160)는 제1 로우(R1)부터 제M 로우(RM)까지 순차적으로 각 로우에 포함되는, 제1 컬럼 그룹(G1)의 페일 비트를 카운트 할 수 있다.
제2 동작 모드(OP2)는 MLC 기입 모드일 수 있다. 제어 로직(120)은 제1 내지 제3 컬럼 그룹들(G1, G2, G3) 중 제2 컬럼 그룹(G2)을 선택하는 연결 제어 신호(CNS)를 생성할 수 있다. 연결 제어 신호(CNS)의 제1 내지 제3 신호(S[3:1])는 '010'일 수 있다. 이에 따라, 도 19b에 도시된 바와 같이, 연결 회로(151)의 제2 스위치(SW2)가 턴온되고, 각 서브 어레이(SUBA)에서 제2 컬럼 그룹(G2)에 포함되는 두 개의 컬럼들(C4, C8)이 선택될 수 있다. 페일 비트 카운터(160)는 제1 로우(R1)부터 제M 로우(RM)까지 순차적으로 각 로우에 포함되는, 제2 컬럼 그룹(G2)의 페일 비트를 카운트 할 수 있다.
제3 동작 모드(OP2)는 소거 모드일 수 있다. 제어 로직(120)은 제1 내지 제3 컬럼 그룹들(G1, G2, G3) 중 제1 및 제3 컬럼 그룹(G3)을 선택하는 연결 제어 신호(CNS)를 생성할 수 있다. 연결 제어 신호(CNS)의 제1 내지 제3 신호(S[3:1])는 '101'일 수 있다. 이에 따라, 도 19b에 도시된 바와 같이, 연결 회로(151)의 제1 스위치(SW1) 및 제3 스위치(SW3)가 턴온되고, 각 서브 어레이(SUBA)에서 제1 및 제3 컬럼 그룹(G1, G3)에 포함되는 여섯 개의 컬럼들(C1, C2, C3, C5, C6, C7)이 선택될 수 있다. 페일 비트 카운터(160)는 제1 로우(R1)부터 제M 로우(RM)까지 순차적으로 각 로우에 포함되는, 제1 및 제3 컬럼 그룹(G1, G3)의 페일 비트를 카운트 할 수 있다.
도 20은 본 개시의 실시예에 다른 페일 비트 카운터의 일 구현예를 나타내는 블록도이다.
도 20을 참조하면, 페일 비트 카운터는 아날로그-디지털 변환기(161, 이하 ADC라고 함) 및 연산 로직(162)을 포함할 수 있다. ADC(161)는 입력 노드(NI)로부터 인가되는 아날로그 신호, 예컨대 전류 신호를 디지털 신호로 변환할 수 있다. 변환된 디지털 신호는 페일 비트의 카운팅 값으로 나타낼 수 있다. ADC(161)는 입력되는 신호를 기초로, 최대 K비트를 카운팅 할 수 있다. 예컨대, K가 16인 경우, ADC(161)는 입력 신호를 4-비트의 디지털 신호로 변환할 수 있으며, 이에 따라 최대 16 비트를 카운팅할 수 있다.
ADC(161)는 페이지 버퍼부(150)에 포함된 페이지 버퍼 어레이에서, 각각의 로우마다, 선택된 칼럼들의 페일 비트를 카운팅하고, 카운팅 결과에 따른 로우 카운팅 값(NORC)을 연산 로직(162)에 제공할 수 있다.
연산 로직(162)은 ADC(161)로부터 제공되는 로우 카운팅 값(NORC)을 합산하여, 페이지 버퍼 어레이에 대한 카운팅 값(CV)을 생성하고, 카운팅 값에 샘플링 비율(N/L)을 곱하여 페이지 버퍼의 페일 비트 값(CN)을 산출할 수 있다. 이때, 연산 로직(162)은 제어 신호(CNS)의 데이터 값을 기초로, 상기 샘플링 비율(V/L)을 결정할 수 있다.
도 21은 본 개시의 실시 예에 따른 페일 비트 카운팅 방법에 있어서, 컬럼 샘플링 비율에 따른 페일 비트의 최대 카운팅 비트를 나타내는 테이블이다.
도 21의 테이블에서, N은 페이지 버퍼부(도 1의 150)의 페이지 버퍼 어레이(PBAR) 포함되는 컬럼들의 개수이고, A는 제1 컬럼 그룹들에 포함되는 컬럼들의 개수, B는 제2 컬럼 그룹들에 포함되는 컬럼들의 개수, C는 제3 컬럼 그룹들에 포함되는 컬럼들의 개수를 나타낸다. 페일 비트 카운터(160)가 한번에 최대 K비트를 카운트하고, 페이지 버퍼 어레이(PBAR)에 포함되는 로우의 개수가 M개일 때, 각 컬럼 샘플링 비율에 대한 최대 카운트 비트는 K*M*샘플링 비율로 나타낼 수 있다. 컬럼 샘플링 비율이 높을수록, 다시 말해, 선택되는 컬럼의 수가 적을수록 최대 카운트 비트는 증가할 수 있다. 다만, 전술한 바와 같이, 컬럼 샘플링 비율이 높을 때, 페일 비트 값의 정확도가 낮아지므로, 컬럼 샘플링 비율은 동작 모드에 따른 프로그램 상태의 산포 특성, 프로그램 시간 등을 고려하여 결정할 수 있다.
도 22는 본 개시의 실시예에 다른 페일 비트 카운팅 방법을 나타내는 흐름도이다.
도 22를 참조하면, 제어 로직(도 1의 120)은 페이지 버퍼 어레이의 N개의 컬럼들 중 L개의 컬럼들을 선택하고(S310), 페이지 버퍼 어레이의 M개의 로우들 중 P개의 로우들을 선택할 수 있다(S320).
페일 비트 카운터(160)는 선택된 L개의 컬럼들 및 P개(P는 2 이상, L 이하의 정수)의 로우들에 포함된 페이지 버퍼들의 페일 비트를 카운팅할 수 있다(S330). 다시 말해, 페일 비트 카운터(160)는 컬럼 샘플링 및 로우 샘플링을 통하여 선택된 페이 버퍼들의 페일 비트를 카운팅할 수 있다.
페일 비트 카운터(160)는 카운팅 값에 컬럼 샘플링 비율(N/L) 및 로우 샘플링 비율(M/P)을 곱하여 페일 비트 값을 산출할 수 있다(S340).
도 23a는 페이지 버퍼 어레이에 포함된 복수의 컬럼들 및 복수의 로우들 중 선택된 컬럼들 및 로우들을 나타내는 도면이고, 도 23b는 도23a에서 선택된 컬럼들 및 로우들에 포함되는 페이지 버퍼의 페일 비트를 카운팅하는 동작을 시간에 따라 나타내는 도면이다.
도 23a를 참조하면, 제1 내지 제N 컬럼들(C1~CN) 중 일부 컬럼들이 선택될 수 있으며, 예컨대 도시된 바와 같이, 매 8개의 컬럼들 중 두 개의 컬럼이 선택될 수 있다. 또한, 제1 내지 제M 로우들(R1~RM) 중 일부 로우들이 선택될 수 있으며, 예컨대 도시된 바와 같이, 홀수번째 로우들이 선택될 수 있다. 그러나, 이는 일실시예일 뿐이며, 컬럼 및 로우의 선택은 다양하게 변경될 수 있다.
도 23b를 참조하면, 페일 비트 카운터(160)는 선택된 로우들에 대하여 매 로우마다 선택된 컬럼에 포함된 페일 비트를 카운트할 수 있다. 도시된 바와 같이, 제1 로우(R1)의 선택된 컬럼들(SC)의 페일 비트를 카운트하고, 이어서 제3 로우(R1)의 선택된 컬럼들(SC)의 페일 비트를 카운트할 수 있다. M이 짝수일 경우, 순차적으로 제1 로우(R1) 부터 제M-1 로우(RM-1)의 선택된 컬럼들(SC)의 페일 비트를 카운트할 수 있다. 로우들을 샘플링하여 카운팅하므로, 카운팅 시간이 감소될 수 있다. 도시된 바와 같이, 전체 로우들 중 절반의 로우들을 선택하고, 선택된 로우들에 포함된 페일 비트를 카운팅하는 경우, 카운팅 시간은 전체 로우들의 페일 비트를 카운팅 하는 시간의 약 절반일 소요될 수 있다.
한편, 다른 실시예에 있어서, 제1 내지 제M 로우들(R1~RM) 중 상위 또는 하위의 절반의 로우들이 선택될 수 있다. 예컨대, 제1 내지 제M/2 로우들(R1~RM/2)이 선택될 수 있다. 페일 비트 카운터(160)는 순차적으로 제1 로우(R1)부터 제M/2 로우(RM/2)의 선택된 컬럼들(SC)의 페일 비트를 카운트할 수 있다.
도 22내지 도 23b를 참조하여 설명한 바와 같이, 로우 샘플링을 통하여 페일 비트 값을 산출하는 경우, 로우 샘플링 비율은 산출되는 페일 비트 값과 무관하다. 그러나, 로우 샘플링 비율이 높을 수록, 카운팅 시간이 감소될 수 있는 이점이 있다.
도 24는 본 개시의 실시예에 다른 메모리 장치를 나타내는 블록도이다.
도 24를 참조하면, 메모리 장치(100a)는 복수의 셀 어레이(MAT1, MAT2, MAT3, MAT4) 및 각각의 셀 어레이에 연결된 복수의 페이지 버퍼부(151, 152, 153, 154) 및 각의 페이지 버퍼부에 연결된 페일 비트 카운터(160_1, 160_2, 160_3, 160_4)를 포함할 수 있다. 또한, 메모리 장치(100a)는 제어 로직(120)을 포함할 수 있으며, 이외에도 도 1을 참조하여 설명한 구성들을 더 포함할 수 있다.
예를 들어, 복수의 페이지 버퍼부(151, 152, 153, 154) 각각은 4KB이고, 각 페이지 버퍼부에 포함되는 페이지 버퍼 어레이가 16개의 로우들을 포함하고, 페일 비트 카운터(160_1, 160_2, 160_3, 160_4) 각각은 한번에 최대 16비트를 카운트 한다고 가정할 경우, 복수의 페일 비트 카운터(160_1, 160_2, 160_3, 160_4)가 카운트 할 수 있는 최대 페일 비트 수는 1024 비트(16비트 * 16 로우 * 4 = 1024 비트) 일 수 있다. 그러나, 도 11내지 도 23b를 참조하여 전술한 바와 같이, 본 개시의 실시예에 따른 칼럼 샘플링 방식으로 페일 비트를 카운팅할 경우, 더 많은 수의 페일 비트를 카운트할 수 있다.
도 25는 본 개시의 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
메모리 시스템(1000)은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants: PDA), 피엠피(Portable Multimedia Player: PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 전자 장치에 탑재될 수 있다.
도 25를 참조하면, 메모리 시스템(1000)은 메모리 장치(100) 및 메모리 컨트롤러(200)를 포함할 수 있다. 메모리 장치(100)는 메모리 셀 어레이(110), 페이지 버퍼부(150), 페일 비트 카운터(160) 및 제어 로직(120)을 포함할 수 있다.
메모리 컨트롤러(200)는 호스트(HOST)로부터의 독출/기입 요청에 응답하여 메모리 장치(100)에 저장된 데이터를 독출하도록 또는 메모리 장치(100)에 데이터를 기입하도록 메모리 장치(100)를 제어할 수 있다. 구체적으로, 메모리 컨트롤러(200)는 메모리 장치(100)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(100)에 대한 프로그램(또는 기입), 독출 및 소거 동작을 제어할 수 있다. 메모리 컨트롤러(200)는 프로그램 동작을 위한 데이터(DATA)를 메모리 장치(100)에 송신할 수 있다. 메모리 컨트롤러(200)는 메모리 장치(100)의 프로그램 단위에 해당하는 사이즈의 데이터(DATA), 상기 데이터가 저장되는 어드레스(ADDR) 및 기입 요청을 나타내는 커맨드(CMD)를 메모리 장치(100)로 제공할 수 있다.
도시되지는 않았으나, 메모리 컨트롤러(200)는 램(RAM), 프로세싱 유닛(processing unit), 호스트 인터페이스 및 메모리 인터페이스를 포함할 수 있다. 램은 프로세싱 유닛의 동작 메모리로서 이용될 수 있고, 프로세싱 유닛은 메모리 컨트롤러(200)의 동작을 제어할 수 있다. 호스트 인터페이스는 호스트 및 메모리 컨트롤러(200) 사이의 데이터 교환을 수행하기 위한 프로토콜(protocol)을 포함할 수 있다. 예를 들어, 메모리 컨트롤러(200)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 외부(HOST)와 통신하도록 구성될 수 있다.
메모리 장치(100)의 구성 요소는 도 1을 참조하여 설명한 바 중복되는 설명은 생략하기로 한다. 도 15를 참조하여 전술한 바와 같이, 제어 로직(150)은 메모리 컨트롤러(200)로부터 수신되는 커맨드(CMD)가 나타내는 동작 모드에 따라, 메모리 셀 어레이(110)에 인가될 구동 전압들의 전압 레벨을 설정하고, 또한, 동작 모드에 따라 페이지 버퍼부(150)의 페이지 버퍼 어레이에서 복수의 컬럼 그룹들 중 적어도 하나의 컬럼 그룹을 선택하는 신호, 예컨대 연결 제어 신호를 페이지 버퍼부(150)에 제공할 수 있다. 페일 비트 카운터(160)는 메모리 셀들에 대하여 프로그램 동작 및 검증 동작이 수행된 후, 선택된 복수의 컬럼 그룹에 포함된 페일 비트를 카운팅하고, 카운팅 값에 컬럼 샘플링 비율을 곱함으로써 페일 비트 값을 산출할 수 있다. 제어 로직(120)은 페일 비트 값이 미리 설정된 임계값 이하이면, 추가 프로그램 동작 수행 후의, 검증 동작을 생략할 수 있다. 이에 따라, 메모리 장치(100)는 각 프로그램 상태 마다 1회의 검증 동작을 생략할 수 있는바, 프로그램 속도가 향상될 수 있다. 또한, 메모리 시스템(1000)의 동작 속도가 향상될 수 있다.
도 26은 본 개시의 일 실시예에 따른 메모리 카드 시스템을 나타내는 블록도이다.
도 26을 참조하면, 메모리 카드 시스템(2000)은 호스트(2100) 및 메모리 카드(2200)를 포함할 수 있다. 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 접속부(2120)를 포함할 수 있다. 메모리 카드(2200)는 카드 접속부(2210), 카드 컨트롤러(2220) 및 메모리 장치(2220)를 포함할 수 있다.
호스트(2100)는 메모리 카드(2200)에 데이터를 기입하거나, 메모리 카드(2200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(2110)는 커맨드(CMD), 호스트(2100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(2120)를 통해 메모리 카드(2200)로 전송할 수 있다.
카드 컨트롤러(2220)는 카드 접속부(2210)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(2220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(2220)에 저장할 수 있다. 메모리 장치(2220)는 호스트(2100)로부터 전송된 데이터를 저장할 수 있다. 메모리 장치(2220)는 도 1 및 도 24를 참조하여 전술한 메모리 장치(도 1의 100, 도 24의 100a)를 포함할 수 있다. 따라서, 메모리 장치(2220)의 데이터를 프로그램 하는 시간이 단축될 수 있으며, 메모리 카드(2200)의 동작 속도 및 메모리 카드 시스템(2000)의 동작 속도가 향상될 수 있다.
메모리 카드(2200)는 컴팩트 플래쉬 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래쉬 메모리 드라이버 등으로 구현될 수 있다.
도 27은 본 개시의 일 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 27을 참조하면, 컴퓨팅 시스템(3000)은 메모리 시스템(3100), 프로세서(3200), RAM(3300), 입출력 장치(3400), 및 전원 장치(3500) 포함할 수 있다. 한편, 도 27에는 도시되지 않았지만, 컴퓨팅 시스템(3000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(3000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
프로세서(3200)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(3200)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(3200)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(3600)를 통하여 RAM(3300), 입출력 장치(3400) 및 메모리 시스템(3100)과 통신을 수행할 수 있다. 실시예에 따라, 프로세서(3200)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 시스템(3100)은 버스(3600)를 통하여 프로세서(3200), RAM(3300) 및 입출력 장치(3500)와 통신할 수 있다. 메모리 시스템(3100)은 프로세서(3200)의 요청에 따라, 수신되는 데이터를 저장하거나 저장된 데이터를 프로세서(3200), RAM(3300) 또는 입출력 장치(3400)에 제공할 수 있다. 한편, 메모리 시스템(3100)에는 도 25를 참조하여 설명한 메모리 시스템(1000) 이 적용될 수 있다. 도 25의 메모리 컨트롤러(200)의 구성 및 기능은 메모리 컨트롤러(3120)에 적용될 수 있다. 메모리 장치(3110)는 도 25의 메모리 장치(100)의 구성 및 기능이 적용될 수 있다. 이에 따라 메모리 장치(3110)의 데이터 프로그램 시간이 단축될 수 있어, 메모리 시스템(3100)의 동작 속도 및 컴퓨팅 시스템(3000) 동작 속도가 향상될 수 있다.
RAM(3300)은 컴퓨팅 시스템(3000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, RAM(3300)은 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(3400)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(3500)는 컴퓨팅 시스템(2000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 28은 본 개시의 일 실시예에 따른 SSD 시스템을 나타내는 블록도이다.
도 28을 참조하면, SSD 시스템(4000)은 호스트(4100) 및 SSD(4200)를 포함할 수 있다. SSD(4200)는 신호 커넥터(signal connector)를 통해 호스트(4100)와 신호를 주고 받으며, 전원 커넥터(power connector)를 통해 전원을 입력 받는다.
SSD(4200)는 SSD 컨트롤러(4210), 보조 전원 장치(4220) 및 복수의 메모리 장치들(4230, 4240, 4250)을 포함할 수 있다. 상기 복수의 메모리 장치들(4230, 4240, 4250)은 수직 적층형 NAND 플래시 메모리 장치일 수 있다. 그러나 이에 제한되는 것은 아니며, 복수의 메모리 장치들(4230, 4240, 4250) 중 적어도 하나는 플래너 타임의 메모리 장치일 수 있다.
복수의 메모리 장치들(4230, 4240, 4250) 중 적어도 하나는 도 1을 참조하여 설명한 메모리 장치(100)를 포함할 수 있다. 이에 따라 메모리 장치의 데이터 프로그램 시간이 단축되 수 있는바, SSD(4200)의 동작 특성이 향상될 수 있다.
도 29는 본 개시의 실시예에 따른 UFS(uiversal flash storage)를 나타내는 블록도이다.
도 29를 참조하면, UFS 시스템(5000)은 UFS 호스트(5100), UFS 장치들(5200, 5300), 임베디드 UFS 장치(5400), 착탈형 UFS 카드(5500)를 포함할 수 있다. UFS 호스트(5100)는 모바일 장치의 어플리케이션 프로세서일 수 있다.
UFS 호스트(5100), UFS 장치들(5200, 5300), 임베디드 UFS 장치(5400), 및 착탈형 UFS 카드(5500) 각각은 UFS 프로토콜에 의하여 외부의 장치들과 통신할 수 있다. UFS 장치들(5200, 5300), 임베디드 UFS 장치(5400), 및 착탈형 UFS 카드(5500) 중 적어도 하나는 도 1 에 도시된 메모리 장치(100)를 포함할 수 있다. 이에 따라, UFS 시스템(5000)의 동작 속도가 향상될 수 있다.
한편, 임베디드 UFS 장치(5400)와 착탈형 UFS 카드(5500)는 UFS 프로토콜이 아닌 다른 프로토콜에 의해 통신할 수 있다. UFS 호스트(5100)와 착탈형 UFS 카드(5500)는 다양한 카드 프로토콜(예를 들어, UFDs, MMC, SD, mini SD, Micro SD 등)에 의해 통신할 수 있다.
본 개시의 실시예들에 따른 메모리 카드, 비휘발성 메모리 장치, 카드 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 개시에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
본 개시는 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
1000: 메모리 시스템
100, 100a: 메모리 장치
200: 메모리 컨트롤러
150: 페이지 버퍼부
160: 페일 비트 카운터

Claims (10)

  1. 복수의 페이지 버퍼가 매트릭스 형태로 배열된 페이지 버퍼 어레이를 포함하는 비휘발성 메모리 장치의 동작 방법에 있어서,
    상기 페이지 버퍼 어레이의 복수의 컬럼들 중 일부 컬럼들을 선택하는 단계; 및
    상기 선택된 컬럼들에 포함된 페이지 버퍼들에 저장된 페일 비트를 카운팅하는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
  2. 제1 항에 있어서, 상기 페일 비트를 카운팅하는 단계는,
    상기 페이지 버퍼 어레이의 매 로우 단위로 상기 선택된 컬럼들에 포함된 페이지 버퍼들에 저장된 페일 비트를 카운팅하고, 각각의 로우에 대응하는 카운팅 결과를 합산하는 것을 특징으로 하는 메모리 장치의 동작 방법.
  3. 제1 항에 있어서, 상기 복수의 컬럼들 각각은 메모리 셀 어레이의 비트 라인이 연장된 방향으로 차례로 배열된 페이지 버퍼들을 포함하는 것을 특징으로 하는 메모리 장치의 동작 방법.
  4. 제1 항에 있어서, 상기 복수의 컬럼들은 복수의 그룹으로 구분되며,
    상기 일부 컬럼들을 선택하는 단계는, 동작 모드에 따라, 상기 복수의 그룹 중 적어도 하나의 그룹을 선택하는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  5. 제4 항에 있어서, 상기 복수의 그룹 각각에 포함되는 컬럼의 개수는 서로 상이한 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  6. 제4 항에 있어서,
    상기 복수의 그룹은 서로 다른 감지 노드들에 연결되고, 상기 감지 노드들은, 상기 동작 모드에 따른 제어 신호에 기초하여 선택적으로 상기 페일 비트를 카운팅하는 비트 카운터의 입력 노드에 연결되는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  7. 제1 항에 있어서,
    페일 비트 카운팅 결과에 컬럼 샘플링 비율을 곱하여 페일 비트 값을 산출하는 단계를 더 포함하고,
    상기 컬럼 샘플링 비율은 상기 일부 컬럼들의 개수에 대한 상기 일부 컬럼들의 개수의 비인 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  8. 제7 항에 있어서,
    상기 카운팅 단계 이전에,
    메모리 셀들에 프로그램 전압을 인가하는 단계;
    제n 프로그램 상태에 대한 검증 동작을 수행하는 단계; 및
    전압 레벨이 증가된 프로그램 전압을 상기 제n 프로그램 상태에 대하여 페일 처리된 메모리 셀들에 인가하는 단계를 더 포함하고,
    상기 페일 비트 값이 미리 설정된 임계값 이하이면,
    상기 증가된 프로그램 전압을 인가하는 단계 이후, 상기 제n 프로그램 상태에 대한 추가적인 검증 동작을 수행하지 않는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  9. 제8 항에 있어서, 상기 증가된 프로그램 전압을 인가하는 단계가 수행되는 시간 구간 및 상기 페일 비트를 카운팅하는 단계가 수행되는 시간 구간은 서로 오버랩되는 것을 특징으로 하는 비휘발성 메모리 장치의 동작 방법.
  10. 복수의 메모리 셀들을 포함하는 비휘발성 메모리 장치의 동작 방법에 있어서,
    복수의 메모리 셀들에 프로그램 전압을 인가하는 단계;
    상기 복수의 메모리 셀들에 대하여 제n 프로그램 상태에 대응하는 검증 동작을 수행하는 단계;
    상기 제n 프로그램 상태에 대하여 페일 처리된 메모리 셀들의 개수를 카운팅하는 단계;
    전압 레벨이 증가된 프로그램 전압을 상기 페일 처리된 메모리 셀들에 인가하는 단계; 및
    상기 카운팅 결과에 따른 페일 비트 값이 미리 설정된 임계값 이하이면, 상기 복수의 메모리 셀들 중 일부 메모리 셀들을 제n+1 프로그램 상태로 프로그램하는 동작을 수행하는 단계를 포함하는 비휘발성 메모리 장치의 동작 방법.
KR1020160005330A 2016-01-15 2016-01-15 비휘발성 메모리 장치의 동작 방법 KR102505852B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160005330A KR102505852B1 (ko) 2016-01-15 2016-01-15 비휘발성 메모리 장치의 동작 방법
US15/405,339 US10402247B2 (en) 2016-01-15 2017-01-13 Operating method of non-volatile memory device
CN201710024781.1A CN106981306B (zh) 2016-01-15 2017-01-13 非易失性存储器装置的操作方法
US16/297,763 US10665302B2 (en) 2016-01-15 2019-03-11 Non-volatile memory device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160005330A KR102505852B1 (ko) 2016-01-15 2016-01-15 비휘발성 메모리 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20170085779A true KR20170085779A (ko) 2017-07-25
KR102505852B1 KR102505852B1 (ko) 2023-03-03

Family

ID=59314533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160005330A KR102505852B1 (ko) 2016-01-15 2016-01-15 비휘발성 메모리 장치의 동작 방법

Country Status (3)

Country Link
US (1) US10402247B2 (ko)
KR (1) KR102505852B1 (ko)
CN (1) CN106981306B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7916544B2 (en) 2008-01-25 2011-03-29 Micron Technology, Inc. Random telegraph signal noise reduction scheme for semiconductor memories
KR20180007187A (ko) * 2016-07-12 2018-01-22 에스케이하이닉스 주식회사 전자 장치 및 전자 장치의 동작 방법
KR102634421B1 (ko) * 2016-11-21 2024-02-06 에스케이하이닉스 주식회사 페일 비트 카운터 및 이를 포함하는 반도체 메모리 장치
DE102018126051A1 (de) 2018-01-12 2019-07-18 Taiwan Semiconductor Manufacturing Co. Ltd. Neuartige Speichervorrichtung
US10643722B2 (en) 2018-01-12 2020-05-05 Taiwan Semiconductor Manufacturing Co., Ltd. Memory device
KR102443031B1 (ko) 2018-02-19 2022-09-14 삼성전자주식회사 메모리 장치
KR20210004135A (ko) * 2019-07-03 2021-01-13 에스케이하이닉스 주식회사 패일 정보 제어회로, 이를 포함하는 반도체 장치 및 반도체 장치의 패일 정보 제어방법
CN111599400B (zh) * 2020-04-08 2021-09-07 长江存储科技有限责任公司 一种失败比特数统计方法及存储器设备
TWI730767B (zh) * 2020-05-18 2021-06-11 瑞昱半導體股份有限公司 記憶體裝置
CN113721831A (zh) * 2020-05-25 2021-11-30 瑞昱半导体股份有限公司 存储器装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100013962A (ko) * 2008-08-01 2010-02-10 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US20100034025A1 (en) * 2008-08-07 2010-02-11 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage system
KR20100088913A (ko) * 2009-02-02 2010-08-11 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 동작 방법
KR20100106765A (ko) * 2009-03-24 2010-10-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US20100329030A1 (en) * 2009-06-29 2010-12-30 Hynix Semiconductor Inc. Nonvolatile memory device and method of programming the same
KR20110022414A (ko) * 2009-08-27 2011-03-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR20120043516A (ko) * 2010-10-26 2012-05-04 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 이의 동작 방법
KR20120098164A (ko) * 2011-02-28 2012-09-05 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100399353B1 (ko) 2001-07-13 2003-09-26 삼성전자주식회사 시분할 감지 기능을 구비한 불 휘발성 반도체 메모리 장치및 그것의 읽기 방법
JP2006012367A (ja) 2004-06-29 2006-01-12 Toshiba Corp 不揮発性半導体記憶装置
US7428180B2 (en) 2006-01-25 2008-09-23 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices
US7817470B2 (en) 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture
KR100933859B1 (ko) * 2007-11-29 2009-12-24 주식회사 하이닉스반도체 플래시 메모리 소자 및 그것의 프로그램 방법
JP5284737B2 (ja) 2008-09-19 2013-09-11 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置とそのフェイルビット数計数方法
KR20100089508A (ko) 2009-02-04 2010-08-12 주식회사 하이닉스반도체 페일 비트 검증 회로 및 이를 포함하는 반도체 메모리 소자
KR101802815B1 (ko) * 2011-06-08 2017-12-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 프로그램 방법
US8508992B2 (en) 2010-07-09 2013-08-13 SK Hynix Inc. Semiconductor memory device and method of operating the same
JP2012133840A (ja) 2010-12-20 2012-07-12 Samsung Yokohama Research Institute Co Ltd 半導体記憶装置、及び記憶方法
CN107133122B (zh) * 2012-06-06 2020-10-27 慧荣科技股份有限公司 存储器控制方法
KR101942863B1 (ko) * 2012-06-19 2019-01-28 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101984900B1 (ko) 2012-07-24 2019-05-31 삼성전자 주식회사 메모리 장치 및 상기 메모리 장치의 독출 전압 결정 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100013962A (ko) * 2008-08-01 2010-02-10 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US20100034025A1 (en) * 2008-08-07 2010-02-11 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage system
KR20100088913A (ko) * 2009-02-02 2010-08-11 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 동작 방법
KR20100106765A (ko) * 2009-03-24 2010-10-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US20100329030A1 (en) * 2009-06-29 2010-12-30 Hynix Semiconductor Inc. Nonvolatile memory device and method of programming the same
KR20110022414A (ko) * 2009-08-27 2011-03-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR20120043516A (ko) * 2010-10-26 2012-05-04 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 이의 동작 방법
KR20120098164A (ko) * 2011-02-28 2012-09-05 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작방법

Also Published As

Publication number Publication date
CN106981306A (zh) 2017-07-25
CN106981306B (zh) 2023-07-07
KR102505852B1 (ko) 2023-03-03
US20170206124A1 (en) 2017-07-20
US10402247B2 (en) 2019-09-03

Similar Documents

Publication Publication Date Title
KR102505852B1 (ko) 비휘발성 메모리 장치의 동작 방법
US10090045B2 (en) Programming method of non volatile memory device according to program speed of memory cells
US9959933B2 (en) Non-volatile memory devices and methods of operating the same
CN107123442B (zh) 存储器装置和存储器系统
KR102292642B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
CN106486166B (zh) 存储器设备、存储器系统及其操作方法
US10573378B2 (en) Methods of programming memory devices
CN109785887B (zh) 非易失性存储器设备及其操作方法
JP6238613B2 (ja) メモリ装置、メモリシステム及び該メモリ装置の読み取り電圧の制御方法
KR102449196B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
KR20170052390A (ko) 메모리 장치 및 메모리 장치의 동작 방법
KR102314136B1 (ko) 비휘발성 메모리 장치, 메모리 시스템 및 그것의 동작 방법
US10665302B2 (en) Non-volatile memory device and operating method thereof
KR20110131648A (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
US10748632B2 (en) Nonvolatile memory device and method of programming with bit line programming forcing voltage and programming inhibition voltage
CN106504791B (zh) 存储装置、存储系统、操作存储装置以及存储系统的方法
KR20190057701A (ko) 비휘발성 메모리 장치 및 그것의 소거 방법
KR20160090124A (ko) 메모리 시스템의 동작 방법
US20170117056A1 (en) Memory device and an edge word line management method thereof
KR102397394B1 (ko) 비휘발성 메모리 장치의 동작 방법
KR102502234B1 (ko) 비휘발성 메모리 장치의 프로그램 방법
KR102361642B1 (ko) 비휘발성 메모리 장치의 프로그램 방법 및 동작 방법
EP3937176B1 (en) Memory device with conditional skip of verify operation during write and operating method thereof
CN117079682A (zh) 被配置为减少验证时间的存储器装置及其操作方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right