Hash-Based File System Directory Lookup Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional hierarchical tree structure file systems face performance inefficiencies as the number of files increases, leading to longer lookup times due to disk access dependencies.

Innovation Solution

A hash-based file system that uses computed hash values to manage file system objects, employing hash blocks, allocation blocks, link blocks, and dirent blocks to efficiently locate and manage files, reducing the need for sequential disk access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a hierarchical tree structure of directories is used to catalog files, then the file system can organize and manage files in a structured manner, but the lookup time increases as the number of files in a directory increases due to sequential disk access requirements

Engineering Contradiction:
Improvefile organizationVSAvoidlookup time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments the directory structure by creating subdirectories and introducing a hash index that divides the file namespace into multiple buckets. Instead of searching through a single large directory sequentially, the hash index directs lookups to specific subdirectories or file entries, effectively segmenting the search space and reducing lookup time as the number of files increases

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hash index as an intermediary layer between the file system and the actual file storage. This hash index computes hash values from file names and uses them to directly locate file entries or subdirectories, acting as a mediator that eliminates the need for sequential traversal through hierarchical directory structures

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If a single directory stores references to all files residing under it, then the directory structure remains simple, but the time needed to lookup a file increases as the number of files increases

Engineering Contradiction:
Improvedirectory structureVSAvoidlookup time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the single large directory into multiple subdirectories organized in a tree structure, with a hash index at each level directing lookups to relevant subdirectories. This segmentation reduces the number of file references any single directory must handle, thereby reducing lookup time while maintaining manageable directory sizes

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a hash-based dimensional layer to the traditional hierarchical directory structure. By computing hash values and using them to index into the directory tree, the system creates an additional lookup dimension that operates independently of the hierarchical depth, enabling direct access to file locations regardless of the number of files

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10235373B2Hash-based file system
Publication Date: 2019.03.19 VMWARE INC
  • US10235373B2 patent drawing
  • US10235373B2 patent drawing
  • US10235373B2 patent drawing

AI summary

System and method for executing a file system operation for a computer system utilize a computed hash value of a file system object to access a hash block of a file system directory stored in a storage system to locate a hash slot corresponding to the computed hash value. Using at least one of a hash pointer in the hash slot and an allocation block of the file system directory, a dirent slot in a dirent block of the file system directory is located to perform an operational task on the particular dirent slot to execute the file system operation.