固態硬盤的PCIE,SATA,M2,NVMe,AHCI

[轉自 https://baijiahao.baidu.com/s?id=1616207956596122967&wfr=spider&for=pc]html

提綱前端

  • 區別
    • 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,這兩種能夠走不一樣的通道,咱們後面會說到ide

 

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,spa

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標準的產品纔開始進入消費級市場。

二、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技術的固態硬盤產品之一

  三、只有SSD運行在NVMe上

  由於NVMe驅動器要比SATA快得多,因此將NVMe與HDD放在一塊兒使用來提升性能彷佛是個好主意。可是請記住,NVMe表明非易失性存儲接口規範,它是專門爲NAND 閃存等非易失性存儲設計的(儘管它也能夠用於較新的非易失性內存,好比3D XPoint)。

  當系統從HDD讀取數據時,它一次只能讀取一塊數據。由於它必須進行旋轉以定位到第一個數據塊的正確物理位置,而後再次旋轉,移動到第二個數據塊的正確位置,以此類推。另外一方面,閃存和其餘非易失性存儲技術沒有移動部件。這意味着系統能夠同時從許多不一樣的位置讀取數據。這就是爲何SSD能夠利用NVMe提供的並行性,而HDD不能。

  四、PCIe和NVMe有關係,但它們不是同一個東西

  對於不少人來講,NVMe最使人困惑的部分是它與PCIe的關係。一些廠商使用NVMe做爲標籤來指代他們的SSD,另一些廠商則使用PCIe標籤,還有一些廠商彷佛能夠互換使用這些術語。

  雖然PCIe和NVMe密切相關,但兩個術語指的是略有不一樣的技術。能夠將PCIe看做是系統的物理部分。當您將一個NVMe SSD插入服務器時,您須要經過一個PCIe插槽鏈接它。

  相比之下,NVMe是一種協議,是一組容許SSD使用PCIe總線的軟硬件標準。能夠這麼說,NVMe是容許存儲設備與服務器鏈接的語言,而PCIe是實際的物理鏈接。

  五、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的優點總結

一、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傳輸能力暴漲

二、NVMe的優點二:IOPS大增

另外NVMe也大大的提高了SSD的IOPS性能,在制定AHCI規範時並行性的想法並無徹底融合到規範內,利用NCQ功能能夠對傳輸能力進行優化,可是接口並不容許SSD真正最大限度地發揮其應有的並行性。

如今SSD測試一般最多隻會測試到隊列深度爲32的IOPS能力,其實終究緣由這是AHCI的上限,其實許多閃存主控能夠提供更好的隊列深度。而NVMe則能夠把最大隊列深度從32提高到64000,SSD的IOPS能力也會獲得大幅提高。

NVMe還支持同一時間從多核處理器接受命令和優先處理請求,這個特性在企業級的重負載時優點就會顯露出來。

低延時和良好的並行性的優點就是可讓SSD的隨機性能獲得大幅度提高,咱們測試過的Intel 750就是一塊NVMe SSD,它的隨機性能表現絕對是一流的,在任何隊列深度下都能發揮出極佳的速度。

三、NVMe的優點三:功耗更低

NVMe加入了自動功耗狀態切換和動態能耗管理功能,設備從Power State 0閒置50ms後能夠切換到Power State 1,繼續閒置的話,在500ms後又會進入功耗更低的Power State 2,切換時會有短暫延遲。SSD在閒置時能夠很是快速的控制在極低的水平,在功耗管理上NVMe標準的SSD會比如今主流的AHCI SSD擁有較大優點,這一點對移動設備來講尤爲重要,能夠顯著增長筆記本和平板電腦的續航能力。

四、NVMe的優點四:驅動適用性廣

驅動程序的兼容性也是全部PCI-E SSD的一個共有問題,每一個產品都有對應不一樣系統的專用驅動,這方面有些廠商作的很是出色,而另外一些則 不怎麼樣,然而許多PCI-E SSD須要加載驅動纔可以正常引導。

NVMe標準的出現解決了這個問題,NVMe SSD能夠很方便的匹配不一樣的平臺、系統,無需廠家提供相應的驅動就能夠正常工做,目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了對NVMe SSD的支持。固然Intel的產品擁有本身的驅動程序,不安裝Intel驅動的話SSD能正常工做,可是性能不能徹底發揮,以前測試Intel 750時就有這個問題,其餘廠商的不知道怎麼樣。

相關文章
相關標籤/搜索