IP Library › Granted Patent US 7,925,858
Granted Patent B2
US 7,925,858 · App. 12/592,215 · Granted Apr 12, 2011

Linear space allocation mechanisms in data space

Assignee: EMC Corporation
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,925,858
App. No.
12/592,215
Filed
Nov 19, 2009
Granted
Apr 12, 2011
Kind
B2
Art Unit
2187
USPC
711/170
Abstract

An indication to allocate storage is received, where the storage is to be used to store previous version data associated with a protected data set. One or more storage groups are allocated of at least a prescribed allocation group size and comprising a set of physically contiguous storage locations.

Claims (37)

1. A method of allocating storage, comprising:

receiving, at a processor, an indication to allocate storage, wherein the storage is to be used to store previous version data associated with a protected data set; and

using the processor to allocate one or more storage groups of at least a prescribed allocation group size and comprising a set of physically contiguous storage locations.

2. A method as recited in claim 1 , further comprising determining an amount of storage to be allocated for the one or more storage groups.

3. A method as recited in claim 2 , wherein the amount is based at least in part on one or more of the following: a size of the protected data set, one or more expected characteristics associated with a device being continuously protected, a desired duration associated with a protection window.

4. A method as recited in claim 1 , wherein the prescribed allocation group size comprises of a positive integer multiple of an allocation unit size.

5. A method as recited in claim 4 , wherein the allocation unit size is based at least in part on a cluster size.

6. A method as recited in claim 1 , further comprising:

reclaiming a first portion of previously allocated storage, the first portion having a size smaller than the prescribed allocation group size; and

including the first portion, along with one or more adjacent ranges of storage locations, in one or more of said one or more storage groups.

7. A method as recited in claim 1 , wherein the allocated one or more storage groups include a buffer.

8. A method as recited in claim 1 , wherein the previous version data comprises continuous data protection, includes data associated with blocks, and/or is written contiguously in the allocated one or more storage groups.

9. A method as recited in claim 1 , further comprising virtually reclaiming at least some of the allocated one or more storage groups.

10. A method as recited in claim 1 , further comprising virtually reclaiming at least some of the allocated one or more storage groups using a reclamation pointer.

11. A method as recited in claim 1 further comprising:

virtually reclaiming at least some of the allocated storage in a unit smaller than the prescribed allocation group size; and

aggregating two or more virtually reclaimed storage areas to physically reclaim a group of storage locations, wherein the group is at least as large as the prescribed allocation group size.

12. A system for allocating storage, comprising:

a processor; and

a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:

receive an indication to allocate storage, wherein the storage is to be used to store previous version data associated with a protected data set; and

allocate one or more storage groups of at least a prescribed allocation group size and comprising a set of physically contiguous storage locations.

13. A system as recited in claim 12 , wherein the allocation unit size is based at least in part on a cluster size.

14. A system as recited in claim 12 , wherein the memory is further configured to provide the processor with further instructions to:

reclaim a first portion of previously allocated storage, the first portion having a size smaller than the prescribed allocation group size; and

include the first portion, along with one or more adjacent ranges of storage locations, in one or more of said one or more storage groups.

15. A system as recited in claim 12 , wherein the previous version data comprises continuous data protection, includes data associated with blocks, and/or is written contiguously in the allocated one or more storage groups.

16. A system as recited in claim 12 , wherein the memory is further configured to provide the processor with further instructions to:

virtually reclaim at least some of the allocated storage in a unit smaller than the prescribed allocation group size; and

aggregate two or more virtually reclaimed storage areas to physically reclaim a group of storage locations, wherein the group is at least as large as the prescribed allocation group size.

17. A computer program product for allocating storage, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:

receiving an indication to allocate storage, wherein the storage is to be used to store previous version data associated with a protected data set; and

allocating one or more storage groups of at least a prescribed allocation group size and comprising a set of physically contiguous storage locations.

18. A computer program product as recited in claim 17 , the computer program product further comprising computer instructions for determining an amount of storage to be allocated for the one or more storage groups.

19. A computer program product as recited in claim 18 , wherein the amount is based at least in part on one or more of the following: a size of the protected data set, one or more expected characteristics associated with a device being continuously protected, a desired duration associated with a protection window.

20. A computer program product as recited in claim 17 , the computer program product further comprising computer instructions for virtually reclaiming at least some of the allocated one or more storage groups.

21. A computer program product as recited in claim 17 , the computer program product further comprising computer instructions for virtually reclaiming at least some of the allocated one or more storage groups using a reclamation pointer.

Assignments (10)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/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: 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 Nov 19, 2009
From: RAO, MANDAVILLI NAVNEETH; JOSHI, MAYANK
To: EMC CORPORATION
Reel/Frame 023600/0502 →
Continuity (2)
Continuation 11540832 · Sep 28, 2006
Related Publication 20100077173A1 · Mar 25, 2010