RAID Data Management with Parity Disk Redirection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In RAID systems, when a disk becomes unavailable, the existing methods for writing and reading data lead to excessive input and output operations and processor resource consumption due to the need for calculating parity sub-blocks and reading from other disks, which reduces efficiency.
Innovation Solution
The method determines the disks for data and parity sub-blocks based on a storage address and redirects data sub-blocks to parity disks when the original disk is unavailable, allowing direct reading from parity disks during read operations, thereby reducing the need for parity calculations and input/output operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data sub-blocks are stored on dedicated data disks in a RAID array, then data storage reliability is improved, but when a data disk becomes unavailable, excessive I/O operations and processor resource consumption occur due to parity calculation requirements
Solution Approach 1:
The patent makes parity disks multi-functional by allowing them to store both parity sub-blocks and data sub-blocks. When a data disk is unavailable, the system can store data sub-blocks on parity disks, eliminating the need for parity calculations and reducing I/O operations. This universal usage resolves the contradiction by maintaining reliability while improving productivity during disk unavailability scenarios.
Solution Approach 2:
The patent implements dynamic disk role assignment where disks can switch between data disk and parity disk roles based on availability status. The management module dynamically determines which disks to use for data sub-blocks based on real-time disk availability, allowing the system to adapt its storage configuration and avoid unnecessary parity operations when disks are unavailable.
2Reliability
If the system performs parity calculations when a data disk is unavailable, then data integrity is maintained, but processor resource consumption and I/O operations increase significantly
Solution Approach 1:
The patent performs preliminary actions by pre-calculating and storing parity sub-blocks on parity disks during normal operation when all disks are available. When a data disk becomes unavailable, the system can directly retrieve data sub-blocks from parity disks without performing parity calculations, thus maintaining data integrity while avoiding excessive processor resource consumption and I/O operations.
Solution Approach 2:
The parity disks serve themselves by storing both parity sub-blocks and data sub-blocks. When a data disk is unavailable, the parity disks can directly provide the needed data sub-blocks without requiring the management module to perform parity calculations, reducing processor resource consumption and I/O operations while maintaining data integrity.
3Quantity of substance
If more disks are used in the RAID array to increase storage capacity, then storage capacity is improved, but the complexity of managing disk availability and data distribution increases
Solution Approach 1:
The patent segments the RAID array into data disks and parity disks with distinct roles. The management module separately determines availability status for each segment and applies different storage strategies accordingly. This segmentation simplifies the management of large RAID arrays by providing a structured approach to disk availability and data distribution, reducing complexity while maintaining high storage capacity.
Data Source
AI summary
Techniques for managing data involve receiving a write request to write a data block into a first stripe in a disk array, the write request comprising a first storage address for storing the data block. The techniques further involve determining, based on the first storage address, a first group of disks related to a data portion of the first stripe and a second group of disks related to a parity portion of the first stripe. The techniques further involve, in response to a first disk in the first group of disks being unavailable, storing a data sub-block related to the first disk into a first parity portion of the parity portion such that the data block is stored in the first stripe, the first parity portion being located at a second disk in the second group of disks. The techniques further involve returning a response to the write request, the response comprising a first indication indicating a status of the disks in the disk array.


