Memory Controller Command Reordering for SRAM Bank Conflicts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory designs face performance issues when multiple requestors need to access the same memory bank simultaneously, leading to stalls and significant performance overhead, especially with address patterns that result in back-to-back accesses to the same bank, particularly in machine learning applications using single-port SRAM banks with limited access cycles.

Innovation Solution

A memory controller that reorders read and write requests based on memory bank availability and priority queues, using read and write queues to manage access conflicts and distribute addresses to avoid problematic access patterns, along with an arbitration network to separate read and write traffic and implement command queues for efficient execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple requestors access the same memory bank simultaneously using single-port SRAM banks, then memory capacity and parallel access capability are improved, but performance degradation occurs due to stalls and conflicts

Engineering Contradiction:
Improvememory capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The memory system is segmented into multiple banks (e.g., Bank 0, Bank 1, Bank 2, Bank 3) that can be accessed in parallel. Each bank operates independently, allowing multiple requestors to access different banks simultaneously without conflicts. This segmentation resolves the contradiction by providing both high memory capacity through multiple banks and high access speed through parallel operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a bank selection dimension to the memory access process. Instead of a single requestor sequentially accessing one bank, multiple requestors can simultaneously access different banks by selecting appropriate bank indices. This dimensional expansion from single-access to multi-access resolves the performance degradation issue while maintaining capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If address patterns result in back-to-back accesses to the same bank, then data locality is improved, but performance overhead increases significantly (up to 300%)

Engineering Contradiction:
Improvedata access correctnessVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary bank selection and requestor assignment before memory access occurs. By pre-determining which bank each request should access and assigning requestors to specific banks, the system avoids back-to-back conflicts. This preliminary action eliminates the need for stalls and reduces performance overhead while maintaining correct data access sequences.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary arbitration mechanism that mediates between multiple requestors and memory banks. This intermediary layer schedules requests, selects appropriate banks, and coordinates access to prevent conflicts. The mediator resolves the contradiction by ensuring data locality through proper request sequencing while eliminating performance overhead through efficient conflict resolution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Use of energy by stationary object

If SRAM banks accept one access every other cycle, then physical area and power consumption are reduced, but access speed decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidaccess speed
Core Design Contradiction:
Use of energy by stationary objectVSSpeed

Solution Approach 1:

The patent implements dynamic request scheduling that adapts to the every-other-cycle access constraint of SRAM banks. The system dynamically adjusts the timing and sequencing of requests to match the bank's access capability, maximizing utilization within the constraints. This dynamic approach resolves the contradiction by maintaining low power consumption through proper request timing while achieving high effective access speed through optimized scheduling.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the access pattern parameters to match the SRAM bank capabilities. By adjusting request timing, bank selection, and requestor assignment parameters, the system optimizes performance within the every-other-cycle constraint. This parameter optimization resolves the contradiction by maintaining low power consumption while achieving high throughput through intelligent parameter management.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If one requestor is allowed to access a bank at a time with stalls for others, then access control is simplified, but productivity decreases due to waiting

Engineering Contradiction:
Improveaccess control complexityVSAvoidthroughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the single-bank sequential access model into a multi-bank parallel access model. By dividing the memory into multiple independently accessible banks, the system eliminates the need for sequential stalls while maintaining simple per-bank access control. This segmentation resolves the contradiction by providing both simple access control at the per-bank level and high throughput through parallel bank operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a bank dimension to the access control problem. Instead of controlling access to a single bank sequentially, the system manages access across multiple banks in parallel. This dimensional expansion resolves the contradiction by maintaining simple control logic for each bank while dramatically improving throughput through concurrent access to different banks.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20250335100A1Memory controller with command reordering
Publication Date: 2025.10.30 TEXAS INSTRUMENTS INC
  • US20250335100A1 patent drawing
  • US20250335100A1 patent drawing
  • US20250335100A1 patent drawing

AI summary

A system for handling requests that includes a set of memory banks coupled to a memory controller which comprises a set of read queues, including a read queue currently designated as the priority read queue. The memory controller loads read requests from an associated processor into the set of read queues. To process the read requests, the memory controller is configured to schedule the read requests of the priority read queue based on an availability of the associated memory bank, and if not in the priority read queue, also based on whether the read requests conflict with a recently scheduled read request from the priority read queue. Upon an execution of a read request from the priority read queue, the memory controller designates a different one of the set of read queues as the priority read queue, if the read request was at a front of the priority read queue.