TWI452471B - 用於通用序列匯流排裝置的全雙工控制器與其方法 - Google Patents

用於通用序列匯流排裝置的全雙工控制器與其方法 Download PDF

Info

Publication number
TWI452471B
TWI452471B TW100141832A TW100141832A TWI452471B TW I452471 B TWI452471 B TW I452471B TW 100141832 A TW100141832 A TW 100141832A TW 100141832 A TW100141832 A TW 100141832A TW I452471 B TWI452471 B TW I452471B
Authority
TW
Taiwan
Prior art keywords
data
instruction
usb
output
control chip
Prior art date
Application number
TW100141832A
Other languages
English (en)
Other versions
TW201321993A (zh
Inventor
Hao Hsiang Chang
Ching Shun Hsu
Chegn Fang Liu
Ynug Tai Chen
Original Assignee
Sk Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sk Hynix Inc filed Critical Sk Hynix Inc
Priority to TW100141832A priority Critical patent/TWI452471B/zh
Publication of TW201321993A publication Critical patent/TW201321993A/zh
Application granted granted Critical
Publication of TWI452471B publication Critical patent/TWI452471B/zh

Links

Landscapes

  • Information Transfer Systems (AREA)

Description

用於通用序列匯流排裝置的全雙工控制器與其方法
本發明是有關於一種通用序列匯流排(Universal Serial Bus,USB)裝置,且特別是指一種通用序列匯流排裝置的全雙工(full-duplex)控制器及其方法。
隨著科技的進步,各種採用不同介面的外接裝置都被提出與販賣,其中最常見的外接裝置為USB裝置。一般而言,USB裝置需要外接於主機端,且需要配合主機端來進行各種指令,其中主機端例如是個人電腦、平板電腦或筆記型電腦等具有USB埠的計算機裝置,而指令例如為資料寫入、資料讀取或是主機命令輸出USB裝置的狀態資訊等。
目前多數的USB裝置所採用的傳輸模式(例如,區塊唯傳模式(Bulk-Only Transport))一次僅能執行一個指令,而無法同時進行多個指令。換言之,目前的USB裝置並無法依據目前USB 3.0規格操作於全雙工傳輸模式。
本發明實施例提供一種用於USB裝置的全雙工控制器,此全雙工控制器包括USB介面、指令緩衝器、一個以上的資料輸出緩衝器、一個以上的資料輸入緩衝器、狀態資訊緩衝器、USB控制晶片、儲存裝置、一個以上的輸出緩衝器與一個以上的輸入緩衝器。USB介面用以與主機端連結。指令緩衝器連接該USB介面,且用以暫存來自於主機端的多個指令。一個以上的資料輸出緩衝器連接USB介面,並用以暫存多筆輸出資料,其中該些筆輸出資料係對應指令類型為資料寫入的該些指令。一個以上的資料輸入緩衝器連接USB介面,用以暫存USB控制晶片所獲取的多筆輸入資料,並透過USB介面依序將該些筆輸入資料送至主機端,其中該些筆輸入資料係對應指令類型為資料讀取的該些指令。狀態資訊緩衝器連接該USB介面,其用以暫存狀態資訊,並透過USB介面將狀態資訊送至主機端,其中狀態資訊對應指令類型為輸出狀態資訊的指令。USB控制晶片連接指令緩衝器、一個以上的資料輸出緩衝器、一個以上的資料輸入緩衝器與狀態資訊緩衝器,其用以將依據該些指令的指令類型依特定規則進行排列。儲存裝置連接USB控制晶片,且用以暫存排列後的該些指令。一個以上的輸出緩衝器連接USB控制晶片與內部裝置,其用以暫存USB控制晶片自一個以上的資料輸出緩衝器所獲取的該些筆輸出資料。一個以上的輸入緩衝器連接USB控制晶片與內部裝置,其用以暫存來自於內部裝置的該些筆輸入資料。USB控制晶片依序自儲存裝置讀取該些指令並指示內部裝置執行該些指令。
本發明實施例提供一種用於USB裝置的全雙工控制方法,其步驟說明如下。使用指令緩衝器接收來自於主機端的多個指令。使用一個以上的資料輸出緩衝器儲存來自於主機端的多個輸出資料,其中該些筆輸出資料對應於指令類型為資料寫入之該些指令。使用USB控制晶片自指令緩衝器依序接收該些指令,並且將該些指令依據指令類型依特定規則排列後暫存於儲存裝置中。使用USB控制晶片自儲存裝置讀取指令。若USB控制晶片目前所讀取的指令之指令類型為資料寫入,則使用USB控制晶片自對應的資料輸出緩衝器讀取對應於指令的輸出資料,並將輸出資料送至一個以上的輸出緩衝器中對應的輸出緩衝器,以使內部裝置將輸出資料寫入於其中。若USB控制晶片目前所讀取的指令之指令類型為資料讀取,則使用USB控制晶片指示內部裝置將該指令對應之位址的輸入資料送至一個以上的輸入緩衝器中對應的輸入緩衝器,且USB控制晶片將來自於對應的輸入緩衝器的輸入資料送至一個以上的資料輸入緩衝器中對應的資料輸入緩衝器,以使USB介面將來自於對應的資料輸入緩衝器的輸入資料送至主機端。若USB控制晶片目前所讀取的指令之指令類型為輸出狀態資訊,則使用USB控制晶片指示內部裝置將內部裝置的狀態資訊輸出,且USB控制晶片將狀態資訊送至狀態資訊緩衝器,以使USB介面將來自於狀態資訊緩衝器的狀態資訊送至主機端。
綜上所述,本發明實施例所提供的用於USB裝置全雙工控制器與其方法可以讓USB裝置可以同時地讀取與寫入資料,且甚至可以同時輸出USB裝置之內部裝置的狀態資訊。
為進一步瞭解本發明之技術特徵及內容,請參閱以下有關本發明之詳細說明與附圖,然而所附圖式僅提供參考與說明用,並非用來對本發明加以限制者。
本發明實施例提供一種用於USB裝置的全雙工控制器及其方法,採用所述全雙工控制器或其方法的USB裝置可以同時地讀取與寫入資料,且甚至可以同時輸出USB裝置之內部裝置的狀態資訊。據此,所述USB裝置具有良好的傳輸效能,且可以達到USB 3.0規格所規範的全雙工傳輸模式。
[USB裝置的實施例]
請參閱圖1,圖1為本發明實施例的USB裝置之方塊圖。此USB裝置1包括全雙工控制器10與內部裝置12,其中全雙工控制器10與內部裝置12彼此電性連接,且USB裝置1可透過全雙工控制器10連結於主機端2,以藉此接收主機端2所傳送的指令。另外,USB裝置1可以依據所接收的指令向主機端2要求輸出資料或者將輸入資料傳送給主機端2,甚至,USB裝置1可以依據接收的指令傳送對應的狀態資訊給主機端2。
於此實施例中,全雙工控制器10用接收來自於主機端2的多個指令,並且依據多個指令的指令類型以透過特定規則將多個指令暫存於其中。接著,全雙工控制器10依序讀取其所暫存之多個指令。因為全雙工控制器10依據多個指令的指令類型以特定規則多個指令暫存於其中,因此,當全雙工控制器10讀取與執行其所暫存的多個指令時,可以讓內部裝置12同時地將輸出資料寫入於其中與將其輸入資料送往主機端2,且甚至可以同時輸出內部裝置12的狀態資訊。
指令類型大致上可以分為資料寫入、資料讀取與輸出狀態資訊等類型。因此,在其中一個實施例中,特定規則可以是將至少一個資料寫入(內部裝置12可能為多通道內部裝置,而可以支援同時寫入多筆資料的動作)、至少一個資料讀取(內部裝置12可能為多通道內部裝置,而可以支援同時讀取多筆資料的動作)與一個輸出狀態資訊類型的多個指令視為一個指令集合暫存於全雙工控制器10中。
當全雙工控制器10依序執行指令集合中的多個指令時,可以充分地使內部裝置12同時地進行資料寫入、資料讀取與輸出狀態資訊。因為在內部裝置12進行至少一筆資料寫入之動作(內部裝置12可能為多通道內部裝置,而可以支援同時寫入多筆資料的動作)的同時,此資料寫入的動作並不會影響內部裝置12進行至少一筆資料讀取(內部裝置12可能為多通道內部裝置,而可以支援同時讀取多筆資料的動作)與輸出狀態資訊的動作。
除此之外,上述的特定規則並非用以限定本發明。舉例來說,特定規則也可以是將資料寫入與輸出狀態資訊類型的多個指令、將資料寫入與資料讀取的多個指令、或將資料讀取與輸出狀態資訊類型的多個指令視為一個指令集合暫存於全雙工控制器10中。總而言之,特定規則可以因使用者的需要而有所變化;或者,全雙工控制器10可以具有多個特定規則,且可以透過特定演算法依據狀態資訊判斷目前所須選擇的特定規則。
請繼續參照圖1,全雙工控制器10包括USB介面101、指令緩衝器102、資料輸出緩衝器103、資料輸入緩衝器104、狀態資訊緩衝器105、USB控制晶片106、儲存裝置107、輸出緩衝器108與輸入緩衝器109,其中USB介面101包括接收電路1011與傳送電路1012。USB裝置1透過USB介面101而連結於主機端2。接收電路1011電性連接指令緩衝器102與資料輸出緩衝器103,而傳送電路1012連接資料輸入緩衝器104與狀態資訊緩衝器105。USB控制晶片106連接指令緩衝器102、資料輸出緩衝器103、資料輸入緩衝器104、狀態資訊緩衝器105、輸出緩衝器108、輸入緩衝器109與內部裝置12。
接收電路1011接收來自於主機端2所傳送的多個指令與輸出資料,並且將此多個指令與輸出資料分別送至指令緩衝器102與資料輸出緩衝器103暫存,其中所述輸出資料對應於資料寫入類型之指令。傳送電路1012用以傳送暫存於資料輸入緩衝器104的輸入資料與暫存於狀態資訊緩衝器105的狀態資訊送至主機端2,其中所述輸入資料對應於資料讀取類型之指令。
USB控制晶片106會依據多個指令的指令類型以特定規則將多個指令依序送至儲存裝置107暫存,並且依序執行儲存裝置107所暫存的多個指令。需要說明的是,USB控制晶片106執行指令的時間與內部裝置12完成指令執行的時間往往有一段時間上的差異,因此,USB控制晶片106雖然是依序執行多個指令,但是內部裝置12卻實質上是在同一時間內進行資料寫入、讀取與狀態資訊輸出的動作。
當USB控制晶片106所執行的指令為資料寫入類型的指令時,則USB控制晶片106將資料輸出緩衝器103所暫存的輸出資料送至輸出緩衝器108暫存,並且控制內部裝置12將輸出資料寫入至指令所對應的位址。
當USB控制晶片106所執行的指令為資料讀取類型的指令時,則USB控制晶片106會控制內部裝置12將指令所對應之位址的輸入資料送至輸入緩衝器109暫存,並且在接收暫存於輸入緩衝器109的輸入資料後,將接收的輸入資料送至資料輸入緩衝器104暫存。
當USB控制晶片106所執行的指令為輸出狀態資訊類型的指令時,則USB控制晶片106會獲取內部裝置12的狀態資訊,並且將此狀態資訊送至狀態資訊緩衝器105暫存。
值得一提的是,為了配合內部裝置12同時寫入與讀取數筆資料的動作,輸出緩衝器108與輸入緩衝器109的數量會對應於內部裝置12的通道數目。於圖1的實施例中,內部裝置12為單一通道的內部裝置(亦即僅能同時進行一筆資料寫入與一筆資料讀取的動作),因此,輸出緩衝器108與輸入緩衝器109的數量皆為1個。
附帶一提的是,上述輸入資料、輸出資料、資料輸出緩衝器103、資料輸入緩衝器104、輸出緩衝器108與輸入緩衝器109的「輸入」與「輸出」是針對主機端2為對象而採用的用語,且上述用語並非用以限制本發明。除此之外,主機端2例如是個人電腦、平板電腦或筆記型電腦等具有USB埠的計算機裝置,而內部裝置12例如是單一通道或多通道的快閃硬碟或者具有儲存單元之通訊晶片等周邊裝置。
請接著參照圖1與圖2,圖2是本發明實施例之全雙工控制器中的儲存裝置所儲存之內容的示意圖。儲存裝置107中的所暫存的多個指令是依據指令類型而依特定規則排列,且儲存裝置107具有儲存指標22與執行指標24。儲存指標22用以指示目前可供指令暫取的位址,例如在圖2中,儲存指標22目前所指的位址為ADD_n。執行指標24用以指示目前要執行的之指令的暫存位址,例如在圖2中,執行指標24目前所指的位址為ADD_3。
儲存指標22在儲存裝置107暫存完目前指令於其所指之位址後,儲存指標22的值會自動遞增(例如增加1)。執行指標24在自儲存裝置107讀取完其所指向之位址的指令後,執行指標24的值會自動遞增(例如增加1)。除此之外,儲存指標22或執行指標24在指到位址ADD_n之後,接著將會指向位址ADD_0之記憶空間。換言之,儲存指標22與執行指標24為循環式(cycled)指標。
要說明的是,執行指標24對應位址所暫存的指令被讀取後,若指令的旗標表示此指令於執行後可釋放對應的記憶空間(亦即,flag=free),則此位址的記憶空間將會被清除,而允許儲存裝置107將之後指令可以暫存於此位址。相反地,若指令的旗標表示此指令於執行後不可釋放對應的記憶空間(亦即,flag=no_free),則此位址的記憶空間將不會被清除,且不允許儲存裝置107將之後指令可以暫存於此位址。除此之外,若儲存裝置107的記憶空間已經不足夠,亦即儲存裝置107已經被存滿,則儲存裝置107會送出指令存滿信息(Command_Full_Message)給指令緩衝器102。
於圖2的實施例中,暫存於位址ADD_0~ADD_2之指令Com_1~Com_3的指令類型分別為資料寫入Data_out、資料讀取Data_in與狀態資訊輸出No_data之類型的指令。另外,指令Com_1~Com_3的旗標皆表示此指令於執行後可釋放對應的記憶空間(亦即,flag=free),且指令Com_1~Com_3分別被賦予串流識別(stream identification)或標籤ID_1~ID_3。
指令Com_1~Com_3可以視為依據特定規則排列所形成的一個指令集合251,且當USB控制晶片106依序讀出與執行指令Com_1~Com_3時,內部裝置12可以同時處理指令Com_1~Com_3所對應的動作。內部裝置12在會先執行指令Com_1,但在指令Com_1執行完畢前,會再依序執行指令Com_2與Com_3。然而,因指令Com_2與Com_3的執行並不影響指令Com_1的執行,故內部裝置12可以在同一時間內同時執行Com_1~Com_3。據此,USB裝置1依據目前USB 3.0規格操作於全雙工傳輸模式。
同樣地,位於位址ADD_3~ADD_5之指令Com_4~Com_6可以視為依據特定規則排列所形成的一個指令集合252。在內部裝置12執行完指令Com_3之後,USB控制晶片106依序讀出與執行指令Com_4~Com_6時,內部裝置12可以同時處理指令Com_4~Com_6所對應的動作。不同於指令Com_1~Com_3,指令Com_4~Com_6被執行後,指令Com_4~Com_6並不會被釋放。
[USB裝置的另一實施例]
請接著參照圖3,圖3是本發明另一實施例的USB裝置之方塊圖。不同於圖1的實施例,圖3的USB裝置3之內部裝置32可以同時處理兩筆資料的寫入與兩筆資料的讀取。舉例來說,內部裝置32可以是具有兩個快閃硬碟的內部裝置。
於此實施例中,全雙工控制器30包括USB介面301、指令緩衝器302、資料輸出緩衝器303、304、資料輸入緩衝器304、306、狀態資訊緩衝器307、USB控制晶片308、儲存裝置309、輸出緩衝器310、311與輸入緩衝器312、313,其中USB介面301包括接收電路3011與傳送電路3012。USB裝置3透過USB介面301而連結於主機端2。接收電路3011電性連接指令緩衝器302與資料輸出緩衝器303、304,而傳送電路3012連接資料輸入緩衝器305、306與狀態資訊緩衝器307。USB控制晶片308連接指令緩衝器302、資料輸出緩衝器303、304、資料輸入緩衝器305、306、狀態資訊緩衝器307、輸出緩衝器310、311、輸入緩衝器312、313與內部裝置32。
接收電路3011接收來自於主機端2所傳送的多個指令與輸出資料,並且將此多個指令與輸出資料分別送至指令緩衝器302與資料輸出緩衝器303、304暫存,其中所述輸出資料對應於資料寫入類型之指令。傳送電路3012用以傳送暫存於資料輸入緩衝器305、306的輸入資料與暫存於狀態資訊緩衝器307的狀態資訊送至主機端2,其中所述輸入資料對應於資料讀取類型之指令。
USB控制晶片308會依據多個指令的指令類型以特定規則將多個指令依序送至儲存裝置309暫存,並且依序執行儲存裝置309所暫存的多個指令。需要說明的是,USB控制晶片308執行指令的時間與內部裝置32完成指令執行的時間往往有一段時間上的差異,因此,USB控制晶片308雖然是依序執行多個指令,但是內部裝置32卻實質上是在同一時間內進行資料寫入、讀取與狀態資訊輸出的動作。
當USB控制晶片308依序所執行的兩個指令皆為資料寫入類型的指令時,則USB控制晶片308將資料輸出緩衝器303與304所暫存的兩筆輸出資料送至輸出緩衝器310與311暫存,並且控制內部裝置32將兩筆輸出資料寫入至此兩個指令所對應的位址。
當USB控制晶片308依序所執行的兩個指令為資料讀取類型的指令時,則USB控制晶片308會控制內部裝置32將此兩個指令所對應之位址的兩筆輸入資料送至輸入緩衝器312與313暫存,並且在接收暫存於輸入緩衝器312與313的兩筆輸入資料後,將接收的兩筆輸入資料送至資料輸入緩衝器305與306暫存。
當USB控制晶片308所執行的指令為輸出狀態資訊類型的指令時,則USB控制晶片308會獲取內部裝置32的狀態資訊,並且將此狀態資訊送至狀態資訊緩衝器307暫存。
附帶一提的是,上述輸入資料、輸出資料、資料輸出緩衝器303、304、資料輸入緩衝器305、306、輸出緩衝器310、311與輸入緩衝器312、313的「輸入」與「輸出」是針對主機端2為對象而採用的用語,且上述用語並非用以限制本發明。
請接著參照圖3與圖4,圖4是本發明另一實施例之全雙工控制器中的儲存裝置所儲存之內容的示意圖。儲存裝置309中的所暫存的多個指令是依據指令類型而依特定規則排列,且儲存裝置309具有儲存指標42與執行指標44。
於圖4的實施例中,暫存於位址ADD_0~ADD_4之指令Com_1~Com_5的指令類型分別為兩個資料寫入Data_out、兩個資料讀取Data_in與一個狀態資訊輸出No_data之類型的指令。另外,指令Com_1~Com_5的旗標皆表示此指令於執行後可釋放對應的記憶空間(亦即,flag=free),且指令Com_1~Com_5分別被賦予串流識別或標籤ID_1~ID_5。
指令Com_1~Com_5可以視為依據特定規則排列所形成的一個指令集合451,且當USB控制晶片308依序讀出與執行指令Com_1~Com_5時,內部裝置32可以同時處理指令Com_1~Com_5所對應的動作。內部裝置32在會先執行指令Com_1,但在指令Com_1執行完畢前,會再依序執行指令Com_2~Com_5。然而,因指令Com_2~Com_5的執行並不影響指令Com_1的執行,故內部裝置32可以在同一時間內同時執行Com_1~Com_5。據此,USB裝置3依據目前USB 3.0規格操作於全雙工傳輸模式。
同樣地,位於位址ADD_5~ADD_9指令Com_6~Com_10可以視為依據特定規則排列所形成的一個指令集合452。在內部裝置32執行完指令Com_5之後,USB控制晶片308依序讀出與執行指令Com_6~Com_10時,內部裝置32可以同時處理指令Com_6~Com_10所對應的動作。不同於指令Com_1~Com_5,指令Com_6~Com_10被執行後,指令Com_6~Com_10並不會被釋放。
[全雙工控制方法的實施例]
請參照圖5,圖5是本發明實施例之用於USB裝置的全雙工控制方法的流程圖。圖5的全雙工控制方法係用於上述的全雙工控制器,且此全雙工控制方法可以使用韌體、軟體或硬體的方式來實現。
於此實施例中,內部裝置為多通道的內部裝置,且全雙工控制器具有一個以上的資料輸出緩衝器、一個以上的資料輸入緩衝器、一個指令緩衝器、一個狀態資訊緩衝器、一個以上的輸出緩衝器與一個以上的輸入緩衝器。
在步驟S500中,使用指令緩衝器接收來自於主機端的多個指令。在步驟S502中,使用一個以上的資料輸出緩衝器儲存來自於主機端的多個輸出資料,其中這些輸出資料對應於資料寫入類型之多個指令。
接著,在步驟S504中,使用USB控制晶片自指令緩衝器依序接收多個指令,並且將這些指令依據指令類型以特定規則排列後暫存於儲存裝置中,其中這些暫存於儲存裝置中的多個指令會依序被賦予串流識別或標籤。更進一步地說,USB控制晶片將這些指令依據指令類型以特定規則排列後,依照儲存指標一次儲存一個排列後的指令,且在儲存完此指令後,儲存裝置會將儲存指標遞增。值得一提的是,特定規則的說明如前面所述,故在此便不再贅述。
接著,在步驟S506中,使用USB控制晶片自儲存裝置讀取指令。更進一步地說,USB控制晶片依照執行指標一次讀取一個指令,並且在讀取完此指令後,儲存裝置會將執行指標遞增且依照指令的旗標決定是否將此執行指標所對應的記憶空間釋放。除此之外,要說明的是,依照特定規則排列而暫存的多個指令中的一個指令集合的各指令在被內部裝置執行時,各指令的執行並不會互相影響。然後,在步驟S507中,使用USB控制晶片判斷目前自儲存裝置所讀取之指令的指令類型。
若目前所讀取的指令之指令類型為資料寫入,則在步驟S508中,使用USB控制晶片自對應的資料輸出緩衝器讀取對應於此指令的輸出資料,並將輸出資料送至對應的輸出緩衝器,以使內部裝置可以將此輸出資料寫入於其中。
若目前所讀取的指令之指令類型為資料讀取,則在步驟S510中,使用USB控制晶片指示內部裝置將指令對應之位址的輸入資料送至對應的輸入緩衝器,且USB控制晶片將來自於對應輸入緩衝器的輸入資料送至對應的資料輸入緩衝器,以使USB介面將來自於對應的資料輸入緩衝器的輸入資料送至主機端。
若目前所讀取的指令之指令類型為輸出狀態資訊,則在步驟S512中,使用USB控制晶片指示內部裝置將內部裝置的狀態資訊輸出,且USB控制晶片將此狀態資訊送至狀態資訊緩衝器,以使USB介面將來自於狀態資訊緩衝器的狀態資訊送至主機端。
接著,在步驟S514中,使用USB控制晶片判斷儲存裝置是否已存滿指令。若儲存裝置已存滿指令,則執行步驟S506。若儲存裝置仍未存滿指令,則在步驟S516中,使用USB控制晶片判斷主機端是否仍有指令要送至USB介面。若主機端仍有指令要送至USB介面,則執行步驟S500。
若主機端未有指令要送至USB介面,則在步驟S518中,使用USB控制晶片判斷儲存裝置是否仍有指令需執行。若儲存裝置仍有指令需執行,則執行步驟S506,若儲存裝置未有指令需執行,則結束整個全雙工控制方法。
[實施例的可能功效]
綜上所述,本發明實施例中的用於USB裝置全雙工控制器與其方法可以讓USB裝置可以同時地讀取與寫入資料,且甚至可以同時輸出USB裝置之內部裝置的狀態資訊。據此,所述USB裝置可具有良好的傳輸效能,且可以達到USB 3.0規格所規範的全雙工傳輸模式。
以上所述,僅為本發明之可行實施例,非因此侷限本創作之專利範圍,故舉凡運用本發明說明書及圖式內容所為之等效技術變化,均含於本發明之發明。
1、3...USB裝置
10、30...全雙工控制器
101、301...USB介面
1011、3011...接收電路
1012、3012...傳送電路
102、302...指令緩衝器
103、303、304...資料輸出緩衝器
104、305、306...資料輸入緩衝器
105、307...狀態資訊緩衝器
106、308...USB控制晶片
107、309...儲存裝置
108、310、311...輸出緩衝器
109、312、313...輸入緩衝器
12、32...內部裝置
2...主機端
22、42...儲存指標
24、44...執行指標
251、252、451、454...指令集合
S500~S518...步驟流程
圖1為本發明實施例的USB裝置之方塊圖。
圖2是本發明實施例之全雙工控制器中的儲存裝置所儲存之內容的示意圖。
圖3是本發明另一實施例的USB裝置之方塊圖。
圖4是本發明另一實施例之全雙工控制器中的儲存裝置所儲存之內容的示意圖。
圖5是本發明實施例之用於USB裝置的全雙工控制方法的流程圖。
1...USB裝置
10...全雙工控制器
101...USB介面
1011...接收電路
1012...傳送電路
102...指令緩衝器
103...資料輸出緩衝器
104...資料輸入緩衝器
105...狀態資訊緩衝器
106...USB控制晶片
107...儲存裝置
108...輸出緩衝器
109...輸入緩衝器
12...內部裝置
2...主機端

Claims (10)

  1. 一種用於通用序列匯流排(Universal Serial Bus,USB)裝置的全雙工控制器,包括:一USB介面,用以與一主機端連結;一指令緩衝器,連接該USB介面,用以暫存來自於該主機端的多個指令一個以上的資料輸出緩衝器,連接該USB介面,用以暫存多筆輸出資料,其中該些筆輸出資料係對應指令類型為資料寫入的該些指令;一個以上的資料輸入緩衝器,連接該USB介面,用以暫存一USB控制晶片所獲取的多筆輸入資料,並透過該USB介面依序將該些筆輸入資料送至該主機端,其中該些筆輸入資料係對應指令類型為資料讀取的該些指令;一狀態資訊緩衝器,連接該USB介面,用以暫存一狀態資訊,並透過該USB介面將該狀態資訊送至該主機端,其中該狀態資訊對應指令類型為輸出狀態資訊的該指令;該USB控制晶片,連接該指令緩衝器、該一個以上的資料輸出緩衝器、該一個以上的資料輸入緩衝器與該狀態資訊緩衝器,用以將依據該些指令的指令類型依一特定規則進行排列;一儲存裝置,連接該USB控制晶片,用以暫存排列後的該些指令;一個以上的輸出緩衝器,連接該USB控制晶片與一內部裝置,用以暫存該USB控制晶片自該一個以上的資料輸出緩衝器所獲取的該些筆輸出資料;以及一個以上的輸入緩衝器,連接該USB控制晶片與該內部裝置,用以暫存來自於該內部裝置的該些筆輸入資料;其中該USB控制晶片依序自該儲存裝置讀取該些指令並指示該內部裝置執行該些指令。
  2. 如申請專利範圍第1項所述之用於USB裝置的全雙工控制器,其中該特定規則為依序將一個以上的資料寫入、一個以上的資料讀取與一個輸出狀態資訊之指令類型之該些指令排列成一個指令集合。
  3. 如申請專利範圍第1項所述之用於USB裝置的全雙工控制器,其中當該USB控制晶片目前自該儲存裝置所讀取的該指令之指令類型為資料寫入時,該USB控制晶片自對應的該資料輸出緩衝器獲取該指令所對應的該輸出資料,並將該輸出資料送至對應的該輸出緩衝器,以使該內部裝置將該輸出緩衝器中的該輸出資料寫入。
  4. 如申請專利範圍第1項所述之用於USB裝置的全雙工控制器,其中當該USB控制晶片目前自該儲存裝置所讀取的該指令之指令類型為資料讀取時,該USB控制晶片控制內部裝置輸出對應該指令的該輸入資料至對應的該輸入緩衝器,該USB控制晶片自該輸入緩衝器獲取該輸入資料,並將該輸入資料送至對應的該輸入資料緩衝器。
  5. 如申請專利範圍第1項所述之用於USB裝置的全雙工控制器,其中當該USB控制晶片目前自該儲存裝置所讀取的該指令之指令類型為輸出狀態資訊時,該USB控制晶片指示內部裝置輸出對應該指令的狀態資訊,並將該狀態資訊送至該狀態資訊緩衝器。
  6. 如申請專利範圍第1項所述之用於USB裝置的全雙工控制器,其中該儲存裝置具有一儲存指標與一執行指標,該儲存指標用以指示該USB控制晶片將目前該指令儲存至該儲存裝置的位址,該執行指標用以指示該USB控制晶片目前自該儲存裝置所讀取之指令的位址。
  7. 如申請專利範圍第1項所述之用於USB裝置的全雙工控制器,其中當該USB控制晶片依據該執行指標讀取其對應之位址的指令後,該儲存裝置依照該指令的旗標決定是否將該位址的記憶空間釋放。
  8. 一種用於USB裝置的全雙工控制方法,包括:使用一指令緩衝器接收來自於一主機端的多個指令;使用一個以上的資料輸出緩衝器儲存來自於該主機端的多個輸出資料,其中該些筆輸出資料對應於指令類型為資料寫入之該些指令;使用一USB控制晶片自該指令緩衝器依序接收該些指令,並且將該些指令依據指令類型依一特定規則排列後暫存於一儲存裝置中;使用該USB控制晶片自該儲存裝置讀取該指令;若該USB控制晶片目前所讀取的該指令之指令類型為資料寫入,則使用該USB控制晶片自對應的該資料輸出緩衝器讀取對應於該指令的輸出資 料,並將該輸出資料送至一個以上的輸出緩衝器中對應的該輸出緩衝器,以使一內部裝置將該輸出資料寫入於其中;若該USB控制晶片目前所讀取的該指令之指令類型為資料讀取,則使用該USB控制晶片指示該內部裝置將該指令對應之位址的一輸入資料送至一個以上的輸入緩衝器中對應的該輸入緩衝器,且該USB控制晶片將來自於對應的該輸入緩衝器的該輸入資料送至一個以上的資料輸入緩衝器中對應的該資料輸入緩衝器,以使該USB介面將來自於對應的該資料輸入緩衝器的該輸入資料送至該主機端;以及若該USB控制晶片目前所讀取的該指令之指令類型為輸出狀態資訊,則使用該USB控制晶片指示該內部裝置將該內部裝置的該狀態資訊輸出,且該USB控制晶片將該狀態資訊送至該狀態資訊緩衝器,以使該USB介面將來自於該狀態資訊緩衝器的該狀態資訊送至該主機端。
  9. 如申請專利範圍第8項所述之用於USB裝置的全雙工控制方法,其中該特定規則為依序將一個以上的資料寫入、一個以上的資料讀取與一個輸出狀態資訊之指令類型之該些指令排列成一個指令集合。
  10. 如申請專利範圍第8項所述之用於USB裝置的全雙工控制方法,其中該儲存裝置具有一儲存指標與一執行指標,該儲存指標用以指示該USB控制晶片將目前該指令儲存至該儲存裝置的位址,該執行指標用以指示該USB控制晶片目前自該儲存裝置所讀取之指令的位址,其中當該USB控制晶片依據該執行指標讀取其對應之位址的指令後,該儲存裝置依照該指令的旗標決定是否將該位址的記憶空間釋放。
TW100141832A 2011-11-16 2011-11-16 用於通用序列匯流排裝置的全雙工控制器與其方法 TWI452471B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW100141832A TWI452471B (zh) 2011-11-16 2011-11-16 用於通用序列匯流排裝置的全雙工控制器與其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100141832A TWI452471B (zh) 2011-11-16 2011-11-16 用於通用序列匯流排裝置的全雙工控制器與其方法

Publications (2)

Publication Number Publication Date
TW201321993A TW201321993A (zh) 2013-06-01
TWI452471B true TWI452471B (zh) 2014-09-11

Family

ID=49032346

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100141832A TWI452471B (zh) 2011-11-16 2011-11-16 用於通用序列匯流排裝置的全雙工控制器與其方法

Country Status (1)

Country Link
TW (1) TWI452471B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI703501B (zh) * 2018-08-23 2020-09-01 慧榮科技股份有限公司 具有分散式信箱架構的多處理器系統及其溝通方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200506637A (en) * 2003-08-07 2005-02-16 Ali Corp Host-to-host USB bridge
US20100082893A1 (en) * 2000-01-06 2010-04-01 Super Talent Electronics, Inc. Flash Memory Controller For Electronic Data Flash Card
TW201104447A (en) * 2009-07-24 2011-02-01 Via Tech Inc USB port for employing a plurality of selectable data transmission priority rules

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100082893A1 (en) * 2000-01-06 2010-04-01 Super Talent Electronics, Inc. Flash Memory Controller For Electronic Data Flash Card
TW200506637A (en) * 2003-08-07 2005-02-16 Ali Corp Host-to-host USB bridge
TW201104447A (en) * 2009-07-24 2011-02-01 Via Tech Inc USB port for employing a plurality of selectable data transmission priority rules

Also Published As

Publication number Publication date
TW201321993A (zh) 2013-06-01

Similar Documents

Publication Publication Date Title
CN109726163B (zh) 一种基于spi的通信系统、方法、设备和储存介质
TWI436217B (zh) 用於以記憶體裝置及系統控制主機記憶體存取之方法
US20190018618A1 (en) Methods and apparatuses for executing a plurality of queued tasks in a memory
CN114443529B (zh) 内存直接访问架构、系统、方法、电子设备和介质
US9563368B2 (en) Embedded multimedia card and method of operating the same
JP4669088B1 (ja) 試験装置、試験方法およびプログラム
US7739449B2 (en) Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program
TWI430097B (zh) 資訊處理設備、資訊處理系統、資訊處理方法及電腦程式
KR20110010707A (ko) 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법
TWI587214B (zh) 資料儲存裝置、其控制單元及其任務排序方法
US11199992B2 (en) Automatic host buffer pointer pattern detection
US20120210038A1 (en) External bridge system
US9575887B2 (en) Memory device, information-processing device and information-processing method
US20070079015A1 (en) Methods and arrangements to interface a data storage device
JP4412191B2 (ja) データ転送制御装置及び電子機器
US20110072168A1 (en) Data transfer system with different operating modes
US8386725B2 (en) USB host controller and controlling method for USB host controller
US20150177985A1 (en) Information processing device
US10658046B2 (en) Memory device and method for operating the same
TW201810058A (zh) 周邊介面電路與周邊記憶體系統
TWI452471B (zh) 用於通用序列匯流排裝置的全雙工控制器與其方法
US20090138673A1 (en) Internal memory mapped external memory interface
US9442657B2 (en) Memory system utilizing a connection condition of an interface to transmit data
CN116486868A (zh) 计算高速链路(CXL)上的高速非易失性存储器(NVMe)
JPWO2015155850A1 (ja) 入出力装置及び方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees