RAID Parity Cache Control for Lower Write Penalty

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

RAID technologies, such as RAID 5, incur high write process load and longer completion times due to the need for multiple accesses during the write process, leading to increased 'write penalty' and potential deterioration in storage system performance.

Innovation Solution

A control device and method that identifies areas with a high likelihood of subsequent write requests after a read and pre-stages old data and parity in memory, allowing for the calculation and storage of new parity without re-reading from storage devices, thereby reducing storage capacity requirements and write process load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is made redundant using parities in RAID 5, then data protection is improved, but write process time and process load increase

Engineering Contradiction:
Improvedata protectionVSAvoidwrite process time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by reading and caching old data and old parity into memory before the write operation completes. This allows the new parity to be calculated using cached data rather than requiring repeated reads from storage devices, thereby reducing write process time while maintaining RAID 5 data protection through proper parity calculation and storage

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple accesses are performed during write process for parity calculation, then data redundancy is ensured, but process load increases

Engineering Contradiction:
Improvedata redundancyVSAvoidprocess load
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent reduces process load by performing preliminary reads of old data and old parity into memory cache before the write operation. This eliminates the need for multiple repeated accesses to storage devices during parity calculation, while still ensuring data redundancy through proper RAID 5 parity computation and distribution across storage devices

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If old data and old parity are read from storage device group during write process, then new parity can be calculated, but write penalty increases

Engineering Contradiction:
Improveparity calculation accuracyVSAvoidwrite penalty
Core Design Contradiction:
Manufacturing precisionVSObject-generated harmful factors

Solution Approach 1:

The patent applies preliminary action by reading old data and old parity from storage devices into memory cache before the write operation begins. This allows subsequent parity calculations to use the cached data in memory rather than requiring repeated reads from storage devices, thereby reducing write penalty while maintaining accurate parity calculation for RAID 5 data redundancy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces memory cache as an intermediary between storage devices and the parity calculation process. The cache holds old data and old parity temporarily, allowing the processor to calculate new parity without direct repeated accesses to storage devices, thus reducing write penalty while ensuring accurate parity computation

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10608670B2Control device, method and non-transitory computer-readable storage medium
Publication Date: 2020.03.31 FUJITSU LTD
  • US10608670B2 patent drawing
  • US10608670B2 patent drawing
  • US10608670B2 patent drawing

AI summary

A control device is configured to receive a first write request of first data, calculate a first parity of the first data, store the first data and the first parity into a storage region so that the first data is stored redundantly, identify a certain area which has a possibility that a write process to the certain area is requested after a read process from the certain area is requested, receive a read request of the first data stored in the certain area, read the first data and the first parity, and store the first data and the first parity into a memory, receive a second write request of a second data, calculate a second parity based on the second data, the first data stored in the memory and the first parity stored in the memory, and store the second data and the second parity into the storage region.