IP Library Granted Patent US 9,229,651
Granted Patent B2
US 9,229,651 · App. 13/775,955 · Granted Jan 5, 2016

Method and apparatus for managing memory in virtual machine environment

Inventors: Changwoo Min (Seoul, KR); Inhyeok Kim (Seoul, KR); Taehyoung Kim (Gyeonggi-do, KR); Young Ik Eom (Seoul, KR)
Assignees: Samsung Electronics Co., Ltd; Sungkyunkwan University Foundation for Corporate Collaboration
G06F3/0644G06F3/061G06F3/0673G06F9/45558G06F9/5016G06F12/023G06F12/08G06F2009/45583G06F2212/151
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,229,651
App. No.
13/775,955
Granted
Jan 5, 2016
Kind
B2
Abstract

A method and apparatus for managing a memory in a portable terminal including a main memory, a secondary memory, and a plurality virtual machines allocated by partitioning the main memory are provided. The method includes generating, by the virtual machines, monitoring information by monitoring access to the main memory and the secondary memory and swapping out with respect to the secondary memory; determining memory allocation amounts for each of the virtual machines by using the monitoring information; and allocating the main memory to the virtual machines in a partitioning scheme based on the determined memory allocation amounts.

Claims (33)

1. A method of managing a memory in a portable terminal including a main memory, a secondary memory, and a plurality virtual machines allocated by partitioning the main memory, the method comprising:

generating, by the virtual machines, monitoring information by monitoring access to the main memory and the secondary memory and swapping out with respect to the secondary memory, wherein access is an operation of reading out information from the main memory and the secondary memory and swapping out is an operation of writing an application or data in the secondary memory;

determining memory allocation amounts for each of the virtual machines by using the monitoring information; and

allocating the main memory to the virtual machines in a partitioning scheme based on the determined memory allocation amounts.

2. The method of claim 1 , wherein determining the memory allocation amounts for each of the virtual machines comprises:

calculating page miss rates according to a ratio of respective pre-set memory allocation amounts to respective amounts of the main memory necessary for each of the virtual machines; and

determining the memory allocation amounts of the virtual machines based on the calculated page miss rates.

3. The method of claim 2 , wherein determining the memory allocation amounts of the virtual machines comprises preferentially allocating, when an additional memory amount is allocated to the virtual machines, the same additional memory amount to a virtual machine having a greatest reduction in the page miss rate among the virtual machines.

4. The method of claim 1 , wherein determining the memory allocation amounts of the virtual machines comprises determining the memory allocation amounts of the virtual machines in consideration of a preset importance of each of the virtual machines.

5. The method of claim 1 , wherein monitoring access to the main memory and the secondary memory comprises refraining from monitoring access of hot pages corresponding to a hot list while monitoring access of warm pages corresponding to a warm list and access of cold pages corresponding to a cold list, and

wherein the hot list, the warm list, the cold list are classified according to an access order of pages.

6. The method of claim 5 , further comprising:

moving, when access of a page corresponding to the warm list or the cold list is monitored, an accessed page to the hot list;

moving a latest accessed page from the hot list to the warm list; and

moving a latest accessed page from the warm list to the cold list.

7. The method of claim 6 , further comprising swapping out information of a removed page when a page is removed from the cold list.

8. The method of claim 5 , further comprising periodically changing a size of the hot list.

9. A portable terminal, comprising:

a secondary memory;

a main memory for storing virtual machines and a virtual machine monitor loaded from the secondary memory; and

a controller for accessing the main memory to interpret commands of the virtual machines and the virtual machine monitor, and executing a function according to a result of the interpretation,

wherein the virtual machine monitor generates monitoring information by monitoring access to the main memory and the secondary memory and swapping out with respect the secondary memory by the virtual machines, determines memory allocation amounts for each of the virtual machines using the monitoring information, and partitions the main memory to the virtual machines based on the determined memory allocation amounts,

wherein access is an operation of reading out information from the main memory and the secondary memory and swapping out is an operation of writing an application or data in the secondary memory.

10. The portable terminal of claim 9 , wherein the virtual machine monitor calculates page miss rates according to a ratio of the respective pre-set memory allocation amounts to respective amounts of the main memory necessary for each of the virtual machines, and determines the memory allocation amounts of the virtual machines based on the calculated page miss rates.

11. The portable terminal of claim 10 , wherein the virtual machine monitor preferentially allocates, when an additional memory amount is allocated to the virtual machines, the same additional memory amount to a virtual machine having a greatest reduction in the page miss rate among the virtual machines.

12. The portable terminal of claim 9 , wherein the virtual machine monitor determines the memory allocation amounts of the virtual machines in consideration of a preset importance of each of the virtual machines.

13. The portable terminal of claim 9 , wherein the virtual machine monitor does not monitor access of hot pages corresponding to a hot list but monitors access of warm pages corresponding to a warm list and access of cold pages corresponding to a cold list, and

wherein the hot list, the warm list, the cold list are classified according to an access order of pages.

14. The portable terminal of claim 13 , wherein the virtual machine monitor moves an accessed page to the hot list, moves a latest accessed page from the hot list to the warm list, and moves a latest accessed page from the warm list to the cold list when access of a page corresponding to the warm list or the cold list is monitored.

15. The portable terminal of claim 14 , wherein the virtual machine monitor swaps out information of a removed page when a page is removed from the cold list.

16. The portable terminal of claim 13 , wherein the virtual machine monitor periodically changes a size of the hot list.

17. The portable terminal of claim 9 , wherein the main memory further comprises a virtual swap unit controlling swapping of the virtual machines and swapping of the virtual machine monitor, and

wherein the controller executes a function of the virtual swap unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2013
From: MIN, CHANGWOO; KIM, INHYEOK; KIM, TAEHYOUNG; EOM, YOUNG IK
To: SAMSUNG ELECTRONICS CO., LTD.; SUNGKYUNKWAN UNIVERSITY FOUNDATION FOR CORPORATE COLLABORATION
Reel/Frame 029972/0979 →
Priority Claims (1)
KR 10-2012-0147693 · Dec 17, 2012 · national
Continuity (1)
Related Publication 20140173227A1 · Jun 19, 2014