Выбор microSD-карты, а в меньшей степени SSD, для Raspberry Pi может напоминать прогулку по минному полю с поддельными microSD-картами, которые могут демонстрировать низкую производительность и серьезно влиять на работу и/или надежность вашего Raspberry Pi. В сети можно найти множество статей, помогающих выбрать хорошую microSD-карту для Raspberry Pi.
Вероятно, именно поэтому Raspberry Pi Holdings решила выпустить собственные microSD-карты класса A2 и NVMe SSD под брендом Raspberry Pi, чтобы пользователи могли быть уверены в сертифицированном накопителе, который будет работать так, как заявлено, при условии покупки у авторизованных реселлеров. Компания предоставила для тестирования microSD-карты Raspberry Pi на 32 ГБ и 64 ГБ, а также комплект SSD на 256 ГБ. В этом обзоре они будут протестированы и сравнены с другими SSD и microSD-картами, используемыми в настоящее время.
Поскольку новые накопители Raspberry Pi еще не были рассмотрены, начнем с характеристик:
Характеристики SSD Raspberry Pi
Доступны две модели с разными объемами и показателями производительности:
- 256GB NVMe
- 40k IOPS (случайное чтение 4kB)
- 70k IOPS (случайная запись 4kB)
- 512GB NVMe
- 50k IOPS (случайное чтение 4kB)
- 90k IOPS (случайная запись 4kB)
- Стандарты
- Интерфейс PCIe Gen 3
- Регистровый интерфейс NVMe 1.4 и набор команд
- Габариты – форм-фактор M.2 2230
Поскольку ни одна из плат Raspberry Pi SBC пока не оснащена разъемом M.2, потребуется совместимый адаптер M.2 для Raspberry Pi 5, например Raspberry Pi M.2 HAT+ , или сторонние платы M.2 HAT+ от Waveshare, Geekworm, Pineboards и другие. Для этого обзора был предоставлен комплект SSD Raspberry Pi, включающий официальный M.2 HAT+ и SSD на 256 ГБ.
Raspberry Pi, вероятно, не указала скорости последовательной записи/чтения для SSD, поскольку интерфейс PCIe Gen3 x1 ограничивает их примерно 800 МБ/с, но сами модули SSD могут достигать нескольких тысяч МБ/с при использовании с подходящим компьютером. Дополнительные детали можно найти на странице продукта .
Характеристики microSD-карт Raspberry Pi
Доступны три модели со следующими характеристиками:
- Объем – 32 ГБ, 64 ГБ или 128 ГБ
- Карты microSD класса A2 с поддержкой скоростей шины DDR50 и SDR104, а также расширения очереди команд (CQ)
- Класс скорости: C10, U3, V30, A2
- Производительность при случайном чтении 4 КБ: 3 200 IOPS (Raspberry Pi 4, DDR50) 5 000 IOPS (Raspberry Pi 5, SDR104)
- Производительность при случайной записи 4 КБ: 1 200 IOPS (Raspberry Pi 4, DDR50) 2 000 IOPS (Raspberry Pi 5, SDR104)
- Ударопрочные, устойчивые к рентгеновскому излучению и магнитным полям
- Совместимы с устройствами, поддерживающими microSDHC и microSDXC
Карты microSD поставляются без предустановленной системы или с предустановленной Raspberry Pi OS. Для обзора были предоставлены карты на 32 ГБ и 64 ГБ, каждая с адаптером SD для совместимости с большим количеством устройств. Дополнительная информация доступна на странице продукта .
Компания Raspberry Pi активно работала в последние месяцы, и ноябрь также будет насыщенным с новыми анонсами. В полученной посылке были Touch Display 2, устройства для работы с ИИ и другие продукты, но здесь основное внимание уделено накопителям: комплекту SSD на 256 ГБ и двум microSD-картам.
Комплект SSD включает плату расширения Raspberry Pi M.2 HAT+ (M-Key) с установленным SSD на 256 ГБ, 40-контактный разъем, а также пластиковые стойки и винты для сборки. Лично предпочтительнее медные стойки и металлические винты, которые предлагаются в некоторых сторонних комплектах, но пластиковые детали, вероятно, дешевле.
Еще одна небольшая проблема – способ установки SSD на плату M.2 HAT+. Кажется, он не должен быть таким: SSD неестественно изгибается…
После снятия винтов SSD был правильно переустановлен. Накопитель работает корректно, поэтому повреждений нет.
На нижней стороне платы расширения M.2 HAT+ ничего нет, что делает ее пригодной для установки поверх активного охлаждения.
На упаковках microSD-карт не указана их емкость, но после вскрытия она четко обозначена на самих картах. В наличии оказались одна карта на 32 ГБ класса A2 и одна на 64 ГБ класса A2. Все в порядке.
Начало работы с комплектом SSD Raspberry Pi
Сначала необходимо собрать комплект SSD на Raspberry Pi 5. Начнем с установки четырех стоек и 40-контактного разъема.
Затем плата M.2 HAT+ размещается сверху и фиксируется четырьмя винтами, после чего гибкий кабель вставляется в разъем PCIe на Raspberry Pi 5. Последний шаг вызвал небольшие затруднения, и, вероятно, проще подключить кабель к плате до установки M.2 HAT+ на стойки.
При первой попытке загрузки Raspberry Pi 5 с комплектом SSD был подключен только кабель Ethernet и блок питания, но соединение не установилось. После подключения дисплея система оказалась в цикле перезагрузки…
Накопитель Samsung MZ9LQ256HBJD-00BVL (фактическое название 256 ГБ SSD Raspberry Pi), также известный как один из SSD серии «Samsung PM991a», был обнаружен, но Raspberry Pi OS не была предустановлена. Возможно, это связано с тем, что SSD Cytron MAKERDISK работают сразу после распаковки благодаря предустановленной системе (при условии актуальности загрузчика), но официальный SSD Raspberry Pi, видимо, не имеет такой функции.
Теперь необходимо было найти способ установки Raspberry Pi OS на SSD, но, к сожалению, официальная документация не содержит информации об этом. Вспомнилось, что Raspberry Pi анонсировала поддержку сетевой установки несколько лет назад, но такой опции не оказалось… Только после подключения беспроводных клавиатуры и мыши на экране появилась опция «сетевой установки»…
После нажатия клавиши SHIFT началась загрузка утилиты сетевой установки из интернета.
Через несколько минут появился интерфейс, похожий на RPI-imager, где можно было выбрать плату Raspberry Pi 5, Raspberry Pi OS 64-bit (Desktop) и накопитель Samsung MZ9LQ256HBJD-00BVL для установки.
Процесс прошел без проблем, и через несколько минут был получен рабочий стол Raspberry Pi OS.
Тестирование накопителей на Raspberry Pi 5
Теперь, когда система запущена, три накопителя под брендом Raspberry Pi будут протестированы с помощью iozone3, а результаты сравнены с другими, включая SSD Cytron MAKERDISK и microSD-карту Samsung класса A1. В конце раздела представлено сравнение.
Начнем с конфигурации по умолчанию (PCIe Gen2 x1):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
pi@raspberrypi:~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 142053 164504 181635 182273 58477 165305 102400 16 258189 277494 306902 307433 159040 273310 102400 512 384669 385453 424690 424790 397219 384641 102400 1024 387709 391367 427739 427805 413931 388071 102400 16384 390976 391853 440835 440851 439929 397684 iozone test complete. |
Заметим, что iozone3 запускался дважды для всех тестов, чтобы убедиться в повторяемости результатов. Переключимся на неофициальный режим PCIe Gen3, добавив следующую строку в /boot/firmware/config.txt перед разделом [cm4]:
1 |
dtparam=pciex1_gen=3 |
и перезагрузим систему. Проверим, что установлена скорость 8GT/s (PCIe Gen3 x1):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
pi@raspberrypi:~ $ sudo lspci -vv -s 01:00.0 0000:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller 980 (prog-if 02 [NVM Express]) Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller 980 (DRAM-less) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 38 Region 0: Memory at 1b80000000 (64-bit, non-prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [70] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+ RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset- MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+ ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt- LnkSta: Speed 8GT/s, Width x1 (downgraded) TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- |
Все в порядке, можно запустить тест снова:
1 2 3 4 5 6 7 8 9 10 |
pi@raspberrypi:~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 169424 207900 223355 223317 62231 209284 102400 16 400883 446525 484396 474782 192879 415318 102400 512 730661 706703 785148 788511 710277 704118 102400 1024 717936 743467 802758 802734 765441 710455 102400 16384 739594 741637 861605 861258 859669 754755 iozone test complete. |
Результаты записи и чтения соответствуют ожиданиям для интерфейсов PCIe Gen2 и Gen3.
Также трижды измерено время загрузки с момента включения: 24,08 с, 23,47 с и 24,20 с, в среднем 23,92 с от нажатия кнопки питания до появления верхней панели.
Далее Raspberry Pi 5 была выключена, и Raspberry Pi OS установлена на две microSD-карты класса A2. После отключения кабеля PCIe и установки карты памяти проведено тестирование. Утилита RPI-imager была установлена на ноутбук с Ubuntu, и при подключении microSD-карты появились разделы boot и rootfs… Это означает, что, в отличие от SSD, microSD-карты поставляются с предустановленной системой. Отлично!
Карта на 64 ГБ была установлена в Raspberry Pi 5, после чего проведена настройка и обновление ОС, занявшее несколько минут. Затем запущен iozone3:
1 2 3 4 5 6 7 8 |
pi@raspberrypi:~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 11110 11181 26694 26663 26655 15862 102400 16 19897 20268 48230 49161 49074 41893 102400 512 58357 59906 87240 87158 86930 73375 102400 1024 69445 72518 90424 90334 90458 79276 102400 16384 72909 74490 91769 91510 91656 74538 |
Трижды измерено время загрузки: 21,8 с, 21,58 с и 21,85 с, в среднем 21,74 с. Это странно, так как загрузка с microSD-карты оказалась быстрее, чем с SSD…
Проведем исследование… После завершения мастера настройки было предложено переключиться на LabWC. Проверим системную информацию:
1 2 3 4 5 6 7 8 9 10 11 12 |
pi@raspberrypi:~ $ sudo inxi -GS System: Host: raspberrypi Kernel: 6.6.51+rpt-rpi-2712 arch: aarch64 bits: 64 Console: pty pts/1 Distro: Debian GNU/Linux 12 (bookworm) Graphics: Device-1: bcm2712-hdmi0 driver: vc4_hdmi v: N/A Device-2: bcm2712-hdmi1 driver: vc4_hdmi v: N/A Display: wayland server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9 compositor: LabWC driver: gpu: vc4-drm,vc4_crtc,vc4_dpi,vc4_dsi,vc4_firmware_kms,vc4_hdmi,vc4_hvs,vc4_txp,vc4_v3d,vc4_vec tty: 80x42 resolution: 1920x1080 API: EGL/GBM Message: No known Wayland EGL/GBM data sources. |
Но при установке Raspberry Pi OS на SSD такого запроса не было. Вот результат той же команды после возврата к SSD:
1 2 3 4 5 6 7 8 9 10 11 12 |
pi@raspberrypi:~ $ sudo inxi -GS System: Host: raspberrypi Kernel: 6.6.51+rpt-rpi-2712 arch: aarch64 bits: 64 Console: pty pts/1 Distro: Debian GNU/Linux 12 (bookworm) Graphics: Device-1: bcm2712-hdmi0 driver: vc4_hdmi v: N/A Device-2: bcm2712-hdmi1 driver: vc4_hdmi v: N/A Display: wayland server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9 compositor: LabWC driver: gpu: vc4-drm,vc4_crtc,vc4_dpi,vc4_dsi,vc4_firmware_kms,vc4_hdmi,vc4_hvs,vc4_txp,vc4_v3d,vc4_vec tty: 80x42 resolution: 1920x1080 API: EGL/GBM Message: No known Wayland EGL/GBM data sources. |
Он идентичен… Несмотря на более низкую производительность в тестах, microSD-карта загружается быстрее. Возможно, загрузчик сначала ищет microSD-карту, и только затем переключается на NVMe SSD, если она не найдена.
Попробуем изменить это. Вот конфигурация загрузчика на Raspberry Pi 5:
1 2 3 4 5 6 |
pi@raspberrypi:~ $ rpi-eeprom-config [all] BOOT_UART=1 POWER_OFF_ON_HALT=1 BOOT_ORDER=0xf461 WAKE_ON_GPIO=0 |
Ключевой параметр – BOOT_ORDER :
- 1 – сначала попытка загрузки с microSD
- 6 – затем с NVMe
- 4 – если microSD или NVMe не обнаружены, попытка с USB-MD.
- f – непрерывный цикл попыток загрузки с указанных устройств в заданном порядке.
Изменим порядок, чтобы первой была попытка загрузки с NVMe SSD, установив BOOT_ORDER в 0xf416 командой:
1 |
sudo -E rpi-eeprom-config --edit |
После трех перезагрузок получены результаты: 22,86 с, 22,85 с, 22,85 с, в среднем около 22,85 с. Это небольшое улучшение примерно на одну секунду, но все же медленнее, чем с microSD-картой на 64 ГБ.
Если изменить метод измерения и остановить секундомер при появлении обоев (а не верхней панели, когда система становится интерактивной), время загрузки составляет около 21,4 с для microSD-карты и 18,24 с для SSD. Что-то замедляет загрузку с SSD на этом этапе. Это выходит за рамки обзора, но можно детально изучить с помощью systemd-analyzer . По крайней мере, это простой способ переключения между загрузкой с SSD и microSD без изменения аппаратной конфигурации.
Вернем предыдущий порядок загрузки и протестируем microSD-карту на 32 ГБ.
1 2 3 4 5 6 7 8 |
pi@raspberrypi:~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 3308 3339 24732 24428 16133 6104 102400 16 10830 10769 57805 58365 45166 25064 102400 512 31634 31695 89397 91265 89607 57454 102400 1024 39901 42139 91977 91782 91335 54798 102400 16384 40226 64717 93180 91987 92569 43402 |
Результаты почти идентичны, поэтому время загрузки должно быть схожим. Три измерения: 22,67 с, 22,77 с и 22,70 с, в среднем около 22,71 с. Все еще в том же диапазоне, что и для карты на 64 ГБ и SSD на 256 ГБ.
Также использован systemd-analyze для альтернативной оценки времени загрузки:
- microSD-карта 32 ГБ:
1 2 3 |
pi@raspberrypi:~ $ systemd-analyze Startup finished in 3.526s (kernel) + 8.968s (userspace) = 12.495s graphical.target reached after 8.954s in userspace. |
- microSD-карта 64 ГБ:
1 2 3 |
pi@raspberrypi:~ $ systemd-analyze Startup finished in 3.555s (kernel) + 8.860s (userspace) = 12.416s graphical.target reached after 8.850s in userspace. |
- SSD 256 ГБ:
1 2 3 |
pi@raspberrypi:~ $ systemd-analyze Startup finished in 3.413s (kernel) + 8.709s (userspace) = 12.123s graphical.target reached after 8.692s in userspace. |
Это больше соответствует ожиданиям, хотя разница между microSD-картами и NVMe SSD должна была быть более заметной. Здесь даже нет смысла строить график…
Последний тест iozone3 проведен с microSD-картой Sandisk Edge класса A1 на 32 ГБ:
1 2 3 4 5 6 7 8 9 |
pi@raspberrypi:~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 4510 4520 14371 14358 12051 2439 102400 16 5993 9235 37024 37011 29817 5922 102400 512 16666 18933 89656 89614 88775 18858 102400 1024 21353 19886 79933 89390 88472 18404 102400 16384 20146 19250 89501 89517 86241 18942 |
Сводка результатов iozone для SSD Raspberry Pi, microSD-карт и SSD Cytron MAKERDISK. Добавлена строка с платой Rock5 и слотом M.2 Gen3 x4 с SSD MAKERDISK на 512 ГБ для сравнения.
Storage device | SBC – Interface | Read | Write | Random Read (4K) | Random Write (4K) |
---|---|---|---|---|---|
128GB MAKERDISK SSD | Pi 5 – PCIe Gen2 x1 | 434,707 KB/s | 395,667 KB/s | 53,712 KB/s | 194,819 KB/s |
128GB MAKERDISK SSD | Pi 5 – PCIe Gen3 x1 | 855,845 KB/s | 761,527 KB/s | 58,080 KB/s | 290,993 KB/s |
256GB MAKERDISK SSD | Pi 5 – PCIe Gen2 x1 | 433,655 KB/s | 399,095 KB/s | 54,679 KB/s | 191,177 KB/s |
256GB MAKERDISK SSD | Pi 5 – PCIe Gen3 x1 | 846,389 KB/s | 759,437 KB/s | 58,135 KB/s | 276,242 KB/s |
512GB MAKERDISK SSD | Pi 5 – PCIe Gen2 x1 | 436,125 KB/s | 400,709 KB/s | 55,116 KB/s | 196,694 KB/s |
512GB MAKERDISK SSD | Pi 5 – PCIe Gen3 x1 | 843,413 KB/s | 771,841 KB/s | 58,657 KB/s | 291,082 KB/s |
512GB MAKERDISK SSD | Rock 5 – PCIe Gen3 x4 | 1,747,128 KB/s | 213,432 KB/s | 36,004 KB/s | 87,266 KB/s |
256GB Raspberry Pi SSD | Pi 5 – PCIe Gen2 x1 | 440,835 KB/s | 390,976 KB/s | 58,477 KB/s | 165,305 KB/s |
256GB Raspberry Pi SSD | Pi 5 – PCIe Gen3 x1 | 861,605 KB/s | 739,594 KB/s | 62,231 KB/s | 209,284 KB/s |
32GB Raspberry Pi microSD | Pi 5 – microSD slot | 93,180 KB/s | 40,226 KB/s | 16,133 KB/s | 6,104 KB/s |
32GB Raspberry Pi microSD | Pi 5 – microSD slot | 91,769 KB/s | 72,909 KB/s | 26,655 KB/s | 15,862 KB/s |
32GB Sandisk Class A1 microSD | Pi 5 – microSD slot | 89,501 KB/s | 20,146 KB/s | 12,051 KB/s | 2,439 KB/s |


Хорошо видно, что скорости чтения и записи ограничены PCIe Gen2 x1 примерно до 440 МБ/с и PCIe Gen3 x1 до около 860 МБ/с для SSD Raspberry Pi и MAKERDISK, тогда как плата ROCK 5B демонстрирует значительно более высокую скорость чтения. Это не относится к скорости записи и случайным операциям ввода-вывода на плате Rockchip, но это может быть связано с проблемами программной конфигурации/оптимизации. Наиболее важны для пользовательского опыта случайные операции ввода-вывода, и они довольно схожи для SSD MAKERDISK и Raspberry Pi.
MicroSD-карты Raspberry Pi – это высокопроизводительные карты класса A2, но, как и ожидалось, они не могут сравниться с NVMe SSD по всем параметрам, хотя, как мы видели на примере времени загрузки, это не всегда критично. Наибольшее влияние будет заметно при нагрузках с большим количеством небольших записей, где SSD окажутся на порядки быстрее microSD-карт. Надежность SSD также может быть выше, так как за годы использования многие microSD-карты выходили из строя.
Что касается цены, SSD Raspberry Pi на 256 ГБ и 512 ГБ продаются за $30 и $45 соответственно. Для сравнения, 256 ГБ NVMe SSD можно найти на Amazon примерно за $20 , поэтому ценность предложения неочевидна, особенно учитывая отсутствие предустановленной системы. MicroSD-карты Raspberry Pi кажутся более интересными, так как они поставляются с предустановленной Raspberry Pi OS, экономя время, и значительно снижают риск покупки медленной карты, которая может выйти из строя через несколько месяцев… Карты на 32 ГБ и 64 ГБ продаются примерно за $10 и $12 соответственно. Модель на 128 ГБ найти сложнее, и на момент написания она доступна только на Pimoroni .
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.