Однозначным сигналом о том, что запись на этом цилиндре закончилась, будет команда "Шаг" на переход к другому цилиндру. До этого можно спокойно использовать дорожку в памяти МК в качестве кэша отложенной записи. Ну, и, чтобы не потерять информацию, если шага не потребовали, можно сделать тайм-аут, секунды на 3. Если в течении этих трех секунд обращение к диску не последовало, кэш надо сбросить принудительно. А писать каждый сектор - это, конечно, лишнее.

- - - Добавлено - - -

Цитата Сообщение от ZPilot Посмотреть сообщение
понятно, что сд-карте все равно, она на переписывает одинаковые данные
В смысле НЕ переписывает? Так это не так. Запись на SD выполняется страницами, переписывая один сектор, мы, на самом деле, даем команду контроллеру SD-шки считать из флеш-памяти в своё внутреннее ОЗУ всю страницу, кроме записываемого сектора, стереть эту страницу и записать ее заново, с тем самым замененным сектором. Расходуя, заодно, ресурс записи на флешь. Наиболее правильной и быстрой записью на SD будет запись полными страницами.

Когда SD-шка форматируется специальной для них программой, это делают так, чтобы кластеры FAT ложились точно на эти самые страницы, при этом, если запись делать целыми кластерами, то достигается максимальная скорость записи и минимальный расход ресурса записи флеш-памяти. Именно поэтому не рекомендуют форматировать флешки виндой - она-то ничего не знает о страницах, границы кластеров FAT не будут совпадать с границами страниц и запись на SD-шку будет тормозить.