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

计算机存储系统

前言

何为存储系统?

存储系统是指计算机中由存放程序和数据的各种存储设备、控制部件及管理信息调度的设备(硬件)和算法(软件)所组成的系统。


为何需要存储系统?

信息是人类认知外界的方式,最初的信息都会对应到现实世界的一个客体或者相关描述。人类是通过不断增加、完善信息来接触、认知并改变世界的。

最初人类依靠大脑中的神经突触来存储信息,但有些信息是如此重要,光靠记忆可能会遗忘或是丢失,所以人们想出一切办法来使这些信息能保存下来。于是人类发明了一种描述信息的信息,这种信息就是数据。

数据是可以保存在一种物理介质上的,其实, 在“说话”的过程中,空气可以被视为一种短暂的物理介质。人类通过振动声带在空气中产生波动,声波在空气中可以短暂保留并扩散,不同波形携带了不同数据,这种波动被鼓膜接收到,达到了数据传递的效果。

但是,空气只能将信息保存一瞬间,之后就要靠大脑了。人是会生老病死的,除了口耳相传,人类需要更可靠的数据存储方法与更长久的物理介质。在过去,人类将数据保存在石板、竹简上,后来人类将数据保存在纸上,配合印刷术,使得信息可以大范围长久传播保存。

人类学会以电磁波的方式承载信息后,距离不再是信息传输的限制,但电话无非是远距离说话,电报无非是快速邮寄的信件,最终所有的信息还要回归到大自然构造的眼睛、耳朵和大脑。直到计算机问世后,人类终于可以突破自己处理信息的生理学极限,让程序和电路代替自己处理信息。

而经历发展,计算机的存储系统提供了基本的“地址空间”和“名字空间”,这样才能让我们存取数据。存储也不仅仅是在硬盘上,且其真实价值在存储的系统软件上。


正文

认识存储器

存储器的层次结构

高速缓存,主存储器,辅助存储器(外存储器)。也有人将 CPU 内部的寄存器也看做是存储器的一个层次。


存储器的分类

1. 所处位置分:

内存(主存):设在主机内或者主机板上,用来存放机器当前运行所需要的程序和数据,以便向 CPU 提供信息。容量小,速度快。外存(辅存):磁盘,磁带,光盘等,用来存放当前不参加运算的大量数据,在需要时,把需要的数据调入内存。容量大,速度慢。

2. 构成材料分:

磁储存器:用磁性介质做的,如:磁芯,磁泡,磁膜,磁鼓,磁带,磁盘等。半导体存储器:根据所用元件分为双极型和 MOS 型,根据数据是否需要刷新又分为动态和静态。光存储盘:光盘存储盘。

3. 工作方式分:

  1. 读写存储器 RAM:既能读取数据也能存入数据得存储器。

  1. 只读存储器:固定只读存储器 ROM:厂家生产时就写好数据,内容只能读出,不能改变。用于存放系统程序 BIOS 和微程序控制。

  1. 可编程的只读存储器 PROM:内容由用户一次性的写入,写入后不能再修改。

  1. 可擦除可编程的只读存储器 EPROM:内容既可以读出也可以由用户写入,写入后还可以修改(先用紫外线照射 15~20 分钟以擦去所有信息,然后在用特殊的单子设备写入信息)。

  1. 电擦除可编程的存只读储器 EEPROM:与 EPROM 相似,但是用电擦除的方式进行数据的改写。闪速存储器(闪存):用电信号进行信息的擦除,整块闪存可以在数秒内删除。

4. 访问方式分:

按地址访问存储器,按内存访问存储器。

5. 寻址方式分:

  1. 随机存储器 RAM:可对任何存储单元存入或读取数据,时间相同。

  1. 顺序存储器 SAM:访问数据所需要的时间与数据所在的存储位置相关,磁带。

  1. 直接存储器 DAM:磁盘:对磁道的寻址是随机的,在一个磁道内则是顺序寻址。


相联存储器

关/相联存储器(Content Addressed Memory),是一种不根据地址而是根据存储内容来进行存取的存储器,可以实现快速地查找快表。既可以按照地址寻址也可以按照内容寻址(通常是某些字段),为了与传统寄存器作区别,称为按内容寻址的存储器。


高速缓存存储器

高速缓冲存储器(Cache)其原始意义是指存取速度比一般随机存取记忆体(RAM)来得快的一种RAM,一般而言它不像系统主记忆体那样使用DRAM技术,而使用昂贵但较快速的SRAM技术,也有快取记忆体的名称。

高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。在计算机存储系统的层次结构中,是介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。


虚拟存储器

虚拟存储器(Virtual Memory):在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。根据所用的存储器映像算法,虚拟存储器管理方式主要有段式、页式、和段页式三种。

双地址译码方式

段式管理的地址映像方式


外存储器

外储存器是指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等。

外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。

软盘:软磁盘使用柔软的聚酯材料制成原型底片,在两个表面涂有磁性材料。常用软盘直径为3.5英寸,存储容量为1.44MB.软盘通过软盘驱动器来读取数据。

U盘:U盘也被称为“闪盘”,可以通过计算机的USB口存储数据。与软盘相比,由于U盘的体积小、存储量大及携带方便等诸多优点,U盘已经取代软盘的地位。

硬盘:硬磁盘是由涂有磁性材料额铝合金原盘组成的,每个硬盘都由若干个磁性圆盘组成。其中固态硬盘是以闪存为存储介质的半导体存储器,其相对于机械硬盘具备读写速度快、延迟低、抗震性好等优势,在全球硬盘市场上的出货量占比不断提高。移动固态硬盘的普及,让习惯了移动机械硬盘的人们,背包重量大有减轻。而且固态和移动硬盘的结合,显然也符合移动存储产品耐碰撞、轻巧且无须等待即插即用这诸多的主要特性。

磁带存储器:磁带也被称为顺序存取存储器SAM。它存储容量很大,但查找速度很慢,一般仅用作数据后备存储。计算机系统使用的磁带机有3中类型:盘式磁带机、数据流磁带机及螺旋扫描磁带机。
光盘存储器:光盘指的是利用光学方式进行信息存储的圆盘。它应用了光存储技术,即使用激光在某种介质上写入信息,然后再利用激光读出信息。光盘存储器可分为:CD-ROM、CD-R、CD-RW、和DVD-ROM等。

磁盘阵列技术

磁盘阵列(DiscArray)是由许多台磁盘机或光盘机按一定的规则,如分条(Striping)、分块(Declustering)、交叉存取(Interleaving)等组成一个快速,超大容量的外存储器子系统。

它在阵列控制器的控制和管理下,实现快速,并行或交叉存取,并有较强的容错能力。从用户观点看,磁盘阵列虽然是由几个、几十个甚至上百个盘组成,但仍可认为是一个单一磁盘,其容量可以高达几百~上千千兆字节,因此这一技术广泛为多媒体系统所欢迎。

廉价冗余磁盘阵列(RAID):

各种类型的 RAID 还可以组合起来,构成复合型的 RAID。


存储区域网络

存储区域网络(Storage Area Network,SAN)采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)。

SAN专注于企业级存储的特有问题。当前企业存储方案所遇到问题的两个根源是:数据与应用系统紧密结合所产生的结构性限制,以及小型计算机系统接口(SCSI)标准的限制。大多数分析都认为SAN是未来企业级的存储方案,这是因为SAN便于集成,能改善数据可用性及网络性能,而且还可以减轻管理作业。


总结

现如今是云和大数据的时代。中国数亿手机和个人电脑用户大都使用来自云端的服务,云和大数据使个人的终端超越了本机存储能力和计算能力的限制。例如,网盘、相册等云存储应用使用户可以在任意地点存取任意大小的数据。面向企业的云应用更是百花齐放,从直接提供软件的在线建站、电商系统,到提供平台的各种云端SDK和数据库,再到最基础的计算、存储、网络等服务。这些应用的后端都离不开大规模分布式存储系统。

香农认为,信息的意义就是消除对世界的不确定性。人类文明的进步史,就是不断获取更多信息的过程。其中,存储技术一直是信息的基石,因此,存储技术无论从宏观的人类发展,还是从微观的个人生活来看,都无疑是重要的一环。

相关文章:

  • 返回值的理解
  • 前同事居然因为 Pycharm 的这个功能,即使离职三年也依然经常被请去喝茶~
  • IPV4地址详解
  • ubuntu 22.04学习笔记
  • 【蓝桥杯-筑基篇】基础数学思维与技巧(1)
  • 图论(入门版)
  • 使用bindgen将C语言头文件转换为Rust接口代码
  • 第九层(2):STL之string类
  • Allegro如何自动做差分对内等长操作指导
  • 搜索引擎位置跟踪应用SerpBear
  • 浅析一条SQL在mysql中是如何执行的
  • 前端艺术之毛玻璃-倾斜-日历
  • Python-Flask-2023.1.24-Review
  • SpringBoot 统一功能处理
  • 3. Python列表简介
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • ES6之路之模块详解
  • HTML-表单
  • JavaScript HTML DOM
  • LeetCode算法系列_0891_子序列宽度之和
  • Python中eval与exec的使用及区别
  • swift基础之_对象 实例方法 对象方法。
  • 大型网站性能监测、分析与优化常见问题QA
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 线性表及其算法(java实现)
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 用mpvue开发微信小程序
  • gunicorn工作原理
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • (2)(2.10) LTM telemetry
  • (6)添加vue-cookie
  • (ibm)Java 语言的 XPath API
  • (libusb) usb口自动刷新
  • (TOJ2804)Even? Odd?
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (十一)手动添加用户和文件的特殊权限
  • (五)Python 垃圾回收机制
  • (一)u-boot-nand.bin的下载
  • (译)计算距离、方位和更多经纬度之间的点
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (正则)提取页面里的img标签
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)scrum常见工具列表
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .“空心村”成因分析及解决对策122344
  • .NET delegate 委托 、 Event 事件
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .Net(C#)自定义WinForm控件之小结篇
  • .Net6使用WebSocket与前端进行通信
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】