IP Library › Granted Patent US 9,740,438
Granted Patent B2
US 9,740,438 · App. 14/831,567 · Granted Aug 22, 2017

Allocating memory on multiple types of main memory technologies from software application layer

Inventor: Ahmad Hassan (Belfast, GB)
Assignee: SAP SE
G06F3/0685G06F3/0622G06F3/0637G06F12/0238G06F12/0284G06F12/1009G06F3/0647G06F2212/1044
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,740,438
App. No.
14/831,567
Granted
Aug 22, 2017
Kind
B2
Abstract

Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for receiving, from an application being executed, a memory allocation request, the memory allocation request indicating a type of physical memory in a hybrid memory system, providing a virtual memory area based on the type of physical memory, providing a mapping entry that maps the virtual memory area to the type of physical memory, and enabling access to physical memory in the hybrid memory based on a plurality of mapping entries, the mapping entry being included in the plurality of mapping entries.

Claims (34)

1. A computer-implemented method executed by one or more processors, the method comprising:

receiving, by one or more processors and from an application being executed, a memory allocation request, the memory allocation request indicating a type of physical memory in a hybrid memory system;

providing, by the one or more processors, a virtual memory area based on the type of physical memory;

providing, by the one or more processors, a mapping entry that maps the virtual memory area to the type of physical memory; and

enabling, by the one or more processors, access to physical memory in the hybrid memory based on a plurality of mapping entries, the mapping entry being included in the plurality of mapping entries.

2. The method of claim 1 , wherein the memory allocation request is received by a custom memory allocator of a plurality of custom memory allocators, each custom memory allocator corresponding to a respective type of physical memory in the hybrid memory system.

3. The method of claim 1 , wherein an operating system executed by at least one computing device provides the virtual memory area and provides the mapping entry.

4. The method of claim 1 , wherein each mapping entry corresponds to a respective type of physical memory in the hybrid memory system.

5. The method of claim 4 , wherein each mapping entry is an e820 mapping entry.

6. The method of claim 1 , wherein the memory allocation request is provided in response to execution of a memory allocation command of the application.

7. The method of claim 1 , wherein the type of physical memory comprises one of dynamic random access memory (DRAM) and storage class memory (SCM).

8. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving, from an application being executed, a memory allocation request, the memory allocation request indicating a type of physical memory in a hybrid memory system;

providing a virtual memory area based on the type of physical memory;

providing a mapping entry that maps the virtual memory area to the type of physical memory; and

enabling access to physical memory in the hybrid memory based on a plurality of mapping entries, the mapping entry being included in the plurality of mapping entries.

9. The computer-readable storage medium of claim 8 , wherein the memory allocation request is received by a custom memory allocator of a plurality of custom memory allocators, each custom memory allocator corresponding to a respective type of physical memory in the hybrid memory system.

10. The computer-readable storage medium of claim 8 , wherein an operating system executed by at least one computing device provides the virtual memory area and provides the mapping entry.

11. The computer-readable storage medium of claim 8 , wherein each mapping entry corresponds to a respective type of physical memory in the hybrid memory system.

12. The computer-readable storage medium of claim 11 , wherein each mapping entry is an e820 mapping entry.

13. The computer-readable storage medium of claim 8 , wherein the memory allocation request is provided in response to execution of a memory allocation command of the application.

14. The computer-readable storage medium of claim 8 , wherein the type of physical memory comprises one of dynamic random access memory (DRAM) and storage class memory (SCM).

15. A system, comprising:

a computing device; and

a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations comprising:

receiving, from an application being executed, a memory allocation request, the memory allocation request indicating a type of physical memory in a hybrid memory system;

providing a virtual memory area based on the type of physical memory;

providing a mapping entry that maps the virtual memory area to the type of physical memory; and

enabling access to physical memory in the hybrid memory based on a plurality of mapping entries, the mapping entry being included in the plurality of mapping entries.

16. The system of claim 15 , wherein the memory allocation request is received by a custom memory allocator of a plurality of custom memory allocators, each custom memory allocator corresponding to a respective type of physical memory in the hybrid memory system.

17. The system of claim 15 , wherein an operating system executed by at least one computing device provides the virtual memory area and provides the mapping entry.

18. The system of claim 15 , wherein each mapping entry corresponds to a respective type of physical memory in the hybrid memory system.

19. The system of claim 18 , wherein each mapping entry is an e820 mapping entry.

20. The system of claim 15 , wherein the memory allocation request is provided in response to execution of a memory allocation command of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2015
From: HASSAN, AHMAD
To: SAP SE
Reel/Frame 036836/0821 →
Continuity (1)
Related Publication 20170052741A1 · Feb 23, 2017