Transactional memory that supports put and get ring commands
    151.
    发明授权
    Transactional memory that supports put and get ring commands 有权
    支持put和get命令的事务内存

    公开(公告)号:US09069602B2

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

    申请号:US14037214

    申请日:2013-09-25

    Inventor: Gavin J. Stark

    Abstract: A transactional memory (TM) includes a control circuit pipeline and an associated memory unit. The memory unit stores a plurality of rings. The pipeline maintains, for each ring, a head pointer and a tail pointer. A ring operation stage of the pipeline maintains the pointers as values are put onto and are taken off the rings. A put command causes the TM to put a value into a ring, provided the ring is not full. A get command causes the TM to take a value off a ring, provided the ring is not empty. A put with low priority command causes the TM to put a value into a ring, provided the ring has at least a predetermined amount of free buffer space. A get from a set of rings command causes the TM to get a value from the highest priority non-empty ring (of a specified set of rings).

    Abstract translation: 事务存储器(TM)包括控制电路管线和相关联的存储器单元。 存储单元存储多个环。 对于每个环,流水线保持头指针和尾指针。 管道的环操作阶段将维护指针,因为值被放置在环上并被取消。 如果环未满,则put命令会使TM将值放入环中。 如果环不为空,则get命令使TM取环, 如果环具有至少预定量的可用缓冲空间,则具有低优先级命令的put将导致TM将值放入环中。 从一组ring命令获取,使TM从最高优先级非空环(指定的一组环)获取一个值。

    RESOURCE ALLOCATION WITH HIERARCHICAL SCOPE
    152.
    发明申请
    RESOURCE ALLOCATION WITH HIERARCHICAL SCOPE 有权
    资源分配与分级范围

    公开(公告)号:US20150128119A1

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

    申请号: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.

    Abstract translation: 源代码符号可以被声明为具有指示范围级别的层级中的级别的范围级别,其中范围级别指示层级中的电路级别或子电路级别。 对于链接器的新颖的指令可以将符号定义为期望的范围级别。 位置信息指示将不同量的目标代码加载到系统中的位置。 一个新的链接程序使用位置信息以及符号的范围级别信息来定义符号的实例,以解决具有相同范围的符号的名称冲突。 在符号唯一化步骤之后,链接器执行资源分配。 资源实例被分配给每个符号。 然后,链接器将目标代码中的符号的每个实例用分配的资源实例的地址替换,从而生成可执行代码。

    LINKER THAT STATICALLY ALLOCATES NON-MEMORY RESOURCES AT LINK TIME
    153.
    发明申请
    LINKER THAT STATICALLY ALLOCATES NON-MEMORY RESOURCES AT LINK TIME 审中-公开
    在链接时静态分配非内存资源的链接

    公开(公告)号:US20150128117A1

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

    申请号:US14074606

    申请日:2013-11-07

    CPC classification number: G06F8/54

    Abstract: A novel linker statically allocates resource instances of a non-memory resource at link time. In one example, a novel declare instruction in source code declares a pool of resource instances, where the resource instances are instances of the non-memory resource. A novel allocate instruction is then used to instruct the linker to allocate a resource instance from the pool to be associated with a symbol. Thereafter the symbol is usable in the source code to refer to an instance of the non-memory resource. At link time the linker allocates an instance of the non-memory resource to the symbol and then replaces each instance of the symbol with an address of the non-memory resource instance, thereby generating executable code. Examples of instances of non-memory resources include ring circuits and event filter circuits.

    Abstract translation: 链接时,一个新的链接器静态分配非内存资源的资源实例。 在一个示例中,源代码中的一个新颖的声明指令声明资源实例池,其中资源实例是非内存资源的实例。 然后使用新的分配指令来指示链接器从池中分配与符号相关联的资源实例。 此后,该符号在源代码中可用于引用非存储器资源的实例。 在链接时,链接器会将非内存资源的实例分配给符号,然后用非内存资源实例的地址替换符号的每个实例,从而生成可执行代码。 非存储器资源的例子包括环形电路和事件滤波器电路。

    ALLOCATE INSTRUCTION AND API CALL THAT CONTAIN A SYBMOL FOR A NON-MEMORY RESOURCE
    154.
    发明申请
    ALLOCATE INSTRUCTION AND API CALL THAT CONTAIN A SYBMOL FOR A NON-MEMORY RESOURCE 有权
    分配指令和API呼叫包含非存储资源的SYBMOL

    公开(公告)号:US20150128113A1

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

    申请号:US14074640

    申请日:2013-11-07

    CPC classification number: G06F8/41 G06F8/457 G06F8/54

    Abstract: A novel allocate instruction and a novel API call are received onto a compiler. The allocate instruction includes a symbol that identifies a non-memory resource instance. The API call is a call to perform an operation on a non-memory resource instance, where the particular instance is indicated by the symbol in the API call. The compiler replaces the API call with a set of API instructions. A linker then allocates a value to be associated with the symbol, where the allocated value is one of a plurality of values, and where each value corresponds to a respective one of the non-memory resource instances. After allocation, the linker generates an amount of executable code, where the API instructions in the code: 1) are for using the allocated value to generate an address of a register in the appropriate non-memory resource instance, and 2) are for accessing the register.

    Abstract translation: 一个新的分配指令和一个新的API调用被接收到一个编译器上。 分配指令包括标识非内存资源实例的符号。 API调用是对非内存资源实例执行操作的调用,其中特定实例由API调用中的符号指示。 编译器使用一组API指令替换API调用。 链接器然后分配要与符号相关联的值,其中分配的值是多个值中的一个,并且其中每个值对应于非存储器资源实例中的相应一个。 分配后,链接器生成一定量的可执行代码,其中代码中的API指令:1)用于使用分配的值在适当的非内存资源实例中生成寄存器的地址,以及2)用于访问 登记册。

    TRANSACTIONAL MEMORY THAT SUPPORTS A GET FROM ONE OF A SET OF RINGS COMMAND
    155.
    发明申请
    TRANSACTIONAL MEMORY THAT SUPPORTS A GET FROM ONE OF A SET OF RINGS COMMAND 有权
    支持从一组环形指令获取的交易记忆

    公开(公告)号:US20150089165A1

    公开(公告)日:2015-03-26

    申请号:US14037239

    申请日:2013-09-25

    Inventor: Gavin J. Stark

    CPC classification number: G06F9/3836 G06F9/3004 H04L45/74

    Abstract: A transactional memory (TM) includes a control circuit pipeline and an associated memory unit. The memory unit stores a plurality of rings. The pipeline maintains, for each ring, a head pointer and a tail pointer. A ring operation stage of the pipeline maintains the pointers as values are put onto and are taken off the rings. A put command causes the TM to put a value into a ring, provided the ring is not full. A get command causes the TM to take a value off a ring, provided the ring is not empty. A put with low priority command causes the TM to put a value into a ring, provided the ring has at least a predetermined amount of free buffer space. A get from a set of rings command causes the TM to get a value from the highest priority non-empty ring (of a specified set of rings).

    Abstract translation: 事务存储器(TM)包括控制电路管线和相关联的存储器单元。 存储单元存储多个环。 对于每个环,流水线保持头指针和尾指针。 管道的环操作阶段将维护指针,因为值被放置在环上并被取消。 如果环未满,则put命令会使TM将值放入环中。 如果环不为空,则get命令使TM取环, 如果环具有至少预定量的可用缓冲空间,则具有低优先级命令的put将导致TM将值放入环中。 从一组ring命令获取,使TM从最高优先级非空环(指定的一组环)获取一个值。

    STORING AN ENTROPY SIGNAL FROM A SELF-TIMED LOGIC BIT STREAM GENERATOR IN AN ENTROPY STORAGE RING
    156.
    发明申请
    STORING AN ENTROPY SIGNAL FROM A SELF-TIMED LOGIC BIT STREAM GENERATOR IN AN ENTROPY STORAGE RING 有权
    在熵存储环境中存储自定义逻辑位流发生器的入侵信号

    公开(公告)号:US20150088950A1

    公开(公告)日:2015-03-26

    申请号:US14037312

    申请日:2013-09-25

    Inventor: Gavin J. Stark

    CPC classification number: G06F7/584

    Abstract: A Self-Timed Logic Entropy Bit Stream Generator (STLEBSG) outputs a bit stream having non-deterministic entropy. The bit stream is supplied onto an input of a signal storage ring so that entropy of the bit stream is then stored in the ring as the bit stream circulates in the ring. Depending on the configuration of the ring, the bit stream as it circulates undergoes permutations, but the signal storage ring nonetheless stores the entropy of the injected bit stream. In one example, the STLEBSG is disabled and the bit stream is no longer supplied to the ring, but the ring continues to circulate and stores entropy of the original bit stream. With the STLEBSG disabled, a signal output from the ring is used to generate one or more random numbers.

    Abstract translation: 自定时逻辑熵比特流发生器(STLEBSG)输出具有非确定性熵的比特流。 比特流被提供到信号存储环的输入端,使得当比特流在环中循环时,比特流的熵随后被存储在环中。 根据环的配置,其循环中的位流经历置换,但是信号存储环仍然存储注入的比特流的熵。 在一个示例中,STLEBSG被禁用并且比特流不再被提供给环,但是环继续循环并存储原始比特流的熵。 禁用STLEBSG时,使用来自环的信号输出来产生一个或多个随机数。

    Script-Controlled Egress Packet Modifier
    157.
    发明申请
    Script-Controlled Egress Packet Modifier 有权
    脚本控制出口数据包修改器

    公开(公告)号:US20150016458A1

    公开(公告)日:2015-01-15

    申请号:US13941494

    申请日:2013-07-14

    Abstract: An egress packet modifier includes a script parser and a pipeline of processing stages. Rather than performing egress modifications using a processor that fetches and decodes and executes instructions in a classic processor fashion, and rather than storing a packet in memory and reading it out and modifying it and writing it back, the packet modifier pipeline processes the packet by passing parts of the packet through the pipeline. A processor identifies particular egress modifications to be performed by placing a script code at the beginning of the packet. The script parser then uses the code to identify a specific script of opcodes, where each opcode defines a modification. As a part passes through a stage, the stage can carry out the modification of such an opcode. As realized using current semiconductor fabrication process, the packet modifier can modify 200M packets/second at a sustained rate of up to 100 gigabits/second.

    Abstract translation: 出口分组修饰符包括脚本解析器和处理阶段的流水线。 而不是使用处理器执行出口修改,处理器以经典处理器的方式获取和解码并执行指令,而不是将数据包存储在存储器中并将其读出并修改它并将其写回来,数据包修改器流水线通过传递来处理数据包 部分数据包通过管道。 处理器通过将脚本代码放置在分组的开始处来识别要执行的特定出口修改。 脚本解析器然后使用代码来识别操作码的特定脚本,其中每个操作码定义一个修改。 作为一个阶段,舞台可以进行这样一个操作码的修改。 通过使用当前的半导体制造工艺实现,分组修改器可以以高达100吉比特/秒的持续速率修改200M分组/秒。

    TRANSACTIONAL MEMORY THAT PERFORMS A PMM 32-BIT LOOKUP OPERATION
    158.
    发明申请
    TRANSACTIONAL MEMORY THAT PERFORMS A PMM 32-BIT LOOKUP OPERATION 有权
    执行PMM 32位查找操作的交互式存储器

    公开(公告)号:US20140136798A1

    公开(公告)日:2014-05-15

    申请号:US13675394

    申请日:2012-11-13

    Inventor: Gavin J. Stark

    Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. The command includes a memory address. In response to the command, the TM pulls an input value (IV). The memory address is used to read a word containing multiple result values (RVs), multiple reference values, and multiple prefix values from memory. A selecting circuit within the TM uses a starting bit position and a mask size to select a portion of the IV. The portion of the IV is a lookup key value (LKV). Mask values are generated based on the prefix values. The LKV is masked by each mask value thereby generating multiple masked values that are compared to the reference values. Based on the comparison a lookup table generates a selector value that is used to select a result value. The selected result value is then communicated to the processor via the bus.

    Abstract translation: 事务存储器(TM)从处理器接收总线上的查找命令。 该命令包括一个内存地址。 响应该命令,TM拉动输入值(IV)。 存储器地址用于从存储器读取包含多个结果值(RV),多个引用值和多个前缀值的单词。 TM内的选择电路使用起始位位置和掩码大小来选择IV的一部分。 IV的部分是查询键值(LKV)。 基于前缀值生成掩码值。 LKV由每个掩码值屏蔽,从而产生与参考值进行比较的多个掩蔽值。 基于比较,查找表生成用于选择结果值的选择器值。 所选择的结果值然后经由总线传送到处理器。

    INTER-PACKET INTERVAL PREDICTION LEARNING ALGORITHM
    159.
    发明申请
    INTER-PACKET INTERVAL PREDICTION LEARNING ALGORITHM 有权
    分组间隔预测学习算法

    公开(公告)号:US20140133320A1

    公开(公告)日:2014-05-15

    申请号:US13675620

    申请日:2012-11-13

    Abstract: An appliance receives packets that are part of a flow pair, each packet sharing an application protocol. The appliance determines the application protocol of the packets by performing deep packet inspection (DPI) on the packets. Packet sizes are measured and converted into packet size states. Packet size states, packet sequence numbers, and packet flow directions are used to create an application protocol estimation table (APET). The APET is used during normal operation to estimate the application protocol of a flow pair without performing time consuming DPI. The appliance then determines inter-packet intervals between received packets. The inter-packet intervals are converted into inter-packet interval states. The inter-packet interval states and packet sequence numbers are used to create an inter-packet interval prediction table. The appliance then stores an inter-packet interval prediction table for each application protocol. The inter-packet interval prediction table is used during operation to predict the inter-packet interval between packets.

    Abstract translation: 设备接收作为流对的一部分的数据包,每个数据包共享一个应用协议。 设备通过对数据包执行深度数据包检测(DPI)来确定数据包的应用协议。 数据包大小被测量并转换成数据包大小状态。 分组大小状态,分组序列号和分组流方向用于创建应用协议估计表(APET)。 在正常操作期间使用APET来估计流对的应用协议,而不执行耗时的DPI。 然后,设备确定接收到的分组之间的分组间间隔。 分组间间隔被转换成分组间间隔状态。 分组间间隔状态和分组序列号用于创建分组间间隔预测表。 然后,设备为每个应用协议存储分组间间隔预测表。 在操作期间使用分组间间隔预测表来预测分组之间的分组间间隔。

    Low cost multi-server array architecture

    公开(公告)号:US10680943B2

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

    申请号:US16042572

    申请日:2018-07-23

    Inventor: J. Niel Viljoen

    Abstract: An array of columns and rows of host server devices is mounted in a row of racks. Each device has a host processor and an exact-match packet switching integrated circuit. Packets are switched within the system using exact-match flow tables that are provisioned by a central controller. Each device is coupled by a first cable to a device to its left, by a second cable to a device to its right, by a third cable to a device above, and by a fourth cable to a device below. In one example, substantially all cables that are one meter or less in length are non-optical cables, whereas substantially all cables that are seven meters or more in length are optical cables. Advantageously, each device of a majority of the devices has four and only four cable ports, and connects only to non-optical cables, and the connections involve no optical transceiver.

Patent Agency Ranking