Inter-Processor Communication Reordering via Descriptor Rings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing inter-processor communication (IPC) technologies face challenges in efficiently re-ordering out-of-order data packets in mobile devices, which require significant memory resources due to higher bandwidth, leading to memory constraints and increased power consumption.

Innovation Solution

A method and apparatus for re-ordering out-of-order data transactions over an IPC link between independently operable processors, involving the use of transfer descriptors and completion descriptors to determine and provide the correct order, allowing for efficient re-transmission and re-ordering of packets, thereby reducing memory requirements and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional IPC technologies are used to handle higher data rates and data throughput, then data transmission capability is improved, but memory requirements increase significantly

Engineering Contradiction:
Improvedata throughputVSAvoidmemory resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments data transactions into groups and uses transfer descriptors to manage individual packet ordering within those groups. This allows the system to achieve high throughput while reducing the memory footprint by only tracking order information for packets that need reordering, rather than buffering all packets individually.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces transfer descriptors and completion descriptors as intermediary data structures that mediate between the data transmission and reordering operations. These descriptors carry ordering information and enable the system to re-order packets without requiring large memory buffers, thus resolving the contradiction between throughput and memory requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If out-of-order data packets are re-ordering is performed to ensure data integrity, then data processing accuracy is improved, but power consumption increases

Engineering Contradiction:
Improvedata integrityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial reordering by only re-ordering packets within groups that contain out-of-order arrivals, rather than re-ordering all packets sequentially. This selective approach maintains data integrity for affected packets while minimizing the power consumption associated with comprehensive reordering operations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter of packet grouping, organizing data transactions into groups that can be processed together. This allows the system to maintain reliability through targeted reordering within groups while reducing overall power consumption by avoiding unnecessary reordering operations across the entire data stream.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If memory requirements are reduced to address mobile device constraints, then device adaptability is improved, but data reordering capability deteriorates

Engineering Contradiction:
Improvedevice adaptabilityVSAvoidreordering capability
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential reordering information into transfer descriptors and completion descriptors, separating the ordering logic from the data buffering requirements. This extraction allows the system to maintain reordering capability with minimal memory, as only the descriptor structures need to be stored rather than all packet data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent moves the reordering operation from a time-based sequential process to a space-based parallel process by using descriptor rings and completion groups. This dimensional change allows multiple packets to be tracked and reordered simultaneously with reduced memory footprint, improving device adaptability without sacrificing reordering capability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11379278B2Methods and apparatus for correcting out-of-order data transactions between processors
Publication Date: 2022.07.05 APPLE INC
  • US11379278B2 patent drawing
  • US11379278B2 patent drawing
  • US11379278B2 patent drawing

AI summary

Methods and apparatus for correcting out-of-order data transactions over an inter-processor communication (IPC) link between two (or more) independently operable processors. In one embodiment, a peripheral-side processor receives data from an external device and stores it to memory. The host processor writes data structures (transfer descriptors) describing the received data, regardless of the order the data was received from the external device. The transfer descriptors are written to a memory structure (transfer descriptor ring) in memory shared between the host and peripheral processors. The peripheral reads the transfer descriptors and writes data structures (completion descriptors) to another memory structure (completion descriptor ring). The completion descriptors are written to enable the host processor to retrieve the stored data in the correct order. In optimized variants, a completion descriptor describes groups of transfer descriptors. In some variants, the peripheral processor caches the transfer descriptors to offload them from the transfer descriptor ring.