Storage Server Kernel File Access Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network-based storage systems experience performance degradation due to context switches and data copies between the user space and kernel space, leading to inefficiencies in data access and management.

Innovation Solution

Implementing a method where the kernel of a storage server determines system calls related to target files, identifies associated connections, and directs client terminals to access files through these connections, thereby eliminating unnecessary data copies and context switches by processing operations solely in the kernel space.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If network-based storage systems are used to connect more storage devices, then storage capacity and connectivity are improved, but access performance deteriorates due to context switches between user space and kernel space

Engineering Contradiction:
Improvestorage device connectivityVSAvoiddata access performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the file access processing logic from user space applications and relocates it to the kernel space. By implementing a kernel module that directly handles file access requests through system calls, the system eliminates the need for data to be copied between user space and kernel space, thereby resolving the performance degradation caused by context switches while maintaining network-based storage connectivity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a kernel module as an intermediary between the user space applications and the storage devices. This kernel module intercepts system calls related to file access, processes them directly within the kernel space, and manages the connections between client terminals and storage devices, thereby avoiding unnecessary context switches and data copies

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If data is accessed through network-based storage systems, then storage accessibility is improved, but overhead from context switches and data copies increases

Engineering Contradiction:
Improvestorage accessibilityVSAvoidprocessing overhead
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent merges the file access processing operations into a single kernel space execution environment. By combining the system call handling, connection management, and data access operations within the kernel module, the system eliminates redundant data copying between user space and kernel space, thereby reducing processing overhead and energy consumption while maintaining storage accessibility

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent establishes connection mappings between client terminals and storage devices in advance through system calls processed in the kernel space. By pre-configuring these connections and caching the necessary information in the kernel, the system avoids repeated context switches and data copies during actual data access operations, thereby reducing processing overhead

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11422698B2Method, electronic device, and computer program product for storage management
Publication Date: 2022.08.23 EMC IP HLDG CO LLC
  • US11422698B2 patent drawing
  • US11422698B2 patent drawing
  • US11422698B2 patent drawing

AI summary

Embodiments include a method, an electronic device, and a computer program product for storage management. According to one embodiment of the present disclosure, a method for storage management includes: determining at a kernel of a storage server whether a first system call related to a target file is initiated by a thread executed in the storage server, wherein the target file is a file targeted by an accessing operation executed by a client terminal with respect to a storage device; determining a first connection and a second connection that are associated with the target file if the first system call is initiated, wherein the first connection is a connection between the client terminal and the storage server, and the second connection is a connection between the storage server and the storage device; and causing the client terminal to access the target file via the first connection and the second connection.