Storage Controller Reference Count Leak Detection and Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvereference count accuracyVSAvoidstorage capacity release efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvedetection of orphaned blocksVSAvoidscan execution time
Core Design Contradiction:
ReliabilityVSLoss of 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.

Inventive Principle:
Principle #19Periodic action

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10852974B2Storage system with detection and correction of reference count based leaks in physical capacity
Publication Date: 2020.12.01 EMC IP HLDG CO LLC
  • US10852974B2 patent drawing
  • US10852974B2 patent drawing
  • US10852974B2 patent drawing

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.