串行ATA總線應用技術

2021-01-16 電子產品世界

  串行ATA (SATA-Serial ATA)是Intel代表的存儲設備開發商開發的ATA-7串行版本SATA 1.0。目的是把基於ATA的存儲能夠更普遍應用於桌面、移動存儲設備、低端伺服器和網絡存儲領域[1]。2004年4月,IDF再次對標準1.0版本的帶寬和物理層連接器進行較大改進,並發布了增強的標準SATA I,以兼容SAS物理層,滿足數據中心存儲需要[1]。使基於ATA的存儲設備性能與中、低端企業級SCSI存儲設備性能重疊,適應數據生命周期和企業存儲分層等應用模式的開展。與ATA物理接口結構改變對應,SATA硬碟在機械系統、傳輸模式、信號方式、伺服系統、磁介質等都有一定的改變或改進,並大量借鑑SCSI技術,其基本帶寬達到1.5GMps,是一種典型的「後PC」技術[2]。

本文引用地址:http://www.eepw.com.cn/article/86406.htm

1 SATA技術要點

  1.1 簡化的模型

  SATA串行鏈路接口協議借鑑了ISO/OSI和TCP/IP模型的組織方式和對象、服務、層次封裝等概念,沿用層次化的描述方法,從低向上分別為物理層、鏈路層、傳輸層和應用層四層。由於通信是在主機和存儲設備非對等的雙方進行的,所以傳統的peer-to-peer實體指代發生了變化。

  1.2 協議狀態機機制

  SATA協議操作主要通過通信實體協議棧的傳輸控制狀態機(Transport State Machine)和鏈路狀態機(Link State Machine)兩大核心子模塊完成,其中鏈路狀態機完成與串行線路相關的操作,傳輸控制狀態機通過把上層操作分解成可與鏈路狀態交換的一系列動作,使用接口中的子模塊資源,完成與主機平臺相關的操作。兩狀態機在傳輸數據過程中相互協調工作行為,最優化應用資源。

  1.3 精簡高效的核心技術

  SATA是高速串行總線技術,為了在區區4條數據線上得到比並行16條數據線還要高的數據傳輸率,結構上減少協議層次,精簡協議內容和算法複雜性;技術上各層大量採用支持高速或有利於傳輸的技術。這些技術主要有:

  幀技術 SATA採用幀作為基本傳輸單元,支持七種類型、最大長度達8192位元組的幀傳輸。在幀結構中,HOLD、HOLDA(32位)原語用於流量控制,FIS Content是有效載荷。

  本地命令隊列 NCQ[3](NCQ-Native Command Queuing)是在SATA I中引入的一個強大的磁碟接口技術,目的在於減少主機和設備的握手次數、聚合數據中斷,減少接口事務數量。達到減少驅動器的尋道和旋轉的機械位置延遲,提高隊列負載性能的目的。NCQ是對SATA 1.0所做的諸多功能擴展中唯一與性能密切相關的技術。NCQ採用RPO磁碟旋轉位置命令調度算法,支持線程和最大達32級深度的命令隊列管理,增加Race-free狀態返回機制、中斷聚合和First Parity DMA三個新的能力。

  · 點到點的連接 SATA存儲設備與主機的連接採用點對點連接和星型拓撲,連接帶寬專用,降低了共享仲裁和配置的複雜性,避免了單點故障,改善了可擴展性和並發操作能力。

  · 全層次錯誤檢測支持 在SATA協議棧中,錯誤的檢測從低層一直延伸到頂層[4]。層之間的錯誤通過接口狀態寄存器和接口錯誤寄存器進行傳遞,每層都有錯誤發現、錯誤控制和錯誤報告恢復能力。根據錯誤性質和可恢復程度,有Freeze、Abort、Retry和Track/Ignore四種處理策略。

  ·改進的線纜連接器和熱插[5] SATA的信號線和電源線獨立配置,各信號線或電源線之間使用地線分隔。盲匹配設計,頭部有額外的用於插拔定位和保護的凸出;支持帶外硬碟檢測,實現了完整的熱插拔支持。

  ·其他技術 SATA使用字母標記來描述數據位和控制變量,使用8B/10B編碼方案把SATA未編碼的數據和控制字節翻譯成字符串。傳輸的信號採用與現有SCSI電路兼容的(偏移值為250mv)的低電壓差動(LVD)技術。電源管理細粒度化,它不僅能對存儲設備的電源進行管理,還具有自我管理功能,能把不運行的部分置於低功耗模式。

2 SATA應用方案

  2.1 橋

  串行存儲設備定位於桌面和中低端網絡存儲,為了能夠在這些並行接口主導的領域開展應用,業界沿用了傳統的「並串兼容共存、逐漸過渡到純串行」的策略。目前實現這種策略的主流方案是橋。SATA/PATA橋是基於現有系統總線,通過附加SATA/PATA轉換卡,實現串行/並行轉換,把先進的串行設備集成到並行結構環境中。

  橋是目前解決SATA和PATA在系統中共存的一個理想、便捷的方案,具有不影響原有的系統、開發周期短等優勢,不足在於橋晶片沒有提高性能,卻增加了成本、板空間和功耗,同時還增加驅動器印刷電路板設計和生產的複雜性,所以只能作為一個過渡的解決方案。

  2.2 本地設備

  該策略是直接把SATA硬碟連入系統結構中,省缺了橋方式中大量的轉換和策略延遲,最大限度發揮SATA功能特性。AHCI[6](Advanced Host Controller Interface)是一種理想的實現本地設備策略的方案,它通過PCI BAR(Base Address Register)實現原生的SATA功能。

  AHCI本質是一種PCI類設備,在系統內存總線和串行ATA設備內部邏輯之間扮演一種通用接口的角色。這個類設備描述了一個含控制和狀態區域、命令序列入口表的通用系統內存結構;每個命令表入口包含SATA設備編程信息,和一個指向(用於在設備和主機傳輸數據的)描述表的指針。

  本地設備方案通過集成SATA到晶片組實現,它可以充分利用SATA減少信號數量的優點,表現SATA的高速度,節省了板空間,增加了可靠性,減少了功耗,實施更簡單容易。不足是由於SATA接口是高速信號,給讀取信道帶來幹擾,所以在設計晶片和主板時必須考慮採取適當的信號完整性保護措施。由於AHCI統一接口的研發成功,使得支持串行ATA產品的開發工作大為簡化,作業系統和設備製造商省去了單獨開發接口的工作,取而代之的是直接在統一接口上進行操作,就能實現包括NCQ在內的諸多功能。

  2.3 橋與本地設備方案的比較

  橋和本地設備方案除了具有上述的技術實質差別外,還有如表1給出的多個不同之處。從比較中也可以看出橋對SATA支持的局限性,從一個側面表現了技術對現狀的妥協,也註定了橋屬於技術發展過渡階段的產物。

3 SATA設備編程

  3.1 SATA的數據流

  在SATA系統中,數據操作對象按粒度大小分為Primitive、FIS和Command三種。數據在(主機)適配器和存儲設備之間交換,參與交換的對象和數據結構關係[7]如圖1所示。在圖中,箭頭從父對象指向子對象,數字1和n代表父對象擁有子對象的數目。適配器對象代表控制板或HBA,它有一個與適配器相關的適配器信息數據結構。適配器可以擁有多個控制器,每個控制器有自己獨立的控制器信息,內含控制器公共寄存器數據結構和其他控制信息。而每個控制器又有多個供連接目標設備的埠。每個埠連接一個存儲設備,每個設備有一個深度為1或更大的命令隊列,而每條命令由與數據結構和DMA對象相關的命令對象代表。另外,對於一些含有多口的存儲設備,允許它連到其他控制器的埠上,以提高設備的可用性和可靠性。


   3.2 SATA的編程結構

  SATA的編程結構如圖2(其中右部是各層次API關係),特定作業系統模塊(圖2中①)完成把不同作業系統對低層驅動器件的請求翻譯成低層器件能夠識別的格式。SATA庫模塊(圖2中②)包括通用SATA邏輯和SATA控制邏輯兩個組件,為不同作業系統的驅動器模塊提供獨立於作業系統的標準API。其中,通用SATA邏輯模塊是獨立於控制器、作業系統和結構的,主要實現所有的算法和例程。SATA控制邏輯描述的是所有專用控制器代碼,具體內容依賴於控制器的主控制晶片。作業系統服務層(圖2中③)提供一個獨立於作業系統的與SATA庫層的接口。它與具體的作業系統相關,能把上層作業系統類的請求翻譯成目標作業系統能夠識別的請求格式。


  3.3 作業系統對SATA應用支持

  3.3.1 Windows平臺
  Windows平臺中,橋是通過仿真Windows支持的PATA模式控制器,加載和使用PATA控制器實現。為了提供對SATA兩種模式的支持,微軟開發了支持最新ATA/ATAPI命令集的Ataport,該命令集支持PATA、SATA混合應用環境。應用Ataport開發的SATA控制器,一般提供兩個微口(Miniport),其中一個是支持現PATA控制器的默認微口驅動器,替換現有的PATA和SATA仿真PATA的驅動棧功能實體;另一個是支持AHCI SATA的微口驅動器,在未來的Windows系統中實現本地設備模式。在Ataport中,每個設備的工作模式通過PCI規範中基類01(塊存儲器)的子類代碼設置,當SATA設備運行在仿真並行模式時,子類代碼設置為01h;運行在本地SATA模式時,應設置為06h。要說明的是,Windows 2003 Server及以前的所有版本都不提供對本地設備的支持。

  3.3.2 Linux平臺
  Linux平臺對SATA設備的支持是通過借鑑成熟的PATA,並對PATA與SATA相異部分加以改進,擴充一些SATA支持的新功能實現。

  IDE設備驅動器模塊(ide.c)含有一些特定的設備子驅動器如ide-pci.c、ide-probe.c、ide-pnp.c、ide-dma.c、ide-proc等。根據SATA的新特性,對SATA設備的物理發現和傳輸進行完善和改進,即對原有的PATA的ide-probe.c、ide-dma.c子驅動器等進行修訂,其他子驅動器可以直接借鑑PATA。用戶只需通過驅動器層的可選擇配置,即實現對橋和本地兩種模式的支持。

4 發展趨勢

  SATA是一種新興的總線技術,是PATA的理想的替代技術,對它的研究和應用已成為一種趨勢。這種趨勢表現在:

  (1) 標準化工作將進一步加快 主導SATA標準化工作的SATA工作組、Intel、Seagate、Maxtor、IBM等在不斷完善SATA標準,現已有SATA1.0(a,b,c,d,等多個版本)、SATA I (Extensions to Serial ATA 1.0a, revision 1.1)等多個版本。2004年5月6日,Serial ATA工作組把原本在第二代推出的物理層帶寬3Gbps編入Serial ATA Ⅱ標準中。與新標準迅速地進展相對比,工業化步伐也急需快速跟上。關鍵工作急需統一驅動器、主板和PC供應商,特別是晶片廠商等對SATA通信和功能的理解,創造一個真正的即插即用和相互共存環境。

  (2) 協議硬體化 硬體化是減少協議的複雜性和運行效率的有效途徑,為了高效實現SATA功能,第二和第三層的部分或全部協議功能硬體化(集成到晶片組)將是SATA功能實現的主要途徑。

  (3) SATA的應用將逐步過渡到本地模式 橋應用模式是PATA向SATA遷移過程存在的一種廉價、全兼容PATA環境的方案。但隨著SATA、AHCI標準化和工業化的發展,現在PATA和SATA共存的現狀將逐步過渡到以SATA主導。

  (4) SATA將應用於網絡存儲領域 SATA具有高帶寬、拓撲易擴展、數據完整性、可靠性、盤體MTBF與SCSI相當、支持熱插拔網絡存儲等特點,具備組成低廉的RAID進入網絡存儲領域的條件。加之SAS(Serial Attached SCSI)支持SATA,提供STP(SATA Tunnel Protocol)最大限度地兼容SATA等等內容,都為SATA進入網絡存儲領域提供了技術條件。

  隨著ATA-100/133的引入,PATA的發展已經到了盡頭,引入SATA代替PATA是技術發展的必然趨勢。SATA引入了大量的新技術,並保持與PATA兼容。Windows和Linux作業系統都提供應用支持,開展應用簡單快捷。以相對較低的成本獲得比PATA高得多的性能,並為中、低端企業級存儲和其他外存應用拓展空間,將是未來存儲技術發展的主流技術之一。

參考文獻

1 Wong, William, A year of transition: Machines get faster,smaller, smarter[J],Electronic Design, v 51, n 13, Jun 16, 2003, p34~36
2 Bob Norman, Frank Lee. Implementing serial ATA in next-generation computer systems.Computer Technology Review[J].Feb 2002
3 Amber Huffman, Joni Clark. Serial ATA Native Command Queuing[S].www.intel.com. Jul 2003.
4 APT Technologies Inc, Dell Computer Corporation, Intel Cor-poration, etc. Serial ATA: High Speed Serialized AT Attach-ment(Revision 1.0a) [S] , www.serialata.org , Jan 2003.
5 Dell Computer Corporation. Intel Corporation, Maxtor Corpo-ration, etc. SerialⅡ: Cable and Connector volume 1("Final Specification") [S], www.serialata.org, Feb 2003.
6 Intel Corporation. Serial ATA: Advanced Host Controller In-terface (Revision 1.0) [S], www.intel.com, May 2004
7 Intel Corporation, Serial ATAⅡ Native Command Queuing Overview[R], www.intel.com, Apr. 2003

 

相關焦點

  • 多種工業應用串行總線特性及比較
    由於在消費類電子產品、計算機外設、汽車和工業應用中增加了嵌入式功能,對低成本、高速和高可靠通信介質的要求也不斷增長以滿足這些應用,其結果是越來越多的處理器和控制器用不同類型的總線集成在一起,實現與PC軟體、開發系統(如仿真器)或網絡中的其它設備進行通信。目前流行的通信一般採用串行或並行模式,而串行模式應用更廣泛。
  • 通用串行總線USB及其應用
    其次,隨著技術不斷發展,大量新外設不斷出現,這些外設對計算機接口提出了更高的要求,如高速度、雙向傳輸數據等。傳統的計算機接口,如並行印表機接口(數據傳輸率為1 Mb/s)、串行RS232接口(數據傳輸率為115~230 kb/s)已經不能滿足用戶需要。  還有,計算機越來越向簡單、實用、方便、方向發展。
  • 基於Linux系統的多種串行總線統一接口的實現
    統一接口的應用層API與底層的具體總線操作形式無關,而且便於應用系統的升級和移植。文中給出了一種多種串行總線統一接口的實現方法,並以ARM9為平臺,以I2C、1-Wire、SPI為例,驗證了新方法的可行性。
  • pico便攜示波器應用案例分享:20種串行總線解碼分析
    因此,傳統的電氣網絡已無法適應現代汽車電子系統的發展,新型汽車總線技術應運而生。目前汽車上普遍採用的汽車總線有局部互聯協議LIN和控制器區域網CAN,正在發展中的汽車總線技術還有高速容錯網絡協議FlexRay,用於動力傳感器和電子控制單元(ECU)之間的通信協議SENT。
  • 通用串行總線控制器(USB控制器)
    USB,即Universal Serial Bus的縮寫,譯成中文,就是通用串行總線,這是由Intel公司開發的通用串行總線架構;因此顧名思義,
  • 現場總線技術 PROFIBUS 在電廠的應用
    可以採用遠程I/O 的方式,通過常規I/O 模塊採集非智能儀表的信號,然後通過PROFIBUS-DP 總線連接到中央控制器。儀表和執行機構可以按設備生命周期逐批更換。安裝在製造或過程區域的現場設備與控制室內的自控裝置之間的數字式、串行和多點通信的數據總線稱為現場總線。
  • 基於VHDL/CPLD的I2C串行總線控制器設計及實現
    串行總線和並行總線相比具有結構簡單、佔用引腳少、成本低的優點。常見的串行總線有USB、IEEE1394、I2C等,其中I2C總線具有使用簡單的特點,在單片機、串行E2PROM、LCD等器件中具有廣泛的應用。  I2C(Inter IC BUS)是Philips公司開發的用於晶片之間連接的總線。
  • 通用串行總線(USB)外設隔離器電路圖
    打開APP 通用串行總線(USB)外設隔離器電路圖 ADI 發表於 2013-11-06 10:09:44   電路功能與優勢   通用串行總線(USB)正迅速成為大部分PC外設的標準接口。
  • 現場總線技術在電力行業的應用與發展前景
    這種集成了微機、網絡、分布控制技術後建立起一種新的控制結構,將微處理器置於現場設備中,把現場單個、分散的數位化、智能化設備變成網絡節點;連接成可以相互溝通信息,將過去採用點到點式的模擬量信號傳輸或開關量信號的單向並行傳輸,變為多點一線的雙向串行多節點數字式傳輸的低帶寬底層控制網絡,為實現現場設備的信息化提供了可能,是數位化電廠的技術基礎,正被一步步推上代表未來電力自動化水平的特殊位置。
  • 現場總線技術在電廠中的應用
    0 引言 按照國際電工委員會IEC/SC65C的定義,安裝在製造或過程區域的現場設備與控制室內的自控裝置之間的數字式、串行和多點通信的數據總線稱為現場總線。以現場為基礎形成的網絡集成式全分布控制系統稱為現場總線控制系統(FCS)。
  • 解決通用串行總線(USB)控制器有感嘆號
    通用串行總線控制器:由於其配置信息(註冊表中的)不完整或已損壞,Windows 無法啟動這個硬體設備經過查詢,解決方法如下:方法:打開註冊表編輯器(開始--》運行--》regedit),依次展開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\在這下面有很多用「{}」括起來的項,一個一個的點開,看右面窗口有沒有「通用串行總線控制器(Universal Serial Bus controllers)」
  • Profibus-PA現場總線技術研究和應用
    隨著數位技術的不斷發展,德國Siemens等13家工業企業和5家科研機構於1987年開始按照ISO/OSI參考模型研究制定現場總線標準並同時研製Profibus現場總線產品。經過10多年的開發、生產和應用,Profibus現場總線已形成系列產品,在世界市場上已被普遍接受,市場份額佔歐洲首位,年增長率25%。
  • 一文看懂CAN總線原理、特點及應用
    CAN總線使用串行數據傳輸方式,可以1Mb/s的速率在40m的雙絞線上運行,也可以使用光纜連接,而且在這種總線上總線協議支持多主控制器。CAN總線最 初是為汽車的電子控制系統而設計的,目前在歐洲生產的汽車中CAN的應用已非常普遍,不僅如此,這項技術已推廣到火車、輪船等交通工具中。  (1)CAN總線技術的應用:國外知名汽車基本都已經採用了CAN總線技術,例如沃爾沃、林肯、奧迪、寶馬等,而國內汽車品牌,例如奇瑞等公司也已經有幾款車型應用了總線技術。
  • 編碼器的CAN總線接口及其在光電跟蹤系統中的應用
    但在具體工程應用項目中,上述通信方式常會受到傳輸距離、通信速率等方面限制。近幾年來串行通信快速發展,出現了多種控制系統現場總線形式,CAN總線就是其中應用最為廣泛的一種,它是控制器區域網總線的簡稱,是一種有效支持分布式控制和實時控制的串行通信網絡。
  • 現場總線技術及其在天然氣貯配站自控系統中的應用
    3.現場總線技術的產生  由於大規模集成電路的發展,許多傳感器、執行機構、驅動裝置等現場設備趨於智能化,即內置CPU控制器,完成諸如線性化、量程轉換、數字濾波甚至迴路調節等功能。因此,對於這些智能現場設備增加一個串行數據接口(如RS-232/485)是非常方便的。有了這樣的接口,控制器就可以按其規定協議,通過串行通信方式(而不是I/O方式)完成對現場設備的監控。
  • Profibus-DP總線技術在同步控制系統中的應用
    Profibus總線控制技術及網絡同步控制是自動化領域的重要控制技術。Profibus-DP是一種堅固耐用、功能強大、開放性好的通訊總線.主要用於與現場設備的連接並快速、循環交換數據。
  • 工業現場總線協議解析
    工業網絡通常採用現場總線協議,通過實時和可靠的分布式控制功能來連接生產車間中的儀器儀表和機械設備,比較容易並且可靠的控制所實現的系統。現場總線標準應用非常廣泛,大量已經安裝的設備都採用了現場總線。但是,大部分這些現場總線標準都是基於(已有的)串行通信協議標準(與RS485或者RS232相似),沒有充分發揮應用廣泛的乙太網技術的優勢。   隨著系統複雜程度的增加,大部分現場總線難以滿足平臺通用性和系統性能的要求。這促使設備生產商轉向採用基於乙太網的通信技術,實現高性能、低成本和很好的通用性。
  • PROFIBUS 現場總線技術標準
    本培訓教程全面闡述了PROFIBUS的技術特點、應用模式和產品開發方法。•適用於代替現今的 4...20 mA 技術•僅用一根雙絞線進行數據通信和供電•通過串行總線聯接儀器儀表與控制系統•適用於本質安全的 EEx 應用區域•可靠的串行數字傳輸•通過一根雙絞電纜進行控制、調節和監視•對所有設備只需一個工程工具•由於 PROFIBUS-PA 行規,保證了互操作性和互換性•儀器儀表的維護和診斷信息
  • 通用串行總線(USB)原理及接口設計
    通用串行總線USB (Universal SerialBus)是Intel、Microsoft等大廠商為解決計算機外設種類的日益增加與有限的主板插槽和埠之間的矛盾而於1995年提出制定的。它是一種用於將適用USB的外圍設備連接到主機的外部總線結構,主要用在中速和低速的外設。
  • 工業乙太網與現場總線技術各自優缺點和應用
    隨著「工業4.0」戰略的展開,計算機技術、通訊技術、IT技術的發展已經滲入到工控領域,其中最主要的表現就是工業現場總線技術和工業乙太網技術。其中工業現場總線技術,特別是乙太網技術的廣泛使用,為自動化技術帶來了深刻變革。