NVRAM File System Write Buffer for Asymmetric Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing NVRAM-based file systems face suboptimal performance due to asymmetric read and write performance and high software overheads, which are exacerbated by the removal of memory cache, leading to reduced write performance.

Innovation Solution

A method that determines whether a file operation is non-persistent or persistent, writing non-persistent operations to DRAM for caching and flushing to NVRAM at a preset time, while direct writes are made to NVRAM for persistent operations, and utilizing a DRAM block index for read operations to improve performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If memory cache is removed to avoid additional data copies, then read performance is improved, but write performance deteriorates due to asymmetric read-write performance of NVRAM

Engineering Contradiction:
Improveread performanceVSAvoidwrite performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent introduces a write buffer as an intermediary component between the user buffer and NVRAM storage device. This write buffer temporarily stores write data before it is flushed to the storage device, acting as a mediator that absorbs the asymmetric write performance limitation of NVRAM and enables higher throughput write operations by batching and coalescing write requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If file data is copied directly between user buffer and storage device, then software overheads are reduced, but write performance decreases due to NVRAM's asymmetric read-write performance

Engineering Contradiction:
Improvesoftware overheadsVSAvoidwrite performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The write buffer serves as an intermediary layer that maintains low software overheads while improving write performance. It implements a simple in-memory buffer structure that coalesces multiple write requests without requiring complex software management, thus resolving the contradiction between minimizing overhead and maximizing write throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges multiple write requests into batches within the write buffer before flushing to the storage device. This combining of write operations reduces the total number of individual write transactions to NVRAM, leveraging the buffer to aggregate data and improve overall write performance without adding significant software complexity.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If conventional block device layer is used, then file system compatibility is maintained, but software overheads exceed actual read-write overheads of NVRAM

Engineering Contradiction:
Improvefile system compatibilityVSAvoidsoftware overheads
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the conventional block device layer from the file system architecture, eliminating its associated software overheads. By directly accessing the NVRAM storage device through a simplified interface, the system maintains essential file system functionality while removing the unnecessary complexity and overhead of the traditional block device abstraction layer.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9959053B2Method for constructing NVRAM-based efficient file system
Publication Date: 2018.05.01 TSINGHUA UNIVERSITY
  • US9959053B2 patent drawing
  • US9959053B2 patent drawing
  • US9959053B2 patent drawing

AI summary

The present invention provides a method for constructing an NVRAM-based efficient file system, including the following steps: S1. determining a file operation type of the file system, where the file operation type includes a file read operation, a non-persistent file write operation, and a persistent file write operation; and S2. if the file operation type is a non-persistent file write operation, writing, by the file system, content of the non-persistent file write operation to a dynamic random access memory DRAM, updating a corresponding DRAM cache block index, and flushing, at a preset time point, the content of the non-persistent file write operation back to a non-volatile random access memory NVRAM asynchronously, or otherwise, copying, by the file system, related data directly between the NVRAM/DRAM and the user buffer. The method of the present invention can not only avoid additional copies and overheads of conventional software layers, but also improve write performance of the NVRAM file system by fully utilizing a characteristic of high write performance of the DRAM, thereby improving overall performance of the system.