当前位置: 首页 > news >正文

计算机组成原理(3)-----外存储器

目录

一.磁盘存储器

1.磁盘设备的组成

2.磁盘的性能指标

3.磁盘地址

4.硬盘的工作过程

5.磁盘阵列

二.固态硬盘SSD


一.磁盘存储器

计算机的外存储器又称为辅助存储器,目前主要使用磁表面存储器。

所谓“磁表面存储”,是指把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息。磁盘存储器、磁带存储器和磁鼓存储器均属于磁表面存储器。

如图所示,最下面的为磁带,在磁带移动的过程中,给"写线圈"的一端,加上两种方向的电流,能够使磁层产生两种状态,这两种状态分别为0和1。

而对于"读线圈",在磁带运动的过程中,会产生两种不同的磁场,从而使"读线圈"一端,产生两个方向的电流,分别代表0和1。

所以磁带划过磁头下方时,磁头就能以1bit为单位往其中写数据,读线圈同理,以1bit为单位读数据。

若主机给磁盘传送了8bit数据,那么会将数据并行的传送到磁盘,由于磁盘的读/写数据以1bit为单位,所以还需将并行的数据转化为串行的数据写入。

同理,主机从磁盘读数据,数据是以1bit为单位读出的,若主机接收的是并行的数据,那么需要将串行数据转化为并行数据,传给主机。

注:读/写两个操作是不能同时进行的。

磁表面存储器的优点:
①存储容量大,位价格低;
②)记录介质可以重复使用;
③记录信息可以长期保存而不丢失,甚至可以脱机存档;

④非破坏性读出,读出时不需要再生。

磁表面存储器的缺点:
①存取速度慢;
②)机械结构复杂;
③对工作环境要求较高。因为磁盘很容易收到磁场的干扰。

外存储器既可以作为输入设备,也可以作为输出设备(既可以存数据,也可以读数据)

1.磁盘设备的组成

驱动轴中有一个马达,会带动驱动轴旋转,进而带动盘片旋转,磁盘设备有很多盘片,每个盘片的表层会涂上磁性材质,磁性材质是一圈一圈地涂的,当需要读取某一圈的磁性材质时,就需要将磁头臂移动到这一圈上。由于盘片旋转,这一圈的磁性材质都会划过磁头下方

(1)存储区域:

一块硬盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划分为若干个扇区,扇区(也称块)是磁盘读写的最小单位,也就是说磁盘按块存取。

(2)硬盘存储器:

硬盘存储器由磁盘驱动器、磁盘控制器和盘片组成。

磁盘驱动器:核心部件是磁头组件和盘片组件,温彻斯特盘是一种可移动头固定盘片的硬盘存储器。

磁盘控制器:是硬盘存储器和主机的接口,主流的标准有IDE、SCSI、SATA等。

注:一个磁盘的正面和反面都可以涂上磁性材质, 那么其磁盘的结构如下图所示,磁头臂会有上下两个磁头:

2.磁盘的性能指标

磁盘的容量:一个磁盘所能存储的字节总数称为磁盘容量。磁盘容量有非格式化容量和格式化容量之分。

非格式化容量是指磁记录表面可以利用的磁化单元总数。磁盘物理上可以存储的2进制bit的上限。
格式化容量是指按照某种特定的记录格式所能存储信息的总量。例如某些磁盘扇区会损坏,为了防止某个扇区损坏导致整个磁盘无法工作。因此需要对磁盘进行格式化,例如留下某些备用扇区作为替换,某扇区A损坏,则使用备份扇区B替换。

② 记录密度:记录密度是指盘片单位面积上记录的二进制的信息量,通常以道密度、位密度和面密度表示。

•是沿磁盘半径方向单位长度上的磁道数;

•位密度是磁道单位长度上能记录的二进制代码位数;若题目给出磁道或扇区的长度,若再知道位密度,就能知道某磁道或某扇区能够存储多少bit数据。

注意:磁盘所有磁道记录的信息量一定是相等的,并不是圆越大信息越多,故每个磁道的位密度都不同。所以越内侧的磁道位密度越大。

所以一个磁盘的存储性能很多时候会受到最内侧磁道制约,因为最内侧磁道很短,可以存储的数据一定有上限。所以最内侧磁道的位密度会影响磁盘的整体容量。

•面密度是位密度和道密度的乘积。

③ 平均存取时间:平均存取时间 = 寻道时间(磁头移动到目的磁道)+旋转延迟时间(磁头定位到所在扇区)+传输时间(传输数据所花费的时间)

 若要读写某一个扇区,先将磁头臂移动到扇区所在位置(寻道),继续旋转,使要读写的扇区划到磁头臂的下方(旋转),继续旋转,让整个扇区划过磁头臂(传输

若题目中未给出旋转延迟时间,那么就默认为磁盘转半圈所需时间

注:有的题目会加上磁盘控制器的延迟时间,即磁盘电子部件接收主机的命令,并且对磁盘驱动器机械部分发出控制信号所需要的延迟时间

④数据传输率:磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率。

假设磁盘转数r(转/秒),每条磁道容量为N个字节,则数据传输率D_{r}=rN

3.磁盘地址

我们需要给磁盘的各个扇区进行编号,主机向磁盘控制器发送寻址信息,磁盘的地址一般如图所示:

驱动器号:一台电脑可能有多个硬盘,首先我们会选中一个特定的硬盘。

柱面(磁道)号:移动磁头臂(寻道)

盘面号:激活某个磁头

扇区号:通过旋转将特定扇区划过磁头下方

若系统中有4个驱动器,每个驱动器带一个磁盘,每个磁盘256个磁道,16个盘面,每个盘面划分为16个扇区,则每个扇区地址要18位二进制代码;

根据如上分配,就可以用18个二进制位唯一指明某个具体扇区。

4.硬盘的工作过程

硬盘的主要操作是寻址读盘写盘,每个操作都对应一个控制字,硬盘工作时,第一步是取控制字,第二步是执行控制字。

硬盘属于机械式部件,其读写操作是串行的,不可能在同一时刻既读又写,也不可能在同一时刻读两组数据或写两组数据。

5.磁盘阵列

RAID(Redundant Array ofInexpensive Disks,廉价冗余磁盘阵列)是将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性。

RAID的分级如下所示。在RAID1~RAID5的几种方案中,无论何时有磁盘损坏,都可以随时拔出受损的磁盘再插入好的磁盘,而数据不会损坏。

RAID0:无冗余和无校验的磁盘阵列。
RAID1:镜像磁盘阵列。
RAID2:采用纠错的海明码的磁盘阵列。
RAID3:位交叉奇偶校验的磁盘阵列。
RAID4:块交叉奇偶校验的磁盘阵列。
RAID5:无独立校验的奇偶校验磁盘阵列。

从上至下,磁盘阵列的安全性和可靠性越高。

对于RAID0:逻辑上相邻的两个扇区在物理上存到两个磁盘,类比“低位交叉编址的多体存储器”。 

如图所示,将逻辑上相邻的数据块,物理上通过RAID0相关软件的处理,存储在不同物理盘上,这样能使整个磁盘的读写速度增快。

因为没有存储冗余的信息,所以当某个扇区损坏后,无法恢复数据,RAID0也不包含校验功能。

对于RAID1:会存储两份数据。若其中一个磁盘某些扇区损坏或者整个磁盘损坏,也可以在第二个磁盘中找到相应数据,同时可以对比两个磁盘的数据是否一致,来判断是否发生数据错误。所以RAID1可以冗余存储,也有校验功能。但是可以看到两个磁盘当一个磁盘使用,存储空间利用率为50%

对于RAID2:逻辑上连续的几个bit物理上分散存储在各个盘中4bit信息位+3bit海明校验位---可纠正一位错,发现两位错。

因为使用了海明码,若丢失了1bit数据,依然可以使用海明码恢复数据。

越靠后,冗余的占比会越少,磁盘的利用率会越来越高,同时会通过数据校验的设计,提高容错率。

RAID通过同时使用多个磁盘,提高了传输率;通过在多个磁盘上并行存取来大幅提高存储系统的数据吞吐量:通过镜像功能,可以提高安全可靠性;通过数据校验,可以提供容错能力。

二.固态硬盘SSD

对于固态硬盘SSD可以看这一篇:

http://t.csdnimg.cn/2iwZK

为了知识点的完整性,故加上了这一节

相关文章:

  • 已解决ModuleNotFoundError: No module named ‘tensorflow‘异常的正确解决方法,亲测有效!!!
  • Rust 语言学习杂谈 (end) (各种工作中遇到的疑难杂症)
  • MySQL中常见的几种日志类型【重点】
  • 前端Vue篇之过滤器的作用,如何实现一个过滤器
  • C语言学习day15:数组强化训练
  • 如何在 Angular Material 中使用自定义 SVG 图标
  • 【洛谷 P3367】【模板】并查集 题解(并查集+启发式合并)
  • c++类和对象新手保姆级上手教学(上)
  • The method toList() is undefined for the type Stream
  • 汇编的两道题
  • ES入门知识点总结
  • ChatGPT高效提问—prompt实践(智能辅导-心理咨询-职业规划)
  • 互联网加竞赛 基于计算机视觉的身份证识别系统
  • 前端工程化面试题 | 11.精选前端工程化高频面试题
  • Ubuntu忘记登录密码重置步骤
  • @jsonView过滤属性
  • 《Java编程思想》读书笔记-对象导论
  • 10个最佳ES6特性 ES7与ES8的特性
  • Akka系列(七):Actor持久化之Akka persistence
  • Docker: 容器互访的三种方式
  • Intervention/image 图片处理扩展包的安装和使用
  • iOS 系统授权开发
  • java2019面试题北京
  • Lsb图片隐写
  • mysql 5.6 原生Online DDL解析
  • Netty 4.1 源代码学习:线程模型
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • PaddlePaddle-GitHub的正确打开姿势
  • PAT A1092
  • React-Native - 收藏集 - 掘金
  • Redis在Web项目中的应用与实践
  • underscore源码剖析之整体架构
  • Vue.js源码(2):初探List Rendering
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • windows-nginx-https-本地配置
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 实战|智能家居行业移动应用性能分析
  • 算法-图和图算法
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • UI设计初学者应该如何入门?
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 函数计算新功能-----支持C#函数
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $forceUpdate()函数
  • (1)虚拟机的安装与使用,linux系统安装
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (AngularJS)Angular 控制器之间通信初探
  • (一)插入排序
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .aanva