DMA Checksum Switching for Payload-Length Transfer Changes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing communication protocols face inefficiencies in checksum calculation during DMA transfer, particularly when payload length changes, leading to increased processing load and reduced communication speed.

Innovation Solution

A DMA transfer apparatus with dual checksum calculation units allows selection between payload sum and Internet checksum calculations, enabling efficient checksum processing based on payload length changes, thereby maintaining communication speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If payload sum is calculated during DMA transfer, then communication speed is improved, but if payload length changes during transfer, the payload sum becomes unusable and communication speed decreases

Engineering Contradiction:
Improvecommunication speedVSAvoidadaptability to payload length changes
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system dynamically switches between two checksum calculation modes (payload sum calculation and Internet checksum calculation) based on whether payload length changes occur during DMA transfer. This dynamic adaptation allows the system to maintain high communication speed when payload length is stable while properly handling cases where payload length changes, thus resolving the contradiction between speed and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the calculation parameter from fixed payload sum to selectable between payload sum and Internet checksum based on the condition of payload length stability. By monitoring whether payload length changes during transfer and switching the calculation method accordingly, the system optimizes both speed and adaptability to different transfer scenarios.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If payload sum is recalculated when payload length changes, then checksum accuracy is maintained, but processing load increases and communication speed decreases

Engineering Contradiction:
Improvechecksum accuracyVSAvoidcommunication processing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The invention extracts the checksum calculation function into a separate selectable module that can operate in two distinct modes. By taking out the payload sum calculation from being the sole method and providing an alternative Internet checksum calculation path, the system maintains checksum accuracy when needed while avoiding unnecessary recalculation overhead, thus preserving processing efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of always performing full Internet checksum calculation (excessive action), the system performs payload sum calculation (partial action) when payload length is stable, which is sufficient for checksum purposes. Only when payload length changes does the system perform the complete Internet checksum calculation, avoiding unnecessary processing load while maintaining accuracy when required.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11336297B2DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium
Publication Date: 2022.05.17 CANON KK
  • US11336297B2 patent drawing
  • US11336297B2 patent drawing
  • US11336297B2 patent drawing

AI summary

A DMA (Direct Memory Access) transfer apparatus acquires information including a transfer source address and a transfer destination address based on a received transfer instruction, selects whether to perform first checksum calculation for data from an area of a memory corresponding to the transfer source address or perform second checksum calculation different from the first checksum calculation, and transfers data obtained via the checksum calculation selected in the selecting to an area of the memory corresponding to the transfer destination address.