SUB Controller Segmentation for NVMe Command Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In information processing systems, when resources in the bridge device are insufficient, especially with small buffer sizes, the overhead of data transfer between storage devices increases, leading to reduced processing efficiency, particularly when handling multiple NVMe commands with large transfer sizes, making efficient error handling difficult.

Innovation Solution

An information processing apparatus with a SUB controller that acquires a command group from the host controller, segments it into smaller segments, and independently sets command groups for storage devices, allowing for segment-by-segment command processing and error handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data transfer between storage devices is performed to handle errors, then data reliability is improved, but processing efficiency deteriorates due to increased overhead

Engineering Contradiction:
Improvedata reliabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the command sequence into multiple segments, each containing a subset of commands. This segmentation allows the bridge device to process commands in smaller batches, reducing the overhead per transfer operation. By segmenting the command sequence, the system can perform error handling more efficiently without transferring all data at once, thus maintaining both reliability and processing efficiency.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If buffer size in bridge device is reduced, then device complexity is lowered, but data transfer overhead increases

Engineering Contradiction:
Improvedevice complexityVSAvoiddata transfer overhead
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent implements command sequence segmentation that works effectively with smaller buffer sizes. By dividing commands into segments, the bridge device can process commands in smaller units, reducing the buffer space required while minimizing data transfer overhead. This segmentation approach allows efficient error handling even with limited buffer resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic command sequence segmentation where the segmentation unit divides the command sequence into multiple segments based on the buffer size and processing requirements. This dynamic approach allows the system to adapt to varying buffer capacities and optimize data transfer operations, reducing overhead while maintaining efficiency.

Inventive Principle:
Principle #15Dynamics

3Productivity

If large transfer size commands are handled, then productivity is improved, but error handling efficiency deteriorates

Engineering Contradiction:
ImproveproductivityVSAvoiderror handling efficiency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the command sequence into smaller segments, each containing a manageable number of commands. This segmentation allows the system to maintain large transfer sizes for high productivity while enabling efficient error handling by processing segments independently. When errors occur, only the affected segment needs to be reprocessed, not the entire command sequence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary segmentation of the command sequence before execution. By pre-dividing the command sequence into segments, the system prepares for efficient error handling in advance. This preliminary action ensures that when errors occur, the system can quickly identify and reprocess only the necessary segments, maintaining both productivity and error handling efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11954365B2Information processing apparatus that controls memory system, method of controlling same, and storage medium
Publication Date: 2024.04.09 CANON KK
  • US11954365B2 patent drawing
  • US11954365B2 patent drawing
  • US11954365B2 patent drawing

AI summary

An information processing apparatus that functions as a SUB controller that, for a command group formed of pairs each formed by a command prepared by a host controller and a status, executes processing of each command and returns a status of an execution result of the command processing. In response to a request for processing the command group from the host controller, the SUB controller acquires the command group therefrom as an original command sequence. The original command sequence is divided into a plurality of segments each formed by one or more commands and having a total volume not larger than a threshold. Command groups each formed of pairs each formed by a command and a status are independently set in one or more storage devices connected to the information processing apparatus. Each storage device is notified of a command processing request on a segment-by-segment basis.