← Back to Patent Explorer
US5758182A Expired / Lapsed US ⏱️ 0.0 years remaining

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

Assignee: Tamiras Per Pte Ltd LLC
•
Filing: 1997-08-18
•
Granted: 1998-05-26
•
Expires: 2017-08-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 David S. H. Rosenthal
  • 👤 Curtis Priem

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 16:20
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1081; G06F13/00; G06F13/14; G06F13/20; G06F13/28

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 107 words
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.
Claim 2
Dependent Claim 107 words
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.
Claim 3
Dependent Claim 62 words
A DMA controller as claimed in claim 1 in which the means for responding to commands directly from an application program for transferring data between system memory and the input/output device comprises a memory management unit for providing translations between physical addresses on a computer input/output bus and virtual memory addresses furnished by application programs for data transferred by the DMA controller.
Claim 4
Dependent Claim 44 words
A DMA controller as claimed in claim 2 in which the means for responding to commands directly from an application program for transferring data between system memory and the input/output device further comprises means for accessing page tables of an application program in memory.
Claim 5
Dependent Claim 62 words
A DMA controller as claimed in claim 3 in which the means for accessing page tables of an application program in memory comprises means storing an indication of an application program providing addresses to a DMA controller, and a data structure for holding data describing page tables of an application program for which an indication is stored by the means for storing.
Claim 6
Dependent Claim 36 words
A DMA controller as claimed in claim 4 in which the data structure for holding data describing page tables of an application program includes a copy of page tables of the application program stored in memory.
Claim 7
Dependent Claim 43 words
A DMA controller as claimed in claim 4 in which the data structure for holding data describing page tables of an application program is a pointer stored in local memory to a copy of page tables of the application program stored in memory.
Claim 8
Dependent Claim 39 words
A DMA controller as claimed in claim 4 in which the data describing page tables of an application program is a pointer stored in main memory to a copy of page tables of the application program stored in memory.
Claim 9
Dependent Claim 121 words
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.
Claim 10
Dependent Claim 121 words
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.
Claim 11
Dependent Claim 60 words
A computer system as claimed in claim 8 in which the means for responding to commands from an application program for transferring data between system memory and the input/output device comprises a memory management unit for providing translations between physical addresses on the input/output bus and virtual memory addresses furnished by application programs for data transferred by the DMA controller.
Claim 12
Dependent Claim 45 words
A computer system as claimed in claim 9 in which the means for responding to commands directly from an application program for transferring data between system memory and the input/output device further comprises means for accessing page tables of an application program in main memory.
Claim 13
Dependent Claim 58 words
A computer system as claimed in claim 10 in which the means for responding to commands from an application program for transferring data between system memory and the input/output device further comprises means for generating an interrupt if a page table entry is not currently resident in local memory for placing the page table entry in local memory.
Claim 14
Dependent Claim 63 words
A computer system as claimed in claim 10 in which the means for accessing page tables of an application program in main memory comprises means storing an indication of an application program providing addresses to a DMA controller, and a data structure for holding data describing page tables of an application program for which an indication is stored by the means for storing.
Claim 15
Dependent Claim 37 words
A computer system as claimed in claim 12 in which the data structure for holding data describing page tables of an application program includes a copy of page tables of the application program stored in main memory.
Claim 16
Dependent Claim 40 words
A computer system as claimed in claim 12 in which the data structure for holding data describing page tables of an application program is a pointer to a copy of page tables of the application program stored in local memory.
Claim 17
Dependent Claim 40 words
A computer system as claimed in claim 12 in which the data structure for holding data describing page tables of an application program is a pointer to a copy of page tables of the application program stored in main memory.
Claim 18
Dependent Claim 137 words
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.
Claim 19
Dependent Claim 137 words
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.
Claim 20
Dependent Claim 37 words
An input/output device as claimed in claim 16 in which the DMA controller further comprises means for determining whether a transfer involving a virtual address is permitted and generating an interrupt if such transfer is not permitted.

References Cited (Backward Citations)

US4761737A Cited
US5016160A Cited
US5073851A Cited
US5301287A Cited
US5596736A Cited
US5551006A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-05-25 2001-11-24 2002-05-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-05-25 2005-11-24 2006-05-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-05-25 2009-11-24 2010-05-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag