RAID 1 Storage Write Optimization via Block Group Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata reliabilityVSAvoidwriting performance
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvedata unit size precisionVSAvoidcontroller load
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvewriting speedVSAvoidcontroller processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8667218B2Storage apparatus comprising RAID groups of RAID 1 series and control method of writing to RAID group of RAID 1 series
Publication Date: 2014.03.04 HITACHI VANTARA LTD
  • US8667218B2 patent drawing
  • US8667218B2 patent drawing
  • US8667218B2 patent drawing

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.