Drive rebuild
First Claim
Patent Images
1. A computer system comprising:
- a data storage subsystem configured to receive read and write requests, wherein the subsystem comprises one or more storage drives, each storage drive including a plurality of allocation units (AUs), each AU of a storage drive comprising a plurality of data storage locations within the storage drive; and
a data storage controller;
in response to detecting a failure of a first AU of the plurality of AUs, the storage controller is configured to;
select an unallocated second AU as a replacement for the first AU; and
initiate reconstruction of data stored in the first AU to the second AU; and
in response to receiving a read or write request targeting a given data storage location in the first AU during said reconstruction, the storage controller is configured to attempt to access the first AU before attempting to access any of the other AUs of the plurality of AUs, in order to service the read or write request.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for efficiently distributing data among multiple storage devices. A data storage array receives read and write requests from multiple client computers. The data storage array includes multiple storage devices, each with multiple allocation units (AUs). A storage controller within the data storage array determines a RAID layout for use in storing data. In response to determining a failure of a first AU, the storage controller begins reconstructing in a second AU the data stored in the first AU. For read and write requests targeting data in the first AU, the request is serviced by the first AU responsive to determining no error occurs when accessing the first AU.
-
Citations
17 Claims
-
1. A computer system comprising:
-
a data storage subsystem configured to receive read and write requests, wherein the subsystem comprises one or more storage drives, each storage drive including a plurality of allocation units (AUs), each AU of a storage drive comprising a plurality of data storage locations within the storage drive; and a data storage controller; in response to detecting a failure of a first AU of the plurality of AUs, the storage controller is configured to; select an unallocated second AU as a replacement for the first AU; and initiate reconstruction of data stored in the first AU to the second AU; and in response to receiving a read or write request targeting a given data storage location in the first AU during said reconstruction, the storage controller is configured to attempt to access the first AU before attempting to access any of the other AUs of the plurality of AUs, in order to service the read or write request. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for use in a computer system, the method comprising:
-
receiving read and write requests at a data storage subsystem, wherein the subsystem comprises one or more storage drives, each storage drive including a plurality of allocation units (AUs), each AU of a storage drive comprising a plurality of data storage locations within the storage drive; and in response to detecting a failure of a first AU of the plurality of AUs; selecting an unallocated second AU as a replacement for the first AU; and initiating reconstruction of data stored in the first AU to the second AU; and in response to receiving a read or write request targeting a given data storage location in the first AU during said reconstruction, attempting to access the first AU before attempting to access any of the other AUs of the plurality of AUs, in order to service the read or write request. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by a processor to:
-
receive read and write requests at a data storage subsystem, wherein the subsystem comprises one or more storage drives, each storage drive including a plurality of allocation units (AUs), each AU of a storage drive comprising a plurality of data storage locations within the storage drive; and in response to detecting a failure of a first AU of the plurality of AUs; select an unallocated second AU as a replacement for the first AU; initiate reconstruction of data stored in the first AU to the second AU; in response to receiving a read or write request targeting a given data storage location in the first AU during said reconstruction, attempt to access the first AU before attempting to access any of the other AUs of the plurality of AUs, in order to service the read or write request. - View Dependent Claims (15, 16, 17)
-
Specification