Hacker News new | past | comments | ask | show | jobs | submit login

The case Ted Ts'o describes is much simpler: DRAM returning garbage while the CPU is still executing instructions and sending commands on the SATA bus.

This can't possibly happen even if the power supply is crazy bad, because the reset logic on the main board will halt everything before the DRAM starts malfunctioning.




> SATA

ext3 predates SATA, briefly. While SATA was commonly used with ext3 soon after ext3's release, a lot of the hardware Ted Ts'o is probably referring to would have been ATA-4/UDMA (or SCSI).

> while the CPU is still executing instructions

The problem Ts'o described doesn't involve the CPU:

    DRAM tends to go insane and starts returning
    garbage long before the DMA engine and the hard
    drive stops functioning.
A bus-mastering ATA (or SCSI) controller - possibly on the motherboard, possibly an expansion card, regardless almost certainly PCI - may be copying data from RAM directly as Direct Memory Access.

> the reset logic on the main board will halt everything

In theory, there is no difference between theory and practice. In practice, there is, especially when cheap, poorly-designed hardware is involved.


> RAM returning garbage while the CPU is still executing instructions and sending commands on the SATA bus.

When I read it, I got the impression he was saying the DRAM was going crazy while a DMA transfer to the hard-drive was still going on. That doesn't require the CPU to be functional when the DRAM is corrupt, only the DMA controller. I can't personally say if that makes it any more likely though.


That's right, but all stateful ICs on the motherboard have a reset pin, including the north and south bridges when they were still separate packages. Even PCI cards will receive the reset signal simultaneously.

Not sure what the hard drive would do with a truncated ATA command though.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: