Write Cache Flush Scheduling for Mixed Random Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face performance bottlenecks in mixed random workloads with low queue depths, particularly due to slower write operations blocking read commands, leading to host stalling and inefficiencies in data storage and retrieval.

Innovation Solution

Implementing a method to manage a write cache by scheduling regular and optimized flushes based on workload classification, where non-qualifying workloads trigger a regular flush and qualifying workloads trigger an optimized flush, optimizing data distribution across multiple non-volatile memory units to improve performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If write operations are performed in a traditional sequential manner, then data is reliably stored in non-volatile memory, but write speed is slow and blocks read commands causing host stalling

Engineering Contradiction:
Improvewrite speedVSAvoidhost productivity
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-classifying workloads into qualifying and non-qualifying categories before execution. The controller determines workload characteristics in advance and prepares appropriate flush strategies (regular vs. optimized), allowing write operations to be processed more efficiently without blocking read commands, thus improving both write speed and host productivity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the write cache management into two distinct pathways: regular flush for non-qualifying workloads and optimized flush for qualifying workloads. This segmentation allows the system to apply different handling strategies based on workload characteristics, improving overall write performance and reducing host stalling by processing different workload types through optimized routes

Inventive Principle:
Principle #1Segmentation

2Reliability

If write cache is flushed frequently to ensure data reliability, then data storage reliability is improved, but write amplification increases and endurance decreases

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidwrite amplification
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting the flush strategy based on workload parameters. For qualifying workloads, the optimized flush changes the flushing parameters to distribute data across multiple non-volatile memory units simultaneously, achieving both reliability and reduced write amplification. The system monitors workload characteristics and adapts flush behavior accordingly, avoiding unnecessary writes while maintaining data integrity

Inventive Principle:
Principle #35Parameter changes

3Productivity

If traditional cache management is used, then system complexity is low, but performance in mixed random workloads with low queue depth is poor

Engineering Contradiction:
Improvemixed random workload performanceVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where the controller continuously monitors workload characteristics and adjusts cache flush strategies in real-time. By detecting whether the current workload is qualifying or non-qualifying, the system provides feedback to the cache management logic, enabling adaptive performance optimization for mixed random workloads without requiring overly complex manual configuration

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9952978B2Method for improving mixed random performance in low queue depth workloads
Publication Date: 2018.04.24 SANDISK TECHNOLOGIES LLC
  • US9952978B2 patent drawing
  • US9952978B2 patent drawing
  • US9952978B2 patent drawing

AI summary

Systems, methods and or devices are used to enable improving mixed random performance in low queue depth workloads in a storage device (e.g., comprising a plurality of non-volatile memory units, such as one or more flash memory devices). In one aspect, the method includes (1) maintaining a write cache corresponding to write commands from a host, (2) determining a workload in accordance with commands from the host, (3) in accordance with a determination that the workload is a non-qualifying workload, scheduling a regular flush of the write cache, and (4) in accordance with a determination that the workload is a qualifying workload, scheduling an optimized flush of the write cache.