Transient Memory Manager for UEFI Persistent Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increasing capacity needs for flash memory in information handling systems due to newer technologies and firmware features lead to larger, more complex, and costly systems, with limited availability of code and data storage for preboot applications.
Innovation Solution
Implementing a transient memory manager in persistent memory that designates two data areas for non-transitory and transitory data, allowing for efficient storage and reclamation of data within the basic input/output system, utilizing industry-standard UEFI variable services to categorize and manage data types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If flash memory capacity is increased to store firmware code and variables, then storage capacity is improved, but system size, cost, and complexity increase
Solution Approach 1:
The flash memory is segmented into two distinct data areas: a non-transitory data area for permanent storage of critical firmware variables and configuration data, and a transitory data area for temporary storage of preboot application data. This segmentation allows the system to efficiently manage limited flash memory capacity by storing only essential permanent data in the non-transitory area, thereby reducing the required total flash memory capacity and simplifying the system.
2Quantity of substance
If flash memory capacity is increased to store firmware code and variables, then storage capacity is improved, but system cost increases
Solution Approach 1:
By segmenting flash memory into non-transitory and transitory data areas, the system reduces the total flash memory capacity required. This reduction directly lowers component costs and manufacturing expenses while maintaining adequate storage for critical firmware functions.
3Quantity of substance
If more flash memory is allocated for permanent data, then data retention is improved, but availability for preboot applications decreases
Solution Approach 1:
The flash memory is divided into dedicated non-transitory and transitory data areas, ensuring that permanent firmware data has guaranteed storage space while preboot applications can utilize the transitory area. This segmentation resolves the conflict by providing assured capacity for critical data while making temporary storage available for application needs.
Solution Approach 2:
The transitory data area is designed for temporary storage of preboot application data that can be discarded after use. This allows the system to allocate flash memory space for preboot applications without permanently reducing the capacity available for critical firmware data, as the transitory space can be reclaimed and reused.
Data Source
AI summary
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.


