Dynamic Memory Allocation Between I/O Adapter Caches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems face inefficiencies in managing memory allocation for input/output (I/O) adapters (IOAs) due to hard limits on cache allocation, leading to unused and reserved memory, especially when data is not balanced across primary and redundant IOA caches, resulting in suboptimal performance and increased device access times.

Innovation Solution

Implement a method where IOAs dynamically balance memory allocation by detecting cache utilization thresholds, allowing a cache approaching full capacity to request memory from underutilized caches, and reallocating memory to maintain optimal usage based on current I/O demand, thereby adjusting allocation rules to improve performance and reduce backing device access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If hard limits are imposed on cache allocation for IOAs, then memory management is simplified, but cache utilization efficiency deteriorates due to unused and reserved memory

Engineering Contradiction:
Improvememory management complexityVSAvoidcache utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic memory allocation where cache memory limits for IOAs are not fixed but can be adjusted in real-time based on current system conditions. The memory manager continuously monitors cache utilization across multiple IOAs and dynamically reallocates memory resources, allowing the system to adapt to changing I/O demands and optimize cache utilization efficiency while maintaining manageable complexity through automated control.

Inventive Principle:
Principle #15Dynamics

2Reliability

If pre-allocation of excessive space is done for redundant data, then reliability is improved, but memory waste increases

Engineering Contradiction:
Improvedata redundancy reliabilityVSAvoidmemory waste
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The patent changes the parameter of memory allocation from fixed pre-allocation to dynamic allocation based on actual system needs. The memory manager monitors cache utilization thresholds and adjusts memory allocation parameters in real-time, allocating memory for redundant data only when necessary and reclaiming it when not needed, thereby maintaining reliability while minimizing memory waste through adaptive parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If memory is statically allocated to IOA caches, then allocation overhead is reduced, but device access time increases due to suboptimal cache utilization

Engineering Contradiction:
Improveallocation overheadVSAvoiddevice access time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements a feedback mechanism where the memory manager continuously monitors cache utilization levels across multiple IOAs and uses this information to make real-time allocation decisions. When one IOA's cache approaches full capacity while another has available space, the system automatically transfers memory resources, creating a closed-loop control system that optimizes cache utilization and reduces device access times without significant allocation overhead.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11681628B2Managing memory allocation between input/output adapter caches
Publication Date: 2023.06.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11681628B2 patent drawing
  • US11681628B2 patent drawing
  • US11681628B2 patent drawing

AI summary

A first cache of a first IOA is detected storing an amount of data that satisfies a memory shortage threshold. A request for extra memory for the first IOA is transmitted. The request is sent in response to detecting that the first cache stores the amount of data that satisfies the memory shortage threshold. The request is transmitted to a plurality of IOAs of a computer system. A second cache of a second IOA is detected storing an amount of data that satisfies a memory dissemination threshold. Memory of the second cache is allocated to the first cache. The memory is allocated in response to the request and the amount of data in the second cache satisfying the memory dissemination threshold.