On 20 Nov 2022, at 22:45, Michael D. Setzer II <mikes@guam.net> wrote:

Not always the case. Going back to the old DOS days,
believe the OS would try 3 times before giving the
abort/retry/ignore error message, and sometimes many
retires would get a good read...

To clarify the drive will not substitute a good block after a bad block read.

As you say tools like spinrite have smart algorithms in them to recover data
in spite of errors by looking at pattern in the raw data come from the disk
after multiple reads of the same block. Relies on the error patten changing
to gives clues to the bits that are probable right I recall.

Barry