Data copy management for faster reads
AssigneeMicrosoft Corporation
InventorsMichael R Fortin, Cenk Ergan, Mehmet Iyigun, Yevgeniy Bak, Benjamin A Mickle, Alexander Kirshenbaum
Life of this patent
Estimating the term…
Abstract
Multiple copy sets of data are maintained on one or more storage devices. Each copy set includes at least some of the same data units as other sets. Different sets optionally have data units stored in different orders on the storage device(s). A particular one of the sets of data is selected as the set to be accessed in response to detecting a particular scenario.
Claims20
One or more computer storage media having stored thereon multiple instructions that, when executed by one or more processors, cause the one or more processors to:
- maintain multiple copy sets of data units on a storage device, each copy set including at least some of the same data units as a master set and having at least some data units configured in a different order than the master set, the different order configured to provide a particular collection of data units when data is being read for a particular purpose or scenario;
- and
- select a particular one of the multiple copy sets of data units or the master set to access in response to detecting a particular scenario,
- the multiple instructions including:
- a copy set activation module that selects the particular one of the multiple copy sets or the master set to access;
- a copy set creation module that generates new copy sets to be added to the multiple copy sets, each new copy set having at least some of the same data units as other copy sets of the multiple copy sets;
- and
- a copy set update module that controls updating of the multiple copy sets when one or more data units in at least one of the multiple copy sets or in the master set is modified.
A computing device comprising:
- a processor;
- a storage device;
- and
- a memory, coupled to the processor, storing multiple modules for execution by the processor, the multiple modules including:
- a copy set activation module that selects which of multiple copy sets stored on the storage device is to be an active copy set from which I/O accesses are to be satisfied;
- a copy set creation module that generates new copy sets to be added to the multiple copy sets, each new copy set having at least some of the same data units as other copy sets of the multiple copy sets and having at least some of the data units configured in a different order as other copy sets of the multiple copy sets, the data units configured in a different order in the multiple copy sets corresponding to different scenarios that may be requested by an application;
- a copy set update module that controls updating of the multiple copy sets when one or more data units in at least one of the multiple copy sets is modified;
- and
- a copy set I/O module to control I/O accesses to the active copy set, including determining whether I/O accesses are to be buffered prior to being satisfied until a threshold number of I/O accesses have been received or until a threshold amount of time has passed.
A computer-implemented method comprising:
- maintaining multiple copy sets of data units on a storage device, each copy set including at least some of the same data units as a master set and having at least some data units configured in a different order than the master set;
- maintaining consistency among the multiple copy sets and the master set by detecting when one or more of the multiple copy sets may have been changed;
- responsive to detecting, updating any data unit in the multiple copy sets that has been changed;
- and
- selecting a particular one of the multiple copy sets of data units or the master set to access in response to detecting a particular scenario, the selecting comprising:
- checking whether a copy set of the multiple copy sets matches an I/O access;
- and
- selecting a closest matching copy set of the multiple copy sets as the particular one of the multiple copy sets.
Dependencies are inferred from the claim text.