Client Node Error Detection Value Generation for Distributed Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face inefficiencies in read and write operations due to the manner in which data is managed, particularly in how metadata nodes interact with storage pools, leading to performance bottlenecks and errors in data integrity.
Innovation Solution
A method involving a client application node that generates an error detection value (EDV) and issues input/output requests to a storage pool, with the EDV being transmitted to a metadata node for storage and later use by client application nodes to detect errors, allowing for transparent data management and error correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is stored through traditional metadata node interactions with storage pools, then data management is centralized and consistent, but read and write operations experience performance bottlenecks and increased latency
Solution Approach 1:
The system segments data management functions by separating metadata management (handled by metadata nodes) from data storage operations (handled directly by client application nodes accessing storage pools). This segmentation allows parallel processing where clients can directly read/write data without waiting for metadata node coordination, improving throughput while metadata nodes maintain consistency for critical operations.
Solution Approach 2:
The patent introduces an intermediary mechanism where error detection values (EDVs) are generated by client application nodes and stored alongside data layouts in metadata nodes. This intermediary EDV system enables distributed error detection without requiring centralized verification through metadata nodes during every read operation, reducing latency while maintaining data integrity.
2Reliability
If error detection is performed through centralized metadata verification, then data integrity is ensured, but read operations experience increased latency and performance overhead
Solution Approach 1:
The system performs preliminary error detection by generating and storing error detection values (EDVs) alongside data layouts in metadata nodes during the write operation. When data is read, clients can immediately verify integrity using the pre-stored EDV without requiring centralized metadata verification, ensuring data integrity while maintaining high read performance.
Solution Approach 2:
Client application nodes perform self-service error detection by generating and using EDVs locally to verify data integrity. This eliminates the need for clients to contact metadata nodes for every read verification, allowing nodes to independently ensure data integrity while maintaining high throughput read operations.
3Speed
If direct memory device access is implemented by client application nodes, then storage performance is improved and latency reduced, but data consistency and error detection become more complex
Solution Approach 1:
The patent changes the parameter of error detection from centralized verification to distributed self-verification using mathematically generated error detection values (EDVs). This parameter change simplifies the distributed access model by providing a lightweight, computationally efficient mechanism that clients can implement locally without adding complex coordination protocols, thus improving speed while managing complexity.
Data Source
AI summary
A method for storing data, comprising: obtaining, from a metadata node and by file system client executing on a client application node, a data layout, generating, by the client application node, an error detection value (EDV) for the data stored on the client application node; generating, by a memory hypervisor module executing on the client application node, at least one input/output (I/O) request specifying a location in a storage pool, wherein the location is determined using the data layout; issuing, by the memory hypervisor module, the at least one I/O request to the storage pool, wherein processing the at least one I/O request results in at least a portion of the data being stored at the location; and after issuing the at least one I/O request to the storage pool, transmitting the EDV to the metadata node, wherein the metadata node stores the EDV.


