scotsmist
SUPPORT

Technical The Internal Components The Memory

System Memory

The memory is one of the key parts to a computer. There are several types of memory commonly found on modern personal computers. Memory is where the computers processor and recently certain devices find programs and data when doing assigned tasks. While the processor makes a distinction between instructions and data, the main memory doesn't. Cache memory does make the distinction between data that is program code and that which is content. In general I refer to the computers memory as the computers main RAM, in which nothing is permanently recorded.

The actual writing of information to the computers memory automatically erases what was there before. Reading from the computers memory is straightforward. Both the processor and input / output devices have the ability to write and read data to and from memory. Apart from static memory, dedicated circuitry must constantly rewrite or refresh every bit of data that is stored in memory. Without refreshing many times a second the data would fade away. When the computers power is turned off the data in memory, including static memory is lost. The term for lose of data due to power is called volatility and the computers main memory is volatile RAM. Non-volatile memory, which is permanent and isn't lost for several months when power is removed and which the processor can still read and write to is commonly found in portable computers.

Data

The computers memory is logically organised into units of bytes which is eight bits. The units can be seen as a number, a letter or an instruction, depending on how it is interpreted. Bytes can be created into larger bits of information by adding them together into a word which is a single 16 bit value. Four bytes, a 32 bit value is called a double word and a series of bytes interpreted as alphanumeric characters gets called a string. Each byte of data in the computers memory has a numeric address, starting from zero that uniquely identifies the byte. Data that the processor or input / output devices read and write can specify memory addresses which is how programs can branch during a series of commands.

Design

The Integrated Circuits, or ICs, that make up your computer's memory configuration are referred to as Dynamic Random Access Memory, or DRAM. DRAM is by far the most common type of memory chip. The quality of DRAM chips used in a memory module is the most important component in determining the overall quality and reliability of the module.

SIMMS
SIMM stands for Single In-Line Memory Module. With SIMMs, memory chips are soldered onto a modular printed circuit board (PCB), which inserts into a socket on the system board. The first SIMMs transferred 8 bits of data at a time. Later, as CPUs began to read data in 32-bit chunks, a wider SIMM was developed, which could supply 32 bits of data at a time. The easiest way to differentiate between these two different kinds of SIMMs was by the number of pins, or connectors. The earlier modules had 30 pins and the later modules had 72 pins. Thus, they became commonly referred to as 30-pin SIMMs and 72-pin SIMMs. Another important difference between 30-pin and 72-pin SIMMs is that 72-pin SIMMs are 3/4 of an inch (about 1.9 centimetres) longer than the 30-pin SIMMs and have a notch in the lower middle of the PCB. The graphic below compares the two types of SIMMs and indicates their data widths.

DIMMS
Dual In-line Memory Modules, or DIMMs, closely resemble SIMMs. Like SIMMs, most DIMMs install vertically into expansion sockets. The principal difference between the two is that on a SIMM, pins on opposite sides of the board are "tied together" to form one electrical contact; on a DIMM, opposing pins remain electrically isolated to form two separate contacts. 168-pin DIMMs transfer 64 bits of data at a time and are typically used in computer configurations that support a 64-bit or wider memory bus. Some of the physical differences between 168-pin DIMMs and 72-pin SIMMs include: the length of module, the number of notches on the module, and the way the module installs in the socket. Another difference is that many 72-pin SIMMs install at a slight angle, whereas 168-pin DIMMs install straight into the memory socket and remain completely vertical in relation to the system motherboard. The illustration below compares a 168-pin DIMM to a 72-pin SIMM.

It's usually pretty easy to tell memory module form factors apart because of physical differences. Most module form factors can support various memory technologies so, it's possible for two modules to appear to be the same when, in fact, they're not. For example, a 168-pin DIMM can be used for EDO, Synchronous DRAM, or some other type of memory. The only way to tell precisely what kind of memory a module contains is to interpret the marking on the chips. Each DRAM chip manufacturer has different markings and part numbers to identify the chip technology.

FAST PAGE MODE (FPM). At one time, FPM was the most common form of DRAM found in computers. In fact, it was so common that people simply called it "DRAM," leaving off the "FPM". FPM offered an advantage over earlier memory technologies because it enabled faster access to data located within the same row.

EXTENDED DATA OUT (EDO) In 1995, EDO became the next memory innovation. It was similar to FPM, but with
a slight modification that allowed consecutive memory accesses to occur much faster. This meant the memory controller could save time by cutting out a few steps in the addressing process. EDO enabled the CPU to access memory 10 to 15%
faster than with FPM.

SYNCHRONOUS DRAM (SDRAM) In late 1996, SDRAM began to appear in systems. Unlike previous technologies,
SDRAM is designed to synchronise itself with the timing of the CPU. This enables the memory controller to know the exact clock cycle when the requested data will be ready, so the CPU no longer has to wait between memory accesses. SDRAM
chips also take advantage of interleaving and burst mode functions, which make memory retrieval even faster. SDRAM modules come in several different speeds so as to synchronise to the clock speeds of the systems they'l be used in. For example, PC66 SDRAM runs at 66MHz, PC100 SDRAM runs at 100MHz, PC133 SDRAM runs at 133MHz, and so on. Faster SDRAM speeds such as 200MHz and 266MHz are currently in development.

DOUBLE DATA RATE SYNCHRONOUS DRAM (DDR SDRAM) DDR SDRAM, is a next-generation SDRAM technology. It allows the memory chip to perform transactions on both the rising and falling edges of the clock cycle. For example, with DDR SDRAM, a 100 or 133MHz memory bus clock rate yields an effective data rate of 200MHz or 266MHz. Systems using DDR SDRAM are expected to ship at the end of the year 2000.

DIRECT RAMBUS
Direct Rambus® is a new DRAM architecture and interface standard that challenges traditional main memory designs. Direct Rambus technology is extraordinarily fast compared to older memory technologies. It transfers data at speeds up to 800MHz over a narrow 16-bit bus called a Direct Rambus Channel. This high-speed clock rate is possible due to a feature called "double clocked," which allows operations to occur on both the rising and falling edges of the clock cycle. Also, each memory device on an RDRAM module provides up to 1.6 gigabytes per second of bandwidth – twice the bandwidth available with current 100MHz SDRAM.

ERROR CHECKING

Ensuring the integrity of data stored in memory is an important aspect of memory design. Two primary means of accomplishing this are parity and error correction code (ECC).
Historically, parity has been the most commonly used data integrity method. Parity can detect – but not correct – single-bit errors. Error Correction Code (ECC) is a more comprehensive method of data integrity checking that can detect and correct single-bit errors.
Fewer and fewer PC manufacturers are supporting data integrity checking in their designs. This is due to a couple of factors. First, by eliminating support for parity memory, which is more expensive than standard memory, manufacturers can lower the price of their computers. Fortunately, this trend is complemented by the second factor: that is, the increased quality of memory components available from certain manufacturers and, as a result, the relative infrequency of memory errors.
The type of data integrity checking depends on how a given computer system will be used. If the computer is to play a critical role – as a server, for example – then a computer that supports data integrity checking is an ideal choice. In general:

Most computers designed for use as high-end servers support ECC memory.
Most low-cost computers designed for use at home or for small businesses support non-parity memory.

ECC
Error Correction Code is the data integrity checking method used primarily in high-end PCs and file servers. The important difference between ECC and parity is that ECC is capable of detecting and correcting 1-bit errors. With ECC, 1-bit error correction usually takes place without the user even knowing an error has occurred. Depending on the type of memory controller the computer uses, ECC can also detect rare 2-, 3-, or 4-bit memory errors. While ECC can detect these multiple-bit errors, it cannot correct them. However, there are some more complex forms of ECC that can correct multiple bit errors. Using a special mathematical sequence, algorithm, and working in conjunction with the memory controller, the ECC circuit appends ECC bits to the data bits, which are stored together in memory. When the CPU requests data from memory, the memory controller decodes the ECC bits and determines if one or more of the data bits are corrupted. If there's a single-bit error, the ECC circuit corrects the bit. In the rare case of a multiple-bit error, the ECC circuit reports a parity error.

Refresh
Refresh is the process of recharging, or re-energizing, the "memory cells" in a memory chip. Internally, computer memory is arranged as a matrix of memory cells in rows and columns – like the squares on a checkerboard – with each column being further divided by the I/O width of the memory chip. The entire organisation of rows and columns is called a DRAM array. DRAM is called "dynamic" RAM because it must be refreshed, or re-energised, thousands of times each second in order to retain data. It has to be refreshed because its memory cells are designed around tiny capacitors that store electrical charges. These capacitors work like very tiny batteries that lose their stored charges if they are not re-energised. Also, the process of reading data from the memory array drains these charges, so the memory cells must also be pre-charged before reading the data.
Cells are refreshed one row at a time (usually one row per refresh cycle).The term refresh rate refers not to the time it takes to refresh the memory but to the total number of rows that it takes to refresh the entire DRAM array. For example, a refresh rate of 2K indicates that it takes 2,048 rows to refresh the array; likewise, a 4K rate indicates 4,096 rows.
Normally, the system's memory controller initiates the refresh operation. But some chips are able to "self refresh." This means that the DRAM chip has its own refresh circuitry and does not require intervention from the CPU or external memory controller. Self-refresh modules dramatically reduce power consumption and are often used in portable computers.

CAS Latency
The term CAS latency refers to the number of clock cycles it takes before a column can be addressed on the DRAM chip. Latency is a measure of delay, so a "CL2" CAS latency factor indicates a two-clock cycle delay, and a "CL3" latency factor indicates a three-clock cycle delay. When SDRAM chips first came out, it was difficult to produce chips with a CAS latency factor as low as CL2. And although some specifications called for CL2, many modules worked fine at a CAS latency factor of CL3.

< The Processor The Basic I/O Ports >

If you have a question that is not answered on any of our pages why not post it on our community forum

[Welcome] [About Us] [25 Pounds] [Search] [Downloads] [Email] [Site Map] [Forum]

Copyright © 1994-2002 scotsmist.co.uk