SSD Controller Traffic Balancing for Bandwidth Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile memory (NVM) express SSDs face performance degradation due to imbalanced bandwidth usage across interfaces, leading to inefficient traffic balancing and decreased overall performance.

Innovation Solution

A data storage device with a controller that balances the execution of different types of fetch requests, such as PRP, HMB, and data requests, by determining and maintaining specific ratios between them, ensuring optimal bandwidth utilization through prioritization and dynamic allocation of resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the SSD fetches commands, pointers, data, and tables from the host device without alignment, then the interface can service host-generated commands, but the bandwidth usage becomes imbalanced and performance decreases

Engineering Contradiction:
Improvecommand servicing capabilityVSAvoidinterface bandwidth efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The controller performs preliminary actions by predicting future fetch requests and pre-fetching data, commands, pointers, and mapping tables before they are actually needed. This prediction-based pre-fetching aligns the timing of fetch operations with host transfer operations, preventing bandwidth imbalance while ensuring data availability when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the timing and quantity of fetch requests based on predicted host behavior and current interface conditions. The controller modifies fetch patterns in real-time to match host transfer rhythms, transforming a static fetch approach into a dynamic, adaptive system that maintains bandwidth balance under varying workloads.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If requests are not aligned with host transfers, then the SSD can independently manage its fetching operations, but misbalance of fetching occurs decreasing overall interface performance

Engineering Contradiction:
Improveindependent fetch managementVSAvoidoverall interface performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The controller implements a feedback mechanism where it monitors host transfer patterns and uses this information to adjust subsequent fetch request timing and volume. The system continuously adapts its fetch strategy based on observed host behavior, ensuring that independent fetch operations remain synchronized with host transfers for optimal performance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes key parameters of fetch operations including timing, quantity, and size of requests based on predicted host needs and actual interface conditions. By dynamically adjusting these parameters, the controller maintains independence in managing fetch operations while ensuring they align with host transfer rhythms to maximize interface productivity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11768606B2Maximizing performance through traffic balancing
Publication Date: 2023.09.26 SANDISK TECHNOLOGIES LLC
  • US11768606B2 patent drawing
  • US11768606B2 patent drawing
  • US11768606B2 patent drawing

AI summary

A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to receive a plurality of fetch requests, determine a first number of requests, second number of requests, and a third number of requests of the plurality of fetch requests, and balance an execution of the first number of requests, the second number of requests, and the third number of requests so that a first ratio of the data requests to the PRP requests and a second ratio of the data requests to the HMB requests is about 1. The plurality of fetch requests includes PRP requests, HMB requests, and data requests. The first number of requests corresponds to a number of the PRP requests. The second number of requests corresponds to a number of the HMB requests. The third number of requests corresponds to a number of the data requests.