答案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 的存储设备上不同区域之间的巨大速度差异。