3 ms·
> Memory that doesn't remember what was last written is simply not fit for purpose. IMHO, this means that every memory that's vulnerable to rowhammer and relat
by myself248 6y ago
> Memory that doesn't remember what was last written is simply not fit for purpose.
IMHO, this means that every memory that's vulnerable to rowhammer and related techniques is defective, and/or has been specified to run at irresponsible refresh timings.
No access pattern should ever be able to change the value of bits not being accessed, that is the definition if faulty memory. And I'm astonished that there isn't a class-action or something.
"Normalization of deviance" comes up a lot lately. It's like the frog being boiled, we just came to accept that 100% of RAM is defective by design.
- WrtCdEvrydy 6y ago> we just came to accept that 100% of RAM is defective by design. Computing itself is broken. Every product from physical to application state is broken in some subtle way which is then countered by a higher layer having some extra code (or component) to adjust it.
- myself248 6y agoBut it happens, or it becomes "accepted", at a certain level of complexity. When you're down at the Ben Eater or Gigatron scale, you can prove with simple logic and timing diagrams that every possible machine state is correct. Somewhere in the quest for higher speeds, RAM runs with timings and refresh intervals that allow rowhammer. And since nobody wants to take the speed hit of having memory that's actually correct, it just.... it's okay now? Well, I disagree. I'd like to find out how to configure my memory controller to be rowhammer-proof, even if that means a refresh cycle after every single access cycle. And then we can build performance starting from that assumption that correctness is required. As an old mentor once said, if you start out medium-speed but wrong, you'll get faster at doing it wrong. Start slow but right, and then you get faster at doing it right.
- WrtCdEvrydy 6y ago> And since nobody wants to take the speed hit of having memory that's actually correct, it just.... it's okay now? Yeah, same thing with Spectre... part of the ToS actually states you can't benchmark Intel products with Spectre mitigations applied now (apparently that's a thing)
- userbinator 6y agoI wrote pretty much the same thing when rowhammer first came out: https://news.ycombinator.com/item?id=12409555 https://news.ycombinator.com/item?id=12409555 Instead of mass recalls and class-action, the authors of memory testing utilities were persuaded to make rowhammer tests optional and off-by-default[1], and there is one with this massive bunch of BS that basically says "it works most of the time so you may choose to ignore it": https://www.memtest86.com/troubleshooting.htm#hammer https://www.memtest86.com/troubleshooting.htm#hammer I recall seeing a discussion where someone basically said "100% of RAM would fail this test, so we shouldn't enable it by default" --- conveniently neglecting to mention that older DDR3 and before wouldn't. Relatedly, I've noticed prices of used RAM, particularly DDR/DDR2, appears to have gone up recently. Other used computer parts are also selling at surprisingly high prices --- 10+-year-old motherboards and CPUs, pre-DDR3 era stuff. I wonder if that's due to decreasing production, increasing demand from retrocomputing enthusiasts, or increasing demand from those who know about this and don't want new RAM anymore.