Capsule Coalescing in Separate Memory Subsystem

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In UEFI-based systems, the process of handling firmware updates through capsules is prone to corruption or unavailability of system memory during the boot process, and non-UEFI systems do not support capsule-based firmware updates.

Innovation Solution

A module is loaded to initialize a separate memory subsystem, identify a contiguous block of memory, and coalesce the capsule from system memory into this separate memory subsystem, where it is then copied back into system memory during the boot process, ensuring the capsule can be processed for firmware updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the capsule is coalesced in system memory during the PEI phase, then the firmware update can be processed, but the system memory may become corrupted or unavailable by the time the DXE phase attempts to process the capsule

Engineering Contradiction:
Improvecapsule integrityVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a dedicated capsule coalescing memory region that acts as an intermediary between the scattered capsule fragments in system memory and the final processing location. This separate memory region serves as a safe staging area where capsules can be coalesced without risking corruption of the system memory or the capsule itself during the boot process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If the MRC initializes system memory before coalescing the capsule, then the capsule can be coalesced in a contiguous block, but the initialization process may cause the capsule block to become corrupted or unavailable

Engineering Contradiction:
Improvecontiguous memory allocationVSAvoidcapsule availability
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The patent segments the memory management process by separating the capsule coalescing operation from the system memory initialization process. By allocating a dedicated memory region specifically for capsule coalescing, the system can initialize system memory without affecting the capsule storage location, ensuring both contiguous allocation and capsule availability.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If the capsule is stored in system memory, then the UEFI can process the firmware update, but non-UEFI systems cannot support this capsule-based update process

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidupdate reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent creates a universal capsule handling mechanism that can operate across different system types. By establishing a standardized memory region and coalescing process that is independent of UEFI-specific implementations, the solution enables reliable capsule-based firmware updates on both UEFI and non-UEFI systems through the same fundamental approach.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11294691B2Dynamic memory layouts for firmware updates based on OEM memory subsystem
Publication Date: 2022.04.05 DELL PROD LP
  • US11294691B2 patent drawing
  • US11294691B2 patent drawing
  • US11294691B2 patent drawing

AI summary

A capsule-based firmware update process is provided. After an operating system has provided a firmware update in the form of a capsule and the computing system is rebooted, a module can be loaded to locate a memory subsystem separate from the system memory. The module can initialize the separate memory subsystem and then identify a contiguous block of memory within the separate memory subsystem. The module can then cause the capsule to be coalesced from the system memory into the separate memory subsystem. Once the capsule is coalesced into the separate memory subsystem and the system memory is registered, the module can cause the coalesced capsule to be copied back into system memory where it can be accessed by other components that are subsequently loaded during the boot process.