计算机组成原理与系统结构——外部存储器

笔记内容及图片整理自XJTUSE “计算机组成原理与系统结构” 课程ppt,仅供学习交流使用,谢谢。

磁盘

磁盘是一个由非磁性材料构成的圆形盘片(称为基片),上面涂抹可磁化材料。传统的基片一直是铝制或铝合金的,最新的引入了玻璃基片,它具有以下优点:

1)改进磁膜表面的均匀性,提高磁盘的可靠性

2)减少整体表面缺陷,降低读写错误

3)具有更好的刚度,减少磁盘动态

4)具有更强的抗冲击和防破坏能力

磁性读写机制

数据通过被称为磁头的导电线圈记录在磁盘上,之后再从磁盘取出。读写操作磁头是静止的,而盘面则在其下方旋转,磁头可以是单个读写头,也可以是多个读写头。

写入机制利用了流过线圈的电流会产生磁场的事实。电脉冲被发送到写磁头,由此产生的磁图案被记录到下面的表层上,正负电流产生不同的脉冲信号因而产生不同的图案。导线中的电流在磁盘间隙上产生不同的磁区,分别表示0、1。反转电流方向便反转介质上磁化方向。

传统读取机制利用了磁场相对线圈移动会产生电流的事实。当磁盘表面在磁头下方旋转时,它会产生与已记录的磁极相同的电流,此时读取磁头的结构与写入磁头的结构基本相同。

现代读取机制分离了读写磁头,需要单独的读取磁头,它的位置靠近写入磁头。读取磁头由部分屏蔽磁阻(MR)传感器组成,MR材料有电阻,取决于在其下方移动的介质的磁化方向。通过使电流经过MR传感器,电阻变化被检测为电压信号,MR设计允许更高频率的操作,这保证了更高的存储密度和操作速度。

数据组织和格式

磁头是一种相对较小的设备,可以对在其下方旋转的盘片的一部分进行读写,这使得盘片上的数据被组织成一组同心环(称为磁道),每条磁道的宽度都与磁头相同,每个盘面上都有上千条磁道,相邻磁道由磁道间隙隔开以最小化磁头错误或磁场干扰造成的误差。

下图描述了这种数据布局,其数据密度从外到内逐渐增加,通过以恒定角速度(CAV)旋转磁盘便可用相同速率扫描信息。使用CAV的优点是可以通过磁道和扇区直接寻址各个数据块,缺点是外层较长磁道上存储的数据量只能等于内层较短磁道上存储的数据量。

物理特性

固定磁头磁盘——每条磁道都有一个读写磁头,所有磁头都安装在固定刚性臂的头部。

移动磁头磁盘——仅有一个读写磁头,它被安装在可移动臂上。

可更换磁盘——可从驱动器中取出并用另一个磁盘替换,它能提供无限的存储容量,使系统间的数据传输更加便捷。

不可更换磁盘——可永久安装在磁盘驱动器中,PC机的硬盘就是不可更换磁盘。

双面磁盘——磁化涂层在盘片的两面都有,适用于大部分磁盘系统。

单面磁盘——磁化涂层仅存在于在盘片的一面,适用于一些较便宜的磁盘系统。

多盘片——磁盘驱动器容纳多个垂直堆叠的盘片,它们之间距离一英寸。多盘片使用可移动磁头,每个盘片表面都有一个读写磁头。下图为多盘片的图示。

磁盘性能参数

磁盘I/O操作取决于计算机系统、操作系统以及I/O通道和磁盘控制器硬件的性质。下图为磁盘I/O传输的一般时序图。

多进程系统

设备等待时间——在多进程系统中,当一个进程请求I/O时,I/O任务将排队等待设备空闲。

通道等待时间——若I/O通道繁忙,需要等待它空闲。

以上两部分时间是不确定的。

寻道时间

寻道时间指磁盘臂移动到所需磁道要花费的时间。寻道时间包含初始启动时间以及当访问臂达到一定速度后遍历需跨越磁道花费的遍历时间。然而遍历时间不是磁道数量的线性函数,而是包含了把磁头放到目标磁道后直到确认磁道标识的时间。

估算公式:

Ts—寻道时间,S—初始启动时间,n—遍历时间,m—与磁盘驱动程序相关的常数

旋转延迟

除了软盘,磁盘的旋转速度从3600rpm(16.7ms转一圈)到20000rpm(3ms转一圈)

典型硬盘转速为7200rpm(8.4ms转一圈),平均旋转延迟为4.2ms

通常软盘转速为300~600rpm,平均延迟为100~200ms

传输时间

磁盘传输时间取决于要传输的字节数和磁盘的旋转速度。

估算公式:

T—磁盘传输时间,b—要传输的字节数,N—单位磁道上的字节数,r—转速,单位为转/秒

读写时间

读写时间是寻道时间、旋转延迟和传输时间的总和。

平均访问时间Ta估算公式: Ts—平均寻道时间

相关案例

一个转速为15000rpm、平均寻道时间为4ms、512B/扇区、500sectors/track的磁盘,假设我们希望读取一个由2500个扇区组成的文件,总共1.28MB,请估计总读写时间。

1)序列组织   2)数据随机分布

RAID

通过使用多个磁盘,可以各种方式组织数据,利用增加冗余来提高可靠性,但这可能使开发用于多个平台和操作系统的数据库方案变得困难。业界有种多磁盘数据库设计的标准方案,独立磁盘冗余阵列RAID。RAID方案由0级-6级共七个级别组成,它们并非层级关系,而是指定了不同的设计架构,他们有着三个共同特征:

1)RAID是一组物理磁盘驱动器,操作系统将其看作一个逻辑驱动器

2)数据分布在阵列的物理驱动器上,分布方案称为条带

3)冗余磁盘容量用于存储奇偶校验信息,以保证磁盘故障时数据的可恢复性

RAID有效地解决了冗余需求。虽然允许多磁头和执行器同时操作能获得更高的I/O和传输速率,但使用多个设备增加了故障概率。为了弥补这种可靠性的下降,RAID利用存储奇偶校验信息来恢复由于磁盘故障而丢失的数据。

其他暂不做要求。

固态驱动器

固态驱动器(SSD)是一种由固态组件制成的存储设备,可以被用来代替硬盘驱动器(HDD)。“固态”一词指用半导体制成的电路,SSD现在主要使用NAND闪存。

SSD与HDD的比较

随着基于闪存的SSD成本的降低以及性能与位密度的提高,SSD与HDD的竞争日益激烈。SSD与HDD相比具有以下优势:

1)每秒高性能输入/输出操作数(IOPS)——显著提高I/O子系统的性能

2)耐用性——不易受到物理冲击和振动

3)更长的使用寿命——SSD不易受到机械磨损

4)更低的功耗——与同等大小HDD相比,SSD功耗要低得多

5)更安静、更凉爽的运行能力——空间需求少,能源成本低,运行环保

6)更低的访问时间和延迟率——SSD比HDD的旋转磁盘要快10倍以上

SSD组成

主机系统上,操作系统调用文件系统软件来访问磁盘上的数据,文件系统调用I/O驱动软件,I/O驱动软件提供对特定SSD产品的主机访问。下图接口组件是指主机处理器与SSD外围设备之间的物理接口和电气接口。

实际问题

以下为SSD特有的两个实际问题,而HDD不用面对。

1)随着设备的使用,SDD性能有缓慢下降的趋势。把一页写入闪存需要从闪存中读整个块并将其放入RAM缓冲区,然后更新RAM缓冲区中合适的页。在块可被写回闪存前,必须擦除整个闪存块,然后缓冲区中的整个块就可以被写回闪存了。

磁盘占用越满,文件碎片化越严重,写入速度越慢,为写操作预留空间和TRIM命令(允许操作系统通知SSD哪些数据块不再使用以便内部擦除)是解决方案。

2)闪存经过一定数量的写入后变得不可使用。当闪存单元受压时,它们会失去记录和保持数值的能力。延长SSD寿命的技术包括使用高速缓存对闪存进行前端的处理以延迟和分组写入操作,使用磨损均衡算法跨单元块上均匀分布写入,以及复杂坏块管理技术。

大多数闪存设备都会估计自己的剩余寿命,以便系统能够预测故障并采取先发制人的行动。

光存储器

光盘

光盘CD是数子音频系统,是一种不可擦除盘,能存储超过70分钟的音频信息。CD-ROM是光盘只读存储器,数据存储在涂有高反射涂层的聚碳酸酯表面的一系列微观凹坑中。通过反射激光读取,凹坑可能会改变激光的强度,光电传感器将其转换为数字信号。

CD-ROM容量大约为680MB,其上数据被组织为一系列的块。下图是典型CD-ROM块格式示例图,模式0指空白数据字段,模式1指2048字节数据和一个纠错码,,模式2指2336字节数据,没有纠错码。

由于CD-ROM使用了恒定线速度,其上的随机访问比较困难。定位一个特定地址需要通过将磁头移动到一般区域,调整转速,读取地址,通过微调、查找找到并访问特定的扇区。

CD-ROM的优缺点

优点:容量大、易于批量生产、成本低、可拆卸、坚固耐用

缺点:CD-ROM速度<硬盘速度、只读而不能被更新、脆弱

数字通用光盘

数字通用光盘容量巨大,不仅取代录像机的录像带,而且取代PC机和服务器的CD-ROM。用它记录的电影图像质量高,还可以像音频CD一样随机访问。大量数据可被压缩到光盘,是CD-ROM的7倍。DVD容量更大源于其于CD的三个不同点:

1)位在DVD上排列更紧密,且DVD使用的激光波长更短

2)DVD在第一层凹坑之上增加了第二层凹坑

3)DVD-ROM不同于CD,数据可以记录在双面上

磁带

磁带系统使用与磁盘系统相同的读取和记录技术。磁带上的数据被构造为沿长度方向运行的多个平行磁道。传统磁带系统使用9磁道,1次存储1字节,第9条磁道作为奇偶校验位;较新的磁带系统使用18/36磁道,这种形式的数据记录被称为并行记录。现代的磁带系统则使用串行记录,数据以位序列的形式沿着每条磁道排列,且在磁带上以连续的块进行读写。磁带上的块用间隙隔开,被称为记录间隙。磁带的格式有助于定位物理记录。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+Uniapp汽车保养系统小程序的设计与实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而…

linux下使用VSCODE 调试python

文章目录 一、环境准备安装VS Code&#xff1a;安装Python&#xff1a; 二、环境测试创建Python文件&#xff1a;编写测试代码运行 Linux下使用VS Code调试Python 在Linux环境中进行Python开发时&#xff0c;一个高效、直观的调试工具是必不可少的。Visual Studio Code&#xf…

2024.10月18日- Vue2组件开发(3)

Vue组件开发 一、 ref属性 如果在vue里&#xff0c;想要获取DOM对象&#xff0c;并且不想使用JS的原生语法&#xff0c;那么就可以使用ref属性。ref属性的用法&#xff1a; 1&#xff09;在HTML元素的开始标记中&#xff0c;或者在Vue子组件中的开始标记中定义&#xff0c;相…

第 5 章:vuex

1. 理解 vuex vuex 是什么&#xff1a; 概念&#xff1a;专门在 Vue 中实现集中式状态&#xff08;数据&#xff09;管理的一个 Vue 插件&#xff0c;对 vue 应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&#xff09;&#xff0c;也是一种组件间通信的方式&am…

ant design vue TimePicker时间选择器不点击确认也可以设置值

文章目录 前言一、背景二、操作步骤1.复现前的准备工作&#xff08;1&#xff09;vue版本和ant design vue 版本&#xff08;2&#xff09;任意ant design vue TimePicker的demo 2.解决问题&#xff08;1&#xff09;使用change时间&#xff08;无效&#xff09;&#xff08;2&…

DEV C++自动补全文件头的设置操作

第一步&#xff1a;打开DEV C 第二步&#xff1a;打开“工具” 第三步&#xff1a;点击“编辑器属性” 第四步&#xff1a;点击“代码” 第五步&#xff1a;点击“缺省源” 第六步&#xff1a;输入常用的文件头代码&#xff1a; 例如&#xff1a; #include<bits/stdc.h&g…

数据结构(JAVA)包装类泛型

文章目录 包装类基本数据类型和对应的包装类装箱和拆箱面试题 泛型什么是泛型泛型的语法泛型类的使用泛型的使用裸类型(Raw Type) &#xff08;仅需了解&#xff09;擦除机制泛型的上界泛型方法 包装类 基本数据类型和对应的包装类 注意&#xff0c;除了int基本数据类型的包装…

OracleT5-2 Solaris11安装

1、Solaris11安装 在光驱中插入Solaris11的光盘后,在ok提示中boot cdrom {0} ok boot cdrom NOTICE: Entering OpenBoot. NOTICE: Fetching Guest MD from HV. NOTICE: Starting additional cpus. NOTICE: Initializing LDC services. NOTICE: Probing PCI devices. N…

玄机平台-应急响应-webshell查杀

首先xshell连接 然后进入/var/www/html目录中&#xff0c;将文件变成压缩包 cd /var/www/html tar -czvf web.tar.gz ./* 开启一个http.server服务&#xff0c;将文件下载到本地 python3 -m http.server 放在D盾中检测 基本可以确认木马文件就是这四个 /var/www/html/shell.p…

初识MySQL · 数据库

目录 前言&#xff1a; 数据库 简单使用 存储引擎 前言&#xff1a; 本文也是MySQL的第一篇文章了&#xff0c;新的知识点已经出现&#xff0c;怎么能够停止不前&#xff0c;穿越时空……(迪迦奥特曼乱入哈哈哈)。 言归正传&#xff0c;我们在本文的目标有&#xff1a; …

Flink CDC同步mysql数据到doris

前置参考 flink快速安装&#xff1a;Flink入门-CSDN博客 doris快速安装&#xff1a;Apache Doris快速安装-CSDN博客 Flink CDC简介 Flink CDC 是一个基于流的数据集成工具&#xff0c;旨在为用户提供一套功能更加全面的编程接口&#xff08;API&#xff09;。 该工具使得用户能…

洞察云上风险,主机安全尽在掌握

在实战攻防演练中&#xff0c;主机一直是攻击方的最终目标。作为网络架构中的重要组成部分&#xff0c;主机包含了大量的敏感数据、关键服务和系统资源。同时主机拥有网络资源的访问权限&#xff0c;攻击者通过入侵主机获得权限&#xff0c;进而控制整个网络或系统。因此做好主…

vue2 Canvas 多边形区域绘制组件封装

效果预览&#xff1a; CanvasBox组件 <!-- 区域设置canvas --> <template><div class"all" ref"divideBox"><!-- <div><button click"test">清空</button></div> --><img id"img"…

Ubuntu中MySQL远程登录设置

mysql单独放在一台Ubuntu服务器上&#xff0c;我远程连接不上。可能是安装的时候忘记设置远程登录了。事后补救措施如下&#xff1a; MySQL 绑定地址配置问题 MySQL 可能只绑定了 localhost&#xff0c;无法接受来自外部主机的连接。你需要检查 MySQL 的配置文件 /etc/mysql/…

使用Vscode配置ftp连接远程服务器(上传本地文件)

1.安装插件 扩展商店搜sftp,点击进行安装。 2.配置json文件 crtl+shift+p 输入ftp配置命令 sftp:config {"name": "My Server", //设置名字"host": "localhost"</

腐蚀膨胀预处理

腐蚀&#xff1a;通过减少前景对象&#xff08;例如白色字符&#xff09;的边缘&#xff0c;腐蚀可以用来减小或消除细小的干扰线。如果干扰线较细&#xff0c;腐蚀可以有效地“消除”这些线条&#xff0c;同时保留较粗的字符。 膨胀&#xff1a;在腐蚀之后&#xff0c;膨胀可…

TCP——Socket

应用进程只借助Socket API发和收但是不关心他是怎么进行传和收的 数据结构 图示Socket连接 捆绑属于隐式捆绑

数据驱动时代:五款免费报表工具深度解析

在当今数据驱动的时代&#xff0c;报表工具已经成为各类企业进行决策和管理的重要工具。无论是大中型企业还是小微企业&#xff0c;能够快速、高效地生成可视化报表&#xff0c;洞察业务运营情况&#xff0c;已经成为提升竞争力的关键。今天为大家挑选了5款非常优秀的报表软件&…

Autosar软件组件概述

AUTOSAR中的应用软件设计为独立的软件单元&#xff0c;即软件组件类型&#xff08;SwComponentTypes&#xff09;&#xff0c;封装了相关功能和行为的实现&#xff0c;并通过端口原型&#xff08;PortPrototypes&#xff09;&#xff0c;向外部暴露自己。 AUTOSAR 标准应用了设…

std::setw中文不能对齐的问题

从别的博主那 copy过来 记录下 #include <codecvt> #include <locale>class chs_codecvt : public std::codecvt_byname<wchar_t, char, std::mbstate_t> {public:chs_codecvt() : codecvt_byname("zh_CN.GBK") {} };int encoding_diff(string …