Какбы делал на FatFs от Chan на больших носителях и на мелких своя
файловая система (бейсик контроллер), но временные интервалы
замерить не было идеи. Для вашей реализации расчет показывает , что
на тактовой частоте 30М время передачи данных по SPI ~ 50
миллисекунд. Остальное либо накладные расходы стека либо ожидание
готовности флэша, что сильно менее чем "(write) 424.1мс". Думаю
надо понять , сколько ожидание от w25q512, а потом делать выводы.
Позиционирование указателя данных по вашим данным стремится к нулю.