Computational Storage Tunnel for IO Classification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In disaggregated storage environments, the lack of observability and context on the target side hinders efficient IO classification, making it impossible for storage services to classify user data effectively, as the filesystem and application context are invisible and inaccessible.

Innovation Solution

A computational storage tunnel is used to notify the initiator of an IO classifier program, which is downloaded and executed on the compute side, taking into account IO context, application context, and filesystem context to classify IO and direct it to the appropriate storage tier.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If storage resources are abstracted as storage volumes in disaggregated storage environments, then storage management flexibility and resource sharing are improved, but IO context observability and classification capability are lost

Engineering Contradiction:
Improvestorage management flexibilityVSAvoidIO context observability
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent introduces an IO classification program as an intermediary component that bridges the abstraction layer and physical storage devices. This program captures IO context information (application context, filesystem context, IO patterns) that would otherwise be lost due to volume abstraction, enabling the storage service to classify and route IO requests appropriately while maintaining the benefits of disaggregated storage architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If IO classification is performed on the target side in disaggregated storage, then storage tiering efficiency is improved, but context accessibility is worsened due to invisible filesystem and application context

Engineering Contradiction:
Improvestorage tiering efficiencyVSAvoidcontext accessibility
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

Instead of attempting to bring target-side context information to the storage service (which is blocked by abstraction), the patent inverts the approach by deploying an IO classification program that runs on the initiator side where context is visible. This program pre-classifies IO requests before they reach the storage target, enabling efficient tiering without requiring direct context accessibility at the target

Inventive Principle:
Principle #13The other way round (Inversion)

3Quantity of substance

If all IO requests are directed to capacity tier for cost efficiency, then storage cost is reduced, but performance and endurance are worsened due to lack of hot data caching

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidperformance and endurance
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies local quality by classifying different IO requests based on their characteristics and directing them to appropriate storage tiers with matching properties. Hot IO requests (frequent access, performance-critical) are directed to hot tier storage (SSD/memory) for high performance and endurance, while cold IO requests (infrequent access, capacity-critical) are directed to capacity tier storage (HDD/QLC) for cost efficiency. This selective routing optimizes both performance and cost

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20230114771A1Target triggered IO classification using computational storage tunnel
Publication Date: 2023.04.13 INTEL CORP
  • US20230114771A1 patent drawing
  • US20230114771A1 patent drawing
  • US20230114771A1 patent drawing

AI summary

Methods and apparatus for target triggered IO classification using a computational storage tunnel. A multi-tier memory and storage scheme employing multiple tiers of memory and storage supporting different Input-Output (IO) classes is implemented in an environment including a compute platform. For an IO storage request originating from an application running on the compute platform, an IO class to be used for the request is determined. The IO storage request is then forwarded to a device implementing a memory or storage tier supporting the IO class or via which a device implementing a memory or storage tier supporting the IO class can be accessed. The storage tiers may include local storage in the platform and/or storage accessed via a fabric or network. The storage tiers may implement different types of memory supporting non-volatile storage, with different performance, capacity, and/or endurance, such as a hot and cold tier.