磁头如何找到存储在硬盘驱动器上的数据?

Tim*_*Tim 5 hard-drive

我听说要在硬盘驱动器上读取或写入数据,我们需要柱面 ID 和扇区 ID。首先将硬盘的读写磁头移动到柱面id指定的柱面,然后移动到扇区id指定的扇区。这是正确的吗?

我们是否需要盘片 ID,以及盘片的两个表面中的哪一个?或者等价地,轨道 id(因为我们有圆柱体 id)?

谢谢。

saw*_*ust 7

磁头如何找到存储在硬盘驱动器上的数据?

通过读取(和比较)每个扇区在磁头下旋转时的地址信息。

详细信息(由磁盘控制器执行):

  1. 磁盘控制器将 R/W 磁头组件从其当前位置定位到请求的柱面
    (执行此操作的时间称为寻道时间。)

  2. 磁盘控制器选择请求的读/写
    (执行此操作的时间称为磁头设置和选择时间。)

  3. 磁盘控制器等待请求的扇区旋转到位。
    3a. 当遇到每个扇区时(通过在轨道上找到地址标记触发的中断),读取扇区的标识记录
    3b. 如果 ID 记录与请求的柱面或磁头不匹配,则发生了寻道或控制器错误,需要执行错误程序。
    3c。如果 ID 记录与请求的扇区不匹配,则继续等待下一个扇区(即重复 3a)。
    3d。否则已找到请求的扇区,因为 ID 记录与请求的柱面、磁头和扇区(或逻辑扇区号或 LBA)匹配。
    (执行此操作的时间称为旋转延迟。)

注意:如果遇到两次索引标记(即超过一整圈),则整个磁道已被扫描,并且尚未找到所请求的扇区。需要执行错误程序。

我听说要在硬盘驱动器上读取或写入数据,我们需要柱面 ID 和扇区 ID。

您省略了(读/写)磁头编号。

首先将硬盘的读写磁头移动到柱面id指定的柱面,然后移动到扇区id指定的扇区。这是正确的吗?

不完全的。第一部分是准确的,但不是后者。

我们需要盘片ID吗,...

并不真地。

... 盘子的两个表面中的哪一个?

每个表面有一个读/写头。
因此,指定磁头编号会选择盘片的表面。

或者等价地,轨道 id(因为我们有圆柱体 id)?

在磁盘控制器级别,通常不使用“磁道 ID”。柱面编号和磁头编号更有用。

由于原始的 IBM PC BIOS 直接与磁盘控制器(基于西部数据芯片)连接,因此 BIOS 必须使用这种柱面、磁头、扇区(又名 CHS)寻址。但是,随着磁盘控制器从 ISA 总线重新定位到驱动器外壳(IDE 样式),ATAPI 命令集使得 CHS 寻址基本上过时,转而支持逻辑扇区寻址。

另请参阅当发生磁盘读取或磁盘写入时,数据去了哪里?