Stripe Cache I/O Management for RAID Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing RAID systems face inefficiencies in processing I/O requests due to conflicts over disk access, leading to suboptimal performance, especially in scenarios where I/O requests overlap, resulting in repeated reads and increased disk access counts.

Innovation Solution

Implementing a stripe cache mechanism where I/O requests are placed in waiting queues based on stripe overlap, with data from conflicting stripes being cached in memory for subsequent processing, reducing direct disk access and enhancing I/O performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If I/O requests are processed in parallel to improve processing efficiency, then I/O processing speed is improved, but conflicts on disk access occur because some I/O requests are for the same stripes in the RAID

Engineering Contradiction:
ImproveI/O processing speedVSAvoiddisk access conflicts
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by pre-reading data from disk into cache memory before actual I/O requests need to access it. When the system detects that multiple I/O requests may target the same stripe, it proactively loads the stripe data into cache, so that subsequent requests can be served from cache rather than causing disk access conflicts. This anticipatory caching resolves the contradiction by preparing resources in advance to enable parallel processing without actual disk conflicts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache memory serves as an intermediary between the parallel I/O processing system and the physical disk. Instead of allowing multiple parallel requests to directly conflict on disk access, the cache acts as a buffer layer that can satisfy multiple requests simultaneously from its stored data, thereby mediating the conflict and enabling parallel processing to proceed without actual disk access interference.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple I/O requests access the same stripes in the RAID, then data redundancy is maintained, but repeated reads occur leading to increased disk access counts and reduced performance

Engineering Contradiction:
Improvedata redundancyVSAvoidI/O processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple I/O requests that target the same stripe into a single cache lookup operation. Instead of allowing each request to independently access the disk (causing repeated reads), the system combines these requests and serves them all from the cached copy of the stripe data. This merging approach maintains data redundancy requirements while eliminating the performance penalty of repeated disk accesses.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a copy of the stripe data in cache memory that can be served to multiple I/O requests simultaneously. This copying mechanism allows the system to maintain the necessary data redundancy for reliability while providing fast duplicate copies to multiple consumers without requiring repeated accesses to the original disk, thereby resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #26Copying

3Productivity

If data is cached in memory for stripe-related I/O requests, then disk access counts are reduced and I/O performance is improved, but memory resources are consumed for caching

Engineering Contradiction:
ImproveI/O performanceVSAvoidmemory resource usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by caching only the specific stripe data that is likely to be accessed by pending or future I/O requests, rather than caching all RAID data uniformly. The system identifies which stripes are targeted by I/O requests and selectively caches only those portions, thereby providing the memory resource benefits of caching (reduced disk accesses) while minimizing the memory consumption by being selective about what is cached based on local access patterns.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10705760B2Method, device and computer readable medium of I/O management
Publication Date: 2020.07.07 EMC IP HLDG CO LLC
  • US10705760B2 patent drawing
  • US10705760B2 patent drawing
  • US10705760B2 patent drawing

AI summary

Techniques perform I/O management. The techniques involve: in response to receiving an I/O request for a redundant array of independent disks (RAID), placing the I/O request in a corresponding waiting queue based on a stripe related to the I/O request in the RAID; and in response to the I/O request being granted to process, executing the I/O request based on storage of data of the stripe in a cache memory. Accordingly, by using the cache mechanism for the stripes, the I/O processing efficiency is improved and the user experience is enhanced. Moreover, the count of access to the RAID is reduced, the bandwidth for the backend access is saved and the system performance is improved.