Efficient storage of variably-sized data objects in a data store
First Claim
1. A system, 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 write size of the at least one persistent storage device;
a storage node management module, configured to;
receive a data object for storage at the storage node;
divide the data object into one or more equally-sized portions and a remainder, wherein each of the one or more equally-sized portions equal the minimum write size of the at least one persistent data storage device;
store each of the one or more equally-sized portions of the data object in a respective data block of the plurality of data blocks in a fixed-size data storage area on the persistent data storage device; and
store the remainder of the data object in a variably-sized data storage area on the persistent data storage device, wherein the remainder is linked to the one or more data blocks storing the one or more equally-sized portions of the data object, wherein the variably-sized data storage area stores a plurality of other data portions, wherein at least some of the other data portions are stored together with the remainder in a same data block of the plurality of data blocks in the variably-sized data storage area.
1 Assignment
0 Petitions
Accused Products
Abstract
Variably-sized data objects may be received for storage at a data store. The data store may have a minimum write size. In various embodiments, received data objects may be divided into one or more equally-sized portions that equal the minimum write size of the data store and a remainder of the data object. The one or more equally-sized portions of the data object may be stored in data blocks that are equivalent to the minimum write size of the data store in a fixed-size data storage area of the data store. The remainder of the data object may be stored in a variably-sized data storage area of the data store along with one or more other data portions in a same data block. The remainder of the data object may, in some embodiments, be linked to the one or more equally-sized portions of the data object.
-
Citations
20 Claims
-
1. A system, 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 write size of the at least one persistent storage device; a storage node management module, configured to; receive a data object for storage at the storage node; divide the data object into one or more equally-sized portions and a remainder, wherein each of the one or more equally-sized portions equal the minimum write size of the at least one persistent data storage device; store each of the one or more equally-sized portions of the data object in a respective data block of the plurality of data blocks in a fixed-size data storage area on the persistent data storage device; and store the remainder of the data object in a variably-sized data storage area on the persistent data storage device, wherein the remainder is linked to the one or more data blocks storing the one or more equally-sized portions of the data object, wherein the variably-sized data storage area stores a plurality of other data portions, wherein at least some of the other data portions are stored together with the remainder in a same data block of the plurality of data blocks in the variably-sized data storage area. - View Dependent Claims (2, 3, 4)
-
5. A method, comprising:
performing, by one or more computing devices; receiving a data object for storage in a data store, wherein said data store comprises a plurality of data blocks equivalent to a minimum write size for the data store; dividing the data object into one or more equally-sized portions and a remainder, wherein each of the one or more equally-sized data portions equal the minimum write size of the data store; storing each of the one or more equally-sized portions of the data object in a respective data block of the plurality of data blocks in a fixed-size data storage area in the data store; and storing the remainder of the data object in a variably-sized data storage area in the data store, wherein the remainder is linked to the one or more equally-sized portions of the data object stored in the fixed-size data storage area, wherein the variably-sized data storage area stores a plurality of other data portions, wherein at least some of the other data portions are stored together with the remainder in a same data block of the plurality of data blocks. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
15. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices implement:
-
receiving a data object for storage in a data store, wherein said data store comprises a plurality of data blocks equivalent to a minimum write size for the data store; dividing the data object into one or more equally-sized portions and a remainder, wherein each of the one or more equally-sized portions equal the minimum write size of the data store; storing each of the one or more equally-sized portions of the data object in a respective data block of the plurality of data blocks in a fixed-size data storage area in the data store; and storing the remainder of the data object in a variably-sized data storage area in the data store, wherein the remainder is linked to the one or more equally-sized portions of the data object stored in the fixed-size data storage area, wherein the variably-sized data storage area stores a plurality of other data portions, wherein at least some of the other data portions are stored together with the remainder in a same data block of the plurality of data blocks. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification