<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 串行ATA總線應(yīng)用技術(shù)

          串行ATA總線應(yīng)用技術(shù)

          作者:李冬 汪東升 薛一波 時間:2008-07-30 來源:電子技術(shù)應(yīng)用 收藏

            串行ATA (-Serial ATA)是Intel代表的設(shè)備開發(fā)商開發(fā)的ATA-7串行版本 1.0。目的是把基于ATA的能夠更普遍應(yīng)用于桌面、移動設(shè)備、低端服務(wù)器和網(wǎng)絡(luò)存儲領(lǐng)域[1]。2004年4月,IDF再次對標(biāo)準(zhǔn)1.0版本的帶寬和物理層連接器進(jìn)行較大改進(jìn),并發(fā)布了增強(qiáng)的標(biāo)準(zhǔn) I,以兼容SAS物理層,滿足數(shù)據(jù)中心存儲需要[1]。使基于ATA的存儲設(shè)備性能與中、低端企業(yè)級存儲設(shè)備性能重疊,適應(yīng)數(shù)據(jù)生命周期和企業(yè)存儲分層等應(yīng)用模式的開展。與ATA物理接口結(jié)構(gòu)改變對應(yīng),SATA硬盤在機(jī)械系統(tǒng)、傳輸模式、信號方式、伺服系統(tǒng)、磁介質(zhì)等都有一定的改變或改進(jìn),并大量借鑒技術(shù),其基本帶寬達(dá)到1.5GMps,是一種典型的“后PC”技術(shù)[2]。

          本文引用地址:http://www.ex-cimer.com/article/86406.htm

          1 SATA技術(shù)要點(diǎn)

            1.1 簡化的模型

            SATA串行鏈路接口協(xié)議借鑒了ISO/OSI和TCP/IP模型的組織方式和對象、服務(wù)、層次封裝等概念,沿用層次化的描述方法,從低向上分別為物理層、鏈路層、傳輸層和應(yīng)用層四層。由于通信是在主機(jī)和存儲設(shè)備非對等的雙方進(jìn)行的,所以傳統(tǒng)的peer-to-peer實體指代發(fā)生了變化。

            1.2 協(xié)議狀態(tài)機(jī)機(jī)制

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

            1.3 精簡高效的核心技術(shù)

            SATA是高速串行總線技術(shù),為了在區(qū)區(qū)4條數(shù)據(jù)線上得到比并行16條數(shù)據(jù)線還要高的數(shù)據(jù)傳輸率,結(jié)構(gòu)上減少協(xié)議層次,精簡協(xié)議內(nèi)容和算法復(fù)雜性;技術(shù)上各層大量采用支持高速或有利于傳輸?shù)募夹g(shù)。這些技術(shù)主要有:

            幀技術(shù) SATA采用幀作為基本傳輸單元,支持七種類型、最大長度達(dá)8192字節(jié)的幀傳輸。在幀結(jié)構(gòu)中,HOLD、HOLDA(32位)原語用于流量控制,F(xiàn)IS Content是有效載荷。

            本地命令隊列 NCQ[3](NCQ-Native Command Queuing)是在SATA I中引入的一個強(qiáng)大的磁盤接口技術(shù),目的在于減少主機(jī)和設(shè)備的握手次數(shù)、聚合數(shù)據(jù)中斷,減少接口事務(wù)數(shù)量。達(dá)到減少驅(qū)動器的尋道和旋轉(zhuǎn)的機(jī)械位置延遲,提高隊列負(fù)載性能的目的。NCQ是對SATA 1.0所做的諸多功能擴(kuò)展中唯一與性能密切相關(guān)的技術(shù)。NCQ采用RPO磁盤旋轉(zhuǎn)位置命令調(diào)度算法,支持線程和最大達(dá)32級深度的命令隊列管理,增加Race-free狀態(tài)返回機(jī)制、中斷聚合和First Parity DMA三個新的能力。

            · 點(diǎn)到點(diǎn)的連接 SATA存儲設(shè)備與主機(jī)的連接采用點(diǎn)對點(diǎn)連接和星型拓?fù)?,連接帶寬專用,降低了共享仲裁和配置的復(fù)雜性,避免了單點(diǎn)故障,改善了可擴(kuò)展性和并發(fā)操作能力。

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

            ·改進(jìn)的線纜連接器和熱插[5] SATA的信號線和電源線獨(dú)立配置,各信號線或電源線之間使用地線分隔。盲匹配設(shè)計,頭部有額外的用于插拔定位和保護(hù)的凸出;支持帶外硬盤檢測,實現(xiàn)了完整的熱插拔支持。

            ·其他技術(shù) SATA使用字母標(biāo)記來描述數(shù)據(jù)位和控制變量,使用8B/10B編碼方案把SATA未編碼的數(shù)據(jù)和控制字節(jié)翻譯成字符串。傳輸?shù)男盘柌捎门c現(xiàn)有電路兼容的(偏移值為250mv)的低電壓差動(LVD)技術(shù)。電源管理細(xì)粒度化,它不僅能對存儲設(shè)備的電源進(jìn)行管理,還具有自我管理功能,能把不運(yùn)行的部分置于低功耗模式。

          2 SATA應(yīng)用方案

            2.1 橋

            串行存儲設(shè)備定位于桌面和中低端網(wǎng)絡(luò)存儲,為了能夠在這些并行接口主導(dǎo)的領(lǐng)域開展應(yīng)用,業(yè)界沿用了傳統(tǒng)的“并串兼容共存、逐漸過渡到純串行”的策略。目前實現(xiàn)這種策略的主流方案是橋。SATA/PATA橋是基于現(xiàn)有系統(tǒng)總線,通過附加SATA/PATA轉(zhuǎn)換卡,實現(xiàn)串行/并行轉(zhuǎn)換,把先進(jìn)的串行設(shè)備集成到并行結(jié)構(gòu)環(huán)境中。

            橋是目前解決SATA和PATA在系統(tǒng)中共存的一個理想、便捷的方案,具有不影響原有的系統(tǒng)、開發(fā)周期短等優(yōu)勢,不足在于橋芯片沒有提高性能,卻增加了成本、板空間和功耗,同時還增加驅(qū)動器印刷電路板設(shè)計和生產(chǎn)的復(fù)雜性,所以只能作為一個過渡的解決方案。

            2.2 本地設(shè)備

            該策略是直接把SATA硬盤連入系統(tǒng)結(jié)構(gòu)中,省缺了橋方式中大量的轉(zhuǎn)換和策略延遲,最大限度發(fā)揮SATA功能特性。AHCI[6](Advanced Host Controller Interface)是一種理想的實現(xiàn)本地設(shè)備策略的方案,它通過PCI BAR(Base Address Register)實現(xiàn)原生的SATA功能。

            AHCI本質(zhì)是一種PCI類設(shè)備,在系統(tǒng)內(nèi)存總線和串行ATA設(shè)備內(nèi)部邏輯之間扮演一種通用接口的角色。這個類設(shè)備描述了一個含控制和狀態(tài)區(qū)域、命令序列入口表的通用系統(tǒng)內(nèi)存結(jié)構(gòu);每個命令表入口包含SATA設(shè)備編程信息,和一個指向(用于在設(shè)備和主機(jī)傳輸數(shù)據(jù)的)描述表的指針。

            本地設(shè)備方案通過集成SATA到芯片組實現(xiàn),它可以充分利用SATA減少信號數(shù)量的優(yōu)點(diǎn),表現(xiàn)SATA的高速度,節(jié)省了板空間,增加了可靠性,減少了功耗,實施更簡單容易。不足是由于SATA接口是高速信號,給讀取信道帶來干擾,所以在設(shè)計芯片和主板時必須考慮采取適當(dāng)?shù)男盘柾暾员Wo(hù)措施。由于AHCI統(tǒng)一接口的研發(fā)成功,使得支持串行ATA產(chǎn)品的開發(fā)工作大為簡化,操作系統(tǒng)和設(shè)備制造商省去了單獨(dú)開發(fā)接口的工作,取而代之的是直接在統(tǒng)一接口上進(jìn)行操作,就能實現(xiàn)包括NCQ在內(nèi)的諸多功能。

            2.3 橋與本地設(shè)備方案的比較

            橋和本地設(shè)備方案除了具有上述的技術(shù)實質(zhì)差別外,還有如表1給出的多個不同之處。從比較中也可以看出橋?qū)ATA支持的局限性,從一個側(cè)面表現(xiàn)了技術(shù)對現(xiàn)狀的妥協(xié),也注定了橋?qū)儆诩夹g(shù)發(fā)展過渡階段的產(chǎn)物。

          3 SATA設(shè)備編程

            3.1 SATA的數(shù)據(jù)流

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


             3.2 SATA的編程結(jié)構(gòu)

            SATA的編程結(jié)構(gòu)如圖2(其中右部是各層次API關(guān)系),特定操作系統(tǒng)模塊(圖2中①)完成把不同操作系統(tǒng)對低層驅(qū)動器件的請求翻譯成低層器件能夠識別的格式。SATA庫模塊(圖2中②)包括通用SATA邏輯和SATA控制邏輯兩個組件,為不同操作系統(tǒng)的驅(qū)動器模塊提供獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)API。其中,通用SATA邏輯模塊是獨(dú)立于控制器、操作系統(tǒng)和結(jié)構(gòu)的,主要實現(xiàn)所有的算法和例程。SATA控制邏輯描述的是所有專用控制器代碼,具體內(nèi)容依賴于控制器的主控制芯片。操作系統(tǒng)服務(wù)層(圖2中③)提供一個獨(dú)立于操作系統(tǒng)的與SATA庫層的接口。它與具體的操作系統(tǒng)相關(guān),能把上層操作系統(tǒng)類的請求翻譯成目標(biāo)操作系統(tǒng)能夠識別的請求格式。


            3.3 操作系統(tǒng)對SATA應(yīng)用支持

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

            3.3.2 平臺
            平臺對SATA設(shè)備的支持是通過借鑒成熟的PATA,并對PATA與SATA相異部分加以改進(jìn),擴(kuò)充一些SATA支持的新功能實現(xiàn)。

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

          4 發(fā)展趨勢

            SATA是一種新興的總線技術(shù),是PATA的理想的替代技術(shù),對它的研究和應(yīng)用已成為一種趨勢。這種趨勢表現(xiàn)在:

            (1) 標(biāo)準(zhǔn)化工作將進(jìn)一步加快 主導(dǎo)SATA標(biāo)準(zhǔn)化工作的SATA工作組、Intel、Seagate、Maxtor、IBM等在不斷完善SATA標(biāo)準(zhǔn),現(xiàn)已有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 Ⅱ標(biāo)準(zhǔn)中。與新標(biāo)準(zhǔn)迅速地進(jìn)展相對比,工業(yè)化步伐也急需快速跟上。關(guān)鍵工作急需統(tǒng)一驅(qū)動器、主板和PC供應(yīng)商,特別是芯片廠商等對SATA通信和功能的理解,創(chuàng)造一個真正的即插即用和相互共存環(huán)境。

            (2) 協(xié)議硬件化 硬件化是減少協(xié)議的復(fù)雜性和運(yùn)行效率的有效途徑,為了高效實現(xiàn)SATA功能,第二和第三層的部分或全部協(xié)議功能硬件化(集成到芯片組)將是SATA功能實現(xiàn)的主要途徑。

            (3) SATA的應(yīng)用將逐步過渡到本地模式 橋應(yīng)用模式是PATA向SATA遷移過程存在的一種廉價、全兼容PATA環(huán)境的方案。但隨著SATA、AHCI標(biāo)準(zhǔn)化和工業(yè)化的發(fā)展,現(xiàn)在PATA和SATA共存的現(xiàn)狀將逐步過渡到以SATA主導(dǎo)。

            (4) SATA將應(yīng)用于網(wǎng)絡(luò)存儲領(lǐng)域 SATA具有高帶寬、拓?fù)湟讛U(kuò)展、數(shù)據(jù)完整性、可靠性、盤體MTBF與SCSI相當(dāng)、支持熱插拔網(wǎng)絡(luò)存儲等特點(diǎn),具備組成低廉的RAID進(jìn)入網(wǎng)絡(luò)存儲領(lǐng)域的條件。加之SAS(Serial Attached SCSI)支持SATA,提供STP(SATA Tunnel Protocol)最大限度地兼容SATA等等內(nèi)容,都為SATA進(jìn)入網(wǎng)絡(luò)存儲領(lǐng)域提供了技術(shù)條件。

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

          參考文獻(xiàn)

          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

           

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: SATA 存儲 SCSI Linux

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();