專利名稱:平行輸入/輸出數(shù)據(jù)傳輸控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及先進(jìn)技術(shù)封包界面(ATAPI=AT封包界面)器件的數(shù)據(jù)傳輸,更具體的說,涉及允許ATAPI器件能夠容納未對(duì)準(zhǔn)和對(duì)準(zhǔn)平行I/O數(shù)據(jù)傳輸?shù)南到y(tǒng)和方法。
背景技術(shù):
適用于CD-ROM的AT封包界面(ATAPI)是支持CD-ROM播放器和磁帶播放器連接個(gè)人計(jì)算機(jī)的ATA界面的擴(kuò)展。ATAPI標(biāo)準(zhǔn)(SFF-8020i)定義了任務(wù)名稱,一系列適用于傳輸數(shù)據(jù)的外圍器件和個(gè)人計(jì)算所使用的寄存器。根據(jù)ATAPI,命令是采用包的形式來通訊的。一般來說,包是信息的一部分,它可以包括許多包。典型的是,各個(gè)包都包括目的信息和數(shù)據(jù),或者一個(gè)有效載荷。一個(gè)包也可以包括包的ID(PID),數(shù)據(jù),這些構(gòu)成了包的有效載荷,以及循環(huán)冗余度校驗(yàn)(CRC)。因?yàn)樾畔⒌拿恳粋€(gè)包都包括PID,所以就不需要在傳輸包來滿足于重新構(gòu)建信息。與同步數(shù)據(jù)傳輸相比,采用包的許多協(xié)議支持同時(shí)的數(shù)據(jù)傳輸。同時(shí)數(shù)據(jù)傳輸能使視頻數(shù)據(jù)在顯示時(shí)盡可能快地傳輸并且一般能支持非常高的數(shù)據(jù)傳輸率。
然而,ATAPI器件僅僅只要求能支持對(duì)準(zhǔn)的平行I/O(PIO)數(shù)據(jù)傳輸,因?yàn)锳TAPI標(biāo)準(zhǔn)不支持未對(duì)準(zhǔn)PIO數(shù)據(jù)傳輸。ATAPI標(biāo)準(zhǔn)允許只有最后一個(gè)DRQ數(shù)據(jù)傳輸可以具有一個(gè)奇數(shù)位計(jì)數(shù),同時(shí)需要所有的其他DRQ數(shù)據(jù)傳輸都具有偶數(shù)位計(jì)數(shù),以便于避免未對(duì)準(zhǔn)PIO數(shù)據(jù)傳輸。
未對(duì)準(zhǔn)PIO數(shù)據(jù)傳輸?shù)哪芰υ试S用戶將幾個(gè)隨機(jī)的位計(jì)數(shù)傳輸捆綁成一個(gè)單一的命令事務(wù)。這是所期望的,否則在奇數(shù)位計(jì)數(shù)傳輸?shù)那闆r下就需要多個(gè)命令事務(wù)。上述問題的眾所周知的解決方法是禁止未對(duì)準(zhǔn)數(shù)據(jù)傳輸,或者在邏輯檢測(cè)到未對(duì)準(zhǔn)數(shù)據(jù)傳輸時(shí),使用向或從ATAPI器件移動(dòng)數(shù)據(jù)的中間件,但是在發(fā)生未對(duì)準(zhǔn)數(shù)據(jù)傳輸時(shí),這樣會(huì)降低數(shù)據(jù)傳輸?shù)男阅堋?br>
在考慮了上述的優(yōu)點(diǎn)和期望之后,提供了實(shí)現(xiàn)未對(duì)準(zhǔn)PIO數(shù)據(jù)傳輸能力的方法和系統(tǒng),它能夠通過減少命令的內(nèi)部開銷來改善ATAPI器件系統(tǒng)的性能。這種方法和系統(tǒng)對(duì)ATAPI器件的主機(jī)控制器提供了所期望的性能。
發(fā)明內(nèi)容
本發(fā)明提出了支持與ATAPI器件有關(guān)的對(duì)準(zhǔn)和未對(duì)準(zhǔn)PIO兩種數(shù)據(jù)傳輸?shù)目刂破?,該濾紙起采用減小命令的內(nèi)部開銷的方式來提高ATAPI器件系統(tǒng)的性能。32位寬度扇區(qū)的FIFO采用32位單端RAM使用讀寫指針控制邏輯來實(shí)現(xiàn),它可以用于存儲(chǔ)傳輸給或接受來自其他數(shù)據(jù)總線(例如,USB)的包數(shù)據(jù)。32位單端RAM起到了FIFO的功能,且允許USB邊和ATAPI邊都能同時(shí)訪問扇區(qū)FIFO。
根據(jù)一個(gè)實(shí)施例,并行的輸入/輸出數(shù)據(jù)傳輸控制器包括一個(gè)扇區(qū)FIFO,該FIFO可與主機(jī)器件和ATAPI器件同時(shí)通訊;和一個(gè)ATAPI數(shù)據(jù)緩存控制器,其中該ATAPI數(shù)據(jù)緩存控制器構(gòu)成了對(duì)扇區(qū)FIFO讀寫操作的控制,使得扇區(qū)同時(shí)通過主機(jī)數(shù)據(jù)總線與主機(jī)器件通訊和通過ATAPI器件總線與ATAPI器件通訊。
本發(fā)明的其他方面和性能以及本發(fā)明的許多附加的優(yōu)點(diǎn)將通過結(jié)合附圖的下列詳細(xì)討論而變得更加清晰和更加容易理解。
圖1是說明根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)傳輸控制系統(tǒng)的方框圖;圖2是更詳細(xì)說明根據(jù)本發(fā)明一個(gè)實(shí)施例在主機(jī)器件和32位扇區(qū)FIFO之間,以及在ATAPI器件和32位扇區(qū)FIFO之間的同步數(shù)據(jù)傳輸讀和寫操作的方框圖;圖3是更詳細(xì)說明根據(jù)本發(fā)明一個(gè)實(shí)施例的圖1和圖2所示ATAPI數(shù)據(jù)緩存控制器的方框圖;圖4是顯示構(gòu)成與圖3所說明的6位數(shù)據(jù)緩存器有關(guān)的數(shù)據(jù)傳輸讀寫操作控制的邏輯元件的示意圖;圖5A-B是顯示構(gòu)成與圖3所說明的6位數(shù)據(jù)緩存器以及各個(gè)滿標(biāo)志有關(guān)的數(shù)據(jù)傳輸讀寫操作控制的邏輯元件的示意圖。
在上述理想化附圖闡述特殊實(shí)施例的同時(shí),也可以實(shí)現(xiàn)本發(fā)明的其他實(shí)施例,正如在討論中所提示的那樣。在所有情況中,本披露所說明的本發(fā)明實(shí)施例只是用于描述的目的,而不是限制。業(yè)內(nèi)專業(yè)人士可以產(chǎn)生許多其他改進(jìn)和實(shí)施例,但這些都在本發(fā)明的原理和精神的范圍內(nèi)。
具體實(shí)施例方式
圖1是說明根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)據(jù)傳輸控制系統(tǒng)100的方框圖,該數(shù)據(jù)傳輸控制系統(tǒng)100具有未對(duì)準(zhǔn)PIO數(shù)據(jù)傳輸功能,它通過減小命令的內(nèi)部開銷來提高ATAPI器件系統(tǒng)的性能。數(shù)據(jù)傳輸控制系統(tǒng)100包括并行的I/O數(shù)據(jù)傳輸控制器102,該控制器又包括扇區(qū)FIFO104和ATAPI數(shù)據(jù)緩存控制器106。還顯示了ATAPI器件108。ATAPI數(shù)據(jù)緩存控制器106構(gòu)成了可以允許在扇區(qū)FIFO104和主機(jī)總線110之間和在扇區(qū)FIFO104和ATAPI器件總線112之間的未對(duì)準(zhǔn)和對(duì)準(zhǔn)數(shù)據(jù)的傳輸。
正如以上所闡述的那樣,ATAPI器件只要求能支持對(duì)準(zhǔn)并行I/O(PIO)的數(shù)據(jù)傳輸。因?yàn)锳TAPI標(biāo)準(zhǔn)并不支持未對(duì)準(zhǔn)PIO數(shù)據(jù)的傳輸。ATAPI標(biāo)準(zhǔn)允許只有最后一個(gè)DRQ數(shù)據(jù)傳輸可以具有一個(gè)奇數(shù)位計(jì)數(shù),同時(shí)需要所有的其他DRQ數(shù)據(jù)傳輸都具有偶數(shù)位計(jì)數(shù),以便于避免未對(duì)準(zhǔn)PIO數(shù)據(jù)傳輸。
未對(duì)準(zhǔn)PIO數(shù)據(jù)傳輸?shù)哪芰υ试S用戶將幾個(gè)隨機(jī)的位計(jì)數(shù)傳輸捆綁成一個(gè)單一的命令事務(wù)。這是所期望的,否則在奇數(shù)位計(jì)數(shù)傳輸?shù)那闆r下就需要多個(gè)命令事務(wù)。上述問題的眾所周知的解決方法是禁止未對(duì)準(zhǔn)數(shù)據(jù)傳輸,或者在邏輯檢測(cè)到未對(duì)準(zhǔn)數(shù)據(jù)傳輸時(shí),使用向或從ATAPI器件移動(dòng)數(shù)據(jù)的中間件,但是在發(fā)生未對(duì)準(zhǔn)數(shù)據(jù)傳輸時(shí),這樣會(huì)降低數(shù)據(jù)傳輸?shù)男阅堋?br>
圖2是更加詳細(xì)地說明根據(jù)本發(fā)明一個(gè)實(shí)施例在主機(jī)器件和32位扇區(qū)FIFO104之間,以及在ATAPI器件108和32位扇區(qū)FIFO104之間的同步數(shù)據(jù)傳輸讀和寫操作的方框圖200。
圖3是更詳細(xì)說明根據(jù)本發(fā)明一個(gè)實(shí)施例的圖1和圖2所示ATAPI數(shù)據(jù)緩存控制器的方框圖300。具有各自滿標(biāo)志314-324的6位數(shù)據(jù)緩存器302-312用于實(shí)現(xiàn)在扇區(qū)FIFO104和ATAPI16位數(shù)據(jù)總線112之間的數(shù)據(jù)緩存。前4位數(shù)據(jù)緩存器302-308用于緩存主機(jī)寫方向的扇區(qū)FIFO讀的數(shù)據(jù)和用于緩存主機(jī)讀方向接受到的ATAPI器件108的數(shù)據(jù)。最后2位緩存器310,312可以看成與位數(shù)據(jù)緩存起302-308一起構(gòu)成流水線數(shù)據(jù)緩存,以提供流水線的級(jí)。這樣,就消除了對(duì)用于緩存空間有效或緩存數(shù)據(jù)有效的等待級(jí)的需要。
如圖4和圖5所示,一對(duì)2位地址,buf_adr2和buf_adr2_pl,指示用于數(shù)據(jù)源或數(shù)據(jù)空間的位緩存器。特別是,buf_adr2用于指示ATAPI16位數(shù)據(jù)總線的低8位字節(jié)(atapi_data_in(7:0),atapi_data_out(7:0))。buf_adr2_pl是(buf_adr2+1)的數(shù)值;并且它用于指示ATAPI16位數(shù)據(jù)總線的高8位字節(jié)(atapi_data_in(15:8),atapi_data_out(15:8))。更重要的是,由于ATAPI16位數(shù)據(jù)總線112的上部字節(jié)和下部字節(jié)是分別控制的,所以未對(duì)準(zhǔn)和對(duì)準(zhǔn)的數(shù)據(jù)傳輸都能夠完成。對(duì)于主機(jī)寫操作來說,buf_adr2將選擇來自數(shù)據(jù)緩存器的數(shù)據(jù)位來驅(qū)動(dòng)atapi_data_out(7:0),而buf_adr2_pl將選擇來自數(shù)據(jù)緩存器的數(shù)據(jù)位來驅(qū)動(dòng)atapi_data_out(15:8)。對(duì)于主機(jī)讀操作來說,Buf_adr2將選擇來自數(shù)據(jù)緩存器的數(shù)據(jù)位空間來存儲(chǔ)從atapi_data_in(7:0)下一次接受到的數(shù)據(jù),而buf_adr2_pl將選擇來自數(shù)據(jù)緩存器的數(shù)據(jù)位空間來存儲(chǔ)從atapi_data_in(15:8)下一次接受到的數(shù)據(jù)。
圖4是顯示構(gòu)成與圖3所說明的6位數(shù)據(jù)緩存器302-312有關(guān)的數(shù)據(jù)傳輸讀寫操作控制的邏輯元件的示意圖;圖5A-B是顯示構(gòu)成與圖2-3所說明的6位數(shù)據(jù)緩存器302-308,6位滿標(biāo)志314-324和ATAPI寫數(shù)據(jù)有關(guān)的數(shù)據(jù)傳輸讀寫操作控制的邏輯元件的示意圖。
對(duì)主機(jī)寫操作來說,當(dāng)4位數(shù)據(jù)緩存器302-308為空時(shí),ATAPI數(shù)據(jù)緩存控制器106就繼續(xù)預(yù)先輸入來自扇區(qū)FIFO104的下一個(gè)四組數(shù)據(jù),直至扇區(qū)FIFO104為空為止。當(dāng)位數(shù)據(jù)緩存器302-308為空時(shí),緩存器310和312仍舊保持2位數(shù)據(jù),并且該數(shù)據(jù)可以繼續(xù)寫入ATAPI器件108。
對(duì)主機(jī)讀操作來說,當(dāng)位數(shù)據(jù)緩存器302,304,310和312都為滿時(shí),ATAPI數(shù)據(jù)緩存控制器106就將真?zhèn)€四組數(shù)據(jù)寫入到扇區(qū)FIFO104,只要扇區(qū)FIFO104沒有完全滿。當(dāng)位數(shù)據(jù)緩存器302,304,310和312都滿而位緩存器306和308為空時(shí),則為緩存器306和308就能存儲(chǔ)在這時(shí)從ATAPI器件108下一次接受到的數(shù)據(jù)。
總而言之,并行I/O數(shù)據(jù)傳輸控制器102采用減小命令的內(nèi)部開銷來改善ATAPI器件系統(tǒng)的性能的方式能夠支持與ATAPI器件有關(guān)的對(duì)準(zhǔn)和未對(duì)準(zhǔn)的PIO數(shù)據(jù)傳輸。采用使用了讀寫指針控制邏輯的32位單端RAM來實(shí)現(xiàn)32位寬度的扇區(qū)FIFO104,它可以用于存儲(chǔ)傳輸給或接受來自其他數(shù)據(jù)總線(例如,UBS)的包數(shù)據(jù)。32位單端RAM具有FIFO的功能,允許USB邊和ATAPI邊都能同時(shí)訪問FIFO104。
應(yīng)該估計(jì)到,單端RAM作為具有讀寫指針邏輯的FIFO使用,它只允許在任何給定的時(shí)間訪問。由于USB110不允許在包傳輸?shù)倪^程中插入等待狀態(tài),而ATAPI具有握手控制信號(hào)以允許等待狀態(tài)的插入,所以USB110具有比ATAPI邊更高的優(yōu)先權(quán),正如以下進(jìn)一步詳細(xì)描述的那樣。USB2.0提供了480Mb/s的高速度傳輸速率和在數(shù)據(jù)傳輸控制系統(tǒng)中的內(nèi)部時(shí)鐘,除了USB2.0UTM提供了60MHz;所以在高速度下,USB2.0UTM將產(chǎn)生和要求每一個(gè)時(shí)鐘一位的數(shù)據(jù)。隨后,可以采用32位扇區(qū)FIFO104將來自USB110的訪問頻率減小至每4個(gè)時(shí)鐘周期進(jìn)行一次訪問,同時(shí)對(duì)ATAPI邊提供了3個(gè)其余的時(shí)鐘周期來訪問扇區(qū)FIFO104。
當(dāng)USB邊和ATAPI邊同時(shí)訪問扇區(qū)FIFO104時(shí),ATAPI的訪問就會(huì)延遲1個(gè)時(shí)鐘周期,因?yàn)锳TAPI訪問只具有較低的優(yōu)先權(quán)。這個(gè)處理是采用6位數(shù)據(jù)緩存器302-312來完成的,采用6位數(shù)據(jù)緩存器可以緩存比只使用4位這類數(shù)據(jù)緩存器更多的ATAPI16位的傳輸,從而避免等待狀態(tài)的插入。當(dāng)USB邊和ATAPI邊都在同一時(shí)間訪問扇區(qū)FIFO104時(shí),訪問就允許USB訪問之后立即跟著ATAPI訪問的級(jí)連。
當(dāng)與只支持對(duì)準(zhǔn)數(shù)據(jù)傳輸和/或只允許最后的DRQ數(shù)據(jù)傳輸具有奇數(shù)位計(jì)數(shù)的其他解決方法比較時(shí),結(jié)合上述實(shí)施例的本發(fā)明的討論提供了高的性能。
考慮了上述之后,就可以看到本發(fā)明在ATAPI器件PIO數(shù)據(jù)傳輸技術(shù)中具有明顯的進(jìn)步。此外,相當(dāng)詳細(xì)地討論本發(fā)明,一邊于在ATAPI器件PIO數(shù)據(jù)傳輸控制器技術(shù)領(lǐng)域中的專業(yè)人士能獲得應(yīng)用新穎原理和根據(jù)要求構(gòu)成和使用這類特殊元件所需的信息??紤]了上述的討論,應(yīng)該理解到本發(fā)明在結(jié)構(gòu)和操作方面與現(xiàn)有技術(shù)具有明顯的差異。然而,在本文已經(jīng)詳細(xì)地討論本發(fā)明的特殊實(shí)施例的過程,應(yīng)該理解到各種替代、改進(jìn)和取代都沒有脫離下文中權(quán)利要求所定義的本發(fā)明精神和范圍。
權(quán)利要求
1.一種并行輸入/輸出(PIO)數(shù)據(jù)傳輸控制器,包括扇區(qū)FIFO,它基本上可以與主機(jī)器件和先進(jìn)技術(shù)封包界面(ATAPI)器件同時(shí)通訊,以及,ATAPI數(shù)據(jù)緩存控制器,其中,ATAPI數(shù)據(jù)緩存控制器構(gòu)成了控制扇區(qū)FIFO的讀和寫操作,使得扇區(qū)FIFO能同時(shí)通過主機(jī)總線與主機(jī)器件通訊并通過ATAPI器件數(shù)據(jù)總線與ATAPI器件通訊。
2.如權(quán)利要求1所述PIO數(shù)據(jù)傳輸控制器,其特征在于,扇區(qū)FIFO包括單端隨機(jī)存取存儲(chǔ)器(RAM)。
3.如權(quán)利要求2所述PIO數(shù)據(jù)傳輸控制器,其特征在于,扇區(qū)FIFO還包括構(gòu)成與單端RAM通訊的讀和寫指針控制邏輯,使得RAM具有執(zhí)行FIFO操作的功能。
4.如權(quán)利要求1所述PIO數(shù)據(jù)傳輸控制器,其特征在于,ATAPI數(shù)據(jù)緩存控制器包括若干個(gè)構(gòu)成在扇區(qū)FIFO和ATAPI器件數(shù)據(jù)總線之間緩存數(shù)據(jù)且具有滿標(biāo)志的位數(shù)據(jù)緩存器。
5.如權(quán)利要求4所述PIO數(shù)據(jù)傳輸控制器,其特征在于,從若干個(gè)數(shù)據(jù)緩存器中選擇的第一預(yù)定位數(shù)據(jù)緩存器構(gòu)成了適用于主機(jī)寫操作的讀取扇區(qū)FIFO數(shù)據(jù)的緩存器,還構(gòu)成了適用于主機(jī)讀操作的接受ATAPI器件數(shù)據(jù)的緩存器。
6.如權(quán)利要求4所述PIO數(shù)據(jù)傳輸控制器,其特征在于,從若干個(gè)數(shù)據(jù)緩存器中選擇的第二預(yù)定位數(shù)據(jù)緩存器構(gòu)成了流水線數(shù)據(jù)緩存器,以消除與數(shù)據(jù)緩存器空間有效相關(guān)的等待級(jí),還構(gòu)成了消除與緩存器數(shù)據(jù)有效相關(guān)的等待級(jí)。
7.一種并行輸入/輸出(PIO)數(shù)據(jù)傳輸控制器,包括單端隨機(jī)存取存儲(chǔ)器(RAM),它基本上可以與主機(jī)器件和先進(jìn)技術(shù)封包界面(ATAPI)器件同時(shí)通訊,以及,讀寫指針控制邏輯,它構(gòu)成了與單端RAM的通訊,使得RAM具有扇區(qū)FIFO的功能,可基本上通過主機(jī)總線與主機(jī)器件并通過ATAPI器件數(shù)據(jù)總線與ATAPI器件同時(shí)通訊,來選擇性傳輸未對(duì)準(zhǔn)和對(duì)準(zhǔn)的兩種PIO數(shù)據(jù)。
8.一種并行輸入/輸出(PIO)數(shù)據(jù)傳輸控制器,其特征在于,包括單端隨機(jī)存取存儲(chǔ)器(RAM),它基本上可以與主機(jī)器件和先進(jìn)技術(shù)封包界面(ATAPI)器件同時(shí)通訊,以及,用于與單端RAM通訊的部件,使得RAM具有扇區(qū)FIFO的功能,可基本上通過主機(jī)總線與主機(jī)器件和通過ATAPI器件數(shù)據(jù)總線與ATAPI器件同時(shí)通訊,以選擇性傳輸未對(duì)準(zhǔn)和對(duì)準(zhǔn)的兩種PIO數(shù)據(jù)。
9.如權(quán)利要求8所述PIO數(shù)據(jù)傳輸控制器,其特征在于,用于與單端RAM通訊的部件包括讀寫指針控制邏輯。
10.如權(quán)利要求9所述PIO數(shù)據(jù)傳輸控制器,其特征在于,用于與單端RAM通訊的部件還包括若干個(gè)構(gòu)成在扇區(qū)FIFO和ATAPI器件數(shù)據(jù)總線之間緩存數(shù)據(jù)且具有滿標(biāo)志的位數(shù)據(jù)緩存器。
全文摘要
控制器102采用減小命令內(nèi)部開銷和改善ATAPI器件系統(tǒng)性能的方式來支持與ATAPI器件相關(guān)的對(duì)準(zhǔn)和未對(duì)準(zhǔn)PIO數(shù)據(jù)傳輸。32位寬度的扇區(qū)FIFO104采用使用了讀寫指針控制邏輯的32位單端RAM來實(shí)現(xiàn),用于存儲(chǔ)傳輸給或者接受到其他數(shù)據(jù)總線(例如,USB)的包數(shù)據(jù)。32位單端RAM具有FIFO的功能,允許USB邊和ATAPI邊都能同時(shí)訪問扇區(qū)FIFO。
文檔編號(hào)G06F13/38GK1495621SQ03145258
公開日2004年5月12日 申請(qǐng)日期2003年6月24日 優(yōu)先權(quán)日2002年6月24日
發(fā)明者B·T·鄧, B T 鄧 申請(qǐng)人:德克薩斯儀器股份有限公司