VIOS:基于闪存存储系统的变异感知 I/O 调度器
1. 全局芯片状态向量
为了构建一个能够识别冲突并根据冲突程度利用速度变化的调度算法,提出了全局芯片状态向量来跟踪每个芯片的当前请求数量。全局芯片状态向量主要取决于数据的位置,而数据位置由不同的数据分配方案和 I/O 请求的逻辑扇区号(LSN)决定。
以一个芯片数量为 ChipNum 且每页大小为 PageSize 的 SSD 为例,对于给定的静态分配方案(并行优先级为先通道级并行,再芯片级并行),请求 r 访问的芯片集合可定义为:
[
A_r = \left{ \mu \mid \mu = \left\lfloor \frac{(lsn(r) + \lambda) * SectorSize}{PageSize} \right\rfloor \% ChipNum \right}, \quad 0 \leq \lambda < len(r)
]
其中, lsn(r) 和 len(r) 分别是请求 r 访问的逻辑扇区号和数据大小(以扇区为单位), SectorSize 是扇区大小(以字节为单位)。
对于定义为 (NR0, NR1, ..., NRi) 的全局芯片状态向量(其中 NRi 是芯片 i 的当前请求数量),当将到达的请求推入队列或向 SSD 发出选定的请求时,请求访问的每个芯片的 <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



