Method and apparatus for providing write recovery of faulty data in a non-redundant raid system
First Claim
1. A method for handling write errors in a non-redundant disk array storage system, comprising:
- issuing a command to write and verify data transfer when requested to write data to a specified location address that is stored in an error table; and
reassigning the data to a new location address when the command to write and verify the data transfer is unsuccessful; and
wherein the error table comprises a combined write recovery table and bad data table.
4 Assignments
0 Petitions
Accused Products
Abstract
A table for identifying potentially bad location addresses based on prior knowledge and performing specific operations using the table data to ensure write recovery is disclosed. A Write Recovery Table (WRT) is provided, which consists of a list of LBAs requiring such special write recovery action so that a WRITE AND VERIFY command is issued instead of a WRITE command. If the WRITE AND VERIFY command fails, the RAID controller can issue a REASSIGN BLOCKS command for the bad block and re-issue the WRITE AND VERIFY command. If WRITE AND VERIFY commands are not supported, then the system can use a READ command with the “Force Unit Access” flag bit being set to “1” to verify the written data. Further, the WRT may be combined with Bad Data Table (BDT) to reject a Read Request from the host for a matched LBA (that is listed therein) because the data in the addressed block is known incorrect when a write recovery action is not warranted.
-
Citations
21 Claims
-
1. A method for handling write errors in a non-redundant disk array storage system, comprising:
-
issuing a command to write and verify data transfer when requested to write data to a specified location address that is stored in an error table; and
reassigning the data to a new location address when the command to write and verify the data transfer is unsuccessful; and
wherein the error table comprises a combined write recovery table and bad data table. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9)
-
-
7. A method for handling write errors in a non-redundant disk array storage system, comprising:
-
issuing a command to write and verify data transfer when requested to write data to a specified location address that is stored in an error table;
reassigning the data to a new location address when the command to write and verify the data transfer is unsuccessful;
verifying the reassigning of data to a new location address;
detecting an error for the reassigning;
retrying the reassigning for a predetermined number of times; and
returning a fatal error status and marking the disk offline when the predetermined number of times is exhausted.
-
-
10. A storage system, comprising:
-
an array of storage devices; and
a storage controller, coupled to the array of storage devices, the storage controller including a memory for maintaining an error table, the storage controller further being configured to issue a command to write and verify data transfer when requested to write data to a specified location address that is stored in an error table and reassign the data to a new location address when the command to write and verify the data transfer is unsuccessful; and
wherein the error table comprises a combined write recovery table and bad data table. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A storage system, comprising:
-
an array of storage devices; and
a storage controller, coupled to the array of storage controller including a memory for maintaining an error table, the storage controller further being configured to issue a command to write and verify data transfer when requested to write data to a specified location address that is stored in an error table and reassign the data to a new location address when the command to write and verify the data transfer is unsuccessful; and
wherein the storage controller further verifies the reassigning of data to new location address, detects an error for the reassigning, retries the reassigning for a predetermined number of times, returns a fatal error status and marks the storage device offline when the predetermined number of times is exhausted.
-
-
19. An error table disposed in a storage controller, the error table configured with addresses for data error locations on a storage device so that for a write request, the storage controller knows to perform a write and verify command to transfer the data to the storage device and to verify the successful transfer of the data to the storage device;
- said error table further comprising a write recovery bit to indicate when an address associated therewith requires a write recovery during a write; and
wherein the write recovery bit allows a bad data table to be combined with the write recovery table. - View Dependent Claims (20)
- said error table further comprising a write recovery bit to indicate when an address associated therewith requires a write recovery during a write; and
-
21. A computer program product for handling write errors in a non-redundant disk array storage system, said program product comprising:
-
a computer readable medium;
first program instructions to issue a command to write and verify data transfer when requested to write data to a specified location address that is stored in an error table;
second program instructions to reassign the data to a new location address when the command to write and verify the data transfer is unsuccessful;
third program instructions to verify the reassignment of data to a new location address;
fourth program instructions to detect an error for said reassignment;
fifth program instructions to retry said reassignment for a predetermined number of times; and
sixth program instructions to return a fatal error status and mark the disk offline when the predetermined number of times is exhausted; and
whereinsaid first, second, third, fourth, fifth and sixth program instructions are recorded on said medium.
-
Specification