![]() | |||||||||||||
Messages in this thread |
>>> And possibly some broken drives may also return you something that >>> they think is good data but really is not (shouldn't happen since >>> both disks and cables should be protected by checksums, but hey... >>> you can never be absolutely sure especially on very big storages). > > It happens because > - There is limited if any protection on the PCI bus generally > - Many PC systems don't have ECC memory, ECC cache > - PATA does not CRC protect the command block so if you do enough PATA > I/O (eg you are a US national lab ..) you *will* eventually get a bit > flip that gives you the wrong sector with no error data. SATA fixes that > one. > - Murphy is out to get you.. Should IDE driver read back parameters after writing them before issuing the command? That should fix this problem. (except when command is written badly) > Not seen that, although they do move stuff aorund in their internal > block management of bad blocks. I've also seen hardware errors that lead > to data being messed up silently. I have seen one WD drive bought in 2003 having error in its firmware in cache-coherency code --- if you read and write 256 sectors to the same places with some pattern repeatedly (with direct IO), it will discard a write. It happens only with 256-sector writes, maybe some part of firmware treats 256 as 0. Maybe I create testcase sometimes. Mikulas > Alan > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-11-05 17:21 [from the cache] ©2003-2008 | |||||||||||||