Data management in RAID environment
First Claim
1. A data storage system, comprising:
- a plurality of Data Storage Devices (DSDs) having a total storage capacity available for storing user data among the plurality of DSDs with each DSD of the plurality of DSDs having a DSD storage capacity that contributes to the total storage capacity of the plurality of DSDs; and
a controller configured to;
in response to one of the plurality of DSDs being replaced by a replacement DSD having a DSD storage capacity greater than the DSD storage capacity of the replaced DSD;
assign a new strip size to each DSD of the plurality of DSDs including the replacement DSD based at least in part on a portion of a new total storage capacity for the plurality of DSDs that is contributed by the DSD storage capacity of the respective DSD;
receive data for storage in a new data stripe; and
store the new data stripe across the plurality of DSDs including the replacement DSD such that each DSD stores a different portion of the new data stripe having the new strip size assigned to the DSD.
8 Assignments
0 Petitions
Accused Products
Abstract
A data storage system includes a plurality of Data Storage Devices (DSDs) that each includes at least one disk for storing data. Data is received for storage in a data stripe across the plurality of DSDs with each DSD of the plurality of DSDs storing a different portion of the data stripe. A strip size is determined for each portion of the data stripe based on a radial location where the portion of the data stripe will be stored on the at least one disk of its respective DSD. The data stripe is stored across the plurality of DSDs with each portion of the data stripe arranged in a radial location on the at least one disk of its respective DSD so that, when the data stripe is accessed, the radial locations of access in the plurality of DSDs progress in the same radial direction.
448 Citations
23 Claims
-
1. A data storage system, comprising:
-
a plurality of Data Storage Devices (DSDs) having a total storage capacity available for storing user data among the plurality of DSDs with each DSD of the plurality of DSDs having a DSD storage capacity that contributes to the total storage capacity of the plurality of DSDs; and a controller configured to; in response to one of the plurality of DSDs being replaced by a replacement DSD having a DSD storage capacity greater than the DSD storage capacity of the replaced DSD; assign a new strip size to each DSD of the plurality of DSDs including the replacement DSD based at least in part on a portion of a new total storage capacity for the plurality of DSDs that is contributed by the DSD storage capacity of the respective DSD; receive data for storage in a new data stripe; and store the new data stripe across the plurality of DSDs including the replacement DSD such that each DSD stores a different portion of the new data stripe having the new strip size assigned to the DSD. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of operating a data storage system including a plurality of Data Storage Devices (DSDs) having a total storage capacity available for storing user data among the plurality of DSDs with each DSD of the plurality of DSDs having a DSD storage capacity that contributes to the total storage capacity of the plurality of DSDs, the method comprising:
in response to one of the plurality of DSDs being replaced by a replacement DSD having a DSD storage capacity greater than the DSD storage capacity of the replaced DSD; assigning a new strip size to each DSD of the plurality of DSDs including the replacement DSD based at least in part on a portion of a new total storage capacity for the plurality of DSDs that is contributed by the DSD storage capacity of the respective DSD; receiving data for storage in a new data stripe; and storing the new data stripe across the plurality of DSDs including the replacement DSD such that each DSD stores a different portion of the new data stripe having the new strip size assigned to the DSD. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
17. A controller for a data storage system including a plurality of Data Storage Devices (DSDs) having a total storage capacity available for storing user data among the plurality of DSDs with each DSD of the plurality of DSDs having a DSD storage capacity that contributes to the total storage capacity of the plurality of DSDs, the controller comprising:
-
an interface for communicating with the plurality of DSDs; and a processor configured to; in response to one of the plurality of DSDs being replaced by a replacement DSD having a DSD storage capacity greater than the DSD storage capacity of the replaced DSD; assign a new strip size to each DSD of the plurality of DSDs including the replacement DSD based at least in part on a portion of a new total storage capacity for the plurality of DSDs that is contributed by the DSD storage capacity of the respective DSD; receive data for storage in a new data stripe across the plurality of DSDs; and store the new data stripe across the plurality of DSDs including the replacement DSD such that each DSD stores a different portion of the new data stripe having the new strip size assigned to the DSD.
-
-
18. A data storage system, comprising:
-
a plurality of Data Storage Devices (DSDs) having a total storage capacity available for storing user data among the plurality of DSDs with each DSD of the plurality of DSDs having a DSD storage capacity that contributes to the total storage capacity of the plurality of DSDs; and a controller configured to; store a plurality of data stripes across the plurality of DSDs; and in response to one of the plurality of DSDs being replaced by a replacement DSD having a DSD storage capacity less than the DSD storage capacity of the replaced DSD; determine a difference between the DSD storage capacity of the replaced DSD and the DSD storage capacity of the replacement DSD, wherein the total storage capacity is reduced to a total replacement storage capacity for storing user data among the plurality of DSDs other than the replaced DSD and the replacement DSD; identify incomplete data stripes of the plurality of data stripes that would be incomplete due to the smaller DSD storage capacity of the replacement DSD; assign a replacement strip size for the incomplete data stripes to each DSD of the plurality of DSDs other than the replaced DSD and the replacement DSD, wherein the replacement strip size is based at least in part on a portion of the total replacement storage capacity that is contributed by the DSD storage capacity of the respective DSD; and store the incomplete data stripes across the plurality of DSDs other than the replaced DSD and the replacement DSD such that for each incomplete data stripe, each DSD stores a different replacement portion of the incomplete data stripe having the replacement strip size assigned to the DSD. - View Dependent Claims (19)
-
-
20. A method of operating a data storage system including a plurality of Data Storage Devices (DSDs) having a total storage capacity available for storing user data among the plurality of DSDs with each DSD of the plurality of DSDs having a DSD storage capacity that contributes to the total storage capacity of the plurality of DSDs, the method comprising:
-
storing a plurality of data stripes across the plurality of DSDs; and in response to one of the plurality of DSDs being replaced by a replacement DSD having a DSD storage capacity less than the DSD storage capacity of the replaced DSD; determining a difference between the DSD storage capacity of the replaced DSD and the DSD storage capacity of the replacement DSD, wherein the total storage capacity is reduced to a total replacement storage capacity for storing user data among the plurality of DSDs other than the replaced DSD and the replacement DSD; identifying incomplete data stripes of the plurality of data stripes that would be incomplete due to the smaller DSD storage capacity of the replacement DSD; assigning a replacement strip size for the incomplete data stripes to each DSD of the plurality of DSDs other than the replaced DSD and the replacement DSD, wherein the replacement strip size is based at least in part on a portion of the total replacement storage capacity that is contributed by the DSD storage capacity of the respective DSD; and storing the incomplete data stripes across the plurality of DSDs other than the replaced DSD and the replacement DSD such that for each incomplete data stripe, each DSD stores a different replacement portion of the incomplete data stripe having the replacement strip size assigned to the DSD. - View Dependent Claims (21)
-
-
22. A controller for a data storage system including a plurality of Data Storage Devices (DSDs) having a total storage capacity available for storing user data among the plurality of DSDs with each DSD of the plurality of DSDs having a DSD storage capacity that contributes to the total storage capacity of the plurality of DSDs, the controller comprising:
-
an interface for communicating with the plurality of DSDs; and a processor configured to; store a plurality of data stripes across the plurality of DSDs; and in response to one of the plurality of DSDs being replaced by a replacement DSD having a DSD storage capacity less than the DSD storage capacity of the replaced DSD; determine a difference between the DSD storage capacity of the replaced DSD and the DSD storage capacity of the replacement DSD, wherein the total storage capacity is reduced to a total replacement storage capacity for storing user data among the plurality of DSDs other than the replaced DSD and the replacement DSD; identify incomplete data stripes of the plurality of data stripes that would be incomplete due to the smaller DSD storage capacity of the replacement DSD; assign a replacement strip size for the incomplete data stripes to each DSD of the plurality of DSDs other than the replaced DSD and the replacement DSD, wherein the replacement strip size is based at least in part on a portion of the total replacement storage capacity that is contributed by the DSD storage capacity of the respective DSD; and store the incomplete data stripes across the plurality of DSDs other than the replaced DSD and the replacement DSD such that for each incomplete data stripe, each DSD stores a different replacement portion of the incomplete data stripe having the replacement strip size assigned to the DSD. - View Dependent Claims (23)
-
Specification