IP Library Granted Patent US 12,423,016
Granted Patent B2
US 12,423,016 · App. 18/146,530 · Granted Sep 23, 2025

Reducing provisioned storage capacity of an aggregate of a storage appliance

Inventors: Mrinal K. Bhattacharjee (Bangalore, IN); Sreenath Korrakuti (Bangalore, IN); Sateesh Kumar Pola (Bangalore, IN)
Assignee: NetApp, Inc.
G06F3/0647G06F3/0604G06F3/065G06F3/0683
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,423,016
App. No.
18/146,530
Granted
Sep 23, 2025
Kind
B2
Abstract

Systems and methods for reducing the provisioned storage capacity of a disk or aggregate of disks of a storage appliance while the storage appliance continues to serve clients are provided. According to one embodiment, the size of the aggregate may be reduced by shrinking the file system of the storage appliance and removing a selected disk from the aggregate. When an identified shrink region is less than the entire addressable PVBN space of the selected disk, the file system may be shrunk by relocating valid data from the shrink region of the selected disk to one or more regions outside of the shrink region, mirroring data of the selected disk from outside of the shrink region to a smaller disk added to the aggregate, and then removing the selected disk after the mirrors are in sync, thereby reducing the provisioned storage capacity of the aggregate by the difference in size between the selected disk and the smaller disk.

Claims (43)

1. A method of reducing a provisioned storage capacity of an aggregate of a storage appliance while the storage appliance is online and continues to serve one or more clients, the method comprising:

identifying a portion of a range of block numbers within the aggregate, representing a shrink region to be removed from the aggregate by selecting a source disk of a plurality of disks within the aggregate;

relocating valid data within the shrink region from the source disk to one or more regions within the aggregate that are outside of the shrink region;

adding a new disk of smaller size than the source disk to the aggregate;

causing valid data of the source disk outside of the shrink region to be mirrored to the new disk by establishing a mirroring relationship between the source disk and the new disk;

after mirroring of the valid data to the new disk is completed, reducing the provisioned storage capacity of the aggregate by removing the source disk from the aggregate; and

updating one or more data structures utilized by a file system of the storage appliance to reflect the reduced provisioned storage capacity of the aggregate.

2. The method of claim 1 , further comprising disestablishing the mirroring relationship between the source disk and the new disk.

3. The method of claim 1 , wherein selection of the source disk comprises:

determining a storage utilization of candidate source disks of the plurality of disks; and

selecting a disk of the candidate source disks having a lowest storage utilization as the source disk.

4. The method of claim 1 , further comprising prior to identification of the shrink region, determining existence of a trigger condition.

5. The method of claim 3 , wherein the trigger condition comprises a storage utilization of the aggregate falling below a threshold.

6. The method of claim 1 , wherein the range of block numbers represents a sparse physical volume block number (PVBN) space.

7. The method of claim 1 , wherein the storage appliance comprises a virtual storage appliance hosted by a hyperscaler.

8. A non-transitory machine readable medium storing instructions, which when executed by a processing resource of a storage appliance, cause the storage appliance to, while the storage appliance is online and continues to serve one or more clients:

identify a portion of a range of block numbers within the aggregate, representing a shrink region to be removed from an aggregate of a storage appliance by selecting a source disk of a plurality of disks within the aggregate;

relocate valid data within the shrink region from the source disk to one or more regions within the aggregate that are outside of the shrink region;

add a new disk of smaller size than the source disk to the aggregate;

cause valid data of the source disk outside of the shrink region to be mirrored to the new disk by establishing a mirroring relationship between the source disk and the new disk;

after mirroring of the valid data to the new disk is completed, reduce a provisioned storage capacity of the aggregate by removing the source disk from the aggregate; and

update one or more data structures utilized by a file system of the storage appliance to reflect the reduced provisioned storage capacity of the aggregate.

9. The non-transitory machine readable medium of claim 8 , wherein the instructions further cause the storage appliance to, after the mirroring of the valid data to the new disk is completed, disestablishing the mirroring relationship between the source disk and the new disk.

10. The non-transitory machine readable medium of claim 8 , wherein selection of the source disk comprises:

determining a storage utilization of candidate source disks of the plurality of disks; and

selecting a disk of the candidate source disks having a lowest storage utilization as the source disk.

11. The non-transitory machine readable medium of claim 8 , wherein the range of block numbers represents a sparse physical volume block number (PVBN) space.

12. The non-transitory machine readable medium of claim 8 , wherein the storage appliance comprises a virtual storage appliance hosted by a hyperscaler.

13. A storage appliance comprising:

one or more processing resources; and

instructions that when executed by the one or more processing resources cause the storage appliance to, while the storage appliance is online and continues to serve one or more clients:

identify a portion of a range of block numbers within the aggregate, representing a shrink region to be removed from an aggregate of a storage appliance by selecting a source disk of a plurality of disks within the aggregate;

relocate valid data within the shrink region from the source disk to one or more regions within the aggregate that are outside of the shrink region;

add a new disk of smaller size than the source disk to the aggregate;

cause valid data of the source disk outside of the shrink region to be mirrored to the new disk by establishing a mirroring relationship between the source disk and the new disk;

after mirroring of the valid data to the new disk is completed, reduce a provisioned storage capacity of the aggregate by removing the source disk from the aggregate; and

update one or more data structures utilized by a file system of the storage appliance to reflect the reduced provisioned storage capacity of the aggregate.

14. The storage appliance of claim 13 , wherein the instructions further cause the storage appliance to, after the mirroring of the valid data to the new disk is completed, disestablishing the mirroring relationship between the source disk and the new disk.

15. The storage appliance of claim 13 , wherein selection of the source disk comprises:

determining a storage utilization of candidate source disks of the plurality of disks; and

selecting a disk of the candidate source disks having a lowest storage utilization as the source disk.

16. The storage appliance of claim 13 , wherein the instructions further cause the processing resource to prior to identification of the shrink region, determine existence of a trigger condition indicative of a storage utilization of the aggregate falling below a threshold.

17. The storage appliance of claim 13 , wherein the range of block numbers represents a sparse physical volume block number (PVBN) space.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2023
From: BHATTACHARJEE, MRINAL K.; KORRAKUTI, SREENATH; POLA, SATEESH KUMAR
To: NETAPP, INC.
Reel/Frame 062528/0441 →
Continuity (1)
Related Publication 20240211158A1 · Jun 27, 2024
References Cited (36)
US 5542065A · Burkes · 1996 [cited by examiner]
US 6289356B1 · Hitz et al. · 2001 [cited by applicant]
US 7562203B2 · Scott et al. · 2009 [cited by applicant]
US 7702870B2 · English et al. · 2010 [cited by applicant]
US 8200722B2 · Grubbs et al. · 2012 [cited by applicant]
US 8380674B1 · Bolen et al. · 2013 [cited by applicant]
US 8898419B2 · Kesavan et al. · 2014 [cited by applicant]
US 9612760B2 · Kesavan et al. · 2017 [cited by applicant]
US 10891057B1 · O'Brien, III et al. · 2021 [cited by applicant]
US 10963332B2 · Sarkar · 2021 [cited by examiner]
US 11054991B2 · Bolkhovitin · 2021 [cited by examiner]
US 11740792B2 · Lee · 2023 [cited by examiner]
US 11797433B2 · Bahirat · 2023 [cited by examiner]
US 20020194529A1 · Doucette et al. · 2002 [cited by applicant]
US 20050027938A1 · Burkey · 2005 [cited by examiner]
US 20100205390A1 · Arakawa · 2010 [cited by applicant]
US 20120079226A1 · Kihara et al. · 2012 [cited by applicant]
US 20140089921A1 · Yang et al. · 2014 [cited by applicant]
US 20160139835A1 · Fiebrich-Kandler et al. · 2016 [cited by applicant]
US 20170003897A1 · Yan · 2017 [cited by examiner]
US 20170322739A1 · Grimsrud · 2017 [cited by examiner]
US 20180165033A1 · Baig et al. · 2018 [cited by applicant]
US 20210117378A1 · Zhao · 2021 [cited by examiner]
US 20230315315A1 · Ritika et al. · 2023 [cited by applicant]
US 20230315691A1 · Ritika et al. · 2023 [cited by applicant]
US 20230367677A1 · Pawar et al. · 2023 [cited by applicant]
US 20240220136A1 · Bhattacharjee et al. · 2024 [cited by applicant]
Non-Final Office Action mailed on Sep. 5, 2024 for U.S. Appl. No. 18/146,526, filed Dec. 27, 2022, 14 pages. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/US2023/085905, mailed on Apr. 3, 2024, 13 pages. [cited by applicant]
Hitz D., et al., “File System Design for an NFS File Server Appliance”, XP002421534. [cited by applicant]
Mell P., et al., “The NIST Definition of Cloud Computing”, National Institute of Standards and Technology, 2011, 7 pages. [cited by applicant]
Written Opinion for International Application No. PCT/US2023/085905, mailed on Apr. 3, 2024, 18 pages. [cited by applicant]
Hewlett Packard., “HP P4000 San Solutions—How to Shrink a Volume on San/iQ,” HPE Support Center, Oct. 24, 2022, 1 page. [cited by applicant]
NetApp., “Data Mirroring using SyncMirror,” Jun. 7, 2022, 2 pages. [cited by applicant]
NetApp., “What are the Guidelines to be followed while shrinking LUNs,” NetApp Knowledge Base, Oct. 24, 2022, 2 pages. [cited by applicant]
Notice of Allowance mailed on Feb. 20, 2025 for U.S. Appl. No. 18/146,526, filed Dec. 27, 2022, 06 pages. [cited by applicant]