IP Library Granted Patent US 12,487,888
Granted Patent B2
US 12,487,888 · App. 18/497,718 · Granted Dec 2, 2025

File system changed block tracking for data platforms

Inventor: Anand Arun (Santa Clara, CA)
Assignee: Cohesity, Inc.
G06F11/1451G06F11/1461G06F16/122G06F2201/84
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,487,888
App. No.
18/497,718
Filed
Oct 30, 2023
Granted
Dec 2, 2025
Kind
B2
Art Unit
2161
USPC
707/646
Abstract

A computing device comprising a storage device and processing circuitry may perform the techniques of this disclosure. The storage device may have a plurality of blocks forming a volume. The processing circuitry may obtain volume changed block tracking (CBT) information identifying one or more of the blocks storing updated data that has changed relative to a previous backup of the one or more blocks, and determine file mapping information identifying one or more blocks of the plurality of blocks that store file data associated with a file. The processing circuitry may also determine, based on the volume CBT information and the file mapping information, file system CBT information identifying whether at least one of the one or more blocks store file data associated with the file have changed, and initiate, based on the file system CBT information, a subsequent backup of at least a portion of the file data.

Claims (47)

1 . A method comprising:

obtaining, by processing circuitry of a computing device and after rebooting the computing device, volume changed block tracking information identifying one or more blocks of a plurality of blocks forming a volume of a storage device storing updated data that has changed relative to a previous backup of the one or more blocks of the plurality of blocks forming the volume, wherein the volume changed block tracking information is more resilient to the rebooting of the computing device in terms of accuracy and reliability compared to natively tracking the file system changed block information separate from the volume changed block tracking information;

determining, by the processing circuitry, file mapping information identifying one or more blocks of the plurality of blocks forming the volume that stores file data associated with a file;

determining, by the processing circuitry and based on the volume changed block tracking information and the file mapping information, file system changed block tracking information indicating whether at least one of the one or more blocks of the plurality of blocks forming the volume that stores the file data associated with the file have changed; and

sending a message that includes the file system changed block tracking information, by the processing circuitry, and to a separate and remote data platform, to initiate, based on the file system changed block tracking information, a subsequent backup of at least a portion of the file data associated with the file.

2 . The method of claim 1 , further comprising identifying, by the processing circuitry, the file stored to the volume for which changed block tracking is to be performed.

3 . The method of claim 2 , wherein identifying the file stored to the volume for which changed block tracking is to be performed comprises receiving an indication, via a user interface, identifying the file stored to the volume for which changed block tracking is to be performed.

4 . The method of claim 1 , wherein determining file mapping information comprises interfacing with an application programming interface presented by a file system manager that manages a file system mapped to the volume stored to the storage device to obtain file mapping information identifying the one or more blocks of the plurality of the blocks forming the volume store the file data associated with the file.

5 . The method of claim 4 ,

wherein the file has a plurality of paths by which to access the file, and

wherein determining the file mapping information further comprises:

translating the plurality of paths by which to access the file into a common file name; and

interfacing with the application programming interface to pass the common file name to obtain the file mapping information.

6 . The method of claim 1 ,

wherein the volume changed block tracking information comprises a volume changed block tracking bitmap,

wherein the file mapping information comprises a file mapping bitmap having a higher granularity than the volume changed block tracking bitmap, and

wherein determining the file system changed block tracking information comprises down sampling the file mapping bitmap to have a same granularity as the volume changed block tracking bitmap.

7 . The method of claim 1 ,

wherein the volume changed block tracking information comprises a volume changed block tracking bitmap,

wherein the file mapping information comprises a file mapping bitmap having a lower granularity than the volume changed block tracking bitmap, and

wherein determining the file system changed block tracking information comprises up sampling the file mapping bitmap to have a same granularity as the volume changed block tracking bitmap.

8 . The method of claim 1 , wherein sending the message to initiate the subsequent backup comprises executing, by the processing circuitry, a local agent installed on the computing device that sends the message to the separate and remote data platform to initiate the subsequent backup of at least the portion of the file data associated with the file to the remote data platform.

9 . The method of claim 1 , wherein the file system changed block tracking information comprises a file system changed block bitmap identifying whether at least one of the one or more blocks of the plurality of blocks forming the volume that stores the file data associated with the file have changed.

10 . A computing device comprising:

a storage device having a plurality of blocks forming a volume; and

processing circuitry having access to the storage device and configured to:

obtain, after rebooting the computing device, volume changed block tracking information identifying one or more blocks of the plurality of blocks forming the volume storing updated data that has changed relative to a previous backup of the one or more blocks of the plurality of blocks forming the volume, wherein the volume changed block tracking information is more resilient to the rebooting of the computing device in terms of accuracy and reliability compared to natively tracking the file system changed block information separate from the volume changed block tracking information;

determine file mapping information identifying one or more blocks of the plurality of blocks forming the volume that stores file data associated with a file;

determine, based on the volume changed block tracking information and the file mapping information, file system changed block tracking information identifying whether at least one of the one or more blocks of the plurality of blocks forming the volume that stores the file data associated with the file have changed; and

send a message that includes the file system changed block tracking information, to a separate and remote data platform, to initiate, based on the file system changed block tracking information, a subsequent backup of at least a portion of the file data associated with the file.

11 . The computing device of claim 10 , wherein the processing circuitry is further configured to identify the file stored to the volume for which changed block tracking is to be performed.

12 . The computing device of claim 11 , wherein to identify the file stored to the volume for which changed block tracking is to be performed, the processing circuitry is configured to receive an indication, via a user interface, identifying the file stored to the volume for which changed block tracking is to be performed.

13 . The computing device of claim 10 , wherein to determine the file mapping information, the processing circuitry is configured to interface with an application programming interface presented by a file system manager that manages a file system mapped to the volume stored to the storage device to obtain the file mapping information identifying the one or more blocks of the plurality of the blocks forming the volume that stores the file data associated with the file.

14 . The computing device of claim 13 ,

wherein the file has a plurality of paths by which to access the file, and

wherein to determine the file mapping information, the processing circuitry is configured to:

translate the plurality of paths by which to access the file into a common file name; and

interface with the application programming interface to pass the common file name to obtain the file mapping information.

15 . The computing device of claim 10 ,

wherein the volume changed block tracking information comprises a volume changed block tracking bitmap,

wherein the file mapping information comprises a file mapping bitmap having a higher or lower granularity than the volume changed block tracking bitmap, and

wherein to determine the file system changed block tracking information, the processing circuitry is configured to down sample or up sample the file mapping bitmap to have a same granularity as the volume changed block tracking bitmap.

16 . A computer-readable storage medium comprising instructions that, when executed, configure processing circuitry of a computing system to:

obtain, after rebooting the computing system, volume changed block tracking information identifying one or more blocks of a plurality of blocks forming the volume storing updated data that has changed relative to a previous backup of the one or more blocks of the plurality of blocks forming the volume, wherein the volume changed block tracking information is more resilient to the rebooting of the computing system in terms of accuracy and reliability compared to natively tracking the file system changed block information separate from the volume changed block tracking information;

determine file mapping information identifying one or more blocks of the plurality of blocks forming the volume that stores file data associated with a file;

determine, based on the volume changed block tracking information and the file mapping information, file system changed block tracking information identifying whether at least one of the one or more blocks of the plurality of blocks forming the volume that stores the file data associated with the file have changed; and

send a message that includes the file system changed block tracking information, to a separate and remote data platform, to initiate, based on the file system changed block tracking information, a subsequent backup of at least a portion of the file data associated with the file.

Assignments (2)
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2023
From: ARUN, ANAND
To: COHESITY, INC.
Reel/Frame 065392/0625 →
Continuity (1)
Related Publication 20250138947A1 · May 1, 2025
References Cited (16)
US 9619172B1 · Natanzon · 2017 [cited by examiner]
US 9678685B1 · Coffing et al. · 2017 [cited by applicant]
US 9690666B1 · Shembavnekar · 2017 [cited by examiner]
US 10146630B1 · Kumar · 2018 [cited by examiner]
US 11803308B2 · Bhagi · 2023 [cited by examiner]
US 20160147607A1 · Dornemann · 2016 [cited by examiner]
US 20170004047A1 · Deshmukh · 2017 [cited by examiner]
US 20180039434A1 · Balcha · 2018 [cited by examiner]
US 20200026777A1 · Luo · 2020 [cited by examiner]
US 20200104202A1 · Stupak · 2020 [cited by examiner]
US 20210026810A1 · Gaonkar · 2021 [cited by examiner]
US 20210049079A1 · Kumar · 2021 [cited by examiner]
US 20210382633A1 · Bhagi · 2021 [cited by examiner]
US 20220197518A1 · Bhagi · 2022 [cited by examiner]
US 20230205636A1 · Yadav et al. · 2023 [cited by applicant]
Extended Search Report from counterpart European Application No. 24179972.5 dated Dec. 5, 2024, 9 pp. [cited by applicant]