Don't use spinrite spinrite writes data back to the drive and is too aggressive in reading the drive, on a drive with issues can overwrite data you want or can cause physical damage. Is this a division by 0 error? What are you doing when you are getting this error? Division by 0 is not a hard drive error per se, but is a memory or programming error. If you see it at the same address location (B022) accessing different programs, then you need to test each memory stick using memtest86 for multiple passes to identify the chip with issues.