I have several E6420's lying around here, all out of warranty and one of them was exhibiting RAM issues even though diagnostics did not pick it up, so I tried to switch some of the RAM between them. I soon discovered that the HDD's were not being picked up in startup, so I switched all the parts back to their original owners and still no dice.
I have changed the SATA options in BIOS, and nothing seems to be working. I also set my BIOS back to defaults on one of the laptops and played with the SATA settings again and its still not picking anything up.
Both have relatively up to date BIOS, one is v21 and the other is v23.