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

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

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

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

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

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

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

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

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

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

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