SD nand flash 简单的读写速度测试
- 背景
- 和常见SD卡比较
- 测试环境介绍
- 测试的具体步骤及结果
背景
SD nand flash 可以看作是兼容了SD协议的nand flash:
SD nand flash = SD卡控制器 + nand flash
以上结构可以看出,SD要火拼的是SD卡(至于拼不拼的过,会后面特性比较来看),但存储核心是Nand flash,除了像SD卡一样简单好用外,还由于普遍是SLC单元,有寿命长,使用稳定的特点;
下图为SD nand flash 的常见样式,也是本次测试的样品,速度是Class8的,型号是XTSD08GLGEAG (1GiB, LGA 8*6mm封装);
和常见SD卡比较
SD nand flash的优点:
- 一般是SLC单元的,寿命长,擦写寿命高达100000次,从而使用很稳定,适合工业方面的复杂的场景使用;
- 由于是LGA8 封装的,可以直接贴在PCB上,方便用户把产品设计成防水防尘的,因为不用SD卡座, 同时也会省点费用;
- 因为容量小,单品价格低;
SD nand flash的缺点:
- 容量小,基本都在8GiB以下的,性价比也不高,以淘宝店歪朵拉开源硬件店挂的CSNP1GCR01-AMW (128MiB)产品来看,单品价格为¥10.9,单位容量的价格是¥87.20/GiB, 是普通卡价格的87倍;
- 速度相对慢,可能容量做的不大,速度在class 8左右;
常见SD卡的优点:
- 容量大,一般是8GiB以上容量的;
- 性价比高,以金士顿32GB (¥29.9)来算,单位容量的价格是 ¥29.9/29.8GiB= ¥1.00/GiB;
- 速度快,class 10以上规格;
常见SD卡的缺点:
- 一般是MLC单元的,可能有些TLC的,总之一个单元的擦写寿命就在5000次左右(TLC寿命1000次);不过也不必太担心,如果不是很变态的整片都存满东西的话,SD卡内部有做擦写均衡的,会延长一些寿命,比如平时只用一般的容量的话,整片的擦写寿命应该在5000*2=10000次,寿命延长一倍,总之在用户数据固定的情况下,容量越大,寿命越长;
- 要使用SD卡座子连接器,要点费用,且座子可能存在后续氧化和松动的风险;
- 因为容量大,单品的价格较高;
测试环境介绍
本节是参考文章>> 收到了3片SOP8封装的SD卡芯片,【读11.3MB/s,写5.5MB/s @MT7688】<<的方法,做的简单测试;
- 用到的硬件是:SD nand flash + SD卡转换板 + Widora-NEO MT7688AN开发板(openwrt):
SD nand flash的其他信息:
Cid = 0x0B585458545344411134847A7A013341
Csd = 0x007F0032535A81EEEEBBFF9F168000D1
测试的具体步骤及结果
-
不屁话,先使用SD读卡器和电脑的硬盘测试工具直接怼,结果是:
sequential read 19.64MiB/s
sequential write 9.38MiB/s
-
在 Widora-NEO MT7688AN开发版上直接内存里面的文件测试读写,思路是先创建一个50MB的随机内容的文件,然后在内存和SD卡直接来回复制一次,并计算出复制所花费的时间,通过计算得出速度,结果为:
读取速度 30.48MiB/s
写入速度 7.98MiB/s2.1 先查看设备加载上没,可以通过开机日志来看:
2.2 在/tmp(这个文件夹已映射到内存里面去了)下创建一个新文件夹,挂在SD nand flash,并把SD填充快满的状态:cd /tmpmkdir sd_cardmount /dev/mmcblk0p1 /tmp/sd_carddd if=/dev/urandom of=/tmp/sd_card/test_data10 bs=1024k count=928
2.3 创建一个60MiB的随机内容的文件test_data 到内存中:
dd if=/dev/urandom of=/tmp/test_data bs=1024k count=60
2.4 从运行内存拷贝文件到SD nand flash,测写入速度:
60/8.12=7.38MiB/s
2.5 从SD nand flash复制文件到运行内存,测读取速度:
60/4.21=14.25MiB/s
2.6 多测试几次看曲线情况:
本文链接:https://my.lmcjl.com/post/9110.html
4 评论