NVMeoF Controller Dynamic Resource Allocation for SLA Guarantees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current large-scale computing environments with disaggregated memory or storage devices, such as NVMe devices, often leave resources underutilized to guarantee Service Level Agreements (SLAs) and Quality of Service (QoS) requirements, leading to increased total cost of ownership and reduced system flexibility.

Innovation Solution

Implementing an NVMeoF controller and SLA/QoS logic across multiple levels of the system to dynamically manage and allocate resources, using protocols like Fibre Channel, InfiniBand, and TCP, to ensure efficient access and utilization of NVMe devices based on real-time performance requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resources are reserved to guarantee SLAs and QoS requirements, then reliability is improved, but resource utilization deteriorates

Engineering Contradiction:
ImproveSLA guaranteeVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic resource allocation by establishing SLA/QoS requirements on demand rather than static pre-allocation. The system dynamically creates virtual channels with specific QoS parameters (bandwidth, latency, priority) when applications need remote storage access, and releases these allocations when no longer needed. This allows resources to be guaranteed when required but released for other uses when not needed, resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #15Dynamics

2Reliability

If resources are reserved to guarantee SLAs and QoS requirements, then reliability is improved, but system flexibility deteriorates

Engineering Contradiction:
ImproveSLA guaranteeVSAvoidsystem flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adapts resource allocation based on real-time SLA requirements. Different virtual channels can be created with different QoS characteristics (high-priority low-latency channels for time-sensitive applications, best-effort channels for non-critical access). This dynamic configuration allows the system to maintain flexibility while guaranteeing SLAs for specific applications when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different QoS characteristics to different virtual channels based on specific application requirements. Each virtual channel can have customized bandwidth, latency, and priority settings tailored to the specific SLA needs of the application using it, rather than applying uniform resource allocation across all access paths. This allows high reliability where needed while maintaining system flexibility overall.

Inventive Principle:
Principle #3Local quality

3Reliability

If resources are underutilized to guarantee SLAs, then reliability is improved, but cost increases

Engineering Contradiction:
ImproveSLA guaranteeVSAvoidcost
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system maintains continuous useful action by keeping storage resources available but not actively allocated until needed. Virtual channels are created on-demand and can serve multiple applications sequentially, ensuring resources remain useful and productive rather than idle. This eliminates the need to over-provision resources to guarantee SLAs, as the same resources can serve different applications at different times based on actual demand.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10652108B2Techniques to establish service level agreements or quality of service for remotely accessible storage devices
Publication Date: 2020.05.12 INTEL CORP
  • US10652108B2 patent drawing
  • US10652108B2 patent drawing
  • US10652108B2 patent drawing

AI summary

Examples include techniques to establish service level agreements (SLAs or quality of service (QoS) for remote accessible storage devices. Examples include setting up SLA/QoS for an end-to-end path between a client computing node hosting an application and one or more remotely accessible storage devices coupled with a target host computing node. The client computing node and the target host computing node coupled through a networking fabric.