SUB Controller Segmentation for NVMe Command Processing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Device complexity
If buffer size in bridge device is reduced, then device complexity is lowered, but data transfer overhead increases
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.
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.
3Productivity
If large transfer size commands are handled, then productivity is improved, but error handling efficiency deteriorates
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.
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.
Data Source
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.


