So, let us 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)
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, 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, known as operations. Without getting more into that topic though, 1.8 billion is > 5400-15000 isn't it? So, by that concept, hard drives are far to 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 then 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 and DDR2. 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)
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 (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
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.
ALSO: Note that DDR1 has 184 gold connector pins that go into the motherboard slot, whereas DDR2 has 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-667 vs another stick of DDR2-667 RAM. 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=4ns, tRCD=4ns, tRP=4ns, tRAS=12ns. 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 + 2 in theory, but a number SLIGHTLY higher isn't too terrible.
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 and 1T are how most modern modules are classified. 1T is the faster rate. 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. That can mean the difference between 20 frames per second (FPS) and 40 FPS. 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.
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, and RDRAM. For the sake of sanity, I will only note DDR1 and DDR2.
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.
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-1142 PC9136 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 of 88MB/sec and 11MHz 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. Moving a bit lower on the budget tree, DDR2-667 is the best choice. Below that speed is a bad idea, as the latency on DDR1 is lower and thus makes DDR1 RAM superior at lower speeds. Do NOT, under any circumstance, purchase DDR2-400. It is SIGNIFICANTLY slower then its DDR1-400 counterpart. DDR2-533 is a decent RAM, but 667 is a FAR better choice.
Now for selecting RAM size. In today's operating environment, most users prefer 1-2GBs of RAM. WindowsXP runs quite well with 1GB, but newer games usually desire that oh so nice 2GBs. I personally run 4GBs, but only because I do some very intensive analysis when designing processors, so I need that much. 2GBs is a very hearty amount. Now, which to buy?
The big question is whether or not to get 2x1GB or 4x512MB 2x512 or 1x1GB 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 then 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.
Manufacturer is really based on best compatibility. The best companies that I have examined over the years are as follows:
GSkill, Geil, Kingston, Crucial, Corsair, OCZ, Patriot, Mushkin, and Wintec.
Companies I avoid due to SEVERAL unpleasant instances are:
pqi, Super Talent, Transcend, Buffalo, 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 hexdec bound errors within the Windows OS environment as well as MACOS and Linux/Unix.
- RAM mis-keeps information which causes a cascade style error (on WindowsXP and before known as a "Blue Screen of Death!")
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.
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 infini 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.