StableBit Scanner 1.X
An innovative disk surface scanner, disk health monitor and file recovery system.
This is an advanced section of the manual and you may want to read this if you're interested in the nuts and bolts of how it all works. For everyone else, see the Quick Start section.
Direct I/O simply means the ability to send commands directly to the disk. The StableBit Scanner uses Direct I/O to deeply identify the disk, to retrieve S.M.A.R.T. data bypassing stubborn disk drivers, and to retrieve S.M.A.R.T. data from compatible USB enclosures.
Windows is designed to retrieve S.M.A.R.T. data from all your drives and make it available through a standard interface. The problem with this is that it doesn't always work. Sometimes buggy disk drivers will refuse to cooperate with Windows and will not expose the correct information. USB enclosures and USB drivers are not designed to expose S.M.A.R.T. data in a standard way.
The StableBit Scanner will first ask Windows for the S.M.A.R.T. data of a given drive. If it's not available then it relies on Direct I/O to retrieve the S.M.A.R.T. data directly from the disk.
Direct I/O looks at the way that the disk is connected and whether it's connected via. USB. If not, then it uses its knowledge of the Windows NT kernel storage stack for non-USB devices to probe the various drivers at each level (class / mini-port) with various APIs to find a compatible solution.
If the drive is on USB then things get a little more complicated. As for the driver stack, there is only one driver used for all USB storage devices and so there is no need to probe it. The StableBit Scanner knows how to talk to this USB driver in order to send commands directly to the USB / SATA ( or USB / PATA) bridge chip in the enclosure. Unfortunately, many USB bridge chips talk their own dialect and so there is no standard way of talking to them. Although, recently, this has started to change. There is now a standard in place (SCSI / ATA Translation) but many older enclosures and even some newer ones don't support it. The StableBit Scanner supports the SAT standard out of the box and will try it on all USB devices.
For devices that don't support SAT, StableBit Scanner cooperates with a cloud based web service in order to retrieve the correct dialect that a particular USB bridge chip uses. It does this by querying the web service with the USB bridge chip's hardware ID, to see if there is a known command that we can send to it in order to talk to the drive directly. ()
Once the StableBit Scanner establishes direct communications with the disk it will query it for S.M.A.R.T. data, and if possible, for disk identification data. The disk identification data is exposed in the Technical Details window.