本文内容主要源于关于不同SSD 盘介绍,同时加入了NVM相关的名词。

1. ssd

  • SATA, SAS, PCIe 都是总线规范, 或者叫电气接口
  • SCSI, NVMe 是存储协议
  • NAND, 3D-Xpoint 是介质

我们用的比较多的是SATA SSD, PCIe SSD, NVMe SSD, Optane。

1.1 常见ssd

常用的SATA SSD 对应的存储命令协议是SCSI, PCIe SSD 对应的存储命令协议一般是NVMe。
所以我们常说的 SATA SSD 指的是 NAND SATA/SAS SCSI SSD. PCIe SSD 指的是 NAND PCIe NVMe SSD, NVMe SSD 指的也是 NAND PCIe NVMe SSD。

不管是用户态还是内核态, 都需要有对应的存储协议的支持, 所以对应的内核上都要有对应driver: 比如 SCSI 就是 isci, NVMe 就是nvme 这个驱动。 驱动做的事情就是封装对应格式的命令包, 传输给SSD上, (1)SCSI 就封装成isci IO命令包(2) NVMe封装成 NVMe IO命令包。

NVMe 一般会有用户态的驱动, spdk 里面就包含。

1.2 optane

目前更快的是3Dxpoint 介质的optane。
optane是intel 的产品, 是基于PCIe 的NVMe SSD。

1.3 Open-Channel SSD

Open-Channel SSD 是由Host深度控制和维护的一种SSD。相对于NVMe SSD, Host所能够看到的不再是一段逻辑块地址(Logical Block Address, LBA),而是间隔排列的NAND存储单元的物理页地址(Physical Page Address, PPA)。Open-Channel SSD 将内部NAND介质的诸多细节暴露给Host,由Host来实现自定义的FTL(Flash Translation Layer),根据实际工作负载的特点,最大化,且有区别的实现高吞吐,低时延,或IO隔离等特性。

2.nvm

nvm(Non-volatile memory),也称为Persistent memory,支持按字节寻找。

NVM such as phase-change memory (PCM) , STTMRAM , PRAM, Memristor, and Intel/Micron’s
3D-XPoint promise to combine the best of both memory and storage.

接下来主要介绍Intel的产品。

Intel optance有不同products:(1)可以如1.2节所示,作为ssd;(2)可以作为内存来使用,这就是接下来要介绍的内容。

CRYSTAL RIDGE:Code name for memory controller based devices in the product roadmap:

  1. Apache Pass
  2. Barlow Pass
  3. Crow Pass

2.1 Apache Pass(AEP)

1st Gen Optane Memory, code name for the current DIMM device.
Use a DRAM DIMM slot.


参考资料:

  1. 关于不同SSD 盘介绍
  2. Liblightnvm, 在用户态操作Open-Channel SSD
  3. Sapphire Rapids - Microarchitectures - Intel
  4. Performance and Protection in the ZoFS User-space NVM File System[SOSP’19]