PSA: You can still use your RAM that has a few bad addresses

Anyway, I recently had my ram go bad and using the free open source memtest86+ , I started observing that specific addresses (memory cells) of sticks were erroring regardless of which slot/configuration I used for the ram.

  • 14 cells (1 cell = 8 bytes) at 426MB on stick 1
  • 1 cell at 5.82GB on stick 1.
  • 1 cell at 7.84GB on stick 2.

Both linux AND windows support blacklisting address ranges i.e. avoid using that memory block. memtest even supports displaying errors in the format suitable for blacklisting. I reserved 4MB at each of the faulty cells, which aligns with pagetable and also keeps a bit of a buffer around the bad address. Here’s the linux grub config

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash memmap=4M$0x3a5e0000 memmap=4M$0x25cc00000 memmap=4M$0x2c6b80000 memmap=4M$0x3a9600000"

Even with overclocking, it worked perfectly. No more crashes, as those faulty memory cells were not used for anything.

Linux memmap docs: Using the memmap Kernel Option | Persistent Memory Documentation

Windows BadPages docs: How to Manage the PFA Memory List - Windows drivers | Microsoft Learn

linux + windows explanation by passmark memtest86 (the proprietary one): MemTest86 - Blacklisting RAM Pages

31 Likes

This is straight out of 90s computing haha.

Thanks, I had no idea!

1 Like

Thanks for posting this.

You know ram price crisis is hitting hard when posts like these starts popping up.

5 Likes

Simply adbhoot!

Amazing article, thank you for posting this. I did not know about this and with how crazy the RAM market is its good to know a RAM stick with few errors can still work. Now that I think about it if HDDs and SSDs can do this why couldn’t RAM as well.

1 Like

I don’t have any crashes but a bunch of errors on a stick in Memtest.

Better to be safe and disable those bad addresses on the RAM stick, you don’t want it to get in your way while doing something (especially if its important) or increase the chance it will lead to more errors generating in the future.

1 Like

Memory errors are like undefined behavior. Crashing is he best-case scenario, while random silent corruption is the worst. eg: Downloading a large multi-GB file (higher chance of using some of that corrupted memory). I lost a lot of time trying to troubleshoot some issues, before realizing that the ISO file I downloaded was corrupted.

If the errors come consistently from the same addresses (try putting a single stick in different slots and test), just blacklist them. All you lose is a few MB out of a multiple GB.

1 Like

I’ve put in a support ticket to try and get it replaced.

Hoping for the best.

I’m not running anything critical.
Just used for playing games and movies and things.

If anyone got any such bad RAM with a few bad cells, you might wanna consider selling it here for semi-cheap. It will be of use to someone instead of just sitting in a desk/trash somewhere.

1 Like