Apparatus, system, and method for a storage device's enforcing write recovery of erroneous data
First Claim
Patent Images
1. An apparatus for a storage device'"'"'s enforcing write recovery of erroneous data, the apparatus comprising:
- a reassignable check module configured to determine whether the logical block address (“
LBA”
) of a data block specified by a write without verify command is included in the storage device'"'"'s reassignment log, the reassignment log comprising a list of LBAs of defective data blocks to be reassigned by a storage controller and configured to remove the LBA of a defective data block from the list subsequent to finding said data block no longer deemed defective, the defective data blocks comprising data blocks that were found to have unrecovered read errors, and reported and unreported marginally recovered read errors deemed likely to lead to unreadability of the contained data by the storage device;
an auto verify module configured to automatically verify that data is correctly written at the LBA on said write command if the LBA is listed in said reassignment log; and
an error posting module configured to report to the storage controller in response to the LBA'"'"'s failing the auto verify an unrecovered write error, whereby a recovery procedure for a write error by the storage controller is triggered.
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for a storage device'"'"'s enforcing write recovery of erroneous data. The storage device enforces write recovery leading to a reassignment and re-write for the defective data block by the storage controller at a subsequent write opportunity with a usual write without verify command. The invention enables the storage device to identify, and re-discover the defect by automatically verifying the data written, and report an unrecovered write error to the storage controller on said write command, causing said write recovery to occur.
50 Citations
22 Claims
-
1. An apparatus for a storage device'"'"'s enforcing write recovery of erroneous data, the apparatus comprising:
-
a reassignable check module configured to determine whether the logical block address (“
LBA”
) of a data block specified by a write without verify command is included in the storage device'"'"'s reassignment log, the reassignment log comprising a list of LBAs of defective data blocks to be reassigned by a storage controller and configured to remove the LBA of a defective data block from the list subsequent to finding said data block no longer deemed defective, the defective data blocks comprising data blocks that were found to have unrecovered read errors, and reported and unreported marginally recovered read errors deemed likely to lead to unreadability of the contained data by the storage device;an auto verify module configured to automatically verify that data is correctly written at the LBA on said write command if the LBA is listed in said reassignment log; and an error posting module configured to report to the storage controller in response to the LBA'"'"'s failing the auto verify an unrecovered write error, whereby a recovery procedure for a write error by the storage controller is triggered. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for a storage device'"'"'s enforcing write recovery of erroneous data, the system comprising:
-
at least one host computer; at least one storage controller, without memory for maintaining a data error table, selected from a group consisting of a redundant array of independent disks (RAID) controller and a non-RAID controller, and coupled to the host computer; a storage device, coupled to the storage controller, the storage device comprising; an interface module; a head disk assembly a processor; a memory; a positioning control module; a read-write data handler module; a reassignable check module configured to determine whether the LBA of a data block specified by a write without verify command is included in the storage device'"'"'s reassignment log, the reassignment log comprising a list of LBAs of defective data blocks to be reassigned by the storage controller and configured to remove the LBA of a defective data block from the list subsequent to finding said data block no longer deemed defective, the defective data blocks comprising data blocks that were found to have unrecovered read errors, and reported and unreported marginally recovered read errors deemed likely to lead to unreadability of the contained data by the storage device; an auto verify module configured to automatically verify that data is correctly written at the LBA on said write command if the LBA is listed in said reassignment log; and an error posting module configured to report to the storage controller in response to the LBA'"'"'s failing the auto verify an unrecovered write error, whereby a recovery procedure for a write error by the storage controller is triggered. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A program of executable code stored on a semiconductor device and executed by a processor to perform operations to allow a storage device to enforce write recovery of erroneous data, the operations comprising:
-
determining reassignability of the LBA of a data block specified by a write without verify command based on contents of the storage device'"'"'s reassignment log, the reassignment log comprising a list of LBAs of defective data blocks to be reassigned by a storage controller and configured to remove the LBA of a defective data block from the list subsequent to finding said data block no longer deemed defective, the defective data blocks comprising data blocks that were found to have unrecovered read errors, and reported and unreported marginally recovered read errors deemed likely to lead to unreadability of the contained data by the storage device; auto verifying that data is correctly written at the LBA on said write command if the LBA is listed in said reassignment log; reporting to the storage controller in response to the LBA'"'"'s failing the auto verify an unrecovered write error, whereby a recovery procedure for a write error by the storage controller is triggered; and executing each command called for by said write error recovery procedure. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method for a storage device'"'"'s enforcing write recovery of erroneous data, the method comprising:
-
determining reassignability of the LBA of a data block specified by a write without verify command based on contents of the storage device'"'"'s reassignment log, the reassignment log comprising a list of LBAs of defective data blocks to be reassigned by a storage controller and configured to remove the LBA of a defective data block from the list subsequent to finding said data block no longer deemed defective, the defective data blocks comprising data blocks that were found to have unrecovered read errors, and reported and unreported marginally recovered read errors deemed likely to lead to unreadability of the contained data by the storage device; auto verifying that data is correctly written at the LBA on said write command if the LBA is listed in said reassignment log; reporting to the storage controller in response to the LBA'"'"'s failing the auto verify an unrecovered write error, whereby a recovery procedure for a write error by the storage controller is triggered; executing each command called for by said write error recovery procedure; and activating an auto verify operation following the successful completion of a write operation during said write error recovery procedure unless a reassignment for said LBA is made. - View Dependent Claims (20, 21)
-
-
22. An apparatus for enforcing a storage device'"'"'s write recovery of erroneous data, the apparatus comprising:
-
means for determining reassignability of the LBA of a data block specified by a write without verify command based on contents of the storage device'"'"'s reassignment log, the reassignment log comprising a list of LBAs of defective data blocks to be reassigned by a storage controller and configured to remove the LBA of a defective data block from the list subsequent to finding said data block no longer deemed defective, the defective data blocks comprising data blocks that were found to have unrecovered read errors, and reported and unreported marginally recovered read errors deemed likely to lead to unreadability of the contained data by the storage device; means for auto verifying that data is correctly written at the LBA on said write command if the LBA is listed in said reassignment log; means for reporting to the storage controller in response to the LBA'"'"'s failing the auto verify an unrecovered write error, whereby a recovery procedure for a write error by the storage controller is triggered; means for executing each command called for by said write error recovery procedure; means for activating an auto verify operation following the successful completion of a write operation during said write error recovery procedure unless a reassignment for said LBA is made; means for skipping auto verify on any data block whose LBA is not listed in said reassignment log if said write command specifies multiple data blocks including said data block; means for auto verifying the medium without data comparison, whereby a misdiagnosis of the storage device is avoided; and means for enabling and disabling said storage device'"'"'s enforcing write recovery of erroneous data according to the enable/disable setting selected by a storage device user.
-
Specification