Apparatus, system, and method for a storage device's enforcing write recovery of erroneous data
First Claim
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 a reassignment of said data block;
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 an unrecovered write error in response to the LBA'"'"'s failing the auto verify.
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.
62 Citations
25 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 a reassignment of said data block;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 an unrecovered write error in response to the LBA'"'"'s failing the auto verify. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for a storage device'"'"'s enforcing write recovery of erroneous data, the system comprising:
-
a host computer; a storage controller, 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 a reassignment of said data block; 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 an unrecovered write error in response to the LBA'"'"'s failing the auto verify. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A signal bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus 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 a reassignment of said data block; 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 an unrecovered write error in response to the LBA'"'"'s failing the auto verify; and reassigning and rewriting the failed LBA in response to the storage controller'"'"'s receiving said write error report. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. 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 a reassignment of said data block; 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 an unrecovered write error in response to the LBA'"'"'s failing the auto verify; reassigning and rewriting the failed LBA in response to the storage controller'"'"'s receiving said write error report; and activating the auto verify operation following a successful completion of the write operation prior to a reassignment. - View Dependent Claims (21, 22, 23, 24)
-
-
25. 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 a reassignment of said data block; 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 an unrecovered write error in response to the LBA'"'"'s failing the auto verify; means for reassigning and rewriting the failed LBA in response to the storage controller'"'"'s receiving said write error report; means for activating the auto verify operation following a successful completion of the write operation prior to a reassignment; means for skipping auto verify on said write command if the specified LBA is not listed in said reassignment log; means for auto verifying the written data by means of the ECC appended to the data; and means for removing the LBA from the storage device'"'"'s reassignment log upon a successful completion of the auto verify.
-
Specification