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

存储硬件与协议

存储硬件与协议

  • 存储设备的历史轨迹
  • 存储介质的进化
    • 3D NAND
    • 3D XPoint
    • Intel Optane
  • 存储接口协议的演变
    • NVMe
    • NVMe-oF
  • 网络存储技术
    • 1)DAS
    • 2)NAS
    • 3)SAN
    • 4)iSCSI
      • iSCSI层次结构

存储设备的历史轨迹

  • 1.穿孔卡
  • 2.磁带
  • 3.硬盘
  • 4.磁盘(软盘)
  • 5.CD/DVD
  • 6.U盘/移动硬盘
  • 7.固态硬盘

硬盘的两个重要性能参数是IOps和吞吐量。

存储介质的进化

3D NAND

NAND制程的升级都能将NAND存储密度提升到一个新的高度,容量提升、成本降低的同时可靠性及性能都在下降,因为工艺越先进,NAND的氧化层越薄,可靠性也越差
在这里插入图片描述

3D XPoint

3D XPoint的市场定位很清晰,就是一种比机械硬盘更高级的数据存储方案。3D XPoint的定位介于DRAM与3D NAND之间,它的速度与耐久性能够达到内存的水平,密度与非易失性则偏向3D NAND,成本也介于两者之间
在这里插入图片描述

3D XPoint摒弃了之前存储结构中的电容、晶体管设计,只保留内存单元(存数据的地方)、选择器和读/写总线。原有的“闲杂人等”(电容、晶体管)被统统“踢”走,腾出来的空间塞进了更多的内存单元,因此存储容量得到了大幅度的扩展

Intel Optane

英特尔基于3D XPoint技术分别开发出Optane Memory(傲腾内存)和Optane SSD(傲腾固态盘)

存储接口协议的演变

通信协议,则可以分为上层协议传输协议两个方面的演变
在这里插入图片描述
SATA接口最为原始,只支持SATA传输协议与AHCI上层协议。
M.2则能够兼容AHCI和NVMe两种上层协议,理论上一个M.2插槽既可以使用M.2 SATA传输协议的固态硬盘,也可以使用PCIe传输协议、NVMe上层协议的固态硬盘。M.2 SATA传输协议兼容性更好,而M.2 NVMe上层协议性能更佳

AHCI能够改善传统硬盘的性能,它设计之初面向的就是机械硬盘,针对的是高延迟的机械磁盘的优化。因此AHCI不能完全发挥固态硬盘的优势
因为非易失性存储是存储硬件的发展趋势,所以需要一种新的协议来突破AHCI的局限,于是NVMe顺势而生。

NVMe

NVMe或称NVMHCIS(Non-Volatile Memory Host Controller Interface Specification,非易失性存储主机控制器接口标准)最早是由英特尔公司于2007年提出的
固态硬盘产品已经通过NVMe来取代AHCI发挥出极高的性能优势。

更好的方式将固态硬盘连接到主机,而这正是NVMe的用武之地。
NVMe的主要特点:

  • PCIe:NVMe使用PCIe总线来提供更大的带宽和更低的延迟连接
  • 并行性:NVMe SSD在很大程度上实现了并行性,极大地提高了吞吐量
  • 限速:SATA和SAS连接有比较低的速度限制,对于SATA理论上最大传输速度为6.0Gbps

NVMe-oF

随着NVMe SSD的普及,本地的计算能力可能已经不能完全发挥固态硬盘的全部性能计算或软件成为了性能瓶颈

有两条途径:
一是减少软件的开销,因此出现了SPDK
二是将计算与存储分离,把固态硬盘放到单独设备里面,把存储独立出来供很多主机共享。但是计算和存储分离了以后,却带来了带宽和延迟上的挑战,而这就是NVMe-oF要解决的问题

NVMe-oF只 是 在 NVMe 协 议 中 的 NVMe Transport 部 分 进 行 了 扩 展 , 来 支 持
InfiniBand、以太网及光纤通道等

关于NVMe-oF,目前有两种类型的传输正在开发,使用RDMA的NVMe-oF 和 使 用 FC-NVMe 的 NVMe-oF 。 这 里 的 RDMA 包 括 了InfiniBand、RoCE(RDMA over Converged Ethernet)和iWARP(internet Wide Area RDMA Protocol),RDMA支持在不涉及处理器的情况下将数据传输到两台计算机的内存,并提供低延迟和快速的数据传输。从逻辑架构上看,与NVMe over PCIe相比,NVMe over RDMA在软件开销上的增加很小,可以近似地认为跨网络访问和本地访问的延迟几乎是一样的

网络存储技术

目前网络存储技术主要有DAS(Direct Attached Storage)、NAS、SAN、iSCSI**(Internet SCSI)**。
在这里插入图片描述

1)DAS

DAS是指通过SCSI接口或光纤通道将存储设备直接连接到一台服务器上。当服务器在地理上比较分散很难通过远程进行互联时,DAS是比较好的解决方案。对DAS来说,存储只能通过与之连接的主机进行访问,数据不能与其他主机共享。同时,DAS会占用CPU、I/O等服务器的操作系统资源,并且数据量越大,占用系统资源越严重。

2)NAS

NAS是指通过某一网络协议把多个存储设备和一群计算机相连接。NAS通过网络交换机连接存储系统和服务器,用户通过TCP/IP访问专门用于数据存储的私有网络,采用网络文件系统、HTTP、CIFS等标准的文件共享来实现文件级的数据共享。NAS为那些需要共享大量文件数据的企业提供了一个高效的、高可靠的、高性价比的解决方案。NAS的局限性在于,它会受到网络带宽和网络拥堵的影响。

3)SAN

SAN是一种独立于TCP/IP网络之外的专用存储网络,目前一般提供2~4Gb/s的传输速率。由于其基础是一个专用网络,SAN的扩展性很强,不管是在一个SAN系统中增加一定的存储空间,还是增加几台服务器都非常方便。SAN的维护成本高昂,需要投入很多硬件成本,如FC交换机。

4)iSCSI

SCSI最初是一种专门为小型计算机系统设计的I/O技术,SCSI通信模式
在这里插入图片描述

为了降低使用SAN的成本,可以利用普通的数据网络来传输SCSI数据,实现和SAN相似的功能,同时系统的灵活性也得到了提高。iSCSI就是这样一种技术,它利用普通的TCP/IP网络来传输SCSI数据块

iSCSI是IETF制定的一项标准,用于将SCSI数据块映射为以太网数据包。iSCSI将存储行业广泛应用的SCSI接口技术与IP技术相结合,简单来说,**iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术。**一般来讲,就是在TCP/IP上传输SCSI命令,实现SCSI和TCP/IP的连接。

在iSCSI技术出现之后,SAN也出现了两种不同的实现方式,即光纤存储网络(FC SAN)和IP存储网络(IP SAN),我们通常所说的SAN指的就是FC SAN。相对FC SAN来说,IP SAN的成本要低很多,而且随着千兆网甚至万兆网的发展,iSCSI的速度相对SAN来说并没有太大的劣势。

iSCSI层次结构

SCSI层会建立**SCSI CDB(命令描述块)**并传给iSCSI层,iSCSI层对SCSI CDB进行封装,以便其能够在TCP/IP网络上进行传输,完成SCSI到TCP/IP的协议映射。
在这里插入图片描述

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

相关文章:

存储硬件与协议

存储硬件与协议存储设备的历史轨迹存储介质的进化3D NAND3D XPointIntel Optane存储接口协议的演变NVMeNVMe-oF网络存储技术1)DAS2)NAS3)SAN4)iSCSIiSCSI层次结构存储设备的历史轨迹 1.穿孔卡2.磁带3.硬盘4.磁盘(软盘…...

智能物流半导体发展

智能物流半导体在国内的发展,国内巨大的人口基数,这将会不断促进智慧物流的发展。智能物流在未来发展的潜力巨大。 关于触屏的设计是界面越简单,越清晰越好,最近设计一个小车控制触屏软件。把小车当前所在信息通过图像显示出来。…...

SAP S/4HANA 概述

智能企业业务技术平台Business Technology Platform提供数据管理和分析,并支持应用程序开发和集成。它还允许我们的客户使用人工智能、机器学习和物联网等智能技术来推动创新。业务网络Business network帮助客户实现跨公司业务流程的数字化。该网络建立在我们的采购…...

太上感应篇

太上感应篇原文 太上曰。祸福无门。惟人自召。善恶之报。如影随形。 是以天地有司过之神。依人所犯轻重。以夺人算。算减则贫耗。多逢忧患。人皆恶之。刑祸随之。吉庆避之。恶星灾之。算尽则死。 又有三台北斗神君。在人头上。录人罪恶。夺其纪算。又有三尸神。在人身中。每…...

FPGA入门系列17--task

文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码…...

React学习笔记(番外二)——列表多选批量处理复合组件

React学习笔记(番外二)——列表多选批量操作复合组件前言〇、Show you the code一、 任务分析及拆解表头行的Checkbox——总开关记录行的Checkbox——行级开关二、 基础实现表头行的文件——header-row.js记录行的文件——record-row.js页面的文件App.js…...

Pom.xml详解

目录 1、Maven的下载安装 2、什么是pom? 3、较完整的pom元素 4、默认生成Maven工程的pom内容 5、自定义的属性变量 6、依赖管理 6.1、整体依赖关系列表 6.2、依赖关系的传递性 6.3、依赖传递可能造成的问题 6.3.1、scope依赖范围 6.3.2、依赖调节 6.3.3…...

浅谈软件测试需求管理

什么是需求管理? 需求管理,指对产品、系统或工程的开发需求的搜集、定义、分析、评审、整理、维护、追溯和复用等相关的管理工作和流程。通常特指应用程序或软件系统的研发需求。需求管理和配置管理、测试管理、缺陷管理、风险管理、变更管理等管理流程…...

面试题复盘

Vuex与本地存储的区别Vuex是一个专门为Vue.js应用程序开发的状态管理模式和库。它提供了一个中央存储库,用于存储应用程序的所有组件之间共享的状态【组件间通信的一种方法,一般用于中大型应用】。Vuex的主要目的是在Vue.js应用程序中管理复杂的状态逻辑…...

Telerik UI for WPF 2023 R1

Telerik UI for WPF 2023 R1 之 WPF 的 Telerik 用户界面,WPF 控件库开发人员信任,快速构建美观、高性能的 WPF 业务应用程序。现在支持 .NET 6 和 7.0。 概述部分背景图像 主要特征 现代专业主题图标,现代专业主题 通过各种受 Office、Wind…...

基于 CentOS7 的 KVM 部署 + 虚拟机创建

目录一、实验环境二、部署 KVM三、创建虚拟机四、远程管理 KVM 虚拟机FAQ一、实验环境 实验环境:VMware Workstation 16 Pro 打开虚拟机之前,首先开启 VMware Workstation Pro 16 上的硬件辅助虚拟化功能,如下图所示: 二、部署 …...

Python自动化测试实战篇(5)优化selenium+unittest+ddt,搞定100条测试用例只执行前50条

这些是之前的文章,里面有一些基础的知识点在前面由于前面已经有写过,所以这一篇就不再详细对之前的内容进行描述 Python自动化测试实战篇(1)读取xlsx中账户密码,unittest框架实现通过requests接口post登录网站请求&…...

C语言--数据的存储2

目录前言练习有符号类型与无符号类型char类型的取值范围有符号char无符号char有符号与无符号类型混合运算有符号无符号类型形成的bugchar类型取值范围应用浮点型在内存中的存储浮点数的存储浮点数存储规则浮点数取出规则前言 上篇文章我们讲解了数据类型,类型的基本…...

Ubuntu 安装 Qt5.7.0

下载 地址:https://download.qt.io/https://download.qt.io/ 文件夹说明: snapshots:预览版,该文件夹中包含最新的测试版本。 online:在线安装包。 official_releases:最终发布版。 new_archive&#…...

“世界”的伊利,“三难”的潘刚

(图片来源于网络,侵删) 来源 | 螳螂观察 文 | 叶小安 一棵草,一头牛,到一杯牛奶,乳品如何守住舌尖上的安全? 央视财经频道专访中,伊利集团董事长兼总裁潘自信满满地介绍了现代智…...

【新】华为OD机试 - 开心消消乐(Python)

开心消消乐 题目 给定一个 N 行 M 列的二维矩阵,矩阵中每个位置的数字取值为 0 或 1,矩阵示例如: 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1现需要将矩阵中所有的 1 进行反转为 0,规则如下: 当点击一个 1 时,该 1 被反转为 0,同时相邻的上、下、左、右,以及左上、左下、右上…...

山东大学2022-2023数据仓库挖掘期末考题回忆

2023.2.14 一、 1.数据预处理的过程和解决问题 2.什么是离群点,检测离群点的四个方法 3.数据仓库的四个特点,画出数据仓库结构图 4.维度归约的两个方法及区别。 二、 两个模型用来预测新冠病毒的阳性和阴性 1.分别求准确率,精确率&#xff0c…...

SSM整合

SSM整合 ContextLoaderListener Spring提供了监听器ContextLoaderListener,实现ServletContextListener接口,可监听 ServletContext的状态,在web服务器的启动,读取Spring的配置文件,创建Spring的IOC容器。 web 应用中…...

Android平台版本所对应的 API 级别

平台版本API级别版本号备注Android 1333TIRAMISU平台亮点Android 1232S_V2平台亮点31S平台亮点Android 1130R平台亮点Android 1029Q平台亮点Android 928P平台亮点Android 8.127O_MR1平台亮点Android 8.026O平台亮点Android 7.1.1Android 7.125N_MR1平台亮点Android 7.024N平台亮…...

入职字节外包一个月,我离职了

有一种打工人的羡慕,叫做“大厂”。 真是年少不知大厂香,错把青春插稻秧。 但是,在深圳有一群比大厂员工更庞大的群体,他们顶着大厂的“名”,做着大厂的工作,还可以享受大厂的伙食,却没有大厂…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...