Firmware Failure Prevention in Data Storage Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for preventing firmware failures in non-volatile memory devices are inefficient and not suitable for mass production due to the need for manual fabrication, which complicates the process of ensuring firmware code execution does not occur when errors are present.
Innovation Solution
A data storage device with a micro-controller that writes a predetermined string into a second block of non-volatile memory before executing firmware code, allowing execution only if there is no more than one such string, and preventing execution if multiple strings are present, thereby implementing a method for firmware failure prevention through controlled execution and debug procedures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual fabrication is used to prevent firmware execution, then firmware failure prevention is achieved, but manufacturing efficiency and productivity deteriorate
Solution Approach 1:
The patent replaces the manual mechanical fabrication process with an automated electronic verification system. The micro-controller automatically checks for the presence of a predetermined string in the non-volatile memory and decides whether to execute the firmware code, eliminating the need for manual wire connections and ground signal wiring during manufacturing.
Solution Approach 2:
The system performs self-verification by having the micro-controller automatically check for the predetermined string and make the decision to execute or prevent firmware execution. This self-service mechanism eliminates the need for external manual intervention in the firmware failure prevention process.
2Reliability
If manual fabrication is used to prevent firmware execution, then firmware failure prevention is achieved, but manufacturing complexity increases
Solution Approach 1:
The patent replaces complex manual fabrication steps with a simple automated software-based verification process. Instead of manually wiring signals and connecting grounds, the system uses a software check for a predetermined string, significantly simplifying the manufacturing process while maintaining firmware failure prevention capability.
Solution Approach 2:
The patent extracts the firmware failure prevention logic from the physical manufacturing process and implements it as a separate software verification step. The predetermined string check is a distinct, removable element that can be added to existing manufacturing workflows without fundamentally altering the production process.
3Productivity
If automated verification is implemented, then manufacturing efficiency is improved, but device complexity increases
Solution Approach 1:
The patent implements a localized verification mechanism that checks for a specific predetermined string at a specific location in the non-volatile memory. This localized approach adds minimal complexity only where needed for verification, while the rest of the device maintains its original simple structure and operation.
Solution Approach 2:
The system changes the verification parameter from checking physical wire connections to checking for the presence of a predetermined data string. This parameter change simplifies the verification process to a data comparison operation, which is computationally simple and easy to implement in software.
Data Source
AI summary
A data storage device including a non-volatile memory and a micro-controller is provided. The non-volatile memory includes a first block and a second block, wherein the first block stores firmware code. The micro-controller writes one predetermined string into the second block before an execution of the firmware code, and determines whether there is more than one predetermined string in the second block. In response to there being no more than one predetermined string in the second block, the micro-controller allows the execution of the firmware code and erases the predetermined string in the second block upon successful completion of a prerequisite procedure during the execution of the firmware code. In response to there being more than one predetermined string in the second block, the micro-controller does not allow the execution of the firmware code.


