Submission Queue Entry Overflow via Metadata Pointers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing submission queue entry format in storage devices is limited, leaving little room for additional data, as most bits are allocated for specific purposes, making it difficult to include extra information without modifying the queue size, which could impact compatibility and efficiency.

Innovation Solution

The solution involves using metadata structures like Physical Region Pages (PRP) and Scatter Gather Lists (SGL) to store additional data related to commands, allowing for the repurposing of unused bits to indicate the presence of additional data, thereby expanding the capacity of submission queue entries without increasing their size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the submission queue entry size is increased to include more data, then the data capacity is improved, but the compatibility and efficiency are worsened

Engineering Contradiction:
Improvedata capacityVSAvoidcompatibility
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The submission queue entry is divided into two parts: a fixed-size header (64 bytes) that maintains compatibility with existing storage devices, and a variable-length metadata section that stores additional data. The metadata section is accessed through pointers contained in the header, allowing the system to segment data storage while maintaining a stable interface protocol.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Metadata structures act as intermediaries between the host and storage device. These metadata sections, accessed via pointers in the submission queue entry, serve as a bridge to carry additional data without modifying the core submission queue entry format, thus preserving compatibility while enabling extended functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If more fields are added to the submission queue entry, then the information completeness is improved, but the space for additional host data is worsened

Engineering Contradiction:
Improveinformation completenessVSAvoidspace for additional data
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

Instead of adding more fields to the existing 64-byte submission queue entry structure, the patent adds a new dimension by introducing metadata sections that are accessed through pointers. This allows the system to store additional information in a separate dimensional space (metadata sections) rather than expanding the original structure, thereby preserving space for host data while increasing information completeness.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If the submission queue entry format is modified to include additional data, then the data handling capability is improved, but the backward compatibility is worsened

Engineering Contradiction:
Improvedata handling capabilityVSAvoidbackward compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The submission queue entry format is made dynamic through the use of pointers. The header remains static and compatible with existing devices, while the metadata section can be dynamically added or removed based on the specific data handling requirements. This dynamic structure allows the system to adapt to new data handling capabilities without forcing changes to the core format, thus maintaining backward compatibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240168876A1Solving submission queue entry overflow using metadata or data pointers
Publication Date: 2024.05.23 SAMSUNG ELECTRONICS CO LTD
  • US20240168876A1 patent drawing
  • US20240168876A1 patent drawing
  • US20240168876A1 patent drawing

AI summary

A memory is disclosed. The memory may include a first data structure. The first data structure may include a field, which may store a first pointer to a second data structure. The second data structure may include a second pointer to a data relating to a command and a third pointer to a user data. The memory may also include a queue that may include the first data structure.