Efficiently purging non-active blocks in NVM regions using virtblock arrays

    公开(公告)号:US11249900B2

    公开(公告)日:2022-02-15

    申请号:US16174249

    申请日:2018-10-29

    申请人: VMware, Inc.

    摘要: 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.

    Efficient handling of block write atomicity

    公开(公告)号:US10936446B2

    公开(公告)日:2021-03-02

    申请号:US15889162

    申请日:2018-02-05

    申请人: VMware, Inc.

    摘要: 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.