KR102299186B1 - 자동화된 동적 워드 라인 시작 전압을 위한 장치 및 방법 - Google Patents

자동화된 동적 워드 라인 시작 전압을 위한 장치 및 방법 Download PDF

Info

Publication number
KR102299186B1
KR102299186B1 KR1020197026515A KR20197026515A KR102299186B1 KR 102299186 B1 KR102299186 B1 KR 102299186B1 KR 1020197026515 A KR1020197026515 A KR 1020197026515A KR 20197026515 A KR20197026515 A KR 20197026515A KR 102299186 B1 KR102299186 B1 KR 102299186B1
Authority
KR
South Korea
Prior art keywords
memory device
open
word line
block
page
Prior art date
Application number
KR1020197026515A
Other languages
English (en)
Other versions
KR20190107300A (ko
Inventor
디라즈 스리니바산
제프리 엠. 차이
알리 모함마드자데
테리 엠. 그룬즈케
Original Assignee
마이크론 테크놀로지, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20190107300A publication Critical patent/KR20190107300A/ko
Application granted granted Critical
Publication of KR102299186B1 publication Critical patent/KR102299186B1/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • 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/30Power supply circuits

Abstract

본 발명은 자동화된 동적 워드 라인 시작 전압(ADWLSV)을 위한 장치 및 방법에 관한 것이다. 예시적인 장치는 제어기 및 메모리 디바이스를 포함한다. 상기 메모리 디바이스는 상기 메모리 디바이스 내 소정 수의 개방된 블록의 상태를 상기 메모리 디바이스 내에 유지하도록 구성된다. 상기 상태는 상기 각각의 수의 개방된 블록에서 프로그래밍 동작이 개시되는 것을 포함할 수 있다. 워드 라인에 프로그래밍 동작의 개시를 지시하는 요청을 상기 제어기로부터 수신한 것에 응답하여, 상기 워드 라인과 관련된 메모리 셀의 다른 그룹에 비해 먼저 프로그래밍되는 상기 워드 라인과 관련된 메모리 셀의 그룹을 결정하고, 상기 메모리 셀의 그룹이 프로그래밍될 제1 그룹인 전압을 상기 개방된 블록의 상태에 포함하여 유지한다.

Description

자동화된 동적 워드 라인 시작 전압을 위한 장치 및 방법
본 발명은 일반적으로 반도체 메모리 및 방법에 관한 것으로, 보다 상세하게는 자동화된 동적 워드 라인 시작 전압을 위한 장치 및 방법에 관한 것이다.
메모리 디바이스는 일반적으로 컴퓨터 또는 다른 전자 디바이스의 내부 회로, 반도체 회로, 집적 회로로서 제공된다. 여기에는 휘발성 메모리와 비-휘발성 메모리를 포함하여 많은 다른 유형의 메모리가 있다. 휘발성 메모리는 데이터를 유지하는데 전력을 필요로 할 수 있으며, 특히 랜덤 액세스 메모리(Random Access Memory: RAM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory: DRAM) 및 동기 동적 랜덤 액세스 메모리(Synchronous Dynamic Random Access Memory: SDRAM)를 포함한다. 비-휘발성 메모리는 전력 공급이 없을 때 저장된 데이터를 유지함으로써 영구적으로 데이터를 제공할 수 있으며, 특히 NAND 플래시 메모리, NOR 플래시 메모리, 판독 전용 메모리(Read Only Memory: ROM), 전기적으로 소거 가능한 프로그래밍 가능한 ROM(Electrically Erasable Programmable ROM: EEPROM), 소거 가능한 프로그래밍 가능한 ROM(Erasable Programmable ROM: EPROM), 및 상 변화 랜덤 액세스 메모리(phase change random access memory: PCRAM), 저항 랜덤 액세스 메모리(resistive random access memory: RRAM), 및 자기 저항 랜덤 액세스 메모리(magnetoresistive random access memory: MRAM)와 같은 저항 가변 메모리를 포함할 수 있다.
메모리 디바이스들은 함께 결합되어 솔리드 스테이트 드라이브(solid state drive: SSD)와 같은 메모리 시스템의 저장 볼륨을 형성할 수 있다. 솔리드 스테이트 드라이브는 다양한 다른 유형의 비-휘발성 및 휘발성 메모리 중에서 특히 비-휘발성 메모리(예를 들어, NAND 플래시 메모리 및 NOR 플래시 메모리)를 포함할 수 있고/있거나 휘발성 메모리(예를 들어, DRAM 및 SRAM)를 포함할 수 있다.
솔리드 스테이트 드라이브는 성능, 크기, 무게, 견고함, 작동 온도 범위 및 전력 소모 면에서 하드 드라이브보다 유리할 수 있기 때문에 SSD는 컴퓨터용 주 저장 볼륨으로서 하드 디스크 드라이브를 대체하는데 사용될 수 있다. 예를 들어, SSD는 움직이는 부품이 없어서 자기 디스크 드라이브에 비해 우수한 성능을 발휘할 수 있어서, 자기 디스크 드라이브와 관련된 탐색 시간, 대기 시간 및 다른 전기 기계적 지연을 피할 수 있다.
SSD와 같은 메모리 디바이스의 메모리 셀에 적용되는 프로그래밍 및 소거(P/E) 사이클이 누적되면 P/E 사이클의 수가 증가함에 따라 메모리 셀의 프로그래밍 시간이 더 빨라질 수 있다. 제1 P/E 사이클 부근에서 사용된 프로그래밍 전압에 비해 점진적으로 감소된 프로그래밍 전압으로 메모리 셀이 프로그래밍되면 프로그래밍 시간이 더 빨라지는데 기여할 수 있다. 그리하여, 메모리 셀의 수명 동안 워드 라인 시작 전압을 프로그래밍 속도에 동적으로 매칭(match)시키려는 시도가 유용할 수 있다.
도 1은 본 발명의 소정 수의 실시예에 따라 자동화된 동적 워드 라인 시작 전압(automated dynamic word line start voltage: ADWLSV) 동작을 수행하기 위한 컴퓨팅 시스템 형태의 장치의 블록도;
도 2는 본 발명의 소정 수의 실시예에 따라 ADWLSV 동작을 수행하도록 구성된 메모리 디바이스 형태의 장치의 블록도;
도 3은 본 발명의 소정 수의 실시예에 따라 ADWLSV 동작을 수행하도록 구성된 다중 평면(multiplane) 메모리 디바이스 형태의 장치의 블록도;
도 4는 본 발명의 소정 수의 실시예에 따라 수퍼블록(superblock)으로 결합된 다중 평면 메모리 디바이스의 메모리 셀의 특정 블록의 예를 도시하는 테이블(table)을 도시하는 도면;
도 5는 본 발명의 소정 수의 실시예에 따라 다중 평면 메모리 디바이스의 내부에 유지되는 ADWLSV 개방된 블록 리스트(open block list)의 예를 도시하는 테이블을 도시하는 도면; 및
도 6은 본 발명의 소정 수의 실시예에 따라 호스트의 내부에 유지되는 설정 기능 인터페이스(set feature interface)의 일례를 도시하는 테이블을 도시하는 도면.
본 발명은 자동화된 동적 워드 라인 시작 전압(ADWLSV)을 위한 장치 및 방법에 관한 것이다. 본 명세서에 설명된 바와 같이, 워드 라인 시작 전압은 본 명세서에서 "액세스 라인"이라고도 지칭되는 워드 라인과 관련된 (예를 들어, 워드 라인에 결합된) 메모리 셀을 프로그래밍(예를 들어, 메모리 셀에 기입 동작(write operation)을 수행)하기 위해 이 워드 라인에 인가되는 시작 전압(예를 들어, 펄스 전압의 시퀀스로부터 선택됨)을 의미하는 것으로 의도된다.
예시적인 장치는 제어기 및 메모리 디바이스를 포함한다. 상기 메모리 디바이스는 상기 메모리 디바이스 내 소정 수의 개방된 블록(a number of open blocks)의 상태를 상기 메모리 디바이스의 내부에 유지하도록 구성된다. 상기 상태는 상기 각각의 수의 개방된 블록(respective number of open blocks)에서 개시되는 프로그래밍 동작을 포함할 수 있다. 워드 라인에 프로그래밍 동작의 개시를 지시하는 요청을 상기 제어기로부터 수신한 것에 응답하여, 상기 워드 라인과 관련된 메모리 셀의 다른 그룹에 비해 먼저 프로그래밍되는 워드 라인과 관련된 메모리 셀의 그룹을 결정하고, 상기 메모리 셀의 그룹이 프로그래밍될 제1 그룹인 전압을 상기 개방된 블록의 상태에 포함하여 유지한다.
소정 수의 실시예에서, 상기 메모리 셀의 제1 그룹이 프로그래밍되는 전압은 상기 메모리 셀의 제1 그룹이 프로그래밍 임계값을 먼저 통과(pass)하는 전압을 포함할 수 있다. 상기 프로그래밍 임계값은, 예를 들어, 임계 수(threshold number)로 전이하거나 또는 임계 수를 지나 전이(예를 들어, 0으로부터 1로 전이하거나 그 반대로 전이)하는 메모리 셀(예를 들어, 페이지)의 그룹 내 단일 레벨 셀(single level cell: SLC)의 수일 수 있다. 소정 수의 실시예에서, 상기 임계 수는 다른 가능한 임계값 중에서 특히 메모리 셀의 총 수 중에서 메모리 셀의 특정 수 및/또는 메모리 셀의 퍼센트일 수 있다.
본 발명의 이하의 상세한 설명에서, 본 발명의 일부를 형성하고, 본 발명의 소정 수의 실시예를 실시할 수 있는 방법을 예시적으로 도시하는 첨부 도면을 참조한다. 이러한 실시예는 이 기술 분야에 통상의 지식을 가진 자가 본 발명의 실시예를 실시할 수 있을 정도로 충분히 상세히 설명되고, 본 발명의 범위를 벗어나지 않고 다른 실시예도 이용될 수 있고, 프로세스적, 전기적 및/또는 구조적 변경이 이루어질 수 있는 것으로 이해된다.
본 명세서에 사용된 "소정 수의" 특정 것이란 하나 이상의 그러한 것을 지칭할 수 있다(예를 들어, 소정 수의 메모리 디바이스는 하나 이상의 메모리 어레이를 나타낼 수 있다). "복수"란 이러한 것의 2개 이상을 지칭하도록 의도된다. 또한, "할 수 있다" 및 "하는 것이 가능하다"라는 단어는 본 명세서 전체에 걸쳐 의무적인 의미(즉, ~해야 한다)가 아니라 허용의 의미(즉, ~할 가능성이 있다, ~하는 것도 가능하다)로 사용된다. "포함한다"라는 용어 및 그 파생어는 "~를 포함하지만 이에 국한되지 않는" 것을 의미한다. "결합된(coupled)" 및 "결합"이라는 용어는 문맥에 따라 명령 및/또는 데이터에 액세스 및 이동(전송)하기 위해 물리적으로 직접 또는 간접 연결되는 것을 의미한다.
본 도면은 첫 숫자 또는 숫자들이 도면 번호에 대응하고 나머지 숫자들이 도면에서 요소 또는 구성 요소를 나타내는 번호 매김 규칙을 따른다. 다른 도면들 간에 유사한 요소 또는 구성 요소는 유사한 숫자를 사용하여 식별될 수 있다. 예를 들어, 참조 부호 104는 도 1에서 요소 "04"를 나타낼 수 있고, 유사한 요소는 도 2에서 참조 부호 204로 나타낼 수 있다. 이해할 수 있는 바와 같이, 본 명세서에서 다양한 실시예에 도시된 요소는 본 발명의 소정 수의 추가적인 실시예를 제공하도록 추가되거나, 교환되거나, 그리고/또는 제거될 수 있다. 또한, 이해할 수 있는 바와 같이, 도면에 제공된 요소의 비율 및 상대적 축척은 본 발명의 실시예를 예시하기 위해 의도된 것일 뿐이므로 본 발명을 제한하는 의미로 해석되어서는 안 된다.
도 1은 본 발명의 소정 수의 실시예에 따라 ADWLSV용 컴퓨팅 시스템(100) 형태의 장치의 블록도이다. 본 명세서에서 사용된 바와 같이, 호스트(예를 들어, 102), 메모리 디바이스 시스템(예를 들어, 104), 호스트 제어기(예를 들어, 시스템 제어기(118)), 메모리 디바이스 제어기(예를 들어, 디바이스 제어기(120)), 또는 ADWLSV 개방된 블록 리스트(예를 들어, 122)는 또한 각각 개별적으로 "장치"인 것으로 고려될 수 있다.
컴퓨팅 시스템(100)은 디바이스 인터페이스(108)를 통해 호스트(102)에 결합된 메모리 디바이스 시스템(104)(예를 들어, SSD)을 포함한다. 본 명세서에 사용된 "결합된"이란 전기적, 광학적, 자기적 등의 연결을 포함하는, 유선이든 또는 무선이든 관계없이, 간접적인 통신 연결 또는 (예를 들어, 개재된 구성 요소가 없는) 직접적인 통신 연결일 수 있는 구성 요소들 간의 연결을 지칭하기 위해 의도된 것이다. 메모리 디바이스 시스템(104)은 예를 들어 소정 수의 SSD를 사용하여 구현된 솔리드 스테이트 저장 기기일 수 있다. 컴퓨팅 시스템(100)은 호스트(예를 들어, 시스템 제어기(118)) 내부의 제어기에 더하여 메모리 디바이스 시스템(104) 내부의 제어기(예를 들어, 디바이스 제어기(120))를 포함할 수 있다. 디바이스 제어기(120)는 소정 수의 적절한 메모리 인터페이스(미도시)를 통해 메모리 디바이스 시스템(104) 내 소정 수의 메모리 자원에 결합될 수 있다. 소정 수의 실시예에서, 메모리 자원은 휘발성 메모리 디바이스(124) 및/또는 비-휘발성 메모리 디바이스(126)와 같은 소정 수의 SSD 메모리 자원을 포함할 수 있다.
SSD와 같은 메모리 디바이스의 메모리 셀에 인가되는 P/E 사이클이 많아질수록, 메모리 셀의 (예를 들어, 경과 시간, 속도 및/또는 프로그래밍 속도에 의해 측정된) 프로그래밍 시간은 메모리 디바이스의 수명 동안 제1 P/E 사이클 부근의 프로그래밍 시간에 비해 더 빨라질 수 있다. 제1 P/E 사이클 부근에서 사용된 프로그래밍 전압에 비해 점진적으로 감소된 프로그래밍 전압으로 메모리 셀이 프로그래밍되면 프로그래밍 시간이 더 빨라지는데 기여할 수 있다. 또한 프로그래밍 시간은 메모리 셀의 임계 전압(Vt)에 도달하기 위해 선택된 워드 라인에 인가되는 프로그래밍 펄스의 수에 의해 영향을 받을 수 있다(예를 들어, Vt가 또한 감소할 수 있다).
일부 종래의 구현예에서, 고정된 워드 라인 시작 전압은 메모리 셀의 계획된 마지막 P/E 사이클 부근에서 사용되도록 계획된 전압으로 설정될 수 있다. 일부 종래의 구현예에서, 메모리 셀에 일정한 프로그래밍 시간을 유지하기 위해 동일한 수의 프로그래밍 펄스들이 메모리 디바이스의 수명에 걸쳐 사용될 수 있다. 그러나 다양한 고려 사항 중에서 특히, 다른 그룹의 메모리 셀 및/또는 다른 위치의 워드 라인과 관련된 메모리 셀(예를 들어, 본 명세서에 설명된 페이지, 블록, 수퍼블록)을 위한 Vt가 메모리 디바이스의 수명 내 동일한 시점에서 변할 수 있어서, 다른 그룹의 메모리 셀 및/또는 다른 위치의 워드 라인에 대해 적절한 워드 라인 시작 전압일 수 있는 것에 영향을 미칠 수 있다.
본 명세서에서 설명된 ADWLSV는 메모리 디바이스의 수명 동안 워드 라인과 관련된 메모리 셀에 워드 라인 시작 전압을 동적으로 매칭시킨다. 매칭시키는 것은, 예를 들어, (예를 들어, 펄스 전압의 시퀀스를 인가하는 것에 의해) 메모리 셀(예를 들어, 메모리 셀의 페이지)의 그룹의 Vt의 이동을 동적으로 샘플링하는 것을 포함할 수 있다. 이것은 (예를 들어, 호스트가 아니라) 메모리 디바이스가 워드 라인과 관련된 메모리 셀에 대한 Vt를 추적하고 이에 따라 워드 라인 시작 전압을 동적으로 조정(예를 들어, 증가)하는 것에 의해 프로그래밍 시간을 개선(예를 들어, 감소)시킬 수 있다.
예를 들어, 워드 라인과 관련된 그리고/또는 페이지의 블록 내 프로그래밍될 메모리 셀(예를 들어, 페이지)의 제1 (예를 들어, 가장 빠른) 그룹의 워드 라인 시작 전압에 보다 가까이 매칭하도록 워드 라인 시작 전압을 증가시키고 다른 페이지에 대해서도 동일한 증가된 워드 라인 시작 전압을 사용하는 것에 의해 프로그래밍 시간이 감소될 수 있다. 프로그래밍될 제1 페이지에 대해 적절한 워드 라인 시작 전압을 결정하면 펄스 전압 시퀀스에서 더 낮은 워드 라인 시작 전압은 우회(예를 들면, 건너뛰기)될 수 있어서, 프로그래밍될 제1 페이지의 워드 라인 시작 전압에 더 가깝게 워드 라인 시작 전압을 증가시킬 수 있다. 프로그래밍될 제1 페이지에 대해 결정된 증가된 워드 라인 시작 전압을 이용하면, 본 명세서에 설명된 바와 같이, 펄스 전압 시퀀스를 이용하지 않고 동일한 워드 라인과 관련된 그리고/또는 동일한 블록 내 다른 페이지에 대해 적절한 워드 라인 시작 전압을 결정할 수 있다. 또한, 프로그래밍될 제1 페이지를 이용하면 제1 페이지를 프로그래밍하는데 효과적인 펄스 전압 시퀀스의 낮은 (예를 들어, 가장 낮은) 펄스 전압이 모든 페이지에 대한 워드 라인 시작 전압으로서 선택되어서, 다른 페이지의 메모리 셀에 대한 Vt가 오버슈트할 가능성을 감소시킬 수 있다.
ADWLSV 개방된 블록 리스트(예를 들어, 122)는 메모리 디바이스 시스템(104) 내부의 디바이스 제어기(120)와 관련될 수 있다(예를 들어, 디바이스 제어기의 일부로서 형성될 수 있다). 소정 수의 실시예에서 (예를 들어, 도 5와 관련하여 참조 부호 522로 도시되고 설명된) ADWLSV 개방된 블록 리스트에서 제거될 때까지(예를 들어, 소거될 때까지) 엔트리가 저장될 수 있다.
본 발명의 소정 수의 실시예는 종래의 접근법에 비해 페이지, 블록 및/또는 수퍼블록과 같은 메모리 셀의 그룹의 프로그래밍 성능(예를 들어, 메모리 셀에 수행된 다른 가능한 프로그래밍 동작 중에서 특히, 기입, 판독, 소거, 리프레시 동작)을 개선하는 것과 같은 이익을 제공할 수 있다. 본 명세서에 설명된 블록이란 데이터의 복수의 페이지(예를 들어, 논리 페이지)를 저장하도록 구성된 메모리 셀의 물리적 블록을 지칭할 수 있다.
"개방된" 블록이란, 블록에 결합된 워드 라인에 프로그래밍 동작의 개시를 지시하는 요청(예를 들어, 기입 동작을 개시하는 명령)을 수신한 것에 응답하여, 블록이 개방되어 있음을 문서화하기 위해 개시된 프로그래밍 동작의 지시자(예를 들어, 엔트리)가 저장된 메모리 셀의 물리적 블록을 지칭할 수 있다. 소정 수의 실시예에서, 블록 및/또는 수퍼블록의 마지막 페이지가 프로그래밍되고, 이미 프로그래밍된 블록 및/또는 수퍼블록의 제1 페이지에 프로그래밍 동작의 개시를 지시하는 요청(예를 들어, 기입 명령)이 수신되고, 그리고/또는 블록 및/또는 수퍼블록에 대한 특정 엔트리를 제거(예를 들어, 삭제, 소거, 재기입(write over))하는 명령이 수신될 때까지, 블록 및/또는 수퍼블록은 개방된 상태로 유지될 수 있다.
소정 수의 실시예에서, 수퍼블록이란, 다중 평면 메모리 디바이스 내 워드 라인과 관련된 제1 페이지 그룹으로서 제1 평면 내의 제1 블록, 및 이 워드 라인과 관련된 제2 페이지 그룹으로서 제2 평면 내의 제2 블록을 지칭할 수 있다. 본 명세서에 사용된 제1, 제2 등의 용어는, 하나의 요소를 유사한 요소(예를 들어, 다중 평면 메모리 디바이스의 평면)와 구별하기 위해 이용될 수 있으며, 문맥에 따라, 이러한 요소들의 서수 시퀀스 및/또는 이러한 요소의 시퀀스에서 이러한 요소의 위치를 나타내는 것이 아닐 수 있다(예를 들어, "제1 블록"이라는 언급은 블록이 블록들의 시퀀스의 시작 또는 종료에 있는 제1 블록이라는 것을 의미하는 것이 아닐 수 있다). 또한, 다중 평면 메모리 디바이스는 2개를 초과하는 평면(예를 들어, 도 3과 관련하여 참조 부호 343에 도시되고 설명된 4개의 평면)을 포함할 수 있다. 예를 들어, 소정 수의 실시예에서, 다중 평면 메모리 디바이스는 다른 가능한 개수의 평면 중에서 2개, 4개, 8개, 16개 등의 평면을 포함할 수 있다.
프로그래밍 동작의 개시를 지시하는 요청은, 소정 수의 실시예에서, 호스트(102)로부터 호스트 제어기(예를 들어, 시스템 제어기(118))를 통해 메모리 디바이스 제어기(예를 들어, 디바이스 제어기(120))로 발행될 수 있다. 설정 기능 인터페이스(예를 들어, 참조 부호 119)는 시스템 제어기(118)와 관련될 수 있다(예를 들어, 시스템 제어기의 일부로서 형성될 수 있다). 설정 기능 인터페이스(119)의 실시예는 도 6과 관련하여 참조 부호 619에 도시되고 설명된다.
예시적인 호스트(102)는 다른 호스트 시스템 중에서 특히 랩탑 컴퓨터, 개인용 컴퓨터, 디지털 카메라, 디지털 레코딩 및 재생 디바이스, 모바일 폰, PDA(개인용 휴대 정보 단말기), 메모리 카드 판독기 및 인터페이스 허브(hub)를 포함할 수 있다. 호스트 인터페이스(106)는 호스트 구성 요소와 상호 작용하는 다른 커넥터 및 인터페이스 중에서 특히 직렬 고급 기술 부착 장치(serial advanced technology attachment: SATA), 주변 장치 상호 연결 익스프레스(peripheral component interconnect express: PCIe) 또는 범용 직렬 버스(universal serial bus: USB)를 포함할 수 있다. 일반적으로, 디바이스 인터페이스(108)와 함께 호스트 인터페이스(106)는 메모리 디바이스 시스템(104)과 호스트(102) 사이에 제어 신호, 어드레스 신호, 데이터 신호 및 다른 신호를 전달하기 위한 인터페이스를 제공할 수 있다.
호스트(102)는 메모리 및 버스 제어부(107)에 결합된 소정 수의 프로세서(105)(예를 들어, 병렬 프로세서, 코-프로세서, 중앙 처리 유닛(CPU) 등)를 포함할 수 있다. 프로세서(105)는 예를 들어 소정 수의 마이크로프로세서 또는 일부 다른 유형의 제어 회로, 예를 들어, 소정 수의 주문형 집적 회로(application-specific integrated circuit: ASIC)일 수 있다. 컴퓨팅 시스템(100)의 다른 구성 요소는 프로세서들을 더 가질 수 있다. 메모리 및 버스 제어부(107)는 메모리(116) 및/또는 메모리에 결합된 다른 구성 요소를 가질 수 있다. 이 예에서, 메모리 및 버스 제어부(107)는 호스트 메모리(116)에 결합되고, 이 호스트 메모리는 소정 수의 실시예에서 다른 유형의 메모리 중에서 특히 휘발성 메모리(예를 들어, DRAM) 및/또는 비-휘발성 메모리(예를 들어, NAND)를 포함할 수 있다. 이 예에서, 주변 장치 및 버스 제어부(109)는 (예를 들어, 호스트 인터페이스(106)를 통해) 호스트 메모리(116), (예를 들어, 범용 직렬 버스(USB) 인터페이스를 통해) 플래시 드라이브(도시되지 않음), 비-휘발성 메모리 호스트 제어 인터페이스(NVMHCI) 플래시 메모리(도시되지 않음), 및/또는 (예를 들어, 시스템 제어기(118)를 거쳐 디바이스 인터페이스(108)를 통해) 메모리 디바이스 시스템(104)에 결합될 수 있다. 메모리 디바이스 시스템(104)은 소정 수의 다른 컴퓨팅 시스템에서 하드 디스크 드라이브(hard disk drive: HDD)에 추가하여 또는 대신하여 사용될 수 있다. 도 1에 도시된 컴퓨팅 시스템(100)은 이러한 시스템의 일례이지만; 본 발명의 실시예는 도 1에 도시된 구성으로 제한되지 않는다.
일례로서, 메모리 디바이스 시스템(104)은 SSD일 수 있다. 메모리 디바이스 시스템(104)은 버스를 통해 소정 수의 메모리 자원(예를 들어, 휘발성 메모리 디바이스(124) 및/또는 비-휘발성 메모리 디바이스(126))에 결합된 디바이스 제어기(120)(예를 들어, 메모리 제어 회로, 펌웨어 및/또는 소프트웨어)를 포함할 수 있다. SSD 메모리 자원의 예는 도 2 및 도 3과 관련하여 더 설명된다. 디바이스 제어기(120)를 단일 유닛 메모리 디바이스(230)에 결합하기 위한 버스(예를 들어, 핀)의 예는 도 2와 관련하여 참조 부호 232로 도시되고 설명된다(예를 들어, 입력/출력(I/O) 라인 I/O 0, I/O 1,..., I/O 7로 설명되지만, 이러한 I/O 라인의 수는 8개의 I/O 라인으로 제한되지 않는다). 복수의 평면(343)을 포함하는 다중 평면 메모리 디바이스(340)에 디바이스 제어기(120)를 결합하기 위한 버스(예를 들어, 핀)의 예는 도 3과 관련하여 참조 부호 342에 도시되고 설명된다(예를 들어, 데이터(DQ) 버스(DQ 0, DQ 1,..., DQ 7)로 설명되지만, 이러한 DQ 버스의 수는 8개의 I/O 라인으로 제한되지는 않는다). 도 2에 도시된 I/O 라인(232)을 갖는 단일 유닛 메모리 디바이스(230) 및 도 3에 도시된 DQ 버스(342)를 갖는 다중 평면 메모리 디바이스(340)가 예로서 제시되지만; 본 발명의 실시예는 이러한 버스의 예로 제한되지 않는다.
시스템 제어기(118)는 다른 가능성 중에서도 특히 버스(232 및/또는 342)를 통해 휘발성 메모리 자원(124) 및/또는 비-휘발성 메모리 자원(126) 내에 있는 방금 설명된 메모리 디바이스(230 및/또는 340)와 통신하기 위한 디바이스 인터페이스(108) 및 호스트(102)와 통신하기 위한 호스트 인터페이스(106)를 포함한다. 다양한 버스는 또한 메모리 디바이스(140) 및/또는 그 디바이스 제어기(120)와 시스템 제어기(118) 사이에 다양한 신호(예를 들어, 특히 데이터 신호, 제어 신호 및/또는 어드레스 신호 등)를 송신 및/또는 수신할 수 있다.
도 1에 도시된 예는 버스로서 작용하는 단일 디바이스 인터페이스(108)를 포함하지만, 메모리 디바이스 시스템(104)은 별도의 데이터 버스(DQ 버스), 제어 버스 및/또는 어드레스 버스를 포함할 수 있다. 이러한 버스는, 개방 NAND 플래시 인터페이스(Open NAND Flash Interface: ONFI), 컴팩트 플래시 인터페이스(Compact Flash Interface), 멀티미디어 카드(Multimedia Card: MMC), 보안 디지털(Secure Digital: SD), CE-ATA, 산업 표준 아키텍처(Industrial Standard Architecture: ISA), 마이크로 채널 아키텍처(Micro-Channel Architecture: MSA), 확장 ISA(Extended ISA: EISA), 지능형 드라이브 전자부품(Intelligent Drive Electronics: IDE), VESA 로컬 버스(VESA Local Bus: VLB), PCI(Peripheral Component Interconnect), 카드 버스(Card Bus), 범용 직렬 버스(Universal Serial Bus: USB), AGP(Advanced Graphics Port), 개인용 컴퓨터 메모리 카드 국제 협회 버스(Personal Computer Memory Card International Association bus: PCMCIA), 파이어와이어(Firewire)(IEEE 1394) 및 SCSI(Small Computer Systems Interface)와 관련된 버스 구조를 포함하지만 이들로 제한되지 않는 다양한 유형의 버스 구조물을 가질 수 있다. 시스템 제어기(118)는 메모리 디바이스 시스템(140)(예를 들어, NV-DDR, NV-DDR2, NV-DDR3 등)과 관련된 다양한 데이터 인터페이스 유형을 지원하도록 구성될 수 있다.
시스템 제어기(118)는, 소정 수의 실시예에서, 예를 들어, 호스트(102)와 메모리 디바이스 시스템(104) 간의 논리적-물리적 어드레스 변환과 관련된 플래시 변환 계층(flash translation layer: FTL)일 수 있는 변환 구성 요소(도시되지 않음)를 포함할 수 있다. 예를 들어, 변환 구성 요소는 논리적 블록 어드레스(logical block address: LBA)-물리적 블록 어드레스(physical block address: PBA)의 매핑 테이블(mapping table)을 포함할 수 있다. 본 명세서에 설명된 페이지, 블록, 평면, 수퍼블록 및/또는 관련된 워드 라인은 또한 (예를 들어, 디바이스 제어기(120)에 의해) 논리적 어드레스로부터 물리적 어드레스로 매핑될 수 있다. 예를 들어, 도 4 및 도 5와 관련하여 테이블로 문서화되고 설명된 도시된 수퍼블록(446 및 551), 블록(552) 및 평면(443)의 상태는 관련된 (예를 들어, 결합된) 워드 라인 각각에 대한 어드레스와 함께 그 물리적 어드레스에 대한 링크를 각각 포함할 수 있다. 도 1에는 도시되지 않았지만, 디바이스 제어기(120)는, 하드웨어, 펌웨어 및/또는 소프트웨어로 구현되고 메모리 디바이스 시스템(104)의 관리와 관련된 다양한 다른 구성 요소를 더 포함할 수 있다.
도 2는 본 발명의 소정 수의 실시예에 따라 ADWLSV 동작을 수행하도록 구성된 메모리 디바이스(230) 형태의 장치의 블록도이다. 도 2에 도시된 메모리 디바이스(230)는 소정 수의 실시예에서 본 명세서에서 설명된 ADWLSV 동작을 수행하는데 이용될 수 있는 단일 유닛 메모리 디바이스의 일례를 도시한다. 메모리 디바이스(230)는 휘발성 메모리 자원(예를 들어, 다른 휘발성 메모리 디바이스 구성 중에서 특히 DRAM) 또는 비-휘발성 메모리 자원(예를 들어, 다른 비-휘발성 메모리 디바이스 구성 중에서 특히 NAND)으로서 구성될 수 있다.
도 1과 관련하여 설명된 바와 같이, 도 2에 도시된 메모리 디바이스(230)는 (예를 들어, 호스트(102) 내부의 시스템 제어기(118)에 의해 디바이스 인터페이스(106)를 통해 지시된 프로그래밍 동작을 입력 및/또는 출력하기 위해) 메모리 디바이스(230)를 포함하는 메모리 디바이스 시스템(104) 내부의 디바이스 제어기(120)에 결합하기 위해 소정 수의 버스(232)(예를 들어, I/O 0, I/O 1,..., I/O 7)를 포함할 수 있다. 소정 수의 실시예에서, 메모리 디바이스(230)는 본 명세서에 설명된 바와 같이 복수의 블록을 포함할 수 있다. 일례로서, 단일 블록(예를 들어, 231)은 소정 수의 워드 라인(도시되지 않음)과 관련된 64개의 페이지를 포함할 수 있다. 이 예에서, 8개의 페이지 각각은 단일 워드 라인과 관련되고 각각의 워드 라인은 단일 버스(예를 들어, 도 2에서 8개의 버스(232))에 결합되어 단일 블록(231)에 대해 64개의 페이지가 생성된다. 소정 수의 실시예에서, 각 페이지는 2048(2K) 바이트의 데이터 저장 용량을 가질 수 있고, 메모리 디바이스(230)는 1024(1K) 블록을 가질 수 있으나; 본 발명의 실시예는 도 2에 도시된 구성으로 제한되지 않는다.
도 2와 관련하여 설명된 각각의 워드 라인은 버스(232)에 결합될 수 있다. 소정 수의 실시예에서, 각각의 버스는 하나 이상의 워드 라인에 결합될 수 있다. 예를 들어, 버스(232)마다 복수의 워드 라인은 블록(231)마다 워드 라인의 수로서 버스(232)마다 복수의 워드 라인의 수에 버스의 수(예를 들어, 도 2에서 8)의 배수를 형성하도록 블록(231)에서 수직으로 배향(예를 들어, 적층)될 수 있다.
도 3은 본 발명의 소정 수의 실시예에 따라 ADWLSV 동작을 수행하도록 구성된 다중 평면 메모리 디바이스(340) 형태의 장치의 블록도이다. 도 3에 도시된 다중 평면 메모리 디바이스(340)는 소정 수의 실시예에서 ADWLSV 동작을 수행하는데 이용될 수 있는 4 평면 메모리 디바이스(참조 부호 343에 도시된 바와 같이 평면 0, 평면 1, 평면 2 및 평면 3이지만, 실시예는 2개, 4개, 8개, 16개 등의 평면을 포함할 수 있다)의 일례를 도시한다. 다중 평면 메모리 디바이스(340)의 복수의 평면의 조합은 논리 유닛(LUN)이라고 지칭될 수 있다. 다중 평면 메모리 디바이스(340)는 휘발성 메모리 자원(예를 들어, 다른 휘발성 메모리 디바이스 구성 중에서 특히 DRAM) 또는 비-휘발성 메모리 자원(예를 들어, 다른 비-휘발성 메모리 디바이스 구성 중에서 특히 NAND)으로서 구성될 수 있다. 간결함을 위해, 도 3에 도시된 다중 평면 메모리 디바이스(340)는 비-휘발성 NAND 구성으로 아래에 설명된다.
소정 수의 실시예에서, LUN(340)은 도 1과 관련하여 도시되고 설명된 메모리 디바이스 시스템(104)을 위한 저장 볼륨을 제공할 수 있다. 평면(343)들은, 결합될 때 LUN(340)이라고 지칭될 수 있는 다이 또는 칩일 수 있다. 예를 들어, 평면(343)은 소정 수의 다이를 각각 포함하는 멀티-칩 패키지(multi-chip package: MCP)일 수 있다. 다이는 예를 들어 소정 수의 NAND 플래시 메모리 셀 어레이 및 관련 주변 장치 회로(예를 들어, 기입 회로, 판독 회로, I/O 회로, 버퍼 등)를 포함하는 NAND 다이일 수 있다.
도 1과 관련하여 설명된 바와 같이, 도 3에 도시된 LUN(340)은 (예를 들어, 호스트(102) 내부의 시스템 제어기(118)에 의해 디바이스 인터페이스(106)를 통해 지시된 프로그래밍 동작을 입력 및/또는 출력하기 위해) 메모리 디바이스 시스템(104) 내부의 디바이스 제어기(120)에 결합하기 위한 소정 수의 버스(342)(예를 들어, 데이터 버스(DQ 0, DQ 1,..., DQ 7)를 포함할 수 있다. 메모리 평면(343) 각각은, 소정 수의 실시예에서, 본 명세서에 설명된 바와 같이 복수의 블록을 포함할 수 있다. 일례로서, 각 평면 내의 단일 블록(예를 들어, 참조 부호 341)은 소정 수의 워드 라인(도시되지 않음)과 관련된 128개의 페이지를 포함할 수 있다. 이 예에서, 16개의 페이지 각각은 단일 워드 라인과 관련되고 각각의 워드 라인은 단일 버스(예를 들어, 도 3에서 8개의 버스(342))에 결합되어 각 평면(343)에서 단일 블록(341)에 대해 128개의 페이지가 생성된다. 소정 수의 실시예에서, 각 페이지는 8192(8K) 바이트의 데이터 저장 용량을 가질 수 있고, LUN(340)의 각 평면(343)은 2048(2K) 블록을 가질 수 있다. 도 3에 도시된 바와 같이, LUN의 평면을 조합하면 8192(8K) 블록(4개의 평면이고 평면마다 2048개의 블록이 있는 것은 8192개의 블록이 있는 것과 같다)을 포함할 수 있으나; 본 발명의 실시예는 도 3에 도시된 구성으로 제한되지 않는다.
시스템 제어기(118) 및/또는 디바이스 제어기(120)는 단일 유닛(예를 들어, 도 4와 관련하여 참조 부호 446에 도시되고 설명된 바와 같은 수퍼블록)으로서 LUN(340)의 블록(그 내부 페이지와 함께)의 조합을 어드레싱할 수 있다. 예를 들어, 도 3에 도시된 4개의 평면 LUN(340)이 8192개의 블록을 포함하기 위해서는, 평면(0)은 블록(0, 4,..., 8188)을 포함할 수 있고, 평면(1)은 블록(1, 5,..., 8189)을 포함할 수 있고, 평면(2)은 블록(2, 6,..., 8190)을 포함할 수 있고, 평면(3)은 블록(3, 7,..., 8191)을 포함할 수 있다. 따라서, 일례로서, 수퍼블록은 ADWLSV 연산을 수행하는 것을 포함하여 프로그래밍 동작을 수행하기 위해 대응하는 평면(0, 1, 2 및 3)에서 블록(0), 블록(1), 블록(2) 및 블록(3)에 어드레싱될 수 있다.
도 3과 관련하여 설명된 각각의 워드 라인은 버스(342)에 결합될 수 있다. 소정 수의 실시예에서, 각각의 버스는 하나 이상의 워드 라인에 결합될 수 있다. 예를 들어, 버스(342)마다 복수의 워드 라인은 블록(341)마다 워드 라인의 수로서 버스(342)마다 복수의 워드 라인의 수에 버스의 수(예를 들어, 도 3에서 8개)의 배수를 형성하도록 각 평면(343)의 각각의 블록(341)에서 수직으로 배향(예를 들어, 적층)될 수 있다.
도 3에 도시된 예에서, 각 블록(0, 1,..., 8191) 및/또는 각 클록(0, 1, 2, 및 3)으로부터 블록으로 형성된 수퍼블록은 유닛으로서 함께 소거될 수 있는 메모리 셀을 포함한다(예를 들어, 각각의 물리적 블록 내의 셀은 소거 유닛으로서 실질적으로 동시적으로 소거될 수 있다). 각각의 블록은 각각의 워드 라인(예를 들어, 액세스 라인)에 각각 결합될 수 있는 메모리 셀의 소정 수의 물리적 행을 포함할 수 있다. 각 블록 내 행의 수는 32, 64 또는 128일 수 있지만, 실시예는 블록마다 행으로 집합적으로 지칭될 수 있는 특정 개수의 행으로 제한되지 않는다.
이 기술 분야에 통상의 지식을 가진 자라면 이해할 수 있는 바와 같이, 워드 라인에 결합된 각 행은 셀의 소정 수의 물리적 페이지를 포함할 수 있다. 셀의 물리적 페이지란 기능 그룹으로서 또는 기능 그룹과 함께 프로그래밍될 수 있고/있거나 기입될 수 있는 소정 수의 메모리 셀이라고 지칭될 수 있다. 예를 들어, 각각의 행은 셀의 다수의 물리적 페이지(예를 들어, 짝수 번째 비트 라인에 결합된 셀과 관련된 짝수 페이지 및 홀수 번째 비트 라인에 결합된 셀과 관련된 홀수 페이지)를 포함할 수 있다. 추가적으로, 다중 레벨 셀을 포함하는 실시예에서, 물리적 페이지는 데이터의 다수의 논리적 페이지를 저장할 수 있고, 물리적 페이지 내 각 셀은 논리적 하위(lower) 페이지를 향한 비트에 기여하고, 논리적 상위(upper) 페이지를 향한 비트에 기여하고, 및 각각의 수의 논리적 중간(intermediate) 페이지를 향한 하나 이상의 비트에 기여할 수 있다.
도 2에 도시된 메모리 디바이스(230) 및/또는 도 3에 도시된 LUN(340)을 위한 예시적인 메모리 자원으로서 설명된 NAND 메모리 디바이스는, 소정 수의 실시예에서, 단일 데이터 유닛(예를 들어, 1 비트)을 저장하도록 구성된 단일 레벨 셀(SLC) 및/또는 하나를 초과하는 데이터 유닛을 저장하도록 구성된 다중 레벨 셀(multi-level cell: MLC)을 갖는 NAND 다이(예를 들어, NAND 플래시 어레이)를 포함할 수 있다. 추가적으로, 셀은 셀마다 저장된 데이터 단위의 양에 의존할 수 있는 다양한 다른 프로그래밍 프로세스를 통해 프로그래밍될 수 있으나; 셀마다 특정 양의 데이터 유닛(예를 들어, 2 비트, 3 비트, 4 비트 등)을 저장하도록 구성된 셀은 다른 프로그래밍 프로세스를 통해 프로그래밍될 수 있다. 예를 들어, 3-비트 MLC는 2회-통과 프로그래밍 프로세스(예를 들어, 제1 프로그래밍 통과는 셀의 임계 전압을 소거 상태로부터 하위 페이지 및 중간 페이지 데이터 상태에 기초하여 4개의 분포 중 하나에 놓고, 제2 프로그래밍 통과는 셀의 임계 전압을 4개의 분포 중 하나로부터 상위 페이지 데이터 상태에 기초하여 8개의 분포 중 하나에 놓는 4-8 프로세스) 또는 3회-통과 프로그래밍 프로세스(2-4-8 프로세스)를 통해 프로그래밍될 수 있다.
본 발명의 실시예는 도 3에 도시된 예로 제한되지 않는다. 예를 들어, 본 발명의 실시예에 따른 메모리 시스템은 LUN(340)마다 4개보다 더 많거나 더 적은 수의 평면(343)을 포함할 수 있으며, 특정 메모리 어레이 아키텍처(예를 들어, NAND, NOR, DRAM, PCM 등)로 제한되지 않는다. 또한, 도 1의 메모리 디바이스 시스템마다 하나의 디바이스 제어기(120)가 도시되어 있지만, 실시예는 도 2의 메모리 디바이스(230)마다 디바이스 제어기(120)를 포함하고/하거나 도 3의 LUN(340) 또는 평면(343)마다 디바이스 제어기(120)(예를 들어, NAND 다이마다 하나의 제어기)를 포함할 수 있다.
디바이스 제어기(120)와 함께 메모리 디바이스 시스템(104)의 메모리 디바이스(230 및/또는 340)는 프로그래밍 동작(예를 들어, 기입 동작)을 추적 및/또는 제어하도록 구성된다. 소정 수의 실시예에서, 디바이스 제어기(120)(예를 들어, 도 5와 관련하여 참조 부호 522에 도시되고 설명된 관련 ADWLSV 개방된 블록 리스트와 함께)는 메모리 디바이스(예를 들어, ADWLSV 개방된 블록 리스트(522)) 내 소정 수의 개방된 블록의 상태를 메모리 디바이스 시스템(104) 내부에 유지할 수 있다. 상태는 (예를 들어, ADWLSV 개방된 블록 리스트(522)에 나타나는 블록에 의해) 각각의 수의 개방된 블록에서 개시되는 프로그래밍 동작을 포함할 수 있다. 상태는 워드 라인에 프로그래밍 동작의 개시를 지시하는 요청을 (예를 들어, 시스템 제어기(118)로부터) 수신한 것에 응답하여 ADWLSV 개방된 블록 리스트(522)에 문서화될 수 있다. 또한, 상기 요청에 응답하여, 워드 라인과 관련된 메모리 셀(예를 들어, 본 명세서에 설명된 바와 같이 메모리 셀의 페이지, 블록 및/또는 수퍼블록)의 제1 그룹은 워드 라인과 관련된 메모리 셀의 다른 그룹에 비해 먼저 프로그래밍되도록 결정될 수 있다.
메모리 셀의 제1 그룹이 프로그래밍되는 전압이 개방된 블록의 상태에 포함되어 유지될 수 있다. 본 명세서에 설명된 바와 같이, 메모리 셀의 제1 그룹이 프로그래밍되는 전압은 소정 수의 실시예에서 메모리 셀의 제1 그룹이 프로그래밍 임계값을 먼저 통과하는 전압일 수 있다. 상태는 ADWLSV 개방된 블록 리스트(522) 내 개방된 블록의 페이지, 블록, 평면, 수퍼블록, 및/또는 관련 워드 라인을 나타내는 소정 수의 논리적 및/또는 물리적 어드레스의 저장(예를 들어, 링크)을 포함하는 개방된 블록 리스트를 더 포함할 수 있다.
메모리 디바이스 시스템(104)의 디바이스 제어기(120)는 펄스 전압의 시퀀스를 워드 라인에 인가하여 워드 라인과 관련된 메모리 셀의 제1 그룹이 (예를 들어, Vt 이동을 동적으로 샘플링하는 것에 의해) 먼저 프로그래밍되는 특정 전압을 시퀀스 중에서 결정하도록 더 구성될 수 있다. 메모리 셀의 제1 그룹이 프로그래밍되는 전압은 메모리 셀의 제2 그룹에 수행되는 프로그래밍 동작을 위해 워드 라인과 관련된 메모리 셀의 제2 그룹에 인가되는 전압으로서 이용될 수 있다. 예를 들어, ADWLSV 개방된 블록 리스트(522)에서 참조 부호 555에 도시된 바와 같이, 수퍼블록(1)은 블록(11)이 (예를 들어, 수퍼블록(1)을 형성하도록 결합된 블록(4, 9, 10, 및 11) 중에서) 먼저 프로그래밍될 블록인 것으로 결정될 (예를 들어, 참조 부호 522에서 문서화될) 수 있다. 블록(11)이 제일 먼저 프로그래밍되는 것이라고 결정되는 전압은 ADWLSV 개방된 블록 리스트(522)의 상태에 포함된 정보 중에 포함될 (예를 들어, 참조 부호 553에서 문서화될) 수 있다. 메모리 셀의 제1 그룹이 프로그래밍되는 전압은 워드 라인과 관련된 메모리 셀의 제2 그룹(예를 들어, 블록(4, 9, 및 10))에 수행되는 프로그래밍 동작을 위한 ADWLSV로서 이용될 수 있다.
메모리 디바이스 시스템(104)의 디바이스 제어기(120)는 펄스 전압의 시퀀스를 워드 라인에 인가하고 (예를 들어, ADWLSV 개방된 블록 리스트(522)에서) 개방된 블록의 상태에서 메모리 셀의 제1 그룹이 프로그래밍되는 전압으로서 프로그래밍 동작을 위한 ADWLSV를 자동적으로 (예를 들어, 동적으로) 업데이트하도록 더 구성될 수 있다. ADWLSV는, 소정 수의 실시예에서, 워드 라인과 관련된 블록을 제거(예를 들어, 소거)하는 것에 대응하는, 개방된 블록 내 워드 라인에 대해 동적으로 업데이트될 수 있다. 예를 들어, 블록은 더 이상 먼저 프로그래밍되는 블록이 아닌 것으로 결정되었기 때문에 블록은 제거될 수 있다. 블록은 펄스 전압 시퀀스를 인가하는 것이 먼저 프로그래밍되는 것으로 결정된 다른 블록으로 자동적으로 대체될 수 있다.
메모리 디바이스 시스템(104)의 디바이스 제어기(120)는, 본 명세서에 설명된 바와 같이, 메모리 셀의 제1 그룹이 프로그래밍되는 전압을 이용하여 메모리 셀의 제2 그룹에 수행되는 프로그래밍 동작에서 워드 라인과 관련된 메모리 셀의 제2 그룹에 인가되는 펄스 전압 시퀀스 내 소정 수의 시작 전압을 우회(예를 들어, 건너뛰기)하도록 더 구성될 수 있다. 프로그래밍될 제1 페이지 및/또는 블록에 워드 라인 시작 전압을 이용하면 펄스 전압 시퀀스 내 더 낮은 워드 라인 시작 전압을 우회하여 워드 라인 시작 전압을 제1 프로그래밍의 워드 라인 시작 전압에 더 가깝게 조정(예를 들어, 증가)할 수 있다. 조정된 워드 라인 시작 전압을 이용하면 펄스 전압의 시퀀스를 이용하지 않고 동일한 워드 라인과 관련된 다른 페이지 및/또는 블록에 대해 적절한 워드 라인 시작 전압을 결정할 수 있다.
시스템 제어기(118)는 소정 수의 실시예에서 호스트 인터페이스(106)를 통해 호스트(102)(예를 들어, 본 명세서에 기재된 바와 같이 호스트의 구성 요소)에 결합될 수 있고, 디바이스 인터페이스(108)를 통해 (예를 들어, 메모리 디바이스 시스템(104) 내부) 소정 수의 메모리 디바이스에 더 결합될 수 있다. 시스템 제어기(118)는 워드 라인과 관련된 블록의 페이지에 기입 동작을 개시할 것을 지시하도록 구성될 수 있다. 예시적인 메모리 디바이스(예를 들어, 참조 부호 230 및/또는 참조 부호 340으로 도시됨)는 데이터 페이지를 저장하도록 구성된 복수의 블록을 포함할 수 있다. 메모리 디바이스는, 시스템 제어기(118)로부터 기입 동작의 개시를 지시하는 기입 요청을 수신한 것에 응답하여, 블록을 개방하고, 먼저 프로그래밍될 개방된 블록의 특정 페이지를 결정하도록 구성될 수 있다. 메모리 디바이스는 메모리 디바이스 내 소정 수의 개방된 블록의 상태를 메모리 디바이스 내에 유지하도록 더 구성될 수 있다. 소정 수의 실시예에서, 상태는 각각의 수의 개방된 블록에서 개시되는 기입 동작, 및 특정 페이지(예를 들어, 특정 블록의 일부인 페이지)가 각각의 수의 개방된 블록에서 프로그래밍될 제1 페이지인 전압을 포함할 수 있다.
디바이스 제어기(120)와 대조적으로, 시스템 제어기(118)는 소정 수의 실시예에서 메모리 디바이스의 페이지에 대응하는 개방된 블록을 추적하도록 구성되지 않는다. 시스템 제어기(118)는 또한 제1 페이지가 프로그래밍되는 전압으로서 기입 동작을 위한 DWLSV를 포함하도록 개방된 블록의 상태를 업데이트하도록 구성되지 않는다. 또 디바이스 제어기(120)와 대조적으로, 시스템 제어기는 메모리 디바이스 내부에 유지되는 ADWLSV 개방된 블록 리스트(522) 내의 엔트리(554)의 제거를 지시하도록 구성된 설정 기능 인터페이스(예를 들어, 도 1에 참조 부호 119 및 도 6에 참조 부호 619로 도시됨)를 포함할 수 있다. 엔트리는 개방된 블록의 제1 페이지를 개방하기 위한 ADWLSV(553)를 포함할 수 있다.
내부 디바이스 제어기(120)는, 시스템 제어기(118)와 대조적으로, 메모리 디바이스의 페이지에 대응하는 개방된 블록을 추적하도록 구성될 수 있다. 또 시스템 제어기(118)와 대조적으로, 디바이스 제어기(120)는 추적된 개방된 블록에 대해 특정 페이지가 프로그래밍될 제1 페이지인 전압을 포함하는 ADWLSV 정보(553)를 동적으로 업데이트하도록 구성될 수 있다.
(예를 들어, 시스템 제어기(118)로부터의) 기입 요청은 소정 수의 실시예에서 블록 식별자 및/또는 페이지 식별자(예를 들어, 기입 동작을 지시하기 위한 블록 및/또는 페이지의 물리적 어드레스)를 포함할 수 있다. 그러나, 시스템 제어기(118)는 기입 요청을 송신할 때 블록 식별자가 개방된 블록에 대응하는지 여부를 알 수 없다. 대조적으로, 개방된 특정 블록의 상태는 디바이스 제어기(120)와 관련된 ADWLSV 개방된 블록 리스트(522) 내에 있는 블록 및/또는 수퍼블록(551)의 엔트리(554)에 의해 문서화될 수 있다.
호스트(102)에 결합된 시스템 제어기(118)는, 소정 수의 실시예에서, 버스(예를 들어, 디바이스 인터페이스(108))를 통해 메모리 디바이스의 (예를 들어, 디바이스 제어기(120)로서 동작하는) 내부 SSD 디바이스 제어기에 더 결합될 수 있는 시스템 SSD 제어기일 수 있다. 내부 SSD 디바이스 제어기에 결합된 메모리 디바이스 시스템(104) 내 메모리 디바이스는 소정 수의 실시예에서 (예를 들어, 도 1 및 본 명세서 다른 곳에서 참조 부호 124로 도시되고 설명된 바와 같이) 휘발성 메모리 자원 및/또는 (예를 들어, 도 1 및 본 명세서 다른 곳에서 참조 부호 126으로 도시되고 설명된 바와 같이) 비-휘발성 메모리 자원으로서 구성된 소정 수의 SSD일 수 있다.
비-휘발성 메모리 자원의 일례는 비-휘발성 다중 평면 메모리 자원(예를 들어, 도 3과 관련하여 설명된 LUN(340))으로서 구성될 수 있다. 다중 평면 메모리 자원은 복수의 평면(443)을 각각 포함할 수 있는 수퍼블록(예를 들어, 도 4와 관련하여 설명된 수퍼블록(446))을 형성하도록 구성될 수 있다. 수퍼블록의 일례는 워드 라인과 관련된 제1 페이지 그룹으로서의 제1 평면(예를 들어, 평면 1) 내의 제1 블록, 및 워드 라인과 관련된 제2 페이지 그룹으로서의 제2 평면(예를 들어, 평면 2) 내의 제2 블록을 포함할 수 있다. 제1 평면 내의 제1 블록 및 제2 평면 내의 제2 블록은 메모리 디바이스 시스템 내부 SSD 제어기에 의해 지시된 기입 동작을 동시에 수행하도록 구성될 수 있다. 본 명세서에 설명된 바와 같이, 메모리 디바이스(예를 들어, 메모리 디바이스 시스템 내부의 SSD 제어기)는 제1 평면 내의 제1 페이지 또는 제2 평면 내의 제2 페이지가 프로그래밍될 제1 페이지인 전압을, 워드 라인과 관련된 다른 평면 내의 메모리 셀의 다른 그룹에 기입 동작 시 인가되는 전압으로서 이용하도록 더 구성될 수 있다.
도 4는 본 발명의 소정 수의 실시예에 따라 수퍼블록(446)으로 결합된 다중 평면 메모리 디바이스(343)의 메모리 셀의 특정 블록의 예를 도시하는 테이블이다. 메모리 셀의 그룹은 본 발명의 소정 수의 실시예에 따라 소정 수의 물리적 블록으로 구성될 수 있다. 도 3에 도시된 일례로서, 물리적 블록의 수는 다중 평면 메모리 디바이스(340)의 평면(0)에서 블록(0, 4,..., 8188)으로 구성되고, 평면(1)에서 블록(1, 5,..., 8189)으로 구성되고, 평면에서 블록(2, 6,..., 8190)으로 구성되고, 그리고 평면(3)에서 블록(3, 7,..., 8191)으로 구성될 수 있다.
도 4에 도시된 테이블은 프로그래밍 동작(예를 들어, 기입 동작)에서 개방된 수퍼블록을 형성하도록 이용되거나 또는 이용될 수 있는 평면(0, 1, 2 및 3) 각각으로부터 하나의 블록을 결합하는 소정 수의 예시적인 수퍼블록(446)을 도시한다. 수퍼블록(예를 들어, 수퍼블록(0, 1,..., 8))은 본 명세서에 설명된 바와 같이 (예를 들어, 도 5와 관련하여 참조 부호 522에 도시되고 설명된) 각각의 수퍼블록에 대해 적절한 워드 라인 시작 전압을 결정하기 위해 ADWLSV 동작의 수행을 받을 수 있다.
소정 수의 예에서, 블록의 다양한 조합이 수퍼블록을 형성하도록 결합될 수 있다. 도 4는 이러한 몇 가지 예를 도시하지만; 본 발명의 실시예는 도 4에 도시된 수퍼블록의 구성으로 제한되지 않는다. 예를 들어, 수퍼블록(0)은 대응하는 평면(0, 1, 2 및 3)에 있는 블록(0), 블록(5), 블록(6) 및 블록(7)을 포함하는 것으로 도시된다. 수퍼블록(1)은 대응하는 평면(0, 1, 2 및 3)에 있는 블록(4), 블록(9), 블록(10) 및 블록(11)을 포함하는 것으로 도시된다. 다른 수퍼블록 중에서 특히 이 테이블은 대응하는 평면(0, 1, 2 및 3)에 있는 블록(816), 블록(817), 블록(818) 및 블록(819)을 포함하는 수퍼블록(8)을 더 도시한다.
수퍼블록(446)을 형성하는 블록의 조합의 수는 도 4에서 9개인 것으로 도시되어 있으나; 실시예는 이 테이블에 나열된 특정 개수의 수퍼블록으로 제한되는 것은 아니다. 예를 들어, 테이블에서 타원으로 표시된 바와 같이, 적절한 평면(0, 1, 2 및 3)으로부터의 블록(0, 1,..., 8191)의 임의의 조합이 테이블에 나열될 수 있다. 또한, 수퍼블록은 명확함을 위해 수퍼블록 번호(0, 1,..., 8)로 나열된다. 그러나 수퍼블록(3 및 4)과 수퍼블록(5 및 6) 사이에 타원으로 표시된 바와 같이, 시퀀스의 번호 매김 및/또는 수퍼블록의 총 수에 영향을 미칠 수 있는 임의의 수의 수퍼블록이 이 연속적으로 나열된 수퍼블록들 사이에 및 수퍼블록(8) 이후에 존재할 수 있다.
도 5는 본 발명의 소정 수의 실시예에 따라 다중 평면 메모리 디바이스 내부에 유지되는 ADWLSV 개방된 블록 리스트(522)의 예를 도시하는 테이블을 도시한다.
본 명세서에 설명된 바와 같이, 개방된 블록이란, 블록에 결합된 워드 라인에 프로그래밍 동작의 개시를 지시하는 요청을 수신한 것에 응답하여, 블록이 개방된 것을 문서화하기 위해, 개시된 프로그래밍 동작의 지시자(예를 들어, 엔트리)가 저장된 메모리 셀의 물리적 블록을 지칭할 수 있다. 소정 수의 실시예에서, 블록 및/또는 수퍼블록의 최종 페이지가 프로그래밍되고, 이미 프로그래밍된 블록 및/또는 수퍼블록의 제1 페이지에 프로그래밍 동작의 개시를 지시하는 요청(예를 들어, 디바이스 제어기(120)를 통한 시스템 제어기(118)로부터의 기입 명령)이 수신되고, 그리고/또는 블록 및/또는 수퍼블록에 대한 특정 엔트리를 제거(예를 들어, 소거)하기 위한 명령이 수신될 때까지, 블록 및/또는 수퍼블록은 개방된 상태로 유지될 수 있다. 소정 수의 실시예에서, 소정 수의 엔트리를 제거하기 위한 명령은 (예를 들어, 참조 부호 119에 도시되고 도 6과 관련하여 참조 부호 619에 도시되고 더 설명된) 설정 기능 인터페이스를 이용하여 디바이스 제어기(120)를 통해 시스템 제어기(118)로부터 수신될 수 있다.
메모리 디바이스 시스템(104)은 메모리 디바이스 시스템(104) 내 소정 수의 개방된 블록의 상태를 메모리 디바이스 시스템(104) 내부 ADWLSV 개방된 블록 리스트(522)에 유지하도록 구성될 수 있다. 상태는 (예를 들어, 워드 라인에 프로그래밍 동작의 개시를 지시하는 요청을 수신한 것에 응답하여) ADWLSV 개방된 블록 리스트에 나열된 특정 블록에 의해 소정 수의 개방된 블록에서 개시된 프로그래밍 동작을 포함할 수 있다.
본 명세서에 설명된 바와 같이, 개방된 블록 리스트는, 소정 수의 실시예에서, 제거될 때까지 내부에 저장된 소정 수의 엔트리(554)를 포함할 수 있다. 일 예로서, 도 5에 도시된 ADWLSV 개방된 블록 리스트(522)는 8개의 엔트리(예를 들어, 엔트리 0, 엔트리 1,..., 엔트리 7이지만; ADWLSV 개방된 블록 리스트의 실시예는 도 5에 도시된 엔트리의 수로 제한되지 않는다)를 허용할 수 있다(예를 들어, 이 개수로 제한될 수 있다). 예를 들어, ADWLSV 개방된 블록 리스트는 다른 가능한 엔트리 개수 중에서 특히 4개, 8개, 16개, 32개 등의 개방된 블록 엔트리를 허용하도록 구성될 수 있다. ADWLSV 개방된 블록 리스트(522) 내 엔트리의 수는 다른 고려 사항 중에서 특히 메모리 디바이스 및/또는 그 제어기의 이용 가능한 영역, 복잡성 및/또는 비용에 의해 결정될 수 있다.
도 5에 도시된 예시적인 ADWLSV 개방된 블록 리스트(522)는, 소정 수의 실시예에서, 다중 평면 메모리 디바이스(예를 들어, 도 3과 관련하여 도시되고 설명된 LUN(340))와 관련된 (예를 들어, 결합된) 디바이스 제어기(예를 들어, 메모리 디바이스 시스템(104)에 도시되고 도 1과 관련하여 설명된 디바이스 제어기(120))를 포함하고/하거나 이 디바이스 제어기 내부에 존재하는, 메모리 디바이스 시스템(104) 내에 유지될 수 있다. ADWLSV 개방된 블록 리스트(522)는, 프로그래밍 활동 LUN(304)에 따라 임의의 시점에서 개방된 수퍼블록을 포함하지 않거나, 하나의 개방된 수퍼블록을 포함하거나, 또는 복수의 개방된 수퍼블록(예를 들어, 도 5에 도시된 바와 같은 수퍼블록(0,..., 7))을 포함할 수 있는 소정 수의 개방된 수퍼블록(551)을 나열할 수 있다.
각각의 개방된 수퍼블록(551)에 대해, 메모리 디바이스 시스템(104)은, 워드 라인과 관련되고 수퍼블록에 포함된 다른 블록에 비해 먼저 프로그래밍되는 메모리 셀(예를 들어, 블록(552))의 그룹을 (예를 들어, Vt 이동을 동적으로 샘플링하는 것을 통해) 결정할 수 있다. 먼저 프로그래밍되는 블록(552)은 프로그래밍 동작(예를 들어, 기입 동작)이 향하는 특정 워드 라인과 관련될 수 있다. 블록(552)의 지시자(예를 들어, 도 4의 평면(0, 1, 2 및 3)과 관련하여 도시되고 설명된 바와 같은 블록의 수)는 각 엔트리(544) 및/또는 각각의 개방된 수퍼블록(551)의 상태의 일부로서 ADWLSV 개방된 블록 리스트(522)에서 유지(예를 들어, 문서화)될 수 있다. 추가적인 ADWLSV 정보는, 소정 수의 실시예에서, 각 엔트리(544) 및/또는 각각의 개방된 수퍼블록(551)의 상태의 일부로서 ADWLSV 개방된 블록 리스트(522)에 레코딩될 수 있다. 일례로서, 추가적인 ADWLSV 정보(553)는 특정 블록(552)이 프로그래밍될 제1 블록인 특정 전압을 포함할 수 있다.
예를 들어, 제1 시점에서 (예를 들어, 하위 ADWLSV 개방된 블록 리스트(522)가 문서화되기 전에) 문서화된 상위 ADWLSV 개방된 블록 리스트(522)의 엔트리 1(참조 부호 555에서 볼드체(bold)로 도시됨)은 개방된 것으로 수퍼블록(1)(예를 들어, 도 4에 도시됨)을 문서화하기 위한 엔트리 1을 나타낸다. 도 4에 도시된 바와 같이, 블록(11)은 평면(3)에 있고, 평면(0)의 블록(4), 평면(1)의 블록(9) 및 평면(2)의 블록(10)과 함께 수퍼블록(1)의 일부이다. 도 5에서 참조 부호 555에 있는 엔트리 1은, 수퍼블록(1)의 다른 블록(4, 9, 및 10)에 비해, 참조 부호 522에 있는 블록(11)을 제일 먼저 프로그래밍되는 것으로 도시한다. 블록(11) ADWLSV 정보(553)는 블록(11)이 제일 먼저 프로그래밍될 블록인 것으로 결정되는 특정 전압을 포함한다. 그리하여, 블록(11)에 대한 특정 전압은, 워드 라인과 관련(예를 들어, 결합)된 그리고/또는 수퍼블록(1)을 형성하도록 블록(11)과 결합된, 다른 블록 내 메모리 셀을 프로그래밍(예를 들어, 메모리 셀에 기입 동작을 수행)하기 위한 워드 라인 시작 전압으로서 이용될 수 있다.
제2 시점에서 (예를 들어, 상위 ADWLSV 개방된 블록 리스트(522)가 문서화된 후에) 문서화된 상위 리스트에 도시된 것과 동일한 개방된 블록 리스트일 수 있는 하위 ADWLSV 개방된 블록 리스트(522)의 엔트리 1(참조 부호 556에서 볼드체로 도시됨)은 개방된 것으로 수퍼블록(8)(예를 들어, 도 4에 도시됨)을 문서화하기 위한 엔트리 1을 나타낸다. 도 4에 도시된 바와 같이, 블록(817)은 평면(1)에 있고, 평면(0)의 블록(816), 평면(2)의 블록(818), 및 평면(3)의 블록(819)과 함께 수퍼블록(8)의 일부이다. 도 5에서 참조 부호 556에 있는 엔트리 1은, 수퍼블록(8)의 다른 블록(816, 818, 및 819)에 비해, 참조 부호 522에 있는 블록(817)을 제일 먼저 프로그래밍되는 것으로 도시한다. 블록(817) ADWLSV 정보(553)는 블록(817)이 제일 먼저 프로그래밍되는 것으로 결정되는 특정 전압을 포함한다. 그리하여, 블록(817)에 대한 특정 전압은 워드 라인과 관련된 그리고/또는 수퍼블록(8)을 형성하도록 블록(817)과 결합된, 다른 블록 내 메모리 셀을 프로그래밍하기 위한 워드 라인 시작 전압으로서 이용될 수 있다.
(예를 들어, 엔트리(0, 1..., 7) 각각에 대한) 다른 개방된 블록 및/또는 수퍼블록에 관한 유사한 상태 정보는 (예를 들어, LUN(304)의 프로그래밍 활동을 동적으로 문서화하기 위해) 다양한 시점에서 동적으로 문서화(예를 들어, 업데이트)될 수 있다. 예를 들어, 더 이상 개방되어 있지 않아서 ADWLSV 개방된 블록 리스트(522)로부터 자동적으로 제거(예를 들어, 소거)된 수퍼블록(예를 들어, 수퍼블록(1))에 관한 엔트리(예를 들어, 엔트리(1))에 대한 정보는 현재 개방된 수퍼블록(예를 들어 수퍼블록(8))에 관한 엔트리(예를 들어, 동일한 엔트리(1))로 자동적으로 대체될 수 있다. 적어도 일부 실시예에서, 엔트리는 이전에 문서화된 상태 정보를 현재 개방된 수퍼블록에 관한 정보로 재기입함으로써 대체될 수 있다.
ADWLSV 개방된 블록 리스트(522)의 허용된 엔트리(예를 들어, 8개 엔트리)가 모두 이용될 때, 추가 개방된 수퍼블록 엔트리(예를 들어 수퍼블록(8))에 관한 정보(예를 들어, 상태)는 ADWLSV 개방된 블록 리스트(522)에 이미 문서화된 엔트리 중 적어도 하나(예를 들어, 수퍼블록(1))에 관한 정보가 (예를 들어, 더 이상 개방된 것이 아닌 것으로 인해) 제거될 때까지 허용되지 않을 수 있다. 소정 수의 실시예에서, 추가 개방된 수퍼블록에 관한 정보는 ADWLSV 개방된 블록 리스트(522)에 이미 저장된 엔트리에 관한 정보가 제거될 때까지 (예를 들어, 버퍼에) 저장될 수 있다. 대안적으로 또는 추가적으로, 디바이스 제어기(120) 및/또는 시스템 제어기(118)(예를 들어, 도 6과 관련하여 참조 부호 619에 도시되고 설명된 설정 기능 인터페이스)는, 소정 수의 실시예에서, 메모리 디바이스 시스템(104) 내부에 유지되는 ADWLSV 개방된 블록 리스트(522)에서 허용되는 엔트리의 수의 조정을 지시하도록 구성될 수 있다.
소정 수의 실시예에서, ADWLSV 개방된 블록 리스트(522)에 이미 문서화된 엔트리에 관한 정보(예를 들어, 수퍼블록에 관한 상태)는, 예를 들어, 수퍼 블록의 복수의 블록에의 기입 동작이 완료된 (예를 들어, 수퍼블록의 마지막 블록의 마지막 페이지가 프로그래밍된) 것으로 인해 제거될 수 있다. 소정 수의 실시예에서, ADWLSV 개방된 블록 리스트(522) 내의 엔트리에 관한 정보는 블록 및/또는 수퍼블록에 대한 특정 엔트리에 관한 정보를 제거(예를 들어, 삭제, 소거, 재기입)하기 위한 수신된 명령에 응답하여 제거될 수 있다. 특정 엔트리에 관한 정보를 제거하기 위한 명령은 (예를 들어, 디바이스 제어기(120)를 통해) 시스템 제어기(118)로부터 수신될 수 있다. 일 예시에서, 시스템 제어기(118)는 도 6과 관련하여 참조 부호 619에 도시되고 설명된 설정 기능 인터페이스를 통해 특정 엔트리에 관한 정보의 제거를 지시할 수 있다.
ADWLSV 개방된 블록 리스트(522) 내의 엔트리는 이미 프로그래밍된 블록 및/또는 수퍼블록의 제1 페이지에 프로그래밍 동작의 개시를 지시하는 요청(예를 들어, 기입 명령)이 수신된 것으로 인해 제거될 수 있다. 이미 프로그래밍된 블록 및/또는 수퍼블록의 제1 페이지를 프로그래밍하도록 지시되는 것은 블록 및/또는 수퍼블록에 다른 P/E 사이클을 개시하는 것으로 고려될 수 있다. 다른 P/E 사이클을 개시하면 수퍼블록의 페이지 및/또는 블록의 Vt 이동을 샘플링하여 이미 문서화된 상태 정보를 제거하고 업데이트된 상태 정보로 대체하는 다른 라운드의 수행을 촉진할 수 있다. 수퍼블록에 대한 업데이트된 상태 정보는 Vt 이동을 동적으로 샘플링하는 것에 기초하여 프로그래밍될 제1 블록에 대한 수정된(예를 들어 증가된) 전압을 포함하는 상이한 ADWLSV 정보(553)를 갖는 다른 블록(552)의 문서화를 포함할 수 있다.
메모리 디바이스 시스템(104) 내부의 디바이스 제어기(120)는 외부 제어기(예를 들어, 시스템 제어기(118))로부터, 복수의 블록 및/또는 수퍼블록으로 형성된 메모리 셀의 어레이를 포함하는 메모리 디바이스(예를 들어, 메모리 디바이스(230 및/또는 340))로의 기입 명령을 수신하도록 구성될 수 있다.
일례로서, 워드 라인의 제1 페이지에 기입 명령이 발행될 수 있다. 기입 명령이 발행되면, 워드 라인과 관련된 다른 페이지에 비해 워드 라인과 관련된 특정 페이지가 먼저 프로그래밍되는 특정 전압을 인가 펄스 전압의 시퀀스에서 결정할 수 있다. 특정 전압은 ADWLSV 개방된 블록 리스트(522)의 (예를 들어, 참조 부호 553에서 문서화된) 엔트리의 상태에 추가될 수 있다. 기입 명령이 워드 라인의 후속 페이지에 발행되면 워드 라인의 후속 페이지에 기입 동작을 수행하는 동안 특정 전압을 ADWLSV로 자동적으로 인가할 수 있다.
기입 명령이 개시되면 소정 수의 블록이 개방되어 메모리 디바이스 내 소정 수의 개방된 블록의 상태가 메모리 디바이스(예를 들어, 디바이스 제어기(120))의 내부에 유지될 수 있다. (예를 들어, ADWLSV 개방된 블록 리스트(522)에 문서화된) 상태는 각각의 수의 개방된 블록에서 개시되는 기입 동작, 각각의 수의 개방된 블록에서 특정 블록이 프로그래밍될 제1 페이지를 포함하는 전압(예를 들어, 참조 부호 553에 도시됨), 및 (예를 들어, 참조 부호 552에 도시된 바와 같이) 각각의 수의 개방된 블록 중에서 프로그래밍될 제1 페이지를 포함하는 블록을 (예를 들어, 블록 번호를 문서화하는 것에 의해) 나타내는 지시를 포함할 수 있다.
블록에 기입하기 전에, 메모리 디바이스(예를 들어, 디바이스 제어기(120))는 상태로부터 제1 페이지가 프로그래밍될 전압을 결정할 수 있다. 메모리 디바이스는 특정 개방된 블록 및 (예를 들어, 수퍼블록 내) 각각의 수의 개방된 블록에서 나머지 부분에 기입 동작을 수행하는 동안 결정된 전압을 ADWLSV로서 인가할 수 있다.
메모리 디바이스 내부 각각의 수의 개방된 블록 중에서 (예를 들어, 디바이스 제어기(120)와 관련된 ADWLSV 개방된 블록 리스트(522)에서) 프로그래밍될 제1 페이지를 포함하는 블록을 나타내는 지시를 유지하면 메모리 디바이스가 기입 요청과 관련하여 외부 제어기(예를 들어, 호스트(102) 내부의 시스템 제어기(118))로부터 지시를 수신하는 것을 대체(예를 들어, 교체)할 수 있다. 예를 들어, 다양한 이전의 접근법은 호스트 및/또는 시스템 제어기(118)가 메모리 디바이스의 개방된 블록을 추적하고/하거나 워드 라인 시작 전압에 관한 정보를 관리하는 것을 수반할 수 있다. 그러나, 다른 고려 사항 중에서 특히 호스트(102) 및/또는 시스템 제어기(118) 내의 이용 가능한 영역, 복잡성 및/또는 비용은 호스트에서 이러한 동작을 수행하는 적합성을 제한할 수 있다.
대조적으로, 이러한 동작은 메모리 디바이스 시스템(104) 내부의 메모리 디바이스 및/또는 디바이스 제어기에 의해 수행될 수 있고, 또 이러한 동작과 관련된 정보는 메모리 디바이스 시스템 내부의 메모리 디바이스 및/또는 디바이스 제어기에 저장(예를 들어, 문서화)될 수 있다. 프로그래밍 동작을 수행하기 위한 시스템 제어기(118)로부터의 명령은 페이지, 블록, 수퍼블록 및/또는 워드 라인과 관련된 어드레스 정보를 포함할 수 있다. 이러한 어드레스 정보는 개방된 블록을 추적하고/하거나 워드 라인 시작 전압에 관한 정보를 관리하는 것을 수행할 때 메모리 디바이스 시스템(104) 내부의 메모리 디바이스 및/또는 디바이스 제어기에 의해 이용될 수 있다.
소정 수의 실시예에서, 외부 제어기는 시스템 SSD 제어기일 수 있고, 메모리 디바이스는 내부 SSD 제어기(예를 들어, 메모리 디바이스 시스템(104) 내부의 디바이스 제어기(120))를 포함하는 다중 평면 메모리 디바이스일 수 있다. 소정 수의 개방된 블록의 상태에 기초하여, 내부 SSD 제어기는 소정 수의 상이한 전압 중에서 복수의 개방된 블록에서 제1 페이지가 프로그래밍되는, ADWLSV로서 인가될 전압을 결정할 수 있다. 이러한 결정은 수퍼블록 어드레스에 있는 각각의 수의 개방된 블록 중에서 프로그래밍될 제1 페이지를 포함하는 블록을 나타내는 지시와 관련된 수퍼블록 어드레스와 기입 명령에 포함된 수퍼블록 워드 라인 어드레스를 매칭시키는 것에 의해 이루어질 수 있다.
메모리 디바이스에 기입 명령이 개시되면, 기입 명령에 대응하는 블록 어드레스를 포함하는 제1 엔트리(예를 들어, ADWLSV 개방된 블록 리스트(522)에서 참조 부호 555에 도시됨)가 메모리 디바이스 내부의 ADWLSV 개방된 블록 리스트에 자동적으로 추가될 수 있다(예를 들어, 문서화될 수 있다). ADWLSV 개방된 블록 리스트(522)는 특정 개수의 엔트리(예를 들어, 도 5에 도시된 예에 도시된 바와 같이 8개의 엔트리)를 허용하도록 구성될 수 있다. 기입 명령이 엔트리에 대응하는 워드 라인의 제1 페이지에 발행될 때, 또는 기입 명령이 실행되어 블록의 제1 페이지로부터 마지막 페이지를 통해 기입 동작이 수행될 때 (예를 들어, 제1 엔트리와 상이하거나 동일할 수 있는) 제2 엔트리는 ADWLSV 개방된 블록 리스트(522)로부터 자동적으로 제거(예를 들어, 소거 또는 재기입)될 수 있다. 소정 수의 실시예에서, 제1 엔트리는 제거된 제2 엔트리 대신에 ADWLSV 개방된 블록 리스트(522)에 자동적으로 추가될 수 있다. 일례로서, 제2 엔트리는 ADWLSV 개방된 블록 리스트(522) 내의 엔트리의 수를 허용된 특정 수로 가져갈 수 있고, 제1 엔트리가 추가되는 것은 제2 엔트리가 제거되는 것을 조건으로 할 수 있다.
도 6은 본 발명의 소정 수의 실시예에 따라 호스트(102) 내부에 유지되는 설정 기능 인터페이스(619)의 일례를 나타내는 테이블을 도시한다. 도 1과 관련하여 참조 부호 119에 도시되고 설명된 바와 같이, 호스트(102) 내부의 설정 기능 인터페이스(619)는 시스템 제어기(118)와 관련될 수 있다(예를 들어, 시스템 제어기의 일부로 형성될 수 있다).
메모리 디바이스 시스템(104) 내부의 디바이스 제어기(120)가 예를 들어, 워드 라인과 관련된 메모리 셀에 대한 Vt을 능동적으로 추적하는 것을 지시하고 이에 따라 워드 라인 시작 전압을 능동적으로 직접 조정(예를 들어, 증가)하도록 구성되는 것에 비해, 시스템 제어기(118)의 설정 기능 인터페이스(619)는 대신에 이러한 동작을 모니터링 및/또는 제어하도록 구성될 수 있다. 소정 수의 실시예에서, 도 6에 도시된 설정 기능 인터페이스(619)의 테이블은 소정 수의 기능(661)을 포함할 수 있고, 소정 수의 기능(662)은 복수의 옵션을 갖는다. 설정 기능 인터페이스(619)에서 기능(661) 및/또는 옵션(662)은 명령을 입력하는 것을 통해 선택 가능하게 인에이블(예를 들어, 적용)될 수 있다. 다양한 실시예에서, 명령은 다른 것 중에서 특히 프로세서(105), 메모리 및 버스 제어부(107), 주변 장치 및 버스 제어부(109), 호스트 메모리(116), 시스템 제어기(118) 및/또는 사용자(도시되지 않음)로부터 입력될 수 있다.
설정 기능 인터페이스(619) 내의 기능(661)의 일례는 (예를 들어 도 5와 관련하여 참조 부호 522에 도시되고 설명된) ADWLSV 개방된 블록 리스트로부터 블록 및/또는 수퍼블록을 제거(663)하는 지시일 수 있다. 이러한 제거는 소정 수의 실시예에서 특정 I/O 라인(232) 및/또는 데이터 버스(342)(예를 들어, 참조 부호 642에 나타낸 DQ 0, DQ 1,..., DQ 7), 및 관련 페이지, 블록, 수퍼블록 및/또는 워드 라인 어드레스에 선택적으로 인에이블(즉, 지시)될 수 있다.
예를 들어, 블록을 제거(663)하는 것은 ADWLSV 개방된 블록 리스트(522)로부터 데이터 버스(DQ6 및 DQ7)에 대해 (디폴트 옵션(662)으로서) 선택적으로 인에이블되지 않을 수 있다(664). 옵션을 인에이블하지 않는 것은 설정 기능 인터페이스(619) 내의 특정 데이터 버스에 대해 0 데이터 값을 입력하는 것에 의해 달성되거나 또는 엔트리를 디폴트 값으로부터 변경 없이 놓아두는 것에 의해 달성될 수 있다. ADWLSV 개방된 블록 리스트(522)로부터 선택된 블록 및/또는 수퍼블록(665)을 제거하는 것은 인에이블될 수 있는 다른 옵션(662)이다. 예를 들어, 선택된 블록 및/또는 수퍼블록을 제거하는 것은 DQ 7에 대해 (예를 들어, 1 데이터 값을 입력하는 것에 의해) 인에이블될 수 있고, DQ 6에 대해 (예를 들어, 0 데이터 값을 입력하는 것에 의해) 디스에이블될 수 있다. ADWLSV 개방된 블록 리스트(522)로부터 모든 블록 및/또는 수퍼 블록(666)을 제거하는 것은 인에이블될 수 있는 다른 옵션(662)이다. 예를 들어, 모든 블록 및/또는 수퍼블록을 제거하는 것은 DQ 6에 대해 (예를 들어, 1 데이터 값을 입력하는 것에 의해) 인에이블될 수 있고, DQ 7에 대해 (예를 들어, 0 데이터 값을 입력하는 것에 의해) 디스에이블될 수 있다.
설정 기능 인터페이스(619)에서의 기능(661)의 다른 예는 ADWLSV 개방된 블록 리스트(522)의 상태를 판독(667)하는 지시일 수 있다. 이러한 상태를 판독하는 것은, 소정 수의 실시예에서, 특정 DQ(예를 들어, 참조 부호 642에 도시된 DQ 0, DQ 1,..., DQ 7) 및 관련 페이지, 블록, 수퍼블록, 및/또는 워드 라인 어드레스로 선택적으로 인에이블(예를 들어, 지시)될 수 있다. 예를 들어, 옵션(668)(예를 들어, 디폴트 옵션)은 (예를 들어, 아직 이용되지 않는 엔트리의 허용된 수에 기초하여) 소정 수의 엔트리가 여전히 이용 가능할 때 ADWLSV 개방된 블록 리스트(522)의 상태를 판독하는 것일 수 있다. 디폴트 옵션은 설정 기능 인터페이스(619) 내의 특정 데이터 버스에 대해 (예를 들어, 디바이스 제어기(120)에 의해 지시된) 0 데이터 값을 입력하는 것에 의해 달성되거나 또는 엔트리를 디폴트 값으로부터 변경 없이 놓아두는 것에 의해 달성될 수 있다. 예를 들어, DQ 7은 디폴트 옵션이 인에이블되게 한다. 인에이블될 수 있는 다른 옵션(669)은 모든 허용된 엔트리들이 이용될 때 ADWLSV 개방된 블록 리스트(522)의 상태를 판독하는 것이다. 이 옵션은 (예를 들어, 디바이스 제어기(120)에 의해 지시된) 예를 들어 DQ 7에 대해 1 데이터 값을 입력하는 것에 의해 달성될 수 있다. 소정 수의 실시예에서, 시스템 제어기(118)는 방금 설명된 옵션 중 어느 하나의 옵션이 디바이스 제어기(120)에 의해 인에이블되는 것에 기초하여 ADWLSV 개방된 블록 리스트(522)의 상태에 액세스(예를 들어, 판독)할 수 있다.
(예를 들어, "예비"로 표시된) 다른 기능(661) 및/또는 옵션(662)은 설정 기능 인터페이스(619)에서 이용 가능할 수 있다. 또한, 하나를 초과하는 설정 기능 인터페이스(619) 및/또는 ADWLSV 개방된 블록 리스트(522)가 컴퓨팅 시스템(100)에 유지될 수 있다. 예를 들어, 소정 수의 실시예에서, 복수의 설정 기능 인터페이스(619) 및/또는 ADWLSV 개방된 블록 리스트(522)는 메모리 디바이스 시스템(104)이 복수의 휘발성 메모리 자원(124) 및/또는 비-휘발성 메모리 자원(124)을 포함할 때 유지될 수 있다.
특정 실시예가 본 명세서에 도시되고 설명되었지만, 이 기술 분야에 통상의 지식을 가진 자라면 동일한 결과를 달성하도록 계산된 배열이 도시된 특정 실시예를 대체할 수 있다는 것을 이해할 수 있을 것이다. 본 명세서는 본 발명의 소정 수의 실시예의 적응 또는 변형을 포함하도록 의도된다. 상기 설명은 본 발명을 예시하기 위하여 제시된 것일 뿐 본 발명을 제한하려고 의도된 것이 아닌 것으로 이해된다. 상기 실시예의 조합 및 본 명세서에 구체적으로 설명되지 않은 다른 실시예는 상기 설명을 검토하면 이 기술 분야에 통상의 지식을 가진 자에게 명백할 것이다. 본 발명의 소정 수의 실시예의 범위는 상기 구조 및 방법이 사용되는 다른 응용을 포함한다. 따라서, 본 발명의 소정 수의 실시예의 범위는 첨부된 청구 범위에 부여되는 최대 균등 범위와 함께 청구 범위와 관련하여 결정되어야 한다.
전술한 상세한 설명에서, 일부 기능은 본 발명의 설명을 간소화하기 위하여 단일 실시예로 함께 그룹화되어 있다. 본 발명의 방법은 본 발명의 개시된 실시예가 각 청구항에 명시적으로 언급된 것보다 더 많은 기능을 사용해야 한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 이하의 청구 범위가 반영하는 바와 같이, 본 발명의 주제는 단일 설명된 실시예의 모든 기능보다 더 적다. 따라서, 이하의 청구 범위는 본 상세한 설명에 포함되고, 각 청구항은 별개의 실시예로서 독자적으로 존재한다.

Claims (26)

  1. 장치로서,
    제어기; 및
    메모리 디바이스를 포함하고, 상기 메모리 디바이스는,
    상기 메모리 디바이스 내 소정 개수의 개방된 블록의 상태를 개방된 블록 리스트(open block list)를 이용해 상기 메모리 디바이스의 내부에 유지하고 - 상기 상태는 상기 소정 개수의 개방된 블록의 각각의 개방된 블록에서 개시된 프로그래밍 동작을 포함함 - ;
    워드 라인에 상기 프로그래밍 동작의 개시를 지시하는 요청을 상기 제어기로부터 수신한 것에 응답하여, 상기 워드 라인과 관련된 다른 그룹의 메모리 셀들에 비해 먼저 프로그래밍되는 상기 워드 라인과 관련된 제1 그룹의 메모리 셀들을 결정하고;
    상기 제1 그룹의 메모리 셀들이 프로그래밍되는 전압을 상기 개방된 블록의 상태에 포함하여 유지하도록 구성되는, 장치.
  2. 제1항에 있어서, 상기 제어기는 상기 메모리 디바이스의 내부에 유지되는 개방된 블록 리스트에 허용되는 엔트리의 개수의 조정을 지시하도록 구성되는 설정 기능 인터페이스를 포함하는, 장치.
  3. 제1항에 있어서, 상기 제1 그룹의 메모리 셀들이 프로그래밍되는 전압은 상기 제1 그룹의 메모리 셀들이 먼저 프로그래밍 임계값을 통과하는 전압을 포함하는, 장치.
  4. 제1항에 있어서, 상기 상태는 상기 개방된 블록의 워드 라인을 나타내는 어드레스의 저장을 포함하는 개방된 블록 리스트를 더 포함하는, 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 메모리 디바이스는,
    상기 워드 라인에 펄스 전압들의 시퀀스를 인가하여 상기 시퀀스 중에서 상기 워드 라인과 관련된 상기 제1 그룹의 메모리 셀들이 먼저 프로그래밍되는 특정 전압을 결정하도록 더 구성되는, 장치.
  6. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 메모리 디바이스는,
    제2 그룹의 메모리 셀들에 수행되는 프로그래밍 동작에 대해 상기 워드 라인과 관련된 상기 제2 그룹의 메모리 셀들에 인가되는 전압으로서 상기 제1 그룹의 메모리 셀들이 프로그래밍되는 전압을 이용하도록 더 구성된, 장치.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 메모리 디바이스는,
    상기 워드 라인과 관련된 제2 그룹의 메모리 셀들에 수행되는 프로그래밍 동작에 대해 자동화된 동적 워드 라인 시작 전압으로서 상기 제1 그룹의 메모리 셀들이 프로그래밍되는 전압을 이용하도록 더 구성된, 장치.
  8. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 메모리 디바이스는,
    상기 워드 라인에 펄스 전압들의 시퀀스를 인가하고;
    상기 제1 그룹의 메모리 셀들이 프로그래밍되는 전압으로서 프로그래밍 동작을 위해 자동화된 동적 워드 라인 시작 전압(ADWLSV)을 상기 개방된 블록의 상기 상태에서 자동적으로 업데이트하도록 더 구성되고,
    상기 ADWLSV는 상기 워드 라인과 관련된 블록의 제거에 대응하는 상기 개방된 블록 내 워드 라인에 대해 동적으로 업데이트되는, 장치.
  9. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 메모리 디바이스는,
    상기 제1 그룹의 메모리 셀들이 프로그래밍되는 전압을 이용하여 제2 그룹의 메모리 셀들에 수행되는 프로그래밍 동작에서 상기 워드 라인과 관련된 상기 제2 그룹의 메모리 셀들에 인가되는 펄스 전압들의 시퀀스 내 시작 전압을 우회(bypass)하도록 더 구성된, 장치.
  10. 장치로서,
    호스트 인터페이스를 통해 호스트에 결합되고 디바이스 인터페이스를 통해 메모리 디바이스에 더 결합된 제어기를 포함하고,
    상기 제어기는 워드 라인과 관련된 블록의 페이지에 기입 동작의 개시를 지시하도록 구성되고;
    상기 메모리 디바이스는 데이터의 페이지들을 저장하도록 구성된 복수의 블록을 포함하고;
    상기 메모리 디바이스는, 상기 기입 동작의 개시를 지시하는 기입 요청을 상기 제어기로부터 수신한 것에 응답하여, 개방된 블록 리스트에 상기 블록을 개방된 것으로 지정하고, 가장 먼저 프로그래밍되는 상기 개방된 블록의 특정 페이지를 결정하도록 구성되고;
    상기 메모리 디바이스는 상기 메모리 디바이스 내의 소정 개수의 개방된 블록의 상태를 상기 메모리 디바이스 내에 상기 개방된 블록 리스트에서 유지하도록 더 구성되고, 상기 상태는,
    상기 소정 개수의 개방된 블록의 각각의 개방된 블록에서 개시되는 기입 동작; 및
    상기 특정 페이지가 상기 소정 개수의 개방된 블록에서 프로그래밍되는 첫 번째 페이지가 되는 전압을 포함하는, 장치.
  11. 제10항에 있어서, 상기 호스트에 결합된 상기 제어기는 시스템 제어기이고, 버스를 통해 상기 메모리 디바이스의 내부 디바이스 제어기에 더 결합된, 장치.
  12. 제11항에 있어서, 상기 시스템 제어기는 상기 메모리 디바이스의 페이지들에 대응하는 개방된 블록들을 추적하지 않는, 장치.
  13. 제11항에 있어서,
    상기 시스템 제어기는 상기 메모리 디바이스 내부에 유지되는 개방된 블록 리스트 내의 엔트리의 제거를 지시하도록 구성된 설정 기능 인터페이스를 포함하고;
    상기 엔트리는 상기 개방된 블록에서 개방되는 첫 번째 페이지에 대한 자동화된 동적 워드 라인 시작 전압을 포함하는, 장치.
  14. 제10항에 있어서, 상기 메모리 디바이스는 내부 디바이스 제어기를 포함하고, 상기 내부 디바이스 제어기는:
    상기 메모리 디바이스의 페이지들에 대응하는 개방된 블록들을 추적하고;
    추적된 개방된 블록들에 대해, 특정 페이지가 프로그래밍되는 첫 번째 페이지가 되는 전압을 포함하여, 자동화된 동적 워드 라인 시작 전압 정보를 동적으로 업데이트하도록 구성되는, 장치.
  15. 제10항에 있어서,
    상기 기입 요청은 블록 식별자 및 페이지 식별자를 포함하고;
    상기 제어기는 상기 기입 요청을 송신할 때 상기 블록 식별자가 개방된 블록에 대응하는지 여부를 알지 못하는, 장치.
  16. 제10항에 있어서,
    상기 메모리 디바이스는 비-휘발성 다중 평면 메모리 자원으로 구성된 솔리드 스테이트 드라이브(solid state drive: SSD)이고;
    상기 다중 평면 메모리 자원은, 상기 워드 라인과 관련된 제1 페이지 그룹으로 제1 평면에 제1 블록, 및 상기 워드 라인과 관련된 제2 페이지 그룹으로 제2 평면에 제2 블록을 포함하는 수퍼블록을 형성하도록 구성되며;
    상기 제1 평면의 상기 제1 블록 및 상기 제2 평면의 상기 제2 블록은 상기 메모리 디바이스 내부의 SSD 제어기에 의해 지시된 것과 동시에 기입 동작을 수행하도록 구성된, 장치.
  17. 제16항에 있어서, 상기 메모리 디바이스는,
    상기 제1 평면의 상기 제1 페이지 또는 상기 제2 평면의 상기 제2 페이지가 먼저 프로그래밍되는 전압을 상기 워드 라인과 관련된 다른 평면 내의 다른 그룹의 메모리 셀들에 대한 기입 동작 시에 인가되는 전압으로서 이용하도록 더 구성된, 장치.
  18. 방법으로서, 메모리 디바이스에서,
    복수의 블록으로 형성된 메모리 셀들의 어레이를 포함하는 상기 메모리 디바이스로의 기입 명령을 외부 제어기로부터 수신하는 단계 - 상기 기입 명령이 개시되면 소정 개수의 블록들은 개방된 블록 리스트에서 개방된 것으로 지정됨 - ;
    상기 메모리 디바이스 내부의 소정 개수의 개방된 블록들의 상태를 상기 메모리 디바이스 내에 상기 개방된 블록 리스트를 이용해 유지하는 단계 - 상기 상태는,
    상기 소정 개수의 개방된 블록들의 각각의 개방된 블록에서의 개시되는 기입 동작;
    상기 소정 개수의 개방된 블록들에서 특정 개방된 블록이 프로그래밍되는 첫 번째 페이지를 포함하게 되는 전압; 및
    상기 소정 개수의 개방된 블록들에서 어떤 블록이 프로그래밍되는 상기 첫 번째 페이지를 포함하는지를 나타내는 지시를 포함함 - ;
    상기 블록에 기입하기 전에, 상기 메모리 디바이스가 상기 상태로부터 상기 첫 번째 페이지가 프로그래밍되는 전압을 결정하는 단계; 및
    상기 특정 개방된 블록 및 상기 소정 개수의 개방된 블록들의 나머지 부분에 상기 기입 동작을 수행하는 동안 상기 결정된 전압을 자동화된 동적 워드 라인 시작 전압(ADWLSV)으로서 인가하는 단계를 포함하는, 방법.
  19. 제18항에 있어서,
    상기 소정 개수의 개방된 블록들에서 어떤 블록이 프로그래밍되는 상기 첫 번째 페이지를 포함하는지를 나타내는 지시를 상기 메모리 디바이스 내부에 유지하는 것은 상기 메모리 디바이스가 상기 기입 명령과 관련하여 상기 외부 제어기로부터 상기 지시를 수신하는 것을 대체하는, 방법.
  20. 제18항에 있어서,
    상기 외부 제어기는 시스템 솔리드 스테이트 드라이브(SSD) 제어기이고;
    상기 메모리 디바이스는 내부 SSD 제어기를 포함하는 다중 평면 메모리 디바이스이고;
    상기 방법은,
    수퍼블록 어드레스에 있는 상기 소정 개수의 개방된 블록들 중에서 어떤 블록이 프로그래밍될 상기 첫 번째 페이지를 포함하는지를 나타내는 지시와 관련된 상기 수퍼블록 어드레스와 상기 기입 명령에 포함된 수퍼블록 워드 라인 어드레스를 매칭시키는 것에 의해,
    복수의 개방된 블록에서 상기 첫 번째 페이지가 프로그래밍되는 소정 개수의 상이한 전압들 중에서 상기 ADWLSV로서 인가될 전압을, 상기 소정 개수의 개방된 블록들의 상태에 기초하여 상기 내부 SSD 제어기를 통해, 결정하는 단계를 포함하는, 방법.
  21. 제18항 내지 제20항 중 어느 한 항에 있어서,
    상기 메모리 디바이스로의 상기 기입 명령이 개시될 때, 상기 기입 명령에 대응하는 블록 어드레스를 포함하는 제1 엔트리를 상기 메모리 디바이스 내부의 개방된 블록 리스트에 자동적으로 추가하는 단계를 더 포함하는, 방법.
  22. 제21항에 있어서,
    상기 개방된 블록 리스트는 특정 개수의 엔트리를 허용하는 단계; 및
    상기 기입 명령이 상기 엔트리에 대응하는 워드 라인의 제1 페이지에 발행되거나 상기 기입 명령이 실행되어 상기 블록의 상기 제1 페이지로부터 마지막 페이지를 통해 상기 기입 동작이 수행될 때, 상기 개방된 블록 리스트로부터 제2 엔트리를 자동적으로 제거하는 단계를 더 포함하는, 방법.
  23. 제22항에 있어서, 상기 제거된 제2 엔트리 대신 상기 개방된 블록 리스트에 상기 제1 엔트리를 자동적으로 추가하는 단계를 더 포함하는, 방법.
  24. 제18항에 있어서,
    상기 외부 제어기로부터 워드 라인의 제1 페이지로의 기입 명령을 수신하면, 인가되는 펄스 전압들의 시퀀스 중에서 상기 워드 라인과 관련된 다른 페이지에 비해 상기 워드 라인과 관련된 특정 페이지가 먼저 프로그래밍되는 특정 전압을 결정하는 단계;
    상기 특정 전압을 상기 메모리 디바이스 내의 개방된 블록 리스트의 엔트리의 상태에 추가하는 단계; 및
    상기 외부 제어기로부터 상기 워드 라인의 후속 페이지로의 기입 명령을 수신하면, 상기 워드 라인의 후속 페이지에 기입 동작을 수행하는 동안 상기 ADWLSV로서 상기 특정 전압을 자동적으로 인가하는 단계를 더 포함하는, 방법.
  25. 삭제
  26. 삭제
KR1020197026515A 2017-03-21 2017-03-21 자동화된 동적 워드 라인 시작 전압을 위한 장치 및 방법 KR102299186B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/023402 WO2018174857A1 (en) 2017-03-21 2017-03-21 Apparatuses and methods for automated dynamic word line start voltage

Publications (2)

Publication Number Publication Date
KR20190107300A KR20190107300A (ko) 2019-09-19
KR102299186B1 true KR102299186B1 (ko) 2021-09-08

Family

ID=63584593

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197026515A KR102299186B1 (ko) 2017-03-21 2017-03-21 자동화된 동적 워드 라인 시작 전압을 위한 장치 및 방법

Country Status (7)

Country Link
US (3) US10388379B2 (ko)
EP (1) EP3602266A4 (ko)
JP (1) JP6802933B2 (ko)
KR (1) KR102299186B1 (ko)
CN (1) CN110431526B (ko)
TW (1) TWI699759B (ko)
WO (1) WO2018174857A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102351649B1 (ko) * 2017-06-07 2022-01-17 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US10552254B2 (en) * 2017-08-15 2020-02-04 Micron Technology, Inc. Partially written superblock treatment
CN110489051A (zh) * 2018-05-14 2019-11-22 慧荣科技股份有限公司 数据储存装置及系统信息的编程方法
KR20200055281A (ko) * 2018-11-13 2020-05-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11132303B2 (en) 2020-02-04 2021-09-28 Micron Technology, Inc. Memory sub-system management of firmware block record and device block record
WO2022160091A1 (en) * 2021-01-26 2022-08-04 Micron Technology, Inc. Memory sub-system management based on dynamic control of wordline start voltage
US11455109B2 (en) * 2021-01-27 2022-09-27 Micron Technology, Inc. Automatic wordline status bypass management
JP7392182B2 (ja) 2021-03-11 2023-12-05 長江存儲科技有限責任公司 メモリデバイスの読み出し動作におけるオープンブロックベースの読み出しオフセット補償
CN116700880A (zh) * 2022-02-25 2023-09-05 戴尔产品有限公司 系统功能管理方法、电子设备和计算机程序产品
KR20240002134A (ko) 2022-06-28 2024-01-04 가톨릭대학교 산학협력단 테노포비르 알라페나미드를 포함하는 비알콜성 지방간염 예방, 개선 또는 치료용 조성물

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100008138A1 (en) 2008-07-10 2010-01-14 Hynix Semiconductor, Inc. Method of programming nonvolatile memory device
JP2010510616A (ja) 2006-11-16 2010-04-02 サンディスク コーポレイション 不揮発性メモリのソフトプログラミングにおける制御されたブースト
JP2011253557A (ja) 2003-12-30 2011-12-15 Sandisk Corp 不揮発性メモリおよび制御データ管理を伴う方法
JP2012507105A (ja) 2008-10-24 2012-03-22 サンディスク コーポレイション 高分解能可変初期プログラミングパルスを用いた不揮発性メモリのプログラミング
JP2012507818A (ja) 2008-10-30 2012-03-29 サンディスク コーポレイション ブースト電圧クランプを改善するためのペアビットラインプログラミング
US20130054880A1 (en) 2011-08-26 2013-02-28 Stec, Inc. Systems and methods for reducing a number of close operations in a flash memory
US20130294155A1 (en) 2012-05-03 2013-11-07 Tzung-Shen Chen Plural operation of memory device
US20160180952A1 (en) 2014-12-22 2016-06-23 Sandisk Technologies Inc. End of life prediction based on memory wear

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898634A (en) 1997-06-17 1999-04-27 Micron Technology, Inc. Integrated circuit with supply voltage detector
JP2002025282A (ja) * 2000-07-12 2002-01-25 Hitachi Ltd 不揮発性半導体記憶装置
US6459629B1 (en) 2001-05-03 2002-10-01 Hrl Laboratories, Llc Memory with a bit line block and/or a word line block for preventing reverse engineering
KR100684873B1 (ko) 2004-11-22 2007-02-20 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 워드라인 전압 제어 방법
US7330373B2 (en) * 2006-03-28 2008-02-12 Sandisk Corporation Program time adjustment as function of program voltage for improved programming speed in memory system
US7599223B2 (en) 2006-09-12 2009-10-06 Sandisk Corporation Non-volatile memory with linear estimation of initial programming voltage
US7630246B2 (en) * 2007-06-18 2009-12-08 Micron Technology, Inc. Programming rate identification and control in a solid state memory
US7817467B2 (en) * 2007-09-07 2010-10-19 Micron Technology, Inc. Memory controller self-calibration for removing systemic influence
US8239614B2 (en) * 2009-03-04 2012-08-07 Micron Technology, Inc. Memory super block allocation
JP2012529692A (ja) * 2009-06-10 2012-11-22 マイクロン テクノロジー, インク. メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止
US8111549B2 (en) 2009-07-13 2012-02-07 Intel Corporation Dynamic wordline start voltage for nand programming
KR101620025B1 (ko) * 2010-02-19 2016-05-24 삼성전자주식회사 데이터 저장 시스템 및 그것의 오픈 블록 관리 방법
JP5364750B2 (ja) * 2011-03-25 2013-12-11 株式会社東芝 メモリシステム、及び不揮発性メモリデバイスの制御方法
JP2013122793A (ja) * 2011-12-09 2013-06-20 Toshiba Corp 不揮発性半導体記憶装置
JP2013143155A (ja) * 2012-01-06 2013-07-22 Powerchip Technology Corp 不揮発性半導体記憶装置とその書き込み方法
KR20140013383A (ko) * 2012-07-23 2014-02-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
US9032271B2 (en) * 2012-12-07 2015-05-12 Western Digital Technologies, Inc. System and method for lower page data recovery in a solid state drive
US9236133B2 (en) * 2013-12-13 2016-01-12 Micron Technology, Inc. Adjusted read for partially programmed block
US9329797B2 (en) * 2013-12-30 2016-05-03 Sandisk Technologies Inc. Method and system for adjusting block erase or program parameters based on a predicted erase life
US9564212B2 (en) * 2014-05-06 2017-02-07 Western Digital Technologies, Inc. Solid-state memory corruption mitigation
KR102263046B1 (ko) * 2014-10-29 2021-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US9563504B2 (en) * 2014-12-05 2017-02-07 Sandisk Technologies Llc Partial block erase for data refreshing and open-block programming
KR102282947B1 (ko) 2014-12-15 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
TWI536386B (zh) * 2015-02-16 2016-06-01 群聯電子股份有限公司 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置
US9530517B2 (en) * 2015-05-20 2016-12-27 Sandisk Technologies Llc Read disturb detection in open blocks
US9891847B2 (en) * 2015-07-28 2018-02-13 Sandisk Technologies Llc Block management in a dual write memory system
US9792998B1 (en) * 2016-03-29 2017-10-17 Sandisk Technologies Llc System and method for erase detection before programming of a storage device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011253557A (ja) 2003-12-30 2011-12-15 Sandisk Corp 不揮発性メモリおよび制御データ管理を伴う方法
JP2010510616A (ja) 2006-11-16 2010-04-02 サンディスク コーポレイション 不揮発性メモリのソフトプログラミングにおける制御されたブースト
US20100008138A1 (en) 2008-07-10 2010-01-14 Hynix Semiconductor, Inc. Method of programming nonvolatile memory device
JP2012507105A (ja) 2008-10-24 2012-03-22 サンディスク コーポレイション 高分解能可変初期プログラミングパルスを用いた不揮発性メモリのプログラミング
JP2012507818A (ja) 2008-10-30 2012-03-29 サンディスク コーポレイション ブースト電圧クランプを改善するためのペアビットラインプログラミング
US20130054880A1 (en) 2011-08-26 2013-02-28 Stec, Inc. Systems and methods for reducing a number of close operations in a flash memory
US20130294155A1 (en) 2012-05-03 2013-11-07 Tzung-Shen Chen Plural operation of memory device
US20160180952A1 (en) 2014-12-22 2016-06-23 Sandisk Technologies Inc. End of life prediction based on memory wear

Also Published As

Publication number Publication date
US10388379B2 (en) 2019-08-20
EP3602266A1 (en) 2020-02-05
JP2020512652A (ja) 2020-04-23
WO2018174857A1 (en) 2018-09-27
CN110431526B (zh) 2023-09-29
EP3602266A4 (en) 2020-12-16
KR20190107300A (ko) 2019-09-19
TW201835916A (zh) 2018-10-01
US11264099B2 (en) 2022-03-01
US20210057031A1 (en) 2021-02-25
US20180301193A1 (en) 2018-10-18
CN110431526A (zh) 2019-11-08
US10832779B2 (en) 2020-11-10
JP6802933B2 (ja) 2020-12-23
TWI699759B (zh) 2020-07-21
US20190355422A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
KR102299186B1 (ko) 자동화된 동적 워드 라인 시작 전압을 위한 장치 및 방법
US20210232508A1 (en) Last written page searching
KR102321221B1 (ko) 버퍼 상에서 메모리 동작을 제어하기 위한 장치 및 방법
KR102535104B1 (ko) 저장 장치 및 그 동작 방법
US11244736B2 (en) Memory device and method of operating the same
US11494106B2 (en) Memory controller and method of ordering sequential data and random data
US11573891B2 (en) Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
KR20190120966A (ko) 저장 장치 및 그 동작 방법
US11360886B2 (en) Storage device and operating method thereof
US10991432B2 (en) Storage device and method of operating the same
CN112527189A (zh) 存储器装置及其操作方法
KR20200090556A (ko) 저장 장치 및 그 동작 방법
KR20230031696A (ko) 메모리 장치 및 그것의 동작 방법
US11615856B2 (en) Memory device and method of performing program operation
US11756612B2 (en) All levels dynamic start voltage programming of a memory device in a memory sub-system
US20240126448A1 (en) Adaptive read disturb scan
US20220270697A1 (en) Memory device and operating method thereof
US20220036944A1 (en) Storage device and method of operating the storage device
KR20230167533A (ko) 메모리 장치 및 그것의 동작 방법
KR20220067386A (ko) 스토리지 장치 및 그 동작 방법
KR20230114526A (ko) 저장 장치 및 그 동작 방법
KR20220016762A (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