DDMA Controller Out-of-Order Scatter Gather List Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Semiconductor storage devices face inefficiencies in processing read commands due to the rapid consumption of local memory space and increased latency when handling atypical Scatter Gather List (SGL) data descriptors, which blocks the processing of typical data tags and slows down overall transfer rates.

Innovation Solution

A semiconductor storage device with a DDMA controller that pre-fetches and processes data tags by segregating them into lists based on descriptor thresholds, allowing typical data tags to be processed out of order while atypical data tags are processed in order, preventing memory overflow and maintaining efficient buffer utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the system pre-fetches and stores all descriptors for atypical SGL data tags in local memory, then the data transfer can be processed efficiently, but the available local memory space is quickly consumed and processing latency increases

Engineering Contradiction:
Improvedata transfer processing speedVSAvoidlocal memory space consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments data tags into two distinct categories: typical data tags with a limited number of descriptors and atypical data tags with a large number of descriptors. This segmentation allows the system to apply different processing strategies to each category, preventing memory exhaustion while maintaining efficient processing for the majority of typical cases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts atypical data tags from the main processing stream and handles them separately through in-order processing. By removing these outlier cases from the out-of-order processing path, the system prevents them from consuming excessive memory resources and blocking typical data tag processing.

Inventive Principle:
Principle #2Taking out (Extraction)

2Device complexity

If the system processes atypical SGL data tags using the same out-of-order processing as typical tags, then processing simplicity is maintained, but the overall transfer rate is slowed down due to buffer inefficiency

Engineering Contradiction:
Improveprocessing logic simplicityVSAvoidoverall transfer rate
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the processing logic into two separate paths: out-of-order processing for typical data tags and in-order processing for atypical data tags. This segmentation allows each path to be optimized for its specific workload, maintaining simplicity for typical cases while preventing performance degradation from atypical cases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts atypical data tags from the out-of-order processing stream and processes them separately in-order. This extraction removes the performance-blocking element from the main processing path, ensuring that typical data tags continue to be processed at high speed without being held up by atypical cases.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If the system uses pre-fetching for all data tags, then read command processing speed increases, but atypical SGL data tags cause memory space exhaustion and processing blocks

Engineering Contradiction:
Improveread command processing speedVSAvoidprocessing stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments data tags into typical and atypical categories based on the number of descriptors. This segmentation enables the system to apply pre-fetching selectively to typical data tags where it provides performance benefits, while avoiding pre-fetching for atypical data tags that would cause memory exhaustion and processing instability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10657087B2Method of out of order processing of scatter gather lists
Publication Date: 2020.05.19 KIOXIA CORP
  • US10657087B2 patent drawing
  • US10657087B2 patent drawing
  • US10657087B2 patent drawing

AI summary

A semiconductor storage device includes a controller including a data direct memory access (DDMA) controller. The controller receives a plurality of read commands segmented into data transfer descriptors associated with data tags from a host device and directs a plurality of the data transfer descriptors to the DDMA controller. The DDMA controller pre-fetches one or more descriptors from the host device associated with one or more of the plurality of data tags, a first data tag having an associated number of descriptors corresponding to contiguous blocks of memory. The DDMA controller determines if the associated number of descriptors satisfies a threshold, and, if it does not, moves the first data tag to a first list, when at a head of the first list moves the first data tag to a second list, and when at a head of the second list, transmits the data associated with the first data tag.