"); //-->
1). 简介
NXP iMX8系列应用处理器是NXP发布的基于Cortex-A72/A53/A35和Coretex-M4/M7等架构的ARM处理器,对于存储部分,主要支持MMC 5.1、SD Memory Card 3.0、SATA 3.0、USB 3.0总线,本文就基于上述总线连接相应存储外设进行一些简单的性能对比测试。
本文所演示的ARM平台来自于Toradex 基于NXP iMX8QP ARM处理器的Apalis iMX8QP ARM嵌入式平台。
2). 准备
a). Apalis iMX8QP ARM核心版配合Ixora 载板,连接调试串口UART1(载板X22)到开发主机方便调试。
b). Apalis iMX8 核心板安装Toradex Ycoto Linux Console image V3.04版本,详细信息请参考这里。
c). 测试设备:
./ Apalis iMX8QP 核心板板载Micron 16GB eMMC存储
./ Kingston 240G SATA 3.0 mSATA 存储
./ Toshiba 64GB USB 3.0 USB存储盘
./ Kingston 8GB SDHC 4 Micro SD存储盘
3). 测试流程
a). 测试工具软件
./ 读测试:hdparm 和 dd 工具,都是系统自带的
./ 写测试:dd工具,系统自带
b). Apalis iMX8QP核心板自带eMMC测试
./ 读性能 – hdparm测试
---------------------------------
root@apalis-imx8:~# hdparm -tT --direct /dev/mmcblk0
/dev/mmcblk0:
Timing O_DIRECT cached reads: 326 MB in 2.00 seconds = 162.78 MB/sec
Timing O_DIRECT disk reads: 488 MB in 3.00 seconds = 162.59 MB/sec
---------------------------------
hdparm读测试性能为 162MB/s
./ 写测试 – dd测试,先将缓存全部写入磁盘,然后开始完成数据写入(5000MB数据)并写入磁盘的操作,避免系统缓存的干扰
---------------------------------
root@apalis-imx8:~# sync;time -p bash -c "(dd if=/dev/zero bs=1M count=5000 of=/home/root/test.file;sync)"
5000+0 records in
5000+0 records out
real 115.24
user 0.02
sys 30.49
---------------------------------
dd写测试性能为43MB/s
./ 读测试 – dd测试,先清空缓存,再读取刚写测试写入的文件
---------------------------------
root@apalis-imx8:~# echo 3 > /proc/sys/vm/drop_caches ;time dd if=/home/root/test.file of=/dev/null bs=1M
[12721.556361] sh (4312): drop_caches: 3
5000+0 records in
5000+0 records out
real 0m24.649s
user 0m0.013s
sys 0m7.882s
---------------------------------
dd读测试性能为203MB/s
c). mSATA存储测试
./ 读性能 – hdparm测试
---------------------------------
root@apalis-imx8:~# hdparm -tT --direct /dev/sda
/dev/sda:
Timing O_DIRECT cached reads: 536 MB in 2.00 seconds = 267.78 MB/sec
Timing O_DIRECT disk reads: 834 MB in 3.00 seconds = 277.81 MB/sec
---------------------------------
hdparm读测试性能为 278MB/s
./ 写测试 – dd测试,首先确保mSATA磁盘分区为Linux EXT3分区而不是FAT32分区,避免4GB文件容量限制;然后写入20000MB数据进行测试
---------------------------------
root@apalis-imx8:~# sync;time -p bash -c "(dd if=/dev/zero bs=1M count=20000 of=/media/sda1/test.file;sync)"
20000+0 records in
20000+0 records out
real 166.53
user 0.10
sys 136.55
---------------------------------
dd写测试性能为120MB/s
./ 读测试 – dd测试,先清空缓存,再读取刚写测试写入的文件
---------------------------------
root@apalis-imx8:~# echo 3 > /proc/sys/vm/drop_caches ;time dd if=/media/sda1/test.file of=/dev/null bs=1M
[ 1451.601563] sh (4302): drop_caches: 3
20000+0 records in
20000+0 records out
real 1m11.699s
user 0m0.077s
sys 0m43.444s
---------------------------------
dd读测试性能为279MB/s
d). USB 3.0磁盘测试
./ 读性能 – hdparm测试
---------------------------------
root@apalis-imx8:~# hdparm -tT --direct /dev/sdb
/dev/sdb:
Timing O_DIRECT cached reads: 164 MB in 2.01 seconds = 81.47 MB/sec
Timing O_DIRECT disk reads: 230 MB in 3.01 seconds = 76.29 MB/sec
root@apalis-imx8:~# hdparm -tT --direct /dev/sdb
---------------------------------
hdparm读测试性能为 76MB/s
./ 写测试 – dd测试,FAT32分区,写入3000MB数据进行测试
---------------------------------
root@apalis-imx8:~# sync;time -p bash -c "(dd if=/dev/zero bs=1M count=3000 of=/media/sdb1/test.file;sync)"
3000+0 records in
3000+0 records out
real 207.67
user 0.00
sys 24.04
---------------------------------
dd写测试性能为14MB/s
./ 读测试 – dd测试,先清空缓存,再读取刚写测试写入的文件
---------------------------------
root@apalis-imx8:~# echo 3 > /proc/sys/vm/drop_caches ;time dd if=/media/sdb1/test.file of=/dev/null bs=1M
[ 3962.950390] sh (4302): drop_caches: 3
3000+0 records in
3000+0 records out
real 0m35.672s
user 0m0.028s
sys 0m7.581s
---------------------------------
dd读测试性能为84MB/s
e). SD Memroy Card测试
./ 读性能 – hdparm测试
---------------------------------
root@apalis-imx8:/# hdparm -tT --direct /dev/mmcblk1
/dev/mmcblk1:
Timing O_DIRECT cached reads: 44 MB in 2.04 seconds = 21.60 MB/sec
Timing O_DIRECT disk reads: 66 MB in 3.03 seconds = 21.77 MB/sec
---------------------------------
hdparm读测试性能为 22MB/s
./ 写测试 – dd测试,FAT32分区,写入3000MB数据进行测试
---------------------------------
root@apalis-imx8:/# sync;time -p bash -c "(dd if=/dev/zero bs=1M count=3000 of=/media/mmcblk1p1/test.file;sync)"
3000+0 records in
3000+0 records out
real 564.41
user 0.02
sys 35.04
---------------------------------
dd写测试性能为5MB/s
./ 读测试 – dd测试,先清空缓存,再读取刚写测试写入的文件
---------------------------------
root@apalis-imx8:/# echo 3 > /proc/sys/vm/drop_caches ;time dd if=/media/mmcblk1p1/test.file of=/dev/null bs=1M
[ 1638.664693] sh (4292): drop_caches: 3
3000+0 records in
3000+0 records out
real 2m29.023s
user 0m0.011s
sys 0m5.625s
---------------------------------
dd读测试性能为20MB/s
4). 测试结果
a). 表格
hdparm读测试(MB/s) | dd读测试(MB/s) | dd写测试(MB/s) | |
板载Micron 16GB eMMC存储 | 162 | 203 | 43 |
Kingston 240G SATA 3.0 mSATA 存储 | 278 | 279 | 120 |
Toshiba 64GB USB 3.0 USB存储盘 | 76 | 84 | 14 |
Kingston 8GB SDHC 4 Micro SD存储盘 | 22 | 20 | 5 |
b). 柱状图

5). 总结
本文基于NXP iMX8产品测试了包括eMMC、SATA、USB、SD存储外设性能供参考,由于存储设备的传输速率受接口协议,容量,测试工具软件,系统总线等众多因素影响,本文测试数据仅供横向对比参考,不能作为相应接口传输标准判定。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
P87LPC767 768 769单片机AD实例程序
晶圆代工竞争正迎来一个重要的转折点
澜起科技港股上市首日暴涨57%
美女机器人空灵开唱 面部表情逼真 外形动作与真人几乎无异
ADI在线研讨会:工业应用中传感器数据无线通信
印度启动4座芯片厂,目标是75%的本地产量
ADI实验室电路-完整版
全球云计算市场迎来重大价格调整
[求助]哪位可以介绍一下s3c4510接双网口的电路连接方法
P87LPC767 OTP单片机数据手册 (英)
Multisim- Analog Devices Edition
SKiiPPACK的单元电路
IGBT的VCR(压控电阻)等效电路模型
标准MiniSkiiP电路
P87LPC764 OTP单片机数据手册 (英)
中国GPU厂商推出新架构和产品,瞄准英伟达
两单元IGBT模块的寄生电感
ADI实验室电路-工程师版
高薪诚聘
[求助]请教s3c4510接双网口的电路连接方法
IGBT和续流二极管的功率模块单元图
预计2026年全球半导体行业年销售额将达到万亿美元
P87LPC762_4勘误
博通可能面临64.89亿美元的罚款
基础教程: 理解数据采样系统
P87LPC764功能测试版 (内容有电路原理图、PCB、汇编源代码、...
如何获得进入异常前的SP指针
有开发PPPOE协议的吗?PSOS系统的
新思科技葛群即将离职,姚尧临时接任
AI与通用服务器同步发威 台系供应链迎接最强第一季