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