Byte-Addressable NVRAM for BIOS Storage and Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer systems face limitations in memory and storage technologies, particularly with volatile DRAM and block-addressable flash memory, which hinder efficient BIOS execution and storage, especially in portable devices with limited power budgets and diverse processor configurations.

Innovation Solution

The implementation of byte-addressable non-volatile random-access memory (NVRAM) that replaces or supplements traditional DRAM and flash memory, enabling faster, more versatile storage and execution of BIOS code through its lower power consumption, higher write endurance, and ability to store data at a byte level, allowing for expanded boot space and efficient firmware management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flash memory is used to store BIOS code, then persistent storage is achieved, but access speed is limited and write endurance is reduced

Engineering Contradiction:
Improvepersistent storageVSAvoidaccess speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent divides the storage function into two separate components: a flash memory device for persistent storage of BIOS code and a processor cache for high-speed access during execution. This segmentation allows each component to optimize for its specific function - flash memory provides durability and persistence while the cache provides speed during active use.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor cache acts as an intermediary between the flash memory device and the processor. During boot-up, BIOS code is read from flash memory into the cache, which then provides rapid access during execution. This intermediary mechanism resolves the contradiction by allowing persistent storage in flash memory while achieving fast access through the cache.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If processor cache size is increased to support larger BIOS code, then more versatile PEI BIOS code can be stored, but system complexity and resource consumption increase

Engineering Contradiction:
ImproveBIOS code capacityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the storage capacity between the flash memory device (for persistent BIOS code storage) and the processor cache (for execution). This allows the flash memory to handle large BIOS code sizes while the cache maintains its traditional size for execution purposes, avoiding the need to increase cache size just for storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary action by loading BIOS code from flash memory into the processor cache during boot-up before execution begins. This preliminary loading allows the processor to execute from the faster cache memory while the flash memory provides the persistent storage capacity, resolving the contradiction between versatility and complexity.

Inventive Principle:
Principle #10Preliminary action

3Speed

If DRAM is used for system memory, then fast access speed is achieved, but power consumption increases and data is lost without power

Engineering Contradiction:
Improveaccess speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent uses the processor cache as a copy of the flash memory contents during boot-up. The cache contains a copy of the BIOS code that was loaded from flash memory, allowing fast access during execution while the original persistent data remains in flash memory. This copying mechanism resolves the contradiction between speed and power consumption.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10055353B2Apparatus, method and system that stores bios in non-volatile random access memory
Publication Date: 2018.08.21 INTEL CORP
  • US10055353B2 patent drawing
  • US10055353B2 patent drawing
  • US10055353B2 patent drawing

AI summary

A non-volatile random access memory (NVRAM) is used in a computer system to perform multiple roles in the platform storage hierarchy. The NVRAM is byte-rewritable and byte-erasable by the processor. The NVRAM is coupled to the processor to be directly accessed by the processor without going through an I/O subsystem. The NVRAM stores a Basic Input and Output System (BIOS). During a Pre-Extensible Firmware Interface (PEI) phase of the boot process, the cache within the processor can be used in a write-back mode for execution of the BIOS.