转自:https://blog.csdn.net/liang0000zai/article/details/14929853
盘面,磁道,柱面,扇区
磁盘结构及读写特性(另一篇) http://book.51cto.com/art/201012/238190.htm
1. 盘面
一个盘片都有两个盘面(Side),即上、下盘面,一般每个盘面都会利 用,都可以存储数据,成为
有效盘片,也有极个别的硬盘盘面数为单数。每一个这样的有效盘面都有一个盘面号,按顺序从上至下从
“0”开始依次编号。在硬盘系 统中,盘面号又叫磁头号,因为每一个有效盘面都有一个对应的读写磁头。
硬盘的盘片组在2~14片不等,通常有2~3个盘片,故盘面号(磁头号)为0~3或 0~5。
2. 磁道
磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道(Track)。磁道从外向内从0开始顺序
编号。硬盘的每一个盘面有300~1 024个磁道,新式大容量硬盘每面的磁道数更多。信息以脉冲串的形式记
录在这些轨迹中,这些同心圆不是连续记录数据,而是被划分成一段段的圆弧,这些圆弧 的角速度一样。
由于径向长度不一样,所以,线速度也不一样,外圈的线速度较内圈的线速度大,即同样的转速下,外圈在
同样时间段里,划过的圆弧长度要比内圈 划过的圆弧长度大。每段圆弧叫做一个扇区,扇区从“1”开始编
号,每个扇区中的数据作为一个单元同时读出或写入。一个标准的3.5寸硬盘盘面通常有几百到 几千条磁道
。磁道是“看”不见的,只是盘面上以特殊形式磁化了的一些磁化区,在磁盘格式化时就已规划完毕。
3. 柱面
所有盘面上的同一磁道构成一个圆柱,通常称做柱面(Cylinder),每个圆柱上的磁头由上而下从“0”
开始编号。数据的读/写按柱面进行,即磁 头读/写数据时首先在同一柱面内从“0”磁头开始进行操作,依
次向下在同一柱面的不同盘面即磁头上进行操作,只在同一柱面所有的磁头全部读/写完毕后磁头 才转移到
下一柱面,因为选取磁头只需通过电子切换即可,而选取柱面则必须通过机械切换。电子切换相当快,比在
机械上磁头向邻近磁道移动快得多,所以,数据 的读/写按柱面进行,而不按盘面进行。也就是说,一个磁
道写满数据后,就在同一柱面的下一个盘面来写,一个柱面写满后,才移到下一个扇区开始写数据。读数
据也按照这种方式进行,这样就提高了硬盘的读/写效率。
一块硬盘驱动器的圆柱数(或每个盘面的磁道数)既取决于每条磁道的宽窄(同样,也与磁头的大小
有关),也取决于定位机构所决定的磁道间步距的大小。
4.扇区
操作系统以扇区(Sector)形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。
一个扇区有两个主要部分:存储数据地点的标识符和存储数据的数据段。
扇区的第一个主要部分是标识符。标识符,就是扇区头标,包括组成扇区三维地址的三个数字:扇区所
在的磁头(或盘面)、磁道(或柱面号)以及扇区在磁 道上的位置即扇区号。头标中还包括一个字段,其
中有显示扇区是否能可靠存储数据,或者是否已发现某个故障因而不宜使用的标记。有些硬盘控制器在扇区
头标中 还记录有指示字,可在原扇区出错时指引磁盘转到替换扇区或磁道。最后,扇区头标以循环冗余校
验(CRC)值作为结束,以供控制器检验扇区头标的读出情况, 确保准确无误。
扇区的第二个主要部分是存储数据的数据段,可分为数据和保护数据的纠错码(ECC)。在初始准备期间
,计算机用512个虚拟信息字节(实际数据的存放地)和与这些虚拟信息字节相应的ECC数字填入这个部分。
4、硬盘的读写原理
系统将文件存储到磁盘上时,按柱面、磁头、扇区的方式进行,即最先是第1磁道的第一磁头下(也就是
第1盘面的第一磁道)的所有扇区,然后,是同一柱面的下一磁头,……,一个柱面存储满后就推进到下一个
柱面,直到把文件内容全部写入磁盘。
系统也以相同的顺序读出数据。读出数据时通过告诉磁盘控制器要读出扇区所在的柱面号、磁头号和扇
区号(物理地址的三个组成部分)进行。磁盘控制器则 直接使磁头部件步进到相应的柱面,选通相应的磁头,等待要求的扇区移动到磁头下。在扇区到
来时,磁盘控制器读出每个扇区的头标,把这些头标中的地址信息与 期待检出的磁头和柱面号做比较(即寻
道),然后,寻找要求的扇区号。待磁盘控制器找到该扇区头标时,根据其任务是写扇区还是读扇区,来决
定是转换写电路, 还是读出数据和尾部记录。找到扇区后,磁盘控制器必须在继续寻找下一个扇区之前对
该扇区的信息进行后处理。如果是读数据,控制器计算此数据的ECC码,然 后,把ECC码与已记录的ECC码相
比较。如果是写数据,控制器计算出此数据的ECC码,与数据一起存储。在控制器对此扇区中的数据进行必要
处理期间,磁盘继续旋转。
一个盘片都有两个盘面(Side),即上、下盘面,一般每个盘面都会利 用,都可以存储数据,成为
有效盘片,也有极个别的硬盘盘面数为单数。每一个这样的有效盘面都有一个盘面号,按顺序从上至下从
“0”开始依次编号。在硬盘系 统中,盘面号又叫磁头号,因为每一个有效盘面都有一个对应的读写磁头。
硬盘的盘片组在2~14片不等,通常有2~3个盘片,故盘面号(磁头号)为0~3或 0~5。
2. 磁道
磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道(Track)。磁道从外向内从0开始顺序
编号。硬盘的每一个盘面有300~1 024个磁道,新式大容量硬盘每面的磁道数更多。信息以脉冲串的形式记
录在这些轨迹中,这些同心圆不是连续记录数据,而是被划分成一段段的圆弧,这些圆弧 的角速度一样。
由于径向长度不一样,所以,线速度也不一样,外圈的线速度较内圈的线速度大,即同样的转速下,外圈在
同样时间段里,划过的圆弧长度要比内圈 划过的圆弧长度大。每段圆弧叫做一个扇区,扇区从“1”开始编
号,每个扇区中的数据作为一个单元同时读出或写入。一个标准的3.5寸硬盘盘面通常有几百到 几千条磁道
。磁道是“看”不见的,只是盘面上以特殊形式磁化了的一些磁化区,在磁盘格式化时就已规划完毕。
3. 柱面
所有盘面上的同一磁道构成一个圆柱,通常称做柱面(Cylinder),每个圆柱上的磁头由上而下从“0”
开始编号。数据的读/写按柱面进行,即磁 头读/写数据时首先在同一柱面内从“0”磁头开始进行操作,依
次向下在同一柱面的不同盘面即磁头上进行操作,只在同一柱面所有的磁头全部读/写完毕后磁头 才转移到
下一柱面,因为选取磁头只需通过电子切换即可,而选取柱面则必须通过机械切换。电子切换相当快,比在
机械上磁头向邻近磁道移动快得多,所以,数据 的读/写按柱面进行,而不按盘面进行。也就是说,一个磁
道写满数据后,就在同一柱面的下一个盘面来写,一个柱面写满后,才移到下一个扇区开始写数据。读数
据也按照这种方式进行,这样就提高了硬盘的读/写效率。
一块硬盘驱动器的圆柱数(或每个盘面的磁道数)既取决于每条磁道的宽窄(同样,也与磁头的大小
有关),也取决于定位机构所决定的磁道间步距的大小。
4.扇区
操作系统以扇区(Sector)形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。
一个扇区有两个主要部分:存储数据地点的标识符和存储数据的数据段。
扇区的第一个主要部分是标识符。标识符,就是扇区头标,包括组成扇区三维地址的三个数字:扇区所
在的磁头(或盘面)、磁道(或柱面号)以及扇区在磁 道上的位置即扇区号。头标中还包括一个字段,其
中有显示扇区是否能可靠存储数据,或者是否已发现某个故障因而不宜使用的标记。有些硬盘控制器在扇区
头标中 还记录有指示字,可在原扇区出错时指引磁盘转到替换扇区或磁道。最后,扇区头标以循环冗余校
验(CRC)值作为结束,以供控制器检验扇区头标的读出情况, 确保准确无误。
扇区的第二个主要部分是存储数据的数据段,可分为数据和保护数据的纠错码(ECC)。在初始准备期间
,计算机用512个虚拟信息字节(实际数据的存放地)和与这些虚拟信息字节相应的ECC数字填入这个部分。
4、硬盘的读写原理
系统将文件存储到磁盘上时,按柱面、磁头、扇区的方式进行,即最先是第1磁道的第一磁头下(也就是
第1盘面的第一磁道)的所有扇区,然后,是同一柱面的下一磁头,……,一个柱面存储满后就推进到下一个
柱面,直到把文件内容全部写入磁盘。
系统也以相同的顺序读出数据。读出数据时通过告诉磁盘控制器要读出扇区所在的柱面号、磁头号和扇
区号(物理地址的三个组成部分)进行。磁盘控制器则 直接使磁头部件步进到相应的柱面,选通相应的磁头,等待要求的扇区移动到磁头下。在扇区到
来时,磁盘控制器读出每个扇区的头标,把这些头标中的地址信息与 期待检出的磁头和柱面号做比较(即寻
道),然后,寻找要求的扇区号。待磁盘控制器找到该扇区头标时,根据其任务是写扇区还是读扇区,来决
定是转换写电路, 还是读出数据和尾部记录。找到扇区后,磁盘控制器必须在继续寻找下一个扇区之前对
该扇区的信息进行后处理。如果是读数据,控制器计算此数据的ECC码,然 后,把ECC码与已记录的ECC码相
比较。如果是写数据,控制器计算出此数据的ECC码,与数据一起存储。在控制器对此扇区中的数据进行必要
处理期间,磁盘继续旋转。
读写原理续:磁盘的读写顺序都是从盘片的最外面开始向内读写,也就是从1柱面1磁道1扇区开始(0柱面0磁道1扇区为磁盘主引导扇区),然后寻道找到对应的扇区,再根据读写情况,切换电路对磁盘进行或读或写操作。但如果扇区编号(保存在扇区头标)是按1,2,3的数字顺序排列下去,那就可能出现一个读写效率的问题。比如扇区编号是按上面的情况排列在磁道上,那么当磁头对扇区1读写完成后,如果由于盘片的旋转速度过快或磁盘数据读写速度过慢,以致磁头准备对扇区2进行读写时,磁头却转到扇区2中间,磁道上的扇区间隔已不足以为磁盘提供读写下一扇区的准备时间,那么磁盘就需旋转一周后回头再对扇区2进行读写。这样的话,磁盘读写一道磁道时,磁盘旋转的周数就等于该磁道上的扇区数,这将大大降低磁盘的读写速率。因此,IBM的一位工程师就创出一种“交叉因子编码”的方式来对扇区进行编号。比如交叉因子为2:1,也就是1与2之间相差两扇区(比如第一位为扇区1,那么扇区2就在第三位),2与3也是如此,以此类推。如果磁盘旋转通过扇区1、2之间的间隔的时间小于磁盘的准备时间,那么读完一磁道的数据就需要磁盘旋转两周,否则就需旋转一磁道的扇区数。若是“准备时间”仍不足的话可以用交叉因子为3:1。因此通过交叉因子编码可以大大地提高磁盘读写速率,并充分利用磁盘空间,防止资源浪费。