Why does unequal amounts of RAM in each slot decrease performance?

12

3

This page describes the RAM specifications for many of the MacBook laptops. In the section for my laptop (13" Pro Late 2011), it says:

Additional Notes: For best performance, fill both memory slots, installing an equal memory module in each slot.

This isn't the first time I've heard of this phenomenon, and it's definitely not specific to Apple.

Why is this the case? Other than the obvious decrease in available memory, why would it be worse to run with 6GB (1x4GB + 1x2GB) than with 8GB (2x4GB)?

LanceLafontaine

Posted 2014-10-07T17:18:35.400

Reputation: 448

First...Its not a phenomenon it has to do with the memory channels. Second there would be no performance increase/decrease between your examples. – Ramhound – 2014-10-07T17:24:47.240

@Ramhound if there is no performance decrease, why is there that warning on the Apple website? – LanceLafontaine – 2014-10-07T17:26:38.580

I said in your example if you were not running in dual-channel mode there would be. There is a difference between theoretical performance loss and actual performance loss. – Ramhound – 2014-10-07T17:33:15.667

Answers

17

With equal amounts of memory in both slots, memory can be "interleaved" so that successive chunks of memory alternate slots. That way, memory accesses get distributed to both slots almost perfectly evenly, allowing their bandwidth to combine. With uneven amounts, memory cannot be interleaved and has to be mapped first to one stick and then to the other. A program that is accessing a large contiguous chunk of memory will find almost all of its accesses going to one stick, and there will be no bandwidth combination.

David Schwartz

Posted 2014-10-07T17:18:35.400

Reputation: 58 310

Your (unqualified) use of "interleaved" is confusing to an old-timer like me. The interleaving in this case is only for the memory address assignment. Presumably the memory modules would also operate in either single-channel or multi-channel modes (i.e. N channels would perform their memory cycles simultaneously). Traditional interleaved memory only overlapped their cycles (a memory bank could began its read cycle before the previous bank completed its cycle), for a cheap performance gain without adding another memory channel. – sawdust – 2014-10-07T19:16:50.960

@sawdust "so that successive chunks of memory alternate slots ... allowing their bandwidth to combine" – David Schwartz – 2014-10-07T19:22:06.537

1That's part of the ambiguity. "Alternate" in a static and/or dynamic sense? Traditional interleaved memory would "alternate" between banks in both static (addressing) and dynamic (memory cycle) sense. Multichannel would (dynamically) access the modules simultaneously, rather than alternate. – sawdust – 2014-10-07T19:30:56.153

4

Additional Notes: For best performance, fill both memory slots, installing an equal memory module in each slot.

The likely technical explanation here is that your MacBook(motherboard) supports dual- channel architecture, and thus requires 2 identical memory modules. Benchmarks suggests that it gives 5%-10% performance boost.

Why is this the case? Other than the obvious decrease in available memory, why would it be worse to run with 6GB (1x4GB + 1x2GB) than with 8GB (2x4GB)?

When two non-identical memory modules are used, the motherboard will run the memory modules at the speed of slowest module.

mVincent

Posted 2014-10-07T17:18:35.400

Reputation: 159