System and method for storing very large key value objects
First Claim
1. A data storage system comprising:
- a plurality of data storage devices for storing a plurality of objects of a key-value pair; and
a virtual storage layer that manages device drivers for controlling the plurality of data storage devices and applies different data reliability schemes including a data replication scheme and an erasure coding scheme based on a size of an object of the plurality of objects,wherein the plurality of objects includes a first object having a first size and a second object having a second size that is larger than the first size,wherein the virtual storage layer classifies the first object as a small object, applies the data replication scheme, and stores the small object across one or more of the plurality of data storage devices, andwherein the virtual storage layer classifies the second object as a huge object, splits the huge object into one or more chunks of a same size, applies the erasure encoding scheme, and distributedly stores the one or more chunks across the plurality of data storage devices, andwherein the virtual storage layer provides a virtual storage unit to an application running on a host computer by grouping one or more data storage devices among the plurality of data storage devices based on classification of the plurality of objects.
1 Assignment
0 Petitions
Accused Products
Abstract
A data storage system includes: a plurality of data storage devices for storing a plurality of objects of a key-value pair; and a virtual storage layer that applies different data reliability schemes including a data replication scheme and an erasure coding scheme based on a size of an object of the plurality of objects. The plurality of objects includes a first object having a first size and a second object having a second size that is larger than the first size. The virtual storage layer classifies the first object as a small object, applies the data replication scheme, and stores the small object across one or more of the plurality of data storage devices. The virtual storage layer classifies the second object as a huge object, splits the huge object into one or more chunks of a same size, applies the erasure encoding scheme, and distributedly stores the one or more chunks across the plurality of data storage devices.
-
Citations
20 Claims
-
1. A data storage system comprising:
-
a plurality of data storage devices for storing a plurality of objects of a key-value pair; and a virtual storage layer that manages device drivers for controlling the plurality of data storage devices and applies different data reliability schemes including a data replication scheme and an erasure coding scheme based on a size of an object of the plurality of objects, wherein the plurality of objects includes a first object having a first size and a second object having a second size that is larger than the first size, wherein the virtual storage layer classifies the first object as a small object, applies the data replication scheme, and stores the small object across one or more of the plurality of data storage devices, and wherein the virtual storage layer classifies the second object as a huge object, splits the huge object into one or more chunks of a same size, applies the erasure encoding scheme, and distributedly stores the one or more chunks across the plurality of data storage devices, and wherein the virtual storage layer provides a virtual storage unit to an application running on a host computer by grouping one or more data storage devices among the plurality of data storage devices based on classification of the plurality of objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for writing an object of a key-value pair, the method comprising:
-
receiving a plurality of objects of a key-value pair, wherein the plurality of objects includes a first object having a first size and a second object having a second size that is larger than the first size; classifying the first object as a small object; applying a data replication scheme on the small object; storing the small object across one or more of a plurality of data storage devices; classifying the second object as a huge object; splitting the huge object into one or more chunks of a same size; applying an erasure coding scheme on the huge object; and distributedly storing the one or more chunks across the plurality of data storage devices. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification