AUTONOMOUS MULTIPLE-PATH INPUT/OUTPUT CONTROL SYSTEM
First Claim
1. A multiple channel input/output control system for use in a data processing system having a system memory, a plurality of controllable input/output devices connected to a peripheral exchange for at least one class of data throughput, and system interconnection means, said control system comprising:
- data transfer means having a plurality of input/output channels connected to each peripheral exchange, each of which can be selectively coupled through the associated exchange to any of the associated input/output devices, program translating means comprising means for constructing information transfer descriptors for selected channels from input/output program elements for individual devices and means for designating which input/output channel will be assigned to each input/output transfer depending upon channel availability at transfer initiate time, data service means coupled To the translating means and to the data transfer means for effecting the input/output information transfers described by the descriptors constructed by the translating means, and memory interface means coupled to the translating means and to the data service means and having terminals connectable to the system memory for the exchange of input/output program elements and input/output data with it.
2 Assignments
0 Petitions
Accused Products
Abstract
A multiple channel input/output channel system for information processing systems, including one or more control modules each having a unit for translating program elements, modular data service apparatus controlled by I/O data transfer descriptors provided by the translational unit, and a memory interface unit for controlling the transfer of information between the translator and data service units and a data processing system memory. The translator unit asynchronously obtains I/O program words or elements from the processing system and combines designated portions of them to form data transfer descriptors for input/output tasks to be done. The data service apparatus interfaces with a plurality of peripheral control units which are coupled for controlling peripheral input/output devices either directly or via multiple-path peripheral exchange units.
59 Citations
20 Claims
-
1. A multiple channel input/output control system for use in a data processing system having a system memory, a plurality of controllable input/output devices connected to a peripheral exchange for at least one class of data throughput, and system interconnection means, said control system comprising:
- data transfer means having a plurality of input/output channels connected to each peripheral exchange, each of which can be selectively coupled through the associated exchange to any of the associated input/output devices, program translating means comprising means for constructing information transfer descriptors for selected channels from input/output program elements for individual devices and means for designating which input/output channel will be assigned to each input/output transfer depending upon channel availability at transfer initiate time, data service means coupled To the translating means and to the data transfer means for effecting the input/output information transfers described by the descriptors constructed by the translating means, and memory interface means coupled to the translating means and to the data service means and having terminals connectable to the system memory for the exchange of input/output program elements and input/output data with it.
-
2. The input/output control system of claim 1 wherein the input/output channel designating means comprises means for obtaining exchange program elements from system memory locations identified by the device program elements and indicating which input/output channels are connected for transferring data to or from the input/output devices to be activated and means for selecting one of those channels which are available at initiate time for assignment to each information transfer.
-
3. The input/output control system of claim 1 in which the means for constructing information transfer descriptors comprises means for obtaining input/output job program elements from system memory locations identified by the device program elements and means for assembling transfer descriptors from information so obtained.
-
4. The input/output control system of claim 1 for use in a data processing system having an auxiliary mass memory in addition to the main system memory, the data service means comprising means for effecting device-to-device and device-to-mass memory transfers independent of system processor intervention and means for effecting interactive/time demand transfers also independent of system processor intervention.
-
5. The input/output control system of claim 1 wherein the transfer descriptor constructing means comprises means indicating which input/output devices are active and which devices are inactive and means responsive to device program elements for one device to access device program elements for another device and to queue device job program elements for it.
-
6. In an information processing system comprising a system memory, a plurality of input/output devices connected to at least one peripheral exchange and data processing means, an input/output control system including a plurality of control modules each comprising:
- multiple channel data transfer means having at least one input/output channel connected to each peripheral exchange and capable of being coupled selectively to individual ones of the associated input/output devices for information transfers, means for assembling information transfer descriptors for selected channels from device program elements specifying input/output transfers to be performed by individual devices, means coupled to the descriptor assembly means responsive to exchange program elements identified by the device program elements for selecting at initiate time an available one of the input/output channels connected between said data transfer means and the exchange for the input/output device to be activated, data service means coupled to the data transfer means for controlling the transfer of input/output data as described by the information transfer descriptors, and memory interface means coupled to the descriptor assembling means, the data transfer means and the system memory for the exchange of input/output program elements and input/output data with it.
-
7. An input/output control system as characterized by claim 6 wherein said program element responsive means comprises means for evaluating indirect exchange elements identified by the device program elements and indicating which control modules are connected to service the devices to be activated and means for accessing the associated exchange program elements if at least one of the respective exchange channels of that control module is available for data transfer to or from the respective devices.
-
8. The input/output control system of claim 6 wherein the means for assembling information transfer descriptors comprises means for obtaining program elements fOr input/output tasks from system memory locations identified by the device program elements and means for extracting preselected fields from these input/output program elements for descriptor assembly.
-
9. The input/output control system of claim 6 in which the program element responsive means comprises means indicating which input/output devices are active and which devices are inactive and the data service means comprises means for effecting device-to-device and interactive/real-time transfers independent of intermediate system processor intervention.
-
10. In a multiple channel input/output control system for a data processing system having a system memory, a plurality of controllable input/output devices connected to a peripheral exchange for at least one class of data throughout, and system interconnection means, the method of designating which input/output channel will be assigned to each input/output transfer comprising the steps of obtaining exchange program elements from system memory locations identified by program elements for individual input/output devices and indicating which of the channels are capable of transferring data to or from the device to be activated, and selecting one of said channels available at transfer initiate time for assignment to each information transfer.
-
11. The method of designating input/output channels for information transfers of claim 10 further comprising the step of constructing information transfer descriptors at transfer initiate time for the selected channels responsive to input/output program elements accessed for the devices to be activated.
-
12. The method of designating input/output channels for information transfers of claim 11 wherein the step of constructing information transfer descriptors comprises obtaining input/output job program elements from system memory locations identified by the device program elements and assembling input/output transfer descriptions from the information so obtained.
-
13. The method of designating input/output channels for information transfers of claim 10 further comprising the step of responding to predetermined program elements of active devices to access device program elements for other input/output devices and to queue job program elements in association with the device programs for them.
-
14. The method of programming input/output data transfers in a data processing system having a system memory, a plurality of input/output devices connected to at least one peripheral exchange, and a multiple channel input/output subsystem, comprising storing program elements for the input/output devices in the system memory identifying data transfer programs to be implemented and executed by the input/output system via channels available at transfer initiate time, and storing exchange program elements also identified by the device program elements and indicating which of the channels are connected for transferring data to or from the input/output devices to the activated.
-
15. The method of programming input/output data transfers in a data processing system of claim 14 further comprising storing indirect exchange elements identified by device program elements and indicating which input/output control modules are connected for servicing the device to be activated to be accessed for enabling input/output modules available for data transfer with the device at initiate time.
-
16. The method of implementing programs for input/output data transfers in a multiple channel input/output subsystem of a data processing system having a system memory, a plurality of input/output devices connected to at least one peripheral exchange and system interconnection means, comprising the steps of selecting an input/output channel from those identified as being connected for data transfer with the device by the associated exchange program element, and constructing information transfer descriptors for the selected channel responsive to input/output program elements accessed for the device to be activateD.
-
17. The method of implementing programs for input/output data transfers in a multiple channel input/output subsystem of claim 16 comprising evaluating indirect exchange elements identified by the device program elements and indicating which input/output control modules are connected to service the devices to be activated and accessing the associated exchange program element by the input/output module having an exchange channel available for data transfer with the device at initiate time.
-
18. A multiple channel data transfer processing system for independently controlling input/output information transfers in a data processing system having a system memory and a plurality of input/output devices connected to a peripheral exchange for at least one class of data throughout, comprising program translating means including means for assigning an input/output channel available at initiate time for each data transfer to be performed and means for constructing information transfer descriptors for the selected channels from input/output program elements only specifying the data transfer jobs for particular devices, data service means coupled to the translating means and having a plurality of input/output channels connected to each peripheral exchange for effecting the data transfers defined by the descriptors constructed by the translating means, and memory interface means coupled to the translating means and to the data service means and having terminals for exchanging input/output program elements and input/output data with the system memory.
-
19. The data transfer processing system of claim 18 wherein the channel assigning means of the program translating means comprises means for obtaining exchange program elements from system memory locations identified by the input/output device program elements indicating which input/output channels are connected for transferring data to or from the input/output devices to be activated and means for selecting one of those channels which are available at process initiate time for assignment to the information transfers.
-
20. The data transfer processing system of claim 18 wherein the descriptor constructing means of the program translating means comprises means for obtaining input/output job program elements from system memory locations identified by the input/output device program elements and means responsive to job program elements for one device to access device program elements for another device and to queue input/output job program elements for it.
Specification