RAID Controller Logical Stripe Backup to Non-Volatile Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In redundant arrays of independent disks (RAID), once a storage device fails, additional failures can lead to total data loss, especially if critical data is affected by media errors across multiple devices, as existing RAID types do not effectively handle limited storage device failures.
Innovation Solution
A RAID controller determines the logical stripe affected by a media error and backs it up to non-volatile memory, allowing read requests to be serviced from memory instead of the storage array, and attempts to service write requests through the storage array first, switching to non-volatile memory only if the array fails.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If RAID array continues to use degraded storage devices after media errors, then storage capacity is maintained, but data loss risk increases with additional failures
Solution Approach 1:
The system performs preliminary backup of affected logical stripes to non-volatile memory when media errors are detected, before additional failures can occur. This proactive measure ensures data is preserved even if more storage devices fail, resolving the contradiction by preparing protective measures in advance rather than waiting for catastrophic failure
Solution Approach 2:
Non-volatile memory serves as an intermediary storage layer between the degraded RAID array and the host system. When media errors occur, the controller redirects data access through this intermediary, allowing continued operation while protecting against total data loss from additional failures, thus improving reliability without requiring complete array reconstruction
2Reliability
If logical stripe is backed up to non-volatile memory, then data retrievability is ensured, but memory resources are consumed
Solution Approach 1:
Instead of backing up entire RAID arrays or uniform portions, the system identifies and backs up only the specific logical stripes affected by media errors. This localized approach ensures data retrievability for critical affected regions while minimizing the quantity of memory capacity consumed, as only necessary data portions are preserved in non-volatile memory
Solution Approach 2:
The system performs partial backup of only the affected logical stripes rather than complete array backup. This partial action is sufficient to ensure data retrievability for the problematic regions while avoiding the excessive consumption of memory resources that would result from backing up the entire array, thus resolving the contradiction between reliability and resource usage
Data Source
AI summary
When a media error occurs on a storage device of a number of storage devices of a redundant array, the logical stripe of data affected by the media error is determined. A portion of non-volatile memory is reserved and the logical stripe is backed up to this portion of non-volatile memory. A read request is subsequently serviced from the non-volatile memory and not from the storage devices. When a write request is received, it is first serviced to the storage devices. If successful, then the previously reserved portion of non-volatile memory is freed up, and subsequent requests are serviced using the storage devices. If unsuccessful, then the write request is serviced using the non-volatile memory.


