MRM's Performance

    RAM

You use it everyday, you read from it...and you write to it, you know that the more of it you have the better your system is...but you never fully understood why. No, I'm not talking about hard disk space...although it is a type of storage, I'm talking about the one, the only, the great Random Access Memory...otherwise known as RAM or Memory. Special thanks goes out to David Marks for completing this RAM Guide, feel free to email him with any questions, comments, or praise as he did much for this guide.


Glossary of Terms

BEDO DRAM | DRAM | ECC | EDO DRAM | EEPROM | EPROM | Flash Memory | MDRAM | Parity RAM
Page-Mode RAM | PRAM | PROM | RAM | RAS/CAS | RDRAM | ROM | SDRAM | SGRAM | SRAM
Tag RAM | Virtual Memory | Volatile/Involatile Memory | VRAM | WRAM

BEDO DRAM
This acronym stands for Burst Extended Data Output Dynamic Random Access Memory. Wow, that's a mouthful. But what does it mean? Well, to find out about Dynamic RAM, see the DRAM section below. To find out about EDO see the EDO section. BEDO DRAM is a special type of EDO DRAM that transfers the information from the RAM memory addresses to the processor at every clock cycle. But, as the name suggests, the RAM is not able to hold up this kind of transfer rate for too long, forcing it to make bursts. These bursts are short, since the RAM simply can't go as fast as your CPU. BEDO DRAM also fails to keep up with bus speeds of over 66 MHz, the theoretical barrier of EDO DRAM anyway. Since RAM generally doesn't keep up with the speed of the chip, your chip has to slow down. These periods are called wait states (see Wait States). The bursts from BEDO DRAM help produce as fewer of these periods.

Back to Top

 

DRAM
DRAM stands for Dynamic Random Access Memory. The memory addresses in DRAM need to be "replaced" many times each second. This causes a greater amount of electricity to be used by your RAM and also slows it down, because the RAM addresses are constantly being refreshed. The advantage to DRAM? The price. See the alternative, SRAM, below.

Back to Top

 

ECC
Like Parity RAM (see Parity Memory), ECC RAM is used mostly in servers that cannot crash. Short for Error Correction Code, ECC RAM stops crashes due to memory errors. It can correct errors as small as 1 bit!

Back to Top

 

EDO DRAM
In case you don't already know, EDO stands for Extended Data Output. Now, if you have a Pentium system or above you've probably heard the praises of EDO DRAM, but what's so great about EDO anyway? Well, unlike regular DRAM which can allow access to only one byte (that's only one instruction or one value) of information at a time, EDO allows an entire block of memory to be moved into the internal cache for quicker access by the CPU. The downside to EDO? Well, theoretically, EDO DRAM can only be used on a bus speed of up 66 MHz. But many have shown the EDO can be used with bus speeds of up to 83.3 MHz. So you could use EDO on your 83.3 MHz x 3 overclocked Pentium MMX. As a side note, EDO DRAM is only effective if your PC supports pipeline bursting. But if your system can handle EDO, it probably supports it too. :)

Back to Top

 

EEPROM
This is a type of Programmable Read-Only Memory. Specifically it is Electrically Erasable PROM. EEPROM is able to be erased one byte at a time be being exposed to electricity, hence the name. This allows you to change the information in ROM, but only one byte at a time. Very inefficient compared to flash memory (see below).

Back to Top

 

EPROM
Like EEPROM, EPROM is an erasable type of PROM; Erasable Programmable Read-Only Memory. But unlike EEPROM, EPROM is erased by being exposed to ultraviolet light. EPROM is especially useful for fixing last minute bugs in the ROM since it can be easily re-programmed with the proper hardware. But for the user, well, unless you have a PROM burner, you aren't changing it.

Back to Top

 

Flash Memory
This is a type of EEPROM (see above) that can be reprogrammed in blocks as opposed to regular EEPROM. Many times used in BIOS's, hence the name Flash BIOS.

Back to Top

 

MDRAM
Multibank Dynamic Random Access Memory, MDRAM is a type of RAM used in video cards. It is incredibly fast, with transfer as much as a gig per second!

Back to Top

 

Parity RAM
Parity and Non-Parity RAM is a classification of your memory modules. If you look on your memory modules and count the chips, if you find an even number of chips (i.e. 1 x 32), you've got Non-Parity RAM. If you've got an odd number (i.e. 1 x 36), its Parity RAM. But what's the difference? Well, the chips on Non-Parity RAM are all memory chips. On Parity RAM, all but one of those chips is a memory chip. So, Non-Parity and Parity RAM both have the same amount of memory addresses. Well, then what's that extra chip for? The other chip on the Parity RAM module is a Parity Bit. This chip checks your flow of data, eliminating errors that would have gone unchecked in Non-Parity RAM. Parity modules are used primarily in servers that cannot crash. If you have a do-or-die situation, Parity RAM might be the way to stop those crashes.

Back to Top

 

Page Mode RAM
Also known as FPM RAM, Page-Mode memory allows the line addresses to be dropped if a specific register is in the same row of memory as the previously accessed register. This type of RAM is slowly leaving the market in favor of better types of DRAM.

Back to Top

 

PRAM
Parameter RAM. PRAM is used to store settings from the Mac equivalent of Control Panel (whatever that is), even when the computer is turned off. It has a battery to store the information so it's ready at boot up.

Back to Top

 

PROM
Programmable Read-Only Memory is written to once and only once and cannot be erased like EPROM. The reason that it is called programmable ROM is that it is actually filled with information after fabrication, so it is in fact programmed. But once it's made, if it's wrong, you have to start all over again.

Back to Top

 

RAM
Random Access Memory if you don't know by now. RAM is memory that is constantly updated during your computer usage and loses all of its information when the computer is shut off. It is called random access, because the CPU can access any of the bytes of information in memory without having to access the ones before it.

Back to Top

 

RAS/CAS
RAS stands for Row Address Strobe, and logically, CAS stands for Column Address Strobe. Both of these strobes are signals that your CPU or other device (like the processor on your video card) sends to your RAM. They tell a circuit in your RAM module that an address line is correct. In the case of RAS, that the row is correct, or in the case of CAS, that the column is correct.

Back to Top

 

RDRAM
An acronym for Rambus DRAM, is a new type of memory from Rambus that promises to takeover the market. See below for more information.

Back to Top

 

ROM
Read-Only Memory, ROM cannot be written to like RAM and keeps its information even after the computer is turned off. ROM can also be accessed randomly like RAM. Some of your BIOS settings and like information is what is generally stored in ROM. Standard ROM is written during its fabrication and can never be changed.

Back to Top

 

SDRAM
Synchronous DRAM, SDRAM does what BEDO DRAM does all the time (see above). It synchronizes itself with your CPU, with bus speeds up to, maybe even exceeding, 100 MHz. This means that your CPU can get information at every clock cycle! SDRAM can also have access speeds as low as 10 ns!

Back to Top

 

SGRAM
Synchronous Graphic RAM, SGRAM offers the amazing capabilities of SDRAM, but for your graphics card. Giving your video the same edge that SDRAM gives your system.

Back to Top

 

SRAM
Static Random Access Memory is the alternative to DRAM. SRAM does not need as much electricity for the constant replacing of the memory addresses and goes at a fast rate due that fact that it is not constantly replacing the instructions and values stored inside. The disadvantage to SRAM? It costs more than DRAM. That's the reason your SIMMs are probably DRAM.

Back to Top

 

Tag RAM
This is an interesting idea. Tag RAM stores the addresses of any memory in cache. If your CPU finds the address in Tag RAM is looks in the cache, otherwise its back to the memory modules.

Back to Top

 

Virtual Memory
You've heard of it, you've worried about it, but what is it? Virtual memory is when your computer uses space on your HDD as memory. This is especially useful when you are running a big program that needs more memory than you physically have. For more information on virtual memory, see the virtual memory section below.

Back to Top

 

Volatile/Involatile Memory
Volatile memory is memory which loses its contents when your computer is turned off. Involatile memory does not. ROM is involatile memory.

Back to Top

 

VRAM
VRAM is like regular RAM, but it can be accessed simultaneously by the monitor and the processor on your video card so that it can provide smoother graphics. This way, your video card can work with the Quake instructions and the monitor can display them, at the same time!

Back to Top

 

WRAM
Window RAM. WRAM allows information to be taken out of RAM at the same time it's being put in. This makes WRAM even more effective than VRAM.

Back to Top


How much is that Megabyte in the Window?

RAM, at least for now, is sold by the Megabyte...but how much space are you REALLY getting? And why is it that when you have 16MB of RAM your BIOS reports a number with a 15 in front of it? Lets take a look at what a Megabyte is. In computer science, a bit is the amount of space necessary to account for a single comparison's outcome. Confused? A bit is the amount of space needed to store one digit in a binary number system (see Binary Number System), a 1 or a 0. A byte then is a combination of 8 bits, or 8 1's and 0's (i.e. 10010010). A megabyte, is the most misunderstood measurement of storage. A kilobyte is in fact, 210 bytes, or 1024 bytes. In that case, a Kilobit (not a kilobyte) is 1/8 of a kilobyte (8 bits in a byte) or 128 bytes. Meaning that a megabyte, is 210 kilobytes, or 1024 kilobytes (KB), a megabyte is NOT 1000 kilobytes, although it is often easier to call it that. In turn, a megabit is equal to 1/8 of a megabyte, or 128 kilobytes (KB). Therefore, as you might expect, a gigabyte is equal to 210 megabytes, or 1024 megabytes. Therefore a gigabit is 1/8 of a gigabyte, or 128 megabytes (MB). Now until sometime next year, we'll be dealing with RAM in terms of Megabytes and every now and then in Kilobytes, NOT Gigabytes.

So now why is it that some programs say you only have 15744KB of RAM, when you should have 16384KB (16MB x 1024KB = 16834KB)? In order to understand that we have to look at the history of the PC. A now very famous man was once quoted as saying "I can't imagine anyone ever using more than 640K of RAM..." Ring any bells? It should...that quote was made by none other than the CEO of Microsoft, Bill Gates. Let me give you a scenario: You just got your high powered system up and running, you boot up Win95, with 32MB of RAM you feel prepared to run anything you could possibly want to. You quickly open 5 or 6 applications then, feeling lucky open another one, an old Sierra game from your 386 days...but to you're amazement you can't run it. Not enough memory?!?! You hurriedly close all of your instances of Netscape and Internet Explorer...to try again, same error! You reboot...same error! What is causing this? No, its not that 32MB of RAM isn't enough...you're merely battling with the 640KB bottleneck that was bestowed on us back when the PC was first being developed. You're not out of system memory, you're simply out of conventional memory. Conventional memory, is non-upgradable memory, which is the very first 640KB of your system RAM. Since this bottleneck was first realized in a real world situation, there have been work-arounds programmers use, however there was a time where all systems were equal in that you had 640KB of Conventional memory to work with...and that was it. As I mentioned before, some programs are designed to use Extended Memory, or all of the RAM above the first 640KB. In cases like that, the program you're running may or may not consider the first 640KB (Conventional Memory) part of its allocated memory space, so therefore subtracts it from your total system RAM.

Back to Top


Show me the Money...or should I say "Cache"

Cache Memory, pronounced like Cash, is an ultra-fast type of RAM (Random Access Memory) which can quickly store and retrieve data. It is because of the Cache on your processor and on your motherboard that you experience the true performance of your system, just another reason to believe that your $500 processor isn't all that its cracked up to be without some relatively inexpensive modules =)

The best way to explain Cache Memory would be from the point of view of a person that uses and addresses them every day of his/her life, a programmer (Courtesy of Avinash Baliga of Vzzrzzn's Programming Homepage). There are currently two types of caches, L1 (level 1) and L2 (guess...). The L1 cache is built into the processor, so there are no bus-lines to go through; the L2 cache is an external piece, although on some of the newer processors like the Pentium Pro, Pentium II, and DEC Alpha it is also integrated onto the processor (or the processor card in the case of the Pentium II). As you might be able to guess an integrated L2 cache means faster performance, due to the absence of bus-lines (see Bus) like the L1 cache and also operates at or near the clock speed of the processor. The cache is a layer between system RAM and your processor. Think of it like a salesperson in a department store. If there is a model on the shelf then it will be handed to you with little hassle; but if the shelf is empty then they will have to go to the storage area. Well the cache keeps track of the most recently used memory addresses (locations) within it and the values they contain. When the processor requests an access to memory (trust me, it will) then that address and value must be in the cache. If it is not, then the cache will load that value from memory, and replace some previously cached memory address with this new one (if necessary). If a program is not optimized to take advantage of the cache's ability to make repeated access to the same address, then severe performance hits result. For instance, to speed itself up, the L1 cache on the Pentium loads strips of 32 bytes at a time from the L2 cache. If the address the program is looking for is not in the L1 cache, approximately 75 nanoseconds will be wasted on a P200. If this value is not in the L2 cache either, then an additional 1.5 to 2.5 microseconds will be wasted in "cache thrashing". All this for one add instruction that uses a seldom-used RAM location! Think about the number of adds, subtracts, and moves that are done in code. Microseconds are certainly an insignificant measure of time for you and me, but now think about whether your 50ns EDO RAM or your 10ns SDRAM is performing up to par! It is for those reasons that when you exceed your cacheable area by using more System RAM (i.e. using 128MB of RAM on a chipset that can only cache 64MB) you experience a noticeable loss of performance.

Back to Top


Ouch...look at all of those pins!

Back in the early days of the Intel 386 processor a number of firsts were made, Intel released their first 32 bit processor (yes the 386 was a 32bit processor) and motherboard manufacturers started experimenting with different types of memory technology...the result? The Single In-Line Memory Module, or SIMM for short. Since SIMMs became popular a variety of styles, sizes and speeds have been released. The most popular with the 386 was the classic 30-pin SIMM, at first only available in a 8/9chip version (the 9 chip version being a Parity version) and later in a 2/3 chip version (the 3 chip version being a Parity version). Below you can see the physical differences between a 9 and a 3 chip 30-pin SIMM, as well as the markings on the individual chips.

Although they lasted until late in the 486 days, the 30-pin SIMMs quickly became obsolete, mainly due to their 16 bit bandwidth. With the Pentium and its advanced 64 bit bus on the way, and the 32 bit 486 taking control of the market a new solution was necessary, therefore the 72 pin SIMM was created. Boasting twice the bandwidth of a 32 pin SIMM, the 72 pin SIMM could be easily used in single modules with any 32 bit processor/bus. Also with the 72 pin SIMM emerged Extended Data Out or EDO SIMMs which became quite popular with the Pentium and Pentium Pro class machines (and now Pentium II systems).

As you can tell a 72 pin SIMM is about 0.75" longer than a standard 30 pin SIMM, and like a 30 pin SIMM can only be installed one way (courtesy of the tiny notch at the left side of the SIMM). However, with Pentium and Pentium Pro/II systems, due to their 64 bit wide bus, the 32 bit wide 72 pin SIMMs must be installed in pairs, therefore somewhat limiting memory expansion. The market's solution? The Dual In-Line Memory Module, or DIMM. The DIMM is, as the name implies, basically a double sided SIMM. Not double sided in that both sides of the DIMM have chips on them, but double sided in that there are pin contacts on both sides of the connector. Much like SIMMs, DIMMs can be found in a variety of sizes, the most common being 72 pin DIMMs (36 pins per side, very small, used in laptops), 144 pin DIMMs (72 pins per side), and the now standard 168 pin DIMMs (84 pins per side, used in desktop systems). Below you can see an illustration of a 168-pin SDRAM DIMM.

The 168 pin DIMM is a full inch longer than a 72 pin SIMM, and unlike most normal SIMMs isn't meant to be installed at a 45 degree angle. You simply push it into the DIMM Socket at a 90 degree angle and snap the two opposite levers into the notches on the DIMM (shown at the left and right of the module by a semi-circle). As I mentioned before, DIMMs are found only in Pentium and Pentium Pro/II class systems and do not need to be installed in pairs to function properly since they have a 64 bit wide data path which is perfectly paired with the 64 bit bus of the Pentium and Pentium Pro/II systems today. It is very obvious that DIMMs are the future, it will just be a little while until they become more mainstream.

When dealing with the "packaging" RAM comes in, you also must consider single and double sided modules, sometimes referred to as single and double RAS SIMMs/DIMMs. Here is a small chart which illustrates chip sizes, and memory configurations:

Type Pins Chips Double Sided Total Module Size
1 x 32 SIMM 72 8   4MB
2 x 32 SIMM 72 16 * 8MB
4 x 32 SIMM 72 8   16MB
8 x 32 SIMM 72 16 * 32MB
16 x 32 SIMM 72 8   64MB
32 x 32 SIMM 72 16 * 128MB
1 x 64 DIMM 168 8   8MB
2 x 64 DIMM 168 8   16MB
4 x 64 DIMM 168 8   32MB
4 x 64 DIMM 168 16 * 32MB
8 x 64 DIMM 168 16 * 64MB
16 x 64 DIMM 168 16 * 128MB

How do you calculate memory sizes? Lets take a 4MB 32 bit 72 pin SIMM for example, 1 x 32, or 1MB x 32 bits. If you divide the 32 bits by 8 you get a total of 4 bytes (8 bits in a byte, see Bits, Bytes, and Transfer Rates). Therefore 1MB x 4 = 4MB. The same applies for 64 bit DIMMS, you take a 8MB 64 bit 168 pin DIMM, 1 x 64, or 1MB x 64 bits. And if you divide the 64 bits by 8 you get a total of 8 bytes (8 bits in a byte, see Bits, Bytes, and Transfer Rates), therefore 1MB x 8 = 8MB or an 8MB DIMM. When dealing with SIMMs you usually want to avoid modules with over 24 chips, as most motherboards haven't been tested with them and you may experience system instability as a result. Be sure to ask your salesman how many chips will be on your modules before ordering!

Back to Top


So What's in Style?

Aside from sizes, there are many different "styles" of RAM, classified according to their mode of data transfer. A few years ago, the most common type of RAM was called Fast Page Mode or FPM DRAM. We have come to refer to FPM RAM as "normal" or "non-EDO" DRAM. FPM DRAM gets its name, from the mode by which it transfers data, via a type of transfer style called Fast Paging. For most users, FPM DRAM was sufficient, and it pushed the access time down to an amazing 60ns! Although, Fast Page Mode DRAM was more than enough for the 486 class of systems, Pentium users demanded more. Once again the market responded by implementing a new type of transfer technology, called Extended Data Out Transfer Mode, or EDO for short. EDO has been popular ever since it was first introduced, mainly because of its superb performance and relatively low cost however its compatibility with nearly every system made it a very popular choice among new system builders. The highest quality EDO DRAM pushed the access time barrier down to 45ns, and thoroughly satisfied Pentium as well as Pentium Pro/II users. An even faster type of EDO DRAM was developed originally for use with the Intel 82430HX chipset, which was Intel's first chipset to support it. That type of DRAM boasted greater performance than EDO, mainly because it could transfer in bursts, much like cache, hence the name Burst Extended Data Out DRAM or BEDO DRAM. So why are we moving away from EDO and BEDO? With higher clock speeds, we require higher memory bus speeds to compensate, otherwise we would have extremely high clock multipliers with our bus speeds holding us back. Officially, EDO and BEDO DRAM is only spec'd for Bus Speeds up to 66MHz, however people have been able to use the 75 and 83.3MHz bus speeds successfully with EDO DRAM, so a faster type of RAM is still not "required" but one would be nice...that's why SDRAM was created. SDRAM, short for Synchronous transfer Dynamic Random Access Memory, transfers data synchronously instead of the old asynchronous methods used with FPM, EDO, and BEDO. Although SDRAM pushed the access times down to a meager 10ns (!!!) lack of proper support by a chipset caused it to perform only a tad better than EDO. The only reason people have for purchasing SDRAM over EDO is that SDRAM is spec'd for bus speeds up to 100MHz, and most likely can operate at speeds much higher. Their official support for bus speeds in excess of 83MHz makes SDRAM a more stable solution when overclocking, and therefore makes SDRAM the ideal choice...or does it?

Back to Top


Look at these wonderful brands...Panaphonics, Sorny, and Magnet Box!

How much are you really willing to pay for a stable system? This is where the ongoing "Generic vs Brand Name" debate comes into play. Generic EDO is usually stable enough for most systems, and sometimes works flawlessly at 75 and 83MHz bus speeds with a little tweaking of your BIOS Timings. However, problems can be experienced when you are using SDRAM, especially in pairs. Some modules simply don't work with some motherboards, and work perfectly fine with others. Since SDRAM is not yet a standardized technology, manufacturers sometimes manufacture poor quality modules, that although work perfectly in single modules (courtesy of their DIMM packaging) fail to function in pairs. It is for that reason that many motherboard manufacturers are packaging SDRAM with their motherboards that have been completely tested when using both single and multiple modules. Currently, chips (not modules) made by NEC are the most compatible, however Toshiba, Micron, and SmarTech (all of which DO NOT use NEC chips) manufacture SDRAM which has a very high compatibility rate. As far as EDO is concerned, Micron EDO is considered the best and most stable, with Toshiba as well as some other manufacturers close behind. With EDO however you can feel much safer when using generic modules than when using generic SDRAM since EDO has been around for much longer. In time we'll see generic SDRAM improve in quality, but that will take action by one company to set the standard in quality SDRAM. Basically, with system memory, you get what you pay for. I personally use Micron EDO for all of my tests involving EDO DRAM, and I use Advanced Megatrends SDRAM for my SDRAM tests unless otherwise specified by the motherboard manufacturer.

Here's a small chart to help you decipher those pesky little ID numbers on chips. Below are manufacturer's ID Strings which can be found on the invidual chips of your RAM modules. If you have any more to add to this list please email me.

Manufacturer Name Chip ID String
Goldstar LGS
Micron (Crucial Technology) MT
Toshiba Toshiba
Texas Instruments TI

Back to Top


How do you write to Read-Only Memory?!?

Read-Only Memory. Sounds pretty definite, you're never writing to it. And, believe it or not, regular ROM is never written to. The information stored in regular ROM is placed there as the memory is being fabricated. So anything that's written into the memory is there for good. If it's wrong, the entire thing has to be done again.

This is where PROM has an advantage. Programmable ROM can be written after fabrication, so if you're not sure what you want on it, you can go ahead and make the physical memory and worry about what's stored on it later. But, like regular ROM, you can only write to PROM once, and after you've finished loading the information onto the memory, it's not coming off.

This disadvantage lead to the development of two different types of PROM. EPROM and EEPROM. Both of these types of memory are PROM's, since the information is written to them after fabrication. EPROM can be erased using ultra-violet rays. This allows the manufacturer of the memory to change any flaws in the information without having to replace the memory. The problem is that the user cannot change this information, unless he was an ultraviolet PROM burner.

The cure for this is EEPROM. Similar to EPROM, EEPROM can be erased, but, as the name implies (see the EEPROM section above), it is much easier to do so. EEPROM can be erased by electricity, making it the preferable memory for BIOS's. If you have a flash BIOS, your BIOS is using flash EEPROM, an even more advanced form of PROM.

So, as you can see, not all ROM is truly read-only. You could probably change your BIOS right now since I'll bet it has EEPROM inside. :)

Back to Top


Parity, Non-Parity, ECC - How does an extra chip correct errors with my memory?

In the glossary, I briefly described Parity and Non-Parity and ECC Memory. But I didn't really explain them in depth and tell you quite how they worked. I hope that this will help out.

Remember that Non-Parity RAM does no error checking for you. If some how your data was corrupted, Non-Parity will still feed it into your CPU as if nothing had happened. Parity RAM does. As mentioned in my definition of Parity RAM, there is an extra chip on a Parity module, known as the Parity Bit. This is because each byte coming from Parity RAM has 9, not 8 bits.

Naturally, if your computer doesn't support Parity RAM, your computer won't know what to do with that extra bit. Don't worry about your CPU though, this other bit of information, a 1 or 0 is removed before the data is sent to your processor.

Parity RAM works by comparing a byte before and after going to DRAM. As the byte is entering memory, the Parity Bit is changed to either a one or a zero to make the total number of ones in the 9-bit byte even or odd depending on what type of Parity memory it is.

Some types of Parity OK a byte if it has an even number of 1's, others if it has an odd number. Therefore, if you have even Parity, and you have a byte 10011011 your Parity Bit will be 1, making the number of 1's 6. When it is time for that address to go to the CPU, if the data was corrupted, making the bit 10010011 instead, the Parity Bit would make the number of 1's equal to 5, therefore indicating a memory error.

The biggest disadvantage to Parity RAM is that there is no way of knowing where the error occurred. In the example above, your computer just knows that the bit isn't the same as when it came in. So what can you do? Nothing. The information is gone, there isn't a record of the byte stored somewhere. That's why more important jobs are left to ECC.

ECC stores more information about your byte of memory. The module keeps information about the bits, so that it can identify errors in memory to an accuracy of 1 bit. These errors can even be correct, thus the name Error Correcting Code. This makes ECC a much more advanced type of error checking than Parity RAM, but is also much more expensive.

Back to Top


Memory Timings

Memory timings are also known as refresh rates. Since your memory is sustained electrically, it must be recharged constantly. Memory timing is how many rows of memory much be recharged at once. Without refreshing your memory, you'd lose the information stored in the memory addresses.

A useful technology used in your laptop is self-refreshing memory. This memory can, well, refresh itself. This means the CPU or other devices don't have to be involved, making less need to power. This helps conserve your battery, so you can play games longer on the airplane. :)

Back to Top


Burst Writes

Whenever data is moved from your main memory onto a disk (your hard disk, a floppy), it is called writing. There is a usual rate that your computer moves data from your memory to the disk. This is, naturally, the normal transfer rate. But there are certain times that something called burst mode exists.

Burst mode occurs when your memory temporarily "takes control of your computer." What happens is that the bus is reserved just for the transfer occurring between the disk and RAM. In this situation, your RAM produces a burst of information, getting transfer rates much higher than normal.

This burst speed cannot be sustained for long, as other devices in your system also need access to the bus. But during this tiny period of time, information shoots through your system with transfer rates skyrocketing.

Back to Top


Wait States

Generally your CPU is running much faster than your RAM. This means that your CPU cannot accesses your RAM every clock cycle. Though not limited to RAM, I'll discuss wait states in this context. As your CPU gets ahead of your RAM, if has to wait for the RAM to "catch up". This causes a temporary pause in your system. Though one maybe far too small to notice, as they begin to pile up, you'll find your applications running slower.

This is why SDRAM, and BEDO DRAM to a lesser degree, are so much more advanced than regular RAM. These two types of RAM are able to keep up with clock speed, allowing your CPU to interface with the memory at every clock cycle and eliminate wait states.

BEDO DRAM is capable of keeping up at this rate for only short periods of time, called bursts (hence the name Burst EDO DRAM). SDRAM, however, can keep up with your CPU for much longer periods of time, synchronizing itself with your CPU at bus speeds of up to 100 MHz, maybe even more! So be prepared to watch SDRAM or one of its successors take over the market.

Back to Top


RDRAM - The Future of Memory

RDRAM is new type of dynamic memory invented by Rambus. RDRAM is incredible break through in memory technology. It is an extremely high-speed type of memory, running at 64 megabits. RDRAM is capable of bursts as fast as 2 ns a byte! In addition, RDRAM can handle transfer rates in excess of 533 MHz, making it the obvious choice for anyone wanting to handle the next wave of P2's (see the CPU comparison page).

RDRAM can also handle multiple Rambus Channels. Each of these channels can achieve transfer rates of up to 533 MB a second. This means that if you're running four channels (the maximum supported for one controller), you could get transfer rates over 2 GB / sec!

After reading the SDRAM section, you might have thought EDO DRAM sounded ancient since it only supported bus speeds of up to 83.3 MHz (and only 66 MHz officially). SDRAM seems far superior with bus speeds supported up to 100 MHz. RDRAM can support bus speeds up to 267 MHz! RDRAM can synchronize itself with your CPU bus as high as 133 MHz! This means incredible performance.

RDRAM will soon be appearing in PCs everywhere. Don't be surprised if your next computer uses RDRAM.

Back to Top


SDRAM - The Disappointment

After reading so much able to virtues of SDRAM (see the entry above), you're probably wondering why anyone would want anything but SDRAM. FPM RAM can only get access speeds down to 60 ns, EDO DRAM can only get to 45 ns, but SDRAM has gotten the time it takes your processor to access a memory address down to only 10 ns!

And SDRAM almost eliminates those pesky wait states (see above). By synchronizing itself to your CPU, SDRAM can interface with your processor at ever clock cycle! It can even support bus speeds higher than any type of EDO DRAM. SDRAM sounds incredible.

If you've seen benchmarks on RAM though, you might have noticed something. SDRAM only gives you about a 5-10% performance increase over EDO DRAM. There are two main reasons why SDRAM fails to perform.

If you've read above, you know at least a little of EEPROM. This type of ROM is absent from the SDRAM DIMMs. Used in RAM, EEPROM helps the memory function properly. Without, SDRAM has taken a performance hit.

The second reason that SDRAM just doesn't perform is that it does not have proper chipset support. Like many other types of RAM, SDRAM needs the support of the chipset to function at its best. Since the chipsets used today are optimized for EDO and not SDRAM, SDRAM once again is put at a disadvantage.

Well, it looks like SDRAM isn't destined to take over the market like it should have. But I feel that one of its successors might. If only a better variant of SDRAM could be made…maybe they could tack on that wonderful "II" to the name (hint hint)

Back to Top


SDRAM II - A New Hope

We all know that today's SDRAM is rated at a 100 MHz speed but I'm sure a few of us gamers and 3d developers are wondering whether or not this RAM can keep up with our Deschutes coupled with our 4x AGP video cards which we all say we are going to buy (or K-6 with a VP3 AGP) ... Taking into consideration that Deschutes will run at 100 MHz bus speed and your AGP card at 2x mode is going to have a 200 MHz pipeline to your main RAM, it seems like SDRAM just isn't good enough. What are you looking for now? RDRAM you might say, but considering the standards are still being argued about and that the RDRAM won't be manufactured probably around 1Q or 2Q 98' and that you can't wait that long to buy RAM for your Deschutes which doesn't come out until Q4, what will you do??? Well thanks to the decisions of the Jedec Consortium (Joint Electron Devices Engineering Councils), we now have another alternative - DDR SDRAM. DDR SDRAM is a new type of SDRAM that simply put has a Double Data Rate (hence DDR) similar to the AGP 2x mode essentially doubling the speed of the memory and DDR is the predecessor to SLDRAM (Sync-Link DRAM) the only difference is that SLDRAM has burst transfers upping the transfer rate to 400 MB/s. The DDR SDRAM spec will have them rated at 83.3 MHz, 100 MHz, and 125 MHz - in my personal opinion they should drop the 83.3 MHz version (those 100 MHz bus speed CPUs!!) keep the 100 MHz and 125 MHz and add 133 MHz version and the chips will perform like a 200 MHz, 250 MHz and 266 MHz parts!. If Implemented properly you can expect to see DDR SDRAM supported in Intel's Deschutes chipset (i440BX and i450NX) and possible in a later revision of the VIA VP3 (for K6 supporters). DDR's expected average Data Transfer rate is ~256 MB/s versus the SDRAM data transfer rate of ~128 MB/s. the average access time is <10 ns for DDR SDRAM and SDRAM is 8-12 ns. Both the faster access times and faster transfer rates give you a high speed solution for those of us who demand the fastest processors NOW :).

Submitted by
Stephen O'Neal

Back to Top


Virtual Memory and Memory Swapping

Everyone reading this has probably been in the Start Menu, gone to Control Panel and looked at the System Icon. At that back little tab you saw something called virtual memory. Sounds interesting, doesn't it? So you click on the button, and you're confronted about which hard drive you should use and the amount of space free you want for virtual memory. You might be thinking by now, "What do my HDDs have to do with memory? We're not talking about hard drive space, so what does it mean?"

Virtual memory is a way to cut down on the constant memory swapping that's always going on inside your system. When you want to run a program, your computer has to load up the values and instructions into RAM. But what happens when you're running a program that needs more memory than you have?

This is where memory swapping comes into play. With memory swapping, the portions of the data you want is broken down into pieces. When the program needs to access a particular piece of this chunk of data, it swaps it into memory in exchange for some code that you aren't using at the moment.

The problem with this is that your HDD access speed is pretty slow when compared to the rate your RAM and CPU are working at. Virtual memory helps cut down on the problem.

Now, as I mentioned earlier, when you are setting virtual memory in Win95 or Win3.1 (DOS doesn't support virtual memory), you have to choose what HDD you want, assuming you have more than one like me. Well, this is because virtual memory is still on your HDD.

Isn't that confusing? Basically, what your CPU does is take a part of your HDD as make it into RAM. It uses the HDD to store memory addresses, and although this isn't as fast as your physical RAM, it does go much faster than having to take it from your HDD when it isn't in the virtual memory form.

This maybe why when your HDD is almost to its capacity you noticed your system performance take a hit. Your computer didn't have as much virtual memory.

Back to Top


By David Marks & Anand Lal Shimpi