Distributed Storage Recovery Using Memory Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, the consistency between user data and redundant code is lost when user data is rewritten, leading to improper recovery and a decrease in response speed for write requests due to the need for locks on other computer nodes during recovery processing.

Innovation Solution

A computer system that caches user data in memory after locking the storage area, allowing for recovery based on cached data and enabling write processing without waiting for recovery completion, thus maintaining consistency and improving response speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a lock is acquired for user data during recovery processing, then data consistency is maintained, but write processing cannot be performed until recovery is completed, decreasing response speed

Engineering Contradiction:
Improvedata consistencyVSAvoidresponse speed for write request
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the data recovery process by separating the locking scope: instead of locking all user data in the storage device, only the specific storage area containing user data for recovery is locked. This segmentation allows other user data to remain accessible for write operations, thus maintaining data consistency for the recovery process while allowing concurrent write processing for other data, resolving the contradiction between reliability and speed.

Inventive Principle:
Principle #1Segmentation

2Productivity

If user data is rewritten in the computer node that stores it, then the redundant code is also rewritten, but consistency between read user data for recovery and redundant code is lost, leading to improper recovery

Engineering Contradiction:
Improvedata update capabilityVSAvoidrecovery accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by caching the user data for recovery in the memory of the recovery execution node before the actual recovery processing begins. This cached data serves as a fixed reference point throughout the recovery process, ensuring that even if the original user data is rewritten, the recovery is performed on the cached, consistent data, thus maintaining recovery accuracy while allowing concurrent updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the user data for recovery by caching it in memory. This copy is then used for recovery operations instead of directly accessing the storage device. The copy isolates the recovery process from subsequent writes to the original data, preventing consistency loss between the user data and redundant code, while still allowing the original data to be updated.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11379321B2Computer system, control method, and recording medium
Publication Date: 2022.07.05 HITACHI VANTARA LTD
  • US11379321B2 patent drawing
  • US11379321B2 patent drawing
  • US11379321B2 patent drawing

AI summary

In recovery processing, a distributed storage system 100 locks a storage area in which user data for recovery that is user data serving as data for recovery is stored in drives 405, and releases the lock after caching the user data for recovery in a memory 401 of any of computer nodes 101. Then, the distributed storage system 100 recovers recovery target data on basis of the user data for recovery cached in the memory 401. In write processing, the distributed storage system 100 updates the user data for recovery cached in the memory 401 in accordance with a write request and then writes the user data in accordance with the write request.