DSP Memory Fault Handling via Mailbox Interrupts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex system-on-chip architectures with multiple processor cores, memory management faults caused by invalid virtual addresses are difficult to debug due to silent crashes and infrequent occurrence, making it challenging to identify and address the issues effectively.

Innovation Solution

A method is implemented where a microprocessor with an interrupt handler activates in response to a page fault interrupt from a digital signal processor (DSP), creating a translation lookaside buffer entry to map the invalid virtual address to reserved physical memory, and generates a mailbox interrupt to allow the DSP to continue processing and perform error handling, such as archiving debug information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the DSP accesses unmapped memory regions, then the system can handle memory management faults gracefully and collect debugging information, but the DSP crashes silently and becomes incommunicado from external subsystems

Engineering Contradiction:
Improvefault handling reliabilityVSAvoiddebuggability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a mailboxes mechanism as an intermediary communication channel between the DSP and external subsystems. When a page fault occurs, the DSP can write fault information to a mailbox memory location, allowing external debuggers to retrieve debugging information even though the DSP has crashed. This mediator enables graceful fault handling while maintaining debuggability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system pre-allocates mailbox memory regions and sets up interrupt handlers before faults occur. The mailboxes are prepared in advance with known memory addresses and communication protocols, so when a page fault happens, the DSP can immediately write fault information without needing to establish communication channels during the crash state.

Inventive Principle:
Principle #10Preliminary action

2Difficulty of detecting and measuring

If hardware debuggers are used to catch faults, then debugging capability is improved, but faults occur very infrequently and depend on unique conditions making them hard to catch

Engineering Contradiction:
Improvefault detection difficultyVSAvoiddebugging efficiency
Core Design Contradiction:
Difficulty of detecting and measuringVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism where the DSP writes fault information to mailboxes before crashing. This provides feedback about the fault conditions (virtual address, fault type, register state) to external subsystems, enabling debugging of infrequent faults that depend on unique conditions like background noise. The feedback allows reproducible analysis without needing to wait for the exact same rare conditions to occur again.

Inventive Principle:
Principle #23Feedback

3Reliability

If the DSP stalls on page faults, then memory management faults are trapped and handled, but the DSP becomes incommunicado and cannot provide useful information for debugging

Engineering Contradiction:
Improvememory management fault handlingVSAvoiddebugging information loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system pre-configures mailbox memory addresses and interrupt handlers before the DSP executes. When a page fault occurs, the DSP has already been programmed with the mailbox address where to write fault information. This preliminary setup ensures that even though the DSP stalls on the fault, it can still communicate fault details to external subsystems through the pre-established mailbox channel.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7681012B2Method, system and device for handling a memory management fault in a multiple processor device
Publication Date: 2010.03.16 TEXAS INSTRUMENTS INC
  • US7681012B2 patent drawing
  • US7681012B2 patent drawing
  • US7681012B2 patent drawing

AI summary

A method or device handles memory management faults in a device having a digital signal processor (“DSP”) and a microprocessor. The DSP includes a memory management unit (“DSP MMU”) to manage memory access by the DSP, and the DSP and the microprocessor access shared physical memory. Upon the DSP executing an instruction attempting to access a virtual address wherein the virtual address is invalid, a page fault interrupt is generated by the DSP MMU. A microprocessor interrupt handler in the microprocessor is activated in direct response to the page fault interrupt. Thereafter in the microprocessor, a translation lookaside buffer (“TLB”) entry is created in the DSP MMU, which includes a valid mapping between the virtual address and a page of physical memory. After creating the TLB entry, the microprocessor indicates to the DSP that the access by the DSP of the virtual address is completed.