Sub-virtual block garbage collection for storage defragmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Garbage collection in storage systems typically operates at a coarse granularity, leading to inefficiencies such as wasted space and limitations in defragmentation, as it often requires relocating entire physical blocks and updating virtual blocks, which can result in increased overhead and reduced system performance.
Innovation Solution
Implementing garbage collection at a sub-virtual block granularity level by selecting a virtual block corresponding to a physical block, identifying a target physical block, moving data portions, and redirecting virtual block pages to the target physical block, allowing for finer control over data relocation and defragmentation without requiring complete physical block transfers or updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If garbage collection operates at a coarse granularity level (entire physical blocks), then the system structure remains simple, but defragmentation efficiency is reduced and wasted space increases
Solution Approach 1:
The patent segments the physical block into smaller units called data portions, and segments the virtual block into multiple pages. This segmentation allows garbage collection to operate at a finer granularity (data portion level) rather than moving entire physical blocks, thereby improving defragmentation efficiency while maintaining manageable system complexity through organized page-level tracking
Solution Approach 2:
The patent introduces a new dimension of control by implementing page-level mapping between virtual blocks and physical blocks. Instead of treating storage as a single-dimensional block structure, the system adds a page-level indirection layer that enables selective relocation of data portions without moving entire blocks, resolving the contradiction between efficiency and complexity
2Productivity
If garbage collection relocates entire physical blocks, then data relocation is straightforward, but overhead increases and system performance decreases
Solution Approach 1:
The patent segments physical blocks into smaller data portions that can be relocated independently. This allows the system to move only the necessary data portions rather than entire physical blocks, reducing data relocation overhead and improving system performance during garbage collection operations
Solution Approach 2:
The patent implements partial action by relocating only the specific data portions that need to be consolidated, rather than moving entire physical blocks. This partial relocation approach reduces the amount of data movement required, decreasing overhead and improving performance while still achieving effective defragmentation
3Productivity
If garbage collection uses fine granularity (page level), then storage efficiency improves, but write amplification and data structure complexity increase
Solution Approach 1:
The patent uses copying rather than moving data portions. When relocating data portions during garbage collection, the system copies the data to new locations and updates the page mappings, rather than physically moving data in place. This copying approach enables fine-grained control and storage efficiency while avoiding the complications of in-place modification and reducing write amplification
Data Source
AI summary
At least one processing device is configured to select a virtual block corresponding to a physical block in a storage system, wherein the virtual block comprises a plurality of pages with one or more pages of the virtual block respectively pointing to one or more data portions in the physical block. The at least one processing device is also configured to identify a target physical block and one or more virtual blocks corresponding to the target physical block. The at least one processing device is further configured to move at least one data portion from the physical block to the target physical block. Still further, the at least one processing device is configured to redirect the at least one page of the virtual block corresponding to the at least one moved data portion to one of the one or more virtual blocks corresponding to the target physical block.


