DRAM Cache Flush Strategy Using Red-Black Tree

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face inefficiencies in handling write I/O operations, particularly in managing dirty pages and triggering data flushes, which can lead to performance bottlenecks due to excessive internal data copying and bandwidth usage.

Innovation Solution

The implementation of a method that processes write miss I/O requests by placing dirty pages into a red-black tree structured according to a key combining logical unit number and logical block address, triggering data flushes when a node is fully filled with dirty pages or when a threshold of free pages is reached, and combining nodes with sequential logical block addresses for efficient data flushing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data flush is triggered frequently to maintain cache efficiency, then data reliability is improved, but system performance deteriorates due to excessive internal data copying and bandwidth usage

Engineering Contradiction:
Improvedata reliabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism by monitoring the fill status of red-black tree nodes and cache free page thresholds. When a node becomes full or free pages fall below a threshold, the system triggers a data flush operation. This feedback-based triggering ensures data is flushed reliably when necessary while avoiding excessive flush operations that would degrade performance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies partial action by flushing only the specific red-black tree nodes that have become full or are near capacity, rather than flushing the entire cache. This selective approach maintains data reliability for flushed nodes while minimizing the performance impact on the overall system by leaving other nodes operational.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If data flush is triggered only when cache is nearly full to improve performance, then system performance is improved, but data reliability deteriorates due to potential data loss

Engineering Contradiction:
Improvesystem performanceVSAvoiddata reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary action by proactively flushing data from red-black tree nodes before the cache becomes completely full. When a node reaches its capacity or approaches a threshold, the system triggers a flush operation in advance, ensuring data is safely written to persistent storage before cache space is exhausted. This prevents data loss while maintaining acceptable performance by avoiding last-minute emergency flushes.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If individual dirty pages are flushed separately to maintain simplicity, then ease of operation is improved, but device complexity increases due to excessive I/O operations

Engineering Contradiction:
Improveflush operation simplicityVSAvoidI/O operation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges multiple individual dirty page flush operations into a single combined I/O operation. When a red-black tree node becomes full, all dirty pages within that node are flushed together in one operation rather than individually. This reduces the total number of I/O operations and their associated overhead while maintaining the simplicity of the flush triggering mechanism. The red-black tree structure naturally groups related pages, facilitating efficient batched flushing.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If red-black tree nodes are combined for sequential logical block addresses to improve efficiency, then productivity is improved, but device complexity increases due to tree management overhead

Engineering Contradiction:
Improvedata flush efficiencyVSAvoidtree management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the cache into multiple red-black tree nodes, each managing a specific range of logical block addresses. This segmentation allows the system to efficiently identify and combine only those nodes containing sequential LBAs for batched flushing, rather than managing the entire cache as a single unit. The red-black tree structure provides organized segmentation that balances flush efficiency with manageable complexity through its inherent ordering and search capabilities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10810123B1Flush strategy for using DRAM as cache media system and method
Publication Date: 2020.10.20 EMC IP HLDG CO LLC
  • US10810123B1 patent drawing
  • US10810123B1 patent drawing
  • US10810123B1 patent drawing

AI summary

A method, computer program product, and computer system for receiving, by a computing device, an I/O request. The I/O request may be processed as a write miss I/O. One or more dirty pages associated with the write miss I/O may be placed into a tree according to a key. It may be determined whether one of a first event and a second event occurs. A data flush may be triggered for the tree when the first event occurs, and the data flush may be triggered for the data flush for the tree when the second event occurs.