bingoohuang / blog

write blogs with issues
MIT License
178 stars 24 forks source link

NVME 是个啥 #204

Open bingoohuang opened 3 years ago

bingoohuang commented 3 years ago

NVME 是个啥

海草分层存储,看到一个 NVME,赶紧补充一下相关知识

  1. AHCI:是一种通讯协议;
  2. NVME:NVM Express(NVMe)是一种通讯协议;
  3. SATA:是一种接口标准,协议层使用AHCI进行通讯,数据通过SATA总线传输;
  4. PCIE:PCI-Express(PCIe) 是一种接口标准,协议上使用NVME进行通讯,数据通过PCIE主线传输;
  5. USB:是一种接口标准,协议上使用USB自己的通讯协议进行通讯 (具体是啥没有查),数据通过USB总线传输;

    注:USB2和USB3不仅是通讯协议不同,硬件接口也不同(针脚数目也不一样)(这也是为什么一个usb接口要么支持2要么支持3,就是因为是硬件接口不同,而不仅仅是协议不同),协议层也不同;

  6. NGFF:全称Next Generation Form Factor,是一种计算机内部扩展卡及相关连接器规范。目的是取代mini PCI-E和mSATA,主要为固态硬盘等准备。现在的名字叫M.2,没错,NGFF就是M.2。总结下,NGFF是一个接口,新的名字叫M.2
  7. M.2:即NGFF,M.2是一种接口标准,协议上支持AHCI和NVME;数据可以通过SATA总线(使用AHCI协议)、PCIL总线(使用NVME协议)、USB总线传输;接口上按缺失位可分为key M和key B(就是某一个引脚缺失而已),俩接口样子不一样,规定使用的通讯协议也不同。
接口 总线 协议 速度
SATA SATA AHCI 理论上限 6 Gb/s,约 500MB/s
M.2 SATA AHCI 理论上限 6 Gb/s,约 500MB/s
M.2 PCI-e NVMe 理论上限 32 Gb/s,约 3200MB/s

M.2 接口

image

  1. 了解 SSD 技术:NVMe、SATA、M.2
  2. NGFF、M.2、NVME、SATA、PCIE、USB的层次和区别:协议?接口?
  3. SATA、mSATA、M.2、M.2(NVMe)、PCIE固态硬盘接口详解

了解 SSD 技术:NVMe、SATA、M.2

NVMe (Non-Volatile Memory Express) 是一种通信接口和驱动程序,为基于 PCIe 的 SSD 定义了命令集和功能集,目标是提高性能和效率,同时让广泛的企业级系统和客户端系统实现互操作。

NVMe 专为 SSD 设计。它利用高速 PCIe 插槽在存储接口和系统 CPU 之间进行通信,而无论存储器外形尺寸如何。相比采用 AHCI(高级主控接口,SATA SSD 的特性之一)等旧驱动程序的旧存储型号,利用 NVMe 驱动程序执行的输入/输出任务开始速度更快、传输的数据更多、结束速度更快。由于 NVMe 专为 SSD 设计,NVMe 正在成为数据中心服务器和客户端设备(笔记本电脑、台式机,甚至是下一代游戏主机)的新行业标准。

NVMe 技术支持各种外形尺寸,例如 PCIe 卡插槽、M.2 和 U.2。一些 SSD 使用的是采用 AHCI 而非 NVMe 的 SATA、PCIe 插槽和 M.2,而 U.2 是仅用于 NVMe 协议的外形尺寸。

下面的信息图将帮助您了解各种不同类型 SSD 的不同外形尺寸和协议,以及性能上的差异。

image