Storage Controller Reference Count Leak Detection and Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage systems face inefficiencies due to reference count leaks in physical capacity, where orphaned blocks with non-zero reference counts are not utilized, leading to performance issues and resource wastage.
Innovation Solution
A content addressable storage system with a distributed storage controller that detects and corrects reference count discrepancies by grouping content-based signatures into subsets, scanning logical blocks, and updating reference counts to identify and eliminate orphaned physical blocks, thereby releasing unused capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If reference counts are maintained for physical blocks in conventional storage systems, then storage capacity can be tracked and released, but reference count errors cause leaks where orphaned blocks with non-zero reference counts are not released
Solution Approach 1:
The patent implements a feedback mechanism where the storage controller periodically scans logical blocks to verify reference counts against actual usage. When discrepancies are detected (orphaned blocks with non-zero reference counts), the system corrects these errors by updating reference counts to match actual logical block mappings, ensuring reliable capacity tracking while maintaining productivity.
Solution Approach 2:
The system performs preliminary scanning and verification of reference counts before capacity release operations. By proactively identifying and correcting reference count errors through periodic scans of logical blocks, the system prevents leaks before they impact storage capacity availability, rather than reacting after capacity is lost.
2Reliability
If the storage controller scans all logical blocks to detect reference count discrepancies, then orphaned blocks can be identified, but the scanning process consumes system resources and time
Solution Approach 1:
Instead of continuous scanning, the patent implements periodic scanning of logical blocks at scheduled intervals or triggered by specific events (e.g., capacity threshold, deletion operations). This periodic action maintains reliable detection of orphaned blocks while minimizing the time resources consumed, as the system operates normally between scan cycles.
Solution Approach 2:
The system performs partial scanning by focusing on subsets of logical blocks or using sampling techniques rather than exhaustive scanning of all blocks. This approach achieves sufficient detection reliability for orphaned blocks while reducing scan execution time and resource consumption compared to complete system-wide scans.
Data Source
AI summary
A storage system in one embodiment comprises a plurality of storage devices and an associated storage controller. The storage controller implements a logical storage layer in which logical blocks are associated with respective content-based signatures and a physical storage layer in which the content-based signatures are associated with respective physical blocks in the storage devices. The storage controller maintains reference counts for respective ones of the physical blocks, with a given such reference count indicating a number of the logical blocks that map via their respective content-based signatures to the same physical block, groups the content-based signatures into one or more subsets, and for a given one of the subsets, executes a scan of the logical blocks to detect any discrepancies in the maintained reference counts for the given subset, and corrects detected discrepancies by updating the reference counts for the given subset based at least in part on results of the scan.


