I'm afraid, my friend, that this is the case. Sandforce controllers - even on Intel brand SSDs (Intel is pretty solid brand) are unstable messes that cause a lot of trouble for many here at SF. Yours is no exception, as evident from the crashdumps, which all of them one way or another reported an issue dealing with disk I/O. One particularly interesting one was that it was reporting that the system was still trying to work on a file when a surprise removal occurred on the SSD. That means that the SSD suddenly just completely out and about stopped doing anything, and the system thought someone pulled it out! Of course, this could
also mean that there's an issue with the cable. Reattach both ends for both data and power cables for your SSD to make sure they're sitting pretty. If you have a spare data cable, try that as well to make sure the cable itself just ain't bad. If none of that seems to work, then it's time to write this SSD as bad.
Don't let this experience sour your perspective on SSDs. There are a good number of reliable SSD brands and models out there, some of which are even sitting in enterprise environments on pure SSD-driven file servers! From my experience both on personal and enterprise level, Samsung has been the most reliable, with Intel and Crucial being close behind. OCZ and Rosewill are by far the worst contenders, and often you'll have to run through 3-5 of them before you get one that'll last you over a year. Of course, stay away from all Sandforce controller SSDs, and be aware that failure rate on even the best models still exists, albeit small (akin to a good model RAM stick or HDD). You don't really need the extra umph pushed out of Sandforce controllers or what OCZ has to offer; SSDs by design are already super fast enough, so risking an extra little speed for a large reduction in stability is not worth it.
Analysts:
As mentioned before, pretty much all crashdumps have stacks in the offending threads riddled with NTSTATUS error codes associated with file and disk-to-RAM I/O operations. The most curious one is the surprise removal one, shown here:
Code:
Use !analyze -v to get detailed debugging information.
BugCheck 7A, {fffff6fc50070450, ffffffffc0000056, c50c880, fffff8a00e08a000}
TRIAGER: Could not open triage file : C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\triage\modclass.ini, error 2
Probably caused by : ntkrnlmp.exe ( nt! ?? ::FNODOBFM::`string'+36bea )
Followup: MachineOwner
---------
1: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
KERNEL_DATA_INPAGE_ERROR (7a)
The requested page of kernel data could not be read in. Typically caused by
a bad block in the paging file or disk controller error. Also see
KERNEL_STACK_INPAGE_ERROR.
If the error status is 0xC000000E, 0xC000009C, 0xC000009D or 0xC0000185,
it means the disk subsystem has experienced a failure.
If the error status is 0xC000009A, then it means the request failed because
a filesystem failed to make forward progress.
Arguments:
Arg1: fffff6fc50070450, lock type that was held (value 1,2,3, or PTE address)
Arg2: ffffffff[COLOR=Red]c0000056[/COLOR], error status (normally i/o status code)
Arg3: 000000000c50c880, current process (virtual address for lock type 3, or PTE)
Arg4: fffff8a00e08a000, virtual address that could not be in-paged (or PTE contents if arg1 is a PTE address)
Debugging Details:
------------------
TRIAGER: Could not open triage file : C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\triage\modclass.ini, error 2
[COLOR=Red]ERROR_CODE: (NTSTATUS) 0xc0000056 - A non close operation has been requested of a file object with a delete pending.[/COLOR]
BUGCHECK_STR: 0x7a_c0000056
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: VERIFIER_ENABLED_VISTA_MINIDUMP
PROCESS_NAME: System
CURRENT_IRQL: 0
LAST_CONTROL_TRANSFER: from fffff80002f3a552 to fffff80002eccfc0
STACK_TEXT:
fffff880`035fbd98 fffff800`02f3a552 : 00000000`0000007a fffff6fc`50070450 ffffffff`c0000056 00000000`0c50c880 : nt!KeBugCheckEx
fffff880`035fbda0 fffff800`02ef3cbf : fffffa80`0d7b4e90 fffff880`035fbed0 fffff800`030ff600 fffffa80`067ad660 : nt! ?? ::FNODOBFM::`string'+0x36bea
fffff880`035fbe80 fffff800`02eda589 : 00000000`00000000 00000000`00000000 ffffffff`ffffffff 00000000`00000003 : nt!MiIssueHardFault+0x28b
fffff880`035fbf10 fffff800`02f35a46 : 00000000`00000000 fffff8a0`0e08a000 fffffa80`0d89cd00 00000000`00000000 : nt!MmAccessFault+0x1399
fffff880`035fc070 fffff800`031680cb : fffffa80`0d89cd50 00000000`00000000 00000000`0008c081 fffffa80`0d89cd50 : nt! ?? ::FNODOBFM::`string'+0x2a8d0
fffff880`035fc140 fffff800`02e9a52b : fffffa80`0d89cdd0 00000000`00000000 fffffa80`0d89cdd0 fffffa80`0d89cdd0 : nt!MiSegmentDelete+0x7b
fffff880`035fc180 fffff800`02e9ac52 : 00000000`00000000 00000000`00000011 00000000`00000000 fffff880`01639200 : nt!MmPurgeSection+0x71b
fffff880`035fc270 fffff880`016a5817 : fffffa80`0c64fc88 00000000`00000000 00000000`00000000 fffffa80`00000000 : nt!CcPurgeCacheSection+0x172
fffff880`035fc2e0 fffff880`017a59e2 : fffffa80`07e96730 fffffa80`0d180180 00000000`00000000 fffff880`017a5901 : [COLOR=Red]Ntfs!NtfsFlushVolume[/COLOR]+0x5fb
fffff880`035fc410 fffff880`016fbdcc : fffff980`10290f68 fffffa80`0d180180 fffffa80`0d180180 fffff800`02e4e000 : [COLOR=Red]Ntfs!NtfsPerformSurpriseRemoval[/COLOR]+0x32
fffff880`035fc460 fffff880`016fcaec : fffffa80`07e96730 fffff880`035fc5e8 fffff880`035fc5f0 00000000`00000001 : Ntfs!NtfsCommonPnp+0x7eb
fffff880`035fc540 fffff800`0336fc16 : fffff980`10290c10 00000000`00000000 00000000`00000001 fffffa80`07e96730 : Ntfs!NtfsFsdPnp+0x1f0
fffff880`035fc5e0 fffff880`0146cbcf : fffff980`10290fb0 fffff880`035fc680 fffffa80`0c3a6350 fffffa80`0cd1f0e0 : nt!IovCallDriver+0x566
fffff880`035fc640 fffff880`0146b6df : fffffa80`0d88f1e0 fffffa80`0d88f1e0 fffffa80`0d88f100 fffff980`10290c10 : fltmgr!FltpLegacyProcessingAfterPreCallbacksCompleted+0x24f
fffff880`035fc6d0 fffff800`0336fc16 : fffff980`10290c10 00000000`00000002 00000000`c00000bb fffff880`035fc848 : fltmgr!FltpDispatch+0xcf
fffff880`035fc730 fffff800`031338d9 : fffffa80`0d88f1e0 00000000`c00000bb fffff880`035fc848 fffffa80`0e81a820 : nt!IovCallDriver+0x566
fffff880`035fc790 fffff800`032b31e1 : fffffa80`0850a8e0 fffffa80`0d180030 fffffa80`0852b840 fffffa80`0850a8e0 : nt!IopSynchronousCall+0xc5
fffff880`035fc800 fffff800`032adbd8 : 00000000`00000010 fffffa80`0850a8e0 00000000`0000030a 00000000`00000308 : [COLOR=Red]nt!IopRemoveDevice[/COLOR]+0x101
fffff880`035fc8c0 fffff800`032b2d27 : fffffa80`0852b840 00000000`00000000 00000000`00000003 00000000`000007ff : [COLOR=Red]nt!PnpSurpriseRemoveLockedDeviceNode[/COLOR]+0x128
fffff880`035fc900 fffff800`032b2e40 : 00000000`00000000 fffff8a0`12fa1100 fffff8a0`03208760 fffff880`035fca58 : [COLOR=Red]nt!PnpDeleteLockedDeviceNode[/COLOR]+0x37
fffff880`035fc930 fffff800`0334379f : 00000000`00000002 00000000`00000000 fffffa80`0852b840 00000000`00000000 : [COLOR=Red]nt!PnpDeleteLockedDeviceNodes[/COLOR]+0xa0
fffff880`035fc9a0 fffff800`0334435c : fffff880`035fcb78 00000000`00010200 fffff880`035fcb00 00000000`00000000 : [COLOR=Red]nt!PnpProcessQueryRemoveAndEject[/COLOR]+0x6cf
fffff880`035fcae0 fffff800`0322d5ce : 00000000`00000000 fffffa80`0bfe7310 fffff8a0`12fa1120 00000000`00000000 : [COLOR=Red]nt!PnpProcessTargetDeviceEvent[/COLOR]+0x4c
fffff880`035fcb10 fffff800`02ed6641 : fffff800`03132768 fffff8a0`12fa1120 fffff800`0306a2d8 00000000`00000000 : nt! ?? ::NNGAKEGL::`string'+0x5ab9b
fffff880`035fcb70 fffff800`03163e5a : 00000000`00000000 fffffa80`067ad660 00000000`00000080 fffffa80`0678a040 : nt!ExpWorkerThread+0x111
fffff880`035fcc00 fffff800`02ebdd26 : fffff880`033d7180 fffffa80`067ad660 fffff880`033e1fc0 00000000`00000000 : nt!PspSystemThreadStartup+0x5a
fffff880`035fcc40 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x16
STACK_COMMAND: kb
FOLLOWUP_IP:
nt! ?? ::FNODOBFM::`string'+36bea
fffff800`02f3a552 cc int 3
SYMBOL_STACK_INDEX: 1
SYMBOL_NAME: nt! ?? ::FNODOBFM::`string'+36bea
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
DEBUG_FLR_IMAGE_TIMESTAMP: 503f82be
FAILURE_BUCKET_ID: X64_0x7a_c0000056_VRF_nt!_??_::FNODOBFM::_string_+36bea
BUCKET_ID: X64_0x7a_c0000056_VRF_nt!_??_::FNODOBFM::_string_+36bea
Followup: MachineOwner
Evidently, what was going on was that a surprise removal occurred (a device unexpectedly disconnected) and the system is trying to complete the I/O typically responsible for cleaning up after an ejected device. However, during that, a c0000056 error occurred, meaning that during a file deletion (most likely deleting the device object representing the physical drive) the system tried to perform something on the same object that wasn't deletion-related. I can't dive further in the minidump to figure it out, but I speculate what happened is the drive both 'ejected' and returned in such quick succession - most likely a spontaneous connection loss - that the system was trying to work with the device object that was still pending deletion from supposed ejection! Again, minidump can't tell further, but that's what I figure.