Continuous data protection enables a user to be able to access or restore a previous state with finer time granularity than previously offered by some traditional backup solutions. For example, some traditional backup solutions perform backups at discrete points in time that are separated by hours or even days. The only previous states that a user is able to restore are the states corresponding to those points in time. With continuous data protection, data (e.g., a file or other data associated with a continuously protected device) is continuously protected over a window of time and a user is able to access any prior state within that window. For example, using some continuous data protection systems a user can access or restore saved states that are single writes apart.
Storage is used to store previous version data. In the event a user desired restoration of or access to a prior state, appropriate previous version data is retrieved and provided to the user. Because storage is not an infinite resource, storage is reclaimed from time to time, for example as the data stored in a particular storage location is no longer required to be retained, e.g., because it relates to a state outside a current protection window. However, in some cases the rate at which new data is generated outpaces the rate at which storage becomes available because data stored there falls outside the desired window of protection. In such cases, it would be desirable if storage reclamation is performed in such a way as to maximize the window of protection.