Scalable hash tables
    2.
    发明授权
    Scalable hash tables 有权
    可扩展哈希表

    公开(公告)号:US08484439B1

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

    申请号:US12606322

    申请日:2009-10-27

    IPC分类号: G06F12/00 G06F9/26 G06F9/34

    CPC分类号: G06F12/06 G06F12/1018

    摘要: A data read/write system receives a key associated with a data read request. The data read/write system hashes the key to obtain a first hash value and hashes the key to obtain a second hash value, where the second hash value is different than the first hash value. The data read/write system obtains a pointer from a pointer array using the first and second hash values, and uses one or more bits of the pointer and the first hash value to retrieve data from a data look-up array.

    摘要翻译: 数据读/写系统接收与数据读取请求相关联的密钥。 数据读/写系统对密钥进行散列以获得第一散列值,并且对该密钥进行散列以获得第二散列值,其中第二散列值不同于第一散列值。 数据读/写系统使用第一和第二散列值从指针数组中获取指针,并使用指针的一个或多个位和第一个散列值从数据查找数组中检索数据。

    Self-cleaning mechanism for error recovery
    3.
    发明授权
    Self-cleaning mechanism for error recovery 有权
    自清理机构的错误恢复

    公开(公告)号:US08462804B2

    公开(公告)日:2013-06-11

    申请号:US12969807

    申请日:2010-12-16

    IPC分类号: H04L12/56 H04J1/16

    CPC分类号: H04L49/557 H04L47/50

    摘要: A system manages a buffer having a group of entries. The system receives information relating to a read request for a memory. The system determines whether an entry in the buffer contains valid information. If the entry is determined to contain valid information, the system transmits the information in the entry in an error message. The system may then store the received information in the entry. In another implementation, the system stores data in one of the entries of the buffer, removes an address corresponding to the one entry from an address list, and starts a timer associated with the one entry. The system also determines whether the timer has exceeded a predetermined value, transferring the data from the one entry when the timer has exceeded the predetermined value, and adds the address back to the address list.

    摘要翻译: 系统管理具有一组条目的缓冲器。 系统接收与存储器的读取请求有关的信息。 系统确定缓冲区中的条目是否包含有效信息。 如果条目被确定为包含有效信息,则系统将该条目中的信息发送到错误消息中。 然后,系统可以将接收到的信息存储在条目中。 在另一实现中,系统将数据存储在缓冲器的一个条目中,从地址列表中删除与该条目对应的地址,并启动与该条目相关联的定时器。 该系统还确定定时器是否已经超过预定值,当定时器超过预定值时从一个条目传送数据,并将该地址添加回地址列表。

    SYSTEM AND METHOD FOR FAST BRANCHING USING A PROGRAMMABLE BRANCH TABLE
    4.
    发明申请
    SYSTEM AND METHOD FOR FAST BRANCHING USING A PROGRAMMABLE BRANCH TABLE 有权
    使用可编程分支表快速分支的系统和方法

    公开(公告)号:US20120084534A1

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

    申请号:US13323358

    申请日:2011-12-12

    IPC分类号: G06F9/38 G06F9/32 G06F9/312

    摘要: Methods and systems consistent with the present invention provide a programmable table which allows software to define a plurality of branching functions, each of which maps a vector of condition codes to a branch offset. This technique allows for a flexible multi-way branching functionality, using a conditional branch outcome table that can be specified by a programmer. Any instruction can specify the evaluation of arbitrary conditional expressions to compute the values for the condition codes, and can choose a particular branching function. When the processor executes the instruction, the processor's arithmetic/logical functional units evaluate the conditional expressions and then the processor performs the branch operation, according to the specified branching function.

    摘要翻译: 与本发明一致的方法和系统提供了可编程表,其允许软件定义多个分支功能,每个分支功能将条件代码的向量映射到分支偏移。 该技术允许灵活的多路分支功能,使用可由程序员指定的条件分支结果表。 任何指令都可以指定任意条件表达式的计算,以计算条件代码的值,并可以选择特定的分支函数。 当处理器执行指令时,处理器的算术/逻辑功能单元评估条件表达式,然后处理器根据指定的分支函数执行分支操作。

    Fast execution of branch instruction with multiple conditional expressions using programmable branch offset table
    5.
    发明授权
    Fast execution of branch instruction with multiple conditional expressions using programmable branch offset table 有权
    使用可编程分支偏移表快速执行具有多个条件表达式的分支指令

    公开(公告)号:US08078849B2

    公开(公告)日:2011-12-13

    申请号:US12342851

    申请日:2008-12-23

    IPC分类号: G06F9/32

    摘要: Methods and systems consistent with the present invention provide a programmable table which allows software to define a plurality of branching functions, each of which maps a vector of condition codes to a branch offset. This technique allows for a flexible multi-way branching functionality, using a conditional branch outcome table that can be specified by a programmer. Any instruction can specify the evaluation of arbitrary conditional expressions to compute the values for the condition codes, and can choose a particular branching function. When the processor executes the instruction, the processor's arithmetic/logical functional units evaluate the conditional expressions and then the processor performs the branch operation, according to the specified branching function.

    摘要翻译: 与本发明一致的方法和系统提供了可编程表,其允许软件定义多个分支功能,每个分支功能将条件代码的向量映射到分支偏移。 该技术允许灵活的多路分支功能,使用可由程序员指定的条件分支结果表。 任何指令都可以指定任意条件表达式的计算,以计算条件代码的值,并可以选择特定的分支函数。 当处理器执行指令时,处理器的算术/逻辑功能单元评估条件表达式,然后处理器根据指定的分支函数执行分支操作。

    Randomized arbiters for eliminating congestion
    7.
    发明授权
    Randomized arbiters for eliminating congestion 有权
    用于消除拥塞的随机仲裁器

    公开(公告)号:US06807594B1

    公开(公告)日:2004-10-19

    申请号:US09905071

    申请日:2001-07-16

    IPC分类号: G06F1314

    摘要: A system having multiple arbiters is constructed to reduce the chances of arbiters synchronizing with one another. Each arbiter includes a random process that introduces randomness into an arbitration scheme performed by the arbiter. Because of the randomness, the arbiters will not tend to synchronize with one another, even when receiving an identical stream of input values.

    摘要翻译: 构造具有多个仲裁器的系统以减少仲裁者彼此同步的机会。 每个仲裁器包括随机过程,其将随机性引入由仲裁器执行的仲裁方案。 由于随机性,即使接收到相同的输入值流,仲裁者也不会相互同步。

    Systems and methods for processing packet streams in a network device
    8.
    发明授权
    Systems and methods for processing packet streams in a network device 有权
    用于在网络设备中处理分组流的系统和方法

    公开(公告)号:US06636952B1

    公开(公告)日:2003-10-21

    申请号:US09880873

    申请日:2001-06-15

    IPC分类号: G06F1300

    摘要: A network device includes systems and methods for processes streams of data. The network device stores data and addresses corresponding to the streams in a memory. The addresses store pointers to the data. Output logic within the network device determines whether an address is required to be fetched. When no address is required to be fetched, then data is read from the memory. When an address is required to be fetched, the address is fetched from the memory and data is read from the memory using the fetched address. To facilitate this, notifications may be stored corresponding to the streams and notification pointers may be used to identify ones of the notifications to be processed. A prefetch pointer may also be used to identify a notification with one or more associated addresses to be prefetched.

    摘要翻译: 网络设备包括用于处理数据流的系统和方法。 网络设备将对应于流的数据和地址存储在存储器中。 地址存储指向数据的指针。 网络设备内的输出逻辑确定是否需要提取地址。 当不需要获取地址时,从存储器读取数据。 当需要取出地址时,从存储器中取出地址,并使用所取的地址从存储器中读取数据。 为了便于此,可以对应于流存储通知,并且可以使用通知指针来标识要处理的通知中的一个。 还可以使用预取指针来识别具有要预取的一个或多个关联地址的通知。

    Maintaining data unit order in a network switching device
    9.
    发明授权
    Maintaining data unit order in a network switching device 有权
    维护网络交换设备中的数据单元顺序

    公开(公告)号:US08498306B2

    公开(公告)日:2013-07-30

    申请号:US13045312

    申请日:2011-03-10

    IPC分类号: H04L12/56

    摘要: Data units received by a network device may be classified into traffic flow classes in which the determined traffic flow class for a data unit may be dynamically refined as the data unit is processed by the network device. A dispatch component of the network device may receive data units associated with traffic flow classes. Parallel processing engines of the network device may receive the data units from the dispatch component and may generate, for a least one of the data units, a plurality of dynamically refined indications of the traffic flow class to which the data unit belongs. Additionally, an ordering component of the network device may include a plurality of re-order queues, where the at least one data unit successively progresses through at least two of the re-order queues in an order defined by the plurality of dynamically refined indications of the traffic flow class.

    摘要翻译: 由网络设备接收的数据单元可以被分类为业务流类别,其中所确定的数据单元的业务流类别可以由网络设备处理数据单元时动态地改进。 网络设备的调度组件可以接收与业务流类别相关联的数据单元。 网络设备的并行处理引擎可以从调度组件接收数据单元,并且可以为数据单元中的至少一个数据单元生成数据单元所属的业务流类别的多个动态精确的指示。 另外,网络设备的排序组件可以包括多个重新排序队列,其中至少一个数据单元以由多个动态精简指示定义的顺序连续地进行至少两个重排队列 交通流量类。

    MAINTAINING DATA UNIT ORDER IN A NETWORK SWITCHING DEVICE
    10.
    发明申请
    MAINTAINING DATA UNIT ORDER IN A NETWORK SWITCHING DEVICE 有权
    维护网络切换设备中的数据单元订单

    公开(公告)号:US20110158124A1

    公开(公告)日:2011-06-30

    申请号:US13045312

    申请日:2011-03-10

    IPC分类号: H04L12/26

    摘要: Data units received by a network device may be classified into traffic flow classes in which the determined traffic flow class for a data unit may be dynamically refined as the data unit is processed by the network device. A dispatch component of the network device may receive data units associated with traffic flow classes. Parallel processing engines of the network device may receive the data units from the dispatch component and may generate, for a least one of the data units, a plurality of dynamically refined indications of the traffic flow class to which the data unit belongs. Additionally, an ordering component of the network device may include a plurality of re-order queues, where the at least one data unit successively progresses through at least two of the re-order queues in an order defined by the plurality of dynamically refined indications of the traffic flow class.

    摘要翻译: 由网络设备接收的数据单元可以被分类为业务流类别,其中所确定的数据单元的业务流类别可以由网络设备处理数据单元时动态地改进。 网络设备的调度组件可以接收与业务流类别相关联的数据单元。 网络设备的并行处理引擎可以从调度组件接收数据单元,并且可以为数据单元中的至少一个数据单元生成数据单元所属的业务流类别的多个动态精确的指示。 另外,网络设备的排序组件可以包括多个重新排序队列,其中至少一个数据单元以由多个动态精简指示定义的顺序连续地进行至少两个重排队列 交通流量类。