SOFU_UserGuide
SOFU_UserGuide
⎯
⎯
⎯
USER GUIDE
sdfsefsd
Solidigm™ OEM Firmware Updater
Revision History
Document
Description Revision Date
Revision
Solidigm may make changes to specifications and product descriptions at any time, without notice. Designers
must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined".
Solidigm reserves these for future definition and shall have no responsibility whatsoever for conflicts or
incompatibilities arising from future changes to them. The information here is subject to change without notice.
Do not finalize a design with this information.
Solidigm disclaims all express and implied warranties, including without limitation, the implied warranties of
merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course
of performance, course of dealing, or usage in trade.
The products described in this document may contain design defects or errors known as errata which may cause
the product to deviate from published specifications. Current characterized errata are available on request.
Contact your Solidigm representative or your distributor to obtain the latest specifications and before placing
your product order.
For copies of this document, documents that are referenced within, or other Solidigm literature, please contact
your Solidigm representative.
All products, computer systems, dates, and figures specified are preliminary based on current expectations, and
are subject to change without notice.
© Solidigm. Solidigm and the Solidigm logo are trademarks of Solidigm in the United States and other countries.
Other names and brands may be claimed as the property of others.
Contents
1 Overview .................................................................................................................................................................... 4
1.1 About ............................................................................................................................................................... 4
1.2 Requirements and Support ....................................................................................................................... 4
1.3 SOFU Package ............................................................................................................................................... 4
2 Execution ................................................................................................................................................................... 5
2.1 Windows ......................................................................................................................................................... 5
2.2 Linux................................................................................................................................................................. 5
2.3 Show Device Information........................................................................................................................... 5
2.4 Updating the Firmware ............................................................................................................................... 5
2.4.1 Updating Firmware (Default) ....................................................................................................... 6
2.4.2 Updating Firmware of specific drive ......................................................................................... 6
2.4.3 Committing firmware .................................................................................................................... 6
2.4.4 Updating via binary ......................................................................................................................... 7
2.5 Additional Tool Options .............................................................................................................................. 7
2.5.1 Debugging......................................................................................................................................... 7
2.5.2 Silent Mode ....................................................................................................................................... 7
2.5.3 Force Mode ...................................................................................................................................... 8
2.5.4 Help .................................................................................................................................................... 8
2.5.5 Return Codes ................................................................................................................................... 8
1 Overview
This document describes how to use the Solidigm™ OEM Firmware Updater (SOFU)) to
update the firmware on Solidigm™ SSDs including Intel® NAND SSDs.
1.1 About
SOFU is a CLI tool that provides firmware update functionality for Intel NAND and Solidigm
SSDs in Windows, Linux and ESXi.
SOFU is delivered via package. Package contains SOFU tool and firmware modules.
Firmware binaries are embedded in the firmware modules along with update logic.
If the SOFU package has an update specified for the drive it will update the firmware.
Otherwise, it will say “The selected SSD contains current firmware as of this tool release.”
SOFU supports different Windows storage drivers: Microsoft Inbox NVMe driver, Solidigm
Synergy driver, Intel RST driver, SMI NVMe driver.
SOFU must be run with Admin/Super user privileges. Admin Command Prompt for Windows
and SUDO for Linux.
SOFU executable has version appended to the name so command syntax provided in this
document should be adjusted accordingly
Firmware updates for drives behind LSI RAID cards is available for Windows/Linux
depending on the package and card.
2 Execution
2.1 Windows
FirmwareModules folder contains the actual firmware update. So, it required to do any
update. It is not needed to display drive list.
Run Command prompt in Administrator mode. Go to directory with sofu and execute
sofu_x.x.exe.
2.2 Linux
To execute on LINUX, user may have to change permissions to execute sofu. Example: sudo
chmod 777 sofu
To run sofu use sudo and execute command syntax. Example: sudo ./sofu_1.0
Generally, this command is run to get list of devices attached, get basic information from
the drives, and get device index. “show” command also displays current firmware of the
drive and if there is any update available for drive(s) in the package.
Syntax
sofu show
Syntax
sofu
Syntax
NOTE: FW Download will not be executed by SOFU prior to FW Commit (even if there is new
FW available in FirmwareModule). If FW Download should be executed use -source option
(see section Updating via binary)
NOTE: These options must be used with Caution and only be used when necessary.
NOTE: Commit Actions 0 and 1 require FW image to be downloaded first. Using CA=0 or 1
without prior FW Download will result in an error. Commit Actions 2 and 3 can activate
existing image (see NVMe specification for details).
NOTE: Result of this command may differ depending on the storage driver. Most Windows
Storage drivers does not support manual selection of Commit Action as they use MSFT’s
API for FW update and don’t use passthrough mechanism (https://learn.microsoft.com/en-
us/windows/win32/fileio/working-with-nvme-devices#dont-update-firmware-through-
the-pass-through-mechanism). In general, it is driver’s responsibility to select appropriate
Commit Action depending on features supported by NVMe device.
Syntax
NOTE: This option must be used with Caution and only be used when necessary, as this
bypass logic check that firmware modules provide.
NOTE: Slot and Commit Action are optional. Binary-based update will always execute FW
Download command before calling FW Commit. Support for selecting FW Commit Action
depends on storage driver (see NOTES from section Committing firmware).
Syntax
2.5.1 Debugging
Generating log is the best way to diagnose any issue with communicating with drives and
updating the firmware. Log contains in-depth details of communicating with drives and
commands being sent to drives/drivers.
SOFU can generate log with details for each command if log argument and file name is
specified with command.
Syntax
Syntax
sofu -s
sofu /s
Syntax
2.5.4 Help
SOFU provides help/syntax with help argument.
Syntax
sofu help
As there can be multiple drives being updated and each drive may return different code,
return codes may not be fully reliable.