Skip to content

Commit

Permalink
quick: Updating clear/purge data sanitization text/definitions
Browse files Browse the repository at this point in the history
Updating clear/purge data sanitization text and definitions to match what is being described in IEEE2883/Circular Drive Initiative (CDI)

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
  • Loading branch information
vonericsen committed Aug 25, 2023
1 parent e3efcfb commit 3d3d51e
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 15 deletions.
2 changes: 1 addition & 1 deletion subprojects/opensea-operations
34 changes: 20 additions & 14 deletions utils/C/openSeaChest/openSeaChest_Erase.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
// Global Variables //
////////////////////////
const char *util_name = "openSeaChest_Erase";
const char *buildVersion = "4.3.5";
const char *buildVersion = "4.3.6";

typedef enum _eSeaChestEraseExitCodes
{
Expand Down Expand Up @@ -3065,19 +3065,25 @@ void utility_Usage(bool shortUsage)
printf("\nData Destructive Commands\n");
printf("=========================\n");
printf("Data sanitization capabilities:\n");
printf("\tClear - All user addressable sectors will be overwritten. It is strongly\n");
printf("\t recommended that Max LBA is restored (HPA/AMAC/DCO) prior to using\n");
printf("\t this erase in order to make sure all possible user addressable\n");
printf("\t sectors will be erased.\n");
printf("\tClear, Possible Purge - This erase meets clear criteria and might meet purge criteria,\n");
printf("\t but this requires documentation from the device vendor and this software\n");
printf("\t cannot determine if purge capability can be met. Consult the device\n");
printf("\t manual or vendor to determine if purge capabilities can be met.\n");
printf("\tPurge - All user addressable sectors, reallocated sectors, and currently\n");
printf("\t unaddressable user sectors will be overwritten/erased/crypto erased\n");
printf("This utility does not support clear/purge verification yet. All labels are written\n");
printf("according to the expectation that the device firmware will meet these capabilities\n");
printf("as defined in the appropriate standards from T10, T13, SATA-IO, and NVMexpress\n");
printf("\tRecommendation - Restore the MaxLBA of the device prior to any erase in\n");
printf("\t order to allow the drive to erase all user addressable\n");
printf("\t sectors. For ATA devices this means restoring \n");
printf("\t HPA + DCO / AMAC to restore the maxLBA.\n");
printf("\t Restoring the MaxLBA also allows full verification of\n");
printf("\t all user addressable space on the device without a\n");
printf("\t limitation from a lower maxLBA.\n");
printf("\tClear - Logical techniques are applied to all addressable storage\n");
printf("\t locations, protecting against simple, non-invasive data\n");
printf("\t recovery techniques.\n");
printf("\tClear, Possible Purge - Cryptographic erase is a purge if the vendor\n");
printf("\t implementation meets the requirements in IEEE 2883-2022.\n");
printf("\tPurge - Logical techniques that target user data, overprovisioning,\n");
printf("\t unused space, and bad blocks rendering data recovery infeasible\n");
printf("\t even with state-of-the-art laboratory techniques.\n");
printf("This utility does not support clear/purge verification yet. All labels are\n");
printf("written according to the expectation that the device firmware will meet\n");
printf("these capabilities as defined in the appropriate standards from T10, T13,\n");
printf("SATA - IO, and NVMexpress.\n");
printf("=========================\n");
//multiple interfaces
print_Overwrite_Help(shortUsage);
Expand Down

0 comments on commit 3d3d51e

Please sign in to comment.