Memory Management Sequencer for Low Latency Hardware Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional memory architectures cause bottlenecks in hardware-accelerated processing systems due to high data latency and inefficient data retrieval, leading to slowed processing times and increased power consumption.

Innovation Solution

A memory management system that partitions data into fixed block lengths aligned with the characteristics of hardware-accelerated processors, such as matrix processors, allowing for reduced pointer usage and clock cycles during read operations by using a sequencer to map and retrieve data blocks efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional memory architecture is used to store and retrieve data, then data can be stored flexibly according to memory architecture, but data retrieval latency increases and processing speed decreases

Engineering Contradiction:
Improvedata retrieval speedVSAvoiddata retrieval latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments data into fixed-size blocks that align with hardware processor characteristics. Instead of storing data as scattered individual portions with multiple pointers, the system divides data into contiguous blocks of fixed length, allowing the hardware processor to retrieve and process data in single operations without multiple pointer chasing, thereby reducing latency and improving retrieval speed.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is divided into individual portions stored at scattered memory locations, then memory space can be efficiently utilized, but the number of pointers increases and processing complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidpointer processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple scattered data portions into contiguous fixed-size blocks. By combining data that would otherwise require multiple separate pointers into single contiguous blocks, the system reduces the number of pointers needed and simplifies the processing logic, allowing hardware processors to operate more efficiently with fewer memory access operations.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If traditional memory management methods are used, then general-purpose computing can be achieved, but hardware-accelerated processing efficiency is reduced due to memory bottlenecks

Engineering Contradiction:
Improvehardware-accelerated processing adaptabilityVSAvoidprocessing wait time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent changes the fundamental parameters of data organization in memory by implementing fixed block lengths that match hardware processor characteristics. This parameter change allows hardware-accelerated processors to operate at full efficiency by eliminating memory access wait times, as data is pre-organized in the exact format and size required by the hardware architecture, enabling seamless parallel processing operations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3752912B1Systems and methods for low latency hardware memory management
Publication Date: 2023.09.20 TESLA INC
  • EP3752912B1 patent drawingFigure 1
  • EP3752912B1 patent drawingFigure 2
  • EP3752912B1 patent drawingFigure 3

AI summary

Presented are systems and methods that allow for efficient data processing that reduce data latency and, thus, power consumption and data management cost. In various embodiments, this is accomplished by using a sequencer that identifies an address pointer of a first data block within a memory and a length of data that comprises that data block and is related to an input of a matrix processor. The sequencer then calculates, based on the block length, the input length, and a memory map, a block count representative of a number of data blocks that are to be retrieved from the memory. Using the address pointer, the sequencer may retrieve a number of data blocks from the memory in a number of cycles that depends on whether the data blocks are contiguous.