IP Library › Granted Patent US 12,613,632
Granted Patent B2
US 12,613,632 · App. 18/802,707 · Granted Apr 28, 2026

Storage capacity tracking in storage systems

Inventors: Yosef Shatsky (Karnei Shomron, IL); Doron Tal (Newton, MA)
Assignee: Dell Products L.P.
G06F3/061G06F3/0653G06F3/0673
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,613,632
App. No.
18/802,707
Granted
Apr 28, 2026
Kind
B2
Abstract

An apparatus comprises at least one processing device configured to monitor write request operations directed to at least one storage volume of a storage system, and to identify, utilizing a sampling rate determined based at least in part on a volume size of the storage volume, a subset of the write request operations. The at least one processing device is also configured to determine changes to storage capacity counters for portions of the storage volume that are written to by the subset of the write request operations, to generate estimates for overall storage capacity counters for the storage volume based on (i) the determined changes to the storage capacity counters for the portions of the storage volume that are written to by the subset of the write request operations and (ii) the sampling rate, and to adjust characteristics of the storage system based on the generated estimates.

Claims (42)

1 . An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured:

to monitor a plurality of write request operations directed to at least one storage volume of a storage system;

to identify, utilizing (i) a sampling rate determined based at least in part on a volume size of the at least one storage volume and (ii) a sampling function that takes as input a volume identifier of the at least one storage volume and a sample size offset, a subset of the plurality of write request operations;

to determine one or more changes to one or more storage capacity counters for one or more portions of the at least one storage volume that are written to by the subset of the plurality of write request operations;

to generate one or more estimates for one or more overall storage capacity counters for the at least one storage volume based at least in part on (i) the determined one or more changes to the one or more storage capacity counters for the one or more portions of the at least one storage volume that are written to by the subset of the plurality of write request operations and (ii) the sampling rate; and

to adjust one or more characteristics of the storage system based at least in part on the generated estimates for the one or more overall storage capacity counters.

2 . The apparatus of claim 1 wherein the storage system utilizes a blind update storage architecture.

3 . The apparatus of claim 2 wherein the blind update storage architecture writes to offset locations specified by write request operations without determining existing data written to the specified offset locations.

4 . The apparatus of claim 2 wherein the blind update storage architecture writes delta-based metadata for the write request operations in place of updating existing metadata for data written by the write request operations.

5 . The apparatus of claim 1 wherein the storage system comprises a metadata cache for storing metadata mappings between logical offset locations in the at least one storage volume and physical offset location on one or more physical storage drives of the storage system.

6 . The apparatus of claim 1 wherein the sampling rate is further determined based at least in part on a specified margin of error value.

7 . The apparatus of claim 1 wherein the one or more storage capacity counters comprise:

a logical used capacity counter characterizing an amount of logical data that is written; and

a physical used capacity counter characterizing an amount of physical data that is written after applying at least one of compression and deduplication to the logical data.

8 . The apparatus of claim 1 wherein the one or more storage capacity counters comprise a snapshot savings counter characterizing storage savings provided by space-efficient snapshot functionality of the storage system.

9 . The apparatus of claim 1 wherein the one or more storage capacity counters comprise a compression ratio counter characterizing storage savings provided by applying compression to logical data that is written to the storage system.

10 . The apparatus of claim 1 wherein the one or more storage capacity counters comprise a deduplication ratio counter characterizing storage savings provided by applying deduplication to logical data that is written to the storage system.

11 . The apparatus of claim 1 wherein the sampling function samples randomly from the plurality of write request operations.

12 . The apparatus of claim 1 wherein the sampling function comprises a hash function that takes as input the volume identifier of the at least one storage volume and the sample size offset.

13 . The apparatus of claim 1 wherein the at least one processing device is configured;

to detect resizing of the at least one storage volume; and

to determine whether to update the sampling rate based at least in part on the detected resizing of the at least one storage volume.

14 . The apparatus of claim 1 wherein the at least one processing device is configured to determine one or more changes to one or more storage capacity counters for the storage system based at least in part on sampling a plurality of deletion request operations at the identified sampling rate.

15 . A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:

to monitor a plurality of write request operations directed to at least one storage volume of a storage system;

to identify, utilizing (i) a sampling rate determined based at least in part on a volume size of the at least one storage volume and (ii) a sampling function that takes as input a volume identifier of the at least one storage volume and a sample size offset, a subset of the plurality of write request operations;

to determine one or more changes to one or more storage capacity counters for one or more portions of the at least one storage volume that are written to by the subset of the plurality of write request operations;

to generate one or more estimates for one or more overall storage capacity counters for the at least one storage volume based at least in part on (i) the determined one or more changes to the one or more storage capacity counters for the one or more portions of the at least one storage volume that are written to by the subset of the plurality of write request operations and (ii) the sampling rate; and

to adjust one or more characteristics of the storage system based at least in part on the generated estimates for the one or more overall storage capacity counters.

16 . The computer program product of claim 15 wherein the storage system utilizes a blind update storage architecture.

17 . The computer program product of claim 15 wherein the sampling function comprises a hash function that takes as input the volume identifier of the at least one storage volume and the sample size offset.

18 . A method comprising:

monitoring a plurality of write request operations directed to at least one storage volume of a storage system;

identifying, utilizing (i) a sampling rate determined based at least in part on a volume size of the at least one storage volume and (ii) a sampling function that takes as input a volume identifier of the at least one storage volume and a sample size offset, a subset of the plurality of write request operations;

determining one or more changes to one or more storage capacity counters for one or more portions of the at least one storage volume that are written to by the subset of the plurality of write request operations;

generating one or more estimates for one or more overall storage capacity counters for the at least one storage volume based at least in part on (i) the determined one or more changes to the one or more storage capacity counters for the one or more portions of the at least one storage volume that are written to by the subset of the plurality of write request operations and (ii) the sampling rate; and

adjusting one or more characteristics of the storage system based at least in part on the generated estimates for the one or more overall storage capacity counters;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

19 . The method of claim 18 wherein the storage system utilizes a blind update storage architecture.

20 . The method of claim 18 wherein the sampling function comprises a hash function that takes as input the volume identifier of the at least one storage volume and the sample size offset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2024
From: SHATSKY, YOSEF; TAL, DORON
To: DELL PRODUCTS L.P.
Reel/Frame 068270/0952 →
Continuity (1)
Related Publication 20260050378A1 · Feb 19, 2026
References Cited (11)
US 8311964B1 · Efstathopoulos · 2012 [cited by examiner]
US 9514211B2 · Sengupta · 2016 [cited by examiner]
US 10452792B1 · Flaherty · 2019 [cited by examiner]
US 20090064159A1 · LaFrese · 2009 [cited by examiner]
US 20170308305A1 · Goel · 2017 [cited by examiner]
US 20190370357A1 · Kucherov · 2019 [cited by examiner]
US 20220129159A1 · Randall · 2022 [cited by examiner]
US 20220342556A1 · Dimnaku · 2022 [cited by examiner]
S. Ghosh et al., “Blind Updates in Coded Caching,” arXiv:2010.10464v2, May 15, 2021, 35 pages. [cited by applicant]
B. Chandramouli et al., “Faster: A Concurrent Key-Value Store with In-Place Updates,” Proceedings of the 2018 International Conference on Management of Data, May 27, 2018, 16 pages. [cited by applicant]
D. Lomet, “Cost/Performance in Modern Data Stores,” Proceedings of the 14th International Workshop on Data Management on New Hardware, Jun. 11, 2018, 10 pages. [cited by applicant]