> I'll add that many DRAM chips already do something like this, but ironically enough the re-routing mechanism adds complexity which is itself a source of problems, (be it manufacturing or design, such as broken timing promises)
The best-performing solution there is probably software. Tell the OS about bad blocks and keep the hardware simple.
I think this is already implemented both in Linux and in Windows; you can tell the OS which RAM ranges are defective.
Doing this from the chip side is not there yet, apparently. I wonder when will this be included in the DRAM feature list, if ever. I suspect that detecting defects from the RAM side is not trivial.
> I suspect that detecting defects from the RAM side is not trivial.
Factory testing or a basic self-test mode could easily find any parts that are flat-out broken. And as internal ECC rolls out as a standard feature, that could help find weaker rows over time.
Yep, my last PC developed a defect in one of the RAM modules. Finding it using memtest86 was trivial; easier than figuring out exactly how to tell Windows what to do about it...
Of course it did take a little bit of a hunch to go from "the game I'm playing crashes at this point" to "maybe my RAM is defective". I suppose ECC would help spot this.
The best-performing solution there is probably software. Tell the OS about bad blocks and keep the hardware simple.