PCIe、M.2、U.2、AHCI和NVMe

外设接口是非常复杂的故事… 列出的这些目前都还在使用,而且还不仅仅这几种

一、PCIe是一种物理接口:Peripheral Component Interconnect Express,替换PCI、PCI-X、AGP等接口

clip_image001

Various slots on a computer motherboard, from top to bottom: PCI Express ×4 PCI、Express ×16、PCI Express ×1、PCI Express ×16、Conventional PCI (32-bit, 5 V)

一般GPU是PCIe X16

一般SSD是PCIe X4,Optane 就是PCIe X 4

一般网卡是PCIe X1

PCIe在形态方面有全尺寸和半高尺寸两种,后者用于1U的机箱比较合适,特别适合于Flash卡。

二、M.2是一种物理接口:Next Generation Form Factor (NGFF),替换mSATA接口,一般用于笔记本,和U.2是竞争关系,使用PCIe MiniCard的物理布局,支持AHCI和NVMe控制接口。可以用于SSD、NFC、WIFI、BT等设备

clip_image002

A size comparison of an mSATA SSD (left) and an M.2 2242 SSD (right)

三、U.2是一种物理接口: formerly known as SFF-8639, is a computer interface for connecting SSDs to a computer. It uses up to four PCI Express lanes。这个可能是SATA Express的后续演进。不支持NVMe

clip_image003

四、AHCI是一种逻辑接口:Advanced Host Controller Interface。Intel发明用于管理SATA设备。 AHCI gives software developers and hardware designers a standard method for detecting, configuring, and programming SATA/AHCI adapters. AHCI is separate from the SATA 3 Gbit/s standard, although it exposes SATA’s advanced capabilities

五、NVMe是一种逻辑接口:Non-Volatile Memory Host Controller Interface Specification (NVMHCIS) 。针对非易失性存储外设,支持各种各样的形态,包括上面提到各种存储设备接口,NVM Express allows host hardware and software to fully exploit the levels of parallelism possible in modern SSDs. As a result, NVM Express reduces I/O overhead and brings various performance improvements relative to previous logical-device interfaces, including multiple, long command queues, and reduced latency。在存储领域,NVMe必然会替换AHCI

clip_image004

clip_image005

这里面提到了一个队列深度(queue depth)的概念,这个也算是一个相对较新的概念,在新型或者高级设备(SSD、企业级磁盘)上,允许支持相对较大的并发,比如100以上,而不降低IO性能,这样会获得更高的IOPS。而AHCI的支持很差。Some HDDs will improve in performance as the number of outstanding IOs (i.e. queue depth) increases. This is usually the result of more advanced controller logic on the drive performing command queuing and reordering commonly called either Tagged Command Queuing (TCQ) or Native Command Queuing (NCQ). Most commodity SATA drives either cannot do this, or their implementation is so poor that no performance benefit can be seen. Enterprise class SATA drives, such as the Western Digital Raptor and Seagate Barracuda NL will improve by nearly 100% with deep queues. High-end SCSI drives more commonly found in servers, generally show much greater improvement, with the Seagate Savvio exceeding 400 IOPS—more than doubling its performance. The specific number of IOPS possible in any system configuration will vary greatly, depending upon the variables the tester enters into the program, including the balance of read and write operations, the mix of sequential and random access patterns, the number of worker threads and queue depth, as well as the data block sizes. There are other factors which can also affect the IOPS results including the system setup, storage drivers, OS background operations etc. Also, when testing SSDs in particular, there are preconditioning considerations that must be taken into account

相关信息:

https://en.wikipedia.org/wiki/PCI_Express

https://en.wikipedia.org/wiki/NVM_Express

https://en.wikipedia.org/wiki/M.2

https://en.wikipedia.org/wiki/U.2

http://www.sohu.com/a/154327322_623886

https://en.wikipedia.org/wiki/Advanced_Host_Controller_Interface

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注