Cloud Storage NVRAM Buffering for Write Latency and Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems face inefficiencies in managing data storage and retrieval operations, particularly in cloud-based environments, where latency and reliability issues arise due to direct writing to storage drives, leading to unnecessary write operations and potential data loss during power failures.

Innovation Solution

The implementation of a cloud-based storage system that utilizes non-volatile random access memory (NVRAM) as a buffer for data destined to be written to storage drives, offloading device management responsibilities from storage drives, and employing dual storage array controllers with primary and secondary status to ensure data integrity and availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is directly written to storage drives, then data persistence is achieved, but write latency increases and unnecessary write operations occur

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

Solution Approach 1:

The patent introduces NVRAM as an intermediary buffer between the host system and storage drives. Data is first written to the NVRAM buffer, which provides fast write access, and then asynchronously transferred to the storage drives. This mediator layer resolves the contradiction by providing both fast writes (reducing latency) and persistent storage (ensuring data safety).

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary writing of data to the NVRAM buffer before final storage to the drives. This preliminary action allows the system to acknowledge write operations quickly to the host while the data is still being safely transferred and committed to the storage drives in the background, thus reducing perceived write latency while maintaining data persistence.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data is directly written to storage drives, then data availability is ensured, but system reliability decreases during power failures

Engineering Contradiction:
Improvedata availabilityVSAvoiddata loss during power failure
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The NVRAM buffer acts as a protective cushion that absorbs and protects against power failure impacts. Data is first committed to the non-volatile NVRAM buffer, which preserves data even without power, and then gradually transferred to storage drives. This beforehand cushioning ensures that if a power failure occurs during the transfer process, no data is lost because it is already safely stored in the NVRAM buffer.

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

3Productivity

If storage drives manage their own device responsibilities, then device autonomy is maintained, but processing overhead increases and performance decreases

Engineering Contradiction:
ImproveI/O operation efficiencyVSAvoiddevice management overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the device management responsibilities from the storage drives themselves and consolidates them into dedicated storage array controllers. The controllers handle metadata management, I/O scheduling, and data movement coordination, while the storage drives focus solely on data storage and retrieval. This extraction reduces the processing overhead on individual drives and improves overall I/O operation efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The storage array controllers are designed as universal management units that handle multiple functions including metadata management, I/O request scheduling, data transfer coordination, and buffer management. By consolidating these diverse management responsibilities into multi-functional controllers, the system achieves better resource utilization and reduced complexity compared to having each drive manage its own operations.

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

4Reliability

If single controller architecture is used, then device simplicity is maintained, but system reliability decreases during controller failures

Engineering Contradiction:
Improvesystem availabilityVSAvoidcontroller architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a dual controller architecture where each controller is specialized with specific responsibilities - one controller is designated as primary for normal operations while the other serves as secondary/standby. This local quality differentiation allows the system to maintain simplicity in normal operation while providing redundancy for failure scenarios. The primary controller handles all I/O operations, while the secondary controller remains ready to take over, ensuring high availability without requiring complex active-active coordination.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10976962B2Servicing I/O operations in a cloud-based storage system
Publication Date: 2021.04.13 PURE STORAGE INC
  • US10976962B2 patent drawing
  • US10976962B2 patent drawing
  • US10976962B2 patent drawing

AI summary

Servicing I/O operations in a cloud-based storage system, including: receiving, by the cloud-based storage system, a request to write data to the cloud-based storage system; storing, in solid-state storage of the cloud-based storage system, the data; storing, in object storage of the cloud-based storage system, the data; detecting that at least some portion of the solid-state storage of the cloud-based storage system has become unavailable; identifying data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; retrieving, from object storage of the cloud-based storage system, the data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; and storing, in solid-state storage of the cloud-based storage system, the retrieved data.