KR20080094938A - 디바이스 비활성 주기동안 dram 의 사용되지 않는 부분들의 리프레시를 디스에이블함에 의한 전력 소모 감소 - Google Patents
디바이스 비활성 주기동안 dram 의 사용되지 않는 부분들의 리프레시를 디스에이블함에 의한 전력 소모 감소 Download PDFInfo
- Publication number
- KR20080094938A KR20080094938A KR1020087021425A KR20087021425A KR20080094938A KR 20080094938 A KR20080094938 A KR 20080094938A KR 1020087021425 A KR1020087021425 A KR 1020087021425A KR 20087021425 A KR20087021425 A KR 20087021425A KR 20080094938 A KR20080094938 A KR 20080094938A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- virtual
- physical
- mrrs
- mrr
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4067—Refresh in standby or low power modes
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
이동 통신 디바이스의 전력 소모는 DRAM의 미사용 부분들의 리프레시(refreshing)를 디스에이블함으로써 감소된다. DRAM은 복수의 개별적으로 리프레시 가능한 메모리 리프레시 범위(MRR)들을 포함한다. 상기 디바이스의 운영 체제 내에 있는 메모리 리프레시 매니저(MRM)는 후속하는 슬립(sleep) 모드 동작동안 사용되지 않을 가상 메모리(305)의 범위들을 식별한다(305). 상기 MRM은 전체 MRR의 콘텐츠가 슬립 모드로 유지될 필요가 없도록(308) 특정 MRR들 내 (사용되지 않을 가상 메모리와 연관된) 물리적 메모리 페이지를 결합하기 위해(conglomerate) 가상 대 물리적 메모리 공간을 리매핑한다(307). 슬립 모드 동안 유지될 필요가 있는 임의의 리매핑된 물리적 페이지에 있는 정보가 카피(copy)되어 이전과 같이 상기 리매핑 후에 동일한 가상 어드레스에 상주한다. 다른 소프트웨어가 가상 메모리 공간에서 동작하며 상기 리매핑에 의해서 영향 받지 않는다(309). 상기 특정 MRR 들의 리프레시는 이후 슬립 모드(310)동안 디스에이블되어, 이에 의해 전력 소모를 감소시킨다.
Description
본 발명의 실시예들은 이동 통신 디바이스에서 전력을 예비하기 위해 다이나믹 랜덤 액세스 메모리(DRAM)의 부분들의 리프레시(refreshing)를 디스에이블시키는 것에 관한 것이다.
배터리 재충전 동작들 사이에서 이동 통신 디바이스가 얼마나 오래 동작할 수 있는지가 사용자들에게 중요하다. 따라서, 이동 통신 디바이스들의 전력 소모 감소가 요구된다. 오늘날 이동 전화는 단지 상기 이동 전화 기능보다 더 많은 기능들을 가질 수 있기에 문제들이 복잡해진다. 상기 이동 전화는 실제로 운영 체제가 실행되는 상당히 범용 하드웨어 플랫폼이 되어 가고 있다. 상기 이동 전화 플랫폼의 다양한 기능들 각각은 일반적으로 자신만의 어플리케이션 계층 프로그램을 가진다. 이들 어플리케이션 계층 프로그램들 중 일부를 실행하는 것은 대용량의 메모리를 이용하고 자원들을 처리하는 단계를 수반할 수 있다. 예를 들어, 상기 이동 전화는 자신의 이동 전화 통신 기능에 부가하여 디지털 카메라 기능을 구비할 수 있다. 상기 이동 전화가 디지털 카메라로서 사용되는 경우, 대용량의 메모리가 메가픽셀 단위의 디지털 영상들을 캡쳐, 처리 및 저장하는데 사용될 수 있다. 따라서, 현대의 셀룰러 폰들에 대용량의 메모리가 현재 제공된다. 제공되는 상기 대용량의 메모리로 인해, 상기 메모리는 종종 다이나믹 랜덤 액세스 메모리(DRAM)이다. DRAM은 리프레시를 필요로 하고, 이러한 리프레시는 전력을 소모한다. 상기 이동 통신 디바이스가 배터리 재충전들 사이의 더 긴 기간 동안 동작할 수 있도록 DRAM 리프레시를 수행하는데 사용되는 전력량을 감소시키는 방안이 요구된다.
이동 통신 디바이스(예를 들어, 셀룰러 폰)의 상기 전력 소모는 상기 이동 통신 디바이스의 사용되지 않는 부분들의 리프레시를 디스에이블시킴으로써 감소된다. 한 가지 예시적인 이동 통신 디바이스에서, 상기 DRAM은 복수의 메모리 리프레시 범위들(MRRs)을 포함한다. 각 MRR의 리프레시는 MRR을 서로 간에 리프레시하는 것과는 독립적으로 인에이블 및 디스에이블될 수 있다.
신규의 메모리 리프레시 매니저(MRM)가 상기 이동 통신 디바이스의 운영 체제 내에 제공된다. 상기 MRM은 후속적인 슬립 모드 동작이 유지될 필요가 없는 가상 메모리 공간의 범위들을 식별한다. 일 예에서, 상기 운영 체제의 히프 매니저(heap manager)는 슬립 모드 동작동안 사용되지 않을 히프 가상 메모리(heap virtual memory)의 범위들의 리스트를 제공한다. 이 리스트는 상기 MRM에 제공된다. 또다른 예에서, 상기 운영 체제의 작업 관리자는 슬립 모드 동작동안 스택들에 의해 사용되지 않을 스택 가상 메모리의 범위들의 리스트를 제공한다. 이러한 리스트 역시 상기 MRM에 제공된다. 상기 MRM은 상기 리스트들 내에 있는 상기 정보를 이용하고, 물리적 메모리 공간에 있는 상기 데이터를 재정렬하고, (슬립 모드동안 유지될 필요가 없을 가상 메모리의 범위들과 관련한) 물리적 메모리 페이지들을 MRR들의 세트로 결합(conglomerate)하기 위해 가상 대 물리적 메모리 공간을 리매핑한다. 상기 리매핑은 상기 세트의 MRR들 중 임의의 한 MRR의 부분이라도 슬립 모드로 유지되어야 하는 부분이 없도록 이루어진다. 일 예에서, 상기 MRM은 상기 세트 내 모든 MRR들의 총 MRR 메모리 공간을 최대화하기 위해 상기 세트 내에 존재할 상기 MRR들을 선택한다. 이러한 MRR 메모리 공간을 최대화함으로써, 후속하는 슬립 모드 동작동안 리프레시되지 않는 DRAM의 양(amount)이 최대화된다. 상기 리프레시되지 않는 DRAM의 양을 최대화함으로써, 전력 절감의 양 역시 최대화된다.
슬립 모드 동작동안 리프레시될 필요가 있는 임의의 리매핑된 물리적 메모리 페이지 내의 정보는 새로운 물리적 메모리 페이지로 카피(copy)되어 그 결과 상기 정보는 상기 리매핑 후에 이전과 동일한 가상 어드레스에 상주한다. 이러한 카피는 위에서 설명된 상기 리매핑 동작 전에 상기 MRM에 의해 이루어진다. 상기 이동 통신 디바이스에서 동작하는 다른 소프트웨어(특히, 상기 MRM)가 가상 메모리 공간에서 동작하므로, 이러한 다른 소프트웨어의 동작은 상기 리매핑에 의해 영향을 받지 않는다.
일단 상기 카피와 리매핑이 수행되면, 이후, 상기 MRM은 상기 세트의 상기 MRM들의 리프레시를 디스에이블시키도록 상기 이동 통신 디바이스의 상기 메모리 시스템을 재구성한다. 일 예에서, 상기 MRM은 적절한 제어 정보를 상기 메모리 시스템의 메모리 제어기에 기록(writing)함으로써 리프레시를 디스에이블시킨다. 상기 메모리 제어기는 상기 제어 정보에 따라 DRAM 내 각 MRR의 상기 리프레시를 제어한다. 이후 상기 이동 통신 디바이스는 슬립 모드 동작을 시작한다. 슬립 모드 동작 동안, 상기 세트의 상기 MRM 중 어떤 것도 리프레시되지 않음으로써, 그렇지 않고 슬립 모드 동작동안 MRR들의 세트가 리프레시되는 경우 소모될 전력을 절감한다. 반드시 유지되어야 하는 정보를 저장하거나 혹은 슬립 모드 동안 사용될 다른 MRM들(특히 상기 세트의 상기 MRM들)이 리프레시되고, 그 결과 슬립 모드동안 실행중인 상기 소프트웨어가 적절하게 동작한다.
상기 이동 통신 디바이스가 저전력 슬립 모드 동작을 중지하고 정상 동작 모드 동작을 재개하는 경우, 상기 MRM은 모든 MRM들의 리프레시를 인에이블 시키도록 상기 메모리 시스템을 재구성한다. 일단 DRAM의 모든 MRM들이 리프레시중이고 동작상태라면, 이후 정상 동작 모드 동작이 재개된다.
추가적인 실시예 및 상세 항목이 아래 상세한 설명에서 설명된다. 이러한 요약은 본 발명을 제한하는 것으로 의도되지는 않는다. 본 발명은 청구항에 의해 한정된다.
도 1은 하나의 신규 실시예에 따라 이동 통신 디바이스(1)의 선택된 기능 컴포넌트들(소프트웨어 및 하드웨어)을 도시하는 블록도.
도 2는 히프 메모리 공간을 도시한 다이어그램. 히프 메모리 공간의 일부는 할당되고, 일부는 자유로움.
도 3A는 스택 메모리 공간을 도시한 다이어그램. 스택 메모리 공간의 일부 는 스택들에 의해 사용중이고, 일부는 스택들에 의해 사용되고 있지 않음.
도 3B는 네스티드 프로시저(nested procedure) 호출들이 도3A의 스택상에 푸싱 항목들(pushing items)을 어떻게 초래하는지를 예시하는 의사 코드의 다이어그램.
도 3C는 상기 도 3B의 의사코드가 실행될 때 수행되는 푸싱 및 팝핑(pushing and popping) 동작들을 열거하는 다이어그램.
도 4A는 메모리 관리 장치(MMU)가 CPU에 의해 출력된 가상 메모리 어드레스들을 상기 메모리 시스템에 의해 사용되는 물리적 메모리 어드레스들에 매핑시키는 방법을 예시한 다이어그램.
도 4B는 가상 대 물리적 메모리 공간으로의 변환을 예시하는 표.
도 5는 DRAM 메모리 공간이 어떻게 복수의 메모리 리프레시 영역들(MRR)로 섹션화되는지를 예시하는 다이어그램. 각 MRR의 리프레시는 그외 다른 MRR들을 리프레시하는 것과는 독립적으로 인에이블되거나 디스에이블될 수 있음.
도 6은 제 1 신규 방법의 간략화된 흐름도. 슬립 모드 동안 MRR의 리프레시는 가상 어드레스 공간을 물리적 어드레스 공간으로 MMU 리매핑하지 않고 디스에이블될 수 있음.
도 7은 상기 도 6의 제 1 신규 방법에 대한 메모리 공간 다이어그램.
도 8은 제 2 신규 방법의 간략화된 흐름도. 가상 메모리 공간의 물리적 메모리 공간으로의 MMU 리매핑은 물리적 메모리 페이지들을 결합하기 위해 실행되고, 이 물리적 메모리 페이지들의 콘텐츠는 후속적인 슬립 모드 동작동안은 유지될 필 요가 없다. 상기 결합된 물리적 메모리 페이지들이 매핑되고, 그 결과, 상기 결합된 물리적 페이지들은 MRR들의 세트를 완전히 점유한다. 상기 매핑이 실행되고, 그 결과 슬립 모드동안 유지될 필요가 없는 MRR 메모리 공간의 전체 양이 최대화되거나 혹은 실질적으로 최대화된다. 상기 리매핑 이후, 슬립 모드 동작은 상기 MRR들의 세트의 리프레시 없이 일어나서, 이에 의해 전력 소모를 감소시킨다.
도 9는 상기 도 8의 제 2 방법에 대한 메모리 공간 다이어그램.
도 10은 제 3 방법의 간략화된 흐름도이며, 여기서 모든 MRM들의 리프레시는 슬립 모드 동작에서 정상 모드 동작으로 되돌아가기전에 인에이블된다.
도 1은 하나의 신규 실시예에 따라 이동 통신 디바이스(1)의 기능 컴포넌트들을 예시하는 블록도이다. 이동 통신 디바이스(1)는 소프트웨어 및 하드웨어를 포함한다. 상기 소프트웨어는 슬립 매니저(SM)(2), 메모리 리프레시 매니저(MRM)(3), 히프 매니저(HM)(4) 및 작업 관리자(TM)(5)를 차례로 포함하는 운영 체제(13)를 포함한다. 상기 하드웨어는 중앙 처리 장치(CPU), 메모리 관리 장치(MMU)(6) 및 메모리 시스템(7)을 포함한다. 메모리 시스템(7)은 메모리 제어기(MC)(8) 및 상당량의 다이나믹 랜덤 액세스 메모리(DRAM)(9)를 포함한다. 상기 CPU, MMU 및 MC가 한 개의 단일 집적 회로 상에 통합되는 반면, 상기 DRAM은 이산형 DRAM 집적 회로로서 구현되는데, 이는 이러한 DRAM 집적회로들의 대량 생산의 이점을 취하기 위해서이다.
도 2는 히프 매니저(4)에 의해 조작되는 메모리 공간의 히프(10)를 예시하는 다이어그램이다. 다이어그램에서 수직 차원(dimension)는 상기 히프를 위해 예비되고(reserved) 상기 이동 통신 디바이스(1)의 상기 CPU에 대해 사용가능하게 된 전체 메모리 어드레스 공간을 나타낸다. 상기 메모리 공간은 예를 들어, DRAM(9), 정적 랜덤 액세스 메모리(SRAM), 비-휘발성 저장소 및, 다른 타입들의 저장소를 포함하는 다양한 타입의 저장 디바이스들을 나타낸다. 도 2에 예시된 예에서, 상기 히프(10)는 6 섹션들로 섹션화된다. 상기 섹션들은 A1, A2, F1, A3, F2 및 A4로 표시된다. 이 표시에서 상기 "A"는 상기 섹션이 히프 매니저(4)에 의해 소프트웨어 엔티티(예를 들어, 어플리케이션 프로그램, 프로시져 혹은 작업)으로 "할당되었음"을 표시한다. 이 표시에서 상기 "F"는 상기 메모리의 섹션이 "자유(free)"임을 지시한다. 자유는 상기 메모리의 섹션이 어떠한 소프트웨어에 의해서도 사용되고 있지 않음을 의미한다. 히프 매니저(4)는 상기 메모리 공간의 각 섹션들 및 각 섹션이 "할당되었는지" 혹은 "자유로운지"에 대해 계속 인지한다. 어플리케이션 프로그램이 시작된 경우, 상기 어플리케이션 프로그램은 통상적으로 히프 메니저(4)에게 상당량의 메모리 공간을 요청할 것이다. 상기 히프 메니저(4)는 메모리의 하나 이상의 자유 섹션들을 상기 어플리케이션 프로그램에 할당함으로써 응답할 것이다. 상기 어플리케이션 프로그램이 더 이상 자신에게 할당된 상기 메모리의 섹션들을 사용할 필요가 없는 경우, 상기 어플리케이션 프로그램은 통상적으로 히프 매니저(4)에게 상기 메모리를 자유롭게(free) 하겠다는 요청을 할 것이다. 히프 매니저(4)는 또한 다른 소프트웨어 엔티티들로의 미래의 할당에 사용가능해질 메모리의 섹션 혹은 섹션들이 "자유"로워지는 것을 고려하고 응답한다. 상기 다이어그램 에서 표시된 바와 같이, 히프의 메모리의 상기 다양한 섹션들의 크기들(10)은 통상적으로 변한다.
이동 통신 디바이스(1)가 사용중인 경우, 복수의 상이한 어플리케이션 프로그램들이 동시에 실행 중일 수 있다. 이들 어플리케이션 프로그램들은 대용량의 메모리의 사용을 함께 요구할 수 있다. 따라서, 상기 히프의 많은 부분이 할당될 수 있다. DRAM이 상기 히프 메모리 공간에 제공되기 위해 사용되는 경우, 상기 DRAM 메모리 셀들에 저장된 상기 정보가 유실되지 않도록 상기 DRAM 메모리 셀들은 반드시 주기적으로 리프레시되어야 한다. 이러한 리프레시는 상기 DRAM 메모리 셀들 내 커패시턴스의 충전을 수반하고, 따라서, 전류 흐름 및 전력 소모를 수반한다. 상기 이동 통신 디바이스(1)이 사용중인 경우 어플리케이션 프로그램들에 의한 대용량의 DRAM의 사용은 따라서 단지 상기 DRAM을 리프레시하는데에도 상당량의 전력 소모를 수반한다.
그러나, 이동 통신 디바이스(1)는 또한 저 전력 슬립 모드를 구비한다. 이동 통신 디바이스(1)가 슬립 모드로 동작 중인 경우, 매우 적은 어플리케이션 계층 프로그램이 액티브(active)하거나 혹은 어떤 어플리케이션 계층 프로그램도 액티브하지 않다. 상기 이동 통신 디바이스(1)는, 메시지가 상기 이동 통신 디바이스를 위해 지정되는지의 여부를 결정하고 또한 상기 이동 통신 디바이스가 슬립 모드를 빠져나와서 정상 동작을 재개해야하는지의 여부를 결정하기 위해 통신 트래픽을 감시하는 것 이상을 수행중이지는 않을 것이다. 이동 통신 디바이스(1)가 슬립 모드에서 동작 중인 경우, 상기 히프 내 매우 많은 양의 DRAM이 "자유"로우며, 사용중 이지 않다. 상기 DRAM 히프 메모리의 자유로운 부분은 사용중이지 않는 경우 리프레시될 필요가 없다.
도 3A, 3B 및 3C는 작업 관리자(2)에 의해 조작되는 스택의 동작을 예시하는 다이어그램들이다. 상기 스택은 스택 사용을 위해 예비된 메모리 공간(11)의 일부를 점유한다. 스택 메모리 공간(11)은 하향으로 뻗어있는 메모리 공간의 열(column)로서 도 3A에 나타난다. 도 3B는 프로시저 "메인(main)", 프로시저 "A", 및 프로시저 "B"를 포함하는 의사코드의 일부를 도시한다. 도 3C는 도 3B의 상기 코드가 실행되는 경우 일어날 수 있는 일련의 이벤트들을 예시한다. 예시된 상기 예에서, 소프트웨어는 몇몇 메모리 위치로부터 처음에 실행 중이다. 상기 프로시저 "메인"이 일어난 경우, 상기 CPU의 상기 프로그램 카운터 및 상기 CPU의 상태가 상기 스택으로 푸시된다. 상기 스택으로 푸시된 정보는 도 3A에서 S1으로 표시된다. 프로시저 "메인"의 실행이 시작된다. 도 3B에 예시된 바와 같이, 프로시저 "메인"을 실행하여 "INVOKE A(1,2,3)" 동작에 도달한다. 프로세스 흐름이 프로시저 A로 점프하기 전에, 상기 프로그램 카운터 및 프로세서 상태가 상기 스택으로 푸시된다. 상기 스택에 푸시된 정보는 도 3A에서 S2로 표시된다. 따라서, 항목들이 상기 스택으로 푸시됨에 따라, 상기 스택에 의해 사용되는 스택 메모리 공간(11)의 양이 증가하여 상기 스택은 상기 도 1의 방향에서 아래쪽으로 증가한다. 다음으로, 도 3B에 예시된 바와 같이, 프로시저 A의 실행은 "INVOKE B(X,Y,Z)" 동작에 도달한다. 처리가 프로시저 B로 점프하기 전에 상기 프로그램 카운터 및 프로세서 상태는 상기 스택으로 푸시된다. 상기 스택으로 푸시된 이러한 정보는 도 3A에서 S3으로 표시된다. 따라서, 상기 소프트웨어의 실행이 네스티드 프로시저 호출쪽으로 더 깊어짐에 따라, 더 많은 정보가 상기 스택으로 푸시된다. 사용되는 메모리 공간(11)의 양이 증가한다. 자유로운 메모리 공간(11)의 양은 감소한다.
다음으로, 프로시저 B의 실행이 시작된다. 프로시저 B의 끝에 있는 RETURN에 도달하면 처리는 프로시저 A로 되돌아갈 것이다. 프로시저 A로 되돌아가기 위해, 상기 항목들 S3가 상기 스택에서 팝 오프되고(popped off) 상기 CPU의 프로그램 카운터 및 상기 CPU의 상태를 복원하는데 사용된다. 따라서 상기 메모리 공간(11) 중 사용된 부분이 감소한다. 처리는 프로시저 A로 되돌아간다. 프로시저 A의 끝에 있는 "RETURN"에 도달하면, 처리는 프로시저 "메인"으로 되돌아간다. 프로시저 "메인"으로 되돌아가기 위해, 상기 항목들 S2가 스택으로부터 팝 오프되고(popped off), 프로그램 카운터 및 프로세서 상태를 복원하는데 사용된다. 따라서, 메모리 공간(11) 중 사용된 부분이 더욱 감소한다. 상기 CPU가 프로시저 "메인"에서 실행중일 때, 상기 스택상에 있는 유일한 항목들은 상기 항목들 S1이다. 상기 프로시저 "메인"의 끝에 있는 상기 "EXIT(TO OS)" 동작에 도달할 때, 상기 항목들 (S1)이 상기 스택에서 팝 오프되어 프로그램 카운터 및 프로세서 상태를 복원하는데 사용된다.
이동 통신 디바이스(1)가 사용중인 경우, 많은 항목들이 많은 상이한 스택들로 푸시되도록 소프트웨어가 실행될 수 있다. 액티브하게 사용중인 메모리 공간(11)의 양은 크다. 반면, 이동 통신 디바이스가 저 전력 슬립 모드인 경우, 소프트웨어 동작은 거의 일어나지 않는다. 극소수의 어플리케이션 계층 프로그램들 이 실행 중이거나 혹은 어떠한 어플리케이션 계층 프로그램들도 실행 중이지 않으며, 메모리 공간(11)은 스택들에 의해서 거의 사용되지 않는다. 상기 메모리 공간(11)의 미사용 부분이 DRAM으로 구현되는 경우, 상기 DRAM의 미사용 부분에는 어떠한 것도 저장되어 있지 않으므로, 상기 DRAM은 리프레시될 필요가 없다.
도 4A는 상기 이동 통신 디바이스(1)의 MMU(6)가 가상 메모리 어드레스 공간에서 물리적 메모리 어드레스 공간으로 매핑되는 방법을 도시하는 간략화된 다이어그램이다. 상기 메모리 시스템의 물리적 메모리(7)는 복수의 물리적 메모리 페이지들(MP)로 정렬된다. 본 예에서, 각각의 물리적 MP는 2k의 메모리 위치들을 포함한다. 상기 CPU 상에서 실행하는 소프트웨어는 마치 상기 소프트웨어에 의해 지정된 상기 어드레스들이 하나의 연속적인 어드레스 공간에 있는 어드레스들인 것 처럼 가상 메모리 공간 내에서 동작한다. 그러나 상기 가상 메모리 공간의 각 2k 어드레스 공간("가상 메모리 페이지"로서 본 명세서에서 참조됨)은 MMU(6)에 의해 상기 물리적 MP들 중 대응하는 하나로 매핑된다.
도 4B는 이러한 가상 메모리 공간의 물리적 메모리 공간 매핑의 일 예를 설명하는 표의 다이어그램이다. 가상 어드레스 범위(102k-(104k-1))는 물리적 어드레스 범위(0- (2k-1)) 및 물리적 메모리 페이지 0으로 매핑되고; 가상 어드레스 범위(18k-(20k-1))는 물리적 어드레스 범위(2k-(4k-1)) 및 물리적 메모리 페이지 1로 매핑되는 등 상기 표의 행들의 아래도 이와 같은 식이다. 물리적 페이지 크기는 사용되는 상기 MMU 및 물리적 메모리의 특성들에 의존한다. 상기 이동 통신 디바이스(1)의 운영 체제는 MMU(6)에 기록할 수 있고, 상기 가상 대 물리적 매핑을 변 경할 수 있다. 상기 매핑을 변경함으로써, 스텍 메모리(11)의 일부분을 어드레스지정하는 상기 가상 어드레스 범위가 변경될 수 있으며, 그 결과 상기 가상 어드레스 범위는 더 이상 물리적 메모리의 제 1 페이지에 매핑되지 않고 이제는 물리적 메모리의 제 2 페이지로 매핑한다. 만약 상기 스택 메모리 공간(11)의 상기 부분의 콘텐츠가 상기 제 1 페이지로부터 상기 제 2 페이지로 카피된다면, 상기 소프트웨어가 상기 가상 어드레스 공간에서 실행되고 상기 가상 어드레스 범위 내에 있는 메모리 위치를 액세스하는 경우, 스택 메모리 공간의 동일한 콘텐츠가 상기 소프트웨어에 대해 사용가능할 수 있다. 상기 소프트웨어가 가상 어드레스 공간에서 동작하기 때문에, 상기 소프트웨어의 관점에서, 메모리의 콘텐츠는 상기 리매핑 전후에 동일(identical)하다.
도 5는 메모리 시스템의 복수의 메모리 리프레시 범위들(MRR)의 일 예를 예시한 다이어그램이다. 다이어그램에서 수직 차원은 DRAM(9)에 의해 점유된 물리적 어드레스 공간을 나타낸다. DRAM(9)은 MRR1, MRR2 및 MRR3으로 각각 표시되는 세 개의 MRR들을 포함한다. 메모리 제어기(8)는 상기 DRAM의 상기 MRR들의 리프레시를 제어한다. 메모리 시스템(7)의 구조로 인해, 각 MRR의 리프레시는 그외 다른 MRR들의 리프레시와는 독립적으로 디스에이블 혹은 인에이블될 수 있다. 도 5의 예시된 예에서, MRR들 각각의 사이즈들은 상이하다. 하나의 MRR의 리프레시를 디스에이블하기 위해, MRM(3)은 적절한 제어 정보를 메모리 제어기(MC)(8)에 기록한다. 메모리 제어기(8)는 상기 지정된 MRR의 리프레시를 중지시킴으로써, 상기 제어 정보에 응답한다. 유사하게, MRM(3)은 하나의 선택된 MRR의 리프레시가 인에이 블되도록 적절한 제어 정보를 메모리 제어기(8)에 기록할 수 있다. 메모리 제어기(8)는 상기 지정된 MRR의 리프레시를 개시함으로써 상기 제어 정보에 응답한다.
도 6은 도 1의 상기 이동 통신 디바이스의 동작의 제 1 신규 방법의 흐름도이며, 여기서 하나의 MRR의 리프레시가 디스에이블되고 이에 의해 디스에이블되지 않은 경우 상기 MRR을 리프레시할 때 소비될 전력을 절감한다. 도 7은 상기 제 1 방법에서 메모리의 콘텐츠 및 정렬을 예시한 다이어그램이다.
제 1 단계에서(도 6의 단계 200), 이동 통신 디바이스(1)가 저전력 슬립 모드로 진입하는 것에 대한 결정이 이루어진다. 이러한 결정은, 예를 들어, 사용자 입력에 대한 응답으로(예를 들어, 상기 사용자가 전원 끔 버튼을 누름으로 인해) 슬립 매니저(2)에 의해 이루어질 수 있다.
제 2 단계에서(단계201), 슬립 모드동안 유지될 필요가 있는 정보를 포함하지 않는 메모리 리프레시 범위들(MRR들)이 식별된다. 메모리 리프레시 매니저(3)는, 예를 들어, 후속적인 슬립 동작에서 상기 히프 매니저에 의해 할당되지 않을 히프 가상 메모리 공간의 범위를 보고하는 히프 메니저(4)로 인해 이들 MRR들을 알게 될 수 있다. 유사하게, 작업 관리자(5)는 후속적인 슬립 모드 동작에서 스택들에 의해 사용되지 않을 스택 가상 메모리 공간의 범위들을 보고할 수 있다. 메모리 리프레시 매니저(3)는 어느 가상 메모리 공간들이 어느 물리적 메모리 페이지(MP)들에 매핑되는지, 및 어느 물리적 메모리 페이지(MP)들이 DRAM의 어느 물리적 메모리 리프레시 영역들(MRR)에서 버려지는지에 대한 지식(knowledge)을 유지한다. 히프 매니저(4) 및 작업 관리자(5)로부터 수신된 상기 정보로부터, 및 어느 가상 메모리 공간 범위들이 어느 MRR들로 매핑되는지에 대한 지식으로부터, 메모리 리프레시 매니저(3)는 상기 슬립 모드동안 유지되어야 하는 정보를 포함하지 않는 임의의 MRR들을 식별한다. (비록 단계(201)의 MRR들의 식별이 본 명세서에서 슬립 모드로 진입하는 것으로 단계(200)의 결정이 이루어진 후에 발생하는 것으로 설명되었지만, 상기 두 단계들의 순서는 역전될 수 있다. 대안적으로 단계(201)의 상기 MRR들의 식별은 계속적으로 진행중인 프로세스일 수 있다.)
도 7의 예에서, 가상 어드레스들(NPR1, NPR2 및 NPR3)의 범위들은 가상 어드레스 공간의 범위들이며, 이들의 콘텐츠는 슬립 모드동안 유지될 필요가 없다. 이들 범위들(NPR1, NPR2 및 NPR3)은 히프 매니저(4) 및 작업 관리자(5)에 의해 메모리 리프레시 매니저(3)에게 보고된다. 메모리 리프레시 매니저(3)는 MRR3만이 비-예약된 범위들(이 경우 NPR3)에 매핑되며, MMR3이 상기 슬립 모드 동안 유지될 필요가 있는 어떠한 정보도 포함하지 않음을 결정한다.
다음으로(단계 202), 메모리 리프레시 매니저(3)는 상기 식별된 물리적 MMR들의 리프레시를 디스에이블시켜서, 그 결과 이들 MRR들은 상기 후속하는 슬립 모드 동작 동안 리프레시되지 않는다. 일 예에서, 메모리 리프레시 매니저(3)는 메모리 시스템(7)의 상기 메모리 관리자(MC)(8)에 적절한 제어 정보를 기록함으로써 이들 MRR들의 리프레시를 디스에이블한다. 상기 제어 정보는 리프레시될 필요가 있는 상기 MRR들의 표시 뿐만 아니라 리프레시 인에이블 명령도 포함한다. 슬립 모드 동작동안 리프레시될 필요가 없는 상기 MRR들의 상기 표시들을 상기 제어 정보로부터 생략함으로써, 후속적인 MC(8)의 동작은 이들 MRR들의 리프레시를 수반하 지 않는다. 이러한 제 1 신규 방법에 있어서, 메모리 리프레시 매니저는 MMU(6)에 의해 저장된 가상 메모리 공간의 물리적 메모리 공간으로의 매핑을 변경하지 않는다. 이 예에서, 어플리케이션 계층 소프트웨어 동작은 디스에이블되지 않는다. 슬립 모드 동작동안 유지될 필요가 있는 정보를 저장하지 않을 MRR들이 단순히 식별되며, 이들 MRR들의 리프레시는 적절한 제어 정보를 메모리 제어기(8)에 기록함으로써 디스에이블된다. 도 7의 예에서, MRR3은 슬립 모드 동작동안 유지되어야 하는 어떠한 정보도 포함하지 않는다. 따라서 메모리 리프레시 매니저(3)는 MRR3의 리프레시를 디스에이블하기 위한 메모리 제어기(8)를 제어한다.
다음으로, 이동 통신 디바이스(1)는 슬립 모드로 진입한다(단계 203). 도 7의 예에서, 이동 통신 디바이스(1)가 슬립 모드에서 동작되는 경우, MRR3은 리프레시되지 않는다. 그 결과, 미사용 DRAM이 슬립 모드 동작동안 리프레시되는 시스템에 비해 전력 소모가 감소된다.
도 8은 도 1의 이동 통신 디바이스의 동작의 제 2 신규 방법의 흐름도이다. 도 9는 상기 제 2 방법에 있어서 메모리의 콘텐츠 및 정렬을 예시하는 다이어그램이다. 제 1 단계에서(도 8에서 단계(300)), 이동 통신 디바이스(1)가 저 전력 슬립 모드로 진입하는 결정이 이루어진다. 이러한 결정은, 예를 들어, 사용자 입력에 대한 응답으로(예를 들어, 상기 사용자가 전원 끔 키를 누름으로 인해) 슬립 매니저(2)에 의해 이루어질 수 있다.
제 2 단계(단계 301)에서, 슬립 매니저(2)는 MRM(3)를 호출(invoke)한다. MRM(3)은 작업 전환을 디스에이블 시킴으로써 그리고 인터럽트들을 디스에이블시킴 으로써 응답한다(단계 302). 이러한 디스에이블이 실행되고, 그 결과 리매핑될 메모리 공간을 사용하고 있는 소프트웨어는 후속하는 리매핑 프로세스동안 영향을 받지 않을 것이다.
다음으로, MRM3은 히프 매니저(HM)(4)를 호출(invoke)하여, 상기 히프 매니저(4)로부터 스택 메모리 공간에 있는 가상 메모리 범위들의 리스트를 획득하는데(단계 303), 여기서 각 가상 메모리 범위는 슬립 모드동안 리프레시될 필요가 없는 메모리 공간들의 범위이다. 히프 매니저(4)는, 예를 들어, 슬립 모드 동안 리프레시되지 않을 메모리로서, 미리 정해진 양의 히프 메모리(10)를 지정할 수 있다. 이러한 지정된 양의 히프 메모리(10)는 슬립 모드 동작의 복수의 주기들동안 사용되지 않는 히프의 양을 계속 트래킹함으로써 실험적으로 결정될 수 있다.
다음으로, MRM3은 작업 관리자(TM)(5)로부터 스택 메모리 공간에 있는 가상 메모리 범위들의 리스트를 획득하고(단계304), 여기서 각 가상 메모리 범위는 슬립 모드동안 어떠한 스택에 의해서도 사용되지 않을 메모리 공간들의 범위이다. 작업 관리자(5)는 슬립 모드 동작의 복수의 주기들 동안 다양한 스택들의 값들이 얼마나 깊이 푸시되는지를 계속 트래킹함에 의해 실험적으로 이들 범위들을 식별할 수 있다. 이들 가상 메모리 범위들을 얻기 위한 상기 히프 매니저 및 작업 관리자들을 호출(invoke)하는 하나의 순서가 도 8의 흐름도에 도시되지만, 상기 히프 및 작업 관리자들은 다른 순서로서도 역시 호출될 수 있다. 대안적으로, 가상 어드레스 공간의 어느 영역들이 슬립 모드동안 사용되지 않을 것인가에 대한 모든 정보는 상기 히프 매니저 혹은 상기 작업 관리자 중 어느 하나로부터 획득될 수 있다.
도 8의 단계(305)에서, MRM3은 서로간에 인접한 물리적 메모리 내에 비-유지된 범위들을 위치시켜서, DRAM의 전체 메모리 리프레시 범위(MRR)들이 오직 NPR들만을 포함하는 배열을 결정한다. 이러한 매열은 오직 NPR들만을 포함하는 DRAM 내에 MRR들의 전체량을 최대화하거나 혹은 실질적으로 최대화한다.
도 9는 도 8의 단계 306 전후에 NPR들의 구성 및 물리적 페이지들을 도시한다. 가장 왼쪽의 두 개의 열들은 MRR들이 물리적 메모리 내에서 어떻게 정렬되는지 보여준다. 첫번째 열은 DRAM으로 전체적으로 구현된 물리적 메모리 공간을 보여주는데, 상기 DRAM은 세 개의 상이한 리프레시 범위들(MRR)로 분할된다. 두번째 열은 메모리가 어떻게 물리적 메모리 페이지(MP)들로 정렬되는지를 보여준다. 물리적 MP들(0-4)은 MRR1 내에 있다. 물리적 MP들(5-9)DMS MRR2 내에 있다. 물리적 MP들(10-12)은 MRR3 내에 있다.
도 9에 있는 세번째 및 네번째 열들은 도 8의 단계 306 이전에 비-유지된 범위들(NPR) 및 이들의 대응되는 물리적 메모리 페이지(MP)들을 도시한다. 상기 세번째 열은 슬립 모드 동안 리프레시될 필요가 없는 것으로서 마킹된 히프 매니저(4) 및 작업 관리자(5)를 도시한다. 상기 네번째 열은 대응하는 NPR들이 점유하는 물리적 메모리 페이지들을 도시한다. 메모리 공간은 상기 도면에서 아래쪽으로 연장되고, 그 결과 상기 페이지 번호들은 상기 도면이 위에서 밑으로 갈수록 증가한다(본 예에서 0-12). 상기 세번째 열(이 세번째 열은 단계 306이전에 MP들 및 NPR들을 보여줌)에서, NPR1은 MP0의 일부, MP1 모두, 및 MP2의 일부를 포함한다. NPR2는 MP3의 일부, MP4 모두, 및 MP5의 일부를 포함한다. NPR3은 MP6의 일부, MP7 모두, 및 MP8의 일부를 포함한다. 도 9의 이전 열들(3 및 4)이 도시하는 바와 같이 각 MRR(MRR1, MRR2 및 MRR3)은 슬립 모드 동안 유지되어야 하는 적어도 몇몇 정보를 포함하고, 따라서 리프레시는 상기 NPR들이 재배열되지 않는다면 슬립 모드 동안 상기 MRR들 중 어느 것에 대해서도 디스에이블될 수 없다.
도 9에서 가장 우측의 두 개의 열들은 도 8의 단계(306)가 완료된 후 메모리를 재배열한 결과를 도시한다. 이러한 새로운 매핑에 있어서, MP10(도 9의 "물리적 페이지들" 아래에 "구 페이지 10"으로 표시됨)은 MP 1("구 페이지 10"과 동일한 행에 있고 열 2 및 4 "물리적 페이지들" 아래에 숫자 "1"로 표시됨)에 카피된다. 유사하게, MP11은 MP4에 카피되고, MP12는 MP7에 카피된다. 모든 세 개의 카피된 페이지들(10,11,12)는 슬립 모드 동안 리프레시를 요구하는데, 왜냐하면 이들 카피된 페이지들은 비-유지된 범위들(NPR1, NPR2, 또는 NPR3) 내에 상주하지 않았기 때문이다. 슬립 모드동안 유지될 필요가 없는 정보를 포함하는 구 MP1는 MP10(열 6의 "물리적 페이지들" 아래에 "구 페이지 1"로 표시됨)에 카피된다. 마찬가지로, 역시 유지될 필요가 없는 구 MP4 및 구 MP7도 MP들(11 및 12)에 각각 카피된다(열 6에서 "구 페이지 4" 및 "구 페이지 7"). 새로운 배열에 있어서, MP1, MP4 및 MP7 모두는 슬립 모드 동안 유지될 필요가 없는 정보를 포함하며, 이들 페이지들은 모두 단일 메모리 관리 영역 3(MMR3)에 모두 매핑되며, 이 MMR3은 유지를 필요로 하는 어떠한 페이지들도 포함하지 않고, 따라서, MRR3은 이제 후속하는 슬립 모드 동작동안 메모리 리프레시를 디스에이블시키고 전력을 절감하기 위한 후보이다.
만약 상기 새로운 배열이 가상 대 물리적 메모리 어드레스들로의 리매핑이 없이 수행된다면, 상기 소프트웨어는 단계 306 동안 이동된 상기 물리적 MP들 내에 저장된 액세스 정보에 대해 동일한 가상 어드레스들을 더 이상 사용할 수 없을 것이다. 상기 가상 어드레스들은 이제 다른 물리적 메모리 페이지들로 매핑될 것이며, 가상 어드레스들에 의존하는 소프트웨어는 올바르게 동작하지 않을 것이다. 그러므로, 도 8의 상기 메모리 리매핑 단계(307)가 필요하다.
도 8의 단계(307)에서, MRM3은 MMU6을 구성하여, 그 결과 물리적 어드레스 공간 내에 이동된 모든 메모리 위치들은 단계(306) 이전에 가졌던 것과 동일한 가상 어드레스들을 가질 것이다(이 단계는 도 9에서 미도시됨). 단계(307)는 상기 소프트웨어가 상기 소프트웨어 자체에 대한 변경을 필요로 하지 않고 계속해서 적절히 동작하는 것을 보장한다. 일단 단계(307)이 완료되면, 상기 소프트웨어는 단계(305)에서 결정되고 단계(306)에서 실행된 물리적 메모리 배열로의 변화들을 알지 못한 채 유지하며, 물리적 메모리가 재배열되기 전에 수행했던 것처럼 동일한 가상 어드레스들로부터 정보를 검색할 수 있다.
도 8의 단계(308)에 있어서, MRM3은 비-유지된 영역들(NPR들)만을 포함하는 MRR들의 리프레시를 디스에이블시키기 위해 메모리 제어기(7)를 재구성한다. 도 9에서, MRR3만이 리프레시를 디스에이블시킬수 있는데, 왜냐하면 상기 MRR3은 오직 NPR들(도 9의 다섯번째 컬럼에서 " 구 페이지 1", "구 페이지 4", 및 "구 페이지7" 옆에 있는 수직선들로 표시됨)로만 구성된 유일한 MRR이기 때문이다.
다음으로(단계 308), MRM3은 상기 메모리 제어기(7)을 재구성하여, NPR들만을 포함하는 MRR들의 리프레시가 디스에이블된다. 도 9의 예에서, MRR3은 비-유지 된 범위의 프레그먼트들(fragments)에만 매핑된다. 이는 MRR3에 대응하는 행들에서 도 9의 제일 오른쪽에서 두번째 열에 있는 수직선들로 표시된다. 단계(308)은 상기 MRR3의 리프레시를 디스에이블시키는 것을 수반한다.
다음으로(단계 309), MRM3은 작업 전환 및 인터럽트들을 인에이블시켜서(단계 309), 그 결과 어플리케이션 계층 프로그램들은 다시 실행될 수 있고, 할당된 히프 섹션들일 수 있으며, 스택들을 사용할 수 있다. 이후 슬립 매니저(2)는 이동 통신 디바이스(1)를 슬립 모드로 둔다(단계 310). 이동 통신 디바이스(1)가 슬립 모드에 있는 경우, MRR3의 DRAM이 소프트웨어에 의해 사용되지 않으며 리프레시되지 않는다.
도 10은 세 번째 신규 방법의 흐름도이며, 여기서 이동 통신 디바이스(1)는 슬립 모드 동작 주기 이후에 깨어난다. 슬립 매니저(2)는 이동 통신 디바이스(1)가 슬립 모드 동작에서 복원되어 정상 동작 모드 동작으로 되돌아갈 것을 결정한다(단계 400). 슬립 매니저(2)는 MRM3을 호출한다(단계 401). MRM3은 작업 전환 및 인터럽트들을 디스에이블시켜서(단계 402), 그 결과 후속하는 메모리 제어기(8)의 재구성은 어플리케이션 계층 프로그램들 및 작업들의 동작을 양보(compromise)하지 않을 것이다. MRM3은 이후 상기 메모리 제어기(8)을 재구성해서, 그 결과 모든 MRR들이 리프레시된다(단계 403). 도 9의 예에 있어서, 상기 MRR3의 리프레시는 다시 인에이블되고, 이에 의해 도 8의 단계 308의 리프레시 디스에이블이 역진행(reversing)한다. 메모리 제어기(8)는 MRR1, MRR2 및 MRR3의 리프레시를 재개한다. 다음으로(단계 404), MRM3은 작업 전환 및 인터럽트들을 인에이블시킨다. 슬 립 매니저(2)는 이후 이동 통신 디바이스(1)로 하여금 슬립 모드 동작을 빠져나가게 하고 정상 동작 모드로 동작을 시작하게 한다(단계 405). 어플리케이션 계층 프로그램들이 실행되도록 허용된다. 여기서, 이동 통신 디바이스(1)는 셀룰러 폰이며, 어플리케이션 계층 프로그램들은 인입되는 셀룰러 폰 메시지들을 분석하고 예컨대 디지털 카메라로서의 동작과 같은 다른 기능들을 수행하도록 동작할 수 있다. DRAM에서 구현되는 모든 히프 메모리 공간(10) 및 모든 스택 메모리 공간(11)이 이용가능하다.
특정한 구체적 실시예들이 설명의 목적들로 위에서 설명되었지만, 본 발명은 이에 제한되지 않는다. 따라서, 청구항들에서 설명된 바와 같은 본 발명의 범위를 벗어남이 없이 상기 설명된 구체적 실시예들의 다양한 특징들에 대한 다양한 수정들, 적응들 및 조합들이 실행될 수 있다.
Claims (24)
- (a) 이동 통신 디바이스의 메모리 시스템에 정보를 저장하는 단계 - 상기 메모리 시스템은 복수의 메모리 리프레시 영역들(MRR)을 포함하고, 여기서 특정 MRR의 리프레시는 상기 MRR들 중 다른 MRR들의 리프레시와는 독립적으로 디스에이블될 수 있고, 상기 메모리 시스템은 복수의 물리적 메모리 페이지들(MP)로서 구성됨 - ;(b) 복수의 가상 어드레스 범위들 각각이 상기 복수의 물리적 메모리 페이지(MP)들 중 대응하는 물리적 메모리 페이지로 매핑되도록 가상 대 물리적 어드레스 변환을 유지하는 단계;(c) 상기 복수의 MP들 중 어느 것들이 슬립 모드에서 유지될 필요가 있는 정보를 저장하는지 그리고 상기 복수의 MP들 중 어느 것들이 상기 슬립 모드에서 유지될 필요가 있는 정보를 저장하지 않는지에 대한 정보를 유지하는 단계 - 상기 MP들 중 제 1 MP는 유지될 필요가 없는 정보를 저장하고, 상기 MP들 중 제 2 MP는 유지될 필요가 있는 정보를 저장하고, 상기 MP들 중 제 3 MP는 유지될 필요가 있는 정보를 저장하지 않고, 상기 제 2 및 제 3 MP들은 상기 메모리 시스템 내에 있는 인접한 페이지들이며, 상기 제 1 MP는 상기 MRR들 중 제 1 MRR의 일부이고, 상기 제 2 및 제 3 MP들은 상기 MRR들 중 제 2 MRR의 일부들임 - ;(d) 상기 제 2 MP에서 상기 제 1 MP로 정보를 카피(copying)하는 단계;(e) 이전에 상기 제 2 MP로 매핑되었던 상기 가상 어드레스 범위가 이제 상 기 제 1 MP로 매핑되도록, 그리고 이전에 상기 제 1 MP로 매핑되었던 상기 가상 어드레스 범위가 이제 상기 제 2 MP에 매핑되도록 상기 가상 대 물리적 어드레스 변환을 변경하는 단계; 및(f) 상기 제 1 MRR은 상기 슬립 모드에서 리프레시되지만, 상기 제 2 MRR은 슬립 모드에서 리프레시되지 않도록 상기 메모리 시스템을 구성하는 단계를 포함하는방법.
- 제1항에 있어서,상기 이동 통신 시스템은 셀룰러 폰이고, 상기 메모리 리프레시 영역들(MRR)은 동적 랜덤 액세스 메모리(DRAM)의 영역들인방법.
- 제2항에 있어서, 상기 단계(c)는,히프 매니저(heap manager)로부터 히프 메모리의 일부분의 표시(indication)를 수신하는 단계 - 상기 히프 매니저는 상기 히프를 관리하고, 상기 히프의 상기 일부분은 상기 슬립 모드 동안 사용되지 않을 일부분임 - 를 더 포함하는방법.
- 제2항에 있어서, 상기 단계(c)는:작업 관리자로부터 스택 메모리의 일부분의 표시를 수신하는 단계 - 상기 스택 메모리의 상기 일부분은 상기 슬립 모드 동안 임의의 스택의 일부가 아닐 일부분임 - 를 더 포함하는방법.
- 제2항에 있어서,상기 이동 통신 디바이스에서의 어플리케이션 계층 프로그램들의 실행은 단계(e)에서의 상기 가상 대 물리적 어드레스 변환을 변경하는 단계동안 디스에이블되는방법.
- 제2항에 있어서,상기 메모리 시스템은 메모리 제어기 및 일정량의 동적 랜덤 액세스 메모리(DRAM)을 포함하고,(f)에서의 상기 구성하는 단계는 상기 메모리 제어기를 구성하는 단계를 포함하는방법.
- 제2항에 있어서,상기 물리적 메모리 페이지들 중 몇몇은 DRAM이고, 상기 물리적 메모리 페이 지들 중 다른 몇몇은 다른 타입의 메모리인방법.
- 제2항에 있어서,상기 슬립 모드에서 유지될 필요가 있는 정보는 상기 슬립 모드동안 액세스되지 않을 것이지만 슬립 모드 동작 이후 액세스 될 수 있는 정보를 포함하는방법.
- 제2항에 있어서,단계(c)에서 상기 복수의 MP들 중 어느 것들이 슬립 모드에서 유지될 필요가 있는 정보를 저장하는지에 대한 상기 정보는:1) 가상 메모리 어드레스 범위들의 리스트 - 상기 리스트 내 각각의 가상 메모리 어드레스 범위는 상기 슬립 모드에서 유지될 필요가 없는 가상 메모리 어드레스들의 범위임 - ,2) 가상 메모리 어드레스 범위 대 물리적 메모리 페이지 변환 정보, 및3) 각 MRR에 대응하는 상기 물리적 메모리 페이지들에 대한 정보를 포함하는방법.
- (a) 이동 통신 디바이스 내 동적 랜덤 액세스 메모리(DRAM)에 정보를 저장하는 단계 - 상기 DRAM은 복수의 메모리 리프레시 범위들(MRR)을 포함하고, 각 MRR의 리프레시는 MRR 리프레시와는 독립적으로 인에이블 및 디스에이블될 수 있음;(b) 가상 대 물리적 어드레스 공간 변환을 유지하기 위해 상기 이동 통신 디바이스에서 메모리 관리 장치(MMU)를 사용하는 단계 - 상기 변환은 복수의 물리적 메모리 페이지들 각각을 복수의 가상 메모리 페이지들 중 대응하는 가상 메모리 페이지와 연관시킴;(c) 상기 이동 통신 디바이스의 저 전력 모드의 동작동안 사용되지 않을 특정 가상 메모리 페이지들을 식별하는 단계;(d) 단계(c)에서 식별된 상기 특정 가상 메모리 페이지들로 매핑된 상기 물리적 메모리 페이지들 중 적어도 몇몇이 물리적 메모리 공간에서 서로 인접하게 결합되도록 상기 가상 대 물리적 어드레스 공간 변환을 리매핑하기 하기 위해 상기 메모리 관리 장치를 재구성하는 단계 - 상기 결합된 물리적 메모리 페이지들은 상기 MRR들 중 제 1 MRR들에 있는 모든 물리적 메모리 페이지들임; 및(e) 상기 제 1 MRR은 리프레시되지 않지만 상기 MRR들 중 다른 MRR들은 리프레시되도록 상기 저 전력 모드에서 상기 이동 통신 디바이스를 동작시키는 단계를 포함하는방법.
- 제10항에 있어서,단계(c)는 가상 메모리 공간의 범위들의 리스트를 수신하는 단계를 포함하고,상기 리스트에서 각 범위는 상기 저 전력 모드동안 사용되지 않을 가상 메모리 공간의 범위이고,단계(c)는 어느 가상 메모리 페이지들이 상기 리스트 내의 상기 범위들 각각에 대응하는지를 결정하는 단계를 더 포함하는방법.
- 제10항에 있어서,단계(c)는 가상 메모리 페이지들의 리스트를 수신하는 단계를 포함하며상기 리스트에서 각 가상 메모리 페이지는 상기 저 전력 모드동안 사용되지 않을 가상 메모리 페이지인방법.
- 제10항에 있어서,단계(d)는, 상기 제 1 MRR 내에 상기 저전력 모드 동안 사용될 물리적 메모리 페이지들이 존재하지 않도록, 단계(c)에서 식별된 상기 특정 가상 메모리 페이지들로 매핑되는 상기 적어도 몇몇 물리적 메모리 페이지들이 상기 MRR들 중 상기 제 1 MRR 내에 있도록 결합되게 하고, 그리고 상기 제 2 MRR 내에 상기 저 전력 모드동안 사용될 물리적 메모리 페이지들이 존재하지 않도록 단계(c)에서 식별된 상기 특정 가상 메모리 페이지들로 매핑된 상기 메모리 페이지들 중 다른 몇몇은 상기 MRR들 중 제 2 MRR 내에 있도록 결합되게 하여 상기 가상 대 물리적 어드레스 공간 변환을 리매핑하는 단계 - 상기 제 1 MRR 및 상기 제 2 MRR 어느 것도 단계(e)에서 상기 저 전력 모드에서의 상기 동작 동안 리프레시되지 않음 - 를 포함하는방법.
- 제10항에 있어서,상기 이동 통신 디바이스는 히프(heap)를 구비한 셀룰러 폰이고,상기 히프의 제 1 부분은 단계(c)에서 상기 이동 통신 디바이스의 상기 저 전력 모드의 동작동안 사용되지 않을 가상 어드레스 공간의 일부인 것으로 식별되고,상기 히프의 제 2 부분은 단계(e)의 상기 저 전력 모드 동작동안 사용되는 가상 어드레스 공간의 일부이고, 또한상기 제 1 부분 및 제 2 부분 모두 상기 MMU에 의해 동적 랜덤 액세스 메모리(DRAM) 내 물리적 메모리 페이지들로 매핑되는방법.
- 제10항에 있어서,상기 이동 통신 디바이스는 스택 메모리 공간을 구비한 셀룰러 폰이고,상기 스택 메모리 공간의 제 1 부분은 단계(c)에서 상기 이동 통신 디바이스의 상기 저 전력 모드 동작동안 사용되지 않을 가상 어드레스 공간의 일부가 되는 것으로 식별되고,상기 스택 메모리 공간의 제 2 부분은 단계(e)의 상기 저 전력 모드 동작동안 사용되는 가상 어드레스 공간의 일부이고,상기 제 1 부분 및 제 2 부분 모두 상기 MMU에 의해 동적 랜덤 액세스 메모리(DRAM) 내 물리적 메모리 페이지들로 매핑되는방법.
- 이동 통신 디바이스로서,일정량의 동적 랜덤 액세스 메모리(DRAM) - 상기 DRAM은 복수의 메모리 리프레시 범위들(MRR)을 포함하고, 각 MRR의 리프레시는 각각의 다른 MRR의 리프레시와는 독립적으로 인에이블 및 디스에이블 될 수 있음 - ;가상 대 물리적 어드레스 공간 변환을 유지하는 메모리 관리 유닛(MMU) - 상기 변환은 복수의 물리적 메모리 페이지들 각각을 복수의 가상 메모리 페이지들 중 대응하는 가상 메모리 페이지와 연관시킴 - ; 및프로세서-실행가능한 명령들의 세트를 실행하는 프로세서를 포함하며, 상기 프로세서-실행가능한 명령들의 세트는:(a) 상기 이동 통신 디바이스의 저 전력 모드 동작 동안 사용되지 않을 특정 가상 메모리 페이지들을 식별하는 단계;(b) 단계(a)에서 식별된 상기 특정 가상 메모리 페이지들로 매핑되는 상기 물리적 메모리들 중 적어도 몇몇이 물리적 메모리 공간에서 서로 인접하게 결 합되도록 상기 가상 대 물리적 어드레스 공간 변환을 리매핑하기 위해 상기 MMU를 재구성하는 단계 - 상기 결합된 물리적 메모리 페이지들은 상기 MRR들 중 제 1 MRR 내에 있는 모든 물리적 메모리 페이지들임; 및(c) 상기 제 1 MRR은 리프레시되지 않고, 상기 MRR들 중 다른 MRR들이 리프레시되도록 상기 저 전력 모드에서 상기 이동 통신 디바이스를 동작시키는 단계를 수행하는이동 통신 디바이스.
- 제16항에 있어서,단계(b)는 단계(c)에서 동작시 사용되는 가상 메모리 페이지를 리매핑하는 단계를 포함하고,단계(b)의 상기 리매핑 이전에 상기 가상 메모리 페이지는 제 1 물리적 메모리 페이지에 매핑되고,단계(b)의 상기 리매핑 이후에 상기 가상 메모리 페이지는 제 2 물리적 메모리 페이지로 매핑되고,상기 프로세서-실행가능한 명령들의 세트는 또한:(d) 상기 제 1 물리적 메모리 페이지 내에 저장된 정보를 상기 제 2 물리적 메모리 페이지로 카피하는 단계 - 상기 카피하는 단계는 단계(a) 후에 그리고 단계(c) 이전에 수행됨 - 를 수행하기 위한 것인이동 통신 디바이스.
- 제17항에 있어서,상기 제 2 물리적 메모리 페이지는 단계(c)에서 상기 저 전력 모드에서의 동작동안 리프레시되는이동 통신 디바이스.
- 일정량의 동적 랜덤 액세스 메모리(DRAM) - 상기 DRAM은 복수의 메모리 리프레시 범위들(MRR)을 포함하고, 각 MRR의 리프레시는 독립적으로 인에이블 및 디스에이블됨; 및후속하는 관련 디바이스의 비활성(inactivity) 주기동안 사용되지 않을 가상 메모리 공간의 부분들이 물리적 메모리 공간으로 매핑되도록 가상 대 물리적 어드레스 공간 변환을 리매핑하기 위한 수단 - MRR들의 세트로 매핑된 이러한 모든 가상 어드레스 공간은 상기 후속하는 주기동안 사용되지 않을 가상 어드레스 공간이고, 상기 세트의 상기 MRR들은 상기 세트 내 상기 MRR들의 모든 어드레스 공간들의 총합이 실질적으로 최대화되도록 상기 수단에 의해 선택됨 - 을 포함하는디바이스.
- 제19항에 있어서,상기 디바이스는 셀룰러 폰이고, 상기 수단은 프로세서, 메모리 관리 유닛, 및 프로세서-실행가능한 명령들을 포함하고, 상기 수단은 또한:상기 세트의 상기 MRR들 각각의 리프레시가 디스에이블되도록, 그리고 다른 MRR들은 리프레시가 인에이블되도록 상기 후속하는 주기에서 상기 디바이스를 동작시키기 위한 수단인디바이스.
- 프로세서-판독가능한 매체에 저장된 프로세서-실행가능한 명령들의 세트로서,상기 프로세서-실행가능한 명령들의 세트는,(a) 디바이스 내 일정량의 동적 랜덤 액세스 메모리(DRAM)에 정보를 저장하는 단계 - 상기 DRAM은 복수의 메모리 리프레시 범위들(MRR)을 포함하고, 각 MRR의 리프레시는 각각의 다른 MRR의 리프레시와는 독립적으로 인에이블 및 디스에이블됨 - ;(b) 가상 대 물리적 어드레스 공간 변환을 유지하는 메모리 관리 유닛(MMU)을 이용하는 단계 - 상기 변환은 복수의 물리적 메모리 페이지들 각각을 복수의 가상 메모리 페이지들 중 대응하는 가상 메모리 페이지와 연관시킴 - ;(c) 상기 디바이스의 저 전력 모드의 동작 동안 사용되지 않을 특정 가상 메모리 페이지들을 식별하는 단계;(d) 단계(c)에서 식별된 상기 특정 가상 메모리 페이지들로 매핑된 상기 물리적 메모리 페이지들 중 적어도 몇몇은 물리적 메모리 공간에서 서로 인접하 게 결합되도록 상기 가상 대 물리적 어드레스 공간 변환을 리매핑하기 위해 상기 MMU를 재구성하는 단계 - 상기 결합된 물리적 메모리 페이지들은 상기 MRR들 중 하나의 MRR에 있는 모든 물리적 메모리 페이지들임; 및(e) 상기 하나의 MRR은 리프레시되지 않고 상기 MRR들 중 다른 MRR들은 리프레시되도록 상기 저 전력 모드로 상기 디바이스를 동작시키는 단계를 수행하는프로세서-실행가능한 명령들의 세트.
- 제21항에 있어서,단계(d)는 단계(e)에서의 동작에 사용되는 가상 메모리 페이지를 리매핑하는단계를 포함하고,상기 단계(d)의 리매핑 이전의 상기 가상 메모리 페이지는 제 1 물리적 메모리 페이지로 매핑되고,상기 단계(d)의 리매핑 이후의 상기 가상 메모리 페이지는 제 2 물리적 메모리 페이지로 매핑되고,상기 프로세서-실행가능한 명령들의 세트는 또한(f) 상기 제 1 물리적 메모리 페이지에 저장된 정보를 상기 제 2 물리적 메모리 페이지로 카피하는 단계 - 상기 카피하는 단계는 단계(c) 이후에 그리고 단계(d) 이전에 수행됨 - 를 수행하는프로세서-실행가능한 명령들의 세트.
- 제21항에 있어서,상기 디바이스는 이동 통신 디바이스인프로세서-실행가능한 명령들의 세트.
- 제21항에 있어서,단계들 (b) 내지 (e)를 수행하는 상기 프로세서-실행가능한 명령들은 상기 디바이스에서 실행가능한 운영 체제의 프로세서-실행가능한 명령들인프로세서-실행가능한 명령들의 세트.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/345,975 US20070180187A1 (en) | 2006-02-01 | 2006-02-01 | Reducing power consumption by disabling refresh of unused portions of DRAM during periods of device inactivity |
US11/345,975 | 2006-02-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080094938A true KR20080094938A (ko) | 2008-10-27 |
Family
ID=38197700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087021425A KR20080094938A (ko) | 2006-02-01 | 2007-02-01 | 디바이스 비활성 주기동안 dram 의 사용되지 않는 부분들의 리프레시를 디스에이블함에 의한 전력 소모 감소 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070180187A1 (ko) |
EP (1) | EP1979818A1 (ko) |
JP (1) | JP2009525555A (ko) |
KR (1) | KR20080094938A (ko) |
CN (1) | CN101379472A (ko) |
WO (1) | WO2007090195A1 (ko) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8127080B2 (en) * | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
US8316218B2 (en) | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
US8612977B2 (en) | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
US8452947B2 (en) | 2008-02-01 | 2013-05-28 | International Business Machines Corporation | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms |
US8516484B2 (en) | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
US8015379B2 (en) | 2008-02-01 | 2011-09-06 | International Business Machines Corporation | Wake-and-go mechanism with exclusive system bus response |
US8341635B2 (en) | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
US8145849B2 (en) | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
US8250396B2 (en) | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
US8732683B2 (en) * | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
US8225120B2 (en) * | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
US8640141B2 (en) * | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
US8171476B2 (en) | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
US8788795B2 (en) | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
US8386822B2 (en) | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
US8312458B2 (en) | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
US8880853B2 (en) * | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
US7509511B1 (en) * | 2008-05-06 | 2009-03-24 | International Business Machines Corporation | Reducing register file leakage current within a processor |
GB2466264A (en) * | 2008-12-17 | 2010-06-23 | Symbian Software Ltd | Memory defragmentation and compaction into high priority memory banks |
US8145723B2 (en) | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
US8886919B2 (en) | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
US8230201B2 (en) | 2009-04-16 | 2012-07-24 | International Business Machines Corporation | Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system |
US8082315B2 (en) | 2009-04-16 | 2011-12-20 | International Business Machines Corporation | Programming idiom accelerator for remote update |
US9411674B2 (en) * | 2010-03-19 | 2016-08-09 | Microsoft Technology Licensing, Llc | Providing hardware resources having different reliabilities for use by an application |
US8412882B2 (en) | 2010-06-18 | 2013-04-02 | Microsoft Corporation | Leveraging chip variability |
US20120324251A1 (en) * | 2011-05-26 | 2012-12-20 | Sony Mobile Communications Ab | Optimized hibernate mode for wireless device |
JP2013045338A (ja) * | 2011-08-25 | 2013-03-04 | Fujitsu Mobile Communications Ltd | 端末装置及び端末装置におけるメモリ制御方法 |
JP2013134533A (ja) * | 2011-12-26 | 2013-07-08 | Fuji Xerox Co Ltd | 演算処理システムおよびプログラム |
US20150015913A1 (en) * | 2012-01-10 | 2015-01-15 | Kyocera Document Solutions Inc. | Image processing apparatus and image forming apparatus |
US10157657B2 (en) * | 2012-08-28 | 2018-12-18 | Rambus Inc. | Selective refresh with software components |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
JP6163073B2 (ja) * | 2013-09-26 | 2017-07-12 | キヤノン株式会社 | 画像処理装置とその制御方法、及びプログラム |
US9972376B2 (en) * | 2013-11-07 | 2018-05-15 | International Business Machines Corporation | Memory device for interruptible memory refresh |
US10096353B2 (en) * | 2013-11-07 | 2018-10-09 | International Business Machines Corporation | System and memory controller for interruptible memory refresh |
US9632562B2 (en) | 2014-11-20 | 2017-04-25 | Qualcomm Incorporated | Systems and methods for reducing volatile memory standby power in a portable computing device |
US9595329B1 (en) | 2015-10-16 | 2017-03-14 | Nxp Usa, Inc. | Non-volatile random access memory (NVRAM) with backup control |
KR102389232B1 (ko) * | 2015-10-16 | 2022-04-22 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 시스템 |
US9972375B2 (en) | 2016-04-15 | 2018-05-15 | Via Alliance Semiconductor Co., Ltd. | Sanitize-aware DRAM controller |
US10664405B2 (en) | 2017-11-03 | 2020-05-26 | Google Llc | In-memory distributed cache |
JP6793316B2 (ja) | 2018-03-30 | 2020-12-02 | パナソニックIpマネジメント株式会社 | 電子機器、制御方法、及び、プログラム |
CN113126738A (zh) * | 2019-12-31 | 2021-07-16 | 爱普存储技术(杭州)有限公司 | 消耗功率管理方法及存储模组 |
US11972034B1 (en) | 2020-10-29 | 2024-04-30 | Amazon Technologies, Inc. | Hardware-assisted obscuring of cache access patterns |
EP4033365A1 (en) | 2021-01-25 | 2022-07-27 | Nordic Semiconductor ASA | Memory retention for radio device |
US11755496B1 (en) | 2021-12-10 | 2023-09-12 | Amazon Technologies, Inc. | Memory de-duplication using physical memory aliases |
KR20240104989A (ko) * | 2022-12-28 | 2024-07-05 | 삼성전자주식회사 | 저장 장치, 이의 동작 방법, 및 전자 장치 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07200295A (ja) * | 1993-12-28 | 1995-08-04 | Matsushita Electric Ind Co Ltd | マイクロプロセッサとメモリ制御装置及びコンピュータシステム |
US5928365A (en) * | 1995-11-30 | 1999-07-27 | Kabushiki Kaisha Toshiba | Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states |
JP2003044354A (ja) * | 2001-07-26 | 2003-02-14 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
US6742097B2 (en) * | 2001-07-30 | 2004-05-25 | Rambus Inc. | Consolidation of allocated memory to reduce power consumption |
KR100437609B1 (ko) * | 2001-09-20 | 2004-06-30 | 주식회사 하이닉스반도체 | 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치 |
EP1408510A3 (en) * | 2002-05-17 | 2005-05-18 | Matsushita Electric Industrial Co., Ltd. | Memory control apparatus, method and program |
JP2005011434A (ja) * | 2003-06-19 | 2005-01-13 | Mitsubishi Electric Corp | ダイナミックメモリ制御装置及びこれを用いた携帯端末 |
GB2406668B (en) * | 2003-10-04 | 2006-08-30 | Symbian Ltd | Memory management in a computing device |
JP2006012267A (ja) * | 2004-06-24 | 2006-01-12 | Mitsubishi Electric Corp | メモリ装置 |
US7823158B2 (en) * | 2005-08-18 | 2010-10-26 | International Business Machines Corporation | Adaptive scheduling and management of work processing in a target context in resource contention |
-
2006
- 2006-02-01 US US11/345,975 patent/US20070180187A1/en not_active Abandoned
-
2007
- 2007-02-01 KR KR1020087021425A patent/KR20080094938A/ko not_active Application Discontinuation
- 2007-02-01 WO PCT/US2007/061486 patent/WO2007090195A1/en active Application Filing
- 2007-02-01 JP JP2008553514A patent/JP2009525555A/ja active Pending
- 2007-02-01 EP EP07762665A patent/EP1979818A1/en not_active Withdrawn
- 2007-02-01 CN CNA2007800039885A patent/CN101379472A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2007090195A1 (en) | 2007-08-09 |
JP2009525555A (ja) | 2009-07-09 |
US20070180187A1 (en) | 2007-08-02 |
EP1979818A1 (en) | 2008-10-15 |
CN101379472A (zh) | 2009-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20080094938A (ko) | 디바이스 비활성 주기동안 dram 의 사용되지 않는 부분들의 리프레시를 디스에이블함에 의한 전력 소모 감소 | |
US5928365A (en) | Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states | |
US9329995B2 (en) | Memory device and operating method thereof | |
US8589650B2 (en) | Dynamically configurable memory system | |
US7454639B2 (en) | Various apparatuses and methods for reduced power states in system memory | |
EP3289465B1 (en) | Systems and methods for optimizing memory power consumption in a heterogeneous system memory | |
WO2018059079A1 (zh) | 一种内存管理方法和装置 | |
US7010656B2 (en) | Method and apparatus for memory management | |
US20100312955A1 (en) | Memory system and method of managing the same | |
US10878880B2 (en) | Selective volatile memory refresh via memory-side data valid indication | |
US20030217246A1 (en) | Memory control apparatus, method and program | |
US6629111B1 (en) | Memory allocation system | |
WO2016138785A1 (zh) | 一种运行进程的方法及装置 | |
CN105786722B (zh) | 基于异构混合内存的nvm内存擦写控制方法和系统 | |
US7196961B2 (en) | Memory control device | |
US10318188B2 (en) | Method of controlling memory cell access based on safe address mapping | |
KR20050120344A (ko) | 데이터 백업에 의한 에스디램의 셀프 리프레쉬 소모전류절감 방법 | |
CN109783145B (zh) | 一种创建基于多映像的多功能嵌入式系统的方法 | |
US7934073B2 (en) | Method for performing jump and translation state change at the same time | |
CN111984410A (zh) | 一种在嵌入式系统中低资源占用的内存保护系统 | |
JP2007317176A (ja) | 端末装置 | |
EP4307306A1 (en) | Access method for storage unit, repair method, die and storage chip | |
JP2002229864A (ja) | 半導体装置 | |
US20230168822A1 (en) | Memory management method and semiconductor device adjusting size of contiguous memory allocation area | |
US20050125690A1 (en) | Method for controlling an instruction memory of an embedded system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |