磁道
当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。磁盘上的磁道是一组记录密度不同的同心圆。磁表面存储器是在不同形状(如盘状、带状等)的载体上,涂有磁性材料层,工作时,靠载磁体高速运动,由磁头在磁层上进行读写操作,信息被记录在磁层上,这些信息的轨迹就是磁道。磁盘的磁道是一个个同心圆,见右图,磁带的磁道是沿磁带长度方向的直线,这些磁道用肉眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁化区,磁盘上的信息便是沿著这样的轨道存放的。相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会产生相互影响,同时也为磁头的读写带来困难。一张老式1.44MB的3.5英寸软盘,一面有80个磁道,而硬盘上的磁道密度则远远大于此值,通常一面有成千上万个磁道。
盘片
是将磁粉附着在铝合金(新材料也有用玻璃)圆盘片的表面上。
这些磁粉被划分成称为磁道的若干个同心圆,
在每个同心圆的磁道上就好像有无数的任意排列的小磁铁,
它们分别代表着0和1的状态.当这些小磁铁受到来自磁头的磁力影响时,
其排列的方向会随之改变。
利用磁头的磁力控制指定的一些小磁铁方向,
使每个小磁铁都可以用来储存信息。
扇区
磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区。
磁盘的每一面被分为很多条
磁道,即表面上的一些
同心圆,越接近中心,圆就越小。而每一个
磁道又按512个
字节为单位划分为等分,叫做扇区,在一些
硬盘的
参数列表上你可以看到描述每个磁道的
扇区数的参数,它通常用一个范围标识,例如373~746,这表示,最外圈的磁道有746个扇区,而最里面的磁道有373个扇区,因此可以算出来,磁道的容量分别是从373KB到186.5KB。(190976B--381952B)
磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位。在磁盘上,
DOS
操作系统是以“
簇
”为单位为文件分配磁盘空间的。
硬盘的簇通常为多个扇区,与
磁盘的种类、DOS 版本及
硬盘分区的大小有关。每个簇只能由一个文件占用,即使这个文件中有几个
字节,决不允许两个以上的文件共用一个簇,否则会造成数据的混乱。这种以簇为最小分配单位的机制,使
硬盘对数据的管理变得相对容易,但也造成了
磁盘空间的浪费,尤其是小文件数目较多的情况下,一个上千兆的大硬盘,其浪费的磁盘空间可达上百兆
字节。
在
硬盘中无法被正常访问或不能被正确读写的扇区都称为Badsector。一个扇区能存储512Bytes的数据,如果在某个扇区中有任何一个
字节不能被正确读写,则这个扇区为Badsector。除了存储512Bytes外,每个扇区还有数十个Bytes信息,包括标识(ID)、校验值和其它信息。这些信息任何一个
字节出错都会导致该扇区变“Bad”。例如,在
低级格式化的过程中每个扇区都分配有一个编号,写在ID中。如果ID部分出错就会导致这个扇区无法被访问到,则这个扇区属于Badsector。有一些Badsector能够通过
低级格式化重写这些信息来纠正。
微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的最小单位叫做“簇”
一个文件通常存放在一个或多个簇里,但至少要单独占据一个“簇”。 也就是说两个文件不能存放在同一个簇中。
簇(CLUST)的本意就是“一群”、“一组”,即一组
扇区(一个磁道可以分割成若干个大小相等的圆弧,叫扇区)的意思。因为
扇区的单位太小,因此把它捆在一起,组成一个更大的单位更方便进行灵活管理。簇的大小通常是可以变化的,是由操作系统在所谓“(高级)格式化”时规定的,因此管理也更加灵活。
通俗地讲文件就好
比是一个家庭,数据就是人,即家庭成员;所谓簇就是一些单元套房;
扇区是组成这些单元套房的一个个大小相等的房间。一个家庭可能住在一套或多套单元房子里,但一套房子不能同时住进两个家庭的成员。
文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/
FAT32/
NTFS)打开文件。
扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行
寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个
扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。
为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;如果文件实际大小小于一簇,它也要占一簇的空间。如果文件实际大小大于一簇,根据逻辑推算,那么该文件就要占两个簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。
一个簇只能容纳一个文件占用,即使这个文件只有0字节,也决不允许两个文件或两个以上的文件共用一个簇,不然会造成数据混乱。
硬盘
3D参数
很久以前,
硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产
硬盘。也就是硬盘
盘片的每一条磁道都具有相同的扇区数。由此产生了所谓的
3D参数(Disk Geometry),即
磁头数(Heads),柱面数(Cylinders),扇区数(Sectors),以及相应的
寻址方式。
其中:
每个扇区一般是512个字节, 理论上讲这不是必须的,但好像没有取别的值的。
所以磁盘最大容量为:
255 * 1023 * 63 * 512 / 1048576 = 7.837 GB (1M =1048576 Bytes)
或
硬盘厂商常用的单位:
255 * 1023 * 63 * 512 / 1000000 = 8.414 GB (1M =1000000 Bytes)
Int 13H 调用
BIOS Int 13H 调用是BIOS提供的磁盘基本
输入输出中断调用,它可以完成磁盘(包括
硬盘和软盘)的复位,读写,校验,定位,诊,格式化等功能。它使用的就是CHS 寻址方式,因此最大识能访问 8 GB 左右的
硬盘(本文中如不作特殊说明,均以 1M = 1048576 字节为单位)。
现代硬盘结构
在老式
硬盘中,由于每个磁道的扇区数相等,所以外道的记录密度要远低于内道,因此会浪费很多磁盘空间 (与软盘一样)。为了解决这一问题,进一步提高
硬盘容量,人们改用等密度结构生产硬盘。也就是说,外圈磁道的扇区比内圈磁道多,采用这种结构后,
硬盘不再具有实际的3D参数,
寻址方式也改为线性寻址,即以扇区为单位进行寻址。
为了与使用3D寻址的老
软件兼容(如使用BIOSInt13H接口的软件), 在
硬盘控制器内部安装了一个
地址翻译器,由它负责将老式3D参数翻译成新的线性参数。这也是为什么
硬盘的3D参数可以有多种选择的原因(不同的工作模式,对应不同的3D参数,如 LBA,LARGE,NORMAL)。
扩展Int 13H
虽然现代
硬盘都已经采用了线性寻址,但是由于基本Int13H 的制约,使用BIOS Int 13H 接口的
程序,如 DOS 等还只能访问8 G以内的硬盘空间。为了打破这一限制,Microsoft 等几家公司制定了扩展Int 13H 标准(Extended Int13H),采用线性寻址方式存取
硬盘,所以突破了 8 G的限制,而且还加入了对可拆卸
介质(如活动硬盘) 的支持。
编辑本段基本参数
容量
硬盘的容量以
兆字节(MB/MiB)或千兆字节(GB/GiB)为单位,1GB=1024MB而1GiB=1024MiB。但
硬盘厂商通常使用的是GB,也就是1G=1000MB,而Windows系统,就依旧以“GB”字样来表示“GiB”单位(1024换算的),因此我们在BIOS中或在格式化硬盘时看到的容量会比厂家的标称值要小。
一般情况下
硬盘容量越大,单位字节的价格就越便宜,但是超出主流容量的硬盘略微例外。
转速
转速(Rotational Speed 或Spindle speed),是
硬盘内
电机主轴的旋转速度,也就是硬盘
盘片在一分钟内所能完成的最大转数。转速的快慢是标示
硬盘档次的重要参数之一,它是决定硬盘内部
传输率的关键因素之一,在很大程度上直接影响到硬盘的速度。
硬盘的转速越快,硬盘寻找文件的速度也就越快,相对的硬盘的传输速度也就得到了提高。
硬盘转速以每分钟多少转来表示,单位表示为RPM,RPM是Revolutions Per minute的缩写,是转/每分钟。RPM值越大,内部传输率就越快,访问时间就越短,
硬盘的整体性能也就越好。
家用的普通硬盘的转速一般有5400rpm、7200rpm几种高转速硬盘也是台式机用户的首选;而对于
笔记本用户则是4200rpm、5400rpm为主,虽然已经有公司发布了10000rpm的笔记本硬盘,但在市场中还较为少见;服务器用户对硬盘性能要求最高,服务器中使用的SCSI硬盘转速基本都采用10000rpm,甚至还有15000rpm的,性能要超出家用产品很多。较高的转速可缩短硬盘的
平均寻道时间和实际读写时间,但随着硬盘转速的不断提高也带来了温度升高、电机主轴磨损加大、
工作噪音增大等负面影响。
平均访问时间
平均访问时间(Average Access Time)是指
磁头从起始位置到到达目标磁道位置,并且从目标磁道上找到要读写的数据扇区所需的时间。
硬盘的平均寻道时间(Average Seek Time)是指硬盘的
磁头移动到盘面指定磁道所需的时间。这个时间当然越小越好,
硬盘的平均寻道时间通常在8ms到12ms之间,而SCSI硬盘则应小于或等于8ms。
传输速率
内部传输率(Internal Transfer Rate) 也称为持续传输率(Sustained Transfer Rate),它反映了
硬盘
缓冲区未用时的性能。内部传输率主要依赖于
硬盘的旋转速度。
外部传输率(External Transfer Rate)也称为
突发数据传输率(Burst Data Transfer Rate)或接口传输率,它标称的是
系统总线与
硬盘缓冲区之间的数据传输率,外部数据传输率与
硬盘接口类型和
硬盘缓存的大小有关。
Fast ATA接口
硬盘的最大外部传输率为16.6MB/s,而Ultra ATA接口的硬盘则达到33.3MB/s。2012年12月,两80后研制出传输速度每秒1.5GB的固态硬盘。
[1]
使用
SATA(Serial ATA)口的硬盘又叫
串口硬盘,是未来PC机硬盘的趋势。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式
时钟信号,具备了更强的纠错能力,如果发现错误会自动矫正。
缓存
缓存(Cache memory)是
硬盘控制器上的一块
内存芯片,具有极快的存取速度,它是
硬盘内部存储和外界接口之间的缓冲器。由于
硬盘的内部
数据传输速度和外界介面传输速度不同,
缓存在其中起到一个缓冲的作用。
缓存的大小与速度是直接关系到
硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。当
硬盘存取零碎数据时需要不断地在硬盘与
内存之间交换数据,有大
缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度
虚拟硬盘
虚拟硬盘就是用内存中虚拟出一个或者多个磁盘的技术。和虚拟内存一样,内存的速度要比硬盘快得多,利用这一点,在内存中虚拟出一个或多个硬盘就可以加快磁盘的数据交换速度,从而提高电脑的运行速度。