Allocate instruction and API call that contain a sybmol for a non-memory resource
    22.
    发明授权
    Allocate instruction and API call that contain a sybmol for a non-memory resource 有权
    为非内存资源分配包含sybmol的指令和API调用

    公开(公告)号:US09262136B2

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

    申请号: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)用于访问 登记册。

    Self-timed logic bit stream generator with command to run for a number of state transitions
    23.
    发明授权
    Self-timed logic bit stream generator with command to run for a number of state transitions 有权
    具有命令的自定时逻辑比特流生成器,用于运行多个状态转换

    公开(公告)号:US09164730B2

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

    申请号:US14037303

    申请日:2013-09-25

    Inventor: Gavin J. Stark

    CPC classification number: G06F7/584

    Abstract: A bit stream having non-deterministic entropy is generated by a Self-Timed Logic Entropy Bit Stream Generator (STLEBSG). The STLEBSG includes an incrementer and a linear feedback shift register (LFSR), both implemented in self-timed logic as parts of an asynchronous state machine. In response to a command, the incrementer asynchronously increments a number of times and then stops, where the number of times is determined by command. For each increment of the incrementer, the LFSR undergoes a state transition. As the incrementer increments, the LFSR outputs the bit stream. If the command is a run repeatedly command, then after the incrementer stops the incrementer is reinitialized and then again increments the number of times. This incrementing, stopping, reinitializing, and incrementing process is repeated indefinitely. Another command causes the incrementer to be loaded. Another command causes the LFSR to be loaded.

    Abstract translation: 具有非确定性熵的比特流由自定时逻辑熵比特流生成器(STLEBSG)产生。 STLEBSG包括一个增量器和一个线性反馈移位寄存器(LFSR),两者均以自定时逻辑实现,作为异步状态机的一部分。 响应于命令,增量器异步地增加一次次数,然后停止,其中次数由命令确定。 对于增量器的每个增量,LFSR经历状态转换。 随着递增器递增,LFSR输出比特流。 如果命令是重复运行命令,则在增量程序停止后,增量程序将重新初始化,然后再次递增次数。 这种递增,停止,重新初始化和递增过程无限期地重复。 另一个命令导致加载器被加载。 另一个命令导致加载LFSR。

    PICOENGINE MULTI-PROCESSOR WITH TASK ASSIGNMENT
    24.
    发明申请
    PICOENGINE MULTI-PROCESSOR WITH TASK ASSIGNMENT 有权
    具有任务分配的PICOENGINE多处理器

    公开(公告)号:US20150293792A1

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

    申请号:US14251592

    申请日:2014-04-12

    Inventor: Gavin J. Stark

    Abstract: A general purpose PicoEngine Multi-Processor (PEMP) includes a hierarchically organized pool of small specialized picoengine processors and associated memories. A stream of data input values is received onto the PEMP. Each input data value is characterized, and from the characterization a task is determined. Picoengines are selected in a sequence. When the next picoengine in the sequence is available, it is then given the input data value along with an associated task assignment. The picoengine then performs the task. An output picoengine selector selects picoengines in the same sequence. If the next picoengine indicates that it has completed its assigned task, then the output value from the selected picoengine is output from the PEMP. By changing the sequence used, more or less of the processing power and memory resources of the pool is brought to bear on the incoming data stream. The PEMP automatically disables unused picoengines and memories.

    Abstract translation: 通用PicoEngine多处理器(PEMP)包括一个分层组织的小型专用微型引擎处理器和相关存储器的池。 数据输入值流被接收到PEMP上。 每个输入数据值被表征,并且从表征确定任务。 Picoengines按顺序选择。 当序列中的下一个微型引擎可用时,然后给出输入数据值以及相关的任务分配。 picoengine然后执行任务。 输出微型引擎选择器以相同的顺序选择微型引线。 如果下一个微微引擎指示它已经完成其分配的任务,则从PEMP输出所选择的微微引擎的输出值。 通过改变所使用的顺序,或多或少地将该池的处理能力和存储器资源承担在输入数据流上。 PEMP自动禁用未使用的打印机和内存。

    Efficient forwarding of encrypted TCP retransmissions
    25.
    发明授权
    Efficient forwarding of encrypted TCP retransmissions 有权
    加密TCP重传的高效转发

    公开(公告)号:US09154468B2

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

    申请号:US13737907

    申请日:2013-01-09

    CPC classification number: H04L63/0428 H04L63/168

    Abstract: A network device receives TCP segments of a flow via a first SSL session and transmits TCP segments via a second SSL session. Once a TCP segment has been transmitted, the TCP payload need no longer be stored on the network device. Substantial memory resources are conserved, because the device may have to handle many retransmit TCP segments at a given time. If the device receives a retransmit segment, then the device regenerates the retransmit segment to be transmitted. A data structure of entries is stored, with each entry including a decrypt state and an encrypt state for an associated SSL byte position. The device uses the decrypt state to initialize a decrypt engine, decrypts an SSL payload of the retransmit TCP segment received, uses the encrypt state to initialize an encrypt engine, re-encrypts the SSL payload, and then incorporates the re-encrypted SSL payload into the regenerated retransmit TCP segment.

    Abstract translation: 网络设备经由第一SSL会话接收流的TCP片段,并经由第二SSL会话传输TCP片段。 一旦TCP片段被传输,TCP有效载荷就不再需要存储在网络设备上。 大量的内存资源是保守的,因为设备可能必须在给定时间处理许多重传TCP段。 如果设备收到重传段,则设备重新生成要发送的重传段。 存储条目的数据结构,每个条目包括用于相关联的SSL字节位置的解密状态和加密状态。 该设备使用解密状态来初始化解密引擎,解密所接收的重传TCP片段的SSL有效载荷,使用加密状态初始化加密引擎,重新加密SSL有效载荷,然后将重新加密的SSL有效载荷合并到 再生的重传TCP段。

    Script-controlled egress packet modifier
    26.
    发明授权
    Script-controlled egress packet modifier 有权
    脚本控制的出口包修饰符

    公开(公告)号:US09124644B2

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

    申请号: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 direct 32-bit lookup operation
    27.
    发明授权
    Transactional memory that performs a direct 32-bit lookup operation 有权
    执行直接32位查找操作的事务内存

    公开(公告)号:US09100212B2

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

    申请号:US13552605

    申请日:2012-07-18

    CPC classification number: H04L12/4625 G06F9/3004 G06F12/06 G06F15/163

    Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. The command includes a base address, a starting bit position, and a mask size. In response to the lookup command, the TM pulls an input value (IV). The TM uses the starting bit position and the mask size to select a portion of the IV. A first sub-portion of the portion of the IV and the base address are summed to generate a memory address. The memory address is used to read a word containing multiple result values (RVs) from memory. One RV from the word is selected using a multiplexing circuit and a second sub-portion of the portion of the IV. If the selected RV is a final value, then lookup operation is complete and the TM sends the RV to the processor, otherwise the TM performs another lookup operation based upon the selected RV.

    Abstract translation: 事务存储器(TM)从处理器接收总线上的查找命令。 该命令包括基地址,起始位位置和掩码大小。 响应于查找命令,TM拉取输入值(IV)。 TM使用起始位位置和掩码大小来选择IV的一部分。 将IV的部分和基地址的第一子部分相加以生成存储器地址。 存储器地址用于从存储器读取包含多个结果值(RV)的单词。 使用多路复用电路和IV部分的第二子部分选择来自该单词的一个RV。 如果所选的RV是最终值,则查找操作完成,并且TM将RV发送到处理器,否则TM基于所选择的RV执行另一查找操作。

    Transactional memory that performs a direct 24-BIT lookup operation
    28.
    发明授权
    Transactional memory that performs a direct 24-BIT lookup operation 有权
    执行直接24位查找操作的事务内存

    公开(公告)号:US09098264B2

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

    申请号:US13552627

    申请日:2012-07-18

    Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. Only final result values are stored in memory. The command includes a base address, a starting bit position, and mask size. In response to the lookup command, the TM pulls an input value (IV). A selecting circuit within the TM uses the starting bit position and mask size to select a portion of the IV. The portion of the IV and the base address are used to generate a memory address. The memory address is used to read a word containing multiple result values (RVs) from memory. One RV from the word is selected using a multiplexing circuit and a result location value (RLV) generated from the portion of the IV. A word selector circuit and arithmetic circuits are used to generate the memory address and RLV. The TM sends the selected RV to the processor.

    Abstract translation: 事务存储器(TM)从处理器接收总线上的查找命令。 只有最终的结果值存储在内存中。 该命令包括基地址,起始位位置和掩码大小。 响应于查找命令,TM拉取输入值(IV)。 TM内的选择电路使用起始位位置和掩码大小来选择IV的一部分。 IV和基地址的部分用于生成内存地址。 存储器地址用于从存储器读取包含多个结果值(RV)的单词。 使用多路复用电路和从IV部分产生的结果位置值(RLV)来选择来自该单词的一个RV。 字选择器电路和运算电路用于产生存储器地址和RLV。 TM将所选择的RV发送到处理器。

    ENTROPY STORAGE RING HAVING STAGES WITH FEEDBACK INPUTS
    29.
    发明申请
    ENTROPY STORAGE RING HAVING STAGES WITH FEEDBACK INPUTS 有权
    具有反馈输入的入口存储环

    公开(公告)号:US20150089242A1

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

    申请号:US14037319

    申请日:2013-09-25

    Inventor: Gavin J. Stark

    CPC classification number: G06F7/58

    Abstract: An entropy storage ring includes an input node, a plurality of serial-connected stages, and an output node. Each stage includes an XOR (or XNOR) circuit, a delay element having an input coupled to the XOR output, and a combinatorial circuit having an output coupled to a second input of the XOR. The combinatorial circuit may be a NAND, NOR, AND or OR gate. A first input of the XOR is the data input of the stage. The output of the delay element is the data output of the stage. A first input of the combinatorial circuit is coupled to receive an enable bit from a configuration register. A second input of the combinatorial circuit is coupled to the ring output node. In operation, a bit stream is supplied onto the ring input node. Feedback of multiple stages are enabled so that the bit stream undergoes complex permutation as it circulates.

    Abstract translation: 熵存储环包括输入节点,多个串联级和输出节点。 每个级包括XOR(或XNOR)电路,具有耦合到XOR输出的输入的延迟元件,以及具有耦合到XOR的第二输入的输出的组合电路。 组合电路可以是NAND,NOR,或或或门。 XOR的第一个输入是舞台的数据输入。 延迟元件的输出是级的数据输出。 组合电路的第一输入被耦合以从配置寄存器接收使能位。 组合电路的第二输入耦合到环形输出节点。 在操作中,位流被提供到环形输入节点上。 启用多级的反馈,使得位流在其循环时经历复杂的置换。

    TRANSACTIONAL MEMORY THAT SUPPORTS PUT AND GET RING COMMANDS
    30.
    发明申请
    TRANSACTIONAL MEMORY THAT SUPPORTS PUT AND GET RING COMMANDS 有权
    支持输入和取得命令的交互式记忆

    公开(公告)号:US20150089095A1

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

    申请号: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从最高优先级非空环(指定的一组环)获取一个值。

Patent Agency Ranking