Multiport Embedded Device Data Aggregation for I/O Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing input-output interfaces, such as SDIO, face bottlenecks in data throughput due to the inability to efficiently transfer multiple independent data packets across multiple ports of a multiport embedded device, leading to suboptimal performance compared to network interfaces.

Innovation Solution

Implementing a method where a host can issue a single command to transfer multiple independent data packets to/from a multiport embedded device, with the interface hardware aggregating packets and confirming transfer only at the end, thereby enhancing data throughput and reducing unnecessary confirmation interrupts and handshakes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional I/O interface protocols are used to transfer data packets, then protocol compliance is maintained, but data throughput is limited due to sequential transfer and frequent handshakes

Engineering Contradiction:
Improvedata throughputVSAvoidtransfer time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple independent data packet transfers into a single aggregated transfer operation. The host issues one write command to transfer N packets simultaneously, and the embedded device sends one interrupt upon completion of all N packets, consolidating what would traditionally require N separate commands and N interrupts into single operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The embedded device performs preliminary action by buffering multiple data packets in advance within its memory before the host needs to transfer them. This allows the device to prepare multiple packets for transmission ahead of time, enabling the host to retrieve them in a single operation rather than waiting for sequential transfers.

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If multiple independent data packets are transferred sequentially using traditional protocols, then protocol overhead is maintained, but power consumption increases due to frequent interrupts and handshakes

Engineering Contradiction:
Improvepower consumptionVSAvoidprotocol complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent merges N separate interrupt signals into a single interrupt that is sent only after all N aggregated packets have been successfully transferred. This consolidation eliminates N-1 unnecessary interrupts, reducing the computational overhead and power consumption associated with interrupt handling while maintaining protocol compliance.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If the I/O interface throughput is lower than the network interface throughput, then the I/O interface is simpler to implement, but the embedded device becomes a bottleneck in data flow

Engineering Contradiction:
Improvedata flow throughputVSAvoidinterface operation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent changes the operational parameters of the I/O interface by implementing aggregation of N data packets per transfer command. This parameter change enables the I/O interface to achieve higher effective throughput by reducing the frequency of host-device interactions, allowing the interface to match network interface speeds without increasing physical bandwidth.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9152580B1Method and apparatus for transferring data between a host and an embedded device
Publication Date: 2015.10.06 MARVELL ASIA PTE LTD
  • US9152580B1 patent drawing
  • US9152580B1 patent drawing
  • US9152580B1 patent drawing

AI summary

Methods, systems and computer program products are described for transferring aggregated data packets over an I/O interface from a host to a multiport embedded device. For example, a method includes receiving, by the device from the host, a single write command that (i) specifies two or more ports from among multiple ports of the device, and (ii) includes two or more data packets to be respectively written to the specified ports. The multiple ports of the device are mapped to corresponding locations of memory of the device. The method further includes saving, by the device in response to the single write command, the two or more data packets at two or more memory locations to which the specified ports are mapped. Additionally, the method includes sending, upon saving the data packets, a single notification to the host indicating that the device is ready to receive another write command.