Validity map-based tracking of user data updates
First Claim
Patent Images
1. A computer-implemented method, comprising:
- receiving a plurality of data portions of user data;
storing the plurality of data portions in an authoritative storage and in a cache, the plurality of data portions being more readily accessible from the cache than the authoritative storage;
receiving a set of overwriting data portions, each overwriting data portion of the set of overwriting data portions being associated with a data portion of a first set of data portions from the plurality of data portions and being received to replace the data portion of the first set of data portions;
updating a validity map to indicate that each data portion of the first set of data portions is replaced;
sending an instruction to store the received set of overwriting data portions in the authoritative storage;
causing an unsuccessfully written subset of the received set of overwriting data portions to be stored in a cache;
obtaining the user data, based at least in part on the updated validity map, by at least;
obtaining a successfully written subset of the received set of overwriting data portions from the authoritative storage; and
obtaining the unsuccessfully written subset from the cache;
sending the obtained user data to a data storage system.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus is disclosed for utilizing a validity map to indicate whether an overwriting data portion of user data is received. In the method and apparatus, a plurality of data portions of user data are received, whereby each data portion of the plurality of data portion may overwrite another data portion. A validity map may be utilized to indicate whether a data portion is an overwriting data portion. The validity map may be utilized for retrieving the data portion instead of the data portion being replaced.
14 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
receiving a plurality of data portions of user data; storing the plurality of data portions in an authoritative storage and in a cache, the plurality of data portions being more readily accessible from the cache than the authoritative storage; receiving a set of overwriting data portions, each overwriting data portion of the set of overwriting data portions being associated with a data portion of a first set of data portions from the plurality of data portions and being received to replace the data portion of the first set of data portions; updating a validity map to indicate that each data portion of the first set of data portions is replaced; sending an instruction to store the received set of overwriting data portions in the authoritative storage; causing an unsuccessfully written subset of the received set of overwriting data portions to be stored in a cache; obtaining the user data, based at least in part on the updated validity map, by at least; obtaining a successfully written subset of the received set of overwriting data portions from the authoritative storage; and obtaining the unsuccessfully written subset from the cache; sending the obtained user data to a data storage system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising a set of computing devices that collectively implement at least:
-
a staging entity that at least; receives a set of overwriting data portions, each overwriting data portion of the set of overwriting data portions being associated with a data portion of user data stored in a first storage system to be overwritten by the overwriting data portion; identifies at least one overwriting data portion of the set of overwriting data portions; and updates a validity map to indicate that the at least one overwriting data portion is received; sends an instruction to overwrite the data portion of user data with the set of overwriting data portions; and causes a subset of the set of overwriting data portions associated with an unsuccessful overwriting attempt to be stored in a second storage system for retrieval based at least in part on the validity map; and a retrieval entity that retrieves each overwriting data portion of the set of overwriting data portions from the first storage system or the second storage system based at least in part on the validity map. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium having collectively stored thereon executable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least:
-
receive a first part of user data; cause a validity map to indicate that the first part of the user data is received; send an instruction to store the first part of the user data in a first storage system so as to attempt to overwrite a second part of the user data; identify whether the first part successfully overwrites the second part of the user data; on a condition that the first part successfully overwrites the second part of the user data, cause the validity map to indicate that the second part is overwritten; and on a condition that the first part does not successfully overwrite the second part of the user data, cause the first part to be stored in a second storage system for retrieval based at least in part on the validity map. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification