Storage Controller Dual Notification for Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage systems with nonvolatile memory chips, there is a delay between writing and reading data due to the time required for electric charges to stabilize, leading to potential data loss when the host attempts to read data immediately after writing, especially when using physical addresses, as the storage device may not be ready to read from the same physical location.
Innovation Solution
A storage system with a controller that manages writing data to a physical location in a nonvolatile memory, returns a first notification upon completion of writing, and a second notification after a predetermined time to indicate the data is ready for reading, allowing the host to temporarily store mapping between logical and physical addresses and manage data buffers to ensure data integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the host reads data immediately after writing to a physical location in nonvolatile memory, then the data access speed is improved, but data integrity is compromised because electric charges have not stabilized
Solution Approach 1:
The storage device performs preliminary actions by internally managing the stabilization process after writing data to nonvolatile memory. The controller monitors when electric charges have stabilized and only then makes the data readable, preventing premature read attempts that would compromise data integrity while maintaining the illusion of immediate availability to the host.
Solution Approach 2:
The controller acts as an intermediary between the host and the nonvolatile memory, absorbing the time delay caused by charge stabilization. It receives write commands from the host, manages the actual writing process, determines when data is ready for reading, and coordinates read operations accordingly, thereby shielding the host from the temporal mismatch between write completion and data readiness.
2Measurement precision
If the storage device uses physical addresses for data location, then the data access precision is improved, but the system complexity increases due to the need to manage physical location readiness
Solution Approach 1:
The storage device performs self-service by autonomously managing the complexity of tracking physical address readiness. The controller internally monitors the stabilization status of each physical location after writing, maintains awareness of which locations are ready for reading, and automatically coordinates access operations without requiring the host to manage this complexity.
Solution Approach 2:
The controller serves as an intermediary that absorbs the complexity of managing physical address readiness. It translates between the host's logical address requests and the actual physical locations in nonvolatile memory, handling the timing and readiness coordination internally while presenting a simplified interface to the host.
3Reliability
If the host waits for a predetermined time after writing before reading data, then data integrity is ensured, but the productivity of the storage system decreases
Solution Approach 1:
The storage device performs preliminary actions by pre-managing the stabilization process in the background. While the host can continue issuing other commands without waiting, the controller is already monitoring and managing the charge stabilization process, so when a read command arrives, the data is ready immediately if stabilization is complete, eliminating the need for the host to wait and maintain high throughput.
Solution Approach 2:
The controller acts as an intermediary that absorbs the time delay, allowing the host to maintain high productivity by continuing other operations. The host sends write commands and immediately continues with other tasks, while the controller manages the actual writing and stabilization process in the background, determining when data is ready for reading without requiring the host to wait or poll.
Data Source
AI summary
A storage device includes a nonvolatile memory, a communication interface connectable to a host, and a controller. The controller is configured to carry out writing of data that is received through the communication interface at a physical location of the nonvolatile memory when a write command associated with the data is received through the communication interface, control the communication interface to return a first notification upon determining that the writing of data at the physical location of the nonvolatile memory has completed, and control the communication interface to return a second notification a predetermined period of time after the first notification has been returned.


