硬盤這東西其實是很好玩的,裡面有很多的故事可以說。當然講的過于高深就不太好,所以這裡盡量就用通俗的語言去講解。相信認真看的你一定可以看懂的。
首先,既然将接口與總線,就要明白這三個概念:
傳輸總線,傳輸接口,傳輸協議
1什麼是傳輸總線?
所謂總線,其實他就是一條通道,就像公路一樣,隻不過公路是走車的,而總線是用來走電信号的。那麼公路的大小與車速,就決定了這條公路的車流量,同樣的,總線的位寬大小與傳輸頻率,也決定了在一次傳輸中能夠提供的最大速度。常見的傳輸總線很多。
1.1PCIE
PCIE大家都想到了吧。你可能會說,PCIE不是給顯卡網卡用的嗎?硬盤怎麼會用?其實,PCIE是一切的根源。你的所有外設,比如顯卡,網卡,聲卡,USB,SATA,M2等等,其實都是由PCIE演化而來。可以說PCIE就是他們的根。PCIE如今已經更新了三代,分别是1.0,2.0,3.0。其速度如下表
1.2SATA
我想這個大家很熟悉了吧,很多人都在用的SATA1.0,SATA2.0,SATA3.0,以及沒什麼人用的SATA Express,SATA各代速度如下圖
1.3PATA(ATA)
大名鼎鼎的IDE硬盤,其速度和名字非常緊密,分别是ATA-66,ATA-100,ATA-133,分别代指着66MB/S,100MB/S,133MB/S的傳輸速度。
1.4SCSI
服務器領域中使用的傳輸總線,SCSI莫過于像是PATA的服務器版,因為SCSI已經很少人用了,就不多說了。
1.5SAS
同樣的民用領域有PATA到SATA,服務器領域也有SCSI到SAS。SAS同樣也已經更新了三代了,SAS1.0 達到了3Gbps,每一代翻2倍。而SAS控制器是可以兼容SATA設備的(但SATA控制器不能兼容SAS設備)。
1.6FC
FC接口,全稱叫Fibre Channel。由于中文名會容易和光纖接口混淆就不說了。(Wiki稱為網狀通道)FC是一種基于網絡傳輸協議下誕生的接口,這種接口可以說是稀缺的不行。FC起源于SCSI,但在速度上遠超SCSI,最新的FC通道速度達到了16Gbps。
2什麼是傳輸接口?
我想這個大家肯定很容易懂了,接口就是你接入的那個插口。不過因為傳輸接口和傳輸總線很容易混在一起,所以要多加區分。如:
2.1PATA接口(IDE接口)
你說IDE也對,說PATA也對,因為沒有規範,所以怎麼說都對。
2.2SATA接口
這個大家在熟悉不過了。需要注意的是,常說的eSATA,mSATA,miniSATA實際上都隻是SATA接口的變種而已。
2.3SATA Express接口
傳說中的沒人用接口,自推出以後,就沒有幾個人在使用。在intel 9系主闆存活了一段時間後滅亡了,即使存在,我敢說絕大部分人都把它當成兩個SATA用對不對(請真誠的回答我)。
2.4M.2接口
由于NVMe協議爆發而突然走紅的接口,其特點适用于筆記本等輕薄設備。
2.5U.2接口
多用于服務器的接口,也因為NVMe而走紅。與M.2的本質區别不大。可以說它和M.2的關系就有點像SATA與mSATA的關系。
2.6SCSI/SAS接口
這些都不用說了吧,服務器版的PATA/SATA。
SCSI接口
SAS接口
2.7FC接口
為FC而生的接口,和SCSI很像。
3什麼是傳輸協議?
傳輸協議,也有時候會叫做傳輸規範,網上很多都會把它叫做傳輸标準。什麼是傳輸協議?用一種簡單的理解方法,就是數據傳輸的方法。
每當有數據到達控制器(比方說南橋吧),傳輸協議就規定着這個數據将會以怎麼樣的方法傳輸到硬盤上。比如,一次傳輸隊列中攜帶多少的數據,一次傳輸的數據大小等等。傳輸協議限定着硬盤(準确的就是硬盤控制器,常說的主控)與控制器(南橋等)如何傳輸,如何溝通,他就像交通規則一樣,規範着數據的傳輸規則。那麼哪些是傳輸協議呢?這裡列舉幾個非常常見的傳輸協議。
3.1IDE
老牌的硬盤傳輸協議,很多人經常會和PATA,ATA搞混淆,其實你搞混淆是非常可以理解的,因為連百度,Wiki都沒有能很好的定義他們之間的區别,而介于IDE早已被淘汰,我想後人也不關心他們的區分了。IDE作為非常老牌的傳輸協議,為計算機能夠更輕松的操作硬盤數據起到了非常重要的作用。但是随着計算機對速度的需求,與其配備的傳輸總線(ATA-133)以及自身的功能都太少了。也漸漸被AHCI與SATA所淘汰。
Tips:實際上,PATA的出現是因為SATA的出現,而為了防止ATA與SATA混淆,所以把ATA改名為PATA。
3.2AHCI
IDE過低的速度,以及老舊的協議,催生了AHCI傳輸協議,AHCI相比于IDE,其每次傳輸傳輸一個隊列中,攜帶32條指令,同時優化了硬盤隊列,通過NCQ技術,使硬盤能夠快速順暢的讀取數據而減少磁頭移動帶來的時間浪費。而與AHCI相匹配的SATA接口,能夠提供比ATA總線更高的傳輸速度。但是,AHCI終究是為了機械硬盤而産生的産物,随着SSD的普及,SSD的高響應速度與讀寫能力在壓榨着傳輸總線與傳輸協議的最大速度。因此而誕生了為SSD而生的新協議。
3.3NVMe
如上文所屬,為了能夠讓SSD更好的發揮速度與讀寫能力。NVMe随之産生。相比于AHCI,NVMe單次提供64*1024個請求隊列,而每個隊列達到了64*1024個請求。遠超AHCI單隊列32個請求的規模。NVMe可以說完全釋放了傳輸協議的限制,而為了能夠與傳輸協議的速度匹配,使用NVMe的設備都直接連接到了PCIE總線上。更直接的總線為NVMe設備提供絕對強大的傳輸速度。
4他們如何影響着硬盤的速度?
實際上,判斷一個硬盤的性能好壞,就是兩大基本因素。一個是持續讀寫,一個是4K讀寫。而由他們所誕生的下屬性能(比如SSD垃圾回收性能)就不一一說了。
持續讀寫毫無疑問,是壓榨傳輸總線速度的最好工具。而4K讀寫,則是壓榨傳輸協議的最好工具。道理我想大家都應該明白。持續讀寫講究吞吐量。4K讀寫講究的是請求量。我用一個簡單的例子幫助大家理解。
還是以公路的例子。而我們把公路入口的收費站當作請求。每輛車當作一個數據(比方說這個數據大小是4K)。收費站就是一個協議,協議規定一次放多少車進入。而公路就是總線,它的設計決定通過的車流量。
當測試持續讀寫的時候,就是測試這個公路最大的車流量。正常來說,收費站都是一車一杆的。但我不,我一杆走32輛車,那麼在一杆這個時間段(每一杆的時間長度是一樣的),流過的車就會非常多。就相當于一個請求裡請求了非常大的數據。那麼盡可能讓大量的車進入了公路,其走過的車流量,就是我們要測試的吞吐量,也就是持續讀寫。
而當測試4K讀寫時,我們回到原來的一杆一車的狀态。那麼一杆車過的快慢,就決定了車流量的大小。而由此得到了4K讀寫的速度。
由此我們得到的結論就是傳輸協議,限制着硬盤的4K讀寫能力,而傳輸總線限制着硬盤的持續讀寫能力。(當然啦,這是假設硬盤主控讀寫能力非常強的情況下)。
這也就是為什麼,SATA SSD的4K能力,總是突破不了10KIOPS,原因就在于AHCI傳輸協議已經達到極限了。而SATA SSD的持續讀寫能力也超過不了550MB/S,原因就是SATA3.0總線隻能提供最大6Gbps的速度(在幹擾與糾錯等各種情況綜合下,最終隻達到了550MB/S)
幾年前的高端M6S早已開始壓榨AHCI與SATA3.0的極限
5那麼誰最強?
這個毫無疑問,使用NVMe協議,并通過PCIE總線的設備無疑是最強的。
跑分狂魔960PRO輕松跑出40萬IOPS,但是離壓榨PCIE與NVMe還遠着
接口隻是一種展現形式而已。它并不會對你的速度造成絕對的影響。所以,而協議也往往與總線所挂鈎,但與接口的關系挂鈎,往往相對而言比較的松一點。
比如:
基于SATA3.0總線,我們隻能使用AHCI協議,但我們可以使用M.2接口,我們也可以使用SATA接口。得到的速度依舊是最高6Gbps(實際約550MB/s)。
而基于PCIE總線,我們隻能使用NVME協議,但我們可以使用M.2接口,也可以使用U.2接口,根據PCIE總線的寬帶,我們能獲得單向4GB/s的速度(基于PCIE3.0 X4)。
評判一個硬盤的性能,除了硬盤自身的性能以外,必不可少的當然是這些總線與協議的配合。可以說這兩個因素就是在不斷的推動對方。
而我們所處的時代,因為SSD的出現,壓榨了AHCI的請求能力與SATA的速度極限,才因此誕生了NVMe。現在時代又回到了是硬盤自身性能不足以跑滿總線的時代了。誰能知道什麼時候是下一個跳躍點呢?
如果喜歡就收藏一波,然後點個贊,順便也關注一下憋
如果你有什麼姐姐……噗有什麼其他想法也可以在下面分享
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!