集成有管理控制器的網絡控制器的制造方法
【專利摘要】本發明涉及集成有管理控制器的網絡控制,該網絡控制器提供了網絡控制器功能塊和管理控制功能塊兩者。因此,系統主機在單個裝置中看作網絡功能塊以及管理功能塊兩者。這種集成可減少芯片數量并為較大系統(諸如具有多個網絡控制器和多個網絡端口的服務器)中的網絡和管理功能提供更具成本效益以及功率有效的平臺解決方案。
【專利說明】集成有管理控制器的網絡控制器
[0001]相關申請的交叉引用
[0002]本申請要求于2012年6月1日提交的美國臨時專利申請第61/654,658號以及于2012年10月24日提交的美國專利申請第13/659,430號的優先權的權益,將它們的全部內容通過引用結合于此。
【技術領域】
[0003]本申請涉及計算機網絡。特別地,本申請涉及網絡控制器。
【背景技術】
[0004]高速數據網絡形成了已成為全世界不可缺少的數據連通性的骨干的一部分。在數據網絡內,數據包交換裝置將數據包從源端ロ引導至目的端ロ,以幫助最終將數據包引導至正確的接收系統(例如,個人電腦或應用服務器)。事實上,在所有的情況下,在系統和交換裝置中的網絡控制器控制通過裝置的數據流。網絡控制器體系結構中的改進將有助于提高網絡連接性、可配置性和靈活性。
【發明內容】
[0005]根據本發明的一個實施方式,提供了ー種網絡控制器,其包括網絡控制器邏輯,被配置為支持流過網絡控制器的網絡流量;管理控制器,與網絡控制器中的網絡控制器邏輯集成;到主機的主機接ロ,主機接ロ由網絡控制器邏輯和管理控制器共享;以及未暴露于主機的邊帶接ロ,邊帶接ロ與管理控制器通信。
[0006]進ー步地,主機接ロ被配置為支持與主機的網絡通信流量和與主機的管理通信流
量兩者。
[0007]進ー步地,網絡控制器還包括與網絡控制器邏輯相通信的支持進出裝置的通信流量的網絡接ロ。
[0008]進ー步地,網絡控制器邏輯被配置為設置網絡接ロ是否支持以下項:網絡通信流量,而不是管理通信流量;管理通信流量,而不是網絡通信流量;網絡通信流量和管理通信流量兩者;以及既不是網絡通信流量,也不是管理通信流量。
[0009]進ー步地,主機接ロ被配置為以鍵盤控制器樣式(KCS)流量、通用異步接收器/發送器流量、通用串行總線(USB)流量,或它們的任意組合的形式來接收管理通信流量。
[0010]進ー步地,主機接ロ包括被配置為在主機接口上暴露用于處理與主機的管理通信流量的通信協議的外圍裝置互聯高速(PCIe)物理接ロ。
[0011]進ー步地,網絡控制器還包括:路由邏輯,可用來:將在網絡接口上接收的管理通信流量引導至管理控制器;將在網絡接口上接收的網絡通信流量引導至主機、管理控制器或同時引導至主機和管理控制器。
[0012]進ー步地,網絡控制器還包括:與邊帶接ロ通信的傳感器接ロ。
[0013]進ー步地,管理控制器可用于將管理通信從邊帶接ロ發出。[0014]進ー步地,管理控制器可用于將管理通信從網絡接ロ發出。
[0015]進ー步地,裝置將網絡控制器邏輯、管理控制器、主機接ロ、邊帶接口和網絡接ロ集成在片上系統(SoC)上。
[0016]此外,根據本發明的又ー實施方式,還提供了ー種方法包括:在網絡控制器裝置中執行以下項:網絡控制器功能塊;和管理控制器功能塊;包括利用網絡控制器功能塊和管理控制器功能塊來共享到主機的主機接ロ ;以及在未暴露于主機的邊帶接ロ上進行通信,邊帶接ロ與網絡控制器功能塊和管理網絡控制器功能塊一起存在于網絡控制器裝置中。
[0017]進ー步地,方法還包括:在網絡控制器裝置中用于通信的網絡接口上傳送網絡控制器的網絡流量。
[0018]進ー步地,方法還包括:讀取網絡接ロ配置;以及根據網絡接ロ配置設置網絡接ロ的通信配置。
[0019]進ー步地,設置通信配置包括:根據網絡接ロ配置選擇地允許和禁止網絡流量通信,以及選擇地允許和禁止管理流量通信。
[0020]進ー步地,通信配置包括:允許網絡通信流量,但不允許管理通信流量;允許管理通信流量,但允許網絡通信流量;同時允許網絡通信流量和管理通信流量兩者;或者既不允許網絡通信流量,也不允許管理通信流量。
[0021]根據本發明的又ー實施方式,提供了ー種網絡控制器,包括:網絡控制器邏輯;與網絡控制器邏輯集成的管理控制器;由網絡控制器邏輯和管理控制器共享的主機接ロ,主機接ロ被配置為與主機通信;以及邊帶接ロ,邊帶接ロ未暴露于主機,網絡控制器邏輯、管理控制器、主機接ロ和邊帶接ロ 一起集成到單ー裝置中。
[0022]進ー步地,単一裝置為片上系統(SoC)、現場可編程門陣列(FPGA)或可擦除可編程邏輯器件(EPLD)。
[0023]進ー步地,網絡控制器還包括:集成到網絡控制器中的網絡接ロ,網絡接ロ可用于將網絡數據傳送進出集成后的邏輯部分。
[0024]進ー步地,系統還包括:網絡接ロ的網絡接ロ配置,其中,網絡接ロ配置指定從以下項選擇的網絡接ロ的通信配置:允許網絡通信流量,但不允許管理通信流量;允許管理通信流量,但不允許網絡通信流量;同時允許網絡通信流量和管理通信流量兩者;既不允許網絡通信流量,也不允許管理通信流量。
【專利附圖】
【附圖說明】
[0025]可參照以下附圖和描述更好地理解本創新。在附圖中,在所有不同視圖中,相似的參考標號表不相應的部分。
[0026]圖1示出了管理控制器與網絡控制器相集成的平臺管理子系統的實例。
[0027]圖2是包括網絡控制器功能塊和管理控制器功能塊兩者的網絡控制器中的集成接ロ的實例。
[0028]圖3示出了經由網絡控制器和管理控制器之間的適當位置處的邊帶通信機制通過網絡控制器進行通信管理流量的實例。
[0029]圖4示出了經由網絡控制器和管理控制器之間的不同邊帶通信機制通信通過多個網絡控制器進行通信管理流量的實例。[0030]圖5示出了網絡控制器具有起作用的網絡控制器功能塊和管理控制器功能塊的管理和通信實例。
[0031]圖6至圖10示出了網絡控制器可以實現的邏輯的實例。
【具體實施方式】
[0032]圖1示出了其中網絡控制器102 (“NC-102”)包括與NC102相集成的管理控制器104 (“MC104”)的平臺管理子系統100 (“子系統100”)。集成可以是物理的、邏輯的或兩者兼而有之。子系統100可以位個人計算機或其它系統的一部分、服務器側網絡設備的一部分(諸如交換機或路由器),或任何其它系統的一部分。
[0033]NC102例如可將MC104、網絡控制器功能塊、邊帶接ロ、主機接ロ、網絡接ロ、路由邏輯和任何其它所需的邏輯集成到単一集成電路,諸如片上系統(SoC)中。在其它實施例中,包括在NC102中的邏輯在現場可編程門陣列(FPGA)、可擦除可編程邏輯器件(EPLD)或其它可配置邏輯中被構建、被制造或以其它方式實施。NC102可提供所有功能塊作為單一子系統實施選項,而不是提供例如在多個分離芯片上的功能塊。
[0034]在其它實施方式中,該集成可以為其中分開的電路組(例如,分開的物理芯片)提供所需功能塊的邏輯集成。然后,邏輯集成可將功能塊暴露于主機作為包括網絡控制器和管理控制器功能塊兩者的単一邏輯實體。邏輯和物理集成與用于網絡控制器功能塊的分離裝置、用于管理控制器功能塊的分離裝置、用于傳感器控制的分離裝置等相反。因此,到主機,NC102被看作ー個集成裝置,其具有潛在的多組功能塊,包括網絡控制器功能塊、管理控制器功能塊(其在集成裝置中的網絡接口上還具有可視性和控制)、傳感器和執行器相互作用、經由邊帶接ロ的控制,和如下所述的其它功能塊。
[0035]MC104可實施諸如電源控制、啟動控制、庫存監控、遠程配置、BIOS管理、文本控制臺重定向、USB重定向和其它管理功能的功能塊。NC102可實現諸如包路由、交換、過濾和其它網絡流量功能的功能塊。為此目的,NC102包括NC核心邏輯136,其可全部或部分實施或可與NC102中所示的任何邏輯塊進行通信。NC核心邏輯136可包括例如以太網控制器核心,或處理任何其它類型的網絡的網絡流量的其它核心邏輯。如將在下面更詳細地描述,例如,當MC104被禁用時,NC核心邏輯136還可處理在邊帶接ロ接收的流量。
[0036]NC102可實施ー個或多個邊帶接ロ,諸如邊帶接ロ 110和112。作為實例,邊帶接ロ 110可支持通過網絡控制器102與其它網絡控制器或管理控制器之間的流量的遠程管理。因此,MC104可以例如在本地或遠程管理通過邊帶接ロ 110連接至NC102的其它網絡控制器。邊帶接ロ 110不需要暴露于主機。換言之,邊帶接ロ 110可與主機接ロ 108上的主機通信分離、對該主機通信是未知的或無法探測的。作為實例,邊帶接ロ 110可以是簡化的媒體獨立接ロ(RMII)或系統管理總線(SMBus)接ロ。MC104可支持RMII或SMBus接ロ上的網絡控制器邊帶接ロ(NC-SI)通信或其它類型的通信。
[0037]NC102可實施至主機的一個或多個主機接ロ 108,例如PCIe接ロ。兩個網絡流量和管理流量可經過主機接ロ 108。因此,對于網絡流量和管理流量,不需要多個單獨的物理接ロ。換言之,主機接ロ 108可運送在主機和NC102之間的網絡流量通信132和管理流量通信134兩者。管理流量的實例包括例如對MC104警報、對MC104查詢以確定MC104配置和能力是什么、來自MC104的引導選項和引導順序。[0038]在這方面,主機接ロ 108可使用在主機接ロ 108上的任何所需的網絡接ロ或協議來進行暴露、支持或通信。作為實例,主機接ロ 108可暴露鍵盤控制器樣式(KCS)接ロ、低引腳數(LPC)接ロ、通用異步接收器/發送器(UART)接ロ、通用串行總線(USB)接ロ或這樣的接ロ的任意組合。主機接ロ 108可例如在至主機的物理PCIe接口上操作。換言之,例如,作為PCIe功能,根據MC104將使用的任何接ロ,(例如,本地管理通信的KCS)和NC102將使用的任何接ロ,主機接ロ 108可在不同物理接口上將不同邏輯網絡接ロ暴露于本地主機。在PCIe上暴露UART和USB功能可允許NC102支持例如文本控制臺和USB重定向。換言之,至主機的單ー PCIe接ロ支持主機控制和與NC102、MC104的交互以及NC102中的任何其它邏輯。
[0039]邊帶接ロ(例如,邊帶接ロ 110、112)可包括例如網絡控制器邊帶接ロ(NC-SI)、通用輸入/輸出(GP10)接ロ、內部集成電路(I2C)接口和SMBus接ロ。作為ー個實例,NC-SI與系統中的其它網絡控制器通信。因此,在包括NC102和作為唯一連接至外部網絡的網絡控制器的単獨網絡控制器B的系統配置中,通過使用MC104以將邊帶接口上的管理流量發送至網絡控制器B,NC102中的MC104仍可管理単獨的網絡控制器B。
[0040]與此相反,代替地,由邊帶接ロ 112所提供的SMBus或I2C總線可與其它裝置(諸如傳感器和效應器114以及嵌入式控制器116)內部通信。傳感器和效應器114的實例包括MC104進行監控的溫度、風扇速度、電壓、電流和功率傳感器以確定采取的管理行動,以及開/關風扇和風扇速度控制。然而,任何邊帶接ロ均可被配置為傳送傳感器和效應器114、智能嵌入式控制器116、其它管理控制器與位于NC102本地或遠離NC的其它網絡控制器之間的邊帶通信。
[0041]NC102還包括網絡接ロ 118和路由邏輯120。網絡接ロ 118可支持進出包括子系統100的裝置的網絡流量(例如,LAN流量)。網絡接ロ 118可包括ー個或多個端ロ,其中,每個端ロ都可支持某一流量率(例如,100Mbps或lGbps)。網絡接ロ 118可包括端ロ配置邏輯,例如,包括端ロ的一組狀態和配置寄存器。端ロ配置邏輯可以以全球或個人為基礎來控制網絡接ロ 118中的任何特定端ロ或端ロ組是否被允許運送或支持不同類型的流量。例如,端ロ配置邏輯可控制任何給定端ロ是否可以運送:1)NC102的網絡通信流量,而不是MC104的管理通信流量;2)MC104的管理通信流量,而不是102的網絡通信流量;3)NC102的網絡通信流量和MC104的管理通信流量兩者;以及4)既不是MC104或NC102的網絡通信流量,也不是MC104或NC102的管理通信流量。
[0042]如圖1所示,NC102的體系結構隨同網絡流量處理一起而集成了 MC104、多個網絡接ロ 118、多個邊帶接ロ 110、112和多個主機接ロ 108。因此,NC102與網絡接ロ 118、邊帶接ロ 110、112和用于本地主機管理流量的主機接ロ 108緊密耦接。網絡接ロ 118可由本地主機和MC104共享。當網絡接ロ 118由本地主機和MC104兩者共享時,路由邏輯120可從在網絡接ロ 118上接收的總傳入流量中分離本地主機網絡流量和遠程管理流量、確定流量的目的地(例如,通過檢查數據包報頭中的地址信息),并將主機網絡流量傳送至主機并將管理流量傳送至MC104。
[0043]路由邏輯120還可合并通過同一網絡接ロ(例如,通過相同的端ロ)發送的傳出本地主機網絡流量和遠程管理流量。如上所述,NC102或MC104可在網絡接ロ 118中以單個端ロ為基礎啟用或禁用主機網絡流量、遠程管理流量或兩者。其結果是,NC102可允許網絡接ロ 118專用于本地主機(和NC102)或MC104,或者由兩者共享。
[0044]在與路由邏輯120的連接中,主機可對某個層2 (例如MAC)地址編程,且MC104可對網絡接ロ 118中的某個端ロ的不同MAC地址編程。當傳入的流量數據包到達時,路由邏輯120可檢查數據包中的目的MAC地址來確定是否將該數據包發送到主機或MC104。在其它情況下,主機和MC104兩者都可使用端ロ的相同MAC地址。MC104然后可使用特定的端ロ號在例如TCP/IP的頂部運行帶外管理服務,以接收HTTP/HTTPS流量。路由邏輯120然后可被配置為確定TCP流量是否被指向所分配的MAC地址和端口號,并將這樣的數據包轉發到MC104。路由邏輯120可將所有其它的數據包轉發至主機。這種情況可能會擴展到多個不同的端口號,用于在MC104上運行的不同服務,其中,路由邏輯120將多個端口號或端ロ范圍轉發至MC104。
[0045]圖1還示出了與NC102相通信的存儲器122。存儲器122可以是例如非易失性存儲器。存儲器122可存儲任何所需的程序或數據。圖1示出其中存儲器122存儲(例如,由MC104讀取的)傳感器數據124、事件日志126、SMB10S結構128以及配置記錄130的實例。存儲器122還可存儲MC104或NC-102將執行的任何其它程序或固件以實施MC104和NC-102進行的任何所需功能塊。
[0046]圖2是可存在于NC102中的集成接ロ的實例200。這些接ロ可例如通過在相同的SoC、芯片、模或其它集成平臺中或之上制造或以其它方式支持而與NC102和MC104集成。作為ー個特定的實例,在SoC實施方式中,NC102模塊可提供圖2中所示的接ロ、NC核心邏輯電路136以及實施MC104功能塊和邊帶接ロ的邏輯。
[0047]主機接ロ 108可將其它協議和接ロ暴露于主機,諸如USB、UART、KCS和LAN接ロ。主機接ロ 108可通過PCIe總線或其它類型的總線例如連接至主機I/O控制器214和主機處理器216。處理器216由存儲器218支持,例如,用于存儲在處理器216的控制下的程序和數據。同樣,I/O控制器214可由存儲器220 (例如,非易失性RAM)支持以存儲固件、配置設置,或其它數據。還示出了到主機I/O控制器214的單獨USB接ロ 224,如為NC102提供進ー步的通信選項的GP10226。
[0048]例如邊帶接ロ 110和112的接ロ可支持NC控制器102與其它NC、MC、基板管理控制器(BMC)、系統裝置或任何其它網絡邏輯202之間的通信。因此,NC102可與另ー網絡邏輯202通信或對其進行控制或響應。在圖2的實例中,邊帶接ロ 112將網絡控制器102連接至支持邏輯,諸如B10S204、傳感器206、風扇控制器208、電源控制器210和其它裝置212。集成接ロ的又一實施例為串行外設總線接ロ(SPI)。SPI接ロ可將網絡控制器102連接至額外的存儲器資源,例如,包括非易失性存儲器222。接ロ還包括網絡接ロ 118,其用于以端ロ對端ロ的配置為基礎傳送LAN流量和管理流量。此外,接ロ還包括邊帶接ロ 112。
[0049]在ー個NC102中,該集成提供了網絡控制器功能塊和管理控制器功能塊兩者的所有網絡端口和接ロ。如上所述,網絡端ロ可被単獨配置為允許管理通信流量和網絡通信流量的任何組合。數據包過濾和合并邏輯便于將流量傳送值相應的控制器或主機并在同一端口上發送和接收網絡和管理通信兩者。
[0050]圖3示出了 NC102當前未利用其集成的MC104的實例300。例如,NC102可能已禁用或停用其集成的MC104。在這方面,當需要吋,NC102可提供所有的網絡控制器的功能,而不提供MC104的功能。[0051]更具體地,圖3示出了 NC102的通信傳遞模塊的ー些實例。NC102與本地或遠程管理控制器302 (“MC302”),例如基板管理控制器通信。可以在到NC102的任何邊帶接ロ上進行與MC302的連接,例如。MC302因此可管理NC102本身,或通過NC102管理連接至在NC102中實施的網絡端ロ的其它裝置。換言之,NC102可通過由NC102支持的任何網絡端ロ中從MC302接收的管理通信傳遞出由NC102支持的任何網絡端ロ。端ロ 0在圖3中被示出為網絡端ロ,但任何其它端ロ都可用于傳遞來自MC302的配置通信。
[0052]在實例304中,MC302使用在RMII上的NC-SI執行網絡控制器配置。在實例306中,MC302使用在SMBus上的NC-SI/管理組件傳輸協議(MCTP)來執行網絡控制器配置。在實例308中,MC302使用SMBus上的智能平臺管理接ロ(IPMI)傳遞(PT)執行網絡控制器配置。圖3示出了 NC-102的靈活性,其中,有在三個不同協議的不同物理接口和兩個不同物理接口上的傳遞通信的三個不同實例:在RMII接口上的NC-SI協議、在SMBus上的NC-SI/MCTP 和在 SMBus 上的 IPMI。
[0053]如上所述,NC核心邏輯136與NC102中的邏輯塊(包括邊帶接ロ)通信。例如,NC核心邏輯136可被連接至數據包緩沖器或支持邊帶接ロ的任何其它通信接ロ邏輯。結果,當MC104被禁用吋,NC核心邏輯136可在邊帶接口上接收管理通信,并采取適合這些消息的任何管理行動。作為實例,NC的核心邏輯136可處理NC-SI控制(請求/響應)通信、用于管理流量的NC-SI傳遞通信,和從NC102到MC302的異步事件通知(AENS)。
[0054]圖4示出了 NC102目前還不能利用其集成的網絡控制器功能塊而使用其MC104功能塊的實例400。例如,NC102可能已禁用或停用提供集成網絡控制器功能塊的NC核心邏輯電路136的全部或部分,并啟動了 MC104。換言之,當需要吋,NC102可以作為管理控制器,而不提供網絡控制器功能塊。
[0055]更具體地,圖4示出了 NC102的通信傳遞模塊的ー些實例,通過該模型,NC102中的MC104管理與集成有MC104的NC102相分離的網絡控制器。在圖4中所示的實例中,MC104利用NC414、416、418、420、422和424進行管理。此外,當NC414至424支持傳遞時,MC104可管理NC遠離NC414至424,但連接至NC414至424。在這方面,NC414至424可經網絡端ロ將從MC104接收的管理通信轉發到連接至這些網絡端ロ的任何裝置。同樣,NC414至424可將從連接至網絡端ロ的任何裝置接收的管理通信轉發到MC104。所管理的NC可以是本地的或與MC104遠離。端ロ 0和端ロ 1在圖4中示為單通道或雙通道模式的網絡端ロ,但MC104可遠程管理NC414至424的任一個中或連接至NC414至424中的任何NC中的任何端ロ或端ロ的組合。
[0056]在實例402中,MC104利用RMII上的NC-SI使用管理NC414。在實例404中,MC104使用SMBus上的NC-SI/MCTP (例如,使用邊帶接ロ)管理NC416和418。在實例408中,MC104使用在SMBus和其它接口上的NC-SI/MCTP (諸如使用RMII上的NC-SI)管理NC420、422 和 424。
[0057]圖5示出了 NC102具有有效的網絡控制器功能塊及其有效的管理控制器功能塊的實例500。因此,外部MC (例如,MC302)可管理NC102本身,如上面相對于圖3所述的。MC302也可使用傳遞通信與分離的網絡裝置(諸如遠程裝置502)通信,仍如上面相對于圖3所述的。在這方面,NC102可將通過NC102的g在用于遠程裝置502的管理通信從網絡端ロ傳遞到遙控裝置502。[0058]由于MC104也是起作用的,所以NC102可管理其它裝置并響應在NC102上接收的管理通信中指定的管理行動。作為實例,MC104可配置NC420、422或424。此外,使用傳遞通信,MC104可例如與如上面相對于圖4所述的遠程裝置504通信。
[0059]圖6示出了 NC102可在例如由路由邏輯120執行的硬件和軟件/固件的任何組合中實施的邏輯600的實例。如圖6所示,NC102在網絡接ロ 118上接收數據包(602)。NC102分析數據包以確定它們的目的地(604)。當數據包僅被派往MC104 (606)時,NC102可將數據包轉發(由此為數據包中的任何管理通信)至MC104 (608)。
[0060]當數據包僅被派往主機(610)時,邏輯電路600可確定主機接ロ是否連接(612)。當主機接ロ連接時,NC102可將數據包(并由此為數據包中的任何網絡通信)轉發至主機(614)。然而,如果主機接ロ沒有連接,則NC102可能反而丟棄數據包(616),因為數據包不會被傳送至任何接受者。
[0061 ] 在某些情況下,如圖6所示,數據包被派往主機和MC104兩者(618)。這些數據包的實例包括地址解析協議(ARP)請求數據包,但其它類型的數據包可被傳送至MC以及主機。對于被派往MC和主機兩者的數據包,邏輯600將數據包傳送至MC (620)。此外,邏輯電路600確定主機接ロ是否連接(622 )。如果主機接ロ連接,則邏輯600還將數據包傳送至主機(624)。否則,邏輯600不將數據包傳送至主機(626)。邏輯600可能丟棄不被派往主機或MC104的數據包(628),圖6中所示的數據包處理可對在網絡接口上接收到的任何數據包進行操作,只要邏輯600希望繼續處理在網絡接口上接收的數據包。
[0062]圖7示出了可在邊帶接ロ或網絡接ロ 118上接收管理通信時MC104實施的邏輯700。從:102可在NC102中的任何可用接口上接收管理通信。NC102將管理通信傳遞至MC104。或者,當MC104被禁用時,NC102中的NC核心邏輯136可接收管理通信。
[0063]NC102接收管理通信(702)。從:102還確定管理通信指定什么樣的管理行動(704),并執行該管理行動(如果可能的話)(706)。NC102也可將發送對管理通信的響應(708)。該響應可例如應答收到管理通信,并包括表示是否進行管理行動的響應狀態碼、遇到的任何錯誤、在管理通信中請求的任何響應數據或其它數據。
[0064]圖8示出了 NC102可在發送例如由MC104準備的管理通信時實施的邏輯800。MC104準備管理通信(802)。管理通信可試圖管理例如遠程網絡控制器。NC102通過任何可用的接ロ(諸如邊帶接ロ或網絡接ロ)發送管理通信(804)。此外,NC102可接收和處理對其管理通信的任何響應(806)。在這方面,NC102可向例如主機報告響應(808),其可根據響應采取進一歩的行動。
[0065]圖9示出了 NC102可實施的用于處理在主機接ロ 108上接收的網絡流量的邏輯900。NC102提供物理主機接ロ 108(902),諸如PCIe接ロ,并通過主機可使用的用來傳送網絡流量至NC102的主機接ロ來暴露通信協議(904)。此外,NC102提供網絡接ロ 118(906)。如上面所提到的,NC102以例如端ロ對端ロ為基礎來選擇地配置網絡接ロ 118以啟用或禁用網絡流量(908)。因此,NC102可以發送和接收主機和網絡之間的網絡流量,其中,網絡流量在主機接ロ 108和網絡接ロ 118之間移動(910)。
[0066]圖10示出了 NC102可實施用于處理在主機接ロ 108接收的管理流量的邏輯1000。NC102提供物理主機接ロ 108(1002),諸如PCIe接ロ。如上所述,NC102還通過主機可用于傳送網絡流量至NC102的主機接ロ來暴露通信協議(1004)。此外,如上面所提到的,NC102還提供網絡接ロ 118和邊帶接ロ(1006)。NC102以例如端ロ對端ロ的基礎來選擇地配置網絡接ロ 118以啟用或禁用管理通信流量(1008)。此外,NC102可選擇地啟用或禁用MC104(1010)。
[0067]NC102在主機接ロ 108處接收管理通信(1012)。NC102確定管理通信(1014)的目的地。例如,管理通信可g在通過網絡連接傳遞通過網絡接ロ 118并傳出NC102,或者可旨在用于MC104。
[0068]因此,當管理通信旨在用于MC104時,NC102將管理通信傳遞至MC104 (1016)。然而,如果MC104被禁用,則NC102反而可丟棄管理通信(1022)。NC102選擇地將響應狀態消息返回至主機或將關于管理通信的成功或不成功傳送的管理通信的其它來源返回至MC104。
[0069]然后,MC104可執行在管理通信中指定的管理行動(1018)。作為另外一種選擇或除此之外,MC104可在邊帶接ロ上傳遞管理通信(1018)。因此,管理通信可在邊帶接ロ上將NC102傳遞至其它網絡實體。
[0070]類似地,當管理通信旨在網絡接ロ 118上進行傳遞通過時,NC102在網絡接ロ 118上將管理通信(1020)發出。然而,如果NC102已在網絡接ロ 118上禁用了管理流量,則NC102反而可丟棄管理通信(1022)。NC102選擇地將響應狀態消息返回至通過網絡接ロ 118傳輸出去管理通信的成功或不成功的管理通信的主機或其它來源。
[0071]為了總結上述體系結構,服務器端網絡裝置包括包含網絡控制器功能塊和管理控制器兩者的NC102。此外,NC102的主機接ロ連接至本地主機且主機接ロ由NC102和MC104共享,使得不需要分離的網絡和管理接ロ。主機接ロ可被配置為支持與主機的網絡流量通信且也支持與主機的管理流量通信(例如,在単一主機接口上)。
[0072]此外,一個或多個網絡接ロ可被設置在用于網絡流量(例如,LAN流量)的NC102中。網絡接ロ可包括ー個或多個端ロ,例如,其中每個端ロ都可支持某個流量率(例如,100Mbps或lGbps)。網絡接ロ可包括端ロ配置邏輯,其可以以全球或個人為基礎來操作指定住何特定端ロ或端ロ組是否被允許運送或支持以下項:1)網絡控制器的網絡通信流量,而不是管理控制器的管理通信流量;2)管理通信流量,而不是網絡通信流量;3)網絡通信流量和管理通信流量兩者;和4)既不是網絡通信流量,也不是管理通信流量。
[0073]NC102還可包括路由邏輯120。路由邏輯120可包括數據包過濾器、流量合并邏輯,或其它路由邏輯。路由邏輯120可被配置為將在網絡接ロ 118上接收的管理流量通信引導至管理控制器104并將在網絡接ロ 118上接收的網絡流量引導至主機。
[0074]作為實例,管理流量通信可使用以下來處理:低引腳數(LPC)通信、鍵盤控制器樣式(KCS)通信、通用異步接收器/發送器通信、通用串行總線(USB)通信,或它們的任意組合。主機接ロ 108可以是外圍組件互連高速(PCIe)接ロ。主機接ロ 108可被配置為暴露不同協議,以用于處理網絡流量、管理流量或兩者。
[0075]NC102可進ー步包括不需要被暴露于主機的一個或多個邊帶接ロ。邊帶接ロ的一個實例為傳感器接ロ。傳感器接ロ可將NC102連接至傳感器,諸如溫度、風扇速度、電壓、電流或功率傳感器。邊帶接ロ還可包括將NC102連接至嵌入式控制器的嵌入式控制器接ロ。
[0076]邊帶接ロ還可將NC102連接至其它網絡控制器或管理控制器。因此,NC102中的MC104可被配置為通過邊帶接ロ(例如,經由軟件或固件指令)管理其它網絡控制器或管理控制器。NC102可為片上系統(SoC)或將管理功能和網絡功能集成到減少了芯片數量的邏輯部分中的其它集成電路。因此,NC102不是提供単獨的管理控制器芯片和網絡控制器芯片,而是可包括例如單個芯片上的兩組功能。
[0077]在上面描述的體系結構中,具有集成的MC104的NC102提供了網絡連接以及NC102的遠程管理功能。這可例如減少芯片數量,并為網絡和管理功能提供更具成本效益以及功率有效平臺解決方案。此外,通過NC102在PCIe接ロ上曝光網絡接ロ和重定向接ロ、本地系統管理接ロ可允許使用單個物理系統接ロ(例如,PCIe)進行通信所有本地主機網絡流量、重定向UART/USB流量和本地管理流量。還需注意,NC102的集成網絡接ロ可在個人的基礎上(例如,通過主機)被靈活配置為由本地主機和集成MC104共享,或專用于本地主機或集成MC104。集成邊帶接ロ(例如,GPIO、I2C/SMBus和RMII邊帶接ロ)允許NC102直接與傳感器、嵌入式控制器、其它網絡控制器和NC102內部或外部的其它管理控制器接ロ連接。
[0078]由于集成,NC102不需要網絡和管理功能的多個組件。這使得NC102更具成本效益并節能。此外,NC102不需要多個物理上相互獨立的系統接ロ(例如,PCIe、KCS、LPC以及其它)以在系統中可用于將網絡和管理控制器連接至主機處理器和存儲器系統。此外,在NC102中,為MC104進行通信的網絡接ロ 118對主機可見并且可以用于通信主機網絡流量。
[0079]網絡控制器102的可配置性允許網絡控制器102提供寬范圍的可選擇功能。例如,網絡控制器102可被配置為對主機出現為管理控制器和集成的網絡控制器。或者,網絡控制器102可被配置為對主機僅顯示為管理控制器。此外,網絡控制器102可被配置為對主機僅顯示為網絡控制器。網絡控制器102中的任何一個子集功能都可在個人的基礎上被啟用或禁用,用于主機來與其認識和交互。
[0080]NC102的一些益處包括提供低成本、低功耗、可靠的解決方案。網絡控制器102可例如在單個SoC或其它集成的邏輯部分上被實現,這有利于現場可升級和易于部署。NC102體系結構是操作系統、處理器和獨立的芯片集,并且還提供了靈活可擴展的功能集(例如,經由本地或遠程固件更新)。在無需額外的単獨物理接ロ的情況下,NC102體系結構將管理功能(包括庫存管理、監控、電源控制、文本、鍵盤/視頻/鼠標重定向、固件更新和其它管理功能)集成到単獨的管理控制器中。此外,通過對選定的標準的管理服務基礎設施要求提供標準化接ロ,所述體系結構可與選定的標準實施方式集成。
[0081]上面描述的方法、裝置和邏輯可在硬件、軟件或硬件和軟件兩者的許多不同組合以許多不同的方式來實施。例如,系統的全部或部分可包括控制器中的電路、微處理器,或特定應用集成電路(ASIC),或可通過離散邏輯或組件或其它類型的模擬或數字電路的組合來實施,或者可被組合在単一集成電路上或分布在多個集成電路之間。上面描述的邏輯的全部或一部分可由處理器、控制器或其它處理裝置實現為執行的指令,并且可以被存儲在有形或非短暫機器可讀或計算機可讀介質中,諸如閃存、隨機存取存儲器(RAM)或只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPR0M)或其它機器可讀介質,諸如小型光盤只讀存儲器(CD-ROM),或磁盤或光盤。因此,諸如計算機程序產品的產品可包括存儲介質和存儲在介質上的計算機可讀指令,當在網絡控制器、計算機系統或其它裝置中被執行時,該產品會導致裝置根據任何上面的描述來執行操作。
【權利要求】
1.ー種網絡控制器,包括: 網絡控制器邏輯,被配置為支持流過所述網絡控制器的網絡流量; 管理控制器,與所述網絡控制器中的所述網絡控制器邏輯集成; 到主機的主機接ロ,所述主機接ロ由所述網絡控制器邏輯和所述管理控制器共享;以及 未暴露于所述主機的邊帶接ロ,所述邊帶接ロ與所述管理控制器通信。
2.根據權利要求1所述的網絡控制器,其中,所述主機接ロ被配置為支持與所述主機的網絡通信流量和與所述主機的管理通信流量兩者,所述主機接ロ被配置為以鍵盤控制器樣式(KCS)流量、通用異步接收器/發送器流量、通用串行總線(USB)流量,或它們的任意組合的形式來接收管理通信流量。
3.根據權利要求1所述的網絡控制器,還包括與所述網絡控制器邏輯相通信的支持進出所述裝置的通信流量的網絡接ロ,其中,所述網絡控制器邏輯被配置為設置所述網絡接ロ是否支持以下項 : 網絡通信流量,而不是管理通信流量; 管理通信流量,而不是網絡通信流量; 網絡通信流量和管理通信流量兩者;以及 既不是網絡通信流量,也不是管理通信流量。
4.根據權利要求1所述的網絡控制器,其中,所述主機接ロ包括被配置為在所述主機接口上暴露用于處理與所述主機的管理通信流量的通信協議的外圍裝置互聯高速(PCIe)物理接ロ。
5.根據權利要求3所述的網絡控制器,還包括: 路由邏輯,可用來: 將在所述網絡接口上接收的管理通信流量引導至所述管理控制器; 將在所述網絡接口上接收的網絡通信流量引導至所述主機、所述管理控制器或同時引導至所述主機和所述管理控制器。
6.根據權利要求1所述的網絡控制器,還包括: 與所述邊帶接ロ通信的傳感器接ロ。
7.根據權利要求2所述的網絡控制器,其中,所述管理控制器可用于將管理通信從所述網絡接ロ發出,或者所述管理控制器可用于將管理通信從所述邊帶接ロ發出。
8.根據權利要求2所述的網絡控制器,其中,所述裝置將所述網絡控制器邏輯、所述管理控制器、所述主機接ロ、所述邊帶接口和所述網絡接ロ集成在片上系統(SoC)上。
9.ー種方法,包括: 在網絡控制器裝置中執行以下項: 網絡控制器功能塊;和 管理控制器功能塊; 包括利用所述網絡控制器功能塊和所述管理控制器功能塊來共享到主機的主機接ロ;以及 在未暴露于所述主機的邊帶接ロ上進行通信,所述邊帶接ロ與所述網絡控制器功能塊和所述管理網絡控制器功能塊一起存在于所述網絡控制器裝置中。
10.根據權利要求9所述的方法,還包括:在所述網絡控制器裝置 中用于通信的網絡接口上傳送所述網絡控制器的網絡流量。
【文檔編號】H04L12/24GK103457760SQ201310209877
【公開日】2013年12月18日 申請日期:2013年5月30日 優先權日:2012年6月1日
【發明者】赫邁爾·薩赫 申請人:美國博通公司