IP Library › Granted Patent US 12,619,351
Granted Patent B2
US 12,619,351 · App. 17/219,271 · Granted May 5, 2026

Optimized migration of data between file systems of a storage array

Inventors: Ethan Miller (Santa Cruz, CA); Lydia Do (Raleigh, NC); John Colgrove (Los Altos, CA)
Assignee: EVERPURE, INC.
G06F3/0604G06F3/061G06F3/0631G06F3/0638G06F3/064G06F3/0643G06F3/0647G06F3/067G06F3/0689G06F16/1827
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 12,619,351
App. No.
17/219,271
Granted
May 5, 2026
Kind
B2
Abstract

A request is received from an initiator application to migrate data from a plurality of blocks of a storage area network (SAN) volume resident on a storage array to a network attached storage (NAS) volume resident on the storage array. Metadata is generated for the NAS volume, the metadata to reference the plurality of data blocks of the SAN volume storing the data. A file is generated at the NAS volume using the metadata, wherein the file is associated with the plurality of data blocks of the SAN volume storing the data.

Claims (39)

1 . A system comprising:

a storage array comprising a plurality of solid-state storage devices; and

a storage controller operatively coupled to the storage array, the storage controller comprising a processing device, the processing device configured to:

receive a request from an initiator application to migrate data from a plurality of data blocks of a storage area network (SAN) volume resident on the storage array to a network attached storage (NAS) volume resident on the storage array;

in response to receiving the request, generate metadata for the NAS volume, the metadata referencing the plurality of data blocks of the SAN volume; and

generate a file, that is stored in the NAS volume, using the metadata, wherein the file is associated with the plurality of data blocks of the SAN volume and the plurality of data blocks remain on the SAN volume after the file is generated.

2 . The system of claim 1 , wherein the data is migrated to the NAS volume without moving underlying data of the plurality of data blocks to the NAS volume.

3 . The system of claim 1 , wherein the data is migrated without copying underlying data of the plurality of data blocks to the NAS volume.

4 . The system of claim 1 , wherein the initiator application is resident on an initiator device coupled to the storage controller by a network.

5 . The system of claim 1 , wherein the processing device is further configured to:

renumber the plurality of data blocks associated with the file to have sequential block numbers in the NAS volume.

6 . The system of claim 1 , wherein the processing device is further configured to:

move data underlying the plurality of data blocks associated with the file to one of the plurality of solid-state storage devices.

7 . The system of claim 1 , wherein the processing device is further configured to:

generate file metadata comprising a size of blocks of the plurality of data blocks, wherein the file is further generated using the file metadata.

8 . A method comprising:

receiving, by a processing device of a storage controller of a storage array comprising a plurality of solid-state storage devices, a request from an initiator application to migrate data from a plurality of data blocks of a storage area network (SAN) volume resident on the storage array to a network attached storage (NAS) volume resident on the storage array;

in response to receiving the request, generating metadata for the NAS volume, the metadata referencing the plurality of data blocks of the SAN volume; and

generating a file, that is stored in the NAS volume, using the metadata, wherein the file is associated with the plurality of data blocks of the SAN volume and the plurality of data blocks remain on the SAN volume after the file is generated.

9 . The method of claim 8 , wherein the data is migrated to the NAS volume without moving underlying data of the plurality of data blocks to the NAS volume.

10 . The method of claim 8 , wherein the data is migrated without copying underlying data of the plurality of data blocks to the NAS volume.

11 . The method of claim 8 , wherein the initiator application is resident on an initiator device coupled to the storage controller by a network.

12 . The method of claim 8 , further comprising:

renumbering the plurality of data blocks associated with the file to have sequential block numbers in the NAS volume.

13 . The method of claim 8 , further comprising:

moving data underlying the plurality of data blocks associated with the file to one of the plurality of solid-state storage devices.

14 . The method of claim 8 , further comprising:

generating file metadata comprising a size of blocks of the plurality of data blocks, wherein the file is further generated using the file metadata.

15 . A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device of a storage controller to:

receive a request from an initiator application to migrate data from a plurality of data blocks of a storage area network (SAN) volume resident on a storage array comprising a plurality of solid-state storage devices to a network attached storage (NAS) volume resident on the storage array;

in response to receiving the request, generate metadata for the NAS volume, the metadata referencing the plurality of data blocks of the SAN volume; and

generate a file, that is stored in the NAS volume, using the metadata, wherein the file is associated with the plurality of data blocks of the SAN volume and the plurality of data blocks remain on the SAN volume after the file is generated.

16 . The non-transitory computer readable storage medium of claim 15 , wherein the data is migrated to the NAS volume without moving underlying data of the plurality of data blocks to the NAS volume.

17 . The non-transitory computer readable storage medium of claim 15 , wherein the data is migrated without copying underlying data of the plurality of data blocks to the NAS volume.

18 . The non-transitory computer readable storage medium of claim 15 , wherein the initiator application is resident on an initiator device coupled to the storage controller by a network.

19 . The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further configured to:

renumber the plurality of data blocks associated with the file to have sequential block numbers in the NAS volume.

20 . The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further configured to:

move data underlying the plurality of data blocks associated with the file to one of the plurality of solid-state storage devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: MILLER, ETHAN; DO, LYDIA; COLGROVE, JOHN
To: PURE STORAGE, INC.
Reel/Frame 055787/0632 →
Continuity (3)
Continuation 16195403 · Nov 19, 2018
Continuation 15284777 · Oct 4, 2016
Related Publication 20210216210A1 · Jul 15, 2021
References Cited (167)
US 5208813A · Stallmo · 1993 [cited by applicant]
US 5403639A · Belsan · 1995 [cited by applicant]
US 5940838A · Schmuck et al. · 1999 [cited by applicant]
US 6263350B1 · Wollrath et al. · 2001 [cited by applicant]
US 6412045B1 · DeKoning et al. · 2002 [cited by applicant]
US 6718448B1 · Ofer · 2004 [cited by applicant]
US 6757769B1 · Ofer · 2004 [cited by applicant]
US 6799283B1 · Tamai et al. · 2004 [cited by applicant]
US 6834298B1 · Singer et al. · 2004 [cited by applicant]
US 6850938B1 · Sadjadi · 2005 [cited by applicant]
US 6915434B1 · Kuroda · 2005 [cited by applicant]
US 6973549B1 · Testardi · 2005 [cited by applicant]
US 7028216B2 · Aizawa et al. · 2006 [cited by applicant]
US 7028218B2 · Schwarm et al. · 2006 [cited by applicant]
US 7039827B2 · Meyer et al. · 2006 [cited by applicant]
US 7216164B1 · Whitmore et al. · 2007 [cited by applicant]
US 7783682B1 · Patterson · 2010 [cited by applicant]
US 7873619B1 · Faibish et al. · 2011 [cited by applicant]
US 7913300B1 · Flank et al. · 2011 [cited by applicant]
US 7933936B2 · Aggarwal et al. · 2011 [cited by applicant]
US 7979613B2 · Zohar et al. · 2011 [cited by applicant]
US 8086652B1 · Bisson et al. · 2011 [cited by applicant]
US 8117464B1 · Kogelnik · 2012 [cited by applicant]
US 8200887B2 · Bennett · 2012 [cited by applicant]
US 8205065B2 · Matze · 2012 [cited by applicant]
US 8290911B1 · Janakiraman et al. · 2012 [cited by applicant]
US 8352540B2 · Anglin et al. · 2013 [cited by applicant]
US 8527544B1 · Colgrove et al. · 2013 [cited by applicant]
US 8560747B1 · Tan et al. · 2013 [cited by applicant]
US 8621241B1 · Stephenson · 2013 [cited by applicant]
US 8700875B1 · Barron et al. · 2014 [cited by applicant]
US 8751463B1 · Chamness · 2014 [cited by applicant]
US 8806160B2 · Colgrove et al. · 2014 [cited by applicant]
US 8874850B1 · Goodson et al. · 2014 [cited by applicant]
US 8943295B1 · Rajan · 2015 [cited by applicant]
US 8959305B1 · Lecrone et al. · 2015 [cited by applicant]
US 9081713B1 · Bennett · 2015 [cited by applicant]
US 9189334B2 · Bennett · 2015 [cited by applicant]
US 9311182B2 · Bennett · 2016 [cited by applicant]
US 9423967B2 · Colgrove et al. · 2016 [cited by applicant]
US 9436396B2 · Colgrove et al. · 2016 [cited by applicant]
US 9436720B2 · Colgrove et al. · 2016 [cited by applicant]
US 9454476B2 · Colgrove et al. · 2016 [cited by applicant]
US 9454477B2 · Colgrove et al. · 2016 [cited by applicant]
US 9513820B1 · Shalev · 2016 [cited by applicant]
US 9516016B2 · Colgrove et al. · 2016 [cited by applicant]
US 9552248B2 · Miller et al. · 2017 [cited by applicant]
US 9632870B2 · Bennett · 2017 [cited by applicant]
US 9785360B1 · Ravindranath · 2017 [cited by examiner]
US 10162523B2 · Miller et al. · 2018 [cited by applicant]
US 20020038436A1 · Suzuki · 2002 [cited by applicant]
US 20020087544A1 · Selkirk et al. · 2002 [cited by applicant]
US 20020178335A1 · Selkirk et al. · 2002 [cited by applicant]
US 20030140209A1 · Testardi · 2003 [cited by applicant]
US 20040049572A1 · Yamamoto et al. · 2004 [cited by applicant]
US 20050015415A1 · Garimella et al. · 2005 [cited by applicant]
US 20050066095A1 · Mullick et al. · 2005 [cited by applicant]
US 20050216535A1 · Saika et al. · 2005 [cited by applicant]
US 20050223154A1 · Uemura · 2005 [cited by applicant]
US 20060004889A1 · Shackelford · 2006 [cited by examiner]
US 20060010301A1 · Yagawa · 2006 [cited by examiner]
US 20060074940A1 · Craft et al. · 2006 [cited by applicant]
US 20060090049A1 · Saika · 2006 [cited by applicant]
US 20060136365A1 · Kedem et al. · 2006 [cited by applicant]
US 20060155946A1 · Ji · 2006 [cited by applicant]
US 20060218207A1 · Nonaka · 2006 [cited by examiner]
US 20070067585A1 · Ueda et al. · 2007 [cited by applicant]
US 20070109856A1 · Pellicone et al. · 2007 [cited by applicant]
US 20070162954A1 · Pela · 2007 [cited by applicant]
US 20070171562A1 · Maejima et al. · 2007 [cited by applicant]
US 20070174673A1 · Kawaguchi et al. · 2007 [cited by applicant]
US 20070220313A1 · Katsuragi et al. · 2007 [cited by applicant]
US 20070245090A1 · King et al. · 2007 [cited by applicant]
US 20070266179A1 · Chavan et al. · 2007 [cited by applicant]
US 20080059699A1 · Kubo et al. · 2008 [cited by applicant]
US 20080065852A1 · Moore et al. · 2008 [cited by applicant]
US 20080134174A1 · Sheu et al. · 2008 [cited by applicant]
US 20080155191A1 · Anderson et al. · 2008 [cited by applicant]
US 20080178040A1 · Kobayashi · 2008 [cited by applicant]
US 20080209096A1 · Lin et al. · 2008 [cited by applicant]
US 20080244205A1 · Amano et al. · 2008 [cited by applicant]
US 20080275928A1 · Shuster · 2008 [cited by applicant]
US 20080282045A1 · Biswas et al. · 2008 [cited by applicant]
US 20080285083A1 · Aonuma · 2008 [cited by applicant]
US 20080307270A1 · Li · 2008 [cited by applicant]
US 20090006587A1 · Richter · 2009 [cited by applicant]
US 20090037662A1 · La Frese et al. · 2009 [cited by applicant]
US 20090055556A1 · Lachmund et al. · 2009 [cited by applicant]
US 20090144347A1 · Boyd · 2009 [cited by examiner]
US 20090204858A1 · Kawaba · 2009 [cited by applicant]
US 20090228648A1 · Wack · 2009 [cited by applicant]
US 20090300084A1 · Whitehouse · 2009 [cited by applicant]
US 20100057673A1 · Savov · 2010 [cited by applicant]
US 20100058026A1 · Heil et al. · 2010 [cited by applicant]
US 20100067706A1 · Anan et al. · 2010 [cited by applicant]
US 20100077205A1 · Ekstrom et al. · 2010 [cited by applicant]
US 20100082879A1 · McKean et al. · 2010 [cited by applicant]
US 20100106905A1 · Kurashige et al. · 2010 [cited by applicant]
US 20100153620A1 · McKean et al. · 2010 [cited by applicant]
US 20100153641A1 · Jagadish et al. · 2010 [cited by applicant]
US 20100191897A1 · Zhang et al. · 2010 [cited by applicant]
US 20100228799A1 · Hutton et al. · 2010 [cited by applicant]
US 20100250802A1 · Waugh et al. · 2010 [cited by applicant]
US 20100250882A1 · Hutchison et al. · 2010 [cited by applicant]
US 20100281225A1 · Chen et al. · 2010 [cited by applicant]
US 20100287327A1 · Li et al. · 2010 [cited by applicant]
US 20110072300A1 · Rousseau · 2011 [cited by applicant]
US 20110121231A1 · Tian et al. · 2011 [cited by applicant]
US 20110145598A1 · Smith et al. · 2011 [cited by applicant]
US 20110161559A1 · Yurzola et al. · 2011 [cited by applicant]
US 20110167221A1 · Pangal et al. · 2011 [cited by applicant]
US 20110238634A1 · Kobara · 2011 [cited by applicant]
US 20120023375A1 · Dutta et al. · 2012 [cited by applicant]
US 20120036309A1 · Dillow et al. · 2012 [cited by applicant]
US 20120117029A1 · Gold · 2012 [cited by applicant]
US 20120198175A1 · Atkisson · 2012 [cited by applicant]
US 20120330954A1 · Sivasubramanian et al. · 2012 [cited by applicant]
US 20130042052A1 · Colgrove et al. · 2013 [cited by applicant]
US 20130046995A1 · Movshovitz · 2013 [cited by applicant]
US 20130047029A1 · Ikeuchi et al. · 2013 [cited by applicant]
US 20130091102A1 · Nayak · 2013 [cited by applicant]
US 20130205110A1 · Kettner · 2013 [cited by applicant]
US 20130227236A1 · Flynn et al. · 2013 [cited by applicant]
US 20130262800A1 · Goodman et al. · 2013 [cited by applicant]
US 20130275391A1 · Batwara et al. · 2013 [cited by applicant]
US 20130275656A1 · Talagala et al. · 2013 [cited by applicant]
US 20130283058A1 · Fiske et al. · 2013 [cited by applicant]
US 20130290648A1 · Shao et al. · 2013 [cited by applicant]
US 20130318314A1 · Markus et al. · 2013 [cited by applicant]
US 20130339303A1 · Potter et al. · 2013 [cited by applicant]
US 20140052946A1 · Kimmel · 2014 [cited by applicant]
US 20140068791A1 · Resch · 2014 [cited by applicant]
US 20140089730A1 · Watanabe et al. · 2014 [cited by applicant]
US 20140101361A1 · Gschwind · 2014 [cited by applicant]
US 20140143517A1 · Jin et al. · 2014 [cited by applicant]
US 20140172929A1 · Sedayao et al. · 2014 [cited by applicant]
US 20140201150A1 · Kumarasamy et al. · 2014 [cited by applicant]
US 20140215125A1 · Sela · 2014 [cited by examiner]
US 20140215129A1 · Kuzmin et al. · 2014 [cited by applicant]
US 20140229131A1 · Cohen et al. · 2014 [cited by applicant]
US 20140229452A1 · Serita et al. · 2014 [cited by applicant]
US 20140281308A1 · Lango et al. · 2014 [cited by applicant]
US 20140325115A1 · Ramsundar et al. · 2014 [cited by applicant]
US 20150234709A1 · Koarashi · 2015 [cited by applicant]
US 20150244775A1 · Vibhor et al. · 2015 [cited by applicant]
US 20150278534A1 · Thiyagarajan et al. · 2015 [cited by applicant]
US 20160019114A1 · Han et al. · 2016 [cited by applicant]
US 20160098191A1 · Golden et al. · 2016 [cited by applicant]
US 20160098199A1 · Golden et al. · 2016 [cited by applicant]
US 20160335009A1 · Vijayan et al. · 2016 [cited by applicant]
CN 103370685A · 2013 [cited by applicant]
CN 103370686A · 2013 [cited by applicant]
CN 104025010B · 2016 [cited by applicant]
EP 3066610A1 · 2016 [cited by applicant]
EP 3082047A1 · 2016 [cited by applicant]
EP 3120235A · 2017 [cited by applicant]
JP 2007087036A · 2007 [cited by applicant]
JP 2007094472A · 2007 [cited by applicant]
JP 2008250667A · 2008 [cited by applicant]
JP 2010211681A · 2010 [cited by applicant]
WO WO1995002349A1 · 1995 [cited by applicant]
WO WO1999013403A1 · 1999 [cited by applicant]
WO WO2008102347A1 · 2008 [cited by applicant]
WO WO2010071655A1 · 2010 [cited by applicant]
Microsoft Corporation, “GCSettings.IsServerGC Property”, Retrieved Oct. 27, 2013 via the WayBack Machine, 3 pages. [cited by applicant]
Microsoft Corporation, “Fundamentals of Garbage Collection”, Retrieved Aug. 30, 2013 via the WayBack Machine, 11 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2017/055201, mailed Jan. 3, 2018, 9 Pages. [cited by applicant]