MoIO: Run-time monitoring for I/O protocol violations in storage device drivers