Cache Management via Multi-Space Segmentation for Parallel I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional cache management systems face low I/O request concurrency due to locking mechanisms that prevent parallel execution of write requests for the same cache logic unit, leading to inefficiencies in data storage systems.

Innovation Solution

Implement a method where multiple cache spaces are associated with a single cache logic unit, allowing write requests to be executed in parallel by switching to an unlocked cache space if the primary space is locked, and enabling data merging and flushing operations to improve concurrency and response times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a locking mechanism is used to ensure data consistency in cache, then data reliability is improved, but I/O request concurrency deteriorates

Engineering Contradiction:
Improvedata reliabilityVSAvoidI/O request concurrency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache is divided into multiple cache spaces (first cache space, second cache space, etc.) associated with the same cache logic unit. When the first cache space is locked, write requests can be redirected to the second cache space, which may be unlocked. This segmentation allows parallel processing of write requests while maintaining data consistency through the cache logic unit's coordination of multiple cache spaces.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a cache logic unit is locked during write operations, then data consistency is improved, but response time deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache logic unit acts as an intermediary that manages multiple cache spaces. It coordinates write requests across different cache spaces without requiring the entire cache logic unit to be locked. The cache logic unit directs requests to appropriate cache spaces and ensures data consistency, reducing waiting time while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple cache spaces are used to improve concurrency, then I/O request parallelism is improved, but device complexity increases

Engineering Contradiction:
ImproveI/O request parallelismVSAvoidcache space management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple cache spaces are designed with identical structures and functions, all associated with the same cache logic unit. This universality allows the cache logic unit to manage multiple cache spaces using the same coordination mechanisms, reducing the complexity increase that would result from having different types of cache spaces. The system can achieve parallelism while keeping management logic relatively simple through this multi-functional design.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10860480B2Method and device for cache management
Publication Date: 2020.12.08 EMC IP HLDG CO LLC
  • US10860480B2 patent drawing
  • US10860480B2 patent drawing
  • US10860480B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a method and a device for cache management. The method includes: in response to receiving a write request for a cache logic unit, determining whether a first cache space of a plurality of cache spaces associated with the cache logic unit is locked; in response to the first cache space being locked, obtaining a second cache space from the plurality of cache spaces, the second cache space being different from the first cache space and being in an unlocked state; and performing, in the second cache space, the write request for the cache logic unit.