De-duplication in a virtualized storage environment
First Claim
1. A method for de-duplicating redundant data in a virtualized storage environment, the method comprising:
- in response to receipt of a write request that includes write data and a virtual memory address of the write data;
mapping the virtual memory address to a physical memory address within a pooled storage capacity that comprises a virtualization of a plurality of storage devices;
determining that a second block of data included in the write data of the write request is identical to a first block of data already residing in the pooled storage capacity; and
storing a pointer in the pooled storage capacity at the physical memory address instead of storing the second block of data, the pointer pointing to the first block of data.
9 Assignments
0 Petitions
Accused Products
Abstract
In one example, a method for de-duplicating redundant data in a virtualized storage environment includes, in response to receipt of a write request that includes write data and a virtual memory address of the write data, mapping the virtual memory address to a physical memory address within a pooled storage capacity that includes a virtualization of a plurality of storage devices. Next, a determination is made that a second block of data included in the write data of the write request is identical to a first block of data that is stored in the pooled storage capacity. Finally, a pointer, rather than the second block of data, is stored in the pooled storage capacity at the physical memory address. The pointer points to the first block of data.
13 Citations
23 Claims
-
1. A method for de-duplicating redundant data in a virtualized storage environment, the method comprising:
in response to receipt of a write request that includes write data and a virtual memory address of the write data; mapping the virtual memory address to a physical memory address within a pooled storage capacity that comprises a virtualization of a plurality of storage devices; determining that a second block of data included in the write data of the write request is identical to a first block of data already residing in the pooled storage capacity; and storing a pointer in the pooled storage capacity at the physical memory address instead of storing the second block of data, the pointer pointing to the first block of data. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A non-transitory computer medium having stored therein computer-executable instructions which, when executed by one or more processing devices, perform de-duplication of redundant data, wherein performing de-duplication of redundant data includes:
in response to receipt of a write request that includes write data and a virtual memory address of the write data; mapping the virtual memory address to a physical memory address within a pooled storage capacity that comprises a virtualization of a plurality of storage devices; determining that a second block of data included in the write data of the write request is identical to a first block of data that is stored in the pooled storage capacity; and storing a pointer in the pooled storage capacity at the physical memory address instead of storing the second block of data, the pointer pointing to the first block of data. - View Dependent Claims (8, 9)
-
10. A host system, comprising:
-
an operating system operable to manage sharing of host system resources among applications running on the host system; and a physical storage device having stored therein a data de-duplication application running on the host system and including computer-executable instructions which, when executed by one or more processing devices, perform de-duplication of redundant data, wherein performing de-duplication of redundant data includes; in response to receipt of a write request that includes write data and a virtual memory address of the write data; mapping the virtual memory address to a physical memory address within a pooled storage capacity that comprises a virtualization of a plurality of storage devices; determining that a second block of data included in the write data of the write request is identical to a first block of data that is stored in the pooled storage capacity; and storing a pointer in the pooled storage capacity at the physical memory address instead of storing the second block of data, the pointer pointing to the first block of data. - View Dependent Claims (11, 12)
-
-
13. A method of de-duplicating data within a pooled storage capacity, the method comprising:
-
comparing write data of a write request that includes the write data and a virtual storage address to original data to identify a first data block within the original data that is identical to a second data block within the write data, the original data residing in a pooled storage capacity that comprises a virtualization of a plurality of storage devices; and replacing one of the first data block and the second data block with a pointer that points to a remaining one of the first data block and the second data block, such that both the pointer and the data block to which it points reside in the pooled storage capacity and the data block not pointed to by the pointer does not reside in the pooled storage capacity. - View Dependent Claims (14, 15, 16)
-
-
17. A non-transitory computer medium having stored therein computer-executable instructions which, when executed by one or more processing devices, perform de-duplication of redundant data, wherein performing de-duplication of redundant data includes:
-
comparing write data of a write request that includes the write data and a virtual storage address to original data to identify a first data block within the original data that is identical to a second data block within the write data, the original data residing in a pooled storage capacity that comprises a virtualization of a plurality of storage devices; and replacing one of the first data block and the second data block with a pointer that points to a remaining one of the first data block and the second data block, such that both the pointer and the data block to which it points reside in the pooled storage capacity and the data block not pointed to by the pointer does not reside in the pooled storage capacity. - View Dependent Claims (18, 19, 20)
-
-
21. A host system, comprising:
-
an operating system operable to manage sharing of host system resources among applications running on the host system; and a physical storage device having stored therein a data de-duplication application running on the host system and including computer-executable instructions which, when executed by one or more processing devices, perform de-duplication of redundant data, wherein performing de-duplication of redundant data includes; comparing write data of a write request that includes the write data and a virtual storage address to original data to identify a first data block within the original data that is identical to a second data block within the write data, the original data residing in a pooled storage capacity that comprises a virtualization of a plurality of storage devices; and replacing one of the first data block and the second data block with a pointer that points to a remaining one of the first data block and the second data block, such that both the pointer and the data block to which it points reside in the pooled storage capacity and the data block not pointed to by the pointer does not reside in the pooled storage capacity. - View Dependent Claims (22, 23)
-
Specification