SSD Memory Block Recycling via Invalid Page Counting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Solid State Drives (SSDs) experience delays and system overload due to inefficient garbage collection processes, which are triggered only when a threshold number of free memory blocks is reached, leading to delayed writing operations and impacted user experience.
Innovation Solution
A method for memory management in SSDs that identifies and recycles memory blocks with the highest number of invalid pages, iteratively ensuring that the total valid pages in the selected set can be accommodated within available free pages, thereby optimizing garbage collection and reducing CPU cycles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If garbage collection is initiated only when threshold free memory blocks are reached, then system resources are conserved, but write operations are delayed and user experience deteriorates
Solution Approach 1:
The patent performs preliminary actions by proactively identifying and preparing memory blocks for garbage collection before the threshold is reached. The system pre-identifies candidate memory blocks and prepares free memory blocks in advance, so that when garbage collection needs to be executed, the work can proceed immediately without delaying write operations.
Solution Approach 2:
The patent segments the memory management process into distinct phases: identification phase (finding candidate memory blocks with invalid pages), preparation phase (identifying free memory blocks), and execution phase (actual garbage collection). This segmentation allows the system to perform lightweight preliminary work that doesn't consume significant CPU resources while ensuring readiness for efficient garbage collection execution.
2Quantity of substance
If frequent garbage collection is initiated, then free memory space is maintained, but system becomes overloaded and CPU cycles are excessively consumed
Solution Approach 1:
The patent implements feedback mechanisms by continuously monitoring the number of free memory blocks and the state of candidate memory blocks. The system adjusts its garbage collection strategy based on this feedback - only initiating collection when appropriate conditions are met, avoiding both excessive collection and insufficient collection, thus maintaining optimal system throughput while preserving memory space.
Solution Approach 2:
The patent changes the parameter selection criteria for garbage collection from the conventional lowest valid pages to highest invalid pages. This parameter change allows the system to identify memory blocks that need cleaning more efficiently, reducing the number of blocks requiring collection and thereby maintaining free memory space without overloading the system.
3Device complexity
If conventional garbage collection selects memory block with lowest valid pages, then processing is simple, but efficiency is reduced and more CPU cycles are consumed
Solution Approach 1:
The patent inverts the conventional selection criterion by choosing memory blocks with the highest number of invalid pages instead of the lowest number of valid pages. This inversion simplifies the selection logic while improving efficiency - blocks with most invalid pages are the prime candidates for collection, reducing the amount of work needed compared to selecting blocks with few valid pages.
Solution Approach 2:
The patent replaces the mechanical counting approach (counting valid pages) with a more efficient approach (counting invalid pages). This substitution changes the fundamental measurement metric, making the garbage collection process more efficient by focusing on what needs to be removed rather than what needs to be preserved.
Data Source
AI summary
Methods and corresponding systems for managing memory of a storage drive are provided. The method includes determining a number of invalid pages in each memory block of a plurality of memory blocks in the storage drive. Thereafter, the method includes identifying a set of target memory blocks within the plurality of memory blocks. The set of target memory blocks is identified by determining a target memory block comprising the highest number of invalid pages amongst the plurality of memory blocks. The step of determining is iterated to determine further target memory blocks while the total number of valid pages in the set of target memory blocks is less than or equal to the total number of free pages in one of at least one free memory block and a garbage collection memory block in the storage drive. The method further includes recycling the set of target memory blocks.


