当驱动器不旋转时,硬盘驱动器如何为主机设备提供文件/目录列表?

ell*_*t94 17 storage hard-drive

在我使用过的几个较新的硬盘上,我注意到它们在不使用时通常会停止旋转 - 大概是为了节省能源并延长其使用寿命。然而,有趣的是,我还观察到,当驱动器没有旋转时,我仍然能够从驱动器的顶层获取目录列表 - 以及它下面的文件夹。当我打开一个实际文件时,驱动器会旋转 - 但是当驱动器没有物理旋转时,如何提供目录列表?

Mok*_*bai 67

缓存。

操作系统和驱动器都有缓存最近使用的驱动器数据。如果数据在缓存中,那么它不需要直接进入磁盘盘片。

目录列表数据很可能会被缓冲,特别是如果您最近访问过该目录。

现代旋转驱动器的缓存高达 64MB,而您的操作系统几乎拥有程序当前未使用的所有内存。

  • [希捷 IronWolf 8TB (ST8000VN004)](https://www.seagate.com/www-content/datasheets/pdfs/ironwolf-16tb-DS1904-16-2005US-en_US.pdf) 有 256 MB 的缓存。 (12认同)
  • 文件分配表 (FAT) 并没有那么大。最多几个MB。基本上总是缓存,因为每个驱动器访问都会首先到达那里。 (11认同)
  • 特别是,操作系统可以在驱动器**安装**时*聪明地*读取整个文件表,并且永远不会再碰它。对文件的修改(例如重命名、移动)首先写入内存,然后在某个时候刷新到硬盘驱动器,现在需要启动电机 (6认同)
  • 例如,我最近注意到我的 Windows 在内存中保留了多达 10GB 最近访问过的文件(有时是整个电影)。当不使用内存时,这非常有意义。 (2认同)
  • NTFS 有 [4% 开销](https://superuser.com/a/621052/997339) 用于主文件表,而 ext4 有 [1.6% 开销](https://serverfault.com/a/310600) 用于主文件表节点。因此,在 8TB NTFS 格式的驱动器上,ntfs 的开销约为 320MB。由于希捷 Ironwolf 有 256 MB 的缓存,其中大部分,尤其是经常使用的子树,可以整齐地放入基于 NAND 的缓存的驱动器中。 (2认同)

Sch*_*ern 9

除了传统的缓存之外,它还可以是混合驱动器(SSHD)。它看起来像一个普通的旋转磁盘,但还包含一个小型 SSD。我们的想法是以旋转磁盘的价格/大小为最常访问的数据获得 SSD 的性能。

SSD 可以达到 8 GB,例如名称笨拙的Seagate Firecuda。如果数据在 SSD 上,旋转磁盘可以停止。