Storage Controller Prefetching Memory for Firmware Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage controllers with limited memory resources face inefficiencies when executing firmware programs in an overlay manner, due to the overhead of repeatedly reading code blocks from non-volatile memory devices.

Innovation Solution

A storage controller is designed with a working memory, a processor that executes code blocks in response to events, a mapping table for prefetching, and a prefetching memory that loads prefetched code blocks into the working memory in a predetermined order.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If code blocks are loaded from non-volatile memory device into working memory in overlay manner, then memory space usage is reduced, but processing speed decreases due to repeated reads

Engineering Contradiction:
Improvememory space usageVSAvoidprocessing speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent applies preliminary action by prefetching code blocks into a dedicated prefetching memory before they are actually needed for execution. The mapping table predicts which code blocks will be needed next and loads them in advance from non-volatile memory, so that when execution is required, the code blocks are already available in fast memory, eliminating the speed penalty of repeated reads while maintaining overlay memory management

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the memory system into distinct functional areas: non-volatile memory for long-term storage, prefetching memory for pre-loaded code blocks, working memory for active execution, and a mapping table for prediction. This segmentation allows each component to specialize in its function, with the prefetching memory acting as a buffer that resolves the contradiction between limited memory space and processing speed

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If overlay operation is used to execute firmware programs, then memory resource efficiency is improved, but operation overhead increases due to frequent code block swaps

Engineering Contradiction:
Improvememory resource efficiencyVSAvoidoperation overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The mapping table performs preliminary action by analyzing the event-driven execution pattern and predicting which code blocks will be needed next. This prediction allows the system to pre-load code blocks into prefetching memory before they are required, reducing the frequency and overhead of code block swaps while maintaining the memory efficiency of overlay operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The prefetching memory acts as an intermediary between non-volatile memory and working memory. It buffers the code blocks that are predicted to be needed, reducing the direct interaction between the processor and non-volatile memory. This intermediary layer simplifies the operation by handling the swapping overhead independently, allowing the main execution flow to proceed with minimal disruption

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If code blocks are read from non-volatile memory device each time they are executed, then memory space is conserved, but time is lost due to read overhead

Engineering Contradiction:
Improvememory spaceVSAvoidread time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary action by prefetching code blocks into fast memory before they are needed for execution. The mapping table predicts the execution sequence based on event-driven patterns and pre-loads the corresponding code blocks into prefetching memory, eliminating the time loss of repeated reads from non-volatile memory while maintaining conservative memory space usage through overlay management

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250147892A1Storage controller, storage device including the same, and method of operating storage device
Publication Date: 2025.05.08 SAMSUNG ELECTRONICS CO LTD
  • US20250147892A1 patent drawing
  • US20250147892A1 patent drawing
  • US20250147892A1 patent drawing

AI summary

A storage controller, a storage device, and a method of operating the storage device are provided. The storage controller includes a working memory; a processor configured to, in response to an occurrence of an event, execute a first code block and a second code block related to the event, that are loaded into the working memory; a first mapping table that includes first mapping information between the first and second code blocks and the event; and a prefetching memory configured to provide the first code block and the second code block, prefetched based on the first mapping information, to the working memory in a predetermined order.