NVM Log Chain for Write Request Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems using write-ahead logging (WAL) and non-volatile memory (NVM) face high system overheads due to the need to maintain block states and suffer from write amplification when updating data smaller than a block, leading to inefficient data consistency protection.
Innovation Solution
An access request processing method that uses a non-volatile memory (NVM) to record data modifications in a log chain, allowing for flexible granularity of data updates and reducing system overheads by writing modified data directly to the NVM and updating the log chain, rather than immediately writing to the magnetic disk.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If block states are maintained for data consistency in NVM-based storage systems, then data consistency is protected, but system overheads increase
Solution Approach 1:
The patent extracts the state management complexity from the NVM block management system by introducing a separate log structure. Instead of maintaining multiple states (frozen/normal, dirty/clean, up-to-date/out-of-date) for each NVM block, the system uses a traditional WAL log that records all modifications externally. This separates the consistency guarantee mechanism from the storage medium, reducing system overhead while maintaining data consistency.
Solution Approach 2:
The log structure serves multiple functions: it acts as both a consistency protection mechanism and a modification record. By using a universal log structure for both purposes, the system eliminates the need for separate state tracking mechanisms, thereby reducing complexity and overhead while maintaining reliability.
2Reliability
If data is updated at block granularity in NVM, then data consistency is ensured, but write amplification occurs when updating smaller data
Solution Approach 1:
The patent segments the write operation into two independent parts: (1) writing the actual data modification to the NVM at fine granularity (byte-level or small buffer), and (2) recording the modification metadata in the WAL log. This segmentation allows the data to be written efficiently at the required granularity while the log handles the consistency tracking, eliminating write amplification caused by forcing block-level updates for small data changes.
Solution Approach 2:
The system performs partial action by only writing the necessary portion of data to the NVM (exact size needed) while using the log to track the complete modification. The log contains the full modification record including before/after images or delta information, allowing the system to maintain consistency without writing entire blocks unnecessarily, thus reducing write amplification.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This application discloses an access request processing method and apparatus, and a computer system. The computer system includes a processor and a non-volatile memory NVM. In the computer system, when receiving a write request, the processor determines an object cache page according to the write request. After determining that the NVM stores a log chain log chain of the object cache page, the processor inserts, into the log chain of the object cache page, a second data node recording information about a second log data chunk. The log chain already includes a first data node recording information about the first log data chunk. The second log data chunk is at least partial to-be-written data of the write request. Further, after determining that an intra-page location of the second log data chunk overlaps an intra-page location of the first log data chunk, the processor sets, in the first data node, data that is in the first log data chunk and that overlaps the second log data chunk to invalid data.