Cache Segment Frame Structure for Parallel I/O Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional caching algorithms in large storage architectures suffer from high latency and are highly coupled, making them difficult to decouple for hardware automation, requiring region locks to avoid data inconsistency and serializing DMA operations.

Innovation Solution

A scalable design with a unique cache segment frame structure and Internal Scatter Gather List (ISGL) enables hardware acceleration by allowing parallelism and concurrency in read/write operations without region locks, using cohesive functional blocks and hardware threads for efficient communication and metadata management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional caching algorithms are used with region locks to avoid data inconsistency, then data reliability is improved, but latency increases and I/O throughput decreases

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

Solution Approach 1:

The patent divides the cache into multiple independent segments, each with its own metadata and buffer resources. This segmentation allows parallel access to different cache segments without requiring global region locks, thereby maintaining data consistency while reducing latency and enabling concurrent I/O operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If traditional caching algorithms use serialization to prevent multiple DMA operations on the same buffer, then data consistency is improved, but I/O throughput decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidI/O throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache is divided into multiple segments that can be accessed independently. Each segment has dedicated metadata and buffer resources, allowing multiple DMA operations to proceed concurrently on different segments without serialization, thus improving I/O throughput while maintaining data consistency through segment-level isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing cache access at the segment level rather than requiring global serialization. This dimensional change from sequential buffer access to parallel segment access enables multiple I/O operations to execute simultaneously without compromising data consistency.

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

3Ease of manufacture

If traditional caching algorithms are highly coupled for buffer management, then buffer allocation simplicity is improved, but hardware automation becomes difficult

Engineering Contradiction:
Improvebuffer management simplicityVSAvoidhardware automation capability
Core Design Contradiction:
Ease of manufactureVSExtent of automation

Solution Approach 1:

The cache management structure is segmented into independent units with self-contained metadata. This segmentation decouples the complexity of buffer management into manageable, independent segments that can be easily automated in hardware, as each segment operates autonomously with its own allocation and access control mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each cache segment is designed to be self-sufficient with its own metadata and buffer resources, enabling autonomous operation without requiring complex centralized control. This self-service capability facilitates hardware automation by allowing each segment to manage its own allocation and access independently.

Inventive Principle:
Principle #25Self-service

4Use of energy by moving object

If traditional caching algorithms use a single buffer structure for all strip/stripe, then buffer utilization efficiency is improved, but parallelism is reduced

Engineering Contradiction:
Improvebuffer utilization efficiencyVSAvoidparallelism capability
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The unified buffer structure is divided into multiple independent cache segments, each capable of handling I/O operations independently. This segmentation maintains efficient buffer utilization within each segment while enabling parallelism across segments, as multiple DMA operations can simultaneously access different segments without conflict.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10223009B2Method and system for efficient cache buffering supporting variable stripe sizes to enable hardware acceleration
Publication Date: 2019.03.05 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US10223009B2 patent drawing
  • US10223009B2 patent drawing
  • US10223009B2 patent drawing

AI summary

A system and method for efficient cache buffering are provided. The disclosed method includes receiving an Input/Output (I/O) command from a host system at a storage controller, parsing the I/O command at the storage controller with a host I/O manager to extract command instructions therefrom. The host I/O manager is able to generate at least one local message that includes the command instructions extracted from the I/O command and transmit the at least one local message to a cache manager. The cache manager is enabled to work in local memory to execute the command instructions contained in the at least one message. The cache manager is also configured to chain multiple buffer segments together on-demand to support multiple stripe sizes that are specific to the I/O command received from the host system.