DMA emulation for non-DMA capable interface cards
First Claim
1. A method of simulating a direct memory access (DMA) function without using DMA request and DMA acknowledge signals to access memory in a host computer having a DMA controller controlling access to said memory for the purpose of enabling the transfer of data between said memory and a non-DMA computer accessory data handling device that can be operably connected to said host comprising:
- determining the location in said host memory for data to be transferred from said host memory to said accessory data handling device or from said accessory data handling device to said host memory; and
initiating a DMA operation by storing in a memory of said accessory data handling device, control information which includes (1) an amount of data to be transferred and (2) a type of operation to be performed;
reading from the accessory data handling device the amount of data to be transferred and the type of operation to be performed;
for a data transfer from said host memory to said accessory data handling device, reading data from said host memory and writing it to said accessory data handling device;
or for a data transfer from said accessory data handling device to said host memory, reading data from said accessory data handling device and writing it to said host memory, respectively;
informing said host computer that a DMA operation corresponding to said data transfer has been completed.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system are disclosed for simulating a direct memory access (DMA) function to access memory in a host computer having a DMA controller for the purpose of enabling the transfer of data between the host memory and a computer accessory data handling device not capable of DMA operation. The accessory data handling device can be operably connected to the host. The address contents of the DMA controller can be read to determine the location in the host memory where data is to be transferred from the host memory to the accessory data handling device or from the accessory data handling device to the host memory. Data is read from the host memory at the address specified in the DMA controller and written to the accessory data handling device or read from the accessory data handling device and written to the host memory at the address specified by the DMA controller, respectively. The host computer is informed that a DMA operation corresponding to the data transfer has been completed when the data transfer required has been completed.
-
Citations
28 Claims
-
1. A method of simulating a direct memory access (DMA) function without using DMA request and DMA acknowledge signals to access memory in a host computer having a DMA controller controlling access to said memory for the purpose of enabling the transfer of data between said memory and a non-DMA computer accessory data handling device that can be operably connected to said host comprising:
-
determining the location in said host memory for data to be transferred from said host memory to said accessory data handling device or from said accessory data handling device to said host memory; and initiating a DMA operation by storing in a memory of said accessory data handling device, control information which includes (1) an amount of data to be transferred and (2) a type of operation to be performed; reading from the accessory data handling device the amount of data to be transferred and the type of operation to be performed; for a data transfer from said host memory to said accessory data handling device, reading data from said host memory and writing it to said accessory data handling device;
or for a data transfer from said accessory data handling device to said host memory, reading data from said accessory data handling device and writing it to said host memory, respectively;informing said host computer that a DMA operation corresponding to said data transfer has been completed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of simulating direct memory access with a non-DMA accessory data handling device in a computer system without using DMA request and DMA acknowledge signals, said computer system comprising a host computer having memory and a DMA controller for accessing said memory, said host computer being adapted to accept said accessory data handling device;
- in which an application program (host application) adapted to run on said host using DMA data transfers sets up the DMA controller with the starting address location in said memory of data to be transferred between said host and said accessory data handling device, and which application sends a command to said accessory data handling device to commence DMA operation, said method comprising the steps of;
initiating a DMA operation by storing in a memory of said accessory data handling device, control information which includes (1) an amount of data to be transferred and (2) a type of operation to be performed, responding to said application command requesting a commencement of DMA operation, by interrupting said host application to initiate a TSR program, said TSR program; reading from said DMA controller the starting address and reading from said memory of said accessory data handling device the amount of data to be transferred and the type of operation to be performed, reading data from said host memory or said accessory data handling device respectively; writing data to said accessory data handling device or said host memory respectively to transfer said data; continuing said data transfer until a required amount of data to be transferred has been transferred; updating addressing information in said DMA controller during said data transfer to correspond to the information that would be present in said DMA controller if a true DMA operation were taking place; informing the host application that the DMA operation has been completed after all of said required data has been transferred. - View Dependent Claims (9, 10)
- in which an application program (host application) adapted to run on said host using DMA data transfers sets up the DMA controller with the starting address location in said memory of data to be transferred between said host and said accessory data handling device, and which application sends a command to said accessory data handling device to commence DMA operation, said method comprising the steps of;
-
11. A computer system comprising a host computer having memory and a DMA controller for accessing said memory, said host computer being adapted to accept a non-DMA accessory data handling device;
- in which an application program adapted to run on said host using DMA data transfers sets up the DMA controller with the address location in said memory of data to be transferred between said host and said accessory data handling device, and which application initiates a DMA operation by sending a command to and storing control information in, said accessory data handling device said control information includes (1) an amount of data to be transferred and (2) a type of operation to be performed;
said computer system including;means for simulating direct memory access with said accessory data handling device without using DMA request and DMA acknowledge signals comprising; said accessory data handling device having memory means for storing said control information; means for responding to said application command and interrupting said application program, to (1) read from said DMA controller the address of data, to be transferred and (2) read from said memory in said accessory data handling device the amount of data to be transferred and the type of operation to be performed; means for reading data from said host memory or said accessory data handling device and, for writing data to said accessory data handling device or said host memory respectively to transfer said data; means for updating addressing information in said DMA controller during said data transfer to correspond to the information that would be present in said DMA controller if a true DMA operation were taking place; means for informing the host application that the DMA operation has been completed after all of said data has been transferred. - View Dependent Claims (12, 13)
- in which an application program adapted to run on said host using DMA data transfers sets up the DMA controller with the address location in said memory of data to be transferred between said host and said accessory data handling device, and which application initiates a DMA operation by sending a command to and storing control information in, said accessory data handling device said control information includes (1) an amount of data to be transferred and (2) a type of operation to be performed;
-
14. A computer system comprising a host computer having a memory, a DMA controller to control access thereto and means for simulating a direct memory access (DMA) function for enabling a non-DMA computer accessory data handling device to access said memory without using DMA request and DMA acknowledge signals which are coupled to said DMA controller, said simulating means comprising:
-
means for determining the location in said host memory for data to be transferred from said host memory to said accessory data handling device or from said accessory data handling device to said host memory; means for initiating a DMA operation by storing control information in a memory of said accessory data handling device said control information includes (1) an amount of data to be transferred and (2) a type of operation to be performed, means for reading from the accessory data handling device the amount of data to be transferred and the type of operation to be performed; means for reading data from said host memory at the address specified in said DMA controller for said data and for writing said data to said accessory data handling device;
or for reading data from said accessory and writing it to said host memory at the address specified by said DMA controller, respectively;means for informing said host computer that a DMA operation corresponding to said data transfer has been completed. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer program recorded on suitable media for operating on a host computer having memory and a DMA controller for accessing said memory, for enabling a non-DMA computer accessory data handling device to simulate a direct memory access (DMA) function to access said memory in said host computer without using DMA request and DMA acknowledge signals comprising:
-
a first routine for determining a location in said host memory for data to be transferred from said host memory to said accessory data handling device or from said accessory data handling device to said host memory, said first routine also for initiating a DMA operation by storing in a memory of the accessory data handling device control information which includes (1) an amount of data to be transferred and (2) a type of operation to be performed and storing said control information in a memory of said accessory data handling device; a second routine for interrupting said first routine and reading from the accessory data handling device the amount of data to be transferred and the type of operation to be performed; said second routine also for reading data from said host memory at the address specified in said DMA controller for said data and for writing it to said accessory data handling device or reading data from said accessory data handling device and writing it to said host memory at the address specified by said DMA controller for said data, respectively; and
,said second routine further for informing said host computer that a DMA operation corresponding to said data transfer has been completed. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification