From the HDDSuperClone main page:
Quote:
There is also another advantage of HDDSuperClone. It has an advanced self learning head skipping algorithm that will attempt to skip out of a bad head in about 7 bad reads. This can make getting the data from the good heads much faster. Hardware imagers can “turn off” a head and only read data from the good heads which is ideal, but that requires using special vendor specific commands. The head skipping algorithm of HDDSuperClone is about as close as one can hope to get to that without special commands.
And from the manual under Theory of Operation:
Quote:
Phase 1 is a copy pass forward with skipping. Phase 2 is a copy pass backward with skipping. Together they offer the best attempt to get the most good data first and fast from the good areas of the drive. The skipping is based on read errors and will skip when a read error is encountered, and self adjusts to try to skip out of a bad head in about 7 read errors. A read that takes longer then the –skip-threshold value will also trigger a skip event. The skipping starts out at –skip-size, and increases as needed per the algorithm, unless it hits –max-skip-size in which case it is reset back to –skip-size. These two passes are the money passes. If after these two passes you don’t have a percentage complete in the upper 90’s then you likely have a weak/damaged head, and the next phases could take a long time to complete.
From the Usage section of the manual, just to point out that the skipping could go crazy on a drive with a slow reading issue without changing a setting:
Quote:
‘--skip-threshold <ms>’
The time in milliseconds for a read that will trigger a skip event, the default is 2000 (2 seconds). This option only applies to copy phases 1 and 2. This is meant for drives that have very slow reading areas but not enough if any errors in those areas to trigger the skipping algorithm. Any read that takes longer than the value of the setting will trigger a skip event. Note that for drives that have a "slow responding" issue this will cause runaway skipping and you will see the skip reset count increase. If this happens you may need to use the –reset-status option and start over with adjusted options. To disable this threshold just set it to a high number such as 60000 (60 seconds).
And from the Understanding the Display section of the manual:
Quote:
Skip size is the current base skip size. This can grow if the head skipping algorithm is triggered. Skips is the total number of times the program has skipped since the program was started. Runs is how many skip runs have happened since the program was started. If you see the run count growing, it likely means there is a weak/damaged head. Resets is the number of times the skip size had to be reset. Under normal circumstances the reset count should remain at zero. If it is greater than zero it is an indication of a problem with either too large of an initial skip size, too small of a max skip size, or it is not reading much if any data, and you may need to adjust the skip size and max skip size to handle a special condition. Recent is the highest reported skip since the last display update. This can be greater than the base skip size as it is controlled by the skipping algorithm.