What is required to make RAM modules fully compatible with each other?
Solution 1:
-
There are several features that can distinguish two memory modules with the same clock speed. As Patrick mentioned, they can have different latencies. CAS latency is the number of cycles it takes from the time the CPU requests a certain memory address to the time that data is available at the memory module's pins, and is specified either as a single digit (e.g., CL=5) or as a series of digits separated by hyphens (e.g., CL=5-5-5-15 ). In the latter case, the digits refer to a set of delays. Memory addresses are laid out as rows and columns. CAS stands for Column Address Strobe, but there are also delays for Row address to Column address Delay (RCD), Row Precharge (RP), and Row Address Strobe (RAS). The details are beyond the scope of this question, but there is a nice Wikipedia article with a more in-depth explanation along with a nice table illustrating how the numbers are related.
But that's not the only difference. Server- or workstation-grade DIMMs usually come with buffers and/or error-correction. These are called Registered (aka Buffered) memory and ECC memory, respectively, and a DIMM can have one, both, or neither of these features. These types of modules often won't even work in consumer-grade desktop computers, and if they do work, the features are usually disabled. For a consumer-grade desktop computer, you should always look for Unbuffered memory modules.
There are also other reasons why one module may be more expensive--for example, it might have one or more (primarily cosmetic) additional features, such as a heatsink, fan kit, or even blinking LEDs.
Lastly, certain brands have gained reputations for reliability and compatibility (both with the computer and with other memory modules), whereas others have higher reported failure rates and more stability or compatibility complaints. I spent many years only buying certain brands of memory, but over the past few years I've started using other brands on occasion. Unfortunately, 3 out of the 5 other brands I've tried have had reliability problems, often passing an initial thorough memory diagnostic but failing more than a year later. It's true that most memory comes with a lifetime warranty, but the hassle of having to diagnose random crashes and later having to buy more memory to use during the replacement process is something you may want to consider.
In addition to reported timing-related issues, some Macs require low-profile DIMMs which are physically not as tall as other DIMMs. For these models, the taller DIMMs won't fit in the available space. For this reason alone, you should check for Mac compatibility, or at least double-check the physical dimensions of the memory. Given two modules with similar prices, I'd go with the one that is either labeled Mac-compatible or for which another Mac owner has left a positive review. If there is a huge price difference, I'd probably try the cheaper one as long as I could return it.
Solution 2:
RAM modules with otherwise similar specs could have different CAS latencies. All else being equal, a module with a lower CAS Latency (sometimes listed as CL) would cost more because it is faster.
Not all memory is Mac compatible. I have seen MacBook Pros that needed CL values of 8 to 10. Anything higher or lower caused kernel panics. You should find the CAS Latency of the RAM that came with the given Mac, and buy memory with that latency or higher. Apple generally supplies machines with the lowest latency (i.e., fastest) memory supported by that model Mac.