An error recovery process used if an error is detected when data is being written to a storage peripheral or is being verified (see error detection). The first step is to check that it is not simply a reading error. If the error persists, it is usual either to overwrite the block or else to write the data again in another location. Often several attempts are made, and both methods may be used in turn. Some devices, such as certain optical disk drives, use such powerful error-correcting codes that write error recovery is considered unnecessary.