Firmware-Controlled Tables for Flexible NAND Storage Controllers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage controllers struggle to efficiently manage a variety of NAND Flash memory devices from different manufacturers, particularly in handling regular and exception cases while being sensitive to size, cost, and power consumption.
Innovation Solution
The implementation of a conditions table and a sequencing table in the NAND Flash interface controller, which allows firmware to specify conditions for handling instructions and optimize instruction sequences, enabling flexible management of diverse storage media devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a storage controller is designed to manage a variety of NAND Flash memory devices from different manufacturers, then adaptability is improved, but device complexity increases
Solution Approach 1:
The patent segments the controller into distinct functional components: a conditions table for storing device-specific parameters, a sequencing table for instruction management, and a state machine for control logic. This segmentation allows each component to handle specific aspects of device diversity independently, improving adaptability without proportionally increasing overall complexity.
Solution Approach 2:
The patent uses parameter-based configuration through the conditions table, which stores manufacturer-specific and device-specific parameters. The state machine retrieves and applies these parameters dynamically to adapt its behavior to different NAND Flash devices, enabling versatility through parameter variation rather than structural complexity.
2Manufacturing precision
If firmware specifies detailed conditions for handling instructions, then manufacturing precision is improved, but ease of manufacture worsens
Solution Approach 1:
The conditions table is automatically populated with device-specific parameters during device initialization and identification. The state machine automatically retrieves and applies these parameters without requiring manual firmware configuration, enabling precise instruction handling while simplifying the manufacturing and deployment process.
Solution Approach 2:
The patent performs preliminary device identification and parameter extraction during the initialization phase, storing these parameters in the conditions table before actual operation begins. This preliminary action ensures that precise device-specific handling is ready in advance, eliminating the need for complex runtime decision-making and simplifying firmware design.
3Productivity
If the controller optimizes instruction sequences for performance, then productivity is improved, but device complexity increases
Solution Approach 1:
The sequencing table implements dynamic instruction sequencing that adapts to device state and operation type. The state machine selectively applies different sequencing strategies based on current conditions, allowing performance optimization without requiring a single complex fixed sequencing logic for all scenarios.
Data Source
AI summary
A hardware-implemented, pre-sequence execution checker is used to receive a set of firmware instructions that includes a suspend command, an intervening command, and a resume command, wherein the suspend command and the resume command are associated with suspending and resuming a same command, respectively; access a configurable conditions table that includes whether the suspend command and the resume command are supported by a storage media device; access state information that includes whether said same command has completed; and determine whether to perform or skip the suspend command based at least in part on the configurable conditions table and the state information. If it is determined to perform the suspend command, the suspend command and the intervening command are output. If it is determined to skip the suspend command, the intervening command is output.


