N-Write 1-Read Memory Crossbar Routing with Temporary Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In n-write/1-read port memories, concurrent access by multiple pipelines can lead to conflicts when trying to update data at the same memory location, and replicating memory units to avoid conflicts results in increased memory design size, especially as the number of write interfaces grows.

Innovation Solution

An optimized design that includes a memory unit with multiple memory banks and temporary modules, where the first write request is directly routed through a crossbar, and subsequent requests are buffered through a sequence of temporary modules before reaching the crossbar, ensuring parallel access without conflicts by prioritizing write requests and using temporary modules to store requests during conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory units are replicated for each write interface to avoid conflicts, then write access reliability is improved, but memory design size increases

Engineering Contradiction:
Improvewrite access reliabilityVSAvoidmemory design size
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent introduces temporary memory modules as intermediary buffers between write interfaces and the main memory unit. These temporary modules store write requests temporarily, allowing the crossbar to serialize access to the main memory unit without requiring multiple full memory unit replicas. This mediator approach resolves the conflict between ensuring reliable write access and minimizing memory size.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the memory system into multiple components: main memory units, temporary memory modules, and a crossbar switch. This segmentation allows different parts of the system to perform specialized functions - temporary modules handle request buffering while main memory units handle data storage, enabling efficient resource utilization without full replication.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple memory units are used for concurrent write access, then write throughput is improved, but device complexity increases

Engineering Contradiction:
Improvewrite throughputVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation through the crossbar switch, which dynamically routes write requests from multiple interfaces to appropriate memory units based on current availability. This dynamic approach allows the system to handle concurrent writes efficiently without requiring static allocation of multiple memory units for each interface, thereby reducing overall device complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The temporary memory modules perform preliminary buffering of write requests before they reach the main memory unit. This preliminary action allows requests to be staged and organized in advance, enabling the crossbar to efficiently manage concurrent access without requiring complex real-time arbitration logic, thus reducing device complexity while maintaining throughput.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9870173B2Apparatus and method for optimized n-write/1-read port memory design
Publication Date: 2018.01.16 MARVELL ASIA PTE LTD
  • US9870173B2 patent drawing
  • US9870173B2 patent drawing
  • US9870173B2 patent drawing

AI summary

An optimized design of n-write/1-read port memory comprises a memory unit including a plurality of memory banks each having one write port and one read port configured to write data to and read data from the memory banks, respectively. The memory further comprises a plurality of write interfaces configured to carry concurrent write requests to the memory unit for a write operation, wherein the first write request is always presented by its write interface directly to a crossbar, wherein the rest of the write requests are each fed through a set of temporary memory modules connected in a sequence before being presented to the crossbar. The crossbar is configured to accept the first write request directly and fetch the rest of the write requests from one of the memory modules in the set and route each of the write requests to one of the memory banks in the memory unit.