Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
324 words
A data transfer method in which a sending processor sends data to a receiving processor via a shared memory using a put pointer stored in the shared memory, the value of which indicates a next location in the shared memory to which the sending processor is to write, and a get pointer also stored in shared memory, the value of which indicates a next location in the shared memory from which the receiving processor is to read, said data transfer method comprising the steps of: executing a data-sending process with the sending processor, the data-sending process including the steps of (1) reading a counter of outstanding acknowledgements, the counter being stored in local memory of the sending processor, so as to determine whether there is available space in shared memory, (2) if there is available space, reading the get and put pointers from shared memory and determining whether the put pointer is equal to one of plural partition indices which correspond to a number of partitions into which the shared memory is divided, (3) in a case where the put pointer is equal to one of the plural predetermined partition indices, the data-sending process writing a command requesting the receiving processor to issue an acknowledgement over a signal line that is independent of and external to the shared memory, and updating the counter of outstanding acknowledgements in said local memory of said sending processor by adding one, (4) writing a block of data into the shared memory at a location of the put pointer, and (5) updating the put pointer; suspending the data-sending process in a case where the counter of outstanding acknowledgements indicates that there is insufficient space available in the shared memory; receiving at the sending processor an acknowledgement over the signal line from the receiving processor, and updating the counter of outstanding acknowledgements by reducing the counter by one; and re-executing the data-sending process after the receiving processor issues the acknowledgement.
Claim 2
Dependent Claim
324 words
A data transfer method in which a sending processor sends data to a receiving processor via a shared memory using a put pointer stored in the shared memory, the value of which indicates a next location in the shared memory to which the sending processor is to write, and a get pointer also stored in shared memory, the value of which indicates a next location in the shared memory from which the receiving processor is to read, said data transfer method comprising the steps of: executing a data-sending process with the sending processor, the data-sending process including the steps of (1) reading a counter of outstanding acknowledgements, the counter being stored in local memory of the sending processor, so as to determine whether there is available space in shared memory, (2) if there is available space, reading the get and put pointers from shared memory and determining whether the put pointer is equal to one of plural partition indices which correspond to a number of partitions into which the shared memory is divided, (3) in a case where the put pointer is equal to one of the plural predetermined partition indices, the data-sending process writing a command requesting the receiving processor to issue an acknowledgement over a signal line that is independent of and external to the shared memory, and updating the counter of outstanding acknowledgements in said local memory of said sending processor by adding one, (4) writing a block of data into the shared memory at a location of the put pointer, and (5) updating the put pointer; suspending the data-sending process in a case where the counter of outstanding acknowledgements indicates that there is insufficient space available in the shared memory; receiving at the sending processor an acknowledgement over the signal line from the receiving processor, and updating the counter of outstanding acknowledgements by reducing the counter by one; and re-executing the data-sending process after the receiving processor issues the acknowledgement.
Claim 3
Dependent Claim
96 words
A data transfer method according to claim 1, wherein said receiving processor executes a data-retrieving process by: reading the get pointer and the put pointer from shared memory; determining whether there is data in the shared memory which must be retrieved; reading a block of data from the shared memory at a location of the get pointer in a case where there is data which must be retrieved, and updating the get pointer; executing commands issued by the sending processor including a command to issue an acknowledgement over the signal line; and re-executing the data-retrieving process.
Claim 4
Dependent Claim
29 words
A method according to claim 2, wherein the receiving processor executes the command to issue an acknowledgement by sending an interrupt over the signal line to the sending processor.
Claim 5
Dependent Claim
46 words
A method according to claim 1, wherein the shared memory is divided into a first area in which data being transferred between the sending processor and the receiving processor is stored, and a second area in which the get pointer and the put pointer are stored.
Claim 6
Dependent Claim
16 words
A method according to claim 4, wherein the first area is configured as a ring buffer.
Claim 7
Dependent Claim
34 words
A method according to claim 5, wherein said plural predetermined partition indices comprise a first index at a beginning of the ring buffer and a second index at a midpoint of the ring buffer.
Claim 8
Dependent Claim
17 words
A method according to claim 5, wherein said plural predetermined partition indices comprise at least three indices.
Claim 9
Dependent Claim
17 words
A method according to claim 5, wherein said plural predetermined partition indices comprise at least four indices.
Claim 10
Dependent Claim
17 words
A method according to claim 5, wherein said plural predetermined partition indices comprise at least ten indices.
Claim 11
Dependent Claim
384 words
A data transfer apparatus comprising: a sending processor which sends data to a receiving processor via a shared memory using a put pointer stored in the shared memory, a value of said put pointer indicating a next location in the shared memory to which the sending processor is to write, and a get pointer also stored in shared memory, a value of said get pointer indicating a next location in the shared memory from which the receiving processor is to read; an interface to a signal line by which the sending processor can sense acknowledgements transmitted over the signal line by the receiving processor, the signal line being external of and independent of the shared memory; and a local memory of the sending processor, the local memory including at least a region for storing program instruction sequences for execution by the sending processor, and at least a region for storing a counter of outstanding acknowledgements; wherein the program instruction sequences include a data sending process in which the sending processor (1) reads the counter of outstanding acknowledgements so as to determine whether there is available space in shared memory, (2) if there is available space, reads the get and put pointers from shared memory and determines whether the put pointer is equal to one of plural partition indices which correspond to a number of partitions into which the shared memory is divided, (3) in a case where the put pointer is equal to one of the plural predetermined partition indices, the sending processor writes a command requesting the receiving processor to issue an acknowledgement over the signal line, and updates the counter of outstanding acknowledgements in said local memory of said sending processor by adding one, (4) writes a block of data into the shared memory at a location of the put pointer, and (5) updates the put pointer; and wherein the program instruction sequences further include steps to suspend the data-sending process in a case where the counter of outstanding acknowledgements indicates that there is insufficient space available in shared memory, to receive at the sending processor an acknowledgement over the signal line from the receiving processor, to update the counter of outstanding acknowledgements by reducing the counter by one, and to re-execute the data-sending process after the receiving processor issues the acknowledgement.
Claim 12
Dependent Claim
384 words
A data transfer apparatus comprising: a sending processor which sends data to a receiving processor via a shared memory using a put pointer stored in the shared memory, a value of said put pointer indicating a next location in the shared memory to which the sending processor is to write, and a get pointer also stored in shared memory, a value of said get pointer indicating a next location in the shared memory from which the receiving processor is to read; an interface to a signal line by which the sending processor can sense acknowledgements transmitted over the signal line by the receiving processor, the signal line being external of and independent of the shared memory; and a local memory of the sending processor, the local memory including at least a region for storing program instruction sequences for execution by the sending processor, and at least a region for storing a counter of outstanding acknowledgements; wherein the program instruction sequences include a data sending process in which the sending processor (1) reads the counter of outstanding acknowledgements so as to determine whether there is available space in shared memory, (2) if there is available space, reads the get and put pointers from shared memory and determines whether the put pointer is equal to one of plural partition indices which correspond to a number of partitions into which the shared memory is divided, (3) in a case where the put pointer is equal to one of the plural predetermined partition indices, the sending processor writes a command requesting the receiving processor to issue an acknowledgement over the signal line, and updates the counter of outstanding acknowledgements in said local memory of said sending processor by adding one, (4) writes a block of data into the shared memory at a location of the put pointer, and (5) updates the put pointer; and wherein the program instruction sequences further include steps to suspend the data-sending process in a case where the counter of outstanding acknowledgements indicates that there is insufficient space available in shared memory, to receive at the sending processor an acknowledgement over the signal line from the receiving processor, to update the counter of outstanding acknowledgements by reducing the counter by one, and to re-execute the data-sending process after the receiving processor issues the acknowledgement.
Claim 13
Dependent Claim
125 words
A data transfer apparatus according to claim 10, wherein said receiving processor includes a local memory for storing program instruction sequences for execution by the receiving processor, the program instruction sequences including a data-retrieving process in which the receiving processor (1) reads the get pointer and the put pointer from the shared memory, (2) determines whether there is data in the shared memory which must be retrieved, (3) reads a block of data from the shared memory at a location of the get pointer in a case where there is data which must be retrieved, (4) updates the get pointer, (5) executes commands issued by the sending processor including a command to issue an acknowledgement over the signal line, and (6) re-executes the data-retrieving process.
Claim 14
Dependent Claim
31 words
A data transfer apparatus according to claim 11, wherein the receiving processor executes the command to issue an acknowledgement by sending an interrupt over the signal line to the sending processor.
Claim 15
Dependent Claim
48 words
A data transfer apparatus according to claim 10, wherein the shared memory is divided into a first area in which data being transferred between the sending processor and the receiving processor is stored, and a second area in which the get pointer and the put pointer are stored.
Claim 16
Dependent Claim
18 words
A data transfer apparatus according to claim 13, wherein the first area is configured as a ring buffer.
Claim 17
Dependent Claim
36 words
A data transfer apparatus according to claim 14, wherein said plural predetermined partition indices comprise a first index at a beginning of the ring buffer and a second index at a midpoint of the ring buffer.
Claim 18
Dependent Claim
19 words
A data transfer apparatus according to claim 14, wherein said plural predetermined partition indices comprise at least three indices.
Claim 19
Dependent Claim
19 words
A data transfer apparatus according to claim 14, wherein said plural predetermined partition indices comprise at least four indices.
Claim 20
Dependent Claim
19 words
A data transfer apparatus according to claim 14, wherein said plural predetermined partition indices comprise at least ten indices.