Originally posted by: vj8usa
Originally posted by: SunnyD
That will only do a block level format of the drive, not a full low-level format. Basically it won't handle any sort of sector remaps the drive hardware has done already. The only way to do a true low-level format as far as I know is possibly through the drive diagnostic software, and even that may be possible. Generally once a drive starts remapping sectors, the drive is doing it for a reason.
Ah, thanks. I take it there's no way to fix this then? Also, what do you mean by block remapping, and why does this happen?
All hard drives now have internal mechanisms to detect and compensate for errors on the drive media. This is particularly true of IDE and IDE-derived (SATA) hardware (which most modern "consumer" SCSI drives are actually IDE drives with a SCSI<->IDE interface on them). A drive's physical capacity is generally 10-20% more than its specified capacity, specifically for the reasons of fault tolerance and remapping.
This hardware based fault tolerance is handled by the drive itself, and there is absolutely no way outside of the factory to override this - read: there is NO Windows/*nix program that can truly "low-level" format a drive the way the factory does it. What happens is when the drive encounters a weak or bad physical sector on a disk, it makes note of this and verifies that this particular sector on the disk is weak and/or bad, and then remaps that particular location to the "spare" area on the disk. Since Windows/*nix/Whatever OS generally access the disk through a block device driver, the OS is oblivious to the change because the OS doesn't access the drive on a physical level.
Crude diagram alert:
Physical disk "sectors": 1-->2-->3-->4-->5-->.......(N-1)-->(N)-->(N+1)-->(N+2)-->etc.
OS disk LBA sectors : 1-->2-->3-->4-->5-->.......(N-1) (end of disk)
On the physical disk, (N) is the start of the "spare" area left over for error corrections by the disk hardware. The OS never sees this area. It's not a true 1 to 1 mapping, but for simplicity's sake let's assume that the OS sectors match up with the physical disk sectors. All of a sudden the drive hardware sees that physical sector 3 is going bad, so what it does is that it makes a copy of the data (if possible) from sector 3 and copies it to the first available spare area sector, in this case (N), and updates the chain accordingly.
The physical disk now looks like:
1-->2-->(N)-->4-->5-->.......(N-1)-->(N+1)-->(N+2)-->etc.
The OS on the other hand still looks the same, because the LBA sector is really just a translation done by the drive hardware, so when the OS calls sector 3, the drive looks up where sector 3 is in the chain and it just so happens to point to (N) now, so it seeks to (N), reads the data, gives it to the OS, and the OS is non-the-wiser. The key is that the OS never ever knows what's going on behind the scenes, and there's absolutely no way outside of the factory to "fix" this issue. All you know is that the drive itself is trying to maintain your data integrity as best as possible. Once a drive flags a sector as bad and remaps it, there's no getting it back.