Storage Array Write Optimization via Dynamic RAID Level Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage arrays face issues with latency and wear on storage devices due to read-modify-write operations, particularly in RAID5 and RAID6 systems, which reduce performance and the useful life of solid-state storage devices.
Innovation Solution
A controller is configured to determine the size of data for write operations and store it in either RAID1 or RAID5 stripes based on a threshold size, using parity or metadata strips across multiple storage resources, optimizing write access and reducing read-modify-write operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If RAID5 or RAID6 is used for capacity efficiency, then storage capacity is improved, but write performance deteriorates due to read-modify-write operations
Solution Approach 1:
The system dynamically switches between RAID5 and RAID6 based on the size of data being written. Small writes use RAID5 (faster, less wear) while large writes use RAID6 (more capacity efficient). This dynamic adaptation resolves the contradiction by allowing the system to optimize for different workloads independently
Solution Approach 2:
The invention changes the parameter of redundancy level based on data size. By adjusting which RAID level is applied according to write size thresholds, the system optimizes both capacity efficiency and write performance for different scenarios, resolving the trade-off between these two parameters
2Reliability
If read-modify-write operations are used to ensure redundancy, then data integrity is improved, but latency increases
Solution Approach 1:
The system applies partial action by using RAID5 (with simpler parity) for small writes where full redundancy protection is not critical, and only applies the more intensive read-modify-write operations of RAID6 for large writes where data integrity is more important. This partial application reduces unnecessary latency for small operations
3Reliability
If read-modify-write operations are used for redundancy, then data integrity is improved, but wear on storage devices increases
Solution Approach 1:
The invention applies partial action by limiting the use of intensive read-modify-write operations to only large writes that require RAID6 protection. Small writes use the gentler RAID5 method, reducing cumulative wear on storage devices while maintaining adequate data integrity for most operations
4Productivity
If mirroring is used for redundancy, then write performance is improved, but storage capacity is reduced
Solution Approach 1:
The system dynamically selects between RAID5 and RAID6 based on write size, allowing it to achieve RAID10-like performance for small writes while maintaining RAID5-like capacity efficiency for large writes, thus resolving the contradiction between performance and capacity
Data Source
AI summary
A method may include storing data in one or more first-type stripes spanning a plurality of N storage resources and having N−1 data strips for storing the data and a parity strip for storing parity information for the data stored to the particular first-type stripe and each of the plurality of storage resources includes one of a data strip or a parity strip of the particular first-type stripe if the data to be stored exceeds a threshold size. If the data to be stored does not exceed a threshold size, the method may include storing the data in a second-type stripe and a third-type stripe each spanning N storage resources, such that each stripe comprises N−1 data strips for storing the data and a metadata strip for storing address information for the corresponding second-type strip or third-type strip.


