Funny you mentioned this. I was recently using Intel software raid (isw, aka fakeraid) to mirror my root flash drives. Big mistake! The dmraid package, on closer inspection, says, "DO NOT USE; Not production quality." The flash drives would hiccup (still don't know why) and "sort of" drop out of the RAID. I say sort of because, near as I could figure, they'd completely stop responding to IO, but the kernel would still queue IP calls to them. I'd end up with a slew of processes in state D, mostly cron, and if I didn't catch it in time, it would fill the process table with them.
It was weird in that, often I could still ssh to the machine and run some programs, but anything that pulled lots of blocks from root or try to flush to root would go into state D and never return. That includes, oh, shutdown, reboot, init, and the like... :( I was able to load an IPMI utility and tell the PMU to reset the system, though, and it would come up like nothing ever happened.
The solution was to delete the RAID metadata block and reboot, which switched the root mount to the underlying device instead of the devicemapper. No more RAID, but no more strange diskIO issues either. With a little resize2fs and fdisk magic, I could then repartition the non-used mirror drive as an mdadm mirror, reboot onto it and sync to the other to regain my redundancy.