Memory Controller Bypasses Non-Volatile Memory for Firmware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for loading firmware in computing systems during a warm reset are inefficient, as they often require storing the firmware in volatile memory before moving it to execution memory, leading to increased firmware activation times and downtime.

Innovation Solution

A memory controller is used to store and move the firmware image directly from a file system storage area in volatile memory to execution memory without intermediate storage in non-volatile memory, allowing for simultaneous storage and execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware is stored in non-volatile memory before moving to execution memory, then firmware can be preserved across power losses, but firmware activation time increases and downtime during warm resets increases

Engineering Contradiction:
Improvefirmware persistenceVSAvoidfirmware activation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-loads firmware into volatile memory (specifically into a buffer area of the memory module) before the warm reset operation begins. This preliminary action ensures that when the warm reset occurs, the firmware is already available in volatile memory and can be directly copied to execution memory without needing to read from non-volatile memory, thereby reducing activation time while maintaining persistence through the pre-loading process

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention extracts the firmware loading operation from the traditional sequential process (non-volatile memory → volatile memory → execution memory) and repositions it to occur during the warm reset initialization phase. By taking out the firmware retrieval step and performing it in advance during system initialization rather than during the reset operation itself, the system eliminates the time penalty associated with reading firmware from non-volatile memory during warm resets

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If firmware is loaded through file system storage area in volatile memory before non-volatile memory, then firmware can be temporarily stored, but the loading operation becomes inefficient and activation time increases

Engineering Contradiction:
Improvefirmware storage flexibilityVSAvoidfirmware loading efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The invention extracts and eliminates the intermediate step of storing firmware in the file system storage area of volatile memory before copying to non-volatile memory. Instead of using the file system storage area as a temporary holding zone, the system directly copies firmware from the memory module buffer to execution memory during warm reset, removing the inefficient intermediate storage step while maintaining the flexibility of volatile memory for firmware handling

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The invention merges the firmware storage function with the execution memory initialization process. Rather than separating firmware storage in volatile memory from the warm reset execution process, the system combines these operations by directly copying firmware from the memory module buffer to execution memory as part of the warm reset initialization sequence, thereby improving loading efficiency while maintaining operational flexibility

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11775038B2Systems and methods capable of bypassing non-volatile memory when storing firmware in execution memory
Publication Date: 2023.10.03 MICRON TECHNOLOGY INC
  • US11775038B2 patent drawing
  • US11775038B2 patent drawing
  • US11775038B2 patent drawing

AI summary

As described herein, a method performed in response to a client device undergoing an at least partial warm reset or reboot may include receiving a firmware commit request from a client device. The method may also include writing, at a first time, a firmware image associated with the client device into execution memory of volatile memory. The method may also include writing, at a second time, the firmware image associated with the client device into a memory slot of non-volatile memory.