What is a "sympathetic bit", and why must IBM PCs check for it?
- Sympathic Bits, in this context, are bits within a data word that always flip with some other bit. For example when a word written as 0000 0001 is reread as 0000 0011 while writing 1111 1110 reads 1111 1100, then Bit 2^1 is sympathic with bit 2^0, it always gets set to the value 2^0 gets set. The same is also possible with negative sympathy, meaning that a bit always gets reset if the other gets set and set if the other gets reset.
This error comes up when data lines are connected.
- Stuck Bits are bits that get set once to a value (0 or 1), but are stuck after that. Usually this condition gets reset with a sufficient power off.
This issue means usually problems in drivers.
- Unresponsive Bits are essentially stuck bits with their stuck value equalling their power on value. They can not be set/reset at all, not even after power up.
Well, that's a dead cell :))
Since the IBM-PC's memory test only tests data patterns, not address patterns, this has to be about data words.
For the original IBM-PC sympathic bits should not happen at all, as it uses single bit RAMS, so any reason for finding one would not be about the RAMs, but the external circuitry. But the test does not really differentiate between these three cases of bit errors, but uses test pattern that will detect them undistinguishably. All it reports is a RAM error.
Also, in depending on context these terms may be used interchangeably.