Patents by Inventor John Greth

John Greth has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11995017
    Abstract: A multi-plane, multi-protocol memory switch system is disclosed. In some embodiments, a memory switch includes a plurality of switch ports, the memory switch connectable to one or more root complex (RC) devices through one or more respective switch ports of the plurality of switch ports, and the memory switch connectable to a set of endpoints through a set of other switch ports of the plurality of switch ports, wherein the set includes zero or multiple endpoints; a cacheline exchange engine configured to provide a data-exchange path between two endpoints and to map an address space of one endpoint to an address space of another endpoint; and a bulk data transfer engine configured to facilitate data-exchange between two endpoints as a source-destination data stream, one endpoint being designated a source address and another endpoint being designated a destination address.
    Type: Grant
    Filed: June 8, 2022
    Date of Patent: May 28, 2024
    Assignee: Enfabrica Corporation
    Inventors: Thomas Norrie, Shrijeet Mukherjee, John Greth, Rochan Sankar, Shimon Muller, Ariel Hendel, Gurjeet Singh
  • Patent number: 11916800
    Abstract: Examples describe an egress port manager that uses an adaptive jitter selector to apply a jitter threshold level for a buffer, wherein the jitter threshold level is to indicate when egress of a packet segment from the buffer is allowed, wherein a packet segment comprises a packet header and wherein the jitter threshold level is adaptive based on a switch fabric load. In some examples, the jitter threshold level is to indicate a number of segments for the buffer's head of line (HOL) packet that are to be in the buffer or indicate a timer that starts at a time of issuance of a first read request for a first segment of the packet in the buffer. In some examples, the jitter threshold level is not more than a maximum transmission unit (MTU) size associated with the buffer.
    Type: Grant
    Filed: June 25, 2020
    Date of Patent: February 27, 2024
    Assignee: Intel Corporation
    Inventors: David Arditti Ilitzky, John Greth, Robert Southworth, Karl S. Papadantonakis, Bongjin Jung, Arvind Srinivasan
  • Patent number: 11722438
    Abstract: Examples describe a manner of scheduling packet segment fetches at a rate that is based on one or more of: a packet drop indication, packet drop rate, incast level, operation of queues in SAF or VCT mode, or fabric congestion level. Headers of packets can be fetched faster than payload or body portions of packets and processed prior to queueing of all body portions. In the event a header is identified as droppable, fetching of the associated body portions can be halted and any body portion that is queued can be discarded. Fetch overspeed can be applied for packet headers or body portions associated with packet headers that are approved for egress.
    Type: Grant
    Filed: August 21, 2019
    Date of Patent: August 8, 2023
    Assignee: Intel Corporation
    Inventors: John Greth, Arvind Srinivasan, Robert Southworth, David Arditti Ilitzky, Bongjin Jung, Gaspar Mora Porta
  • Publication number: 20220398207
    Abstract: A multi-plane, multi-protocol memory switch system is disclosed. In some embodiments, a memory switch includes a plurality of switch ports, the memory switch connectable to one or more root complex (RC) devices through one or more respective switch ports of the plurality of switch ports, and the memory switch connectable to a set of endpoints through a set of other switch ports of the plurality of switch ports, wherein the set includes zero or multiple endpoints; a cacheline exchange engine configured to provide a data-exchange path between two endpoints and to map an address space of one endpoint to an address space of another endpoint; and a bulk data transfer engine configured to facilitate data-exchange between two endpoints as a source-destination data stream, one endpoint being designated a source address and another endpoint being designated a destination address.
    Type: Application
    Filed: June 8, 2022
    Publication date: December 15, 2022
    Inventors: Thomas Norrie, Shrijeet Mukherjee, John Greth, Rochan Sankar, Shimon Muller, Ariel Hendel, Gurjeet Singh
  • Patent number: 11456972
    Abstract: Logic may store at least a portion of an incoming packet at a memory location in a host device in response to a communication from the host device. Logic may compare the incoming packet to a digest in an entry of a primary array. When the incoming packet matches the digest, logic may retrieve a full entry from the secondary array and compare the full entry with the first incoming packet. When the full entry matches the first incoming packet, logic may store at least a portion of the first incoming packet at the memory location. And, in the absence of a match between the first incoming packet and the digest or full entry, logic may compare the first incoming packet to subsequent entries in the primary array to identify a full entry in the secondary array that matches the first incoming packet.
    Type: Grant
    Filed: March 30, 2018
    Date of Patent: September 27, 2022
    Assignee: INTEL CORPORATION
    Inventors: Keith Underwood, Karl Brummel, John Greth
  • Publication number: 20210058343
    Abstract: Examples describe a manner of scheduling packet segment fetches at a rate that is based on one or more of: a packet drop indication, packet drop rate, incast level, operation of queues in SAF or VCT mode, or fabric congestion level. Headers of packets can be fetched faster than payload or body portions of packets and processed prior to queueing of all body portions. In the event a header is identified as droppable, fetching of the associated body portions can be halted and any body portion that is queued can be discarded. Fetch overspeed can be applied for packet headers or body portions associated with packet headers that are approved for egress.
    Type: Application
    Filed: August 21, 2019
    Publication date: February 25, 2021
    Inventors: John GRETH, Arvind SRINIVASAN, Robert SOUTHWORTH, David ARDITTI ILITZKY, Bongjin JUNG, Gaspar MORA PORTA
  • Publication number: 20210058334
    Abstract: Examples described herein provide a packet ingress and egress system with a memory buffer in a network device. The ingress and egress system can generate a time stamp for one or more received packets at an ingress port, allocate a received packet to a queue among multiple queues, and permit egress of a packet from a queue. An ingress port can have one or more queues allocated to store received packets. An egress port can use the one or more queues from which to egress packets. A maximum size of a queue is set as the allocated memory region size divided by the number of ingress ports that use the allocated memory region. An egress arbiter can apply an arbitration scheme to schedule egress of packets in time stamp order.
    Type: Application
    Filed: August 21, 2019
    Publication date: February 25, 2021
    Inventors: John GRETH, Arvind SRINIVASAN, David ARDITTI ILITZKY, Robert SOUTHWORTH, Gaspar MORA PORTA, Scott DIESING, Bongjin JUNG, Prasad SHABADI
  • Publication number: 20200412659
    Abstract: Examples describe an egress port manager that uses an adaptive jitter selector to apply a jitter threshold level for a buffer, wherein the jitter threshold level is to indicate when egress of a packet segment from the buffer is allowed, wherein a packet segment comprises a packet header and wherein the jitter threshold level is adaptive based on a switch fabric load. In some examples, the jitter threshold level is to indicate a number of segments for the buffer's head of line (HOL) packet that are to be in the buffer or indicate a timer that starts at a time of issuance of a first read request for a first segment of the packet in the buffer. In some examples, the jitter threshold level is not more than a maximum transmission unit (MTU) size associated with the buffer.
    Type: Application
    Filed: June 25, 2020
    Publication date: December 31, 2020
    Inventors: David ARDITTI ILITZKY, John GRETH, Robert SOUTHWORTH, Karl S. PAPADANTONAKIS, Bongjin JUNG, Arvind SRINIVASAN
  • Publication number: 20200412670
    Abstract: Examples describe an egress subsystem that can be used to schedule fetching and transmission of packets from a switch fabric. Segments of a packet can be requested from a switch fabric and stored in a re-order buffer to re-order any segments that are received out of order from the switch fabric. A header segment re-order buffer can be used to re-order segments of a header. After a header of a packet is available in the header segment re-order buffer, the header can be processed before the entire associated body is received from the switch fabric. A jitter threshold scheme can gate egress of a body from a re-order buffer unless a time threshold or amount threshold is met. The egress subsystem can track a state of packet segments from request to transmission, A flow control message received at the egress subsystem can cause packets in certain states to be paused and not permitted to egress.
    Type: Application
    Filed: August 21, 2019
    Publication date: December 31, 2020
    Inventors: David ARDITTI ILITZKY, Robert SOUTHWORTH, John GRETH, Arvind SRINIVASAN, Travis J. YOUNG, Luis Alfonso MAEDA NUNEZ, James KUNZ, Bongjin JUNG
  • Publication number: 20190044890
    Abstract: Logic may store at least a portion of an incoming packet at a memory location in a host device in response to a communication from the host device. Logic may compare the incoming packet to a digest in an entry of a primary array. When the incoming packet matches the digest, logic may retrieve a full entry from the secondary array and compare the full entry with the first incoming packet. When the full entry matches the first incoming packet, logic may store at least a portion of the first incoming packet at the memory location. And, in the absence of a match between the first incoming packet and the digest or full entry, logic may compare the first incoming packet to subsequent entries in the primary array to identify a full entry in the secondary array that matches the first incoming packet.
    Type: Application
    Filed: March 30, 2018
    Publication date: February 7, 2019
    Applicant: INTEL CORPORATION
    Inventors: Keith Underwood, Karl Brummel, John Greth