Elimination of duplicate written records
AssigneeInternational Business Machines Corporation
InventorYutaka Oishi
Life of this patent
Estimating the term…
Abstract
A storage device includes first and second buffers. A request to write a new record from a host is received. A hash value (new S) of the new record is calculated. The hash value (new S) of the new record is checked to determine if the hash value exists in a second buffer. If the new S exists in the second buffer, the new record is compared with a record stored in the second buffer corresponding to the new S to check if the new record and the stored record in the second buffer match each other. If the new record and the stored record match each other, a pointer (a record number) is written as write data of the new record to the recording medium. The pointer points to the record already stored in any one of a recording medium and the second buffer.
Claims20
A deduplication method for eliminating duplication of a record written to a storage device comprising a first buffer, a second buffer, and a recording medium for long-term data storage, the first buffer storing a record number, a hash value, and a write frequency of a record that is recorded for long term storage in the recording medium, the second buffer storing a content of the record in combination with the record number and the hash value, the method comprising the steps of:
- receiving a request to write a new record from a host;
- calculating a hash value (new S) of the new record;
- checking if the new S exists in the second buffer;
- if the new S exists in the second buffer such that the new record and a record stored in the second buffer include the same hash value, comparing the new record with the stored record corresponding to the same hash value to determine if the new record and the stored record are the same record;
- if the new record and the stored record are the same record, writing a pointer (a record number) as write data of the new record to the recording medium, the pointer pointing to the record already stored in one of the recording medium and the second buffer;
- and
- if the new record and the stored record include the same hash value and are different records, incrementing a first frequency associated with the new record without incrementing second frequency associated with the stored record.
A storage device that eliminates duplication of a write record, comprising:
- a recording medium for long-term data storage;
- a first buffer that stores a record number, a hash value and a write frequency of a record that is recorded in the recording medium;
- a second buffer that stores a content of the record in combination with the record number and the hash value;
- and
- a write control unit that controls writing of a record to the recording medium, wherein the write control unit comprises:
- a unit that receives a request to write a record (new record) from a host, a unit that calculates a hash value (new S) of the new record,
- a unit that checks if the new S exists in the second buffer,
- a unit that, if the new S exists in the second buffer such that the new record and a record stored in the second buffer include the same hash value, compares the new record with the stored record corresponding to the same hash value to determine if the new record and the stored record are the same record,
- a unit that, if the new record and the stored record are the same record, writes a pointer (a record number) as write data of the new record to the recording medium, the pointer pointing to the record already stored in one of the recording medium and the second buffer, and
- a unit that, if the new record and the stored record include the same hash value and are different records, incrementing a first frequency associated with the new record without incrementing a second frequency associated with the stored record.
A computer program product for eliminating duplication of a record written to a storage device comprising a first buffer, a second buffer, and a recording medium for long-term data storage, the first buffer storing a record number, a hash value, and a write frequency of a record that is recorded for long term storage in the recording medium, the second buffer storing a content of the record in combination with the record number and the hash value, 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 receiving a request to write a new record from a host;
- a second executable portion for calculating a hash value (new S) of the new record;
- a third executable portion for checking if the new S exists in the second buffer;
- a fourth executable portion for, if the new S exists in the second buffer such that the new record and a record stored in the second buffer include the same hash value, comparing the new record with the stored record corresponding to the same hash value to determine if the new record and the stored record are the same record;
- a fifth executable portion for, if the new record and the stored record are the same record, writing a pointer (a record number) as write data of the new record to the recording medium, the pointer pointing to the record already stored in one of the recording medium and the second buffer;
- and
- a sixth executable portion for, if the new record and the stored record include the same hash value and are different records, incrementing a first frequency associated with the new record without incrementing a second frequency associated with the stored record.
Dependencies are inferred from the claim text.