发明名称 Transactional virtual disk with differential snapshots
摘要 Some embodiments provide a system that provides a virtual disk in a computer system. During operation, the system stores data for the virtual disk in a virtual disk file on the computer system. Next, the system loads a differential location data structure corresponding to a snapshot of the virtual disk into memory on the computer system and processes input/output (I/O) operations to the virtual disk using the differential location data structure and the virtual disk file. Finally, the system periodically generates a new snapshot of the virtual disk by transactionally committing changes made to the differential location data structure by the I/O operations to the virtual disk file.
申请公布号 US8805788(B2) 申请公布日期 2014.08.12
申请号 US200912435302 申请日期 2009.05.04
申请人 Moka5, Inc. 发明人 Gross, IV Jesse Ernest;Whaley John;Purtell, II Thomas Joseph
分类号 G06F17/30;G06F15/16 主分类号 G06F17/30
代理机构 Park, Vaughan, Fleming & Dowler LLP 代理人 Park, Vaughan, Fleming & Dowler LLP ;Suen Chia-Hsin
主权项 1. A computer-implemented method for providing a virtual disk in a computer system, comprising: storing data for the virtual disk in a virtual disk file on the computer system, wherein the virtual disk file includes a data structure that comprises of at least a superblock, two or more checkpoint blocks, a set of metadata blocks and a set of data blocks, and wherein the superblock references the two or more checkpoint blocks, the two or more checkpoint blocks reference the set of metadata blocks and the set of metadata blocks reference the set of data blocks; loading a differential location data structure corresponding to a snapshot of the virtual disk into memory on the computer system, wherein the differential location data structure corresponds to an in-memory representation of the snapshot, wherein the differential location data structure maps blocks in the snapshot to the set of data blocks used by the snapshot in the virtual disk file, and wherein the differential location data structure is different from the data structure used in the virtual disk file; processing input/output (I/O) operations to the virtual disk using the differential location data structure and the virtual disk file, wherein the differential location data structure facilitates the processing of the I/O operations to the virtual disk file; and periodically generating a new snapshot of the virtual disk, wherein generating the new snapshot involves: allocating a space on the virtual disk file for storing metadata containing changes made to the differential location data structure;writing only the metadata containing changes made to the differential location data structure to the allocated space; andtransactionally committing only the metadata containing changes to the differential location data structure by updating a checkpoint region in the virtual disk file to reference the allocated space that stores metadata containing changes to the differential location data structure.
地址 Redwood City CA US