PCI Store Block Instructions for Adapter Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing environments face challenges in efficiently communicating with adapters such as PCI or PCIe adapters, particularly in storing data within their address spaces, due to limitations in existing instructions and memory-mapped I/O methods.

Innovation Solution

The introduction of specific control instructions, including PCI Load, PCI Store, and PCI Store Block instructions, which utilize function handles and function table entries to authorize and execute data operations within the adapter's address spaces, ensuring authorized access and efficient data transfer without relying on memory-mapped I/O.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory-mapped I/O methods are used to communicate with adapters, then data transfer can be performed, but access authorization and security control are insufficient

Engineering Contradiction:
Improveaccess authorizationVSAvoidinstruction set complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The adapter address space is segmented into multiple regions, with each region having its own authorization rules. The function table entries divide the address space into configurable segments, allowing fine-grained control over which areas can be accessed by different code, thereby improving security without requiring a completely complex instruction set.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A function table serves as an intermediary between the store instruction and the adapter address space. This function table stores authorization information and translates logical addresses into physical addresses, providing security control without requiring complex authorization logic in the instruction set itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If existing store instructions are used to write data to adapter address spaces, then data storage is possible, but efficient data transfer and large block support are limited

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidoperation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

Multiple data transfer operations are merged into a single store block instruction that can transfer entire blocks of data in one operation. The instruction combines address specification, data block identification, and transfer execution into a unified operation, improving productivity while maintaining ease of operation through a single instruction format.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Data blocks are prepared and staged in memory before the store block instruction is executed. The function table entries are pre-configured with authorization information and address mappings, allowing the actual data transfer to proceed efficiently without runtime authorization checks or address calculations.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If PCI address space segmentation is used with work queues, then address mapping is achieved, but the system complexity and number of components increase

Engineering Contradiction:
Improveaddress space mapping flexibilityVSAvoidsystem component count
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The function table serves multiple functions: it stores authorization information, performs address translation, and manages region mappings. This multi-functional approach provides the adaptability of PCI address space segmentation without requiring separate components for each function, thereby reducing overall system complexity.

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

Solution Approach 2:

The function table automatically performs address translation and authorization verification without requiring external control logic or additional processing steps. The store instruction simply provides the logical address, and the function table self-services the translation and security check, reducing the number of active system components needed.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2430524B1Store/store block instructions for communicating with adapters
Publication Date: 2014.10.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2430524B1 patent drawingFigure 1A
  • EP2430524B1 patent drawingFigure 1B
  • EP2430524B1 patent drawingFigure 1C

AI summary

Communication with adapters of a computing environment is facilitated. Instructions are provided that explicitly target the adapters. Information provided in an instruction is used to steer the instruction to an appropriate location within the adapter.