PCI-E NVMe 頻寬

什麼是 PCI-E , NVMe
傳統機械讀寫磁頭式的硬碟速度不快,大約 70-80MBs (7200rpm) 左右,使用 SATA 介面就已經足夠.
SATA – (20% overhead – 每八個位元的資料串上用十位元來加以編碼)

  • Generation 1 (1.5 Gbit/s ,20% overhead) = 1.2 Gbit/s = 150 MByte/s
  • Generation 2 (3 Gbit/s ,20% overhead) = 2.4 Gbit/s = 300 MByte/s
  • Generation 3 (6 Gbit/s ,20% overhead) = 4.8 Gbit/s = 600 MByte/s

但 SSD 的單顆硬碟速度可以快達 500MBs 以上了,所以傳統的 SATA 介面的速度頻寬可能無法趕的上,所以 SATA-IO 制訂了 SATA Express™ 的介面(從SATA 3.2/SATA Express起,SATA將改為透過 PCI-E 3.0 的方式),主要是借由 PCI-E 的高速頻寬.
SATA_Express01

圖片出自於 : https://www.sata-io.org/ sites/default/files/images/ NVMe_and_AHCI_as_SATA_Express_Interface_Options_Overview_final.pdf

左邊是傳統的 Legacy SATA,右邊是新的 SATA Express 不過最底層的有分為 AHCI(Advanced Host Controller Interface) Controller,以及 Intel 主導的 NVME(Non-Volatile Memory express) Controller.

詳細關於 SATA Express , NVMe 可以參考 http://benjr.tw/73607 , http://benjr.tw/55245

傳統的 SATA / SAS Link Speed 可以透過 #smartctl -l sasphy 就可以檢視 SAS 硬碟 Link Speed (SATA 指令為 sataphy)

[root@localhost ~]# smartctl -l sasphy /dev/sdb
[root@localhost ~]# smartctl -l sataphy /dev/sdb

其他方式請參考 http://benjr.tw/80914

那要如何檢視 NVME (透過 PCI-E) 的 SSD 硬碟速度呢!

測試環境為 CentOS7 x86_64

既然是 PCI-E 裝置,可以透過 #lspci 來檢視 PCI-E 裝置速度,關於 #lspci 的使用請參考 http://benjr.tw/10842 .

PCI-SIG 的 PCI Express 3.0 匯流排的速度規格,新版每條 Lane 的單向頻寬增到 8Gbps,但因為編碼方式改變了,相較於 2.0 之前採用 8b/10b (每10個bit只有8個是有效資料)而 3.0 編碼方式為 128/130,所以資料傳輸頻寬以及原始傳輸率基本當都可以算成 8Gbps.

  • x1 8Gbps (1GB/sec)
  • x4 32Gbps (4 GB/sec)
  • x8 64Gbps (8 GB/sec)
  • x16 128Gbps (16 GB/sec)
[root@localhost ~]# lspci -n -d 1077:2432 -vvv |grep -i width
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s, Latency L0 <1us, L1 unlimited
LnkSta: Speed 8GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s, Latency L0 <1us, L1 unlimited
LnkSta: Speed 8GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
  • LnkCap :
    CPU 所提供的最高頻寬 PCI-Express 3.0 ( 8G ) Width x4=32Gbps (4 GB/sec) .
  • LnkSta :
    目前該 PCI-E 裝置的速度 PCI-Express 3.0 ( 8G ) Width x4=32Gbps (4 GB/sec) ,主要就是看這個來決定 PCI-E NVMe 硬碟介面的速度.

LnkSta 和 LnkCap 的 Speed 與 Width 有可能會不一樣.

雖然頻寬這麼大,但不代表你的硬碟效能會這麼好,可以利用 Fio 來進行測試 http://benjr.tw/269

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料