Intra-device data protection in a raid array
First Claim
1. A computer system comprising:
- a client computer configured to send read and write requests over a network;
a data storage subsystem coupled to the network configured to receive the read and write requests, the data storage subsystem comprising a plurality of storage devices;
wherein the data storage subsystem further comprises a storage controller configured to;
identify a unit of data stored in the data storage subsystem, wherein said unit of data is stored across at least a first storage device and a second storage device of the plurality of storage devices, each of the first storage device and the second storage device storing intra-device redundancy data corresponding to the unit of data; and
change an amount of intra-device redundancy data corresponding to the unit of data on only the first storage device;
wherein each of the first storage device and the second storage device further include a checksum for stored user data of the unit of data, and wherein in response to a read to at least a portion of the unit of data the storage controller is configured to;
utilize the checksum to validate corresponding read data; and
utilize intra-device redundancy data to rebuild the corresponding read data in response to detecting the checksum indicates the read data is not valid.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for intra-device data protection in a RAID array. 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 identify a unit of data stored in the data storage subsystem, wherein said unit of data is stored across at least a first storage device and a second storage device of the plurality of storage devices, each of the first storage device and the second storage device storing intra-device redundancy data corresponding to the unit of data; and change an amount of intra-device redundancy data corresponding to the unit of data on only the first storage device.
36 Citations
18 Claims
-
1. A computer system comprising:
-
a client computer configured to send read and write requests over a network; a data storage subsystem coupled to the network configured to receive the read and write requests, the data storage subsystem comprising a plurality of storage devices; wherein the data storage subsystem further comprises a storage controller configured to; identify a unit of data stored in the data storage subsystem, wherein said unit of data is stored across at least a first storage device and a second storage device of the plurality of storage devices, each of the first storage device and the second storage device storing intra-device redundancy data corresponding to the unit of data; and change an amount of intra-device redundancy data corresponding to the unit of data on only the first storage device; wherein each of the first storage device and the second storage device further include a checksum for stored user data of the unit of data, and wherein in response to a read to at least a portion of the unit of data the storage controller is configured to; utilize the checksum to validate corresponding read data; and utilize intra-device redundancy data to rebuild the corresponding read data in response to detecting the checksum indicates the read data is not valid. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for use in a computing system, the method comprising:
-
receiving read and write requests at a data storage subsystem, the data storage subsystem comprising a plurality of storage devices; identifying a unit of data stored in the data storage subsystem, wherein said unit of data is stored across at least a first storage device and a second storage device of the plurality of storage devices, each of the first storage device and the second storage device storing intra-device redundancy data corresponding to the unit of data; and changing an amount of intra-device redundancy data corresponding to the unit of data on only the first storage device; wherein each of the first storage device and the second storage device further include a checksum for stored user data of the unit of data, and wherein in response to a read to at least a portion of the unit of data the method further comprises; utilizing the checksum to validate corresponding read data; and utilizing intra-device redundancy data to rebuild the corresponding read data in response to detecting the checksum indicates the read data is not valid. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium storing program instructions, wherein said program instructions are executable to:
-
receive read and write requests at a data storage subsystem, the data storage subsystem comprising a plurality of storage devices; identify a unit of data stored in the data storage subsystem, wherein said unit of data is stored across at least a first storage device and a second storage device of the plurality of storage devices, each of the first storage device and the second storage device storing intra-device redundancy data corresponding to the unit of data; and change an amount of intra-device redundancy data corresponding to the unit of data on only the first storage device; wherein each of the first storage device and the second storage device further include a checksum for stored user data of the unit of data, and wherein in response to a read to at least a portion of the unit of data the program instructions are further executable to; utilize the checksum to validate corresponding read data; and utilize intra-device redundancy data to rebuild the corresponding read data in response to detecting the checksum indicates the read data is not valid. - View Dependent Claims (16, 17, 18)
-
Specification