IP Library Granted Patent US 11,347,664
Granted Patent B1
US 11,347,664 · App. 17/168,635 · Granted May 31, 2022

Shared transient memory storage in basic input/output system environment

Inventors: Balasingh P. Samuel (Round Rock, TX); Michael W. Arms (Pflugerville, TX)
Assignee: Dell Products L.P.
G06F13/1668G06F3/061G06F3/068G06F3/0659
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,347,664
App. No.
17/168,635
Granted
May 31, 2022
Kind
B1
Abstract

A method may be provided in a basic input/output system embodied in persistent memory including two data areas for storing data associated with the basic input/output system and a code area comprising firmware for performing functionality of the basic input/output system. The method may include, at any given time, designating one of the data areas as a non-transitory data area and designating the other of the data areas as a transitory data area; and for each item of data associated with the basic input/output system, determining if such item of data is non-transitory-type data or transitory-type data, storing such item of data in the non-transitory data area if such item of data is determined to be non-transitory-type data, and storing such item of data in the transitory data area if such item of data is determined to be transitory-type data.

Claims (56)

1. An information handling system comprising:

a processor;

a basic input/output system embodied in persistent memory, communicatively coupled to the processor, and comprising:

two data areas for storing data associated with the basic input/output system; and

a code area comprising firmware for performing functionality of the basic input/output system, including a transient memory manager configured to, when read and executed by the processor:

at any given time, designate one of the data areas as a non-transitory data area and designate the other of the data areas as a transitory data area; and

for each item of data associated with the basic input/output system:

determine if such item of data is non-transitory-type data or transitory-type data;

store such item of data in the non-transitory data area if such item of data is determined to be non-transitory-type data; and

store such item of data in the transitory data area if such item of data is determined to be transitory-type data.

2. The information handling system of claim 1 , wherein non-transitory-type data is data required by the basic input/output system to survive across multiple boot cycles of the information handling system.

3. The information handling system of claim 1 , wherein transitory-type data is data not required by the basic input/output system to survive across multiple boot cycles of the information handling system.

4. The information handling system of claim 1 , wherein the transient memory manager is configured to, responsive to either of the two data areas being full, perform a reclamation process on the two data areas.

5. The information handling system of claim 4 , wherein the reclamation process comprises:

transferring contents of the transient data area to a memory external to the basic input/output system;

performing reclamation of non-transient-type data in the non-transitory data area, including:

re-designating the transient data area as the non-transitory data area and storing the non-transient-type data into such newly-designated non-transitory data area; and

re-designating the non-transient data area as the transitory data; and

restoring the transient-type data from the memory to such newly-designated non-transitory data area.

6. The information handling system of claim 5 , wherein the reclamation process comprises performing cleanup on the transient-type data prior to storing the transient-type data to memory.

7. The information handling system of claim 5 , wherein the reclamation process comprises performing cleanup on the non-transient-type data prior to storing the non-transient-type data to the newly-designated non-transitory data area.

8. The information handling system of claim 5 , wherein the reclamation process comprises:

determining if any of the transient-type data stored to the memory should be re-classified as non-transient-type data;

re-classifying any such transient-type data as non-transient-type data; and

storing such re-classified non-transient-type data to the non-transitory data area.

9. The information handling system of claim 5 , wherein the reclamation process comprises:

determining if any of the non-transient-type data stored to the newly-designated non-transitory data area memory should be re-classified as transient-type data;

re-classifying any such non-transient-type data as transient-type data; and

storing such re-classified transient-type data to the newly-designated transitory data area.

10. The information handling system of claim 5 , wherein the reclamation process comprises archiving telemetry data of the transitory-type data.

11. A method comprising, in a basic input/output system embodied in persistent memory including two data areas for storing data associated with the basic input/output system and a code area comprising firmware for performing functionality of the basic input/output system:

at any given time, designating one of the data areas as a non-transitory data area and designating the other of the data areas as a transitory data area; and

for each item of data associated with the basic input/output system:

determining if such item of data is non-transitory-type data or transitory-type data;

storing such item of data in the non-transitory data area if such item of data is determined to be non-transitory-type data; and

storing such item of data in the transitory data area if such item of data is determined to be transitory-type data.

12. The method of claim 11 , wherein non-transitory-type data is data required by the basic input/output system to survive across multiple boot cycles of the information handling system.

13. The method of claim 11 , wherein transitory-type data is data not required by the basic input/output system to survive across multiple boot cycles of the information handling system.

14. The method of claim 11 , further comprising, responsive to either of the two data areas being full, performing a reclamation process on the two data areas.

15. The method of claim 14 , wherein the reclamation process comprises:

transferring contents of the transient data area to a memory external to the basic input/output system;

performing reclamation of non-transient-type data in the non-transitory data area, including:

re-designating the transient data area as the non-transitory data area and storing the non-transient-type data into such newly-designated non-transitory data area; and

re-designating the non-transient data area as the transitory data; and

restoring the transient-type data from the memory to such newly-designated non-transitory data area.

16. The method of claim 15 , wherein the reclamation process comprises performing cleanup on the transient-type data prior to storing the transient-type data to memory.

17. The method of claim 15 , wherein the reclamation process comprises performing cleanup on the non-transient-type data prior to storing the non-transient-type data to the newly-designated non-transitory data area.

18. The method of claim 15 , wherein the reclamation process comprises:

determining if any of the transient-type data stored to the memory should be re-classified as non-transient-type data;

re-classifying any such transient-type data as non-transient-type data; and

storing such re-classified non-transient-type data to the non-transitory data area.

19. The method of claim 15 , wherein the reclamation process comprises:

determining if any of the non-transient-type data stored to the newly-designated non-transitory data area memory should be re-classified as transient-type data;

re-classifying any such non-transient-type data as transient-type data; and

storing such re-classified transient-type data to the newly-designated transitory data area.

20. The method of claim 15 , wherein the reclamation process comprises archiving telemetry data of the transitory-type data.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2021
From: SAMUEL, BALASINGH P.; ARMS, MICHAEL W.
To: DELL PRODUCTS L.P.
Reel/Frame 055162/0992 →
Cited By (1)
US 12,321,622