NAND Flash Controller Suspend-Resume Write for Read Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In NAND flash storage systems, read operations are delayed due to ongoing write operations, resulting in higher latency and decreased efficiency as data cannot be read from a die until the write operation is completed, especially with increasing density and decreasing component sizes.
Innovation Solution
A system that suspends the ongoing write operation, allows for a high-priority read by reading the data from the non-volatile memory, and then resumes the write operation, using a controller to manage data buffers and handle incremental step pulse programs to minimize latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a write operation is performed on a NAND die, then data can be written to the die, but read operations must wait until the write operation completes, resulting in increased latency
Solution Approach 1:
The system dynamically changes the state of the write operation from blocking to suspendable. By introducing a suspend flag and the ability to pause the write operation at specific points (after verify procedures), the system allows read operations to proceed while the write operation is temporarily suspended, then resumes the write operation after the read completes. This dynamic state change resolves the contradiction by making the write operation flexible rather than rigidly blocking reads.
Solution Approach 2:
The controller acts as an intermediary between the write operation and read operation. It manages the suspension and resumption of write operations, coordinates data buffers, and handles the timing between write verify procedures and read requests. This intermediary role allows the system to mediate between the conflicting needs of write throughput and read latency, enabling both operations to proceed with minimal interference.
2Reliability
If read operations wait for write operations to complete, then data integrity is maintained, but system efficiency decreases due to sequential processing requirements
Solution Approach 1:
The system performs preliminary verify procedures during the write operation to ensure data integrity before potential suspension. By completing the verify procedure before suspending the write operation, the system ensures that data integrity is maintained even when the write operation is paused for read operations. This preliminary action allows the system to safely suspend writes without compromising reliability.
Solution Approach 2:
The system maintains continuity of useful action by allowing read operations to proceed while write operations are suspended, rather than completely stopping all operations. The write operation is resumed after the read completes, ensuring that both read and write operations contribute to system productivity. This continuous processing approach resolves the contradiction by eliminating idle waiting time while maintaining data integrity through proper suspension/resumption coordination.
Data Source
AI summary
One embodiment facilitates a high-priority read. During operation, the system receives, by a controller module of a storage device, a first request to write first data to a non-volatile memory of the storage device. The system commences a write operation to write the first data to the non-volatile memory. In response to detecting a second request to read second data from the non-volatile memory, the system: suspends the write operation; reads the second data from the non-volatile memory; and resumes the suspended write operation.


