vak: (Default)
[personal profile] vak
Занимаясь микроконтроллерами, периодически провожу тестирование карточек памяти SD и SDHC на предмет максимальной скорости.  Последняя новинка в моей коллекции - карточка Lexar Professional 400x 8 GB SDHC - оказалась чемпионом среди SDHC.  Быстрее неё только Kodak High Performance SD 512 Mb и безымянная microSD 2Gb (предположительно Wintec).  Тут хитрость в том, что современные карточки оптимизируются производителем для работы в четырёхбитном режиме (4-битная шина данных) и большими блоками - сектора по 32 кбайта.  А микроконтроллер общается с карточкой через последовательный порт SPI, то есть в однобитном режиме.  И размер блока обычно гораздо меньше.

Скорость чтения/записи, кбайт/сек, измеренная утилитой dd в RetroBSD:
Lexar SDHC 8Gb - 1107/386.
Kodak SD 512 Mb - 1205/853.
Безымянная microSD 2Gb - 1107/465.

Карточки Kodak SD, кстати, всё еще есть в продаже на Амазоне и Ebay.

Date: 2012-05-06 14:16 (UTC)
From: [identity profile] perepertoz.livejournal.com
о!
эээ ... а может вы рассекретите еще и ваш топ10 SD и другой периферии ?
Image

Date: 2012-05-06 14:24 (UTC)
From: [identity profile] amarao-san.livejournal.com
Ох, с dd, и вообще, с линейным чтением, тут такая бодяга... Я играюсь с high performance (условно говоря, скорости за гигабайт/с), и dd, к сожалению, не является эталоном скорости... Хотя бы потому, что запросы посылает последовательно, то есть создаёт bottleneck для устройств, способных обслуживать больше одного запроса за раз.

Date: 2012-05-06 14:35 (UTC)
From: [identity profile] amarao-san.livejournal.com
PS При тестах oflag=direct и iflag=direct использовались?

Date: 2012-05-07 06:06 (UTC)
From: [identity profile] oboguev.livejournal.com
Фотографы этим тестированием занимаются ежедневно, на самой что ни на есть практике.
Пока из камеры буфер на карточку не скинется, дальше не пофотографируешь.
Стандарт у фотографов -- SanDisk Extreme соотв. последней серии (напр. в прошлом, когда я активно занимался фотографией, Exterme III или Exterme IV, а сейчас не знаю, какая у них индексация).

Date: 2012-05-07 06:19 (UTC)
From: [identity profile] dadv.livejournal.com
Что-то мешает запускать несколько dd параллельно для проверки?

Date: 2012-05-07 07:26 (UTC)
From: [identity profile] amarao-san.livejournal.com
.... так что в итоге мы получаем просто обычный fio в режиме read с заданной многопоточностью. Да, именно так и тестирую.

Date: 2012-05-08 01:06 (UTC)
From: [identity profile] amarao-san.livejournal.com
В смысле? Очереди вообще нет?

ЗЫ Даже если железка не умеет очереди, 2 конкурентных запроса дают большую производительность, чем один, из-за того. что пока один в юзерспейсе ковыряется, второй обслуживается.

Date: 2012-05-08 01:08 (UTC)
From: [identity profile] amarao-san.livejournal.com
Файлового кеша тоже нет?

(Я извиняюсь, антиквариат я плохо знаю).

Date: 2012-05-08 01:38 (UTC)
From: [identity profile] oboguev.livejournal.com
Но речь как раз не о любых, а о тех, где нужна скорость (иначе в чем смысл ее измерять?).
http://www.slashgear.com/high-performance-compactflash-benchmarks-on-canon-1d-mark-iv-1577718/

Кстати, что-то у тебя с цифрами не в порядке.
То ли контроллер или компьютер совсем-совсем дохлые, то ли цифры сбиты на два порядка.

Возможно, я не понял "соли", и скорость и должна быть такой сверх-маленькой из-за слабости контроллера.
Но если должна, то в чем смысл ее измерять, да еще на разных карточках и отслеживать о-малое от о-малого?
Edited Date: 2012-05-08 02:00 (UTC)

Date: 2012-05-08 03:05 (UTC)
From: [identity profile] oboguev.livejournal.com
Но если скорость действительно важна, почему не поставить шину получше?
Вряд ли энергопотребление или размеры возрастут от перехода с 1 бита на 4.
А если скорость неважна, то зачем о ней столь заботиться?

Date: 2012-05-08 18:27 (UTC)
From: [identity profile] hogzie.livejournal.com
У SanDisk все не так просто с индексацией. У них были Extreme IV, которые не поддерживали UDMA например. У CF карточек проблема в том, что сами чипы флэша могут быть быстрыми и по IDE прокачиваться на макисмальной скорости. Но если не поддерживается UDMA на стороне карточки или аппарата (чем знамениты Canon'ы), то интерфейс становится бутылочным горлышком. SD карточка имеет последовательный порт, там свои радости.
Edited Date: 2012-05-08 18:28 (UTC)