This tutorial is intended to explain what RAM is and give some background on different memory technologies in order to help you identify the RAM in your PC. It will also discuss RAM speed and timing parameters to help you understand the specifications often quoted on vendors’ websites. Its final aim is to assist you in upgrading your system by suggesting some tools and strategies to help you choose new RAM. It is written from the standpoint of a desktop PC owner but most of the concepts apply to laptops and notebooks as well. Like all PC components, RAM has gone through a number of evolutionary changes (and some revolutionary changes) and only the RAM designed for your computer will work in your computer. There are literally hundreds of different RAM products on the market today so it is important to know the correct type for your system. I am attempting to write this for the non-technical user but the further I get the more I descend into techno-babble so you may need to learn a few terms along the way. I’ll assume familiarity with common terms like Megabytes and Gigabytes etc. Finally I should say I’m not a memory expert, some of the information here I came across in the process of writing this tutorial, but I hope you will get as much out of this exploration of RAM as I have.
So, OK my friends let’s start. our lesson,
The term ‘RAM’ is an acronym for Random Access Memory, this is the memory that your computer uses to run its operating system and any applications that you start. The name means that the computer can access information held anywhere (i.e. at a random location) in RAM by addressing that part of the RAM directly. In other words if there is some information stored in the 1000th location in memory the system does not have to read the information in the preceding 999 locations to get there, instead it can access the 1000th location simply by specifying it. The alternative would be called sequential access, an example of which would be accessing information stored on a hard drive – the drive can only read the information which is currently passing underneath the read/write heads, so if an application wants information in say sector 14 of a certain track the drive has no option but to read all the information on that track. The drive electronics then separates out the information from sector 14 and returns that to the application, the information from the rest of the track is discarded. So RAM is the quickest way of organising information for retrieval. Why not have everything on your computer stored on RAM? The answer is cost and volatility – RAM costs far more per GB than a hard drive and most RAM requires power to maintain the information stored in it (It’s memory is “volatile”). If you had a RAM only computer you would have to reload the operating system and all your applications and data every time you switched off or there was a power cut. There are appropriate uses for this type of computer (e.g. thin clients) but generally a system is best served by a mix of RAM and Drive storage. Your computer needs different amounts of RAM for different tasks and the more applications you open the more RAM is required. You might think that sooner or later you will run out of RAM and then what? Well the operating system is designed to cope with that situation by ‘paging’ blocks of RAM to the Hard Drive. What that means is if the system is running out of RAM it takes the contents of a ‘chunk’ of RAM (usually the least used part) and writes it to a reserved area of the Hard Drive, called the Page File or Swap Space. The ‘chunk’ of RAM is then declared free for use. By using the swap space in this way the system normally never runs out of RAM. But as we have already discussed accessing information on the Hard Drive is inherently slower than accessing it from RAM so the result is the computer slows down. No-one likes a slow computer so what do you do about it? Obviously you want to add more RAM but to do this you need to match the additional RAM with what is already in your PC and you need to be sure your motherboard will support the kind of RAM you intend to use.
hmm, now I hope you got basic idea bout RAM,, fine, next…
Can we look at about All types and categories of RAM. ok let’s move to that.
Different Types of Memory and some Terminology
In “the beginning” RAM came in the form of semiconductor chips which were individually plugged, or soldered, into the motherboard. That made up the original 640KB of system memory that DOS hung onto for so long. Now memory comes in clip-in modules, usually called memory sticks (not to be confused with USB Flash drives which sometimes go by that name). Memory sticks or modules have changed format over the years as their capacity has increased. Here is a list of the main types, in rough order of increasing complexity, along with other terms used to describe them:
A 30pin SIP module
A 30pin SIMM module
A DIMM module *
A DDR module with heatspreaders *
A DDR2 module with large heatspreaders *
- Pins – Originally the name for the “legs” on a memory module, similar to the legs (or lead) on an electronic chip. The terminology has carried over to describe the number of contacts on memory modules even when they are not pins.
- Bus – A group of electrical conductors linking different parts of the computer. Just as a bus in real life is a means of transporting large numbers of people from one location to another, so a bus in a computer is a means of transporting large numbers of signals (or data) from one integrated circuit to another. For example the front-side bus (FSB) transports data between the CPU and the Memory Controller (and to other destinations). Buses may contain subgroups that are also buses, for example the “Memory Bus” which links the Memory Controller and the RAM contains an address bus, a data bus and a command bus.
- SIP – Single Inline Package – an obsolete type of memory module with a single row of (actual) pins along one side.
- SIMM – Single Inline Memory Module – an obsolete type of memory stick with power and data contacts on one side of the board. 30 pins.
- DRAM – Dynamic Random Access Memory – a generic term describing RAM in which the data needs to be refreshed continually. Very widely used in mass production PCs.
- SRAM – Static Random Access Memory – a generic term describing RAM in which the data is retained without the need to refresh. Faster, larger and more expensive than DRAM.
- Cache Memory – Cache is a term used to describe a number of different functions in the computer. Cache memory is a separate store of SRAM used by the CPU to store the most frequently used ‘information’. The cache can be accessed more quickly than normal RAM so by storing frequently used functions/data there an overall speed increase can be obtained. There are different “levels” of cache depending on how close they are to the CPU, Level 1 cache is actually part of the CPU chip itself, Level 2 and Level 3 are external to the CPU usually on the motherboard.
- FP – Fast Page RAM – A type of DRAM, introduced in 1987, which allows multiple accesses to a memory location without the need to re-specify the address.
- EDO – Extended Data Output RAM – a type of DRAM which uses assumptions about the next memory access to pre-read data. Introduced in 1990 with approx 10% increase in speed over Fast Page. Sometimes known as Hyper Page Mode (HPM).
- DIMM – Dual Inline Memory Module – a memory stick with power and data contacts on both sides of the board.
- Parity – Parity is part of an error checking process that can be used to verify the integrity of data stored in RAM. The data is stored, as is always the case in computers, in binary – a sequence of eight ones and zeroes which make up the byte of data. The Parity of that data byte is found by determining whether there are an odd number or even number of ones in the data. The parity of each data byte can then be stored by adding an additional bit of data, which can be either a one or a zero. This extra bit of data is called the ‘Parity Bit’. In the ‘even parity’ system if the total number of ones in the byte is an odd number the parity bit is set to one, thus evening up the number of ones. (There is also an ‘odd parity’ system which is the other way round just to confuse us all). When the data is read back into the system the computer again calculates the parity of the data byte and compares that to the parity bit that was stored with it. If the calculated and stored parities agree then all is well (usually) but if they disagree then there has been an error and the data byte is suspect. To use parity error checking the RAM must be able to store nine bits per byte of information.
- ECC – Error Correcting Code – RAM that has additional data storage for checksum bits to allow correction of errors ‘on the fly’. The memory controller on the motherboard must support this function.
- SDRAM – Single data-rate Synchronous Dynamic Random Access Memory – Introduced in 1997, memory access is synchronised to the bus clock and the bus is 64 bits wide. 168 pin modules.
- RAMBUS – A revolutionary memory technology developed by Rambus Inc. based on a type of video memory and designed for use in PCs with Intel processors. Introduced in 1999.
- RIMM – Rambus Inline Memory Module – the memory stick used in systems using Rambus RAM. 184 pin modules.
- C-RIMM – The continuity module required to fill empty memory slots in the Rambus system.
- RDRAM – Rambus DRAM – originally designed to operate at bus speeds of up to 800MHz but only 16bits in width.
- DDR – Double Data Rate memory – a type of DRAM based on SDRAM technology that operates at twice the bus clock rate. It uses 184 pin modules. Released in 2000. This was the mainstream memory technology to the end of 2005.
- SODIMM and SORIMM – Small Outline versions of DIMM and RIMM sticks. These are smaller and thinner memory modules, typically used in laptops. Modules have 144 or 200 pins.
- SPD – Serial Presence Detect – circuitry (an EEPROM) built in to a RAM module which will send information to the BIOS and to the Memory Controller to inform it what type and how much memory is present, where it is and set up complex timing parameters.
- Heat Spreader – A thin metal cover making thermal contact with the memory chips and assisting in cooling. Also allows manufacturers to put large logos and badges on the memory modules.
- DDR2 – Double Data Rate2 memory – a type of DRAM based on DDR technology that operates at twice the clock rate. Released in 2004. This is expected to be the mainstream memory technology to the end of 2007. Not compatible with DDR motherboards. Modules have 240 pins.
- Dual Channel Memory – There is no difference between Dual Channel DDR Memory and ordinary DDR Memory, it’s the motherboard that is different. Systems that have dual channel capabilities can effectively double the bandwidth of the Memory Bus by accessing the RAM modules in pairs. To use Dual Channelling you would purchase RAM in matched pairs and install it symmetrically across the memory channels.
- Virtual Memory – This is RAM that is simulated by the system when running out of space in the real memory modules, it is actually space on the Hard Drive and as such is far slower to access than real RAM. Significant degradation of system performance occurs if more than a certain percentage of current data resides in virtual memory.
- Latency – A delay interval. I was hoping to gloss over this but so many RAM companies quote latency figures it’s bound to come up. See the section on Latency below.
- Bank – A group of memory chips (not modules) that together can supply enough data bits to equal the CPU data bus. In the days of 30 pin modules memory chips only held one bit per address and you could only fit 8 chips on a module so to “fill” the 486CPU’s data bus (which was 32 bits wide), you needed four modules to make one bank. The introduction of 72 pin SIMMs meant the whole 32bits of data could be supplied by one module, but when the Pentium CPU was introduced with a 64bit data bus so you needed 2 SIMMs to make a bank. This explains why owners of older Pentium systems always had to add or upgrade their memory in pairs. With the introduction of the 168pin DIMM this drawback was overcome and now there can be many banks of RAM on one memory module.
- Rank – A row of memory chips. Usually a rank fills one side of a memory module so if your module has two ranks that means there are chips on both sides.
Ok. Next day I will explain more about memory..