计算机组成结构—外部存储器

        

目录

一、磁盘存储器

1. 磁表面存储器和磁记录原理

2. 硬磁盘的分类和基本结构

(1)硬磁盘存储器的分类

(2)硬磁盘存储器的组成

3. 磁盘的工作原理

(1)磁盘存储区域

(2)磁盘地址

(3)磁盘的工作过程

4. 磁盘的性能指标

(1)记录密度

(2)存储容量

(3)平均寻址时间 

(4)数据传输率

(5)误码率

5. 冗余磁盘阵列 RAID

二、固态硬盘(SSD)


        外部存储器是主存的后援设备,也叫做辅助存储器,简称 外存辅存,与主存一起构成了存储器系统的主存-辅存层次。与主存相比,外存容量大、速度慢、价格低,可以脱机保存信息,属于 非易失性存储器

        用于计算机系统的外存主要有磁盘、磁带、光盘;磁盘和磁带都属于 磁表面存储器。而目前广泛应用的 固态硬盘(SSD)主体由闪存芯片构成,属于半导体存储器。

一、磁盘存储器

        磁盘是应用最为广泛的外存设备。磁盘根据结构和盘片材质的不同,可以分为 硬磁盘软磁盘,如今随着存储技术的发展,软磁盘存储器已渐渐不再使用,而硬磁盘存储器依然在外存中占据着重要的比例。

磁盘存储器具有外存设备普遍的优缺点:

  • 优点:存储容量大,位价低;记录介质可重复使用;记录信息可长期保存而不丢失, 甚至可脱机存档;非破坏性读出,读出时不需要再生。

  • 缺点:存取速度慢,机械结构复杂。

1. 磁表面存储器和磁记录原理

        磁表面存储器在不同形状(盘状、带状)的载体上涂有磁性材料层,这磁层就是记录信息的存储介质。存储器工作时,依靠载体的机械运动,由磁头在磁层上进行读/写操作;信息就记录在磁层上,这些信息的轨迹叫做 磁道。磁盘的磁道是一个个同心圆,磁带的磁道则是一条条直线。

  • 磁记录原理:磁表面存储器在磁头和磁性记录介质做相对运动时,通过电磁转换完成读/写操作。

  • 磁记录方式:又称为编码方法,就是按某种规律把一连串的二进制信息转换成磁表面相应的磁化状态。通常采用调频制(FM)和改进型调频制(MFM)的记录方式。

2. 硬磁盘的分类和基本结构

(1)硬磁盘存储器的分类

        硬磁盘中的存储载体是盘片,它是由硬质铝合金材料制成的,其表面涂有一层硬磁特性材料,可以被磁化从而完成信息的存储。通过磁头和盘片的相对运动,就可以实现信息的读取和写入。

 

  • 根据能否更换盘片,硬磁盘可以分为 可换盘磁盘固定盘磁盘

        可换盘磁盘的盘片可以脱机保存,所以更换的时候可以只换单片,方便维护和扩容;固定盘磁盘的盘片则不能从驱动器中取下,更换的时候需要整体更换,可靠性更高。

  • 按照磁头的工作方式,硬磁盘可以分为 固定磁头磁盘移动磁头磁盘

  • 固定磁头的磁盘存储器,磁头位置是固定不动的,磁盘上的每一个磁道都对应着一个磁头,盘片也不可以更换;这样省去了磁头在盘片上移动寻找磁道的时间,存取速度更快。

  • 移动磁头的磁盘存储器,存取数据时磁头需要在盘面上做径向运动;这类存储器可以只有一个盘片,也可以有多个盘片。多个盘片会装在一个同心主轴上,每个记录面各有一个磁头。所有这些磁头连成一体,固定在支架上移动;任何时刻所有磁头和主轴的距离都相等,它们位于和圆心相等距离的一组磁道上,这组磁道称为一个 柱面

        目前,移动磁头的多盘片磁盘存储器应用最广泛,典型代表是 温切斯特磁盘。温切斯特磁盘简称温盘,是一种可移动磁头、固定盘片的磁盘存储器。它采用密封组合的方式,将磁头、盘片、驱动部件以及读/写电路等做成一个不可拆卸的整体,称作 头盘组合体。所以它的特点是可靠性强,防尘性能好,对环境要求不高。

(2)硬磁盘存储器的组成

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

  • 磁盘驱动器

        磁盘驱动器是主机之外的一个独立装置,又称作 磁盘机。驱动器主要包括主轴、定位驱动和数据控制 3 个部分。

        主轴受传动机构的控制,可以使磁盘高速旋转;磁头分装在读/写臂上,连接到一个小车,在音圈电机的控制下平行移动进行寻道;定位驱动系统是一个带有速度、位置反馈的闭环自动控制系统,根据磁头的即时位置和速度计算出接下来运动的方向和速度;数据控制部分主要对数据转换和读/写操作进行控制。首先接收选头选址信号,然后根据磁记录方式将数据脉冲和线圈的驱动电流进行转换。

  • 磁盘控制器

        磁盘控制器是磁盘存储器和主机的接口,通常就是一块电路板,插在主机总线插槽中。它的作用是接收由主机发来的命令,将其转换成磁盘驱动器的控制命令,实现主机和驱动器之间的数据格式转换和数据传送,并且控制驱动器的读/写操作。一个磁盘控制器可以控制多台驱动器。

        将磁盘控制器的功能全部内置在磁盘设备中,主机和设备之间就可以采用标准的通用接口了。最初这种接口就称为 IDE(Integrated Drive Electronics)接口,同时期还有更高性能的 SCSI(Small Computer System Interface)接口;之后又发展出了采用串行传输技术的接口,这就是 SATA(Serial Advanced Technology Attachment)和 SAS(Serial Attached SCSI)。目前我们的个人电脑中,大多都是采用 SATA 接口的硬盘。

  • 盘片

        盘片是磁盘中存储信息的载体,由驱动器控制它的转动并读/写数据;有时也会直接把盘片当作驱动器的一部分。目前硬盘的盘片正朝着小体积大容量的方向发展,记录密度越来越高。

3. 磁盘的工作原理

(1)磁盘存储区域

        一块磁盘划分为若干个记录面,每个记录面划分为若干条 磁道,而每条磁道又划分为若干个 扇区,扇区(也称块、扇段)是磁盘读写的最小单位,即磁盘按块存取。一个具有多盘片的磁盘组,可将其 n 个面上所有同一半径的磁道看成一个圆柱面,称为 柱面;在移动磁头的组合盘中,多个磁头一次定位的磁道集合就是一个柱面。

  • 磁头数:表示磁盘总共有几个磁头,一般来说一个记录面对应一个磁头,所以等于记录面数。

  • 柱面数:表示磁盘中柱面的个数,等于每个记录面上的磁道数。

  • 扇区数:表示每条磁道上有几个扇区。

(2)磁盘地址

        一个磁盘存储器可以有多台驱动器,不同的驱动器可以用一个编号(驱动器号,或者台号)来区分。当驱动器号确定后,磁盘进行寻址定位时,首先需要整体移动磁头找到对应柱面(磁道)、再选定磁头,最后转动盘片找到扇区。所以寻址所需要的磁盘地址,一般由 驱动器号柱面(磁道)号盘面号扇区号 组成。

磁盘的地址格式如下所示:

驱动器号柱面(磁道)号盘面号扇区号


     例如,系统中有 4 个驱动器,每个驱动器带一个磁盘组,其中有 11 个盘片(最外层上下侧为保护面),每个盘面有 203 个磁道、划分为 16 个扇区。则可以算出,驱动器号需要 2 位;柱面号需要 8 位( 2^{7}< 203 < 2^{8});而 11 个盘片有 20 个盘面,所以盘面号需要 5 位;扇区号需要 4 位。最终每个磁盘地址要 19 位二进制代码。

(3)磁盘的工作过程

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

4. 磁盘的性能指标

(1)记录密度

        记录密度通常是指单位长度内所存储的二进制信息量。磁盘存储器用 道密度位密度面密度 来表示。

  • 道密度:沿磁盘半径方向单位长度上的磁道数;单位 tpi(Track Per Inch,道每英寸)或 tpm(道每毫米)。为避免电磁干扰,磁道之间会保持一定的距离,称为 道距;道密度就是 D~t~ 就是 道距 P 的倒数:

        D_{t} = \frac{1}{P}

  • 位密度:单位长度的磁道上能记录的二进制位数;单位 bpi(Bits Per Inch,位每英寸)。磁盘中每个磁道上记录的信息量是相同的,可以记为每道总位数 f_{t};由于各个磁道周长不同,因此位密度也不同。一般所说的磁盘位密度,指的就是最内圈上的位密度(最大位密度)。如果最内圈同心圆的直径为 d_{min},那么位密度 D_{b}为:

D_{b} = \frac{f_{t}}{\pi d_{min}}

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

(2)存储容量

        存储容量指磁盘能存储的二进制信息的总数量,一般以位或者字节为单位。磁盘存储容量 C 可以计算为:

C = n k s

        其中 n 为 盘面数,k 为每个盘面的磁道数,s 为每条磁道上记录的二进制代码数。

        磁盘有非格式化容量和格式化容量两个指标。非格式化容量是指磁表面可利用的磁化单元总数,可以由道密度和位密度计算得到;格式化容量是指按某种特定的记录格式所能存储信息的总量,即用户可以使用的容量,一般是非格式化容量的 60% ~ 70%。

(3)平均寻址时间 

        磁盘的存取方式是直接存取,它的寻址时间分为两个部分:磁头寻找目标磁道的时间 t_{s};和找到磁道后,磁头等待要读写的磁道区段(扇区)旋转到磁头下方的时间 t_{w} 。由于寻找相邻磁道和不相邻磁道的时间不同,磁头等待不同扇区的时间也不同,所以应该取平均值,称为 平均寻址时间;它是 平均寻道时间 t_{sa} 和 平均等待时间 t_{wa}之和。

        T_a = t_{sa} + t_{wa} = \frac{t_{smax} + t_{smin}}{2} + \frac{t_{wmax} + t_{wmin}}{2}

        平均寻址时间再加上数据传输时间,就是磁盘的 平均访问时间

(4)数据传输率

        数据传输率是指单位时间内,磁盘向主机传送数据的位数或字节数。数据传输率 D_{r} 与记录位密度 D_{b}和磁道运动速度 V 有关;

        D_r = D_b \times V

对于磁盘来说,“磁道运动速度” 一般用磁盘的转速 r (单位 转/s)表示,那么
        D_r = D_b \times (r \times \pi d_{min}) = r \times f_t

(5)误码率

        误码率是衡量磁盘出错概率的参数,等于从磁盘读出信息时,出错信息位数和读出信息总位数之比。为了减少出错率,磁盘一般采用循环冗余校验(CRC)码来发现和纠正错误。

5. 冗余磁盘阵列 RAID

        冗余磁盘阵列(Redundant Array of Independent Disks,RAID)是将多个独立的物理磁盘组成一个磁盘阵列,引入并行处理技术,让数据在多个物理盘上分割交叉存储、并行访问。

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

  • RAID0:无冗余和无校验的磁盘阵列。

  • RAID1:镜像磁盘阵列,无校验。

  • RAID2:采用纠错的海明码的磁盘阵列。

  • RAID3:位交叉奇偶校验的磁盘阵列。

  • RAID4:块交叉奇偶校验的磁盘阵列。

  • RAID5:无独立校验的奇偶校验磁盘阵列。

        其中,RAID0 把连续多个数据块交替地存放在不同物理磁盘的扇区中,几个磁盘交叉并行读写,不仅扩大了存储容量,而且提高了磁盘数据存取速度,但 RAID0 没有容错能力。

        RAID1 是为了提高可靠性,使两个磁盘同时进行读写,互为备份,如果一个磁盘出现故障,可从另 一磁盘中读出数据。两个磁盘当一个磁盘使用,意味着容量减少一半。

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

二、固态硬盘(SSD)

        固态硬盘(Solid State Disk,SSD)是基于闪存(Flash)技术的半导体存储器,它与 U 盘并没有本质差别。SSD 由闪存芯片和闪存翻译层组成,闪存芯片代替了传统磁盘中的磁盘驱动器,闪存翻译层则将来自 CPU 的读写请求翻译成对芯片的读写控制信号,相当于磁盘中的磁盘控制器。

        固态硬盘有很多优点。它由半导体存储器构成,没有机械部件,所以随机访问速度比磁盘快很多,也没有任何机械噪声和震动。另外,SSD 还具有能耗低、抗震性好、安全性高等优点。

        当然,固态硬盘也有缺点。它最大的问题是依然基于 EEPROM 的擦除原理,随机写入比较慢。

        固态硬盘的数据都存放在闪存芯片中。一个闪存芯片内包含了多个 “块”,每个块又由若干 “页” 组成。数据以页为单位进行读写,但是需要以块为单位进行擦除;所以只有一页所属的块整个被擦除之后,才能重新写这一页。一旦一个块被擦除了,块中的每一页都可以再写一次。一般某个块进行了数千次重复写之后,就会损坏。

        因此随机写很慢,有两个原因:首先,擦除块本身就比较慢;其次,如果试图写的页所在块已经有数据了,那么这个块中其它所有有数据的页都必须被复制到一个新块(擦除过的块),然后才能进行写操作。

        因此,闪存的擦写寿命是有限的,读/写数据通常会集中在 SSD 的一部分闪存,这部分闪存就会损坏得特别快;在磨损不均衡的情况下,数个闪存块的损坏,会导致整个 SSD 损坏。为弥补 SSD 的寿命缺陷,引入了 磨损均衡技术,SSD 磨损均衡技术大致分为两种:

  • 动态磨损均衡:写入数据时,自动选择较新的闪存块。

  • 静态磨损均衡:监测并自动进行数据分配,让旧的闪存块承担无须写数据的储存任务,同时让较新的闪存块空出来;平常的读/写操作都在较新的闪存块中进行,这样就使各闪存块的损耗更为均衡。

        有了磨损均衡技术,SSD 的寿命就比较可观了。例如,对于一个 256 GB 的 SSD,闪存的擦写寿命是 500 次的话,那么就需要写入125 TB 数据才可能损坏;而目前的 Flash 芯片已经做到至少可以擦写上万次了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531856.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

备战蓝桥杯Day40 - 第11届python组真题 - C跑步锻炼

一、题目描述 二、思路 1、使用datetime库中的方法可以很好的解决这个问题。 2、定义起始时间和结束时间&#xff0c;判断是否是周一或者是1号&#xff0c;结果res加上相应的里程数。 3、最后输出 res 即为本题答案。 三、代码实现 import datetimestart datetime.date(2…

【LeetCode】手撕系列—82. 删除排序链表中的重复元素 II

目录 1- 思路2- 题解⭐删除排序链表中的重复元素 II——题解思路 3- ACM模式 原题链接&#xff1a;82. 删除排序链表中的重复元素 II 1- 思路 定义虚拟头结点 定义 cur 指针&#xff0c;cur指针始终指向虚拟头结点&#xff0c;依此操作 cur.next 和 cur.next.next while条件为…

centos7部署zabbix6.4.9

文章目录 [toc]一、环境准备1&#xff09;部署lnmp2&#xff09;修改配置文件3&#xff09;安装数据库 二、部署zabbix1&#xff09;下载zabbix2&#xff09;安装zabbix服务端3&#xff09;修改配置4&#xff09;开机启动5&#xff09;安装客户端 三、登录配置1&#xff09;访问…

KVM+GFS分布式存储

本章内容&#xff1a; 学会KVMGFS分布式存储高可用 1.0 案例环境 1.案例环境 大规模使用 KVM 虚拟机来运行业务&#xff0c;为了保证公司虚拟机能够安全稳定运行&#xff0c; 决定采用 KVMGlusterFS 模式&#xff0c;来保证虚拟机存储的分布部署&#xff0c;以及分布冗余。避…

【技术揭秘】爬取网站或APP应用的几种常用方案:RPA、抓包工具、Python爬虫,你了解多少?

本来准备空闲之余尝试用RPA软件抓取数据&#xff0c;【AIRPA系列】1、利用AIRPA提升工作效率 应用场景 &#xff0c; 最近工作项目有点忙&#xff0c; RPA实操系列可能会晚点了&#xff08;自己真正实操后再写&#xff0c;copy别人的没啥意思&#xff09;。这里简单整理下爬取…

转让无区域资产管理公司要求和步骤

资产管理公司转让是指&#xff0c;一家资产管理公司将其管理的资产或资产组合转让给另一家资产管理公司或买家。这种转让通常是由于各种原因引起的&#xff0c;例如公司战略调整、市场需求变化或者是公司经营状况不佳等。在进行资产管理公司转让时&#xff0c;需要遵循一定的流…

python 08Pandas

1.基础概念 2.基本操作 &#xff08;1&#xff09;加载数据集 import pandas as pd #引入pandas包 打开csv文件 df pd.read_csv(./data/gapminder.tsv,sep\t) #\t制表符&#xff0c;即tab&#xff0c;缩进四个字符 \n表示回车换行 print(type(df)) print(df.head()) #…

vue的监视属性

目录 1. 场景引入2. watch3. 深度监视4. 监视属性简写5. 小结 1. 场景引入 在实际开发中&#xff0c;有时开发者需要根据某个属性的变化&#xff0c;做出相应的决策&#xff0c;因此Vue为开发者提供了watch.这一监视属性&#xff0c;用于实现此类需求。比如下面这个场景&…

解决 macOS 系统向日葵远程控制鼠标、键盘无法点击的问题

解决 macOS 系统向日葵远程控制鼠标\键盘无法点击的问题 1、首先正常配置&#xff0c;在系统偏好设置 - 安全性与隐私内&#xff0c;将屏幕录制、文件和文件夹、完全的磁盘访问权限、辅助功能全部都加入向日葵客户端 2、通过打开的文件访达&#xff0c;使用command shift G…

蓝桥杯2023A-05-互质数(Java)

5.互质数 题目描述 给定 a, b&#xff0c;求 1 ≤ x < a^b 中有多少个 x 与 a^b 互质。由于答案可能很大&#xff0c;你只需要输出答案对 998244353 取模的结果。 输入格式 输入一行包含两个整数分别表示 a, b&#xff0c;用一个空格分隔。 输出格式 输出一行包含一个…

java操作linux

文章目录 远程连接服务器执行linux命令或shell脚本介绍Process的方法相关类UML 工具类基本工具类依赖第三方的工具类 远程连接服务器 java程序远程linux服务器有两个框架分别是&#xff1a;jsch与ganymed-ssh2框架。推荐使用jsch框架&#xff0c;因为ganymed-ssh2框架不支持麒…

IO流的基础详解

文件【1】File类&#xff1a; 封装文件/目录的各种信息&#xff0c;对目录/文件进行操作&#xff0c;但是我们不可以获取到文件/目录中的内容。 【2】引入&#xff1a;IO流&#xff1a; I/O &#xff1a; Input/Output的缩写&#xff0c;用于处理设备之间的数据的传输。 【3】…

【单片机家电产品学习记录--蜂鸣器】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 单片机家电产品–蜂鸣器 前言 记录学习单片机家电产品内容 已转载记录为主 一、知识点 1电子电路学习笔记&#xff08;17&#xff09;——蜂鸣器 蜂鸣器种类和原理 2疑…

【R基础】一组数据计算均值、方差与标准差方法及意义

【R基础】一组数据计算均值、方差与标准差方法及意义 均值、方差与标准差是用来描述数据分布情况 均值&#xff1a;用来衡量一组数据整体情况。 数据离散程度度量标准&#xff1a; 方差&#xff08;均方&#xff0c;s^2&#xff0c;总体参数&#xff0c;离均差平方和&#…

kotlin项目引用

概要&#xff1a; 记录项目引用kotlin具体事项 1 object下build.gradle buildscript {//声明引用版本ext.kotlin_version "1.4.20"repositories {google()mavenCentral()}dependencies {classpath "com.android.tools.build:gradle:4.2.0"//引用kotlinc…

队列实现栈———栈实现队列

两个队列实现栈 . - 力扣&#xff08;LeetCode&#xff09; 如何用两个队列实现栈的操作呢&#xff1f; 弹出 我们知道栈的特点是后进先出&#xff0c;而队列的特点是先进先出。如何用两个队列实现数据的先进后出。首先我们先抽象一个一个栈用来思考我们该怎么实现 我们先假设…

代码随想录阅读笔记-二叉树【总结】

二叉树的理论基础 代码随想录 (programmercarl.com)&#xff1a;二叉树的种类、存储方式、遍历方式、定义方式 二叉树的遍历方式 深度优先遍历 代码随想录阅读笔记-二叉树【递归遍历】-CSDN博客&#xff1a;递归三部曲初次亮相代码随想录阅读笔记-二叉树【迭代遍历】-CSDN博…

编写Markdown时如何爽爽地渲染树?

在使用VitePress/Dumi等静态网站生成时&#xff0c;一般均支持直接在Markdown中渲染显示Vue/React组件&#xff0c;这给个网站非常丰富极致的表现力&#xff0c;我们在创建静态网站时开心的使用各种Vue/React组件&#xff0c;但是在输出树结构时&#xff0c;实际场景中存在几个…

李沐25_使用块的网络VGG——自学笔记

VGG架构 1.多个VGG块后接全连接层 2.不同次数的重复块得到不同的架构 VGG-16、VGG-19 3.更大更深的AlexNet ##经典卷积神经网络的基本组成部分是下面的这个序列&#xff1a; 1.带填充以保持分辨率的卷积层&#xff1b; 2.非线性激活函数&#xff0c;如ReLU&#xff1b; …

【规划算法】A星 与 混合A星

理解概念: A星寻路算法详解&#xff08;C实现 完整代码图片演示 &#xff09;_a星算法-CSDN博客 A*算法图解_a*算法流程图-CSDN博客 A星(A*、A Star)路径规划算法详解&#xff08;附MATLAB代码&#xff09;_a星算法路径规划-CSDN博客 改进A*算法dwa 本文提出了一种改进的A*…