KR20160104617A - 데이터 저장 디바이스에 대한 전력 강하 방지 - Google Patents

데이터 저장 디바이스에 대한 전력 강하 방지 Download PDF

Info

Publication number
KR20160104617A
KR20160104617A KR1020167013778A KR20167013778A KR20160104617A KR 20160104617 A KR20160104617 A KR 20160104617A KR 1020167013778 A KR1020167013778 A KR 1020167013778A KR 20167013778 A KR20167013778 A KR 20167013778A KR 20160104617 A KR20160104617 A KR 20160104617A
Authority
KR
South Korea
Prior art keywords
volatile memory
page
data
programming
power
Prior art date
Application number
KR1020167013778A
Other languages
English (en)
Other versions
KR101885228B1 (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 KR20160104617A publication Critical patent/KR20160104617A/ko
Application granted granted Critical
Publication of KR101885228B1 publication Critical patent/KR101885228B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/005Circuit means for protection against loss of information of semiconductor storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/141Battery and back-up supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5648Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

데이터 저장 디바이스는 비-휘발성 메모리를 포함한다. 방법은 비-휘발성 메모리의 워드 라인에서 제1 페이지를 프로그래밍하는 단계를 포함한다. 워드 라인에서 제2 페이지를 프로그래밍하는 동안, 워드 라인의 제1 저장 소자들은, 제1 페이지의 데이터 값들을 분리하는 상태 분리를 증가시키기 위해 상기 데이터 저장 디바이스에서 전력 강하에 응답하여 선택적으로 프로그래밍된다.

Description

데이터 저장 디바이스에 대한 전력 강하 방지{POWER DROP PROTECTION FOR A DATA STORAGE DEVICE}
본 발명은 일반적으로 데이터 저장 디바이스에 관한 것으로, 특히, 데이터 저장 디바이스에 대한 전력 강하 방지에 관한 것이다.
임베딩된 메모리 디바이스들 및 착탈가능한 메모리 디바이스들과 같은 비-휘발성 데이터 저장 디바이스들은, 데이터 및 소프트웨어 애플리케이션들의 증가된 호환성을 가능하게 한다. 예를 들어, 멀티-레벨-셀(MLC) 플래시 메모리 디바이스들은 각 플래시 메모리 셀에서 다수의 비트들을 저장할 수 있어, 데이터 저장 밀도를 향상시킨다. 각 디바이스들에 저장되는 데이터는, 전력 공급 노이즈, 온도 변화들, 및 데이터 훼손의 다른 이유들에 관련된 에러들로부터 상기 데이터를 보호하는 에러 정정 코딩(ECC) 기법들을 사용하여 인코딩될 수 있다. 일부 경우들에서, ECC 기법들은 훼손된 데이터를 복원하는데 충분할 수 있다. 예를 들어, 데이터 훼손은, 데이터를 인코딩하기 위해 사용되는 특정 ECC 기법과 관련된 ECC 성능을 초과할 수 있어 데이터 손실을 야기한다.
데이터를 훼손할 수 있는 데이터 저장 디바이스의 전력 공급 전압의 전력 강하의 경우에서, 데이터 저장 디바이스에서 데이터의 복구를 가능하게 하는 기술들이 개시된다. 특정 구성에서, 데이터 저장 디바이스의 워드 라인은, 제1 논리 페이지 및 제2 논리 페이지와 같은 다수의 로컬 페이지들을 저장한다. 예를 들어, 상기 워드 라인은 멀티-레벨 셀(MLC) 구성을 갖는 저장 소자들을 포함할 수 있고, 그리고 상기 제1 논리 페이지 및 제2 논리 페이지는, 상기 워드 라인에 저장될 수 있는 하위 페이지 데이터(예를 들어, "10" 번호에서 "0" 비트) 및 상위 페이지 데이터(예를 들어, "10" 번호에서 "1" 비트)에 각각 대응할 수 있다. 데이터 저장 디바이스가 상기 워드 라인에서 상기 제1 논리 페이지를 쓴 후 전력 공급 전압에서의 전력 강하가 상기 데이터 저장 디바이스에서 발생하면, 상기 워드 라인에서의 특정 데이터 값들은 에러 정정 코딩(ECC) 기법들을 사용하여 복구되지 못할 수 있다. 예를 들어, 상위 페이지 데이터와 관련되는 데이터 값들은, 제2 페이지를 쓰는 것의 불완전성으로 인해 하위 페이지 데이터와 관련되는 데이터 값들을 "오버랩(overlap)"할 수 있어(그리고 상기 관련되는 데이터 값들과 구별되지 않을 수 있어), 잠재적으로 데이터의 손실을 초래한다.
전력 강하의 경우에서 데이터의 복원을 가능하게 하도록, 특정 디바이스들은 상위 페이지 데이터를 쓰기 전 하위 페이지 데이터를 백업할 수 있다. 상위 페이지 데이터를 쓰는 동안 전력 강하가 발생하면, 상기 하위 페이지 데이터의 훼손된 비트들은 백업된 하위 페이지 데이터로부터 복원될 수 있다. 하지만, 그와 같은 기술은 하위 페이지 데이터를 백업하기 위해 많은 양의 메모리 및 프로세싱 리소스들을 사용할 수 있어, 시스템 성능을 감소시킨다. 다른 기술들은, 전력 강하의 경우에서 상태 분포들의 오버랩을 감소시키기 위해, 데이터를 "중간(intermediate)" 분포로, 예를 들어, "로우-대-미들(low-to-middle)"(LM) 상태에서 "B" 상태(LMB) 분포로 시프트시킬 수 있다. "BC 먼저(BC first)" 기술은, "A" 상태들을 프로그래밍하기 전에 "B" 상태들 및 "C" 상태들을 프로그래밍할 수 있다. 그와 같은 기술들은 전력 강하의 경우에서 데이터 복원을 가능하게 할 수 있지만, 디바이스들에서 증가된 수의 쓰기 동작들로 인해 성능 열화와 관련될 수 있다. 예를 들어, 이러한 기술들은, 전력 강하가 쓰기 동작 동안 발생하는지에 관계없이 쓰기 동작을 개시하는 것에 응답하여 적용될 수 있다.
본 발명에 따른 예시적인 데이터 보호 기술은, 하위 페이지의 데이터 값들을 분리하는 분리 상태를 증가시키기 위해 상기 데이터 저장 디바이스에서 전력 강하에 응답하여, 워드 라인의 저장 소자들을 선택적으로 프로그래밍한다. 증가된 상태 분리는, 상기 하위 페이지의 서로 다른 값들을 나타내는 분포들 사이에서의 오버랩을 방지하거나 감소시킴으로써 상기 하위 페이지의 복원을 가능하게 할 수 있다. 유리하게, 상기 데이터 보호 기술은 선택적으로 적용될 수 있어, 상기 복원 기술들이 요구되는지에 관계없이(예를 들어, 전력 강하가 발생되는지 여부와 관계없이) 복원 기술들을 항상 수행하는 종래의 기술과 효율성을 증가시킨다. 그에 따라, 상기 데이터 보호 기술은 전력 강하 이전 대신에 전력 강하에 응답하여 적용될 수 있어, 시스템 선능을 향상시키고 데이터 복원을 가능하게 하는 동안 백업 데이터 오버헤드를 감소시킨다.
도 1은, 전력 강하에 응답하여 저장 소자들을 선택적으로 프로그래밍하도록 된 데이터 저장 디바이스를 포함하는 시스템의 특정 예시적인 실시예의 블록도이다.
도 2는, 특정 예시적인 임계 전압 분포들 및 도 1의 데이터 저장 디바이스에서 전력 강하 후 데이터의 복원을 가능하게 하는 상태 분리를 도시한다.
도 3은, 도 1의 데이터 저장 디바이스의 동작의 예시적인 방법을 나타내는 흐름도이다.
도 4는, 도 1의 데이터 저장 디바이스의 동작의 다른 예시적인 방법을 나타내는 흐름도이다.
도 1은, 데이터 저장 디바이스(102), 파워 회로(134) 및 호스트 디바이스(136)를 포함하는 특정한 예시적인 실시예의 블록도이다. 상기 데이터 저장 디바이스(102)는, 예를 들어, 임베딩된 멀티미디어 카드(eMMC®)(Joint Electron Devices Engineering Council(JEDEC) Solid State Technology Association, Arlington, Virginia의 상표)에 따라, 호스트 디바이스(136) 내에 임베딩될 수 있다. 대안으로, 상기 데이터 저장 디바이스(102)는 호스트 디바이스(136)로부터 착탈될 수 있다(즉, "착탈가능하게(removably)" 결합될 수 있다). 예를 들어, 상기 데이터 저장 디바이스(102)는 착탈가능한 USB(universal serial bus) 구성에 따라 호스트 디바이스(136)에 착탈가능하게 결합될 수 있다. 파워 회로(134)는 호스트 디바이스(136) 내에 통합될 수 있거나 또는 도 1의 예에 도시된 것처럼 호스트 디바이스(136) 외부에 존재할 수 있다.
추가의 설명을 위해, 데이터 저장 디바이스(102)는, 도시된 예로서, eMMC 구성에 접속된 것처럼, 임베딩된 메모리로서 호스트 디바이스(136)와 결합되도록 구성될 수 있다. 데이터 저장 디바이스(102)는 eMMC 디바이스에 대응할 수 있다. 다른 예로서, 데이터 저장 디바이스(102)는, 메모리 카드, 예를 들어, Secure Digital(SD®) 카드, microSD® 카드, miniSDTM 카드(SD-3C LLC, Wilmington, Delaware), MultiMediaCardTM(MMCTM) 카드(JEDEC Solid State Technology Association, Arlington, Virginia의 상표), 또는 CompactFlash® (CF) 카드(SanDisk Corporation, Milpitas, California의 상표)에 대응할 수 있다. 데이터 저장 디바이스(102)는 JEDEC 산업 사양에 따라 동작할 수 있다. 예를 들어, 데이터 저장 디바이스(102)는, JEDEC eMMC 사양, JEDEC UFS(Universal Flash Storage) 사양, 하나 이상의 다른 사양들, 또는 이들의 조합에 따라 동작할 수 있다.
데이터 저장 디바이스(102)는, 비-휘발성 메모리(104), 입력/출력(I/0) 부분(102) 및 제어기(138)을 포함한다. 특정 예시적인 실시예에서, 상기 비-휘발성 메모리(104)는, NAND 플래시 메모리 또는 NOR 플래시 메모리와 같은 플래시 메모리를 포함한다. 다른 구현들에서, 비-휘발성 메모리(104)는 EPROM(erasable programmable read-only memory), EEPROM(elecrically erasable programmable read-only memory), ROM(read-only memory), OTP(one-time programmable memory), 다른 타입의 메모리, 또는 이들의 조합을 포함할 수 있다. 상기 비-휘발성 메모리(104), I/O 부분(122) 및 제어기(138)는, 하나 이상의 버스들, 하나 이상의 인터페이스들, 하나 이상의 다른 구조들, 또는 이들의 조합을 통해 결합될 수 있다.
하나의 비-휘발성 메모리(104)는, 프로그래밍 신호 조정기(148), 하나 이상의 워드 라인들, 및 하나 이상의 검출기들을 포함할 수 있다. 도 1의 예에서, 비-휘발성 메모리(104)는 워드 라인(106) 및 전압 검출기(120)를 포함한다. 특정 실시예에서, 워드 라인(106)은 멀티-레벨 셀(MLC) 구성을 갖는다. 예를 들어, 워드 라인(106)은 저장 소자들(110, 111, 112 및 113)을 포함할 수 있고, 이들 저장 소자들 각각은 선택에 응답하여 그리고 제어기(138)에 의해 프로그래밍하는 다수의 논리 데이터 값들을 저장하도록 구성된다.
설명을 위해, 제어기(138)는, 비트 값들(b0,0 및 b1,0)을 나타내는 임계 전압을 저장하기 위해 저장 소자(110)를 선택할 수 있고 그리고 상기 임계 전압을 저장하기 위해 저장 소자(110)를 프로그래밍할 수 있다. 제어기(138)는, 비트 값들(b0,1 및 b1,1)을 나타내는 임계 전압을 저장하기 위해 저장 소자(111)를 선택할 수 있고 그리고 상기 임계 전압을 저장하기 위해 저장 소자(111)를 프로그래밍할 수 있다. 제어기(138)는, 비트 값들(b0,2 및 b1,2)을 나타내는 임계 전압을 저장하기 위해 저장 소자(111)를 선택할 수 있고 그리고 상기 임계 전압을 저장하기 위해 저장 소자(112)를 프로그래밍할 수 있다. 제어기(138)는, 비트 값들(b0,N b1,N)을 나타내는 임계 전압을 저장하기 위해 저장 소자(113)를 선택할 수 있고 그리고 상기 임계 전압을 저장하기 위해 저장 소자(113)를 프로그래밍할 수 있다. N은 워드 라인(106)에 포함되는 저장 소자들의 수(예를 들어, 512, 1024 또는 하나 보다 큰 어떤 다른 양의 정수)를 나타낸다. 도 1의 특정 예는 셀 당 2비트("X2") 구성이지만, 여기에서 서술되는 하나 이상의 기술들은, 다른 구성들, 예를 들어, 셀 당 3비트("X3") 구성에 적용될 수 있음을 알아야한다.
워드 라인(106)은, MLC 구성에 관련하여 데이터의 다수의 논리 페이지들을 저장하도록 구성될 수 있다. 예를 들어, 워드 라인(106)은 페이지(116) 및 페이지(117)를 저장하도록 구성될 수 있다. 페이지(116)는 워드 라인(106)에 저장된 제1 세트의 비트들을 포함할 수 있고, 그리고 페이지(117)는 워드 라인(106)에 저장된 제2 세트의 비트들을 포함할 수 있다. 특정 실시예에서, 페이지들(116, 117)은, 하위 페이지 및 상위 페이지에 각각 대응한다. 하위 페이지들 및 상위 페이지들은 도 2를 참조하여 추가로 서술된다.
I/O 부분(122)은, 전력 단자(128) 및 하나 이상의 다른 단자들, 예를 들어, 하나 이상의 명령, 데이터 및/또는 클럭 단자들(130)을 포함할 수 있다. 전력 단자(128)는, 전력 공급 전압(132)에 반응을 보일 수 있다. 전력 단자(128)는, 데이터 저장 디바이스(102)의 하나 이상의 컴포넌트들, 예를 들어, 비-휘발성 메모리(104) 및 제어기(138)에 전력 공급 전압(132)에 기초하여, 전압을 제공할 수 있다. 상기 하나 이상의 명령, 데이터 및/또는 클럭 단자들(130)은, 호스트 디바이스(136)와 제어기(138) 사이의 명령들, 명령 응답들 및/또는 데이터를 통신할 수 있다.
제어기(138)는, 호스트 인터페이스(140), 하나 이상의 전압 검출기들(예를 들어, 전압 검출기(142)), 랜던 액세스 메모리(RAM)(144), 에러 정정 코드(ECC) 엔진(146) 및 백업 파워 소스(154)를 포함할 수 있다. 제어기(138)는, 하나 이상의 버스들, 하나 이상의 인터페이스들, 하나 이상의 다른 구성들, 또는 이들의 조합을 통해, 상기 비-휘발성 메모리(104)에 연결된다. 제어기(138)는, 비-휘발성 메모리(104)의 특정 어드레스로부터 데이터를 판독하기 위해 판독 명령을 전송하도록 구성된다. 제어기(138)는, 상기 비-휘발성 메모리로 하여금, 비-휘발성 메모리(104)의 특정 어드레스에 상기 데이터를 저장하도록 데이터 및 쓰기 명령을 전송하도록 구성된다. 설명을 위해, 상기 비-휘발성 메모리(104)로 하여금 워드 라인(106)에 페이지들(116, 117)을 저장하도록 데이터 및 하나 이상의 쓰기 명령들을 전송할 수 있다. 제어기(138)는, 상기 워드 라인(106)으로부터 페이지들(116, 117) 중 하나 또는 둘 모두를 판독하도록 판독 명령을 전송할 수 있다.
호스트 디바이스(136)는, 모바일 전화, 뮤직 플레이어, 비디오 플레이어, 게임 콘솔, 전자책 리더, PDA(personal digital assistant), 컴퓨터(예를 들어, 랩톱 컴퓨터, 태블릿, 또는 노트북 컴퓨터), 다른 전자 디바이스, 또는 그것들의 조합에 대응할 수 있다. 호스트 디바이스(136)는 호스트 제어기를 통해 통신할 수 있고, 이러한 호스트 제어기는, 호스트 디바이스(136)가 비-휘발성 메모리(104)로부터 데이터를 판독가능하게 하고 그리고 비-휘발성 메모리(104)에 데이터를 기록하게 할 수 있다. 호스트 디바이스(136)는, eMMC 사양 또는 UFS 호스트 제어기 인터페이스 사양과 같은 JEDEC 솔리드 스테이트 테크놀로지 어소세이션 산업 사양에 따라 동작할 수 있다. 호스트 디바이스(136)는, 도시된 예처럼, SD(Secure Digital) 호스트 제어기 사양과 같은 하나 이상의 다른 사양들에 따라 동작할 수 있다. 호스트 디바이스(136)는, 다른 적합한 통신 프로토콜에 따라 비-휘발성 메모리(104)와 통신할 수 있다.
동작시, 제어기(138)는 호스트 디바이스(136)로부터 데이터 및 명령어들을 수신할 수 있고, 데이터를 호스트 디바이스(136)에 전송할 수 있다. 제어기(138)는 데이터 및 명령들을 비-휘발성 메모리(104)로 전송할 수 있고, 그리고 상기 비-휘발성 메모리(104)로부터 데이터를 수신할 수 있다. 특정 예로서, 제어기(138)는 호스트 인터페이스(140)를 통해 호스트 디바이스(136)로부터 데이터(152)를 수신할 수 있다. 데이터(152)는, 비-휘발성 메모리(104)에 저장되는 사용자 데이터(예를 들어, 파일 또는 파일의 일부분)에 대응할 수 있다.
ECC 엔진(146)은, 데이터(152)를 수신하고 그리고 상기 데이터(152)에 기초하여 하나 이상의 ECC 코드워드들을 생성하도록 구성될 수 있다. 예를 들어, ECC 엔진(146)은 ECC 인코딩 기술을 사용하여 데이터(152)를 인코딩하도록 구성된 인코더를 포함할 수 있다. ECC 엔진(146)은, 리드-솔로몬(Reed-Solomon) 인코더, BCH(Bose-Chaudhuri-Hocquenhem) 인코더, LDPC(low-density parity check) 인코더, 터보 인코더, 하나 이상의 다른 ECC 기술들에 따라 데이터를 인코딩하도록 구성된 인코더 또는 이들의 조합을 포함할 수 있다. ECC 엔진(146)은, 상기 ECC 엔진(146)에 의해 사용되는 ECC 기술의 에러 정정 능력의 최대치까지, 상기 판독된 데이터에 표시될 수 있는 비트 에러들을 검출하고 그리고 정정하도록 비-휘발성 메모리(104)로부터 판독된 데이터를 디코딩하도록 구성된 디코더를 포함할 수 있다.
추가의 설명을 위해, ECC 엔진(146)은 RAM(144)로부터 데이터(152)를 수신할 수 있다. ECC 엔진(146)은, 데이터(152)에 기초하여 하나 이상의 ECC 코드워드들을 생성할 수 있다. 특정 실시예에서, 페이지(116, 117)는 데이터(152)에 기초하여 ECC 엔진(146)에 의해 생성된 ECC 코드워드들에 대응할 수 있다. 예를 들어, 제어기(138)로부터 비-휘발성 메모리(104)로 전송된 다수의 쓰기 명령들을 사용하여, 비-휘발성 메모리(104)의 특정 워드 라인에 다수의 논리 페이지들을 쓰는 멀티-스테이지 동작에 관련하여, 페이지들(116, 117)은, 비-동기적으로 워드 라인(106)에 쓸 수 있다. 예를 들어, 페이지(116)는, 제어기(138)로부터 비-휘발성 제어기(104)로 전송된 제1 쓰기 명령에 응답하여 제1 시간에 쓸 수 있고, 페이지(117)는 제어기(138)로부터 비-휘발성 제어기(104)에 전송된 제2 쓰기 명령에 응답하여 제2 시간에 쓸 수 있다. 대안으로 또는 추가로, 페이지들(116, 117)은 하나 이상의 다른 기술들을 사용하여 상기 비-휘발성 메모리(104)에 쓸 수 있다.
워드 라인(106)에서 페이지(116)를 프로그래밍한 후 전력 강하가 발생하고 그리고 워드 라인(107)에서 페이지(117)를 프로그래밍하는 동안, 데이터 저장 디바이스(102)는, 페이지(116)의 데이터 값들을 분리시키는 상태 분리를 증가시킬 수 있다. 예를 들어, 데이터 저장 디바이스(102)는, 예를 들어, 상기 페이지(116)의 제1 데이터 값(예를 들어, "0" 데이터 값)을 저장하고 그리고/또는 저장하도록 스케줄링되는 저장 소자들(110 내지 113) 중 하나 이상을 계속 프로그래밍함으로써, 그리고 페이지(116)의 제2 데이터 값(예를 들어, "1" 데이터 값)을 저장하고 그리고/또는 저장하도록 스케줄링되는 저장 소자들(110 내지 113) 중 하나 이상을 프로그래밍하는 것을 금지함으로써 상기 저장 소자들(110 내지 113) 중 하나 이상을 선택적으로 프로그래밍할 수 있다. 상기 데이터 저장 디바이스(102)에서 상태 분리를 증가시키는 예시적인 기술들이 도 2를 참조하여 또한 서술된다. 전력 강하에 응답하여, 제어기(138)는, (예를 들어, 상기 데이터 저장 디바이스(102)의 파워-업 때) 전력이 증가할 때까지 추가적인 명령들을 비-휘발성 메모리(104)에 전송하는 것이 금지될 수 있다.
전력 강하는, 데이터 저장 디바이스(102)에서 파워-다운 이벤트에 응답하여 발생할 수 있다. 예를 들어, 호스트 디바이스(136)가 동작의 "오프(off)" 또는 "스탠바이(standby)" 모드를 개시하는 것에 응답하여, 전력 단자(128)는, 전력 강하를 초래하는, 전력 공급 전압(132)으로부터 디커플링될 수 있다. 전력 강하는, 아래에서 서술되는 하나 이상의 예들에 의해 설명되는 방식으로 검출될 수 있다.
제1 예에 따라, 전압 검출기(120)는 전력 강하를 검출하도록 구성된다. 예를 들어, 전압 검출기(120)가 전력 단자(128)에 연결되기 때문에, 전압 검출기(120)는 전력 단자(128)에서의 전압의 변화들에 응답할 수 있다. 특정 실시예에서, 페이지(117)가 워드 라인(106)에서 프로그래밍되는 동안, 전압이 제1 임계치보다 작은 것(예를 들어, 비-휘발성 메모리(104)에 데이터를 안전하게 쓰는 것이 요구되는 특정 임계 전압 레벨보다 작은 것)을 전압 검출기(120)가 검출하면, 상기 전압 검출기(120)는, 상기 데이터 저장 디바이스(102)로 하여금 페이지(116)의 데이터 값들을 분리시키는 상태 분리를 증가시키도록 한다. 예를 들어, 전압 검출기(120)는, 상기 비-휘발성 메모리(104)로 하여금, 페이지(116)의 제1 데이터 값(예를 들어, "0" 데이터 값)을 저장하거나 또는 저장하도록 스케줄링되는 워드 라인(106)의 저장 소자들을 계속 프로그래밍하도록 하는 신호를 발생시킬 수 있다. 대안으로 또는 추가로, 상기 신호는, 상기 비-휘발성 메모리(104)로 하여금, 상기 페이지(116)의 제2 데이터 값(예를 들어, "1" 데이터 값)을 저장하거나 또는 저장하도록 스케줄링되는 워드 라인(106)의 저장 소자들의 프로그래밍을 금지하도록 할 수 있다.
제2 예에 따라, 제어기(138)의 전압 검출기(142)는 전력 단자(128)에서 전력 강하를 검출하도록 구성된다. 상기 전압 검출기(142)가 상기 전력 강하를 검출하는 것에 응답하여, 제어기(138)는 쓰기 방지 신호를 비-휘발성 메모리(104)에 전송할 수 있다. 상기 쓰기 방지 신호는, 상기 비-휘발성 메모리(104)로 하여금 페이지(116)의 데이터 값들을 분리하는 상태 분리를 증가시키도록 한다. 예를 들어, 상기 비-휘발성 메모리(104)는, 제어기(138)로부터 쓰기 방지 신호를 수신하는 것에 응답하여 상태 분리를 증가시키도록 구성될 수 있다. 특정 실시예에서, 상기 쓰기 방지 신호는 "범용(general purpose)" 쓰기 방지 신호이다.
제3 예에 따라, 제어기(138)의 전압 검출기(142)는 상기 전력 강하를 검출하도록 구성되고, 그리고 상기 제어기(138)는, 상기 전압 검출기(142)가 전력 강하를 검출하는 것에 응답하여, 전용 명령(150)을 전송하도록 구성된다. 전용 명령(150)은, 비-휘발성 메모리(104)에게 상기 제1 페이지의 데이터 값들을 분리시키는 상태 분리를 증가시키도록 지시할 수 있다. 특정 실시예에서, 상기 전용 명령(150)은, 전력 강하에 응답하여 상태 분리를 증가시키도록 지시하는 것이 예정된다. 상기 전용 명령(150)은 범용 명령(예를 들어, 범용 쓰기 방지 명령)과 구별된다.
상기 전력 강하에 응답하여, 상기 프로그래밍 신호 조정기(148)는, 상기 저장 소자들(110 내지 113) 중 하나 이상을 선택적으로 프로그래밍하기 위해 사용되는 프로그래밍 신호를 조정할 수 있다. 상기 프로그래밍 신호는, 상기 프로그래밍 신호의 프로그래밍 펄스들의 수를 수정함으로써, 상기 프로그래밍 펄스들의 크기를 수정함으로써, 상기 프로그래밍 펄스의 지속시간을 수정함으로써, 또는 이들의 조합을 통해 조정될 수 있다. 예를 들어, 상기 프로그래밍 신호 조정기(148)는, 상기 프로그래밍 신호의 프로그래밍 펄스들의 수를 증가시킴으로써, 상기 프로그래밍 펄스들 중 하나 이상의 크기를 증가시킴으로써, 상기 프로그래밍 펄스들 중 하나 이상의 지속시간을 감소시킴으로써, 또는 이들의 조합을 통해 상기 프로그래밍 신호를 조정할 수 있다. 대안으로 또는 추가로, 상기 저장 소자들(110 내지 113) 중 하나 이상은, 상기 저장 소자들(110 내지 113) 중 하나 이상을 또한 선택적으로 프로그래밍하기 위해 사용될 수 있는 시간 및/또는 전력을 절약하도록, 확인 신호(verify signal)를 사용하지 않고 선택적으로 프로그래밍될 수 있다. 도 2를 참조하여 또한 서술된 것처럼, 페이지(116)의 데이터 값들을 분리하는 상태 분리가 (예를 들어, 데이터 저장 디바이스(102)에서 파워-업 이벤트 후) 페이지(116)의 데이터 값들을 복원하는데 충분하도록, 상기 프로그래밍 신호는 조정될 수 있다.
특정 실시예에서, 상기 프로그래밍 신호 조정기(148)은, 상기 프로그래밍 신호를 조정하기 위해 상기 백업 파워 소스(154)에 액세스하도록 구성된다. 상기 저장 소자들(110 내지 113) 중 하나 이상이 선택적으로 프로그래밍될 수 있는 동안(예를 들어, 전력 공급 전압(132)이 떨어지고 그리고 상기 데이터 저장 디바이스(102)가 "오프(off) 모드 동작으로 들어가기 전에) 지속시간을 연장시키기 위해, 상기 백업 파워 소스(154)는, 전력 강하에 응답하여 백업 전력을 상기 프로그래밍 신호 조정기(148)에 제공하도록 구성될 수 있다. 상기 백업 파워 소스(154)는, 예시적인 예들로서, 용량성 디바이스(예를 들어, 하나 이상의 커패시터들), 백업 배터리, 하나 이상의 다른 디바이스들, 또는 이들의 조합을 포함할 수 있다. 백업 파워 소스(154)가 제어기(138)에 포함된다고 도 1에서 도시하고 있지만, 백업 파워 소스(154)는 시스템(100)에 어디에서도 위치될 수 있다.
비-휘발성 메모리(104)는 다수의 전압 검출기들을 포함할 수 있다. 상기에서 서술된 것처럼, 상기에서 서술된 것처럼, 전압 공급 전압이 제1 임계치보다 낮다고 검출하는 것에 응답하여, 상기 전압 검출기(120)는 저장 소자들(110 내지 113) 중 하나 이상을 선택적으로 프로그래밍하는 것을 개시하도록 구성될 수 있다. 비-휘발성 메모리(104)는 추가로 제2 전압 검출기를 포함할 수 있다. 전력 공급 전압이 (예를 들어, "소프트 리셋(soft reset)" 동작에 관련하여) 제2 임계치보다 낮다고 검출하는 것에 응답하여, 상기 제2 전압 검출기는, 상기 비-휘발성 메모리(104)하여금 프로그래밍 동작들을 종료하도록 구성될 수 있다. 상기 제2 임계치는 상기 제1 임계치보다 낮다. 설명을 위해, 상기 제1 임계치는, 파워-오프 이벤트가 임박했음을 나타내는 전력 공급 전압의 전압 레벨에 대응할 수 있고, 그리고 상기 제2 임계치는, 프로그래밍 동작들이 더 이상 비-휘발성 메모리(104)에서 안전하게 수행될 수 없음을 나타내는 전압 레벨에 대응할 수 있다. 상기 전압 검출기(120)가 상기 비-휘발성 메모리(104)에 포함됨을 도 1이 나타내지만, 전압 검출기(120) 및/또는 제2 전압 검출기는 본 발명의 범위를 벗어나지 않고 제어기(138)에 포함될 수 있다. 추가적인 예들에서, 전압 검출기(120, 142)들 모두는 비-휘발성 메모리(104)에 포함될 수 있거나, 또는 전압 검출기(120, 142)들 모두는 제어기(138)에 포함될 수 있다.
상기 데이터 저장 디바이스(102)의 워드 라인의 하나 이상의 요소들을 선택적으로 프로그래밍함으로써, 페이지의 데이터 값들을 분리하는 분리 동작은 증가될 수 있다. 예를 들어, 전력 강하가 (특정 종래 디바이스들에 의해 행해진 것처럼) 검출되자마자 쓰기 동작들을 종료하는 대신에, 상기 데이터 저장 디바이스(102)는 상기 페이지의 상태 분리를 증가시키도록 저장 소자들을 선택적으로 프로그래밍할 수 있다. 그에 따라, 상기 페이지는, 페이지의 비트들을 백업하지 않고 그리고 종래의 LMB 및 BCF 기술들을 이용하지 않으면서 데이터 저장 디바이스(102)의 파워-업시 복원될 수 있다. 대신에, 여기에서 기술되는 하나 이상의 기술들은, (예를 들어, 데이터를 항상 백업하거나 또는 파워 다운이 발생되는 것에 관계없이 LMB 기술 및 BCF 기술을 항상 사용하기보다, 파워 다운에 응답하여 페이지의 상태 분리를 증가시킴으로써) 선택적으로 적용될 수 있다. 따라서, 시스템(100)의 성능은, 데이터 저장 디바이스(102)의 동작 리소스들을 보전함으로써(예를 들어, 특정 종래 기술들에 관련된 쓰기 동작을 더 적게 사용함으로써) 개선된다.
도 2는, 비-휘발성 메모리(104)에 프로그래밍될 수 있는 임계 전압들의 분포들을 나타내는 히스토그램들(202, 208, 216 및 226)을 나타낸다. 도 2에서, 각 가로축은 상기 비-휘발성 메모리(104)의 저장 소자들의 임계 전압들을 나타낼 수 있고, 그리고 각 세로축은 특정 임계 전압을 갖는 비-휘발성 메모리(104)의 저장 소자들의 수를 나타낼 수 있다. 특정 실시예에서, 히스토그램들(202, 208, 216 및 226) 각각은, 워드 라인(106)의 특정 동작 상태에 대응한다.
예를 들어, 히스토그램(202)는 분포(204) 및 분포(206)를 포함한다. 분포들(204, 206)은 워드 라인(106)에 저장된 임계 전압들을 나타낸다. 예를 들어, 분포(204)는 페이지(116)의 제1 데이터 값에 대응할 수 있고, 그리고 분포(206)는 페이지(116)의 제2 데이터 값에 대응할 수 있다. 분포들(204, 206)은, (예를 들어, 워드 라인(106)에서 상위 페이지를 프로그래밍하기 전에) 멀티-페이지 쓰기 프로세스에 관련되어 워드 라인(106)에 쓰여지는 하위 페이지(LP)에 대응할 수 있다. 도 2의 예에서, 분포(204)는 "1"의 데이터 값과 관련되는 삭제("E") 상태에 대응하고, 그리고 분포(206)는 "0"의 데이터 값과 관련되는 "LM" 상태에 대응한다. 도 2의 특정 예는 예시적이고, 그리고 여기에서 서술되는 기술들은 다양한 구현들, 예를 들어, 도 2에서 도시된 것과는 다른 비트 관례들 및 상태 관례들을 갖는 구현들에 적용될 수 있음을 알아야한다.
히스토그램(208)은, 하위 페이지를 프로그래밍한 후 그리고 상위 페이지(UP)의 프로그래밍 동안 데이터 저장 디바이스(102)의 동작 상태에 대응한다. 상위 페이지는 페이지(117)에 대응할 수 있다. 히스토그램(208)은 분포들(210, 212 및 214)을 포함한다. 분포(212)는, 분포(204)에 대응하는 저장 소자들을 프로그래밍함으로써 발생될 수 있다. 즉, 분포(204)와 관련되는 "E" 상태 임계 전압을 저장하는 저장 소자들은 분포(212)와 관련되는 "A" 상태 임계 전압을 저장하도록 프로그래밍될 수 있다. 또한, 분포(214)는 분포(206)에 대응하는 저장 소자들을 프로그래밍함으로써 발생될 수 있다. 즉, 분포(206)와 관련되는 "LM" 상태 임계 전압을 저장하는 저장 소자들은, 분포(212)와 관련되는 "B" 상태 임계 전압 또는 "C" 상태 임계 전압을 저장하도록 프로그래밍될 수 있다. 도 2에서, "E" 또는 "A" 상태 임계 전압들은 "1"의 하위 페이지 데이터 값에 대응하고 그리고 "B" 및 "C" 상태 임계 전압들은 "0"의 하위 페이지 데이터 값에 대응한다.
상기 데이터 저장 디바이스(102)가 히스토그램(208)에 의해 표시된 동작 상태를 갖고 그리고 상위 페이지의 프로그래밍이 완료되는 동안 전력 강하가 발생하지 않으면, 데이터 저장 디바이스(102)의 워드 라인의 동작 상태는 히스토그램(216)에 대응할 수 있다. 히스토그램(216)은 분포들(218, 220, 222 및 224)을 포함한다. 도 2의 예에서, 분포(212)의 프로그래밍은 완료되고, 분포(220)를 초래한다. 분포(214)의 프로그래밍은 완료되고, 이는 분포들(222, 224)을 초래하고, 이들은, "B" 상태 임계 전압들 및 "C" 상태 임계 전압들에 각각 대응한다. 분포들(218, 220)은 "1"의 하위 페이지 데이터 값에 대응할 수 있고, 그리고 분포들(222, 224)은 "0"의 하위 페이지 데이터 값에 대응할 수 있다. 분포들(218, 224)은 "1"의 상위 페이지 데이터 값에 대응할 수 있고, 그리고 분포들(220, 222)은 "0"의 상위 페이지 데이터 값에 대응할 수 있다.
대안으로, 데이터 저장 디바이스(102)가 히스토그램(208)에 의해 표시된 동작 상태를 갖는 동안 전력 강하가 발생하면, 상위 페이지의 프로그래밍은 중단될 수 있다. 그 결과로서, 상기 하위 페이지의 특정 비트들은 훼손될 수 있다. 예를 들어, 상기 분포들(212, 214)은 (도 2에 도시된 것처럼) 부분적으로 오버랩될 수 있기에, 상기 오버랩 내의 임계 전압들은 "1" 또는 "0" 중 하나의 하위 페이지 데이터 값에 대응할 수 있다. 또한, 상기 오버랩의 크기는 ECC 엔진(146)의 에러 정정 능력을 초과할 수 있어, 상기 하위 페이지의 데이터의 손실을 초래한다.
그에 따라, 상기 데이터 저장 디바이스(102)에서 전력 강하에 응답하여, 상기 데이터 저장 디바이스(102)는 상기 하위 페이지 데이터 값들의 복원을 가능하게 하도록 저장 소자들을 선택적으로 프로그래밍할 수 있다. 히스토그램(226)은, 상태 분리(234)가 전력 강하에 응답하여 저장 소자들을 선택적으로 프로그래밍함으로써 증가된 데이터 저장 디바이스의 동작 상태를 나타낸다. 데이터 저장 디바이스(102)의 워드 라인은, 전력 강하 후 파워-업 때 상기 히스토그램(226)에 대응하는 동작 상태를 가질 수 있다.
히스토그램(226)은, 상기 분포(214)에 대응하는 임계 전압들을 저장하는 저장 소자들이 상기 전력 강하에 응답하여 선택적으로 프로그래밍되어, 분포(232)를 초래하는 것을 나타낸다. 히스토그램(226)에서, 히스토그램(208)에 관련된 전력 강하 후에 분포들(210, 212)은 프로그래밍되지 않는다. 설명을 위해, 데이터 저장 디바이스(102)는, 전력 강하에 응답하여 분포들(210, 212)에 대응하는 임계 전압들을 저장하는 저장 소자들의 프로그래밍을 하지못하게 할 수 있다.
상기 전력 강하에 응답하여 저장 소자들을 선택적으로 프로그래밍함으로써, 상태 분리(234)가 증가된다. 예를 들어, 상태 분리(234)는, 분포(232)의 가장 낮은 임계 전압(238)으로부터 분포(212)의 가장 높은 임계 전압(236)을 분리한다. 그에 따라, "1"의 하위 페이지 데이터 값들은 "0"의 하위 페이지 데이터 값들과 분리될 수 있어, 상기 하위 페이지 데이터 값들의 복구를 가능하게 한다. 다른 실시예들에서, 하위 페이지 데이터는, 분포들이 오버랩되는 경우라도 복구될 수 있다. 예를 들어, 상기 하위 페이지는, 상기 오버랩이 ECC 엔진(146)의 특별한 에러 정정 능력 내에서 감소되도록 제공되는 ECC 엔진(146)에 의해 디코딩가능해질 수 있다. 이러한 경우들에서, 여기에서 사용되는 "상태 분리(state seperation)"는, 분리(212)의 중간값(또는 대략적인 중간값)과 분리(232)의 중간값(또는 대략적인 중간값) 사이의 차를 나타낼 수 있다.
여기에서 서술되는 하나 이상의 기술들은, 상기 하위 페이지 및 상기 상위 페이지 모두의 복원을 가능하게 하거나, 또는 상기 하위 페이지 만의 복원을 가능하게 하도록 적용될 수 있다. 예를 들어, 히스토그램(206)의 예에서, 분포(232)는 "B" 상태들과 "C" 상태들 사이의 분리를 포함하지 않는다(즉, "B" 상태들과 "C" 상태들은 분포(232) 내에서 그룹화된다). 그에 따라, 히스토그램(226)은, 하위 페이지의 복원을 가능하게 하도록 상태 분리(234)를 증가시키기 위해 제어기(138)에 의해 사용되는 "고속(fast)" 분리 증가 기술에 대응할 수 있다. 특정 실시예에서, 상위 페이지의 카피가 시스템(100)의 어떤 곳에, 예를 들어, 비-휘발성 메모리의 복원 블록에, RAM(144)에, 다른 위치에 또는 이들의 조합에 저장된다(예를 들어, 캐싱된다). 대안으로, 제어기(138)는, 상태 분리(234)를 증가시키는 것에 추가로 전력 강하에 응답하여 분포(232)의 "B" 상태들과 "C" 상태들 사이의 상태 분리를 야기하거나 또는 증가시키도록 구성될 수 있다. 그와 같은 분포(232)의 "B" 상태들과 "C" 상태들 사이의 상태 분리는, 상위 페이지의 데이터 값들을 구분시킴으로써 상기 상위 페이지의 복원을 가능하게 할 수 있다.
특정 예시적인 실시예에서, 제어기(138)는, 상기 상위 페이지를 프로그래밍하는 동안 상기 분포(212)의 프로그래밍을 지연시킬 수 있다. 예를 들어, 히스토그램(208)을 참조하여 서술되는 상기 오버랩을 감소시키기 위해, 제어기(138)는, "B" 상태 임계 전압 또는 "C" 상태 임계 전압을 저장하기 위해 선택되는 저장 소자들의 프로그래밍을 개시한 후에 "A" 상태 임계 전압을 저장하기 위해 선택되는 저장 소자들의 프로그래밍을 개시할 수 있고, 이는 상기 분포들(212, 214) 상의 분리를 증가시킨다. 그에 따라, 상기 상태 분리(234)는 분포(212)의 프로그래밍을 지연시킴으로써 증가될 수 있다. 대안으로 또는 추가로, 제어기(138)는, 예를 들어,분포(212)의 프로그래밍을 느리게 하도록 "A" 상태 임계 전압을 저장하기 위해 선택된 저장 소자들의 비트 라인 전압들을 조정함으로써, 상기 상위 페이지를 프로그래밍하는 동안 상기 분포(212)의 프로그래밍을 느리게 할 수 있다.
도 2를 참조하여 서술된 기술들은, 전력 강하의 경우에서 데이터의 복원을 가능하게 선택적으로 적용될 수 있다. 예를 들어, 도 2의 상부 페이지를 쓰는 동안 어떤 전력 강하도 검출되지 않으면, 이후 데이터의 백업 및 다른 종래의 기술들은 필요하지 않을 수 있다. 전력 강하에 응답하여 상태 분리(234)를 증가시킴으로써, 데이터는 많은 양의 데이터를 백업하지 않고 그리고 "중간(intermediate)" 프로그래밍 동작들을 사용하지 않으면서 복원될 수 있어, 그 결과, 저장 공간 및/또는 계산상의 리소스들을 제한하지 않고 그리고 시스템(100)의 성능을 향상시킨다.
도 3을 참조하여, 방법의 특정 예시적인 실시예가 도시되고 그리고 일반적으로 설계된다(300). 방법(300)은, 예를 들어, 비-휘발성 메모리(104)에 의해, 제어기(138)에 의해, 또는 이들의 조합에 의해, 데이터 저장 디바이스(102)에서 수행될 수 있다.
방법(300)은, 302에서, 상기 비-휘발성 메모리(104)의 워드 라인에서 제1 페이지를 프로그래밍하는 것을 포함할 수 있다. 도시된 예들처럼, 상기 제1 페이지는 페이지(116)에 대응할 수 있고, 그리고 상기 워드 라인은 워드 라인(106)에 대응할 수 있다.
방법(300)은, 304에서, 제1 페이지의 데이터 값들을 분리하는 상태 분리를 증가시키도록 상기 워드 라인의 제1 저장 소자들을 선택적으로 프로그래밍하는 것을 더 포함할 수 있다. 상기 제1 저장 소자들은, 상기 워드 라인에서 제2 페이지를 프로그래밍하는 동안, 데이터 저장 디바이스(102)에서 전력 강하에 응답하여 선택적으로 프로그래밍될 수 있다. 상기 제2 페이지는 페이지(117)에 대응할 수 있고, 상기 상태 동작은 상기 상태 분리(234)에 대응할 수 있다. 특정 예시적인 실시예에서, 제어기(138)는, 증가된 전압 제어 게이트 LM-상태 식별(VCG-AVI) 파라미터를 사용하여 상기 제1 페이지를 프로그래밍하도록 비-휘발성 메모리(104)에 지시하는 하나 이상의 명령들을 발행함으로써(예를 들어, 증가된 식별 전압을 사용하여 페이지(116)의 프로그래밍을 식별하도록 명령을 발행함으로써) 상기 분리 상태를 증가시킨다.
추가의 설명을 위해, 특정 실시예에서, 제2 저장 소자들은, 가장 낮은 임계 전압 상태 또는 두번째로 낮은 임계 전압 상태로 프로그래밍되게 선택되는 저장 소자들에 대응한다. 도시된 예들처럼, 상기 가장 낮은 임계 전압 상태는 분포(218)에 대응할 수 있고, 그리고 상기 두번째로 낮은 임계 전압 상태는 분포(220)에 대응할 수 있다. 상기 제1 저장 소자들은, 두번째로 높은 임계 전압 상태 또는 가장 높은 임계 전압 상태로 프로그래밍되도록 선택되는 저장 소자들에 대응할 수 있다. 도시된 예들처럼, 상기 가장 높은 임계 전압 상태는 분포(224)에 대응할 수 있고 그리고 상기 두번째로 높은 임계 전압 상태는 분포(222)에 대응할 수 있다.
도 3의 방법(300)은, 전력 강하에 응답하여 페이지의 데이터 값들을 분리하는 상태 분리를 증가시킬 수 있다. 예를 들어, 상기 페이지의 서로 다른 비트 값들을 나타내는 분포들 사이의 오버랩은 상기 방법(300)을 사용하여 감소되거나 피할 수 있다. 그에 따라, 상기 방법(300)은, 상기 페이지의 데이터 값들의 복구를 가능하게 할 수 있어, 성능을 향상시키고 그리고 데이터 저장 디바이스(102)와 같은 데이터 저장 디바이스에서의 데이터 손실을 감소시키거나 또는 피하게 할 수 있다.
도 4를 참조하여, 방법의 특정 예시적인 실시예가 도시되고 일반적으로 표기된다. 방법(400)은, 예를 들어, 비-휘발성 메모리(104)에 의해, 제어기(138)에 의해, 또는 이것들의 조합으로, 데이터 저장 디바이스(102)에서 수행될 수 있다.
방법(400)은, 402에서, 데이터 저장 디바이스(102)와 같은 데이터 저장 디바이스의 전력 단자에서 전력 공급 전압을 수신하는 것을 포함한다. 도시된 예들처럼, 상기 전력 공급 전압은 전력 공급 전압(132)에 대응할 수 있고, 그리고 상기 전력 단자는 전력 단자(128)에 대응할 수 있다.
상기 방법(400)은, 404에서, 비-휘발성 메모리(104)와 같은 비-휘발성 메모리의 워드 라인의 제1 페이지를 프로그래밍하는 것을 더 포함할 수 있다. 도시된 예들처럼, 상기 워드 라인은 워드 라인(106)에 대응할 수 있고, 그리고 상기 제1 페이지는 상기 페이지(116)에 대응할 수 있다. 상기 제1 페이지는, 멀티-레벨 셀(MLC) 프로그래밍 기법의 멀티-스테이지 쓰기 프로세스에 관련되어 프로그래밍될 수 있다. 예를 들어, 페이지(116)는, 제어기(138)에 의해 비-휘발성 메모리(104)에 전송된 다수의 쓰기 명령들에 기초하여 상기 워드 라인(116)을 타겟으로 하는 다수의 쓰기 동작들 동안 프로그래밍될 수 있다. 페이지(116)는, 상기 다수의 쓰기 명령들의 제1 쓰기 명령에 응답하여 프로그래밍될 수 있다.
상기 방법(400)은, 406에서, 상기 워드 라인에서 제2 페이지의 프로그래밍을 개시하는 것을 또한 포함할 수 있다. 예를 들어, 상기 제어기(138)는, 워드 라인(106)에서 페이지(117)를 쓰기 위해 제2 명령을 비-휘발성 메모리(104)에 전송할 수 있다. 상기 비-휘발성 메모리(104)는 상기 워드 라인(106)에서 페이지(117)를 쓰기를 시작할 수 있다.
상기 방법(400)은, 전력 강하가 발생했는지 여부를 결정하는 것을 포함할 수 있다. 예를 들어, 408에서, 전력 공급 전압이 제1 임계치보다 적은지 여부에 대한 결정이 행해질 수 있다. 상기 전력 공급 전압이, 전력 공급 전압(132)에 (또는 전압 검출기(120) 또는 전압 검출기(142)에 의해 검출되는 전력 또는 전압에) 대응할 수 있다. 상기 제1 임계치는, 전력 오프 이벤트가 발생할 가능성이 있음을 나타내는 상기 전력 공급 전압의 전압 레벨에 대응할 수 있다. 도시된 구성에서, 사용되는 특정 임계치는 특정 애플리케이션에 의존하지만, 상기 제1 임계치는, 상기 전력 공급 전압의 정규 또는 예측되는 동작 범위(예를 들어, 도시된 예들처럼, 3.3 볼트에서 2.9 볼트 이하까지의 전력 강하, 또는 2.8 볼트에서 2.4 볼트까지의 전력 강하)의 대략 85 내지 90 퍼센트이다. 상기 전력 강하는, 전압 검출기(120), 전압 검출기(142) 또는 데이터 저장 디바이스(102)의 다른 전압 검출기에 의해 검출될 수 있다. 어떤 전력 강하도 검출되지 않으면, 그때 상기 제2 페이지의 프로그래밍은, 410에서 완료될 수 있다.
전력 강하가 검출되면, 상기 방법(400)은 또한, 412에서, 제1 페이지의 제1 데이터 값을 저장하기 위해 선택되는 워드 라인의 제1 저장 소자들 및 제1 페이지의 제2 데이터 값을 저장하기 위해 선택되는 워드 라인의 제2 저장 소자들을 결정하는 것을 더 포함한다. 예를 들어, 상기 제1 저장 소자들은, 제1 페이지의 "0" 데이터 값을 저장하기 위해 선택되는 워드 라인의 저장 소자들, 예를 들어, 분포(214)에 대응하는 워드 라인의 저장 소자들을 포함할 수 있다. 상기 제2 저장 소자들은, 제1 페이지의 "1" 데이터 값을 저장하기 위해 선택되는 워드 라인의 저장 소자들, 예를 들어, 분포(210, 212)에 대응하는 워드 라인의 저장 소자들을 포함할 수 있다.
상기 방법(400)은, 414에서, 제1 데이터 값들 및 제2 데이터 값들을 분리하는 상태 분리를 증가시키도록 제2 저장 소자들의 프로그래밍을 금지하는 것을 더 포함할 수 있다. 상기 상태 분리는, 상기 상태 동작(234)에 대응할 수 있다.
상기 방법(400)은, 416에서, 상기 데이터 저장 디바이스(102)의 프로그래밍 신호를 조정하는 것을 더 포함할 수 있다. 예를 들어, 상기 프로그래밍 신호 조정기(148)는, 상기 프로그래밍 신호의 프로그래밍 펄스들의 수를 증가시킴으로써, 상기 프로그래밍 펄스들 중 하나 이상의 크기를 증가시킴으로써, 상기 프로그래밍 펄스들 중 하나 이상의 지속시간을 감소시킴으로써, 또는 이들의 조합에 의해 상기 프로그래밍 신호를 조정할 수 있다. 대안으로 또는 추가로, 상기 백업 파워 소스(154)로부터의 백업 파워는, 예를 들어, 상기 프로그래밍 펄스들의 크기를 증가시키기 위해, 상기 프로그래밍 신호 조정기(148)에 제공될 수 있다.
상기 방법(400)은, 418에서, 상태 분리를 증가시키기 위해 상기 조정된 프로그래밍 신호를 사용하여 상기 워드 라인의 제1 저장 소자들을 선택적으로 프로그래밍하는 것을 더 포함할 수 있다. 특정 실시예에서, 상기 저장 소자들은, 식별 신호를 사용함 없이 프로그래밍될 수 있다(예를 들어, 상기 워드 라인에서의 식별 신호의 사용은 상기 전력 강하에 응답하여 일시적으로 중단될 수 있다). 추가의 설명을 위해, 일부 환경들에서, "B" 상태 임계 전압을 저장하도록 선택되는 저장 소자는, 상기 상태 분리를 증가시킨 결과로서 더 큰 임계 전압(예를 들어, "C" 상태 임계 전압)을 저장할 수 있다.
상기 방법(400)은, 420에서, 전력 공급 전압이 제2 임계치보다 낮다고 검출하는 것에 응답하여, 제1 저장 소자들의 프로그래밍을 종료하는 것을 더 포함할 수 있다. 상기 제2 임계치는 상기 제1 임계치보다 낮다. 상기 전력 공급 전압이 상기 제2 임계치보다 낮다고 검출하는 것은, 전압 검출기(120)에 의해 또는 도 1을 참조하여 서술되는 제2 임계치 검출기와 같은 상기 데이터 저장 디바이스(102)의 다른 전압 검출기에 의해 수행될 수 있다. 상기 제2 임계치는, 데이터가 더 이상 비-휘발성 메모리(104)에 안전하게 쓰여질 수 없는 전력 공급 전압의 전압 레벨에 대응할 수 있다.
상기 방법(400)은, 422에서, 파워-업 이벤트 후에 상기 워드 라인에서 상기 제1 페이지를 액세스하는 것을 더 포함할 수 있다. 상기 상태 분리는 상기 제1 페이지의 복원을 가능하게 한다. 특정한 예로서, 상기 임계 전압들(236, 238) 사이에 존재하는 판독 임계치를 사용하여 상기 워드 라인이 감지되면, 그때, 상기 판독 임계치보다 작은 임계치 전압으로 프로그래밍되는 워드 라인의 저장 소자들은, 제1 페이지에 관련되는 "1" 데이터 값을 저장하도록 결정될 수 있고, 그리고 상기 판독 임계치보다 더 큰 임계치 전압으로 프로그래밍되는 워드 라인의 저장 소자들은 상기 제1 페이지에 관련되는 "0" 데이터 값을 저장하도록 결정될 수 있다. 상기 판독 임계치는, 셀 전압 분포(CVD) 추적 기법 및/또는 반복적인 비트 에러 레이트(BER) 추정 기법과 같은 적합한 기법을 사용하여 결정될 수 있다. 특정 예시적인 실시예에서, 제어기(138)는, 상기 제2 페이지를 저장하는 상기 데이터 저장 디바이스(102)의 복원 블록에 상기 제1 페이지를 이전(relocate)하도록 구성되고, 상기 제1 페이지 및 상기 제2 페이지는 상기 워드 라인(106)에 다시 쓰여지거나, 상기 비-휘발성 메모리(104)의 다른 워드 라인에 쓰여지거나 또는 이들의 조합이다.
상기 제1 저장 소자들을 프로그래밍하고 그리고 상기 제2 저장 소자들의 프로그래밍을 금지함으로써, 페이지의 데이터 값들을 분리하는 상태 분리는 증가될 수 있다. 그에 따라, 상기 페이지는, 상기 페이지의 비트들을 백업하지 않고 그리고 "중간(intermediate)" 쓰기 스테이지를 사용하지 않으면서 상기 데이터 저장 디바이스(102)의 파워-업 시 복구될 수 있다.
여기에 서술되는 하나 이상의 컴포넌트들이 블록 컴포넌트들로서 도시되고 그리고 일반적인 용어들로 서술되지만, 그와 같은 컴포넌트들은, 하나 이상의 마이크로프로세서들, 상태 머신들 또는 다른 회로들을 포함할 수 있고, 이러한 다른 회로는 제어기(138) 및 비-휘발성 메모리(104)(또는 이들의 하나 이상의 컴포넌트들)가 여기에서 서술되는 동작들을 수행할 수 있도록 구성된다. 예를 들어, 여기에서 서술되는 하나 이상의 컴포넌트들은, 상기 제어기(138)가 여기에서 서술되는 하나 이상의 동작들을 수행하도록, 하나 이상의 물리적 컴포넌트들, 예를 들어, 하드웨어 제어기들, 상태 머신들, 로직 회로들, 하나 이상의 다른 구조들 또는 이들의 조합들에 대응할 수 있다. 제어기(138)의 하나 이상의 양상들은, 여기에서 서술되는 동작들, 예를 들어, 상기 방법들(300, 400)에 대응하는 하나 이상의 동작들을 수행하도록 프로그래밍되는 마이크로프로세서 또는 마이크로제어기를 사용하여 구현될 수 있다. 특정 실시예에서, 제어기(138)는, 비-휘발성 메모리(104)에 저장되는 프로세서 실행 명령어들을 포함한다. 대안으로 또는 추가로, 상기 프로세서에 의해 실행되는 실행가능한 명령어들은, 상기 비-휘발성 메모리(104)에 포함되지 않는 개별 메모리 위치, 예를 들어, 상기 비-휘발성 메모리(104) 외부에 있는 판독-전용 메모리(ROM)에 저장될 수 있다.
특정하게 설명되는 예로서, 제어기(138)는, I/O 부분(122) 및 호스트 인터페이스(140)를 통해 상기 호스트 디바이스(136)로부터 데이터(152)를 수신할 수 있다. 상기 제어기(138)는 상기 비-휘발성 메모리(104)에 데이터(152)를 쓰기 위해 명령어를 수신할 수 있다. 상기 제어기(138)는 I/O 부분(122) 및 호스트 인터페이스(140)를 통해 상기 호스트 디바이스(136)로부터 명령어를 수신할 수 있다. 상기 제어기(138)는, 상기 ECC 엔진(146)으로 하여금 하나 이상의 ECC 코드워드들을 발생시키도록 상기 데이터(152)를 상기 ECC 엔진(146)에 전송할 수 있고, 이러한 ECC 코드워드들은 페이지들(116, 117)에 대응할 수 있다. 상기 ECC 엔진(146)은 페이지들(116, 117)을 출력할 수 있고, 그리고 상기 제어기(138)는, 예를 들어, 버스 및/또는 하나 이상의 다른 구조들을 통해 상기 비-휘발성 메모리(104)에 제1 쓰기 명령어를 전송할 수 있다. 상기 제1 쓰기 명령어는 상기 워드 라인(106)의 어드레스를 포함할 수 있다.
상기 쓰기 명령어에 응답하여, 상기 비-휘발성 메모리(104)는, 상기 워드 라인(106)에 상기 페이지(116)를 쓸 수 있고, 그리고 상기 제어기(138)에 상기 페이지(116)가 상기 워드 라인(106)에 성공적으로 저장되었음을 나타내는 확인 메시지 또는 다른 신호를 전송할 수 있다. 상기 확인 메시지 또는 다른 신호에 응답하여, 상기 제어기(138)는, 상기 페이지(117) 및 제2 쓰기 명령어를 상기 비-휘발성 메모리(104)에 전송할 수 있다. 상기 제2 쓰기 명령어는 워드 라인(106)의 어드레스를 포함할 수 있다. 상기 제2 쓰기 명령어에 응답하여, 상기 비-휘발성 메모리(104)는 상기 워드 라인(106)에서 상기 페이지(117)를 쓰는 것을 개시할 수 있다. 상기 페이지(117)가 상기 워드 라인(106)에 쓰여지는 동안, 전력 강하가 (예를 들어, 전압 검출기들(120, 142) 중 하나에 의해) 검출되면, 명령어 또는 다른 신호는 상기 비-휘발성 메모리(104)로 하여금 페이지(116)의 데이터 값들을 분리하는 상태 분리를 증가시키도록 발행될 수 있다. 제1 예에 따라, 상기 전력 강하를 검출하는 것에 응답하여, 상기 전압 검출기(120)는, 상기 비-휘발성 메모리(104)로 하여금 상기 상태 분리를 증가시키도록 하는 신호를 전송한다. 제2 예에 따라, 상기 제어기(138)는, 전압 검출기(142)가 상기 전력 강하를 검출하는 것에 응답하여 범용 쓰기 방지 명령을 상기 비-휘발성 메모리(104)에 전송한다. 제3 예에 따라, 제어기(138)는, 전압 검출기(142)가 상기 전력 강하를 검출하는 것에 응답하여, 전용 명령(150)을 비-휘발성 메모리(104)에 전송한다. 이전의 예시적인 동작은 설명의 목적을 위해 제공되고 본 발명의 범위를 제한하도록 의도되지 않음을 알아야 한다.
특정 실시예에서, 데이터 저장 디바이스(102)는, 호스트 통신 디바이스의 하우징 내에서와 같은, 하나 이상의 호스트 디바이스들 내에 부착되거나 또는 임베딩될 수 있고, 이러한 호스트 통신 디바이스는 호스트 디바이스(136)에 대응할 수 있다. 예를 들어, 상기 데이터 저장 디바이스(102)는, 무선 전화, PDA, 게임 디바이스 또는 콘솔, 휴대용 내비게이션 디바이스 또는 내부의 비-휘발성 메모리를 사용하는 다른 디바이스와 같은 패키징된 장치 내에 통합될 수 있다. 하지만, 다른 실시예들에서, 상기 데이터 저장 디바이스(102)는, 호스트 디바이스(136)와 같은 하나 이상의 외부 디바이스들에 선택적으로 결합되도록 구성된 휴대용 디바이스로 구현될 수 있다. 특정 실시예에서, 데이터 저장 디바이스(102)는, 비-휘발성 메모리, 예를 들어, 3차원(3D) 메모리, 플래시 메모리(예를 들어, NAND 메모리, NOR 메모리, MLC 메모리, 분할된 비트-라인 NOR(DINOR) 메모리, AND 메모리, 고 용량성 결합 비(HiCR) 디바이스, 비 대칭적인 비접촉 트랜지스터(ATC) 디바이스, 또는 하나 이상의 다른 플래시 메모리들), 삭제가능한 프로그램가능 판독-전용 메모리(EPROM), 전기적으로 삭제가능한 프로그램가능 판독-전용 메모리(EEPROM), 판독-전용 메모리(ROM), 1회 프로그램가능 메모리(OTP) 또는 다른 타입의 메모리를 포함할 수 있다.
여기에서 서술되는 실시예들의 설명들은 여러 실시예들의 일반적인 이해들을 제공하도록 의도된다. 다른 실시예들이 사용될 수 있고 본 발명으로부터 도출될 수 있어, 구조적이고 논리적인 치환들 및 변화들은 본 발명의 범위로부터 벗어나지 않고 행해질 수 있다. 본 발명은 여러 실시예들의 어떤 그리고 모든 후속의 적용들 및 변화들을 커버하도록 의도된다. 통상의 기술자는, 그와 같은 수정들이 본 발명의 범위 내에 있다는 것을 인식할 수 있을 것이다.
상기에서 개시된 주제는 예시적이고 제한적이 아닌 것으로 의도되고, 그리고 첨부된 청구범위들은, 본 발명의 범위 내에 존재하는 모든 그와 같은 수정들, 개선들 및 다른 실시예들을 커버하도록 의도된다. 따라서, 법에서 허용되는 최대한의 범위까지, 본 발명의 범위는 하기의 청구 범위들과 청구범위의 균등물의 가장 넓게 허용가능한 해석에 의해 결정되고 그리고 상기의 상세한 설명에 의해 제한되거나 한정되지 않을 것이다.

Claims (20)

  1. 방법으로서,
    비-휘발성 메모리를 포함하는 데이터 저장 디바이스에서,
    상기 비-휘발성 메모리의 워드 라인에서 제1 페이지를 프로그래밍하는 것을 수행하는 단계와; 그리고
    상기 워드 라인에서 제2 페이지를 프로그래밍하는 동안, 상기 데이터 저장 디바이스에서 전력 강하(power drop)에 응답하여, 상기 제1 페이지의 데이터 값들을 분리하는 상태 분리(state seperation)를 증가시키도록 상기 워드 라인의 제1 저장 소자들을 선택적으로 프로그래밍하는 것을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 제1 저장 소자들은 상기 데이터 값들 중 제1 데이터 값을 저장하기 위해 선택되고,
    상기 전력 강하에 응답하여, 상기 데이터 값들 중 제2 데이터 값을 저장하기 위해 선택되는 상기 워드 라인의 제2 저장 소자들을 결정하는 단계와; 그리고
    상기 상태 분리를 증가시키기 위해 상기 제2 저장 소자들의 프로그래밍을 금지하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 제2 저장 소자들은, 가장 낮은 임계 전압 상태로 또는 두번째로 가장 낮은 임계 전압 상태로 프로그래밍되도록 각각 선택되고, 그리고 상기 제1 저장 소자들은, 두번째로 가장 높은 임계 전압 상태로 또는 가장 높은 임계 전압 상태로 프로그래밍되도록 각각 선택되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 워드 라인은 멀티-레벨 셀(MLC) 구성을 가지고, 상기 제1 페이지는 하위 페이지에 대응하고, 그리고 상기 상태 분리는 상기 데이터 값들의 제2 데이터 값으로부터 상기 데이터 값들 중 제1 데이터 값을 구별하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 비-휘발성 메모리는 전압 검출기를 포함하고 그리고 상기 전력 강하는 상기 전압 검출기에 의해 검출되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 데이터 저장 디바이스는 상기 비-휘발성 메모리에 연결되는 제어기를 더 포함하고, 상기 제어기는 전압 검출기를 포함하고 그리고 상기 전력 강하는 상기 전압 검출기에 의해 검출되는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 비-휘발성 메모리로 하여금 상기 상태 분리를 증가시키도록 하는 상기 전력 강하를 검출하는 것에 응답하여, 상기 제어기에 의해, 쓰기 방지 신호를 상기 비-휘발성 메모리에 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제6항에 있어서,
    상기 전력 강하를 검출하는 것에 응답하여, 상기 제어기에 의해, 전용 명령(dedicated command)을 상기 비-휘발성 메모리로 전송하는 단계를 더 포함하고, 상기 전용 명령은 상기 비-휘발성 메모리로 하여금 상기 상태 분리를 증가시키도록 하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 전력 강하에 응답하여 프로그래밍 신호를 조정하는 단계를 더 포함하고, 상기 제1 저장 소자들은 상기 조정된 프로그래밍 신호를 사용하여 선택적으로 프로그래밍되는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 프로그래밍 신호는, 상기 프로그래밍 신호의 프로그래밍 펄스들의 수를 수정하고, 상기 프로그래밍 펄스들의 크기를 수정하고, 상기 프로그래밍 펄스들의 지속시간(duration)을 수정하거나 또는 이들의 조합에 의해 조정되는 것을 특징으로 하는 방법.
  11. 제9항에 있어서,
    상기 데이터 저장 디바이스는 백업 파워 소스(backup power source)를 포함하고, 그리고 상기 조정되는 프로그래밍 신호는 상기 백업 파워 소스를 사용하여 전력을 얻는 것을 특징으로 하는 방법.
  12. 제9항에 있어서,
    상기 전력 강하에 응답하여, 상기 제1 저장 소자들은 식별 신호를 사용하지 않고 프로그래밍되는 것을 특징으로 하는 방법.
  13. 제1항에 있어서,
    상기 전력 강하는 파워-오프 이벤트(power-off event)에 대응하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 전력 강하에 후속하는(following) 파워-업 이벤트 이후에, 상기 워드 라인에서 상기 제1 페이지를 액세스하는 단계를 더 포함하고, 상기 상태 분리는 상기 제1 페이지의 복원을 가능하게 하는 것을 특징으로 하는 방법.
  15. 데이터 저장 디바이스로서,
    제어기와; 그리고
    상기 제어기에 연결되는 비-휘발성 메모리를 포함하고,
    상기 비-휘발성 메모리는 워드 라인을 포함하고,
    상기 비-휘발성 메모리는, 상기 워드 라인에서 제2 페이지를 프로그래밍하는 동안 전력 강하에 응답하여, 상기 워드 라인에서 제1 페이지의 데이터 값들을 분리하는 상태 분리를 증가시키기 위해 상기 워드 라인의 제1 저장 소자들을 선택적으로 프로그래밍하도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  16. 제15항에 있어서,
    전력 단자 - 상기 전력 단자는 전력 공급 전압을 수신하도록 되어 있고 - 와; 그리고
    제1 전압 검출기를 더 포함하고,
    상기 제1 전압 검출기는, 상기 전력 공급 전압이 제1 임계치보다 낮음을 검출함으로써 상기 전력 강하를 검출하도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  17. 제16항에 있어서,
    제2 전압 검출기를 더 포함하고,
    상기 제2 전압 검출기는, 상기 전력 공급 전압이 상기 제1 임계치보다 낮은 제2 임계치보다 낮다고 검출하도록 되어있고, 또한, 상기 비-휘발성 메모리는, 상기 제2 임계치보다 낮은 상기 전력 공급 전압에 응답하여, 상기 워드 라인의 프로그래밍을 종료하도록 되어 있는 것을 특징으로 하는 데이터 저장 디바이스.
  18. 제17항에 있어서,
    상기 비-휘발성 메모리는, 상기 제1 전압 검출기 및 상기 제2 전압 검출기 중 하나 또는 둘 모두를 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  19. 제17항에 있어서,
    상기 제어기는, 상기 제1 전압 검출기 및 상기 제2 전압 검출기 중 하나 또는 둘 모두를 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
  20. 제17항에 있어서,
    상기 비-휘발성 메모리는, 상기 제1 전압 검출기 및 상기 제2 전압 검출기 중 하나를 포함하고, 상기 제어기는 상기 제1 전압 검출기 및 상기 제2 전압 검출기 중 다른 하나를 포함하는 것을 특징으로 하는 데이터 저장 디바이스.
KR1020167013778A 2013-10-24 2014-10-20 데이터 저장 디바이스에 대한 전력 강하 방지 KR101885228B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/062,534 2013-10-24
US14/062,534 US9218851B2 (en) 2013-10-24 2013-10-24 Power drop protection for a data storage device
US14/285,433 US8891301B1 (en) 2013-10-24 2014-05-22 Power drop protection for a data storage device
US14/285,433 2014-05-22
PCT/US2014/061380 WO2015061219A1 (en) 2013-10-24 2014-10-20 Power drop protection for a data storage device

Publications (2)

Publication Number Publication Date
KR20160104617A true KR20160104617A (ko) 2016-09-05
KR101885228B1 KR101885228B1 (ko) 2018-09-10

Family

ID=51870171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167013778A KR101885228B1 (ko) 2013-10-24 2014-10-20 데이터 저장 디바이스에 대한 전력 강하 방지

Country Status (4)

Country Link
US (2) US9218851B2 (ko)
KR (1) KR101885228B1 (ko)
CN (1) CN106062882B (ko)
WO (1) WO2015061219A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200077168A (ko) * 2018-12-20 2020-06-30 삼성전자주식회사 스토리지 장치 및 스토리지 시스템

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3003071B1 (fr) * 2013-03-06 2016-11-11 Inside Secure Memoire comprenant un circuit pour detecter une impulsion transitoire sur une ligne de memoire
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
CN105531768B (zh) * 2013-08-30 2019-12-31 英派尔科技开发有限公司 闪存中功率消耗的减小
FR3041807B1 (fr) 2015-09-24 2017-12-08 Stmicroelectronics Rousset Procede de controle d'un cycle d'ecriture de memoire de type eeprom et dispositif correspondant
JP6652472B2 (ja) * 2016-09-20 2020-02-26 キオクシア株式会社 メモリシステムおよび制御方法
US10048887B2 (en) * 2016-10-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for single level cell caching
KR102660729B1 (ko) 2016-10-28 2024-04-26 삼성전자주식회사 전원 잡음을 검출하는 불휘발성 메모리 장치 및 그것의 동작 방법
CN107886981B (zh) * 2017-11-28 2021-04-27 晶晨半导体(上海)股份有限公司 一种应用于嵌入式系统的掉电处理方法
US10950313B1 (en) * 2019-08-28 2021-03-16 Micron Technology, Inc. Responding to changes in available power supply
US11309032B2 (en) 2019-11-26 2022-04-19 Samsung Electronics Co., Ltd. Operating method of memory system including memory controller and nonvolatile memory device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080144370A1 (en) * 2006-12-14 2008-06-19 Samsung Electronics Co., Ltd. Method of programming multi-level cells and non-volatile memory device including the same
KR20090035988A (ko) * 2007-10-08 2009-04-13 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
US20120268998A1 (en) * 2011-04-25 2012-10-25 Silicon Motion, Inc. Flash Memory Device and Method for Handling Power Failure Thereof
US20130219107A1 (en) * 2012-02-21 2013-08-22 Sandisk Technologies Inc. Write abort recovery through intermediate state shifting

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6822899B1 (en) 2002-12-23 2004-11-23 Cypress Semiconductor Corporation Method of protecting flash memory from data corruption during fast power down events
US7307884B2 (en) * 2004-06-15 2007-12-11 Sandisk Corporation Concurrent programming of non-volatile memory
US7254071B2 (en) 2006-01-12 2007-08-07 Sandisk Corporation Flash memory devices with trimmed analog voltages
US7453734B2 (en) * 2006-11-01 2008-11-18 Macronix International Co., Ltd. Method and apparatus for fast programming of memory
CN102132348B (zh) * 2008-07-01 2015-06-17 Lsi公司 用于闪存存储器中写入端单元间干扰减轻的方法和装置
CN102099865B (zh) 2008-07-22 2014-05-28 Lsi公司 用于在闪存存储器中每信号电平编程多个编程值的方法和装置
KR101617810B1 (ko) 2009-08-24 2016-05-03 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
US8605533B2 (en) * 2009-11-27 2013-12-10 Samsung Electronics Co., Ltd. Apparatus and method for protecting data in flash memory
KR101134240B1 (ko) * 2010-04-29 2012-04-09 주식회사 하이닉스반도체 반도체 메모리 장치의 동작 방법
US8625337B2 (en) 2010-05-06 2014-01-07 Qualcomm Incorporated Method and apparatus of probabilistic programming multi-level memory in cluster states of bi-stable elements
US8565022B2 (en) 2010-07-09 2013-10-22 Hynix Semiconductor Inc. Memory system and method of operating the same
DE102010045581B4 (de) * 2010-09-16 2018-08-09 Infineon Technologies Ag Verfahren und Vorrichtung zum Programmieren von Daten in nicht-flüchtige Speicher

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080144370A1 (en) * 2006-12-14 2008-06-19 Samsung Electronics Co., Ltd. Method of programming multi-level cells and non-volatile memory device including the same
KR20090035988A (ko) * 2007-10-08 2009-04-13 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
US20120268998A1 (en) * 2011-04-25 2012-10-25 Silicon Motion, Inc. Flash Memory Device and Method for Handling Power Failure Thereof
US20130219107A1 (en) * 2012-02-21 2013-08-22 Sandisk Technologies Inc. Write abort recovery through intermediate state shifting

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200077168A (ko) * 2018-12-20 2020-06-30 삼성전자주식회사 스토리지 장치 및 스토리지 시스템
US11080186B2 (en) 2018-12-20 2021-08-03 Samsung Electronics Co., Ltd. Storage device and storage system
US11586538B2 (en) 2018-12-20 2023-02-21 Samsung Electronics Co., Ltd. Storage device and storage system

Also Published As

Publication number Publication date
CN106062882B (zh) 2019-09-17
US8891301B1 (en) 2014-11-18
CN106062882A (zh) 2016-10-26
US20150117098A1 (en) 2015-04-30
US9218851B2 (en) 2015-12-22
WO2015061219A1 (en) 2015-04-30
KR101885228B1 (ko) 2018-09-10

Similar Documents

Publication Publication Date Title
KR101885228B1 (ko) 데이터 저장 디바이스에 대한 전력 강하 방지
KR101369444B1 (ko) 정정 불가능한 에러를 해결하는 하이브리드 에러 정정 코딩
US9229806B2 (en) Block closure techniques for a data storage device
US9165670B2 (en) Data retention detection techniques for a data storage device
US9043678B2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
US9362003B2 (en) System and method to decode data subject to a disturb condition
US9135105B2 (en) Probability-based remedial action for read disturb effects
US9229801B2 (en) Method and device for write abort protection
KR102571747B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
WO2015047688A1 (en) Updating read voltages
US9165667B2 (en) Electronic device with solid state drive and associated control method
US8982617B1 (en) Block closure techniques for a data storage device
US20140082406A1 (en) Data protection through power loss prediction
US10650901B2 (en) Electronic device, non-transitory computer-readable storage medium, and method of controlling electronic device
US9384125B2 (en) Method for accessing flash memory having pages used for data backup and associated memory device
US20160179596A1 (en) Operating method of data storage device
US11914876B2 (en) Asynchronous power loss handling approach for a memory sub-system
KR20200109682A (ko) 메모리 시스템, 메모리 장치 및 그 동작 방법
WO2013122725A1 (en) System and method of sending correction data to a buffer of a non-volatile memory
US11023316B2 (en) DRAM-based storage device and associated data processing method
KR20230106020A (ko) 메모리 시스템 및 그것의 동작 방법
CN113050885A (zh) 用于存储器子系统的异步功率损耗处置方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant