RAM Banks

The following article is an explanation of the differences between RAM banks, CPU bus widths, physical memory sockets and chipsets, as well as how they all interact. It seeks to answer questions such as 'why do I fit RAM 2 or 4 modules at a time", "what is a RAM bank" and "Why can't I mix memory modules". See the glossary at the end of this article for an explanation of the terminology found herein.

What is a RAM bank

A RAM bank is defined as one or more physical sockets on a motherboard which can be loaded with memory. On many machines, more than one physical socket forms a bank, but not always. Memory is always fitted one bank at a time, and there may be more than one bank on a motherboard. A bank must always be loaded with identical memory chips; both in size and in speed. Different banks can usually be loaded with different chips, but you must use the same type of chip within a bank.

The following table seeks to list all the possible 'standard' variations that make up a bank and are in use today. Note that there are a VERY small number of motherboards which do not conform to these rules. If your motherboard falls into this category, it should be considered to be a sub-standard design. read on to see why.
 

How many sockets make up a bank for a given CPU?
CPU Type
CPU Bus Width
30 Pin Sockets
72 Pin Sockets
168 Pin Sockets
286 16 Bits 2 Not Used Not Used
386SX 16 Bits 2 Not Used Not Used
386DX 32 Bits 4 1 Not Used
486 Class 32 Bits 4 1 Not Used
Pentium Class 64 Bits 8 (Not normally used) 2 1
Pentium Pro Class 64 Bits 8 2 1
Pentium II Class 64 Bits 8 2 1
 

Let's look closely at what this table tells us. The most obvious thing you should see is that the total number of data bits in a bank always equals the CPU's bus width (regardless of the type of socket(s) involved). Think about that, for it is the key to understanding memory layouts. From now on, think of RAM only in terms of banks, not in terms of physical sockets, because that's how memory systems are designed.

In effect the memory modules are electrically arranged so as to present a matching data bus bit width to the processor. There are some motherboard chipsets that break this rule, however they are very rare and usually suffer from poor performance, as any sort of "translation" of addressing can only cost performance in the extra 'work' done making the translations.

You should now see why mixing RAM sizes within a bank is not permitted: let's say you fit a 4Mb and a 16Mb SIMM to a single bank on a Pentium. For the first 4Mb everything is OK.. but from the first byte above 4Mb, all of a sudden half the data bits are no longer there! The 32Mb SIMM is supplying it's data as usual, but the 4Mb SIMM has "run out of range". The result is somewhat dependent upon the chipset: some chipsets simply read random garbage, others exhibit a 'wrap around' effect where the 4Mb SIMM is duplicated 4 times over the 16Mb range... either way, disaster is sure to happen should you attempt to store any real data there!

Chipsets
 
So, where do chipsets come into all of this? Each motherboard chipset is responsible for controlling the RAM, cache, shadowing, etc. Ignoring these features as much as possible, let's remember that in reality the CPU talks to the chipset ONLY, and the chipset talks to the RAM; the chipset is responsible for supplying the CPU with the right memory locations. Part of the design of DRAM type memory calls for a signal called RAS. RAS stands for Row Address Strobe and is one of the 'extra' control signals (created by the chipset) required to control the RAM. The rest of the details are not really relevant here; all you need to remember is the following rule: There is always exactly one RAS line per RAM bank. The number of RAS lines available from the chipset determines the number of RAM banks available.

72 pin double sided SIMM's present a rather unique problem. Double sided 72 pin SIMM's  are actually 64 bits wide, arranged as two independent sets of 32-bit wide memory, each half the capacity of the SIMM. This may make you think that double sided SIMM's can be used one at a time in 64 bit data bus based systems. This NOT normally the case. It is far easier for the chipset designer to implement a physical layout that accommodates both types of 72 pin SIMM two at a time, regardless of the type of SIMM fitted (IMHO this is purely to help not confuse the user too much as there's no purely technical reason why this should be the case). In other words, double sided 72 pin SIMM's electrically occupy twice as many RAS lines as they do physical banks.

Some motherboards combine the use different types of sockets; for example 486 boards often come with 4x30 pin sockets plus 2x72 pin sockets. Depending upon design, these boards can have two, three, four or five RAS lines. Some unusual combinations exist, such as one 72 pin socket supporting only single sided modules (one RAS line only), or the 4x30 pin sockets sharing one RAS line with a 72 pin socket, meaning that one or the other type of socket (but not both) can be filled.

Some motherboards (usually older 486's with 30 pin SIMM sockets only, and most 286/386 boards) also require you to fill the sockets in a certain order; usually starting with bank 0. If you don't start at bank 0, or if you skip a bank, the extra memory may not be recognized. This is purely a function of the chipset's design, and has nothing to do with the physical layout of the sockets. More modern motherboards usually allow the banks to be filled in any order, and have no restrictions on what combinations of different types of RAM can be fitted.
 
Case Study: Intel Triton Pentium (Socket 7) Chipsets

All Intel Triton 430?X Pentium chipsets have four RAS lines, except for the 430HX, which has six. 430HX chipset info will be listed in brackets, where different. We will ignore Pentium Pro/Pentium II chipsets here; we are discussing the Socket 7 chipsets only. There are 4(6) 72 pin memory sockets fitted to these boards, arranged as two(three) banks.

The following diagram shows how the RAS lines are wired up to the physical sockets:
 

Example one: Bank 0 is filled with two 8Mb SIMM's, bank one is filled with two 16Mb SIMM's, and bank two is empty. In this case, RAS lines 0,1 and 2 will be used. RAS lines 3,4 & 5 are not used. RAS line 3 is not used because the 16Mb SIMM's are single sided.

Example two: Let's now swap the banks around so that the 8Mb SIMM's are in bank 1 and the 16Mb SIMM's are in bank 0. In this case, RAS lines 0,2 & 3 are used and RAS lines 1,4 & 5 are not. A simple re-arrangement and the RAS line assignment is totally different!!

Example three: All three banks are filled with six 4Mb SIMM's. In this case, RAS lines 1,3 & 5 will not be used because 4Mb SIMM's are single sided.

Example four: Bank 0 is filled with two 16Mb SIMM's and bank 1 is filled with two 4Mb SIMM's. RAS lines 1,3,4,5 will not be used.

The only way all the RAS lines can be used is if you install all double-sided SIMM's. This in turn means that if you only ever use single sided SIMM's, you are effectively 'wasting' half the chipset's capacity. Motherboard manufacturers could conceivably build Triton boards with up to ten(twelve) 72 pin SIMM Sockets; allowing the use of all four(six) RAS lines with single sided SIMM's. This is not normally done due to the large amount of board real estate required, along with the fact that most users will never reach such a requirement (not much help for those of us with piles of old 4Mb SIMM's we'd love to use up though!!)

Triton Memory Bank Status Display

Triton chipset motherboards often have a "bank info" BIOS generated status box that appears at bootup time. The status box reports (amongst other things) where and what type of memory is fitted. It is very important to remember that this status box actually reports on the RAS lines used but uses the word "bank" to do so; they really should use the word "RAS" because they are NOT reporting on the actual physical number of banks on the motherboard that have SIMM's fitted!! Study the examples above and you should be able to decode what the status box is telling you. In fact, with a little practice and the knowledge outlined above, all you need is the bank info & total RAM size to work out exactly what type of RAM is fitted to each bank!

Example: Banks 0,2,3 present. Total RAM size 24Mb. Decoded, this means that bank 0 has single sided memory and bank one has double sided memory. The *only* combination of two single sided modules and two double sided modules that can give a total of 24Mb is 2x4Mb + 2x8Mb. It's that easy in all cases. Try it some time... no more taking machines apart to see what's what!!

168 pin DIMM's

A fairly new player on the RAM scene, DIMM's are electrically just two double sided 72 pin SIMM's, except on one single piece of circuit board. They have two RAS lines assigned, and both RAS lines are always used. Triton chipset boards have two(three) DIMM sockets. DIMM's are the way of the future, with almost all new boards either using DIMM's exclusively, or primarily using DIMM's, but supplying 72 pin SIMM sockets to keep upgraders happy a bit longer.
 
Conclusion

This concludes this fairly brief explanation. I have necessarily cut some corners to get this explanation out, so if you have any further questions, please do not hesitate to email me. I will expand upon this text based on your feedback.


Glossary

30 Pin SIMM's

30 pin SIMM's are the oldest type of memory module. Once the most common type of memory, they are usually found in 286, 386 and 486 class machines, but have fallen out of favour due to the fact that you would need to install them eight at a time in modern machines, which is too wasteful in terms of motherboard space. Each SIMM is 8 data bits wide (or 9 bits with parity). Sometimes they are referred to as 32 pin SIMM's - the last pin on each end of the connector is unused (and normally not physically present), thus the common adoption of the phrase "30 pin"

72 pin SIMM's

70 pin SIMM's are the more common current type of memory module. They are used in the widest range of machines; 486, pentium, Pentium Pro & Pentium II class machines. Each SIMM is either 32 (single sided) or 64(double sided) data bits wide (or 36/72 bits with parity/ECC). This terminology originated from the fact that early designs had the black RAM chips attached to either one or both sides of the SIMM's circuit board, however there is also an electrical difference in the way that the SIMM's are wired; double sided SIMM's are actually two independently operated blocks of RAM, each 32-bits wide and half the SIMM's capacity long. (an 8Mb double sided SIMM is really 2x4Mb SIMM's built on one piece of circuit board!). Modern SIMM's usually have no correlation between physical layout and number of 'sides' the SIMM is wired up as. As a rule of thumb, simply remember that 2Mb, 8Mb and 32Mb SIMM's are double sided, whilst 1Mb, 4Mb and 16Mb SIMM's are single sided.

168 pin DIMM's

168 pin DIMM's are the newest type of memory module. Each DIMM is 64 bits wide, and normally do not have any form of parity or ECC support. 168 pin DIMM's are used almost exclusively in Pentium-II systems (and a few odd Pentium Pro designs). DIMM's are always 'double sided'.
 

CPU Bus width

The CPU's bus width is how many bits of information the CPU's data bus can carry in a single operation. The wider the bus, the faster memory can be accessed. Memory is usually arranged in banks which total the same width as the CPU's bus.

286 & 386SX CPU's - 16 bits wide
386DX & 486 CPU's - 32 bits wide
Pentium Class CPU's - 64 bits wide

DRAM

Stands for Dynamic RAM. It's the type of memory used in most computer designs (even outside the PC world) because it's the cheapest and has the highest storage capacity.

RAS

Stands for Row Address Strobe. It's one of the control signals required to operate DRAM type SIMM modules.



Return to Index