硬盘的接口、协议
硬盤這東西其實是很好玩的,里面有很多的故事可以說。當(dāng)然講的過于高深就不太好,所以這里盡量就用通俗的語言去講解。相信認(rèn)真看的你一定可以看懂的。
首先,既然將接口與總線,就要明白這三個概念:
傳輸總線,傳輸接口,傳輸協(xié)議
?
1?什么是傳輸總線?
所謂總線,其實他就是一條通道,就像公路一樣,只不過公路是走車的,而總線是用來走電信號的。那么公路的大小與車速,就決定了這條公路的車流量,同樣的,總線的位寬大小與傳輸頻率,也決定了在一次傳輸中能夠提供的最大速度。常見的傳輸總線很多。
?
1.1?PCIE
PCIE大家都想到了吧。你可能會說,PCIE不是給顯卡網(wǎng)卡用的嗎?硬盤怎么會用?其實,PCIE是一切的根源。你的所有外設(shè),比如顯卡,網(wǎng)卡,聲卡,USB,SATA,M2等等,其實都是由PCIE演化而來。可以說PCIE就是一切的根。PCIE如今已經(jīng)更新了三代,分別是1.0,2.0,3.0。其速度如下表
?
?
?
1.2?SATA
我想這個大家很熟悉了吧,很多人都在用的SATA1.0,SATA2.0,SATA3.0,以及沒什么人用的SATA Express,SATA各代速度如下圖
?
?
1.3?PATA(ATA)
大名鼎鼎的IDE硬盤,其速度和名字非常緊密,分別是ATA-66,ATA-100,ATA-133,分別代指著66MB/S,100MB/S,133MB/S的傳輸速度。
?
1.4?SCSI
服務(wù)器領(lǐng)域中使用的傳輸總線,SCSI莫過于像是PATA的服務(wù)器版,因為SCSI已經(jīng)很少人用了,就不多說了。
?
1.5?SAS
同樣的民用領(lǐng)域有PATA到SATA,服務(wù)器領(lǐng)域也有SCSI到SAS。SAS同樣也已經(jīng)更新了三代了,SAS1.0 達(dá)到了3Gbps,每一代翻2倍。而SAS控制器是可以兼容SATA設(shè)備的(但SATA控制器不能兼容SAS設(shè)備)。
?
1.6?FC
FC接口,全稱叫Fibre Channel。由于中文名會容易和光纖接口混淆就不說了。(Wiki成為網(wǎng)狀通道)FC是一種基于網(wǎng)絡(luò)傳輸協(xié)議下誕生的接口,這種接口可以說是稀缺的不行。FC起源于SCSI,但在速度上遠(yuǎn)超SCSI,最新的FC通道速度達(dá)到了16Gbps。
?
2?什么是傳輸接口?
我想這個大家肯定很容易懂了,接口就是你接入的那個插口。不過因為傳輸接口和傳輸總線很容易混在一起,所以要多加區(qū)分。如:
?
2.1?PATA接口(IDE接口)
你說IDE也對,說PATA也對,因為沒有規(guī)范,所以怎么說都對。
2.2?SATA接口
這個大家在熟悉不過了。需要注意的是,常說的eSATA,mSATA,miniSATA實際上都只是SATA接口的變種而已。
?
2.3?SATA Express接口
傳說中的沒人用接口,自推出以后,就沒有幾個人在適用。在intel 9系主板存活了一段時間后滅亡了,即使存在,我敢說絕大部分人都把它當(dāng)成兩個SATA用對不對(請真誠的回答我)。
?
2.4?M.2接口
由于NVMe協(xié)議爆發(fā)而突然走紅的接口,其特點適用于筆記本等輕薄設(shè)備。
?
2.5?U.2接口
多用于服務(wù)器的接口,也因為NVMe而走紅。與M.2的本質(zhì)區(qū)別不大。可以說它和M.2的關(guān)系就如SATA與mSATA的關(guān)系。
?
2.6?SCSI/SAS接口
這些都不用說了吧,服務(wù)器版的PATA/SATA。
?
SCSI接口
SAS接口
2.7?FC接口
為FC而生的接口,和SCSI很像。
?
3?什么是傳輸協(xié)議?
傳輸協(xié)議,也有時候回叫做傳輸規(guī)范,網(wǎng)上很多都會把它叫做傳輸標(biāo)準(zhǔn)。什么是傳輸協(xié)議?用一種簡單的理解方法,就是數(shù)據(jù)傳輸?shù)姆椒ā?/p>
?
每當(dāng)有數(shù)據(jù)到達(dá)控制器(比方說南橋吧),傳輸協(xié)議就規(guī)定著這個數(shù)據(jù)將會以怎么樣的方法傳輸?shù)接脖P上。比如,一次傳輸隊列中攜帶多少的數(shù)據(jù),一次傳輸?shù)臄?shù)據(jù)大小等等。傳輸協(xié)議限定著硬盤(準(zhǔn)確的就是硬盤控制器,常說的主控)與控制器(南橋等)如何傳輸,如何溝通,他就像交通規(guī)則一樣,規(guī)范著數(shù)據(jù)的傳輸規(guī)則。那么哪些是傳輸協(xié)議呢?這里列舉幾個非常常見的傳輸協(xié)議。
?
3.1?IDE
老牌的硬盤傳輸協(xié)議,很多人經(jīng)常會和PATA,ATA搞混淆,其實你搞混淆是非常可以理解的,因為連百度,Wiki都沒有能很好的定義他們之間的區(qū)別,而介于IDE早已被淘汰,我想后人也不關(guān)心他們的區(qū)分了。IDE作為非常老牌的傳輸協(xié)議,為計算機能夠更輕松的操作硬盤數(shù)據(jù)起到了非常重要的作用。但是隨著計算機對速度的需求,與其配備的傳輸總線(ATA-133)以及自身的功能都太少了。也漸漸被AHCI與SATA所淘汰。
?
Tips:實際上,PATA的出現(xiàn)是因為SATA的出現(xiàn),而為了防止ATA與SATA混淆,所以把ATA改名為PATA。
?
3.2?AHCI
IDE過低的速度,以及老舊的協(xié)議,催生了AHCI傳輸協(xié)議,AHCI相比于IDE,其每次傳輸傳輸一個隊列中,攜帶32條指令,同時優(yōu)化了硬盤隊列,通過NCQ技術(shù),使硬盤能夠快速順暢的讀取數(shù)據(jù)而減少磁頭移動帶來的時間浪費。而與AHCI相匹配的SATA接口,能夠提供比ATA總線更高的傳輸速度。但是,AHCI終究是為了機械硬盤而產(chǎn)生的產(chǎn)物,隨著SSD的普及,SSD的高響應(yīng)速度與讀寫能力在壓榨著傳輸總線與傳輸協(xié)議的最大速度。因此而誕生了為SSD而生的新協(xié)議。
?
3.3?NVMe
如上文所屬,為了能夠讓SSD更好的發(fā)揮速度與讀寫能力。NVMe隨之產(chǎn)生。相比于AHCI,NVMe單次提供64*1024個請求隊列,而每個隊列達(dá)到了64*1024個請求。遠(yuǎn)超AHCI單隊列32個請求的規(guī)模。NVMe可以說完全釋放了傳輸協(xié)議的限制,而為了能夠與傳輸協(xié)議的速度匹配,使用NVMe的設(shè)備都直接連接到了PCIE總線上。更直接的總線為NVMe設(shè)備提供絕對強大的傳輸速度。
?
?
4?他們?nèi)绾斡绊懼脖P的速度?
實際上,判斷一個硬盤的性能好壞,就是兩大基本因素。一個是持續(xù)讀寫,一個是4K讀寫。而由他們所誕生的下屬性能(比如SSD垃圾回收性能)就不一一說了。
持續(xù)讀寫毫無疑問,是壓榨傳輸總線速度的最好工具。而4K讀寫,則是壓榨傳輸協(xié)議的最好工具。道理我想大家都應(yīng)該明白。持續(xù)讀寫講究吞吐量。4K讀寫講究的是請求量。我用一個簡單的例子幫助大家理解。
?
還是以公路的例子。而我們把公路入口的收費站當(dāng)作請求。每輛車當(dāng)作一個數(shù)據(jù)。收費站就是一個協(xié)議,協(xié)議規(guī)定一次放多少車進(jìn)入。而公路就是總線,它原來設(shè)計能通過多少車流量。
?
當(dāng)測試持續(xù)讀寫的時候,就是測試這個公路最大的車流量。正常來說,收費站都是一車一桿的。但我不,我一桿走32輛車,那么在一桿這個時間段(每一桿的時間長度是一樣的),流過的車就會非常多。就相當(dāng)于一個請求里請求了非常大的數(shù)據(jù)。那么盡可能讓大量的車進(jìn)入了公路,其走過的車流量,就是我們要測試的吞吐量,也就是持續(xù)讀寫。
?
而當(dāng)測試4K讀寫時,我們回到原來的一桿一車的狀態(tài)。那么一桿車過的快慢,就決定了車流量的大小。而由此得到了4K讀寫的速度。
由此我們得到的結(jié)論就是傳輸協(xié)議,限制著硬盤的4K讀寫能力,而傳輸總線限制著硬盤的持續(xù)讀寫能力。(當(dāng)然啦,這是假設(shè)硬盤主控讀寫能力非常強的情況下)。
?
這也就是為什么,SATA SSD的4K能力,總是突破不了10KIOPS,原因就在于AHCI傳輸協(xié)議已經(jīng)達(dá)到極限了。而SATA SSD的持續(xù)讀寫能力也超過不了550MB/S,原因就是SATA3.0總線只能提供最大6Gbps的速度(在干擾與糾錯等各種情況綜合下,最終只達(dá)到了550MB/S)
?
幾年前的高端M6S早已開始壓榨AHCI與SATA3.0的極限
?
5?那么誰最強?
這個毫無疑問,使用NVMe協(xié)議,并通過PCIE總線的設(shè)備無疑是最強的。
?
跑分狂魔960PRO輕松跑出40萬IOPS,但里離壓榨PCIE與NVMe還遠(yuǎn)著
接口只是一種展現(xiàn)形式而已。它并不會對你的速度造成絕對的影響。所以,而協(xié)議也往往與總線所掛鉤,但與接口的關(guān)系掛鉤,往往相對而言比較的松一點。
?
比如:
基于SATA3.0總線,我們只能使用AHCI協(xié)議,但我們可以使用M.2接口,我們也可以使用SATA接口。得到的速度依舊是最高6Gbps(實際約550MB/s)。
而基于PCIE總線,我們只能使用NVME協(xié)議,但我們可以使用M.2接口,也可以使用U.2接口,根據(jù)PCIE總線的寬帶,我們能獲得4GB/s的速度(基于PCIE3.0 X4)。
評判一個硬盤的性能,除了硬盤自身的性能以外,必不可少的當(dāng)然是這些總線與協(xié)議的配合。可以說這兩個因素就是在不斷的推動對方。
?
而我們所處的時代,因為SSD的出現(xiàn),壓榨了AHCI的請求能力與SATA的速度極限,才因此誕生了NVMe。現(xiàn)在時代又回到了是硬盤自身性能不足以跑滿總線的時代了。誰能知道什么時候是下一個跳躍點呢?
總結(jié)
- 上一篇: 江湖再无百度外卖?(忆小度的坎坷出售之路
- 下一篇: 关于IPV6DNS,基本上IPV6是相当