MEMORY CONCEPTS
MEMORY holds all of the program code and data that is processed by your computer and therefore has an intimate relationship to computer performance. Your CPU and the associated operating system determine how and how much of the available memory will be used and in which fashion. Here, we’re talking about Random Access Memory (“RAM”), or the temporary memory accessible by your CPU, to perform various tasks. We’re not talking about the memory in your hard disk drive (“HDD”), which remains stored on your computer after you turn it off. It’s a far shorter trip for your computer to look for data in RAM than to hunt on the hard drive, which is why increasing the amount of RAM on older computers can often speed up performance.
Neither are we talking about other methods to temporarily store data or instructions to perform tasks while your computer is in operation (such as virtual memory, caching, temp files, prefetch or the like). Why is it called “random”? Because your computer can go directly to any of the memory cells anywhere on the RAM chip if it knows the particular row and column that intersect at that cell. This is opposed to SAM (“Serial Access Memory”), which can only be accessed sequentially, i.e. in the order in which it has been stored, until the particular memory location is discovered. SAM is obviously slower, although quite suitable for memory storage where maintaining a particular storage order can be useful (such as the memory buffer on a video card). For further explanation, see the more detailed discussion in a couple of paragraphs.
While Windows XP and Vista can address and automatically manage up to 4Gb of system memory (far more than earlier versions of Windows and earlier processors), it’s still useful to understand the evolution of memory: Conventional Memory is the traditional 640Kb assigned to the DOS memory area as so-called base memory (for such things as bios and other basic system functions); Extended Memory (XMS) and Expanded Memory (EMS) were popular techniques used to overcome the traditional 640Kb limit using software and RAM chips. The so-called Upper Memory Area (UMA) and High Memory (HMA) of the computer memory cannot be accessed by DOS, and can be used for other purposes. For more about how Windows “manages” RAM, see the discussion below in Section III (The 4Gb Limit).
Some history: The first computers such as IBM’s first PC introduced the 640Kb RAM limit. Why? Because “640K ought to be enough for anybody” said Bill Gates (at the time). Of course, the then head of IBM, Thomas J. Watson, also predicted that a potential world market for “maybe five computers” at the time. Those are quotes that’ve been going around for years, anyway. So that’s why the 640K conventional memory was arbitrarily limited at the time.
As a general principal, RAM memory is basically an array of individual storage elements, organized into rows (“addresses”) and columns (“data bits”), much like a spreadsheet. The intersection between each column and row is an individual memory bit known as a cell. Depending on the integrated circuit design of the chip, it can have millions of addresses, and several columns of data bits, having a great deal to do with the chip’s performance.
The memory bit array communicates with the computer through three sets of signals: First, the address lines (sometimes called wordlines) define which row of the memory array will be active. Then data lines (sometimes called bitlines) carry the data bits back and forth to the storage cells (columns) at the defined address. Finally, control lines are used to operate the memory chip.
Memory chips are attached to the motherboard on a “module”. A module is an integrated circuit board about 1 x 5 inches onto which are affixed literally millions of transistors, capacitors, memory chips and other circuitry. One end of the module contains “pins” which are inserted into a special connector (“memory bank”) manufactured onto the main circuit board (“motherboard”) of the computer. There are generally only five package forms used for these devices. They are DIP (Dual Inline Package) through-hole mounted on mostly older computers; SIP (Single Inline Package) also old and rarely used; SOJ (Small Outline J Lead) mostly soldered and not all that common; TSOP (Thin, Small-Outline Package) small, thin and ideal for laptops, used in PCMCIA cards; and CSP (Chip Scale Package) which are most common today, using surface mount contact pads to plug into the motherboard receptacle.
The total memory of all the chips on the module is generally expressed as a statement of the number of chips times the capacity of each chip, as in “4x32” in megabits (Mb; one million bits). Therefore, 4x32 means that the module contains (4) 32-megabit chips, for a total of 128 Mb of memory. Since a byte is 8 bits, divide by 8 to reach a total of 16 megabytes RAM. Most RAM is sold in multiples of 16 Megabytes.
Other than it’s package profile, there are other aspects of memory that determine its speed and usefulness: All memory is rated in terms of speed by access time (the delay between the time that data in memory is successfully addressed to the point at which the data has been successfully delivered to the data bus, usually in the range of 50-60ns [nanoseconds]) and cycle time (the minimum amount of time needed between accesses, usually in the 8 - 10ns range). Recently, the trend has been to measure hi-performance memory in terms of system speed (Mhz). For example, PC133 RAM is used in systems with a 133Mhz front side bus; PC800 RDRAM transfers data on both sides of a 400Mhz Rambus channel clock.
Another important measure of SD and DDR SDRAM performance is Column Address Strobe (“CAS”) latency. Latency is the delay (stated in number of clock cycles) that it takes before a column can be addressed on a memory chip. CL2 is excellent, CL3 acceptable; the lower the number, the better the performance.
Wait States order the CPU to pause for one or more clock cycles to give memory additional time to operate. Since wait states slow computer performance, you would optimally like to have them set to zero. Normally, wait states are set on the motherboard (with jumpers) or the CMOS settings; but usually Windows selects it automatically during the POST.
You may not realize it, but RAM must also be constantly “refreshed” so it cannot be lost. Every few milliseconds the storage cells are replenished by reading and rewriting an entire row of the array one at a time. This is done, not through the CPU, but through the self-refresh circuitry on the RAM chip itself, saving CPU energy. This is where “dynamic” RAM gets its name: It has to be constantly refreshed or it forgets what is is holding. Of course, all of this refreshing takes its toll - it takes time and slows down memory (but only in nanoseconds (billionths of a second), so you’ll probably never notice). For example, a chip rating of 70ns means that it literally takes 70 nanoseconds to completely read and recharge each cell. [Due to its cost and size, static RAM, which does not need refreshing, isn’t generally used for RAM, but for other purposes, such as CPU cache.]
SDRAM chips may also be measured by clock lines. Newer SDRAM modules (e.g. DDR3) employ four clock lines (called 4CLK SDRAM), and allow four clock signal lines between the system clock and the memory module, which allows for fewer chips per clock line, decreasing the signal load on each line and enabling a quicker data interface.
Bursting is a chip performance improvement that lets the processor retrieve a block of information from consecutive memory addresses, rather than a single piece of information from one address. The CPU doesn’t have to send an individual request to each line, instead gets it all at once and is much faster.
Pipelining is another chip performance technique in which a task is divided into a series of smaller overlapping tasks, so that subsequent requests can arrive before previous requests have been completed, speeding up the overall completion of the task.
Bursting and pipelining techniques became popular at the time that EDO chips became available.
Memory chips can also be unbuffered, buffered, or registered. An unbuffered memory module contains only memory devices and data passed between the memory chips is not boosted or amplified by buffers on the module itself. Unbuffered modules are fast and relatively inexpensive to produce, but suffer from signal attenuation, limiting the number that can be used. However, by adding buffers or registers to the memory module, the incoming and outgoing electrical signals are strengthened. While this may slow the performance, it allows for the use of many additional memory modules. For EDO and FPM, this process is called “buffering”; for SDRAM it’s called “registering”. It’s done differently, so you can’t mix chips.
In order to assure that the data and instructions written to the memory chip are error free, the integrity is checked by a technique known as parity (each byte written to memory is checked, 4 parity bits to each address) or, in some chips, Error Checking Code (“ECC” or “EOC”).
| |
| II TYPES OF RAM CHIPS FOR the most part, the motherboard of the particular computer will determine the type(s) of RAM that can actually be installed on the particular machine. Further, 32 bit Windows can make use of, at most, 4GB of RAM - anything else will be overkill and unusable (see discussion below at Item III). Depending on the age and configuration of the computer, several types of RAM have been and are available: TIP: Remember: RAM chips are generally incompatible with each other electrically, as well as the number of pins on the chip and also the keys (notches) required to fit into the appropriate motherboard socket. If in doubt, test several chips on the board to see which one(s) fit properly. [See photos below for representative examples of each type of chip.] SIMM (Single In-Line Memory Module), older 32 bit bus; DIMM (Dual In-Line Memory Module), newer 64 bit bus, still old technology; used to be soldered onto motherboard or socket inserted. RIM (Rambus In-Line Memory Module) Most recent chips, very often with heat sinks to dissipate the elevated operating temperatures. SO-DIMM (Small Outline Dual In-Line Memory Module), a smaller profile (about half-length) memory module for use primarily in laptops; earlier SO-DIMMS used 72 pins (connectors) and supported 32 bit transfer, but now they typically use 144 pins and allow for 64 bit transfer; SRAM (Static RAM), stores data using a static method in which the data remains constant so long as power is applied to the chip. Used primarily for cache. Typically uses 4 to 6 transistors for each memory cell, but with no capacitors; DRAM (Dynamic Random Access Memory), stores each bit of data on a separate capacitor, requiring less space, holding more data, but requires more power because the capacitors must constantly be refreshed, as it uses memory cells with a paired transistor and capacitor. The original DRAM was FPM (“Fast Page Mode”) DRAM, which was slow because it waits through the entire search process of locating a data bit before starting locating the next bit. Maximum transfer rate to L2 cache is about 176 MBps; EDO DRAM: (Extended Data-Out Dynamic RAM). Slightly faster than FPM DRAM because it does not wait for all processing of the first bid to be complete before continuing to the next bit. Maximum transfer rate to L2 cache is about 264 MBps. SDRAM (Synchronous Dynamic Random Access Memory), is an improvement to DRAM which ws developed in the early 1990s to solve the problem of increasingly powerful computers. While DRAM uses an “asynchronous” interface (meaning it operates independently of the processor itself, not useful if the processor couldn’t keep pace with all of the requests from the processor) SDRAM speeds up the process by “synshconizing” the memory’s responses to control inputs with the system bus, allowing it to queue up one process while waiting for another. because it retrieves data alternatively between two sets of memory. Maximum transfer rate to L2 cache is about 528 MBps. MOST COMMONLY USED TODAY; DDR RAM is a type of SDRAM (see below) TIP: Remember: RAM chip efficiency is measured by faster transfer rates, at a lower voltage at a lower clock speed. DDR (Double Data Rate) – As used in DDR-SDRAM, sometimes called SDRAM II – DDR (developed around 2000) transfers data twice as fast as regular SDRAM chips , allowing sending and receiving signals twice per cycle, while the original SDRAM could only accept one command per clock cycle (hence “SDR” or Single Data Rate interface). In addition, the chip became far more efficient, because the memory could run at a lower clock rate (100 - 200Mhz) and, by using less energy (2.5 Volts), achieve faster speeds (e.g. transfer rates up to 400MTps). This efficiency makes this type of memory more suitable for laptop computers since it uses less power than SDRAM. Maximum transfer rate to L2 cache is about 1,064 MBps; Generally, they have TSOP (“Thin Small-Outline Package”) chips in a 184 pin module working at 2.5/2.6 volts up to 3.6 Vdimm. DDR2 (Double Data Rate 2), which came out in 2003, is just as it sounds, double the rate of DDR memory, an improved version of DDR that was both faster and more efficient, sending data on both the rising and falling edges of the processor’s clock cycles. This refinement utilized an internal clock running at half the speed of the data bus, making it twice as fast as the original DDR, but using even less power (now 1.8 Volts) for a maximum transfer rate of 2,133MTps. But these chips require special slots on your computer, so always check for compatibility; Generally, they have BGA (“Ball Grid Array”) chips, 240 pins and work at 1.8 volts and above (therefore the power requirement of DDR2 is less than DDR, which can work at higher frequencies). DDR3 (Double Data Rate 3 Synchronus Dynamic RAM): The most common and fastest RAM in use in most current computers today. DDR4 - The next stage in RAM evolution. Coming soon (2014?) to a computer near you. It is expected to offer transfer rates of up to 4,266MTps, with voltage ranging from 1.05 to 1.2 Volts. RDRAM (Rambus Dynamic RAM), so named because it is manufactured by Rambus Corp., and it is the fastest type of computer RAM currently available. While SDRAM can transfer data at speeds up to 133 Mhz, RDRAM can transfer at speeds up to 1 Ghz, the chips working in parallel to achieve rates at up to 1,600 MBps. Due to the fast speed of the chip, they often require heat spreaders to dissipate the heat. For laptops, Rambus manufactures SO-RIMMs for laptop computers. Problem is, they’re expensive and, moreover, many boards can’t make use of such high speeds (although many graphics accelerator cards can use them). Believe it or not, but there are even more types of RAM: (FPRAM, EDRAM, VRAM (for video adapters and 3D accelerators), CDRAM, EDO RAM, BEDO, WRAM, SGRAM (less expensive video RAM than VRAM), SLDRAM and more), but you probably won’t run into these types, so we won’t confuse the issue further. See also, SD CARDS. Identifying the chip: It’s not always easy to identify RAM just by looking at the chip (unless it’s labeled, of course), and some examples are shown in the photos below, but here are a few guidelines: - If there are two slots on the pin side of the RAM, it is SD RAM. All DDR chips have only one slot. If you’ve got SD RAM, it’s probably time to upgrade your computer. - Separating DDR from DDR2 is more difficult. Both have only one slot. But that slot is about 1/16 further up the chip on a DDR2 chip than on a DDR chip - don’t try to force them, you’ll probably crack the chip and the main board! And usually DDR chips have memory modules (the black chips) across the entire face of the chip or the front and back of the chip. The operational speed for DDR (if printed) will usually be 333Mhz or 400Mhz. DDR2 chips, however, will run at speeds from 400Mhz to 1066Mhz; and the memory modules on the face don’t span quite as much real estate as the DDR chips. - The most common RAM in use on new computers today, DDR3 RAM also ranges in speed between 800Mhz and 1600Mhz. It looks pretty much the same as DDR2 and is hard to distinguish from DDR2. At the moment, this is the predominant chip being used on newer computers. - DDR4 is on the way, but will take a few years to catch on, so don’t worry about it quite yet.. So how do you know exactly what type and size of RAM suits your computer? Most devices only use one specific type of RAM, some require duplicate chips (e.g. (2) 256Mb chips), and there is an overall limit to the amount of RAM that your device will handle. The only sure way is to look at the existing chip(s) and duplicate them. However, most of the RAM suppliers’ sites have a handy search tool that searches by computer, motherboard and other digital devices and provides you with reasonably accurate information. See, for example, Kingston.com. Installing RAM isn’t particularly difficult: You just get under the hood and insert the chip into the slot. Usually it will work. If not, keep experimenting with chips until you find one that is accepted by the system BIOS. For this reason, it’s sometimes easier to let your computer repair people do this for you, as they have lots of chips to experiment with. TIP: Avoid performance issues by assuring that the speed of the RAM chip exactly matches that of the motherboard. For example, if you have a motherboard that supports the DDR 1333 standard, you should be sure to use RAM with that designation. (For your information, the 1333 is the memory’s transfer rate and not the actual speed of the memory.) Anything lower isn’t living up to the maximum you can expect from the RAM; anything lower and your processor may strain to keep up with it. For information about FLASH RAM, which is a similar technology, click HERE. |
| |
| III THE 4GB LIMIT FOR some time now, Windows (but not Linux, Unix and some other) computer systems have had a fundamental physical limit on how much RAM a given system can recognize. Most PCs today have a 32-bit internal architecture. This means that the computer can generate discreet memory addresses starting at zero up to a binary number (“0”s and “1”s) up to 32 digits in length. So, mathematically, this computes to 2 to the 32nd power, or a maximum of about 4.2 billion memory addresses total. Rounded off, this is about 4Gb. That’s it. It’s a physical limitation that cannot be exceeded. You can put 6Gb of RAM into your 32-bit computer, but unless you have 64-bit architecture (providing up to 128Gb of RAM; that’s 16Eb [exabytes, or quintillion bytes]) using, for example, a 64-bit version of the Windows O/S or Linux, it’ll be useless. With those systems, you can add much, much more RAM. Of course, you never actually have 4Gb of RAM available, even if you have that amount on your chips, because the system and possibly some of the cards consume much of this RAM before you even run any programs (see the discussion immediately below). Vista, for example, consumes upwards of 1Gb RAM just starting up! And don’t forget that not every main board (particularly laptops) will necessarily support 4Gb of RAM - you’ll have to check with the manufacturer of the specific board. [Not to confuse the issue, but under certain circumstances you can “fool” your system into believing it has more than 4Gb if you use virtual memory or something known as PAE technology if your version of Windows relies on another technology known as DEP. But this is a setting change for the pros, because it can cause other (driver and program) problems even when properly enabled.] Now, just for edification for those of you who wonder why you purchased or installed 4Gb of RAM on your new Vista or Win7 32-bit computers and you only see 2Gb available, you should consider what I said above: Windows automatically manages up to 4Gb of RAM. Here’s what this means: Windows sees the additional RAM and, rather than just letting it sit doing nothing, it uses it to operate more efficiently, which is just what you want it to do. It sets aside about half the RAM as a place to store frequently accessed code and data for Windows and system related software, so that it relies less on the slower, hard drive based pagefiles for low level memory functions, making the whole operating system much more responsive. It still holds the rest of the RAM in reserve for user-initiated tasks such as loading applications and documents into memory. NOTE: This is precisely why those programs that promise to increase the available RAM on your computer are worthless, even dangerous. They can do this by removing code and data from the fast RAM back on to the slower hard drive RAM, actually working against you! (Thanks to Fred Langa, Windows Secrets for this explanation.) |
| |