Peripheral Trace Queue for Command Logging and Error Diagnosis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In peripheral interface controllers with high data bandwidth, providing control inputs from an external processor is challenging due to interface saturation, leading to idle times and increased costs, power consumption, and complexity in error diagnosis.

Innovation Solution

Implementing a peripheral component with low and high priority command queues, a macro memory, and a trace queue to manage and log commands, allowing flexible and efficient data transfers and error tracing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the same internal interface is used for both data transfers and control inputs, then device complexity is reduced, but control inputs are locked out during data transfers causing idle time

Engineering Contradiction:
Improveinterface structureVSAvoididle time of peripheral interface
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The command queue is segmented into multiple priority levels (high priority and low priority). When a high priority command arrives, it can interrupt and preempt low priority commands, allowing critical control inputs to be processed immediately without waiting for data transfers to complete. This segmentation resolves the contradiction by enabling time-critical control operations while maintaining a shared interface structure.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a processor is included in the peripheral interface controller to reduce contention, then productivity is improved, but device complexity, cost, and power consumption increase

Engineering Contradiction:
Improveinterface throughputVSAvoidcontroller structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A dedicated command queue structure acts as an intermediary between the shared interface and the peripheral component. The queue manages command sequencing and priority handling without requiring a full processor. This intermediary structure improves productivity by enabling overlapping of data transfers and control operations, while avoiding the complexity and power consumption of incorporating a processor.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The command queue system is self-managing, using priority-based interruption mechanisms to automatically handle control inputs without external processor intervention. The system services its own control needs through the queue structure, eliminating the need for an additional processor while maintaining high productivity.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If multiple command sources are used to improve flexibility, then adaptability is improved, but error diagnosis becomes more difficult

Engineering Contradiction:
Improvecommand programming flexibilityVSAvoiderror sequence tracing
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

A trace queue is implemented that provides feedback about the sequence of commands being executed. The trace queue records commands from multiple sources in a unified sequence, enabling error diagnosis by showing exactly what commands were issued and in what order. This feedback mechanism maintains the adaptability of multiple command sources while solving the error tracing problem.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8918680B2Trace queue for peripheral component
Publication Date: 2014.12.23 APPLE INC
  • US8918680B2 patent drawing
  • US8918680B2 patent drawing
  • US8918680B2 patent drawing

AI summary

In an embodiment, a peripheral component may include multiple sources of commands, such as command queues and/or macro memories. The commands may be performed in the peripheral component and may result in an error. The peripheral component may include a trace queue into which the commands may be written, independent of the source of the commands. Thus, the trace queue may provide a record of recently performed commands.