Virtual Memory Reserve for Peripheral Driver Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems require oversized creation and management steps for a secondary virtual memory for device drivers, which is inefficient given the modest size needed, and pose security risks due to shared virtual memory usage between user applications and drivers.

Innovation Solution

A method that reserves a portion of the user application's virtual memory as a secure, inaccessible memory reserve managed by a dedicated application, created by the device driver, to allocate and release memory specifically for the driver's use, preventing accidental or malicious access by the user application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a separate virtual memory is created for the peripheral driver, then security and isolation are improved, but device complexity and management overhead increase

Engineering Contradiction:
ImprovesecurityVSAvoidvirtual memory management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the user application's virtual memory into two distinct parts: a reserved region for the peripheral driver and a remaining region for the user application. This segmentation is achieved by the driver reserving a portion of the virtual memory address space that is inaccessible to the user application while maintaining accessibility for the driver. This resolves the contradiction by providing security through separation while avoiding the complexity of managing a completely separate virtual memory system.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a separate virtual memory is created for the peripheral driver, then security is improved, but memory overhead increases

Engineering Contradiction:
ImprovesecurityVSAvoidvirtual memory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the driver's memory needs with the user application's virtual memory space by having the driver reserve a portion of the application's virtual memory for its own use. This eliminates the need for a completely separate virtual memory allocation, thereby reducing overall memory overhead while still providing the security benefits of isolated access. The reserved region serves dual purposes: securing driver operations and reducing memory fragmentation.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If the user application accesses the reserved virtual memory, then ease of operation is improved, but security and stability deteriorate

Engineering Contradiction:
Improvememory accessibilityVSAvoidsystem stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent extracts the driver's required memory portion from the user application's accessible virtual memory space by creating a reserved region that is explicitly inaccessible to the user application. This extraction ensures that the user application cannot accidentally or maliciously modify critical driver data, thereby maintaining system stability while still allowing the driver to efficiently access its reserved memory region.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3563244B1Method for managing virtual memory
Publication Date: 2024.02.07 BULL SA
  • EP3563244B1 patent drawingFigure 1
  • EP3563244B1 patent drawingFigure 2

AI summary

The invention concerns a method for managing, in a computer system including a computer peripheral (3) and its driver (4), a virtual memory (1, 2) of a user application (6, 7) of the computer peripheral (3) which can access the virtual memory (1, 2) of the user application (6, 7), the management method comprising: creating, in the virtual memory (1, 2) of the user application (6, 7), a virtual memory reserve (12, 14, 22) which is both accessible to the computer peripheral (3) and also inaccessible to the user application (6, 7); and creating a manager application (5) which is separate from the user application (6, 7) and which is dedicated to the allocation of at least this virtual memory reserve (12, 14, 22) and to the release of at least this virtual memory reserve (12, 14, 22).