Memory Controller Command Arbiter for Address Collision Avoidance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory controllers face challenges in managing concurrent write operations to the same memory location, leading to address collisions that can corrupt data, particularly during read-modify-write operations where multiple devices attempt to access the same memory location simultaneously.

Innovation Solution

The implementation of a command arbiter and scheduler within the memory controller that determines the order of I/O commands, stalls conflicting operations, and uses an address tracker to manage clock cycles and prevent collisions by buffering addresses during read-modify-write operations, ensuring that only one operation can complete before allowing others to access the same memory location.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple devices attempt to write to the same memory location simultaneously, then memory access speed and throughput are improved, but data corruption occurs due to address collisions

Engineering Contradiction:
Improvememory access speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The address tracker proactively monitors and tracks memory addresses before collisions occur. By detecting potential address conflicts in advance and stalling conflicting operations beforehand, the system prevents data corruption while maintaining efficient memory access throughput.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If read-modify-write operations are allowed to proceed without coordination, then operation throughput is improved, but address collisions corrupt data

Engineering Contradiction:
Improveoperation throughputVSAvoiddata accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The address tracker continuously monitors memory access patterns and provides feedback about tracked addresses to the command arbiter and scheduler. This feedback mechanism enables real-time detection of potential collisions in read-modify-write operations, allowing the system to coordinate access and prevent data corruption while maintaining throughput.

Inventive Principle:
Principle #23Feedback

3Productivity

If the memory controller allows concurrent access to memory locations, then system performance is improved, but address collision detection and prevention complexity increases

Engineering Contradiction:
Improvesystem performanceVSAvoidcontroller logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller is segmented into distinct functional components: address tracker, command arbiter, and scheduler. Each component has a specific responsibility - the address tracker monitors addresses, the arbiter manages command priority, and the scheduler coordinates timing. This segmentation allows concurrent memory access while distributing the complexity of collision prevention across multiple specialized modules.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9870172B2Address collision avoidance in a memory device
Publication Date: 2018.01.16 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9870172B2 patent drawing
  • US9870172B2 patent drawing
  • US9870172B2 patent drawing

AI summary

Embodiments herein provide for avoiding address collisions in a memory device. In one embodiment, a memory controller includes a command scheduler operable to process a read-modify-write I/O command to a location in memory, to detect another I/O command to the same memory location while the read-modify-write I/O command is accessing the memory location, and to stall the other I/O command until the read-modify-write I/O command is complete while allowing a third I/O command to access the memory.