Patents Assigned to Fungible, Inc.
  • Patent number: 10965586
    Abstract: Techniques for detecting path failures and reducing packet loss as a result of such failures are described for use within a data center or other environment. For example, a source and/or destination access node may create and/or maintain information about health and/or connectivity for a plurality of ports or paths between the source and destination device and core switches. The source access node may spray packets over a number of paths between the source access node and the destination access node. The source access node may use the information about connectivity for the paths between the source or destination access nodes and the core switches to limit the paths over which packets are sprayed. The source access node may spray packets over paths between the source access node and the destination access node that are identified as healthy, while avoiding paths that have been identified as failed.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: March 30, 2021
    Assignee: Fungible, Inc.
    Inventors: Deepak Goel, Pradeep Sindhu, Ayaskant Pani, Srihari Raju Vegesna, Narendra Jayawant Gathoo, John David Huber, Rohit Sunkam Ramanujam, Saurin Patel
  • Patent number: 10958770
    Abstract: This disclosure describes techniques that include storing, during parsing of a data unit or a network packet, information (i.e., “summary information”) that identifies how the network packet has been process and/or other aspects of the parsing process. In one example, this disclosure describes a method that includes parsing a packet header from a data unit, wherein parsing the packet header includes storing in result vector storage each of a plurality of data items derived from the packet header, the result vector storage having a result vector format defining fields within the result vector storage for storing each of the plurality of data items; storing in template storage, for each of the plurality of data items, summary information about the plurality of data items stored in the result vector storage; and processing, by the packet-processing integrated circuit and based on the summary information and the plurality of data items, the network packet.
    Type: Grant
    Filed: October 15, 2018
    Date of Patent: March 23, 2021
    Assignee: Fungible, Inc.
    Inventors: Hariharan Lakshminarayanan Thantry, Srihari Raju Vegesna, Stimit Kishor Oak, Vikas Minglani, Rohit Sunkam Ramanujam, John David Huber, Deepak Goel
  • Patent number: 10951393
    Abstract: This disclosure describes techniques that include performing cryptographic operations (encryption, decryption, generation of a message authentication code). Such techniques may involve the data processing unit performing any of multiple modes of encryption, decryption, and/or other cryptographic operation procedures or standards, including, Advanced Encryption Standard (AES) cryptographic operations. In some examples, the security block is implemented as a unified, multi-threaded, high-throughput encryption and decryption system for performing multiple modes of AES operations.
    Type: Grant
    Filed: October 11, 2018
    Date of Patent: March 16, 2021
    Assignee: Fungible, Inc.
    Inventors: Phillip A. Thomas, Rajan Goyal, Eric Scot Swartzendruber
  • Patent number: 10949303
    Abstract: Techniques are described in which network devices, such as one or more data center access nodes, are configured to support durable block storage with inline erasure coding, i.e., erasure coding in real time as data is updated. A Durable Block Device (DBD) supports a block level API for one or more storage volumes that may be mapped to one or more applications executed by servers in communication with the data center access nodes. The disclosure describes the operation of the data plane of the DBD that is hosted on one or more access nodes, and its interactions with the management and control planes of the DBD that are hosted on one or more of the servers. The disclosure describes generation of a log structured volume in the DBD configured to gather multiple data blocks into larger chunks of data for inline erasure coding for storage across multiple storage devices.
    Type: Grant
    Filed: December 10, 2018
    Date of Patent: March 16, 2021
    Assignee: Fungible, Inc.
    Inventor: Jaspal Kohli
  • Patent number: 10931958
    Abstract: A device includes a memory configured to store image data and an image coding unit. The image coding unit is configured to determine an indication of a last-non-zero (LNZ) syntax element for a block of image data and determine contexts for coding a coefficient map value for each coefficient of a plurality of coefficients of the block using the LNZ syntax element. The image coding unit is further configured to context-based code the coefficient map value for each of the plurality of coefficients in parallel using the respective contexts.
    Type: Grant
    Filed: November 2, 2018
    Date of Patent: February 23, 2021
    Assignee: Fungible, Inc.
    Inventor: Abhishek Kumar Dikshit
  • Patent number: 10929175
    Abstract: This disclosure describes techniques that include establishing a service chain of operations that are performed on a network packet as a sequence of operations. In one example, this disclosure describes a method that includes storing, by a data processing unit integrated circuit, a plurality of work unit frames in a work unit stack representing a plurality of service chain operations, including a first service chain operation, a second service chain operation, and a third service chain operation; executing, by the data processing unit integrated circuit, the first service chain operation, wherein executing the first service chain operation generates operation data; determining, by the data processing unit integrated circuit and based on the operation data, whether to perform the second service chain operation; and executing, by the data processing unit integrated circuit, the third service chain operation after skipping the second service chain operation.
    Type: Grant
    Filed: November 21, 2018
    Date of Patent: February 23, 2021
    Assignee: Fungible, Inc.
    Inventors: Rajan Goyal, Satyanarayana Lakshmipathi Billa
  • Patent number: 10922026
    Abstract: A highly programmable device, referred to generally as a data processing unit, having multiple processing units for processing streams of information, such as network packets or storage packets, is described. The data processing unit includes one or more specialized hardware accelerators configured to perform acceleration for various data-processing functions. This disclosure describes examples of retrieving speculative probability values for range coding a plurality of bits with a single read instruction to a on-chip memory that stores a table of probability values. This disclosure also describes examples of storing state information used for context-coding packets of a data stream so that the state information is available after switching between data streams.
    Type: Grant
    Filed: November 1, 2018
    Date of Patent: February 16, 2021
    Assignee: Fungible, Inc.
    Inventors: Satyanarayana Lakshmipathi Billa, Gurumani Senthil Nayakam, Rajan Goyal
  • Patent number: 10904367
    Abstract: Network access node virtual fabrics configured dynamically over an underlay network are described. A centralized controller, such as a software-defined networking (SDN) controller, of a packet switched network is configured to establish one or more virtual fabrics as overlay networks on top of the physical underlay network of the packet switched network. For example, the SDN controller may define multiple sets of two of more access nodes connected to the packet switched network, and the access nodes of a given one of the sets may use a new data transmission protocol, referred to generally herein as a fabric control protocol (FCP), to dynamically setup tunnels as a virtual fabric over the packet switched network. The FCP tunnels may include all or a subset of the parallel data paths through the packet switched network between the access nodes for a given virtual fabric.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: January 26, 2021
    Assignee: Fungible, Inc.
    Inventors: Deepak Goel, Narendra Jayawant Gathoo, Phillip A. Thomas, Srihari Raju Vegesna, Pradeep Sindhu, Wael Noureddine, Robert William Bowdidge, Ayaskant Pani, Gopesh Goyal
  • Patent number: 10862513
    Abstract: A highly programmable device, referred to generally as a data processing unit, having multiple processing units for processing streams of information, such as network packets or storage packets, is described. The data processing unit includes one or more specialized hardware accelerators configured to perform acceleration for various data-processing functions. This disclosure describes a parallel decoding of codewords within input data stream based on a codeword type and position.
    Type: Grant
    Filed: January 16, 2019
    Date of Patent: December 8, 2020
    Assignee: Fungible, Inc.
    Inventors: Philip A. Thomas, Edward David Beckman, Rajan Goyal, Satyanarayana Lakshmipathi Billa
  • Patent number: 10848775
    Abstract: A device includes a memory configured to store image data and an image coding unit implemented in circuitry. The image coding unit is configured to store a first portion of a set of context information in memory of the image coding unit as an array representing a direct access table and store a second portion of the set of context information in a hash table. The image coding unit is further configured to determine whether a context value for context-based coding of a value of an instance of a syntax element for a block of image data is stored in the array or in the hash table, retrieve the context value from either the array or the hash table according to the determination, and context-based code the value of the instance of the syntax element using the context value.
    Type: Grant
    Filed: November 2, 2018
    Date of Patent: November 24, 2020
    Assignee: Fungible, Inc.
    Inventors: Abhishek Kumar Dikshit, Rajan Goyal
  • Patent number: 10841245
    Abstract: Techniques are described in which a device, such as a network device, compute node or storage device, is configured to utilize a work unit (WU) stack data structure in a multiple core processor system to help manage an event driven, run-to-completion programming model of an operating system executed by the multiple core processor system. The techniques may be particularly useful when processing streams of data at high rates. The WU stack may be viewed as a stack of continuation work units used to supplement a typical program stack as an efficient means of moving the program stack between cores. The work unit data structure itself is a building block in the WU stack to compose a processing pipeline and services execution. The WU stack structure carries state, memory, and other information in auxiliary variables.
    Type: Grant
    Filed: November 20, 2018
    Date of Patent: November 17, 2020
    Assignee: Fungible, Inc.
    Inventors: Charles Edward Gray, Bertrand Serlet, Felix A. Marti, Wael Noureddine, Pratapa Reddy Vaka
  • Patent number: 10827191
    Abstract: A device includes a memory configured to store image data and an image coding unit implemented in circuitry. The image coding unit is configured to code a first value of a first instance of a first syntax element of a first block of image data and determine a first context for coding a second value of a second instance of the first syntax element of a second block of the image data. The image coding unit is configured to context-based code the second value of the second instance of the first syntax element of the second block of the image data after coding the first value of the first instance of the first syntax element using the first context and code a third value of a first instance of a second syntax element of the first block in parallel with coding the second value or after coding the second value.
    Type: Grant
    Filed: November 2, 2018
    Date of Patent: November 3, 2020
    Assignee: Fungible, Inc.
    Inventors: Abhishek Kumar Dikshit, Jorge Cruz-Rios, Rajan Goyal, Satyanarayana Lakshmipathi Billa
  • Patent number: 10827192
    Abstract: A device includes a memory configured to store image data and an image coding unit. The image coding unit is configured to decode a first set of one or more bits of a first value of a first instance of a first syntax element of a block of image data, determine that the first set of one or more bits have values indicating that one or more values of respective instances of one or more other syntax elements of the block of image data are to be decoded. In response to the determination, the image coding unit is configured to decode one or more bits of the one or more values of the respective instances of the one or more other syntax elements of the block prior to decoding a second set of one or more bits of the first value of the first instance of the first syntax element.
    Type: Grant
    Filed: November 2, 2018
    Date of Patent: November 3, 2020
    Assignee: Fungible, Inc.
    Inventors: Abhishek Kumar Dikshit, Rajan Goyal, Jorge Cruz-Rios
  • Patent number: 10812630
    Abstract: A highly programmable device, referred to generally as a data processing unit, having multiple processing units for processing streams of information, such as network packets or storage packets, is described. The data processing unit includes one or more specialized hardware accelerators configured to perform acceleration for various data-processing functions. This disclosure describes a hardware-based programmable data compression accelerator for the data processing unit including a pipeline for performing string substitution. The disclosed string substitution pipeline, referred to herein as a “search block,” is configured to perform string search and replacement functions to compress an input data stream. In some examples, the search block is a part of a compression process performed by the data compression accelerator. The search block may support single and multi-thread processing, and multiple levels of compression effort.
    Type: Grant
    Filed: November 19, 2018
    Date of Patent: October 20, 2020
    Assignee: Fungible, Inc.
    Inventors: Edward David Beckman, Satyanarayana Lakshmipathi Billa, Rajan Goyal
  • Patent number: 10798223
    Abstract: This disclosure describes techniques for performing communications between devices using various aspects of Ethernet standards. As further described herein, a protocol is disclosed that may be used for communications between devices, where the communications take place over a physical connection complying with Ethernet standards. Such a protocol may enable reliable and in-order delivery of frames between devices, while following Ethernet physical layer rules, Ethernet symbol encoding, Ethernet lane alignment, and/or Ethernet frame formats.
    Type: Grant
    Filed: March 7, 2019
    Date of Patent: October 6, 2020
    Assignee: Fungible, Inc.
    Inventors: Pradeep Sindhu, Deepak Goel, Srihari Raju Vegesna, Aibing Zhou, Shashi Kumar, Rohit Sunkam Ramanujam
  • Patent number: 10771090
    Abstract: A highly programmable data processing unit includes multiple processing units for processing streams of information, such as network packets or storage packets. The data processing unit includes one or more specialized hardware accelerators configured to perform acceleration for various data-processing functions. The data processing unit is configured to retrieve speculative probability values for range coding a plurality of bits with a single read instruction to an on-chip memory that stores a table of probability values. The data processing unit is configured to store state information used for context-coding packets of a data stream so that the state information is available after switching between data streams.
    Type: Grant
    Filed: December 12, 2019
    Date of Patent: September 8, 2020
    Assignee: Fungible, Inc.
    Inventors: Rajan Goyal, Satyanarayana Lakshmipathi Billa, Gurumani Senthil Nayakam
  • Patent number: 10761931
    Abstract: This disclosure describes a programmable device, referred to generally as a data processing unit, having multiple processing units for processing streams of information, such as network packets or storage packets. This disclosure also describes techniques that include enabling data durability coding on a network. In some examples, such techniques may involve storing data in fragments across multiple fault domains in a manner that enables efficient recovery of the data using only a subset of the data. Further, this disclosure describes techniques that include applying a unified approach to implementing a variety of durability coding schemes. In some examples, such techniques may involve implementing each of a plurality of durability coding and/or erasure coding schemes using a common matrix approach, and storing, for each durability and/or erasure coding scheme, an appropriate set of matrix coefficients.
    Type: Grant
    Filed: October 24, 2018
    Date of Patent: September 1, 2020
    Assignee: Fungible, Inc.
    Inventors: Rajan Goyal, Abhishek Kumar Dikshit
  • Patent number: 10725825
    Abstract: A new processing architecture is described that utilizes a data processing unit (DPU). Unlike conventional compute models that are centered around a central processing unit (CPU), the DPU that is designed for a data-centric computing model in which the data processing tasks are centered around the DPU. The DPU may be viewed as a highly programmable, high-performance I/O and data-processing hub designed to aggregate and process network and storage I/O to and from other devices. The DPU comprises a network interface to connect to a network, one or more host interfaces to connect to one or more application processors or storage devices, and a multi-core processor with two or more processing cores executing a run-to-completion data plane operating system and one or more processing cores executing a multi-tasking control plane operating system. The data plane operating system is configured to support software functions for performing the data processing tasks.
    Type: Grant
    Filed: July 10, 2018
    Date of Patent: July 28, 2020
    Assignee: Fungible, Inc.
    Inventors: Pradeep Sindhu, Jean-Marc Frailong, Wael Noureddine, Felix A. Marti, Deepak Goel, Rajan Goyal, Bertrand Serlet
  • Patent number: 10727865
    Abstract: A highly programmable device, referred to generally as a data processing unit, having multiple processing units for processing streams of information, such as network packets or storage packets, is described. The data processing unit includes one or more specialized hardware accelerators configured to perform acceleration for various data-processing functions. This disclosure describes a hardware-based programmable data compression accelerator for the data processing unit including a pipeline for performing string substitution. The disclosed string substitution pipeline, referred to herein as a “search block,” is configured to perform string search and replacement functions to compress an input data stream. In some examples, the search block is a part of a compression process performed by the data compression accelerator. The search block may support single and multi-thread processing, and multiple levels of compression effort.
    Type: Grant
    Filed: November 19, 2018
    Date of Patent: July 28, 2020
    Assignee: Fungible, Inc.
    Inventors: Edward David Beckman, Satyanarayana Lakshmipathi Billa, Rajan Goyal
  • Patent number: 10686729
    Abstract: A network system for a data center is described in which a switch fabric provides full mesh interconnectivity such that any servers may communicate packet data to any other of the servers using any of a number of parallel data paths. Moreover, according to the techniques described herein, edge-positioned access nodes, optical permutation devices and core switches of the switch fabric may be configured and arranged in a way such that the parallel data paths provide single L2/L3 hop, full mesh interconnections between any pairwise combination of the access nodes, even in massive data centers having tens of thousands of servers.
    Type: Grant
    Filed: March 28, 2018
    Date of Patent: June 16, 2020
    Assignee: Fungible, Inc.
    Inventors: Pradeep Sindhu, Deepak Goel, Jean-Marc Frailong, Srihari Raju Vegesna, Wael Noureddine, Phillip A. Thomas, Satish Deo, Sunil Mekad, Ayaskant Pani