PDA

View Full Version : Memory explained (Version Alfa 0.1)



dav-ID
16-12-07, 03:30
Moderators and all , please rip/edit/copy/pase this as you wish perhaps after a tidy up and a look over ,somebody could make a sticky faq out of it.

Part 1 Points to consider when choosing memory for your PC.

Module type .
This is the physical arrangement of the memory chips and the interface PCB size and number of pins ,most of the time these standards are paired to a CPU type as manufactures roll out all their new technologies at the same time.this is known as a "platform" Socket7 CPU paired with memory Simms ,Intel P4 CPU paired with memory RIMMs and so on.The motherboards northbridge chip is usually the systems memory controller and this denotes the type of module used So the Specs of your chosen motherboard will include the type of memory module required. (At the moment most boards seem to use DDR2 modules with DDR3 on some top end motherboards.)

Memory size.
You need to decide how much memory you are going to need , Some motherboards and OS have upper limits so check before buying to much.
32bit vista is capped at 4gb / 32bit XP is caped at 2gb with a mod to 3gb and 4gb
See microsofts website;
http://msdn2.microsoft.com/en-us/library/aa366778.aspx

Memory speed .
This is measured in Mhz and is the speed at which the memory controller can talk to the memory module ,so higher numbers equals faster memory transfers
Because of a technology named double data rate "DDR2" four times as much data can be sent compared to standard SDRAM which can lead to confusion when manufactures label 400mhz modules as 800mhz modules(when infact the chips are running at 200mhz) in order to correct identify the module it is better to look for the PC2 or DDR2 grading standard it always starts with "PC2" or the "DDR2"
Heres a list to help identify them ;
PC2 name - DDR2 Name - Memory clock - Bus clock - Data transfers per second - Peak transfer rate
PC2-3200 - DDR2-400 --- 100 MHz ----- 200 MHz --- 400 Million -------------- 3200 MB/s
PC2-4200 - DDR2-533 --- 133 MHz ----- 266 MHz --- 533 Million -------------- 4264 MB/s
PC2-5300 - DDR2-667 --- 166 MHz ----- 333 MHz --- 667 Million -------------- 5336 MB/s
PC2-6400 - DDR2-800 --- 200 MHz ----- 400 MHz --- 800 Million -------------- 6400 MB/s
PC2-8500 - DDR2-1066 -- 266 MHz ----- 533 MHz -- 1066 Million -------------- 8500 MB/s

As you can see the "DDR2" name relates to theoretical transfers per second in mhz and the "PC2" naming relates to the theoretical peak transfers per second.
when i say theoretical I mean expect to get about 300mb/s /1,000mb/s lower than the spec's above ,If running duel channel expect an increase between 200mb/s to 1,000mb/s as the specs above are for single channel.
Links;
http://en.wikipedia.org/wiki/DDR2_SDRAM

Dual channel.
Dual channel configuration consists of two independent memory controllers ,If your mother board supports dual channel the memory banks on the board will be color coded
so that you may add a pair on memory modules (one stick on each controller) to increase memory transfer to the CPU , be warned this shouldn't be seen as "Raid Array for memory" it will not double the performance!
In fact depending on the type of tests expect a performance increase between 10% to 30%.
links;
http://en.wikipedia.org/wiki/Dual_channel

Memory timing's
Although PC2-6400 memory can be talked to at 800,000,000 pules per second it can not store data in memory that fast ,some of those pulse's are simple commands like blank,refresh,address,.Memory timing numbers like 5-5-5-16 give you an idea of how many pules it takes before data is read/written from memory, natural lower numbers here are better but it is not as important as memory speed and duel channel
links;
http://en.wikipedia.org/wiki/CAS_latency
http://www.dewassoc.com/performance/memory/memory_speeds.htm


Memory overclocking & optimization
Manufactures of CPU & memory chips have different business models so each have tackled overclocking differently ,CPU manufactures developer a chip design then tap the same chip out at various performance levels sometimes making only minor revisions .this means a manufacture can have a product line from a £30 to £150 from basically the same chip design. For years memory manufacturers didn't have anything like this product scaling , they put chips on PCB's to meet a speed standard for the currant motherboards and set the price according to cost/quality of the chips used.
The SPD rating is a way for manufactures to diversify their product rage and a way for customers to have the memory that is automatically configured by the motherboard, As the SPD information is written on a small Eprom on each memory module at the time they're assembled onto the PCB it potential allows manufactures to sell two similar products from identical ram chips simply by adding different SPD information thus copying the business model of the CPU manufactures.this isn't a bad situation it means their are more product to choose from but is also means you may purchase a budget modual that overclocks very well.
Next enters the EPP rating this information is stored on the same Eprom next to the SPD data .EPP is the manufactures recommended maximum operating limits. If the motherboard supports EPP configuration
selecting EPP in the bios will improve memory transfer speed by safely overclocking to manufactures guidelines , If the motherboard dose not support EPP but the bios has manual options for memory voltage,timing & speed(mhz) you will be able to setup the memory manually for the same performance level as EPP , If your motherboard lacks ether auto EPP or manual memory voltage,timing & speed(mhz) settings the memory will run at the lower SPD configuration , you can still buy EPP memory but don't expect as same performance as written on the packaging as manufacture usually print the EPP timings on their products, to find the SPD timings of EPP modules visit the manufactures website and lookup the specific memory module.
links;
http://en.wikipedia.org/wiki/Enhanced_Performance_Profiles
http://en.wikipedia.org/wiki/Serial_Presence_Detect
http://www.corsair.com/news/press_release.aspx?id=147110


Part 2 Possible consideration that affect your memory requirements

Thats the basics now you need to choose a product ,At the moment most motherboards are DDR2 based so that take care of the first point. as for Memory size that depends on the programs you run if you're a gamer check the requirements of the latest games , or in winXP you could run your main programs then bring up task manage and note the peak memory usage.
The home users that tend benefit from fast memory are gamers and video editors these applications can require lots of random access to memory in a time critical situation ,gamers should be aware that the GRFX ,HD's and sound cards all have (DMA) thats Direct Memory Access (http://en.wikipedia.org/wiki/Direct_Memory_Access) to the core memory as well a the CPU this can put a strain on random access to memory. Video editors that are compositing lots of video footage with titles and filters,fades and wipes in programs like AfterFX ,Final cut pro will create lots of uncompressed cached pre render's , while its more important to have enough memory to avoid swapping renders to disk having fast memory will make the time line feel lighter when hitting those cached pre-renders, generally these are small gains but the price difference between them is small also.
If the PC is used for Internet,Chat,Email Audio,Ipod,DVDriping and playback you would be better spending less on memory and more on the hard drive or better speakers as these programs don't have large memory footprints and multimedia encoding and decoding operations are handled in the L2 cache of the CPU efficiently.

If fast memory is still a priority the best point to start with is Duel channel if your motherboard supports this its almost a "Free 30% improvement" as you simply need to buy 2 smaller capacity modules rather than one single modules you can buy a pair of modules in a duel kit or simply buy two modules of same type, if for some reason they workout cheaper.
The next consideration is the speed rating once again gamers should buy the highest spec there boards support everybody else should expect to see less punch for there money
Most customers should have a good idea of performance level they require
and as is often the case with computer components the faster/newer products do not cost much more so you may end up purchasing the faster memory anyway,
Only continue reading if you want to squeeze the last drop of performance from the memory

Ok if you have got to the memory timings & optimization stage you're ether a hardcore gamer or building a small multimedia rendering farm :) Memory timings are the processing delay of the modules
Just like gear wheels they change the input speed to something faster/slower than what you starting with thus memory uses timings to run at a slower speed.
Programs understand this and when possible use the CPU cach to aviod the slowdown by the delay accessing memory, memory delay only affects large ammounts of random access to memory
The simplest analagy is the hard-disc seek times once the HD head has seeked to the corect places data moves very fast and only when asked for data in a diferant location do you get a drop in datarate
memory delay acts like seektime but dosent get fragmented as much as a harddisc so the problem is reduced ,main point to remember is that timings are not as important as overall memory speed but if
your GRFX is intergrated into the motherboard using the same memory for GPU & CPU or running duel GRFX card or if you just want the fastest memory money can buy timings are the very last thing you cant do to squeesz more performance out of a system ,wether its worth the small increase is up to you.

mac124
16-12-07, 10:54
Nice post dav-ID have made it a sticky.

monkey56657
16-12-07, 14:47
Very Useful thanks.

Amie
16-12-07, 15:32
thank you very much, kudos to you :)

Aaron
16-12-07, 18:33
Yep, great post :)

dav-ID
16-12-07, 23:56
Thank you , I must admit after reading 20 different websites regarding memory timing ,and typing this lot out i was reluctant to post , kept thinking i was silly to think anybody wanted to know what i though about memory ...Ops to late clicked SEND! :eek:


I can see bits worth changing but I have just found this article that doesn't add up
http://www.xbitlabs.com/articles/memory/display/core2duo-memory-guide.html
They use a CD2 X6800 to say "fast memory not worth it" the use a C2D E6300 to say "fast memory only for overclocker"
Are they manipulating benchmarks by using a large L2 cach on the first set of tests?
Think the maths are wrong too , you cant compare FSB speed to memory bus speed in the way they suggest.
am going to do some tests of my own tomorrow to compare to what they have already done.

mac124
17-12-07, 09:42
I think they might mean as an x6800 has the multiplier unlocked upwards you can overclock that by simply upping the multiplier therefore memory that overclocks well isn't needed as a high fsb maynot be used.

With the 6300 and its relatively low multiplier which cannot be raised means you will need a high fsb to get a good overclock, this high fsb means you may need ram that is capable of being overclocked quite high / high speed as default.

Thats how i see it anyway.

Micky007
17-12-07, 11:58
lol nice topic, im to lazy to read it though, but ill just agree with everyone else, nice topic :D

dav-ID
19-12-07, 21:58
Good point Mac124
About the multiplier unlocked upwards i didn't know that ,I could only think about the smaller 2mb L2 cache on the E6300 causing more main memory (slower) reads
in the second tests thus allowing the game benchmarks to show a wider difference .of course having a smaller L2 cache put more strain on memory speed and give the results they published.
there was no technical reason for not using the same E6300 to run the first tests as they were only benchmarking different memory settings.
Having said that I did some tests and they on to something ,I can improve peak transfer by upping the FSB 320mhz / 4:5 even thought the memory bus is still at 400mhz/DDR800
Not sure this is a FSB bottleneck ,because when you up the FSB your overclocking the nothbridge/memory controller chip and lowering latency between the CPU<>memory controller Which is something AMD have solved by moving the memory controller onto the CPU.

The Intel 266mhz FSB bus is quad pumped (4 bits per clock) and I assume 64bits wide (or 128bit) that looks like this;
MHZ multiplied by BITS
266666666 x 4 = 1066666664bits per sec. (this is where Intel get there 1066MegaTransfer's number)
Now how wide is that Bus ?
1066666664 bits multiplied by BusWidth equals total number if bits per second.
1066666664 x 64 bus = 68266666496bits
1066666664 x 128bus = 136533332992bits
Now convert to bytes by dividing by 8;
68266666496 / 8 = 8533333312 or 8.5gb/s if the bus is 64bit
136533332992 / 8 = 17066666624 or 17gb/s if the bus is 128bit

Intel's C2D have always had twice the amount of cache compared to the AMD X2's which suggests different memory strategy in both camps.
But if the bus is only 64bit that puts a hard cap of 8.5gbs which could explain why Intel blocked/delayed the DDR2-1067 standard as only AMD would truly benefit from it
Intel are backing the DDR3 just in time for their newer processes that will also benefit from higher bandwidths .

Also www.xbitlabs.com (http://www.xbitlabs.com) overclocked the Bus from 266mhz to 400mhz so the max bandwidth would have been
400 x 4 x 64 / 8 = 12800000000 (12gb/s)
So whether its 8.5gb/s , 17gb/s or 12gb/s they still only got 8gb/s out of the DDR2-1000 memory , ? which actual is about right
maybe Intel has a high latency memory controller and 8.5gb bus seeing as how AMD boards are reported to have better memory performance.
Of course in the end it means the same thing to the end user "upping the FSB/northbride increases peak transfer"

The benchmarks on the site also support what i said above about gamers and video editors benefiting from low timings because of the large amounts of random access to memory
by the GRFX and the CPU when using those programs
If you open this page
http://www.xbitlabs.com/articles/memory/display/core2duo-memory-guide_8.html#sect0
And this page
http://www.xbitlabs.com/articles/memory/display/core2duo-memory-guide_10.html
you can see that on the first link (page 8 DDR2-800 4-4-4-12 has slower peak mb/s than the DDR2-1000 5-5-5-15
but in the same system on link (page 10) the DDR2-800 4-4-4-12 is faster playing real games than the DDR2-1000 5-5-5-15
This can be seen to a lesser extent in the X8600 (4mb-L2) tests on page 4&6between the DDR2-800 CL4 and the DDR2-10067 CL6
I beleave the larger L2 cache is reducing the amount of random hits to memory by caching more full page's . Reading full pages benefits from higher mhz while heavy random access benefits from
lower timings.

Anybody using a C2D with 2mb of L2 cache "maybe" better of lowering there memory speed and going for tightest timings possible
(I dont know ive never ran a benckmark for a game ,and only play on a Xbox1)

dav-ID
19-12-07, 22:52
How to calculate the Peak transfer of your memory module and understand how timings effect is maximum transfer
On my old cheap MB running PC133 SDRAM (133mhz bus) the RAM chips run at 133mhz I used some CL3-3-3-6 memory that benchmarked at 980mb/s
the theoretical peak of this bus 1064mb/s which is calculated by multiplying (speed * width) then dividing by 8 to convert bits into bytes ;
133,000,000 (transfers/sec) x 64 (bit wide bus) = 8512,000,000 bits then 8512,000,000 / 8 = 1064,000,000bytes (or 1064mb/s )
actual my old boards bus runs at 132.8 mhz (cheap board) so here is the exact peak transfer for that board.
132,800,000 (transfers/sec) x 64 (bit wide bus) = 8499200000 bits then 8499200000 / 8 = 1062,400,000bytes (or 1062mb/s )

So now you ask if the memory bus is 1062mb/s why do i only get 980mb/s in benchmarks ?
the answer is Latency timings those CL3-3-3-6 talked about earlier, memory chips have a delay in the time it takes to give data to the memory bus (seek time /access time)
The numbers are given in clock cycles and are related to the 133 million clock per second on a 133mhz bus.
With this memory it take 3 clock cycles to perform a random read if all memory requests where 100% random and their was no optimisations (fast paging & prediction) this memory would benchmark at only 354mb/s
132,800,000 (transfers/sec) / 3 clocks = 44266666 x 64 (bit wide bus) = 2833066666 bits then 2833066666 / 8 = 354133333bytes (or 354mb/s )
This is without factoring the delays added by the CPU talking to the memory controller.

With DDR the memory chips runs at half the bus speed and needs to supply a full speed 128k Sram chip with 2x as much data as PC133 ram
With DDR2 the memory runs at a quarter the speed of the bus and needs to supply a fullspeed 512k Sram chip with 4x as much data as PC133 ram
these small superfast sram chips are the only part on the memory module that is actualy running at it rated speed.

When we look at a PC2-8500 - DDR2-1066 module we see that the chips are running at 266 MHz the Sram is at 1066 mhz ready to duel pumping on the rise and fall on a 533 MHz memory bus.
(please note while my DDR explanation isnt technically 100% its the easiest way the explain it in 3 sentence , please read this excellent site below if you wish to know more)

links;
http://www.lostcircuits.com/memory/ddrii/2.shtml

neiljung
20-12-07, 00:21
Great article. Cheers. Can you do one on motherboards now?

Hosser
24-12-07, 18:37
lol nice topic, im to lazy to read it though, but ill just agree with everyone else, nice topic :D

<____________<

Yeah...

----

My only complaint is that it's Version 'Alfa'. Surely you mean 'Alpha'?

weekirk
07-07-08, 17:52
how do you know if you have ddr or ddr2

Lynx
07-07-08, 17:56
Using either CPU-z and looking at the memory column or comparing two sticks, noticing double the pins on DDR2 compared to DDR1.

marsey99
07-07-08, 18:09
does it have a sticker on the stick?

ddr1 wants 2.5v+
ddr2 wants 1.8v+
ddr3 wants 1.5v+

Mul.
07-07-08, 19:26
Great guide Dav-ID. Nice to see more contributions on here.

As for the discussion about the X6800 and E6300, it is about the CPU Multi. With a 7x multi, the E6300 is pretty limited as it requires a motherboard capable of 450FSB+ (not a problem after P965's BIOS' matured) but as mentioned high end memory, negating the money saved on buying a cheap CPU in some situations. At the date of release for that article, any RAM that was capable of DDR2-900 and higher were rediculously expensive.

jonwoad
07-07-08, 19:42
Has anyone noticed this is from December?

wonderlust
07-07-08, 19:43
yep :D

marsey99
07-07-08, 20:14
what? i missed the bus? bugger :)

Mul.
07-07-08, 20:24
Ah, so it is. I'll get my coat. :|

Audigex
09-07-08, 18:45
Still a useful thread for Q&A - I don't know what the obsession is on aria forums with "it's an old thread, leave it alone". Things can still be relevant.

carebare47
03-09-10, 11:25
Still a useful thread for Q&A - I don't know what the obsession is on aria forums with "it's an old thread, leave it alone". Things can still be relevant.

I agree completely, this massively helped me to understand the best points to consider when buying new memory. Thanks =)

marsey99
03-09-10, 12:09
holy thread revival batman :eek:

dont forget that this is from before ddr3, even tho the basics are still the same the speeds are doubled again ;)

Snakedoc
06-09-10, 10:28
A quick note to new members and a reminder to old.

Please do not post one or two word replies to very old threads or current ones. Please only post if you feel the post in contributing to the thread.

We value contributing members above all else. Posts which are seen to be non contributing will be removed. They will not count in getting free delivery or other forum privileges.

Posting for the sake of posting will only serve to annoy fellow members. 50 posts can very easily be reached. I myself made 1200 posts last month, none of which were spam.

cerberus
06-09-10, 12:42
A quick note to new members and a reminder to old.

Please do not post one or two word replies to very old threads or current ones. Please only post if you feel the post in contributing to the thread.

We value contributing members above all else. Posts which are seen to be non contributing will be removed. They will not count in getting free delivery or other forum privileges.

Posting for the sake of posting will only serve to annoy fellow members. 50 posts can very easily be reached. I myself made 1200 posts last month, none of which were spam.
also commonly known as necroposting- its a no-no

maestro59
06-09-10, 13:07
Still a useful thread for Q&A - I don't know what the obsession is on aria forums with "it's an old thread, leave it alone". Things can still be relevant.

+1.. Doesn't matter how old something is - if it's still up-to-date, relevant and useful, then whats the problem...

And with regards to the thread itself, its very useful. I know alot of the things, but not all. Glad its a sticky :)