Claims Analysis
Total Claims: 67
Claim 1
Independent Claim
250 words
In a data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write to the local memory element(s) contained within the at least one other storage controllers(s), the improvement comprising: a. an XBAR interface block coupled to the first storage controller and further coupled to the at least one other storage controller(s), said XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); b. an invalidate request block coupled to the first storage controller for generating an invalidate request when the first storage controller executes a write instruction; c. a write request block coupled to the first storage controller for generating a write request when the first storage controller executes a write instruction; and d. delaying means coupled to said XBAR interface block for delaying the transmission of the invalidate request to the at least one other storage controller(s) until said XBAR interface block transmits the write request to a selected one of the at least one other storage controller(s).
Claim 2
Dependent Claim
250 words
In a data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write to the local memory element(s) contained within the at least one other storage controllers(s), the improvement comprising: a. an XBAR interface block coupled to the first storage controller and further coupled to the at least one other storage controller(s), said XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); b. an invalidate request block coupled to the first storage controller for generating an invalidate request when the first storage controller executes a write instruction; c. a write request block coupled to the first storage controller for generating a write request when the first storage controller executes a write instruction; and d. delaying means coupled to said XBAR interface block for delaying the transmission of the invalidate request to the at least one other storage controller(s) until said XBAR interface block transmits the write request to a selected one of the at least one other storage controller(s).
Claim 3
Dependent Claim
25 words
An improvement according to claim 1 wherein said invalidate request block further generates an invalidate address when the first storage controller executes a write instruction.
Claim 4
Dependent Claim
25 words
An improvement according to claim 2 wherein said write request block further generates a write address when the first storage controller executes a write instruction.
Claim 5
Dependent Claim
28 words
An improvement according to claim 3 wherein said delaying means does not delay the transmission of the invalidate request when the write instruction is a local write instruction.
Claim 6
Dependent Claim
44 words
An improvement according to claim 4 wherein said delaying means does not delay the transmission of the invalidate request when the write request has already been transmitted to the selected one of the at least one other storage controller(s) by the XBAR interface block.
Claim 7
Dependent Claim
45 words
An improvement according to claim 5 wherein the at least one other storage controller(s) comprise invalidate means for invalidating the second copy of the data block contained in the local memory element(s) therein when the second copy of the data block matches the invalidate address.
Claim 8
Dependent Claim
16 words
An improvement according to claim 6 wherein said invalidate means comprises an invalidate duplicate tag block.
Claim 9
Dependent Claim
32 words
An improvement according to claim 7 wherein a at least one first processing element(s) is coupled to said first storage controller; said at least one first processing element(s) initiating the write instruction.
Claim 10
Dependent Claim
47 words
An improvement according to claim 8 wherein said at least one first processing element(s) initiating the write instruction by providing a write request and a write address to said write request block and by further providing an invalidate request and invalidate address to said invalidate request block.
Claim 11
Dependent Claim
18 words
An improvement according to claim 9 wherein said at least one first processing element(s) comprises an instruction processor.
Claim 12
Dependent Claim
18 words
An improvement according to claim 9 wherein said at least one first processing element(s) comprises an input/output element.
Claim 13
Dependent Claim
50 words
An improvement according to claim 10 wherein a at least one second processing element(s) is coupled to each of said at least one other storage controller(s); said at least one second processing element(s) accessing said local memory element in a corresponding one of said at least one other storage controller(s).
Claim 14
Dependent Claim
52 words
An improvement according to claim 12 wherein said at least one second processing element(s) are prohibited from accessing the second copy of the block of data contained in a corresponding one of the local memory element(s) if the second copy of the block of data has been invalidated by said invalidating means.
Claim 15
Dependent Claim
18 words
An improvement according to claim 13 wherein said at least one second processing element(s) comprise an instruction processor.
Claim 16
Dependent Claim
18 words
An improvement according to claim 13 wherein said at least one second processing element(s) comprise an input/output element.
Claim 17
Dependent Claim
39 words
An improvement according to claim 14 wherein said write request block further comprises a remote out queue wherein said remote out queue services the write requests provided by said at least one first processing element(s) in a predetermined order.
Claim 18
Dependent Claim
39 words
An improvement according to claim 16 wherein said invalidate request block further comprises an invalidate out queue wherein said invalidate out queue services the invalidate requests provided by said at least one first processing element(s) in a predetermined order.
Claim 19
Dependent Claim
28 words
An improvement according to claim 17 wherein said remote out queue triggers the invalidate out queue thereby ensuring that said write request is processed before said invalidate request.
Claim 20
Dependent Claim
54 words
An improvement according to claim 18 wherein said delaying means comprises a remote in queue wherein said remote in queue receives at least one write request from said at least one remote out queue(s) of said at least one first processing element(s) and services the at least one write request(s) in a predetermined order.
Claim 21
Dependent Claim
55 words
An improvement according to claim 19 wherein said delaying means further comprises an invalidate in queue wherein said invalidate in queue receives at least one invalidate request from said at least one invalidate out queue(s) of said at least one first processing element(s) and services the at least one invalidate request(s) in a predetermined order.
Claim 22
Dependent Claim
30 words
An improvement according to claim 20 wherein said remote in queue triggers the invalidate in queue thereby ensuring that a selected write request is processed before a selected invalidate request.
Claim 23
Dependent Claim
139 words
An improvement according to claim 21 further comprising: a. an invalidate acknowledge block coupled to the at least one other storage controller(s) for providing a corresponding at least one invalidate acknowledge signal(s) in response to said invalidate request; said invalidate acknowledge block providing said at least one invalidate acknowledge signal(s) to said XBAR interface block; b. providing means coupled to said delaying means for providing an anticipatory acknowledge signal to the first storage controller when said delaying means provides said invalidate request to the at least one other storage controller(s); and c. monitoring means coupled to said XBAR interface block for monitoring said at least one invalidate acknowledge signal(s) from the at least one other storage controller(s); said monitoring means initiating an error algorithm if a predetermined number of said at least one invalidate acknowledge signal(s) are not activated.
Claim 24
Dependent Claim
249 words
A data processing apparatus having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising: a. an invalidate request block coupled to the first storage controller for generating a invalidate request when the first storage controller executes a write instruction; b. a write request block coupled to the first storage controller for generating a write request when the first storage controller executes a write instruction; c. an XBAR interface block coupled to the first storage controller and further coupled to the at least one other storage controller(s), said XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); and d. a delaying element coupled to said XBAR interface block for delaying the transmission of the invalidate request to the at least one other storage controller(s) until said XBAR interface block transmits the write request to the selected one of the at least one other storage controller(s).
Claim 25
Dependent Claim
249 words
A data processing apparatus having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising: a. an invalidate request block coupled to the first storage controller for generating a invalidate request when the first storage controller executes a write instruction; b. a write request block coupled to the first storage controller for generating a write request when the first storage controller executes a write instruction; c. an XBAR interface block coupled to the first storage controller and further coupled to the at least one other storage controller(s), said XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); and d. a delaying element coupled to said XBAR interface block for delaying the transmission of the invalidate request to the at least one other storage controller(s) until said XBAR interface block transmits the write request to the selected one of the at least one other storage controller(s).
Claim 26
Dependent Claim
27 words
A data processing apparatus according to claim 23 wherein said invalidate request block further generates an invalidate address when the first storage controller executes a write instruction.
Claim 27
Dependent Claim
27 words
A data processing apparatus according to claim 24 wherein said write request block further generates a write address when the first storage controller executes a write instruction.
Claim 28
Dependent Claim
30 words
A data processing apparatus according to claim 25 wherein said delaying element does not delay the transmission of the invalidate request when the write instruction is a local write instruction.
Claim 29
Dependent Claim
46 words
A data processing apparatus according to claim 26 wherein said delaying element does not delay the transmission of the invalidate request when the write request has already been transmitted to the selected one of the at least one other storage controller(s) by the XBAR interface block.
Claim 30
Dependent Claim
48 words
A data processing apparatus according to claim 27 wherein the at least one other storage controller(s) comprise an invalidate element for invalidating the second copy of the data block contained in the local memory element(s) therein when the second copy of the data block matches the invalidate address.
Claim 31
Dependent Claim
18 words
A data processing apparatus according to claim 28 wherein said invalidate element comprises an invalidate duplicate tag block.
Claim 32
Dependent Claim
34 words
A data processing apparatus according to claim 29 wherein a at least one first processing element(s) is coupled to said first storage controller; said at least one first processing element(s) initiating the write instruction.
Claim 33
Dependent Claim
49 words
A data processing apparatus according to claim 30 wherein said at least one first processing element(s) initiating the write instruction by providing a write request and a write address to said write request block and by further providing an invalidate request and invalidate address to said invalidate request block.
Claim 34
Dependent Claim
20 words
A data processing apparatus according to claim 31 wherein said at least one first processing element(s) comprises an instruction processor.
Claim 35
Dependent Claim
20 words
A data processing apparatus according to claim 32 wherein said at least one first processing element(s) comprises an input/output element.
Claim 36
Dependent Claim
52 words
A data processing apparatus according to claim 33 wherein a at least one second processing element(s) is coupled to each of said at least one other storage controller(s); said at least one second processing element(s) accessing said local memory element in a corresponding one of said at least one other storage controller(s).
Claim 37
Dependent Claim
54 words
A data processing apparatus according to claim 34 wherein said at least one second processing element(s) are prohibited from accessing the second copy of the block of data contained in a corresponding one of the local memory element(s) if the second copy of the block of data has been invalidated by said invalidating element.
Claim 38
Dependent Claim
20 words
A data processing apparatus according to claim 35 wherein said at least one second processing element(s) comprise an instruction processor.
Claim 39
Dependent Claim
20 words
A data processing apparatus according to claim 36 wherein said at least one second processing element(s) comprise an input/output element.
Claim 40
Dependent Claim
41 words
A data processing apparatus according to claim 37 wherein said write request block further comprises a remote out queue wherein said remote out queue services the write requests provided by said at least one first processing element(s) in a predetermined order.
Claim 41
Dependent Claim
41 words
A data processing apparatus according to claim 38 wherein said invalidate request block further comprises an invalidate out queue wherein said invalidate out queue services the invalidate requests provided by said at least one first processing element(s) in a predetermined order.
Claim 42
Dependent Claim
30 words
A data processing apparatus according to claim 39 wherein said remote out queue triggers the invalidate out queue thereby ensuring that said write request is processed before said invalidate request.
Claim 43
Dependent Claim
56 words
A data processing apparatus according to claim 40 wherein said delaying element comprises a remote in queue wherein said remote in queue receives at least one write request from said at least one remote out queue(s) of said at least one first processing element(s) and services the at least one write request(s) in a predetermined order.
Claim 44
Dependent Claim
57 words
A data processing apparatus according to claim 41 wherein said delaying element further comprises an invalidate in queue wherein said invalidate in queue receives at least one invalidate request from said at least one invalidate out queue(s) of said at least one first processing element(s) and services the at least one invalidate request(s) in a predetermined order.
Claim 45
Dependent Claim
32 words
A data processing apparatus according to claim 42 wherein said remote in queue triggers the invalidate in queue thereby ensuring that a selected write request is processed before a selected invalidate request.
Claim 46
Dependent Claim
141 words
A data processing apparatus according to claim 43 further comprising: a. an invalidate acknowledge block coupled to the at least one other storage controller(s) for providing a corresponding at least one invalidate acknowledge signal(s) in response to said invalidate request; said invalidate acknowledge block providing said at least one invalidate acknowledge signal(s) to said XBAR interface block; b. providing element coupled to said delaying element for providing an anticipatory acknowledge signal to the first storage controller when said delaying element provides said invalidate request to the at least one other storage controller(s); and c. monitoring circuit coupled to said XBAR interface block for monitoring said at least one invalidate acknowledge signal(s) from the at least one other storage controller(s); said monitoring element initiating an error algorithm if a predetermined number of said at least one invalidate acknowledge signal(s) are not activated.
Claim 47
Independent Claim
250 words
A method of ensuring data coherency in a data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising: a. providing a XBAR interface block coupling the first storage controller to the at least one other storage controller(s), the XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); b. providing an invalidate request block coupled to the first storage controller for generating a invalidate request when the first storage controller executes a write instruction; c. providing a write request block coupled to the first storage controller for generating a write request when the first storage controller executes a write instruction; and d. delaying the transmission of the invalidate request to the at least one other storage controller(s) within the XBAR interface block until the XBAR interface block transmits the write request to a selected one of the at least one other storage controller(s).
Claim 48
Independent Claim
250 words
A method of ensuring data coherency in a data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising: a. providing a XBAR interface block coupling the first storage controller to the at least one other storage controller(s), the XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); b. providing an invalidate request block coupled to the first storage controller for generating a invalidate request when the first storage controller executes a write instruction; c. providing a write request block coupled to the first storage controller for generating a write request when the first storage controller executes a write instruction; and d. delaying the transmission of the invalidate request to the at least one other storage controller(s) within the XBAR interface block until the XBAR interface block transmits the write request to a selected one of the at least one other storage controller(s).
Claim 49
Independent Claim
738 words
A method of ensuring data coherency in a data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising the steps of: a. providing an XBAR interface block coupling the first storage controller to the at least one other storage controller(s), the XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); b. providing an invalidate request block coupled to the first storage controller for generating an invalidate request when the first storage controller executes a write instruction; c. providing a write request block coupled to the first storage controller for generating a write request when the first storage controller executes a write instruction; d. providing a write out queue, a write in queue, an invalidate out queue, and an invalidate in queue within the first storage controller and within each of the at least one other storage controller(s); e. providing a remote write queue and a remote invalidate queue within the XBAR interface block; f. providing an invalidate duplicate tag block within the first storage controller and the at least one other storage controller(s); g. waiting for the write request block within the first storage controller to generate a write request; h. capturing the write request in the write out queue within the first storage controller when step (g) detects the write request; i. waiting for the write out queue to service the write request captured in step (h); j. determining if the write request is to a memory within the first storage controller or to a memory within one of the at least one other storage controller(s) thereby determining if the write request is local or remote; k. routing a corresponding write address and write data to the local memory element within the first storage controller and perform a write therein if step (j) determines that the write request is local; l. placing an invalidate request into the invalidate out queue; m. waiting for the invalidate out queue to service the invalidate request; n. routing an invalidate address to the invalidate duplicate tag block within the first storage controller; o. determining if there is a match between the invalidate address and the contents of the invalidate duplicate tag block; p. invalidating the first copy of the data block if a match is found in step (o); q. performing steps (r)→(zz) if the write request is to a remote storage controller; r. sending the write request and the corresponding write address to the remote write queue within the XBAR interface block; s. sending the invalidate request and the corresponding invalidate address to the remote invalidate queue within the XBAR interface block; t. waiting for the remote write queue to service the write request; u. allowing the invalidate request to enter the remote invalidate queue when the remote write queue services the write request; v. routing the write request and the corresponding write address to the write in queue within a selected one of the at least one other storage controller(s); w. waiting for the remote invalidate queue to service the invalidate request; x. routing the invalidate request and the corresponding invalidate address to the invalidate in queue within the selected one of the at least one other storage controller(s); y. waiting for the write in queue to service the write request, and once serviced, route the corresponding write address to the local memory within the selected one of the at least one other storage controller(s) and performing a write thereon; z. routing the invalidate address to the invalidate duplicate tag block within the selected one of the at least one other storage controllers and determining of there is a match between the invalidate address and the contents of the invalidate duplicate tag block; and zz. invalidating the second copy of the data block if a match is found in step (z).
Claim 50
Independent Claim
738 words
A method of ensuring data coherency in a data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising the steps of: a. providing an XBAR interface block coupling the first storage controller to the at least one other storage controller(s), the XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); b. providing an invalidate request block coupled to the first storage controller for generating an invalidate request when the first storage controller executes a write instruction; c. providing a write request block coupled to the first storage controller for generating a write request when the first storage controller executes a write instruction; d. providing a write out queue, a write in queue, an invalidate out queue, and an invalidate in queue within the first storage controller and within each of the at least one other storage controller(s); e. providing a remote write queue and a remote invalidate queue within the XBAR interface block; f. providing an invalidate duplicate tag block within the first storage controller and the at least one other storage controller(s); g. waiting for the write request block within the first storage controller to generate a write request; h. capturing the write request in the write out queue within the first storage controller when step (g) detects the write request; i. waiting for the write out queue to service the write request captured in step (h); j. determining if the write request is to a memory within the first storage controller or to a memory within one of the at least one other storage controller(s) thereby determining if the write request is local or remote; k. routing a corresponding write address and write data to the local memory element within the first storage controller and perform a write therein if step (j) determines that the write request is local; l. placing an invalidate request into the invalidate out queue; m. waiting for the invalidate out queue to service the invalidate request; n. routing an invalidate address to the invalidate duplicate tag block within the first storage controller; o. determining if there is a match between the invalidate address and the contents of the invalidate duplicate tag block; p. invalidating the first copy of the data block if a match is found in step (o); q. performing steps (r)→(zz) if the write request is to a remote storage controller; r. sending the write request and the corresponding write address to the remote write queue within the XBAR interface block; s. sending the invalidate request and the corresponding invalidate address to the remote invalidate queue within the XBAR interface block; t. waiting for the remote write queue to service the write request; u. allowing the invalidate request to enter the remote invalidate queue when the remote write queue services the write request; v. routing the write request and the corresponding write address to the write in queue within a selected one of the at least one other storage controller(s); w. waiting for the remote invalidate queue to service the invalidate request; x. routing the invalidate request and the corresponding invalidate address to the invalidate in queue within the selected one of the at least one other storage controller(s); y. waiting for the write in queue to service the write request, and once serviced, route the corresponding write address to the local memory within the selected one of the at least one other storage controller(s) and performing a write thereon; z. routing the invalidate address to the invalidate duplicate tag block within the selected one of the at least one other storage controllers and determining of there is a match between the invalidate address and the contents of the invalidate duplicate tag block; and zz. invalidating the second copy of the data block if a match is found in step (z).
Claim 51
Dependent Claim
42 words
A method according to claim 46 wherein step (u) may further comprise allowing the invalidate request to enter the remote invalidate queue if the write request has already been transmitted to the selected one of the at least one other storage controller(s).
Claim 52
Dependent Claim
31 words
A method according to claim 47 wherein step (u) may further comprise allowing the invalidate request to enter the remote invalidate queue if the write instruction is a local write instruction.
Claim 53
Dependent Claim
322 words
A data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising: a. an XBAR interface block coupled to the first storage controller and further coupled to the at least one other storage controller(s), said XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); b. an invalidate request block coupled to the first storage controller for generating an invalidate request when the first storage controller executes a write instruction; said invalidate request block providing said invalidate request to said XBAR interface block; c. an invalidate acknowledge block coupled to the at least one other storage controller(s) for providing a corresponding at least one invalidate acknowledge signal(s) in response to said invalidate request; said invalidate acknowledge block providing said at least one invalidate acknowledge signal(s) to said XBAR interface block; d. providing means coupled to said XBAR interface block for providing an anticipatory acknowledge signal to the first storage controller when said XBAR interface block provides said invalidate request to the at least one other storage controller(s); and e. monitoring means coupled to said XBAR interface block for monitoring said at least one invalidate acknowledge signal(s) from said at least one other storage controller(s); said monitoring means initiating an error algorithm if a predetermined number of said at least one invalidate acknowledge signal(s) are not activated.
Claim 54
Dependent Claim
322 words
A data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising: a. an XBAR interface block coupled to the first storage controller and further coupled to the at least one other storage controller(s), said XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); b. an invalidate request block coupled to the first storage controller for generating an invalidate request when the first storage controller executes a write instruction; said invalidate request block providing said invalidate request to said XBAR interface block; c. an invalidate acknowledge block coupled to the at least one other storage controller(s) for providing a corresponding at least one invalidate acknowledge signal(s) in response to said invalidate request; said invalidate acknowledge block providing said at least one invalidate acknowledge signal(s) to said XBAR interface block; d. providing means coupled to said XBAR interface block for providing an anticipatory acknowledge signal to the first storage controller when said XBAR interface block provides said invalidate request to the at least one other storage controller(s); and e. monitoring means coupled to said XBAR interface block for monitoring said at least one invalidate acknowledge signal(s) from said at least one other storage controller(s); said monitoring means initiating an error algorithm if a predetermined number of said at least one invalidate acknowledge signal(s) are not activated.
Claim 55
Dependent Claim
16 words
A data processing system according to claim 49 wherein said providing means comprises a providing circuit.
Claim 56
Dependent Claim
16 words
A data processing system according to claim 50 wherein said monitoring means comprises a monitoring circuit.
Claim 57
Dependent Claim
16 words
A data processing system according to claim 51 where said monitoring circuit comprises an AND function.
Claim 58
Independent Claim
393 words
A method of accelerating the invalidate priority in a data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising: a. providing an XBAR interface block wherein said XBAR interface block is coupled to the first storage controller and further coupled to the at least one other storage controller(s), said XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); said XBAR interface block having an invalidate request queue; b. providing an invalidate request block coupled to the first storage controller for generating an invalidate request when the first storage controller executes a write instruction; c. providing an invalidate acknowledge block coupled to the at least one other storage controller(s) for providing a corresponding at least one invalidate acknowledge signal(s) in response to said invalidate request; d. waiting for the first storage controller to perform a write operation; e. generating an invalidate request via said invalidate request block when step (d) detects a write operation; f. providing said invalidate request to said XBAR interface block; g. placing said invalidate request into the invalidate request queue; h. issuing an anticipatory acknowledge back to the first storage controller; i. allowing the first storage controller to perform subsequent write operations upon receiving the anticipatory acknowledge issued in step (h); j. sending said invalidate request to a predetermined set of the at least one other storage controller(s); k. receiving an invalidate acknowledge from each of said invalidate acknowledge block(s) of the at least one other storage controller(s); l. determining if a predetermined number of the invalidate acknowledge signals received in step (k) are activated; and m. issuing an error and performing an error recovery algorithm of step (1) determines that a predetermined number of the invalidate acknowledge signals are not activated.
Claim 59
Independent Claim
393 words
A method of accelerating the invalidate priority in a data processing system having a first storage controller and at least one other storage controller(s) wherein the first storage controller has a first local memory element that may contain a first copy of a data block and wherein each of the at least one other storage controller(s) have a local memory element contained therein that may contain a second copy of the data block, the first storage controller being able to execute a local write instruction to the first local memory element and further having the capability to execute a remote write instruction to the local memory element(s) contained within the at least one other storage controller(s), comprising: a. providing an XBAR interface block wherein said XBAR interface block is coupled to the first storage controller and further coupled to the at least one other storage controller(s), said XBAR interface block providing an interface between the first storage controller and the at least one other storage controller(s); said XBAR interface block having an invalidate request queue; b. providing an invalidate request block coupled to the first storage controller for generating an invalidate request when the first storage controller executes a write instruction; c. providing an invalidate acknowledge block coupled to the at least one other storage controller(s) for providing a corresponding at least one invalidate acknowledge signal(s) in response to said invalidate request; d. waiting for the first storage controller to perform a write operation; e. generating an invalidate request via said invalidate request block when step (d) detects a write operation; f. providing said invalidate request to said XBAR interface block; g. placing said invalidate request into the invalidate request queue; h. issuing an anticipatory acknowledge back to the first storage controller; i. allowing the first storage controller to perform subsequent write operations upon receiving the anticipatory acknowledge issued in step (h); j. sending said invalidate request to a predetermined set of the at least one other storage controller(s); k. receiving an invalidate acknowledge from each of said invalidate acknowledge block(s) of the at least one other storage controller(s); l. determining if a predetermined number of the invalidate acknowledge signals received in step (k) are activated; and m. issuing an error and performing an error recovery algorithm of step (1) determines that a predetermined number of the invalidate acknowledge signals are not activated.
Claim 60
Dependent Claim
15 words
A method according to claim 53 wherein said invalidate request queue comprises a memory element.
Claim 61
Independent Claim
145 words
An apparatus comprising: a. a first storage controller having a first local memory element wherein the first local memory element may contain a first copy of a data block; b. a number of other storage controllers, wherein each of said number of other storage controllers include a local memory element that may containing a second copy of the data block; c. an XBAR interface block coupled to said first storage controller and further coupled to selected ones of said number of other storage controllers, the XBAR interface block providing an interface between said first storage controller and the selected ones of the number of other storage controllers; and d. said first storage controller being capable of providing a remote write instruction to selected ones of said local memory elements of the selected ones of the number of other storage controllers via said XBAR interface block.
Claim 62
Independent Claim
145 words
An apparatus comprising: a. a first storage controller having a first local memory element wherein the first local memory element may contain a first copy of a data block; b. a number of other storage controllers, wherein each of said number of other storage controllers include a local memory element that may containing a second copy of the data block; c. an XBAR interface block coupled to said first storage controller and further coupled to selected ones of said number of other storage controllers, the XBAR interface block providing an interface between said first storage controller and the selected ones of the number of other storage controllers; and d. said first storage controller being capable of providing a remote write instruction to selected ones of said local memory elements of the selected ones of the number of other storage controllers via said XBAR interface block.
Claim 63
Dependent Claim
40 words
An apparatus according to claim 55 wherein said first storage controller is further capable of providing an invalidate request, corresponding to selected remote write instructions, to selected ones of the number of other storage controllers via said XBAR interface block.
Claim 64
Dependent Claim
44 words
An apparatus according to claim 56 wherein said XBAR interface block delays the transmission of said invalidate request to the selected ones of the number of storage controllers until the remote write instruction reaches the selected ones of the number of other storage controllers.
Claim 65
Dependent Claim
42 words
An apparatus according to claim 56 wherein said XBAR interface block provides an anticipatory invalid acknowledge back to said first storage controller when said first storage controller provides said invalid requests to the selected ones of the number of other storage controllers.
Claim 66
Dependent Claim
38 words
An apparatus according to claim 58 wherein each of the selected ones of the number of other storage controllers provides an invalidate acknowledge to said XBAR interface block, after receiving an invalidate request from the first storage controller.
Claim 67
Dependent Claim
36 words
An apparatus according to claim 59 wherein said XBAR interface block initiates an error recovery algorithm if any of the selected ones of the number of other storage controllers does not provide a predefined invalid acknowledge.