Cached Page Error Correction via Remote Node Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Metadata consistency checks in data storage systems can be time-consuming, leading to prolonged data unavailability, and existing methods often require offline processes to correct errors.
Innovation Solution
The method leverages multiple copies of metadata across different nodes and shared persistent storage within the data storage system to correct errors while remaining online, utilizing caches and non-volatile transaction caches to retrieve uncorrupted versions of metadata pages without necessitating lengthy offline checks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If offline metadata consistency checks are performed to correct errors, then data integrity is improved, but system availability deteriorates due to prolonged data unavailability
Solution Approach 1:
The patent stores multiple redundant copies of metadata pages across different nodes and storage locations before any corruption occurs. This preliminary duplication enables immediate error correction by retrieving uncorrupted copies from other nodes or the same node's cache, eliminating the need for time-consuming offline consistency checks and thus maintaining system availability while ensuring data integrity.
2Reliability
If multiple copies of metadata are maintained across nodes, then error correction capability is improved, but device complexity increases
Solution Approach 1:
The patent makes each node's cache capable of serving dual purposes: storing frequently accessed metadata for performance optimization and providing redundant copies for error correction. This multi-functionality allows the system to achieve improved error correction capability without adding dedicated redundancy structures, thereby avoiding increased device complexity while maintaining reliability.
Data Source
AI summary
A method of correcting errors in a data storage system including a first node, a second node, and shared persistent storage (the first and second nodes being configured to process data storage requests) is provided. The method includes (a) reading cached pages from a first cache disposed within the first node, the cached pages being cached versions of respective persistent pages stored in the shared persistent storage; (b) in response to determining that one of the cached pages is corrupted, requesting that the second node return to the first node a corresponding remote page from a second cache disposed within the second node, the cached page and the remote page each caching a same persistent page of the shared persistent storage; and (c) in response to determining that the remote page received from the second node by the first node is not corrupted, correcting the cached page using the remote page.


