Patents by Inventor Deng Liu

Deng Liu 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: 9182927
    Abstract: Techniques for utilizing flash storage as an extension of hard disk (HDD) based storage are provided. In one embodiment, a computer system can store a first subset of blocks of a logical file in a first physical file residing on a flash storage tier, and a second subset of blocks of the logical file in a second physical file residing on an HDD storage tier. The computer system can then receive an I/O request directed to one or more blocks of the logical file and process the I/O request by accessing the flash storage tier or the HDD storage tier, the accessing being based on whether the one or more blocks are part of the first subset of blocks stored in the first physical file.
    Type: Grant
    Filed: June 28, 2013
    Date of Patent: November 10, 2015
    Assignee: VMware, Inc.
    Inventors: Deng Liu, Sandeep Uttamchandani, Li Zhou, Mayank Rawat
  • Patent number: 9183151
    Abstract: Systems and techniques are described for thread cache allocation. A described technique includes monitoring input and output accesses for a plurality of threads executing on a computing device that includes a cache comprising a quantity of memory blocks, determining a respective reuse intensity for each of the threads, determining a respective read ratio for each of the threads, determining a respective quantity of memory blocks for each of the partitions by optimizing a combination of cache utilities, each cache utility being based on the respective reuse intensity, the respective read ratio, and a respective hit ratio for a particular partition, and resizing one or more of the partitions to be equal to the respective quantity of the memory blocks for the partition.
    Type: Grant
    Filed: August 30, 2013
    Date of Patent: November 10, 2015
    Assignee: VMware, Inc.
    Inventors: Sandeep Uttamchandani, Li Zhou, Fei Meng, Deng Liu
  • Publication number: 20150277791
    Abstract: A method for allocating storage for a virtual machine includes receiving a request to allocate a block of disk storage on a physical disk to a virtual disk associated with the virtual machine. The method also includes identifying a plurality of available blocks on the physical disk, each of the plurality of available blocks defining a radial distance from a center axis of a platter of the physical disk. The method further includes determining which of the plurality of available blocks has a greatest radial distance from the center axis of the platter and, based on the determining, selecting an allocation block from the plurality of available blocks, the allocation block having the greatest radial distance from the center axis of the platter. The method also includes allocating the allocation block to the virtual machine.
    Type: Application
    Filed: March 31, 2014
    Publication date: October 1, 2015
    Inventors: Xinhui LI, Luke LU, Deng LIU
  • Patent number: 9075731
    Abstract: Techniques for achieving crash consistency when performing write-behind caching using a flash storage-based cache are provided. In one embodiment, a computer system receives from a virtual machine a write request that includes data to be written to a virtual disk and caches the data in a flash storage-based cache. The computer system further logs a transaction entry for the write request in the flash storage-based cache, where the transaction entry includes information usable for flushing the data from the flash storage-based cache to a storage device storing the virtual disk. The computer system then communicates an acknowledgment to the VM indicating that the write request has been successfully processed.
    Type: Grant
    Filed: January 23, 2013
    Date of Patent: July 7, 2015
    Assignee: VMware, Inc.
    Inventors: Deng Liu, Thomas A. Phelan, Ramkumar Vadivelu, Wei Zhang, Sandeep Uttamchandani, Li Zhou
  • Publication number: 20150120994
    Abstract: Techniques for automatically allocating space in a flash storage-based cache are provided. In one embodiment, a computer system collects I/O trace logs for a plurality of virtual machines or a plurality of virtual disks and determines cache utility models for the plurality of virtual machines or the plurality of virtual disks based on the I/O trace logs. The cache utility model for each virtual machine or each virtual disk defines an expected utility of allocating space in the flash storage-based cache to the virtual machine or the virtual disk over a range of different cache allocation sizes. The computer system then calculates target cache allocation sizes for the plurality of virtual machines or the plurality of virtual disks based on the cache utility models and allocates space in the flash storage-based cache based on the target cache allocation sizes.
    Type: Application
    Filed: January 8, 2015
    Publication date: April 30, 2015
    Inventors: Sandeep Uttamchandani, Li Zhou, Fei Meng, Deng Liu
  • Publication number: 20150067262
    Abstract: Systems and techniques are described for thread cache allocation. A described technique includes monitoring input and output accesses for a plurality of threads executing on a computing device that includes a cache comprising a quantity of memory blocks, determining a respective reuse intensity for each of the threads, determining a respective read ratio for each of the threads, determining a respective quantity of memory blocks for each of the partitions by optimizing a combination of cache utilities, each cache utility being based on the respective reuse intensity, the respective read ratio, and a respective hit ratio for a particular partition, and resizing one or more of the partitions to be equal to the respective quantity of the memory blocks for the partition.
    Type: Application
    Filed: August 30, 2013
    Publication date: March 5, 2015
    Applicant: VMware, Inc.
    Inventors: Sandeep Uttamchandani, Li Zhou, Fei Meng, Deng Liu
  • Patent number: 8949531
    Abstract: Techniques for automatically allocating space in a flash storage-based cache are provided. In one embodiment, a computer system collects I/O trace logs for a plurality of virtual machines or a plurality of virtual disks and determines cache utility models for the plurality of virtual machines or the plurality of virtual disks based on the I/O trace logs. The cache utility model for each virtual machine or each virtual disk defines an expected utility of allocating space in the flash storage-based cache to the virtual machine or the virtual disk over a range of different cache allocation sizes. The computer system then calculates target cache allocation sizes for the plurality of virtual machines or the plurality of virtual disks based on the cache utility models and allocates space in the flash storage-based cache based on the target cache allocation sizes.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: February 3, 2015
    Assignee: VMware, Inc.
    Inventors: Sandeep Uttamchandani, Li Zhou, Fei Meng, Deng Liu
  • Publication number: 20150006788
    Abstract: Techniques for utilizing flash storage as an extension of hard disk (HDD) based storage are provided. In one embodiment, a computer system can store a first subset of blocks of a logical file in a first physical file residing on a flash storage tier, and a second subset of blocks of the logical file in a second physical file residing on an HDD storage tier. The computer system can then receive an I/O request directed to one or more blocks of the logical file and process the I/O request by accessing the flash storage tier or the HDD storage tier, the accessing being based on whether the one or more blocks are part of the first subset of blocks stored in the first physical file.
    Type: Application
    Filed: June 28, 2013
    Publication date: January 1, 2015
    Inventors: Deng Liu, Sandeep Uttamchandani, Li Zhou, Mayank Rawat
  • Publication number: 20150006787
    Abstract: Techniques for dynamically managing the placement of blocks of a logical file between a flash storage tier and an HDD storage tier are provided. In one embodiment, a computer system can collect I/O statistics pertaining to the logical file, where a first subset of blocks of the logical file are stored on the flash storage tier and where a second subset of blocks of the logical file are stored on the HDD storage tier. The computer system can further generate a heat map for the logical file based on the I/O statistics, where the heat map indicates, for each block of the logical file, the number of times the block has been accessed. The computer system can then identify, using the heat map, one or more blocks of the logical file as being performance-critical blocks, and can move data between the flash and HDD storage tiers such that the performance-critical blocks are placed on the flash storage tier.
    Type: Application
    Filed: June 28, 2013
    Publication date: January 1, 2015
    Inventors: Deng Liu, Wei Zhang, Xiaoyun Zhu, Mayank Rawat, Sandeep Uttamchandani, Li Zhou, Jianzhe Tai
  • Publication number: 20140344504
    Abstract: Techniques for managing space in a flash storage-based cache are provided. In one embodiment, a computer system can calculate “ratio of effective cache space” (rECS) values for a plurality of VMs, where each VM has a cache allocation comprising a subset of a global pool of cache blocks in the flash storage-based cache, and where the rECS value for the VM indicates a proportion of the subset that has been populated with cached data and re-accessed by the VM within a current time window. The computer system can further determine a new cache allocation size for at least one VM in the plurality of VMs based on the rECS values. The computer system can then adjust the number of cache blocks in the at least one VM's cache allocation based on the new cache allocation size.
    Type: Application
    Filed: May 17, 2013
    Publication date: November 20, 2014
    Applicant: VMware, Inc.
    Inventors: Tian Luo, Deng Liu
  • Publication number: 20140325141
    Abstract: A computer system that employs a solid-state memory device as a physical storage resource includes a hypervisor that is capable of supporting TRIM commands issued by virtual machines running in the computer system. When a virtual machine issues a TRIM command to its corresponding virtual storage device to invalidate data stored therein, the TRIM command is received at an interface layer in the hypervisor that translates the TRIM command to a SCSI command known as UMMAP. A SCSI virtualization layer converts the UNMAP command to a file system command to delete portions of the virtual storage device that is maintained as a file in the hypervisor's file system. Upon receiving the delete commands, the hypervisor's file system driver generates a TRIM command to invalidate the data stored in the solid-state memory device at locations corresponding to the portions of the file that are to be deleted.
    Type: Application
    Filed: April 30, 2013
    Publication date: October 30, 2014
    Applicant: WMware Inc.
    Inventors: Deng LIU, Thomas A. PHELAN
  • Publication number: 20140244898
    Abstract: An I/O hint framework is provided. In one embodiment, a computer system can receive an I/O command originating from a virtual machine (VM), where the I/O command identifies a data block of a virtual disk. The computer system can further extract hint metadata from the I/O command, where the hint metadata includes one or more characteristics of the data block that are relevant for determining how to cache the data block in a flash storage-based cache. The computer system can then make the hint metadata available to a caching module configured to manage the flash storage-based cache.
    Type: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: VMWARE, INC.
    Inventors: Deng Liu, Thomas A. Phelan, Li Zhou, Ramkumar Vadivelu, Sandeep Uttamchandani
  • Publication number: 20140206218
    Abstract: Disclosed is an electrical connector comprising: at least one flexible electrically connecting element having a plurality of terminals at each end thereof; a first insulation element and a second insulation element configured to position said terminals for electrically connecting with a socket located on a printed circuit board, wherein said first insulation element has a first sidewall and said second insulation element has a second sidewall; and a supporting element having at least one sidewall, configured to engage with said first insulation element and second insulation element. Wherein a displacement space is defined between said at least one sidewall of said supporting element and at least one of said first sidewall and second sidewall to allow said first and second insulation elements to move relative to said supporting element. This present invention also provides an electrical connector assembly.
    Type: Application
    Filed: March 25, 2014
    Publication date: July 24, 2014
    Applicant: 3M INNOVATIVE PROPERTIES COMPANY
    Inventors: Deng Liu, Qilin Chen, Steven Feldman, Steven A. Neu
  • Publication number: 20140208000
    Abstract: Techniques for surfacing host-side flash storage capacity to a plurality of VMs running on a host system are provided. In one embodiment, the host system creates, for each VM in the plurality of VMs, a flash storage space allocation in a flash storage device that is locally attached to the host system. The host system then causes the flash storage space allocation to be readable and writable by the VM as a virtual flash memory device.
    Type: Application
    Filed: January 23, 2013
    Publication date: July 24, 2014
    Applicant: VMware, Inc.
    Inventors: Thomas A. Phelan, Mayank Rawat, Kiran Madnani, Wei Zhang, Deng Liu, Sambasiva Bandarupalli
  • Publication number: 20140208001
    Abstract: Techniques for achieving crash consistency when performing write-behind caching using a flash storage-based cache are provided. In one embodiment, a computer system receives from a virtual machine a write request that includes data to be written to a virtual disk and caches the data in a flash storage-based cache. The computer system further logs a transaction entry for the write request in the flash storage-based cache, where the transaction entry includes information usable for flushing the data from the flash storage-based cache to a storage device storing the virtual disk. The computer system then communicates an acknowledgment to the VM indicating that the write request has been successfully processed.
    Type: Application
    Filed: January 23, 2013
    Publication date: July 24, 2014
    Applicant: VMware, Inc.
    Inventors: Deng Liu, Thomas A. Phelan, Ramkumar Vadivelu, Wei Zhang, Sandeep Uttamchandani, Li Zhou
  • Publication number: 20140156910
    Abstract: Techniques for automatically allocating space in a flash storage-based cache are provided. In one embodiment, a computer system collects I/O trace logs for a plurality of virtual machines or a plurality of virtual disks and determines cache utility models for the plurality of virtual machines or the plurality of virtual disks based on the I/O trace logs. The cache utility model for each virtual machine or each virtual disk defines an expected utility of allocating space in the flash storage-based cache to the virtual machine or the virtual disk over a range of different cache allocation sizes. The computer system then calculates target cache allocation sizes for the plurality of virtual machines or the plurality of virtual disks based on the cache utility models and allocates space in the flash storage-based cache based on the target cache allocation sizes.
    Type: Application
    Filed: December 4, 2012
    Publication date: June 5, 2014
    Inventors: Sandeep Uttamchandani, Li Zhou, Fei Meng, Deng Liu
  • Patent number: 8721350
    Abstract: Disclosed is an electrical connector comprising: at least one flexible electrically connecting element having a plurality of terminals at each end thereof; a first insulation element and a second insulation element configured to position said terminals for electrically connecting with a socket located on a printed circuit board, wherein said first insulation element has a first sidewall and said second insulation element has a second sidewall; and a supporting element having at least one sidewall, configured to engage with said first insulation element and second insulation element. Wherein a displacement space is defined between said at least one sidewall of said supporting element and at least one of said first sidewall and second sidewall to allow said first and second insulation elements to move relative to said supporting element. This present invention also provides an electrical connector assembly.
    Type: Grant
    Filed: March 14, 2011
    Date of Patent: May 13, 2014
    Assignee: 3M Innovative Properties Company
    Inventors: Deng Liu, Qilin Chen, Steven Feldman, Steven A. Neu
  • Publication number: 20140115256
    Abstract: A technique for efficient cache management demotes a unit of data from a higher cache level to a lower cache level in a cache hierarchy when the higher level cache evicts the unit of data. In a virtualization computing environment, eviction of the unit of data may be inferred by observing privileged memory and disk operations performed by a guest operating system and trapped by virtualization software for execution. When the unit of data is inferred to be evicted, the unit of data is demoted by transferring the unit of data into the lower cache level. This technique enables exclusive caching without direct involvement or modification of the guest operating system. In alternative embodiments, a pseudo-driver installed within the guest operating system explicitly tracks memory operations and transmits page eviction information to the lower level cache, which is able to cache evicted pages while maintaining cache exclusivity.
    Type: Application
    Filed: October 18, 2012
    Publication date: April 24, 2014
    Applicant: VMware, Inc.
    Inventors: Deng Liu, Daniel J. Scales
  • Publication number: 20140059292
    Abstract: Techniques for using a host-side cache to accelerate virtual machine (VM) I/O are provided. In one embodiment, the hypervisor of a host system can intercept an I/O request from a VM running on the host system, where the I/O request is directed to a virtual disk residing on a shared storage device. The hypervisor can then process the I/O request by accessing a host-side cache that resides one or more cache devices distinct from the shared storage device, where the accessing of the host-side cache is transparent to the VM.
    Type: Application
    Filed: June 20, 2013
    Publication date: February 27, 2014
    Inventors: Thomas A. Phelan, Mayank Rawat, Deng Liu, Kiran Madnani, Sambasiva Bandarupalli
  • Publication number: 20130012069
    Abstract: Disclosed is an electrical connector comprising: at least one flexible electrically connecting element having a plurality of terminals at each end thereof; a first insulation element and a second insulation element configured to position said terminals for electrically connecting with a socket located on a printed circuit board, wherein said first insulation element has a first sidewall and said second insulation element has a second sidewall; and a supporting element having at least one sidewall, configured to engage with said first insulation element and second insulation element. Wherein a displacement space is defined between said at least one sidewall of said supporting element and at least one of said first sidewall and second sidewall to allow said first and second insulation elements to move relative to said supporting element. This present invention also provides an electrical connector assembly.
    Type: Application
    Filed: March 14, 2011
    Publication date: January 10, 2013
    Inventors: Deng Liu, Qilin Chen, Steven Feldman, Steven A. Neu