The Sahara protocol handles the "handshake" between the device and the host to facilitate debug data transfer.

The Firehose Programmer ( prog_emmc_firehose_XXXX.mbn ) tells the CPU how to talk to the storage. If you use a programmer from a different CPU (e.g., using an SM8250 programmer on an SM8350), the Sahara validation fails, and the phone reverts to a memory dump.

Searching for "QPST Sahara memory dump upd" means you are between a rock and a hard place. Your device has entered a low-level crash state, refusing to boot but refusing to die. The good news is that Sahara is not death—it is purgatory.