Storage Adapter Controller Resource Pool Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage adapters often act as a performance bottleneck in computer systems, particularly with the increasing popularity of solid state drives (SSDs), necessitating a method and controller for optimizing storage adapter performance while maintaining efficient functions such as Write Caching and RAID operations.

Innovation Solution

A controller with multiple hardware engines and resource pools, utilizing a processor to initialize allocation types and maintain page counts for deadlock avoidance, and employing checking functions to manage work queues and allocate resources efficiently, minimizing hardware and firmware interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional storage adapter resource allocation is used, then basic storage functions are maintained, but I/O operation time is excessive and performance is bottlenecked

Engineering Contradiction:
ImproveI/O operation speedVSAvoidI/O operation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments storage resources into multiple resource pools (cache pools, buffer pools, I/O operation pools) and divides work into separate work queues. This segmentation allows parallel processing of different I/O operations and prevents single-threaded bottlenecks, directly improving I/O operation speed and reducing operation time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where the controller automatically assigns resources from appropriate pools based on the type and requirements of each I/O operation. This dynamic allocation optimizes resource utilization in real-time, enhancing productivity while minimizing idle time and wait states.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If resource allocation is optimized for speed, then I/O operation time is reduced, but system stability and deadlock avoidance become problematic

Engineering Contradiction:
ImproveI/O operation timeVSAvoiddeadlock avoidance
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent establishes water mark thresholds (high water marks and low water marks) for each resource pool before operations begin. These pre-set thresholds guide resource allocation decisions and prevent over-allocation that could lead to deadlocks. By planning resource usage in advance within safe boundaries, the system maintains both speed and stability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent continuously monitors resource pool status and adjusts allocation based on feedback from water mark comparisons. When resources approach critical levels, the system automatically adjusts allocation to prevent deadlock conditions. This closed-loop control ensures reliable operation while maintaining optimized performance.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple resource pools and work queues are implemented, then I/O operation time is reduced, but device complexity increases

Engineering Contradiction:
ImproveI/O operation speedVSAvoidcontroller structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent designs resource pools and work queues with universal structures that can handle multiple types of I/O operations (read, write, delete, etc.) through a unified allocation mechanism. This multi-functionality reduces the need for separate specialized structures for each operation type, managing complexity while maintaining high productivity.

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

4Productivity

If hardware engines and checking functions are added, then resource allocation efficiency is improved, but hardware-firmware interaction overhead increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidhardware-firmware interactions
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where hardware engines autonomously perform allocation checks against water marks and automatically select appropriate resource pools without constant firmware intervention. This reduces hardware-firmware interaction overhead while maintaining efficient resource allocation through built-in decision logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8793462B2Implementing storage adapter performance optimization with enhanced resource pool allocation
Publication Date: 2014.07.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8793462B2 patent drawing
  • US8793462B2 patent drawing
  • US8793462B2 patent drawing

AI summary

A method and controller for implementing storage adapter performance optimization with enhanced resource pool allocation, and a design structure on which the subject controller circuit resides are provided. The controller includes a plurality of hardware engines; a processor, and a plurality of resource pools. A plurality of work queues is associated with the resource pools. The processor initializes a list of types, and the associated amount of pages for each allocate type. The hardware engines maintain a count of allocate types, specifying a type on each allocation and deallocation, and performing allocation from the resource pools for deadlock avoidance.