Hardware Accelerated Cache Flush via ISGL and LMID

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional caching processes in MegaRAID systems face challenges in maintaining data consistency, particularly in RAID 5 and RAID 6 architectures, due to the need for parity updates, which require complex calculations and synchronization, limiting parallel operations and efficiency.

Innovation Solution

A hardware-accelerated cache buffering and flush process is introduced, utilizing a unique buffer strategy and message data structures like the flush LMID to optimize buffer utilization, allowing parallel read, write, and flush operations without region locks, and employing larger buffers for parity calculations to streamline the flush process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional caching processes use region locks to maintain data consistency in RAID 5/6 architectures, then data consistency is ensured, but parallel operations are limited and processing efficiency deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidparallel operation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the region lock mechanism from the caching process entirely. Instead of using traditional region locks that serialize operations, the invention introduces a new architecture where the flush manager handles consistency through a different mechanism - by tracking dirty cache lines and coordinating flush operations without blocking other operations via region locks, thus enabling parallel execution while maintaining data consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a flush manager as an intermediary component that mediates between cache operations and storage operations. This flush manager coordinates parity updates and cache flushes without requiring region locks, acting as a mediator that enables parallel operations while ensuring data consistency through its centralized management of flush operations and parity arm updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If read-modify-write operations are used to calculate new parity in RAID 5/6, then data consistency is maintained, but processing time increases due to sequential read and write operations

Engineering Contradiction:
Improveparity consistencyVSAvoidflush processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating parity values and preparing flush operations before actual write operations occur. The flush manager proactively manages parity arm updates and cache line flushes, performing necessary calculations and coordinate operations in advance, which reduces the time required during actual flush operations and eliminates sequential read-modify-write delays.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If larger buffers are used for parity calculations in hardware-accelerated flush, then processing efficiency improves, but memory resource consumption increases

Engineering Contradiction:
Improveflush operation speedVSAvoidbuffer memory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by making buffer allocation dynamic rather than static. The system allocates larger buffers when parity calculations are needed and optimizes buffer usage based on actual operational requirements. The hardware-accelerated flush mechanism dynamically manages buffer resources, allocating memory for parity calculations only when necessary and releasing it when not needed, thus achieving high processing efficiency without permanently consuming excessive memory resources.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10282116B2Method and system for hardware accelerated cache flush
Publication Date: 2019.05.07 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US10282116B2 patent drawing
  • US10282116B2 patent drawing
  • US10282116B2 patent drawing

AI summary

A system and method for efficient cache flushing are provided. The disclosed method includes allocating one or more Internal Scatter Gather Lists (ISGLs) for the cache flush, populating the one or more ISGLs with Cache Segment Identifiers (CSIDs) and corresponding Buffer Segment Identifiers (BSIDs) of each strip that is identified as dirty, of a skip-type Internal Scatter Gather Element (ISGE), or of a missing arm-type ISGE. The disclosed method further includes allocating a flush Local Message Identifier (LMID) as a message to be used in connection with processing the cache flush, populating the flush LMID with an identifier of the one or more ISGLs, and transferring the flush LMID to a cache manager module to enable the cache manager module to execute the cache flush based on information contained in the flush LMID.