SSD 后端顺序写理论性能评估方法

  SSD项目开展之前,经常需要评估SSD的理论性能,本文中着重评估后端理论性能。首先假设当前NAND Flash 具备以下参数特征:

  •   plane: 4
  •   tR = 42us;
  •   tProg = 630us / page;
  •   lun: 2;
  •   单die 1Tb 容量,即单die 128GB;
  •   NAND Flash 配置带宽为800MB/s,Frequency为400MHz;

 理论计算的基本模型为:数据量/所需时间=带宽;

以2TB容量的SSD为例,计算其理论性能大小:

1、顺序program 性能: program 一次的数据量为:16KB * 3 * 4 plane= 48 *4 = 192KB; 数据传输时间:tDMA = (18KB * 3 * 4)KB/800MB/s = 270us; TLC Program 时间约为:630us * 3 = 1890us; 

2、对于单CH,单CE而言,顺序的情况下,其性能约为: 192KB / (270us + 1890us) = 88.8 MB/s; 

 

    对于常见的顺序写性能调优中,可以参照如下模型:

 1、一条Program 命令的耗时可以分为两个部分:tDMA和tProg; 其中tDMA 与NAND 带宽相关,tProg与NAND颗粒相关;

 2、对于某一个CE而言(并发的最小粒度),整个Program时间为:T = tDMA+tProg;

 3、对于顺序写场景,考虑host 会连续不断发送写命令,CE1 所需要的时间可以接在CE0所消耗的时间后面,如上图中CE0后面的红色时间段;同样的CE2所消耗的时间可以接在CE1后面;

      那么考虑两个CE并发(命令维度)时,同时,tProg 远大于tDMA,此时写的耗时为:T1 = tDMA + tProg(传输了两个CE Program的数据量);

      假设 tProg >= N * tDMA; 则当CE NUM = M,且 M <= N 时,顺序写M个CE的耗时 依旧为:T1;

      若此时M = 4, 此时顺序写的性能为: 数据量(192KB * 4)/(270us + 1890us) = 341.3 MB/s ; 若CH 数为8,则顺序写最大后端性能为:341.3MB/s * 8= 2730.4 MB/s;

4、基于上述的分析,若CE数量为8时,依旧期望并发性能最大,则需要降低tDMA 消耗的时间,才能使顺序写性能最大;

 

  以上总结仅为个人理解,欢迎各位同行指正~~~

 

posted @ 2024-03-18 14:22  咸鱼书生  阅读(299)  评论(0编辑  收藏  举报