SD-карточки

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

SD-карточки

Непрочитанное сообщение Olej » 08 май 2015, 13:19

SD-карточки оказались по-факту очень удобным средством для накатывания ISO образов дистрибутивов Linux и последующей инсталляции системы.
(SD-карточки - это основное средство хранения файлов во всяких гаджетах: фотоаппаратах, видеокамерах, диктофонах, планшетах, телефонах, ... - но именно в этих качествах они меня, в этой теме, мало занимают ;-) )

Но по ним есть несколько неясных вопросов, которые нужно уточнить ... да и вообще пользовательская информация в одном месте не лишняя будет.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: SD-карточки

Непрочитанное сообщение Olej » 08 май 2015, 14:25

Olej писал(а):да и вообще пользовательская информация в одном месте не лишняя будет.
Форм-фактор - http://alv.me/?p=7245:
Что же до носителей, то есть собственно SD-карт, то они существуют в двух вариантах -- полнозармерном SD (24×32×2,1 мм) и microSD (11×15×1 мм). Существует ещё промежуточный вариант -- miniSD (20×21,5×1,4 мм), но в продаже они мне не попадались.
Карточки microSD можно вставить в обычный SD-разъём с помощью специального переходника (он часто идёт в комплексте с оными); говорят, что некоторые микро-карточки в переходнике не нуждаются.

В зависимости от максимально возможного объёма, SD-карты, вне зависимости от типоразмера, делятся на типы:
SD 1.0 -- от 8 МБ до 2 Гбайт;
SD 1.1 -- до 4 Гбайт;
SDHC -- до 32 Гбайт;
SDXC -- до 2 Тбайт.
Все они совместимы сверху вниз -- то есть в разъём, предназначенный для карт SDXC, можно вставить SDHC и SD, но не наоборот.
У меня есть негативный опыт, когда я с карточки microSD 8Gb (какого типа?) не смог загрузить для инсталляции ISO образ Mint 17.1, а потом тот же образ ISO, записанный на microSD 2Gb, использовался для инсталляций на несколько разных компьютеров.
Но это нужно проверять.
Не исключено, что при записи microSD 8Gb я просто чего-то недосмотрел...
(по крайней мере, я скупил в ближайших окрестностях карточки маленького размера 2-4Gb, которые уже не так просто найти :lol: )
P.S. Интересно, что разные продавцы картридеров все спрашивают и предупреждают ... что в каких-то картридерах карточки будут или не будут читаться, в зависимости от ёмкости. И называется устойчиво граница 32Gb. То есть, там есть какая-то граница совместимости стандартов.

Класс карточки - http://alv.me/?p=7245:
С точки зрения быстродействия SD-карты разделяются на классы:
Class 2 -- скорость записи/чтения не менее 2/4 Мбайт/с;
Class 4 -- скорость записи/чтения не менее 4/8 Мбайт/с);
Class 6 -- скорость записи не менее 6/12 Мбайт/с;
Class 10 -- скорость записи не менее 6/20 Мбайт/с.
То, что касается класса - это и есть один из неясных вопросов и требующих дальнейшего уточнения.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: SD-карточки

Непрочитанное сообщение Olej » 08 май 2015, 14:52

Olej писал(а): Но по ним есть несколько неясных вопросов, которые нужно уточнить ... да и вообще пользовательская информация в одном месте не лишняя будет.
Подключение в Linux.
Вот здесь есть 2 разных способа:
1. непосредственно через гнезно SD карт в ноутбуках;

2. через адаптер SD карты в USB (картридер) ... здесь есть тоже 2 варианта:
2а. стационарный 3" картридер в десктопы ... что-то типа:
Изображение
2б. миниатюрный внешний переходник ... этих есть миллион модификаций ;-) , например что-то типа такого:
Изображение

Я это не напрасно так подробно расписал, потому что одна и та же SD карточка, с точки зрения Linux выглядит по-разному ... более того, скорость обмена при разном подключении будет разная (разные модули ядра - драйверы обслуживают):

Код: Выделить всё

bash-4.2$ ls -l /dev/mmc*
brw-rw---- 1 root disk 179, 0 май  8 12:33 /dev/mmcblk0
brw-rw---- 1 root disk 179, 1 май  8 12:33 /dev/mmcblk0p1
bash-4.2$ sudo hdparm -t /dev/mmcblk0
/dev/mmcblk0:
 Timing buffered disk reads:  22 MB in  3.19 seconds =   6.90 MB/sec

Код: Выделить всё

bash-4.2$ ls -l /dev/sdb*
brw-rw---- 1 root disk 8, 16 май  8 12:37 /dev/sdb
brw-rw---- 1 root disk 8, 17 май  8 12:37 /dev/sdb1
bash-4.2$ sudo hdparm -t /dev/sdb
/dev/sdb:
 Timing buffered disk reads:  26 MB in  3.55 seconds =   7.32 MB/sec
Это 2 считывания одной и той же SD карточки: 1-й вариант - в разъём SD ноутбука, 2-й - через картридер в USB.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: SD-карточки

Непрочитанное сообщение Olej » 08 май 2015, 15:03

Olej писал(а): Но по ним есть несколько неясных вопросов, которые нужно уточнить ... да и вообще пользовательская информация в одном месте не лишняя будет.
Загружаемость в Linux.

1. Для карточки в гнезде SD ноутбука я видел и модели (2009-2010г.) которые не умеют загружаться с /dev/mmcblk0, и у которых (2013-2014г.) в меню BIOS есть SD карта, и это для одного производителя HP.
Так что здесь может быть по-разному.

2. А с картридера загрузка идёт как со всякого USB устройства хранения... я давно уже не видел компьютеров, которые не умею грузиться с USB (модели до 2003г. примерно).

3. Некоторые модели (десктопов?) из-за задержек чтения SD и тайм-аутов (?) даже при установке в BIOS первичным устройством загрузки USB - начинают грузиться с HDD.
Тогда нужно при старте вызвать меню принудительного выбора устройства загрузки. Для этого при старте жмём функциональную клавишу Fn, а вот 4какую - зависит от производителя. :-o Для ASUS - это F8.
Справка по другим производителям здесь.
Получаем что-то типа:
Изображение

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: SD-карточки

Непрочитанное сообщение Olej » 08 май 2015, 15:15

Olej писал(а):
С точки зрения быстродействия SD-карты разделяются на классы:
Class 2 -- скорость записи/чтения не менее 2/4 Мбайт/с;
Class 4 -- скорость записи/чтения не менее 4/8 Мбайт/с);
Class 6 -- скорость записи не менее 6/12 Мбайт/с;
Class 10 -- скорость записи не менее 6/20 Мбайт/с.
То, что касается класса - это и есть один из неясных вопросов и требующих дальнейшего уточнения.
И о классах SD карт...
Это то, что пишется в кружочке на карте - класс 4:

Как-раз для загружаемых Linux ISO это должен бы быть важный показатель - там при загрузке считывается множество малых файлов...

Но только ... гложат меня смутные сомнения :lol: ... что наши китайско-тайваньские друзья пишут на картах и в ТУ на них - всё что попало :-o
Или наш рынок заполнен настолько фальсификатом, что отличить класс 2 и класс 10 - невозможно.

Вот что мне показывают результаты чтения нескольких карт:

1. Transend (!) 4Gb 10 кл.:

Код: Выделить всё

olej@nvidia ~ $ sudo fdisk -l /dev/sdd
Диск /dev/sdd: 4035 МБ, 4035969024 байт
68 головок, 3 секторов/треков, 38640 цилиндров, всего 7882752 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x00000000
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1            8192     7882751     3937280    b  W95 FAT32

olej@nvidia ~ $ sudo hdparm -t /dev/sdd
/dev/sdd:
 Timing buffered disk reads:  22 MB in  3.33 seconds =   6.61 MB/sec
2. Philips 4Gb 4 кл.:

Код: Выделить всё

olej@nvidia ~ $ sudo fdisk -l /dev/sdd
Диск /dev/sdd: 3951 МБ, 3951034368 байт
122 головок, 57 секторов/треков, 1109 цилиндров, всего 7716864 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x00000000
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1            8192     7716863     3854336    6  FAT16

olej@nvidia ~ $ sudo hdparm -t /dev/sdd
/dev/sdd:
 Timing buffered disk reads:  30 MB in  3.16 seconds =   9.49 MB/sec
3. Team Group Inc. 2Gb ? кл. (на 2Gb вообще не указывают класс?):

Код: Выделить всё

olej@nvidia ~ $ sudo fdisk -l /dev/sdd
Диск /dev/sdd: 1998 МБ, 1998585856 байт
9 головок, 8 секторов/треков, 54215 цилиндров, всего 3903488 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x00000000
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1             129     3903487     1951679+   6  FAT16

olej@nvidia ~ $ sudo hdparm -t /dev/sdd
/dev/sdd:
 Timing buffered disk reads:  30 MB in  3.01 seconds =   9.96 MB/sec
4. совершенно Noname ;-) 2Gb ? кл. ... из комплекта радиоуправляемой модели ;-) (на карту записан ISO Mint 17.1) :

Код: Выделить всё

olej@nvidia ~ $ sudo fdisk -l /dev/sdd
Диск /dev/sdd: 1998 МБ, 1998585856 байт
64 головок, 32 секторов/треков, 1906 цилиндров, всего 3903488 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x3c49d92f
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1   *           0     2758655     1379328   17  Скрытый HPFS/NTFS

olej@nvidia ~ $ sudo hdparm -t /dev/sdd
/dev/sdd:
 Timing buffered disk reads:  32 MB in  3.15 seconds =  10.15 MB/sec
Наблюдается отчётливая зависимость: чем хуже - тем лучше.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: SD-карточки

Непрочитанное сообщение Olej » 08 май 2015, 15:30

Olej писал(а): И о классах SD карт...
... в сравнении с USB флеш-дисками ... наугад:

Код: Выделить всё

olej@nvidia ~ $ lsusb | grep Flash
Bus 001 Device 009: ID 058f:6387 Alcor Micro Corp. Flash Drive

olej@nvidia ~ $ sudo fdisk -l /dev/sdd
Диск /dev/sdd: 1009 МБ, 1009778688 байт
64 головок, 32 секторов/треков, 963 цилиндров, всего 1972224 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x6f24958a
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1   *        2048     1972223      985088    c  W95 FAT32 (LBA)

olej@nvidia ~ $ sudo hdparm -t /dev/sdd
/dev/sdd:
 Timing buffered disk reads:  58 MB in  3.03 seconds =  19.16 MB/sec

Код: Выделить всё

olej@nvidia ~ $ lsusb
Bus 001 Device 004: ID 14cd:168a Super Top
Bus 001 Device 010: ID 1005:b113 Apacer Technology, Inc. Handy Steno 2.0/HT203
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 05d8:4002 Ultima Electronics Corp. Artec Ultima 2000 (GT6801 based)/Lifetec LT9385/ScanMagic 1200 UB Plus Scanner
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 2101:020f ActionStar
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

olej@nvidia ~ $ sudo fdisk -l /dev/sdd
Диск /dev/sdd: 3909 МБ, 3909091328 байт
64 головок, 32 секторов/треков, 3728 цилиндров, всего 7634944 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x3c49d92f
Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdd1   *           0     2758655     1379328    b  W95 FAT32

olej@nvidia ~ $ sudo hdparm -t /dev/sdd
/dev/sdd:
 Timing buffered disk reads:  46 MB in  3.02 seconds =  15.25 MB/sec
Как легко видеть, ... вопреки многим утверждениям ... скорость чтения наугад взятых USB-флешек как минимум вдвое лучше, чем самых лучших (по тестам) SD карт.

Ромбододекаэдр
Интересующийся
Сообщения: 2
Зарегистрирован: 26 сен 2015, 20:23
Контактная информация:

Re: SD-карточки

Непрочитанное сообщение Ромбододекаэдр » 06 окт 2015, 15:09

Olej писал(а):
Наблюдается отчётливая зависимость: чем хуже - тем лучше.
На мой взгляд, это распространенное заблуждение (насчет наклеек от балды :-D )
Дело в том, что подтверждать эти догадки посредством Линукс, используя его, таким образом, в качестве эталона для подобных измерений - не совсем оправданно.
Попробуйте провести вышеприведенные эксперименты в другой ос, (в обычной винде, либо в ее каком-либо embedded варианте), отформатировав устройства в соответствии с их назначением: служить флеш-накопителями, т.е. в соответствующих файловых системах exFat, FAT и т.п. И классы записи и чтения будут полностью соответствовать их объявлениям. ;-)
С небольшими отклонениями. Например (по собств. опыту) SD(10) от Transcend будет чуть быстрее чем SD(10) от Silicon Power, и намного быстрее любой гарантированно японской флешки 4 класса,( которая в Linux (когда стояла в качестве харда) выдавала более шустрый вариант системы, чем заменившие ее другие карты).

И тут возникает вопрос почему так. Ответ я вижу только один - так работает Linux.
Вполне возможно, что медленные флешки увеличивая latency в одном месте, позволяют другим аппаратным событиям лучше обрабатываться, приводя в итоге к более эффективному разделению процессора. Ну или как-то так.
Ведь ядро линукс, увы, крайне нестандартизовано :-x
Olej писал(а):скорость чтения наугад взятых USB-флешек как минимум вдвое лучше, чем самых лучших (по тестам) SD карт.
У меня было в BeagleBone, ОС Angstroem, когда микроSD, служившая вторым диском системы сконфигурирована по-умолчанию в системе так, что из 4-битной шины данных использовалась 1 бит. Как его переконфигурировал догадливый польтзователь в соответствующем дереве устройств, для использование 4-бит, так запись/чтение стало по-шустрее. Правда далеко не в 4 раза. И даже не в 2,5.
Для USB, на мой взгляд, в любой системе подобные вещи, скорее всего, гораздо более стандартизованы и включены на расширенные режимы. Как-то так.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: SD-карточки

Непрочитанное сообщение Olej » 20 мар 2022, 20:53

Дальше разборки с качеством SD карты - здесь: образы и карточки

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей