3 ms·
Plugging in a past question I had related to this [0]: Given that ECC RAM is not abundant, why don't operating systems have self-checks for RAM? Instead we only
by ekns 6y ago
Plugging in a past question I had related to this [0]:
Given that ECC RAM is not abundant, why don't operating systems have self-checks for RAM? Instead we only tend to have near-post mortem checks with memtest86 and the like.
[0] https://news.ycombinator.com/item?id=24642062 https://news.ycombinator.com/item?id=24642062
- theevilsharpie 6y agoWithout hardware-level ECC support, how would a memory self-check (that isn't along the lines of a diagnostic like Memtest86) work? You would have to have some way of detecting that memory is corrupted, which non-ECC platforms do by writing a known pattern to memory and accessing it to verify that the pattern matches. You obviously can't do that during runtime because that memory is being used by the kernel and applications.
- fulafel 6y agoThe idea in ECCs [1] is that you store some ancillary data that can be used to rectify a bounded amount of error introduced in the stored data. A straightforward virtual memory system implementation would be to have this information stored alongisde page tables and the OS would go through the pages and update their ECCs periodically (probably at a limited rate so as not to cause load spikes). The devil in the details would be the bookkeeping about when a page contents has been written to and the ECC is invalid (soft page faults?). [1] https://en.wikipedia.org/wiki/Error_correction_code https://en.wikipedia.org/wiki/Error_correction_code