Non-Volatile Memory Garbage Collection Plane Granularity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Flash-based SSDs face inefficiencies in garbage collection due to deferred operations, leading to increased write amplification and limited storage capacity, which negatively impacts overall storage system performance.
Innovation Solution
A computer-implemented method for performing garbage collection by inspecting pages in non-volatile memory due for garbage collection, identifying pages with valid data, and sending recirculation requests that exclude planes without valid data to a recirculation pool, thereby optimizing data relocation and reducing write amplification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If garbage collection is deferred to maximize invalidated data, then the number of valid pages to relocate is reduced, but write amplification increases due to additional write operations
Solution Approach 1:
The patent segments the garbage collection process by dividing memory into sections with multiple planes, and further divides recirculation requests into subsets based on valid data identification. This segmentation allows selective processing of only those planes containing valid data, reducing unnecessary write operations and thereby reducing write amplification while still achieving effective garbage collection.
Solution Approach 2:
The patent applies partial action by identifying and processing only the specific planes within pages that contain valid data, rather than processing entire pages or sections. This partial processing approach reduces the number of write operations needed for recirculation, thereby reducing write amplification while maintaining effective garbage collection of invalidated data.
2Quantity of substance
If garbage collection is deferred as long as possible, then storage capacity is maximized, but performance bottlenecks occur due to larger amounts of data operations
Solution Approach 1:
The patent segments recirculation requests into subsets based on identified valid data locations within pages. By processing smaller, segmented subsets rather than large bulk operations, the system maintains storage capacity utilization while avoiding performance bottlenecks associated with processing large amounts of data at once.
Solution Approach 2:
The patent processes only the necessary portions of data (specific planes containing valid data) rather than performing operations on entire pages or sections. This partial action approach allows deferred garbage collection to maintain storage capacity while preventing performance degradation from excessive data operations.
3Ease of operation
If recirculation requests include all planes in identified pages, then data relocation is simplified, but unnecessary write operations increase
Solution Approach 1:
The patent extracts and identifies only the specific planes within pages that contain valid data, separating them from planes containing invalid data. This extraction allows recirculation requests to include only the necessary planes, eliminating unnecessary write operations while maintaining ease of operation through systematic identification and processing of valid data locations.
Solution Approach 2:
The patent applies partial action by including only the specific planes that contain valid data in recirculation requests, rather than including all planes in identified pages. This partial inclusion reduces unnecessary write operations while keeping the data relocation process manageable through systematic identification of valid data locations.
Data Source
AI summary
A computer-implemented method, according to one embodiment, is for performing garbage collection. The computer-implemented method includes: causing pages in non-volatile memory that are due for garbage collection to be inspected, and causing certain ones of the pages in the non-volatile memory having valid data therein to be identified. Each of the pages of non-volatile memory includes multiple planes, and the valid data is included in one or more of the planes in the respective identified pages. Recirculation requests, that selectively exclude planes in the identified pages that do not include any of the valid data, are further sent to a recirculation pool.


