To get an idea if timeout could be an issue, erasing ~1MB of flash with esptool over USB takes 3.6 seconds. Which appears to be longer than the timeout allowed.
esptool.py erase_region 0x0 0x100000
Notecard is erasing closer to ~800kB, which takes 2.6s with esptool, but possibly longer over serial like the notecard is doing?