IP Library Granted Patent US 12,705,213
Granted Patent B2
US 12,705,213 · App. 18/595,768 · Granted Aug 11, 2026

Use of disaggregated storage by a distributed storage system to facilitate performance of data management features that operate at distributed scale

Inventors: Anil Paul Thoppil (Pleasanton, CA); Ananthan Subramanian (San Ramon, CA); Suhas Urkude (San Ramon, CA); Arindam Banerjee (Pleasanton, CA)
Assignee: NetApp, Inc.
G06F16/182G06F3/0604G06F3/0638G06F3/0689
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,705,213
App. No.
18/595,768
Filed
Mar 5, 2024
Granted
Aug 11, 2026
Kind
B2
Art Unit
2163
USPC
707/827
Abstract

Systems and methods are provided for implementation and use of disaggregated storage by a distributed storage system. In various examples described herein, the association of blocks of storage space within a storage pod with a given dynamically extensible file system (DEFS) may be in large chunks of one or more gigabytes (GB), which may be referred to herein as “allocation areas” (AAs) that each include multiple RAID stripes. The use of large, multi-GB chunks, as the unit of space allocation/assignment to DEFSs of a distributed storage system facilitates ease of management and independence of write allocation. The use of AAs described herein further allows disk space to be used more fluidly across individual (nodes) storage systems of a distributed storage system (cluster of nodes working together), thereby eliminating silos of storage; and processing resource (e.g., CPU) load may be distributed across the cluster.

Claims (33)

1 . A method comprising:

creating a disaggregated storage space within a storage pod that includes a group of disks by dividing storage space of the group of disks into a plurality of allocation areas (AAs), wherein the group of disks contains a plurality of Redundant Array of Independent Disks (RAID) groups, and wherein each AA of the plurality of AAs (i) represents a unit of storage space allocation to a given file system of a distributed storage system and (ii) includes a plurality of RAID stripes of a given RAID group of the plurality of RAID groups; and

providing each node of a plurality of nodes of a cluster representing the distributed storage system with exclusive write access to one or more portions of the disaggregated storage space by assigning a subset of the plurality of AAs to a dynamically extensible file system (DEFS) of the node.

2 . The method of claim 1 , wherein the storage pod is accessible for reads concurrently by all nodes of the plurality of nodes via a global physical volume block number (PVBN) space.

3 . The method of claim 2 , further comprising maintaining an active map for the DEFS indicative of those PVBNs of the global PVBN space that are in use by the DEFS.

4 . The method of claim 1 , wherein information indicative of assignment of the subset of the plurality of AAs to the DEFS is maintained within an AA map at a per AA-level of granularity.

5 . The method of claim 4 , wherein the AA map is sparse in areas not assigned to the DEFS.

6 . The method of claim 1 , wherein each of the plurality of nodes comprise virtual storage appliances hosted by a public cloud provider.

7 . A method comprising:

providing a storage pod having a group of disks, wherein the group of disks contains a plurality of Redundant Array of Independent Disks (RAID) groups, and wherein an entirety of a global physical volume block number (PVBN) space associated with the storage pod is visible and accessible to all nodes of a plurality of nodes of a cluster representing a distributed storage system via their respective dynamically extensible file systems (DEFSs); and

facilitating concurrent access by all nodes of the plurality of nodes to disaggregated storage represented within the global PVBN space by maintaining, for each DEFS of one or more DEFSs of each node of the cluster:

an allocation area (AA) map indicative of a plurality of AAs that are assigned to the DEFS, wherein a given AA of the plurality of AAs (i) represents a unit of storage space allocation to the DEFS and (ii) includes a plurality of RAID stripes within the plurality of RAID groups; and

an active map indicative of those PVBNs of the global PVBN space that are in use by the DEFS.

8 . The method of claim 7 , wherein each of the one or more DEFSs represent an independent file system that have exclusive write access to the assigned plurality of AAs.

9 . The method of claim 8 , wherein plurality of nodes are not required to communicate with one another to perform file system operations regardless of a disk of the group associated with the file system operations.

10 . A non-transitory machine readable medium storing instructions, which when executed by one or more processing resources of a distributed storage system, cause the distributed storage system to:

create a disaggregated storage space within a storage pod that includes a group of disks by dividing storage space of the group of disks into a plurality of allocation areas (AAs), wherein the group of disks contains a plurality of Redundant Array of Independent Disks (RAID) groups, and wherein each AA of the plurality of AAs (i) represents a unit of storage space allocation to a given file system of the distributed storage system and (ii) includes a plurality of RAID stripes of a given RAID group of the plurality of RAID groups; and

provide each node of a plurality of nodes of a cluster representing the distributed storage system with exclusive write access to one or more portions of the disaggregated storage space by assigning a subset of the plurality of AAs to a dynamically extensible file system (DEFS) of the node.

11 . The non-transitory machine readable medium of claim 10 , wherein the storage pod is accessible for reads concurrently by all nodes of the plurality of nodes via a global physical volume block number (PVBN) space.

12 . The non-transitory machine readable medium of claim 11 , wherein the instructions further cause the distributed storage system to maintain an active map for the DEFS indicative of those PVBNs of the global PVBN space that are in use by the DEFS.

13 . The non-transitory machine readable medium of claim 10 , wherein information indicative of assignment of the subset of the plurality of AAs to the DEFS is maintained within an AA map at a per AA-level of granularity.

14 . The non-transitory machine readable medium of claim 13 , wherein the AA map is sparse in areas not assigned to the DEFS.

15 . The non-transitory machine readable medium of claim 10 , wherein each of the plurality of nodes comprise virtual storage appliances hosted by a public cloud provider.

16 . A distributed storage system comprising:

one or more processing resources; and

instructions that when executed by the one or more processing resources cause the distributed storage system to:

create a disaggregated storage space within a storage pod that includes a group of disks by dividing storage space of the group of disks into a plurality of allocation areas (AAs), wherein the group of disks contains a plurality of Redundant Array of Independent Disks (RAID) groups, and wherein each AA of the plurality of AAs (i) represents a unit of storage space allocation to a given file system of a distributed storage system and (ii) includes a plurality of RAID stripes of a given RAID group of the plurality of RAID groups; and

provide each node of a plurality of nodes of a cluster representing the distributed storage system with exclusive write access to one or more portions of the disaggregated storage space by assigning a subset of the plurality of AAs to a dynamically extensible file system (DEFS) of the node.

17 . The distributed storage system of claim 16 , wherein the storage pod is accessible for reads concurrently by all nodes of the plurality of nodes via a global physical volume block number (PVBN) space.

18 . The distributed storage system of claim 17 , wherein the instructions further cause the distributed storage system to maintain an active map for the DEFS indicative of those PVBNs of the global PVBN space that are in use by the DEFS.

19 . The distributed storage system of claim 16 , wherein information indicative of assignment of the subset of the plurality of AAs to the DEFS is maintained within an AA map at a per AA-level of granularity.

20 . The distributed storage system of claim 19 , wherein the AA map is sparse in areas not assigned to the DEFS.

21 . The distributed storage system of claim 16 , wherein each of the plurality of nodes comprise virtual storage appliances hosted by a public cloud provider.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE 2ND INVENTOR'S NAME PREVIOUSLY RECORDED ON REEL 67393 FRAME 379. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 24, 2024
From: THOPPIL, ANIL PAUL; SUBRAMANIAN, ANANTHAN; URKUDE, SUHAS; BANERJEE, ARINDAM
To: NETAPP, INC.
Reel/Frame 067529/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2024
From: THOPPIL, ANIL PAUL; SUBRANANIAN, ANANTHAN; URKUDE, SUHAS; BANERJEE, ARINDAM
To: NETAPP, INC.
Reel/Frame 067393/0379 →
Continuity (1)
Related Publication 20250284663A1 · Sep 11, 2025
References Cited (114)
US 6189015B1 · Reed et al. · 2001 [cited by applicant]
US 7409511B2 · Edwards et al. · 2008 [cited by applicant]
US 7730277B1 · Prakash et al. · 2010 [cited by applicant]
US 7958168B2 · Chen et al. · 2011 [cited by applicant]
US 7979402B1 · Hamilton et al. · 2011 [cited by applicant]
US 8005793B1 · Jernigan, IV · 2011 [cited by applicant]
US 8086603B2 · Nasre et al. · 2011 [cited by applicant]
US 8671265B2 · Wright · 2014 [cited by applicant]
US 8671445B1 · Wang et al. · 2014 [cited by applicant]
US 8812450B1 · Kesavan et al. · 2014 [cited by applicant]
US 8903761B1 · Zayas et al. · 2014 [cited by applicant]
US 8903830B2 · Edwards · 2014 [cited by applicant]
US 9003021B2 · Wright et al. · 2015 [cited by applicant]
US 9407433B1 · Sohi et al. · 2016 [cited by applicant]
US 9846539B2 · Babu et al. · 2017 [cited by applicant]
US 10311019B1 · Vijendra et al. · 2019 [cited by applicant]
US 10365983B1 · Foley et al. · 2019 [cited by applicant]
US 10430279B1 · Dittia et al. · 2019 [cited by applicant]
US 10459806B1 · He et al. · 2019 [cited by applicant]
US 10970259B1 · Bono et al. · 2021 [cited by applicant]
US 11175984B1 · Lercari et al. · 2021 [cited by applicant]
US 11341099B1 · Wolfson et al. · 2022 [cited by applicant]
US 11755627B1 · Puente et al. · 2023 [cited by applicant]
US 11868656B2 · Dronamraju et al. · 2024 [cited by applicant]
US 12204784B1 · Thoppil et al. · 2025 [cited by applicant]
US 20020133512A1 · Milillo et al. · 2002 [cited by applicant]
US 20040015655A1 · Willis · 2004 [cited by examiner]
US 20050114594A1 · Corbett et al. · 2005 [cited by applicant]
US 20050246401A1 · Edwards et al. · 2005 [cited by applicant]
US 20060036602A1 · Unangst et al. · 2006 [cited by applicant]
US 20070174673A1 · Kawaguchi et al. · 2007 [cited by applicant]
US 20080071906A1 · Thoennes et al. · 2008 [cited by applicant]
US 20080154984A1 · Andrews et al. · 2008 [cited by applicant]
US 20100070764A1 · Ishii et al. · 2010 [cited by applicant]
US 20110202705A1 · Hayashi et al. · 2011 [cited by applicant]
US 20110302358A1 · Yu et al. · 2011 [cited by applicant]
US 20120023385A1 · Scouarnec et al. · 2012 [cited by applicant]
US 20120089797A1 · Shibayama et al. · 2012 [cited by applicant]
US 20120278382A1 · Faith et al. · 2012 [cited by applicant]
US 20120310892A1 · Dam et al. · 2012 [cited by applicant]
US 20130227145A1 · Wright et al. · 2013 [cited by applicant]
US 20140237321A1 · Gold · 2014 [cited by applicant]
US 20150244795A1 · Cantwell et al. · 2015 [cited by applicant]
US 20160105311A1 · Thakkar · 2016 [cited by examiner]
US 20160202935A1 · Hoch et al. · 2016 [cited by applicant]
US 20160350358A1 · Patel et al. · 2016 [cited by applicant]
US 20170026263A1 · Gell et al. · 2017 [cited by applicant]
US 20180131749A1 · Dobrenko et al. · 2018 [cited by applicant]
US 20180314725A1 · Subramanian et al. · 2018 [cited by applicant]
US 20190114117A1 · Patel · 2019 [cited by examiner]
US 20190147069A1 · Ben Dayan et al. · 2019 [cited by applicant]
US 20200089420A1 · Sharoni et al. · 2020 [cited by applicant]
US 20200097404A1 · Cason · 2020 [cited by applicant]
US 20200117362A1 · McCarthy et al. · 2020 [cited by applicant]
US 20200117372A1 · Corey et al. · 2020 [cited by applicant]
US 20200136943A1 · Banyai · 2020 [cited by examiner]
US 20210081292A1 · Jmt et al. · 2021 [cited by applicant]
US 20210081352A1 · Yang et al. · 2021 [cited by applicant]
US 20210124645A1 · Chinthekindi et al. · 2021 [cited by applicant]
US 20210349853A1 · Duttagupta et al. · 2021 [cited by applicant]
US 20210349859A1 · Bafna et al. · 2021 [cited by applicant]
US 20220137847A1 · Roche et al. · 2022 [cited by applicant]
US 20220197532A1 · Muthiah et al. · 2022 [cited by applicant]
US 20220308794A1 · Fukatani et al. · 2022 [cited by applicant]
US 20220391359A1 · Dronamraju et al. · 2022 [cited by applicant]
US 20220391361A1 · Subramanian et al. · 2022 [cited by applicant]
US 20230121460A1 · Banerjee et al. · 2023 [cited by applicant]
US 20230367517A1 · Dronamraju et al. · 2023 [cited by applicant]
US 20230367746A1 · Dronamraju et al. · 2023 [cited by applicant]
US 20230393787A1 · Dronamraju et al. · 2023 [cited by applicant]
US 20240143233A1 · Dronamraju et al. · 2024 [cited by applicant]
EP 1369772A2 · 2003 [cited by applicant]
WO 2021050875A1 · 2021 [cited by applicant]
Non-Final Office Action mailed on Jul. 2, 2024 for U.S. Appl. No. 18/649,906, filed Apr. 29, 2024, 09 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 18, 2024 for U.S. Appl. No. 18/649,906, filed Apr. 29, 2024, 08 pages. [cited by applicant]
Vast., “Universal Storage Explained,” An E-White Paper, Feb. 12, 2024, 222 pages. [cited by applicant]
Containers as a Service. Bring Data Rich Enterprise Applications to your Kubernetes Platform [online]. Portworx, Inc. 2021,8 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://portworx.com/container… [cited by applicant]
Containers vs. Microservices: What's the Difference? [online]. BMC, 2021, 19 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.bmc.com/blogs/containers-vs-microservices/. [cited by applicant]
Docker vs Virtual Machines (VMs): A Practical Guide to Docker Containers and VMs [online]. Jan. 16, 2020. Weaveworks, 2021, 8 pages, [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.weave.works/blog… [cited by applicant]
Extended European Search Report for Application No. EP22177676 mailed on Nov. 10, 2022, 10 pages. [cited by applicant]
GitHub., “Stork—Storage Orchestration Runtime for Kubernetes,” Libopenstorage/Stork, 2022, pp. 1-14. Retrieved from the Internet: https://github.com/libopenstorage/stork. [cited by applicant]
Joshi A., “From there to here, from here to there, Containers are Everywhere!,” Dec. 16, 2020 [online], Nutanix. Dev, 2021, 14 pages. [Retrieved on Nov. 9, 2021], Retrieved from the Internet: URL: https://www.nutanix.de… [cited by applicant]
Karbon Kubernetes Orchestration. Management Made Simple, [online]. Nutanix, 2021, 12 pages [Retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.nutanix.com/products/karbon. [cited by applicant]
Kralj M., “How to Orchestrate the Modern Cloud with Kubernetes,” Jul. 2020, Software Engineering Blog, Retrieved from the Internet at: https://www.accenture.com/us-en/blogs/software-engineering-blog/kralj-orchestrate-mo… [cited by applicant]
Kubernetes., “Production-Grade Container Orchestration,” 2021, 6 pages. Retrieved from the Internet: [https://kubernetes.io/]. [cited by applicant]
NetApp SolidFire Element OS User Guide for Element OS Version 10.0, Sep. 2017, 215-12504_A0, 160 pages. [cited by applicant]
Non-Final Office Action mailed on Dec. 7, 2023 for U.S. Appl. No. 17/449,760, filed Oct. 1, 2021, 10 pages. [cited by applicant]
Non-Final Office Action mailed on Mar. 15, 2023 for U.S. Appl. No. 17/449,753, filed Oct. 1, 2021, 8 pages. [cited by applicant]
Non-Final Office Action mailed on Oct. 30, 2023 for U.S. Appl. No. 18/047,774, filed Oct. 19, 2022, 8 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 8, 2024 for U.S. Appl. No. 18/359,192, filed Jul. 26, 2023, 08 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 24, 2024 for U.S. Appl. No. 18/047,774, filed Oct. 19, 2022, 09 pages. [cited by applicant]
Notice of Allowance mailed on Aug. 31, 2023 for U.S. Appl. No. 17/449,753, filed Oct. 1, 2021, 7 pages. [cited by applicant]
Notice of Allowance mailed on Mar. 13, 2024 for U.S. Appl. No. 17/449,758, filed Oct. 1, 2021, 08 pages. [cited by applicant]
Notice of Allowance mailed on Nov. 8, 2023 for U.S. Appl. No. 17/449,758, filed Oct. 1, 2021, 8 pages. [cited by applicant]
Ontap 9, Concepts, Jun. 2021,215-11959_2021-06_en-us, 38 pages. [cited by applicant]
Ontap 9, Disks and Aggregates Power Guide, Jul. 2021,215-11204_2021-07_en-us, 54 pages. [cited by applicant]
Ontap 9, Replication between NetApp Element Software and Ontap, May 2021, 215-12645_2021-05_en-us, 23 pages. [cited by applicant]
Ontap 9, System Administration Reference, Jul. 2021, 15-11148_2021-07_en-us, 150 pages. [cited by applicant]
Pods [online]. Kubernetes, 2021, 6 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://kubernetes.io/docs/concepts/workloads/pods/. [cited by applicant]
Portworx Data Services, the Complete Solution for Deploying Production-Grade Data Services on Kubernetes. [online]. Portworx, Inc. 2021,5 pages. [Retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://portworx… [cited by applicant]
Portworx Enterprise is the Complete Kubernetes Storage Platform Trusted in Production by the Global 2000 [online]. Portworx, Inc. 2021, 10 pages [Retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://portworx… [cited by applicant]
Portworx., “Guarantee Your Cloud Native Success with the Portworx Data Services Platform for Kubernetes,” Pure Storage, 2 pages. Retrieved from the Internet: https://portworx.com/platform/. [cited by applicant]
Portworx., “Portworx Releases Stork, an Open-Source Kubernetes Scheduler Extender to Add Additional Capabilities for Stateful Applications in Production,” GlobeNewswire, 2018, pp. 1-6. Retrieved from the Internet: https… [cited by applicant]
Portwrox., “Introducing Stork: Intelligent Storage Orchestration for Kubernetes,” Stork, 2018, pp. 1-10. Retrieved from the Internet: https://portworx.com/blog/stork-storage-orchestration-kubernetes/. [cited by applicant]
Restriction Requirement mailed Jun. 16, 2023 for U.S. Appl. No. 17/449,758, filed Oct. 1, 2021, 6 pages. [cited by applicant]
Sanglaji M., et al., “Nutanix Karbon: Enterprise-grade Kubernetes Solution,” Nov. 28, 2018, 5 pages [online], [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.nutanix.com/blog/nutanix-karbon-enterpr… [cited by applicant]
Screen Captures from YouTube Video Clip Entitled “Pure Storage Portworx Deep Dive,” 5 pages, Uploaded on Nov. 6, 2020 by User “Tech Field Day”. Retrieved from the Internet: https://www.youtube.com/watch?v=WTC198RAbZg. [cited by applicant]
Software Defined Storage (SDS) Solutions, [online]. Trustradius, 2021, 14 pages [Retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.trustradius.com/software-defined-storage-sds. [cited by applicant]
Software-defined Storage, [online] IBM, 2021, 12 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.ibm.com/it-infrastructure. [cited by applicant]
Solution Brief. Easily Operate a Database-as-a-Service Platform, [online], Portworx, Inc. 2021, 2 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://portworx.com/wp-content/uploads/2021/09/pds-solut… [cited by applicant]
Tanase C.D., “Portworx—Brief Introduction—k8s Persistent Storage, Mobility, Backup, DR Made Easier,” Backup and Restore of Kubernetes Containers, 2021, pp. 1-5. Retrieved from the Internet: https://www.linkedin.com/puls… [cited by applicant]
Weil S.A., et al., Ceph: A Scalable, High-performance Distributed File System. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI '06), USENIX Association, USA, 2006, pp. 307-320. [cited by applicant]
What Is Container Orchestration, Exactly? Everything to Know [online], LaunchDarkly, Apr. 28, 2021, 8 pages. [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://launchdarkly.com/blog/what-is-container-orch… [cited by applicant]
What is Container Orchestration? [online], CapitalOne, 2021, 8 pages [retrieved on Nov. 9, 2021], Retrieved from the Internet: https://www.capitalone.com/tech/cloud/what-is-container-orchestration/. [cited by applicant]