I do low level error checks/corrections first before letting windows ever touch the drive when a drive is miss behaving!!
My order of fixing a drive:
- check for physical damage on PCB
- boot spinrite, look at smart stats and let it check for errors
- check manufactures website for firmware bugs/updates
- use ultimate boot disk to correct anything else
- then use windows error check.