Packet control procedure between a host processor and a peripheral unit
First Claim
1. A method for controlling data communications between a source and a destination, said data communications accomplished by transmission of data segments, said source performing the steps of:
- (a) transmitting a message to said destination which requests an allocation of a specified number of credits from said destination, a credit manifesting a portion of memory space in said destination that has been reserved to store a data segment received from said source;
(b) updating a stored credit value at said source with a granted credit value, upon receipt of a message from said destination which includes said granted credit value, said granted credit value manifesting at least some requested ones of said specified number of credits requested by said source;
(c) transmitting a data segment or data segments and decrementing said stored credit value for each transmitted data segment;
(d) continuing transmission of data segments and decrementing of said stored credit value for each transmitted packet until said credit value reaches a threshold value; and
(e) transmitting a further message to said destination requesting a further allocation of a specified number of credits from said destination if additional data segments await to be transmitted.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for controlling packet communications between a source and destination causes a source to perform the steps of: transmitting a message to the destination which requests an allocation of a specified number of credits from the destination, a credit manifesting a portion of memory space in the destination that has been set aside to store a received packet; updating a stored credit value at the source upon receipt of a message from the destination which grants at least some of the requested credits; and transmitting a packet or packets from the source to the destination and decrementing the stored credit value for each transmitted packet. The source also includes means for transmitting a packet debit command which returns to the destination credits that are no longer required by the source, thus enabling the destination to reallocate the debited credits to another source which wishes to communicate.
71 Citations
7 Claims
-
1. A method for controlling data communications between a source and a destination, said data communications accomplished by transmission of data segments, said source performing the steps of:
-
(a) transmitting a message to said destination which requests an allocation of a specified number of credits from said destination, a credit manifesting a portion of memory space in said destination that has been reserved to store a data segment received from said source; (b) updating a stored credit value at said source with a granted credit value, upon receipt of a message from said destination which includes said granted credit value, said granted credit value manifesting at least some requested ones of said specified number of credits requested by said source; (c) transmitting a data segment or data segments and decrementing said stored credit value for each transmitted data segment; (d) continuing transmission of data segments and decrementing of said stored credit value for each transmitted packet until said credit value reaches a threshold value; and (e) transmitting a further message to said destination requesting a further allocation of a specified number of credits from said destination if additional data segments await to be transmitted. - View Dependent Claims (2, 3, 4)
-
-
5. A system for controlling communications between a source and a destination, said communication accomplished by transmission of data packets, said system comprising:
-
means for transmitting from said source to said destination, a control message requesting said destination to allocate N portions of memory space to receive N data packets from said source, where N≧
1;source memory means; means at said source responsive to receipt of a control message from said destination that indicates an allocation of at least some said N portions of memory, to update a stored value in said source memory means of previously allocated portions of memory, if any, from said destination so as to reflect said allocation; means for transmitting from said source to said destination, a number of data packets, said number equal to or less than said stored value of allocated portions of memory from said destination; means at said source, responsive to all data packets destined for said destination having been transmitted and said stored value in said source memory means manifesting an unused portion or portions of memory previously allocated by said destination, to transmit a message to said destination relinquishing said unused portion or portions of memory previously allocated; and means at said destination for reallocating to another source, a relinquished unused portion or portions of memory. - View Dependent Claims (6, 7)
-
Specification