IP Library Granted Patent US 12,639,176
Granted Patent B2
US 12,639,176 · App. 18/977,411 · Granted May 26, 2026

Efficient copying of directories

Inventors: Subramaniam Periyagaram (Campbell, CA); Mark Fay (Mountain View, CA); Padmanabhan Nagarajan (Cupertino, CA)
Assignee: Pure Storage, Inc.
G06F11/1469G06F2201/80
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,639,176
App. No.
18/977,411
Granted
May 26, 2026
Kind
B2
Abstract

An illustrative method is disclosed for efficiently copying a source directory to a target directory. For example, the method may include receiving, by a storage system, a request to copy a source directory to a target directory; generating, by the storage system in response to the request, directory version metadata for the target directory; and mapping, by the storage system in response to the request, the target directory to metadata of the source directory such that the target directory reuses the metadata of the source directory within a target namespace identified by the directory version metadata for the target directory.

Claims (40)

1 . A method comprising:

receiving, by a storage system, a request to copy a source directory to a target directory;

generating, by the storage system in response to the request, directory version metadata for the target directory; and

mapping, by the storage system in response to the request, the target directory to metadata of the source directory such that the target directory reuses the metadata of the source directory within a target namespace identified by the directory version metadata for the target directory.

2 . The method of claim 1 , wherein the source and target directories comprise one or more managed directories configured to provide storage management functionality to a dataset of the one or more managed directories.

3 . The method of claim 1 , wherein the directory version metadata is mapped to a source version associated with the source directory.

4 . The method of claim 1 , wherein the directory version metadata comprises a directory version identifier within the target namespace.

5 . The method of claim 1 , further comprising adjusting an object allocator head associated with the target directory;

wherein the source directory corresponds to a source file system and the target directory corresponds to a target file system.

6 . The method of claim 1 , wherein the source directory is equivalent to the target directory.

7 . The method of claim 6 , further comprising:

generating, before the generating the directory version metadata, a snapshot corresponding to the target directory; and

restoring the target directory using the snapshot.

8 . The method of claim 1 , further comprising:

generating one or more path objects for the target directory;

wherein each of one or more path objects corresponds to an object at the source directory and comprises a directory version identifier corresponding to the directory version metadata.

9 . The method of claim 1 , further comprising performing, based on the source directory and the target directory corresponding to different file systems, a force remount for a target file system associated with the target directory.

10 . The method of claim 1 , wherein the directory version metadata corresponds to a directory version space distinct from the target namespace.

11 . The method of claim 1 , wherein the directory version identifier is encoded within a file system identifier associated with the target directory.

12 . A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a request to copy a source directory to a target directory;

generating, in response to the request, directory version metadata for the target directory; and

mapping, in response to the request, the target directory to metadata of the source directory such that the target directory reuses the metadata of the source directory within a target namespace identified by the directory version metadata for the target directory.

13 . The computer program product of claim 12 , wherein the source and target directories comprise one or more managed directories configured to provide storage management functionality to a dataset of the one or more managed directories.

14 . The computer program product of claim 12 , wherein the directory version metadata is mapped to a source version associated with the source directory.

15 . The computer program product of claim 12 , wherein the source directory is equivalent to the target directory.

16 . The computer program product of claim 15 , further comprising instructions for:

generating, before the generating the directory version metadata, a snapshot corresponding to the target directory; and

restoring the target directory using the snapshot.

17 . The computer program product of claim 12 , further comprising instructions for:

generating one or more path objects for the target directory;

wherein each of one or more path objects corresponds to an object at the source directory and comprises a directory version identifier corresponding to the directory version metadata.

18 . A system comprising:

a memory storing instructions; and

one or more processors communicatively coupled to the memory and configured to execute the instructions to perform a process comprising:

receiving a request to copy a source directory to a target directory;

generating, in response to the request, directory version metadata for the target directory; and

mapping, in response to the request, the target directory to metadata of the source directory such that the target directory reuses the metadata of the source directory within a target namespace identified by the directory version metadata for the target directory.

19 . The system of claim 18 , wherein the source and target directories comprise one or more managed directories configured to provide storage management functionality to a dataset of the one or more managed directories.

20 . The system of claim 18 , wherein the directory version metadata is mapped to a source version associated with the source directory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2024
From: PERIYAGARAM, SUBRAMANIAM; FAY, MARK; NAGARAJAN, PADMANABHAN
To: PURE STORAGE, INC.
Reel/Frame 069556/0742 →
Continuity (8)
Continuation In Part 17241601 · Apr 27, 2021
Continuation In Part 17232954 · Apr 16, 2021
Continuation In Part 17162038 · Jan 29, 2021
Continuation In Part 17022857 · Sep 16, 2020
Continuation In Part 16834762 · Mar 30, 2020
Provisional Application 63077259 · Sep 11, 2020
Provisional Application 63036955 · Jun 9, 2020
Related Publication 20250103445A1 · Mar 27, 2025
References Cited (58)
US 6321239B1 · Shackelford · 2001 [cited by applicant]
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8332351B2 · Leventhal et al. · 2012 [cited by applicant]
US 8347347B2 · Feng et al. · 2013 [cited by applicant]
US 8423581B2 · Hazlewood et al. · 2013 [cited by applicant]
US 8495472B1 · Magerramov et al. · 2013 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8706914B2 · Duchesneau · 2014 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 8918478B2 · Ozzie et al. · 2014 [cited by applicant]
US 9275063B1 · Natanzon · 2016 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 9552299B2 · Stalzer · 2017 [cited by applicant]
US 9645755B2 · Vidyadhara et al. · 2017 [cited by applicant]
US 9864874B1 · Shanbhag et al. · 2018 [cited by applicant]
US 10025673B1 · Maccanti et al. · 2018 [cited by applicant]
US 10102210B2 · Nam et al. · 2018 [cited by applicant]
US 10102356B1 · Sahin et al. · 2018 [cited by applicant]
US 10108624B1 · Vermeulen et al. · 2018 [cited by applicant]
US 10185495B2 · Katsuki · 2019 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10366074B2 · Cline · 2019 [cited by examiner]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10810088B1 · Gu et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11301421B2 · Petters et al. · 2022 [cited by applicant]
US 12001393B2 · Sen et al. · 2024 [cited by applicant]
US 20070043747A1 · Benton et al. · 2007 [cited by applicant]
US 20080307169A1 · Averill et al. · 2008 [cited by applicant]
US 20090006468A1 · Shankar et al. · 2009 [cited by applicant]
US 20110313976A1 · Leventhal et al. · 2011 [cited by applicant]
US 20120072596A1 · Kruse et al. · 2012 [cited by applicant]
US 20130339406A1 · Kanfi · 2013 [cited by applicant]
US 20140040332A1 · Kruse et al. · 2014 [cited by applicant]
US 20140081924A1 · Jennings et al. · 2014 [cited by applicant]
US 20150302016A1 · Nam et al. · 2015 [cited by applicant]
US 20150302026A1 · Nam et al. · 2015 [cited by applicant]
US 20160048351A1 · Kanteti et al. · 2016 [cited by applicant]
US 20170316030A1 · Shetty et al. · 2017 [cited by applicant]
US 20180260125A1 · Botes et al. · 2018 [cited by applicant]
US 20210303511A1 · Karr · 2021 [cited by applicant]
US 20210303523A1 · Periyagaram et al. · 2021 [cited by applicant]
US 20240119029A1 · Zhang et al. · 2024 [cited by applicant]
US 20250181387A1 · Boshev · 2025 [cited by applicant]
US 20250370648A1 · Das · 2025 [cited by examiner]
CN 104008152A · 2014 [cited by applicant]
CN 107580083A · 2018 [cited by applicant]
CN 109154881A · 2019 [cited by applicant]
CN 115390991A · 2022 [cited by applicant]
WO WO2017053916A1 · 2017 [cited by applicant]
Brent Welch et al, “Scalable Performance of the Panasas Parallel File System”, Proceedings of the 6th Usenix Conference on File and Storage Technologies (FAST 08),Feb. 26, 2008 (Feb. 26, 2008). [cited by applicant]
Nawab Ali et al, “An OSD-based approach to managing directory operations in parallel file systems”, Cluster Computing, 2008 IEEE International Conference on, IEEE, Piscataway, NJ, USA,Sep. 29, 2008 (Sep. 29, 2008), p. 1… [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2025/038831, mailed Oct. 17, 2025, 10 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2025/038835, mailed Dec. 8, 2025, 16 Pages. [cited by applicant]
Partial International Search Report and Written Opinion for International Application No. PCT/US2025/038835 , mailed Oct. 16, 2025, 11 Pages. [cited by applicant]