Method and apparatus for controlling I/O channels responsive to an availability of a plurality of I/O devices to transfer data
First Claim
1. A method for transferring blocks of data with a plurality of input/output (I/O) devices in a data processing system, comprising the step of:
- interleaving DMA block transfers responsive to data transfer availability of at least two of the plurality of I/O devices.
6 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for improving the input/output performance of a computer system under the control of a multi-tasking, multi-threaded operating system. In particular, the invention provides an apparatus and method to chain contiguous DMA scatter gather sub blocks of a PRD table for channel 0 with contiguous DMA scatter gather sub blocks of a PRD table for channel 1, using a single data manager, while maintaining maximum media bandwidth. DMA block transfers are scheduled based on the availability of data from the I/O device'"'"'s buffer memory, thus minimizing both media or network idle time as well as minimizing I/O bus idle time. Near maximum aggregate bandwidth of multiple I/O buses and their associated devices is obtained. The apparatus and method thus provides significant performance advantages over prior techniques having two I/O channel systems implemented with a single data manager.
178 Citations
7 Claims
-
1. A method for transferring blocks of data with a plurality of input/output (I/O) devices in a data processing system, comprising the step of:
interleaving DMA block transfers responsive to data transfer availability of at least two of the plurality of I/O devices. - View Dependent Claims (2, 3, 4, 5, 6, 7)
Specification