Guild Wars Forums - GW Guru
 
 

Go Back   Guild Wars Forums - GW Guru > Forest of True Sight > Technician's Corner

Notices

Reply
 
Thread Tools Display Modes
Old Feb 16, 2007, 07:13 AM // 07:13   #1
The Fallen One
 
Lord Sojar's Avatar
 
Join Date: Dec 2005
Location: Oblivion
Guild: Irrelevant
Profession: Mo/Me
Advertisement

Disable Ads
Default The Ultimate Memory (RAM) Guide.

Continuing with my Technician's Corner guides, I felt that a lesson on what RAM is, what is the "best" type, speed, and manufacturer, and what types of issues can show their ugly faces because of RAM, was in order.


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)
(metric unit here)B/sec= (metric unit) per second (aka 5GB/sec = 5 Gigabytes per second)

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:
  1. CAS Latency (tCL) (also known as Column Address Strobe latency [tCAS])
  2. Row Cycle Time (tRC) (also known as Row address to Column address Delay [tRCD])
  3. Refresh Row Cycle Time (tRFC) (also known as Row Precharge Time [tRP])
  4. 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.
  1. RAM gets static discharge causing a cascade effect that ruins the RAM modules.
  2. 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.
  3. 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.

Last edited by Lord Sojar; Feb 19, 2007 at 11:48 PM // 23:48..
Lord Sojar is offline   Reply With Quote
Old Feb 16, 2007, 07:20 AM // 07:20   #2
Furnace Stoker
 
Lonesamurai's Avatar
 
Join Date: Apr 2006
Location: Cheltenham, Glos, UK
Guild: Wolf Pack Samurai [WPS]
Profession: R/A
Default

ohh, good post!
Lonesamurai is offline   Reply With Quote
Old Feb 16, 2007, 07:32 AM // 07:32   #3
Burninate Stuff
 
Wrath Of Dragons's Avatar
 
Join Date: Aug 2005
Location: New Mexico
Profession: E/Mo
Default

Well, I am impressed. I like it, good guide
Wrath Of Dragons is offline   Reply With Quote
Old Feb 16, 2007, 08:48 AM // 08:48   #4
Frost Gate Guardian
 
Join Date: Jul 2005
Location: Hawaii
Guild: FPS
Profession: Mo/Me
Default

Eh, cool guide, Rahja.

For the sake of completedness, maybe you could add a section on Command Rate after the Timings section, since more and more MBs are allowing users to set 1T/2T in BIOS.

Last edited by easyg; Feb 16, 2007 at 09:14 PM // 21:14..
easyg is offline   Reply With Quote
Old Feb 16, 2007, 07:05 PM // 19:05   #5
Dex
Wilds Pathfinder
 
Dex's Avatar
 
Join Date: Dec 2005
Location: Chicago, IL
Guild: Black Belt Jones
Profession: R/Me
Default

Nice! Hopefully people that have questions about this will actually read your post.

Now, I hate to knitpick, but I'm going to anyway...

Quote:
Originally Posted by Rahja the Thief
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 calculations.
The clockspeed tells you how many cycles the device makes per second, but not how many calculations the CPU makes. Every CPU design has a different ALU configuration (the processing units that actually perform the ADD, SUB, MULT, and STOR ops...FADD, FSUB, FMULT, and FSTOR in the case of floating-point ALUs). The number of logical processing units, combined with the format of the instruction stream (how the instruction words are put together...differs with instruction sets and platforms), combined with the type of software you're currently running (determines what types of ops you're likely to see the most), combined with the efficiency/design of the CPU's internal instruction scheduler determine how many actual calculations the CPU is making within each clock cycle.

This is why you can't determine how powerful a CPU is by looking at its clockspeed: you have no idea how many ops it's capable of making per clock cycle! I felt this was an important point to make -- you can't measure the speed of a computing device by its clockspeed (this goes for RAM as well) unless you're comparing two devices of the same design.
Dex is offline   Reply With Quote
Old Feb 16, 2007, 07:13 PM // 19:13   #6
Site Contributor
 
Ashleigh McMahon's Avatar
 
Join Date: Apr 2005
Location: North East England
Guild: WoTU[Warlords of the Underworld]
Profession: Mo/Me
Default

Really interesting and helpful. Will be really usefull for future purchases.

Thanks alot mate
Ashleigh McMahon is offline   Reply With Quote
Old Feb 18, 2007, 02:23 AM // 02:23   #7
The Fallen One
 
Lord Sojar's Avatar
 
Join Date: Dec 2005
Location: Oblivion
Guild: Irrelevant
Profession: Mo/Me
Default

Quote:
Originally Posted by Dex
Nice! Hopefully people that have questions about this will actually read your post.

Now, I hate to knitpick, but I'm going to anyway...



The clockspeed tells you how many cycles the device makes per second, but not how many calculations the CPU makes. Every CPU design has a different ALU configuration (the processing units that actually perform the ADD, SUB, MULT, and STOR ops...FADD, FSUB, FMULT, and FSTOR in the case of floating-point ALUs). The number of logical processing units, combined with the format of the instruction stream (how the instruction words are put together...differs with instruction sets and platforms), combined with the type of software you're currently running (determines what types of ops you're likely to see the most), combined with the efficiency/design of the CPU's internal instruction scheduler determine how many actual calculations the CPU is making within each clock cycle.

This is why you can't determine how powerful a CPU is by looking at its clockspeed: you have no idea how many ops it's capable of making per clock cycle! I felt this was an important point to make -- you can't measure the speed of a computing device by its clockspeed (this goes for RAM as well) unless you're comparing two devices of the same design.
Yes, I know that, but that is something that would require me to break down how a processor functions as a whole, which....oh I am so not in the mood to do right now...It will be like a flashback to me CEE masters courses...God save me.. But you are correct minus the instruction stream bit (that is really variable on the post process, not the pre process). People I am sure have realized that the Intel processors dropped in speed from their previous netburst speeds of 3.4+GHz range. This only goes to prove what you say. I may add it if I can figure out a way to avoid getting into processor mechanics.

Quote:
Originally Posted by easyg
Eh, cool guide, Rahja.

For the sake of completedness, maybe you could add a section on Command Rate after the Timings section, since more and more MBs are allowing users to set 1T/2T in BIOS.
Yes, I can't believe I forgot this! Good add in, I will be sure to add it when I have a bit more patience (had a bad day...) Anyways, thanks for input!
Lord Sojar is offline   Reply With Quote
Old Feb 18, 2007, 02:40 AM // 02:40   #8
Dex
Wilds Pathfinder
 
Dex's Avatar
 
Join Date: Dec 2005
Location: Chicago, IL
Guild: Black Belt Jones
Profession: R/Me
Default

Quote:
Originally Posted by Rahja the Thief
Yes, I know that, but that is something that would require me to break down how a processor functions as a whole, which....oh I am so not in the mood to do right now...It will be like a flashback to me CEE masters courses...God save me.. But you are correct minus the instruction stream bit (that is really variable on the post process, not the pre process). People I am sure have realized that the Intel processors dropped in speed from their previous netburst speeds of 3.4+GHz range. This only goes to prove what you say. I may add it if I can figure out a way to avoid getting into processor mechanics.
The structure of the instruction stream has a huge impact on how many real-world calculations the CPU makes per second. This is more of a platform-specific attribute, but that's a big reason why you can't compare, say Itanium clockspeeds to Pentium 4 clockspeeds...point is that it is a real-world factor if not in a theoretical one when it comes to how many ALUs are kept busy and therefore affects ops / sec.

But, that's a discussion for another thread...probably another forum altogether. I just wanted to point out that the wording in your guide seems to imply that clockspeed = ops / second, which is misleading. Nice guide!

Last edited by Dex; Feb 18, 2007 at 02:43 AM // 02:43..
Dex is offline   Reply With Quote
Old Feb 18, 2007, 07:17 AM // 07:17   #9
Black Beast of Aarrrrgghh
 
Makkert's Avatar
 
Join Date: May 2005
Location: The Netherlands
Guild: The Biggyverse [PLEB] // Servants of Fortuna [SoF]
Default

Sticky material?

An excellent guide! Clearly written so that every pc user understands.

Thanks for this outstanding write-up.


~ Makkert
Makkert is offline   Reply With Quote
Old Feb 19, 2007, 11:54 PM // 23:54   #10
The Fallen One
 
Lord Sojar's Avatar
 
Join Date: Dec 2005
Location: Oblivion
Guild: Irrelevant
Profession: Mo/Me
Default

UPDATED: Added Request

Added Command Rate explanation (terribly simplified)

Updated a few words to make Dex happy. Nitpick will ya! HAHA, jk. Updated it to read operations (which is true) not calculations (which was indeed misleading as Dex suggested)

Updated some sentence fragments I didn't notice.
Lord Sojar is offline   Reply With Quote
Old Feb 21, 2007, 12:13 AM // 00:13   #11
Academy Page
 
Empedocles's Avatar
 
Join Date: Jul 2005
Profession: R/
Default

Quote:
Originally Posted by Rahja the Thief

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.
With dual layer these bandwith speeds would be doubled, would they not? I guess you could mention that it's smart to take care and install memory in the correct slots in this regard.
Empedocles is offline   Reply With Quote
Old Feb 21, 2007, 12:26 AM // 00:26   #12
Dex
Wilds Pathfinder
 
Dex's Avatar
 
Join Date: Dec 2005
Location: Chicago, IL
Guild: Black Belt Jones
Profession: R/Me
Default

Quote:
Originally Posted by Empedocles
With dual layer these bandwith speeds would be doubled, would they not? I guess you could mention that it's smart to take care and install memory in the correct slots in this regard.
I'm guessing you're talking about dual-channel module configurations? Dual-channel doesn't effectively double the throughput, but it does increase the overall bandwidth between the memory controller and the memory itself. You're right, I don't think this is covered.

Hey, Rahja, *snaps fingers*, why don't you get on that!

Just kidding. Seriously, though, a lot of people are confused about dual-channel configs, so that would be a worthwhile addition to this guide.
Dex is offline   Reply With Quote
Old Feb 21, 2007, 01:16 AM // 01:16   #13
Academy Page
 
Empedocles's Avatar
 
Join Date: Jul 2005
Profession: R/
Default

Quote:
Originally Posted by Dex
I'm guessing you're talking about dual-channel module configurations? Dual-channel doesn't effectively double the throughput, but it does increase the overall bandwidth between the memory controller and the memory itself. You're right, I don't think this is covered.

Hey, Rahja, *snaps fingers*, why don't you get on that!

Just kidding. Seriously, though, a lot of people are confused about dual-channel configs, so that would be a worthwhile addition to this guide.
Yes, of course dual channel - I must have accidentally typed in dual layer (for the reasons I don't know, perhaps because of the K-meleon browser I installed that calls 'layers' what you'd expected called tabs? )

However, what would you say the gains are from dual channel, since theoretically it doubles the speed, doesn't it? Or is this article misinformation?

http://www.hardwaresecrets.com/article/133/1
-check page 5

Note that I'm implicitly referring to Intel processors here.

And further, I guess there's no reason not to use the feature, all it requires in modern mobos is that one pays attention into which sockets memory modules are installed?
Empedocles is offline   Reply With Quote
Old Feb 21, 2007, 05:12 AM // 05:12   #14
The Fallen One
 
Lord Sojar's Avatar
 
Join Date: Dec 2005
Location: Oblivion
Guild: Irrelevant
Profession: Mo/Me
Default

Noted! I will type that up tomorrow, had a long day and a VERY LONG interview with nVidia today, so I am bit "teched out" if you know what I mean. But good suggestion!
Lord Sojar is offline   Reply With Quote
Reply

Share This Forum!  
 
 
           

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:41 AM // 11:41.


Powered by: vBulletin
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
jQuery(document).ready(checkAds()); function checkAds(){if (document.getElementById('adsense')!=undefined){document.write("_gaq.push(['_trackEvent', 'Adblock', 'Unblocked', 'false',,true]);");}else{document.write("