Streaming Engine Parity Restart for Reliable Data Prefetch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern digital signal processors face challenges with increasing workloads, memory bandwidth, and latency issues, particularly in real-time data processing, where memory access and reliability problems are exacerbated by complex systems and smaller transistors.

Innovation Solution

A streaming engine is introduced that fetches data ahead of use by the central processing unit, using an address generator and stream head register, with parity checks to ensure data integrity and automatic address management, allowing for efficient real-time filtering operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is fetched ahead of use by the central processing unit in a stream buffer, then memory access efficiency is improved and cache miss stalls are reduced, but memory bandwidth limitations and memory system latency still impact real-time data processing

Engineering Contradiction:
Improvememory access efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The streaming engine fetches data ahead of use by the central processing unit and stores it in a stream buffer, performing the data retrieval action in advance before the CPU needs it. This preliminary action reduces cache miss stalls and improves memory access efficiency by pre-positioning data in the stream buffer.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Parity bits are formed upon storage of data in the stream buffer and stored with the corresponding data. Upon transfer to the stream head register, a second parity is calculated and compared with the stored parity. This feedback mechanism detects data corruption and ensures data integrity through error detection.

Inventive Principle:
Principle #23Feedback

2Productivity

If the streaming engine fetches data ahead of use, then bandwidth to functional units is increased, but the complexity of error detection and correction mechanisms increases

Engineering Contradiction:
Improvebandwidth to functional unitsVSAvoiderror detection and correction mechanisms
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements parity bit generation upon data storage in the stream buffer and performs parity comparison upon transfer to the stream head register. This feedback mechanism enables automatic error detection without significantly increasing device complexity, as parity bits require minimal additional hardware.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The streaming engine automatically restarts fetching the data stream at the data element generating a parity fault without external intervention. This self-service capability handles error correction autonomously, maintaining productivity while managing the complexity of error recovery through automated restart mechanisms.

Inventive Principle:
Principle #25Self-service

3Reliability

If the streaming engine automatically restarts upon parity faults, then reliability is improved, but the time to recover from errors increases

Engineering Contradiction:
Improveerror recoveryVSAvoidrestart time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The streaming engine autonomously detects parity faults and automatically restarts fetching the data stream at the element generating the fault without requiring external control or manual intervention. This self-service error recovery improves reliability by ensuring continuous operation while minimizing manual recovery time.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The streaming engine fetches data ahead of use in the stream buffer, creating a buffer of pre-fetched data that can absorb brief restart interruptions. This preliminary data fetching reduces the impact of restart time on overall processing, as the engine can continue operating from buffered data during error recovery.

Inventive Principle:
Principle #10Preliminary action

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

The streaming engine enhances memory access efficiency, reduces latency, and increases bandwidth to functional units, minimizing cache misses and scalar operations, while ensuring data reliability through parity checks.

Implementation Method 1

Parity bits are formed upon storage of data in the stream buffer which are stored with the corresponding data. Upon transfer to the stream head register a second parity is calculated and compared with the stored parity.

Methodology Applied
Scientific EffectParity check:

Data Source

PatentUS11994949B2Streaming engine with error detection, correction and restart
Publication Date: 2024.05.28 TEXAS INSTRUMENTS INC
  • US11994949B2 patent drawing
  • US11994949B2 patent drawing
  • US11994949B2 patent drawing

AI summary

Disclosed embodiments relate to a streaming engine employed in, for example, a digital signal processor. A fixed data stream sequence including plural nested loops is specified by a control register. The streaming engine includes an address generator producing addresses of data elements and a steam head register storing data elements next to be supplied as operands. The streaming engine fetches stream data ahead of use by the central processing unit core in a stream buffer. Parity bits are formed upon storage of data in the stream buffer which are stored with the corresponding data. Upon transfer to the stream head register a second parity is calculated and compared with the stored parity. The streaming engine signals a parity fault if the parities do not match. The streaming engine preferably restarts fetching the data stream at the data element generating a parity fault.