Channel Adapter Resource Partitioning via Hardware Registers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems in System Area Networks (SANs) lack the ability to logically partition resources within a single channel adapter, leading to all resources being allocated to a single partition, which restricts the sharing of hardware resources among multiple operating systems and increases maintenance costs.

Innovation Solution

The implementation of a method and system that uses hardware registers within each resource of a channel adapter to assign specific resources to different partitions, with a hypervisor controlling access and enforcing partitioning by storing a partition identifier in each resource's hardware register, ensuring that resources can only be accessed by the partition they are assigned to.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If an entire channel adapter is allocated to a single partition, then the operating system has complete and direct control of the hardware resources, but the system cannot support multiple operating systems sharing the same channel adapter resources

Engineering Contradiction:
Improvesupport for multiple operating system environmentsVSAvoidresource allocation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the channel adapter resources into multiple logical partitions, where each partition can be independently assigned to different operating systems. The channel adapter is divided into multiple queue pairs, each associated with a specific partition identifier, allowing simultaneous access by multiple OS environments while maintaining isolation between them.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of partitioning by adding partition identifier fields to the channel adapter resource structures. This creates a logical layer above the physical hardware, enabling multiple operating systems to share the same physical channel adapter through virtualized resource allocation without interfering with each other.

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

2Adaptability or versatility

If all channel adapter resources are assigned to one partition, then the system structure is simple, but the system versatility decreases and maintenance costs increase

Engineering Contradiction:
Improvesystem versatilityVSAvoidpartitioning structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent makes the channel adapter universal by enabling it to serve multiple operating systems simultaneously through partitioning. The same physical channel adapter resources can be dynamically allocated to different partitions based on demand, allowing one hardware component to fulfill multiple functional roles for different OS environments.

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

Solution Approach 2:

The patent applies local quality by assigning specific partition identifiers to specific queue pairs and resources within the channel adapter. Each resource can have different partitioning characteristics tailored to its usage requirements, allowing fine-grained control over which resources are shared and which are dedicated to specific operating systems.

Inventive Principle:
Principle #3Local quality

3Productivity

If hardware resources are shared among multiple partitions, then resource allocation efficiency improves, but access control complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidaccess control mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service access control where the channel adapter hardware automatically enforces partition-based access control without requiring external software intervention. The partition identifier checks are performed directly in the hardware, allowing resources to be shared efficiently while maintaining security through automated enforcement rather than manual software-based access control.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If a single channel adapter serves multiple operating systems, then maintenance costs are reduced, but resource isolation between partitions is compromised

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidpartition isolation guarantee
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments channel adapter resources into isolated partitioned units with dedicated queue pairs and completion queues for each partition. This segmentation ensures that operations in one partition cannot interfere with or access resources allocated to other partitions, maintaining reliability and isolation while enabling resource sharing at the channel adapter level.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7979548B2Hardware enforcement of logical partitioning of a channel adapter's resources in a system area network
Publication Date: 2011.07.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7979548B2 patent drawing
  • US7979548B2 patent drawing
  • US7979548B2 patent drawing

AI summary

A method and system are disclosed for logically partitioning resources of a single channel adapter for use in a system area network. Each resource includes a partition identifier register within which is stored a partition identifier. A first one of the resources is assigned to a first partition by storing a first partition identifier in the partition identifier register within the first one of the resources. A second one of the resources is assigned to a second partition by storing a second partition identifier in the partition identifier register within the second one of the resources. Partitioning of the resources is enforced by permitting access to the first resource by only the first partition and permitting access to the second resource by only the second partition by checking the partition identifiers of each resource.