Storage System Multiple Target Controllers SLO Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing different levels of service for various applications in software-defined storage systems using advanced protocols like NVMeF or NVMe/TCP is challenging, as existing systems find it difficult to provide tailored performance levels, especially with limited resources.

Innovation Solution

The use of multiple target controllers within a storage system, each associated with a specific service level objective (SLO), allows for separate IO operation throttling based on feedback, ensuring applications receive performance levels aligned with their agreements, even under resource constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple storage pools with different SLOs are implemented using advanced protocols like NVMeF or NVMe/TCP, then service differentiation and performance guarantees for critical applications are improved, but system complexity and difficulty of implementation increase

Engineering Contradiction:
Improveservice differentiationVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The storage system is segmented into multiple storage pools, each with its own target controller and distinct SLO configuration. This segmentation allows different service levels to be implemented independently within each pool while managing complexity through modular organization. The host device similarly segments IO operations by directing them to appropriate target controllers based on the required SLO.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Target controllers serve as intermediary components between the host device and storage pools, mediating the IO operations and enforcing SLO-specific policies. These intermediaries translate high-level storage requests into pool-specific operations while applying the appropriate feedback mechanisms and throttling rules defined by each pool's SLO configuration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If IO operations are throttled based on feedback from storage pools with different SLOs, then performance levels for critical applications are guaranteed, but system complexity and feedback processing overhead increase

Engineering Contradiction:
Improveperformance guaranteeVSAvoidfeedback processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each storage pool is configured with local quality characteristics through its own SLO definition, including specific feedback mechanisms and throttling parameters tailored to that pool's performance requirements. Critical application pools receive more aggressive feedback and throttling control, while non-critical pools use simpler mechanisms, optimizing the balance between reliability and complexity for each local context.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes operational parameters based on SLO requirements and feedback information. Throttling factors, feedback intervals, and priority levels are adjusted as parameters to enforce different performance guarantees across storage pools without requiring fundamentally different system architectures for each SLO type.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If separate feedback information is provided for different target controllers, then precise control over IO throttling for each SLO is achieved, but information processing overhead and system complexity increase

Engineering Contradiction:
ImproveIO control precisionVSAvoidfeedback overhead
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The feedback mechanism is designed with universal components that can serve multiple target controllers and storage pools simultaneously. Common feedback structures, message formats, and processing logic are reused across different SLO contexts, reducing the overall information overhead while maintaining the ability to provide precise, differentiated control for each pool through configurable parameters within the universal framework.

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

Data Source

PatentUS11907537B2Storage system with multiple target controllers supporting different service level objectives
Publication Date: 2024.02.20 DELL PROD LP
  • US11907537B2 patent drawing
  • US11907537B2 patent drawing
  • US11907537B2 patent drawing

AI summary

First and second target controllers implemented in a storage system are associated with respective first and second storage pools having respective first and second service level objectives. Input-output (IO) operations are received from one or more host devices and processed in the storage system, with different ones of the IO operations being directed from one or more initiators of the one or more host devices to different ones of the first and second target controllers. Separate feedback information is provided from the storage system to the one or more host devices for respective ones of the first and second target controllers, so as to permit different amounts of throttling of additional IO operations in the one or more host devices based at least in part on whether those additional IO operations are to be directed to the first target controller or the second target controller.