Directory Cache Command Ordering via Dynamic Linked List

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Directory-based cache management systems face challenges in maintaining the execution order of commands on cached data without significantly impacting overall cache performance, as existing solutions either halt processing or require external mechanisms to enforce order.

Innovation Solution

A dynamic linked list is maintained within the cache line's directory entry to enforce execution order, allowing new commands to access non-contended lines while rejecting conflicting commands, thus avoiding the need for external ordering mechanisms and minimizing performance impact.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If external mechanisms are used to enforce command execution order, then command ordering reliability is improved, but device complexity increases

Engineering Contradiction:
Improvecommand execution orderVSAvoidexternal mechanisms
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the command ordering function with the directory structure by integrating head tag and tail tag fields directly into the directory entry. This eliminates the need for separate external ordering mechanisms, as the directory now simultaneously tracks both cache line status and command execution order through its tags.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The directory entry is enhanced to serve multiple functions: it tracks cache line availability (busy/not busy status), maintains command execution order (through head and tail tags), and manages command queuing. This multi-functional design eliminates the need for dedicated external ordering structures.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If all commands are processed sequentially to maintain execution order, then command ordering reliability is improved, but productivity decreases

Engineering Contradiction:
Improvecommand execution orderVSAvoidcache performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the command processing into independent queues for different cache lines, allowing parallel processing of non-contended commands. Each cache line maintains its own directory entry with head and tail tags, enabling simultaneous command execution across multiple cache lines while preserving order within each line.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts command processing based on cache line contention status. When multiple commands target different cache lines, they are processed concurrently; when they target the same line, sequential processing is enforced. This dynamic behavior maintains ordering reliability while maximizing overall productivity.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the cache line is stalled to enforce command order, then command ordering reliability is improved, but loss of time increases

Engineering Contradiction:
Improvecommand execution orderVSAvoidcache stalling
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent establishes command execution order in advance by maintaining a queue structure with head and tail tags in the directory entry. Commands are accepted and queued before execution, with their position in the execution sequence determined by their arrival order. This preliminary ordering eliminates the need for stalling during execution, as the sequence is predetermined.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The head and tail tags act as intermediaries between command arrival and command execution. They track the queue state and determine execution order without requiring the cache line to stall. The tags mediate the timing and sequencing, allowing commands to be processed as resources become available while maintaining correct order.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10042764B2Processing commands in a directory-based computer memory management system
Publication Date: 2018.08.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10042764B2 patent drawing
  • US10042764B2 patent drawing
  • US10042764B2 patent drawing

AI summary

A method for processing commands in a directory-based computer memory management system includes receiving a command to perform an operation on data stored in a set of one or more computer memory locations associated with an entry in a directory of a computer memory, the entry is associated with an indicator for indicating whether the set of one or more computer memory locations is busy, a head tag, and a tail tag. The command is associated with a command tag and a predecessor tag, and checking the indicator to determine whether the set of one or more computer memory locations is busy.