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

Technical Reference

Why an SSD Reports 0 Bytes

Louis Rossmann
Written by
Louis Rossmann
Founder & Chief Technician
Published March 8, 2026
Updated May 10, 2026

When an SSD reports 0 bytes in the operating system's disk management tool, it means the controller is not presenting any storage capacity to the host. The drive may appear in the BIOS or device manager with its correct model number, but it shows 0 bytes or no usable partitions. This symptom has three distinct causes at the hardware/firmware level, each requiring a different diagnostic and SSD data recovery approach.

Three Causes of the 0-Byte Symptom

CauseWhat HappenedBIOS BehaviorRecovery Path
Controller failureThe controller chip cannot execute firmware due to hardware damageDrive may not appear at all, or appears with wrong/generic model nameController repair or replacement (with encryption key considerations)
FTL corruptionThe mapping table between logical addresses and physical NAND is damagedDrive appears with correct model name but shows 0 capacityFTL rebuild via vendor-specific diagnostic tools (PC-3000 SSD)
NAND degradationNAND cells have exceeded endurance or developed widespread read errorsDrive may initialize slowly or intermittently; capacity may fluctuateRaw NAND reads with error correction; partial recovery possible

Controller Failure

The SSD controller is a system-on-chip that runs the drive's firmware, manages the NAND interface, handles encryption, and communicates with the host over SATA or NVMe. If the controller sustains damage (from power surges, thermal failure, or silicon defects), it cannot execute the firmware needed to present the drive's capacity to the host.

Controller failures manifest differently depending on the failure mode. A complete failure means the drive does not respond to the host at all. A partial failure may allow the drive to appear in the BIOS with a generic or garbled model name (because the controller's ROM is accessible but the firmware cannot fully initialize). Some controllers enter a "safe mode" that identifies the drive but blocks data access until the firmware issue is resolved.

Recovery from a controller failure depends on the encryption status. If the controller uses always-on encryption (Samsung, Silicon Motion, Marvell controllers), the media encryption key (MEK) is stored in the controller silicon. Replacing the controller loses the key unless it can be transferred. PC-3000 SSD supports key extraction from certain controller families before replacement.

FTL Corruption

FTL corruption is the most common cause of the 0-byte symptom, particularly after power loss. The Flash Translation Layer maintains the mapping table between logical block addresses and physical NAND locations. This table is cached in DRAM and periodically flushed to NAND. If power is lost during a flush, the mapping table in NAND may be incomplete or inconsistent.

When the controller boots and finds a corrupted FTL, it cannot reconstruct the logical view of the drive's storage. The controller reports 0 capacity because it has no valid mapping to present. The data is still in the NAND cells in the physical pages where it was last written; only the index to find it is damaged.

Some controllers attempt automatic FTL repair on boot. If this succeeds, the drive initializes normally (possibly with some data loss from the incomplete flush). If auto-repair fails, the controller enters a diagnostic mode. PC-3000 SSD can access this mode and manually rebuild the FTL by scanning NAND pages for embedded metadata (LBA stamps and sequence numbers).

NAND Degradation

NAND cells wear out after a finite number of program/erase cycles. As cells degrade, the bit error rate increases. When the errors exceed the ECC engine's correction capability, blocks become unreadable. If enough metadata blocks (those storing the FTL mapping table, bad block tables, or controller configuration) become unreadable, the drive cannot initialize.

NAND degradation differs from FTL corruption in that the data itself may be damaged, not just the map to find it. Worn cells may have lost charge, flipping bits in the stored data. Recovery from NAND degradation involves reading raw NAND pages and applying maximum-strength ECC decoding, sometimes with adjusted read reference voltages (voltage threshold shifting) to optimize bit accuracy on worn cells.

Software cannot distinguish these three causes.

Consumer recovery software and operating system disk management tools see the same symptom (0 bytes, no accessible partition) for all three causes. They cannot differentiate between a controller that is not responding, an FTL that is corrupted, and NAND that is degraded. Diagnosis requires hardware-level tools that communicate with the controller through vendor-specific diagnostic commands.

How Lab-Level Diagnosis Distinguishes the Causes

  1. Physical inspection. Check for burned components, damaged solder joints, or swollen capacitors on the PCB. Visible damage points to controller or power delivery failure.
  2. BIOS/UEFI detection. If the drive appears with its correct model name and serial number, the controller is functional and the issue is likely FTL corruption. If it appears with a generic name or does not appear at all, the controller is suspect.
  3. Vendor-specific diagnostic mode. PC-3000 SSD sends manufacturer-specific commands to query the controller's internal state: firmware version, FTL status, SMART data, NAND health counters. This reveals whether the FTL loaded, how many bad blocks exist, and whether the NAND is within endurance limits.
  4. Raw NAND sampling. Reading a small sample of NAND pages and checking the bit error rate indicates NAND health. A BER within ECC correction limits suggests FTL corruption (data intact, map damaged). A BER exceeding ECC limits suggests NAND degradation (data itself compromised).

Controller-Specific Behavior at the 0-Byte Symptom

Each controller family responds to firmware corruption in its own way. The string the host reads in the BIOS, whether the controller exposes a safe or loader mode, and whether AES-256 is bound to the controller die together determine which recovery path is realistic. The table below summarizes published controller behavior and PC-3000 SSD utility support for the families we see most often on the bench.

Controller familyAffected SSDsHost ID when firmware is deadLoader / safe modeEncryption reality
Samsung MEX, MGX840 EVO, 850 EVO and similar SATA0 byte capacity with service-area placeholder IDTechnological Mode via vendor commands in PC-3000 SSD Samsung utilityAES-256 bound to controller silicon
Samsung Elpis, Pascal980 PRO, 990 PRO and similar NVMeDrops off the PCIe bus or shows a generic NVMe descriptorNo public PC-3000 SSD loader for Elpis or Pascal as of 2026AES-256 key fused into the controller die
Phison PS3111-S11Kingston A400, Patriot Burst, other budget SATA"SATAFIRM S11", 0 bytesROM-pin short forces boot from internal mask ROMXOR data scrambling typical of legacy SATA OEM firmware; reversible without a key when AES is not enabled
Phison PS5012-E12, PS5018-E18Sabrent Rocket, Corsair MP600 Pro and similar NVMeDrops off PCIe or reports a 2MB placeholder volumeLimited loader support; recovery often requires original controller repairAES-256 hardware encryption enforced on PS5018-E18
Silicon Motion SM2258, SM2263XT, SM2264Crucial MX500, Crucial BX500, ADATA SU800Generic silicon descriptor (for example "SM2258AB") at 0 or 1 GBDiagnostic test-point bridge plus microcode upload via PC-3000 SSD SMI utilityXOR scrambling on many SATA models; AES enforcement varies by OEM
SandForce SF-2281 (legacy)Older Corsair Force, Kingston HyperX, SanDisk Extreme SATAFalls back to bootloader shadow with a 32 or 33 KB capacity, identifies as "SandForce 200026BB"No PC-3000 SSD active utility support for SF-2281 firmware reconstructionAlways-on hardware encryption; in practice AES-128 per the 2012 Intel disclosure, not the AES-256 originally marketed
Marvell 88SS legacyOlder Plextor M-series, Crucial M4, certain SanDisk SATAGeneric Marvell descriptor with 0 byte capacityLimited loader support across the familyAES-256 hardware encryption enforced
Apple T2 and Apple SiliconT2 Macs, M1, M2, M3 systems with soldered NANDHost fails to detect an internal volumeNo removable controller; storage is integrated to the host SoCKey bound to the Secure Enclave on the host logic board; chip-off yields ciphertext

Two specific guardrails apply when reading vendor literature on these families. First, Samsung Elpis, Pascal, and Piccolo NVMe controllers do not currently have a public PC-3000 SSD technological-mode loader, so any product page claiming a software-only bypass of an Elpis firmware panic is inaccurate. Second, SandForce SF-2281 was marketed as AES-256 but Intel confirmed in 2012 that the silicon implementation operates at AES-128; technical reference material should reflect that hardware fact rather than the original specification sheet.

Firmware Lock vs Hardware Failure

Inside the "controller failure" row of the table above, two very different states look identical from outside the case. A firmware-locked controller is electrically alive, accepts ATA or NVMe identify queries, and returns a generic descriptor because the firmware in NAND is unreadable. A hardware-failed controller has lost power delivery, shorted, or suffered die damage and either does nothing or pulls the power rails down. Diagnosis is non-destructive and runs in this order.

  1. FLIR thermal sweep with brief power. The bare PCB is placed under a FLIR thermal camera, power is applied for a few seconds, and the controller, PMIC, and regulators are observed. A localized thermal spike at the controller or PMIC indicates a dead short; power is removed immediately and the failure is treated as hardware.
  2. Voltage rail probing. If the thermal image is clean, a multimeter confirms the core and NAND rails are at their target voltages. A rail that is missing or sagging points to a damaged regulator that must be rebuilt before any further work, and the rework is performed under a microscope with a Hakko FM-2032 microsoldering iron.
  3. Host identification on a diagnostic port. With clean rails verified the drive is connected to a host adapter to observe identify behavior. If the device returns a generic silicon string (such as "SATAFIRM S11" or "SM2258AB") or a placeholder capacity, the controller is alive and the failure is firmware-side. If the device remains undetected with healthy rails, the controller die is the likely cause.
  4. ROM pin or test-point safe mode. A controller that answers identify queries is then forced into safe mode using the documented ROM-short or test-point bridge for its family. If the controller drops into mask ROM and accepts vendor commands, the silicon is functional and the corruption is isolated to the FTL or service area in NAND.
  5. Loader injection and NAND health probe. The PC-3000 SSD utility uploads the loader matched to that controller and NAND combination, reads a sample of physical pages, and inspects the raw bit error rate. A BER inside ECC headroom confirms a firmware-only failure that an FTL rebuild can address. A BER above ECC headroom points back to NAND degradation, even when the controller is otherwise healthy.
  6. Escalation to component rework. When the controller is electrically dead and the architecture has no hardware encryption that binds the data to the original die, NAND packages are lifted with an Atten 862 hot air rework station or a Zhuo Mao precision BGA rework station and transplanted to a matching donor PCB. On any architecture with on-die AES, the same packages are kept in place and the engineer rebuilds the original PCB so that the original controller can resume decryption.

PC-3000 SSD Loader and Safe Mode

The names PC-3000 SSD uses for these states differ from the public datasheets, and the difference matters when reading vendor documentation.

Safe mode
A hardware-initiated state entered by shorting the controller's diagnostic test pads or ROM pin during power-on. The bridge instructs the controller to skip the firmware overlays in NAND and run only from internal mask ROM. The drive is reachable over the host bus but exposes nothing more than a minimal bootstrap.
Technological mode
A software-initiated state established after safe-mode contact. The PC-3000 SSD utility issues vendor-specific commands that upload a volatile microcode loader into the controller's SRAM. The loader is tailored to the exact controller silicon and NAND part and replaces the dead firmware for the length of the recovery session.
Loader
The volatile microcode binary itself, matched to the controller revision and NAND identifier. A mismatched loader either refuses to attach or returns nonsense, which is why family-by-family loader libraries exist inside PC-3000 SSD rather than a single universal tool.

Once technological mode is established, the loader exposes a different command vocabulary than ordinary SATA or NVMe. It disables background garbage collection, suspends wear leveling, suppresses deterministic-read-zero-after-trim, and lets the engineer address physical NAND pages directly instead of logical block addresses. From there the workstation can read page spare areas, recover sequence numbers, dump the service area, and rebuild the flash translation layer in host RAM. Background details on the equipment side live on the PC-3000 reference page.

Loader mode is also why chip-off recovery is not a substitute on encrypted SSDs. Modern controllers run every read and write through a hardware AES pipeline, with the media encryption key fused into one-time-programmable cells on the controller die. If NAND packages are desoldered and read in a standalone programmer, the output is ciphertext and there is no key to decode it. Rebuilding the FTL on these drives requires the original controller alive in loader mode, decrypting raw pages on the fly so the workstation receives plaintext to map. The controller encryption reference walks through that pipeline in more detail.

Frequently Asked Questions

Can software fix an SSD showing 0 bytes?

Consumer recovery software cannot fix this issue because it operates above the firmware level. The drive is not presenting storage capacity to the OS, so there is no filesystem to scan. The cause is in the controller firmware, FTL mapping, or NAND hardware. Diagnosis requires vendor-specific diagnostic commands that consumer software does not support.

Is my data gone if my SSD shows 0 bytes?

Not necessarily. The NAND cells still contain whatever was last written. If the cause is FTL corruption (the most common scenario after power loss), the data is intact and recoverable by rebuilding the mapping table. If the cause is NAND degradation, some blocks may have uncorrectable errors.

Can a dead controller be swapped to a donor SSD PCB?

On most modern SSDs a donor PCB swap destroys access to the data. Hardware AES-256 runs transparently inside the controller, and the media encryption key is generated by the controller's hardware random number generator and burned into one-time programmable fuses on the controller die. A donor controller has a different key fused into its silicon, so when it reads the original NAND the host sees random bytes. The supported recovery path is repairing the original PCB so the original controller can decrypt again. Key migration inside PC-3000 SSD is only available on a narrow set of older controller families where the key lives in a service-area sector rather than in silicon fuses.

How long does FTL rebuild take in the lab?

If the NAND cells are physically healthy and the only damage is the lost translation journal, loader injection plus a full spare-area scan compiles the virtual translator in workstation RAM in hours rather than days. If the symptom is the result of severe NAND wear or many metadata blocks being unreadable, the scan must run multipass with adjusted read-retry voltages, and the engineer may need to correlate fragments of older mapping tables. That escalation pushes bench time into multiple days, and on badly worn parts only a partial map is recoverable.

If you are experiencing this issue, learn about our SSD recovery service.