NVRAM Buffer Offloads Write Requests To Reduce Storage Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems face inefficiencies in managing data storage and retrieval operations, particularly in handling write requests and data redundancy, leading to increased latency and unnecessary write operations.

Innovation Solution

The implementation of a storage system architecture that utilizes non-volatile random access memory (NVRAM) as a buffer for write requests, offloading device management responsibilities from storage drives, and employing erasure coding and mirroring schemes to ensure data redundancy and longevity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional storage systems directly write data to storage drives, then data redundancy is ensured through mirroring and erasure coding, but write latency increases and unnecessary write operations occur

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

Solution Approach 1:

The system performs preliminary actions by writing data to NVRAM buffer before committing to persistent storage. Write requests are acknowledged to clients immediately after NVRAM writing, while background processes handle the eventual flushing to storage drives. This preliminary buffering action decouples client wait time from actual persistent storage completion, reducing write latency while maintaining data redundancy through subsequent mirroring and erasure coding operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

NVRAM buffer serves as an intermediary layer between client write requests and persistent storage drives. This intermediary absorbs write operations temporarily, allowing the system to acknowledge clients quickly while managing data redundancy and persistence in the background. The intermediary buffer resolves the contradiction by providing fast write acknowledgment without compromising eventual data reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If storage systems perform frequent write operations to ensure data redundancy, then reliability improves, but unnecessary write operations increase and system efficiency decreases

Engineering Contradiction:
Improvedata redundancyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies partial action by writing data to NVRAM buffer initially rather than immediately performing full redundancy operations. Mirroring and erasure coding are applied selectively in background processes based on system conditions and data priorities. This partial approach ensures data redundancy eventually while avoiding excessive unnecessary writes that would reduce system efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Data is preliminarily written to NVRAM buffer before redundant copies are created and stored across multiple drives. This preliminary action allows the system to defer expensive redundancy operations until necessary, improving immediate write performance while still ensuring eventual data reliability through background mirroring and erasure coding processes.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If storage systems use multiple storage nodes for data distribution, then data longevity and redundancy improve, but device complexity increases

Engineering Contradiction:
Improvedata longevityVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The distributed storage system implements self-service through automatic data distribution, replication, and recovery across multiple nodes. Each node independently manages its portion of data and can autonomously participate in redundancy operations. This self-service approach enables data longevity across distributed nodes without proportionally increasing operational complexity, as the system self-manages the complexity of coordination and failure recovery.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Data is segmented and distributed across multiple storage nodes, with each node managing independent data portions. This segmentation allows the system to achieve data longevity through distribution while managing complexity by breaking down the overall storage system into independent, manageable nodes. Each node operates semi-autonomously, reducing the complexity burden on any single component while collectively providing enhanced reliability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240370172A1Optimizing I/O For Client Devices Using Different Computing Resources Of A Storage System
Publication Date: 2024.11.07 PURE STORAGE INC
  • US20240370172A1 patent drawing
  • US20240370172A1 patent drawing
  • US20240370172A1 patent drawing

AI summary

A method, apparatus, and computer program product for optimizing I/O for client devices using different computing resources of a storage system, comprising receiving, by a storage system, a connection request from a client computing device, wherein the storage system creates a connection for the client computing device using a first computing resource of the storage system; after creating the connection, selecting another computing resource of the storage system for processing one or more I/O operations for the client computing device; and migrating the connection for the client computing device to the other computing resource.