Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

How are memory locations divided among sticks of RAM?

I recently upgraded from four 1GB DIMM sticks to four 2GB DIMM sticks (the server specifically says it supports the 2GB DDR2 DIMM sticks). However, after putting in the four brand-new 2GB sticks, the machine wouldn't boot and PC speaker gave a loud beep, presumably indicating a faulty DIMM stick. Removing one stick at a time and trying to boot, I found that if the RAM in DIMM2 wasn't present the machine would boot. I then ran memtest86+ for about 10% of a pass and the 6GB seemed to be ok.

I then decided to move DIMM3 (working) to the socket for DIMM2 (trying to test if the DIMM2 socket was faulty) and this booted fine. Then I tried putting the questionable DIMM into the DIMM3 socket. To my surprise this time the computer booted, however running memtest86+, it found ~15 errors in about 5% of a pass. However, I naively expected the errors to be in a location between 6144-8192 MB or at least all confined to a continuous 2048 MB block of RAM. Instead I found that the memory errors were spread throughout the locations. (E.g., some were grouped ~500MB, some grouped around ~4500 MB -- I didn't record the exact locations).

However, then I removed the questionable DIMM in DIMM3 and reran memtest86+. A full pass completed with no errors on the 6GB of RAM. At this point I'm convinced, the questionable DIMM is faulty -- but I'm a bit perplexed by the earlier memtest86+ errors.

Are memory locations not just consecutively grouped? (E.g., DIMM0 is 0-2048MB, DIMM1 2048-4096MB, ... ) or is it split up more (e.g., DIMM0 has byte 0,4,8,12; DIMM1 has byte 1,5,9,13 )? Or could a bad DIMM produce memory errors in locations that belong to other DIMM sticks?

share|improve this question
    
I have absolutely no idea, and I fear that most of us are the same.. perhaps you should try to contact the memtest86+ mailing lists? –  pauska Jul 28 '11 at 18:00

2 Answers 2

up vote 2 down vote accepted

There's no one answer to your questions, each make/model/architecture can be or is wildly different. You can usually find the details of your machine on your manufacturer's website, but sorry there's no 'golden rules'.

share|improve this answer

As @Chopper3 said, there's no guaranteed mapping of sockets to memory locations -- It depends on the motherboard/memory management unit implementation. Really Good Systems (IBM hardware) have little lights that blink next to the faulty component, so if you can get MemTest86 to generate an error that the local IPMI/other monitoring tools detect it will point you right at the faulty component. This feature alone justifies the price of IBM hardware in my opinion :-)

Re: the reproducibility of the errors, unfortunately faulty RAM often fails in erratic ways (It's fine today, totally wrecked tomorrow morning, then goes back to fine by the afternoon). Running MemTest86+ or another software test tool continuously overnight is usually a good way to coax out errors, but since you already know which DIMM is (likely) faulty you can proceed right to the replacement.

share|improve this answer
    
Thanks. Upvotes to both of you; (I gave Chopper3 the answer as its essentially the same as yours but prior by 9 minutes). –  dr jimbob Jul 28 '11 at 19:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.