Article: KB-036

Suppose there is a need to make sure the SSD features and settings are consistent for every shipment you receive. Or, you need to make sure a set of essential features are consistent when the firmware is updated on the SSD.

Here are simple steps to build this function into your process with StorKit API. Check out the StorKit API page for detail.

Below is the output from our sample software.

Step 1: List all drives in the system

# ./coredelegate-sample -s
All drives:

0. /dev/nvme0n1 VSFCN8CI480G-1D1_SVN17066 Virtium Device: No
1. /dev/sda StorFly VSF202CC200G-JN2 Virtium Device: Yes
2. /dev/sdb StorFly VSFB25CC120G-150 Virtium Device: Yes
3. /dev/sdc StorFly VSFB25XC240G-160 Virtium Device: Yes

Step 2: Extract identify device from device #2. This file contains all information and feature setting about this drive.

# ./coredelegate-sample -e /dev/sdb VSFB25CC120G-150.bin

Export success to VSFB25CC120G-150.bin

Step 3: Use this file to compare against a target drive. In this example, we compare to all drives. The third drive matches all features and settings.

# ./coredelegate-sample -c VSFB25CC120G-150.bin

Compare with /dev/nvme0n1: FalseCompare with /dev/sda: FalseCompare with /dev/sdb: TrueCompare with /dev/sdc: False

It is done with a few lines of code as shown below.

static void compareIdentifyExample(const string &fileName)
{

// scan all devices
vector<SKStorageDevice*> storageDevices;
SKStorageDeviceUtils::scanDevices(storageDevices);

SKCCoreDelegate* coreDelegate = SKCCoreDelegateFactory::create(storageDevices[i]);

SKDeviceInfo* devInfo = coreDelegate->identifyDevice();
coreDelegate->compareIdentify(fileName, mask));

}