So to begin the lesson:
Bit= a ZERO (0) or a ONE (1) This is a single piece of data.
Byte= 8 BITS
Metric System in PC Terms only: (aka some of them are missing that are not used in the Computer lingo world).
- n = Nano (billionth)
- µ = Micro (millionth)
- m= Milli (thousandth)
- K= Kilo (thousand)
- M= Mega (million)
- G= Giga (billion)
- T= Tera (trillion)
- P= Peta (quadrillion)
RPMs= Revolutions Per Minute
Hz= Hertz (a measure of one cycle, operation) These are in a wave pattern, with a Crest and a Trough A variable amount of bits are processed on each crest and trough of a Hertz. Below is a picture of 3 Hertz.
The first thing I will address are these fun abbreviations everyone uses. The storage areas your PC uses are called memory. Specifically, this guide covers RAM, which stands for Random Access Memory. Ok, that is all well and good Rahja, but what does that even mean? Well, it is exactly what it says. RAM is randomly accessed memory, only be accessed when needed, and accesses being random and erratic. When you turn off your PC, all the data inside the RAM modules is erased.
Well, to understand exactly what that means, you have to understand a bit about hard drives. When you install a program, the computer WRITES the data to the hard drive for future use when you use that program. However, let us think about a concept for a second. A hard drive spins like a CD player or an old record player (between 5400-15000 RPMs depending on your model). While this may seem fast, it is terribly slow when compared to your CPU (Central Processing Unit), which for sake of argument, will either be an Intel or AMD.
Your processor is rated on a scale of Hertz. Most modern processors run above 1.5GHz. So, a 1.8GHz process makes 1,800,000,000 cycles per second, again, known as Hertz. Without getting more into that topic though, 1.8 billion is > 5400-15000 isn't it (despite that being a simplified view)? So, by that concept, hard drives are far too slow to hold temporary information that the processor needs to access readily when running a program. So, this is where RAM comes into play. Most RAM, except for 2 types, run slower than the CPU. Why? Because technology hasn't adapted to fit the new forms of RAM known as XDR1 and XDR2 (Extreme Data Rate) [XDR1 is used in the Playstation3 for a quick reference to its complexity and power], it just cannot be found in standard computers. The Hard Drive is where the "Virtual Memory" is allocated. It is "pseudo" memory used only when your physical RAM runs very low. Because of the above slow speeds of the Hard Drive, Virtual RAM is not a good thing to be running off of, which is why increasing the amount of RAM on sluggish systems will usually boost their performance (only to a point!)
Current types of RAM that modern computers use are DDR1, DDR2, and DDR3. DDR stands for Double Data rate, meaning that the RAM can send and receive data TWICE per Hertz (cycle remember?) The true title of the RAM is DDR1-SDRAM (Double Data Rate *Series 1* Synchronous Dynamic Random Access Memory), or DDR2-SDRAM, DDR3-SDRAM, and DDR2 FB-DIMM.
Uh oh... a new term you may have just noticed. DIMM... What does that stand for you are probably pondering. DIMM stands for dual in-line memory module. Types of DIMMs include the following (table taken from Wikipedia)
- 72-pin SO-DIMM (not the same as a 72-pin SIMM), used for FPM DRAM and EDO DRAM
- 100-pin DIMM, used for printer SDRAM
- 144-pin SO-DIMM, used for SDR SDRAM
- 168-pin DIMM, used for SDR SDRAM (less frequently for FPM/EDO DRAM in workstations/servers)
- 172-pin MicroDIMM, used for DDR SDRAM
- 184-pin DIMM, used for DDR SDRAM
- 200-pin SO-DIMM, used for DDR SDRAM and DDR2 SDRAM
- 214-pin MicroDIMM, used for DDR2 SDRAM
- 240-pin DIMM, used for DDR2 SDRAM, DDR3 SDRAM and FB-DIMM DRAM
Think of the term DIMM as Memory Module. Without going into a huge amount of detail, the term is the same as saying Memory Module, so a RAM Memory Module = RAM DIMM. Make sense? If you would like to read up more on DIMMs, and a lot more info on them, check out the Wikipedia article on the subject. I have proofread the article and corrected all errors that I could find in it. http://en.wikipedia.org/wiki/DIMM
So, here is a table of DDR1 Memory Speeds:
- DDR1-266, PC2100
- DDR1-333, PC2700
- DDR1-400, PC3200
- DDR1-433, PC3500
- DDR1-500, PC4000
- DDR1-550, PC4400
Picture of a stick (module) of DDR1 RAM. Note how "long" the individual chips are compared to the more compact modern DDR2 pictured below.
The table above gives the RAM type (also its bandwidth) (PCxxxx) and its speed variable (DDR1-XXX)
The speed of the RAM is based on on the core clock of the RAM which ranges from 133-275MHz on DDR1. Notice something? If you guessed that the core clock speeds are half of the relative clock speeds (aka speed variables), you are CORRECT! Remember, DDR stands for double data rate! So, if you take the core clock and double it, you get the variable/relative clock. Fun stuff isn't it? The second pair of numbers (i.e. the PCXXXX) is an indicator of Bandwidth (the amount data that can be transfered to and from in one second). So PC2100 can transfer 2.1GB/sec (in reality it is 2.133GB/sec) PC3200 is 3.2GB/sec.
Here is a table of DDR2 Memory Speeds:
- DDR2-400, 3200
- DDR2-533, 4200
- DDR2-533, 4300
- DDR2-667, 5300
- DDR2-667, 5400
- DDR2-675, 5400
- DDR2-750, 6000
- DDR2-800, 6400
- DDR2-900, 7200
- DDR2-1000, 8000
- DDR2-1066, 8500
- DDR2-1100, 8800
- DDR2-1111, 8888
- DDR2-1142, 9136
- DDR2-1150, 9200
- DDR2-1173, 9384
- DDR2-1200, 9600
- DDR2-1300, 10400
Note, as mentioned above, the modules are "shorter" and more compact, thus showing the improvement in technology.
Same applies above to DDR2, Speed is on Left, Bandwidth on Right. The obvious difference is the speed and bandwidth. DDR2 is superior in both, but its latencies are higher (explained below) However, despite that, it is superior @ speeds of 667MHz and above.
Here is a table of DDR3 Memory Speeds:
- DDR3-1066, 8500
- DDR3-1333, 10600
- DDR3-1333, 10666
- DDR3-1600, 12800
- DDR3-1625, 13000
- DDR3-1800, 14400
- DDR3-1866, 15000
- DDR3-2000, 16000
Here is an uncovered module of DDR3.
Take note again, of the ever decreasing module size. This is again, due mainly in part, to the shrinking fabrication techniques for transistor creation.
ALSO: Note that DDR1 has 184 gold connector pins that go into the motherboard slot, whereas DDR2 and DDR3 have 240 gold connector pins.
So, all this is fine and dandy and I bet half of you could careless at this point. Totally understandable, but we need to cover one last concept of RAM before I can get to the really important stuff, the stuff that impacts your computers when you chose to buy new RAM or add more to your existing computer. That topic you ask? LATENCY!
The Latency of a module of RAM is determined by its TIMINGS.
Those timings are as follows:
- CAS Latency (tCL) (also known as Column Address Strobe latency [tCAS])
- Row Cycle Time (tRC) (also known as Row address to Column address Delay [tRCD])
- Refresh Row Cycle Time (tRFC) (also known as Row Precharge Time [tRP])
- Row Active Time (tRAS).
Basically, without doing to deep here... the LOWER each of those numbers, the BETTER. CAS Latency (CL) is the most widely understood number. However, do not be fooled by it. Slightly higher CAS on a much higher speed RAM is a good thing. Despite the higher CAS, the speed of the RAM will usually outweigh the CAS. Only compare latency on related RAM, aka one stick of DDR2-1066 vs another stick of DDR2-1066 RAM, or to similar speeds between memory types: i.e. DDR2-1066 vs DDR3-1066. The lower the latency, the faster the RAM will react. Typically, the Latency is listed in a chain of numbers seperated by hyphens. Latency is measured in ns (nano seconds)
Example:
Capacity 2GB (2 x 1GB)
Speed DDR2 800 (PC2 6400)
Cas Latency 4
Timing 4-4-4-12
Voltage 2.1V
See the 4-4-4-12? tCAS-tRCD-tRP-tRAS. tCAS=4, tRCD=4, tRP=4, tRAS=12. That is the order. So, when you go shopping for RAM, look for a low CAS, and a low tRAS, the numbers in between should match the tCAS or be VERY close.
tRAS should be tRCD + tCAS -1 to +2 for DDR1, +4 to +7 for DDR2, tCASx3 +1 to +4 for DDR3 in THEORY, but a number SLIGHTLY higher or lower isn't going to cause any real issues. The number should look reasonable and close enough to the formulas above to not alarm you. If it looks surprisingly high, that RAM may be a bad choice for purchase.
Acceptable CAS Latencies are as follows:
- DDR1= 2.5, 2
- DDR2= 3 to 7, varies on speed. (most models you want between 4-6)
- DDR3= 6 to 9, again varies on speed.
VOLTAGES:
Voltage on RAM modules can help you determine performance. High performance typically has slightly higher voltage from discount or value RAM modules. This is due to higher clock speeds and more demanding timing tables (explained above).
When purchasing RAM, make you to check the supported voltage settings of your motherboard compared to RAM modules. You do not want to end up with high performance RAM that requires 2.2V while your motherboard can only support a maximum voltage of 2.0V.
Voltage increases can be used to aid in performance tweaking used in but not limited to overclocking, divider adjustments (another step in overclocking), latency timing adjustments (higher voltages for tighter timings, lower voltages for loser timings), and heat control (lower voltage = lower heat, and vice versa.)
Voltage should be a minor factor in buying memory of the average PC builder. However, if you are an enthusiast, ask myself or another knowledgeable person regarding this delicate subject if the need arises.
Another bit of Information you will find on many modules of RAM is their COMMAND RATE. What is this? Simply, it is related to timings as above. Command Rate is the amount of command (cycles) it takes for a RAM module to react to a command from a program or user. 2T, 1T, and 0T are how most modern modules are classified. 1T is the faster rate, while 0T is a 64 bit only setting (if you are reading this guide, you probably won’t be using that setting). Think of it this way; when you click to do something in Guild Wars, that command is issued to the processor and depending on availability, it is issued to the RAM at some point. That information reaches the RAM, but it takes either 1 cycle (hertz) or 2 cycles (hertz) to trigger a reaction. Now, considering DDR2-800 runs @400MHz x 2 as explained below, that means that it would take approx a 8th of a millionth of a second for the RAM to respond if the command rate was 1T, and a 4th of a millionth of a second if it was 2T. Sounds like a very small number, but add it up... If Guild Wars issues 600 million commands per second to the processor, the RAM has to do that. Now it sounds more important right? If you are comparing two modules of RAM, one having a 1T and the other having a 2T command rate, and your budget can be pushed or allows for the 1T, go with that. Motherboard settings can be tweaked to allow for faster performance in 40% of the applications you will use because of command rate. However, in the other 60% of applications, you will find command rate makes little to no difference
So, after our little lesson above, here comes the main questions this guide is to address. What is the best type/speed of RAM? What manufacturer is best?
Let us start with best Type and Speed.
Type is dependent on your motherboard in your computer. Motherboards support SDRAM, DDR1, DDR2, DDR3, and RDRAM. For the sake of sanity, I will only note briefly note DDR1 and cover mainly DDR2 and DDR3.
DDR1 (Brief discussion)
For DDR1, the best speed is DDR1-500. Its bandwidth vs Latency timings vs Voltage used are all well balanced. However, this is only the case if your motherboard supports it, but here is a trick! All DDR400 motherboards support it! But wait, there is yet another trick... You will only achieve the 500MHz speeds if you can Overclock your motherboards Front Side BUS (FSB) to 250MHz (remember, Main clock x2? 250x2=500MHz right? ) So, if your motherboard is on the flimsy side, DDR1-400 is your safest choice for the money. However, if you are still using DDR1 memory, it may very well be time to upgrade to at least a DDR2-800 capable motherboard/PC.
DDR2
In the realm of DDR2, the sky is the limit. Again, it comes down to how well your motherboard can overclock, what its maximum rating is , and voltages supported. Another key factor with DDR2 however, is that DDR2 has higher latency timings. In my professional opinion, the top range speeds are a waste of time as their bandwidth increase is not worth the extra latency. If you budget is very high, DDR2-1250 PC10000 is an excellent choice. If you budget is slightly lower, do not go with the DDR2-1111 PC8888, go with the DDR2-1100 PC8800. The extra bandwidth and 45MHz higher clock speed is not worth it, and the latency will actually cause the performance to be equal in most cases with its slightly slower cousin PC8800, not to mention the oddity of the clock frequency frequently causing issues. Moving a bit lower on the budget tree, DDR2-800 is the best choice. Below that speed is a bad idea, as most of the newer technology has a minimum of an 800MHz FSB; thus slower RAM will actually need to be underclocked and performance WILL BE LOST. Do NOT, under any circumstance, purchase DDR2-400 or DDR2-533. It is SIGNIFICANTLY slower then its DDR1-400 counterpart. DDR2-667 is a decent RAM, but DDR2-800 is a FAR better choice.
DDR3
DDR3 is much newer to the market. Currently, only the newest architectures of Intel and nVidia chipset motherboards are compatible. DDR3 can achieve speeds only once possible with the dated RD-RAM, but at much, much lower latencies (also the very advanced XDR1 RAM from Rambus Inc utilized in the Playstation 3. If you have purchased a motherboard sporting DDR3 buses, then your motherboard will have very specific speed ranges that you need to purchase. Most common are DDR3-1066 PC3 8500 all the way to DDR3-1600 PC3 12800. However, some of the newest boards do support the blistering fast DDR3-1800 PC3 14400 and the bleeding edge DDR3-2000 PC3 16000. Consult your motherboard, but your safe bet here is DDR3-1333 PC3 10600 (and its low latency ultra performance PC3 10666, with the same speed rating, but a CAS or 7 vs 9 on PC3 10600.)
Now for selecting RAM size/amount. In today's operating environment, most users prefer 1-4GBs of RAM. Windows XP runs quite well with 1GB, but newer games usually desire that oh so nice 2GBs. Windows Vista likes to have 2GBs minimum (that is recommended for optimal performance). I personally run 8GBs on my design PC, but only because I do some very intensive analysis when designing processors, so I need that much. My gaming rig runs 4GBs and Windows XP SP3 (although technically, XP only sees 2.5GBs of that RAM). 2GBs is a very hearty amount when using Windows XP. 4GBs is now more typical for Vista setups. Now, which to buy?
The big question is whether or not to get 2x1GB or 4x512MB 2x512 or 2x1GB, etc, etc, etc. The answer is simple. If you don't plan on increasing the amount of RAM in your computer before purchasing a NEW MOTHERBOARD, go with the smaller modules and more of them. The speed increase is noticeable, contrary to public view, and the reasons are more then I will list here, and far too complex for most people to understand. Basic reason is that there are more "fields" for the processor to store info rather than having to wait on the slower RAM to determine where to put the data with each module. However, if you do at least plan on increasing your current amount in the future based on finances, get the larger modules which will preserve 2 slots on your motherboard for future expansion.
LAPTOP MEMORY:
You may be the proud owner of a gaming laptop, or a laptop that has user changeable DIMMs. If this is the case, this section is for you.
Laptop memory is known as SO-DIMM. That stands for "small outline dual in-line memory module". Laptop memory is much more compact then its desktop big brother DIMM. SO-DIMMs are compact, 200 pin modules that are used mainly in laptops, small form factor desktops (Micro-ATX PCs), and routers and high end laser printers (used in large corporations).
Here is a picture of a SO-DIMM DDR2 module for you to have a concept of size. They are roughly half the size of their DIMM brothers.
SO-DIMM Laptop Memory comes in the following speeds: (DDR1 and DDR2 types)
- DDR1-266, PC2100
- DDR1-333, PC2700
- DDR1-400, PC3200
- DDR2-400, 3200
- DDR2-533, 4200
- DDR2-667, 5300
- DDR2-667, 5400
- DDR2-800, 6400
Your notebook will have specific instructions on how to install memory, and will also have specific memory it can take. It is not recommended to buy ANY other type other than what is recommended by your manufacturer. SO-DIMM modules are essentially the same as their DIMM brothers, just smaller and in a more enclosed space. They also lack heat spreaders (except for a few very select high end "Gaming Laptop" memory upgrades marketed towards the enthusiast market) due to space constraints, and do not come in hyper aggressive latencies or clockspeeds.
Special Notes:
- Intel XMP (Extreme Memory Profile) SPD (Serial Presence Detect) Certified Profile RAM modules are those certified for use in Intel's newer DDR3 enabled boards. This allows for high user manipulation of the SPD profiles. Extreme low latency tweaking, high clock frequency, etc. This should only be paid heed if you, as the end user, are a very advanced system builder/tweaker.
- Heat Spreaders are found on almost all High Performance Gaming RAM modules, particularly high speed DDR2 and DDR3 modules.
- SLi Ready Memory Modules and Crossfire Ready Memory Modules are specific overclocking profiles found in nVidia and AMD/ATi's motherboard BIOS settings (respectively) for increased performance when overclocking. This "Certification" is very broad, and is not necessarily needed when building either type of system, and is certainly not required when building a system not focused around SLi/CrossFire. Similar to Intel's XMP SPD RAM.
- ECC RAM is commonly used in servers, but is found in some gaming rigs. It stands for Error Correction Code, and is used to correct errors if they develop within a memory store/write/read function. This is, again, commonly found in server setups due to the demand for error free operation and efficiency over sheer speed or raw power.
Manufacturer is really based on best compatibility. The best companies that I have examined over the years are as follows: (the best companies are now bolded)
GSkill, Geil, Crucial, Team, Super Talent, OCZ, Mushkin, Patriot, Corsair and Wintec.
Companies I avoid due to SEVERAL unpleasant instances are:
pqi, Transcend, Buffalo, Kingston, A-DATA, and PNY.
Each to their own though.
Issues that can occur with RAM.
- RAM gets static discharge causing a cascade effect that ruins the RAM modules.
- RAM overheats causing small sectors of the modules to "die" which can create hex decimal bound errors within the Windows OS environment as well as MACOS and Linux/Unix.
- RAM mis-files information into the wrong sector (row or column) which causes a cascade style error (on Windows XP and before known as a "Blue Screen of Death!", or “Red Screen of Death!” on Vista platforms!)
- DDR3 Memory modules have the ability to produce what is commonly known by IT professionals as a slip errata. This error is an erratum error produced when using quad core CPUs on specific Intel chipsets, created when core erratum errors are missed in a back check cycle (this error also was found on the cache system of the first AMD Phenon processors to launch and was later fixed in a B3 stepping revision). The slip errata error is to be mentioned, but since logically no one on this forum should ever experience it, it will not be elaborated on.
Most RAM Modules come with LIFETIME Limited Warranties. If they become defective in their lifetime, you can request RMA (Return Merchandise Application) from the manufacturer and send them back in 95% of the cases. Many manufacturers offer this due to the low failure rate of memory. However, when a memory issue occurs, it is usually very illusive at first, but becomes substantially worse and more noticeable as the memory degrades even further. RMA policies are usually very lenient regarding user abuse. If it is clear you intentionally pushed your RAM modules past their recommending settings in a mad experiment, they very well may not honor the RMA policy. However, minor overclocking is usually tolerated by most performance RAM module fab companies.
I hope this guide was helpful in better understanding memory. I plan on editing this guide based on YOUR feedback, so if there is something that I left off that isn't too crazy a request (aka no requesting things like explaining data infinite loops and bypass nodes, etc etc), please request that I add it and I will most likely add it in for your and everyone else's benefit.
Good luck with Technology,
Rahjmeister