Test des SSD Cytron MAKERDISK M.2 NVMe sur Raspberry Pi 5 avec GEEKWORM X1001 et Waveshare M.2 PCIe HAT+

Test des SSD Cytron MAKERDISK M.2 NVMe sur Raspberry Pi 5 avec GEEKWORM X1001 et Waveshare M.2 PCIe HAT+

Cytron nous a envoyé quelques-uns de leurs SSD MAKERDISK NVMe préchargés avec Raspberry Pi OS afin que nous puissions les tester sur un Raspberry Pi 5 SBC, soit avec une carte complémentaire GEEKWORM X1001 ou Waveshare M.2 PCIe HAT+, toutes deux également fournis par l’entreprise.

Depuis la sortie des premiers HAT M.2 PCIe pour le Raspberry Pi 5, nous savions que Raspberry Pi Limited travaillait sur son propre modèle, basé sur quelques « rumeurs » Twitter/X (avec photos) le lancement du M.2 HAT+ officiel devrait approcher à grands pas. C’est donc le moment idéal pour tester quelques SSD sur le Raspberry Pi 5 même si je n’ai pas encore reçu le HAT+ officiel

Test du SSD MAKERDISK M.2 NVMe Raspberry Pi 5

Déballage du package Cytron « MAKERDISK »

La société malaisienne m’a envoyé un kit contenant tout ce dont j’avais besoin pour commencer, moins le Raspberry Pi 5 que je possédais déjà.

Cytron MakerDisk M.2 NVMe SSD GEEKWORM X1001 Waveshare HAT PCIE 2242 déballage

Cela comprend des SSD NVMe 2242 M-Key de 128 Go ou 256 Go, des SSD M-Key de 128 Go, 256 Go et 512 Go, le kit GEEKWORM X1001 HAT et le kit Waveshare M.2 PCIe HAT+.

SSD Cytron MAKERDISK M.2 2242 NVMe

Le SSD M.2 2240 de 128 Go est évalué à 1 700 Mo/s (lecture) et 600 Mo/s (écriture), tandis que le 256 Go peut atteindre des vitesses de lecture jusqu’à 2 250 Mo/s et 1 040 Mo/s en écriture.

SSD Cytron MAKERDISK M.2 2280 NVMe

Les vitesses de lecture et d’écriture des SSD M.2 2280 sont les suivantes :

  • 128 Go – 1 700 Mo/s, 600 Mo/s
  • 256 Go – 2 050 Mo/s, 1 000 Mo/s
  • 512 Go – 2 050 Mo/s, 1 700 Mo/s

Puisque nous allons les connecter à l’interface PCIe Gen2 x1 ou PCIe Gen3 x1 du Raspberry Pi 5, ces vitesses n’auront pas beaucoup d’importance car l’interface PCIe sera le goulot d’étranglement.

Waveshare PCIe vers M.2 HAT+
La carte PCIe vers M.2 HAT+ de Waveshare est livrée avec un câble FPC PCIe 16 broches de 40 mm, un connecteur femelle-mâle à 40 broches, des vis et des entretoises, ainsi que des embouts pour les personnes souhaitant utiliser un SSD 2230 plus court. Vous trouverez la documentation matérielle et logicielle dans le Wiki.

Déballage du GEEKWORM X1001

La carte GEEKWORM X1001, plus compacte, est plus polyvalente car elle peut prendre en charge les SSD 2230, 2242, 2260 et 2280. Le PCIe FPC inclus ne semble pas tout à fait conforme aux spécifications (mais il fait l’affaire), et le package est également livré avec des instructions de montage et un petit sac avec des entretoises et des vis. Encore une fois, vous trouverez la documentation sur le site Web de l’entreprise.

Assemblage HAT et SSD avec Raspberry Pi 5

J’ai commencé par l’assemblage du Waveshare PCIe vers M.2 HAT+ sans lire la documentation. Il s’avère que ce n’était pas une si bonne idée.

Ensemble Waveshare PCIe M.2 HAT+

J’ai initialement installé le connecteur femelle-mâle sur le Raspberry Pi 5, ce qui rend l’installation du HAT très difficile, d’autant plus que les broches du connecteur n’étaient pas parfaitement alignées. J’ai donc dû le retirer, et l’insérer dans le HAT avant de le connecter au Pi. L’installation du SSD M.2 a été simple.

Embase femelle Waveshare PCIe M.2 HAT+

Lors de l’installation du câble plat, nous devons nous assurer que les extrémités noires sont correctement orientées et qu’une fois l’assemblage terminé, cela ressemble à celui illustré ci-dessous.

Cytron MAKERDISK 128 Go M.2 2240 NVMe SSD Raspberry Pi 5
Le câble est mal connecté au dessus car la flèche blanche doit être proche de la LED PWR

Mais c’est en réalité faux, car les utilisateurs doivent également s’assurer que la flèche blanche est installée à proximité de la LED PWR, comme indiqué ci-dessous.

Connexion par câble Waveshare M.2 PCIe HAT FPC
Câble PCIe FPC connecté correctement avec la flèche blanche sur le câble à proximité de la LED PWR

J’ai donc dû retourner le câble comme indiqué ci-dessus et le SSD a pu être détecté.

Le GEEKWORM X1001 est beaucoup plus facile à installer. Insérez le SSD et le câble plat comme indiqué ci-dessous.

Installation du SSD NVMe GEEKWORM X1001

Installez enfin les trois entretoises (notez qu’elles sont légèrement plus hautes que celles fournies pour le Waveshare HAT), fixez la carte avec trois vis et insérez l’autre extrémité du câble dans le connecteur PCIe du Raspberry Pi 5.

GEEKWORM X1001 MAKERDISK M.2 2280 NVMe SSD

Installation du câble FPC GEEKWORM X1001 Raspberry Pi 5

Il est également beaucoup plus facile à supprimer que le Waveshare HAT+…

Démarrage du système d’exploitation Raspberry Pi à partir du SSD MAKERDISK

L’un des avantages des SSD MAKERDISK M.2 NVMe est qu’ils sont préchargés avec le système d’exploitation Raspberry Pi, vous pouvez donc simplement connecter le disque et le système d’exploitation Raspberry Pi démarrera automatiquement sans rien configurer. C’est du moins la théorie, car cela n’a pas fonctionné une fois qu’il a rencontré l’environnement de test de Raspberryme Software…

Échec du démarrage du MAKERDISK NVMe SSD Raspberry Pi 5

Cette carte nous a été envoyée par Raspberry Pi Limited juste après l’annonce du Pi 5, et cela faisait un moment que je ne l’avais pas utilisée, encore moins mise à niveau. J’ai donc pensé que le firmware était peut-être trop ancien.

J’ai donc démarré la carte avec une carte microSD et vérifié la version du firmware.

pi@raspberrypi :~ $ version vcgencmd

2023/10/18 18:30:17

Droit d’auteur (c) 2012 Broadcom

version c2da2ae7 (release) (intégrée)

puis mis à niveau le système et le micrologiciel avec une mise à niveau complète :

sudo apt mise à jour

sudo apt mise à niveau complète

redémarrage sudo

Le firmware devrait maintenant être le plus récent :

pi@raspberrypi :~ $ version vcgencmd

2024/02/16 15:28:41

Droit d’auteur (c) 2012 Broadcom

version 4c845bd3 (version) (intégrée)

J’en ai profité pour vérifier que le SSD M.2 NVMe de 128 Go était détecté, et c’était :

pi@raspberrypi :~ $ lsblk

NOM MAJ:MIN RM TAILLE RO TYPE POINTS DE MONTAGE

mmcblk0 179:0 0 29,7G 0 disque

|-mmcblk0p1 179:1 0 512M 0 partie /boot/firmware

`-mmcblk0p2 179:2 0 29,2G 0 partie /

nvme0n1 259:0 0 119.2G 0 disque

|-nvme0n1p1 259:1 0 512M 0 partie

`-nvme0n1p2 259:2 0 13G 0 partie

Mais après avoir arrêté le Raspberry Pi 5 et retiré la carte microSD, le démarrage ne se terminerait toujours pas et le système ne trouverait aucun périphérique amorçable. J’ai donc contacté Cytron, et ils m’ont dit qu’ils l’avaient déjà testé avec plusieurs cartes Raspberry Pi 5 et que cela fonctionnait immédiatement sans rien configurer.

La documentation du Raspberry Pi est plutôt inutile car elle est inutilement compliquée, mais j’ai trouvé une solution dans le wiki Waveshare mentionné ci-dessus qui explique clairement que nous pouvons activer le mode de démarrage SSD en changeant la valeur BOOT_ORDER en 0xf416 (elle a été définie sur 0xf41) :

1

2

3

4

5

6

7

8

9

dix

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

pi@raspberrypi :~ $ sudo rpi-eeprom-config –edit

Mise à jour de l’EEPROM du chargeur de démarrage

image : /lib/firmware/raspberrypi/bootloader-2712/default/pieeprom-2024-02-16.bin

config_src : périphérique blconfig

configuration : /tmp/tmpb06wntkd/boot.conf

################################################# ##############################

[all]

BOOT_UART=1

WAKE_ON_GPIO=1

POWER_OFF_ON_HALT=0

BOOT_ORDER=0xf416

################################################# ##############################

*** Pour annuler cette mise à jour, exécutez ‘sudo rpi-eeprom-update -r’ ***

*** MISE À JOUR CRÉÉE /tmp/tmpb06wntkd/pieeprom.upd ***

ACTUEL : ven. 16 février 15:28:41 UTC 2024 (1708097321)

MISE À JOUR : vendredi 16 février 15:28:41 UTC 2024 (1708097321)

BOOTFS : /boot/firmware

‘/tmp/tmp.49kFFgS1eT’ -> ‘/boot/firmware/pieeprom.upd’

MISE À JOUR du chargeur de démarrage.

*** AVERTISSEMENT : ne débranchez pas l’alimentation tant que la mise à jour n’est pas terminée ***

Si un problème survient, l’imageur Raspberry Pi peut être utilisé pour créer

une image de carte SD de secours du chargeur de démarrage qui restaure l’image du chargeur de démarrage par défaut.

flashrom -p linux_spi:dev=/dev/spidev10.0,spispeed=16000 -w /boot/firmware/pieeprom.upd

MISE À JOUR RÉUSSIE

J’ai enfin pu démarrer le système à partir du SSD et passer par l’assistant de configuration pour configurer la langue, définir un nom d’utilisateur et un mot de passe et laisser le système se mettre automatiquement à jour vers la dernière version. La commande ci-dessous montre que le rootfs se trouve dans un périphérique NVMe :

pi@raspberrypi :~ $ df -h

Taille du système de fichiers utilisée Utilisation disponible% Monté sur

udev 3,8G 0 3,8G 0% /dev

tmpfs 805M 6,0M 799M 1% /exécution

/dev/nvme0n1p2 117G 13G 99G 12% /

tmpfs 4.0G 304K 4.0G 1% /dev/shm

tmpfs 5,0M 48K 5,0M 1% /exécution/verrouillage

/dev/nvme0n1p1 510 Mo 74 Mo 437 Mo 15 % /boot/firmware

tmpfs 805M 192K 805M 1% /exécution/utilisateur/1000

Je suppose que cela signifie que si vous avez récemment acheté un Raspberry Pi 5 SBC, cela devrait très bien fonctionner sans rien faire, mais si vous avez une carte plus ancienne, vous devrez peut-être mettre à jour la configuration EEPROM comme je l’ai fait ci-dessus.

Tests de performances du SSD MAKERDISK NVMe

Nous devrons compiler iozone à partir des sources puisque iozone3 n’est pas disponible sous forme de package :

wget https://www.iozone.org/src/current/iozone3_506.tar

tar xvf iozone3_506.tar

cd iozone3_506/src/courant

faire –j4 linux–arm

sudo cp iozone /usr/local/bin/

J’ai commencé à tester les SSD 2280 en utilisant SupTronics/GEEKWORK X1001 HAT.

M.2 2280 SSD 128 Go :

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 : test de performances des E/S de fichiers

Version $Révision : 3.506 $

Compilé pour le mode 64 bits.

Version : Linux-Arm

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 177078 214439 109502 109580 53712 194819

102400 16 272381 297254 193798 193535 193298 295840

102400 512 388643 391268 424181 424188 424062 389699

102400 1024 391425 392993 429649 429607 429574 392660

102400 16384 395667 395301 434707 434721 434642 394242

Test d’iozone terminé.

Cela représente une vitesse de lecture de 434 Mo/s et une vitesse d’écriture de 395 Mo/s en mode PCIe Gen2.

Passons au mode PCIe Gen3 « non certifié pour fonctionner » en ajoutant la ligne suivante à /boot/firmware/config.txt avant le [cm4] section:

et redémarrez le système.

C’est effectivement plus rapide qu’avant

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 231339 299246 114129 113880 58080 290993

102400 16 416670 482286 206820 206493 205642 473977

102400 512 728126 731522 814851 816372 815786 738279

102400 1024 745975 733886 833495 834420 834454 751200

102400 16384 761527 762354 855845 856076 855026 756876

Vitesses de lecture/écriture séquentielles de 855 Mo/s et 761 Mo/s respectivement. C’est assez loin des performances théoriques du SSD lui-même, mais c’est le mieux que le Raspberry Pi 5 puisse faire.

Nous pouvons vérifier la vitesse de la liaison avec la commande lspci :

1

2

3

4

5

6

7

8

9

dix

11

12

13

14

15

16

17

18

19

20

0000:01:00.0 Contrôleur de mémoire non volatile : Contrôleur NVMe PS5013 E13 de Phison Electronics Corporation (rév. 01) (prog-if 02 [NVM Express])

Sous-système : contrôleur NVMe PCIe3 Phison Electronics Corporation PS5013-E13 (sans DRAM)

Contrôle : E/S-Mem+ BusMaster+ SpecCycle-MemWINV-VGASnoop-ParErr-Stepping-SERR-FastB2B-DisINTx+

Statut : Cap+ 66 MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-

Latence : 0

Interruption : broche A routé vers l’IRQ 38

Région 0 : mémoire à 1b00000000 (64 bits, non prérécupérable) [size=16K]

Capacités : [80] Point de terminaison Express (v2), MSI 00

DevCap : MaxPayload 256 octets, PhantFunc 0, Latence L0 illimitée, L1 illimitée

ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W

DevCtl : CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+

RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-

MaxPayload 256 octets, MaxReadReq 512 octets

DevSta : CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-

LnkCap : Port n°1, vitesse 8GT/s, largeur x4, ASPM L1, latence de sortie L1 illimitée

ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+

LnkCtl : ASPM L1 activé ; RCB 64 octets, désactivé – CommClk+

ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-

LnkSta : vitesse 8GT/s, largeur x1 (rétrogradée)

TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-

Nous pouvons également vérifier la vitesse de la liaison PCIe en consultant le journal du noyau :

pi@raspberrypi : ~ $ dmesg | grep -i pcie | lien grep

[    0.487374] brcm-pcie 1000110000.pcie : liaison, 8,0 GT/s PCIe x1 (!SSC)

[    0.487549] pci 0000:01:00.0 : 7,876 Gb/s de bande passante PCIe disponible, limitée par une liaison PCIe x1 de 8,0 GT/s à 0000:00:00.0 (capable de 31,504 Gb/s avec une liaison PCIe x4 de 8,0 GT/s)

[    0.635376] brcm-pcie 1000120000.pcie : liaison, 5,0 GT/s PCIe x4 (!SSC)

Si je reviens à PCIe Gen2, le journal ressemble à ceci :

pi@raspberrypi : ~ $ dmesg | grep -i pcie | lien grep

[    0.487581] brcm-pcie 1000110000.pcie : liaison, 5,0 GT/s PCIe x1 (!SSC)

[    0.487771] pci 0000:01:00.0 : 4 000 Gb/s de bande passante PCIe disponible, limitée par une liaison PCIe x1 de 5,0 GT/s à 0000:00:00.0 (capable de 31,504 Gb/s avec une liaison PCIe x4 de 8,0 GT/s)

[    0.635582] brcm-pcie 1000120000.pcie : liaison, 5,0 GT/s PCIe x4 (!SSC)

Voici les résultats pour le SSD M.2 2280 de 256 Go

PCIe Gen2 :

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 175291 214587 21008 20757 54679 191177

102400 16 272609 300254 78555 78507 197479 298423

102400 512 390747 394816 423257 423271 423126 379387

102400 1024 393753 397302 428654 428666 428591 395550

102400 16384 399095 399160 433655 433720 433691 385558

PCIe Gen3 :

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 224660 286711 21283 21091 58135 276242

102400 16 449371 487981 83602 83605 216701 507843

102400 512 754122 750976 816619 816690 815786 747935

102400 1024 754606 714644 827274 824210 824669 752034

102400 16384 759437 775225 846389 846681 845516 756754

… et pour le SSD M.2 2280 de 512 Go

PCIe Gen2 :

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 178776 216957 108218 108136 55116 196694

102400 16 274618 302873 77708 77670 193336 299906

102400 512 393167 395297 425418 425446 425254 397028

102400 1024 389464 399058 430907 430943 430862 398336

102400 16384 400709 401157 436125 436175 436158 397647

PCIe Gen3 :

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 230504 295512 109110 109022 58657 291082

102400 16 417880 488738 80071 79670 205148 469188

102400 512 722607 735040 800119 801409 800907 707348

102400 1024 734993 742664 820165 821335 821605 738641

102400 16384 771841 744168 843413 844399 845247 752797

Étant donné que le Raspberry Pi 5 est le goulot d’étranglement ici, j’ai également installé le SSD M.2 2280 NVMe de 512 Go dans le Radxa Rock 5B alimenté par Rockchip RK3588 avec une interface PCIe Gen 3 x4 plus rapide.

MAKERDISK 512 Go SSD Radxa Rock 5B

Il est correctement détecté avec le flash eMMC qui démarre le système d’exploitation :

rock@rock-5b :~$ lsblk

NOM MAJ:MIN RM TAILLE RO TYPE POINT DE MONTAGE

mmcblk1 179:0 0 14,5G 0 disque

|-mmcblk1p1 179:1 0 512M 0 partie

`-mmcblk1p2 179:2 0 13,9G 0 partie /

mmcblk1boot0 179:32 0 4M 1 disque

mmcblk1boot1 179:64 0 4M 1 disque

nvme0n1 259:0 0 476.9G 0 disque

|-nvme0n1p1 259:1 0 512M 0 partie

`-nvme0n1p2 259:2 0 476.4G 0 partie

Résultats iozone3 :

rock@rock-5b :~$ sudo iozone -f /media/nvme0n1p1/file.tmp -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -je 2

Iozone : test de performances des E/S de fichiers

Version $Révision : 3.489 $

Compilé pour le mode 64 bits.

Version : Linux

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 65670 252160 73203 89475 36004 87266

102400 16 137954 604140 75677 74864 106718 245356

102400 512 159328 1227404 492284 486458 542272 687659

102400 1024 152588 1233750 756111 758580 756585 1068179

102400 16384 213432 1551808 1747128 1258226 1133252 1150386

Les performances de lecture sont bien meilleures (1,74 Go/s), mais quelque chose est étrange concernant les performances d’écriture (213 Mo/s), et exécuter iozone3 deux fois donne les mêmes résultats. Les E/S aléatoires sont également un peu plus lentes. Peut-être que certains paramètres doivent être ajustés pour extraire plus de performances.

Le tableau ci-dessous résume les résultats pour les SSD M.2 2280.

Lire Écrire Lecture aléatoire (4K) Écriture aléatoire (4K)
128 Go (Pi 5 – PCIe Gen2) 434707 Ko/s 395667 Ko/s 53712 Ko/s 194819 Ko/s
128 Go (Pi 5 – PCIe Gen3) 855845 Ko/s 761 527 Ko/s 58080 Ko/s 290993 Ko/s
256 Go (Pi 5 – PCIe Gen2) 433655 Ko/s 399095 Ko/s 54679 Ko/s 191 177 Ko/s
256 Go (Pi 5 – PCIe Gen3) 846 389 Ko/s 759437 Ko/s 58 135 Ko/s 276 242 Ko/s
512 Go (Pi 5 – PCIe Gen2) 436 125 Ko/s 400 709 Ko/s 55 116 Ko/s 196694 Ko/s
512 Go (Pi 5 – PCIe Gen3) 843413 Ko/s 771841 Ko/s 58657 Ko/s 291082 Ko/s
512 Go (Rock 5) 1747128 Ko/s 213432 Ko/s 36 004 Ko/s 87 266 Ko/s

Basculons maintenant les 2242 SSD à l’aide de la carte Waveshare HAT+, en commençant par le SSD de 128 Go.

PCIe Gen2 :

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 177594 213488 108869 108746 53614 196066

102400 16 272147 297934 195391 195196 194756 296892

102400 512 388166 389682 424183 424176 424082 388881

102400 1024 391253 391754 429660 429616 429569 383752

102400 16384 395229 397099 435071 435083 435056 397024

PCIe Gen3 :

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 226105 286816 112200 112222 57310 282218

102400 16 409809 469240 204764 204922 204543 454785

102400 512 711773 709174 798180 800769 799718 713783

102400 1024 693400 732706 817981 818748 811641 718288

102400 16384 727805 735957 841788 841564 841219 742663

Résultats SSD 256 Go 2 242

PCIe Gen2 :

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 178410 215915 59748 59667 58163 194114

102400 16 272001 302279 212542 212381 211066 299529

102400 512 393519 389569 424688 424698 424482 395037

102400 1024 397103 398609 430002 430036 430022 391644

102400 16384 401627 400804 435175 435154 435040 394858

PCIe Gen3 :

pi@raspberrypi :~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

aléatoire aléatoire bkwd foulée record

ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread

102400 4 231919 298113 64182 62460 62199 276536

102400 16 452616 520986 237396 237004 235606 516006

102400 512 726571 769167 826219 826192 825785 763369

102400 1024 769391 738571 841662 841635 840874 774332

102400 16384 778522 783605 857734 857830 857717 743414

Les SSD de 128 Go et 256 Go ont à peu près les mêmes résultats car l’interface Raspberry Pi 5 PCIe est le goulot d’étranglement.

Température du Raspberry Pi 5 avec les HAT GEEKWORM/Waveshare.

Les deux HAT peuvent être installés sur le refroidisseur actif Raspberry Pi 5, mais ils bloquent dans une certaine mesure le flux d’air, en particulier le Waveshare PCIe vers M.2 HAT+, j’ai donc décidé de vérifier la température tout en effectuant un test de résistance sur le CPU et le SSD.

Test de température SSD 256 Go avec Waveshare HAT+

J’ai exécuté les deux commandes suivantes en même temps…

contrainte -c 4

iozone -e -I -a -s 10000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

… et surveillé la température du processeur avec le programme RPI-monitor.

Tableau de température du chapeau Waveshare M.2 PCIe

Le maximum était d’environ 67-69°C. Vous trouverez également ci-dessous une image thermique prise avec la caméra thermique Xtherm II TS2+ pour smartphones. Il indique que la température la plus élevée du SSD est de 52,9°C après plusieurs minutes.

Image thermique Waveshare M.2 PCIe HAT Raspberry Pi 5

Température SSD de 256 Go avec GEEKWORM X1001 HAT

J’ai répété le même test avec le GEEKWORM X1001, mais j’ai d’abord dû installer un SSD M.2 2240 de 256 Go. La FAQ du wiki mentionné ci-dessus explique :

Comment réparer le SSD 2230/2242/2260 ?
R : Le X1000 ne réserve pas la colonne d’écrou pour fixer le SSD 2230/2242/2260. Sur la base de notre test, vous pouvez sécuriser le SSD 2230/2242/2260 à l’aide d’une vis M2*6 mm et de 2 écrous M2. Placez un écrou M2 sous le SSD, puis utilisez la vis M2*6 mm et l’autre écrou M2 pour fixer le SSD.

C’est bien, mais je n’ai pas d’écrous M.2 de rechange avec moi, alors j’utilise à la place les adaptateurs et les vis du kit Waveshare, et cela a fait le travail.

Entretoise SSD GEEKWORM X1001 M.2 2242

Raspberry Pi OS X1001 MAKERDISK 256 Go SSD NVMe

Ensuite, je suis allé de l’avant et j’ai exécuté les mêmes commandes de stress et d’iozone.

Tableau de température du chapeau GEEKWORM X1001 M.2 PCIe

La température était d’environ 65-67°C. Il fait plus frais, mais pas vraiment. Ce qui est bien, c’est que la limitation du processeur ne se produit pas du tout avec aucun des HAT et que le refroidisseur actif fait son travail même lorsqu’il est couvert par un HAT. Tous les tests ont été effectués dans une pièce avec une température ambiante d’environ 30-32°C car mon climatiseur sous-dimensionné avait du mal à garder la pièce fraîche avec une température extérieure d’environ 42°C… Voici l’image thermique avec le GEEKWORM X1001 et le 256GB SSD M.2 2242 qui montre que le SSD est assez chaud à 63,4°C.

Image thermique GEEKWORM X1001 M.2 PCIe HAT Raspberry Pi 5

Conclusion

Les SSD Cytron MAKERDISK M.2 NVMe fonctionnent correctement avec le Raspberry Pi 5 en utilisant GEEKWORM X1001 ou Waveshare PCIE vers M.2 HAT+ en modes PCIe Gen2 x1 (5GT/s) ou PCIe Gen3 x1 (8GT/s). Les performances sont à peu près les mêmes pour tous les modèles puisque l’interface PCIe du Raspberry Pi 5 est ici le goulot d’étranglement, même lorsqu’elle est configurée en PCIe 3.0 x1.

Les SSD MAKERDISK NVMe sont vraiment pratiques car ils sont préchargés avec le système d’exploitation Raspberry Pi, ce sera donc une expérience plug-and-play pour la plupart des gens. Ce n’était pas tout à fait le cas pour ma carte, probablement parce que j’avais reçu un premier échantillon du Raspberry Pi 5 et que l’EEPROM n’était pas configurée pour démarrer NVMe par défaut, même après avoir mis à niveau le firmware.

Cytron vend le SSD M.2 NVMe 2280 M-Key MAKERDISK pour 37,25 $ à 81 $ selon la capacité sélectionnée, et le SSD M.2 NVMe 2242 MAKERDISK pour 32,50 $ (256 Go). Tous sont préchargés avec une version récente du système d’exploitation Raspberry Pi. Les deux HAT testés dans la test peuvent également être achetés sur Cytron, et alternativement, vous trouverez également le GEEKWORM X1001 sur Amazon (15 $) et le Waveshare PCIe vers M.2 HAT+ sur Amazon (14,60 $) ou Aliexpress (15,65 $).


Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video

  • Geekworm X1001 PCIe to M.2 NVMe SSD Shield Top for Raspberry Pi 5
  • Waveshare PCIe to M.2 Hat+ Adapter with PoE for Raspberry Pi 5, with Cooler Fan, Support NVMe Drive Protocol 2230/2242 M.2 Solid State Drive & 802.3af/at Network Standard, High-Speed Reading/Writing