Upgrading and Repairing PCs Free Open Book

Upgrading and Repairing PCs

Previous Section Next Section

Memory Modules

The CPU and motherboard architecture (chipset) dictates a particular computer's physical memory capacity and the types and forms of memory that can be installed. Over the years, two main changes have occurred in computer memory—it has gradually become faster and wider. The CPU and the memory controller circuitry indicate the speed and width requirements. The memory controller in a modern PC resides in the motherboard chipset. Even though a system might physically support a given amount of memory, the type of software you run could dictate whether all the memory can be used.

The 8088 and 8086 CPUs, with 20 address lines, can use as much as 1MB (1,024KB) of RAM. The 286 and 386SX CPUs have 24 address lines and can keep track of as much as 16MB of memory. The 386DX, 486, Pentium, and Pentium-MMX CPUs have a full set of 32 address lines, so they can keep track of 4GB of memory; the Pentium Pro, Pentium II/III, and 4, as well as the AMD Athlon and Duron, have 36 address lines and can manage an impressive 64GB. The Itanium processor, on the other hand, has 44-bit addressing, which allows for up to 16TB (terabytes) of physical RAM!


When the 286 and higher chips emulate the 8088 chip (as they do when running 16-bit software, such as DOS or Windows 3.x), they implement a hardware operating mode called real mode. Real mode is the only mode available on the 8086 and 8088 chips used in PC and XT systems. In real mode, all Intel processors—even the mighty Pentium family—are restricted to using only 1MB of memory, just as their 8086 and 8088 ancestors were, and the system design reserves 384KB of that amount. Only in protected mode can the 286 or better chips use their maximum potentials for memory addressing.

See "Processor Modes," p. 48.


P5 class systems can address as much as 4GB of memory, and P6/P7 class systems can address up to 64GB. To put these memory-addressing capabilities into perspective, 64GB (65,536MB) of memory would cost nearly $20,000! Even if you could afford all this memory, some of the largest memory modules available today are 1GB DIMMs. Installing 64GB of RAM would require 64 of the largest 1GB DIMMs available, and most systems today support up to only four DIMM sockets.

Most motherboards have a maximum of only three to six DIMM sockets, which allows a maximum of 1.5GB–3GB if all the sockets are filled. These limitations are from the chipset, not the processor. Although some processors can address 64GB, there isn't a chipset on the market that will allow that! Most of the chipsets today are limited to 2GB of memory, although some handle up to 4GB or more.

Some systems have even more limitations. P5 class systems have been available since 1993, but only those built in 1997 or later use a motherboard chipset that supports SDRAM DIMMs. Even those using the most recent P5 class chipset from Intel, such as the 430TX, do not support more than 256MB of total memory and should not have more than 64MB actually installed because of memory-caching limitations. Don't install more than 64MB of RAM in one of these older systems unless you are sure the motherboard and chipset will allow the L2 cache to function with the additional memory.

Note

See the "Chipsets" section in Chapter 4 for the maximum cacheable limits on all the Intel and other motherboard chipsets.

SIMMs, DIMMs, and RIMMs

Originally, systems had memory installed via individual chips. They are often referred to as dual inline package (DIP) chips because of their designs. The original IBM XT and AT had 36 sockets on the motherboard for these individual chips; then more of them were installed on the memory cards plugged into the bus slots. I remember spending hours populating boards with these chips, which was a tedious job.

Besides being a time-consuming and labor-intensive way to deal with memory, DIP chips had one notorious problem—they crept out of their sockets over time as the system went through thermal cycles. Every day, when you powered the system on and off, the system heated and cooled, and the chips gradually walked their way out of the sockets. Eventually, good contact was lost and memory errors resulted. Fortunately, reseating all the chips back in their sockets usually rectified the problem, but that method was labor intensive if you had a lot of systems to support.

The alternative to this at the time was to have the memory soldered into either the motherboard or an expansion card. This prevented the chips from creeping and made the connections more permanent, but it caused another problem. If a chip did go bad, you had to attempt desoldering the old one and resoldering a new one or resort to scrapping the motherboard or memory card on which the chip was installed. This was expensive and made memory troubleshooting difficult.

A chip was needed that was both soldered and removable, and that is exactly what was found in the module called a SIMM. For memory storage, most modern systems have adopted the single inline memory module (SIMM), DIMM, or RIMM as an alternative to individual memory chips. These small boards plug into special connectors on a motherboard or memory card. The individual memory chips are soldered to the module, so removing and replacing them is impossible. Instead, you must replace the entire module if any part of it fails. The module is treated as though it were one large memory chip.

Two main types of SIMMs, three main types of DIMMs, and so far one type of RIMM are used in desktop systems. The various types are often described by their pin count, memory row width, or memory type.

SIMMs, for example, are available in two main physical types—30-pin (8 bits plus an option for 1 additional parity bit) and 72-pin (32 bits plus an option for 4 additional parity bits)—with various capacities and other specifications. The 30-pin SIMMs are physically smaller than the 72-pin versions, and either version can have chips on one or both sides. SIMMs were widely used from the late 1980s to the late 1990s but have become obsolete.

DIMMs are also available in three main types. DIMMs usually hold standard SDRAM or DDR SDRAM chips and are distinguished by different physical characteristics. Standard DIMMs have 168 pins, one notch on either side, and two notches along the contact area. DDR DIMMs, on the other hand, have 184 pins, two notches on each side, and only one offset notch along the contact area. DDR2 DIMMs have 240 pins, two notches on each side, and one in the center of the contact area. All DIMMs are either 64-bits (non-ECC/parity) or 72-bits (parity or error correcting code [ECC]) wide (data paths). The main physical difference between SIMMs and DIMMs is that DIMMs have different signal pins on each side of the module. That is why they are called dual inline memory modules, and why with only 1'' of additional length, they have many more pins than a SIMM.

Note

There is confusion among users and even in the industry over regarding the terms single-sided or double-sided with respect to memory modules. In truth, the single- or double-sided designation actually has nothing to do with whether chips are physically located on one or both sides of the module, and it has nothing to do with whether the module is a SIMM or DIMM (meaning whether the connection pins are single- or double-inline). Instead the terms single-sided and double-sided are used to indicate whether the module has one or two banks of memory chips installed. A double-banked DIMM module has two complete 64-bit-wide banks of chips logically stacked so that the module is twice as deep (has twice as many 64-bit rows). In most (but not all) cases, this requires chips to be on both sides of the module; therefore, the term double-sided has often been used to indicate that a module has two banks, even though the term is technically incorrect. Single-banked modules (incorrectly referred to as single-sided) can have chips physically mounted on both sides of the module, and double-banked modules (incorrectly referred to as double-sided) can have chips physically mounted on only one side. I recommend using the terms single-banked and double-banked instead because they are much more accurate and easily understood.

RIMMs also have different signal pins on each side. Three different physical types of RIMMs are available: a 16/18-bit version with 184 pins, a 32/36-bit version with 232 pins, and a 64/72-bit version with 326 pins. Each of these plugs into the same sized connector, but the notches in the connectors and RIMMs are different to prevent a mismatch. A given board will accept only one type. By far the most common type is the 16/18-bit version. The 32-bit version was introduced in late 2002, and the 64-bit version won't be introduced until 2004.

The standard 16/18-bit RIMM has 184 pins, one notch on either side, and two notches centrally located in the contact area. 16-bit versions are used for non-ECC applications, whereas the 18-bit versions incorporate the additional bits necessary for ECC.

Figures 6.2–6.7 show a typical 30-pin (8-bit) SIMM, 72-pin (32-bit) SIMM, 168-pin SDRAM DIMM, 184-pin DDR SDRAM (64-bit) DIMM, 240-pin DDR2 DIMM, and 184-pin RIMM, respectively. The pins are numbered from left to right and are connected through to both sides of the module on the SIMMs. The pins on the DIMM are different on each side, but on a SIMM, each side is the same as the other and the connections carry through. Note that all dimensions are in both inches and millimeters (in parentheses), and modules are generally available in error correcting code (ECC) versions with 1 extra ECC (or parity) bit for every 8 data bits (multiples of 9 in data width) or versions that do not include ECC support (multiples of 8 in data width).

Figure 6.2. A typical 30-pin SIMM. The one shown here is a 9-bit (ECC) version, although the dimensions would be the same for 8-bit (non-ECC) versions.

graphics/06fig02.gif

Figure 6.7. A typical 184-pin RIMM. The one shown here is an 18-bit (ECC) version, although the dimensions would be the same for 16-bit (non-ECC) versions.

graphics/06fig07.gif

Figure 6.6. A typical 250-pin DDR2 DIMM. DDR2 modules come in either 64-bit (non-ECC) or 72-bit (ECC) versions.

graphics/06fig06.gif

All these memory modules are fairly compact considering the amount of memory they hold and are available in several capacities and speeds. Table 6.11 lists the various capacities available for SIMMs, DIMMs, and RIMMs.

Table 6.11. SIMM, DIMM, and RIMM Capacities

30-Pin SIMM Capacities

Capacity

Parity/ECC SIMM

Nonparity SIMM

256KB

256KBx9

256KBx8

1MB

1MBx9

1MBx8

4MB

4MBx9

4MBx8

16MB

16MBx9

16MBx8

72-Pin SIMM Capacities

Capacity

Parity/ECC SIMM

Nonparity SIMM

1MB

256KBx36

256KBx32

2MB

512KBx36

512KBx32

4MB

1MBx36

1MBx32

8MB

2MBx36

2MBx32

16MB

4MBx36

4MBx32

32MB

8MBx36

8MBx32

64MB

16MBx36

16MBx32

128MB

32MBx36

32MBx32

168/184-Pin DIMM/DDR DIMM Capacities

Capacity

Parity/ECC SIMM

Nonparity SIMM

8MB

1MBx72

1MBx64

16MB

2MBx72

2MBx64

32MB

4MBx72

4MBx64

64MB

8MBx72

8MBx64

128MB

16MBx72

16MBx64

256MB

32MBx72

32MBx64

512MB

64MBx72

64MBx64

1,024MB

128MBx72

128MBx64

240-Pin DDR2 DIMM Capacities

Capacity

Parity/ECC SIMM

Nonparity SIMM

256MB

32MBx72

32MBx64

512MB

64MBx72

64MBx64

1,024MB

128MBx72

128MBx64

184-Pin RIMM Capacities

Capacity

Parity/ECC SIMM

Nonparity SIMM

64MB

32MBx18

32MBx16

128MB

64MBx18

64MBx16

256MB

128MBx18

128MBx16

512MB

256MBx18

256MBx16

1,024MB

512MBx18

512MBx16

SIMMs, DIMMs, DDR DIMMs, and RIMMs of each type and capacity are available in various speed ratings. Consult your motherboard documentation for the correct memory speed and type for your system. It is usually best for the memory speed (also called throughput or bandwidth) to match the speed of the processor data bus (also called the front side bus or FSB).

If a system requires a specific speed, you can almost always substitute faster speeds if the one specified is not available. Generally, no problems occur in mixing module speeds, as long as you use modules equal to or faster than what the system requires. Because there's little price difference between the various speed versions, I often buy faster modules than are necessary for a particular application. This might make them more usable in a future system that could require the faster speed.

Because DIMMs and RIMMs have an onboard ROM that reports their speed and timing parameters to the system, most systems run the memory controller and memory bus at the speed matching the slowest DIMM/RIMM installed. Most DIMMs are SDRAM memory, which means they deliver data in very high-speed bursts using a clocked interface. DDR DIMMs are also SDRAM, but they transfer data two times per clock cycle and thus are twice as fast.

Note

A bank is the smallest amount of memory needed to form a single row of memory addressable by the processor. It is the minimum amount of physical memory that is read or written by the processor at one time and usually corresponds to the data bus width of the processor. If a processor has a 64-bit data bus, a bank of memory also is 64 bits wide. If the memory is interleaved or runs dual-channel, a virtual bank is formed that is twice the absolute data bus width of the processor.

You can't always replace a module with a higher-capacity unit and expect it to work. Systems might have specific design limitations for the maximum capacity of module they can take. A larger-capacity module works only if the motherboard is designed to accept it in the first place. Consult your system documentation to determine the correct capacity and speed to use.

Registered Modules

SDRAM and DDR DIMMs are available in buffered, unbuffered, and registered versions. A buffered module has additional buffer circuits between the memory chips and the connector to condition or buffer the signals. Virtually all PC motherboards designed to use SDRAM or DDR require unbuffered or registered modules instead. In fact, no PCs that I am aware of use plain buffered modules. Some of the early PowerPC Macs might have used buffered SDRAM, but no PCs do. Because so few systems ever used them, you will not find buffered modules available for sale.

Most PC motherboards are designed to use unbuffered modules, which allow the memory controller signals to pass directly to the memory chips on the module with no interference. This is not only the cheapest design, but also the fastest and most efficient. The only drawback is that the motherboard designer must place limits on how many modules (meaning module sockets) can be installed on the board, and possibly also limit how many chips can be on a module. So-called double-sided modules that really have two banks of chips (twice as many as normal) onboard might be restricted on some systems in certain combinations.

Systems designed to accept extremely large amounts of RAM often require registered modules. A registered module uses an architecture which has register chips on the module that act as an interface between the actual RAM chips and the chipset. The registers temporarily hold data passing to and from the memory chips and enable many more RAM chips to be driven or otherwise placed on the module than the chipset could normally support. This allows for motherboard designs that can support many modules and enables each module to have a larger number of chips. In general, registered modules are required by server or workstation motherboards designed to support more than 1GB or 2GB of RAM. The important thing to note is that you can use only the type of module your motherboard (or chipset) is designed to support. For most, that is standard unbuffered modules or, in some cases, registered modules.

SIMM Pinouts

Table 6.12 shows the interface connector pinouts for standard 72-pin SIMMs. They also include a special presence detect table that shows the configuration of the presence detect pins on various 72-pin SIMMs. The motherboard uses the presence detect pins to detect exactly what size and speed SIMM is installed. Industry-standard 30-pin SIMMs do not have a presence detect feature, but IBM did add this capability to its modified 30-pin configuration. Note that all SIMMs have the same pins on both sides of the module. SIMM pins are usually tin plated. The plating on the module pins must match the socket pins because corrosion will result otherwise.

Table 6.12. Standard 72-Pin SIMM Pinout

Pin

SIMM Signal Name

1

Ground

2

Data Bit 0

3

Data Bit 16

4

Data Bit 1

5

Data Bit 17

6

Data Bit 2

7

Data Bit 18

8

Data Bit 3

9

Data Bit 19

10

+5 Vdc

11

Presence Detect 5

12

Address Bit 0

13

Address Bit 1

14

Address Bit 2

15

Address Bit 3

16

Address Bit 4

17

Address Bit 5

18

Address Bit 6

19

Address Bit 10

20

Data Bit 4

21

Data Bit 20

22

Data Bit 5

23

Data Bit 21

24

Data Bit 6

25

Data Bit 22

26

Data Bit 7

27

Data Bit 23

28

Address Bit 7

29

Address Bit 11

30

+5 Vdc

31

Address Bit 8

32

Address Bit 9

33

Address Bit 12

34

Address Bit 13

35

Parity Data Bit 2

36

Parity Data Bit 0

37

Parity Data Bit 1

38

Parity Data Bit 3

39

Ground

40

Column Address Strobe 0

41

Column Address Strobe 2

42

Column Address Strobe 3

43

Column Address Strobe 1

44

Row Address Strobe 0

45

Row Address Strobe 1

46

Reserved

47

Write Enable

48

ECC Optimized

49

Data Bit 8

50

Data Bit 24

51

Data Bit 9

52

Data Bit 25

53

Data Bit 10

54

Data Bit 26

55

Data Bit 11

56

Data Bit 27

57

Data Bit 12

58

Data Bit 28

59

+5 Vdc

60

Data Bit 29

61

Data Bit 13

62

Data Bit 30

63

Data Bit 14

64

Data Bit 31

65

Data Bit 15

66

EDO

67

Presence Detect 1

68

Presence Detect 2

69

Presence Detect 3

70

Presence Detect 4

71

Reserved

72

Ground

Notice that the 72-pin SIMMs use a set of four or five pins to indicate the type of SIMM to the motherboard. These presence detect pins are either grounded or not connected to indicate the type of SIMM to the motherboard. Presence detect outputs must be tied to the ground through a 0-ohm resistor or jumper on the SIMM—to generate a high logic level when the pin is open or a low logic level when the motherboard grounds the pin. This produces signals the memory interface logic can decode. If the motherboard uses presence detect signals, a power on self test (POST) procedure can determine the size and speed of the installed SIMMs and adjust control and addressing signals automatically. This enables autodetection of the memory size and speed.

Note

In many ways, the presence detect pin function is similar to the industry-standard DX coding used on modern 35mm film rolls to indicate the ASA (speed) rating of the film to the camera. When you drop the film into the camera, electrical contacts can read the film's speed rating via an industry-standard configuration.

Table 6.13 shows the Joint Electronic Devices Engineering Council (JEDEC) industry-standard presence detect configuration listing for the 72-pin SIMM family. JEDEC is an organization of U.S. semiconductor manufacturers and users that sets semiconductor standards.

Table 6.13. Presence Detect Pin Configurations for 72-Pin SIMMs

Size

Speed

Pin 67

Pin 68

Pin 69

Pin 70

Pin 11

1MB

100ns

Gnd

—

Gnd

Gnd

—

1MB

80ns

Gnd

—

—

Gnd

—

1MB

70ns

Gnd

—

Gnd

—

—

1MB

60ns

Gnd

—

—

—

—

2MB

100ns

—

Gnd

Gnd

Gnd

—

2MB

80ns

—

Gnd

—

Gnd

—

2MB

70ns

—

Gnd

Gnd

—

—

2MB

60ns

—

Gnd

—

—

—

4MB

100ns

Gnd

Gnd

Gnd

Gnd

—

4MB

80ns

Gnd

Gnd

—

Gnd

—

4MB

70ns

Gnd

Gnd

Gnd

—

—

4MB

60ns

Gnd

Gnd

—

—

—

8MB

100ns

—

—

Gnd

Gnd

—

8MB

80ns

—

—

—

Gnd

—

8MB

70ns

—

—

Gnd

—

—

8MB

60ns

—

—

—

—

—

16MB

80ns

Gnd

—

—

Gnd

Gnd

16MB

70ns

Gnd

—

Gnd

—

Gnd

16MB

60ns

Gnd

—

—

—

Gnd

16MB

50ns

Gnd

—

Gnd

Gnd

Gnd

32MB

80ns

—

Gnd

—

Gnd

Gnd

32MB

70ns

—

Gnd

Gnd

—

Gnd

32MB

60ns

—

Gnd

—

—

Gnd

32MB

50ns

—

Gnd

Gnd

Gnd

Gnd

— = No connection (open)

Gnd = Ground

Pin 67 = Presence detect 1

Pin 68 = Presence detect 2

Pin 69 = Presence detect 3

Pin 70 = Presence detect 4

Pin 11 = Presence detect 5

Unfortunately, unlike the film industry, not everybody in the computer industry follows established standards. As such, presence detect signaling is not a standard throughout the PC industry. Different system manufacturers sometimes use different configurations for what is expected on these four pins. Compaq, IBM (mainly PS/2 systems), and Hewlett-Packard are notorious for this type of behavior. Many of the systems from these vendors require special SIMMs that are basically the same as standard 72-pin SIMMs, except for special presence detect requirements. Table 6.14 shows how IBM defines these pins.

Table 6.14. Presence Detect Pins for IBM 72-Pin SIMMs

67

68

69

70

SIMM Type

IBM Part Number

—

—

—

—

Not a valid SIMM

n/a

Gnd

—

—

—

1MB 120ns

n/a

—

Gnd

—

—

2MB 120ns

n/a

Gnd

Gnd

—

—

2MB 70ns

92F0102

—

—

Gnd

—

8MB 70ns

64F3606

Gnd

—

Gnd

—

Reserved

n/a

—

Gnd

Gnd

—

2MB 80ns

92F0103

Gnd

Gnd

Gnd

—

8MB 80ns

64F3607

—

—

—

Gnd

Reserved

n/a

Gnd

—

—

Gnd

1MB 85ns

90X8624

—

Gnd

—

Gnd

2MB 85ns

92F0104

Gnd

Gnd

—

Gnd

4MB 70ns

92F0105

—

—

Gnd

Gnd

4MB 85ns

79F1003 (square notch) L40-SX

Gnd

—

Gnd

Gnd

1MB 100ns

n/a

Gnd

—

Gnd

Gnd

8MB 80ns

79F1004 (square notch) L40-SX

—

Gnd

Gnd

Gnd

2MB 100ns

n/a

Gnd

Gnd

Gnd

Gnd

4MB 80ns

87F9980

Gnd

Gnd

Gnd

Gnd

2MB 85ns

79F1003 (square notch) L40SX

— = No connection (open)

Gnd = Ground

Pin 67 = Presence detect 1

Pin 68 = Presence detect 2

Pin 69 = Presence detect 3

Pin 70 = Presence detect 4

Because these pins can have custom variations, you often must specify IBM, Compaq, HP, or generic SIMMs when you order memory.

DIMM Pinouts

Table 6.15 shows the pinout configuration of a 168-pin standard unbuffered SDRAM DIMM. Note again that the pins on each side of the DIMM are different. All pins should be gold plated.

Table 6.15. 168-Pin SDRAM DIMM Pinouts

Pin

Signal

Pin

Signal

Pin

Signal

Pin

Signal

1

GND

43

GND

85

GND

127

GND

2

Data Bit 0

44

Do Not Use

86

Data Bit 32

128

Clock Enable 0

3

Data Bit 1

45

Chip Select 2#

87

Data Bit 33

129

Chip Select 3#

4

Data Bit 2

46

I/O Mask 2

88

Data Bit 34

130

I/O Mask 6

5

Data Bit 3

47

I/O Mask 3

89

Data Bit 35

131

I/O Mask 7

6

+3.3V

48

Do Not Use

90

+3.3V

132

Reserved

7

Data Bit 4

49

+3.3V

91

Data Bit 36

133

+3.3V

8

Data Bit 5

50

NC

92

Data Bit 37

134

NC

9

Data Bit 6

51

NC

93

Data Bit 38

135

NC

10

Data Bit 7

52

Parity Bit 2

94

Data Bit 39

136

Parity Bit 6

11

Data Bit 8

53

Parity Bit 3

95

Data Bit 40

137

Parity Bit 7

12

GND

54

GND

96

GND

138

GND

13

Data Bit 9

55

Data Bit 16

97

Data Bit 41

139

Data Bit 48

14

Data Bit 10

56

Data Bit 17

98

Data Bit 42

140

Data Bit 49

15

Data Bit 11

57

Data Bit 18

99

Data Bit 43

141

Data Bit 50

16

Data Bit 12

58

Data Bit 19

100

Data Bit 44

142

Data Bit 51

17

Data Bit 13

59

+3.3V

101

Data Bit 45

143

+3.3V

18

+3.3V

60

Data Bit 20

102

+3.3V

144

Data Bit 52

19

Data Bit 14

61

NC

103

Data Bit 46

145

NC

20

Data Bit 15

62

NC

104

Data Bit 47

146

NC

21

Parity Bit 0

63

Clock Enable 1

105

Parity Bit 4

147

NC

22

Parity Bit 1

64

GND

106

Parity Bit 5

148

GND

23

GND

65

Data Bit 21

107

GND

149

Data Bit 53

24

NC

66

Data Bit 22

108

NC

150

Data Bit 54

25

NC

67

Data Bit 23

109

NC

151

Data Bit 55

26

+3.3V

68

GND

110

+3.3V

152

GND

27

WE#

69

Data Bit 24

111

CAS#

153

Data Bit 56

28

I/O Mask 0

70

Data Bit 25

112

I/O Mask 4

154

Data Bit 57

29

I/O Mask 1

71

Data Bit 26

113

I/O Mask 5

155

Data Bit 58

30

Chip Select 0#

72

Data Bit 27

114

Chip Select 1#

156

Data Bit 59

31

Do Not Use

73

+3.3V

115

RAS#

157

+3.3V

32

GND

74

Data Bit 28

116

GND

158

Data Bit 60

33

Address Bit 0

75

Data Bit 29

117

Address Bit 1

159

Data Bit 61

34

Address Bit 2

76

Data Bit 30

118

Address Bit 3

160

Data Bit 62

35

Address Bit 4

77

Data Bit 31

119

Address Bit 5

161

Data Bit 63

36

Address Bit 6

78

GND

120

Address Bit 7

162

GND

37

Address Bit 8

79

Clock 2

121

Address Bit 9

163

Clock 3

38

Address Bit 10

80

NC

122

Bank Address 0

164

NC

39

Bank Address 1

81

SPD Write Protect

123

Address Bit 11

165

SPD Address 0

40

+3.3V

82

SPD Data

124

+3.3V

166

SPD Address 1

41

+3.3V

83

SPD Clock

125

Clock 1

167

SPD Address 2

42

Clock 0

84

+3.3V

126

Reserved

168

+3.3V

Gnd = Ground

SPD = Serial presence detect

NC = No connection

The DIMM uses a completely different type of presence detect than a SIMM, called serial presence detect (SPD). It consists of a small EEPROM or Flash memory chip on the DIMM that contains specially formatted data indicating the DIMM's features. This serial data can be read via the serial data pins on the DIMM, and it enables the motherboard to autoconfigure to the exact type of DIMM installed.

DIMMs can come in several varieties, including unbuffered or buffered and 3.3V or 5V. Buffered DIMMs have additional buffer chips on them to interface to the motherboard. Unfortunately, these buffer chips slow down the DIMM and are not effective at higher speeds. For this reason, all PC systems use unbuffered DIMMs. The voltage is simple—DIMM designs for PCs are almost universally 3.3V. If you install a 5V DIMM in a 3.3V socket, it would be damaged, but fortunately, keying in the socket and on the DIMM prevents that.

Modern PC systems use only unbuffered 3.3V DIMMs. Apple and other non-PC systems can use the buffered 5V versions. Fortunately, the key notches along the connector edge of a DIMM are spaced differently for buffered/unbuffered or 3.3V/5V DIMMs, as shown in Figure 6.8. This prevents inserting a DIMM of the wrong type into a given socket.

Figure 6.8. 168-pin DRAM DIMM notch key definitions.

graphics/06fig08.gif

DDR DIMM Pinouts

Table 6.16 shows the pinout configuration of a 184-pin DDR SDRAM DIMM. Note again that the pins on each side of the DIMM are different. All pins should be gold plated.

Table 6.16. 184-Pin DDR DIMM Pinouts

Pin

Signal

Pin

Signal

Pin

Signal

Pin

Signal

1

Reference +1.25V

47

Data Strobe 8

93

GND

139

GND

2

Data Bit 0

48

Address Bit 0

94

Data Bit 4

140

Data Strobe 17

3

GND

49

Parity Bit 2

95

Data Bit 5

141

Address Bit 10

4

Data Bit 1

50

GND

96

I/O +2.5V

142

Parity Bit 6

5

Data Strobe 0

51

Parity Bit 3

97

Data Strobe 9

143

I/O +2.5V

6

Data Bit 2

52

Bank Address 1

98

Data Bit 6

144

Parity Bit 7

7

+2.5 V

53

Data Bit 32

99

Data Bit 7

145

GND

8

Data Bit 3

54

I/O +2.5 V

100

GND

146

Data Bit 36

9

NC

55

Data Bit 33

101

NC

147

Data Bit 37

10

NC

56

Data Strobe 4

102

NC

148

+2.5V

11

GND

57

Data Bit 34

103

Address Bit 13

149

Data Strobe 13

12

Data Bit 8

58

GND

104

I/O +2.5V

150

Data Bit 38

13

Data Bit 9

59

Bank Address 0

105

Data Bit 12

151

Data Bit 39

14

Data Strobe 1

60

Data Bit 35

106

Data Bit 13

152

GND

15

I/O +2.5V

61

Data Bit 40

107

Data Strobe 10

153

Data Bit 44

16

Clock 1

62

I/O +2.5V

108

+2.5V

154

RAS#

17

Clock 1#

63

WE#

109

Data Bit 14

155

Data Bit 45

18

GND

64

Data Bit 41

110

Data Bit 15

156

I/O +2.5V

19

Data Bit 10

65

CAS#

111

Clock Enable 1

157

S0#

20

Data Bit 11

66

GND

112

I/O +2.5V

158

S1#

21

Clock Enable 0

67

Data Strobe 5

113

Bank Address 2

159

Data Strobe 14

22

I/O +2.5V

68

Data Bit 42

114

Data Bit 20

160

GND

23

Data Bit 16

69

Data Bit 43

115

Address Bit 12

161

Data Bit 46

24

Data Bit 17

70

+2.5V

116

GND

162

Data Bit 47

25

Data Strobe 2

71

S2#

117

Data Bit 21

163

S3#

26

GND

72

Data Bit 48

118

Address Bit 11

164

I/O +2.5V

27

Address Bit 9

73

Data Bit 49

119

Data Strobe 11

165

Data Bit 52

28

Data Bit 18

74

GND

120

+2.5V

166

Data Bit 53

29

Address Bit 7

75

Clock 2#

121

Data Bit 22

167

FETEN

30

I/O +2.5V

76

Clock 2

122

Address Bit 8

168

+2.5V

31

Data Bit 19

77

I/O +2.5V

123

Data Bit 23

169

Data Strobe 15

32

Address Bit 5

78

Data Strobe 6

124

GND

170

Data Bit 54

33

Data Bit 24

79

Data Bit 50

125

Address Bit 6

171

Data Bit 55

34

GND

80

Data Bit 51

126

Data Bit 28

172

I/O +2.5V

35

Data Bit 25

81

GND

127

Data Bit 29

173

NC

36

Data Strobe 3

82

+2.5VID

128

I/O +2.5V

174

Data Bit 60

37

Address Bit 4

83

Data Bit 56

129

Data Strobe 12

175

Data Bit 61

38

+2.5V

84

Data Bit 57

130

Address Bit 3

176

GND

39

Data Bit 26

85

+2.5V

131

Data Bit 30

177

Data Strobe 16

40

Data Bit 27

86

Data Strobe 7

132

GND

178

Data Bit 62

41

Address Bit 2

87

Data Bit 58

133

Data Bit 31

179

Data Bit 63

42

GND

88

Data Bit 59

134

Parity Bit 4

180

I/O +2.5V

43

Address Bit 1

89

GND

135

Parity Bit 5

181

SPD Address 0

44

Parity Bit 0

90

SPD Write Protect

136

I/O +2.5V

182

SPD Address 1

45

Parity Bit 1

91

SPD Data

137

Clock 0

183

SPD Address 2

46

+2.5V

92

SPD Clock

138

Clock 0#

184

SPD +2.5V