What kind of SSD can be used?

Hello there :wave:

I’ve seen in the documentation the the VisionFive2 has a M.2 M-Key connector.
In this documentation I read:

VisionFive 2offers an M.2 M-Key SSD socket with 1 × PCIe 2.0 interfaces, providing high speed storage access.

Would anyone have a recommendation on a SSD that proved working on that board?

Thanks. :pray:

Kioxia RC20 500GB,Western Digital SN570 250GB


Thanks a lot @Selina :pray:

Hello together,

the western digital 250GB works with the debian starfive image.

My VisionFive 2 arrived yesterday and I’ve been playing with it. I’ve got a slightly old 250GB 960 EVO (NVMe) attached to it and working fine, but any NVMe or SATA M.2 drive should work.

However… it’s currently being held down with packing tape. The shipment didn’t come with a mounting screw for the M.2. What size screw is it? I pulled a M.2 screw from the only motherboard with M.2 I had easy access to and it was too small, so it doesn’t look like the screw sizes are universal.

I use hikvision E3000 256G, it works perfectly.

cwt@starfive:~$ lspci |grep SSD
0001:01:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1202 (rev 01)

read speed from hdparm:

cwt@starfive:~$ sudo hdparm -tT /dev/nvme0n1

 Timing cached reads:   1290 MB in  2.00 seconds = 645.30 MB/sec
 Timing buffered disk reads: 558 MB in  3.00 seconds = 185.74 MB/sec
1 Like

What difference do you see between SD card and NVMe performance?

Thank you!

From my experience, the random I/O performance improves, in turn making the boot-up process feel faster. But if, like me, you use your Raspberry Pi (or rather, VisionFive 2) as a server or development machine, you will not notice any impactful difference.

Thanks for comment. Found the SanDisk Extreme Pro which is not that bad in reads and writes. SDSQXCU-064G-GN6MA

I’ll go with that one for now…

Did you find out if this SD card works for you?

Yes, it works.

1 Like

My NVME disk didn’t work out: “can’t change power state from D3cold to D0” ([ 0.000000] Linux version 5.15.0-starfive (sw_buildbot@mdcsw02) (riscv64-unkn - Pastebin.com). What could be wrong?

lspci however identifies this NVM (Netac NV3000), but no traces of /dev/nvm* at all.

Hello @koto,

could you do an lsblk -f if an device nvme0n1 is visible ?

It shows exactly a single SD card. ‘nvme list’ shows nothing as well.

hello @koto,

could you attach an print screen. And which image do you use ?
SDCard.img or the the debian. I dont have the command nvme on the debian image.

Please send the output of lsblk -f or lspci

@dtometzki I use debian.starfivetech.com image. And it has beautiful updates from snapshot.debian.org (although port itself marked as unstable).

Here’s lsblk output: Imgur: The magic of the Internet

I see some error from your attached booting log:

[    3.917409] pcie_plda 2c000000.pcie: AXI fetch error
[    3.941642] nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0
[    3.941654] nvme nvme0: Removing after probe failure status: -19

would you mind let me know which power adapter do you use?


@Michael.Zhu oh gosh. I changed to another supply and it works now. Thanks a lot!


I thought I used an m2x6 wafer head on mine, but I’ll check in a few

For now I tried SN570 500GB and it showed up for the first time:

[    3.707809] nvme nvme0: pci function 0001:01:00.0
[    3.715603] pci 0001:00:00.0: enabling device (0000 -> 0002)
[    3.721853] nvme 0001:01:00.0: enabling device (0000 -> 0002)

some time later after few restarts I wanted to check its speed and it was not visible :frowning: dmesg shows some errors:

[    3.784570] nvme nvme0: pci function 0001:01:00.0
[    3.801931] nvme 0001:01:00.0: enabling device (0000 -> 0002)
[    4.317005] nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0
[    4.344851] nvme nvme0: Removing after probe failure status: -19

Being sure that it worked before I restarted board and it was visible and working ok.

1 Like