TW202301843A - 用以動態地配置快取之方法、設備及製造物件 - Google Patents
用以動態地配置快取之方法、設備及製造物件 Download PDFInfo
- Publication number
- TW202301843A TW202301843A TW111109905A TW111109905A TW202301843A TW 202301843 A TW202301843 A TW 202301843A TW 111109905 A TW111109905 A TW 111109905A TW 111109905 A TW111109905 A TW 111109905A TW 202301843 A TW202301843 A TW 202301843A
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- queue
- circuit
- assigned
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明揭示用以動態地配置快取之方法、設備、系統及製造物件。一實例包含具有佇列之快取、資料流分類電路及快取管理電路。在一實例中,該資料流分類電路被組構成用以解碼被指定至該快取之該佇列之資料流以判定被指定至該佇列之訊務類別。在額外的或替代的實例中,該快取管理電路被組構成用以基於被指定至該佇列之該訊務類別來將該快取之一部分配置給該佇列。在一些實例中,該快取管理電路被組構成用以傳輸信號至記憶體控制器以調整該快取之配置。
Description
本發明整體而言係關於快取管理,且更具體而言係關於用以動態地配置快取之方法、設備及製造物件。
多存取邊緣計算(MEC)係一種網路架構概念,其實現在網路(諸如蜂巢式網路)之邊緣處的雲端計算能力及基礎設施技術服務環境。使用MEC、資料中心雲端服務及應用可更接近終端使用者或計算裝置來處理以增進網路操作。
及
圖1係方塊圖100,其中顯示用於邊緣計算之組態的概述,其包含在以下許多實例中稱為「邊緣雲」的處理層。如圖所示,邊緣雲110共同定位在邊緣位置,諸如存取點或基地台140、區域處理中樞150、或中央辦公室120,且因此可包含多個實體、裝置及設備例項。邊緣雲110被定位成遠比雲端資料中心130更加靠近端點(消費者及生產者)資料源160(例如,自駕車輛161、使用者設備162、商業及工業設備163、視訊捕捉裝置164、無人機165、智慧城市及建築裝置166、感測器及物聯網(IoT)裝置167等等)。被提供在邊緣雲110中之邊緣處的計算、記憶及儲存資源對於針對由端點資料源160使用之服務及功能提供超低延遲回應時間以及降低從邊緣雲110朝向雲端資料中心130的網路回載訊務是重要的,因此除其他優點外可改善能量消耗及總體網路使用量。
計算、記憶及儲存是稀有資源,且通常取決於邊緣位置而減少(例如,在消費者端點裝置處比在基地台、比在中央辦公室處具有較少的處理資源可用)。然而,該邊緣位置愈靠近端點(例如,使用者設備(UE)),通常空間及功率的限制愈多。舉例而言,此處理可消耗較靠近終端使用者或計算裝置之不成比例的處理資源之頻寬量,因此會增加網路之延遲、堵塞及功率消耗。因此透過分佈更多在地理上且在網路存取時間兩者上定位成更靠近的資源,邊緣計算嘗試降低網路服務所需要的資源量。以此方式,邊緣計算適時嘗試將計算資源帶給工作負荷資料,或將工作負荷資料帶給計算資源。如本文中所使用,資料是呈任何形式的資訊,其可藉由處理器電路被攝入、處理、解釋及/或以其他方式操縱以產生結果。所產生的結果本身可以是資料。
以下描述涵蓋多種某些網路操作者或服務提供者在其自己的基礎設施中可能具有之可能部署及位址限制之邊緣雲架構之態樣。這些包含,基於邊緣位置之組態變動(因為在基地台階級處之邊緣例如可能在多租戶情境中具有更多受拘束的效能及能力);基於對邊緣位置、位置層或位置群組可用之計算、記憶、儲存、組構、加速度或類似資源的組態;服務、安全性及管理與編制能力;及用以達成終端服務之可用性及效能的相關目標。這些部署可達成網路層中之處理,其可被視為”近邊緣”、”靠近邊緣”、”局部邊緣”、”中間邊緣”或”遠邊緣”層,取決於延遲、距離及時序特性。
邊緣計算係發展範例,其中是在或靠近網路之”邊緣”處來執行計算,通常透過使用計算平台(例如,x86或ARM計算硬體架構)在基地台、閘道器、網路路由器或靠近產生及消耗資料許多之端點裝置的其他裝置處實施。舉例而言,邊緣閘道伺服器可配備有記憶體及儲存資源槽以即時執行計算用於低延遲使用例(例如,自主駕駛或視訊監視)以用於連接用戶裝置。或作為一實例,基地台可利用計算及加速度資源來增強以直接處理用於連接使用者設備之服務工作負荷,而不進一步經由回載網路來傳遞資料。或者,作為另一實例,中央辦公室網路管理硬體可用標準化計算硬體替換,其執行虛擬化網路功能且提供計算資源以用於執行連接裝置之服務及消費者功能。在邊緣計算網路中,可存在服務情境,其計算資源將被”移動”至資料,以及資料將被”移動”至計算資源之情境。或作為一實例,基地台、計算、加速度及網路資源可藉由啟動休眠容量(按需訂閱、容量)來提供服務以在視需要基礎上匹配工作負荷需求,以在明顯較長使用週期上來實施管理邊角案例、緊急事件或提供持久性來部署資源。
不同於圖1之網路架構,傳統端點(例如,UE、車對車(V2V)、車聯網(V2X)等等)應用是依賴本端裝置或遠端雲資料儲存及處理以交換及協調資訊。雲端資料配置允許長期資料收集及儲存,但對於較高時變性資料並非最佳的,諸如碰撞、交通燈改變、工業應用、汽車應用等等,且可能無法嘗試符合延遲挑戰。
取決於在通信內容中的即時要求,可在邊緣計算部署中定義資料處理及儲存節點的階層結構。舉例而言,此部署可包含局部超低延遲處理、區域儲存及處理以及基於遠端雲端資料中心的儲存及處理。關鍵效能指標(KPI)可用以識別其中感測器資料是最佳轉移及其中其被處理或儲存。這一般取決於資料之ISO層依賴性。舉例而言,較低層(PHY、MAC、路由等等)資料通常快速改變且較佳地被局部地處置以符合延遲要求。較高層資料(諸如應用層資料)通常在時間上較不重要且可在遠端雲端資料中心中被儲存及處理。在更一般性層級處,邊緣計算系統可被描述為在邊緣雲110中涵蓋任何數量的部署操作,其提供從用戶及分佈計算裝置的協調。
圖2繪示在端點、邊緣雲及雲端計算環境之間的操作層。詳言之,圖2描繪計算使用例205之實例,利用在網路計算之多個闡釋性層之間使用圖1之邊緣雲110。該層開始於端點(裝置及事物)層200,其存取邊緣雲110以進行資料產生、分析及資料消耗活動。邊緣雲110可橫跨多個網路層,諸如定位在實體接近邊緣系統中之具有閘道器、本地伺服器、網路設備(節點215)的邊緣裝置層210;網路存取層220,涵蓋基地台、無線電處理單元、網路中樞、區域資料中心(DC)或區域網路設備(設備225);及被定位於其等之間(在層212中,未詳細繪示)的任何設備、裝置或節點。在邊緣雲110內及各層之間的網路通信可經由任何數目的有線或無線媒體來發生,包含經由連接架構及未描繪說明的技術。
源自於網路通信距離及處理時間限制之延遲實例的範圍從小於一毫秒(ms)(當在端點層200之間)、在邊緣裝置層210處低於5 ms,至甚至在10至40 ms之間,當在網路存取層220處與節點通信時。超過邊緣雲110是核心網路230及雲端資料中心240層,各具有增加的延遲(例如,在核心網路層230處是50-60 ms之間,至雲端資料中心層240處是100或更高的ms)。因此,在核心網路資料中心235處或雲端資料中心245處之操作,具有至少50至100 ms或更高的延遲,將無法達成許多使用例205之具時間重要性的功能。這些延遲值之各者針對繪示說明及對照之目的被提供;然而,將瞭解其他存取網路媒體及技術可用於降低延遲。在一些實例中,網路之各自部分可相對於網路源及目的地而被分類為”近邊緣”、”區域邊緣”、”靠近邊緣’、”中間邊緣”或”遠邊緣”層。例如,從核心網路資料中心235或雲端資料中心245的觀點而言,中央辦公室或內容資料網路可被視為定位在”靠近邊緣”層(“靠近”於雲端,當與使用例205之裝置及端點通信時具有高延遲值),而存取點、基地台、本地伺服器或網路閘道可被視為定位在”遠邊緣”層(“遠”距於雲端,當與使用例205之裝置及端點通信時具有低延遲值)。應可理解,可基於延遲、距離、網路中繼段數目或其他可量測特性(如自任何網路層200-240中之源量測)構成如”近”、”區域”、”靠近”、”中間”或”遠”邊緣的特定網路層之其他分類。
各種使用例205可在來自傳入流之使用量壓力下來存取資源,由於多個利用邊緣雲之服務。為了實現具有低延遲的結果,在邊緣雲110內執行的服務平衡以下項的變化要求:(a)優先級(吞吐量或延遲)及服務品質(QoS)(例如,用於自駕車之交通可按照回應時間要求而具有比溫度感測器還要高的優先級;或可在計算/加速器、記憶、儲存或網路資源處存在效能靈敏度/瓶頸,取決於應用);(b)可靠性及彈性(例如,一些輸入流必須採取行動且以關鍵任務可靠性來路由訊務,而一些其他輸入流可容許偶而失敗,取決於應用);及(c)實體限制(例如,功率、冷卻及外觀尺寸)。
用於這些使用例之端到端服務圖涉及服務流的觀念且與交易相關聯。該交易詳列消耗該服務之實體的全部服務要求,以及針對資源、工作負荷、工作流及商業功能與商業級要求的相關服務。在所述”條件”下執行的服務可在各層處以確保即時的方式管理,以及針對該服務之生命周期期間該交易的運行時間合約遵守。當交易中的一組件缺少同意服務等級協議(SLA)時,該系統整體(在交易中的組件)可提供以下能力:(1)瞭解該SLA違反的影響,及(2)增強在該系統中的其他組件以恢復整體交易SLA,及(3)實施步驟以補救。
因此,記住這些變動及服務特徵,在邊緣雲110中的邊緣計算可以即時或接近即時的方式提供服務及回應多個使用例205之應用(例如,物體追蹤、視訊監視、連接汽車,等等)的能力,且符合這些多個應用的超低延遲要求。這些優點實現全新的應用類別(例如,虛擬網路功能(VNF)、FaaS、邊緣即服務(EaaS)、標準程序,等等),其因延遲或其他限制而無法利用習知的雲端計算。
然而,邊緣計算的優點有以下的附加說明。定位在邊緣處的裝置通常資源受限且因此存在邊緣資源使用量的壓力。通常,這可透過記憶體及儲存資源的匯集來解決,以供多個使用者(租戶)及裝置來使用。邊緣可受到功率及冷卻限制且因此功率使用量需要針對消耗大部分功率的應用來考慮。在這些匯集的記憶體資源中存在固有的功率-效能權衡,且它們許多可能使用新興記憶體技術,其中更多功率需要較大的記憶體頻寬。同樣地,亦需要改良硬體之安全性及硬體信任根受信任功能,因為邊緣位置可能是無人的且可能甚至需要受許可的存取(例如,當安置在第三方位置)。這些問題在多租戶、多擁有者或多重存取設定之邊緣雲110中可能被放大,其中服務及應用係由許多使用者請求,尤其如網路使用量動態波動且多重利益相關者-使用例及服務變化之組成。
在更一般性層級處,邊緣計算系統可被描述為涵蓋在邊緣雲110中在先前討論層(網路層210-230)處任何數量的部署操作,其提供從用戶及分佈計算裝置的協調。一或多個邊緣閘道節點、一或多個邊緣聚集節點及一或多個核心資料中心可跨網路層分佈以由或代表電信服務提供者(“telco”或“TSP”)、物聯網服務提供者、雲端服務提供者(CSP)、企業實體或任何其他數量的實體來提供邊緣計算系統之實施方案。邊緣計算系統之各種實施方案及組態可被動態提供,諸如當精心利策劃以符合服務目標。
與本文中提供的實例一致,用戶計算節點可被具體實現為任何類型的端點組件、裝置、器具或能夠通信資料之生產者或消費者的其他事物。此外,如在邊緣計算系統中使用的標籤”節點”或”裝置”並不一定表示此節點或裝置在用戶或代理人/僚屬/追隨者角色中操作;相反,在邊緣計算系統之任何節點或裝置係指個別實體、節點或子系統,其包含離散或連接硬體或軟體組態以促進或使用邊緣雲110。
因此,邊緣雲110由藉由且在邊緣閘道節點、邊緣聚集節點或其他邊緣計算節點中在網路層210-230之間操作的網路組件及功能特徵形成。邊緣雲110因此可具體實現為任何類型的網路,其提供在本文中所述之定位成靠近RAN功能的端點裝置(例如,行動計算裝置、IoT裝置、智慧型裝置等等)的邊緣計算及/或儲存資源。換言之,該邊緣雲110可設想為”邊緣”,其連接端點裝置及傳統網路存取點,作為進入至服務提供者核心網路的入口點,該服務提供者核心網路包含行動載波網路(例如,全球行動系統通信(GSM)網路、長期演進(LTE)網路、5G/6G網路等等),其亦提供儲存及/或計算能力。其他類型或形式的網路存取(例如,Wi-Fi、遠程無線、包含光學網路之有線網路)亦可被使用來取代此3GPP載波網路或與其組合。
邊緣雲110之網路組件可為伺服器、多租戶伺服器、電器計算裝置、及/或任何其他類型的計算裝置。舉例而言,邊緣雲110可包含電器計算裝置,其是整裝的電子裝置,包含外殼、機殼、殼體或殼。在一些情境中,該外殼可定大小以供可攜帶性,使得其可由人類攜帶及/或裝運。例示性外殼可包含形成一或多個外部表面之材料,其可部分地或完全地保護電器的內容物,其中保護可包含氣候保護、危害環境保護(例如,EMI、振動、極端溫度)及/或實現可沒入水中。例示性外殼可包含電源電路以針對固定式及/或可攜式實施方案來提供電源,諸如AC電源輸入、DC電源輸入、AC/DC或DC/AC轉換器、電源調節器、變壓器、充電電路、電池、有線輸入及/或無線電源輸入。例示性外殼及/或其表面可包含或連接至安裝硬體,以實現附接至結構,諸如建築物、電信結構(例如,電線桿、天線結構等等)及/或機架(例如,伺服器機架、片安裝座,等等)。例示性外殼及/或其表面可支撐一或多個感測器(例如,溫度感測器、振動感測器、光感測器、聲學感測器、電容感測器、近接感測器,等等)。一或多個此感測器可被容納或攜載或以其他方式嵌入在電器表面中及/或安裝至電器的表面。例示性外殼及/或其表面可支撐機械連接,諸如推進硬體(例如,輪子、推進器,等等)及/或鉸接式硬體(例如,機器人臂、可樞轉附肢,等等)。在一些情境中,感測器可包含任何類型的輸入裝置,諸如使用者介面硬體(例如,按鈕、開關、撥盤、滑觸頭,等等)。在一些情境中,例示性外殼包含輸出裝置,被容納於其中、由其攜載、嵌入於其中及/或附接至其。輸出裝置可包含顯示器、觸控螢幕、燈具、發光二極體(LED)、揚聲器、I/O埠(例如,通用串列匯流排(USB),等等。在一些情境中,邊緣裝置是出現在網路中用於特定用途的裝置(例如,交通號誌),但可具有用於其他用途的處理及/或其他能力。此邊緣裝置可獨立於其他聯網裝置且可具備具有適於其主要用途之外觀尺寸的外殼;且亦可用於不會妨礙到其主要任務的其他計算任務。邊緣裝置包含IoT裝置。該電器計算裝置可包含硬體及軟體組件以管理本地問題,諸如裝置溫度、振動、資源利用率、更新、電源問題、實體及網路安全性,等等。邊緣雲110亦可包含一或多個伺服器及/或一或多個多租戶伺服器。此伺服器可包含操作系統及虛擬計算環境。虛擬計算環境可包含虛擬監控管理(產生、部署、破壞,等等)一或多個虛擬機、一或多個容器,等等。此虛擬計算環境提供執行環境,其中一或多個應用程式及/或其他軟體、碼或指令碼可執行同時與一或多個其他應用程式、軟體、碼或指令碼隔離。
在圖3中,各種用戶端點310(呈行動裝置、電腦、自駕車輛、商業計算設備、工業處理設備的形式)交換特定於端點網路聚合之類型的請求及回應。例如,用戶端點310可經由有線寬頻網路,藉由透過內部網路系統332交換請求及回應322來獲得網路存取。一些用戶端點310(諸如行動計算裝置)可經由無線寬頻網路,藉由透過存取點(例如,行動網路塔)334交換請求及回應324來獲得網路存取。一些用戶端點310(諸如自駕車輛)可經由無線車載網路透過位在街道的網路系統336來獲得用於請求及回應326的網路存取。然而,不管網路存取之類型為何,TSP可在圖1之邊緣雲110中部署聚集點342,344以聚集訊務及請求。因此,在邊緣雲110中,TSP可部署各種計算及儲存資源,諸如在邊緣聚集節點340處,以提供請求內容。邊緣雲110之邊緣聚集節點340及其他系統被連接至雲端或資料中心(DC)360,其使用回載網路350以實踐來自雲端/資料中心針對網站、應用程式、資料庫伺服器等等之較高延遲請求。邊緣聚集節點340及聚集點342、344之額外或合併例項(包含那些部署在單一伺服器架構上的)亦可出現在邊緣雲110中或TSP基礎設施的其他區域。
圖4繪示例示性IT/OT環境400之例示性層級。在圖4之實例中,IT/OT環境400實施工業控制系統(ICS),其控制製造及/或其他生產程序。在圖4之實例中,IT/OT環境400包含六個功能層級,代表裝置及/或設備之階層功能,以及例示性IT/OT環境(諸如ICS)之互連及相互依賴性。IT/OT環境400包含對應於實體程序之例示性層級零402。在圖4之實例中,執行實際實體程序的實體設備駐存在層級零402。舉例而言,層級零402包含一或多個例示性感測器403、一或多個例示性驅動器404(例如,一或多個馬達)、一或多個例示性致動器405、及一或多個例示性機器人406。在一些實例中,層級零402包含一或多個額外或替代的裝置。
在圖4繪示之實例中,IT/OT環境400包含對應於層級零402之各自一或多個實體程序之個別控制之例示性層級一408。在圖4之實例中,層級一408包含例示性批次控制器電路409、例示性離散控制器電路410(例如,一或多個比例-積分-微分(PID)控制器、一或多個開迴路控制器,等等)、例示性順序控制器電路411(例如,具有聯鎖邏輯之一或多個順序控制器)、例示性連續控制器電路412(例如,執行連續程序控制)、及例示性混合控制器電路413(例如,一或多個特殊化控制器,其提供未見於標準控制器(諸如自適性控制、人工智慧及模糊邏輯)中的能力)。在一些實例中,層級一408包含一或多個額外或替代性控制器,諸如那些執行比率控制、前饋控制、級聯控制及多變數程序控制。在圖4之實例中,批次控制器電路409、離散控制器電路410、順序控制器電路411、連續控制器電路412及混合控制器電路413之任一者可由一或多個可程式邏輯控制器(PLC)來實施。如本文中所使用,術語控制器及/或控制器電路係一種處理器電路且可包含類比電路、數位電路、邏輯電路、可程式微處理器、可程式微控制器、圖形處理單元(GPU)、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、可程式邏輯裝置(PLD)、及/或場可程式邏輯裝置(FPLD)(諸如場可程式閘陣列(FPGA)之一或多者。
在圖4繪示之實例中,IT/OT環境400包含對應於於層級一408之一或多個控制器之控制的例示性層級二414。在圖4之實例中,層級二414包含ICS,諸如人機介面(HMI)系統及/或監視控制及資料獲取(SCADA)系統,以監視、監測及/或控制層級一408之一或多個控制器。在圖4之實例中,層級二414包含例示性第一監督控制器電路415(例如,HMI系統、SCADA系統,等等)、例示性操作者介面416、例示性工程工作站417、例示性第二監督控制器電路418(例如,HMI系統、SCADA系統,等等)。在圖4之實例中,操作者介面416及工程工作站417可藉由一或多個電腦(例如,膝上型電腦、桌上型電腦,等等)來實施。
在圖4繪示之實例中,第一監督控制器電路415、操作者介面416、工程工作站417及第二監督控制器電路418經由例示性第一聚集點419與層級一408及層級零402之一或多個控制器及/或裝置通信。在圖4之實例中,第一聚集點419藉由路由器實施。在一些實例中,第一聚集點419藉由閘道器、路由器及數據機、網路開關、網路中樞及其他等等來實施。
在圖4繪示之實例中,IT/OT環境400包含對應於製造執行系統之例示性層級三420,該製造執行系統管理在製造底層(例如,層級零402)上的生產工作流。在一些實例中,層級三420包含用於特定功能(諸如批次管理、記錄資料、管理操作及整體製造廠效能)的客製化系統。在圖4之實例中,層級三420包含例示性生產控制器電路421、例示性最佳化控制器電路422(例如,執行最佳化控制)、例示性程序歷史資料庫423(例如,用於記錄與一或多個實體程序相關聯的資料)、及例示性網域控制器電路424(例如,一或多個伺服器,其控制層級零402、層級一408、層級二414、及層級三420之網域安全性)。
在一些實例中,生產控制器電路421、最佳化控制器電路422(例如,執行最佳控制)、程序歷史資料庫423及/或網域控制器電路424聚集及/或處理較低層級資料(例如,來自層級零402、層級一408及/或層級二414)且將該聚集及/或處理資料轉發至IT/OT環境400之較高層級。在圖4之實例中,生產控制器電路421、最佳化控制器電路422(例如,執行最佳控制)、程序歷史資料庫423及網域控制器電路424與層級二414、層級一408及層級零402之一或多個控制器、一或多個介面、一或多個工作站及/或一或多個裝置經由例示性第二聚集點425通信。在圖4之實例中,第二聚集點425類似於第一聚集點419實施。
在圖4繪示之實例中,IT/OT環境400包含例示性層級四426,其由例示性隔離區(DMZ)428而與層級三420、層級二414、層級一408及層級零402隔開。在圖4之實例中,DMZ 428對應於一或多個安全性系統,諸如一或多個防火牆、及/或一或多個管制的代理器(例如,調節、政策,等等)。雙向資料在層級三420、層級二414、層級一408、層級零402與IT/OT環境400之較高層級(例如,層級四426)之間流動。例示性DMZ 428允許資料在IT/OT環境400之較高安全、高度連接之較高層級網路(例如,商業網路)與IT/OT環境400之較低安全性、較少連接較低層級網路(例如,ICS網路)之間交換。
在圖4繪示之實例中,IT/OT環境400之較低層級(例如,層級三420、層級二414、層級一408及層級零402)經由例示性第三聚集點430來與DMZ 428通信。另外,DMZ 428經由例示性第四聚集點432來與IT/OT環境400之較高層級(例如,層級四426)通信。在圖4之實例中,第三聚集點430及第四聚集點432之各者係類似於第一聚集點419及第二聚集點425來實施,除了第三聚集點430及第四聚集點432之各者實施防火牆。
在圖4繪示之實例中,DMZ 428包含例示性歷史伺服器433(例如,藉由一或多個電腦及/或一或多個記憶體實施)、例示性網路服務操作控制器電路434(例如,藉由一或多個電腦及/或一或多個記憶體實施)、例示性應用程式伺服器435(例如,藉由一或多個電腦及/或一或多個記憶體實施)、例示性終端伺服器436(例如,藉由一或多個電腦及/或一或多個記憶體實施)、例示性修補程式管理控制器電路437(例如,藉由一或多個電腦及/或一或多個記憶體實施)、及例示性抗病毒伺服器438(例如,藉由一或多個電腦及/或一或多個記憶體實施)。在圖4之實例中,歷史伺服器433管理傳入及/或傳出資料、資料之儲存、資料之壓縮、及/或資料之檢索。在圖4之實例中,網路服務操作控制器電路434經由基於可擴展標記語言(XML)之資訊交換系統來控制基於網際網路之直接應用對應用互動。
在圖4繪示之實例中,應用程式伺服器435主機代管應用程式。在圖4之實例中,終端伺服器436提供具有至區域網路(LAN)或廣域網路(WAN)之共同連接點的終端機(例如,電腦、印表機,等等)。在圖4之實例中,修補程式管理控制器電路437管理在既有應用程式及軟體(例如,由應用程式伺服器435主機代管之應用程式)之一或多個修補程式(例如,程式碼變更、更新,等等)的檢索、測試及安裝。在圖4之實例中,抗病毒伺服器438管理抗病毒軟體。
在圖4繪示之實例中,IT/OT環境400包含對應於諸如電子郵件及內部網路及其他等等之IT系統之層級四426。在圖4之實例中,層級四426包含一或多個IT網路,其包含企業資源規劃(ERP)系統、資料庫伺服器、應用程式伺服器、及檔案伺服器,其有助於商業物流系統,諸如現場商業規劃及物流網路。
在圖4繪示之實例中,IT/OT環境400包含對應於一或多個公司(例如,企業)網路之例示性層級五440。在圖4之實例中,層級五440包含一或多個企業IT系統,其涵蓋與網際網路的通信。在圖4之實例中,在層級五440中之一或多個裝置經由例示性第五聚集點442來與層級四426中之一或多個裝置通信。在圖4之實例中,第五聚集點442以類似於第一聚集點419及第二聚集點425的方式實施。
在圖4繪示之實例中,層級零402、層級一408、層級二414及層級三420對應於IT/OT環境400之OT部分。在OT部分中,層級零402、層級一408及層級二414形成例示性單元/區帶區域。在圖4之實例中,層級四426及層級五440形成IT/OT環境400之IT部分。
在圖4繪示之實例中,第一聚集點419、第二聚集點425、第三聚集點430、第四聚集點432、第五聚集點442、批次控制器電路409、離散控制器電路410、順序控制器電路411、連續控制器電路412、混合控制器電路413、第一監督控制器電路415、操作者介面416、工程工作站417、及第二監督控制器電路418、生產控制器電路421、最佳化控制器電路422、程序歷史資料庫423、網域控制器電路424、歷史伺服器433、網路服務操作控制器電路434、應用程式伺服器435、終端伺服器436、修補程式管理控制器電路437及/或抗病毒伺服器438之一或多者整合邊緣計算、裝置、IT實現的軟體、及/或關於生產率、可靠性及/或安全性之一或多個應用程式。
由於IT/OT環境400實施控制製造及/或其他生產程序之ICS,一些程序可為時效性的。因此,電機電子工程師協會(IEEE)已開發標準來處理此時效性程序。舉例而言,用於判定聯網的新興IEEE標準,統稱為時效性路(TSN),提供跨網路之極精確資料轉移。因此,在工業及/或汽車環境(例如,IT/OT環境400)中之嵌入式設計(例如,IT/OT環境400之任何裝置)是增加整合的TSN控制器。TSN控制器可藉由網路介面電路(NIC)基於NIC之能力來實施。如本文中所使用,NIC係指網路介面電路。NIC可或可不實施在卡上。在IT及OT環境之增加涵蓋的情況下,工作負荷合併及用於跨許多連接裝置之無縫通信之需求係強加更高頻寬、更短端對端延遲,及用於嵌入式設計之困難的即時要求。
另外,由於頻寬要求及晶粒分拆而使連結速度變得愈來愈高,符合連結率的封包傳輸延遲變得極為困難。如本文中所使用,連結速度係指理論上最大速度,以每秒位元來量測,其中第一裝置可與該第一裝置連結至其之第二裝置通信。如本文中所使用,線速率是一或多個位元在線上發送的實際速度。在一些實例中,線速率被稱為實體層總位元率。如本文中所使用,晶粒分拆係指相較於嵌入式設計(例如SoC)之先前設計而將嵌入式設計(例如,系統單晶片(SoC))中之一或多個晶粒(例如,實施NIC之晶粒)放置成距一或多個其他晶粒(例如,計算、處理器、處理器核心,等等)愈來愈遠。
作為一實例,對於NIC當以每秒10吉位元的連結速度(例如,10 Gbps)傳輸64位元組(例如,64 B)封包以符合線速率比對於NIC當以1 Gbps連結速度傳輸64 B封包以符合線速率是更為困難。對於裝置(例如,NIC)以更高連結速度以符合線速率是更為困難,因為以較高的連結速度,與該裝置從記憶體獲取資料相關的延遲更遠高於與該裝置傳輸封包相關的延遲。此困難性會隨著連結速度的增加而增加。另外,與裝置(例如,NIC)從記憶體(例如,雙倍資料率(DDR)記憶體)獲取資料相關的延遲會因為實體上較大的晶粒及/或由於晶粒分拆而增加。
舉例而言,對於NIC以1 Gbps之連結速度傳輸64 B封包費時576奈秒(ns),而針對NIC以10 Gbps之連結速度傳輸64 B封包係費時57.6 ns。在此一實例中,當相較於NIC從記憶體獲取資料相關的1微秒(µs)的延遲,57.6 ns係相對極小的。緩解資料獲取之延遲的一般方法是預獲取資料且在裝置(例如,NIC)本身中採用局部快取。因其傳輸封包通常需要兩個預獲取操作(例如,針對封包之描述符的第一獲取操作及針對封包之酬載之第二獲取操作),裝置(例如,NIC)通常包含與各自預獲取操作相關之兩個快取(例如,針對封包之描述符的第一快取及針對封包之資料之第二快取)。因此,裝置(例如,NIC)預獲取封包之描述符及資料兩者以符合線速率。
然而,與預獲取相關之問題在於預獲取影響進行預獲取(例如,NIC)裝置的晶粒面積。針對具有TSN能力之NIC,對晶粒面積的影響可變化很大,因為在用於傳輸之兩個快取中之多個佇列及在用於接收之兩個快取中的多個佇列。舉例而言,包含8個傳輸佇列及8個接收佇列之TSN NIC比包含傳統單一傳輸佇列快取及信號接收佇列快取(例如,乙太網路控制器快取)的NIC需要8倍的快取。由於TSN標準需要TSN NIC中之各佇列支援以線速率由TSN標準定義之最小封包(例如,64 B)及由TSN標準定義之任何訊務類別之最小封包,TSN NIC之各佇列指定專用快取(例如,用於封包之描述符的第一快取及用於封包資料之第二快取)。因此,TSN NIC需要增加的快取大小。此類型架構對於較高連結速度TSN NIC是不可擴展的,因為太過昂貴而無法實施。舉例而言,實施高連結速度TSN NIC之此一架構將增加被消耗用於將資料移入及移出快取的能量、在晶粒上之快取的實體大小(例如,面積)、及與將資料移入及移出快取有關的延遲。
另外,在一些實例中,由TSN標準所需要之快取大小是未充分利用的。舉例而言,在IEEE Std 802.1Q-2018(IEEE Std 802.1Q-2014之修訂)中之“IEEE Standard for Local and Metropolitan Area Network--Bridges and Bridged Networks”,2018年7月6日vol, no, pp.1-1993(下文稱之為“IEEE802.1Q 標準”)針對所有資料流定義八個訊務類別(例如,TC0-TC7)。然而,各訊務類別經受不同參數(例如,服務品質(QoS))。在工業應用中,高優先級、硬式即時、訊務被分類為TC7-TC5,且這些類別之封包資料通常較小(例如,相較於TC4-TC0)且小於256 B。類似地,非即時、最佳努力訊務(例如,最佳努力資料流)被分類為TC4-TC0,且這些類別之封包資料通常在256 B與1518 B之間。如本文中所使用,即時訊務及/或即時資料流係指與計算應用相關之網路訊務,其中計算應用的成功取決於計算應用之結果的邏輯正確性以及計算應用之結果是否提供已知為期限的特定時間限制。如本文中所使用,硬式即時訊務及/或硬式即時資料流係指與計算應用相關聯之即時訊務,其中無法符合期限構成計算應用失敗。如本文中所使用,最佳努力訊務及/或最佳努力資料流係指與計算應用相關聯之網路訊務,其不需要具有特定時間限制的結果。
本文中揭示之實例利用在IEEE 802.1Q標準中陳述的訊務類別之優點來改良(例如,最佳化)在具TSN能力之裝置(例如,TSN NIC)的快取設計。因此,本文中揭示之例示性方法、設備及/或製造物件降低具TSN能力之裝置(例如,TSN NIC)中之總快取大小。由於較小的封包可比裝置可預獲取資料以用於後續傳輸更快地傳輸,支援訊務類別之最小封包大小的線速率是困難的。然而,理論上,所有佇列之快取利用率的總和不會超過線速率。本文中揭示之例示性架構是基於這兩個原理。
本文中揭示之例示性方法、設備及製造物件解碼網路(例如,資料流)訊務類別、計算快取區域大小、及針對各佇列配額描述符快取及資料快取,藉此增加整體快取利用率且降低在晶粒上之整體快取區域消耗。針對描述符快取,本文中揭示之例示性配置更多描述符快取給訊務類別TC7-TC5之資料流,因為這些資料流包含具有較小酬載(例如,相較於TC4-TC0)之封包且因此需要更多描述符的獲取。相反地,針對描述符快取,本文中揭示之例示性配置較少描述符快取給訊務類別TC4-TC0之資料流,因為這些資料流包含具有較大酬載(例如,相較於TC7-TC5)之封包且因此需要較少描述符的獲取。
如本文中所使用,”配置”及其變體(例如,配置、重新配置,等等)被定義為表示在第一集合(例如,單元集合或其他)與一或多個其他集合或子集之一或多個部分(例如,離散、連續及/或其他)之間另外建立關係。配置可被用以表示指定、分割、分配,等等。因此,在一些實例中,揭示的方法、設備及/或製造物件將快取之部分(例如,以位元、位元組(B)、千位元組(KB),等等)給該快取之各自佇列。在一些此等實例中,揭示的方法、設備、及/或製造物件將描述符快取之第一部分(例如,256 B)配置給被指定訊務類別TC7之第一佇列且將描述符快取之第二部分(例如,64 B)給被指定訊務類別TC0之第二佇列。在額外或替代實例中,揭示的方法、設備及/或製造物件將快取之百分比(例如,4%、5%、26%,等等)給該快取之各自佇列。在其他實例中,揭示的方法、設備及/或製造物件將快取之一或多個部分給一或多個群組的佇列且將該配置的快取之子部分給該群組佇列之各者。舉例而言,揭示的方法、設備及/或製造物件將(例如,2 KB)描述符快取之第一部分(例如,75%)配置給被指定訊務類別TC7-TC5之佇列且將(例如,2 KB)描述符快取之第二部分(例如,25%)配置給被指定訊務類別TC4-TC0之佇列。在此一實例中,配置給被指定訊務類別TC7-TC5之佇列的該描述符快取之第一部分(例如,1.5 KB),揭示的方法、設備及/或製造物件將第一子部分(例如,500 B)配置給被指定訊務類別TC7之佇列,將第二子部分(例如,500 B)配置給被指定訊務類別TC6之佇列,且將第三子部分(例如,500 B)配置給被指定訊務類別TC5之佇列。另外,在此一實例中,配置給被指定訊務類別TC4-TC0之佇列的該描述符快取之第二部分(例如,0.5 KB),揭示的方法、設備及/或製造物件將第一子部分(例如,100 B)配置給被指定訊務類別TC4之佇列,將第二子部分(例如,100 B)配置給被指定訊務類別TC3之佇列,將第三子部分(例如,100 B)配置給被指定訊務類別TC2之佇列,將第四子部分(例如,100 B)配置給被指定訊務類別TC1之佇列,且將第五子部分(例如,100 B)配置給被指定訊務類別TC0之佇列。應可瞭解,揭示的方法、設備及/或製造物件可將快取配置為被指定至佇列及/或佇列群組之位元數目,可用快取之百分比指定至佇列及/或佇列群組,及/或其任何組合。
另外,針對資料快取,本文中揭示之實例配置較少資料快取給訊務類別TC7-TC5之資料流,因為這些資料流包含具有較小酬載之封包(例如,相較於TC4-TC0)。另外,因為訊務類別TC7-TC5之資料流是時效性的(例如,硬式即時訊務),本文中揭示之實例以直通轉發模式傳輸該酬載而不儲存該酬載。如本文中所使用,直通轉發模式係指封包交換,其中裝置在整個封包被接收之前便開始轉換該封包。因此,針對硬式即時訊務(例如,資料流)較少快取便足夠。針對資料快取,本文中揭示之實例將較多資料快取配置給訊務類別TC4-TC0之資料流,因為這些資料流包含具有較大酬載之封包(例如,相較於TC7-TC5)是較低優先級(例如,相較於TC7-TC5)。
在既有技術中,描述符快取大小是基於由TSN標準支援之最小封包大小來計算且針對各佇列來靜態地配置而不管被指定至該佇列的訊務類別為何。舉例而言,即有的TSN NIC針對描述符快取之各傳輸佇列及各接收佇列支援16個描述符。在此一實例中,由於增進的描述符需要8個雙字組(32 B),既有的TSN NIC針對傳輸佇列之快取大小需要4個千位元組(KB)(例如,32x16x8)。類似地,既有的TSN NIC針對用於接收佇列的快取大小(例如,全部8 KB)需要4KB(例如,32x16x8)。針對包含較大酬載的訊務類別(例如,相較於其他訊務類別),很多的描述符快取保留未被使用。針對此等訊務類別,描述符快取保留未被使用,因為為了維持線速率,針對具有大酬載之封包可被儲存的不超過一個封包。因此,該描述符快取未被充分使用。
一些既有的TSN NIC針對2.5 Gbps的連結速度來設計。這些既有的TSN NIC設計是不可擴增的,尤其當目標連結速度接近10 Gbps時。舉例而言,既有的TSN NIC設計將需要較大的快取來維持用於較小封包的線速率。在此一實例中,既有的TSN NIC將需要較大的晶粒面積且增加包含既有的TSN NIC設計之產品的成本。另外,在此一實例中,針對資料快取,既有的TSN NIC之各佇列被設計用以支援兩個各1518 B之最大酬載。此快取配置同樣太多,因為最小酬載各為64 B。既有的TSN NIC設計針對各傳輸佇列及各接收佇列包含4KB的資料快取。因此,既有的TSN NIC具有8個傳輸佇列及8個接收佇列,需要64 KB的資料快取。
另一方法是移除各佇列的靜態個別快取邊界。舉例而言,整個快取可被用於任何佇列。雖然在該表面上,此方法出現用以解決靜態發生的邊界佇列的問題,若任何佇列及/或佇列組合可過度使用該快取,則此方法會有問題,因而導致用於其他佇列(例如,即時佇列)之快取匱乏。因此,此方法並不適於硬式即時應用,因為針對被指定為硬式即時訊務之佇列的描述符或酬載之預獲取的匱乏將會影響到封包的及時傳輸且因此增加整體傳輸封包延遲。
用以快取配置的上述兩種方法(例如,靜態快取邊界及無快取邊界)具有嚴格的限制。具有靜態配置之固定大小快取的第一方法需要在晶片上不切實際的面積量,導致負面影響,尤其針對支援10 Gbps連結速度的NIC。未具有佇列邊界之快取的第二方法導致用於硬式即時佇列之快取匱乏,因為一或多個資料流因預獲取太多描述符而過度使用該快取,因此導致用於其他佇列(例如,被指定為硬式即時訊務的佇列)之快取的匱乏。本文中揭示之實例藉由對每佇列基於被指定至該佇列之訊務類別來動態調整快取邊界而解決與至少這兩種方法有關的問題。由於本文中揭示之實例針對每佇列基於被指定至該佇列之訊務類別來調整快取邊界,本文中揭示之實例降低了用以實施TSN NIC之整體快取大小。
本文中揭示之例示性方法、設備及製造物件藉由基於被映射至快取之一或多個佇列之資料流的訊務類別來動態配置針對給定資料流所需要之快取來有效地利用可用快取。不像配置固定大小給佇列之既有的方法,本文中揭示之實例基於被指定至佇列之訊務類別跨全部佇列來分割快取。因此,整體快取被更佳化地利用且消除快取冗餘。另外,本文中揭示之實例對於晶片製造商及消費者可減少用以實施NIC之晶粒面積、功率及晶粒成本。
圖5是例示性網路介面電路(NIC)500之方塊圖,其可被實施在圖1、2、3及/或4之一或多個邊緣裝置及/或一或多個IT/OT裝置。在圖5之實例中,NIC 500包含例示性晶載系統組構(OSF)橋502、例示性路由器504及例示性直接記憶體存取(DMA)控制電路506。在圖5之實例中,OSF橋502由已被虛擬化成一或多個邏輯開關的一或多個硬體開關實施。在圖5之實例中,OSF橋502作為在連接至SoC之其他部分之實例主要可縮放組構(PSF)與路由器504之間的介面。例示性OSF橋502傳輸一或多個完成信號至路由器504及/或從該路由器504接收一或多個請求信號。在圖5之實例中,請求信號對應於DMA控制電路506預獲取資料之請求而完成信號對應於預獲取資料返回至DMA控制電路506。例示性完成及請求信號基於一或多個虛擬類別(VC)及對應於被指定至資料流的一或多個訊務類別(TC)而路由。舉例而言,IEEE 802.1Q標準定義資料流必須映射的八個訊務類別。在本文中揭示之實例中,時效性硬式即時資料流被映射至TC7-TC5且最佳努力資料流被映射至TC4-TC0。
在圖5繪示之實例中,例示性路由器504作為OSF橋502與DMA控制電路506之間的互連。在圖5之實例中,路由器504由一或多個邏輯電路實施。在額外或替代實例中,路由器504由處理器電路、類比電路、數位電路、邏輯電路、可程式微處理器、可程式微控制器、圖形處理單元(GPU)、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、可程式邏輯裝置(PLD)、及/或場可程式邏輯裝置(FPLD)(諸如場可程式閘陣列(FPGA)來實施。在圖5之實例中,路由器504至及/或從DMA控制電路506路由完成及請求信號。
在圖5繪示之實例中,DMA控制電路506由一或多個邏輯電路實施。在額外或替代實例中,DMA控制電路506由處理器電路、類比電路、數位電路、邏輯電路、可程式處理器、可程式控制器、GPU、DSP、ASIC、PLD、及/或FPLD(諸如FPGA)來實施。在圖5之實例中,DMA控制電路506獲取資料以載入至例示性描述符快取508(例如, L1、L2、L3等等)及/或例示性資料快取510(例如,L1、L2、L3等等)。在圖5之實例中,描述符快取508由4 KB之快取實施。在圖5之實例中,資料快取510由16 KB快取實施。
在一些實例中,NIC 500包含一或多個儲存構件。舉例而言,一或多個儲存構件可由描述符快取508及/或資料快取510實施。舉例而言,描述符快取508可實施第一儲存構件且該資料快取510可實施第二儲存構件。在一些實例中,描述符快取508及資料快取510可實施儲存構件。在額外或替代實例中,描述符快取508實施用於儲存一或多個描述符之構件且該資料快取510實施用於儲存資料之構件。在一些實例中,描述符快取508及/或資料快取510可由一或多個暫存器、主記憶體、揮發性記憶體(例如,同步動態隨機存取記憶體(SDRAM)、動態隨機存取記憶體(DRAM)、RAMBUS®動態隨機存取記憶體(RDRAM®)、及/或任何其他類型RAM裝置)、及/或非揮發性記憶體(例如,快閃記憶體及/或任何其他所要類型的記憶體裝置)實施。
在其他實例中,快取控制電路514由其他硬體邏輯電路、硬體實施狀態機、及/或硬體、軟體及/或韌體之任何其他組合實施。舉例而言,快取控制電路514可藉由至少一或多個硬體電路(例如,處理器電路、離散及/或整合式類比及/或數位電路、FPGA、特殊應用積體電路(ASIC)、比較器、計算放大器(op-amp)、邏輯電路等)實施,該一或多個硬體電路經構造以在不執行軟體或韌體之情況下執行對應的操作,但其他結構亦同樣適用。
在圖5繪示之實例中,DMA控制電路506基於從例示性媒體存取控制(MAC)電路512接收之一或多個請求信號及/或一或多個快取限制信號來額外地調整描述符快取508及/或資料快取510之配置。在圖5之實例中,MAC電路512由一或多個邏輯電路實施。在額外或替代實例中,DMA控制電路506由處理器電路、類比電路、數位電路、邏輯電路、可程式處理器、可程式控制器、GPU、DSP、ASIC、PLD、及/或FPLD(諸如FPGA)來實施。
在圖5繪示之實例中,MAC電路512包含例示性快取控制電路514及例示性閘控制邏輯(GCL)電路516。在圖5之實例中,快取控制電路514產生一或多個請求信號及/或一或多個快取限制信號。另外,快取控制電路514處理由DMA控制電路506檢索之一或多個資料流。在圖5之實例中,快取控制電路514由一或多個特殊用途電路實施,其經結構化以執行特殊操作,且包含一或多個基於半導體的邏輯裝置(例如,由一或多個電晶體實施之電性硬體)。在一些實例中,快取控制電路514由處理器電路、類比電路、數位電路、邏輯電路、可程式處理器、可程式控制器、GPU、DSP、ASIC、PLD、及/或FPLD(諸如FPGA)來實施。
在圖5繪示之實例中,例示性NIC 500繪示用於傳輸器之快取控制電路514的實施方案。實施本文中揭示之實例的接收器將具有NIC,該NIC具有與NIC 500相反的方法。舉例而言,實施本文中揭示之實例的接收器包含快取控制電路、可變資料快取及可變描述符快取。在此一例示性接收器中,快取控制電路基於被指定至佇列之訊務類別來動態地改變至各佇列的資料快取之配置。另外,在此一接收器中,快取控制電路基於被指定至佇列之訊務類別來動態地改變至各佇列的描述符快取之配置。因此,針對傳輸及接收,當實施本文中揭示之實例時,總描述符快取大小是8 KB(例如,4 KB用於傳輸器且4 KB用於接收器)。另外,針對傳輸及接收,當實施本文中揭示之實例時,總資料快取大小是32 KB(例如,16 KB用於傳輸器且16 KB用於接收器)。
在圖5繪示之實例中,快取控制電路514在IEEE802.1Q標準下利用資料封包之訊務類別映射。舉例而言,在工業應用中,硬式即時封包資料酬載通常小於256 B且非即時資料通常大於256 B。在圖5之實例中,快取控制電路514計算快取邊界且基於映射至各佇列之資料流的訊務類別來將快取配置至描述符快取508及/或資料快取510中的佇列。在本文揭示之實例中,快取控制電路514係以每個應用基礎來配置快取給佇列。舉例而言,在執行應用之前,快取控制電路514針對該應用配置快取。例示性應用包含控制馬達(例如,包含更多描述符但較小的資料封包)、監視視訊(例如,視訊資料被映射至TC0,而控制被映射至TC7),及IT/OT應用(例如,資料封包被映射至TC0,而控制封包被映射至TC7)。取決於與各資料流相關聯之訊務類別的類型,快取控制電路514動態地配置快取至對應佇列以最佳快取之利用率。
在圖5繪示之實例中,快取控制電路514發送(例如,傳輸)指示各傳輸佇列之配置的資訊且經由一或多個快取限制信號接收描述符快取508之佇列至DMA控制電路506。在圖5之實例中,快取控制電路514傳輸一或多個快取限制信號為十六十二位元信號。在圖5之實例中,當針對給定轉移緩衝器環(TRB)的尾指標藉由應用而前進,該DMA控制電路506開始預獲取描述符,只要在描述符快取508中存在空間,其依照由快取控制電路514發送之一或多個快取限制信號來配置。以此方式,沒有單一資料流會過度使用或未充分使用描述符快取508。快取控制電路514連續監測資料流及對應的訊務類別。在一些實例中,快取控制電路514配置額度給描述符快取508及資料快取510之佇列。舉例而言,快取控制電路514指派較多額度給具有較小封包的佇列且指派較少額度給具有較大封包的佇列。在此實例中,快取控制電路514監測及管理該額度。針對基於額度的方法,快取控制電路514基於指定給各訊務類別之額度來重調大小(例如,重新配置)該快取。舉例而言,針對較多使用的訊務類別,快取控制電路514指定較多額度,而針對較少使用的訊務類別,快取控制電路514指定較少的額度。
在圖5繪示之實例中,快取控制電路514計算快取邊界且基於被映射至各自佇列之資料流的訊務類別來配置快取至資料快取510中的佇列。舉例而言,資料快取510包含八個佇列,其中繪示例示性第一佇列518、例示性第二佇列520、例示性第六佇列522及例示性第八佇列524。在圖5之實例中,TC0映射至第一佇列518,TC1映射至第二佇列520,TC5映射至第六佇列522,且TC7映射至第八佇列524。在圖5之實例中,快取控制電路514經由一或多個資料請求信號而發送(例如,傳輸)指示資料快取510之各傳輸佇列及各接收佇列之配置的資訊至DMA控制電路506。
在圖5之實例中,一旦DMA控制電路506預獲取描述符,該MAC電路512(例如,快取控制電路514)剖析描述符且產生資料獲取請求至DMA控制電路506。在MAC電路512中的排程器執行在可得描述符當中的仲裁且取決於各種準則來產生一或多個資料獲取請求至DMA控制電路506,這些準則諸如在IEEE Std 802.1Qbv-2015 (Amendment to IEEE Std 802.1Q-2014 as amended by IEEE Std 802.1Qca-2015, IEEE Std 802.1Qcd-2015,及IEEE Std 802.1Q-2014/Cor1-2015), vol., no., pp.1-57,18 March 2016(下文稱之為“IEEE 802.1Qbv標準”)中之“IEEE Standard for Local and metropolitan area networks-- Bridges and Bridged Networks – Amendment 25: Enhancements for Scheduled Traffic”及/或在IEEE Std 802.1Qav-2009(Amendment to IEEE Std 802.1Q-2005), vol., no., pp.C1-72,5 Jan.2010(下文稱之為 “IEEE 802.1Qav標準”)中之“IEEE Standard for Local and Metropolitan Area Networks - Virtual Bridged Local Area Networks Amendment 12: Forwarding and Queuing Enhancements for Time-Sensitive Streams”中所規定的。舉例而言,在MAC電路512中之排程器執行在可得描述符當中的仲裁且取決於訊務類別優先級、詳列在閘控制清單(例如,針對IEEE 802.1Qbv標準)中之發起時間、在描述符中(例如,針對基於時間的排程)、可用額度(例如,針對IEEE 802.1Qav標準)及/或基於可用的快取空間來產生資料獲取請求至DMA控制電路506。在基於時間排程的實例中,GCL電路516實施基於時間的控制來選擇哪個佇列要優先處理。
在圖5之實例中,在執行預獲取操作之後,DMA控制電路506分別經由例示性第一多工器526、例示性第二多工器、例示性第六多工器530及例示性第八多工器532將資料封包載入至第一佇列518、第二佇列520、第六佇列522及第八佇列524。該DMA控制電路506可經由與最佳努力記憶體路徑(該DMA控制電路506可經由其載入最佳努力資料)分開之快速記憶體路徑載入硬式即時資料。基於執行的排程,MAC電路512(例如,GCL電路516)選擇例示性多工器534且將所選擇的資料封包轉發給SoC之傳輸器以傳輸至另一裝置。
在一些實例中,NIC 500包含用於控制快取之構件。舉例而言,用於控制快取之構件可由快取控制電路514實施。在一些實例中,快取控制電路514可由機器可執行指令實施,諸如由處理器電路執行及/或例示化之圖8之至少方塊802、804、806、808、810、812、814、816及818實施,其可藉由圖9之例示性處理器電路912、圖10之例示性微處理器1000及/或圖11之例示性場可程式閘陣列(FPGA)電路1100實施。在其他實例中,快取控制電路514由其他硬體邏輯電路、硬體實施的狀態機及/或硬體、軟體及/或韌體之任何其他組合實施。舉例而言,快取控制電路514可藉由至少一或多個硬體電路(例如,處理器電路、離散及/或整合式類比及/或數位電路、FPGA、特殊應用積體電路(ASIC)、比較器、計算放大器(op-amp)、邏輯電路等)實施,該一或多個硬體電路經構造以在不執行軟體或韌體之情況下執行對應的操作,但其他結構亦同樣適用。
圖6是方塊圖,其中繪示圖5之例示性快取控制電路514的例示性實施方案。在圖6之實例中,快取控制電路514包含例示性資料流分類電路602及例示性快取管理電路604。在圖6之實例中,資料流分類電路602及/或快取管理電路604之任何者可經由例示性通信匯流排606通信。在本文中揭示之實例中,通信匯流排606可使用任何適當的有線及/或無線通信實施。在額外或替代實例,通信匯流排606包含軟體、機器可讀指令及/或通信協定,藉此資訊可在資料流分類電路602及/或快取管理電路604之間通信。
在圖6繪示之實例中,資料流分類電路602由一或多個特殊用途電路實施,其經結構化以執行特殊操作,且包含一或多個基於半導體的邏輯裝置(例如,由一或多個電晶體實施之電性硬體)。在一些實例中,資料流分類電路602由處理器電路、類比電路、數位電路、邏輯電路、可程式處理器、可程式控制器、GPU、DSP、ASIC、PLD、及/或FPLD(諸如FPGA)來實施。在圖6之實例中,資料流分類電路602監測用於一或多個資料流之DMA控制電路506。回應於從應用中獲得(例如,存取、接收等等)一或多個資料流,資料流分類電路602解碼被指定至快取(例如,描述符快取508及/或資料快取510)之各自佇列的一或多個資料流以判定被指定至各佇列的訊務類別。額外地或替代地,資料流分類電路602判定該應用請求一或多個資料流之傳輸是否已結束。
在一些實例中,快取控制電路514包含用於分類一或多個資料流之構件。舉例而言,用於分類一或多個資料流之構件可由資料流分類電路602實施。在一些實例中,資料流分類電路602可由機器可執行指令實施,諸如由處理器電路執行及/或例示化之圖8之至少方塊802、804、806、816及818實施,其可藉由圖9之例示性處理器電路912、圖10之例示性微處理器1000及/或圖11之例示性場可程式閘陣列(FPGA)電路1100實施。在其他實例中,資料流分類電路602由其他硬體邏輯電路、硬體實施的狀態機及/或硬體、軟體及/或韌體之任何其他組合實施。舉例而言,資料流分類電路602可藉由至少一或多個硬體電路(例如,處理器電路、離散及/或整合式類比及/或數位電路、FPGA、特殊應用積體電路(ASIC)、比較器、計算放大器(op-amp)、邏輯電路等)實施,該一或多個硬體電路經結構化以在不執行軟體或韌體之情況下執行對應的操作,但其他結構亦同樣適用。
在圖6繪示之實例中,快取管理電路604由一或多個特殊用途電路實施,其經結構化以執行特殊操作,且包含一或多個基於半導體的邏輯裝置(例如,由一或多個電晶體實施之電性硬體)。在一些實例中,快取管理電路604由處理器電路、類比電路、數位電路、邏輯電路、可程式處理器、可程式控制器、GPU、DSP、ASIC、PLD、及/或FPLD(諸如FPGA)來實施。在圖6之實例中,基於指定至描述符快取508之一或多個佇列的各自訊務類別,該快取管理電路604計算要配置給一或多個佇列之描述符快取508之各自部分。舉例而言,快取管理電路604配置較多描述符快取508給映射至訊務類別TC7-TC5之佇列,因為指定至這些佇列之資料流攜載較小的酬載資料。相反地,快取管理電路604配置較少描述符快取508給映射至訊務類別TC4-TC0之佇列,因為指定至這些佇列之資料流攜載較大的酬載資料。例示性快取管理電路604額外地傳輸一或多個快取限制信號至DMA控制電路506以調整描述符快取508之配置。
圖6繪示之實例中,基於指定至資料快取510之一或多個佇列的各自訊務類別,該快取管理電路604計算要配置給一或多個佇列之資料快取510之各自部分。舉例而言,快取管理電路604配置較多的資料快取510給映射至較高優先級訊務類別(例如,TC7-TC5)之佇列。相反地,快取管理電路604配置較少的資料快取510給映射至低優先級訊務類別(例如,TC4-TC0)之佇列。例示性快取管理電路604額外地傳輸一或多個資料請求信號至DMA控制電路506以調整資料快取510之配置。
舉例而言,描述符封包通常具有相同大小(例如,位元)而不論資料封包的大小。因此,快取管理電路604配置較多的描述符快取508給包含較小資料封包之訊務類別(例如,較頻繁傳輸的訊務類別,TC7-TC5等等)以增加在資料快取510中之資料封包的數目,藉此抵消了原來可能在靜態定界快取中會發生的延遲。類似地,快取管理電路604配置較少描述符快取508給包含較大資料封包之訊務類別(例如,較不頻繁傳輸的訊務類別,TC4-TC0等等)以減少在資料快取510中之資料封包之數目,因為這些訊務類別之較少的資料封包相較於於包含較小資料封包之訊務類別將耗用較多的資料快取510。
在一些實例中,快取控制電路514包含用於管理一或多個用於儲存之構件。舉例而言,用於管理一或多個儲存構件之構件可由快取管理電路604實施。在一些實例中,快取管理電路604可由機器可執行指令實施,諸如由處理器電路執行及/或例示化之圖8之至少方塊808、810、812及814實施,其可藉由圖9之例示性處理器電路912、圖10之例示性微處理器1000及/或圖11之例示性場可程式閘陣列(FPGA)電路1100實施。在其他實例中,快取管理電路604由其他硬體邏輯電路、硬體實施的狀態機及/或硬體、軟體及/或韌體之任何其他組合實施。舉例而言,快取管理電路604可藉由至少一或多個硬體電路(例如,處理器電路、離散及/或整合式類比及/或數位電路、FPGA、特殊應用積體電路(ASIC)、比較器、計算放大器(op-amp)、邏輯電路等)實施,該一或多個硬體電路經結構化以在不執行軟體或韌體之情況下執行對應的操作,但其他結構亦同樣適用。
雖然圖5及6繪示及描述快取控制電路514為一或多個特殊用途電路實施,其經結構化以執行特殊操作,且包含一或多個基於半導體的邏輯裝置(例如,由一或多個電晶體實施之電性硬體),但在其他實例中,快取控制電路514可藉由硬體、軟體及/或韌體之任何其他組合來實施。舉例而言,快取控制電路514可由通用處理器電路來實施,諸如圖9之例示性處理器電路912、圖10之例示性微處理器1000、及/或圖11之例示性場可程式閘陣列(FPGA)電路1100,其可程式化以執行及/或示例機器可讀指令及/或操作(例如,對應於指令之機器可讀指令)諸如圖8之機器可讀指令及/或操作800。在一些此實例中,指令引起處理器電路執行對應於機器可讀指令及/或操作(例如,圖8之機器可讀指令及/或操作800)之一或多個操作。
在一些實例中,微處理器1000(例如,包含CPU、 DSP、GPU、XPU等等之多核心硬體電路)包含一或多個核心,其可獨立地操作或協作地執行可對應於至少一些圖8之機器可讀指令及/或操作800之機器可讀指令。舉例而言,執行機器可讀指令及/或操作800之微處理器1000解碼指定至描述符快取508之一或多個佇列之一或多個資料流及/或資料快取510以判定被指定至該一或多個佇列之一或多個訊務類別。額外地或替代地,執行機器可讀指令及/或操作800之微處理器1000基於被指定至一或多個佇列之一或多個訊務類別來配置描述符快取508及/或資料快取510之一或多個部分至該一或多個佇列。在一些實例中,執行機器可讀指令及/或操作800之微處理器1000傳輸一或多個信號至DMA控制電路506以設定DMA控制電路506之一或多個暫存器來調整描述符快取508及/或資料快取510之配置。
在額外或替代實例中,FPGA電路1100被組構成用以實施圖5之快取控制電路514。舉例而言,FPGA電路1100被組構成用以示例一或多個操作,其可對應於至少一些圖8之機器可讀指令及/或操作800。舉例而言,FPGA電路1100當示例化機器可讀指令及/或操作800時解碼被指定至描述符快取508及/或資料快取510之一或多個佇列的一或多個資料流以判定被指定至一或多個佇列的一或多個訊務類別。額外地或替代地,FPGA電路1100當示例化機器可讀指令及/或操作800時基於被指定至一或多個佇列之一或多個訊務類別來配置描述符快取508及/或資料快取510之一或多個部分至該一或多個佇列。在一些實例中,FPGA電路1100當示例化機器可讀指令及/或操作800時傳輸一或多個信號至DMA控制電路506以設定DMA控制電路506之一或多個暫存器來調整描述符快取508及/或資料快取510之配置。
圖7是例示性圖示700,其說明本文中揭示之實例相較於既有技術的至少一個優點。圖示700包含既有快取702之例示性表示及例示性快取704之例示性表示。該例示性快取704之例示性表示繪示在圖5及/或6之快取控制電路514、圖5之DMA控制電路506及例示性快取704之間的例示性互動。
在圖7繪示之實例中,既有快取702繪示固定快取區域分割之實例而例示性快取704繪示本揭示之可變快取區域分割。如圖7所示,在固定快取區域分割中,既有快取702之八個佇列各被配置既有快取702之相同大小的專用區域。舉例而言,在既有快取702之各佇列中被配置512 B的專用位址範圍,其是固定且無法變更的。因此,既有快取702針對八個佇列需要4 KB,其每佇列可儲存十六個描述符。在圖7之實例中,各描述符是八個雙字組(DWord)或32 B。然而,如上所述,既有快取702未受到充分利用且為不可縮放的,因為在增加連結速度的情況下需要較大的矽面積。
在圖7繪示之實例中,例示性快取704實施主動快取管理,如快取控制電路514藉由一或多個資料流之應用請求傳輸基於被指定用於一或多個資料流之訊務類別來針對每個佇列動態地計算快取額度及區域限制。換言之,快取控制電路514基於被映射至佇列的訊務類別(例如,與各佇列相關聯之資料流類型)來針對各佇列動態地計算快取額度及區域限制。舉例而言,快取控制電路514可基於映射至佇列之訊務類別而將配置至例示性快取704之各佇列的位址範圍在512 B及64 B之間變動。
在圖7繪示之實例中,快取控制電路514基於訊務類別動態地配置例示性快取704至佇列。舉例而言,快取控制電路514基於被指定至佇列之資料流的延遲來配置額度給例示性快取704之佇列。舉例而言,相較於映射至較高延遲資料流的另一佇列,快取控制電路514指定更多額度給映射至較低延遲資料流之佇列。由於本文中揭示之動態位址映射,例示性快取704是更有效率且增加了快取利用率,藉此降低整體快取大小。因此,本文中揭示之動態位址映射降低了在NIC及/或其他裝置中實施之快取之整體大小。
雖然實施圖5之快取控制電路514之例示性方式被繪示在圖6中,但繪示在圖6中之元件、程序、及/或裝置之一或多者能以任何其他的方式來組合、分割、重新配置、省略、消除及/或實施。再者,圖6之例示性資料流分類電路602、例示性快取管理電路604及/或更一般而言例示性快取控制電路514可藉由硬體、軟體、韌體及/或硬體、軟體及/或韌體之任何組合實施。因此,例如,圖6之例示性資料流分類電路602、例示性快取管理電路604及/或更一般而言例示性快取控制電路514可藉由處理器電路、類比電路、數位電路、邏輯電路、可程式處理器、可程式微控制器、圖形處理單元(GPU)、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、可程式邏輯裝置(PLD)、及/或場可程式邏輯裝置(FPLD)(諸如場可程式閘陣列(FPGA))來實施。當閱讀本專利之任何設備或系統請求項涵蓋純軟體及/或韌體實施方案時,圖6之例示性資料流分類電路602、例示性快取管理電路604及/或更一般而言例示性快取控制電路514之至少一者特此明確地經界定以包含非暫時性電腦可讀儲存裝置或儲存磁碟,諸如記憶體、數位多功能光碟(DVD)、光碟(CD)、藍光磁碟等,其包含軟體及/或韌體。又再者,圖5及/或6之例示性快取控制電路514可包含除了或取代圖6繪示之一或多個元件、程序及/或裝置,及/或可包含任何或所有繪示元件、程序及裝置之一個以上。
在圖8中展示流程圖,其表示用於實施圖5及/或6之快取控制電路514之例示性硬體邏輯電路、機器可讀指令、硬體實施狀態機及/或其任何組合。機器可讀指令可為一或多個可執行程式或用於藉由處理器電路執行之可執行程式的部分,該處理器電路諸如下文結合圖9論述之例示性處理器平台900中之處理器電路912及/或下文結合圖10及(或)11論述之例示性處理器電路。該程式可經體現於儲存於一或多個非暫時性電腦可讀儲存媒體,諸如CD、軟碟、硬碟機(HDD)、DVD、藍光磁碟、揮發性記憶體(例如,任何類型之隨機存取記憶體(RAM)等等)或非揮發性記憶體(例如,快閃記憶體、HDD等)上與定位在一或多個硬體裝置中之處理器電路相關聯的軟體中,但整個程式及/或其部分可替代地由除了處理器電路以外之一或多個硬體裝置執行及/或經體現於韌體或專用硬體中。機器可讀指令可跨多個硬體裝置分佈及/或藉由兩個或更多個硬體裝置(例如,伺服器及用戶硬體裝置)執行。舉例而言,用戶硬體裝置可藉由端點用戶硬體裝置(例如,與使用者相關聯之硬體裝置)或中間用戶硬體裝置(例如,無線電存取網路(RAN)閘道器,其可促進伺服器與端點用戶硬體裝置之間的通信)來實施。類似地,非暫時性電腦可讀儲存媒體可包含定位在一或多個硬體裝置中之一或多個媒體。再者,雖然例示性程式是參考繪示在圖8中之流程圖來描述,但可替代地使用實施例示性快取控制電路514之許多其他方法。舉例而言,方塊之執行順序可以改變,及/或一些描述之方塊可以改變、免除或組合。額外地或替代地,任何或所有方塊可藉由一或多個硬體電路(例如,處理器電路、離散及/或整合式類比及/或數位電路、FPGA、ASIC、比較器、計算放大器(op-amp)、邏輯電路等等)來實施,該一或多個硬體電路經結構化以在不執行軟體或韌體之情況下執行對應的操作。處理器電路可在單一機器、多個跨伺服器機器之多個伺服器分佈之多個處理器、跨一或多個伺服器機架分佈之多個處理器、定位在相同封裝(例如,相同積體電路(IC)封裝或在兩個或更多個分離外殼中,等等)中之CPU及/或FPGA而分佈在不同的網路位置及/或本端於一或多個硬體裝置(例如,單核心處理器(例如,單核心中央處理器單元(CPU)、多核心處理器(例如,多核心CPU)等等)。
本文中所描述之機器可讀指令可以壓縮格式、經加密格式、分段格式、經編譯格式、可執行格式、經封裝格式等等中之一或多者來儲存。如本文中所描述之機器可讀指令可經儲存為資料或資料結構(例如指令之部分、程式碼、程式碼之表示等),其可用以創建、製造及/或產生機器可執行指令。舉例而言,機器可讀指令可被分段且儲存在定位在網路或網路集合(例如,在雲端中、在邊緣裝置中,等等)之相同或不同位置處的一或多個儲存裝置及/或計算裝置(例如,伺服器)。機器可讀指令可能需要安裝、修改、調適、更新、組合、補充、組構、解密、解壓縮、解封裝、分佈、再指派、編譯等中之一或多者以便使該等機器可讀指令可直接由計算裝置及/或其他機器讀取、解譯、及/或執行。舉例而言,機器可讀指令可儲存於多個部分中,該等部分經個別地壓縮、加密及/或儲存於單獨的計算裝置上,其中該等部分在經解密、經解壓縮及/或經組合時形成實施諸如本文中所描述的可一起構成程式之一或多個操作之機器可執行指令之集合。
在另一實例中,機器可讀指令可儲存於以下狀態中:其中機器可讀指令可由處理器電路讀取,但需要添加程式庫(例如動態鏈接程式庫(DLL))、軟體開發套件(SDK)、應用程式設計介面(API)等以便執行特定計算裝置或其他裝置上之機器可讀指令。在另一實例中,機器可讀指令可需要在可整體或部分地執行機器可讀指令及/或對應的程式之前被組構(例如設定儲存,資料輸入,網路位址記錄等)。因此,如本文中使用的,機器可讀媒體可包含機器可讀指令及/或程式而不管在經儲存或另外靜止或運輸時之機器可讀指令及/或程式的特定格式或狀態。
本文中所描述的機器可讀指令可由任何過去、目前或未來指令語言、指令碼處理語言、程式化語言等表示。舉例而言,機器可讀指令可使用以下語言中之任一者來表示:C,C++,Java,C#,Perl,Python,JavaScript,超文字標示語言(HTML),結構化查詢語言(SQL),Swift等等。
如上文所提及,圖8之例示性操作可使用儲存於一或多個非暫時性電腦及/或機器可讀媒體上之可執行指令(例如電腦及/或機器可讀指令)來實施,該非暫時性電腦及/或機器可讀媒體諸如光學儲存裝置、磁性儲存裝置,HDD、快閃記憶體、唯讀記憶體(ROM)、CD、DVD、快取記憶體、任何類型的RAM、暫存器及/或在其中儲存資訊達任何持續時間(例如達經擴展時間段、永久性地、達短暫時刻、用於暫時緩衝,及/或用於資訊之快取)的任何其他儲存裝置或儲存磁碟。如本文中所使用,術語非暫時性電腦可讀媒體及非暫時性電腦可讀儲存媒體明確地定義為包含任何類型之電腦可讀儲存裝置及/或儲存磁碟且排除傳播信號及傳輸媒體。
「包含」及「包括」(以及其所有形式及時態)在本文中用作開放術語。因此,每當技術方案採用任何形式的「包含(include)」或「包括(comprise)」(例如包括(comprises、comprising)、包含(includes、including)、具有等)作為前言或將其用於任何種類的技術方案敍述內時,應理解,在不超出對應的技術方案或敍述之範疇之情況下,可存在額外元件、術語等等。如本文中所使用,當片語「至少」用作技術方案之例如前言中之過渡術語時,其為開放式的,與術語「包括」及「包含」為開放式之方式相同。舉例而言,當以諸如A、B及/或C之形式使用術語「及/或」時,該術語係指A、B、C之任何組合或子集,諸如(1)僅A,(2)僅B,(3)僅C,(4)A及B,(5)A及C,(6)B及C,以及(7)A及B及C。如本文中所使用,在描述結構、組件、項目、物件及/或事物之上下文中,片語「A及B中之至少一者」旨在指包含(1)至少一個A、(2)至少一個B及(3)至少一個A及至少一個B中之任一者的實施方案。類似地,如本文中所使用,在描述結構、組件、項目、物件及/或事物之上下文中,片語「A或B中之至少一者」旨在指包括(1)至少一個A、(2)至少一個B及(3)至少一個A及至少一個B中之任一者的實施方案。如本文中所使用,在描述程序、指令、動作、活動及/或步驟之效能或執行之上下文中,片語「A及B中之至少一者」旨在指包含(1)至少一個A、(2)至少一個B及(3)至少一個A及至少一個B中之任一者的實施方案。類似地,如本文中所使用,在描述程序、指令、動作、活動及/或步驟之效能或執行之上下文中,片語「A或B中之至少一者」旨在指包括(1)至少一個A、(2)至少一個B及(3)至少一個A及至少一個B中之任一者之實施方案。
如本文中所使用,單數引用(例如「一(a/an)」、「第一」、「第二」等)不排除多個。如本文中所使用,術語「一」實體係指彼實體中之一或多者。術語「一」、「一或多個」及「至少一個」在本文中可互換地使用。此外,儘管個別地列舉,但可由例如單個單元或處理器實施複數個構件、元件或方法動作。另外,儘管個別特徵可包含在不同實例或申請專利範圍中,但可能組合此等個別特徵,且包含於不同實例或申請專利範圍中不意味著特徵之組合不可行及/或有利的。
圖8是流程圖,其表示例示性機器可讀指令及/或例示性操作800,其可藉由處理器電路執行及/或例示化以實施圖5及/或6之例示性快取控制電路514。圖8之機器可讀指令及/或操作800開始於方塊802,其中資料流分類電路602監測一或多個資料流。舉例而言,在方塊802處,資料流分類電路602針對一或多個資料流監測DMA控制電路506。在方塊804處,資料流分類電路602判定資料流分類電路602是否已接收到一或多個資料流以針對應用來傳輸。
在圖8繪示之實例中,回應於資料流分類電路602判定一或多個資料流已從應用接收(方塊804:是),機器可讀指令及/或操作800進行至方塊806。回應於資料流分類電路602判定一或多個資料流未從應用接收(方塊804:否),機器可讀指令及/或操作800返回至方塊802。在方塊806處,資料流分類電路602解碼被指定至快取(例如描述符快取508及/或資料快取510)之各自佇列的一或多個資料流以判定被指定至各佇列的訊務類別。
在圖8繪示之實例中,在方塊808處,基於指定至描述符快取508之一或多個佇列的各自訊務類別,快取管理電路604計算要配置給該一或多個佇列之描述符快取508之各自部分。舉例而言,在方塊808處,快取管理電路604配置較多描述符快取508給映射至訊務類別TC7-TC5之佇列,因為指定至這些佇列之資料流攜載較小的資料封包。額外地或替代地,在方塊808處,快取管理電路604配置較少描述符快取508給映射至訊務類別TC4-TC0之佇列,因為指定至這些佇列之資料流攜載較大的資料封包。
在圖8繪示之實例中,在方塊810處,快取管理電路604傳輸一或多個快取限制信號至DMA控制電路506以調整描述符快取508之配置。在方塊812處,基於被指定至資料快取510之該一或多個佇列的各自訊務類別,快取管理電路604計算要配置給該一或多個佇列之資料快取510之各自部分。舉例而言,在方塊812處,快取管理電路604配置較少的資料快取510給映射至高優先級訊務類別(例如,TC7-TC5)之佇列。在額外或替代實例中,在方塊812處,快取管理電路604配置較多資料快取510給映射至低優先級訊務類別(TC4-TC0)之佇列。在方塊814處,快取管理電路604傳輸一或多個資料請求信號至DMA控制電路506以調整資料快取510之配置。
在圖8繪示之實例中,在方塊816處,資料流分類電路602判定該應用請求一或多個資料流之傳輸是否已結束。回應於資料流分類電路602判定請求一或多個資料流之傳輸的應用還未結束(方塊816:否),機器可讀指令及/或操作800返回至方塊802。回應於資料流分類電路602判定請求一或多個資料流之傳輸的應用已結束(方塊816:是),機器可讀指令及/或操作800進行至方塊818。
在圖8繪示之實例中,在方塊818處,資料流分類電路602判定是否繼續操作。舉例而言,引起資料流分類電路602判定不繼續操作之條件包含關閉其中快取控制電路514被實施之NIC及/或其他裝置。回應於資料流分類電路602判定繼續操作(方塊818:是),該機器可讀指令及/或操作800返回至方塊802。回應於資料流分類電路602判定不繼續操作(方塊818:否),機器可讀指令及/或操作800結束。
圖9是例示性處理器平台900之方塊圖,該處理器平台900包含經結構化以執行及/或示例圖8之機器可讀指令及/或操作來實施圖5及/或6之快取控制電路514的處理器電路。該處理器平台900可例如是伺服器、個人電腦、工作站、自我學習機器(例如,神經網路)、行動裝置(例如,蜂巢式電話、智慧型電話、平板電腦,諸如iPad
TM)、個人數位助理(PDA)、網際網路器具、DVD播放器、CD播放器、數位視訊記錄器、藍光播放器、遊戲控制台、個人視訊記錄器、機上盒、頭戴式裝置(例如,擴增實境(AR)頭戴式裝置、虛擬實境(VR)頭戴式裝置,等等)或其他穿戴式裝置、或任何其他類型的計算裝置。
繪示實例之處理器平台900包含處理器電路912。繪示實例之處理器電路912是硬體。舉例而言,處理器電路912可由來自任何想要的族群或製造商之一或多個積體電路、邏輯電路、FPGA、微處理器、CPU、GPU、DSP及/或微控制器來實施。處理器電路912可由一或多個基於半導體(例如,基於矽)之裝置實施。
繪示實例之處理器電路912包含局部記憶體913(例如,快取、暫存器,等等)。繪示實例之處理器電路912與包含揮發性記憶體914及非揮發性記憶體916之主記憶體經由匯流排918通信。揮發性記憶體914可由同步動態隨機存取記憶體(SDRAM)、動態隨機存取記憶體(DRAM)、RAMBUS®動態隨機存取記憶體(RDRAM®)及/或任何其他類型的RAM裝置實施。非揮發性記憶體916可藉由快閃記憶體及/或任何其他所需類型之記憶體裝置實施。對繪示實例之主記憶體914、916之存取受記憶體控制器917控制。
繪示實例之處理器平台900亦包含例示性網路介面電路500。網路介面電路500可藉由依照任何類型的介面標準,諸如乙太網路介面、通用串列匯流排(USB)介面、Bluetooth®介面、近場通信(NFC)介面、PCI介面及/或PCIe介面,的硬體來實施。在一些實例中,網路介面電路500亦可稱為主光纖介面(HFI)。在圖9之實例中,網路介面電路500被實施在與處理器電路912分開的晶粒上(例如,作為SoC的部分)。
在一些實例中,網路介面電路500被實施在與處理器電路912相同的晶粒上。在額外或替代實例中,網路介面電路500被實施在與處理器電路912相同的封裝中。在一些實例中,網路介面電路500被實施在與其中實施處理器電路912的封裝不同的封裝中。舉例而言,網路介面電路500可被實施為一或多個擴充卡、子卡網路介面卡、控制器晶片、晶片組或可由處理器電路912使用以與另一處理器平台及/或其他裝置連接的其他裝置。
在所繪示之實例中,一或多個輸入裝置922連接至網路介面電路500。輸入裝置922允許使用者輸入資料及/或命令至處理器電路912中。輸入裝置922可藉由例如音訊感測器、麥克風、攝影機(靜態或視訊)、鍵盤、按鈕、滑鼠、觸控螢幕、軌跡墊、軌跡球、等值點裝置及/或語音辨識系統實施。
一或多個輸出裝置924亦可連接至繪示實例之網路介面電路500。舉例而言,輸出裝置924可藉由顯示裝置(例如發光二極體(LED)、有機發光二極體(OLED)、液晶顯示器(LCD)、陰極射線管顯示器(CRT)、就地切換(IPS)顯示器、觸控螢幕等)、觸覺輸出裝置,印表機及/或揚聲器實施。因此,繪示實例之網路介面電路500通常包含圖形驅動器卡、圖形驅動器晶片及/或圖形處理器電路,諸如GPU。
在圖9繪示之實例中,網路介面電路500實施描述符快取508、資料快取510及例示性資料流分類電路602、例示性快取管理電路604及/或更一般而言快取控制電路514。繪示實例之網路介面電路500亦包含通信裝置,諸如傳輸器、接收器、收發器、數據機、住宅閘道器、無線存取點及/或網路介面以促進資料經由網路926與外部機器(例如任何種類的計算裝置)之交換。舉例而言,該通信可經由乙太網路連接、數位用戶線(DSL)連接、電話線連接、同軸纜線系統、衛星系統、定位線無線系統、蜂巢式電話系統、光學連接,等等。
繪示實例之處理器平台900亦包含一或多個大量儲存裝置928以儲存軟體及/或資料。此類大量儲存裝置928之實例包含磁性儲存裝置、光學儲存裝置、軟碟驅動器、HDD、CD、藍光磁碟機、獨立磁碟冗餘陣列(RAID)系統、固態儲存裝置(諸如快閃記憶體裝置)及DVD驅動器。
圖9之機器可執行指令932可由圖8之機器可讀指令及/或操作800實施。機器可執行指令932可被儲存在大量儲存裝置928中、在揮發性記憶體914中、在非揮發性記憶體916中及/或在可卸離非暫時性電腦可讀儲存媒體(諸如CD或DVD)上。
圖10係圖9之處理器電路912之例示性實施方案的方塊圖。在此實例中,圖9之處理器電路912由微處理器1000實施。舉例而言,微處理器1000可實施多核心硬體電路,諸如CPU、DSP、GPU、XPU等等。雖然其可包含任何數量的例示性核心1002(例如,1核心),但此實例之微處理器1000是包含N個核心之多核心半導體裝置。微處理器1000之核心1002可獨立操作或可協作以執行機器可讀指令。舉例而言,對應於韌體程式、嵌入式軟體程式或軟體程式之機器碼可藉由核心1002中之一者來執行且可由核心1002之多個在相同或不同時間來執行。在一些實例中,對應於韌體程式、嵌入式軟體程式或軟體程式之機器碼可分成執行緒且以並行方式由兩個或更多個核心1002來執行。軟體程式可對應於部分或所有的由圖8流程圖表示之機器可讀指令及/或操作800。
核心1002可由例示性匯流排1004通信。在一些實例中,匯流排1004可實施通信匯流排來實現與核心1002之一或多者相關聯的通信。舉例而言,匯流排1004可實施積體電路間(I2C)匯流排、序列周邊介面(SPI)匯流排、PCI匯流排或PCIe匯流排之至少一者。額外地或替代地,匯流排1004可實施任何其他類型的計算或電子匯流排。核心1002可藉由例示性介面電路1006從一或多個外部裝置獲得資料、指令及/或信號。核心1002可藉由介面電路1006輸出資料、指令及/或信號至一或多個外部裝置。雖然此實例之核心1002包含例示性局部記憶體1020(例如,層級1(L1)快取,其可分成L1資料快取及L1指令快取),該微處理器1000亦包含例示性共享記憶體1010,其可由核心(例如,層級2(L2_快取)共享,用於高速存取資料及/或指令。資料及/或指令可藉由寫入至共享記憶體1010及/或從共享記憶體1010讀取來轉移(例如,共享)。核心1002之各者的局部記憶體1020及共享記憶體1010可以是包含多個快取記憶體之層級與主記憶體(例如,圖9之主記憶體914、916)之儲存裝置之階層的部分。通常,在階層中較高層級的記憶體比較低層級的記憶體具有較少的存取時間且具有較小的儲存容量。在快取階層之各種層級中的變化可藉由快取一致性政策來管理(例如,協調)。
各核心1002可被稱為CPU、DSP、GPU等等,或任何其他類型的硬體電路。各核心1002包含控制單元電路1014、算術及邏輯(AL)電路1016(有時稱為ALU 1016及/或算術及邏輯電路1016)、複數個暫存器1018、L1快取1020、例示性匯流排1022。亦可存在其他結構。舉例而言,各核心1002可包含向量單元電路、單指令多資料(SIMD)單元電路、載入/儲存單元(LSU)電路、分支/跳轉單元電路、浮點單元(FPU)電路,等等。控制單元電路1014包含基於半導體的電路,其經結構化以控制在對應核心1002中之資料移動(例如,協調資料移動)。AL電路1016包含基於半導體的電路,其經結構化以對對應核心1002中之資料執行一或多個數學及/或邏輯操作。一些實例之AL電路1016執行基於整數的操作。在其他實例中,AL電路1016亦執行浮點操作。在又另一實例中,AL電路1016可包含執行基於整數的操作之第一AL電路,及執行浮點操作之第二AL電路。在一些實例中,AL電路1016可被稱為算術邏輯單元(ALU)。暫存器1018是基於半導體的結構,其用以儲存資料及/或指令,諸如由對應核心1002之AL電路1016執行之操作之一或多者的結果。舉例而言,暫存器1018可包含向量暫存器、SIMD暫存器、通用暫存器、旗標暫存器、分段暫存器、機器指定暫存器、指令指標暫存器、控制暫存器、偵錯暫存器、記憶體管理暫存器、機器檢查暫存器,等等。暫存器1018可配置在一庫中,如圖10所示。替代地,暫存器1018可以任何其他配置、格式或結構來組織,包含遍及核心1002分佈以縮短存取時間。匯流排1022可實施I2C匯流排、SPI匯流排、PCI匯流排或PCIe匯流排之至少一者。
各核心1002及/或更一般而言微處理器1000針對上文所示且描述的可包含額外及/或替代結構。舉例而言,一或多個時脈電路、一或多個電源、一或多個功率閘、一或多個快取本地代理(CHA)、一或多個收歛/共同網狀停止(CMS)、一或多個移位器(例如,桶狀移位器)及/或其他電路亦可存在。微處理器1000是一種半導體裝置,其被製造用以包含許多電晶體互連以實施上文描述之包含在一或多個封裝中之一或多個積體電路(IC)中的結構。處理器電路可包含一或多個加速器及/或與一或多個加速器協作。在一些實例中,加速器由邏輯電路實施以相較於通用處理器能更快地及/或有效率地執行特定任務。加速器之實例包含ASIC及FPGA,諸如在本文中所討論的。GPU或其他可程式裝置亦可以是加速器。加速器可機載於處理器電路,在與處理器電路相同的晶片封裝中及/或在一或多個與處理器電路分開的封裝中。
圖11是圖9之處理器電路912之另一例示性實施方案之方塊圖。在此實例中,處理器電路912由FPGA電路1100實施。FPGA電路1100可被用以例如執行原本由圖10之例示性微處理器1000執行的操作來執行對應的機器可讀指令。然而,一旦被組構,FPGA電路1100實例化硬體中之機器可讀指令,且因此通常可比由執行對應軟體之通用微處理器所執行的還更快地執行該操作。
更特定言之,不同於上文描述之圖10之微處理器1000(其是可被程式化以執行由圖8之流程圖表示之一些或全部的機器可讀指令及/或操作800的通用裝置,但一旦被製造後,其互連及邏輯電路是固定的),圖11之實例的FPGA電路1100包含互連及邏輯電路,其在製造後能以不同方式被組構及/或互連,以示例例如由圖8之流程圖表示之一些或全部的機器可讀指令及/或操作800。詳言之,FPGA電路1100可被想成是邏輯閘、互連及開關之一陣列。開關可被程式化以改變該邏輯閘如何藉由互連來互連,有效地形成一或多個專用邏輯電路(除非且直到FPGA電路1100被重新程式化)。被組構的邏輯電路實現邏輯閘能以不同方式協作來對由輸入電路接收的資料執行不同的操作。這些操作可對應於由圖8之流程圖表示之軟體的一些或全部。因此,FPGA電路1100可被結構化以有效地示例圖8之流程圖之機器可讀指令及/或操作800的一些或全部,如專用邏輯電路以類似於ASIC之專用方式來執行對應於那些軟體指令的操作。因此,FPGA電路1100可比通用微處理器所執行的能更快地執行對應於圖8之機器可讀指令及/或操作800的一些或全部的操作。
在圖11之實例中,FPGA電路1100被結構化以藉由終端使用者由硬體描述語言(HDL)(諸如Verilog)來程式化(及/或重新程式化一或多次)。圖11之FPGA電路1100,包含例示性輸入/輸出(I/O)電路1102,以獲得及/或輸出往返例示性組態電路1104及/或外部硬體(例如,外部硬體電路)1106的資料。舉例而言,組態電路1104可實施介面電路,其可獲得機器可讀指令來組態FPGA電路1100或其部分。在一些此等實例中,組態電路1104可從使用者、機器(例如,硬體電路(例如,程式化或專用電路))獲得機器可讀指令,其可實施人工智慧/機器學習(AI/ML)模型以產生指令),等等。如本文中所使用,模型是指令及/或資料之一集合,其可藉由處理器電路接收、處理、解釋及/或以其他方式操縱以產生結果。通常,模型是利用輸入資料來操作以依照在模型中反映的一或多個關係來產生輸出資料。該模型可以是基於訓練資料。在一些實例中,外部硬體1106可實施圖10之微處理器1000。FPGA電路1100亦包含例示性邏輯閘電路1108、複數個例示性可組態互連1110及例示性儲存電路1112之一陣列。邏輯閘電路1108及互連1110可組態以示例一或多個操作,其對應於至少一些圖8之機器可讀指令及/或操作800及/或其他所要的操作。顯示在圖11中之邏輯閘極電路1108是被製造成群組或方塊。各方塊包含基於半導體之電結構,其可被組構至邏輯電路中。在一些實例中,電結構包含邏輯閘(例如,And閘、Or閘、Nor閘,等等),其提供用於邏輯電路之基本建構方塊。電可控制開關(例如,電晶體)是存在於邏輯閘電路1108之各者中以實現電結構及/或邏輯閘之組態以形成電路來執行所要的操作。邏輯閘電路1108可包含其他的電結構,諸如查找表(LUT)、暫存器(例如,正反器或鎖存器)、多工器等等。
繪示實例之互連1110是導電路徑、跡線、通孔等等,其可包含電可控制開關(例如,電晶體),其狀態可藉由程式化(例如,使用HDL指令語言)來改變,以啟動或撤銷啟動在邏輯閘電路1108之一或多者之間的一或多個連接以程式化所要的邏輯電路。
繪示實例之儲存電路1112被組構化以儲存由對應的邏輯閘執行之操作之一或多者的結果。該儲存電路1112可由暫存器等來實施。在所繪示之實例中,儲存電路1112被分佈在邏輯閘電路1108之間以促進存取及增加執行速度。
圖11之例示性FPGA電路1100亦包含例示性專用操作電路1114。在此實例中,專用操作電路1114包含專用電路1116,其可調用以實施一般使用的功能以避免需要在領域中對這些功能程式化。此專用電路1116之實例包含記憶體(例如,DRAM)控制器電路、PCIe控制器電路、時脈電路、收發器電路、記憶體及乘法器-累加器電路。亦可存在其他類型的專用電路。在一些實例中,FPGA電路1100亦可包含例示性通用可程式電路1118,諸如例示性CPU 1120及/或例示性DSP 1122。其他通用可程式電路1118可額外地或替代地存在,諸如GPU、XPU等等,其可被程式化以執行其他操作。
雖然圖10及11繪示圖9之處理器電路912的兩個例示性實施方案,但可設想許多其他措施。舉例而言,如上所述,現今的FPGA電路可包含機載CPU,諸如圖11之例示性CPU 1120之一或多者。因此,圖9之處理器電路912可藉由結合圖10之例示性微處理器1000及圖11之例示性FPGA電路1100來額外地實施。在一些此等混合實例中,由圖8之流程圖表示之機器可讀指令及/或操作800的第一部分可藉由圖10之核心1002之一或多者來執行而由圖8之流程圖表示之機器可讀指令及/或操作800的第二部分可由圖11之FPGA電路1100來執行。
在一些實例中,圖9之處理器電路912可位在一或多個封裝中。舉例而言,圖10之微處理器1000及/或圖11之FPGA電路1100可位在一或多個封裝中。在一些實例中,XPU可藉由圖9之處理器電路912實施,其可位在一或多個封裝中。舉例而言,XPU可包含在一個封裝中的CPU、在另一封裝中的DSP、在又另一封裝中的GPU及在其他又另一封裝中的FPGA。
在圖12中繪示一方塊圖,其中繪示例示性軟體分佈平台1205以將諸如圖9之例示性機器可讀指令932之軟體分佈至由第三方擁有及/或操作的硬體裝置。該例示性軟體分佈平台1205可藉由任何電腦伺服器、資料設施、雲端服務等等來實施,其能夠儲存及傳輸軟體至另一計算裝置。第三方可為擁有及/或操作軟體分佈平台1205之實體的客戶。舉例而言,擁有及/或操作軟體分佈平台1205之實體可為諸如圖9之例示性機器可讀指令932之軟體的開發者、販售者及/或授權者。第三方可為客戶、使用者、零售商、OEM等等,其購買及/或授權軟體以供使用及/或轉售及/或轉授權。在所繪示之實例中,軟體分佈平台1205包含一或多個伺服器及一或多個儲存裝置。儲存裝置儲存機器可讀指令932,其可對應於圖8之例示性機器可讀指令及/或操作800,如上文所述。例示性軟體分佈平台1205之一或多個伺服器是與網路1210通信中,該網路1210可對應於網際網路及/或上文描述之例示性邊緣雲110的任一或多者。在一些實例中,一或多個伺服器是回應於請求以將軟體傳輸至請求方作為商業交易的部分。針對軟體之傳遞、販售及/或授權的支付可由軟體分佈平台之一或多個伺服器及/或藉由第三方支付實體來處理。伺服器可使購買者及/或授權者從軟體分佈平台1205下載機器可讀指令932。舉例而言,對應於圖8之例示性機器可讀指令及/或操作800的軟體可被下載至例示性處理器平台900,其將執行機器可讀指令932以實施快取控制電路514。在一些實例中,軟體分佈平台1205之一或多個伺服器週期性地提供、傳輸及/或強制更新該軟體(例如,圖9之例示性機器可讀指令932)以確保改良、修補、更新等等可被分佈及應用於在終端使用者裝置處的軟體。
從上文中,可瞭解到已揭示例示性系統、方法、設備及製造物件,其可藉由基於映射至各自佇列之資料流的訊務類別而對各佇列之快取區域動態地調整大小而更有效率地利用可用的快取。所揭示之系統、方法、設備及製造物件藉由消除快取冗餘藉此針對製造商及消費者減少整體快取大小且節省面積、功率及晶粒成本(例如資本支出)來增進使用計算裝置的效率。所揭示之系統、方法、設備及製造物件因此關於在諸如電腦或其他電子及/或機械裝置之機器的操作中之一或多個改良。
本文中揭示用以動態地配置快取之例示性方法、設備、系統及製造物件。其進一步實例及組合包含如下:
實例1包含一種設備,其包括具有佇列之快取、用以解碼被指定至該快取之該佇列之資料流以判定被指定至該佇列之訊務類別的資料流分類電路,以及快取管理電路,其基於被指定至該佇列之訊務類別來將該快取之一部分配置給該佇列,且傳輸信號至記憶體控制器以調整該快取之配置。
在實例2中,實例1之標的物可視情況包含:該佇列係第一佇列,該快取係第一快取,該部分係第一部分,該信號係第一信號,該資料流分類電路係用以解碼被指定至該第一快取之該第一佇列及第二快取之第二佇列之資料流,以判定被指定至該第一佇列及該第二佇列之訊務類別,且該快取管理電路係用以基於被指定至該第二佇列之該訊務類別來將該第二快取之第二部分配置給第二佇列,且傳輸第二信號至該記憶體控制器以調整該第二快取之配置。
在實例3中,實例1-2之標的物可視情況包含:該第一快取包含描述符快取且該第二快取包含資料快取。
在實例4中,實例1-3之標的物可視情況包含:該快取管理電路係基於被指定至該佇列之該訊務類別之封包大小來將該快取之該部分配置給該佇列。
在實例5中,實例1-4之標的物可視情況包含:該快取管理電路係基於被指定至該佇列之該訊務類別之優先級來將該快取之該部分配置給該佇列。
在實例6中,實例1-5之標的物可視情況包含:該訊務類別藉由該資料流之應用請求傳輸被指定至該佇列。
在實例7中,實例1-6之標的物可視情況包含:該資料流之該應用請求傳輸係在資訊技術/營運技術環境中實施。
實例8包含一種設備,包括:快取,其包含佇列;處理器電路,其包含以下一或多者:中央處理器單元(CPU)、圖形處理單元(GPU)或數位信號處理器(DSP)之至少一者,該CPU、該GPU或該DSP之該至少一者包含用以控制在處理器電路內之資料移動的控制電路、用以執行對應於指令之一或多個第一操作之算術及邏輯電路、及用以儲存該一或多個第一操作之第一結果的一或多個暫存器,該指令在該設備中;場可程式閘陣列(FPGA),該FPGA包含第一邏輯閘電路、複數個可組態互連、及儲存電路,該第一邏輯閘電路及該複數個可組態互連用以執行一或多個第二操作,該儲存電路用以儲存該一或多個第二操作之第二結果;或特殊應用積體電路(ASIC),其包含第二邏輯閘電路以執行一或多個第三操作;該處理器電路用以執行該第一操作、該第二操作或該第三操作之至少一者以示例:資料流分類電路用以解碼被指定至該快取之該佇列之資料流以判定被指定至該佇列之訊務類別;及快取管理電路,用以:基於被指定至該佇列之該訊務類別,將該快取之一部分配置給該佇列;及傳輸信號至記憶體控制器以調整該快取之配置。
在實例9中,實例8之標的物可視情況包含:該佇列係第一佇列,該快取係第一快取,該部分係第一部分,該信號係第一信號,且該處理器電路係用以執行該第一操作、該第二操作或該第三操作之至少一者,以示例該資料流分類電路用以解碼被指定至該第一快取之該第一佇列及第二快取之第二佇列之資料流以判定被指定至該第一佇列及該第二佇列之該訊務類別;及該快取管理電路基於被指定至該第二佇列之該訊務類別,用以將該第二快取之第二部分配置給該第二佇列,且傳輸第二信號至該記憶體控制器以調整該第二快取之配置。
在實例10中,實例8-9之標的物可視情況包含:該第一快取包含描述符快取且該第二快取包含資料快取。
在實例11中,實例8-10之標的物可視情況包含:該處理器電路係用以執行該第一操作、該第二操作或該第三操作之至少一者以示例該快取管理電路基於被指定至該佇列之該訊務類別之封包大小來將該快取之該部分配置至該佇列。
在實例12中,實例8-11之標的物可視情況包含:該處理器電路係用以執行該第一操作、該第二操作或該第三操作之至少一者以示例該快取管理電路基於被指定至該佇列之該訊務類別之優先級來將該快取之該部分配置至該佇列。
在實例13中,實例8-12之標的物可視情況包含:該訊務類別藉由該資料流之應用請求傳輸被指定至該佇列。
在實例14中,實例8-13之標的物可視情況包含:該資料流之該應用請求傳輸係在資訊技術/營運技術環境中實施。
實例15包含一種非暫時性電腦可讀媒體,其包括指令,當該指令被執行時引起處理器電路用以至少:解碼被指定至快取之佇列之資料流以判定被指定至該佇列之訊務類別;基於被指定至該佇列之該訊務類別,將該快取之一部分配置給該佇列;及傳輸信號至記憶體控制器以調整該快取之配置。
在實例16中,實例15之標的物可視情況包含:該佇列係第一佇列,該快取係第一快取,該部分係第一部分,該信號係第一信號,且該指令當被執行時引起該處理器電路用以:解碼被指定至該第一快取之該第一佇列及第二快取之第二佇列之資料流以判定被指定至該第一佇列及該第二佇列之該訊務類別;基於被指定至該第二佇列之該訊務類別,將該第二快取之第二部分配置給該第二佇列;且傳輸第二信號至該記憶體控制器以調整該第二快取之配置。
在實例17中,實例15-16之標的物可視情況包含:該第一快取包含描述符快取且該第二快取包含資料快取。
在實例18中,實例15-17之標的物可視情況包含:該指令當被執行時引起該處理器電路基於被指定至該佇列之該訊務類別之封包大小來將該快取之該部分配置給該佇列。
在實例19中,實例15-18之標的物可視情況包含:該指令當被執行時引起該處理器電路基於被指定至該佇列之該訊務類別之優先級來將該快取之該部分配置給該佇列。
在實例20中,實例15-19之標的物可視情況包含:該訊務類別藉由該資料流之應用請求傳輸被指定至該佇列。
在實例21中,實例15-20之標的物可視情況包含:該資料流之該應用請求傳輸係在資訊技術/營運技術環境中實施。
實例22包含一種設備,其包括具有佇列之儲存構件、用於分類一或多個資料流以解碼被指定至該儲存構件之佇列之資料流以判定被指定至該佇列之訊務類別的分類構件、及用於管理一或多個儲存構件以基於被指定至該佇列之訊務類別來配置該儲存構件之一部分給該佇列且傳輸信號至記憶體控制器以調整該儲存構件之配置的構件。
在實例23中,實例22之標的物可視情況包含:該佇列係第一佇列,該儲存構件係第一儲存構件,該部分係第一部分,該信號係第一信號,用於分類該一或多個資料流以解碼被指定至該第一儲存構件之該第一佇列及第二儲存構件之第二佇列之該資料流以判定被指定至該第一佇列及該第二佇列之訊務類別的構件,且用於管理該一或多個儲存構件之構件係基於被指定至該第二佇列之該訊務類別來將該第二儲存構件之第二部分配置給該第二佇列,且傳輸第二信號至該記憶體控制器以調整該第二儲存構件之配置。
在實例24中,實例22-23之標的物可視情況包含:該第一儲存構件包含用於儲存一或多個描述符之構件且該第二儲存構件包含用於儲存資料之構件。
在實例25中,實例22-24之標的物可視情況包含:用於管理該一或多個儲存構件之構件係基於被指定至該佇列之該訊務類別的封包大小來將該儲存構件之該部分配置給該佇列。
在實例26中,實例22-25之標的物可視情況包含:用於管理該一或多個儲存構件之構件係基於被指定至該佇列之該訊務類別的優先級來將該儲存構件之該部分配置給該佇列。
在實例27中,實例22-26之標的物可視情況包含:該訊務類別藉由該資料流之應用請求傳輸被指定至該佇列。
在實例28中,實例22-27之標的物可視情況包含:該資料流之該應用請求傳輸係在資訊技術/營運技術環境中實施。
實例29包含一種方法,該方法包括解碼被指定至快取之佇列之資料流以判定被指定至該佇列之訊務類別;基於被指定至該佇列之該訊務類別,將該快取之一部分配置給該佇列;及傳輸信號至記憶體控制器以調整該快取之配置。
在實例30中,實例29之標的物可視情況包含:該佇列係第一佇列,該快取係第一快取,該部分係第一部分,該信號係第一信號,且該方法進一步包含:解碼被指定至該第一快取之該第一佇列及第二快取之第二佇列之資料流以判定被指定至該第一佇列及該第二佇列之該訊務類別;基於被指定至該第二佇列之該訊務類別,將該第二快取之第二部分配置給該第二佇列;且傳輸第二信號至該記憶體控制器以調整該第二快取之配置。
在實例31中,實例29-30之標的物可視情況包含:該第一快取包含描述符快取且該第二快取包含資料快取。
在實例32中,實例29-32之標的物可視情況包含:基於被指定至該佇列之該訊務類別之封包大小來將該快取之該部分配置給該佇列。
在實例33中,實例29-32之標的物可視情況包含:基於被指定至該佇列之該訊務類別之優先級來將該快取之該部分配置給該佇列。
在實例34中,實例29-33之標的物可視情況包含:該訊務類別藉由該資料流之應用請求傳輸被指定至該佇列。
在實例35中,實例29-34之標的物可視情況包含:該資料流之該應用請求傳輸係在資訊技術/營運技術環境中實施。
實例36係至少一種電腦可讀媒體,其包括用以執行實例29-35中任一項之方法的指令。
實例37係一種設備,其包括用以執行如實例29-35中任一項之方法的處理器電路。
實例38係一種設備,其包括用以執行如實例29-35中任一項之方法的加速器電路。
實例39係一種設備,其包括用以執行如實例29-35中任一項之方法的一或多個圖形處理器單元。
實例40係一種設備,其包括用以執行如實例29-35中任一項之方法的一或多個視覺處理器單元。
實例41係一種設備,其包括用以執行如實例29-35中任一項之方法之一或多個神經網路處理器。
實例42係一種設備,其包括用以執行如實例29-35中任一項之方法之一或多個機器學習處理器。
實例43係一種設備,其包括用以執行如實例29-35中任一項之方法之一或多個通用處理器。
實例44係一種設備,其包括用以執行如實例29-35中任一項之方法之一或多個數位信號處理器。
實例45係一種邊緣伺服器,其包括用以執行如實例29-35中任一項之方法之處理器電路或加速器電路之至少一者。
實例46係一種邊緣雲,其包括用以執行如實例29-35中任一項之方法之處理器電路或加速器電路之至少一者。
實例47係一種邊緣節點,其包括用以執行如實例29-35中任一項之方法之處理器電路或加速器電路之至少一者。
實例48係一種設備,其包括用以執行如實例29-35中任一項之方法之一或多個邊緣閘道器。
實例49係一種設備,其包括括用以執行如實例29-35中任一項之方法之一或多個邊緣開關。
實例50係一種設備,其包括用以執行如實例29-35中任一項之方法之一或多個邊緣閘道器或一或多個邊緣開關之至少一者。
雖然已在本文中揭示特定的實例系統、方法、設備及製造物件,但本專利之涵蓋範疇並未侷限於此。相反地,本專利涵蓋相當於落入本專利之申請專利範圍之範疇內的所有系統、方法、設備及製造物件。
以下申請專利範圍藉此引用而併入至本發明內容及實施方式,且每個請求項自身獨立作為本發明之一單獨的實施例。
100:方塊圖
110:邊緣雲
120:中央辦公室
130:雲端資料中心
140:存取點或基地台
150:區域處理中樞
160:端點資料源
161:自駕車輛
162:使用者設備
163:商業及工業設備
164:視訊捕捉裝置
165:無人機
166:智慧城市及建築裝置
167:物聯網(IoT)裝置
200:端點層
205:使用例
210:邊緣裝置層
212:層
215:節點
220:網路存取層
225:設備
230:核心網路層
235:核心網路資料中心
240:雲端資料中心層
245:雲端資料中心
310:用戶端點
322:請求及回應
324:請求及回應
326:請求及回應
332:內部網路系統
334:存取點
336:位在街道的網路系統
340:邊緣聚集節點
342:聚集點
344:聚集點
350:回載網路
360:資料中心(DC)
400:IT/OT環境
402:層級零
403:感測器
404:驅動器
405:致動器
406:機器人
408:層級一
409:批次控制器電路
410:離散控制器電路
411:順序控制器電路
412:連續控制器電路
413:混合控制器電路
414:層級二
415:第一監督控制器電路
416:操作者介面
417:工程工作站
418:第二監督控制器電路
419:第一聚集點
420:層級三
421:生產控制器電路
422:最佳化控制器電路
423:程序歷史資料庫
424:網域控制器電路
425:第二聚集點
426:層級四
428:隔離區(DMZ)
430:第三聚集點
432:第四聚集點
433:歷史伺服器
434:網路服務操作控制器電路
435:應用程式伺服器
436:終端伺服器
437:修補程式管理控制器電路
438:抗病毒伺服器
440:層級五
442:第五聚集點
500:網路介面電路
502:晶載系統組構(OSF)橋
504:路由器
506:直接記憶體存取(DMA)控制電路
508:描述符快取
510:資料快取
512:媒體存取控制(MAC)電路
514:快取控制電路
516:閘控制邏輯(GCL)電路
518:第一佇列
520:第二佇列
522:第六佇列
524:第八佇列
526:第一多工器
530:第六多工器
532:第八多工器
534:多工器
602:資料流分類電路
604:快取管理電路
606:通信匯流排
700:圖示
702:既有快取
704:快取
800:機器可讀指令及/或操作
802:方塊
804:方塊
806:方塊
808:方塊
810:方塊
812:方塊
814:方塊
816:方塊
818:方塊
900:處理器平台
912:處理器電路
913:局部記憶體
914:揮發性記憶體
916:非揮發性記憶體
917:記憶體控制器
918:匯流排
922:輸入裝置
924:輸出裝置
926:網路
928:大量儲存裝置
932:機器可執行指令
1000:微處理器
1002:核心
1004:匯流排
1006:介面電路
1010:共享記憶體
1014:控制單元電路
1016:算術及邏輯(AL)電路
1018:暫存器
1020:局部記憶體
1022:匯流排
1100:場可程式閘陣列(FPGA)電路
1102:輸入/輸出(I/O)電路
1104:組態電路
1106:外部硬體
1108:邏輯閘電路
1110:可組態互連
1112:儲存電路
1114:專用操作電路
1116:專用電路
1118:通用可程式電路
1120:中央處理單元(CPU)
1122:數位信號處理器(DSP)
1205:軟體分佈平台
1210:網路
[圖1]繪示用於邊緣計算之邊緣雲組態之概述。
[圖2]繪示在端點、邊緣雲及雲端計算環境之間的操作層。
[圖3]繪示用於在邊緣計算系統中之網路連接及服務的例示性方法。
[圖4]繪示一例示性資訊技術(IT)/營運技術(OT)環境之例示性層級。
[圖5]係例示性網路介面電路(NIC)之方塊圖,其可在圖1、2、3及/或4之一或多個邊緣裝置及/或一或多個IT/OT裝置中實施。
[圖6]係方塊圖,其中繪示圖5之例示性快取控制電路之例示性實施方案。
[圖7]係例示性圖示,說明本文中揭示之實例相較於既有技術之例示性優點。
[圖8]係流程圖,其表示可由例示性處理器電路執行及/或例示化以實施圖5及/或6之例示性快取控制電路之例示性機器可讀指令及/或操作。
[圖9]係例示性處理平台之方塊圖,該平台包含經結構化以執行及/或示例圖8之例示性機器可讀指令及/或操作以實施圖5及/或6之例示性快取控制電路之處理器電路。
[圖10]係圖9之處理器電路之例示性實施方案的方塊圖。
[圖11]係圖9之處理器電路之另一例示性實施方案之方塊圖。
[圖12]係例示性軟體分佈平台(例如,一或多個伺服器)之方塊圖,該平台用於分佈軟體(例如,對應於圖8之例示性機器可讀指令之軟體)給與終端使用者及/或消費者相關聯的用戶裝置(例如,用於授權、販售及/或使用)、零售商(例如,用於販售、轉售、授權及/或轉授權)、及/或原始設備製造商(OEM)(例如,用於包含在要分佈給例如零售及/或其他終端使用者(諸如直接購買的消費者)之產品中)。
圖式未按比例繪製。一般而言,貫穿圖式及隨附撰寫之描述將使用相同參考數字來指相同或類似部分。如本文中所使用,連接參考(例如,附接、耦接、連接以及接合)可包含由連接參考提及之元件之間的中間構件及/或這些元件之間的相對移動,除非另有指示。因而,連接參考並不一定推斷兩個元件係直接連接及/或彼此成固定關係。
除非另有具體說明,在本文中使用描述詞「第一」、「第二」、「第三」等並不意欲賦予任何先後順序含義、列舉時之實體次序或配置,及/或任何方式的次序,而僅僅用作用於為易於理解所揭示實例以區別元件之標籤及/或隨意名稱。在一些實例中,描述詞「第一」可用於指詳細描述中之元件,而相同元件可在申請專利範圍中用諸如「第二」或「第三」之不同描述詞來提及。在此類情況下,應理解,僅僅為易於識別區分這些元件而使用此類描述詞,否則舉例來說也可共用相同名稱。如本文中所使用,片語「進行通信」,包含其變體,涵蓋透過一或多個中間組件之直接通信及/或間接通信,並且不需要直接實體(例如有線)通信及/或持續通信,而實際上另外包含呈週期性間隔、經排程間隔、非週期性間隔及/或單次事件之選擇性通信。如本文中所使用,「處理器電路」被定義為包含(i)一或多個專用電路,其經結構化以執行特定操作且包含一或多個基於半導體的邏輯裝置(例如,由一或多個電晶體實施之電硬體),及/或(ii)一或多個通用基於半導體電路,由指令程式化以執行特定操作且包含一或多個基於半導體的邏輯裝置(例如由一或多個電晶體實施之電硬體)。處理器電路之實例包含程式化微處理器、可示例指令之場可程式閘陣列(FPGA)、中央處理器單元(CPU)、圖形處理器單元(GPU)、數位信號處理器(DSP)、XPU或微控制器及積體電路,諸如特殊應用積體電路(ASIC)。舉例而言,XPU可由異質計算系統實施,該異質計算系統包含多種類型的處理器電路(例如,一或多個FPGA、一或多個CPU、一或多個GPU、一或多個DSP等等,及/或其之組合)及應用程式設計介面(API),其可指派計算任務給多種類型之處理器電路中最適合執行該計算任務之任何者。如本文中所使用,首字母縮略詞”ASIC”表示特殊應用積體電路。
500:網路介面電路
502:晶載系統組構(OSF)橋
504:路由器
506:直接記憶體存取(DMA)控制電路
508:描述符快取
510:資料快取
512:媒體存取控制(MAC)電路
514:快取控制電路
516:閘控制邏輯(GCL)電路
518:第一佇列
520:第二佇列
522:第六佇列
524:第八佇列
526:第一多工器
530:第六多工器
532:第八多工器
534:多工器
Claims (25)
- 一種設備,包括: 快取,其具有佇列; 資料流分類電路,用以解碼被指定至該快取之該佇列的資料流以判定被指定至該佇列之訊務類別;及 快取管理電路,用以: 基於被指定至該佇列之該訊務類別,將該快取之一部分配置給該佇列;及 傳輸信號至記憶體控制器以調整該快取之配置。
- 如請求項1之設備,其中,該佇列係第一佇列,該快取係第一快取,該部分係第一部分,該信號係第一信號,該資料流分類電路係用以解碼被指定至該第一快取之該第一佇列及第二快取之第二佇列之資料流,以判定被指定至該第一佇列及該第二佇列之訊務類別,且該快取管理電路係用以: 基於被指定至該第二佇列之該訊務類別,將該第二快取之第二部分配置給該第二佇列;且 傳輸第二信號至該記憶體控制器以調整該第二快取之配置。
- 如請求項2之設備,其中,該第一快取包含描述符快取且該第二快取包含資料快取。
- 如請求項1之設備,其中,該快取管理電路係基於被指定至該佇列之該訊務類別之封包大小而將該快取之該部分配置給該佇列。
- 如請求項1之設備,其中,該快取管理電路係基於被指定至該佇列之該訊務類別之優先級而將該快取之該部分配置給該佇列。
- 如請求項1之設備,其中,該訊務類別藉由該資料流之應用請求傳輸而被指定至該佇列。
- 如請求項1、2、3、4、5或6中任一項之設備,其中該資料流之該應用請求傳輸係在資訊技術/營運技術環境中實施。
- 一種設備,包括: 快取,其包含佇列; 處理器電路,其包含以下一或多者: 中央處理器單元(CPU)、圖形處理單元(GPU)或數位信號處理器(DSP)之至少一者,該CPU、該GPU或該DSP之該至少一者包含用以控制在處理器電路內之資料移動的控制電路、用以執行對應於指令之一或多個第一操作之算術及邏輯電路、及用以儲存該一或多個第一操作之第一結果的一或多個暫存器,該指令在該設備中; 場可程式閘陣列(FPGA),該FPGA包含第一邏輯閘電路、複數個可組態互連、及儲存電路,該第一邏輯閘電路及該複數個可組態互連用以執行一或多個第二操作,該儲存電路用以儲存該一或多個第二操作之第二結果;或 特殊應用積體電路(ASIC),其包含第二邏輯閘電路以執行一或多個第三操作; 該處理器電路用以執行該第一操作、該第二操作或該第三操作之至少一者以示例: 資料流分類電路用以解碼被指定至該快取之該佇列之資料流以判定被指定至該佇列之訊務類別;及 快取管理電路,用以: 基於被指定至該佇列之該訊務類別,將該快取之一部分配置給該佇列;及 傳輸信號至記憶體控制器以調整該快取之配置。
- 如請求項8之設備,其中,該佇列係第一佇列,該快取係第一快取,該部分係第一部分,該信號係第一信號,且該處理器電路係用以執行該第一操作、該第二操作或該第三操作之至少一者以示例: 該資料流分類電路用以解碼被指定至該第一快取之該第一佇列及第二快取之第二佇列之資料流以判定被指定至該第一佇列及該第二佇列之該訊務類別;及 該快取管理電路,用以: 基於被指定至該第二佇列之該訊務類別,將該第二快取之第二部分配置給該第二佇列;且 傳輸第二信號至該記憶體控制器以調整該第二快取之配置。
- 如請求項9之設備,其中,該第一快取包含描述符快取且該第二快取包含資料快取。
- 如請求項8之設備,其中,該處理器電路係用以執行該第一操作、該第二操作或該第三操作之至少一者以示例該快取管理電路基於被指定至該佇列之該訊務類別之封包大小來將該快取之該部分配置給該佇列。
- 如請求項8之設備,其中,該處理器電路係用以執行該第一操作、該第二操作或該第三操作之至少一者以示例該快取管理電路基於被指定至該佇列之該訊務類別之優先級來將該快取之該部分配置給該佇列。
- 如請求項8之設備,其中,該訊務類別藉由該資料流之應用請求傳輸而被指定至該佇列。
- 如請求項8、9、10、11、12或13中任一項之設備,其中,該資料流之該應用請求傳輸係在資訊技術/營運技術環境中實施。
- 一種電腦可讀媒體,其包括指令,當該指令被執行時引起處理器電路用以至少: 解碼被指定至快取之佇列之資料流以判定被指定至該佇列之訊務類別; 基於被指定至該佇列之該訊務類別,將該快取之一部分配置給該佇列;及 傳輸信號至記憶體控制器以調整該快取之配置。
- 如請求項15之電腦可讀媒體,其中,該佇列係第一佇列,該快取係第一快取,該部分係第一部分,該信號係第一信號,且該指令當被執行時引起該處理器電路用以: 解碼被指定至該第一快取之該第一佇列及第二快取之第二佇列之資料流以判定被指定至該第一佇列及該第二佇列之該訊務類別; 基於被指定至該第二佇列之該訊務類別,將該第二快取之第二部分配置給該第二佇列;且 傳輸第二信號至該記憶體控制器以調整該第二快取之配置。
- 如請求項16之電腦可讀媒體,其中,該第一快取包含描述符快取且該第二快取包含資料快取。
- 如請求項15之電腦可讀媒體,其中,該指令當被執行時引起該處理器電路基於被指定至該佇列之該訊務類別之封包大小來將該快取之該部分配置給該佇列。
- 如請求項15之電腦可讀媒體,其中,該指令當被執行時引起該處理器電路基於被指定至該佇列之該訊務類別之優先級來將該快取之該部分配置給該佇列。
- 如請求項15之電腦可讀媒體,其中,該訊務類別藉由該資料流之應用請求傳輸而被指定至該佇列。
- 如請求項20之電腦可讀媒體,其中,該資料流之該應用請求傳輸係在資訊技術/營運技術環境中實施。
- 一種方法,包括: 解碼被指定至快取之佇列之資料流以判定被指定至該佇列之訊務類別; 基於被指定至該佇列之該訊務類別,將該快取之一部分配置給該佇列;及 傳輸信號至記憶體控制器以調整該快取之配置。
- 如請求項22之方法,其中,該佇列係第一佇列,該快取係第一快取,該部分係第一部分,該信號係第一信號,且該方法進一步包含: 解碼被指定至該第一快取之該第一佇列及第二快取之第二佇列之資料流以判定被指定至該第一佇列及該第二佇列之該訊務類別; 基於被指定至該第二佇列之該訊務類別,將該第二快取之第二部分配置給該第二佇列;且 傳輸第二信號至該記憶體控制器以調整該第二快取之配置。
- 如請求項23之方法,其中,該第一快取包含描述符快取且該第二快取包含資料快取。
- 如請求項22、23或24中任一項之方法,其進一步包含基於被指定至該佇列之該訊務類別之封包大小來將該快取之該部分配置給該佇列。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/359,139 US20210328944A1 (en) | 2021-06-25 | 2021-06-25 | Methods, apparatus, and articles of manufacture to dynamically allocate cache |
US17/359,139 | 2021-06-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202301843A true TW202301843A (zh) | 2023-01-01 |
Family
ID=78082318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111109905A TW202301843A (zh) | 2021-06-25 | 2022-03-17 | 用以動態地配置快取之方法、設備及製造物件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210328944A1 (zh) |
DE (1) | DE102022202554A1 (zh) |
TW (1) | TW202301843A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021130836A1 (de) | 2020-11-24 | 2022-05-25 | Ifm Electronic Gmbh | Computersystem für die Automatisierungstechnik |
US11374872B1 (en) * | 2020-12-08 | 2022-06-28 | Pensando Systems, Inc. | Methods and systems for adaptive network quality of service for latency critical applications |
JP7467325B2 (ja) * | 2020-12-17 | 2024-04-15 | 株式会社東芝 | 通信制御装置、通信制御方法、情報処理装置、情報処理方法、および、プログラム |
CN115884114B (zh) * | 2022-11-29 | 2024-06-18 | 四川启睿克科技有限公司 | 一种基于边缘计算的蓝牙mesh控制优化方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9146873B2 (en) * | 2012-03-30 | 2015-09-29 | Intel Corporation | Adaptive queuing of a cache for a processing element |
US8949222B2 (en) * | 2012-05-11 | 2015-02-03 | International Business Machines Corporation | Changing the compression level of query plans |
US9501420B2 (en) * | 2014-10-22 | 2016-11-22 | Netapp, Inc. | Cache optimization technique for large working data sets |
US9954792B2 (en) * | 2014-12-20 | 2018-04-24 | Intel Corporation | Shared flow control credits |
US11178023B2 (en) * | 2017-06-30 | 2021-11-16 | Intel Corporation | Data plane interface network quality of service in multi-tenant data centers |
CN110086865B (zh) * | 2019-04-23 | 2021-01-29 | 成都光航信科技有限公司 | 一种支持多个fc-ae-1553节点并行工作的节点卡及其实现方法 |
US20190280991A1 (en) * | 2019-05-16 | 2019-09-12 | Intel Corporation | Quality of service traffic management in high-speed packet processing systems |
-
2021
- 2021-06-25 US US17/359,139 patent/US20210328944A1/en active Pending
-
2022
- 2022-03-15 DE DE102022202554.7A patent/DE102022202554A1/de active Pending
- 2022-03-17 TW TW111109905A patent/TW202301843A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20210328944A1 (en) | 2021-10-21 |
DE102022202554A1 (de) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL2029029B1 (en) | Methods and apparatus to coordinate edge platforms | |
EP3974980A1 (en) | Methods, apparatus, and articles of manufacture for workload placement in an edge environment | |
TW202301843A (zh) | 用以動態地配置快取之方法、設備及製造物件 | |
US20230300075A1 (en) | Methods and apparatus for performance scaling with parallel processing of sliding window management on multi-core architecture | |
US20210328886A1 (en) | Methods and apparatus to facilitate service proxying | |
US20220109742A1 (en) | Apparatus, articles of manufacture, and methods to partition neural networks for execution at distributed edge nodes | |
US20220114032A1 (en) | Infrastructure managed workload distribution | |
US20230376344A1 (en) | An edge-to-datacenter approach to workload migration | |
EP4020876B1 (en) | Methods, systems, articles of manufacture and apparatus to certify multi-tenant storage blocks or groups of blocks | |
US20220116478A1 (en) | Microservice latency reduction | |
US20220014946A1 (en) | Methods and apparatus for digital twin aided resiliency | |
US20210014301A1 (en) | Methods and apparatus to select a location of execution of a computation | |
WO2022133875A1 (en) | Protocol state aware power management | |
EP4155948A1 (en) | Methods and apparatus to share memory across distributed coherent edge computing system | |
US20220121566A1 (en) | Methods, systems, articles of manufacture and apparatus for network service management | |
US20220116286A1 (en) | Methods and apparatus to implement edge scalable adaptive-grained monitoring and telemetry processing for multi-qos services | |
US20240039860A1 (en) | Methods, systems, apparatus, and articles of manufacture to manage network communications in time sensitive networks | |
US20220224624A1 (en) | Methods, apparatus, and articles of manufacture to improve bandwidth for packet timestamping | |
EP4203431A1 (en) | Methods and apparatus for network interface device-based edge computing | |
US20220116669A1 (en) | Methods, systems, apparatus, and articles of manufacture to cache media based on service level agreement type | |
WO2023038994A1 (en) | Systems, apparatus, and methods to improve webservers using dynamic load balancers | |
NL2033424B1 (en) | Methods, systems, articles of manufacture and apparatus to orchestrate intermittent surplus power in edge networks | |
US20220414037A1 (en) | Methods and apparatus to manage processor interrupts | |
WO2023115435A1 (en) | Methods, systems, articles of manufacture and apparatus to estimate workload complexity | |
US20240193617A1 (en) | Methods and apparatus to assign workloads based on emissions estimates |