Taking eight hours to migrate the data is almost certainly a software issue. Assuming the phone is completely full, transferring 256GB over USB 2.0 (480Mbit/sec, or 60MB/sec) should take about an hour and 15 minutes.

It probably is a software issue (though I usually assume USB-2 is more likely to be about half its raw rated speed), and if the pokey USB-2 speeds aren't a bottleneck that's truly ghastly.

But it was an interesting data point to me. It's utterly ridiculous how long Apple devices take to do migrations now.

USB 2.0 mass storage bulkonly protocol maxes out around 40MB/s due to protocol overhead and hardware limitations, and in practice it's closer to ~35MB/s.

https://superuser.com/questions/317217/whats-the-maximum-spe...

...which still gives ~2h as the amount of time taken to transfer 256GB. My suspicion for the slowdown (to around 8MB/s?) is the flash controller is doing read retries and applying ECC to compensate for retention failures.

I suspect the flash storage can’t sustain 60MB/sec writes indefinitely…

The iPhone line has used NVMe drives for a decade. Even the iPhone X can do sustained writes of over 100MB/sec.

The amazonbasics 256GB microsd is faster than that. I really doubt the flash in an iPhone is worse.

And the speed you should actually expect from USB 2.0 is more like 35MB/s so that's even easier for flash to handle.

USB 2.0 doesn't realistically do 480mbit/s I thought

It absolutely can. Many years ago the limitation was PC mobos sucked and the likewise flash drives sucked. They marketed it but it was often just a peak.

Nowadays I can fully saturate the 480 mbit.

No, real-world throughput is closer to 40MB/s (320Mbps) due to protocol overhead, which is relatively high.