Lightweight Kernel Driver for Virtual Storage Routing Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies due to complex routing strategies that impact performance and require frequent kernel updates, especially in container environments, leading to increased communication overhead and administrative complications.

Innovation Solution

A lightweight kernel driver is implemented to manage storage routing using a reduced set of code instructions, maintaining a routing table that is updated from the storage devices, thereby reducing the need for kernel updates and optimizing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex routing strategies are implemented in the kernel to manage storage requests, then storage system functionality and adaptability are improved, but kernel complexity increases and frequent updates are required

Engineering Contradiction:
Improvestorage routing adaptabilityVSAvoidkernel complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the complex routing logic from the kernel space and places it in user space as a library. The kernel driver becomes lightweight, only handling basic I/O operations, while the complex routing algorithms reside in separately compilable user-space code that can be updated without kernel modifications.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a user-space library as an intermediary between the kernel driver and the storage routing logic. This library acts as a mediator that handles complex routing decisions, allowing the kernel to remain simple while still achieving sophisticated storage management through the intermediary layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If complex routing algorithms are implemented in the kernel, then storage request routing capability is improved, but transmission overhead increases

Engineering Contradiction:
Improvestorage request routing capabilityVSAvoidtransmission overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the storage system into distinct layers: a lightweight kernel driver for basic I/O handling and a user-space library for complex routing logic. This segmentation allows each component to be optimized independently, reducing overall transmission overhead while maintaining routing capability.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If frequent kernel updates are performed to adapt to storage algorithm changes, then storage system adaptability is improved, but system stability and administrative complexity worsen

Engineering Contradiction:
Improvestorage algorithm adaptabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent extracts routing algorithms from the kernel to user space, where they can be updated as separate libraries without requiring kernel updates. This extraction maintains adaptability while preserving kernel stability and reducing administrative overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The user-space library serves as a universal interface that can accommodate multiple routing algorithms and storage strategies without modifying the kernel. This multi-functionality in user space provides adaptability while keeping the kernel simple and stable.

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

Data Source

PatentUS12579065B2Lightweight kernel driver for virtualized storage
Publication Date: 2026.03.17 RED HAT INC
  • US12579065B2 patent drawing
  • US12579065B2 patent drawing
  • US12579065B2 patent drawing

AI summary

A routing table is requested from a storage device operatively coupled to the computing device, the routing table comprising a routing table entry mapping a virtual storage address to a destination storage address of the storage device. An input/output (I/O) request is received from an application executing on the computing device, the I/O request comprising the virtual storage address. A modified I/O request is transmitted to the storage device based on the mapping of the routing table entry.