Protected, user-level DMA for the SHRIMP network interface

Matthias A. Blumrich, Cezary Dubnicki, Edward William Felten, Kai Li

Research output: Contribution to conferencePaperpeer-review

35 Scopus citations


Traditional DMA requires the operating system to perform many tasks to initiate a transfer, with overhead on the order of hundreds or thousands of CPU instructions. This paper describes a mechanism, called User-level Direct Memory Access (UDMA), for initiating DMA transfers of input/output data, with full protection, at a cost of only two user-level memory references. The UDMA mechanism uses existing virtual memory translation hardware to perform permission checking and address translation without kernel involvement. The implementation of the UDMA mechanism is simple, requiring a small extension to the traditional DMA controller and minimal operating system kernel support. The mechanism can be used with a wide variety of I/O devices including network interfaces, data storage devices such as disks and tape drives, and memory-mapped devices such as graphics frame-buffers. As an illustration, we describe how we used UDMA in building network interface hardware for the SHRIMP multicomputer.

Original languageEnglish (US)
Number of pages12
StatePublished - Jan 1 1996
EventProceedings of the 1996 2nd International Symposium on High-Performance Computer Architecture, HPCA - San Jose, CA, USA
Duration: Feb 3 1996Feb 7 1996


OtherProceedings of the 1996 2nd International Symposium on High-Performance Computer Architecture, HPCA
CitySan Jose, CA, USA

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture


Dive into the research topics of 'Protected, user-level DMA for the SHRIMP network interface'. Together they form a unique fingerprint.

Cite this