正如 n0099 所言,由于目前十万甚至九万个抽象层的存在导致现在的HDD基本不可能让您直接根据CHS地址来操作CHS上的数据
https://en.wikipedia.org/wiki/Cylinder-head-sector
CHS 地址被公开,而不是简单的线性地址(从 0 到磁盘上的总块数 - 1),因为早期的硬盘驱动器没有配备嵌入式磁盘控制器,这会隐藏物理布局。使用了单独的通用控制器卡,因此操作系统必须知道连接到控制器的特定驱动器的确切物理“几何形状”,才能正确寻址数据块。传统限制为 512 字节/扇区 × 63 扇区/磁道 × 255 磁头(磁道/柱面)× 1024 柱面,导致磁盘总容量限制为 8032.5 MiB。
随着几何结构变得更加复杂(例如,随着区域位记录的引入)以及驱动器大小随着时间的推移而增长,CHS 寻址方法变得受到限制。自 20 世纪 80 年代末以来,硬盘驱动器开始配备嵌入式磁盘控制器 [1] ,该控制器对物理几何结构有深入了解;然而,他们会向计算机报告错误的几何形状,例如,比实际存在的磁头数量更多,以获得更多的可寻址空间。这些逻辑 CHS 值将由控制器进行转换,因此 CHS 寻址不再对应于驱动器的任何物理属性。 [2]
到 20 世纪 90 年代中期,硬盘驱动器接口用逻辑块寻址 (LBA) 取代了 CHS 方案,但许多用于操作主引导记录 (MBR) 分区表的工具仍然将分区与柱面边界对齐;因此,到 2000 年代末,CHS 寻址的工件仍然出现在分区软件中。 [2]
在 2010 年代初,MBR 施加的磁盘大小限制成为问题,GUID 分区表 (GPT) 被设计作为替代品;使用不支持 MBR 的 UEFI 固件的现代计算机不再使用 CHS 寻址中的任何概念。
https://en.wikipedia.org/wiki/Master_boot_record#Partition_table_entries
分区表是 PC XT 时代硬盘技术的产物,它使用柱面、磁头和扇区(CHS 寻址)为单位细分存储介质。这些值不再与现代磁盘驱动器中的同名值相对应,并且与其他设备无关,例如固态驱动器,这些设备实际上没有柱面或磁头。
在 CHS 方案中,按照惯例,扇区索引(几乎)总是从扇区 1 开始,而不是从扇区 0 开始,并且由于 MS-DOS/PC DOS 直至 7.10 的所有版本中都存在错误,磁头数量通常受到限制到 255 [g] 而不是 256。当 CHS 地址太大而无法放入这些字段时,目前通常使用元组 (1023, 254, 63),尽管在较旧的系统上并且使用较旧的磁盘工具,柱面值通常以接近 8 GB 的 CHS 屏障为模,从而导致模糊性和数据损坏的风险。 (如果情况涉及带有 GPT 的磁盘上的“保护性”MBR,则 Intel 的可扩展固件接口规范要求使用元组 (1023, 255, 63)。) 10 位柱面值按顺序记录在两个字节内以便于调用原始/旧版 INT 13h BIOS 磁盘访问例程,其中 16 位被分为扇区和柱面部分,而不是字节边界。 [14]
由于 CHS 寻址的限制, [17] [18] 已转换为使用 LBA(即逻辑块寻址)。分区长度和分区起始地址都是以 32 位数量存储在分区表条目中的扇区值。扇区大小过去被认为固定为 512 (2 9 ) 字节,以及广泛的重要组件,包括芯片组、引导扇区、操作系统、数据库引擎、分区工具、备份和文件系统实用程序以及其他软件对此值进行了硬编码。自 2009 年底以来,采用 4096 字节扇区(4Kn 或高级格式)的磁盘驱动器已经可用,尽管其中一些驱动器的扇区大小仍然通过硬盘中的转换向主机系统报告为 512 字节。驱动器固件并称为 512 仿真驱动器 (512e)。
由于块地址和大小使用 32 位存储在 MBR 的分区表中,因此使用具有 512 字节扇区(实际或模拟)的驱动器的分区的最大大小以及最高起始地址不能超过 2 TiB −512 字节( 2199023255040 字节或 4294967295 (2 32 −1) 个扇区 × 512 (2 9 ) 个扇区字节)。 [2] 缓解这种容量限制是 GPT 开发的主要动机之一。
由于分区信息使用起始块地址和长度存储在 MBR 分区表中,因此理论上可以以这样的方式定义分区:为具有 512 字节扇区的磁盘分配的空间给出的总大小接近 4 TiB,如果除一个分区外的所有分区均低于 2 TiB 限制,并且最后一个分区被指定为从块 2 开始或接近块 2 32 -1 并将大小指定为最多 2 32 实际上支持这一点。由于代码空间限制以及 MBR 分区表仅支持 32 位的性质,引导扇区即使启用支持 LBA-48 而不是 LBA-28,也经常使用 32 位计算,除非它们是专门设计来支持的LBA-48 的完整地址范围或仅在 64 位平台上运行。任何内部使用 32 位扇区地址的引导代码或操作系统都会导致地址环绕访问该分区,从而导致所有分区上的严重数据损坏。
而
SSD只不过是更进一步的不需要IBM最初发明硬盘时针对旋转存储介质发明的CHS地址