外部存储器

2024-06-23 00:04
文章标签 外部 存储器

本文主要是介绍外部存储器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

外部存储器是主存的后援设备,也叫做辅助存储器,简称外存或辅存。

它的特点是容量大、速度慢、价格低,可以脱机保存信息,属于非易失性存储器

外存主要有:光盘、磁带、磁盘;磁盘和磁带都属于磁表面存储器

目前广泛运用的固态硬盘(SSD)主要由闪存芯片构成,属于半导体存储器

1.磁盘存储器

磁盘分为硬磁盘和软磁盘,现在大多用硬磁盘。

  • 优点:容量大、位价低;记录介质可重复使用(可以多次读写);记录的信息可长期保存而且不易丢失,可以脱机存档;非破坏性读出,读出时不需要再生。
  • 缺点:存取速度慢,机器结构复杂,容易坏。

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

 

  • 磁记录方式:又称为编码方法,就是按某种规律将一连串的二进制信息转化成磁表面的磁化状态。

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

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

硬磁盘中的存储载体是盘片,它是硬质铝合金材料制成的,其表面涂有一层硬磁特性材料。 

硬磁盘如下:

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

可换盘磁盘的盘片可以脱机保存,所以更换时只换单片,方便维护和扩容;

固定盘磁盘的盘片则不能取下,更换时需要整体更换,可靠性更高。

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

  • 固定磁头的磁盘存储器,磁头位置是固定的,磁盘上的每个磁道都对应一个磁头,盘片也不可换。     这样省去了磁头在盘片上寻找磁道的时间,存取速度更快
  • 移动磁头的磁盘存储器,存取数据时磁头需要在盘面上找磁道;这类存储器只能有一个盘片,也可以有多个盘片。
  • 多个盘片会可以看作将多个磁头通过支架连为一体。任何时刻磁头和主轴的距离都相等,它们位于和圆心等距的一组磁道上,这组磁道称为一个柱面。 

目前,移动磁头的多盘片磁盘应用最广泛,典型代表是温切斯特磁盘

温切斯特磁盘简称温盘,它采用密封组合的方式,将磁头、盘片、驱动部件以及读写电路等部分做成了一个不可拆卸的整体。

因此,它的特点是:可靠性强,防尘性能强,对环境要求低。

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

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

  • 磁盘驱动器

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

传动机构可以使磁盘高速旋转

磁头装在读写臂上,连接一个小车。

音圈电机可控制小车平行移动寻道。

定位驱动是一个能够带有速度和位置反馈的自动控制系统,用以控制磁头的运动。

数据控制部分对数据进行转换以及对读写操作进行控制。

  • 磁盘控制器

磁盘控制器是磁盘存储器和主机的接口,通常就是一块电路板,插在主机总线插槽中。

它的作用是接受主机发来的命令并将其转化为磁盘驱动器的控制命令。

其实现了主机和驱动器之间的数据格式转换和数据传送,并且可以控制驱动器的读写操作。

一个磁盘控制器可以控制多台驱动器。

========================================================

将磁盘控制器的功能全部内置在磁盘设备中,主机和设备之间就可以采用标准的通用接口了。

最初这种接口称为IDE接口,同时期还有SCSI接口,之后又发展出了串行传输技术的接口,也就是SATASAS。目前我们的个人电脑大多采用SATA接口的硬盘。

当然,由于其是一块电路板,我们也可以将其集成在主板中

  • 盘片

盘片是磁盘中存储信息的载体,由驱动器控制它的转动并读/写数据;有时也会直接把盘片当作驱动器的一部分。

3.磁盘的工作原理

(1)磁盘存储区域

一块磁盘划分为若干个盘面(记录面),每个记录面划分为若干条磁道,每条磁道又划分为若干个扇区(块、扇段),是磁盘读写的最小单位。值得一提的是,扇区的存储容量是相同的。

一个多盘片的磁盘组,可将其所有面上同一半径的磁道看成一个圆柱面,称为柱面

 (2)磁盘地址

由于一个磁盘存储器又多台驱动器,因此我们要给驱动器编号来区分。

当驱动器号确定后,磁盘进行寻址定位时,首先需要整体移动磁头找到对应柱面(磁道)、再选定磁头,最后转动盘片找到扇区。

 (3)磁盘的工作过程

磁盘的主要操作是寻址、读写盘。磁盘属于机械式部件,其读写操作是串行的,因此读写操作不可同时进行,也不可同时读写多组数据。

4.磁盘的性能指标

 

5.冗余磁盘阵列RAID 

 2.固态硬盘

固态硬盘是基于闪存技术的半导体存储器,它与U盘并没有本质差别。

SSD由闪存芯片和闪存翻译曾组成。

闪存芯片相当于磁盘驱动器

闪存翻译层相当于磁盘控制器

 

这篇关于外部存储器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085784

相关文章

【AI大模型应用开发】2.1 Function Calling连接外部世界 - 入门与实战(1)

Function Calling是大模型连接外部世界的通道,目前出现的插件(Plugins )、OpenAI的Actions、各个大模型平台中出现的tools工具集,其实都是Function Calling的范畴。时下大火的OpenAI的GPTs,原理就是使用了Function Calling,例如联网检索、code interpreter。 本文带大家了解下Function calling,看

外部中断的边缘触发和电平触发

MCS-51单片机中的边缘触发是指当输入引脚电平由高到低发生跳变时,才引起中断。而电平触发是指只要外部引脚为低电平就引起中断。         在电平触发方式下,当外部引脚的低电平在中断服务返回前没有被拉高时(即撤除中断请求状态),会引起反复的不需要的中断,造成程序执行的错误。这类中断方式下,需要在中断服务程序中设置指令,清除外部中断的低电平状态,使之变为高电平。

程序存储器编址及程序执行顺序

对于内部有ROM的芯片,根据情况也可以扩展外部ROM,虽然内、外程序存储器总容量可以超过64KB,但其有效存储空间只有64KB,内、外程序存储器逻辑上将共用64K存储空间。片内程序存储器地址空间和片外程序存储器的低地址空间重叠。51子系列重叠区域为0000H~0FFFH,52子系列重叠区域为0000H~1FFFH。        单片机在执行指令时,对于低地址部分,是从片内程序存

从应用内跳转至外部浏览器 - 鸿蒙 HarmonyOS Next

从应用内跳转至外部浏览器,基于 Want 来实现,同时也可以通过其方式尝试跳转至其它系统模块,具体可参考如下 code : 方法调用 // 调用pushOutsideWeb(controller, url) 方法实现 import { common, contextConstant, Want } from '@kit.AbilityKit';import { HintMessage

stm32之软件SPI读写W25Q64存储器应用案例

系列文章目录 1. stm32之SPI通信协议 文章目录 系列文章目录前言一、电路接线图二、应用案例代码三、应用案例分析3.1 SPI通信模块3.2 W25Q64模块3.3 主程序 前言 提示:本文主要用作在学习江科大自化协STM32入门教程后做的归纳总结笔记,旨在学习记录,如有侵权请联系作者 本案例使用软件SPI通信的方式实现了STM32与W25Q64 Flas

江协科技STM32学习- P11 中断系统,EXTI外部中断

🚀write in front🚀   🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​  💬本系列哔哩哔哩江科大STM32的视频为主以及自己的总结梳理📚  🚀Projeet source code🚀    💾工程代码放在了本人的Gitee仓库:iPickCan (iPickCan

Java在windows和linux上调用外部程序

在用java开发时,有时候会遇到需要调用系统命令或者外部脚本,当前文章给出调用方法。代码如下: /*** 转换脚本路径为在win、linux中可执行的命令* * @param scriptPath* 脚本路径* @return 在linux或window中可执行的命令*/public static String[] convertExecuteCommand(Str

C++ 在外部访问对象的protected成员的方法

起因 起因在于,今天在写UE4插件时,有一个对象的protected成员我想要访问。这个类没有提供接口来访问那个成员,并且这个类是定义在引擎代码中的而我不想“污染”引擎代码。 不过,我想到这么做或许可以在不改变原有类的定义下访问其中的protected成员: 定义一个原有类的子类,在其中定义可以访问protected成员的接口。想要访问对象的成员时,将原有类类型的指针转变为子类类型的指针,然

一种在C++中外部强行访问私有成员的方法

问题 C++在设计上,是不允许类的私有成员在外部被访问读写的。 然而,有时是想要在外部访问私有成员的。我目前常见的情况是:想要访问UE引擎代码中的类的私有成员,但又不想“污染”其源代码将其private改为public。 方法 一种方法是,再建立一个完全相同结构的类,只不过将成员改为public: class MyClassA_MirrorPublic{public:int dat

as3.0 [Embed]标签嵌入外部资源

as3.0 [Embed]标签嵌入外部资源   空闲时间,总结一下[Embed]标签的用途,好记性不如烂笔头,记录下来,为方便查找。 1、[Embed]嵌入资源 ActionScript代码的顺序非常重要。你必须在声明变量前添加[Embed]元数据标签,而且这个变量的类型会是Class。 package { import flash.display.