Distributed multi-level protection in a raid array based storage system
First Claim
1. A computer system comprising:
- a data storage subsystem comprising a plurality of storage devices in a redundant array of independent disks (RAID) configuration; and
a storage controller configured to;
write a first RAID stripe to the plurality of storage devices including;
for each storage device of a subset of the plurality of storage devices, writing within a page of the storage device, user data and a checksum that validates the user data stored on the storage device;
writing within a page of a particular storage device of the plurality storage devices,inter-device protection data, the inter-device protection data protecting the user data stored on each storage device of the subset of the plurality of storage devices;
intra-page protection data, the intra-page protection data protecting the inter-device protection data stored on the particular storage device; and
inter-page protection data, the inter-page protection data protecting the checksums stored on each storage device of the subset of storage devices.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, when writing a stripe, the controller may select from any of the plurality of storage devices for one or more of the first RAID layout, the second RAID layout, and storage of redundant data by the additional logical device.
-
Citations
18 Claims
-
1. A computer system comprising:
-
a data storage subsystem comprising a plurality of storage devices in a redundant array of independent disks (RAID) configuration; and a storage controller configured to; write a first RAID stripe to the plurality of storage devices including; for each storage device of a subset of the plurality of storage devices, writing within a page of the storage device, user data and a checksum that validates the user data stored on the storage device; writing within a page of a particular storage device of the plurality storage devices, inter-device protection data, the inter-device protection data protecting the user data stored on each storage device of the subset of the plurality of storage devices; intra-page protection data, the intra-page protection data protecting the inter-device protection data stored on the particular storage device; and inter-page protection data, the inter-page protection data protecting the checksums stored on each storage device of the subset of storage devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for use in a computing system, the method comprising:
writing a RAID stripe to a plurality of storage devices in a redundant array of independent disks (RAID) configuration, wherein writing the RAID stripe includes; for each storage device of a subset of the plurality of storage devices, writing within a page of the storage device, user data and a checksum that validates the user data stored on the storage device; writing within a page of a particular storage device of the plurality storage devices, inter-device protection data, the inter-device protection data protecting the user data stored on each storage device of the subset of the plurality of storage devices; intra-page protection data, the intra-page protection data protecting the inter-device protection data stored on the particular storage device; and inter-page protection data, the inter-page protection data protecting the checksums stored on each storage device of the subset of storage devices. - View Dependent Claims (10, 11, 12, 13, 14)
-
15. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable to:
write a RAID stripe to a plurality of storage devices in a redundant array of independent disks (RAID) configuration, wherein writing the RAID stripe includes; for each storage device of a subset of the plurality of storage devices, writing within a page of the storage device, user data and a checksum that validates the user data stored on the storage device; writing within a page of a particular storage device of the plurality storage devices, inter-device protection data, the inter-device protection data protecting the user data stored on each storage device of the subset of the plurality of storage devices; intra-page protection data, the intra-page protection data protecting the inter-device protection data stored on the particular storage device; and inter-page protection data, the inter-page protection data protecting the checksums stored on each storage device of the subset of storage devices. - View Dependent Claims (16, 17, 18)
Specification