IP Library Granted Patent US 9,189,396
Granted Patent B2
US 9,189,396 · App. 13/593,822 · Granted Nov 17, 2015

Snapshot coordination

Inventors: Marc David Olin (Edina, MN); Michael James Klemm (Minnetonka, MN)
Assignee: Dell Products L.P.
G06F12/08
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 9,189,396
App. No.
13/593,822
Filed
Aug 24, 2012
Granted
Nov 17, 2015
Kind
B2
Art Unit
2136
USPC
711/135
Abstract

In one embodiment, a method performed by one or more computing devices includes receiving at a host cache, a first request to prepare a volume of the host cache for creating a snapshot of a cached logical unit number (LUN), the request indicating that a snapshot of the cached LUN will be taken, preparing, in response to the first request, the volume of the host cache for creating the snapshot of the cached LUN depending on a mode of the host cache, receiving, at the host cache, a second request to create the snapshot of the cached LUN, and in response to the second request, creating, at the host cache, the snapshot of the cached LUN.

Claims (66)

1. A method, performed by one or more computing devices, comprising:

handling by a SAN array one or more control plane tasks related to connectivity and one or more snapshots;

creating a logical unit number (LUN) on the SAN array;

coupling communicatively a host cache to the SAN array, wherein non-data network communications between the SAN array and the host cache are used to manage the connectivity and coordinate one or more snapshot requests, wherein the non-data network communications comprises a virtual IP address interface;

creating a cached LUN at the host cache, wherein the cached LUN represents the caching instance of the LUN across a plurality of servers;

receiving at the host cache, a first request to prepare a volume of the host cache for creating a snapshot of the cached LUN wherein the first request indicates that a snapshot of the cached LUN will be taken;

preparing, in response to the first request, the volume of the host cache for creating the snapshot of the cached LUN, wherein preparing the volume of the host cache is dependent on a mode of the host cache, wherein the mode of the host cache comprises at least one of write-through (WT), write-back (WB), or write-back-write-through (WB-WT) switching, and wherein preparing the volume comprises:

flushing a set of data comprising at least one snapshot of the cached LUN when the host cache is in WB or WB-WT switching modes;

switching the host cache to WT mode when the host cache is in WB-WT switching mode; and

sending a message indicating that the volume is prepared for creating the snapshot of the cached LUN;

receiving, at the host cache, a second request to create the snapshot of the cached LUN; in response to the second request, creating, at the host cache, the snapshot of the cached LUN;

switching the host cache to WB mode when the host cache is in WB-WT switching mode;

sending by the host cache a flush complete message to the SAN array to complete movement of the snapshot to the SAN array and to complete creation of the snapshot; and

deleting by the cached LUN, the snapshot.

2. The method of claim 1 , wherein the snapshot comprises a data map of the cached LUN that indicates which data blocks are associated with which files.

3. The method of claim 1 , further comprising receiving a third request to cancel creating the snapshot when preparing the volume for creating the snapshot of the cached LUN and creating the snapshot of the cached LUN exceeds a set amount of time.

4. The method of claim 1 , wherein the preparing includes a timeout value that the cached LUN uses to wait for a freeze request.

5. The method of claim 4 , wherein the flush complete message arrives at the SAN array before a response to the snapshot freeze request is received.

6. The method of claim 1 , wherein creating the snapshot of the cached LUN comprises: holding the input/output (I/O) during the creation of the snapshot; when one or more applications are running, holding the data associated with each of the one or more applications that are running; and generating the snapshot of the cached LUN.

7. The method of claim 1 , further comprising storing at the host cache, the snapshot of the cached LUN when the host cache is in a full time write-back mode.

8. A system comprising:

a SAN array, wherein the SAN array handles one or more control plane tasks related to connectivity and one or more snapshots;

a memory comprising instructions executable by one or more processors; and

the one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to:

create a logical unit number (LUN) on the SAN array;

communicatively couple a host cache to the SAN array, wherein non-data network communications between the SAN array and the host cache are used to manage the connectivity and coordinate one or more snapshot requests, wherein the non-data network communications comprises a virtual IP address interface;

create a cached LUN at the host cache, wherein the cached LUN represents the caching instance of the LUN across a plurality of servers;

receive at the host cache, a first request to prepare a volume of the host cache for creating a snapshot of the cached wherein the first request indicates that a snapshot of the cached LUN will be taken;

prepare, in response to the first request, the volume of the host cache for creating the snapshot of the cached LUN, wherein preparing the volume of the host cache is dependent on a mode of the host cache, wherein the mode of the host cache comprises at least one of write-through (WT), write-back (WB), or write-back-write-through (WB-WT) switching, and wherein preparing the volume comprises:

flush a set of data comprising at least one snapshot of the cached LUN when the host cache is in WB or WB-WT switching modes;

switch the host cache to WT mode when the host cache is in WB-WT switching mode; and

send a message indicating that the volume is prepared for creating the snapshot of the cached LUN;

receive, at the host cache, a second request to create the snapshot of the cached LUN;

in response to the second request, create, at the host cache, the snapshot of the cached LUN;

switch the host cache to WB mode when the host cache is in WB-WT switching mode;

send, by the host cache, a flush complete message to the SAN array to complete movement of the snapshot to the SAN array and to complete creation of the snapshot; and

delete, by the cached LUN, the snapshot.

9. The system of claim 8 , wherein the snapshot comprises a data map of the cached LUN that indicates which data blocks are associated with which files.

10. The system of claim 8 , further comprising receive a third request to cancel creating the snapshot when preparing the volume for creating the snapshot of the cached LUN and creating the snapshot of the cached LUN exceeds a set amount of time.

11. The system of claim 8 , wherein the prepare includes a timeout value that the cached LUN uses to wait for a freeze request.

12. The system of claim 11 , wherein the flush complete message arrives at the SAN array before a response to the snapshot freeze request is received.

13. The system of claim 8 , wherein creating the snapshot of the cached LUN comprises: hold the input/output (I/O) during the creation of the snapshot; when one or more applications are running, hold the data associated with each of the one or more applications that are running; and generate the snapshot of the cached LUN.

14. The system of claim 8 , further comprising store at the host cache, the snapshot of the cached LUN when the host cache is in a full time write-back mode.

15. One or more computer-readable non-transitory storage media embodying software operable when executed by one or more computer systems to:

handle, by a SAN array, one or more control plane tasks related to connectivity and one or more snapshots;

create a logical unit number (LUN) on the SAN array;

communicatively couple a host cache to the SAN array, wherein non-data network communications between the SAN array and the host cache are used to manage the connectivity and coordinate one or more snapshot requests, wherein the non-data network communications comprises a virtual IP address interface;

create a cached LUN at the host cache, wherein the cached LUN represents the caching instance of the LUN across a plurality of servers;

receive at the host cache, a first request to prepare a volume of the host cache for creating a snapshot of the cached LUN wherein the first request indicates that a snapshot of the cached LUN will be taken;

prepare, in response to the first request, the volume of the host cache for creating the snapshot of the cached LUN, wherein prepare the volume of the host cache is dependent on a mode of the host cache, wherein the mode of the host cache comprises at least one of write-through (WT), write-back (WB), or write-back-write-through (WB-WT) switching, and wherein prepare the volume comprises:

flush a set of data comprising at least one snapshot of the cached LUN when the host cache is in WB or WB-WT switching modes;

switch the host cache to WT mode when the host cache is in WB-WT switching mode; and

send a message indicating that the volume is prepared for creating the snapshot of the cached LUN;

receive, at the host cache, a second request to create the snapshot of the cached LUN;

in response to the second request, create, at the host cache, the snapshot of the cached LUN;

switch the host cache to WB mode when the host cache is in WB-WT switching mode;

send, by the host cache, a flush complete message to the SAN array to complete movement of the snapshot to the SAN array and to complete creation of the snapshot; and

delete, by the cached LUN, the snapshot.

16. The media of claim 15 , wherein the snapshot comprises a data map of the cached LUN that indicates which data blocks are associated with which files.

17. The media of claim 15 , further comprising receive a third request to cancel creating the snapshot when preparing the volume for creating the snapshot of the cached LUN and creating the snapshot of the cached LUN exceeds a set amount of time.

18. The media of claim 15 , wherein the flush complete message arrives at the SAN array before a response to the snapshot freeze request is received.

19. The media of claim 18 , wherein the flush complete message arrives at the SAN array before a response to the snapshot freeze request is received.

20. The media of claim 15 , wherein create the snapshot of the cached LUN comprises:

hold the input/output (I/O) during the creation of the snapshot;

when one or more applications are running, hold the data associated with each of the one or more applications that are running; and

generate the snapshot of the cached LUN.

Assignments (15)
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 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.); 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.); 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 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2012
From: OLIN, MARC DAVID; KLEMM, MICHAEL JAMES
To: DELL PRODUCTS L. P.
Reel/Frame 028843/0985 →
Continuity (1)
Related Publication 20140059298A1 · Feb 27, 2014