Configurable Port for Peripheral Transaction Attribute Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in transferring transaction attributes between peripheral devices and the computing system, particularly when using standard bus protocols, which limits the flexibility and cost-effectiveness of peripheral device implementation, especially in virtualized environments where general-purpose components are not suitable.

Innovation Solution

A configurable port is introduced that encodes transaction attributes into internal transactions, allowing these attributes to be automatically included in outgoing transactions, eliminating the need for secondary interconnects and enabling the use of generic components, thus providing a flexible and cost-effective solution for peripheral device design.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If standard bus protocols are used for peripheral device connections, then compatibility and ease of operation are improved, but device complexity and cost increase due to requiring specialized components with transaction attribute generation capability

Engineering Contradiction:
Improveease of operationVSAvoiddevice complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

A configurable port acts as an intermediary between the internal transaction logic and the external bus protocol. The port receives internal transactions without attributes, encodes the necessary transaction attributes into these transactions, and forwards them to the bus. This mediator approach allows generic components to achieve specialized functionality without increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The configurable port creates a copy of the internal transaction and modifies it by encoding transaction attributes into the address portion of the copied transaction. This allows the system to generate proper bus transactions with attributes without requiring the original transaction generator to have attribute encoding capability, thus using cheaper generic components.

Inventive Principle:
Principle #26Copying

2Reliability

If specialized PCI-specific components are used to generate transaction attributes, then manufacturing precision and reliability are improved, but ease of manufacture and cost worsen due to inability to use generic components

Engineering Contradiction:
ImprovereliabilityVSAvoidease of manufacture
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The configurable port provides universal functionality by being able to encode transaction attributes for multiple different bus protocols (PCI, PCI-X, PCI Express). This single component can serve multiple protocol requirements, allowing the system to use generic, off-the-shelf components rather than specialized components for each protocol, thereby improving ease of manufacture while maintaining reliability.

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

Solution Approach 2:

The configurable port allows dynamic configuration of transaction attribute encoding through programmable logic. The transaction attribute encoding can be changed by modifying configuration parameters without requiring hardware changes, enabling the same hardware to reliably support different bus protocols and applications while being easy to manufacture using standard FPGAs or CPLDs.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If transaction attributes are transferred using secondary interconnects, then measurement precision and reliability of attribute transfer are improved, but device complexity and cost increase

Engineering Contradiction:
Improvemeasurement precisionVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The configurable port merges the transaction attribute encoding function with the existing internal transaction path. Instead of using a separate secondary interconnect for attribute transfer, the port combines attribute encoding with the main transaction flow by encoding attributes directly into the address portion of the internal transaction. This integration eliminates the need for additional dedicated attribute transfer paths, reducing device complexity while maintaining precise attribute transfer.

Inventive Principle:
Principle #5Merging (Combining)

4Ease of manufacture

If generic components are used instead of PCI-specific functions, then ease of manufacture and cost are improved, but adaptability to bus protocols with transaction attributes worsens

Engineering Contradiction:
Improveease of manufactureVSAvoidadaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The configurable port introduces dynamic reconfigurability to generic components. Using programmable logic (FPGA or CPLD), the port can be dynamically configured to encode transaction attributes according to different bus protocol requirements. This dynamic adaptability allows generic components to function as protocol-specific components when needed, maintaining both ease of manufacture and adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10621134B1Generating transactions with a configurable port
Publication Date: 2020.04.14 AMAZON TECH INC
  • US10621134B1 patent drawing
  • US10621134B1 patent drawing
  • US10621134B1 patent drawing

AI summary

Provided are systems and methods for generating transactions with a configurable port. In some implementations, a peripheral device is provided. The peripheral device comprises a configurable port. In some implementations, the configurable port may be configured to receive a first transaction. In these implementations, the first transactions may include an address. The address may include a transaction attribute. In some implementations, the configurable port may extract the transaction attribute and a transaction address from the address. The configurable port may further generate a second transaction that includes the transaction attribute and the transaction address. The configurable port may also transmit the second transaction.