Method and apparatus for reconstructing data in object-based storage arrays
First Claim
1. A storage system for storing data as objects comprising:
- a plurality of storage devices; and
a disk controller for controlling said storage devices, wherein each of said objects includes attribute which defines attributes of the object and data, wherein said storage devices are configured to implement a Redundant Array of Inexpensive Disks (RAID) architecture, wherein each of said storage devices is formatted to include a plurality of stripes each having a predetermined length and at least one logical unit (LU) is formed by all or a portion of one or a plurality of said storage devices, wherein each object is stored on said LU such that an attribute of the object is stored in the head of a stripe and data of the object is stored just after the attribute, wherein when another object is to be stored, an attribute of the another object is stored at a head of the next stripe and data of the another object is stored just after the attribute in the next stripe, said stripe which includes attribute and data or data is referred to as a data stripe, and wherein according to the RAID architecture being implemented, parity data is calculated based on certain ones of the data stripes, said parity data is stored in a stripe of a storage device and such stripe is referred as a parity stripe.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for placing objects on a storage device of a storage system and reconstructing data of objects in the storage device. The storage system stores data as objects and implements a RAID architecture including a plurality of the storage devices, and a disk controller for processing Object-based Storage Device (OSD) commands. Each object includes data and attribute. Parity data is calculated for reconstructing an object upon occurrence of a storage device failure. Each storage device includes plural stripes each having a predetermined length. Each object is stored in a stripe wherein an attribute is stored in the head of the stripe and data is stored after the attribute. When the object size exceeds the stripe length, the remainder of the object is stored in the next stripe, and when another object is to be stored, an attribute is stored at a head of a further next stripe and data is stored just after the attribute.
-
Citations
35 Claims
-
1. A storage system for storing data as objects comprising:
-
a plurality of storage devices; and
a disk controller for controlling said storage devices, wherein each of said objects includes attribute which defines attributes of the object and data, wherein said storage devices are configured to implement a Redundant Array of Inexpensive Disks (RAID) architecture, wherein each of said storage devices is formatted to include a plurality of stripes each having a predetermined length and at least one logical unit (LU) is formed by all or a portion of one or a plurality of said storage devices, wherein each object is stored on said LU such that an attribute of the object is stored in the head of a stripe and data of the object is stored just after the attribute, wherein when another object is to be stored, an attribute of the another object is stored at a head of the next stripe and data of the another object is stored just after the attribute in the next stripe, said stripe which includes attribute and data or data is referred to as a data stripe, and wherein according to the RAID architecture being implemented, parity data is calculated based on certain ones of the data stripes, said parity data is stored in a stripe of a storage device and such stripe is referred as a parity stripe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A storage system for storing data as objects comprising:
-
a plurality of storage devices; and
a disk controller for controlling said storage devices, wherein each of said objects includes attribute which defines attributes of the object and data, wherein said storage devices are configured to implement a Redundant Arrays of Inexpensive Disks (RAID) architecture, wherein each of said storage devices is formatted to include a plurality of stripes each having a predetermined length and at least one logical unit (LU) is formed by all or a portion of one or a plurality of said storage devices, and wherein when one of said storage devices fails, a data reconstruction process is implemented such that data recovery is performed on each data stripe where an object or a part of said object is stored and each parity stripe where parity data is stored. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification