Efficient buffer utilization for network data units

    公开(公告)号:US11949601B1

    公开(公告)日:2024-04-02

    申请号:US17942676

    申请日:2022-09-12

    申请人: Innovium, Inc.

    摘要: Approaches, techniques, and mechanisms are disclosed for efficiently buffering data units within a network device. A traffic manager or other network device component receives Transport Data Units (“TDUs”), which are sub-portions of Protocol Data Units (“PDUs”). Rather than buffer an entire TDU together, the component divides the TDU into multiple Storage Data Units (“SDUs”) that can fit in SDU buffer entries within physical memory banks. A TDU-to-SDU Mapping (“TSM”) memory stores TSM lists that indicate which SDU entries store SDUs for a given TDU. Physical memory banks in which the SDUs are stored may be grouped together into logical SDU banks that are accessed together as if a single bank. The TSM memory may include a number of distinct TSM banks, with each logical SDU bank having a corresponding TSM bank. Techniques for maintaining inter-packet and intra-packet linking data compatible with such buffers are also disclosed.

    Foldable ingress buffer for network apparatuses

    公开(公告)号:US11888691B1

    公开(公告)日:2024-01-30

    申请号:US16933264

    申请日:2020-07-20

    申请人: Innovium, Inc.

    发明人: Ajit Kumar Jain

    摘要: A network device implements a foldable ingress buffer for buffering data units as they are being received. The buffer is organized into a grid of memory banks, having different columns and rows. A Transport Data Unit (“TDU”) is stored interleaved across entries in multiple banks. As each portion of a TDU is received, the portion is written to a different bank of the buffer. In each column of the buffer, a full-sized TDU has portions in a number of rows equal to the number of folds in the buffer. The sum of the bank widths for each row thus needs be no larger than half the maximum TDU size, which further means that the number of columns in the grid of banks may be reduced by at least half compared to non-folded approaches, with little increase in the number of rows, if any, depending on blocking and reading requirements.

    Multi-destination traffic handling optimizations in a network device

    公开(公告)号:US11637786B1

    公开(公告)日:2023-04-25

    申请号:US17121404

    申请日:2020-12-14

    申请人: Innovium, Inc.

    摘要: When a measure of buffer space queued for garbage collection in a network device grows beyond a certain threshold, one or more actions are taken to decreasing an enqueue rate of certain classes of traffic, such as of multicast traffic, whose reception may have caused and/or be likely to exacerbate garbage-collection-related performance issues. When the amount of buffer space queued for garbage collection shrinks to an acceptable level, these one or more actions may be reversed. In an embodiment, to more optimally handle multi-destination traffic, queue admission control logic for high-priority multi-destination data units, such as mirrored traffic, may be performed for each destination of the data units prior to linking the data units to a replication queue. If a high-priority multi-destination data unit is admitted to any queue, the high-priority multi-destination data unit can no longer be dropped, and is linked to a replication queue for replication.

    Intelligent packet queues with delay-based actions

    公开(公告)号:US10673770B1

    公开(公告)日:2020-06-02

    申请号:US16288165

    申请日:2019-02-28

    申请人: Innovium, Inc.

    摘要: A network device organizes packets into various queues, in which the packets await processing. Queue management logic tracks how long certain packet(s), such as a designated marker packet, remain in a queue. Based thereon, the logic produces a measure of delay for the queue, referred to herein as the “queue delay.” Based on a comparison of the current queue delay to one or more thresholds, various associated delay-based actions may be performed, such as tagging and/or dropping packets departing from the queue, or preventing addition enqueues to the queue. In an embodiment, a queue may be expired based on the queue delay, and all packets dropped. In other embodiments, when a packet is dropped prior to enqueue into an assigned queue, copies of some or all of the packets already within the queue at the time the packet was dropped may be forwarded to a visibility component for analysis.

    Delay-based tagging in a network switch

    公开(公告)号:US11968129B1

    公开(公告)日:2024-04-23

    申请号:US18141276

    申请日:2023-04-28

    申请人: Innovium, Inc.

    IPC分类号: H04L47/56

    CPC分类号: H04L47/562

    摘要: A network device organizes packets into various queues, in which the packets await processing. Queue management logic tracks how long certain packet(s), such as a designated marker packet, remain in a queue. Based thereon, the logic produces a measure of delay for the queue, referred to herein as the “queue delay.” Based on a comparison of the current queue delay to one or more thresholds, various associated delay-based actions may be performed, such as tagging and/or dropping packets departing from the queue, or preventing addition enqueues to the queue. In an embodiment, a queue may be expired based on the queue delay, and all packets dropped. In other embodiments, when a packet is dropped prior to enqueue into an assigned queue, copies of some or all of the packets already within the queue at the time the packet was dropped may be forwarded to a visibility component for analysis.

    Efficient scheduling using adaptive packing mechanism for network apparatuses

    公开(公告)号:US11805066B1

    公开(公告)日:2023-10-31

    申请号:US17141130

    申请日:2021-01-04

    申请人: Innovium, Inc.

    摘要: A scheduler in a network device serves ports with data units from a plurality of queues. The scheduler implements a scheduling algorithm that is normally constrained to releasing data to a port no more frequently than at a default maximum service rate. However, when data units smaller than a certain size are at the heads of one or more data unit queues assigned to a port, the scheduler may temporarily increase the maximum service rate of that port. The increased service rate permits fuller realization of a port's maximum bandwidth when handling smaller data units. In some embodiments, increasing the service rate involves dequeuing more than one small data unit at a time, with the extra data units temporarily stored in a port FIFO. The scheduler adds a pseudo-port to its scheduling sequence to schedule release of data from the port FIFO, with otherwise minimal impact on the scheduling logic.

    Intelligent packet queues with efficient delay tracking

    公开(公告)号:US10735339B1

    公开(公告)日:2020-08-04

    申请号:US15407159

    申请日:2017-01-16

    申请人: Innovium, Inc.

    IPC分类号: H04L12/875

    摘要: A network device organizes packets into various queues, in which the packets await processing. Queue management logic tracks how long certain packet(s), such as a designated marker packet, remain in a queue. Based thereon, the logic produces a measure of delay for the queue, referred to herein as the “queue delay.” Based on a comparison of the current queue delay to one or more thresholds, various associated delay-based actions may be performed, such as tagging and/or dropping packets departing from the queue, or preventing addition enqueues to the queue. In an embodiment, a queue may be expired based on the queue delay, and all packets dropped. In other embodiments, when a packet is dropped prior to enqueue into an assigned queue, copies of some or all of the packets already within the queue at the time the packet was dropped may be forwarded to a visibility component for analysis.

    Instantaneous garbage collection of network data units

    公开(公告)号:US10999223B1

    公开(公告)日:2021-05-04

    申请号:US16378220

    申请日:2019-04-08

    申请人: Innovium, Inc.

    IPC分类号: H04L12/883 G06F12/02

    摘要: Approaches, techniques, and mechanisms are disclosed for reutilizing discarded link data in a buffer space for buffering data units in a network device. Rather than wasting resources on garbage collection of such link data when a data unit is dropped, the link data is used as a free list that indicates buffer entries in which new data may be stored. In an embodiment, operations of the buffer may further be enhanced by re-using the discarded link data as link data for a new data unit. The link data for a formerly buffered data unit may be assigned exclusively to a new data unit, which uses the discarded link data to determine where to store its constituent data. As a consequence, the discarded link data actually serves as valid link data for the new data unit, and new link data need not be generated for the new data unit.

    Efficient buffer utilization for network data units

    公开(公告)号:US10938739B1

    公开(公告)日:2021-03-02

    申请号:US16186349

    申请日:2018-11-09

    申请人: Innovium, Inc.

    摘要: Approaches, techniques, and mechanisms are disclosed for efficiently buffering data units within a network device. A traffic manager or other network device component receives Transport Data Units (“TDUs”), which are sub-portions of Protocol Data Units (“PDUs”). Rather than buffer an entire TDU together, the component divides the TDU into multiple Storage Data Units (“SDUs”) that can fit in SDU buffer entries within physical memory banks. A TDU-to-SDU Mapping (“TSM”) memory stores TSM lists that indicate which SDU entries store SDUs for a given TDU. Physical memory banks in which the SDUs are stored may be grouped together into logical SDU banks that are accessed together as if a single bank. The TSM memory may include a number of distinct TSM banks, with each logical SDU bank having a corresponding TSM bank. Techniques for maintaining inter-packet and intra-packet linking data compatible with such buffers are also disclosed.