DMA Descriptor Integrity Checks for Corruption Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Direct Memory Access (DMA) descriptors are prone to corruption during transmission between a host and a device in a storage system, leading to potential data errors and incorrect data transfers.

Innovation Solution

An integrity manager is implemented to manage the integrity of DMA descriptors by embedding a host-side integrity value, which is compared to a device-side integrity value upon receipt, ensuring the descriptor remains intact and accurate throughout the transfer process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If DMA descriptors are transmitted between host and device without integrity verification, then transmission speed is improved, but data integrity deteriorates

Engineering Contradiction:
Improvetransmission speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The host generates and embeds an integrity value in the DMA descriptor before transmission. This preliminary action ensures that integrity verification data is prepared in advance, allowing the device to verify descriptor integrity upon receipt without slowing down the transmission process itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The device generates a second integrity value from the received descriptor and compares it with the embedded first integrity value. This feedback mechanism detects transmission errors by comparing the original integrity value with a freshly generated one, ensuring data integrity while maintaining transmission speed.

Inventive Principle:
Principle #23Feedback

2Reliability

If integrity verification mechanisms are added to DMA descriptor transmission, then data integrity is improved, but system complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

An integrity value acts as an intermediary element embedded within the DMA descriptor. This intermediary carries verification information without requiring complex communication protocols or additional verification systems, simplifying the overall architecture while ensuring data integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The device creates a copy of the integrity value generation process by generating a second integrity value from the received descriptor and comparing it with the embedded first integrity value. This copying approach simplifies verification by using the same generation logic rather than requiring complex validation algorithms.

Inventive Principle:
Principle #26Copying

3Measurement precision

If corruption detection is implemented for DMA descriptors, then error detection capability is improved, but processing time increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs a focused integrity check by comparing only the embedded integrity value with a regenerated integrity value, rather than verifying the entire descriptor content. This partial verification approach provides sufficient error detection capability while minimizing the time required for validation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7921237B1Preserving data integrity of DMA descriptors
Publication Date: 2011.04.05 NETAPP INC
  • US7921237B1 patent drawing
  • US7921237B1 patent drawing
  • US7921237B1 patent drawing

AI summary

A storage system includes a host computer coupled to a device to transfer a DMA descriptor between the host and the device. An integrity manager manages the integrity of the DMA descriptor between the host computer and the device. The integrity manager embeds a host-side DMA descriptor integrity value in the DMA descriptor and the device transfers the DMA descriptor to a device memory. The device generates a device-side DMA descriptor integrity value and compares it to the host-side DMA descriptor integrity value to determine if the descriptor is corrupted.