DMA controller translates virtual I/O device address received directly from application program command to physical i/o device address of I/O device on device bus
AssigneeNVIDIA Corporation
InventorsDavid S. H. Rosenthal, Curtis Priem
Life of this patent
Estimating the term…
Abstract
A DMA controller which responds without operating system intervention to virtual addresses provided by application programs, and a memory management unit for providing translations between physical addresses of input/output devices and addresses on a system input/output bus for data transferred by the DMA controller.
Claims17
A direct memory access (DMA) controller adapted to be joined between a computer input/output (I/O) bus and a computer device bus in a computer system utilizing virtual addressing in which application programs write directly to input/output devices comprising:
- means for storing commands directly from an application program including addresses and data designating a virtual input/output (I/O) device address,
- means for translating commands from an application program including a virtual input/output (I/O) device address to determine the physical address of an input/output device on said device bus, and
- means for responding to commands directly from an application program for transferring data between system memory and the input/output device.
A computer system utilizing virtual memory addressing in which commands including information indicating an application program which initiated the commands are written directly to input/output devices comprising:
- a central processing unit,
- main memory,
- a input/output bus,
- a device bus,
- an input/output device, and
- a direct memory access (DMA) controller joined between the input/output (I/O ) bus and device bus comprising:
- means for storing commands directly from an application program including addresses and data designating a virtual input/output (I/O) device address,
- means for translating commands from an application program to determine the physical address of an input/output device on the device bus, and
- means for responding to commands from an application program for transferring data between system memory and the input/output device.
An input/output control unit adapted to be joined to a computer input/output bus in a computer system utilizing virtual addressing in which application programs write commands directly to input/output devices comprising:
- a device bus for joining to a series of individual input/output devices at a plurality of physical addresses,
- a translating circuit for translating between physical addresses of said input/output devices on the device bus and virtual input/output device addresses on the input/output bus,
- a direct memory access (DMA) controller responding to commands directly from an application program including virtual input/output device addresses provided by application programs, and
- a memory management unit within said DMA controller for providing translations between physical addresses of said input/output devices on the device bus and virtual input/output device addresses provided at the input/output bus for data transferred by the DMA controller.
Dependencies are inferred from the claim text.