如何获取 SSD 中给定 LBA 的 PBA

如何获取 SSD 中给定 LBA 的 PBA

设备: SATA SSD 和 NVMe SSD(CHS 转换不起作用)
我可以通过以下方式获取文件的正确 LBA(postgresql-data/base/13495/5002

> sudo hdparm --fibmap postgresql-data/base/13495/5002

 filesystem blocksize 4096, begins at LBA 2048; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0  843338528  843338543         16

但我想知道这些 LBA 的物理块地址。在 HDD 中,这可以通过 CHS 转换轻松实现。但 SSD 具有存储 LBA-PBA 映射表(L2P 表)的 FTL。我必须知道这个表才能知道 PBA。如何做到这一点?

我为什么问

从显示的结果来看sudo hdparm --fibmap,文件似乎是按顺序存储在磁盘中的(即从 LBA 843338528 到 843338543)。但它显示的是事实吗?

所以我想弄清楚文件是否位于 SSD 的不同封装(芯片)/模具/平面/块中(如下图所示:https://www.memblaze.com/en/images/xin-pic10.jpg),或者一个文件只存储在一个封装(芯片)/模具/平面中。

谢谢!

相关内容