Storage array employing scrubbing operations at the disk-controller level
First Claim
Patent Images
1. A storage system comprising:
- a storage array controller; and
a storage array coupled to the storage array controller and comprising;
a plurality of disk drives; and
a plurality of disk drive controllers, wherein each disk drive controller is configured to control one or more of the disk drives;
wherein the storage array controller is configured to control accesses to data within the storage array;
wherein the storage array controller is further configured to issue a first scrubbing operation command to a first disk drive controller;
wherein the first disk drive controller is configured to receive the first scrubbing operation command from the storage array controller and, in response to receiving the first scrubbing operation command, to read data from within a data range from at least one of the disk drives, to calculate a new checksum for the data, and to compare the new checksum to a preexisting checksum for the data; and
wherein if the new checksum differs from the preexisting checksum, the first disk drive controller is further configured to respond to the first scrubbing operation command by indicating that the data within the data range is erroneous.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage system comprises a storage array controller and a storage array, which includes multiple disk drives and disk drive controllers. The storage array controller issues scrubbing operation commands to one or more of the disk drive controllers. In response, each disk drive controller that receives a scrubbing operation command reads data from within a data range from at least one of the disk drives, calculates a new checksum for the data, and compares the new checksum to a preexisting checksum for the data. If the new checksum doesn'"'"'t equal the preexisting checksum, the data within the data range is determined to be erroneous.
-
Citations
54 Claims
-
1. A storage system comprising:
-
a storage array controller; and
a storage array coupled to the storage array controller and comprising;
a plurality of disk drives; and
a plurality of disk drive controllers, wherein each disk drive controller is configured to control one or more of the disk drives;
wherein the storage array controller is configured to control accesses to data within the storage array;
wherein the storage array controller is further configured to issue a first scrubbing operation command to a first disk drive controller;
wherein the first disk drive controller is configured to receive the first scrubbing operation command from the storage array controller and, in response to receiving the first scrubbing operation command, to read data from within a data range from at least one of the disk drives, to calculate a new checksum for the data, and to compare the new checksum to a preexisting checksum for the data; and
wherein if the new checksum differs from the preexisting checksum, the first disk drive controller is further configured to respond to the first scrubbing operation command by indicating that the data within the data range is erroneous. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54)
-
-
23. A method of performing scrubbing operations in a storage array, comprising:
-
a storage array controller issuing a first scrubbing operation command to a disk controller;
in response to receiving the first scrubbing operation command, the disk controller reading the data within a first data range, computing a new first checksum for the data within the first data range, and comparing the new first checksum to an original first checksum for the first data range; and
if the new first checksum differs from the original first checksum, the disk controller indicating that the data within the first range is erroneous.
-
-
47. A disk controller, comprising:
-
a first interface configured to be connected to a storage array via an interconnect;
a second interface configured to access a storage media; and
a controller configured;
to receive a scrubbing operation command via the first interface;
in response to receiving the scrubbing operation command, to read data within a range of data from the storage media;
to calculate a checksum for the data;
to compare the checksum to a preexisting checksum for the data; and
if the checksum differs from the preexisting checksum, to indicate that the data within the data range is erroneous.
-
Specification