OPENSEACHEST_FORMAT(1)
โจ NAME โจ
openSeaChest_Format โ okay bestie, this is the manual page for openSeaChest_Format. That's the whole name section, we ate that. ๐
๐ซถ DESCRIPTION ๐ซถ
openSeaChest_Format โ openSeaChest drive utilities, NVMe Enabled. Here's the whole little banner situation, every crumb of it:
openSeaChest_Formatโ openSeaChest drive utilities - NVMe Enabled- Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_FormatVersion:26.03.2X86_64- Build Date:
May 18 2026 - Today:
20260605T144115 - User:
current user
๐ธ Usage
Bestie, the shape of the whole thing is literally this:
openSeaChest_Format [-d <sg_device>] {arguments} {options}
That's it. That's the vibe. ๐
๐ฆ Examples
Here's a whole bouquet of examples, copy-paste coded, no notes:
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<#> --removeElementModifyZones 2
openSeaChest_Format -d /dev/sg<#> --repopulateElements
openSeaChest_Format -d /dev/sg<#> --showLbaStatus
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, aka "what did the tool just tell me", bestie:
0= No Error Found1= Error in command line options2= Invalid Device Handle or Missing Device Handle3= Operation Failure4= Operation not supported5= Operation Aborted6= File Path Not Found7= Cannot Open File8= File Already Exists9= Need Elevated Privileges10= Not enough resources11= Error Writing File12= Device not found when opening handle.13= Device not opened. Handle is busy.14= Insecure Directory to read or write file- Anything else = unknown error
๐ Utility Options
๐ง Utility Options, the actual list
--csmiIgnorePortโ (Obsolete) girl this one is obsolete and will be removed in future versions. It's giving legacy. ๐--csmiUsePortโ (Obsolete) also obsolete, also getting removed in future versions. RIP to her. ๐ชฆ--csmiVerboseโ (Obsolete) yep, obsolete too, and headed for removal in future versions.--echoCommandLineโ echoes the command line you typed into the utility, right there on the screen. So you can see exactly what you said. ๐ซถ--enableLegacyUSBPassthroughโ okay so ONLY use this on old USB or IEEE1394 (Firewire) products that literally do not work with the tool any other way. It turns on a trial-and-error method that tries sending various ATA Identify commands through vendor specific means. Because of that, some products might respond in unintended ways, since they may interpret these commands differently than the bridge chip the command was designed for. Tread carefully, bestie. โ ๏ธ--forceโ this one tries to override and force a specific operation on a drive when it keeps saying "Not supported" at you. It can 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. It is not available to override every support check or other incompatibility check in the software. Not me warning you twice. ๐ญ--forceATAโ forces the current drive to be treated as an ATA drive. Only ATA commands will be used to talk to the drive.--forceATADMAโ (SATA Only) forces the tool to issue SAT commands to an ATA device using the protocol set to DMA whenever possible (on DMA commands). Can be combined with--forceATA.--forceATAPIOโ (SATA Only) forces the tool to issue PIO commands to an ATA device when possible. Can be combined with--forceATA.--forceATAUDMAโ (SATA Only) forces the tool to issue SAT commands to an ATA device using the protocol set to UDMA whenever possible (on DMA commands). Can be combined with--forceATA.--forceSCSIโ forces the current drive to be treated as a SCSI drive. Only SCSI commands will be used to talk to the drive.-h,--helpโ shows utility options and example usage (this output you see now). Pls report bugs/suggestions toseaboard@seagate.com. Include the output of the--versioninformation in the email, bestie, they're asking nicely. ๐--licenseโ displays the Seagate End User License Agreement (EULA).--modelMatch[model Number] โ runs on all drives matching the model number you give it. It'll give you a closest match, although an exact match is preferred. Ex:ST500will matchST500LM0001. So close, honestly iconic. โจ--noBannerโ suppresses the text banner that displays each time openSeaChest is run. For the girls who want peace and quiet. ๐--onlyFW[firmware revision] โ runs on all drives matching the firmware revision you provide. This one only does an exact match. No vibes-based matching here.--onlySeagateโ matches only Seagate drives for the options you provided. Loyal to the brand, periodt.-q,--quietโ runsopenSeaChest_Formatin quiet mode. This is the same as-v 0or--verbose 0.-v[0-4],--verbose[0 | 1 | 2 | 3 | 4] โ shows 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 3or--verbose 3. Pick your fighter. ๐ฅ-V,--versionโ showsopenSeaChest_Formatversion and copyright information & exit.
๐ฆ Utility Arguments
๐ Utility Arguments, let's go
-d,--device[deviceHandle | all] โ use this with most commands to specify the device handle you want to operate on. Example:/dev/sg<#>. CSMI device handles can be specified as<error<#><#><#>>. 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] โ reads and displays the contents of the specified LBA right there on your screen. The display format is hexadecimal with an ASCII translation on the side (when available). A little two-for-one moment. ๐-F,--scanFlags[option list] โ controls the output fromscanwith the options below. Multiple options can be combined:ata- show only ATA (SATA) devicesusb- show only USB devicesscsi- show only SCSI (SAS) devicesnvme- show only NVMe devicesinterfaceATA- show devices on an ATA interfaceinterfaceUSB- show devices on a USB interfaceinterfaceSCSI- show devices on a SCSI or SAS interfaceinterfaceNVME= show devices on an NVMe interfacesd- showsddevice handlessgtosd- show thesdandsgdevice handle mappingignoreCSMI- do not scan for any CSMI devicesallowDuplicates- allow drives with both CSMI and PD handles to show up multiple times in the list
-i,--deviceInfoโ shows information and features for the storage device. The classic. ๐ซถ--llInfoโ dumps low-level information about the device to assist with debugging. Debug girlies, this one's for you. ๐--pollโ causes 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). So likeโฆ maybe go get a snack, bestie. โณ
Full drive procedures will take a very long time. Fr fr.
--progress[format | nvmformat | depop | repop] โ gets 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โ scans the system and lists 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. Patience is a virtue, babe. ๐ง-S,--Scanโ same as--scanor-s, BUT 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. Both receipts, at once. ๐--testUnitReadyโ (and that's literally where this part of the page cuts off, bestie โ the description keeps going in the next chunk ๐)
okay so this next bit is literally the tail end of that one option ๐ โ it fires off a SCSI Test Unit Ready command and shows you the status. If the drive is not ready? You get the sense key, asc, ascq, and fru, plus a human readable translation from the SPC spec whenever one is available. โจ
--fastDiscoveryโ use this option to do a fast scan on the drive you picked. ๐โโ๏ธ๐จ--depopulateMaxLBA [requested MaxLBA]โ use this to set a brand new maximum LBA when you're removing (depopulating) a physical storage element. It's optional, bestie โ if you don't specify it, the device figures out the new max LBA itself. NOTE: if you hand it a max LBA the device doesn't support, it simply won't start the depopulation. ๐ โโ๏ธ--showPhysicalElementStatusโ use this to peek at the status/health of the storage elements inside a drive. Take the element # it shows you and feed it to the--removePhysicalElementoption to pull that storage element out of use. You can also use this one to check whether a depopulation is still cooking or if it's already done. ๐--showLbaStatusโ use this to see the range & status of the LBAs inside a drive. ๐--showSupportedFormatsโ this one shows the supported formats of a device. Those can be used to change the sector size, or they can be 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 doesn't 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 to view the SCSI format status log. Note: this log is only valid after a successful format unit operation. ๐
๐ฅ Data Destructive Commands ๐ฅ
yknow, the name is not a drill, these ones eat your data for breakfast ๐ญ
--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. Here's the tea on each mode: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.hellowordorFFFFFFFFhNote: 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:1F037AC8hor0000FFFFhrandomโ 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 to remove a storage element from use on a drive. When you do, the drive erases all user data and lowers the capacity to a new point where the drive is still usable without the provided element #. Use the--showPhysicalElementStatusoption to see how the depopulation operation is going. ๐
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.
WARNING: Removing a physical element affect all LUNs/namespaces for devices with multiple logical units or namespaces. โ ๏ธ
--removeElementModifyZones [element #](Zoned Only) โ use this to remove a storage element and modify zones from use on a Zoned drive (ZBD). 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--showPhysicalElementStatusoption to see the status of the depopulation operation. ๐
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.
WARNING: Removing a physical element affect all LUNs/namespaces for devices with multiple logical units or namespaces. โ ๏ธ
--repopulateElementsโ use this to repopulate any physical storage elements that have been removed from use. A full disk overwrite is necessary before the drive is usable. ๐ซถ
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.
WARNING: Removing a physical element affect all LUNs/namespaces for devices with multiple logical units or namespaces. โ ๏ธ
--setSectorSize [new sector size]โ okay bestie, deep breath ๐ฎโ๐จ changing sector sizes is intended for supported Seagate products used in some hardware RAID configurations. Please consult your hardware RAID documentation for info about compatibility and using 4K native sectors before using this option! Software RAID or individual/JBOD drive solutions will see no benefit, because 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. ๐ญ
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.
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.
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. ๐พ
๐ SAS Only ๐
--disableCertificationโ use this to disable the certification operation when you're performing a format unit operation.--disablePrimaryListโ use this to disable using the primary defect list when performing a format unit operation.--discardGListโ use this to discard the existing grown defect list when performing a format unit operation. (set complete list bit)--disableImmediateResponseโ use this 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 to specify a new Max LBA for a drive during a format unit operation. This may speed up a format unit if you're formatting to test something, or if you also want 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 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 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)
Okay bestie, deep breath, we're in the deep end now โ sector sizes, fast formats, NVMe, the whole final boss arc. Let's go ๐
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, because 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.
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. ๐ญ Do not sleep on this one.
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. Like, go make a snack, watch a whole series, come back, it's still going ๐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.
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.
--formatUnit [current | new sector size](SAS Only) (Clear) โ This option will start a format unit operation on a SAS drive. Usecurrentto 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--pollto 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. No "eh, close enough", it just stops.
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 dataseparateโ 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. Rejected, bestie, no negotiating ๐--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. Usecurrentto 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--pollto poll for progress until the format is complete. A data sanitization compliant with IEEE 2883 Clear requires the--nvmFmtSecEraseoption to be provided. Without this option the controller may not erase all user data and substitute returning zeroes for performance instead. Sneaky!! ๐ซ
openSeaChest_Format - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_Format Version: 26.03.2 X86_64
Build Date: May 18 2026
Today: 20260605T144115
User: current user
==========================================================================================
Version Info for openSeaChest_Format:
Utility Version: 26.03.2
opensea-common Version: 6.1.0
opensea-transport Version: 10.3.0
opensea-operations Version: 9.4.0
Build Date: May 18 2026
Compiled Architecture: X86_64
Detected Endianness: Little Endian
Compiler Used: GCC
Compiler Version: 14.2.0
Operating System Type: Linux
Operating System Version: 6.6.114-1
Operating System Name: Ubuntu 24.04.4 LTS
๐ SEE ALSO ๐
The full documentation for openSeaChest_Format is maintained as a Texinfo manual. If the info and openSeaChest_Format programs are properly installed at your site, the command
info openSeaChest_Format
should give you access to the complete manual. That's the whole manual-manual, the deluxe edition ๐โจ
And that's a wrap on the page, bestie โ this one came from openSeaChest_Format itself and it's dated June 2026, filed under OPENSEACHEST_FORMAT(1). Read it, love it, and please, please back up your data before you touch a single sector. Periodt. ๐๐
๐ฆ where this page comes from
- nixpkgs unstable: openseachest 26.03.2
- ubuntu stonking: openseachest 26.03.2+ds-1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms