文章目录
Pblk: Physical Block Device
物理块设备(pblk)是LightNVM target,实现了完全关联的基于主机的FTL,该FTL公开了传统的块I/O接口。本质上,pblk的主要职责是:
i. 处理控制器和特定介质之间的约束 (例如,缓存必要的数据量来对Flash页进行编程)
ii. 将逻辑地址映射到物理地址(4KB粒度),并确保完整性,最终在面对关联映射表(L2P)崩溃时进行恢复
iii. 处理错误
iv. 实现垃圾回收
v. 处理flush操作:因为典型的闪存页面大于4KB,flush会强制pblk的运行中数据在完成之前存储在设备上,文件系统或应用程序可能需要它
Write Buffering
写缓冲由host进行管理,写缓冲区作为圆环缓冲区进行管理。它在内部分解为两个缓冲区:一个数据缓冲区,用于存储4KB用户数据入口(4KB对应于一个扇区的大小),以及上下文缓冲区,用于存储Perentry元数据。缓冲区的大小是闪存页大小(FPSZ),要写入的闪存页数(下/上页)和PU数(N)的乘积。 例如,如果FPSZ = 64KB,PP = 8,N