TWI839237B - 用於執行動態流量整形的方法及其裝置 - Google Patents
用於執行動態流量整形的方法及其裝置 Download PDFInfo
- Publication number
- TWI839237B TWI839237B TW112120090A TW112120090A TWI839237B TW I839237 B TWI839237 B TW I839237B TW 112120090 A TW112120090 A TW 112120090A TW 112120090 A TW112120090 A TW 112120090A TW I839237 B TWI839237 B TW I839237B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- receiving device
- expiration time
- throughput
- application
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000007493 shaping process Methods 0.000 title claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims abstract description 33
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 230000015654 memory Effects 0.000 description 48
- 238000012545 processing Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Abstract
本發明提供了一種用於執行動態流量整形的方法。該方法包括:透過發送裝置的處理器,依據從該發送裝置的應用程式到接收裝置的傳輸的輸送量,調整計時器的到期時間和封包計數門檻值;透過該處理器,保持來自該應用程式的應用封包,直到該到期時間期滿或者封包數量超過該封包計數門檻值;以及透過該處理器,經由互連匯流排將該應用封包發送到該接收裝置。
Description
本發明總體有關於節電技術,以及,更具體地,有關於用於執行動態流量整形(dynamic traffic shaping)的方法、裝置及存儲介質。
除非另有說明,否則本部分中描述的方法不作為後面列出的申請專利範圍的先前技術,以及,不因包含在本部分中而被認為係先前技術。
許多現代電腦系統使用PCIe(peripheral component interconnect express,即,一種高速串列電腦擴展匯流排標準)介面在兩個PCIe裝置之間進行通訊。PCIe的一項重要節電功能是活動狀態電源管理(Active State Power Management,ASPM)。當在給定的PCIe鏈路上啟用ASPM的省電模式(例如,L1子狀態L1.0、L1.1和L1.2),並且該鏈路已經處於空閒狀態一段時間(例如,數十或數百微秒),PCIe鏈路將轉換到省電模式,其中,該省電模式比全功耗、全功能鏈路狀態L0(最高功耗狀態)的功耗少得多。
然而,兩個PCIe裝置之間的分散資料傳輸會由於大量鏈路接入而導致省電模式頻繁中斷。
因此,需要一種用於動態流量整形的方法及其裝置,使得PCIe鏈路能夠長時間不間斷地進入省電模式。
以下揭露的內容僅為示例性的,且不意味著以任何方式加以限制。除所述說明方面、實施方式和特徵之外,透過參照附圖和下述具體實施方式,其他方面、實施方式和特徵也將顯而易見。即,以下揭露的內容被提供以介紹概念、重點、益處及本文所描述新穎且非顯而易見的技術優勢。可選擇但非所有的,實施例將進一步詳細描述如下。因此,以下揭露的內容並不意旨在所要求保護主題的必要特徵,也不意旨在決定所要求保護主題的範圍中使用。
因此,本發明的主要目的在於提供一種用於動態流量整形的方法及其裝置,使得PCIe鏈路能夠長時間不間斷地進入省電模式,並且節省更多功耗。
在示例性實施例中,提供了一種用於執行動態流量整形的方法。該方法包括:透過發送裝置的處理器,依據從該發送裝置的應用程式到接收裝置的傳輸的輸送量,調整計時器的到期時間和封包計數門檻值;透過該處理器,保持來自該應用程式的應用封包,直到該到期時間期滿或者封包數量超過該封包計數門檻值;以及透過該處理器,經由互連匯流排將該應用封包發送到該接收裝置。
在實施例中,當該輸送量處於高輸送量範圍時該計時器的第一期滿時間短於該輸送量處於低輸送量範圍時該計時器的第二期滿時間,及/或當該輸送量處於高輸送量範圍時第一封包計數門檻值小於該輸送量處於低輸送量範圍時第二封包計數門檻值。
在實施例中,依據該傳輸的該輸送量,動態調整該計時器的該到期時間和該封包計數門檻值。
在實施例中,將該應用封包批量發送到該接收裝置。
在實施例中,該互連匯流排是週邊元件高速互連(PCIe)匯流排。
在實施例中,該發送裝置包含根複合體並且該接收裝置包含端點。
在實施例中,該發送裝置包含端點並且該接收裝置包含根複合體。
在示例性實施例中,提供了一種用於執行動態流量整形的裝置。該裝置包括:一個或複數個處理器;以及用於存儲一個或複數個電腦可讀指令的一個或複數個電腦可讀介質。配置該一個或複數個處理器讀取該一個或複數個電腦可讀介質的指令以執行下列任務。該處理器依據從該裝置的應用程式到接收裝置的傳輸的輸送量,調整計時器的到期時間和封包計數門檻值。該處理器保持來自該應用程式的應用封包,直到該到期時間期滿或者封包數量超過該封包計數門檻值。該處理器經由互連匯流排將該應用封包發送到該接收裝置。
在示例性實施例中,提供了一種存儲介質,存儲程式指令,該程式指令由裝置的處理器執行,使得該處理器執行:依據從該發送裝置的應用程式到接收裝置的傳輸的輸送量,調整計時器的到期時間和封包計數門檻值;保持來自該應用程式的應用封包,直到該到期時間期滿或者封包數量超過該封包計數門檻值;經由互連匯流排將該應用封包發送到該接收裝置。
本發明提供的用於執行動態流量整形的方法、裝置及存儲介質可減少PCIe匯流排上低功耗狀態和高功耗狀態之間不必要的轉換,並且節省功耗。
100:鏈路環境
110:發送裝置
120:接收裝置
130:互連匯流排
140:鏈路
112:SOC
114:記憶體
116:根複合體
117:開關
118:端點
1122:處理器
210:處理子系統
220:記憶體子系統
230:匯流排
310:作業系統
312:驅動程式
320:韌體
400:流程圖
S405,S410,S415,S502,S504,S506,S508,S510,S512,S520,S522,S524:步驟
600:計算設備
610:匯流排
612:記憶體
614:處理器
616:顯示元件
618:輸入/輸出埠
620:輸入/輸出元件
622:電源
所包含的附圖用以提供對發明的進一步理解,以及,被併入且構成本發明的一部分。附圖示出了發明的實施方式,並與說明書一起用於解釋本發明的原理。可以理解的是,為了清楚地說明本發明的概念,附圖不一定按比
例繪製,所示出的一些組件可以以超出實際實施方式中尺寸的比例示出。
第1A-1C圖是依據本發明實施例描述的執行動態流量整形的示例鏈路環境的區塊圖。
第2圖是依據本發明實施例描述的接收裝置的區塊圖。
第3圖是依據本發明實施例描述的作業系統的區塊圖,其中,在發送裝置上運行的驅動程式透過PCIe鏈路耦接到接收裝置上運行的韌體。
第4圖是依據本發明實施例描述的用於執行動態流量整形的流程圖。
第5A-5B圖是依據本發明實施例描述的發送裝置與接收裝置之間示例動態流量整形進程的消息序列圖。
第6圖描述了實施本發明實施例的示例操作環境。
在說明書及申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬技術領域的技術人員應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及申請專利範圍並不以名稱的差異作為區分元件的方式,而是以元件在功能上的差異作為區分的準則。在通篇說明書及申請專利範圍中所提及的「包含」為一開放式的用語,故應解釋成「包含但不限定於」。此外,「耦接」一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述第一裝置耦接於第二裝置,則代表第一裝置可直接電氣連接於第二裝置,或透過其它裝置或連接手段間接地電氣連接至第二裝置。
所描述的實施例執行在發送裝置和接收裝置之間的互連匯流排(interconnectivity bus)上的動態流量整形的操作。在所描述實施例中,互連匯流排主要是週邊元件高速互連(PCIe)匯流排,並且發送裝置和接收裝置之間的鏈路可以是符合PCI特殊興趣組(PIC-SIG)PCIe規範(例如,PCI Express 3.0
基本規範修訂版3.0)的PCIe鏈路。
發送裝置可以透過PCIe鏈路與接收裝置進行通訊。接收裝置可以透過PCIe鏈路與發送裝置交換資料和/或其他資訊。然而,當PCIe鏈路在一段時間內保持空閒時,發送裝置和接收裝置可以實施可用的省電模式之一,以減少PCIe鏈路在未被使用時的功耗。發送裝置和接收裝置可以透過從鏈路(L)狀態L0(最高功耗狀態)轉換到PCIe規範定義的較低功耗鏈路(L)狀態(例如,L1子狀態L1.0、L1.1和L1.2)來降低PCIe鏈路的功耗。下面將介紹如何避免PCIe鏈路在L0狀態和低功耗L狀態之間頻繁轉換。
第1A-1C圖是依據本發明實施例描述的執行動態流量整形的示例鏈路環境100的區塊圖。鏈路環境100至少包括發送裝置110和接收裝置120,其中,發送裝置110和接收裝置120透過互連匯流排130進行連接。
發送裝置110可以是(或可以被包括在)透過互連匯流排130與接收裝置120進行通訊的任何設備。例如,發送裝置110可以是(或可以被包括在)膝上型電腦、臺式電腦、伺服器、電器、小型筆記型電腦/上網本、平板電腦、手機、個人數位助理(PDA)、智慧手機或其他設備。值得注意的是,發送裝置110可以包括其他子系統(未示出),包括但不限於通訊子系統、顯示子系統、資料收集子系統、音訊和/或視頻子系統、警報子系統、媒體處理子系統、輸入/輸出(I/O)子系統和/或一個或複數個其他處理子系統(例如,CPU)或電源子系統(例如,電池、電池管理單元和/或其他電源管理子系統)。
接收裝置120可以是透過互連匯流排130與發送裝置110進行通訊的任何設備。接收裝置120可以是或者可以包括一個或複數個設備或系統(例如,週邊設備),其執行功能例如包括,無線通訊、存儲和/或圖形處理。值得注意的是,在一些實施例中,接收裝置120可以位於發送裝置110內部,而在一些實施例中,接收裝置120可以位於發送裝置110的外部。結合下列的第2圖,詳
細討論接收裝置120。
發送裝置110和接收裝置120之間的鏈路140是PCIe鏈路,其允許使用諸如PCI-SIG的PCIe基本規範3.0的PCIe規範,在發送裝置110和接收裝置120之間進行通訊。
發送裝置110可至少包括片上系統(SOC)112和記憶體114。SOC 112至少包括處理器1122並且可包括其他子系統(未示出),例如記憶體、計數器、時鐘、介面調節器、電源管理電路和/或類比及/或數位介面。另外,值得注意的是,在一些實施例中,可以將多於一個的PCIe鏈路140連接到處理器1122。
處理器1122包括配置執行計算操作的一個或複數個裝置。例如,處理器1122可以包括一個或複數個微處理器,其中,每個微處理器具有一個或複數個內核、專用積體電路(ASIC)、微控制器和/或可程式設計邏輯裝置。在一些實施例中,SOC 112的一些或所有功能可以由一個或複數個電路代替,其中,該一個或複數個電路可以包括一個或複數個微處理器和/或多核處理系統。
記憶體114包括一個或複數個裝置,用於為發送裝置110中的子系統(SOC 112上的,例如處理器1122)存儲資料和/或指令。記憶體114可以包括動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)和/或其他類型的記憶體,並且可以包括用於控制對記憶體接入的機制。在一些實施例中,記憶體114包括記憶體層級,其包括耦接到SOC 112中記憶體(未示出)的一個或複數個快取記憶體。在一些實施例中,記憶體114耦接到一個或複數個高容量大型存儲設備(未示出)。例如,記憶體114可以耦接到磁或光驅動器、固態驅動器或另一種類型的大型存放區設備。在這些實施例中,發送裝置110可以使用記憶體114作為經常使用的資料的快速接入記憶體,而大型存放區設備用於存儲不常使用的資料。
此外,在該上下文中,發送裝置110和接收裝置120中的一個可以
包含根複合體(root complex)116(以及開關117),而另一個可以包含端點(endpoint)118,在PCIe標準中使用這些術語。在實施例中,互連匯流排130是PCIe匯流排130,並且互連匯流排130的形式因數可為PCIe標準連接器或M.2連接器。
需要說明的是,雖然在本發明中發送裝置和接收裝置包含根複合體和端點作為示例,但是本發明不應當對其進行限制。發送裝置和接收裝置可以是其他PCIe裝置。
第2圖是依據本發明實施例描述的接收裝置120的區塊圖。接收裝置120包括處理子系統210和耦接到匯流排230的記憶體子系統220。接收裝置120可以包括其他子系統(未示出),例如,用於無線通訊、大型存放區和/或圖形處理的子系統,以及用於耦接到互連匯流排130並透過互連匯流排130進行通訊的子系統(未示出)。
處理子系統210是配置執行可以在接收裝置中使用的計算和/或邏輯操作的任何處理子系統,並且可以以任何技術實現,包括但不限於任何類型的硬體模組、軟體、韌體和/或任何其他通用或專用邏輯。處理子系統210可以包括但不限於一個或複數個中央處理單元(CPU)、微處理器、專用積體電路(ASIC)晶片、現場可程式設計閘陣列(FPGA)、其他可程式設計邏輯裝置、專用邏輯裝置和微控制器。
記憶體子系統220包括一個或複數個裝置,用於為接收裝置120中的處理子系統210和其他子系統(未示出)存儲資料和/或指令。例如,記憶體子系統220可以包括動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、唯讀記憶體(ROM)、可擦除可程式設計唯讀記憶體(EPROM)、快閃記憶體和/或其他類型的記憶體。此外,記憶體子系統220可以包括用於控制對接收裝置120中的記憶體或其他子系統(未示出)進行接入的韌體和機制。
處理子系統210和記憶體子系統220使用匯流排230耦接在一起。匯流排230是接收裝置120中這些子系統和其他子系統(未示出)用於彼此之間傳送命令和資料的電連接、光連接或電光連接。雖然為了清楚起見僅示出了一條匯流排230,但是不同的實施例可以包括子系統之間的不同數量或配置的電連接或其他連接。
雖然在第2圖中處理子系統210和記憶體子系統220顯示為單獨的子系統,但是本發明不限於此,在一些實施例中,這些子系統中的一個或兩個可以集成到接收裝置120的一個或複數個其他子系統中。此外,在一些實施例中,接收裝置120可以包括一個或複數個附加處理子系統210和/或記憶體子系統220,並且雖然我們使用特定子系統來描述接收裝置120,但是在替換實施例中,不同的子系統可以存在於接收裝置120中。此外,雖然在第2圖中處理子系統210和記憶體子系統220顯示為單獨的子系統,但是在一些實施例中,接收裝置120中的這些和其他子系統(未示出)可以實施為一個積體電路。
第3圖是依據本發明實施例描述的作業系統310的區塊圖,其中,在發送裝置110上運行的驅動程式312透過PCIe鏈路耦接到接收裝置120上運行的韌體320。
在一些實施例中,作業系統310存儲(作為程式碼)在記憶體114中並由處理器1122執行。通常,作業系統310用作發送裝置110中系統硬體和由處理器1122執行的應用程式之間的仲介,例如,應用程式可以是電子郵件應用程式、網路流覽器和遊戲應用程式。作業系統310還包括驅動程式312,其使得作業系統310和在處理器1122上運行的其他應用程式能夠與接收裝置120進行通訊。本領域技術人員熟知作業系統310及其一般功能,因此不在本文中描述細節。
接收裝置120包括韌體320,其可以預載入在接收裝置120上和/或由驅動程式312動態載入,並且通常包括用於操作和控制接收裝置120的資料
和/或程式。韌體320可以存儲在唯讀記憶體(ROM)、可程式設計唯讀記憶體(PROM)和/或可擦除可程式設計唯讀記憶體(EPROM)中的記憶體子系統220中,並在處理子系統210上執行。在一些實施例中,韌體320可以由存儲在記憶體子系統220中並在處理子系統210上運行的軟體和/或接收裝置120中的一個或複數個硬體模組(未示出)部分或完全代替。
在以上實施例中,解釋了發送裝置110和接收裝置120,但是本發明不限於這些示例,而是可以有效地應用於嵌入式裝置。
應當理解的是,第1圖中所示的發送裝置110和接收裝置120是一種合適鏈路環境100的示例。可將第1圖中所示的發送裝置110和接收裝置120實施為透過任何類型的計算設備,例如,參考第6圖描述的計算裝置600。
第4圖是依據本發明實施例描述的用於執行動態流量整形的流程圖400。在本實施例中,該方法應用於第1圖的發送裝置110的處理器1122。
在步驟S405中,發送裝置的處理器依據從發送裝置的應用程式到接收裝置的傳輸輸送量,調整計時器的到期時間和封包計數門檻值,其中,依據傳輸的輸送量,動態調整計時器的到期時間和封包計數門檻值。
具體地,處理器可以獲取當前傳輸的輸送量,並依據當前傳輸的輸送量動態調整到期時間和封包計數門檻值。例如,在低輸送量的情況下,處理器會增加到期時間和封包計數門檻值。在高輸送量的情況下,處理器減少到期時間和封包計數門檻值。在另一個實施例中,以低輸送量的場景可以是接入新聞網站、播放音樂或發送電子郵件。高輸送量的場景可以是執行網速測試、執行高速下載或者播放4K、8K視頻和直播。
然後,在步驟S410中,發送裝置的處理器保持來自應用程式的應用封包,直到到期時間期滿或者封包數量超過封包計數門檻值,以先發生者為准。在一個實施例中,當輸送量處於高輸送量範圍時計時器的第一期滿時間短
於輸送量處於低輸送量範圍時計時器的第二期滿時間。
在步驟S415中,發送裝置的處理器透過互連匯流排將應用封包發送到接收裝置,其中,互連匯流排包括週邊元件高速互連(PCIe)匯流排。在一個實施例中,將應用封包批量發送到接收裝置。
在一些實施例中,發送裝置包含根複合體(以及開關)並且接收裝置包含端點。在另一個實施例中,接收裝置包含根複合體(以及開關)並且發送裝置包含端點。
第5A-5B圖是依據本發明實施例描述的發送裝置與接收裝置之間示例動態流量整形進程的消息序列圖。
在本實施例中,發送裝置與接收裝置之間的互連匯流排為PCIe匯流排,但本發明不限於此。
此外,發送裝置的處理器可以依據進程開始之前的傳輸輸送量,計算針對高輸送量的第一到期時間和第一封包計數門檻值,以及針對低輸送量的第二到期時間和第二封包計數門檻值。在本實施例中,第一到期時間小於第二到期時間,並且第一封包計數門檻值小於第二封包計數門檻值。
第5A圖描述了傳輸是高輸送量傳輸的情景。在第5A圖中,發送裝置中的處理器可以在接收到應用程式(APP)發送的應用封包(封包1)時啟動計時器和封包計數器(S502),其中,計時器對第一到期時間進行計時,並且封包計數器對第一封包數量進行計數。
然後,將應用封包(封包1、封包2……封包N/2)保持在處理器中,直到第一到期時間期滿或者第一封包計數超過第一計數門檻值,以先發生者為准(S504)。
處理器透過PCIe匯流排將應用封包(封包1、封包2……封包N/2)批量地(批次處理1:封包1~封包N/2)發送到接收裝置(S506)。
發送裝置中的處理器可以在接收到由APP發送的應用封包(封包N/2+1)時,重新開機計時器和封包計數器(S508)。
然後,將應用封包(封包N/2+1、封包N/2+2……封包N)保持在處理器中,直到第一到期時間期滿或者第一封包計數超過第一計數門檻值,以先發生者為准(S510)。
處理器透過PCIe匯流排將應用封包(封包N/2+1、封包N/2+2……封包N)批量地(批次處理2:封包N/2+1~封包N)發送至接收裝置(S512)。
第5B圖描述了傳輸是低輸送量傳輸的情景。在第5B圖中,發送裝置中的處理器可以在接收到由APP發送的應用封包(封包1)時啟動計時器和封包計數器(S520),其中,計時器對第二到期時間進行計時,並且封包計數器對第二封包數量進行計數。
然後,將應用封包(封包1、封包2……封包N/2、封包N/2+1……封包N)保持在處理器中,直到第二到期時間期滿或者第二封包計數超過第二計數門檻值,以先發生者為准(S522)。
處理器透過PCIe匯流排將應用封包(封包1、封包2……封包N/2、封包N/2+1……封包N)批量地(批次處理1:封包1~封包N)發送到接收裝置(S524)。
如第5A圖與第5B圖所示,與低輸送量傳輸的情況相比,即使第5A圖與第5B圖中的應用封包總數相同,但在高輸送量傳輸的情況下,發送裝置中的處理器可以向接收裝置發送更多批次的應用封包。
如上所述,本發明的動態流量整形方法及其裝置可以依據傳輸輸送量的不同情況,動態調整計時器的到期時間和封包計數門檻值。透過以這種方式將封包保存在發送裝置上,減少了PCIe匯流排上低功耗狀態和高功耗狀
態之間不必要的轉換,從而節省了功耗。
上述內容已經描述了本發明的實施例,下面描述可以在其中實現本發明的實施例的示例性操作環境。參考第6圖,示出了實施本發明實施例的示例性操作環境,並且通常稱為計算設備600。計算設備600僅僅是合適計算環境的示例,並且不旨在限制本發明使用範圍或功能。計算設備600也不應被解釋為具有與所示元件的任何一個或組合相關的任何依賴性或要求。
本發明可以透過電腦代碼或機器可用指令實現,包括電腦可執行指令,例如程式模組,由電腦或其他機器執行,例如個人數位助理(PDA)或其他手持設備。通常,程式模組可以包括常式、程式、物件、元件、資料結構等,是指執行特定任務或實現特定抽象資料類型的代碼。本發明可以在各種系統組態中實現,包括手持設備、消費電子產品、通用電腦、更專業的計算設備等。本發明還可以在分散式運算環境中實現,其中,在分散式運算環境中,任務由透過通訊網路連結的處理設備遠端執行。
參考第6圖,計算設備600可以包括直接或間接耦接到以下設備的匯流排610:一個或複數個記憶體612、一個或複數個處理器614、一個或複數個顯示元件616、一個或複數個輸入/輸出(I/O)埠618、一個或複數個輸入/輸出元件620和電源622。匯流排610可表示一種或多種匯流排(例如,位址匯流排、資料匯流排或其任意組合)。儘管為了清楚起見,第6圖的各個塊用線條表示,實際上各個部件的界限並不明確。例如,諸如顯示裝置的顯示元件可以被認為是I/O元件,並且處理器可以包括記憶體。
計算設備600通常包括各種電腦可讀介質。電腦可讀介質可以是計算設備600可以接入的任何可用介質,並且包括易失性和非易失性介質、可移動和不可移動介質。作為示例而非限制,電腦可讀介質可以包括電腦存儲介質和通訊介質。電腦存儲介質可以包括以用於存儲諸如電腦可讀指令、資料結構、
程式模組或其他資料的資訊的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。電腦存儲介質可能包括但不限於隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他存儲技術、光碟僅讀取記憶體(CD-ROM)、數位多功能磁片(DVD)或其他光碟存儲、磁帶、磁片存儲或其他磁性存放裝置,或任何其他可用於存儲所需資訊的並且可以由計算設備600接入的介質。電腦存儲介質本身可以不包括信號。
通訊介質通常包含電腦可讀指令、資料結構、程式模組或調製資料信號(例如載波或其他傳輸機制)中的其他資料,並且包括任何資訊傳遞介質。術語「調製資料信號」是指具有以編碼信號中的資訊的方式設置或改變的一個或複數個特性的信號。例如但不限於,通訊媒體包括有線媒體,例如有線網路或直接有線連接,以及無線媒體,例如聲學、RF、紅外線和其他無線媒體或其任何組合。
記憶體612可以包括易失性和/或非易失性記憶體形式的電腦存儲介質。記憶體可以是可移除的、不可移除的或其組合。示例性硬體設備包括固態記憶體、硬碟驅動器、光碟驅動器等。計算設備600包括一個或複數個處理器,其從諸如記憶體612或I/O元件620的各種實體讀取資料。顯示元件616向使用者或另一設備呈現資料指示。示例性的呈現組件包括顯示裝置、揚聲器、列印元件、振動元件等。
I/O埠618允許計算設備600邏輯耦接到包括I/O元件620的其他設備,其中一些可以是嵌入式的。示例性元件包括麥克風、操縱杆、遊戲手柄、衛星天線、掃描器、印表機、無線設備等。I/O元件620可以提供自然使用者介面(NUI),用於處理手勢、語音或由使用者生成的其他生理輸入。例如,可以將輸入傳輸到適當的網路元件以供進一步處理。NUI可以實現語音
辨識、觸摸和觸控筆識別、面部識別、生物統計識別、螢幕上和螢幕附近的手勢識別、空中手勢、頭部和眼睛跟蹤、與計算設備600上的顯示器相關聯的觸摸識別,或其任何組合。計算設備600可以配備深度相機,例如立體相機系統、紅外相機系統、RGB相機系統或其任意組合,以實現手勢檢測和識別。此外,計算設備600可以配備能夠檢測運動的加速度計或陀螺儀。加速度計或陀螺儀的輸出可以提供給計算設備600的顯示器,以執行沉浸式增強現實或虛擬實境。
此外,計算設備600中的處理器614可以執行記憶體612中的程式碼,以執行上述動作和步驟或本文的其他描述。
應當理解,任何揭示進程中的任何特定順序或步驟層次結構都是示例方法的示例。基於設計偏好,應當理解,進程中步驟的特定順序或層級可以重新排列,同時保持在本發明的範圍內。隨附的方法權利要求以示例順序呈現各個步驟的元素,並不意味著限於呈現的特定順序或層次結構。
申請專利範圍中用以修飾元件的「第一」、「第二」、「第三」等序數詞的使用本身未暗示任何優先權、優先次序、各元件之間的先後次序、或方法所執行的步驟次序,而僅用作標識來區分具有相同名稱(具有不同序數詞)的不同元件。
雖然本揭露已以實施範例揭露如上,然其並非用以限定本案,任何本領域技術人員,在不脫離本揭露精神和範圍內,當可做些許更動與潤飾,因此本案的保護範圍當視申請專利範圍所界定為准。
400:流程圖
S405,S410,S415:步驟
Claims (10)
- 一種用於執行動態流量整形的方法,包括: 透過一發送裝置的一處理器,依據從該發送裝置的一應用程式到一接收裝置的傳輸的輸送量,調整一計時器的到期時間和封包計數門檻值; 透過該處理器,保持來自該應用程式的應用封包,直到該到期時間期滿或者封包數量超過該封包計數門檻值;以及 透過該處理器,經由一互連匯流排將該應用封包發送到該接收裝置。
- 如請求項1所述的用於執行動態流量整形的方法,其中,當該輸送量處於高輸送量範圍時該計時器的第一期滿時間短於該輸送量處於低輸送量範圍時該計時器的第二期滿時間,或者當該輸送量處於高輸送量範圍時第一封包計數門檻值小於該輸送量處於低輸送量範圍時第二封包計數門檻值。
- 如請求項1所述的用於執行動態流量整形的方法,其中,依據該傳輸的該輸送量,動態調整該計時器的該到期時間和該封包計數門檻值。
- 如請求項1所述的用於執行動態流量整形的方法,其中,將該應用封包批量發送到該接收裝置。
- 如請求項1所述的用於執行動態流量整形的方法,其中,該互連匯流排是週邊元件高速互連(PCIe)匯流排。
- 如請求項1所述的用於執行動態流量整形的方法,其中,該發送裝置包含根複合體並且該接收裝置包含端點。
- 如請求項1所述的用於執行動態流量整形的方法,其中,該發送裝置包含端點並且該接收裝置包含根複合體。
- 一種用於執行動態流量整形的裝置,包括: 一個或複數個處理器;以及 一個或複數個電腦可讀介質,用於存儲一個或複數個電腦可讀指令,其中,配置該一個或複數個處理器讀取該一個或複數個電腦可讀介質的指令以執行下列任務: 依據從該裝置的應用程式到接收裝置的傳輸的輸送量,調整計時器的到期時間和封包計數門檻值; 保持來自該應用程式的應用封包,直到該到期時間期滿或者封包數量超過該封包計數門檻值;以及 經由互連匯流排將該應用封包發送到該接收裝置。
- 如請求項8所述的用於執行動態流量整形的裝置,其中,當該輸送量處於高輸送量範圍時該計時器的第一期滿時間短於該輸送量處於低輸送量範圍時該計時器的第二期滿時間,或者當該輸送量處於高輸送量範圍時第一封包計數門檻值小於該輸送量處於低輸送量範圍時第二封包計數門檻值。
- 如請求項8所述的用於執行動態流量整形的裝置,其中,依據該傳輸的該輸送量,動態調整該計時器的該到期時間和該封包計數門檻值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023103485323 | 2023-04-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
TWI839237B true TWI839237B (zh) | 2024-04-11 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220086100A1 (en) | 2021-11-24 | 2022-03-17 | Intel Corporation | Egress packet scheduling |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220086100A1 (en) | 2021-11-24 | 2022-03-17 | Intel Corporation | Egress packet scheduling |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220350483A1 (en) | Method and apparatus to enable individual non volatile memory express (nvme) input/output (io) queues on differing network addresses of an nvme controller | |
KR101565357B1 (ko) | 타임아웃을 처리하기 위한 시스템, 방법 및 장치 | |
KR102074018B1 (ko) | 저전력 상태로의 포트 진입을 동기화하기 위한 시스템, 방법 및 장치 | |
JP3857661B2 (ja) | 情報処理装置、プログラム、及び記録媒体 | |
US10739836B2 (en) | System, apparatus and method for handshaking protocol for low power state transitions | |
TWI512676B (zh) | 用於顯示子系統之混和顯示圖框緩衝器 | |
US10909040B2 (en) | Adaptive calibration of nonvolatile memory channel based on platform power management state | |
US20140215016A1 (en) | Communication method, communication apparatus and electronic device | |
US11188492B2 (en) | Enhanced serial peripheral interface (eSPI) port expander | |
US9881680B2 (en) | Multi-host power controller (MHPC) of a flash-memory-based storage device | |
JP2012079320A (ja) | ハードウェアのダイナミックなキャッシュパワー管理 | |
TW201243538A (en) | Method of dynamically adjusting bus clock and device thereof | |
KR20190033122A (ko) | 멀티캐스트 통신 프로토콜에 따라 호스트와 통신하는 저장 장치 및 호스트의 통신 방법 | |
KR20150133085A (ko) | 직렬 통신 장치 및 그 방법 | |
US20230222080A1 (en) | System and method for distributed subscription management | |
WO2019072179A1 (zh) | 应用程序运行控制方法及装置 | |
TWI839237B (zh) | 用於執行動態流量整形的方法及其裝置 | |
TW201419900A (zh) | 具有能源節約的連續資料遞送技術 | |
US20200242040A1 (en) | Apparatus and Method of Optimizing Memory Transactions to Persistent Memory Using an Architectural Data Mover | |
EP4343674A1 (en) | Call processing method and related device thereof | |
WO2024109087A1 (zh) | 命令处理方法和装置 | |
US9880748B2 (en) | Bifurcated memory management for memory elements | |
US11861166B2 (en) | System and method for network interface controller based data deduplication | |
US11762414B2 (en) | Methods for preventing PCIe misconfigurations | |
US20240134801A1 (en) | Methods and system for efficient access to solid state drive |