[轉自 https://baijiahao.baidu.com/s?id=1616207956596122967&wfr=spider&for=pc]
提綱
- 區別
- M2和SATA
- SATA和PCIE
- NVME和AHCI
- NVME介紹
- NVMe的由來
- NVME的優勢
區別
固態硬盤近年來也是隨着計算機的發展而得到了迅速的發展,目前已經隱隱有要取代機械硬盤的勢頭,只要成本價格控制下來,相信取代機械硬盤也只是時間問題
但是關於固態硬盤的概念實在是太繁瑣了,很多人選購固態時也是看到商家宣傳NVMe,PCIE固態卻不懂到底是什么意思,今天我們就來為大家詳解這些都是什么東西

M2 和 SATA
首先我們要把M2跟SATA放一起說,我們常說的M2其實是M.2,更多是指一種尺寸或者插槽,就是上圖中右邊的尺寸較小的直接插主板上的這種,而SATA也是,通常是指上圖左邊那個尺寸較大的一大塊那種
還要提的是M.2插槽也是有兩種的,一種是金手指有兩個缺口的Socket 2跟金手指只有一個缺口的Socket 3,這兩種可以走不同的通道,我們后面會說到

SATA和PCIE
接下來要搞懂的是SATA跟PCIE,這兩個東西是指串行接口或者就是數據走的通道,相信有人看到這個SATA就要迷糊了,其實上面的SATA更多是指插槽,而這里的SATA是指數據走的通道,目前的新設備普遍都是SATA3接口了,但是SATA3是向下兼容SATA2跟SATA1的(所以下文我們只討論SATA3)
PCI-E跟SATA3簡單說就是數據走的“路”,PCI-E就像是特別寬大的路,數據可以走的特別快,而SATA3與之相比更像是一條崎嶇的小路,數據走的特別慢,但是CPU內部就那么大一點,修不了特別多的大路,所以PCI-E通道也就僅有那么幾條。

通常SATA的插槽只能走SATA3的通道,
而M.2的插槽上文我們說了分為Socket 2跟Socket 3,
M.2(Socket 2)的固態可以走SATA3或者PCI-E 3.0×2通道(就是兩條PCI-E),而M.2(Socket 3)的固態則可以走PCI-E 3.0×4通道。
需要說的是每條PCI-E 3.0的帶寬是8Gbps,而SATA 3.0的帶寬則只有6Gbps。
NVME和AHCI

最后要說的就是經常被商家拿來當作賣點的NVMe了,其實NVMe跟AHCI都是一種規范,就像是在路上走如果沒有交通規則的限制,那么肯定是一團擁擠肯定都走不動了,而NVMe跟AHCI就像是這種交通規則

AHIC是針對SATA這種彎路的交通規則,然后開發者發現,這種針對彎路的規范,數據只能一個一個通過的規則用在寬敞的PCIE通道上面實在太浪費了,於是針對PCIE通道又開發出了NVME規范,可以讓很多數據同時通過
總結:M.2跟SATA其實可以說是插槽的形狀,而PCI-E跟SATA3就是數據從硬盤到CPU或者內存走的通道,而NVME跟AHCI就是針對PCI-E跟SATA通道的“交通規則”
NVME
【轉:http://www.expreview.com/42142.html】
有關注SSD的朋友應該今年聽到NVMe這個詞的頻率應該不低,隨着高端SSD的戰場已經拋棄SATA向PCI-E轉移,老舊的AHCI標准已經不合時宜, 未來是屬於NVMe的,那么NVMe到底是啥呢?
有玩過SSD的朋友應該都清楚想要讓SSD發揮出真正實力的話要去BIOS里面把SATA控制器模式切換成AHCI,對SATA設備來說使用AHCI模式的確是正確的選擇,切換成AHCI可獲得更好的性能。但是現在最新存儲接口M.2和SATA-E接口走的都是PCI-E通道,對與PCI-E來說AHCI可不是一個好的選擇,想發揮最佳性能其實需要新的標准——NVMe。
Intel 750就是NVMe SSD的代表作
如果說AHCI的話大家應該會了解多一點,NVMe其實與AHCI一樣都是邏輯設備接口標准(是接口標准,不是接口!不是接口!不是接口!因為很重要所以說三次),NVMe全稱Non-Volatile Memory Express,非易失性存儲器標准,是使用PCI-E通道的SSD一種規范,NVMe的設計之初就有充分利用到PCI-E SSD的低延時以及並行性,還有當代處理器、平台與應用的並行性。SSD的並行性可以充分被主機的硬件與軟件充分利用,相比與現在的AHCI標准,NVMe標准可以帶來多方面的性能提升。
NVMe的官方定義將其描述為“一個開放的標准和信息集合,以充分釋放非易失性存儲在從移動端到數據中心的所有類型的計算環境中能夠提供的優勢。NVMe從底層開始設計,為當前和未來的NVM技術提供高帶寬和低延遲存儲訪問。”NVMe是通過PCI Express總線將存儲連接到服務器的接口規范,簡單來說就是,使SSD與主機系統通信的速度更快。它有助於緩解閃存通過最初為HDD設計的SAS或SATA連接到系統時出現的瓶頸。
NVME介紹
1.NVMe的由來
現在所用的SATA接口與AHCI標准其實是為高延時的機械硬盤而設計的,目前主流SSD依然繼續使用它們,早期SSD性能不高時可能還不覺得有什么問題,但是隨着SSD的性能逐漸增強,這些標准已經成為限制SSD的一大瓶頸,專為機械硬盤而設計的AHCI標准並不太適合低延時的SSD。
當然,業界早就意識到這一問題,2009年下半年,關於NVMe的技術工作正式啟動,NVMe規范由包含90多家公司在內的工作小組所定制,Intel是主要領頭人,小組成員包括美光、戴爾、三星、Marvell、NetAPP、EMC、IDT等公司,目的就是為SSD建立新的存儲規范標准,讓它在老舊的SATA與AHCI中解放出來。
2011年,NVMe標准正式出爐,該標准是根據閃存存儲的特點量身定制的,新的標准解除了舊標准施放在SSD上的各種限制。2012年標准升級到NVMe 1.1,最新的NVMe 1.2標准是在2014所推出的。
首款支持NVMe標准的產品是三星XS1715,與2013年7月所發布,隨后陸續有企業級的NVMe標准SSD推出,直到今年Intel 750發布,NVMe標准的產品才開始進入消費級市場。
2、NVMe的速度遠遠快於SATA或SAS
NVMe控制器通過幾種不同的方式提高性能。一種是使用PCIe總線,它將存儲直接連接到系統CPU。這種直接連接消除了SATA的一些必要步驟,並提高了整體性能。
此外,NVMe SSD在很大程度上實現了並行性,極大地提高了吞吐量。當數據從存儲傳輸到服務器主機時,它會進入一行或隊列。傳統的SATA連接只能支持一個隊列,一次只能接收32條數據。再回到車的類比上,這就像只有一條車道的車流可以容納32輛車。
而NVMe存儲支持最多64000個隊列,每個隊列有64000個條目。換句話說,這就像從一條單行道走到一條6.4萬車道的路上,每條車道都能容納6.4萬輛汽車,這對整體表現產生了巨大的影響。
正如我們的類比中說城市道路一般限速在幾十公里每小時一樣,SATA和SAS連接也有速度限制。對於SATA,理論最大傳輸速度為6.0 Gbps(在實踐中,最大傳輸速度要低得多)。這就相當於給SATA SSD的運行速度設定了上限。超過一定限度,使用再快的閃存對系統的整體性能沒有影響,因為SATA連接會造成瓶頸。
對於大多數消費者來說,SATA SSD提供了足夠的性能來完成日常工作。而且由於SATA SSD比NVMe SSD便宜,大多數消費者級別的固態存儲仍然使用SATA接口。
然而,企業處理的數據通常比消費者多得多,對他們來說,SATA連接帶來的延遲可能會成為一個問題。
英特爾750系列是支持NVMe技術的固態硬盤產品之一
3、只有SSD運行在NVMe上
因為NVMe驅動器要比SATA快得多,所以將NVMe與HDD放在一起使用來提高性能似乎是個好主意。但是請記住,NVMe代表非易失性存儲接口規范,它是專門為NAND 閃存等非易失性存儲設計的(盡管它也可以用於較新的非易失性內存,比如3D XPoint)。
當系統從HDD讀取數據時,它一次只能讀取一塊數據。因為它必須進行旋轉以定位到第一個數據塊的正確物理位置,然后再次旋轉,移動到第二個數據塊的正確位置,以此類推。另一方面,閃存和其他非易失性存儲技術沒有移動部件。這意味着系統可以同時從許多不同的位置讀取數據。這就是為什么SSD可以利用NVMe提供的並行性,而HDD不能。
4、PCIe和NVMe有關系,但它們不是同一個東西
對於很多人來說,NVMe最令人困惑的部分是它與PCIe的關系。一些廠商使用NVMe作為標簽來指代他們的SSD,另外一些廠商則使用PCIe標簽,還有一些廠商似乎可以互換使用這些術語。
雖然PCIe和NVMe密切相關,但兩個術語指的是略有不同的技術。可以將PCIe看作是系統的物理部分。當您將一個NVMe SSD插入服務器時,您需要通過一個PCIe插槽連接它。
相比之下,NVMe是一種協議,是一組允許SSD使用PCIe總線的軟硬件標准。可以這么說,NVMe是允許存儲設備與服務器連接的語言,而PCIe是實際的物理連接。
5、NVMe-oF連接SSD到網絡
本文主要關注的是標准的NVMe,它將SSD直接連接到服務器,但是NVM Express組織也發布了NVMe over Fabric (NVMe- oF)的規范,它將用於塊存儲的非易失性存儲連接到網絡。根據該組織的說法,“NVMe- oF定義了一個通用架構,它支持一系列存儲網絡結構,用於存儲網絡結構之上的NVMe塊存儲協議。”這包括在存儲系統中啟用前端接口,擴展到大量NVMe設備,並在數據中心內延長NVMe設備和NVMe子系統可訪問的距離。
NVMe-oF規范與NVMe規范有大約90%的相同;然而,它確實使用了一種不同的傳輸映射機制。NVME-oF也有兩種不同的變體:一種用於RDMA,另一種用於光纖通道。
NVMe-oF規范也比NVMe規范新得多,盡管一些廠商已經宣布支持這項技術,但實際上很少有廠商銷售NVMe的產品。期待這種技術在未來幾年變得更加普遍。
NVME的優勢總結
1、NVMe的優勢一:低延時
說到NVMe標准對比AHCI標准的優勢,其中之一就是低延時,看上圖比較直觀,NVMe標准是面向PCI-E SSD的,使用原生PCI-E通道與CPU直連可以免去SATA與SAS接口的外置控制器(PCH)與CPU通信所帶來的延時。
在軟件層方面,NVMe標准的延時只有AHCI的一半不到,NVMe精簡了調用方式,執行命令時不需要讀取寄存器;而AHCI每條命令則需要讀取4次寄存器,一共會消耗8000次CPU循環,從而造成大概2.5微秒的延遲。
更低的延時可讓SSD的4KB QD1傳輸能力暴漲
2、NVMe的優勢二:IOPS大增
另外NVMe也大大的提升了SSD的IOPS性能,在制定AHCI規范時並行性的想法並沒有完全融合到規范內,利用NCQ功能可以對傳輸能力進行優化,但是接口並不允許SSD真正最大限度地發揮其應有的並行性。
現在SSD測試通常最多只會測試到隊列深度為32的IOPS能力,其實終究原因這是AHCI的上限,其實許多閃存主控可以提供更好的隊列深度。而NVMe則可以把最大隊列深度從32提升到64000,SSD的IOPS能力也會得到大幅提升。
NVMe還支持同一時間從多核處理器接受命令和優先處理請求,這個特性在企業級的重負載時優勢就會顯露出來。
低延時和良好的並行性的優勢就是可以讓SSD的隨機性能得到大幅度提升,我們測試過的Intel 750就是一塊NVMe SSD,它的隨機性能表現絕對是一流的,在任何隊列深度下都能發揮出極佳的速度。
3、NVMe的優勢三:功耗更低
NVMe加入了自動功耗狀態切換和動態能耗管理功能,設備從Power State 0閑置50ms后可以切換到Power State 1,繼續閑置的話,在500ms后又會進入功耗更低的Power State 2,切換時會有短暫延遲。SSD在閑置時可以非常快速的控制在極低的水平,在功耗管理上NVMe標准的SSD會比現在主流的AHCI SSD擁有較大優勢,這一點對移動設備來說尤其重要,可以顯著增加筆記本和平板電腦的續航能力。
4、NVMe的優勢四:驅動適用性廣
驅動程序的兼容性也是所有PCI-E SSD的一個共有問題,每個產品都有對應不同系統的專用驅動,這方面有些廠商做的非常出色,而另一些則 不怎么樣,然而許多PCI-E SSD需要加載驅動才能夠正常引導。
NVMe標准的出現解決了這個問題,NVMe SSD可以很方便的匹配不同的平台、系統,無需廠家提供相應的驅動就可以正常工作,目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了對NVMe SSD的支持。當然Intel的產品擁有自己的驅動程序,不安裝Intel驅動的話SSD能正常工作,但是性能不能完全發揮,之前測試Intel 750時就有這個問題,其他廠商的不知道怎么樣。