microloft.co.uk     

Understanding RAM

 

Preamble:

To help understand ram, always remember that there are 8 bits in 1 byte

  • 1024 bits = 1 Kilobit (1Kb)
  • 1024Kb = 1 Megabit (1Mb)
  • 1024Mb = 1 Gigabit (1Gb)
  • 1024 bytes = 1 Kilobyte (1KB)
  • 1024KB = 1 Megabyte (1MB)
  • 1024MB = 1 Gigabyte (1GB)

In terms of ram chips, they are expressed as follows

  • 1M x 8 device has 1024x1024x8 bits or 1 Megabytes (1MB)
  • 1M x 32 device has 1024x1024x32 bits or 4 Megabytes (4MB)

Ram chips for the PC are available in many configurations, these can be classified in five categories

  1. Type of ram
    • FPM - Fast Page Mode - most common form of ram - FPM DRAM reads the row and column address, in the matrix, and then accesses the data at this address, before moving to the next address. The read process can be speeded up by arranging consecutive locations in such a way that only the column address needs to be changed
    • EDO - Extended Data Output - can only used in motherboards that support it - EDO DRAM speeds up the process by allowing the address search to overlap with the previous data read
    • SDRAM - Synchronous Random Access Memory - can only used in motherboards that support it, such as the Intel 430VX chipset - SDRAM does not have a fixed timer and synchronises itself to the computers own internal clock, thereby eliminating any wait time at the end of a quick read
  2. Number of Pins or connectors
    • 30 pin SIMM (Single In-line Memory Module) - each 30 pin SIMM supports 8 data bits, so you will need to read across 4 modules to obtain a single 32 bit read. So on a 32 bit machine the 30 pin SIMMS must be installed in groups (banks) of 4
    • 72 pin SIMM (Single In-line Memory Module) - these can be thought of as 4 number 30 pin chips stuck together - each 72 pin SIMM supports 32 data bits, so only one is needed in each bank of a 32 bit machine. Two 72 pin SIMMS per bank will be needed on a 64 bit machine
    • 168 pin DIMM (Duel In-line Memory Module) - each 168 pin DIMM supports 64 data bits, so only one is needed in each bank of a 64 bit machine
  3. Number of chips on module - this indicates if Parity bit is used
    • Ram with Parity bit - 3, 6, 9, 12, or 18 chips mounted on the module,
      • 8 bit data stream
      • 32 bit data stream, sometimes described as 1x32 (4Mb)
    • Ram without Parity bit - 2, 4, 8 or 16 chips mounted on the module
      • 9 bit parity + data stream
      • 36 bit parity + data stream, sometimes described as 1x36 (4Mb)
  4. Speed the ram chips work at (measured in nanoseconds - one thousand millionth of a second). Some motherboards only accept one particular speed of chip while others are capable of mixed speeds. The available speeds are
    • 100ns - no longer manufactured, used in older type motherboards only
    • 80ns - still available for old motherboards
    • 70ns - the most common SIMM modules
    • 60ns - for EDO and high performance systems
  5. Voltage the ram module operates at
    • 3.3volts
    • 5volts - most common

Motherboards have been manufactured with many ram socket configurations, some of which are

  • 4 number 30 pin ram sockets
  • 8 number 30 pin ram sockets
  • 4 number 30 pin and 2 number 72 pin ram sockets
  • 4 number 30 pin and 4 number 72 pin ram sockets
  • 2 number 72 pin ram sockets
  • 4 number 72 pin ram sockets
  • 6 number 72 pin ram sockets

Number of Ram Modules to be installed

  • 386/486 motherboards accept 30 pin SIMMs in sets of 4, or
  • 386/486 motherboards accept single 72 pin SIMMs
  • Pentium motherboards accept 72 pin SIMMs in sets of 2, or
  • Pentium motherboards accept single 168 pin DIMMs

Problems:

Various problems can occur which can be attributable to the Ram. Hardware faults may be detected by the POST or the Himem initialisation test. Other faults may only occur when certain programs are run. Some problems can be attributable to

  • Type of Ram
  • Unsupported memory configuration
  • Physical format
  • Ram parity
  • Ram speed
  • Voltage

Solutions:

Type of Ram
Most motherboards do not like different types of ram being used together

Unsupported Memory Configuration
Some motherboards do not support all memory configurations. Check in the manual to see if the motherboard supports the option you are proposing. Generally all one size of ram (eg. 4 x 4Mb SIMMs) will always work, however more unusual configurations (eg. 2 x 32Mb + 2 x 2Mb) might not be supported

Physical Format
Do not mix different ram modules within the same 'sets' mentioned above

Ram Parity
Generally do not mix none parity ram with parity ram, however this mix will work if you can disable parity checking on the motherboard or within the BIOS setup

Ram Speed
Check the ram speed by reading the identification number printed on the individual chips in the SIMM module eg. KM44C1000BJ-6 and 421000-60 both mean that these chips have a speed of 60ns, while HY514400J-70 has a speed of 70ns

Generally try to use the same speed SIMMs in all the sockets. If this is not possible then some motherboards allow jumpers to be set to configure the speed of individual sockets, while other boards allow this difference to be catered for within the BIOS setup

As a final solution try placing the SIMMs in different sockets, there are many options here and one of them may work

Voltage
Most modules operate at 5volts, however check the motherboard settings for 3.3volt modules

Note
The default POST (Power On Self Test) performed on the ram at start-up (usually displayed on the start-up screen as an incrementing counter), is not a reliable method of informing that the ram is working satisfactorily. A more reliable POST is when the BIOS is set to check ram above 1,024k

 


TERMS

PC133 SDRAM (SDRAM 133Mhz)
SDRAM delivers bursts of data at very high speeds using an interface that is synchronized to the CPU clock. PC133 SDRAM meets Intel's requirements for use with 133MHz motherboards.

In general, PC133 SDRAM can also be used with a 100MHz or 66MHz front side bus; however, your memory will only operate as fast as the slowest "link" in your system. For example, if you install a PC133 module in a system with a 100MHz FSB or in a system containing a 100MHz module, the PC133 module will operate at 100MHz.

PC100 SDRAM (SDRAM 100Mhz)
SDRAM delivers bursts of data at very high speeds using an interface that is synchronized to the CPU clock. PC100 SDRAM is a particular type of 100MHz SDRAM that meets Intel's requirements for use with 100MHz motherboards.

In general, 100MHz SDRAM can also be used with a 66MHz front side bus; however, your memory will only operate as fast as the slowest "link" in your system. For example, if you install a PC100 module in a system with a 66MHz FSB or in a system containing a 66MHz module, the PC100 module will operate at 66MHz.

PC66 SDRAM (SDRAM 66Mhz)
SDRAM delivers bursts of data at very high speeds using an interface that is synchronized to the CPU clock. 66MHz SDRAM is used in systems that have a 66MHz front side bus.

Registered SDRAM
Registered modules contain a register that delays all information transferred to the module by one clock cycle. Like buffered modules, registered modules are typically used only in servers and other mission-critical systems where it is extremely important that the data is properly handled.

EDO (Extended Data Out)
Enhancements its addressing system allow EDO to operate 10 to 15% faster than FPM; however, it is not as fast as SDRAM.

FPM (Fast Page Mode)
In the FPM scheme, information from the same row of DRAM can be accessed an infinite number of times after supplying the row address only once.

DDR (Double Data Rate)
DDR SDRAM reads information on both the rising and falling edge of the CPU's clock cycle, roughly doubling the speed of memory processing over standard SDRAM.

PC1600 DDR SDRAM is used in systems with a 100MHz front side bus. PC2100 DDR SDRAM is used in systems with a 133MHz front side bus.

ECC
ECC modules have an extra chip that detects if the data was correctly read or written by the memory module. If the data wasn't properly written, the extra chip will correct it in many cases (depending on the type of error). Non-ECC (also called non-parity) modules do not have this error-detecting feature.

If you plan to use your system as a server or a similar mission-critical type machine, it is to your advantage to use ECC. If you plan to use your PC for regular home, office, or gaming applications, you are better off with non-ECC. Current technology DRAM is very stable and memory errors are rare, so unless you have a need for ECC, you are better served with non-ECC SDRAM or DDR SDRAM.

Parity
Parity modules have an extra chip that detects if data was correctly read or written by the memory module, depending on the type of error. However, unlike an ECC module, a parity module will not correct the error.

If you plan to use your system as a server or a similar mission critical type machine, it is to your advantage to use parity. If you plan to use your PC for regular home, office, or gaming applications, you are better off with non-parity. Current technology DRAM is very stable and memory errors are rare, so unless you have a need for parity, you are better served with non-parity DRAM.

RDRAM (Rambus)
Rambus is a proprietary memory of Rambus Inc., and manufacturers who produce it are required to pay a royalty. Rambus and SDRAM modules are not interchangeable and do not fit into the same size slots.

DIMM
DIMMs come in several sizes. 168-pin DIMMs, the most common size for PCs, are approximately 5.375" long and 1.375" high. 100-pin DIMMs, the most common size for printers, are approximately 3.5" long and 1.25" high. 184-pin DIMMs, used for DDR SDRAM, are approximately 5.375" long and 1.375" high. While 184-pin DIMMs and 168-pin DIMMs are about the same size, 184-pin DIMMs have only one notch within the row of pins while the 168-pin DIMMs have two notches.

Buffering
Unbuffered modules are the most common. In unbuffered memory, the chipset controller deals directly with the memory. There is nothing between the chipset and the memory as they communicate. Buffered modules contain a buffer to help the chipset cope with the large electrical load required when the system has a lot of memory. Registered modules are unbuffered modules that contain a register that delays all information transferred to the module by one clock cycle. Buffered and registered modules are typically used only in servers and other mission-critical systems where it is extremely important that the data is properly handled.

DDR and SDRAM modules can be registered or unbuffered; EDO and FPM modules can be buffered or unbuffered.

CL=3, CL=2, and CL=2, 2-clock
CAS latency is the amount of time it takes for your memory to respond to a command. It only affects the initial burst of data. Once data starts flowing, latency has no effect.

Latency is measured in terms of clock cycles. For example, a CL=2 part requires two clock cycles to respond, while a CL=3 part requires three clock cycles. Thus, CL=2 parts complete the initial data access a little more quickly than CL=3 parts. However, a clock cycle for a systems with a 100MHz front side bus is only 10 nanoseconds (10 billionths of a second), so you probably won't be able to tell the difference between a CL=2 and a CL=3 part.