Automaton hardware engine employing memory-efficient transition table indexing
    1.
    发明授权
    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以第二种方式索引到转换表的行中。 由于此索引,所有行都可用于存储指向其他行的条目值。

    NFA byte detector
    2.
    发明授权
    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数据值被提供给多路复用器的选择输入。

    CPP bus transaction value having a PAM/LAM selection code field
    3.
    发明授权
    CPP bus transaction value having a PAM/LAM selection code field 有权
    具有PAM / LAM选择码字段的CPP总线事务值

    公开(公告)号:US09413665B2

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

    申请号:US14464697

    申请日:2014-08-20

    Abstract: Within a networking device, packet portions from multiple PDRSDs (Packet Data Receiving and Splitting Devices) are loaded into a single memory, so that the packet portions can later be processed by a processing device. Rather than the PDRSDs managing and handling the storing of packet portions into the memory, a packet engine is provided. A device interacting with the packet engine can use a PPI (Packet Portion Identifier) Addressing Mode (PAM) in communicating with the packet engine and in instructing the packet engine to store packet portions. Alternatively, the device can use a Linear Addressing Mode (LAM) to communicate with the packet engine. A PAM/LAM selection code field in a bus transaction value sent to the packet engine indicates whether PAM or LAM will be used.

    Abstract translation: 在网络设备内,来自多个PDRSD(分组数据接收和分离设备)的分组部分被加载到单个存储器中,使得分组部分稍后可以由处理设备处理。 管理和处理分组部分存储到存储器中的PDRSD不是提供分组引擎。 与分组引擎交互的设备可以使用PPI(分组部分标识符)寻址模式(PAM)与分组引擎进行通信,并指示分组引擎存储分组部分。 或者,设备可以使用线性寻址模式(LAM)与分组引擎进行通信。 发送到分组引擎的总线事务值中的PAM / LAM选择代码字段指示是否使用PAM或LAM。

    RETURN AVAILABLE PPI CREDITS COMMAND
    4.
    发明申请
    RETURN AVAILABLE PPI CREDITS COMMAND 有权
    返回可用的PPI信用指令

    公开(公告)号:US20160055112A1

    公开(公告)日:2016-02-25

    申请号:US14590920

    申请日:2015-01-06

    CPC classification number: G06F13/4022 G06F13/4027 G06F13/4221

    Abstract: In response to receiving a novel “Return Available PPI Credits” command from a credit-aware device, a packet engine sends a “Credit To Be Returned” (CTBR) value it maintains for that device back to the credit-aware device, and zeroes out its stored CTBR value. The credit-aware device adds the credits returned to a “Credits Available” value it maintains. The credit-aware device uses the “Credits Available” value to determine whether it can issue a PPI allocation request. The “Return Available PPI Credits” command does not result in any PPI allocation or de-allocation. In another novel aspect, the credit-aware device is permitted to issue one PPI allocation request to the packet engine when its recorded “Credits Available” value is zero or negative. If the PPI allocation request cannot be granted, then it is buffered in the packet engine, and is resubmitted within the packet engine, until the packet engine makes the PPI allocation.

    Abstract translation: 响应于从信用感知设备接收到一个新颖的“可返回PPI信用”命令,数据包引擎将为该设备维护的“信用回报”(CTBR)值发送回信用感知设备,并将零值 存储CTBR值。 信用感知设备将返回的信用额度添加到维护的“可用信用额”值。 信用感知设备使用“可用点数”值来确定是否可以发出PPI分配请求。 “可返回可用的PPI积分”命令不会导致任何PPI分配或解除分配。 在另一个新颖的方面,当信用感知设备的记录“可用可用”值为零或否定时,信用感知设备被允许向分组引擎发出一个PPI分配请求。 如果PPI分配请求不能被授权,则缓冲在分组引擎中,并在分组引擎内重新提交,直到分组引擎进行PPI分配。

    Configuration mesh data bus and transactional memories in a multi-processor integrated circuit

    公开(公告)号:US10911038B1

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

    申请号:US16247566

    申请日:2019-01-15

    Abstract: A network flow processor integrated circuit includes a plurality of processors, a plurality of multi-threaded transactional memories (MTMs), and a configurable mesh posted transaction data bus. The configurable mesh posted transaction data bus includes a configurable command mesh and a configurable data mesh. Each of these configurable meshes includes crossbar switches and interconnecting links. A command bus transaction value issued by a processor can pass across the command mesh to an MTM. The command bus transaction bus value includes a reference value. The MTM uses the reference value to pull data across the configurable data mesh into the MTM. The MTM then uses the data to carry out the commanded transactional memory operation. Multiple such commands can pass across the posted transaction bus across different parts of the integrated circuit at the same time, and a single MTM can be carrying out multiple such operations at the same time.

    In-Flight Packet Processing
    6.
    发明申请
    In-Flight Packet Processing 有权
    飞行包处理

    公开(公告)号:US20160124772A1

    公开(公告)日:2016-05-05

    申请号:US14530599

    申请日:2014-10-31

    Abstract: A method for supporting in-flight packet processing is provided. Packet processing devices (microengines) can send a request for packet processing to a packet engine before a packet comes in. The request offers a twofold benefit. First, the microengines add themselves to a work queue to request for processing. Once the packet becomes available, the header portion is automatically provided to the corresponding microengine for packet processing. Only one bus transaction is involved in order for the microengines to start packet processing. Second, the microengines can process packets before the entire packet is written into the memory. This is especially useful for large sized packets because the packets do not have to be written into the memory completely when processed by the microengines.

    Abstract translation: 提供了一种支持飞行包内处理的方法。 分组处理设备(微启动)可以在分组进入之前向分组引擎发送分组处理请求。该请求提供了双重优点。 首先,微引擎将自己添加到工作队列中以请求处理。 一旦分组变得可用,报头部分被自动提供给相应的微引擎用于分组处理。 为了使微启动程序开始分组处理,仅涉及一个总线事务。 第二,微引擎可以在将整个数据包写入存储器之前处理数据包。 这对于大尺寸数据包特别有用,因为在由微引擎处理时,数据包不必完全写入存储器。

    CPP BUS TRANSACTION VALUE HAVING A PAM/LAM SELECTION CODE FIELD
    7.
    发明申请
    CPP BUS TRANSACTION VALUE HAVING A PAM/LAM SELECTION CODE FIELD 有权
    具有PAM / LAM选择代码字段的CPP总线交易值

    公开(公告)号:US20160057058A1

    公开(公告)日:2016-02-25

    申请号:US14464697

    申请日:2014-08-20

    Abstract: Within a networking device, packet portions from multiple PDRSDs (Packet Data Receiving and Splitting Devices) are loaded into a single memory, so that the packet portions can later be processed by a processing device. Rather than the PDRSDs managing and handling the storing of packet portions into the memory, a packet engine is provided. A device interacting with the packet engine can use a PPI (Packet Portion Identifier) Addressing Mode (PAM) in communicating with the packet engine and in instructing the packet engine to store packet portions. Alternatively, the device can use a Linear Addressing Mode (LAM) to communicate with the packet engine. A PAM/LAM selection code field in a bus transaction value sent to the packet engine indicates whether PAM or LAM will be used.

    Abstract translation: 在网络设备内,来自多个PDRSD(分组数据接收和分离设备)的分组部分被加载到单个存储器中,使得分组部分稍后可以由处理设备处理。 管理和处理分组部分存储到存储器中的PDRSD不是提供分组引擎。 与分组引擎交互的设备可以使用PPI(分组部分标识符)寻址模式(PAM)与分组引擎进行通信,并指示分组引擎存储分组部分。 或者,设备可以使用线性寻址模式(LAM)与分组引擎进行通信。 发送到分组引擎的总线事务值中的PAM / LAM选择代码字段指示是否使用PAM或LAM。

    GUARANTEED IN-ORDER PACKET DELIVERY
    8.
    发明申请
    GUARANTEED IN-ORDER PACKET DELIVERY 有权
    保证订单分发

    公开(公告)号:US20150237180A1

    公开(公告)日:2015-08-20

    申请号:US14184455

    申请日:2014-02-19

    Abstract: Circuitry to provide in-order packet delivery. A packet descriptor including a sequence number is received. It is determined in which of three ranges the sequence number resides. Depending, at least in part, on the range in which the sequence number resides it is determined if the packet descriptor is to be communicated to a scheduler which causes an associated packet to be transmitted. If the sequence number resides in a first “flush” range, all associated packet descriptors are output. If the sequence number resides in a second “send” range, only the received packet descriptor is output. If the sequence number resides in a third “store and reorder” range and the sequence number is the next in-order sequence number the packet descriptor is output; if the sequence number is not the next in-order sequence number the packet descriptor is stored in a buffer and a corresponding valid bit is set.

    Abstract translation: 电路提供按顺序分组传送。 接收包括序列号的分组描述符。 确定序列号所在的三个范围中的哪一个。 至少部分地依赖于序列号所在的范围,确定分组描述符是否被传送到导致相关分组被发送的调度器。 如果序列号位于第一个“刷新”范围内,则输出所有关联的数据包描述符。 如果序列号位于第二个“发送”范围内,则仅输出接收到的包描述符。 如果序列号位于第三个“存储和重新排序”范围,并且序列号是下一个顺序序列号,则输出数据包描述符; 如果序列号不是下一个顺序序列号,则分组描述符被存储在缓冲器中并且相应的有效位被置位。

    NFA COMPLETION NOTIFICATION
    9.
    发明申请
    NFA COMPLETION NOTIFICATION 审中-公开
    NFA完成通知

    公开(公告)号:US20150193681A1

    公开(公告)日:2015-07-09

    申请号:US14151699

    申请日:2014-01-09

    CPC classification number: H04L67/10 H04L69/12

    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以第二种方式索引到转换表的行中。 由于此索引,所有行都可用于存储指向其他行的条目值。

    AUTOMATON HARDWARE ENGINE EMPLOYING MEMORY-EFFICIENT TRANSITION TABLE INDEXING
    10.
    发明申请
    AUTOMATON HARDWARE ENGINE EMPLOYING MEMORY-EFFICIENT TRANSITION TABLE INDEXING 有权
    自动化硬件发动机使用记忆有效的转换表索引

    公开(公告)号:US20150193483A1

    公开(公告)日:2015-07-09

    申请号: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以第二种方式索引到转换表的行中。 由于此索引,所有行都可用于存储指向其他行的条目值。

Patent Agency Ranking