Patents by Inventor Xavier DEGUILLARD

Xavier DEGUILLARD 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: 11782828
    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using virtblocks are provided. In one set of embodiments, a host system can maintain, in the NVM device, a pointer entry (i.e., virtblock entry) for each allocated data block of the NVM region, where page table entries of the NVM region that refer to the allocated data block include pointers to the pointer entry, and where the pointer entry includes a pointer to the allocated data block. The host system can further determine that a subset of the allocated data blocks of the NVM region are non-active blocks and can purge the non-active blocks from the NVM device to a mass storage device, where the purging comprises updating the pointer entry for each non-active block to point to a storage location of the non-active block on the mass storage device.
    Type: Grant
    Filed: January 7, 2022
    Date of Patent: October 10, 2023
    Assignee: VMware, Inc.
    Inventors: Xavier Deguillard, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Rajesh Venkatasubramanian
  • Patent number: 11720447
    Abstract: Techniques for achieving application high availability via application-transparent battery-backed replication of persistent data are provided. In one set of embodiments, a computer system can detect a failure that causes an application of the computer system to stop running. In response to detecting the failure, the computer system can copy persistent data written by the application and maintained locally at the computer system to one or more remote destinations, where the copying is performed in a manner that is transparent to the application and while the computer system runs on battery power. The application can then be restarted on another computer system using the copied data.
    Type: Grant
    Filed: January 7, 2021
    Date of Patent: August 8, 2023
    Assignee: VMware, Inc.
    Inventors: Pratap Subrahmanyam, Rajesh Venkatasubramanian, Kiran Tati, Qasim Ali, Marcos Aguilera, Irina Calciu, Venkata Subhash Reddy Peddamallu, Xavier Deguillard, Yi Yao
  • Publication number: 20220129377
    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using virtblocks are provided. In one set of embodiments, a host system can maintain, in the NVM device, a pointer entry (i.e., virtblock entry) for each allocated data block of the NVM region, where page table entries of the NVM region that refer to the allocated data block include pointers to the pointer entry, and where the pointer entry includes a pointer to the allocated data block. The host system can further determine that a subset of the allocated data blocks of the NVM region are non-active blocks and can purge the non-active blocks from the NVM device to a mass storage device, where the purging comprises updating the pointer entry for each non-active block to point to a storage location of the non-active block on the mass storage device.
    Type: Application
    Filed: January 7, 2022
    Publication date: April 28, 2022
    Inventors: Xavier Deguillard, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Rajesh Venkatasubramanian
  • Patent number: 11249900
    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using virtblocks are provided. In one set of embodiments, a host system can maintain, in the NVM device, a pointer entry (i.e., virtblock entry) for each allocated data block of the NVM region, where page table entries of the NVM region that refer to the allocated data block include pointers to the pointer entry, and where the pointer entry includes a pointer to the allocated data block. The host system can further determine that a subset of the allocated data blocks of the NVM region are non-active blocks and can purge the non-active blocks from the NVM device to a mass storage device, where the purging comprises updating the pointer entry for each non-active block to point to a storage location of the non-active block on the mass storage device.
    Type: Grant
    Filed: October 29, 2018
    Date of Patent: February 15, 2022
    Assignee: VMWARE, INC.
    Inventors: Xavier Deguillard, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Rajesh Venkatasubramanian
  • Patent number: 11204912
    Abstract: Techniques for using commit coalescing when performing micro-journal-based transaction logging are provided. In one embodiment a computer system can maintain, in a volatile memory, a globally ascending identifier, a first list of free micro-journals, and a second list of in-flight micro-journals. The computer system can further receive a transaction comprising a plurality of modifications to data or metadata stored in the byte-addressable persistent memory, select a micro-journal from the first list, obtain a lock on the globally ascending identifier, write a current value of the globally ascending identifier as a journal commit identifier into a header of the micro-journal, and write journal entries into the micro-journal corresponding to the plurality of modifications included in the transaction. The computer system can then commit the micro-journal to the byte-addressable persistent memory, increment the current value of the globally ascending identifier, and release the lock.
    Type: Grant
    Filed: October 16, 2020
    Date of Patent: December 21, 2021
    Assignee: VMWARE, INC.
    Inventors: Pratap Subrahmanyam, Zongwei Zhou, Xavier Deguillard, Rajesh Venkatasubramanian
  • Patent number: 11029863
    Abstract: Techniques for using non-volatile random access memory (NVM) as volatile random access memory (RAM) are provided. In one set of embodiments, a computer system can detect that an amount of free space in a volatile RAM of the computer system has become low and, in response, can add one or more memory pages from an unused portion of an NVM of the computer system to the system's volatile RAM pool. Conversely, the computer system can detect that an amount of free space in the NVM has become low and, in response, can return the one or more memory pages from the volatile RAM pool back to the NVM.
    Type: Grant
    Filed: August 31, 2017
    Date of Patent: June 8, 2021
    Assignee: VMware, Inc.
    Inventors: Kiran Tati, Preeti Agarwal, Julien Freche, Xavier Deguillard, Rajesh Venkatasubramanian, Ishan Banerjee
  • Publication number: 20210133032
    Abstract: Techniques for achieving application high availability via application-transparent battery-backed replication of persistent data are provided. In one set of embodiments, a computer system can detect a failure that causes an application of the computer system to stop running. In response to detecting the failure, the computer system can copy persistent data written by the application and maintained locally at the computer system to one or more remote destinations, where the copying is performed in a manner that is transparent to the application and while the computer system runs on battery power. The application can then be restarted on another computer system using the copied data.
    Type: Application
    Filed: January 7, 2021
    Publication date: May 6, 2021
    Inventors: Pratap Subrahmanyam, Rajesh Venkatasubramanian, Kiran Tati, Qasim Ali, Marcos Aguilera, Irina Calciu, Venkata Subhash Reddy Peddamallu, Xavier Deguillard, Yi Yao
  • Patent number: 10963290
    Abstract: A hypervisor exchange, e.g., an upgrade, can include consolidating resident virtual machines into a single host virtual machine, exchanging an old hypervisor with a new (upgraded) hypervisor, and disassociating the virtual resident virtual machines by migrating them to the new hypervisor. The consolidating can involve migrating the resident virtual machines from the old hypervisor to a guest hypervisor on the host virtual machine. The exchange can involve: 1) suspending the host virtual machine before the exchange; and 2) resuming the host virtual machine after the exchange; or migrating the host virtual machine from a partition including the old hypervisor to a partition hosting the new hypervisor. Either way, an exchange (upgrade) is achieve without requiring a bandwidth consuming migration over a network to a standby machine.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: March 30, 2021
    Assignee: VMware, Inc.
    Inventors: Xavier Deguillard, Mukund Gunti, Adrian Drzewiecki, Rajesh Venkatasubramanian
  • Patent number: 10936446
    Abstract: A journal-based process to achieve atomicity in a device driver write operation includes committing a transaction associated with the operation to a journal that include a status indicating the target block is corrupted. Subsequent to committing the transaction, the data is written to the target block. If the write operation is successfully committed, the transaction can be deleted from the journal. If a system crash occurs (e.g., power failure) before the write operation is successfully committed, the transaction remains in the journal and can be used to update block metadata associated with the target block when the system reboots to indicate that it is corrupted; e.g., the target block is a torn write.
    Type: Grant
    Filed: February 5, 2018
    Date of Patent: March 2, 2021
    Assignee: VMware, Inc.
    Inventors: Kiran Tati, Rajesh Venkatasubramanian, Xavier Deguillard, Praveen Yedlapalli
  • Patent number: 10929233
    Abstract: Techniques for achieving application high availability via application-transparent battery-backed replication of persistent data are provided. In one set of embodiments, a computer system can detect a failure that causes an application of the computer system to stop running. In response to detecting the failure, the computer system can copy persistent data written by the application and maintained locally at the computer system to one or more remote destinations, where the copying is performed in a manner that is transparent to the application and while the computer system runs on battery power. The application can then be restarted on another computer system using the copied data.
    Type: Grant
    Filed: January 26, 2018
    Date of Patent: February 23, 2021
    Assignee: VMWARE, INC.
    Inventors: Pratap Subrahmanyam, Rajesh Venkatasubramanian, Kiran Tati, Qasim Ali, Marcos Aguilera, Irina Calciu, Venkata Subhash Reddy Peddamallu, Xavier Deguillard, Yi Yao
  • Patent number: 10929235
    Abstract: Techniques for achieving application high availability via crash-consistent asynchronous replication of persistent data are provided. In one set of embodiments, an application running on a computer system can, during runtime of the application: write persistent data to a local nonvolatile data store of the computer system, write one or more log entries comprising the persistent data to a local log region of the computer system, and asynchronously copy the one or more log entries to one or more remote destinations. Then, upon detecting a failure that prevents the application from continuing execution, the computer system can copy the local log region or a remaining portion thereof to the one or more remote destinations, where the copying is performed while the computer system runs on battery power and where the application is restarted on another computer system using a persistent state derived from the copied log entries.
    Type: Grant
    Filed: January 26, 2018
    Date of Patent: February 23, 2021
    Assignee: VMware, Inc.
    Inventors: Pratap Subrahmanyam, Rajesh Venkatasubramanian, Kiran Tati, Qasim Ali, Marcos Aguilera, Irina Calciu, Venkata Subhash Reddy Peddamallu, Xavier Deguillard, Yi Yao
  • Publication number: 20210034600
    Abstract: Techniques for using commit coalescing when performing micro-journal-based transaction logging are provided. In one embodiment a computer system can maintain, in a volatile memory, a globally ascending identifier, a first list of free micro-journals, and a second list of in-flight micro-journals. The computer system can further receive a transaction comprising a plurality of modifications to data or metadata stored in the byte-addressable persistent memory, select a micro-journal from the first list, obtain a lock on the globally ascending identifier, write a current value of the globally ascending identifier as a journal commit identifier into a header of the micro-journal, and write journal entries into the micro-journal corresponding to the plurality of modifications included in the transaction. The computer system can then commit the micro-journal to the byte-addressable persistent memory, increment the current value of the globally ascending identifier, and release the lock.
    Type: Application
    Filed: October 16, 2020
    Publication date: February 4, 2021
    Inventors: Pratap Subrahmanyam, Zongwei Zhou, Xavier Deguillard, Rajesh Venkatasubramanian
  • Patent number: 10846280
    Abstract: Techniques for using commit coalescing when performing micro-journal-based transaction logging are provided. In one embodiment a computer system can maintain, in a volatile memory, a globally ascending identifier, a first list of free micro-journals, and a second list of in-flight micro-journals. The computer system can further receive a transaction comprising a plurality of modifications to data or metadata stored in the byte-addressable persistent memory, select a micro-journal from the first list, obtain a lock on the globally ascending identifier, write a current value of the globally ascending identifier as a journal commit identifier into a header of the micro-journal, and write journal entries into the micro-journal corresponding to the plurality of modifications included in the transaction. The computer system can then commit the micro-journal to the byte-addressable persistent memory, increment the current value of the globally ascending identifier, and release the lock.
    Type: Grant
    Filed: September 4, 2019
    Date of Patent: November 24, 2020
    Assignee: VMware, Inc.
    Inventors: Pratap Subrahmanyam, Zongwei Zhou, Xavier Deguillard, Rajesh Venkatasubramanian
  • Patent number: 10706005
    Abstract: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.
    Type: Grant
    Filed: December 8, 2017
    Date of Patent: July 7, 2020
    Assignee: VMware, Inc.
    Inventors: Michael Wei, Marcos Aguilera, Irina Calciu, Stanko Novakovic, Lalith Suresh, Jayneel Gandhi, Nadav Amit, Pratap Subrahmanyam, Xavier Deguillard, Kiran Tati, Rajesh Venkatasubramanian
  • Patent number: 10705954
    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device while preserving large pages are provided. In one set of embodiments, a host system can receive a write request with respect to a data block of the NVM region, where the data block is referred to by a snapshot of the NVM region and was originally allocated as part of a large page. The host system can further allocate a new data block in the NVM region, copy contents of the data block to the new data block, and update the data block with write data associated with the write request. The host system can then update a level 1 (L1) page table entry of the NVM region's running point to point to the original data block.
    Type: Grant
    Filed: October 29, 2018
    Date of Patent: July 7, 2020
    Assignee: VMware, Inc.
    Inventors: Rajesh Venkatasubramanian, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Xavier Deguillard
  • Patent number: 10691591
    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using pointer elimination are provided. In one set of embodiments, a host system can, for each level 1 (L1) page table entry of each snapshot of the NVM region, determine whether a data block of the NVM region that is pointed to by the L1 page table entry is a non-active block, and if the data block is a non-active block, remove a pointer to the data block in the L1 page table entry and reduce a reference count parameter associated with the data block by 1. If the reference count parameter has reached zero at this point, the host system purge the data block from the NVM device to the mass storage device.
    Type: Grant
    Filed: October 29, 2018
    Date of Patent: June 23, 2020
    Assignee: VMware, Inc.
    Inventors: Kiran Tati, Xavier Deguillard, Ishan Banerjee, Julien Freche, Preeti Agarwal, Rajesh Venkatasubramanian
  • Publication number: 20200133846
    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using pointer elimination are provided. In one set of embodiments, a host system can, for each level 1 (L1) page table entry of each snapshot of the NVM region, determine whether a data block of the NVM region that is pointed to by the L1 page table entry is a non-active block, and if the data block is a non-active block, remove a pointer to the data block in the L1 page table entry and reduce a reference count parameter associated with the data block by 1. If the reference count parameter has reached zero at this point, the host system purge the data block from the NVM device to the mass storage device.
    Type: Application
    Filed: October 29, 2018
    Publication date: April 30, 2020
    Inventors: Kiran Tati, Xavier Deguillard, Ishan Banerjee, Julien Freche, Preeti Agarwal, Rajesh Venkatasubramanian
  • Publication number: 20200133847
    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device while preserving large pages are provided. In one set of embodiments, a host system can receive a write request with respect to a data block of the NVM region, where the data block is referred to by a snapshot of the NVM region and was originally allocated as part of a large page. The host system can further allocate a new data block in the NVM region, copy contents of the data block to the new data block, and update the data block with write data associated with the write request. The host system can then update a level 1 (L1) page table entry of the NVM region's running point to point to the original data block.
    Type: Application
    Filed: October 29, 2018
    Publication date: April 30, 2020
    Inventors: Rajesh Venkatasubramanian, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Xavier Deguillard
  • Publication number: 20200133842
    Abstract: Techniques for efficiently purging non-active blocks in an NVM region of an NVM device using virtblocks are provided. In one set of embodiments, a host system can maintain, in the NVM device, a pointer entry (i.e., virtblock entry) for each allocated data block of the NVM region, where page table entries of the NVM region that refer to the allocated data block include pointers to the pointer entry, and where the pointer entry includes a pointer to the allocated data block. The host system can further determine that a subset of the allocated data blocks of the NVM region are non-active blocks and can purge the non-active blocks from the NVM device to a mass storage device, where the purging comprises updating the pointer entry for each non-active block to point to a storage location of the non-active block on the mass storage device.
    Type: Application
    Filed: October 29, 2018
    Publication date: April 30, 2020
    Inventors: Xavier Deguillard, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Rajesh Venkatasubramanian
  • Patent number: 10586048
    Abstract: A computer system is rebooted upon crash without running platform firmware and without retrieving all of the modules included in a boot image from an external source and reloading them into system memory. The reboot process includes the steps of stopping and resetting all of the processing units, except one of the processing units that detected the crash event, selecting the one processing unit to execute a reboot operation, and executing the reboot operation to reboot the computer system.
    Type: Grant
    Filed: June 23, 2016
    Date of Patent: March 10, 2020
    Assignee: VMWARE, INC.
    Inventors: Xunjia Lu, Xavier Deguillard, Mukund Gunti, Vishnu Sekhar