VVB (24.04.2013 07:05 - 07:35, просмотров: 114) ответил VVB на В общем, отказался я от FAT для записи потока данных.
На ночь оставил потестить время записи сектора USB Flash 8 GB Записал сектор (512 байт), следующий сектор и т.д. до конца флэш, а потом обратно.
Максимальное время записи одного сектора составило 1297927 мкс.
Вообще лог оказался чрезвычайно полезен с точки зрения понимания процессов в таких носителях.
Если идти с конца, то среднее время записи сектора становится 5 мс вместо 3 мс.
Стирание маленького блока +1 мс. Стирание большого блока +6 мс. Если в недавно стёртом блоке нет свободных страниц по 512 байт, то флэшка при записи сектора вначале собирает мусор, используя резервные сектора (стирает блок из резервной области, записывает туда информацию из требуемого для стирания блока, то есть освобождает блок для стирания и дальнейшей записи моего сектора), затем обновляет таблицу преобразования секторов в адреса FLASH, затем стирает освободившийся блок, затем записывает мой сектор. Типично +616 мс. Атипично (видимо, если надо также освободить блок памяти из резервной области, потому что кончились) +1295 мс.
Была ситуация, когда 36 раз подряд сектор (при увеличении номера сектора) записывался около 640 мс. То есть 36 подряд идущих секторов (18 кБайт) запишутся за 22 с.