Transaction flow control in PCI express fabric
AssigneeHewlett-Packard Development Company, L.P.
InventorsPaul V Brownell, David L. Matthews
Life of this patent
Estimating the term…
Abstract
A computer-executed method for controlling transaction flow in a network comprises communicating transaction packets among a plurality of devices in a network fabric and subdividing a memory into a plurality of memory segments for storing received transaction cycles according to transaction packet type comprising posted, non-posted, and completion cycles. A plurality of transaction cycles are received in the memory segment plurality at a target device and transaction cycle priority is allocated according to transaction packet type wherein posted cycles have highest priority. Cycles are retrieved from the memory segment plurality in an order determined by priority.
Claims18
A computer-executed method for controlling transaction flow in a network comprising:
- communicating transaction packets among a plurality of devices in a network fabric;
- subdividing a memory into a plurality of memory segments for storing received transaction cycles according to transaction cycle type of the transaction packets, the transaction cycle types comprising posted, non-posted, and completion cycles;
- advertising from each of the plurality of devices, a number of posted, non-posted, and completion cycles a respective device can handle, indicative of the capacity of the memory segments for storing received transaction cycles;
- receiving a plurality of transaction cycles in the memory segment plurality at a target device;
- allocating transaction cycle priority according to transaction cycle type wherein posted cycles have highest priority;
- and
- retrieving cycles from the memory segment plurality in an order determined by the allocated transaction cycle priority.
A computing system comprising:
- a plurality of devices;
- a network fabric interconnecting the device plurality;
- a logic that controls the device plurality and the network fabric to control transaction flow control, the logic operative to:
- subdivide a memory into a plurality of memory segments for storing received transaction cycles according to transaction cycle type of the transaction packets, the transaction cycle types comprising posted, non-posted, and completion cycles;
- and allocate transaction cycle priority according to transaction cycle type wherein posted cycles have highest priority;
- and
- advertise, from each of the plurality of devices, a number of posted, non-posted, and completion cycles a respective device can handle, indicative of the capacity of the memory segments for storing received transaction cycles.
An article of manufacture comprising:
- a controller-usable non-transitory medium having a computer readable program code embodied therein for controlling transaction flow in a network, the computer readable program code further comprising:
- a code causing the controller to communicate transaction packets among a plurality of devices in a network fabric;
- a code causing the controller to subdivide a memory into a plurality of memory segments for storing received transaction cycles according to transaction cycle type of the transaction packets, the transaction cycle types comprising posted, non-posted, and completion cycles;
- a code causing the controller to advertise, from each of the plurality of devices, a number of posted, non-posted, and completion cycles a respective device can handle, indicative of the capacity of the memory segments for storing received transaction cycles;
- a code causing the controller to receive a plurality of transaction cycles in the memory segment plurality at a target device;
- a code causing the controller to allocate transaction cycle priority according to transaction cycle type wherein posted cycles have highest priority;
- and
- a code causing the controller to retrieve cycles from the memory segment plurality in an order determined by the allocated transaction cycle priority.
Dependencies are inferred from the claim text.