NVMe Command Segmentation for SSD Mirroring Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Serial Advanced Technology Attachment (SATA) interface struggles with high latency due to increased data encoding processing time during data transfer, limiting the transfer performance of solid state drives (SSDs), and existing mirroring techniques for data protection are inefficient in handling NVMe protocol commands.
Innovation Solution
An information processing apparatus with non-volatile first and second storage devices, featuring a reception interface for receiving requests, two memories to retain request groups, and separate transmission interfaces for each storage device, allowing for distinct request groups to be transmitted, thereby optimizing NVMe command processing and mirroring operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If SATA interface is used for data transfer, then compatibility and ease of operation are improved, but transfer speed deteriorates due to increased data encoding processing time and latency
Solution Approach 1:
The patent segments the data transfer process by introducing separate request queues (first request queue and second request queue) for different storage devices, allowing parallel processing of NVMe commands. This segmentation enables the system to bypass SATA interface limitations by using NVMe protocol directly over PCIe, achieving high-speed data transfer while maintaining ease of operation through standardized interfaces.
Solution Approach 2:
The controller acts as an intermediary between the host and storage devices, translating NVMe commands into appropriate operations for each storage device. The controller manages the request queues and coordinates data transfer, enabling the system to achieve high-speed NVMe performance while maintaining compatibility with existing storage devices and interfaces.
2Reliability
If traditional mirroring technique is used with bridge device, then data protection reliability is improved, but processing efficiency deteriorates due to sequential command handling
Solution Approach 1:
The patent divides the mirroring operation into separate request queues for different storage devices, allowing parallel processing of write commands to both devices simultaneously. This segmentation eliminates the sequential bottleneck in traditional mirroring, maintaining data protection reliability while dramatically improving processing efficiency through concurrent operations.
Solution Approach 2:
The system maintains continuous data flow to both storage devices by using separate request queues that can be processed in parallel. Instead of waiting for one device to complete before writing to the other, the system continuously writes to both devices simultaneously, eliminating idle time and maximizing productivity while ensuring data protection through mirroring.
3Device complexity
If single request queue is used for multiple storage devices, then device complexity is reduced, but measurement precision of individual device performance deteriorates
Solution Approach 1:
The patent creates separate request queues for each storage device, allowing independent performance monitoring and measurement for each device. This segmentation enables precise measurement of individual device performance metrics while maintaining manageable complexity through standardized queue structures and uniform command processing protocols.
Data Source
AI summary
An information processing apparatus includes a first memory configured to retain a request group, based on requests received by a reception interface, a second memory configured to retain a request group, based on requests received by the reception interface, and a first transmission interface configured to transmit the request group retained in the first memory to the first storage and a second transmission interface configured to transmit the request group retained in the second memory to the second storage. The request group transmitted by the first transmission interface and the request group transmitted by the second transmission interface are different request groups.


