Peripheral Device Control Message Signature Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods of controlling computer peripheral devices are prone to unintended or incorrect writes to device registers, leading to potential system instability and data corruption due to bugs in host processor programs, which can result in executing invalid control messages.

Innovation Solution

A method where a host processor writes control messages and signatures to a system memory mailbox, and notifies the peripheral device to read and verify the signature before executing the message, ensuring only valid commands are acted upon by appending an error checking code to the control message.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional direct write methods are used to control peripheral devices, then the operation is simple and fast, but the system is prone to unintended or incorrect writes leading to instability and data corruption

Engineering Contradiction:
Improvesystem stabilityVSAvoidcontrol message structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The control message is segmented into distinct components: the original control data and an appended signature (error checking code). This segmentation allows the peripheral device to verify the integrity of control messages by checking the signature against the received data, thereby preventing execution of corrupted or unintended messages while maintaining a relatively simple control structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A signature (error checking code) is introduced as an intermediary element between the control message and the execution process. This signature acts as a mediator that verifies the authenticity and integrity of the control message before execution, preventing direct writes from causing system instability without adding significant complexity to the control flow.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If error checking codes are computed and verified, then data integrity is ensured, but the processing time and computational overhead increase

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

Solution Approach 1:

The error checking code (signature) is computed in advance by the host processor and appended to the control message before transmission. This preliminary action allows the peripheral device to simply verify the signature upon receipt without performing complex real-time computations, thereby ensuring data integrity while minimizing processing time overhead.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If control messages are written directly to device registers, then the operation is fast and simple, but bugs in host processor programs can cause unintended writes and silent data corruption

Engineering Contradiction:
Improvecontrol operation speedVSAvoidexecution accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The peripheral device performs self-verification by checking the signature against the received control message before execution. This self-service mechanism allows the device to autonomously detect and reject corrupted or unintended control messages without requiring additional validation steps from the host processor, thereby maintaining fast operation speeds while improving execution accuracy.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8407478B2Control message signature for device control
Publication Date: 2013.03.26 MELLANOX TECHNOLOGIES LTD(IL)
  • US8407478B2 patent drawing
  • US8407478B2 patent drawing
  • US8407478B2 patent drawing

AI summary

A method of controlling a peripheral device includes generating, in a host processor, a control message for transmission to the peripheral device, and calculating a signature for the control message. The control message and the signature are written to an address in a system memory of the host processor, and the peripheral device is notified of the address, so as to cause the device to read the control message and the signature from the system memory.