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).
-
Publication number: 20240330221Abstract: 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: ApplicationFiled: June 13, 2024Publication date: October 3, 2024Inventors: Thomas Norrie, Shrijeet Mukherjee, John Greth, Rochan Sankar, Shimon Muller, Ariel Hendel, Gurjeet Singh
-
Publication number: 20240264964Abstract: 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: ApplicationFiled: April 18, 2024Publication date: August 8, 2024Inventors: Thomas Norrie, Shrijeet Mukherjee, John Greth, Rochan Sankar, Shimon Muller, Ariel Hendel, Gurjeet Singh
-
Patent number: 11995017Abstract: 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: GrantFiled: June 8, 2022Date of Patent: May 28, 2024Assignee: Enfabrica CorporationInventors: Thomas Norrie, Shrijeet Mukherjee, John Greth, Rochan Sankar, Shimon Muller, Ariel Hendel, Gurjeet Singh
-
Patent number: 11916800Abstract: 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: GrantFiled: June 25, 2020Date of Patent: February 27, 2024Assignee: Intel CorporationInventors: David Arditti Ilitzky, John Greth, Robert Southworth, Karl S. Papadantonakis, Bongjin Jung, Arvind Srinivasan
-
Patent number: 11722438Abstract: 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: GrantFiled: August 21, 2019Date of Patent: August 8, 2023Assignee: Intel CorporationInventors: John Greth, Arvind Srinivasan, Robert Southworth, David Arditti Ilitzky, Bongjin Jung, Gaspar Mora Porta
-
Publication number: 20220398207Abstract: 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: ApplicationFiled: June 8, 2022Publication date: December 15, 2022Inventors: Thomas Norrie, Shrijeet Mukherjee, John Greth, Rochan Sankar, Shimon Muller, Ariel Hendel, Gurjeet Singh
-
Patent number: 11456972Abstract: 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: GrantFiled: March 30, 2018Date of Patent: September 27, 2022Assignee: INTEL CORPORATIONInventors: Keith Underwood, Karl Brummel, John Greth
-
Publication number: 20210058343Abstract: 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: ApplicationFiled: August 21, 2019Publication date: February 25, 2021Inventors: John GRETH, Arvind SRINIVASAN, Robert SOUTHWORTH, David ARDITTI ILITZKY, Bongjin JUNG, Gaspar MORA PORTA
-
Publication number: 20210058334Abstract: 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: ApplicationFiled: August 21, 2019Publication date: February 25, 2021Inventors: John GRETH, Arvind SRINIVASAN, David ARDITTI ILITZKY, Robert SOUTHWORTH, Gaspar MORA PORTA, Scott DIESING, Bongjin JUNG, Prasad SHABADI
-
Publication number: 20200412659Abstract: 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: ApplicationFiled: June 25, 2020Publication date: December 31, 2020Inventors: David ARDITTI ILITZKY, John GRETH, Robert SOUTHWORTH, Karl S. PAPADANTONAKIS, Bongjin JUNG, Arvind SRINIVASAN
-
Publication number: 20200412670Abstract: 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: ApplicationFiled: August 21, 2019Publication date: December 31, 2020Inventors: David ARDITTI ILITZKY, Robert SOUTHWORTH, John GRETH, Arvind SRINIVASAN, Travis J. YOUNG, Luis Alfonso MAEDA NUNEZ, James KUNZ, Bongjin JUNG
-
Publication number: 20190044890Abstract: 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: ApplicationFiled: March 30, 2018Publication date: February 7, 2019Applicant: INTEL CORPORATIONInventors: Keith Underwood, Karl Brummel, John Greth