User-Space Data Swapping for Application-Specific Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The memory swapping mechanism of an operating system's kernel fails to meet the diversified requirements of different applications, as it typically uses a universal fixed storage device.

Innovation Solution

Implementing a data swapping method where user interfaces for different applications are disposed in user space, allowing these interfaces to correspond to different storage devices, enabling customized user-mode memory swapping.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a universal fixed storage device is used for memory swapping in the kernel, then the memory swapping mechanism is simple and stable, but it cannot meet the diversified requirements of different applications

Engineering Contradiction:
Improveadaptability to diversified application requirementsVSAvoidcomplexity of memory swapping mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the memory swapping mechanism into two parts: kernel space for basic functionality and user space for application-specific customization. By creating a user space interface that applications can access, each application can have its own swapping configuration while the kernel provides the foundational swapping infrastructure. This segmentation allows diversified requirements to be met without complicating the core kernel mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a user space interface as an intermediary layer between applications and the kernel's memory swapping mechanism. This intermediary allows applications to specify their own storage devices and swapping parameters without directly modifying the kernel code. The user space interface translates application-specific swapping requests into kernel-compatible operations, enabling customization while maintaining kernel stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If different storage devices are allocated for different applications, then diversified application requirements are met, but the system complexity increases

Engineering Contradiction:
Improvecustomized storage device allocationVSAvoidcomplexity of storage device management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal user space interface that can handle multiple application-specific swapping requirements through a single unified mechanism. This interface serves multiple functions: it manages different storage devices, handles various swapping configurations, and coordinates with the kernel's swapping system. By making the user space interface multi-functional, the system can support diversified application needs without proportionally increasing complexity.

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

Data Source

PatentUS12498878B2Data swapping method and apparatus
Publication Date: 2025.12.16 HUAWEI TECH CO LTD
  • US12498878B2 patent drawing
  • US12498878B2 patent drawing
  • US12498878B2 patent drawing

AI summary

A data swapping method is disclosed. The data swapping method is applied to a host. An operating system and a target application are installed on the host. The operating system includes user space. A user interface of the target application is disposed in the user space. The user interface corresponds to one storage device. In an example embodiment, the host obtains a swap request of the target application, and calls, based on the swap request, the user interface to perform an operation on the storage device. The swap request is a swap-in request or a swap-out request. The swap-out request is used to request to write data of the target application from a memory of the host to the storage device. The swap-in request is used to request to write data in the storage device to the memory.