TWI676893B - 橋接裝置與資料傳輸方法 - Google Patents

橋接裝置與資料傳輸方法 Download PDF

Info

Publication number
TWI676893B
TWI676893B TW106134777A TW106134777A TWI676893B TW I676893 B TWI676893 B TW I676893B TW 106134777 A TW106134777 A TW 106134777A TW 106134777 A TW106134777 A TW 106134777A TW I676893 B TWI676893 B TW I676893B
Authority
TW
Taiwan
Prior art keywords
buffer memory
data
upstream
data transmission
processor
Prior art date
Application number
TW106134777A
Other languages
English (en)
Other versions
TW201915757A (zh
Inventor
李國隆
Kuo Lung Li
Original Assignee
祥碩科技股份有限公司
Asmedia Technology 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 祥碩科技股份有限公司, Asmedia Technology Inc. filed Critical 祥碩科技股份有限公司
Priority to TW106134777A priority Critical patent/TWI676893B/zh
Priority to US16/027,280 priority patent/US10409748B2/en
Publication of TW201915757A publication Critical patent/TW201915757A/zh
Application granted granted Critical
Publication of TWI676893B publication Critical patent/TWI676893B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

一種橋接裝置包含第一實體層電路、第一緩衝記憶體、直接記憶體存取控制器以及處理器。第一實體層電路用以連接至一上游裝置。第一緩衝記憶體用以儲存第一暫存資料,以經由第一實體層電路與上游裝置進行資料傳輸。直接記憶體存取控制器電性耦接於第一緩衝記憶體,用以存取第一緩衝記憶體中的第一暫存資料,以相應對儲存裝置進行資料讀寫。處理器電性耦接於第一緩衝記憶體與直接記憶體存取控制器。當橋接裝置自上游裝置接收清除特徵指令時,處理器用以重置第一緩衝記憶體與直接記憶體存取控制器以停止上游裝置與橋接裝置之間的資料傳輸。

Description

橋接裝置與資料傳輸方法
本案係關於一種資料傳輸方法,且特別係關於一種橋接裝置的資料傳輸方法。
近來,越來越多外接儲存裝置採用固態硬碟(Solid State Drive,SSD)儲存數位資料。然而,在現有的資料傳輸流程中,當傳輸封包失敗後重啟傳輸時,會發生識別碼標籤重複的問題,進而導致讀寫外接儲存裝置的速度大幅下降。
本案的一態樣為一種橋接裝置。橋接裝置包含第一實體層電路、第一緩衝記憶體、直接記憶體存取控制器以及處理器。第一實體層電路用以連接至一上游裝置。第一緩衝記憶體用以儲存第一暫存資料,以經由第一實體層電路與上游裝置進行資料傳輸。直接記憶體存取控制器電性耦接於第一緩衝記憶體,用以存取第一緩衝記憶體中的第一暫存資料,以相應對儲存裝置進行資料讀寫。處理器電性耦接於第一緩衝記憶體 與直接記憶體存取控制器。當橋接裝置自上游裝置接收清除特徵指令時,處理器用以重置第一緩衝記憶體與直接記憶體存取控制器以停止上游裝置與橋接裝置之間的資料傳輸。
本案的另一態樣為一種資料傳輸方法。資料傳輸方法包含:於上游裝置與橋接裝置中的第一緩衝記憶體之間,經由第一實體層電路進行資料傳輸;由橋接裝置中的直接記憶體存取控制器,存取第一緩衝記憶體中儲存的第一暫存資料,以相應對儲存裝置進行資料讀寫;以及當橋接裝置自上游裝置接收清除特徵指令時,由處理器重置第一緩衝記憶體與直接記憶體存取控制器,以停止上游裝置與橋接裝置之間的資料傳輸。
100‧‧‧橋接裝置
110‧‧‧實體層電路
120‧‧‧緩衝記憶體
122‧‧‧批次傳輸緩衝區
124‧‧‧指令佇列
126‧‧‧狀態暫存器
130‧‧‧直接記憶體存取控制器
140‧‧‧處理器
150‧‧‧記憶體
160‧‧‧實體層電路
170‧‧‧緩衝記憶體
200‧‧‧上游裝置
300‧‧‧資料傳輸方法
310、320、330、340、350‧‧‧操作
400‧‧‧資料傳輸方法
900‧‧‧儲存裝置
D1‧‧‧暫存資料
D2‧‧‧暫存資料
Firmware‧‧‧韌體
CIU1~CIUn、CIUx、CIUy‧‧‧指令資訊單元
SIU1~SIUn、SIUx、SIUy‧‧‧狀態資訊單元
ClearFeature(ENDPOINT_HALT)‧‧‧清除特徵指令
S410~S450、S451~S459‧‧‧步驟
第1圖為根據本案一實施例所繪示的橋接裝置的示意圖。
第2圖為根據本案一實施例所繪示的橋接裝置的示意圖。
第3圖為根據本案一實施例所繪示的資料傳輸方法的示意圖。
第4圖為根據本案一實施例所繪示的資料傳輸方法的流程圖。
於本文中,當一元件被稱為『連接』或『耦接』時,可指『電性連接』或『電性耦接』。『連接』或『耦接』 亦可用以表示二或多個元件間相互搭配操作或互動。此外,雖然本文中使用『第一』、『第二』、…等用語描述不同元件,該用語僅是用以區別以相同技術用語描述的元件或操作。除非上下文清楚指明,否則該用語並非特別指稱或暗示次序或順位,亦非用以限定本發明。
請參考第1圖。第1圖為根據本案一實施例所繪示的橋接裝置100的示意圖。橋接裝置100用以連接於上游裝置200與儲存裝置900之間進行資料傳輸。
如第1圖所示,在一實施例中,橋接裝置100包含實體層電路110、緩衝記憶體120、直接記憶體存取(Direct Memory Access,DMA)控制器130、處理器140以及記憶體150。
在本實施例中,實體層(Port Physical Layer,PHY)電路110用以連接至上游裝置200,作為上游裝置200與橋接裝置100之間的傳輸介面。
緩衝記憶體120電性耦接於實體層電路110,用以儲存暫存資料D1,以經由實體層電路110與上游裝置200進行資料傳輸。上游裝置200寫入資料時,緩衝記憶體120可經由實體層電路110,將上游裝置200輸入的資料存入暫存資料D1。上游裝置200讀取資料時,緩衝記憶體120可將暫存資料D1經由實體層電路110輸出至上游裝置200。
直接記憶體存取控制器130電性耦接於緩衝記憶體120,用以存取緩衝記憶體120中的暫存資料D1,以相應對儲存裝置900進行資料讀寫。
在本實施例中,處理器140電性耦接於緩衝記憶體120與直接記憶體存取控制器130。記憶體150電性耦接於處理器140,用以儲存韌體Firmware。處理器140用以執行儲存記憶體150中的韌體Firmware以控制緩衝記憶體120與直接記憶體存取控制器130,藉此實現資料傳輸。
請一併參考第2圖,第2圖為根據本案一實施例所繪示的橋接裝置100的示意圖。在本實施例中,橋接裝置100可透過不同介面連接至上游裝置200與儲存裝置900。於一實施例中,上游裝置200可為電腦主機,並透過通用序列匯流排(Universal Serial Bus,USB)介面連接於橋接裝置100。儲存裝置900可為外接硬碟裝置,並透過串行ATA(Serial Advanced Technology Attachment,SATA)介面連接於橋接裝置100。藉此,採用不同資料傳輸介面的上游裝置200與儲存裝置900便可透過橋接裝置100進行雙向的資料讀寫傳輸。
在本實施例中,緩衝記憶體120包含批次傳輸緩衝區122(Bulk Buffer)、指令佇列124(CMD Queue)、以及狀態暫存器126(Status Queue)。批次傳輸緩衝區122、指令佇列124以及狀態暫存器126可採用先進先出(First-In-First-Out,FIFO)的架構實現。
批次傳輸緩衝區122用以儲存先前實施例中所述之進行資料讀寫所需的暫存資料D1。指令佇列124用以儲存一或多個指令資訊單元CIU1~CIUn(Command Information Units,CIUs),其中各個指令資訊單元CIU1~CIUn為上游 裝置200所發出的控制傳輸命令,分別具有對應的標籤識別碼ID1~IDn(Tag ID)。
狀態暫存器126用以儲存一或多個狀態資訊單元SIU1~SIUn(Status Information Units,SIUs),其中各個狀態資訊單元SIU1~SIUn亦分別具有對應的標籤識別碼ID1~IDn(Tag ID),用以指示相應的指令資訊單元CIU1~CIUn的執行狀態。
在第2圖所示實施例中,橋接裝置100更包含實體層電路160以及緩衝記憶體170。實體層電路160用以連接至儲存裝置900,作為儲存裝置900與橋接裝置100之間的傳輸介面。緩衝記憶體170用以儲存暫存資料D2,以經由實體層電路160與儲存裝置900進行資料傳輸。在本實施例中,直接記憶體存取控制器130更電性耦接於緩衝記憶體170,並用以存取緩衝記憶體170中的暫存資料D2,以相應對儲存裝置900進行資料讀寫。
藉此,處理器140可執行韌體Firmware控制緩衝記憶體120、直接記憶體存取控制器130以及緩衝記憶體170的操作,以控制直接記憶體存取控制器130交換緩衝記憶體120與緩衝記憶體170中的暫存資料D1、暫存資料D2。如此,上游裝置200(如:電腦主機)便可讀寫儲存裝置900(如:外接硬碟裝置)中的資料。為方便起見,以下段落中將搭配具體圖式和實施例,說明由處理器140執行的資料傳輸方法。
請參考第3圖。第3圖為根據本案一實施例所繪示的資料傳輸方法300示意圖。為便於說明,第3圖中繪示的資 料傳輸方法300搭配第1圖與第2圖中的橋接裝置100進行說明,但不以此為限。如圖所示,資料傳輸方法300包含操作310、操作320、操作330、操作340以及操作350。
如操作310所示,當上游裝置200無法成功傳輸資料封包(data packet),且嘗試次數已達次數上限(如:3次)時,上游裝置200會發出清除特徵指令ClearFeature(ENDPOINT_HALT)至橋接裝置100。於一實施例中,清除特徵指令可為USB(Universal Serial Bus)傳輸協定中所定義的清除特徵指令(CLEAR_FEATURE command)。在一實施例中,上游裝置200送出清除特徵指令ClearFeature(ENDPOINT_HALT)以清除狀態特徵ENDPOINT_HALT。狀態特徵ENDPOINT_HALT用以代表端點是否處於停止工作的狀態。
當橋接裝置100自上游裝置200接收清除特徵指令ClearFeature(ENDPOINT_HALT)時,橋接裝置100可相應執行操作320以及操作330。
如操作320所示,當橋接裝置100自上游裝置200接收到清除特徵指令ClearFeature(ENDPOINT_HALT)時,由處理器140重置緩衝記憶體120中的批次傳輸緩衝區122與直接記憶體存取控制器130,以清除暫存資料D1,並停止上游裝置200與橋接裝置100之間的資料傳輸。
在橋接裝置100包含緩衝記憶體170的實施例中,操作320更包含:當橋接裝置100自上游裝置200接收清除特徵指令ClearFeature(ENDPOINT_HALT)時,由處理器140 重置緩衝記憶體170,以清除暫存資料D2並停止橋接裝置100與儲存裝置900之間的資料傳輸。
如操作330所示,於處理器140重置批次傳輸緩衝區122、直接記憶體存取控制器130以及緩衝記憶體170後,處理器140透過緩衝記憶體120與實體層電路110依序回傳相應的狀態資訊單元SIU1~SIUn至上游裝置200,以表示中斷執行(Abort)尚未完成的指令資訊單元CIU1~CIUn,並於回傳狀態資訊單元SIU1~SIUn之一者後,由處理器140清除指令佇列124中所儲存的指令資訊單元CIU1~CIUn中相應之一者。
當上游裝置200自橋接裝置100接收到狀態資訊單元SIU1~SIUn,且指令資訊單元CIU1~CIUn全數清除後,上游裝置200便可執行操作340以及操作350。
在操作340中,上游裝置200重新傳輸新的指令資訊單元CIU1~CIUn至橋接裝置100。在操作350中,上游裝置200與橋接裝置100之間便可根據新的指令資訊單元CIU1~CIUn重啟資料傳輸,對儲存裝置900進行讀寫。
由於批次傳輸緩衝區122以及緩衝記憶體170已被重置,指令佇列124中原儲存的指令資訊單元CIU1~CIUn也被清除,因此當上游裝置200重啟資料傳輸時傳入的新的指令資訊單元CIU1~CIUn時,標籤識別碼ID1~IDn不會被重複對應到不同的指令資訊單元CIU1~CIUn。藉此,便可避免上游裝置200發送指令並進行資料讀寫的過程中,由於標籤重疊(tag overlapping)導致異常,進而暫停資料傳輸導致讀 寫效率下降的情況發生。在一實施例中,上游裝置200在標籤重疊異常發生時,暫停作動的時間可長達約15秒,大幅降低資料傳輸速度。
為便於說明橋接裝置100於操作320、330的具體操作,請一併參考第4圖。第4圖為根據本案一實施例所繪示的資料傳輸方法400的流程圖。資料傳輸方法400包含步驟S410~S450。
在步驟S410中,於上游裝置200與緩衝記憶體120之間,經由實體層電路110進行資料傳輸。
在一實施例中,在步驟S410中更包含由緩衝記憶體120,自上游裝置200接收並儲存待執行的一或多個指令資訊單元CIU1~CIUn。在一實施例中,橋接裝置100可將暫存資料D1儲存於緩衝記憶體120中的批次傳輸緩衝區122,並將指令資訊單元CIU1~CIUn儲存於緩衝記憶體120中的指令佇列124,以根據指令佇列124中的指令資訊單元CIU1~CIUn依序執行指令進行後續的資料傳輸。
在步驟S420中,由直接記憶體存取控制器130,存取緩衝記憶體120中的批次傳輸緩衝區122儲存的暫存資料D1,以相應對儲存裝置900進行資料讀寫。
在一實施例中,步驟S420進一步包含藉由直接記憶體存取控制器130,於緩衝記憶體120與緩衝記憶體170之間進行資料傳輸,藉由直接記憶體存取控制器130存取緩衝記憶體170中儲存的暫存資料D2,並於儲存裝置900與緩衝記憶體170之間,經由實體層電路160進行資料傳輸。藉此,便可透 過緩衝記憶體120、直接記憶體存取控制器130以及緩衝記憶體170的協同操作傳輸對儲存裝置900進行資料讀寫。
在步驟S430中,當橋接裝置100自上游裝置200接收清除特徵指令ClearFeature(ENDPOINT_HALT)時,執行步驟S440。
在步驟S440中,處理器140判斷目前標籤識別碼IDx的資料傳輸是否完成。若標籤識別碼IDx的資料傳輸已完成,則回到步驟S410以執行下個指令對應的資料傳輸。若標籤識別碼IDx的資料傳輸未完成,則接著執行步驟S450。
在一實施例中,步驟S450進一步包含步驟S451、S452、S453、S454、S455、S456、S457、S458以及S459。
在步驟S451中,處理器140重置緩衝記憶體120與直接記憶體存取控制器130,以停止上游裝置200與橋接裝置100之間的資料傳輸。於一實施例中,處理器140相應重置批次傳輸緩衝區122並清除暫存資料D1。
在步驟S452中,處理器140重置緩衝記憶體170並清除暫存資料D2,以停止橋接裝置100與儲存裝置900之間的資料傳輸。
在步驟S453中,處理器140重置上游裝置200與儲存裝置900之間的複數個傳輸管道(如:輸入傳輸管道與輸出傳輸管道)為閒置狀態。於一實施例中,處理器140相應根據清除特徵指令ClearFeature(ENDPOINT_HALT)清除狀態特徵ENDPOINT_HALT,以將傳輸管道設定為閒置狀態。
在步驟S454中,處理器140移除指令佇列124中對應到目前標籤識別碼IDx的指令資訊單元CIUx,並且不回傳相應的狀態資訊單元SIUx。
在步驟S455中,處理器140查詢指令佇列124中其餘的指令資訊單元CIU1~CIUn中起始之一者(如:指令資訊單元CIU1)相應的標籤識別碼ID1。
在步驟S456中,處理器140透過緩衝記憶體120與實體層電路110回傳對應到標籤識別碼ID1的狀態資訊單元SIU1至上游裝置200,以表示中斷執行指令資訊單元CIU1。 在一實施例中,橋接裝置100可將對應到標籤識別碼ID1~IDn的狀態資訊單元SIU1~SIUn儲存於緩衝記憶體120中的狀態暫存器126。
在步驟S457中,處理器140於回傳狀態資訊單元SIU1至上游裝置200後,移除指令佇列124中對應到標籤識別碼ID1的指令資訊單元CIU1。
在步驟S458中,處理器140判斷指令佇列124中是否還有佇列中的指令資訊單元CIU2~CIUn。
若指令佇列124中還有佇列中的指令資訊單元(如:指令資訊單元CIU2~CIUn),則進入步驟S459。在步驟S459中,處理器140查詢指令佇列124中次一個指令資訊單元(如:指令資訊單元CIU2)的標籤識別碼ID2。藉此,透過重覆上述步驟S456~S459,處理器140便可依序查詢指令資訊單元CIUy相應的標籤識別碼IDy,並由狀態資訊單元SIUy回傳相應標籤識別碼IDy之中斷指令至上游裝置200,並清除 指令資訊單元CIUy,以依序將指令佇列124中的指令資訊單元CIU1~CIUn全數清除,其中y為1至n之間的正整數。
當指令佇列124中已無佇列中的指令資訊單元CIU1~CIUn時,則結束資料傳輸方法400的程序,並等待上游裝置200輸入新的指令資訊單元。如此一來,便可確保上游裝置200和橋接裝置100之間不會發生標籤重疊。
綜上所述,在本案各個實施例中,透過重置橋接裝置中的緩衝記憶體以及直接記憶體存取控制器並清除指令資訊單元,可避免上游裝置重啟資料傳輸時,相同的標籤識別碼重複對應到不同的指令資訊單元。藉此,重啟資料傳輸後便不會因標籤重疊發生操作異常,裝置暫停作動導致讀寫效率大幅下降的現象。
雖然本揭示內容已以實施方式揭露如上,然其並非用以限定本揭示內容,任何熟習此技藝者,在不脫離本揭示內容之精神和範圍內,當可作各種更動與潤飾,因此本揭示內容之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (20)

  1. 一種橋接裝置,包含:一第一實體層電路,用以連接至一上游裝置;一第一緩衝記憶體,用以儲存一第一暫存資料,以經由該第一實體層電路與該上游裝置進行資料傳輸;一第二緩衝記憶體,用以儲存一第二暫存資料,以經由一第二實體層電路與一儲存裝置進行資料傳輸;一直接記憶體存取控制器,電性耦接於該第一緩衝記憶體和該第二緩衝記憶體,用以存取該第一緩衝記憶體中的該第一暫存資料或該第二緩衝記憶體中的該第二暫存資料,以相應對該儲存裝置進行資料讀寫;以及一處理器,電性耦接於該第一緩衝記憶體、該第二緩衝記憶體與該直接記憶體存取控制器;其中當該上游裝置傳輸資料至該第一緩衝記憶體時,若該橋接裝置自該上游裝置接收一清除特徵指令時,該處理器用以重置該第一緩衝記憶體與該直接記憶體存取控制器以停止該上游裝置與該橋接裝置之間的資料傳輸。
  2. 如請求項1所述的橋接裝置,更包含:一第二實體層電路,用以連接至該儲存裝置;以及一第二緩衝記憶體,用以儲存一第二暫存資料,以經由該第二實體層電路與該儲存裝置進行資料傳輸;其中該直接記憶體存取控制器更電性耦接於該第二緩衝記憶體,用以存取該第二緩衝記憶體中的該第二暫存資料,以相應對該儲存裝置進行資料讀寫。
  3. 如請求項2所述的橋接裝置,其中當該橋接裝置自該上游裝置接收該清除特徵指令時,該處理器更用以重置該第二緩衝記憶體以停止該橋接裝置與該儲存裝置之間的資料傳輸。
  4. 如請求項1所述的橋接裝置,其中該第一緩衝記憶體包含一批次傳輸緩衝區,該批次傳輸緩衝區用以儲存該第一暫存資料。
  5. 如請求項1所述的橋接裝置,其中當該橋接裝置自該上游裝置接收該清除特徵指令時,該處理器更用以重置該上游裝置與該儲存裝置之間的多數個傳輸管道為閒置狀態。
  6. 如請求項1所述的橋接裝置,其中該第一緩衝記憶體更用以自該上游裝置接收並儲存待執行的一或多個指令資訊單元;當該橋接裝置自該上游裝置接收該清除特徵指令時,該處理器更用以清除該第一緩衝記憶體中所儲存的該一或多個指令資訊單元。
  7. 如請求項6所述的橋接裝置,其中該第一緩衝記憶體包含一指令佇列,該指令佇列用以儲存該一或多個指令資訊單元。
  8. 如請求項6所述的橋接裝置,其中該處理器更用以透過該第一緩衝記憶體與該第一實體層電路回傳分別相應的一或多個狀態資訊單元至該上游裝置,以表示中斷執行該一或多個指令資訊單元。
  9. 如請求項8所述的橋接裝置,其中該第一緩衝記憶體包含一狀態暫存器,該狀態暫存器用以儲存該一或多個狀態資訊單元。
  10. 如請求項1所述的橋接裝置,更包含:一記憶體,電性耦接於該處理器,用以儲存一韌體,該處理器用以執行該韌體以控制該第一緩衝記憶體與該直接記憶體存取控制器。
  11. 一種資料傳輸方法,包含:於一上游裝置與一橋接裝置中的一第一緩衝記憶體之間,經由一第一實體層電路進行資料傳輸;於一儲存裝置與該橋接裝置中的一第二緩衝記憶體之間,經由一第二實體層電路進行資料傳輸;由該橋接裝置中的一直接記憶體存取控制器,存取該第一緩衝記憶體中儲存的一第一暫存資料或該第二緩衝記憶體中儲存的一第二暫存資料,以相應對該儲存裝置進行資料讀寫;以及當該上游裝置傳輸資料至該第一緩衝記憶體時,若該橋接裝置自該上游裝置接收一清除特徵指令時,由該處理器重置該第一緩衝記憶體與該直接記憶體存取控制器,以停止該上游裝置與該橋接裝置之間的資料傳輸。
  12. 如請求項11所述的資料傳輸方法,其中對該儲存裝置進行資料讀寫的步驟包含:藉由該直接記憶體存取控制器,於該第一緩衝記憶體與該橋接裝置中的一第二緩衝記憶體之間進行資料傳輸;藉由該直接記憶體存取控制器存取該第二緩衝記憶體中儲存的一第二暫存資料;以及於該儲存裝置與該第二緩衝記憶體之間,經由一第二實體層電路進行資料傳輸。
  13. 如請求項12所述的資料傳輸方法,更包含:當該橋接裝置自該上游裝置接收該清除特徵指令時,由該處理器重置該第二緩衝記憶體,以停止該橋接裝置與該儲存裝置之間的資料傳輸。
  14. 如請求項11所述的資料傳輸方法,更包含:將該第一暫存資料儲存於該第一緩衝記憶體中的一批次傳輸緩衝區。
  15. 如請求項11所述的資料傳輸方法,更包含:當該橋接裝置自該上游裝置接收該清除特徵指令時,由該處理器重置該上游裝置與該儲存裝置之間的複數個傳輸管道為閒置狀態。
  16. 如請求項11所述的資料傳輸方法,更包含:由該第一緩衝記憶體,自該上游裝置接收並儲存待執行的一或多個指令資訊單元;以及當該橋接裝置自該上游裝置接收該清除特徵指令時,由該處理器透過該第一緩衝記憶體與該第一實體層電路回傳分別相應的一或多個狀態資訊單元至該上游裝置,以表示中斷執行該一或多個指令資訊單元。
  17. 如請求項16所述的資料傳輸方法,更包含:將該一或多個指令資訊單元儲存於該第一緩衝記憶體中的一指令佇列。
  18. 如請求項16所述的資料傳輸方法,更包含:將該一或多個狀態資訊單元儲存於該第一緩衝記憶體中的一狀態暫存器。
  19. 如請求項16所述的資料傳輸方法,更包含:由該處理器於回傳該一或多個狀態資訊單元至該上游裝置後,清除該第一緩衝記憶體中所儲存的相應的該一或多個指令資訊單元。
  20. 如請求項16所述的資料傳輸方法,其中回傳分別相應的該一或多個狀態資訊單元至該上游裝置的步驟包含:依序查詢該一或多個指令資訊單元相應的一或多個標籤識別碼,並透過該一或多個狀態資訊單元回傳相應該一或多個標籤識別碼之中斷指令至該上游裝置。
TW106134777A 2017-10-11 2017-10-11 橋接裝置與資料傳輸方法 TWI676893B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW106134777A TWI676893B (zh) 2017-10-11 2017-10-11 橋接裝置與資料傳輸方法
US16/027,280 US10409748B2 (en) 2017-10-11 2018-07-04 Bridge device with DMA data transferring to upstream device with reset and clear feature command

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106134777A TWI676893B (zh) 2017-10-11 2017-10-11 橋接裝置與資料傳輸方法

Publications (2)

Publication Number Publication Date
TW201915757A TW201915757A (zh) 2019-04-16
TWI676893B true TWI676893B (zh) 2019-11-11

Family

ID=65993313

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106134777A TWI676893B (zh) 2017-10-11 2017-10-11 橋接裝置與資料傳輸方法

Country Status (2)

Country Link
US (1) US10409748B2 (zh)
TW (1) TWI676893B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190083150A (ko) * 2018-01-03 2019-07-11 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN112835834B (zh) * 2019-11-25 2024-03-19 瑞昱半导体股份有限公司 数据传输系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200905483A (en) * 2007-07-30 2009-02-01 Via Tech Inc Bridges and the related electronic systems and methods for flushing data
TW201235862A (en) * 2011-02-16 2012-09-01 Skymedi Corp External bridge system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718282B1 (en) * 1999-10-20 2004-04-06 Cisco Technology, Inc. Fault tolerant client-server environment
JP4050135B2 (ja) * 2002-11-25 2008-02-20 富士通株式会社 通信デバイス、ホスト装置、及び通信方法
US8200862B2 (en) 2004-03-17 2012-06-12 Super Talent Electronics, Inc. Low-power USB flash card reader using bulk-pipe streaming with UAS command re-ordering and channel separation
US9182996B2 (en) 2013-03-12 2015-11-10 Midnight Mosaic Llc Methods and apparatus for USB tunneling through USB printer device class

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200905483A (en) * 2007-07-30 2009-02-01 Via Tech Inc Bridges and the related electronic systems and methods for flushing data
TW201235862A (en) * 2011-02-16 2012-09-01 Skymedi Corp External bridge system

Also Published As

Publication number Publication date
US10409748B2 (en) 2019-09-10
TW201915757A (zh) 2019-04-16
US20190108151A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
US8631188B1 (en) Data storage device overlapping host data transfer for a write command with inter-command delay
US8990462B2 (en) Storage device, computing system including the same and data transferring method thereof
US9304938B2 (en) Storage device and data transferring method thereof
US8949486B1 (en) Direct memory access to storage devices
US9986028B2 (en) Techniques to replicate data between storage servers
US10558367B2 (en) Adaptive transaction layer packet for latency balancing
TW202042050A (zh) 利用自我調整寫緩衝區釋放的存儲介質編程
WO2016127552A1 (zh) 一种直接内存存取dma控制器及数据传输的方法
US11199992B2 (en) Automatic host buffer pointer pattern detection
US10901624B1 (en) Dummy host command generation for supporting higher maximum data transfer sizes (MDTS)
US9977602B2 (en) Storage system, storage device, and control method of storage system
TWI676893B (zh) 橋接裝置與資料傳輸方法
CN108153582B (zh) Io命令处理方法与介质接口控制器
WO2020087931A1 (zh) 一种数据备份方法、装置及系统
US20110072168A1 (en) Data transfer system with different operating modes
KR100843199B1 (ko) 고속 아이.디.이. 인터페이스 장치 및 그 방법
US10901733B1 (en) Open channel vector command execution
TWI564809B (zh) 單一中斷服務常式執行緒中處理關連於多個請求的返回實體的方法以及使用該方法的裝置
US20150242160A1 (en) Memory system, control method of memory system, and controller
US20160239224A1 (en) Method and system for transferring data over a plurality of control lines
US8856389B1 (en) Efficient data transfers over serial data streams
CN113196253A (zh) 具有主机周转时间的预测器引擎的存储设备
TWI805505B (zh) 排程和執行主機資料更新命令的方法及電腦程式產品及裝置
WO2022126534A1 (zh) 数据处理方法及相关设备
US20160004655A1 (en) Computing system and operating method of the same