Coordinating Storage Device Reduces Write Latency in RAID Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage subsystems face challenges in managing write operations efficiently, particularly in RAID layouts, where clients are responsible for maintaining redundancy, leading to increased write latency and complexity, and vulnerability during device failures.

Innovation Solution

A computer system design where a coordinating storage device is designated for each row in the array, responsible for receiving data from clients, forwarding it to other storage devices, and managing redundancy, including parity computation, to minimize write latency and ensure data integrity even in case of device failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If clients are responsible for maintaining redundancy through lock mechanisms, then data integrity is improved, but write latency increases and device complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a coordinating storage device as an intermediary between clients and storage locations. This coordinating device handles the complex redundancy management tasks including acquiring locks, reading old data and parity, computing new parity, and writing new data and parity. By moving these functions from clients to a dedicated coordinating device, the system maintains data integrity while significantly reducing client-side complexity and write latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The coordinating storage device performs self-service by autonomously managing all redundancy operations. It automatically acquires locks on storage locations, retrieves necessary data and parity information, computes new parity values, and performs writes without requiring client intervention. This self-service approach eliminates the need for clients to manually manage redundancy, reducing both latency and complexity.

Inventive Principle:
Principle #25Self-service

2Reliability

If clients perform all redundancy functions including reading, computing, and writing, then data integrity is maintained, but device complexity and computational overhead increase

Engineering Contradiction:
Improvedata integrityVSAvoidclient complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The coordinating storage device serves as an intermediary that centralizes all redundancy management functions. It reads old data and parity from storage locations, computes new parity values, and writes the results back. This eliminates the need for clients to implement complex redundancy management logic, significantly reducing client-side device complexity while maintaining data integrity through centralized coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The coordinating storage device performs multiple functions including lock acquisition, data retrieval, parity computation, and write operations. By consolidating these diverse functions into a single multi-functional component, the system maintains data integrity without requiring each client to implement separate mechanisms for each function, thereby reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If clients retrieve information from Meta Data Server for each write, then data integrity is ensured, but write latency increases

Engineering Contradiction:
Improvedata integrityVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The coordinating storage device performs preliminary actions by acquiring locks and retrieving necessary data and parity information before the actual write operation. It prepares all required components including computing new parity values in advance, so that when the write occurs, the system can proceed more quickly without needing to retrieve additional information from the Meta Data Server during the write process, thus reducing write latency while maintaining integrity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The coordinating storage device acts as an intermediary that handles communication with the Meta Data Server and manages the write coordination process. It retrieves metadata and coordinates the write operations, eliminating the need for clients to directly query the Meta Data Server for each write operation, thereby reducing the time required for write operations while ensuring data integrity through centralized coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If RAID layouts provide fault tolerance, then reliability is improved, but vulnerability to device failure increases during complex write operations

Engineering Contradiction:
Improvefault toleranceVSAvoidvulnerability to failure
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the write operation into distinct phases: acquiring locks, reading old data and parity, computing new parity, and writing new data and parity. The coordinating storage device manages these segments independently and ensures that locks are held throughout the entire process. This segmentation allows for better control and reduces the vulnerability window by ensuring atomicity of the write operation, preventing partial writes that could leave the system in an inconsistent state.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements beforehand cushioning by acquiring locks on storage locations before performing write operations and maintaining those locks throughout the entire write process. This ensures that no other operations can interfere with the write sequence, cushioning against the vulnerability to failure during complex write operations. The lock mechanism prevents concurrent operations that could create inconsistent states, thereby enhancing fault tolerance during the write process.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentEP2096542B1System and method of redundantly storing and retrieving data with cooperating storage devices
Publication Date: 2018.02.21 GEN DIGITAL INC
  • EP2096542B1 patent drawingFigure 1
  • EP2096542B1 patent drawingFigure 2
  • EP2096542B1 patent drawingFigure 3

AI summary

A system and method for data storage in an array. A system includes a client coupled to a storage subsystem. The storage subsystem comprises data storage locations addressable as rows and columns in an array. Each column comprises a separate storage device. Each row includes redundant data. For a given row, a coordinating storage device receives data from the client, coordinates computation and storage of redundant data, and forwards data to other storage devices. In response to receiving data targeted for storage in a given storage location, a non-volatile, temporary storage device that is associated with the separate storage device that includes the given storage location buffers the received data. The coordinating storage device conveys a write completion message to the client in response to detecting that the data has been buffered in the non-volatile, temporary storage devices. At least two storage devices are coordinating storage devices in separate rows.