RDMA Storage Redundancy via Atomic Lock Acquisition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data redundancy solutions for network accessible storage devices face challenges in maintaining data integrity, cost-effectiveness, scalability, and flexibility, often requiring third-party software and hardware to ensure properties like atomicity, consistency, and durability.
Innovation Solution
A method and system that utilize remote direct access (RDMA) storage with primary and secondary locks to ensure data redundancy by writing data to primary and secondary blocks only when both locks are obtained, ensuring data integrity and flexibility through RDMA-enabled network interface controllers and processing circuitry.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If third party software and hardware are implemented for providing redundancy, then data integrity is improved, but device complexity and cost increase
Solution Approach 1:
The RDMA storage devices themselves perform redundancy operations autonomously through built-in lock mechanisms and atomic write capabilities, eliminating the need for external third-party software or hardware to manage data integrity and redundancy
Solution Approach 2:
The patent extracts the redundancy management functionality from external third-party systems and integrates it directly into the RDMA storage devices, allowing them to self-manage their own redundancy requirements through hardware-level lock mechanisms
2Reliability
If third party software and hardware are implemented for providing redundancy, then data durability is improved, but cost increases
Solution Approach 1:
The RDMA storage devices autonomously ensure data durability through their native lock acquisition mechanisms and atomic write operations, eliminating the need for expensive third-party redundancy solutions
Solution Approach 2:
The patent uses the existing RDMA copy/write operations to create redundant copies of data across multiple storage devices, leveraging the inherent copy capability of the RDMA protocol rather than requiring specialized redundancy hardware
3Reliability
If lock mechanisms are implemented across multiple RDMA storages, then data consistency is improved, but operation complexity increases
Solution Approach 1:
The system performs preliminary lock acquisition attempts before executing write operations, ensuring that all necessary locks are obtained in advance to maintain consistency across redundant storages, thereby simplifying the overall operation flow
Solution Approach 2:
The lock mechanism acts as an intermediary that coordinates between multiple RDMA storage devices, managing the complexity of consistency maintenance automatically without requiring complex operational procedures from users
4Reliability
If redundant write operations are performed on multiple storages, then data availability is improved, but write time increases
Solution Approach 1:
Lock acquisition attempts are performed preliminarily before the actual write operations, allowing the system to prepare and coordinate all necessary storage devices in advance, thereby optimizing the subsequent write time
Solution Approach 2:
The patent implements continuous lock monitoring and acquisition attempts, ensuring that write operations can proceed continuously once locks are obtained, maintaining high data availability without excessive delays
Data Source
AI summary
A system and method for providing data redundancy. The method includes receiving a write instruction, the write instruction including data to be written to a primary remote direct access (RDMA) storage and a primary block address corresponding to a designated primary block of the primary RDMA storage, wherein the designated primary block is associated with a primary lock stored in the primary RDMA storage; determining whether the primary lock and at least one secondary lock are obtained, wherein each secondary lock is associated with a secondary block of a distinct secondary RDMA storage; and writing the data included in the write instruction to the designated primary data block and each secondary data block associated with the obtained at least one secondary lock, when it is determined that the primary lock and the at least one secondary lock have been obtained.


