Article: KB-038

  Functions Description
Common Common functions that are used at the beginning of every operation
Scan Device

SKStorageDeviceUtils::scanDevices

Scan for storage devices. This is the first function that every application will do. This function returns a list of storages that it can detect and communicate with.
Read device identify

SKCCoreDelegate::identifyDevice

This function is to retrieve device identify information, which provides information about what device this is, serial number, supported features and current settings
Standard Standard ATA security function
Is the security feature set supported?

SKSSecurityDelegate::isSecurityFeatureSetSupported

Determine if security feature set is supported.

If security feature set is supported, continue with security operation.

If security feature is not supported, it means set password, sanitize and secured erase are not supported.

Is security enabled?

SKSSecurityDelegate::isSecurityEnabled

If security feature set is supported and enabled, sanitize and secured erase are supported and ready.

If security feature set is supported and not enabled, enable security by setting master or user password.

Is security frozen?

SKSSecurityDelegate::isSecurityFrozen

System OS enables security frozen sometimes to protect data on SSD from external attack. This function returns current value of the security state (frozen or not frozen).

If the state is frozen, follow ATA procedure in ATA specification to unfreeze the drive before security feature can be executed.

Is security locked?

SKSSecurityDelegate::isSecurityLocked

Sanitize Sanitize feature set
Is the sanitize feature supported?

SKSSecurityDelegate::isSanitizeSetSupported

Determine if sanitize feature is supported?
Is sanitize by Block Erase supported?

SKSSecurityDelegate::isSanitizeBlockEraseSupported

Determine if sanitize by block erase is supported. Security must also be enabled and unfrozen to sanitize to work.
Sanitize by Block Erase

SKSSecurityDelegate::sanitizeBlockErase

Instruct SSD to start sanitizing process by issuing physical erase of NAND blocks.
Is sanitize by Crypto Scramble supported?

SKSSecurityDelegate::isSanitizeCryptoScrambleSupported

Determine if sanitize by crypto scramble is supported. Security must also be enabled and unfrozen to sanitize to work.
Sanitize by Crypto Scramble

SKSSecurityDelegate::sanitizeCryptoScramble

Instruct SSD to start sanitizing process by changing crypto scramble key. Data will be scrambled but physical NAND are not erased.
Is sanitize by overwriting supported?

SKSSecurityDelegate::isSanitizeOverwriteSupported

Determine if sanitize by overwrite is supported.
Secure Erase Secure Erase functions
Initiate secure erase the device

SKSSecurityDelegate::secureErase

Initiate secure erase process on the device. Application can specify erase mode when invoke this function to perform secure erase.
TCG OPAL TCG OPAL functions
Is TCG OPAL supported?

SKSSecurityDelegate::isOpal20Supported

Determine if the device supports TCG OPAL security feature.
Is TCG OPAL feature initialized?

SKSSecurityDelegate::isOpalDeviceInitialized

To use TCG OPAL feature, it must be initialized. This function will check if it is initialized.
Setup TCG OPAL

SKSSecurityDelegate::initialSetup

Setup SID password for TCG OPAL.
Is PSID revert supported?

SKSSecurityDelegate::isPSIDRevertSupported

Determine if PSID revert is supported.
Initiate PSID revert.

SKSSecurityDelegate::psidRevert

Initiate PSID revert for the device.
Military Erase Will be released upon request