Random Access Memory What computers use to think with
Running Programs Stored on hard disk drive (or other media) Copied into RAM from media Then the program is run CPU can’t get to hard disk drive contents from the Address Bus fast enough
DRAM Uses transistor and capacitor to form memory:
Organizing Memory Our computer thinks in terms of bits; we think in terms of Bytes. 2 GB of RAM is really 2 billion by 8 bits of memory.
Early RAM Dual Inline Pin Package (DIPPs)
Parity Early memory had a bad habit of forgetting data Parity is adding a ninth bit to a memory row for error checking Some early memory errors were traced to Alpha waves/particles from substrate Current thinking focuses on cosmic rays and no, I did not make this up!
Parity, cont. Here’s how it works: Even Odd One’s Zero’s Ninth bit
Parity, cont. Here’s how it works: Even Odd One’s Zero’s 0 Ninth bit
Parity, cont. Here’s how it works: Even Odd One’s Zero’s 0 1 Ninth bit
Parity, cont. Here’s how it works: Even Odd One’s Zero’s 01 1 Ninth bit
Parity, cont. Here’s how it works: Even Odd One’s Zero’s Ninth bit
Banking Memory must be as wide as External Data Bus 386 and 486 were 32-bit EDB, so 72-pin was wide enough Pentiums are 64-bits wide, so we need two 32’s (32+32=64). Should be matched pair of 72-pin memory, or one 64-bit DIMM Total system memory is sum of modules 22
SDRAM Synchronous DRAM came along Tied to FSB speed (System Clock), so we did not have to wait quite as long Faster than EDO in general, overall result is 4 to 6 times faster Speeds: 66, 100, 133 (MHz) Uses Serial Presence Detect (SPD) chip on each module to set timings
168-pin DIMMs SDRAM Dual, or Different signals on opposite sides of module; Synchronous Dynamic RAM 64-bits wide – only need one module per bank with Pentium Notice two notches to orient module
ECC Error Correction Code Used in high-end servers Unlike Parity, can find and correct one-bit errors; can find two-bit errors but not able to correct Uses 8 bits over 64 bits of data This one is still around
Registered DRAM Uses registers as buffers for control signals Again, found in high-end servers What we use is UNBUFFERED memory in desktop systems
More Speed Rambus developed a method for faster RAM Had to use two sticks at a time They did not learn from history: collected a lot of patents and developed expensive licenses Intel thought it was great for earliest P4’s Ran very hot – required a heat spreader Has gone away except for replacement sticks Betamaxed: Good technology, small market share drives it to extinction.
DDR AMD went with Double Data Rate SDRAM Rambus had coined bus speeds (200, 400) DDR is 184-pins, 64-bits wide, one off-center notch DDR uses throughput volumes: FSBEffective FSBDesignation DDR200/PC DDR266/PC DDR333/PC DDR400/PC 3200
Next Stop Dual-Channel Architecture Get some data from one module, some from another module Theory is great; used for about six months Have to use matched pairs; total system memory is sum of modules Still supported today
DDR2 Next generation of DDR – faster 240-pins, 64-bit wide, won’t fit in DDR slot Electrical improvements allow for faster speeds and less power consumption Dual channel still supported PC to PC2-8000
DDR3 240-pin module – not compatible with DDR2 Higher speeds, more efficient architecture, around 30% lower power consumption
DDR3 Some modules include XMP (Extended Memory Profile) – allows user to overclock RAM Others support Triple Channel Memory (stack three modules together logically) Doubles the buffer from 4 to 8 bits to get bandwidth improvements PC3-6400, 8500, 10667, 12800
Double Sided Memory Memory can come either single-sided, Or double-sided Some motherboards have trouble with double-sided memory
CAS Column Array Strobe – One element of the fetch-from-memory process; measured in FSB clock ticks. Think of it as RAM getting up off the couch. Another name is Latency There are four or five different “tech” numbers used with RAM – not to worry about them; the gamers will
Buffering Buffering, or Registered, DRAM is used by servers using large amounts of memory Extra chip on memory module, rather like a cache We don’t use it in desktop systems; we use non-ECC and unbuffered DRAM
Installing DIMMs DIMMs go straight down into slots, held in place by tabs at each end
Do you need memory? Probably the quickest and cheapest speed improvement you can make – to a point. System Speed Amount of RAM Win 98 – 128 MB, 512 Max Win 2000 – 256 MB Win XP – 1 Gig, 2-3G Max Vista and Win 7 – 2 Gig, 4G Max
Easier than CPU-Z!
Replacing/Upgrading Memory Beware the evil ESD! And that 5v on the (ATX) motherboard. Check what you have, what your motherboard supports, empty slots Get the right stuff for your application Try not to mix speeds or capacities
6
If it doesn’t add up Many motherboards have “on-board video” System properties will show less than what you installed because 8 to 64 MB is set aside for video use. That’s where the difference lies. If you examine the numbers closely, you may find 386Kb “missing” as it is turned off for Upper Memory Area (BIOS).
Troubleshooting RAM Parity errors create a Non-Maskable Interrupt (NMI). System halts. Can also get other Blue Screens of Death (BSOD) with memory addresses (in Hex). True memory errors will show same address each time; other system errors will give different addresses (think about changing the power supply).
Memory Map Conventional Memory Upper Memory High Memory 64 KB Ex ten ded Memory (for a while was Ex pan ded Memory) KB 1 MB 2 GB 384 KB
Bank A slots Bank B slots
RAM Pricing Overall, memory tends to decrease in price over time. We have seen this as DDR3 dropped from $300/module to $15/module. Memory gets “pushed around” more than any other component – Vista drove prices up for six months, so did Win 7. There are only a limited number of factories for RAM and if one breaks… up goes the prices.
Troubleshooting Single bit failure – NMI and system halts Module failure – Series of beeps at startup that continue until you turn system off Sometimes system just will not POST Keep some good memory handy Remember the short parts list: unplug hard disk drive, optical, pull expansion cards and try restart.