假设我有硬盘的这些信息:
Capacity : x Gbytes
Number of cylinder : y
Number of platters : z (z * 2 surfaces)
Number of heads : w per platter
我如何计算该硬盘的磁道数?我的目标是计算一个磁道中可以存储的字节数,假设每个磁道具有相同的容量。
答案1
您可能想重新命名您的帖子,以表明您想要的是轨道数,而不是轨道容量。我花了 15 分钟在下面写下了错误的答案,然后才意识到您的问题比我猜测的要简单得多。
根据定义,柱面是所有盘片上的三维轨道。这意味着每个表面的轨道数等于柱面数。这意味着:
Total Tracks per disk = Cylinders * Surfaces (usually denoted by heads, as most platters have two heads)
---------------------------------我原来的答案-------------------------------------------------------------------------- 嗯,首先,这通常不是您想要进行的计算,因为它因驱动器类型而异,并且受分区和文件系统概念(如扇区大小和块)的影响,因此该数字与任何实际决策没有直接关系。
也就是说,你需要确定的第一件事是你的磁盘是否使用航空发动机,客户价值, 或者ZBR/Z-CAV布局。这些布局决定了驱动器在读取磁道时如何旋转,取决于磁道/圆柱体在磁盘上相对于其中心和边缘的位置。
CAV 和 CLV 每条磁道使用固定数量的比特,要么只使用磁道实际周长的一部分,要么在磁道中间更密集地填充比特,在边缘更稀疏地填充比特。但这两种方法都会浪费大量空间。ZBR 允许边缘磁道比中心磁道容纳更多的比特,虽然它没有完全使用整个磁道,但它确实允许数据在磁盘上更密集地排列。
CAV/CLV 驱动器允许您以位为单位计算轨道大小,而不依赖于文件系统常量,例如扇区大小(尽管制造商可能不会向您提供所需的所有信息),但对于 ZBR,该值会根据轨道相对于磁盘中心的位置而变化。
答案2
磁盘材料的密度是有限的。虽然硬盘内部确实采用了更高的密度来增加容量,但这还不足以匹配磁盘上更远轨道的容量,因为外轨道在物理上太长了。这也是内轨道读写速度较慢的原因。
内部磁道的排列密度与特定驱动器的技术允许的一样
过去,磁盘外侧的轨道大小与内侧轨道大小相同,但这意味着大量空间被浪费。ZBR(区域位记录)的出现就是为了解决这个问题,它将轨道分组到各个区域。一个组中的轨道都具有匹配的扇区数,磁盘最外侧的组的扇区数比磁盘内侧的组多。ZBR 的出现是多年来磁盘容量得以增加的重要原因。如果外层轨道的密度与内层轨道一样高,容量可以进一步增加,但要以牺牲性能为代价。
第一个硬盘相当原始,每个磁道都有相同数量的扇区
磁盘驱动器使用[ZBR(区域位记录)]在外轨上比在内轨上每个轨道存储更多的扇区。
虽然我还没有找到足够的资料来证实这一点,但听起来好像区域可能并非所有区域都包含相同数量的轨道;内部区域的轨道较少,而外部区域的轨道较多。
[ZBR] 将磁盘分成多个区域,每个区域包含数千个轨道,具体数量取决于区域在盘片内的位置。
根据以上信息,您会发现没有唯一的答案,因为不同区域中的磁道具有不同的容量。要确定特定磁道的容量,您需要能够选出一个区域,确定该区域中的磁道数量,确定这些磁道上的扇区数量,并知道磁盘使用的扇区大小(例如:512 字节)。
我也希望能够计算或测试我的磁盘,以便我可以找出轨道容量。
答案3
一个轨道可存储的字节数 = (x*1024*1024*1024)/(z*2*y)