Non-destructive Firmware Update via Volatile Memory Staging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for updating firmware are often destructive, require reconfiguration of non-volatile memory, and can render systems inoperable if not executed correctly, leading to complications such as rendering the computer system unrecoverable.

Innovation Solution

The solution involves using a Baseboard Management Controller (BMC) and a RESTful interface to non-destructively update firmware components by querying for availability and retrieving updates through a hypermedia representational state transfer (REST) interface, allowing execution of updated components from main memory without altering the non-volatile memory, thus avoiding reconfiguration and ensuring system stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional firmware update methods are used, then firmware can be updated, but the non-volatile memory device must be reconfigured and the system may become inoperable if the update fails

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidsystem operability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by copying firmware components to a temporary location in volatile memory before making any changes to the non-volatile memory. This allows the update to be prepared and validated beforehand, ensuring that the original firmware remains intact and the system can recover if the update fails.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the firmware component in volatile memory (main memory) rather than directly modifying the firmware in non-volatile memory. This copying approach allows updates to be tested and validated in the temporary copy before committing changes, eliminating the risk of rendering the system inoperable.

Inventive Principle:
Principle #26Copying

2Productivity

If firmware components are updated by erasing and rewriting non-volatile memory, then the firmware can be updated, but the entire memory section must be erased even if only a small component needs updating

Engineering Contradiction:
Improveupdate efficiencyVSAvoidmemory space
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent segments the firmware into discrete, independently updateable components stored as separate files in the firmware file system. This allows individual components to be updated without affecting other firmware components, enabling selective updates rather than requiring erasure of entire memory sections.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the specific firmware component that needs updating from the larger firmware set and places it in a separate temporary location in volatile memory. This extraction allows the update to be applied only to the necessary component without touching the rest of the firmware in non-volatile memory.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If firmware updates are performed during system operation, then updates can be applied without service interruption, but the update process becomes more complex and risky

Engineering Contradiction:
Improvesystem availabilityVSAvoidupdate process complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces volatile memory as an intermediary between the firmware in non-volatile memory and the executing firmware in the system. This intermediary layer simplifies the update process by providing a safe staging area where updates can be prepared and validated before being activated, reducing the complexity and risk of in-operando updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system prepares for potential update failures by maintaining the original firmware intact in non-volatile memory while preparing updates in volatile memory. This beforehand cushioning ensures that if the update process encounters errors, the system can simply continue using the original firmware without requiring complex recovery procedures.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10452386B1Non-destructive update of discrete components of firmware
Publication Date: 2019.10.22 AMERICAN MEGATRENDS
  • US10452386B1 patent drawing
  • US10452386B1 patent drawing
  • US10452386B1 patent drawing

AI summary

Non-destructive update of discrete firmware components of a firmware is provided. During a boot-up process, the availability of an update for the firmware can be determined prior to execution thereof. To that end, a controller device can be queried for availability of the update and, when the update is available, a processor that executes the firmware as part of the boot-up process can retrieve an updated version of one or more components of the firmware from a virtual drive device provided by the controller device. The processor can retain such component(s) in a main memory device. The processor can then execute the component(s) from the main memory and can execute other non-updated component(s) of the firmware from a non-volatile memory device that retains the firmware. Therefore, the firmware can be updated during the boot-up process, without changing the contents of the non-volatile memory device.