Grid Storage System with Redundancy Cache Objects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current fault-tolerant data storage systems, such as RAID 6, face challenges in maintaining data integrity and availability due to the increasing likelihood of concurrent failures in large disk arrays, and existing solutions do not adequately address the redundancy and resilience needed for continuous operation in case of multiple hardware failures.
Innovation Solution
A storage system with a grid architecture that utilizes multiple data servers to manage virtual partitions, where each partition is controlled by at least two servers, allowing for seamless failover and redundancy mechanisms to ensure continuous data availability and protection, including the generation of redundancy objects for data recovery and handling in searchable data structures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If RAID 6 protection scheme is used with two parity data portions per several data groups, then data protection against concurrent failures is improved, but device complexity and storage overhead increase
Solution Approach 1:
The patent implements full copying of data blocks across multiple storage nodes instead of using parity calculation. Each data block is replicated identically to multiple nodes, providing redundancy without the computational overhead of XOR or Reed-Solomon parity operations. This copying approach maintains data protection while reducing the complexity associated with parity management and reconstruction algorithms.
2Reliability
If data is spread across multiple storage nodes with redundant copies, then fault tolerance and availability are improved, but system complexity and management difficulty increase
Solution Approach 1:
The patent segments the storage system into independent storage nodes, each capable of autonomously storing and managing data blocks. This segmentation allows the system to achieve fault tolerance through distribution while keeping individual node complexity low. Each node operates independently, simplifying management compared to centralized parity management in traditional RAID systems.
Solution Approach 2:
Each storage node in the patent is designed to be self-sufficient, independently managing its own data blocks and redundancy information. This self-service capability reduces the overall system complexity by eliminating the need for complex centralized coordination mechanisms required in traditional RAID systems for parity calculation and reconstruction.
3Reliability
If virtual partitions are controlled by multiple data servers with failover mechanisms, then availability and continuous operation are improved, but system complexity and operational overhead increase
Solution Approach 1:
The patent establishes preliminary failover configurations where secondary data servers are pre-positioned and pre-configured to take over virtual partition control immediately upon primary server failure. This preliminary preparation eliminates the need for complex real-time decision-making during failures, reducing operational overhead while maintaining high availability.
4Reliability
If redundancy objects are generated and stored in searchable data structures, then data recovery capability is improved, but storage space requirements and system complexity increase
Solution Approach 1:
The patent generates redundancy objects by copying data blocks to multiple storage nodes rather than storing separate parity information. This copying strategy provides full data recovery capability while using storage space efficiently, as each copy serves both as primary data and redundancy information, eliminating the need for additional dedicated parity storage space.
Data Source
AI summary
A method of operating a storage system includes: configuring the address space so that each LBA is assigned to at least two servers among a plurality of at least three servers in a control grid: to a primary server with a primary responsibility for handling requests corresponding to said LBA, and to a secondary server with a secondary responsibility for handling requests corresponding to said LBA. In response to a request corresponding to a certain LBA range, generating by a data server having primary responsibility over the certain LBA range, a primary cache object; identifying a data server configured as a secondary data server with regard to the certain LBA range; and generating a redundancy cache object corresponding to the primary cache object only at the identified secondary data server, the redundancy cache object to be used by the identified secondary data server when taking the primary responsibility.


