VERSION(8)

NAME
Version - =drive utilities

DESCRIPTION
==========================================================================================

    openSeaChest_Erase - openSeaChest drive utilities - NVMe Enabled Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved openSeaChest_Erase Version: 4.3.6-6_2_0 X86_64 Build Date: Dec 1 2023 Today: Fri Dec 1 15:18:13 2023 User: current user

========================================================================================== Usage =====

    openSeaChest_Erase [-d <sg_device>] {arguments} {options}

Examples ========

    openSeaChest_Erase --scan openSeaChest_Erase -d /dev/sg<#> -i openSeaChest_Erase -d /dev/sg<#> --SATInfo openSeaChest_Erase -d /dev/sg<#> --llInfo openSeaChest_Erase -d /dev/sg<#> --showEraseSupport openSeaChest_Erase -d /dev/sg<#> --performQuickestErase --poll openSeaChest_Erase -d /dev/sg<#> --overwrite 0 openSeaChest_Erase -d /dev/sg<#> --overwrite 1000 --overwriteRange 2000 openSeaChest_Erase -d /dev/sg<#> --overwrite 0 --hours 1 openSeaChest_Erase -d /dev/sg<#> --overwrite 0 --pattern repeat:04ABCDEFh openSeaChest_Erase -d /dev/sg<#> --writeSame 0 --poll openSeaChest_Erase -d /dev/sg<#> --writeSame 1000 --writeSameRange 2000 --poll openSeaChest_Erase -d /dev/sg<#> --sanitize overwrite --poll openSeaChest_Erase -d /dev/sg<#> --sanitize overwrite --poll --pattern random openSeaChest_Erase -d /dev/sg<#> --sanitize cryptoerase --poll openSeaChest_Erase -d /dev/sg<#> --ataSecureErase enhanced openSeaChest_Erase -d /dev/sg<#> --ataSecureErase enhanced --ataSecPassword AutoATAWindowsString12345678901 --ataSecPassType user openSeaChest_Erase -d /dev/sg<#> --trim 0 openSeaChest_Erase -d /dev/sg<#> --trim 1000 --trimRange 2000 openSeaChest_Erase -d /dev/sg<#> --formatUnit current --poll openSeaChest_Erase -d /dev/sg<#> --formatUnit current --poll --pattern file:path/to/myFile.bin openSeaChest_Erase -d /dev/sg<#> --nvmFormat current --poll openSeaChest_Erase -d /dev/sg<#> --nvmFormat 4096 --poll openSeaChest_Erase -d /dev/sg<#> --nvmFormat current --poll --nvmFmtSecErase user openSeaChest_Erase -d /dev/sg<#> --nvmFormat current --poll --nvmFmtPI 1 openSeaChest_Erase -d /dev/sg<#> --eraseRestoreMaxPrep openSeaChest_Erase -d /dev/sg<#> --eraseRestoreMaxPrep --overwrite 0

Return codes ============

    Generic/Common exit codes 0 = No Error Found 1 = Error in command line options 2 = Invalid Device Handle or Missing Device Handle 3 = Operation Failure 4 = Operation not supported 5 = Operation Aborted 6 = File Path Not Found 7 = Cannot Open File 8 = File Already Exists 9 = Need Elevated Privileges ---openSeaChest_Erase specific exit codes--- 32 = Zero Validation Failure Anything else = unknown error

Utility Options ===============

--echoCommandLine

    Echo the command line entered into the utility on the screen.

--enableLegacyUSBPassthrough

    Only use this option on old USB or IEEE1394 (Firewire) products that do not otherwise work with the tool. This option will enable a trial and error method that attempts sending various ATA Identify commands through vendor specific means. Because of this, certain products that may respond in unintended ways since they may interpret these commands differently than the bridge chip the command was designed for.

--forceATA

    Using this option will force the current drive to be treated as a ATA drive. Only ATA commands will be used to talk to the drive.

--forceATADMA
    (SATA Only)

    Using this option will force the tool to issue SAT commands to ATA device using the protocol set to DMA whenever possible (on DMA commands). This option can be combined with --forceATA

--forceATAPIO
    (SATA Only)

    Using this option will force the tool to issue PIO commands to ATA device when possible. This option can be combined with --forceATA

--forceATAUDMA
    (SATA Only)

    Using this option will force the tool to issue SAT commands to ATA device using the protocol set to UDMA whenever possible (on DMA commands). This option can be combined with --forceATA

--forceSCSI

    Using this option will force the current drive to be treated as a SCSI drive. Only SCSI commands will be used to talk to the drive.

--forceNVME

    Using this option will force the current drive to be treated as a NVME drive. Only NVME commands will be used to talk to the drive.

-h, --help

    Show utility options and example usage (this output you see now) Please report bugs/suggestions to seaboard@seagate.com. Include the output of --version information in the email.

--hideLBACounter

    Use this option to suppress the output from options that show LBA counters without turning off all output to the screen.

--license

    Display the Seagate End User License Agreement (EULA).

--modelMatch [model Number]

    Use this option to run on all drives matching the provided model number. This option will provide a closest match although an exact match is preferred. Ex: ST500 will match ST500LM0001

--noBanner

    Use this option to suppress the text banner that displays each time openSeaChest is run.

--onlyFW [firmware revision]

    Use this option to run on all drives matching the provided firmware revision. This option will only do an exact match.

--onlySeagate

    Use this option to match only Seagate drives for the options provided

-q, --quiet

    Run openSeaChest_Erase in quiet mode. This is the same as -v 0 or --verbose 0

-v [0-4], --verbose [0 | 1 | 2 | 3 | 4]

    Show verbose information. Verbosity levels are: 0 - quiet 1 - default 2 - command descriptions 3 - command descriptions and values 4 - command descriptions, values, and data buffers Example: -v 3 or --verbose 3

-V, --version

    Show openSeaChest_Erase version and copyright information & exit

Utility Arguments =================

-d, --device [deviceHandle | all]

    Use this option with most commands to specify the device handle on which to perform an operation. Example: /dev/sg<#> To run across all devices detected in the system, use the "all" argument instead of a device handle. Example: -d all NOTE: The "all" argument is handled by running the

specified options on each drive detected in the
    OS sequentially. For parallel operations, please use a script opening a separate instance for each device handle.

--displayLBA [LBA]

    This option will read and display the contents of the specified LBA to the screen. The display format is hexadecimal with an ASCII translation on the side (when available).

-F, --scanFlags [option list]

    Use this option to control the output from scan with the options listed below. Multiple options can be combined.

ata - show only ATA (SATA) devices
    usb - show only USB devices scsi - show only SCSI (SAS) devices nvme - show only NVMe devices interfaceATA - show devices on an ATA interface interfaceUSB - show devices on a USB interface interfaceSCSI - show devices on a SCSI or SAS interface interfaceNVME = show devices on an NVMe interface sd - show sd device handles sgtosd - show the sd and sg device handle mapping

-i, --deviceInfo

    Show information and features for the storage device

--llInfo

    Dump low-level information about the device to assist with debugging.

--poll

    Use this option to cause another operation to poll for progress until it has completed. This argument does not return to the command prompt and prints ongoing completion percentages (%)

the final test result.
    Full drive procedures will take a

very long time.
    Used with --sanitize, or --writeSame (SATA).

--progress [sanitize | format | nvmformat]

    Get the progress for a test that was started quietly without the polling option (default). You must specify a test you wish to get progress from. Ex: "--progress dst" or "--progress sanitize" The progress counts up from 0% to 100%.

-s, --scan

    Scan the system and list all storage devices with logical /dev/sg<#> assignments. Shows model, serial and firmware numbers. If your device is not listed on a scan immediately after booting, then wait 10 seconds and run it again.

-S, --Scan

    This option is the same as --scan or -s, however it will also perform a low level rescan to pick up other devices. This low level rescan may wake devices from low power states and may cause the OS to re-enumerate them. Use this option when a device is plugged in and not discovered in a normal scan. NOTE: A low-level rescan may not be available on all interfaces or all OSs. The low-level rescan is not guaranteed to find additional devices in the system when the device is unable to come to a ready state.

--SATInfo

    Displays SATA device information on any interface using both SCSI Inquiry / VPD / Log reported data (translated according to SAT) and the ATA Identify / Log reported data.

--testUnitReady

    Issues a SCSI Test Unit Ready command and displays the status. If the drive is not ready, the sense key, asc, ascq, and fru will be displayed and a human readable translation from the SPC spec will be displayed if one is available.

--fastDiscovery

Use this option
    to issue a fast scan on the specified drive.

--hours [hours]

    Use this option to specify a time in hours for a timed operation to run.

--minutes [minutes]

    Use this option to specify a time in minutes for a timed operation to run.

--seconds [seconds]

    Use this option to specify a time in seconds for a timed operation to run.

--eraseRestoreMaxPrep

    This option will attempt to restore the max LBA to the highest user addressable sector prior to beginning a drive erasure. If any failure is encountered while restoring the maxLBA, then an error will be indicated and the erase will not be started or attempted until other user intervention can be completed. If a feature is frozen, locked, or has already been used during the current power cycle, then these things can cause a failure. The solution is to power cycle the drive, but in some cases it may be necessary to try a different computer or adapter as commands may be blocked by the system or automatically issued by the BIOS to lock access to capacity changing commands. This option will handle the ATA HPA (Host Protected Area), AMAC (Accessible Max Address Configuration), HPA Security Extension, and DCO (Device Configuration Overlay) features in accordance with the specifications. If the restore completes without error, then the erase will proceed and additional errors will only be in relation to those erasure methods.

--showEraseSupport

    This option checks the drive to determine which methods of data erasure are supported and lists them, from fastest to slowest.

WARNING: Some erase methods may affect all LUNs/namespaces for devices
    with multiple logical units or namespaces.

--zeroVerify [full | quick]

    Use this option to verify drive content, whether it's set to zero or not. This operation will read user accessible address and validate if content at that address is zero or not. Validation modes:

    full - Complete drive will be scanned for verification. quick - 0.1% of total capacity will be scanned for ID and OD validation along with

    2 random addresses from 10000 equal size sections each.

    SATA Only: ========= --ataSATsecurityProtocol [enable | disable] (SATA only)

    This option can be used to force enable or disable using the ATA security protocol as specified in the SAT specification. By default, the tool will use this method when it is supported to allow the SATL to understand and manage the security commands being performed and prevent other issues.

--ataSecPassword ["ASCII password" | SeaChest | empty]
    (SATA only)

    Use this option to specify a password to use with an ATA security operation. If specifying a password with spaces, quotes must be used. If SeaChest is given, the default SeaChest password will be used. If empty is given, an empty password will be used. Examples:

    "This is a valid password" ThisIsAlsoValid "This password uses \"quotes\" "This password is \/\/eird"

--ataSecPassType [user | master]
    (SATA only)

    Use this option to specify if the password being given with the --ataSecPassword option is a user or a master password. If this option is not provided, user is assumed.

--ataSecPWMod [byteswapped | zeropad | spacepad | fpad | leftAlign | rightAlign | uppercase | lowercase | invertcase] (SATA Only)

    Use this option to have the utility make modifications to the ATA security password to attempt other various ways it may be sent by a system bios. These are not guaranteed to work, but may help unlock a drive that was locked by a BIOS that encoded the password in a unique way. This option can be presented multiple times to select multiple modificaitons. EX: --ataSecPWMod byteswapped --ataSecPWMod invertcase

    byteswapped - byteswaps the password. EX: blah -> lbha zeropad - zero pads the password if less than 32 characters spacepad - space pads the password if less than 32 characters fpad - pads the passwords with Fh (all 1's) if less than 32characters leftAlign - left aligns the password in the buffer rightAlign - right aligns the password in the buffer uppercase - sends the password as all uppercase lowercase - sends the password as all lowercase invertcase - switches uppercase for lower, and lowercase for upper

Data Destructive Commands ========================= Data sanitization capabilities:

Recommendation - Restore the MaxLBA of the device prior to any erase in
    order to allow the drive to erase all user addressable sectors. For ATA devices this means restoring HPA + DCO / AMAC to restore the maxLBA. Restoring the MaxLBA also allows full verification of all user addressable space on the device without a limitation from a lower maxLBA.

    Clear - Logical techniques are applied to all addressable storage

    locations, protecting against simple, non-invasive data recovery techniques.

    Clear, Possible Purge - Cryptographic erase is a purge if the vendor

    implementation meets the requirements in IEEE 2883-2022.

    Purge - Logical techniques that target user data, overprovisioning,

    unused space, and bad blocks rendering data recovery infeasible even with state-of-the-art laboratory techniques.

This utility does not support clear/purge verification yet. All labels are written according to the expectation that the device firmware will meet these capabilities as defined in the appropriate standards from T10, T13, SATA - IO, and NVMexpress. =========================

--overwrite [starting LBA]
    (Clear)

    Use this option to start an overwrite erase at the specified starting LBA. Combine this option with overwriteRange or time options (hours, minutes seconds) to erase a portion of the drive.

--overwriteRange [range in # of LBAs]
    (Clear)

    Use with the overwrite option (--overwrite) to erase a range of LBAs on the selected drive.

--pattern [repeat:asciinospaces | random | increment:startValue | file:filename]

    Use this option with overwrite, sanitize, and format unit operations to write a specific pattern to a range of LBAs or the whole drive.

    * repeat - without spaces, enter an ASCII text string or a hexadecimal string terminated by a lower case "h". This pattern will be repeated until it fills the logical size of the LBA. i.e. helloword or FFFFFFFFh Note: A hexadecimal pattern will be interpreted as a 32bit unsigned integer. 4 hex bytes (8 characters) must be given for a hex value to be used. Ex: 1F037AC8h or 0000FFFFh * random - the entire logical sector size will be filled with random bytes.This pattern will be written to all LBAs in the desired range. * increment - enter the starting numerical value. Starting with this value, each byte will be written with 1 + previous value. * file - user supplied file name to use for a pattern. The file will be truncated or padded with zeros to the logical sector size Note 1: Each file will be interpreted as a binary file. Note 2: A path must also be provided if the file is not in the

    local directory.

Note 3: Sanitize Overwrite on SATA only supports a 32bit pattern.
    The file option will get truncated to a 32bit pattern for SATA products.

--performQuickestErase

    This option checks the drive to determine which methods of data erasure are supported and determines which is the quickest to erase ALL data on the drive. It then starts the quickest erase. Combine this option with the --poll option to enable polling for progress on the fastest erase. Note: Some erase methods require polling and will have polling enabled by default. Note 2: If revertSP is the fastest, it will not be started since the drive PSID must be passed in on the command line.

WARNING: Some erase methods may affect all LUNs/namespaces for devices
    with multiple logical units or namespaces.

--sanitize [info | blockerase | cryptoerase |
    overwrite | freezelock | antifreezelock] (Purge)

    Use the info argument to show supported sanitize operations. Optionally, use blockerase, cryptoerase, or overwrite to start a sanitize operation. Adding the --poll option will cause openSeaChest_Erase to poll the drive for progress until the operation is complete, or has aborted for some reason. All sanitize erase operations are persistent across a power cycle and cannot be stopped Example: --sanitize blockerase --poll

    * blockerase on some solid state drives is very fast at less than one (1) second, while others may take more that 30 seconds This operation performs a physical low level block erase operation on all current, past, and potential user data. The contents on user data are indeterminate upon completion.

    * cryptoerase is very fast at less than one (1) second. It changes the internal encryption keys that are used for user data causing all previous data to be useless.

    * overwrite is a physical overwrite on all current, past, and potential user data. The ATA and SCSI specifications allow a user defined pattern and multiple passes. openSeaChest_Erase will use a zero pattern and a single pass for this operation.

    * freezelock is a command to block processing of sanitize operations until a power cycle is performed on a device. It is only available on ATA drives. Once this command has been sent, the freezelock status becomes immediate and cannot be cleared until the drive has been powered off. All sanitize commands, except a sanitize status will be aborted.

    * antifreezelock is a command that is designed to block a freezelock command from locking out the sanitize feature set. It is only available on ATA drives that support the ACS3, or newer specification.

WARNING: Sanitize may affect all LUNs/namespaces for devices
    with multiple logical units or namespaces.

--trim or --unmap [starting LBA]

    Use one of these options to start a trim or unmap operation on a drive at the provided LBA. A range must also be provided with the range option.

--trimRange or --unmapRange [range in # of LBAs]

    Use one of these options to specify a range to trim or unmap on a drive. A starting point must be specified with the --trim/--unmapRange option.

--writeSame [starting LBA]
    (Clear)

    Enter a starting lba to begin a write same on to erase a range of data on the drive. On SCSI devices, this uses the writesame16 command. On ATA devices, this uses the SCT writesame feature. Combine this option with the writeSameRange option to select the range. This operation will write 0's to the device for the specified range. For SATA drives, this option will poll for progress until the write same has completed. SAS/SCSI drives will hold the tool busy until the write same has completed without progress indication since this is not possible on SAS/SCSI due to specification limitations on how write same was defined. On SATA, if any other commands are sent to the drive while it's performing a write same, the write same will be aborted. NOTE: On SAS/SCSI drives this command is optional. Additionally,

the range may be limited to much less than the full device
    size. Due to the history of this command, there is not a great way to confirm support in all cases. Some ranges will be too large, and some devices may or may not allow writing the full medium in a single command. If you wish to write an entire device, consider a different command such as format unit or sanitize overwrite to accomplish this.

--writeSameRange [range in # of LBAs]

    Specify a range to writesame to. Use this option with the writeSame option in order to begin a write same operation.

    SATA Only: ========= --ataSecureErase [normal | enhanced] (SATA only) (Clear | Purge)

    Use "normal" to start a standard ATA security erase (Clear) or "enhanced" to start an enhanced ATA security erase (Purge).

    ATA Security Erase takes a very long time to complete at approximately three (3) hours per Tera-byte (HDD). Some Seagate SED models will perform a quick cryptographic erase in enhanced mode and the time for completion is reported as 2 minutes by the drive, but will take only seconds. This industry standard command begins by locking the drive with a temporary password which is cleared at the end of the erasure. Do not run this command unless you have ample time to allow it to run through to the end. If the procedure is interrupted prior to completion, then the drive will remain in a locked state and you must manually restart from the beginning again. The tool will attempt to automatically clear the password that was set upon failure. The default password used by the tool is "SeaChest", plain ASCII letters without the quotes

    * normal writes binary zeros (0) or ones (1) to all user data areas.

    * enhanced will fill all user data areas and reallocated user data with a vendor specific pattern. Some Seagate Instant Secure Erase will perform a cryptographic erase instead of an overwrite.

    SAS Only: ========= --fastFormat [fast format mode] (SAS Only) (SBC4 required)

    Use this option with the --formatUnit option to run a fast format. Changing sector sizes is intended for supported Seagate products used in some hardware RAID configurations. Please consult your hardware RAID documentation for information about compatibility and using 4K native sectors before using this option! Software RAID or individual/JBOD drive solutions will see no benefit as modern file systems and modern operating systems are already 4K aware even on 512 emulation drives. Modern operating systems already align file systems to 4K boundaries required by these drives for optimal performance. Performing a sector size change is data destructive and has a risk that the adapter, driver, or operating system may not know how to communicate with the device once this has completed.

[49m[38;5;9m There is an additional risk when performing a low-level fast format that may

    make the drive inoperable if it is reset at any time while it is formatting.

  [0m Available fast format modes:

0 - This is a standard format unit command. All logical
    blocks will be overwritten. This command will take a very long time

1 - This is a fast format unit command keeping existing
    data in physical sector. This option can be used to quickly change the the logical sector size between 5xxe and 4xxx. The media may be readable, but data may be unspecified or may return errors on read access according to it's error processing algorithms.

2 - This is a fast format unit command that can change the
    logical sector size quickly. Media may or may not be read accessible until a write has been performed to the media.

[49m[38;5;11m WARNING: Any interruption to the device while it is formatting may render the

    drive inoperable! Use this at your own risk!

WARNING: Set sector size may affect all LUNs/namespaces for devices
    with multiple logical units or namespaces.

WARNING: Disable any out-of-band management systems/services/daemons
    before using this option. Interruptions can be caused by these and may prevent completion of a sector size change.

WARNING: It is recommended that this operation is done from a bootable environment
    (Live USB) to reduce the risk of OS background activities running and triggering a device reset while reformating the drive.

[0m --formatUnit [current | new sector size] (SAS Only) (Clear)

    This option will start a format unit operation on a SAS drive Use "current" to perform a format unit operation with the Sector size currently being used, otherwise enter a new sector size to use upon format completion. This command will erase all data on the drive. Combine this option with --poll to poll for progress until the format is complete. Changing sector sizes is intended for supported Seagate products used in some hardware RAID configurations. Please consult your hardware RAID documentation for information about compatibility and supported/required sector sizes!

WARNING: Format Unit may affect all LUNs/namespaces for devices
    with multiple logical units or namespaces.

WARNING: Customer unique firmware may have specific requirements that
    restrict sector sizes on some products. It may not be possible to format/ fast format to common sizes like 4K or 512B due to these customer requirements.

    NVMe Only: ========= --nvmFmtMetadataSet [ xlba | separate ] (NVMe Only)

    Use this option to specify how metadata is transmitted to the host system. Options:

    xlba - metadata is transferred as part of the logical block data separate - metadata is transferred as a separate buffer

    Note: Not all devices support specifying this. If this option is not provided, the NVM format will reuse the current setting.

--nvmFmtMS [ # of bytes for metadata ]
    (NVMe Only)

    This option is used to specify the length of metadata with a requested logical block size. The device must support the combination of logical block size and metadata size or the format will be rejected by the device.

--nvmFmtNSID [all | current]
    (NVMe Only)

    This option changes the NSID used when issuing the NVM format command. This can be used to control formatting an entire device or a specific namespace if the device supports specifying specific namespaces for a format command. Not all devices support this behavior. This has no effect on devices that do not support targeting a specific namespace and will format the entire device If this option is not given, the format will be issued to all namespaces by default.

--nvmFmtPI [ 0 | 1 | 2 | 3 ]
    (NVMe Only)

    Use this option to specify the protection type to format the medium with. Note: Not all devices support protection types. If this option is not provided, the NVM format will reuse the current setting.

--nvmFmtPIL [ beginning | end ] (NVMe Only)

    Use this option to specify the location protection information in an NVM device's metadata. Note: Not all devices support specifying this. If this option is not provided, the NVM format will reuse the current setting.

--nvmFmtSecErase [none | user | crypto] (NVMe Only)
    (None | Clear | Clear, Possible Purge)

    This option is used to specify the type of erase to perform during an NVM format operation. All user data will be inaccessible upon completion of an NVM format, no matter the erase requested. Options:

none - no secure erase requested (previous data will not be accessible,
    however the media may not have been erased by the controller.)

    user - requests all user data is erased by the device. (Clear) crypto - requests a cryptographic erase of all user data. Note: this mode

    is not supported on all devices. (Clear, Possible Purge)

--nvmFormat [current | format # | sector size]
    (NVMe Only)

    This option is used to start an NVM format operation. Use "current" to perform a format operation with the Sector size currently being used. If a value between 0 and 15 is given, then that will issue the NVM format with the specified sector size/metadata size for that supported format on the drive. Values 512 and higher will be treated as a new sector size to switch to and will be matched to an appropriate lba format supported by the drive. This command will erase all data on the drive. Combine this option with--poll to poll for progress until the format is complete. A data sanitization compliant with IEEE 2883 Clear requires the --nvmFmtSecErase option to be provided. Without this option the controller may not erase all user data and substitute returning zeroes for performance instead.

    Utility Version: 4.3.6 opensea-common Version: 2.0.0 opensea-transport Version: 6.2.0 opensea-operations Version: 5.1.1 Build Date: Dec 1 2023 Compiled Architecture: X86_64 Detected Endianness: Little Endian Compiler Used: GCC Compiler Version: 7.5.0 Operating System Type: Linux Operating System Version: 4.15.0-211 Operating System Name: Ubuntu 18.04.6 LTS