Real-Time Protocol Generation for Non-Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication protocols for non-volatile memory devices require manual calculation and frequent updates to comply with numerous signal timing requirements, leading to inefficiencies and potential data loss due to timing violations between commands.
Innovation Solution
A real-time communication protocol is generated by decomposing commands into command segments and using timers to ensure compliance with signal timing requirements on a segment level, eliminating the need for predetermined implementation-specific protocols and reducing the complexity of updates across different interface types, manufacturers, and operating conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual calculation and updates are used to comply with signal timing requirements, then communication protocols can be maintained, but the complexity of manual calculations and frequent updates increases
Solution Approach 1:
The controller automatically generates communication protocols by decomposing commands into segments and using timers to enforce timing requirements, eliminating the need for manual protocol calculation and updates. The system serves itself by autonomously adapting to different interface types, manufacturers, and operating conditions through real-time timer management and segment-level timing control.
2Ease of operation
If predetermined implementation-specific protocols are used, then communication with memory devices can be established, but the need for frequent updates across different configurations increases
Solution Approach 1:
The controller implements a universal protocol generation mechanism that works across different interface types (ASYNC, SDR, ONFI, TOGGLE), manufacturers, and operating conditions. By decomposing commands into generic segments and using configurable timers, the system provides a single unified approach that adapts to multiple configurations without requiring separate predetermined protocols for each scenario.
Solution Approach 2:
The system dynamically generates communication protocols in real-time based on current operating conditions rather than relying on static predetermined protocols. The timer values and segment timings are adjusted dynamically according to the specific interface type, memory device characteristics, and operational requirements, enabling seamless adaptation to changing configurations.
3Productivity
If command segments are output without timing verification, then communication speed can be increased, but timing violations may occur leading to data loss
Solution Approach 1:
The controller performs preliminary timing verification by checking timer values before outputting each command segment. This advance verification ensures that timing requirements are met before actual data transmission occurs, preventing timing violations and data loss while maintaining optimal communication speed. The timers are pre-configured with the required timing values for each segment type.
Solution Approach 2:
The system uses timer feedback to continuously monitor elapsed time since the last command segment output and automatically determine whether the next segment can be output. This closed-loop feedback mechanism ensures timing compliance by comparing current time against required timing intervals, allowing the controller to maintain high communication speed while guaranteeing data integrity through real-time timing verification.
Data Source
AI summary
A storage device may include a memory; and a controller. The controller may be configured to: maintain, for each respective type of command segment of a plurality of types of command segments, a respective timer of a plurality of timers that indicates an amount of time elapsed since the controller last output a command segment of the respective type of command segments to the memory; determine, based on the plurality of timers, whether a command segment of a particular type of command segment of the plurality of types of command segments may be output to the memory at a current time; and responsive to determining that the command segment of the particular type of command segment may be output at the current time, permit output of the command segment of the particular type of command segment to the memory at the current time.


