Unified Storage Cache Segmentation for File and Block Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In unified storage systems, the coexistence of file I/O and block I/O interfaces leads to overlapping caching, resulting in inefficient cache utilization and increased processor load due to duplicate cache management, which deteriorates performance and increases memory bandwidth usage.
Innovation Solution
Implementing a storage system with separate cache memories for file and block access, where data read via the file I/O interface is stored only in the file cache memory and not in the block cache memory, thereby avoiding overlapping caching and optimizing cache usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data accessed via file I/O interface is stored in both file cache memory and block cache memory, then data redundancy is achieved, but cache memory capacity utilization decreases and cache hit rate lowers
Solution Approach 1:
The patent divides the unified storage system into separate file storage and block storage components, each with dedicated cache memory. File cache memory is assigned exclusively for file I/O operations while block cache memory is assigned for block I/O operations, eliminating overlapping caching and improving cache hit rates.
Solution Approach 2:
The patent extracts the file storage function and block storage function into separate virtual machines, with each VM managing its own cache memory independently. This separation prevents the harmful effect of duplicate cache management while preserving data redundancy through the virtualization architecture.
2Productivity
If separate cache memories are provided for file storage and block storage, then cache capacity is effectively utilized, but device complexity increases
Solution Approach 1:
The patent implements a unified storage system that provides both file storage and block storage functions through a single physical device. The storage controller manages multiple cache memories and handles both file I/O and block I/O operations, achieving multi-functionality without proportionally increasing device complexity.
Solution Approach 2:
The patent introduces virtual machines as intermediaries between the host computer and the physical storage device. Each VM manages specific cache memory and handles specific I/O types, simplifying the overall system architecture by adding an abstraction layer that organizes the complexity.
3Adaptability or versatility
If duplicate cache management is implemented, then both file storage and block storage functions are supported, but processor load increases
Solution Approach 1:
The patent segments the cache management responsibility by assigning file cache management to the file storage virtual machine and block cache management to the block storage virtual machine. This segmentation eliminates duplicate management overhead and reduces processor load while maintaining support for both I/O interfaces.
4Speed
If data is cached in overlapping manner in two cache memories, then data accessibility is improved, but memory bandwidth consumption increases
Solution Approach 1:
The patent segments the caching function by creating dedicated file cache memory and block cache memory with distinct responsibilities. File cache memory caches data for file I/O operations while block cache memory caches data for block I/O operations, eliminating overlapping caching and reducing memory bandwidth consumption while maintaining fast data accessibility.
Data Source
AI summary
It is provided a storage system, comprising a storage device for storing data and at least one controller for controlling reading/writing of the data from/to the storage device. The at least one controller each includes a first cache memory for temporarily storing the data read from the storage device by file access, and a second cache memory for temporarily storing the data to be read/written from/to the storage device by block access. The processor reads the requested data from the storage device in the case where data requested by a file read request received from a host computer is not stored in the first cache memory, stores the data read from the storage device in the first cache memory without storing the data in the second cache memory, and transfers the data stored in the first cache memory to the host computer that has issued the file read request.


