KR102198855B1 - 메모리 시스템 및 상기 메모리 시스템의 동작 방법 - Google Patents

메모리 시스템 및 상기 메모리 시스템의 동작 방법 Download PDF

Info

Publication number
KR102198855B1
KR102198855B1 KR1020140049461A KR20140049461A KR102198855B1 KR 102198855 B1 KR102198855 B1 KR 102198855B1 KR 1020140049461 A KR1020140049461 A KR 1020140049461A KR 20140049461 A KR20140049461 A KR 20140049461A KR 102198855 B1 KR102198855 B1 KR 102198855B1
Authority
KR
South Korea
Prior art keywords
read
voltage level
memory
command
program
Prior art date
Application number
KR1020140049461A
Other languages
English (en)
Other versions
KR20150123057A (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 KR1020140049461A priority Critical patent/KR102198855B1/ko
Priority to US14/686,483 priority patent/US9477410B2/en
Publication of KR20150123057A publication Critical patent/KR20150123057A/ko
Application granted granted Critical
Publication of KR102198855B1 publication Critical patent/KR102198855B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines

Abstract

본 발명의 기술적 사상에 따른 메모리 시스템은 복수의 메모리 셀들을 포함하는 메모리 장치, 및 상기 메모리 장치를 제어하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는, 호스트로부터 수신한 복수의 커맨드들을 순차적으로 저장하는 저장부, 저장된 상기 복수의 커맨드들 중 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격을 판단하는 판단부, 및 판단된 상기 간격을 기초로 하여 상기 독출 커맨드에 대응되는 독출 전압 레벨을 결정하는 독출 전압 결정부를 포함한다.

Description

메모리 시스템 및 상기 메모리 시스템의 동작 방법{Memory System and Method of Operating the Memory System}
본 발명의 기술적 사상은 메모리 장치에 관한 것으로서, 더욱 상세하게는, 메모리 시스템 및 상기 메모리 시스템의 동작 방법에 관한 것이다.
반도체 메모리 장치로서 불휘발성 메모리 장치는 데이터를 불휘발성하게 저장하는 다수의 메모리 셀들을 포함한다. 불휘발성 메모리 장치의 일 예로서, 플래시 메모리 장치는 휴대폰, 디지털 카메라, 휴대용 정보 단말기(PDA), 이동식 컴퓨터 장치, 고정식 컴퓨터 장치 및 기타 장치에서 사용될 수 있다.
본 발명의 기술적 사상이 해결하려는 과제는 프로그램 완료 직후의 독출 오류를 감소시킬 수 있는 메모리 시스템을 제공하는 데에 있다.
본 발명의 다른 기술적 사상이 해결하려는 과제는 프로그램 완료 직후의 독출 오류를 감소시킬 수 있는 메모리 시스템의 동작 방법을 제공하는 데에 있다.
본 발명의 기술적 사상에 따른 메모리 시스템은 복수의 메모리 셀들을 포함하는 메모리 장치; 및 상기 메모리 장치를 제어하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는, 호스트로부터 수신한 복수의 커맨드들을 순차적으로 저장하는 저장부; 저장된 상기 복수의 커맨드들 중 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격을 판단하는 판단부; 및 판단된 상기 간격을 기초로 하여 상기 독출 커맨드에 대응되는 독출 전압 레벨을 결정하는 독출 전압 결정부를 포함한다.
일부 실시예들에 있어서, 상기 판단부는, 상기 동일 워드 라인에 대한 상기 프로그램 커맨드와 상기 독출 커맨드 사이의 간격이 임계 값을 초과하는지 판단할 수 있다.
일부 실시예들에 있어서, 상기 임계 값은, 상기 복수의 메모리 셀들 중 프로그램이 완료된 메모리 셀의 문턱 전압 변화 속도를 기초로 하여 미리 결정될 수 있다.
일부 실시예들에 있어서, 상기 복수의 메모리 셀들 중 프로그램이 완료된 메모리 셀의 문턱 전압은, 프로그램이 완료된 이후 임계 시간까지는 상대적으로 빠른 속도로 감소하고, 상기 임계 시간이 지난 후에는 상대적으로 느린 속도로 감소할 수 있다. 일부 실시예들에 있어서, 상기 임계 값은, 상기 임계 시간을 기초로 하여 미리 결정될 수 있다.
일부 실시예들에 있어서, 상기 독출 전압 결정부는, 상기 간격이 상기 임계 값을 초과하는 경우 상기 독출 전압 레벨을 제1 전압 레벨로 결정하고, 상기 간격이 상기 임계 값을 초과하지 않는 경우 상기 독출 전압 레벨을 상기 제1 전압 레벨보다 높은 제2 전압 레벨로 결정할 수 있다.
일부 실시예들에 있어서, 상기 제1 전압 레벨은, 상기 복수의 메모리 셀들 중 프로그램이 완료된 메모리 셀의 문턱 전압의 변화량이 상대적으로 적은 정상 상태인 경우 상기 메모리 셀을 독출하기 위한 전압 레벨이고, 상기 제2 전압 레벨은, 상기 복수의 메모리 셀들 중 프로그램이 완료된 메모리 셀의 문턱 전압의 변화량이 상대적으로 많은 과도 상태인 경우 상기 메모리 셀을 독출하기 위한 전압 레벨일 수 있다.
일부 실시예들에 있어서, 상기 메모리 시스템은 저장된 상기 복수의 커맨드들 각각의 종류를 기초로 하여 상기 임계 값을 보정하는 보정부를 더 포함할 수 있다.
일부 실시예들에 있어서, 상기 보정부는, 상기 복수의 커맨드들 중 소거 커맨드의 개수에 따라 상기 임계 값을 증가시킬 수 있다.
일부 실시예들에 있어서, 상기 보정부는, 상기 복수의 커맨드들 중 독출 커맨드의 개수에 따라 상기 임계 값을 감소시킬 수 있다.
일부 실시예들에 있어서, 상기 저장부는, 상기 복수의 커맨드들을 순차적으로 저장하는 커맨드 큐(queue)를 포함할 수 있다.
일부 실시예들에 있어서, 상기 판단부는, 상기 커맨드 큐에서의 상기 동일 워드 라인에 대한 상기 프로그램 커맨드와 상기 독출 커맨드 사이의 큐 깊이가 상기 임계 값을 초과하는지 판단할 수 있다.
일부 실시예들에 있어서, 상기 판단부는, 상기 동일 워드 라인에 대한 상기 프로그램 커맨드와 상기 독출 커맨드 사이의 제1 시간을 추정하고, 추정된 상기 제1 시간이 임계 시간을 초과하는지 판단할 수 있다.또한, 본 발명의 다른 기술적 사상에 따른 메모리 시스템의 동작 방법은 호스트로부터 수신한 복수의 커맨드들을 저장부에 순차적으로 저장하는 단계; 저장된 상기 복수의 커맨드들 중 제1 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격을 판단하는 단계; 및 판단된 상기 간격을 기초로 하여 상기 독출 커맨드에 대응되는 독출 전압 레벨을 결정하는 단계를 포함한다.
일부 실시예들에 있어서, 상기 간격을 판단하는 단계는, 저장된 상기 복수의 커맨드들 중 상기 제1 워드 라인에 대한 상기 프로그램 커맨드가 존재하는지 판단하는 단계; 및 판단 결과, 상기 프로그램 커맨드가 존재할 경우 상기 간격이 임계 값을 초과하는지 판단하는 단계를 포함할 수 있다.
일부 실시예들에 있어서, 상기 독출 전압 레벨을 결정하는 단계는, 판단 결과, 상기 프로그램 커맨드가 존재하지 않는 경우 상기 독출 전압 레벨을 제1 전압 레벨로 결정하는 단계; 상기 간격이 상기 임계 값을 초과할 경우 상기 독출 전압 레벨을 상기 제1 전압 레벨로 결정하는 단계; 및 상기 간격이 상기 임계 값을 초과하지 않는 경우 상기 독출 전압 레벨을 상기 제1 전압 레벨보다 높은 제2 전압 레벨로 결정하는 단계를 포함할 수 있다.
본 발명의 기술적 사상에 따르면, 동일 워드 라인에 대한 프로그램 커맨드과 독출 커맨드 사이의 간격에 따라 독출 전압 레벨을 다르게 결정함으로써, 프로그램 완료 이후 소정 시간 내의 독출 오류를 감소시킬 수 있다. 이로써, 메모리 셀에 대한 프로그램 직후의 급격한 전하 손실(charge loss)에 따른 독출 오류를 해결할 수 있다.
구체적으로, 동일 워드 라인에 대한 프로그램 커맨드과 독출 커맨드 사이의 간격이 임계 값을 초과할 경우, 즉, 프로그램 완료 후 일정 시간이 지난 후에는, 제1 전압 레벨을 이용하여 독출 동작을 수행한다. 한편, 동일 워드 라인에 대한 프로그램 커맨드과 독출 커맨드 사이의 간격이 임계 값을 초과하지 않을 경우, 즉, 프로그램 완료 후 일정 시간이 내에는, 제1 전압 레벨보다 높은 제2 전압 레벨을 이용하여 독출 동작을 수행한다. 이로써, 프로그램 완료 직후의 독출 오류를 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 2는 도 1의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 3은 도 2의 메모리 장치에 포함된 메모리 셀 어레이의 일 예를 나타낸다.
도 4는 도 3의 메모리 셀 어레이에 포함된 제1 메모리 블록의 일 예를 나타내는 회로도이다.
도 5는 도 4의 메모리 블록의 일 예의 비트 라인 방향에 따른 단면도이다.
도 6은 도 4의 제1 메모리 블록의 일 예의 워드 라인 방향에 따른 단면도이다.
도 7은 도 4의 메모리 블록의 다른 예의 비트 라인 방향에 따른 단면도이다.
도 8은 도 4의 메모리 블록에 포함된 셀 스트링의 다른 예를 나타내는 회로도이다.
도 9는 도 4의 메모리 블록에 포함된 셀 스트링의 또 다른 예를 나타내는 회로도이다.
도 10은 도 3의 메모리 셀 어레이에 포함된 제1 메모리 블록의 다른 예를 나타내는 회로도이다.
도 11은 도 4의 메모리 블록 또는 도 10의 메모리 블록에 포함된 메모리 셀의 일 예를 나타내는 단면도이다.
도 12a는 도 11의 메모리 셀이 멀티 레벨 셀인 경우, 메모리 장치의 프로그램 완료 후의 문턱 전압에 따른 분포를 나타내는 그래프이다.
도 12b는 도 12a의 분포를 가지는 메모리 장치의 프로그램 완료 후 일정 시간이 경과한 후의 문턱 전압에 따른 분포를 나타내는 그래프이다.
도 13은 도 11의 메모리 셀이 프로그램 완료된 이후, 시간에 따른 메모리 셀의 문턱 전압의 변화를 나타내는 그래프이다.
도 14는 도 12a 및 도 12b의 그래프들의 일부 영역에서 발생할 수 있는 독출 오류의 일 예를 나타낸다.
도 15는 도 1의 메모리 컨트롤러의 일 예를 상세하게 나타내는 블록도이다.
도 16은 도 15의 메모리 컨트롤러에 포함된 저장부의 일 예를 나타내는 블록도이다.
도 17은 도 15의 메모리 컨트롤러에 포함된 저장부의 다른 예를 나타내는 블록도이다.
도 18은 도 15의 메모리 컨트롤러에 포함된 저장부의 또 다른 예를 나타내는 블록도이다.
도 19는 도 15의 메모리 컨트롤러에 포함된 저장부의 또 다른 예를 나타내는 블록도이다.
도 20은 도 19의 임계 값 저장부에 저장된 임계 값 테이블의 일 예를 나타내는 표이다.
도 21은 시간에 따른 커맨드 큐 간격의 일 예를 나타내는 그래프이다.
도 22는 도 15의 전압 레벨 저장부에 저장된 전압 레벨 테이블의 일 예를 나타내는 표이다.
도 23은 도 22의 전압 레벨 테이블에 저장된 전압 레벨을 이용하여 결정된 독출 전압을 이용한 독출 동작을 나타내는 그래프이다.
도 24는 도 1의 메모리 컨트롤러의 다른 예를 상세하게 나타내는 블록도이다.
도 25는 도 1의 메모리 컨트롤러의 다른 예를 상세하게 나타내는 블록도이다.
도 26은 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 27은 본 발명의 다른 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 28은 본 발명의 다른 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 29는 본 발명의 실시예들에 따른 메모리 시스템을 메모리 카드 시스템에 적용한 예를 나타내는 블록도이다.
도 30은 본 발명의 실시예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 31은 본 발명의 실시예들에 따른 메모리 시스템을 SSD 시스템에 적용한 예를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템(1)을 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 메모리 시스템(1)은 메모리 장치(10) 및 메모리 컨트롤러(20)를 포함할 수 있다. 메모리 장치(10)는 메모리 셀 어레이(11)를 포함할 수 있고, 메모리 컨트롤러(20)는 저장부(21), 판단부(22) 및 독출 전압 결정부(23)를 포함할 수 있다.
메모리 셀 어레이(11)는 복수의 워드 라인들(도 2의 WL)과 복수의 비트 라인들(도 2의 BL)이 교차하는 영역들에 배치되는 복수의 메모리 셀들(미도시)을 포함할 수 있다. 일 실시예에서, 복수의 메모리 셀들은 플래쉬 메모리 셀들일 수 있고, 메모리 셀 어레이(11)는 낸드(NAND) 플래쉬 메모리 셀 어레이 또는 노아(NOR) 플래쉬 메모리 셀 어레이일 수 있다.
이하에서는, 복수의 메모리 셀들이 낸드 플래쉬 메모리 셀들인 경우를 예로 하여 본 발명의 실시예들을 상술하기로 한다. 일 예에서, 복수의 메모리 셀들은 3차원 수직 구조의 낸드(vertical NAND, VNAND) 플래쉬 메모리 셀들일 수 있다(도 4 내지 도 9 참조). 다른 예에서, 복수의 메모리 셀들은 2차원 수평 구조의 낸드 플래쉬 메모리 셀들일 수 있다(도 10 참조). 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 복수의 메모리 셀들은 RRAM(resistive RAM), PRAM(phase change RAM) 또는 MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
메모리 컨트롤러(20)는 메모리 장치(10)에 대한 제어 동작을 수행할 수 있다. 구체적으로, 메모리 컨트롤러(20)는 메모리 장치(10)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(10)에 대한 프로그램(program)(또는 기록), 독출(read) 및 소거(erase) 동작을 제어할 수 있다. 또한, 프로그램 동작을 위한 데이터(DATA)와 독출된 데이터(DATA)가 메모리 컨트롤러(20)와 메모리 장치(10) 사이에서 송수신될 수 있다.
저장부(21)는 호스트(HOST)로부터 수신한 복수의 커맨드들(CMD)을 순차적으로 저장할 수 있다. 구체적으로, 저장부(21)는 호스트(HOST)로부터 수신한 순서에 따라, 즉, 시계열적 순서에 따라, 복수의 커맨드들(CMD)을 저장할 수 있으며, 이러한 저장 방식을 FIFO(First In First Out) 방식이라고 지칭할 수 있다. 본 실시예에서, 저장부(21)는 커맨드 큐(command queue)를 포함할 수 있다.
더욱 상세하게는, 저장부(21)는 호스트(HOST)로부터 수신한 순서에 따라 복수의 커맨드들(CMD)을 저장하므로, 저장된 복수의 커맨드들(CMD) 중 두 개의 커맨드들(CMD) 사이의 저장 순서의 차이(difference), 즉, 간격은 두 개의 커맨드들(CMD)의 처리 순서의 차이, 즉, 간격에 대응할 수 있다. 이에 따라, 두 개의 커맨드들(CMD) 사이의 저장 순서의 차이, 즉, 간격은 두 개의 커맨드들(CMD)의 처리 시간의 차이, 즉, 간격에 대응할 수 있다. 이하에서는, 두 개의 커맨드들(CMD) 사이의 저장 순서의 간격을 두 개의 커맨드들(CMD) 사이의 간격이라고 지칭하기로 한다.
판단부(22)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)을 판단할 수 있다. 여기서, 간격(D)은 프로그램 커맨드와 독출 커맨드 사이의 저장 순서의 간격 또는 처리 순서의 간격일 수 있다. 일 실시예에서, 저장부(21)는 커맨드 큐를 포함할 수 있고, 간격(D)은 커맨드 큐에서의 두 개의 커맨드들 사이의 간격, 즉, 큐 깊이(queue depth)에 대응될 수 있다.
구체적으로, 판단부(22)는 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하는지 판단할 수 있다. 이때, 임계 값(Dth)은 복수의 메모리 셀들 중 프로그램이 완료된 메모리 셀의 문턱 전압(threshold voltage, Vth) 변화 속도를 기초로 하여 미리 결정될 수 있다.
독출 전압 결정부(23)는 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하는 경우 독출 전압을 제1 전압 레벨로 결정하고, 간격(D)이 임계 값(Dth)을 초과하지 않는 경우 독출 전압을 상기 제1 전압 레벨보다 높은 제2 전압 레벨로 결정할 수 있다.
이때, 제1 전압 레벨은 메모리 셀의 문턱 전압의 변화량이 상대적으로 적은 정상 상태인 경우 메모리 셀을 독출하기 위한 전압 레벨이고, 일반(normal) 독출 전압 또는 디폴트(default) 독출 전압이라고 지칭할 수 있다. 한편, 제2 전압 레벨은 메모리 셀의 문턱 전압의 변화량이 상대적으로 많은 과도 상태인 경우 메모리 셀을 독출하기 위한 전압 레벨이고, 특수(special) 독출 전압 또는 수정(corrected) 독출 전압이라고 지칭할 수 있다.
일 실시예에서, 메모리 셀은 멀티 레벨 셀(multi level cell, MLC)일 수 있고, 제2 전압 레벨, 즉, 특수 독출 전압 레벨은 복수의 프로그램 상태들 중 인접하는 프로그램 상태들 간의 골(valley)에 대응되는 전압들의 집합으로 표시될 수 있다. 이때, 제2 전압 레벨들, 즉, 특수 독출 전압 레벨들은 제1 전압 레벨들, 즉, 일반 독출 전압 레벨들에 비해 각각 다른 오프셋을 가질 수 있다.
도 2는 도 1의 메모리 시스템(1)에 포함된 메모리 장치(10)를 상세하게 나타내는 블록도이다.
도 2를 참조하면, 메모리 장치(10)는 메모리 셀 어레이(11), 제어 로직(control logic)(12), 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)를 포함할 수 있다. 이하에서는, 메모리 장치(10)에 포함된 구성 요소들에 대하여 상술하기로 한다.
메모리 셀 어레이(11)는 하나 이상의 스트링 선택 라인(SSL), 복수의 워드 라인들(WL) 및 하나 이상의 접지 선택 라인(GSL)에 연결될 수 있으며, 또한 복수의 비트 라인들(BL)에 연결될 수 있다. 메모리 셀 어레이(11)는 복수의 워드 라인들(WL) 및 복수의 비트 라인들(BL)이 교차하는 영역들에 배치되는 복수의 메모리 셀들(도 4의 MC, 도 10의 MC)을 포함할 수 있다.
메모리 셀 어레이(11)에 소거 전압(Vera)이 인가되면 복수의 메모리 셀들(MC)은 소거 상태가 되며, 메모리 셀 어레이(11)에 프로그램 전압(Vpgm)이 인가되면 복수의 메모리 셀들(MC)은 프로그램 상태가 된다. 이때, 각 메모리 셀(MC)은 문턱 전압(threshold voltage, Vth)에 따라 구분되는 소거 상태(E) 및 제1 내지 제n 프로그램 상태들(P1 내지 Pn) 중 하나를 가질 수 있다.
여기서, n은 3 이상의 자연수일 수 있다. 예를 들어, 메모리 셀(MC)이 2 비트 레벨 셀인 경우 n은 3일 수 있다. 다른 예에서, 메모리 셀(MC)이 3 비트 레벨 셀인 경우 n은 7일 수 있다. 또 다른 예에서, 메모리 셀(MC)이 4 비트 레벨 셀인 경우 n은 15일 수 있다. 이와 같이, 복수의 메모리 셀들(MC)은 멀티 레벨 셀들을 포함할 수 있다. 그러나, 본 발명의 기술적 사상은 이에 한정되지 않고, 복수의 메모리 셀들(MC)은 싱글 레벨 셀들을 포함할 수도 있다.
제어 로직(12)은 메모리 컨트롤러(20)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(11)에 데이터를 기입하거나 메모리 셀 어레이(11)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(12)은 메모리 장치(10) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(12)에서 출력된 각종 제어 신호는 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)에 제공될 수 있다. 구체적으로, 제어 로직(12)은 전압 생성부(13)에 전압 제어 신호(CTRL_vol)를 제공할 수 있고, 로우 디코더(14)에 로우 어드레스(X_ADDR)를 제공할 수 있으며, 페이지 버퍼(15)에 칼럼 어드레스(Y_ADDR)를 제공할 수 있다.
전압 생성부(13)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(11)에 대한 프로그램, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성부(13)는 복수의 워드 라인들(WL)을 구동하기 위한 제1 구동 전압(VWL), 복수의 스트링 선택 라인들(SSL)을 구동하기 위한 제2 구동 전압(VSSL) 및 복수의 라운드 선택 라인들(GSL)을 구동하기 위한 제3 구동 전압(VGSL)을 생성할 수 있다.
이때, 제1 구동 전압(VWL)은 프로그램 전압(또는 기입 전압)(Vpgm), 독출 전압(Vread), 소거 전압(Vera), 패스 전압(Vpass) 또는 프로그램 검증(verify) 전압(Vver)일 수 있다. 또한, 제2 구동 전압(VSSL)은 스트링 선택 전압, 즉, 온 전압(Von) 또는 오프 전압(Voff)일 수 있다. 나아가, 제3 구동 전압(VGSL)은 그라운드 선택 전압, 즉, 온 전압(Von) 또는 오프 전압(Voff)일 수 있다.
본 실시예에서, 전압 생성부(13)는 전압 제어 신호(CTRL_vol)를 기초로 하여, 프로그램 루프가 시작될 때, 즉, 프로그램 루프의 횟수가 1인 경우, 프로그램 시작 전압(Vstart)을 프로그램 전압(Vpgm)으로 생성할 수 있다. 또한, 전압 생성부(13)는 프로그램 루프의 횟수(k)가 증가할수록 프로그램 시작 전압(Vstart)에서 스텝 전압(Vstep)만큼 단계적으로 증가하는 전압(즉, Vstart + (k-1)*Vstep)을 프로그램 전압(Vpgm)으로 생성할 수 있다.
로우 디코더(14)는 복수의 워드 라인들(WL)을 통해 메모리 셀 어레이(11)에 연결되고, 제어 로직(12)으로부터 수신한 로우 어드레스(X_ADDR)에 응답하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 활성화할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(14)는 선택된 워드 라인에 독출 전압(Vread)을 인가하고, 비 선택된 워드 라인에 패스 전압(Vpass)을 인가할 수 있다. 또한, 프로그램 동작 시에 로우 디코더(14)는 선택된 워드 라인에 프로그램 전압(Vpgm)을 인가하고, 비 선택된 워드 라인에 패스 전압(Vpass)을 인가할 수 있다.
페이지 버퍼(15)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(11)에 연결될 수 있다. 구체적으로, 독출 동작 시에 페이지 버퍼(15)는 감지 증폭기(sense amplifier)로 동작하여 메모리 셀 어레이(11)에 저장된 데이터(DATA)를 출력할 수 있다. 한편, 프로그램 동작 시에 페이지 버퍼(15)는 기입 드라이버(write driver)로 동작하여 메모리 셀 어레이(11)에 저장하고자 하는 데이터(DATA)를 입력시킬 수 있다.
도 3은 도 2의 메모리 장치(10)에 포함된 메모리 셀 어레이(11)의 일 예를 나타낸다.
도 3을 참조하면, 메모리 셀 어레이(11)는 플래시 메모리 셀 어레이일 수 있다. 이때, 메모리 셀 어레이(11)는 a(a는 2 이상의 정수)개의 메모리 블록들(BLK1 내지 BLKa)을 포함하고, 각 메모리 블록(BLK1 내지 BLKa)은 b(b는 2 이상의 정수)개의 페이지들(PAGE1 내지 PAGEb)을 포함하며, 각 페이지들(PAGE1 내지 PAGEb)은 c(c는 2 이상의 정수)개의 섹터들(SEC1 내지 SECc)을 포함할 수 있다. 도 3에서는 도시의 편의를 위해, 메모리 블록 BLK1에 대하여만 페이지들(PAGE0 내지 PAGEb) 및 섹터들(SEC1 내지 SECc)을 도시하였으나, 다른 메모리 블록들(BLK2 내지 BLKa)도 블록 BLK1와 동일한 구조를 가질 수 있다.
도 4은 도 3의 메모리 셀 어레이(11)에 포함된 제1 메모리 블록의 일 예(BLK1a)를 나타내는 회로도이다.
도 4를 참조하면, 제1 메모리 블록(BLK1a)는 수직 구조의 낸드 플래시 메모리일 수 있다. 이때, 도 3에 도시된 각 블록들(BLK1 내지 BLKa)은 도 4와 같이 구현될 수 있다. 도 4에서, 제1 방향은 x 방향으로, 제2 방향은 y 방향으로, 제3 방향은 z 방향으로 지칭하기로 한다. 그러나, 본 발명은 이에 한정되지 않고, 제1 내지 제3 방향은 변경될 수도 있다.
제1 메모리 블록(BLK1a)은 복수의 셀 스트링들(CST), 복수의 워드 라인들(WL), 복수의 비트 라인들(BL), 복수의 그라운드 선택 라인들(GSL1, GSL2), 복수의 스트링 선택 라인들(SSL1, SSL2) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 셀 스트링들(CST)의 개수, 워드 라인들(WL)의 개수, 비트 라인들(BL)의 개수, 그라운드 선택 라인들(GSL1, GSL2)의 개수 및 스트링 선택 라인들(SSL1, SSL2)의 개수는 실시예에 따라 다양하게 변경될 수 있다.
셀 스트링(CST)은 대응되는 비트 라인(BL)과 공통 소스 라인(CSL) 사이에 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 셀 스트링(CST)은 적어도 하나의 더미 셀을 더 포함할 수 있다. 또 다른 실시예에서, 셀 스트링(CST)은 적어도 두 개의 스트링 선택 트랜지스터들 또는 적어도 두 개의 그라운드 선택 트랜지스터들을 포함할 수도 있다.
또한, 셀 스트링(CST)은 제3 방향(z 방향)으로 신장될 수 있는데, 구체적으로, 기판(도 5의 110) 상에 수직 방향(z 방향)으로 신장될 수 있다. 따라서, 셀 스트링(CST)을 포함하는 메모리 블록(BLK1a)을 수직 방향의 낸드 플래쉬 메모리라고 지칭할 수 있다. 이와 같이, 셀 스트링(CST)을 기판 상에 수직 방향(z)으로 신장시킴으로써, 메모리 셀 어레이(11)의 집적도를 향상시킬 수 있다.
복수의 워드 라인들(WL)은 제1 방향(x) 및 제2 방향(y)으로 연장되고, 각 워드 라인(WL)은 대응되는 메모리 셀들(MC)과 연결될 수 있다. 이에 따라, 동일 층에서 제1 방향(x) 및 제2 방향(y)을 따라 이웃하게 배열된 복수의 메모리 셀들(MC)은 동일한 워드 라인(WL)에 연결될 수 있다. 구체적으로, 각 워드 라인(WL)은 메모리 셀(MC)의 게이트에 연결되어 메모리 셀(MC)을 제어할 수 있다. 이때, 복수의 메모리 셀들(MC)은 데이터를 저장할 수 있으며, 연결된 워드 라인(WL)의 제어에 따라 프로그램, 독출 또는 소거될 수 있다.
복수의 비트 라인들(BL)은 제1 방향(x)으로 연장되고, 스트링 선택 트랜지스터(SST)와 연결될 수 있다. 이에 따라, 제1 방향(x)을 따라 이웃하게 배열된 복수의 스트링 선택 트랜지스터들(SST)은 동일한 비트 라인(BL)에 연결될 수 있다. 구체적으로, 각 비트 라인(BL)은 스트링 선택 트랜지스터(SST)의 드레인에 연결될 수 있다.
복수의 스트링 선택 라인들(SSL1, SSL2)은 제2 방향(y)으로 연장되고, 스트링 선택 트랜지스터(SST)와 연결될 수 있다. 이에 따라, 제2 방향(y)을 따라 이웃하게 배열된 복수의 스트링 선택 트랜지스터들(SST)은 동일한 스트링 선택 라인(SSL1 또는 SSL2)에 연결될 수 있다. 구체적으로, 각 스트링 선택 라인(SSL1 또는 SSL2)은 스트링 선택 트랜지스터(SST)의 게이트에 연결되어 스트링 선택 트랜지스터(SST)를 제어할 수 있다.
복수의 그라운드 선택 라인들(GSL1, GSL2)은 제2 방향(y)으로 연장되고, 그라운드 선택 트랜지스터(GST)와 연결될 수 있다. 이에 따라, 제2 방향(y)을 따라 이웃하게 배열된 복수의 그라운드 선택 트랜지스터들(GST)은 동일한 그라운드 선택 라인(GSL1 또는 GSL2)에 연결될 수 있다. 구체적으로, 각 그라운드 선택 라인(GSL1 또는 GSL2)은 그라운드 선택 트랜지스터(GST)의 게이트에 연결되어 그라운드 선택 트랜지스터(GST)를 제어할 수 있다.
또한, 각 셀 스트링(CST)에 포함된 그라운드 선택 트랜지스터들(GST)은 공통 소스 라인(CSL)에 공통으로 연결될 수 있다. 구체적으로, 공통 소스 라인(CSL)은 그라운드 선택 트랜지스터(GST)의 소스에 연결될 수 있다.
여기서, 동일한 워드 라인(WL) 및 동일한 스트링 선택 라인(SSL1 또는 SSL2)에 공통으로 연결되고, 제2 방향(y)을 따라 이웃하게 배치되는 복수의 메모리 셀들(MC)은 페이지(PAGE)라고 지칭할 수 있다. 예를 들어, 제1 워드 라인(WL1)에 공통으로 연결되고, 제1 스트링 선택 라인(SSL1)에 공통으로 연결되며, 제2 방향(y)을 따라 이웃하게 배치되는 복수의 메모리 셀들(MC)은 제1 페이지(PAGE1)라고 지칭할 수 있다. 또한, 제1 워드 라인(WL1)에 공통으로 연결되고, 제2 스트링 선택 라인(SSL2)에 공통으로 연결되며, 제2 방향(y)을 따라 이웃하게 배치되는 복수의 메모리 셀들(MC)은 제2 페이지(PAGE2)라고 지칭할 수 있다.
메모리 셀(MC)에 대한 프로그램 동작을 수행하기 위해서는, 비트 라인(BL)에 0V를 인가하고, 스트링 선택 라인(SSL)에 온(on) 전압(Von)을 인가하고, 그라운드 선택 라인(GSL)에 오프(off) 전압(Voff)을 인가할 수 있다. 온 전압(Von)은 스트링 선택 트랜지스터(SST)를 턴-온(turn-on) 시키도록 그 문턱 전압보다 크거나 같을 수 있고, 오프 전압은 그라운드 선택 트랜지스터들(GST)을 턴-오프(turn-off) 시키도록 그 문턱 전압보다 작을 수 있다. 또한, 메모리 셀들(MC) 중 선택 메모리 셀에는 프로그램 전압(Vpgm)을 인가하고, 나머지 메모리 셀들에는 패스 전압(Vpass)을 인가할 수 있다. 프로그램 전압(Vpgm)이 인가되면, F-N 터널링에 의해 메모리 셀들(MC) 내로 전하가 주입될 수 있다. 패스 전압(Vpass)은 메모리 셀들(MC)의 문턱 전압보다 클 수 있다.
메모리 셀(MC)에 대한 소거 동작을 수행하기 위해서는, 메모리 셀들(MC)의 바디(body)에 소거 전압(Verase)을 인가하고, 워드 라인들(WL)에 0V를 인가할 수 있다. 이에 따라, 메모리 셀들(MC)의 데이터가 일시에 소거될 수 있다.
도 5는 도 4의 제1 메모리 블록의 일 예(BLK1a')의 비트 라인 방향에 따른 단면도이다. 도 6은 도 4의 제1 메모리 블록의 일 예(BLK1a')의 워드 라인 방향에 따른 단면도이다.
도 5 및 도 6을 참조하면, 제1 메모리 블록(BLK1a')은 제1 방향(x)으로 연장되는 주면(main surface)을 가지는 기판(110)을 가질 수 있다. 기판(110)은 반도체 물질, 예를 들어, IV족 반도체, III-V족 화합물 반도체, 또는 II-VI족 산화물 반도체를 포함할 수 있다. 예를 들어, IV족 반도체는 실리콘, 게르마늄 또는 실리콘-게르마늄을 포함할 수 있다. 이때, 기판(110)은 벌크 웨이퍼 또는 에피택셜층으로 제공될 수도 있다.
반도체 기둥들(120a, 120b)은 기판(110) 상으로 수직 신장하도록 기판(110) 상에 배열될 수 있다. 반도체 기둥들(120a, 120b)은 폴리실리콘 또는 단결정 실리콘과 같은 반도체 물질을 포함할 수 있으며, 상기 반도체 물질은 도핑되지 않거나, p-형 또는 n-형 불순물을 포함할 수 있다.
기판(110)은 반도체 기둥들(120a, 120b) 아래에 불순물 영역(115)을 포함할 수 있다. 불순물 영역(115)은 소스 영역이 될 수 있고, 기판(110)의 다른 영역과 PN 접합을 형성할 수 있다. 도 4의 공통 소스 라인(CSL)은 불순물 영역(115)과 연결될 수 있다. 다른 실시예에서, 불순물 영역(115)은 반도체 기둥들(120a, 120b)의 하단에 한정될 수 있다.
메모리 셀들(MC)의 각각은 반도체 기둥(120a, 120b)의 측벽 상의 스토리지 매체(130) 및 스토리지 매체(130) 상의 제어 게이트 전극(160)을 포함할 수 있다. 각 스토리지 매체(130)는 반도체 기둥(120a, 120b)의 측벽 상의 터널링 절연층(132), 터널링 절연층(132) 상의 전하 저장층(134) 및 전하 저장층(134) 상의 블로킹 절연층(136)을 포함할 수 있다.
전하 저장층(132)은 전하 저장 능력을 가질 수 있다. 예를 들어, 전하 저장층(132)은 트랩 타입일 수 있고, 예컨대 실리콘 질화층, 양자 도트(quantum dots) 또는 나노 크리스탈(nanocrystals)을 포함할 수 있다. 양자 도트 또는 나노 크리스탈은 도전체, 예컨대 금속 또는 반도체의 미세 입자들로 구성될 수 있다. 터널링 절연층(135) 및 블로킹 절연층(136)은 산화막, 질화막 또는 고유전율막을 포함할 수 있다. 고유전율막은 산화막 및 질화막보다 높은 유전 상수를 갖는 유전막을 지칭할 수 있다.
스트링 선택 트랜지스터(SST)는 반도체 기둥(120a, 120b)의 측벽 상의 스트링 선택 게이트 전극(155)을 포함할 수 있다. 스트링 선택 트랜지스터(SST)는 비트 라인(180)에 연결될 수 있다. 비트 라인(180)은 제1 방향(x)을 따라 연장되는 라인 형상의 패턴으로 이루어질 수 있다. 그라운드 선택 트랜지스터(GST)는 반도체 기둥(120a, 120b)의 측벽 상의 그라운드 선택 게이트 전극(150)을 포함할 수 있다.
스트링 선택 트랜지스터(SST)와 반도체 기둥(120a, 120b) 사이, 그리고, 그라운드 선택 트랜지스터(GST)와 반도체 기둥(120a, 120b) 사이의 스토리지 매체들(130)은 게이트 절연층의 기능을 할 수 있고, 따라서 하나의 절연층으로 대체될 수도 있다. 그라운드 선택 게이트 전극(150), 제어 게이트 전극들(160) 및 스트링 선택 게이트 전극들(155) 사이에는 층간 절연층들(140)이 개재될 수 있다. 스토리지 매체들(130)은 층간 절연층들(140)의 표면을 따라서 신장될 수 있다.
제1 및 제2 셀 스트링들(CST1, CST2)은 반도체 기둥(120a)을 사이에 두고 인접하게 배치되고, 제3 및 제4 셀 스트링들(CST3, CST4)은 반도체 기둥(120b)을 사이에 두고 인접하게 배치될 수 있다. 한편, 제2 셀 스트링(CST2) 및 제3 셀 스트링(CST3) 사이에는 절연층(170)이 배치될 수 있다.
스트링 선택 게이트 전극(155)은 콘택 플러그(185)를 통해서 스트링 선택 라인(SSL)에 연결될 수 있다. 제어 게이트 전극들(160은 콘택 플러그들(190)을 통해서 대응되는 워드 라인들(WL1 내지 WLn)에 연결될 수 있다. 그라운드 선택 게이트 전극(150)은 콘택 플러그들(195)을 통해서 그라운드 선택 라인(GSL)에 연결될 수 있다.
도 7은 도 4의 제1 메모리 블록의 다른 예(BLK1a")의 비트 라인 방향에 따른 단면도이다.
도 7을 참조하면, 제1 메모리 블록(BLK1a")은 제1 방향(x)으로 연장되는 주면을 가지는 기판(210)을 가질 수 있다. 기판(210)은 반도체 물질, 예를 들어, IV족 반도체, III-V족 화합물 반도체, 또는 II-VI족 산화물 반도체를 포함할 수 있다. 예를 들어, IV족 반도체는 실리콘, 게르마늄 또는 실리콘-게르마늄을 포함할 수 있다. 이때, 기판(210)은 벌크 웨이퍼 또는 에피택셜층으로 제공될 수도 있다.
반도체 기둥(220)은 기판(210) 상으로 수직 신장하도록 기판(210) 상에 배열될 수 있다. 반도체 기둥(220)은 폴리실리콘 또는 단결정 실리콘과 같은 반도체 물질을 포함할 수 있으며, 상기 반도체 물질은 도핑되지 않거나, p-형 또는 n-형 불순물을 포함할 수 있다.
스토리지 매체(330)는 반도체 기둥(220)의 길이 방향을 따라 연장되도록 형성될 수 있다. 각 스토리지 매체(330)는 반도체 기둥(220)의 측벽 상의 터널링 절연층(332), 터널링 절연층(332) 상의 전하 저장층(334) 및 전하 저장층(334) 상의 블로킹 절연층(336)을 포함할 수 있다.
스트링 선택 트랜지스터(SST)는 반도체 기둥(220)의 측벽 상의 스트링 선택 게이트 전극(255)을 포함할 수 있다. 스트링 선택 트랜지스터(SST)는 비트 라인(280)에 연결될 수 있다. 비트 라인(280)은 제1 방향(x)을 따라 연장되는 라인 형상의 패턴으로 이루어질 수 있다. 그라운드 선택 트랜지스터(GST)는 반도체 기둥(220)의 측벽 상의 그라운드 선택 게이트 전극(250)을 포함할 수 있다.
스트링 선택 트랜지스터(SST)와 반도체 기둥(220) 사이, 그리고, 그라운드 선택 트랜지스터(GST)와 반도체 기둥(220) 사이의 스토리지 매체들(230)은 게이트 절연층의 기능을 할 수 있고, 따라서 하나의 절연층으로 대체될 수도 있다. 그라운드 선택 게이트 전극(250), 제어 게이트 전극들(260) 및 스트링 선택 게이트 전극들(255) 사이에는 층간 절연층들(240)이 개재될 수 있다.
도 8은 도 4의 메모리 블록에 포함된 셀 스트링의 다른 예(CST')를 나타내는 회로도이다.
도 8을 참조하면, 셀 스트링(CST')은 적어도 한 쌍의 스트링 선택 트랜지스터들(SST1, SST2), 복수의 메모리 셀들(MC) 및 적어도 한 쌍의 그라운드 선택 트랜지스터들(GST1, GST2)을 포함할 수 있다. 비트 라인(BL)은 셀 스트링(CST')의 일단에 연결되고, 공통 소스 라인(CSL)은 셀 스트링(CST')의 타단에 연결될 수 있다.
본 실시예에 따른 셀 스트링(CST')에 포함된 구성 요소들 중 일부는, 도 4의 셀 스트링(CST)에 포함된 구성 요소들과 실질적으로 동일하다. 동일한 구성 요소는 동일한 참조 부호로 표시되며, 도 4의 셀 스트링(CST)과 동일한 구성 요소들에 대해서는 반복하여 설명하지 않는다. 이하에서는, 도 4의 셀 스트링(CST)와 본 실시예에 따른 셀 스트링(CST')의 차이점을 중심으로 상술하기로 한다.
복수의 메모리 셀들(MC)은 수직으로 직렬 배치될 수 있다. 메모리 셀들(MC)은 데이터를 저장할 수 있다. 복수의 워드 라인들(WL)은 메모리 셀들(MC)과 연결되어 메모리 셀들(MC)을 제어할 수 있다. 메모리 셀들(MC)의 수는 비휘발성 메모리 소자의 용량에 따라서 적절하게 선택될 수 있다.
적어도 한 쌍의 스트링 선택 트랜지스터들(SS1, SST2)은 메모리 셀들(MC)의 일측에 서로 인접하게 배열될 수 있다. 예를 들어, 스트링 선택 트랜지스터들(SST1, SST2)은 비트 라인(BL) 및 제n 메모리 셀(MCn) 사이에 배치되고 제n 메모리 셀(MCn)과 직렬 연결될 수 있다. 스트링 선택 트랜지스터들(SST1, SST2)은 비트 라인(BL)과 메모리 셀들(MC) 사이의 신호 전달을 제어할 수 있다. 스트링 선택 라인(SSL)은 스트링 선택 트랜지스터들(SST1, SST2)에 공통으로 결합될 수 있다. 따라서 스트링 선택 트랜지스터들(SST1, SST2)은 하나의 트랜지스터처럼 서로 연동되어 동작할 수 있다.
적어도 한 쌍의 그라운드 선택 트랜지스터들(GST1, GST2)은 스트링 선택 트랜지스터들(SST1, SSS2)의 반대편, 메모리 셀들(MC)의 타측에 서로 인접하게 배열될 수 있다. 예를 들어, 그라운드 선택 트랜지스터들(GST1, GST2)은 공통 소스 라인(CSL) 및 제1 메모리 셀(MC1) 사이에 배치되고 제1 메모리 셀(MC1)과 직렬 연결될 수 있다. 접지 선택 트랜지스터들(GST1, GST2)은 공통 소스 라인(CSL)과 메모리 셀들(MC) 사이의 신호 전달을 제어할 수 있다. 그라운드 선택 라인(GSL)은 접지 선택 트랜지스터들(GST1, GST2)에 공통으로 결합될 수 있다. 따라서 그라운드 선택 트랜지스터들(GST1, GST2)은 하나의 트랜지스터처럼 서로 연동되어 동작할 수 있다.
본 실시예에 따르면, 스트링 선택 트랜지스터들(SST1, SST2)의 개수를 적어도 두 개 이상으로 함으로써, 스트링 선택 게이트 전극들(도 5의 155) 각각의 길이를 한 개인 경우보다 크게 줄일 수 있어서 보이드(void) 없이 층간 절연층들(도 5의 140) 사이를 채울 수 있다. 나아가, 그라운드 선택 트랜지스터들(GST1, GST2)의 개수를 적어도 두 개 이상으로 함으로써, 그라운드 선택 게이트 전극들(도 5의 150) 각각의 길이를 한 개인 경우보다 크게 줄일 수 있어서 보이드 없이 층간 절연층들(도 5의 140) 사이를 채울 수 있다.
도 9는 도 4의 메모리 블록에 포함된 셀 스트링의 또 다른 예(CST")를 나타내는 회로도이다.
도 9를 참조하면, 셀 스트링(CST")은 적어도 한 쌍의 스트링 선택 트랜지스터들(SST1, SST2), 복수의 메모리 셀들(MC) 및 적어도 한 쌍의 그라운드 선택 트랜지스터들(GST1, GST2)을 포함할 수 있다. 비트 라인(BL)은 셀 스트링(CST")의 일단에 연결되고, 공통 소스 라인(CSL)은 셀 스트링(CST")의 타단에 연결될 수 있다.
본 실시예에 따른 셀 스트링(CST")에 포함된 구성 요소들 중 일부는, 도 8의 셀 스트링(CST')에 포함된 구성 요소들과 실질적으로 동일하다. 동일한 구성 요소는 동일한 참조 부호로 표시되며, 도 8의 셀 스트링(CST')과 동일한 구성 요소들에 대해서는 반복하여 설명하지 않는다. 이하에서는, 도 8의 셀 스트링(CST')와 본 실시예에 따른 셀 스트링(CST")의 차이점을 중심으로 상술하기로 한다.
적어도 한 쌍의 스트링 선택 트랜지스터들(SS1, SST2)은 메모리 셀들(MC)의 일측에 서로 인접하게 배열될 수 있다. 예를 들어, 스트링 선택 트랜지스터들(SST1, SST2)은 비트 라인(BL) 및 제n 메모리 셀(MCn) 사이에 배치되고 제n 메모리 셀(MCn)과 직렬 연결될 수 있다. 스트링 선택 트랜지스터들(SST1, SST2)은 비트 라인(BL)과 메모리 셀들(MC) 사이의 신호 전달을 제어할 수 있다. 이때, 제1 스트링 선택 라인(SSLa)은 제1 스트링 선택 트랜지스터(SST1)에 연결되고, 제2 스트링 선택 라인(SSLb)은 제2 스트링 선택 트랜지스터(SST2)에 연결될 수 있다.
적어도 한 쌍의 그라운드 선택 트랜지스터들(GST1, GST2)은 스트링 선택 트랜지스터들(SST1, SST2)의 반대편, 메모리 셀들(MC)의 타측에 서로 인접하게 배열될 수 있다. 예를 들어, 그라운드 선택 트랜지스터들(GST1, GST2)은 공통 소스 라인(CSL) 및 제1 메모리 셀(MC1) 사이에 배치되고 제1 메모리 셀(MC1)과 직렬 연결될 수 있다. 접지 선택 트랜지스터들(GST1, GST2)은 공통 소스 라인(CSL)과 메모리 셀들(MC) 사이의 신호 전달을 제어할 수 있다. 이때, 제1 그라운드 선택 라인(GSLa)은 제1 그라운드 선택 트랜지스터(GST1)에 연결되고, 제2 그라운드 선택 라인(GSLb)은 제2 그라운드 선택 트랜지스터(GST2)에 연결될 수 있다.
도 10은 도 3의 메모리 셀 어레이에 포함된 제1 메모리 블록의 다른 예(BLK1b)를 나타내는 회로도이다.
도 10을 참조하면, 제1 메모리 블록(BLK1b)은 수평 구조의 낸드 플래시 메모리일 수 있다. 이때, 도 3에 도시된 각 블록들(BLK1 내지 BLKa)은 도 10과 같이 구현될 수 있다. 도 10에서, 제1 방향은 x 방향으로, 제2 방향은 y 방향으로 지칭하기로 한다. 그러나, 본 발명은 이에 한정되지 않고, 제1 및 제2 방향은 변경될 수도 있다.
제1 메모리 블록(BLK1)은 복수의 셀 스트링들(CST), 복수의 워드 라인들(WL), 복수의 비트 라인들(BL), 그라운드 선택 라인(GSL), 스트링 선택 라인(SSL) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 셀 스트링들(CST)의 개수, 워드 라인들(WL)의 개수, 비트 라인들(BL)의 개수는 실시예에 따라 다양하게 변경될 수 있다.
셀 스트링(CST)은 비트 라인(BL)과 공통 소스 라인(CSL) 사이에 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서, 셀 스트링(CST)은 적어도 하나의 더미 셀을 더 포함할 수 있다.
도 10과 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 소거가 수행되고, 각 워드 라인(WL1 내지 WLn)에 대응되는 페이지(PAGE) 단위로 프로그램을 수행할 수 있다.
도 11은 도 4의 메모리 블록(BLK1a) 또는 도 10의 메모리 블록(BLK1b)에 포함된 메모리 셀(MC)의 일 예를 나타내는 단면도이다.
도 11을 참조하면, 기판(SUB) 상에 소스(S) 및 드레인(D)이 형성되고, 소스(S)와 드레인(DR)의 사이에는 채널 영역이 형성될 수 있다. 채널 영역의 상부에는 플로팅 게이트(FG)가 형성되는데, 채널 영역과 플로팅 게이트(FG)의 사이에는 터널링 절연층과 같은 절연층이 배치될 수 있다. 플로팅 게이트(FG)의 상부에는 컨트롤 게이트(CG)가 형성되는데, 플로팅 게이트(FG)와 컨트롤 게이트(CG)의 사이에는 블로킹 절연층과 같은 절연층이 배치될 수 있다. 기판(SUB), 소스(S), 드레인(DR) 및 컨트롤 게이트(CG)에는 메모리 셀(MC)에 대한 프로그램, 소거 및 독출 동작에 필요한 전압들이 인가될 수 있다.
플래시 메모리 장치에서는 메모리 셀(MC)의 문턱 전압(threshold voltage, Vth)의 구별에 의해 메모리 셀(MC)에 저장된 데이터가 독출될 수 있다. 이때, 메모리 셀(MC)의 문턱 전압(Vth)은 플로팅 게이트(FG)에 저장된 전자(electron)의 양에 따라 결정될 수 있다. 구체적으로, 플로팅 게이트(FG)에 저장된 전자가 많을수록 메모리 셀(MC)의 문턱 전압은 높아질 수 있다. 메모리 셀(MC)의 플로팅 게이트(FG)에 저장된 전자는 다양한 원인들에 의해 화살표 방향으로 누설(leakage)될 수 있고, 이에 따라, 메모리 셀(MC)의 문턱 전압이 변경될 수 있다.
도 12a는 도 11의 메모리 셀(MC)이 멀티 레벨 셀인 경우, 메모리 장치(10)의 프로그램 완료 후의 문턱 전압에 따른 분포(distribution)를 나타내는 그래프(DSB1)이다.
도 12a를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들(MC)의 개수를 나타낸다. 예를 들어, 메모리 셀(MC)이 2 비트로 프로그램되는 2 비트 멀티 레벨 셀인 경우, 메모리 셀(MC)은 소거 상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3) 중 하나를 가질 수 있다. 싱글 레벨 셀에 비하여 멀티 레벨 셀의 경우, 문턱 전압(Vth) 분포들 사이의 간격이 좁으므로, 멀티 레벨 셀에서는 문턱 전압(Vth)의 작은 변화에 의해 독출 오류가 발생될 수 있다.
도 12b은 도 12a의 분포를 가지는 메모리 장치의 프로그램 완료 후 일정 시간이 경과한 후의 문턱 전압에 따른 분포를 나타내는 그래프(DSB2)이다.
도 12b를 참조하면, 소거 상태(E) 및 제1 내지 제3 프로그램 상태들(P1 내지 P3)로 각각 프로그램된 메모리 셀들(MC)은 도 12b에 도시된 바와 같이 변경된 분포를 가질 수 있다. 도 12b에 도시된 그래프(DSB2)는, 도 12a에 도시된 그래프(DSB1)에 비해 문턱 전압(Vth)이 전반적으로 감소된 분포를 가진다.
제1 독출 전압(Vread1)은 소거 상태(E)를 가지는 메모리 셀(MC)의 산포와 제1 프로그램 상태(P1)를 가지는 메모리 셀(MC)의 산포 사이의 전압 레벨을 가진다. 제2 독출 전압(Vread2)은 제1 프로그램 상태(P1)를 가지는 메모리 셀(MC)의 산포와 제2 프로그램 상태(P2)를 가지는 메모리 셀(MC)의 산포 사이의 전압 레벨을 가진다. 제3 독출 전압(Vread3)은 제2 프로그램 상태(P2)를 가지는 메모리 셀(MC)의 산포와 제3 프로그램 상태(P3)를 가지는 메모리 셀(MC)의 산포 사이의 전압 레벨을 가진다. 제4 독출 전압(Vread4)은 제3 프로그램 상태(P3)를 가지는 메모리 셀(MC)의 산포와 제4 프로그램 상태(P4)를 가지는 메모리 셀(MC)의 산포 사이의 전압 레벨을 가진다.
예를 들어, 제1 독출 전압(Vread1)이 메모리 셀(MC)의 컨트롤 게이트(CG)에 인가되면, 소거 상태(E)의 메모리 셀(MC)은 턴온되는 반면, 제1 프로그램 상태(P1)의 메모리 셀(MC)은 턴오프된다. 메모리 셀(MC)이 턴온되면 메모리 셀(MC)을 통해 전류가 흐르고, 메모리 셀(MC)이 턴오프되면 메모리 셀(MC)을 통해 전류가 흐르지 않는다. 따라서, 메모리 셀(MC)의 턴온 여부에 따라 메모리 셀(MC)에 저장된 데이터가 구별될 수 있다.
이러한 제1 내지 제3 독출 전압들(Vread1, Vread2, Vread3)은 일반 독출 전압 또는 디폴트 독출 전압이라고 지칭할 수 있고, 본 명세서에서는, 제1 전압 레벨(Vread)이라고 지칭할 수 있다. 이러한 제1 전압 레벨(Vread)은 메모리 셀의 문턱 전압의 변화량이 상대적으로 적은 정상 상태인 경우 메모리 셀을 독출하기 위한 전압 레벨일 수 있다.
도 13은 도 11의 메모리 셀(MC)이 프로그램 완료된 이후, 시간에 따른 메모리 셀(MC)의 문턱 전압의 변화를 나타내는 그래프이다.
도 13을 참조하면, 메모리 셀(MC)은 프로그램 직후 상대적으로 짧은 시간 내에 급격한 전하 손실이 발생할 수 있다. 구체적으로, 메모리 셀(MC)에 대한 프로그램이 완료된 이후 메모리 셀(MC)의 문턱 전압(Vth)은 프로그램이 완료된 이후 임계 시간(Tth)까지의 제1 기간(duration)(DUR1) 동안에는 상대적으로 빠른 속도로 감소하고, 임계 시간(Tth)이 지난 후의 제2 구간(DUR2) 동안에는 상대적으로 느린 속도로 감소할 수 있다. 다시 말해, 메모리 셀(MC)의 문턱 전압(Vth)은 제1 기간(DUR1) 동안 상대적으로 큰 기울기로 감소하고, 제2 기간(DUR2) 동안 상대적으로 작은 기울기로 감소할 수 있다. 예를 들어, 임계 시간(Tth)은 약 50 내지 100 ms 정도일 수 있다.
도 14는 도 12a 및 도 12b의 그래프들의 일부 영역에서 발생할 수 있는 독출 오류의 일 예를 나타낸다.
도 14를 참조하면, 도 12a의 그래프(DSB1)에서 제1 및 제2 프로그램 상태들(P1, P2)의 분포 및 도 12b의 그래프(DSB2)에서 제1 및 제2 프로그램 상태들(P1, P2)의 분포가 도시되었다. 도 12b의 그래프(DSB2)의 제1 및 제2 프로그램 상태들(P1, P2)에 대해, 즉, 메모리 셀(MC)에 대한 프로그램 완료 후 일정 시간이 경과한 후에 일반 독출 전압인 제2 독출 전압(Vread2)으로 독출 동작을 수행할 경우, 독출 오류 없이 독출 동작이 수행될 수 있다.
그러나, 도 12a의 그래프(DSB1)의 제1 및 제2 프로그램 상태들(P1, P2)에 대해, 즉, 메모리 셀(MC)에 대한 프로그램 완료 직후 일반 독출 전압인 제2 독출 전압(Vread2)으로 독출 동작을 수행할 경우, 빗금 친 영역에서 독출 오류가 발생할 수 있다. 구체적으로, 빗금 친 영역에 포함된 메모리 셀들은 제1 프로그램 상태(P1)로 프로그램 되었음에도 불구하고, 제2 프로그램 상태(P2)로 독출될 수 있다.
다시 도 1을 참조하면, 본 실시예에 따르면, 판단부(22)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하는지 판단할 수 있다. 이때, 임계 값(Dth)은 도 13에 도시된 임계 시간(Tth)을 기초로 하여 미리 결정될 수 있다. 이로써, 판단부(22)는 호스트(HOST)로부터 동일 워드 라인에 대한 프로그램 커맨드 이후 소정 시간 내에 독출 커맨드가 수신되었는지를 판단할 수 있다.
독출 전압 결정부(23)는 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하는 것으로 판단된 경우, 상기 독출 커맨드에 대한 독출 전압을 일반 독출 전압, 즉, 제1 전압 레벨로 결정할 수 있다. 이로써, 호스트(HOST)로부터 동일 워드 라인에 대한 프로그램 커맨드 이후 소정 시간 이후에 독출 커맨드가 수신된 경우, 다시 말해, 프로그램 동작이 완료된 후 소정 시간이 경과한 후에 독출 동작이 수행되는 경우는 일반 독출 전압, 즉, 제1 전압 레벨을 이용하여 독출 전압을 수행할 수 있다.
한편, 독출 전압 결정부(23)는 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하지 않는 것으로 판단된 경우, 상기 독출 커맨드에 대한 독출 전압을 특수 독출 전압 또는 수정 독출 전압으로 결정할 수 있다. 본 명세서에서, 특수 독출 전압 또는 수정 독출 전압은 제2 전압 레벨이라고 지칭될 수 있다. 이때, 특수 독출 전압, 즉, 제2 전압 레벨은 일반 독출 전압, 즉, 제1 전압 레벨보다 높다.
이에 따라, 메모리 셀(MC)에 대한 프로그램 직후에는 일반 독출 전압이 아닌 특수 독출 전압을 이용하여 독출 동작을 수행함으로써, 메모리 셀(MC)에 대한 프로그램 직후의 급격한 전하 손실에도 불구하고 독출 오류를 해결할 수 있다.
도 15는 도 1의 메모리 컨트롤러의 일 예(20A)를 상세하게 나타내는 블록도이다.
도 15를 참조하면, 메모리 컨트롤러(20A)는 저장부(21), 판단부(22), 독출 전압 결정부(23), 임계 값 저장부(24) 및 전압 레벨 저장부(25)를 포함할 수 있다.
저장부(21)는 호스트(HOST)로부터 수신한 복수의 커맨드들(CMD)을 순차적으로 저장할 수 있다. 구체적으로, 저장부(21)는 호스트(HOST)로부터 수신한 순서에 따라, 즉, 시계열적 순서에 따라, 복수의 커맨드들(CMD)을 저장할 수 있으며, 이러한 저장 방식을 FIFO 방식이라고 지칭할 수 있다. 본 실시예에서, 저장부(21)는 커맨드 큐를 포함할 수 있다.
더욱 상세하게는, 저장부(21)는 호스트(HOST)로부터 수신한 순서에 따라 복수의 커맨드들(CMD)을 저장하므로, 저장된 복수의 커맨드들(CMD) 중 두 개의 커맨드들(CMD) 사이의 저장 순서의 차이, 즉, 간격은 두 개의 커맨드들(CMD)의 처리 순서의 차이, 즉, 간격에 대응할 수 있다. 이에 따라, 두 개의 커맨드들(CMD) 사이의 저장 순서의 차이, 즉, 간격은 두 개의 커맨드들(CMD)의 처리 시간의 차이, 즉, 간격에 대응할 수 있다. 이하에서는, 두 개의 커맨드들(CMD) 사이의 저장 순서의 간격을 두 개의 커맨드들(CMD) 사이의 간격이라고 지칭하기로 한다.
도 16은 도 15의 메모리 컨트롤러(20A)에 포함된 저장부의 일 예(21A)를 나타내는 블록도이다.
도 16을 참조하면, 저장부(21A)는 커맨드 저장부(211)를 포함할 수 있다. 커맨드 저장부(211)는 호스트(HOST)로부터 수신된 복수의 커맨드들(CMD)을 순차적으로 저장할 수 있다. 커맨드 저장부(211)는 소정의 저장 공간을 가질 수 있으며, FIFO 방식에 따라 가장 먼저 저장된 커맨드(CMD)부터 가장 나중에 저장된 커맨드(CMD)의 순서대로 메모리 장치(10)에 제공할 수 있다. 예를 들어, 커맨드 저장부(211)는 16개의 커맨드들(CMD)을 저장할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서 커맨드 저장부(211)의 저장 공간은 다양하게 변경될 수 있다.
도 17은 도 15의 메모리 컨트롤러(20A)에 포함된 저장부의 다른 예(21B)를 나타내는 블록도이다.
도 17을 참조하면, 저장부(21B)는 커맨드 저장부(211) 및 어드레스 저장부(213)를 포함할 수 있다. 커맨드 저장부(211)는 호스트(HOST)로부터 수신된 복수의 커맨드들(CMD)을 순차적으로 저장할 수 있다. 커맨드 저장부(211)는 소정의 저장 공간을 가질 수 있으며, FIFO 방식에 따라 가장 먼저 저장된 커맨드(CMD)부터 가장 나중에 저장된 커맨드(CMD)의 순서대로 메모리 장치(10)에 제공할 수 있다. 예를 들어, 커맨드 저장부(211)는 16개의 커맨드들(CMD)을 저장할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서 커맨드 저장부(211)의 저장 공간은 다양하게 변경될 수 있다.
어드레스 저장부(213)는 호스트(HOST)로부터 수신된 복수의 어드레스들(ADDR)을 순차적으로 저장할 수 있다. 이때, 어드레스 저장부(213)에 순차적으로 저장되는 어드레스들(ADDR)은 커맨드 저장부(211)에 순차적으로 저장되는 커맨드들(CMD)에 각각 대응될 수 있다. 어드레스 저장부(213)는 소정의 저장 공간을 가질 수 있으며, FIFO 방식에 따라 가장 먼저 저장된 어드레스(ADDR)부터 가장 나중에 저장된 어드레스(ADDR)의 순서대로 메모리 장치(10)에 제공할 수 있다. 예를 들어, 어드레스 저장부(213)는 16개의 어드레스들(ADDR)을 저장할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서 어드레스 저장부(213)의 저장 공간은 다양하게 변경될 수 있다.
도 18은 도 15의 메모리 컨트롤러(20A)에 포함된 저장부의 또 다른 예(21C)를 나타내는 블록도이다.
도 18을 참조하면, 저장부(21C)는 커맨드 및 어드레스 저장부(215)를 포함할 수 있다. 커맨드 및 어드레스 저장부(215)는 호스트(HOST)로부터 수신된 복수의 커맨드들(CMD) 및 이에 대응되는 복수의 어드레스들(ADDR)을 순차적으로 저장할 수 있다. 커맨드 및 어드레스 저장부(215)는 소정의 저장 공간을 가질 수 있으며, FIFO 방식에 따라 가장 먼저 저장된 커맨드(CMD) 및 어드레스(ADDR)부터 가장 나중에 저장된 커맨드(CMD) 및 어드레스(ADDR)의 순서대로 메모리 장치(10)에 제공할 수 있다. 예를 들어, 커맨드 및 어드레스 저장부(215)는 16개의 커맨드들(CMD) 및 어드레스들(ADDR)을 저장할 수 있다. 그러나, 본 발명은 이에 한정되지 않고, 다른 실시예에서 커맨드 및 어드레스 저장부(215)의 저장 공간은 다양하게 변경될 수 있다.
도 19는 도 15의 메모리 컨트롤러(20A)에 포함된 저장부의 또 다른 예(21D)를 나타내는 블록도이다.
도 19를 참조하면, 저장부(21D)는 소정의 저장 공간을 갖는 커맨드 큐로 구현될 수 있다. 커맨드 큐는 리스트의 한쪽 끝에서는 커맨드(CMD)의 입력만 가능하고 반대쪽 끝에서는 커맨드(CMD)의 출력만 가능하도록 순서화된 리스트이다. 이하에서는, 저장부(21D)를 커맨드 큐(21D)라고 지칭하기로 한다.
커맨드 큐(21D)는 제1 워드 라인(WLy)에 대한 프로그램 커맨드(Program WLy), 제2 워드 라인(WLx)에 대한 프로그램 커맨드(Program WLx), 소거 커맨드(Erase), 제1 워드 라인(WLy)에 대한 독출 커맨드(Read WLy), 소거 커맨드(Erase), 제2 워드 라인(WLx)에 대한 독출 커맨드(Read WLx) 등의 복수의 커맨드들(CMD)을 저장할 수 있다. 이때, 커맨드 큐(21D)에 저장된 커맨드들(CMD)의 저장 순서는 상기 커맨드들(CMD)의 처리 순서에 대응될 수 있다.
커맨드 큐(21D)는 소정의 저장 공간을 가질 수 있고, 예를 들어, 커맨드 큐(21D)는 16개의 커맨드들(CMD)을 저장할 수 있다. 따라서, 커맨드 큐(21D)에 저장된 복수의 커맨드들(CMD)은 상대적으로 짧은 시간 내에 메모리 장치(10)에 제공될 수 있고, 이에 따라, 상대적으로 짧은 시간 내에 커맨드(CMD)에 따른 동작이 처리될 수 있다. 그러므로, 커맨드 큐(21D)에 저장된 커맨드들(CMD) 중 동일한 워드 라인에 대한 프로그램 커맨드와 독출 커맨드가 존재할 경우, 상기 워드 라인에 대해 프로그램 동작이 수행된 후 상대적으로 짧은 시간 내에 상기 워드 라인에 대해 독출 동작이 수행될 수 있다.
다시 도 15를 참조하면, 판단부(22)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격을 판단할 수 있다. 구체적으로, 판단부(22)는 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하는지 판단할 수 있다. 일 실시예에서, 저장부(21)는 커맨드 큐를 포함할 수 있고, 이때, 상기 간격(D)은 커맨드 큐 간격, 즉, 커맨드 큐 깊이라고 할 수 있다.
임계 값 저장부(24)는 메모리 셀들의 복수의 프로그램 상태들 각각에 따른 임계 값들을 임계 값 테이블로 저장할 수 있다.
도 20은 도 15의 임계 값 저장부(24)에 저장된 임계 값 테이블의 일 예를 나타내는 표이다.
도 20을 참조하면, 메모리 셀이 2 비트 멀티 레벨 셀인 경우, 임계 값 테이블은 제1 내지 제3 프로그램 상태들(P1, P2, P3)에 따른 임계 값들을 α, β, γ로 각각 저장한다. 이때, 임계 값들인 α, β, γ는 프로그램이 완료된 메모리 셀의 문턱 전압 변화 속도를 기초로 하여 미리 결정될 수 있다.
다른 예에서, 메모리 셀이 3 비트 멀티 레벨 셀인 경우, 임계 값 테이블은 제1 내지 제7 프로그램 상태들(P1 내지 P7)에 따른 임계 값들을 각각 저장할 수 있다. 이 경우에도, 임계 값들은 프로그램이 완료된 메모리 셀의 문턱 전압 변화 속도를 기초로 하여 미리 결정될 수 있다.
도 21은 시간에 따른 커맨드 큐 간격의 일 예를 나타내는 그래프이다.
도 21을 참조하면, 가로축은 시간을 나타내고, 세로축은 커맨드 큐 간격(D)을 나타낸다. 도 13에 도시된 바와 같이, 제1 구간(DUR1) 동안, 즉, 프로그램 완료 이후 임계 시간(Tth)까지, 메모리 셀(MC)의 문턱 전압(Vth)은 상대적으로 빠른 속도로 감소하고, 제2 구간(DUR2) 동안, 즉, 임계 시간(Tth) 이후에, 메모리 셀(MC)의 문턱 전압(Vth)은 상대적으로 느린 속도로 감소할 수 있다. 이와 같이, 임계 시간(Tth)은 제1 구간(DUR1)과 제2 구간(DUR2) 사이의 경계일 수 있다.
복수의 커맨드들(CMD)의 종류에 관계 없이 각 커맨드에 따른 동작을 수행하는 데에 소요되는 시간이 동일하다고 가정할 경우, 커맨드 큐 간격(D)은 시간에 따라 선형적으로 비례할 수 있다. 이때, 임계 시간(Tth)에 대응되는 커맨드 큐 간격(D)을 임계 값(Dth)으로 결정할 수 있다.
다시 도 15를 참조하면, 독출 전압 결정부(23)는 판단부(22)에서 판단된 간격(D) 및 전압 레벨 저장부(25)에 저장된 전압 레벨을 기초로 하여, 독출 커맨드에 대응되는 독출 전압 레벨을 결정할 수 있다. 구체적으로, 독출 전압 결정부(23)는 간격(D)이 임계 값(Dth)을 초과하는 경우 독출 전압 레벨을 일반 독출 전압, 즉, 제1 전압 레벨로 결정하고, 간격(D)이 임계 값(Dth)을 초과하지 않는 경우 독출 전압 레벨을 제1 전압 레벨보다 높은 특수 독출 전압, 즉, 제2 전압 레벨로 결정할 수 있다. 이때, 독출 전압 결정부(23)는 결정된 독출 전압 레벨을 제어하기 위한 제어 신호(CTRL)를 생성할 수 있고, 생성된 제어 신호(CTRL)를 메모리 장치(10)에 제공할 수 있다.
도 22는 도 15의 전압 레벨 저장부(25)에 저장된 전압 레벨 테이블의 일 예를 나타내는 표이다.
도 22를 참조하면, 메모리 셀이 2 비트 멀티 레벨 셀인 경우, 전압 레벨 테이블은 제1 내지 제3 프로그램 상태들(P1, P2, P3)에 따른 일반 독출 전압, 즉, 제1 전압 레벨 및 특수 독출 전압, 즉, 제2 전압 레벨들을 각각 저장한다. 예를 들어, 제1 프로그램 상태(P1)의 경우 제1 전압 레벨(Vread1)은 0.5 V이고, 제2 전압 레벨(Vread1')은 0.7 V일 수 있다. 예를 들어, 제2 프로그램 상태(P2)의 경우 제1 전압 레벨(Vread2)은 1.0 V이고, 제2 전압 레벨(Vread2')은 1.2 V일 수 있다. 예를 들어, 제3 프로그램 상태(P3)의 경우 제1 전압 레벨(Vread3)은 2.0 V이고, 제2 전압 레벨(Vread3')은 2.3 V일 수 있다.
도 23은 도 22의 전압 레벨 테이블에 저장된 전압 레벨을 이용하여 결정된 독출 전압을 이용한 독출 동작을 나타내는 그래프이다.
도 23을 참조하면, 제1 분포(DSB1)는 메모리 셀에 대한 프로그램 직후부터 임계 시간(Tth)까지의 제1 구간(DUR1)에서 메모리 셀의 문턱 전압에 따른 분포를 나타낸다. 제2 분포(DSB2)는 메모리 셀에 대한 프로그램 완료 후 소정 시간이 지난 후, 즉, 임계 시간(Tth) 이후의 제2 구간(DUR2)에서 메모리 셀의 문턱 전압에 따른 분포를 나타낸다.
본 실시예에 따르면, 제1 구간(DUR1)에 해당하는 제1 분포(DSB1)에 대해서는 특수 독출 전압, 즉, 제2 전압 레벨(Vread2')을 이용하여 독출 동작을 수행하고, 제2 구간(DUR2)에 해당하는 제2 분포(DSB2)에 대해서는 일반 독출 전압, 즉, 제1 전압 레벨(Vread2)을 이용하여 독출 동작을 수행할 수 있다. 이로써, 제1 및 제2 구간들(DUR1, DUR2) 모두에서 독출 오류 없이 독출 동작을 수행할 수 있다.
도 24는 도 1의 메모리 컨트롤러의 다른 예(20B)를 상세하게 나타내는 블록도이다.
도 24를 참조하면, 메모리 컨트롤러(20B)는 저장부(21), 판단부(22'), 독출 전압 결정부(23), 임계 값 저장부(24), 전압 레벨 저장부(25) 및 보정부(26)를 포함할 수 있다. 도 15에 도시된 메모리 컨트롤러(20A)에 비해, 본 실시예에 따른 메모리 컨트롤러(20B)는 보정부(26)를 더 포함할 수 있다. 따라서, 이하에서는, 보정부(26)을 중심으로 본 실시예에 대하여 상술하기로 한다.
보정부(26)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 각각의 종류를 기초로 하여 임계 값(Dth)을 보정할 수 있다. 커맨드들(CMD) 각각의 종류에 따라 커맨드(CMD)를 수행하는데 소요되는 시간은 다를 수 있다. 소거 커맨드에 따라 소거 동작을 수행할 때에 상대적으로 많은 시간이 소요되고, 독출 커맨드에 따라 독출 동작을 수행할 때에 상대적으로 적은 시간이 소요될 수 있다.
일 실시예에서, 보정부(26)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 소거 커맨드의 개수에 따라 임계 값(Dth)을 증가시킬 수 있다. 다른 실시예에서, 보정부(26)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 독출 커맨드의 개수에 따라 임계 값(Dth)을 감소시킬 수 있다. 또 다른 실시예에서, 보정부(26)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 소거 커맨드의 개수에 따라 임계 값(Dth)을 증가시키고, 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 독출 커맨드의 개수에 따라 임계 값(Dth)을 감소시킬 수 있다.
도 25는 도 1의 메모리 컨트롤러의 다른 예(20C)를 상세하게 나타내는 블록도이다.
도 25를 참조하면, 메모리 컨트롤러(20C)는 저장부(21), 판단부(22"), 독출 전압 결정부(23), 전압 레벨 저장부(25), 임계 시간 저장부(27)를 포함할 수 있다. 도 15에 도시된 메모리 컨트롤러(20A)에 비해, 본 실시예에 따른 메모리 컨트롤러(20C)는 임계 시간 저장부(27)를 더 포함할 수 있다. 따라서, 이하에서는, 추정부(27) 및 임계 시간 저장부(27)를 중심으로 본 실시예에 대하여 상술하기로 한다.
임계 시간 저장부(27)는 메모리 셀들의 복수의 프로그램 상태들 각각에 따른 임계 시간들(Tth)을 임계 시간 테이블로 저장할 수 있다. 여기서, 임계 시간은 eh 13dp 도시된 임계 시간(Tth)에 대응될 수 있다.
판단부(22")는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중, 동일 워드라인에 대한 프로그램 커맨드(예를 들어, 도 19의 Program WLx)와 독출 커맨드(예를 들어, 도 19의 Read WLx) 사이에 있는 소거 커맨드, 독출 커맨드 및 프로그램 커맨드의 개수를 세어, 동일 워드라인에 대한 프로그램 커맨드(예를 들어, 도 19의 Program WLx)와 독출 커맨드(예를 들어, 도 19의 Read WLx) 사이의 제1 시간(T1)을 추정할 수 있다. 이어서, 판단부(22")는 제1 시간(T1)이 임계 시간(Tth)을 초과하는지 판단할 수 있다.
이때, 제1 시간(T1)은 아래의 수학식 1을 이용하여 구할 수 있다.
[수학식 1]
T1 = Te * Ne + Tp * Np + Tr * Nr
여기서, Te는 소거 커맨드를 수행하는 데에 소요되는 시간이고, Ne는 소거 커맨드의 개수이다. 또한, Tp는 프로그램 커맨드를 수행하는 데에 소요되는 시간이고, Np는 프로그램 커맨드의 개수이다. 또한, Tr는 독출 커맨드를 수행하는 데에 소요되는 시간이고, Nr는 독출 커맨드의 개수이다.독출 전압 결정부(23')는 판단부(22")의 판단 결과 및 전압 레벨 저장부(25)에 저장된 전압 레벨을 기초로 하여, 독출 커맨드에 대응되는 독출 전압 레벨을 결정할 수 있다. 구체적으로, 독출 전압 결정부(23')는 제1 시간(T1)이 임계 시간(Tth)을 초과하는 경우 독출 전압 레벨을 일반 독출 전압, 즉, 제1 전압 레벨로 결정하고, 제1 시간(T1)이 임계 시간(Tth)을 초과하지 않는 경우 독출 전압 레벨을 제1 전압 레벨보다 높은 특수 독출 전압, 즉, 제2 전압 레벨로 결정할 수 있다. 이때, 독출 전압 결정부(23')는 결정된 독출 전압 레벨을 제어하기 위한 제어 신호(CTRL)를 생성할 수 있고, 생성된 제어 신호(CTRL)를 메모리 장치(10)에 제공할 수 있다.
도 26은 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 26을 참조하면, 본 실시예에 따른 메모리 시스템의 동작 방법은 메모리 장치에 포함된 메모리 셀 어레이에 대해 독출 동작을 수행하기 위한 독출 전압을 제어하는 방법으로서, 도 1 내지 도 25에 상술된 내용은 본 실시예에 따른 메모리 시스템의 동작 방법에도 적용된다. 이하에서는, 도 1 및 도 26를 참조하여, 본 실시예에 따른 메모리 시스템의 동작 방법을 상술하기로 한다.
S110 단계에서, 복수의 커맨드들을 저장부에 순차적으로 저장한다. 예를 들어, 저장부(21)는 호스트(HOST)로부터 수신한 복수의 커맨드들(CMD)을 순차적으로 저장할 수 있다. 이에 따라 저장된 복수의 커맨드들(CMD) 중 두 개의 커맨드들(CMD) 사이의 저장 순서의 차이, 즉, 간격은 두 개의 커맨드들(CMD)의 처리 순서의 차이, 즉, 간격에 대응할 수 있다.
S130 단계에서, 저장된 커맨드들 중 제1 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격을 판단한다. 예를 들어, 판단부(22)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 제1 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)을 판단할 수 있다. 구체적으로, 판단부(22)는 제1 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하는지 판단할 수 있다.
S150 단계에서, 독출 커맨드에 대응하는 독출 전압 레벨을 결정한다. 예를 들어, 독출 전압 결정부(23)는 판단부(22)에서의 판단 결과를 기초로 하여, 제1 워드 라인에 대한 독출 커맨드에 대응하는 독출 전압 레벨을 결정할 수 있다. 구체적으로, 독출 전압 결정부(23)는 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하는 경우 독출 전압을 일반 독출 전압, 즉, 제1 전압 레벨로 결정하고, 간격(D)이 임계 값(Dth)을 초과하지 않는 경우 독출 전압을 상기 제1 전압 레벨보다 높은 특수 독출 전압, 즉, 제2 전압 레벨로 결정할 수 있다.
도 27은 본 발명의 다른 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 27을 참조하면, 본 실시예에 따른 메모리 시스템의 동작 방법은 도 26의 S110에서 이어지는 단계들을 포함하며, S130 단계 및 S150 단계의 구체적인 실시예에 대응된다.
S1310 단계에서, 저장부를 검색한다. 예를 들어, 판단부(22)는 독출 커맨드가 수신된 경우, 저장부(21)에 저장된 복수의 커맨드들(CMD)을 검색할 수 있다.
S1330 단계에서, 제1 워드 라인에 대한 프로그램 커맨드가 존재하는지 판단한다. 예를 들어, 판단부(22)는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 제1 워드 라인에 대한 프로그램 커맨드가 존재하는지 판단할 수 있다. 판단 결과, 제1 워드 라인에 대한 프로그램 커맨드가 존재하는 경우 S1350 단계를 수행하고, 그렇지 않으면 S1510 단계를 수행한다.
S1350 단계에서, 간격이 임계 값을 초과하는지 판단한다. 예를 들어, 판단부(22)는 제1 워드 라인에 대한 프로그램 커맨드과 독출 커맨드 사이의 간격(D)이 임계 값(Dth)을 초과하는지 판단할 수 있다. 판단 결과, 간격이 임계 값을 초과하면 S1510 단계를 수행하고, 그렇지 않으면 S1530 단계를 수행한다.
S1510 단계에서, 독출 전압 레벨을 제1 전압 레벨로 결정한다. 예를 들어, 독출 전압 결정부(23)는 간격(D)이 임계 값(Dth)을 초과하면, 메모리 셀에 대한 프로그램 완료 이후 소정 시간이 경과한 후에 독출 동작이 수행되는 것으로 보고, 일반 독출 전압, 즉, 제1 전압 레벨을 독출 전압 레벨로 결정할 수 있다.
S1530 단계에서, 독출 전압 레벨을 제2 전압 레벨로 결정한다. 예를 들어, 독출 전압 결정부(23)는 간격(D)이 임계 값(Dth)을 초과하지 않은 경우, 메모리 셀에 대한 프로그램 완료 이후 임계 시간(Tth) 이내에 독출 동작이 수행되는 것으로 보고, 특수 독출 전압, 즉, 제2 전압 레벨을 독출 전압 레벨로 결정할 수 있다.
도 28은 본 발명의 다른 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 28을 참조하면, 본 실시예에 따른 메모리 시스템의 동작 방법은 도 26의 S110에서 이어지는 단계들을 포함하며, S130 단계 및 S150 단계의 구체적인 실시예에 대응된다.
S1310 단계에서, 저장부를 검색한다. 예를 들어, 판단부(22)는 독출 커맨드가 수신된 경우, 저장부(21)에 저장된 복수의 커맨드들(CMD)을 검색할 수 있다.
S1330 단계에서, 제1 워드 라인에 대한 프로그램 커맨드가 존재하는지 판단한다. 예를 들어, 판단부(22")는 저장부(21)에 저장된 복수의 커맨드들(CMD) 중 제1 워드 라인에 대한 프로그램 커맨드가 존재하는지 판단할 수 있다. 판단 결과, 제1 워드 라인에 대한 프로그램 커맨드가 존재하는 경우 S1360 단계를 수행하고, 그렇지 않으면 S1510 단계를 수행한다.
S1360 단계에서, 제1 시간이 임계 시간을 초과하는지 판단한다. 예를 들어, 판단부(22")는 제1 워드 라인에 대한 프로그램 커맨드과 독출 커맨드 사이의 제1 시간(T1)이 임계 시간(Tth)을 초과하는지 판단할 수 있다. 판단 결과, 제1 시간이 임계 시간을 초과하면 S1510 단계를 수행하고, 그렇지 않으면 S1530 단계를 수행한다.
S1510 단계에서, 독출 전압 레벨을 제1 전압 레벨로 결정한다. 예를 들어, 독출 전압 결정부(23')는 제1 시간(T1)이 임계 시간(Tth)을 초과하면, 메모리 셀에 대한 프로그램 완료 이후 소정 시간이 경과한 후에 독출 동작이 수행되는 것으로 보고, 일반 독출 전압, 즉, 제1 전압 레벨을 독출 전압 레벨로 결정할 수 있다.
S1530 단계에서, 독출 전압 레벨을 제2 전압 레벨로 결정한다. 예를 들어, 독출 전압 결정부(23')는 제1 시간(T1)이 임계 시간(Tth)을 초과하지 않은 경우, 메모리 셀에 대한 프로그램 완료 이후 임계 시간(Tth) 이내에 독출 동작이 수행되는 것으로 보고, 특수 독출 전압, 즉, 제2 전압 레벨을 독출 전압 레벨로 결정할 수 있다.
도 29는 본 발명의 실시예들에 따른 메모리 시스템을 메모리 카드 시스템(1000)에 적용한 예를 나타내는 블록도이다.
도 29를 참조하면, 메모리 카드 시스템(1000)은 호스트(1100) 및 메모리 카드(1200)를 포함할 수 있다. 호스트(1100)는 호스트 컨트롤러(1110) 및 호스트 접속부(1120)를 포함할 수 있다. 메모리 카드(1200)는 카드 접속부(1210), 카드 컨트롤러(1220) 및 메모리 장치(1230)를 포함할 수 있다. 이때, 메모리 카드(1200)는 도 1 내지 도 28에 도시된 실시예들을 이용하여 구현될 수 있다.
호스트(1100)는 메모리 카드(1200)에 데이터를 기입하거나, 메모리 카드(1200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(1110)는 커맨드(CMD), 호스트(1100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(1120)를 통해 메모리 카드(1200)로 전송할 수 있다.
카드 컨트롤러(1220)는 카드 접속부(1210)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(1220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(1230)에 저장할 수 있다. 메모리 장치(1230)는 호스트(1100)로부터 전송된 데이터를 저장할 수 있다.
메모리 카드(1230)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 30은 본 발명의 실시예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템(2000)을 나타내는 블록도이다.
도 30을 참조하면, 컴퓨팅 시스템(2000)은 메모리 시스템(2100), 프로세서(2200), RAM(2300), 입출력 장치(2400), 및 전원 장치(2500) 포함할 수 있다. 한편, 도 30에는 도시되지 않았지만, 컴퓨팅 시스템(2000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(2000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
프로세서(2200)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(2200)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(2200)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(2600)를 통하여 RAM(2300), 입출력 장치(2400) 및 메모리 시스템(2100)과 통신을 수행할 수 있다. 이때, 메모리 시스템(2100)은 도 1 내지 도 28에 도시된 실시예들을 이용하여 구현될 수 있다.
실시예에 따라, 프로세서(2200)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
RAM(2300)는 컴퓨팅 시스템(2000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, RAM(2300)은 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(2400)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(2500)는 컴퓨팅 시스템(2000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 31은 본 발명의 실시예들에 따른 메모리 시스템을 SSD 시스템(3000)에 적용한 예를 나타내는 블록도이다.
도 31을 참조하면, SSD 시스템(3000)은 호스트(3100) 및 SSD(3200)를 포함할 수 있다. SSD(3200)는 신호 커넥터(signal connector)를 통해 호스트(3100)와 신호를 주고 받으며, 전원 커넥터(power connector)를 통해 전원을 입력 받는다. SSD(3200)는 SSD 컨트롤러(3210), 보조 전원 장치(3220) 및 복수의 메모리 장치들(3230, 3240, 3250)을 포함할 수 있다. 이때, SSD(3200)는 도 1 내지 도 28에 도시된 실시예들을 이용하여 구현될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
1: 메모리 시스템
10: 메모리 장치
20, 20A, 20B: 메모리 컨트롤러
21: 저장부
22, 22': 판단부
23: 독출 전압 결정부
24: 임계 값 저장부
25: 전압 레벨 저장부
26: 보정부

Claims (10)

  1. 복수의 메모리 셀들을 포함하는 메모리 장치; 및
    상기 메모리 장치를 제어하는 메모리 컨트롤러를 포함하고,
    상기 메모리 컨트롤러는,
    호스트로부터 수신한 복수의 커맨드들을 순차적으로 저장하는 저장부;
    저장된 상기 복수의 커맨드들 중 동일 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격을 판단하는 판단부; 및
    판단된 상기 간격을 기초로 하여 상기 독출 커맨드에 대응되는 독출 전압 레벨을 결정하는 독출 전압 결정부를 포함하는 것을 특징으로 하는 메모리 시스템.
  2. 제1항에 있어서,
    상기 판단부는, 상기 동일 워드 라인에 대한 상기 프로그램 커맨드와 상기 독출 커맨드 사이의 간격이 임계 값을 초과하는지 판단하는 것을 특징으로 하는 메모리 시스템.
  3. 제2항에 있어서,
    상기 임계 값은, 상기 복수의 메모리 셀들 중 프로그램이 완료된 메모리 셀의 문턱 전압 변화 속도를 기초로 하여 미리 결정된 것을 특징으로 하는 메모리 시스템.
  4. 제2항에 있어서,
    상기 복수의 메모리 셀들 중 프로그램이 완료된 메모리 셀의 문턱 전압은, 프로그램이 완료된 이후 임계 시간까지는 상대적으로 빠른 속도로 감소하고, 상기 임계 시간이 지난 후에는 상대적으로 느린 속도로 감소하고,
    상기 임계 값은, 상기 임계 시간을 기초로 하여 미리 결정된 것을 특징으로 하는 메모리 시스템.
  5. 제2항에 있어서,
    상기 독출 전압 결정부는,
    상기 간격이 상기 임계 값을 초과하는 경우 상기 독출 전압 레벨을 제1 전압 레벨로 결정하고,
    상기 간격이 상기 임계 값을 초과하지 않는 경우 상기 독출 전압 레벨을 상기 제1 전압 레벨보다 높은 제2 전압 레벨로 결정하는 것을 특징으로 하는 메모리 시스템.
  6. 제2항에 있어서,
    저장된 상기 복수의 커맨드들 각각의 종류를 기초로 하여 상기 임계 값을 보정하는 보정부를 더 포함하는 것을 특징으로 하는 메모리 시스템.
  7. 제6항에 있어서,
    상기 보정부는, 상기 복수의 커맨드들 중 소거 커맨드의 개수에 따라 상기 임계 값을 증가시키거나 상기 복수의 커맨드들 중 독출 커맨드의 개수에 따라 상기 임계 값을 감소시키는 것을 특징으로 하는 메모리 시스템.
  8. 제2항에 있어서,
    상기 저장부는, 상기 복수의 커맨드들을 순차적으로 저장하는 커맨드 큐(queue)를 포함하는 것을 특징으로 하는 메모리 시스템.
  9. 호스트로부터 수신한 복수의 커맨드들을 저장부에 순차적으로 저장하는 단계;
    저장된 상기 복수의 커맨드들 중 제1 워드 라인에 대한 프로그램 커맨드와 독출 커맨드 사이의 간격을 판단하는 단계; 및
    판단된 상기 간격을 기초로 하여 상기 독출 커맨드에 대응되는 독출 전압 레벨을 결정하는 단계를 포함하는 메모리 시스템의 동작 방법.
  10. 제9항에 있어서,
    상기 간격을 판단하는 단계는,
    저장된 상기 복수의 커맨드들 중 상기 제1 워드 라인에 대한 상기 프로그램 커맨드가 존재하는지 판단하는 단계; 및
    판단 결과, 상기 프로그램 커맨드가 존재할 경우 상기 간격이 임계 값을 초과하는지 판단하는 단계를 포함하고,
    상기 독출 전압 레벨을 결정하는 단계는,
    판단 결과, 상기 프로그램 커맨드가 존재하지 않는 경우 상기 독출 전압 레벨을 제1 전압 레벨로 결정하는 단계;
    상기 간격이 상기 임계 값을 초과할 경우 상기 독출 전압 레벨을 상기 제1 전압 레벨로 결정하는 단계; 및
    상기 간격이 상기 임계 값을 초과하지 않는 경우 상기 독출 전압 레벨을 상기 제1 전압 레벨보다 높은 제2 전압 레벨로 결정하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
KR1020140049461A 2014-04-24 2014-04-24 메모리 시스템 및 상기 메모리 시스템의 동작 방법 KR102198855B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140049461A KR102198855B1 (ko) 2014-04-24 2014-04-24 메모리 시스템 및 상기 메모리 시스템의 동작 방법
US14/686,483 US9477410B2 (en) 2014-04-24 2015-04-14 Memory system and method of operating the memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140049461A KR102198855B1 (ko) 2014-04-24 2014-04-24 메모리 시스템 및 상기 메모리 시스템의 동작 방법

Publications (2)

Publication Number Publication Date
KR20150123057A KR20150123057A (ko) 2015-11-03
KR102198855B1 true KR102198855B1 (ko) 2021-01-05

Family

ID=54334813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140049461A KR102198855B1 (ko) 2014-04-24 2014-04-24 메모리 시스템 및 상기 메모리 시스템의 동작 방법

Country Status (2)

Country Link
US (1) US9477410B2 (ko)
KR (1) KR102198855B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160062656A1 (en) * 2014-08-28 2016-03-03 Freescale Semiconductor, Inc. Command Set Extension for Non-Volatile Memory
US9640756B2 (en) * 2015-03-11 2017-05-02 Kabushiki Kaisha Toshiba Method for manufacturing magnetic memory
KR102420588B1 (ko) * 2015-12-04 2022-07-13 삼성전자주식회사 비휘발성 메모리 장치, 메모리 시스템, 비휘발성 메모리 장치의 동작 방법 및 메모리 시스템의 동작 방법
JP2017224370A (ja) * 2016-06-15 2017-12-21 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US9728266B1 (en) 2016-07-08 2017-08-08 Micron Technology, Inc. Memory device including multiple select gates and different bias conditions
KR20180066650A (ko) * 2016-12-09 2018-06-19 삼성전자주식회사 반도체 소자
KR20180070974A (ko) * 2016-12-19 2018-06-27 삼성전자주식회사 비휘발성 메모리의 리드 동작 방법, 비휘발성 메모리를 포함하는 메모리 시스템 및 이의 동작 방법
KR102617350B1 (ko) * 2018-03-14 2023-12-26 삼성전자주식회사 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치
US10446254B1 (en) * 2018-05-03 2019-10-15 Western Digital Technologies, Inc. Method for maximizing power efficiency in memory interface block
JP2020047001A (ja) * 2018-09-19 2020-03-26 キオクシア株式会社 メモリシステムおよびその制御方法
KR20200057331A (ko) * 2018-11-16 2020-05-26 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR102609558B1 (ko) * 2018-12-07 2023-12-04 삼성전자주식회사 전압 발생기 및 이의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250202A1 (en) 2004-03-08 2008-10-09 Sandisk Corporation Flash controller cache architecture

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134148A (en) 1997-09-30 2000-10-17 Hitachi, Ltd. Semiconductor integrated circuit and data processing system
US7903462B1 (en) 2008-04-04 2011-03-08 Link A Media Devices Corporation E/P durability by using a sub-range of a full programming range
US8078848B2 (en) * 2009-01-09 2011-12-13 Micron Technology, Inc. Memory controller having front end and back end channels for modifying commands
US8213236B1 (en) 2009-04-21 2012-07-03 Marvell International Ltd. Flash memory
JP2011107851A (ja) 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
US8422303B2 (en) 2010-12-22 2013-04-16 HGST Netherlands B.V. Early degradation detection in flash memory using test cells
TWI471862B (zh) 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
TWI467574B (zh) 2011-11-01 2015-01-01 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與其資料傳輸方法
KR20130070927A (ko) 2011-12-20 2013-06-28 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작 방법
KR101809202B1 (ko) 2012-01-31 2017-12-14 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
US8681569B2 (en) 2012-02-22 2014-03-25 Silicon Motion, Inc. Method for reading data stored in a flash memory according to a threshold voltage distribution and memory controller and system thereof
US9645177B2 (en) * 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250202A1 (en) 2004-03-08 2008-10-09 Sandisk Corporation Flash controller cache architecture

Also Published As

Publication number Publication date
US20150309737A1 (en) 2015-10-29
US9477410B2 (en) 2016-10-25
KR20150123057A (ko) 2015-11-03

Similar Documents

Publication Publication Date Title
KR102198855B1 (ko) 메모리 시스템 및 상기 메모리 시스템의 동작 방법
KR102532998B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US20200143890A1 (en) Nonvolatile memory device and method of programming in the same
CN107393589B (zh) 具有不同的伪字线的三维快闪存储器件和数据储存设备
US8654587B2 (en) Nonvolatile memory devices, channel boosting methods thereof, programming methods thereof, and memory systems including the same
KR101716713B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
KR101691088B1 (ko) 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR102441580B1 (ko) 프로그램 성능이 개선된 메모리 장치 및 이의 동작방법
US9520198B2 (en) Semiconductor memory device including three-dimensional memory cell array structure and operating method thereof
US10297299B2 (en) Semiconductor device and operating method thereof
US10497452B2 (en) Semiconductor memory device and method of operating the same
KR102606826B1 (ko) 비휘발성 메모리 장치 및 그 소거 방법
KR20110098119A (ko) 메모리 셀 어레이의 셀 스트링
KR20170099647A (ko) 메모리 장치 및 메모리 시스템
KR20130042780A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR20130137470A (ko) 비휘발성 메모리 장치 및 그것의 소거 방법
US10141066B2 (en) Memory device and operating method thereof
KR20160090124A (ko) 메모리 시스템의 동작 방법
KR20120057284A (ko) 불휘발성 메모리 장치 및 메모리 시스템 그리고 그것의 읽기 방법
US9646703B2 (en) Memory system, method of programming the memory system, and method of testing the memory system
KR20190073128A (ko) 메모리 장치 및 그 동작 방법
KR102320045B1 (ko) 비휘발성 메모리 장치 및 이의 동작 방법
KR20110133323A (ko) 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
CN111798886B (zh) 用于稳定内部电压的存储器设备及稳定其内部电压的方法
KR102361642B1 (ko) 비휘발성 메모리 장치의 프로그램 방법 및 동작 방법

Legal Events

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