Kernel Driver Performance Data Management via Persistence Manager

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Kernel drivers in data storage systems are burdened when clients frequently access them for performance data, leading to impaired efficiency and throughput, as the driver freezes and unfreezes I/O activity, affecting the host computer's performance.

Innovation Solution

The kernel driver acquires performance data over identified intervals and transfers it to a persistence manager outside the kernel, allowing client applications to access consistent, post-processed data without disturbing the kernel driver's primary functions, reducing burdensome interruptions and communications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If clients frequently access the kernel driver to obtain performance data, then clients can access performance information, but the kernel driver's efficiency and throughput are impaired due to repeated freezing and unfreezing of I/O activity

Engineering Contradiction:
Improveperformance data accessVSAvoidkernel driver throughput
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system is segmented into two distinct components: a kernel-mode driver that collects performance data and a user-mode persistence manager that stores and serves the data to clients. This segmentation allows the driver to collect data without being interrupted by client access requests, as clients interact only with the user-mode manager. The performance data collection function is separated from the data serving function, eliminating the conflict between data access and I/O processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The user-mode persistence manager acts as an intermediary between clients and the kernel driver. Clients request performance data from the persistence manager, which retrieves it from the driver only when necessary (at interval boundaries). This intermediary layer buffers client access requests, preventing them from directly interrupting the driver's I/O processing. The persistence manager translates frequent client access patterns into minimal, non-disruptive data collection operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the kernel driver services performance data requests by freezing I/O activity, then performance data can be accessed, but I/O processing efficiency is reduced due to repeated freezing and unfreezing

Engineering Contradiction:
Improveperformance data retrievalVSAvoidI/O processing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The kernel driver performs preliminary action by collecting performance data continuously in the background during normal I/O processing, accumulating it in memory structures. At predetermined intervals, the driver snapshots this accumulated data and transfers it to the persistence manager. This preliminary collection approach ensures that when clients request data, it is already prepared and can be served without freezing I/O activity, as the data is retrieved from the user-mode manager rather than collected in real-time during client access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic action by establishing fixed time intervals for data collection and transfer. The kernel driver collects performance data continuously but transfers snapshots to the persistence manager only at predetermined intervals. This periodic transfer mechanism decouples the frequency of client access requests from the frequency of data collection operations, allowing clients to access data frequently while the driver performs minimal, non-disruptive transfers at interval boundaries, thus avoiding repeated freezing of I/O activity.

Inventive Principle:
Principle #19Periodic action

3Adaptability or versatility

If multiple clients access the kernel driver simultaneously for performance data, then multiple clients can obtain information, but the negative impact on kernel driver performance is multiplied

Engineering Contradiction:
Improvemulti-client supportVSAvoidkernel driver efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system creates a copy of the performance data in the user-mode persistence manager. Instead of having multiple clients access the kernel driver directly, all clients access the copied data stored in the persistence manager. The kernel driver collects data once and transfers it to the manager, which then serves all clients from this copy. This copying approach allows unlimited client access without multiplying the impact on the driver, as the driver's data collection operation remains a single, non-repeated event per interval regardless of the number of clients.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9003432B1Efficient management of kernel driver performance data
Publication Date: 2015.04.07 EMC IP HLDG CO LLC
  • US9003432B1 patent drawing
  • US9003432B1 patent drawing
  • US9003432B1 patent drawing

AI summary

An improved technique for managing access to performance data of a kernel driver includes acquiring performance data in the kernel driver over identified intervals of time marked by the kernel driver itself and transferring the performance data to a persistence manager outside the kernel, where client applications can access the performance data and/or post-processed versions thereof without disturbing the operation of the kernel driver.