0% found this document useful (0 votes)
7 views

SOFU_UserGuide

The Solidigm™ OEM Firmware Updater (SOFU) User Guide provides instructions for updating firmware on Solidigm and Intel NAND SSDs using a command-line interface on Windows, Linux, and ESXi. It details the requirements, execution commands, and options available for firmware updates, including committing firmware and using binary updates. The document also includes a revision history and disclaimers regarding product specifications and warranties.

Uploaded by

Samuel Angel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

SOFU_UserGuide

The Solidigm™ OEM Firmware Updater (SOFU) User Guide provides instructions for updating firmware on Solidigm and Intel NAND SSDs using a command-line interface on Windows, Linux, and ESXi. It details the requirements, execution commands, and options available for firmware updates, including committing firmware and using binary updates. The document also includes a revision history and disclaimers regarding product specifications and warranties.

Uploaded by

Samuel Angel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8



USER GUIDE

Solidigm™ OEM Firmware


Updater (SOFU)
August 2023

sdfsefsd
Solidigm™ OEM Firmware Updater

Revision History

Document
Description Revision Date
Revision

• 001 • Solidigm™ Firmware Updater Initial Version June 2022

• Added Windows Storage drivers support information.


• Added details about usage of Slot and Action options for
• 002 Committing firmware (section 1.6.3) and Binary-based August 2023
firmware update (section 1.6.4)
• Document formatting

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.

August 2023 User Guide


2
Solidigm™ OEM Firmware Updater

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

August 2023 User Guide


3
Solidigm™ OEM Firmware Updater

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

1.2 Requirements and Support


SOFU supports Windows, Linux and ESXi.

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.

Reboot is recommended after every firmware update as a general practice.

1.3 SOFU Package


SOFU is an executable that provides firmware update functionality. It is accompanied by
Firmware module (DLL or SO file(s) in FirmwareModules folder) that contains update logic
and embedded firmware binaries. Packages are custom generated to update specific set of
drives with specific firmware. Binaries are only pushed to the drive if requirements for
update are met. Such as Product type, Model number, Current firmware. This prohibits user
from pushing wrong firmware to the drive.

August 2023 User Guide


4
Solidigm™ OEM Firmware Updater

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

2.3 Show Device Information


SOFU allows user to get information about one or more SSD devices without attempting to
update the firmware.

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

List All drives

sofu show

List details about specific drives

sofu show -ssd [(Index|SerialNumber|PhysicalPath)]

2.4 Updating the Firmware


NOTE: Reboot is recommended after every firmware update

August 2023 User Guide


5
Solidigm™ OEM Firmware Updater

2.4.1 Updating Firmware (Default)


SOFU is designed to update firmware without human interaction. By default, SOFU will scan
all the attached drives on the system and check the Firmware Modules if any drive update is
available. If there is an update, then it will automatically push the firmware update. If the
package has no update defined for a drive, it will not be updated.

Syntax

sofu

2.4.2 Updating Firmware of specific drive


If user wants to target specific drive for the update, user can target that drive via Index,
Serial Number or Device path. Index can be retrieved with command listed in “Show Device
Information”. With this method update will only be applied to the drive specified, even
though package may have an update for other drives on the system.

Syntax

sofu load -ssd [Index|SerialNumber|DevicePath]

2.4.3 Committing firmware


By default, firmware update process includes committing firmware which was previously
downloaded. However, if the drive supports multiple slots and different commit actions
then user can choose to do only Firmware Commit by specifying Slot and Action options.

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.

August 2023 User Guide


6
Solidigm™ OEM Firmware Updater

Syntax

sofu load -ssd [Index|SerialNumber|DevicePath] [Slot = ('1|2|3|4|5|6|7')] [Action = (0|1|2|3)]

2.4.4 Updating via binary


SOFU allows firmware update through firmware binary directly instead of Firmware
Modules. In this scenario, user must have binary compatible with their drive(s).

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

sofu load -source (BinaryfileName) -ssd [Index|SerialNumber|DevicePath] [Slot =


('1|2|3|4|5|6|7')] [Action = (0|1|2|3)]

2.5 Additional Tool Options

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

sofu load -ssd [Index|SerialNumber|DevicePath] -log LogFile.txt

2.5.2 Silent Mode


SOFU can run without displaying any information on the screen or prompting for input if
silent argument is specified. Silent option does not work with load option as load option by
default prompts for confirmation for each update.

Syntax

sofu -s

August 2023 User Guide


7
Solidigm™ OEM Firmware Updater

sofu -s -log Logfile.txt

sofu /s

2.5.3 Force Mode


If SOFU is executed with “load” argument, SOFU will prompt user to confirm (Y/N) for each
update. If the user wants to bypass the confirmation, “force” option can be provided.

Syntax

sofu load -f -ssd [Index|SerialNumber|DevicePath]

sofu load -force -ssd [Index|SerialNumber|DevicePath]

sofu load -f ssd [Index|SerialNumber|DevicePath] -log Logfile.txt

2.5.4 Help
SOFU provides help/syntax with help argument.

Syntax

sofu help

2.5.5 Return Codes


In General, if everything is successfully updated, return code is set to 0.

As there can be multiple drives being updated and each drive may return different code,
return codes may not be fully reliable.

August 2023 User Guide


8

You might also like