Error Code Management in Multi-Tier Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tiered storage systems, low-tier storage devices struggle to support data correction codes, which affects the overall reliability of the system, especially during data migration.
Innovation Solution
A system is implemented where error codes are calculated using hash functions and stored in high-reliability storage systems, allowing them to manage and correct data from low-reliability storage devices by comparing hash values, thereby maintaining system reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data correction code is added to data in low tier storage systems, then data reliability is improved, but low tier storage cannot support the added error code
Solution Approach 1:
The patent separates the error code storage function from the data storage function by placing error codes in high tier storage systems while keeping data in low tier storage systems. This segmentation allows each tier to operate within its capabilities - low tier stores data without needing to support complex error codes, while high tier stores and manages the error codes.
Solution Approach 2:
The high tier storage system acts as an intermediary that manages error codes for data stored in low tier storage systems. When data is written to low tier storage, the high tier storage system calculates and stores the corresponding error code, and later uses these codes to verify and correct data integrity, thereby enabling error correction capability without requiring the low tier storage itself to support error codes.
2Measurement precision
If error codes are stored in low tier storage systems, then data integrity can be verified, but the low tier storage devices cannot properly support the error codes
Solution Approach 1:
The patent divides the storage system into two functional segments: low tier storage for data storage and high tier storage for error code storage. This segmentation ensures that error codes are stored in a reliable environment (high tier) while data resides in cost-effective low tier storage, allowing integrity verification without compromising system reliability.
Solution Approach 2:
The high tier storage system serves as an intermediary that provides error code management services to the low tier storage system. It calculates error codes when data is written, stores them securely, and retrieves them for verification, thereby enabling integrity checking without requiring the low tier storage devices themselves to have error code support capabilities.
3Reliability
If high reliability storage systems are used for all data, then system reliability is improved, but storage cost increases
Solution Approach 1:
The patent applies local quality by providing different levels of reliability support to different parts of the storage system. High tier storage systems provide error code management and verification services locally, while low tier storage systems handle bulk data storage. This allows the system to achieve high reliability where needed (error code management) while using cost-effective storage for data, avoiding the need to make all storage components high reliability.
Solution Approach 2:
The high tier storage system performs multiple functions: it stores both data and error codes, manages error code generation and verification, and provides reliability services to the entire storage system. This multi-functionality allows a smaller portion of the system to provide high reliability services, reducing the overall cost compared to making all storage components high reliability.
Data Source
AI summary
A system comprising a plurality of storage systems, which uses storage devices of multiple levels of reliability. The reliability as a whole system is increased by keeping the error code for the relatively low reliability storage disks in the relatively high reliability storage system. The error code is calculated using hash functions and the value is used to compare with the hash value of the data read from the relatively low reliability storage disks.