Virtual Memory Manager Zero Copy File Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing zero copy file transfer implementations using virtual memory managers (VMM) still require memory usage and context switching to complete data transfers between source and destination VMM pages, impacting performance by consuming CPU cycles and memory bandwidth.

Innovation Solution

A processor-implemented method that receives a request to copy a source file to a destination file using a VMM, where based on the status of the virtual page, the method performs actions such as moving, copying, or ignoring the virtual page, optimizing the transfer by reducing context switches and memory consumption through efficient use of VMM memory cache management and flushing mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional file copy operations are used with multiple read/write calls, then data can be transferred between user address spaces, but context switches occur at each user-kernel boundary crossing which negatively impacts performance and consumes CPU cycles

Engineering Contradiction:
Improvefile copy performanceVSAvoidcontext switch time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple read/write system calls into a single copy operation by implementing a copy facility in the virtual memory manager that can copy data between two user address spaces in one operation, eliminating the need for multiple context switches between user and kernel modes

Inventive Principle:
Principle #5Merging (Combining)

2Quantity of substance

If memory mapped file facility is used to provide access to file by multiple user address spaces, then memory usage is reduced, but additional mapping techniques are required to complete the copy operation which increases system complexity

Engineering Contradiction:
Improvememory usageVSAvoidmapping technique complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The virtual memory manager's copy facility is designed to work universally with memory-mapped files, inheriting the memory efficiency benefits of existing memory mapping techniques while adding copy functionality, thus achieving multi-functionality without requiring separate complex mapping mechanisms

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

3Productivity

If data is copied between user address spaces using traditional methods, then file copy can be completed, but memory bandwidth is consumed and CPU cycles are used for context switching and data copying

Engineering Contradiction:
Improvefile copy throughputVSAvoidCPU cycle consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements a specialized copy facility in the virtual memory manager that can copy data between user address spaces without requiring full context switches, thereby reducing CPU cycle consumption while maintaining the ability to complete file copy operations

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The virtual memory manager acts as an intermediary that facilitates direct data copying between user address spaces, mediating the copy operation at a level that avoids the overhead of traditional user-kernel boundary crossings and reduces CPU intervention

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9971550B2Zero copy support by the virtual memory manager
Publication Date: 2018.05.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9971550B2 patent drawing
  • US9971550B2 patent drawing
  • US9971550B2 patent drawing

AI summary

A processor-implemented method for copying a source file to a destination file using a virtual memory manager (VMM) of a computer operating system is provided. The method includes receiving, by the VMM, a request to copy the source file to a destination file. The method further provides that based on the status of the virtual page, performing at least one of moving the virtual page to the destination file, copying the virtual page to the destination file, reading the virtual page into memory, and ignoring the virtual page.