IP Library Granted Patent US 12,038,836
Granted Patent B2
US 12,038,836 · App. 17/069,568 · Granted Jul 16, 2024

Dynamic memory allocation based on workload characterization and optimization

Inventors: Krishnaprasad K (Bengaluru, IN); Vinod P S (Bangalore, IN); Gobind Vijayakumar (Trichy, IN)
Assignee: Dell Products L.P.
G06F12/0646G06F9/5016G06F12/0246G06F9/4401G06F2212/205G06F2212/7201G06F2212/7202
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 12,038,836
App. No.
17/069,568
Granted
Jul 16, 2024
Kind
B2
Abstract

An information handling system may include a persistent memory module and a basic input/output system (BIOS). The information handling system may be configured to: prior to initialization of an operating system, receive, at a configuration application of the BIOS, configuration information regarding the persistent memory module; in response to the configuration information, allocate a first portion of the persistent memory module to volatile system memory of the information handling system, a second portion of the persistent memory module to non-volatile storage of the information handling system, and a third portion of the persistent memory module to a dynamic memory area; and after initialization of the operating system, execute a memory manager configured to alter sizes of the first portion, the second portion, and the third portion, wherein the altering is carried out without performing a reboot of the information handling system.

Claims (32)

1. An information handling system comprising:

a persistent memory module; and

a basic input/output system (BIOS);

wherein the information handling system is configured to:

prior to initialization of an operating system, receive, at a configuration application of the BIOS, configuration information regarding the persistent memory module;

in response to the configuration information, allocate a first portion of the persistent memory module to volatile system memory of the information handling system, a second portion of the persistent memory module to non-volatile storage of the information handling system, and a third portion of the persistent memory module to a dynamic memory area; and

after initialization of the operating system, execute a memory manager configured to alter sizes of the first portion, the second portion, and the third portion, wherein the altering is carried out without performing a reboot of the information handling system, and wherein the altering includes reallocating selected quantities of the third portion to the first portion and the second portion respectively.

2. The information handling system of claim 1 , wherein the BIOS is a Unified Extensible Firmware Interface (UEFI) BIOS.

3. The information handling system of claim 1 , wherein the configuration information received at the configuration application of the BIOS is a selection of dynamic memory allocation mode.

4. The information handling system of claim 1 , wherein the non-volatile storage is block input/output (I/O) storage.

5. The information handling system of claim 1 , wherein the first portion of the persistent memory module is allocated to Memory Mode, and the second portion of the persistent memory module is allocated to App Direct Mode.

6. The information handling system of claim 1 , wherein the memory manager is configured to use a block translation table (BTT) driver to execute a call to the BIOS to alter the sizes.

7. The information handling system of claim 6 , wherein the BIOS is configured to update a data structure associated with the persistent memory module by executing an _FIT method.

8. A method comprising:

a basic input/output system (BIOS) of an information handling system receiving, prior to initialization of an operating system, configuration information regarding a persistent memory module of the information handling system;

in response to the configuration information, the BIOS allocating a first portion of the persistent memory module to volatile system memory of the information handling system, a second portion of the persistent memory module to non-volatile storage of the information handling system, and a third portion of the persistent memory module to a dynamic memory area; and

after initialization of the operating system, the information handling system executing a memory manager configured to alter sizes of the first portion, the second portion, and the third portion, wherein the altering is carried out without performing a reboot of the information handling system, and wherein the altering includes reallocating selected quantities of the third portion to the first portion and the second portion respectively.

9. The method of claim 8 , wherein the memory manager altering the sizes is in response to a detection that usage of a particular one of the first, second, and third portions has reached a threshold usage.

10. The method of claim 8 , wherein the configuration information received at the configuration application of the BIOS is a selection of dynamic memory allocation mode.

11. The method of claim 8 , wherein the non-volatile storage is block input/output (I/O) storage.

12. The method of claim 8 , wherein the first portion of the persistent memory module is allocated to Memory Mode, and the second portion of the persistent memory module is allocated to App Direct Mode.

13. The method of claim 8 , wherein the memory manager is configured to use a block translation table (BTT) driver to execute a call to the BIOS to alter the sizes.

14. An article of manufacture comprising a non-transitory, computer-readable medium having computer-executable code thereon that is executable by an information handling system for:

a basic input/output system (BIOS) of the information handling system receiving, prior to initialization of an operating system, configuration information regarding a persistent memory module of the information handling system;

in response to the configuration information, the BIOS allocating a first portion of the persistent memory module to volatile system memory of the information handling system, a second portion of the persistent memory module to non-volatile storage of the information handling system, and a third portion of the persistent memory module to a dynamic memory area; and

after initialization of the operating system, executing a memory manager configured to alter sizes of the first portion, the second portion, and the third portion, wherein the altering is carried out without performing a reboot of the information handling system, and wherein the altering includes reallocating selected quantities of the third portion to the first portion and the second portion respectively.

15. The article of claim 14 , wherein the BIOS is a Unified Extensible Firmware Interface (UEFI) BIOS.

16. The article of claim 14 , wherein the configuration information received at the configuration application of the BIOS is a selection of dynamic memory allocation mode.

17. The article of claim 14 , wherein the non-volatile storage is block input/output (I/O) storage.

18. The article of claim 14 , wherein the first portion of the persistent memory module is allocated to Memory Mode, and the second portion of the persistent memory module is allocated to App Direct Mode.

19. The article of claim 14 , wherein the memory manager is configured to use a block translation table (BTT) driver to execute a call to the BIOS to alter the sizes.

20. The article of claim 19 , wherein the BIOS is configured to update a data structure associated with the persistent memory module by executing an _FIT method.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2020
From: K, KRISHNAPRASAD; S, VINOD P; VIJAYAKUMAR, GOBIND
To: DELL PRODUCTS L.P.
Reel/Frame 054044/0453 →