Remote Storage Location Cache for Networked Storage Race Conditions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional networked storage systems experience latency in processing read requests due to the need for forwarding requests between storage nodes, which can impact performance, especially in SAN environments.
Innovation Solution
Implementing a remote storage location cache (R-SLC) and remote hash data structure (R-HAC) between partner storage nodes allows the non-LUN owning node to directly respond to read requests, reducing latency by caching storage location information and managing inode attributes, and using sequence numbers and transaction identifiers to ensure data accuracy and freshness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If read requests are forwarded between storage nodes in conventional systems, then data can be accessed, but latency increases
Solution Approach 1:
The system performs preliminary actions by creating cache entries in the R-SLC before read requests arrive. When a write operation occurs, the system proactively caches the storage location information and sends notifications to partner nodes, so that subsequent read requests can be served directly without forwarding delays
Solution Approach 2:
The R-SLC acts as an intermediary between partner nodes and storage data. Instead of directly forwarding read requests between nodes, the R-SLC intercepts and processes read requests locally using cached location information, eliminating the need for request forwarding while maintaining data access capability
2Productivity
If the non-LUN owning node directly responds to read requests using R-SLC, then latency is reduced, but race conditions may occur
Solution Approach 1:
The system implements feedback mechanisms where partner nodes send notifications to each other about write operations and cache invalidations. When a node detects a write operation, it notifies partner nodes to invalidate their cache entries, ensuring that subsequent reads return consistent data while maintaining high performance
Solution Approach 2:
The R-SLC implementation is dynamic, allowing nodes to switch between direct response mode and forwarded request mode based on cache validity. The system dynamically invalidates cache entries when write operations occur, enabling fast direct responses for valid caches while falling back to consistent forwarded requests when needed
3Speed
If cache entries are stored in R-SLC for fast access, then read performance improves, but memory resources are consumed
Solution Approach 1:
The R-SLC stores only essential cache entry information locally at each partner node, specifically the storage location metadata needed for fast read access. This localized caching of critical information enables fast reads while minimizing memory consumption compared to storing complete data copies
Data Source
AI summary
Methods and systems for a networked storage system are provided. One method includes: generating, by a first node, a dummy entry in a storage location cache of the first node, the dummy entry associated with a read request received by the first node for data stored using a logical object owned by a second node; receiving, by the first node, an invalidation request to invalidate any storage location entry associated with the data, the invalidation request sent in response to the second node receiving a write request to modify the data; invalidating, by the first node, the dummy entry; receiving, by the first node, a response to the read request from the second node with the requested data; and replacing, by the first node, the dummy entry with a storage location entry and invalidating the storage location entry based on the invalidated dummy entry.


