Tested/verified compatible M.2 NVMe
We really appreciate it if you could share the vendor/model/capacity of your NVME to ODROID forum when your NVMe is not listed.
This is the list of tested M.2 NVMe SSD devices with ODROID-M1.
Vendor | Model | Capacity | Benchmark |
---|---|---|---|
Acer | AT500M | 256/500GB | click |
ADATA Technology | XPG SPECTRIX S20G | 512GB | |
XPG SX8200 | 1TB | click | |
Crucial | P1 3D NAND | 1TB | click |
P2 SSD | 512GB | ||
2TB | click | ||
Phison | PS5012-E12 | 128GB | |
PNY | CS1031 | 512GB | |
CS3030 | 2TB | click | |
Kingston | SNVS500G | 500GB | click |
A2000 | 250GB | click | |
LEVEN | JP600 | 256GB | click |
Samsung | PM981 | 256GB | click |
PM981A | 1TB | click | |
PM9A1 | 512GB | ||
SSD 970 EVO Plus | 500GB | click | |
click | |||
2TB | click | ||
SSD 970 Pro | 256GB | click | |
1TB | |||
SSD 980 | 500GB | click | |
1TB | click | ||
SSD 980 Pro | 156GB | click | |
Teamgroup | MP33 | 512GB | click |
click | |||
MP34 | 4TB | click | |
Western Digital | SN550 | 500GB | click |
click | |||
SN750 | 500GB | click | |
SN850 | 1TB | click |
Note that PCIe Gen3 SSDs are needed to get the best performance with M1 due to RK3568's PCIe limitation being Gen3 two lanes only.
As such every Gen2 x4 SSD will only be able to establish a Gen2 x2 connection halfing its sequential transfer speeds as well as harming random I/O performance.
Actual Base Clock Speed : PCIe 3.0 (Gen3) = 8.0GHz, PCIe 2.0 (Gen2) = 5.0GHz .
Ideal Data Rate per lane : PCIe 3.0 = 1000MB/s, PCIe 2.0 = 500MB/s
PCIe 2.0 uses an 8b/10b encoding scheme
PCIe 3.0 uses an 128b/130b encoding scheme for faster data transfer rate
NVMe benchmark test
Please be aware of performing a storage benchmark could cause a data loss on a target storage, one must make sure data in the storage is backed up before start.
Installing performance test packages
sudo apt install fio iozone3
Performance test
Sequential read
sudo fio --filename=/dev/nvme0n1 --direct=1 --rw=read --bs=1024k --ioengine=libaio \ --iodepth=64 --size=4G --runtime=10 --numjobs=4 --group_reporting \ --name=fio-rand-read-sequential --eta-newline=1 --readonly | grep READ
Random read/write
sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2