Crossbar with at-dispatch dynamic destination selection
US-2024356866-A1 · Oct 24, 2024 · US
US9894013B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9894013-B2 |
| Application number | US-201514636928-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 3, 2015 |
| Priority date | Feb 3, 2015 |
| Publication date | Feb 13, 2018 |
| Grant date | Feb 13, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A network device, such as a network switch, can include an ingress to receive data packets from a network. The ingress can communicate with an egress included in the network device though a fabric included in the network device. At least one of ingress and the egress can enqueue a data packet prior to receipt of all cells of the data packet. The ingress can also commence with dequeue of the cells of the received data packet prior to receipt of the entire data packet from the network. At least one of ingress and the egress can process the data packets using cut-through processing and store-and-forward processing. In a case of cut-through processing of a data packet at both the ingress and the egress of a network device, such as CIOQ switch, the fabric can be allocated to provide a prioritized virtual channel through the fabric for the data packet.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, at a network device, at least a portion of one of a plurality of data packets; initiating enqueuing in the network device of the at least the portion of the one of the data packets prior to receipt by the network device of an entirety of the one of the data packets; storing in the network device packet information and linking information for the one of the data packets, the linking information being sequence information related to the plurality of data packets; and initiating dequeuing of the at least the portion of the one of the data packets prior to receipt of the entirety of the one of the data packets. 2. The method of claim 1 , wherein storing in the network device packet information and linking information for the one of the data packets, comprises: storing the linking information in a link repair database to identify a status of a previous data packet, a status of a next data packet, and identify the one of the data packets as a current packet. 3. The method of claim 1 , further comprising: dropping the one of the data packets; and updating the linking information to eliminate the one of the data packets being dropped. 4. The method of claim 3 , wherein updating the linking information comprises: linking a first data packet indicated in the linking information as sequentially following the one of the data packets being dropped with a second data packet indicated in the linking information as sequentially preceding the one of the data packets being dropped. 5. The method of claim 1 , wherein storing in the network device packet information and linking information for the one of the data packets comprises: identifying a sequence of the data packets as a previous data packet, a current data packet, and a next data packet in the linking information to link together the sequence of data packets. 6. The method of claim 1 , further comprising: identifying the one of the data packets as a dropped packet; and denying enqueing of additional cells of the one of the data packets identified as the dropped packet. 7. The method of claim 1 , wherein each of the data packets includes a plurality of cells that are sequentially received from the network, and wherein initiating enqueing in the network device of the at least the portion of the one of the data packets, comprises enqueing cells of the one of the data packets prior to all the cells of the one of the data packets being received at the network device. 8. The method of claim 7 , wherein enqueing cells of the one of the data packets commences at a time when a cell of the one of the data packets is identified as a start of the one of the data packets. 9. The method of claim 7 , wherein enqueing cells of the one of the data packets commences at a time when a predetermined number of cells of the one of the data packets are received by the network device. 10. The method of claim 1 , wherein initiating enqueuing in the network device of the one of the data packets comprises: communicating a request from an ingress included in the network device to an egress included in the network device, the request comprising a request for prioritized access to a fabric providing a communication path between the ingress and the egress; communicating a grant response from the egress to the ingress in response to a cut through request; and setting an egress port cut through state identifying an output port to which the one of the data packets is provided. 11. A system comprising: a network device in communication over a network to receive and output data packets; the network device comprising traffic management circuitry to enqueue cells of a received data packet before the entirety of the data packet is received by the network device; the traffic management circuitry comprising a packet queue to store linking information of the received data packet to link the received data packet to a previous data packet and a next data packet, the linking information used to link the previous data packet and the next data packet when the received data packet is dropped; and the traffic management circuitry also comprising a dequeuer that is triggered by the packet queue to dequeue cells of the received data packet before the entirety of the data packet is received by the network device. 12. The system of claim 11 , wherein the network device further comprises a link repair database and a packet information database, the link repair database configured to store sequential linking information that sequentially links the received data packet to a previously received data packet and a next data packet received at the network device after the received data packet so that the sequential linking information can be repaired using the link repair database and the packet information database when the received data packet is dropped. 13. The system of claim 11 , wherein the traffic management circuitry is included in each of an ingress and an egress, and the network device further comprises a fabric by which the ingress communicates with the egress, the fabric comprising a virtual channel fabric buffer formed to include a plurality of partitions, each of the partitions representative of an output port of the egress. 14. The system of claim 13 , wherein the network device is a combined input/output switch, and representations of cut-through data packets and representations of store-and-forward data packets are storable in the partitions. 15. The system of claim 13 , wherein the virtual channel fabric buffer comprises a first-in first-out circular buffer having a predetermined number of partitions that correspond to a number of output ports included in the egress. 16. A network device comprising: a communication interface configured to receive, via a network, at least a first cell of one of a plurality of data packets; and circuitry configured to initiate enqueuing of the at least the first cell of the one of the plurality of data packets prior to receipt by the network device of an entirety of the one of the data packets; storing packet information and linking information for the one of the data packets, the linking information being sequence information related to the plurality of data packets; and initiating dequeuing of the at least the first cell of the one of the data packets prior to receipt of the entirety of the one of the data packets. 17. The network device of claim 16 , wherein the circuitry is configured to: store the linking information in a database to identify a status of a previous data packet, a status of a next data packet and identify the one of the data packets as a current packet. 18. The network device of claim 16 , wherein the circuitry is configured to: drop the one of the data packets; and update the linking information to remove the one of the data packets being dropped. 19. The network device of claim 16 , wherein the circuitry is configured to: identify a sequence of the data packets as a previous data packet, a current data packet, and a next data packet in the linking information. 20. The network device of claim 16 , wherein the circuitry is configured to: initiate enqueing the at least the first cell of the one of the data packets at a time when the at least the first cell of the one of the data packets is identified as a start of the one of the data packets.
Store and forward routing · CPC title
Output queuing · CPC title
Cut-through or wormhole routing · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.