Dynamic Flushing Transaction Control for SSD Cache

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-layer cache stack technologies face low throughput when flushing pages from solid-state storage devices to hard disks, leading to inefficiencies and poor user experience due to fixed transaction limits and busy volume blocking, which prolongs the flushing process.

Innovation Solution

The method involves determining a dynamic maximum number of flushing transactions based on CPU capability and adjusting queue depths per RAID group to avoid busy volume interference, allowing for more efficient flushing by prioritizing clean pages and dynamically managing transaction loads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed number of flushing transactions is used, then the system is simple to manage, but the throughput of the flushing process is low

Engineering Contradiction:
Improvethroughput of flushing processVSAvoidcomplexity of transaction management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic adjustment of the number of flushing transactions based on system conditions. The controller determines the number of flushing transactions dynamically rather than using a fixed number, allowing the system to adapt to varying workloads and optimize throughput while maintaining manageable complexity through structured control logic.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of transaction count from a fixed value to a dynamically determined value based on system state. By adjusting this parameter according to actual flushing needs and system conditions, the throughput of the flushing process is improved without requiring overly complex management mechanisms.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If queue depth is increased to handle more transactions, then throughput improves, but busy volumes block the flushing process

Engineering Contradiction:
Improvethroughput of flushing processVSAvoidflushing process completion
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the flushing process by prioritizing clean pages over dirty pages. By dividing the transaction queue into priority levels and processing clean pages first, the system achieves higher throughput without blocking the flushing process, as clean page flushing does not require volume I/O operations that could be blocked by busy volumes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a priority-based transaction management mechanism as an intermediary between the flushing requests and the storage volumes. This intermediary system manages queue depths dynamically and prioritizes transactions, ensuring that flushing operations can proceed efficiently without being blocked by busy volume conditions.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If flushing transactions are processed sequentially, then system complexity is low, but the time required for flushing is excessive

Engineering Contradiction:
Improvetime required for flushingVSAvoidcomplexity of transaction processing
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent enables continuous flushing operations by processing multiple transactions concurrently rather than sequentially. By maintaining continuous flushing activity through parallel transaction processing and dynamic queue management, the total flushing time is reduced significantly while the system manages complexity through structured control mechanisms.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent implements periodic flushing cycles with dynamic adjustment of transaction counts. By organizing flushing operations into periodic cycles where the number of transactions is determined based on system conditions, the system achieves efficient parallel processing while maintaining manageable complexity through rhythmic, controlled operation patterns.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10860494B2Flushing pages from solid-state storage device
Publication Date: 2020.12.08 EMC IP HLDG CO LLC
  • US10860494B2 patent drawing
  • US10860494B2 patent drawing
  • US10860494B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a method and device for flushing pages from a solid-state storage device. Specifically, the present disclosure discloses a method of flushing pages from a solid-state storage device comprising: determining a first number based on a period length of one flushing cycle and a period length required for building one flushing transaction, the first number indicating a maximum number of flushing transactions that can be built in the flushing cycle; and flushing pages from the solid-state storage device with an upper limit of the first number in the flushing cycle. The present disclosure also discloses a device for flushing pages from a solid-state storage device and a computer program product for implementing steps of a method of flushing pages from a solid-state storage device.