Cache Memory Partitioning for Storage Controller QoS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information handling systems face challenges in efficiently managing cache memory across multiple virtual functions in storage controllers, leading to inconsistent quality of service and suboptimal data processing due to varying IO workloads and storage needs.

Innovation Solution

The storage controller partitions the cache memory into predetermined sections, allocating a first portion equally among virtual functions for guaranteed access and a second portion based on IO profiles, with a global portion for overflow, and implements specific cache replacement algorithms for each section to ensure efficient data handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If cache memory is shared among multiple virtual functions without partitioning, then cache capacity is maximized, but quality of service becomes inconsistent and data processing efficiency deteriorates

Engineering Contradiction:
Improvecache capacityVSAvoidquality of service consistency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The cache memory is divided into multiple partitions, with each partition assigned to a specific virtual function. This segmentation ensures that each virtual function has dedicated cache space, guaranteeing consistent quality of service while maintaining overall cache utilization across multiple functions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache replacement policies and management strategies are applied to different partitions based on the specific requirements of each virtual function. This local customization optimizes data processing efficiency for each function while maintaining global cache resource utilization.

Inventive Principle:
Principle #3Local quality

2Reliability

If cache memory is partitioned equally among virtual functions, then quality of service consistency is improved, but data processing efficiency deteriorates due to inability to accommodate varying IO workloads

Engineering Contradiction:
Improvequality of service consistencyVSAvoiddata processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache partitioning scheme is made dynamic, allowing the controller to adjust partition sizes and management policies based on real-time IO workload characteristics. This enables the system to maintain quality of service consistency while adapting to varying data processing requirements of different virtual functions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes cache management parameters such as partition size, replacement policy, and allocation strategy based on the IO profiles of different virtual functions. This parameter adaptation allows the cache to efficiently handle diverse workloads while ensuring consistent service quality across all functions.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If dynamic cache allocation based on IO profiles is implemented, then data processing efficiency is optimized, but device complexity increases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache management system automatically profiles IO workloads and dynamically adjusts partition allocation without requiring manual intervention. This self-service approach optimizes data processing efficiency while managing complexity through automation rather than manual configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors IO patterns and uses this feedback to dynamically adjust cache partitioning and management strategies. This closed-loop feedback mechanism enables efficient data processing while managing complexity through automated adaptation rather than static complex configuration.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10666754B2System and method for cache reservation in an information handling system
Publication Date: 2020.05.26 DELL PROD LP
  • US10666754B2 patent drawing
  • US10666754B2 patent drawing
  • US10666754B2 patent drawing

AI summary

An information handling system includes first and second servers, and a storage controller. The storage controller to initialize a first virtual function for the first server, to initialize a second virtual function for the second server, to assign equal amounts of a first portion of a memory to the first and second virtual functions, to profile an input/output workload of the first and second virtual functions, to allocate amounts of a second portion of the memory to the first and second virtual functions based on a first input/output profile of each of the virtual functions, and to allocate a remaining portion of the memory as a global section of the memory for use by any of the virtual functions.