KR101665611B1 - 컴퓨터 시스템 및 메모리 관리의 방법 - Google Patents

컴퓨터 시스템 및 메모리 관리의 방법 Download PDF

Info

Publication number
KR101665611B1
KR101665611B1 KR1020147034343A KR20147034343A KR101665611B1 KR 101665611 B1 KR101665611 B1 KR 101665611B1 KR 1020147034343 A KR1020147034343 A KR 1020147034343A KR 20147034343 A KR20147034343 A KR 20147034343A KR 101665611 B1 KR101665611 B1 KR 101665611B1
Authority
KR
South Korea
Prior art keywords
memory
data
mode
type
power
Prior art date
Application number
KR1020147034343A
Other languages
English (en)
Other versions
KR20150017725A (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 KR20150017725A publication Critical patent/KR20150017725A/ko
Application granted granted Critical
Publication of KR101665611B1 publication Critical patent/KR101665611B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/10Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)

Abstract

컴퓨터 시스템에서 메모리 관리를 위한 컴퓨터 시스템들 및 방법들이 제공된다. 컴퓨터 시스템은 집적 회로를 포함하는데, 여기서 상기 집적 회로는 프로세싱 유닛 및 상기 프로세싱 유닛과 결합된 메모리 제어기를 포함한다. 상기 메모리 제어기는 상기 메모리 제어기를 제 1 메모리 및 제 2 메모리와 각각 결합하도록 구성된 제 1 인터페이스 및 제 2 인터페이스를 포함한다. 상기 제 2 인터페이스는 상기 제 1 인터페이스와 분리된다. 상기 컴퓨터 시스템은 상기 제 1 인터페이스를 통해 상기 메모리 제어기와 결합된 제 1 메모리 타입의 상기 제1 메모리를 더 포함한다. 상기 컴퓨터 시스템은 상기 제 2 인터페이스를 통해 메모리 제어기와 결합되는 제 2 메모리를 더 포함하고, 여기서 상기 제 2 메모리는 상기 제 1 메모리 타입과 다른 전력 소모 특징을 가지는 제 2 메모리 타입이다.

Description

컴퓨터 시스템 및 메모리 관리의 방법{COMPUTER SYSTEM AND METHOD OF MEMORY MANAGEMENT}
[관련 출원의 상호 참조]
본 출원은 "혼합형 DDR SDRAM을 가진 비용/전력 민감 플랫폼들(COST/POWER SENSITIVE PLATFORMS HAVING MIXED TYPES OF DDR SDRAM)"이라는 명칭의 2012년 5월 8일자로 출원된 미국 가출원 번호 제61/644,359호, 및 "혼합형 DDR SDRAM을 가진 비용/전력 민감 플랫폼들(COST/POWER SENSITIVE PLATFORMS HAVING MIXED TYPES OF DDR SDRAM)"이라는 명칭의 2012년 10월 24일자로 출원된 미국 가출원 번호 제61/717,884호의 우선권을 주장하며, 상기 출원들은 그 전체가 본 명세서에 포함된다.
[기술분야]
본원에 기술된 기술은 일반적으로 컴퓨터 시스템 및 메모리 관리의 방법, 특히, 다수의 서로 다른 메모리 타입들의 조합을 사용하는 컴퓨터 아키텍쳐에 관한 것이다.
SDRAM(Sychronous dynamic random access memory)는 컴퓨터 시스템의 시스템 버스와 동기화되는 DRAM(dynamic random access memory)이다. SDRAM은 이 SDRAM으로 하여금 제어 입력들에 응답하기 전에 클럭 신호를 기다리게 하는 동기 인터페이스를 활용함으로써, SDRAM을 컴퓨터 시스템의 시스템 버스와 동기화한다. SDRAM 모듈의 데이터 저장 영역은 SDRAM 모듈로 하여금 여러 메모리 액세스 명령들을 동시에 프로세스하게 하며 여러 뱅크들 사이에서 인터리브된(interleaved) 여러 뱅크들로 나눠진다. 다수의 뱅크들의 사용은 SDRAM으로 하여금 비동기식 DRAM보다 더 높은 데이터 액세스 비율을 가지게 한다. LPDDR(low power DDR)(즉, 모바일 DDR)및 DDR SDRAM(double data rate synchronous dynamic random access memory)를 포함하여, 시장(market)에서 사용할 수 있는 SDRAM에는 여러 종류들(즉, 가족들(families))이 있다. SDRAM의 서로 다른 종류들은 특정 면(예를 들어, 그 중에서도 속도, 전력 소모, 가격)에 있어서 서로 다르다.
상기 설명은 이 분야의 관련 기술의 일반적인 개요를 제시한 것으로, 여기에 포함된 정보 중 어느 것도 본 특허 출원에 대한 종래 기술을 구성하는 것으로 해석되어서는 안된다.
컴퓨터 시스템들의 예들 및 컴퓨터 시스템에서 메모리 관리를 위한 방법들을 제공한다. 컴퓨터 시스템은 집적 회로를 포함하는데, 여기서 상기 집적 회로는 프로세싱 유닛 및 상기 프로세싱 유닛과 결합된 메모리 제어기를 포함한다. 상기 메모리 제어기는 상기 메모리 제어기를 제 1 메모리 및 제 2 메모리와 각각 결합하도록 구성된 제 1 인터페이스 및 제 2 인터페이스를 포함한다. 상기 제 2 인터페이스는 상기 제 1 인터페이스와 분리된다. 상기 컴퓨터 시스템은 상기 제 1 인터페이스를 통해 상기 메모리 제어기와 결합된 제 1 메모리 타입의 상기 제1 메모리를 더 포함한다. 상기 컴퓨터 시스템은 상기 제 2 인터페이스를 통해 메모리 제어기와 결합되는 제 2 메모리를 더 포함하고, 여기서 상기 제 2 메모리는 상기 제 1 메모리 타입과 다른 전력 소모 특징을 가지는 제 2 메모리 타입이다.
다른 예로서, 컴퓨터 시스템에서 메모리 관리에 대한 방법은 운영 체제의 동작의 모드를 결정하는 단계를 포함한다. 상기 동작의 모드가 제 1 모드이면, 제 1 메모리 타입의 제 1 메모리가 턴 오프된다. 상기 제 1 메모리는 제 2 메모리와 다른 메모리 타입이고, 상기 제 2 메모리는 상기 제 1 메모리 타입의 전력 소모 특징과 다른 전력 소모 특징을 가지는 제 2 메모리 타입이다. 상기 동작의 모드가 상기 제 1 모드가 아니면, 데이터를 상기 제 1 메모리로 또는 상기 제 2 메모리로 저장할지 여부에 대한 결정이 이루어진다. 상기 결정은 상기 컴퓨터 시스템상에서 실행되고 있는 프로세스의 메모리 요구, 상기 프로세스의 타입 - 상기 프로세스의 타입은 상기 프로세스에 의해 조작된 데이터 타입 또는 상기 프로세스에 의해 생성된 데이터 타입을 나타냄-, 상기 데이터가 상기 프로세스의 완료시 유지되어야할지 여부, 또는 상기 데이터가 상기 운영 체제의 상기 제 1 모드 동안에 유지되어야할지 여부에 근거한다.
도 1은 집적회로와 결합된 제 1 메모리 및 제 2 메모리를 포함하는 예시적인 컴퓨터 아키텍쳐를 도시한다.
도 2는 하나 이상의 LPDDR SDRAM PoP/개별 디바이스들 및 어플리케이션 프로세서 또는 셀룰러 프로세서(cellular processor)와 결합된 하나 이상의 DDR SDRAM 디바이스들을 포함하는 다른 예시적인 컴퓨터 아키텍쳐를 도시한다.
도 3은 핸드헬드 디바이스에서 사용되는 어플리케이션 프로세서 또는 셀룰러 프로세서 및 DDR SDRAM의 예시적인 사용 사례들의 정보를 포함하는 표를 도시한다.
도 4는 DDR SDRAM의 복수의 서로 다른 종류들을 포함하는 컴퓨터 아키텍쳐를 위한 소프트웨어 관리 방법의 예시적인 로직을 도시하는 흐름도이다.
도 5는 제 1 메모리 및 제 2 메모리와 각각 결합된 제 1 메모리 제어기 및 제 2 메모리 제어기를 포함하는 예시적인 컴퓨터 아키텍쳐를 도시한다.
도 6은 본 발명의 일 실시예에 따른 컴퓨터 시스템에서 메모리 관리를 위한 예시적인 방법의 단계들을 도시하는 흐름도이다.
도 1은 집적 회로(106)와 결합된 제 1 메모리(102) 및 제 2 메모리(104)를 포함하는 예식적인 컴퓨터 아키텍쳐(100)를 도시한다. 제 1 메모리(102) 및 제 2 메모리(104)는 집적 회로(106)의 외부에 있으며, 제 1 인터페이스(110) 및 제 2 인터페이스(112)를 통해 집적 회로(106)의 메모리 제어기(108)와 각각 결합된다. 일 실시예에서, 제 1 인터페이스(110) 및 제 2 인터페이스(112)는 서로 분리되고, 예를 들어, 메모리 제어기(108)로부터 분리되거나 물리적으로 메모리 제어기(108)로 통합된다. 제 1 메모리(102)는 예를 들어, 하나 이상의 DDR2, DDR3, DDR3L, DDR3U, DDR4 SDRAM 디바이스들을 포함하고, 제 2 메모리(104)는 예를 들어, 하나 이상의 LPDDR2, LPDDR3, LPDDR4, 모바일 DDR 또는 Widel/O SDRAM 디바이스들 포함한다. 집적 회로(106)는 또한 프로세싱 유닛(114)을 포함한다. 일 실시예에서, 프로세싱 유닛(114)은 내부 또는 외부 인터럽트(interrupt)들에 의해 구동되는 태스크들을 프로세싱할 수 있는 범용 프로세서이다. 프로세싱 유닛(114)은 집적 회로(106)의 일 실시예에서 다양항 입력 디바이스들 및 출력 디바이스들(예를 들어, 키보드, 터치패드, 디스플레이 디바이스, 스피커들, 등)과 연결된다.
예시적인 컴퓨터 아키텍쳐(100)가 단일 프로세싱 유닛(114)을 포함하는 것으로서 집적 회로(106)를 도시할지라도, 다른 예시에서, 복수의 프로세싱 코어(core)들이 컴퓨터 프로그램들의 명령어들을 실행하는데 사용된다. 또한, 예시적인 컴퓨터 아키텍쳐(100)가 제 1 메모리(102) 및 제 2 메모리(104)와 결합되는 단일 메모리 제어기(108)를 도시할지라도, 다른 실시예들에서는 메모리들(102 및 104)의 각각이 서로 다른 메모리 제어기와 결합된다. 일 실시예에서, 집적 회로(106)는 프로세싱 유닛(114), 메모리 제어기(108), 인터페이스들(110 및 112) 및 다양한 다른 컴포넌트들을 단일 칩으로 통합하는 SoC(system on a chip)이다. 일 실시예에서, 집적 회로(106)는 배터리-소모(battery-consuming) 모바일 디바이스(예를 들어, 그들 중에서 핸드헬드 컴퓨팅 디바이스, 스마트폰, 휴대전화(cellular telephone), PDA(personal data assistant), 태블릿 컴퓨터, 또는 랩톱 컴퓨터)의 부분 또는 임의의 다른 종류의 컴퓨터 시스템(예를 들어, 데스크톱 컴퓨터, 서버, 등)이다.
도 1의 예시적인 컴퓨터 아키텍쳐(100)에서, 프로세싱 유닛(114)은 메모리 제어기(108) 및 인터페이스들(110 및 112)을 통해 제 1 메모리(102) 및 제 2 메모리(104)와 각각 결합된다. 프로세싱 유닛(114)이 제 1 메모리(102) 또는 제 2 메모리(104)를 액세스해야 하면, 판독 요청 또는 기입 요청이 프로세싱 유닛(114)으로부터 메모리 제어기(108)로 전송되고, 메모리 제어기(108)는 대응하는 판독 요청 또는 기입 요청을 차례로 제 1 메모리(102) 또는 제 2 메모리(104)로 전송한다. 결과적으로, 프로세싱 유닛(114)의 데이터는 제 1 메모리(102) 또는 제 2 메모리(104)에 기입되고, 데이터는 제 1 메모리(102) 또는 제 2 메모리(104)로부터 프로세싱 유닛(114)으로 판독된다.
도 1의 예시적인 컴퓨터 아키텍쳐(100)에서, 제 1 메모리(102) 및 제 2 메모리(104)는 2개의 서로 다른 타입들(즉, 가족들)의 메모리이고, 이 서로 다른 타입 메모리들은 특정한 면에서 변하는 특징을 지닌다. 예를 들어, 일 실시예에서, 제 2 메모리(104)는 대기 모드에서 동작할 때, 제 1 메모리(102)에 비해, 적은 양의 전력을 소모한다. 대기 모드는 데이터 값들을 홀딩(holding)(즉, 유지)하는데 사용된 저전력 모드이고, 데이터는 이러한 모드 동안에 메모리로부터 판독되지 않거나 메모리에 기입되지 않는다. 일 실시예에서, 제 1 메모리(102) 및 제 2 메모리(104)는 활성, 일반 사용 모드 동안에 유사한 양의 전력을 소모한다. 유사하게, 일 실시예에서, 상기 메모리들(102 및 104)은 헤비 사용(heavy use), 멀티미디어 모드 동안에 유사한 양의 전력을 소모한다. 상기 활성, 일반 사용 모드, 헤비 사용 및 멀티미디어 모드 동안에, 데이터는 메모리로부터 판독되고, 메모리로 기입되며, 메모리에 홀딩된다. 제 1 메모리(102) 및 제 2 메모리(104)는 일 실시예에서 비용면에서 다른데, 제 1 메모리(102)는 제 2 메모리(104)에 비해 낮은 비용을 갖는다. 일 실시예에서, 제 1 메모리(102) 및 제 2 메모리(104)의 조합과 그들의 변하는 전력 소모와 비용 특징을 함께 활용함으로써, 도 1의 예시적인 컴퓨터 아키텍쳐(100)가 전력 소모 및 비용에 대해 동시에 최적화된다. 일 실시예에서, 전력 소모 및 비용은 데이터 사용 예측에 따라 한 타입의 메모리 또는 다른 타입의 메모리에서 데이터를 선택적으로 저장 및 액세싱하여 서로 다른 메모리들의 변하는 전력 소모 특징들을 활용함으로써 더 최적화된다. 데이터의 선택적인 저장 및 액세싱은 일 실시예에서 OS(operating system) 또는 어플리케이션에 의해 제어된다.
구체적으로, 일 예시에서, 컴퓨터 아키텍쳐(100)의 비용 및 전력 소모 특징들은 특정 기준에 따라 제 1 메모리(102)를 동적으로 턴온 및 오프함으로써 동시에 최적화된다. 본 예시에서, 더 높은 비용과 더 적은-전력-소모의 제 2 메모리(104)가 턴 온되고 실질적으로 모든 시간에 동작한다(즉, 제 2 메모리(104)가 턴 온되고 대기 모드, 일반 사용 모드 및 헤비 사용, 멀티미디어 모드의 각각 동안에 동작한다). 또한, 일 실시예에서, 좀 더 비싼 제 2 메모리(104)를 비교적 작게하고, 예를 들어, SoC가 저전력 상태에 있을 때에도 액세스하기 위해 계속 이용가능해야 할 데이터의 사용만을 위해 상기 제 2 메모리(104)를 유지 시킴으로써 비용이 감소된다. 반대로, 더 낮은 비용, 더 높은 전력 소모 제 1 메모리(102)는 턴 온되고 선택 시간에만 동작하거나, 그렇지 않으면 턴 오프된다. 이러한 방식으로 선택적으로 제 1 메모리(102)를 턴 온 및 오프하는 것은 집적 회로(106)로 하여금 대기 모드 동안에 더 적은 전력을 소모하도록 하기 위해 수행되며, 동시에 집적 회로(106)로 하여금 헤비 사용, 멀티 미디어 모드를 위한 그것의 메모리를 비용-효율 방식으로 확대하게 한다. 제 1 메모리(102)는 전력을 제 1 메모리(102)로 인가하지 않음으로써 턴오프된다. 따라서, 제 1 메모리(102)는 제 1 메모리(102)의 셀프-리프레쉬(self-refresh) 전류 및 누설 전류를 제거하거나 낮춘다.
a) 제 1 메모리(102)는 턴 오프되는지 또는 턴 온되는지 및 b) 데이터가 제 1 메모리(102)에 저장될 것인지 또는 제 2 메모리(104)에 저장될 것인지의 결정들은 하나 이상의 기준에 근거하여 이루어진다. 이 기준은 프로세싱 유닛(114) 상에서 실행되고 있는 OS의 동작의 모드, 프로세싱 유닛(114) 상에서 실행되고 있는 프로세스의 타입, 상기 프로세스의 메모리 요구(demand) 및 데이터가 상기 프로세스의 완료시 유지될 것인지의 여부를 포함하지만, 이에 한정되지 않는다. 일 예시에서, 상기 OS가 동작의 대기 모드로 진입하면(즉, 메모리들(102 및 104)에서 데이터 값들을 유지하고 메모리들(102 및 104)에 판독 및 기입 동작들을 금하기 위한 저전력 모드), 제 1 메모리(102)는 턴 오프된다. 대기 모드에서, 집적 회로(106)의 메모리 요구들은 로우 내지 미디엄(low to medium)이다. 제 1 메모리(102)가 대기 모드에서 동작할 때 제 2 메모리(104)에 비해 대량의 전력을 소모하기 때문에, 제 1 메모리(102)는 OS의 대기 모드 동안에 턴 오프된다. 그러므로, 일 실시예에서, 상기 OS가 대기모드이면, 그것은 제 1 메모리(102)로 인가된 전력을 턴 오프하고 제 2 메모리(104)로 하여금 모든 필요한 데이터 유지 동작들을 수행하도록 구성된다. 따라서, 고전력 제 1 메모리로 전력 공급을 턴 오프함으로써, 에너지 소모를 줄인다. 동시에, 단지 손실되지 않아야 하는 데이터의 부분만 저전력 메모리(104)를 이용하여 유지되기 때문에, 상대적으로 비싼 제 2 메모리(104)의 크기가 감소된다.
다른 예시에서, 프로세싱 유닛(114) 상에서 실행되고 있는 프로세스는 멀티미디어 컴퓨터 프로그램(예를 들어, 인터렉티브 비디오 게임 프로그램, 비디오 리코딩 프로그램, 등)이고, 여기서 상기 멀티미디어 컴퓨터 프로그램의 메모리 요구는 하이(high)이다. 일 실시예에서, 멀티미디어 컴퓨터 프로그램이 대량의 데이터의 저장을 요구하는 사실로 인해 또는 멀티미디어 컴퓨터 프로그램이 하이 데이터 처리량(즉, 데이터가 메모리들(102 및 104)로부터 판독되거나 또는 이들 내로 저장되는 하이-레이트(rate))을 요구하기 때문에, 메모리 요구가 하이이다. 멀티미디어 컴퓨터 프로그램의 하이 메모리 요구를 수용하기 위해, 멀티미디어 컴퓨터 프로그램이 동작할 때, 제 1 메모리(102)는 턴온되고, 따라서 컴퓨터 아키텍쳐(100)에서 이용가능한 메모리를 확대한다. 상기에 기술된 바와 같이, 제 2 메모리(104)는 헤비 사용, 멀티미디어 모드를 포함하여, 실질적으로 모든 시간에 동작하도록 구성된다. 제 1 메모리(102)를 턴 온하는 것은 제 2 메모리(104)의 이용가능한 메모리를 확대함으로써, 멀티미디어 컴퓨터 프로그램과 관련된 그 데이터가 제 1 메모리(102)에 저장된다. 멀티미디어 컴퓨터 프로그램의 완성 시, 제 1 메모리(102)로의 전력 공급이 컷 오프됨으로써, 제 1 메모리(102)가 후속 대기 모드 또는 일반 사용 모드 동안에 남아 있지 않게 되고, 따라서 예를 들어, 누설로 인한 의도하지 않은 전력 소모를 본질적으로 제거한다.
다른 예시에서, 데이터가 제 1 메모리(120)에 저장될 것인지 또는 제 2 메모리(104)에 저장될 것인지 여부에 관한 결정은 상기 프로세스의 완료시 데이터가 유지되어야 할지의 여부에 근거하여 이루어진다. 상기 데이터는, 예를 들어, 상기 프로세스 또는 상기 프로세스에 관련된 데이터(즉, 프로세스에 의해 처리된 데이터 또는 프로세스에 의해 생성된 데이터)이다. 프로세스에 관련된 데이터는 프로세스의 완료시 유지되도록 요구되지 않는 경우, 프로세스 또는 상기 프로세스에 관련된 데이터는 제 1 메모리(102)에 저장된다. 상기 프로세스에 관련된 데이터가 프로세스의 완료시 유지되어야하는 경우, 상기 프로세스 또는 상기 프로세스에 관련된 데이터가 제 1 메모리(102)로 로드되지 않고, 대신에 제 2 메모리(104)에 저장된다. 데이터가 프로세스의 완료시 유지되어야 하는 경우, 상기 데이터를 제 1 메모리(102)에 저장하지 않음으로써, 제 1 메모리(102)는 상기에 기술된 바와 같이, 임의의 데이터 값들을 그대로 유지하면서 대기, 데이터 유지 모드 동안에 턴 오프된다. 제 1 메모리(104)는 대기, 데이터 유지 모드에서 동작할 때, 대량의 전력을 소모하기 때문에, 이러한 모드에서 제 1 메모리(102)를 턴 오프하는 것은 예시적인 컴퓨터 아키텍쳐(100)에서 더 적은 전력 소모를 가능하게 한다.
제 1 메모리(102)를 턴 온 및 오프하고, 제 1 메모리(102)로 또는 제 2 메모리(104)로 데이터를 저장할 것인지의 여부를 결정하는 상기에 기술된 근거들(bases)은 예시들이고, 다양한 다른 팩터(factor)들(예를 들어, 데이터 액세스 레이트(rate), 메모리 크기, 등에 근거한 팩터들)이 다른 실시예들에서 메모리들(102 및 104)을 관리하는데 사용된다. 또한, 비록, 도 1의 예시적인 컴퓨터 아키텍쳐(100)가 두 개의 메모리들(102 및 104) 및 두 개의 인터페이스들(110 및 112)을 도시할지라도, 다른 실시예들에서는 다수의 서로 다른 타입의 메모리들과 해당 인터페이스들이 사용된다. 상기에 기술된 바와 같이, 두 개의 메모리들(102 및 104) 및 두 개의 인터페이스들(110 및 112)을 사용하는 것은 예시적인 컴퓨터 아키텍쳐(100)로 하여금 비용과 전력 소모 변수들을 동시에 최적화시키도록 한다. 두 개의 메모리들(102 및 104)을 다른 특징들을 가지는 다른 메모리들로 대체함으로써 또는 어떤 면에서 두 개의 메모리들(102 및 104)과 다른 추가적인 메모리들을 추가함으로써, 다른 실시예들에서, 예시적인 컴퓨터 아키텍쳐(100)는 다른 변수들 또는 추가적인 변수들에 대해 최적화된다. 예를 들어, 일 실시예에서, 예시적인 컴퓨터 아키텍쳐(100)는 도 1의 예에서 최적화된 비용 및 전력 변수들에 추가하여 속도 또는 데이터 액세스 레이트 변수들에 최적화된다.
도 2는 어플리케이션 프로세서 또는 셀룰러 프로세서(206)와 결합된 하나 이상의 LP DDR SDRAM PoP(Package on package)/개별 장치들(202) 및 하나 이상의 DDR SDRAM 디바이스들(204)을 포함하는 다른 예시적인 컴퓨터(200)를 도시한다. 일 실시예에서, 하나 이상의 LP DDR SDRAM PoP(Package on package)/개별 장치들(202)(이하, "LPDDR 메모리")은 하나 이상의 LPDDR2, LPDDR3, LPDDR4, 모바일 DDR 또는 와이드 I/O 메모리들을 포함한다. 일 예시에서, 하나 이상의 DDR SDRAM 디바이스들(204)(이하, "DDR 메모리")은 하나 이상의 DDR2, DDR3, DDR3L, DDR3U 또는 DDR4 메모리들을 포함한다. LPDDR 메모리(202) 및 DDR 메모리(204)는 어플리케이션 프로세서 또는 셀룰러 프로세서(206)의 외부에 있고, 제 1 LPDDR, DDR PHY 인터페이스(즉, 물리적 인터페이스)(210) 및 제 2 LPDDR, DDR PHY 인터페이스(212) 각각을 통해 어플리케이션 프로세서 또는 셀룰러 프로세서(206)의 이중 채널 DDR SDRAM 메모리 제어기(208)와 결합된다. 제 1 및 2 인터페이스들(210 및 212)은 서로 분리된다. 일 실시예에서, 제 1 및 2 인터페이스들(210 및 212)은 메모리 제어기(208) 내에서 통합되고, 또는 제 1 및 2 인터페이스들(210 및 212)은 메모리 제어기(208)와 물리적으로 분리되어 적절한 연결을 통해 메모리 제어기(208)와 결합된다.
일 실시예에서, 어플리케이션 프로세서 또는 셀룰러 프로세서(206)는 핸드헬드 디바이스 플랫폼, 예를 들어, 스마트폰, 랩탑, 태블릿 컴퓨터, 또는 임의의 다른 타입의 컴퓨터 시스템(즉, 데스크톱 컴퓨터 또는 서버)에서 사용된다. 어플리케이션 프로세서 또는 셀룰러 프로세서(206)는 핸드헬드 디바이스의 OS, 핸드헬드 디바이스의 네트워킹 및 무선 송신 프로토콜들, 및 핸드헬드 디바이스의 여러 다른 어플리케이션들(예를 들어, 게이밍, 비디오 레코딩, 음악 재생, 웹 브라우징, 이메일, 등)을 지원하는 명령어들을 실행하도록 구성된다. 프로세서(206)의 이중 채널 DDR SDRAM 메모리 제어기(208)는 도 2에 도시된 LPDDR 메모리 타입 및 DDR 메모리 타입을 포함하여, 복수의 서로 다른 DDR SDRAM 타입들(즉, 가족들)을 동시에 지원하도록 구성된다. 메모리 제어기(208)의 이중 채널은 무엇보다도 제 1 채널(216) 및 제 2 채널(218)의 각각이 그 자신의 PHY 물리적 인터페이스(즉, 도 2에서 PHY 인터페이스들(210 및 212) 각각)를 가진다는 것을 의미한다. 이중 채널 메모리 제어기(208)는 LPDDR 메모리(202) 및 DDR 메모리(204)의 혼합을 가능하게 하며, 여기서 LPDDR 메모리(202)는 제 1 채널(216)에 통해 프로세서(206)와 인터페이스하고, DDR 메모리(204)는 제 2 채널(218)을 통해 프로세서(206)과 인터페이스한다. 일 실시예에서, LPDDR 메모리(202) 및 DDR 메모리(204)는 동일한 주파수 및 유사한 주파수에서 동작된다.
LPDDR 메모리(202) 및 DDR 메모리(204)는 대기 모드에서 a) 비용 및 b)전력 소모 면에서 서로 다르다. 일 실시예에서, 대기 모드는 데이터 값들을 유지하기 위한 저전력 모드이며, 여기서 메모리들(202 및 204)과의 판독 및 기입 동작들은 허용되지 않는다. LPDDR 메모리(202) 및 DDR 메모리(204)의 조합은 컴퓨터 아키텍쳐(200)로 하여금 비용 및 전력 소모에 대해 동시에 최적화되게 한다. LPDDR 메모리(202)는 DDR 메모리(204)에 비해, 대기 모드에서 저전력 소모를 가진다. 예를 들어, 대기 모드에서 LPDDR 메모리(202)의 전력 소모는 DDR 메모리(204)보다 대략 3배 더 좋다. 일 예시로서, Micron MT41K128M16 DDR3L, 533 MHz - 993 MHz, 2 Gb는 1.35V에서 12mA의 셀프-리프레시(self-refresh) 전류(IDD6)를 가지고, 저전력 대기 모드에서 16.2mW의 전력 소모를 일으킨다. 또한, Micron MT41J128M16 DDR3 533 MHz - 1066 MHz, 2Gb는 1.5V에서 12mA의 셀프-리프레시 전류(IDD6)을 가지고, 저전력 대기 모드에서 18mW의 전력 소모를 일으킨다. 대조적으로, 예를 들어, Micron MT42L128M16 LPDDR2, 533 MHz, 2Gb는 저전력 대기 모드에서 5.16mW의 전력 소모를 일으키는 1.8V에서 1.2mA + 1.2V에서 2.5mA의 셀프-리프레시(self-refresh) 전류(IDD6)를 가진다. 일 실시예에서, 유효 전력 모드(즉, 메모리들(202 및 204)에서 데이터를 판독, 기입, 홀딩하기 위한 모드)에서, LPDDR 메모리(202) 및 DDR 메모리(204) 사이의 전력 소모에는 거의 차이가 없고, 일 실시예에서, LPDDR 메모리(202) 및 DDR 메모리(204)의 성능은 유사하다. 일 실시예에서, LPDDR 메모리(202)는 DDR 메모리(204)보다 더 비싸다(예를 들어, 대략 1.7 내지 2.0 배 더 비싸다).
도 2의 예시적인 컴퓨터 아키텍쳐(200)에서 LPDDR 메모리(202)는 실질적으로 모든 시간에 턴 온되고 동작하도록 구성된 지속 메모리(persistent memory)로서 기능한다(예를 들어, LPDDR 메모리(202)는 대기 모드, 일반 사용 모드, 헤비 멀티미디어 사용 모드의 각각 동안 동작한다). 일 실시예에서, LPDDR 메모리(202)는 아키텍쳐(200)가 저전력(즉, 대기) 상태로 진입할 때 유지되야 하는 데이터의 예측된 양을 저장할 뿐만 아니라 안전 조치로서 일부 추가 공간을 부가할 정도로 충분히 커야할 필요가 있다. 예시적인 컴퓨터 아키텍쳐(200)에서 다른 메모리는 종래의 DDR DRAM 메모리(예를 들어, DDR 메모리(204))이다. DDR 메모리(204)는 일반적으로 헤비 멀티미디어 사용 모드 동안에 이용가능한 메모리를 확장시키는 데만 사용된다(예를 들어, 프로세서(206) 상에서 메모리 요구들이 하이(high)인 경우 - 하이 메모리 요구는 다량의 데이터 저장 또는 높은 데이터 처리량을 요구 -). 따라서, DDR 메모리(204)는 프로세서(206) 상의 메모리 요구 또는 프로세서(206) 상에서 실행되는 프로세서의 메모리 요구를 기반으로 턴 온 또는 턴 오프된다. 또한, 하기에 기술된 바와 같이, DDR 메모리(204)는 프로세스 완료시 저장될 데이터가 메모리에서 유지되도록 요구되는지 여부의 결정에 근거하여 데이터 저장을 위해 사용된다. 데이터가 프로세스 완료시 유지될 필요가 없다면, DDR 메모리(204)는 데이터를 저장하도록 사용된다.
도 2의 LPDDR 메모리(202) 및 DDR 메모리(204)를 혼합한, 예시적인 컴퓨터 아키텍쳐(200)에서 일반 사용 및 저전력, 대기 사용 경우들을 위해 사용되는 베이직 메모리(basic memory)는 오직 LPDDR 메모리(202) 만으로 이루어져 있다. 일 실시예에서, 베이직 메모리는 어플리케이션 프로세서 또는 셀룰러 프로세서(206)가 액세스할 수 있는 총 4Gb 어드레스 맵 중에서 1Gb이다. DDR 메모리(204)는 일반 사용, 및 저전력 대기 사용 경우들을 위해 턴 오프된다. 일 실시예에서, 저전력, 대기 사용 경우에 턴 온되는 LPDDR 메모리(202)는 셀프-리프레시 모드에 있다. 도 2의 예시적인 컴퓨터 아키텍쳐(200)의 이용가능한 메모리는 헤비 멀티미디어 사용 경우에 DDR 메모리(204)를 동적으로 추가(즉, 턴 온)함으로써 확장된다. 헤비 멀티미디어 사용 경우 동안에, LPDDR 메모리(202)는 턴 온되어 있고, 데이터를 저장하는데 사용된다. DDR 메모리(204)가 턴 온되는 경우 예를 들어, 이용가능한 메모리는 어플리케이션 프로세서 또는 셀룰러 프로세서(206)가 액세스하는 총 4Gb 어드레스 맵 중에서 2Gb로 증가된다. 헤비 멀티미디어 사용 경우, 일반 사용 경우, 및 대기 사용 경우의 특징들은 하기의 도 3에 대한 더 자세한 세부 사항에 기술된다.
DDR 메모리(204)에 또는 LPDDR 메모리(202)에 데이터를 저장할 지의 여부의 결정은 프로세서(206) 상에서 실행되고 있는 프로세서의 동작의 모드 (즉, 상기 프로세스는 헤비 사용 멀티미디어 모드에서 동작하고 있는지 여부)또는 프로세스의 메모리 요구(즉, 메모리 요구가 하이, 로우, 또는 미디엄인지)에 근거하여 이루어진다. 일 실시예에서, 데이터가 DDR 메모리(204)에 또는 LPDDR 메모리(202)에 저장될지에 대한 결정은 또한 프로세스의 완료시 데이터가 유지되어야하는지에 근거하여 이루어진다. 데이터는 예를 들어, 상기 프로세스와 관련된 데이터(예를 들어, 프로세서에 의해 조작된 데이터 또는 프로세서에 의해 생성된 데이터)를 포함한다. 상기 프로세스와 관련된 데이터가 프로세스의 완료시 유지되도록 요구되지 않으면, 상기 프로세스 또는 상기 프로세스에 관련된 데이터는 DDR 메모리(204)에 저장된다. 상기 프로세스와 관련된 데이터가 프로세스의 완료시 유지되어야 한다면, 상기 프로세스와 관련된 데이터는 DDR 메모리(204)에 저장되지 않고, 상기 데이터는 대신에 LPDDR 메모리(202)에 저장된다. 데이터가 프로세스의 완료시 유지되어야 하는 경우 DDR 메모리(204)에 데이터를 저장하지 않음으로써, 일 실시예에서, DDR 메모리(204)는 대기, 데이터 유지 모드 동안에 턴 오프되고, 따라서 예시적인 컴퓨터 아키텍쳐(200)의 전력 소모를 낮춘다. 상기에 언급된 바와 같이, DDR 메모리(204)는 LPDDR 메모리(202)에 비해, 대기, 데이터 유지 모드에서 대량의 전력을 소모한다.
상기 기술된 방식으로 LPDDR 메모리(202) 및 DDR 메모리(204)의 조합을 사용함으로써, 일 실시예에서 예시적인 컴퓨터 아키텍쳐(200)를 위한 BOM(Bill of Materials)이 감소한다. 상기에 기술된 바와 같이, 더 적은 비용의 DDR 메모리(204)는 메모리 요구가 하이이거나, 데이터가 프로세스의 완료시 유지될 필요가 없는 상황들에서 메모리를 확장시키는데 사용된다. DDR 메모리(204)가 저전력, 대기 모드 동안에 턴 오프되기 때문에, LPDDR 메모리(202)만이 저전력, 대기 모드에서 유지될 필요가 있는 데이터를 저장하기 위해 사용된다. 결과적으로, 일 실시예에서, 비-저-전력(Non-low-power) 메모리들이 저전력 모드에서 본질적으로 완전히 꺼지기 때문에, 더 적은 비용의 메모리가 사용될 뿐만 아니라 아키텍쳐(200)의 대기 전류 및 전력 소모도 최소화된다. 기술된 메모리 관리의 방법은 예를 들어, 셀프-리프레시 모드 동안에 DDR 메모리(202)의 저전류를 이용한다.
컴퓨터 아키텍쳐(200)에 사용되는 (즉, 하나 이상의 LPDDR2, LPDDR3, LPDDR4, 모바일 DDR, 또는 Widel/O SDRAM 디바이스들을 포함하는)LPDDR 메모리(202) 및 (즉, 하나 이상의 DDR2, DDR3, DDR3U, DDR4 SDRAM 디바이스들을 포함하는)DDR 메모리(204)는 오직 예들이다. 도 2에 대해 상기에 기술된 메모리 관리의 방법들은 (예를 들어, PoP(Package on Package), SiP(System in Package), 멀티-칩 모듈 및 TSV(Though-silicon Via) 구성들로서, 또는 두 개 이상의 개별 부품들로서 이용가능한 메모리들 및 SoC를 포함하는)오프-칩 휘발성 메모리의 두 개 이상의 타입들을 포함하는 모든 시스템에 적용되며, 여기서 한 타입의 휘발성 메모리는 대기 모드 동안에 더 비싸고 더 많은 전력 소모가 되고, 다른 타입은 덜 비싸지만 더 높은 대기 전류를 가진다. 다른 실시예들에서, 도 2에 대해 상기 기술된 것과 유사한 컴퓨터 아키텍쳐 및 메모리 관리의 방법은 패키지(package) 내부에 있는 메모리, PoP 구성에 있는 메모리, TSV 구성에 있는 메모리 또는 하나 이상의 개별 메모리들을 사용하여 구현된다. 또한, 이중 채널 메모리 제어기(208)는 일 예이고, 다른 실시예들에서, 두 개 이상의 채널들을 포함하는(즉, 두 개 이상의 물리적 인터페이스들을 포함하는) 멀티-채널 메모리 제어기가 사용된다. 다른 실시예에서, 이중 채널 메모리 제어기(208)는 사용되지 않고, 대신에 두 개 이상의 개별 메모리 제어기가 사용되는데, 개별 메모리 제어기들의 각각은 단일 채널 또는 멀티 채널 메모리 제어기이다.
도 3은 핸드헬드 디바이스에서 사용되는 어플리케이션 프로세서 또는 셀룰러 프로세서 및 DDR SDRAM의 예시적인 사용 경우들에 대한 정보를 포함하는 표(300)를 도시한다. 표(300)에 포함된 열들은 동작의 모드(302), 예시적인 기능(304), 메모리 요구(306), 메모리 사용(308)을 포함한다. 동작의 모드 열(302)은 어플리케이션 프로세서 또는 셀룰러 프로세서 및 DDR SDRAM에 의해 지원되는 동작의 모드를 기술한다. 이 동작의 모드는 일 실시예에서 어플리케이션 프로세서 또는 셀룰러 프로세서상에서 실행되고 있는 하나 이상의 프로세서들 또는 OS에 의해 결정된다. 예를 들어, OS는 일 실시예에서 어플리케이션 프로세서 또는 셀룰러 프로세서 및 DDR SDRAM으로 하여금 대기, 저전력(즉, 데이터 유지) 모드로 진입하게 한다. 반대로, 예를 들어, 비디오로 하여금 핸드헬드 디바이스 상에 기록되도록 하기 위한 명령어들을 갖는 특정 프로세서(예를 들어, 컴퓨터 프로그램)는 일 실시예에서 어플리케이션 프로세서 또는 셀룰러 프로세서 및 DDR SDRAM으로 하여금 헤비 사용, 멀티미디어 동작의 모드에서 동작되게 한다.
표(300)에서 도시한 바와 같이, 동작의 헤비 사용/ 멀티미디어 사용 모드를 위해, 예시적인 기능은 무엇보다도 인터렉티브한 게이밍(gaming) 어플리케이션들 및 비디오 기록 어플리케이션들을 포함한다. 동작의 헤비 사용/ 멀티미디어 사용 모드에서 메모리 요구는 하이이고, 어플리케이션 프로세서 또는 셀룰러 프로세서 및 DDR SDRAM의 활성 전력은 핸드헬드 디바이스의 전체 전력 소모의 중대한 역할을 한다. 도 2를 참조하여, 예시적인 컴퓨터 아키텍쳐(200)는 LPDDR 메모리(202) 및 DDR 메모리(204)를 포함한다. 동작의 헤비 사용/ 멀티미디어 사용 모드 동안에, LPDDR 메모리(202) 및 DDR 메모리(204)는 턴 온되고 데이터를 저장하는데 사용된다. 어플리케이션 프로세서 또는 셀룰러 프로세서상에서 실행되고 있는 소프트웨어의 관점으로부터, 컴퓨터 시스템 아키텍쳐의 이용가능한 물리적 메모리는 동작의 헤비 사용/ 멀티미디어 사용 모드 동안에 그것의 가장 큰 이용가능 상태이다. 왜냐하면 이것은 이용가능한 메모리가 모든 DDR SDRAM 메모리들(예를 들어, LPDDR 메모리(202) 및 DDR 메모리(204))을 포함하기 때문이다. LPDDR 메모리(202) 및 DDR 메모리(204)의 활성 전력 소모 및 성능은, 동일한 주파수로 동작시, 일 실시예에서 유사하다. 본 실시예에서 활성 전력 소모 및 성능에서 유사성들로 인해, 메모리 버퍼들의 일부가 LPDDR 메모리(202)에 할당되고 메모리 버퍼들의 일부가 DDR 메모리(204)에 할당되는 것이 소프트웨어에 대해 명백하다.
표(300)에 도시된 바와 같이, 동작의 일반 사용 모드를 위해, 예시적인 기능은 무엇보다도 음악 재생, 웹 브라우징 및 이메일 기능들을 포함한다. 동작의 일반 사용 모드에서 메모리 요구는 미디엄이고, 어플리케이션 프로세서 또는 셀룰러 프로세서 및 DDR SDRAM의 활성 전력은 핸드헬드 디바이스의 전체 전력 소모의 중대한 역할을 한다. 도 2를 참조하여, 일 실시예에서, 동작의 상기 일반 사용 모드 동안에, 소프트웨어는 LPDDR 메모리(202)가 일반 사용 모드 동안에 사용되는 유일한 메모리이므로, 베이직 메모리로 그것의 메모리 사용을 최소화하고, DDR 메모리(204)를 턴 오프함으로써 전력을 감소시키도록 결정한다. 도 3의 표(300)는 DDR 메모리(204)가 동작의 일반 사용 모드 동안에 턴 오프되는 것을 나타낼지라도, 다른 예들에서, DDR 메모리(204)는 턴 온되어 유지하도록 할 수 있으며, 동작의 일반 사용 모드 동안에 데이터를 저장하는데 사용된다.
동작의 대기 모드에서, 예시적인 기능은 데이터 유지(즉, 대기 모드 동안에, 데이터 값들은 단순히 메모리에 홀딩되고, 데이터 값들은 메모리에 기입되거나 메모리로부터 판독되지 않음)를 포함한다. 동작의 대기 모드에서 메모리 요구는 로우 내지 미디엄이고, 핸드 헬드 디바이스의 전력 소모는 어플리케이션 프로세서 또는 셀룰러 프로세서 및 DDR SDRAM의 대기 전류에 의해 영향을 받는다. 동작의 대기 모드에서, DDR 메모리(204)는 턴 오프되고, 오직 LPDDR 메모리(202)만이 턴 온된다. LPDDR 메모리(202)의 컨텐츠는 유지될 필요가 있으며, LPDDR 메모리(202)는 셀프-리프레시 상태로 집입하고, DDR 메모리(204)는 이미 턴 오프되지 않은 경우, 턴 오프(즉, DDR 메모리(204)에 저장된 데이터를 위한 데이터 유지가 없음)되도록 한다. DDR 메모리(204)가 동작의 대기 모드에서 턴 오프되기 때문에, DDR 메모리(204)에 데이터를 저장할지 여부의 결정들은 일 실시예에서 프로세스의 완료시 데이터가 유지될 필요가 있는지에 근거하여 이루어진다. 이것은 도 2를 참조하여 상기에 기술된다.
도 4는 DDR SDRAM의 복수의 서로 다른 타입들을 포함하는 컴퓨터 아키텍쳐를 위한 소프트웨어 관리 방법의 예시적인 로직을 도시하는 흐름도(400)이다. 도 2에 대해 상기에 기술된 바와 같이, LPDDR 메모리(202) 및 DDR 메모리(204)를 포함하는 컴퓨터 아키텍쳐(200)에서, DDR 메모리(204)가 프로세싱 유닛 상에서 실행되고 있는 프로세스의 메모리 요구, 프로세서(206) 상에서 실행되는 OS의 동작의 모드, 또는 상기 프로세스의 데이터 유지 요건에 근거하여 관리(즉, 턴 온되거나 턴 오프 됨 및 데이터를 저장하기 위해 사용되거나 데이터를 저장하지 않기 위해 사용됨)된다. 도 4의 흐름도(400)의 예시적인 로직은 이러한 변수들이 DDR 메모리(204)를 관리하는데 평가되거나 사용되는 예시적인 방법을 도시한다. 402 단계에서, 컴퓨터 아키텍쳐의 이용가능한 메모리는 뱅크(bank)1과 뱅크2로 구분된다. 상기 이용가능한 메모리는 LPDDR DRAM 디바이스들 및 DDR DRAM 디바이스들을 포함한다. 뱅크1은 저전력 모드 동안에 유지 상태에 있는 LPDDR DRAM 디바이스들로 맵핑하는 어드레스들에 할당된다. 뱅크2는 저전력모드 동안에 전원이 오프되는 DDR DRAM 디바이스들로 맵핑하는 어드레스들에 할당된다.
404단계에서, OS는 로딩되고, OS 커널(kernel)은 뱅크1로부터 실행된다. 어플리케이션들 및 상기 어플리케이션들을 위한 워킹 스페이스(working space)는 뱅크1 또는 뱅크2에 있다. 406단계에서, OS가 태스크를 로딩할 필요가 있는지 여부에 대한 결정이 이루어진다. 406단계에서, 실행중인 어플리케이션 또는 태스크가 OS로 하여금 메모리를 할당함을 요청할지 여부에 대한 결정이 또한 이루어진다. 태스크가 로딩되지 않고, 실행중인 어플리케이션 또는 태스크는 OS로 하여금 메모리를 할당함을 요청하지 않고 있다면, 408단계에서, OS가 대기 모드로 진입할 수 있는지 여부에 대한 결정이 이루어진다. OS가 대기 모드로 진입할 수 없다면, 406단계에서 결정이 다시 이루어진다. OS가 대기 모드로 진입한다면, 410단계에서, LPDDR 디바이스들은 셀프-리프레시 상태로 들어가며, DDR 디바이스들은 전원 오프된다. 이때까지, 대기 모드 동안에 요청되지 않은 모든 어플리케이션들 및 태스크들이 종료되고, 이러한 어플리케이션들 및 테스크들에 할당된 메모리는 해제된다. 412단계에서, OS가 대기 모드를 종료할 수 있는지 여부에 대한 결정이 이루어진다. 결정은 412단계에서 OS가 대기 모드를 종료할 수 있을 때까지 대기 모드 기간 내내 반복된다. OS가 대기 모드를 종료할 수 있는 경우, 414 단계에서, DDR 디바이스들은 전력 온되고 다시-초기화되며, LPDDR 디바이스들은 셀프-리프레시 상태에서 제거된다. DDR 디바이스들을 전력 온하고 LPDDR 디바이스들을 셀프-리프레시 상태에서 제거할 시, 406단계에서 결정은 다시 이루어진다.
OS는 태스크를 로딩할 필요가 있음이 결정되거나, 실행중인 어플리케이션 또는 태스크가 OS로 하여금 메모리를 할당함을 요청하고 있음이 결정되면, 416단계에서, 상기 태스크 또는 어플리케이션이 대기 모드 동안에 메모리에 있도록 요청되는 타입인지 여부에 대한 결정이 이루어진다. 태스크가 대기 모드 동안에 메모리에 있도록 요청되지 않으면, 418단계에서, OS는 태스크를 뱅크2로 로딩하거나, 뱅크2로부터의 버퍼에 어플리케이션 또는 태스크를 할당한다. 태스크가 대기 모드 동안에 메모리에 있도록 요청되면, 420단계에서, OS는 태스크를 뱅크1로 로딩하거나 어플리케이션 또는 태스크를 뱅크1로부터의 버퍼로 할당한다. 416단계에서의 결정에 근거하여 뱅크1 또는 뱅크2로의 태스크의 로딩은 LPDDR DRAM 디바이스들이 대기 모드에서 데이터 유지를 수행할 때, DDR DRAM 디바이스들에 비해 더 적은 양의 전력을 소모한다는 사실을 반영한다. 이러한 사실로 인해, DDR DRAM 디바이스들은 일 실시예에서 대기 모드 동안에 메모리에 있도록 요청되지 않은 태스크들에 관련된 데이터를 저장하는데만 사용된다. 태스크가 뱅크1 또는 뱅크2 중 하나로 로딩되거나 태스크 또는 어플리케이션이 뱅크1 또는 뱅크2로부터의 버퍼에 할당된 후에, 406 단계에서 OS가 태스크를 로딩할 필요가 있는지의 결정이 다시 이루어진다.
도 5는 제 1 메모리(502) 및 제 2 메모리(504)와 각각 결합된 제 1 메모리 제어기(508) 및 제 2 메모리 제어기(509)를 포함하는 예시적인 컴퓨터 아키텍쳐(500)를 도시한다. 도 5에서, 제 1 메모리 제어기(508) 및 제 2 메모리 제어기(509)는 집적 회로(506)의 부분이고, 둘 다 집적 회로(506)의 프로세싱 유닛(514)과 결합된다. 제 1 및 2 인터페이스들(510 및 512)은 제 1 및 2 메모리 제어기들(508 및 509)을 제 1 및 2 메모리들(502 및 504)과 각각 결합하는데 사용된다. 비록 두 개의 메모리들(502 및 504), 두 개의 인터페이스들(510 및 512), 및 두 개의 메모리 제어기들(508 및 509)이 도 5에 도시될지라도, 다른 예들에서, (예를 들어, 상기 메모리들, 인터페이스들 및 메모리 제어기들 사이의 도 5에서 점(dot)들에 의해 표시된 바와 같이)이러한 각 컴포넌트들의 두 개 이상이 사용된다. 메모리들(502 및 504)은 두 개의 서로 다른 메모리 타입들이고, 여기서 두 개의 서로 다른 메모리 타입들은 서로 다른 전력 소모 특징들을 가진다.
메모리들(502 및 504)은 도 1 내지 4에 대해 상기에 기술된 방법들에 따라 관리된다. 도 5의 예시적인 컴퓨터 아키텍쳐(500)는 두 개의 개별 메모리 제어기들(508 및 509)이 도 5의 예에 사용되지만, 이전 도면들은 단일 이중 채널 메모리 제어기(예를 들어, 도 1 및 2의 각 이중 채널 메모리 제어기들(108 및 208))를 활용했다는 사실 때문에 상기에 기술된 것들과 다르다. 개별 메모리 제어기들(508 및 509)의 사용은 단일 채널 메모리 제어기들로 하여금 도 1 내지 4에 기술된 것들과 유사한 컴퓨터 아키텍쳐 및 메모리 관리의 방법들을 구현하는데 사용되게 한다.
도 6은 본 발명의 일 실시예에 따른 컴퓨터 시스템에서 메모리 관리를 위한 예시적인 방법의 단계들을 도시한 흐름도(600)이다. 602단계에서, OS의 동작의 모드가 결정된다. 604단계에서, 동작의 모드가 제 1 모드이면, 제 1 메모리 타입의 제 1 메모리가 턴 오프된다. 제 1 메모리는 제 2 메모리과 다른 메모리 타입이고, 여기서 상기 제 2 메모리는 제 1 메모리 타입과 다른 전력 소모 특징을 가진 제 2 메모리 타입이다. 606단계에서, 동작의 모드가 제 1 모드가 아니면, 제 1 메모리로 또는 제 2 메모리로 데이터를 저장할지 여부에 대한 결정이 이루어진다. 상기 결정은 예를 들어, 컴퓨터 시스템상에서 실행되고 있는 프로세스의 메모리 요구; 프로세스의 타입 - 상기 프로세스의 타입은 프로세스에 의해 조작되는 데이터의 타입 또는 프로세스에 의해 생성되는 데이터의 타입을 나타냄 -; 데이터가 프로세스 완료시 유지되어야 할지 여부; 또는 데이터가 OS의 제 1 모드 동안에 유지되어야 할지 여부 중 하나 이상에 근거한다.
상기 설명은 당업자로 하여금 청구된 발명들을 만들고 사용할 수 있게 하는 예들을 도시한다. 특허 범위는 다른 예들을 포함한다. 또한, 다양한 실시예들에서, 본원에 기재된 방법 및 시스템은 디바이스 프로세싱 서브시스템에 의해 실행 가능한 프로그램 명령들을 포함하는 프로그램 코드에 의해 다수의 서로 다른 타입들의 프로세싱 디바이스들 상에서 구현된다. 소프트웨어 프로그램 명령들은 소스 코드, 오브젝트 코드, 머신 코드, 또는 프로세싱 시스템으로 하여금 본원에 기재된 방법들 및 동작들을 수행하도록 동작가능한 임의의 다른 저장된 데이터를 포함한다. 그러나, 일 실시예에서, 본원에 기재된 방법들 및 시스템들을 수행하도록 구성된 펌웨어 또는 적절하게 설계된 하드웨어와 같은 다른 구현들이 사용된다.
본 출원은 본 발명을 도시하기 위한 예들을 사용한다. 본 발명의 특허 범위는 다른 예들을 포함한다.

Claims (27)

  1. 컴퓨터 시스템으로서,
    프로세싱 유닛, 및 상기 프로세싱 유닛과 결합된 메모리 제어기 - 상기 메모리 제어기는 상기 메모리 제어기를 제 1 메모리 및 제 2 메모리와 각각 결합하도록 구성된 제 1 인터페이스 및 제 2 인터페이스를 포함하고, 상기 제 2 인터페이스는 상기 제 1 인터페이스와 분리됨 - 를 포함하는 집적 회로;
    상기 제 1 인터페이스를 통해 상기 메모리 제어기와 결합된 제 1 메모리 타입의 상기 제1 메모리; 및
    상기 제 2 인터페이스를 통해 상기 메모리 제어기와 결합된 상기 제 2 메모리 - 상기 제 2 메모리는 상기 제 1 메모리 타입과 다른 전력 소모 특징을 가지는 제 2 메모리 타입임 - 를 포함하며,
    상기 제 2 메모리는 대기 모드에서 동작시 상기 제 1 메모리보다 더 적은 전력을 소모하고, 상기 대기 모드는 데이터 값들을 홀딩하고 데이터가 판독 및 기입되는 것을 방지하는 저전력 모드이고,
    상기 제 1 메모리 및 상기 제 2 메모리는 데이터 값들을 판독, 기입 및 홀딩하는 활성 모드에서 동작시 동일한 양의 전력을 소모하고, 그리고
    상기 제 1 메모리 및 상기 제 2 메모리는 동일한 주파수에서 동작하고,
    상기 제 1 메모리로 또는 상기 제 2 메모리로 데이터를 저장할지 여부에 대한 결정이:
    상기 프로세싱 유닛 상에서 실행되고 있는 프로세스의 메모리 요구와,
    상기 프로세스의 타입 - 상기 프로세스의 타입은 상기 프로세스에 의해 조작된 데이터 타입 또는 상기 프로세스에 의해 생성된 데이터의 타입을 나타냄 - 과,
    상기 프로세싱 유닛 상에서 실행되고 있는 운영 체제의 동작의 모드 - 상기 운영 체제의 동작의 모드들은 상기 대기 모드 및 상기 활성 모드를 포함함 - 와,
    상기 프로세스의 타입이 상기 대기 모드 동안에 상기 제 1 메모리에 또는 상기 제 2 메모리에 상주할 것을 요하지 않는 타입인지 여부와,
    상기 데이터가 상기 프로세스의 완료시 유지되어야할지 여부와; 그리고
    상기 데이터가 상기 대기 모드 동안에 유지되어야할지 여부 중 하나 이상에 근거하여 이루어지는 것을 특징으로 하는 컴퓨터 시스템.
  2. 제1항에 있어서,
    상기 제 1 메모리는 DDR SDRAM(double data rate synchronous dynamic random access memory)이고, 상기 제 2 메모리는 LPDDR SDRAM(Low Power Double Data Rate synchronous dynamic random access memory) 또는 모바일 DDR(Double Data Rate) 메모리인 것을 특징으로 하는 컴퓨터 시스템.
  3. 삭제
  4. 제1항에 있어서,
    상기 제 2 메모리는 상기 대기 모드 동안에 유지 상태이고, 상기 제 1 메모리는 상기 대기 모드 동안에 턴 오프되며, 상기 제 1 메모리는 상기 제 1 메모리의 누설 전류를 제거 또는 줄이기 위해 상기 제 1 메모리로 전력을 공급하지 않음으로써 턴 오프되는 것을 특징으로 하는 컴퓨터 시스템.
  5. 삭제
  6. 제1항에 있어서,
    상기 데이터는 상기 프로세스의 상기 메모리 요구가 하이(high)일 때 상기 제 1 메모리에 저장되고, 상기 하이 메모리 요구는 대량의 데이터의 저장 또는 상기 데이터를 상기 제 1 메모리 또는 상기 제 2 메모리로부터 판독되거나 상기 제 1 메모리 또는 상기 제 2 메모리 내에 저장하는 하이-레이트(high rate)를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  7. 제1항에 있어서,
    상기 데이터는 상기 프로세싱 유닛이 멀티미디어 컴퓨터 프로그램을 위한 명령어들을 실행 중일 때 상기 제 1 메모리에 저장되고, 상기 멀티미디어 컴퓨터 프로그램은 인터렉티브 게이밍 기능 또는 비디오 기록 기능을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  8. 제1항에 있어서,
    상기 제 1 메모리는 상기 컴퓨터 시스템의 전력 소모를 낮추기 위해 상기 컴퓨터 시스템의 동작의 일반 사용 모드 동안에 턴 오프되고, 상기 제 1 메모리는 상기 제 1 메모리의 누설 전류를 제거 또는 낮추기 위해 전력을 상기 제 1 메모리로 인가하지 않음으로써 턴 오프되며, 상기 동작의 일반 사용 모드는 음악 재생, 웹 브라우징, 또는 이메일 기능을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  9. 컴퓨터 시스템으로서,
    프로세싱 유닛, 및 상기 프로세싱 유닛과 결합된 메모리 제어기 - 상기 메모리 제어기는 상기 메모리 제어기를 제 1 메모리 및 제 2 메모리와 각각 결합하도록 구성된 제 1 인터페이스 및 제 2 인터페이스를 포함하고, 상기 제 2 인터페이스는 상기 제 1 인터페이스와 분리됨 - 를 포함하는 집적 회로;
    상기 제 1 인터페이스를 통해 상기 메모리 제어기와 결합된 제 1 메모리 타입의 상기 제1 메모리; 및
    상기 제 2 인터페이스를 통해 상기 메모리 제어기와 결합된 상기 제 2 메모리 - 상기 제 2 메모리는 상기 제 1 메모리 타입과 다른 전력 소모 특징을 가지는 제 2 메모리 타입임 - 를 포함하며,
    상기 프로세싱 유닛은 모바일 디바이스에서 동작하도록 구성된 셀룰러 프로세서 또는 어플리케이션 프로세서이고, 상기 셀룰러 프로세서 또는 상기 어플리케이션 프로세서는 상기 모바일 디바이스의 운영 체제, 상기 모바일 디바이스의 어플리케이션 또는 상기 모바일 디바이스의 네트워킹 프로토콜을 위한 명령어들을 실행하도록 구성되며,
    상기 메모리 제어기는 DDR SDRAM(double data rate synchronous dynamic random access memory)의 복수의 타입들과 동시에 인터페이스하도록 구성된 이중 채널 메모리 제어기이고, 상기 이중 채널 메모리 제어기는 PHY(physical) 인터페이스들인 상기 제 1 및 2 인터페이스들을 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  10. 제1항에 있어서,
    상기 컴퓨터 시스템은 베터리로부터 전력을 소모하는 모바일 디바이스인 것을 특징으로 하는 컴퓨터 시스템.
  11. 프로세싱 유닛 및 메모리 제어기를 포함하는 전자 회로를 포함하는 컴퓨터 시스템에서의 메모리 관리 방법으로서, 상기 메모리 제어기는 제1 메모리 및 제2 메모리에 결합되고, 상기 방법은:
    상기 프로세싱 유닛에 의해 실행되는 운영 체제의 동작의 모드를 결정하는 단계와;
    상기 동작의 모드가 제 1 모드인 경우, 제 1 메모리 타입의 상기 제 1 메모리를 턴 오프하는 단계 - 상기 제 1 메모리는 상기 제 2 메모리와 다른 메모리 타입이고, 상기 제 2 메모리는 상기 제 1 메모리 타입의 전력 소모 특징과 다른 전력 소모 특징을 가지는 제 2 메모리 타입임 - 와; 그리고
    상기 동작 모드가 상기 제 1 모드가 아닌 경우, 데이터를 상기 제 1 메모리로 또는 상기 제 2 메모리로 저장할지 여부에 대한 결정을 하는 단계를 포함하며,
    상기 데이터를 상기 제 1 메모리로 또는 상기 제 2 메모리로 저장할지 여부에 대한 결정을 하는 단계는:
    상기 컴퓨터 시스템상에서 실행되고 있는 프로세스의 메모리 요구와;
    상기 프로세스의 타입 - 상기 프로세스의 타입은 상기 프로세스에 의해 조작된 데이터 타입 또는 상기 프로세스에 의해 생성된 데이터 타입을 나타냄 - 과;
    상기 데이터가 상기 프로세스의 완료시 유지되어야할지 여부와; 또는
    상기 데이터가 상기 운영 체제의 상기 제 1 모드 동안에 유지되어야할지 여부에 근거하여 이루어지는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 데이터를 상기 제 1 메모리로 또는 상기 제 2 메모리로 저장할지 여부에 대해 상기 결정을 하는 단계를 더 포함하고, 상기 제 1 메모리는 DDR SDRAM이고, 상기 제 2 메모리는 LPDDR SDRAM 또는 모바일 DDR 메모리인 것을 특징으로 하는 방법.
  13. 제11항에 있어서,
    상기 데이터를 상기 제 1 메모리로 또는 상기 제 2 메모리로 저장할지 여부에 대해 상기 결정을 하는 단계 더 포함하고, 상기 제 2 메모리는 대기 모드에서 동작시 상기 제 1 메모리보다 더 적은 전력을 소모하고, 상기 대기 모드는 데이터 값들을 홀딩하고 데이터가 판독 및 기입되는 것을 금지하는 저전력 모드이며, 상기 제 1 메모리 및 상기 제 2 메모리는 데이터 값들을 판독, 기입 및 홀딩하는 활성 모드에서 동작시 동일한 양의 전력을 소모하고, 상기 제 1 메모리 및 상기 제 2 메모리는 동일한 주파수로 동작하는 것을 특징으로 하는 방법.
  14. 제11항에 있어서,
    상기 프로세스가 대기 모드 동안에 상기 제 1 메모리 또는 상기 제 2 메모리에 있도록 요청되지 않은 타입인 경우:
    전력을 상기 제 1 메모리로 인가함으로써 상기 제 1 메모리를 턴 온하는 단계 - 상기 인가된 전력은 상기 제 1 메모리로 하여금 데이터 값들을 저장하도록 할 수있게 함 -와; 그리고
    상기 프로세스를 상기 제 1 메모리로 로딩 또는 상기 프로세스를 상기 제 1 메모리로부터의 버퍼에 할당하는 단계를 더 포함하고,
    상기 프로세스가 상기 대기 모드 동안에 상기 제 1 메모리 또는 상기 제 2 메모리에 있도록 요청되는 타입인 경우:
    상기 제 1 메모리의 누설 전류를 제거 또는 낮추기 위해 상기 전력을 상기 제 1 메모리로 인가하지 않음으로써 상기 제 1 메모리를 턴 오프하는 단계; 및
    상기 프로세스를 상기 제 2 메모리 내로 로딩하거나 또는 상기 프로세스를 상기 제 2 메모리로부터의 버퍼에 할당하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제11항에 있어서,
    상기 프로세스의 상기 메모리 요구가 하이(high)일 때, 상기 데이터를 상기 제 1 메모리에 저장하는 단계를 포함하고, 상기 하이 메모리 요구는 대량의 데이터의 저장 또는 상기 데이터를 상기 제 1 메모리 또는 상기 제 2 메모리로부터 판독되거나 상기 제 1 메모리 또는 상기 제 2 메모리 내로 저장하는 하이 레이트(high rate)를 포함하는 것을 특징으로 하는 방법.
  16. 제11항에 있어서,
    상기 프로세싱 유닛이 멀티미디어 컴퓨터 프로그램을 위한 명령어들을 실행하고 있을 때, 상기 데이터를 상기 제 1 메모리에 저장하는 단계를 더 포함하고, 상기 멀티미디어 컴퓨터 프로그램은 인터렉티브 게이밍 기능 및 비디오 기록 기능을 포함하는 것을 특징으로 하는 방법.
  17. 제11항에 있어서,
    상기 컴퓨터 시스템의 전력 소모를 낮추기 위해 제 1 메모리를 상기 컴퓨터 시스템의 동작의 일반 사용 모드 동안에 턴 오프하는 단계를 더 포함하고, 상기 제 1 메모리는 상기 제 1 메모리의 누설 전류를 제거 또는 낮추기 위해 전력을 상기 제 1 메모리로 인가하지 않음으로써 턴 오프되고, 상기 동작의 일반 사용 모드는 음악 재생, 웹 브라우징 또는 이메일 기능을 포함함 - 를 더 포함하는 것을 특징으로 하는 방법.
  18. 제11항에 있어서,
    상기 메모리 제어기와 결합된 상기 제 1 메모리를 턴 오프하는 단계를 더 포함하고, 상기 메모리 제어기는 DDR SDRAM의 복수의 타입들과 동시에 인터페이스하도록 구성된 이중 채널 메모리 제어기이고, 상기 이중 채널 메모리 제어기는 PHY(physical) 인터페이스들인 상기 제 1 및 2 인터페이스들을 포함하는 것을 특징으로 하는 방법.
  19. 제11항에 있어서,
    상기 컴퓨터 시스템의 상기 운영 체제의 상기 동작의 모드를 결정하는 단계를 더 포함하고, 상기 컴퓨터 시스템은 베터리로부터의 전력을 소모하는 모바일 디이바이스인 것을 특징으로 하는 방법.
  20. 제11항에 있어서,
    상기 컴퓨터 시스템의 전력 소모에 근거하여 상기 데이터를 상기 제 1 메모리로 또는 상기 제 2 메모리로 저장할지 여부에 대해 상기 결정을 하는 단계를 더 포함하고, 상기 결정은 상기 컴퓨터 시스템의 상기 전력 소모를 낮추기 위해 이루어지는 것을 특징으로 하는 방법.
  21. 전자 디바이스로서,
    제1 메모리, 제2 메모리 및 메모리 제어기를 포함하며,
    상기 제1 메모리 및 제2 메모리 각각은
    (i) 활성 모드에서, 데이터를 유지, 판독 및 기입하고, 상기 제2 메모리는 상기 제1 메모리와 동일한 양의 전력을 소모하며,
    (ii) 대기 모드에서, 데이터를 유지하지만 판독 및 기입하지는 않으며, 상기 제2 메모리는 상기 제1 메모리보다 적은 전력을 소모하고,
    (iii) 턴 오프될 때 데이터를 유지하지 않도록 구성되어 있으며,
    상기 메모리 제어기는 상기 제2 메모리가 상기 대기 모드에 있을 때 상기 제1 메모리를 턴 오프시키도록 구성된 것을 특징으로 하는 전자 디바이스.
  22. 제21항에 있어서,
    상기 제1 메모리 및 제2 메모리는 상기 활성 모드에 있을 때 동일한 주파수에서 동작하도록 구성된 것을 특징으로 하는 전자 디바이스.
  23. 제21항에 있어서,
    상기 메모리 제어기는 상기 제2 메모리가 상기 활성 모드에 있을 때, 상기 제1 메모리가 상기 활성 모드에 있지 않으면 상기 제1 메모리를 턴 오프시키도록 구성된 것을 특징으로 하는 전자 디바이스.
  24. 제21항에 있어서,
    상기 제2 메모리는 상기 제1 메모리보다 적은 메모리 용량을 가지는 것을 특징으로 하는 전자 디바이스.
  25. 제21항에 있어서,
    상기 제2 메모리는 LPDDR(low power double data rate) 메모리이고, 상기 제1 메모리는 LPDDR이 아닌 DDR(double data rate) 메모리인 것을 특징으로 하는 전자 디바이스.
  26. 제21항에 있어서,
    상기 활성 모드에서, 상기 제2 메모리는 상기 제1 메모리와 동일한 성능을 제공하는 것을 특징으로 하는 전자 디바이스.
  27. 제21항에 있어서,
    상기 전자 디바이스는 핸드헬드(handheld) 전자 디바이스인 것을 특징으로 하는 전자 디바이스.
KR1020147034343A 2012-05-08 2013-05-07 컴퓨터 시스템 및 메모리 관리의 방법 KR101665611B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261644359P 2012-05-08 2012-05-08
US61/644,359 2012-05-08
US201261717884P 2012-10-24 2012-10-24
US61/717,884 2012-10-24
PCT/IB2013/001286 WO2013167970A1 (en) 2012-05-08 2013-05-07 Computer system and method of memory management

Publications (2)

Publication Number Publication Date
KR20150017725A KR20150017725A (ko) 2015-02-17
KR101665611B1 true KR101665611B1 (ko) 2016-10-12

Family

ID=48951468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147034343A KR101665611B1 (ko) 2012-05-08 2013-05-07 컴퓨터 시스템 및 메모리 관리의 방법

Country Status (4)

Country Link
US (1) US9881657B2 (ko)
KR (1) KR101665611B1 (ko)
CN (1) CN104303167B (ko)
WO (1) WO2013167970A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158616B2 (en) * 2009-12-09 2015-10-13 Intel Corporation Method and system for error management in a memory device
US8862973B2 (en) * 2009-12-09 2014-10-14 Intel Corporation Method and system for error management in a memory device
KR102019717B1 (ko) * 2013-01-29 2019-09-09 삼성전자 주식회사 휴대 단말기의 메모리 관리 장치 및 방법
WO2016023519A1 (en) * 2014-08-15 2016-02-18 Mediatek Inc. Method for managing multi-channel memory device to have improved channel switch response time and related memory control system
US9747963B2 (en) * 2014-11-03 2017-08-29 Mediatek Inc. Multi-channel memory system using asymmetric channel frequency scaling and related power management method
EP3230982A4 (en) 2015-01-28 2018-08-29 Hewlett-Packard Development Company, L.P. Supporting differfent types of memory devices
WO2016143009A1 (ja) * 2015-03-06 2016-09-15 株式会社 東芝 メモリデバイスの制御方法、及び、メモリデバイス
US10268382B2 (en) * 2015-06-18 2019-04-23 Mediatek Inc. Processor memory architecture
US9824742B1 (en) * 2016-04-28 2017-11-21 Qualcomm Incorporated DRAM access in self-refresh state
US10628064B2 (en) * 2017-08-17 2020-04-21 Qualcomm Incorporated Parameter override mechanism for memory systems
US11262921B2 (en) * 2017-12-21 2022-03-01 Qualcomm Incorporated Partial area self refresh mode
CN110609805B (zh) * 2018-06-14 2024-04-12 格科微电子(上海)有限公司 系统级芯片的实现方法
US11113232B2 (en) * 2018-10-26 2021-09-07 Super Micro Computer, Inc. Disaggregated computer system
CN110727401B (zh) * 2019-09-09 2021-03-02 无锡江南计算技术研究所 一种访存系统
US11768701B2 (en) * 2019-09-17 2023-09-26 Western Digital Technologies, Inc. Exception analysis for data storage devices
CN114860163B (zh) * 2020-04-28 2023-08-22 华为技术有限公司 一种存储系统、内存管理方法和管理节点
CN111857570B (zh) * 2020-06-10 2022-07-15 瑞芯微电子股份有限公司 一种dram接口类型探测方法及存储介质
US11733763B2 (en) * 2020-08-06 2023-08-22 Micron Technology, Inc. Intelligent low power modes for deep learning accelerator and random access memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163582A (ja) * 2008-01-09 2009-07-23 Sony Corp メモリ制御装置およびメモリシステム
US20120069034A1 (en) * 2010-09-16 2012-03-22 Sukalpa Biswas QoS-aware scheduling

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378018B1 (en) 1997-10-10 2002-04-23 Intel Corporation Memory device and system including a low power interface
US7003593B2 (en) * 1997-12-17 2006-02-21 Src Computers, Inc. Computer system architecture and memory controller for close-coupling within a hybrid processing system utilizing an adaptive processor interface port
FR2797969A1 (fr) * 1999-08-31 2001-03-02 Koninkl Philips Electronics Nv Dispositif a plusieurs processeurs partageant une memoire collective
JP2002007200A (ja) * 2000-06-16 2002-01-11 Nec Corp メモリ制御装置及び動作切替方法並びにインターフェース装置、半導体集積チップ、記録媒体
JP3756818B2 (ja) * 2002-01-09 2006-03-15 株式会社メガチップス メモリ制御回路および制御システム
US7114041B2 (en) 2002-12-20 2006-09-26 Lsi Logic Corporation AMBA modular memory controller
US7243254B1 (en) * 2003-11-05 2007-07-10 Lsi Corporation Low power memory controller that is adaptable to either double data rate DRAM or single data rate synchronous DRAM circuits
JP4789420B2 (ja) * 2004-03-04 2011-10-12 トヨタ自動車株式会社 車両制御システムにおけるデータ処理装置
JP5401444B2 (ja) 2007-03-30 2014-01-29 ラムバス・インコーポレーテッド 異なる種類の集積回路メモリ素子を有する階層メモリモジュールを含むシステム
US20090292934A1 (en) * 2008-05-22 2009-11-26 Ati Technologies Ulc Integrated circuit with secondary-memory controller for providing a sleep state for reduced power consumption and method therefor
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)
JP5725695B2 (ja) * 2009-03-16 2015-05-27 キヤノン株式会社 データ記憶装置、及びデータ記憶装置の制御方法
US8190931B2 (en) * 2009-04-30 2012-05-29 Texas Instruments Incorporated Power management events profiling
WO2011080771A1 (en) * 2009-12-29 2011-07-07 Marco Ferrario Timing violation handling in a synchronous interface memory
US8589650B2 (en) * 2010-05-17 2013-11-19 Texas Instruments Incorporated Dynamically configurable memory system
RU2556443C2 (ru) * 2010-09-16 2015-07-10 Эппл Инк. Многопортовый контроллер запоминающего устройства с портами, ассоциированными с классами трафика
US20120072677A1 (en) * 2010-09-16 2012-03-22 Sukalpa Biswas Multi-Ported Memory Controller with Ports Associated with Traffic Classes
US8930647B1 (en) * 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US20120272036A1 (en) * 2011-04-22 2012-10-25 Naveen Muralimanohar Adaptive memory system
US9619357B2 (en) * 2011-09-28 2017-04-11 International Business Machines Corporation Hybrid storage devices
JP2013109707A (ja) * 2011-11-24 2013-06-06 Toshiba Corp 情報処理装置、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163582A (ja) * 2008-01-09 2009-07-23 Sony Corp メモリ制御装置およびメモリシステム
US20120069034A1 (en) * 2010-09-16 2012-03-22 Sukalpa Biswas QoS-aware scheduling

Also Published As

Publication number Publication date
KR20150017725A (ko) 2015-02-17
CN104303167B (zh) 2018-01-23
CN104303167A (zh) 2015-01-21
US9881657B2 (en) 2018-01-30
WO2013167970A1 (en) 2013-11-14
US20130304981A1 (en) 2013-11-14

Similar Documents

Publication Publication Date Title
KR101665611B1 (ko) 컴퓨터 시스템 및 메모리 관리의 방법
US10268382B2 (en) Processor memory architecture
US10365842B2 (en) System and method for reducing power consumption of memory
TWI515747B (zh) 用於動態記憶體功率管理之系統及方法
US8082437B2 (en) Computer having flash memory and method of operating flash memory
US20080285372A1 (en) Multi- port memory device for buffering between hosts and non-volatile memory devices
US20050086405A1 (en) Efficient system management synchronization and memory allocation
JP6276470B2 (ja) ポータブルコンピューティングデバイスの揮発性メモリのスタンバイ電力を低減するためのシステムおよび方法
KR102525229B1 (ko) 메모리 모듈 및 이를 포함하는 시스템
US10318418B2 (en) Data storage in a mobile device with embedded mass storage device
JP2013097859A (ja) メモリにおけるピーク電力管理のためのメカニズム
CN101739359B (zh) 存储装置、移动终端及数据访问方法、调频方法
US10884477B2 (en) Coordinating accesses of shared resources by clients in a computing device
CN102073604B (zh) 一种同步动态存储器读写控制方法、装置和系统
US8068373B1 (en) Power management of memory via wake/sleep cycles
US20160021187A1 (en) Virtual shared storage device
US11907141B1 (en) Flexible dual ranks memory system to boost performance
US20230274774A1 (en) Effective DRAM Interleaving For Asymmetric Size Channels Or Ranks While Supporting Improved Partial Array Self-Refresh
US20230266893A1 (en) Memory system including memory device and memory controller, and operating method thereof
WO2022108700A1 (en) Method and system for refreshing memory of a portable computing device
CN117762236A (zh) 存储器、存储控制装置、片上系统及终端设备
TWM532048U (zh) 電腦系統

Legal Events

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

Payment date: 20190924

Year of fee payment: 4