Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
192 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, said method comprising: addressing a head hardware command block storage site of an endless hardware command block queue using only a head hardware command block pointer wherein said head hardware command block pointer is changed only by a first party; and addressing a tail hardware command block storage site of said endless hardware command block queue using only a tail hardware command block pointer wherein said tail hardware command block pointer is changed only by a second party different from said first party; and further wherein said first party is one of (I) a process executing on a device processor of one device in said plurality of devices and (ii) a device driver executing on said system processor; said second party is the other of said process executing on said device processor and said device driver; and said endless hardware command block queue is maintained to never be empty and so has at least one storage site allocated to said endless hardware command block queue following an initialization.
Claim 2
Independent Claim
192 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, said method comprising: addressing a head hardware command block storage site of an endless hardware command block queue using only a head hardware command block pointer wherein said head hardware command block pointer is changed only by a first party; and addressing a tail hardware command block storage site of said endless hardware command block queue using only a tail hardware command block pointer wherein said tail hardware command block pointer is changed only by a second party different from said first party; and further wherein said first party is one of (I) a process executing on a device processor of one device in said plurality of devices and (ii) a device driver executing on said system processor; said second party is the other of said process executing on said device processor and said device driver; and said endless hardware command block queue is maintained to never be empty and so has at least one storage site allocated to said endless hardware command block queue following an initialization.
Claim 3
Dependent Claim
70 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, as in claim 1 wherein said endless hardware command block queue is an endless new hardware command block queue; said first party is said process executing on said device processor of one device in said plurality of devices; and said second party is said device driver.
Claim 4
Dependent Claim
72 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, as in claim 2 further comprising: scanning said endless new hardware command block queue by said process executing on said device processor of one device in said plurality of devices to determine whether said endless new hardware command block contains a hardware command block that can be executed.
Claim 5
Dependent Claim
114 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 3, wherein said method further comprises: leaving said head hardware command block pointer unchanged by said process executing on said device processor of one device when (i) said endless new hardware command block queue contains a hardware command block that can be executed, and (ii) said hardware command block that can be executed is stored in a hardware command block storage site in said endless new hardware command block queue other than said hardware command block storage site pointed to by said head hardware command block pointer.
Claim 6
Dependent Claim
74 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 3, wherein said method further comprises: removing a hardware command block, that can be executed and that is stored in a site other than said hardware command block site addressed by said head hardware command block pointer, from said endless new hardware command block queue for execution.
Claim 7
Dependent Claim
41 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 5 wherein said method, further comprises: mending said endless new hardware command block queue.
Claim 8
Dependent Claim
66 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 3, wherein said method further comprises: removing a hardware command block that can be executed from said hardware command block site addressed by said head hardware command block pointer from said endless new hardware command block queue for execution.
Claim 9
Dependent Claim
93 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 3, wherein said method further comprises: updating said head hardware command block pointer by said process executing on said device processor of one device when (i) said endless new hardware command block queue contains a hardware command block that can be executed, and (ii) said hardware command block that can be executed is stored in a site pointed to by said head hardware command block pointer.
Claim 10
Dependent Claim
45 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 2 wherein said method further comprises: initializing said endless new hardware command block queue by said device driver.
Claim 11
Dependent Claim
67 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, as in claim 9 wherein said initializing operation includes: loading a head hardware command block pointer in a memory addressable by said device processor with a pointer to an initial hardware command block storage site in said endless new hardware command block queue.
Claim 12
Dependent Claim
66 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, as in claim 10 wherein said initializing operation includes: loading a tail hardware command block pointer in a memory of said system processor with a pointer to said initial hardware command block storage site in said endless new hardware command block queue.
Claim 13
Dependent Claim
51 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, as in claim 9 wherein said initializing operation includes: setting a next queue site field in an initial hardware command block storage site to an invalid pointer.
Claim 14
Dependent Claim
69 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 2, said method further comprising: loading a new hardware command block in a tail hardware command block storage site of said endless new hardware command block queue without changing a next queue site field of said tail hardware command block storage site.
Claim 15
Dependent Claim
52 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 13, said method further comprising: allocating a new hardware command block storage site for said endless new hardware command block queue by said device driver.
Claim 16
Dependent Claim
62 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 14, said method further comprising: setting a next queue site field, in said new hardware command block storage site for said endless new hardware command block queue, to an invalid pointer by said device driver.
Claim 17
Dependent Claim
59 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 15, said method further comprising: setting, by said device driver, next queue site field of said tail hardware command block storage site to point to said new hardware command block storage site.
Claim 18
Dependent Claim
78 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 16, said method further comprising: updating said tail hardware command block pointer, by said device driver, to point to said new hardware command block storage site so that said new hardware command block storage site becomes the tail hardware command block storage site of said endless new hardware command block queue.
Claim 19
Dependent Claim
70 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, as in claim 1 wherein said endless hardware command block queue is an endless done hardware command block queue; said first party is said device driver; and said second party is said process executing on said device processor of one device in said plurality of device.
Claim 20
Dependent Claim
70 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 18, wherein said method further comprises: reading, by said device driver, a next site queue field in said hardware command block storage site addressed by said head hardware command block pointer to determine whether said next site queue field contains a valid pointer.
Claim 21
Dependent Claim
65 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 19, wherein said method further comprises: copying, by said device driver, the value in said next site queue field to said head hardware command block pointer upon determining that said next site queue field contains a valid pointer.
Claim 22
Dependent Claim
53 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 20, wherein said method further comprises: deallocating, by said device driver, the hardware command block storage site previously addressed by said head hardware command block pointer.
Claim 23
Dependent Claim
74 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 20, wherein said method further comprises: posting, by said device driver, the hardware command block in the hardware command block storage site pointed to by the value in said next site queue field as completed upon determining that said next site queue field contains a valid pointer.
Claim 24
Dependent Claim
45 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 18 wherein said method further comprises: initializing said endless done hardware command block queue by said device driver.
Claim 25
Dependent Claim
66 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus, as in claim 23 wherein said initializing operation includes: loading a head hardware command block pointer in a memory of said system processor with a pointer to an initial hardware command block storage site in said endless done hardware command block queue.
Claim 26
Dependent Claim
66 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 23 wherein said initializing operation includes: loading a tail hardware command block pointer in a memory addressable by said device processor with a pointer to an initial hardware command block storage site in said endless hardware command block queue.
Claim 27
Dependent Claim
51 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 23 wherein said initializing operation includes: setting a next queue site field in an initial hardware command block storage site to an invalid pointer.
Claim 28
Dependent Claim
58 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 18, said method further comprising: setting, by said process executing on said device processor, a next queue site field in a newly complete hardware command block to an invalid pointer value.
Claim 29
Dependent Claim
56 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 27, said method further comprising: reading, by said process executing on said device processor, said tail hardware command block site pointer for said endless done hardware command block queue.
Claim 30
Dependent Claim
56 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 28, said method further comprising: updating, by said process executing on said device processor, said tail hardware command block site pointer to address said newly completed hardware command block.
Claim 31
Dependent Claim
66 words
A method for management of hardware command blocks in a system having a system processor coupled to a plurality of devices by a bus as in claim 15, said method further comprising: setting, by said process executing on said device processor, said next queue site field of said previous tail hardware command block storage site to point to said new tail hardware command block storage site.
Claim 32
Independent Claim
116 words
A method for managing hardware command blocks for a plurality of devices where each device includes a device processor: forming an endless queue for a device in a memory external to said device, wherein following formation, said endless queue is maintained to have at least one storage site always allocated to said endless queue and so said endless queue is never empty; maintaining a first pointer to said endless queue in a memory that is not within the memory space of said device processor; and maintaining a second pointer to said endless queue in a memory of said device processor, wherein said second pointer is used only by said device processor in accessing said endless queue.
Claim 33
Independent Claim
116 words
A method for managing hardware command blocks for a plurality of devices where each device includes a device processor: forming an endless queue for a device in a memory external to said device, wherein following formation, said endless queue is maintained to have at least one storage site always allocated to said endless queue and so said endless queue is never empty; maintaining a first pointer to said endless queue in a memory that is not within the memory space of said device processor; and maintaining a second pointer to said endless queue in a memory of said device processor, wherein said second pointer is used only by said device processor in accessing said endless queue.