Article: KB-029


SANITIZE refers to the command specified by the ATA Command Set (ACS); it relates to the sanitizing of data on an SSD.

The National Institute of Standards and Technology (NIST) describes SANITIZE is accepted as a data purge method in the publication 800-88, “Guidelines for Media, Sanitization.”

The latest ATA specification specifies the two options for SANITIZE: SANITIZE BLOCK ERASE and SANITIZE CRYPTO SCRAMBLE. There is a third option of SANITIZE, which is SANTIZTE OVERWRITE ERASE. This third option is only applicable to the HHDs.


When the host issues the SANITIZE BLOCK ERASE command, the firmware instructs the SSD controller to send the BLOCK ERASE command to all NAND devices on the SSD.
The operation is a physical erase of all User data blocks on all NAND devices. The user data blocks include all blocks or areas accessible by the host, including the NAND space reserved for overprovisioning and retired blocks.

What data is not erased?
There are System blocks, which are needed by the SSD firmware for its operation. The System blocks include the following: SSD firmware copies that reside on the NAND, and all data related to the firmware (mapping tables, system table, logs, and SMART data). The System blocks are not erased.

What happens if the power is cut off during the SANITIZE operation?
The SANITIZE operation will resume immediately when the power is restored.


When the host issues the SANITIZE CRYPTO SCRAMBLE command, the firmware instructs the SSD controller to replace the current encryption key with a new encryption key. With the new encryption key, when the host reads the current data on the drive, the returned information is scrambled.

We recommend following up with a SANITIZE BLOCK ERASE command after the SANITIZE CRYPTO SCRAMBLE command.

Evaluating and Validating SANITIZE

If there are needs to validate and confirm that data is permanently and securely sanitized yourselves, Virtium will assist your company with information, testing tools, and certification. Contact Virtium Sales for details.

Check out our vtSecure page for the introduction of the software tools and our StorKit API page.

Operation Overview

  1. Fill the SSD with known patterns.
  2. Issue the SANITIZE BLOCK ERASE command to the SSD.
  3. It will take a few seconds to erase the entire SSD. The time will depend on the size of the SSD.
  4. Read the content to verify the SSD is erased. At this point, returned data from the SSD should be all zeros.
  5. To read raw content from NAND, we need a special software tool. Please contact our team if you need to have this access.

How does StorKit make it easier?

  • vtTestCmd enables you to bypass the file system and write directly to each Logical block address (LBA) of the SSD.
  • vtSecure encapsulates the complexity of the ATA protocol into a step-by-step action.
  • vtTestCmd enables you to bypass the file system and read directly from each LBA to verify.
  • In our lab, we read raw NAND content, block-by-block, to verify the feature. Please contact us if you need this level of verification.
  • We offer a package, including Python script and software to simplify the test.