Identifying a defective RAM IC on laptops with soldered memory

https://news.ycombinator.com/rss Hits: 8
Summary

Warning: some information in this article is uncertain and based onto third-party reverse engineering efforts. Official documentation from the memory controller manufacturer is required, however Intel does not make it public. This only shows the idea to narrow down the fault. Additionally, other factors such as a PCB or CPU fault could be the cause and not the RAM ICs themselves (e.g. common failure on MacBook Air 13" 2011 with board number 820-3023).IntroductionWe will take the MacBook Pro Late 2013 15" IG with board number 820-3662 as a case study, in its 16 GiB RAM configuration which means fully populated with the 32 RAM ICs. This specific logic board was not passing ASD EFI memory tests.Each RAM IC has a data bus with of 8 bits, so 8 ICs are needed for the full 64-bit width data bus found in modern PCs. On top of that, there are two memory channels and 2 ranks per channel for a total of 4×8=32 ICs. This also means that 1 data bit on the memory data bus has 4 associated ICs.The memory controller does the mapping from physical addresses as seen by the CPU to the actual channel, rank, bank, row and column.Note that under an operating system, the software executing on the CPU will see virtual addresses and not physical addresses, the operating system manages the virtual address space and the MMU (Memory Management Unit), part of the CPU, does the translation between the two, but this not directly relevant here.In this article, we want to narrow down a memory failure detected by Memtest86 to a single IC. Memtest86 will show the "physical" addresses but not exactly which IC is affected. Note that recent versions of Memtest86 — the commercial one in its paid version — added support for identification of affected ICs on DIMMs for some platforms only. No DDR3 platform is supported.This requires that the system is able to POST and start Memtest86, i.e. no power due to shorted RAM IC or no POST (no chime or 3 beeps) cannot use this technique.Find errors with Memtest86Note...

First seen: 2025-04-06 01:12

Last seen: 2025-04-06 08:13