In the kernel dump, where we can see all 16 processors and not just the one that failed, as in the minidump, it's clear that only processor #8 (the one that failed) is processing any real work. The other 15 processors are all running the idle loop.
The only processor we have to look at then is processor #8, the one in the minidump, and this BSOD is not caused by a rogue driver running on another processor. I hate to keep banging on about your RAM, but the indications in the full call stack in the kernel dump show that the BSOD was caused by a memory access fault. You can clearly see the call to the Microsoft nt!MmAccessFault function...
Code:
ffff8508`3b1de158 fffff807`20a401c2 nt!MmAccessFault+0x282
The nt!MmAccessFault function call indicates that there was a problem accessing memory (RAM), and that's the root cause of this BSOD. There is also a stack pointer error in this dump (most likely related to the access fault above), during a hypervisor function, and that's what eventually caused the bugcheck...
Code:
FAILURE_BUCKET_ID: 0x20001_13_0_STACKPTR_ERROR_nt!HvlSkCrashdumpCallbackRoutine
A stack pointer error is where a memory pointer become corrupted and no longer points anywhere sensible. In this case, as we shall see shortly, it was the instruction pointer (which points to the next instruction to be executed) that was in error.
In the call stack for processor #8 there is a call to an address, not a symbol. This is because we don't have a debugger symbol table entry for this address, and that's
very suspicious (and unusual) in a kernel-mode stack. It follows a call to a hypervisor function (nt!HvcallpExtendedFastHypercall) which is why this was a 0x20001 bugcheck...
Rich (BB code):
8: kd> knL
# Child-SP RetAddr Call Site
00 ffff8601`1025eca8 fffff807`20d64b21 nt!KeBugCheckEx
01 ffff8601`1025ecb0 fffff807`20cc58b4 nt!HvlSkCrashdumpCallbackRoutine+0x81
02 ffff8601`1025ecf0 fffff807`20c3fd42 nt!KiProcessNMI+0x1df744
03 ffff8601`1025ed30 fffff807`20c3faae nt!KxNmiInterrupt+0x82
04 ffff8601`1025ee70 fffff807`1eb90000 nt!KiNmiInterrupt+0x26e
05 ffff8508`3b1de858 fffff807`20c3e364 0xfffff807`1eb90000
06 ffff8508`3b1de860 fffff807`20bb48af nt!HvcallpExtendedFastHypercall+0x54
07 ffff8508`3b1de870 fffff807`20bb472b nt!HvlpFastFlushListTb+0xdf
08 ffff8508`3b1de980 fffff807`20bb468b nt!HvlpFlushRangeListTb+0x83
09 ffff8508`3b1de9e0 fffff807`20a26e7b nt!HvlFlushRangeListTb+0x33
0a ffff8508`3b1dea30 fffff807`20a265f3 nt!MiFlushTbList+0x51b
0b ffff8508`3b1deb10 fffff807`20a22958 nt!MiTerminateWsleCluster+0x373
0c ffff8508`3b1decc0 fffff807`20a22275 nt!MiDeletePteWsleCluster+0xb8
0d ffff8508`3b1dedf0 fffff807`20ed44f0 nt!MiDecommitPages+0x8f5
0e ffff8508`3b1df850 fffff807`20eb7deb nt!MiDecommitRegion+0x80
0f ffff8508`3b1df900 fffff807`20eb7ab5 nt!MmFreeVirtualMemory+0x2fb
10 ffff8508`3b1dfa40 fffff807`20c46ee8 nt!NtFreeVirtualMemory+0x95
11 ffff8508`3b1dfaa0 00007ffb`cc38f114 nt!KiSystemServiceCopyEnd+0x28
12 00000073`5adfdaf8 00000000`00000000 0x00007ffb`cc38f114
Immediately following this rogue address is a kernel non-maskable interrupt (nt!KiNmiInterrupt) which is the beginning of the BSOD process.
If we take a closer look at the details of frame 5 (the one with the rogue function call) we can see that the instruction being pointed to by the instruction pointer (in the RIP register) is invalid (notice the ??? characters)...
Code:
8: kd> .frame /r 5
05 ffff8508`3b1de858 fffff807`20c3e364 0xfffff807`1eb90000
rax=0000000000000001 rbx=0000000000000100 rcx=0000000000000012
rdx=0000000000000000 rsi=0000000000000000 rdi=0000000000000000
rip=fffff8071eb90000 rsp=ffff85083b1de858 rbp=0000000000000000
r8=0000000000000000 r9=0000000000000000 r10=0000000000000000
r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up di ng nz na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00000086
fffff807`1eb90000 2f ???
This address in the call stack is thus an error, and we can tell that by looking at the addresses of the other function calls in this call stack; they are all in the range fffff807`20c46ee8 to fffff807`20bb48af, so this apparent call to
fffff807`1eb90000 is clearly in error, because it's well outside the range of addresses that we're calling.
Since all other function calls that precede it are Microsoft functions, this cannot be caused by a rogue third-party driver and thus must be a hardware error, and a RAM error is by far the most likely.
I know I've gone on at length here, but I want to clearly illustrate why I think that flaky RAM is the most likely cause of this BSOD.
I still think your wisest next step is to remove the stick of RAM that is removable and see whether the BSODs cease. Even if they don't, it's possible that any memory failure is in the soldered-in stick, in which case you have a problem.