Storage Controller Reference Count Decoupling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content addressable storage systems face inefficiencies in managing reference count updates, particularly during copy operations, which lead to metadata bursts and increased resource usage, impacting performance and throughput.
Innovation Solution
The implementation of a decoupling mechanism using pending increment and decrement data structures, where content-based signatures are managed asynchronously, allowing reference count updates to be spread out and executed at optimal times, reducing the immediate resource load and avoiding unnecessary operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If reference count updates are performed synchronously during copy operations, then data consistency is maintained, but system performance and throughput deteriorate due to metadata bursts and increased resource usage
Solution Approach 1:
The patent applies preliminary action by adding content-based signatures to pending increment data structures during copy operations before actually executing the reference count updates. This allows the copy operation to complete and map logical addresses without waiting for the metadata updates, improving throughput while maintaining consistency through subsequent execution of the pending updates.
Solution Approach 2:
The patent introduces pending increment data structures as an intermediary mechanism between copy operations and reference count updates. These data structures temporarily hold content-based signatures that need reference count increments, decoupling the copy operation from the metadata update and allowing them to proceed independently, thus resolving the contradiction between consistency and throughput.
2Measurement precision
If reference count updates are performed immediately during copy operations, then metadata accuracy is maintained, but resource usage increases due to metadata bursts
Solution Approach 1:
The system performs preliminary action by collecting content-based signatures in pending increment data structures during copy operations without immediately updating reference counts. This spreads out the metadata update workload over time rather than creating bursts, reducing peak resource usage while maintaining metadata accuracy through subsequent execution of the accumulated updates.
Solution Approach 2:
The patent implements periodic action by executing pending reference count updates at intervals rather than continuously during copy operations. The storage controller processes pending increment data structures periodically, which smooths out resource usage patterns and eliminates metadata bursts while maintaining accurate reference counts through regular update execution.
3Reliability
If synchronous reference count updates are executed during copy operations, then data integrity is ensured, but IO processing efficiency deteriorates
Solution Approach 1:
The patent applies preliminary action by adding content-based signatures to pending increment data structures during the copy operation itself, without waiting for reference count updates to complete. This allows the IO operation to proceed efficiently while data integrity is maintained through subsequent execution of the pending updates, which ensure reference counts are eventually updated correctly.
Solution Approach 2:
The pending increment data structures serve as an intermediary that decouples the IO copy operation from the reference count update operation. This intermediary mechanism allows IO processing to continue without being blocked by metadata updates, improving efficiency while maintaining data integrity through the eventual execution of pending updates that ensure correct reference counting.
Data Source
AI summary
A storage system comprises a plurality of storage devices and an associated storage controller. The storage controller is configured to receive a request to copy a first range of logical addresses to a second range of logical addresses, determine at least one physical block of the storage devices to which the first range of logical addresses is mapped, map the second range of logical addresses to the determined at least one physical block, and add at least one content-based signature associated with the determined at least one physical block to a pending increment data structure that includes content-based signatures corresponding to physical blocks for which an increment of an associated reference count is pending. The storage controller is further configured to execute a pending increment of a reference count associated with a given physical block corresponding to at least one of the content-based signatures in the pending increment data structure.


