User Manual
StableBit Scanner 2.X
An innovative disk surface scanner, disk health monitor and file recovery system.

Disk Scanning

(Build 3096)

Back to Contents

Surface Scan Sector Selection

The StableBit Scanner keeps track of every sector that it has ever scanned on every disk for up to one year. If it doesn't see the same disk for an entire year, then its scan history is discarded.

Since the StableBit Scanner knows if it has checked a particular disk before, it will not check it again until some time in the future. The number of days to wait between re-checking of sectors is 30 days by default, but can be changed in settings. This applies to both manual and automatic scans. If you want to force a full disk check, you must mark the already checked sectors as unchecked. This can be done in the Disk Scanning Panel.

Once it's time to re-check some sectors on one or more of your disks, StableBit Scanner goes to work while diligently monitoring disk I/O from other processes and disk temperature to make sure that it's not interfering with other system activities and that it's not over-stressing the disk.

Unreadable sectors have a separate re-check interval that can be changed in settings. By default it's set to 30 days.

It is important to re-check unreadable sectors because hard drives will re-map an unreadable sector to a known good one automatically, whenever something writes over it.

Keep in mind, that even though we talk about re-checking disks every 30 days, the 30 day interval actually applies to individual sectors on the disk.

For example, if half the disk is scanned on 1/25/2015, and the other half is scanned the next day. The first half will be available for a re-check on 2/24/2015 (exactly 30 days later), and the second half will be available for a re-check the next day (2/25/2015). The time of day was omitted for simplicity, but actually does apply as well.

The last check time for a sector is set to when then current scan cycle started. This is an optimization, so that we don't have to save a last check date for each individual sector.

What is the Surface Scan?

Unfortunately, because of manufacturing defects, mishandling, or just age, hard drives can degrade and develop issues over time. This process is referred to as bit rot. And this is why the surface scanner is so important. Not only can it help prevent this "rot" from causing damage before it happens, but once you start encountering unreadable sectors, we can attempt to identify any damaged files and attempt to recover them.

The actual surface scan attempts to read each and every sector of the drive, to ensure that the entire surface of the disk is readable. This process is often referred to "Data Scrubbing", and may cause your disk to identify and correct potential issues before they become a problem as well.

It is important to understand that the surface scan and file recovery features are a best effort approach. Depending on how damaged the file is, you may get partial recovery, full recovery or no recovery.

While a Solid State Drive may not have a "surface" to speak of, reading all the memory cells ensures that damage hasn't occurred to them silently.

Performing a surface scan of a Solid State Drive is in no way harmful to the drive. While SSDs do have a limited number of writes that can be performed in their lifetime, the StableBit Scanner only performs reads, and reads do not cause any degredatrion to the undelying medium.

During the surface scan, if it runs into sections that it cannot read, then it flags these sections as "damaged" and continues scanning.

It is important to note here, that the "damage" can in some cases be caused by a bad connection to the disk, which will cause the same behavior as a damaged disk.

Overheat Protection and Temperature Equalization

For disks with accessible S.M.A.R.T. data, the StableBit Scanner will monitor their temperature to ensure that it's not over-stressing them. If the disk temperature is exceeded while scanning the disk, then another disk on the same controller group that's not exceeding the maximum temperature is selected to be scanned instead. If no other disk is waiting to be scanned on this controller group, then the scan is either suspended until the disk cools off or the scan will continue at a throttled rate.

The maximum allowed disk temperature is set up in Settings.

Whether a scan is suspended or throttled, and how much to throttle, is set up in settings.

Besides the standard overheat protection, the StableBit Scanner features temperature equalization. When scanning multiple disks on a controller, if the disk being scanned becomes significantly hotter than the other disks waiting to be scanned, then the scan is suspended and another cooler disk is picked instead. This happens even if the disk is not exceeding its maximum temperature, and gives the hotter disk a chance to cool down.

Overall, this minimizes temperature fluctuations on all the disks being scanned.

How hot is significantly hotter? It's set up in Settings.

Normally, if temperature equalization is triggered then the current disk scan is suspended and the coolest disk in the controller group that's waiting to be scanned is selected. However, this is not always the case. If the coolest disk is in use, then it will not be selected to be scanned and will keep waiting.

Scan Throttling

Scan throttling is designed to prevent disk scanning from interfering with other applications using the disk or network access. Its behavior is straight forward. If something else starts using the disk while a scan is in progress, then the scanner will check to see if there's another disk in the controller group that's not busy and switch to it instead. If there is no better disk to scan then the scan is suspended until the disk access stops.

In order to prevent constant starts and stops of the scan, the StableBit Scanner will allow some concurrent disk activity while scanning. How much concurrent activity to allow, you can change in Settings.

Scan throttling due to disk activity is not enough to prevent the scanner from interfering with all disk and network access. Consider what happens if you have 4 hard disks connected to the same USB controller. Typical read bandwidth for a hard disk over USB 2.0 is somewhere in the range of 20 to 25 MB/s, while a hard disk's maximum sustained throughput can be 60 to 100 MB/s and even much higher on SSD disks. This will quickly consume the available bandwidth of the USB bus.

So in this scenario, if you were to be scanning 1 of those 4 disks, then disk access to the other 3 disks would severely degrade in performance. This situation would not normally trigger disk throttling as described above because there would be no disk activity on the disk being scanned.

To prevent this scenario, the StableBit Scanner features bus saturation detection and throttling. With this enabled, if the current scan is close to saturating the controller bus, and disk activity starts to take place on one of the other disks, then the current scan is suspended until that disk activity stops. In this case, no other disk will be scanned on the same controller, because doing so would continue to oversaturate the bus and interfere with the other disk access.

In order for bus saturation detection to work, the StableBit Scanner must measure the bus performance on each controller group. This measurement happens automatically in the background when there is no disk activity. It's refreshed every week.

Because of this, bus saturation detection may not be available right after a fresh install.

You can tell if the StableBit Scanner has measured the bus speed for a particular controller group by right clicking on any disk in that group and opening the Disk Details window. If the bus speed was measured, it will be shown in the information sub-panel.

Scanning Multiple Disks at the Same Time

StableBit Scanner supports scanning more than one disk at the same time, as long as the disks are on separate controllers.

If multiple disks need to be scanned in the same controller group, then the best disk is selected and scanned while the others wait their turn. If the scan of the currently scanning disk needs to be suspended for some reason, then the next best disk is chosen to be scanned instead. The reason for the scan switch is noted in the main Disk List's status column and on the Advanced Disk Panel below the sector map.

Some reasons for picking a new disk to scan are disk activity from other processes, disk overheating and temperature equalization.

The best disk is determined based on a number of factors including its temperature and its past disk activity. These factors are weighed together and the best candidate is selected.

If Bus saturation throttling is invoked, then the current scan is suspended and no other disk is scanned. This is because scanning another disk on the same controller would continue to oversaturate the bus and negatively affect other processes trying to access any of the disks on that controller.

In the Advanced settings for StableBit Scanner, you can increase the maximum number of disks that can be scanned at the same time on one controller. However, for performance reasons, we recommend that this be left at one disk.