一文读懂NVME为什么比较快

引言

注意这里所说的快指的是是与传统的固态硬盘相比,而不是与HDD(机械硬盘)相比。因为固态与机械硬盘因其本质结构(固态省去了寻道时间和旋转时间),所以固态比机械要快。具体快多少要根据相应操作来确定。对于顺序读取(定位一次,大批量数据读写) ,SSD大概是HDD 的两倍。而随机存取,SSD要远远大于HDD。

SSD 存储接口协议

我们知道存储设备要与主机进行通信,需要定义接口规范,接口,总线。
SSD存储协议如下图
在这里插入图片描述
SATA接口最为原始,只支持SATA传输协议与AHCI上层协议。作为融合了多种协议的接口,M.2则能够兼容AHCI和NVMe两种上层协议,至于传输协议与传输层的布线有关,理论上一个M.2插槽既可以使用M.2 SATA传输协议的固态硬盘,也可以使用PCIe传输协议、NVMe上层协议的固态硬盘。M.2 SATA传输协议兼容性更好,而M.2 NVMe上层协议性能更佳。
AHCI的历史可以追溯到2004年,是在英特尔公司的领导下由多家公司联合研发的接口标准,它允许存储驱动程序启用高级串行ATA功能。相对于传统的IDE技术,AHCI能够改善传统硬盘的性能,它设计之初面向的就是机械硬盘,针对的是高延迟的机械磁盘的优化。因此AHCI不能完全发挥固态硬盘的优势,对Flash固态硬盘来说逐渐出现性能瓶颈,又因为非易失性存储是存储硬件的发展趋势,所以需要一种新的协议来突破AHCI的局限,于是NVMe顺势而生。

NVME 介绍

NVMe或称NVMHCIS(Non-Volatile Memory Host Controller Interface Specification,非易失性存储主机控制器接口标准)最早是由英特尔公司于2007年提出的。英特尔公司领衔成立了NVMHCIS工作组,成员包括三星、美光等公司,致力于使将来的存储产品从AHCI中解放出来。固态硬盘产品已经通过NVMe来取代AHCI发挥出极高的性能优势。

固态硬盘推出之后,闪存技术比传统的机械硬盘快很多倍,但是早期都是使用SATA或SAS将存储设备连接到系统和网络的,虽然对于硬盘驱动器来说,这些接口所能提供的性能已经足够,但是它们为固态硬盘带来了瓶颈。
· PCIe:NVMe使用PCIe总线来提供更大的带宽和更低的延迟连接。
· 并行性:NVMe SSD在很大程度上实现了并行性,极大地提高了吞吐量。当数据从存储设备传输到主机时,它会进入一个队列。传统的SATA设备只能支持一个队列,一次只能接收32条数据;而NVMe存储则支持最多64 000个队列,每个队列有64 000个条目。类似于跑车的例子,SATA就像只有一条车道的公路,可以容纳32辆车;而NVMe就像有6.4万条车道的公路,每条车道都能容纳6.4万辆汽车。当系统从硬盘驱动器读取数据时,一次只能读取一块数据。因为硬盘驱动器的磁头必须通过旋转移动到第一个数据块的正确位置,再次旋转移动到第二个数据块的正确位置,以此类推。但是闪存和其他非易失性存储技术没有移动部件,不需要旋转定位的过程,这就意味着系统可以同时从许多不同的位置读取数据。这就是为什么固态硬盘能够充分利用NVMe提供的并行性,而硬盘驱动器不能。
· 限速:SATA和SAS连接有比较低的速度限制,对于SATA理论上最大传输速度为6.0Gbps,超过一定限度,使用再快的闪存对系统的整体性能也没有影响。

随着NVMe SSD的普及,以及服务器本身能支持的固态硬盘数量进一步增加,本地的计算能力可能已经不能完全发挥固态硬盘的全部性能,计算或软件成为了性能瓶颈,因此出现了SPDK;二是将计算与存储分离,把固态硬盘放到单独设备里面,把存储独立出来供很多主机共享。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值