Patents Assigned to Fungible, Inc.
-
Publication number: 20230344920Abstract: 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: ApplicationFiled: June 27, 2023Publication date: October 26, 2023Applicant: Fungible, Inc.Inventors: Pradeep Sindhu, Deepak Goel, Srihari Raju Vegesna, Aibing Zhou, Shashi Kumar, Rohit Sunkam Ramanujam
-
Patent number: 11734179Abstract: Techniques are described in which a system having multiple processing units processes a series of work units in a processing pipeline, where some or all of the work units access or manipulate data stored in non-coherent memory. In one example, this disclosure describes a method that includes identifying, prior to completing processing of a first work unit with a processing unit of a processor having multiple processing units, a second work unit that is expected to be processed by the processing unit after the first work unit. The method also includes processing the first work unit, and prefetching, from non-coherent memory, data associated with the second work unit into a second cache segment of the buffer cache, wherein prefetching the data associated with the second work unit occurs concurrently with at least a portion of the processing of the first work unit by the processing unit.Type: GrantFiled: June 28, 2021Date of Patent: August 22, 2023Assignee: Fungible, Inc.Inventors: Wael Noureddine, Jean-Marc Frailong, Felix A. Marti, Charles Edward Gray, Paul Kim
-
Patent number: 11722585Abstract: 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: GrantFiled: February 15, 2022Date of Patent: August 8, 2023Assignee: Fungible, Inc.Inventors: Pradeep Sindhu, Deepak Goel, Srihari Raju Vegesna, Aibing Zhou, Shashi Kumar, Rohit Sunkam Ramanujam
-
Patent number: 11546189Abstract: An access node that can be configured and optimized to perform input and output (I/O) tasks, such as storage and retrieval of data to and from network devices (such as solid state drives), networking, data processing, and the like. For example, the access node may be configured to receive data to be processed, wherein the access node includes a plurality of processing cores, a data network fabric, and a control network fabric; receive, over the control network fabric, a work unit message indicating a processing task to be performed a processing core; and process the work unit message, wherein processing the work unit message includes retrieving data associated with the work unit message over the data network fabric.Type: GrantFiled: May 18, 2020Date of Patent: January 3, 2023Assignee: Fungible, Inc.Inventors: Pradeep Sindhu, Jean-Marc Frailong, Bertrand Serlet, Wael Noureddine, Felix A. Marti, Deepak Goel, Paul Kim, Rajan Goyal, Aibing Zhou
-
Patent number: 11477120Abstract: The disclosure describes example techniques for determining a data rate at which destination blocks are to receive data unit on a communication mesh. The destination block may determine the data rate at which the destination block is to receive data unit and broadcast information indicative of the data rate on a congestion mesh. The congestion mesh may be configured to route the broadcasted information in a manner that accounts for the relative positions of the circuit blocks in the congestion mesh.Type: GrantFiled: March 24, 2020Date of Patent: October 18, 2022Assignee: Fungible, Inc.Inventors: Deepak Goel, Rohit Sunkam Ramanujam, Yogesh Andra
-
Patent number: 11405179Abstract: 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: GrantFiled: March 15, 2021Date of Patent: August 2, 2022Assignee: Fungible, Inc.Inventors: Philip A. Thomas, Rajan Goyal, Eric Scot Swartzendruber
-
Patent number: 11360895Abstract: Methods and apparatus for memory management are described. In one example, this disclosure describes a method that includes executing, by a first processing unit, first work unit operations specified by a first work unit message, wherein execution of the first work unit operations includes accessing data from shared memory included within the computing system, modifying the data, and storing the modified data in a first cache associated with the first processing unit; identifying, by the computing system, a second work unit message that specifies second work unit operations that access the shared memory; updating, by the computing system, the shared memory by storing the modified data in the shared memory; receiving, by the computing system, an indication that updating the shared memory with the modified data is complete; and enabling the second processing unit to execute the second work unit operations.Type: GrantFiled: February 14, 2020Date of Patent: June 14, 2022Assignee: Fungible, Inc.Inventors: Wael Noureddine, Jean-Marc Frailong, Pradeep Sindhu, Bertrand Serlet
-
Patent number: 11340985Abstract: 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: GrantFiled: August 31, 2020Date of Patent: May 24, 2022Assignee: Fungible, Inc.Inventors: Rajan Goyal, Abhishek Kumar Dikshit
-
Patent number: 11314868Abstract: A system root of trust device of a computing system authenticates boot images associated with data processing units of the computing system. The device includes at least one processor configured to determine whether a first set of boot code associated with a first processor of the computing system is authentic, in response to determining that the first set of boot code is authentic, reset the first processor to allow the first processor to boot and authenticate first executable code to be executed by the first processor, after resetting the first processor, determine whether a second set of boot code associated with a second processor of the computing system is authentic, and in response to determining that the second set of boot code is authentic, reset the second processor to allow the second processor to boot and to authenticate second executable code to be executed by the second processor.Type: GrantFiled: August 30, 2019Date of Patent: April 26, 2022Assignee: Fungible, Inc.Inventors: Yvonne Hou, Sunil Mekad, Prathap Sirishe, Satish D Deo, Umar Badusha
-
Patent number: 11309908Abstract: 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 programmable hardware-based data compression accelerator that includes a pipeline for performing static dictionary-based and dynamic history-based compression on streams of information, such as network packets. The search block may support single and multi-thread processing, and multiple levels of compression effort. To achieve high-compression, the search block may operate at a high level of effort that supports a single thread and use of both a dynamic history of the input data stream and a static dictionary of common words.Type: GrantFiled: November 26, 2018Date of Patent: April 19, 2022Assignee: Fungible, Inc.Inventors: Satyanarayana Lakshmipathi Billa, Rajan Goyal, Edward David Beckman
-
Patent number: 11303472Abstract: A new processing architecture is described in which a data processing unit (DPU) is utilized within a device. Unlike conventional compute models that are centered around a central processing unit (CPU), example implementations described herein leverage a DPU that is specially designed and optimized for a data-centric computing model in which the data processing tasks are centered around, and the primary responsibility of, the DPU. For example, various data processing tasks, such as networking, security, and storage, as well as related work acceleration, distribution and scheduling, and other such tasks are the domain of the DPU. The DPU may be viewed as a highly programmable, high-performance input/output (I/O) and data-processing hub designed to aggregate and process network and storage I/O to and from multiple other components and/or devices. This frees resources of the CPU, if present, for computing-intensive tasks.Type: GrantFiled: July 10, 2018Date of Patent: April 12, 2022Assignee: Fungible, Inc.Inventors: Pradeep Sindhu, Jean-Marc Frailong, Bertrand Serlet, Wael Noureddine, Felix A. Marti, Deepak Goel, Rajan Goyal
-
Patent number: 11272041Abstract: 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: GrantFiled: October 5, 2020Date of Patent: March 8, 2022Assignee: Fungible, Inc.Inventors: Pradeep Sindhu, Deepak Goel, Srihari Raju Vegesna, Aibing Zhou, Shashi Kumar, Rohit Sunkam Ramanujam
-
Patent number: 11263190Abstract: A system comprises a data processing unit (DPU) integrated circuit having programmable processor cores and hardware-based accelerators configured for processing streams of data units; and software executing on one or more of the processing cores. In response to a request to perform an operation on a set of one or more data tables, each having one or more columns of data arranged in a plurality of rows, the software configures the DPU to: input at least a portion of the rows of each of the database tables as at least one or more streams of data units, process the one or more streams of data units with the hardware-based accelerators to apply one or more of compression, encoding or encryption to produce a resultant stream of data units; and write the resultant stream of data units to a storage in a tree data structure.Type: GrantFiled: September 26, 2019Date of Patent: March 1, 2022Assignee: Fungible, Inc.Inventors: Satyanarayana Lakshmipathi Billa, Rajan Goyal
-
Patent number: 11258796Abstract: A key-value store supporting GET, PUT and DELETE operations, serializes multiple clients using two locks, and that supports asynchronous resizing. The locking scheme includes an operation of holding two locks, one for the key involved in the operation, one for the page currently searched or updated. The store can either be a single volume holding keys and data or can be organized as a directory volume referencing a number of data volumes organized by data-size ranges. The scheme also supports asynchronous resizing of the directory while continuing to perform operations.Type: GrantFiled: July 5, 2019Date of Patent: February 22, 2022Assignee: Fungible, Inc.Inventors: Jaspal Kohli, Bertrand Serlet, Xiaoqin Ma, Daniel James Nigel Picken
-
Patent number: 11240143Abstract: This disclosure describes techniques for addressing and/or accounting for path failures (e.g., congestion, link failures, disconnections, or other types of failures) within a network environment. In one example, this disclosure describes a method that includes receiving, by a node connected to a plurality of interconnected nodes, a network packet to be forwarded to a destination node; identifying, by a forwarding plane within the node, a first link along a path to the destination node; determining, by the forwarding plane, that the first link is inoperable; storing, by the node and within the network packet, data identifying the node as having been visited; identifying, by the forwarding plane and from among the plurality of egress links from the node, a second link that is operable and is along an alternative path to the destination node; and transmitting the network packet over the second link.Type: GrantFiled: April 30, 2020Date of Patent: February 1, 2022Assignee: Fungible, Inc.Inventor: Deepak Goel
-
Patent number: 11218574Abstract: This disclosure describes techniques that include representing, traversing, and processing directed graphs using one or more content-addressable memory devices. In one example, this disclosure describes a method that includes presenting query data to one or more ternary content-addressable memory (TCAM) devices, wherein the query data includes state data and key data; receiving, from the TCAM devices, information about a matching address identified by the TCAM devices; accessing, based on the information about the matching address, information in one or more storage devices; performing, based on the information in the one or more storage devices, at least one operation on data included within the one or more storage devices to generate processed data; outputting the processed data; determining, based on the information in the one or more storage devices, new state data and a new key value; and presenting new query data to the TCAM devices.Type: GrantFiled: June 7, 2019Date of Patent: January 4, 2022Assignee: Fungible, Inc.Inventors: Hariharan Lakshminarayanan Thantry, Rohit Sunkam Ramanujam, John David Huber, Deepak Goel, Vikas Minglani
-
Patent number: 11188338Abstract: 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 values represented by one or more previous symbols needed for decoding a current symbol before or in parallel with the insertion of the values represented by the one or more previous symbols in the data stream.Type: GrantFiled: June 13, 2019Date of Patent: November 30, 2021Assignee: Fungible, Inc.Inventors: Gurumani Senthil Nayakam, Satyanarayana Lakshmipathi Billa, Rajan Goyal
-
Patent number: 11178262Abstract: A fabric control protocol is described for use within a data center in which a switch fabric provides full mesh interconnectivity such that any of the servers may communicate packet data for a given packet flow to any other of the servers using any of a number of parallel data paths within the data center switch fabric. The fabric control protocol enables spraying of individual packets for a given packet flow across some or all of the multiple parallel data paths in the data center switch fabric and, optionally, reordering of the packets for delivery to the destination. The fabric control protocol may provide end-to-end bandwidth scaling and flow fairness within a single tunnel based on endpoint-controlled requests and grants for flows. In some examples, the fabric control protocol packet structure is carried over an underlying protocol, such as the User Datagram Protocol (UDP).Type: GrantFiled: September 28, 2018Date of Patent: November 16, 2021Assignee: 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: 11048634Abstract: Techniques are described in which a system having multiple processing units processes a series of work units in a processing pipeline, where some or all of the work units access or manipulate data stored in non-coherent memory. In one example, this disclosure describes a method that includes identifying, prior to completing processing of a first work unit with a processing unit of a processor having multiple processing units, a second work unit that is expected to be processed by the processing unit after the first work unit. The method also includes processing the first work unit, and prefetching, from non-coherent memory, data associated with the second work unit into a second cache segment of the buffer cache, wherein prefetching the data associated with the second work unit occurs concurrently with at least a portion of the processing of the first work unit by the processing unit.Type: GrantFiled: January 17, 2020Date of Patent: June 29, 2021Assignee: Fungible, Inc.Inventors: Wael Noureddine, Jean-Marc Frailong, Felix A. Marti, Charles Edward Gray, Paul Kim
-
Patent number: 11038807Abstract: Timer management techniques are described. An example processing device includes a memory configured to store successive wheels available to be included in traversal paths for timers running on the device, each wheel representing a queue of timers, each wheel having a different, corresponding time delay (TO) value for queuing a timer, and processing circuitry in communication with the memory. The processing circuitry is configured to determine, in response to a request for a timer, a total traversal time for the timer, to select, from the stored wheels, a subset of wheels such that a sum of the respective TO values of the selected subset is within a predetermined margin of error with respect to the total traversal time for the timer, and to sequence the selected subset of wheels based on the respective TO values of the selected subset of wheels to form a traversal path for the timer.Type: GrantFiled: September 12, 2019Date of Patent: June 15, 2021Assignee: Fungible, Inc.Inventors: Wael Noureddine, Jean-Marc Frailong