KR102222444B1 - 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법 - Google Patents

전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR102222444B1
KR102222444B1 KR1020150031071A KR20150031071A KR102222444B1 KR 102222444 B1 KR102222444 B1 KR 102222444B1 KR 1020150031071 A KR1020150031071 A KR 1020150031071A KR 20150031071 A KR20150031071 A KR 20150031071A KR 102222444 B1 KR102222444 B1 KR 102222444B1
Authority
KR
South Korea
Prior art keywords
power state
power
nonvolatile memory
host
storage device
Prior art date
Application number
KR1020150031071A
Other languages
English (en)
Other versions
KR20160108707A (ko
Inventor
박현철
나세욱
정영재
박두리나
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150031071A priority Critical patent/KR102222444B1/ko
Priority to US14/995,627 priority patent/US9672915B2/en
Publication of KR20160108707A publication Critical patent/KR20160108707A/ko
Application granted granted Critical
Publication of KR102222444B1 publication Critical patent/KR102222444B1/ko

Links

Images

Classifications

    • 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/0466Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
    • 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
    • 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/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • 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/147Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법은, 호스트로부터 상기 저장 장치로 공급되는 전원의 상태를 지시하는 전력 상태 정보를 수신하는 단계, 상기 전력 상태 정보의 변화에 따라 상기 저장 장치의 전력 상태를 결정하는 단계, 상기 결정된 전력 상태에 따라 상기 불휘발성 메모리 장치에 대한 복수의 신뢰성 레벨들 중 적어도 하나를 선택하는 단계, 그리고 상기 선택된 적어도 하나의 신뢰성 레벨에 대응하는 상기 불휘발성 메모리 장치에 대한 신뢰성 보장 동작을 수행하는 단계를 포함하되, 상기 전력 상태는 상기 전원에 대한 예측 불가, 지속 보장, 그리고 차단 예정 상태들 중 어느 하나를 포함한다.

Description

전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법{STORAGE DEVICE USING POWER STATUS INFORMATION AND OPERATING METHOD OF THE SAME}
본 발명은 반도체 메모리에 관한 것으로, 더 상세하게는 호스트로부터 제공되는 전력 상태 정보를 사용하여 성능 또는 신뢰성을 높이는 저장 장치 및 그것의 동작 방법에 관한 것이다.
반도체 메모리(semiconductor memory)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비소 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억 장치이다. 반도체 메모리는 크게 휘발성 메모리(Volatile memory)와 불휘발성 메모리(Nonvolatile memory)로 구분된다.
휘발성 메모리는 전원 공급이 차단되면 저장하고 있던 데이터를 소실하는 메모리 장치이다. 휘발성 메모리는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등을 포함한다. 불휘발성 메모리는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등을 포함한다.
스토리지용 저장 장치는 불휘발성 메모리를 이용하여 제조된다. 저장 장치는 불휘발성 메모리 및 불휘발성 메모리를 액세스하고 외부 호스트 장치와 통신하는 메모리 컨트롤러로 구성된다. 저장 장치는 스마트폰, 스마트 패드 등과 같은 다양한 모바일 장치들에 실장되며, 탈착형이나 임베디드 카드, 또는 솔리드 스테이트 드라이브(SSD)와 같은 제품의 형태로 구현될 수 있다.
상술한 저장 장치를 장착한 스마트폰이나 스마트 패드과 같은 모바일 장치들은 배터리와 같은 전원을 사용한다. 따라서, 저장 장치는 호스트의 예상치 못한 전원 차단(Sudden Power Off: 이하, SPO)를 고려하여 데이터의 신뢰성을 유지하기 위한 동작을 수행하게 될 것이다. 저장 장치는 주기적으로 데이터를 백업하는 방식으로 데이터의 신뢰성을 유지할 수 있다. 하지만, 이러한 방식의 신뢰성 유지에는 상대적으로 많은 자원이 소모된다. 즉, 쓰기 횟수가 제한된 불휘발성 메모리 장치의 수명을 단축시키거나, 신뢰성 유지를 위한 제어 동작에 의해서 저장 장치의 동작 성능이 저하될 수 있다.
본 발명의 목적은 호스트의 전력 상태 정보에 따라 데이터 신뢰성과 성능 향상 동작을 선택적으로 수행할 수 있는 저장 장치 및 저장 장치의 동작 방법을 제공하는 데에 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법은, 호스트로부터 상기 저장 장치로 공급되는 전원의 상태를 지시하는 전력 상태 정보를 수신하는 단계, 상기 전력 상태 정보의 변화에 따라 상기 저장 장치의 전력 상태를 결정하는 단계, 상기 결정된 전력 상태에 따라 상기 불휘발성 메모리 장치에 대한 복수의 신뢰성 레벨들 중 적어도 하나를 선택하는 단계, 그리고 상기 선택된 적어도 하나의 신뢰성 레벨에 대응하는 상기 불휘발성 메모리 장치에 대한 신뢰성 보장 동작을 수행하는 단계를 포함하되, 상기 전력 상태는 상기 전원에 대한 예측 불가, 지속 보장, 그리고 차단 예정 상태들 중 어느 하나를 포함한다.
본 발명의 실시 예에 따른 저장 장치는, 불휘발성 메모리 장치, 그리고 호스트로부터의 요청에 따라 상기 불휘발성 메모리 장치를 제어하도록 구성되는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 상기 호스트로부터 제공되는 전원에 대한 상태 정보를 수신하여 상기 불휘발성 메모리 장치의 접근 동작에 대한 신뢰성 레벨을 결정하고, 결정된 신뢰성 레벨에 대응하는 신뢰성 보장 동작을 수행하되, 상기 전원에 대한 상태 정보는 예측 불가, 지속 보장, 그리고 차단 예정에 대한 정보들 중 적어도 하나를 포함한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법은, 외부 장치로부터 상기 저장 장치로 공급되는 전원의 유지 정보를 수신하는 단계, 상기 유지 정보를 참조하여 상기 불휘발성 메모리 장치에 저장되는 데이터에 대한 신뢰성과 동작 성능 중에서 어느 하나를 선택하는 단계, 그리고 상기 신뢰성과 상기 동작 성능 중에서 선택된 특성에 따라 상기 불휘발성 메모리 장치에 대한 신뢰성 보장 동작을 수행하는 단계를 포함하되, 상기 전원의 유지 정보에는 상기 전원에 대한 예측 불가, 지속 보장, 그리고 차단 예정에 관련된 정보가 포함되고, 상기 신뢰성 보장 동작에는 최선 노력(Best-effort) 레벨, 보장 불가(Not guaranteed), 그리고 확증(Confirmed)에 대응하는 메모리 관리 동작들이 포함된다.
본 발명의 실시 예들에 따르면, 호스트의 전력 상태 정보에 따라 우선 순위가 높은 메모리 제어 동작을 수행할 수 있는 저장 장치가 제공된다. 따라서, 호스트의 전력 상태가 가변되더라도 이러한 정보를 바탕으로 데이터 신뢰성과 메모리 성능을 보장할 수 있는 저장 장치를 구현할 수 있다.
도 1은 본 발명의 실시 예에 따른 사용자 장치를 보여주는 블록도이다.
도 2는 도 1의 메모리 컨트롤러를 예시적으로 보여주는 블록도이다.
도 3은 도 1 또는 도 2의 메모리 컨트롤러(122)에 의한 동작 방법을 간략하게 보여주는 순서도이다.
도 4는 본 발명의 전력 상태 정보(PSI)의 종류와 천이 조건을 예시적으로 보여주는 테이블이다.
도 5는 본 발명의 전력 상태(PS)의 천이 조건들을 간략히 보여주는 상태 천이도이다.
도 6은 서로 다른 전력 상태에서 수행되는 신뢰성 레벨과 그에 따른 메모리 관리 동작을 예시적으로 보여주는 테이블이다.
도 7은 본 발명의 메모리 컨트롤러(122)에 전력 상태 정보에 응답하여 수행되는 신뢰성 보장 방법을 간략히 보여주는 순서도이다.
도 8a 내지 도 8f는 본 발명의 메모리 컨트롤러(112)에서 수행되는 전력 상태 정보에 기반한 신뢰성 보장 동작을 순차적으로 보여주는 타이밍도들이다.
도 9a 및 도 9b는 도 1에 도시된 불휘발성 메모리 장치들에 포함되는 3차원 셀 어레이 형태의 메모리 블록들을 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예들에 따른 불휘발성 메모리 시스템이 적용된 메모리 카드 시스템을 보여주는 블록도이다.
도 11은 본 발명에 따른 불휘발성 메모리 시스템이 적용된 SSD(Solid State Drive) 시스템을 예시적으로 보여주는 블록도이다.
도 12는 본 발명에 따른 불휘발성 메모리 시스템이 적용된 사용자 시스템을 보여주는 블록도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
더불어, 본 발명의 특징 및 기능을 설명하기 위한 불휘발성 저장 매체로서 낸드형 플래시 메모리를 예로 할 것이다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 예를 들면, 본 발명의 기술은 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등에도 사용될 수 있다.
본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다. 이하, 본 발명에 따른 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 사용자 장치를 보여주는 블록도이다. 도 1을 참조하면, 사용자 장치(100)는 호스트(110)와 저장 장치(120)를 포함할 수 있다. 저장 장치(120)는 메모리 컨트롤러(122) 및 불휘발성 메모리 장치(1240)를 포함할 수 있다.
호스트(110)는 저장 장치(120)를 스토리지로 사용하는 다양한 전자 장치들 중 어느 하나일 수 있다. 예를 들면, 호스트(110)는 저장 장치(120)를 장착하는 스마트폰이나 스마트 패드일 수도 있을 것이다. 하지만, 호스트(110)의 구성은 여기에 국한되지 않으며, 본 발명의 저장 장치(120)를 스토리지로 사용하는 다양한 기기들일 수 있다. 특히, 호스트(110)는 저장 장치(120)에 전력 상태 정보(Power Status Information: 이하, PSI)를 제공할 수 있다. 전력 상태 정보(PSI)는 호스트(110)가 저장 장치(120)에 제공하는 전원에 대한 상태 정보를 나타낸다.
전력 상태 정보(PSI)는 호스트(110)가 제공하는 전력의 차단이나 유지 상태에 대한 정보를 의미한다. 예를 들면, 호스트(110)는 안정된 전원을 보증하는 전력 상태 정보(PSI)를 저장 장치(110)에 전달할 수 있을 것이다. 또는, 호스트(110)는 저장 장치(120)에 제공하는 전원을 곧 차단할 것임을 전력 상태 정보(PSI)를 통해서 알려줄 수 있을 것이다.
전력 상태 정보(PSI)는 호스트(110)의 전원 상태, 동작 모드, 또는 배터리의 충전 상태 등을 참조하여 생성될 수 있을 것이다. 그리고 호스트(110)는 생성된 전력 상태 정보(PSI)를 벤더 특성화 명령어(Vendor specific command) 등을 통해서 저장 장치(120)에 제공할 수 있다. 또는, 전력 상태 정보(PSI)는 기존의 레거시 명령어들을 활용하여 저장 장치(120)에 제공될 수도 있을 것이다. 예를 들면, 명령어 시퀀스의 예비 비트들을 활용하여 전력 상태 정보(PSI)가 전달될 수도 있을 것이다. 또는, 전력 상태 정보(PSI)는 다양한 제어 신호나 상태 신호를 통해서 저장 장치(120)에 제공될 수 있을 것이다.
저장 장치(120)의 메모리 컨트롤러(122)는 호스트(110)의 요청에 응답하여 불휘발성 메모리 장치(124)를 제어하도록 구성될 것이다. 메모리 컨트롤러(122)는 호스트(110)와 불휘발성 메모리 장치(124)를 인터페이싱한다. 메모리 컨트롤러(122)는 호스트(110)의 요청에 응답하여 불휘발성 메모리 장치(124)의 선택된 메모리 블록을 액세스한다. 메모리 컨트롤러(122)는 호스트(110)로부터의 전력 상태 정보(PSI)에 응답하여 불휘발성 메모리 장치(124)에 대한 신뢰성 동작의 레벨을 변경할 수 있다. 즉, 전력 상태 정보(PSI)가 안정된 전원의 보장을 의미하는 경우, 메모리 컨트롤러(122)는 데이터 신뢰성에 대한 부담을 호스트(110)로 넘겨주고, 성능 확보에 치중하는 동작 모드로 변경할 수 있을 것이다. 반면, 전력 상태 정보(PSI)에 의해서 전원 차단이나 불안정성이 예고되는 경우, 메모리 컨트롤러(122)는 데이터 신뢰성을 확보에 가장 큰 우선 순위를 불휘발성 메모리 장치(124)를 제어할 것이다.
불휘발성 메모리 장치(124)는 메모리 컨트롤러(122)의 제어에 따라, 소거 동작, 읽기 동작, 그리고 쓰기 동작을 수행한다. 불휘발성 메모리 장치(124)는 복수의 메모리 블록들(BLK1~BLKi)을 포함하며, 메모리 블록들 각각은 행들과 열들로 배열된 복수의 메모리 셀들을 포함할 것이다. 각각의 메모리 블록들(BLK1~BLKi)은 하나의 소거 단위를 구성한다. 불휘발성 메모리 장치(124)는 메모리 컨트롤러(122)로부터 제공되는 명령어 및 제어 신호에 따라 쓰기 요청된 데이터를 해당 블록에 기입하거나, 소거 요청된 메모리 블록에 대한 블록 소거 동작을 수행할 수 있다.
불휘발성 메모리 장치(124)는 3차원 어레이로 형성되는 메모리 블록들을 포함할 수 있다. 3차원 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(Monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(Monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착됨을 의미한다.
본 발명의 개념에 따른 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가져, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.
3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에 공유된 워드 라인들 또는 비트 라인들을 갖고, 3차원 메모리 어레이에 적합한 구성은 미국등록특허공보 제7,679,133호, 미국등록특허공보 제8,553,466호, 미국등록특허공보 제8,654,587호, 미국등록특허공보 제8,559,235호, 그리고 미국공개특허공보 제2011/0233648호에 개시되어 있으며, 본 발명의 레퍼런스로 포함된다.
이상의 사용자 장치(100)에 따르면, 메모리 컨트롤러(122)는 호스트(110)로부터의 전력 상태 정보(PSI)를 제공받을 수 있다. 전력 상태 정보(PSI)에 따라 메모리 컨트롤러(122)는 접근되는 데이터의 신뢰성 레벨을 조정할 수 있다. 즉, 전력 상태 정보(PSI)에 따라 메모리 컨트롤러(122)는 신뢰성 레벨을 감소하여 동작 성능을 높이거나, 신뢰성 레벨을 상향시켜 성능을 감소시킬 수도 있다. 따라서, 저장 장치(120)는 데이터에 대한 신뢰성 보장을 호스트(110)로터 제공되는 전력 상태 정보(PSI)에 따라 동적으로 수행할 수 있다. 호스트(110)로부터 제공되는 전력 상태 정보(PSI)를 사용하여 신뢰성 보장 레벨을 조정함에 따라, 본 발명의 저장 장치(120)는 데이터의 신뢰성과 성능을 높일 수 있고, 수명도 연장시킬 수 있다.
도 2는 도 1의 메모리 컨트롤러(122)를 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 메모리 컨트롤러(122)는 중앙처리장치(CPU, 130), 롬(ROM, 140), 호스트 인터페이스(150), 버퍼(160), 플래시 인터페이스(170)를 포함할 수 있다.
호스트 인터페이스(150)은 호스트(110, 도 1 참조)와의 인터페이스를 제공한다. 플래시 인터페이스(170)는 불휘발성 메모리 장치(124, 도 1 참조)와의 인터페이스를 제공한다. 호스트 인터페이스(150)은 하나 또는 그보다 많은 채널들(또는, 포트들)을 통해 호스트(110)와 연결될 수 있다. 예를 들면, 호스트 인터페이스(150)은 두 개의 채널들 즉, 병렬 ATA 버스 (Parallel AT Attachment bus, "PATA 버스"라 불림)와 직렬 ATA 버스 (Serial AT attachment, "SATA 버스"라 불림) 중 어느 하나를 통해 호스트(110)와 연결될 수 있다. 또는, 호스트 인터페이스(150)은 PATA 버스 및 SATA 버스를 통해 외부와 연결될 수 있다. 또는, 호스트 인터페이스(150)은 SCSI, USB, eMMC, UFS(universal flash storage) 인터페이스 등을 통해 외부와 연결될 수도 있다.
중앙처리장치(130)는 메모리 컨트롤러(122)에 대한 전반적인 동작(예를 들면, 읽기, 쓰기, 파일 시스템 관리, FTL 관리 등)을 제어할 수 있다. 예를 들면, 중앙처리장치(130)는 롬(140)에 저장된 플래시 변환 계층(FTL) 등과 같은 펌웨어를 구동할 수 있을 것이다. 더불어, 도시되지는 않았지만, 워킹 메모리나 캐시로서 램(RAM)이 메모리 컨트롤러(122)에 더 포함할 수 있음은 이 분야의 당업자에게 잘 이해될 것이다. 더불어, 메모리 컨트롤러(122)는 호스트(110)와 불휘발성 메모리 장치(124) 사이에서 교환되는 데이터를 일시 저장하는 버퍼(160)를 포함할 수 있을 것이다.
특히, 호스트 인터페이스(150)는 호스트(110)로부터 제공되는 전력 상태 정보(PSI)를 디코딩하여 메모리 컨트롤러(122)에 전달한다. 호스트 인터페이스(150)에 제공되는 전력 상태 정보(PSI)는, 예를 들면, 벤더 특성화 명령어(Vendor Specific Command)를 통해서 제공될 수도 있을 것이다. 또는, 전력 상태 정보(PSI)는 레거시 명령어에 포함되는 예비 비트들을 활용하여 호스트 인터페이스(150)에 전달될 수 있을 것이다. 호스트 인터페이스(150)는 전달된 전력 상태 정보(PSI)를 호스트 인터페이스(150) 내부나 메모리 컨트롤러(122)에 구비되는 레지스터에 저장할 수 있을 것이다.
이후, 메모리 컨트롤러(122)는 레지스터에 저장된 전력 상태 정보(PSI)를 참조하여 불휘발성 메모리 장치(124)에 저장되는 데이터에 대한 신뢰성 레벨을 결정할 것이다.
도 3은 도 1 또는 도 2의 메모리 컨트롤러(122)에 의한 동작 방법을 간략하게 보여주는 순서도이다. 도 3을 참조하면, 메모리 컨트롤러(122)는 호스트(110)로부터 제공되는 전력 상태 정보(PSI)를 참조하여 저장 장치(120)의 전력 상태(PS)를 천이시킬 것이다. 그리고 저장 장치(120)는 전력 상태(PS)에 따라 차별화되는 레벨의 불휘발성 메모리 장치(124)로의 접근 동작을 수행할 것이다.
S110 단계에서, 메모리 컨트롤러(122)는 호스트(110)로부터 전력 상태 정보(PSI)를 수신할 것이다. 전력 상태 정보(PSI)는 호스트(110)에서 운용되는 배터리나 충전 전원 등을 고려하여 판단한 상태 정보이다. 전력 상태 정보(PSI)는 호스트(110)에서 저장 장치(120)에 제공되는 전원에 대한 유지 또는 예상 정보에 대응한다. 전력 상태 정보(PSI)에는 적어도 3개가 포함할 수 있다. 예를 들면, 예측 불가(Unpredictable), 지속 보장(Sustainable), 그리고 차단 예정(Off-expected)과 같은 전력 상태 정보(PSI)가 호스트(110)로부터 제공될 수 있다.
S120 단계에서, 메모리 컨트롤러(122)는 수신된 전력 상태 정보(PSI)에 근거하여 저장 장치(120)의 전력 상태(Power Status: 이하, PS)를 결정할 것이다. 전력 상태 정보(PSI)는 호스트(110)의 지시에 의해서 저장 장치(120)에 제공되는 정보이다. 반면, 전력 상태(PS)는 호스트(110)로부터 제공되는 정보나 지시에 따라 천이되는 저장 장치(120)의 전력 상태(PS)를 의미한다. 전력 상태(PS)에도 호스트(110)에서 제공되는 예측 불가(Unpredictable), 지속 보장(Sustainable), 그리고 차단 예정(Off-expected) 등의 상태가 존재할 수 있을 것이다. 여기서, 호스트(110)가 상술한 전력 상태(PS)에 대한 정보를 직접 제공하는 경우에 메모리 컨트롤러(122)에 의한 전력 상태(PS)를 결정하는 동작은 생략될 수 있다. 하지만, 호스트(110)에서 다양한 형태의 레거시 명령어들을 통해서 전력 상태 정보에 대응하는 간접적인 지시를 제공하는 경우에는 저장 장치(120)에서 전력 상태(PS)를 결정하는 절차가 필요하게 된다.
S130 단계에서, 메모리 컨트롤러(122)는 접근 요청되는 데이터, 예를 들면 쓰기 데이터에 대한 신뢰성 레벨(Reliability level)을 전력 상태(PS)에 따라 결정한다. 신뢰성 레벨은, 예를 들면, 저장 장치(120)에서 가장 높은 데이터 신뢰성을 유지하기 위한 동작 레벨일 수 있다. 또는, 신뢰성 레벨은 저장 장치(120)에서 가장 낮은 레벨의 동작 레벨일 수도 있을 것이다. 신뢰성 레벨이 높을수록 상대적으로 저장 장치(120)의 동작 성능은 감소하게 될 것이다. 신뢰성 레벨에 대한 구체적인 예시는 후술하는 도면들에서 상세히 설명될 것이다.
S140 단계에서, 메모리 컨트롤러(122)는 결정된 신뢰성 레벨에 대응하는 신뢰성 동작을 수행할 것이다. 메모리 컨트롤러(122)는 데이터 백업, 메타 데이터 백업의 주기를 변경하거나 선택적으로 수행하는 방식으로 결정된 신뢰성 레벨에 따른 신뢰성 동작을 수행할 수 있을 것이다.
이상에서는 호스트(110)에서 제공되는 전력 상태 정보(PSI)에 따른 저장 장치(120)에서 수행되는 신뢰성 동작의 레벨을 결정하는 방법이 간략히 설명되었다. 신뢰성 레벨이 높을수록 상대적으로 저장 장치(120)의 동작 속도나 채널 대역폭은 감소하게 될 것이다. 즉, 신뢰성 레벨이 높을 수록 저장 장치(120)의 성능은 감소할 것이다. 반면, 신뢰성 레벨이 낮을수록 저장 장치(120)의 성능은 증가하게 된다. 결국, 호스트(110)에서 제공되는 전력 상태 정보에 따라서 저장 장치(120)는 신뢰성 우선과 성능 우선의 동작 모드들 중에서 어느 한쪽을 선택할 수 있을 것이다.
도 4는 본 발명의 전력 상태(PS)의 종류와 천이 조건을 예시적으로 보여주는 테이블이다. 도 4를 참조하면, 호스트(110)가 제공하는 전력 상태 정보(PSI)에 따라 전력 상태(PS)는 크게 3 가지로 분류될 수 있다. 전력 상태(PS)는 예측 불가(Unpredictable), 지속 보장(Sustainable), 그리고 차단 예정(Off-expected)으로 나타낼 수 있다. 여기서, 파워 온(Power On)이나 파워 오프(Power Off)는 호스트(110)에서 제공하는 전력 상태 정보(PSI)에 의해서 정의되는 상태가 아니라 실질적으로 전원의 제공 또는 차단 여부를 나타낸다.
먼저, 사용자 장치(100)가 부팅되거나 저장 장치(120)가 호스트(110)에 장착되면, 저장 장치(120)는 파워 온(Power On) 상태가 될 것이다. 전력에 투입되어 파워 온(Power On) 상태가 되면, 저장 장치(120)에 대한 전력 상태(PS)는 예측 불가(Unpredictable) 상태로 즉시 천이할 것이다.
반면, 현재의 전력 상태(Current PS)가 예측 불가(Unpredictable)인 경우, 다음 전력 상태(Next PS)는 예측 불가(Unpredictable)를 유지하거나, 지속 보장(Sustainable)또는 차단 예정(Off-expected)으로 천이할 수 있다. 물론, 의도하지 않게 서든 파워 오프(Sudden Power Off)에 의해서 차단될 수도 있을 것이다. 예측 불가(Unpredictable)의 전력 상태에서 호스트(110)로부터 추가적인 전력 상태 정보(PSI)가 제공되지 않으면 예측 불가(Unpredictable)를 유지할 것이다. 반면, 호스트(110)로부터 제공되는 전력 상태 정보(PSI)가 존재하면 예측 불가(Unpredictable)의 전력 상태는 지속 보장(Sustainable) 또는 차단 예정(Off-expected)으로 천이할 수 있다.
현재의 전력 상태(Current PS)가 지속 보장(Sustainable)에 해당하는 경우, 다음 전력 상태(Next PS)는 호스트(110)의 지시에 따라 예측 불가(Unpredictable)나 차단 예정(Off-expected)으로 천이할 수 있다. 호스트(110)로부터 별도의 전력 상태 정보(PSI)의 제공이 없으면, 메모리 컨트롤러(122)는 지속 보장(Sustainable)의 전력 상태를 유지하게 될것이다. 물론, 의도하지 않게 서든 파워 오프(Sudden Power Off)에 의해서 저장 장치(120)에 제공되던 전원이 차단될 수도 있을 것이다.
더불어, 현재의 전력 상태(Current PS)가 차단 예정(Off-expected)에 해당하는 경우, 다음 전력 상태(Next PS)는 호스트(110)의 명령어나 지시에 따라 예측 불가(Unpredictable)나 지속 보장(Sustainable)으로 천이할 수 있다. 그리고 호스트(110)로부터 별도의 전력 상태 정보(PSI)의 제공이 없으면, 차단 예정(Off-expected) 상태를 유지하다가, 특정 시간이 경과한 이후에는 파워 오프(Power Off) 상태가 될 것이다. 특히, 차단 예정(Off-expected) 상태에서 호스트로부터(110)로부터 쓰기 요청이 제공되면, 메모리 컨트롤러(122)는 전력 상태(PS)를 예측 불가(Unpredictable)로 복귀시킬 수 있다.
도 5는 본 발명의 전력 상태(PS)의 천이 조건들을 간략히 보여주는 상태 천이도이다. 도 5를 참조하면, 사용자 장치(100)나 저장 장치(120)에 전원이 제공되면 전력 상태(PS)는 파워 온(Power On) 상태가 된다. 이때부터, 본 발명의 저장 장치(120)에서의 신뢰성 보장 레벨은 호스트(110)에서 제공되는 전력 상태 정보(PSI)에 따라서 가변될 것이다. 파워 온(Power On) 상태는 즉시 예측 불가(Unpredictable)로 천이할 것이다.
예측 불가(Unpredictable) 상태는 3개의 전력 상태들(지속 보장, 차단 예정, 파워 오프) 중 어느 하나로 천이될 수 있다. 즉, 호스트(110)가 저장 장치(120)에 제공하는 전력을 보장하는 전력 상태 정보(PSI)가 제공되면, 저장 장치(120)의 전력 상태는 지속 보장(Sustainable)로 천이할 수 있다. 반면, 호스트(110)가 저장 장치(120)에 제공하는 전력을 차단할 예정임을 나타내는 전력 상태 정보(PSI)를 수신하는 경우, 저장 장치(120)는 차단 예정(Off-expected)으로 전력 상태를 관리할 것이다. 하지만, 의도하지 않게 호스트(110)로부터 제공되는 전력이 차단(SPO)되는 경우, 저장 장치(120)의 전력 상태(PS)는 파워 오프(Power Off)로 천이할 수 있다.
지속 보장(Sustainable) 상태는 3개의 전력 상태들(예측 불가, 차단 예정, 파워 오프) 중 어느 하나로 천이될 수 있다. 즉, 호스트(110)로부터 저장 장치(120)에 제공하는 전력이 예측 불가하다는 전력 상태 정보(PSI)가 제공되면, 저장 장치(120)의 전력 상태는 예측 불가(Unpredictable)로 천이할 수 있다. 반면, 호스트(110)가 저장 장치(120)에 제공하는 전력을 차단할 예정이라는 전력 상태 정보(PSI)를 수신하는 경우, 저장 장치(120)는 차단 예정(Off-expected) 상태로 전력 상태를 관리할 것이다. 하지만, 의도하지 않게 호스트(110)로부터 제공되는 전력이 차단(SPO)되는 경우, 저장 장치(120)의 전력 상태(PS)는 파워 오프(Power Off)로 천이할 수 있다.
차단 예정(Off-expected) 상태는 3개의 전력 상태들(예측 불가, 지속 보장, 파워 오프) 중 어느 하나로 천이될 수 있다. 즉, 호스트(110)로부터 저장 장치(120)에 제공하는 전력이 예측 불가하다는 전력 상태 정보(PSI)가 제공되면, 저장 장치(120)의 전력 상태는 예측 불가(Unpredictable)로 천이할 수 있다. 반면, 호스트(110)가 저장 장치(120)에 제공하는 전력을 보장한다는 전력 상태 정보(PSI)가 제공되면, 저장 장치(120)의 전력 상태는 지속 보장(Sustainable)로 천이할 수 있다. 하지만, 의도하지 않게 호스트(110)로부터 제공되는 전력이 차단(SPO)되는 경우, 저장 장치(120)의 전력 상태(PS)는 파워 오프(Power Off)로 천이할 수 있다.
상술한 상태 천이도에 도시된 각 상태 천이 조건에 따라 메모리 컨트롤러(122)는 저장 장치(120)의 전력 상태(PS)를 제어할 수 있다. 그리고 전력 상태(PS)의 천이에 따라 메모리 컨트롤러(122)는 불휘발성 메모리 장치(124)에 대한 신뢰성 보장 레벨을 조정하여 관리할 것이다. 즉, 지속 보장(Sustainable), 차단 예정(Off-expected), 예측 불가(Unpredictable) 각각의 전력 상태에서 저장 장치(120)는 서로 다른 레벨의 신뢰성 동작 모드로 불휘발성 메모리 장치(124)를 관리할 수 있다.
도 6은 서로 다른 전력 상태에서 수행되는 신뢰성 레벨과 그에 따른 메모리 관리 동작을 예시적으로 보여주는 테이블이다. 도 6을 참조하면, 각각의 전력 상태(PS)에 대응하는 신뢰성 레벨(Reliability level) 및 신뢰성 레벨들 각각에 대응하는 데이터 백업 및 메타 백업 동작을 보여준다.
여기서, 데이터 백업은 어느 하나의 물리 페이지에 대한 프로그램이 완료된 후에 복수의 논리 페이지들 중에서 적어도 하나의 페이지를 백업하는 동작을 의미한다. 적어도 어느 하나의 논리 페이지는 불휘발성 메모리 장치(124)의 특정 영역에 백업될 것이다. 프로그램 동작중에 서든 파워 오프(SPO)가 발생하더라도, 백업된 논리 페이지는 보존될 수 있다. 예를 들면, 데이터 백업은 복수의 논리 페이지들 중에서 LSB(Least Significant Bit) 페이지일 수 있다. 메타 데이터 백업은 프로그램된 데이터에 대한 제어 정보를 불휘발성 메모리 영역에 백업하는 동작을 의미한다. 메타 데이터의 백업을 수행하면, 대응하는 데이터에 대해서는 서든 파워 오프(SPO) 시에도 복구가 가능하다.
메모리 컨트롤러(122)는 전력 상태(PS)가 예측 불가(Unpredictable) 상태인 경우에는 불휘발성 메모리 장치(124)에 저장되는 데이터에 대해서 최선 노력(Best-effort) 레벨의 신뢰성 보장 레벨로 관리할 것이다. 최선 노력(Best-effort)의 신뢰성 레벨에서는 데이터 백업이나 메타 데이터 백업을 주기적으로 또는 조건적으로 수행할 수 있다. 최선 노력(Best-effort)에 대응하는 신뢰성 레벨에서 메모리 컨트롤러(122)는 상대적으로 짧은 주기로 데이터 백업이나 메타 데이터 백업을 수행할 것이다. 또는, 최선 노력(Best-effort)에 대응하는 신뢰성 레벨에서 메모리 컨트롤러(122)는 쓰기 데이터의 사이즈가 기준을 초과하는 시점마다 데이터 백업이나 메타 데이터 백업을 수행할 수 있을 것이다.
전력 상태(PS)가 지속 보장(Sustainable)에 해당하는 경우에는, 메모리 컨트롤러(122)는 불휘발성 메모리 장치(124)에 저장되는 데이터에 대해서 보장 불가(Not guaranteed)에 해당하는 신뢰성 보장 레벨로 관리할 것이다. 보장 불가(Not guaranteed)의 신뢰성 레벨에서, 메모리 컨트롤러(122)는 데이터 백업을 수행하지 않거나, 상대적으로 긴 주기로 수행할 수 있다. 또는, 보장 불가(Not guaranteed)의 신뢰성 레벨에서, 메모리 컨트롤러(122)는 메타 데이터 백업을 수행하지 않거나, 상대적으로 긴 주기로 수행할 수 있다. 또는, 보장 불가(Not guaranteed)의 신뢰성 레벨에서, 메모리 컨트롤러(122)는 데이터 백업이나 메타 데이터 백업 동작 중 어느 하나만을 상대적으로 긴 주기에 따라 수행할 수도 있을 것이다.
지속 보장(Sustainable)의 전력 상태(PS)에서도 호스트(110)의 전원은 예상치 못한 원인으로 차단될 수 있을 것이다. 따라서, 서든 파워 오프(SPO)와 같은 상황에 대비해 지속 보장(Sustainable)의 전력 상태(PS)에서도 메모리 컨트롤러(122)는 최소한의 신뢰성 보장 동작을 수행해야 한다. 예를 들면, 메모리 컨트롤러(122)는 블록 소거에 의해서 카운트-업되는 소거 카운트(Erase Count) 정보를 주기적으로 불휘발성 메모리 장치(124)에 백업해야 할 것이다. 더불어, 데이터가 기입된 메모리 블록의 셀 모드 변경이 존재하는 경우, 메모리 컨트롤러(122)는 이러한 정보를 불휘발성 메모리 장치(124)에 백업할 것이다. 셀 모드 정보는 하나의 메모리 셀이 멀티 레벨 셀(MLC)로 사용되거나 싱글 레벨 셀(SLC)로 사용되는 경우에 정의된다. 그리고, 메모리 블록에서 워드 라인별 또는 페이지별 프로그램 순서의 변경이 발생하는 경우, 해당하는 메모리 블록과 프로그램 순서 정보가 메모리 컨트롤러(122)에 의해서 불휘발성 메모리 장치(124)에 백업될 것이다. 상술한 소거 카운트(Erase Count), 셀 모드 정보, 프로그램 순서 정보는 호스트(110)에서 보장할 수 없는 제어 정보들이다. 따라서, 호스트(110)에 의한 전원의 보장 상태인 지속 보장(Sustainable)의 전력 상태(PS)에서도 최소한의 신뢰성 보장 동작으로서 메모리 컨트롤러(122)에 의해서 소거 카운트(Erase Count), 셀 모드 정보, 프로그램 순서 정보는 백업되어야 한다.
전력 상태(PS)가 차단 예정(Off-expected)에 해당하는 경우에는, 메모리 컨트롤러(122)는 불휘발성 메모리 장치(124)에 저장되는 데이터에 대해서 확증(Confirmed)에 해당하는 신뢰성 보장 레벨로 관리할 것이다. 확증(Confirmed)의 신뢰성 레벨에서, 메모리 컨트롤러(122)는 최초 1회의 데이터 백업 및 메타 데이터 백업을 실시한 이후에 일체의 신뢰성 보장 동작을 수행하지 않을 것이다. 전력 상태 정보(PSI)가 변경되지 않는 이상, 메모리 컨트롤러(122)는 차단 예정(Off-expected) 상태에서는 최초의 백업 동작 이외에는 일체의 메모리 관리 동작을 수행하지 않게 될 것이다.
이상에서는 각각의 전력 상태(PS)에 대응되는 신뢰성 보장 레벨들, 그리고 신뢰성 보장 레벨들 각각에 대응하는 예시적인 신뢰성 보장 동작들이 설명되었다. 하지만, 이러한 신뢰성 보장 동작들은 예시적인 동작들일 뿐이며 기술되지 않은 다양한 동작들이 다양화된 레벨로 세분화되어 수행될 수도 있음은 잘 이해될 것이다.
도 7은 본 발명의 메모리 컨트롤러(122)에 전력 상태 정보에 응답하여 수행되는 신뢰성 보장 방법을 간략히 보여주는 순서도이다. 도 7을 참조하면, 메모리 컨트롤러(122)는 호스트(110)로부터의 파워 온(Power On) 및 전력 상태 정보(PSI)에 응답하여 전력 상태를 결정하고, 각각의 전력 상태에 대응하는 신뢰성 보장 동작을 수행할 것이다. 저장 장치(110)에 전원이 공급되면 본 발명의 동작 절차가 시작된다.
S210 단계에서, 메모리 컨트롤러(122)는 전원의 공급에 따라 파워 온(Power On)되는 즉시 전력 상태를 예측 불가(Unpredictable) 상태로 천이시킬 것이다. 예측 불가(Unpredictable) 상태가 저장 장치(120)의 전력 상태에 대한 디폴트 값으로 간주할 수도 있을 것이다. 예측 불가(Unpredictable) 상태에서, 메모리 컨트롤러(122)는 불휘발성 메모리 장치(124)에 저장되는 데이터에 대해서 최선 노력(Best-effort)의 신뢰성 레벨로 관리할 것이다. 최선 노력(Best-effort)의 신뢰성 레벨에서는 데이터 백업이나 메타 데이터 백업을 주기적으로 또는 조건적으로 수행할 수 있다. 최선 노력(Best-effort)에 대응하는 신뢰성 레벨에서 메모리 컨트롤러(122)는 상대적으로 짧은 주기로 데이터 백업이나 메타 데이터 백업을 수행할 것이다. 또는, 최선 노력(Best-effort)에 대응하는 신뢰성 레벨에서 메모리 컨트롤러(122)는 쓰기 데이터의 사이즈가 기준을 초과하는 시점마다 데이터 백업이나 메타 데이터 백업을 수행할 수 있을 것이다.
S220 단계에서, 메모리 컨트롤러(122)는 호스트(110)로부터 전력 상태 정보(PSI)의 변경이 존재하는지 모니터링할 것이다. 만일, 호스트(110)로부터 전력 상태 정보(PSI)의 변경이 존재하지 않으면(No 방향), 절차는 S210 단계로 복귀하여 최선 노력(Best-effort)에 대응하는 신뢰성 레벨에 따라 불휘발성 메모리 장치(124)를 제어할 것이다. 반면, 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경이 존재하면, 절차는 S230 단계로 이동한다.
S230 단계에서, 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경에 따라 메모리 컨트롤러(122)는 동작 분기를 실시한다. 변경된 전력 상태 정보(PSI)가 지속 보장(Sustainable)에 해당하는 경우, 절차는 S240 단계로 이동한다. 반면, 호스트(110)에 의해서 변경된 전력 상태 정보(PSI)가 차단 예정(Off-expected)에 해당하는 경우, 절차는 S270 단계로 이동한다.
S240 단계에서, 메모리 컨트롤러(122)는 불휘발성 메모리 장치(124)에 저장되는 데이터에 대해서 보장 불가(Not guaranteed)에 해당하는 신뢰성 레벨로 관리할 것이다. 보장 불가(Not guaranteed)의 신뢰성 레벨에서, 메모리 컨트롤러(122)는 데이터 백업을 수행하지 않거나, 상대적으로 긴 주기로 수행할 수 있다. 또는, 보장 불가(Not guaranteed)의 신뢰성 레벨에서, 메모리 컨트롤러(122)는 메타 데이터 백업을 수행하지 않거나, 상대적으로 긴 주기로 수행할 수 있다. 더불어, 보장 불가(Not guaranteed)의 신뢰성 레벨에서, 메모리 컨트롤러(122)는 데이터 백업이나 메타 데이터 백업 동작 중 어느 하나만을 수행할 수도 있을 것이다. 게다가, 보장 불가(Not guaranteed)의 신뢰성 레벨에서 메모리 컨트롤러(122)는 소거 카운트(Erase Count), 셀 모드 정보, 프로그램 순서 정보와 같이 호스트(110)에서 보장할 수 없는 제어 정보들에 대한 백업은 수행할 수 있다.
S250 단계에서, 메모리 컨트롤러(122)는 호스트(110)로부터 전력 상태 정보(PSI)의 변경이 존재하는지 모니터링할 것이다. 만일, 호스트(110)로부터 전력 상태 정보(PSI)의 변경이 존재하지 않으면(No 방향), 절차는 S240 단계로 복귀할 것이다. 반면, 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경이 존재하면, 절차는 S260 단계로 이동한다.
S260 단계에서, 메모리 컨트롤러(122)는 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경에 따라 동작 분기를 실시한다. 변경된 전력 상태 정보(PSI)가 예측 불가(Unpredictable)에 해당하는 경우, 절차는 S210 단계로 복귀한다. 반면, 호스트(110)에 의해서 변경된 전력 상태 정보(PSI)가 차단 예정(Off-expected)에 해당하는 경우, 절차는 S270 단계로 이동한다.
S270 단계에서, 메모리 컨트롤러(122)는 불휘발성 메모리 장치(124)에 저장되는 데이터에 대해서 차단 예정(Off-expected)에 해당하는 확증(Confirm) 레벨로 관리할 것이다. 차단 예정(Off-expected)의 신뢰성 레벨에서, 메모리 컨트롤러(122)는 신속히 1회의 데이터 백업 및 메타 데이터 백업 동작을 수행할 것이다. 차단 예정(Off-expected)의 전력 상태로 변경되기 이전에 기입된 데이터들에 대한 데이터들은 신속히 수행된 데이터 백업 및 메타 데이터 백업 동작에 의해서 신뢰성이 보장된다. 그 이후에는 메모리 컨트롤러(122)는 더 이상 데이터에 대한 신뢰성 보장 동작을 수행하지 않고 전원의 차단을 대비할 것이다.
S280 단계에서, 메모리 컨트롤러(122)는 호스트(110)로부터 전력 상태 정보(PSI)의 변경이 존재하는지 모니터링할 것이다. 만일, 호스트(110)로부터 전력 상태 정보(PSI)의 변경이 존재하지 않으면(No 방향), 시간의 경과에 따라 저장 장치(120)에 전달되는 전원이 차단(Power Off)될 것이다. 반면, 호스트(110)로부터 전력 상태 정보(PSI)의 변경이 존재하면, 절차는 S290 단계로 이동한다. 예를 들면, 차단 예정(Off-expected)이었으나, 긴급히 쓰기 요청이 발행하는 경우가 이에 해당할 수 있다.
S290 단계에서, 메모리 컨트롤러(122)는 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경에 따라 동작 분기를 실시한다. 변경된 전력 상태 정보(PSI)가 지속 보장(Sustainable)에 해당하는 경우, 절차는 S240 단계로 복귀한다. 반면, 호스트(110)에 의해서 변경된 전력 상태 정보(PSI)가 예측 불가(Unpredictable)에 해당하는 경우, 절차는 S210 단계로 이동할 것이다.
이상에서는 호스트(110)에서 제공되는 전력 상태 정보(PSI)를 모니터링하여 불휘발성 메모리 장치에 저장되는 데이터의 신뢰성 레벨을 조정하는 메모리 컨트롤러(122)의 동작이 설명되었다. 하지만, 여기서 설명된 신뢰성 레벨이나 전력 상태 정보의 종류는 더욱 세분화될 수 있음은 잘 이해될 것이다.
도 8a 내지 도 8f는 본 발명의 메모리 컨트롤러(112)에서 수행되는 전력 상태 정보에 기반한 신뢰성 보장 동작을 순차적으로 보여주는 타이밍도들이다. 여기서, 저장 장치(120)에 대한 접근 명령어(Access CMD)는 쓰기 명령(Write)에 한정하여 본 발명의 특징이 설명될 것이다. 하지만, 소거나 읽기 동작에 본 발명의 특징이 적용될 수 있음은 잘 이해될 것이다.
도 8a를 참조하면, T0 시점에 전원이 공급되고, 저장 장치(120)의 전력 상태(PS)는 예측 불가(Unpredictable)로 설정될 것이다. 예측 불가(Unpredictable)의 전력 상태(PS)에서 메모리 컨트롤러(122)는 최선 노력(Best-effort)에 대응하는 신뢰성 레벨로 불휘발성 메모리 장치(124)를 제어할 것이다. 최선 노력(Best-effort)에 대응하는 신뢰성 레벨에서 메모리 컨트롤러(122)는 소거 카운트(Erase Count), 셀 모드 정보, 프로그램 순서 정보와 같이 호스트(110)에서 보장할 수 없는 제어 정보들에 대한 백업은 수행할 수 있다.
이어서, T1 시점에서 메타 데이터 백업이 수행될 것이다. 여기서 메타 데이터의 백업만이 도시되어 있으나, 데이터의 백업 동작도 동시에 실시될 수 있음은 잘 이해될 것이다. 설명의 편의를 위해서 신뢰성 동작은 메타 데이터의 백업으로 요약해서 표시하기로 한다. 메타 데이터의 백업이 수행되면, T1 시점의 이전에 기입된 데이터들은 서든 파워 오프(SPO) 시에도 복구될 수 있다. 따라서, T1 시점의 이전에 기입된 데이터의 신뢰성은 확증(Confirmed)으로, T1 시점의 이후에 기입되는 데이터에 대해서는 여전히 최선 노력(Best-effort)으로 표시될 수 있다.
도 8b를 참조하면, T2 시점에 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경이 발생한다. 즉, 호스트(110)는 저장 장치(120)에 공급하는 전원에 대해 예측 불가(Unpredictable)에서 지속 보장(Sustainable)으로 변경할 것이다. 그러면 저장 장치(120)의 전력 상태(PS)는 지속 보장(Sustainable)로 설정될 것이다. 전력 상태(PS)의 변화에 따라 메모리 컨트롤러(122)는 메타 데이터의 백업(또는, 업데이트)을 수행할 것이다. 메타 데이터의 백업이 수행된 T2 시점의 이전까지 기입된 데이터에 대해서는 신뢰성 레벨이 확증(Confirmed) 레벨로 설정된다. 하지만, T2 시점의 이후에 기입되는 데이터에 대해서는 저장 장치(120)에서는 보장 불가(Not guaranteed)의 신뢰성 레벨로 관리될 것이다. 보장 불가(Not guaranteed)의 신뢰성 레벨에서 저장 장치(120)는 최대 성능으로 불휘발성 메모리 장치를 구동할 수 있을 것이다. 하지만, 보장 불가(Not guaranteed)의 신뢰성 레벨에서 메모리 컨트롤러(122)는 최소한의 신뢰성을 제공하기 위한 소거 카운트(Erase Count), 셀 모드 정보, 프로그램 순서 정보를 백업할 수 있다. 이러한 정보는 호스트(110)에서 보장할 수 없는 제어 정보들이기 때문이다.
도 8c를 참조하면, T3 시점에 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경이 발생한다. 즉, 호스트(110)는 저장 장치(120)에 공급하는 전원에 대해 지속 보장(Sustainable)에서 예측 불가(Unpredictable)로 변경할 것이다. 그러면 전력 상태(PS)의 변화에 따라 메모리 컨트롤러(122)는 T3 시점에서 메타 데이터의 백업(또는, 업데이트)을 수행할 것이다. 메타 데이터의 백업이 수행된 T3 시점의 이전까지 기입된 데이터에 대해서는 신뢰성 레벨이 확증(Confirmed) 레벨로 설정된다. 하지만, T3 시점의 이후에 기입되는 데이터에 대해서는 저장 장치(120)에서는 보장 불가(Not guaranteed)의 신뢰성 레벨로 관리될 것이다.
도 8d를 참조하면, T4 시점에 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경이 발생한다. 즉, 호스트(110)는 저장 장치(120)에 공급하는 전원에 대해 예측 불가(Unpredictable)에서 차단 예정(Unpredictable)으로 변경할 것이다. 그러면 전력 상태(PS)의 변화에 따라 메모리 컨트롤러(122)는 T4 시점에서 메타 데이터의 백업(또는, 업데이트)을 수행할 것이다. 메타 데이터의 백업이 수행된 T4 시점의 이전까지 기입된 데이터에 대해서는 신뢰성 레벨이 확증(Confirmed) 레벨로 설정된다. 하지만, T4 시점의 이후에는 불휘발성 메모리 장치(124)에 대한 접근 동작은 중지된다.
도 8e를 참조하면, T5 시점에 호스트(110)로부터 제공되는 전력 상태 정보(PSI)의 변경이 발생한다. 차단 예정(Unpredictable) 상태에서 추가적인 쓰기 요청이 발생하는 경우 이러한 상태 천이가 발생할 수 있을 것이다. 즉, 호스트(110)는 저장 장치(120)에 공급하는 전원에 대해 차단 예정(Unpredictable)에서 예측 불가(Unpredictable)로 변경할 것이다. 그러면, 메모리 컨트롤러(122)는 예측 불가(Unpredictable)의 전력 상태(PS)에 대응하는 최선 노력(Best-effort)의 신뢰성 레벨로 불휘발성 메모리 장치(124)를 제어할 것이다.
도 8f를 참조하면, 그리고 메모리 컨트롤러(122)는 최선 노력(Best-effort)의 신뢰성 동작을 위해서 T6 시점에서 메타 데이터의 백업을 수행할 것이다. 메타 데이터의 백업이 수행되면, T6 시점의 이전에 기입된 데이터들은 서든 파워 오프(SPO) 시에도 복구될 수 있다. 따라서, T6 시점의 이전에 기입된 데이터의 신뢰성은 확증(Confirmed)으로, T6 시점의 이후에 기입되는 데이터에 대해서는 여전히 최선 노력(Best-effort)으로 표시될 수 있다. 이어서, T7 시점에서 의도하지 않은 서든 파워 오프(SPO)가 발생하면, 저장 장치(120)의 전원은 차단된다. 하지만, T6 시점의 데이터는 재부팅시에 복구될 수 있을 것이다.
이상에서는 호스트(110)로부터 제공되는 전력 상태 정보(PSI)에 따라 신뢰성 동작을 다양하게 가변하는 저장 장치(120)의 동작이 예시적인 시나리오에 따라 설명되었다.
도 9a 및 도 9b는 도 1에 도시된 불휘발성 메모리 장치들에 포함되는 3차원 셀 어레이 형태의 메모리 블록들을 예시적으로 보여주는 도면이다.
도 9a를 참조하면, 메모리 블록(BLKa)는 기판 위에 형성되는 적어도 4개의 서브 블록들을 포함할 수 있다. 각각의 서브 블록들은 기판 위에 워드라인 컷들 사이에 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WLs), 적어도 하나의 스트링 선택 라인(SSL)이 판 형태로 적층됨으로써 형성된다. 여기서 적어도 하나의 스트링 선택 라인(SSL)은 스트링 선택 라인 컷으로 분리된다. 한편, 메모리 블록(BLKa)은 스트링 선택 라인 컷이 존재하지만, 본 발명의 메모리 블록이 여기에 제한되지 않을 것이다. 본 발명의 메모리 블록은 스트링 선택 라인 컷이 존재하지 않도록 구현될 수도 있다.
접지 선택 라인(GSL)과 워드라인들(WLs) 사이에 적어도 하나의 더미 워드라인이 판 형태로 적층되거나, 워드라인들(WLs)과 스트링 선택 라인(SSL) 사이에 적어도 하나의 더미 워드라인이 판 형태로 적층 될 수 있다. 각각의 워드라인 컷들은, 도시되지 않았지만 공통 소스 라인(common source line: CSL)을 포함한다. 실시 예에 있어서, 각각의 워드라인 컷에 포함된 공통 소스 라인(CSL)은 공통으로 연결된다. 비트라인에 연결된 필라(pillar)가 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WLs), 적어도 하나의 스트링 선택 라인(SSL)을 관통함으로써, 스트링이 형성된다.
도 9a에서는 워드라인 컷들 사이의 대상을 서브 블록으로 도시하였는데, 본 발명이 반드시 여기에 제한되지 않는다. 본 발명의 서브 블록은 워드라인 컷과 스트링 선택 라인 컷 사이의 대상을 서브 블록으로 명명할 수 있다. 본 발명의 실시 예에 따른 블록(BLKa)은 두 개의 워드라인들이 하나로 병합된 구조, 다른 말로 워드라인 병합 구조(merged wordline structure)로 구현될 수 있다.
도 9b는 본 발명의 다른 실시 예에 따른 메모리 블록(BLKb)을 예시적으로 보여주는 도면이다. 도 9b를 참조하면, 메모리 블록(BLKb)은 설명의 편의를 위하여 워드라인의 층수가 4라고 하였다. 메모리 블록(BLKb)은 인접한 직렬 연결된 메모리 셀들의 하단들을 파이프로 연결하는 PBiCS(pipe-shaped bit cost scalable) 구조로 구현된다. 메모리 블록(BLKb)은 m×n(m,n은 자연수)의 스트링들(NS)을 포함한다.
도 9b에서는 m=6, n=2를 나타내고 있다. 각 스트링(NS)은 직렬 연결된 메모리 셀들(MC1 ~ MC8)를 포함한다. 여기서 메모리 셀들(MC1 ~ MC8)의 제 1 상단은 스트링 선택 트랜지스터(SST)에 연결되고, 메모리 셀들(MC1 ~ MC8)의 제 2 상단은 접지 선택 트랜지스터(GST)에 연결되고, 메모리 셀들(MC1 ~ MC8)의 하단은 파이프 연결된다.
스트링(NS)을 구성하는 메모리 셀들은 복수의 반도체 층에 적층됨으로써 형성된다. 각 스트링(NS)은 제 1 필라(PL11), 제 2 필라(PL12), 제 1 필라(PL11) 및 제 2 필라(PL12)를 연결하는 필라 연결부(PL13)를 포함한다. 제 1 필라(PL11)는 비트라인(예를 들어, BL1)과 필라 연결부(PL13)에 연결되고, 스트링 선택 라인(SSL), 워드라인들(WL5 ~ WL8) 사이를 관통함으로써 형성된다. 제 2 필라(PL12)는 공통소스라인(CSL)과 필라 연결부(PL13)에 연결되고, 접지 선택 라인(GSL), 워드라인들(WL1 ~ WL4) 사이를 관통함으로써 형성된다. 도 9b에 도시된 바와 같이, 스트링(NS)은 U 자형 필라 형태로 구현된다.
실시 예에 있어서, 백-게이트(BG)는 기판 위에 형성되고, 백-게이트(BC) 내부에 필라 연결부(PL13)가 구현될 수 있다. 실시 예에 있어서, 백-게이트(BG)는 블록(BLKb)에 공통적으로 존재할 수 있다. 백-게이트(BG)는 다른 블록의 백-게이트와 서로 분리된 구조일 수 있다.
도 10은 본 발명의 실시 예들에 따른 불휘발성 메모리 시스템이 적용된 메모리 카드 시스템을 보여주는 블록도이다. 도 10을 참조하면, 메모리 카드 시스템(1000)은 메모리 컨트롤러(1100), 불휘발성 메모리(1200), 그리고 커넥터(1300)를 포함한다.
메모리 컨트롤러(1100)는 불휘발성 메모리(1200)와 연결된다. 메모리 컨트롤러(1100)는 불휘발성 메모리(1200)를 액세스하도록 구성된다. 예를 들어, 메모리 메모리 컨트롤러(1100)는 불휘발성 메모리(1100)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성된다. 배경(background) 동작은 마모도 관리, 가비지 콜렉션 등과 같은 동작들을 포함한다. 예시적으로, 메모리 컨트롤러(1100)는 도 1에서 설명된 바와 같이 외부 장치로부터 제공되는 전원 유지 정보를 참조하여 다양한 레벨의 신뢰성 동작을 수행할 수 있을 것이다.
메모리 컨트롤러(1100)는 불휘발성 메모리(1200) 및 외부 장치 사이에 인터페이스를 제공하도록 구성된다. 메모리 컨트롤러(1100)는 불휘발성 메모리(1200)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다. 예시적으로, 메모리 컨트롤러(1100)는 램(RAM, Random Access Memory), 프로세싱 유닛(processing unit), 호스트 인터페이스(host interface), 메모리 인터페이스(memory interface), 에러 정정부와 같은 구성 요소들을 포함할 수 있다.
메모리 컨트롤러(1100)는 커넥터(1300)를 통해 외부 장치와 통신할 수 있다. 메모리 컨트롤러(1100)는 특정한 통신 규격에 따라 외부 장치(예를 들어, 호스트)와 통신할 수 있다. 예시적으로, 메모리 컨트롤러(1100)는 USB (Universal Serial Bus), MMC (multimedia card), eMMC(embedded MMC), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer small interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), 파이어와이어(Firewire), UFS(Universal Flash Storage), NVMe (Nonvolatile Memory express) 등과 같은 다양한 통신 규격들 중 적어도 하나를 통해 외부 장치와 통신하도록 구성된다. 예시적으로, 상술된 통신 규격들에 의해 정의된 쓰기 커맨드는 쓰기 데이터의 사이즈 정보를 포함할 수 있다.
불휘발성 메모리(1200)는 EPROM (Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 다양한 불휘발성 메모리 소자들로 구현될 수 있다.
예시적으로, 메모리 컨트롤러(1100) 및 불휘발성 메모리(1200)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 메모리 컨트롤러(1100) 및 불휘발성 메모리(1200)는 하나의 반도체 장치로 집적되어 솔리드 스테이트 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 메모리 컨트롤러(1100) 및 불휘발성 메모리(1200)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 메모리 컨트롤러(1100) 및 불휘발성 메모리(1200)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro, eMMC), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 수 있다.
도 11은 본 발명에 따른 불휘발성 메모리 시스템이 적용된 SSD(Solid State Drive) 시스템을 예시적으로 보여주는 블록도이다. 도 11을 참조하면, SSD 시스템(2000)은 호스트(2100) 및 SSD(2200)를 포함한다. SSD(2200)는 신호 커넥터(2001)를 통해 호스트(110)와 신호를 교환하고, 전원 커넥터(2002)를 통해 전원(PWR)을 입력받는다. SSD(2200)는 SSD 컨트롤러(2210), 복수의 플래시 메모리들(2221~222n), 보조 전원 장치(2230), 및 버퍼 메모리(2240)를 포함한다.
SSD 컨트롤러(2210)는 호스트(2100)로부터 수신된 신호에 응답하여 복수의 플래시 메모리들(2221~222n)을 제어할 수 있다. 예시적으로, SSD 컨트롤러(2210)는 도 1에서 설명된 바와 같이 호스트(2100)로부터 제공되는 전원 유지 정보를 참조하여 다양한 레벨의 신뢰성 동작을 수행할 수 있을 것이다.
보조 전원 장치(2230)는 전원 커넥터(2002)를 통해 호스트(2100)와 연결된다. 보조 전원 장치(2230)는 호스트(2100)로부터 전원(PWR)을 입력받고, 충전할 수 있다. 보조 전원 장치(2230)는 호스트(2100)로부터의 전원 공급이 원활하지 않을 경우, SSD 시스템(2000)의 전원을 제공할 수 있다. 예시적으로, 보조 전원 장치(2230)는 SSD(2200) 내에 위치할 수도 있고, SSD(2200) 밖에 위치할 수도 있다. 예를 들면, 보조 전원 장치(2230)는 메인 보드에 위치하며, SSD(2200)에 보조 전원을 제공할 수도 있다.
버퍼 메모리(2240)는 SSD(2200)의 버퍼 메모리로 동작한다. 예를 들어, 버퍼 메모리(2240)는 호스트(2100)로부터 수신된 데이터 또는 복수의 플래시 메모리들(2221~222n)로부터 수신된 데이터를 임시 저장하거나, 플래시 메모리들(2221~222n)의 메타 데이터(예를 들어, 매핑 테이블)를 임시 저장할 수 있다. 버퍼 메모리(2240)는 DRAM, SDRAM, DDR SDRAM, LPDDR SDRAM, SRAM 등과 같은 휘발성 메모리 또는 FRAM ReRAM, STT-MRAM, PRAM 등과 같은 불휘발성 메모리들을 포함할 수 있다.
도 12는 본 발명에 따른 불휘발성 메모리 시스템이 적용된 사용자 시스템을 보여주는 블록도이다. 도 12를 참조하면, 사용자 시스템(3000)은 애플리케이션 프로세서(3100), 메모리 모듈(3200), 네트워크 모듈(3300), 스토리지 모듈(3400), 및 사용자 인터페이스(3500)를 포함한다.
애플리케이션 프로세서(3100)는 사용자 시스템(3000)에 포함된 구성 요소들, 운영체제(OS; Operating System)를 구동시킬 수 있다. 예시적으로, 애플리케이션 프로세서(3100)는 사용자 시스템(3000)에 포함된 구성 요소들을 제어하는 컨트롤러들, 인터페이스들, 그래픽 엔진 등을 포함할 수 있다. 애플리케이션 프로세서(3100)는 시스템-온-칩(SoC; System-on-Chip)으로 제공될 수 있다.
메모리 모듈(3200)은 사용자 시스템(3000)의 주메모리, 동작 메모리, 버퍼 메모리 또는 캐쉬 메모리로 동작할 수 있다. 메모리 모듈(3200)은 DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, LPDDR SDARM, LPDDR3 SDRAM, LPDDR3 SDRAM 등과 같은 휘발성 랜덤 액세스 메모리 또는 PRAM, ReRAM, MRAM, FRAM 등과 같은 불휘발성 랜덤 액세스 메모리를 포함할 수 있다. 예시적으로, 메모리 모듈(3200)는 애플리케이션 프로세서(3100)와 POP 방식으로 패키징될 수 있다.
네트워크 모듈(3300)은 외부 장치들과 통신을 수행할 수 있다. 예시적으로, 네트워크 모듈(3300)은 CDMA(Code Division Multiple Access), GSM(Global System for Mobile communication), WCDMA(wideband CDMA), CDMA-2000, TDMA(Time Dvision Multiple Access), LTE(Long Term Evolution), Wimax, WLAN, UWB, 블루투스, WI-DI 등과 같은 무선 통신을 지원할 수 있다. 예시적으로, 네트워크 모듈(3300)은 애플리케이션 프로세서(3100)에 포함될 수 있다.
스토리지 모듈(3400)은 데이터를 저장할 수 있다. 예를 들어, 스토리지 모듈(3400)은 애플리케이션 프로세서(3100)로부터 수신한 데이터를 저장할 수 있다. 또는 스토리지 모듈(3400)은 스토리지 모듈(3400)에 저장된 데이터를 애플리케이션 프로세서(3100)로 전송할 수 있다. 예시적으로, 스토리지 모듈(3400)은 PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), NAND flash, NOR flash, 3차원 구조의 NAND 플래시 등과 같은 불휘발성 반도체 메모리 소자로 구현될 수 있다.
예시적으로, 스토리지 모듈(3400)은 도 1의 저장 장치(120)와 동일한 방식으로 동작할 수 있다. 스토리지 모듈(3400)은 애플리케이션 프로세서(3100)와 미리 정해진 인터페이스를 기반으로 통신할 수 있다. 스토리지 모듈(3400)은 애플리케이션 프로세서(3100)로부터 수신한 쓰기 커맨드를 기반으로 가비지 콜렉션의 수행 시간을 조절할 수 있다.
사용자 인터페이스(3500)는 애플리케이션 프로세서(3100)에 데이터 또는 명령어를 입력하거나 또는 외부 장치로 데이터를 출력하는 인터페이스들을 포함할 수 있다. 예시적으로, 사용자 인터페이스(3500)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서, 압전 소자 등과 같은 사용자 입력 인터페이스들을 포함할 수 있다. 사용자 인터페이스(3500)는 LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) 표시 장치, AMOLED (Active Matrix OLED) 표시 장치, LED, 스피커, 모터 등과 같은 사용자 출력 인터페이스들을 포함할 수 있다.
앞서 설명된 불휘발성 메모리 장치 또는 메모리 컨트롤러는 다양한 형태의 패키지로 실장될 수 있다. 예를 들면, 불휘발성 메모리(1200) 또는 메모리 카드 시스템(1000)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (10)

  1. 불휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법에 있어서:
    호스트로부터 상기 저장 장치로 공급되는 전원의 상태를 지시하는 전력 상태 정보를 수신하는 단계;
    상기 전력 상태 정보의 변화에 따라 상기 저장 장치의 전력 상태를 결정하는 단계;
    상기 결정된 전력 상태에 따라 상기 불휘발성 메모리 장치에 대한 복수의 신뢰성 레벨들 중 적어도 하나를 선택하는 단계; 그리고
    상기 선택된 적어도 하나의 신뢰성 레벨에 대응하는 상기 불휘발성 메모리 장치에 대한 신뢰성 보장 동작을 수행하는 단계를 포함하되,
    상기 전력 상태는 상기 전원에 대한 예측 불가, 지속 보장, 그리고 차단 예정 상태들 중 어느 하나를 포함하는 동작 방법.
  2. 제 1 항에 있어서,
    상기 전원이 최초 공급된 이후에 상기 전력 상태는 예측 불가로 초기화되는 동작 방법.
  3. 제 1 항에 있어서,
    상기 신뢰성 레벨은 최선 노력(Best-effort) 레벨, 보장 불가(Not guaranteed), 그리고 확증(Confirmed)의 적어도 3개 레벨을 포함하는 동작 방법.
  4. 제 3 항에 있어서,
    상기 신뢰성 레벨이 상기 최선 노력으로 결정되는 경우, 상기 불휘발성 메모리 장치에 기입되는 데이터에 대한 백업 또는 상기 기입되는 데이터의 메타 데이터에 대한 백업이 제 1 주기에 따라 반복적으로 수행되는 동작 방법.
  5. 제 4 항에 있어서,
    상기 신뢰성 레벨이 상기 보장 불가로 결정되는 경우, 상기 불휘발성 메모리 장치에 기입되는 데이터에 대한 백업 또는 상기 기입되는 데이터의 메타 데이터에 대한 백업이 상기 제 1 주기보다 긴 제 2 주기에 따라 수행되는 동작 방법.
  6. 제 4 항에 있어서,
    상기 신뢰성 레벨이 상기 보장 불가로 결정되는 경우, 상기 불휘발성 메모리 장치에 기입되는 데이터에 대한 백업 및 상기 기입되는 데이터의 메타 데이터에 대한 백업 중 어느 하나만이 선택적으로 수행되는 동작 방법.
  7. 제 4 항에 있어서,
    상기 신뢰성 레벨이 상기 보장 불가로 결정되는 경우에도 상기 불휘발성 메모리 장치의 선택된 메모리 블록에 대한 소거 카운트, 셀 특성 정보, 그리고 프로그램 순서 정보들 중 적어도 하나는 주기적으로 백업되는 동작 방법.
  8. 제 3 항에 있어서,
    상기 신뢰성 레벨이 상기 확증으로 결정되는 경우, 상기 불휘발성 메모리 장치에 기입되는 데이터에 대한 백업 및 상기 기입되는 데이터의 메타 데이터에 대한 백업이 1회 수행되는 동작 방법.
  9. 제 3 항에 있어서,
    상기 예측 불가에 대응하는 전력 상태에서는 상기 최선 노력(Best-effort)의 신뢰성 레벨이, 상기 지속 보장의 전력 상태에서는 상기 보장 불가(Not guaranteed)의 신뢰성 레벨이, 그리고 상기 차단 예정에 대응하는 전력 상태에서는 확증(Confirmed)의 신뢰성 레벨이 결정되는 동작 방법.
  10. 제 1 항에 있어서,
    상기 불휘발성 메모리 장치는 전하 트랩 층을 포함하는 3차원 메모리 어레이를 포함하는 동작 방법.
KR1020150031071A 2015-03-05 2015-03-05 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법 KR102222444B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150031071A KR102222444B1 (ko) 2015-03-05 2015-03-05 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법
US14/995,627 US9672915B2 (en) 2015-03-05 2016-01-14 Storage device using power state information and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150031071A KR102222444B1 (ko) 2015-03-05 2015-03-05 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20160108707A KR20160108707A (ko) 2016-09-20
KR102222444B1 true KR102222444B1 (ko) 2021-03-04

Family

ID=56849636

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150031071A KR102222444B1 (ko) 2015-03-05 2015-03-05 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9672915B2 (ko)
KR (1) KR102222444B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6860830B2 (ja) * 2016-06-28 2021-04-21 日本精機株式会社 車両用表示装置
CN108021471A (zh) * 2016-11-04 2018-05-11 三星电子株式会社 数据存储装置、数据处理系统及制造数据存储装置的方法
US10503241B2 (en) 2017-05-16 2019-12-10 Micron Technology, Inc. Providing energy information to memory
US10700703B2 (en) * 2018-06-28 2020-06-30 Intel Corporation Dynamic reliability levels for storage devices
KR20200029810A (ko) * 2018-09-11 2020-03-19 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그의 동작방법
KR102601152B1 (ko) * 2019-05-10 2023-11-13 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160433A (ja) 1993-12-09 1995-06-23 Toshiba Corp ディスクキャッシュ制御装置
JP3124201B2 (ja) 1995-01-04 2001-01-15 富士通株式会社 入出力制御装置
JPH11149332A (ja) 1997-11-14 1999-06-02 Toshiba Corp 携帯情報機器、データ管理方法
JP3437081B2 (ja) 1998-02-19 2003-08-18 矢崎総業株式会社 集中監視システムにおける受信データ管理方法及びデータ送受信装置
US7107480B1 (en) 2000-12-22 2006-09-12 Simpletech, Inc. System and method for preventing data corruption in solid-state memory devices after a power failure
JP2003100088A (ja) 2001-09-25 2003-04-04 Matsushita Electric Ind Co Ltd 半導体集積回路
JP2003308256A (ja) 2002-04-18 2003-10-31 Fujitsu Ten Ltd バックアップ装置、及びバックアップ方法
KR20060028850A (ko) * 2004-09-30 2006-04-04 삼성전자주식회사 휴대 정보 단말장치의 전원 관리 방법 및 장치
US7275140B2 (en) 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
US7793059B2 (en) 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US8527709B2 (en) * 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
JP5113488B2 (ja) 2007-10-31 2013-01-09 優 喜連川 計算機システム、省電力化方法及び計算機
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
KR101493776B1 (ko) * 2007-12-07 2015-02-16 삼성전자주식회사 전력 상태에 따른 무선 메모리 디바이스 구동 방법
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) * 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
US9465745B2 (en) * 2010-04-09 2016-10-11 Seagate Technology, Llc Managing access commands by multiple level caching
US10360143B2 (en) * 2010-07-01 2019-07-23 Qualcomm Incorporated Parallel use of integrated non-volatile memory and main volatile memory within a mobile device
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US8775847B2 (en) 2010-12-14 2014-07-08 Memory Technologies Llc Method and apparatus to boost mass memory performance given power supply availability

Also Published As

Publication number Publication date
US9672915B2 (en) 2017-06-06
KR20160108707A (ko) 2016-09-20
US20160259577A1 (en) 2016-09-08

Similar Documents

Publication Publication Date Title
KR102291803B1 (ko) 불휘발성 메모리 시스템의 동작 방법, 및 그것을 포함하는 사용자 시스템의 동작 방법
US10120589B2 (en) Method of adjusting read voltages applied by a nonvolatile memory device using information stored by a read history table
US20160188208A1 (en) Nonvolatile memory system and operation method of the same
US9727250B2 (en) Nonvolatile memory system and operation method of a memory controller that manages page serial numbers according to program elapsed times of pages
US9406393B2 (en) Nonvolatile memory devices and program verification methods using one verification voltage to verify memory cells having different target states
US9760308B2 (en) Nonvolatile memory system and operation method of the same
KR102222444B1 (ko) 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법
US20170092366A1 (en) Operating method of nonvolatile memory system
US11301150B2 (en) Memory controller and method for updating address mapping information
US11216332B2 (en) Memory controller and method of operating the same
US11264086B2 (en) Memory controller and operating method thereof
US20190318786A1 (en) Storage device and method of operating the same
US11288189B2 (en) Memory controller and method of operating the same
US9798478B2 (en) Nonvolatile memory system for creating and updating program time stamp and operating method thereof
KR20220087782A (ko) 메모리 컨트롤러 및 이를 포함하는 저장 장치
KR20220087785A (ko) 메모리 컨트롤러 및 이를 포함하는 저장 장치
KR20190040598A (ko) 컨트롤러 및 컨트롤러의 동작방법
KR102435863B1 (ko) 스토리지 장치 및 그것을 포함하는 서버 시스템의 매칭 키 검색 방법
US11106392B2 (en) Memory system and operating method thereof
KR102417696B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR102654308B1 (ko) 메모리 시스템 및 그것의 동작방법
US20200150868A1 (en) Memory system and operating method thereof
US11762769B2 (en) Memory controller based on flush operation and method of operating the same
US11676643B2 (en) Memory device, storage device, and method of operating memory controller to output read data in response to read enable signal
US11521684B2 (en) Memory device and method of operating the same

Legal Events

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