磁盘和CD/DVD上的扇区、磁道是如何识别的?

Rah*_*hul 1 hardware x86 assembly optical-drive x86-16

我正在编写一些汇编 BIOS 代码,通常我们使用中断来访问磁盘功能。我们给出命令,例如寻找该扇区读取字节等,但是磁盘如何知道它是否是第一个扇区,同样,当 cd/dvd 从随机位置插入 CD 驱动器时,cd/dvd 如何识别扇区。是否有与这些硬件中的扇区相关的任何类型的标识号?

Pet*_*des 5

光盘有一个连续的向外螺旋,是的,驱动器有一些引入区域来找出第一个扇区开始的光盘角度。快速谷歌没有找到关于它到底是如何做到这一点的具体细节,但可能是可用/用户数据之外的一些格式/元数据。

扇区之间的边界由同步代码标记,该代码未在其他任何地方使用(https://en.wikipedia.org/wiki/Track_(optical_disc)#Sector_struct)。红皮书音频扇区的描述也适用于数据 CD:CD-ROM 使用与红皮书音频 CD 相同的底层框架,但其中包含数据。(还有另一层纠错,在 2352 字节的第一级纠错扇区数据中,每个扇区提供 2048 个纠错数据字节。)

光盘意义上的轨道与硬盘驱动器/软盘“轨道”完全不同。(因为只有一个螺旋,而不是多个数据环)。CD 轨道是任意数量的扇区,音频 CD 上的轨道边界通常位于歌曲边界处。


请注意,柱面/磁头对于光盘没有意义。根据这个答案,只有 BIOS LBA 读取功能有效(AH=42h),而不是传统的 CHS 功能(AH=02h)。因此 BIOS 不需要发明一个假的 CHS 几何结构来访问纯线性扇区。

有关的: