Non-Blocking Control Update for Data Storage Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage devices face latency issues due to 'blocking' write operations during control updates, which can lead to data loss during ungraceful shutdowns and impact performance by delaying memory access operations.
Innovation Solution
Implementing a non-blocking consolidation operation that concurrently merges changes from a volatile memory to a non-volatile memory, using metadata to identify write operation results and update control information, allowing for simultaneous write and consolidation operations without blocking other memory accesses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If write operations are blocked during control update operations, then data integrity and coherency between control tables and host data are maintained, but latency increases and memory access operations are delayed
Solution Approach 1:
The patent segments the control table into a first copy stored in volatile memory and a second copy stored in non-volatile memory. This segmentation allows the system to maintain coherency by updating the volatile copy without blocking write operations, while periodically synchronizing changes to the non-volatile copy. The segmentation enables concurrent operations by allowing the volatile memory to serve as a working buffer that doesn't block access to the non-volatile memory during updates.
Solution Approach 2:
The system performs preliminary actions by maintaining an updated copy of the control table in volatile memory before synchronizing it to non-volatile memory. This allows the controller to continue operating with the latest control information without waiting for the synchronization operation to complete, thereby reducing latency while maintaining data integrity through the periodic sync mechanism.
2Reliability
If control information is updated periodically to non-volatile memory, then data loss during ungraceful shutdowns is prevented, but throughput is reduced due to blocking write operations
Solution Approach 1:
By segmenting the control table into volatile and non-volatile memory copies, the system can perform throughput-intensive operations in the volatile memory without blocking the persistence path to non-volatile memory. The periodic synchronization ensures data loss prevention while the segmented architecture allows concurrent operations that maintain high throughput during normal operation.
Solution Approach 2:
The volatile memory acts as an intermediary buffer between the controller and non-volatile memory. This intermediary allows rapid updates to control information without immediately impacting the non-volatile memory, enabling high throughput operations while the periodic synchronization to non-volatile memory ensures data loss prevention during ungraceful shutdowns.
3Productivity
If control update operations are performed concurrently with write operations, then latency is reduced and throughput is improved, but data coherency and consistency may be compromised
Solution Approach 1:
The segmentation of the control table into volatile and non-volatile copies allows concurrent operations to proceed independently. Write operations can update the volatile copy while control update operations synchronize to the non-volatile copy, maintaining data coherency through the structured update mechanism while achieving high throughput through concurrency.
Solution Approach 2:
The system implements feedback mechanisms through periodic synchronization operations that verify and propagate changes from volatile to non-volatile memory. This feedback loop ensures data coherency is maintained even during concurrent operations, while the asynchronous nature of the synchronization allows throughput to be improved by reducing blocking delays.
Data Source
AI summary
An apparatus includes a non-volatile memory and a controller coupled to the non-volatile memory. The controller includes a volatile memory configured to store a first copy of a control table associated with the non-volatile memory. The controller is configured to perform a first update of a portion of the first copy of the control table in response to a first request, to initiate a second update of a second copy of the control table at the non-volatile memory based on the first update, and to execute a second request for access to the non-volatile memory concurrently with of the second update. The controller is configured to perform non-blocking control sync operations and non-blocking consolidation operations asynchronously, wherein non-blocking consolidation operations are atomic operations that include concurrent evacuation and compaction of an update layer to a cached address translation table in the volatile memory.


