IP Library Granted Patent US 11,698,859
Granted Patent B2
US 11,698,859 · App. 16/728,457 · Granted Jul 11, 2023

Direct map memory extension for storage class memory

Inventor: Mariusz Barczak (Gdansk, PL)
Assignee: SK Hynix NAND Product Solutions Corp.
G06F12/0284G06F2212/1024G06F2212/1041
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,698,859
App. No.
16/728,457
Granted
Jul 11, 2023
Kind
B2
Abstract

An embodiment of an electronic apparatus may include one or more substrates, and logic coupled to the one or more substrates, the logic to receive a first request to allocate a direct swap file associated with an application stored in a system memory on a persistent storage media, and map a linear and continuous space of the persistent storage media to the direct swap file associated with the application in response to the first request. Other embodiments are disclosed and claimed.

Claims (56)

1. An electronic apparatus, comprising:

one or more substrates; and

logic coupled to the one or more substrates, the logic to:

receive a first request to allocate a direct swap file associated with an application stored in a system memory on a persistent storage media, and

map a linear and continuous space of the persistent storage media to the direct swap file associated with the application in response to the first request.

2. The apparatus of claim 1 , wherein the logic is further to:

receive a second request to swap data from the persistent storage media to the system memory; and

directly determine a location of the data in the direct swap file in response to the second request.

3. The apparatus of claim 2 , wherein the logic is further to:

calculate the location of the data in the direct swap file directly from a page number of the data indicated in the second request.

4. The apparatus of claim 2 , wherein the logic is further to:

calculate the location of the data in the direct swap file directly from a location offset of the data indicated in the second request and a pre-determined page size.

5. The apparatus of claim 1 , wherein the direct swap file corresponds to a direct swap virtual file, and wherein the logic is further to:

create a logical device partition with linear and continuous logical addresses on the persistent storage media; and

map the logical device partition to the direct swap virtual file such that an offset of memory pages for the application in the system memory corresponds to a same offset of memory pages for the direct swap virtual file in the logical device partition.

6. The apparatus of claim 5 , wherein the logic is further to:

receive a third request to handle a page fault request for the application which indicates a page number; and

read a page from the direct swap virtual file at an address which corresponds to the page number indicated in the third request in response to the third request.

7. The apparatus of claim 1 , wherein the persistent storage media comprises storage class memory.

8. An electronic system, comprising:

a processor;

a system memory communicatively coupled to the processor to store an application for execution by the processor;

persistent storage media communicatively coupled to the processor; and

logic communicatively coupled to the processor, the system memory, and the persistent storage media, the logic to:

receive a first request to allocate a direct swap file associated with the application on the persistent storage media, and

map a linear and continuous space of the persistent storage media to the direct swap file associated with the application in response to the first request.

9. The system of claim 8 , wherein the logic is further to:

receive a second request to swap data from the persistent storage media to the system memory; and

directly determine a location of the data in the direct swap file in response to the second request.

10. The system of claim 9 , wherein the logic is further to:

calculate the location of the data in the direct swap file directly from a page number of the data indicated in the second request.

11. The system of claim 9 , wherein the logic is further to:

calculate the location of the data in the direct swap file directly from a location offset of the data indicated in the second request and a pre-determined page size.

12. The system of claim 8 , wherein the direct swap file corresponds to a direct swap virtual file, and wherein the logic is further to:

create a logical device partition with linear and continuous logical addresses on the persistent storage media; and

map the logical device partition to the direct swap virtual file such that an offset of memory pages for the application in the system memory corresponds to a same offset of memory pages for the direct swap virtual file in the logical device partition.

13. The system of claim 12 , wherein the logic is further to:

receive a third request to handle a page fault request for the application which indicates a page number; and

read a page from the direct swap virtual file at an address which corresponds to the page number indicated in the third request in response to the third request.

14. The system of claim 8 , wherein the persistent storage media comprises storage class memory.

15. A method of managing memory, comprising:

receiving a first request to allocate a direct swap file associated with an application stored in a system memory on a persistent storage media, and

mapping a linear and continuous space of the persistent storage media to the direct swap file associated with the application in response to the first request.

16. The method of claim 15 , further comprising:

receiving a second request to swap data from the persistent storage media to the system memory; and

directly determining a location of the data in the direct swap file in response to the second request.

17. The method of claim 16 , further comprising:

calculating the location of the data in the direct swap file directly from a page number of the data indicated in the second request.

18. The method of claim 16 , further comprising:

calculating the location of the data in the direct swap file directly from a location offset of the data indicated in the second request and a pre-determined page size.

19. The method of claim 15 , wherein the direct swap file corresponds to a direct swap virtual file, the method further comprising:

creating a logical device partition with linear and continuous logical addresses on the persistent storage media; and

mapping the logical device partition to the direct swap virtual file such that an offset of memory pages for the application in the system memory corresponds to a same offset of memory pages for the direct swap virtual file in the logical device partition.

20. The method of claim 19 , further comprising:

receiving a third request to handle a page fault request for the application which indicates a page number; and

reading a page from the direct swap virtual file at an address which corresponds to the page number indicated in the third request in response to the third request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2023
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP.
Reel/Frame 062702/0048 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2020
From: BARCZAK, MARIUSZ
To: INTEL CORPORATION
Reel/Frame 052081/0726 →
Continuity (1)
Related Publication 20200142825A1 · May 7, 2020
Cited By (1)
US 12,321,278