Browse Prior Art Database

Method for safe and efficient registration, usage, and deregistration of pinned user-space memory

IP.com Disclosure Number: IPCOM000124296D
Publication Date: 2005-Apr-14
Document File: 8 page(s) / 91K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for safe and efficient registration, usage, and deregistration of pinned user-space memory. Benefits include improved functionality, improved performance, and improved reliability.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 24% of the total text.

Method for safe and efficient registration, usage, and deregistration of pinned user-space memory

Disclosed is a method for safe and efficient registration, usage, and deregistration of pinned user-space memory. Benefits include improved functionality, improved performance, and improved reliability.

Background

              Asynchronous input/output (AIO) applications and application services can have user buffer space for network I/O. To support the zero-copy path, these buffers are registered with the embedded transport accelerator (ETA) prior to posting send or receive operations, such as registering memory with ETA pins that access address translation tables for the ETA hardware.

              Socket semantics do not require pinning and/or registering these buffers prior to specifying them in send or receive calls. However, the buffers must be registered when they are called for zero-copy transfers. To eliminate this overhead, applications pre-register the I/O buffers.

General description

              The disclosed method safely and efficiently registers, utilizes, and deregisters memory that can be shared by multiple independent user-level applications. The method includes kernel processing of the pinned memory space.

              The key elements of the disclosed method include:

•             Hash table of memory registration structures

•             Buckets that contain the memory registration storage structures

•             User application table or linked list of structures that contain pointers to user buffers and to kernel memory registration structures

•             Unique user-application handles

•             User application pointers and structures, without access to physical memory

•             Spin lock for each bucket entry to ensure contention does not occur for memory or memory storage structures

•             ETA performs deallocation following graceful user-application closing

•             Kernel performs deallocation following ungraceful user-application closing

Advantages

              The disclosed method provides advantages, including:
•             Improved functionality due to enabling multiple applications to register and reference the same memory space

•             Improved functionality due to requiring user applications to register for memory resources

•             Improved functionality due to using memory registration storage structures and application pointers

•             Improved functionality due to using unique user application handles

•             Improved performance due to preventing contention by using spin locks

•             Improved reliability due to preventing system crashes by preventing applications from accessing unreferenced or unregistered memory

•             Improved reliability due to ensuring efficient and safe recovery of memory, AVA, and kernel resources in the case of abrupt user-application closure

Detailed description

              This disclosed method includes the registration, usage, and deregistration...