Patents by Inventor Benjamin Charles Serebrin

Benjamin Charles Serebrin 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: 11928496
    Abstract: Hardware transactions or other techniques, such as custom PCIe handling devices, are used to atomically move pages from one host's memory to another host's memory. The hosts are connected by one or two non-transparent bridges (NTBs), which make each host's memory and devices available to the other, while allowing each host to reboot independently.
    Type: Grant
    Filed: April 4, 2023
    Date of Patent: March 12, 2024
    Assignee: Google LLC
    Inventors: Benjamin Charles Serebrin, Grigory Makarevich, Eric Northup
  • Publication number: 20230297407
    Abstract: Hardware transactions or other techniques, such as custom PCIe handling devices, are used to atomically move pages from one host's memory to another host's memory. The hosts are connected by one or two non-transparent bridges (NTBs), which make each host's memory and devices available to the other, while allowing each host to reboot independently.
    Type: Application
    Filed: April 4, 2023
    Publication date: September 21, 2023
    Inventors: Benjamin Charles Serebrin, Grigory Makarevich, Eric Northup
  • Patent number: 11635984
    Abstract: Hardware transactions or other techniques, such as custom PCIe handling devices, are used to atomically move pages from one hoses memory to another hoses memory. The hosts are connected by one or two non-transparent bridges (NTBs), which make each host's memory and devices available to the other, while allowing each host to reboot independently.
    Type: Grant
    Filed: June 2, 2022
    Date of Patent: April 25, 2023
    Assignee: Google LLC
    Inventors: Benjamin Charles Serebrin, Grigory Makarevich, Eric Northup
  • Publication number: 20220291945
    Abstract: Hardware transactions or other techniques, such as custom PCIe handling devices, are used to atomically move pages from one hoses memory to another hoses memory. The hosts are connected by one or two non-transparent bridges (NTBs), which make each host's memory and devices available to the other, while allowing each host to reboot independently.
    Type: Application
    Filed: June 2, 2022
    Publication date: September 15, 2022
    Inventors: Benjamin Charles Serebrin, Grigory Makarevich, Eric Northup
  • Patent number: 11360794
    Abstract: Hardware transactions or other techniques, such as custom PCIe handling devices, are used to atomically move pages from one host's memory to another host's memory. The hosts are connected by one or two non-transparent bridges (NTBs), which make each host's memory and devices available to the other, while allowing each host to reboot independently.
    Type: Grant
    Filed: February 14, 2018
    Date of Patent: June 14, 2022
    Assignee: Google LLC
    Inventors: Benjamin Charles Serebrin, Grigory Makarevich, Eric Northup
  • Patent number: 10977191
    Abstract: Aspects of the disclosure relate to directing and tracking translation lookaside buffer (TLB) shootdowns within hardware. One or more processors, comprising one or more processor cores, may determine that a process executing on a processing core causes one or more virtual memory pages to become disassociated with one or more previously associated physical memory addresses. The processing core which is executing that process which caused the disassociation may generate a TLB shootdown request. The processing core may transmit the TLB shootdown request to the other cores. The TLB shootdown request may include identification information, a shootdown address indicating the disassociated virtual memory page or pages which need to be flushed from the respective TLBs of the other cores, and a notification address indicating where the other cores may acknowledge completion of the TLB shootdown request.
    Type: Grant
    Filed: November 1, 2019
    Date of Patent: April 13, 2021
    Assignee: Google LLC
    Inventors: Eric Northup, Benjamin Charles Serebrin
  • Patent number: 10866755
    Abstract: IOMMU map-in may be overlapped with second tier memory access, such that the two operations are at least partially performed at the same time. For example, when a second tier memory read into a storage device controller internal buffer is initiated, an IOMMU mapping may be built simultaneously. To achieve this overlap, a two-stage command buffer is used. In a first stage, content is read from a second tier memory address into the storage device controller internal buffer. In a second stage, the internal buffer is written into the DRAM physical address.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: December 15, 2020
    Assignee: Google LLC
    Inventors: Monish Shah, Benjamin Charles Serebrin, Albert Borchers
  • Patent number: 10693850
    Abstract: An example of a system and method implementing a live migration of a guest on a virtual machine of a host server to a target server is provided. For example, a host server may utilize a flow key to encrypt and decrypt communications with a target server. This flow key may be encrypted using a receive master key, which may result in a receive token. The receive token may be sent to the Network Interface Controller of the host server, which will then encrypt the data packet and forward the information to the target server. Multiple sender schemes may be employed on the host server, and various updates may take place on the target server as a result of the new location of the migrating guest from the host server to the target server.
    Type: Grant
    Filed: May 11, 2015
    Date of Patent: June 23, 2020
    Assignee: Google LLC
    Inventor: Benjamin Charles Serebrin
  • Publication number: 20200125384
    Abstract: Hardware transactions or other techniques, such as custom PCIe handling devices, are used to atomically move pages from one host's memory to another host's memory. The hosts are connected by one or two non-transparent bridges (NTBs), which make each host's memory and devices available to the other, while allowing each host to reboot independently.
    Type: Application
    Filed: February 14, 2018
    Publication date: April 23, 2020
    Applicants: Google LLC, Google LLC
    Inventors: Benjamin Charles Serebrin, Grigory Makarevich, Eric Northup
  • Publication number: 20200065261
    Abstract: Aspects of the disclosure relate to directing and tracking translation lookaside buffer (TLB) shootdowns within hardware. One or more processors, comprising one or more processor cores, may determine that a process executing on a processing core causes one or more virtual memory pages to become disassociated with one or more previously associated physical memory addresses. The processing core which is executing that process which caused the disassociation may generate a TLB shootdown request. The processing core may transmit the TLB shootdown request to the other cores. The TLB shootdown request may include identification information, a shootdown address indicating the disassociated virtual memory page or pages which need to be flushed from the respective TLBs of the other cores, and a notification address indicating where the other cores may acknowledge completion of the TLB shootdown request.
    Type: Application
    Filed: November 1, 2019
    Publication date: February 27, 2020
    Inventors: Eric Northup, Benjamin Charles Serebrin
  • Patent number: 10540292
    Abstract: Aspects of the disclosure relate to directing and tracking translation lookaside buffer (TLB) shootdowns within hardware. One or more processors, comprising one or more processor cores, may determine that a process executing on a processing core causes one or more virtual memory pages to become disassociated with one or more previously associated physical memory addresses. The processing core which is executing that process which caused the disassociation may generate a TLB shootdown request. The processing core may transmit the TLB shootdown request to the other cores. The TLB shootdown request may include identification information, a shootdown address indicating the disassociated virtual memory page or pages which need to be flushed from the respective TLBs of the other cores, and a notification address indicating where the other cores may acknowledge completion of the TLB shootdown request.
    Type: Grant
    Filed: June 7, 2017
    Date of Patent: January 21, 2020
    Assignee: Google LLC
    Inventors: Eric Northup, Benjamin Charles Serebrin
  • Patent number: 10459847
    Abstract: A method includes deploying non-volatile random access memory (NVRAM) coupled to a processor or central processing unit (CPU) core of a computing device as a peripheral device via an input/output (I/O) bus, and providing a NVRAM application programming interface (API) for the CPU core to conduct NVRAM read and write operations. Providing the NVRAM API includes allocating a single memory buffer per command to hold data transferred to or from the NVRAM. The method includes configuring the processor in conjunction with the NVRAM API to set up command queues inside in the host Memory Mapped Input Output (MMIO) space.
    Type: Grant
    Filed: July 1, 2015
    Date of Patent: October 29, 2019
    Assignee: GOOGLE LLC
    Inventors: Monish Shah, Albert Thomas Borchers, Joel Dylan Coburn, Benjamin Charles Serebrin
  • Patent number: 10452417
    Abstract: Methods, apparatus, and articles of manufacture to virtualize performance counters are disclosed. An example method includes dividing performance events to be counted into a plurality of classes; assigning a first virtual performance counter of a virtual machine to a first performance event type in a first one of the classes; assigning a second virtual performance counter of the virtual machine to a second performance event type in a second one of the classes different from the first class; incrementing the first virtual performance counter in response to a first occurrence of the first performance event type during direct execution of guest instructions by the virtual machine; and not incrementing the first virtual performance counter in response to a second occurrence of the first performance event type during execution of emulated instructions by a hypervisor on behalf of the virtual machine.
    Type: Grant
    Filed: May 26, 2015
    Date of Patent: October 22, 2019
    Assignee: VMWARE, INC.
    Inventors: Benjamin Charles Serebrin, Daniel Michael Hecht
  • Publication number: 20190227729
    Abstract: IOMMU map-in may be overlapped with second tier memory access, such that the two operations are at least partially performed at the same time. For example, when a second tier memory read into a storage device controller internal buffer is initiated, an IOMMU mapping may be built simultaneously. To achieve this overlap, a two-stage command buffer is used. In a first stage, content is read from a second tier memory address into the storage device controller internal buffer. In a second stage, the internal buffer is written into the DRAM physical address.
    Type: Application
    Filed: April 2, 2019
    Publication date: July 25, 2019
    Inventors: Monish Shah, Benjamin Charles Serebrin, Albert Borchers
  • Patent number: 10296256
    Abstract: IOMMU map-in may be overlapped with second tier memory access, such that the two operations are at least partially performed at the same time. For example, when a second tier memory read into a storage device controller internal buffer is initiated, an IOMMU mapping may be built simultaneously. To achieve this overlap, a two-stage command buffer is used. In a first stage, content is read from a second tier memory address into the storage device controller internal buffer. In a second stage, the internal buffer is written into the DRAM physical address.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: May 21, 2019
    Assignee: Google LLC
    Inventors: Monish Shah, Benjamin Charles Serebrin, Albert Borchers
  • Patent number: 10261700
    Abstract: A method of accessing data in a non-volatile memory device is disclosed. The method includes serially receiving a command having an address in a virtual address space. When the address maps to the buffer in memory, the address may be matched to the address to one of a plurality of segments in buffer memory. Data may be moved from internal EEPROM/Flash memory to a segment of the plurality of segments of the buffer memory for an address range in the virtual address space that is likely to be read. A physical address may be generated within the buffer memory based on the address. Data may be fetched in the buffer memory based on the generated address and then a response for the command may be transmitted that includes the fetched data.
    Type: Grant
    Filed: August 25, 2016
    Date of Patent: April 16, 2019
    Assignee: Google LLC
    Inventors: Benjamin Charles Serebrin, Trevor Bunker, Timothy Chen
  • Patent number: 10133497
    Abstract: A method in a memory system having a security device and a serial external electrically erasable read-only memory (EEPROM) is disclosed. The method includes accepting N bits of a command prefix and matching the bits to command filtering rules. Upon matching the prefix to a command filtering rule, the method may perform a filter action associated with the matched rule. When the command prefix is for a destructive command prefix that can modify data in the EEPROM, the filter action may convert the command into a non-destructive command and inspect it for authentication. The converted command may be output to the external EEPROM without security processing in the security device and the external EEPROM may return read data without outputting. When the command prefix is for a non-destructive command prefix, the command may be allowed to pass through the external EEPROM unchanged without performing security processing in the security device.
    Type: Grant
    Filed: August 25, 2016
    Date of Patent: November 20, 2018
    Assignee: Google LLC
    Inventors: Benjamin Charles Serebrin, Timothy Chen, Scott Johnson
  • Patent number: 10126966
    Abstract: A method for reading a first data bit from a non-volatile memory of a memory system is disclosed. The N most-significant bits are stored for each of M words in a rotated storage section. Address bits are serially received according to the clock signals. Before receiving a final address bit, a rotated word made up of the most significant bit of the M words is fetched from the rotated storage section. Address bits are serially received and rotated words are fetched until the N most-significant bits of the M words have been fetched. Then, un-rotated words are serially fetched from the non-volatile memory. Within one clock signal of the final address bit receipt, a bit is selected out of the fetched rotated words based on the received address bits. The first data bit is returned based on the selected bit and un-rotated words are returned based on the address.
    Type: Grant
    Filed: August 25, 2016
    Date of Patent: November 13, 2018
    Assignee: Google LLC
    Inventors: Benjamin Charles Serebrin, Scott Johnson, Timothy Chen
  • Patent number: 9959224
    Abstract: A system and method are provided for generating interrupts in a computer system using limited interrupt virtualization hardware. A peripheral component interconnect express (PCIe) device atomically sets one or more bits in a posted interrupt vector (PIV) of a target central processing unit (CPU), and sends an interrupt to the target CPU, the interrupt notifying the target CPU of changes to the PIV. Atomically setting the one or more bits may include executing a compare-and-swap function, executing a fetch-and-add instruction to increment a DWORD corresponding to the one or more bits in the PIV by a value of 2 ^ (b mod 32), using PCIe byte enables to write to a single byte in the PCIe address space that contains the one or more bits, using a helper CPU, performing a PCIe swap to the PIV, or storing the PIV in a memory of the PCIe device.
    Type: Grant
    Filed: December 23, 2013
    Date of Patent: May 1, 2018
    Assignee: Google LLC
    Inventor: Benjamin Charles Serebrin
  • Publication number: 20180018123
    Abstract: IOMMU map-in may be overlapped with second tier memory access, such that the two operations are at least partially performed at the same time. For example, when a second tier memory read into a storage device controller internal buffer is initiated, an IOMMU mapping may be built simultaneously. To achieve this overlap, a two-stage command buffer is used. In a first stage, content is read from a second tier memory address into the storage device controller internal buffer. In a second stage, the internal buffer is written into the DRAM physical address.
    Type: Application
    Filed: September 16, 2016
    Publication date: January 18, 2018
    Inventors: Monish Shah, Benjamin Charles Serebrin, Albert Borchers