Queue depth 增益(SSD/flash,etc)

本文探讨了Queue深度在SATA/PCIE/UFS等存储设备中对性能的增益,通过概率统计分析,说明Queue深度如何影响数据读写效率。以16辆车过桥的类比解释了Queue深度增益的计算方法,并具体阐述了在Random read情况下,随着queue depth增加,如何计算不同die上的数据和映射读取组合,以确定总时间。递归编程方法被提及用于处理die数量变化的情况。
摘要由CSDN通过智能技术生成

SATA/PCIE/UFS 都支持Q的操作,即一次性发多个R/W命令。它的performance 增益并不是简单的乘以queue depth。每个queue落到die上是随机的,因此需要通过概率来统计这个值。对于Queue的增益,我们做一个简单的类比问题:假设有16辆车要过桥,每辆车过桥的时间是1秒,假如有4座桥(A,B,C,D),但这16辆车是随机上其中一座桥的,那平均一辆车过桥的时间是多少? 我们假定这个值是x,如果4座桥每次只有1辆车过桥,那16辆车过桥就要16秒,其实每辆车过桥时间是1秒。如果16辆车随机上4座桥,每辆车的过桥时间是x,那增益就是 1/x.
那现在的问题就是如何算x.
对于Ramdom read(4KB),假设map不是全部存放在DRAM中,只有一部分放在DRAM中。读map的时间假设为y,由于有一部分的map在DRAM中,map hit的概率设为H,那一笔map的读的时间就为y(1-H). 当queue depth = 1 时,一笔4KB的读,所消耗的时间为1+y(1-H).
假如queue depth 为n, 那就有n笔 data read + n笔 map read,如果die 并行的数目是4,那一共有 4n 种cases.
首先,我们需要如何罗列出这所有的排列组合:假设die A中有a 笔 data read + i 笔 map read, 组合数为 CanCin ; die B中有 b 笔 data read + j 笔 map read,组合数为 CbnaCjni ; die C中有c笔data read + k 笔 map read CcnabCknij ; Die D 中有 d 笔 data read + l 笔 map read, C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值