Scatter Gather List Descriptor Interleaving NVM Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current communication interfaces for non-volatile memory devices require excessive resources and overhead due to the need for multiple scatter/gather list descriptors to interleave data from separate buffers, leading to inefficiencies in data transfer.

Innovation Solution

A system and method utilizing specialized scatter/gather list descriptors that require only a single pair of descriptors to interleave data from a first buffer containing application data and a second buffer containing protection data, minimizing resource usage and adhering to existing communication standards like PCIe and NVMe.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If scatter/gather list descriptors are used to interleave data from separate buffers, then data interleaving is achieved, but the number of descriptors required becomes prohibitive

Engineering Contradiction:
Improvedata interleaving capabilityVSAvoidnumber of descriptors
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines multiple descriptor functions into a single unified descriptor structure. Instead of requiring separate descriptors for each buffer and each data block, the invention merges buffer identification, data block addressing, and interleaving control into one integrated descriptor that the storage device can process efficiently.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The descriptor design provides multi-functionality by enabling a single descriptor type to handle both application data and protection data from different buffers through unified addressing mechanisms. The descriptor can specify different buffer sources and interleave patterns without requiring separate specialized descriptor types for each case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Measurement precision

If multiple scatter/gather list descriptors are created for each block of data, then precise data location tracking is achieved, but the overhead becomes prohibitive

Engineering Contradiction:
Improvedata location trackingVSAvoiddescriptor creation overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the descriptor information into logical components (buffer identification, block addressing, transfer control) that can be efficiently packed and processed. This segmentation allows the storage device to parse and act on specific descriptor fields without processing unnecessary information, reducing overhead while maintaining precise tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The host system prepares and populates the scatter/gather list with all necessary descriptor information before initiating the data transfer operation. By pre-configuring the descriptors with complete buffer addresses, block offsets, and interleaving parameters, the storage device can execute the operation with minimal additional processing overhead.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If a third buffer is used to store interleaved data, then data interleaving is achieved, but memory resources are wasted

Engineering Contradiction:
Improveinterleaved data storageVSAvoidmemory resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts the interleaving function from the buffer storage function. Instead of using a third buffer to hold interleaved data, the invention extracts only the essential interleaving control information (buffer addresses, block sizes, patterns) into descriptors, allowing the storage device to perform interleaving during the transfer process itself without requiring additional buffer memory.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The scatter/gather list acts as an intermediary structure between the host system's buffers and the storage device. Rather than physically moving and interleaving data in an intermediate buffer, the SGL descriptors serve as a mediator that instructs the storage device how to retrieve and interleave data directly from the original buffers during the transfer operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10339079B2System and method of interleaving data retrieved from first and second buffers
Publication Date: 2019.07.02 WESTERN DIGITAL TECHNOLOGIES INC
  • US10339079B2 patent drawing
  • US10339079B2 patent drawing
  • US10339079B2 patent drawing

AI summary

A host interface communicates with a non-volatile memory (NVM) device over a bus. The host interface includes a first buffer, a second buffer and a scatter/gather list (SGL). The first buffer stores blocks of application data to be communicated to the storage device. The second buffer stores blocks of protection data added by the host interface with respect to the blocks of application data stored in the first buffer. The SGL utilizes a first descriptor type that includes a first buffer address, a first buffer interleave burst length, and a burst count, and a second descriptor type that includes a second buffer address, and a second buffer interleave burst length, wherein only a first descriptor and a second descriptor is required to interleave application data from the first buffer with protection data from the second buffer.