首页 > 代码库 > 磁盘扇区一样大吗?

磁盘扇区一样大吗?

引用:http://blog.csdn.net/badbad_boy/article/details/4313645

写这篇文章,主要是为了解决长久以来的一个困惑。由此也可以看出偶以前确实不太聪明。 哈哈(虽然现在仍然还是)

  • 以前见到的很多磁道的示意图都是这样的:注意标线的位置,“指向一条线”,我当时的理解好像是这条线就是磁道。还有的解释是说磁道就是一个“同心圆”的集合

技术分享

那么,我的疑问就是,既然那条线是同心圆,那么两条线之间的那快空白是什么呀? 什么也不是? 空着的? 就是为了分开磁道?晕倒。那这浪费的部分也太多了吧。毕竟两条线中间部分的宽度看起来比磁道可实在是宽太多了。

  • 后来,查了下别的图片,才发现磁道原来应该是这样子的:不是“同心圆”,应该是“同心圆环”

技术分享

 

技术分享

 

到此,我关于磁道的疑问才终于有了答案。 汗自己一个!!!

 

后来又联想到了其他的问题:

每个磁道上的扇区数目是一样的么?

  • 早期的磁盘每个磁道上的扇区数目是一样,限制了磁盘的容量;后来为了增大磁盘容量采用了新技术,也就是说越往外每磁道扇区数目越多
  • 早期的硬盘是每个磁道有相同的扇区,但是现在的硬盘采用线性寻址,所以每个磁道上扇区数不一样,外面的多,里面的少.光盘跟硬盘差不多.但是用螺线的.不像硬盘采用同心圆
  • 不过,还是可以用CHS(柱面,磁道,扇区)的方式来定位, 因为IDE磁盘做了内部转换,让你看起来好像每条磁道上面的簇数量都是一样的

0磁道是在磁盘的外圈还是内圈

  • 由于历史原因 , 磁盘的0磁道在最外圈(过去的老式硬盘,每条磁道上的簇的数量都是一样多的。也就是说最里面和最外面的磁道的簇的数目是一样的。显然,磁密度越低,数据的 安全越有保障。而MBR放在0柱面的,第0个磁道的,第1个簇上面,为了这个关键数据的安全,所以磁道要从最外开始安排。)
  • 但是,光盘的0磁道和磁盘,软盘刚好向盘,光盘的0磁道是在最内圈的

尽管扇区是能独立寻址的最小单位,但资源分配的最小单位是簇

  • 所以文件的大小和文件所占用的磁盘空间是不同的。所占用的磁盘空间往往多余文件的大小

硬盘簇的大小设为多少才合适

  • 默认的情况下,在格式化的时侯如果没有指定簇的大小,那么系统会根据分区的大小选择默认的簇值
  • 其实在NTFS文件系统中格式化的时候,可以在“Format”命令后面添加“/a:UnitSize”参数来指定簇的大小,UnitSize表示簇大小的值,NTFS支持512/1024/2048/4096/8192/16K/32K/64KB
  • 在NTFS文件系统中,簇的大小会影响到磁盘文件的排列,设置适当的簇大小可以减少磁盘空间丢失和分区上碎片的数量。如果簇设置过大,会影响到磁盘存储效率;反之如果设置过小,虽然会提高利用效率,但是会产生大量磁盘碎片.

 

硬盘性能调优,说道:Outer tracks contain more linear storage area.

    看到哦这我就纳闷了,为啥呢?我的概念里面每个磁道的扇区数都是相等的啊,因为硬盘要控制角速度相等,单位时间里面磁臂掠过的扇区数应该是相等的。以前课本都是这么讲的啊,说是外圈的存储密度要低于内圈的,但是外圈磁道包含的磁介质要明显多于内圈的,难道废弃不用?书上是这么解释的,说是空闲的空间填充了控制信号,不用的空间填写了gap,算空白区域。这就更纳闷了,第一点调优的书上说外圈的存储密度要高于内圈的,另一点是:For a given rotational speed, read more data per second on outer tracks.转速相同,外圈怎么可能多读东西呢?扇区数一样,每扇区512字节,数据大小也是一样。支持这个的有效证明是fdisk -l,一看,明明有一个“每磁道扇区数”的数值在概要说明的部分摆着呢。

    包括百度百科和网上搜到的信息来看,都跟老板教科书观点相同,每磁道扇区数相同。那调优的书上教导我们“外圈的读取速度快,要将频繁访问的分区部署在磁盘的外侧柱面上”,这不见鬼了么?再翻IBM的调优的书,明明白白写着“当今大多数硬盘驱动器的盘片在外侧磁道上封装的扇区数要多于内侧磁道”,又找了找,原来磁盘的寻址技术改变了,为了减少浪费,真的是外侧磁道的扇区数多而内测磁道的扇区数少,现在每磁道扇区数自是一个换算平均值。这也是为什么机械硬盘在测试处理大量数据的吞吐率不断下降的原因,因为处理到内圈的数据时要多次移动移动机械臂,产生更多的延时。

    其实想想也是,磁盘的存储密度不断增加,外圈的长度要大大长于内圈的长度,如果每磁道扇区数相等,那么整个磁盘上有大量面积的存储单元会被浪费。就像一个扇子的表面,我们只用了以内周长为边的一个矩形面积,剩下的都浪费,这是不可能的,工业界也是绝对不会允许这种事情存在的。

    那道理就明白了,我们看到的fdisk里面的柱面的显示结果也是经过换算的结果,不是真正写道分区表里面的结果!

 

后来我弄明白了,一开始的技术叫做CLV,称为恒定线速度,这个技术要求无论在哪个圈上,线速度都要一样,所以对马达的要求非常高,寿命非常短,现在的光驱还在用这个技术。
后来又有了一种磁盘技术叫做CAV,叫做恒定角速度,马达的转速恒定,寿命有了很大提高,这个的缺点就像上面说的,浪费会很大,因为磁头读盘片的扫描频率基本是恒定的,外圈的有效磁介质单元会很稀疏。
随着盘片磁介质密度的不断加大,外圈的浪费越来越大,为了解决这个问题,就产生了ZCAV,即分区恒定角速度技术,马达不再是恒定的转速,而是由快到慢分成多个“档位”,比如0到100磁道采用每小时120码的速度,101到200磁道采用每小时100码的速度,201到300采用每小时80码的速度,就这样,整个盘片按照速度的不同分成了一个一个同心圆环,就是Z这个字母的意思。内圈最快,外圈最慢,因此才有了外圈扇区数比内圈多的概念。我们国家不大重视这些细节。

磁盘扇区一样大吗?