Memory Subsystem QoS Credit Counter Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory sub-systems lack effective quality of service (QoS) management, leading to inconsistent bandwidth and unpredictable latency for input/output operations, as they do not guarantee QoS for physical or virtual functions, resulting in underutilization of available bandwidth and IOPS.

Innovation Solution

Implementing a credit counter system for each physical or virtual function to manage QoS parameters like bandwidth and IOPS, where the counter is initialized with a maximum allowable value and decremented for each command, with feedback mechanisms to adjust and reset the counter based on usage, ensuring fair resource allocation and dynamic workload adaptation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If QoS management is implemented with credit counters for each physical or virtual function, then bandwidth consistency and latency predictability are improved, but device complexity increases

Engineering Contradiction:
ImproveQoS guaranteeVSAvoidcounter management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides the memory sub-system into multiple independent physical functions and virtual functions, each with its own credit counter. This segmentation allows independent QoS management for each function while maintaining overall system control through the controller.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The credit counter system implements feedback mechanisms where the controller monitors counter values and adjusts credit allocation based on actual bandwidth usage and QoS requirements. This feedback loop ensures consistent bandwidth delivery while adapting to changing workload conditions.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If credit counters are initialized with maximum allowable values and decremented for each command, then resource allocation fairness is improved, but productivity decreases due to counter management overhead

Engineering Contradiction:
Improveresource allocation fairnessVSAvoidcommand processing throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

Credit counters are pre-initialized with maximum allowable values before command processing begins. This preliminary setup establishes fair resource allocation boundaries in advance, allowing commands to be processed without real-time negotiation overhead while maintaining fairness constraints.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The credit counter values are dynamically adjusted based on actual usage patterns and QoS requirements. The system can increment counters when resources become available and decrement them when commands are issued, creating a flexible system that maintains fairness while adapting to changing conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240160553A1Quality of service management in a memory sub-system
Publication Date: 2024.05.16 MICRON TECHNOLOGY INC
  • US20240160553A1 patent drawing
  • US20240160553A1 patent drawing
  • US20240160553A1 patent drawing

AI summary

A memory system includes a memory device and a processing device coupled to the memory device, the processing device is to present a plurality of physical or virtual functions (PFs/VFs) to a host computing system; set, for each of the plurality of PFs/VFs, a value of a credit counter to an initial value associated with a Quality of Service (QoS) parameter of a respective PF/VF; responsive to fetching an original command received from the host computing system associated with a specified PF/VF, decrement the value of the credit counter associated with the specified PF/VF; responsive to receiving a reintroduced command associated with the specified PF/VF after the original command, increment the value of the credit counter; determine whether the value of the credit counter is not higher than a threshold value; and responsive to determining that the value of the credit counter is higher than the threshold value, continue fetching a subsequent command associated with the specified PF/VF.