Storage Node Cache Mirroring for Write Response Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software-defined storage systems face challenges in reducing response time to hosts due to the need for data redundancy across multiple storage nodes, leading to prolonged write completion responses.

Innovation Solution

A storage system architecture that includes multiple storage nodes with control software forming redundancy groups, where active control software writes data by mirroring into cache memories of both active and inactive nodes within the same group, allowing for immediate write completion responses to hosts while ensuring data redundancy is maintained through asynchronous destaging processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is written redundantly to drives of multiple storage nodes, then reliability is improved, but response time to host deteriorates

Engineering Contradiction:
Improvedata redundancyVSAvoidwrite completion response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent writes data to cache memory in advance before actual storage operations are completed. The control software writes data to the cache memory of the active storage node immediately upon receiving a write request, and can send a write completion response to the host before the data is fully redundantly stored to multiple drives. This preliminary action separates the host response timing from the actual redundant storage completion timing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces cache memory as an intermediary between the host and the redundant storage drives. The cache memory acts as a buffer that decouples the host's write request from the time-consuming redundant write operations to multiple storage nodes. This intermediary allows the host to receive immediate acknowledgment while the background process handles the redundant storage to multiple drives asynchronously.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If control software is distributed across multiple storage nodes, then fault tolerance is improved, but system complexity increases

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the control software into multiple redundant instances distributed across different storage nodes. Each storage node runs independent control software that can function as a standby or active controller. This segmentation allows the system to tolerate failures of individual nodes while maintaining overall functionality, as other nodes can take over control functions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines multiple control software instances into a unified redundancy group where nodes share common functionality. The control software on different nodes is synchronized and can assume the same roles, merging their capabilities to provide fault tolerance. This approach consolidates the control function across nodes rather than requiring separate complex control systems.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11789613B2Storage system and data processing method
Publication Date: 2023.10.17 HITACHI VANTARA LTD
  • US11789613B2 patent drawing
  • US11789613B2 patent drawing
  • US11789613B2 patent drawing

AI summary

In a storage system in which a plurality of pieces of control software constituting a redundancy group are distributedly arranged in a plurality of storage nodes, control software in an active state out of the plurality of pieces of control software constituting the redundancy group receives a write request from a higher-level device. The control software in the active state writes data related to the write request by mirroring into a cache memory of a storage node in which the control software in the active state is arranged and a cache memory of a storage node in which control software in an inactive state belonging to the same redundancy group is arranged. The control software in the active state sends a write completion response to the higher-level device, and redundantly stores the data written in the cache memories in a storage device.