Distributed data-storage system
First Claim
1. A method, in a distributed data storage system that associates one or more timestamps with data blocks stored in data-storage-components, for deciding whether or not a data block has been written, the method comprising:
- maintaining a sparse database of timestamps associated with data blocks, each timestamp having a field that contains one of an indication of a time or sequence and a sentinel value indicating that the timestamp is garbage collected; and
when a timestamp is not found associated with a particular data block in the sparse database of timestamps, associating the particular data block with a garbage-collected-timestamp state.
1 Assignment
0 Petitions
Accused Products
Abstract
Various embodiments of the present invention provide methods, in distributed data-storage systems that associate one or more timestamps with each data block in each data-storage-component, for deciding whether or not a data block has been written. In certain embodiments of the present invention, a sparse database of timestamps associated with data blocks is maintained, each timestamp having a field that contains one of an indication of a time or sequence and a sentinel value indicating that the timestamp is garbage collected. When a timestamp is not found associated with a data block in a timestamp database, the data block is associated with a garbage-collected-timestamp state. In various embodiments of the present invention, data structures are maintained that store status information indicating whether or not any of a number of data blocks in each of a number of data-block-allocation units have been written. During replication, migration, or reconfiguration of a current segment of data blocks to a new segment of data blocks in these various embodiments, a data block is determined to be written or to be unwritten by determining, from the data structures, whether or not a data block-allocation unit containing the data block is written or unwritten.
-
Citations
18 Claims
-
1. A method, in a distributed data storage system that associates one or more timestamps with data blocks stored in data-storage-components, for deciding whether or not a data block has been written, the method comprising:
-
maintaining a sparse database of timestamps associated with data blocks, each timestamp having a field that contains one of an indication of a time or sequence and a sentinel value indicating that the timestamp is garbage collected; and
when a timestamp is not found associated with a particular data block in the sparse database of timestamps, associating the particular data block with a garbage-collected-timestamp state. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A distributed data storage system comprising:
-
component data-storage systems;
distributed data objects composed of data blocks, each distributed data object stored on one or more component data-storage systems under one or more redundancy schemes; and
a sparse timestamp database in each component data-storage system that stores current timestamps associated with each data block, wherein data blocks for which timestamps cannot be found in the sparse database of timestamps are assumed to occupy a garbage-collected-timestamp state. - View Dependent Claims (7, 8)
-
-
9. A distributed data-storage system comprising:
-
component data-storage systems;
segments of data blocks belonging to virtual disk images distributed across the component data-storage systems, each segment of data blocks distributed according to a redundancy scheme, or according to two redundancy schemes during migration from a first redundancy scheme to a second redundancy scheme, and each segment of data blocks distributed according to a configuration, or according to two or more configurations during reconfiguration of the segment of data blocks; and
control logic within component data-storage systems that carries out segment-by-segment migration of all or a portion of the segments of data blocks of a virtual disk image to change a redundancy scheme by which the virtual-disk-image segments, or the portion of the virtual-disk-image segments, are distributed over a number of component data-storage systems. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A distributed data-storage system comprising:
-
component data-storage systems;
segments of data blocks belonging to virtual disk images distributed across the component data-storage systems, each segment of data blocks distributed according to a configuration, or according to two or more configurations during reconfiguration of the segment of data blocks; and
control logic within component data-storage systems that carries out segment-by-segment reconfiguration of all or a portion of the segments of data blocks of a virtual disk image to change the sets of component data-storage systems over which the virtual disk image segments, or the portion of the virtual disk image segments, are distributed. - View Dependent Claims (15, 16, 17)
-
-
18. A method, in a distributed data storage system that associates one or more timestamps with data blocks stored in data-storage-components, for deciding whether or not a particular data block has been written, the method comprising:
-
a means for determining a time or sequence for a particular data block as well as a sentinel value that indicates whether or not the time or sequence is current, or is instead garbage collected;
a means for determining whether or not any of a number of data blocks in a data-block-allocation units has been written;
when the means for determining a time or sequence for a particular data block does not provide time, sequence, or garbage-collected indication for a particular data block, associating the particular data block with a garbage-collected-timestamp state; and
during replication, migration, or reconfiguration of a current segment of data blocks to a new segment of data blocks, determining whether or not a data block has been written by determining from the status data structures whether or not a data-block-allocation unit containing the data block is written or unwritten.
-
Specification