Skip to main contentSkip to navigation
Lab Operational Since: 17 Years, 6 Months, 19 DaysFacility Status: Fully Operational & Accepting New Cases

SSD Firmware Panics & ROM Mode Recovery (SATAFIRM S11, SM2258 BSY)

When an SSD controller can't load its firmware from the NAND service area, it falls back to ROM mode and reports a generic factory ID like SATAFIRM S11 or a 0GB capacity. We recover data from ROM-mode SSDs at our Austin, TX lab using PC-3000 SSD loader injection and FTL reconstruction. No MPTool wiping, no diagnostic fee, no charge if there's no data.

SSD ROM mode is the controller's fallback boot state when its on-NAND firmware is unreadable. The chip runs only its read-only bootloader and identifies itself with a factory string (SATAFIRM S11, SM2258AB) at a 0GB, 1GB, or 2MB diagnostic capacity. Recovery requires PC-3000 SSD to inject a volatile loader and rebuild the Flash Translation Layer.

What is SSD ROM mode?

Every SSD controller has two firmware layers. A tiny, hardcoded bootloader lives in read-only memory inside the controller die. The full firmware (FTL, garbage collector, wear leveler, SMART handler) lives in a reserved service area on the NAND. On a healthy power-up the ROM bootloader reads, validates, and hands off to the on-NAND firmware. When that handoff fails, the controller stays in the bootloader and presents itself to the host as a different device entirely.

ROM mode
The Phison term. Triggered when the PS3111-S11 cannot validate firmware modules on the NAND. The drive answers vendor commands but reports SATAFIRM S11 at 0 bytes. Entry into a usable diagnostic state requires a momentary short of the ROM_CS test pad during power-on.
BSY state (Keep BSY)
The Silicon Motion term. The SM2258 or SM2259XT completes the SATA handshake, begins FTL initialization, then hits an unhandled exception parsing corrupted system blocks. The controller holds the ATA BSY bit high indefinitely, so the host can't issue any further commands. Diagnostic access requires a permanent short of the ROM_CS or UART_TX test pad throughout power-on.
BAD_CTX
A deeper Silicon Motion panic. The controller's context tables are corrupted across every redundant copy in the system blocks, usually from a power loss mid-update. PC-3000 SSD reports BAD_CTX as a distinct status flag from Keep BSY and requires a full NAND scan to locate scattered FTL fragments.
Safe Mode / Techno Mode
ACELab's name for the diagnostic state the controller enters once the test pads are shorted. The drive runs entirely from its internal ROM and accepts a volatile microcode loader (LDR) into SRAM that gives PC-3000 raw NAND access without writing to flash.

The user data is still physically present on the NAND in all of these states. What failed is the translator that maps logical block addresses to physical NAND pages. Reconstructing that translator off-drive is the entire job. For the broader picture of how SSD firmware corruption develops over time, see our SSD firmware corruption recovery page.

How does PC-3000 recover a Phison PS3111-S11 in SATAFIRM S11?

The Phison PS3111-S11 is a DRAM-less, single-core, two-channel SATA controller that stores its FTL on the same TLC or QLC NAND as user data. When NAND pages holding the service area degrade, or when power drops during garbage collection, the controller can't validate its firmware and falls into ROM mode. PC-3000 SSD's Phison active utility recovers data in four steps.

  1. 01

    ROM mode enumeration and momentary pin short

    The drive is connected to a PC-3000 SSD port (not a USB-SATA bridge, which masks vendor commands). The Phison utility issues an IDENTIFY DEVICE; if the drive responds as SATAFIRM S11, the controller is already in ROM mode. If the drive hangs instead, the technician locates the ROM_CS via on the PCB under a microscope and shorts it to ground with precision tweezers at the exact moment bench power is applied. The momentary short prevents the controller from attempting to load the corrupted firmware from NAND.

  2. 02

    SRAM loader (LDR) microcode injection

    PC-3000 SSD selects a volatile microcode loader that matches the PS3111-S11 silicon revision, the NAND manufacturer (Toshiba/Kioxia, Micron, SK Hynix, Intel), and the native firmware version. The utility injects this loader directly into the controller's SRAM through vendor-specific commands. The loader runs only from volatile memory and never writes to the NAND, which is exactly what separates this workflow from Phison MPTool. MPTool would erase the service area and destroy the data.

  3. 03

    Raw NAND dump and XOR descrambling

    The PS3111-S11 does not implement AES encryption; it applies a deterministic XOR scramble to NAND writes to avoid repeating bit patterns that accelerate cell wear. The loader gives PC-3000 SSD raw read access to every physical NAND page. The utility mathematically reverses the XOR polynomial in workstation RAM, producing the unscrambled NAND contents and the metadata headers needed for the next step.

  4. 04

    FTL / L2P translator reconstruction and SMART bypass

    PC-3000 SSD scans the spare-area metadata of every NAND page (block sequence numbers, page headers, wear-level counters) and reconstructs the logical-to-physical translator in workstation RAM. A common failure point on the PS3111 is the SMART log: corrupted SMART tables drive the controller into an infinite reboot loop during translator rebuild because it tries to update health metrics it can't write. The Phison utility clears or bypasses the corrupted SMART entries in volatile memory so the rebuild can complete. The drive then presents its real capacity and the data is imaged sector by sector to a destination drive.

For the deeper architectural breakdown of Phison silicon, see our Phison controller architecture page.

How is a Silicon Motion BSY state diagnosed and recovered?

SM2258 and SM2259 controllers stall at FTL initialization when their system blocks are inconsistent, holding the ATA BSY bit high so the host can't issue any commands. Recovery requires a permanent short of the ROM_CS or UART_TX test pad through power-on, then loader injection that matches both the silicon revision and the exact NAND configuration page.

  1. Permanent Safe Mode pin short. Unlike Phison, the SM2258 needs the ROM pin held to ground throughout initialization, not just at power-on. The technician bridges the ROM_CS or UART_TX test pad with tweezers under a microscope and keeps the bridge in place while applying bench power. The controller never attempts to read the corrupted NAND firmware and stays in its primary ROM bootloader.
  2. NAND configuration detection. The PC-3000 SSD Silicon Motion active utility reads the raw NAND Flash ID directly off the dies (a value like 0x45489AB3 indicates SanDisk 64-layer BiCS3 TLC). The technician selects a loader that matches both the SM2258 / SM2259 / SM2259XT silicon and the exact NAND geometry. An incompatible loader produces massive ECC failure rates and unreadable configuration pages.
  3. Configuration Page (CP) module extraction. Once the LDR is in SRAM, background processes (TRIM, garbage collection) are forcibly disabled. The utility uses vendor-specific commands to extract the surviving CP modules from the NAND service area. SM2259XT stores FTL backups directly in standard NAND pages rather than in a dedicated cache, so the utility scans those pages and parses the physical metadata.
  4. Translator rebuild and imaging. The virtual translator is reconstructed in workstation RAM, the drive presents its real capacity through the PC-3000 SSD interface, and the data is imaged sector by sector. For severe panics where every CP copy fails checksum (BAD_CTX), the utility falls back to a full NAND scan to locate scattered FTL fragments. BAD_CTX recoveries take longer than standard BSY recoveries and remain in the $600–$900 firmware tier for SATA drives.

The interface matters. USB-SATA bridge adapters strip or garble the vendor-specific commands in the 0xC0-0xFF range that the Silicon Motion utility relies on, so a drive that appears absent through a USB enclosure may still respond over a direct SATA connection to PC-3000 SSD. See the full architecture details on our Silicon Motion controller architecture page.

Why does software recovery fail on ROM-mode SSDs?

Consumer data recovery software talks to the file system, not to the controller. The file system layer needs the drive to expose a valid block device with a real capacity through the OS storage driver. A ROM-mode SSD reports 0GB, so there are no logical blocks to scan and nothing for the software to read.

The OS doesn't talk to NAND. It talks to the controller over SATA, SAS, or NVMe/PCIe using standard storage protocols. Every read or write goes to a logical block address. The controller looks that LBA up in its Flash Translation Layer and translates it into a physical address on a specific NAND die, block, and page. When the FTL is gone, the controller can't translate anything, so it protects itself by dropping its capacity to 0GB, 1GB, or 2MB.

Disk Drill, R-Studio, Recuva, EaseUS, TestDisk, and PhotoRec all sit above the OS storage driver. They issue READ commands to logical addresses. With no LBA mapping available, those reads return zeros or fail outright. The software isn't broken; it's being asked to read a device that doesn't exist from the OS perspective. No application running through an OS storage driver can bypass the hardware controller to read raw NAND.

PC-3000 SSD doesn't go through the OS storage driver at all. The PCIe card operates its own SATA / NVMe controller and issues vendor-specific commands directly to the SSD controller, injecting microcode into SRAM and acting as a surrogate controller operating below the OS abstraction layer. That's the entire reason the workflow exists.

Why does chip-off NAND extraction fail on modern AES-256 SSDs?

Modern NVMe SSDs implement always-on AES-256 XTS hardware encryption. The Media Encryption Key is generated by the controller's hardware RNG, fused into one-time-programmable silicon, and never leaves the controller die. Desoldering the NAND and reading it in a chip-off jig produces ciphertext that cannot be decrypted without the original controller. Board-level repair to revive the controller is the only viable path.

Chip-off was the traditional last resort for dead SSDs: desolder the TSOP48 or BGA NAND packages from the destroyed PCB, read them in a bare NAND programmer, and reassemble the data with software algorithms. That still works for older USB flash drives and for legacy SATA controllers like the Phison PS3111-S11 that use simple XOR scrambling. It does not work for the encrypted controller families that ship in every modern NVMe SSD.

The cryptographic engine inside the controller encrypts data before it ever reaches the NAND. The MEK is bound to one-time-programmable fuses inside the controller die and is never written to flash in plaintext. Even transplanting the NAND onto a donor controller of the exact same model fails: the donor has its own unique Key Encryption Key (KEK) burned into its fuses and cannot unwrap the MEK that was bound to the original silicon. The chip-off output is high-entropy noise with no recognizable partition tables, file signatures, or directory headers.

M.2 2230 NVMe drives and Apple's storage implementations make this even more physical. The controller die and NAND dies share a single laminated BGA package; there is no standalone NAND chip to desolder without destroying the underlying routing. Apple T2 and Apple Silicon SSDs additionally bind the AES key to the Secure Enclave on the logic board. We do not claim to bypass, crack, or defeat manufacturer encryption.

Important controller support caveat. Modern Samsung in-house NVMe controllers (Elpis on the 980 Pro, Pascal on the 990 Pro, Polaris and Phoenix on other generations), Realtek NVMe controllers, Innogrit controllers, and Maxio MAP1602/MAP1602A are not on ACELab's PC-3000 SSD supported list and are not recoverable through the firmware-level workflow described on this page. Their always-on AES-256 architecture also blocks chip-off recovery. Rossmann does not currently offer in-lab recovery for Realtek, Innogrit, Maxio MAP1602/MAP1602A, or modern Samsung in-house NVMe controllers (Elpis, Pascal, Polaris, Phoenix).

The remaining viable path on encrypted SSDs is board-level microsoldering to revive the original controller: FLIR thermal imaging to locate shorted PMICs and voltage regulators, then Hakko FM-2032 component replacement and Zhuo Mao BGA rework to reflow the controller. Once the original silicon boots, the encryption keys are intact and PC-3000 SSD can access the NAND. See the deeper write-up on our chip-off NAND recovery and hardware encryption pages.

Which SSD models commonly enter ROM mode?

The Phison PS3111-S11 is the highest-volume offender. Phison sells the controller as a turnkey package to dozens of manufacturers, so the same SATAFIRM S11 failure appears across drives that look completely unrelated. Silicon Motion SM2258 and SM2259 BSY cases concentrate in mid-tier ADATA, HP, and Kingston OEM swaps.

Phison PS3111-S11 (SATAFIRM S11)

  • Kingston A400 (120GB and 240GB revisions; the 480GB and 960GB SKUs frequently swap to SM2258XT or Maxio MAS0902 silicon under the same external packaging)
  • Patriot Burst and Burst Elite
  • PNY CS900 (up to 1TB)
  • Inland Professional SATA (Micro Center house brand)
  • Seagate BarraCuda Q1 (PS3111 + QLC NAND)
  • Apacer AS340, AS350
  • Gigabyte GSTFS31 series
  • GOODRAM CX300, S400U
  • Lite-On MU3
  • Silicon Power Slim S55, S60
  • Smartbuy Revival 2

Silicon Motion SM2258 / SM2259 / SM2259XT (BSY)

  • ADATA SU800, SU650 (higher-capacity revisions)
  • HP S700 family
  • Team Group T-Force Vulcan, GX2
  • Kingston A400 (480GB and 960GB SM2258XT revisions)
  • Crucial BX500 (some SM2259XT revisions)

A drive that displays SATAFIRM S11 guarantees a Phison PS3111 inside, regardless of the brand label. See our Kingston A400 recovery page for the specific A400 workflow, including how we identify which controller is in a given unit before opening it.

SandForce SF-2281 (legacy)

Rossmann does not currently offer in-lab recovery for Sandforce controllers. SandForce SF-2281 (common in 2011-2014 era SSDs) is not on the ACELab PC-3000 SSD supported list and combines always-on AES, DuraWrite inline compression, and RAISE parity striping in a way that requires proprietary workflows outside the standard PC-3000 utility.

What equipment does the Austin, TX lab use for ROM-mode SSD recovery?

All ROM-mode SSD work is performed in-house at 2410 San Antonio Street, Austin, TX. Single location. No franchises. No outsourcing. The same technicians who receive the drive run the PC-3000 utility and, when needed, do the board repair.

PC-3000 SSD (ACE Lab)
Phison, Silicon Motion, and Marvell active utilities for firmware-level vendor command access, loader injection into controller SRAM, and FTL reconstruction in workstation RAM. The industry standard for ROM-mode recovery; not a tool a general computer-repair shop owns.
PC-3000 Portable III
Field diagnostic and pre-imaging unit used to characterize a drive before it enters the main PC-3000 SSD workflow.
FLIR thermal cameras
Fault localization on dead PCBs. A shorted PMIC, voltage regulator, or coupling capacitor shows up as a hot spot within seconds of applying bench power.
Hakko FM-2032 on FX-951 base stations
Precision microsoldering for component-level replacement of PMICs, regulators, passives, and ROM_CS-area test pads after diagnostic shorting.
Atten 862 hot air rework
Controlled hot-air for QFN and small-BGA package removal and replacement.
Zhuo Mao precision BGA rework
Top and bottom heating with thermal profiling for controller IC reflow and replacement on dead NVMe boards.

How much does ROM-mode SSD data recovery cost?

SATA ROM-mode firmware recovery is $600–$900. NVMe ROM-mode firmware recovery is $900–$1,200. Free evaluation, firm quote before paid work begins, no data means no charge, no diagnostic fees.

SATA Firmware Recovery: $600–$900
Phison PS3111-S11 SATAFIRM S11, Silicon Motion SM2258/SM2259 BSY, ROM mode, and BAD_CTX cases. Includes loader injection, FTL reconstruction, and sector-by-sector imaging. ETA 3-6 weeks.
NVMe Firmware Recovery: $900–$1,200
Phison and Silicon Motion NVMe ROM-mode and panic-state recovery. Higher tier reflects the more complex NVMe utility workflow and the wider variety of controller silicon. ETA 3-6 weeks.
Circuit Board Repair (when the controller is electrically dead): $450–$600 SATA, $600–$900 NVMe
Required when a dead PMIC, voltage regulator, or coupling capacitor is preventing the controller from booting at all. Revives the original silicon so its encryption keys remain valid for PC-3000 SSD access. A donor drive is a matching SSD used for its circuit board. Typical donor cost: $40–$100 for common models, $150–$300 for discontinued or rare controllers.
Rush service
+$100 rush fee to move to the front of the queue.

Many labs hide their number behind a "call for quote" wall that only reveals the price after they have your drive. We publish pricing so you know what you're paying before you ship anything. Call (512) 212-9111 or use our free evaluation form.

Frequently asked questions

What is SSD ROM mode?
ROM mode is a fallback diagnostic state the SSD controller enters when it cannot load valid firmware from the service area on the NAND. The controller boots only the read-only ROM bootloader, ignores the corrupted on-NAND firmware, and identifies itself with a generic factory string such as "SATAFIRM S11," "SM2258AB," or "SandForce{200026BB}" while reporting a 0GB, 1GB, or 2MB diagnostic capacity.
What does SATAFIRM S11 mean?
SATAFIRM S11 is the hardcoded ROM identity string of the Phison PS3111-S11 SATA controller. When the PS3111 fails to validate its on-NAND firmware, it boots into ROM mode and reports itself to the host as "SATAFIRM S11" with 0 bytes capacity. The error is a controller-level firmware panic, not a file system problem. The user data is still physically on the NAND; the translator that maps logical addresses to those NAND pages is what failed.
Will an MPTool, firmware flasher, or factory reset fix SATAFIRM S11?
Phison MPTool will make the drive usable again, but it does so by wiping the NAND service area and rebuilding the Flash Translation Layer from scratch. That permanently erases every byte of user data. MPTool is a manufacturing tool, not a recovery tool. If you ran MPTool on a SATAFIRM S11 drive before sending it to a lab, recovery is no longer possible.
Can Disk Drill, Recuva, R-Studio, or EaseUS recover data from a ROM-mode SSD?
No. Recovery software operates above the OS storage driver and requires the controller to present a valid block device with a real capacity. A drive in ROM mode reports 0GB, so there is no logical volume for the software to scan. Software cannot bypass the controller to read raw NAND. PC-3000 SSD bypasses the controller by injecting a working microcode loader into its volatile SRAM, then reconstructs the FTL in workstation RAM.
What is the PC-3000 SSD workflow for a Phison PS3111-S11 in ROM mode?
Four steps. First, detect the ROM mode handshake over the SATA bus. Second, inject a volatile microcode loader (LDR) that matches the silicon revision and NAND type into the controller's SRAM. Third, dump the raw NAND pages through vendor commands and reverse the deterministic XOR scrambling. Fourth, reconstruct the FTL from surviving page metadata and image the data sector by sector. Pricing for this work is $600–$900 for SATA drives.
How is Silicon Motion BSY state different from Phison ROM mode?
Phison enters ROM mode with a momentary pin short during power-up; the controller answers VSCs from its bootloader and accepts a loader into SRAM. Silicon Motion SM2258 and SM2259 controllers require a permanent short of the ROM_CS or UART_TX test pad throughout initialization to enter Safe Mode (Techno Mode). Without the permanent short, the SM2258 stalls at the FTL initialization stage and holds the SATA BSY bit high forever, so the host cannot issue any commands.
Why does chip-off NAND extraction fail on modern NVMe SSDs?
Every major NVMe controller from roughly 2015 onward implements always-on AES-256 XTS hardware encryption. The Media Encryption Key (MEK) is generated by the controller's hardware RNG and burned into one-time-programmable fuses inside the controller die. The key never touches the NAND. Desoldering the NAND and reading it in a chip-off jig yields ciphertext that cannot be decrypted without the original controller silicon. Board-level repair to revive the original controller is the only viable path for encrypted SSDs.
Which drive models commonly show SATAFIRM S11?
Kingston A400 (120GB and 240GB revisions), Patriot Burst and Burst Elite, PNY CS900, Inland Professional SATA, Seagate BarraCuda Q1 (QLC variant), Apacer AS340 and AS350, Gigabyte GSTFS31, GOODRAM CX300 and S400U, Silicon Power Slim S55 and S60, and Smartbuy Revival 2. Any of these failing with SATAFIRM S11 confirms a Phison PS3111-S11 controller is inside.
How much does ROM-mode SSD data recovery cost?
SATA ROM-mode firmware recovery is $600–$900. NVMe firmware recovery is $900–$1,200. Pricing is published, not "call for quote." Every case starts with a free evaluation and a firm quote before any paid work begins. If we recover nothing, you pay nothing. No diagnostic fees, no attempt fees. Rush service is +$100 rush fee to move to the front of the queue.
What equipment does Rossmann use for ROM-mode SSD recovery?
PC-3000 SSD with the Phison, Silicon Motion, and Marvell active utilities, and PC-3000 Portable III for field-style diagnostic work. Board-level repair uses FLIR thermal cameras to locate shorted PMICs and voltage regulators, Hakko FM-2032 microsoldering irons on FX-951 base stations for component replacement, Atten 862 hot air rework, and Zhuo Mao precision BGA rework stations for controller reflow. All work is performed in-house at our Austin, TX lab.

Ship your SATAFIRM S11 or BSY drive to the Austin lab

Free evaluation, firm quote before any paid work, no charge if there's no data. Single location. No franchises. No outsourcing.

(512) 212-9111Mon-Fri 10am-6pm CT
No diagnostic fee
No data, no fee
4.9 stars, 1,837+ reviews