Patents by Inventor Ishan BANERJEE
Ishan BANERJEE 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: 11782828Abstract: 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: GrantFiled: January 7, 2022Date of Patent: October 10, 2023Assignee: VMware, Inc.Inventors: Xavier Deguillard, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Rajesh Venkatasubramanian
-
Publication number: 20230027937Abstract: Techniques that enable a hypervisor to (1) maintain shared memory pages and (2) handle memory accounting for VMs that are suspended to and resumed from the volatile memory of a host system are provided. Regarding (1), the hypervisor can maintain shared memory pages in volatile memory across the suspend-to-memory and resume-from-memory operations, without having to save their reference counts. Regarding (2), the hypervisor can keep track of the volatile memory reserved and consumed by VMs as they are suspended and resumed, without erroneously double counting that memory.Type: ApplicationFiled: November 19, 2021Publication date: January 26, 2023Inventors: RAJESH VENKATASUBRAMANIAN, ISHAN BANERJEE, PREETI AGARWAL, ASHISH KAILA, HALESH SADASHIV
-
Publication number: 20230025699Abstract: Techniques that enable a hypervisor to (1) maintain shared memory pages and (2) handle memory accounting for VMs that are suspended to and resumed from the volatile memory of a host system are provided. Regarding (1), the hypervisor can maintain shared memory pages in volatile memory across the suspend-to-memory and resume-from-memory operations, without having to save their reference counts. Regarding (2), the hypervisor can keep track of the volatile memory reserved and consumed by VMs as they are suspended and resumed, without erroneously double counting that memory.Type: ApplicationFiled: November 19, 2021Publication date: January 26, 2023Inventors: KIRAN TATI, Preeti Agarwal, Ishan Banerjee, Rajesh Venkatasubramanian, Ashish Kaila, Halesh Sadashiv, Valeriy Zhuravlev
-
Patent number: 11455182Abstract: Systems and methods are described for encrypting a swap file in a computer system. The swap file can be encrypted by a background process executing on the computer system. Processing of paging swapping operations occurs independently and separately of the background encryption of the swap file. Processing a page swapping operation can include decrypting or encrypting data to be swapped involved in the paging operation depending on the paging operation and whether or not the data to be swapped is encrypted or not.Type: GrantFiled: May 3, 2019Date of Patent: September 27, 2022Assignee: VMware, Inc.Inventors: Ishan Banerjee, Preeti Agarwal, Valeriy Zhuravlev, Nick M Ryan, Mohammed Junaid Ahmed
-
Publication number: 20220129377Abstract: 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: ApplicationFiled: January 7, 2022Publication date: April 28, 2022Inventors: Xavier Deguillard, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Rajesh Venkatasubramanian
-
Patent number: 11249900Abstract: 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: GrantFiled: October 29, 2018Date of Patent: February 15, 2022Assignee: VMWARE, INC.Inventors: Xavier Deguillard, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Rajesh Venkatasubramanian
-
Patent number: 11029863Abstract: 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: GrantFiled: August 31, 2017Date of Patent: June 8, 2021Assignee: VMware, Inc.Inventors: Kiran Tati, Preeti Agarwal, Julien Freche, Xavier Deguillard, Rajesh Venkatasubramanian, Ishan Banerjee
-
Publication number: 20200348954Abstract: Systems and methods are described for encrypting a swap file in a computer system. The swap file can be encrypted by a background process executing on the computer system. Processing of paging swapping operations occurs independently and separately of the background encryption of the swap file. Processing a page swapping operation can include decrypting or encrypting data to be swapped involved in the paging operation depending on the paging operation and whether or not the data to be swapped is encrypted or not.Type: ApplicationFiled: May 3, 2019Publication date: November 5, 2020Inventors: Ishan Banerjee, Preeti Agarwal, Valeriy Zhuravlev, Nick M. Ryan, Mohammed Junaid Ahmed
-
Patent number: 10705954Abstract: 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: GrantFiled: October 29, 2018Date of Patent: July 7, 2020Assignee: VMware, Inc.Inventors: Rajesh Venkatasubramanian, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Xavier Deguillard
-
Patent number: 10691591Abstract: 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: GrantFiled: October 29, 2018Date of Patent: June 23, 2020Assignee: VMware, Inc.Inventors: Kiran Tati, Xavier Deguillard, Ishan Banerjee, Julien Freche, Preeti Agarwal, Rajesh Venkatasubramanian
-
Publication number: 20200133846Abstract: 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: ApplicationFiled: October 29, 2018Publication date: April 30, 2020Inventors: Kiran Tati, Xavier Deguillard, Ishan Banerjee, Julien Freche, Preeti Agarwal, Rajesh Venkatasubramanian
-
Publication number: 20200133847Abstract: 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: ApplicationFiled: October 29, 2018Publication date: April 30, 2020Inventors: Rajesh Venkatasubramanian, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Xavier Deguillard
-
Publication number: 20200133842Abstract: 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: ApplicationFiled: October 29, 2018Publication date: April 30, 2020Inventors: Xavier Deguillard, Ishan Banerjee, Julien Freche, Kiran Tati, Preeti Agarwal, Rajesh Venkatasubramanian
-
Publication number: 20190065091Abstract: 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: ApplicationFiled: August 31, 2017Publication date: February 28, 2019Inventors: Kiran Tati, Preeti Agarwal, Julien Freche, Xavier Deguillard, Rajesh Venkatasubramanian, Ishan Banerjee
-
Patent number: 10216536Abstract: Memory data for a virtual machine can be stored in a swap file, which is comprised of storage blocks. A defragmentation procedure can be performed on a thin swap file while the virtual machine is still running. The described defragmentation procedure traversing a page frame space of the virtual machine, identifying candidate page frames, relocating the swapped page, and updating the page frame. Resulting unused storage blocks are released to the storage system. A data structure for aiding the defragmentation process is also described.Type: GrantFiled: March 11, 2016Date of Patent: February 26, 2019Assignee: VMware, Inc.Inventors: Ishan Banerjee, Preeti Agarwal, Jui-Hao Chiang
-
Patent number: 10083123Abstract: Examples provide a page-fault latency feedback metric to determine performance of workloads or virtual machines (VMs) running on a VM host in a cluster. A hypervisor induces page-faults by varying a memory limit associated with a VM. Page-fault latencies are measured at each of the varying memory limits. A performance loss occurring at each page-fault latency is measured and converted to a performance score. A page-fault translation table is constructed based on the page-fault latencies and assigned performance scores. When a page-fault occurs during execution of a workload on a VM host in the cluster, a cluster manager maps the page-fault latency associated with the page-fault to a performance score in the page-fault translation table. The cluster manager computes a current workload performance or VM performance based on the page-fault latency and the performance score.Type: GrantFiled: August 10, 2016Date of Patent: September 25, 2018Assignee: VMware, Inc.Inventors: Ishan Banerjee, Jui-Hao Chiang, Kiran Tati, Preeti Agarwal
-
Publication number: 20180046581Abstract: Examples provide a page-fault latency feedback metric to determine performance of workloads or virtual machines (VMs) running on a VM host in a cluster. A hypervisor induces page-faults by varying a memory limit associated with a VM. Page-fault latencies are measured at each of the varying memory limits. A performance loss occurring at each page-fault latency is measured and converted to a performance score. A page-fault translation table is constructed based on the page-fault latencies and assigned performance scores. When a page-fault occurs during execution of a workload on a VM host in the cluster, a cluster manager maps the page-fault latency associated with the page-fault to a performance score in the page-fault translation table. The cluster manager computes a current workload performance or VM performance based on the page-fault latency and the performance score.Type: ApplicationFiled: August 10, 2016Publication date: February 15, 2018Inventors: Ishan Banerjee, Jui-Hao Chiang, Kiran Tati, Preeti Agarwal
-
Patent number: 9880740Abstract: A computer system provides for rapid power-on operations on virtual machines (VMs) with a virtual memory space including a reservation from machine memory and a small or no swap size. When the computer system powers on a VM, the computer system creates a physical memory space for the VM with a size larger than the minimum memory reservation for the VM and a swap space with a size less than the difference between the size of the virtual memory space and the minimum memory reservation. Subsequently, the computer system iteratively decreases the size of the physical memory space for the VM and increases the size of the swap space for the VM until the size of the physical memory space equals the minimum size of the memory reservation, which may be the amount of the virtual space that is guaranteed to be backed by machine memory.Type: GrantFiled: December 17, 2015Date of Patent: January 30, 2018Assignee: VMware, Inc.Inventors: Kiran Tati, Ishan Banerjee, Jui-Hao Chiang
-
Publication number: 20170262215Abstract: Memory data for a virtual machine can be stored in a swap file, which is comprised of storage blocks. A defragmentation procedure can be performed on a thin swap file while the virtual machine is still running. The described defragmentation procedure traversing a page frame space of the virtual machine, identifying candidate page frames, relocating the swapped page, and updating the page frame. Resulting unused storage locks are released to the storage system. A data structure for aiding the defragmentation process is also described.Type: ApplicationFiled: March 11, 2016Publication date: September 14, 2017Inventors: Ishan BANERJEE, Preeti AGARWAL, Jui-Hao CHIANG
-
Publication number: 20170177238Abstract: A computer system provides for rapid power-on operations on virtual machines (VMs) with a virtual memory space including a reservation from machine memory and a small or no swap size. When the computer system powers on a VM, the computer system creates a physical memory space for the VM with a size larger than the minimum memory reservation for the VM and a swap space with a size less than the difference between the size of the virtual memory space and the minimum memory reservation. Subsequently, the computer system iteratively decreases the size of the physical memory space for the VM and increases the size of the swap space for the VM until the size of the physical memory space equals the minimum size of the memory reservation, which may be the amount of the virtual space that is guaranteed to be backed by machine memory.Type: ApplicationFiled: December 17, 2015Publication date: June 22, 2017Inventors: Kiran TATI, Ishan BANERJEE, Jui-Hao CHIANG