Spiral Cache Global Command Pipeline

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In tiled cache memory architectures, global command processing can stall processing and is inefficient, as traditional methods require individual processor involvement and may take longer than necessary, leading to delays and potential overflow issues during operations like initializing, flushing, or reconciling cache lines.

Innovation Solution

A pipelined cache system with multiple storage tiles, utilizing a spiral architecture and networks for moving values, allows for parallel processing of global commands like initializing, flushing, or reconciling cache lines, reducing the need for processor intervention and preventing overflow by managing operations within the cache's memory interface and push-back network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If global cache commands are processed using traditional sequential methods, then correctness is ensured, but processing time increases and system stalls occur

Engineering Contradiction:
Improvecommand processing correctnessVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache is divided into multiple independent tiles, each capable of processing global commands autonomously. This segmentation allows parallel execution of commands across different cache tiles, eliminating the sequential processing bottleneck while maintaining correctness through individual tile validation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary detection of dirty lines and their addresses before executing flush or reconcile operations. This preliminary action allows the system to prepare for parallel processing by identifying all affected cache lines upfront, enabling subsequent parallel operations without stalling the processor.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If individual processor accesses are used for cache operations, then processing flexibility is maintained, but operation duration increases

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidoperation duration
Core Design Contradiction:
Ease of operationVSDuration of action of moving object

Solution Approach 1:

Multiple individual cache operations are merged into a single global command that can be executed in parallel across multiple cache tiles. The controller consolidates multiple access requests into one unified operation, reducing the total number of processor interventions required while maintaining the flexibility to handle different operation types (flush, reconcile, initialize).

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If parallel processing is implemented for global commands, then productivity increases, but device complexity increases

Engineering Contradiction:
Improvecommand execution speedVSAvoidcache controller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache controller is segmented into multiple independent tile controllers, each handling a specific cache tile. This distribution of control logic reduces the complexity of any single controller while enabling parallel processing across tiles. Each tile controller can independently execute global commands without requiring a centralized complex controller.

Inventive Principle:
Principle #1Segmentation

4Reliability

If cache lines are pushed back during global operations, then memory consistency is maintained, but overflow risk increases

Engineering Contradiction:
Improvememory consistencyVSAvoidoverflow risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary detection and recording of dirty line addresses before executing push-back operations during global commands. This preliminary action allows the controller to manage the push-back process systematically, preventing overflow by tracking and controlling which lines need to be pushed back and to where, while maintaining memory consistency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8370579B2Global instructions for spiral cache management
Publication Date: 2013.02.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8370579B2 patent drawing
  • US8370579B2 patent drawing
  • US8370579B2 patent drawing

AI summary

A pipelined cache memory supports global operations within the cache. The cache may be a spiral cache, with a move-to-front M2F network for moving values from a backing store to a front-most tile coupled to a processor or lower-order level of a memory hierarchy and a spiral push-back network for pushing out modified values to the backing-store. The cache controller manages application of global commands by propagating individual commands to the tiles. The global commands may provide zeroing, flushing and reconciling of the given tiles. Commands for interrupting and resuming interrupted global commands may be implemented, to reduce halting or slowing of processing while other global operations are in process. A line detector within each tile supports reconcile and flush operations, and a line patcher in the controller provides for initializing address ranges with no processor intervention.