Summary of steps to connect the official SSD to the Raspberry Pi 5 and set it as the boot disk & comparison of SSD and microSD card speeds



The official Raspberry Pi SSD, '

Raspberry Pi SSD ', was released on October 23, 2024. The Raspberry Pi development team sent us a 256GB model of the Raspberry Pi SSD, so we used it to check the transfer speed and connection procedure to the Raspberry Pi 5.

Buy a Raspberry Pi SSD – Raspberry Pi
https://www.raspberrypi.com/products/ssd/

Raspberry Pi hardware - Raspberry Pi Documentation
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#nvme-ssd-boot

·table of contents
◆1: Check out the appearance and installed chips of the official SSD
◆2: Benchmark test on Windows PC
◆3: Install it on a Raspberry Pi 5 and install the OS
◆4: Set the official SSD as the boot disk
◆5: Speed comparison between official SSD and official microSD card
◆6: Speed comparison of official SSD and third-party SSD

◆1: Check out the appearance and installed chips of the official SSD
This is the 256GB model of the Raspberry Pi SSD.



When I peeled off the sticker, a memory chip appeared.

Remove the sticker from the Raspberry Pi SSD



The printing on the surface of the memory chip looks like this.

Raspberry Pi SSD memory chip



Various certification marks are printed on the back.

Back side of Raspberry Pi SSD



Also, 'Samsung' and 'MZ9LQ1T0HBL0' were engraved on the top of the back.



◆2: Benchmark test on Windows PC
First, I installed it on a Windows PC and displayed the storage information with

CrystalDiskInfo . I could see that it supports PCIe 3.0.
Raspberry Pi SSD storage information



The results of running the benchmark with

CrystalDiskMark are as follows: sequential read was 2059.23MB/s, sequential write was 1116.15MB/s, random read was 596.12MB/s, and random write was 478.25MB/s.
Raspberry Pi SSD speed test results



With the write cache disabled, sequential read speeds were 1966.85MB/s, sequential write speeds were 526.74MB/s, random read speeds were 742.63MB/s, and random write speeds were 153.19MB/s.

Speed test results after disabling the write cache on the Raspberry Pi SSD



◆3: Install it on the Raspberry Pi 5 and install the OS
There are various ways to install an OS onto a Raspberry Pi SSD, but this time we will use the method of 'copying the entire contents of a microSD card with an OS installed.' The microSD card we will use is the 32GB model of '

Raspberry Pi SD Cards .'
Raspberry Pi SD Cards and Raspberry Pi SSDs



Attach

the Raspberry Pi M.2 HAT+ to the Raspberry Pi 5 and then install the Raspberry Pi SSD on top of it.
Installing a Raspberry Pi SSD on a Raspberry Pi 5



Next, insert the microSD card with the OS installed and turn the power on.

Power on the Raspberry Pi 5



Launch 'SD Card Copier' in the 'Accessories' category in the menu.

Run SD Card Copier



Specify the microSD card as 'Copy From Device' and the Raspberry Pi SSD as 'Copy to Device', check 'New Partition UUIDs', and then click 'Start'.

Setting up SD Card Copier



When you see the warning that 'all data on the destination will be erased,' click 'Yes.'

SD Card Copier Warning



Once copying is complete, close SD Card Copier.

Copy complete



To check if the copy was successful, run the following command:
[code]lsblk[/code]



The execution result will look something like this. If storage with the same partition configuration is displayed, then it's OK.

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk0 179:0 0 29.5G 0 disk
├─mmcblk0p1 179:1 0 512M 0 part /boot/firmware
└─mmcblk0p2 179:2 0 29G 0 part /
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p1 259:3 0 512M 0 part
└─nvme0n1p2 259:4 0 238G 0 part



◆4: Set the official SSD as the boot disk
Next, we will rewrite the firmware settings of the Raspberry Pi 5 so that the OS can be booted from the Raspberry Pi SSD. First, check the firmware version.
[code]sudo rpi-eeprom-update[/code]



If the firmware version is December 6, 2023 or later, no update is necessary. In this case, the September 23, 2024 version was installed, so we will proceed with the work as is.

BOOTLOADER: up to date
CURRENT: Mon 23 Sep 13:02:56 UTC 2024 (1727096576)
LATEST: Mon 23 Sep 13:02:56 UTC 2024 (1727096576)
RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
Use raspi-config to change the release.



To update the bootloader to the latest version, execute the following command to launch the EEPROM settings screen.
[code]sudo raspi-config[/code]



When the following screen appears, select 'Advanced Options'.

EEPROM setting screen



Select “Bootloader Version”.

EEPROM setting screen



Select “Latest”.

EEPROM setting screen



Select “Yes”.

EEPROM setting screen



Once the EEPROM has been rewritten, select 'OK'.

EEPROM setting screen



Select “Finish”.

EEPROM setting screen



You will be asked if you want to restart, so select 'Yes' to restart.

EEPROM setting screen



Now you can boot from the SSD, but in this state, the system will boot from the microSD card if both the SSD and microSD are present, so change the settings to prioritize the SSD. First, run the following command.
[code]sudo raspi-config[/code]



Select “Advanced Options”.

EEPROM setting screen



Select 'Boot Order'.

EEPROM setting screen



Select 'NVMe/USB Boot'.

EEPROM setting screen



Select “OK”.

EEPROM setting screen



Select “Finish”.

EEPROM setting screen



Finally, select 'Yes' and reboot.

EEPROM setting screen



After rebooting, run the following command to check if the system is booting from the SSD.
df -h



The result looks like this. 234GB of storage is allocated to the root directory. In other words, it can boot from the 256GB model of Raspberry Pi SSD.

Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 405M 6.2M 398M 2% /run
/dev/nvme0n1p2 234G 4.7G 217G 3% /
tmpfs 2.0G 368K 2.0G 1% /dev/shm
tmpfs 5.0M 48K 5.0M 1% /run/lock
/dev/nvme0n1p1 511M 76M 436M 15% /boot/firmware
tmpfs 405M 176K 404M 1% /run/user/1000
/dev/mmcblk0p2 29G 4.7G 23G 18% /media/gigazine/rootfs
/dev/mmcblk0p1 510M 76M 435M 15% /media/gigazine/bootfs



◆5: Speed comparison between official SSD and official microSD card
To measure the transfer speed when connecting a Raspberry Pi SSD to a Raspberry Pi 5, we will run

the benchmark tool published by James A. Chambers . The Raspberry Pi 5 used here is a model with 4GB of RAM and no cooling fan.
[code]sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash[/code]



First, here are the test results for the 32GB model of Raspberry Pi SD Cards. The transfer speed of the Raspberry Pi SD Cards was measured with the ' Command Queuing ' function enabled, which helps to increase the speed.

test Raspberry Pi SD Cards 32GB
HDParm Disk Read 90.11MB/s
HDParm Cached Disk Read 90.36 MB/s
DD Disk Write 33.2MB/s
FIO 4k random read 6030 IOPS (24122 KB/s)
FIO 4k random write 2584 IOPS (10338 KB/s)
IOZone 4k read 24043 KB/s
IOZone 4k write 8179 KB/s
IOZone 4k random read 17279 KB/s
IOZone 4k random write 8386 KB/s
Score 2691


And the measurement results for the 256GB model of the Raspberry Pi SSD are as follows. It is overwhelmingly faster than a microSD card.
test Raspberry Pi SSD 256GB (PCIe 2.0)
HDParm Disk Read 419.43MB/s
HDParm Cached Disk Read 412.87MB/s
DD Disk Write 337MB/s
FIO 4k random read 106113 IOPS (424455 KB/s)
FIO 4k random write 88275 IOPS (353103 KB/s)
IOZone 4k read 183361 KB/s
IOZone 4k write 145019 KB/s
IOZone 4k random read 56887 KB/s
IOZone 4k random write 155532 KB/s
Score 37635


The Raspberry Pi 5 runs on PCIe 2.0 by default, but you can change the settings to run on PCIe 3.0. The Raspberry Pi SSD supports PCIe 3.0, so let's change the settings of the Raspberry Pi 5.

First, add the following line to ' /boot/firmware/config.txt '.
[code]dtparam=pciex1_gen=3[/code]



After that, just reboot and you're good to go.
[code]sudo reboot[/code]



The benchmark results when running on PCIe 3.0 look like this.

test Raspberry Pi SSD 256GB (PCIe 3.0)
HDParm Disk Read 804.39MB/s
HDParm Cached Disk Read 741.48MB/s
DD Disk Write 550MB/s
FIO 4k random read 200784 IOPS (803137 KB/s)
FIO 4k random write 94377 IOPS (377511 KB/s)
IOZone 4k read 225633 KB/s
IOZone 4k write 174981 KB/s
IOZone 4k random read 62335 KB/s
IOZone 4k random write 194996 KB/s
Score 49100


Below is a graph showing the benchmark results for 'Raspberry Pi SD Cards 32GB', 'Raspberry Pi SSD 256GB (PCIe 2.0)', and 'Raspberry Pi SSD 256GB (PCIe 3.0)'. The Raspberry Pi SSD is overwhelmingly faster than a microSD card, and can be made even faster by running it on PCIe 3.0.



We also used the storage benchmark tool '

fio ' to measure the speed of 'Raspberry Pi SD Cards 32GB (Command Queueing enabled)', 'Raspberry Pi SD Cards 32GB (Command Queueing disabled)', 'Raspberry Pi SSD 256GB (PCIe 2.0)', and 'Raspberry Pi SSD 256GB (PCIe 3.0)'. The block size used for measurement was 4k. Click on the image to see a larger graph.



◆6: Speed comparison of official SSD and third-party SSD

Below is a graph showing the benchmark results of 'Raspberry Pi SD Cards 32GB' and 'Raspberry Pi SSD 256GB' alongside the benchmark results of 'SUNEAST ULTIMATE PRO 64GB', 'Solidigm P41 Plus 512GB', 'Samsung 950 PRO 256GB', and 'WD Black SN750' which were previously measured. The Raspberry Pi SD Cards have Command Queuing enabled, and all SSDs are running on PCIe 3.0. Click on the image to see a larger graph.



The Raspberry Pi SSD 256GB is relatively inexpensive at $30 (about 4,620 yen), but it can operate at the same speed or faster than third-party SSDs. In addition, its short overall length allows it to fit perfectly into the Raspberry Pi M.2 HAT+. There are no particular disadvantages, so if you are looking for an SSD for the Raspberry Pi 5, we recommend getting the Raspberry Pi SSD.

in Review,   Hardware, Posted by log1o_hf