WRR Arbiter Bandwidth Allocation for Multi-Tenant SGL Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face increased wait times and system degradation due to the processing of bad Scatter Gather List (SGL) segments, which delays subsequent commands, leading to decreased Quality of Service (QoS).

Innovation Solution

Implementing a Weighted Round Robin (WRR) arbiter to allocate bandwidth to each tenant based on their needs, allowing the controller to process commands concurrently based on allocated bandwidth rather than waiting for previous commands to complete.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the controller processes commands sequentially to completion, then command processing accuracy is improved, but system throughput and Quality of Service deteriorate due to head-of-line blocking

Engineering Contradiction:
Improvecommand processing accuracyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the command processing queue into multiple independent queues, one for each tenant. This allows the controller to process commands from different tenants in parallel rather than sequentially, eliminating head-of-line blocking while maintaining processing accuracy through dedicated queue management for each tenant.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic bandwidth allocation using a Weighted Round Robin (WRR) arbiter that adjusts command processing rates based on allocated bandwidth weights for each tenant. This dynamic approach allows the system to maintain reliability for each tenant while optimizing overall system throughput through flexible resource distribution.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the controller waits for previous commands to complete before processing subsequent commands, then command processing reliability is improved, but wait time increases and Quality of Service decreases

Engineering Contradiction:
Improvecommand processing reliabilityVSAvoidcommand wait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the command processing into separate tenant queues, the controller can process commands from different tenants concurrently. This eliminates the wait time caused by sequential processing while maintaining reliability through dedicated queue management that ensures each tenant's commands are processed correctly according to their allocated bandwidth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables continuous processing of commands across multiple tenants by allowing the controller to switch between tenant queues based on bandwidth allocation. This continuity eliminates idle wait times while maintaining processing reliability through the WRR arbitration mechanism that ensures fair and consistent command handling for each tenant.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If the controller processes all command portions for a tenant to completion, then tenant data integrity is improved, but other tenants experience increased wait times and system degradation

Engineering Contradiction:
Improvetenant data integrityVSAvoidmulti-tenant processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the command processing system into independent tenant queues, allowing each tenant's commands to be processed separately. This segmentation ensures data integrity for each tenant while enabling parallel processing across tenants, thereby improving overall multi-tenant processing efficiency without compromising individual tenant reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the processing parameter from sequential completion to bandwidth-weighted parallel processing. By adjusting the processing rate according to allocated bandwidth weights, the system maintains data integrity for each tenant while optimizing multi-tenant processing efficiency through controlled parallel execution rather than sequential completion.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If the controller implements strict sequential processing of SGL segments, then processing accuracy is improved, but system degradation increases and Quality of Service decreases

Engineering Contradiction:
ImproveSGL processing accuracyVSAvoidcommand processing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments SGL processing into tenant-specific queues, allowing accurate processing of each tenant's SGL segments in parallel. This maintains measurement precision for each tenant's data while improving overall command processing speed through concurrent handling of multiple tenants' SGL segments rather than strict sequential processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic SGL processing where the controller can switch between different tenants' SGL segments based on bandwidth allocation and queue status. This dynamic approach maintains processing accuracy through proper queue management while significantly improving command processing speed by eliminating idle wait times between SGL segment processing.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240168801A1Ensuring quality of service in multi-tenant environment using sgls
Publication Date: 2024.05.23 SANDISK TECHNOLOGIES LLC
  • US20240168801A1 patent drawing
  • US20240168801A1 patent drawing
  • US20240168801A1 patent drawing

AI summary

The present disclosure generally relate to improved tenant processing by arbitration of commands. Rather than processing a tenant with multiple portions to completion causing increased wait time for preceding tenants, allowing the controller to process commands based on the respective bandwidth allocated to each tenant is beneficial. Through a Weighted Round Robin (WRR) arbiter, the controller is able to allocate a percentage of the bandwidth to each tenant based on the tenant's needs. Once the bandwidth is allocated to the tenants, the controller may then process portions of the commands from the tenants up to the allocated bandwidth per tenant, which avoids the need for commands that are fetched after earlier commands wait for previous commands to complete their processing, but instead process all command portions based on the allocated bandwidth from the WRR arbiter.