Data storage system employing a hot spare to store and service accesses to data having lower associated wear
First Claim
1. A method in a data storage system including a controller, a spare storage device and a plurality of primary storage devices, the method comprising:
- storing a data storage array distributed across the plurality of primary storage devices, wherein each of the plurality of primary storage devices and the spare storage device contains a plurality of blocks of physical storage;
the controller monitoring access frequencies of address ranges mapped to the data storage array;
based on the monitoring, the controller identifying frequently accessed address ranges that are read more often than written;
in response to the identifying, the controller initiating copying of a dataset associated with the identified address ranges from the data storage array onto the spare storage device while refraining from copying other data from the data storage array onto the spare storage device;
the controller directing read input/output operations (IOPs) targeting the identified address ranges to be serviced by access to the spare storage device;
the controller resizing the dataset based on at least one of a set including a number of pending IOPs to be serviced by the spare storage device and a response time of an IOP serviced by accessing the spare storage device; and
in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges.
1 Assignment
0 Petitions
Accused Products
Abstract
A controller monitors access frequencies of address ranges mapped to a data storage array. Based on the monitoring, the controller identifies frequently accessed ones of the address ranges that have lower associated wear, for example, those that are read more often than written. In response to the identifying, the controller initiates copying of a dataset associated with the identified address ranges from the data storage array to a spare storage device while refraining from copying other data from the data storage array onto the spare storage device. The controller directs read input/output operations (IOPs) targeting the identified address ranges to be serviced by access to the spare storage device. In response to a failure of a failed storage device among the plurality of primary storage devices, the controller rebuilds contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges.
44 Citations
22 Claims
-
1. A method in a data storage system including a controller, a spare storage device and a plurality of primary storage devices, the method comprising:
-
storing a data storage array distributed across the plurality of primary storage devices, wherein each of the plurality of primary storage devices and the spare storage device contains a plurality of blocks of physical storage; the controller monitoring access frequencies of address ranges mapped to the data storage array; based on the monitoring, the controller identifying frequently accessed address ranges that are read more often than written; in response to the identifying, the controller initiating copying of a dataset associated with the identified address ranges from the data storage array onto the spare storage device while refraining from copying other data from the data storage array onto the spare storage device; the controller directing read input/output operations (IOPs) targeting the identified address ranges to be serviced by access to the spare storage device; the controller resizing the dataset based on at least one of a set including a number of pending IOPs to be serviced by the spare storage device and a response time of an IOP serviced by accessing the spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method in a data storage system including a controller, a spare storage device and a plurality of primary storage devices, the method comprising:
-
storing a data storage array distributed across the plurality of primary storage devices, wherein each of the plurality of primary storage devices and the spare storage device contains a plurality of blocks of physical storage; the controller monitoring access frequencies of address ranges mapped to the data storage array; based on the monitoring, the controller identifying frequently accessed address ranges that are read more often than written; in response to the identifying, the controller initiating copying of a dataset associated with the identified address ranges from the data storage array onto the spare storage device while refraining from copying other data from the data storage array onto the spare storage device; the controller directing read input/output operations (IOPs) targeting the identified address ranges to be serviced by access to the spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges, wherein the rebuilding includes; initiating an invalidate and erasure process to invalidate all entries no longer to be used and erase blocks no longer valid from the spare storage device; and during the erasure process, the controller directing servicing of an IOP targeting data in the dataset by reference to the spare storage device.
-
-
8. A data storage system, comprising:
a controller configured to be coupled to a spare storage device and to a plurality of primary storage devices across which a data storage array is distributed, wherein each of the plurality of primary storage devices and the spare storage device contains a plurality of blocks of physical storage, and wherein the controller is configured to perform; the controller monitoring access frequencies of address ranges mapped to the data storage array; based on the monitoring, the controller identifying frequently accessed address ranges that are read more often than written; in response to the identifying, the controller initiating copying of a dataset associated with the identified address ranges from the data storage array onto the spare storage device while refraining from copying other data from the data storage array onto the spare storage device; the controller directing read input/output operations (IOPs) targeting the identified address ranges to be serviced by access to the spare storage device; the controller resizing the dataset based on at least one of a set including a number of pending IOPs to be serviced by the spare storage device and a response time of an IOP serviced by accessing the spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A data storage system, comprising:
a controller configured to be coupled to a spare storage device and to a plurality of primary storage devices across which a data storage array is distributed, wherein each of the plurality of primary storage devices and the spare storage device contains a plurality of blocks of physical storage, and wherein the controller is configured to perform; the controller monitoring access frequencies of address ranges mapped to the data storage array; based on the monitoring, the controller identifying frequently accessed address ranges that are read more often than written; in response to the identifying, the controller initiating copying of a dataset associated with the identified address ranges from the data storage array onto the spare storage device while refraining from copying other data from the data storage array onto the spare storage device; the controller directing read input/output operations (IOPs) targeting the identified address ranges to be serviced by access to the spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges, wherein the rebuilding includes; initiating an invalidate and erasure process to invalidate all entries no longer to be used and erase blocks no longer valid from the spare storage device; and during the erasure process, the controller directing servicing of an IOP targeting data in the dataset by reference to the spare storage device.
-
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 spare storage device and to a plurality of primary storage devices across which a data storage array is distributed, causes the controller to perform; the controller monitoring access frequencies of address ranges mapped to the data storage array; based on the monitoring, the controller identifying frequently accessed address ranges that are read more often than written; in response to the identifying, the controller initiating copying of a dataset associated with the identified address ranges from the data storage array onto the spare storage device while refraining from copying other data from the data storage array onto the spare storage device; the controller directing read input/output operations (IOPs) targeting the identified address ranges to be serviced by access to the spare storage device; the controller resizing the dataset based on at least one of a set including a number of pending IOPs to be serviced by the spare storage device and a response time of an IOP serviced by accessing the spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. 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 spare storage device and to a plurality of primary storage devices across which a data storage array is distributed, causes the controller to perform; the controller monitoring access frequencies of address ranges mapped to the data storage array; based on the monitoring, the controller identifying frequently accessed address ranges that are read more often than written; in response to the identifying, the controller initiating copying of a dataset associated with the identified address ranges from the data storage array onto the spare storage device while refraining from copying other data from the data storage array onto the spare storage device; the controller directing read input/output operations (IOPs) targeting the identified address ranges to be serviced by access to the spare storage device; and in response to a failure of a failed storage device among the plurality of primary storage devices, rebuilding contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges, wherein the rebuilding includes; initiating an invalidate and erasure process to invalidate all entries no longer to be used and erase blocks no longer valid from the spare storage device; and during the erasure process, the controller directing servicing of an IOP targeting data in the dataset by reference to the spare storage device.
-
Specification