M.2 接口

M.2(原名 NGFF,Next Generation Form Factor)是一种为超轻薄设备设计的接口标准,用于连接存储设备、无线模块等。其中,M-KEY 接口是 M.2 接口的一种类型,主要用于连接高性能存储设备(如 NVMe 固态硬盘),也可支持部分 PCIe 扩展设备。

注解

XNIUPI-R系列开发主机目前支持的M.2接口均为 M-KEY 类型!支持NVME SSD,也可以支持其他PCIe扩展卡(如AI加速卡Hailo-8),其他PCIe扩展卡可能需要额外驱动支持,具体情况请咨询技术支持或自行适配。

1. XNIUPI M.2 接口支持情况

XNIUPI-R系列开发主机支持M.2接口情况如下:

产品型号

第二层底板M.2-2Lane

第三层扩展板M.2-2lane

第三层扩展板M.2-1lane

数量合计

XNIUPI-R600

×,不支持

✔,2lane PCIE3.0

✔,1lane PCIE2.0

2

XNIUPI-R700

×,不支持

×,不支持

✔,1lane PCIE2.0

1

XNIUPI-R800

✔,2lane PCIE3.0

✔,2lane PCIE3.0

✔,1lane PCIE2.0

3

第二层底板(仅R800支持)

第三层扩展板(R600/R8002个均支持,R700只支持其中1个)

2. M.2 M-KEY 接口标准引脚定义表

以下是将你提供的 M.2 M-KEY 引脚定义图转换为 Markdown 表格的内容:

引脚号 引脚功能/信号描述 引脚号 引脚功能/信号描述
74 3.3V 75 GND
72 3.3V 73 GND
70 3.3V 71 GND
68 SUSCLK (32kHz) (O) (I/O) (3.3V) 69 PEDET (NPcIe/GND-SATA)
M-KEY 缺口 Connector Key
Connector Key
Connector Key
Connector Key
M-KEY 缺口 Connector Key
Connector Key
Connector Key
Connector Key
58 N/C 57 GND
56 N/C 55 REFCLKP
54 PEWake# (IO) (3.3V) or N/C 53 REFCLKN
52 CLKREQ# (IO) (3.3V) or N/C 51 GND
50 PERST# (IO) (3.3V) or N/C 49 PEtP0/SATA-A+
48 N/C 47 PEtP0/SATA-A-
46 N/C 45 GND
44 N/C 43 PEtP0/SATA-B+
42 N/C 41 PEtP0/SATA-B-
40 N/C 39 GND
38 DEVSLP1 (IO) (3.3V) 37 PEtP1
36 N/C 35 PEtN1
34 N/C 33 GND
32 N/C 31 PERr1
30 N/C 29 PERn1
28 N/C 27 GND
26 N/C 25 PEtP2
24 N/C 23 PEtN2
22 N/C 21 GND
20 N/C 19 PERr2
18 3.3V 17 PERn2
16 3.3V 15 GND
14 3.3V 13 PEtP3
12 3.3V 11 PEtN3
10 DAS/DSS# (II) (IOD) 9 GND
8 N/C 7 PERr3
6 N/C 5 PERn3
4 3.3V 3 GND
2 3.3V 1 GND

注解

M.2 M-KEY 最大支持4lane PCIE,可以兼容1/2/4lane。如果是1lane,则只占用1lane位置,其余引脚悬空;如果是2lane,则只占用2lane位置,其余引脚悬空;如果是4lane,则占用所有数据传输通道!

3. M.2 接口的使用

3.1 NVME SSD(PCIE 硬盘)

在XNIUPI-R系列开发平台的Linux系统下测试M.2 NVMe SSD,可以从检查设备识别情况和测试性能两方面入手,以下是具体操作步骤:

3.1.1 检查设备识别

  1. 确认硬件连接:确保M.2 NVMe SSD已正确安装到RK3588开发主机对应的M.2插槽上,并且安装牢固。

  2. 进入系统:启动R800开发主机,进入Linux系统。

  3. 查看设备信息:打开终端,输入以下命令查看系统是否识别到NVMe SSD:

lsblk

正常情况下,会显示类似nvme0n1这样的设备名称,这就表示系统已经识别到了NVMe SSD。

3.1.2 性能测试

性能测试可以借助fio工具,它是一款功能强大的I/O性能测试工具,能模拟多种I/O负载情况。

  1. 安装fio:在终端中输入以下命令安装fio工具:

sudo apt-get update
sudo apt-get install fio
  1. 顺序读写测试顺序读测试:在终端输入以下命令,测试NVMe SSD的顺序读性能。这里设置测试文件大小为1GB,块大小为1MB,测试时间为10秒。

fio --name=read_test --filename=/dev/nvme0n1 --direct=1 --rw=read --bs=1M --size=1G --runtime=10

顺序写测试:输入以下命令测试顺序写性能,同样设置测试文件大小为1GB,块大小为1MB,测试时间为10秒。

fio --name=write_test --filename=/dev/nvme0n1 --direct=1 --rw=write --bs=1M --size=1G --runtime=10

运行命令后,终端会输出测试结果,重点关注bw(带宽,即读写速度)参数,比如顺序读测试结果中的read: bw=xxxMB/s 就代表顺序读取速度。

  1. 随机读写测试随机读测试:运行以下命令,设置块大小为4K,测试文件大小为1GB,测试时间为10秒。

fio --name=randread_test --filename=/dev/nvme0n1 --direct=1 --rw=randread --bs=4k --size=1G --runtime=10

随机写测试:使用以下命令测试随机写性能,参数设置与随机读类似。

fio --name=randwrite_test --filename=/dev/nvme0n1 --direct=1 --rw=randwrite --bs=4k --size=1G --runtime=10

随机读写测试结果中,同样关注bw参数,随机读写性能对于日常系统操作中频繁的小文件读写至关重要 。

3.2 AI算力卡 Hailo-8

暂略,请用户自行移植!如需技术支持,请联系我们,我司可提供付费技术支持!

3.3 定制AI扩展卡

如果有需要,用户也可以自行定制AI扩展卡,只需要满足对应引脚线序即可!