# US 8,788,468 B2 · Data depulication using short term history

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,468 B2
- Document ID: US8788468B2
- Status: Granted
- Kind: B2
- Application number: 13/480,194
- Filed: 2012-05-24
- Published: 2013-11-28
- Granted: 2014-07-22
- Earliest claimed: 2012-05-24
- Assignees: International Business Machines Corporation
- Applicants: Jonathan Amit; Chaim Koifman
- Inventors: Jonathan Amit; Chaim Koifman
- Web page: https://patentgrep.com/patent/US8788468B2

## CPC

- G06F 16/1748: {De-duplication implemented within the file system, e.g. based on file segments (de-duplication techniques in storage systems for the management of data blocks G06F3/0641)}
- G06F 16/1752: {based on file chunks}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Exemplary system, and computer program product embodiments for data deduplication using short term history in a computing environment are provided. In one embodiment, by way of example only, a hash value is calculated on data chunks for a read operation. The calculated hash value is stored in a storage media. The calculated hash value is looked up in the storage media to verify if a current write operation was previously written and/or read. Additional system and computer program product embodiments are disclosed and provide related advantages.

## Claims

### Claim 1

A system for data deduplication using short term history in a computing environment, comprising:
a processor device, operable in the computing storage environment and controls the system for the data deduplication, wherein the processor device is adapted for:
calculating a hash value on data chunks for a read operation of the data chunks from a storage system, wherein the calculated hash value for the read operation of the data chunks from a storage system is stored in storage media;
calculating an additional hash value for a current write operation to the storage system as part of the data deduplication;
verifying if data chunks for the current write operation were one of a previously written operation and a previously read operation by looking up the calculated hash value in the storage media and comparing the calculated hash value for the read operation of the data chunks from the storage system to the additional hash value of the data chunks for the current write operation as part of the data deduplication; and
saving, in the storage system, only those portions of the data chunks that were updated or changed during the current write operation if the calculated hash value for the read operation of the data chunks from the storage system matches the additional hash value of the data chunks for the current write operation as part of the data deduplication, wherein the saved portions of the data chunks that were updated or changed do not constitute a new file.

### Claim 2 (depends on 1)

The system of claim 1, wherein the processor device is further adapted for writing all data of the current write operation as new data to the storage system for the current write operation if the calculated hash value for the read operation of the data chunks from the storage system does not match the additional hash value for the write operation and saving the additional hash value for a current write operation in the storage media.

### Claim 3 (depends on 1)

The system of claim 1, wherein the processor device is further adapted for configuring the storage media to be one of externally and internally located on at least one of a plurality of storage systems.

### Claim 4 (depends on 1)

The system of claim 1, wherein the processor device is further adapted for assigning the storage media to a specific range of hash values.

### Claim 5 (depends on 4)

The system of claim 4, wherein the processor device is further adapted for directing the current write operation to the storage media assigned to the specific range of hash values.

### Claim 6 (depends on 5)

The system of claim 5, wherein the processor device is further adapted for allocating the storage media to an associated one of the plurality of storage systems based upon the specific range of hash values.

### Claim 7 (depends on 6)

The system of claim 6, wherein the processor device is further adapted for deduplicating the data from the current write operation to the at least one of the plurality of storage systems that is associated with the storage media.

### Claim 8 (depends on 1)

The system of claim 1, wherein the processor device is further adapted for using an eviction policy to extend the age of the calculated hash value that is stored in the storage media.

### Claim 9 (depends on 1)

The system of claim 1, wherein the processor device is further adapted for performing the calculating and the verifying for a plurality of deduplication techniques and a plurality of storage configurations.

### Claim 10

A computer program product for data deduplication using short term history by a processor device, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:
a first executable portion for calculating a hash value on data chunks for a read operation of the data chunks from a storage system, wherein the calculated hash value for the read operation of the data chunks from a storage system is stored in storage media;
a second executable s portion for calculating an additional hash value for a current write operation to the storage system as part of the data deduplication;
a third executable portion for verifying if the data chunks for the current write operation were one of a previously written operation and a previously read operation by looking up the calculated hash value in the storage media and comparing the calculated hash value for the read operation of the data chunks from the storage system to the additional hash value for the current write operation as part of the data deduplication; and
a fourth executable portion for saving, in the storage system, only those portions of the data chunks that were updated or changed in the data chunks during the current write operation if the calculated hash value for the read operation of the data chunks from the storage system matches the additional hash value for the write operation, wherein the saved portions of the data chunks that were updated or changed do not constitute a new file.

### Claim 11 (depends on 10)

The computer program product of claim 10, further including a fifth executable portion for writing all data of the current write operation as new data to the storage system for the current write operation if the calculated hash value for the read operation of the data chunks from the storage system does not match the additional hash value for the write operation and saving the additional hash value for a current write operation in the storage media.

### Claim 12 (depends on 10)

The computer program product of claim 10, further including a fifth executable portion for configuring the storage media to be one of externally and internally located on at least one of a plurality of storage systems.

### Claim 13 (depends on 10)

The computer program product of claim 10, further including a fifth executable portion for assigning the storage media to a specific range of hash values.

### Claim 14 (depends on 13)

The computer program product of claim 13, further including a sixth executable portion for directing the current write operation to the storage media assigned to the specific range of hash values.

### Claim 15 (depends on 14)

The computer program product of claim 14, further including a seventh executable portion for allocating the storage media to an associated one of the plurality of storage systems based upon the specific range of hash values.

### Claim 16 (depends on 12)

The computer program product of claim 12, further including an eighth executable portion for deduplicating the data from the current write operation to the at least one of the plurality of storage systems that is associated with the storage media.

### Claim 17 (depends on 10)

The computer program product of claim 10, further including a fifth executable portion for using an eviction policy to extend the age of the calculated hash value that is stored in the storage media.

### Claim 18 (depends on 10)

The computer program product of claim 10, further including a fifth executable portion for performing the calculating and the verifying for a plurality of deduplication techniques and a plurality of storage configurations.
