日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

一種ahci接口的傳輸方法及系統(tǒng)的制作方法

文檔序號(hào):9471100閱讀:1123來(lái)源:國(guó)知局
一種ahci接口的傳輸方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種AHCI接口的傳輸方法及系統(tǒng)。
【背景技術(shù)】
[0002]AHCI機(jī)制的提出是為了增強(qiáng)SATA的功能,例如對(duì)Native Command Queue(本地命令隊(duì)列)的支持,對(duì)熱插拔的支持,對(duì)電源管理的支持等。如圖1中所示的架構(gòu)①即為AHCI機(jī)制最初使用的方式。
[0003]在圖1的架構(gòu)①中AHCI機(jī)制在主機(jī)側(cè)的HBA (Host Bus Adapter,主機(jī)總線適配器)中實(shí)現(xiàn),SATA通過(guò)接入HBA的端口接入主機(jī),如圖2所示。
[0004]在圖2所示的這種AHCI傳輸結(jié)構(gòu)中,由于其底層傳輸使用的是SATA鏈路機(jī)制,所以對(duì)于設(shè)備來(lái)講數(shù)據(jù)傳輸必須嚴(yán)格遵循SATA協(xié)議和ATA協(xié)議,以保證傳輸數(shù)據(jù)的正確性和規(guī)范性。
[0005]隨著AHCI技術(shù)的不斷成熟,功能的不斷完善,SATA-1O在2011年提出了圖1中的架構(gòu)②。在該架構(gòu)中底層數(shù)據(jù)傳輸完全依賴(lài)于PCIe總線,設(shè)備完全作為一種PCIe設(shè)備掛載到主機(jī)的PCIe的總線上。其實(shí)現(xiàn)示意圖如圖3所示。
[0006]在圖3所示的這種AHCI傳輸結(jié)構(gòu)中,AHCI機(jī)制在設(shè)備的控制器中實(shí)現(xiàn),底層傳輸完全依賴(lài)于PCIe總線,所以在該結(jié)構(gòu)中,對(duì)設(shè)備而言,數(shù)據(jù)傳輸僅需要遵循AHCI協(xié)議、ATA協(xié)議以及PCIe總線協(xié)議,而不必要執(zhí)行SATA協(xié)議。
[0007]目前上述兩種傳輸結(jié)構(gòu)的傳輸交互采用的是基于SATA的方式,這樣對(duì)于圖1中的架構(gòu)②來(lái)講,其傳輸交互的實(shí)現(xiàn)就顯得比較冗余,沒(méi)有能夠充分發(fā)揮該架構(gòu)的優(yōu)勢(shì)。
[0008]串行ATA 中的傳輸方式有 P1-1N、P10-0UT、DMA-1N、DMA-OUT、FPDMA-1N 以及FPDMA-0UT六種。目前對(duì)于圖1的架構(gòu)②,這六種方式中除了 DMA-1N傳輸方式不必要優(yōu)化夕卜,剩余的五種傳輸方式都各自的缺點(diǎn)。以下分別對(duì)這五種方式的缺點(diǎn)做詳細(xì)說(shuō)明。
[0009]P1-1N傳輸方式在所有的傳輸方式中最為特別,圖4為該傳輸方式的示意圖。
[0010]目前架構(gòu)①和②對(duì)DMA-OUT傳輸方式的實(shí)現(xiàn)都采用圖4所示的方式。這種傳輸方式的交互過(guò)程如下:
I)主機(jī)向設(shè)備發(fā)送Register Host to Device FIS (簡(jiǎn)稱(chēng)H2D),通過(guò)該FIS主機(jī)向設(shè)備發(fā)送P1-1N的命令請(qǐng)求。
[0011]2)設(shè)備收到P1-1N命令請(qǐng)求后向主機(jī)發(fā)送P1 Setup - Device to Host FIS(簡(jiǎn)稱(chēng)P1-Setup FIS),用于向主機(jī)報(bào)告錯(cuò)誤信息或數(shù)據(jù)已經(jīng)準(zhǔn)備好的信息。
[0012]3)設(shè)備向主機(jī)發(fā)送Data FIS (該FIS最多可以負(fù)載8192Byts的數(shù)據(jù))。
[0013]4)如果還有數(shù)據(jù)需要傳輸,則回到步驟2)。
[0014]在以上步驟中步驟2是步驟3)的準(zhǔn)備階段,但對(duì)于架構(gòu)②來(lái)講,步驟2)是多余的,這是因?yàn)樵诩軜?gòu)②中,數(shù)據(jù)傳輸無(wú)需通過(guò)主機(jī)側(cè)的HBA,而是通過(guò)PCIe總線完成的,數(shù)據(jù)傳輸過(guò)程中的交互完全通過(guò)PCIe總線實(shí)現(xiàn),所以不需要通過(guò)步驟2)的準(zhǔn)備。
[0015]另外該傳輸方式中,如果最后一個(gè)Data FIS出錯(cuò),那么該實(shí)現(xiàn)并沒(méi)有一種機(jī)制將該錯(cuò)誤通知到主機(jī)側(cè),所以該實(shí)現(xiàn)也不能保證最后一個(gè)Data FIS的正確性。
[0016]圖5為P1-OUT類(lèi)型傳輸示意圖,該圖描述的傳輸實(shí)現(xiàn)為當(dāng)前架構(gòu)①和②的實(shí)現(xiàn)方式,以下將描述該方式的交互過(guò)程以及存在的缺點(diǎn)。
[0017]I)主機(jī)向設(shè)備發(fā)送H2D,通過(guò)該FIS主機(jī)向設(shè)備發(fā)送P1-OUT的命令請(qǐng)求。
[0018]2)設(shè)備收到P1-OUT命令請(qǐng)求后向主機(jī)發(fā)送P1 Setup FIS,用于向主機(jī)報(bào)告錯(cuò)誤信息或已經(jīng)準(zhǔn)備好接收數(shù)據(jù)的信息。
[0019]3)設(shè)備接收主機(jī)側(cè)的Data FIS(該FIS最多可以負(fù)載8192Byts的數(shù)據(jù))。
[0020]4)如果還有數(shù)據(jù)需要接收則回到步驟2)。
[0021]5)設(shè)備向主機(jī)發(fā)送Register Device to Host FIS (簡(jiǎn)稱(chēng)D2H),用于通知主機(jī)命令執(zhí)行結(jié)果。
[0022]與P1-1N傳輸類(lèi)型類(lèi)似,在以上步驟中步驟2)是步驟3)的準(zhǔn)備階段,但對(duì)于架構(gòu)②來(lái)講,步驟2)是多余的,這是因?yàn)樵诩軜?gòu)②中,數(shù)據(jù)傳輸無(wú)需通過(guò)主機(jī)側(cè)的HBA,而是直接通過(guò)PCIe總線完成的,數(shù)據(jù)傳輸過(guò)程中的交互完全通過(guò)PCIe總線實(shí)現(xiàn),所以不需要通過(guò)步驟2)的準(zhǔn)備。
[0023]圖6為DMA-OUT類(lèi)型傳輸示意圖,該圖描述的傳輸實(shí)現(xiàn)為當(dāng)前架構(gòu)①和②的實(shí)現(xiàn)方式,以下將描述該方式的交互過(guò)程以及存在的缺點(diǎn)。
[0024]I)主機(jī)向設(shè)備發(fā)送H2D,通過(guò)該FIS主機(jī)向設(shè)備發(fā)送DMA-OUT的命令請(qǐng)求。
[0025]2)設(shè)備收到DMA-0UT命令請(qǐng)求后向主機(jī)發(fā)送DMA Activate - Device to HostFIS (簡(jiǎn)稱(chēng)DMA Activate FIS),用于向主機(jī)報(bào)告錯(cuò)誤信息或已經(jīng)準(zhǔn)備好接收數(shù)據(jù)的信息。
[0026]3)設(shè)備接收主機(jī)側(cè)的Data FIS(該FIS最多可以負(fù)載8192Byts的數(shù)據(jù))。
[0027]4)如果還有數(shù)據(jù)需要接收則回到步驟2)。
[0028]5)設(shè)備向主機(jī)發(fā)送Register Device to Host FIS (簡(jiǎn)稱(chēng)D2H),用于通知主機(jī)命令執(zhí)行結(jié)果。
[0029]與P10-0UT傳輸類(lèi)型類(lèi)似,在以上步驟中步驟2)是步驟3)的準(zhǔn)備階段,但對(duì)于架構(gòu)②來(lái)講,步驟2)是多余的,這是因?yàn)樵诩軜?gòu)②中,數(shù)據(jù)傳輸無(wú)需通過(guò)主機(jī)側(cè)的HBA,而是直接通過(guò)PCIe總線完成的,數(shù)據(jù)傳輸過(guò)程中的交互完全通過(guò)PCIe總線實(shí)現(xiàn),所以不需要通過(guò)步驟2)的準(zhǔn)備。
[0030]圖7為FPDMA-1N傳輸實(shí)現(xiàn)示意圖,F(xiàn)PDMA傳輸類(lèi)型適用于NCQ (Native CommandQueuing)命令,該類(lèi)型命令支持多級(jí)流水和重新排序功能,不同的命令通過(guò)Tag號(hào)進(jìn)行標(biāo)識(shí)。目前架構(gòu)①和②對(duì)FPDMA-1N的實(shí)現(xiàn)均為圖7所示的實(shí)現(xiàn)方式,以下將詳細(xì)講述該實(shí)現(xiàn)的交互流程以及該實(shí)現(xiàn)的缺點(diǎn)。
[0031]主機(jī)可以先下發(fā)多條NCQ命令,設(shè)備先將所有的命令接收到自己的隊(duì)列中,然后對(duì)隊(duì)列中的命令采用流水處理,同時(shí)也可對(duì)隊(duì)列中的命令進(jìn)行重新排序。以下是FPDMA-1N的傳輸交互步驟。
[0032]I)主機(jī)向設(shè)備發(fā)送H2D,通過(guò)該FIS主機(jī)向設(shè)備發(fā)送FPDMA-1N的命令請(qǐng)求。
[0033]2)設(shè)備向主機(jī)發(fā)送D2H,用于通知主機(jī)命令執(zhí)行狀態(tài)。
[0034]3)如果主機(jī)還有NCQ命令需要發(fā)送到設(shè)備,則回到步驟I)。
[0035]4)設(shè)備向主機(jī)發(fā)送 DMA Setup - Device to Host FIS (簡(jiǎn)稱(chēng) DMA Setup FIS)。
[0036]5)設(shè)備向主機(jī)發(fā)送與步驟4)對(duì)應(yīng)Tag的Data FIS。
[0037]6)步驟4)對(duì)應(yīng)的Tag的數(shù)據(jù)沒(méi)有傳輸完,則回到步驟5)。
[0038]7)還有命令未完成則回到步驟4)。
[0039]8)所有接收到的NCQ命令完成,設(shè)備向主機(jī)發(fā)送Set Device Bits - Device toHost FIS (簡(jiǎn)稱(chēng)SDB FIS),用于向主機(jī)報(bào)告命令執(zhí)行結(jié)果。
[0040]以上步驟中步驟4)是為步驟5)的準(zhǔn)備階段,但對(duì)于架構(gòu)②來(lái)講,步驟4)是多余的,這是因?yàn)樵诩軜?gòu)②中,數(shù)據(jù)傳輸無(wú)需通過(guò)主機(jī)側(cè)的HBA,而是直接通過(guò)PCIe總線完成的,數(shù)據(jù)傳輸過(guò)程中的交互完全通過(guò)PCIe總線實(shí)現(xiàn),所以不需要通過(guò)步驟4)的準(zhǔn)備。
[0041]圖8為FPDMA-0UT傳輸實(shí)現(xiàn)示意圖,F(xiàn)PDMA傳輸類(lèi)型適用于NCQ (Native CommandQueuing)命令,該類(lèi)型命令支持多級(jí)流水和重新排序功能,不同的命令通過(guò)Tag號(hào)進(jìn)行標(biāo)識(shí)。目前架構(gòu)①和②對(duì)FPDMA-0UT的實(shí)現(xiàn)均為圖8所示的實(shí)現(xiàn)方式,以下將詳細(xì)講述該實(shí)現(xiàn)的交互流程以及該實(shí)現(xiàn)的缺點(diǎn)。
[0042]主機(jī)可以先下發(fā)多條NCQ命令,設(shè)備先將所有的命令接收到自己的隊(duì)列中,然后對(duì)隊(duì)列中的命令采用流水處理,同時(shí)也可對(duì)隊(duì)列中的命令進(jìn)行重新排序。以下是FPDMA-0UT的傳輸交互步驟。
[0043]I)主機(jī)向設(shè)備發(fā)送H2D,通過(guò)該FIS主機(jī)向設(shè)備發(fā)送FPDMA-0UT的命令請(qǐng)求。
[0044]2)設(shè)備向主機(jī)發(fā)送D2H,用于通知主機(jī)命令執(zhí)行狀態(tài)。
[0045]3)如果主機(jī)還有NCQ命令需要發(fā)送到設(shè)備,則回到步驟I)。
[0046]4)設(shè)備向主機(jī)發(fā)送 DMA Setup - Device to Host FIS (簡(jiǎn)稱(chēng) DMA Setup FIS)。
[0047]5)設(shè)備接收與步驟4)對(duì)應(yīng)Tag的Data FIS。
[0048]6)如果步驟4)對(duì)應(yīng)的Tag的數(shù)據(jù)傳輸完成,則跳過(guò)步驟7)、8)。
[0049]7)步驟4)的DMA Setup FIS中的Auto-Activate bit位若設(shè)置為1,且設(shè)備使能了 Auto-Activate功能,貝Ij設(shè)備向主機(jī)發(fā)送步驟4對(duì)應(yīng)Tag的DMA Activate FIS,否則進(jìn)入步驟8)。
[0050]8)發(fā)送與步驟4)對(duì)應(yīng)Tag的Data FIS。
[0051 ] 9)步驟4 )對(duì)應(yīng)的Tag的數(shù)據(jù)沒(méi)有傳輸完,則回到步驟7 )。
[0052]10)還有命令未完成則回到步驟4)。
[0053]11)所有接收到的NCQ命令完成,設(shè)備向主機(jī)發(fā)送Set Device Bits - Device toHost FIS (簡(jiǎn)稱(chēng)SDB FIS),用于向主機(jī)報(bào)告命令執(zhí)行結(jié)果。
[0054]以上步驟中步驟4)是為步驟5)的準(zhǔn)備階段,步驟7)為步驟8)的準(zhǔn)備階段,但對(duì)于架構(gòu)②來(lái)講,步驟4)和步驟7)是多余的,這是因?yàn)樵诩軜?gòu)②中,數(shù)據(jù)傳輸無(wú)需通過(guò)主機(jī)側(cè)的HBA,而是直接通過(guò)PCIe總線完成的,數(shù)據(jù)傳輸過(guò)程中的交互完全通過(guò)PCIe總線實(shí)現(xiàn),所以不需要通過(guò)步驟4)和步驟7)的準(zhǔn)備。
[0055]本發(fā)明用到的名詞簡(jiǎn)寫(xiě)解釋如下:
AHCI (Advanced Host Controller Interface)高級(jí)主機(jī)控制器接口--一種接口協(xié)議規(guī)范;
SATA (Serial ΑΤΑ)串行ΑΤΑ——一種接口協(xié)議規(guī)范;
DMA (Direct Memory Access)直接內(nèi)存訪問(wèn)--采用獨(dú)立的模塊進(jìn)行數(shù)據(jù)的搬移,過(guò)程中不需要CPU參與;
NCQ (Native Command Queuing)本地命令隊(duì)列--一種命令集,支持命令排序功能,可實(shí)現(xiàn)命令的并發(fā);
Register Host to Device FIS (
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1