Cache History List Segmentation for Concurrent I/O Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional cache management systems face inefficiencies due to access conflicts and complex updating processes when handling multiple concurrent I/O requests, leading to reduced concurrency and increased response times.

Innovation Solution

The proposed solution involves dividing a single cache history list into multiple lists, allowing each I/O request to be mapped to a specific list, and pre-configuring free cache history lists to enable concurrent access, thereby reducing conflicts and shortening allocation times by obtaining free nodes directly from these lists.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single cache history list is used to track all I/O requests, then comprehensive cache management is achieved, but access conflicts increase and concurrency decreases

Engineering Contradiction:
Improvecache management accuracyVSAvoidI/O request concurrency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides a single cache history list into multiple separate cache history lists (e.g., first cache history list, second cache history list, etc.). Each I/O request is directed to a specific list based on mapping rules, which segments the access traffic and reduces conflicts between concurrent requests while maintaining comprehensive tracking capability across all lists.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a cache manager as an intermediary component that manages multiple cache history lists. The cache manager receives I/O requests, determines which list to use based on mapping relationships, and coordinates access to free nodes across different lists, thereby mediating between the need for comprehensive management and the requirement for high concurrency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a single cache history list is used, then implementation is simple, but access conflicts occur and response time increases

Engineering Contradiction:
Improvecache history list structureVSAvoidI/O request response time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

By segmenting the cache history list into multiple lists, the patent reduces access conflicts and response time. Although the overall structure becomes more complex, each individual list remains simple to manage, and the segmentation enables parallel access that compensates for the increased structural complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-configures free nodes in advance within each cache history list. When an I/O request arrives, the system can immediately allocate pre-prepared free nodes without waiting for dynamic allocation, thereby reducing response time despite the increased number of lists to manage.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If concurrent I/O requests access a single cache history list, then centralized management is maintained, but locking prevents true concurrency

Engineering Contradiction:
Improvecache history list consistencyVSAvoidconcurrent I/O processing capability
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the cache history list into multiple independent lists, allowing different I/O requests to access different lists simultaneously without requiring locks on a single centralized structure. This maintains data consistency within each list while enabling true concurrency across multiple lists.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimension centralized cache history list to a multi-dimension structure where multiple parallel lists exist. This dimensional change allows concurrent requests to operate in different dimensions (lists) simultaneously, achieving both consistency within dimensions and concurrency across dimensions.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Quantity of substance

If free nodes are allocated dynamically without preconfiguration, then memory utilization is optimized, but allocation time increases for concurrent requests

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidnode allocation time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent pre-configures free nodes in advance within each cache history list. This preliminary action ensures that when concurrent I/O requests need to allocate nodes, pre-prepared free nodes are immediately available, dramatically reducing allocation time while maintaining efficient memory utilization through controlled preallocation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10831654B2Cache management using multiple cache history lists
Publication Date: 2020.11.10 EMC IP HLDG CO LLC
  • US10831654B2 patent drawing
  • US10831654B2 patent drawing
  • US10831654B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a method and device for cache management. The method includes: receiving an I/O request associated with a processor kernel; in response to first data that the I/O request is targeted for being missed in a cache, determining whether a first target address of the first data is recorded in one of a plurality of cache history lists; in response to the first target address not being recorded in the plurality of cache history lists, storing, in a first node of a first free cache history list, the first target address and an initial access count of the first target address, the first free cache history list being determined in association with the processor kernel in advance; and adding the first node to a first cache history list associated with the I/O request of the plurality of cache history lists.