Distributed multi-level protection in a hyper-converged infrastructure
Abstract
A storage controller of a data storage subsystem including a plurality of storage devices in a redundant array of independent drives (RAID) configuration writes a first RAID stripe to the plurality of storage devices. Writing the first 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 checksums that validate the user data stored on storage devices of the subset of the plurality of storage devices and writing, within a page of a particular storage device of the plurality of storage devices inter-device redundancy data, intra-page error recovery data, and inter-page protection data.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer system comprising:
a data storage subsystem comprising a plurality of storage devices in a redundant array of independent drives (RAID) configuration; and a storage controller 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 checksums that validate the user data stored on storage devices of the subset of the plurality of storage devices; and
writing, within a page of a particular storage device of the plurality of storage devices:
inter-device redundancy data, the inter-device redundancy data to protect the user data stored on each storage device of a first subset of the plurality of storage devices,
intra-page error recovery data, the intra-page error recovery data is generated from the inter-device redundancy data stored on the particular storage device, and
inter-page protection data, the inter-page protection data is generated from the checksums stored on the storage devices of the subset of the plurality of storage devices.
2 . The computer system of claim 1 , wherein the storage controller is further to write a second RAID stripe to a second subset of the plurality of storage devices, the first RAID stripe having a first RAID layout and the second RAID stripe having a second RAID layout.
3 . The computer system of claim 2 , wherein the first RAID layout is an L+x layout, and the second RAID layout is an M+y layout, wherein L, x, M, and, y are positive integers, and wherein at least one of: (1) L is not equal to M, or (2) x is not equal to y.
4 . The computer system of claim 2 , wherein the first RAID layout is selected from a first device group and the second RAID layout is selected from a second device group.
5 . The computer system of claim 1 , wherein the plurality of storage devices are solid state storage devices.
6 . The computer system of claim 1 , wherein the plurality of storage devices comprise flash memory cells.
7 . The computer system of claim 1 , wherein the computer system is a flash memory based system.
8 . A method, comprising:
writing, by a storage controller of a data storage subsystem comprising a plurality of storage devices in a redundant array of independent drives (RAID) configuration, a first RAID stripe to the plurality of storage devices, wherein writing the first RAID stripe comprises:
for each storage device of a subset of the plurality of storage devices, writing within a page of the storage device, user data, and checksums that validate the user data stored on storage devices of the subset of the plurality of storage devices; and
writing, within a page of a particular storage device of the plurality of storage devices:
inter-device redundancy data, the inter-device redundancy data to protect the user data stored on each storage device of a first subset of the plurality of storage devices,
intra-page error recovery data, the intra-page error recovery data is generated from the inter-device protection data stored on the particular storage device, and
inter-page protection data, the inter-page protection data is generated from the checksums stored on the storage devices of the subset of the plurality of storage devices.
9 . The method of claim 8 , further comprising writing a second RAID stripe to a second subset of the plurality of storage devices, the first RAID stripe having a first RAID layout and the second RAID stripe having a second RAID layout.
10 . The method of claim 9 , wherein the first RAID layout is an L+x layout, and the second RAID layout is an M+y layout, wherein L, x, M, and, y are positive integers, and wherein at least one of: (1) L is not equal to M, or (2) x is not equal to y.
11 . The method of claim 9 , wherein the first RAID layout is selected from a first device group and the second RAID layout is selected from a second device group.
12 . The method of claim 8 , wherein the plurality of storage devices are solid state storage devices.
13 . The method of claim 8 , wherein the plurality of storage devices comprise flash memory cells.
14 . The method of claim 8 , wherein the data storage subsystem is a flash memory based system.
15 . A non-transitory computer-readable storage medium comprising instructions which, when executed by a processor of a storage controller, cause the processor to:
write, by the storage controller of a data storage subsystem comprising a plurality of storage devices in a redundant array of independent drives (RAID) configuration, a first RAID stripe to the plurality of storage devices, wherein writing the first RAID stripe comprises:
for each storage device of a subset of the plurality of storage devices, write within a page of the storage device, user data, and checksums that validate the user data stored on storage devices of the subset of the plurality of storage devices; and
write, within a page of a particular storage device of the plurality of storage devices:
inter-device redundancy data, the inter-device redundancy data to protect the user data stored on each storage device of a first subset of the plurality of storage devices,
intra-page error recovery data, the intra-page error recovery data is generated from the inter-device protection data stored on the particular storage device, and
inter-page protection data, the inter-page protection data is generated from the checksums stored on the storage devices of the subset of the plurality of storage devices.
16 . The non-transitory computer-readable storage medium of claim 15 , wherein the storage controller is further to write a second RAID stripe to a second subset of the plurality of storage devices, the first RAID stripe having a first RAID layout and the second RAID stripe having a second RAID layout.
17 . The non-transitory computer-readable storage medium of claim 16 , wherein the first RAID layout is an L+x layout, and the second RAID layout is an M+y layout, wherein L, x, M, and, y are positive integers, and wherein at least one of: (1) L is not equal to M, or (2) x is not equal to y.
18 . The non-transitory computer-readable storage medium of claim 16 , wherein the first RAID layout is selected from a first device group and the second RAID layout is selected from a second device group.
19 . The non-transitory computer-readable storage medium of claim 15 , wherein the plurality of storage devices are solid state storage devices.
20 . The non-transitory computer-readable storage medium of claim 15 , wherein the plurality of storage devices comprise flash memory cells.Join the waitlist — get patent alerts
Track US2021173741A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.