Selective underflow protection in a network switch

US9444758B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9444758-B2
Application numberUS-201414187854-A
CountryUS
Kind codeB2
Filing dateFeb 24, 2014
Priority dateFeb 11, 2014
Publication dateSep 13, 2016
Grant dateSep 13, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are disclosed to transmit packets by a network switch and according to a link protocol while reducing incidence of intra-packet transmission gaps unsupported by the link protocol. Whether a packet satisfies an underflow risk condition is determined by evaluating, for each of one or more cycles since receipt of one or more flits of the packet, a respective count of flits of the packet received by the network switch in the respective cycle. Only upon determining that the packet satisfies the underflow risk condition is selective underflow protection performed for the packet, including buffering an increased count of flits of the packet, prior to commencing transmission of the packet.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method to reduce incidence of intra-packet transmission gaps unsupported by a link protocol used by a network switch in transmitting packets, the computer-implemented method comprising: determining whether each of a plurality of incoming packets satisfies the underflow risk condition, by evaluating, for each of one or more cycles since receipt of one or more flow control digits (flits) of the respective incoming packet, a count of flits of the respective incoming packet received by the network switch in the respective cycle; upon determining that a first of the plurality of incoming packets satisfies the underflow risk condition, providing selective underflow protection for the first incoming packet by buffering at least an increased count of flits of the first incoming packet, prior to commencing transmission of the first incoming packet and by operation of one or more computer processors; upon determining that a second of the plurality of incoming packets does not satisfy the underflow risk condition, refraining from selective underflow protection for the second incoming packet, by buffering no more than a reduced count, relative to the increased count, of flits of the second incoming packet, prior to commencing transmission of the second incoming packet; and transmitting the first and second incoming packets according to the link protocol, without any intra-packet transmission gaps unsupported by the link protocol, and without having to buffer more than the reduced count of flits for every one of the plurality of incoming packets. 2. The computer-implemented method of claim 1 , wherein the first and second incoming packets are transmitted according to the link protocol, without any intra-packet transmission gaps resulting from any buffer underruns, wherein latency associated with buffering more than the reduced count of flits for every packet processed by the network switch is avoided, wherein the network switch comprises a crossbar switch, wherein each of the first and second incoming packets is received from a respective transmitting entity and by the crossbar switch via a respective input link of the crossbar switch, wherein each of the first and second incoming packets is transmitted from the crossbar switch to a respective receiving entity and via a respective output link of the crossbar switch. 3. The computer-implemented method of claim 2 , wherein each transmitting entity is the same transmitting entity, wherein each receiving entity is the same receiving entity, wherein each input link is the same input link, wherein each output link is the same output link, wherein the crossbar switch is configured to support a plurality of modes of operation, the plurality of modes including a store-and-forward mode and a cut-through mode. 4. The computer-implemented method of claim 3 , wherein the crossbar switch when operating in the store-and-forward mode is prohibited from commencing transmission of a given packet via the output link, until the entirety of the given packet is received via the input link; wherein the crossbar switch when operating in the cut-through mode is permitted to commence transmission of the second incoming packet via the output link, even prior to receipt of the entirety of the second incoming packet via the input link, and in order to support lower latency transmission relative to operating in the store-and-forward mode. 5. The computer-implemented method of claim 4 , wherein the increased count of incoming flits is buffered in order to account for a plurality of transmission characteristics including jitter, drift between input and output link frequencies, and varied numbers of flits arriving per cycle, in order to reduce incidence of intra-packet transmission gaps unsupported by the link protocol, wherein the increased count of incoming flits is buffered in order to further reduce incidence of intra-packet transmission gaps unsupported by the link protocol. 6. The computer-implemented method of claim 5 , further comprising: commencing transmission of the first incoming packet to the receiving entity via the output link according to the link protocol and prior to receiving the entirety of the first incoming packet via from the transmitting entity via the input link; and commencing transmission of the second incoming packet to the receiving entity via the output link according to the link protocol and prior to receiving the entirety of the second incoming packet via from the transmitting entity via the input link. 7. The computer-implemented method of claim 6 , of which each step is performed when the network switch is operating in the cut-through mode, wherein the network switch includes a deserializer component, a crossbar component, and a serializer component, wherein the network switch is configured to receive a data stream including the first and second incoming packets, wherein each input link and each output link comprises a high speed serial (HSS) link configured to operate at a first clock frequency, wherein the crossbar component is configured to operate at a second clock frequency lower than the first clock frequency. 8. The computer-implemented method of claim 7 , wherein the data stream is clocked down from the first clock frequency of the input link to the lower clock frequency of the crossbar component and clocked up from the lower clock frequency of the crossbar component to the first clock frequency of the output link, wherein the count of flits transferred per cycle varies due to the different clock frequencies but averages to the input link frequency rate over time. 9. The computer-implemented method of claim 8 , wherein the crossbar switch comprises a time-sliced crossbar switch, in which the crossbar component is wider than each link, wherein in order to facilitate port scheduling of the crossbar component, data transfer through the crossbar component is, limited to, in respective instances: (i) a fixed cycle and (ii) no more than once per super-cycle, wherein each super-cycle is four cycles. 10. The computer-implemented method of claim 9 , wherein satisfaction of the underflow risk condition by the second incoming packet comprises satisfaction of each of a plurality of conditions including: (i) a current flit arrival rate to the crossbar component being within a predefined threshold of a minimum average arrival rate; (ii) a current flit output rate being near a maximum output rate; and (iii) the second incoming packet winning arbitration in the crossbar component within a predetermined period of time measured in terms of at least one of clock cycles and seconds, wherein the arbitration is configured to allocate a set of resources of the crossbar component based on a predefined scheduling scheme, wherein the set of resources of the crossbar component includes a set of input ports of the crossbar component and a set of output ports of the crossbar component. 11. The computer-implemented method of claim 10 , wherein the link protocol specifies a minimum flit rate per super-cycle, wherein the selective underflow protection delays serialization of one or more flits of the second incoming packet until later in a given super-cycle and in order to maintain the specified minimum flit rate per super-cycle, despite the second incoming packet satisfying the underflow risk condition, wherein serialization of one or more flits of the first incoming packet is not delayed. 12. The computer-implemented method of claim 11 , wherein the buffer underrun is characterized by a buffer of the crossbar component not containing enough flits to fill a given super-cycle of transmission, wherein the network switch is configured

Assignees

Inventors

Classifications

  • Parsing or analysis of headers · CPC title

  • Individual queue per QOS, rate or priority · CPC title

  • Cut-through or wormhole routing · CPC title

  • H04L49/101Primary

    using crossbar or matrix · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9444758B2 cover?
Techniques are disclosed to transmit packets by a network switch and according to a link protocol while reducing incidence of intra-packet transmission gaps unsupported by the link protocol. Whether a packet satisfies an underflow risk condition is determined by evaluating, for each of one or more cycles since receipt of one or more flits of the packet, a respective count of flits of the packet…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L47/6215. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 13 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).