Crossbar and an egress packet modifier in an exact-match flow switch

    公开(公告)号:US09807006B1

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

    申请号:US14726433

    申请日:2015-05-29

    CPC classification number: H04L45/745 H04L5/0044 H04L47/10 H04L49/101 H04L69/22

    Abstract: An integrated circuit includes an exact-match flow table structure, a crossbar switch, and an egress packet modifier. Each flow entry includes an egress action value, an egress flow number, and an egress port number. A Flow Id is generated from an incoming packet. The Flow Id is used to obtain a matching flow entry. A portion of the packet is communicated across the crossbar switch to the egress packet modifier, along with the egress action value and flow number. The egress action value is used to obtain non-flow specific header information stored in a first egress memory. The egress flow number is used to obtain flow specific header information stored in a second egress memory. The egress packet modifier adds the header information onto the portion of the packet, thereby generating a complete packet. The complete packet is then output from an egress port indicated by the egress port number.

    Maintaining bypass packet count values

    公开(公告)号:US09755910B1

    公开(公告)日:2017-09-05

    申请号:US14923457

    申请日:2015-10-27

    Abstract: A networking device includes a Network Interface Device (NID) and a host. Packets are received onto the networking device via the NID. Some of the packets pass along paths from the NID to the host, whereas others do not pass to the host and are processed by the NID. A bypass packet count for each path that passes from the NID to the host is maintained on the NID. It is determined, using a match table, that one of the packets received on the NID is to be sent to the host. The packet, however, is instead sent along a bypass path without going through the host (as it should have according to the host's match tables). The path that the packet would have traversed had the packet not been sent along the bypass path is determined and the bypass packet count associated with the determined path is incremented.

    Resource allocation with hierarchical scope

    公开(公告)号:US09753710B2

    公开(公告)日:2017-09-05

    申请号:US14074632

    申请日:2013-11-07

    CPC classification number: G06F8/54 G06F8/447

    Abstract: A source code symbol can be declared to have a scope level indicative of a level in a hierarchy of scope levels, where the scope level indicates a circuit level or a sub-circuit level in the hierarchy. A novel instruction to the linker can define the symbol to be of a desired scope level. Location information indicates where different amounts of the object code are to be loaded into a system. A novel linker program uses the location information, along with the scope level information of the symbol, to uniquify instances of the symbol if necessary to resolve name collisions of symbols having the same scope. After the symbol uniquification step, the linker performs resource allocation. A resource instance is allocated to each symbol. The linker then replaces each instance of the symbol in the object code with the address of the allocated resource instance, thereby generating executable code.

    Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface

    公开(公告)号:US09678891B2

    公开(公告)日:2017-06-13

    申请号:US14326372

    申请日:2014-07-08

    Inventor: Rick Bouley

    CPC classification number: G06F12/1081 G06F13/28 G06F13/4221 G06F2212/2532

    Abstract: A device includes a Standard Bus Interface Circuit (SBIC), a memory interface circuit, a Direct Memory Access (DMA) controller, and an Interlaken Look-Aside (ILA) interface circuit. A search key data set including multiple search keys is received via the SBIC and is written to an external memory via the memory interface circuit. The DMA controller receives a descriptor via the SBIC, generates a search key data request, receives the search key data set, and selects a single search key from the set. The ILA interface circuit receives the search key from the DMA controller, generates and ILA packet including the search key, and sends the ILA packet to an external transactional memory device that generates a result data value. The DMA controller receives the result data value via the ILA interface circuit, writes the result data value to the external memory, and sends a DMA completion notification.

    Slice-based intelligent packet data register file

    公开(公告)号:US09612841B1

    公开(公告)日:2017-04-04

    申请号:US14530765

    申请日:2014-11-02

    Inventor: Gavin J. Stark

    Abstract: A multi-processor includes a pool of processors and a common packet buffer memory. Bytes of packet data of a packet are stored in the packet buffer memory. Each of the processors has an intelligent packet data register file. One processor is tasked with processing the packet data, and its packet data register file caches a subset of the bytes. Some instructions when executed require that the packet data register file supply the processor execute stage with certain bytes of the packet data. The register file includes a set of slice portions, where each slice portion is responsible for different bytes of the overall packet data. Each slice portion independently handles stalling the processor and prefetching any bytes it is responsible for. The slice portions output their bytes in a shifted and masked fashion to that the overall register file output is properly presented to the execute stage.

    Automaton hardware engine employing memory-efficient transition table indexing
    17.
    发明授权
    Automaton hardware engine employing memory-efficient transition table indexing 有权
    自动机硬件引擎采用内存高效的转换表索引

    公开(公告)号:US09558224B2

    公开(公告)日:2017-01-31

    申请号:US14151643

    申请日:2014-01-09

    CPC classification number: G06F17/30339 G06F17/30985

    Abstract: An automaton hardware engine employs a transition table organized into 2n rows, where each row comprises a plurality of n-bit storage locations, and where each storage location can store at most one n-bit entry value. Each row corresponds to an automaton state. In one example, at least two NFAs are encoded into the table. The first NFA is indexed into the rows of the transition table in a first way, and the second NFA is indexed in to the rows of the transition table in a second way. Due to this indexing, all rows are usable to store entry values that point to other rows.

    Abstract translation: 自动机硬件引擎采用组织成2n行的转换表,其中每行包括多个n位存储位置,并且其中每个存储位置最多可以存储一个n位输入值。 每行对应于自动机状态。 在一个示例中,至少两个NFA被编码到表中。 第一个NFA以第一种方式索引到转换表的行中,第二个NFA以第二种方式索引到转换表的行中。 由于此索引,所有行都可用于存储指向其他行的条目值。

    Distributed packet ordering system having separate worker and output processors
    18.
    发明授权
    Distributed packet ordering system having separate worker and output processors 有权
    分布式数据包排序系统具有单独的工作和输出处理器

    公开(公告)号:US09537801B1

    公开(公告)日:2017-01-03

    申请号:US14611224

    申请日:2015-01-31

    Abstract: An Island-Based Network Flow Processor (IB-NFP) receives packets of many flows, and classifies each packet as belonging to one of a plurality of ordering contexts. As packets of an ordering context flow through the IB-NFP they are distributed to a set of Worker Processors (WPs). Each packet is processed by one WP, but multiple WPs are typically operating on packets of the ordering context at the same time. The ordering system handles releasing packets from the WPs to set of Output Processors (OP) in the correct order, even though WPs may complete their processing in an out-of-order fashion. One OP is responsible for generating “transmit commands” for packets of the ordering context. This OP generates a transmit command in the correct format as required by the particular egress destination circuit through which the packet will exit the IB-NFP. This architecture reduces code space, and facilitates good usage of processing resources.

    Abstract translation: 基于岛屿的网络流处理器(IB-NFP)接收许多流的分组,并且将每个分组归类为属于多个排序上下文之一。 随着排序上下文的数据包流经IB-NFP,它们被分发给一组工作者处理器(WP)。 每个分组由一个WP处理,但是多个WP通常同时在排序上下文的分组上操作。 订购系统处理将WP中的数据包从正确的顺序发送到输出处理器(OP)的集合,即使WP可能以无序的方式完成其处理。 一个OP负责为排序上下文的数据包生成“传送命令”。 该OP按照特定出口目的地电路所要求的正确格式生成发送命令,通过该电路,数据包将通过该电路退出IB-NFP。 这种架构减少了代码空间,并且有利于处理资源的良好使用。

    SDN protocol message handling within a modular and partitioned SDN switch
    19.
    发明授权
    SDN protocol message handling within a modular and partitioned SDN switch 有权
    在模块化和分区的SDN交换机内的SDN协议消息处理

    公开(公告)号:US09503372B1

    公开(公告)日:2016-11-22

    申请号:US14634851

    申请日:2015-03-01

    CPC classification number: H04L45/745 H04L49/25 H04L49/351

    Abstract: An integrated circuit includes ingress ethernet ports and egress ethernet ports. A second ingress ethernet port is configurable to operate in a selected one of a command mode and a data mode. The ingress ethernet port does not power up in the command mode and can only be put into the command mode as a result of a port modeset command being received onto an ingress ethernet port operating in the command mode. A first ingress ethernet port powers up in the command mode. In the command mode the first ingress ethernet port can receive and carry out a port modeset command. Receiving and carrying out of the port modeset command causes one of the ingress ethernet ports identified by the port modeset command to operate in the command mode. A flow table structure adapted to store flow entries is used to determine which egress ethernet port outputs a packet.

    Abstract translation: 集成电路包括入口以太网端口和出口以太网端口。 第二个入口以太网端口可配置为以选定的命令模式和数据模式之一运行。 入口以太网端口在命令模式下不上电,只能在端口模式命令接收到在命令模式下运行的入口以太网端口上进入命令模式。 第一个入口以太网端口在命令模式下上电。 在命令模式下,第一个入口以太网端口可以接收并执行端口模式命令。 接收和执行port modeset命令会导致port modeset命令标识的入口以太网端口之一在命令模式下运行。 使用适于存储流条目的流表结构来确定哪个出口以太网端口输出分组。

    NFA byte detector
    20.
    发明授权
    NFA byte detector 有权
    NFA字节检测器

    公开(公告)号:US09417656B2

    公开(公告)日:2016-08-16

    申请号:US14151688

    申请日:2014-01-09

    Abstract: An NFA (Non-deterministic Finite Automaton) circuit includes a hardware byte characterizer, a first matching circuit (performs a TCAM match function), a second matching circuit (performs a wide match function), a multiplexer that outputs a selected output from either the first or second matching circuits, and a storage device. N data values stored in first storage locations of the storage device are supplied to the first matching circuit as an N-bit mask value and are simultaneously supplied to the second matching circuit as N bits of an N+O-bit mask value. O data values stored in second storage locations of the storage device are supplied to the first matching circuit as the O-bit match value and are simultaneously supplied to the second matching circuit as O bits of the N+O-bit mask value. P data values stored in third storage locations are supplied onto the select inputs of the multiplexer.

    Abstract translation: NFA(非确定性有限自动机)电路包括硬件字节表征器,第一匹配电路(执行TCAM匹配功能),第二匹配电路(执行宽匹配功能),多路复用器,其输出来自 第一或第二匹配电路和存储装置。 存储在存储装置的第一存储位置的N个数据值作为N位掩码值被提供给第一匹配电路,并且作为N + O位掩码值的N位被同时提供给第二匹配电路。 存储在存储装置的第二存储位置的O数据值被提供给第一匹配电路作为O比特匹配值,并且被同时提供给第二匹配电路作为N + O位掩码值的O比特。 存储在第三存储位置的P数据值被提供给多路复用器的选择输入。

Patent Agency Ranking