NVMe Storage Data Protection via Software-Hardware Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage array systems, particularly those using NVMe hardware, lack the capability to perform per-data segment verification and replacement of application and reference tags for IO commands with multiple data segments, leading to inefficiencies in data protection and integrity checks.
Innovation Solution
Implementing a software-assisted fine-grained data protection method within a storage array that selectively uses NVMe hardware for CRC verification and employs software to perform application and reference tag verification and replacement for IO commands with multiple data segments, ensuring comprehensive data integrity without relying solely on hardware capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If NVMe hardware is used for data verification, then verification speed is improved, but the capability to perform per-data segment verification and tag replacement is lost
Solution Approach 1:
The patent segments the verification process into two parts: CRC verification is performed by NVMe hardware for speed, while application tag and reference tag verification are performed by software for fine-grained control. This segmentation allows each component to handle the type of verification it is best suited for, resolving the contradiction between speed and adaptability.
Solution Approach 2:
The patent introduces software as an intermediary layer between the host and NVMe hardware. This software mediator handles the complex tag verification and replacement operations that hardware cannot perform, while still leveraging hardware for basic CRC verification. The intermediary enables fine-grained per-segment verification without sacrificing overall system performance.
2Reliability
If software is used for application tag and reference tag verification, then fine-grained data protection is improved, but processing overhead increases
Solution Approach 1:
The patent applies partial action by having software perform only the specific tag verification and replacement operations that are necessary, rather than performing all verification tasks. CRC verification is handled by hardware to reduce software overhead. This selective division of labor maintains data integrity while minimizing processing overhead.
3Productivity
If hardware is used for CRC verification, then verification efficiency is improved, but comprehensive data protection coverage is reduced
Solution Approach 1:
The verification process is segmented into CRC verification (handled by hardware for efficiency) and tag verification (handled by software for comprehensive coverage). This segmentation allows the system to leverage hardware speed while maintaining complete data protection coverage through software-based tag verification.
Solution Approach 2:
The software component serves multiple functions: it performs application tag verification, reference tag verification, and tag replacement operations. This multi-functionality ensures comprehensive data protection coverage while allowing hardware to focus on its strength of rapid CRC verification.
Data Source
AI summary
Selective use of a software path and hardware path help to provide fine-grained T10-PI support while maintaining IO operation efficiency for single IO read/write commands transferring multiple data segments. NVMe hardware capability (i.e. the hardware path) is always utilized for CPU-intensive CRC verification. NVMe hardware capability is utilized for application tag and reference tag verification whenever possible. Software running on a computing node (i.e. the software path) is used for application tag and reference tag verification and replacement when those functions cannot be implemented by the NVMe hardware.


