KR20120033372A - 비휘발성 메모리 시스템 - Google Patents

비휘발성 메모리 시스템 Download PDF

Info

Publication number
KR20120033372A
KR20120033372A KR1020100094638A KR20100094638A KR20120033372A KR 20120033372 A KR20120033372 A KR 20120033372A KR 1020100094638 A KR1020100094638 A KR 1020100094638A KR 20100094638 A KR20100094638 A KR 20100094638A KR 20120033372 A KR20120033372 A KR 20120033372A
Authority
KR
South Korea
Prior art keywords
memory
mapping table
power
nonvolatile memory
controller
Prior art date
Application number
KR1020100094638A
Other languages
English (en)
Other versions
KR101736384B1 (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 KR1020100094638A priority Critical patent/KR101736384B1/ko
Priority to CN201110303359.2A priority patent/CN102436419B/zh
Priority to US13/200,715 priority patent/US9098398B2/en
Publication of KR20120033372A publication Critical patent/KR20120033372A/ko
Priority to US14/813,291 priority patent/US9465553B2/en
Priority to US15/270,513 priority patent/US9817596B2/en
Application granted granted Critical
Publication of KR101736384B1 publication Critical patent/KR101736384B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • 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
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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

Landscapes

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

Abstract

비휘발성 메모리 시스템 및 그의 전력 관리 방법이 개시된다. 본 발명의 비휘발성 메모리 시스템은 코드 영역에 대한 논리적 주소 대 물리적 주소 리스트를 포함하는 제1 매핑 테이블과 일반 용도 역역(GP 영역)에 대한 논리적 주소 대 물리적 주소 리스트를 포함하는 제2 매핑 테이블을 저장하는 비휘발성 메모리;와 제1 매핑 테이블을 비휘발성 메모리로부터 제1 메모리로 로드하고, 제2 매핑 테이블을 비휘발성 메모리로부터 제2 메모리로 로드하는 컨트롤러를 구비한다. 제2 메모리는 비휘발성 메모리 시스템의 파워-업 보다 지연되어 파워-업되고, 제1 또는 제2 메모리는 일정 요건 충족시 파워-오프됨으로써 비휘발성 메모리 시스템의 전력 소모가 감소될 수 있다.

Description

비휘발성 메모리 시스템{Nonvolatile Memory System}
본 발명은 메모리 시스템에 관한 것으로, 보다 상세하게는 비휘발성 메모리 시스템 및 그의 전력 관리 방법에 관한 것이다.
대용량을 지원하는 비휘발성 메모리 시스템의 수요는 날로 증가하고 있다. 비휘발성 메모리 시스템이란 비휘발성 반도체 메모리를 이용한 데이터 저장 장치이다. 그러한 비휘발성 메모리 시스템으로서 휴대용 전자 기기 등에 주로 사용되는 플래시 메모리(flash memory) 저장 장치가 있다. 플래시 메모리는 하드 디스크와 같이 비휘발성이면서도 빠른 접근 속도를 가지고, 전력을 적게 소모하기 때문에 내장형 시스템(embedded system)이나 이동식 시스템(mobile system) 등에서 많이 사용되고 있다.
플래시 변환 계층(FTL; Flash Translation Layer)은 플래시 메모리를 효율적으로 관리하기 위한 소프트웨어이다. 플래시 변환 계층(FTL)은 파일 시스템(File System)으로부터 논리 주소(LA; Logical Address)를 입력받고, 이를 물리 주소(PA; Physical Address)로 변환한다. 논리 주소는 파일 시스템에서 인식하는 주소이고, 물리 주소는 플래시 메모리에서 인식하는 주소이다. 플래시 변환 계층(FTL)은 주소 매핑 동작을 관리하기 위해 주소 매핑 테이블(Address Mapping Table)을 참조한다. 주소 매핑 테이블에는 논리 주소 및 이에 대응하는 물리 주소가 저장된다. 주소 매핑 테이블은 매핑 단위에 따라 그 크기가 달라질 수 있다. 대표적인 매핑 방법으로, 페이지 매핑 방법(page mapping method), 블록 매핑 방법(block mapping method), 그리고 혼합 매핑 방법(hybrid mapping method) 등이 있다.
페이지 매핑 방법은 페이지 단위로 매핑 동작을 수행하는 방법이고, 블록 매핑 방법은 블록 단위로 매핑 동작을 수행하는 방법이며, 혼합 매핑 방법은 페이지 매핑 방법과 블록 매핑 방법을 동시에 사용하는 방법이다.
일반적으로 하나의 메모리 블록은 수십 또는 수백 개의 페이지로 구성된다. 따라서 페이지 매핑 방법을 사용할 경우, 주소 매핑 테이블의 크기는 블록 매핑 방법을 사용할 때보다 수십 배 또는 수백 배 증가하게 된다. 즉, 페이지 매핑 방법은 어드레스 매핑 테이블을 사용하는 데 너무 많은 메모리 공간을 필요로 한다는 단점을 갖는다.
블록 매핑 방법은 블록 단위로 매핑 동작을 수행하기 때문에, 페이지 매핑 방법에 비해 주소 매핑 테이블의 크기를 줄일 수 있는 장점을 갖는다. 그러나 블록 매핑 방법에 의하면, 블록 내에 쓰일 페이지의 위치가 고정되기 때문에, 많은 병합(merge) 연산을 수행해야 한다는 단점을 갖는다.
주소 매핑 테이블은 주로 휘발성 랜덤 액세스 메모리(RAM)에 상에서 구동된다. 주소 매핑 테이블을 SRAM에 로딩하여 사용하는 경우에는, SRAM의 사이즈가 적기 때문에 주로 블록 매핑 방법이 사용된다. 주소 매핑 테이블을 대용량의 DRAM에 로딩하여 사용하는 경우에는 주로 페이지 매핑 방법을 사용함으로써 블록 매핑 방법에 비하여 높은 성능을 가질 수 있다.
그러나, DRAM 사용으로 인한 스탠바이 전류 및 동작 전류의 증가로 인하여 비휘발성 데이터 저장 장치 및 이를 포함하는 전자 시스템(예컨대, 휴대용 전자 기기)의 전력 소모가 증가하는 단점이 있다.
따라서, 본 발명이 이루고자 하는 기술적인 과제는 전류 소모가 높은 휘발성 메모리를 채용한 데이터 저장 장치에서의 전력 소모를 줄일 수 있는 비휘발성 메모리 시스템 및 그의 전력 관리 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적인 과제는 주소 매핑 테이블을 이종의 휘발성 메모리에 관리함으로써 전력 소모를 줄일 수 있는 비휘발성 메모리 시스템 및 그의 전력 관리 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따르면, 코드 영역에 대한 논리적 주소 대 물리적 주소 리스트를 포함하는 제1 매핑테이블과 일반 용도 영역(GP 영역)에 대한 논리적 주소 대 물리적 주소 리스트를 포함하는 제2 매핑 테이블을 저장하는 비휘발성 메모리; 및 상기 제1 매핑 테이블을 상기 비휘발성 메모리로부터 제1 메모리로 로드하고, 상기 제2 매핑 테이블을 상기 비휘발성 메모리로부터 제2 메모리로 로드하는 컨트롤러를 구비하는 비휘발성 메모리 시스템이 제공된다.
상기 제2 메모리는 상기 비휘발성 메모리 시스템의 파워-업 보다 지연되어 파워-업될 수 있고, 또한, 상기 비휘발성 메모리의 상기 일반 용도 영역에 대한 억세스가 필요 없는 동안에는 상기 제2 메모리로의 전원 공급은 차단될 수 있다.
상기 비휘발성 메모리는 부트 코드를 저장하는 상기 코드 영역; 사용자 데이터 및 어플리케이션 프로그램을 저장하는 상기 GP 영역; 상기 제1 매핑 테이블을 저장하는 제1 매핑 테이블 영역; 상기 제2 매핑 테이블을 저장하는 제2 매핑 테이블 영역; 및 상기 제1 매핑 테이블의 어드레스 정보와 상기 제2 매핑 태이블의 어드레스 정보를 포함하는 매핑 매니저 정보를 저장하는 매핑 매니저 영역으로 파티션될 수 있다.
상기 컨트롤러는, 파워업(power-up)시 상기 비휘발성 메모리의 상기 매핑 매니저 영역을 스캔하여 상기 제1 매핑 테이블의 어드레스 정보를 추출하고, 상기 추출된 상기 제1 매핑 테이블의 어드레스 정보에 따라 상기 제1 매핑 테이블을 상기 제1 메모리에 로드하며, 상기 제1 매핑 테이블을 이용하여 상기 코드 영역에 저장된 부트 코드를 독출하여 상기 호스트로 전송할 수 있다.
또한, 상기 컨트롤러는 상기 비휘발성 메모리 시스템의 파워-업 후 상기 GP 영역에 대한 억세스 요청이 있기 전까지는 상기 제2 메모리로의 전원 공급을 차단하고, 상기 GP 영역에 대한 억세스 요청이 있으면 비로소 상기 제2 메모리로 전원을 공급함으로써 상기 비휘발성 메모리 시스템의 파워-업 시점 보다 상기 제2 메모리의 파워-업 시점을 지연할 수 있다.
또한, 상기 컨트롤러는 상기 제2 메모리로 전원을 공급한 후, 상기 비휘발성 메모리의 상기 매핑 매니저 데이터를 스캔하여 상기 제2 매핑 테이블의 어드레스 정보를 추출하고, 상기 추출된 상기 제2 매핑 테이블의 어드레스 정보에 따라 상기 제2 매핑 테이블을 상기 제2 메모리에 로드할 수 있다.
또한, 상기 컨트롤러는 상기 제2 매핑 테이블을 상기 제2 메모리로 로드하면,
상기 제1 메모리에 로드된 상기 제1 매핑 테이블을 상기 제1 메모리에 전송하여 저장하고, 상기 제1 메모리의 전원을 차단할 수 있다.
또한, 상기 컨트롤러는 아이들 타임이 발생하거나, 호스트의 명령에 응답하여, 상기 제2 메모리에 저장된 상기 제1 매핑 테이블을 상기 제1 메모리로 다시 전송하고, 상기 제2 메모리에 저장된 상기 제2 매핑 테이블은 상기 비휘발성 메모리로 백업한 후 상기 제2 메모리의 전원을 차단할 수 있다.
또한, 상기 컨트롤러는 상기 제2 메모리로의 전원 공급을 차단하는 경우, 둘 이상의 비휘발성 메모리 소자들 중 상기 GP 영역으로만 할당된 메모리 소자의 전원도 함께 차단할 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 일 실시예에 따르면, 비휘발성 메모리, 및 상기 비휘발성 메모리를 제어하는 컨트롤러를 구비하는 비휘발성 메모리 시스템의 전력 관리 방법이 제공된다. 상기 방법은 코드 영역에 대한 논리적 주소 대 물리적 주소 리스트를 포함하는 제1 매핑테이블과 일반 용도 용역(GP 영역)에 대한 논리적 주소 대 물리적 주소 리스트를 포함하는 제2 매핑 테이블을 상기 비휘발성 메모리에 저장하는 단계; 호스트로부터 상기 비휘발성 메모리 및 컨트롤러로 전원이 공급되는 파워-업 단계; 상기 파워-업시 상기 제1 매핑 테이블을 상기 비휘발성 메모리로부터 제1 메모리로 로드하는 단계; 및 상기 제2 매핑 테이블을 제2 메모리로 로드하기 전까지 상기 제2 메모리의 전원 공급을 차단하는 단계를 구비한다.
본 발명의 일 실시예에 따르면, 비휘발성 메모리 시스템에서의 주소 매핑 테이블을 두 종류로 나누어 자주 사용되는 코드 영역의 매핑 테이블은 제1 메모리(예컨대, SRAM)에서 구동하고, 그렇지 않은 사용자 데이터 영역의 매핑 테이블은 제2 메모리(예컨대, DRAM)에서 구동하며 사용자 데이터 영역을 억세스 하지 않을 때는 제2 메모리(예컨대, DRAM)의 전원을 차단하여 스탠바이 전류를 줄일 수 있다.
만약 비휘발성 메모리 시스템이 휴대폰에 채용되는 경우, 휴대폰의 콜(Call), 텍스트 메시지(Text massage) 등 OS 제공의 간단한 동작에서는 제2 메모리(DRAM)를 사용하지 않음으로써 동작 전류도 줄일 수 있는 효과를 볼 수 있다.
따라서, 본 발명의 실시예에 따르면, 비휘발성 메모리 시스템 및 이를 포함하는 전자 시스템의 전력 소모를 줄일 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템의 개략적인 구성 블록도이다.
도 2a는 도 1에 도시된 비휘발성 메모리 장치의 구조를 개략적으로 나타내는 도면이다.
도 2b는 본 발명의 일 실시예에 따른 메모리 시스템의 각 구성 요소로의 전원 공급을 나타내는 도면이다.
도 3은 본 발명의 비휘발성 메모리 장치의 파티션을 나타내는 도면이다.
도 4a는 본 발명의 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 4b는 본 발명의 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 설명하기 위한 도면이다.
도 5a는 본 발명의 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 5b는 본 발명의 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 7은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 8은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 9는 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 10은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 11은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 12는 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 13a 내지 도 13f는 각각 호스트의 명령 또는 메모리 시스템의 응답 신호를 개략적으로 나타내는 도면이다.
도 14는 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 15a 및 도 15b는 각각 오리지널 슬립 모드와 하프 슬립 모드에서의 전원 상태를 나타내는 표이다.
도 15c는 본 발명의 일 실시예에 따른 메모리 시스템을 오리지널 슬립 모드로 진입시키기 위한 호스트 명령의 포맷의 일 예이다.
도 16은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
도 17은 MBR 구성을 나타내는 도면이다.
도 18 및 도 19는 각각 본 발명의 실시예에 따른 메모리 시스템을 구비하는 전자 시스템의 블록도이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 시스템(10)의 개략적인 구성 블록도이다. 이를 참조하면, 메모리 시스템(10)는 컨트롤러(100) 및 비휘발성 메모리 장치(200)를 포함할 수 있다.
본 발명의 실시예에 따른 메모리 시스템(10)는 솔리드 스테이트 드라이브(Solid State Drive, 이하 'SSD'라 함), eMMC(embedded Multimedia card) 또는 SD(secure digital) 카드일 수 있으나, 이에 한정되지 않는다. 또한, 비휘발성 메모리 장치(200)는 플래시 메모리 장치일 수 있으나, 이에 한정되지 않으며, PRAM, MRAM, ReRAM, 또는 FeRAM 장치일 수 있다. 비휘발성 메모리 장치(200)가 플래시 메모리 장치인 경우, 플로팅 게이트 방식의 NAND 플래시 메모리 장치 또는 CTF(Charge Trap Flash) 방식의 NAND 플래시 메모리 장치일 수 있다. 비휘발성 메모리 장치(200)의 메모리 셀 트랜지스터들은 2차원적으로 배열된 구조를 가질 수도 있고, 또는 3차원적으로 배열된 구조를 가질 수도 있다.
컨트롤러(100)는 메모리 시스템(10)의 동작을 전반적으로 제어하며, 또한 호스트와 비휘발성 메모리 장치(200) 간의 제반 데이터 교환을 제어한다. 예컨대, 컨트롤러(100)는 호스트(20)의 요청에 따라 비휘발성 메모리 장치(200)를 제어하여 데이터를 쓰거나 데이터를 독출한다. 또한, 컨트롤러(100)는 비휘발성 메모리의 특성이나 비휘발성 메모리의 효율적인 관리를 위하여 필요한 일련의 내부 동작(예컨대, 성능 조절, 머지, 웨어 레벨링 등)을 제어한다.
비휘발성 메모리 장치(200)는 데이터를 비휘발적으로 저장하기 위한 저장 장소로서, OS(Operating System), 각종 프로그램들, 및 각종 데이터를 저장할 수 있다.
컨트롤러(100)의 구성을 보다 세부적으로 살펴보면, 컨트롤러(100)는 호스트 인터페이스(110), 제1 메모리(예컨대 SRAM일 수 있으나, 이에 한정되지 않음)(130), 제2 메모리(예컨대, DRAM일 수 있으나 이에 한정되지 않음)(120), 메모리 인터페이스(140), CPU(150), 및 버스(160)를 포함할 수 있다.
호스트 인터페이스(110)는 호스트와 통신하기 위하여 인터페이스 프로토콜을 구비한다. 호스트와의 인터페이스 프로토콜은 PCI-E(peripheral component interconnect - express), ATA(Advanced Technology Attachment), SATA(serial ATA), PATA(parallel ATA), 또는 SAS(serial attached SCSI)와 같은 인터페이스 프로토콜일 수 있다. 그러나, 호스와 메모리 시스템(10)간의 인터페이스 프로토콜들은 상술한 예에 한정되지 않으며, USB(Universal Serial Bus), MMC(multi-media card), ESDI(enhanced small disk interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다른 인터페이스 프로토콜들 중 하나일 수 있다.
제1 메모리(130)는 비휘발성 메모리로서, 예컨대 SRAM일 수 있으나, 이에 한정되지 않으며, 제2 메모리(120) 역시 비휘발성 메모리로서, 예컨대 DRAM일 수 있으나, 이에 한정되지 않는다.
DRAM(120), 및 SRAM(130)은 각각 데이터 및/또는 프로그램을 휘발적으로 저장한다. SRAM(130) 및 DRAM(120)은 또한 각각 후술되는 제1 및 제2 매핑 테이블을 로드하여 구동한다. 비휘발성 메모리 인터페이스(140)는 비휘발성 메모리 장치(200)와 인터페이싱한다.
CPU(150)는 비휘발성 메모리 장치(200)로/로부터 데이터 기록/독출을 위한 제반 제어 동작을 수행한다.
비록 도면에는 도시되지 않았지만, 메모리 시스템(10)는 메모리 시스템(10)의 파워-온(power-on)시 실행되는 코드 데이터를 저장하는 ROM(미도시), 비휘발성 메모리 장치(200)에 저장될 데이터를 인코딩하고 비휘발성 메모리 장치(200)로부터 독출된 데이터를 디코딩하기 위한 ECC 엔진(미도시) 등의 구성요소를 더 구비할 수 있다.
본 실시예에서는, 제1 및 제2 메모리(130, 120)가 컨트롤러(100)의 내부에 구현되나 이에 한정되지 않으며, 제1 및/또는 제2 메모리(130, 120)는 컨트롤러(100)의 외부에 구현될 수도 있다.
도 2a는 도 1에 도시된 비휘발성 메모리 장치(200)의 구조를 개략적으로 나타내는 도면이다. 이를 참조하면, 비휘발성 메모리 장치(200)는 다수의 메모리 소자들을 포함할 수 있다. 도 2a에는 4-채널(4-channel)/ 3-뱅크(3-bank) 방식의 하드웨어 구조를 갖는 비휘발성 메모리 장치(200)가 예시적으로 도시되나, 본 발명이 이에 한정되는 것은 아니다.
도 2a에 도시된 메모리 시스템(10)에서, 컨트롤러(100)와 비휘발성 메모리 장치(200)는 4개의 채널(Channel A, B, C, D)로 연결되며, 각 채널에는 3개의 플래시 메모리 소자(CA0~CA2, CB0~CB2, CC0~CC2, CD0~CD2)가 연결되는 구조이다. 그러나, 채널의 수 및 뱅크의 수는 이에 한정되지 않고 변경될 수 있음은 당연하다.
도 2b는 본 발명의 일 실시예에 따른 메모리 시스템(10)의 각 구성 요소로의전원 공급을 나타내는 도면이다. 도 2b를 참조하면, 호스트의 전원 관리 모듈(PMIC, 20)은 메모리 시스템(10)의 컨트롤러(100), 제2 메모리(DRAM, 120), 및 비휘발성 메모리 장치(200)로 각각 해당 전원을 공급한다. 예를 들어, 전원 관리 모듈(PMIC, 20)은 메모리 시스템(10)의 컨트롤러(100)로 컨트롤러 코어 전압(VCC) 및 컨트롤러 주변 전압(VCQ)를 공급하고, 제2 메모리(120)로 DRAM 코어 전압(VDC) 및 DRAM 주변 전압(VDQ)를 공급하며, 비휘발성 메모리 장치(200)로 비휘발성 메모리 코어 전압(VNC) 및 비휘발성 메모리 주변 전압(VNQ)를 공급한다.
이와 같이, 본 발명의 실시예에 따르면, 메모리 시스템(10)의 각 구성 요소로 전원이 독립적으로 공급될 수 있으며, 각 구성 요소의 전원 공급을 독립적으로 제어할 수 있다.
도 3은 본 발명의 비휘발성 메모리 장치(200)의 파티션을 나타내는 도면이다. 파티션은 비휘발성 메모리 장치(200)의 전체 메모리 영역을 둘 이상의 영역으로 분할(또는 구분)하여 정의하는 것을 의미한다. 이를 참조하면, 비휘발성 메모리 장치(200)는 매핑 매니저 영역(210), 제1 매핑 테이블 영역(220), 제2 매핑 테이블 영역(230), 부트 코드(boot code) 영역(240) 및 일반 용도(GP: general purpose) 영역(250)으로 파티션될 수 있다. 이러한 파티션은 논리적인 파티션을 의미하며, 물리적인 파티션을 의미할 수도 있다.
도 3에 도시된 바와 같이, 비휘발성 메모리 장치(200)는 다수의 낸드 메모리 소자(예컨대, NAND#1, NAND#2)를 포함할 수 있고, 그 중 하나의 낸드 메모리 소자(NAND#1)는 매핑 매니저 영역(210), 제1 매핑 테이블 영역(220), 제2 매핑 테이블 영역(230), 부트 코드(boot code) 영역(240) 및 일반 용도 영역(250)으로 파티션되고, 나머지 낸드 메모리 소자(NAND#2)는 모두 일반 용도 영역(250)으로 할당될 수 있다.
매핑 매니저 영역(210)은 제1 매핑 테이블의 어드레스 정보와 제2 매핑 태이블의 어드레스 정보를 포함하는 매핑 매니저 정보를 저장하는 영역이다. 제1 매핑 테이블 영역(220)은 부트 코드 영역(240)에 대한 논리적 주소 대 물리적 주소의 주소 매핑 리스트들을 저장하는 영역이다. 제2 매핑 테이블 영역(230)은 일반 용도 영역에 대한 논리적 주소 대 물리적 주소의 주소 매핑 리스트들을 저장하는 영역이다.
부트 코드(boot code) 영역(240)은 비휘발성 메모리 시스템(10)가 장착되는 전자 시스템(예컨대, 휴대용 전자 기기 등)의 동작에 필요한 기본 부트 코드(boot code) 혹은 OS(operating system)가 저장되는 영역이고, 일반 용도 영역(250)은 사용자 데이터 및 어플리케이션 프로그램 등이 저장되는 영역이다.
도 4a는 본 발명의 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 도 4b는 본 발명의 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 설명하기 위한 도면이다.
도 4a 및 도 4b를 참조하면, 메모리 시스템의 파워-업(Power up)시(S110), 컨트롤러(100)는 비휘발성 메모리 장치(200)의 매핑 매니저 영역(210)을 스캔하여(S120), 제1 메모리(예컨대, SRAM)(130)에 로딩할 제1 매핑 테이블의 물리적 주소를 확인한다. 그런 다음 물리적 주소에 해당하는 제1 매핑 테이블을 제1 메모리(SRAM)(130)에 로딩한다(S130).
컨트롤러(100)는 제1 메모리(SRAM)(130)에 로드된 제1 매핑 테이블을 참조하여, 부트 코드 영역(230)으로부터 부트 코드를 독출한다(S140). 독출된 부트 코드는 호스트 인터페이스(Host I/F)(110)를 통해 호스트로 전송된다(S150). 호스트는 부트 코드를 이용하여 부팅 동작을 수행한다.
이와 같이, 부트 코드를 독출하여 부팅 동작을 수행하는 동안에는 제2 메모리(DRAM)(120)로의 전원 공급은 차단될 수 있다. 따라서, 메모리 시스템(10)가 파워-업 되더라도 부팅 동작이 수행되는 동안에는 제2 메모리(DRAM)의 전원은 차단되고, 부팅 동작이 완료된 후에야 제2 메모리(DRAM)의 전원이 공급될 수 있다.
따라서, 본 실시예에 따르면, 메모리 시스템(10)가 파워-업 시기 보다 제2 메모리(DRAM)로의 전원 공급을 지연함으로써 전력 소모가 줄어들 수 있다.
도 5a는 본 발명의 다른 일 실시예에 따른 메모리 시스템(10)의 전력 관리 방법을 나타내는 플로우챠트이다. 도 5b는 본 발명의 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 설명하기 위한 도면이다.
도 5a 및 도 5b를 참조하면, 컨트롤러(100)는 호스트로부터 GP 영역(250)에 대한 억세스 요청이 있는지 확인하여(S210), GP 영역(250)에 대한 억세스 요청이 있으면, 제2 메모리(DRAM)의 전원을 공급한다(S220). GP 영역(250)에 대한 억세스 요청은 GP영역(250)에 기입할 데이터가 있거나, GP 영역(250)으로부터 독출할 데이터가 있는 경우에 발생한다.
GP 영역(250)에 대한 억세스 요청이 있으면, 컨트롤러(100)는 또한 비휘발성 메모리 장치(200)의 매핑 매니저 영역(210)을 스캔하여 제2 메모리(SRAM)에 로딩할 제2 매핑 테이블의 물리적 주소를 확인한다(S230). 그런 다음 제2 매핑 테이블의 물리적 주소에 저장되어 있는 제2 매핑 테이블을 제2 메모리(DRAM)에 로딩한다(S240).
컨트롤러(100)는 제2 메모리(DRAM)에 로드된 제2 매핑 테이블을 참조하여, GP 영역(250)으로부터 데이터 파일 또는 어플리케이션 프로그램을 독출할 수 있다(S250). 독출된 데이터는 호스트 인터페이스(Host I/F)를 통해 호스트로 전송된다(S260).
이와 같이, GP 영역(250)에 대한 억세스가 요청되면, 그 때서야 비로소 제2 메모리(120)로 전원이 공급된다. 즉, 본 발명의 일 실시예에 따르면, 제2 메모리(120)는 메모리 시스템(10)의 파워-업과 동시에 파워-업되는 것이 아니라, GP 영역(250)에 대한 억세스 요청이 있을 때까지 지연되어 파워-업됨으로써 전력 소모를 줄일 수 있다.
도 6은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
이를 참조하면, 컨트롤러(100)는 제2 메모리(120)가 활성화되면(S310), 즉, 제2 메모리(120)로 전원이 공급되면 제1 메모리(130)에 로드된 제1 매핑 테이블을 제2 메모리(120)로 전송하여 저장하고(S320), 제1 메모리(130)의 전원을 차단한다(S330).
상술한 바와 같이, 본 발명의 일 실시예에 따르면, 제2 메모리(120)가 파워 업 된 이후에는 제1 메모리(130)에서 구동되는 제1 매핑 테이블도 제2 메모리(120)에 저장하여 구동함으로써, 제1 메모리(130)의 전원을 차단할 수 있도록 한다.
도 7은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다.
이를 참조하면, 컨트롤러(100)는 아이들 타임이 발생하면(S410), 제2 메모리(120)에 저장되어 있던 제1 매핑 테이블을 제1 메모리(130)로 다시 전송하여 저장하고, 제2 메모리(120)에 저장되어 있던 제2 매핑 테이블을 비휘발성 메모리(200)로 백업한다. 또한 컨트롤러(100)는, 매핑 매니저 영역(210)을 업데이트 한 후, 제2 메모리(120)의 전원을 차단한다(S450). 도 7에 도시되지는 않았지만, 컨트롤러(100)는 또한 제2 메모리(120)에서 제2 매핑 테이블로 관리되는 비휘발성 메모리의 전원을 차단할 수 있다. 예컨대, 비휘발성 메모리 칩이 다수개인 경우, GP 영역으로만 할당된 비휘발성 메모리 칩은 제2 메모리(120)의 전원이 차단될 때, 함께 차단될 수 있다. 이러한 비휘발성 메모리의 전원 차단에 대해서는 상세히 후술하기로 한다.
상술한 바와 같이, 본 발명의 일 실시예에 따르면, 아이들 타임이 발생한 경우에는 제2 메모리(120)의 전원을 차단함으로써 전력 소모를 줄일 수 있다. 제2 메모리(120)의 전원을 차단하기 전에는 상술한 제1 및 제2 매핑 테이블과 매핑 매니저를 백업하고 업데이트하기 위한 일련의 동작들이 수행된다.
아이들 타임의 발생 여부는 컨트롤러(100)에서 판단할 수도 있고, 호스트에서 판단할 수도 있다. 예컨대, 컨트롤러(100)는 타이머를 이용하여, 미리 정해진 시간(예컨대, 1초, 5초 등) 이상 호스트로부터 아무런 커맨드를 수신하지 못하면 아이들 타임으로 판단할 수 있다.
또 다른 실시예에서는, 호스트가 명령을 통해 제2 메모리의 전원 공급을 차단하도록 요청할 수 있다.
도 8은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 이를 참조하면, 호스트가 일정시간 이상 비휘발성 메모리 장치(200)를 억세스할 필요가 없는 경우에, 다음과 같은 절차를 거쳐 제2 메모리(120)의 전원을 차단할 수 있다. 또한, 도시되지는 않았지만, 제2 메모리(120)에서 제2 매핑 테이블로 관리되는 비휘발성 메모리의 전원도 차단될 수 있다.
먼저, 호스트가 메모리 시스템(10)로 플러쉬 커맨드(flush command)를 전송한다(S510). 플러쉬 커맨드는 제2 메모리(120)의 전원을 차단하기 전 제2 메모리(120)의 데이터를 백업하기 위해 정의된 호스트 명령일 수 있다. 플러쉬 커맨드를 수신한 컨트롤러(100)는 제2 메모리(120)에 저장되어 있던 제1 매핑 테이블을 제1 메모리(130)로 다시 전송하여 저장하고(S520), 제2 메모리(120)에 저장되어 있던 제2 매핑 테이블은 비휘발성 메모리(200)로 백업한다(S530). 또한 매핑 매니저 영역(210)을 업데이트 한다(S540). 다음으로, 컨트롤러(100)는 호스트로 DRAM에 있던 데이터의 백업을 완료했음을 나타내는 응답 신호를 전송한다(S550). 호스트는 메모리 시스템(10)로 파워다운 커맨드(power-down command)를 전송한다(S560). 파워다운 커맨드에 응답하여 컨트롤러(100)는 제2 메모리(120)의 전원을 차단한다(S570). 파워다운 커맨드는 도 13c에 도시된 바와 같이, 파워다운 커맨드임을 나타내는 식별자와 DRAM power on/off 필드를 포함할 수 있다. DRAM power on/off 필드가 '0'으로 설정되면 파워 오프를 나타내고, '1'로 설정되면 파워 온을 나타낸다.
도시되지는 않았지만, 제2 메모리(120)의 전원을 차단한 후, 컨트롤러(100)는 전원 차단 완료 응답 신호를 호스트로 전송할 수 있다(미도시).
전원 차단 완료 응답 신호는 도 13b에 도시된 바와 같이, 응답 신호임을 나타내는 식별자와 DRAM power on/off 필드를 포함할 수 있다. DRAM power on/off 필드가 '0'으로 설정되면 파워 오프를 나타내고, '1'로 설정되면 파워 온을 나타낸다.
도 9는 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 도 9에 도시된 전력 관리 방법은 도 8에 도시된 전력 관리 방법과 유사하다. 따라서 설명의 중복을 피하기 위하여 차이점을 위주로 기술한다.
도 8에 도시된 전력 관리 방법에 의하면 호스트에서의 파워다운 커맨드에 응답하여, 메모리 시스템(10)가 내부적으로 제2 메모리(120)로 공급되는 전원을 차단하는 반면, 도 9에 도시된 전력 관리 방법에 의하면, 호스트가 제2 메모리(120)로 공급되는 전력선 자체를 차단한다.
도 10은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 도 10에 도시된 전력 관리 방법은 도 8에 도시된 전력 관리 방법과 유사하다. 따라서 설명의 중복을 피하기 위하여 차이점을 위주로 기술한다. 도 8에 도시된 전력 관리 방법에 의하면 호스트에서의 플러시 커맨드와 파워다운 커맨드의 두 가지 커맨드를 이용하여 제2 메모리(120)의 데이터를 백업하고 제2 메모리(120)로 공급되는 전원을 차단하는 반면, 도 10에 도시된 전력 관리 방법에 의하면, 호스트는 통합된 하나의 커맨드(스탠바이 커맨드)를 이용하여 제2 메모리(120)의 데이터를 백업하고 제2 메모리(120)로 공급되는 전원을 차단한다. 스탠바이 커맨드는 도 13a에 도시된 바와 같이, 스탠바이 커맨드임을 나타내는 커맨드 식별자와 DRAM power on/off 필드를 포함할 수 있다.
좀 더 구체적으로 설명하면, 호스트가 메모리 시스템(10)로 스탠바이 커맨드를 전송한다(S510). 스탠바이 커맨드를 수신한 컨트롤러(100)는 제2 메모리(120)에 저장되어 있던 제1 매핑 테이블을 제1 메모리(130)로 다시 전송하여 저장하고(S520), 제2 메모리(120)에 저장되어 있던 제2 매핑 테이블은 비휘발성 메모리(200)로 백업한다(S530). 또한 매핑 매니저 영역을 업데이트 한 후(S540), 제2 메모리의 전원을 차단한다(S572). 제2 메모리(120)의 전원을 차단한 후, 컨트롤러(100)는 전원 차단 완료 응답 신호를 호스트로 전송한다(S580).
도 11은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 이를 참조하면, 저장 장치의 비휘발성 메모리 소자의 수가 복수개인 경우 호스트는 부트 코드가 저장되어 있는 비휘발성 메모리 존을 알기 위해 저장 장치로 낸드 존 체크 커맨드를 인가한다. 여기서 존이란, 전원 공급을 공유하는 하나 이상의 비휘발성 메모리 소자의 그룹일 수 있다. 예컨대, 채널을 공유하는 비휘발성 메모리 소자들끼리 하나의 존이 형성될 수 있다.
낸드 존 체크 커맨드를 수신하면, 컨트롤러(100)는 존 상태 응답 신호를 통해 부트 코드가 저장된 비휘발성 메모리 존을 호스트로 알려줄 수 있다.
그러면, 호스트는 부트 코드가 저장되어 있는 존을 제외한 나머지 존에 속하는 비휘발성 메모리 소자로의 전원 공급을 차단할 수 있다. 낸드 존 체크 커맨드와 이에 대한 존 상태 응답 신호의 일 예는 도 13d 및 도 13e에 도시된다.
앞서 상술한 실시예들은 저장 장치의 제2 메모리(DRAM)의 전력 소모를 줄이기 위한 방법들이라면, 도 11에 도시된 실시예는 비휘발성 메모리 장치의 전력 소모를 줄이기 위한 방법일 수 있다. 도 11에 도시된 실시예는 제2 메모리의 전원 공급이 차단되는 경우에 한하여 사용될 수 있다.
도 12는 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 이를 참조하면, 본 실시예는 제2 메모리로의 전원 공급 차단된 스탠바이 상태에서, 호스트가 명령을 통해 제2 메모리의 전원 공급을 재개하는 방법이다.
호스트에서 웹 브라우저(SWAP), MP3 플레이어(Multimedia) 등의 어플리케이션 실행요청이 들어오면 저장 장치로 디램 웨이크업 커맨드를 인가한다.
디램 웨이크업 커맨드는 도 13f에 도시된 바와 같이, 디램 웨이크업 커맨드임을 나타내는 커맨드 식별자와 요청 논리 주소를 포함할 수 있다.
메모리 시스템(10)는 디램 웨이크업 커맨드를 수신하면 요청 논리 주소의 매핑 테이블을 우선권을 주어 제2 메모리(DRAM)으로 우선적으로 로딩할 수 있다.
상술한 바와 같이, 본 실시예에 따르면, 호스트에서 미리 DRAM 웨이크 업을 가능하게 하고, 또한 이 때, 우선적으로 로딩될 매핑 테이블을 지정할 수 있게 함으로써, 제2 메모리(DRAM)의 전원 공급 재개 후 매핑 테이블 로딩에 따른 지연을 방지할 수 있다.
도 14는 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 도 15a 및 도 15b는 각각 오리지널 슬립 모드와 하프 슬립 모드에서의 전원 상태를 나타내는 표이다. 도 15c는 본 발명의 일 실시예에 따른 메모리 시스템을 오리지널 슬립 모드로 진입시키기 위한 호스트 명령의 포맷의 일 예이다.
호스트는 도 15c에 도시된 바와 같은 CMD5 명령을 메모리 시스템(10)로 인가하여 메모리 시스템(10)를 오리지널 슬립 모드로 진입시킬 수 있다. CMD5 명령은 총 32비트([31:0])로 구성될 수 있으며, 하위 15비트([14:0]는 모두 0으로 설정되고, 하위 16번째 비트([15])는 슬립/어웨이크 용으로 사용될 수 있다. 예컨대, 하위 16번째 비트([15])가 '1'로 설정되면 슬립 명령으로, 하위 16번째 비트([15])가 '0'으로 설정되면 어웨이크 명령으로 사용될 수 있다.
메모리 시스템(10)를 오리지널 슬립 모드로 진입시키기 위해서는 호스트는 CMD5 명령의 하위 16번째 비트([15])를 '1'로 설정하여 메모리 시스템(10)로 인가할 수 있다. 그러면, 메모리 시스템(10)는 상기 CMD5에 응답하여 오리지널 슬립 모드로 진입한다. 오리지널 슬립 모드에서는 도 15a에 도시된 바와 같이, 메모리 시스템(10)의 컨트롤러(100), 제2 메모리(예컨대, DRAM), 제1 및 제2 비휘발성 메모리 장치(예컨대, 제1 및 제2 낸드 메모리 칩)의 전원이 모두 오프된다.
또한 호스트는 도 15c에 도시된 바와 같은 CMD5 명령을 변형하여 메모리 시스템(10)로 인가하여 메모리 시스템(10)를 하프 슬립 모드로 진입시킬 수 있다. 하프슬립 모드용 CMD5 명령은 총 32비트([31:0])로 구성될 수 있으며, 하위 14비트([13:0]는 모두 0으로 설정되고, 하위 15번째 비트([14])가 슬립/어웨이크 용으로 사용될 수 있다. 예컨대, 하위 15번째 비트([14])가 '1'로 설정되면 하프 슬립 명령으로, 하위 16번째 비트([15])가 '0'으로 설정되면 어웨이크 명령으로 사용될 수 있다.
메모리 시스템(10)를 하프 슬립 모드로 진입시키기 위해서는 호스트는 CMD5 명령의 하위 15번째 비트([14])를 '1'로 설정하여 메모리 시스템(10)로 인가할 수 있다. 그러면, 메모리 시스템(10)는 상기 CMD5에 응답하여 하프 슬립 모드로 진입한다. 하프 슬립 모드에서는 도 15b에 도시된 바와 같이, 메모리 시스템(10)의 컨트롤러(100)와 제1 비휘발성 메모리 장치(예컨대, 제1 낸드 메모리 칩)의 전원은 온 상태이고, 제2 메모리(예컨대, DRAM)와 제2 비휘발성 메모리 장치(예컨대, 제1 및 제2 낸드 메모리 칩)의 전원은 오프된다.
도 14는 상술한 하프 슬립 모드용 CMD5 명령을 사용하여 메모리 시스템(10)를 하프 슬립모드로 진입시켜 관리하는 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 도 14를 참조하면, 호스트가 메모리 시스템(10)로 하프 슬립 모드용 CMD5 명령을 인가한다(S1010), 그러면, 메모리 시스템(10)는 하프 슬립 모드용 CMD5 명령에 응답하여 내부적으로 플러쉬 커맨드를 발생하고(S1020), 이에 응답하여 제2 메모리(DRAM)의 데이터를 백업한다(S1030). 다음으로 메모리 시스템(10)의 내부적으로 파워다운(DPD) 커맨드를 발생하고(S1040), 이에 응답하여 제2 메모리(DRAM)의 전원을 차단한다(S1050).
마지막으로, 메모리 시스템(10)는 제2 메모리(120)에서 제2 매핑 테이블로 관리되는 비휘발성 메모리 장치(예컨대, 제2 낸드 메모리 칩)의 전원도 차단할 수 있다(S1060).
상술한 바와 같이, 본 발명의 실시예에 따르면, 호스트 명령을 이용하여 제2 매핑 테이블로 관리되는 비휘발성 메모리 영역을 억세스할 필요가 없을 때는 제2 메모리와 해당 비휘발성 메모리 장치의 전원을 차단함으로써, 전력 소모를 줄일 수 있다.
도 16은 본 발명의 또 다른 일 실시예에 따른 메모리 시스템의 전력 관리 방법을 나타내는 플로우챠트이다. 이를 참조하면, 비휘발성 메모리 장치의 메모리 영역을 여러 영역(예컨대, 매핑 매니저 영역, 제1 매핑 테이블 영역, 제2 매핑 테이블 영역, 부트 코드 영역 및 GP 영역 등)으로 파티션하면(S910), MBR(master boot record)가 생성된다(S920).
도 17은 MBR의 구성을 나타내는 도면이다. 도 18을 참조하면, MBR은 0번째 논리 섹터에 저장되는 정보로서, 파티션 정보(partition information)를 담고 있다. 예컨대, 제1 파티션 정보(partition 1) 내지 제4 파티션 정보(partition 1)를 포함할 수 있으며, 각 파티션 정보는 16바이트 데이터로 구성될 수 있다.
좀 더 구체적으로는, 각 파티션 정보는 부트 플래그(boot flag), 타입 코드(type code), 시작 논리 블록 주소(LBA begin), 섹터 수(number of sectors) 등을 포함할 수 있다.
다시 도 16을 참조하면, 컨트롤러는 MBR 정보에 따라 매핑 매니저를 생성할 수 있다(S930). 즉, MBR은 제1 매핑 테이블 영역의 파티션 정보 및 제2 매핑 테이블 영역의 파티션 정보를 포함하므로, 이 정보로부터 제1 매핑 테이블의 어드레스 정보와 제2 매핑 태이블의 어드레스 정보를 추출하여 매핑 매니저를 생성할 수 있다(S930). 생성된 매핑 매니저는 매핑 매니저 영역에 저장된다(S940).
이와 같이, 매핑 매니저는 메모리 시스템(10)의 제품 출시전에 미리 저장될 수도 있지만, MBR을 이용하여 생성될 수도 있다. 예컨대, 비휘발성 메모리(200)의 영역이 제품 출시 후 사용자에 의해 파티션되는 경우에는, 도 16에 도시된 실시예와 같이, MBR 정보에 따라 매핑 매니저 정보 역시 생성되어, 매핑 매니저 영역에 저장될 수 있다.
도 18 및 도 19는 각각 본 발명의 실시예에 따른 메모리 시스템을 구비하는 전자 시스템의 블록도이다. 도 18을 참조하면 본 발명의 실시예에 따른 전자 시스템(900)은 본 발명의 일 실시예에 따른 메모리 시스템(10), 전원부(power supply)(910), 중앙 처리 장치(CPU)(920), 램(RAM)(930), 유저 인터페이스(User Interface)(940) 및 이들 구성요소들을 전기적으로 연결하는 시스템 버스(950)를 포함할 수 있다.
CPU(920)는 시스템(900)의 전체적인 동작을 제어하고, RAM(930)은 시스템(900)의 동작을 위해 필요한 정보들을 저장하고, User Interface(940)는 시스템(900)과 사용자와의 인터페이스를 제공한다. 전원부(910)는 내부의 구성 요소들(즉, CPU(920), 램(RAM)(930), 유저 인터페이스(940), 메모리 시스템(500) 등)으로 전원을 공급한다.
CPU(920)가 상술한 호스트(20)에 해당할 수 있으며, 메모리 시스템(10)는 호스트(20)의 명령에 응답하여 데이터를 저장하거나 독출할 수 있다.
도 19에 도시된 전자 시스템(900')은 도 18에 도시된 전자 시스템(900)과 유사한 구성을 가지므로, 설명의 중복을 피하기 위하여 차이점을 위주로 기술한다.
도 19에 도시된 전자 시스템(900')은 도 18에 도시된 전자 시스템(900)에 비하여, RAID 컨트롤러 카드(960)를 더 구비한다. 메모리 시스템(10)는 호스트와 직접 인터페이스하는 것이 아니라, RAID 컨트롤러 카드(960)에 장착되어, RAID 컨트롤러 카드(960)를 통하여 호스트와 인터페이스할 수 있다.
도 18 및 도 19에 도시된 전자 시스템(900, 900')는 컴퓨터(computer), PDA(personal digital assistance), 휴대 전화기(cellular telephone), 스마트폰(smart phone), MP3 플레이어, PMP(portable multimedia player), 차량자동항법장치(automotive navigation system), MID(Mobile Internet Device) 등일 수 있으나, 열거한 제품에 한정되지 않는다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
상기 본 발명의 내용은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
비휘발성 메모리 시스템 : 10
컨트롤러 : 100
비휘발성 메모리 장치 : 200
호스트 인터페이스 : 110
제1 메모리 : 130
제2 메모리 : 120
메모리 인터페이스 : 140
CPU : 150
전자 시스템 : 900, 900'

Claims (10)

  1. 비휘발성 메모리 시스템에 있어서,
    휘발성의 제1 메모리;
    휘발성의 제2 메모리;
    코드 영역에 대한 주소 정보를 포함하는 제1 매핑테이블과 일반 용도 영역(GP 영역)에 대한 주소 정보를 포함하는 제2 매핑 테이블을 저장하는 비휘발성 메모리; 및
    상기 제1 매핑 테이블을 상기 비휘발성 메모리로부터 상기 제1 메모리로 로드하고, 상기 제2 매핑 테이블을 상기 비휘발성 메모리로부터 상기 제2 메모리로 로드하는 컨트롤러를 구비하며,
    상기 제2 메모리의 전원은 상기 컨트롤러의 전원과 독립적으로 차단될 수 있는 비휘발성 메모리 시스템.
  2. 제1 항에 있어서,
    상기 비휘발성 메모리의 상기 일반 용도 영역에 대한 억세스 요청이 없는 동안에는 상기 컨트롤러의 전원이 공급되는 동안에도 상기 제2 메모리의 전원 공급은 차단되는 비휘발성 메모리 시스템.
  3. 제2 항에 있어서, 상기 비휘발성 메모리는
    부트 코드를 저장하는 상기 코드 영역;
    사용자 데이터 및 어플리케이션 프로그램을 저장하는 상기 GP 영역;
    상기 제1 매핑 테이블을 저장하는 제1 매핑 테이블 영역;
    상기 제2 매핑 테이블을 저장하는 제2 매핑 테이블 영역; 및
    상기 제1 매핑 테이블의 어드레스 정보와 상기 제2 매핑 태이블의 어드레스 정보를 포함하는 매핑 매니저 정보를 저장하는 매핑 매니저 영역으로 파티션되는 비휘발성 메모리 시스템.
  4. 제3 항에 있어서, 상기 컨트롤러는
    파워업(power-up)시 상기 비휘발성 메모리의 상기 매핑 매니저 영역을 스캔하여 상기 제1 매핑 테이블의 어드레스 정보를 추출하고, 상기 추출된 상기 제1 매핑 테이블의 어드레스 정보에 따라 상기 제1 매핑 테이블을 상기 제1 메모리에 로드하며,
    상기 제1 매핑 테이블을 이용하여 상기 코드 영역에 저장된 부트 코드를 독출하여 상기 호스트로 전송하는 비휘발성 메모리 시스템.
  5. 제3 항에 있어서, 상기 컨트롤러는
    상기 비휘발성 메모리 시스템의 파워-업 후 상기 GP 영역에 대한 억세스 요청이 있기 전까지는 상기 제2 메모리로의 전원 공급을 차단하고,
    상기 GP 영역에 대한 억세스 요청이 있으면 비로소 상기 제2 메모리로 전원을 공급함으로써 상기 비휘발성 메모리 시스템의 파워-업 시점 보다 상기 제2 메모리의 파워-업 시점을 지연하는 비휘발성 메모리 시스템.
  6. 제5 항에 있어서, 상기 컨트롤러는
    상기 제2 메모리로 전원을 공급한 후, 상기 비휘발성 메모리의 상기 매핑 매니저 데이터를 스캔하여 상기 제2 매핑 테이블의 어드레스 정보를 추출하고, 상기 추출된 상기 제2 매핑 테이블의 어드레스 정보에 따라 상기 제2 매핑 테이블을 상기 제2 메모리에 로드하는 비휘발성 메모리 시스템.
  7. 제6 항에 있어서, 상기 컨트롤러는
    상기 제2 매핑 테이블을 상기 제2 메모리로 로드하면,
    상기 제1 메모리에 로드된 상기 제1 매핑 테이블을 상기 제2 메모리에 전송하여 저장하고, 상기 제1 메모리의 전원을 차단하는 비휘발성 메모리 시스템.
  8. 제5 항에 있어서, 상기 컨트롤러는
    아이들 타임이 발생하면, 상기 제2 메모리에 저장된 상기 제1 매핑 테이블을 상기 제1 메모리로 다시 전송하고, 상기 제2 메모리에 저장된 상기 제2 매핑 테이블은 상기 비휘발성 메모리로 백업한 후 상기 제2 메모리의 전원을 차단하는 비휘발성 메모리 시스템.
  9. 제8 항에 있어서, 상기 컨트롤러는
    일정 시간 이상 상기 호스트로부터 커맨드를 수신하지 못하면 상기 아이들 타임으로 판단하는 비휘발성 메모리 시스템.
  10. 제5 항에 있어서, 상기 컨트롤러는
    상기 호스트로부터 플러쉬 커맨드를 수신하면, 상기 제2 메모리에 저장된 상기 제1 매핑 테이블을 상기 제1 메모리로 다시 전송하고, 상기 제2 메모리에 저장된 상기 제2 매핑 테이블은 상기 비휘발성 메모리로 백업한 후 상기 호스트로 백업 완료 응답 신호를 전송하고,
    상기 호스트로부터 파워다운 커맨드를 수신하면 상기 제2 메모리의 전원을 차단하는 비휘발성 메모리 시스템.
KR1020100094638A 2010-09-29 2010-09-29 비휘발성 메모리 시스템 KR101736384B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020100094638A KR101736384B1 (ko) 2010-09-29 2010-09-29 비휘발성 메모리 시스템
CN201110303359.2A CN102436419B (zh) 2010-09-29 2011-09-29 非易失性存储器系统及管理其电源的方法
US13/200,715 US9098398B2 (en) 2010-09-29 2011-09-29 Non-volatile memory systems and methods of managing power of the same
US14/813,291 US9465553B2 (en) 2010-09-29 2015-07-30 Non-volatile memory systems and methods of managing power of the same
US15/270,513 US9817596B2 (en) 2010-09-29 2016-09-20 Non-volatile memory systems and methods of managing power of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100094638A KR101736384B1 (ko) 2010-09-29 2010-09-29 비휘발성 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20120033372A true KR20120033372A (ko) 2012-04-09
KR101736384B1 KR101736384B1 (ko) 2017-05-16

Family

ID=45871829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100094638A KR101736384B1 (ko) 2010-09-29 2010-09-29 비휘발성 메모리 시스템

Country Status (3)

Country Link
US (3) US9098398B2 (ko)
KR (1) KR101736384B1 (ko)
CN (1) CN102436419B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130120925A1 (en) * 2011-11-10 2013-05-16 Young-Jin Park Memory module, board assembly and memory system including the same, and method of operating the memory system
KR20140119510A (ko) * 2013-04-01 2014-10-10 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20170019239A (ko) * 2015-08-11 2017-02-21 삼성전자주식회사 통신 중단시 데이터 손실을 방지하도록 동작하는 스토리지 장치
US10007324B2 (en) 2015-06-16 2018-06-26 SK Hynix Inc. Memory system

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
CN104798060A (zh) * 2013-01-30 2015-07-22 惠普发展公司,有限责任合伙企业 存储器模块中数据的运行时备份
KR20140123203A (ko) * 2013-04-11 2014-10-22 삼성전자주식회사 메모리 시스템
KR20150006614A (ko) * 2013-07-09 2015-01-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20150015764A (ko) * 2013-08-01 2015-02-11 삼성전자주식회사 스토리지 디바이스 및 이를 포함하는 스토리지 시스템
US11733932B2 (en) 2013-09-27 2023-08-22 Hewlett Packard Enterprise Development Lp Data management on memory modules
US9442560B2 (en) * 2014-02-26 2016-09-13 Kabushiki Kaisha Toshiba Memory system minimizing occurrences of storing of operation data in non-volatile storage during power saving mode
CN104281535B (zh) * 2014-09-24 2017-11-17 北京兆易创新科技股份有限公司 一种映射表在内存中的处理方法和装置
US10198320B2 (en) 2014-10-31 2019-02-05 Hewlett-Packard Development Company, L.P. Power-loss protection
CN105786398B (zh) * 2014-11-18 2019-04-05 财团法人工业技术研究院 存储器映射方法和存储器映射系统
US10152413B2 (en) * 2015-06-08 2018-12-11 Samsung Electronics Co. Ltd. Nonvolatile memory module and operation method thereof
KR102403266B1 (ko) * 2015-06-22 2022-05-27 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
CN105067067A (zh) * 2015-08-03 2015-11-18 重庆川仪自动化股份有限公司 数据存储的方法及装置
KR20170021402A (ko) * 2015-08-17 2017-02-28 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US20170060436A1 (en) * 2015-09-02 2017-03-02 Intel Corporation Technologies for managing a reserved high-performance memory region of a solid state drive
US10866737B2 (en) * 2015-09-17 2020-12-15 Intel Corporation Apparatus, method and system to store information for a solid state drive
CN105243025B (zh) * 2015-09-25 2019-04-19 北京联想核芯科技有限公司 一种映射表的形成及加载方法、电子设备
CN105353989B (zh) 2015-11-19 2018-12-28 华为技术有限公司 存储数据访问方法及相关的控制器、设备、主机和系统
CN106933751B (zh) * 2015-12-29 2019-12-24 澜起科技股份有限公司 用于保护动态随机访问存储器的方法和设备
US10114550B2 (en) 2016-01-07 2018-10-30 Samsung Electronics Co., Ltd. Data storage device and data processing system including the data storage device
US10289544B2 (en) * 2016-07-19 2019-05-14 Western Digital Technologies, Inc. Mapping tables for storage devices
KR102666489B1 (ko) * 2016-09-09 2024-05-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180032728A (ko) * 2016-09-22 2018-04-02 삼성전자주식회사 저장 장치, 저장 장치를 포함하는 사용자 장치, 및 사용자 장치의 동작 방법
TWI619018B (zh) * 2016-11-10 2018-03-21 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
TWI664568B (zh) * 2016-11-15 2019-07-01 慧榮科技股份有限公司 資料儲存裝置之操作方法
CN107016039B (zh) * 2017-01-06 2020-11-03 创新先进技术有限公司 数据库写入的方法和数据库系统
KR102398201B1 (ko) * 2017-06-30 2022-05-17 삼성전자주식회사 프로세서의 개입 없이 단순 작업을 관리하는 스토리지 장치
KR102507302B1 (ko) * 2018-01-22 2023-03-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
KR102535828B1 (ko) * 2018-02-06 2023-05-23 삼성전자주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법
KR20190124015A (ko) * 2018-04-25 2019-11-04 에스케이하이닉스 주식회사 저항 변화 메모리 장치를 포함하는 메모리 시스템 및 그 동작 방법
US11552811B2 (en) 2018-06-14 2023-01-10 Hewlett-Packard Development Company, L.P. Conferencing with error state HID notification
CN110618784B (zh) * 2018-06-19 2022-10-14 宏碁股份有限公司 数据存储装置及其操作方法
CN110895445B (zh) * 2018-09-12 2021-09-14 华为技术有限公司 数据处理方法和系统
US11347860B2 (en) * 2019-06-28 2022-05-31 Seagate Technology Llc Randomizing firmware loaded to a processor memory
KR20210110071A (ko) 2020-02-28 2021-09-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US11055176B1 (en) * 2020-04-24 2021-07-06 Western Digital Technologies, Inc. Storage devices hiding parity swapping behavior
US11036625B1 (en) * 2020-04-24 2021-06-15 Micron Technology, Inc. Host-resident translation layer write command associated with logical block to physical address of a memory device
US11194494B2 (en) 2020-04-24 2021-12-07 Western Digital Technologies, Inc. Storage devices hiding parity swapping behavior
CN112965665B (zh) * 2021-03-09 2023-09-26 华泰证券股份有限公司 一种基于sas和ssd的gp数据库数据存储方法
WO2024044876A1 (en) * 2022-08-29 2024-03-07 Micron Technology, Inc. Receiving executable instructions from volatile memory

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3871853B2 (ja) * 2000-05-26 2007-01-24 株式会社ルネサステクノロジ 半導体装置及びその動作方法
GB0123422D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
KR100786603B1 (ko) 2002-11-28 2007-12-21 가부시끼가이샤 르네사스 테크놀로지 메모리 모듈, 메모리시스템 및 정보기기
KR100764875B1 (ko) 2005-08-17 2007-10-09 주식회사 유비스티 플래시 메모리를 이용한 저전력환경을 위한 컴퓨터 시스템및 그 운영방법
KR101469512B1 (ko) 2007-01-10 2014-12-05 모바일 세미컨덕터 코오포레이션 외부 컴퓨팅 디바이스의 성능 향상을 위한 어댑티브 메모리 시스템
JP2008186243A (ja) 2007-01-30 2008-08-14 Kyocera Corp 受信制御装置および受信制御方法
JP2009050828A (ja) * 2007-08-29 2009-03-12 Shibaura Mechatronics Corp ペースト塗布装置及びペースト塗布方法
US8239612B2 (en) * 2007-09-27 2012-08-07 Tdk Corporation Memory controller, flash memory system with memory controller, and control method of flash memory
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
JP5198245B2 (ja) * 2008-12-27 2013-05-15 株式会社東芝 メモリシステム
US9244836B2 (en) * 2009-11-23 2016-01-26 Agiga Tech Inc. Flash memory organization for reduced failure rate

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130120925A1 (en) * 2011-11-10 2013-05-16 Young-Jin Park Memory module, board assembly and memory system including the same, and method of operating the memory system
KR20140119510A (ko) * 2013-04-01 2014-10-10 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9640264B2 (en) 2013-04-01 2017-05-02 Samsung Electronics Co., Ltd. Memory system responsive to flush command to store data in fast memory and method of operating memory system
US10007324B2 (en) 2015-06-16 2018-06-26 SK Hynix Inc. Memory system
KR20170019239A (ko) * 2015-08-11 2017-02-21 삼성전자주식회사 통신 중단시 데이터 손실을 방지하도록 동작하는 스토리지 장치

Also Published As

Publication number Publication date
CN102436419B (zh) 2016-04-20
US20120079171A1 (en) 2012-03-29
CN102436419A (zh) 2012-05-02
US9098398B2 (en) 2015-08-04
US20150339075A1 (en) 2015-11-26
US20170010832A1 (en) 2017-01-12
US9465553B2 (en) 2016-10-11
KR101736384B1 (ko) 2017-05-16
US9817596B2 (en) 2017-11-14

Similar Documents

Publication Publication Date Title
KR101736384B1 (ko) 비휘발성 메모리 시스템
US8826051B2 (en) Dynamic allocation of power budget to a system having non-volatile memory and a processor
TWI546818B (zh) 一種具有綠能資料持續模式的裝置驅動器
US20080172519A1 (en) Methods For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device
US9032139B2 (en) Memory allocation for fast platform hibernation and resumption of computing systems
EP3872641B1 (en) Storage device and method of operating the storage device
KR102114109B1 (ko) 데이터 저장 장치
US8489833B2 (en) Data backup method for flash memory module and solid state drive
US11775188B2 (en) Communications to reclaim storage space occupied by proof of space plots in solid state drives
US20230244394A1 (en) Gradually Reclaim Storage Space Occupied by a Proof of Space Plot in a Solid State Drive
US11960756B2 (en) Management of storage space in solid state drives to support proof of space activities
CN111399752B (zh) 不同类型存储单元的控制装置及方法
US11977742B2 (en) Solid state drives configurable to use storage spaces of remote devices in activities involving proof of space
WO2017107162A1 (zh) 一种异构混合内存组件、系统及存储方法
CN101770799A (zh) 一种usb总线供电的移动硬盘
US11977768B2 (en) Write buffer extensions for storage interface controllers
US20230035137A1 (en) Idle power mode for external storage device
WO2008084473A1 (en) Systems for supporting readydrive and ready boost accelerators in a single flash-memory storage device
CN117980859A (zh) 一种存储器件中数据存储的方法和一种存储器件
CN102591681A (zh) 计算机设备以及计算机设备的启动方法

Legal Events

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