Shared Back-End Metadata Pages for Variable-Sized Storage Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems face inefficiencies in managing variable-sized metadata across back-end device disk allocation units, leading to wasted space and increased memory access operations due to the inability to equally share metadata pages among allocation units.
Innovation Solution
Implementing a method where back-end metadata memory pages are equally shared among sets of allocation units, allowing direct addressing using a back-end device ID, allocation unit ID, and entry number, and calculating page and entry offsets to efficiently determine memory addresses, thereby minimizing wasted space and memory access operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If metadata pages are dedicated to individual allocation units, then direct addressing is enabled, but wasted space increases due to variable-sized metadata requirements
Solution Approach 1:
The patent merges metadata from multiple allocation units into shared metadata pages. Instead of dedicating separate metadata pages to each allocation unit, the system combines metadata entries from multiple allocation units into common shared pages, enabling space efficiency while maintaining direct addressing through carefully designed offset calculations.
Solution Approach 2:
The patent makes metadata pages universal by enabling them to serve multiple allocation units simultaneously. Each metadata page can contain entries from different allocation units, allowing the same storage resource to fulfill multiple functions and reduce overall metadata storage requirements while preserving direct access capabilities.
2Loss of substance
If metadata pages are shared among allocation units, then storage efficiency improves, but direct addressing capability is lost
Solution Approach 1:
The patent segments metadata pages into distinct regions or zones, each dedicated to specific allocation units. Within shared metadata pages, entries are organized in segments that can be independently addressed, allowing the system to maintain direct addressing capability while utilizing shared page structures for improved storage efficiency.
Solution Approach 2:
The patent introduces an additional dimension to the addressing scheme by implementing a two-level addressing structure: first identifying the shared metadata page, then identifying the specific entry within that page using calculated offsets. This dimensional approach enables direct addressing in shared metadata structures without requiring dedicated pages for each allocation unit.
3Ease of manufacture
If fixed-size metadata entries are used, then storage allocation is simplified, but flexibility in handling variable data sizes is reduced
Solution Approach 1:
The patent implements dynamic metadata entry structures that can adapt their size based on the actual data requirements. Metadata entries are not fixed in size but can expand or contract according to the variable data compressibility of the associated allocation units, providing both allocation simplicity and adaptability to varying data characteristics.
Data Source
AI summary
A storage system includes storage resources, front-end devices, and back-end devices that are subdivided into allocation units. Each front-end device has a plurality of tracks, which map to entries in the allocation units. Front-end metadata is used to specify, for a respective track, a respective back-end device, an allocation unit within the respective back-end device, and an entry within the respective allocation unit where the data for the respective track is stored. Back-end metadata is used to specify, for a respective back-end entry, a respective location in the storage resources of the storage system where the data for the respective track is stored and a size of the data on the storage resources. The back-end metadata is organized using shared back-end metadata memory pages, in which each page of metadata is equally shared between two or more of the allocation units.


