I have got a HDD drive which has gone into pre-failure state with big count of relocated sectors.
However I figured out that the problem is possibly with a HDD slot (cable) but not with a disk — when I plugged other HDDs to this slot they started working slowly and showing some seek errors and pending sectors. But these errors eventually disappear if I plug these drives to another controller. So I think that the pre-fail HDD here is not really failing.
Is it possible to force SMART to re-check Relocated and Offline Uncorrectable sectors to recover them if the failure has gone?
Äh - dude, get your facts straight. SMART is totally disc level. Disc finds rror when reading, disc relocates, reports it. The cabling does not enter into the game at all. SMART is totally disc internal.
How did you get the funny idea the cable would make a difference?
The only count where the cabling etc. may come into play is smart external counts (aborted commands, for example). But none platter side.
I agree with TomTom here and don't believe that a cable is going to affect bad relocated sectors.
However it is possible that a sector is marked as bad and relocated in error but I don't think the cable has anything to do with this. SpinRite on level 5 will check every sector and will unmark those which are marked as bad and if the sector checks out returning it back into the normal pool and freeing up a spare sector.
However given the cost of SpinRite, the cost of a drive, and the amount of time it takes to run on level 5, days on a modern drive, just replace the drive. I would only resort to the SpinRite approach if data recovery was required.