English | Deutsch
When a chunk is downloaded and results corrupted, aMule would normally redownload the whole chunk (9.28MB) in order to get the file correctly. ICH (Intelligent Corrupt Handling) is a workout to avoid redownloading the whole chunk when possible.
How does it work?
Once a chunk is known to be corrupt, it begins to redownload it. Instead of dropping the whole already-downloaded chunk, it keeps it and deletes the first 180KB. It then downloads the first 180KB of that chunk again.
Once it has downloaded it, it will add it to the rest of the already downloaded chunk and hash it, to see if the resulting hash is the same as the hash it should have. If it is, the chunk has been successfully completed. If it is not, then it will download the next 180KB of the chunk and so on.
What are its results?
The worst case should be when the last 180KB of the chunk are the corrupted bytes. In this case, the whole chunk has to be redownloaded. Anyway, since redownloading the whole chunk would have to be done anyway if ICH had been disabled, this is not a loss at all (except for some little CPU resources).
Is it useful?
Is it CPU expensive?
Not at all. On any modern CPU, hashing the chunks takes less resources that you would imagine. Since it saves 50% corrupted data in average (and can even save up to 99%) and the hashing process is only done from time to time when necessary, the resources it makes use of are practically null.
Even on old CPUs you should still take into consideration not disabling ICH, since the amount of CPU it takes, compared to the amount of corrupted data it might save, is far enough to keep it active.
To disable it, go to Preferences -> Files -> ICH -> ICH active (disable)