Цитата(Valentin-k @ Jan 31 2012, 21:04)

считывает информацию из памяти с той же скорость что и записывает - это правильно, мне коллеги говорят что чтение должно быть намного быстрее записи...с учетом что пины настроены на 50МГЦ...
Не путайте время чтения с временем записи. Время чтения будет ограничено скорее максимальной частотой работы SPI контроллера или SPI flash памяти (если медленная). На запись страницы / стирание сектора, помимо времени загрузки (в случае записи страницы), потребуется дополнительное время (время стирания страницы(если доступно), сектора, блока, всего чипа ), не связанное с частотой SPI, это время оговорено в даташите на flash память.
Цитата(Valentin-k @ Jan 31 2012, 21:04)

поэтому вопрос - возможно ли ускорить и вместо 400 мс на сектор, получить в районе 40-50 мс (при частоте 20МГЦ - по даташиту на флешку так написано)
Нет, меняйте память, если время не устраивает. Например, вот на эту: AT45DB161D with Two 528-Byte SRAM Buffer.
Цитата(Valentin-k @ Jan 31 2012, 21:04)

и такой еще минивопросик - а обязательно при чтении постоянно слать Dummy byte, хотя без него чтение не происходит, но в том же даташите я не встречал чтобы писалось что перед каждым принимаемым байтом надо его отправлять...а в примерах - отправляют
Вам не помешает почитать по принципу работы SPI. Это не UART, тут нет Rx и Tx. Прием физически не отличается от передачи. На такт передачи одновременно идет и прием. Т.е. используется один регистр данных для передачи/приема, т.е. сдвиговый регистр.