KR101801123B1 - 메모리 전력 감소를 위한 방법들 및 장치들 - Google Patents

메모리 전력 감소를 위한 방법들 및 장치들 Download PDF

Info

Publication number
KR101801123B1
KR101801123B1 KR1020177031248A KR20177031248A KR101801123B1 KR 101801123 B1 KR101801123 B1 KR 101801123B1 KR 1020177031248 A KR1020177031248 A KR 1020177031248A KR 20177031248 A KR20177031248 A KR 20177031248A KR 101801123 B1 KR101801123 B1 KR 101801123B1
Authority
KR
South Korea
Prior art keywords
data
dram
power
nvram
processor
Prior art date
Application number
KR1020177031248A
Other languages
English (en)
Other versions
KR20170123722A (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 퀄컴 인코포레이티드
Publication of KR20170123722A publication Critical patent/KR20170123722A/ko
Application granted granted Critical
Publication of KR101801123B1 publication Critical patent/KR101801123B1/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/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0054Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/217Hybrid disk, e.g. using both magnetic and solid state storage devices
    • 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/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • Y02B60/1225
    • Y02B60/1228
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

메모리 전력 감소를 위한 방법들 및 장치들이 제공된다. 장치는, DRAM의 데이터를 리프레시하는 것 및 프로세서에 의한 DRAM에 저장된 데이터의 사용과 연관되는 DRAM에 의한 전력 소비에 기반하여, 프로세서에 의한 NVRAM에 저장된 데이터의 사용과 연관되는 NVRAM에 의한 전력 소비에 기반하여, 그리고 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 프로세서의 유휴 상태 동안 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지를 결정한다. NVRAM은 플래시 메모리가 아닌, 일 타입의 비-휘발성 랜덤-액세스 메모리이다. 프로세서는, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지의 결정에 기반하여, 데이터를 DRAM 또는 NVRAM 중 하나에 저장한다.

Description

메모리 전력 감소를 위한 방법들 및 장치들
[0001] 본 출원은, 발명의 명칭이 "METHODS AND APPARATUSES FOR MEMORY POWER REDUCTION"이고 2015년 4월 29일에 출원된 미국 특허 출원 제14/700,017호를 우선권으로 주장하며, 이 미국 특허는 명백하게 인용에 의해 그 전체가 본원에 포함된다.
[0002] 본 개시내용은 일반적으로 전력 감소에 관한 것으로, 더 구체적으로는 메모리 전력 감소에 관한 것이다.
[0003] DRAM(dynamic random access memory)은 비활성인 경우에도 전력을 소비하는 휘발성 메모리인데, 왜냐하면 저장된 정보가 주기적으로 리프레시되어야 하기 때문이다. MRAM(magnetoresistive random-access memory), PRAM(phase-change random-access memory), RRAM(resistive random-access memory), FeRAM(ferroelectric random-access memory), 또는 NRAM(nano-random-access memory)와 같은 NVRAM(non-volatile random access memory)은 비활성일 때에는 DRAM보다 더 적은 전력을 소비하지만, 활성일 때에는 DRAM보다 더 많은 전력을 소비한다. 이러한 메모리 엘리먼트들을 활용하는 SoC(system on a chip)/IC(integrated circuit) 내에서의 전력 감소와 관련하여 DRAM 및 NVRAM과 연관되는 방법들 및 장치가 필요하다.
[0004] 본 개시내용의 양상에서, 메모리 전력 감소 방법 및 메모리 전력 감소를 위한 장치가 제공된다. 장치는, DRAM의 데이터를 리프레시하는 것 및 프로세서에 의한 DRAM에 저장된 데이터의 사용과 연관되는 DRAM에 의한 전력 소비에 기반하여, 프로세서에 의한 NVRAM에 저장된 데이터의 사용과 연관되는 NVRAM에 의한 전력 소비에 기반하여, 그리고 데이터와 연관되는 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 프로세서의 유휴 상태 동안 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지를 결정한다. NVRAM은 플래시 메모리가 아닌, 일 타입의 랜덤-액세스 메모리이다. 프로세서는, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지의 결정에 기반하여, 데이터를 DRAM 또는 NVRAM 중 하나에 저장한다. 장치는 프로세서와 별개의 제어기/프로세서일 수 있거나 또는 그 프로세서일 수 있다.
[0005] 도 1은 다양한 메모리 엘리먼트들을 갖는 SoC를 예시하는 다이어그램이다.
[0006] 도 2는 메모리 전력 감소를 위한 예시적 장치를 예시하는 다이어그램이다.
[0007] 도 3은 상이한 연관된 전력 상태들 동안의 DRAM 및 비-플래시 NVRAM 전류 소비를 예시하는 다이어그램이다.
[0008] 도 4는 메모리 전력 감소를 위한 제1 세트의 예시적 방법들의 흐름도들을 갖는 다이어그램이다.
[0009] 도 5는 메모리 전력 감소를 위한 제2 세트의 예시적 방법들의 흐름도들을 갖는 다이어그램이다.
[0010] 도 6은 메모리 전력 감소를 위한 제3 세트의 예시적 방법들의 흐름도들을 갖는 다이어그램이다.
[0011] 도 7은 메모리 전력 감소를 위한 제4 세트의 예시적 방법들의 흐름도들을 갖는 다이어그램이다.
[0012] 첨부된 도면들과 관련하여 아래에 기재된 상세한 설명은 다양한 구성들의 설명으로서 의도되며, 본원에서 설명된 개념들이 실시될 수 있는 구성들만을 표현하도록 의도되지 않는다. 상세한 설명은 다양한 개념들의 완전한 이해를 제공할 목적으로 특정 세부사항들을 포함한다. 그러나 이러한 개념들은 이러한 특정 세부사항들 없이 실시될 수 있다는 것이 당업자들에게 명백할 것이다. 일부 경우들에서, 잘 알려진 구조들 및 컴포넌트들은 그러한 개념들을 모호하게 하는 것을 방지하기 위해 블록 다이어그램 형태로 도시된다. 장치들 및 방법들은, 다양한 블록들, 모듈들, 컴포넌트들, 회로들, 단계들, 프로세스들, 알고리즘들, 엘리먼트들 등에 의해 다음의 상세한 설명에서 설명될 것이며, 첨부 도면들에서 예시될 수 있다.
[0013] 도 1은 다양한 메모리 엘리먼트들을 갖는 SoC를 예시하는 다이어그램(100)이다. 도 1에 도시된 바와 같이, SoC(102)는 CPU(104)를 포함하며, CPU(104)는 DRAM 제어기(106) 및 플래시 메모리 제어기(116)와 인터페이스한다. DRAM 제어기(106)는 입력/출력 인터페이스(108)를 통해 DRAM(110)과 통신한다. 플래시 메모리 제어기(116)는 입력/출력 인터페이스(118)를 통해 NAND 플래시 메모리(120)와 통신한다. SoC(102)는 PMIC(power management IC)(114)와 통신하는 슬립 제어기(112)를 더 포함한다. PMIC(114)는 DRAM(110) 및 NAND 플래시 메모리(120)에 제공되는 전력을 관리한다.
[0014] CPU(104)의 비활성/슬립 상태 동안, 입력/출력 인터페이스(108), DRAM(110), PMIC(114), 및 슬립 제어기(112)는 DRAM(110)에 저장된 데이터를 리프레시하는 것으로 인해 전력을 소비한다. 일부 데이터를 저장하기 위해 DRAM보다는 비-플래시 메모리 NVRAM을 사용하는 것은 이러한 데이터와 연관하여 CPU(104)의 저전력 상태(예컨대, 비활성 상태, 유휴 상태, 유휴-대기 상태, 슬립 상태) 동안 메모리 엘리먼트들에 의해 소비되는 전력을 감소시킬 수 있다.
[0015] 도 2는 메모리 전력 감소를 위한 예시적 장치를 예시하는 다이어그램(200)이다. 도 2에 도시된 바와 같이, SoC(202)(SoC IC로 또한 지칭됨)는 CPU(204)를 포함하며, CPU(204)는 DRAM 제어기(206), 플래시 메모리 제어기(216), 및 비-플래시 NVRAM 제어기(224)와 인터페이스한다. DRAM 제어기(206)는 입력/출력 인터페이스(208)를 통해 DRAM(210)과 통신한다. 플래시 메모리 제어기(216)는 입력/출력 인터페이스(218)를 통해 NAND 플래시 메모리(220)와 통신한다. 비-플래시 NVRAM 제어기(224)는 입력/출력 인터페이스(226)를 통해 비-플래시 NVRAM(228)과 통신한다. 비-플래시 NVRAM(228)은 MRAM, PRAM, RRAM, FeRAM, 또는 NRAM 중 하나일 수 있다. SoC(202)는 PMIC(214)와 통신하는 슬립 제어기(212)를 더 포함한다. PMIC(214)는 DRAM(210), NAND 플래시 메모리(220), 및 비-플래시 NVRAM(228)에 제공되는 전력을 관리한다. SoC(202)는, DRAM 제어기(206) 및 비-플래시 NVRAM 제어기(224)와 인터페이스하는 SRTA(smart RAM type arbiter)(222)를 더 포함한다. 일 구성에서, SRTA(222)는 CPU(204)와 별개이고 CPU(204)와 인터페이스한다. 다른 구성에서, SRTA(222)는 CPU(204) 내의 모듈이거나 또는 CPU(204)이다. SRTA(222)는, DRAM(210)의 데이터를 리프레시하는 것 및 CPU(204)에 의한 DRAM(210)에 저장된 데이터의 사용과 연관되는 DRAM(210)에 의한 전력 소비에 기반하여, CPU(204)에 의한 비-플래시 NVRAM(228)에 저장된 데이터의 사용과 연관되는 비-플래시 NVRAM(228)에 의한 전력 소비에 기반하여, 그리고 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 데이터를 DRAM(210)에 저장할지 또는 비-플래시 NVRAM(228)에 저장할지를 결정하도록 구성된다. 제1 전력 상태는 고전력 상태일 수 있고, 제2 전력 상태는 저전력 상태일 수 있다. 또한, SRTA(222)는 데이터를 DRAM(210)에 저장할지 또는 비-플래시 NVRAM(228)에 저장할지의 결정에 기반하여, 데이터를 DRAM(210) 또는 비-플래시 NVRAM(228) 중 하나에 저장하도록 구성된다. SRTA(222)는 데이터를 플래시 메모리(220)로부터 DRAM(210) 또는 비-플래시 NVRAM(228)에 로딩/저장할 수 있다. 대안적으로, SRTA(222)는 하나의 메모리로부터 다른 메모리로 데이터를 이동시킬 수 있으며, 따라서, DRAM(210)에 저장된 데이터는 비-플래시 NVRAM(228)으로부터 이동될 수 있고, 비-플래시 NVRAM(228)에 저장된 데이터는 DRAM(210)으로부터 이동될 수 있다. DRAM(210), 비-플래시 NVRAM(228), PMIC(214), 및 플래시 메모리(220)가 SoC(202) 상에 예시되지 않지만, DRAM(210), 비-플래시 NVRAM(228), PMIC(214), 및 플래시 메모리(220) 중 하나 또는 그 초과는 SoC(202) 상에 상주할 수 있다. 예컨대, 일 구성에서, SoC(202)는 또한, DRAM(210), 비-플래시 NVRAM(228), 및 플래시 메모리(220)를 포함한다. 데이터를 DRAM(210)에 저장할지 또는 비-플래시 NVRAM(228)에 저장할지를 결정하는 것과 연관되는 추가의 논의는 도 3 및 도 4와 관련하여 아래에 제공된다.
[0016] 도 3은 상이한 연관된 전력 상태들 동안의 DRAM 및 비-플래시 NVRAM 전류 소비를 예시하는 다이어그램(300)이다. 도 3의 전류 인출 프로파일에 기반하여, 기간(
Figure 112017106682634-pct00001
) 동안의 DRAM에 대한 평균 전류 소비(
Figure 112017106682634-pct00002
)는 아래의 수학식(1)과 같고,
Figure 112017106682634-pct00003
기간(
Figure 112017106682634-pct00004
) 동안의 비-플래시 NVRAM에 대한 평균 전류 소비(
Figure 112017106682634-pct00005
)는 아래의 수학식(2)과 같으며,
Figure 112017106682634-pct00006
이는,
Figure 112017106682634-pct00007
,
Figure 112017106682634-pct00008
, 및
Figure 112017106682634-pct00009
을 가정하면,
Figure 112017106682634-pct00010
과 동일하다. 현재, 비-플래시 NVRAM은 활성 전력 상태들 동안 DRAM보다 15%-20% 더 많은 전류를 소비할 수 있다. 또한, 비-플래시 NVRAM은 DRAM보다 대략 20% 더 큰 기록 레이턴시(write latency)를 가질 수 있어서, 이러한 트랜잭션들에 대한 활성 메모리 타임라인에서 대략 2%의 증가를 초래한다. 따라서, 위의 수학식들은, 비-플래시 NVRAM은 활성 전력 상태들 동안 DRAM보다 20% 더 많은 전류를 소비하고, 비-플래시 NVRAM에 대한 활성 전력 상태들은 DRAM에 대한 활성 전력 상태들보다 2% 더 길다는 것을 가정한다. 가정들이 변화되는 경우, 수학식(3)은 변화된다. 동일한 전압(
Figure 112017106682634-pct00011
)에서, 전력 소비(
Figure 112017106682634-pct00012
)는 동일한 관계를 유지한다. 일 구성에서, SRTA(222)는, (데이터의 사용과 연관하여) 비-플래시 NVRAM에 대한 평균 전류 소비(
Figure 112017106682634-pct00013
)가 DRAM에 대한 평균 전류 소비(
Figure 112017106682634-pct00014
)보다 더 작은 경우에는 데이터를 비-플래시 NVRAM에 저장하도록 구성될 수 있고 그리고 (데이터의 사용과 연관하여) 비-플래시 NVRAM에 대한 평균 전류 소비(
Figure 112017106682634-pct00015
)가 DRAM에 대한 평균 전류 소비(
Figure 112017106682634-pct00016
)보다 더 큰 경우에는 데이터를 DRAM에 저장하도록 구성된다.
Figure 112017106682634-pct00017
인 경우(여기서
Figure 112017106682634-pct00018
는 DRAM에 대한 듀티 사이클임) 또는
Figure 112017106682634-pct00019
인 경우(여기서
Figure 112017106682634-pct00020
은 비-플래시 NVRAM에 대한 듀티 사이클임), DRAM에 대한 평균 전류 소비(
Figure 112017106682634-pct00021
)는 비-플래시 NVRAM에 대한 평균 전류 소비(
Figure 112017106682634-pct00022
)보다 더 작다.
Figure 112017106682634-pct00023
Figure 112017106682634-pct00024
과 동일한 것으로 정의하면, SRTA(222)는,
Figure 112017106682634-pct00025
인 경우 데이터를 DRAM에 저장하도록 그리고
Figure 112017106682634-pct00026
인 경우 데이터를 비-플래시 NVRAM에 저장하도록 구성될 수 있다. 대안적으로,
Figure 112017106682634-pct00027
는 비-플래시 NVRAM의 듀티 사이클에 대해 정의될 수 있고, SRTA(222)는 이러한 정의된
Figure 112017106682634-pct00028
에 기반하여 데이터를 DRAM 또는 비-플래시 NVRAM에 저장하도록 구성될 수 있다.
Figure 112017106682634-pct00029
인 경우, SRTA(222)는 데이터를 DRAM 또는 비-플래시 NVRAM에 저장하도록 구성될 수 있다. 일 구성에서,
Figure 112017106682634-pct00030
인 경우, SRTA(222)는 데이터를 DRAM에 저장하도록 구성될 수 있다. 다른 구성에서,
Figure 112017106682634-pct00031
인 경우, SRTA(222)는, 다른 팩터들, 이를테면, 미래에 데이터와 연관하여 전류 프로파일이 변화되어, 더 많은 평균 전류가 DRAM에 의해 또는 비-플래시 NVRAM에 의해 인출될 가능성에 기반하여 데이터를 DRAM 또는 비-플래시 NVRAM에 저장하도록 구성될 수 있다.
[0017] 도 2 및 도 3을 참조하여 위에서 논의된 바와 같이, SRTA(222)는, DRAM(210)의 데이터를 리프레시하는 것 및 CPU(204)에 의한 DRAM(210)에 저장된 데이터의 사용과 연관되는 DRAM(210)에 의한 전력 소비에 기반하여, CPU(204)에 의한 비-플래시 NVRAM(228)에 저장된 데이터의 사용과 연관되는 비-플래시 NVRAM(228)에 의한 전력 소비에 기반하여, 그리고 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 데이터를 DRAM(210)에 저장할지 또는 비-플래시 NVRAM(228)에 저장할지를 결정할 수 있다. 제1 전력 상태는 고전력 상태일 수 있고, 제2 전력 상태는 저전력 상태일 수 있다. 제1 전력 상태는 DRAM에 대해서는 시간 기간(
Figure 112017106682634-pct00032
) 중 시간 기간(
Figure 112017106682634-pct00033
) 동안이고, 그리고 비-플래시 NVRAM에 대해서는 시간 기간(
Figure 112017106682634-pct00034
) 중 시간 기간(
Figure 112017106682634-pct00035
) 동안이다. 제2 전력 상태는, 시간 기간(
Figure 112017106682634-pct00036
) 중에서, DRAM/비-플래시 NVRAM이 유휴/슬립 상태에 있는 나머지 시간 기간이다. 듀티 사이클은 DRAM(210)의 듀티 사이클(
Figure 112017106682634-pct00037
) 또는 비-플래시 NVRAM(228)의 듀티 사이클(
Figure 112017106682634-pct00038
)일 수 있다. 따라서, SRTA(222)는
Figure 112017106682634-pct00039
Figure 112017106682634-pct00040
, 및
Figure 112017106682634-pct00041
및/또는
Figure 112017106682634-pct00042
에 기반하여, 데이터를 DRAM(210)에 저장할지 또는 비-플래시 NVRAM(228)에 저장할지를 결정할 수 있다. 그 후에, SRTA(222)는, 데이터를 DRAM(210)에 저장할지 또는 비-플래시 NVRAM(228)에 저장할지의 결정에 기반하여, 데이터를 DRAM(210) 또는 비-플래시 NVRAM(228) 중 하나에 저장할 수 있다. SRTA(222)는 CPU(204)와 별개의 제어기/프로세서일 수 있거나, CPU(204) 내의 모듈일 수 있거나, 또는 CPU(204)일 수 있다.
[0018] 일 구성에서, SRTA(222)는, 데이터와 연관하여 DRAM에 의해 인출되는 결정된 평균 전류(
Figure 112017106682634-pct00043
) 또는 데이터와 연관하여 NVRAM에 의해 인출되는 결정된 평균 전류(
Figure 112017106682634-pct00044
)에 기반하여, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정할 수 있다. 구체적으로, SRTA(222)는, 데이터와 연관하여 듀티 사이클(
Figure 112017106682634-pct00045
또는
Figure 112017106682634-pct00046
)에 기반하여, 위에서 언급된
Figure 112017106682634-pct00047
값을 결정하고, 그리고 결정된
Figure 112017106682634-pct00048
값에 기반하여, 데이터와 연관하여 DRAM이 더 많은 전력을 소비하는지 또는 비-플래시 NVRAM이 더 많은 전력을 소비하는지를 결정할 수 있다. 예컨대, 위에서 논의된 바와 같이, SRTA(222)는,
Figure 112017106682634-pct00049
인 경우 데이터를 DRAM에 저장하도록 그리고
Figure 112017106682634-pct00050
인 경우 데이터를 비-플래시 NVRAM에 저장하도록 구성될 수 있다. 일반적으로, SRTA(222)는, 데이터와 연관하여 프로세서의 제1 전력 상태 동안 DRAM에 의해 인출되는 결정된 제1-전력-상태 전류(first-power-state current)(
Figure 112017106682634-pct00051
), 데이터와 연관하여 프로세서의 제2 전력 상태 동안 DRAM에 의해 인출되는 결정된 제2-전력-상태 전류(
Figure 112017106682634-pct00052
), 데이터와 연관하여 DRAM에 의해 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클(
Figure 112017106682634-pct00053
), 데이터와 연관하여 프로세서의 제1 전력 상태 동안 비-플래시 NVRAM에 의해 인출되는 결정된 제1-전력-상태 전류(
Figure 112017106682634-pct00054
)(수학식(3)에 대해
Figure 112017106682634-pct00055
인 것으로 가정됨), 데이터와 연관하여 프로세서의 제2 전력 상태 동안 NVRAM에 의해 인출되는 결정된 제2-전력-상태 전류(
Figure 112017106682634-pct00056
)(수학식(3)에 대해 대략 제로인 것으로 가정됨), 및 데이터와 연관하여 NVRAM에 의해 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클(
Figure 112017106682634-pct00057
) 중 적어도 하나에 기반하여, 데이터와 연관하여 DRAM이 더 많은 전력을 소비하는지 또는 비-플래시 NVRAM이 더 많은 전력을 소비하는지를 결정할 수 있다.
[0019] 일 구성에서, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정하기 위해, SRTA(222)는 데이터에 대한 사용 경우(use case)를 결정할 수 있고, 여기서 사용 경우는 데이터와 연관된 듀티 사이클(
Figure 112017106682634-pct00058
및/또는
Figure 112017106682634-pct00059
), 또는 데이터에 대한 평균 소비 전류(
Figure 112017106682634-pct00060
Figure 112017106682634-pct00061
)를 표시한다. 사용 경우를 결정 시에, SRTA(222)는, 결정된 사용 경우에 기반하여 데이터를 비-플래시 NVRAM에 저장할지 또는 DRAM에 저장할지를 결정하기 위해 사용 경우들과 연관된 룩업 테이블에 액세스할 수 있다. 예컨대, 데이터가 뮤직과 연관되는 경우(뮤직은 비교적 낮은 듀티 사이클을 가질 수 있음), SRTA(222)는 룩업 테이블에 기반하여 데이터가 비-플래시 NVRAM에 저장되어야 한다는 것을 결정할 수 있고, 데이터가 비디오 게임과 연관되는 경우(비디오 게임은 비교적 높은 듀티 사이클을 가질 수 있음), SRTA(222)는 룩업 테이블에 기반하여 데이터가 DRAM에 저장되어야 한다는 것을 결정할 수 있다.
[0020] 사용 경우가 룩업 테이블에 포함되어 있지 않다는 것을 SRTA(222)가 결정하는 경우, SRTA(222)는, 사용 경우가 DRAM 또는 비-플래시 NVRAM에서 더 많은 전력을 소비하는지 또는 더 적은 전력을 소비하는지를 결정하고, 그리고 사용 경우와 연관하여 DRAM이 사용되어야 하는지 또는 비-플래시 NVRAM이 사용되어야 하는지를 표시하는 정보와 함께 사용 경우를 룩업 테이블에 리스팅할 수 있다. 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정할 때, SRTA(222)는 CPU의 초기 부팅 시에 이러한 결정을 한다. 예컨대, CPU의 초기 부팅 시에 보통 DRAM에 로딩되는 데이터의 경우, SRTA(222)는 사용 경우들 및 룩업 테이블에 기반하는 데이터의 서브세트가 DRAM 대신에 비-플래시 NVRAM에 저장되어야 한다는 것을 결정할 수 있다. 그 후에, SRTA(222)는 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정하기 위해 상이한 방법들을 사용할 수 있다.
[0021] SRTA(222)가 룩업 테이블에 액세스하지 못하는 경우, 또는 SRTA(222)가 룩업 테이블에서 사용 경우를 발견할 수 없는 경우, SRTA(222)는 데이터의 세트에 대해 DRAM이 더 많은 전력을 소비하는지 또는 비-플래시 NVRAM이 더 많은 전력을 소비하는지를 결정하기 위해 시험 측정(trial measurement)을 수행할 수 있다. 예컨대, SRTA(222)는 초기에 데이터를 DRAM에 저장하고, 그리고 실시간 메모리 전류 모니터링을 가능하게 하는 임베딩된 전류 센서들로부터의 정보에 기반하여, 데이터와 연관하여 DRAM에서의 DRAM 전력 소비를 결정할 수 있다. CPU가 임계 시간 기간보다 더 오랫동안 데이터에 대해 유휴-대기 상태에 있다는 것을 결정 시에(예컨대,
Figure 112017106682634-pct00062
가 임계치 미만이어서,
Figure 112017106682634-pct00063
가 임계 시간 기간보다 더 큼), SRTA(222)는 데이터를 DRAM으로부터 비-플래시 NVRAM으로 이동시킬 수 있다. 그 후에, SRTA(222)는 데이터와 연관하여 비-플래시 NVRAM에서의 NVRAM 전력 소비를 결정할 수 있다. 그 후에, SRTA(222)는, 비-플래시 NVRAM 전력 소비가 DRAM 전력 소비보다 더 작은 경우, 비-플래시 NVRAM에 저장된 데이터를 유지하도록 결정할 수 있고, 비-플래시 NVRAM 전력 소비가 DRAM 전력 소비보다 더 큰 경우, 데이터를 다시 DRAM으로 이동시키도록 결정할 수 있다. 대안적으로 또는 부가하여, SRTA(222)는, 데이터와 연관하여 DRAM 또는 비-플래시 NVRAM 중 어느 것이 더 낮은 전력 소비를 갖는지에 따라, 이러한 데이터가 DRAM 또는 비-플래시 NVRAM 중 하나에 저장되어야 한다는 것을 표시하는 새로운 사용 경우를 룩업 테이블에서 생성할 수 있다.
[0022] 일 구성에서, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정하기 위해, SRTA(222)는 CPU가 유휴-대기 상태에 있는지 또는 유휴-대기 상태에 있지 않은지를 결정할 수 있다. 그런 다음, SRTA(222)는, CPU가 유휴-대기 상태에 있는 경우 데이터를 비-플래시 NVRAM에 저장하도록 그리고 CPU가 유휴-대기 상태에 있지 않은 경우 데이터를 DRAM에 저장하도록 결정할 수 있다. 예컨대, UE가 사용중이지 않고, UE가 유휴-대기 상태에 있는 경우, SRTA(222)는 데이터를 비-플래시 NVRAM에 저장하도록 결정할 수 있다. 데이터가 이미 DRAM에 저장되어 있는 경우, SRTA(222)는, UE가 유휴-대기 상태에 있다는 것을 결정 시에, 이러한 데이터를 비-플래시 NVRAM으로 이동시킬 수 있다.
[0023] 일 구성에서, UE가 2개 또는 그 초과의 SIM(subscriber identity module) 카드들(즉, 듀얼 SIM 카드들)을 활용하는 경우, SRTA(222)는 데이터를 DRAM에 저장하도록 결정할 수 있고, UE가 단지 하나의 SIM 카드들만을 활용하는 경우, SRTA(222)는 데이터를 비-플래시 NVRAM에 저장하도록 결정할 수 있다. UE가 2개 또는 그 초과의 SIM 카드들을 활용하는 경우, 일부 데이터는 2개 또는 그 초과의 SIM 카드들에 의해 더 빈번하게 액세스될 수 있다. 그러므로, 이러한 데이터를 저장하는 메모리 엘리먼트들은 비교적 더 높은 듀티 사이클을 가질 수 있다. 데이터와 연관하여 비교적 더 높은 듀티 사이클을 갖는 경우, SRTA(222)는 이러한 데이터가 비-플래시 NVRAM보다는 DRAM에 저장되어야 한다는 것을 결정할 수 있다.
[0024] 도 4는 메모리 전력 감소를 위한 제1 세트의 예시적 방법들의 흐름도들을 갖는 다이어그램(400)이다. 방법은 SRTA(222)와 같은 장치에 의해 수행될 수 있다. SRTA(222)는 CPU(204)와 별개의 제어기/프로세서, CPU(204) 내의 모듈, 또는 CPU(204)일 수 있다. 402에서, 메모리 전력 감소를 위한 장치는, DRAM의 데이터를 리프레시하는 것 및 프로세서에 의한 DRAM에 저장된 데이터의 사용과 연관되는 DRAM에 의한 전력 소비에 기반하여, 프로세서에 의한 비-플래시 NVRAM에 저장된 데이터의 사용과 연관되는 비-플래시 NVRAM에 의한 전력 소비에 기반하여, 그리고 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정한다. 위에서 논의된 바와 같이, 비-플래시 NVRAM은 플래시 메모리가 아닌, 일 타입의 랜덤-액세스 메모리이다. 402에 대해, 메모리 전력 감소를 위한 장치는, DRAM/비-플래시 NVRAM과 연관된 전력 소비에 기반하여 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정한다. 제1 구성에서, 전력 소비는 실제 전력 소비가 아닌 추정된 전력 소비일 수 있다. 이러한 구성에서, 메모리 전력 감소를 위한 장치는 데이터와 연관된 듀티 사이클에 기반하여 전력 소비를 추정할 수 있다. 제2 구성에서, 전력 소비는 실제 전력 소비일 수 있다. 이러한 구성에서, 메모리 전력 감소를 위한 장치는 데이터를 저장/액세스하는 것과 연관된 실제 전력 소비를 결정하기 위해, 데이터를 DRAM 및/또는 비-플래시 NVRAM에 저장하고 그리고 데이터에 액세스할 수 있다. 404에서, 장치는 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지의 결정에 기반하여, 데이터를 DRAM 또는 비-플래시 NVRAM 중 하나에 저장한다.
[0025] 일 구성에서, (402에서) 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정하기 위해, 406에서, 장치는, 듀티 사이클에 기반하여, 데이터와 연관하여 DRAM이 더 많은 전력을 소비하는지 또는 비-플래시 NVRAM이 더 많은 전력을 소비하는지를 결정할 수 있다. 부가하여, 408에서, 장치는, 데이터와 연관하여 비-플래시 NVRAM이 DRAM보다 더 많은 전력을 소비하는 경우 데이터를 DRAM에 저장하도록 그리고 데이터와 연관하여 비-플래시 NVRAM이 DRAM보다 더 적은 전력을 소비하는 경우 데이터를 비-플래시 NVRAM에 저장하도록 결정할 수 있다.
[0026] 일 구성에서, 데이터와 연관하여 DRAM이 더 많은 전력을 소비하는지 또는 비-플래시 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 데이터와 연관하여 DRAM에 의해 인출되는 결정된 평균 전류 또는 데이터와 연관하여 비-플래시 NVRAM에 의해 인출되는 결정된 평균 전류 중 적어도 하나에 기반한다. 일 구성에서, 데이터와 연관하여 DRAM이 더 많은 전력을 소비하는지 또는 비-플래시 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 데이터와 연관하여 프로세서의 제1 전력 상태 동안 DRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 데이터와 연관하여 프로세서의 제2 전력 상태 동안 DRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 데이터와 연관하여 DRAM에 의해 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클, 데이터와 연관하여 프로세서의 제1 전력 상태 동안 비-플래시 NVRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 데이터와 연관하여 프로세서의 제2 전력 상태 동안 비-플래시 NVRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 및 데이터와 연관하여 비-플래시 NVRAM에 의해 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클 중 적어도 하나에 기반한다.
[0027] 일 구성에서, (402에서) 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정하기 위해, 410에서, 장치는, 데이터에 대한 사용 경우를 결정할 수 있고, 412에서, 장치는, 결정된 사용 경우에 기반하여 데이터를 비-플래시 NVRAM에 저장할지 또는 DRAM에 저장할지를 결정하기 위해 사용 경우들과 연관된 테이블에 액세스할 수 있다.
[0028] 일 구성에서, 420에서, 장치는, 듀티 사이클과 연관된 제1 전력 상태 동안 주기적으로 DRAM 또는 NVRAM 중 하나로부터 저장된 데이터에 액세스할 수 있다. 예컨대, 도 3을 참조하여, 장치가 데이터의 세트를 DRAM에 저장하도록 결정했다고 가정한다. DRAM 내의 데이터의 세트가 액세스/리프레시될 때, DRAM이 도 3에 도시된 전류 프로파일을 갖는다는 것을 또한 가정한다. 이와 같이, DRAM 내에서, 시간 기간(
Figure 112017106682634-pct00064
) 중 제1 전력 상태의 시간 기간(
Figure 112017106682634-pct00065
) 동안 데이터의 세트와 연관하여
Figure 112017106682634-pct00066
전류가 소비되고, 시간 기간(
Figure 112017106682634-pct00067
) 중 제2 전력 상태(예컨대, 유휴/슬립 상태)의 나머지 시간 기간 동안 데이터의 세트와 연관하여
Figure 112017106682634-pct00068
전류가 소비된다. 420에서 소비되는 평균 전류는, 데이터의 세트가 비-플래시 NVRAM에 저장되었을 경우에 소비되는 평균 전류보다 더 적은데, 왜냐하면, 데이터의 세트를 액세스/리프레시하는 것과 연관하여 DRAM이, 데이터의 세트를 액세스하는 것과 연관하여 비-플래시 NVRAM이 소비하는 것보다 더 적은 전류를 소비할 것으로 장치가 (예컨대, 추정을 통해) 이전에 결정했기 때문이다. 다른 예에서, 도 3을 참조하여, 장치가 데이터의 세트를 비-플래시 NVRAM에 저장하도록 결정했다고 가정한다. 비-플래시 NVRAM 내의 데이터의 세트가 액세스될 때, 비-플래시 NVRAM이 도 3에 도시된 전류 프로파일을 갖는다는 것을 또한 가정한다. 이와 같이, 비-플래시 NVRAM 내에서, 시간 기간(
Figure 112017106682634-pct00069
) 중 제1 전력 상태의 시간 기간(
Figure 112017106682634-pct00070
) 동안 데이터의 세트와 연관하여
Figure 112017106682634-pct00071
전류가 소비되고, 시간 기간(
Figure 112017106682634-pct00072
) 중 제2 전력 상태(예컨대, 유휴/슬립 상태)의 나머지 시간 기간 동안 데이터의 세트와 연관하여
Figure 112017106682634-pct00073
전류가 소비된다. 420에서 소비되는 평균 전류는, 데이터의 세트가 DRAM에 저장되었을 경우에 소비되는 평균 전류보다 더 적은데, 왜냐하면, 데이터의 세트를 액세스하는 것과 연관하여 비-플래시 NVRAM이, 데이터의 세트를 액세스/리프레시하는 것과 연관하여 DRAM이 소비하는 것보다 더 적은 전류를 소비할 것으로 장치가 (예컨대, 추정을 통해) 이전에 결정했기 때문이다.
[0029] 장치가 제1 시간 기간 동안(예컨대, 제1 전력 상태 동안) 주기적으로 DRAM/비-플래시 NVRAM 내의 데이터의 세트에 액세스하는 경우 및 장치가 제2 시간 기간 동안(예컨대, 제2 전력 상태 동안) 주기적으로 데이터의 세트에 액세스하지 않는 경우, DRAM/비-플래시 NVRAM은 도 3에 도시된 전류 프로파일을 가질 수 있다. 예컨대, 데이터의 세트는 뮤직 파일일 수 있다. 장치는 뮤직 파일의 일부를 판독하기 위해 주기적으로 DRAM/비-플래시 NVRAM에 액세스할 수 있으며, 이는 액세스의 시간 동안 DRAM/비-플래시 NVRAM에 의해 더 높은 전류가 소비되는 것을 초래한다. 장치가 DRAM/비-플래시 NVRAM의 뮤직 파일에 액세스하지 않는 시간들 동안에는, DRAM/비-플래시 NVRAM에 의해 더 낮은 전류가 소비될 수 있다.
[0030] 도 5는 메모리 전력 감소를 위한 제2 세트의 예시적 방법들의 흐름도들을 갖는 다이어그램(500)이다. 방법은 SRTA(222)와 같은 장치에 의해 수행될 수 있다. SRTA(222)는 CPU(204)와 별개의 제어기/프로세서, CPU(204) 내의 모듈, 또는 CPU(204)일 수 있다. 502에서, 장치는 사용 경우가 테이블에 포함되어 있지 않다는 것을 결정한다. 504에서, 장치는, 사용 경우가 DRAM 또는 비-플래시 NVRAM에서 더 많은 전력을 소비하는지 또는 더 적은 전력을 소비하는지를 결정한다. 506에서, 장치는, 사용 경우와 연관하여 DRAM이 사용되어야 하는지 또는 비-플래시 NVRAM이 사용되어야 하는지를 표시하는 정보와 함께 사용 경우를 테이블에 리스팅한다. 508에서, 장치는, DRAM의 데이터를 리프레시하는 것 및 프로세서에 의한 DRAM에 저장된 데이터의 사용과 연관되는 DRAM에 의한 전력 소비에 기반하여, 프로세서에 의한 비-플래시 NVRAM에 저장된 데이터의 사용과 연관되는 비-플래시 NVRAM에 의한 전력 소비에 기반하여, 그리고 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정한다. 장치는 410 및 412를 수행함으로써 508을 수행할 수 있다. 510에서, 장치는, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지의 결정에 기반하여, 데이터를 DRAM 또는 비-플래시 NVRAM 중 하나에 저장한다. 일 구성에서, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지의 결정은, 프로세서의 초기 부팅 시에 발생한다.
[0031] 도 6은 메모리 전력 감소를 위한 제3 세트의 예시적 방법들의 흐름도들을 갖는 다이어그램(600)이다. 방법은 SRTA(222)와 같은 장치에 의해 수행될 수 있다. SRTA(222)는 CPU(204)와 별개의 제어기/프로세서, CPU(204) 내의 모듈, 또는 CPU(204)일 수 있다. 602에서, 메모리 전력 감소를 위한 장치는, DRAM의 데이터를 리프레시하는 것 및 프로세서에 의한 DRAM에 저장된 데이터의 사용과 연관되는 DRAM에 의한 전력 소비에 기반하여, 프로세서에 의한 비-플래시 NVRAM에 저장된 데이터의 사용과 연관되는 비-플래시 NVRAM에 의한 전력 소비에 기반하여, 그리고 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정한다. 604에서, 장치는, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지의 결정에 기반하여, 데이터를 DRAM 또는 비-플래시 NVRAM 중 하나에 저장한다.
[0032] (602에서) 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지의 결정에 대해, 606에서, 장치는 데이터를 DRAM에 저장할 수 있다. 부가하여, 608에서, 장치는 데이터와 연관하여 DRAM에서의 DRAM 전력 소비를 결정할 수 있다. 부가하여, 610에서, 장치는, 프로세서가 임계 시간 기간보다 더 오랫동안 데이터에 대해 유휴-대기 상태에 있다는 것을 결정할 수 있다. 부가하여, 612에서, 장치는, 데이터를 DRAM으로부터 비-플래시 NVRAM으로 이동시킬 수 있다. 부가하여, 614에서, 장치는, 데이터와 연관하여 비-플래시 NVRAM에서의 NVRAM 전력 소비를 결정할 수 있다. 부가하여, 616에서, 장치는, NVRAM 전력 소비가 DRAM 전력 소비보다 더 작은 경우, 비-플래시 NVRAM에 저장된 데이터를 유지하도록 결정할 수 있다. 또한, 618에서, 장치는, NVRAM 전력 소비가 DRAM 전력 소비보다 더 큰 경우, 데이터를 다시 DRAM으로 이동시키도록 결정할 수 있다.
[0033] 도 7은 메모리 전력 감소를 위한 제4 세트의 예시적 방법들의 흐름도들을 갖는 다이어그램(700)이다. 방법은 SRTA(222)와 같은 장치에 의해 수행될 수 있다. SRTA(222)는 CPU(204)와 별개의 제어기/프로세서, CPU(204) 내의 모듈, 또는 CPU(204)일 수 있다. 702에서, 메모리 전력 감소를 위한 장치는, DRAM의 데이터를 리프레시하는 것 및 프로세서에 의한 DRAM에 저장된 데이터의 사용과 연관되는 DRAM에 의한 전력 소비에 기반하여, 프로세서에 의한 비-플래시 NVRAM에 저장된 데이터의 사용과 연관되는 비-플래시 NVRAM에 의한 전력 소비에 기반하여, 그리고 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지를 결정한다. 704에서, 장치는 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지의 결정에 기반하여, 데이터를 DRAM 또는 비-플래시 NVRAM 중 하나에 저장한다.
[0034] 일 구성에서, (702에서) 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지의 결정에 대해, 706에서, 장치는, 프로세서가 유휴-대기 상태에 있는지를 결정할 수 있고, 708에서, 장치는, 프로세서가 유휴-대기 상태에 있는 경우 데이터를 비-플래시 NVRAM에 저장하도록 그리고 프로세서가 유휴-대기 상태에 있지 않은 경우 데이터를 DRAM에 저장하도록 결정할 수 있다.
[0035] 일 구성에서, (702에서) 데이터를 DRAM에 저장할지 또는 비-플래시 NVRAM에 저장할지의 결정에 대해, 710에서, 장치는 프로세서가 복수의 SIM 카드들과 연관하여 데이터를 프로세싱하는지를 결정할 수 있고, 712에서, 장치는, 프로세서가 복수의 SIM 카드들과 연관하여 데이터를 프로세싱하는 것으로 결정되는 경우, 데이터를 DRAM에 저장하도록 결정할 수 있다.
[0036] 일 구성에서, 404, 510, 604, 및 704에서, 데이터는 SoC IC 상에 상주하는 플래시 메모리로부터 DRAM 또는 비-플래시 NVRAM으로 로딩된다. SoC IC는 프로세서 및 플래시 메모리를 포함한다. 일 구성에서, 비-플래시 NVRAM은 MRAM, PRAM, RRAM, FeRAM, 또는 NRAM 중 적어도 하나이다. 일 구성에서, 제1 전력 상태는 고전력 상태이고 그리고 제2 전력 상태는 저전력 상태이다.
[0037] 일 구성에서, 메모리 전력 감소를 위한 장치는, DRAM의 데이터를 리프레시하는 것 및 프로세서에 의한 DRAM에 저장된 데이터의 사용과 연관되는 DRAM에 의한 전력 소비에 기반하여, 프로세서에 의한 NVRAM에 저장된 데이터의 사용과 연관되는 NVRAM에 의한 전력 소비에 기반하여, 그리고 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지를 결정하기 위한 수단을 포함한다. NVRAM은 플래시 메모리가 아닌, 일 타입의 랜덤-액세스 메모리이다. 장치는, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지의 결정에 기반하여, 데이터를 DRAM 또는 NVRAM 중 하나에 저장하기 위한 수단을 더 포함한다. 일 구성에서, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지를 결정하기 위해, 결정하기 위한 수단은, 듀티 사이클에 기반하여, 데이터와 연관하여 DRAM이 더 많은 전력을 소비하는지 또는 NVRAM이 더 많은 전력을 소비하는지를 결정하고; 그리고 데이터와 연관하여 NVRAM이 DRAM보다 더 많은 전력을 소비하는 경우, 데이터를 DRAM에 저장하도록 그리고 데이터와 연관하여 NVRAM이 DRAM보다 더 적은 전력을 소비하는 경우, 데이터를 NVRAM에 저장하도록 결정하도록 구성된다. 일 구성에서, 데이터와 연관하여 DRAM이 더 많은 전력을 소비하는지 또는 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 데이터와 연관하여 DRAM에 의해 인출되는 결정된 평균 전류 또는 데이터와 연관하여 NVRAM에 의해 인출되는 결정된 평균 전류 중 적어도 하나에 기반한다. 일 구성에서, 데이터와 연관하여 DRAM이 더 많은 전력을 소비하는지 또는 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 데이터와 연관하여 프로세서의 제1 전력 상태 동안 DRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 데이터와 연관하여 프로세서의 제2 전력 상태 동안 DRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 데이터와 연관하여 DRAM에 의해 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클, 데이터와 연관하여 프로세서의 제1 전력 상태 동안 NVRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 데이터와 연관하여 프로세서의 제2 전력 상태 동안 NVRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 및 데이터와 연관하여 NVRAM에 의해 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클 중 적어도 하나에 기반한다. 일 구성에서, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지를 결정하기 위해, 결정하기 위한 수단은, 데이터에 대한 사용 경우를 결정하고; 그리고 결정된 사용 경우에 기반하여 데이터를 NVRAM에 저장할지 또는 DRAM에 저장할지를 결정하기 위해 사용 경우들과 연관된 테이블에 액세스하도록 구성된다. 일 구성에서, 장치는, 사용 경우가 테이블에 포함되어 있지 않다는 것을 결정하기 위한 수단, 사용 경우가 DRAM 또는 NVRAM에서 더 많은 전력을 소비하는지 또는 더 적은 전력을 소비하는지를 결정하기 위한 수단, 및 사용 경우와 연관하여 DRAM이 사용되어야 하는지 또는 NVRAM이 사용되어야 하는지를 표시하는 정보와 함께 사용 경우를 테이블에 리스팅하기 위한 수단을 더 포함한다. 일 구성에서, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지의 결정은, 프로세서의 초기 부팅 시에 발생한다. 일 구성에서, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지를 결정하기 위해, 결정하기 위한 수단은, 데이터를 DRAM에 저장하고, 데이터와 연관하여 DRAM에서의 DRAM 전력 소비를 결정하고, 프로세서가 임계 시간 기간보다 더 오랫동안 데이터에 대해 유휴-대기 상태에 있다는 것을 결정하고, 데이터를 DRAM으로부터 NVRAM으로 이동시키고, 데이터와 연관하여 NVRAM에서의 NVRAM 전력 소비를 결정하고, NVRAM 전력 소비가 DRAM 전력 소비보다 더 작은 경우 NVRAM에 저장된 데이터를 유지하도록 결정하고, 그리고 NVRAM 전력 소비가 DRAM 전력 소비보다 더 큰 경우 데이터를 다시 DRAM으로 이동시키도록 결정하도록 구성된다. 일 구성에서, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지를 결정하기 위해, 결정하기 위한 수단은, 프로세서가 유휴-대기 상태에 있는지를 결정하고, 그리고 프로세서가 유휴-대기 상태에 있는 경우 데이터를 NVRAM에 저장하도록 그리고 프로세서가 유휴-대기 상태에 있지 않은 경우 데이터를 DRAM에 저장하도록 결정하도록 구성된다. 일 구성에서, 데이터를 DRAM에 저장할지 또는 NVRAM에 저장할지를 결정하기 위해, 결정하기 위한 수단은, 프로세서가 복수의 SIM 카드들과 연관하여 데이터를 프로세싱하는지를 결정하고, 그리고 프로세서가 복수의 SIM 카드들과 연관하여 데이터를 프로세싱하는 것으로 결정되는 경우, 데이터를 DRAM에 저장하도록 결정하도록 구성된다.
[0038] 개시된 프로세스들에서의 단계들의 특정 순서 또는 계층은 예시적인 방식들의 설명임이 이해된다. 설계 선호도들에 기반하여, 프로세스들에서의 단계들의 특정 순서 또는 계층이 재배열될 수 있다는 것이 이해된다. 또한, 일부 단계들은 결합되거나 생략될 수 있다. 첨부한 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제시하며, 제시된 특정 순서 또는 계층으로 제한되는 것을 의미하지 않는다.
[0039] 이전의 설명은 당업자가 본원에서 설명된 다양한 양상들을 실시할 수 있게 하도록 제공된다. 이러한 양상들에 대한 다양한 변형들이 당업자들에게 쉽게 명백할 것이며, 본원에서 정의된 일반 원리들은 다른 양상들에 적용될 수 있다. 따라서, 청구항들은 본원에서 도시된 양상들로 제한되는 것으로 의도되는 것이 아니라 청구항 문언과 일치하는 전체 범위에 따르는 것이며, 여기서 엘리먼트에 대한 단수 언급은 구체적으로 그렇게 언급하지 않는 한 "하나 및 단 하나"를 의미하는 것으로 의도되는 것이 아니라, 그보다는 "하나 또는 그 초과"를 의미하는 것이다. "예시적인"이라는 용어는 "예, 경우 또는 예시로서 기능하는" 것을 의미하도록 본원에서 사용된다. 본원에서 "예시적인" 것으로 설명되는 임의의 양상은 반드시 다른 양상들에 비해 선호되거나 유리한 것으로 해석될 필요는 없다. 구체적으로 달리 언급되지 않는 한, "일부"라는 용어는 하나 또는 그 초과를 의미한다. "A, B, 또는 C 중 적어도 하나", "A, B, 및 C 중 적어도 하나", 및 "A, B, C, 또는 이들의 임의의 조합"과 같은 조합들은, A, B, 및/또는 C의 임의의 조합을 포함하며, 다수의 A, 다수의 B, 또는 다수의 C를 포함할 수 있다. 구체적으로는, "A, B 또는 C 중 적어도 하나," "A, B 및 C 중 적어도 하나," 및 "A, B, C, 또는 이들의 임의의 조합"과 같은 조합들은 A만, B만, C만, A와 B, A와 C, B와 C, 또는 A와 B와 C일 수 있으며, 여기서 이러한 임의의 조합들은 A, B 또는 C 중 하나 또는 그 초과의 멤버 또는 멤버들을 포함할 수 있다. 당업자들에게 알려졌거나 추후에 알려지게 될 본 개시내용 전반에 걸쳐 설명된 다양한 양상들의 엘리먼트들에 대한 모든 구조적 및 기능적 등가물들은, 인용에 의해 본원에 명백히 포함되고, 청구항들에 의해 포함되도록 의도된다. 더욱이, 본원에서 개시된 내용은, 청구항들에 이러한 개시내용이 명시적으로 기재되어 있는지 여부와 관계없이, 공중이 사용하도록 의도되는 것은 아니다. 청구항 엘리먼트가 명백히 "~을 위한 수단"이라는 문구를 사용하여 언급되지 않는 한, 어떠한 청구항 엘리먼트도 수단 + 기능으로서 해석되어야 하는 것은 아니다.

Claims (43)

  1. 장치에 의한 메모리 전력 감소 방법으로서,
    DRAM(dynamic random-access memory)의 데이터를 리프레시하는 것 및 프로세서에 의한 상기 DRAM에 저장된 상기 데이터의 사용과 연관되는 상기 DRAM에 의한 전력 소비에 기반하여, 상기 프로세서에 의한 NVRAM(non-volatile random-access memory)에 저장된 상기 데이터의 사용과 연관되는 상기 NVRAM에 의한 전력 소비에 기반하여, 그리고 상기 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하는 단계 ― 상기 NVRAM은 플래시 메모리가 아닌, 일 타입의 랜덤-액세스 메모리임 ―; 및
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정에 기반하여, 상기 데이터를 상기 DRAM 또는 상기 NVRAM 중 하나에 저장하는 단계를 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  2. 제1 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정은,
    상기 듀티 사이클에 기반하여, 상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지를 결정하는 것, 및
    상기 데이터와 연관하여 상기 NVRAM이 상기 DRAM보다 더 많은 전력을 소비하는 경우 상기 데이터를 상기 DRAM에 저장하도록 그리고 상기 데이터와 연관하여 상기 NVRAM이 상기 DRAM보다 더 적은 전력을 소비하는 경우 상기 데이터를 상기 NVRAM에 저장하도록 결정하는 것을 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  3. 제2 항에 있어서,
    상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 상기 데이터와 연관하여 상기 DRAM에 의해 인출되는 결정된 평균 전류 또는 상기 데이터와 연관하여 상기 NVRAM에 의해 인출되는 결정된 평균 전류 중 적어도 하나에 기반하는,
    장치에 의한 메모리 전력 감소 방법.
  4. 제2 항에 있어서,
    상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 상기 데이터와 연관하여 상기 프로세서의 상기 제1 전력 상태 동안 상기 DRAM에 의해 인출되는 결정된 제1-전력-상태 전류(first-power-state current), 상기 데이터와 연관하여 상기 프로세서의 상기 제2 전력 상태 동안 상기 DRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 상기 데이터와 연관하여 상기 DRAM에 의해 상기 제1 전력 상태 및 상기 제2 전력 상태에서 인출된 전류와 연관된 상기 듀티 사이클, 상기 데이터와 연관하여 상기 프로세서의 상기 제1 전력 상태 동안 상기 NVRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 상기 데이터와 연관하여 상기 프로세서의 상기 제2 전력 상태 동안 상기 NVRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 및 상기 데이터와 연관하여 상기 NVRAM에 의해 상기 제1 전력 상태 및 상기 제2 전력 상태에서 인출된 전류와 연관된 상기 듀티 사이클 중 적어도 하나에 기반하는,
    장치에 의한 메모리 전력 감소 방법.
  5. 제1 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정은,
    상기 데이터에 대한 사용 경우(use case)를 결정하는 것, 및
    결정된 사용 경우에 기반하여 상기 데이터를 상기 NVRAM에 저장할지 또는 상기 DRAM에 저장할지를 결정하기 위해 사용 경우들과 연관된 테이블에 액세스하는 것을 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  6. 제5 항에 있어서,
    사용 경우가 상기 테이블에 포함되어 있지 않다는 것을 결정하는 단계;
    상기 사용 경우가 상기 DRAM 또는 상기 NVRAM에서 더 많은 전력을 소비하는지 또는 더 적은 전력을 소비하는지를 결정하는 단계; 및
    상기 사용 경우와 연관하여 상기 DRAM이 사용되어야 하는지 또는 상기 NVRAM이 사용되어야 하는지를 표시하는 정보와 함께 상기 사용 경우를 상기 테이블에 리스팅하는 단계를 더 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  7. 제5 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정은, 상기 프로세서의 초기 부팅 시에 발생하는,
    장치에 의한 메모리 전력 감소 방법.
  8. 제1 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정은,
    상기 데이터를 상기 DRAM에 저장하는 것,
    상기 데이터와 연관하여 상기 DRAM에서의 DRAM 전력 소비를 결정하는 것,
    상기 프로세서가 임계 시간 기간보다 더 오랫동안 상기 데이터에 대해 유휴-대기 상태(idle-standby state)에 있다는 것을 결정하는 것,
    상기 데이터를 상기 DRAM으로부터 상기 NVRAM으로 이동시키는 것,
    상기 데이터와 연관하여 상기 NVRAM에서의 NVRAM 전력 소비를 결정하는 것,
    상기 NVRAM 전력 소비가 상기 DRAM 전력 소비보다 더 작은 경우, 상기 NVRAM에 저장된 상기 데이터를 유지하도록 결정하는 것, 및
    상기 NVRAM 전력 소비가 상기 DRAM 전력 소비보다 더 큰 경우, 상기 데이터를 다시 상기 DRAM으로 이동시키도록 결정하는 것을 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  9. 제1 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정은,
    상기 프로세서가 유휴-대기 상태에 있는지를 결정하는 것, 및
    상기 프로세서가 상기 유휴-대기 상태에 있는 경우 상기 데이터를 상기 NVRAM에 저장하도록 그리고 상기 프로세서가 상기 유휴-대기 상태에 있지 않은 경우 상기 데이터를 상기 DRAM에 저장하도록 결정하는 것을 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  10. 제1 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정은,
    상기 프로세서가 복수의 SIM(subscriber identity module) 카드들과 연관하여 데이터를 프로세싱 중인지를 결정하는 것, 및
    상기 프로세서가 복수의 SIM 카드들과 연관하여 데이터를 프로세싱 중인 것으로 결정되는 경우, 상기 데이터를 상기 DRAM에 저장하도록 결정하는 것을 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  11. 제1 항에 있어서,
    상기 데이터는 SoC(system on a chip) IC(integrated circuit) 상에 상주하는 플래시 메모리로부터 상기 DRAM 또는 상기 NVRAM으로 로딩되고, 상기 SoC IC는 상기 프로세서 및 상기 플래시 메모리를 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  12. 제1 항에 있어서,
    상기 NVRAM은 MRAM(magnetoresistive random-access memory), PRAM(phase-change random-access memory), RRAM(resistive random-access memory), FeRAM(ferroelectric random-access memory), 또는 NRAM(nano-random-access memory) 중 적어도 하나를 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  13. 제1 항에 있어서,
    상기 제1 전력 상태는 고전력 상태이고 그리고 상기 제2 전력 상태는 저전력 상태인,
    장치에 의한 메모리 전력 감소 방법.
  14. 제1 항에 있어서,
    상기 듀티 사이클과 연관된 상기 제1 전력 상태 동안 주기적으로 상기 DRAM 또는 상기 NVRAM 중 하나로부터 상기 저장된 데이터에 액세스하는 단계를 더 포함하는,
    장치에 의한 메모리 전력 감소 방법.
  15. 메모리 전력 감소를 위한 장치로서,
    DRAM(dynamic random-access memory)의 데이터를 리프레시하는 것 및 프로세서에 의한 상기 DRAM에 저장된 상기 데이터의 사용과 연관되는 상기 DRAM에 의한 전력 소비에 기반하여, 상기 프로세서에 의한 NVRAM(non-volatile random-access memory)에 저장된 상기 데이터의 사용과 연관되는 상기 NVRAM에 의한 전력 소비에 기반하여, 그리고 상기 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위한 수단 ― 상기 NVRAM은 플래시 메모리가 아닌, 일 타입의 랜덤-액세스 메모리임 ―; 및
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정에 기반하여, 상기 데이터를 상기 DRAM 또는 상기 NVRAM 중 하나에 저장하기 위한 수단을 포함하는,
    메모리 전력 감소를 위한 장치.
  16. 제15 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 결정하기 위한 수단은,
    상기 듀티 사이클에 기반하여, 상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지를 결정하고, 그리고
    상기 데이터와 연관하여 상기 NVRAM이 상기 DRAM보다 더 많은 전력을 소비하는 경우 상기 데이터를 상기 DRAM에 저장하도록 그리고 상기 데이터와 연관하여 상기 NVRAM이 상기 DRAM보다 더 적은 전력을 소비하는 경우 상기 데이터를 상기 NVRAM에 저장하도록 결정하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  17. 제16 항에 있어서,
    상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 상기 데이터와 연관하여 상기 DRAM에 의해 인출되는 결정된 평균 전류 또는 상기 데이터와 연관하여 상기 NVRAM에 의해 인출되는 결정된 평균 전류 중 적어도 하나에 기반하는,
    메모리 전력 감소를 위한 장치.
  18. 제16 항에 있어서,
    상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 상기 데이터와 연관하여 상기 프로세서의 상기 제1 전력 상태 동안 상기 DRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 상기 데이터와 연관하여 상기 프로세서의 상기 제2 전력 상태 동안 상기 DRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 상기 데이터와 연관하여 상기 DRAM에 의해 상기 제1 전력 상태 및 상기 제2 전력 상태에서 인출된 전류와 연관된 상기 듀티 사이클, 상기 데이터와 연관하여 상기 프로세서의 상기 제1 전력 상태 동안 상기 NVRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 상기 데이터와 연관하여 상기 프로세서의 상기 제2 전력 상태 동안 상기 NVRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 및 상기 데이터와 연관하여 상기 NVRAM에 의해 상기 제1 전력 상태 및 상기 제2 전력 상태에서 인출된 전류와 연관된 상기 듀티 사이클 중 적어도 하나에 기반하는,
    메모리 전력 감소를 위한 장치.
  19. 제15 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 결정하기 위한 수단은,
    상기 데이터에 대한 사용 경우를 결정하고, 그리고
    결정된 사용 경우에 기반하여 상기 데이터를 상기 NVRAM에 저장할지 또는 상기 DRAM에 저장할지를 결정하기 위해 사용 경우들과 연관된 테이블에 액세스하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  20. 제19 항에 있어서,
    사용 경우가 상기 테이블에 포함되어 있지 않다는 것을 결정하기 위한 수단;
    상기 사용 경우가 상기 DRAM 또는 상기 NVRAM에서 더 많은 전력을 소비하는지 또는 더 적은 전력을 소비하는지를 결정하기 위한 수단; 및
    상기 사용 경우와 연관하여 상기 DRAM이 사용되어야 하는지 또는 상기 NVRAM이 사용되어야 하는지를 표시하는 정보와 함께 상기 사용 경우를 상기 테이블에 리스팅하기 위한 수단을 더 포함하는,
    메모리 전력 감소를 위한 장치.
  21. 제19 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정은, 상기 프로세서의 초기 부팅 시에 발생하는,
    메모리 전력 감소를 위한 장치.
  22. 제15 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 결정하기 위한 수단은,
    상기 데이터를 상기 DRAM에 저장하고,
    상기 데이터와 연관하여 상기 DRAM에서의 DRAM 전력 소비를 결정하고,
    상기 프로세서가 임계 시간 기간보다 더 오랫동안 상기 데이터에 대해 유휴-대기 상태에 있다는 것을 결정하고,
    상기 데이터를 상기 DRAM으로부터 상기 NVRAM으로 이동시키고,
    상기 데이터와 연관하여 상기 NVRAM에서의 NVRAM 전력 소비를 결정하고,
    상기 NVRAM 전력 소비가 상기 DRAM 전력 소비보다 더 작은 경우, 상기 NVRAM에 저장된 상기 데이터를 유지하도록 결정하고, 그리고
    상기 NVRAM 전력 소비가 상기 DRAM 전력 소비보다 더 큰 경우, 상기 데이터를 다시 상기 DRAM으로 이동시키도록 결정하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  23. 제15 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 결정하기 위한 수단은,
    상기 프로세서가 유휴-대기 상태에 있는지를 결정하고, 그리고
    상기 프로세서가 상기 유휴-대기 상태에 있는 경우 상기 데이터를 상기 NVRAM에 저장하도록 그리고 상기 프로세서가 상기 유휴-대기 상태에 있지 않은 경우 상기 데이터를 상기 DRAM에 저장하도록 결정하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  24. 제15 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 결정하기 위한 수단은,
    상기 프로세서가 복수의 SIM(subscriber identity module) 카드들과 연관하여 데이터를 프로세싱 중인지를 결정하고, 그리고
    상기 프로세서가 복수의 SIM 카드들과 연관하여 데이터를 프로세싱 중인 것으로 결정되는 경우, 상기 데이터를 상기 DRAM에 저장하도록 결정하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  25. 제15 항에 있어서,
    상기 데이터는 SoC(system on a chip) IC(integrated circuit) 상에 상주하는 플래시 메모리로부터 상기 DRAM 또는 상기 NVRAM으로 로딩되고, 상기 SoC IC는 상기 프로세서 및 상기 플래시 메모리를 포함하는,
    메모리 전력 감소를 위한 장치.
  26. 제15 항에 있어서,
    상기 NVRAM은 MRAM(magnetoresistive random-access memory), PRAM(phase-change random-access memory), RRAM(resistive random-access memory), FeRAM(ferroelectric random-access memory), 또는 NRAM(nano-random-access memory) 중 적어도 하나를 포함하는,
    메모리 전력 감소를 위한 장치.
  27. 제15 항에 있어서,
    상기 제1 전력 상태는 고전력 상태이고 그리고 상기 제2 전력 상태는 저전력 상태인,
    메모리 전력 감소를 위한 장치.
  28. 제15 항에 있어서,
    상기 듀티 사이클과 연관된 상기 제1 전력 상태 동안 주기적으로 상기 DRAM 또는 상기 NVRAM 중 하나로부터 상기 저장된 데이터에 액세스하기 위한 수단을 더 포함하는,
    메모리 전력 감소를 위한 장치.
  29. 메모리 전력 감소를 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 적어도 하나의 프로세서를 포함하고, 그리고 상기 적어도 하나의 프로세서는,
    DRAM(dynamic random-access memory)의 데이터를 리프레시하는 것 및 프로세서에 의한 상기 DRAM에 저장된 상기 데이터의 사용과 연관되는 상기 DRAM에 의한 전력 소비에 기반하여, 상기 프로세서에 의한 NVRAM(non-volatile random-access memory)에 저장된 상기 데이터의 사용과 연관되는 상기 NVRAM에 의한 전력 소비에 기반하여, 그리고 상기 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하고 ― 상기 NVRAM은 플래시 메모리가 아닌, 일 타입의 랜덤-액세스 메모리임 ―, 그리고
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정에 기반하여, 상기 데이터를 상기 DRAM 또는 상기 NVRAM 중 하나에 저장하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  30. 제29 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 적어도 하나의 프로세서는,
    상기 듀티 사이클에 기반하여, 상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지를 결정하고, 그리고
    상기 데이터와 연관하여 상기 NVRAM이 상기 DRAM보다 더 많은 전력을 소비하는 경우 상기 데이터를 상기 DRAM에 저장하도록 그리고 상기 데이터와 연관하여 상기 NVRAM이 상기 DRAM보다 더 적은 전력을 소비하는 경우 상기 데이터를 상기 NVRAM에 저장하도록 결정하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  31. 제30 항에 있어서,
    상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 상기 데이터와 연관하여 상기 DRAM에 의해 인출되는 결정된 평균 전류 또는 상기 데이터와 연관하여 상기 NVRAM에 의해 인출되는 결정된 평균 전류 중 적어도 하나에 기반하는,
    메모리 전력 감소를 위한 장치.
  32. 제30 항에 있어서,
    상기 데이터와 연관하여 상기 DRAM이 더 많은 전력을 소비하는지 또는 상기 NVRAM이 더 많은 전력을 소비하는지의 결정은 추가로, 상기 데이터와 연관하여 상기 프로세서의 상기 제1 전력 상태 동안 상기 DRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 상기 데이터와 연관하여 상기 프로세서의 상기 제2 전력 상태 동안 상기 DRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 상기 데이터와 연관하여 상기 DRAM에 의해 상기 제1 전력 상태 및 상기 제2 전력 상태에서 인출된 전류와 연관된 상기 듀티 사이클, 상기 데이터와 연관하여 상기 프로세서의 상기 제1 전력 상태 동안 상기 NVRAM에 의해 인출되는 결정된 제1-전력-상태 전류, 상기 데이터와 연관하여 상기 프로세서의 상기 제2 전력 상태 동안 상기 NVRAM에 의해 인출되는 결정된 제2-전력-상태 전류, 및 상기 데이터와 연관하여 상기 NVRAM에 의해 상기 제1 전력 상태 및 상기 제2 전력 상태에서 인출된 전류와 연관된 상기 듀티 사이클 중 적어도 하나에 기반하는,
    메모리 전력 감소를 위한 장치.
  33. 제29 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 적어도 하나의 프로세서는,
    상기 데이터에 대한 사용 경우를 결정하고, 그리고
    결정된 사용 경우에 기반하여 상기 데이터를 상기 NVRAM에 저장할지 또는 상기 DRAM에 저장할지를 결정하기 위해 사용 경우들과 연관된 테이블에 액세스하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  34. 제33 항에 있어서,
    상기 적어도 하나의 프로세서는 추가로,
    사용 경우가 상기 테이블에 포함되어 있지 않다는 것을 결정하고,
    상기 사용 경우가 상기 DRAM 또는 상기 NVRAM에서 더 많은 전력을 소비하는지 또는 더 적은 전력을 소비하는지를 결정하고, 그리고
    상기 사용 경우와 연관하여 상기 DRAM이 사용되어야 하는지 또는 상기 NVRAM이 사용되어야 하는지를 표시하는 정보와 함께 상기 사용 경우를 상기 테이블에 리스팅하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  35. 제33 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정은, 상기 프로세서의 초기 부팅 시에 발생하는,
    메모리 전력 감소를 위한 장치.
  36. 제29 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 적어도 하나의 프로세서는,
    상기 데이터를 상기 DRAM에 저장하고,
    상기 데이터와 연관하여 상기 DRAM에서의 DRAM 전력 소비를 결정하고,
    상기 프로세서가 임계 시간 기간보다 더 오랫동안 상기 데이터에 대해 유휴-대기 상태에 있다는 것을 결정하고,
    상기 데이터를 상기 DRAM으로부터 상기 NVRAM으로 이동시키고,
    상기 데이터와 연관하여 상기 NVRAM에서의 NVRAM 전력 소비를 결정하고,
    상기 NVRAM 전력 소비가 상기 DRAM 전력 소비보다 더 작은 경우, 상기 NVRAM에 저장된 상기 데이터를 유지하도록 결정하고, 그리고
    상기 NVRAM 전력 소비가 상기 DRAM 전력 소비보다 더 큰 경우, 상기 데이터를 다시 상기 DRAM으로 이동시키도록 결정하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  37. 제29 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 적어도 하나의 프로세서는,
    상기 프로세서가 유휴-대기 상태에 있는지를 결정하고, 그리고
    상기 프로세서가 상기 유휴-대기 상태에 있는 경우 상기 데이터를 상기 NVRAM에 저장하도록 그리고 상기 프로세서가 상기 유휴-대기 상태에 있지 않은 경우 상기 데이터를 상기 DRAM에 저장하도록 결정하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  38. 제29 항에 있어서,
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위해, 상기 적어도 하나의 프로세서는,
    상기 프로세서가 복수의 SIM(subscriber identity module) 카드들과 연관하여 데이터를 프로세싱 중인지를 결정하고, 그리고
    상기 프로세서가 복수의 SIM 카드들과 연관하여 데이터를 프로세싱 중인 것으로 결정되는 경우, 상기 데이터를 상기 DRAM에 저장하도록 결정하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  39. 제29 항에 있어서,
    상기 데이터는 SoC(system on a chip) IC(integrated circuit) 상에 상주하는 플래시 메모리로부터 상기 DRAM 또는 상기 NVRAM으로 로딩되고, 상기 SoC IC는 상기 프로세서 및 상기 플래시 메모리를 포함하는,
    메모리 전력 감소를 위한 장치.
  40. 제29 항에 있어서,
    상기 NVRAM은 MRAM(magnetoresistive random-access memory), PRAM(phase-change random-access memory), RRAM(resistive random-access memory), FeRAM(ferroelectric random-access memory), 또는 NRAM(nano-random-access memory) 중 적어도 하나를 포함하는,
    메모리 전력 감소를 위한 장치.
  41. 제29 항에 있어서,
    상기 제1 전력 상태는 고전력 상태이고 그리고 상기 제2 전력 상태는 저전력 상태인,
    메모리 전력 감소를 위한 장치.
  42. 제29 항에 있어서,
    상기 적어도 하나의 프로세서는 추가로, 상기 듀티 사이클과 연관된 상기 제1 전력 상태 동안 주기적으로 상기 DRAM 또는 상기 NVRAM 중 하나로부터 상기 저장된 데이터에 액세스하도록 구성되는,
    메모리 전력 감소를 위한 장치.
  43. 메모리 전력 감소를 위한 컴퓨터 실행가능 코드를 저장하는 비-일시적 컴퓨터-판독가능 저장 매체로서,
    DRAM(dynamic random-access memory)의 데이터를 리프레시하는 것 및 프로세서에 의한 상기 DRAM에 저장된 상기 데이터의 사용과 연관되는 상기 DRAM에 의한 전력 소비에 기반하여, 상기 프로세서에 의한 NVRAM(non-volatile random-access memory)에 저장된 상기 데이터의 사용과 연관되는 상기 NVRAM에 의한 전력 소비에 기반하여, 그리고 상기 데이터와 연관하여 제1 전력 상태 및 제2 전력 상태에서 인출된 전류와 연관된 듀티 사이클에 기반하여, 상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지를 결정하기 위한 코드 ― 상기 NVRAM은 플래시 메모리가 아닌, 일 타입의 랜덤-액세스 메모리임 ―; 및
    상기 데이터를 상기 DRAM에 저장할지 또는 상기 NVRAM에 저장할지의 결정에 기반하여, 상기 데이터를 상기 DRAM 또는 상기 NVRAM 중 하나에 저장하기 위한 코드를 포함하는,
    비-일시적 컴퓨터-판독가능 저장 매체.
KR1020177031248A 2015-04-29 2016-03-28 메모리 전력 감소를 위한 방법들 및 장치들 KR101801123B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/700,017 2015-04-29
US14/700,017 US9547361B2 (en) 2015-04-29 2015-04-29 Methods and apparatuses for memory power reduction
PCT/US2016/024569 WO2016175959A1 (en) 2015-04-29 2016-03-28 Methods and apparatuses for memory power reduction

Publications (2)

Publication Number Publication Date
KR20170123722A KR20170123722A (ko) 2017-11-08
KR101801123B1 true KR101801123B1 (ko) 2017-11-24

Family

ID=55752734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031248A KR101801123B1 (ko) 2015-04-29 2016-03-28 메모리 전력 감소를 위한 방법들 및 장치들

Country Status (7)

Country Link
US (1) US9547361B2 (ko)
EP (1) EP3289426B1 (ko)
JP (1) JP6325181B1 (ko)
KR (1) KR101801123B1 (ko)
CN (1) CN107533351B (ko)
TW (1) TWI596469B (ko)
WO (1) WO2016175959A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9847105B2 (en) 2016-02-01 2017-12-19 Samsung Electric Co., Ltd. Memory package, memory module including the same, and operation method of memory package
US9865323B1 (en) 2016-12-07 2018-01-09 Toshiba Memory Corporation Memory device including volatile memory, nonvolatile memory and controller
US10591975B2 (en) * 2017-10-30 2020-03-17 Qualcomm Incorporated Memory access management for low-power use cases of a system on chip via secure non-volatile random access memory
US11500555B2 (en) * 2020-09-04 2022-11-15 Micron Technology, Inc. Volatile memory to non-volatile memory interface for power management
US20210318965A1 (en) * 2021-06-24 2021-10-14 Karthik Kumar Platform data aging for adaptive memory scaling
TWI796924B (zh) * 2022-01-05 2023-03-21 華邦電子股份有限公司 記憶體裝置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117304A1 (en) 2010-11-05 2012-05-10 Microsoft Corporation Managing memory with limited write cycles in heterogeneous memory systems
US20150106582A1 (en) 2013-10-14 2015-04-16 Electronics And Telecommunications Research Institute Apparatus and method for managing data in hybrid memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687382A (en) * 1995-06-07 1997-11-11 Hitachi America, Ltd. High speed, reduced power memory system implemented according to access frequency
US8396515B2 (en) 2007-11-30 2013-03-12 Symbol Technologies, Inc. Dynamic battery capacity allocation for data retention among mobile computers and electronic devices
US9063728B2 (en) 2010-03-17 2015-06-23 Apple Inc. Systems and methods for handling hibernation data
US8412479B2 (en) 2010-06-29 2013-04-02 Intel Corporation Memory power estimation by means of calibrated weights and activity counters
JP5553309B2 (ja) * 2010-08-11 2014-07-16 国立大学法人 東京大学 データ処理装置
KR101713051B1 (ko) 2010-11-29 2017-03-07 삼성전자주식회사 하이브리드 메모리 시스템, 및 그 관리 방법
US8482992B2 (en) * 2011-07-28 2013-07-09 Elite Semiconductor Memory Technology Inc. Method of controlling operations of a delay locked loop of a dynamic random access memory
CN103946811B (zh) * 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US9047090B2 (en) * 2012-08-07 2015-06-02 Qualcomm Incorporated Methods, systems and devices for hybrid memory management
CN104380259B (zh) * 2012-10-17 2018-09-21 华为技术有限公司 降低内存系统功耗的方法和内存控制器
KR20150098649A (ko) 2012-12-22 2015-08-28 퀄컴 인코포레이티드 비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소
US9032139B2 (en) 2012-12-28 2015-05-12 Intel Corporation Memory allocation for fast platform hibernation and resumption of computing systems
WO2014146843A1 (en) * 2013-03-22 2014-09-25 St-Ericsson Sa Calculating power consumption of electronic devices
JP6335616B2 (ja) 2013-04-30 2018-05-30 株式会社半導体エネルギー研究所 半導体装置
JP2015014836A (ja) * 2013-07-03 2015-01-22 富士ゼロックス株式会社 メモリ制御装置及び情報処理装置
US9361968B2 (en) * 2014-01-15 2016-06-07 Lenovo (Singapore) Pte. Ltd. Non-volatile random access memory power management using self-refresh commands
US9507714B2 (en) * 2014-03-27 2016-11-29 Intel Corporation Managed runtime extensions to reduce power consumption in devices with hybrid memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117304A1 (en) 2010-11-05 2012-05-10 Microsoft Corporation Managing memory with limited write cycles in heterogeneous memory systems
US20150106582A1 (en) 2013-10-14 2015-04-16 Electronics And Telecommunications Research Institute Apparatus and method for managing data in hybrid memory

Also Published As

Publication number Publication date
EP3289426A1 (en) 2018-03-07
TW201706774A (zh) 2017-02-16
CN107533351B (zh) 2020-11-03
EP3289426B1 (en) 2020-10-28
JP2018518741A (ja) 2018-07-12
WO2016175959A1 (en) 2016-11-03
KR20170123722A (ko) 2017-11-08
TWI596469B (zh) 2017-08-21
US20160320826A1 (en) 2016-11-03
CN107533351A (zh) 2018-01-02
US9547361B2 (en) 2017-01-17
JP6325181B1 (ja) 2018-05-16

Similar Documents

Publication Publication Date Title
KR101801123B1 (ko) 메모리 전력 감소를 위한 방법들 및 장치들
CN107210057B (zh) 具有自刷新节电模式的固态驱动器
CN108140406B (zh) 用于存储器的自刷新的方法及相关设备
US9104413B2 (en) System and method for dynamic memory power management
US10175995B1 (en) Device hibernation control
US20140184619A1 (en) System-on-chip performing dynamic voltage and frequency scaling
CN104885034A (zh) 经由使用非易失性存储器来降低易失性存储器的功耗
US11520498B2 (en) Memory management to improve power performance
US8769319B2 (en) Reducing power consumption in memory line architecture
US10976800B2 (en) Electronic device capable of reducing power consumption and method for reducing power consumption of electronic device
JP6276470B2 (ja) ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法
US20140310552A1 (en) Reduced-power sleep state s3
US9959075B2 (en) System and method for flush power aware low power mode control in a portable computing device
CN107728934A (zh) 存储器控制器及包括其的存储系统
AU2017247094A1 (en) Enhanced dynamic clock and voltage scaling (DCVS) scheme
TW201716925A (zh) 於可攜帶計算裝置中用於快取感知低功率模式控制之系統及方法
US10203749B2 (en) Method and apparatus for saving power, including at least two power saving modes
US10430096B2 (en) Hybrid storage device, computer, control device, and power consumption reduction method
US11043256B2 (en) High bandwidth destructive read embedded memory

Legal Events

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