Host Buffer Data Transfer Management via Dynamic Command Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data transfer methods in NVMe data storage devices face inefficiencies due to the lack of flexibility in Physical Region Page (PRP) methods and increased complexity and latency in Scatter Gather List (SGL) methods, particularly when dealing with mixed workloads and non-optimal buffer attributes.

Innovation Solution

The data storage device fetches part of the host buffers, determines their attributes, and classifies commands as optimized, non-optimized, or in-between, allowing for flexible data retrieval orders to optimize data transfers, with optimized commands permitting out-of-order retrieval and non-optimized commands enforcing in-order retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If SGL method is used to describe host buffers with full flexibility, then adaptability is improved, but device complexity increases and performance degrades

Engineering Contradiction:
Improvebuffer size flexibilityVSAvoidcontroller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent dynamically adapts the data transfer method based on buffer attributes. The controller examines buffer characteristics and selectively applies PRP or SGL methods, transitioning between fixed and flexible approaches depending on the specific workload requirements, thereby optimizing both simplicity and adaptability

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If SGL method is used to describe host buffers with full flexibility, then adaptability is improved, but latency increases due to search operations

Engineering Contradiction:
Improvebuffer size flexibilityVSAvoidoperation latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The controller performs preliminary examination of buffer attributes before executing data transfers. By pre-classifying buffers and preparing appropriate transfer strategies in advance, the system avoids time-consuming search operations during actual data transfer, reducing latency while maintaining flexibility

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If PRP method is used for data transfers, then implementation simplicity is improved, but adaptability deteriorates due to fixed buffer size assumption

Engineering Contradiction:
Improveimplementation simplicityVSAvoidbuffer size variability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system dynamically selects between PRP and SGL methods based on buffer attributes. When buffers meet fixed-size requirements, the simple PRP method is used; when variability is detected, the system transitions to the more adaptable SGL method, optimizing both simplicity and flexibility contextually

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If SGL method is used, then buffer description flexibility is improved, but productivity decreases due to extra overhead operations

Engineering Contradiction:
Improvebuffer description flexibilityVSAvoiddata transfer throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the data transfer process into distinct phases: buffer attribute examination, method selection (PRP or SGL), and execution. This segmentation allows the system to apply the lightweight PRP method for suitable cases, avoiding the overhead of SGL processing entirely, thereby improving overall throughput while maintaining flexibility where needed

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11861224B2Data transfer management from host buffers
Publication Date: 2024.01.02 SANDISK TECHNOLOGIES LLC
  • US11861224B2 patent drawing
  • US11861224B2 patent drawing
  • US11861224B2 patent drawing

AI summary

The present disclosure generally relates to efficient data transfer. Rather than processing each command, the data storage device fetches part of the host buffers and then makes a determination regarding the attributes of the fetched buffers. Upon the determination, the command is classified as optimized, not-optimized, or somewhere in between. Optimized commands are permitted to retrieve data out of order while non-optimized commands remain in a strict in order data retrieval process. In between commands can be processed with some out of order data retrieval. In so doing, data transfers are effectively managed and optimized data by taking into account the current attributes of the host buffers per command.