
存儲(chǔ)協(xié)議詳解:總線通道、磁盤接?協(xié)議、物理接?
?、總線通道組:
1、PCI,SATA表?總線通道傳輸?式,另外還有PATA,即并?傳輸?式;
2、PCI和PCI-E都為北橋區(qū),區(qū)別在于前者并??,后者為串??,多通道增強(qiáng)了數(shù)據(jù)穩(wěn)定性和傳輸頻率提升(并?的多路復(fù)?因?擾性對(duì)頻率有限制);另外還有PCI-X,不過使?并不?泛;
3、PCI-E?分×1、×
4、×8、×16和Gen1、Gen2、Gen3,其中×1、×4、×8、×16表?通道數(shù),?Gen1、Gen2、Gen3表?版本號(hào),即1.0/2.0/3.0,同樣越?性能越好
4、SATA為南橋區(qū)的?速公路,總線通道傳輸?式為SATA時(shí),?有sata1~3三個(gè)版本,數(shù)字越?,版本越?,性能也越好
5、同2理,PATA并?性能不如SATA串?
?、接?協(xié)議組:
1、IDE,AHCI以及最新的NVME 為設(shè)備接?的協(xié)議類型,類似顯卡驅(qū)動(dòng),只有驅(qū)動(dòng)專門適配了,設(shè)備才能達(dá)到最佳性能;
2、常說的IDE接?其實(shí)應(yīng)說為PATA。
3、NVMe 只適?于 SSD(SSD和主板也要?持 NVMe 才?)。AHCI 、IDE則適?于機(jī)械硬盤和SSD。
三、物理接?組:
1、這?只針對(duì)給硬盤?的物理接?,從低級(jí)到?級(jí):IDE物理接?,SATA物理接?,M.2物理接?,接?長(zhǎng)相不?樣。
2、不要混淆了物理接?和協(xié)議接?:IDE物理接?可以使?IDE協(xié)議;SATA物理接?可以使?IDE和AHCI協(xié)議;M.2物理接?可以使?AHCI和NVME協(xié)議
3、協(xié)議接?NVME對(duì)應(yīng)的為M.2物理接?,?的是PCIE總線通道,也最NB;也有AHCI協(xié)議對(duì)應(yīng)的物理接?為M.2物理接?,?PCIE通道;同樣有AHCI協(xié)議對(duì)應(yīng)的物理接?為M.2,?SATA通道,越后?性能越低。當(dāng)然我也可以使?IDE協(xié)議,控制插在SATA物理接?的固態(tài)硬盤?SATA通道。
ATA: AT attachment 是IDE(Integrated Drive Electronics)硬盤的接?標(biāo)準(zhǔn)。包括PIO(Programming I/O)和DMA(Direct Memory Access) 兩種傳輸模式。ATA本?可以?持串?或并?。
PATA: Paralle ATA。并?協(xié)議,基于ATA。
SATA: Serial ATA。 串?協(xié)議,基于ATA。
SCSI: Small Computer System Interface。 是?種專門為?型計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的存儲(chǔ)單元接?模式,主要?于中,?端服務(wù)器和?檔?作站。跟ATA/IDE不兼容,相對(duì)于ATA硬盤的接??持?jǐn)?shù)量更多。
SAS: Serial Attached SCSI。串?協(xié)議,基于SCSI,?可以向下兼容SATA。SAS drive多?于企業(yè)級(jí)硬盤,SATA drive多?于消費(fèi)級(jí)硬盤。
SAS 協(xié)議可分為3塊:
SSP是串?SCSI協(xié)議,?于傳輸SCSI協(xié)議。
SMP是SCSI管理協(xié)議,?于對(duì)連接設(shè)備的維護(hù)和管理。
STP是SATA tunnel協(xié)議,?于SAS和SATA之間數(shù)據(jù)的傳輸。即把SATA Frame當(dāng)做SAS協(xié)議的數(shù)據(jù)來傳輸,跟隧道?樣。
另外還有mSATA(?于消費(fèi)級(jí)筆記本領(lǐng)域),但已被M.2淘汰。M.2原名是(NGFF, Next Generation Form Factor),是為Ultrabook定制的接?標(biāo)準(zhǔn)。M.2本?只規(guī)范了?種引腳接線形式,它上??什么協(xié)議和總線要看具體產(chǎn)品。
PCI: Peripheral Component Interconnect。是在CPU和原來系統(tǒng)總線內(nèi)部插?的?級(jí)總線。主要?于電腦內(nèi)部主板的擴(kuò)展插槽,連接顯卡,聲卡,?卡和Modem等設(shè)備。PCI總線只有133MB/s 的帶寬。注意它不是硬盤接?。
PCI采?的是總線型拓?fù)浣Y(jié)構(gòu),?條PCI總線上掛著若?PCI終端設(shè)備或橋設(shè)備(?如說北橋南橋)。這些設(shè)備共享該P(yáng)CI總線,如果那個(gè)設(shè)備想說話必須獲得總線使?權(quán)。
PCIe: PCI Express。向下兼容PCI,串?協(xié)議(PICe?PCI快就是因?yàn)樗谴?)。PCIe 2.0為例,每秒5GT(Gigatransfer)原始數(shù)據(jù)傳輸率,編碼?式為8b/10b(每10個(gè)位元只有8個(gè)有效數(shù)據(jù)),即有效頻寬為4Gb/s = 500MByte/s。PCIe可以?于SSD的接?,但不?于機(jī)械硬盤的接?,因?yàn)闄C(jī)械硬盤的讀寫速度達(dá)不到這么?,沒有必要?PCIe。
PCIe采?樹形拓?fù)浣Y(jié)構(gòu)。Root Complex(RC)是樹的根,相當(dāng)與CPU的agent。CPU必須通過RC來訪問內(nèi)存和其他PCIe設(shè)備(如PCIe SSD, PCIe?卡)。PCIe設(shè)備可以直接連到RC上,也可以通過switch來連到RC上。Switch上也可以連switch。PCIe bridge可以將PCIe總線換成PCI總線(或反過來),實(shí)現(xiàn)PC
Ie和PCI設(shè)備的互聯(lián)。
PCIe采?點(diǎn)到點(diǎn)(endpoint to endpoint)的通信?式,每個(gè)設(shè)備獨(dú)享通道帶寬,速度和效率都?PCI好。理論上任何兩個(gè)PCIe
endpoint(PCIe設(shè)備)都可以互相通信,但實(shí)際上endpoint?般要通過RC與另?個(gè)endpoint通信,因?yàn)閮蓚€(gè)設(shè)備的數(shù)據(jù)格式可能不?樣。
PCI Express 1X和PCI Express 32X 意思就是1個(gè)通道到32個(gè)通道。
注意:PCIe也是Dual-Simplex模式,可以理解為全雙?模式。
PCIe定義了下三層:
事務(wù)層(Transaction Layer): 發(fā)送或接收TLP(Transaction Layer Packet), 流量控制, QoS, 事務(wù)排序等。
數(shù)據(jù)鏈路層(Data Link Layer): 發(fā)送或接收DLLP(Data Link Layer Packet), Ack/Nak協(xié)議,流量控制,電源管理等。
物理層(Physical Layer,包括邏輯?模塊和電??模塊):處理所有的packet的物理傳輸。
注意:
SATA的主機(jī)接?協(xié)議是AHCI(Advanced Host Controller Interface),SAS的interface是
SAS沒有等同與SATA的AHCI的通?主機(jī)接?協(xié)議。
PCIe的主機(jī)接?協(xié)議是NVMe(Non-Volatile Memory Express),專門為SSD服務(wù)。
U.2 Form Factor (SFF-8639)最開始是PCIe SSD 2.5?盤的接?標(biāo)準(zhǔn),后來統(tǒng)?了SATA, SAS和PCIe 三種物理接?,是?種新型連接器Form Factor。
FC: Fiber Channel。是基于Fabric Channel環(huán)路協(xié)議基礎(chǔ)上的串?技術(shù),通過給后端磁盤提供帶寬2.0Gbit/s或者4.0Gbit/s的FC環(huán)路來進(jìn)?磁盤的連接。本來FC是給?絡(luò)系統(tǒng)開發(fā)的,F(xiàn)C線纜的連接距離遠(yuǎn),?較容易擴(kuò)展。因?yàn)榇鎯?chǔ)系統(tǒng)對(duì)速度要求?,所以也?在多硬盤系統(tǒng)的通信中。
另外, ATA, SCSI和NVMe都針對(duì)SSD加了?些新的命令,?如說ATA??的Trim。當(dāng)?戶刪除?個(gè)?件時(shí),操作系統(tǒng)會(huì)發(fā)Trim告訴SSD 該?件對(duì)應(yīng)數(shù)據(jù)?效,這樣SSD在做垃圾回收的時(shí)候就可以把這些數(shù)據(jù)刪除掉,不?再做數(shù)據(jù)遷移。SCSI??的同等命令叫UNMAP, NVMe??腳Deallocate。