BleepingComputer is being sued by Enigma Software because of a negative review of SpyHunter.
A case like this could easily cost hundreds of thousands of dollars. If we have ever helped you in the past, please consider helping us. To learn more and to read the lawsuit, click here.
All unused funds will be donated to the Electronic Frontier Foundation (EFF).
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.
What is RAM?
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.
Back to table of contents
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:
Common RAM Sizes
If I remember correctly the original SIMMs came in 256KB, 512KB and 1MB packages and cost a small fortune. In the days of Windows 95 a computer would commonly have several 4MB or 8MB memory modules. By the time Windows 98 came out these had become 16MB or 32MB modules to make up around 64MB in a good system. For Windows XP computers 128MB is a workable minimum depending on what applications you want to run, modules tend to be 128MB, 256MB or 512MB. Currently systems routinely ship with 512MB sticks and 1GB sticks are becoming more common.
RAM module sizes always double: 4MB, 8MB, 16MB, 32MB, 64MB, 128MB, 256MB, 512MB, 1GB, 2GB, etc. (since strictly speaking 1GB = 1024MB) You wont find any 96MB RAM modules for example, but your system may have an "unusual" amount of total RAM for a couple of reasons
The RAM in Intel based computers is accessed by the CPU via the front-side bus (FSB) and the memory bus. Improvements in technology have changed the speed of the FSB dramatically. Similarly the RAM itself has a maximum speed at which it can reliably operate and this must be at least as high as the memory bus speed. Clearly there is a 'grey area' where the definition of reliable operation is made and this is one difference between 'low quality' and 'high quality' RAM - the high quality RAM is likely to operate with close to 100% reliability significantly above the bus speed for which it is rated. This is one of the regions that overclockers exploit to boost their system performance - increasing the FSB speed to take advantage of the performance 'buffer zone' of good quality RAM.
Obsolete SIMM modules (EDO or FP) were rated by the response of the chips on the module e.g. 70 nanosecond. Older SDRAM sticks were rated as 66MHz, 100MHz (PC100) or 133MHz (PC133) speeds. Original DDR was rated at PC1600 or PC2100. Current DDR is rated as PC3200. Original RIMM modules were PC600, PC700 and PC800 speeds. Current RIMM modules are rated PC1066. Original DDR2 is designed for 400MHz, 533MHz and 667MHz speeds. Latest DDR2 is designed for 800MHz operating speed.
What does this mean in terms of quantity of data that could be transferred per second? Taking information from a variety of memory manufacturers sites we can make a table to show some comparisons of peak memory performance:
|Type of RAM||PC Rating||
|Dual Channel RIMM||PC800||400||3200|
|Dual Channel RIMM||PC1066||533||4200|
|Dual Channel DDR2||PC2-3200||400||6400|
|Dual Channel DDR2||PC2-4200||533||8400|
|Dual Channel DDR2||PC2-5300||667||10600|
|Dual Channel DDR2||PC2-6400||800||12800|
Now we are getting technical... In the simplest terms Latency is delay. In a computer it is the inevitable pause between asking for some data and having that data available to be used. To give a real life example I looked at the Newegg site and found a couple of pairs of 1GB DDR PC3200 RAM modules which would look nice in my system, but am I better off ordering the OCZ Gold RAM with 2-3-3-8 timing or the Mushkin High-Performance RAM with 2-3-2-6 timing? What the heck do those numbers mean anyway?
I'll try to offer a simple explanation, but if all this terminology really makes your eyes glaze over then just remember if all else is equal then the lower the numbers are, the better the RAM will perform. Then skip to the next section. For the rest of us here goes:
Data is stored in your computer's memory chips in a similar way to storing data in a spreadsheet - it is organised in rows and columns and is sequential along a row. For example in a 16Mbit chip there would be 4,194,304 address locations or "cells" arranged in 2048 rows and 2048 columns. Each cell in the chip holds four bits of data. Part of the chip might look like this:
|Address||Column 1||Column 2||Column 3||Column 4|
Keep in mind the ones and zeroes are represented by voltage levels in the form of electrical charge in a capacitor in the real chip and that these are being refreshed repeatedly. To read the data in a particular cell in our 2048x2048 chip the computer needs to indicate which Row the data is in and then indicate the Column that holds the cell containing the required data. It does this by issuing (in binary) an "address" for the Row and then the Column using the same 11 bit address bus in each case (because it takes 11 bits to count up to 2048 in binary). For example to read the data in the green cell in the diagram the computer must first address Row 3 (highlighted in yellow) and after that address is fixed it addresses Column 2 (highlighted in blue). Can you see a delay here already?
Because everything is taking place at mind-boggling speed there has to be a 'pause' between issuing the Row address and issuing the Column address to allow the voltages to stabilise. If the pause is not long enough the Column address could be corrupted by voltage remaining from the Row address resulting in the wrong data being read. Both the Row address and the Column address are "latched" into the memory chip by signals called "strobes", so we have a Row Address Strobe (RAS) and a Column Address Strobe (CAS). The necessary delay between them is called the RAS-CAS delay or TRCD. All the delays referred to are measured in clock cycles rather than actual time intervals.
Once the cell data (1010) has been read the next four bits of data required are (usually) in the same Row but in the next Column along so only the Column address needs to be changed. Again there must be a delay while the previous address 'evaporates' and the new address voltages stabilise before the address can be latched. This delay is called the CAS Latency or CL.
Similarly, once all the required data in a row has been read a different row needs to be addressed. Since the contents of the cells have to be refreshed and this is done on a Row by Row basis there is another delay required called the RAS Precharge time or TRP.
The memory in your computer is not active all the time and during the (tiny) intervals of inactivity certain parts of the memory are shut down to help prevent the chips from overheating. This introduces a delay when they need to be activated again. This is called the "Active to Precharge" delay or TRAS.
Finally there is another delay that must be allowed for, which is the delay between the computer selecting a particular memory chip (as there will be many chips making up your RAM) and being able to issue a command to that chip. This is called the Command Rate and for some reason seems to be without an acronym.
So coming back to the real world and our examples from Newegg can you guess what the quoted "timing" numbers are? That's right - they are the delays or latencies we've just discussed. Here's how a typical timing specification might look:
Note that the numbers are valid only for the rated clock speed and will also be quite different for different types of RAM.
The real life examples were 2-3-3-8 and 2-3-2-6 both of which are good for DDR at 400MHz, but I can now see that the Mushkin 2-3-2-6 RAM may be more stable under heavy load than the OCZ RAM. So I can check the price differential and consider whether that is likely to be an important factor for my computer usage.
These latencies and timing figures have to be entered in the BIOS when the RAM is installed - the reason you've probably never had to do this is they are programmed into the SPD EEPROM on the RAM module and the BIOS reads the values automatically (unless set to manual). If you have two RAM modules with different timing figures then the BIOS takes the highest figure (slowest setting) to work with. The timing figures are manufacturers recommendations for successful operation, there is no law which says the memory module will not work with different timing and this is fertile ground for overclockers to experiment. They switch the BIOS memory settings to Manual so the SPD is ignored and insert their own figures in the BIOS. I am NOT suggesting anyone attempt to do this, unless you know exactly what you are doing. You can destroy your RAM with inappropriate settings.
Back to table of contents
How to Identify your RAM
To properly identify your RAM you need to know the total memory size in Megabytes(MB), how many memory modules there are, the type of RAM you have, its speed and ideally its manufacturer. There are a number of different ways you can find some or all of this information.
Ironic that this quote should come from the founder of Microsoft - the company whose Windows operating system goes through computer resources like kids go through birthday cake. Users of Windows XP will quickly realise that it does not run properly on the minimum system requirements of 64MB RAM and many people recommend 512MB as a minimum for running even medium complexity applications. Budget systems are still being released with 128MB of RAM to run XP Home and those owners will soon be wanting to upgrade their memory to make their systems more responsive. So how much RAM is enough for anybody these days? Well there is lots of advice available on the Internet including detailed analyses covering different Operating Systems such as the 'Kingston Ultimate Memory Guide' (see references). There is also a lot of nonsense written about RAM requirements, for example one site said 512MB is adequate for a Windows XP system "if you only run one application at a time or if it's your grandmother's computer" - I'm guessing the author doesn't own a "PC" but instead owns a "Gaming Rig".
To cut a long story short you should look at the maximum RAM your system can accommodate, the maximum you can afford to spend on the upgrade and then aim to at least double what you have now. Assuming you're running Windows XP on a PC with 128MB then if you're an average user on a tight budget aim at adding 128MB or 256MB. If you're an average user that does some digital photography and some gaming look to have 512MB in your machine or if you do more complex stuff or play some serious games on your PC make that 1GB. If money is no object, make it 2GB and if you're a gaming freak... well you won't be reading this tutorial anyway.
Back to table of contents
Can you have too much RAM?
Yes you can!
|No. of RAM Sticks||Size of Each Stick||RAM Type||RAM Speed||Latency||Preferred Brand||Series||Total Amount of RAM||Add or Replace?||Price|
|2 (matched pair)||1GB||DDR||PC3200||2-3-2-6-1T||xyz||Iridium||2GB||Replace||$???|
Motherboard manufacturers try to make it easy for us to install the RAM by colouring the RAM slots differently for different channels. So you might have a motherboard with four slots, two of them blue and two of them green for example. Unfortunately some manufacturers use the colour to indicate which channel the slot belongs to while others use it to show which is the first slot on each channel. If you get it wrong you can still use all your RAM but you won't have the speed benefit of Dual Channelling. Check your motherboard manual for their recommendation for where to install the RAM modules. After installation use a utility like CPU-Z to check whether Dual Channelling is active or not.
Then press down (towards the motherboard) on the latches at either end of the vacant slot to put them in the 'open' position. Insert the module in the slot with the gold contacts towards the slot, double check it's the right way round, then push it firmly down into the slot using firm thumb pressure equally on each end of the module. If all is well the latches will pop up to lock the module in place. Do the same thing for any other RAM modules to install and you're done.
Put any removed modules in the RAM container, take off your static strap, close the computer case and reconnect the power. The system is ready to go.
For a rather simplistic Flash presentation on installing RAM see this link: http://www.kingston.com/support/howto/default.asp
When handling RAM, as with other computer components, care needs to be taken to avoid damaging the component through the discharge of static electricity that builds up on your body or clothing. Static is especially a problem during dry weather and if you have synthetic carpets or clothing. For example a synthetic pullover (sweater) would be a bad choice of garment to wear while upgrading memory, a short-sleeved cotton shirt would be a much better choice. The best way to combat static while working inside your computer is to wear a static strap attached to the chassis and worn on your wrist during the whole process. Disposable static straps are available for a few dollars; professional versions may cost $30-40. Alternatively if you can maintain good contact between yourself and the metal chassis for most of the process and try not to move around too much then that may be adequate without a strap.
I hope this tutorial has informed you of some of the different types of RAM found in computer systems, explained some of the intricacies of RAM timing, shown you how to identify the RAM in your own computer and helped you to choose the correct quantity and type of RAM when upgrading.
Back to table of contents
* Images of Corsair memory products are used with the kind permission of Corsair Memory.
Back to table of contents
Have you ever had an experience where you are using a lot of programs in Windows, or a really memory intensive one, and notice that your hard drive activity light is going nuts, there is lots of noise from the hard drive, and your computer is crawling? This is called disk thrashing and it is when you have run out of physical RAM and instead Windows is using a file on your hard drive to act as a ...
A very common question I am asked is which is more important, the speed of the processor or the amount memory. This is a difficult question to answer and it would help if we had some understanding of what each component does and how they relate to each other. This article will strive to teach you the fundamental tasks of both memory and the cpu and how they relate to each other. Hopefully at the ...
Most people think computers, being electronic devices, don't require any mechanical maintenance, but this is not so. Many computer faults are caused by components overheating due to poor airflow in the case because of a buildup of dirt and dust over time. It's worthwhile cleaning your computer annually or even more often if it is in a particularly dusty environment, on carpet or in a ...
Almost everyone uses a computer daily, but many don't know how a computer works or all the different individual pieces that make it up. In fact, many people erroneously look at a computer and call it a CPU or a hard drive, when in fact these are just two parts of a computer. When these individual components are connected together they create a complete and working device with an all ...
I am sure many of you have been told in the past to defrag your hard drives when you have noticed a slow down on your computer. You may have followed the advice and defragged your hard drive, and actually noticed a difference. Have you ever wondered why defragging helps though? This tutorial will discuss what Disk Fragmentation is and how you can optimize your hard drive's partitions by ...