Guide to RAM [Copyright 2005-2007 WildStyle - Guru3D.com] ******************************************* Brief Intro To RAM Before We Move On Why is memory so important? You know ... I can't remember; waah what a lame joke :: wipes a tear of joy from his eye :: To understand this we'll start off with the ordinary A-B-C of memory. Random Access Memory, or volatile memory, is used by the system to store data for processing by a computer's central processing unit (CPU), also known as the processor. RAM stores the data in memory cells that are arranged in grids much like the cells are arranged in a spreadsheet, from which data, in the binary form of 1's and 0's, can be accessed and transferred at random to the processor for processing by the system's software. The faster that process goes up-to a certain threshold, the better your performance can be. When the computer is turned off, all of the data in the RAM memory is lost, hence its alternative name of volatile memory Up to a point, adding RAM (random access memory) will normally cause your computer to feel faster on certain types of operations. Some applications (think Photoshop or most movie editing and animation packages) need bags of RAM to do their job. If you run them on a PC with too little RAM, they swap constantly and run very slowly. You can get a massive speed boost by adding enough RAM to eradicate the swapping. Programs like these seriously can run 10 to 50 times faster once they have enough RAM. This is no joke. How does RAM work ? Well, the essence is actually very simple. To store a 1 in the memory cell, a capacitor is filled with electrons. To store a 0, it is emptied .. that's it .. it's that simple. The dilemma with the capacitor's container is that it has a leak. In a matter of a few milliseconds a full bucket becomes empty. Therefore, for memory to work, either the CPU or the memory controller has to come along and recharge all of the capacitors holding a 1 before they discharge. To do this, the memory controller will read the memory and then writes it right back. This refresh operation happens automatically thousands of times per second. (Source: Hilbert) ******************************************* Each DIMM (Dual Inline Memory Module - Called dual because it has separate signals to each side of the circuit board) is comprised of three primary components: IC, PCB, and SPD. An IC (Integrated Circuit) is the formal name for a computer chip. Here, the term is used to describe the small chips on the side(s) of your RAM module. There are two main types, or form factors of IC. There is TSOP (Thin Small-Outline Package) and also BGA (Ball Grid Array). TSOP is surface-mounted to the PCB (the pins are soldered directly to the surface of the PCB) and has gull wing leads (small wires) protruding out the side. BGA has small solder balls that are at the bottom surface of the chip and no longer visible from the front after the chips are mounted on the PCB. There are only a handful of companies that actually produce the ICs. Winbond, Samsung, Hynix, Micron and Infineon to name some of the better known and most common (Though relabelling will often occur.) This is why knowing what IC the RAM has is much more important in determining what it is capable of than going on brand alone. Brand X does not overclock better than brand Y just because it is brand X. If a good IC is being mass produced, and cheaply to boot, then you may well find this IC used on lower rated, or "value" esque modules too, as well as the premium stuff. A PCB (Printed Circuit Board) is the thin plate on which chips and other electronic components are placed. More specifically, here the PCB is what the ICs are situated upon. PCBs are built using multiple layers of metal traces separated by individual sheets of resin, and each layer has its own dedicated set of functions. The SPD (Serial Presence Detect) is a small EEPROM that contains the DIMM’s default configuration such as timings, module size and frequency. This info is extracted by the motherboard chipset. If you have not manually configured the aforementioned configuration settings for your RAM, then your board will pick up the info from the SPD and use it. ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- What Does A Memory Manufacturer Do? The memory module manufacturer can buy the memory chips as a final product from a memory manufacturer like Samsung, Hynix, Infineon, etc; can buy them untested (a.k.a. UTT chips) and test (usually for speed grade) and sort them in-house; or can buy the memory wafer, cut the wafer and pack the integrated circuits by themselves. The memory module manufacturing process is basically the same for all memory module manufacturers: 1) Apply solder paste to the memory PCB. 2) Put the components on the PCB using a technique called SMT, Surface Mount Technology. This process is also known as pick-and-place. 3) Send the modules inside an oven, where the solder paste will melt, thus soldering the components. 4) Visual inspection. 5) Remove the memory modules from their panels (before this process the memory modules are stuck together in a panel, each panel holds five or six memory modules), a process also known as depanelization. 6) SPD programming and quick manual testing. 7) Memory module testing. 8) Functional testing. 9) Heatsink is attached to the module (if applicable). 10) Labeling. 11) Packing. 12) Shipping to customers. (Source: Hardware Secrets) ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- JEDEC / PC3500/3700/4000+ JEDEC (Joint Electron Device Engineering Council) are the semiconductor engineering standardisation body. They set the standards for the RAM we use. Everything manufactured should conform to JEDEC standards. However, with the highest rating for DDR1 a measly 400MHz (PC3200), RAM companies have taken it upon themselves to go above and beyond the specifications laid out, whilst still retaining backwards compatibility to the appropriate JEDEC standards. In other words, PC4000 and such will work fine on your board, and will help your overclocking by allowing you the necessary headroom to increase the FSB without the RAM becoming the limiting factor. If you do not overclock, you can always downclock the RAM to match your FSB and run 1:1. By doing that, you will normally be able to tighten the latencies too, since the RAM would be running at a lower frequency than what the SPD timings and MHz would suggest. ECC and Non-ECC ECC stands for "error correcting code," and it detects and reports memory errors. However, while non-ECC can only detect errors, ECC can actually correct errors without interrupting the other operations of your system. There is a slight decrease in performance because registers delay memory information for one clock cycle to ensure all communication from the chipset is collected by the clock edge, providing a controlled delay on heavily loaded memories. (Source: Crucial.com) This delay amounts to approximately 3-4%. ECC is more expensive than Non-ECC, and not all motherboards support it. It's often used in servers rather than desktop systems which generally use Non-ECC. Buffered and Unbuffered Buffered Memory = A buffer isolates the memory from the controller to minimize the load on the chipset. It is typically used when the system has a high density of memory and/or when a system has more than 3 memory module sockets. Unbuffered memory = This is where the chipset controller deals directly with the memory. There is nothing between the chipset and the memory chips on the module as they communicate. Desktop systems generally use unbuffered RAM. (Source: Crucial.com) RAM Cooling Heatspreaders were originally placed on Rambus. Due to the nature of this RAM type, one IC could heat up more than others, and so heatspreaders were introduced to do exactly as the name would suggest - spread heat evenly along the module. On DDR, heatspreaders by themselves don't really help. Often the thermal tape used is applied poorly and this makes thermal transfer properties often worse than having no heatspreaders at all, and of course heatspreaders are rendered useless without airflow. Bare chips > Heatspreaders. Generally speaking, on your average value PC3200 stuff, RAM cooling is nothing more than a modding accessory. If your RAM does not have heatspreaders then you are certainly not at any disadvantage. Now, if you were to run much over 3v through some Micron -5B-C ICs or some BH-5 for example, or push TCCD/5 to it's limit, then the modules get pretty hot and stability will be compromised. Active cooling really helps here. Placing one or two small fans over the modules is very effective and you only need 20-30CFMs, but even having good case airflow over that area can go some way to helping. If you cannot place your finger directly on an IC (or above where the IC is situated if a spreader is present) indefinitely without having to withdraw your finger due to the heat, your sticks are too hot. Stuck for ideas on how you could actively cool your RAM? http://xtremesystems.org/forums/showthread.php?t=47413 http://www.dfi-street.com/forum/showthread.php?t=19832 Other reasons I think manufacturers place heatspreaders over their modules... If a company is forced to change ICs without prior notice, due to demand/availability/price, there will be uproar from the customers if they buy RAM thinking it's IC X when it's actually changed to IC Y. For example when TCCD became TCC5, the heatspreader was useful because the IC used could not be seen, and as TCC5 would be little known to the average user, they would probably be upset to find it wasn't TCCD. If the heatspreader is there they would be none the wiser and through use of the module would realise there is no difference between TCC5 and TCCD once binned to the correct degree by the manufacturer. Another obvious reason for a heatspreader is if a company spends a lot of time and money on R&D, then they go ahead and display the IC's to competitors, they will in effect have done the R&D for their rivals by handing their results to them, so then the competitor would be able to create a similar module but would not have incurred the R&D costs. Well, the above is what the manufacturer intends, but people always find out. Even if the IC is relabelled you can work out what it is from physical or performance characteristics. Dual Channel RAM DC as a feature was first introduced to the majority of consumers with the nforce2 chipset. With the original nforce2 concept Nvidia wanted to create an integrated video solution. With integrated graphics DC would help since it could feed off one of the channels. But Nvidia missed the price point for an integrated graphics solution and made another version of the nforce2 chipset minus the integrated video. They then tried to push DC as a performance enhancing feature but we all know that DC on SoA makes no difference greater than perhaps 2-3% in games because the way in which the CPU communicates with the memory controller is too slow to take advantage. With Intel systems DC has a larger impact because of the greater bandwidth available, and it's the same with the A64 because of the IMC (integrated memory controller). Memory companies then took advantage of all the hype surrounding DC, tricking the consumer into thinking they need special "Dual Channel RAM" to run in dual channel mode. But the ability to run DC is down to the memory controller, not the RAM. To run in DC you simply need a memory controller than supports it and to ensure that the individual channels total the same capacity. You do not need the modules to be the exact same brand, revision or timings, although it may help with compatibility you shouldn't normally have a problem mixing modules. Dual channel kits are marketing. The modules contained within are the same model, tested to run together, and often have corresponding batch numbers, though these features are not essential to run in DC. However, since most RAM comes in these packs now anyway, you may as well buy one rather than two individual modules. Note: Contrary to common belief, even in a DC kit, one stick will always OC differently to the other. The Relationship Between Cache Size And RAM Capacity The relationship is..... there is no relationship! No way. Nada. Not a sausage. So if anybody ever writes something like this: "your processor has only 512K cache, that means the max optimum amount of memory that you can have in your system is 1GB, So going 2gb you can actually lose frame rates in games" ...They do not know what they are talking about! Certain RAM Is Optimised For A Certain Board (And Vice Versa) ? Eh ? Recently I have noticed Asus and Corsair forming an alliance where by apparently Asus' boards are optimised for Corsair RAM and Corsair RAM runs best on Asus boards. Another marketing gimmick, lovely. All major mainboard manufacturers work closely with the bigger DRAM manufacturers anyway. This is why some boards default to a 2T command rate, because the DRAM manufacturer has requested this to ensure better stability / compatibility with their modules. I'm sure Corsair works great on Asus, but I'm also sure it works great on most other boards too ! Testing Your RAM www.memtest.org Create a bootable floppy or ISO. If you don't know how to do that I suggest you Google. Then check your boot order so that memtest will run from your chosen source just after POST and before booting into your OS. This is ideal since the risk of corrupting system files when booting into Windows on an unstable FSB/HTT/RAM overclock are rather high. (Simply upping the CPU multiplier to increase clock speed on a default or supported FSB will not lead to corruption). So to avoid this you should always run memtest when pushing the FSB/HTT or playing with your DRAM config. If trying to determine whether your RAM is faulty or not at stock speeds you should run through the entire test (7 stages) indefinitely. Perhaps leave it running overnight or when at work. You should not see any errors. Even one error is one too many. If overclocking, I would recommend running a round of memtest each time you increase your HTT. I would suggest looping #5 as you're most likely to encounter errors in this particular test. To loop test 5 press C on your keyboard to get to the configuration page and then 1, 3, 5, enter, 0. Loop test 5 for 10 passes. If you've no errors that's good. If you've under 50 errors you can probably tune your way out of it by adjusting DRAM settings, or switching slots. If you've many many errors, you've probably pushed too far, in which case there's not a lot that can be done to remedy that except obviously buy better components. Note 1: Passing memtest does not guarantee stability in Windows. So, if you make it to Windows, successfully complete SuperPI 32M if you want to prove that you're stable. Note 2: When finding your limits, be aware that the above tests do not guarantee 3d stability for heavy gaming. Speed-Binning I use this phrase all the time, usually shortened to "binned" or something, and maybe some people wonder what I'm talking about. Basically, all IC's used in a particular model/revision are the same, yet some IC's are capable of higher speeds than others. Manufacturers test them and throw them into different speed "bins" depending on how fast they run. (Interestingly, the intensity of speed-binning or IC sorting done by the manufacturers is quite often the reason for differences in price between seemingly similar modules.) Speed-binning and the consumer: 1) Intense binning generally ensures very capable modules which overclockers expect. If you want modules capable of 275MHz or PC4400, you get modules binned to that level. They are pre-tested, if you like, to run at those speeds. 2) If for example Corsair were creating a new PC4000 kit, and they had a no win situation with a batch of IC's -- maybe the IC's only did 240MHz instead of 250MHz -- Corsair would not want to lose out on the IC's they purchased so they then use them in Corsair Value modules instead. The reason being to make a little profit on a lot of IC's is of course better than making no profit on anything at all. Consequently, the unsuspecting Corsair Value buyer finds out his modules run to 240MHz. The Page File Running multiple applications simultaneously or playing the latest games with their large textures consumes vast amounts of memory. When you run out of memory, your page file comes into play. The page file is stored, by default, on your boot partition although it can and perhaps should be moved for improved performance to another drive (or at least partition) so that Windows can handle read/write requests quicker. When you run out of physical memory, Windows uses this page file as it were physically memory. Unfortunately it's a lot slower than RAM, so if for example you were playing a game and the game ideally required more RAM, you would notice constant hard drive access due to the page file and therefore your game would stutter. If you ran out of physical RAM whilst in Windows, your desktop would crawl because of the constant HDD access. This is why, up until a point (2GB for most people here) more RAM is beneficial. It reduces or eliminates the page file access which will in turn make for a much smoother and more responsive system. So essentially if you notice your games becoming jerky/stuttery when entering a new area of the map for example in an FPS, take a look at the hard drive access LED on the front of your case. If it's flashing when you notice the stuttering then you could use some more RAM. Typically your page file size, both max and min, should be 1.5x your system RAM. So if you have 2GB RAM, a 3GB/3000MB page file.