NVRAM File System Write Buffer for Asymmetric Performance
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
Data Source
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.


