KR20210110071A - 스토리지 장치 및 상기 스토리지 장치의 동작 방법 - Google Patents

스토리지 장치 및 상기 스토리지 장치의 동작 방법 Download PDF

Info

Publication number
KR20210110071A
KR20210110071A KR1020200025531A KR20200025531A KR20210110071A KR 20210110071 A KR20210110071 A KR 20210110071A KR 1020200025531 A KR1020200025531 A KR 1020200025531A KR 20200025531 A KR20200025531 A KR 20200025531A KR 20210110071 A KR20210110071 A KR 20210110071A
Authority
KR
South Korea
Prior art keywords
buffer memory
mode
power
memory
storage device
Prior art date
Application number
KR1020200025531A
Other languages
English (en)
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 KR1020200025531A priority Critical patent/KR20210110071A/ko
Priority to US17/143,590 priority patent/US11550496B2/en
Priority to EP21152103.4A priority patent/EP3872641B1/en
Priority to CN202110190414.5A priority patent/CN113325942A/zh
Publication of KR20210110071A publication Critical patent/KR20210110071A/ko
Priority to US18/068,302 priority patent/US20230118815A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

본 개시의 예시적 실시예에 따른 스토리지 장치는, 복수의 비휘발성 메모리 셀을 포함하는 비휘발성 메모리, 상기 비휘발성 메모리에 기입될 기입 데이터 또는 상기 비휘발성 메모리로부터 독출된 독출 데이터를 임시 저장하는 버퍼 메모리, 외부 호스트로부터 슬립 모드 신호 수신 시, 상기 비휘발성 메모리의 전원이 차단되도록 설정하고, 상기 버퍼 메모리에 저장된 기입 데이터를 상기 비휘발성 메모리에 기입하기 위한 데이터 덤프 조건을 기초로, 상기 버퍼 메모리를 전원이 차단되는 제1 모드 및 저전력으로 동작하는 제2 모드 중 하나로 설정하는 컨트롤러를 포함할 수 있다.

Description

스토리지 장치 및 상기 스토리지 장치의 동작 방법{Storage device and Method of operating the storage device}
본 개시의 기술적 사상은 스토리지 장치에 관한 것으로서, 더욱 상세하게는, 비휘발성 메모리 및 버퍼 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법에 관한 것이다.
비휘발성 메모리로서 플래시 메모리는 전원이 차단되어도 저장하고 있는 데이터를 유지할 수 있다. 최근 SSD(Solid State Drive) 및 메모리 카드 등의 플래시 메모리를 포함하는 스토리지 장치가 널리 사용되고 있다. 스토리지 장치는 비휘발성 메모리에 저장되는 데이터 또는 비휘발성 메모리로부터 독출되는 데이터를 버퍼링하고, 비휘발성 메모리를 관리하기 위한 메타 데이터를 저장하는 버퍼 메모리를 포함할 수 있다. 스토리지 장치가 딥 슬립 모드로 진입 시에 버퍼 메모리의 전력이 차단될 경우, 버퍼 메모리에 저장된 메타 데이터가 비휘발성 메모리에 기입되어야 하므로 기입을 위한 시간 및 전력이 소비될 수 있다. 또한, 버퍼 메모리의 전력이 차단되지 않을 경우, 버퍼 메모리의 대기 전력으로 인하여 스토리지 장치의 소비 전력이 증가될 수 있다.
본 개시의 기술적 사상은, 호스트의 요청에 따라 딥 슬립 모드로 진입 시, 소정의 조건을 기초로 버퍼 메모리의 전력 모드를 설정하는 스토리지 장치 및 이의 동작 방법을 제공한다.
본 개시의 기술적 사상에 따른 스토리지 장치는, 복수의 비휘발성 메모리 셀을 포함하는 비휘발성 메모리, 상기 비휘발성 메모리에 기입될 기입 데이터 또는 상기 비휘발성 메모리로부터 독출된 독출 데이터를 임시 저장하는 버퍼 메모리, 및
외부 호스트로부터 슬립 모드 신호 수신 시, 상기 비휘발성 메모리의 전원이 차단되도록 설정하고, 상기 버퍼 메모리에 저장된 기입 데이터를 상기 비휘발성 메모리에 기입하기 위한 기입 조건을 기초로, 상기 버퍼 메모리를 전원이 차단되는 제1 모드 및 저전력으로 동작하는 적어도 하나의 제2 모드 중 하나로 설정하는 컨트롤러를 포함할 수 있다.
본 개시의 기술적 사상에 따른 스토리지 장치는, 복수의 비휘발성 메모리 셀을 포함하는 비휘발성 메모리 및 상기 비휘발성 메모리를 관리하기 위한 메타 데이터를 저장하는 버퍼 메모리를 포함하고, 딥 슬립 모드 진입 시, 상기 메타 데이터가 상기 비휘발성 메모리에 기입되기 위해 소요되는 덤프 시간 또는 상기 메타 데이터가 상기 비휘발성 메모리로부터 상기 버퍼 메모리에 리로딩되기 위해 소요되는 리로딩 시간을 기초로 판단되는 제1 조건을 기초로, 상기 버퍼 메모리를 파워 오프 모드 또는 셀프-리프래시 모드로 설정하는 컨트롤러를 포함할 수 있다.
본 개시의 기술적 사상에 따른 스토리지 장치는, 복수의 비휘발성 메모리 셀을 포함하는 비휘발성 메모리, 상기 비휘발성 메모리에 기입될 데이터 또는 상기 비휘발성 메모리로부터 독출된 데이터를 임시 저장하는 버퍼 메모리, 상기 비휘발성 메모리 및 상기 버퍼 메모리 각각에 전력을 제공하는 전력 관리 모듈 및 외부 호스트로부터 슬립 모드 신호 수신 시, 상기 버퍼 메모리에 저장된 상 데이터를 상기 비휘발성 메모리에 기입하기 위한 조건을 만족할 경우 상기 버퍼 메모리를 전원이 차단되는 제1 모드로 설정하고, 상기 조건을 만족하지 못할 경우, 상기 버퍼 메모리를 셀프-리프래시 동작을 수행하는 제2 모드로 설정하는 전력 모드 매니저를 포함할 수 있다.
본 개시의 기술적 사상에 따른 비휘발성 메모리 및 버퍼 메모리를 포함하는 스토리지 장치의 동작 방법은, 외부 호스트로부터 슬립 모드 신호 신호를 수신하는 단계, 상기 버퍼 메모리에 저장된 메타 데이터가 상기 비휘발성 메모리에 기입되기위해 소요되는 덤프 시간을 기초로 상기 버퍼 메모리의 모드를 결정하는 단계, 결정된 모드에 따라 상기 버퍼 메모리의 모드가 설정되는 단계 및 상기 비휘발성 메모리의 전원이 차단됨으로써 슬립 모드로 진입하는 단계를 포함할 수 있다.
본 개시의 기술적 사상에 따른 스토리지 장치는, 복수의 비휘발성 메모리 셀을 포함하는 비휘발성 메모리, 상기 비휘발성 메모리의 동작을 제어하기 위한 메타 데이터를 저장하는 버퍼 메모리; 및 외부 호스트로부터 수신되는 슬립 모드 신호 신호에 응답하여, 상기 비휘발성 메모리가 파워 오프되고, 상기 버퍼 메모리의 복수의 저장 영역 중 일부 저장 영역이 파워 오프되도록 제어하는 컨트롤러를 포함할 수 있다.
본 개시의 기술적 사상에 따르면, 스토리지 장치가 딥 슬립 모드로 진입 시, 소정의 조건 만족 시에, 버퍼 메모리에 저장된 메타 데이터가 비휘발성 메모리에 기입된 후, 버퍼 메모리의 전원이 차단되고, 소정의 조건이 만족되지 않으면, 버퍼 메모리가 메타 데이터를 유지하고, 버퍼 메모리가 저전력 모드로 동작할 수 있다. 이에 따라, 스토리지 장치의 딥 슬립 모드 진출입 레이턴시가 감소되고 스토리지 장치의 전력 효율이 향상될 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 3a, 도 3b, 도 3c 및 도 3d는 본 개시의 예시적 실시예에 따른 스토리지 장치의 전력 상태를 예시적으로 나타낸다.
도 4a 및 도 4b는 본 개시의 예시적 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 5는 본 개시의 예시적 실시예에 따른 스토리지 장치의 슬립 모드 진출입을 나타내는 타이밍도이다.
도 6은 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 7a는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이고, 도 7b는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리로의 데이터 덤프 동작을 나타낸다.
도 8a는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 8b는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리로의 데이터 리로딩 동작을 나타낸다.
도 9는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 10은 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 11은 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 12는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 13a, 및 도 13b는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 14는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 15는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다.
도 16a 및 도 16b는 본 개시의 예시적 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 17은 본 개시의 실시예에 따른 컨트롤러의 일 구현예를 나타내는 블록도이다.
도 18은 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 19는 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 20은 본 개시의 예시적 실시예에 따른 SSD 및 이를 포함하는 SSD 시스템을 나타내는 블록도이다.
도 1은 본 개시의 예시적 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 1을 참조하면, 스토리지 시스템(10)은 스토리지 장치(100) 및 호스트(200)를 포함하고, 스토리지 장치(100)는 컨트롤러(110), 비휘발성 메모리(Non Volatile Memory, NVM)(120) 및 버퍼 메모리(130)를 포함할 수 있다.
호스트(200)는 다양한 인터페이스를 통하여 스토리지 장치(100)와 통신할 수 있다. 예를 들어, 호스트(200)는 AP(Application Processor) 또는 SoC(System-On-a-Chip)로 구현될 수 있다. 또한, 예를 들어, 호스트(200)는 집적 회로(integrated circuit), 마더보드(motherboard), 또는 데이터베이스 서버로 구현될 수 있으나 이에 한정되는 것은 아니다.
호스트(200)는 스토리지 장치(100)에 기입 요청 및 리드 요청을 전송할 수 잇다. 스토리지 장치(100)는 기입 요청에 응답하여, 호스트(200)로부터 수신되는 데이터를 비휘발성 메모리(120)에 저장하고, 리드 요청에 응답하여, 비휘발성 메모리(120)에 저장된 데이터를 독출하고, 독출된 데이터를 호스트(200)로 전송할 수 있다.
또한, 호스트(200)는 스토리지 장치(100)의 전력 운용을 제어할 수 있다. 호스트(200)는 스토리지 장치(100)의 전력 상태(state)를 제어하는 디바이스 전력 제어 신호, 예컨대, 슬립 모드 신호(S_SLP_) 또는 웨이크업 신호(S_WU)를 스토리지 장치(100)에 전송할 수 있다. 예를 들어, 스토리지 장치(100)의 동작이 요구되지 않는 기간에 호스트(200)는 스토리지 장치(100)가 설정될 수 있는 전력 상태들 중 가장 낮은 전력 상태(다시 말해서 단위 시간 당 소비 전력이 가장 낮은 상태)를 갖도록 요청하는 슬립 모드 신호(S_SLP)(또는 디바이스 슬립 모드 신호, 딥 슬립 모드 신호 등으로 지칭될 수 있음)를 스토리지 장치(100)로 전송하고, 스토리지 장치(100)는 슬립 모드 신호(S_SLP)에 응답하여, 슬립 모드로 진입할 수 있다. 슬립 모드에 진입하면, 스토리지 장치(100)의 컨트롤러(110) 및 비휘발성 메모리(120)는 어떠한 동작도 수행하지 않을 수 있다.
이후, 스토리지 장치(100)의 동작이 요구될 경우, 호스트(200)는 스토리지 장치(100)에 웨이크업 신호(S_WU)를 전송할 수 있다. 스토리지 장치(100)는 웨이크업 신호(S_WU)에 응답하여, 슬립 모드로부터 진출할 수 있으며, 스토리지 장치(100)의 동작 모드는 슬립 모드로부터 노말 동작 모드 (또는 아이들 모드)로 변경될 수 있다.
비휘발성 메모리(120)는 복수의 메모리 셀이 2차원 또는 3차원 어레이 구조를 가지는 메모리 셀 어레이를 포함할 수 있으며, 복수의 메모리 셀은 1 비트로 프로그램되는 싱글 레벨 셀 또는 2 비트 이상으로 프로그램되는 멀티 레벨 셀, 트리플 레벨 셀 또는 쿼드러플 레벨 셀 등을 포함할 수 있다. 메모리 셀은 낸드(NAND) 플래쉬 메모리 셀일 수 있다. 그러나, 이에 한정되는 것은 아니며, 메모리 셀은 ReRAM(resistive RAM), PRAM(phase change RAM), MRAM(magnetic RAM)과 같은 저항형 메모리 셀들일 수 있다.
비휘발성 메모리(120)는, 각각이 메모리 셀 어레이를 포함하는 복수의 비휘발성 메모리 장치(또는 비휘발성 메모리 모듈)로 구현될 수 있으며, 복수의 비휘발성 메모리 장치는 복수의 채널을 통해 컨트롤러(110)와 데이터를 송수신할 수 있다.
버퍼 메모리(130)는 비휘발성 메모리(120)에 기입될 데이터 또는 비휘발성 메모리(120)로부터 독출된 데이터를 임시 저장(버퍼링)할 수 있다. 또한, 버퍼 메모리(130)는 메타 데이터를 저장할 수 있다. 여기서, 메타 데이터는 사용자 데이터 또는 비휘발성 메모리(200)를 관리하기 위해 컨트롤러(110)에서 생성된 데이터이다. 예를 들어, 메타 데이터는 호스트(200)의 논리 주소를 비휘발성 메모리(200)의 물리 주소로 변환시키는데 이용되는 맵핑 정보(맵 데이터)를 포함할 수 있다. 또한, 메타 데이터는 비휘발성 메모리(200)의 복수의 영역들에 대한 P/E 싸이클(프로그램/소거 싸이클), 결함이 발생한 배드 블록에 대한 정보 등과 같이 비휘발성 메모리(200)의 메모리 공간을 관리하기 위한 다양한 정보를 포함할 수 있다.
한편, 본 개시에서, 버퍼 메모리(130)는 컨트롤러(110)와는 별개의 구성으로 컨트롤러(110)의 외부에 구비되는 것으로 도시되었으나, 이에 제한되는 것은 아니며, 버퍼 메모리(130)는 컨트롤러(110) 내부에 구비될 수 있다.
컨트롤러(110)(또는 스토리지 컨트롤러라고 함)는 스토리지 장치(100)의 전반적인 동작을 제어할 수 있으며, 호스트(200)로부터의 리드 요청에 응답하여 비휘발성 메모리(120)에 저장된 데이터를 독출하거나, 또는 호스트(200)로부터의 기입 요청에 응답하여 데이터를 기입하도록 비휘발성 메모리(120)를 제어할 수 있다. 컨트롤러(110)는 버퍼 메모리(130)에 메타 데이터로서 저장된 맵핑 정보를 기초로 비휘발성 메모리(120)의 기입 동작 및 리드 동작을 제어할 수 있다.
또한, 컨트롤러(110)는 호스트(200)로부터 수신되는 디바이스 전력 제어 신호, 예컨대 슬립 모드 신호(S_LSP) 및 웨이크업 신호(S_WU)를 기초로 스토리지 장치(100)의 전력 상태를 제어할 수 있다.
컨트롤러(110)는 전력 모드 매니저(150)(또는 얼라이브 매니저라고 함)를 구비할 수 있으며, 전력 모드 매니저(150)가 스토리지 장치(100)의 전력 상태를 제어할 수 있다. 전력 모드 매니저(150)는 비휘발성 메모리(120), 버퍼 메모리(130)의 전력 상태를 제어할 수 있으며, 또한 컨트롤러(110)의 전력 상태를 제어할 수 있다. 전력 모드 매니저(150)는 수신된 슬립 모드 신호(S_SLP)에 응답하여, 스토리지 장치(100)가 슬립 모드로 진입하도록 제어하며, 비휘발성 메모리(120) 및 전력 모드 매니저(150)를 제외한 컨트롤러(110)의 구성들을 파워 오프시킬 수 있다. 예컨대, 전력 모드 매니저(150)는 비휘발성 메모리(120) 및 컨트롤러(110)에 인가되는 전원을 차단시킬 수 있다.
본 실시예에서, 전력 모드 매니저(150)는 스토리지 장치(100)가 슬립 모드로 진입할 때, 소정의 조건을 기초로 버퍼 메모리(130)를 전원 차단 모드(파워 오프 모드) 또는 적어도 하나의 저전력 모드로 설정할 수 있다. 전원 차단 모드는 제1 모드로, 적어도 하나의 전력 모드는 제2 모드로 지칭될 수도 있다.
버퍼 메모리(130)가 전원 차단 모드로 설정될 경우, 버퍼 메모리(130)에 저장된 데이터(예컨대 메타 데이터)는 비휘발성 메모리(120)에 기입되고, 버퍼 메모리(130)가 파워 오프될 수 있다. 버퍼 메모리(130)가 파워 오프되는 바, 버퍼 메모리(130)의 소비 전력이 없거나 또는 매우 적을 수 있다.
적어도 하나의 저전력 모드는, 셀프-리프레시 모드(또는 완전 셀프-리프레시 모드라고 지칭됨), 파셜 셀프-리프레시 모드, 및 저 전압 모드 중 적어도 하나를 포함할 수 있다. 버퍼 메모리(130)가 저전력 모드로 설정된 경우, 버퍼 메모리(130)의 소비 전력은 노멀 동작 모드(예컨대 엑티브 모드) 시의 소비 전력보다 상대적으로 매우 낮을 수 있다.
예를 들어, 버퍼 메모리(130)가 셀프-리프레시 모드로 동작 시, 버퍼 메모리(130)의 입출력 회로에 인가되는 전원이 차단되며, 다만 버퍼 메모리(130)에 구비되는 메모리 셀 어레이는 저장된 데이터를 유지하기 위하여, 셀프-리프레시를 수행할 수 있다. 버퍼 메모리(130)는 데이터의 입/출력 없이, 소정의 주기로 메모리 셀 어레이를 셀프-리프레시하는 바, 버퍼 메모리(130)에 인가되는 클락 신호의 주파수는 데이터가 메모리 셀 어레이에 저장되거나 또는 메모리 셀 어레이로부터 독출되는 노멀 동작 시의 클락 신호의 주파수보다 상대적으로 낮을 수 있다.
버퍼 메모리(130)가 파셜 셀프-리프레시 모드로 동작 시, 버퍼 메모리(130)의 복수의 저장 영역들 중 적어도 하나의 저장 영역에 저장된 데이터는 비휘발성 메모리(120)에 기입되고, 적어도 하나의 저장 영역은 파워 오프될 수 있다. 버퍼 메모리(130)의 복수의 저장 영역들 중 상기 적어도 하나의 저장 영역을 제외한 나머지 저장 영역은 셀프-리프레시 모드로 동작할 수 있다. 다시 말해서, 버퍼 메모리(130)의 복수의 저장 영역들 중 일부 저장 영역은 전원이 차단되고 다른 일부 저장 영역은 전원이 차단되지 않고, 셀프-리프레시 모드로 동작할 수 있다.
버퍼 메모리(130)가 저 전압 모드로 동작 시, 버퍼 메모리(130)에 인가되는 전원 전압의 레벨은 버퍼 메모리(130)가 노멀 동작 시 버퍼 메모리(130)에 인가되는 전원 전압의 레벨보다 낮을 수 있다. 스토리지 장치(100)가 슬립 모드일 경우, 버퍼 메모리(130)에 대한 데이터 기록 및 리드가 수행되지 않는 바, 버퍼 메모리(130)는 낮은 전원 전압을 기초로 저속 동작할 수 있다. 이에 따라서, 버퍼 메모리(130)의 소비 전력이 감소될 수 있다.
버퍼 메모리(130)가 전원 차단 모드로 설정될 경우의 버퍼 메모리(130)의 소비 전력은 버퍼 메모리(130)가 저전력 모드로 설정된 경우의 버퍼 메모리(130)의 소비 전력보다 매우 적을 수 있다. 다만, 버퍼 메모리(130)가 파워 오프되기 전에 버퍼 메모리(130)에 저장된 데이터(이하, 덤프 데이터라고 함)가 비휘발성 메모리(120)에 기입(또는 덤프(dump)라고 함)되어야 하는데 덤프 데이터가 비휘발성 메모리(120)에 덤프되기 위하여 요구되는 시간(이하 데이터 덤프 시간)에 의해 스토리지 장치(100)가 슬립 모드로 진입 시의 진입 레이턴시(entry latency)가 증가될 수 있다. 스토리지 장치(100)가 슬립 모드에서 진출 시, 상기 덤프 데이터가 버퍼 메모리(130)에 재로딩(또는 재저장(restoring)) 되어야 하며, 재로딩에 요구되는 시간(이하, 리로딩 시간)에 의해 스토리지 장치(100)가 슬립 모드 진출 시의 진출 레이턴시(exit latency)가 증가될 수 있다. 그리고, 덤프 데이터의 사이즈가 클 경우, 많은 양의 에너지가 소비되고, 다량의 열이 발생할 수 있다. 또한, 비휘발성 메모리(120)는 기입 및 소거 횟수가 제한되는데, 덤프 횟수가 증가될 경우, 비휘발성 메모리(120)의 내구성(endurance)이 감소될 수 있다.
따라서, 전력 모드 매니저(150)는 버퍼 메모리(130)가 각 모드로 설정될 경우의 소비 전력, 진/출입 레이턴시, 및 비휘발성 메모리(120)의 내구성 등을 고려하여, 데이터가 덤프될 수 있는 데이터 덤프 조건을 설정하고, 덤프 데이터의 사이즈 및 비휘발성 메모리(120)의 기입 환경을 기초로, 데이터 덤프 조건을 만족하는지 여부를 확인하고, 데이터 덤프 조건이 만족된다고 판단될 경우, 버퍼 메모리(130)를 전원 차단 모드로 설정하고, 덤프 조건이 만족되지 못한다고 판단될 경우, 버퍼 메모리(130)를 적어도 하나의 저전력 모드로 설정할 수 있다.
전력 모드 매니저(150)는 호스트(200)로부터 웨이크업 신호(S_WU)를 수신할 수 있으며, 웨이크업 신호(S_WU)에 응답하여, 스토리지 장치(100)가 슬립 모드로부터 진출할 수 있도록 제어할 수 있다. 예를 들어, 전력 모드 매니저(150)는 웨이크업 신호(S_WU)에 응답하여, 컨트롤러(110) 및 비휘발성 메모리(120)가 파워 온 되도록 제어하고, 또한 버퍼 메모리(130)가 파워 온되거나, 버퍼 메모리(130)가 저전력 모드에서 엑티브 모드로 전환되도록 제어할 수 있다.
전력 모드 매니저(150)는 회로 또는 모듈로 구현될 수 있다. 또한, 전력 모드 매니저(150)는 하드웨어, 소프트웨어(또는 펌웨어) 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있으며, 실시예에 있어서, 전력 모드 매니저(150)는 전술한 기능을 수행하는 프로그램 코드로 구현될 수 있으며, 적어도 하나의 프로세서(예컨대 컨트롤러(110) 내부에 구비되는 프로세서)에 의해 실행될 수 있다.
도 1에서는 전력 모드 매니저(150)는 컨트롤러(110) 내부에 구비되는 것으로 도시되었으나, 이에 제한되는 것은 아니며, 실시예에 있어서, 전력 모드 매니저(150)는 컨트롤러(110)와는 별개의 집적 회로로서, 스토리지 장치(100)에 구비될 수 있다. 전력 모드 매니저(150)는 항상 파워-온 상태를 유지하며, 스토리지 장치(100) 내의 다른 구성들, 컨트롤러(110), 비휘발성 메모리(120) 및 버퍼 메모리(130)의 전력 상태를 제어할 수 있다.
전술한 바와 같이, 본 개시의 실시예에 따른 스토리지 장치(100)는 가장 낮은 전력 상태에 해당하는 슬립 모드로 진입 시, 현재 상황에 따라 버퍼 메모리(130)의 전력 모드를 전원 차단 모드 또는 적어도 하나의 저전력 모드로 설정할 수 있다. 이에 따라 스토리지 장치(100)의 전체 소비 전력 효율이 향상될 수 있으며, 스토리지 장치(100)의 슬립 모드 진출입 레이턴시가 감소될 수 있다.
한편, 스토리지 시스템(10)은 예를 들어, PC(personal computer), 데이터 서버, 네트워크-결합 스토리지(network-attached storage, NAS), IoT(Internet of Things) 장치, 또는 휴대용 전자 기기로 구현될 수 있다. 휴대용 전자 기기는, 랩탑 컴퓨터, 이동 전화기, 스마트폰, 태블릿 PC, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라, 디지털 비디오 카메라, 오디오 장치, PMP(portable multimedia player), PND(personal navigation device), MP3 플레이어, 휴대용 게임 콘솔(handheld game console), e-북(e-book), 웨어러블 기기 등일 수 있다.
일부 실시예들에서, 스토리지 장치(100)는 전자 장치에 내장되는 내부 메모리일 수 있다. 예를 들어, 스토리지 장치(100)는 임베디드 SSD, 임베디드 UFS(Universal Flash Storage) 메모리 장치 또는 eMMC(embedded Multi-Media Card)일 수 있다. 일부 실시예들에서, 스토리지 장치(100)는 전자 장치에 착탈 가능한 외장 메모리일 수 있다. 예를 들어, 스토리지 장치(100)는 SSD, UFS 메모리 카드, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 또는 메모리 스틱(Memory Stick)일 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다. 도 2는 도 1의 스토리지 장치(100)를 보다 상세하게 나타낸다. 도 1을 참조하여 설명한 내용은 도 2의 스토리지 장치(100a)에도 적용될 수 있으며, 중복되는 설명은 생략하기로 한다.
도 2를 참조하면, 스토리지 장치(100a)는 컨트롤러(110), 비휘발성 메모리, 버퍼 메모리(130) 및 전력 관리 집적 회로(140)(Power Management Integrated Circuit; 이하 PMIC라고 함)(140)를 포함할 수 있다. PMIC(140)는 전력 관리 모듈로 지칭될 수 있다.
PMIC(140)는 스토리지 장치(100a)의 다른 구성들, 예컨대, 컨트롤러(110), 비휘발성 메모리(120), 및 버퍼 메모리(130) 각각에 대응하는 전원(P1, P2, P3)을 제공할 수 있다. 예를 들어, PMIC는 스토리지 장치(100a)의 다른 구성들 각각에 대응하는 전원 전압 및 클럭 신호를 생성하고, 전원 전압 및 클럭 신호를 대응하는 구성에 제공할 수 있다. 예를 들어, 도 2에서, 제1 전원(P1)은 컨트롤러(110)에 제공되는 전원 전압, 또는 컨트롤러(110)에 제공되는 전원 전압 및 클럭 신호를 의미할 수 있다.
PMIC(140)는 전력 모드 매니저(150)의 제어 하에, 컨트롤러(110), 비휘발성 메모리(120), 및 버퍼(140) 각각에 제공되는 전원(P1, P2, P3)을 조절할 수 있다. PMIC(140)는 전원들(P1, P2, P3) 각각의 제공을 유지하거나, 차단하거나 또는 전원들(P1, P2, P3) 각각의 레벨을 감소 또는 증가시킬 수 있다.
예를 들어, 스토리지 장치(100a)가 슬립 모드 진입 시, PMIC(140)는 전력 모드 매니저(150)로부터 수신되는 전력 제어 신호(CON_P)에 응답하여, 컨트롤러(110) 및 비휘발성 메모리(120) 각각에 제공되는 제1 전원(P1) 및 제3 전원(P3)을 차단할 수 있다. 예를 들어, PMIC(140)는 컨트롤러(110) 및 비휘발성 메모리(120) 각각에 대한 전원 전압 및/또는 클럭 신호의 제공을 중단할 수 있다.
또한, PMIC(140)는 전력 제어 신호(CON_P)에 응답하여, 버퍼 메모리(130)에 제공되는 제2 전원(P2)을 차단하거나, 또는 제2 전원(P2)의 레벨을 감소시킬 수 있다. 예를 들어, PMIC(140)는 버퍼 메모리(130)에 제공되는 전원 전압 및/또는 클럭 신호의 제공을 중단함으로써, 제2 전원(P2)을 차단하거나, 전원 전압의 전압 레벨을 낮추거나 클럭 신호의 주파수를 감소시킴으로써 제2 전원(P2)의 레벨을 감소시킬 수 있다.
전력 모드 매니저(150)는 스토리지 장치(100a)가 슬립 모드 진입 시, 소정의 조건을 기초로 상기 버퍼 메모리(130)를 전원 차단 모드 또는 적어도 하나의 저전력 모드로 설정할 수 있으며, 버퍼 메모리(130)에 대하여 설정된 모드에 기초하여 제2 전원(P2)을 차단하거나, 또는 제2 전원(P2)의 레벨을 감소시키도록 상기 PMIC(140)를 제어할 수 있다.
또한, 스토리지 장치(100a)가 슬립 모드로부터 진출 시, 전력 모드 매니저(150)는 컨트롤러(110), 비휘발성 메모리(120), 및 버퍼(140) 각각에 타겟 레벨의 전원(P1, P2, P3)을 제공하도록 PMIC(140)를 제어할 수 있다.
도 3a, 도 3b, 도 3c 및 도 3d는 본 개시의 예시적 실시예에 따른 스토리지 장치의 전력 상태(state)를 예시적으로 나타낸다.
도 3a는 스토리지 장치(100a)가 엑티브 모드일 때, 스토리지 장치(100a)의 전력 모드를 나타내고, 도 3b, 도 3c 및 도 3d는 스토리지 장치(100a)가 슬립 모드일 때, 스토리지 장치의 전력 상태를 나타낸다.
도 3a를 참조하면, PMIC(140)는 스토리지 장치(100a)의 외부로부터 수신되거나 또는 스토리지 장치(100a)의 배터리로부터 수신되는 입력 전원, 예컨대 입력 전압(Vin)을 기초로, 스토리지 장치(100a)의 구성들, 예컨대 컨트롤러(110), 버퍼 메모리(130) 및 비휘발성 메모리(120) 각각에 대응하는 전원들(P1-1, P1-2, P2, 및 P3)을 생성하고, 전원들(P1-1, P1-2, P2, 및 P3)을 대응하는 구성에 제공할 수 있다. 실시예에 있어서, 전력 모드 매니저(150)는 스토리지 장치(100a)의 전력 모드에 무관하게 항상 동작하는 상시 동작 모듈이며, 컨트롤러(110)에 제공되는 전원 P1-1 과는 별도의 전원 P1-2를 수신할 수 있다.
스토리지 장치(100a)가 슬립 모드 일 때, 스토리지 장치(100a)의 전력 상태는 도 3b, 도 3c 및 도 3d 중 하나에 따른 전력 상태를 나타낼 수 있다.
도 3b는 버퍼 메모리(130)가 전원 차단 모드로 설정되는 경우의 스토리지 장치(100a)의 전력 상태를 나타낸다.
도 3b를 참조하면, 컨트롤러(110), 버퍼 메모리(130) 및 비휘발성 메모리(120)는 파워 오프될 수 있다. PMIC(140)에서, 컨트롤러(110), 버퍼 메모리(130) 및 비휘발성 메모리(120) 각각으로 제공되는 전원들(P1-1, P2 및 P3)이 차단(Off)될 수 있다. 버퍼 메모리(130)의 전원 P2가 차단 되기 전, 버퍼 메모리(130)에 저장된 데이터, 예컨대 메타데이터는 비휘발성 메모리(120)에 덤프될 수 있다. 비휘발성 메모리(120)는 전원 P3가 차단되어도, 저장된 데이터를 유지할 수 있다. 전술한 바와 같이, 전력 모드 매니저(150)는 상시 동작 모듈이므로, 전력 모드 매니저(150)에는 전원 P1-2가 제공될 수 있다.
도 3c는 버퍼 메모리(130)가 저 전력 모드로 설정되는 경우의 스토리지 장치(100a)의 전력 상태를 나타낸다. 예를 들어, 버퍼 메모리(130)는 셀프-리프레시 모드로 설정될 수 있다.
도 3c를 참조하면, 컨트롤러(110), 및 비휘발성 메모리(120)는 파워 오프될 수 있다. PMIC(140)에서, 컨트롤러(110), 및 비휘발성 메모리(120) 각각으로 제공되는 전원들(P1-1, 및 P3)이 차단(Off)될 수 있다. 한편, 버퍼 메모리(130)에는 전원 P2가 제공될 수 있으며, 다만, 버퍼 메모리(130)는 저전력 모드로 동작할 수 있다.
버퍼 메모리(130)가 셀프-리프레시 모드로 설정된 경우, 버퍼 메모리(130)에 구비되는 입출력 회로에는 전원 P2의 공급이 차단되며, 다만, 버퍼 메모리(130)의 메모리 셀 어레이에 전원 P2가 공급되고, 메모리 셀 어레이는 데이터, 예컨대 메타 데이터 유지를 위하여 소정의 주기로 셀프-리프레쉬될 수 있다.
실시예에 있어서, 버퍼 메모리(130)는 저 전압 모드로 설정될 수 있다. 버퍼 메모리(130)에 인가되는 전원 P2의 레벨이 감소될 수 있다. 예를 들어, 버퍼 메모리(130)에 인가되는 전원 전압이 스토리지 장치(100a)가 엑티브 모드일 때 버퍼 메모리(130)에 인가되는 전원 전압보다 낮을 수 있다. 또는 버퍼 메모리(130)에 인가되는 클럭 신호의 주파수가 스토리지 장치(100a)가 엑티브 모드일 때, 버퍼 메모리(130)에 인가되는 클럭 신호의 주파수보다 낮을 수 있다.
도 3d는 버퍼 메모리(130)가 다른 저전력 모드로 설정되는 경우의 스토리지 장치(100a)의 전력 상태를 나타낸다. 예를 들어, 버퍼 메모리(130)는 파셜 셀프-리프레시 모드로 설정될 수 있다.
도 3d를 참조하면, 버퍼 메모리(130)는 복수의 저장 영역, 예컨대 제1 내지 제3 저장 영역(AR1, AR2 및 AR3)을 포함할 수 있으며, 파셜 셀프-리프레시 모드로 설정된 경우, 적어도 하나의 저장 영역, 예컨대 제2 저장 영역(AR2) 및 제3 저장 영역에 저장된 데이터, 예컨대 제2 메타 데이터 및 제3 메타 데이터는 비휘발성 메모리(120)에 덤프되고, 적어도 하나의 저장 영역, 예컨대 제2 저장 영역(AR2) 및 제3 저장 영역은 전원(P2-2, P2-3)이 차단될 수 있다. 나머지 저장 영역, 예컨대 제1 저장 영역(AR1)에는 전원(P2-1)이 인가되고, 제1 저장 영역(AR1)에 저장된 데이터, 예컨대 제1 메타 데이터는 유지될 수 있다. 이때, 제1 저장 영역(AR1)은 저전력 모드, 예컨대 셀프-리프레쉬 모드로 설정될 수 있다.
실시예에 있어서, 버퍼 메모리(130)가 파셜 셀프-리프레시 모드로 설정될 경우, 전원이 차단되는 저장 영역은 미리 설정될 수 있다. 그러나, 이에 제한되는 것은 아니며, 전원이 차단되는 저장 영역은 파셜 셀프-리프레시 모드가 설정되는 때의 버퍼 메모리(130)의 상태에 따라서 가변될 수도 있다.
도 4a 및 도 4b는 본 개시의 예시적 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다. 도 4a 및 도 4b의 동작 방법은 도 1의 스토리지 장치(100)에서 수행될 수 있다.
도 4a는 슬립 모드로 진입 시의 스토리지 장치의 동작 방법을 나타낸다. 도 1 및 도 4a를 참조하면, 스토리지 장치(100)는 호스트(200)로부터 슬립 모드 신호를 수신할 수 있다(S110). 예를 들어, 스토리지 장치(100)는 전용 핀(또는 채널)을 통해 호스트(200)로부터 슬립 모드 신호를 수신할 수 있다. 그러나, 이에 제한되는 것은 아니며, 스토리지 장치(100)는 범용 핀(또는 범용 채널)을 통해 슬립 모드를 요청하는 커맨드를 수신할 수 있다.
스토리지 장치(100)는 버퍼 메모리(130)의 전력 모드를 결정할 수 있다(S120). 전력 모드 매니저(150)가 도 1을 참조하여 전술한 바와 같이, 소정의 조건, 예컨대 데이터 덤프 조건을 기초로 버퍼 메모리(130)의 전력 모드를 결정할 수 있다. 전력 모드 매니저(150)는 데이터 덤프 조건이 만족되면, 버퍼 메모리(130)의 전력 모드를 파워 오프 모드로 결정하고, 데이터 덤프 조건이 만족되지 못하면, 버퍼 메모리(130)의 전력 모드를 저전력 모드로 결정할 수 있다.
버퍼 메모리(130)가 파워 오프 모드로 설정되었는지 여부가 판단되고(S130), 버퍼 메모리(130)가 파워 오프 모드로 설정된 경우, 버퍼 메모리(130)가 저장된 데이터를 비휘발성 메모리(120)로 덤프할 수 있다(S140). 데이터 덤프가 완료된 후, 버퍼 메모리(130)가 파워 오프될 수 있다(S150). 다시 말해서, PMCI(도 2의 140)로부터 버퍼 메모리(130)에 제공되는 전원이 차단될 수 있다.
버퍼 메모리(130)가 파워 오프 모드로 설정되지 않은 경우, 다시 말해서, 버퍼 메모리(130)가 적어도 하나의 저전력 모드로 설정된 경우, 버퍼 메모리(130)가 저전력 모드로 동작할 수 있다(S160). 버퍼 메모리(130)는 도 3c 및 도 3d를 참조하여 설명한 바와 같이, 설프-리프레시 모드, 파셜 셀프-리프레시 모드 또는 저전압 모드로 동작할 수 있다.
버퍼 메모리(130)의 전력 모드가 설정된 후, 컨트롤러(110) 및 비휘발성 메모리(120)가 파워 오프될 수 있다(S170). 다시 말해서, PMCI(도 2의 140)로부터 컨트롤러(110) 및 비휘발성 메모리(120)에 각각에 제공되는 전원들이 차단될 수 있다.
도 4b는 슬립 모드로 진출 시의 스토리지 장치의 동작 방법을 나타낸다. 도 1 및 도 4b를 참조하면, 스토리지 장치(100)는 호스트(200)로부터 웨이크업 신호를 수신할 수 있다(S210). 스토리지 장치(100)가 슬립 모드일 때, 전력 모드 매니저(150)는 파워 온 상태일 수 있다. 따라서, 전력 모드 매니저(150)가 호스트(200)로부터 웨이크업 신호를 수신할 수 있다.
스토리지 장치(100)는 버퍼 메모리(130)의 전력 모드를 체크할 수 있다(S220). 예컨대, 전력 모드 매니저(150)가 내부에 저장된 히스토리 또는 PMIC(140)에 대한 설정 값 등을 확인하여, 버퍼 메모리(130)의 전력 모드를 체크할 수 있다.
버퍼 메모리(130)가 파워 오프 모드로 설정되었는지 여부가 판단되고(S230), 버퍼 메모리(130)가 파워 오프 모드로 설정된 경우, 버퍼 메모리(130)가 파워-온 되고(240), 이후 비휘발성 메모리(120)에 덤프된 메타 데이터가 버퍼 메모리로 로딩될 수 있다(S250).
버퍼 메모리(130)가 파워 오프 모드로 설정되지 않은 경우, 다시 말해서, 버퍼 메모리(130)가 적어도 하나의 저전력 모드로 설정된 경우, 버퍼 메모리(130)는 엑티브 모드(260)로 전환될 수 있다.
이후, 컨트롤러(110) 및 비휘발성 메모리(120)가 파워 온 될 수 있다(S270). PMIC(140)가 컨트롤러(110) 및 비휘발성 메모리(120) 각각에 해당하는 전원을 제공할 수 있다. 이로써, 스토리지 장치(100)는 엑티브 모드로 전환되거나 또는 슬립 모드 보다 전력 상태가 높은 아이들 모드로 전환될 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 스토리지 장치의 슬립 모드 진출입을 나타내는 타이밍도이다.
도 1 및 5를 참조하면, 호스트(200)로부터 제공되는 디바이스 전력 제어 신호(DPCS)에 응답하여, 스토리지 장치(100)가 슬립 모드로 진입하거나 또는 슬립 모드로부터 진출할 수 있다.
예를 들어, 디바이스 전력 제어 신호(DPCS)가 제1 레벨, 예컨대 로직 로우에서 제2 레벨, 예컨대 로직 하이로 천이됨으로써, 슬립 모드 신호(S_SLP)가 수신되고, 디바이스 전력 제어 신호(DPCS)가 제2 레벨에서 제1 레벨로 천이됨으로써, 웨이크업 신호(S_WU)가 수신될수 있다. 그러나, 이에 제한되는 것은 아니며, 스토리지 장치(100)는 호스트(200)로부터 별도의 핀들을 통해 슬립 모드 신호(S_SLP) 및 웨이크업 신호(S_WU)를 각각 수신할 수도 있다.
스토리지 장치(100)의 버퍼 메모리(130)가 제1 모드, 예컨대 전원 차단 모드로 설정된 경우, 스토리지 장치(100)가 슬립 모드로 진입 시, 버퍼 메모리(130)에 저장된 데이터가 비휘발성 메모리(120)로 덤프될 수 있다. 또한, 스토리지 장치(100)가 슬립 모드로부터 진출 시, 비휘발성 메모리(120)에 저장된 데이터, 예컨대 메타 데이터가 버퍼 메모리(130)로 재로딩(또는 리스토어(restore))될 수 있다. 이에 따라, t1 시점에 슬립 모드 신호(S_SLP)가 수신된 후, Ten1 기간 이후인 t2 시점에 스토리지 장치(100)가 슬립 모드로 진입하고, t3 시점에 웨이크업 신호(S_WU)가 수신된 후, Tex1 기간 이후인 t4 시점에 스토리지 장치(100)가 슬립 모드로부터 진출할 수 있다.
스토리지 장치(100)의 버퍼 메모리(130)가 제2 모드, 예컨대 저전력 모드로 설정된 경우, 데이터 덤프 및/또는 데이터 재로딩이 수행되지 않는다. 따라서, t1 시점에 슬립 모드 신호(S_SLP)가 수신된 후, Ten1 기간보다 적은 Ten2 기간 이후인 t2' 시점에 스토리지 장치(100)가 슬립 모드로 진입하고, t3 시점에 웨이크업 신호(S_WU)가 수신된 후, Tex1 기간 보다 적은 Tex2 기간 이후인 t4' 시점에 스토리지 장치(100)가 슬립 모드로부터 진출할 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 6의 동작 방법은 도 1의 스토리지 장치(100)의 전력 모드 매니저(150)에 의해 수행될 수 있다.
도 1 및 도 6을 참조하면, 전력 모드 매니저(150)는 데이터 덤프 조건을 확인할 수 있다(S310). 예를 들어, 데이터 덤프 조건은, 데이터 덤프 시간, 덤프 데이터 사이즈, 데이터 리로딩 시간, 비휘발성 메모리(120)의 내구성 마진, 데이터 덤프 수행에 따른 소비 에너지, 발열량, 버퍼 메모리(130)에 대하여 설정된 전력 모드의 히스토리 등을 포함할 수 있다. 전력 모드 매니저(150)는 데이터 덤프 시간을 산출하거나, 비휘발성 메모리(120)에 데이터가 덤프 될 경우 추후 웨이크 없시 요구되는 데이터가 버퍼 메모리(130)에 리로딩 되는데 소요되는 리로딩 시간을 산출하거나, 덤프 데이터 사이즈를 체크하거나, 비휘발성 메모리(120)의 P/E 싸이클을 기초로 내구성 마진을 산출하거나, 데이터 덤프 수행에 따른 소비 에너지 또는 발열량을 산출하거나, 버퍼 메모리(130)의 전력 모드 히스토리를 체크함으로써, 데이터 덤프 조건을 확인할 수 있다.
전력 모드 매니저(150)는 스토리지 장치(100)의 현재 상태가 데이터 덤프 조건을 만족하는지 여부를 판단할 수 있다(S320). 예컨대 전력 모드 매니저(150)는 데이터 덤프 시간이 임계 시간을 초과하는지 판단할 수 있다.
전력 모드 매니저(150)는 데이터 덤프 조건이 만족된다고 판단될 경우, 버퍼 메모리(130)를 파워 오프 모드로 설정하고(S330), 데이터 덤프 조건이 만족되지 못한다고 판단될 경우, 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다(S340).
도 7a는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 7a의 방법은 도 6의 방법을 예시적으로 나타낸다.
도 1 및 도 7a를 참조하면, 스토리지 장치(100)는 데이터 덤프 시간(Td)을 산출할 수 있다(S11). 도 7b를 참조하여 데이터 덤프 시간(Td)에 대하여 설명하기로 한다.
도 7b는 본 개시의 예시적 실시예에 따른 스토리지 장치(100)에서 버퍼 메모리(130)로의 데이터 덤프 동작을 나타낸다.
도 7b를 참조하면, 버퍼 메모리(130)는 메타 데이터 및 저널 데이터를 저장할 수 있다. 스토리지 장치(100)에서 기입 및 리드 동작이 수행됨에 따라 메타 데이터가 변경될 수 있다. 저널 데이터는 메타 데이터의 변경을 나타내는 업데이트 정보를 포함할 수 있다. 구체적으로, 저널 데이터는 메타 데이터의 변경이 발생한 동작(operation)의 타입에 대한 정보, 및 메타 데이터의 변경을 복원하기 위한 실질적인 데이터를 포함할 수 있다. 메타 데이터의 변경이 발생한 동작의 타입에 대한 정보는 프로그램 동작, 블록 할당 동작, 페이지 복사 동작 등과 같이 메타 데이터를 변경시킬 수 있는 다양한 동작들에 대한 타입을 정의하는 정보들이 포함될 수 있다. 그리고, 메타 데이터의 변경을 복원하기 위한 실질적인 데이터는 논리 주소, 이전 물리 주소, 새로운 물리 주소 등이 포함될 수 있다.
버퍼 메모리(130)의 데이터 덤프 동작 시, 저널 데이터를 기초로 메타 데이터가 재구성되고 재구성된 메타 데이터가 비휘발성 메모리(120)에 저장될 수 있다. 저널 데이터의 사이즈가 클수록 메타 데이터를 재구성하고, 재구성된 메타 데이터가 비휘발성 메모리(120)에 저장되기 위해 소요되는 데이터 덤프 시간이 증가될 수 있다.
계속하여 도 7a를 참조하면, 전력 모드 매니저(150)는 저널 데이터의 사이즈 및 메타 데이터의 사이즈를 기초로 메타 데이터를 재구성하는데 소요되는 시간 및 재구성된 메타 데이터가 비휘발성 메모리에 기입되는 시간을 산출할 수 있다. 이로써, 데이터 덤프 시간(Td)이 산출될 수 있다.
한편, 덤프 데이터가 비휘발성 메모리(120)의 싱글 레벨 영역, 다시 말해서 싱글 레벨 셀들로 구성된 메모리 블록에 저장될 경우 단위 시간당 기입되는 제1 데이터 사이즈는 덤프 데이터가 비휘발성 메모리(120)의 멀티 레벨영역, 다시 말해서 멀티 레벨 셀들로 구성된 메모리 블록에 저장될 경우의 단위 시간당 기입되는 제2 데이터 사이즈보다 클 수 있다. 따라서, 전력 모드 매니저(150)는 데이터 덤프 시간(Td) 산출 시, 비휘발성 메모리(120)의 기입 환경을 고려할 수 있다.
스토리지 장치(100)는 데이터 덤프 시간(Td)을 소정의 제1 임계 시간(Tth1)과 비교할 수 있다(S12). 예컨대, 제1 임계 시간(Tth1)은 슬립 모드 진입에 대하여 설정된 진입 레이턴시의 최대값일 수 있다.
스토리지 장치(100)는 데이터 덤프 시간(Td)이 제1 임계 시간(Tth1) 이하인 경우, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S13). 스토리지 장치(100)는 데이터 덤프 시간(Td)이 제1 임계 시간(Tth1) 이하인 경우, 데이터 덤프 조건을 만족한다고 판단하고, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다. 파워 오프 모드에서 버퍼 메모리(130)에 저장된 덤프 데이터가 비휘발성 메모리(120)로 덤프될 수 있다.
스토리지 장치(100)는 데이터 덤프 시간(Td)이 제1 임계 시간(Tth1)을 초과하는 경우, 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다(S14). 스토리지 장치(100)는 데이터 덤프 시간(Td)이 제1 임계 시간(Tth1)을 초과하는 경우, 데이터 덤프 조건을 만족하지 못한다고 판단하고, 데이터 덤프가 수행되지 않도록 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다.
도 8a는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 8a의 방법은 도 6의 방법을 예시적으로 나타낸다.
도 1 및 도 8a를 참조하면, 스토리지 장치(100)는 데이터 리로딩 시간(Tr)을 산출할 수 있다(S21). 도 8b를 참조하여 데이터 리로딩 시간에 대하여 설명하기로 한다.
도 8b는 본 개시의 예시적 실시예에 따른 스토리지 장치(100)에서 버퍼 메모리(130)로의 데이터 리로딩 동작을 나타낸다.
도 8b를 참조하면, 비휘발성 메모리(120)에는 메타 데이터 및 저널 데이터가 저장될 수 있다. 버퍼 메모리(130)로부터 비휘발성 메모리(120)로 데이터 덤프가 수행될 때, 저널 데이터를 기초로 한 메타 데이터의 재구성 없이, 저널 데이터가 비휘발성 메모리(120)에 기입될 수 있다. 변경 전의 메타 데이터는 비휘발성 메모리(120)에 이미 기입된 상태일 수 있다.
이후, 스토리지 장치(100)가 슬립 모드로부터 진출 시, 비휘발성 메모리(120)로부터 메타데이터가 버퍼 메모리(130)로 리로딩될 수 있다. 이때, 저널 데이터를 기초로 메타 데이터가 재구성되고, 재구성된 메타데이터가 버퍼 메모리(130)에 리로딩될 수 있다. 저널 데이터의 사이즈가 클수록 메타 데이터를 재구성하고, 재구성된 메타 데이터가 버퍼 메모리(130)에 리로딩 되기 위해 소요되는 데이터 리로딩 시간(Tr)이 증가될 수 있다.
계속하여 도 8a를 참조하면, 전력 모드 매니저(150)는 저널 데이터의 사이즈 및 메타 데이터의 사이즈를 기초로 메타 데이터를 재구성하는데 소요되는 시간 및 재구성된 메타 데이터가 비휘발성 메모리에 기입되는 시간을 산출할 수 있다. 이로써, 데이터 리로딩 시간(Tr)이 산출될 수 있다.
한편, 리로딩 데이터가 비휘발성 메모리(120)의 싱글 레벨 영역, 다시 말해서 싱글 레벨 셀들로 구성된 메모리 블록으로부터 독출될 경우 단위 시간당 독출되는 제3 데이터 사이즈는 리로딩 데이터가 비휘발성 메모리(120)의 멀티 레벨영역, 다시 말해서 멀티 레벨 셀들로 구성된 메모리 블록에서 독출될 경우의 단위 시간당 독출되는 제4 데이터 사이즈보다 클 수 있다. 따라서, 전력 모드 매니저(150)는 데이터 리로딩 시간(Tr) 산출 시, 비휘발성 메모리(120)의 독출 환경을 고려할 수 있다.
스토리지 장치(100)는 데이터 리로딩 시간(Tr)을 소정의 제2 임계 시간(Tth2)과 비교할 수 있다(S22). 예컨대, 제2 임계 시간(Tth2)은 슬립 모드 진출에 대하여 설정된 진출 레이턴시의 최대값일 수 있다.
스토리지 장치(100)는 데이터 리로딩 시간(Tr)이 제2 임계 시간(Tth2) 이하인 경우, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S23). 스토리지 장치(100)는 데이터 리로딩 시간(Tr)이 제2 임계 시간(Tth2) 이하인 경우, 데이터 덤프 조건을 만족한다고 판단하고, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다.
스토리지 장치(100)는 데이터 리로딩 시간(Tr)이 제2 임계 시간(Tth2)을 초과하는 경우, 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다(S24). 스토리지 장치(100)는 데이터 리로딩 시간(Tr)이 제2 임계 시간(Tth2)을 초과하는 경우, 데이터 덤프 조건을 만족하지 못한다고 판단하고, 데이터 덤프가 수행되지 않도록 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 9의 방법은 도 6의 방법을 예시적으로 나타낸다.
도 9를 참조하면, 스토리지 장치(100)는 덤프 데이터의 사이즈(Sd)를 체크할 수 있다(S31). 예컨대, 전력 모드 매니저(150)는 버퍼 메모리(130)로부터 비휘발성 메모리(120)에 기입될 덤프 데이터의 사이즈(Sd)를 확인할 수 있다.
스토리지 장치(100)는 덤프 데이터의 사이즈(Sd)를 소정의 임계 사이즈(Sth)와 비교할 수 있다(S32). 스토리지 장치(100)는 덤프 데이터의 사이즈(Sd)가 임계 사이즈(Sth) 이하이면, 데이터 덤프 조건을 만족한다고 판단하고, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S33). 스토리지 장치(100)는 덤프 데이터의 사이즈(Sd)가 임계 사이즈(Sth)를 초과하면, 데이터 덤프 조건을 만족하지 못한다고 판단하고, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S34).
덤프 데이터의 사이즈(Sd)가 클수록 데이터 덤프 시간(도 7a의 Rd), 및 데이터 리로딩 시간(도 8a의 Tr)이 증가될 수 있고, 또한 덤프 데이터의 사이즈(Sd)가 클수록 데이터 덤프 시 발생하는 소비 에너지 및 발열량이 증가될 수 있다. 따라서, 스토리지 장치(100)는 전술한 바와 같이, 덤프 데이터의 사이즈(Sd)를 기초로 데이터 덤프 조건을 만족하는지 여부를 판단할 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 10의 방법은 도 6의 방법을 예시적으로 나타낸다.
도 10을 참조하면, 스토리지 장치(100)는 비휘발성 메모리(120)의 내구성 마진(EM)을 체크할 수 있다(S41). 예컨대, 전력 모드 매니저(150)는 버퍼 메모리(130)에 메타 데이터로서 저장된 P/E 싸이클을 기초로 비휘발성 메모리(120)의 내구성 마진(EM)을 산출할 수 있다. 실시예에 있어서, 전력 모드 매니저(150)는 비휘발성 메모리(120)의 복수의 영역들(예컨대 복수의 블록, 또는 복수의 저장 영역) 각각에 대한 P/E 싸이클을 기초로 비휘발성 메모리(120)의 평균 P/E 싸이클을 산출하고, 비휘발성 메모리(120)에 대하여 설정된 최대 P/E 싸이클과 상기 평균 P/E 싸이클을 기초로 비휘발성 메모리(120)의 내구성 마진(EM)을 산출할 수 있다. 실시예에 있어서, 전력 모드 매니저(150)는 비휘발성 메모리(120)의 특정 영역, 예컨대 비휘발성 메모리(120)의 복수의 저장 영역 중 덤프 데이터가 기입될 저장 영역에 대한 내구성 마진(EM)을 산출할 수도 있다.
스토리지 장치(100)는 내구성 마진(EM)을 소정의 내구성 마진의 임계값(EMth)과 비교할 수 있다(S42). 스토리지 장치(100)는 내구성 마진(EM)이 내구성 마진의 임계값(EMth) 이상일 경우, 데이터 덤프 조건을 만족한다고 판단하고, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S43). 스토리지 장치(100)는 내구성 마진(EM)이 내구성 마진의 임계값(EMth) 미만일 경우, 데이터 덤프 조건을 만족하지 못한다고 판단하고, 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다(S44). 다시 말해서, 스토리지 장치(100)는 내구성 마진(EM)이 내구성 마진의 임계값(EMth) 미만일 경우, 비휘발성 메모리(120) 또는 비휘발성 메모리(120)의 특정 영역이 웨어 아웃되는 것을 방지하기 위하여, 데이터 덤프 동작이 수행되지 않도록 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 11의 방법은 도 6의 방법을 예시적으로 나타낸다.
도 11을 참조하면, 스토리지 장치(100)는 데이터 덤프 시 소비되는 에너지(EV)를 산출할 수 있다(S51). 예컨대, 전력 모드 매니저(150)는 단위 시간당 전력 및 데이터 덤프 시간을 기초로 데이터 덤프 시 소비되는 에너지(EV)를 산출할 수 있다.
스토리지 장치(100)는 산출된 에너지(EV)를 소정의 임계 에너지(Eth)과 비교할 수 있다(S52). 스토리지 장치(100)는 에너지(EV)가 임계 에너지(Eth) 이하이면, 데이터 덤프 조건을 만족한다고 판단하고, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S53). 스토리지 장치(100)는 에너지(EV)가 임계 에너지(Eth)를 초과하면, 데이터 덤프 조건을 만족하지 못한다고 판단하고, 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다(S54). 다시 말해서, 스토리지 장치(100)는 데이터 덤프 시 소비되는 에너지(EV)가 임계 에너지(Eth)를 초과하지 않는 경우에 데이터 덤프 동작이 수행되도록 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다.
도 12는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 12의 방법은 도 6의 방법을 예시적으로 나타낸다.
도 12를 참조하면, 스토리지 장치(100)는 데이터 덤프 시 발생하는 발열량(HV)을 산출할 수 있다(S61). 예컨대, 전력 모드 매니저(150)는 단위 시간당 발열량 및 데이터 덤프 시간을 기초로 데이터 덤프 시 발생하는 발열량(HV)을 산출할 수 있다.
스토리지 장치(100)는 발열량(HV)을 소정의 임계 발열량(Hth)과 비교할 수 있다(S62). 스토리지 장치(100)는 발열량(HV)이 임계 발열량(Hth) 이하이면, 데이터 덤프 조건을 만족한다고 판단하고, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S63). 스토리지 장치(100)는 발열량(HV)이 임계 발열량(Hth)을 초과하면, 데이터 덤프 조건을 만족하지 못한다고 판단하고, 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다(S64). 다시 말해서, 스토리지 장치(100)는 데이터 덤프 시 발생하는 발열량(HV)이 클 경우, 다시 말해서, 발열량(HV)이 임계 발열량(Hth)을 초과하는 경우에 데이터 덤프 동작이 수행되지 않도록 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다.
도 13a, 및 도 13b는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 13a, 및 도 13b 의 방법은 도 6의 방법을 예시적으로 나타내며, 버퍼 메모리에 대해 설정된 전력 모드의 히스토리를 기초로 버퍼 메모리의 전력 모드를 결정하는 방법을 나타내다.
도1 및 도 13a를 참조하면, 스토리지 장치(100)는 버퍼 메모리(130)의 이전 전력 모드를 체크할 수 있다(S71). 예컨대 전력 모드 매니저(150)는 스토리지 장치(100)가 이전에 슬립 모드로 진입 시, 버퍼 메모리(130)에 대하여 설정된 전력 모드를 체크할 수 있다. 실시예에 있어서, 전력 모드 매니저(150)는 버퍼 메모리에 대하여 설정되었던 전력 모드를 전력 모드 히스토리로서 저장하고, 상기 전력 모드 히스토리를 기초로 이전 슬립 모드 진입 시, 버퍼 메모리(130)에 대하여 설정된 전력 모드를 확인할 수 있다.
스토리지 장치(100)는 버퍼 메모리(130)가 이전에 파워 오프 모드로 설정되었는지 판단할 수 있다(S72). 스토리지 장치(100)는 버퍼 메모리(130)가 이전에 파워 오프 모드로 설정되었다고 판단되면, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S73). 스토리지 장치(100)는 이전에 버퍼 메모리(130)가 파워 오프 모드로 설정되었다면, 현재 단계에서 비휘발성 메모리(120)로 덤프될 덤프 데이터의 사이즈가 크기 않을 것으로 판단할 수 있다. 이에 따라, 스토리지 장치(100)는 데이터 덤프 조건을 만족한다고 판단하고, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다.
스토리지 장치(100)는 버퍼 메모리(130)가 이전에 파워 오프 모드로 설정되지 않았다고 판단되면, 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다(S74). 스토리지 장치(100)는 이전에 버퍼 메모리(130)가 파워 오프 모드로 설정되지 않았다면, 현재 단계에서 비휘발성 메모리(120)로 덤프될 덤프 데이터의 사이즈가 크다고 판단할 수 있다. 이에 따라, 스토리지 장치(100)는 데이터 덤프 조건을 만족하지 못한다고 판단하고, 버퍼 메모리(130)를 데이터 덤프가 수행되지 않는 저전력 모드로 설정할 수 있다.
도1 및 도 13b를 참조하면, 스토리지 장치(100)는 버퍼 메모리(130)의 단위시간 당 전력 모드별 설정 횟수를 체크할 수 있다(S81). 예컨대, 전력 모드 매니저(150)는 버퍼 메모리(130)의 스토리지 장치(100)가 슬립 모드로 진입 시, 버퍼 메모리(130)에 대하여 설정된 전력 모드를 전력 모드 히스토리로 저장할 있으며, 상기 전력 모드 히스토리를 기초로 단위 시간당 전력 모드 별 설정 횟수를 확인할 수 있다. 전력 모드 매니저(150)는 단위 시간 당 버퍼 메모리(130)가 전력 차단 모드, 예컨대 제1 모드로 설정된 횟수를 나타내는 제1 모드 횟수(N-M1) 및 단위 시간 당 버퍼 메모리(130)가 저전력 모드, 예컨대 제2 모드로 설정된 횟수를 나타내는 제2 모드 횟수(N-M2)를 산출할 수 있다.
스토리지 장치(100)는 제1 모드 횟수(N-M1)와 제2 모드 횟수(N-M2)를 비교할 수 있다(S82). 스토리지 장치(100)는 제1 모드 횟수(N-M1)가 제2 모드 횟수(N-M2) 보다 클 경우, 버퍼 메모리(130)를 파워 오프 모드, 예컨대 제1 모드로 설정하고(S83), 제1 모드 횟수(N-M1)가 제2 모드 횟수(N-M2) 이하일 경우, 버퍼 메모리(130)를 저전력 모드, 예컨대 제2 모드로 설정할 수 있다(S84).
본 실시예에서, 스토리지 장치(100)는 버퍼 메모리(130)가 특정 전력 모드로 설정되는 빈도를 기초로 버퍼 메모리(130)의 전력 모드를 결정할 수 있다.
도 14는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 14의 동작 방법은 도 1의 스토리지 장치(100)의 전력 모드 매니저(150)에 의해 수행될 수 있다.
도 1 및 도 14를 참조하면, 전력 모드 매니저(150)는 제1 데이터 덤프 조건을 확인할 수 있다(S410). 예를 들어, 제1 데이터 덤프 조건은 도 7a 내지 도 13b를 참조하여 설명한 다양한 조건들 중 하나일 수 있다.
전력 모드 매니저(150)는 제1 데이터 덤프 조건을 만족하는지 판단하고(S420), 제1 데이터 덤프 조건을 만족할 경우, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S450).
전력 모드 매니저(150)는 제1 데이터 덤프 조건을 만족하지 못한다고 판단되면, 제2 데이터 덤프 조건을 확인할 수 있다(S430). 제2 데이터 덤프 조건은 도 7a 내지 도 13b를 참조하여 설명한 다양한 조건들 중 제1 데이터 덤프 조건을 제외한 조건들 중 하나일 수 있다.
전력 모드 매니저(150)는 제2 데이터 덤프 조건을 만족하는지 판단하고(S440), 제1 데이터 덤프 조건을 만족할 경우, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S450). 전력 모드 매니저(150)는 제2 데이터 덤프 조건을 만족하지 못한다고 판단될 경우, 버퍼 메모리(130)를 저전력 모드로 설정할 수 있다(S460).
예를 들어, 제1 데이터 덤프 조건은 데이터 덤프 시간이고, 제2 데이터 덤프 조건은 덤프 데이터의 사이즈일 수 있다. 스토리지 장치(100)는 데이터 덤프 시간이 소정의 임계 시간 이하이면 제1 데이터 덤프 조건을 만족한다고 판단하고, 데이 덤프 데이터의 사이즈가 임계 사이즈 이하일 경우, 제2 데이터 덤프 조건을 만족한다고 판단할 수 있다. 따라서, 스토리지 장치(100)는 데이터 덤프 시간이 임계 시간 이하이거나 또는 덤프 데이터의 사이즈가 임계 사이즈 이하일 경우, 버퍼 메모리(130)를 파워 오프 모드로 설정하고, 데이터 덤프 시간이 임계 시간을 초과하고, 덤프 데이터의 사이즈가 임계 사이즈를 초과할 경우, 버퍼 메모리(130)를 저 전력 모드로 설정할 수 있다.
본 실시예에서는 두 개의 데이터 덤프 조건을 기초로 버퍼 메모리(130)의 전력 모드를 설정하는 예가 개시되었다. 그러나, 이에 제한되는 것은 아니며, 스토리지 장치(100)는 세 개 이상의 복수의 데이터 덤프 조건을 기초로 버퍼 메모리(130)의 전력 모드를 설정할 수 있다.
도 15는 본 개시의 예시적 실시예에 따른 스토리지 장치에서 버퍼 메모리의 전력 모드 결정 방법을 나타내는 흐름도이다. 도 15의 동작 방법은 도 1의 스토리지 장치(100)의 전력 모드 매니저(150)에 의해 수행될 수 있다.
도 1 및 도 15를 참조하면, 전력 모드 매니저(150)는 제1 데이터 덤프 조건을 확인할 수 있다(S510). 예를 들어, 제1 데이터 덤프 조건은 도 7a 내지 도 13b를 참조하여 설명한 다양한 조건들 중 하나일 수 있다.
전력 모드 매니저(150)는 제1 데이터 덤프 조건을 만족하는지 판단하고(S520), 제1 데이터 덤프 조건을 만족할 경우, 버퍼 메모리(130)를 파워 오프 모드로 설정할 수 있다(S550).
전력 모드 매니저(150)는 제1 데이터 덤프 조건을 만족하지 못한다고 판단되면, 제2 데이터 덤프 조건을 확인할 수 있다(S530). 제2 데이터 덤프 조건은 도 7a 내지 도 13b를 참조하여 설명한 다양한 조건들 중 제1 데이터 덤프 조건을 제외한 조건들 중 하나일 수 있다.
전력 모드 매니저(150)는 제2 데이터 덤프 조건을 만족하는지 판단하고(S540), 제1 데이터 덤프 조건을 만족할 경우, 버퍼 메모리(130)를 제1 저전력 모드로 설정할 수 있다(S560). 예컨대 제1 저전력 모드는 파셜 셀프-리프레쉬 모드일 수 있다.
전력 모드 매니저(150)는 제2 데이터 덤프 조건을 만족하지 못한다고 판단될 경우, 버퍼 메모리(130)를 제2 저전력 모드로 설정할 수 있다(S570). 예컨대, 제2 저전력 모드는 셀프-리프레시 모드(즉, 완전 셀프-리프레시 모드)일 수 있다.
본 실시예에서, 스토리지 장치(100)는 복수의 조건을 기초로 버퍼 메모리(130)를 세 개 이상의 전력 모드 중 하나로 설정할 수 있다.
도 16a 및 도 16b는 본 개시의 예시적 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다. 도 16a 및 도 16b의 동작 방법은 도 1의 스토리지 장치(100)에서 수행될 수 있다.
도 16a는 슬립 모드로 진입 시의 스토리지 장치의 동작 방법을 나타낸다. 도 1 및 도 16a를 참조하면, 스토리지 장치(100)는 호스트(200)로부터 슬립 모드 신호를 수신할 수 있다(S610). 스토리지 장치(100)는 슬립 모드 신호에 응답하여, 슬립 모드로 진입할 수 있다. 이때, 스토리지 장치(100)는 버퍼 메모리(130)를 파셜 셀프-리프레시 모드로 설정할 수 있다(S620).
버퍼 메모리(130)는 복수의 저장 영역을 포함할 수 있으며, 제1 저장 영역에 저장된 제1 메타데이터가 비휘발성 메모리(120)로 덤프될 수 있다(S630). 데이터 덤프가 완료된 후, 버퍼 메모리(130)의 제1 저장 영역이 파워 오프될 수 있다(S640). 다시 말해서 제1 저장 영역에 전원 인가가 차단될 수 있다.
버퍼 메모리(130)의 복수의 저장 영역 중 제2 저장 영역은 셀프-리프레시 모드로 설정될 수 있다(S650). 버퍼 메모리(130)는 제2 저장 영역의 메모리 셀 어레이에 대하여 셀프-리프레시를 수행함으로써, 제2 저장 영역에 저장된 제2 메타 데이터를 유지할 수 있다.
컨트롤러(110) 및 비휘발성 메모리가 파워 오프될 수 있다(S660). 단계 S620 내지 S650에서 버퍼 메모리(130)의 전력 모드가 설정된 후, 컨트롤러(110) 및 비휘발성 메모리가 파워 오프될 수 있다. 다시 말해서, PMCI(도 2의 140)로부터 컨트롤러(110) 및 비휘발성 메모리(120)에 각각에 제공되는 전원들이 차단될 수 있다.
본 실시예에서, 버퍼 메모리(130)의 복수의 저장 영역 중, 일부 저장 영역 만이 전원이 차단되고, 나머지 저장 영역은 셀프-리프레시 모드로 설정될 수 있다. 한편, 버퍼 메모리(130)는 복수의 메모리 칩, 복수의 메모리 뱅크, 복수의 메모리 플랜(plan) 등으로 구현될 수 있으며, 복수의 메모리 칩, 복수의 메모리 뱅크, 복수의 메모리 플랜 각각이 버퍼 메모리(130)의 복수의 저장 영역 각가에 해당할 수 있다.
도 16b는 슬립 모드로 진출 시의 스토리지 장치의 동작 방법을 나타낸다. 도 1 및 도 16b를 참조하면, 스토리지 장치(100)는 호스트(200)로부터 웨이크업 신호를 수신할 수 있다(S710). 스토리지 장치(100)가 슬립 모드일 때, 전력 모드 매니저(150)는 파워 온 상태일 수 있다. 따라서, 전력 모드 매니저(150)가 호스트(200)로부터 웨이크업 신호를 수신할 수 있다.
스토리지 장치(100)는 버퍼 메모리(130)의 제1 저장 영역을 파워 온 시킬 수 있다(S720). 다시 말해서, 전력 모드 매니저(150)는 PMIC(140)가 버퍼 메모리(130)의 제1 저장 영역에 전원을 제공하도록 제어할 수 있다.
이후, 제1 메타 데이터가 버퍼 메모리(130)의 제1 저장 영역에 로딩될 수 있다(S730). 다시 말해서, 도 16a의 단계 S630에서 비휘발성 메모리(120)로 덤프되었던 제1 메타 데이터가 버퍼 메모리(130)의 제1 저장 영역으로 재로딩될 수 있다.
버퍼 메모리(130)가 엑티브 모드(S740)로 설정될 수 있다. 다시 말해서, 버퍼 메모리(130)의 복수의 저장 영역이 엑티브 모드로 설정될 수 있다.
이후, 컨트롤러(110) 및 비휘발성 메모리(120)가 파워 온 될 수 있다(S750). PMIC(140)가 컨트롤러(110) 및 비휘발성 메모리(120) 각각에 해당하는 전원을 제공할 수 있다. 이로써, 스토리지 장치(100)는 엑티브 모드로 전환되거나 또는 슬립 모드 보다 전력 상태가 높은 아이들 모드로 전환될 수 있다.
도 17은 본 개시의 실시예에 따른 컨트롤러의 일 구현예를 나타내는 블록도이다.
도 17을 참조하면, 컨트롤러(110a)는 프로세서(111), RAM(Random Access Memory)(112), ECC 모듈(115), 호스트 인터페이스(114), 전력 모드 매니저(150), 버퍼 컨트롤러(116), 및 비휘발성 메모리 인터페이스(117)를 포함할 수 있고, 이들은 버스(118)를 통해 서로 통신할 수 있다. 컨트롤러(110a)는 ROM, 통신 모듈 등 다른 범용 구성들을 더 포함할 수 있다.
프로세서(111)는 중앙 처리 장치나 마이크로 프로세서 등을 포함할 수 있으며, 컨트롤러(110a)의 전반적인 동작을 제어할 수 있다. 프로세서(111)는 특정 동작을 수행하도록 구성되는 프로그램 코드의 명령어 집합을 실행할 수 있는 하나 이상의 프로세서 코어들을 포함할 수 있다. 예를 들어, 프로세서(111)는 RAM(112)에 로딩된 명령 코드 또는 ROM(미도시)에 저장된 펌웨어의 명령 코드를 실행할 수 있다.
RAM(112)은 프로세서(111)의 제어에 따라 동작하며, 동작 메모리, 버퍼 메모리, 캐시 메모리 등으로 사용될 수 있다. 예를 들어, RAM(112)은 DRAM, SRAM과 같은 휘발성 메모리 또는 PRAM, 플래시 메모리와 같은 비휘발성 메모리로 구현될 수도 있다.
ECC 모듈(113)은 비휘발성 메모리(120)로부터 수신된 데이터에 대해 ECC(Error Correction Code)에 기초한 에러 정정 동작을 수행함으로써, 데이터에서 에러 비트를 검출하고, 검출된 에러 비트를 정정할 수 있다.
호스트 인터페이스(114)는 호스트(200)와 컨트롤러(110a) 사이의 인터페이스를 제공할 수 있고, 예를 들어, USB(Universal Serial Bus), MMC, PCI-E(PCIExpress), ATA(AT Attachment), SATA(Serial AT Attachment), PATA(Parallel AT Attachment), SCSI(Small Computer System Interface), SAS(Serial Attached SCSI), ESDI(Enhanced Small Disk Interface), IDE(Integrated Drive Electronics) 등에 따른 인터페이스를 제공할 수 있다.
전력 모드 매니저(150)는 전술한 바와 같이, 스토리지 장치(도 1의 100)의 전력 상태를 제어할 수 있으며, 스토리지 장치(도 1의 100)가 슬립 모드로 진입 시, 버퍼 메모리(130)의 전력 모드를 설정할 수 있다. 전력 모드 매니저(150)는 소정의 조건을 기초로 버퍼 메모리(130)를 파워 오프 모드 또는 적어도 하나의 저전력 모드로 설정할 수 있다. 전력 모드 매니저(150)는 스토리지 장치가 슬립 모드로 진입 시, PMIC(140)가 비휘발성 메모리(120), 및 컨트롤러(110a)에 인가되는 전원을 차단하도록 제어하고, 또한 버퍼 메모리(130)에 대하여 설정된 전원 모드에 따라 전원을 차단하거나 또는 유지하도록 PMIC(140)를 제어할 수 있다.
버퍼 컨트롤러(116)는 컨트롤러(110a)와 버퍼 메모리(130) 사이의 인터페이스를 제공하고, 비휘발성 메모리 인터페이스(117)는 컨트롤러(110a)와 비휘발성 메모리(120) 사이의 인터페이스를 제공할 수 있다. 예를 들어, 덤프 데이터, 예컨대 메타 데이터가 버퍼 컨트롤러(116) 및 비휘발성 메모리 인터페이스(117)를 통해 버퍼 메모리(130)로부터 비휘발성 메모리(120)로 덤프되고, 비휘발성 메모리(120)로부터 버퍼 메모리(130)로 로딩될 수 있다.
실시예에 있어서, 스토리지 장치(도 1의 100)가 슬립 모드로 진입 시, 컨트롤러(110a)의 구성들 중 전력 모드 매니저(150)를 제외한 구성들은 파워 오프될 수 있다. 다시 말해서 상기 구성들에 인가되는 전원이 차단될 수 있다.
도 18은 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 18을 참조하면, 스토리지 장치(100b)는 컨트롤러(110b), 비휘발성 메모리(120), 버퍼 메모리(130), PMIC(140) 및 전력 모드 매니저(150)를 포함할 수 있다.
도 2의 스토리지 장치(100a)와 비교하면 전력 모드 매니저(150)는 컨트롤러(110b)의 외부에 컨트롤러(110b)와는 별개의 모듈로서 구비될 수 있다.
전력 모드 매니저(150)는 스토리지 장치(100b)의 전력 상태와 무관하게 항시 파워 온 상태를 유지할 수 있다. 전력 모드 매니저(150)는 스토리지 장치(100b)가 호스트(도 1의 200)로부터의 슬립 모드 신호에 응답하여 슬립 모드로 진입 시, PMIC(140)가 컨트롤러(110b)에 제공되는 전원(P1) 및 비휘발성 메모리(120)에 제공되는 전원(P3)를 차단하도록 제어하고, 또한 버퍼 메모리(130)에 대하여 설정된 전력 모드에 따라, 버퍼 메모리(130)에 제공되는 전원(P2)를 차단하거나 또는 전원(P2)의 제공을 유지하도록 제어할 수 있다.
전력 모드 매니저(150)는 호스트(도 1의 200)로부터 수신되는 웨이크업 신호에 응답하여 스토리지 장치(100b)가 슬립 모드로부터 진출되도록 제어할 수 있다.
도 19는 본 개시의 예시적 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 19를 참조하면, 스토리지 장치(100c)는 컨트롤러(110c), 비휘발성 메모리(120), 및 PMIC(140)를 포함할 수 있으며, 컨트롤러(110c)는 버퍼 메모리(130) 및 전력 모드 매니저(150)를 포함할 수 있다.
도 2의 스토리지 장치(100a)와 비교하면 버퍼 메모리(130)가 컨트롤러(110c)의 내부에 구비될 수 있다. 예를 들어, 버퍼 메모리(130)는 SRAM으로 구현될 수 있으며, 컨트롤러(110c)와 동일한 반도체 칩에 집적될 수 있다.
도 20은 본 개시의 예시적 실시예에 따른 SSD 및 이를 포함하는 SSD 시스템을 나타내는 블록도이다.
도 20을 참조하면, SSD 시스템(1000)은 호스트(1100), 및 SSD(1200)를 포함할 수 있다. SSD(2200)는 신호 커넥터(signal connector)(SGL)를 통해 호스트(2100)와 신호를 송수신할 수 있다. SSD(2200)는 또한 전원 커넥터(power connector)(PC)를 통해 호스트(2100)로부터 전원을 수신할 수 있다.
SSD(1200)는 SSD 컨트롤러(1210), 복수의 비휘발성 메모리 장치(1220, 1230, 1240), 버퍼 메모리(1250) 및 PMIC(1260)를 포함할 수 있다. 도 1 내지 도 19를 참조하여 설명한 스토리지 장치(100)가, SSD(1200)에 적용될 수 있다. SSD(1200)는 호스트(1100)로부터의 슬립 모드 신호에 응답하여 슬립 모드로 진입할 수 있으며, 이때, 소정의 조건에 따라 버퍼 메모리(1250)가 전원 차단 모드 또는 적어도 하나의 저전력 모드로 설정될 수 있다.
전술한 본 개시의 실시예에 따른 스토리지 시스템은 SSD 시스템(1000)뿐만 아니라, 메모리 카드 시스템, UFS(Universal Flash Storage), embedded storage 등에 탑재되거나 적용될 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 스토리지 시스템 100, 100a, 100b: 스토리지 장치
110,110a,110b,110c: 컨트롤러 120: 비휘발성 메모리
130: 버퍼 메모리 140: 전력 관리 집적 회로
150: 전력 모드 매니저

Claims (20)

  1. 복수의 비휘발성 메모리 셀을 포함하는 비휘발성 메모리;
    상기 비휘발성 메모리에 기입될 기입 데이터 또는 상기 비휘발성 메모리로부터 독출된 독출 데이터를 임시 저장하는 버퍼 메모리;
    외부 호스트로부터 슬립 모드 신호 수신 시, 상기 비휘발성 메모리의 전원이 차단되도록 설정하고, 상기 버퍼 메모리에 저장된 기입 데이터를 상기 비휘발성 메모리에 기입할지 여부를 선택하기 위한 데이터 덤프 조건을 기초로, 상기 버퍼 메모리를 전원이 차단되는 제1 모드 및 저전력으로 동작하는 제2 모드 중 하나로 설정하는 컨트롤러를 포함하는 스토리지 장치.
  2. 제1 항에 있어서,
    상기 비휘발성 메모리, 상기 버퍼 메모리 및 상기 컨트롤러 각각에 대하여 전원들을 제공하는 전력 관리 모듈(PMIC)을 더 포함하고,
    상기 버퍼 메모리가 상기 제1 모드로 설정되고 상기 스토리지 장치가 상기 슬립 모드로 진입하면, 상기 전력 관리 모듈은 상기 버퍼 메모리 및 상기 비휘발성 메모리 각각에 인가되는 전원을 차단하는 것을 특징으로 하는 스토리지 장치.
  3. 제1 항에 있어서, 상기 버퍼 메모리가 상기 제1 모드로 설정되면,
    상기 버퍼 메모리에 저장된 상기 기입 데이터는 상기 비휘발성 메모리에 기입되고, 상기 버퍼 메모리의 전원이 차단되는 것을 특징으로 하는 스토리지 장치.
  4. 제1 항에 있어서, 상기 컨트롤러는,
    상기 기입 데이터를 상기 비휘발성 메모리로 기입하기 위한 덤프 시간을 산출하고, 상기 덤프 시간이 제1 임계 시간 이하이면, 상기 데이터 덤프 조건을 만족하였다고 판단하고, 상기 버퍼 메모리를 상기 제1 모드로 설정하는 것을 특징으로 하는 스토리지 장치.
  5. 제1 항에 있어서, 상기 컨트롤러는,
    상기 기입 데이터가 상기 비휘발성 메모리로 기입된 후, 다시 상기 버퍼 메모리에 저장되기 위한 리로딩 시간을 산출하고, 상기 리로딩 시간이 제2 임계 시간 이하이면, 상기 데이터 덤프 조건을 만족하였다고 판단하고, 상기 버퍼 메모리를 상기 제1 모드로 설정하는 것을 특징으로 하는 스토리지 장치.
  6. 제1 항에 있어서, 상기 컨트롤러는,
    상기 기입 데이터의 사이즈가 임계 사이즈 이하이면, 상기 데이터 덤프 조건을 만족하였다고 판단하고, 상기 버퍼 메모리를 상기 제1 모드로 설정하는 것을 특징으로 하는 스토리지 장치.
  7. 제1 항에 있어서, 상기 컨트롤러는,
    상기 비휘발성 메모리의 내구성 마진을 체크하고, 상기 내구성 마진이 임계값 이상이면, 상기 데이터 덤프 조건을 만족하였다고 판단하고, 상기 버퍼 메모리를 상기 제1 모드로 설정하는 것을 특징으로 하는 스토리지 장치.
  8. 제1 항에 있어서, 상기 컨트롤러는,
    단위 전력 및 상기 기입 데이터를 상기 비휘발성 메모리에 기입하기 위한 덤프 시간을 기초로 상기 기입 데이터를 상기 비휘발성 메모리로 기입하는데 소비되는 에너지를 산출하고, 상기 에너지가 임계 에너지 이하이면, 상기 데이터 덤프 조건을 만족하였다고 판단하고, 상기 버퍼 메모리를 상기 제1 모드로 설정하는 것을 특징으로 하는 스토리지 장치.
  9. 제1 항에 있어서, 상기 컨트롤러는,
    단위 발열량 및 상기 기입 데이터를 상기 비휘발성 메모리에 기입하기 위한 덤프 시간을 기초로 상기 기입 데이터를 상기 비휘발성 메모리로 기입할 때 발생하는 발열량을 산출하고, 상기 발열량이 임계 발영량 이하이면, 상기 데이터 덤프 조건을 만족하였다고 판단하고, 상기 버퍼 메모리를 상기 제1 모드로 설정하는 것을 특징으로 하는 스토리지 장치.
  10. 제1 항에 있어서, 상기 버퍼 메모리가 상기 제2 모드로 설정되면,
    상기 버퍼 메모리의 메모리 셀 어레이는 저장된 상기 기입 데이터를 유지하기 위하여 셀프-리프레시를 수행하는 것을 특징으로 하는 스토리지 장치.
  11. 제1 항에 있어서, 상기 버퍼 메모리가 상기 제2 모드로 설정되면,
    상기 버퍼 메모리의 제1 영역에 저장된 제1 기입 데이터는 상기 비휘발성 메모리에 기입되고, 상기 제1 영역의 전원이 차단되고, 상기 버퍼 메모리의 제2 영역에 저장된 제2 기입 데이터는 유지되고, 상기 제2 영역의 메모리 셀 어레이는 셀프-리프레시를 수행하는 것을 특징으로 하는 스토리지 장치.
  12. 제1 항에 있어서, 상기 버퍼 메모리가 상기 제2 모드로 설정되면,
    상기 버퍼 메모리에 인가되는 전원 전압의 전압 레벨이 낮아지는 것을 특징으로 하는 스토리지 장치.
  13. 제1 항에 있어서,
    상기 컨트롤러는 상기 버퍼 메모리의 모드를 결정하는 모드 컨트롤러를 포함하고,
    상기 디바이스 슬립 모드에서, 상기 모드 컨트롤러를 제외한 상기 컨트롤러의 전원이 차단되는 것을 특징으로 하는 스토리지 장치.
  14. 복수의 비휘발성 메모리 셀을 포함하는 비휘발성 메모리; 및
    상기 비휘발성 메모리를 관리하기 위한 메타 데이터를 저장하는 버퍼 메모리를 포함하고, 딥 슬립 모드 진입 시, 상기 메타 데이터가 상기 비휘발성 메모리에 기입되기 위해 소요되는 덤프 시간 또는 상기 메타 데이터가 상기 비휘발성 메모리로부터 상기 버퍼 메모리에 리로딩되기 위해 소요되는 리로딩 시간을 기초로 판단되는 제1 조건을 기초로, 상기 버퍼 메모리를 파워 오프 모드 또는 셀프-리프래시 모드로 설정하는 컨트롤러를 포함하는 스토리지 장치.
  15. 제14 항에 있어서,
    상기 버퍼 메모리가 상기 파워 모드로 설정되면, 상기 메타 데이터가 상기비휘발성 메모리에 기입되고 상기 버퍼 메모리의 전원이 차단되고,
    상기 버퍼 메모리가 상기 셀프-리프래시 모드로 설정되면, 상기 버퍼 메모리는 저전력 모드로 동작하고, 상기 버퍼 메모리에 구비되는 메모리 셀 어레이는 주기적으로 리프래시 됨으로써 상기 메타 데이터를 유지하는 것을 특징으로 하는 스토리지 장치.
  16. 제14 항에 있어서, 상기 컨트롤러는,
    제2 조건을 기초로 상기 버퍼 메모리를 완전 셀프-리프레시 모드 또는 파셜 셀프-리프레시 모드로 설정하는 것을 특징으로 하는 스토리지 장치.
  17. 제14 항에 있어서,
    상기 버퍼 메모리가 상기 파셜 셀프-리프레시 모드로 설정되면, 상기 버퍼 메모리의 제1 영역에 저장된 제1 메타 데이터는 상기 비휘발성 메모리에 기입되고, 상기 제1 영역의 전원이 차단되며, 제2 메타 데이터가 저장된 상기 버퍼메모리의 제2 영역의 메모리 셀 어레이는 주기적으로 리프래시 됨으로써, 상기 제2 메타 데이터를 유지하는 것을 특징으로 하는 스토리지 장치.
  18. 제14 항에 있어서, 상기 컨트롤러는,
    상기 덤프 시간이 소정의 제1 임계 시간 이하인지 여부 또는 상기 리로딩 시간이 소정의 제2 임계 시간 이하인지 여부를 기초로 상기 제1 조건 만족 여부를 판단하고,
    상기 제1 조건이 만족될 경우 상기 버퍼 메모리를 상기 파워 오프 모드로 설정하고, 상기 제1 조건이 만족되지 못할 경우, 상기 버퍼 메모리를 상기 셀프-리프래시 모드로 설정하는 것을 특징으로 하는 스토리지 장치.
  19. 복수의 비휘발성 메모리 셀을 포함하는 비휘발성 메모리;
    상기 비휘발성 메모리에 기입될 데이터 또는 상기 비휘발성 메모리로부터 독출된 데이터를 임시 저장하는 버퍼 메모리;
    상기 비휘발성 메모리 및 상기 버퍼 메모리 각각에 전력을 제공하는 전력 관리 모듈; 및
    외부 호스트로부터 슬립 모드 신호 수신 시, 상기 버퍼 메모리에 저장된 상 데이터를 상기 비휘발성 메모리에 기입하기 위한 조건을 만족할 경우 상기 버퍼 메모리를 전원이 차단되는 제1 모드로 설정하고, 상기 조건을 만족하지 못할 경우, 상기 버퍼 메모리를 셀프-리프래시 동작을 수행하는 제2 모드로 설정하는 전력 모드 매니저를 포함하는 스토리지 장치.
  20. 제19 항에 있어서, 상기 전력 모드 매니저는,
    상기 기입 데이터를 상기 비휘발성 메모리에 기입하기 위하여 요구되는 시간을 산출하고, 상기 시간이 임계 시간 이하이면, 상기 조건을 만족한다고 판단하는 것을 특징으로 하는 스토리지 장치.
KR1020200025531A 2020-02-28 2020-02-28 스토리지 장치 및 상기 스토리지 장치의 동작 방법 KR20210110071A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200025531A KR20210110071A (ko) 2020-02-28 2020-02-28 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US17/143,590 US11550496B2 (en) 2020-02-28 2021-01-07 Buffer management during power state transitions using self-refresh and dump modes
EP21152103.4A EP3872641B1 (en) 2020-02-28 2021-01-18 Storage device and method of operating the storage device
CN202110190414.5A CN113325942A (zh) 2020-02-28 2021-02-18 存储设备和操作该存储设备的方法
US18/068,302 US20230118815A1 (en) 2020-02-28 2022-12-19 Storage device and method of operating the storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200025531A KR20210110071A (ko) 2020-02-28 2020-02-28 스토리지 장치 및 상기 스토리지 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20210110071A true KR20210110071A (ko) 2021-09-07

Family

ID=74187165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200025531A KR20210110071A (ko) 2020-02-28 2020-02-28 스토리지 장치 및 상기 스토리지 장치의 동작 방법

Country Status (4)

Country Link
US (2) US11550496B2 (ko)
EP (1) EP3872641B1 (ko)
KR (1) KR20210110071A (ko)
CN (1) CN113325942A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230040696A1 (en) * 2021-08-03 2023-02-09 Kioxia Corporation In-memory journal
KR20230068263A (ko) * 2021-11-10 2023-05-17 삼성전자주식회사 호스트 메모리 버퍼를 사용하는 메모리 시스템 및 그것의 동작 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216058B2 (en) * 2019-07-15 2022-01-04 Micron Technology, Inc. Storage system deep idle power mode
KR20210119070A (ko) * 2020-03-24 2021-10-05 에스케이하이닉스 주식회사 메모리 장치에서 연속으로 수행되는 다수의 커맨드 동작에 사용되는 파워값을 최소화하기 위해 수행시점 차이를 정확하게 조절할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법
US11763040B2 (en) * 2021-04-07 2023-09-19 Western Digital Technologies, Inc. Enhanced D3-cold and faster recovery
CN113986001A (zh) * 2021-10-29 2022-01-28 深圳市航顺芯片技术研发有限公司 芯片及控制方法
US11977768B2 (en) * 2021-11-09 2024-05-07 Micron Technology, Inc. Write buffer extensions for storage interface controllers

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342085A (ja) 2001-05-14 2002-11-29 Meidensha Corp コンフィギュレーション方式
US8041967B2 (en) * 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
KR100914932B1 (ko) 2007-01-30 2009-08-31 삼성전자주식회사 Sata 인터페이스에서의 파워 세이빙 모드 제어 방법
US9361955B2 (en) * 2010-01-28 2016-06-07 Hewlett Packard Enterprise Development Lp Memory access methods and apparatus
US20110296095A1 (en) * 2010-05-25 2011-12-01 Mediatek Inc. Data movement engine and memory control methods thereof
KR101736384B1 (ko) 2010-09-29 2017-05-16 삼성전자주식회사 비휘발성 메모리 시스템
US8879346B2 (en) * 2011-12-30 2014-11-04 Intel Corporation Mechanisms for enabling power management of embedded dynamic random access memory on a semiconductor integrated circuit package
JP2013182313A (ja) 2012-02-29 2013-09-12 Canon Inc ジョブ処理装置、ジョブ処理装置の制御方法、及びプログラム
US9530461B2 (en) 2012-06-29 2016-12-27 Intel Corporation Architectures and techniques for providing low-power storage mechanisms
US11037625B2 (en) 2012-11-20 2021-06-15 Thstyme Bermuda Limited Solid state drive architectures
KR102049265B1 (ko) * 2012-11-30 2019-11-28 삼성전자주식회사 최대절전 모드를 가지는 시스템 및 그 동작방법
KR20150009295A (ko) 2013-07-16 2015-01-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 슬리프 상태 제어 방법
JP2015064676A (ja) 2013-09-24 2015-04-09 株式会社東芝 情報処理装置、半導体装置、情報処理方法およびプログラム
US10747449B2 (en) * 2014-07-31 2020-08-18 Toshiba Memory Corporation Reduction of power use during address translation via selective refresh operations
KR102301639B1 (ko) * 2015-01-23 2021-09-14 삼성전자주식회사 SoC(System-on Chip), 그의 전력 관리 방법 및 전자 장치
US9568971B2 (en) * 2015-02-05 2017-02-14 Apple Inc. Solid state drive with self-refresh power saving mode
US10042416B2 (en) 2015-07-20 2018-08-07 Sandisk Technologies Llc Memory system and method for adaptive auto-sleep and background operations
US10725677B2 (en) * 2016-02-19 2020-07-28 Sandisk Technologies Llc Systems and methods for efficient power state transitions
US10175995B1 (en) 2016-03-25 2019-01-08 Amazon Technologies, Inc. Device hibernation control
KR102644275B1 (ko) * 2016-05-19 2024-03-06 삼성전자주식회사 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법
US10942657B2 (en) 2018-03-12 2021-03-09 Micron Technology, Inc. Power management integrated circuit (PMIC) master/slave functionality
US11157179B2 (en) * 2019-12-03 2021-10-26 Pure Storage, Inc. Dynamic allocation of blocks of a storage device based on power loss protection
US11176986B2 (en) * 2019-12-30 2021-11-16 Advanced Micro Devices, Inc. Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230040696A1 (en) * 2021-08-03 2023-02-09 Kioxia Corporation In-memory journal
US11650759B2 (en) * 2021-08-03 2023-05-16 Kioxia Corporation Method and apparatus of managing a non-volatile memory using an in-memory journal
KR20230068263A (ko) * 2021-11-10 2023-05-17 삼성전자주식회사 호스트 메모리 버퍼를 사용하는 메모리 시스템 및 그것의 동작 방법

Also Published As

Publication number Publication date
EP3872641A3 (en) 2021-11-24
EP3872641A2 (en) 2021-09-01
US20230118815A1 (en) 2023-04-20
US20210271412A1 (en) 2021-09-02
US11550496B2 (en) 2023-01-10
EP3872641B1 (en) 2024-04-24
CN113325942A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
EP3872641B1 (en) Storage device and method of operating the storage device
US9383808B2 (en) Dynamic allocation of power budget for a system having non-volatile memory and methods for the same
JP6788420B2 (ja) 電力消費を制御するシステム及びその方法
US10672451B2 (en) Storage device and refresh method thereof
US9436267B2 (en) Data storage device
EP3709175A1 (en) Storage device and computing device including storage device
EP3862843A1 (en) Storage device and method of operating the same
KR102225313B1 (ko) 데이터 저장 장치의 동작 방법
US11494094B2 (en) Storage system and method of dynamically managing power of storage system according to a monitored operating state of a computing device
KR20200086472A (ko) 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법
KR20200114052A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US20190227738A1 (en) Integrated circuit memory devices with enhanced buffer memory utilization during read and write operations and methods of operating same
US11775188B2 (en) Communications to reclaim storage space occupied by proof of space plots in solid state drives
US11960756B2 (en) Management of storage space in solid state drives to support proof of space activities
US20230244394A1 (en) Gradually Reclaim Storage Space Occupied by a Proof of Space Plot in a Solid State Drive
US20140281148A1 (en) Memory system
KR20200114086A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US20210397242A1 (en) Shaped And Optimized Power Cycles
WO2022133705A1 (en) Low power management for sleep mode operation of a memory device
US20230152989A1 (en) Memory controller adjusting power, memory system including same, and operating method for memory system
KR20200042780A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210059960A (ko) 데이터 저장 장치, 스토리지 시스템 및 데이터 저장 장치의 동작 방법