Segmented Cache Memory Pre-fetching and Write-back

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache memories require reading and writing entire cache lines, leading to excessive memory transactions, power consumption, and unnecessary wear on memory cells, especially with modern DRAM systems that allow for smaller access granularities.

Innovation Solution

Segmenting cache lines into smaller units allows for partial read and write operations based on transaction history, reducing the number of memory transactions by pre-fetching and writing only necessary segments, thereby optimizing performance and reducing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If entire cache lines are read from main memory, then cache memory can provide cached information faster, but excessive memory transactions occur consuming power and causing unnecessary memory wear

Engineering Contradiction:
Improvecache access speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent segments cache lines into smaller units called segments, allowing the system to read and write only the necessary segments rather than entire cache lines. This segmentation enables partial cache line operations, reducing the volume of data transferred between cache and main memory, thereby lowering power consumption while maintaining fast access speeds for required data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by enabling read and write operations on only the necessary portions of cache lines rather than requiring full cache line transfers. This partial operation approach reduces unnecessary data movement, decreasing power consumption and memory wear while still providing the speed benefits of caching for the accessed data.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If entire cache lines are written back to main memory, then cache writing is fast, but unnecessary memory wear occurs and performance is reduced

Engineering Contradiction:
Improvewriting speedVSAvoidmemory wear
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent segments cache lines into smaller units, allowing write-back operations to target only the specific segments that have been modified. This selective segment-based write-back reduces the frequency and volume of write operations to main memory, thereby decreasing memory wear while maintaining fast writing speeds through efficient cache operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables partial write-back operations where only the necessary modified segments of cache lines are written back to main memory instead of requiring full cache line writes. This partial action approach reduces unnecessary memory transactions, minimizing memory wear while preserving the speed advantages of cache-based writing.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If fixed cache line size is used, then cache structure is simple, but cannot take advantage of smaller access granularities in modern DRAM systems

Engineering Contradiction:
Improvecache structure complexityVSAvoidaccess granularity flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments cache lines into smaller controllable units, enabling the cache to adapt to different access granularities including the smaller 8-byte accesses enabled by modern independent DRAM chip control. This segmentation provides flexibility to match varying access patterns while maintaining a relatively simple cache structure through systematic segment management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic adaptability by allowing the cache to operate with variable segment sizes and partial line operations rather than fixed cache line transfers. This dynamic approach enables the cache to adapt to different access granularities and workloads, improving versatility while maintaining structural simplicity through consistent segment-based management.

Inventive Principle:
Principle #15Dynamics

4Reliability

If full cache line transactions are performed, then data consistency is maintained, but performance is reduced due to excessive memory transactions

Engineering Contradiction:
Improvedata consistencyVSAvoidmemory transaction efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments cache lines into smaller units with individual validity tracking for each segment. This segmentation allows the system to perform selective read and write operations on only the necessary segments, reducing memory transaction volume and improving efficiency while maintaining data consistency through proper segment validity management and conditional update operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10019369B2Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
Publication Date: 2018.07.10 MICRON TECHNOLOGY INC
  • US10019369B2 patent drawing
  • US10019369B2 patent drawing
  • US10019369B2 patent drawing

AI summary

Apparatuses and methods for a cache memory are described. In an example method, a transaction history associated with a cache block is referenced, and requested information is read from memory. Additional information is read from memory based on the transaction history, wherein the requested information and the additional information are read together from memory. The requested information is cached in a segment of a cache line of the cache block and the additional information in cached another segment of the cache line. In another example, the transaction history is also updated to reflect the caching of the requested information and the additional information. In another example, read masks associated with the cache tag are referenced for the transaction history, the read masks identifying segments of a cache line previously accessed.