计算机的存储体系

news2024/11/13 9:41:04

计算机的存储分为内存和硬盘两大类。其中内存属于非持久化的存储设备,用于临时存储数据,设备掉电后数据会丢失;硬盘属于持久化的存储设备,设备掉电后数据不会丢失。

实际上在计算机领域存储的种类是非常多的,业界有时候将存储分为内部存储和外部存储两类。其中内部存储通常是只在设备主板上的存储设备,如个人电脑中的存储BIOS存储和内存;外部存储通常需要某种协议与主板相连的存储设备,如机械硬盘、SSD硬盘和光盘等。如图1是一个简单的存储设备分类图。

在图1需要说明的是ROM是一种只读存储设备,他是Read Only Memory(只读存储器)的缩写。RAM是一种支持随机读写的存储设备,他是Random Access Memory的缩写。

RAM又可以细分为很多种,常见的两大类如SRAM和DRAM。其中SRAM是Static Dynamic Random Access Memory(静态随机访问存储器)的缩写,也就是静态RAM;DRAM是Dynamic Random Access Memory(动态随机访问存储器)的缩写,也就是动态RAM,其实就是我们常说的内存。

知道DRAM就是我们常说的内存,那么SRAM是用在什么地方呢?SRAM通常是用在CPU的缓存当中的。我们知道现在的CPU通常由L1(Level 1的缩写),L2和L3三级缓存,其中这些缓存大多是采用SRAM实现的。另外需要知道的一个事实是SRAM的速度要比DRAM快的多。    

图2大致描述了CPU各级缓存与内存的关系。由该图可以看出从容量上L1缓存比L2缓存小,L2缓存比L3缓存小。从速度上,L1缓存比L2缓存快,L2缓存比L3缓存快。当然,相对于内存,内存的容量要比缓存大的多,速度也慢的多。

 

L1缓存通常可以达到1150GB/s的速度,但是通常L1缓存的容量不过几百KB。L2缓存的速度可以达到470GB/s,容量不过几个MB。L3缓存的速度大概能到200GB/s,容量可以达到几十MB。

内存位于CPU的外部,其最大速度可以到几十GB,容量比缓存要大得多,可以达到TB级别。但是内存除了带宽比缓存低之外,其访问延时要比缓存高的多。

外部存储包含硬盘、光盘和磁带等存储设备,其速度就更慢了。以NVMe协议的SSD为例,其带宽最大不会超过10GB/s,而机械硬盘的带宽也才100MB/s多一点。

从访问延时角度,各种不同的存储也是有着巨大的差异的。如图所示,我们展示了常见存储的访问延时数据。其中CPU缓存的延时在1到10纳秒之间,不同级别的缓存访问延时不同,级别一的缓存访问延时大概是1纳秒,而级别二缓存的访问延时大概是4纳秒。    

虽然内存的访问要比硬盘等外围设备快的多,但相对缓存来说,内存的访问延时一般要100纳秒左右。如果将缓存的速度类比火箭的速度,那么内存的速度也就跟普通客机差不多,连战斗机的速度都达不到。

固态硬盘的速度又要比内存慢好几个数量级,其访问延时大概要16微妙。如果与生活中的交通工具类比,基本跟我们现在绿皮火车的速度差不多。是的,是绿皮火车,不是特快,更不是动车。机械硬盘就更慢了,访问延迟在毫秒级,基本上跟马车的速度差不多。你可能不知道马车有多慢,基本比年轻人散步的速度快不了多少。

 

磁带的速度就更慢了,由于磁带不能随机访问,数据定位需要不断的倒带,延时通常在10秒级别。所以,现在几乎没有企业直接用磁带存储数据,大多是用磁带来备份非常冷的数据。

无论是存储研发人员,还是普通的开发人员,了解存储设备的性能金字塔是非常必要的。以CPU缓存为例,如果我们在开发高并发的应用时没有考虑缓存同步和CPU内核多核并发访问的问题,程序的性能可能会比较差。

在存储相关软件领域,通常使用比较快的介质作为慢介质的缓存。比如我们通常采用内存作为文件系统元数据和数据的缓存。这样当用户访问数据的时候,可以减少对硬盘的访问,从而提高文件系统的整体性能。

一些企业级存储系统不仅仅使用内存作为缓存来存储元数据和数据,还将数据存储设计成分层架构,也就是采用SSD和机械硬盘混合架构。通过这种分层架构,存储系统可以为用户提供更高的性能,而价格上却并不会增加太多。    

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

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

相关文章

linux网卡MAC地址

1、ifconfig命令查看网卡MAC地址 1.1 通过HWaddr或ether字段过滤mac地址 ifconfig | grep HWaddr ifconfig | grep ether [rootlocalhost ~]# /sbin/ifconfig | grep ether 注:有些Linux发行版本的MAC地址字段为HWaddr,有些Linux发行版本的MAC地址字段…

SkyWalking 介绍及部署

1、SkyWalking简介2、SkyWalking的搭建 2.1 部署Elasticsearch2.2 部署SkyWalking-Server2.3 部署SkyWalking-UI3、应用接入 3.1 jar包部署方式3.2 dockerfile方式3.3 DockerFile示例4、SkyWalking UI 界面说明 4.1 仪表盘 4.1.1 APM (1)全局维度&#x…

clickhouse——ck目录介绍

一、ck目录 1、/etc/clickhouse-server: 服务端的配置文件目录,包括全局配置config.xml和用户配置users.xml等。 2、/var/lib/clickhouse 默认的数据存储目录(通常会修改默认路径配置,将数据保存到大容量磁盘挂载的路径) 3、/var…

电脑不能远程桌面连接不上,电脑无法建立远程桌面连接如何解决?

电脑无法建立远程桌面连接的问题,通常涉及到多个层面的因素,包括但不限于网络设置、系统配置、防火墙设置以及服务状态等。以下是一些专业性的解决方案,以帮助您解决这一问题。 首先,我们需要检查网络连接。远程桌面连接需要稳定的…

【数据库】通过一个实例来认识数据流图DFD

导读:通过一个实例(数据中台)说明数据流图DFD的作用、介绍了常见的数据流图元素及其标准符号以及如何画数据流图。数据流图主要被分析师、系统设计师、流程优化专家、系统管理员以及与系统开发和维护相关的人员查看和使用。对于刚考完2024年5…

怎样在网上赚点零花钱?推荐十个正规的赚钱兼职平台

今天要和大家探讨一个激动人心的话题——网络赚钱。在这个互联网日新月异的时代,网络赚钱已经变成了触手可及的现实。如果你正打算在网上赚取一些额外收入,那么这篇文章绝对值得一读! 在这个信息泛滥的时代,网络赚钱的机遇随处可…

redis数据操作相关命令

1.list操作 1.1 rpush rpush:新的元素添加到list最右边 #从右边依次往List添加1,2,3 RPUSH name 1 RPUSH name 2 RPUSH name 3#查看列表:返回 1,2,3 LRANGE name 0 -1结果如下: 1.2 lpush lpush:新加的元素在list最左边 #从…

U8G2移植到STM32,SSD13XXXOLED(硬件SPI DMA通讯)

文章目录 一、前言1.1 U8g2的特点1.2 U8G2的优势1.3 U8G2的下载地址1.4 U8g2支持的显示控制器 二、STM32Cubexm SPI DMA配置2.1 SPI设置为半双工模式2.2 SPI DMA设置2.3 oled其他引脚配置 三、移植U8G2框架3.1 精简U8G2库文件3.2 去掉csrc文件夹中无用的驱动文件3.3 文件移动到…

【Java reentrantlock源码解读】

今天学习一下Java中lock的实现方式aqs 直接上图这是lock方法的实现类、分为公平锁和非公平锁两种。 先看非公平的实现方法、很暴力有木有,上来直接CAS(抢占锁的方法,是一个原子操作,没有学过的同学自行百度哦)&#…

香橙派 Kunpeng Pro使用教程:从零开始打造个人私密博客

一、引言 在这个日益互联的世界中,单板计算机已经成为创新和个性化解决方案的重要载体。而在单板计算机领域,香橙派 Kunpeng Pro凭借其强大的性能和灵活的应用潜力,正逐渐吸引着全球开发者和技术爱好者的目光。 作为一款集成了华为的鲲鹏处…

蓝牙模块、WiFi模块等无线通信模块使用规范

在当今的科技时代,无线通信模块已经广泛应用于各类电子设备中。特别是蓝牙模块、WiFi模块等无线模块,它们为设备间的通信提供了便利,使得我们的生活更加便捷和高效。然而,为了确保这些无线模块正常工作并避免可能的安全隐患&#…

I.MX6ULL的蜂鸣器实验-GPIO输出实验

系列文章目录 I.MX6ULL的蜂鸣器实验 I.MX6ULL的蜂鸣器实验 系列文章目录一、前言二、有源蜂鸣器简介三、硬件原理分析四、程序编写4.1程序编写前提工作4.2程序编写 五、编译下载验证5.1编写 Makefile 和链接脚本5.2编译下载 一、前言 在 I.MX6U-ALPHA 开发板上有一个有源蜂鸣器…

MYSQL框架结构

MYSQL框架结构 通过解析器和预处理生成解析树,预处理判断是否合法,如果合法则调用优化器去进行优化。

PYQT5点击Button执行多次问题解决方案(亲测)

PYQT5点击Button却执行多次问题 使用pyqt5时遇到问题,UI上按钮点击一次,对应的槽函数却执行了3遍 首先,确认函数名无冲突,UI button名无命名冲突,下图是简单的示例程序: 运行后,点击按钮&#…

探秘萤瓴优选短视频带货软件,开启新时代的电商创业方式

探秘萤瓴优选短视频带货软件,开启新时代的电商创业方式 随着移动互联网的飞速发展,电商行业迎来了前所未有的变革。短视频带货作为一种新兴的电商模式,以其直观、生动、互动性强的特点,迅速成为市场的新宠。在这个背景下&#xf…

银行软件测试有哪些测试点?一般银行的软件测试工作流程有哪些?

银行测试行业前景广阔,随着金融科技的快速发展和银行业务的不断创新,银行对软件测试的需求也在持续增长。软件测试在确保银行系统软件的稳定性、安全性和可靠性方面起着至关重要的作用,因此,银行测试岗位一直受到广泛的关注和重视…

TIM(Timer)简介

TIM(Timer)定时器介绍 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时不仅具备基本的定时中断功能,而且…

基于香橙派 Ai Pro的ROS Qt人机交互软件部署指南

一,前言 最近收到了CSDN的邀请,对香橙派新出的Ai Pro进行测评: 说来也巧,其实香橙派本人对其映像挺深刻的,在2017年左右,本人刚上大学,当时是在淘宝购买树莓派,发现有个叫香橙派的国产板子,性能跟树莓派差不多吧,但是…

不是从APP store下载的APP在mac上一直提示有损坏,打不开怎么办?

1.点击设置 2.安全与隐私 3.通用看看允许从以下位置下载的APP是否有任何来源 4.如果没有,mac桌面点击🔍输入终端或Terminal 命令行输入下述代码: sudo spctl --master-disable 5.回车,输入mac开机密码。注意:此时密…

探索循环逻辑:for逻辑分支与容器遍历的深度剖析

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:for逻辑与循环体的奥秘 二、for逻辑与循环体的结合使用 1. 函数与循环…