US 12,013,763 B2
Continuous data protection using a write filter
Shobhit Agarwal, San Jose, CA (US); Chinmaya Manjunath, San Jose, CA (US); Kishan Venkata Sravan Nerella, San Jose, CA (US); and Ashish Patwardhan, Cupertino, CA (US)
Assigned to Cohesity, Inc., San Jose, CA (US)
Filed by Cohesity, Inc., San Jose, CA (US)
Filed on Dec. 7, 2022, as Appl. No. 18/077,125.
Application 18/077,125 is a continuation of application No. 16/549,719, filed on Aug. 23, 2019, granted, now 11,573,861.
Claims priority of provisional application 62/846,488, filed on May 10, 2019.
Prior Publication US 2023/0229562 A1, Jul. 20, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/00 (2019.01); G06F 11/14 (2006.01); G06F 16/11 (2019.01); G06F 16/17 (2019.01); G06F 16/901 (2019.01)
CPC G06F 11/1451 (2013.01) [G06F 11/1469 (2013.01); G06F 16/128 (2019.01); G06F 16/1734 (2019.01); G06F 16/9027 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
storing, by a storage system, a reference snapshot of data stored by a storage device;
generating, by the storage system, a first reference restoration point based on the reference snapshot;
receiving, by the storage system, a stream of data changes that modify the data stored by the storage device, wherein the data changes are intercepted by a write filter attached to the storage device, wherein a data change of the stream of the data changes is streamed from the write filter to the storage system directly after the data change is intercepted by the write filter;
logging, by the storage system, the data change of the stream of the data changes in a log;
determining, by the storage system, that a first log entry stored to the log includes a first snapshot marker;
in response to determining that the first log entry includes the first snapshot marker, generating, by the storage system, a second reference restoration point based on the received data changes in the log that occurred after the first reference restoration point and before the first snapshot marker, wherein the first snapshot marker is inserted in the stream of data changes by the write filter in between the intercepted data changes;
determining, by the storage system, that a second log entry stored to the log includes a second snapshot marker; and
in response to determining that the second log entry includes the second snapshot marker, generating, by the storage system, a third reference restoration point based on the received data changes in the log that occurred after the second reference restoration point and before the second snapshot marker, wherein the second snapshot marker is inserted in the stream of data changes by the write filter in between the intercepted data changes, wherein the first reference restoration point, the second reference restoration point, and the third reference restoration point correspond to application consistent recovery points.