IP Library Granted Patent US 11,625,276
Granted Patent B2
US 11,625,276 · App. 17/144,903 · Granted Apr 11, 2023

System and method to utilize high bandwidth memory (HBM)

Inventors: Wei Liu (Austin, TX); PoYu Cheng (Taipei, TW)
Assignee: Dell Products L.P.
G06F9/5016G06F9/4403G06F9/4411G06F9/4401
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,625,276
App. No.
17/144,903
Granted
Apr 11, 2023
Kind
B2
Abstract

In general, embodiments disclosed herein relate to using high bandwidth memory (HBM) in a booting process. In embodiments disclosed herein, a region of the HBM is set aside as an additional memory pool (also referred to as a pool) for drivers and/or other memory heap requests in the booting process. One or more embodiments maintain the existing memory pool below four GB, but provide an additional resource for drivers and heap requests.

Claims (64)

1. A method for booting a system, the method comprising:

discovering system memory, wherein discovering the system memory comprises:

detecting High Bandwidth Memory (HBM); and

preparing the HBM for booting services, wherein preparing the HBM for booting services comprises:

selecting a region of a predefined size of the HBM for booting services;

testing the region;

marking the region as tested memory; and

recording, after the marking, an address and length of the region;

allocating the HBM to the system memory; and

utilizing the HBM for booting services.

2. The method of claim 1 , wherein utilizing the HBM for booting services comprises:

determining that a driver to be installed is a Driver Execution Environment (DXE) driver;

loading the driver into the HBM of the system memory; and

starting, after the loading, the DXE driver.

3. The method of claim 1 , wherein utilizing the HBM for booting services comprises:

using the HBM for a memory heap request in the booting services, wherein the memory heap request excludes runtime memory allocations, Advanced Configuration and Power Interface (ACPI) memory allocations, and reserved memory allocations.

4. The method of claim 1 , further comprising:

receiving an indication that boot services have been completed;

freeing the HBM for use by an operating system (OS); and

after the freeing, using the HBM, by the OS, for bandwidth-intensive workloads.

5. The method of claim 4 , wherein the indication is calling an ExitBootServices( ) function.

6. The method of claim 1 , wherein allocating the HBM to the system memory comprises allocating the HBM to a Global Coherency Domain (GCD) of the system memory.

7. A computing device comprising:

a memory management engine comprising instructions, which when executed by a processor, perform a method, the method comprising:

discovering system memory, wherein discovering the system memory comprises:

detecting High Bandwidth Memory (HBM); and

preparing the HBM for booting services, wherein preparing the HBM for booting services comprises:

selecting a region of a predefined size of the HBM for booting services;

testing the region;

marking the region as tested memory; and

recording, after the marking, an address and length of the region;

allocating the HBM to the system memory; and

utilizing, after the allocating, the HBM for booting services.

8. The device of claim 7 , wherein utilizing the HBM for booting services comprises:

determining that a driver to be installed is a Driver Execution Environment (DXE) driver;

loading the driver into the HBM of the system memory; and

starting, after the loading, the DXE driver.

9. The device of claim 7 , wherein utilizing the HBM for booting services comprises:

using the HBM for a memory heap request in the booting services, wherein the memory heap request excludes runtime memory allocations, Advanced Configuration and Power Interface (ACPI) memory allocations, and reserved memory allocations.

10. The device of claim 7 , further comprising:

receiving an indication that boot services have been completed;

freeing the HBM for use by an operating system (OS); and

using the HBM, by the OS, for bandwidth-intensive workloads.

11. The device of claim 10 , wherein the indication is calling an ExitBootServices( ) function.

12. The device of claim 7 , wherein allocating the HBM to the system memory comprises allocating the HBM to a Global Coherency Domain (GCD) of the system memory.

13. A non-transitory computer readable medium comprising computer readable program code, which when executed by a memory management engine of a computer processor enables the computer processor to perform a method for discovering system memory, the method comprising:

detecting High Bandwidth Memory (HBM);

preparing the HBM for booting services, wherein preparing the HBM for booting services comprises:

selecting a region of a predefined size of the HBM for booting services;

testing the region;

marking the region as tested memory; and

recording, after the marking, an address and length of the region;

allocating the HBM to the system memory; and

utilizing, after the allocating, the HBM for booting services.

14. The non-transitory computer readable medium of claim 13 , wherein utilizing the HBM for booting services comprises:

determining that a driver to be installed is a Driver Execution Environment (DXE) driver;

loading the driver into the HBM of the system memory; and

starting the DXE driver.

15. The non-transitory computer readable medium of claim 13 , wherein the method further comprises:

receiving an indication that boot services have been completed

freeing the HBM for use by an operating system (OS); and

using the HBM, by the OS, for bandwidth-intensive workloads.

16. The non-transitory computer readable medium of claim 15 , wherein the indication is calling an ExitBootServices( ) function.

17. The non-transitory computer readable medium of claim 13 , wherein allocating the HBM to the system memory comprises allocating the HBM to a Global Coherency Domain (GCD) of the system memory.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) 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/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) 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/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) 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/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
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 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
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 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
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 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2021
From: LIU, WEI; CHENG, POYU
To: DELL PRODUCTS L.P.
Reel/Frame 055205/0287 →
Continuity (1)
Related Publication 20220222115A1 · Jul 14, 2022