IT圈糾錯:被錯誤傳播的NVMe知識

近日在京東上看到一些令人啼笑皆非的固態硬盤商品介紹,既是對知識的不尊重,也是對誠信宣傳的負面典型。

混亂的接口與協議

對於接口和協議,相對準確的描述是:接口(Interface)是組件之間的交互界面(既可以是硬件也可以指軟件的交互)。組件可以獨立運作,並遵照協議(Protocol)與其他組件進行通信。協議可以控制接口連接、通信和數據傳輸的約定或標準。

譬如網卡是網絡接口(硬件),可以遵照TCP/IP(協議)進行通信,局域網內也可以使用IPX/SPX協議進行通信。M.2作為一種接口,可以使用SATA通道或PCIe通道來連接固態硬盤。其上可以遵循AHCI或NVMe協議。

但是,NVMe規範文件中也有這樣的描述:NVM Express (NVMe) is an interface that allows host software to communicate with a non-volatile memory subsystem. NVMe是一個允許主機軟件和非易失性存儲子系統通信的接口。也就是說,NVMe標準化組織將NVMe定義為一種"接口"。

源頭上出現的混淆延續到終端產品的表述上就變得五花八門了。英特爾、金士頓、希捷等將PCIe和NVMe放在一起統稱為

接口;浦科特將PCIe寫作傳輸通道,NVMe則是傳輸接口標準;閃迪則把NVMe寫作一種協議

在這樣的混亂環境下我們無法判定誰對誰錯。但有一些基本的認識是可以肯定的:PCIe提供了傳輸通道和接口,它的規格決定了傳輸帶寬(順序讀寫速度);NVMe實現了低延遲。下圖中的表述就是明顯存在錯誤的:

IT圈糾錯:被錯誤傳播的NVMe知識

一秒區分NVMe與SATA?翻車也只需一秒

IT圈糾錯:被錯誤傳播的NVMe知識

透過M.2接口,既可以將固態硬盤連接到SATA控制器,也可以連接到PCIe總線(硬盤自帶控制器)。前者就是大家常說的M.2 SATA固態硬盤,後者則主要是當前正在快速普及的NVMe固態硬盤。

IT圈糾錯:被錯誤傳播的NVMe知識

M.2接口定義有多種"缺口"(Key鍵位)來區分不同類型的設備,早在數年前。出現在M.2固態硬盤上的鍵位主要有B Key和M Key。

IT圈糾錯:被錯誤傳播的NVMe知識

對於M.2固態硬盤而言,只具備一個缺口(B Key)時可以使用PCIe x4通道(理論最高帶寬4GB/s),基本上都屬於NVMe固態硬盤。同時具備兩個缺口(B+M Key)時可以使用PCIe x2通道(理論最高帶寬2GB/s),或者也可以使用SATA通道(理論最高帶寬600MB/s),並不是如某廠商宣傳的那樣"M.2固態硬盤只要有兩個缺口就肯定是SATA固態硬盤"。

同時具備B+M Key,使用PCIe x2通道的NVMe固態硬盤雖然相對較少,但隨手就能舉出若干例子:、、。京東本有審核,卻讓這種明顯的錯誤出現,值得深思。

此外,在使用SM2263XT主控(無緩存設計)的某商品介紹中,赫然出現了"大緩存設計"的描述:不知是無心之失還是有意誤導。

IT圈糾錯:被錯誤傳播的NVMe知識

IT圈糾錯:被錯誤傳播的NVMe知識

下圖是SATA Express接口連接不同類型固態硬盤的原理圖,其中的SATA Express可以簡單替換成M.2來看。比較令人遺憾的是,單從M.2接口的外觀是很難判斷它究竟能支持何種類型的固態硬盤的,最終的判斷依然要靠"插上試試看"。

IT圈糾錯:被錯誤傳播的NVMe知識


分享到:


相關文章: