Section 1.5: Compare and Contrast Memory Types
RAM (Random Access Memory) also known as the main memory is the working memory of the computer. As the name implies, it can be accessed randomly from any point without the need to access the preceding bytes. The CPU needs to read into RAM from the hard disk to work with the data. The RAM can be of different types. Such as:
- DRAM (Dynamic Random Access Memory): This is slower, uses capacitors instead of switches and therefore can hold data only for a short duration, as shown in Figure 32. It needs to be refreshed many times in comparison with SRAM. It is used more commonly in computers because it is comparatively inexpensive. DRAM can only execute either read or write operation at one time. It is measured by storage capability and access time.
- SRAM (Static Random Access Memory: This is comparatively faster, does not need to be refreshed but is quite expensive, as shown in Figure 33. Therefore not commonly used. It is however, slower than SDRAM, but useful in most applications.
- SDRAM (Synchronous DRAM): This is type of DRAM that synchronizes itself with the timing of the CPU. The synchronization helped the address bus from having to wait for the memory because of different clock speeds. It can take advantage of interleaving and burst mode functions. SDRAM is faster and more expensive than DRAM. It comes in speeds of 66 MHz (PC66), 100 MHz (PC100), 133 MHz (PC133), 200 MHz (PC200), and 266 MHz (PC266). The relationship between the clock speed and throughput is always roughly 1:8 and therefore a 100 MHz clock signal produces 800Mbps memory modules that are referred to as PC100, PC133, clock speed 333 MHz produces module PC2700, and clock speed 400 MHz produces module PC3200. SDRAM is typically available in the form of 168-pin DIMM or 184 pin RIMM, as shown in Figure 34.
- DDR-SDRAM (Double Data Rate SDRAM): This is based on the SDRAM technology. As the name implies it doubles the transfer rate of the SDRAM with a clock at the same frequency. This is because it can perform reads and writes on both sides of any clock cycle (up, start, down, or end). SDRAM is usually available with names such as PCXXXX where "XXXX" represents the speed in Mo/s.
- DDR2-SDRAM: This is also based on the SDRAM technology. It allows for two accesses per cycle and therefore it is twice as high as DDR with the same external frequency. It has more connectors than the classic DDR (240 for DDR2 compared with 184 for DDR).
- Rambus DRAM (RDRAM): This is based on serial memory technology and is extremely fast that works at speed up to 800 MHz. It is available in three type, PC600, PC700, and PC800. PC800. It is just double of old PC100 SDRAM, but at a higher latency. It is quite expensive and is mostly used in Intel Pentium 4 computers.
The DDR, DDR2 memory modules can be run as single channel or double channel. The dual channel memory modules use two channels to feed data to the processor. The separate channels allow each memory module access to the memory controller, increasing throughput bandwidth. Dual-channel-enabled memory controllers utilize two 64-bit data channels, resulting in a 128-bit data path. Dual-channel architecture requires a dual-channel-capable motherboard and two or more DDR, DDR2 SDRAM, or DDR3 SDRAM memory modules.
Chips can occupy one side (single sided) or both sides (dual sided) of the module. Double-sided RAM has two single-sided SIMM cards attached to the same PCB. However, only one of them can be seen at a time by the computer. To use the other half of the storage, the computer must switch to the second bank.
RAM Memory modules are traditionally available as non-parity and parity modules. The parity modules store a parity bit for error detection purposes with each byte of information and non-parity modules does not. The non-parity memory cannot provide error detection capabilities.
The parity modules thus decrease the information storage capacity of each chip as compared to non-parity RAM. The parity modules that are used for an advanced form of error detection and correction are called ECC on Pentium or later computers. The ECC and parity modules are however different even though they work in ECC mode. The biggest difference is that ECC memory does not work in plain parity and does not allow the extra bits to be accessed individually, which is required for parity operation.