Grouped-object RAID
First Claim
1. A grouped-object storage system, comprising:
- a plurality of physical objects;
a first predetermined number of stripes arranged across the plurality of physical objects, each stripe containing a second predetermined number of storage blocks, the second predetermined number of storage blocks in each stripe corresponding to a number of physical objects of the plurality of physical objects, one storage block of the second predetermined number of storage blocks in a stripe containing redundancy information for the stripe, the storage block containing redundancy information for a stripe and each other storage block of the stripe being mapped on to a respectively different physical object; and
a plurality of virtual objects, each virtual object containing between one and first predetermined number of storage blocks, a group of virtual objects being formed when a virtual object contains less than the first predetermined number of storage blocks by associating the virtual object with at least one of at least one virtual object containing less than the first predetermined number of storage blocks and at least one storage block containing zero values so that each group of virtual objects contains the first predetermined number of storage blocks, the storage blocks of each virtual object containing the predetermined number of storage blocks being mapped to a respectively different stripe, and the storage blocks of each group of virtual objects being mapped to a respectively different stripe.
1 Assignment
0 Petitions
Accused Products
Abstract
A RAID-configured grouped-object storage system provides reduced storage space overhead for small objects. The storage system includes a plurality stripes arranged across a plurality of physical objects. Each stripe includes a plurality of storage blocks that are each mapped on to a respectively different physical object. The storage system also includes a plurality of virtual objects each containing at least one storage block. A group of virtual objects is formed when a virtual object contains less storage blocks than the number of stripes by associating the virtual object with at least one virtual object containing less storage blocks than the number of stripes and/or at least one storage block containing zero values so that the storage blocks of each group of virtual objects equals the number of stripes. The storage blocks of each virtual object and of each group of virtual objects are mapped to a respectively different stripe.
-
Citations
20 Claims
-
1. A grouped-object storage system, comprising:
-
a plurality of physical objects; a first predetermined number of stripes arranged across the plurality of physical objects, each stripe containing a second predetermined number of storage blocks, the second predetermined number of storage blocks in each stripe corresponding to a number of physical objects of the plurality of physical objects, one storage block of the second predetermined number of storage blocks in a stripe containing redundancy information for the stripe, the storage block containing redundancy information for a stripe and each other storage block of the stripe being mapped on to a respectively different physical object; and a plurality of virtual objects, each virtual object containing between one and first predetermined number of storage blocks, a group of virtual objects being formed when a virtual object contains less than the first predetermined number of storage blocks by associating the virtual object with at least one of at least one virtual object containing less than the first predetermined number of storage blocks and at least one storage block containing zero values so that each group of virtual objects contains the first predetermined number of storage blocks, the storage blocks of each virtual object containing the predetermined number of storage blocks being mapped to a respectively different stripe, and the storage blocks of each group of virtual objects being mapped to a respectively different stripe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of forming a grouped-object storage system, the method comprising:
-
forming a plurality of physical objects; arranging a first predetermined number of stripes across the plurality of physical objects, each stripe containing a second predetermined number of storage blocks, the second predetermined number of storage blocks in each stripe corresponding to a number of physical objects of the plurality of physical objects, one storage block of the second predetermined number of storage blocks in a stripe containing redundancy information for the stripe, the storage block containing redundancy information for a stripe and each other storage block of the stripe being mapped on to a respectively different physical object; forming a plurality of virtual objects, each virtual object containing between one and first predetermined number of storage blocks; forming a group of virtual objects when a virtual object contains less than the first predetermined number of storage blocks by associating the virtual object with at least one of at least one virtual object containing less than the first predetermined number of storage blocks and at least one storage block containing zero values so that each group of virtual objects contains the first predetermined number of storage blocks; mapping the storage blocks of each virtual object containing the predetermined number of storage blocks to a respectively different stripe; and mapping the storage blocks of each group of virtual objects to a respectively different stripe. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification