fzabkar wrote:
You could test my RAM-resident relolist hypothesis by writing to a bad sector before and after a power cycle.
Scan a bad area with Victoria. This should result in bad sectors being added to the RAM-resident relolist.
Choose one of these pending sectors and overwrite it. Check whether the Glist has been incremented (Yes?).
Read back the pending sector. Is the sector now readable (Yes?)? If so, then it was reallocated.
Power cycle the drive.
Now choose another of the pending sectors which were previously found by Victoria and overwrite it. Was the Glist incremented (No?)?
Read back the pending sector. Is the sector now readable (No?)? If not, then it was not reallocated (because the RAM-resident relolist was empty).
Overwrite and read that same sector again. This time it should be reallocated (because the first read error should have added it to the relolist).
This wouldn't work.
I have to test more later today and post the picture of the PCB but this experience wouldn't work.
- First i don't think that any sector was indeed swapped by spares. I see the exact same pattern with Victoria at the start of the drive with the same bad blocks on the same spots. I don't even think that my drive is using those lists because the drive is only accessible when setting the super on. The drive is not operating at normal mode. Super On is allowing user access access to extract the data as "emergency" measure but drive is not working at all as it would. Experimentation would have to be carried with a known good drive working in normal mode.
- If you READ a bad sector it should be added to Pending (on normal modern drives). If you write it directly it should be swapped by a spare. It doesn't matter if it's on re-lo / pending list or not. Get a drive with bad sectors and try to zero fill it with something like MHDD erase procedure that actualy use write command or use Victoria or whatever to WRITE to the entire drive or even if you use internal Secure erase, bad sectors will be swapped by spares. Even if there is no read/verify operation and RE-LO/ Pending is empty. As soon as drive checks that it can't write properly it should attempt to swap the sector by a spare. On older drives with specific firmware (very old drives) even reading directly would swap the bad sector by a spare !!! This is not acording to standard so they change behaviour but i do have a drive that if i make a bad sector with write long using wrong ecc and if i power it off/on and if i attempt to read that same sector it's swapped by spare directly ! On any modern drive writting to bad sectors should swap them by spares directly.
I will check the drive again later today. I will restore original FW dump and try again.
_________________
1Q9xrDTzTddUXeJAFRn37aqh1Yr6buDCdw - (Bitcoin Donations)
paypal.me/Spildit - (PayPal Donations)
The HDD Oracle - Platform for OPEN research on Data Recovery.