12.11.2013 Views

Tweaking Optimizing Windows.pdf - GEGeek

Tweaking Optimizing Windows.pdf - GEGeek

Tweaking Optimizing Windows.pdf - GEGeek

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

after a row activation can the same row be precharged for another cycle. If an exceedingly long tRAS is chosen, the row may be<br />

unnecessarily delayed from precharging for another cycle. But if you set it for too short a period, there may not be enough time to<br />

complete the read/write cycle. When that happens, data may be lost or corrupted.<br />

For optimal performance, use the lowest value you can (5T in this case). But if you start getting memory errors or system<br />

crashes, increase the value one clock cycle at a time until you get a stable system. Please note that because the bank cycle time<br />

(tRC) = minimum row active time (tRAS) + row precharge time (tRP), you should take into account the values for tRC and tRP<br />

before selecting the tRAS value.<br />

DRAM data integrity mode<br />

ECC, which stands for Error Checking and Correction, enables the memory controller to detect and correct single-bit soft memory<br />

errors. The memory controller will also be able to detect double-bit errors although it will not be able to correct them. This provides<br />

increased data integrity and system stability. However, this feature can only be enabled if you are using special ECC memory<br />

modules. Now, this type of memory module is special (and more expensive!) as it comes extra memory chips and a wider path.<br />

This is because the chipset needs to append a certain number of extra ECC bits (called ECC code) to each data word that's written<br />

to the memory module. When the data word is read back, the memory controller will recalculate the ECC code of the read data word<br />

and compare it to the original ECC code that was written to memory earlier. If the codes are identical, then the data is valid.<br />

But if there's a single-bit error in the data word, the memory controller can identify the defective bit by analyzing the differences in<br />

the two ECC codes. That bit can then be corrected by simply flipping it to the opposite state (from 0 to 1 and vice versa). Just for<br />

general information, here's a list of ECC code length required for various data path widths using the current Hamming code<br />

algorithm standard :-<br />

Data Path Width ECC Code Length<br />

8-bit 5 ECC bits<br />

16-bit 6 ECC bits<br />

32-bit 7 ECC bits<br />

64-bit 8 ECC bits<br />

128-bit 9 ECC bits<br />

Because present day processors use 64-bit wide data paths, 72-bit (64-bit data + 8-bit ECC) ECC memory modules are required to<br />

implement ECC. Please note that the maximum data transfer rate of the 72-bit ECC memory module is the same as the 64-bit<br />

memory module. The extra 8-bits are only for the ECC code and do not carry any data. So, using 72-bit memory modules will not<br />

give you any boost in performance. In fact, because the memory controller has to calculate the ECC code for every data word that<br />

is read or written, there will be some performance degradation, roughly in the region of 3-5%. This is one of the reasons why ECC<br />

memory modules aren't that popular. Throw in the fact that ECC memory modules are both expensive and hard to come by; and<br />

you have the top three reasons why ECC memory modules will never be mainstream solutions.<br />

But if data integrity is of utmost importance to you and you can't afford to have your system down due to errant cosmic rays or<br />

radiation from the DRAM packaging, ECC memory is the only way to go. The loss of 3-5% in memory performance is really nothing,<br />

compared to the peace of mind that ECC can give.<br />

In any case, the matter of this BIOS feature is much easier to settle. If you are using standard 64-bit memory modules, you<br />

must select the Non-ECC option. But if you already spent the extra dollar to get 72-bit ECC memory modules, you<br />

should enable the ECC feature, no matter what people say about losing some memory performance. It doesn't make sense to<br />

buy expensive ECC memory modules and then disable ECC! Remember, you are not really losing performance. You are just trading<br />

it for greater stability and data integrity.<br />

DRAM interleave time<br />

This BIOS feature determines the amount of additional delay between successive bank accesses when the SDRAM Bank Interleave<br />

feature has been enabled. Naturally, the shorter the delay, the faster the memory module can switch between banks and<br />

consequently perform better. Therefore, it is recommended that you set the DRAM Interleave Time as low as possible for<br />

better memory performance. In this case, it would be 0ms which introduces no additional delay between bank accesses. Increase<br />

the DRAM Interleave Time to 0.5ms only if you experience stability problems.<br />

DRAM prechrg to act cmd<br />

Like SDRAM Trp Timing Value, this feature controls the memory bank's precharge time (tRP). This constitutes the time it takes for<br />

the Precharge command to complete and the row to be available for activation. Hence the name DRAM PreChrg to Act CMD which is<br />

short for DRAM Precharge Command to Activate Command. Now, tRP is important because it determines how soon a row can be<br />

activated after a Precharge command has been issued. If an exceedingly long tRP is chosen, that may unnecessarily reduce<br />

performance by preventing the row from being activated earlier. But if you set it for too short a period, the row may not be<br />

sufficiently precharged and that may cause data loss or corruption when the memory controller attempts to read from that row.<br />

For optimal performance, use the lowest value you can (2T in this case). But if you start getting memory errors or system<br />

crashes, increase the value. Note that because the bank cycle time (tRC) = minimum row active time (tRAS) + row precharge<br />

time (tRP), you should take into account the values for tRC and tRAS before selecting the tRP value.<br />

DRAM read latch delay<br />

This BIOS feature is similar to Delay DRAM Read Latch. It fine-tunes the DRAM timing parameters to adjust for different DRAM<br />

loadings. The DRAM load changes with the number as well as the type of DIMMs installed. DRAM loading increases as the number of<br />

DIMMs increases. It also increases if you use double-sided DIMMs instead of single-sided ones. In short, the more DRAM devices<br />

you use, the greater the DRAM loading. As such, a single single-sided DIMM provides the lowest DRAM load possible.<br />

With heavier DRAM loads, you may need to delay the moment when the memory controller latches onto the DRAM device during<br />

reads. Otherwise, the memory controller may fail to latch properly onto the desired DRAM device and read from it. The longer the<br />

delay, the poorer the read performance of your memory modules. However, the stability of your memory modules won't necessarily<br />

improve if you enable this feature. Remember, the purpose of the feature is only to ensure that the memory controller will be able<br />

to latch onto the DRAM device with all sorts of DRAM loadings.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!