Hybrid Memory Segment Cleaning via Volatile Buffer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Log-structured file systems (LFS) experience performance degradation and reduced flash storage lifetime due to the need for segment cleaning, which suspends I/O operations and incurs additional writes, degrading user process performance and shortening storage lifespan.
Innovation Solution
A segment cleaning method utilizing a hybrid main memory with a volatile and non-volatile component, where valid blocks from a selected victim segment are copied to volatile memory and then moved to non-volatile memory, allowing for faster cleaning and resumption of I/O operations, with the option to perform in-place writes during data updates, reducing the number of writes to storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If segment cleaning is performed by copying valid blocks to a new segment in storage, then free space is reclaimed, but I/O operations are suspended and cleaning overhead degrades performance
Solution Approach 1:
The patent introduces a buffer area in main memory as an intermediary between storage segments. During segment cleaning, valid blocks are copied to the buffer area first, allowing I/O operations to continue in parallel. This mediator enables asynchronous cleaning without suspending user I/O operations, resolving the contradiction between reclaiming free space and maintaining I/O performance
Solution Approach 2:
The patent performs preliminary copying of valid blocks to the buffer area before finalizing the cleaning process. By preparing the buffer area in advance and copying blocks progressively, the system can resume I/O operations earlier while cleaning continues in the background, improving overall productivity without sacrificing free space reclamation
2Quantity of substance
If segment cleaning copies valid blocks to new locations, then free space is reclaimed, but additional writes shorten flash storage lifetime
Solution Approach 1:
The buffer area in main memory serves as an intermediary that temporarily holds valid blocks during cleaning. This allows the system to perform fewer writes to flash storage by consolidating cleaning operations and only writing back to storage when necessary, reducing the total number of write cycles and extending storage lifetime while still reclaiming free space
Solution Approach 2:
The patent identifies and recovers only the necessary valid blocks during cleaning, discarding invalid blocks and reclaiming their space. By being selective about which blocks to copy and retain, the system minimizes unnecessary writes to flash storage, thereby extending storage lifetime while effectively reclaiming free space from invalid blocks
3Loss of energy
If log-structured file system prohibits overwriting, then redundant journaling writes are eliminated, but segment cleaning becomes necessary and complex
Solution Approach 1:
The buffer area acts as an intermediary that simplifies the cleaning process by providing a temporary holding area for valid blocks. This mediator enables a more straightforward cleaning workflow where blocks are copied to the buffer, validated, and then consolidated to new segments, reducing the complexity compared to direct in-place cleaning while maintaining the benefit of eliminating redundant journaling writes
Solution Approach 2:
The patent divides the cleaning process into distinct segments: selecting victim segments, copying valid blocks to buffer, identifying new target segments, and consolidating data. This segmentation of the cleaning process into manageable stages reduces overall complexity by making each step independent and easier to manage, while still eliminating redundant writes through the log-structured approach
Data Source
AI summary
In a computer system with a hybrid memory architecture consisting of a volatile main memory and a non-volatile main memory, there are provided a segment cleaning method for a storage file system and a memory management apparatus for implementing the same, the segment cleaning method comprising: selecting a victim segment in storage; copying valid blocks in the victim segment to the volatile main memory; and moving the copied valid blocks to the non-volatile main memory. This can effectively overcome cleaning overhead, thereby improving the I/O performance of applications and increasing the lifetime of storage.


