Memory Controller Time Tagging for Pipeline Stall Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed processors in modern computer systems often experience performance deterioration due to frequent stalls caused by memory access requests, particularly when multiple requests target the same memory area, leading to increased load latency and pipeline stage bottlenecks.

Innovation Solution

A memory controller system that employs a global time controller to manage a changing global time, a receiver to set time tags for memory access requests, and an output unit to handle data return based on the comparison between time tags and global time, thereby reducing stalls by processing requests sequentially and optimizing data retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple memory access requests are processed simultaneously, then throughput is improved, but stalls occur when requests target the same memory area

Engineering Contradiction:
Improvememory access throughputVSAvoidpipeline stall frequency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments memory access requests by assigning time tags to different requests and processing them in sequential time slots. The memory controller divides the memory access pipeline into multiple stages with specific time tags, ensuring that requests targeting the same memory area are processed in different time slots rather than simultaneously, thereby avoiding stalls while maintaining throughput.

Inventive Principle:
Principle #1Segmentation

2Speed

If load latency is reduced, then data retrieval speed is improved, but pipeline stage bottlenecks occur when multiple requests compete for the same memory area

Engineering Contradiction:
Improvedata retrieval speedVSAvoidpipeline stage congestion
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements dynamic time tag assignment where the memory controller adjusts the time tags of memory access requests based on current pipeline status and memory area availability. When the pipeline is congested or when conflicts are detected, the controller dynamically assigns later time tags to prevent bottlenecks, while allowing faster retrieval when the pipeline is clear, thus adapting to varying conditions.

Inventive Principle:
Principle #15Dynamics

3Reliability

If sequential processing of memory requests is implemented, then stalls are reduced, but processing time increases due to load latency

Engineering Contradiction:
Improvepipeline stall reductionVSAvoidprocessing time overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-assigning time tags to memory access requests before they enter the pipeline. The memory controller predicts potential conflicts and assigns appropriate time tags in advance, allowing requests to be processed sequentially without actual stalls. This preliminary tagging prevents pipeline interruptions while minimizing processing time overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9122565B2Memory controller and memory control method
Publication Date: 2015.09.01 SAMSUNG ELECTRONICS CO LTD
  • US9122565B2 patent drawing
  • US9122565B2 patent drawing
  • US9122565B2 patent drawing

AI summary

Provided is a memory controller that manages memory access requests between the processor and the memory. In response to the memory controller receiving two or more memory access requests for the same area of memory, the memory controller is configured to stall the memory controller and sequentially process the memory access requests.