Self-Addressing Memory for Hazard-Free Pipelined Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory access systems face challenges in handling hazards when multiple operations access the same memory location, particularly in complex algorithms like LDPC decoding, where proper ordering of memory operations is crucial for efficient pipelining and error control.

Innovation Solution

A self-addressing memory system with circuitry that receives and processes memory access requests, applies constraints to avoid hazards, and assigns addresses dynamically, allowing for pipelined performance without auxiliary hazard information, using programmable hardware elements like FPGAs for configuration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory access requests are processed in sequence without hazard avoidance mechanisms, then device complexity is reduced, but memory access hazards occur causing incorrect operation

Engineering Contradiction:
Improvememory access correctnessVSAvoidcircuitry complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory system performs self-addressing where the memory circuitry automatically generates addresses for access requests without requiring external address information. The system identifies potential hazards and resolves them through internal mechanisms, making the memory system self-sufficient in avoiding access conflicts while maintaining simplicity for external controllers.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system determines and configures address sequences before executing memory operations. By pre-configuring the address sequences based on expected access patterns, the system proactively prevents hazards before they occur, rather than reacting to them during execution. This preliminary configuration enables safe pipelined operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If memory access operations are pipelined to improve throughput, then productivity increases, but memory access hazards may occur due to out-of-order execution

Engineering Contradiction:
Improvememory access throughputVSAvoidmemory access correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The pipelined memory system automatically manages hazard detection and resolution within the pipeline stages. The memory circuitry monitors its own access patterns and configures address sequences to prevent hazards, enabling continuous pipelined operation without external intervention or stalling, thus maintaining both high throughput and correctness.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically configures address sequences based on the specific access patterns and pipeline stage requirements. By changing the address parameters according to the operational context, the system optimizes for throughput while ensuring hazard-free access at each pipeline stage.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If auxiliary hazard information is provided to manage memory access, then memory access correctness is improved, but device complexity and information requirements increase

Engineering Contradiction:
Improvememory access correctnessVSAvoidauxiliary information requirements
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The memory system eliminates the need for external hazard information by implementing self-addressing capabilities. The system generates and manages its own address sequences internally, making it independent of external hazard metadata while maintaining correct operation. This self-sufficiency reduces information requirements and simplifies the interface with external controllers.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If fixed memory access sequences are used, then device complexity is reduced, but adaptability to different applications is limited

Engineering Contradiction:
Improveapplication flexibilityVSAvoidconfiguration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory system employs dynamic address sequence configuration that can be programmed or adjusted based on different application requirements. The circuitry can be configured through programming interfaces to adapt to various access patterns while maintaining a unified underlying architecture, providing flexibility without proportionally increasing hardware complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The self-addressing memory system implements a universal architecture that can handle multiple types of memory access patterns through a single configurable interface. The same core circuitry serves different applications by reconfiguring address sequences, eliminating the need for separate specialized hardware for each access pattern.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9569119B2Self-addressing memory
Publication Date: 2017.02.14 NATIONAL INSTRUMENTS CORP
  • US9569119B2 patent drawing
  • US9569119B2 patent drawing
  • US9569119B2 patent drawing

AI summary

Techniques are disclosed relating to self-addressing memory. In one embodiment, an apparatus includes a memory and addressing circuitry coupled to or comprised in the memory. In this embodiment, the addressing circuitry is configured to receive memory access requests corresponding to a specified sequence of memory accesses. In this embodiment, the memory access requests do not include address information. In this embodiment, the addressing circuitry is further configured to assign addresses to the memory access requests for the specified sequence of memory accesses. In some embodiments, the apparatus is configured to perform the memory access requests using the assigned addresses.