Multipathing Software DIF Extensions for Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in ensuring data integrity verification, particularly when multipathing software and storage array microcode are involved, especially in scenarios where host bus adapters or applications lack support for Data Integrity Field (DIF) or Data Integrity Extensions (DIX).
Innovation Solution
The implementation of multipathing software configured to add and process Data Integrity Field (DIF) block extensions for IO operations, enabling data integrity verification between a host and a storage array. This involves identifying applications that require DIF processing, adding DIF extensions to write IO operations, and processing these extensions for read IO operations to ensure data integrity across the IO path.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multipathing software implements DIF processing to enable data integrity verification, then data integrity verification capability is improved, but device complexity increases
Solution Approach 1:
The multipathing software acts as an intermediary layer between the application and storage array, implementing DIF processing in software rather than requiring specialized hardware. This mediator approach enables data integrity verification by adding DIF extensions to write operations and verifying them on read operations, resolving the contradiction by providing reliability through software-based intervention without requiring complex hardware modifications
Solution Approach 2:
The multipathing software performs multiple functions: it manages multiple paths to storage arrays for high availability, load balancing, and now also implements DIF processing for data integrity verification. By combining these functions in a single software component, the system achieves data integrity capabilities without adding separate complex hardware systems, thus improving reliability while controlling overall device complexity
2Reliability
If DIF extensions are added to all write IO operations, then data integrity verification is improved, but processing time increases
Solution Approach 1:
The multipathing software adds DIF extensions to write operations in advance, during the write path before data is sent to storage. This preliminary action ensures that integrity verification data is prepared beforehand, so when read operations occur, verification can be performed efficiently without adding significant delay to the critical read path, thus improving reliability while minimizing time loss
3Reliability
If multipathing software identifies and manages DIF applications, then data integrity verification is improved, but software complexity increases
Solution Approach 1:
The multipathing software implements automatic identification of applications that require DIF processing through control signaling with the storage array. The system self-configures by receiving indications from the storage array about which applications need DIF verification, eliminating the need for manual configuration or complex user intervention, thus improving reliability through automated application identification while keeping software complexity manageable
Data Source
AI summary
Multipathing software in an IO path on a host implements DIF processing (MPIO DIF) to enable data integrity verification to be implemented between the host and a storage array. The multipathing software uses control signaling to identify a set of applications that have data integrity verification implemented using MPIO DIF. For application write IO operations, the multipathing software adds an 8-byte extended sector defined by DIF, to enable data integrity verification to be implemented by the storage array when the write IO is received at the storage array front-end. For application read IO operations, the storage array receives the read IO operation, determines that the read IO operation is from an MPIO DIF application, and the storage array adds an 8-byte extended sector defined by DIF, to enable data integrity verification to be implemented by the multipathing software when the read IO is received from the storage array.


