Extended PRP Lists for NVMe SSD Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Consumer class SSDs lack support for scatter/gather lists (SGLs), leading to performance issues during data transfers, as they must either rewrite the storage stack or perform double copying of data buffers to align with physical region page (PRP) alignment, which is resource-intensive and inefficient.

Innovation Solution

The implementation of extended physical region page (PRP) lists in host computing devices to facilitate data transfers by generating a PRP list from SGLs and allocating memory pages for metadata, allowing seamless data transfer without requiring storage stack rewriting or expensive data segment copying.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If consumer class SSDs use PRP-based data transfers without SGL support, then compatibility with NVMe specifications is maintained, but storage device performance significantly decreases

Engineering Contradiction:
Improvecompatibility with NVMe specificationsVSAvoidstorage device performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary mechanism that translates SGL-based data transfer requests into PRP-based transfers. The host storage stack generates SGLs for efficient data transfer, and the SSD controller acts as an intermediary that converts these SGLs into equivalent PRP lists, allowing the consumer class SSD to maintain SGL-like performance while using PRP-based transfers that it natively supports.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation of data transfer buffers by converting scatter/gather buffer descriptions into physical region page format. This parameter transformation allows the same data transfer operation to be expressed in a format that consumer class SSDs can process efficiently, maintaining performance while ensuring compatibility.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If the storage stack is rewritten to use PRP-based data transfers, then compatibility with consumer class SSDs is achieved, but resource consumption and implementation complexity increase

Engineering Contradiction:
Improvecompatibility with consumer class SSDsVSAvoidstorage stack rewriting requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Rather than rewriting the entire storage stack to use PRP-based transfers, the patent introduces a translation layer or intermediary component that converts standard SGL requests into PRP format. This approach maintains the original storage stack design while adding a compatibility layer that handles the conversion, significantly reducing implementation complexity compared to a full rewrite.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary conversion of SGL data structures into PRP format before data transfer operations begin. By pre-processing the buffer descriptions and creating equivalent PRP lists in advance, the system avoids the need for complex runtime conversions or storage stack modifications, reducing both implementation complexity and runtime overhead.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If double copying of data buffers is performed to align with PRP alignment, then data transfer compatibility is achieved, but resource utilization and performance decrease

Engineering Contradiction:
ImprovePRP alignment compatibilityVSAvoidresource utilization
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

Instead of performing expensive double copying of data buffers to achieve PRP alignment, the patent uses intelligent copying of only the necessary buffer descriptor information (metadata) from SGL structures to create equivalent PRP lists. This selective copying approach maintains PRP alignment compatibility while minimizing data movement and reducing resource utilization significantly compared to full buffer copying.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11481335B2Methods for using extended physical region page lists to improve performance for solid-state drives and devices thereof
Publication Date: 2022.10.25 NETAPP INC
  • US11481335B2 patent drawing
  • US11481335B2 patent drawing
  • US11481335B2 patent drawing

AI summary

Methods, non-transitory machine readable media, and computing devices that use extended physical region page (PRP) lists to improve storage device performance are disclosed. With this technology, a PRP list is generated that includes pointers retrieved from a scatter/gather list (SGL) for memory buffers representing data segments associated with a storage operation. The PRP list is extended to include a pointer to an allocated memory page configured to store metadata segments represented by other memory buffers referenced by other pointers in the SGL. A command request that includes the extended PRP list is submitted to a storage device for execution of the storage operation. With this technology, storage operations are advantageously enabled for non-volatile memory express (NVMe) solid-state drive (SSDs), for example, that do not support SGL transfers.