Memory Errors only in Dual Channel...

Thavion Hawk

Distinguished
Dec 29, 2007
31
0
18,540
I've been running the gambit for BSOD's over the past two weeks thanks in large part to my opting for Windows 7 Pro x64 instead of x86. This however is not to do with the OS problems and for that reason I've not posted it in the Windows 7 section.

My specks are as fallows.

GIGABYTE MA785GMT-UD2H Socket AM3
Athlon II x4 620 Stock 2.6Ghz OC'd 3.25Ghz
Stock Memory Clock 200Mhz OC'd 250Mhz
North Bridge and Hyper Transport Stock 200x10=2,000Mhz OC'd 250x9=2,250Mhz
Memory 2x2GB A-DATA Gamer PC12800 Stock 200x8=1,600Mhz OC'd 250x6.66=1,666Mhz
No Over Volting or Timing Modifications.
Previously tested under Prime 95 loading to be stable for 22 Hours at CPU temp of 59C

Steps taken so far using Memtest86+ 4.0
OC'd and Stock tested in Dual Channel gave errors.
OC'd and Stock each stick individually came up clean so I ran them twice again and clean each time.
OC'd and Stock in Single Channel Sticks in Slot 0 and 2 not 0-1 or 2-3. This came up clean again on multiple scans.

Something is messing with the Memory only wall in Dual Channel Mode and logic points to the Memory Controllers on the CPU. If my guess is correct the second Memory Controller is slagged and throws errors because of it. I can't RMA my CPU through Newegg and doubt that AMD will be able to take it back so I'd have to get a new one and that's $100 I don't have thanks to the $170 I just dropped for a new ASUS GTS250 Graphics card to replace my old BFG 7900GS.

I'll run in Single Channel if I must, but as I intend to Game and Video Edit on this system Dual Channel is more then proffered.

This is all just my logic braking things down to my best guess. Please give any input you can offer. If there is a tool to test a core function, or if running the AMD specific Bios mode normally used to unlock cut cores and catch could help but I don't see how...

I'm also posting the Minidump from the BSOD, but really it just says Memory Error plane as day.

----


Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Windows\Minidump\120609-29203-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available

Symbol search path is: SRV*f:\localsymbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 7 Kernel Version 7600 MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 7600.16385.amd64fre.win7_rtm.090713-1255
Machine Name:
Kernel base = 0xfffff800`02a4a000 PsLoadedModuleList = 0xfffff800`02c87e50
Debug session time: Sun Dec 6 18:31:40.555 2009 (GMT-8)
System Uptime: 0 days 8:31:09.070
Loading Kernel Symbols
...............................................................
................................................................
......................................
Loading User Symbols
Loading unloaded module list
..........
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 3B, {c0000005, fffff80002aeec9b, fffff88006cabc80, 0}

Probably caused by : memory_corruption ( nt!MiGetNextNode+43 )

Followup: MachineOwner
---------

0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the bugcheck
Arg2: fffff80002aeec9b, Address of the exception record for the exception that caused the bugcheck
Arg3: fffff88006cabc80, Address of the context record for the exception that caused the bugcheck
Arg4: 0000000000000000, zero.

Debugging Details:
------------------


EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

FAULTING_IP:
nt!MiGetNextNode+43
fffff800`02aeec9b 488b4908 mov rcx,qword ptr [rcx+8]

CONTEXT: fffff88006cabc80 -- (.cxr 0xfffff88006cabc80)
rax=0080000000000000 rbx=fffffa8006512760 rcx=0080000000000000
rdx=fffffa8003e04811 rsi=fffffa8003d90848 rdi=fffffa8005442350
rip=fffff80002aeec9b rsp=fffff88006cac668 rbp=fffffa8003e0c740
r8=0000000000000002 r9=00000000000007ff r10=0000000000000801
r11=0000000000000743 r12=fffff8a002400000 r13=0000000000000000
r14=fffff8a0024000c8 r15=0000000000000000
iopl=0 nv up ei pl nz na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010206
nt!MiGetNextNode+0x43:
fffff800`02aeec9b 488b4908 mov rcx,qword ptr [rcx+8] ds:002b:00800000`00000008=????????????????
Resetting default scope

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT

BUGCHECK_STR: 0x3B

PROCESS_NAME: crimson.exe

CURRENT_IRQL: 0

LAST_CONTROL_TRANSFER: from 0000000000000000 to fffff80002aeec9b

STACK_TEXT:
fffff880`06cac668 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!MiGetNextNode+0x43


FOLLOWUP_IP:
nt!MiGetNextNode+43
fffff800`02aeec9b 488b4908 mov rcx,qword ptr [rcx+8]

SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: nt!MiGetNextNode+43

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: nt

DEBUG_FLR_IMAGE_TIMESTAMP: 4a5bc600

STACK_COMMAND: .cxr 0xfffff88006cabc80 ; kb

IMAGE_NAME: memory_corruption

FAILURE_BUCKET_ID: X64_0x3B_nt!MiGetNextNode+43

BUCKET_ID: X64_0x3B_nt!MiGetNextNode+43

Followup: MachineOwner
---------

0: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the bugcheck
Arg2: fffff80002aeec9b, Address of the exception record for the exception that caused the bugcheck
Arg3: fffff88006cabc80, Address of the context record for the exception that caused the bugcheck
Arg4: 0000000000000000, zero.

Debugging Details:
------------------


EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.

FAULTING_IP:
nt!MiGetNextNode+43
fffff800`02aeec9b 488b4908 mov rcx,qword ptr [rcx+8]

CONTEXT: fffff88006cabc80 -- (.cxr 0xfffff88006cabc80)
rax=0080000000000000 rbx=fffffa8006512760 rcx=0080000000000000
rdx=fffffa8003e04811 rsi=fffffa8003d90848 rdi=fffffa8005442350
rip=fffff80002aeec9b rsp=fffff88006cac668 rbp=fffffa8003e0c740
r8=0000000000000002 r9=00000000000007ff r10=0000000000000801
r11=0000000000000743 r12=fffff8a002400000 r13=0000000000000000
r14=fffff8a0024000c8 r15=0000000000000000
iopl=0 nv up ei pl nz na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010206
nt!MiGetNextNode+0x43:
fffff800`02aeec9b 488b4908 mov rcx,qword ptr [rcx+8] ds:002b:00800000`00000008=????????????????
Resetting default scope

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT

BUGCHECK_STR: 0x3B

PROCESS_NAME: crimson.exe

CURRENT_IRQL: 0

LAST_CONTROL_TRANSFER: from 0000000000000000 to fffff80002aeec9b

STACK_TEXT:
fffff880`06cac668 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!MiGetNextNode+0x43


FOLLOWUP_IP:
nt!MiGetNextNode+43
fffff800`02aeec9b 488b4908 mov rcx,qword ptr [rcx+8]

SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: nt!MiGetNextNode+43

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: nt

DEBUG_FLR_IMAGE_TIMESTAMP: 4a5bc600

STACK_COMMAND: .cxr 0xfffff88006cabc80 ; kb

IMAGE_NAME: memory_corruption

FAILURE_BUCKET_ID: X64_0x3B_nt!MiGetNextNode+43

BUCKET_ID: X64_0x3B_nt!MiGetNextNode+43

Followup: MachineOwner
---------
 

rodney_ws

Splendid
Dec 29, 2005
3,819
0
22,810
Perhaps more voltage is required to work in dual channel mode? You said you didn't adjust your voltage so does that mean you let your board pick that for you? I know that my motherboard picks 1.55 volts for my memory even though the packaging clearly says I should be running at 1.65 volts in order to hit my rated speed. I have to manually set this value.
 

Thavion Hawk

Distinguished
Dec 29, 2007
31
0
18,540
That's a good point. I didn't think of altering memory voltage at all based on the idea that my memory is only getting Overclock by 66mhz, but if the board pics voltage based on multiplier it's sending the voltage meant to run at 6.66x not 8x based on my multilayer selections... Very good point! I'll check into it.
 

Thavion Hawk

Distinguished
Dec 29, 2007
31
0
18,540
I rebooted, hit the bios, unlocked the Voltages, upped the memory .05V... It was running 1.6V and my memory is stock 1,600Mhz at 1.65-1.85 so I've been Over Clocking Under Volted memory. Thanks for the tip man. I hate messing with Voltage as it give little gain for the risk most of the time, but seeing that my memory is rated for 1.85V and I was running Under Volted as is, I jumped it to 1.7V and will start doing Memtest86+ 4.0 to see how it affects things. Wish me luck.
 

Thavion Hawk

Distinguished
Dec 29, 2007
31
0
18,540
The Voltage was a temp fix some how making the memory run clean on a set of scans, but the sticks are dead and gone now. I'm down to a 1GB stick of PC10700 I had as backup. Thanks for your help anyway. It's a lesson I will keep in mind next time I get hi power load RAM.