Data Processing Device Buffering Strategy for DMA Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data processing methods using direct memory access (DMA) are inefficient, leading to poor operational efficiency and potential data loss due to the time it takes to move captured data to system memory, which can be mitigated by increasing the number of buffers but at the cost of additional elements and convenience.

Innovation Solution

A data processing device and method that includes a data capturing module, a counting module, a data moving module, and a data recovery module, where N pieces of data are temporarily stored and moved based on specific counting values, allowing for efficient data processing with reduced element usage by optimizing data movement and recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If direct memory access (DMA) is used to move captured data to system memory, then data movement is automated, but the operational efficiency is poor and data may be lost due to the time required for data movement

Engineering Contradiction:
Improvedata processing efficiencyVSAvoiddata movement time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by temporarily storing captured data in a buffer before moving it to system memory. The data capturing module captures data and stores it in a buffer in advance, allowing the DMA to move multiple pieces of data together rather than waiting for each individual data transfer to complete before capturing the next data point.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a buffer as an intermediary component between the data capturing module and the system memory. This buffer serves as a temporary storage location that decouples the data capture process from the data transfer process, allowing continuous data capture while data is being moved to system memory through DMA.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the number of buffers is increased to temporarily store captured data, then data loss is prevented, but the number of elements increases and convenience decreases

Engineering Contradiction:
Improvedata completenessVSAvoidnumber of buffers
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple data storage and transfer operations into a single buffer structure. Instead of using multiple separate buffers for different data pieces, the invention uses one buffer to temporarily store multiple captured data items, which are then moved together through a single DMA operation, reducing the total number of buffer elements required.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The buffer in the patent serves multiple functions: it acts as a temporary storage location for captured data, a queue for organizing multiple data items, and a interface between the capturing module and DMA. This multi-functionality eliminates the need for separate specialized buffers for each function, reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20240070036A1Data processing device and operation method thereof
Publication Date: 2024.02.29 NUVOTON
  • US20240070036A1 patent drawing
  • US20240070036A1 patent drawing
  • US20240070036A1 patent drawing

AI summary

A data processing device includes a data capturing module, a first counting module, a data moving module and a data recovery module. The data capturing module generates and temporarily stores N pieces of data according to an input signal and a first counting value, and generates a data moving instruction according to a second counting value and a first predetermined value. The first counting module generates the second counting value according to the N pieces of data. The data moving module moves the N pieces of data according to the data moving instruction. The data recovery module performs a recovery processing on the N pieces of data according to the second counting value to generate N pieces of recovery data.