Stream Vector Padding for Memory-Efficient Data Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital signal processors face challenges in managing memory bandwidth and scheduling for real-time data processing, particularly in systems with shared memory architectures, leading to potential delays in outputting transformed data streams.

Innovation Solution

Incorporating a streaming engine with autonomous capabilities to manage data streams, including features like address generation, data formatting, and cache control, which allows for the insertion of null vectors or padded vectors without accessing system memory, thereby optimizing memory access and improving data scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a streaming engine is used to manage data streams with autonomous capabilities, then memory bandwidth and data scheduling efficiency are improved, but device complexity increases

Engineering Contradiction:
Improvememory bandwidth and data scheduling efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The streaming engine performs autonomous address generation, data formatting, and cache control without requiring complex external management. The engine self-manages its own operations to optimize memory bandwidth and data scheduling, reducing the need for higher-level intervention while maintaining improved performance

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The streaming engine is divided into functional modules including address generation units, data formatting units, and cache control units. This segmentation allows each module to handle specific tasks independently, improving overall efficiency while keeping the complexity of individual modules manageable

Inventive Principle:
Principle #1Segmentation

2Speed

If null vectors or padded vectors are inserted without accessing system memory, then processing speed is improved, but data structure complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoiddata structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The streaming engine generates null vectors and padded vectors in advance during the data formatting phase, before the actual processing begins. This preliminary preparation eliminates the need for runtime memory access when null or padded data is needed, significantly improving processing speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of accessing system memory for null or padded vectors, the streaming engine creates copies of these vectors internally using predefined patterns. The data formatting unit generates these vectors by copying standard null or padding patterns rather than reading from memory, maintaining speed while managing structure complexity

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20260017200A1Padding and suppressing rows and columns of data
Publication Date: 2026.01.15 TEXAS INSTRUMENTS INC
  • US20260017200A1 patent drawing
  • US20260017200A1 patent drawing
  • US20260017200A1 patent drawing

AI summary

A method is described herein. The method generally includes receiving stream parameters that defines an array, wherein the stream parameters include a first null element count and a second null element count. The method generally includes forming a stream of vectors for the multidimensional array responsive to the stream parameters. The stream of vectors generally includes a vector of null elements at a beginning of the stream of vectors based on the first null element count. The stream of vectors generally includes a null element at a beginning of each vector of the stream of vectors based on the second null element count. The stream of vectors generally includes a set of data distributed across a subset of the stream of vectors. The method generally includes providing the stream of vectors.