Storage array employing scrubbing operations at the disk-controller level
AssigneeSun Microsystems, Inc.
InventorsNisha D. Talagala, Randall D. Rettberg, Chia Y. Wu
Life of this patent
Estimating the term…
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.
Claims54
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.
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.
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.
Dependencies are inferred from the claim text.