KR101562973B1 - 메모리 장치 및 메모리 장치의 동작 방법 - Google Patents

메모리 장치 및 메모리 장치의 동작 방법 Download PDF

Info

Publication number
KR101562973B1
KR101562973B1 KR1020090045118A KR20090045118A KR101562973B1 KR 101562973 B1 KR101562973 B1 KR 101562973B1 KR 1020090045118 A KR1020090045118 A KR 1020090045118A KR 20090045118 A KR20090045118 A KR 20090045118A KR 101562973 B1 KR101562973 B1 KR 101562973B1
Authority
KR
South Korea
Prior art keywords
memory
volatile memory
data
nonvolatile
volatile
Prior art date
Application number
KR1020090045118A
Other languages
English (en)
Other versions
KR20100126069A (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 KR1020090045118A priority Critical patent/KR101562973B1/ko
Priority to US12/771,203 priority patent/US9158475B2/en
Priority to EP10162916A priority patent/EP2256638A1/en
Priority to EP10163389A priority patent/EP2256639A1/en
Publication of KR20100126069A publication Critical patent/KR20100126069A/ko
Application granted granted Critical
Publication of KR101562973B1 publication Critical patent/KR101562973B1/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

신속한 부팅을 지원하는 메모리 장치 및 메모리 장치의 동작 방법이 개시된다. 일 양상에 따르면 메모리 장치는 휘발성 메모리, 비휘발성 메모리, 및 휘발성 메모리 및 비휘발성 메모리에 저장된 데이터의 입출력을 제어하는 메모리 제어부를 포함한다. 메모리 제어부는 부팅 동작시 메모리 장치 외부로부터의 제어 입력에 따라 요구되는 데이터를 온 디맨드 방식으로 비휘발성 메모리로부터 휘발성 메모리로 복원한다.
부팅, BIOS, 플래시 메모리, 메모리 제어부, 인스턴트 부트

Description

메모리 장치 및 메모리 장치의 동작 방법{Memory apparatus and method for operating thereof}
하나 이상의 양상은 메모리 장치 및 메모리 장치의 동작 방법에 관한 것으로, 더욱 상세하게는 신속한 부팅을 지원하는 메모리 장치 및 메모리 장치의 동작 방법에 관한 것이다.
컴퓨터 시스템의 프로세서는 DRAM와 같은 휘발성 메모리로부터의 명령들을 실행한다. DRAM은 고속 액세스가 가능하지만 휘발성 메모리이기 때문에 전원을 오프했을 경우에 기억되고 있던 정보가 소실된다. 따라서, 하드 디스크, 플래시 메모리 등의 비휘발성 메모리에 DRAM의 정보를 쓰고 나서 DRAM의 전원을 오프할 필요가 있다.
예를 들어, 개인용 컴퓨터의 휘발성 메모리로 DRAM이 사용되지만, 전원이 투입된 직후에는 DRAM에는 아무 정보도 저장되어 있지 않으므로, 우선 키보드 또는 하드 디스크와의 데이터를 교환하기 위한 기본 프로그램 등을 DRAM에 쓸 필요가 있다. 이와 같이 컴퓨터를 시동하거나 초기 설정하는 것을 부팅이라 한다. 통상, 이러한 기본 프로그램 등은 ROM 또는 HDD(Hard Disk Drive) 등의 저장매체에 저장 된다. 이러한 저장 매체로부터 DRAM으로의 데이터 전송은 저속이다. 따라서, 사용자가 전원을 켜서 부팅이 수행되어 사용자가 실제 사용할 수 있는 환경까지 대기하는 시간이 길며, 하드웨어를 초기화하는 시간이 많이 소요된다.
컴퓨팅 장치의 부팅 시간을 단축시킬 수 있는 메모리 장치 및 메모리 장치 동작 방법을 제공한다.
일 양상에 따르면 메모리 장치는 휘발성 메모리, 비휘발성 메모리, 및 메모리 제어부를 포함한다. 메모리 제어부는 부팅 동작시 메모리 장치 외부로부터의 입력 신호에 따라 요구되는 데이터를 온 디맨드 방식으로 비휘발성 메모리로부터 휘발성 메모리로 복원한다. 여기에서, 휘발성 메모리는 DRAM이고, 비휘발성 메모리는 NOR 플래시 메모리, NAND 플래시 메모리, PRAM 중 적어도 하나일 수 있다.
메모리 제어부는, 입력 신호에 포함된 어드레스 및 제어 신호에 따라 요구되는 데이터가 휘발성 메모리에 존재하는지 여부를 판단하고, 휘발성 메모리에 데이터가 존재하지 않는 경우에, 데이터를 비휘발성 메모리로부터 휘발성 메모리로 복원할 수 있다. 여기에서, 데이터가 휘발성 메모리에 존재하는지 여부를 판단하기 위하여, 휘발성 메모리의 각 어드레스의 데이터가 존재하는지 여부를 나타내는 정보를 포함하는 룩업 테이블을 이용할 수 있다. 판단 동작을 신속하게 수행하기 위하여 룩업 테이블은 하드웨어 구성요소로서 구성될 수 있다. 여기에서, 하드웨어 구성요소는 플립플롭일 수 있다.
메모리 제어부가 입력되는 어드레스에 대응하는 데이터가 휘발성 메모리에 존재한다고 결정하고, 제어 신호가 읽기 신호인 경우, 메모리 제어부는 휘발성 메모리로부터 데이터가 출력되도록 외부로부터 입력되는 신호를 휘발성 메모리로 전달할 수 있다.
외부로부터 휘발성 메모리에 저장된 데이터를 비휘발성 메모리로 저장하는 동작이 수행되는 ZPSTR(Zero Power Suspend-to-RAM) 모드 명령이 입력되면, 메모리 제어부는 하나의 휘발성 메모리에 저장된 정보가 대응하는 복수 개의 비휘발성 메모리에 멀티 채널을 통해서 분산 저장되도록 제어할 수 있다. 여기에서, 모드 명령은 소정 형태의 규칙화된 물리적 신호일 수 있다. 여기에서, 물리적 신호라 함은 전기적 신호 또는 명령어 레지스터의 특정 레지스터를 지시하여 명령이 출력되도록 하는 메모리 자체의 레지스터 명령어일 수 있다. 따라서, 기존의 메모리의 하드웨어 인터페이스를 변경하지 않고, 메모리 장치를 사용할 수 있으며, Suspend To RAM 모드를 일부 수정하여 사용할 수 있다.
메모리 제어부는 휘발성 메모리의 저장 영역과 비휘발성 메모리에 저장 영역과의 매핑 관계를 나타내는 메모리 매핑 테이블을 비휘발성 메모리에 저장할 수 있다.
또한, 메모리 장치 외부에서 동작하는 운영체제로부터 휘발성 메모리에 저장된 데이터 중 동일한 애플리케이션에 관한 데이터를 비휘발성 메모리에 저장할 것을 요청하는 명령이 입력되면, 메모리 제어부는 동일한 애플리케이션에 관한 데이 터가 비휘발성 메모리의 소정의 영역에 가능한 함께 저장되도록 제어할 수 있다. 또한, 메모리 장치 외부에서 동작하는 운영체제로부터 휘발성 메모리에 저장된 데이터 중 소정의 애플리케이션에 관한 데이터를 비휘발성 메모리에 저장하라는 요청이 입력되면, 메모리 제어부는 휘발성 메모리에 저장된 데이터를 비휘발성 메모리로 저장하는 동작이 수행되는 ZPSTR(Zero Power Suspend-to-RAM) 모드 명령과 무관하게 소정의 애플리케이션에 관한 데이터를 비휘발성 메모리에 저장할 수 있다.
또한, 메모리 장치 외부에서 동작하는 운영체제로부터 들어오는 스왑(swap) 명령을 수신하면, 메모리 제어부는 휘발성 메모리에서 일부 데이터를 비휘발성 메모리로 스왑 아웃할 수 있다.
또한, 메모리 제어부는, 디코더, 복원 판단부, 및 흐름 제어부를 포함하도록 구성될 수 있다. 디코더는 외부로부터 입력되는 어드레스 및 제어 신호를 해석한다. 복원 판단부는 어드레스 및 제어 신호에 따라 요청되는 데이터가 휘발성 메모리에 존재하는지 여부를 판단한다. 흐름 제어부는 제어 신호에 따라 휘발성 메모리 및 비휘발성 메모리에 저장된 데이터의 입출력을 제어한다. 또한, 메모리 제어부는 데이터를 비휘발성 메모리에서 휘발성 메모리로 복원한 다음에 비휘발성 메모리에서 휘발성 메모리로 복원된 데이터를 삭제할 수 있다.
다른 양상에 따른 휘발성 메모리, 비휘발성 메모리, 및 휘발성 메모리 및 비휘발성 메모리에 저장된 데이터의 입출력을 제어하는 메모리 제어부를 포함하는 메모리 장치의 동작 방법은, 부팅 동작시 외부로부터의 입력 신호에 따라 요구되는 데이터를 온 디맨드 방식으로 비휘발성 메모리로부터 휘발성 메모리로 복원하는 단 계를 포함할 수 있다.
일 실시예에 따르면, 컴퓨팅 장치에서 온 디맨드 방식에 따라 비휘발성 메모리로부터 휘발성 메모리로 데이터 복원을 하여 부팅을 수행함으로써 부팅 시간을 단축할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 일 실시예에 따른 메모리 장치를 포함하는 컴퓨팅 시스템의 구성을 나타내는 도면이다.
일 실시예에 따른 컴퓨팅 시스템(1)은 중앙 처리 유닛(CPU; 100) 및 메모리 장치(200)를 포함한다. 컴퓨팅 시스템(1)은 미리 결정된 방식으로 동작하게 하는 프로그램들 또는 프로그램 모듈들과 같이 미리 기록된 일련의 명령들을 실행할 수 있다. 프로그램 모듈들은 특정한 태스크를 수행하거나 특정한 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 성분들, 데이터 구조들을 포함할 수 있다. 컴퓨팅 시스템(1)은 개인용 컴퓨터, 노트북, 임베디드 시스템 등 각종 전자 장치일 수 있으며 그 종류나 형태에 제한되지 않는다.
CPU(100)는 각종의 연산 및 제어 동작을 실행한다. CPU(100)는 메모리 장치(200)와의 데이터 입출력을 위하여 실행 명령을 포함하는 제어 신호(10), 데이터의 저장 위치를 나타내는 어드레스(20)를 메모리 장치(200)로 전송하고, 메모리 장치(200)와 데이터(30)를 송수신한다.
메모리 장치(200)는 메모리 제어부(210), 휘발성 메모리(220) 및 비휘발성 메모리(230)를 포함한다. 메모리 제어부(210)는 CPU(100)와 휘발성 메모리(220) 및 비휘발성 메모리(230) 사이의 데이터 입출력을 제어한다. 메모리 제어부(210)는 비휘발성 메모리(230)에서 휘발성 메모리(220)로 복원 동작시 이용되는 버퍼의 역할을 하고, 메모리 제어부(210)의 동작에 필요한 데이터를 저장하는 RAM(도시되지 않음)을 포함할 수 있다. 이러한 RAM으로서 SRAM(static random access memory)이 이용될 수 있다.
도 1에서 메모리 장치(200)에 휘발성 메모리(220) 및 비휘발성 메모리(230)가 하나씩 존재하는 것으로 도시되어 있으나, 휘발성 메모리(220) 및 비휘발성 메모리(230)는 복수 개 포함되어 데이터의 병렬적인 읽기 및 쓰기 동작이 가능하도록 배치될 수 있다.
휘발성 메모리(220)는 컴퓨팅 시스템(1)의 데이터 처리 결과를 임시 저장하는 시스템 메모리로 이용된다. 휘발성 메모리(220)는 일예로 DRAM(dynamic random access memory)일 수 있다. 비휘발성 메모리(230)는 전원이 꺼지더라도 데이터를 유지하여 저장하는 메모리로 휘발성 메모리(220)에 저장된 데이터의 백업에 이용된 다. 비휘발성 메모리(230)는 NOR 플래시 메모리, NAND 플래시 메모리, PRAM(Phase-change Memory) 등 일 수 있다.
도 1의 컴퓨팅 시스템(1)에는 도시되지 않았으나, 외부 전원 스위치, 전원 및 메모리 제어부(210), 휘발성 메모리(220) 및 비휘발성 메모리(230) 각각에 대한 전원을 공급을 제어하는 내부 전원 스위치가 포함되어 구성될 수 있다.
컴퓨팅 시스템(1)은 일반 동작(Normal) 모드, 대기 모드(Suspend TO RAM), 및 ZPSTR 모드(Zero Power Suspend To RAM 모드)에서 동작할 수 있다. 또한, 컴퓨팅 시스템(1)은 전원이 오프된 상태에서 전원이 들어오는 경우 시스템 초기화 과정이 수행되는 일반 부팅, 대기 모드에서 일반 동작 모드로 변환하기 위한 대기 모드 해제 부팅, ZPSTR 모드에서 일반 동작 모드로 변환하기 위한 ZPSTR 모드 해제 부팅을 수행할 수 있다. 컴퓨팅 시스템(1)은 비휘발성 메모리(230)의 소정 영역 또는 별도의 롬(ROM)에 저장된 복수 개의 부팅 프로그램을 이용하여 상황에 따라 일반 부팅, 대기 모드 해제 부팅 및 ZPSTR 해제 부팅을 수행할 수 있다.
여기에서, CPU(100)로부터 입력되는 소정의 모드로 진입을 명령하는 모드 명령 또는 소정의 모드로부터 해제되기 위한 해제 부팅을 위한 명령은 소정 형태의 규칙화된 물리적 신호일 수 있다. 여기에서, 물리적 신호라 함은 전기적 신호 또는 명령어 레지스터의 특정 레지스터를 지시하여 명령이 출력되도록 하는 메모리 자체의 레지스터 명령어일 수 있다. 따라서, 기존의 하드웨어 인터페이스를 변경하지 않고, 메모리 장치를 사용할 수 있어 호환이 가능하고, 기존 운영체제(OS)에서 사용하고 있는 대기(Suspend To RAM) 모드를 일부 수정하여 사용하는 것이 가능 하다.
우선, 컴퓨터 시스템(1)의 일반 부팅시의 동작을 설명한다.
컴퓨팅 시스템(1)에 전원이 오프된 상태에서 전원이 들어온 경우 비휘발성 메모리(230)의 소정 영역에 저장되어 있는 BIOS(Basic Input Output System)부팅 프로그램이 휘발성 메모리(220)로 전달되어 CPU(100)는 부팅 동작을 수행할 수 있다. 또한, 메모리 제어부(210)는 CPU(100)의 제어에 따라 BIOS에 정의된 순서에 따라 비휘발성 메모리(230)의 데이터를 휘발성 메모리(220)로 복원하도록 제어하여 컴퓨팅 시스템(1) 시스템 초기화 동작에 필요한 동작을 수행한다.
다음으로, 컴퓨터 시스템(1)의 대기 모드 동작을 설명한다.
대기 모드에서는 CPU(100)에 대한 전원은 오프되며, 휘발성 메모리(220)에 대해서는 전원이 공급된다. CPU(100)로부터 제어 신호(10)로 대기 모드 명령이 입력되면, 메모리 제어부(210)는 CPU 레지스터 값을 휘발성 메모리(220)에 저장한다. CPU 레지스터 값은 CPU가 사용하는 중요한 값을 기록해 놓은 CPU 내부의 레지스터의 값으로, 예를 들어, 현재 실행중인 명령어의 메모리상의 위치를 나타내는 프로그램 카운터를 포함할 수 있다.
이 경우, CPU(100)로부터 대기 모드 해제 명령이 입력되면, 메모리 제어부(210)는 휘발성 메모리(220)에 저장된 CPU 레지스터 값을 CPU(100)로 복원하여 CPU(100)가 다음 명령을 실행할 수 있도록 한다.
다음으로, 컴퓨터 시스템(1)의 ZPSTR 모드 동작을 설명한다.
ZPSTR 모드에서 CPU(100) 및 휘발성 메모리(220)에 대하여 전원이 공급이 중 단된다. 따라서, CPU(110)로부터 ZPSTR 모드 명령이 입력되면, 메모리 제어부(210)는 CPU 레지스터 값 및 휘발성 메모리(220)에 저장되어 있던 데이터를 비휘발성 메모리(230)로 복사한다. 여기에서, CPU 레지스터 값은 비휘발성 메모리(230)의 미리 설정된 특정 영역에 저장될 수 있다.
ZPSTR 모드로 빨리 진입하기 위하여 하나의 휘발성 메모리(220)의 데이터는 복수 개의 비휘발성 메모리(230)로 병렬적으로 멀티 채널을 통해서 분산 저장될 수 있다. 휘발성 메모리(220)가 복수 개 존재하는 경우에는, 각 휘발성 메모리(220)의 데이터가 각 휘발성 메모리(220)에 대응되는 복수 개의 비휘발성 메모리(230)로 분산 저장될 수 있다.
휘발성 메모리(220)의 데이터를 복수 개의 비휘발성 메모리(230)로 효과적으로 저장하기 위하여, 휘발성 메모리(220)의 저장 영역에 대응하는 비휘발성 메모리(230)의 저장 영역의 매핑 관계 나타내는 메모리 매핑 테이블을 이용할 수 있다. 일예로, 메모리 매핑 테이블은 휘발성 메모리(220)의 저장 영역과 비휘발성 메모리(230) 중 일부 저장 영역 예를 들어, BIOS 또는 FTL(Flash Translation Layer) 데이터가 저장된 영역을 제외한 나머지 영역을 일대일로 매핑한 매핑 관계를 나타낼 수 있다. 이러한 메모리 매핑 테이블은 비휘발성 메모리(230)의 특정 영역에 저장되고, 휘발성 메모리(220)의 데이터가 비휘발성 메모리(230)에 저장되어야 하는 경우 메모리 제어부(210)는 메모리 매핑 테이블을 판독하여 이용할 수 있다. 이러한 메모리 매핑 테이블을 FTL에 포함될 수 있다.
CPU(100)로부터 ZPSTR 해제 부팅 명령이 입력되면, 메모리 제어부(210)는 비 휘발성 메모리(230)의 특정 영역에 저장된 CPU 레지스터 값을 CPU(100)로 복원하고, 비휘발성 메모리(230)의 데이터를 휘발성 메모리(220)로 복원한다. 이 경우, 비휘발성 메모리(230)로부터 휘발성 메모리(220)에서 이전에 복사되었던 데이터가 모두 복원되는 것이 아니고, CPU 레지스터에 포함된 복원된 프로그램 카운터를 기준으로 요구되는 데이터를 온 디맨드 방식으로 비휘발성 메모리(230)에서 휘발성 메모리(220)으로 복원할 수 있다.
온 디맨드 방식의 데이터 복원을 하는 동작에서, 메모리 제어부(210)는 CPU(100)가 읽기 요청하는 데이터가 휘발성 메모리(220)에 존재하는지 여부를 판단할 수 있다. 요청된 데이터가 휘발성 메모리(220)에 존재하는지 즉, 휘발성 메모리에 해당 데이터가 이용가능(available)한지 여부를 결정하기 위하여 메모리 제어부(210)는 도 2에 도시된 바와 같이 복원 판단부(214)와 같은 하드웨어 구성요소를 포함할 수 있다.
일 실시예에 따르면, 하드웨어 장치인 메모리 제어부(210)가 CPU(100) 동작 모드에 따라 휘발성 메모리(220)에서 비휘발성 메모리(230)로의 데이터 복사 및 비휘발성 메모리(230)로부터 휘발성 메모리(220)로의 데이터 복원을 수행하고 하드웨어적 구성요소를 이용하여 온 디맨드 방식으로 부팅을 실행하므로, ZPSTR 모드에서 일반 동작 모드로의 전환 및 그 반대의 동작이 소프트웨어나 운영체제의 제어하에 수행되는 경우에 비하여 신속하게 이루어질 수 있다.
한편, 비휘발성 메모리(230)로부터 서로 관련된 데이터가 인접한 메모리 영역에 기록되어 순차적으로 데이터 읽기를 수행하는 것이 분산된 메모리 영역으로부 터 데이터 읽기를 수행하는 것에 비하여 효율적이다. 일 실시예에 따르면, 메모리 장치(220) 외부에서 동작하는 운영체제 예를 들어, CPU(100)상에서 동작하는 운영체제로부터 휘발성 메모리(220)에 저장된 데이터 중 동일한 애플리케이션에 관한 데이터를 비휘발성 메모리(230)에 저장할 것을 요청하는 명령이 입력되면, 메모리 제어부(210)는 동일한 애플리케이션에 관한 데이터가 비휘발성 메모리(230)의 소정의 영역에 가능한 함께 저장되도록 제어할 수 있다.
또한, 메모리 장치(220) 외부에서 동작하는 운영체제로부터 휘발성 메모리(220)에 저장된 데이터 중 소정의 애플리케이션에 관한 데이터를 비휘발성 메모리(230)에 저장하라는 요청이 입력되면, 메모리 제어부(230)는 휘발성 메모리(220)에 저장된 데이터를 비휘발성 메모리(230)로 저장하는 동작이 수행되는 ZPSTR(Zero Power Suspend-to-RAM) 모드 명령과 무관하게 소정의 애플리케이션에 관한 데이터를 휘발성 메모리(220)로부터 비휘발성 메모리(230)에 저장할 수 있다. 이 경우 추후에 ZPSTR 모드 명령이 입력되면, 미리 비휘발성 메모리(230)에 저장된 애플리케이션에 관한 데이터는 다시 저장될 필요가 없다. 따라서, ZPSTR 모드 명령시 휘발성 메모리(220)에 저장된 데이터 중 미리 저장된 애플리케이션에 관한 데이터 이외의 부분만 비휘발성 메모리(230)에 저장되면 되므로 저장 동작 시간이 단축되어 ZPSTR 모드로 빨리 진입할 수 있다.
한편, 시스템 메모리의 물리적인 용량의 한계를 극복하기 위하여 충분히 큰 용량의 디스크인 스왑 디바이스(swap device 또는 swap partition)를 휘발성 메모리의 일부분처럼 활용하는 가상 메모리(virtual memory) 기법이 있다. 일 실시예 에 따르면, 메모리 제어부(210)는 메모리 장치(200)에 포함된 비휘발성 메모리(220)를 가상 메모리 기법에 이용할 수 있다. 즉, 운영체제(OS)가 주는 스왑(swap) 명령어가 메모리 제어부(210)로 들어오면, 메모리 제어부(210)는 휘발성 메모리(220)에서 당장 이용되지 않는 일부 데이터를 비휘발성 메모리(230)로 스왑 아웃하는 동작을 수행할 수 있으며, 스왑 아웃된 데이터가 필요한 경우, 비휘발성 메모리(230)로부터 해당 데이터를 휘발성 메모리(220)로 스왑 인하는 동작을 수행할 수 있다.
도 2는 도 1의 메모리 장치의 구성의 일 예를 나타내는 도면이다.
메모리 장치(200)는 디코더(212), 복원 판단부(214), 흐름 제어부(216), 휘발성 메모리(220) 및 비휘발성 메모리(230)를 포함한다. 디코더(212), 복원 판단부(214) 및 흐름 제어부(216)의 구성은 도 1의 메모리 제어부(110)의 구성에 대응한다.
디코더(212)는 CPU(100)로부터 입력되는 명령을 나타내는 제어 신호(10) 및 어드레스 신호(20)를 해석한다.
복원 판단부(214)는 CPU(100)로부터 입력되는 어드레스에 해당하는 데이터가 휘발성 메모리(220)에 존재하는지 여부를 판단한다. 복원 판단부(214)는 해당하는 데이터가 휘발성 메모리(220)에 존재하는지 여부를 판단하기 위하여 휘발성 메모리(220)에 각 어드레스의 데이터가 존재하는지 여부를 나타내는 정보를 포함하는 룩업 테이블을 이용할 수 있다.
룩업 테이블은 하드웨어적 구성요소로 구성될 수 있다. 일 예로 룩업 테이 블은 플립 플롭으로 구성될 수 있다. 이 경우, 비휘발성 메모리(230)의 저장 단위 블록과 및 휘발성 메모리(220)의 저장 단위 블록을 일대일로 매핑하여 플립 플롭이 해당 단위 블록의 데이터가 휘발성 메모리(220)에 위치하는지 비휘발성 메모리(230)에 위치하는지 여부를 나타내도록 구성될 수 있다. 여기에서, 룩업 테이블은 메모리가 복수 개의 블록 단위로 나누어지는 경우 불록 단위로 구성될 수 있으며, 블록이 또한 복수 개의 페이지로 나누어지는 경우 페이지 단위로도 구성될 수 있다. 즉, 휘발성 메모리(220)와 비휘발성 메모리(230) 간의 데이터 저장을 위한 휘발성 메모리(220)와 비휘발성 메모리(230)에서 대응관계에 있는 메모리 영역의 크기는 제한되지 않는다.
흐름 제어부(216)는 제어 신호(10)에 따라 휘발성 메모리(220) 및 비휘발성 메모리(230)에 저장된 데이터의 입출력을 제어할 수 있다. 복원 판단부(214)가 입력되는 어드레스에 대응하는 데이터가 휘발성 메모리(220)에 존재하지 않다고 결정하고, 제어 신호가 읽기 신호인 경우, 흐름 제어부(216)는 비휘발성 메모리(230)에서 입력된 어드레스에 해당되는 메모리 영역(예를 들어, 페이지)의 데이터를 휘발성 메모리(220)로 복사하기 위한 신호를 생성하여, 해당 메모리 영역의 데이터를 휘발성 메모리(220)로 복원할 수 있다.
한편, 흐름 제어부(216)는 비휘발성 메모리(230)에서 휘발성 메모리(220)로 데이터를 복원한 다음에 비휘발성 메모리(230)에서 휘발성 메모리(220)로 복원된 데이터를 삭제할 수 있다. 삭제 동작(Erase Operation)은 복원 동작이 있을 때마다 수행될 필요는 없으며, CPU(100)의 제어에 따른 일반적인 동작이 수행되는 중에 수행될 수 있다. 흐름 제어부(216)는 삭제 동작 수행 중에 읽기 명령이 들어오면, 수행중이던 삭제 동작을 일시 중지하고 읽기 명령을 수행할 수 있다. 또는 비휘발성 메모리(220)의 데이터 삭제 동작은 ZPSTR 모드 진입을 할 때 일괄적으로 삭제를 하고, 다음 번 ZPSTR 모드 진입 동작시에 휘발성 메모리(220)의 데이터를 비휘발성 메모리(230)에 기록할 수도 있다.
복원 판단부(214)가 입력되는 어드레스에 대응하는 데이터가 휘발성 메모리(220)에 존재하다고 판단하고, 제어 신호가 읽기 신호인 경우, 흐름 제어부(216)는 외부로부터 입력되는 신호를 휘발성 메모리(220)로 전달하도록 제어할 수 있다.
제어 신호가 쓰기 신호인 경우에는, CPU(100)로부터 입력되는 데이터(30)는 휘발성 메모리(200)로 전달된다.
한편, 흐름 제어부(216)는 휘발성 메모리(220)로부터 데이터를 비휘발성 메모리(230)에 복사하거나, 비휘발성 메모리(230)로부터 데이터를 휘발성 메모리(220)로 복원하는 동작시 데이터 쓰기 및 읽기 동작을 순차적으로 수행할 수 있다. 읽기의 경우에는 랜덤 읽기가 발생하기 때문에, 흐름 제어부(216)는 순차적 읽기를 유도하는 방법을 사용할 수 있다. 특히, 흐름 제어부(216)는 비휘발성 메모리(230)에 데이터를 기록할 때 하나의 애플리케이션과 관련되는 데이터가 분산되어 기록되지 않도록 데이터 쓰기를 수행함으로써, 휘발성 메모리(220)로의 데이터 복원시 데이터 복원 시간을 단축할 수 있다.
도 3은 도 2의 메모리 장치의 상세한 구성의 일 예를 나타내는 도면이다.
메모리 장치(200)는 디코더(212), 복원 판단부(214), 상태 발생부(310), 제1 중재부(first arbitor, 320), 제2 중재부(second arbitor, 330), 휘발성 메모리(220) 및 비휘발성 메모리(230)를 포함한다. 도 2와 동일한 참조 부호의 구성요소는 동일한 구성요소로 동일한 동작을 수행하므로 상세한 설명은 생략한다. 도 3에서 상태 발생부(310), 제1 중재부(320) 및 제2 중재부(330)는 도 2에서 흐름 제어부(216)의 구성에 대응된다.
복원 판단부(214)는 룩업 테이블(215)을 이용하여 휘발성 메모리(220)에 요청된 데이터가 존재하는지 여부를 판단할 수 있다. 룩업 테이블(215)은 각 어드레스별로 휘발성 메모리(220)상의 데이터 존재 여부를 나타내기 위한 I 비트를 포함하여 구성될 수 있다. 예를 들어, 해당 어드레스의 I 비트가 0이면, 해당 어드레스에 대응하는 데이터가 휘발성 메모리(220)에 존재(available)함을 나타내고, I 비트가 1이면, 해당 어드레스에 대응하는 데이터가 휘발성 메모리(220)에 존재하지 않음을 나타낼 수 있다. 따라서, ZPSTR 해제 부팅이 수행된 직후에는 휘발성 메모리(220)에는 유효한 데이터가 없으므로 룩업 테이블(215)의 모든 I비트는 1로 초기 설정될 것이다.
상태 발생부(310)는 복원 판단부(214)에서 해당 어드레스의 I 비트 정보를 수신하고, 디코더(212)의 제어 신호(10)의 디코딩 결과에 따라 휘발성 메모리(220) 및 비휘발성 메모리(230)에 저장된 데이터의 입출력을 제어할 수 있다. 상태 발생부(310)는 룩업 테이블의 I 비트가 1(Invalid)이고, 제어 신호가 읽기인 경우 비휘발성 메모리(230)에서 해당 페이지를 휘발성 메모리(220)으로 복사하기 위한 신호를 생성할 수 있다. 이에 따라 휘발성 메모리(220)에 데이터가 복원되면, 복원된 데이터는 CPU(110)로 전달된다. 상태 발생부(310)는 휘발성 메모리(220)에 복원된 데이터에 대응하는 어드레스의 I 비트를 1에서 0으로 업데이트한다.
또한, 상태 발생부(310)는 룩업 테이블(215)의 I 비트가 0(Valid)이고, 제어 신호가 읽기 신호인 경우에는 입력된 제어 신호를 휘발성 메모리(220)에 전달하여 휘발성 메모리(220)로부터 해당 어드레스의 데이터가 메모리 장치(200) 외부의 CPU(100)로 출력될 수 있다.
제1 중재부(320) 및 제2 중재부(330)는 데이터 버스에 대한 신호를 제어하여 데이터 버스에서 여러 종류의 신호가 섞이는 것을 방지한다.
도 4는 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 도면이다.
도 1 및 도 4를 참조하면, 메모리 장치(200)는 ZPSTR 해제 부팅 동작시 다음과 같이 온 디맨드 방식으로 비휘발성 메모리(230)로부터 휘발성 메모리(220)로 데이터를 복원할 수 있다.
메모리 제어부(210)는 입력 어드레스에 대응하는 데이터 읽기를 나타내는 명령이 수신되면(410), 입력 어드레스에 대응하는 데이터가 휘발성 메모리(220)에 존재하는지 여부를 판단한다(420).
입력 어드레스에 대응하는 데이터가 휘발성 메모리에 존재하지 않으면(420), 메모리 제어부(210)는 비휘발성 메모리(230)에 저장된 데이터를 휘발성 메모리(220)로 복원하고(430), 휘발성 메모리(220)에 있는 데이터 읽기를 수행하여 CPU(100)로 해당 데이터를 전송한다(440).
입력 어드레스에 대응하는 데이터가 휘발성 메모리에 존재하면(420), 메모리 제어부(210)는 휘발성 메모리(220)에 있는 데이터 읽기를 수행하여 CPU(100)로 해당 데이터를 전송한다(440).
도 5는 다른 실시예에 따른 메모리 장치의 동작 방법을 나타내는 도면이다.
도 3 및 도 5를 참조하면, ZPSTR 해제 부팅 후 대기 상태(510)에서, 디코더(212)는 CPU(100)로부터 입력되는 어드레스 및 제어 신호를 디코딩한다(520). 복원 판단부(214)는 룩업 테이블(215)로부터 입력되는 어드레스에 대응하는 I 비트를 읽어서(530), I 비트가 해당 어드레스의 데이터가 휘발성 메모리(220)에 존재함을 나타내는 유효함(Valid)를 나타내는 지 여부를 판단한다(540).
I 비트가 해당 어드레스의 데이터가 휘발성 메모리(220)에 존재하지 않음을 나타내면(540), 상태 생성부(310)는 휘발성 메모리(220), 비휘발성 메모리(230) 및 제1 중재부(320) 및 제2 중재부(330)에 대한 제어 신호를 생성한다.
상태 생성부(310)의 제어 신호에 따라 비휘발성 메모리(230)로부터 휘발성 메모리(220)로 해당 데이터가 전송된다(570). 해당 데이터가 휘발성 메모리(220)로 전송되면, 해당 어드레스의 데이터가 휘발성 메모리(220)상에 존재하는 것이므로, 상태 생성부(310)는 복원 판단부(214)의 룩업 테이블(215)의 해당 어드레스의 I 비트를 1(Invalid)에서 0(Valid)으로 업데이트한다(580). 휘발성 메모리(220)의 복원된 데이터는 데이터 버스에 로드되어 CPU(100)로 전송된다(590).
I 비트가 해당 어드레스의 데이터가 휘발성 메모리(220)에 존재함을 나타내면, 상태 생성부(310)는 휘발성 메모리(220)로 제어 신호를 전달하고(590), 휘발성 메모리(220)에서 제어 신호에 따라 요구되는 데이터는 데이터 버스에 로드되어 CPU(100)로 전송된다(590).
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.
도 1은 일 실시예에 따른 메모리 장치를 포함하는 컴퓨팅 시스템의 구성을 나타내는 도면이다.
도 2는 도 1의 메모리 장치의 구성의 일 예를 나타내는 도면이다.
도 3은 도 2의 메모리 장치의 상세한 구성의 일 예를 나타내는 도면이다.
도 4는 일 실시예에 따른 메모리 장치의 동작 방법을 나타내는 도면이다.
도 5는 다른 실시예에 따른 메모리 장치의 동작 방법을 나타내는 도면이다.

Claims (20)

  1. 휘발성 메모리;
    비휘발성 메모리; 및
    부팅 동작시 외부로부터의 입력 신호에 따라 요구되는 데이터를 온 디맨드 방식으로 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 복원하는 메모리 제어부를 포함하고,
    상기 메모리 제어부는,
    상기 입력 신호에 포함된 어드레스 및 제어 신호에 따라 요구되는 데이터가 상기 휘발성 메모리에 존재하는지 여부를 판단하고, 상기 휘발성 메모리에 상기 데이터가 존재하지 않는 경우에, 상기 데이터를 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 복원하는 메모리 장치.
  2. 제1항에 있어서,
    상기 휘발성 메모리는 DRAM이고, 상기 비휘발성 메모리는 NOR 플래시 메모리, NAND 플래시 메모리, 및 PRAM 중 적어도 하나인 메모리 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 데이터가 상기 휘발성 메모리에 존재하는지 여부를 판단하기 위하여, 상기 휘발성 메모리의 각 어드레스의 데이터가 존재하는지 여부를 나타내는 정보를 포함하는 룩업 테이블이 이용되는 메모리 장치.
  5. 제4항에 있어서,
    상기 룩업 테이블은 하드웨어 구성요소인 메모리 장치.
  6. 제5항에 있어서,
    상기 하드웨어 구성요소는 플립플롭인 메모리 장치.
  7. 제1항에 있어서,
    상기 입력되는 어드레스에 대응하는 데이터가 상기 휘발성 메모리에 존재한다고 판단되고, 상기 제어 신호가 읽기 신호인 경우, 상기 메모리 제어부는 상기 휘발성 메모리로부터 상기 데이터가 출력되도록 상기 외부로부터 입력되는 신호를 상기 휘발성 메모리로 전달하는 메모리 장치.
  8. 제1항에 있어서,
    외부로부터 상기 휘발성 메모리에 저장된 데이터를 상기 비휘발성 메모리로 저장하는 동작이 수행되는 ZPSTR(Zero Power Suspend-to-RAM) 모드 명령이 입력되면, 상기 메모리 제어부는 하나의 휘발성 메모리에 저장된 정보가 대응하는 복수 개의 비휘발성 메모리에 멀티 채널을 통해서 분산 저장되도록 제어하는 메모리 장치.
  9. 제1항에 있어서,
    상기 메모리 제어부는 상기 휘발성 메모리의 저장 영역과 상기 비휘발성 메모리에 저장 영역과의 매핑 관계를 나타내는 메모리 매핑 테이블을 이용하여 상기 휘발성 메모리의 데이터를 상기 비휘발성 메모리로 저장하는 메모리 장치.
  10. 제1항에 있어서,
    상기 메모리 장치 외부에서 동작하는 운영체제로부터 상기 휘발성 메모리에 저장된 데이터 중 동일한 애플리케이션에 관한 데이터의 상기 비휘발성 메모리로의 저장 요청 명령이 입력되면, 상기 메모리 제어부는 상기 동일한 애플리케이션에 관한 데이터가 상기 비휘발성 메모리의 소정의 영역에 가능한 함께 저장되도록 제어하는 메모리 장치.
  11. 제1항에 있어서,
    상기 메모리 장치 외부에서 동작하는 운영체제로부터 상기 휘발성 메모리에 저장된 데이터 중 소정의 애플리케이션에 관한 데이터의 상기 비휘발성 메모리로의 저장 요청이 입력되면, 상기 메모리 제어부는 상기 휘발성 메모리에 저장된 데이터를 상기 비휘발성 메모리로 저장하는 동작이 수행되는 ZPSTR(Zero Power Suspend- to-RAM) 모드 명령이 입력되는지 여부와 무관하게 상기 소정의 애플리케이션에 관한 데이터를 상기 비휘발성 메모리에 저장하는 메모리 장치.
  12. 제1항에 있어서,
    상기 메모리 장치 외부에서 동작하는 운영체제로부터 스왑 명령어를 받으면, 상기 메모리 제어부는 상기 휘발성 메모리에서 일부 데이터를 상기 비휘발성 메모리로 스왑 아웃하는 메모리 장치.
  13. 제1항에 있어서,
    상기 메모리 제어부는,
    외부로부터 입력되는 어드레스 및 제어 신호를 해석하는 디코더;
    상기 어드레스 및 상기 제어 신호에 따라 요청되는 데이터가 상기 휘발성 메모리에 존재하는지 여부를 판단하는 복원 판단부; 및
    상기 제어 신호에 따라 상기 휘발성 메모리 및 상기 비휘발성 메모리에 저장된 데이터의 입출력을 제어하는 흐름 제어부를 포함하는 메모리 장치.
  14. 제1항에 있어서,
    상기 메모리 제어부는 상기 데이터를 비휘발성 메모리에서 상기 휘발성 메모리로 복원한 다음에 상기 비휘발성 메모리에서 상기 휘발성 메모리로 복원된 데이터를 삭제하는 메모리 장치.
  15. 휘발성 메모리; 비휘발성 메모리; 및 상기 휘발성 메모리 및 상기 비휘발성 메모리에 저장된 데이터의 입출력을 제어하는 메모리 제어부를 포함하는 메모리 장치의 동작 방법으로서,
    부팅 동작시 외부로부터의 입력 신호에 따라 요구되는 데이터를 온 디맨드 방식으로 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 복원하는 단계를 포함하고,
    상기 휘발성 메모리로 복원하는 단계는,
    상기 휘발성 메모리에 상기 입력 신호에 포함된 어드레스 및 제어 신호에 따라 요구되는 데이터가 존재하는지 여부를 판단하는 단계; 및
    상기 데이터가 존재하지 않는 경우에, 상기 데이터를 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 복원하는 단계를 포함하는 방법.
  16. 제15항에 있어서,
    상기 휘발성 메모리는 DRAM이고, 상기 비휘발성 메모리는 NOR 플래시 메모리, NAND 플래시 메모리, 및 PRAM 중 적어도 하나인 방법.
  17. 삭제
  18. 제15항에 있어서,
    상기 데이터가 상기 휘발성 메모리에 존재하는지 여부를 판단하는 단계에서, 상기 휘발성 메모리의 각 어드레스의 데이터가 존재하는지 여부를 나타내는 정보를 포함하는 룩업 테이블이 이용되는 방법.
  19. 제15항에 있어서,
    상기 어드레스에 대응하는 데이터가 상기 휘발성 메모리에 존재한다고 판단되고 상기 제어 신호가 읽기 신호인 경우, 상기 휘발성 메모리로부터 상기 데이터가 출력되도록 상기 외부로부터 입력되는 신호를 상기 휘발성 메모리로 전달하는 단계를 더 포함하는 방법.
  20. 제15항에 있어서,
    외부로부터 상기 휘발성 메모리에 저장된 데이터를 상기 비휘발성 메모리로 저장하는 ZPSTR(Zero Power Suspend-to-RAM) 모드 명령이 입력되면 하나의 휘발성 메모리에 저장된 정보를 대응하는 복수 개의 비휘발성 메모리에 멀티 채널을 통해서 분산 저장하는 단계를 더 포함하는 방법.
KR1020090045118A 2009-05-22 2009-05-22 메모리 장치 및 메모리 장치의 동작 방법 KR101562973B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020090045118A KR101562973B1 (ko) 2009-05-22 2009-05-22 메모리 장치 및 메모리 장치의 동작 방법
US12/771,203 US9158475B2 (en) 2009-05-22 2010-04-30 Memory apparatus and method therefor
EP10162916A EP2256638A1 (en) 2009-05-22 2010-05-17 Memory apparatus and method therefor
EP10163389A EP2256639A1 (en) 2009-05-22 2010-05-20 Memory apparatus and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090045118A KR101562973B1 (ko) 2009-05-22 2009-05-22 메모리 장치 및 메모리 장치의 동작 방법

Publications (2)

Publication Number Publication Date
KR20100126069A KR20100126069A (ko) 2010-12-01
KR101562973B1 true KR101562973B1 (ko) 2015-10-26

Family

ID=42299252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090045118A KR101562973B1 (ko) 2009-05-22 2009-05-22 메모리 장치 및 메모리 장치의 동작 방법

Country Status (3)

Country Link
US (1) US9158475B2 (ko)
EP (2) EP2256638A1 (ko)
KR (1) KR101562973B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019164172A1 (ko) * 2018-02-23 2019-08-29 삼성전자 주식회사 메모리를 제어하는 전자 장치 및 제어 방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013004036A (ja) * 2011-06-21 2013-01-07 Fuji Xerox Co Ltd 情報処理装置および画像形成装置
US9507534B2 (en) * 2011-12-30 2016-11-29 Intel Corporation Home agent multi-level NVM memory architecture
CN103197933A (zh) * 2012-01-06 2013-07-10 华硕电脑股份有限公司 计算机及其快速启动方法
US20130179715A1 (en) * 2012-01-10 2013-07-11 Texas Instruments Incorporated Systems and methods for reducing energy consumption in sensor networks
KR101924022B1 (ko) 2012-04-03 2019-02-22 삼성전자주식회사 메모리 시스템 및 그것의 페이지 교체 방법
KR20130116599A (ko) * 2012-04-16 2013-10-24 삼성전자주식회사 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록매체
WO2013165385A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. Preventing a hybrid memory module from being mapped
US20140075175A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Control of Dedicated Non-Volatile Arrays for Specific Function Availability
US9195585B2 (en) * 2013-01-23 2015-11-24 Vmware, Inc. Techniques for allocating and surfacing host-side storage capacity to virtual machines
CN103425506B (zh) * 2013-05-20 2016-12-07 华为技术有限公司 关机方法及开机方法及通信终端
CN104298516B (zh) * 2013-07-18 2017-12-08 京瓷办公信息***株式会社 电子设备以及挂起控制方法
KR20150033859A (ko) 2013-09-25 2015-04-02 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
KR102094393B1 (ko) 2013-11-18 2020-03-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
WO2016144293A1 (en) * 2015-03-06 2016-09-15 Hewlett Packard Enterprise Development Lp Controller control program
US9928168B2 (en) * 2016-01-11 2018-03-27 Qualcomm Incorporated Non-volatile random access system memory with DRAM program caching
CN107038121B (zh) 2016-02-03 2020-11-17 华为技术有限公司 虚拟机的内存地址分配方法以及装置
CN107168740B (zh) * 2017-05-15 2020-08-18 广东虹勤通讯技术有限公司 一种终端及其操作***的控制方法
CN108519892B (zh) * 2018-03-27 2021-03-23 广州视源电子科技股份有限公司 启动模式选择电路及电子设备
WO2022261823A1 (zh) * 2021-06-15 2022-12-22 华为技术有限公司 一种数据存储方法及相关设备
WO2023085619A1 (ko) * 2021-11-15 2023-05-19 삼성전자주식회사 데이터베이스를 복구하는 전자 장치 및 그 동작 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05299616A (ja) 1992-04-16 1993-11-12 Hitachi Ltd 半導体記憶装置
JPH06215589A (ja) 1993-01-18 1994-08-05 Hitachi Ltd 半導体メモリ
US5778443A (en) 1994-12-14 1998-07-07 International Business Machines Corp. Method and apparatus for conserving power and system resources in a computer system employing a virtual memory
JP2001005723A (ja) 1999-06-21 2001-01-12 Mitsubishi Electric Corp 半導体記憶装置およびそれを用いたメモリシステム
US6546472B2 (en) 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
US7356677B1 (en) 2001-10-19 2008-04-08 Flash Vos, Inc. Computer system capable of fast switching between multiple operating systems and applications
EP1495418B1 (en) 2002-04-18 2019-04-10 Citrix Systems, Inc. System for and method of network booting of an operating system to a client computer using hibernation
US6910106B2 (en) 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
CN1717662B (zh) 2002-11-28 2010-04-28 株式会社瑞萨科技 存储器模块、存储器***和信息仪器
JP2006526831A (ja) 2003-06-03 2006-11-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 不揮発性メモリからのブート
JP2005010942A (ja) 2003-06-17 2005-01-13 Matsushita Electric Ind Co Ltd ブートコードが格納されるシーケンシャルアクセス・メモリデバイスを備えた装置及び前記装置の起動方法
KR100534613B1 (ko) 2003-09-19 2005-12-07 삼성전자주식회사 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
JP2005246565A (ja) 2004-03-05 2005-09-15 Sanyo Electric Co Ltd ロボット装置の脚部機構
JP2005316855A (ja) 2004-04-30 2005-11-10 Toshiba Corp 情報処理装置、その起動方法およびその起動プログラム
KR20060031192A (ko) 2004-10-07 2006-04-12 주식회사 팬택앤큐리텔 고속 부팅이 가능한 임베디드 시스템 및 그 방법
JP4809040B2 (ja) * 2005-11-08 2011-11-02 株式会社日立製作所 ストレージ装置及びスナップショットのリストア方法
KR20070095136A (ko) 2006-03-20 2007-09-28 엘지전자 주식회사 프로그램이 가능한 부팅 지원 장치 및 방법
JP2007334383A (ja) 2006-06-12 2007-12-27 Sony Corp 情報処理装置とその起動方法およびプログラム
KR20080057688A (ko) 2006-12-20 2008-06-25 주식회사 대우일렉트로닉스 비휘발성 메모리를 이용한 운영체계 부팅 방법
KR20080069088A (ko) 2007-01-22 2008-07-25 엘지전자 주식회사 결합형 플래시 메모리를 이용한 임베디드 기기의 부팅 장치및 부팅 방법
US8046570B2 (en) 2007-02-06 2011-10-25 Microsoft Corporation Supporting multiple operating systems in media devices
JP2008198210A (ja) 2008-02-12 2008-08-28 Ardence Inc ハイバネーションを使用したクライアントコンピューターのオペレーティングシステムのネットワークブーティングのためのシステム及び方法
US8499174B2 (en) * 2008-09-08 2013-07-30 Via Technologies, Inc. Method and controller for power management

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019164172A1 (ko) * 2018-02-23 2019-08-29 삼성전자 주식회사 메모리를 제어하는 전자 장치 및 제어 방법
KR20190101837A (ko) * 2018-02-23 2019-09-02 삼성전자주식회사 메모리를 제어하는 전자 장치 및 제어 방법
US11237741B2 (en) 2018-02-23 2022-02-01 Samsung Electronics Co., Ltd. Electronic device and control method for controlling memory
KR102534744B1 (ko) 2018-02-23 2023-05-22 삼성전자주식회사 메모리를 제어하는 전자 장치 및 제어 방법

Also Published As

Publication number Publication date
EP2256639A1 (en) 2010-12-01
KR20100126069A (ko) 2010-12-01
US20100299513A1 (en) 2010-11-25
US9158475B2 (en) 2015-10-13
EP2256638A1 (en) 2010-12-01

Similar Documents

Publication Publication Date Title
KR101562973B1 (ko) 메모리 장치 및 메모리 장치의 동작 방법
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
TWI407300B (zh) 電源管理控制器與方法
US5787493A (en) Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory
JP4422652B2 (ja) 漸進的マージ方法及びそれを利用したメモリシステム
JP5624583B2 (ja) プログラム、計算処理装置、メモリ管理方法および計算機
KR102553261B1 (ko) 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 스토리지 장치, 및 상기 메모리 컨트롤러의 동작 방법
JP5860543B2 (ja) ブートデータのロード
KR20080084082A (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
KR20110006352A (ko) 시스템 고속 부팅 장치 및 방법
JP5143601B2 (ja) 情報処理装置と情報処理方法およびストレージシステム
JP2005190187A (ja) 記憶装置
CN111026260A (zh) 用于休眠的存储器映射
US11507311B2 (en) Storage device for accelerating write speed and read speed
JP2011175632A (ja) 半導体記憶装置及び半導体記憶装置の制御方法
JP2021149374A (ja) データ処理装置
CN113424165A (zh) 在存储器子***处的编程操作的中断
JP2020191055A (ja) 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体
US20180011636A1 (en) Information processing apparatus and method of accessing a memory
JP2013200692A (ja) メモリシステム
JP2009258925A (ja) 計算機システムおよび計算機システムのメモリ管理方法
JP2011175666A (ja) 半導体記憶装置及び半導体記憶装置の制御方法
KR101888781B1 (ko) 비휘발성 메모리를 이용하는 영속적 dram 스토리지 및 그 작동 방법
KR101008576B1 (ko) 자체카피 기능이 구비된 솔리드 스테이트 디스크
EP3771982A1 (en) Storage device

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
FPAY Annual fee payment

Payment date: 20180917

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190910

Year of fee payment: 5