Write Cache Flush Prediction for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face inefficiencies in write cache utilization due to the lack of consideration for the expected duration until a new write command arrives, leading to suboptimal resource allocation and potential performance degradation.

Innovation Solution

Implementing a controller that calculates the time since a write command was received and determines the amount of data in the cache, using a hard stop time parameter and preselected time value to decide when to flush the cache, while also tracking write command frequencies and power requirements to predict the arrival of the next command.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is accumulated in the write cache for longer periods to fill full chunks, then write performance is improved through sequential writing, but the risk of data loss from power loss incidents increases and buffer resources are consumed

Engineering Contradiction:
Improvewrite performanceVSAvoiddata protection from power loss
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by predicting the arrival time of the next write command before the hard stop time is reached. The controller uses machine learning models to estimate when the next write command will arrive, allowing the system to proactively flush data at the optimal moment - early enough to protect against power loss but late enough to maximize sequential write efficiency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is held in the write cache for extended periods, then full data chunks can be accumulated for efficient sequential writing, but expensive buffer resources are allocated and consumed

Engineering Contradiction:
Improvesequential writing efficiencyVSAvoidbuffer resource usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the cache flush timing based on predicted write command patterns. Rather than using fixed thresholds, the controller adapts the flush decision to the specific workload characteristics, allowing the same buffer resources to be used more efficiently across different workloads by optimizing the accumulation duration for each scenario.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the write cache is flushed frequently to protect against power loss, then data reliability is improved, but write performance degrades due to interrupted sequential writing

Engineering Contradiction:
Improvedata protectionVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses feedback from machine learning models that continuously learn from write command arrival patterns. The predicted arrival time of the next write command provides feedback that guides the flush decision, creating a closed-loop control system that optimizes the balance between reliability and performance based on actual workload behavior rather than static rules.

Inventive Principle:
Principle #23Feedback

4Loss of time

If partial chunks are written to the memory device instead of full chunks, then the hard stop time limit is respected, but write performance degrades

Engineering Contradiction:
Improvehard stop time complianceVSAvoidwrite performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary prediction of the next write command arrival time to determine the optimal flush moment. By flushing just before the predicted arrival time (which is itself before the hard stop deadline), the system ensures full chunk writes that maximize performance while still meeting the hard stop time requirement through proactive rather than reactive flushing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11507508B2Prediction-based selective flushing of data to memory
Publication Date: 2022.11.22 SANDISK TECHNOLOGIES LLC
  • US11507508B2 patent drawing
  • US11507508B2 patent drawing
  • US11507508B2 patent drawing

AI summary

The present disclosure generally relates to improving write cache utilization by recommending a time to initiate a data flush operation or predicting when a new write command will arrive. The recommending can be based upon considerations such as a hard time limit for data caching, rewarding for filling the cache, and penalizing for holding data for too long. The predicting can be based on tracking write command arrivals and then, based upon the tracking, predicting an estimated arrival time for the next write command. Based upon the recommendation or predicting, the write cache can be flushed or the data can remain in the write cache to thus more efficiently utilize the write cache without violating a hard stop time limit.