Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
210 words
A method for controlling DMA processing for a plurality of IO devices connected to a data processing system having memory, a CPU, at least one IO controller and a bus for connecting said IO controllers to said CPU and memory, comprising the steps of: storing a plurality of DMA request quads for each of said IO devices into a DMA request data structure in said memory, and storing IO command data into a plurality of DMA command data structures in said memory, said DMA request data structure being stored at a start address in said memory, wherein said DMA command data structures respectively correspond to said IO devices and to said DMA request quads; writing the start address for one said DMA request data structure to said IO controller and storing said start address in said IO controller; executing a DMA processing in response to said IO controller receiving a DMA start request, including reading from memory one of said DMA request quads for one IO device of said plurality of IO devices and executing the DMA processing with said one IO device in accordance with IO command data in one of said DMA command data structures, said one DMA command data structure corresponding to said one DMA request quad.
Claim 2
Independent Claim
210 words
A method for controlling DMA processing for a plurality of IO devices connected to a data processing system having memory, a CPU, at least one IO controller and a bus for connecting said IO controllers to said CPU and memory, comprising the steps of: storing a plurality of DMA request quads for each of said IO devices into a DMA request data structure in said memory, and storing IO command data into a plurality of DMA command data structures in said memory, said DMA request data structure being stored at a start address in said memory, wherein said DMA command data structures respectively correspond to said IO devices and to said DMA request quads; writing the start address for one said DMA request data structure to said IO controller and storing said start address in said IO controller; executing a DMA processing in response to said IO controller receiving a DMA start request, including reading from memory one of said DMA request quads for one IO device of said plurality of IO devices and executing the DMA processing with said one IO device in accordance with IO command data in one of said DMA command data structures, said one DMA command data structure corresponding to said one DMA request quad.
Claim 3
Dependent Claim
43 words
The method according to claim 1, further including said IO controller controlling DMA processing for a set of said IO devices and said storing including storing respective ones of said DMA request quads for IO devices in said set of said IO devices.
Claim 4
Dependent Claim
52 words
The method of claim 2, wherein said storing stores each said DMA request quad that includes a pointer for pointing to a next DMA request quad, an IO device identifier identifying the corresponding IO device, a local pointer for pointing to respective IO command data and an argument for the DMA processing.
Claim 5
Dependent Claim
117 words
The method according to claim 1, further including storing, for each said DMA request quad, a pointer to a next DMA request quad within said DMA request data structure, an IO device identifier for identifying the corresponding IO device, a local pointer for pointing to respective IO command data for said corresponding IO devices by said IO identifier and one argument setting forth parameters for the DMA processing, wherein said IO controller analyzes the received start request and initiates the processing by retrieving the local pointer from the corresponding DMA request quad and storing in a local memory of the IO controller and executing the command data stored in main memory and addressed by said local pointer.
Claim 6
Independent Claim
273 words
A method for controlling DMA processing for a plurality of IO devices connected to a data processing system having memory, a CPU, a plurality of IO controllers, each controlling one set of said plurality of IO devices and a bus for connecting said IO controller to said CPU and memory, comprising the steps of: storing in memory a plurality of linked DMA start request quads for each of said IO controllers, each said DMA start request quad corresponding to one of said IO devices and storing in said memory a plurality of linked command data quads for each of said DMA start request quad; registering in said IO controller a start address identifying a first address in said memory for the corresponding linked DMA start request quads; a first one of said plurality of DMA start request quads for each of said IO controllers having a first pointer for identifying the first address in said memory for a next linked one of said DMA start request quads of said first plurality, and a second pointer for identifying a second address in said memory for a first linked one of said plurality of command data quads; executing DMA processing in response to receiving a DMA start request control by first reading a location in said memory identified by said registered start address for said first one of said DMA start request quads, storing the contents of the addressed DMA start request quad in local memory in said IO controller, and executing said DMA processing by reading said memory at said second address identified by said second pointer and executing said DMA command quad data.
Claim 7
Independent Claim
273 words
A method for controlling DMA processing for a plurality of IO devices connected to a data processing system having memory, a CPU, a plurality of IO controllers, each controlling one set of said plurality of IO devices and a bus for connecting said IO controller to said CPU and memory, comprising the steps of: storing in memory a plurality of linked DMA start request quads for each of said IO controllers, each said DMA start request quad corresponding to one of said IO devices and storing in said memory a plurality of linked command data quads for each of said DMA start request quad; registering in said IO controller a start address identifying a first address in said memory for the corresponding linked DMA start request quads; a first one of said plurality of DMA start request quads for each of said IO controllers having a first pointer for identifying the first address in said memory for a next linked one of said DMA start request quads of said first plurality, and a second pointer for identifying a second address in said memory for a first linked one of said plurality of command data quads; executing DMA processing in response to receiving a DMA start request control by first reading a location in said memory identified by said registered start address for said first one of said DMA start request quads, storing the contents of the addressed DMA start request quad in local memory in said IO controller, and executing said DMA processing by reading said memory at said second address identified by said second pointer and executing said DMA command quad data.
Claim 8
Dependent Claim
43 words
The method for controlling DMA processing according to claim 5, further including: storing in main memory a completion list having linked completion data structures, wherein each structure identifies a corresponding one of said IO devices and stores a status of said IO device.
Claim 9
Dependent Claim
28 words
The method for controlling DMA processing according to claim 6, further including: a status message that said IO controller has completed the DMA processing for said IO device.
Claim 10
Dependent Claim
30 words
The method for controlling DMA processing according to claim 5, wherein said IO controller, during the processing of a first DMA start request, initiates at least one additional DMA processing.
Claim 11
Independent Claim
200 words
A system for controlling DMA processing for a plurality of IO devices connected to a data processing system having memory, a CPU, at least one IO controller and a bus for connecting said at least one IO controller to said CPU and memory, comprising: means for storing in the memory a plurality of DMA request quads for each of said IO devices into a DMA request data structure, and storing IO command data into a plurality of DMA command data structures in said memory, said DMA request data structure having a plurality of DMA start request quads linked together including a first one having a location identified by a first address in said memory, wherein said DMA command data structures respectively correspond to said IO devices and to said DMA request quads said at least one IO controller having means for receiving a start control; and said IO controller executing DMA processing in response to receiving said start control including reading from the memory said first DMA start request quad for one IO device of said plurality of IO devices and executing the DMA processing with said one IO device on the basis of said DMA start request quad data.
Claim 12
Independent Claim
200 words
A system for controlling DMA processing for a plurality of IO devices connected to a data processing system having memory, a CPU, at least one IO controller and a bus for connecting said at least one IO controller to said CPU and memory, comprising: means for storing in the memory a plurality of DMA request quads for each of said IO devices into a DMA request data structure, and storing IO command data into a plurality of DMA command data structures in said memory, said DMA request data structure having a plurality of DMA start request quads linked together including a first one having a location identified by a first address in said memory, wherein said DMA command data structures respectively correspond to said IO devices and to said DMA request quads said at least one IO controller having means for receiving a start control; and said IO controller executing DMA processing in response to receiving said start control including reading from the memory said first DMA start request quad for one IO device of said plurality of IO devices and executing the DMA processing with said one IO device on the basis of said DMA start request quad data.
Claim 13
Dependent Claim
31 words
A system for controlling a plurality of IO devices according to claim 9, wherein said means for receiving start control in said IO controller receives the start control from said CPU.
Claim 14
Dependent Claim
74 words
A system for controlling DMA processing according to claim 9, wherein said means for storing further stores IO command data for each of said plurality of IO devices in linked command quads having a first command quad stored at a second address identified by a corresponding one of said DMA start request quads, and each said command quad having a pointer for identifying an address in said memory for the next said command quad.
Claim 15
Dependent Claim
50 words
The system for controlling DMA processing according to claim 9, wherein a last one of said command quads has data identifying completion of said DMA processing for said one IO device; and said means for storing stores a completion list having IO device status data updated by said completion data.
Claim 16
Dependent Claim
102 words
The system for controlling DMA processing according to claim 9, wherein said means for storing stores a plurality of said DMA start request quads linked together and having first and second pointers such that after said IO controller address register accesses said memory at said first address for said first DMA start request quad the next DMA start request quad address is provided to said IO controller by said first pointer in said first start request quad and further such that said second pointer identifies an address of said first command quad of said corresponding one of said DMA start request quad.
Claim 17
Dependent Claim
39 words
The system for controlling DMA processing according to claim 9, wherein said IO controller has a start request analysis section for reading said start control and initiating said executing of the DMA processing when said start control is received.
Claim 18
Dependent Claim
74 words
The system for controlling DMA processing according to claim 13, wherein said IO controller has a DMA processing section for reading the DMA command data structure on the basis of said second pointer address and transferring the linked command data to said local memory and thereafter transferring the data stored in said local memory to a corresponding one of said IO devices identified by said IO identifier in said corresponding DMA start request quads.
Claim 19
Independent Claim
250 words
A system for controlling DMA processing for a plurality of IO devices connected to a data processing system having memory, a CPU, a plurality of IO controllers, each controlling one set of said plurality of IO devices and a bus for connecting said IO controller to said CPU and memory, comprising: means for storing in memory a plurality of linked DMA start request quads for each of said IO controllers, each said DMA start request quad corresponding to one of said IO devices and further for storing in said memory a plurality of linked command data quads for each of said DMA start request quad; a first one of said plurality of DMA request start quads for each of said IO controllers having a first pointer for identifying a first address in said memory for a next linked one of said DMA start request quads of said first plurality, and a second pointer for identifying a second address in said memory for a first linked one of said plurality of command data quads; each of said IO controllers having means for executing DMA processing in accordance with said first one of said DMA start request quads, means for storing the contents of the addressed DMA start request quad in local memory in said IO controller, wherein said reading reads said memory at said second address identified by said second pointer after said executing means commences processing of said DMA processing on the basis of said first DMA start request quad.
Claim 20
Independent Claim
250 words
A system for controlling DMA processing for a plurality of IO devices connected to a data processing system having memory, a CPU, a plurality of IO controllers, each controlling one set of said plurality of IO devices and a bus for connecting said IO controller to said CPU and memory, comprising: means for storing in memory a plurality of linked DMA start request quads for each of said IO controllers, each said DMA start request quad corresponding to one of said IO devices and further for storing in said memory a plurality of linked command data quads for each of said DMA start request quad; a first one of said plurality of DMA request start quads for each of said IO controllers having a first pointer for identifying a first address in said memory for a next linked one of said DMA start request quads of said first plurality, and a second pointer for identifying a second address in said memory for a first linked one of said plurality of command data quads; each of said IO controllers having means for executing DMA processing in accordance with said first one of said DMA start request quads, means for storing the contents of the addressed DMA start request quad in local memory in said IO controller, wherein said reading reads said memory at said second address identified by said second pointer after said executing means commences processing of said DMA processing on the basis of said first DMA start request quad.
Claim 21
Dependent Claim
49 words
The system for controlling DMA processing according to claim 16, further including: means storing a completion list having linked completion data structures, wherein each structure identifies a corresponding one of said IO devices and stores a status of said IO device with respect to termination of a DMA processing.
Claim 22
Dependent Claim
30 words
The system for controlling DMA processing according to claim 16, wherein said IO controller, during the processing of a first DMA start request, initiates at least one additional DMA processing.
Claim 23
Dependent Claim
50 words
The system for controlling DMA processing according to claim 16, wherein said IO controllers include at least one main IO controller and a plurality of sub controllers connected to the main IO controller, and further wherein said sub controllers each have one or more of said IO devices connected thereto.
Claim 24
Dependent Claim
69 words
The system for controlling DMA processing according to claim 16, wherein each said IO controller has a start address identifying a first address in said memory for the corresponding linked DMA start request quads; and wherein said means for executing DMA processing executes DMA processing in response to receiving a DMA start request control and has means for reading a location in said memory identified by said start address.
Claim 25
Dependent Claim
156 words
A data processing system comprising: a CPU; a plurality of IO devices; at least one IO controller, to which said plurality of IO devices are connected, said at least one IO controller controlling said IO devices and having an address register for storing a start address; a memory for storing DMA request data structure being stored at said start address and including a plurality of DMA request data quads, and for storing a plurality of DMA command data structure each corresponding to one of said DMA request data quads and each having a command quad for controlling DMA processing; and a bus for connecting said IO controller to said CPU and said memory; wherein said IO controller selects one of said DMA request data quads in response to receiving a start control, and executes DMA processing in accordance with said command quad of a DMA command data structure corresponding to the selected DMA request data quads.
Claim 26
Dependent Claim
156 words
A data processing system comprising: a CPU; a plurality of IO devices; at least one IO controller, to which said plurality of IO devices are connected, said at least one IO controller controlling said IO devices and having an address register for storing a start address; a memory for storing DMA request data structure being stored at said start address and including a plurality of DMA request data quads, and for storing a plurality of DMA command data structure each corresponding to one of said DMA request data quads and each having a command quad for controlling DMA processing; and a bus for connecting said IO controller to said CPU and said memory; wherein said IO controller selects one of said DMA request data quads in response to receiving a start control, and executes DMA processing in accordance with said command quad of a DMA command data structure corresponding to the selected DMA request data quads.
Claim 27
Dependent Claim
28 words
A data processing system according to claim 21, wherein each of said DMA request data quads has a pointer for specifying a DMA command data structure corresponding thereto.
Claim 28
Dependent Claim
50 words
A data processing system according to claim 21, wherein each of said DMA request data quads has an IO device identifier for identifying an IO device of said plurality of IO devices and wherein said IO controller selects said one DMA request data quad based on said IO device identifier.