存儲極客”欄目再次與大家見面啦!在這里,只有一位大咖名叫“存儲”,它的粉絲我們稱為“存儲極客”!
存儲極客
這是一群存儲偏執(zhí)狂
為存儲而生,跟存儲死磕
各具獨家秘笈
有觀點,有碰撞,有干貨
從2015年8月18起
做客存儲極客欄目
與你分享存儲里的那點事兒
[[166381]]
SCSI、IDE、FC及SATA……,這些令人眼花繚亂的存儲協(xié)議和接口之間都有怎樣“剪不斷理還亂”的關(guān)系呢?今天,我們就聽瓜哥細細道來吧。
一.頂層協(xié)議描述了什么
在存儲系統(tǒng)中,上層協(xié)議可以泛指“指令”,也就是比如“讀出從某某開始的多少長度的扇區(qū)”,指令包含三大關(guān)鍵信息:
1. 操作碼:Operation Code,或者稱為OP code。比如Write,Read,Control(Inquery,Standby等等)。
2.起始地址:從哪開始讀。如果是文件的話,精確到字節(jié)。如果是硬盤的話,精確到LBA(扇區(qū))。
3.長度:從起始地址往后多長的一段字節(jié)或者扇區(qū)。
二.下層協(xié)議及接口又有什么用
那么,指令如何傳遞給對端的設(shè)備?你可以自己將上述指令的二進制碼再編碼一下,用手電筒的亮滅傳遞給對方,對方收到之后閃一下手電筒表示已經(jīng)收到。此時,手電筒編碼、收到后怎么表示收到,這也是一種協(xié)議,屬于傳輸層協(xié)議。而手電筒就是物理層的接口,最終通過物理層,也就是光在真空中傳播來將信息發(fā)送到對方。
同理,SCSI指令/協(xié)議和NVMe指令/協(xié)議,是存儲系統(tǒng)面向機械盤和固態(tài)介質(zhì)分別開發(fā)的兩種上層協(xié)議。它們可以被over到傳輸層協(xié)議+網(wǎng)絡(luò)層/鏈路層/物理層接口上傳輸?shù)綄Ψ?,比如SCSI over FC,SCSI over SAS、[(SCSI over TCP)over IP] over ethernet(iSCSI), SCSI over RDMA over IB(SRP), SCSI over TCP over IP over IB。以及NVMe over PCIE over 標(biāo)準(zhǔn)插槽、NVMe over PCIE over M.2接口、NVMe over PCIE over SFF8639接口等等。NVMe***是直接over到PCIE上,因為目前來講,PCIE的物理層+鏈路層+網(wǎng)絡(luò)層+傳輸層還是非常高效的,算是開放式IT設(shè)備外部IO總線里速率較高使用最廣泛的。當(dāng)然,如果為了擴展性考慮,也可以把NVMe over TCP/IP over 以太網(wǎng),或者NVMe over RDMA over 以太網(wǎng)/IB,或者NVMe Over FC等等。
底層接口,同樣是手電筒,有人用燈絲燈泡的,有人用led的,有人用袖珍的,有人用手提的,有人用頭戴的。這就是接口不同,但是它們傳遞的信息編碼、物理層,都是一樣的。比如,PCIE可以用標(biāo)準(zhǔn)插槽,也可以用自定義的插槽,但是里面的信號針腳數(shù)量都是一樣的。
三.各類存儲系統(tǒng)使用的協(xié)議及接口一覽
存儲系統(tǒng)中的硬件物理接口,包括:
1.SCSI協(xié)議及接口:最原始的上層協(xié)議及底層接口標(biāo)準(zhǔn)。有人可能蒙掉了,SCSI不是上層協(xié)議的名字么,為何底層物理接口也叫SCSI?因為SCSI這個標(biāo)準(zhǔn)最早的時候把上層協(xié)議一直到底層傳輸協(xié)議、網(wǎng)絡(luò)層、物理層全給定義了。下圖就是SCSI體系設(shè)備側(cè)的接口物理形態(tài)。目前已被淘汰。其定義了:表示層到物理層。

2.IDE協(xié)議及接口:承載ATA協(xié)議。面向消費級,與SCSI接口處于同一個時代。同屬并行總線接口,***接2個設(shè)備。物理層速率比同時代SCSI接口低。目前已被淘汰。其定義了:傳輸層到物理層。

3.FC協(xié)議及接口:用于存儲系統(tǒng)時則承載SCSI協(xié)議,理論上可以承載任何上層協(xié)議。分為FCAL和FC Fabric兩種網(wǎng)絡(luò)層拓撲。磁盤接入的是FCAL拓撲。物理層接口如下圖所示。為了滿足企業(yè)級對可用性的要求,F(xiàn)C盤被作為雙數(shù)據(jù)接口,接入兩個成環(huán)器再各自上聯(lián)到FC控制器上。圖中所示的接口中包含兩套數(shù)據(jù)針腳。其定義了:傳輸層到物理層。

4.SATA協(xié)議及接口,僅用于承載ATA協(xié)議。其用于取代IDE接口。屬于串行總線,每個通道只能接入一個設(shè)備,采用特殊的Mux可以復(fù)用多個設(shè)備。下圖中左側(cè)為數(shù)據(jù)口,右側(cè)為供電口。數(shù)據(jù)口有三根地線和兩對差分線。供電口有不同電流的多路冗余供電。其定義了:傳輸層到物理層。

5.SAS協(xié)議及接口:在存儲系統(tǒng)中用來取代FCAL接口。目前速率達到12Gb/s,支持交換式組網(wǎng),電路交換,不能成環(huán)。其定義了:傳輸層到物理層。SAS和SATA的連接器看上去差不多,仔細觀察會發(fā)現(xiàn)SATA連接器中間的缺口在SAS上是被補平的,其反面其實還有7根數(shù)據(jù)線,這就是企業(yè)級冗余所要求的雙端口,這第二個數(shù)據(jù)口接入到第二個SAS控制器或者Expander上。

6.PCIE協(xié)議及接口,承載PCIE傳輸協(xié)議。其可承載各種上層協(xié)議。用于存儲系統(tǒng)時,一般直接承載NVMe協(xié)議,也可以承載SCSI協(xié)議,但是后者沒有普及。其定義了:傳輸層到物理層。目前PCIE設(shè)備側(cè)連接器形態(tài)主要是標(biāo)準(zhǔn)插槽或者SFF8639(U.2)。
7.emmc協(xié)議及接口,沒有連接器,直接從flash顆粒管腳以貼片的方式與emmc控制器的管腳相連。承載emmc上層協(xié)議(與ATA/SCSI/NVMe處于同一個階層)。底層物理層采用并行總線。emmc與早期SCSI的做法類似,從頂層協(xié)議到底層物理層全都定義了一套自己的標(biāo)準(zhǔn)。其定義了:表示層到物理層。

8.ufs協(xié)議及接口,沒有連接器,直接從flash顆粒管腳以貼片的方式與ufs控制器的管腳相連。底層物理層采用串行總線。上層協(xié)議采用ufs協(xié)議(與ATA/SCSI/NVMe/emmc處于同一個階層)。ufs與早期SCSI的做法類似,從頂層協(xié)議到底層物理層全都定義了一套自己的標(biāo)準(zhǔn)。其定義了:表示層到物理層。

連接器
上述的SCSI、FC、SAS等各種協(xié)議都相應(yīng)定義了自己的物理層連接器形態(tài)。但這并不意味著某種連接器只能承載當(dāng)初定義它的那個協(xié)議。比如,SATA連接器可以承載以太網(wǎng)物理層信號,RJ45連接器可以承載串行通信協(xié)議物理層信號。SAS協(xié)議定義的HD miniSAS連接器可以承載PCIE物理層信號,等等。有個原則就是,為高速率傳輸協(xié)議定義的連接器,可以承載低速率傳輸協(xié)議,反之則不行。
1.上述各種協(xié)議原生定義的連接器,不再多描述。
2.SAS方面,由于引入了Expander,外置端口形態(tài)在早期比較多,但是到12Gb速率時代之后,逐漸統(tǒng)一成HD miniSAS類型的連接器,如下圖所示,分內(nèi)口和外置口兩個版本。miniSAS逐漸不再用。

3.U.2連接器(SFF-8639連接器),其中包含SAS、SATA和PCIE x4三套接口,充分利用空間,將三套金手指信號做到接口上,各干各的。意味著可以插入一塊SAS或SATA或PCIE盤。樣子乍一看和SAS差不多,但是別搞混了,還是有差別的。U.2實質(zhì)上是一種combo組合接口。其定義了:連接器。

4.M.2連接器廣泛用于平板電腦里的固態(tài)存儲介質(zhì)。其底層可承載PCIE傳輸協(xié)議,然后可以SCSI over PCIE,NVMe over PCIE。其也可以直接跑SATA信號。

下期預(yù)告
本篇先暫告一段落,大家可以繼續(xù)點擊我們今天推送的第二篇文章《瓜哥圖解SAS RAID》,我們將繼續(xù)討論:
4、各類存儲系統(tǒng)控制器/HBA一覽
5、帶RAID功能的HBA被稱為RAID卡
6、SAS/SATA硬盤、HBA、接入到服務(wù)器中的方式
敬請期待
相關(guān)文章導(dǎo)讀
↓↓↓
存儲極客 | 這些硬盤參數(shù)你都懂得嗎?
存儲極客 | 這些硬盤參數(shù)你都懂得嗎?(下篇)
存儲極客 | 普及閃存知識:搞懂那些晦澀難懂的名詞
