NVRAM Buffering for Distributed Storage Write Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed file systems face challenges in efficiently handling small and synchronous write operations, particularly in systems without non-volatile read and write memory (NVRAM), leading to high latency and SSD degradation, especially in cost-constrained data centers with spinning disk-based architectures.

Innovation Solution

Implementing a method that flushes write transactions from a first memory device to a second memory device based on byte-ranges within a file system block, appending data to a recovery log in NVRAM, and replicating it to another node for improved performance and reliability, thereby reducing latency and extending SSD lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If NVRAM is installed in every node to buffer small writes, then write latency is reduced, but system cost increases significantly

Engineering Contradiction:
Improvewrite latencyVSAvoidsystem cost
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces a software-based buffering layer in the file system that acts as an intermediary between applications and the storage system. This software buffer pool caches write operations in memory, providing NVRAM-like functionality without requiring expensive hardware NVRAM in every node. The buffer manager coordinates writes across multiple nodes, replicating data to ensure durability while maintaining cost-effectiveness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates software-based copies of NVRAM functionality through a distributed buffer pool that replicates data across multiple nodes. Instead of requiring physical NVRAM hardware at each node, the system uses software copying and replication mechanisms to achieve similar performance benefits, distributing the buffering capacity across the networked storage system.

Inventive Principle:
Principle #26Copying

2Productivity

If SSDs are used to buffer random writes, then write performance is improved, but SSD lifetime is severely degraded

Engineering Contradiction:
Improvewrite performanceVSAvoidSSD lifetime
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent performs preliminary buffering of write operations in software-based memory structures before they reach the SSDs. The buffer pool pre-processes and batches small random writes, consolidating them into larger sequential writes when possible. This preliminary action in software memory protects SSDs from the wear-causing pattern of small random writes while maintaining high write performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses volatile memory (DRAM) as a disposable, short-term buffer that can be rapidly written to and cleared without degradation. This cheap, short-lived memory layer absorbs the wear that would otherwise affect SSDs, allowing aggressive write caching strategies that prioritize performance while protecting the longevity of non-volatile storage devices.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Device complexity

If spinning disk-based architecture is used, then system cost is reduced, but small write performance is poor

Engineering Contradiction:
Improvesystem costVSAvoidsmall write performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces a software-based buffer pool and write-coordination layer that mediates between applications and the spinning disk storage system. This intermediary buffers small synchronous writes in memory, batch them together, and issue them as larger, more efficient operations to the spinning disks, thereby achieving NVRAM-like performance with a cost-effective mechanical disk architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent fundamentally changes the parameters of write operations before they reach the spinning disks. By buffering small, random, synchronous writes in software and transforming them into larger, sequential, asynchronous operations, the system adapts the workload characteristics to match the strengths of spinning disk hardware, achieving high performance without requiring expensive solid-state drives.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9904688B2Buffering and replicating data written to a distributed storage system
Publication Date: 2018.02.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9904688B2 patent drawing
  • US9904688B2 patent drawing
  • US9904688B2 patent drawing

AI summary

Embodiments of the invention relate to small write performance enhancements for parallel file systems. One embodiment includes flushing a received write transaction from a first memory device to a second memory device on a node in a file system based on one or more byte-ranges within a file system block. It is determined to flush the received write transaction to a recovery log that is stored in a non-volatile storage layer of the file system. If it is determined to flush the received write transaction to the recovery log: appending data associated with the received write transaction in the recovery log of the file system, replicating the data associated with the received write transaction in another non-volatile storage layer of another node if required, and marking the one or more byte-ranges as committed.