Storage Device Custom Firmware Execution Region
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage devices require additional time and resources to modify main firmware for testing or custom operations, as they lack a dedicated area for loading and executing custom firmware without updating the main firmware.
Innovation Solution
A storage device with a nonvolatile memory and a memory controller that includes an execution region, allowing for the verification, loading, and execution of custom firmware as an add-on to the main firmware, using methods like checksum, hash functions, or message authentication codes, and receiving commands from a host device to manage firmware operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If main firmware is modified for testing or custom operations, then custom functionality can be achieved, but additional time and resources are required
Solution Approach 1:
The firmware system is segmented into main firmware and custom firmware as separate functional modules. The custom firmware operates as an add-on that can be loaded and executed independently without modifying the main firmware, thereby achieving custom functionality while avoiding the time-consuming process of main firmware modification and verification.
Solution Approach 2:
The storage device pre-allocates a dedicated execution region for custom firmware and maintains the capability to load and execute custom firmware independently. This preliminary preparation eliminates the need for time-consuming main firmware modification during testing or custom operations, as the system is already configured to support multiple firmware types.
2Adaptability or versatility
If main firmware is modified to add custom operations, then custom functionality is achieved, but additional resources are required
Solution Approach 1:
The firmware architecture is divided into distinct segments: main firmware stored in one region and custom firmware stored and executed in a separate execution region. This segmentation allows custom operations to be implemented without complicating the main firmware structure, as each firmware type manages its own execution context independently.
Solution Approach 2:
The memory controller acts as an intermediary that manages the loading, verification, and execution of custom firmware in the dedicated execution region. This intermediary layer handles the complexity of firmware management, allowing custom operations to be implemented without increasing the complexity of the main firmware itself.
3Ease of operation
If custom firmware is loaded into the execution region, then custom firmware can be executed without modifying main firmware, but verification processes are required
Solution Approach 1:
The system performs preliminary verification of custom firmware validity using checksum, hash function, electronic signature, or MAC methods before loading it into the execution region. This preliminary validation ensures that only verified custom firmware is executed, maintaining system reliability while enabling easy custom firmware operation.
Solution Approach 2:
The verification process provides feedback on the validity of custom firmware before execution. The memory controller checks the custom firmware using various verification methods and only permits execution if the verification succeeds, thereby ensuring reliability while maintaining ease of operation for valid custom firmware.
Data Source
AI summary
Provided is a storage device. The storage device is configured to communicate with a host according to a predetermined protocol, and includes at least one nonvolatile memory, and a memory controller configured to control a firmware load operation of the at least one nonvolatile memory, wherein the memory controller includes an execution region where main firmware and custom firmware in a form of an add-on to the main firmware are loaded, and is configured to receive a commit command from the host, and to load and execute the custom firmware in the execution region based on the commit command.


