Apparatus and method for allocating buffer space
AssigneeAdvanced Micro Devices, Inc.
InventorWilliam Alexander Hughes
Life of this patent
Estimating the term…
Abstract
An apparatus is described in which the locations of a buffer are used to store a plurality of control packets received in a node, wherein the plurality of control packets belong to a plurality of virtual channels. The number of locations assigned to each virtual channel may be dynamically allocated. The number of locations allocated to each virtual channel may be determined by an update circuit. Count values corresponding to the number of locations allocated to each virtual channel may then be stored within a programmable storage, such as a register, for example. The count values may be subsequently copied into a slave register and incremented and decremented as locations become available and notifications corresponding to the available locations are sent, respectively.
Claims28
An apparatus comprising:
- a buffer including a plurality of storage locations configured to store a plurality of control packets each belonging to one of a plurality of virtual channels;
- a programmable storage configured to store a plurality of count values, wherein each of said count values is indicative of a number of said plurality of storage locations allocated to a respective one of said plurality of virtual channels;
- and
- an update circuit configured to write said plurality of count values to said programmable storage.
A computer system comprising:
- one or more process nodes interconnected by a plurality of first links;
- an I/O node coupled to said one or more process nodes by a second link;
- wherein each of said one or more process nodes and said I/O node includes an apparatus, said apparatus including:
- a buffer including a plurality of storage locations configured to store a plurality of control packets each belonging to one of a plurality of virtual channels;
- a programmable storage configured to store a plurality of count values, wherein each of said count values is indicative of a number of said plurality of storage locations allocated to a respective one of said plurality of virtual channels;
- and
- an update circuit configured to write said plurality of count values to said programmable storage.
A method comprising:
- storing a plurality of control packets in a plurality of storage locations of a buffer, wherein each of said plurality of control packets belongs to one of a plurality of virtual channels,
- determining a number of said plurality of locations to allocate to each of said plurality of virtual channels;
- allocating said plurality of storage locations by storing a plurality of count values within a programmable storage, wherein each of said count values is indicative of said number of said plurality of storage locations allocated to a respective one of said plurality of virtual channels.
Dependencies are inferred from the claim text.