-
11.
公开(公告)号:US11650884B2
公开(公告)日:2023-05-16
申请号:US17740565
申请日:2022-05-10
Applicant: Google LLC
Inventor: Prashant R. Chandra , Ian Mclaren , Jon Olson , Jacob Adriaens
CPC classification number: G06F11/1451 , G06F9/45558 , G06F12/10 , G06F2009/4557 , G06F2009/45583 , G06F2009/45595 , G06F2201/84 , G06F2212/657
Abstract: Systems and methods of error handling in a network interface card (NIC) are provided. For a data packet destined for a local virtual machine (VM), if the NIC cannot determine a valid translation memory address for a virtual memory address in a buffer descriptor from a receive queue of the VM, the NIC can retrieve a backup buffer descriptor from a hypervisor queue, and store the packet in a host memory location indicated by an address in the backup buffer descriptor. For a transmission request from a local VM, if the NIC cannot determine a valid translated address for a virtual memory address in the packet descriptor from a transmit queue of the VM, the NIC can send a message to a hypervisor backup queue, and generate and transmit a data packet based on data in a memory page reallocated by the hypervisor.
-
公开(公告)号:US20220337675A1
公开(公告)日:2022-10-20
申请号:US17857620
申请日:2022-07-05
Applicant: Google LLC
Inventor: Weihuang Wang , Prashant R. Chandra , Srinivas Vaduvatha
Abstract: A communication protocol system is provided for reliable transport of packets. In this regard, an initiator entity may determine that outgoing data is to be transmitted to a target entity. The initiator entity may transmit, to the target entity, a solicited push request requesting the outgoing data to be placed at the target entity. In response to the solicited push request, the initiator entity may receive a push grant from the target entity. In response to the push grant, the initiator entity may transmit to the target entity the outgoing data to be placed at the target entity.
-
13.
公开(公告)号:US20220269569A1
公开(公告)日:2022-08-25
申请号:US17740565
申请日:2022-05-10
Applicant: Google LLC
Inventor: Prashant R. Chandra , Ian Mclaren , Jon Olson , Jacob Adriaens
Abstract: Systems and methods of error handling in a network interface card (NIC) are provided. For a data packet destined for a local virtual machine (VM), if the NIC cannot determine a valid translation memory address for a virtual memory address in a buffer descriptor from a receive queue of the VM, the NIC can retrieve a backup buffer descriptor from a hypervisor queue, and store the packet in a host memory location indicated by an address in the backup buffer descriptor. For a transmission request from a local VM, if the NIC cannot determine a valid translated address for a virtual memory address in the packet descriptor from a transmit queue of the VM, the NIC can send a message to a hypervisor backup queue, and generate and transmit a data packet based on data in a memory page reallocated by the hypervisor.
-
公开(公告)号:US20240193093A1
公开(公告)日:2024-06-13
申请号:US18583341
申请日:2024-02-21
Applicant: Google LLC
Inventor: Jiazhen Zheng , Srinivas Vaduvatha , Hugh McEvoy Walsh , Prashant R. Chandra , Abhishek Agarwal , Weihuang Wang , Weiwei Jiang
IPC: G06F12/0895 , G06F12/0864 , G06F12/121
CPC classification number: G06F12/0895 , G06F12/0864 , G06F12/121
Abstract: A packet cache system includes a cache memory allocator for receiving a memory address corresponding to a non-cache memory and allocated to a packet, and associating the memory address with a cache memory address; a hash table for storing the memory address and the cache memory address, with the memory address as a key and the cache memory address as a value; a cache memory for storing the packet at a location indicated by the cache memory address; and an eviction engine for determining one or more cached packets to remove from the cache memory and place in the non-cache memory when occupancy of the cache memory is high.
-
公开(公告)号:US11995000B2
公开(公告)日:2024-05-28
申请号:US17834018
申请日:2022-06-07
Applicant: Google LLC
Inventor: Jiazhen Zheng , Srinivas Vaduvatha , Hugh McEvoy Walsh , Prashant R. Chandra , Abhishek Agarwal , Weihuang Wang , Weiwei Jiang
IPC: G06F12/0895 , G06F12/0864 , G06F12/121
CPC classification number: G06F12/0895 , G06F12/0864 , G06F12/121
Abstract: A packet cache system includes a cache memory allocator for receiving a memory address corresponding to a non-cache memory and allocated to a packet, and associating the memory address with a cache memory address; a hash table for storing the memory address and the cache memory address, with the memory address as a key and the cache memory address as a value; a cache memory for storing the packet at a location indicated by the cache memory address; and an eviction engine for determining one or more cached packets to remove from the cache memory and place in the non-cache memory when occupancy of the cache memory is high.
-
公开(公告)号:US20240168996A1
公开(公告)日:2024-05-23
申请号:US18423766
申请日:2024-01-26
Applicant: Google LLC
Inventor: Weiwei Jiang , Srinivas Vaduvatha , Prashant R. Chandra , Jiazhen Zheng , Hugh McEvoy Walsh , Weihuang Wang , Abhishek Agarwal
IPC: G06F16/901 , G06F3/06
CPC classification number: G06F16/9014 , G06F3/0613 , G06F3/0659 , G06F3/0673 , G06F16/9017
Abstract: A hash table system, including a plurality of hash tables, associated with respective hash functions, for storing key-value pairs; an overflow memory for storing key-value pairs moved from the hash tables due to collision; and an arbiter for arbitrating among commands including update commands, match commands, and rehash commands, wherein for each system clock cycle, the arbiter selects as a selected command one of an update command, a match command, or a rehash command, and wherein the hash table system completes execution of each selected command within a bounded number of system clock cycles.
-
公开(公告)号:US20220393977A1
公开(公告)日:2022-12-08
申请号:US17890348
申请日:2022-08-18
Applicant: Google LLC
Inventor: Prashant R. Chandra , Balakrishna Raghunath , Uday Ramakrishna Naik , Michael Dalton
IPC: H04L45/586 , G06F9/455 , H04L45/64 , H04L45/745 , H04L69/22 , H04L61/5007
Abstract: Systems and methods of offloading multicast virtual network packet processing to a network interface card are provided. In an example implementation, a network interface card can route packets in a virtual network. The network interface card can be configured to receive a data packet having a multicast header for transmission to a plurality of destination virtual machines. The network interface card can retrieve a list of next hop destinations for the data packet. The network interface card can replicate the packet for each next hop destination. The network interface card can encapsulate each replicated packet with a unicast header that includes a next hop destination virtual IP address indicating the next hop destination and a source virtual IP address, and transmit the encapsulated packets.
-
公开(公告)号:US12184417B2
公开(公告)日:2024-12-31
申请号:US17879853
申请日:2022-08-03
Applicant: Google LLC
Inventor: Yuliang Li , Hassan Mohamed Gamal Hassan Wassel , Behnam Montazeri , Weihuang Wang , Srinivas Vaduvatha , Nandita Dukkipati , Prashant R. Chandra , Masoud Moshref Javadi
IPC: H04L1/1607 , H04L1/1867 , H04L43/106
Abstract: The technology is directed to the use of a bitmap generated at a receiver to track the status of received packets sent by a transmitter. The technology may include a network device including an input port, output port, and circuitry. The circuitry may generate a transmitter bitmap that tracks each data packet sent to another network device. The circuitry of the network device may receive, from the other network device, a receiver bitmap that identifies each data packet that is received and not received from the network device. The circuitry may then determine which data packets to retransmit by comparing the transmitter bitmap to the receiver bitmap.
-
公开(公告)号:US12019542B2
公开(公告)日:2024-06-25
申请号:US17882802
申请日:2022-08-08
Applicant: Google LLC
Inventor: Abhishek Agarwal , Jiazhen Zheng , Srinivas Vaduvatha , Weihuang Wang , Hugh McEvoy Walsh , Weiwei Jiang , Ajay Venkatesan , Prashant R. Chandra
IPC: G06F12/0802
CPC classification number: G06F12/0802 , G06F2212/60
Abstract: Aspects of the disclosure are directed to high performance connection cache eviction for reliable transport protocols in data center networking. Connection priorities for connection entries are determined to store the connection entries in a cache based on their connection priority. During cache eviction, the connection entries with a lowest connection priority are evicted from the cache. Cache eviction can be achieved with low latency at a high rate.
-
公开(公告)号:US11914647B2
公开(公告)日:2024-02-27
申请号:US17833126
申请日:2022-06-06
Applicant: Google LLC
Inventor: Weiwei Jiang , Srinivas Vaduvatha , Prashant R. Chandra , Jiazhen Zheng , Hugh McEvoy Walsh , Weihuang Wang , Abhishek Agarwal
IPC: G06F16/901 , G06F3/06
CPC classification number: G06F16/9014 , G06F3/0613 , G06F3/0659 , G06F3/0673 , G06F16/9017
Abstract: A hash table system, including a plurality of hash tables, associated with respective hash functions, for storing key-value pairs; an overflow memory for storing key-value pairs moved from the hash tables due to collision; and an arbiter for arbitrating among commands including update commands, match commands, and rehash commands, wherein for each system clock cycle, the arbiter selects as a selected command one of an update command, a match command, or a rehash command, and wherein the hash table system completes execution of each selected command within a bounded number of system clock cycles.
-
-
-
-
-
-
-
-
-