【协议】 SATA接口(AHCI协议)、PCIe 接口(NVMe 协议)|nvme ssd和普通ssd区别

目录

简略

nvme ssd和普通ssd区别

详细

其他

NVME的优势

查看 Linux 系统中是否有 SSD 盘


 bandaoyu@uestc,本文持续更新,连接:http://t.csdn.cn/vaucH

简略

nvme ssd和普通ssd区别

ssd是固态硬盘,普通的ssd配的是SATA口(AHCI协议),nvme ssd配的是PCIe口(nvme传输协议)

  1. HDD 和 SSD 早期, SATA 接口(接口协议:AHCI )满足性能需求,瓶颈在硬盘端,闪存技术的飞速发展,性能瓶颈由下层(硬盘)转移至上层(接口和协议),SSD 急需要更高效的接口和协议,由此,NVMe(Non Volatile Memory Express)横空出世。
  2. RDMA 技术
  3. NVMe over Fabrics

如果我们与 SATA SSD 相比,使用 NVMe,IOPS 并行执行,允许同时进行许多计算。大任务可以分成几个小任务独立处理。类似于多核 CPU,使用多个线程。每个 CPU 内核可以彼此独立工作以执行特定任务。
队列深度 (QD) 是 NVMe 相对于 AHCI 的另一个优势。虽然 ACHI 和 SATA 可以处理 32 个队列深度(1 个队列和 32 个命令),但 NVMe 可以处理高达 65K 的队列深度。这些是 65K 队列,其中每个队列可以容纳多达 65K 个命令。除了减少延迟外,这还提高了处理并发请求的繁忙服务器的性能。

  • SATA/SAS和 PCIe接口对比
AHCI(SATA/SAS)NVMe(PCIe)
背景为HDD而设计为SSD而设计
最大队列数量164k
最大队列深度3264k
延迟6ms2.8ms
通信与SATA控制器通信直接与CPU通信

详细

原文:NVMe over RoCE 初探 https://zhuanlan.zhihu.com/p/345609031

常见的 SSD 主要分为 SATA 接口(接口协议: AHCI)、 PCIe接口(NVMe 协议Non Volatile Memory Express)。相比于最原始的 ATA 协议,AHCI 有 2 个特点,第 1 个支持热插拔,第 2 个支持 NCQ(Native Command Queueing)技术,NCQ 最大深度为 32,则使用 fio 进行性能测试时,其 iodepth不得超过 32;

在 HDD 和 SSD 早期,AHCI 控制器接口协议和 SATA 硬盘传输接口足够满足系统的性能需求,性能的瓶颈在硬盘端,随着闪存技术的飞速发展,系统的性能瓶颈由下层(硬盘)转移至上层(接口和协议),SSD 急需要更高效的接口和协议。在此背景下,NVMe横空出世。

NVMe 全称为 Non-Volatile Memory Express,是非易失性存储器标准,运行在PCIe 接口之上的协议标准。

协议的层级关系为:NVMe <---事务层 <--- 数据链路层 <--- 物理层,NVMe作为命令层和应用层协议位于最上层,下面 3 层均为 PCIe。

NVMe协议实际是一个应用层的协议,PCIe规范定义了传输层(事务层)、数据链路层和物理层。

NVMe协议通常情况下是跑在PCIe协议栈上的。

pcie是接口,nvme是协议。

笔记本上pcie接口都是M.2的物理形态,但是M.2固态硬盘不一定都用nvme协议,可能是传统sata硬盘所用的ahci协议。

现在已经有走PCIe通道的M.2接口了,就需要确认有没有NVMe协议相关驱动即可,可以进BIOS看一下,有没有NVMe相关的字眼,比如我的电脑,进到BIOS里面后,会看到如下:
链接:https://www.zhihu.com/question/263723989/answer/1203340571
 

下面将从 SATA和 PCIe 接口对比、 AHCI 和 NVMe速率对比、SSD 外形尺寸 3 方面对比 NVMe 和 AHCI的不同之处。

  • AHCI 和 PCIe 接口对比
AHCI(SATA/SAS)NVMe(PCIe)
背景为HDD而设计为SSD而设计
最大队列数量164k
最大队列深度3264k
延迟6ms2.8ms
通信与SATA控制器通信直接与CPU通信
  • SATA 和 PCIe 速率对比

当前我们使用 Intel Purley 平台服务器,即 I/O 接口的速度分别 SATA 3.0 和 PCIe 3.0。预计2021 年中旬 Intel 量产Ice lake Xeon处理器,带来的变化之一是 I/O 由 PCIe 3.0 切换至 PCIe 4.0,服务器平台也将由 Purley 切换至 Whitley。

SATA 1.0SATA 2.0SATA 3.0
速率150 MB/s300 MB/s600 MB/s
类型理论单向速率(GT/s)传输方式实际单向速率(Gbps)单向带宽receive or transmit
PCIe 1.02.58 bit/10 bit2250 MB/s
PCIe 2.058 bit/10 bit4500 MB/s
PCIe 3.08128 bit/ 130 bit7.87985 MB/s(约等于 1GB/s)
PCIe 4.016128 bit/ 130 bit15.752016 MB/s(约等于 2GB/s)
  • SSD的外形尺寸

NVMe SSD外形接口形态有:PCIe card slot, M.2, and U.2,其中 U.2专为NVMe设计,有2.5英寸/3.5英寸标准尺寸固态硬盘驱动器。

  • 举个例子,S4510 1.92TB 和 P4610 1.6TB 参数对比
S4510 1.92TBP4610 1.6TB
光刻类型64-Layer TLC 3D NAND<--
接口类型SATA 3.0 6Gb/sPCIe 3.1 x4, NVMe
顺序读 (MB/s)5603200
顺序写 (MB/s)5102080
随机读(IOPS)97k643k
随机写(IOPS)35.5k199k
闲置功耗(W)1.15
典型功耗(W)3.214
硬件加密AES 256 bit<--

从上图可以直观看出,P4610 NVMe SSD 性能顺序和随机读/写性能明显优于 S4510 SATA SSD,具体数据为:顺序读约 5.7 倍、顺序写 3.7 倍、随机读约 6.6 倍、随机写约 5.6 倍。

其他

NVME的优势


NVME是硬盘新的传输标准,下一代协议,比现代的AHCI传输协议更加高级。

NVME的优势有以下几点:

1.更低的延时。NVME精简了调用方式,执行命令时不需要读取寄存器,而AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成2.5微秒的延迟。

2.更高的传输性能。性能不错的SATA接口的SSD,在队列深度上都可以达到32,这也是AHCI所能做到的极限。更高端的PCIe SSD其队列深度可达128,甚至是256才能发挥出最高的IOPS性能。而NVME标准下,最大的队列深度可达64000。此外,NVME的队列数量也从AHCI的1提高到了64000。

3.更低的能耗控制。升级版的NVME在能耗方面肯定会进行优化处理,能耗降低了有助于设备的节能使用,同时也会减少控制元件的工作负荷。NVME加入了自动功耗状态切换和动态能耗管理功能,SSD在闲置的时候可以快速的控制在极低的水平,从而降低整体的能耗。

查看 Linux 系统中是否有 SSD 盘

命令:

lsblk -d -o name,rota

rota 列为 0,则是 SSD 盘,为 1,则为传统机械硬盘。

说明:

要查看 Linux 系统中是否有 SSD 盘,你可以使用以下方法之一:

使用 lsblk 命令:lsblk 命令可以列出系统中的块设备信息,包括硬盘类型。你可以通过运行以下命令来查看硬盘类型:

lsblk -d -o name,rota
如果 rota 列显示为 0,则表示该硬盘是 SSD 盘,如果显示为 1,则表示为传统机械硬盘。

  • 2
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
NVMe(Non-Volatile Memory Express)SSDAHCI(Advanced Host Controller Interface)SSD是两种不同的接口标准,用于连接和管理固态硬盘(SSD)。它们之间的主要区别如下: 1. 接口类型:AHCI SSD使用SATA(Serial ATA)接口,而NVMe SSD使用PCIe(Peripheral Component Interconnect Express)接口PCIe接口速度更快,并且提供更高的带宽和更低的延迟,使得NVMe SSD能够实现更高的性能。 2. 性能:由于使用不同的接口标准,NVMe SSD通常比AHCI SSD具有更高的性能。NVMe SSD利用PCIe接口的高速通信能力,可以实现更高的数据传输速率和更低的访问延迟。这使得NVMe SSD适用于需要高性能存储的应用场景,如大规模数据处理、虚拟化环境和高性能计算。 3. 并行性:NVMe SSD具有更好的并行性能。AHCI SSD在传输数据时会受到AHCI控制器的限制,只能处理一个命令队列。而NVMe SSD支持多个命令队列和并行I/O操作,可以同时处理多个读写请求,提高了系统的并发性能。 4. 兼容性:AHCI接口SATA的标准接口,因此AHCI SSD具有更广泛的兼容性,可以与大多数主板和操作系统兼容。而NVMe SSD的兼容性相对较新,需要支持NVMe接口的主板和操作系统才能正常工作。 综上所述,NVMe SSDAHCI SSD之间的主要区别在于接口类型、性能、并行性和兼容性。NVMe SSD具有更高的性能和更好的并行处理能力,适用于需要高性能存储的场景。而AHCI SSD具有更广泛的兼容性,适用于对性能要求不高或使用较旧硬件的场景。选择使用哪种类型的SSD取决于具体的需求和设备兼容性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值