Драйвера и утилиты, а также софт для работы с SSD NVMe дисками Intel и Solidigm теперь можно брать с сайта Solidigm.
https://www.solidigm.com/support-page/drivers-downloads.html
Краткая история: Intel продаёт свой NAND и SSD бизнес компании SK hynix. Те же, в свою очередь, создают новую дочернюю компанию Solidigm для управления производством твердотельных накопителей. Ожидается, что окончательное закрытие сделки произойдет в марте 2025 года, так что драйвера теперь можно искать на solidgm.com.
Инструмент Solidigm Storage Tool, также называемый SST, позволяет управлять твердотельными накопителями Solidigm и Intel. Для ОС Windows существует графический интерфейс пользователя (GUI). Для Windows, Linux и ESXi существует интерфейс командной строки (CLI). Утилита умеет:
- Отображать информацию о диске
- Показывать состояние диска
- Выводить атрибуты SMART
- Обновлять прошивку диска
- Проводить диагностическое сканирование диска
- Производить безопасное стирание диска
Установка SST
Дистрибутив SST ищем тут:
https://www.solidigm.com/content/solidigm/us/en/support-page/drivers-downloads/ka-00085.html
Для работы CLI установка не требуется, покажем на примере GUI в Windows. Предварительно нужно установить драйвер для диска (для CLI тоже):
https://www.solidigm.com/content/solidigm/us/en/support-page/drivers-downloads/ka-00095.html
Драйвер Intel PCIe NVMe SSD для Windows
После установки драйвера перезагружаем компьютер. Устройство определяется (у меня диск серии Intel SSD DC P4500 Series).
Распаковываем архив с утилитой SST.
Запускаем инсталлятор Solidigm_Storage_Tool_1.3.208.exe.
Надпись Advanced Installer в правом верхнем углу говорит нам о том, что установочный пакет не обычный, а продвинутый. Гордимся тем, что удалось достать продвинутый пакет, несмотря на то, что другого нет. Заканчиваем гордиться. Мы в разделе Welcome. Next.
Идёт подготовка к установке. Для работы GUI нужен .NET Framework 4.8. Он у меня уже установлен, но инсталлятор, по идее, должен предложить установку .Net, если Framework не будет найден.
Начинается установка.
Установка завершена, можно после окончания установки запустить SST GUI. Finish.
Solidigm Storage Tool GUI
Открывается окно SST. В разделе Management → Summary отображается краткая информация обо всех найденных утилитой дисках в системе, включая виртуальные, HDD, SSD и NVMe.
Утилита отображает (с ошибками, у HDD вместо производителя указан протокол):
- Название диска
- Модель
- Серийный номер
- Версия прошивки
- Производитель
- Протокол
- Версия драйвера
- Контроллер
- Разделы
- Объём и степень использования
- Состояние диска
- Состояние сенсора температуры
- Ожидаемое время жизни (для SSD)
В разделе Diagnostic Scan можно выполнить диагностическое сканирование.
Для удобства можно включить русский язык.
В разделе Firmware Update можно обновить прошивку SSD.
В разделе Secure Erase — безопасное стирание данных. В Details → SMART можно посмотреть данные SMART.
Solidigm Storage Tool CLI
После установки GUI в системе появляется новая команда sst. Пример использования:
sst show -ssd
Исполняемый файл:
C:\Program Files\Solidigm\Solidigm(TM) Storage Tool\sst.exe
Подробная помощь:
-
sst help
Usage: sst <verb>[<options>][<targets>][<properties>] Commands: AggregationThreshold: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) AggregationThreshold = (value) AggregationTime: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) AggregationTime = (value) AssertLog: dump [-help|-h] [-destination (path)] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -assertlog ATASecureErase: start [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd (Index|SerialNumber|PhysicalPath)] -secureerase AttachNamespace: attach [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -namespace (namespace id) [-nvmecontroller (controller ID integer)] BackgroundProcessing: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -backgroundprocessing BridgeNlog: dump [-help|-h] [-destination (path)] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -bridgenlog ClearCounter: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -PCIeCorrectable ClearCounter = ((true)) ClearHistory: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -FirmwareHistory ClearHistory = ((true)) CreateNamespace: create [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -namespace Size = (blocks) [Capacity = (blocks)] [LBAFormat = (0-NumLBAFormats)] [ProtectionInformation = (0|1|2|3)] [MultiPathIoCapabilities = (0|1)] Delete: delete [-help|-h] [-force|-f] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) DeleteNamespace: delete [-help|-h] [-force|-f] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -namespace (namespace id) DetachNamespace: detach [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -namespace (namespace id) [-nvmecontroller (controller ID integer)] DIPM: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) DIPMEnabled = ('true'|'false') DriveSelfTestShow: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -selftest DriveSelfTestStart: start [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -selftest [('short'|'extended'|'conveyance')] [-mode (captive|offline)] DumpIdentifyController: dump [-help|-h] -destination (path) [-output|-o (text|nvmxml|json)] [-ssd (Index|SerialNumber|PhysicalPath)] -identify -nvmecontroller DumpIdentifyControllerList: dump [-help|-h] -destination (path) [-output|-o (text|nvmxml|json)] [-ssd (Index|SerialNumber|PhysicalPath)] [-namespace (namespace id)] -nvmecontroller DumpIdentifyDevice: dump [-help|-h] -destination (path) [-output|-o (text|nvmxml|json)] [-ssd (Index|SerialNumber|PhysicalPath)] -identify DumpIdentifyNamespace: dump [-help|-h] -destination (path) [-output|-o (text|nvmxml|json)] [-ssd (Index|SerialNumber|PhysicalPath)] -identify -namespace (namespace id) DumpIdentifyNamespaceIdDescriptorList: dump [-help|-h] -destination (path) [-output|-o (text|nvmxml|json)] [-ssd (Index|SerialNumber|PhysicalPath)] -identify -descriptors [-namespace (integer | 'attached' | 'allocated')] DumpIdentifyNamespaceList: dump [-help|-h] -destination (path) [-output|-o (text|nvmxml|json)] [-ssd (Index|SerialNumber|PhysicalPath)] -namespace (namespace id) DumpNVMeLog: dump [-help|-h] [-destination (path)] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -nvmelog (log name, log ID, or 'list') [NamespaceSpecific = ((true|false))] [LogSpecificField = ((int))] [UUIDIndex = ((0-127))] [RetainAsynchronousEvent = ((true|false))] [LogPageOffset = ((int))] [NumDWORDs = ((int))] DumpSystemSnapshot: dump [-help|-h] [-destination (path)] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -SystemSnapshot eDriveEnabled: set [-help|-h] [-force|-f] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) EDriveSupported = ('true') EnableLog: set [-help|-h] [-output|-o (text|nvmxml|json)] -system EnableLog = ('true'|'false') EnableLSIAdapter: set [-help|-h] [-output|-o (text|nvmxml|json)] -system EnableLSIAdapter = ('true'|'false') EnduranceAnalyzer: reset [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -enduranceanalyzer EventLog: dump [-help|-h] [-destination (path)] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -eventlog FirmwareActivate: load [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -firmwareactivate FirmwareSlot = ('1|2|3|4|5|6|7') [CommitAction = (2|3)] FirmwareActivationNotices: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) FirmwareActivationNoticesConfiguration = ('true'|'false') FirmwareUpdate: load [-help|-h] [-force|-f] [-source (path)] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) [FirmwareSlot = ('1|2|3|4|5|6|7')] [CommitAction = (0|1|2|3)] GetFeature: show [-help|-h] [-display|-d (Property1,...)] [-all|-a] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -getfeature (feature id) [-namespace (namespace id)] [UUIDIndex = ((0-127))] [TransferBytes = ((int))] [Select = ('current'|'default'|'saved'|'capabilities')] HDATemperature: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -hdatemperature HealthCriticalWarnings: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) SMARTHealthCriticalWarningsConfiguration = (value) HMCEnabled: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) HMCEnabled = ('true'|'false') IdentifyController: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -identify -nvmecontroller IdentifyControllerList: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] [-namespace (namespace id)] -nvmecontroller IdentifyDevice: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -identify IdentifyNamespace: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -identify -namespace (namespace id) IdentifyNamespaceIdDescriptorList: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -identify -descriptors [-namespace (integer | 'attached' | 'allocated')] IdentifyNamespaceList: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -namespace (namespace id) IdentifyUUIDList: dump [-help|-h] -destination (path) [-output|-o (text|nvmxml|json)] [-ssd (Index|SerialNumber|PhysicalPath)] -identify -uuidlist IdentifyUUIDList: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -identify -uuidlist LatencyStatistics: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -latencystatistics ('reads'|'writes') [Type = (0-3)] LatencyTrackingEnabled: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) LatencyTrackingEnabled = ('true'|'false') LogFile: set [-help|-h] [-output|-o (text|nvmxml|json)] -system LogFile = (file name) MaximumLBA: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) MaximumLBA = (numGB|1-100%|LBA|'native') NamespaceAttributeNotices: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) NamespaceAttributeNoticesConfiguration = ('true'|'false') NcqSupport: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -ncqsupport IsEnabled = ('true'|'false') Nlog: dump [-help|-h] [-destination (path)] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -nlog NVMeFormat: start [-help|-h] [-force|-f] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -nvmeformat [-namespace (namespace id)] [LBAFormat = (0-NumLBAFormats)] [SecureEraseSetting = (0|1|2)] [ProtectionInformation = (0|1|2|3)] [ProtectionInformationLocation = (0|1)] [MetadataSettings = (0|1)] NVMeReset: reset [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -nvmecontroller ParsePersistentEventLog: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -persistenteventlog Performance: show [-help|-h] [-display|-d (Property1,...)] [-all|-a] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -performance PerformanceBoosterShow: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -performancebooster PerformanceBoosterStart: start [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -performancebooster PerformanceBoosterStop: stop [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -performancebooster PersistentEventLog: dump [-help|-h] [-destination (path)] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -persistenteventlog PhyConfig: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) PhyConfig = (0|1|2|3) PhyCounters: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -phycounters PhysicalSectorSize: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) PhysicalSectorSize = (512|4096) PhySpeed: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) PhySpeed = (1.5|3|6) PLITestTimeInterval: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) PLITestTimeInterval = (0-6) PowerGovernorMode: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) PowerGovernorMode = (0|1|2) PSIDRevert: start [-help|-h] [-force|-f] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -psidrevert (psid) ReadErrorRecoveryTime: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) ReadErrorRecoveryTimer = (value) Sanitize: start [-help|-h] [-force|-f] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -sanitize [(block|crypto|overwrite|exit_failure)] [NoDeallocateAfterSanitize = (true|false)] [OverwriteInvertPattern = (true|false)] [OverwritePassCount = (integer)] [AllowUnrestrictedExit = (true|false)] [OverwritePattern = (32-bit hex pattern)] [ReturnImmediately = (true|false)] SATAGeneralPurposeLog: dump [-help|-h] [-destination (path)] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -gpl (log address) [PageNum = [(page #)]] [SectorCount = [(sectors)]] Scan: start [-help|-h] [-output|-o (text|nvmxml|json)] -scan [(DataIntegrity|ReadScan|Logs)] [-ssd [(Index|SerialNumber|PhysicalPath)]] [IncludeOS = (true|false)] [FullScan = (true|false)] [Path = ((drive letter))] [DirectoryPath = ((file path))] [IncludeSystemInfo = (true|false)] Sensors: show [-help|-h] [-display|-d (Property1,...)] [-all|-a] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -sensor SetDSSDPowerState: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -DSSDPowerState DSSDPowerState = (Watts) SetErrorInjection: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -ErrorInjection [ErrorInjectionEntries = ((tilde separated entry list))] [File = (path to input file)] SetFeature: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -setfeature (feature id) [-namespace (namespace id)] [UUIDIndex = ((0-127))] [Save = ((true|false))] [DWORD11 = (32 bit hex)] [DWORD12 = (32 bit hex)] [DWORD13 = (32 bit hex)] [InputFile = (filename)] SetIEEESilo: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -IEEESilo Enable = ('true'|'false') SetLatencyMonitor: set [-help|-h] -source (path) [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -LatencyMonitor SetLED: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -led [IdleState = (on|off)] [DurationBase = (25|50)] [FormatOnMultiplier = (0-15)] [FormatOffMultiplier = (0-15)] [IoOffMultiplier = (0-15)] [IoOnMultiplier = (0-15)] SetPLPCheck: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -PLPCheck PLPCheckInterval = (interval value) SetReadonlyWriteThroughMode: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -ReadOnlyWriteThrough Mode = (1|2) SetTimestamp: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -timestamp (value) ShowDSSDPowerState: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -DSSDPowerState [Select = ('current'|'default'|'saved'|'capabilities')] ShowEnduranceAnalyzer: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -enduranceanalyzer ShowErrorInjection: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -ErrorInjection ShowIEEESilo: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -IEEESilo [Select = ('current'|'default'|'saved'|'capabilities')] ShowLED: show [-help|-h] [-display|-d (Property1,...)] [-all|-a] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -led ShowNVMeLog: show [-help|-h] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -nvmelog [(log name, log ID, or 'list')] [NamespaceSpecific = ((true|false))] [LogSpecificField = ((int))] [UUIDIndex = ((0-127))] [RetainAsynchronousEvent = ((true|false))] [LogPageOffset = ((int))] [NumDWORDs = ((int))] ShowPartitionInfo: show [-help|-h] [-output|-o (text|nvmxml|json)] -partition [(id)] -ssd [(Index|SerialNumber|PhysicalPath)] ShowPLPCheck: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -PLPCheck [Select = ('current'|'default'|'saved'|'capabilities')] ShowReadonlyWriteThroughMode: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -ReadOnlyWriteThrough [Select = ('current'|'default'|'saved'|'capabilities')] ShowTimestamp: show [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -timestamp SMART: show [-help|-h] [-display|-d (Property1,...)] [-all|-a] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -smart [(id)] [IncludeNVMeSmartHealthLog = (true|false)] SMBusAddress: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) SMBusAddress = (address) [SMBusSelector = (selector)] SolidigmSSD: show [-help|-h] [-display|-d (Property1,...)] [-all|-a] [-output|-o (text|nvmxml|json)] -ssd [(Index|SerialNumber|PhysicalPath)] SSCEnabled: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) SSCEnabled = ('true'|'false') Standby: start [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -standby System: show [-help|-h] [-display|-d (Property1,...)] [-output|-o (text|nvmxml|json)] -system TelemetryLogDump: dump [-help|-h] [-destination (path)] [-dataarea (1-3)] [-output|-o (text|nvmxml|json)] [-ssd [(Index|SerialNumber|PhysicalPath)]] -telemetrylog [HostInitiated = (true|false)] [RetainAsynchronousEvent = ((true|false))] TelemetryLogNotices: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) TelemetryLogNoticesConfiguration = ('true'|'false') TemperatureLoggingInterval: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) TemperatureLoggingInterval = (time) TempThreshold: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) TempThreshold = (value) Trim: start [-help|-h] [-force|-f] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -trim StartLBA = (integer) Count = (integer) Version: version [-all|-a] [-display|-d (Property1,...)] [-help|-h] [-output|-o (text|nvmxml|json)] WriteCache: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) WriteCacheEnabled = ('true'|'false') WriteCacheReorderingState: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) WriteCacheReorderingStateEnabled = ('true'|'false') WriteCacheState: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) WriteCacheState = (1|2|3) WriteErrorRecoveryTime: set [-help|-h] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) WriteErrorRecoveryTimer = (value) WriteSame: start [-help|-h] [-force|-f] [-output|-o (text|nvmxml|json)] -ssd (Index|SerialNumber|PhysicalPath) -writesame [Count = (sectors)] [HexPattern = (0x00 - 0xFFFFFFFF)] [LBA = (0-Max LBA)]