RAID 1 Storage Write Optimization via Block Group Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing storage apparatuses face performance degradation due to the increased load on the disk controller and HDDs caused by the need to read data multiple times when writing data units that exceed the block size of the HDDs, particularly in RAID 1 configurations where the unit size of write target data differs from the HDD's writing unit size, leading to inefficient processing performance.
Innovation Solution
The storage apparatus optimizes data writing by reading data from the entire block group of the write destination once and generating data units of the same size as the block group, allowing for simultaneous writing to both the master and mirror HDDs without additional reads, thereby reducing the number of read operations and minimizing the load on the controller and HDDs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the DKC adds guarantee codes to data elements to improve reliability, then data reliability is improved, but the data set size becomes larger than the HDD block size, requiring multiple read operations to create properly sized data units, which increases the load on the DKC and HDD
Solution Approach 1:
The DKC reads the entire block group of the write destination in advance and stores it in cache memory before performing the write operation. This preliminary read action allows the DKC to prepare the necessary data structure beforehand, avoiding the need for multiple sequential read operations during the write process, thus resolving the contradiction between reliability (through guarantee codes) and writing performance
2Manufacturing precision
If the DKC performs multiple read operations to create data units of the same size as the block group, then the data can be written properly to the HDD, but the load on the DKC and HDD increases significantly
Solution Approach 1:
The DKC performs the read operation on the entire block group in advance and stores the result in cache memory. This preliminary action eliminates the need for multiple sequential read operations during the write process, reducing the controller load while still achieving the required data unit size precision for proper HDD writing
3Productivity
If the DKC reads data from the entire block group once and generates data units of the same size as the block group, then the number of read operations is reduced, but the controller must manage more complex data unit generation and simultaneous writing to multiple HDDs
Solution Approach 1:
The DKC reads the entire block group in advance and stores it in cache memory, then generates the required data units and performs simultaneous writes to multiple HDDs from this pre-fetched data. This approach reduces the number of read operations and improves writing speed, while the controller manages the complexity through efficient data unit generation and parallel write operations
Data Source
AI summary
A RAID group of RAID 1 series comprises one or more pairs of first storage devices and second storage devices. A storage apparatus reads data from the entire area of a first storage block group including the write destination of write target data in the first storage device. The storage apparatus, in accordance with the write target data and staging data which is the read data, generates one or more data units each of which is the data configured of the write target data or the copy of the same and the staging data part or the copy of the same and of the same size as the first storage block group. The controller writes any of the one or more data units to the first storage block group in the first storage device and, at the same time, writes any of the one or more data units to the second storage block group corresponding to the first storage block group and of the same size as the same in the second storage device.


