Firmware Optimization for Die Controller Timing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage devices face inefficiencies in debugging hardware after manufacturing, particularly with combinational logic implemented in semiconductors, where issues are not identified until silicon wafers are fabricated, leading to multiple manufacturing cycles for resolution. Additionally, firmware solutions for finite state machines require excessive memory and time, and are not easily updated or space-efficient.

Innovation Solution

The method involves converting core timing control conditions into production-ready conditions to generate firmware instructions, which are then modified to store values in global condition registers and reuse common core timing control conditions, replacing short instructions with long ones, and optimizing firmware to reduce size and improve performance, using a microcontroller to execute these instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of repair

If finite state machines are converted into software or firmware, then ease of testing and improvement is improved, but firmware size increases to an unacceptable amount

Engineering Contradiction:
Improveease of testing and improvementVSAvoidfirmware size
Core Design Contradiction:
Ease of repairVSQuantity of substance

Solution Approach 1:

The patent segments the finite state machine functionality into modular firmware components that can be independently tested and updated. The state machine is divided into separate state definitions, transition logic, and action routines, allowing targeted modifications without rewriting the entire firmware.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses parameter-based configuration where state machine behavior is defined through configurable parameters and constants rather than hard-coded logic. This allows the same firmware structure to handle multiple conditions by changing parameters, reducing the overall firmware size while maintaining comprehensive functionality.

Inventive Principle:
Principle #35Parameter changes

2Ease of repair

If finite state machines are converted into software or firmware, then ease of testing and improvement is improved, but execution time increases to an unacceptable amount

Engineering Contradiction:
Improveease of testing and improvementVSAvoidexecution time
Core Design Contradiction:
Ease of repairVSLoss of time

Solution Approach 1:

The patent pre-computes and stores transition tables and state information during firmware initialization, so that during execution, the state machine can quickly lookup next states and actions without performing complex calculations in real-time. This preliminary preparation reduces execution time while maintaining the flexibility of software-based state machines.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional hardware-based finite state machine logic with optimized software implementation that uses lookup tables and direct memory access, substituting sequential software execution for parallel hardware logic while achieving comparable or better performance through efficient data structures and algorithms.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If combinational logic is used to generate signals for over five hundred unique conditions, then performance is improved, but device complexity increases

Engineering Contradiction:
ImproveperformanceVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal state machine framework that can handle over five hundred unique conditions through a single configurable software module, rather than requiring separate hardware logic for each condition. The same firmware structure adapts to different conditions through parameter configuration, reducing device complexity while maintaining comprehensive functionality.

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

Solution Approach 2:

The patent uses template-based firmware generation where a single master template for state machine logic is copied and instantiated multiple times with different parameter configurations to handle various conditions, rather than designing unique hardware logic for each condition. This reduces complexity by reusing the same proven logic structure.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11080059B1Reducing firmware size and increasing firmware performance
Publication Date: 2021.08.03 SANDISK TECHNOLOGIES LLC
  • US11080059B1 patent drawing
  • US11080059B1 patent drawing
  • US11080059B1 patent drawing

AI summary

A method for reducing firmware size and increasing firmware performance. Core timing control conditions used by a die controller are converted into production ready core timing control conditions, from which firmware instructions are then generated. The production ready core timing control conditions comprise a plurality of fixed core timing control conditions. The firmware instructions are modified to determine core timing control condition values for fixed core timing control conditions before implementing storage operations, to store the core timing control condition values in global condition registers, and to modify references to fixed core timing control conditions to access the values in those global condition registers. Finally, the modified firmware instructions are stored on the die controller, which comprises a microcontroller configured to execute them.