Hash-Based Directory Storage Indexing for Space and Time Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face inefficiencies in managing and optimizing the storage of millions of directory entries, leading to suboptimal use of storage space and increased processing time due to the rapid growth of index blocks.
Innovation Solution
The implementation of a hash-based directory management system that allocates and reuses storage blocks efficiently, generating multiple hash values for new directory entries and dynamically allocating or reusing third-level storage blocks when second-level blocks reach a threshold, allowing for effective searching and storage of directory entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional directory management systems store millions of directory entries using conventional indexing methods, then the system can maintain basic directory functionality, but the number of index blocks grows rapidly exceeding the number of name blocks, leading to suboptimal storage space usage and increased processing time
Solution Approach 1:
The patent segments the directory entry storage into multiple hierarchical levels (first-level storage blocks, second-level storage blocks, and third-level storage blocks). Each level stores a portion of the directory entries or references to them, distributing the storage burden across multiple organized segments rather than using a single flat structure. This segmentation prevents the rapid growth of index blocks by organizing entries in a tree-like hierarchy where each level manages a subset of the total entries.
Solution Approach 2:
The patent transitions from a conventional single-dimensional or two-dimensional indexing structure to a multi-dimensional hierarchical storage structure. By introducing multiple levels of storage blocks (first-level, second-level, third-level), the system adds dimensional layers to the organization of directory entries. This multi-dimensional approach allows efficient navigation and reduces the number of index blocks needed compared to traditional flat or single-level hierarchical structures.
2Adaptability or versatility
If the storage system allocates new third level storage blocks whenever second level storage blocks reach threshold levels, then the system can accommodate growing directory entries, but it increases device complexity and reduces storage efficiency due to potential fragmentation
Solution Approach 1:
The patent implements a mechanism where third-level storage blocks that have reached their capacity thresholds are identified and recovered for reuse. Instead of continuously allocating new third-level blocks whenever thresholds are reached, the system recycles existing blocks by transferring their contents to newly allocated blocks and then reusing the original blocks. This discarding and recovering approach reduces the total number of active storage blocks needed, simplifies management, and prevents fragmentation while maintaining adaptability to growing directory entry requirements.
Data Source
AI summary
Techniques for adding a directory entry to an existing directory data structure maintained by a storage system for storing a plurality of directory entries are provided. A first storage index block is used for storing a pointer to a first hash value from among a plurality of hash values. A second storage index block is allocated when the first storage index block has reached a threshold level for storing pointers to hash values for the plurality of directory entries. A group of pointers including a pointer to a second hash value from among the plurality of hash values is selected. The group of pointers is stored in the second storage index block with a pointer to a third hash value from among the plurality of hash values such that the directory entry can be searched using the plurality of hash values.


