Self-describing data blocks of a minimum atomic write size for a data store
First Claim
1. A method, comprising:
- a storage node of a distributed storage service, comprising;
at least one persistent data storage device, comprising a plurality of data blocks equivalent to a minimum atomic write size of the at least one persistent storage device;
a storage manager implementing a data store, configured to;
access a data block of the plurality of data blocks as part of an operation utilizing data blocks assigned to a particular purpose, and wherein the access comprises;
read metadata stored in the data block, wherein the metadata was stored along with other contents of the data block within an individual atomic write operation to the data block by the at least one persistent storage device;
evaluate the metadata to determine that the data block is not erroneous and that an assigned purpose for the data block indicated by the metadata matches the particular purpose; and
in response to the determination that the data block is not erroneous and that the assigned purpose for the data block matches the particular purpose, include the data block as part of the operation.
0 Assignments
0 Petitions
Accused Products
Abstract
Self-describing data blocks of a minimum atomic write size may be stored for a data store. Data may be received for storage in a data block of a plurality of data blocks at a persistent storage device that are equivalent to a minimum atomic write size for the persistent storage device. Metadata may be generated for the data that includes an error detection code which is generated for the data and the metadata together. The data and the metadata are sent to the persistent storage device to store together in the data block. An individual atomic write operation may write together the data and the metadata in the data block. When accessed, the error detection code is applicable to detect errors. The metadata may also be applicable to determine whether the data is stored for a currently assigned purpose or a previously assigned purpose of the data block.
-
Citations
20 Claims
-
1. A method, comprising:
a storage node of a distributed storage service, comprising; at least one persistent data storage device, comprising a plurality of data blocks equivalent to a minimum atomic write size of the at least one persistent storage device; a storage manager implementing a data store, configured to; access a data block of the plurality of data blocks as part of an operation utilizing data blocks assigned to a particular purpose, and wherein the access comprises; read metadata stored in the data block, wherein the metadata was stored along with other contents of the data block within an individual atomic write operation to the data block by the at least one persistent storage device; evaluate the metadata to determine that the data block is not erroneous and that an assigned purpose for the data block indicated by the metadata matches the particular purpose; and in response to the determination that the data block is not erroneous and that the assigned purpose for the data block matches the particular purpose, include the data block as part of the operation. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A method, comprising:
performing, by one or more computing devices; accessing a data block of the plurality of data blocks as part of an operation utilizing data blocks assigned to a particular purpose, wherein the plurality of data blocks are implemented as part of a persistent data store comprising at least one persistent storage device, and wherein the accessing comprises; reading metadata stored in the data block, wherein the metadata was stored along with other contents of the data block within an individual atomic write operation to the data block by the at least one persistent storage device; evaluating the metadata to determine that the data block is not erroneous and that an assigned purpose for the data block indicated by the metadata matches the particular purpose; and in response to determining that the data block is not erroneous and that an assigned purpose for the data block matches the particular purpose, including the data block as part of the operation. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
accessing a data block of the plurality of data blocks as part of an operation utilizing data blocks assigned to a particular purpose, wherein the plurality of data blocks are implemented as part of a persistent data store comprising at least one persistent storage device, and wherein the accessing comprises; reading metadata stored in the data block, wherein the metadata was stored along with other contents of the data block within an individual atomic write operation to the data block by the at least one persistent storage device; evaluating the metadata to determine that the data block is not erroneous and that an assigned purpose for the data block indicated by the metadata matches the particular purpose; and in response to determining that that the data block is not erroneous and that an assigned purpose for the data block matches the particular purpose, including the data block as part of the operation. - View Dependent Claims (15, 16, 17, 18, 19, 20)
Specification