Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29305616
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类:

2010-07-18 10:22:17

硬盘各种参数

rotational latency旋转延迟 磁头旋转的时间延迟。转速越快,延迟越小。

seek time寻道时间   磁头的径(半径)向移动时间。磁头机械臂只会在一条线(半径)上来回移动,磁头的移动速度越快,seek time则越短。这个参数基本上是固定的,不同档次的硬盘这个值也不同,相同级别的硬盘这个值差不多。如目前的服务器硬盘的seek time大概在4ms左右,普通的pc硬盘大概

除了以上两种延时,还有一个是磁头定位后传输数据的延时,但是这个延时非常小,比上面两种延时低一个数量级以上,故基本都被忽略了。

head磁头  磁头只能顺序的读写扇区,并且只能是一次成批读写一个扇区的内容,而不能只读写其中的1/2或者是1/4扇区。如果一个文件大小为0.1KB,那么一个扇区(0.5KB)就只能存放这个文件的0.1KB,扇区剩下的0.4KB则不能再存放其他数据,浪费掉了。而如果你的文件系统的块(或者簇)大小为1KB,即两个扇区,那么硬盘只会将数据存放在块里的其中某个扇区上,该扇区剩下的0.4KB和另一个完整扇区(共0.9KB)都将浪费掉。所以磁盘规划其实很重要。

 

Track盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。

Sector:扇区 每个磁道被划分成相等的圆弧,每一段圆弧为一扇区,每磁道63个存储扇区(应该是偶数才对吧,不知道剩下的扇区干嘛去了),编号从1开始,到63,每扇区512Bytes. 一个扇区可以看作是线状的,没有宽(很窄很窄),只有长度,记录是顺序的,每个扇区可以记录4096个比特位,即可以存放512KB数据。

Cylinder: 柱面  硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。如果是单碟,那么柱面就是每个磁道的两面

其他还有磁录密度(magnetic density)、磁头入轨的精准度、碟片上的资料配置分布情形、以及碟机上的数位信号处理器、接口控制电路等也都会影响硬盘的性能表现。

 

硬盘机械臂移动视频

 

硬盘写数据时,都是从外圈的Track向里写。因为角速度相同的情况下,相同时间外圈的track能读取更多的数据(因为划过的弧更长。早期的硬盘每个磁道的的扇区数是相等的,而后期为了提高磁盘的利用率,每个磁道的扇区数不再相等,外圈周长较大,所以可以划分出更多的扇区数),即transfer rateMB/s)更大,一般最外圈的transfer rate可以比最内圈的大1倍以上。

硬盘的容量计算公式为:
存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数

要点:(1)硬盘有数个盘片,每盘片两个面,每个面一个磁头
2)盘片被划分为多个扇形区域即扇区
3)同一盘片不同半径的同心圆为磁道
4)不同盘片相同半径构成的圆柱面即柱面
5)公式: 存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
6)信息记录可表示为:××磁道(柱面),××磁头,××扇区

 

Cluster:   一组扇区。因为扇区的单位太小,因此把它捆在一起,组成一个更大的单位更方便
进行灵活管理。簇的大小通常是可以变化的,是由操作系统在所谓“(高级)格式化”时规定的
,因此管理也更加灵活。簇的概念多为windows OS下用,一个簇的大小在格式化文件系统时指
定,是文件系统存储数据的最小单位(逻辑单位),而不是硬盘存储数据的最小单位,硬盘存储
的最小单位(物理单位)是扇区,这个要搞清楚。其实这个参数不再属于硬盘物理参数,而是属
于操作系统/文件系统级别的逻辑单位了。
这个簇的概念就好比Linux下的block,根据server上的应用特点调整好块大小,将有效提升磁盘
存储性能和磁盘空间利用率。如你的FTP服务器里存储的都是一些比较大的文件,那么可以将块或
簇大小设置大一些;而如果是存放大量小文件(假设平均大小为0.8KB)为主,那么块大小可以设
置得跟实际文件大小最接近的尺寸(如block size设置为1kB),像bbs server就是小文件为主。
 
BlockLinux下存储的最小逻辑单位,ext2/ext3/ext4目前有3种粒度(),1KB,2KB,4KB
(见man mkfs.ext3,xfs则可以支持从0.5Kb64kBBlock 的大小为 sector  2 
非负次方倍数。Linux里有些概念里的block则不是文件系统里的那个block概念。如df
输出的1K-blocksfdisk -l输出中的blocks,这里的blocks其实是1KB.还有vmstat
中的 io/bi bo 的单位也是块,这里block其实是sector,概念滥用,stupid
 

另注:有些应用程序(如oracle)或者存储驱动(如硬件RAID)还有自己的存储单元,在调

整存储单元时先要弄清楚各自概念和工作原理。

 

内部数据传输率Internal Transfer Rate)是指硬盘磁头与缓存之间的数据传输率,简单的说

就是硬盘将数据从盘片上读取出来,然后存储在缓存内的速度。内部传输率可以明确表现出

硬盘的读写 速度,它的高低才是评价一个硬盘整体性能的决定性因素,它是衡量硬盘性能

的真正标准。有效地提高硬盘的内部传输率才能对磁盘子系统的性能有最直接、最明显

提升。目前各硬盘生产厂家努力提高硬盘的内部传输率,除了改进信号处理技术、提高转速

以外,最主要的就是不断的提高单碟容量以提高线性密度。由于单碟容 量越大的硬盘线性

密度越高,磁头的寻道频率与移动距离可以相应的减少,从而减少了平均寻道时间,内部传

输速率也就提高了。虽然硬盘技术发展的很快,但内部 数据传输率还是在一个比较低(相

对)的层次上,内部数据传输率低已经成为硬盘性能的最大瓶颈。目前主流的家用级硬盘,

内部数据传输率基本还停留在60 MB/s左右,而且在连续工作时,这个数据会降到更低。

 

外部数据传输率(External Transfer Rate),一般也称为突发数据传输或接口传输率。是指硬盘

缓存和电脑系统之间的数据传输率,也就是计算机通过硬盘接口从缓存中将数据读出交给相

应的控制器的速率。ATA100中的100就代表着这块硬盘的外部数据传输率理论最大值是

100MB/sATA133则代表外部 数据传输率理论最大值是133MB/s SCSI Ultra320320MB/s

目前的第一代SAS硬盘大概是3Gbps,SATA-II的速度相当,但以后的产品速度都将成倍地

增长; SATA-I1.5Gbps,SATA-II3Gbps。这些只是硬盘理论上最大的外部数据传输率,在

实际的日常工作中是无法达到这个数值的。

 

 

对于磁盘,一次磁头的连续读或写称为一次IO.

我们平常讲的I/O其实就是指磁头的读写。

阅读(901) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~