Global Cache Reference Delay for I/O Lock Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face increased read and write I/O response times and decreased performance due to the rising resources required for managing access to cached data and metadata, leading to inefficiencies in global cache management.

Innovation Solution

A method is implemented to manage global caches by accessing cache entries upon receiving I/O requests, holding references to determine if the operation is sequential, and delaying the release of these references to reduce the need for frequent global system lock acquisitions and releases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If global cache management uses traditional reference acquisition and release methods for each I/O operation, then cache access control is maintained, but I/O response time increases and system lock acquisition frequency increases

Engineering Contradiction:
Improvecache access controlVSAvoidI/O response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by acquiring references to cache entries before I/O operations and delaying their release until after the operations complete. This preliminary reference acquisition allows multiple I/O operations to proceed without repeated lock acquisitions, reducing I/O response time while maintaining cache access control through the reference counting mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuity of useful action by keeping references to cache entries held throughout the duration of I/O operations rather than releasing and re-acquiring them for each operation. This continuous reference holding eliminates the need for repeated system lock acquisitions and releases, maintaining reliable cache access control while significantly reducing I/O response time.

Inventive Principle:
Principle #20Continuity of useful action

2Stability of the object's composition

If global cache management acquires and releases system locks for each cache access, then cache integrity is maintained, but CPU contention increases and I/O performance decreases

Engineering Contradiction:
Improvecache integrityVSAvoidI/O performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system performs preliminary reference acquisition to cache entries before I/O operations begin. This preliminary action establishes the reference count and associated lock state upfront, allowing subsequent I/O operations to proceed without repeated lock acquisitions. Cache integrity is maintained through the reference counting mechanism while I/O performance improves due to reduced CPU contention from fewer lock operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By maintaining continuous reference holding throughout I/O operations, the patent eliminates the need for repeated system lock acquisitions and releases. This continuous action preserves cache integrity through the reference counting mechanism while significantly improving I/O performance by reducing CPU contention and eliminating redundant lock operations.

Inventive Principle:
Principle #20Continuity of useful action

3Quantity of substance

If global cache management releases references immediately after cache entry access, then cache resource availability is maximized, but the number of system lock operations increases

Engineering Contradiction:
Improvecache resource availabilityVSAvoidsystem lock operations
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system performs preliminary reference acquisition before I/O operations and delays reference release until after operations complete. This preliminary action ensures cache entries are available for the duration of needed operations while reducing the total number of system lock operations. Cache resource availability is maintained through proper reference counting while device complexity is reduced by eliminating redundant lock acquisitions and releases.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous reference holding throughout I/O operations rather than immediate release. This continuity ensures cache resources remain available during operations while significantly reducing the number of system lock operations. The reference counting mechanism maintains proper cache resource availability management while reducing operational complexity.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9519590B1Managing global caches in data storage systems
Publication Date: 2016.12.13 EMC IP HLDG CO LLC
  • US9519590B1 patent drawing
  • US9519590B1 patent drawing
  • US9519590B1 patent drawing

AI summary

A method is used in managing global caches in data storage systems. A cache entry of a global cache of a data storage system is accessed upon receiving a request to perform an I/O operation on a storage object. The cache entry is associated with the storage object. Accessing the cache entry includes holding a reference to the cache entry. A determination is made as to whether the I/O operation is associated with a sequential access. Based on the determination, releasing the reference to the cache entry is delayed.