驱动器管理的 SMR 驱动器中的写入指针会被重置吗?

驱动器管理的 SMR 驱动器中的写入指针会被重置吗?

我拥有一台 Seagate Expansion Desktop 5TB 外置硬盘,根据 ,其中包含一个 ST5000DM000 hdparm。虽然在互联网上找到的信息尚无定论,但我强烈怀疑该驱动器使用叠瓦式磁记录-- 我观察到的 I/O 模式很难用其他方式解释。显然,它是驱动器管理的,因此对用户(和操作系统)来说是透明的。

在阅读有关该技术的文章时,我发现对于即将推出的主机管理(部分主机感知)类型,驱动器的每个区域都将有一个关联的写入指针,并且设备驱动程序和文件系统必须始终继续在该位置写入区域。或者,要完全重写区域,可以将写入指针重置为开头。我假设驱动器管理的 SMR 驱动器采用相同的原理,驱动器控制器管理区域访问。任何未恰好落在写入指针上的写入都将首先放入随机访问持久缓存中,从而在大多数情况下保持速度。

但是,由于操作系统不知道这是一个 SMR 驱动器(即使它猜对了,也不知道区域边界在哪里),因此它无法告诉驱动器重置区域的写入指针。一旦区域首次填满,任何后续写入命令(不会一次写入整个区域)都将触发读取-修改-写入循环。至少,这是我的假设,为什么我无法传输连续的 100 GB 文件,而前 20 GB 左右的速度会降低到个位数 MB/s。(它很可能正在写入驱动器中之前被一个大文件占用的区域,而该文件后来已被删除。)

那么,有谁知道,或者有谁甚至想知道是否有任何方法可以告诉驱动器管理的 SMR 驱动器,特定区域不再包含任何有用的数据,并且可以安全地进行部分覆盖而无需先经过缓存?(我可以想象一个安全擦除来触发这一点,但这几乎不是一个例行公事。)

相关内容