2022年6月16日 星期四

Disk protocol

 


** Disk protocol

ATA 指令集 與 SCSI 指令集

操作系統主要有一種標準協議:ATA指令集 與 SCSI指令集。

與磁盤通信層,同樣遵循ISO分層標準模式:傳輸物理層、鏈路層和應用層、指令應用層。

物理上,ATA和SCSI本來都是整協議接口標準,不止是指令,還制定了物理層、連接層、傳輸層的規範,同時包括接口。

ATA 進化 接口標準,同時應用又支持 SCSI 指令集, 那這塊磁盤就是 ATAPI 設備。

後來,SCSI 也加入了特性支持,在 SCSI 鏈路上運行 ATA 指令。


序列式SCSI(英語:Serial Attached SCSI,簡稱SAS)是一種電腦集線的技術,其功能主要是作為週邊零件的數據傳輸,

例如:硬碟、CD-ROM等裝置而設計的介面。

序列式SCSI 由並列SCSI物理儲存介面演化而來,是由ANSI INCITS T10技術委員會(T10 committee(頁面存檔備份,存於網際網路檔案館))開發及維護的新的儲存介面標準。

與並列方式相比,序列方式能提供更快速的通信傳輸速度以及更簡易的組態。此外SAS並支援與序列式ATA(SATA)裝置相容,且兩者可以使用相類似的電纜。

SAS是點對點(point-to-point)連接,並允許多個埠集中於單個控制器上,其可以內建於主機板(mother board)當中;也可另外添加。該技術建立在強大的並列SCSI通信技術基礎上。

SAS是採用SATA相容的電纜線採取點對點連接方式,從而在計算機系統中不需要建立雛菊鏈結(daisy-chaining)方式便可簡單地實現線纜安裝。



1、AHCI模式

AHCI 是英特爾制定的主機接口標準。AHCI是為SATA 設計的控制器接口, AHCI 標准設計了一個AHCI來控制系統內存與 SATA 之間的數據交換。

AHCI(Serial ATA Advanced Host Controller Interface,並列ATA進階主機控制介面/),是在Intel的指導下,由多家公司聯合研發的介面標準,

它允許存儲驅動程式啟用進階串列 ATA 功能,如本機命令佇列和熱插跋,其研發小組成員主要包括Intel、AMD、戴爾、Marvell、邁拓、微軟、Red Hat、希捷和StorageGear等著名企業。

優點: 1. ACHI支援NCQ技術; 2.讀寫速度更快; 3.支援熱插跋。


2、AHCI 與 IDE 模式的區別

IDE(Integrated Device Electronics),整合驅動電子裝置,一般會作為ATA硬體的埠,它的本意是指把“硬碟控制器”與“盤體”整合在一起的硬碟驅動器。 

IDE模式可以將SATA盤映射類比成普通IDE硬碟,無需額外載入SATA驅動。但不支援任何SATA介面的新特性。



** 硬碟接口

    IDE 、SATA 、mSATA 、M.2 、AHCI、NVMe

    硬碟接口通俗理解就是硬碟和計算機其他部分相互連接的方式,各種接口擁有自己獨特的用途和適用的範圍!

    硬碟接口是硬碟與主機系統間的連接部件,作用是在硬碟緩存和主機內存之間傳輸數據。

    不同的硬碟接口決定著硬碟與計算機之間的連接速度,在整個系統中,硬碟接口的優劣直接影響著程序運行快慢和系統性能好壞。

    IDE -> ATA -> PATA -> SATA

    SCSI -> SAS


1. IDE接口

其英文名稱:Integrated Drive Electronics,常見的2.5英寸IDE硬碟接口它的本意是指把「硬碟控制器」與「盤體」集成在一起的硬碟驅動器。

IDE代表著硬碟的一種類型,但在實際的應用中,人們也習慣用IDE來稱呼最早出現IDE類型硬碟ATA-1,這種類型的接口隨著接口技術的發展已經被淘汰了,

而其後發展分支出更多類型的硬碟接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都屬於IDE硬碟。其特點為:價格低廉,兼容性強,性價比高,數據傳輸慢,不支持熱插拔等等。

而現在,硬碟接口幾乎SATA是標配置,市場上幾乎沒有IDE接口的硬碟了。

 

優點:該接口的硬碟價格低廉、兼容性強、性價比高。

缺點:數據傳輸速度慢、線纜長度過短、連接設備少、不支持熱插拔、、接口速度的可升級性差。


2. SCSI接口類型

其英文名稱為:Small Computer System Interface。SCSI並不是專門為硬碟設計的接口,是一種廣泛應用於小型機上的高速數據傳輸技術。

SCSI接口具有應用範圍廣、多任務、帶寬大、CPU占用率低,以及熱插拔等優點,但較高的價格使得它很難如IDE硬碟般普及,因此SCSI硬碟主要應用於中、高端伺服器和高檔工作站中。

其特點為:傳輸速率高、讀寫性能好、可連接多個設備、可支持熱插拔,但是價格相對來說比較貴。


3. SATA接口

其英文名稱為:Serial Advanced Technology Attachment。使用SATA(Serial ATA)口的硬碟又叫串口硬碟,是未來PC機硬碟的趨勢。

Serial ATA採用串行連接方式,串行ATA總線使用嵌入式時鐘信號,具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令(不僅僅是數據)進行檢查,

如果發現錯誤會自動矯正,這在很大程度上提高了數據傳輸的可靠性。串行接口還具有結構簡單、支持熱插拔的優點。

  

4. SAS接口類型

其英文名稱為:Serial Attached SCSI。其可以向下兼容SATA。具體來說,二者的兼容性主要體現在物理層和協議層的兼容。在物理層,SAS接口和SATA接口完全兼容,

SATA硬碟可以直接使用在SAS的環境中,從接口標準上而言,SATA是SAS的一個子標準,因此SAS控制器可以直接操控SATA硬碟,但是SAS卻不能直接使用在SATA的環境中,

因為SATA控制器並不能對SAS硬碟進行控制;在協議層,SAS由3種類型協議組成,根據連接的不同設備使用相應的協議進行數據傳輸。

其中串行SCSI協議(SSP)用於傳輸SCSI命令;SCSI管理協議(SMP)用於對連接設備的維護和管理;SATA通道協議(STP)用於SAS和SATA之間數據的傳輸。

因此在這3種協議的配合下,SAS可以和SATA以及部分SCSI設備無縫結合。其傳輸速率比SATA要快很多。


5. 光纖通道

其為英文字母Fibre Channel的縮寫。其最初設計也不是為了硬碟設計開發的接口,是專門為網絡系統設計的,但隨著存儲系統對速度的需求,才逐漸應用到硬碟系統中。

光纖通道的主要特性有:熱插拔性、高速帶寬、遠程連接、連接設備數量大等。



6. mSATA接口

該接口是主要是用在筆記本上: 比如商務本,超極本,主流筆記本等。現在主流筆記本接口SATA接口的SATA3版本



7. M.2接口

M.2接口,是Intel推出的一種替代mSATA新的接口規範。

M.2接口是為超極本(Ultrabook)量身定做的新一代接口標準,以取代原來的mSATA接口。無論是更小巧的規格尺寸,還是更高的傳輸性能,M.2都遠勝於mSATA。

M.2接口一般分為兩種,在購買M.2 SSD的時候是需要注意內部協議的。

一種是走傳統的SATA AHCI協議,與普通SATA固態硬碟性能沒有差別;

另一種則是使用全新的NVMe協議,可以提供SSD高達3000MB/s以上的性能,可謂天差地別。



這裡著重說下固態硬碟的AHCI協議和NVMe協議

SSD(固態硬碟)最為主流的傳輸協議有兩種。一種是AHCI協議,另一種是NVMe協議。

AHCI,全稱為串行ATA高級主控接口/高級主機控制器接口,它允許存儲驅動程序啟用高級串行ATA功能。

我們在使用SATA SSD的時候,一定要在主板設置中開啟AHCI模式。

這是因為,開啟AHCI模式後,能夠大幅縮短SSD無用的尋道次數和縮短數據查找時間,這樣能讓多任務下的SSD能夠發揮全部的性能和效應。

根據相關性能測試,在AHCI模式開啟後,大約增加30%的SSD讀寫性能。

但是隨著SSD的性能逐步增強,這些標準也成為了限制固態硬碟的一大瓶頸,專為機械硬碟而設計的AHCI標準並不太適合低延時的固態硬碟。

另外一個傳輸協議,代表著未來性能走向的NVMe協議。


所謂NVMe協議,在於充分利用PCI-E通道的低延時以及並行性,,在可控制的存儲成本下,極大的提升SSD的讀寫性能,降低由於AHCI接口帶來的高延時,徹底解放SATA時代SSD的極致性能。

由於快閃記憶體顆粒和主控的原因,M.2 NVMe協議的固態硬碟價格都特別高,比SATA協議的固態硬碟高出一倍左右的價格,所以大家在選擇的時候一定要按需購買,

根據自己電腦的配置以及需求來選購相應等級的固態硬碟,不然機會造成性能浪費哦。



NVMe:眾所周知,前些年計算機的瓶頸已經從CPU\顯卡轉移到了硬盤,硬盤存取速度嚴重不足,所以SSD迅速的發展、火爆起來,

如今,SSD已經成為了圖吧、卡吧標配然而落後的SATA3接口理論上限只有6Gbps,實際很難突破800M/S,這個速度並不能滿足需求,

目前市場上的SDD很多都已經有550MB的存取速度,優秀者甚至已經突破SATA3的上限更可怕的是,SATA所遵循的AHCI標準當初是為機械硬盤涉及,

不但存取提升有限,4K方面更是不足,在IOPS和隊列深度上已經日趨拙雞。為了應對這個問題,出現了所謂的NGFF(M.2, MSATA.2)接口,利用充裕PCI-E通道,

有足夠的速度,專為超極本涉及,不但佔用空間小,省電,而且速度快,容量也不錯。而後台式機同樣出現了這個問題,就出現了SATA-Express,

原本是打算將兩個SATA口合併,6Gbps+6Gbps=12Gbps,但是最後發現如此做的話,很難達到向下兼容(如SATA3向下兼容SATA2),並且成本略高。最後又將頭緒轉向了PCI-E。


NVME是硬盤新的傳輸標準,是取代現在的AHCI的。NVMe的優勢在於三點:

1、更低的延時:  NVMe精簡了調用方式,執行命令時不需要讀取寄存器;而AHCI每條命令則需要讀取4次寄存器,一共會消耗8000次CPU循環,從而造成2.5μs的延遲。

2、更高的傳輸性能  市面上性能不錯的SATA接口SSD,在隊列深度上都可以達到32,然而這也是AHCI所能做到的極限。

   但目前高端的企業級PCIe SSD,其隊列深度可能要達到128,甚至是256才能夠發揮出最高的IOPS性能。而NVMe標準下,最大的隊列深度可達64000。

   此外,NVMe的隊列數量也從AHCI的1,提高了64000。 

3、更低的功耗控制。


NVMe:眾所周知,前些年計算機的瓶頸已經從CPU\顯卡轉移到了硬盤,硬盤存取速度嚴重不足,所以SSD迅速的發展、火爆起來,

如今,SSD已經成為了圖吧、卡吧標配然而落後的SATA3接口理論上限只有6Gbps,實際很難突破800M/S,這個速度並不能滿足需求,目前市場上的SDD很多都已經有550MB的存取速度,

優秀者甚至已經突破SATA3的上限更可怕的是,SATA所遵循的AHCI標準當初是為機械硬盤涉及,不但存取提升有限,4K方面更是不足,在IOPS和隊列深度上已經日趨拙雞。

為了應對這個問題,出現了所謂的NGFF(M.2, MSATA.2)接口,利用充裕PCI-E通道,有足夠的速度,專為超極本涉及,不但佔用空間小,省電,而且速度快,容量也不錯。

而後台式機同樣出現了這個問題,就出現了SATA-Express,原本是打算將兩個SATA口合併,6Gbps+6Gbps=12Gbps,但是最後發現如此做的話,很難達到向下兼容(如SATA3向下兼容SATA2),

並且成本略高。最後又將頭緒轉向了PCI-E。


NVME是硬盤新的傳輸標準,是取代現在的AHCI的。

NVMe的優勢在於三點:

1、更低的延時:  NVMe精簡了調用方式,執行命令時不需要讀取寄存器;

   而AHCI每條命令則需要讀取4次寄存器,一共會消耗8000次CPU循環,從而造成2.5μs的延遲。 

2、更高的傳輸性能  市面上性能不錯的SATA接口SSD,在隊列深度上都可以達到32,然而這也是AHCI所能做到的極限。

   但目前高端的企業級PCIe SSD,其隊列深度可能要達到128,甚至是256才能夠發揮出最高的IOPS性能。

   而NVMe標準下,最大的隊列深度可達64000。此外,NVMe的隊列數量也從AHCI的1,提高了64000。 

3、更低的功耗控制。