Dynamic Memory Controller Transaction Batching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing dynamic memory controllers in digital-logic systems face inefficiencies in data transfer due to frequent switching between read and write transactions, leading to processing overhead and reduced throughput, as they typically process requests in the order received, resulting in potential starvation of one direction or master.

Innovation Solution

Implementing a method that takes snapshots of read and write transactions, executing all transactions in one direction before switching to the other, with the ability to repeat snapshots in the same direction, and prioritizing transactions based on master and memory access to optimize data transfer rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If transactions are processed in the order received (first-come, first-served), then simplicity of control is maintained, but data throughput is reduced due to frequent switching between masters and directions

Engineering Contradiction:
Improvecontrol complexityVSAvoiddata throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by taking snapshots of pending transactions before execution. The snapshot mechanism captures the state of read and write transaction queues in advance, allowing the system to plan and execute batches of transactions in an optimized order rather than processing them immediately as they arrive. This preliminary capture enables out-of-order execution that maximizes throughput while maintaining controlled complexity through the snapshot abstraction.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments transactions into distinct batches based on their direction (read vs. write) and master ID. By dividing the transaction stream into manageable segments that can be executed in optimized sequences, the system achieves higher throughput without overwhelming control logic. Each snapshot represents a segmented batch that can be independently optimized and executed.

Inventive Principle:
Principle #1Segmentation

2Productivity

If all transactions in one direction are executed back-to-back, then turnaround time is reduced and throughput is maximized, but the other direction may be starved indefinitely

Engineering Contradiction:
Improvedata transfer rateVSAvoidfairness of service
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements periodic action through alternating snapshots between read and write directions. After executing a batch of read transactions, the system takes another snapshot to capture pending write transactions, ensuring that both directions receive periodic service. This periodic alternation prevents starvation while maintaining efficient batched execution within each direction, balancing throughput optimization with fair service distribution.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system dynamically adjusts the execution schedule by taking new snapshots after each direction's transactions are completed. The snapshot mechanism is flexible and adaptive, capturing the current state of pending transactions and allowing the system to respond to changing workloads. This dynamic approach ensures that if one direction has no pending transactions, the system can switch to the other direction without rigid scheduling constraints.

Inventive Principle:
Principle #15Dynamics

3Reliability

If transactions from the same master are executed back-to-back, then master-specific dependencies are satisfied, but other masters may experience delays

Engineering Contradiction:
Improvedependency satisfactionVSAvoidwaiting time for other masters
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The snapshot mechanism captures all pending transactions from multiple masters before execution begins. By taking a preliminary snapshot of the entire transaction queue, the system can identify and group transactions from the same master that should be executed together, while also seeing the full context of other pending transactions. This allows optimized batching that satisfies master dependencies without indefinitely delaying other masters.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments transactions by master ID within each snapshot, allowing transactions from the same master to be grouped and executed back-to-back when appropriate. This segmentation enables the system to respect master-specific dependencies and internal ordering requirements while still interleving transactions from different masters across multiple snapshots, preventing any single master from monopolizing the execution pipeline.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8880745B2Efficient scheduling of transactions from multiple masters
Publication Date: 2014.11.04 ANALOG DEVICES INC
  • US8880745B2 patent drawing
  • US8880745B2 patent drawing
  • US8880745B2 patent drawing

AI summary

Data-transfer transactions from multiple masters may be balanced by taking snapshots of the transactions stored in a buffer, and executing transactions from each master back-to-back.