Memory Bank Write Handling for Fewer Read-Modify-Write Cycles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems experience significant latency and inefficiency due to the time required for processing cores to access data from memory, which can be mitigated by incorporating a cache system that includes a victim cache to reduce cache misses and improve data access speed.

Innovation Solution

Implementing a cache system with a victim cache that stores evicted data from the main cache, allowing it to service cache misses directly without waiting for the main cache to determine memory address storage, thereby reducing latency and increasing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a cache system is implemented to store frequently accessed data, then data access speed is improved, but the complexity of the memory system increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The memory system is segmented into multiple cache levels (L1, L2, L3 caches) with different sizes, speeds, and replacement policies. Each cache level handles specific types of data access patterns, allowing the system to optimize for speed while managing complexity through hierarchical organization rather than a single monolithic cache structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache system acts as an intermediary layer between the processing core and main memory. By introducing this intermediate storage layer that automatically manages data based on access patterns, the system improves data access speed without requiring the processing core to directly manage memory complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If a victim cache is added to store evicted data and service cache misses directly, then latency is reduced, but the device complexity increases

Engineering Contradiction:
Improvecache miss latencyVSAvoidcache system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The victim cache pre-stores evicted data that is likely to be reused soon, based on the observation that recently evicted data has a higher probability of being accessed again. This preliminary action of retaining evicted data in the victim cache allows the system to service cache misses directly without waiting for main memory, reducing latency while adding a manageable layer of complexity.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If parallel processing is implemented in the cache system, then overall performance is enhanced, but the difficulty of detecting and measuring performance increases

Engineering Contradiction:
Improvecache system performanceVSAvoidperformance measurement complexity
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The cache system implements feedback mechanisms through hit/miss detection, replacement policies (LRU, FIFO), and performance monitoring at each cache level. These feedback loops allow the system to automatically adjust to access patterns and provide measurable performance metrics, enabling parallel processing while maintaining manageable performance detection and measurement through standardized cache performance counters and statistics.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12541468B2Methods and apparatus to reduce read-modify-write cycles for non-aligned writes
Publication Date: 2026.02.03 TEXAS INSTRUMENTS INC
  • US12541468B2 patent drawing
  • US12541468B2 patent drawing
  • US12541468B2 patent drawing

AI summary

Methods, apparatus, systems and articles of manufacture are disclosed to reduce read-modify-write cycles for non-aligned writes. An example apparatus includes a memory that includes a plurality of memory banks, an interface configured to be coupled to a central processing unit, the interface to obtain a write operation from the central processing unit, wherein the write operation is to write a subset of the plurality of memory banks, and bank processing logic coupled to the interface and to the memory, the bank processing logic to determine the subset of the plurality of memory banks to write based on the write operation, and determine whether to cause a read operation to be performed in response to the write operation based on whether a number of addresses in the subset of the plurality of memory banks to write satisfies a threshold.