0x18 大容量存储器结构

一、磁盘结构和管理

磁盘结构

0x18 大容量存储器结构
盘片是存储数据的介质,正反两面可以存储数据;
磁头可以读写数据,沿磁盘半径移动,有多少盘面就有多少磁头;
主轴由马达驱动,使盘片以固定速度旋转。
磁盘和计算机之间有接口,用于数据传输,例如EIDE,ATA,SATA, USB,Fibre Channel, SCSI,SAS,Firewire;
磁盘控制器控制磁盘的读写等操作,并且利用磁盘缓冲区来暂存数据。

盘片结构:

0x18 大容量存储器结构

  1. 磁道
    磁头在盘片表面划出的圆形;
    盘面划分为数目相等的磁道;
    从盘面外缘“0”开始编号
  2. 扇区
    磁道被等分为若干个弧段,称为扇区;
    扇区大小:512字节
  3. 柱面
    具有相同编号的磁道形成一个圆柱,称为柱面;每个圆柱上的磁头,自上向下从“0”开始编号。
    一般有几个磁道就有几个柱面

磁盘容量 = 盘面数(磁片数*2)*柱面数(磁道数)*扇区数*扇区字节数

例题:
一个磁盘有4个磁片组成,每个磁片划分为64个磁道,每个磁道划分为128个扇区,每个扇区512字节。则这个磁盘的容量是()。

A.4MB
B.16MB
C.32MB
D.64MB

正确答案:C

地址映射结构

块号:LBA
磁盘地址(CHS):(C,H,S)
C=LBA÷(HPC× SPT)
H=(LBA÷SPT) mod HPC
S=(LBA mod SPT)+1

  • Cylinder(柱面/道C)
  • Head(磁头/面H)
  • Sector(扇区S)

SPT:每个磁道最大扇区数
HPC:最大磁头(盘面)数

磁盘访问时间

磁盘访问时间:把一批数据从磁盘读到内存或者从内存写到磁盘的时间。一般而言,磁盘访问时间由定位时间、传输时间和系统开销三部分组成

磁盘旋转速度:60-250转/秒

  • 转数RPM每分钟旋转次数,如:7200RPM即每分钟7200转,即120转/秒

定位时间/随机访问时间:从控制器发出命令到需要读取数据移动到磁头下面的时间。寻道时间+旋转延迟时间=定位时间

  • 寻道时间:移动磁臂到所需磁道时间
  • 平均寻道时间:大约1/3磁道移动(多数为1-4ms)
  • 旋转延迟时间:等待扇区移动到磁头下时间
  • 平均旋转延迟时间:旋转1/2圈的时间,即1/(2*RPM/60)秒

传输时间:传输的数据量(总字节数)除以传输率

  • 传输率:传输总字节数除以传输时间,例如:6Gb/s表示1秒可以传输6G的数据
    传输1KB的传输时间:
    1K*8/6G = 7.5(微秒)

磁盘访问时间越大,磁盘访问性能就越低。
0x18 大容量存储器结构
例子:
4KB块,7200 RPM磁盘,5ms平均寻道时间,
1Gb/sec传输率,0.1ms控制开销
读取4KB数据块的磁盘访问时间为:
5ms + 1/2*1/(7200/60)sec + 4KB/1Gb/sec + 0.1ms
=5.1ms +4.17ms+0.03ms
=9.30ms

磁盘管理

1、低级格式化(物理格式化)
将磁盘分成扇区,以便磁盘控制器读写
0x18 大容量存储器结构
2、分区
将磁盘分成分区
主分区和扩展分区
3、高级格式化
逻辑格式化,创建文件系统
4、引导块
自举程序保存在ROM中,自举程序装载引导块程序

扇区格式

0x18 大容量存储器结构

分区

如下图所示,分区3是启动分区,操作系统就安装在这个分区,如果这是启动磁盘,它还有MBR(主引导记录)
0x18 大容量存储器结构

引导区记录

0x18 大容量存储器结构

高级格式化

0x18 大容量存储器结构

坏块检查

0x18 大容量存储器结构

二、磁盘调度和RAID

磁盘调度

目的:减少磁盘访问时间,提高文件系统的效率。

磁盘访问时间包括:
寻道时间:磁头移动到访问扇区所在磁道的时间。
旋转延迟时间:将访间扇区转到磁头下的时间。
传输时间:将数据从磁盘送到内存的时间。

其中,旋转延迟时间和传输时间是由磁盘的参数
决定,无法优化。所以,优化磁盘访问时间的
关键是优化寻道时间,即寻道时间最小化。多数情况下,优化寻道时间就是优化寻道距离,也就是磁头在读写数据时,移动的距离越短,寻道时间就越短。

请求系列:
假定有1个请求序列(0-199道):
98, 183, 37, 122,14, 124, 65, 67
磁头当前位置在53
目标:磁头移动距离最小,寻道时间最短

磁盘调度算法

1. 先来先服务算法FCFS

  • 按照请求提交时间访问
    先提交先访问
    后提交后访问
  • 优点
    简单、公平;易实现。
  • 缺点
    寻道时间长
    0x18 大容量存储器结构

2.最短寻道时间优先算法SSTF

每次移动到离现在位置最近的磁道,是一种追求局部最优的方法。

  • 最短寻道时间
  • 最短作业优先(SJF)

优点:寻道距离短;
缺点:存在饥饿;磁头频繁变换移动方向;增加寻道时间
0x18 大容量存储器结构

3.扫描算法SCAN

磁头从磁盘一端向另一段移动,沿途响应服务请求

  • 到达另一端时,磁头改变移动方向,继续处理
  • 磁头在磁盘上来回扫描
  • 又称为电梯算法

优点:同一方向扫描,寻道时间短;
缺点:有的请求等待时间长。

4.循环扫描算法C-SCAN

单向处理请求

  • 磁头从磁盘外道(0道)移到内道过程中处理请求
  • 内道移动到外道的过程中不处理请求

优点:更均匀的等待时间
0x18 大容量存储器结构
从磁道199移动到0的时间很短

5.循环Look算法C-LOOK

C-SCAN变形
磁头只移动到一个方向上最远请求为止,而不是继续到磁盘尽头
0x18 大容量存储器结构

如何选择磁盘调度算法?

磁盘调度的性能主要依赖于请求的数量和类型

  • 磁盘服务请求很大程度上受文件分配方法影响
  • SSTF较为普遍且很有吸引力
  • SCAN和C-SCAN适合磁盘大负荷系统
  • SSTF或LOOK是比较合理的缺省算法

RAID技术

目的:增强数据的可靠性和访问的并行性。

RAID原来是廉价磁盘冗余陈列的缩写,现在较多为独立磁盘冗余陈列的缩写。

RAID 由很多价格较便宜的磁盘,组合成一个大容量的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能和可靠性。
RAID被分成了多个不同级别

  • RAIDO-RAID7
  • RAID01,RAID10,RAID5E,RAID5EE,RAID50

RAID卡(现代CPU集成RAID)

RAID性能

可靠性

  • 磁盘可靠性
  • 引入冗余
  • 例如:镜像

性能(数据分散,并行读写)

  • 位级分散:数据每个字节的各个位分散在多个磁盘上
  • 块级分散:数据以块为单位分散在多个磁盘上

0x18 大容量存储器结构

RAID级别

0x18 大容量存储器结构

RAID(0+1) 和 (1+0)

0x18 大容量存储器结构