Hybrid Storage Cache Decoupling SSD Read Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional caching regimes in hybrid storage aggregates are tied to inode context, leading to unnecessary dirtying of inodes, pressure on consistency points, and limitations in caching read-only data, especially in scenarios where the operating system's protocol is not configured to dirty inodes, restricting the use of SSDs for caching.
Innovation Solution
A method that writes, allocates, and caches HDD block contents on a SSD cache without requiring an inode context, by locking page buffers in a multiprocessor-safe fashion, queuing them for batch allocation of physical block numbers, and utilizing non-volatile log space efficiently, thus decoupling caching from logical context and enabling read caching without inode dependencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If conventional inode-based caching regime is used, then data access performance is improved through caching, but inode dirtying increases and consistency points are pressured
Solution Approach 1:
The patent extracts the caching function from the inode-based logical context and implements it at the physical block level. By creating a mapping structure that directly maps physical block numbers to cache locations, the system separates caching operations from inode operations, eliminating the harmful side effect of inode dirtying while preserving the performance benefit of caching.
Solution Approach 2:
The patent introduces a physical block number mapping structure as an intermediary between the file system and the cache. This mapping structure acts as a mediator that translates file system requests into cache operations without requiring inode dirtying, thus resolving the contradiction between caching performance and inode integrity.
2Adaptability or versatility
If inode context is required for caching, then caching can be implemented, but read-only data caching is restricted when OS protocol is not configured to dirty inodes
Solution Approach 1:
The patent removes the dependency on inode context and OS protocol for caching by implementing a pure physical block number-based caching mechanism. The mapping structure stores physical block numbers directly, enabling caching of any data including read-only data without requiring the OS to configure inode dirtying protocols.
Solution Approach 2:
The physical block number mapping structure serves multiple functions: it enables caching of any data type (read-only, read-write, snapshot), works with any OS configuration, and provides a unified caching mechanism that doesn't require different protocols for different data types or configurations.
3Productivity
If SSDs are used for caching without inode context, then SSD utilization is improved, but traditional caching mechanisms become insufficient
Solution Approach 1:
The patent segments the caching mechanism into distinct components: the physical block number mapping structure, the cache allocation logic, and the cache replacement policies. This segmentation allows each component to be optimized independently and makes the overall system more manageable despite the increased complexity of SSD-based caching without inode context.
Data Source
AI summary
Presented herein are methods, non-transitory computer readable media, and devices for writing, allocating, and caching contents of a hard disk drive block on a solid state drive cache in a memory system, without requiring an inode context. The method includes: identifying one or more HDD blocks for caching by a storage server; assigning a physical block number to each identified HDD block; linking the identified HDD blocks to one another; allocating an SSD physical block number for each linked HDD block; and storing the physical block number for each identified HDD block and the physical block number for each corresponding SSD block within a cache map.


