Write-back Coherency Cache for Read-Write Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory bandwidth limitations in modern microprocessors lead to inefficiencies in data access times, as existing cache systems do not effectively manage read/write conflicts and do not provide temporary storage for cache lines being written back to main memory, resulting in increased latency and performance issues.

Innovation Solution

A write-back coherency data cache is implemented in the memory controller hardware to temporarily hold cache lines before they are written to main memory, along with a coherency directory to track and manage cache states, including a new 'write-back' state, to resolve read/write conflicts and improve data access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in main memory, then memory capacity is sufficient, but access time is slow

Engineering Contradiction:
Improvedata access timeVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The memory system is segmented into multiple levels: write-back cache (fastest, smallest), last-level cache, and main memory (slowest, largest). This hierarchical segmentation allows the system to provide both fast access for frequently used data and sufficient capacity for large datasets by distributing data across different storage layers with varying speed and capacity characteristics.

Inventive Principle:
Principle #1Segmentation

2Speed

If cache is used to store frequently accessed data, then access time decreases, but read/write conflicts increase

Engineering Contradiction:
Improvedata access timeVSAvoidcache coherency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

A coherency directory is introduced as an intermediary structure that mediates between multiple caches and main memory. The directory tracks the location and state of each memory block, enabling the system to detect and resolve read/write conflicts by determining which cache holds the most recent version of data, thus maintaining coherency while allowing parallel cache operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The cache coherency protocol implements feedback mechanisms where caches report their state to the coherency directory, and the directory responds with coherence decisions. This feedback loop ensures that when write conflicts are detected, the appropriate cache lines are invalidated or updated to maintain data consistency across the system.

Inventive Principle:
Principle #23Feedback

3Reliability

If cache lines are written back to main memory immediately, then memory consistency is maintained, but memory bandwidth is consumed

Engineering Contradiction:
Improvememory consistencyVSAvoidmemory bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Data is pre-written to the write-back cache before being written to main memory. This preliminary action allows the system to defer the actual write-back operation to main memory until necessary, reducing immediate memory bandwidth consumption while ensuring data is available in the faster write-back cache for subsequent accesses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The write-back cache maintains data in a usable state continuously, allowing multiple processors to access the data without triggering immediate write-backs to main memory. This continuity of useful action in the cache layer reduces the frequency of write-back operations, thereby conserving memory bandwidth while maintaining data availability.

Inventive Principle:
Principle #20Continuity of useful action

4Loss of time

If write-back cache is implemented, then access latency is reduced, but device complexity increases

Engineering Contradiction:
Improveaccess latencyVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The write-back cache is designed to serve multiple functions: it acts as a high-speed buffer for outgoing writes, a cache for frequently accessed data, and a coherency enforcement point for the memory system. This multi-functionality justifies the added complexity by providing comprehensive benefits across different operational scenarios.

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

Solution Approach 2:

The coherency directory serves as an intermediary management structure that simplifies the complexity of managing the write-back cache. By centralizing the tracking of cache line states and locations in the directory, the system reduces the burden on individual cache controllers, making the overall system more manageable despite the added complexity of the write-back cache layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8996812B2Write-back coherency data cache for resolving read/write conflicts
Publication Date: 2015.03.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8996812B2 patent drawing
  • US8996812B2 patent drawing
  • US8996812B2 patent drawing

AI summary

A write-back coherency data cache for temporarily holding cache lines. Upon receiving a processor request for data, a determination is made from a coherency directory whether a copy of the data is cached in a write-back cache located in a memory controller hardware. The write-back cache holds data being written back to main memory for a period of time prior to writing the data to main memory. If the data is cached in the write-back cache, the data is removed from the write-back cache and forwarded to the requesting processor. The cache coherency state in the coherency directory entry for the data is updated to reflect the current cache coherency state of the data based on the requesting processor's intended use of the data.