Multi-Processor Cache Segmentation for Storage Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Global cache systems in storage devices face challenges with concurrent access by multiple processors, leading to data lockouts and delays due to the need for additional mechanisms to prevent simultaneous writing and ensure data consistency.

Innovation Solution

Implementing multiple cache areas within a storage device, where data is loaded into a local cache accessible only to specific processors for reading and a global cache accessible to all processors for writing, with dynamic management of cache slots and metadata to optimize data access and reduce conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If global cache is used to store data accessed by multiple processors, then data access speed is improved, but system complexity increases due to additional mechanisms needed to prevent simultaneous writes and ensure data consistency

Engineering Contradiction:
Improvedata access speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache is segmented into local cache areas and global cache areas. Each processor has an associated local cache that stores frequently accessed data, reducing the need for processors to access the global cache. This segmentation reduces contention and simplifies cache management by dividing the single global cache into multiple smaller, more manageable local caches that can be accessed without complex locking mechanisms.

Inventive Principle:
Principle #1Segmentation

2Productivity

If global cache is used for data storage, then data access efficiency is improved, but data lockouts occur causing delays when processors need to access unrelated data

Engineering Contradiction:
Improvedata access efficiencyVSAvoidprocessor delay time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The cache is divided into local cache areas accessible by specific processors and a global cache area accessible by all processors. This segmentation allows processors to access their local cache areas without causing lockouts, thereby improving data access efficiency and reducing processor delay time when accessing unrelated data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each processor is assigned a dedicated local cache area with specific access permissions. This local quality approach ensures that processors can efficiently access their local cache without interfering with other processors, eliminating data lockouts and reducing delays while maintaining overall system productivity.

Inventive Principle:
Principle #3Local quality

3Reliability

If additional mechanisms are added to global cache to prevent simultaneous writes, then data consistency is improved, but overhead increases reducing system performance

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache is segmented into local cache areas where each processor has exclusive or prioritized access, eliminating the need for complex write prevention mechanisms. This segmentation maintains data consistency by allowing processors to write to their local caches without coordination overhead, thereby preserving system performance while ensuring reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The local cache acts as an intermediary between the processor and the global cache. Processors write to their local caches first, which then periodically synchronize with the global cache. This intermediary approach maintains data consistency without requiring complex real-time coordination mechanisms, thus preserving system performance while ensuring reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10789168B2Maintaining multiple cache areas
Publication Date: 2020.09.29 EMC IP HLDG CO LLC
  • US10789168B2 patent drawing
  • US10789168B2 patent drawing
  • US10789168B2 patent drawing

AI summary

Maintaining multiple cache areas in a storage device having multiple processors includes loading data from a specific portion of non-volatile storage into a local cache area in response to a specific processor of a first subset of the processors performing a read operation to the specific portion of non-volatile storage, where the local cache area is accessible to the first subset of the processors and is inaccessible to a second subset of the processors that is different than the first subset of the processors and includes loading data from the specific portion of non-volatile storage into a global cache area in response to one of the processors performing a write operation to the specific portion of non-volatile storage, where the global cache area is accessible to the first subset of the processors and to the second subset of the processors. Different processors may be placed on different directors.