iMac (Retina 5K, 27-inch 2020) RAM Upgrade
The Manufacturer
and Part Number
fields on a DRAM module are stored on an EEPROM chip on the module and transmitted to the CPU using the Serial Presence Detect (SPD) protocol. SPD information is read by firmware at system boot time and that information is then handed over to the OS using ACPI. macOS's xnu kernel stores and publishes ACPI data using IORegistry.
System Profiler reads ACPI data via IORegistry's IODeviceTree
plane. You can view all the published properties of your DRAM with the following command:
ioreg -p IODeviceTree -n memory -r
Whatever strings are stored in the dimm-manufacturer
and dimm-part-number
fields here will be the same as those shown by System Profiler
.
If these fields are missing or have 0
/ Unknown
values, this may be either:
- The result of that SPD data being absent from the EEPROM, in which case it is the manufacturer's fault; or
- Due to a bug in the firmware's platform-dependent memory reference code, which is specific to a particular Mac hardware product version (e.g.,
iMac20,1
in your case) and often contains bugs that are specific to just that product version due to the proportionally lower amount of testing and engineering exposure that any given product version gets relative to the entire family. In this case it would be Apple's fault.
A way to discern between (1) and (2) would be to install the same DRAM in another system that is compatible with that kind of DRAM but which is not an iMac20,1
. If you see valid values, then it's Apple's bug and should be reported to them. If not, reach out to OWC and see if this is expected behavior.