KR102608610B1 - 복수의 페이즈들에서 메모리 디바이스의 기능들을 인에이블함 - Google Patents

복수의 페이즈들에서 메모리 디바이스의 기능들을 인에이블함 Download PDF

Info

Publication number
KR102608610B1
KR102608610B1 KR1020197014106A KR20197014106A KR102608610B1 KR 102608610 B1 KR102608610 B1 KR 102608610B1 KR 1020197014106 A KR1020197014106 A KR 1020197014106A KR 20197014106 A KR20197014106 A KR 20197014106A KR 102608610 B1 KR102608610 B1 KR 102608610B1
Authority
KR
South Korea
Prior art keywords
volatile memory
memory device
predetermined level
charged
power
Prior art date
Application number
KR1020197014106A
Other languages
English (en)
Other versions
KR20190092384A (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 KR20190092384A publication Critical patent/KR20190092384A/ko
Application granted granted Critical
Publication of KR102608610B1 publication Critical patent/KR102608610B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/148Details of power up or power down circuits, standby circuits or recovery circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

비-휘발성 메모리, 비-휘발성 메모리에 연결되는 에너지 저장소, 및, 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되는 것에 응답하여, 비-휘발성 메모리에 전력을 투입하고 비-휘발성 메모리에 대한 판독 액세스를 제공하도록 구성 가능한 전력 관리 모듈을 포함하는 메모리 디바이스가 제공된다. 이러한 메모리 디바이스를 포함하는 계산 디바이스가 또한 제공된다. 메모리 디바이스의 비-휘발성 메모리에 연결되는 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되는 방법이 또한 제공된다. 에너지 저장소를 적어도 제1 미리 결정된 레벨로 충전하는 것에 응답하여, 비-휘발성 메모리에 전력이 투입되고 비-휘발성 메모리에 대한 판독 액세스가 제공된다.

Description

복수의 페이즈들에서 메모리 디바이스의 기능들을 인에이블함
SSD(solid state drive)는 데이터를 영구적으로 저장하기 위해 집적 회로 어셈블리들을 비-휘발성 메모리로서 사용하는 데이터 스토리지 디바이스이다. SSD는, 개인용 컴퓨터 또는 서버와 같은, 호스트 컴퓨팅 시스템에 연결될 수 있고, 여기서 호스트 컴퓨팅 시스템은 SSD 상에서 I/O(input/output) 동작들을 수행하고, 여기서 I/O 동작들은 SSD에 데이터를 기입하는 것 및 SSD로부터 데이터를 판독하는 것을 포함할 수 있다.
호스트 컴퓨팅 시스템은 SSD에 전력을 제공하고, SSD는 정전을 겪을 수 있는데 그 이유는 호스트 컴퓨팅 시스템이 SSD에 전력을 제공하는데 실패했을 수 있기 때문이다. SSD에서의 정전의 경우에, 커패시터와 같은, 백업 에너지 저장소는, SSD의 완전한 셧다운 이전에, SSD의 비-휘발성 메모리에 인-플라이트 데이터를 지속적으로 저장하는 것에 의해 SSD가 인-플라이트 데이터를 저장하는 것을 허용할 수 있고, 여기서 인-플라이트 데이터는 SSD에서의 정전의 시간에 SSD의 비-휘발성 메모리에 커밋되지 않은 기입들을 포함할 수 있다.
이제, 전반적으로 유사 참조 번호들이 대응하는 부분들을 표현하는 도면들을 참조하면:
도 1은 메모리 디바이스의 전력 투입(powering up) 및 전력 손실 핸들링(power loss handling)을 위한 동작들을 도시하는 도면을 도시한다.
도 2는, 특정 실시예들에 따른, 메모리 디바이스의 기능들이 복수의 페이즈들에서 인에이블되는 메모리 디바이스를 도시하는 블록도를 도시한다.
도 3은, 특정 실시예들에 따른, 전력 손실 핸들러의 동작의 다양한 모드들을 도시하는 블록도를 도시한다.
도 4는, 특정 실시예들에 따른, 메모리 디바이스의 기능들이 복수의 페이즈들에서 어떻게 인에이블되는지 도시하는 흐름도를 도시한다.
도 5는, 특정 실시예들에 따른, 메모리 디바이스의 기능들이 복수의 페이즈들, 및 전력 손실 핸들러의 동작의 다양한 모드들에서 어떻게 인에이블되는지 도시하는 흐름도를 도시한다.
도 6은, 특정 실시예들에 따른, 비-휘발성 메모리로 구성되는 메모리 디바이스를 포함하는 계산 디바이스를 포함하는 시스템의 블록도를 도시한다.
다음 설명에서는, 본 명세서의 부분을 형성하고 여러 실시예들을 도시하는 첨부 도면들에 대한 참조가 이루어진다. 다른 실시예들이 이용될 수 있으며, 구조 및 동작 변경들이 이루어질 수 있다는 점이 이해된다.
도 1은 메모리 디바이스의 전력 투입 및 전력 손실 핸들링을 위한 동작들을 도시하는 도면(100)을 도시한다. 메모리 디바이스(102)는 메모리 디바이스(102)의 전력 투입을 제어하고 또한 메모리 디바이스(102)에서의 전력 손실 경우를 또한 핸들링하는 전력 관리 모듈(104)로 구성될 수 있다. 메모리 디바이스(102)에 대한 전력의 손실의 경우에, 전력 관리 모듈(104)은 커패시터(108)에 저장되는 전하로부터 비-휘발성 메모리(106)에 전력을 공급할 수 있다.
(참조 번호 110을 통해 도시되는 바와 같이) 메모리 디바이스의 전력 투입 동안, (블록 112에서) 전력이 메모리 디바이스(102)에 인가되고, (블록 114에서) 커패시터(108)는 완전 충전된다. 일단 커패시터(108)가 완전히 충전되면, 비-휘발성 메모리(106)가 전력 투입 및 구성되어, (블록 116에서) 판독 및 기입 동작들이 비-휘발성 메모리(106)에 관하여 수행될 수 있다.
(참조 번호 118을 통해 도시되는 바와 같은) 메모리 디바이스에서의 전력 손실 핸들링 동안, (블록 120에서) 전력 손실이 메모리 디바이스(102)에서 발생했다고 결정하는 것에 응답하여, (블록 122에서) 완전히 충전된 커패시터(108)에 저장된 전하는 비-휘발성 메모리(106)의 셧다운 이전에 비-휘발성 메모리(106)에서 인-플라이트 데이터를 기입하기 위해 비-휘발성 메모리(106)에 전력을 송신하는데 사용된다. "인-플라이트 데이터(in-flight data)"는 호스트 컴퓨팅 시스템으로부터 메모리 디바이스(102)에 전송되는 기입들을 지칭하며, 여기서 기입들은 메모리 디바이스(102)의 비-휘발성 메모리(106)에 아직 커밋되지 않았다. "인-플라이트 데이터(in-flight data)"는 진행 중인 그리고 그 결과 아직 완전하지 않은 임의의 기입을 또한 지칭한다. 추가적으로, "인-플라이트 데이터(in-flight data)"는 휘발성 메모리에 일시적으로 버퍼링된 또는 캐싱된, 호스트 컴퓨팅 시스템에 다시 기입되었지만, 메모리 디바이스(102)의 비-휘발성 메모리(106)에 아직 커밋되지 않은 것으로 확인 응답된 데이터를 또한 지칭할 수 있다. "인-플라이트 데이터(in-flight data)"는 메모리 디바이스(102)의 휘발성 메모리에 저장되는 데이터 관리 구조들을 또한 포함할 수 있다. "인-플라이트 데이터(in-flight data)"는 "data in flight" 또는 "writes in flight"라고 또한 지칭될 수 있다.
메모리 디바이스(102)의 전력 투입 동안 커패시터(108)를 완전히 충전하는 동작은 상당한 양의 시간을 취하고, 이러한 시간 동안 비-휘발성 메모리(106)는 사용될 수 없다. 도 2 내지 도 6에 설명되는 특정 실시예들은, 커패시터(108)를 완전히 충전하지 않고 메모리 디바이스(102)의 비-휘발성 메모리(106)를 사용하고, 한편 동일한 시간에 메모리 디바이스(102)에서의 전력 손실 핸들링을 수행하는 메커니즘들을 제공한다. 이러한 실시예들은 메모리 디바이스(102)의 비-휘발성 메모리(106)가 메모리 디바이스(102)의 전력 투입 동안 훨씬 더 일찍 사용되는 것을 허용한다.
도 2는, 특정 실시예들에 따른, 복수의 페이즈들에서 메모리 디바이스(200)의 기능들이 인에이블되는, 호스트(202)에 연결되는 메모리 디바이스(200)를 도시하는 블록도를 도시한다. 메모리 디바이스(200)는 메모리 보드, SSD, 또는 비-휘발성 메모리(204)를 포함하는 임의의 다른 디바이스를 포함할 수 있다. 특정 실시예들에서, 비-휘발성 메모리(204)는 하나 이상의 비-휘발성 메모리 칩(206, 208)으로 구성될 수 있다. 호스트(202) 또는 일부 다른 디바이스에 의해 제공되는 전력의 손실의 경우에, 임의의 인-플라이트 데이터가 존재하면 인-플라이트 데이터가 보존될 필요가 있는 비-휘발성 메모리(204)를 메모리 디바이스(200)가 포함하는 한, 메모리 디바이스(200)의 다른 구성들이 대안적인 실시예들에서 가능하다.
다양한 실시예들이 SSD에 관하여 설명되더라도, 실시예들은 비-휘발성 메모리를 포함하는 임의의 메모리 디바이스에 적용될 수 있다. 일 실시예에서, 메모리 디바이스는, NAND 또는 NOR 기술들에 기초하는 것들과 같은, 블록 어드레싱 가능 메모리 디바이스이다. 메모리 디바이스는, 3차원 크로스포인트 메모리 디바이스, 또는 다른 바이트 어드레싱 가능 라이트-인-플레이스(write-in-place) 비-휘발성 메모리 디바이스들과 같은, 미래 세대 비-휘발성 디바이스들을 또한 포함할 수 있다. 일 실시예에서, 메모리 디바이스는 칼코게나이드 유리, 멀티-임계 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 멀티-레벨 PCM(Phase Change Memory), 저항성 메모리, 나노와이어 메모리, FeTRAM(transistor random access memory), 멤리스터 기술을 포함하는 MRAM(magnetoresistive random access memory) 메모리, 또는 STT(spin transfer torque)-MRAM, 스핀트로닉 자기 접합 메모리 기반 디바이스, 또는 위의 것 중 임의의 것의 조합, 또는 다른 메모리를 사용하는 메모리 디바이스들일 수 있거나, 또는 이들을 포함할 수 있다. 메모리 디바이스는 다이 자체 및/또는 패키징된 메모리 제품을 지칭할 수 있다.
특정 실시예들에서, 호스트(202)는 계산 디바이스(예를 들어, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿, 셀 폰, 프로세서, 서버, 디스크 어레이, 또는 임의의 다른 적합한 계산 디바이스) 일 수 있고, 메모리 디바이스(200)는 호스트(202) 내부에 포함될 수 있거나 또는 그 외부에 위치될 수 있다.
메모리 디바이스(200)는 호스트(202)로부터 메모리 디바이스(200)에 전력을 공급하는 전력 라인(212)에 배치되는 스위치(210)를 포함한다. 전력 라인(212)은 호스트(202)로부터 스위치(210)에 전력을 송신하는 입력 전력 레일(218) 및 스위치(210)로부터 비-휘발성 메모리(204)에 전력을 송신하는 하나 이상의 소스 전력 레일(220)로 구성된다. 입력 전력 레일(218), 전력 라인(212), 및 소스 전력 레일(220)의 단일 인스턴스가 존재할 수 있거나, 또는 입력 전력 레일들, 전력 라인들, 및 소스 전력 레일들의 하나 이상의 인스턴스들이 존재할 수 있다(예를 들어, 특정 실시예들에서, 복수의 입력 전력 레일들이 복수의 소스 전력 레일들을 공급할 수 있음). 비-휘발성 메모리(204)의 복수의 비-휘발성 메모리 칩들(206, 208)이 상이한 전압들을 사용하는 특정 실시예들에서, 복수의 소스 전력 레일들(220)은 상이한 전압들을 제공할 수 있다.
호스트(202)로부터 전력이 손실되면, 메모리 디바이스(200)의 전력 관리 모듈(214)은 비-휘발성 메모리(204)에 백업 전력을 공급하는데 메모리 디바이스(200)에 포함되는 에너지 저장소(216)(특히, 전하를 저장하는 커패시터)를 사용할 수 있어, 존재하는 임의의 인-플라이트 데이터가 메모리 디바이스(200)의 제어된 셧다운을 통해 기입된다. 에너지 저장소(216)는 비-휘발성 메모리(204)의 입력 전력 모듈(217)을 통해 비-휘발성 메모리(204)에 연결된다. 전력 관리 모듈(214)은 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 전력 관리 모듈(214)은 전력 투입 애플리케이션(222) 및 전력 손실 핸들러(224)를 포함할 수 있다. 전력 투입 애플리케이션(222)은 입력 전력 레일(218)을 통해 호스트(202)로부터 메모리 디바이스(200)에 전력이 복원된 이후 메모리 디바이스(200)의 전력 투입을 관리한다. 전력 손실 핸들러(224)는 메모리 디바이스(200)로의 전원이 입력 전력 레일(218)을 통해 호스트(202)에 의해 제공되지 않는 상황을 핸들링하고, 에너지 저장소(216)에 저장되는 전하는, 비-휘발성 메모리(204)의 하나 이상의 소스 전력 레일(220)을 적어도 셧 다운하고, 이러한 인-플라이트 데이터가 메모리 디바이스(200)에 존재하면 비-휘발성 메모리(204)에 인-플라이트 데이터를 기입하기 위해 비-휘발성 메모리(204) 및 다른 컴포넌트들에 충분한 전력을 공급하는데 사용되어야 한다.
전력 손실 핸들러(224)는 제한 모드(226) 또는 포괄적 모드(228)에서 동작할 수 있다. 제한 모드(226)에서, 전력 손실 핸들러(224)는 에너지 저장소(216)로부터 (포괄적 모드(228)에서 사용되는 전하에 비교하여) 상대적으로 적은 전하량을 사용하여 하나 이상의 소스 전력 레일(220)을 셧 다운하고, 인-플라이트 데이터가 존재하지 않는 것과 같이 비-휘발성 메모리(204)에서 인-플라이트 데이터를 기입할 필요가 없다. 포괄적 모드(228)에서, 전력 손실 핸들러(224)는 에너지 저장소(216)로부터 (제한 모드(226)에서 사용되는 전하에 비교하여) 상대적으로 많은 전하량을 사용하여 인-플라이트 데이터를 비-휘발성 메모리(204)에 기입하고 또한 비-휘발성 메모리(204)로의 하나 이상의 소스 전력 레일(220)을 셧 다운한다.
도 3은, 특정 실시예들에 따른, 전력 손실 핸들러(224)의 동작의 다양한 모드들을 도시하는 도면(300)을 도시한다. 수평 축은 입력 전력 레일(218)을 통해 호스트(202)로부터 메모리 디바이스(200)로의 전력의 복원으로부터 시작하는 시간의 지속 시간(302)을 도시한다. 수직 축은 커패시터(216) 또는 일부 다른 에너지 저장소에 저장되는 전하량(304)을 도시한다.
참조 번호 306을 통해 도시되는 곡선은 상이한 시간들에 커패시터(216)에 저장되는 전하를 표시한다. 호스트(202)로부터 입력 전력 레일(218)을 통해 메모리 디바이스(200)로 전력이 복원될 때, 커패시터(216)에는 초기에 어떠한 전하도 저장되지 않고, 시간 T1(307)에서 커패시터(216)는 C1(308)에 의해 표기되는 전하량을 가지며, 이후 시점 T2(310)에서 커패시터(216)는 C2(312)에 의해 표기되는 전하량을 갖는다. 특정 실시예들에서, C1(308)은 커패시터(216)의 총 충전 용량의 10% 이하이고, C2(312)는 커패시터(216)의 총 충전 용량의 70% 이상이다.
도 3은 커패시터(216)가 적어도 레벨 C1로 충전될 때, 메모리 디바이스(200)에서의 전력 손실에 응답하여, 커패시터(216)에서의 전하가 비-휘발성 메모리(204)의 하나 이상의 소스 전력 레일(220)을 셧 다운하기에 충분하다는 점을 (참조 번호 314를 통해) 도시한다. 이러한 상황에서, 전력 손실 핸들러(224)는 포괄적 모드(228)에서는 아니지만 제한 모드(226)에서는 기능할 수 있다.
도 3은 커패시터(216)가 적어도 레벨 C2(312)(C1 레벨보다 실질적으로 높음)로 충전될 때, 메모리 디바이스(200)에서의 전력 손실에 응답하여, 커패시터(216)에서의 전하가 비-휘발성 메모리(204)의 하나 이상의 소스 전력 레일(220)을 셧 다운하기에 그리고 또한 비-휘발성 메모리(204)에 인-플라이트 데이터를 기입하기에 충분하다는 점을 (참조 번호 316을 통해) 또한 도시한다. 이러한 상황에서, 전력 손실 핸들러(224)는 포괄적 모드(228)에서 기능할 수 있다.
따라서, 도 3은, 제1 미리 결정된 레벨의 전하 C1(308)에서, 전력 손실 핸들러(224)가 포괄적 모드(228)에서가 아니라 제한 모드(226)에서 기능할 수 있다는 점을 도시한다. 더 높은 제2 미리 결정된 레벨의 전하 C2(312)에서 전력 손실 핸들러(224)는 포괄적 모드(228)에서 기능할 수 있다. 포괄적 모드(228)에서, 전력 손실 핸들러(224)는 비-휘발성 메모리(204)에 인-플라이트 데이터를 기입할 수 있다.
도 4는, 특정 실시예들에 따른, 어떻게 메모리 디바이스(200)의 기능들이 메모리 디바이스(200)의 전력 투입 동안 복수의 페이즈들에서 인에이블되는지 도시하는 흐름도(400)를 도시한다. 도 4에서 도시되는 동작들은 메모리 디바이스(200)에서 실행되는 다른 모듈들과 조합하여 전력 관리 모듈(214)에 의해 수행될 수 있다.
제어는 호스트(202)에 의해 메모리 디바이스(200)에 전력이 인가되는 블록 402에서 시작한다. 제어는 커패시터(216)가 충전을 시작하는 블록 404로 진행한다. 전력 투입 애플리케이션(222)은 (블록 406에서) 커패시터(216)의 충전이 레벨 C1(308)까지 완료되는지 결정한다. 만약 그렇다면("예" 분기 407), 전력 투입 애플리케이션(222)은 (블록 408에서) 전력이 하나 이상의 소스 전력 레일(220)을 통해 비-휘발성 메모리(204)에 송신되어 비-휘발성 메모리(204)에 전력 투입하고 비-휘발성 메모리(204)에 대한 판독 액세스를 제공한다는 점을 보장한다. 제어는 전력 투입 애플리케이션(222)이 전력 손실 핸들러(224)를 제한 모드(226)에서 동작하도록 설정하는 블록 410으로 진행한다. (블록 410에서의 커패시터(216)의 전하 레벨인) 전하 레벨 C1(308)에서 상대적으로 작은 전하량만이 커패시터(216)에 저장되므로, 전력 손실 핸들러(224)는 정전 동안 비-휘발성 메모리(204)에 어떠한 인-플라이트 데이터도 기입되지 않는 제한 모드(226)로 설정된다. 비-휘발성 메모리(204)는 기입들에 대해 여전히 구성되지 않았으므로, 인-플라이트 데이터가 존재하지 않고 제한 모드(226)는 전력 손실 핸들러(224)에 적절하다.
(블록 412에서) 커패시터(216)가 계속 충전되고, 제어는 전력 투입 애플리케이션(222)이 커패시터(216)의 충전이 레벨 C2(312)까지 완료되는지 결정하는 블록 414로 진행한다. 그렇다면("예" 분기 415), 전력 투입 애플리케이션(222)은 비-휘발성 메모리(204)가 (비-휘발성 메모리(204)가 블록 408에서 이미 구성되었던 판독 액세스 외에도) 기입 액세스를 위해 구성된다는 점을 (블록 416에서) 보장한다. 그 결과, 블록 416 이후에 정전이 존재하면 비-휘발성 메모리(204)에 기입되어야 하는 인-플라이트 데이터가 존재할 수 있고, 블록 418에서 전력 투입 애플리케이션(222)은 전력 손실 핸들러(224)를 비-휘발성 메모리(204)에 인-플라이트 데이터가 기입되는 포괄적 모드(228)에서 동작하도록 설정한다. 커패시터(216)는 (블록 420에서) 계속 충전될 수 있고, 일단 커패시터(216)가 완전히 충전되면(레벨 C2가 커패시터(216)에 대한 완전히 충전된 조건이 아니면) 커패시터(216)는 완전 충전으로 유지된다.
블록 406으로부터 커패시터(216)가 레벨 C1 로 충전되지 않으면("아니오" 분기 422) 제어는 커패시터(216)의 추가적인 충전을 위해 블록 404로 복귀한다. 블록 414로부터, 커패시터(216)가 레벨 C2 로 충전되지 않으면("아니오" 분기 424) 제어는 커패시터(216)의 추가적인 충전을 위해 블록 412로 복귀한다.
따라서, 도 4는, 제1 페이즈에서, 커패시터(216)가 상대적으로 낮은 레벨 C1(308)로 충전된 이후, 비-휘발성 메모리(204) 상의 판독 동작들만이 허용되고 전력 손실 핸들러(224)가 제한 모드(226)에서 동작하도록 설정된다는 점을 도시한다. 전력 손실 핸들러(224)가 비-휘발성 메모리(204)에 인-플라이트 데이터를 기입하기 위해 포괄적 모드(228)에서 동작할 수 있는 충분히 높은 레벨(예를 들어, 레벨 C2(312))로 커패시터(216)가 충전될 때에만, 비-휘발성 메모리(204) 상의 기입 동작들이 허용된다.
따라서, 시간 T1(307)의 이른 순간에, 비-휘발성 메모리(204)는 판독 동작들에 대해 기능하고(functional), 시간 T2(310)의 이후 순간에 비-휘발성 메모리(204)는 판독 및 기입 동작들 양자 모두에 대해 기능한다. 이것은 도 1에 도시되는 시스템에 대한 개선인데, 도 1에 도시된 시스템에서는 커패시터(108)가 완전히 충전되는 때에만 판독 및 기입 동작들이 비-휘발성 메모리(106) 상에 허용되고, 이것에는 T1(307)보다 긴 시간이 걸릴 수 있을 뿐만 아니라 T2(310)보다 긴 시간이 걸릴 수 있다. 메모리 디바이스(200)로부터의 판독 동작들은 도 1에 도시되는 동작들에 비교하여 도 2 내지 도 4에 도시되는 실시예들에서 일찍 허용된다.
도 5는, 특정 실시예들에 따른, 어떻게 메모리 디바이스(200)의 기능들이 복수의 페이즈들에서 인에이블되는지, 및 전력 손실 핸들러(224)의 동작의 다양한 모드들을 도시하는 흐름도(500)를 도시한다. 도 5에 도시되는 동작들은 메모리 디바이스(200)에서 실행되는 다른 모듈들과 조합하여 전력 관리 모듈(214)에 의해 수행될 수 있다.
제어는 메모리 디바이스(200)의 비-휘발성 메모리(204)에 연결되는 에너지 저장소(216)가 적어도 제1 미리 결정된 레벨 C1(308)로 충전되는 블록 502에서 시작한다. 제어는, 적어도 제1 미리 결정된 레벨 C1(308)로 에너지 저장소(216)를 충전하는 것에 응답하여, 비-휘발성 메모리(204)에 전력 투입되고 판독 액세스가 비-휘발성 메모리(204)에 제공되는 블록 504로 진행한다. 블록 504에서, 전력 손실 핸들러(224)는 제한 모드(226)로 설정된다.
블록 504로부터, 제어는 에너지 저장소(216)가 적어도 제2 미리 결정된 레벨 C2(312)로 충전되는 블록 506으로 진행하고, 여기서 제2 미리 결정된 레벨 C2(312)는 제1 미리 결정된 레벨 C1(308)보다 크다. 적어도 제2 미리 결정된 레벨 C2(312)로 에너지 저장소(216)를 충전하는 것에 응답하여, (블록 508에서) 비-휘발성 메모리(204)에 기입 액세스가 제공된다. 블록 508에서, 전력 손실 핸들러(224)는 포괄적 모드(228)로 설정된다.
블록들(502, 504, 506, 508)에 도시되는 동작들은 전력 관리 모듈(214)의 전력 투입 애플리케이션(222)에 의해 수행되고 있는 한편, 블록들(510, 512, 514, 516, 518)에 도시되는 동작들은 전력 관리 모듈(214)의 전력 손실 핸들러(224)에 의해 병렬로(참조 번호(520)를 통해 도시됨) 수행될 수 있다.
블록 510에서, 전력 손실 핸들러(224)에 의해 메모리 디바이스(200)에 대한 전력의 손실의 결정이 이루어진다. 전력 손실 핸들러(224)가 제한 모드(226)에서 또는 포괄적 모드(228)에서 동작하고 있는지에 관계없이, 전력 손실 핸들러(224)는 (블록 511에서) 스위치(210)를 턴오프하여 비-휘발성 메모리(204)의 소스 전력 레일(220)을 입력 전력 레일(218)로부터 접속 해제하여, 비-휘발성 메모리(204)의 소스 전력 레일(220)을 셧 다운하는 동작들을 수행한다. 특정 실시예들에서, 2개 이상의 소스 전력 레일들(220)이 존재하면(즉, 하나보다 많은 소스 전력 레일이 존재함), 2개 이상의 소스 전력 레일들(220)은 셧다운 시퀀스라고 지칭되는 시퀀스로 셧 다운된다. 예를 들어, 제1 소스 전력 레일 및 제2 소스 전력 레일을 포함하는 2개의 소스 전력 레일들이 존재하면, 셧다운 시퀀스에서, 제1 소스 전력 레일이 셧 다운되고 다음으로 제2 소스 전력 레일이 셧 다운된다.
에너지 저장소(216)가 적어도 제1 미리 결정된 레벨 C1(308)로 충전되었지만 제2 미리 결정된 레벨 C2(312)로 충전되지 않았으면(전력 손실 핸들러(224)가 제한 모드(226)에서 동작하고 있는 참조 번호 512를 통해 도시됨), 다음으로 (블록 514에서) 인-플라이트 데이터가 존재하지 않으므로 비-휘발성 메모리(204)에 대한 인-플라이트 데이터의 기입이 필요 없다. 에너지 저장소(216)가 적어도 제2 미리 결정된 레벨 C2(312)로 충전되었으면(전력 손실 핸들러(224)가 포괄적 모드(228)에서 동작하고 있는 참조 번호 516을 통해 도시됨), (블록 518에서) 인-플라이트 데이터가 비-휘발성 메모리(204)에 기입된다.
에너지 저장소(216)가 제1 미리 결정된 레벨 C1(308)로 충전되었을 때 에너지 저장소(216)가 부분적으로 충전되고, 에너지 저장소(216)가 제2 미리 결정된 레벨 C2(312)로 충전되었을 때 에너지 저장소(216)가 부분적으로 또는 완전히 충전된다는 점이 주목되어야 한다.
따라서, 도 1 내지 도 5는 메모리 디바이스(200)의 에너지 저장소(216)가 2개의 페이즈들로 충전되는 특정 실시예들을 도시한다. 제1 페이즈에서, 에너지 저장소(216)가 상대적으로 낮은 레벨 C1(308)로 충전된 이후, 판독 동작들만이 비-휘발성 메모리(204) 상에 허용되고 전력 손실 핸들러(224)는 제한 모드(226)에서 동작하도록 설정된다. 제한 모드(226)에서, 판독 동작들만이 허용되고 인-플라이트 데이터가 존재하지 않으므로, 비-휘발성 메모리(204)에 인-플라이트 데이터를 기입할 필요가 없다. 에너지 저장소(216)가 충분히 높은 충분한 레벨(예를 들어, 레벨 C2(312))로 충전될 때만, 전력 손실 핸들러(224)가 포괄적 모드(228)에서 동작하도록 설정된다. 포괄적 모드(228)에서, 비-휘발성 메모리(204) 상의 기입 동작들이 허용되고 이러한 기입 동작들이 인-플라이트 데이터를 생성할 수 있으므로, 전력 손실 핸들러(224)는 에너지 저장소(216)에 저장되는 전하와 함께 임의의 인-플라이트 데이터를 비-휘발성 메모리(204)에 기입한다.
설명되는 컴포넌트들 및/또는 동작들은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합을 생성하기 위해 표준 프로그래밍 및/또는 엔지니어링 기술을 사용하는 방법, 장치 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 설명되는 동작들은 특정 실시예들에서의 구현을 위해 또는 설계 목적들을 위한 메모리 칩의 소프트웨어 시뮬레이션을 위해 "컴퓨터 판독 가능 스토리지 매체(computer readable storage medium)"에 유지되는 코드로서 구현될 수 있고, 여기서 프로세서는 컴퓨터 스토리지 판독 가능 매체로부터 이러한 코드를 판독하고 실행할 수 있다. 컴퓨터 판독 가능 스토리지 매체는 전자 회로, 스토리지 재료들, 무기 재료들, 유기 재료들, 생물학적 재료들, 케이싱, 하우징, 코팅, 및 하드웨어 중 적어도 하나를 포함한다. 컴퓨터 판독 가능 스토리지 매체는, 이에 제한되는 것은 아니지만, 자기 스토리지 매체(예를 들어, 하드 드라이브 드라이브들, 플로피 디스크들, 테이프 등), 광 스토리지들(CD-ROM들, DVD들, 광 디스크들 등), 휘발성 및 비-휘발성 메모리 디바이스들(EEPROM들, ROM들, PROM들, RAM들, DRAM들, SRAM들, Flash Memory, 펌웨어, 프로그램 가능 로직 등), SSD(Solid State Devices) 등을 포함할 수 있다. 설명되는 동작들을 구현하는 코드는 하드웨어 디바이스(예를 들어, 회로 칩, PGA(Programmable Gate Array), ASIC(Application Specific Integrated Circuit) 등)에서 구현되는 하드웨어 로직에서 추가로 구현될 수 있다. 더욱 추가로, 설명되는 동작들을 구현하는 코드는 "송신 신호들(transmission signals)"에서 구현될 수 있고, 여기서 송신 신호들은 공간을 통해 또는 광 섬유, 구리 와이어 등과 같은 송신 매체를 통해 전파될 수 있다. 코드 또는 로직이 인코딩되는 송신 신호들은 무선 신호, 위성 송신, 무선 파들, 적외선 신호들, Bluetooth 등을 추가로 포함할 수 있다. 컴퓨터 판독 가능 스토리지 매체 상에 내장되는 프로그램 코드는 송신 스테이션 또는 컴퓨터로부터 수신 스테이션 또는 컴퓨터로 송신 신호들로서 송신될 수 있다. 컴퓨터 판독 가능 스토리지 매체는 단지 송신 신호들로만 구성되지는 않는다. 해당 분야에서의 숙련자들은 이러한 구성에 대해 많은 수정들이 이루어질 수 있다는 점, 및 제조 물품이 해당 분야에 알려진 적합한 정보 보유 매체를 포함할 수 있다는 점을 인식할 것이다.
특정 실시예들의 양태들에 대한 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 하나 이상의 프로그래밍 언어의 임의의 조합으로 기입될 수 있다. 흐름도들 및/또는 블록도들의 블록들은 컴퓨터 프로그램 명령어들에 의해 구현될 수 있다.
도 6은 메모리 디바이스(도 2 내지 도 5에 도시되는 메모리 디바이스(200)의 아키텍처에 따라 설계됨)가 계산 디바이스에 포함될 수 있는 계산 디바이스를 포함할 수 있는 시스템(600)의 블록도를 도시한다. 예를 들어, 특정 실시예들에서, 시스템(600)은 컴퓨터에서의 메모리 디바이스(도 2 내지 도 5에 도시되는 메모리 디바이스(200)의 아키텍처에 따라 설계됨)를 갖는 컴퓨터(예를 들어, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿, 셀 폰 또는 임의의 다른 적합한 계산 디바이스)일 수 있다. 시스템(600)은 특정 실시예들에서 적어도 프로세서(604)를 포함할 수 있는 회로(602)를 포함할 수 있다. 시스템(600)은 메모리(606)(예를 들어, 도 2 내지 도 5에 도시되는 아키텍처에 따른 메모리 디바이스(200)), 및 스토리지(608)(예를 들어, 도 2 내지 도 5에 도시되는 아키텍처에 따른 메모리 디바이스(200))를 또한 포함할 수 있다. 스토리지(608)는 솔리드 스테이트 드라이브, 디스크 드라이브, 또는 비-휘발성 메모리 디바이스(EEPROM, ROM, PROM, 플래시, 펌웨어, 프로그램 가능 로직 등)를 포함하는 다른 드라이브들 또는 디바이스들을 포함할 수 있다. 스토리지(608)는 자기 디스크 드라이브, 광 디스크 드라이브, 테이프 드라이브 등을 또한 포함할 수 있다. 스토리지(608)는 내부 스토리지 디바이스, 부착형 스토리지 디바이스 및/또는 네트워크 액세스 가능 스토리지 디바이스를 포함할 수 있다. 시스템(600)은 메모리(606) 내로 로딩되어 프로세서(604) 또는 회로(602)에 의해 실행될 수 있는 코드(612)를 포함하는 프로그램 로직(610)을 포함할 수 있다. 특정 실시예들에서, 코드(612)를 포함하는 프로그램 로직(610)은 스토리지(608)에 저장될 수 있다. 특정 다른 실시예들에서, 프로그램 로직(610)은 회로(602)에서 구현될 수 있다. 따라서, 도 6이 다른 엘리먼트들과는 별도로 프로그램 로직(610)을 도시하는 한편, 프로그램 로직(610)은 메모리(606) 및/또는 회로(602)에서 구현될 수 있다. 시스템(600)은 디스플레이(614)(예를 들어, LCD(liquid crystal display), LED(light emitting diode) 디스플레이, CRT(cathode ray tube) 디스플레이, 터치스크린 디스플레이, 또는 임의의 다른 적합한 디스플레이)를 또한 포함할 수 있다. 시스템(600)은, 키보드, 마우스, 조이스틱, 트랙패드, 또는 임의의 다른 적합한 입력 디바이스들과 같은, 하나 이상의 입력 디바이스(616)를 또한 포함할 수 있다. 특정 실시예들에서, 디스플레이(614)는 스토리지(608) 및/또는 메모리(606)를 포함하는 메모리 디바이스에 연결될 수 있고; 네트워크 인터페이스(618)는 프로세서(604)에 통신 가능하게 연결될 수 있고; 배터리(620)는 프로세서(604)에 통신 가능하게 연결될 수 있다. 도 6에 도시되는 것들 이외의 다른 컴포넌트들 또는 디바이스들이 또한 시스템(600)에서 발견될 수 있다.
특정 실시예들은 컴퓨터 판독 가능 코드를 컴퓨팅 시스템에 통합하는 사람 또는 자동화된 처리에 의해 컴퓨팅 명령어를 배치하기 위한 방법에 관한 것일 수 있고, 컴퓨팅 시스템과 조합되는 코드는 설명된 실시예들의 동작들을 수행할 수 있게 된다.
"실시예(an embodiment)", "실시예(embodiment)", "실시예들(embodiments)", "실시예(the embodiment)", "실시예들(the embodiments)", "하나 이상의 실시예(one or more embodiments)", "일부 실시예들(some embodiments)", 및 "일 실시예(one embodiment)"라는 용어들은 달리 명백히 명시되지 않는다면 "하나 이상의(그러나 모두는 아닌) 실시예(one or more (but not all) embodiments)"를 의미한다.
"포함하는(including)", "포함하는(comprising)", "갖는(having)" 및 이들의 변형들은 달리 명백히 명시되지 않는다면, "이에 제한되는 것은 아니지만 포함하는(including but not limited to)"을 의미한다.
아이템들의 나열된 리스팅은, 달리 명백히 명시되지 않는다면, 아이템들 중 임의의 것 또는 모두가 상호 배타적이라는 것을 암시하지는 않는다.
단수 표현("a", "an" 및 "the")은, 달리 명백히 명시되지 않는다면, "하나 이상(one or more)"을 의미한다.
서로 통신하고 있는 디바이스들은, 달리 명백히 명시되지 않는다면, 서로 연속적인 통신을 하고 있을 필요는 없다. 또한, 서로 통신하고 있는 디바이스들은 직접적으로 또는 하나 이상의 중계물(intermediaries)을 통해 간접적으로 통신할 수 있다.
서로 통신하고 있는 몇몇 컴포넌트들이 있는 실시예의 설명은, 이러한 모든 컴포넌트들이 요구된다는 점을 암시하는 것은 아니다. 반대로 광범위한 가능한 실시예들을 도시하기 위해 다양한 선택적 컴포넌트들이 설명된다.
추가로, 프로세스 단계들, 방법 단계들, 알고리즘들 등이 순차적 순서로 설명될 수 있더라도, 이러한 프로세스들, 방법들 및 알고리즘들은 대안적 순서들로 작동하도록 구성될 수 있다. 다시 말해, 설명될 수 있는 임의의 시퀀스 또는 순서가, 단계들이 그 순서로 수행되어야 한다는 요건을 반드시 표시하는 것은 아니다. 본 명세서에 설명되는 프로세스들의 단계들은 실제로 임의의 순서로 수행될 수 있다. 추가로, 일부 단계들은 동시에 수행될 수 있다.
단일 디바이스 또는 물품이 본 명세서에 설명될 때, (그들이 협업하든 또는 안 하든 간에) 하나보다 많은 디바이스/물품이 단일 디바이스/물품 대신에 사용될 수 있다는 점이 쉽게 명백할 것이다. 유사하게, 하나보다 많은 디바이스 또는 물품이 (그들이 협업하든 또는 아니든 간에) 본 명세서에 설명되는 경우, 단일 디바이스/물품이 하나보다 많은 디바이스 또는 물품 대신에 사용될 수 있거나, 또는 상이한 수의 디바이스들/물품들이 도시되는 수의 디바이스들 또는 프로그램들 대신 사용될 수 있다는 점이 쉽게 명백할 것이다. 디바이스의 기능성 및/또는 특징들은 이러한 기능성/특징들을 갖는 것으로서 명시적으로 설명되지 않는 하나 이상의 다른 디바이스에 의해 대안적으로 구현될 수 있다. 따라서, 다른 실시예들이 디바이스 자체를 포함할 필요는 없다.
도면들에 도시되었을 수 있는 적어도 특정 동작들은 특정 순서로 발생하는 특정 경우들을 도시한다. 대안적인 실시예들에서, 특정 동작들은 상이한 순서로 수행되거나, 수정되거나, 또는 제거될 수 있다. 또한, 단계들이 위에 설명된 로직에 추가될 수 있고 설명되는 실시예들에 여전히 따를 수 있다. 추가로, 본 명세서에 설명되는 동작들은 순차적으로 발생할 수 있거나 또는 특정 동작들이 병렬로 처리될 수 있다. 더욱 추가로, 동작들은 단일 처리 유닛에 의해 또는 분산 처리 유닛들에 의해 수행될 수 있다.
다양한 실시예들의 전술한 설명은 도시 및 설명의 목적으로 제시되었다. 개시되는 정확한 형태들로 철저히 되도록 또는 제한되도록 의도되는 것은 아니다. 많은 수정들 및 변형들이 위 교시의 관점에서 가능하다.
예들
다음 예들은 추가의 실시예들에 관련된다.
예 1은 데이터 스토리지를 위한 메모리 디바이스로서, 이러한 메모리 디바이스는, 비-휘발성 메모리; 비-휘발성 메모리에 연결되는 에너지 저장소; 및, 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되는 것에 응답하여, 비-휘발성 메모리에 전력을 투입하도록 그리고 비-휘발성 메모리에 대한 판독 액세스를 제공하도록 구성 가능한 전력 관리 모듈을 포함한다.
예 2에서, 예 1 의 주제는, 에너지 저장소는 에너지 저장소가 제1 미리 결정된 레벨로 충전되었을 때 부분적으로 충전된다는 점을 포함할 수 있다.
예 3에서, 예 1 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제2 미리 결정된 레벨로 충전되는 것에 응답하여, 비-휘발성 메모리에 대한 기입 액세스를 제공하도록 추가로 구성 가능하다는 점을 포함할 수 있다.
예 4에서, 예 3 의 주제는, 제2 미리 결정된 레벨은 제1 미리 결정된 레벨보다 크다는 점을 포함할 수 있다.
예 5에서, 예 4 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되었지만 제2 미리 결정된 레벨로 충전되지 않은 동안 메모리 디바이스로의 전력의 손실에 응답하여, 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하도록 추가로 구성 가능하고, 2개 이상의 소스 전력 레일들이 존재하면 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용된다는 점을 포함할 수 있다.
예 6에서, 예 4 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제2 미리 결정된 레벨로 충전된 동안 메모리 디바이스로의 전력의 손실에 응답하여, 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하도록, 그리고 비-휘발성 메모리에 인-플라이트 데이터를 기입하도록 추가로 구성 가능하고, 2개 이상의 소스 전력 레일들이 존재하면 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용된다는 점을 포함할 수 있다.
예 7에서, 예 4 의 주제는, 에너지 저장소는 에너지 저장소가 제2 미리 결정된 레벨로 충전되었을 때 부분적으로 또는 완전히 충전된다는 점을 포함할 수 있다.
예 8은 메모리 디바이스의 비-휘발성 메모리에 연결되는 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되는 데이터 스토리지를 위한 방법이다. 에너지 저장소를 적어도 제1 미리 결정된 레벨로 충전하는 것에 응답하여, 비-휘발성 메모리에 전력이 투입되고 비-휘발성 메모리에 대한 판독 액세스가 제공된다.
예 9에서, 예 8 의 주제는, 에너지 저장소는 에너지 저장소가 제1 미리 결정된 레벨로 충전되었을 때 부분적으로 충전된다는 점을 포함할 수 있다.
예 10에서, 예 8 의 주제는, 에너지 저장소를 적어도 제2 미리 결정된 레벨로 충전하는 것에 응답하여, 비-휘발성 메모리에 대한 기입 액세스가 제공된다는 점을 포함할 수 있다.
예 11에서, 예 10 의 주제는, 제2 미리 결정된 레벨은 제1 미리 결정된 레벨보다 크다는 점을 포함할 수 있다.
예 12에서, 예 11 의 주제는, 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되었지만 제2 미리 결정된 레벨로 충전되지 않은 동안 메모리 디바이스로의 전력의 손실에 응답하여, 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하는 단계를 포함할 수 있고, 2개 이상의 소스 전력 레일들이 존재하면 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용된다.
예 13에서, 예 11 의 주제는 에너지 저장소가 적어도 제2 미리 결정된 레벨로 충전된 동안 메모리 디바이스로의 전력의 손실에 응답하여, 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하는 단계 비-휘발성 메모리에 인-플라이트 데이터를 기입하는 단계를 포함할 수 있고, 2개 이상의 소스 전력 레일들이 존재하면 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용된다.
예 14에서, 예 10 의 주제는, 에너지 저장소는 에너지 저장소가 제2 미리 결정된 레벨로 충전되었을 때 부분적으로 또는 완전히 충전된다는 점을 포함할 수 있다.
예 15는 데이터 스토리지를 위한 계산 디바이스이고, 이러한 계산 디바이스는, 프로세서; 이러한 프로세서에 연결되는 메모리 디바이스를 포함하고, 이러한 메모리 디바이스는: 비-휘발성 메모리; 비-휘발성 메모리에 연결되는 에너지 저장소; 및, 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되는 것에 응답하여, 비-휘발성 메모리에 전력을 투입하도록 그리고 비-휘발성 메모리에 대한 판독 액세스를 제공하도록 구성 가능한 전력 관리 모듈을 포함한다.
예 16에서, 예 15 의 주제는, 에너지 저장소는 에너지 저장소가 제1 미리 결정된 레벨로 충전되었을 때 부분적으로 충전된다는 점을 포함할 수 있다.
예 17에서, 예 15 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제2 미리 결정된 레벨로 충전되는 것에 응답하여, 비-휘발성 메모리에 대한 기입 액세스를 제공하도록 추가로 구성 가능하다는 점을 포함할 수 있다.
예 18에서, 예 17 의 주제는, 제2 미리 결정된 레벨은 제1 미리 결정된 레벨보다 크다는 점을 포함할 수 있다.
예 19에서, 예 18 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되었지만 제2 미리 결정된 레벨로 충전되지 않은 동안 메모리 디바이스로의 전력의 손실에 응답하여, 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하도록 추가로 구성 가능하고, 2개 이상의 소스 전력 레일들이 존재하면 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용된다는 점을 포함할 수 있다.
예 20에서, 예 18 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제2 미리 결정된 레벨로 충전된 동안 메모리 디바이스로의 전력의 손실에 응답하여, 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하도록 그리고 비-휘발성 메모리에 인-플라이트 데이터를 기입하도록 추가로 구성 가능하고, 2개 이상의 소스 전력 레일들이 존재하면 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용된다는 점을 포함할 수 있다.
예 21에서, 예 17 의 주제는, 에너지 저장소는 에너지 저장소가 제2 미리 결정된 레벨로 충전되었을 때 부분적으로 또는 완전히 충전된다는 점을 포함할 수 있다.
예 22는 데이터 스토리지를 위한 계산 디바이스이고, 이러한 계산 디바이스는, 프로세서; 프로세서에 통신 가능하게 연결되는 디스플레이;
프로세서에 통신 가능하게 연결되는 네트워크 인터페이스; 이러한 프로세서에 연결되는 메모리 디바이스를 포함하고, 이러한 메모리 디바이스는: 비-휘발성 메모리; 비-휘발성 메모리에 연결되는 에너지 저장소; 및, 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되는 것에 응답하여, 비-휘발성 메모리에 전력을 투입하도록 그리고 비-휘발성 메모리에 대한 판독 액세스를 제공하도록 구성 가능한 전력 관리 모듈을 포함한다.
예 23에서, 예 22 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제2 미리 결정된 레벨로 충전되는 것에 응답하여, 비-휘발성 메모리에 대한 기입 액세스를 제공하도록 추가로 구성 가능하다는 점을 포함할 수 있다.
예 24에서, 예 23 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제1 미리 결정된 레벨로 충전되었지만 제2 미리 결정된 레벨로 충전되지 않은 동안 메모리 디바이스로의 전력의 손실에 응답하여, 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하도록 추가로 구성 가능하고, 2개 이상의 소스 전력 레일들이 존재하면 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용된다는 점을 포함할 수 있다.
예 25에서, 예 23 의 주제는, 전력 관리 모듈은, 에너지 저장소가 적어도 제2 미리 결정된 레벨로 충전된 동안 메모리 디바이스로의 전력의 손실에 응답하여, 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하도록 그리고 비-휘발성 메모리에 인-플라이트 데이터를 기입하도록 추가로 구성 가능하고, 2개 이상의 소스 전력 레일들이 존재하면 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용된다는 점을 포함할 수 있다.
예 26은 데이터 스토리지를 위한 시스템이고, 이러한 시스템은, 메모리 디바이스의 비-휘발성 메모리에 연결되는 에너지 저장소를 적어도 제1 미리 결정된 레벨로 충전하기 위한 수단; 에너지 저장소를 적어도 제1 미리 결정된 레벨로 충전하는 것에 응답하여, 비-휘발성 메모리에 전력을 투입하고 비-휘발성 메모리에 대한 판독 액세스를 제공하기 위한 수단을 포함한다.
위에 설명된 시스템들 및/또는 장치 중 임의의 것의 모든 선택적인 특징들은 위에 설명된 방법 또는 프로세스에 관하여 또한 구현될 수 있고, 이러한 예들에서의 상세 사항들은 하나 이상의 실시예에서 어디에서나 사용될 수 있다. 추가적으로, 위에 설명된 방법 또는 프로세스의 모든 선택적 특징들은 위에 설명된 시스템 및/또는 장치 중 임의의 것에 관하여 구현될 수 있고, 이러한 예들에서의 상세 사항들은 하나 이상의 실시예에서 어디에서나 사용될 수 있다.

Claims (25)

  1. 데이터 스토리지를 위한 메모리 디바이스로서, 상기 메모리 디바이스는,
    비-휘발성 메모리;
    상기 비-휘발성 메모리에 연결되는 에너지 저장소; 및
    상기 에너지 저장소가 적어도 제1 미리 결정된 레벨의 양으로 충전되는 것에 응답하여, 상기 비-휘발성 메모리에 대한 판독 액세스를 제공하고, 상기 에너지 저장소가 상기 제1 미리 결정된 레벨보다 큰 적어도 제2 미리 결정된 레벨의 양으로 충전되는 것에 응답하여, 상기 비-휘발성 메모리에 대한 기입 액세스를 제공하도록 구성되는 전력 관리 모듈을 포함하는 메모리 디바이스.
  2. 제1항에 있어서,
    상기 에너지 저장소는 상기 에너지 저장소가 상기 제1 미리 결정된 레벨로 충전되었을 때 부분적으로 충전되는 메모리 디바이스.
  3. 제1항에 있어서,
    상기 에너지 저장소는 커패시터를 포함하는 메모리 디바이스.
  4. 삭제
  5. 제1항에 있어서,
    상기 전력 관리 모듈은, 상기 에너지 저장소가 적어도 상기 제1 미리 결정된 레벨로 충전되었지만 상기 제2 미리 결정된 레벨로 충전되지 않은 동안 상기 메모리 디바이스로의 전력의 손실에 응답하여, 상기 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하도록 추가로 구성되고, 2개 이상의 소스 전력 레일들이 존재하면 상기 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용되는 메모리 디바이스.
  6. 제1항에 있어서,
    상기 전력 관리 모듈은, 상기 에너지 저장소가 적어도 상기 제2 미리 결정된 레벨로 충전된 동안 상기 메모리 디바이스로의 전력의 손실에 응답하여, 상기 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하도록, 그리고 상기 비-휘발성 메모리에 인-플라이트 데이터를 기입하도록 추가로 구성되고, 2개 이상의 소스 전력 레일들이 존재하면 상기 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용되는 메모리 디바이스.
  7. 제1항에 있어서,
    상기 에너지 저장소는 상기 에너지 저장소가 상기 제2 미리 결정된 레벨로 충전되었을 때 부분적으로 또는 완전히 충전되는 메모리 디바이스.
  8. 데이터 스토리지를 위한 방법으로서,
    메모리 디바이스의 비-휘발성 메모리에 연결되는 에너지 저장소를 적어도 제1 미리 결정된 레벨의 양으로 충전하는 단계;
    상기 에너지 저장소를 적어도 상기 제1 미리 결정된 레벨의 상기 양으로 충전하는 것에 응답하여, 상기 비-휘발성 메모리에 대한 판독 액세스를 제공하는 단계; 및
    상기 에너지 저장소를 상기 제1 미리 결정된 레벨보다 큰 적어도 제2 미리 결정된 레벨의 양으로 충전하는 것에 응답하여, 상기 비-휘발성 메모리에 대한 기입 액세스를 제공하는 단계를 포함하는 방법.
  9. 제8항에 있어서,
    상기 에너지 저장소는 상기 에너지 저장소가 상기 제1 미리 결정된 레벨로 충전되었을 때 부분적으로 충전되는 방법.
  10. 삭제
  11. 삭제
  12. 제8항에 있어서,
    상기 에너지 저장소가 적어도 상기 제1 미리 결정된 레벨로 충전되었지만 상기 제2 미리 결정된 레벨로 충전되지 않은 동안 상기 메모리 디바이스로의 전력의 손실에 응답하여, 상기 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하는 단계- 2개 이상의 소스 전력 레일들이 존재하면 상기 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용됨 -를 추가로 포함하는 방법.
  13. 제8항에 있어서,
    상기 에너지 저장소가 적어도 상기 제2 미리 결정된 레벨로 충전된 동안 상기 메모리 디바이스로의 전력의 손실에 응답하여, 상기 비-휘발성 메모리의 하나 이상의 소스 전력 레일을 셧 다운하고 상기 비-휘발성 메모리에 인-플라이트 데이터를 기입하는 단계- 2개 이상의 소스 전력 레일들이 존재하면 상기 2개 이상의 소스 전력 레일들을 셧 다운하는데 셧다운 시퀀스가 사용됨 -를 추가로 포함하는 방법.
  14. 제8항에 있어서,
    상기 에너지 저장소는 상기 에너지 저장소가 상기 제2 미리 결정된 레벨로 충전되었을 때 부분적으로 또는 완전히 충전되는 방법.
  15. 제8항에 있어서,
    상기 에너지 저장소는 커패시터를 포함하는 방법.

  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
KR1020197014106A 2016-12-27 2017-11-28 복수의 페이즈들에서 메모리 디바이스의 기능들을 인에이블함 KR102608610B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/391,037 2016-12-27
US15/391,037 US9977478B1 (en) 2016-12-27 2016-12-27 Memory device and method with backup energy reservoir to write in-flight data in non-volatile memory
PCT/US2017/063531 WO2018125475A1 (en) 2016-12-27 2017-11-28 Enabling functions of a memory device in a plurality of phases

Publications (2)

Publication Number Publication Date
KR20190092384A KR20190092384A (ko) 2019-08-07
KR102608610B1 true KR102608610B1 (ko) 2023-12-04

Family

ID=62125422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197014106A KR102608610B1 (ko) 2016-12-27 2017-11-28 복수의 페이즈들에서 메모리 디바이스의 기능들을 인에이블함

Country Status (5)

Country Link
US (1) US9977478B1 (ko)
EP (1) EP3563214B1 (ko)
KR (1) KR102608610B1 (ko)
CN (1) CN109997095B (ko)
WO (1) WO2018125475A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11334141B2 (en) * 2020-01-31 2022-05-17 Dell Products L.P. System and method for dynamic power control based on a cache size in volatile memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100229018A1 (en) * 2009-03-09 2010-09-09 International Business Machines Corporation Three stage power up in computer storage system
US20150153802A1 (en) * 2013-11-29 2015-06-04 Sandisk Enterprise Ip Llc Power Failure Architecture and Verification

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428620A (en) 1991-05-09 1995-06-27 Fuji Photo Optical Co., Ltd. Data writing/reading device of camera
US5254928A (en) * 1991-10-01 1993-10-19 Apple Computer, Inc. Power management system for battery powered computers
DE69820594D1 (de) * 1998-05-29 2004-01-29 St Microelectronics Srl Anordnung und Verfahren zum Lesen von nichtflüchtigen Speicherzellen
JP3511916B2 (ja) * 1998-11-17 2004-03-29 松下電器産業株式会社 記録再生装置
US6523128B1 (en) * 1999-08-31 2003-02-18 Intel Corporation Controlling power for a sleeping state of a computer to prevent overloading of the stand-by power rails by selectively asserting a control signal
US7525436B2 (en) * 2005-04-21 2009-04-28 University Of Pittsburgh-Of The Commonwealth System Of Higher Education Methods and apparatus for reducing power consumption of an active transponder
US7394714B2 (en) * 2006-09-07 2008-07-01 Taiwan Semiconductor Manufacturing Co., Ltd. Circuit implementation of a dynamic power supply for SRAM core array
US20090132762A1 (en) * 2007-11-16 2009-05-21 Sony Corporation Removable nonvolatile memory system with functional inhibition
US8627117B2 (en) 2009-06-26 2014-01-07 Seagate Technology Llc Device with power control feature involving backup power reservoir circuit
US8680710B2 (en) * 2010-12-17 2014-03-25 Texas Instruments Incorporated Analog power sequencer and method
US8607089B2 (en) * 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
WO2013054374A1 (en) 2011-10-12 2013-04-18 Hitachi, Ltd. Storage system, and data backup method and system restarting method of storage system
WO2015136655A1 (ja) * 2014-03-13 2015-09-17 株式会社日立製作所 ストレージシステム及び制御方法
JP2015191414A (ja) * 2014-03-28 2015-11-02 日本電気株式会社 制御装置、ディスクアレイ装置、及び制御方法、並びにコンピュータ・プログラム
US9350326B2 (en) * 2014-08-08 2016-05-24 Apple Inc. Voltage sampling scheme with dynamically adjustable sample rates
US9836108B2 (en) * 2014-09-10 2017-12-05 Toshiba Memory Corporation Memory system and controller
US20160349817A1 (en) 2015-05-29 2016-12-01 Intel Corporation Power protected memory with centralized storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100229018A1 (en) * 2009-03-09 2010-09-09 International Business Machines Corporation Three stage power up in computer storage system
US20150153802A1 (en) * 2013-11-29 2015-06-04 Sandisk Enterprise Ip Llc Power Failure Architecture and Verification

Also Published As

Publication number Publication date
EP3563214A1 (en) 2019-11-06
EP3563214A4 (en) 2020-08-19
US9977478B1 (en) 2018-05-22
EP3563214B1 (en) 2022-02-09
WO2018125475A1 (en) 2018-07-05
KR20190092384A (ko) 2019-08-07
CN109997095A (zh) 2019-07-09
CN109997095B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
KR102491651B1 (ko) 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법
US20180046447A1 (en) Data storage device and method for reducing firmware update time and data processing system including the device
US9921916B2 (en) Management of power loss in a memory device
US11514955B2 (en) Power management integrated circuit with dual power feed
US20130275781A1 (en) Mechanism for facilitating power and performance management of non-volatile memory in computing devices
EP3382565A1 (en) Selective noise tolerance modes of operation in a memory
US10672451B2 (en) Storage device and refresh method thereof
US10254979B1 (en) Relocating or aborting a block of data by a host, based on media policies managed by a storage device
KR20220150437A (ko) 고체 상태 드라이브의 판독 성능을 개선시키는 방법 및 장치
US9965017B2 (en) System and method for conserving energy in non-volatile dual inline memory modules
US20190122729A1 (en) Selective performance level modes of operation in a non-volatile memory
US10430108B2 (en) Concurrent copying of first and second subsets of pages from media such as SLC NAND to media such as QLC or MLC NAND for completion of copying of data
US10318205B2 (en) Managing data using a number of non-volatile memory arrays
CN109933468A (zh) 存储器系统及其操作方法
US10978171B2 (en) Identification of susceptibility to induced charge leakage
US11829232B2 (en) Real-time trigger to dump an error log
KR102608610B1 (ko) 복수의 페이즈들에서 메모리 디바이스의 기능들을 인에이블함
US20180181323A1 (en) Storing a plurality of contexts in a single band in a non-volatile memory device
US11783893B2 (en) Utilizing NAND buffer for DRAM-less multilevel cell programming
US20220407345A1 (en) Method of controlling a charging voltage for extending the lifetime of a secondary power source and a storage device performing the same
US20220101889A1 (en) Method of resetting storage device, storage device performing the same and data center including the same
WO2019061068A1 (en) MEMORY COMPONENT WITH ONBOARD WIRELESS POWER RECEIVER

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