首页
产品中心
新闻中心 加入得一 关于得一
首页 技术Blog Blog发布
于细枝末节处计较性能问题
发布时间:2024.01.10

性能是存储设备生产厂家重要竞争力,也是客户最直观了解的方面。得一微在怎么检查性能可优化点,以及长时间使用能维持性能平稳方面,提出了更高的追求。

 

1性能上限

在Host进行写读操作时,性能的上限是由总线的数据传输速度加上Flash操作时间来确定的。一个通道理想的写入状态是,数据总线一直被有效数据占据。这个时候不可避免会存在的影响性能的方面为:


  1. 命令发送时间:无法避免的部分

  2. RB时间:通过切CE等方式解决,这里不做讨论

  3. 非Host数据传输时间:不属于Host使用的Flash带宽

  4. FW运行时间:不能隐藏在Flash操作中的耗时操作


在固定Flash模型之后,就要去尽量的靠近性能上限。实际对Flash进行操作时,会有大量时间不处于理想状态,经常出现实际测量速度小于计算速度。该文章就是在讨论:如何缩短不理想状态的用时占比。


2怎么确认细枝末节

怎样在这些细枝末节处判断,是否能进一步优化呢?较好的方式是使用逻辑分析仪抓取一份时序图。观察时序图中是否有明显数据总线空白时间,以及表格刷新时间是否合理。


下图是抓取的一个较好的写命令波形。可以看到DataBus总是被写入数据占用,没有大量空白的现象。写的过程中,RB总线一直处于繁忙状态,FW没有去等待上一次写命令的RB,而是切换CE进行操作。同时也可以观察到存在数据总线为空白的状态。

 


但是当放大该部分可以看到,足足有400+us是没有进行Flash操作的。在各个接口都加入GPIO8的输出后:就可以根据波形分析出此处在走什么流程,以及怎样去减少不必要的时间损耗。


 

3减少非必须带宽占用

写入Flash的数据可以分为:Host写入数据,表格数据、冗余数据、填充数据。除Host写入数据外,其他数据对Host来说都是不必要的写入,但又是固件运行所需要的。减少非Host数据的刷新,也是对性能的一个优化。


某版本测试下4K随机写入,平均只有30+M/S:


得一微团队发现了该细节,通过减少非Host使用的Flash带宽,得平均性能提升到了70M/S:


最终测试得到两个容量相差一倍的相同颗粒盘,采用了该方案的却能在4K随机瞬时写性能上做到一致,甚至在4K随机满盘更加优秀。

 

4总结

通过在时序图中分析每段时间占用情况,可以更好的了解性能阻塞点。可以分析出产品内部是处于一个什么样的状态?正在处理怎样的事情?耗时是否合理?以及是否可以进行优化?正是得一微团队在细枝末节中不断计较,不断精进,不断优化,用匠心磨砺产品,才能使得产品获得更高的速度、更平稳可靠的状态以及更优的性能表现。



基于如此追求,得一微旗下全自主工业存储解决品牌“硅格 (SiliconGo)”,为行业客户提供完整的工业用固态存储解决方案,产品皆搭载得一微自研的主控芯片,具备宽温、高度客制、高可靠性、高密度封装、大容量等特性,能够保障产品在严苛环境下的数据完整性和可靠性,已广泛应用于轨道交通、工业电脑、服务器、视频监控、网络通讯、电力能源、智能家居、车载等众多领域。


分享到:
得一微微信公众号
扫描二维码,关注得一微