DATA STORAGE OPTIMIZATION FOR A VIRTUAL PLATFORM
First Claim
Patent Images
1. A system comprising:
- one or more processors;
a virtual disk comprising a plurality of virtual blocks;
a disk file associated with the virtual disk and comprising a plurality of logical blocks, wherein one or more virtual blocks, storing a data file, in the virtual disk are mapped to two or more non-contiguous logical blocks in the disk file;
a file management engine configured to;
re-map the one or more virtual blocks in the virtual disk to two or more contiguous logical blocks in the disk file;
transfer data from the two or more non-contiguous logical blocks in the disk file to the two or more contiguous logical blocks in the disk file.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for storing data in virtual system is described. The method includes selecting virtual blocks in the virtual disk for storage of data based on contiguous logical blocks, in a disk file residing on physical storage media, that are mapped to the virtual blocks.
-
Citations
39 Claims
-
1. A system comprising:
-
one or more processors; a virtual disk comprising a plurality of virtual blocks; a disk file associated with the virtual disk and comprising a plurality of logical blocks, wherein one or more virtual blocks, storing a data file, in the virtual disk are mapped to two or more non-contiguous logical blocks in the disk file; a file management engine configured to; re-map the one or more virtual blocks in the virtual disk to two or more contiguous logical blocks in the disk file; transfer data from the two or more non-contiguous logical blocks in the disk file to the two or more contiguous logical blocks in the disk file. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising:
-
a processor; a virtual disk comprising a plurality of virtual blocks; a disk file comprising a plurality of logical blocks, wherein one or more source virtual blocks in the plurality of virtual blocks are mapped to two or more non-contiguous logical blocks in the plurality of logical blocks; a file management engine configured to; identify one or more target virtual blocks in the plurality of virtual blocks that are mapped to two or more contiguous logical blocks in the plurality of logical blocks; request transfer of a data file from the one or more source virtual blocks to the one or more target virtual blocks; wherein transferring the data file from the one or more source virtual blocks to the one or more target virtual blocks results in transferring the data in the two or more non-contiguous logical blocks in the plurality of logical blocks to the two or more contiguous logical blocks in the plurality of logical blocks. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A system comprising:
-
a processor; a virtual disk comprising a plurality of virtual blocks; a disk file associated with the virtual disk and comprising a plurality of logical blocks, wherein one or more virtual blocks, storing a data file, in the virtual disk are mapped to two or more non-contiguous logical blocks in the disk file; a file management engine configured to; reorder at least two logical blocks in the disk file such that the two or more non-contiguous logical blocks are reordered as two or more contiguous logical blocks. - View Dependent Claims (11)
-
-
12. A system comprising:
-
a processor; a disk file associated with a virtual disk and comprising a plurality of logical blocks; a virtual disk comprising a plurality of virtual blocks, wherein each virtual block of the plurality of virtual blocks are mapped to one or more logical blocks in the plurality of logical blocks; a file management engine configured to; identify two or more contiguous logical blocks in the plurality of logical blocks; determine that one or more virtual blocks are mapped to the two or more contiguous logical blocks; request storage of a data file on the one or more virtual blocks based on the one or more virtual blocks being mapped to the two or more contiguous logical blocks. - View Dependent Claims (13)
-
-
14. A method comprising:
-
accessing a virtual disk comprising a plurality of virtual blocks; accessing a disk file associated with the virtual disk and comprising a plurality of logical blocks, wherein one or more virtual blocks, storing a data file, in the virtual disk are mapped to two or more non-contiguous logical blocks in the disk file; re-mapping the one or more virtual blocks in the virtual disk to two or more contiguous logical blocks in the disk file; transferring data from the two or more non-contiguous logical blocks in the disk file to the two or more contiguous logical blocks in the disk file; wherein the method is performed by at least one computing device. - View Dependent Claims (15, 16, 17)
-
-
18. A method comprising:
-
accessing a virtual disk comprising a plurality of virtual blocks; accessing a disk file comprising a plurality of logical blocks, wherein one or more source virtual blocks in the plurality of virtual blocks are mapped to two or more non-contiguous logical blocks in the plurality of logical blocks; identifying one or more target virtual blocks in the plurality of virtual blocks that are mapped to two or more contiguous logical blocks in the plurality of logical blocks; requesting transfer of a data file from the one or more source virtual blocks to the one or more target virtual blocks; wherein transferring the data file from the one or more source virtual blocks to the one or more target virtual blocks results in transferring the data in the two or more non-contiguous logical blocks in the plurality of logical blocks to the two or more contiguous logical blocks in the plurality of logical blocks; wherein the method is performed at least one computing device. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A method comprising:
-
accessing a virtual disk comprising a plurality of virtual blocks; accessing a disk file associated with the virtual disk and comprising a plurality of logical blocks, wherein one or more virtual blocks, storing a data file, in the virtual disk are mapped to two or more non-contiguous logical blocks in the disk file; reordering at least two logical blocks in the disk file such that the two or more non-contiguous logical blocks are reordered as two or more contiguous logical blocks; wherein the method is performed by at least one computing device. - View Dependent Claims (24)
-
-
25. A method comprising:
-
accessing a disk file associated with a virtual disk and comprising a plurality of logical blocks; accessing a virtual disk comprising a plurality of virtual blocks, wherein each virtual block of the plurality of virtual blocks are mapped to one or more logical blocks in the plurality of logical blocks; identifying two or more contiguous logical blocks in the plurality of logical blocks; determining that one or more virtual blocks are mapped to the two or more contiguous logical blocks; requesting storage of a data file on the one or more virtual blocks based on the one or more virtual blocks being mapped to the two or more contiguous logical blocks; wherein the method is performed by at least one computing device. - View Dependent Claims (26)
-
-
27. A non-transitory computer readable storage medium comprising instructions, which when executed by one or more processors, perform steps comprising:
-
accessing a virtual disk comprising a plurality of virtual blocks; accessing a disk file associated with the virtual disk and comprising a plurality of logical blocks, wherein one or more virtual blocks, storing a data file, in the virtual disk are mapped to two or more non-contiguous logical blocks in the disk file; re-mapping the one or more virtual blocks in the virtual disk to two or more contiguous logical blocks in the disk file; transferring data from the two or more non-contiguous logical blocks in the disk file to the two or more contiguous logical blocks in the disk file. - View Dependent Claims (28, 29, 30)
-
-
31. A non-transitory computer readable storage medium comprising instructions, which when executed by one or more processors, perform steps comprising:
-
accessing a virtual disk comprising a plurality of virtual blocks; accessing a disk file comprising a plurality of logical blocks, wherein one or more source virtual blocks in the plurality of virtual blocks are mapped to two or more non-contiguous logical blocks in the plurality of logical blocks; identifying one or more target virtual blocks in the plurality of virtual blocks that are mapped to two or more contiguous logical blocks in the plurality of logical blocks; requesting transfer of a data file from the one or more source virtual blocks to the one or more target virtual blocks; wherein transferring the data file from the one or more source virtual blocks to the one or more target virtual blocks results in transferring the data in the two or more non-contiguous logical blocks in the plurality of logical blocks to the two or more contiguous logical blocks in the plurality of logical blocks. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A non-transitory computer readable storage medium comprising instructions, which when executed by one or more processors, perform steps comprising:
-
accessing a virtual disk comprising a plurality of virtual blocks; accessing a disk file associated with the virtual disk and comprising a plurality of logical blocks, wherein one or more virtual blocks, storing a data file, in the virtual disk are mapped to two or more non-contiguous logical blocks in the disk file; reordering at least two logical blocks in the disk file such that the two or more non-contiguous logical blocks are reordered as two or more contiguous logical blocks. - View Dependent Claims (37)
-
-
38. A non-transitory computer readable storage medium comprising instructions, which when executed by one or more processors, perform steps comprising:
-
accessing a disk file associated with a virtual disk and comprising a plurality of logical blocks; accessing a virtual disk comprising a plurality of virtual blocks, wherein each virtual block of the plurality of virtual blocks are mapped to one or more logical blocks in the plurality of logical blocks; identifying two or more contiguous logical blocks in the plurality of logical blocks; determining that one or more virtual blocks are mapped to the two or more contiguous logical blocks; requesting storage of a data file on the one or more virtual blocks based on the one or more virtual blocks being mapped to the two or more contiguous logical blocks. - View Dependent Claims (39)
-
Specification