Joe,
Thanks a lot for your preclear script. You have a lot of clever things in there, eg modifying the partition table using echo and dd ! It took the script 105 hours to complete 3 passes on four 2TB Seagate ST32000542AS (I cleared all 4 disks in parallel on an Acer h342, an Atom dual-core machine).
I modified your preclear script so the SMART differences will be printed a bit more clearly. In particular, the table of attributes is separated from the main report and the rows are better interleaved 1-by-1 to better highlight differences. I've attached my new script... but please note I also shortened the short_test lengths because I'm impatient.
Do you mind if I suggest a few other improvements?
1) On passes after the first pass, there is no need to do a pre-read, because the post-read of the previous pass already read all the sectors. This would allow for more write-test passes in the same period of time.
2) On each pass, write a different value to the sectors rather than all 0's. Starting with data=0, maybe write the value "data = data ^ 255 ^ (pass-1) ^ (pass)" for each pass. Starting with pass=1, this should write the sequence 254, 2, 252, 4, ... (255-pass), (pass), ... On the final pass, you can write 0's. This will make it harder to use 'sum' to verify, but it will better test the underlying medium and detect when data is not being written correctly on successive passes.
Thanks,
Guy
preclear_disk_guy.zip