1.分析起因:
在开发过程中,在打算更换一个emmc(16G的容量储存)物料时候,发现该物料烧录固件的时候速度十分慢。后来通过android bench的性能测试工具发现两者存在明显的速度差异。
(1)烧写固件速度正常的emmc测试速度如下图:
(1)烧写固件速度异常的emmc测试速度如下图:
从上面看出明显,在软件相同的情况下,在顺序写(SEQ_WR)的时候,烧写固件速度异常的emmc的写速度比烧写固件速度正常的emmc慢了四倍。
因此可以得出结论:烧写固件速度异常的emmc有问题,应该是该物料不合格,后来询问物料来源,发现是一块旧料的emmc导致了读写性能下降。后来用了新的物料,测试的读写都正常。
本以为这样就这样给出答案完结了,但是突然一个同事的疑问引起了一下的事情,同事的疑问是"为何这个速度差别那么大,这明显有问题,是不是跟cpu的性能有关系?"(指的的是读写的速度为何只有52m/s,而读的速度却有120m/s)。
2.查看硬件规格参数
看到上面的的提问,通常都知道,读写速度的差异比较大很正常,而且读写速度一般很少牵涉到cpu,除非cpu爆满并且cpu主频很低。
当然上面的理由并不能让别人信服,所以想要拿出证据说话就要从主控以及emmc本身支持的带宽是多少?以及emmc普遍对应的读写速度是多少来说服疑问者。这些都需要一些硬件规格书来获取。
1.emmc规格书
结论:
从emmc规格书中看到,该emmc支持的emm5.0,模式有HS200,HS400双通道,其带宽最大能支持200MHZ。
2.主控支持的速度
(1)查看rk3326 cpu参数规格
(2)以及dts设备树的配置支持:
结论:
主控这边支持emm4.51,HS200模式,最大带宽为150MHZ.
3.普遍的emmc模式以及emmc版本对应读写速度
emmc模式对应的读写速度:
emmc各个版本一般的速度对比: