• SSD接口和协议


    概述

    市场上的固态硬盘简单来说共有SATA、PCIE、M.2和U.2四种接口类型。

    早期,为了更适应于超极本这类超薄设备的使用环境,针对便携设备开发的mSATA(mini SATA)接口应运而生。你可以把它看作标准SATA接口的mini版,物理接口跟mini PCIe接口一样。

    mSATA接口是SSD小型化的一个重要过程,不过mSATA依然没有摆脱SATA接口依然是SATA通道,速度是6Gbps。诸多原因没能让mSATA 接口火起来,反而被更具升级潜力的M.2 SSD所取代。

    具体到协议上来说又能分为上层协议和传输协议,他们之间错综复杂的关系可以用下图来表述。

    传输总线

    总线就像一条公路,公路上的车好比总线上的电信号;公路的大小和车流量就决定了公路的车流量,故总线的位宽大小和传输频率决定了一次传输中能够提供的最大速度。常见的总线类型有:

    PCIE

    PCIE是一切的根,所有外设都是由PCIE演化而来。下表给出PCIe 2.0和PCIE 3.0标准速率,实际速率却很难达到这个理论值。

    SATA

    PATA(ATA)

    SCSI

    服务器领域中使用的传输总线,已经很少人用了。

    SAS

    民用领域由PATA到SATA,服务器领域由SCSI到SAS。SAS控制器可以兼容SATA的设备,但是SATA控制器不能兼容SAS设备。

    SAS 1.0达到3Gbps,每一代翻2倍。

    FC

    FC接口很稀缺,是基于网络传输协议下诞生的接口。起源于SCSI,但速度远远超过SCSI,最新FC通道速度可以达到16Gbps。

    传输协议

    传输规范、传输标准,也就是数据传输的方式。

    IDE

    (1)PATA(并行ATA)

    (2)PATA只支持数据部分进行CRC校验

    (3)IDE盘不支持热插拔

    (4)需要设置主从盘跳线

    AHCI

    Serial ATA Advanced Host Controller Interface,串行ATA高级主控接口/高级主机控制器接口,IDE速度太低,协议老旧,所以有了AHCI;但AHCI是为了机械硬板而产生的产物,现在SSD已经普及,所以不再说明。

    SATA

    • 协议特性

    (1)简介:Serial Advanced Technology Attachment即为Serial ATA,串行高级技术附件。SATA接口是一种基于行业标准的串行硬件驱动器接口。

    (2)优势:串行接口结构简单,支持热插拔,传输速度快,执行效率高。

      与传统ATA相比,具备了更强大的纠错能力,很大程度上提高了数据传输的可靠性。

      还节省空间,有利于机箱内部的散热,线缆之间的串扰也得到了有效控制。

      对数据和指令封包进行循环冗余校验(CRC),使得单bit和双bit的错误都能被检测出来。

      SATA不需要设置主从盘跳线。

    • 支持的接口类型

      主要有5中接口形式:SATA、Half-slim、mSATA、mini-mSATA、B-key M.2、1.8寸 micro-SATA等。

    • SATA接口pin脚定义

                                               

       

      说明:SATA 3.1之后,没有3.3V,第3脚为休眠脚。

    NVMe

      一种建立在M.2接口上的类似AHCI的一种协议,是专门为闪存类存储设计的协议。

      具体优势包括:

      ①性能有数倍的提升;
     
      ②可降低延迟超过50%;
        面向PCIe SSD产品的NVMe标准能有效降低控制器和软件接口部分的延迟,最主要是能让SSD走PCI-E通道直连CPU,有效降低了数据延迟,其次,NVMe精简了调用方式,AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成2.5μs的延迟,而NVMe执行命令时则不需要读取寄存器。
     
      ③NVMe PCIe SSD可提供的IOPs十倍于高端企业级SATA SSD;
        新的协议还能大大提高SSD的IOPS(每秒读写次数)性能,理论上,IOPS=队列深度/ IO延迟,所以增加队列深度,就可以有效提升SSD的IOPS。传统的ACHI标准下队列深度最多能达到32,但是在NVMe标准下,这一数值可以达到64000,是以前的2000倍。
     
      ④自动功耗状态切换和动态能耗管理功能大大降低功耗;
     
      ⑤支持未来十年技术发展的可扩展能力。
     

    传输接口

    SATA接口

    平时所说的SATA接口通常是指2.5寸规格的固态硬盘,它只使用AHCI协议,最大队列深度QD32,对于家用完全没有瓶颈。SATA3.0接口将持续读写速度限制在550MB/s左右。

    2.5寸这个数值并非很多人想象的硬盘对角线长度,而是机械硬盘内部硬盘盘片的直径。到了固态硬盘时代,闪存芯片替代了磁盘成为存储介质。没有了盘片直径后固态硬盘依然按照原来2.5寸标准的大小去制造,这样可以最大限度的兼容各种台式与笔记本电脑的硬盘位。

    PCIe接口

    在传统SATA硬盘中,当我们进行数据操作时,数据会先从硬盘读取到内存,再将数据提取至CPU内部进行计算,计算后再反馈给内存,最后写入至硬盘中;

    而PCIe接口就不一样了,数据直接通过总线与CPU直连,省去了内存调用硬盘的过程,传输效率与速度都成倍提升。

    简单的说,我们可以把两种通道理解成两辆相同的汽车,PCIe通道的汽车就像是在高速上行驶,而SATA通道的汽车就像是在崎岖山路上行驶。很显然,PCIe SSD的传输速度会远大于SATA SSD。

    虽然PCIe SSD有诸多好处,但也不是每个人都适合。PCIe SSD由于闪存颗粒和主控品质极高,总体成本也相对较高,相比传统SATA接口固态硬盘的售价要贵一些。另外,由于PCIe会占用总线通道,入门以及中端平台CPU通道数较少,也不太适合使用PCIe SSD。只有配合Z170、X99这样顶级平台,才可以完全发挥PCIe SSD的性能。

    M.2固态硬盘

    M.2是当前最复杂、最多变的固态硬盘接口。它和当前已经被淘汰的mSATA一样,属于多功能接口,再相同的外观下可以支持不同的针脚定义(传输协议)以及不同的上层协议。最早出现的M.2固态硬盘使用了与2.5寸SSD相同的SATA AHCI协议,除了外观不同,他们在性能表现上和2.5寸SATA版本基本没有区别。

    SATA协议的M.2固态硬盘在接口处有2个缺口,学名叫B Key和M Key,他们的存在是为了向电脑主机表明自己的身份(选择需要使用的协议)。

    一个SATA缺口的M.2固态硬盘通常可以肯定使用了NVMe协议。但是两个缺口却不能作为判定SATA协议的依据,因为两个缺口下也能支持PCIE传输协议,同样可以是NVMe固态硬盘

    与mSATA相比,M.2主要有两个方面的优势。第一是速度方面的优势。M.2接口有两种类型:Socket 2(B key——ngff)和Socket 3(M key——nvme),其中Socket2支持SATA、PCI-E X2接口,而如果采用PCI-E ×2接口标准,最大的读取速度可以达到700MB/s,写入也能达到550MB/s。而其中的Socket 3可支持PCI-E ×4接口,理论带宽可达4GB/s。

    第二个是体积方面的优势。虽然,mSATA的固态硬盘体积已经足够小了,但相比M.2接口的固态硬盘,mSATA仍然没有任何优势可言。M.2标准的SSD同mSATA一样可以进行单面NAND闪存颗粒的布置,也可以进行双面布置,其中单面布置的总厚度仅有2.75mm,而双面布置的厚度也仅为3.85mm。而mSATA在体积上的劣势就明显的多,51mm×30mm的尺寸让mSATA在面积上不占优势,而4.85mm的单面布置厚度跟M.2比起来也显得厚了太多。另外,即使在大小相同的情况下,M.2也可以提供更高的存储容量

    M.2接口,最初叫做NGFF(Next Generation Form Factor),宽度22mm,单面厚度2.75mm,双面闪存布局也不过3.85mm厚。M.2接口产品有丰富的可扩展性,最长可以做到110mm,可以提高SSD容量。此外,M.2接口可以同时支持SATA及PCI-E通道,后者更容易提高带宽,如果是采用SATA通道的M.2接口固态硬盘,则读写速度在550MB/s左右。

    上面两款都是M.2接口,如何分辨出哪个是PCI-E SSD哪个是SATA SSD?在弄清楚这个问题之前,我们先来解答几个常见问题。

    1、同是M.2接口,为什么会有PCI-E和SATA之分?

    这是因为两者所走的通道不同,M.2有两种接口定义:Socket 2和Socket 3。Socket 2支持SATA、PCI-EX2通道的SSD,Socket 3专为高性能存储设计,支持PCI-EX4。

    2、有M.2接口的主板都能使用M.2 SSD?

    非也非也,不同主板的M.2接口所支持的通道是不同的,有的仅持PCI-E通道,其规格说明里关于M.2的描述有标明。而有的则兼容SATA和PCI-E两种通道。所以如果您想购买 M.2 SSD,先要清楚了解自己的主板上的M.2接口是支持哪种通道的。

    3、什么决定M.2 SSD所走的通道?

    主控决定了接入M.2接口的SSD是走PCI-E通道还是SATA通道。例如HyperX Predator SSD的主控是Marvell 88SS9293主控,这是一款PCI-E控制器,而金士顿G2系列 M.2 2280 SSD采用的是SATA控制器。

    4、性能差别有多大呢?

    走的通道不一样,速度自然有差别。SATA3.0通道的理论带宽是6Gb/s.理论极限传输速度600MB/s,所以跟市面所有的SATA接口SSD一样,金士顿G2系列 M.2 2280 SSD的最高读取速度不超过600MB/s,而主板M.2接口走PCI-E通道传输通道带宽为10Gb/s。HyperX Predator SSD的连续读写达到1400MB/s和1000MB/s,完全超过了SATA3.0的极限传输速度。

    U.2接口

    目前主要用在服务器领域

    示例

    a) 三星 850 EVO M.2 接口,SATA 总线,AHCI 协议

    b) 三星 SM951 M.2 接口,PCIe 总线,AHCI 协议

    c) 三星 SM951 M.2 接口,PCIe 总线,NVMe 协议

    d) 采用NVMe协议的M.2接口固态硬盘三星960 PRO,这是目前世面上读写速度最快的一款固态硬盘,最高读取速度可达3.5GB/s。

  • 相关阅读:
    3. 安装 glance(控制节点)— OpenStack Queens 三节点部署
    2. 安装 keystone(控制节点)— OpenStack Queens 三节点部署
    1. 环境准备 — OpenStack Queens 三节点部署
    使用kubeadm搭建一个完整的kubernetes集群
    LeetCode–数组中重复的数字
    Java面试题——随机题(一),看看哪些你会哪些你不会
    jQuery DOM操作
    jQuery 选择器
    jQuery--基本语法
    jQuery--简介和使用
  • 原文地址:https://www.cnblogs.com/luxiaodai/p/13444756.html
Copyright © 2020-2023  润新知