Data storage system employing a hot spare to proactively store array data in absence of a failure or pre-failure event
First Claim
1. A method in a data storage system including a controller, a hot spare storage device and a plurality of primary storage devices across which a data storage array is striped, the method comprising:
- the controller controlling storage of data on the hot spare storage device such that the hot spare storage device mirrors only a subset of each data stripe written across the primary storage devices, wherein the controller is configured by a write input/output operation (IOP) policy to dynamically determine the subset, and wherein the write IOP policy has a first setting that configures the controller to select a coldest subset of each data stripe having the lowest relative write frequency;
in response to receipt of a write IOP of a host while the controller is configured by the first setting of the write IOP policy, the controller;
writing a particular data stripe including a plurality of logical data pages and a logical data protection page across the plurality of primary storage devices;
determining, in accordance with the first setting of the IOP policy, the coldest subset of the particular data stripe; and
mirroring the coldest subset from the particular data stripe onto the hot spare storage device; and
in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding, on the hot spare storage device, contents of the failed storage device not already mirrored on the hot spare storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A data storage system includes a controller, a hot spare storage device and a plurality of primary storage devices. The controller utilizes the hot spare storage device to mirror only a subset of each stripe of logical pages written across the data storage array, where the subset includes a logical page determined by a write input/output operation (IOP) policy. In response to receipt of a write IOP, the controller writes a stripe including a plurality of logical data pages and a logical data protection page across the plurality of primary storage devices and mirrors the logical page determined by the write IOP policy on the hot spare storage device. In response to a failure of a storage device among the plurality of primary storage devices, contents of the failed storage device not already mirrored on the hot spare storage device are rebuilt on the hot spare storage device.
24 Citations
20 Claims
-
1. A method in a data storage system including a controller, a hot spare storage device and a plurality of primary storage devices across which a data storage array is striped, the method comprising:
-
the controller controlling storage of data on the hot spare storage device such that the hot spare storage device mirrors only a subset of each data stripe written across the primary storage devices, wherein the controller is configured by a write input/output operation (IOP) policy to dynamically determine the subset, and wherein the write IOP policy has a first setting that configures the controller to select a coldest subset of each data stripe having the lowest relative write frequency; in response to receipt of a write IOP of a host while the controller is configured by the first setting of the write IOP policy, the controller; writing a particular data stripe including a plurality of logical data pages and a logical data protection page across the plurality of primary storage devices; determining, in accordance with the first setting of the IOP policy, the coldest subset of the particular data stripe; and mirroring the coldest subset from the particular data stripe onto the hot spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding, on the hot spare storage device, contents of the failed storage device not already mirrored on the hot spare storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data storage system, comprising:
a controller configured to be coupled to a hot spare storage device and to a plurality of primary storage devices across which a data storage array is striped, wherein the controller is configured to perform; the controller controlling data storage on the hot spare storage device such that the hot spare storage device mirrors only a subset of each stripe of logical pages written across the data storage array, wherein the controller is configured by a write input/output operation (IOP) policy to dynamically determine the subset, and wherein the write IOP policy has a first setting that configures the controller to select a coldest subset of each data stripe having the lowest relative write frequency; in response to receipt of a write IOP of a host while the controller is configured by the first setting of the write IOP policy, the controller; writing a particular data stripe including a plurality of logical data pages and a logical data protection page across the plurality of primary storage devices; determining, in accordance with the first setting of the IOP policy, the coldest subset of the particular data stripe; and mirroring the coldest subset logical page from the particular data stripe determined by the write IOP policy on the hot spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding, on the hot spare storage device, contents of the failed storage device not already mirrored on the hot spare storage device. - View Dependent Claims (11, 12, 13, 14, 15)
-
16. A program product, comprising:
-
a storage device; and program code stored in the storage device, wherein the program code, when executed by a controller configured to be coupled to a hot spare storage device and to a plurality of primary storage devices across which a data storage array is striped, causes the controller to perform; controlling data storage on the hot spare storage device such that the hot spare storage device mirrors only a subset of each stripe of logical pages written across the data storage array, wherein the controller is configured by a write input/output operation (IOP) policy to dynamically determine the subset, and wherein the write IOP policy has a first setting that configures the controller to select a coldest subset of each data stripe having the lowest relative write frequency; in response to receipt of a write IOP of a host while the controller is configured by the first setting of the write IOP policy, the controller; writing a particular data stripe including a plurality of logical data pages and a logical data protection page across the plurality of primary storage devices; determining, in accordance with the first setting of the IOP policy, the coldest subset of the particular data stripe; and mirroring the coldest subset from the particular data stripe on the hot spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding, on the hot spare storage device, contents of the failed storage device not already mirrored on the hot spare storage device. - View Dependent Claims (17, 18, 19, 20)
-
Specification