Memory Access Request Reordering for Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory control systems in system-on-chip (SOC) environments face inefficiencies due to insufficient bandwidth and latency issues, particularly when handling multiple memory access requests, as they rely on outdated protocols like ARM's AHB, which struggle with high-bandwidth demands and sequential processing, leading to reduced performance and increased waiting cycles.

Innovation Solution

An apparatus and method that reorders memory access requests to minimize the opening of new rows in memory banks, utilizing a memory access request buffer unit to determine and store request order, a memory access request control unit to distribute requests to banks, and a bank control unit to manage buffer units, allowing for out-of-order processing and efficient bandwidth utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If memory access requests are processed sequentially using AHB protocol, then system simplicity is maintained, but bandwidth utilization is insufficient and waiting cycles increase

Engineering Contradiction:
Improvesystem simplicityVSAvoidbandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The memory control apparatus dynamically reorders memory access requests based on bank and row information, transitioning from static sequential processing to dynamic adaptive processing. This allows the system to optimize memory access patterns in real-time, improving bandwidth utilization without requiring a complete protocol overhaul

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The apparatus performs preliminary analysis of memory access requests to identify and group requests targeting the same bank and row before executing them. This pre-processing step enables batched memory operations, reducing the number of row opening operations and improving overall memory bandwidth efficiency

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple memory access requests target the same bank and row, then processing efficiency improves through batching, but access latency increases due to sequential handling

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The apparatus maintains continuous memory access operations by overlapping processing of multiple requests. While one request is being executed, the system prepares and queues subsequent requests, ensuring that memory bandwidth is continuously utilized without idle waiting cycles

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The memory access requests are segmented and grouped by bank and row identifiers. Requests targeting the same bank and row are batched together and processed as a group, while requests for different banks can be processed in parallel, reducing overall access latency

Inventive Principle:
Principle #1Segmentation

3Productivity

If dedicated high-speed memory is added to increase bandwidth, then memory access performance improves, but system cost and complexity increase

Engineering Contradiction:
Improvememory access bandwidthVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The apparatus changes the operational parameters of the existing memory system by implementing intelligent request reordering and batching mechanisms. This software/firmware-based optimization achieves high bandwidth utilization without requiring hardware upgrades or adding dedicated high-speed memory modules

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8954644B2Apparatus and method for controlling memory
Publication Date: 2015.02.10 OMNISLASH DIGITAL LLC
  • US8954644B2 patent drawing
  • US8954644B2 patent drawing
  • US8954644B2 patent drawing

AI summary

Disclosed herein are an apparatus and method for controlling memory. The apparatus includes a memory access request buffer unit, a memory access request control unit, and a bank control unit. The memory access request buffer unit determines and stores memory access request order so that the plurality of memory access requests is processed in the order of input except that memory access requests attempting to access the same bank and the same row are successively processed. The memory access request control unit reads the memory access requests from the memory access request buffer unit in the determined order, distributes the memory access requests to banks, and transfers the memory access requests to memory. The bank control unit stores a preset number of memory access requests in each of buffer units for respective banks, and controls the operating state of each of the banks.