Jump to content

    
Sign in to follow this  
pvo125

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

Recommended Posts

51 minutes ago, AVI-crak said:

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

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

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

45 minutes ago, makc said:

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

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

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

 

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

Share this post


Link to post
Share on other sites
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.

 

Share this post


Link to post
Share on other sites
1 hour ago, AVI-crak said:

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

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

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

2 minutes ago, makc said:

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

 

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

Share this post


Link to post
Share on other sites
2 минуты назад, digital сказал:

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

Именно. :-)

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

Share this post


Link to post
Share on other sites

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

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

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

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

при этом

ERASE_SIZE 16AU

 

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

 

Share this post


Link to post
Share on other sites
1 hour ago, digital said:

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

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

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

Share this post


Link to post
Share on other sites
6 часов назад, digital сказал:

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this