U盘是一种便携的存储介质,可以在不同设备之间传输数据和文件,也可以作为启动或扩展设备,运行、调试和测试不同的操作系统或应用程序。要选择合适的U盘来配合开发板进行项目开发,则需要考虑容量、读写速度、接口类型、兼容性和可靠性等因素。
本文将使用万象奥科基于HD-G2UL-CORE工业级核心板设计的HD-G2UL-EVM评估板为大家演示如何挑选读写速度合适的U盘作为开发板项目开发。
1.测试结果
表1.1 测试结果
U盘 | 写 | 读 |
---|---|---|
海康威视 USB3.0 64GB | 6.0 MB/s | 22.1 MB/s |
闪迪USB3.0 16GB | 10.2 MB/s | 31.5 MB/s |
爱国者USB3.0 64GB | 5.7 MB/s | 31.5 MB/s |
金士顿USB3.0 32GB | 6.5 MB/s | 33.9MB/s |
闪迪 USB2.0 1GB | 9.1 MB/s | 18.1 MB/s |
爱国者USB2.0 32GB | 5.5 MB/s | 19.6 MB/s |
从表1.1 测试结果中可以看出,USB3.0的U盘在读取速度上都比USB2.0的U盘快,但在写入速度上没有明显差异。其中,闪迪 USB3.0 16GB的U盘在写入和读取速度上都是最快的,分别达到了10.2 MB/s和31.5 MB/s,其次是金士顿。而海康威视 USB3.0 64GB的U盘在写入速度上是最慢的,只有6.0 MB/s,其次是爱国者。
综上所述:如果需要一个容量大、速度快、安全可靠的U盘,可以选择闪迪 USB3.0 16GB的U盘,因为它在写入和读取速度上都是最快的;如果需要一个容量小、速度慢、价格便宜的U盘,可以选择闪迪 USB2.0 1GB的U盘,因为它在写入速度上比其他USB2.0的U盘都要快一些,而且价格较便宜;如果需要一个容量中等、速度一般的U盘,则可以选择金士顿 USB3.0 32GB的U盘,因为它在读取速度上是最快的USB3.0的U盘之一。
2. 测试原理
2.1dd命令
1.Linux dd 命令用于读取、转换并输出数据。
2.dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
3.测试指令如下:
写速度测试:dd if=/dev/zero of=$mount_point/largefile bs=16k count=16384 oflag=direct
清除页面缓存:sync && echo 3 > /proc/sys/vm/drop_caches
读速度测试:dd if=$mount_point/largefile of=/dev/null bs=16k count=16384
2.2dd的相关解释
if 代表输入文件。如果不指定 if,默认就会从 stdin 中读取输入。
of 代表输出文件。如果不指定 of,默认就会将 stdout 作为默认输出。
bs 代表字节为单位的块大小。
count 代表被复制的块数。
/dev/zero 是一个字符设备,会不断返回 0 值字节( )。
3. 测试过程
3.1硬件准备
HD-G2UL-EVM评估板(512MB 8GB)、网线、Type-c数据线、5V电源适配器、电脑主机。
3.2测试准备
准备5种以上不同规格品牌U盘,如表3.1所示。
表3.1 测试U盘
3.3测试环境
图3.1 测试环境
3.4读写测试
以读写FAT32文件系统为例,写读大小为256MB的文件。
3.4.1海康威视 USB3.0 64GB
进行写性能测试...预计写入256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 44.4863 s, 6.0 MB/s
清除缓存...
进行读性能测试...预计读256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 12.1501 s, 22.1 MB/s
测试时长: (0 hours 1 minutes 4 seconds.)
测试完成!
3.4.2闪迪USB3.0 16GB
进行写性能测试...预计写入256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 26.2853 s, 10.2 MB/s
清除缓存...
进行读性能测试...预计读256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 8.51293 s, 31.5 MB/s
测试时长: (0 hours 0 minutes 42 seconds.)
测试完成!
3.4.3爱国者USB3.0 64GB
进行写性能测试...预计写入256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 46.8673 s, 5.7 MB/s
清除缓存...
进行读性能测试...预计读256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 8.53448 s, 31.5 MB/s
测试时长: (0 hours 1 minutes 2 seconds.)
测试完成!
3.4.4金士顿USB3.0 32GB
进行写性能测试...预计写入256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 41.2719 s, 6.5 MB/s
清除缓存...
进行读性能测试...预计读256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 7.92642 s, 33.9 MB/s
测试时长: (0 hours 0 minutes 56 seconds.)
测试完成!
3.4.5闪迪 USB2.0 1GB
进行写性能测试...预计写入256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 29.5702 s, 9.1 MB/s
清除缓存...
进行读性能测试...预计读256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 14.809 s, 18.1 MB/s
测试时长: (0 hours 0 minutes 51 seconds.)
测试完成!
3.4.6爱国者USB2.0 32GB
进行写性能测试...预计写入256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 49.1139 s, 5.5 MB/s
清除缓存...
进行读性能测试...预计读256M大小的largefile文件
16384 0 records in
16384 0 records out
268435456 bytes (268 MB) copied, 13.6685 s, 19.6 MB/s
测试时长: (0 hours 1 minutes 10 seconds.)
测试完成!