Memory Load Balancing via Dynamic Internal Request Throttling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems face performance degradation due to the significant consumption of I/O bandwidth by internally-generated memory operations, leading to increased latency and poor user experience, especially in hybrid systems combining Hard Disk Drives (HDDs) and Solid State Drives (SSDs).

Innovation Solution

Implementing a method to balance internally-generated I/O operations with externally-generated I/O operations by regulating the rate of internal memory requests based on external request loads, using batch processing and load threshold determination to optimize HDD and SSD usage, thereby preventing bandwidth overload and maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If internally-generated I/O operations are allowed to run at full capacity, then storage system functionality is maintained, but external I/O performance degrades significantly

Engineering Contradiction:
Improvestorage system functionalityVSAvoidexternal I/O performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts the rate at which internal memory operation requests are transferred to non-volatile memory based on real-time external I/O load conditions. When external I/O demand is high, internal request transfer rate is reduced; when external demand is low, internal transfer rate increases. This dynamic rate regulation resolves the contradiction by making the internal I/O throughput adaptive rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system periodically evaluates external I/O load conditions and adjusts internal request processing accordingly. By continuously monitoring external I/O patterns and periodically regulating internal request rates, the system maintains storage functionality while preventing sustained degradation of external performance.

Inventive Principle:
Principle #19Periodic action

2Productivity

If internal memory requests are processed immediately, then storage operations are completed efficiently, but external request latency increases

Engineering Contradiction:
Improvestorage operation completion rateVSAvoidexternal request latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically controls the throughput of internal memory requests based on external load conditions. Instead of processing all internal requests at maximum speed, the system adjusts the transfer rate to match external demand, thereby reducing queueing delays for external requests while still maintaining adequate progress on internal storage operations.

Inventive Principle:
Principle #15Dynamics

3Productivity

If HDD head movement is optimized for internal requests, then internal I/O performance improves, but external random I/O performance degrades

Engineering Contradiction:
Improveinternal I/O throughputVSAvoidexternal random I/O speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The system dynamically regulates the rate of internal request transfer to HDD based on external I/O conditions. When external random I/O demand is high, the internal request rate is throttled to prevent head movement optimization from degrading external performance. This dynamic rate control allows the system to switch between optimizing for internal throughput and external response time.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10860214B2Systems and methods for memory load balancing
Publication Date: 2020.12.08 STORMAGIC
  • US10860214B2 patent drawing
  • US10860214B2 patent drawing
  • US10860214B2 patent drawing

AI summary

The various embodiments described herein include methods, devices, and systems for processing memory operation requests. In one aspect, a method is performed at a computing system having one or more processors and non-volatile memory: (1) obtaining a plurality of internal memory operation requests for the non-volatile memory, the plurality of internal memory operation requests originating from within the computing system; (2) obtaining a plurality of external memory operation requests for the non-volatile memory, the plurality of external memory operation requests originating from one or more devices remote and distinct from the computing system; and (3) regulating a rate at which the plurality of internal memory operation requests are transferred to the non-volatile memory based on an amount of external memory operation requests in the plurality of external memory requests.