存储硬件与协议

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 存储硬件与协议


存储设备的历史轨迹

  • 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等技术内容,立即学习

相关实践学习
使用DAS实现数据库自动扩容和回缩
暂无
相关文章
|
3月前
|
网络协议
Tcp硬件设备数据规范
Tcp硬件设备数据规范
32 0
|
4月前
|
网络协议 数据安全/隐私保护 Python
在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
|
6月前
|
算法 编译器 C语言
共享介质与非共享介质:网络通信的两种模式
共享介质与非共享介质:网络通信的两种模式
162 1
|
6月前
|
存储 缓存 前端开发
【硬件知识】了解服务器基础硬件组成
【硬件知识】了解服务器基础硬件组成
173 1
|
网络架构
详解CAN总线:CAN协议分层结构及功能
CAN协议涵盖了 ISO 规定的 OSI 基本参照模型中的传输层、数据链路层及物理层如下表 所示
详解CAN总线:CAN协议分层结构及功能
|
6月前
|
安全 定位技术 数据安全/隐私保护
多台电脑之间共享、传输文件数据:不借助数据线与软件的方法
多台电脑之间共享、传输文件数据:不借助数据线与软件的方法
311 1
|
网络协议 Java API
慧安-PLC4X支持的协议
慧安-PLC4X支持的协议
291 0
|
缓存 开发工具 数据安全/隐私保护
【软考学习17】数据传输控制方式、虚设备和微内核操作系统
【软考学习17】数据传输控制方式、虚设备和微内核操作系统
166 0
|
并行计算
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】
98 0
CUDA C 最佳实践:优化主机和设备之间的内存传输【读书笔记】
|
缓存 关系型数据库 MySQL