Storage Controller Load Balancing via Channel Workload Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage devices face challenges in load balancing due to resource limitations, leading to uneven workload distribution across channels, resulting in idle periods and excessive workloads, which affects channel availability.

Innovation Solution

A storage device with a controller that manages workloads by queuing commands in a pending queue when a channel's workload exceeds a threshold, allocating descriptors only when the workload is appropriate, thereby optimizing channel availability through load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If commands are randomly allocated to channels without workload checking, then command processing speed is improved, but workload imbalance occurs causing idle periods and excessive workloads on certain channels

Engineering Contradiction:
Improvecommand processing speedVSAvoidchannel availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The storage controller checks the workload of each channel before allocating commands, using feedback from workload monitoring to make dynamic allocation decisions. This prevents allocating commands to channels that have already reached threshold workload, thereby avoiding workload imbalance while maintaining high command processing speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The command allocation system dynamically adjusts channel selection based on real-time workload conditions. Instead of static or random allocation, the controller adapts its allocation strategy by monitoring channel workloads and selecting appropriate channels dynamically, ensuring both high productivity and reliable channel availability.

Inventive Principle:
Principle #15Dynamics

2Reliability

If workload monitoring and threshold checking are implemented, then channel availability is improved, but device complexity increases

Engineering Contradiction:
Improvechannel availabilityVSAvoidcontroller complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The workload management function is segmented into distinct components: workload checking, threshold comparison, and conditional command allocation. This modular approach allows the controller to implement reliable workload monitoring through discrete, manageable functions rather than a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller performs preliminary workload checking before command allocation, preventing workload imbalance before it occurs. This proactive approach simplifies the overall system by avoiding the need for complex remedial mechanisms that would be required if imbalance already existed.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If commands are queued in pending queue instead of immediate allocation, then workload balance is improved, but processing time increases

Engineering Contradiction:
Improveworkload balanceVSAvoidcommand processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The pending queue serves as an intermediary mechanism that temporarily holds commands when channels are unavailable. This mediator approach allows the system to maintain workload balance while minimizing processing time delays, as commands are quickly transferred to available channels rather than undergoing complex reallocation processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The controller periodically checks the pending queue and allocates commands to channels as they become available. This periodic action ensures workload balance is maintained while processing time is minimized, as commands in the pending queue are quickly dispatched when channel capacity is freed up.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20240160575A1Storage device for load balancing and method therefor
Publication Date: 2024.05.16 SAMSUNG ELECTRONICS CO LTD
  • US20240160575A1 patent drawing
  • US20240160575A1 patent drawing
  • US20240160575A1 patent drawing

AI summary

Disclosed is a storage device including a nonvolatile memory and a storage controller connected to the nonvolatile memory through a plurality of channels and controlling the nonvolatile memory. The storage controller is configured to receive a command from a host device, check a workload of a mapping channel, to which the command is to be allocated, from among the plurality of channels, and queue the command without allocating the command to the mapping channel in response to the workload of the mapping channel exceeding a threshold workload, increase the workload of the mapping channel in response to the workload of the mapping channel not being greater than the threshold workload, and allocate a descriptor for performing an operation according to the command to the command.