IP Library Granted Patent US 11,416,409
Granted Patent B2
US 11,416,409 · App. 17/029,329 · Granted Aug 16, 2022

Computer system and memory management method

Inventors: Takahiro Abe (Tokyo, JP); Takashi Noda (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F12/0873G06F9/4406G06F9/5016G06F12/0871G06F12/0882G06F12/1081G06F12/1425G06F2212/657G06F2212/7201
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 11,416,409
App. No.
17/029,329
Granted
Aug 16, 2022
Kind
B2
Abstract

A memory management method of a computer including a memory and a processor connected to the memory, the method includes, by the processor, executing an OS and executing a plurality of processes on the OS. The plurality of processes include a virtual storage device and an application. The processor provides the application with a physical area of the memory, which is managed by the OS, controls the virtual storage device to use a physical area of the memory, which is mounted on the computer, but is not managed by the OS, secures continuous physical areas from the physical area of the memory, which is managed by the OS, to be used by the virtual storage device, and performs DMA transfer between the virtual storage device and the application by using the secured continuous physical areas.

Claims (54)

1. A computer comprising:

a memory; and

a processor connected to the memory,

wherein the processor is configured to:

execute an operating system (OS), and a plurality of processes on the OS, the plurality of processes include a virtual storage device and an application,

allocate a portion of the memory, which is managed by the OS as an OS-managed area,

manage another portion of the memory, which is mounted on the computer, but is not managed by the OS, as an OS-unmanaged area,

allocate a first physical area of the OS-managed area of the memory to the application,

allocate a second physical area, which is different than the first physical area, of the OS-unmanaged area of the memory to the virtual storage device,

allocate a third physical area of the OS-managed area, which is different than the first physical area and the second physical area and is a continuous physical area, to a first process which is used by both the virtual storage device and the application, and

perform direct memory access (DMA) transfer between the virtual storage device and the application by using the continuous third physical area in the OS-managed area,

wherein the computer further comprises:

a boot disk,

wherein the boot disk stores a mapping table for managing a virtual leading address of the OS and information indicating whether or not an area is the OS-managed area, for each area of the memory,

wherein the continuous physical areas are secured from the OS-managed area by the processor using a function of a huge page,

wherein the memory stores:

a huge-page-number management table for managing the reserved number of huge pages and the allocated number of huge pages for the size of the huge page in order to manage a respective physical area of the OS-managed area, and

an OS-unmanaged management table for managing information corresponding to a leading physical address of the OS-unmanaged area of the memory and a respective physical address allocated to the virtual storage device,

wherein the processor is configured to:

refer to the mapping table to determine whether a target area is the OS-managed area,

when the target area is not the OS-managed area, allocate physical addresses corresponding to a required size from the allocated physical address of the OS-unmanaged management table, from the virtual leading address of the mapping table and updates the allocated physical address of the OS-unmanaged management table, and

when the target area is the OS-managed area, refer to the huge-page-number management table to select a huge page having a size larger than the required size, allocate a physical area secured by the selected huge page from the virtual leading address of the mapping table, and update the allocated number in the huge-page-number management table,

wherein the mapping table manages a power-off target flag indicating whether the area of the memory stores data to be saved in power cut-off, for each area of the memory, and

when the area stores the data to be saved in power cut-off, by the power-off target flag, the processor is configured to create a protection target management table managed by setting the allocated physical address of the OS-unmanaged management table or the leading physical address of the physical area secured by the selected huge page as the leading physical address of the area and associating the leading physical address with a physical address in a backup device and the size of the area.

2. The computer according to claim 1 ,

wherein the memory includes a volatile memory and a non-volatile memory, and

wherein the mapping table further manages, for each area of the memory, information indicating whether the memory in which the area is disposed is the volatile memory or the non-volatile memory, and the power-off target flag indicating whether the area stores data to be saved in power cut-off.

3. The computer according to claim 1 ,

wherein the computer includes the backup device, and

wherein the physical address in the backup device in the protection target management table manages a storing destination address of saved data in the backup device.

4. The computer according to claim 3 , wherein

the processor restores the saved data in the backup device in association with a virtual leading address of the corresponding area in the mapping table.

5. A memory management method of a computer comprising a memory and a processor connected to the memory, the method executed by the processor, the method comprising:

executing an operating system (OS) and a plurality of processes on the OS, the plurality of processes including a virtual storage device and an application;

allocating a portion of the memory, which is managed by the OS as an OS-managed area;

managing another portion of the memory, which is mounted on the computer, but is not managed by the OS, as an OS-unmanaged area;

allocating a first physical area of the OS-managed area of the memory to the application;

allocating a second physical area, which is different than the first physical area, of the OS-unmanaged area of the memory to the virtual storage device;

allocating a third physical area of the OS-managed area, which is different than the first physical area and the second physical area and is a continuous physical area, to a first process which is used by both the virtual storage device and the application; and

performing direct memory access (DMA) transfer between the virtual storage device and the application by using the continuous third physical area in the OS-managed area,

wherein the computer further comprises:

a boot disk,

wherein the method further comprises:

storing, by the boot disk, a mapping table for managing a virtual leading address of the OS and information indicating whether or not an area is the OS-managed area, for each area of the memory;

wherein the continuous physical areas are secured from the OS-managed area by the processor using a function of a huge page,

wherein the memory stores:

a huge-page-number management table for managing the reserved number of huge pages and the allocated number of huge pages for the size of the huge page in order to manage a respective physical area of the OS-managed area, and

an OS-unmanaged management table for managing information corresponding to a leading physical address of the OS-unmanaged area of the memory and a respective physical address allocated to the virtual storage device,

wherein the processor is configured to:

refer to the mapping table to determine whether a target area is the OS-managed area,

when the target area is not the OS-managed area, allocate physical addresses corresponding to a required size from the allocated physical address of the OS-unmanaged management table, from the virtual leading address of the mapping table and updates the allocated physical address of the OS-unmanaged management table, and

when the target area is the OS-managed area, refer to the huge-page-number management table to select a huge page having a size larger than the required size, allocate a physical area secured by the selected huge page from the virtual leading address of the mapping table, and update the allocated number in the huge-page-number management table,

wherein the mapping table manages a power-off target flag indicating whether the area of the memory stores data to be saved in power cut-off, for each area of the memory, and

when the area stores the data to be saved in power cut-off, by the power-off target flag, the processor is configured to create a protection target management table managed by setting the allocated physical address of the OS-unmanaged management table or the leading physical address of the physical area secured by the selected huge page as the leading physical address of the area and associating the leading physical address with a physical address in a backup device and the size of the area.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: ABE, TAKAHIRO; NODA, TAKASHI
To: HITACHI, LTD.
Reel/Frame 053857/0313 →
Priority Claims (1)
JP JP2020-023760 · Feb 14, 2020 · national
Continuity (1)
Related Publication 20210255959A1 · Aug 19, 2021