TWI714055B - Data transmission method and data transmission system - Google Patents

Data transmission method and data transmission system Download PDF

Info

Publication number
TWI714055B
TWI714055B TW108113259A TW108113259A TWI714055B TW I714055 B TWI714055 B TW I714055B TW 108113259 A TW108113259 A TW 108113259A TW 108113259 A TW108113259 A TW 108113259A TW I714055 B TWI714055 B TW I714055B
Authority
TW
Taiwan
Prior art keywords
temporary storage
packet
data transmission
identification number
storage blocks
Prior art date
Application number
TW108113259A
Other languages
Chinese (zh)
Other versions
TW202040374A (en
Inventor
朱世強
林嘉宏
黃振庭
翁而咨
Original Assignee
瑞昱半導體股份有限公司
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 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW108113259A priority Critical patent/TWI714055B/en
Priority to US16/838,202 priority patent/US11240178B2/en
Publication of TW202040374A publication Critical patent/TW202040374A/en
Application granted granted Critical
Publication of TWI714055B publication Critical patent/TWI714055B/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/107ATM switching elements using shared medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

A data transmission method suitable for a data transmission system with a host and a peripheral device is disclosed. The data transmission method includes the following steps: setting, by a processor of the host, at least one identification number to at least one packet stored in the host; transmitting, by a transmission medium, the at least one packet from the host to the peripheral device; allocating, by the processor of the peripheral device, the at least one packet to several temporary storage blocks of the memory of the peripheral device corresponding to the at least one identification number according to the at least one identification number of the at least one packet, wherein the thresholds of at least two of the temporary storage blocks are different; and when one of the temporary storage blocks reaches the threshold value of the one of the temporary storage blocks, transmitting, by the processor of the peripheral device, the at least one packet stored in the one of the temporary storage blocks.

Description

資料傳輸方法及資料傳輸系統 Data transmission method and data transmission system

本案是有關於一種資料傳輸方法及資料傳輸系統,且特別是有關於通用序列匯流排(USB)的資料傳輸方法及資料傳輸系統。 This case is about a data transmission method and a data transmission system, and particularly a data transmission method and a data transmission system for Universal Serial Bus (USB).

在資料傳輸系統中,若要將主系統記憶體的記憶體中之資料,透過通用序列匯流排(USB)搬移至周邊元件的記憶體中,會採用聚集(aggregation)技術來減少搬移(transfer)次數。然而,針對高優先級之資料,若必須根據排列之順序進行資料之處理,會大幅增加其延遲時間。然若不採用聚集技術,卻會增加中央處理器的利用率。 In a data transmission system, if the data in the memory of the main system memory is to be transferred to the memory of the peripheral components through a universal serial bus (USB), aggregation technology will be used to reduce the transfer (transfer) frequency. However, for high-priority data, if the data must be processed according to the sequence of the arrangement, the delay time will be greatly increased. However, if aggregation technology is not used, it will increase the utilization of the central processing unit.

因此,如何在不增加中央處理器利用率下,將高優先級的資料透過串流模式優先處理,進而改善資料延遲時間,為本領域待改進的間題之一。 Therefore, how to prioritize the processing of high-priority data through the streaming mode without increasing the utilization of the CPU, thereby improving the data delay time, is one of the problems to be improved in the field.

本案之一態樣是在提供一種資料傳輸方法,適用於資料傳輸系統。資料傳輸系統包含主機以及周邊裝置。 資料傳輸方法包含以下步驟:由主機的處理器設定至少一識別號碼予儲存於主機的至少一封包;經由傳輸媒介從主機傳送至少一封包至周邊裝置;由周邊裝置的處理器依據至少一封包的至少一識別號碼分配至少一封包至與至少一識別號碼相對應的周邊裝置的記憶體的多個暫存區塊,其中多個暫存區塊分別包含門檻值,且多個暫存區塊中之至少二者各自的門檻值不同;以及當多個暫存區塊中之一者達到多個暫存區塊中之該者的門檻值時,經由輸出輸入介面傳送多個暫存區塊中之該者所儲存之部分之至少一封包。 One aspect of this case is to provide a data transmission method suitable for data transmission systems. The data transmission system includes a host and peripheral devices. The data transmission method includes the following steps: the processor of the host sets at least one identification number to at least one packet stored in the host; transmits at least one packet from the host to the peripheral device via the transmission medium; At least one identification number is allocated to at least one packet to a plurality of temporary storage blocks of the memory of the peripheral device corresponding to the at least one identification number, wherein the plurality of temporary storage blocks respectively include threshold values, and among the plurality of temporary storage blocks At least the thresholds of the two are different; and when one of the multiple temporary storage blocks reaches the threshold of that one of the multiple temporary storage blocks, the multiple temporary storage blocks are sent through the output input interface At least one package of the part stored by that person.

本案之另一態樣是在提供一種資料傳輸系統,包含主機與周邊裝置。主機包含記憶體以及處理器。記憶體用以儲存至少一封包。處理器用以設定至少一識別號碼予至少一封包,並經由傳輸媒介傳送至少一封包。周邊裝置經由傳輸媒介與主機相連接,用以接收至少一封包。周邊裝置包含記憶體以及處理器。記憶體包含多個暫存區塊。多個暫存區塊分別包含門檻值,多個暫存區塊中之至少二暫存區塊各自的門檻值不同。處理器用以依據至少一封包的至少一識別號碼分配至少一封包至與至少一識別號碼相對應的多個暫存區塊,當多個暫存區塊中之一者達到多個暫存區塊中之該者的門檻值時,經由輸出輸入介面傳送多個暫存區塊中之該者所儲存之部分之至少一封包。 Another aspect of this case is to provide a data transmission system including a host and peripheral devices. The host includes memory and processor. The memory is used to store at least one packet. The processor is used for setting at least one identification number to at least one packet, and transmitting the at least one packet via the transmission medium. The peripheral device is connected to the host via the transmission medium to receive at least one packet. Peripheral devices include memory and processors. The memory contains multiple temporary storage blocks. The plurality of temporary storage blocks respectively include threshold values, and at least two of the plurality of temporary storage blocks have different threshold values. The processor is used to allocate at least one packet to a plurality of temporary storage blocks corresponding to the at least one identification number according to the at least one identification number of the at least one packet, and when one of the plurality of temporary storage blocks reaches the plurality of temporary storage blocks When the threshold value of the one in the one, at least one packet of the portion stored by the one in the plurality of temporary storage blocks is transmitted through the I/O interface.

因此,根據本案之技術態樣,本案之實施例藉由提供一種資料傳輸方法及資料傳輸系統,且特別是有關於通用序列匯流排的資料傳輸方法及資料傳輸系統,藉以在不增 加中央處理器利用率下,將高優先級的資料透過串流模式優先處理,進而改善資料延遲時間。 Therefore, according to the technical aspect of the present case, the embodiments of the present case provide a data transmission method and a data transmission system, and especially a data transmission method and a data transmission system related to a universal serial bus, so as not to increase With increased CPU utilization, high-priority data is processed first through the streaming mode, thereby improving data delay time.

100‧‧‧資料傳輸系統 100‧‧‧Data Transmission System

110‧‧‧主機 110‧‧‧Host

150‧‧‧周邊裝置 150‧‧‧Peripherals

112、152‧‧‧記憶體 112, 152‧‧‧Memory

114、154‧‧‧處理器 114, 154‧‧‧ processor

116、156‧‧‧多工電路 116、156‧‧‧Multiplex circuit

158‧‧‧輸出輸入介面 158‧‧‧Input and output interface

152-1至152-N‧‧‧暫存區塊 152-1 to 152-N‧‧‧temporary block

170‧‧‧傳輸媒介 170‧‧‧Transmission medium

P1至PN‧‧‧封包 P1 to PN‧‧‧Packet

S1至SN‧‧‧識別號碼 S1 to SN‧‧‧identification number

300‧‧‧資料傳輸方法 300‧‧‧Data transmission method

S310至S360‧‧‧步驟 Steps S310 to S360‧‧‧

為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖係根據本案之一些實施例所繪示之一種資料傳輸系統的示意圖;第2圖係根據本案之一些實施例所繪示之一種解釋本發明之資料傳輸方法的示意圖;以及第3圖係根據本案之一些實施例所繪示之一種資料傳輸方法的流程圖。 In order to make the above and other objects, features, advantages and embodiments of the present invention more comprehensible, the description of the accompanying drawings is as follows: Figure 1 is a schematic diagram of a data transmission system according to some embodiments of the present invention Figure 2 is a schematic diagram illustrating the data transmission method of the present invention according to some embodiments of this case; and Figure 3 is a flow chart of a data transmission method according to some embodiments of this case.

以下揭示提供許多不同實施例或例證用以實施本發明的不同特徵。特殊例證中的元件及配置在以下討論中被用來簡化本案。所討論的任何例證只用來作解說的用途,並不會以任何方式限制本發明或其例證之範圍和意義。 The following disclosure provides many different embodiments or illustrations for implementing different features of the present invention. The components and configurations in the special case are used in the following discussion to simplify the case. Any examples discussed are only for illustrative purposes, and will not limit the scope and significance of the present invention or its examples in any way.

第1圖係根據本案之一些實施例所繪示之一種資料傳輸系統100的示意圖。資料傳輸系統100包含主機110以及周邊裝置150。主機110與周邊裝置150經由傳輸媒介170相連接。主機110包含記憶體112以及處理器114。周邊裝置150包含記憶體152、處理器154以及輸出輸入介面158。記憶體152包含多個暫存區塊152-1至152-N。多個 暫存區塊152-1至152-N分別包含門檻值。第1圖所繪示之資料傳輸系統100僅作為例示,但本案並不以此為限。 FIG. 1 is a schematic diagram of a data transmission system 100 according to some embodiments of the present application. The data transmission system 100 includes a host 110 and a peripheral device 150. The host 110 and the peripheral device 150 are connected via a transmission medium 170. The host 110 includes a memory 112 and a processor 114. The peripheral device 150 includes a memory 152, a processor 154, and an input/output interface 158. The memory 152 includes a plurality of temporary storage blocks 152-1 to 152-N. Multiple The temporary storage blocks 152-1 to 152-N contain threshold values respectively. The data transmission system 100 shown in FIG. 1 is only an example, but the case is not limited to this.

於本案實施例中,記憶體112、152為先進先出(First In First Out,FIFO)記憶體。然,本發明中的實施方式不以此為限。於部分實施例中,傳輸媒介170可為通用序列匯流排(USB)傳輸線或是USB介面傳輸電路。於部分實施例中,周邊裝置150可為有線網路卡或無線網路卡,但本發明中的實施方式不以此為限。於部分實施例中,傳輸媒介170係為USB3.0規格。 In the embodiment of this case, the memories 112 and 152 are First In First Out (FIFO) memories. Of course, the implementation of the present invention is not limited to this. In some embodiments, the transmission medium 170 may be a universal serial bus (USB) transmission line or a USB interface transmission circuit. In some embodiments, the peripheral device 150 may be a wired network card or a wireless network card, but the implementation of the present invention is not limited to this. In some embodiments, the transmission medium 170 is a USB3.0 specification.

於連接關係上,主機110與周邊裝置150經由傳輸媒介170相連接。記憶體112與處理器114相耦接。記憶體152與處理器154相耦接,處理器154並與輸出輸入介面158相耦接。 In terms of the connection relationship, the host 110 and the peripheral device 150 are connected via the transmission medium 170. The memory 112 is coupled to the processor 114. The memory 152 is coupled to the processor 154, and the processor 154 is coupled to the input/output interface 158.

於操作關係上,主機110的記憶體112用以儲存至少一封包。當主機110傳送至少一封包至周邊裝置150時,主機110的處理器114設定識別號碼(Stream ID)予各個封包。詳細而言,處理器114判定至少一封包各自的優先度,並依據至少一封包各自的優先度設定至少一識別號碼(Stream ID)予各個封包。接著,主機110的處理器114經由傳輸媒介170傳送至少一封包至周邊裝置150。 In terms of operation, the memory 112 of the host 110 is used to store at least one packet. When the host 110 transmits at least one packet to the peripheral device 150, the processor 114 of the host 110 sets an identification number (Stream ID) to each packet. Specifically, the processor 114 determines the respective priority of at least one packet, and sets at least one identification number (Stream ID) to each packet according to the respective priority of the at least one packet. Then, the processor 114 of the host 110 transmits at least one packet to the peripheral device 150 via the transmission medium 170.

周邊裝置150於接收到主機110所傳送的至少一封包後,周邊裝置150的處理器154依據至少一封包的各自的識別號碼分配至少一封包至與識別號碼相對應的暫存區塊152-1至152-N。當暫存區塊152-1至152-N中之一者 達到門檻值時,處理器154經由輸出輸入介面158執行封包傳送程序,以將暫存於暫存區塊152-1至152-N中之一者之封包經由乙太網路(Ethernet)或其他有線/無線傳輸方式傳送至其他裝置。在另一實施例中,由主機端的處理器114執行上述封包傳送程序。 After the peripheral device 150 receives at least one packet transmitted by the host 110, the processor 154 of the peripheral device 150 allocates at least one packet to the temporary storage block 152-1 corresponding to the identification number according to the respective identification number of the at least one packet. To 152-N. When one of the temporary storage blocks 152-1 to 152-N When the threshold is reached, the processor 154 executes the packet transmission process through the I/O interface 158 to transmit the packets temporarily stored in one of the temporary storage blocks 152-1 to 152-N via Ethernet or other Wired/wireless transmission to other devices. In another embodiment, the processor 114 on the host side executes the packet transfer procedure described above.

於部分實施例中,如上所述的各個暫存區塊152-1至152-N的門檻值係由處理器114所設定。門檻值可為封包數量或儲存容量,但本案不以此為限。在另一實施例中,上述各個暫存區塊152-1至152-N的門檻值係由周邊裝置150的處理器154所設定。 In some embodiments, the threshold value of each temporary storage block 152-1 to 152-N described above is set by the processor 114. The threshold can be the number of packets or storage capacity, but this case is not limited to this. In another embodiment, the threshold value of each temporary storage block 152-1 to 152-N is set by the processor 154 of the peripheral device 150.

詳細而言,請一併參閱第1圖與第2圖。第2圖係根據本案之一些實施例所繪示之一種解釋本發明之資料傳輸方法的示意圖。封包P1至PN係為由第1圖中的主機110傳送至第1圖中的周邊裝置150的封包。第2圖所繪式的暫存區塊152-1至152-N包含不同的長度,用以表示不同的門檻值大小。 For details, please refer to Figure 1 and Figure 2 together. FIG. 2 is a schematic diagram illustrating the data transmission method of the present invention according to some embodiments of the present application. The packets P1 to PN are packets transmitted from the host 110 in FIG. 1 to the peripheral device 150 in FIG. 1. The temporary storage blocks 152-1 to 152-N depicted in FIG. 2 have different lengths to represent different threshold values.

如第2圖所繪示,封包P1至PN各自包含主機110所設定的識別號碼S1至SN中之一者。舉例而言,主機110的處理器114設定封包P1的識別號碼為S1、封包P2的識別號碼為S2、封包P3的識別號碼為S1、封包PN的識別號碼為SN等。接著,主機110以大量傳輸(Bulk Out Transfer)的方式將封包P1至PN傳送至周邊裝置150。 As shown in FIG. 2, the packets P1 to PN each include one of the identification numbers S1 to SN set by the host 110. For example, the processor 114 of the host 110 sets the identification number of the packet P1 to S1, the identification number of the packet P2 to S2, the identification number of the packet P3 to S1, the identification number of the packet PN to SN, and so on. Next, the host 110 transmits the packets P1 to PN to the peripheral device 150 in a bulk out transfer manner.

於周邊裝置150接收到封包P1至PN後,處理器154依據封包P1至PN各自的識別號碼將封包P1至PN儲存 至與識別號碼相對應的暫存區塊152-1至152-N。舉例而言,由於封包P1的識別號碼為S1,處理器154將封包P1分配至與識別號碼為S1相對應的暫存區塊152-1儲存;由於封包P2的識別號碼為S2,處理器154將封包P2分配至與識別號碼為S2相對應的暫存區塊152-2儲存;由於封包P3的識別號碼為S1,處理器154將封包P3分配至與識別號碼為S1相對應的暫存區塊152-1儲存;由於封包PN的識別號碼為SN,處理器154將封包PN分配至與識別號碼為SN相對應的暫存區塊152-N儲存,其餘依此類推。 After the peripheral device 150 receives the packets P1 to PN, the processor 154 stores the packets P1 to PN according to the respective identification numbers of the packets P1 to PN To the temporary storage blocks 152-1 to 152-N corresponding to the identification numbers. For example, since the identification number of the packet P1 is S1, the processor 154 allocates the packet P1 to the temporary storage block 152-1 corresponding to the identification number S1 for storage; since the identification number of the packet P2 is S2, the processor 154 The packet P2 is allocated to the temporary storage block 152-2 corresponding to the identification number S2 for storage; since the identification number of the packet P3 is S1, the processor 154 allocates the packet P3 to the temporary storage area corresponding to the identification number S1 Block 152-1 stores; since the identification number of the packet PN is SN, the processor 154 allocates the packet PN to the temporary storage block 152-N corresponding to the identification number SN for storage, and the rest can be deduced by analogy.

接著,當暫存區塊152-1至152-N中之一者達到門檻值時,處理器154將暫存區塊152-1至152-N中之一者所儲存之封包送出。 Then, when one of the temporary storage blocks 152-1 to 152-N reaches the threshold, the processor 154 sends out the packets stored in one of the temporary storage blocks 152-1 to 152-N.

於部分實施例中,用以處理高優先度封包的暫存區塊包含較小的門檻值,用以儲存高優先度的封包。 In some embodiments, the temporary storage block used to process high-priority packets contains a smaller threshold value for storing high-priority packets.

如第2圖所繪示,暫存區塊152-2的門檻值小於其餘之暫存區塊的門檻值,即暫存區塊152-2係用以儲存高優先度的封包。當第1圖中的處理器114判定封包P2係為高優先度的封包時,處理器114設定封包P2的封包的識別號碼為S2。如此,當封包P2被傳送至周邊裝置150時,處理器152將高優先度的封包P2儲存至暫存區塊152-2。 As shown in Figure 2, the threshold value of the temporary storage block 152-2 is smaller than the threshold values of the remaining temporary storage blocks, that is, the temporary storage block 152-2 is used to store high-priority packets. When the processor 114 in Figure 1 determines that the packet P2 is a high priority packet, the processor 114 sets the identification number of the packet of the packet P2 to S2. In this way, when the packet P2 is transmitted to the peripheral device 150, the processor 152 stores the high-priority packet P2 in the temporary storage block 152-2.

由於暫存區塊152-2有較小的門檻值,儲存於暫存區塊152-2中的封包可較快被送出。舉例而言,假設暫存區塊152-2的門檻值為1個封包。當封包P2被儲存於暫存區塊152-2時,暫存區塊152-2即達到門檻值,因此,封包 P2即可被送出。相較於暫存區塊152-2,其餘的暫存區塊152-1、152-3至152-N等包含有較大的門檻值,儲存於其餘的暫存區塊152-1、152-3至152-N等的封包需等到其所屬的暫存區塊152-1、152-3及152-N達到各自的門檻值後,才會被送出。 Since the temporary storage block 152-2 has a smaller threshold, the packets stored in the temporary storage block 152-2 can be sent out faster. For example, suppose the threshold value of the temporary storage block 152-2 is 1 packet. When the packet P2 is stored in the temporary storage block 152-2, the temporary storage block 152-2 reaches the threshold value. Therefore, the packet P2 can be sent. Compared with the temporary storage block 152-2, the remaining temporary storage blocks 152-1, 152-3 to 152-N, etc. contain larger threshold values and are stored in the remaining temporary storage blocks 152-1, 152 Packets from -3 to 152-N will not be sent until the temporary storage blocks 152-1, 152-3 and 152-N to which they belong have reached their respective thresholds.

於部分實施例中,當儲存於暫存區塊152-1至152-N中之一者的封包送出完畢時,周邊裝置150的處理器154釋放暫存區塊152-1至152-N中之一者的空間。舉例而言,當處理器154將暫存區塊152-2的封包經由輸出輸入介面158送出後,處理器154釋放暫存區塊152-2的空間。如此一來,其餘包含有識別號碼S2的封包即可被儲存於暫存區塊152-2中。 In some embodiments, when the packet stored in one of the temporary storage blocks 152-1 to 152-N is sent, the processor 154 of the peripheral device 150 releases the temporary storage blocks 152-1 to 152-N One of the space. For example, when the processor 154 sends the packet of the temporary storage block 152-2 through the I/O interface 158, the processor 154 releases the space of the temporary storage block 152-2. In this way, the remaining packets containing the identification number S2 can be stored in the temporary storage block 152-2.

請回頭參閱第1圖。於部分實施例中,處理器114更包含多工電路116,用以自記憶體112取得至少一封包,並依據各個封包的優先度設定識別號碼予各個封包。於部分實施例中,處理器154更包含多工電路156,用以由各個封包中取得各個封包的識別號碼,並依據識別號碼將至少一封包分配至相對應的暫存區塊。 Please refer back to Figure 1. In some embodiments, the processor 114 further includes a multiplexing circuit 116 for obtaining at least one packet from the memory 112 and setting an identification number for each packet according to the priority of each packet. In some embodiments, the processor 154 further includes a multiplexing circuit 156 for obtaining the identification number of each packet from each packet, and assigning at least one packet to the corresponding temporary storage block according to the identification number.

如上所述,於本案的實施例中,藉由設定不同的門檻值于周邊裝置的各個暫存區塊,並設定識別號碼予各個封包。如此,即可在將在不增加中央處理器利用率下,將高優先級的資料儲存於門檻值較低的暫存區塊,以於串流模式下優先處理,進而改善資料延遲時間。 As described above, in the embodiment of this case, different threshold values are set in each temporary storage block of the peripheral device, and an identification number is set to each packet. In this way, high-priority data can be stored in a temporary storage block with a lower threshold value without increasing the utilization of the CPU, so that it can be processed first in the streaming mode, thereby improving the data delay time.

請參閱第3圖。第3圖係根據本案之一些實施例 所繪示之一種資料傳輸方法300。如第3圖所示,資料傳輸方法300包含步驟S310至步驟S360。為使本實施例之資料傳輸方法300易於理解,請一併參閱第1圖至第3圖。 Please refer to Figure 3. Figure 3 shows some embodiments according to this case A data transmission method 300 is shown. As shown in Fig. 3, the data transmission method 300 includes steps S310 to S360. To make the data transmission method 300 of this embodiment easy to understand, please refer to FIGS. 1 to 3 together.

步驟S310:設定至少一識別號碼予儲存於主機的至少一封包。於部分實施例中,步驟S310可由如第1圖所繪示的處理器114執行。舉例而言,處理器114的多工電路116自記憶體112取得至少一封包,並依據各個封包的優先度設定識別號碼予各個封包。各個識別號碼分別對應於如第1圖所繪示的暫存區塊152-1至152-N。 Step S310: Set at least one identification number to at least one packet stored in the host. In some embodiments, step S310 may be executed by the processor 114 as shown in FIG. 1. For example, the multiplexing circuit 116 of the processor 114 obtains at least one packet from the memory 112, and sets an identification number for each packet according to the priority of each packet. Each identification number corresponds to the temporary storage blocks 152-1 to 152-N as shown in FIG. 1.

步驟S320:設定周邊裝置的多個暫存區塊各自的門檻值。於部分實施例中,步驟S320可由如第1圖所繪示的處理器114或處理器154執行。舉例而言,處理器114設定不同的門檻值予各個暫存區塊152-1至152-N。門檻值可為封包數量或儲存容量。於部分實施例中,用以儲存並處理高優先度封包的暫存區塊包含有較小的門檻值。 Step S320: Set the respective threshold values of the multiple temporary storage blocks of the peripheral device. In some embodiments, step S320 may be executed by the processor 114 or the processor 154 as shown in FIG. 1. For example, the processor 114 sets different threshold values for the respective temporary storage blocks 152-1 to 152-N. The threshold can be the number of packets or the storage capacity. In some embodiments, the temporary storage block used to store and process high-priority packets contains a smaller threshold value.

步驟S330:從主機傳送至少一封包至周邊裝置。於部分實施例中,步驟S330可由如第1圖所繪示的處理器114執行。舉例而言,處理器114可經由傳輸媒介170將至少一封包傳送至周邊裝置150。於部分實施例中,至少一封包係以大量傳輸(Bulk Out Transfer)的方式傳送。 Step S330: At least one packet is transmitted from the host to the peripheral device. In some embodiments, step S330 may be executed by the processor 114 as shown in FIG. 1. For example, the processor 114 may transmit at least one packet to the peripheral device 150 via the transmission medium 170. In some embodiments, at least one packet is transferred in a bulk transfer (Bulk Out Transfer) manner.

步驟S340:判斷多個暫存區塊中之一者是否達到門檻值。若判定多個暫存區塊中之一者達到門檻值,執行步驟S350。若判定多個暫存區塊中之一者未達到門檻值,執行步驟S330以繼續由主機傳送至少一封包至周邊裝置。 Step S340: Determine whether one of the multiple temporary storage blocks reaches the threshold. If it is determined that one of the plurality of temporary storage blocks reaches the threshold value, step S350 is executed. If it is determined that one of the plurality of temporary storage blocks has not reached the threshold value, step S330 is executed to continue to transmit at least one packet from the host to the peripheral device.

於部分實施例中,步驟S340可由如第1圖所繪示的處理器154執行。舉例而言,請一併參閱第2圖。若暫存區塊152-2的門檻值為1024位元組(Byte)。假設當大小均為1024位元組的封包P3被儲存於暫存區塊152-2時,判定暫存區塊152-2即達到門檻值。反之,若暫存區塊152-1的門檻值為10240位元組,當暫存區塊152-1僅儲存有大小均為1024位元組的封包P1、P3時,判定暫存區塊152-1尚未達到門檻值。 In some embodiments, step S340 may be executed by the processor 154 as shown in FIG. 1. For example, please refer to Figure 2 together. If the threshold of the temporary storage block 152-2 is 1024 bytes (Byte). Assuming that when a packet P3 with a size of 1024 bytes is stored in the temporary storage block 152-2, it is determined that the temporary storage block 152-2 has reached the threshold. Conversely, if the threshold value of the temporary storage block 152-1 is 10240 bytes, when the temporary storage block 152-1 only stores packets P1 and P3 with a size of 1024 bytes, the temporary storage block 152 is determined -1 has not yet reached the threshold.

步驟S350:送出儲存於多個暫存區塊中之一者的封包。於部分實施例中,步驟S350可由如第1圖所繪示的處理器154經由輸出輸入介面158執行。舉例而言,若暫存區塊152-2達到門檻值時,處理器154經由輸出輸入介面158將暫存區塊152-2所儲存的至少一封包經由輸出輸入介面158送出。 Step S350: Send the packet stored in one of the multiple temporary storage blocks. In some embodiments, step S350 may be executed by the processor 154 as shown in FIG. 1 via the input/output interface 158. For example, if the temporary storage block 152-2 reaches the threshold, the processor 154 sends at least one packet stored in the temporary storage block 152-2 through the input/output interface 158 via the input/output interface 158.

步驟S360:釋放多個暫存區塊中之一者的空間。於部分實施例中,S360可由如第1圖所繪示的處理器154執行。舉例而言,若暫存區塊152-2所儲存的至少一封包已經由輸出輸入介面158送出時,處理器154釋放暫存區塊152-2的空間,以使其餘包含有識別號碼S2的封包即可被儲存於暫存區塊152-2中。於部分實施例中,如第3圖所示,於釋放多個暫存區塊中之一者的空間後,回到步驟S340以繼續判斷多個暫存區塊中之一者是否達到門檻值。 Step S360: Release the space of one of the multiple temporary storage blocks. In some embodiments, S360 may be executed by the processor 154 as shown in FIG. 1. For example, if at least one packet stored in the temporary storage block 152-2 has been sent from the I/O interface 158, the processor 154 releases the space of the temporary storage block 152-2 so that the rest of the packets containing the identification number S2 The packet can then be stored in the temporary storage block 152-2. In some embodiments, as shown in Figure 3, after releasing the space of one of the multiple temporary storage blocks, return to step S340 to continue to determine whether one of the multiple temporary storage blocks reaches the threshold .

於部分實施例中,處理器114、154可以是具有儲存、運算、資料讀取、接收信號或訊息、傳送信號或訊息 等功能的伺服器、電路、中央處理單元(central processor unit,CPU)、微處理器(MCU)或其他具有同等功能的裝置。 In some embodiments, the processors 114 and 154 may be capable of storing, computing, reading data, receiving signals or messages, and transmitting signals or messages. Servers, circuits, central processing units (CPU), microprocessors (MCU) or other devices with equivalent functions.

於部分實施例中,記憶體112、152可被實作為唯讀記憶體、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫或熟悉此技藝者可輕易思及具有相同功能之儲存裝置。 In some embodiments, the memory 112, 152 can be implemented as read-only memory, flash memory, floppy disk, hard disk, optical disk, pen drive, tape, database accessible by the network or familiar with this technology It is easy to think of storage devices with the same function.

由上述本案之實施方式可知,本案之實施例藉由提供一種資料傳輸方法及資料傳輸系統,且特別是有關於通用序列匯流排的資料傳輸方法及資料傳輸系統,藉以在不增加中央處理器利用率下,將高優先級的資料透過串流模式優先處理,進而改善資料延遲時間。 It can be seen from the above implementation of the present case that the embodiments of the present case provide a data transmission method and a data transmission system, and especially a data transmission method and a data transmission system related to a universal serial bus, so as to not increase the use of the central processing unit. At low rates, high-priority data is processed first through the streaming mode to improve data delay time.

另外,上述例示包含依序的示範步驟,但該些步驟不必依所顯示的順序被執行。以不同順序執行該些步驟皆在本揭示內容的考量範圍內。在本揭示內容之實施例的精神與範圍內,可視情況增加、取代、變更順序及/或省略該些步驟。 In addition, the above examples include sequential exemplary steps, but these steps need not be executed in the order shown. Performing these steps in different orders is within the scope of the present disclosure. Within the spirit and scope of the embodiments of the present disclosure, the steps may be added, replaced, changed, and/or omitted as appropriate.

雖然本案已以實施方式揭示如上,然其並非用以限定本案,任何熟習此技藝者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾,因此本案之保護範圍當視後附之申請專利範圍所界定者為準。 Although this case has been disclosed as above by way of implementation, it is not intended to limit the case. Anyone who is familiar with this technique can make various changes and modifications without departing from the spirit and scope of the case. Therefore, the scope of protection of this case should be reviewed. The attached patent application scope shall prevail.

300‧‧‧資料傳輸方法 300‧‧‧Data transmission method

S310至S360‧‧‧步驟 Steps S310 to S360‧‧‧

Claims (10)

一種資料傳輸方法,適用於一資料傳輸系統,其中該資料傳輸系統包含一主機以及一周邊裝置,其中該資料傳輸方法包含:由該主機的一處理器設定至少一識別號碼予儲存於該主機的至少一封包;經由一傳輸媒介從該主機傳送該至少一封包至該周邊裝置;由該周邊裝置的一處理器依據該至少一封包的該至少一識別號碼分配該至少一封包至與該至少一識別號碼相對應的該周邊裝置的一記憶體的複數個暫存區塊,其中該些暫存區塊分別包含一門檻值,且該些暫存區塊中之至少二者各自的該門檻值不同;以及當該些暫存區塊中之一者達到該些暫存區塊中之該者的該門檻值時,經由一輸出輸入介面傳送該些暫存區塊中之該者所儲存之部分之該至少一封包。 A data transmission method is suitable for a data transmission system, wherein the data transmission system includes a host and a peripheral device, wherein the data transmission method includes: a processor of the host sets at least one identification number to be stored in the host At least one packet; transmitting the at least one packet from the host to the peripheral device via a transmission medium; a processor of the peripheral device allocates the at least one packet to the at least one packet according to the at least one identification number of the at least one packet A plurality of temporary storage blocks of a memory of the peripheral device corresponding to the identification number, wherein each of the temporary storage blocks includes a threshold value, and at least two of the temporary storage blocks each have the threshold value Different; and when one of the temporary storage blocks reaches the threshold value of that one of the temporary storage blocks, the stored data of that one of the temporary storage blocks is transmitted through an input/output interface Part of it should be at least one package. 如請求項第1項所述之資料傳輸方法,包含:設定該周邊裝置的該些暫存區塊各自的門檻值,其中該門檻值包含一封包數量或一儲存容量;以及由該主機的該處理器判定該至少一封包各自的一優先度。 The data transmission method described in item 1 of the request includes: setting the threshold value of each of the temporary storage blocks of the peripheral device, wherein the threshold value includes the number of packets or a storage capacity; and the host computer The processor determines the priority of each of the at least one packet. 如請求項第1項所述之資料傳輸方法,更包含:依據該至少一封包各自的一優先度設定該至少一識別號碼予該至少一封包,其中該些暫存區塊包含一第一暫存區塊以及一第二暫存區塊,該第一暫存區塊的該門檻值小於該第二暫存區塊的該門檻值,該第一暫存區塊與該至少一識別號碼中的一第一識別號碼相對應;設定一最小門檻值予該第一暫存區塊;以及當該至少一封包中的一第一封包的一優先度係為高時,設定該第一識別號碼予該第一封包。 According to the data transmission method of claim 1, further comprising: setting the at least one identification number to the at least one packet according to a priority of each of the at least one packet, wherein the temporary storage blocks include a first temporary Storage block and a second temporary storage block, the threshold value of the first temporary storage block is less than the threshold value of the second temporary storage block, the first temporary storage block and the at least one identification number Corresponding to a first identification number; set a minimum threshold value for the first temporary storage block; and set the first identification number when a priority of a first packet in the at least one packet is high Give the first packet. 如請求項第1項所述之資料傳輸方法,更包含:當該些暫存區塊中之該者所儲存之部分之該至少一封包送出完畢時,釋放該些暫存區塊中之該者的空間。 The data transmission method described in item 1 of the request further includes: when the at least one packet of the part stored by the one in the temporary storage blocks has been sent out, releasing the temporary storage blocks Space for the person. 如請求項第1項所述之資料傳輸方法,更包含:由該主機的一多工電路自該主機的一記憶體取得該至少一封包中之一者,並依據該至少一封包中之該者的一優先度設定該至少一識別號碼中之一者予該至少一封包中之該者。 The data transmission method of claim 1, further comprising: obtaining one of the at least one packet from a memory of the host by a multiplexing circuit of the host, and according to the at least one packet in the at least one packet A priority of the person sets one of the at least one identification number to the person in the at least one packet. 一種資料傳輸系統,包含: 一主機,包含:一記憶體,用以儲存至少一封包;以及一處理器,用以設定至少一識別號碼予該至少一封包,並經由一傳輸媒介傳送該至少一封包;以及一周邊裝置,經由該傳輸媒介與該主機相連接,用以接收該至少一封包,其中該周邊裝置包含:一記憶體,包含複數個暫存區塊,其中該些暫存區塊分別包含一門檻值,該些暫存區塊中之至少二暫存區塊各自之該門檻值不同;以及一處理器,用以依據該至少一封包的該至少一識別號碼分配該至少一封包至與該至少一識別號碼相對應的該些暫存區塊,當該些暫存區塊中之一者達到該些暫存區塊中之該者的該門檻值時,經由一輸出輸入介面傳送該些暫存區塊中之該者所儲存之部分之該至少一封包。 A data transmission system including: A host includes: a memory for storing at least one packet; and a processor for setting at least one identification number to the at least one packet, and transmitting the at least one packet via a transmission medium; and a peripheral device, It is connected to the host via the transmission medium to receive the at least one packet, wherein the peripheral device includes: a memory, including a plurality of temporary storage blocks, wherein the temporary storage blocks each include a threshold value, the The threshold values of at least two temporary storage blocks in the temporary storage blocks are different; and a processor for allocating the at least one packet to the at least one identification number according to the at least one identification number of the at least one packet Corresponding to the temporary storage blocks, when one of the temporary storage blocks reaches the threshold value of that one of the temporary storage blocks, the temporary storage blocks are transmitted through an input/output interface At least one package of the part stored by that person. 如請求項第6項所述之資料傳輸系統,其中該主機的該處理器更用以設定該些暫存區塊各自的該門檻值,其中該門檻值包含一封包數量或一儲存容量,其中該主機的該處理器更用以判定該至少一封包各自的一優先度。 For the data transmission system described in claim 6, wherein the processor of the host is further used to set the threshold value of each of the temporary storage blocks, wherein the threshold value includes the number of packets or a storage capacity, wherein The processor of the host is further used to determine the respective priority of the at least one packet. 如請求項第6項所述之資料傳輸系統,其中該主機的該處理器更用以依據該至少一封包各自的一優先度設定該至少一識別號碼予該至少一封包,其中該些暫存區 塊包含一第一暫存區塊以及一第二暫存區塊,該第一暫存區塊的該門檻值小於該第二暫存區塊的該門檻值,其中該第一暫存區塊與該至少一識別號碼中的一第一識別號碼相對應,其中當該至少一封包中的一第一封包的一優先度係為高時,設定一最小門檻值予該第一暫存區塊,並設定該第一識別號碼予該第一封包。 According to the data transmission system of claim 6, wherein the processor of the host is further configured to set the at least one identification number to the at least one packet according to a priority of each of the at least one packet, wherein the temporary storage Area The block includes a first temporary storage block and a second temporary storage block. The threshold value of the first temporary storage block is smaller than the threshold value of the second temporary storage block, wherein the first temporary storage block Corresponding to a first identification number in the at least one identification number, wherein when a priority of a first packet in the at least one packet is high, a minimum threshold value is set for the first temporary storage block , And set the first identification number to the first packet. 如請求項第6項所述之資料傳輸系統,其中當該些暫存區塊中之該者所儲存之部分之該至少一封包送出完畢時,釋放該些暫存區塊中之該者的空間。 The data transmission system according to claim 6, wherein when the at least one packet of the part stored by the one in the temporary storage blocks is sent out, the data transmission system in the temporary storage blocks is released space. 如請求項第6項所述之資料傳輸系統,其中該主機的該處理器包含:一多工電路,用以自該主機的該記憶體取得該至少一封包中之一者,並依據該至少一封包中之該者的一優先度設定該至少一識別號碼中之一者予該至少一封包中之該者。 The data transmission system according to claim 6, wherein the processor of the host includes: a multiplexing circuit for obtaining one of the at least one packet from the memory of the host, and according to the at least A priority of the person in a package sets one of the at least one identification number to the person in the at least one package.
TW108113259A 2019-04-16 2019-04-16 Data transmission method and data transmission system TWI714055B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108113259A TWI714055B (en) 2019-04-16 2019-04-16 Data transmission method and data transmission system
US16/838,202 US11240178B2 (en) 2019-04-16 2020-04-02 Data transmission method and data transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108113259A TWI714055B (en) 2019-04-16 2019-04-16 Data transmission method and data transmission system

Publications (2)

Publication Number Publication Date
TW202040374A TW202040374A (en) 2020-11-01
TWI714055B true TWI714055B (en) 2020-12-21

Family

ID=72832081

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108113259A TWI714055B (en) 2019-04-16 2019-04-16 Data transmission method and data transmission system

Country Status (2)

Country Link
US (1) US11240178B2 (en)
TW (1) TWI714055B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540727A (en) * 2009-05-05 2009-09-23 曙光信息产业(北京)有限公司 Hardware shunt method of IP report
TW200947210A (en) * 2008-02-07 2009-11-16 Qualcomm Inc Method and system for wireless USB transfer of isochronous data using bulk data transfer type
TW201104447A (en) * 2009-07-24 2011-02-01 Via Tech Inc USB port for employing a plurality of selectable data transmission priority rules
TW201421249A (en) * 2012-11-29 2014-06-01 Faraday Tech Corp USB super speed hub and associated traffic managing method
TW201720114A (en) * 2015-11-23 2017-06-01 高通公司 Setting a lifetime limit of a data packet to minimize congestion and contention
TW201810016A (en) * 2016-06-27 2018-03-16 高通公司 Systems and methods for using distributed universal serial bus (USB) host drivers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017208182A1 (en) * 2016-06-02 2017-12-07 Marvell Israel (M.I.S.L) Ltd. Packet descriptor storage in packet memory with cache
US11586647B2 (en) * 2016-10-03 2023-02-21 Ocient, Inc. Randomized data distribution in highly parallel database management system
US10826784B2 (en) * 2018-01-22 2020-11-03 Mellanox Technologies, Ltd. High definition, scalable network monitoring and debugging in real-time
US10791057B2 (en) * 2018-10-30 2020-09-29 Intel Corporation Techniques for packet transmit scheduling
US11012697B2 (en) * 2018-12-07 2021-05-18 Qualcomm Incorporated Shared candidate list and parallel candidate list derivation for video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200947210A (en) * 2008-02-07 2009-11-16 Qualcomm Inc Method and system for wireless USB transfer of isochronous data using bulk data transfer type
CN101540727A (en) * 2009-05-05 2009-09-23 曙光信息产业(北京)有限公司 Hardware shunt method of IP report
TW201104447A (en) * 2009-07-24 2011-02-01 Via Tech Inc USB port for employing a plurality of selectable data transmission priority rules
TW201421249A (en) * 2012-11-29 2014-06-01 Faraday Tech Corp USB super speed hub and associated traffic managing method
TW201720114A (en) * 2015-11-23 2017-06-01 高通公司 Setting a lifetime limit of a data packet to minimize congestion and contention
TW201810016A (en) * 2016-06-27 2018-03-16 高通公司 Systems and methods for using distributed universal serial bus (USB) host drivers

Also Published As

Publication number Publication date
TW202040374A (en) 2020-11-01
US11240178B2 (en) 2022-02-01
US20200336440A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
US8312187B2 (en) Input/output device including a mechanism for transaction layer packet processing in multiple processor systems
US20090119460A1 (en) Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space
US20210075745A1 (en) Methods and apparatus for improved polling efficiency in network interface fabrics
US11954528B2 (en) Technologies for dynamically sharing remote resources across remote computing nodes
US10592285B2 (en) System and method for information handling system input/output resource management
WO2021008197A1 (en) Resource allocation method, storage device, and storage system
WO2020000485A1 (en) Nvme-based data writing method, device, and system
US20150254203A1 (en) Information Processing Device, Resource Allocation Method, And Computer-Readable Recording Medium
CN109783002B (en) Data reading and writing method, management equipment, client and storage system
TWI714055B (en) Data transmission method and data transmission system
US9146693B2 (en) Storage control device, storage system, and storage control method
TW200428222A (en) Opportunistic read completion combining
US11914529B2 (en) Systems, methods, and devices for time synchronized storage delivery
WO2022063273A1 (en) Resource allocation method and apparatus based on numa attribute
KR20050080704A (en) Apparatus and method of inter processor communication
CN111865741B (en) Data transmission method and data transmission system
CN104933010A (en) Duplicated data deleting method and apparatus
CN111797050A (en) System on chip
CN113031849A (en) Direct memory access unit and control unit
KR20080048307A (en) Device and method of transfering interrupt in multiprocessor system
US8918593B2 (en) Method and system for memory management
CN113986134B (en) Method for storing data, method and device for reading data
EP3841484B1 (en) Link layer data packing and packet flow control scheme
WO2021135763A1 (en) Data processing method and apparatus, storage medium, and electronic apparatus
WO2022178882A1 (en) Usb-based communication method and apparatus