IP Library Granted Patent US 7,434,015
Granted Patent B2
US 7,434,015 · App. 11/974,961 · Granted Oct 7, 2008

Efficient data storage system

View Patent ↗
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 7,434,015
App. No.
11/974,961
Granted
Oct 7, 2008
Kind
B2
Abstract

A system and method are disclosed for providing efficient data storage. A data stream comprising a plurality of data segments is received. The system determines whether one of the plurality of data segments has been stored previously using a summary in a low latency memory; in the event that the data segment is determined not to have been stored previously, assigning an identifier to the data segment.

Claims (30)

1. A method for storing data comprising:

receiving a data stream comprising a plurality of data segments;

assigning an identifier to one of the plurality of data segments; and

determining whether one of the plurality of data segments has been stored previously using a summary, wherein the summary is a space efficient, probabilistic summary of segment information.

2. A method for storing data as recited in claim 1 wherein the identifier is derived from the content of the one of the plurality of data segments.

3. A method for storing data as recited in claim 1 wherein the identifier is not derived from the content of the one of the plurality of data segments.

4. A method for storing data as recited in claim 1 wherein the identifier is a digital signature.

5. A method for storing data as recited in claim 1 further comprising storing the one of the plurality of data segments.

6. A method for storing data as recited in claim 1 wherein the determination can positively determine that the one of the plurality of data segments has not been stored previously, but cannot positively determine that the one of the plurality of data segments has been stored previously.

7. A method for storing data as recited in claim 1 further comprising:

confirming whether the one of the plurality of data segments has been stored previously using a relatively high latency memory.

8. A method for storing data as recited in claim 1 further comprising:

confirming whether the one of the plurality of data segments has been stored previously by checking in a cache.

9. A method for storing data as recited in claim 1 further comprising

confirming whether the one of the plurality of data segments has been stored previously, wherein confirming whether the data segment has been stored previously includes checking a cache; and

in the event that checking a cache results in a cache miss, confirming whether the one of the plurality of data segments has been stored previously further includes checking in a segment database.

10. A method for storing data as recited in claim 1 further comprising:

confirming whether the one of the plurality of data segments has been stored previously, wherein confirming whether the one of the plurality of data segments has been stored previously includes checking a cache; and

in the event that checking a cache results in a cache miss, confirming whether the one of the plurality of data segments has been stored previously further includes checking in a segment database, wherein the segment database is stored in relatively high latency memory.

11. A method for storing data as recited in claim 1 further comprising generating segment information for each of the one of the plurality of data segments.

12. A method for storing data as recited in claim 1 further comprising generating segment information for each of the plurality of data segments, wherein the segment information includes a digital signature.

13. A method for storing data as recited in claim 1 further comprising generating segment information for each of the plurality of data segments; wherein the segment information includes a short identifier that is not likely to be unique.

14. A method for storing data as recited in claim 1 wherein the summary is a Bloom filter.

15. A data storage device comprising:

an input interface adapted to receive a data stream comprising a plurality of data segments; and

a segment redundancy check engine configured to receive a data stream comprising a plurality of data segments, assign an identifier to one of the plurality of data segments, and determine whether one of the plurality of data segments has been stored previously using a summary, wherein the summary is a space efficient, probabilistic summary of segment information.

16. A computer program product for storing data, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:

receiving a data stream comprising a plurality of data segments;

assigning an identifier to one of the plurality of data segments; and

determining whether one of the plurality of data segments has been stored previously using a summary, wherein the summary is a space efficient, probabilistic summary of segment information.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2010
From: DATA DOMAIN LLC
To: DATA DOMAIN HOLDING, INC.
Reel/Frame 024244/0778 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2010
From: DATA DOMAIN HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 024035/0544 →
CONVERSION Recorded Feb 24, 2010
From: DATA DOMAIN, INC.
To: DATA DOMAIN LLC
Reel/Frame 023985/0339 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2009
From: ZHU, MING BENJAMIN; LI, KAI; PATTERSON, R. HUGO
To: DATA DOMAIN, INC.
Reel/Frame 022878/0949 →