0x18 大容量存储器结构
一、磁盘结构和管理
磁盘结构
盘片是存储数据的介质,正反两面可以存储数据;
磁头可以读写数据,沿磁盘半径移动,有多少盘面就有多少磁头;
主轴由马达驱动,使盘片以固定速度旋转。
磁盘和计算机之间有接口,用于数据传输,例如EIDE,ATA,SATA, USB,Fibre Channel, SCSI,SAS,Firewire;
磁盘控制器控制磁盘的读写等操作,并且利用磁盘缓冲区来暂存数据。
盘片结构:
- 磁道
磁头在盘片表面划出的圆形;
盘面划分为数目相等的磁道;
从盘面外缘“0”开始编号 - 扇区
磁道被等分为若干个弧段,称为扇区;
扇区大小:512字节 - 柱面
具有相同编号的磁道形成一个圆柱,称为柱面;每个圆柱上的磁头,自上向下从“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(微秒)
磁盘访问时间越大,磁盘访问性能就越低。
例子:
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、低级格式化(物理格式化)
将磁盘分成扇区,以便磁盘控制器读写
2、分区
将磁盘分成分区
主分区和扩展分区
3、高级格式化
逻辑格式化,创建文件系统
4、引导块
自举程序保存在ROM中,自举程序装载引导块程序。
扇区格式
分区
如下图所示,分区3是启动分区,操作系统就安装在这个分区,如果这是启动磁盘,它还有MBR(主引导记录)
引导区记录
高级格式化
坏块检查
二、磁盘调度和RAID
磁盘调度
目的:减少磁盘访问时间,提高文件系统的效率。
磁盘访问时间包括:
寻道时间:磁头移动到访问扇区所在磁道的时间。
旋转延迟时间:将访间扇区转到磁头下的时间。
传输时间:将数据从磁盘送到内存的时间。
其中,旋转延迟时间和传输时间是由磁盘的参数
决定,无法优化。所以,优化磁盘访问时间的
关键是优化寻道时间,即寻道时间最小化。多数情况下,优化寻道时间就是优化寻道距离,也就是磁头在读写数据时,移动的距离越短,寻道时间就越短。
请求系列:
假定有1个请求序列(0-199道):
98, 183, 37, 122,14, 124, 65, 67
磁头当前位置在53
目标:磁头移动距离最小,寻道时间最短
磁盘调度算法
1. 先来先服务算法FCFS
- 按照请求提交时间访问
先提交先访问
后提交后访问 - 优点
简单、公平;易实现。 - 缺点
寻道时间长
2.最短寻道时间优先算法SSTF
每次移动到离现在位置最近的磁道,是一种追求局部最优的方法。
- 最短寻道时间
- 最短作业优先(SJF)
优点:寻道距离短;
缺点:存在饥饿;磁头频繁变换移动方向;增加寻道时间
3.扫描算法SCAN
磁头从磁盘一端向另一段移动,沿途响应服务请求
- 到达另一端时,磁头改变移动方向,继续处理
- 磁头在磁盘上来回扫描
- 又称为电梯算法
优点:同一方向扫描,寻道时间短;
缺点:有的请求等待时间长。
4.循环扫描算法C-SCAN
单向处理请求
- 磁头从磁盘外道(0道)移到内道过程中处理请求
- 内道移动到外道的过程中不处理请求
优点:更均匀的等待时间
从磁道199移动到0的时间很短
5.循环Look算法C-LOOK
C-SCAN变形
磁头只移动到一个方向上最远请求为止,而不是继续到磁盘尽头
如何选择磁盘调度算法?
磁盘调度的性能主要依赖于请求的数量和类型
- 磁盘服务请求很大程度上受文件分配方法影响
- SSTF较为普遍且很有吸引力
- SCAN和C-SCAN适合磁盘大负荷系统
- SSTF或LOOK是比较合理的缺省算法
RAID技术
目的:增强数据的可靠性和访问的并行性。
RAID原来是廉价磁盘冗余陈列的缩写,现在较多为独立磁盘冗余陈列的缩写。
RAID 由很多价格较便宜的磁盘,组合成一个大容量的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能和可靠性。
RAID被分成了多个不同级别
- RAIDO-RAID7
- RAID01,RAID10,RAID5E,RAID5EE,RAID50
RAID卡(现代CPU集成RAID)
RAID性能
可靠性
- 磁盘可靠性
- 引入冗余
- 例如:镜像
性能(数据分散,并行读写)
- 位级分散:数据每个字节的各个位分散在多个磁盘上
- 块级分散:数据以块为单位分散在多个磁盘上
RAID级别
RAID(0+1) 和 (1+0)
0x18 大容量存储器结构相关推荐
- stm32的存储器结构
https://blog.csdn.net/qq_33114231/article/details/78658465 首页 博客 学院 下载 图文课 论坛 APP CSDNCSDN学院 问答 商城 V ...
- DDR3内存详解,存储器结构+时序+初始化过程
转载 DDR3内存详解,存储器结构+时序+初始化过程 2017-06-17 16:10:33 a_chinese_man 阅读数 23423更多 分类专栏: 硬件开发基础 转自:http://www. ...
- 【iCore4 双核心板_ARM】例程十七:USB_MSC实验——读/写U盘(大容量存储器)
实验方法: 1.将跳线冒跳至USB_UART,通过Micro USB 线将iCore4 USB-UART接口与电脑相连. 2.打开PUTTY软件. 3.通过读U盘转接线将U盘(或者读卡器)与iCore ...
- 计算机系统中三级存储器结构,计算机三级存储体系(1)
,四小组第二次讨论报告,计算机三级存储体系,first,,Introduction:,一级缓存都内置在CPU内部并与CPU同速运行,可以有效的提高CPU的运行效率.一级缓存越大,CPU的运行效率越高, ...
- 8051单片机的存储器结构
MCS-51单片机在物理结构上有四个存储空间: 1.片内程序存储器 2.片外程序存储器 3.片内数据存储器 4.片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1.片内外 ...
- C51 - 存储器结构
STC89C516RD+存储器 1> 冯诺依曼 与 哈佛结构 1.1> 冯诺伊曼结构 1.2> 哈佛结构 2> AT89C51内部结构 3> STC89C51RC/RD+ ...
- MCS-51单片机存储器结构-特殊功能寄存器 :堆栈指针SP(Stack Pointer)
堆栈指针SP(Stack Pointer) 堆栈是一种数据结构,它是一个8位寄存器,它指示堆栈顶部在内部RAM中的位置.系统复位后,SP的初始值为07H,使得堆栈实际上是从08H开始的.但我们从RAM ...
- 【iCore3 双核心板】例程十七:USB_MSC实验——读/写U盘(大容量存储器)
实验指导书及代码包下载: http://pan.baidu.com/s/1qXt1L0o iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- linux检测usb程序占用,在Linux中检测USB大容量存储器弹出/卸载
我也遇到了这个问题. 我的嵌入式USB只读大容量存储项目监视主机中的SCSI命令.对于Mac OS X(10.5):在插件上,OS X驱动程序可以很好地告诉设备防止介质被移除(SCSI命令PREVEN ...
最新文章
- 2022-2028年中国SUV市场投资分析及前景预测报告
- 优秀程序员都会关注的公众号
- 基于FPGA的FFT设计
- 单片机定时器_51单片机的定时器如何计算初值?
- 从EF三层 到 DDD领域驱动设计(1)--------------数据操作
- Listen 0.0.0.0:80 Listen [::0]:80
- Atitit 项目管理软件 在线服务 attilax总结 1. 项目管理协作的历史	1 1.1. Worktile 406k	1 1.2. Teambition 584k in baidu
- SVN如何回滚到指定版本
- 网站压测工具Apache-ab,webbench,Apache-Jemeter
- typecho图片插件_Typecho图片表情插件Smilies1.1.3更新
- 抖音吸粉_抖音吸粉六大技巧
- python泊松_python实现泊松图像融合
- 卡西欧科学计算机使用方法,卡西欧计算器使用说明
- ئاندرويىد تېلېفۇندىكى ئۇيغۇرچە
- 洗礼灵魂,修炼python(73)--全栈项目实战篇(1)——【转载】前提准备之学习ubuntu...
- 强关联中Tight-Binding哈密顿量的生成
- Java之旅--如何从草根成为技术专家
- 【面向对象】重载和重写
- 如何使用CAM350打开gerber文件
- 复制移动文件时对于目标文件系统过大怎么办
热门文章
- 英飞凌TC264D单片机——匿名上位机蓝牙串口发送通信协议
- 类加载器-ClassLoader
- 帝国理工学院计算机硕士几年,2020年帝国理工学院硕士读几年
- 基于Android的掌上校园系统app
- 深圳大学公文通简易检索系统
- 百度 android tts sdk,百度Android语音合成(TTS)SDK使用方法
- 楷书书法规则_硬笔书法 楷书规则
- chrome 浏览器安装教程
- ORA-16053: DB_UNIQUE_NAME win12cbak is not in the Data Guard Configuration
- 关于反向域名解析(Reverse DNS)