我以前的理解

我以前的理解

术语堵塞我很困惑,因为我最近正在研究磁盘技术。


我以前的理解

我明白堵塞通常表示被视为整个 I/O 单元的一批数据,如维基页面:区块.我以为逻辑块文件系统块指的是特定文件系统,以便像任何批处理操作的本质一样,减少一次读取或写入一个扇区所带来的开销。物理块正是磁盘扇区本文来自 Oracle证实了我的理解。

更重要的是,我相信这个词只是文件系统块按照微软的方式,Reddit 上的这个帖子


让我困惑的是

维基页面:逻辑块寻址我最近碰到了引起一些混乱的事情。

作为CHS 寻址, 看起来左心室射血分数应该处理与 CHS 相同的任务:将地址提供给部门,正如建议的那样本文但我感觉到 LBA 维基页面不愿意使用“部门”一词,其标题也是如此逻辑块寻址”。

那么,左心室射血分数只是一个花哨的词,实际上涉及解决磁盘扇区

或者符合 LBA 标准的磁盘真正理解文件系统/逻辑块,并且能够进行块级I/O,从而向操作系统隐藏“扇区”的存在?


此外,如果我的问题的前提条件有任何误解,请纠正我。谢谢。

答案1

我理解 BLOCK 通常是指被视为整个 I/O 单元的一批数据

该术语的使用“堵塞”在计算领域中广泛应用,且不局限于 I/O。

我认为逻辑块或文件系统块是指特定文件系统使用的被视为整体的最小 I/O 单元,目的是作为任何批处理操作的本质,减少一次读取或写入一个扇区所带来的开销。

我认为,做出涵盖所有文件系统的全面定义是粗心大意的。请注意,文件数据的 I/O 块大小可能与文件系统元数据不同。例如,对文件的写入可以合并到 4KB(或更大)的块中,但文件系统日志可能需要更频繁地写入(使用较小的块)以确保数据保留。

“批量操作”是古老的术语,而您使用这个术语的方式毫无意义。

物理块就是磁盘扇区的同义词。

仅限于磁盘驱动器。
磁带要求以物理块为单位执行 I/O,但磁带没有扇区的概念。

而且,我相信 CLUSTER 这个词只是微软的文件系统块,正如 Reddit 上的这个帖子所暗示的那样。

“簇”是 MS 文件系统中的分配单位。I
/O 是否始终以相同的块大小执行值得怀疑。例如,当簇大小为 64KB,而整个文件只有 128 字节时,文件系统是要写入 128 个扇区还是将 I/O 优化为仅一个扇区?

那么,LBA 是否只是一个花哨的词,实际上涉及寻址磁盘扇区?

本质上是的(对于传统的 512 字节扇区)。

现代磁盘驱动器的集成控制器负责将 LBA 映射到物理扇区。只有驱动器知道映射到特定 LBA 的实际柱面、磁头和扇区,因此任何类型的区域位记录并可由磁盘驱动器实现对坏扇区的重定位。

高级格式512e HDD 使用 4096 字节扇区和 512 字节传输大小,术语 LBA 确实准确:该地址不是物理扇区的地址,而是由八分之一扇区组成的逻辑块的地址。

或者说 LBA 兼容磁盘真的理解文件系统/逻辑块的概念吗?

我不确定你的意思“文件系统/逻辑块”,但答案可能是否定的。
它只是一个存储设备,没有组织其存储的原始数据的概念。

SATA 硬盘公开什么样的 API?

并且能够进行块级I/O,从而向操作系统隐藏“扇区”的存在?

扇区(或物理块)的概念不能被消除,因为这是 I/O 的最小单位。操作系统的最低层(即设备驱动程序)将始终了解硬件属性。但操作系统的每个抽象层都会试图掩盖这些细节。因此,当您读取文件时,您可能不知道它是从 HDD 或 DVD 检索的,还是通过网络检索的。

FWIW 磁盘控制器(即使是使用 CHS 寻址的旧控制器)也可以执行多扇区读取或写入操作,例如执行 N 个连续扇区的读取。

答案2

你的假设并没有错,但你必须考虑上下文。根据上下文,“Block”一词的含义会发生变化。

使用 LBA,您可以摆脱繁琐的 CHS 寻址方案。使用 CHS,您必须告诉驱动器您希望它使用第二个磁头读取第五个磁道和第二十个扇区。使用 LBA,您不必关心这些细节。您只需告诉它获取第一个逻辑块。它使用什么逻辑来确定第一个逻辑块,由驱动器决定,只要它是一个一致的方案即可。两次请求第一个逻辑块并获取不同的数据将毫无用处(很可能)。这种方法还提供了与正在使用的驱动器技术的一些独立性。例如,以 SSD 为例,它没有磁头、磁道和扇区。使用 LBA,您仍然可以告诉它获取第一个逻辑块。这种机制非常低级,您实际上并不了解文件系统可能是什么或文件可能是什么。这些块的实际大小取决于硬件。长期以来, 512 字节都是相当标准的扇区大小,但如今(由于各种原因) 4 KiB 并不罕见。

有趣的是,看看恒定角速度(CAV)恒定线速度 (CLV)以及它如何影响物理旋转磁盘。后者与硬盘无关,但与其他类型的物理旋转磁盘有关。了解不同的方法可能会很有趣。以及中枢性高血压页面或更具体地说CHS 图像。您可能会注意到,在图像中,扇区的物理尺寸会随着从内轨道到外轨道而增加。因此,信息密度会降低。请注意,我写的是“会”,因为当前的技术开始在外轨道上放置更多扇区。虽然它基于相同的原理(中控汽车当然,对于更现代的方法,如闪存驱动器,该层面的问题将会有所不同(分布磨损等等)。

簇通常是逻辑块的串联,在文件系统级别上形成一个块。因此,您的物理硬件上可能有 512 字节逻辑块,但您的文件系统使用 4 KiB 块/簇。因此,对于您的文件系统管理的每个块,您将在硬件上使用 8 个块。

造成这种情况的原因可能是文件系统限制(FAT16/32 等)、性能以及您存储的文件类型。集群越大,存储大文件的开销就越小,但存储小文件则会浪费存储空间。

相关内容