Write Cache Flushing Using Pending Data to Reduce Padding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage devices inefficiently use non-volatile memory by storing padding when writing partial data blocks, leading to suboptimal storage capacity utilization due to the need for padding to create full write blocks.
Innovation Solution
A data storage device controller attempts to fill write blocks using data from pending write commands after receiving a flush or FUA-enabled write command, minimizing the need for padding by aggregating data to form full blocks before writing to non-volatile memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If padding is added to data to create full write blocks, then write block completeness is improved, but storage capacity utilization deteriorates
Solution Approach 1:
The patent merges multiple data sources (data already in write cache, data from pending write commands, and padding) to form complete write blocks. By combining available data with pending write command data, the system reduces the need for padding and improves storage capacity utilization while maintaining write block completeness.
Solution Approach 2:
The system performs preliminary actions by maintaining a pool of pending write commands and their associated data before the flush command is executed. When the flush command arrives, this pre-collected data is immediately available to fill write blocks, eliminating the need to wait for new data arrivals and reducing padding requirements.
2Quantity of substance
If the controller waits for pending write command data to arrive, then storage capacity utilization is improved, but write operation time increases
Solution Approach 1:
The controller performs preliminary actions by collecting and buffering data from pending write commands before the flush command is executed. This pre-collection ensures that when the flush command arrives, the data is already available in the write cache or pending command pool, eliminating waiting time while maximizing storage capacity utilization.
Solution Approach 2:
The system maintains continuous useful action by keeping the write cache and pending command pool continuously populated with data. This ensures that when a flush command arrives, there is always data available to fill write blocks immediately, maintaining both high storage capacity utilization and fast write operation times.
Data Source
AI summary
A data storage device includes a write cache, a non-volatile memory, and a controller coupled to the write cache and to the non-volatile memory. The controller is configured to, responsive to receiving a command to flush particular data from the write cache, attempt to fill a write block of data using the particular data and pending data obtained after receipt of the command.


