Write input/output optimization for virtual disks in a virtualized computing system

    公开(公告)号:US11573741B2

    公开(公告)日:2023-02-07

    申请号:US17398021

    申请日:2021-08-10

    Applicant: VMWARE, INC.

    Abstract: An example method of handling, at a hypervisor on a host in a virtualized computing system, a write input/output (IO) operation to a file on a storage device having a virtual machine file system (VMFS) is described. The method includes: sorting, at the hypervisor, a scatter-gather array for the write IO operation into sets of scatter-gather elements, each of the sets including at least one scatter-gather element targeting a common file block address; resolving offsets of the sets of scatter-gather elements to identify a first scatter-gather array of transaction-dependent scatter-gather elements; generating logical transactions for the first scatter-gather array having updates to metadata of the VMFS for the file; batching the logical transactions into a physical transaction; and executing the physical transaction to commit the updates to the metadata of the VMFS on the storage device for the file.

    Management of unmap processing rates in distributed and shared data storage volumes

    公开(公告)号:US10802725B2

    公开(公告)日:2020-10-13

    申请号:US16412458

    申请日:2019-05-15

    Applicant: VMWARE, INC.

    Abstract: The disclosure herein describes managing a rate of processing unmap requests for a data storage volume. Unmap requests are received from a cluster of active hosts that are associated with the data storage volume. Latency data values of each active host are then accessed. A long-term cluster latency average value is calculated based on the accessed latency data values of all active hosts over a long-term time period and a short-term cluster latency average value is calculated based on the accessed latency data values of all active hosts over a short-term time period. An unmap rate adjustment value is calculated based on a difference between the long-term cluster latency average value and the short-term cluster latency average value. The rate of processing unmap requests for the data storage volume is adjusted based on the unmap rate adjustment value and the unmap requests are performed based on the adjusted rate.

    Decoupling the commit and replay of metadata updates in a clustered file system

    公开(公告)号:US10664450B2

    公开(公告)日:2020-05-26

    申请号:US15613300

    申请日:2017-06-05

    Applicant: VMWARE, INC.

    Abstract: Techniques for decoupling the commit and replay of file system metadata updates in a clustered file system (CFS) are provided. In one embodiment, a CFS layer of a computer system can receive a file I/O operation from a client application, where the file I/O operation involves an update to a file system metadata resource maintained on persistent storage. In response, a journaling component of the CFS layer can execute a commit phase for committing the update to a journal on the persistent storage. The CFS layer can then return an acknowledgment to the client application indicating that the file I/O operation is complete, where the acknowledgement is returned prior to completion of a replay phase configured to propagate the update from the journal to one or more locations on the persistent storage where the file system metadata resource is actually stored.

    Avoiding data inconsistency in a file system using 2-level synchronization

    公开(公告)号:US11640375B2

    公开(公告)日:2023-05-02

    申请号:US17398065

    申请日:2021-08-10

    Applicant: VMWARE, INC.

    Abstract: A method of synchronously executing input/output operations (IOs) for a plurality of applications using a storage device with a file system includes the steps of: receiving a first write IO including an instruction to write first data at a first address of the file system; determining that, within a first range of the file system comprising the first address, there are no pending unmap IOs for deallocating storage space of the storage device from files of the plurality of applications; after determining that there are no pending unmap IOs within the first range, locking the first range to prevent incoming unmap IOs from deallocating storage space within the first range from the files of the plurality of applications; after locking the first range, writing the first data to the storage device at the first address; and after writing the first data, unlocking the first range.

    Storage performance by heuristically coalescing IO requests
    8.
    发明授权
    Storage performance by heuristically coalescing IO requests 有权
    通过启发式地结合IO请求来实现存储性能

    公开(公告)号:US09411623B1

    公开(公告)日:2016-08-09

    申请号:US13849249

    申请日:2013-03-22

    Applicant: VMware, Inc.

    CPC classification number: G06F9/45558 G06F2009/45579

    Abstract: A method for coalescing IO requests includes maintaining a queue in a layer of an IO stack of a hypervisor, wherein (i) the queue holds IO requests received from an upper layer of the IO stack without forwarding the IO requests down the IO stack, and (ii) the layer of the IO stack resides above a file system layer of the IO stack. The method further includes receiving, at the layer, an IO request from the upper layer or a notification of a completion of certain IO requests previously transmitted by the layer down the IO stack. The method further includes determining whether any IO requests currently held in the queue should be transmitted down the IO stack based upon a condition; and combining any IO requests in the queue into at least one combined IO request to transmit down the IO stack if the condition is satisfied.

    Abstract translation: 用于聚合IO请求的方法包括在管理程序的IO堆栈的层中维护队列,其中(i)队列保持从IO栈的上层接收到的IO请求,而不将IO请求转发到IO堆栈之下,以及 (ii)IO堆栈的层位于IO堆栈的文件系统层之上。 该方法还包括在层上接收来自上层的IO请求或者在先前由层叠在IO堆栈之前传输的某些IO请求的完成的通知。 该方法还包括基于条件确定当前保存在队列中的任何IO请求是否应当被向下传送到IO栈; 并且将队列中的任何IO请求组合成至少一个组合的IO请求以在满足条件的情况下向下传送IO堆栈。

    Asynchronous unmap of thinly provisioned storage for virtual machines
    9.
    发明授权
    Asynchronous unmap of thinly provisioned storage for virtual machines 有权
    用于虚拟机的稀疏配置存储的异步取消映射

    公开(公告)号:US09128746B2

    公开(公告)日:2015-09-08

    申请号:US13853608

    申请日:2013-03-29

    Applicant: VMware, Inc.

    CPC classification number: G06F9/45558 G06F3/0608 G06F12/0246 G06F2009/45579

    Abstract: In a computer system having virtual machines running therein, a hypervisor that supports execution of the virtual machines allocates blocks of storage to the virtual machines from a thinly provisioned logical block device. When the hypervisor deletes a file or receives commands to delete a file, the hypervisor moves the file into a delete directory. An unmap thread running in the background issues unmap commands to the storage device to release one or more blocks of the logical block device that are allocated to the files in the delete directory, so that the unmap operation can be executed asynchronously with respect to the file delete event.

    Abstract translation: 在其中运行虚拟机的计算机系统中,支持虚拟机的执行的虚拟机管理程序从薄的逻辑块装置向虚拟机分配存储块。 当管理程序删除文件或接收删除文件的命令时,管理程序将文件移动到删除目录中。 在后台运行的unmap线程向存储设备发出unmap命令以释放分配给删除目录中的文件的逻辑块设备的一个或多个块,从而可以相对于该文件异步地执行取消映射操作 删除事件。

    Optimal method for deleting sub-blocks of a pointer block that do not have on-disk metadata headers for addresses

    公开(公告)号:US11531481B1

    公开(公告)日:2022-12-20

    申请号:US17399098

    申请日:2021-08-11

    Applicant: VMWARE, INC.

    Abstract: A method of deleting a first pointer block of a plurality of pointer blocks of a file system from a storage device used by a plurality of applications, wherein the plurality of pointer blocks are each subdivided into sub-blocks, includes the steps of: determining that a first sub-block of the first pointer block is marked as being empty of any addresses of the file system at which storage space is allocated to files of the applications, determining that a second sub-block of the first pointer block has not been marked as being empty; in response to the determining that the second sub-block has not been marked as being empty, determining that the second sub-block does not contain any addresses of the file system at which storage space is allocated to the files of the applications; and deleting the first pointer block from the storage device.

Patent Agency Ranking