Imaging freezing drives
The core part of the imaging process is based on reading a source drive by sending multiple Read sectors commands and handling the drive's response at the low native I/O level.
When a drive receives and runs a Read sectors command but is unable to read any data from that sector. So it goes into Retry mode, trying to get data from the damaged area again and again.
After a certain number of tries, it gives up on a particular command and returns an error with timeout.
In TaskForce, you can detect a freezing drive during diagnostics or during imaging.
Freeze detection and handling during imaging
Imagine that the drive is unable to read data from the damaged sectors and goes into a long-lasting retry mode before it gives up on a particular sector and returns an error.
If TaskForce simply waited for each Read sectors command to be completed:
- it would take ages to get an image of a drive with numerous errors;
- it could cause the drive to slip into complete freeze;
- in the worst-case scenario, further damage could be caused to the data on the drive.
The Reset command
To avoid causing further damage to the data on the drive and long waiting periods, TaskForce issues a Reset command whenever a drive attempts to read a block of sectors longer than allowed by the pre-configured timeout.
Reset is a device interface operation, using which TaskForce stops the previously sent Read sectors (or any other) command and then continues imaging from the next planned block on the drive.
If the device is still running the Read Sectors command, even after the first Reset attempt, TaskForce waits 3 seconds and performs the second Reset command. At the moment of the second Reset, a new entry appears in the imaging Log reading
Performing a power cycle
If 20 seconds after the second Reset command the drive still tries to read the bad block, TaskForce performs the Power cycle command by forcibly cutting power to the drive for 5 seconds.
At this point, TaskForce adds two entries to the imaging Log:
After a successful power cycle
In case the first Power cycle command is successful, and the drive become ready to accept the next command, there will be a final log entry for this problematic block of sectors saying:
And then TaskForce continues imaging from the next planned block.
After an unsuccessful power cycle
If the first Power cycle command is ineffective, and the drive is still in Busy state and can’t run the next command, TaskForce makes the second Power cycle.
If the second Power cycle does not help either, imaging is terminated. It can be resumed afterward, and TaskForce will continue to image all remaining sectors.
Freeze detection during diagnostics
TaskForce diagnostics module automatically checks the status of each head (for HDDs) and the condition of the media surface by reading several hundreds of thousands of sectors from the starting/outer, middle, and ending/inner part of the head or drive.
If a drive freezes, unable to read certain sectors, it may or may not be detected during diagnostics because not all sectors of the drive are being read at this stage.
If an HDD has a damaged head causing it to enter a busy state, a diagnostics report notifies you about that with the line
Also, the diagnostics report shows a table with a freeze count and the number of read errors for each HDD head:
If the heads status is OK, but some freezes were detected during diagnostics, the result of the diagnostics show the following line: