IP Library › Granted Patent US 8,924,624
Granted Patent B2
US 8,924,624 · App. 13/323,167 · Granted Dec 30, 2014

Information processing device

Inventor: Takashi Miyoshi (Kawasaki, JP)
Assignee: Fujitsu Limited
G06F12/0284G06F12/109G06F2212/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 8,924,624
App. No.
13/323,167
Granted
Dec 30, 2014
Kind
B2
Abstract

An information processing device includes: a data transferring unit configured to directly transfer data to a first memory area allocated to a virtual machine from an input/output device for controlling a data input/output to/from an external device by mutually translating between an address of the first memory area allocated to the virtual machine and an address of a second memory area that is a real memory of the first memory area; a detecting unit configured to detect the data directly transferred from the input/output device to the first memory area allocated to the virtual machine; a registering unit configured to generate update information about the first memory area changed using the detected data and to store the update information in a first storing unit when the detected data satisfies a predetermined condition; and an outputting unit configured to output the update information.

Claims (58)

1. An information processing device, comprising:

a virtual machine implementing unit configured to implement a virtual machine by using hardware resources;

a memory configured to include a first memory area allocated to the virtual machine;

a data transferring unit configured to directly transfer data to the first memory area from an input/output device for controlling a data input/output to/from an external device by mutually translating between a guest physical address of the first memory area and a host physical address of the first memory area;

a detecting unit configured to detect the data directly transferred from the input/output device to the first memory area allocated to the virtual machine;

a registering unit configured to generate update information about the first memory area changed using the detected data when the detected data satisfies a predetermined condition, and to store the update information in a first storing unit; and

an outputting unit configured to output the update information stored in the first storing unit, wherein

only when the first memory area changed using the detected data and the first memory area stored in a second storing unit for storing the first memory area changed most recently are different, the update information is generated and stored in the first storing unit, and the changed first memory area is stored in the second storing unit.

2. The information processing device according to claim 1 , wherein when a page including the first memory area changed using the data detected by the detecting unit and a page next to the page including the first memory area stored in the second storing unit are different, the registering unit generates the update information, stores the update information in the first storing unit, and stores the changed first memory area in the second storing unit.

3. The information processing device according to claim 1 , wherein:

the update information includes count information obtained by counting the number of pages of the first memory area changed using the data detected by the detecting unit; and

when a page including the first memory area changed using the data detected by the detecting unit and a page next to the page including the first memory area stored in the second storing unit are the same, the registering unit increments a count value indicated by the count information included in the update information by 1, and stores the changed first memory area in the second storing unit.

4. The information processing device according to claim 1 , wherein the registering unit stores a plurality of first memory areas changed in the past in the second storing unit, generates the update information, stores the update information in the first storing unit, and stores the changed first memory area in the second storing unit when the first memory area changed using the data detected by the detecting unit is different from all the plurality of first memory areas stored in the second storing unit.

5. The information processing device according to claim 4 , wherein when a memory area within a predetermined range from the first memory area changed using the detected data is not included in the second storing unit, the update information is generated and stored in the first storing unit, and the changed first memory area is stored in the second storing unit.

6. The information processing device according to claim 4 , wherein:

the update information includes expansion information about an expansion of a size of a page including the changed first memory area; and

when a memory area within a predetermined range from the first memory area changed using the detected data is included in the second storing unit, expansion information of the update information about the first memory area included in the second storing unit is updated to a size of the page including the first memory area changed using the data detected by the detecting unit.

7. The information processing device according to claim 1 , wherein the data detected by the detecting unit is directly transferred from the input/output device to the first memory area allocated to the virtual machine according to an instruction from the virtual machine, and written to the first memory area.

8. The information processing device according to claim 1 , wherein the update information is information including identification information for identifying the input/output device that transfers the data, and an address of the first memory area, which is a transfer destination of the data.

9. The information processing device according to claim 1 , wherein the first storing unit comprises a first storing means and a second storing means, which store or read update information mutually independently.

10. A virtualization method for use in an information processing device comprising a memory including a first memory area allocated to a virtual machine, the virtualization method comprising:

implementing the virtual machine by managing hardware resources;

directly transferring data to the first memory area from an input/output device for controlling a data input/output to/from an external device by mutually translating between a guest physical address of the first memory area and a host physical address of the first memory area;

detecting the data directly transferred from the input/output device to the first memory area that are allocated to the virtual machine;

generating update information about the first memory area changed using the detected data and of storing the update information in a first storing unit when the detected data satisfies a predetermined condition; and

outputting the update information stored in the first storing unit, wherein

only when the first memory area changed using the detected data and the first memory area stored in a second storing unit for storing the first memory area changed most recently are different, the update information is generated and stored in the first storing unit, and the changed first memory area is stored in the second storing unit.

11. An information processing device comprising:

a virtual machine implementing unit configured to implement a virtual machine by using hardware resources;

a memory configured to include a first memory area allocated to the virtual machine;

a data transferring unit configured to directly transfer data to the first memory area from an input/output device for controlling a data input/output to/from an external device by mutually translating between a guest physical address of the first memory area and a host physical address of the first memory area;

a memory area transferring unit configured to obtain data stored in the first memory area allocated to the virtual machine to be migrated, and to transfer the data to a migration destination;

a detecting unit configured to detect the data directly transferred from the input/output device to the first memory area allocated to the virtual machine;

a registering unit configured to generate update information about the first memory area changed using the detected data and to store the update information in a first storing unit when the detected data satisfies a predetermined condition;

an update information obtaining unit configured to obtain the update information from the first storing unit; and

an update data transferring unit configured to transfer, to the migration destination, the update data changed using the data detected by the detecting unit in the first memory area allocated to the virtual machine to be migrated using the update information obtained by the update information obtaining unit, wherein

only when the first memory area changed using the detected data and the first memory area stored in a second storing unit for storing the first memory area changed most recently are different, the update information is generated and stored in the first storing unit, and the changed first memory area is stored in the second storing unit.

12. The information processing device according to claim 11 , wherein the update data transferring unit comprises

a first update data transferring unit configured to transfer the update data to the migration destination until the number of pieces of update information stored in the first storing unit becomes equal to or smaller than a predetermined value, and

a second update data transferring unit configured to transfer the update data to the migration destination after suspending an operation of the virtual machine to be migrated.

13. A migration method for migrating a virtual machine implemented by a first information processing device comprising a memory including a first memory area allocated to the virtual machine to a second information processing device communicatively coupled to the first information processing device, the migration method comprising:

implementing one or more virtual machine by using hardware resources;

directly transferring data to the first memory area from an input/output device for controlling a data input/output to/from an external device by mutually translating between a guest physical address of the first memory area and an host physical address of the first memory area;

obtaining data stored in the first memory area allocated to the virtual machine to be migrated, and of transferring the obtained data to the second information processing device;

detecting the data directly transferred from the input/output device to the first memory area allocated to the virtual machine;

generating update information about the first memory area changed using the detected data and of storing the update information in a first storing unit when the detected data satisfies a predetermined condition;

obtaining the update information from the first storing unit; and

transferring, to the second information processing device, update data changed using the detected data in the first memory area allocated to the virtual machine to be migrated using the update information, wherein

only when the first memory area changed using the detected data and the first memory area stored in a second storing unit for storing the first memory area changed most recently are different, the update information is generated and stored in the first storing unit, and the changed first memory area is stored in the second storing unit.

14. A non-transitory storage medium storing a program used to direct an arithmetic device to perform a process for migrating a virtual machine implemented by a first information processing device including a memory including a first memory area allocated to the virtual machine and an arithmetic device to a second information processing device communicatively coupled to the first information processing device, the process comprising:

implementing one or more virtual machines by using hardware resources;

directly transferring data to the first memory area from an input/output device for controlling a data input/output to/from an external device by mutually translating between a guest physical address of the first memory area and a host physical address of the first memory area;

obtaining data stored in the first memory area allocated to the virtual machine to be migrated, and of transferring the obtained data to the first information processing device;

detecting the data directly transferred from the input/output device to the first memory area allocated to the virtual machine;

generating update information about the first memory area changed using the detected data and of storing the update information in a first storing unit when the detected data satisfies a predetermined condition;

obtaining the update information from the first storing unit; and

transferring, to the first information processing device, the update data changed using the data detected by the transfer data detecting process in the first memory area allocated to the virtual machine to be migrated using the update information obtained by the update information obtaining process, wherein

only when the first memory area changed using the detected data and the first memory area stored in a second storing unit for storing the first memory area changed most recently are different, the update information is generated and stored in the first storing unit, and the changed first memory area is stored in the second storing unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2012
From: MIYOSHI, TAKASHI
To: FUJITSU LIMITED
Reel/Frame 027559/0913 →
Priority Claims (1)
JP 2010-282158 · Dec 17, 2010 · national
Continuity (1)
Related Publication 20120159101A1 · Jun 21, 2012