Provided by: openseachest_23.12-1_amd64 bug

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.

       -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