Можно одновременно не открывать все файлы. А открывать асинхронно только ближайшую десятку в отделных задачах.
Конечно, не принято держать открытыми много файлов поскольку в файловых системах не оптимизируется поиск по списку открытых файлов и еще потенциально такая операция может оставить дико фрагментированный heap не говоря уж о ресурсах на такое действие.
Для SDIO думаю выложу результаты, а вот для SPI 20 МГц на ARM 100 МГц мной был для FAT получен результат: открытие файла - 2.5...10 мс, закрытие файла - 8...10 мс. Очень предварительно, статистика буквально с нескольких попыток.
Самое большое влияние на скорость оказывает состояние самой SD карты. Собственно оно не предсказуемо. Чем больше было записано и стерто файлов на SD тем тормознее она становится.
Цитата(sergeeff @ Oct 28 2008, 21:29)

Думается мне, что держать "открытыми" 1000 файлов уже дело хорошее. Дла начала можно было бы это дело испытать на PC. USB-ный reader не так уж медленно работает.