如何读取此 SD 卡读取基准?

如何读取此 SD 卡读取基准?

我多次使用 Ubuntu 的“磁盘”工具读取基准测试,将一张廉价的 128GB 金士顿 microSD(SDXC / UHS-I / ⑩ / U1)卡通过无名 SD 卡读卡器通过 USB-C 端口连接到我的笔记本电脑,并得到了如下图表:

基准测试结果

速度下降50%,访问时间增加。为什么会出现这种情况?这是否意味着卡已坏或即将坏?

答案1

可以解释一下,我不是说它是答案但它基于通用的NAND机制:

我认为该卡中可能存储了大约一半的数据,这意味着该范围内的 LBA 地址被映射到 FTL 中,FTL 是一个将 LBA 地址“映射”到物理 NAND 地址的表。

这意味着另一半 LBA 地址尚未映射到任何物理 NAND 内存地址。一般来说,控制器将直接返回零填充扇区,甚至不会读取 NAND,因此速度非常快。

因此,测试该理论的实验就是将卡片完全填满并重复基准测试。

也可能存在变化,但仍可以通过这种“效果”来解释。例如,此 SD 卡被“修剪”(SD_ERASE):

在此处输入图片描述

我们看到的是 SD 卡上“TRIM”之前和之后的熵图。我们看到驱动器开头为零(黑色表示熵最低),结尾处为重复模式。这可能表明 TRIM 没有机会完成,并可能导致驱动器前半部分读取速度快(因为 NAND 未映射,因此无法访问),而后半部分读取速度较慢。

包含数据的 SSD 与“修剪过的”SSD 可以观察到相同的效果。TRIM“取消映射”LBA 地址,当读取此类地址时,控制器返回零而不读取 NAND(假设 TRIM 后的确定性读取零(RZAT)似乎最常见)。

同样,这个答案可能无法解决 OP 中提出的具体问题,但可以更普遍地解释基于 NAND 的存储设备上不同区域之间的巨大速度差异。

相关内容