提高存储系统性能的技术

简介: 提高存储系统性能的技术

高速缓存Cache:原因:CPU和主存储器的速度不匹配。依据:程序的局部性原理
地址映像:Cache和主存地址之间的逻辑对应关系

直接映像:主存中的一块只能映射到Cache的一个特定块中

分块方法

主存和Cache分成相同大小的数据块
主存容量应是Cache容量的整数倍,将主存空间按照Cache的容量分成组,主存中每组中的块数与Cache的总块数相等。
主存中某组的一块只能存入Cache中块号相同的位置。
全相联映像:主存中的任意一块可以映射到Cache中的任意一块

分块方法:

主存和Cache分成相同大小的数据块
主存中某一块可以存入Cache中任意一块空间
组相联映像:主存的组到Cache组之间采用直接映射方式,在两个对应的组内采用全相联映射方式

分块方法:

主存和Cache分成相同大小的数据块
主存和Cache都要分组
主存容量应该是Cache容量的整数倍,主存中每一组的块数和Cache的组数相等
Cache分组时,如果每组包含N块,则叫做N路组相联映像,一般是2的整数次幂。
三种映像方式的比较

Cache的读写过程

读操作:CPU发出访问地址

命中?

是 :访问Cache取出信息送CPU

否:访问主存取出信息送CPU

Cache满?

否:将新的主存块调入Cache中
是:执行替换算法腾出空位
写操作:

写回法:执行写操作时只写入Cache,并做标志,替换时才一次写入主存。这种方式复杂,不能保持主存和Cache的一致性,但速度快。
直达法:在写入Cache的同时也写入主存,这种方式简单,可保持主存和Cache的一致性,但速度慢
替换算法:对直接映像来说,发生冲突时,要替换的块是固定的,不需要替换算法。对全相联和组相联映像,要替换的块是可选的,需按一定的算法进行。常用算法:随机算法,先进先出算法,近期最少使用算法

虚拟存储器:全相联映像方式、LRU替换算法、读写过程:写操作是写回法
类型

页式虚拟存储器
段式虚拟存储器
段页式虚拟存储器
并行存储器
并行性是指在同一时刻或同一时间段完成两种或两种以上性质相同或不同的工作。
基本思想:通过重复设置硬件为代价,实现并行存取来换取速度的提高
常见的并行存储器:双端口存储器,多体并行存储器,相联存储器。
外存储器
存储容量大,价格低,可长期保存信息
硬盘
特点:非易失,非破坏性读出,不能随机访问,需要复杂的寻址定位系统,需要比较复杂的校验技术

组成:磁盘片,硬盘驱动器,硬盘控制器。

技术指标

记录密度:磁盘单位面积上可以存储的二进制数位

道密度:半径方向上单位长度的磁道个数
位密度:磁道上单位长度存储二进制数的位数
磁道数 = 信息区宽度 道密度 = 信息区宽度 / 道间距 = ((信息区外径-信息区内径)/2 )道密度
存储容量

非格式化容量:指磁盘上一共能存储的二进制数,包括有效数据、校验数据和各种标志信息 。

非格式化容量 = 内磁道位密度 内磁道周长 磁道数/面 * 面数
格式化容量:可以存放的有效数据的二进制位数

磁道数/面 = 道密度*(外半径-内半径)
一般,格式化容量大约是非格式化容量的70%,而硬盘标注的容量是指格式化的容量。

平均寻址时间

指磁头找到数据区的时间,包括平均寻道时间和平均等待时间
平均寻道时间:磁头移动到指定磁道的平均时间,用最小寻道时间加最大寻道时间除以2计算,一般为几毫秒
平均等待时间:和磁盘的转速有关,一般是磁盘旋转半圈的时间
数据传输率

指:磁头单位时间读/写的数据量
数据传输率 = 位密度 磁道上一点的线速度 = 位密度 磁道周长转速 =道容量转速
磁盘Cache容量

1
光盘存储器
特点:存储容量大,可靠性高,能长期保存信息

组成:

光盘控制器,用于接受主机的命令和控制光盘驱动器的工作
光盘驱动器:用于对光盘上的数据进行读写
光盘
类型

存取方式:只读型,一次可写型,可擦写型
存储的信息方式
U盘
特点:速度快,体积小,重量轻,功耗低,可靠性高,携带方便

组成

闪存芯片:存储数据
主控芯片:对U盘管理,实现和主存的数据交换
时钟源:用来产生主控芯片工作及数据交换时的同步用的时钟信号
固态硬盘存储器
简称,固盘

特点:读写速度快,防震性能好,低功耗,无噪音,工作的温度范围大,体积小,重量轻

组成

闪存阵列芯片:存储数据
控制芯片:对固态硬盘的工作进行管理
缓存芯片:用于辅助控制芯片工作,暂存读出和写入的数据
采用SATA接口,比USB接口快

相关文章
|
负载均衡 算法 Java
So easy! 教你实现自定义负载均衡策略!
So easy! 教你实现自定义负载均衡策略!
1503 0
|
NoSQL 关系型数据库 Go
更新Navicat Premium 16.2 之 如何使用Navicat连接Redis的新手教程《更新Navicat Premium 16.2并连接Redis:高效管理数据库和键值存储》
更新Navicat Premium 16.2 之 如何使用Navicat连接Redis的新手教程《更新Navicat Premium 16.2并连接Redis:高效管理数据库和键值存储》
1199 0
更新Navicat Premium 16.2 之 如何使用Navicat连接Redis的新手教程《更新Navicat Premium 16.2并连接Redis:高效管理数据库和键值存储》
|
11月前
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
算法 调度 Python
【调度算法】并行机调度问题遗传算法
【调度算法】并行机调度问题遗传算法
186 2
|
11月前
|
数据采集 人工智能 监控
证券行业数据治理:构建安全、高效的金融体系
证券行业数据治理是构建安全、高效的金融体系的关键环节。面对日益复杂的数据环境和业务需求,我们需要加强数据安全保护、提高数据质量、推进数据整合、强化法规遵从、适应技术更新并培养组织文化,以推动证券行业的健康发展。
|
开发工具 Windows
OpenHarmony 3.2:制作OTA升级包,附脚本及配置
本文介绍了在OpenHarmony 3.2版本中手动制作OTA升级包的详细流程,包括编译镜像、创建OTA文件目录、编写配置文件、运行脚本制作升级包、推送验证以及OTA升级成功的标志和完整打印过程,并提供了一个基于RK3568的简要OTA打包脚本。
504 0
|
10月前
|
存储 关系型数据库 MySQL
MySQL MVCC深度解析:掌握并发控制的艺术
【10月更文挑战第23天】 在数据库领域,MVCC(Multi-Version Concurrency Control,多版本并发控制)是一种重要的并发控制机制,它允许多个事务并发执行而不产生冲突。MySQL作为广泛使用的数据库系统,其InnoDB存储引擎就采用了MVCC来处理事务。本文将深入探讨MySQL中的MVCC机制,帮助你在面试中自信应对相关问题。
371 3
|
前端开发 JavaScript 搜索推荐
计算机Java项目|基于SpringBoot的旅游网站的设计与实现
计算机Java项目|基于SpringBoot的旅游网站的设计与实现
933 0
|
算法 5G Windows
OFDM系统中的信号检测算法分类和详解
参考文献 [1]周健, 张冬. MIMO-OFDM系统中的信号检测算法(I)[J]. 南京工程学院学报(自然科学版), 2010. [2]王华龙.MIMO-OFDM系统传统信号检测算法[J].科技创新与应用,2016(23):63.
243 4
|
安全 Java 数据库连接
【Java】java.util.concurrent.ExecutionException异常
【Java】java.util.concurrent.ExecutionException异常
880 0