chao` cac' bac' em kiem' duoc. bai` viet' kha' hay ve` ram, bac' nao` quan tam thi` doc. Introduction It's official: DDR400 memory is now the formal standard. Now that the Jedec committee has made its decision, RAM and motherboard makers finally have some guidelines on integration. DDR400, a.k.a. PC3200 RAM, had been plagued by incompatibility issues and an embarrassing lack of performance improvements. Without any official standard at all, trying to find a perfect match between RAM and the motherboard had been like playing poker blindfolded. Admittedly, running fast DDR400 RAM is still not without its problems. The older DDR-1 technology runs up against 400 MHz memory clock speeds like a bull against a brick wall. Once launched, the DDR-2 standard will provide an entirely new design for RAM chips, changes to the board layout and decreased signal voltage - and that means clock speeds of up to 667 MHz. Don't expect the new technology until late 2003, though. Until then, you can optimize your BIOS settings to harness every little bit of DDR400 RAM you have or to resolve stability issues. Older systems also stand to gain from the new modules. Even if you can't run the DDR400 modules at their top memory bus frequency of 400 MHz, you can still tweak the timing parameters to maximize performance at lower clock speeds. Faster memory modules are ideal for this purpose. More often than not, tightening your CAS latency or RAS-to-CAS delay will speed up your system more than jacking up your memory bus would. This article explains the concepts and technologies of memory timings and provides some tweaking advice. This information applies equally to RAM standards such as DDR333 and DDR266, allowing you to tweak just about any system. Tweaking Modules Clock speeds and timings can be faster with overclocking modules. Kingston, for example, makes PC3500 modules for up to 433 MHz. You can start out with special tweaking modules that exceed the DDR400 standard and offer particularly high settings for clock speeds and timings. The modules are available from Corsair, Geil, Kingston, Mushkin and others as PC3500 or PC3700. While standards by these names don't really exist, the names indicate how much the modules can be overclocked. But DDR RAM doesn't really spread its wings until it's installed in dual-channel motherboards that add together the memory bandwidths from two DDR modules. These mainboards sport Nvidia nForce 2 chipsets for AMD CPUs, or Intel 7205 (and, in the future, 865 and 875) chipsets for Intel processors. Check Prices KingMax 1GB PC2700 DDR Price: $105.99 Corsair 1GB PC3200 DDR Price: $85.00 Corsair 1GB PC3200 DDR Price: $79.99 KingMax 512MB PC2700 DDR Price: $43.91 Kingston 512MB PC4200 Price: $52.99 Kingston 1GB PC2700 DDR Price: $107.99 Kingston 512MB PC3200 Price: $38.99 Corsair 1GB PC3200 DDR Price: $116.00 Kingston 1GB PC4200 DDR2 Price: $100.10 Kingston 1GB PC3200 DDR Price: $78.99 There is one catch - you always have to have two memory modules. BIOS often puts the brakes on the RAM timings so that the system remains stable, and that's where most of the optimization comes in. In fact, RAM manufacturers such as Corsair and Geil even sell matched pairs of memory modules as a bundle especially for dual-channel systems. Tweaking RAM The temptation that's inherent in faster RAM modules is to ratchet up your memory bus clock if you have an older system. For example, you can install DDR400 memory on a motherboard with a VIA KT333 or KT400 chipset for AMD CPUs. While the chipsets don't officially support the new RAM standard, you can still find tweaking options in the BIOS menus that will raise the clock speed from DDR333 to DDR400 levels. If the system is unstable with memory clocked at 400 MHz, though, you can forget about fine-tuning the frequency. The memory clock moves in parallel to the front side bus clock and can only be adjusted in large increments, such as from DDR333 to DDR400. The adjustment itself is normally made by fiddling with the ratio to the front-side bus clock; 3/3 corresponds to DDR333 with the front-side bus at 333 MHz, while 4/3 stands for DDR400 memory clock speeds. For the RAM clock to be increased in smaller intervals, you will have to increase the front-side bus clock in lock-step. The advantages of stepping up your memory clock in an AMD Athlon XP system, on the other hand, are few and far between. In fact, setting the memory bus to 400 MHz and the front side bus to 333 MHz can even slow down performance. Instead, you'll get better results from optimizing the timing parameters for the faster memory in BIOS. Timings Bigger Than Bus Clock The timing settings have just as big an impact on RAM performance as the bus frequency. After all, the data bus can only capitalize on the vast bandwidth if data is read out of the RAM chips and made available at a fast enough clip. And when the data is accessed from different memory zones, there are a whole slew of processes that stop up the flow of data. The memory timings define the speed with which all the individual steps involved in accessing RAM are done. It's more than worth your while to go to the trouble of optimizing these settings: your performance could increase by up to ten percent. What's more, optimizing your timing parameters can be more advantageous than increasing your bus clock. High-quality DDR333 RAM with quick timings will outperform a DDR400 module with timing settings that have been deliberately rolled back to increase the clock speed. When tweaking your memory, the first step is to deactivate the automatic RAM configuration. When this function is activated, the mainboard reads the SPD chip (Serial Presence Detect) on the memory module to obtain information about the timings and clock speed and to adjust the settings accordingly. However, these settings, which the RAM manufacturer stores in the EEPROM chip, are very conservative in order to ensure stable operation on as many systems as possible. With a manual configuration, you can customize your settings for your own system - in most cases, the RAM modules will remain stable even when they exceed the manufacturer's specifications. Nor should you gloss over checking your timing settings if you have inexpensive memory modules. Generic providers are famous for cutting corners during production and burning the wrong values into the SPD chips. Unhappy buyers are forced to struggle with poor performance or system crashes without knowing exactly why. More To It Than CL Settings he most important RAM timings are CAS latency (CL), RAS-to-CAS delay (tRCD) and RAS precharge time (tRP). Many memory modules have specifications such as PC2700-2.0-2-2.0 or PC3200-3.0-3-3.0. The first of these seemingly inscrutable numbers describes the memory type, the latter three the aforementioned timings. Other manufacturers merely list the CAS latency as CL 2.0 or CL 3.0. While it is an important performance feature, not listing the other parameters is a big disadvantage for the buyer because each one has a similar impact on system performance. To see for yourself how big this impact is, take a look at the performance benchmarks for MPEG-4 encoding. We've also included a brief run-down of the most important timing parameters, short explanations and tips on the best settings at the end of the article, under the heading "How to Tweak Your RAM in BIOS." If clear information on possible performance settings is conspicuously absent from your brand-name RAM, you can consult the data sheets on the Internet (see "RAM Manufacturers"). To better understand the timing parameters, you should know about everything involved in accessing memory. The "RAM Timings" chart will give you an overview of how it works. A read process is initiated when the controller in the motherboard chipset selects the memory module that contains the data. The controller addresses the right chip on the module and the data it holds. The cells of the chip are arranged in a matrix and are addressed using the row and column addresses. Each intersection represents one memory bit. Benchmarks The results are for the RAM clock (PC2700 = DDR333; PC2100 = DDR266), CAS latency (CL), RAS-to-CAS delay, RAS precharge time and row active time. Enter The Matrix The memory controller first sends the row address for the cell it wishes to address to the module logic. After a certain period of time, tRCD (RAS-to-CAS delay), the module makes the contents of the row available in interim storage. On modern RAM chips, this process takes two to three clock cycles. You can even have fractions such as 2.5 clock cycles (CL 2.5), since DDR RAM can send control and data signals on both the rising and falling edges of the clock signal, i.e., twice per clock cycle. Once the contents of the row have been sent to interim storage, the controller will send out the CAS signal (column address strobe) that transmits the column address for the memory cell. It takes an amount of time equal to tCL (CAS latency) until the contents of the selected cell have been sent to the output register of the memory chip. In BIOS, you can set the number of clock cycles available for the timings tRCD and tCL. The lower these values, the better your performance. A CL setting of 2.0 or even 1.5 is only possible on the fastest of modules. If you are reading out adjacent data from the same memory row, the only factor determining the speed of the access is the CL timing, since the controller already knows the row address and doesn't have to query it again. Whenever the controller has to address different rows in a RAM chip, the time tRAS (row active time) will pass before it can move from one row to the next. The time tRAS is increased by the time tRP (RAS precharge time), which is needed to charge the circuits up to a higher voltage level. In other words, even fast memory modules need at least seven clock cycles for the entire process. Modern DDR RAM chips are subdivided once again into four segments (banks), each of which represents a separate memory zone. Bank interleaving allows zones in different chip banks to be addressed simultaneously, thereby increasing the data rate. While data is being read out of one memory bank, a new data zone can be addressed in another bank. You can specify in BIOS how many RAM banks of the chip can be addressed at the same time. The fastest setting is "four." Top Performance With 1 GB Of RAM Or More Another important performance criterion is the amount of RAM installed. Image and video-processing applications get an enormous boost from more memory. Readings taken with Content Creation Winstone prove that Windows 2000 and XP systems don't really take off until they have 1 GB or more of RAM. The benchmarks show how heavily system performance depends on the amount of memory. Indeed, 512-MB RAM is the bare minimum for fast Windows XP systems. Long gone are the days of Windows 98 and Me, when 512 MB was the most memory that the majority of systems needed. The maximum amount of RAM depends solely on the motherboard and its chipset. For more information, go to the "Memory Support" table below. In x86 systems, however, the maximum memory allowed is 3.5 GB, no matter how much RAM has been installed. The CPU simply cannot address any more memory. The remaining capacity is reserved to control the PCI circuits. You should install as few RAM modules as possible. Reducing the number of chips on the module will also enhance performance and stability. The modules generally consist of eight or 16 chips. The number of memory modules you use will have a direct impact on your command rate. The command rate specifies the number of clock cycles the memory controller needs to activate the modules and chips. If you've filled all your memory banks, you'll generally have to increase the rate from one to two clock cycles to keep your system stable. Unfortunately, that will also impair performance by up to three percent. RAM Manufacturers Manufacturer Website Corsair www.corsairmemory.com Crucial www.crucial.com Dataram www.dataram.com Geil www.geil.com.tw Infineon www.infineon.com Kingmax www.kingmax.com.tw Kingston www.kingston.com Micron www.micron.com Mushkin www.mushkin.com Samsung www.samsungsemi.com Transcend www.transcendusa.com Twinmos www.twinmos.com OCZ Technology www.ocztechnology.com Memory Timings Optimizing the timing parameters will speed up the processes involved in accessing RAM. The memory controller first determines the row address of the storage cell it intends to address. The column address is communicated once the time tRCD has transpired. The time tCL then passes while the data is transferred to the output register. The process can start all over again after waiting tRAS plus tRP. Memory Support With Motherboard Chipsets Chipset Memory Type - Max. Memory AMD ALI M1647 DDR2662) 3072 MByte Nforce DDR2663) 1536 MByte Nforce 2 DDR4003) 3072 MByte SIS 735 DDR266 1024 MByte SIS 745 DDR333 1536 MByte SIS 746 DDR333 3072 MByte SIS 746FX DDR400 3072 MByte VIA KT266A DDR266 2048 MByte VIA KT333 DDR333 4092 MByte4) VIA KT400 DDR333 4092 MByte4) VIA KT400A DDR4003) 4092 MByte4) Intel ALI M1671 DDR333 3072 MByte ALI M1681 DDR400 3072 MByte Intel 7205 DDR3333) 4092 MByte4) Intel 845E DDR266 2048 MByte Intel 845PE DDR333 2048 MByte Intel 865P DDR333 4092 MByte4) Intel 865PE DDR4003) 4092 MByte4) Intel 875P DDR4003) 4092 MByte4) SIS 645 DDR333 3072 MByte SIS 648 DDR333 3072 MByte SIS 648FX DDR400 3072 MByte SIS 655 DDR3333) 4092 MByte4) VIA P4X266A DDR266 4092 MByte4) VIA P4X333 DDR333 4092 MByte4) VIA P4X400 DDR333 4092 MByte4) VIA P4T400 DDR400 4092 MByte4) 1) Fastest DDR RAM standard supported; DDR266 = PC2100; DDR333 = PC2700; DDR400 = PC3200 2) With C1 stepping DDR333 3) Dual-channel memory interface 4) 3576 MB available How To Tweak Your RAM In BIOS Motherboard BIOS menus offer numerous settings to optimize your memory. These settings modify RAM functions that, while basic in nature, are often given widely different names. We'll briefly explain the options. The usual values are listed in brackets; the ideal setting is underlined. We've also included examples of what the settings might be called in different BIOS versions. Please note that not all BIOS menus offer all the settings. Automatic Configuration (On/ Off) (DRAM Auto, Timing Selectable, Timing Configuring) If you want to manually configure your memory timings, you will have to deactivate the automatic RAM configuration. Bank Interleaving (Off/ 2/ 4) (Bank Interleave) DDR RAM memory chips are made of four banks. Addressing all four banks through interleaving at the same time will maximize your performance. Burst Length (4/8 ) The burst length specifies how many data blocks are sent in one transmission cycle. Ideally, one transmission will fill one memory row on the L2 cache found in modern Pentium 4 and Athlon XP CPUs. That is equal to 64 Bytes, or eight data packets. CAS Latency TCL (1.5/ 2.0/ 2.5/ 3.0) (CAS Latency Time, CAS Timing Delay) The number of clock cycles that pass from the column being addressed to the data arriving in the output register. The memory manufacturer lists the best possible setting as the CL rating. Command Rate CMD (1/ 2) (Command Rate, MA 1T/2T Select) Number of clock cycles needed to address the memory module and the memory chip with the desired data zone. If your memory banks are full to capacity, you will have to raise this rate to two, resulting in a considerable drop in performance. RAS Precharge Time TRP (2/ 3) (RAS Precharge, Precharge to active) Number of clock cycles needed to precharge the circuits so that the row address can be determined. RAS-to-CAS Delay TRCD (2/ 3/ 4/ 5) (RAS to CAS Delay, Active to CMD) Number of clock cycles that pass between the row address being determined and the column address being sent out. Setting this value to two clock cycles can enhance performance by up to four percent. Row Active Time TRAS (5/ 6/ 7) (Active to Precharge Delay, Precharge Wait State, Row Active Delay, Row Precharge Delay) Delay that results when two different rows in a memory chip are addressed one after another. Memory Clock (100/ 133/ 166/ 200 MHz) (DRAM Clock) Specifies the clock speed of the memory bus. This rate is normally specified relative to the front-side bus clock. DDR technology (double-data rate) doubles the data rate given by the actual bus clock speed.