Streaming Engine Pad Value Insertion Without Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital signal processors face challenges in efficiently processing streams of data due to limitations in memory bandwidth and scheduling, particularly in real-time applications like video encoding.

Innovation Solution

The implementation of a streaming engine within the digital signal processor that configures stream parameters to define a multidimensional array, allowing for the insertion of pad values without accessing system memory, thereby enhancing memory bandwidth and data scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pad values are accessed from system memory during stream processing, then data completeness is ensured, but memory bandwidth is reduced and processing efficiency deteriorates

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidmemory bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The streaming engine generates pad values internally without accessing system memory, performing the padding action in advance and independently of memory operations. This preliminary action eliminates memory access overhead for pad values while ensuring data stream completeness, directly resolving the contradiction between processing efficiency and memory bandwidth consumption

Inventive Principle:
Principle #10Preliminary action

2Reliability

If real-time data processing is performed without pad value insertion, then processing speed is maintained, but data stream integrity is compromised

Engineering Contradiction:
Improvedata stream integrityVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The streaming engine serves its own padding needs by generating pad values internally through mathematical operations on existing stream data. This self-service capability ensures data stream integrity for real-time processing without introducing external memory access delays, simultaneously achieving reliability and time efficiency

Inventive Principle:
Principle #25Self-service

3Productivity

If traditional memory access methods are used for all data including pads, then system simplicity is maintained, but processing throughput is reduced

Engineering Contradiction:
Improveprocessing throughputVSAvoidstreaming engine complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The padding function is merged with the streaming engine's core data processing operations. By combining pad value generation with existing stream processing logic, the system achieves higher throughput without adding separate padding hardware or complex memory management mechanisms, balancing productivity gains with acceptable device complexity

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250156185A1Inserting predefined pad values into a stream of vectors
Publication Date: 2025.05.15 TEXAS INSTRUMENTS INC
  • US20250156185A1 patent drawing
  • US20250156185A1 patent drawing
  • US20250156185A1 patent drawing

AI summary

Software instructions are executed on a processor within a computer system to configure a streaming engine with stream parameters to define a multidimensional array. The stream parameters define a size for each dimension of the multidimensional array and a pad value indicator. Data is fetched from a memory coupled to the streaming engine responsive to the stream parameters. A stream of vectors is formed for the multidimensional array responsive to the stream parameters from the data fetched from memory. A padded stream vector is formed that includes a specified pad value without accessing the pad value from system memory.