Dynamic Flushing Transaction Control for SSD Cache
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If queue depth is increased to handle more transactions, then throughput improves, but busy volumes block the flushing process
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.
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.
3Loss of time
If flushing transactions are processed sequentially, then system complexity is low, but the time required for flushing is excessive
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.
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.
Data Source
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.


