Write Cache Flushing Using Pending Data to Reduce Padding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvewrite block completenessVSAvoidstorage capacity utilization
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidwrite operation time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9658966B2Systems and methods of write cache flushing
Publication Date: 2017.05.23 SANDISK TECHNOLOGIES LLC
  • US9658966B2 patent drawing
  • US9658966B2 patent drawing
  • US9658966B2 patent drawing

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.