Why Data Recovery Software
Failed to Find Your SSD
If you downloaded data recovery software like Disk Drill, EaseUS, or Wondershare to fix a dead SSD, and it froze, crashed, or found zero files, you are experiencing a hardware failure. Data recovery software operates at the operating system layer; it cannot communicate with a drive that has dropped off the PCIe or SATA bus due to a dead controller chip or corrupted firmware.

Why Software Recovery Tools Fail on SSDs
Consumer recovery software reads through the OS storage stack, which only returns what the SSD controller chooses to expose. On modern SSDs, the controller answers TRIMmed addresses with zeros (DZAT), background garbage collection physically erases NAND cells, and the Flash Translation Layer hides where data actually lives. SSD data recovery requires controller-level access that software cannot perform.
The TRIM Command Problem
When the TRIM command executes on a modern SSD, the controller marks those blocks for internal erasure. Once erased at the hardware level, no software can reconstruct the data. The NAND cells that held those files are physically erased by the controller's garbage collection routine, resetting them to an unprogrammed state.
Software tools that claim to recover TRIM-erased data from SSDs are misleading users. On a mechanical hard drive, deleted data persists until overwritten because the platters retain the magnetic pattern. SSDs work differently. TRIM tells the controller to erase blocks proactively, and the controller obeys within seconds to minutes.
Why Software Cannot Recover Deleted Files from an SSD: DZAT and Garbage Collection
Modern SSDs return all zeros for deleted files because of DZAT (Deterministic Zero After TRIM), and the underlying NAND cells are physically erased by background Garbage Collection on a vendor-specific schedule. Consumer recovery software reads only the controller's zero response, and once the Fowler-Nordheim erase voltage discharges the floating gates, no commercial forensic technique can reconstruct the pre-erase charge states.
The deletion path on a TRIM-enabled OS is fast and the result is irreversible once Garbage Collection has run. Lab intervention via SSD data recovery is only viable if the drive's controller has not finished its background cleanup, which is why the first decision you make about the drive matters more than the recovery tool you eventually choose.
TRIM, DZAT, and Garbage Collection Defined
- TRIM
- An ATA DATA SET MANAGEMENT command (opcode 0x06) the operating system sends to inform the SSD controller that specific Logical Block Addresses are no longer in use. IDENTIFY DEVICE Word 169 Bit 0 advertises support. TRIM doesn't erase anything on its own; it tells the controller which blocks the controller is free to erase when convenient.
- DZAT (Deterministic Zero After TRIM)
- A controller capability advertised in IDENTIFY DEVICE Word 69 Bit 5 (SATA) or the DLFEAT field in NVMe Identify Namespace (bits 2:0 = 001b). Once an LBA is TRIMmed, the controller returns 0x00 bytes for that address on any subsequent read, regardless of whether the physical NAND has been erased yet. Recovery software receives the same zero response the operating system would.
- Garbage Collection
- The autonomous background process inside the controller that reclaims TRIMmed blocks by physically erasing them. Erase block sizes on modern 3D TLC and QLC NAND run roughly 16 MB to 96 MB (thousands of pages of 4-16 KB). After erase, every cell reads back as 0xFF. Garbage Collection runs whenever the drive has power and idle bandwidth, independent of host activity.
The Four-Step Deletion Sequence
- The user deletes a file (or empties a recycle bin, or formats a volume). The OS marks the file's LBAs as free in the file system metadata.
- The OS issues TRIM (or NVMe Deallocate) for those LBAs over the storage interface. The controller updates its Flash Translation Layer, invalidating the L2P mapping entries that pointed to the physical NAND pages holding the data.
- Once the physical pages are marked invalid, the controller's read pipeline returns 0x00 for any read against the TRIMmed LBAs (DZAT behavior). Disk Drill, EaseUS Data Recovery Wizard, Recuva, PhotoRec, & R-Studio all see zeros because they sit above the OS block layer.
- Background Garbage Collection physically erases the NAND erase blocks. The controller applies roughly +15V to +20V to the P-well substrate while holding the control gates at 0V, draining trapped electrons from the floating gates through Fowler-Nordheim tunneling. Every cell in the erased block now reads as 0xFF. No commercial forensic technique can recover the pre-erase charge states.
Power-State Isolation
The single user-controllable variable is power. Garbage Collection runs only while the controller is energized; removing power stops the timer. The trade-off: cutting power to a running system also interrupts whatever else the OS is writing at that moment, which can corrupt the file system on the boot drive, lose work in open applications, or leave the SSD's own FTL journal in an inconsistent state. This is a last-resort measure, not a routine recovery step.
If the deleted data lives on an external SSD (USB or Thunderbolt enclosure), unplugging the enclosure is low risk: only that drive loses power, and the host OS keeps running. If the deleted data lives on the system boot drive, a hard power cut risks the operating system installation as well as the SSD itself. In either case, a graceful OS shutdown is not equivalent to a power cut: shutdown writes journal entries that can trigger one more Garbage Collection pass before the drive de-energizes. Hardware write-blockers do not stop Garbage Collection either, because they continue to supply controller power while only filtering host-issued writes.
Why Consumer Recovery Software Fails on Deleted Files
EaseUS Data Recovery Wizard, Disk Drill, Recuva, PhotoRec, & R-Studio all operate above the OS block layer. They send standard ATA READ or NVMe READ commands through the operating system's storage driver, which forwards them to the controller. On a TRIMmed LBA, the controller returns 0x00 (DZAT). The software then reports the block as empty & faithfully tells the user there is nothing to recover. The software isn't broken; it is reporting what the controller returned. The data was either never accessible at the software layer (because the controller intercepted the read) or already destroyed by Garbage Collection (because the floating gates have been drained).
Consumer Software vs Lab Recovery: What Each Layer Can Reach
The gap between what consumer recovery software does and what SSD data recovery actually requires is structural, not a matter of features. The two operate at different layers of the storage stack and have access to different parts of the drive.
| Capability | Consumer recovery software (Disk Drill, EaseUS, Recuva, PhotoRec, R-Studio) | Lab-level SSD recovery (PC-3000 SSD, chip-off, microsoldering) |
|---|---|---|
| Access layer | OS block device driver; standard ATA / NVMe READ commands. | Controller's native diagnostic protocol; vendor-specific commands over SATA or NVMe. |
| Reads a TRIMmed LBA | Receives 0x00 (DZAT). Reports the block as empty. | Bypasses controller read pipeline; reads raw NAND pages directly via Techno Mode on supported controllers. |
| Drive in firmware panic | Drive isn't enumerated as a block device, or presents factory alias (e.g. SATAFIRM S11, 2 MB / 8 MB / 0 byte capacity). Nothing to scan. | Enters Safe Mode via diagnostic pad shorting; uploads volatile loader into controller SRAM; rebuilds FTL from NAND Service Area metadata. |
| Flash Translation Layer | No access. Software addresses logical blocks only; FTL Service Area lives in a vendor-reserved NAND region. | Reads Service Area; reconstructs L2P table from surviving metadata; builds Virtual Translator that emulates the original mapping. |
| Background garbage collection | Cannot stop or pause it. Cannot recover NAND cells once Fowler-Nordheim erase has drained the floating gates. | Loader disables garbage collection, wear leveling, and TRIM processing before any read; physical isolation precedes electrical work. |
| Dead controller | Drive invisible to BIOS. No software can scan a drive the OS cannot enumerate. | Board-level microsoldering (Hakko FM-2032, Atten 862 hot air, Zhuo Mao BGA rework) to revive original controller and preserve fused DEK. |
| AES-256 encrypted NAND | Reads ciphertext if it sees anything at all. No path to DEK without original controller. | Revive the original controller so the fuse-bound DEK stays in the encryption pipeline; chip-off donor swaps fail because each fuse block is unique. |
PC-3000 SSD Safe Mode and Techno Mode
PC-3000 SSD can sometimes pre-empt Garbage Collection on supported controller families. The procedure: enter the controller's Safe Mode by shorting specific diagnostic test points on the PCB during power-on, which blocks native firmware boot. PC-3000 then uploads a volatile microcode loader into the controller's SRAM. The loader disables Garbage Collection, wear leveling, & TRIM processing, granting Techno Mode access that bypasses the FTL & reads raw Physical Block Addresses directly from NAND.
Techno Mode is supported on Phison PS3108, PS3109, PS3110, PS3111, PS3112, PS5007, PS5008, PS5012, PS5013, & PS5016. Silicon Motion SM2246EN/XT, SM2256, SM2258, SM2259, SM2260, SM2262, & SM2263 are supported, along with select Marvell architectures. Samsung NVMe Elpis (980 Pro), Pascal (990 Pro), & Piccolo (990 EVO) lack PC-3000 Techno Mode support; those controllers require board-level repair to revive the original silicon, after which standard imaging applies.
Garbage Collection Timing Is Controller-Specific
GC timing windows are proprietary firmware behavior, not published specifications, so an exact recovery deadline cannot be quoted in advance. The general strategies differ by vendor: Samsung Elpis-class controllers run an aggressive scheme that reclaims blocks soon after the drive enters idle, Phison controllers tend to batch deallocations and execute GC in larger steps, and Silicon Motion controllers use a more deferred or "lazy" strategy that holds off until the free-block pool drops below an internal threshold. The drive's firmware revision, wear state, thermal headroom, and queue depth all shift the actual behavior. Once power is removed, the timer stops.
Controller Lockup vs. Software Scans
When a controller locks up (like the Phison SATAFIRM S11 bug), the drive stops presenting itself to the BIOS entirely. No software can scan a drive that the operating system cannot see. Disk Drill, EaseUS, R-Studio, and every other recovery application require the OS to present the drive as a block device before they can read a single sector.
A locked controller is not a file system problem. It is not a partition table problem. The controller silicon has either halted execution or is stuck in a boot loop because its firmware is corrupted. The drive does not appear in Disk Management, Disk Utility, or lsblk. Software cannot fix what it cannot access.
PC-3000 Firmware-Level Recovery
We use the PC-3000 Portable III to communicate directly with the SSD controller, bypassing the OS. This allows us to rebuild the firmware translator, access safe mode, and extract data from NAND that the controller has abandoned.
The PC-3000 issues vendor-specific commands to the controller chip over the SATA or NVMe interface. It does not go through the OS storage stack. This is why it can reach drives that are invisible to Windows, macOS, and Linux. Once communication is established, we load a working firmware module into the controller's SRAM, rebuild the flash translation layer from surviving metadata, and image the NAND contents to a known-good destination drive.
This process works on Phison SATAFIRM S11 failures, Silicon Motion firmware corruption, and many other supported SSD controller families. Samsung NVMe controllers (Phoenix, Elpis, Pascal) have limited PC-3000 firmware support; recovery for Samsung NVMe drives requires board-level microsoldering to revive the original controller. The NAND flash storing your data is almost always intact; the problem is the controller that reads it.
Why SSD Encryption Blocks Software Recovery
Many modern SSD controllers run always-on AES-256 hardware encryption in the data path between the host interface & the NAND chips. The controller generates a Data Encryption Key (DEK) using a true random number generator (TRNG) at the factory, then binds that key to a one-time-programmable fuse block baked into the controller silicon. The DEK never leaves the chip. Recovery software can't access it because it doesn't operate at the silicon level.
This applies to Samsung Elpis controllers on 980 Pro drives, Phison PS5018-E18 on Corsair MP600 Pro & Sabrent Rocket 4 Plus drives, and Silicon Motion SM2262EN on HP EX950 drives. The specific controller IC varies, but the encryption architecture is the same across all of them. Software sees only ciphertext if it bypasses the controller; the NAND contents are unreadable without the DEK.
Why You Can't Swap in a Donor Controller
Each controller IC has a unique fuse block. A donor controller from an identical model SSD has a different DEK fused into its silicon. Swapping controllers gives you a working drive that can't decrypt the original NAND contents. The fuse block is physically burned into the chip during manufacturing; it can't be cloned, copied, or transferred.
The only recovery path is board-level microsoldering to revive the original controller. We locate the failed component using FLIR thermal imaging, replace the shorted PMIC or voltage regulator with a Hakko FM-2032 on an FM-203 base station, & bring the original controller back to life with its DEK intact. SATA SSD board repair runs $450–$600; NVMe board repair runs $600–$900. Once the controller boots, the encryption pipeline resumes & the data is accessible through PC-3000 SSD.
Chip-Off Yields Ciphertext on Encrypted SSDs
Chip-off means desoldering the NAND flash packages from the PCB & reading them on a dedicated programmer. On older SSDs without hardware encryption (such as early SATA drives with JMicron JMF602 or Indilinx Barefoot controllers), chip-off could yield readable data. SandForce SF-2281 drives are a notable exception: despite being pre-2015, they use mandatory always-on AES-128 encryption with DuraWrite compression, making chip-off unviable.
On any modern NVMe SSD or SATA SSD implementing TCG Opal or IEEE 1667 self-encrypting drive (SED) architecture, chip-off produces encrypted blocks. Without the original controller's DEK, those blocks are a 256-bit AES puzzle with no solution.
TRIM, DZAT, & DRAT: Post-Deallocation Read Behavior
When you delete a file on a modern SSD, the operating system issues a TRIM command telling the controller which Logical Block Addresses (LBAs) are no longer needed. The controller then feeds synthetic data back to any software that tries to read those LBAs, even if the physical NAND cells haven't been erased yet. Recovery software reports "no files found" because the controller intercepts every read request & returns zeros or a predefined pattern.
SATA Specification: Word 69 Bits 5 & 14
The SATA ATA Command Set defines two relevant capability bits in IDENTIFY DEVICE Word 69. Bit 5 is DZAT (Deterministic Zero After TRIM): the controller returns all zeros when software reads a TRIMmed LBA, regardless of whether the physical NAND still holds data. Bit 14 is DRAT (Deterministic Read After TRIM): the controller returns a consistent, predefined value for TRIMmed addresses.
Most modern SATA SSDs report DZAT support. Disk Drill, EaseUS, Recuva, & R-Studio all send standard ATA READ commands. The controller intercepts these commands at the firmware level & returns zeros for any TRIMmed LBA. The software faithfully displays what the controller reports: empty blocks, no recoverable files.
NVMe Equivalent: DLFEAT Parameter
NVMe SSDs use the Deallocate Logical Block Features (DLFEAT) field in the Identify Namespace data structure. When DLFEAT bits 2:0 are set to 001b, reads of deallocated blocks return all zeros. NVMe controllers process Deallocate commands with lower protocol overhead than SATA TRIM, but garbage collection timing depends on the controller's firmware, not the bus protocol.
Garbage Collection: When Data Is Permanently Destroyed
DZAT & DRAT describe what the controller reports to software. Garbage collection is what happens to the physical NAND. After TRIM marks blocks as invalid, the controller's garbage collection routine erases them by evacuating charge from the NAND cells. This is a hardware-level erase. On drives with TRIM enabled (the default on Windows 7+ & macOS 10.6.8+), garbage collection runs within seconds to minutes after deletion.
Once garbage collection completes, the data is gone. No lab on earth can reverse a hardware-level NAND erase. Recovery is only possible if the drive was pulled immediately after deletion, TRIM was disabled in the OS, or the file system doesn't support TRIM (like exFAT on some configurations). PC-3000 SSD can bypass the controller's DZAT/DRAT responses & read raw NAND pages, but only if garbage collection hasn't physically erased the cells.
How FTL Corruption Makes Software Recovery Impossible
SSDs don't store data in linear sectors like a hard drive. The Flash Translation Layer (FTL) maintains a dynamic mapping table that translates logical addresses (what the OS sees) to physical NAND locations (where the data actually sits). When this mapping table corrupts, the controller can't resolve any address. Software sends a read command for LBA 1000, & the controller has no idea which physical NAND page holds that data.
The L2P Table & SRAM Caching
The Logical-to-Physical (L2P) mapping table is the core data structure of the FTL. On a 1 TB SSD with 4 KB pages, the L2P table contains roughly 256 million entries. The controller caches this table in volatile SRAM on the controller die for fast lookup. A backup copy is periodically flushed to a hidden Service Area partition on the NAND itself.
On a sudden power loss, firmware panic, or controller crash, the SRAM cache is lost. If the backup in the NAND Service Area is also stale or corrupted, the drive can't boot. It either doesn't appear in BIOS at all or shows up with 0 bytes capacity. Software can't help because the controller isn't translating addresses; there's nothing to scan.
Why Software Can't Read the Service Area
Recovery software sends standard ATA or NVMe read commands through the operating system's storage stack. These commands address logical blocks. The FTL Service Area isn't addressable through logical commands; it exists in a vendor-specific reserved region of NAND that requires proprietary diagnostic commands to access.
PC-3000 SSD enters Safe Mode by shorting specific diagnostic pins on the SSD's PCB. This halts the controller's normal boot sequence. The technician then uploads working microcode into the controller's SRAM, reads the surviving FTL metadata from the NAND Service Area, & builds a Virtual Translator that emulates the drive's original L2P algorithms. SSD firmware recovery at our Austin lab runs $600–$900 for SATA drives & $900–$1,200 for NVMe drives.
Wear Leveling and NAND Page Scattering
NAND flash cells have finite write endurance. Consumer TLC NAND typically survives 1,000 to 3,000 program/erase (P/E) cycles per cell. QLC NAND is lower, around 500 to 1,000 P/E cycles. To prevent hotspot wear, the controller uses wear-leveling algorithms that distribute writes across all available NAND blocks, channels, dies, & planes.
A single 10 MB file doesn't sit in 10 MB of contiguous NAND. The controller shatters it into pages (typically 4 KB or 16 KB) & stripes them across multiple NAND channels for parallel write performance. The arrangement follows the controller's proprietary algorithm. A Samsung Elpis controller, a Phison PS5018-E18, & a Silicon Motion SM2262EN each use different wear-leveling strategies, different stripe widths, & different interleaving patterns.
Software Tools Can't Reconstruct the Pattern
Recovery software relies on file system metadata to locate files. NTFS uses the Master File Table (MFT), APFS uses the Container Superblock, ext4 uses inode tables. These metadata structures reference logical addresses. The software reads LBA 500, expects to find the next chunk of a JPEG file, & relies on the controller to resolve that LBA to the correct physical NAND page.
If the controller is dead, there's no translation happening. Reading raw NAND directly (via chip-off or diagnostic mode) produces pages scattered in a proprietary pattern across multiple dies. Without the controller's wear-leveling algorithm & the L2P table, reassembling those pages into a coherent file requires hardware-level tools that can read the NAND metadata directly.
PC-3000 SSD Reconstructs the Wear-Leveling Map
PC-3000 SSD reads NAND metadata including block erase counts, page sequence numbers, & write timestamps from each NAND die. Using controller-family-specific algorithms (the Phison utility for Phison controllers, the Silicon Motion utility for SM2258/SM2262EN), PC-3000 reconstructs the wear-leveling pattern & rebuilds the L2P table from surviving metadata. Samsung NVMe controllers (Phoenix, Elpis, Pascal) have limited PC-3000 support; recovery for Samsung NVMe drives requires board-level repair to revive the original controller, then standard imaging. Board repair is often the first step: reviving a dead controller with a Hakko FM-2032 PMIC replacement so PC-3000 can communicate with the chip over its native interface.
Why Does an SSD Lock Itself into Read-Only Mode?
SSDs enter hardware write-protect when the NAND cells exhaust their program/erase (P/E) cycles or the controller's spare block pool is depleted. The controller firmware triggers this lockout at the silicon level to prevent data corruption from writing to degraded cells. Consumer TLC NAND survives 1,000 to 3,000 P/E cycles; QLC NAND is lower at 500 to 1,000 cycles. Once the threshold is hit, the drive goes read-only & no OS-level command can reverse it.
Running diskpart with "clear readonly" or toggling write permissions in Disk Management won't fix this. Those commands address OS-level file attributes, not controller firmware state. The write-protect decision lives in the controller's firmware registers, not in the partition table or file system metadata. Recovery software like Disk Drill or R-Studio can't override a hardware-level lock any more than a text editor can fix a dead motherboard.
SMART Attributes That Signal Lockout
SMART data can warn you before the lockout hits. Kingston drives report Attribute 167 (0xA7), labeled "SSD Protect Mode," which returns a non-zero value when the controller engages write-protect. WD & Crucial drives use Attributes 169 & 231 to report remaining life as a percentage. NVMe drives report a Critical Warning bit (0x08) in the SMART/Health Information log when the media is placed in read-only mode by the controller.
A read-only SSD still holds your data. The NAND cells aren't erased; they're just locked against new writes. PC-3000 SSD performs a sequential clone of the drive contents to a healthy destination drive, bypassing the write-protect mechanism entirely. SATA SSD firmware recovery runs $600–$900; NVMe runs $900–$1,200. The OS can't mount a read-only SSD because mounting requires writing journal entries & timestamp metadata; PC-3000 reads raw sectors without mounting.
What Is SSD Firmware ROM Mode?
ROM mode is a minimal diagnostic state built into the SSD controller's silicon. When the controller can't boot from NAND due to corrupted firmware or a damaged flash translation layer, it enters a boot loop or halts entirely. An engineer forces the controller into ROM mode by shorting specific diagnostic pads on the PCB during power-on. The controller skips its normal NAND boot & falls back to a factory bootloader stored in on-die ROM.
In ROM mode, the drive identifies with a factory alias. It might show 0 GB, 8 MB, or 1 GB capacity in the BIOS. Disk Drill, Stellar, & EaseUS see either nothing or an empty device with no partition table. The drive isn't "dead" in the way most people think; the NAND still holds your data. The controller just can't boot the firmware that reads it.
Controller-Specific Entry Procedures
Each controller family has a different ROM mode entry method. Phison controllers (PS3109, PS3111, PS5012) require shorting specific pads near resistor arrays on the PCB before power-on. Silicon Motion controllers (SM2258XT, SM2259XT) require the pads to stay shorted during the entire loader upload. Samsung controllers use Vendor-Specific Commands (VSCs) sent over the interface rather than physical pin shorting. The exact pad locations vary by board revision, which is why forum guides often brick drives when applied to the wrong PCB revision.
PC-3000 SSD Loader: What It Does
Once the controller is in ROM mode, PC-3000 SSD uploads a volatile Loader into the controller's SRAM. This is custom microcode that takes over the controller's execution, not a permanent firmware reflash. The Loader disables garbage collection & wear leveling so no NAND contents are altered during the recovery. It forces single-channel NAND access for stability, then reads metadata from each NAND die to reconstruct a virtual flash translation layer.
Consumer software can't do any of this. Disk Drill & R-Studio send standard ATA or NVMe read commands through the OS; they have no mechanism to issue hardware power-cycle commands synchronized with diagnostic pad shorts, no way to speak vendor-specific diagnostic protocols, and no ability to inject loader microcode into controller SRAM. The gap between what software does & what professional SSD recovery requires isn't a matter of degree; it's a different category of work. SATA SSD firmware recovery runs $600–$900; NVMe firmware recovery runs $900–$1,200.
MPTool Warning: Forum Firmware Tools Erase Your Data
Manufacturer Mass Production Tools (MPTools) circulate on data recovery forums & are sometimes recommended as a DIY fix for bricked SSDs. These tools are designed for factory initialization of blank NAND. Running an MPTool on a drive with existing data will permanently initialize all NAND blocks, destroying everything stored on the drive. Similarly, running CHKDSK on a firmware-damaged SSD forces blind write operations that can corrupt the controller's translation tables beyond repair. If your SSD isn't detected properly, don't run any tool that writes to the drive before a professional evaluation.
Pricing
SSD data recovery: $200–$1,500. Free evaluation, firm quote before any paid work begins. No data recovered = no charge.
How to get started
- 1Submit a free evaluation request or call (512) 212-9111
- 2Ship the drive to our Austin, TX lab
- 3Receive a firm quote within 1 to 2 business days
- 4Approve or decline; no obligation, no charge if you decline
What is included
- Free diagnostic evaluation
- PC-3000 firmware-level recovery
- Full drive imaging and file verification
- Data returned on your choice of media
Frequently Asked Questions
If I just deleted a file from my SSD, should I keep using the computer or power it down?
What is the TRIM command and how does it prevent SSD data recovery?
Why can’t recovery software fix a locked SSD controller?
What hardware tools recover data from a dead SSD?
Does chip-off data recovery work on modern SSDs?
Can software recover data from a dead SSD?
Why does my SSD show up as read-only?
What is SSD firmware ROM mode and why can't recovery software detect it?
Can Stellar or Disk Drill recover data from a firmware-locked SSD?
What is the SATAFIRM S11 panic and why can't recovery software fix it?
Why does my SSD report 0 bytes or 0 GB capacity, and can software fix it?
Can I bypass an SSD firmware panic state with recovery software or OS tools?
Related services
Related Recovery Services
Full SSD recovery service overview
When TRIM makes recovery impossible
Phison controller firmware corruption
Firmware panic and capacity loss
Firmware-level SSD access
When EaseUS freezes on hardware failure
Transparent cost breakdown
Recovery software found nothing?
Free evaluation. Firm quote. $200–$1,500. No data, no fee. Mail-in from anywhere in the U.S.