Patent ID: 7149160

Claim:
A method of processing data in a data storage device, comprising: (a) reading data from a data sector; (b) if step (a) is unsuccessful, initiating a data overwrite process by changing a pointer information of the data to RDM(d); (c) preparing a spare sector and changing the pointer information to RDM(s); (d) writing the data to the spare sector and conducting a read test thereof; (e) if the read test of step (d) is unsuccessful, repeating steps (c) and (d); (f) if the read test of step (d) is successful, storing the pointer information to RDM(s); (g) if step (f) is unsuccessful, switching the pointer information back to RDM(d) and then performing step (o); (h) if step (f) is successful, switching the pointer information back to RDM(d); (i) overwriting the data sector and conducting a read test thereof; (j) if step (i) is unsuccessful, changing the pointer information to RDM(s) and then performing step (o); (k) if step (i) is successful, releasing the spare sector; (l) changing and storing the pointer information to RDM(d); (m) if step (l) is unsuccessful, the pointer information remains RDM(s) and then performing step (o); (n) if step (l) is successful, proceeding to the next step; and (o) ending the method.