Перейти к содержанию
    

SD карта. Размер блока стирания и запись на нее.

51 minutes ago, AVI-crak said:

Ошибся, при выходе за пределы блока записываются все остальные не изменённые сектора этого блока. Если выполнять запись секторов в пределах одного блока, даже если в разнобой (но один раз) - блок будет стёрт один раз.

Дорогие и быстрые флешки имеют рам память на несколько сотен блоков, что позволяет им держать открытыми для записи сразу кучу блоков. Дешевые флешки имеют рам память только на один блок (это минимум), и дико тормозят.

сотня блоков по 4Мбайта это почти полгига оперативки

45 minutes ago, makc said:

Про сотни блоков я такой информации не видел. Какой источник этих данных?

Есть утилита для тестирования этих параметров, но я не видел чтобы она показывала описываемые Вами результаты.

Хорошая утилита, только не очень понятно что она показывает, если при записи сектора, он фактически записывается сначала в ram, а только потом переноситься в nand.

 

Кстати, как при ее помощи монжо узнать количество одновременных открытых AU ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 минут назад, digital сказал:

Кстати, как при ее помощи монжо узнать количество одновременных открытых AU ?

Там всё описано:

Цитата

== Finding the number of open erase blocks ==

''flashbench --open-au <device> --open-au-nr=<nr> --erasesize=<size> [--random]''

Example:

$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] \
	--blocksize=$[256 * 1024] /dev/mmcblk0  --open-au-nr=2
4MiB    8.79M/s
2MiB    7.41M/s
1MiB    6.87M/s
512KiB  6.39M/s
256KiB  6.27M/s
$ sudo ./flashbench -O --erasesize=$[4 * 1024 * 1024] \
	--blocksize=$[256 * 1024] /dev/mmcblk0  --open-au-nr=3
4MiB    7.75M/s
2MiB    5.03M/s
1MiB    3.24M/s
512KiB  1.76M/s
256KiB  912K/s

In this case, trying 2 open AUs shows fast accesses for small
block sizes, but trying 3 open AUs is much slower, and degrades
further at smaller sizes.

Try varying numbers until hitting the cut-off point.
For cards that are fast when using --random, this will find
the cut-off more reliably.

Some cards can do more open segments in linear mode than they
can in random mode.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, AVI-crak said:

Ошибся, при выходе за пределы блока записываются все остальные не изменённые сектора этого блока. Если выполнять запись секторов в пределах одного блока, даже если в разнобой (но один раз) - блок будет стёрт один раз.

Дорогие и быстрые флешки имеют рам память на несколько сотен блоков, что позволяет им держать открытыми для записи сразу кучу блоков. Дешевые флешки имеют рам память только на один блок (это минимум), и дико тормозят.

Торможения не должно быть при последовательной записи, так же не должно быть разница при случаной записи секторов, а вот если оперировать записью в 2-3 и тд. блоков, то как раз будет заметная разница

2 minutes ago, makc said:

Там всё описано:

 

О точно, теперь я допер что за параметр --open-au-nr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, digital сказал:

О точно, теперь я допер что за параметр --open-au-nr

Именно. :-)

А где-то была страничка, на которой была статистика по картам и анализ их внутренностей на основе этой статистики. Но, к сожалению, я сейчас её уже не могу найти. Если попадётся, приведите ссылку здесь, для истории.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Любопытно, у меня карточка 2гига, объем 1976565760 байт  или 1885 МБайт

при этом  /sys/block/mmcblk0/device/preferred_erase_size  равен 4194304 байт или 4Мбайта, предпологаю что AU равен это размеру

и это получаеться НЕ кратно размеру карты ибо 1885 не делиться на 4

также есть спецификация на карту самсунг, там
AU_SIZE 4MB

при этом

ERASE_SIZE 16AU

 

Вероятно блок стирания не равен AU, и он существенно  больше , тогда для нормальной работы , требуются лишние блоки которые не входят в список доступных.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, digital said:

сотня блоков по 4Мбайта это почти полгига оперативки

Ну так и самого флеша может больше терабайта быть, разговор-то про дорогие модели.

Один блок для дешмана, десять для фирменного ширпотреба, сотня для топа. А для гиков изолированная память в виде многослойного кеша - очень быстрая флешь малого объёма с высоким ресурсом перезаписи. Пока на флешь карте есть мк - скорость явно зависит от цены девайса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, digital сказал:

Торможения не должно быть при последовательной записи, так же не должно быть разница при случаной записи секторов, а вот если оперировать записью в 2-3 и тд. блоков, то как раз будет заметная разница

Кто такое сказал? А выравнивание износа? Когда его делать тогда, если не в процессе записи, для чтения это нафиг не нужно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...