Runtime Overlay Firmware Management in Memory Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing memory systems face challenges in optimizing memory usage for firmware operations, leading to complexity and performance degradation due to the need for large storage capacities and inefficient data management, particularly in handling changeable firmware data during runtime operations.

Innovation Solution

A memory system with a non-volatile memory device and a volatile memory device, including a write cache region for temporary storage and a firmware cache region for loading firmware, where changeable firmware data is moved between these regions based on access requests and programmed into the non-volatile memory, optimizing memory usage through a runtime overlay scheme.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If firmware is stored entirely in volatile memory device, then data access speed is improved, but memory size and cost increase

Engineering Contradiction:
Improvedata access speedVSAvoidmemory size
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The firmware is segmented into two parts: commonly accessed firmware data stored in volatile memory device for fast access, and changeable firmware data stored in non-volatile memory device. This segmentation allows the system to maintain fast access speed for critical operations while reducing the overall volatile memory size requirement.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Changeable firmware data is pre-stored in the non-volatile memory device before being needed. When runtime overlay is required, the controller can quickly load this pre-stored data into volatile memory, avoiding the need to keep all possible firmware variants in volatile memory simultaneously.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all firmware data is loaded into volatile memory device, then firmware execution speed is improved, but memory cost and complexity increase

Engineering Contradiction:
Improvefirmware execution speedVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The firmware storage architecture is made dynamic through runtime overlay capability. The controller can dynamically load changeable firmware data from non-volatile memory to volatile memory during operation based on actual needs, allowing the system to adapt memory usage to current operational requirements rather than statically allocating all firmware to volatile memory.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The controller acts as an intermediary between non-volatile and volatile memory devices, managing the runtime overlay process. It handles the complexity of coordinating data transfer, updating access information, and managing cache regions, thereby simplifying the overall system architecture while enabling dynamic firmware loading.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If changeable firmware data is frequently updated in volatile memory, then system adaptability is improved, but data management overhead increases

Engineering Contradiction:
Improvesystem adaptabilityVSAvoiddata management overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The changeable firmware data is extracted from the main firmware image stored in non-volatile memory and managed separately in volatile memory's cache regions. This extraction allows the system to maintain the stable core firmware while independently managing updates to specific changeable portions, reducing the overhead of managing entire firmware updates.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses parameters such as first location information and physical addresses to track and manage changeable firmware data. By changing and updating these parameters in access information structures, the controller can efficiently manage firmware variants without complex data management logic, allowing rapid adaptation through parameter updates rather than structural changes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11360893B2Apparatus and method for managing firmware through runtime overlay
Publication Date: 2022.06.14 SK HYNIX INC
  • US11360893B2 patent drawing
  • US11360893B2 patent drawing
  • US11360893B2 patent drawing

AI summary

A memory system may include: a non-volatile memory device suitable for storing firmware; a volatile memory device comprising a write cache region for temporarily storing write data to be programmed into the non-volatile memory device and a firmware cache region for loading the firmware from the non-volatile memory device; and a controller suitable for: moving, to the write cache region, changeable firmware data that is generated or modified in the firmware cache region during an operation of the controller; programming the changeable firmware data, after it is moved into the write cache region, into the non-volatile memory device; and generating, in the firmware cache region, access information of the changeable firmware data.