VERSION(8)

NAME
Version - =drive utilities

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

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

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

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

Examples ========

    openSeaChest_Format --scan openSeaChest_Format -d /dev/sg<#> -i openSeaChest_Format -d /dev/sg<#> --SATInfo openSeaChest_Format -d /dev/sg<#> --llInfo openSeaChest_Format -d /dev/sg<#> --showPhysicalElementStatus openSeaChest_Format -d /dev/sg<#> --removePhysicalElement 2 openSeaChest_Format -d /dev/sg<#> --repopulateElements openSeaChest_Format -d /dev/sg<#> --showSupportedFormats openSeaChest_Format -d /dev/sg<#> --showFormatStatusLog openSeaChest_Format -d /dev/sg<#> --formatUnit current --poll openSeaChest_Format -d /dev/sg<#> --formatUnit current --poll --pattern file:path/to/myFile.bin openSeaChest_Format -d /dev/sg<#> --formatUnit 4096 --fastFormat 1 --poll openSeaChest_Format -d /dev/sg<#> --formatUnit current --poll --discardGList --disableCertification --disablePrimaryList openSeaChest_Format -d /dev/sg<#> --formatUnit current --protectionType 1 --poll openSeaChest_Format -d /dev/sg<#> --nvmFormat current --poll openSeaChest_Format -d /dev/sg<#> --nvmFormat 4096 --poll openSeaChest_Format -d /dev/sg<#> --nvmFormat current --poll --nvmFmtSecErase user openSeaChest_Format -d /dev/sg<#> --nvmFormat current --poll --nvmFmtPI 1

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 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.

--force

    Use the --force option to attempt to override and force a specific operation on a drive in case it is returning "Not supported" messages. This can be used to override some checks for command or feature support. Be aware that sending unsupported commands may result in command failures, and in some circumstances, it may also cause indeterminate behavior of a device. Do not use this command unless you are certain that a device supports the command or feature you are attempting to use. This option is not guaranteed to make things work or fix issues. This option is not available to override every support check or other incompatibility check in the software.

--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.

--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_Format 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_Format 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 [format | nvmformat | depop | repop]

    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.

--depopulateMaxLBA [requested MaxLBA]

    Use this option to specify a new maximum LBA when removing (depopulating) a physical storage element. This is optional. If this is not specified, the device will determine the new maximum LBA. NOTE: If you specify a maximum LBA the device does not support, it will not start the depopulation.

--showPhysicalElementStatus

    Use this option to see the status/health of the storage elements inside a drive. Use the element # shown with the --removePhysicalElement option to remove that storage element from use. This option can also be used to see if a depopulation is still in progress or if it has completed.

--showSupportedFormats

    This option will show the supported formats of a device. These can be used to change the sector size or used with a format operation. On SAS, this is the supported block lengths and protection types VPD page. (SBC4 and later) On SATA, this is the sector configuration log. (ACS4 and later) If the device does not report supported sector sizes, please consult your product manual.

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.

    SAS Only: ========= --showFormatStatusLog (SAS Only)

    Use this option to view the SCSI format status log. Note: This log is only valid after a successful format unit operation.

Data Destructive Commands =========================

--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.

--removePhysicalElement [element #]

    Use this option to remove a storage element from use on a drive. When this is done, the drive will erase all user data and lower the capacity to a new point where the drive is still usable without the provided element #. Use the --showPhysicalElementStatus option to see the status of the depopulation operation.

[49m[38;5;9m There is an additional risk when performing a remove physical element as it low-level formats

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

[0m WARNING: Removing a physical element affect all LUNs/namespaces for devices

    with multiple logical units or namespaces.

--repopulateElements

    Use this option to repopulate any physical storage elements that have been removed from use. A full disk overwrite is necessary before the drive is usable.

[49m[38;5;9m There is an additional risk when performing a repopulate as it low-level formats

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

[0m WARNING: Removing a physical element affect all LUNs/namespaces for devices

    with multiple logical units or namespaces.

--setSectorSize [new sector size]

    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 format/fast format that may

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

[0m For SATA Drives, the set sector configuration command must be supported.

    On SAS Drives, fast format must be supported to make these changes.

    Use the --showSupportedFormats option to see the sector sizes the drive reports supporting. If this option doesn't list anything, please consult your product manual. This option should be used to quickly change between 5xxe and 4xxx sector sizes. Using this option to change from 512 to 520 or similar is not recommended at this time due to limited drive support

[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 (SATA): Do not interrupt this operation once it has started or
    it may cause the drive to become unusable. Stop all possible background activity that would attempt to communicate with the device while this operation is in progress

WARNING: It is not recommended to do this on USB as not
    all USB adapters can handle a 4k sector size.

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

    SAS Only: ========= --disableCertification

    Use this option to disable the certification operation when performing a format unit operation.

--disablePrimaryList

    Use this option to disable using the primary defect list when performing a format unit operation.

--discardGList

    Use this option to discard the existing grown defect list when performing a format unit operation. (set complete list bit)

--disableImmediateResponse

    Use this option to disable the immediate response bit in a format unit operation. Note: This mode may take a long time to complete.

--formatMaxLBA [ new max LBA ]

    Use this option to specify a new Max LBA for a drive during a format unit operation. This may speed up a format unit if formatting to test something, or also desiring to reduce a drive's capacity while formatting. NOTE: Not all devices support reducing capacity during a format. Some may ignore this parameter and format the full medium anyways. This is not guaranteed to stick or reduce formatting time.

--protectionIntervalExponent [ exponent value ]

    Use this option to specify the protection interval exponent for protection types 2 & 3. This option is ignored for all other protection types.

--protectionType [ 0 | 1 | 2 | 3 ]

    Use this option to specify the protection type to format the medium with. Note: Not all devices support protection types.

--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.

--securityInitialize

    Use this option to set the security initialize bit in the initialization pattern for a format unit command. SBC recommends migrating to sanitize to overwrite previously reallocated sectors. Note: Not all products support this option.

--stopOnListError

    Use this option to set the stop format bit in a format unit. If the device cannot locate or access an existing primary or grown defect list, the format will stop and return with an error.

    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: 3.0.4 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