Efficient inline data de-duplication on a storage system
First Claim
1. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a storage system, causes the storage system to:
- receive a write command and a hash key for a portion of data to be written from an application executing on a host system to a write address, wherein the write command indicates whether the application is tolerant or intolerant to data loss and wherein the hash key is calculated by the host system;
responsive to the write command indicating the application is tolerant to data loss, perform a hash key lookup in a hash index;
determine whether the portion of data has previously been written to the storage system; and
responsive to the storage system determining the portion of data has previously been written to the storage system, store a pointer to the previously written data at the write address.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism is provided in a storage system for efficient inline data de-duplication. The mechanism receives a write command and a hash key for a portion of data to be written from an application host to a write address. The write command indicates whether the application host is tolerant or intolerant to data loss. Responsive to the write command indicating the application host is tolerant to data loss, the mechanism performs a hash key lookup in a hash index. The mechanism determines whether the portion of data has previously been written to the storage system. Responsive to determining the portion of data has previously been written to the storage system, the mechanism stores a pointer to the previously written data at the write address.
18 Citations
20 Claims
-
1. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a storage system, causes the storage system to:
-
receive a write command and a hash key for a portion of data to be written from an application executing on a host system to a write address, wherein the write command indicates whether the application is tolerant or intolerant to data loss and wherein the hash key is calculated by the host system; responsive to the write command indicating the application is tolerant to data loss, perform a hash key lookup in a hash index; determine whether the portion of data has previously been written to the storage system; and responsive to the storage system determining the portion of data has previously been written to the storage system, store a pointer to the previously written data at the write address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A storage system, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to; receive a write command and a hash key for a portion of data to be written from an application executing on a host system to a write address, wherein the write command indicates whether the application is tolerant or intolerant to data loss and wherein the hash key is calculated by the host system; responsive to the write command indicating the application is tolerant to data loss, perform a hash key lookup in a hash index; determine whether the portion of data has previously been written to the storage system; and responsive to the storage system determining the portion of data has previously been written to the storage system, store a pointer to the previously written data at the write address. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method, in a storage system, for efficient inline data de-duplication, the method comprising:
-
receiving, by the storage system, a write command and a hash key for a portion of data to be written from an application executing on a host system to a write address, wherein the write command indicates whether the application is tolerant or intolerant data loss and wherein the hash key is calculated by the host system; responsive to the write command indicating the application is tolerant to data loss, performing, by the storage system, a hash key lookup in a hash index; determining, by the storage system, whether the portion of data has previously been written to the storage system; and responsive to the storage system determining the portion of data has previously been written to the storage system, storing, by the storage system, a pointer to the previously written data at the write address. - View Dependent Claims (20)
-
Specification