KR20150098649A - 비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소 - Google Patents

비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소 Download PDF

Info

Publication number
KR20150098649A
KR20150098649A KR1020157019293A KR20157019293A KR20150098649A KR 20150098649 A KR20150098649 A KR 20150098649A KR 1020157019293 A KR1020157019293 A KR 1020157019293A KR 20157019293 A KR20157019293 A KR 20157019293A KR 20150098649 A KR20150098649 A KR 20150098649A
Authority
KR
South Korea
Prior art keywords
volatile memory
memory device
data
read
copy
Prior art date
Application number
KR1020157019293A
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 퀄컴 인코포레이티드
Publication of KR20150098649A publication Critical patent/KR20150098649A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • 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
    • Y02B60/1225
    • Y02B60/1228
    • Y02B60/1292
    • Y02B60/32
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)
  • Telephone Function (AREA)

Abstract

방법은 휘발성 메모리 및 비-휘발성 메모리를 포함하는 전자 디바이스에서 동작 모드로부터 슬립 모드로의 전이를 개시하는 단계를 포함한다. 개시하는 단계에 응답하여, 데이터는 휘발성 메모리로부터 비-휘발성 메모리로 카피되고, 휘발성 메모리의 부분은 디스에이블된다. 다른 방법은, 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 및 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리를 포함하는 전자 디바이스에서 저성능 모드 컨디션이 충족되는 것을 결정하는 단계를 포함한다. 휘발성 메모리로부터 비-휘발성 메모리로 판독-전용 데이터의 메모리 맵핑이 업데이트된다. 제 1 카피를 저장하는 휘발성 메모리의 부분은 디스에이블되고, 판독-전용 데이터의 액세스는 휘발성 메모리 대신에 비-휘발성 메모리로 지향된다.

Description

비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소{REDUCING POWER CONSUMPTION OF VOLATILE MEMORY VIA USE OF NON-VOLATILE MEMORY}
[0001] 본원은 일반적으로, 비-휘발성 메모리의 이용을 통해 휘발성 메모리의 전력 소비를 감소시키는 시스템들 및 방법들에 관한 것이다.
[0002] 모바일 폰들과 같은 휴대용 컴퓨팅 디바이스들이 더 작아짐에 따라, 배터리 수명에 대한 반도체 누설 전류의 악영향이 증가될 수 있다. 예를 들어, 반도체 누설 전류는 모바일 폰의 슬립 플로어 전류(sleep floor current)를 증가시킬 수 있는데, 여기서, 슬립 플로어 전류는 모바일 폰이 슬립 모드 및/또는 유휴 모드(idle mode), 대기 모드(standby mode) 등과 같은 몇몇 다른 전력-절약 상태에 있는 동안 모바일 폰에 흐르는 최소량의 전류를 나타낸다. 모바일 폰들은, 모바일 폰들이 유휴 대기 모드에 있는 시간의 95%를 초과하여 슬립 모드에 있을 수 있다고 추정된다. 따라서, 슬립 플로어 전류를 작은 양 만큼이라도 감소시키는 것은 유휴 대기 배터리 수명의 큰 증가를 초래할 수 있다.
[0003] DRAM(dynamic random access memory)을 활용하는 모바일 폰들에서, 슬립 플로어 전류의 큰 부분은 DRAM의 주기적인 리프레싱(refreshing)으로 인한 것일 수 있다. 슬립 플로어 전류에 대한 메모리 리프레시들의 기여(contribution)를 감소시키는 하나의 방식은, PASR(partial array self refresh)를 이용하는 것이다. PASR에서, DRAM의 "상위(upper)"(또는 "하위(lower)") 절반의 페이지들의 데이터는, DRAM의 "하위"(또는 "상위") 절반의 페이지들로 이동(migrate)된다. 페이지 이동이 완료된 후에, 메모리의 "하위"(또는 "상위") 절반은 슬립 모드 동안 리프레시될 수 있지만, 메모리의 "상위"(또는 "하위") 절반은 리프레시되지 않을 수 있고, 이는 이용되는 메모리 리프레시 전류의 전체적인 양을 감소시킬 수 있다. 그러나, DRAM의 50% 초과가 원래 활용되고 있었다면, PASR은 불편할 수 있다. DRAM의 50% 초과가 활용되는 경우, 데이터를 압축하지 않으면서 ― 데이터를 압축하는 것은 시간 소모적일 수 있음 ― 모든 데이터를 DRAM의 2분의 1로 통합하는 것은 가능하지 않을 수 있다. 초과 데이터는 삭제될 수 있거나, 슬립 모드 동안 DRAM의 리프레시되지 않은 절반에서 훼손(deteriorate)되도록 방치될 수 있다.
[0004] PASR에 포함되는 페이지 이동은 또한 시간 소모적이고 배터리 집중적일 수 있다(예를 들어, 페이지 이동은 250 밀리암페어(mA)에서 10 내지 40 초가 걸릴 수 있음). 더욱이, 사용되는 메모리 할당 관리(예를 들어, 운영 체제의 메모리 할당 관리 소프트웨어)에 따라 슬립 모드로부터 전이되는 경우, 역방향 페이지 이동(reverse page migration)이 수행될 수 있다. 페이지 이동은 또한 구현하기 어려울 수 있는데, 페이지 이동이 시작된 후까지 DRAM의 엠프티 페이지들의 위치가 알려지지 않을 수 있기 때문이다.
[0005] 전력 소비를 감소시키는 동적 메모리 관리의 시스템들 및 방법들이 개시된다. 설명되는 기법들, 또는 그 기법들의 부분들은, 전자 디바이스의 슬립 모드 동안, 전자 디바이스의 정상 동작 모드 동안, 또는 이들의 임의의 결합 동안 이용될 수 있다.
[0006] 예를 들어, 제 1 기법은 슬립 플로어 전류를 감소시키기 위해 전자 디바이스에서 비-휘발성 메모리를 활용하는 것을 포함한다. 예시하여, 휘발성 메모리(예를 들어, RAM)에 부가하여, 모바일 폰 또는 다른 전자 디바이스는 NOR 플래시, NAND 플래시, eMMC(embedded MultiMediaCard) 등과 같은 비-휘발성 메모리를 포함할 수 있다. 비-휘발성 메모리의 부분은 휘발성 메모리로부터의 데이터 전달을 위해 예약 또는 할당될 수 있다. 모바일 폰이 슬립 모드로 전이되는 경우, 휘발성 메모리로부터의 데이터는, 어드레스에 의한 순서로, 비-휘발성 메모리의 예약된 부분에 전달될 수 있다. 슬립 모드 동안, 휘발성 메모리는 턴 오프(turn off)될 수 있고, 이는 DRAM 셀프-리프레시들을 회피함으로써, 슬립 플로어 전류를 감소시킨다. 슬립 모드를 빠져나가는 경우, 데이터는 다시(back) 비-휘발성 메모리로부터 어드레스에 의한 순서로 휘발성 메모리에 카피(copy)될 수 있다. 데이터가 어드레스에 의한 순서로 휘발성 메모리에 그리고 휘발성 메모리로부터 전달되기 때문에, 슬립 모드 이전에 사용되는 메모리 맵핑들은 슬립 모드를 빠져나온 후에 계속 유효하다. 휘발성 메모리와 비-휘발성 메모리 사이의 전달 메커니즘은 프로세서-독립적일 수 있거나(예를 들어, DMA(direct memory access) 엔진, 직접 버스 연결 등을 이용함), 프로세서를 포함할 수 있다(예를 들어, 각각의 데이터 엘리먼트가 카피 동안 프로세서를 통과할 수 있음).
[0007] 다른 예로서, 제 2 기법은 정상(예를 들어, 비-슬립(non-sleep)) 모드 동안 배터리 수명을 모니터링하는 것을 포함할 수 있다. 배터리 수명이 임계치 미만으로 떨어지는 경우, 전자 디바이스는 LPM(low performance mode)에 진입할 수 있다. 또한, 사용자 커맨드에 응답하여 LPM에 진입할 수 있다. LPM은 비록 감소된 성능일지라도 연속적인 시스템 동작을 제공할 수 있다는 점에서, LPM은 슬립 모드와 상이할 수 있다. LPM 동안, 판독-전용 데이터는 휘발성 메모리 대신에 비-휘발성 메모리로부터 액세스될 수 있다. LPM에 진입함에 따라, 판독-전용 데이터에 대한 메모리 맵핑은, 휘발성 메모리의 물리적 어드레스 대신에 비-휘발성 메모리의 물리적 어드레스에 대한 포인트로 수정될 수 있다. 예시하여, 비-휘발성 메모리는, 저장된 코드를 실행시키기 위한 XIP(execute-in-place) 동작을 가능하게 하는 NOR 플래시 메모리일 수 있다. LPM 동안, 판독-전용 데이터를 저장하는 휘발성 메모리 부분들의 셀프-리프레시들은 디스에이블(disable)될 수 있는데, 그 이유는, 대신에 판독-전용 데이터가 비-휘발성 메모리로부터 액세스되기 때문이다. 대안적으로, 전자 디바이스의 휘발성 메모리 부분들은 LPM 동안 전체적으로 턴 오프될 수 있다.
[0008] 특정 실시예에서, 방법은 전자 디바이스에서 동작 모드로부터 슬립 모드로의 전이를 개시하는 단계를 포함한다. 전자 디바이스는 제 1 크기를 갖는 휘발성 메모리 디바이스 및 제 1 크기보다 더 크거나 동일한 제 2 크기를 갖는 비-휘발성 메모리 디바이스를 포함한다. 방법은 또한, 개시하는 단계에 응답하여, 데이터를 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 카피하는 단계를 포함한다. 방법은 추가로, 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하는 단계를 포함한다.
[0009] 다른 특정 실시예에서, 장치는 제 1 크기를 갖는 휘발성 메모리 디바이스 및 제 1 크기보다 더 크거나 동일한 제 2 크기를 갖는 비-휘발성 메모리 디바이스를 포함한다. 장치는 또한, 동작 모드로부터 슬립 모드로의 전이를 개시하고, 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하도록 구성된 프로세서를 포함한다. 장치는 추가로, 개시하는 것에 응답하여 그리고 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하기 전에, 데이터를 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 카피하도록 구성된 데이터 전달 모듈을 포함한다.
[0010] 다른 특정 실시예에서, 컴퓨터-판독가능 저장 디바이스는 명령들을 포함하고, 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 전자 디바이스에서 동작 모드로부터 슬립 모드로의 전이를 개시하도록 야기한다. 전자 디바이스는 제 1 크기를 갖는 휘발성 메모리 디바이스 및 제 1 크기보다 더 크거나 동일한 제 2 크기를 갖는 비-휘발성 메모리 디바이스를 포함한다. 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 개시하는 것에 응답하여, 데이터를 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로의 데이터의 카피를 야기하도록 또한 야기한다. 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하도록 추가로 야기한다.
[0011] 다른 특정 실시예에서, 장치는 제 1 크기를 갖는 휘발성 메모리 디바이스 및 제 1 크기보다 더 크거나 동일한 제 2 크기를 갖는 비-휘발성 메모리 디바이스를 포함한다. 장치는 또한, 동작 모드로부터 슬립 모드로의 전이를 개시하고, 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하도록 구성된 프로세서를 포함한다. 장치는 추가로, 개시하는 것에 응답하여 그리고 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하기 전에, 데이터를 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 카피하기 위한 수단을 포함한다.
[0012] 다른 특정 실시예에서, 방법은 전자 디바이스에서 LPM(low performance mode) 컨디션이 충족됨을 결정하는 단계를 포함한다. 전자 디바이스는 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스 및 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스를 포함한다. 방법은 또한, LPM 컨디션이 충족되는 것에 응답하여, 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 판독-전용 데이터의 메모리 맵핑을 업데이트하는 단계를 포함한다. 방법은 추가로, 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스의 부분을 디스에이블하는 단계 및 판독-전용 데이터에 대한 액세스 요청을 휘발성 메모리 디바이스 대신에 비-휘발성 메모리 디바이스로 지향시키는 단계를 포함한다.
[0013] 다른 특정 실시예에서, 장치는 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스 및 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스를 포함한다. 장치는 또한, 프로세서를 포함하고, 프로세서는, LPM 컨디션이 충족되는지에 응답하여, 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 판독-전용 데이터의 메모리 맵핑을 업데이트하도록 구성된다. 프로세서는 추가로, 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스의 부분을 디스에이블하고, 판독-전용 데이터에 대한 액세스 요청을 휘발성 메모리 디바이스 대신에 비-휘발성 메모리 디바이스로 지향시키도록 구성된다.
[0014] 다른 특정 실시예에서, 컴퓨터-판독가능 저장 디바이스는 명령들을 포함하고, 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, LPM 컨디션이 충족되는 것에 응답하여, 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 판독-전용 데이터의 메모리 맵핑을 업데이트하도록 야기한다. LPM 컨디션은, 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스 및 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스를 포함하는 전자 디바이스에서 충족된다. 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스의 부분을 디스에이블하고, 판독-전용 데이터에 대한 액세스 요청을 휘발성 메모리 디바이스 대신에 비-휘발성 메모리 디바이스로 지향시키도록 추가로 야기한다.
[0015] 다른 특정 실시예에서, 장치는 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스 및 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스를 포함한다. 장치는 또한, LPM 컨디션이 충족되는 것에 응답하여, 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 판독-전용 데이터의 메모리 맵핑을 업데이트하기 위한 수단을 포함한다. 장치는 추가로, 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스의 부분을 디스에이블하기 위한 수단 및 판독-전용 데이터에 대한 액세스 요청을 휘발성 메모리 디바이스 대신에 비-휘발성 메모리 디바이스로 지향시키기 위한 수단을 포함한다.
[0016] 개시된 실시예들 중 적어도 하나의 실시예에 의해 제공되는 하나의 특정 이점은, 슬립 모드로의 전이에 응답하여 휘발성 메모리로부터 비-휘발성 메모리로 데이터를 카피한 후에, 휘발성 메모리 또는 휘발성 메모리의 부분을 디스에이블함으로써, 슬립 플로어 전류를 감소시키는 능력이다. 다른 특정 이점은, 판독-전용 데이터를 휘발성 메모리 대신에 비-휘발성 메모리로부터 액세스함으로써, 메모리 리프레시 전류를 감소시키는 능력이다. 본원의 다른 양상들, 이점들, 및 특징들은: 도면의 간단한 설명, 발명을 실시하기 위한 구체적인 내용, 및 청구범위 부분들을 포함하는 전체 출원서의 리뷰 후에 명백해질 것이다.
[0017] 도 1은 휘발성 메모리로부터 비-휘발성 메모리로의 프로세서-독립적 데이터 전달 후에, 휘발성 메모리 또는 휘발성 메모리의 부분을 디스에이블함으로써, 휘발성 메모리의 전력 소비를 감소시키도록 동작가능한 시스템의 특정 실시예를 예시하는 도면이고;
[0018] 도 2는 휘발성 메모리로부터 비-휘발성 메모리로의 프로세서-종속적 데이터 전달 후에, 휘발성 메모리 또는 휘발성 메모리의 부분을 디스에이블함으로써, 휘발성 메모리의 전력 소비를 감소시키도록 동작가능한 시스템의 특정 실시예를 예시하는 도면이고;
[0019] 도 3은 도 1 및 도 2의 데이터 전달 동작들의 특정 실시예를 예시하는 도면이고;
[0020] 도 4는 판독-전용 데이터에 관해 휘발성 메모리의 전력 소비를 감소시키도록 동작가능한 시스템의 특정 실시예를 예시하는 도면이고;
[0021] 도 5는 도 1 및 도 2의 시스템들에서의 동작 방법의 특정 실시예를 예시하는 흐름도이고;
[0022] 도 6은 도 4의 시스템에서의 동작 방법의 특정 실시예를 예시하는 흐름도이고; 그리고
[0023] 도 7은 비-휘발성 메모리의 이용을 통해 휘발성 메모리의 전력 소비를 감소시키도록 동작가능한 컴포넌트들을 포함하는 통신 디바이스의 블록도이다.
[0024] 도 1은 휘발성 메모리로부터 비-휘발성 메모리로의 프로세서-독립적 데이터 전달 후에, 휘발성 메모리 또는 휘발성 메모리의 부분을 디스에이블함으로써, 휘발성 메모리의 전력 소비를 감소시키는 시스템(100)의 특정 실시예를 예시하는 도면이다. 시스템(100)은 제 1 휘발성 메모리 디바이스(104)에 커플링되는 프로세서(102)를 포함할 수 있고, 시스템(100)은 비-휘발성 메모리 디바이스(108)를 포함하거나 비-휘발성 메모리 디바이스(108)에 커플링될 수 있다. 특정 실시예에서, 도 1의 시스템(100)은, 모바일 폰, 태블릿 컴퓨팅 디바이스, 랩톱 컴퓨팅 디바이스 등과 같은 전자 디바이스 내에 포함될 수 있다.
[0025] 특정 실시예에서, 제 1 휘발성 메모리 디바이스(104)는 RAM(random access memory)를 포함한다. 예를 들어, 제 1 휘발성 메모리 디바이스(104)는 단일-랭크 또는 듀얼-랭크 DDR(double data rate) 동기 DRAM 디바이스(본 명세서에서 "DDR"로 또한 지칭됨)와 같은 DRAM(dynamic random access memory) 디바이스일 수 있다. 제 1 휘발성 메모리 디바이스(104)가 DRAM을 포함하는 경우, 제 1 휘발성 메모리 디바이스(104)는, 시스템(100)이 비활성 또는 슬립 모드에 있을 때라도, DRAM에 저장된 데이터를 리프레시 및 유지하기 위해 전력(예를 들어, 배터리 전력)을 소비할 수 있다. 그러나, 본 명세서에서 추가로 설명되는 바와 같이, 제 1 휘발성 메모리 디바이스(104)의 전력 소비는, 제 1 휘발성 메모리 디바이스(104)로부터 비-휘발성 메모리 디바이스(108)로 데이터를 전달한 후에, 제 1 휘발성 메모리 디바이스(104) 또는 제 1 휘발성 메모리 디바이스(104)의 부분을 디스에이블하는 것을 포함하는 기법들을 통해 감소될 수 있다.
[0026] 비-휘발성 메모리 디바이스(108)는 디스크-기반 메모리, 플래시 메모리, 고체 상태 메모리, 또는 몇몇 다른 유형의 비-휘발성 메모리를 포함할 수 있다. 예를 들어, 비-휘발성 메모리 디바이스(108)는 NOR 플래시 메모리, NAND 플래시 메모리, eMMC(embedded MultiMediaCard), 또는 이들의 임의의 결합을 포함할 수 있다. 특정 실시예에서, 비-휘발성 메모리 디바이스(108)의 부분(110)은 시스템(100)의 휘발성 메모리로부터의, 이를테면, 제 1 휘발성 메모리 디바이스(104)로부터의 데이터 전달들을 위해 예약 또는 할당될 수 있다. 따라서, 비-휘발성 메모리 디바이스(108)의 전체 용량 미만이 일반적 저장(예를 들어, 애플리케이션/사용자 데이터의 저장)을 위해 이용가능하다. 그러나, 비-휘발성 메모리 디바이스(108)는 실질적으로 휘발성 메모리 디바이스(104)보다 크기 때문에, 데이터 전달을 위해 부분(110)을 예약하는 것은 성능 또는 사용자 경험에 현저한 영향을 미치지 않을 수 있다.
[0027] 특정 실시예에서, 예약된 부분(110)의 크기는 제 1 휘발성 메모리 디바이스(104)의 용량과 동일하거나 제 1 휘발성 메모리 디바이스(104)의 용량의 프랙션(fraction)이다. 예를 들어, 비-휘발성 메모리 디바이스(108)는 16 기가바이트(GB) eMMC일 수 있고, 제 1 휘발성 메모리 디바이스(104)는 512 메가바이트(MB) DDR일 수 있다. 따라서, 예로서, eMMC의 512 MB 또는 256 MB가 DDR로부터의 데이터 전달을 위해 예약될 수 있다. 다수의 DDR들이 존재하는 경우, 예약된 부분(110)의 크기는 DDR들 중 하나의 DDR의 용량과 동일하거나 하나의 DDR의 용량의 프랙션이거나, 또는 DDR들 모두가 아닌 하나보다 많은 수의 DDR들의 용량들의 합과 동일하거나 그 하나보다 많은 수의 DDR들의 용량들의 프랙션들이거나, 또는 DDR들 모두의 용량들의 합과 동일하거나 DDR들 모두의 용량들의 프랙션일할 수 있다.
[0028] 도 1에 도시된 바와 같이, 제 1 휘발성 메모리 디바이스(104)와 비-휘발성 메모리 디바이스(108) 사이의 데이터 전달은 프로세서(102)와 독립적으로(즉, 전달되는 데이터를 프로세서(102)에 전송함이 없이) 수행될 수 있다. 예를 들어, 데이터 전달 모듈(106)은 제 1 휘발성 메모리 디바이스(104) 및 비-휘발성 메모리 디바이스(108)에 커플링될 수 있다. 예시하여, 데이터 전달 모듈(106)은, 데이터를 제 1 휘발성 메모리 디바이스(104)로부터 비-휘발성 메모리 디바이스(108)로 그리고 그 반대로 카피하도록 구성되는 DMA(direct memory access) 엔진 또는 제어기, 직접 데이터 버스 연결 등과 같은 하드웨어를 포함할 수 있다.
[0029] 특정 실시예에서, 데이터를 프로세서(102)에 전송함이 없이 데이터를 전달하기 위해 데이터 전달 모듈(106)을 이용하는 것은, 데이터의 저전력 고속 전달을 가능하게 한다. 예를 들어, 데이터 전달 모듈(106)은 1초 미만으로 512 MB DDR의 전체 콘텐츠(또는 512 MB DDR의 콘텐츠의 프랙션)를 전달할 수 있지만, 프로세서(102)는 (예를 들어, 슬립 모드에서) 전력-콜랩스(power-collapse)된다. 일단 제 1 휘발성 메모리 디바이스(104)의 전체 콘텐츠 또는 콘텐츠의 부분이 비-휘발성 메모리 디바이스(108)에 카피되면, 제 1 휘발성 메모리 디바이스(104) 또는 제 1 휘발성 메모리 디바이스(104)의 부분은 슬립 모드 동안 디스에이블될 수 있다. 예를 들어, 제 1 휘발성 메모리 디바이스(104) 또는 제 1 휘발성 메모리 디바이스(104)의 부분을 디스에이블하는 것은, 제 1 휘발성 메모리 디바이스(104)를 턴 오프하는 것 또는 제 1 휘발성 메모리 디바이스(104)의 대응하는 부분을 턴 오프하는 것, 제 1 휘발성 메모리 디바이스(104)의 리프레시를 디스에이블하는 것 또는 제 1 휘발성 메모리 디바이스(104)의 대응하는 부분의 리프레시를 디스에이블하는 것, 또는 이들의 임의의 결합을 포함할 수 있다. 시스템(100)이 슬립 모드로부터 빠져나올 때, 데이터 전달 모듈(106)은 데이터를 다시 비-휘발성 메모리 디바이스(108)로부터 제 1 휘발성 메모리 디바이스(104)로 카피하기 위해 이용될 수 있다.
[0030] 특정 실시예에서, 데이터는 제 1 휘발성 메모리 디바이스(104)와 비-휘발성 메모리 디바이스(108) 사이에서 어드레스에 의한 순서로 카피된다. 본 명세서에서 이용되는 바와 같이, "어드레스에 의한 순서로" 데이터를 카피하는 것은, 휘발성 메모리 디바이스로부터 카피되는 데이터의 각각의 엘리먼트가, 휘발성 메모리 디바이스를 디스에이블하기 전에 데이터의 각각의 엘리먼트가 카피되었던 바로 그 위치에서 휘발성 메모리 디바이스에 다시 기록되는 것을 의미한다. 예를 들어, 전체 제 1 휘발성 메모리 디바이스(104)의 데이터 이미지(예를 들어, 스냅샷)(예를 들어, 512 MB 데이터 이미지)는, 전체 DDR 제 1 휘발성 메모리 디바이스(104)가 활성 데이터(예를 들어, 시스템(100)에서 하드웨어 컴포넌트 및/또는 소프트웨어 애플리케이션에 의해 사용되고 있는 데이터)를 저장하고 있었는지의 여부와 무관하게, 비-휘발성 메모리 디바이스(108)에 카피될 수 있다. 전체 제 1 휘발성 메모리 디바이스(104)의 데이터 이미지를 발생시키고 카피하는 것은, 데이터를 압축하는 것 또는 활성 데이터만을 비-휘발성 메모리 디바이스(108)에 로케이팅 및 카피하는 것보다 신속할 수 있다. 더욱이, 비-휘발성 메모리 디바이스(108)의 크기가 제 1 휘발성 메모리 디바이스(104)의 크기보다 상당히 더 클 수 있기 때문에, 전체 제 1 휘발성 메모리 디바이스(104)의 스냅샷을 카피하는 것의 저장 비용은 비교적 적고 사용자에게 수용가능할 수 있다. 부가하여, 데이터가 어드레스에 의한 순서로, 제 1 휘발성 메모리 디바이스(104)에 그리고 제 1 휘발성 메모리 디바이스(104)로부터 전달되기 때문에, 슬립 모드 이전에 사용되는 메모리 맵핑들(예를 들어, 가상 어드레스 투 물리적 어드레스 맵핑들)은 슬립 모드를 빠져나온 후에 계속 유효할 수 있다. 또한, PASR(partial array self refresh) 시스템들과 달리, 제 1 휘발성 메모리 디바이스(104)가 50%를 초과하여 가득 찬 경우, 데이터 손실이 회피될 수 있다.
[0031] 동작 동안, 정상 또는 활성 동작 모드로부터 슬립 모드로의 전이가 개시될 수 있다. 예를 들어, 프로세서(102), 또는 몇몇 다른 컴포넌트(예를 들어, 전력 제어기)는 사용자 입력(예를 들어, 사용자가 전자 디바이스의 파워 또는 대기 버튼을 디프레싱(depressing)하는 것)에 기초하여, 또는 이벤트 또는 인터럽트(예를 들어, 타임아웃)에 기초하여 슬립 모드로의 전이를 개시할 수 있다. 120에서 도시된 바와 같이, 슬립 모드로의 전이의 개시에 응답하여, 데이터 전달 모듈(106)은 데이터를 제 1 휘발성 메모리 디바이스(104)로부터 비-휘발성 메모리 디바이스(108)로 카피할 수 있다. 특정 실시예에서, 프로세서(102)는 카피하는 것을 트리거하는 메시지를 데이터 전달 모듈(106)에 전송한다.
[0032] 데이터가 카피된 후에, 제 1 휘발성 메모리 디바이스(104)는 디스에이블될 수 있다. 예를 들어, (예를 들어, 인에이블 신호 또는 전력 신호를 디-어설팅(de-asserting)함으로써) 제 1 휘발성 메모리 디바이스(104)에 대한 전력이 톤 오프될 수 있고 그리고/또는 (예를 들어, 리프레시 신호를 디-어설팅함으로써 또는 제 1 휘발성 메모리 디바이스(104)와 연관된 레지스터 또는 다른 메모리의 환경설정 값(configuration value)을 세팅함으로써) 제 1 휘발성 메모리 디바이스(104)의 리프레시가 중지될 수 있다. 특정 실시예에서, 프로세서(102) 또는 몇몇 다른 컴포넌트(예를 들어, 전력 제어기)가 제 1 휘발성 메모리 디바이스(104)를 디스에이블할 수 있다. 따라서, 제 1 휘발성 메모리 디바이스(104)는, 슬립 모드 동안 DRAM 디바이스들을 리프레시하는 기존의 시스템들에 비해 적은 전력을 슬립 모드에서 소비할 수 있다. 프로세서(102) 및/또는 비-휘발성 메모리 디바이스(108)와 같은, 시스템(100)의 다른 컴포넌트들이 또한 슬립 모드 동안 디스에이블될 수 있다. 슬립 모드로부터 다시 정상 또는 활성 동작 모드로의 전이에 응답하여, 제 1 휘발성 메모리 디바이스(104)는 인에이블되고, 130에서 도시된 바와 같이, 비-휘발성 메모리 디바이스(108)에 저장된 데이터는, 비-휘발성 메모리 디바이스(108)로부터 제 1 휘발성 메모리 디바이스(104)로 다시 카피된다.
[0033] 특정 실시예에서, 부가적인 휘발성 메모리 디바이스들이 또한 시스템(100)에 존재할 수 있다. 예를 들어, 제 2 휘발성 메모리 디바이스(112)가 프로세서(102)에 커플링될 수 있다. 대안적으로, 휘발성 메모리 디바이스들(104, 112)은 멀티-랭크 DDR의 상이한 랭크들일 수 있다. 예를 들어, 제 1 휘발성 메모리 디바이스(104)는 1 GB DDR의 512 MB 하위 랭크일 수 있고, 제 2 휘발성 메모리 디바이스(112)는 1 GB DDR의 512 MB 상위 랭크일 수 있다. 부가적인 비-휘발성 메모리 디바이스들 및/또는 프로세서들이 또한 시스템(100)에 존재할 수 있다. 따라서, 본 명세서에서 설명된 다양한 디바이스들의 수, 구성, 용량, 및 유형은 제한하는 것이 아닌 단지 예시적인 것으로 고려되어야 한다. 다수의 휘발성 메모리 디바이스들이 존재하는 경우(또는 멀티-랭크 휘발성 메모리 디바이스들이 존재하는 경우), 임의의 수의 휘발성 메모리 디바이스들(또는 랭크들)로부터의 데이터는 슬립 모드의 개시에 응답하여 비-휘발성 메모리 디바이스(108)에 전달될 수 있다.
[0034] 예를 들어, 모바일 폰이 2개의 DDR들(또는 듀얼-랭크 DDR)을 포함하는 경우, 하나의 DDR(또는 랭크)은 멀티미디어 애플리케이션들/데이터 전용일 수 있고, 다른 DDR(또는 랭크)은 모뎀 애플리케이션들/데이터 및 다른 "중요(critical)" 데이터 전용일 수 있다. 그러한 경우, 멀티미디어 DDR(또는 랭크)로부터의 데이터는 비-휘발성 메모리에 카피될 수 있고, 멀티미디어 DDR(또는 랭크)은 전력을 보존하기 위해 슬립 모드 동안 디스에이블될 수 있다. 그러나, 모뎀 애플리케이션들/데이터는 모뎀 DDR(또는 랭크)에 유지될 수 있고, 모뎀 DDR(또는 랭크)은 슬립 모드 동안 셀프-리프레시들을 계속 수행할 수 있다. 슬립 모드 동안 모뎀 데이터 및 다른 중요 데이터를 모뎀 DDR(또는 랭크)에 유지하는 것은, 모바일 폰이 페이징 사이클들과 같은 무선 사이클들에 더 신속하게 응답하는 것을 가능하게 할 수 있다. 몇몇 실시예들에서, 특정 애플리케이션 또는 사용자 인터페이스(UI) 데이터, 이를테면, 모바일 폰 언록 스크린(unlock screen)은, 모바일 폰이 슬립 모드를 빠져나올 때 사용자 입력에 응답하도록, 모뎀 DDR(또는 랭크)에서 유지될 수 있으며, 이는 사용자 경험을 개선할 수 있다.
[0035] 다른 메모리 구성들이 도 1의 시스템(100)으로부터 이득을 취할 수 있다는 것이 이해될 것이다. 예를 들어, 멀티미디어 메모리의 전체 콘텐츠 및 모뎀 메모리의 비-중요 부분(non-critical portion)(예를 들어, 하위 랭크)은 디스크에 전달될 수 있는 한편, 모뎀 메모리의 중요 부분(예를 들어, 상위 랭크)은 슬립 모드에서 계속 리프레시될 수 있다.
[0036] 특정 실시예에서, 도 1의 시스템(100)은 휘발성 메모리에 저장된 특정 데이터의 선택적 우선순위화를 지원할 수 있다. 예를 들어, 애플리케이션 개발자들(예를 들어, API(application programming interface), 컴파일러, 링커(linker) 등을 통해) 또는 사용자들(예를 들어, GUI(graphical user interface) 옵션들을 통해)은, (예를 들어, 애플리케이션 또는 운영 체제에 의해 요청되는) 동적 메모리의 할당 또는 (예를 들어, 애플리케이션 또는 운영 체제에 의해 요청되는) 데이터의 로딩이, 슬립 모드 동안 계속 인에이블될 더 높은-우선순위의 휘발성 메모리에서 발생되어야 하는지, 데이터가 비-휘발성 메모리에 전달된 후에 슬립 모드 동안 디스에이블될 더 낮은-우선순위의 휘발성 메모리에서 발생되어야 하는지를 명시할 수 있다.
[0037] 따라서, 도 1의 시스템(100)은, 데이터를 휘발성 메모리로부터 비-휘발성 메모리로 카피하고, 슬립 모드 동안 휘발성 메모리 또는 휘발성 메모리의 부분을 디스에이블하고, 이에 의해 휘발성 메모리 상에서의 전력-소모적 셀프-리프레시 동작들을 회피함으로써, 슬립 플로어 전류를 감소시킬 수 있다. 유리하게, 데이터 전달 동작은 PASR과 연관된 페이지 이동들보다 덜 계산 및 전력 집중적일 수 있다. 예를 들어, 데이터 전달 동작은 전용 하드웨어(예를 들어, 데이터 전달 모듈(106))를 이용하여 수행될 수 있다. 또한, 도 1의 시스템(100)은 성능에 따라 전력 감소를 밸런싱하도록 동적 메모리 관리를 가능하게 할 수 있다. 예를 들어, 하나의 DDR(또는 랭크)로부터의 덜 중요한 데이터는 비-휘발성 메모리에 카피될 수 있어서, DDR(또는 랭크)은 슬립 모드 동안 디스에이블될 수 있지만, 슬립 모드 동안의/슬립 모드 후의 반응성 및 성능을 개선하기 위해, 더 중요한 데이터는 슬립 모드 동안 다른 DDR(또는 랭크)에서 유지될 수 있다.
[0038] 도 2는 휘발성 메모리로부터 비-휘발성 메모리로의 프로세서-종속적 데이터 전달 후에, 휘발성 메모리 또는 휘발성 메모리의 부분을 디스에이블함으로써, 휘발성 메모리의 전력 소비를 감소시키는 시스템(200)의 특정 실시예를 예시하는 도면이다. 시스템(200)은 프로세서(102), 제 1 휘발성 메모리 디바이스(104), 및 비-휘발성 메모리 디바이스(108)를 포함할 수 있고, 비-휘발성 메모리 디바이스(108)는 제 1 휘발성 메모리 디바이스(104)로부터의 데이터 전달들을 위해 예약된 부분(110)을 포함한다.
[0039] 도 2는 프로세서(102) 내의 데이터 전달 모듈(206)을 예시한다. 예를 들어, 데이터 전달 모듈(206)은 프로세서(102)에 통합된 하드웨어 및/또는 프로세서(102)에 의해 실행가능한 명령들을 이용하여 구현될 수 있다. 데이터 전달 모듈(206)은 프로세서(102)를 통해 제 1 휘발성 메모리 디바이스(104)와 비-휘발성 메모리 디바이스(108) 사이에서 데이터를 전달하도록 구성될 수 있다.
[0040] 예를 들어, 220에서 도시된 바와 같이, 슬립 모드로의 전이의 개시에 응답하여, 데이터 전달 모듈(206)은, 제 1 휘발성 메모리 디바이스(104)로부터 비-휘발성 메모리 디바이스(108)의 예약된 부분(110)으로의 데이터 이미지(예를 들어, 스냅샷)의, 프로세서-보조(예를 들어, 소프트웨어-기반) 카피를 수행할 수 있다. 다른 예로서, 230에서 도시된 바와 같이, 슬립 모드로부터의 전이의 개시에 응답하여, 데이터 전달 모듈(206)은, 비-휘발성 메모리 디바이스(108)의 예약된 부분으로부터 제 1 휘발성 메모리 디바이스(104)로의 데이터 이미지(예를 들어, 스냅샷)의, 프로세서-보조(예를 들어, 소프트웨어-기반) 카피를 수행할 수 있다.
[0041] 따라서, 도 2는 도 1에 예시된 데이터 전달 메커니즘에 대한 대안적인 데이터 전달 메커니즘을 예시한다. 도 1의 하드웨어-기반 프로세서-독립적 메커니즘이 데이터 전달을 더 신속하게 수행할 수 있는 반면, 도 2의 프로세서-보조(예를 들어, 소프트웨어-기반) 메커니즘은, 제조 비용을 증가시킬 수 있는 부가적인 하드웨어 엘리먼트들을 도입함이 없이 기존의 전자 디바이스들로 구현될 수 있다.
[0042] 도 3은 도 1 및 도 2의 데이터 전달 동작들의 특정 실시예를 예시하며, 일반적으로 300으로 지정된다. 도 3은 RAM(310) 및 디스크(320)를 예시한다. 예를 들어, RAM(310)은 도 1 및 도 2의 제 1 휘발성 메모리 디바이스(104) 또는 도 1의 제 2 휘발성 메모리 디바이스(112)일 수 있다. 디스크(320)는 도 1 및 도 2의 비-휘발성 메모리 디바이스(108)일 수 있다.
[0043] 도 1 및 도 2와 관련하여 설명된 바와 같이, RAM(310)과 디스크(320) 사이의 데이터 전달은 어드레스에 의한 순서로 수행될 수 있다. 데이터 전달 전에, 메모리 맵핑들(330)이 사용되고 있을 수 있고, RAM(310)은, A 내지 F로 라벨링된 5개의 파일들(예를 들어, 데이터 파일들 또는 코드 파일들)을 저장할 수 있다. 도시된 바와 같이, 파일들 각각은 하나 또는 둘 이상의 부분들(예를 들어, 페이지들)을 포함할 수 있다. 예를 들어, 파일 A는 8개의 부분들을 포함할 수 있고, 파일 B 내지 파일 F는 각각 2개의 부분들을 포함할 수 있다. 메모리 맵핑들(330)은 파일들 각각의 시작 어드레스를 표시할 수 있다. 예를 들어, 도시된 바와 같이, 파일 A의 시작 어드레스는 0x0000일 수 있고, 파일 D의 시작 어드레스는 0x001F일 수 있다.
[0044] 슬립 모드로의 전이의 개시에 응답하여, RAM(310)의 데이터 이미지(예를 들어, 스냅샷)는 디스크(320)의 예약된 부분(322)에 카피될 수 있다. 도 3에 예시된 바와 같이, 각각의 파일의 각각의 부분은 디스크 상의 대응하는 위치에 카피될 수 있고, 파일들의 부분들의 상대적 순서화(ordering) 및 배치(placement)가 유지된다. 슬립 모드로부터의 전이에 응답하여, 데이터 이미지는 다시 RAM(310)에 카피될 수 있다. 따라서, 슬립 모드 전에 사용되고 있었던 메모리 맵핑들(330)은 슬립 모드를 빠져나온 후에 계속 유효할 수 있다. 예를 들어, 도시된 바와 같이, 파일 A의 8번째 부분(312)은 계속 어드레스 0x0007에 로케이팅될 수 있다.
[0045] 도 3에 도시된 바와 같이, 데이터를 (예를 들어, 압축 및/또는 재배치(relocation) 없이) 어드레스에 의한 순서로 카피하는 것 및 메모리 맵핑들을 보존(preserve)하는 것은, 메모리 관리를 단순화하고 도 1 및 도 2의 시스템들과 연관된 준비/클린-업 동작들을 감소시킬 수 있다는 것이 이해될 것이다.
[0046] 도 4는 판독-전용 데이터에 관하여 휘발성 메모리의 전력 소비를 감소시키도록 동작가능한 시스템(400)의 특정 실시예를 예시하는 도면이다. 도 1 내지 도 3이 전자 디바이스가 슬립 모드에 있는 동안 슬립 플로어 전류를 감소시키는 기법들을 예시하는 반면, 도 4는 "정상" (예를 들어, 활성) 동작 모드 동안 적용될 수 있는 기법을 예시한다. 시스템(400)은 휘발성 메모리 디바이스(예를 들어, 동기 DRAM(SDRAM)(402)) 및 비-휘발성 메모리 디바이스(예를 들어, NOR 플래시 메모리(404))를 포함한다. 도 4의 실시예에서, SDRAM(402)은 4개의 뱅크들(뱅크 0 내지 뱅크 3)을 갖는다. 본 명세서에서 추가로 설명되는 바와 같이, 각각의 뱅크에 대한 전력 제어는 독립적일 수 있다.
[0047] 동작 동안, NOR 플래시 메모리(404)에 저장된 데이터의 하나 또는 둘 이상의 세그먼트들의 카피는 SDRAM(402)에 로딩될 수 있다. 예를 들어, 특정 애플리케이션이 실행되고 있는 경우, 그 애플리케이션과 연관된 데이터는 더 신속한 액세스를 위해 SDRAM(402)에 로딩될 수 있다. 일반적으로, 전자 디바이스와 연관된 데이터는 2개의 카테고리들 ― 판독-전용("RO") 데이터 및 판독-기록("RW") 데이터 ― 로 나눠질 수 있다. 판독-전용 데이터는 수정가능하지 않은(예를 들어, 판독 요청들에는 종속되지만, 기록 요청들에는 종속되지 않음) 반면, 판독-기록 데이터는 수정가능하다(예를 들어, 판독 요청들 및 기록 요청들 양쪽 모두에 종속됨). 전자 디바이스의 각각의 애플리케이션 및 서브시스템(예를 들어, 운영 체제의 서브시스템)은 판독-전용 데이터 및 판독-기록 데이터와 연관되거나 포함할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, NOR 플래시 메모리(404)는 서브시스템 0, 서브시스템 1, 서브시스템 2, 서브시스템 3, 및 서브시스템 4와 연관된 판독-전용 데이터 및 판독-기록 데이터를 저장할 수 있다. NOR 플래시 메모리(404)는 또한, "중요" 판독-전용 데이터(예를 들어, 무선 폰의 경우에서 모뎀을 위한 판독-전용 데이터)를 저장할 수 있다.
[0048] 도 4에 도시된 바와 같이, 다양한 판독-전용 데이터 및 판독-기록 데이터의 카피들이 SDRAM(402)에 로딩될 수 있다. 예를 들어, 서브시스템 1 판독-전용 데이터의 제 1 카피(410) 및 서브시스템 2 판독-전용 데이터의 제 1 카피(412)는 SDRAM(402)에 저장될 수 있다. 서브시스템 1 판독-전용 데이터의 제 2 카피(420) 및 서브시스템 2 판독-전용 데이터의 제 2 카피(422)는 NOR 플래시 메모리(404)에 저장될 수 있다. 데이터가 SDRAM(402)으로부터 액세스되고 있는 경우, 데이터에 대한 메모리 맵핑은 SDRAM(402)을 식별할 수 있다. 예를 들어, 메모리 맵핑들(440)(예를 들어, MMU(memory management unit) 테이블)에서 도시된 바와 같이, "중요" 판독-전용 데이터(430)는 SDRAM의 뱅크 3에 로케이팅된 물리적 어드레스로부터 액세스될 수 있다.
[0049] 동작 동안, 전자 디바이스는 배터리 수명을 모니터링할 수 있다. 배터리 수명이 임계치(예를 들어, 10%) 미만으로 떨어지는 경우, 전자 디바이스는 LPM(low performance mode)에 진입할 수 있다. 대안적으로 또는 부가하여, LPM으로의 전이를 요청하는 사용자 입력 또는 사용자 커맨드에 응답하여, LPM에 진입될 수 있다. LPM은 비록 감소된 성능일지라도 연속적인 시스템 동작을 제공할 수 있다는 점에서, LPM은 슬립 모드와 상이할 수 있다.
[0050] LPM 컨디션(예를 들어, 배터리 수명이 10% 미만이거나 동일함)이 충족되는 것에 응답하여, SDRAM(402)으로부터 NOR 플래시 메모리(404)로 판독-전용 데이터의 메모리 맵핑이 업데이트될 수 있다. 예를 들어, 메모리 맵핑들(440)에서 도시된 바와 같이, 서브시스템 1 판독-전용 데이터 및 서브시스템 2 판독-전용 데이터에 대한 맵핑들은 SDRAM(402)의 뱅크 2 대신에 NOR 플래시 메모리(404)의 물리적 어드레스들에 대한 포인트로 업데이트될 수 있다. 판독-전용 데이터를 저장하는 SDRAM(402)의 부분은 디스에이블될 수 있고, LPM 동안 판독-전용 데이터에 대한 액세스 요청들(예를 들어, 판독 요청들)은 SDRAM(402) 대신에 NOR 플래시 메모리(404)로 지향될 수 있다. 예를 들어, SDRAM(402)의 뱅크 2는 디스에이블될 수 있고, LPM 동안 서브시스템 1 판독-전용 데이터 및 서브시스템 2 판독-전용 데이터에 대한 액세스 요청들은, 업데이트된 메모리 맵핑들(440)에 따라, NOR 플래시 메모리(404)로 지향될 수 있다.
[0051] 특정 실시예에서, LPM 동안 SDRAM(402)의 뱅크 2를 디스에이블하는 것은, LPM 동안 (예를 들어, 인에이블 신호 또는 전력 신호를 디-어설팅함으로써) 뱅크 2를 턴 오프하는 것 또는 LPM 동안 (예를 들어, 리프레시 신호를 디-어설팅하거나 레지스터의 환경설정 값을 세팅함으로써) 뱅크 2의 리프레시를 디스에이블하는 것을 포함할 수 있다. LPM 동안 SDRAM(402)의 부분(또는 전체 SDRAM(402))을 디스에이블하는 것은 전력 소비를 감소시킬 수 있다는 것이 이해될 것이다. 판독-기록 데이터 및 다른 판독-전용 데이터(예를 들어, "중요" 판독-전용 데이터(430))의 카피들은 LPM 동안 SDRAM(402)으로부터 계속 액세스될 수 있다.
[0052] LPM 컨디션이 더 이상 충족되지 않는다는 (예를 들어, 배터리 수명이 10%를 초과함) 결정에 응답하여, SDRAM(402)의 뱅크 2는 인에이블될 수 있고, SDRAM(402)의 뱅크 2에 저장된 판독-전용 데이터에 대한 메모리 맵핑들(440)은, NOR 플래시 메모리(404) 대신에 SDRAM(402)의 뱅크 2에 대한 포인트로 업데이트될 수 있다. SDRAM(402)의 판독-전용 데이터의 카피가 LPM 동안 훼손(degrade)되었을 수 있기 때문에, 메모리 맵핑들(440)을 업데이트하기 전에, 판독-전용 데이터의 새로운 카피가 SDRAM(402)에 로딩될 수 있다.
[0053] 특정 실시예에서, 도 4에 도시된 바와 같이, 시스템(400)의 비-휘발성 메모리는 NOR 플래시 메모리(404)를 포함할 수 있다. NOR 플래시 메모리(404)는 저장된 코드를 실행하기 위한 XIP(execute-in-place) 동작을 가능하게 할 수 있다. 따라서, 판독-전용 코드에 대응하는 명령들은, SDRAM(402)의 사용 없이 LPM 동안 NOR 플래시 메모리(404)로부터 실행될 수 있다.
[0054] 특정 실시예에서, LPM으로 전이될 때(예를 들어, NOR 플래시 메모리(404)에 대한 포인트로 메모리 맵핑들(440)을 업데이트 하기 전에), 부가적인 동작들이 (예를 들어, 운영 체제 또는 제어기에 의해) 수행될 수 있다. 예를 들어, 인터럽트들이 디스에이블될 수 있고, 프로세서에서의 스레드 스케줄링이 중단될 수 있고, 프로세서가 멀티-스레드 모드로부터 단일-스레드 모드로 스위칭될 수 있고, 그리고/또는 TLB(translation lookaside buffer) 엔트리들이 무효화될 수 있다. 부가적인 동작들은 또한, LPM으로부터 전이될 때(예를 들어, SDRAM(402)에 대한 포인트로 메모리 맵핑들(440)을 업데이트한 후에), (예를 들어, 운영 체제 또는 제어기에 의해) 수행될 수 있다. 예를 들어, 인터럽트들이 인에이블될 수 있고, 스레드 스케줄링이 프로세서에서 재개될 수 있고, 프로세서가 단일-스레드 모드로부터 멀티-스레드 모드로 스위칭될 수 있다.
[0055] 특정 실시예에서, LPM의 구현을 지원하기 위해, 전자 디바이스의 서브시스템들(예를 들어, 모뎀 서브시스템, 그래픽 서브시스템, 오디오 서브시스템 등)은 판독-전용 데이터를 판독-기록 데이터로부터 분리시킬 수 있다. 예를 들어, 서브시스템들에 대응하는 이미지들을 생성하기 위해 이용된 링커들은 판독-전용 데이터를 판독-기록 데이터와 개별적으로 그룹화할 수 있다.
[0056] 특정 실시예에서, 특정 판독-전용 데이터는 LPM 동안 SDRAM(402)에 계속 존재하면서 SDRAM(402)으로부터 액세스될 수 있다. 예를 들어, "중요" 판독-전용 데이터(430)는 LPM 동안 SDRAM(402)으로부터 계속 액세스될 수 있다. "중요" 판독-전용 데이터(430)를 LPM 동안 SDRAM(402)에서 액세스가능 상태로 유지하는 것은, 시스템(400)이, 더 짧은 시간량 내에 "중요" 판독-전용 데이터(430)와 연관된 동작들을 수행하는 것을 가능하게 할 수 있다. 예를 들어, "중요" 판독-전용 데이터(430)가 모뎀 데이터를 포함하는 경우, 도 4의 시스템(400)은 LPM에 있는 동안 페이징 사이클들에 신속하게 응답할 수 있다. 따라서, 도 4의 시스템(400)은 특정 판독-전용 데이터의 선택적 우선순위화를 지원할 수 있다. 예를 들어, 애플리케이션 개발자들(예를 들어, API(application programming interface), 컴파일러, 링커 등을 통해) 또는 사용자들(예를 들어, GUI(graphical user interface) 옵션들을 통해)은, LPM 동안, 특정 판독-전용 데이터가 휘발성 메모리(예를 들어, SDRAM(402))로부터 계속 액세스되어야 하는지를 명시할 수 있다.
[0057] 따라서, 도 4의 시스템(400)은, 저전력 컨디션들 동안 휘발성 메모리 대신에 비-휘발성 메모리로부터 특정 판독-전용 데이터를 액세스함으로써, 비-슬립(예를 들어, 활성) 동작 모드들에서 전력 소비를 감소시킬 수 있다. 판독-전용 데이터를 저장하는 휘발성 메모리의 적어도 일부분이 디스에이블될 수 있고, 이에 의해 휘발성 메모리의 일부분 상에서의 전력-소모적 셀프-리프레시 동작들을 회피한다.
[0058] 도 5는 도 1 및 도 2의 시스템들에서 수행될 수 있는 동작의 방법(500)의 특정 실시예를 예시하는 흐름도이다.
[0059] 방법(500)은, 502에서, 전자 디바이스에서 동작 모드로부터 슬립 모드로의 전이를 개시하는 단계를 포함한다. 전자 디바이스는 제 1 크기를 갖는 휘발성 메모리 디바이스 및 제 1 크기보다 더 크거나 동일한 제 2 크기를 갖는 비-휘발성 메모리 디바이스를 포함할 수 있다. 예를 들어, 도 1 또는 도 2를 참조하면, 프로세서(102)는 제 1 휘발성 메모리 디바이스(104) 및 비-휘발성 메모리 디바이스(108)를 포함하는 전자 디바이스에서 슬립 모드로의 전이를 개시할 수 있다.
[0060] 방법(500)은 또한, 504에서, 개시하는 단계에 응답하여, 데이터를 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 카피하는 단계를 포함한다. 예를 들어, 도 1을 참조하면, 데이터 전달 모듈(106)은 제 1 휘발성 메모리 디바이스(104)로부터 비-휘발성 메모리 디바이스(108)로, 데이터의 프로세서-독립적 카피를 수행할 수 있다. 다른 예로서, 도 2를 참조하면, 데이터 전달 모듈(206)은 제 1 휘발성 메모리 디바이스(104)로부터 비-휘발성 메모리 디바이스(108)로, 데이터의 프로세서-보조 카피를 수행할 수 있다. 도 3과 관련하여 설명된 바와 같이, 특정 실시예에서, 데이터는 어드레스에 의한 순서로 카피될 수 있다.
[0061] 방법(500)은 추가로, 506에서, 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하는 단계를 포함한다. 예를 들어, 도 1 또는 도 2를 참조하면, 프로세서(102)는 제 1 휘발성 메모리 디바이스(104)를 디스에이블할 수 있다. 방법(500)은 또한, 508에서, 슬립 모드로부터 동작 모드로의 전이에 응답하여, 휘발성 메모리 디바이스를 인에이블하고 데이터를 비-휘발성 메모리 디바이스로부터 휘발성 메모리 디바이스로 카피하는 단계를 포함한다. 예를 들어, 도 1을 참조하면, 데이터 전달 모듈(106)은 비-휘발성 메모리 디바이스(108)로부터 제 1 휘발성 메모리 디바이스(104)로, 데이터의 프로세서-독립적 카피를 수행할 수 있다. 다른 예로서, 도 2를 참조하면, 데이터 전달 모듈(206)은 비-휘발성 메모리 디바이스(108)로부터 제 1 휘발성 메모리 디바이스(104)로, 데이터의 프로세서-보조 카피를 수행할 수 있다.
[0062] 따라서, 도 5의 방법(500)은, 각각 데이터를 휘발성 메모리로부터 비-휘발성 메모리로 카피하고, 슬립 모드 동안 휘발성 메모리의 부분 또는 모두를 디스에이블하고, 이에 의해, 휘발성 메모리 상에서의 전력-소모적 셀프-리프레시 동작들을 회피하거나 감소시킴으로써, 슬립 플로어 전류를 감소시키기 위해 이용될 수 있다.
[0063] 도 6은 도 4의 시스템에서 수행될 수 있는 동작의 방법(600)의 특정 실시예를 예시하는 흐름도이다.
[0064] 방법(600)은 602에서, 전자 디바이스를 정상 모드에서 동작시키는 단계를 포함한다. 전자 디바이스는 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스 및 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스를 포함할 수 있다. 예를 들어, 도 4에서, SDRAM(402)은 서브시스템 1 판독-전용 데이터의 제 1 카피(410)를 저장하고, NOR 플래시 메모리(404)는 서브시스템 1 판독-전용 데이터의 제 2 카피(420)를 저장한다.
[0065] 방법(600)은 또한, 604에서, LPM 컨디션이 충족되는지를 결정하는 단계를 포함한다. 예를 들어, LPM 컨디션은, 사용자 입력에 응답하여 그리고/또는 전자 디바이스의 남은 배터리 수명이 임계치(예를 들어, 10%) 미만일 때 충족될 수 있다. LPM 컨디션이 충족되지 않는 동안, 방법(600)은 602로 리턴되고, 전자 디바이스는 배터리 수명을 모니터링하면서 정상 모드에서 계속 동작된다.
[0066] LPM 컨디션이 충족되는 경우, 방법(600)은 선택적으로, 606에서, 인터럽트들을 디스에이블하고, 스레드 스케줄링을 중단하고, 멀티-스레드 모드로부터 단일-스레드 모드로 스위칭하고, 그리고/또는 TLB 엔트리들을 무효화하는 단계를 포함할 수 있다. 방법(600)은 또한, 608에서, 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 판독-전용 데이터의 메모리 맵핑을 업데이트하는 단계를 포함한다. 예를 들어, 도 4의 메모리 맵핑들(440)에서, 서브시스템 1 판독-전용 데이터에 대한 맵핑은 0x4000(즉, SDRAM(402)의 뱅크 2에서의 어드레스)로부터 0xBBBB(즉, NOR 플래시 메모리(404)에서의 어드레스)로 업데이트될 수 있다.
[0067] 방법(600)은 추가로, 610에서, 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스의 부분을 디스에이블하는 단계(예를 들어, 휘발성 메모리 디바이스의 부분을 턴 오프 또는 휘발성 메모리 디바이스의 부분의 리프레시를 디스에이블하는 단계), 및 612에서, 전자 디바이스를 LPM에서 동작시키는 단계를 포함한다. LPM에서 전자 디바이스를 동작시키는 단계는, 판독-전용 데이터에 대한 액세스 요청을 휘발성 메모리 디바이스 대신에 비-휘발성 메모리 디바이스로 지향시키는 단계를 포함할 수 있다. 특정 실시예에서, 비-휘발성 메모리 디바이스는 NOR 플래시 메모리를 포함하고, 명령들의 XIP 실행은 NOR 플래시 메모리로부터 수행될 수 있다. 예시하여, NOR 플래시 메모리는, 프로세서형 메모리 인터페이스를 제공하고 NOR 플래시 메모리에 저장된 개개의 워드들을 어드레싱함으로써 XIP 실행을 지원할 수 있다. 예를 들어, 도 4를 참조하면, SDRAM(402)의 뱅크 2는 디스에이블될 수 있고, 서브시스템1 판독-전용 데이터의 제 2 카피(420)는 LPM 동안, 업데이트된 메모리 맵핑들(440)에 따라 액세스될 수 있다.
[0068] LPM 동안, 방법(600)은 614에서, LPM 컨디션이 계속 충족되는지를 결정하는 단계를 포함한다. LPM 컨디션이 충족되는 경우, 방법(600)은 612로 리턴되고, 전자 디바이스는 LPM에서 계속 동작한다. LPM 컨디션이 더 이상 충족되지 않는 경우(예를 들어, 배터리 수명이 10%보다 크거나, LPM을 빠져나가도록 사용자가 요청함), 방법(600)은, 616에서, 휘발성 메모리 디바이스의 부분을 인에이블하는 단계, 및 618에서, 비-휘발성 메모리 디바이스로부터 휘발성 메모리 디바이스로 판독-전용 데이터를 카피하는 단계를 포함한다. 예를 들어, 도 4에서, SDRAM(402)의 뱅크 2가 인에이블될 수 있고, 서브시스템 1 판독-전용 데이터가 SDRAM(402)에 카피될 수 있다.
[0069] 방법(600)은 선택적으로, 620에서, 인터럽트들을 인에이블하고, 스레드 스케줄링을 재개하고, 그리고/또는 단일-스레드 모드로부터 멀티-스레드 모드로 스위칭하는 단계를 포함할 수 있다. 방법(600)은 추가로, 622에서, 비-휘발성 메모리 디바이스로부터 휘발성 메모리 디바이스로 판독-전용 데이터의 메모리 맵핑을 업데이트하는 단계를 포함한다. 예를 들어, 도 4에서, 서브시스템 1 판독-전용 데이터의 메모리 맵핑이 0xBBBB로부터 다시 0x4000로 업데이트될 수 있다.
[0070] 따라서, 도 6의 방법(600)은 저전력 컨디션들 동안 휘발성 메모리 대신에 비-휘발성 메모리로부터의 판독-전용 데이터를 액세스함으로써 전력 소비를 감소시키기 위해 이용될 수 있다. 판독-전용 데이터를 저장한 휘발성 메모리의 적어도 일부분이 디스에이블될 수 있고, 이에 의해, 휘발성 메모리의 일부분 상에서의 전력-소모적 셀프-리프레시 동작들이 회피된다.
[0071] 도 1 내지 도 3 및 도 5가 슬립 모드 기법을 설명하고, 도 4 및 도 6이 정상 모드 기법을 설명하지만, 이러한 구성은 단지 설명의 용이함을 위한 것이라는 것을 주목해야 한다. 본원에 따르면, 전자 디바이스(예를 들어, 모바일 폰)는 설명된 기법들 중 어느 하나 또는 양쪽 모두의 일부분 또는 모두를 구현할 수 있다. 예를 들어, 도 7을 참조하면, 기법들 양쪽 모두를 구현하도록 동작가능한 컴포넌트들을 포함하는 전자 디바이스(700)의 블록도가 도시된다. 특정 실시예에서, 전자 디바이스(700), 또는 전자 디바이스(700)의 컴포넌트들은 모바일 폰, 셋톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, PDA(personal digital assistant), 고정형 위치 데이터 유닛, 컴퓨팅 디바이스, 또는 이들의 임의의 결합에 포함될 수 있다.
[0072] 전자 디바이스(700)는 휘발성 메모리 디바이스(들) 및 비-휘발성 메모리 디바이스(들)에 커플링된 프로세서(710)를 포함한다. 예를 들어, 휘발성 메모리 디바이스(들)는 멀티미디어 DDR(762)(예를 들어, 도 1 및 도 2의 제 1 휘발성 메모리 디바이스(104), 도 3의 RAM(310), 및/또는 도 4의 SDRAM(402)) 및 모뎀 DDR(764)(예를 들어, 도 1의 제 2 휘발성 메모리 디바이스(112), 도 3의 RAM(310), 및/또는 도 4의 SDRAM(402))을 포함할 수 있다. 비-휘발성 메모리 디바이스(들)는 NOR 플래시 메모리(766)(예를 들어, 도 1 및 도 2의 비-휘발성 메모리 디바이스(108), 도 3의 디스크(320), 및/또는 도 4의 NOR 플래시 메모리(404))를 포함할 수 있다. 도시된 바와 같이, 멀티미디어 DDR(762)은 판독-전용 데이터의 제 1 카피(782)를 포함할 수 있고, NOR 플래시 메모리(766)는 판독-전용 데이터의 제 2 카피(786)를 포함할 수 있다. NOR 플래시 메모리(766)는 또한, 멀티미디어 DDR(762) 및/또는 모뎀 DDR(764)로부터의 데이터 전달들을 위해 예약된 부분(784)을 포함할 수 있다. 2개의 휘발성 메모리 디바이스들 및 하나의 비-휘발성 메모리 디바이스가 도 7에 도시되지만, 상이한 수의 휘발성 및/또는 비-휘발성 메모리 디바이스(들)를 갖는 다른 구성들이 또한 이용될 수 있다는 것을 주목해야 한다.
[0073] 프로세서(710)는 전력 제어 모듈(792) 및 메모리 맵핑들(796)(예를 들어, 도 3의 메모리 맵핑들(330) 및/또는 도 4의 메모리 맵핑들(440))을 포함할 수 있다. 특정 실시예에서, 프로세서(710)는 데이터 전달 모듈(794)(예를 들어, 프로세서-보조 데이터 전달을 수행하도록 구성된 도 2의 데이터 전달 모듈(206))을 포함하거나 구현할 수 있다. 대안적으로 또는 부가하여, 데이터 전달 모듈(770)(예를 들어, 프로세서-독립적 데이터 전달을 수행하도록 구성된 도 1의 데이터 전달 모듈(106))은, 도시된 바와 같이, 멀티미디어 DDR(762), 모뎀 DDR(764), 및/또는 NOR 플래시 메모리(766)에 커플링될 수 있다.
[0074] 동작 동안, 전자 디바이스(700)는 본 명세서에서 설명된 다양한 기능들 및 방법들, 이를테면, 도 5 및 도 6의 방법들을 수행할 수 있다. 특정 실시예에서, 이러한 기능성은 하드웨어를 이용하여 구현될 수 있다. 대안적으로 또는 부가하여, 이러한 기능성은, 유형의(tangible) 비-일시적 매체(예를 들어, 멀티미디어 DDR(762), 모뎀 DDR(764), 및/또는 NOR 플래시 메모리(766))에 저장되고 프로세서(710)에 의해 실행가능한 명령들을 이용하여 구현될 수 있다. 예를 들어, 이러한 기능성은, 모뎀 DDR(764)에 저장되는 것으로 도 7에 예시된 명령들(799)을 이용하여 구현될 수 있다.
[0075] 예를 들어, 전력 제어 모듈(792)은 전자 디바이스(700)에서 슬립 모드로의 전이를 개시할 수 있다. 슬립 모드를 개시하는 것에 응답하여, 데이터 전달 모듈(770) 또는 데이터 전달 모듈(794)은 데이터를 멀티미디어 DDR(762)로부터 NOR 플래시 메모리(766)의 예약된 부분(784)으로 카피할 수 있다. 모뎀 DDR(764)의 데이터(예를 들어, "중요" 데이터)는 카피되지 않을 수 있다. 전력 제어 모듈(792)은 멀티미디어 DDR(762)을 디스에이블할 수 있는 한편, 모뎀 DDR(764)은 인에이블하게 놔둘 수 있다. 그 후에, 전력 제어 모듈(792)은 슬립 모드로부터의 전이를 개시할 수 있다. 데이터는 NOR 플래시 메모리(766)의 예약된 부분(784)으로부터 멀티미디어 DDR(762)로 카피될 수 있다. 데이터는 NOR 플래시 메모리(766)에 그리고 NOR 플래시 메모리(766)로부터 어드레스에 의한 순서로 카피될 수 있어서, 메모리 맵핑들(796)은 계속 유효하다.
[0076] 다른 예로서, 전력 제어 모듈(792)은 LPM 컨디션을 검출할 수 있다. 응답하여, 메모리 맵핑들(796)이 업데이트될 수 있어서, LPM 동안 특정 판독-전용 데이터에 대한 액세스 요청들은, 멀티미디어 DDR(762)에 저장된 제 1 카피(782) 대신에 NOR 플래시 메모리(766)에 저장된 제 2 카피(786)로 지향된다. 멀티미디어 DDR(762)은 LPM 동안 디스에이블될 수 있다. LPM 컨디션이 더 이상 충족되지 않는 것을 전력 제어 모듈(792)이 검출하는 경우, 판독-전용 데이터는 멀티미디어 DDR(762)에 카피될 수 있고, 메모리 맵핑들(796)은 업데이트될 수 있다.
[0077] 도 7은 프로세서(710) 및 디스플레이(728)에 커플링되는 디스플레이 제어기(726)를 포함한다. 코더/디코더(CODEC)(734)는 프로세서(710)에 커플링될 수 있다. 하나 또는 둘 이상의 스피커들(736) 및 마이크로폰들(738)이 CODEC(734)에 커플링될 수 있다. 도 7은 또한, 무선 제어기(740)가 (예를 들어, 무선 주파수(RF) 인터페이스를 통해) 안테나(742)에 그리고 프로세서(710)에 커플링될 수 있다는 것을 나타낸다.
[0078] 특정 실시예에서, 프로세서(710), 디스플레이 제어기(726), 멀티미디어 DDR(762), 모뎀 DDR(764), NOR 플래시 메모리(766), CODEC(734), 및 무선 제어기(740)는 시스템-인-패키지(system-in-package) 또는 시스템-온-칩(system-on-chip) 디바이스(722)에 포함된다. 특정 실시예에서, 입력 디바이스(730) 및 전원(744)은 시스템-온-칩 디바이스(722)에 커플링된다. 더욱이, 특정 실시예에서, 도 7에 예시된 바와 같이, 디스플레이(728), 입력 디바이스(730), 스피커(들)(736), 마이크로폰(들)(738), 안테나(742), 및 전원(744)은 시스템-온-칩 디바이스(722) 외부에 있다. 그러나, 디스플레이(728), 입력 디바이스(730), 스피커(736), 마이크로폰(738), 안테나(742), 및 전원(744) 각각은, 인터페이스 또는 제어기와 같은, 시스템-온-칩 디바이스(722)의 컴포넌트에 커플링될 수 있다.
[0079] 설명된 실시예들과 함께, 장치는 제 1 크기를 갖는 휘발성 메모리 디바이스, 제 2 크기를 갖는 비-휘발성 메모리 디바이스, 및 프로세서를 포함할 수 있다. 프로세서는, 동작 모드로부터 슬립 모드로의 전이를 개시하도록 그리고 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하도록 구성될 수 있다. 장치는 또한, 개시하는 것에 응답하여 그리고 슬립 모드 동안 휘발성 메모리 디바이스를 디스에이블하기 전에, 데이터를 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 카피하기 위한 수단을 포함할 수 있다. 예를 들어, 카피하기 위한 수단은 도 1의 데이터 전달 모듈(106), 도 2의 데이터 전달 모듈(206), 도 7의 데이터 전달 모듈(770), 도 7의 데이터 전달 모듈(794), 데이터를 카피하도록 구성된 하나 또는 둘 이상의 다른 디바이스들 또는 모듈들, 또는 이들의 임의의 결합을 포함할 수 있다.
[0080] 다른 장치는 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스 및 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스를 포함할 수 있다. 장치는 LPM 컨디션이 충족되는 것에 응답하여, 휘발성 메모리 디바이스로부터 비-휘발성 메모리 디바이스로 판독-전용 데이터의 메모리 맵핑을 업데이트하기 위한 수단을 포함할 수 있다. 예를 들어, 업데이트하기 위한 수단은 도 1 및 도 2의 프로세서(102), 도 7의 프로세서(710), 메모리 맵핑들을 업데이트하도록 구성된 하나 또는 둘 이상의 다른 디바이스들 또는 모듈들(예를 들어, 메모리 제어기, MMU(memory management unit) 등), 또는 이들의 임의의 결합을 포함할 수 있다.
[0081] 장치는 추가로, 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스의 부분을 디스에이블하기 위한 수단을 포함할 수 있다. 예를 들어, 디스에이블하기 위한 수단은 도 7의 전력 제어 모듈(792), 휘발성 메모리 디바이스의 부분을 디스에이블하도록 구성된 하나 또는 둘 이상의 다른 디바이스들 또는 모듈들, 또는 이들의 임의의 결합을 포함할 수 있다.
[0082] 장치는 판독-전용 데이터에 대한 액세스 요청을 휘발성 메모리 디바이스 대신에 비-휘발성 메모리 디바이스로 지향시키기 위한 수단을 포함할 수 있다. 예를 들어, 지향시키기 위한 수단은 도 1 및 도 2의 프로세서(102), 도 7의 프로세서(710), 메모리 액세스들을 지향시키도록 구성된 하나 또는 둘 이상의 다른 디바이스들 또는 모듈들(예를 들어, 메모리 제어기, MMU 등), 또는 이들의 임의의 결합을 포함할 수 있다.
[0083] 장치는 또한, LPM 컨디션이 충족됨을 결정하기 위한 수단을 포함할 수 있다. 예를 들어, 결정하기 위한 수단은 도 7의 전력 제어 모듈(792), LPM 컨디션이 충족되는지를 결정하도록 구성된 하나 또는 둘 이상의 다른 디바이스들 또는 모듈들, 또는 이들의 임의의 결합을 포함할 수 있다.
[0084] 당업자들은, 본 명세서에서 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이, 전자 하드웨어, 프로세서에 의해 실행되는 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수 있다는 것을 추가로 이해할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 일반적으로 그들의 기능성의 관점들에서 앞서 설명되었다. 이러한 기능성이 하드웨어로 구현되는지 프로세서 실행가능 명령들로 구현되는지는 특정 애플리케이션 및 전체 시스템에 부과된 설계 제약들에 따른다. 당업자들은 설명된 기능성을 각각의 특정 애플리케이션에 대해 변화하는 방식들로 구현할 수 있지만, 이러한 구현 결정들은 본원의 범주로부터 벗어나는 것을 야기하는 것으로 해석되지 않아야 한다.
[0085] 본 명세서에서 개시된 실시예들과 관련하여 설명된 알고리즘 또는 방법의 단계들은 직접적으로 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수 있다. 소프트웨어 모듈은 RAM(random access memory), 플래시 메모리, ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM(compact disc read-only memory), 또는 당해 기술 분야에 알려진 임의의 다른 형태의 비-일시적 저장 매체에 존재할 수 있다. 예시적인 저장 매체는 프로세서에 커플링되어서, 프로세서는 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC(application-specific integrated circuit)에 존재할 수 있다. ASIC는 컴퓨팅 디바이스 또는 사용자 단말에 존재할 수 있다. 대안으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에서 이산 컴포넌트들로서 존재할 수 있다.
[0086] 개시된 실시예들의 이전의 설명은, 당업자로 하여금 개시된 실시예들을 이루거나 이용하는 것을 가능하게 하기 위해 제공된다. 이러한 실시예들에 대한 다양한 수정들은 당업자들에게 용이하게 명백해질 것이며, 본 명세서에서 정의된 원리들은 본원의 범주로부터 벗어남이 없이 다른 실시예들에 적용될 수 있다. 따라서, 본원은, 본 명세서에서 도시된 실시예들로 제한되는 것이 아니라, 다음의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범주에 부합하도록 의도된다.

Claims (40)

  1. 방법으로서,
    전자 디바이스에서 동작 모드로부터 슬립 모드로의 전이를 개시하는 단계 ― 상기 전자 디바이스는 제 1 크기를 갖는 휘발성 메모리 디바이스 및 상기 제 1 크기보다 더 크거나 동일한 제 2 크기를 갖는 비-휘발성 메모리 디바이스를 포함함 ―;
    상기 개시하는 단계에 응답하여, 데이터를 상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 카피하는 단계; 및
    상기 슬립 모드 동안 상기 휘발성 메모리 디바이스의 부분을 디스에이블(disable)하는 단계
    를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 카피된 데이터는 데이터 이미지를 포함하는,
    방법.
  3. 제 1 항에 있어서,
    상기 데이터는, 상기 휘발성 메모리 디바이스로부터의 데이터 전달들을 위해 예약된 상기 비-휘발성 메모리 디바이스의 부분으로 카피되는,
    방법.
  4. 제 1 항에 있어서,
    상기 휘발성 메모리 디바이스의 부분을 디스에이블하는 단계는, 상기 휘발성 메모리 디바이스의 부분에 대한 전력을 턴 오프(turn off)하는 단계를 포함하는,
    방법.
  5. 제 1 항에 있어서,
    상기 휘발성 메모리 디바이스는 DRAM(dynamic random access memory)을 포함하는,
    방법.
  6. 제 5 항에 있어서,
    상기 휘발성 메모리 디바이스를 디스에이블하는 단계는, 상기 슬립 모드 동안 상기 휘발성 메모리 디바이스의 리프레시(refresh)를 디스에이블하는 단계를 포함하는,
    방법.
  7. 제 5 항에 있어서,
    상기 DRAM은 DDR(double data rate) 동기 DRAM(SDRAM)을 포함하는,
    방법.
  8. 제 5 항에 있어서,
    상기 비-휘발성 메모리 디바이스는 NOR 플래시 메모리, NAND 플래시 메모리, eMMC(embedded MultiMediaCard), 또는 이들의 임의의 결합을 포함하는,
    방법.
  9. 제 1 항에 있어서,
    상기 슬립 모드로부터 상기 동작 모드로의 전이에 응답하여,
    상기 휘발성 메모리 디바이스의 부분을 인에이블(enable)하는 단계; 및
    데이터를 상기 비-휘발성 메모리 디바이스로부터 상기 휘발성 메모리 디바이스로 카피하는 단계
    를 더 포함하는,
    방법.
  10. 제 9 항에 있어서,
    상기 데이터를 상기 비-휘발성 메모리 디바이스로 카피하기 전의 상기 데이터와 연관된 메모리 맵핑은, 상기 데이터가 상기 비-휘발성 메모리 디바이스로부터 상기 휘발성 메모리 디바이스로 카피된 후에 계속 유효한,
    방법.
  11. 제 9 항에 있어서,
    상기 휘발성 메모리 디바이스의 특정 위치로부터 카피된 데이터 엘리먼트는, 상기 휘발성 메모리 디바이스를 인에이블한 후에, 상기 비-휘발성 메모리 디바이스로부터 상기 휘발성 메모리 디바이스의 상기 특정 위치로 카피되는,
    방법.
  12. 제 9 항에 있어서,
    상기 전자 디바이스는 모바일 폰을 포함하고,
    상기 휘발성 메모리 디바이스는 멀티미디어 데이터와 연관되고,
    상기 모바일 폰은 모뎀 데이터와 연관된 제 2 휘발성 메모리 디바이스를 포함하고, 그리고
    상기 제 2 휘발성 메모리 디바이스는 상기 슬립 모드 동안 계속 인에이블되는,
    방법.
  13. 장치로서,
    제 1 크기를 갖는 휘발성 메모리 디바이스;
    상기 제 1 크기보다 더 크거나 동일한 제 2 크기를 갖는 비-휘발성 메모리 디바이스;
    동작 모드로부터 슬립 모드로의 전이를 개시하고, 상기 슬립 모드 동안 상기 휘발성 메모리 디바이스의 부분을 디스에이블하도록 구성된 프로세서; 및
    상기 개시하는 것에 응답하여 그리고 상기 슬립 모드 동안 상기 휘발성 메모리 디바이스를 디스에이블하기 전에, 데이터를 상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 카피하도록 구성된 데이터 전달 모듈
    을 포함하는,
    장치.
  14. 제 13 항에 있어서,
    상기 데이터 전달 모듈은 하드웨어를 포함하고,
    상기 하드웨어는 상기 휘발성 메모리 디바이스에 그리고 상기 비-휘발성 메모리 디바이스에 커플링되고, 상기 데이터를 상기 프로세서에 전송함이 없이 상기 데이터를 상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 카피하도록 그리고 상기 데이터를 상기 프로세서에 전송함이 없이 상기 데이터를 상기 비-휘발성 메모리 디바이스로부터 상기 휘발성 메모리 디바이스로 카피하도록 구성되는,
    장치.
  15. 제 13 항에 있어서,
    상기 데이터 전달 모듈은 상기 프로세서에 통합되거나, 상기 프로세서에 의해 실행가능하거나, 또는 이들의 임의의 결합인,
    장치.
  16. 제 15 항에 있어서,
    상기 데이터 전달 모듈은 상기 데이터를 상기 프로세서를 통해 상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 카피하도록 그리고 상기 데이터를 상기 프로세서를 통해 상기 비-휘발성 메모리 디바이스로부터 상기 휘발성 메모리 디바이스로 카피하도록 구성되는,
    장치.
  17. 명령들을 포함하는 컴퓨터-판독가능 저장 디바이스로서,
    상기 명령들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    전자 디바이스에서 동작 모드로부터 슬립 모드로의 전이를 개시하고 ― 상기 전자 디바이스는 제 1 크기를 갖는 휘발성 메모리 디바이스 및 상기 제 1 크기보다 더 크거나 동일한 제 2 크기를 갖는 비-휘발성 메모리 디바이스를 포함함 ―;
    상기 개시하는 것에 응답하여, 상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로의 데이터의 카피를 야기하고, 그리고
    상기 슬립 모드 동안 상기 휘발성 메모리 디바이스의 부분을 디스에이블하도록 야기하는,
    명령들을 포함하는 컴퓨터-판독가능 저장 디바이스.
  18. 장치로서,
    제 1 크기를 갖는 휘발성 메모리 디바이스;
    제 2 크기를 갖는 비-휘발성 메모리 디바이스;
    동작 모드로부터 슬립 모드로의 전이를 개시하고, 상기 슬립 모드 동안 상기 휘발성 메모리 디바이스의 부분을 디스에이블하도록 구성된 프로세서; 및
    상기 개시하는 것에 응답하여 그리고 상기 슬립 모드 동안 상기 휘발성 메모리 디바이스를 디스에이블하기 전에, 데이터를 상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 카피하기 위한 수단
    을 포함하는,
    장치.
  19. 방법으로서,
    전자 디바이스에서 LPM(low performance mode) 컨디션이 충족됨을 결정하는 단계 ― 상기 전자 디바이스는 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스 및 상기 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스를 포함함 ―; 및
    상기 LPM 컨디션이 충족되는 것에 응답하여,
    상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 상기 판독-전용 데이터의 메모리 맵핑을 업데이트하는 단계;
    상기 판독-전용 데이터의 제 1 카피를 저장하는 상기 휘발성 메모리 디바이스의 부분을 디스에이블하는 단계; 및
    상기 판독-전용 데이터에 대한 액세스 요청을 상기 휘발성 메모리 디바이스 대신에 상기 비-휘발성 메모리 디바이스로 지향시키는 단계
    를 포함하는,
    방법.
  20. 제 19 항에 있어서,
    상기 LPM 컨디션이 충족됨을 결정하는 단계는, 상기 전자 디바이스의 배터리의 남은 배터리 수명이 임계치 미만임을 결정하는 단계를 포함하는,
    방법.
  21. 제 19 항에 있어서,
    상기 LPM 컨디션이 충족됨을 결정하는 단계는, 상기 LPM으로의 전이를 요청하는 입력을 수신하는 단계를 포함하는,
    방법.
  22. 제 19 항에 있어서,
    상기 판독-전용 데이터의 제 1 카피는 상기 휘발성 메모리 디바이스의 제 1 물리적 어드레스에 저장되고,
    상기 판독-전용 데이터의 제 2 카피는 상기 비-휘발성 메모리 디바이스의 제 2 물리적 어드레스에 저장되고, 그리고
    상기 방법은,
    상기 LPM 동안 상기 제 2 물리적 어드레스를 이용하여 상기 판독-전용 데이터에 액세스하는 단계
    를 더 포함하는,
    방법.
  23. 제 19 항에 있어서,
    상기 LPM 컨디션이 더 이상 충족되지 않는 것을 결정하는 것에 응답하여,
    상기 휘발성 메모리 디바이스의 부분을 인에이블하는 단계; 및
    상기 비-휘발성 메모리 디바이스로부터 상기 휘발성 메모리 디바이스로 상기 판독-전용 데이터의 메모리 맵핑을 업데이트하는 단계
    를 더 포함하는,
    방법.
  24. 제 23 항에 있어서,
    상기 메모리 맵핑을 업데이트하기 전에, 상기 판독-전용 데이터를 상기 비-휘발성 메모리 디바이스로부터 상기 휘발성 메모리 디바이스로 카피하는 단계
    를 더 포함하는,
    방법.
  25. 제 19 항에 있어서,
    상기 비-휘발성 메모리 디바이스는 XIP(execute-in-place) 동작을 지원하는 NOR 플래시 메모리를 포함하고,
    상기 방법은,
    상기 LPM 동안, 상기 NOR 플래시 메모리로부터의 상기 판독-전용 데이터의 하나 또는 둘 이상의 명령들을 실행시키는 단계
    를 더 포함하는,
    방법.
  26. 제 19 항에 있어서,
    상기 메모리 맵핑을 업데이트하기 전에 인터럽트들을 디스에이블하고, 상기 메모리 맵핑을 업데이트한 후에 인터럽트들을 인에이블하는 단계
    를 더 포함하는,
    방법.
  27. 제 19 항에 있어서,
    상기 메모리 맵핑을 업데이트하기 전에 상기 전자 디바이스의 프로세서에서 스레드 스케줄링을 중단(suspend)하고, 상기 메모리 맵핑을 업데이트한 후에 상기 스레드 스케줄링을 재개(resume)하는 단계
    를 더 포함하는,
    방법.
  28. 제 19 항에 있어서,
    상기 메모리 맵핑을 업데이트하기 전에 상기 전자 디바이스의 프로세서에서 멀티-스레드 모드(multi-threaded mode)로부터 단일-스레드 모드(single-threaded mode)로 스위칭하고, 상기 메모리 맵핑을 업데이트한 후에 상기 단일-스레드 모드로부터 상기 멀티-스레드 모드로 스위칭하는 단계
    를 더 포함하는,
    방법.
  29. 제 19 항에 있어서,
    상기 메모리 맵핑을 업데이트하기 전에 상기 전자 디바이스의 프로세서에서 TLB(translation lookaside buffer)의 하나 또는 둘 이상의 엔트리들을 무효화하는 단계
    를 더 포함하는,
    방법.
  30. 제 19 항에 있어서,
    상기 판독-전용 데이터의 제 1 카피를 저장하는 상기 휘발성 메모리 디바이스의 부분을 디스에이블하는 단계는, 상기 LPM 동안 상기 부분의 리프레시를 디스에이블하는 단계를 포함하는,
    방법.
  31. 제 19 항에 있어서,
    상기 판독-전용 데이터의 제 1 카피를 저장하는 상기 휘발성 메모리 디바이스의 부분을 디스에이블하는 단계는, 상기 LPM 동안 상기 부분을 턴 오프하는 단계를 포함하는,
    방법.
  32. 장치로서,
    판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스;
    상기 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스; 및
    프로세서
    를 포함하고,
    상기 프로세서는, LPM(low performance mode)에서,
    상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 상기 판독-전용 데이터의 메모리 맵핑을 업데이트하고,
    상기 판독-전용 데이터의 제 1 카피를 저장하는 상기 휘발성 메모리 디바이스의 부분을 디스에이블하고, 그리고
    상기 판독-전용 데이터에 대한 액세스 요청을 상기 휘발성 메모리 디바이스 대신에 상기 비-휘발성 메모리 디바이스로 지향시키도록 구성되는,
    장치.
  33. 제 32 항에 있어서,
    상기 프로세서는 추가로, LPM 컨디션이 충족되는지를 결정하도록 구성되는,
    장치.
  34. 제 32 항에 있어서,
    상기 휘발성 메모리 디바이스는 추가로 제 2 판독-전용 데이터의 카피를 저장하고, 그리고
    상기 제 2 판독-전용 데이터는 상기 LPM 동안 상기 휘발성 메모리 디바이스에서 액세스되는,
    장치.
  35. 제 32 항에 있어서,
    상기 휘발성 메모리 디바이스는 추가로 판독-기록 데이터의 카피를 저장하고, 그리고
    상기 판독-기록 데이터는 상기 LPM 동안 상기 휘발성 메모리 디바이스에서 액세스되는,
    장치.
  36. 제 35 항에 있어서,
    상기 판독-전용 데이터 및 상기 판독-기록 데이터는 전자 디바이스의 특정 서브시스템과 연관되고, 그리고
    상기 판독-전용 데이터 및 상기 판독-기록 데이터는, 상기 서브시스템에 대응하는 이미지를 발생시키는 링커(linker)에 의해 개별적으로 그룹화되는,
    장치.
  37. 명령들을 포함하는 컴퓨터-판독가능 저장 디바이스로서,
    상기 명령들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    전자 디바이스에서 LPM(low performance mode) 컨디션이 충족되는 것에 응답하여 ― 상기 전자 디바이스는 판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스 및 상기 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스를 포함함 ―,
    상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 상기 판독-전용 데이터의 메모리 맵핑을 업데이트하고,
    상기 판독-전용 데이터의 제 1 카피를 저장하는 상기 휘발성 메모리 디바이스의 부분을 디스에이블하고, 그리고
    상기 판독-전용 데이터에 대한 액세스 요청을 상기 휘발성 메모리 디바이스 대신에 상기 비-휘발성 메모리 디바이스로 지향시키도록 야기하는,
    명령들을 포함하는 컴퓨터-판독가능 저장 디바이스.
  38. 제 37 항에 있어서,
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 상기 LPM 컨디션이 충족됨을 결정하도록 야기하는 명령들
    을 더 포함하는,
    명령들을 포함하는 컴퓨터-판독가능 저장 디바이스.
  39. 장치로서,
    판독-전용 데이터의 제 1 카피를 저장하는 휘발성 메모리 디바이스;
    상기 판독-전용 데이터의 제 2 카피를 저장하는 비-휘발성 메모리 디바이스;
    LPM(low performance mode) 컨디션이 충족되는 것에 응답하여, 상기 휘발성 메모리 디바이스로부터 상기 비-휘발성 메모리 디바이스로 상기 판독-전용 데이터의 메모리 맵핑을 업데이트하기 위한 수단;
    상기 판독-전용 데이터의 제 1 카피를 저장하는 상기 휘발성 메모리 디바이스의 부분을 디스에이블하기 위한 수단; 및
    상기 판독-전용 데이터에 대한 액세스 요청을 상기 휘발성 메모리 디바이스 대신에 상기 비-휘발성 메모리 디바이스로 지향시키기 위한 수단
    을 포함하는,
    장치.
  40. 제 39 항에 있어서,
    상기 LPM 컨디션이 충족됨을 결정하기 위한 수단
    을 더 포함하는,
    장치.
KR1020157019293A 2012-12-22 2012-12-20 비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소 KR20150098649A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/726,066 US9891694B2 (en) 2012-12-22 2012-12-22 Reducing power consumption of volatile memory via use of non-volatile memory
US13/726,066 2012-12-22
PCT/US2013/076827 WO2014100546A1 (en) 2012-12-22 2013-12-20 Reducing power consumption of volatile memory via use of non-volatile memory

Publications (1)

Publication Number Publication Date
KR20150098649A true KR20150098649A (ko) 2015-08-28

Family

ID=49998676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157019293A KR20150098649A (ko) 2012-12-22 2012-12-20 비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소

Country Status (6)

Country Link
US (1) US9891694B2 (ko)
EP (1) EP2936272B1 (ko)
JP (1) JP6250700B2 (ko)
KR (1) KR20150098649A (ko)
CN (1) CN104885034A (ko)
WO (1) WO2014100546A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140082181A (ko) * 2012-12-24 2014-07-02 에스케이하이닉스 주식회사 메모리 시스템
US9454214B2 (en) * 2013-03-12 2016-09-27 Intel Corporation Memory state management for electronic device
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
JP6165008B2 (ja) * 2013-09-25 2017-07-19 キヤノン株式会社 メモリ制御装置、メモリ制御方法、情報機器及びプログラム
WO2015130314A1 (en) 2014-02-28 2015-09-03 Hewlett-Packard Development Company, L.P. Mapping mode shift
US10313506B2 (en) 2014-05-30 2019-06-04 Apple Inc. Wellness aggregator
TWI525428B (zh) * 2014-06-04 2016-03-11 仁寶電腦工業股份有限公司 複合儲存單元的管理方法及其電子裝置
US10747449B2 (en) * 2014-07-31 2020-08-18 Toshiba Memory Corporation Reduction of power use during address translation via selective refresh operations
KR20160025292A (ko) * 2014-08-27 2016-03-08 에스케이하이닉스 주식회사 데이터 저장 장치, 그것을 포함하는 데이터 처리 시스템 및 그것의 동작 방법
US10416750B2 (en) * 2014-09-26 2019-09-17 Qualcomm Incorporated Algorithm engine for ultra low-power processing of sensor data
KR20160060968A (ko) * 2014-11-21 2016-05-31 삼성전자주식회사 디스플레이 장치를 제어하기 위한 사용자 단말 및 이의 제어 방법
KR102246120B1 (ko) * 2014-11-21 2021-04-29 삼성전자주식회사 디스플레이 장치를 제어하기 위한 사용자 단말 및 이의 제어 방법
EP3998762A1 (en) * 2015-02-02 2022-05-18 Apple Inc. Device, method, and graphical user interface for establishing a relationship and connection between two devices
US10042575B2 (en) * 2015-03-06 2018-08-07 Toshiba Memory Corporation Memory system including a battery powered buffer with a storage capacity of that buffer dependent on the voltage level of the battery
US10824362B2 (en) 2015-03-27 2020-11-03 Hewlett Packard Enterprise Development Lp File migration to persistent memory
CN107209720B (zh) * 2015-04-02 2020-10-13 慧与发展有限责任合伙企业 用于页面高速缓存的系统及方法以及存储介质
US9547361B2 (en) * 2015-04-29 2017-01-17 Qualcomm Incorporated Methods and apparatuses for memory power reduction
CN106406493B (zh) * 2015-07-30 2020-04-28 华为技术有限公司 能降低功耗的电子装置及降低电子装置功耗的方法
CN106406492B (zh) * 2015-07-30 2019-10-25 华为技术有限公司 混合存储设备、计算机、控制设备、及降低功耗的方法
KR102443069B1 (ko) 2015-08-12 2022-09-14 삼성전자주식회사 어플리케이션을 실행하기 위한 장치 및 방법
US10452594B2 (en) 2015-10-20 2019-10-22 Texas Instruments Incorporated Nonvolatile logic memory for computing module reconfiguration
WO2017078681A1 (en) * 2015-11-03 2017-05-11 Hewlett-Packard Development Company, L.P. Operating mode memory migration
KR102373544B1 (ko) 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US10331203B2 (en) * 2015-12-29 2019-06-25 Texas Instruments Incorporated Compute through power loss hardware approach for processing device having nonvolatile logic memory
CN105549723A (zh) * 2015-12-30 2016-05-04 联想(北京)有限公司 一种服务器节电控制方法、装置及电子设备节电控制装置
JP6590718B2 (ja) * 2016-02-03 2019-10-16 キヤノン株式会社 情報処理装置及びその制御方法
US10346044B2 (en) * 2016-04-14 2019-07-09 Western Digital Technologies, Inc. Preloading of directory data in data storage devices
US20170322740A1 (en) * 2016-05-09 2017-11-09 Microsoft Technology Licensing, Llc Selective data persistence in computing systems
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
US10873786B2 (en) 2016-06-12 2020-12-22 Apple Inc. Recording and broadcasting application visual output
US11816325B2 (en) 2016-06-12 2023-11-14 Apple Inc. Application shortcuts for carplay
DE102016210661A1 (de) * 2016-06-15 2017-12-21 Continental Automotive Gmbh Stromsparendes Speicherkonzept für Elektronikmodule in einem Kraftfahrzeug
US10359933B2 (en) * 2016-09-19 2019-07-23 Micron Technology, Inc. Memory devices and electronic systems having a hybrid cache including static and dynamic caches with single and multiple bits per cell, and related methods
KR20180094386A (ko) 2017-02-15 2018-08-23 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US10474224B2 (en) * 2017-03-14 2019-11-12 Qualcomm Incorporated Quick energy efficient reboot from ultra-low power mode for a system on a chip
CN108958639B (zh) * 2017-05-19 2021-07-06 华邦电子股份有限公司 快闪存储器存储装置
US11262921B2 (en) * 2017-12-21 2022-03-01 Qualcomm Incorporated Partial area self refresh mode
JP6793316B2 (ja) * 2018-03-30 2020-12-02 パナソニックIpマネジメント株式会社 電子機器、制御方法、及び、プログラム
CN108536271B (zh) * 2018-03-30 2021-07-06 海信视像科技股份有限公司 一种降低功耗的方法、装置及存储介质
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
US10977198B2 (en) * 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
US10817423B2 (en) * 2018-10-10 2020-10-27 Micron Technology, Inc. Memory mapping for hibernation
CN111510996B (zh) * 2019-01-30 2024-01-09 瑞昱半导体股份有限公司 无线通讯电路以及控制无线通讯电路的方法
US11863700B2 (en) 2019-05-06 2024-01-02 Apple Inc. Providing user interfaces based on use contexts and managing playback of media
CN112231716A (zh) * 2019-07-15 2021-01-15 珠海艾派克微电子有限公司 数据的防盗装置和防盗方法
TWI727509B (zh) * 2019-11-20 2021-05-11 瑞昱半導體股份有限公司 具有省電模式且能夠在省電模式盡量省電的通訊裝置
CN112867105B (zh) * 2019-11-27 2024-03-12 瑞昱半导体股份有限公司 具有省电模式且能够在省电模式尽量省电的通信装置
WO2022226840A1 (en) * 2021-04-28 2022-11-03 Micron Technology, Inc. Light hibernation mode for memory
EP4323992A1 (en) 2021-05-15 2024-02-21 Apple Inc. User interfaces for group workouts
US20230031518A1 (en) * 2021-07-30 2023-02-02 Hewlett-Packard Development Company, L.P. Device operational mode blocking
WO2023039899A1 (zh) * 2021-09-18 2023-03-23 华为技术有限公司 一种存储器件中数据存储的方法和一种存储器件
US20230086149A1 (en) * 2021-09-23 2023-03-23 Intel Corporation Reducing memory power usage in far memory
CN116745768A (zh) * 2022-01-10 2023-09-12 华为技术有限公司 一种数据处理方法及电子设备

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909488A (en) 1995-08-22 1999-06-01 Canon Kabushiki Kaisha Communication apparatus having a non-ringing call receiving mode and an energy-saving stand-by mode
US6571333B1 (en) 1999-11-05 2003-05-27 Intel Corporation Initializing a memory controller by executing software in second memory to wakeup a system
AU2552701A (en) 2000-01-13 2001-07-24 Access Co., Ltd. Computer system and power saving control method therefor
JP2002033933A (ja) 2000-07-18 2002-01-31 Matsushita Electric Ind Co Ltd 画像処理装置および画像処理方法
JP4216457B2 (ja) 2000-11-30 2009-01-28 富士通マイクロエレクトロニクス株式会社 半導体記憶装置及び半導体装置
JP2002333933A (ja) * 2001-05-09 2002-11-22 Casio Comput Co Ltd 電源部内蔵型電子機器、プログラムおよび電源制御方法
EP1326160A1 (en) 2002-01-04 2003-07-09 Hewlett-Packard Company, A Delaware Corporation Data processing system and method
WO2003094036A1 (en) 2002-04-30 2003-11-13 Koninklijke Philips Electronics N.V. Method for fetching data from a non-volatile memory in an integrated circuit and corresponding integrated circuit
EP1388864A3 (en) 2002-08-08 2005-02-09 Fujitsu Limited Semiconductor memory device and method for controlling semiconductor memory device
KR100505638B1 (ko) 2002-08-28 2005-08-03 삼성전자주식회사 워킹 콘텍스트 저장 및 복구 장치 및 방법
US7549066B2 (en) 2002-11-15 2009-06-16 Intel Corporation Automatic power savings stand-by control for non-volatile memory
KR20060015329A (ko) 2003-06-03 2006-02-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 비휘발성 메모리로부터의 부팅
US7882299B2 (en) 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
EP1703383A1 (en) 2005-03-18 2006-09-20 Research In Motion Limited Electronic device having an alterable configuration and methods of manufacturing and configuring the device
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7602222B2 (en) 2005-09-30 2009-10-13 Mosaid Technologies Incorporated Power up circuit with low power sleep mode operation
JP2009543467A (ja) 2006-07-05 2009-12-03 アギア システムズ インコーポレーテッド ハンズフリー操作環境を実施するためのシステムおよび方法
US7757060B2 (en) 2006-09-11 2010-07-13 Dell Products L.P. Reducing wake latency time for power conserving state transition
KR20090044872A (ko) * 2007-11-01 2009-05-07 엘지전자 주식회사 휴대용 컴퓨터 및 휴대용 컴퓨터의 절전모드 제어방법
US8145925B2 (en) 2007-12-21 2012-03-27 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
US8281169B2 (en) 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
JP2010124243A (ja) 2008-11-19 2010-06-03 Nec Saitama Ltd 携帯電話機および携帯電話機の送受信データ保存再生方法
US8954977B2 (en) 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
US8321703B2 (en) * 2009-12-12 2012-11-27 Microsoft Corporation Power aware memory allocation
US20110185208A1 (en) 2010-01-28 2011-07-28 Apple Inc. Memory power reduction in a sleep state
JP5610566B2 (ja) 2010-02-22 2014-10-22 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
US9063728B2 (en) 2010-03-17 2015-06-23 Apple Inc. Systems and methods for handling hibernation data
US20120060023A1 (en) 2010-09-06 2012-03-08 Samsung Electronics Co., Ltd. Methods for booting an operating system using non-volatile memory
US9483103B2 (en) 2010-10-22 2016-11-01 Hewlett-Packard Development Company, L.P. Process state of a computing machine
JP5742362B2 (ja) 2011-03-28 2015-07-01 富士通株式会社 退避処理装置
US9009407B2 (en) 2011-03-29 2015-04-14 Dell Products L.P. System and method for performing system memory save in tiered/cached storage
US8788777B2 (en) 2011-05-06 2014-07-22 Marvell World Trade Ltd. Memory on-demand, managing power in memory

Also Published As

Publication number Publication date
JP2016509283A (ja) 2016-03-24
JP6250700B2 (ja) 2017-12-20
US9891694B2 (en) 2018-02-13
EP2936272A1 (en) 2015-10-28
US20140181558A1 (en) 2014-06-26
WO2014100546A1 (en) 2014-06-26
CN104885034A (zh) 2015-09-02
EP2936272B1 (en) 2021-09-22

Similar Documents

Publication Publication Date Title
EP2936272B1 (en) Reducing power consumption of volatile memory via use of non-volatile memory
US11200176B2 (en) Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
US10521003B2 (en) Method and apparatus to shutdown a memory channel
KR102458334B1 (ko) 캐시 이동을 비휘발성 대량 메모리 시스템에 제공하기 위한 장치 및 방법
KR101311116B1 (ko) 비-휘발성 메모리를 구비한 시스템에 대한 전력 예산의 동적 할당
US9032139B2 (en) Memory allocation for fast platform hibernation and resumption of computing systems
US9389673B2 (en) Systems and methods of performing a data save operation
US8914594B2 (en) Systems and methods of loading data from a non-volatile memory to a volatile memory
US10878880B2 (en) Selective volatile memory refresh via memory-side data valid indication
TW201717027A (zh) 用於具有適應性預取之快閃記憶體讀取快取之系統及方法
WO2017123357A1 (en) Non-volatile random access system memory with dram program caching
US20040148481A1 (en) Method and apparatus for memory management
JP2007183961A (ja) ハードディスクドライブキャッシュメモリ及び再生デバイス
JP2018518739A (ja) 異種システムメモリにおけるメモリ消費電力を最適化するためのシステムおよび方法
JP6276470B2 (ja) ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法
US11416398B2 (en) Memory card with volatile and non volatile memory space having multiple usage model configurations
TW201525869A (zh) 用於雙作業系統記憶體切換的系統及方法
US20190042415A1 (en) Storage model for a computer system having persistent system memory
WO2019041903A1 (zh) 一种基于非易失存储的计算装置及其使用方法
JP2009258925A (ja) 計算機システムおよび計算機システムのメモリ管理方法
TW201401046A (zh) 記憶體管理方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid