IP Library Patent Application 13939345
Patent Application
App. No. 13/939,345

STORAGE DEVICE ASSISTED DATA DE-DUPLICATION

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/939,345
Abstract

Systems and methods presented herein provide for de-duplication of data. In one embodiment, an input/output module is operable to generate an input/output operation to write data. A storage device is communicatively coupled to the input/output module and operable to write the data of the input/output operation at a logical address of the storage device, and to generate a signature based on the data. The input/output module is further operable to process the signature to determine whether the data exists at another logical address.

Claims (52)

1 . A system, comprising:

an input/output module operable to generate an input/output operation to write data; and

a storage device communicatively coupled to the input/output module and operable to write the data of the input/output operation at a logical address of the storage device, and to generate a signature based on the data,

wherein the input/output module is further operable to process the signature to determine whether the data exists at an other logical address.

2 . The system of claim 1 , wherein:

the input/output module is further operable to direct the storage device to deallocate storage space at the logical address of the storage device upon determining that the data exists at the other logical address.

3 . The system of claim 1 , wherein:

the other logical address is located in an other storage device.

4 . The system of claim 3 , wherein:

the input/output module is further operable to associate the logical address of the data of the input/output operation with the other logical address of the data upon determining that the data exists at the other logical address of the other storage device.

5 . The system of claim 4 , wherein:

the input/output module is further operable to update a data structure with information that associates the logical address of the data of the input/output operation with the other logical address.

6 . The system of claim 1 , wherein:

the storage device is further operable to generate the signature using a hash code.

7 . The system of claim 1 , wherein:

the storage device is further operable to write the data of the input/output operation to non-volatile memory of the storage device, and to return status of the input/output operation to the input/output module.

8 . A method, comprising:

generating an input/output operation to write data at a logical address of a storage device;

receiving a signature generated by the storage device according to the data;

receiving an acknowledgment that the data of the input/output operation has been written by the storage device; and

processing the signature to determine whether the data exists at an other logical address.

9 . The method of claim 8 , further comprising:

detecting the other logical address in an other storage device.

10 . The method of claim 8 , further comprising:

directing the storage device to deallocate the data at the logical address of the storage device upon determining that the data exists at the other logical address.

11 . The method of claim 8 , further comprising:

associating the logical address of the data of the input/output operation with the other logical address of the data upon determining that the data exists at the other logical address.

12 . The method of claim 11 , further comprising:

updating a data structure with information that associates the logical address of the data of the input/output operation with the other logical address.

13 . The method of claim 8 , further comprising:

generating the signature using a hash code.

14 . The method of claim 8 , further comprising:

writing the data of the input/output operation to non-volatile memory of the storage device; and

processing status of the write from the storage device to determine whether the write was successful.

15 . A non-transitory computer readable medium comprising instructions that, when executed by a processor, direct the processor to:

generate an input/output operation to write data at a logical address of a storage device;

received a signature generated by the storage device according to the data;

receive an acknowledgment that the data of the input/output operation has been written by the storage device; and

process the signature to determine whether the data exists at an other logical address.

16 . The computer readable medium of claim 15 , further comprising instructions that direct the processor to:

detect the other logical address in an other storage device.

17 . The computer readable medium of claim 15 , further comprising instructions that direct the processor to:

direct the storage device to deallocate the data at the logical address of the storage device upon determining that the data exists at the other logical address.

18 . The computer readable medium of claim 15 , further comprising instructions that direct the processor to:

associate the logical address of the data of the input/output operation with the other logical address of the data upon determining that the data exists at the other logical address.

19 . The computer readable medium of claim 18 , further comprising instructions that direct the processor to:

update a data structure with information that associates the logical address of the data of the input/output operation with the other logical address.

20 . The computer readable medium of claim 15 , further comprising instructions that direct the processor to:

generate the signature using a hash code.

21 . The computer readable medium of claim 15 , further comprising instructions that direct the processor to:

write the data of the input/output operation to non-volatile memory of the storage device; and

process status of the write from the storage device to determine whether the write was successful.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034771/0272 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS INCLUDED IN SECURITY INTEREST PREVIOUSLY RECORDED AT REEL/FRAME (032856/0031) Recorded Nov 6, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034177/0257 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2013
From: COHEN, EARL
To: LSI CORPORATION
Reel/Frame 030776/0116 →