Memory Access Unit Concurrent Multi-Dimensional Array Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face inefficiencies when processing multi-dimensional data, as they often require reordering samples to access data in different dimensions, leading to increased computation overhead and memory requirements, particularly in applications like image processing and radar signal processing.

Innovation Solution

A memory access unit with k address calculators and sample collectors that allow concurrent access to k*m memories by generating addresses and memory selects based on d-dimensional arrays, enabling data transfer without reordering, thus optimizing bus utilization and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If samples are re-ordered between processing steps to access data in different dimensions, then data accessibility in multiple dimensions is improved, but computation overhead and memory requirements increase

Engineering Contradiction:
Improvedata accessibility in multiple dimensionsVSAvoidcomputation overhead and memory requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory system is segmented into k*m separate memory modules arranged in a k-by-m array, where each memory module stores a portion of the d-dimensional data array. This segmentation allows different memory modules to be accessed concurrently through different data buses, enabling multi-dimensional data access without requiring sample re-ordering operations, thus reducing computation overhead while maintaining data accessibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional organization of memory modules (k-by-m array) that maps the d-dimensional data array in a way that enables orthogonal access patterns. By organizing memories in multiple dimensions and using address calculators to generate addresses in each dimension, the system allows simultaneous access along different dimensions without reordering samples, resolving the contradiction between adaptability and device complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If memory allows data to be read out in orthogonal dimensions, then data access flexibility is improved, but memory complexity increases

Engineering Contradiction:
Improvedata access flexibilityVSAvoidmemory complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory system is divided into k*m independent memory modules arranged in a k-by-m array, with each module accessible through dedicated data buses. This segmentation enables orthogonal dimension access by directing different dimensional accesses to different memory modules, providing data access flexibility while keeping individual memory module complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Address calculators and sample collectors act as intermediary components that translate logical addresses into physical memory addresses and generate appropriate memory select signals. These intermediaries enable orthogonal dimension access without requiring the memory modules themselves to be complex, as the address translation and selection logic is handled by the intermediary components.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If concurrent access to multiple memories is enabled, then data transfer rate is improved, but control complexity increases

Engineering Contradiction:
Improvedata transfer rateVSAvoidcontrol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory system is segmented into k*m modules that can be accessed concurrently through different data buses, enabling parallel data transfer operations. Each memory module can be accessed independently, allowing simultaneous read/write operations across multiple dimensions, which increases data transfer rate while the modular structure keeps control complexity manageable through standardized access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Address calculators pre-calculate the addresses in each dimension and generate memory select signals before the actual data transfer occurs. This preliminary action of address generation and memory selection enables concurrent access to multiple memory modules without conflict, as the target memories are identified and selected in advance, reducing control complexity during the actual data transfer phase.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10592406B2Memory access unit and method including generating memory selects to concurrently access a plurality of memories in a multi-dimensional array
Publication Date: 2020.03.17 RENESAS ELECTRONICS EUROPE GMBH
  • US10592406B2 patent drawing
  • US10592406B2 patent drawing
  • US10592406B2 patent drawing

AI summary

A memory access unit for handling transfers of samples in a d-dimensional array between a one of m data buses, where m≥1, and k*m memories, where k≥2, is disclosed. The memory access unit comprises k address calculators, each address calculator configured to receive a bus address to add a respective offset to generate a sample bus address and to generate, from the sample bus address according to an addressing scheme, a respective address in each of the d dimensions for access along one of the dimensions from the bus address according to an addressing scheme, for accessing a sample. The memory access unit comprises k sample collectors, each sample collector operable to generate a memory select for a one of the k*m memories so as to transfer the sample between a predetermined position in a bus data word and the respective one of the k*m memories. Each sample collector is configured to calculate a respective memory select in dependence upon the address in each of the d dimensions such that each sample collector selects a different one of the k*m memories so as to allow the sample collectors to access k of the k*m memories concurrently. A memory controller may comprise m memory access units for handling transfers of samples in a d-dimensional array between m data buses and k*m memories. An integrated circuit (IC) comprising a memory access unit, and a motor vehicle comprising a computing device having a memory access unit are also disclosed.