Striped Directory Filename Caching for Storage Node Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network storage systems face performance degradation due to overburdened storage server nodes when handling directory access requests, particularly with Common Internet File System (CIFS) traffic that repeatedly resolves directories close to the root, leading to increased inter-node communication and workload.

Innovation Solution

Caching filenames across multiple volumes in a striped volume set, where each volume stores a copy of the filename mapping at the same location relative to a directory structure, reducing the need for repeated directory resolution and improving cache performance by localizing access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If directories are stored on a small number of volumes serviced by a particular storage server node, then directory access requests can be handled by a single node, but the storage server node becomes overburdened and system performance degrades

Engineering Contradiction:
Improvedirectory access handlingVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the directory storage across multiple storage server nodes in a clustered environment. Instead of concentrating all directory data on a single node, the directory information is distributed across multiple nodes, allowing directory access requests to be handled by different nodes based on the specific directory being accessed. This segmentation prevents any single node from becoming overburdened while maintaining efficient directory access performance.

Inventive Principle:
Principle #1Segmentation

2Reliability

If CIFS requests repeatedly resolve directories close to the root in the hierarchy, then full path resolution can be performed, but the same directories are accessed repeatedly increasing workload and inter-node communication

Engineering Contradiction:
Improvepath resolution accuracyVSAvoiddirectory resolution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by caching directory information that has been previously resolved in the CIFS request processing. When a directory is resolved during path resolution, the resulting information is cached and stored for future use. Subsequent CIFS requests that need to resolve the same directories can retrieve the information from the cache rather than performing repeated resolution operations, significantly reducing the time loss from repeated directory resolutions while maintaining accurate path resolution.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If directory contents are distributed across multiple volumes, then storage capacity and performance are improved, but cache updates and coherence become more complex

Engineering Contradiction:
Improvestorage performanceVSAvoidcache coherence management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism for cache coherence management across the distributed volume environment. When directory information is updated on one volume, the system provides feedback to other volumes in the distributed set, notifying them of the update. This allows cache information to be synchronized across multiple volumes without requiring complex manual coordination, maintaining cache coherence while enabling the performance benefits of distributed storage.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8180983B1Caching filenames of a striped directory in predictable locations within a volume locally accessible to a storage server node
Publication Date: 2012.05.15 NETAPP INC
  • US8180983B1 patent drawing
  • US8180983B1 patent drawing
  • US8180983B1 patent drawing

AI summary

A method and system for caching filenames of a directory that is striped across the volumes serviced by a plurality of storage server nodes. The method comprises storing a filename in a first volume and a second volume of the striped volume set in the same locations within the respective volumes. The same locations within the respective volumes refer to the same locations with respect to a reference point of a directory structure in the respective volumes.