Diskovery

The data storage inspection tool

What it is

Diskovery collects and displays the details of data storage facilities of the computer, including its physical drives, disk arrays, partitions, volumes and mount points.

It's a companion program for Bvckup 2 - a fast and light mirroring backup for Windows. If you are routinely replicating large amounts of data from A to B, you may want to have a look.

Download

diskovery-0.9.10.0.exe
File size 320KB
Released Apr 06, 2020
Status beta
Changelog view License Freeware
Requires no installation, just save and run.
Windows Vista and newer. Also runs on XP.

Information collected

Physical drives

  • Capacity
  • Vendor, model and real serial number
  • World-wide number (WWN)
  • Supported features - NCQ, AAM, FFP, etc.
  • Rotational speed (RPM)
  • Command set version (ATA/ACS)
  • Signaling speed - 12.0 Gbps, 6.0Gbps, etc.
  • Power-on count and hours
  • Current temperature - in °C, °F, °R, etc.
  • Overall health status
  • S.M.A.R.T. attributes and OEM health data
  • USB type of the drive enclosure (2.0, 3.0, etc.)
  • Effective USB type of the drive-host connection
  • Full support for NVMe drives

Hardware RAID

  • Type - RAID 0/1/5/etc.
  • Internal serial number
  • Status - healthy, failing, rebuilding, etc.
  • Composition, including details of individual drives

Controllers supported

  • CSMI-enabled controllers, including...
  • Intel ICH series (the on-board SATA RAIDs)
  • HP SmartArray series

In the works

  • MegaRAIDs
  • Dell PERCs
  • Fujitsu/Siemens

Disk partitions

  • Partitioning type - MBR, GPT, etc.
  • Partition table - including gaps and an empty space
  • Partition chunking - as used by dynamic volumes

Logical volumes

  • Volume type - simple, dynamic
  • Capacity and usage
  • Physical extents - partitions used
  • Volume label (serial)
  • Access mode - read-only, read-write
  • Mount points - drive letters and folders
  • File system type - NTFS, FAT, etc.
  • Exact NTFS revision used
  • Volume-wide compression status
  • Supported features - encryption, hard links, etc.

Dynamic volumes (Software RAID)

  • Exact type - spanned, striped, mirrored, etc.
  • Volume status - online, offline, failed
  • Volume health - failing, rebuilding, etc.
  • Transition state - extending, restriping, etc.
  • Exact composition - in physical partitions chunks

How it works

Diskovery starts its scan by asking Windows Configuration Manager for all devices from the Disk and StoragePort classes. This produces a list of directly accessible drives, RAID volumes and SCSI disk controllers.

1. Drives

For each drive on the list the app first gathers all available information as provided by Windows. This includes drive's capacity, bus type, partition table, etc. It then attempts to communicate with the drive directly.

Diskovery implements three options for talking to a drive - direct ATA queries, ATA pass-through queries and SCSI pass-through queries. It also uses SAT to query external drives in USB enclosures.

If a drive can be accessed directly, the app retrieves its ATA IDENTIFY block and SMART information.

The IDENTIFY block contains various drive properties including its model, serial number, rotational speed, a list of supported features, etc.

The SMART data is a list of operational health-related attributes, including drive's temperature, power-on hours, various error counters and wear and tear indicators.

The most interesting part of every SMART attribute is its raw value, which is six bytes of a vendor-specific data. Diskovery can accurately decode most of these using its long list of generic and per-vendor interpretation tables.

2. RAID controllers

Next, Diskovery goes through the list of SCSI drive controllers and attempts to talk to them in several ways, starting with the Common Storage Management Interface protocol (CSMI).

 

Even though CSMI is an open standard, it was drafted by Intel, so it's hardly surprising that it is actually supported by pretty much just Intel and nobody else.
Once it finds a way to talk to the controller, the app builds a list of controller's drives, followed by a list of configured arrays, their properties and composition.

For each drive the app also queries the IDENTIFY and SMART information if it's supported by the controller. In some cases controllers provide drive health data in an OEM format rather as a SMART table. Diskovery grabs this data as well.

3. Logical volumes

There's a couple of ways to obtain a list of logical volumes and their mount points from Windows. One is through the standard Windows API and another by talking to the Virtual Disk Service (VDS). Diskovery uses them both.

The bulk of volume information is available through the first channel, but it doesn't include volume's online/offline status nor its type (simple, spanned, striped, etc.). This information is extracted from the VDS instead.

Volumes without direct physical presence such as those created by RAM drives and TrueCrypt are also included and queried for details.

4. Storage stack

Once the app has gobbled all the data it could, it makes several passes over it, cross-references various bits and pieces and generates a storage stack model.

Finally, it renders its findings in the UI and this completes the scan cycle.