Storage Device Firmware Validity Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices lack effective mechanisms to detect and reset firmware corrupted by malicious attacks or memory bit flips, leading to potential data integrity issues and security breaches.

Innovation Solution

A storage device incorporating a nonvolatile memory device with encoded firmware data and a volatile memory device for operational firmware, along with a memory controller that performs a firmware validity test and resets corrupted firmware upon detection of discrepancies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If firmware data is stored in volatile memory for operational use, then fast access and execution are achieved, but data integrity and security are compromised due to susceptibility to corruption and bit flips

Engineering Contradiction:
Improvefirmware access speedVSAvoidfirmware data integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent performs a firmware validity test before executing operational firmware to detect corruption in advance. The memory controller compares operational firmware data with backup firmware data stored in nonvolatile memory, and only allows execution if the backup verifies the operational firmware is valid, preventing execution of corrupted firmware.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a backup firmware data storage mechanism in nonvolatile memory as an intermediary verification layer. This backup serves as a mediator to validate the operational firmware data in volatile memory, enabling integrity verification without sacrificing fast access performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If firmware validity testing is performed continuously, then detection of corrupted firmware is improved, but system performance and productivity deteriorate due to frequent testing overhead

Engineering Contradiction:
Improvefirmware corruption detectionVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic firmware validity testing at specific intervals and trigger events rather than continuous testing. Tests are performed at power-on, before firmware execution, and at predetermined time intervals, balancing detection capability with system performance by avoiding excessive testing overhead.

Inventive Principle:
Principle #19Periodic action

3Reliability

If dual volatile memory devices are used for firmware storage and backup, then firmware validity verification is enabled, but device complexity increases

Engineering Contradiction:
Improvefirmware verification capabilityVSAvoidmemory device configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes the nonvolatile memory device serve multiple functions: it acts as both the primary storage for backup firmware data and the verification reference. This multi-functionality reduces overall system complexity by eliminating the need for dedicated verification memory hardware while still enabling firmware validity testing.

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

Data Source

PatentUS11474713B2Storage device and operating method thereof
Publication Date: 2022.10.18 SK HYNIX INC
  • US11474713B2 patent drawing
  • US11474713B2 patent drawing
  • US11474713B2 patent drawing

AI summary

There are provided a storage device and an operating method thereof. The storage device includes: a nonvolatile memory device including a system block for storing firmware data including a program code of firmware, a signature in which the program code is encoded, and an authentication key; a volatile memory device configured to store operational firmware data; and a memory controller configured to, when power is applied to the storage device, store the firmware data as the operational firmware data in the volatile memory device, perform a firmware validity test for detecting whether the operational firmware data and the firmware data matches each other, in response to a test event, and perform a reset operation based on a result of the firmware validity test.