4 ms·
> I've said it before and I'll say it again: Rowhammer is a functional correctness problem that the memory industry has been trying to hide ever since it was di
by inetknght 8y ago
> I've said it before and I'll say it again: Rowhammer is a functional correctness problem that the memory industry has been trying to hide ever since it was discovered.
How do you measure correctness? By reliability?
What trade-off would you make to improve density, throughput, or latency?
Why do you think that trade-off wasn't made?
- zymhan 8y agoYeah I don't know what they mean by "Functional Correctness" in this situation https://en.wikipedia.org/wiki/Correctness_(computer_science) https://en.wikipedia.org/wiki/Correctness_(computer_science)
- userbinator 8y agoIf memory is operating correctly, then the value last written to any location should always be the one which is read back. Any deviation from that means there is something wrong, in the same way that a calculator which intermittently produces 1+1=3 would be considered broken. The fact that the correctness of software since the beginning of computing depends on the correctness of the hardware means that it's not a "trade-off", memory that doesn't behave like memory should is simply defective. The $$$-chasing manufacturers would like you to think otherwise, however, and IMHO there's been a huge cover-up --- which the manufacturers certainly are trying hard at; just imagine recalling every single DRAM produced in the last 10 years. Security is only one important piece of the whole story. Imagine computations being subtly incorrect (that includes things like "IsUserRoot()" being occasionally wrong, but it affects correctness in general.) That undermines everything about what computers are supposed to do. I only wish there was far more outrage about Rowhammer than Spectre/Meltdown (I remember some people suggesting recalling all CPUs made in the last 2 decades...), because while timing side-channels are "only" a security concern that simply did not receive much attention until recently, Rowhammer and similar corruptions affect all computation. You don't have to be attacked, all that needs to occur is some computation happens to have a "fragile" access pattern that flips bits somewhere, and weird undefined behaviour appears. I mentioned this in a comment I made 4 years ago about the same thing: https://news.ycombinator.com/item?id=9175734 https://news.ycombinator.com/item?id=9175734
- lixtra 8y agoWe all know cosmic rays and other stuff can flip bits. So your reads are only correct 99.99..9% of the time. Deciding how many nines you want is a trade off. Welcome to the real world.
- userbinator 8y agoConfusing a random natural event which is literally orders of magnitude lower with specific access patterns that can rapidly cause errors is pure disinformation.
- inetknght 8y agoI 100% agree with that if memory is operating correctly then you will read exactly what was last written. And I believe there are of course exceptions to that rule: what if you're reading volatile RAM and it was just powered up? What if a cosmic ray literally changed the bit? These are no-brainers to me. But I don't think you satisfactorily answered some of my other questions. What trade-offs do you think were made which shouldn't have been made? How would you improve density, throughput, or latency while maintaining 100% correctness in the face of unknown (or perhaps unintended) access patterns?
- blattimwind 8y ago> If memory is operating correctly, then the value last written to any location should always be the one which is read back. Any deviation from that means there is something wrong, in the same way that a calculator which intermittently produces 1+1=3 would be considered broken. Pretty much all hardware has a given bit error rate. The problem with rowhammer is that the BER of affected memory can be changed by orders of magnitude by access patterns.