Hybrid Storage Cache Decoupling SSD Read Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata access performanceVSAvoidinode dirtying and consistency point pressure
Core Design Contradiction:
SpeedVSObject-generated harmful factors

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecaching capabilityVSAvoidOS protocol dependency for inode dirtying
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If SSDs are used for caching without inode context, then SSD utilization is improved, but traditional caching mechanisms become insufficient

Engineering Contradiction:
ImproveSSD utilization for cachingVSAvoidcaching mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10620844B2System and method to read cache data on hybrid aggregates based on physical context of the data
Publication Date: 2020.04.14 NETAPP INC
  • US10620844B2 patent drawing
  • US10620844B2 patent drawing
  • US10620844B2 patent drawing

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.