Block Cache Between MPFS Client and Storage Array
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage systems face limitations in further accelerating input-output operations, which hinders enhanced storage system performance beyond what is achieved by multi-path file system (MPFS) techniques.
Innovation Solution
Implementing block caching functionality between MPFS clients and a storage array using a server flash cache, such as VFCache, to bypass the network file system and directly communicate with the storage array, optimizing read and write operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If block caching is implemented in the operating system kernel, then caching functionality is provided, but system complexity and performance overhead increase
Solution Approach 1:
A dedicated block cache device is introduced as an intermediary component between the MPFS client and the storage array. This separate cache device handles caching operations independently, eliminating the need to modify the operating system kernel while providing reliable block caching functionality. The cache device mediates data transfers between the client and storage array, improving performance without increasing system complexity.
2Reliability
If all data operations pass through the network file system server, then centralized control is maintained, but I/O performance decreases
Solution Approach 1:
The data path is segmented into two separate paths: a control path that routes through the MPFS server for centralized management, and a data path that allows direct communication between the MPFS client and storage array. This segmentation enables control operations to maintain centralized oversight while data operations achieve high-performance direct access, resolving the contradiction between centralized control and I/O performance.
3Productivity
If direct communication between client and storage array is implemented, then I/O performance improves, but data consistency management becomes more difficult
Solution Approach 1:
The block cache device implements feedback mechanisms to track and manage data consistency between the direct client-storage array path and the server-mediated path. When data is cached or modified, the system receives feedback about cache status and automatically manages consistency, allowing direct communication to maintain high performance while complexity is handled through automated feedback-driven consistency management.
Data Source
AI summary
A storage system comprises a storage array, a network file system configured to communicate with the storage array, a server associated with the network file system, a client configured to communicate over a first path with the network file system via the server and to communicate directly with the storage array over a second path that bypasses the network file system, and a block cache arranged in the second path between the client and the storage array. The server may comprise a multi-path file system (MPFS) server and the client may comprise an MPFS client, with the MPFS server and the MPFS client being configured to communicate using a file mapping protocol. The block cache is illustratively implemented using a VFCache or other type of server flash cache.


