TWI338231B - A single chip protocol converter - Google Patents
A single chip protocol converter Download PDFInfo
- Publication number
- TWI338231B TWI338231B TW94100086A TW94100086A TWI338231B TW I338231 B TWI338231 B TW I338231B TW 94100086 A TW94100086 A TW 94100086A TW 94100086 A TW94100086 A TW 94100086A TW I338231 B TWI338231 B TW I338231B
- Authority
- TW
- Taiwan
- Prior art keywords
- protocol
- processor
- packet
- interface
- core
- Prior art date
Links
- 238000006243 chemical reaction Methods 0.000 claims description 76
- 238000012545 processing Methods 0.000 claims description 71
- 239000000835 fiber Substances 0.000 claims description 46
- 238000004891 communication Methods 0.000 claims description 43
- 238000013461 design Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 38
- 238000000034 method Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000008901 benefit Effects 0.000 claims description 8
- 230000000712 assembly Effects 0.000 claims description 5
- 238000000429 assembly Methods 0.000 claims description 5
- 241001362551 Samba Species 0.000 claims description 4
- 239000000463 material Substances 0.000 claims description 2
- 230000005055 memory storage Effects 0.000 claims 2
- 238000005192 partition Methods 0.000 claims 1
- 235000012431 wafers Nutrition 0.000 description 32
- 239000000306 component Substances 0.000 description 16
- 239000000872 buffer Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 229920000638 styrene acrylonitrile Polymers 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 239000005043 ethylene-methyl acrylate Substances 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- FHQAWINGVCDTTG-UHFFFAOYSA-N 4-chloro-3-sulfamoylbenzoic acid Chemical compound NS(=O)(=O)C1=CC(C(O)=O)=CC=C1Cl FHQAWINGVCDTTG-UHFFFAOYSA-N 0.000 description 1
- 241000255789 Bombyx mori Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 239000008358 core component Substances 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
- 230000007812 deficiency Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001152 differential interference contrast microscopy Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- RTZKZFJDLAIYFH-UHFFFAOYSA-N ether Substances CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229930182490 saponin Natural products 0.000 description 1
- 150000007949 saponins Chemical class 0.000 description 1
- 235000017709 saponins Nutrition 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 101150022985 sgcE gene Proteins 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Bus Control (AREA)
- Communication Control (AREA)
Description
1338231 九、發明說明: 【發明所屬之技術領域】 本發明係關於網路處理器裝置及儲存區域網路’且更詳 έ之,本發明係關於一種藉由提供一用於協定轉換之架構 而跨越多個網路協定之系統及方法,該協定轉換係建構於 單ic晶片内或建構為習知s〇c、Dsp、FpGA或類似積體電 路子系統中之子處理器核心組件。 【先前技術】 隨著市場朝向儲存區域網路(sAN)及網路附著儲存(NAS) 系統而變化,以及隨著網際網路之巨大膨脹,出現了對词 服器及儲存設計之新需求。經由並行SCSI連接而附著之儲 存被光纖通道(FC)儲存區域網路(s AN)及諸如iSCSI及IP光 纖通道(FC-IP)的其它所浮現之網路連接架構而替代。iscsi 涉及區塊資料在TCP/IP網路上之傳送,其通常圍繞超高速 乙太網路(Gigabit Ethernet)而建置,同時FC-IP為基於儲存 網路連接技術之網際網路協定(IP),其使得能夠藉由在IP 網路上於SAN設施之間進行穿遂(tunneling)資料來傳輸FC 資訊。 通用CPU不能滿足網路協定轉換之計算需要或在單位成 本、空間及功率方面太昂貴。此已導致許多網路連接及協 定處理功能自主機處理器卸載(offload)至主機匯流排配接 器(HBA)或網路介面控制器(NIC)。起初,使用硬接線式邏 輯(hardwired logic)將大部分HBA及NIC建構在ASIC中。但 當出現建構諸如TCP/IP或iSCSI之複雜網路協定之需要 98784.doc 1338231 時,可程式化解決方案以其所提供之以下眾多優點已變得 較有吸引力:其能適應不同及發展變化之協定;其可經由 ‘ 程式改變而容易地升級;其提供較快推廣(market)時間。 現存SAN通常在實體上較遠’有時位於較大距離處,且 通常使用多個網路架構。為鞏固現存SAn及為利用現存 WAN及LAN基礎構造(infrastructure) ’在資料通信與電信領 域中皆存在對網路協定轉換之需要。協定轉換將允許系統 中所有不同部分之無縫整合及運作。1338231 IX. Description of the Invention: [Technical Field of the Invention] The present invention relates to a network processor device and a storage area network. More specifically, the present invention relates to an architecture for providing a protocol conversion. A system and method that spans multiple network protocols that are built into a single ic chip or constructed as a sub-processor core component in a conventional s〇c, Dsp, FpGA, or similar integrated circuit subsystem. [Prior Art] As the market changes toward storage area networks (sANs) and network attached storage (NAS) systems, and with the tremendous expansion of the Internet, new demands for vocabulary and storage design have emerged. Storage attached via parallel SCSI connections is replaced by Fibre Channel (FC) storage area networks (s AN) and other emerging network connectivity architectures such as iSCSI and IP Fibre Channel (FC-IP). Iscsi involves the transfer of block data over a TCP/IP network, usually built around Gigabit Ethernet, and FC-IP is an Internet Protocol (IP) based on storage network connectivity technology. It enables FC information to be transmitted by tunneling data between SAN facilities over an IP network. Generic CPUs do not meet the computational needs of network protocol conversions or are too expensive in terms of unit cost, space, and power. This has caused many network connections and protocol processing functions to be offloaded from the host processor to the host bus adapter (HBA) or network interface controller (NIC). Initially, most HBAs and NICs were built into ASICs using hardwired logic. But when there is a need to construct a complex network protocol such as TCP/IP or iSCSI 98784.doc 1338231, the stylized solution has become more attractive with its many advantages: it can adapt to different developments. Agreement for change; it can be easily upgraded via a program change; it provides faster time to market. Existing SANs are typically physically far away 'sometimes at larger distances, and often use multiple network architectures. In order to consolidate existing SANs and to take advantage of existing WAN and LAN infrastructures, there is a need for network protocol conversion in the data communications and telecommunications fields. The contract conversion will allow seamless integration and operation of all the different parts of the system.
Brocade Communications Systems 發佈了一種用於多協定 構造路由服務(multiprotocol fabric routing service)之系統 級協定轉換器產品[http://biz.yahoo.com/prnews/031028/ sftulOO-l.html],其計劃提供光纖通道至光纖通道 (FC-FC)、iSCSI至FC橋接,及光纖通道至FC_Ip轉譯。Brocade Communications Systems has released a system-level protocol converter product for multiprotocol fabric routing services [http://biz.yahoo.com/prnews/031028/sftulOO-l.html] Fibre Channel to Fibre Channel (FC-FC), iSCSI to FC bridging, and Fibre Channel to FC_Ip translation.
現存協定轉換器將多個晶片整合於—卡上以獲得所要邏 輯功能,或更通常地,該卡為插入至現存主機系統之主機 φ 匯流排配接器(HBA)卡,或為主要主機I/O卡上之子卡,從 而導致了體積龐大且在單位成本、空間及功率方面更昂貴 之產品。此外,現存協定轉換器不可程式化或具有極有限 之可程式化性’且不易於被升級以適應不同協定或新協 定。此外’出現了實體層存取模組或晶片,通常為一特殊 實體層協定而最優化其實施例及電路技術,從而當於一璋 上需要較新實體層協定時,需要替代整個主機匯流排配接 器(HBA)卡或若干組件。並非如通常一般完成相同實體1/〇 卡内之轉換,且該轉換並非在單晶片解決方案内或作為SoC 987S4.doc 1338231 半導體裝置内之嵌入式核心。 圖1中說明了根據先前技術之系統晶片設計20。其包含一 諸如PPC 440 (Power PC)25之處理元件、一區域處理器匯流 排(PLB)21、晶片上周邊匯流排(OPB)24,及眾多組件,諸 如 SRAM 15、DDR控制器 18、PCI-X橋接器 22、DMA 26及 DMA控制器28、經採用以提供用於乙太網路LAN系統之資 料鏈接層的乙太網路媒體存取控制(MAC)協定裝置50、處 理器核心計時器33及中斷控制器35,以及一與OPB匯流排 24及PLB 21接合之OPB橋接器29〇在圖1中所描繪之先前技 術實施例中,利用了 I.B.M之嵌入式PowerPC 440處理器核 心及CoreConnect區域匯流排,但可發現使用了其它敌入式 處理器核心之類似組態,諸如ARM (例如,見 http://www.arm.com/products/70penDocument) 、 MIPS (見 http://www.ce.chalmers.se/~thomasl/inlE/mips32 4Kp brief.pdf處 之 MIPS : "MIPS32 4ΚΡ -Embedded MIPS Processor Core")處理 核心等等。如圖1中所示,提供用以與晶片上周邊匯流排24 接合之其它裝置包括以下中的一個或多個:RAM/R0M周邊 控制器45a、外部匯流排主控器45b、UART裝置45c、1C間 匯流排(I2C)介面45d、通用I/O介面45e,及閘道介面45f。 描述SoC處理器及組件設計之態樣的相關參考包括: 美國專利第6,331,977號描述一種系統晶片(SoC),其含有 在該晶片内部之若干功能I/O之間的交錯式交換器(crossbar switch),及眾多外部連接引腳,其中,該等引腳之數目小 於内部I/O數目。 98784.doc 美國專利第6,262,594號描述一種用於建構一用於系統晶 片之墊(pad)群之可組態使用的交錯式交換器的設備及方 法。 美國專利第6,038,630號描述一種用於建構一種交錯式交 換器之設備及方法,該交錯式交換器提供用於具有存取多 個資料匯流排上之外部結構之多個功能單元的積體系統之 共用存取控制裝置。 美國專利申請案第US 2002/01 84419號描述了一種使用 通用匯流排系統來使得能夠使用系統晶片之不同組件的 ASIC,且描述了用於具有不同速度及資料寬度之功能單元 以達成與通用匯流排之相容性的封裝。 美國專利_請案第US 2002/0176402號描述一種用於鏈 接SoC上之功能單元的八邊形互連網路。互連網路上之功能 單元係組成為環狀且使用中途(halfway)耦接組件之若干交 錯資料鏈接。 美國專利申請案第US 2001/0042 147號描述一種用於s〇C 互連之系統資源路由器’其包含連接每一資料快取記憶體 (D_快取記憶體)及指令快取記憶體(I-快取記憶體)之兩個通 道插口 。亦包括於其中的為外部資料傳送起始器 (initiator)、兩個内部M通道匯流排及一用以提供互連之% 通道控制器。 美國專利申請案第US 2002/0172197號描述一種經由一 嵌入於晶片上之交錯式交換器以點對點之方式連接多個傳 輸及接收裝置之通信系統。 98784.doc 1338231 美國專利申請案第US 2001/0047465號描述一發明之若 干變化,該發明提供用於通信系統之可按比例縮放之架構 (通常為一 SOC或ASIC)以藉由將傳輸劃分成個別傳輸任 務、判定每一傳輸任務之計算複雜性及使計算複雜性基於 每一電路之MIPS數目來最小化總閘。 在由 A. Brinkmann、J.C. Niemann、I. Hehemann、D.An existing protocol converter integrates multiple chips onto a card to obtain the desired logic function, or more typically, the card is a host φ bus adapter (HBA) card that is plugged into an existing host system, or is the primary host I The daughter card on the /O card results in a bulky product that is more expensive in terms of unit cost, space and power. In addition, existing protocol converters are not programmable or have very limited programmability' and are not easily upgradeable to accommodate different protocols or new agreements. In addition, there is a physical layer access module or chip, which is usually a special physical layer protocol to optimize its embodiment and circuit technology, so that when a new physical layer protocol is required at a glance, it is necessary to replace the entire host bus. Adapter (HBA) card or several components. It is not the usual conversion of the same entity 1/〇 card, and the conversion is not within the single-chip solution or as an embedded core within the SoC 987S4.doc 1338231 semiconductor device. A system wafer design 20 in accordance with the prior art is illustrated in FIG. It includes a processing element such as PPC 440 (Power PC) 25, a regional processor bus (PLB) 21, an on-wafer peripheral bus (OPB) 24, and numerous components such as SRAM 15, DDR controller 18, PCI. -X bridge 22, DMA 26 and DMA controller 28, Ethernet media access control (MAC) protocol device 50, processor core timing employed to provide a data link layer for an Ethernet LAN system The interpolator 33 and the interrupt controller 35, and an OPB bridge 29 coupled to the OPB bus 24 and the PLB 21, utilize the IBM embedded PowerPC 440 processor core and the prior art embodiment depicted in FIG. CoreConnect zone bus, but similar configurations using other enemy processor cores, such as ARM (see, for example, http://www.arm.com/products/70penDocument), MIPS (see http://) Www.ce.chalmers.se/~thomasl/inlE/mips32 MIPS at the 4Kp brief.pdf: "MIPS32 4ΚΡ -Embedded MIPS Processor Core") Processing core and more. As shown in FIG. 1, other means for engaging the peripheral bus bar 24 on the wafer includes one or more of the following: a RAM/ROM peripheral controller 45a, an external bus master 45b, a UART device 45c, 1C busbar (I2C) interface 45d, general purpose I/O interface 45e, and gateway interface 45f. A related reference describing the design of the SoC processor and component includes: US Patent No. 6,331,977 describes a system wafer (SoC) containing interleaved switches between several functional I/Os within the wafer ( Crossbar switch), and a number of external connection pins, where the number of pins is less than the number of internal I/O. 98784.doc U.S. Patent No. 6,262,594 describes an apparatus and method for constructing a configurable interleaved switch for a pad group of system wafers. U.S. Patent No. 6,038,630 describes an apparatus and method for constructing an interleaved switch that provides an integrated system for accessing a plurality of functional units of an external structure on a plurality of data busses. Shared access control device. US Patent Application No. US 2002/01 84419 describes an ASIC that uses a universal busbar system to enable the use of different components of a system wafer, and describes functional units for different speeds and data widths to achieve a common confluence A compatible package. U.S. Patent No. US 2002/0176402 describes an octagonal interconnection network for linking functional units on a SoC. The functional units on the internetwork are grouped into loops and use a number of interlinked data links for the halfway coupling components. US Patent Application No. US 2001/0042 147 describes a system resource router for s〇C interconnections, which includes a connection cache memory (D_cache memory) and instruction cache memory ( I-cache memory) two channel jacks. Also included are external data transfer initiators, two internal M-channel busses, and a % channel controller to provide interconnection. U.S. Patent Application Serial No. US 2002/0172197 describes a communication system for connecting a plurality of transmission and reception devices in a point-to-point manner via an interleaved switch embedded in a wafer. 98784.doc 1338231 US Patent Application No. US 2001/0047465 describes several variations of an invention that provides a scalable architecture (typically a SOC or ASIC) for a communication system to divide the transmission into The individual gates are individually transmitted, the computational complexity of each transmission task is determined, and the computational complexity is minimized based on the number of MIPS per circuit. In A. Brinkmann, J.C. Niemann, I. Hehemann, D.
Langen、M. Porrmann及 U. Ruckert所著之題為"On-Chip Interconnects for Next Generation System-on-Chips", Proceedings of ASIC2003 年,2003 年 9 月 26 日至 27 日, Rochester, New York的參考中,描述了 一種利用主動交換器 盒以連接處理器單元來使得能夠進行封包網路通信的SoC 架構。此論文未提及或描述具有多線程能力 (multi-threading capability)之處理器核心。Langen, M. Porrmann and U. Ruckert, entitled "On-Chip Interconnects for Next Generation System-on-Chips", Proceedings of ASIC 2003, September 26-27, 2003, Rochester, New York In reference, an SoC architecture that utilizes an active switch box to connect processor units to enable packet network communication is described. This paper does not mention or describe a processor core with multi-threading capability.
在由 Kyeong Keol Ryu、Eung Shin及 Vincent J. Mooney戶斤 著之題為"A Comparison of Five Different Multiprocessor SoCIn Kyeong Keol Ryu, Eung Shin and Vincent J. Mooney, entitled "A Comparison of Five Different Multiprocessor SoC"
Bus Architectures",proceedings of Euromicro Symposium on Digital System Design (DSS’01),2001 年 9 月 4 曰至 6 曰,Warsaw, Poland的參考中,描述了多處理器SoC匯流排架構,其包括 全球匯流排I架構(GBIA)、全球匯流排II架構(GBIIA)、 Bi-FIFO匯流排架構(BFBA)、交錯式交換器匯流排架構 (CSBA),及核心連接匯流排架構(CoreConnect BusBus Architectures",proceedings of Euromicro Symposium on Digital System Design (DSS'01), September 4, 2001, W, W, Warsaw, Poland, describes a multiprocessor SoC bus architecture that includes global busses I Architecture (GBIA), Global Bus II Architecture (GBIIA), Bi-FIFO Bus Queue Architecture (BFBA), Interleaved Switch Bus Trunking Architecture (CSBA), and Core Connection Bus Architecture (CoreConnect Bus)
Architecture)(CCBA)。 基於單嵌入式處理器之方法為一些應用提供了具成本效 益、整合之解決方案,但其可能缺乏被更高需求之應用所 98784.doc 1338231 需之計算功率,及用於協定轉換或將來協定速度增加之可 撓性,例如,2.5 Gbps光纖通道至10 Gbps光纖通道。 在最近幾年内,已藉由添加附著至通用匯流排(PLB)之專 用處理器核心(加速器)39(如圖2中所示,與處理器核心25 並行運作)而在許多網路連接應用中增強了圖1之SoC的計 算能力。由於排除了發現於典型通用處理器(例如,用以支 持虛定址之記憶體管理單元等等)中之許多特徵,故此等額 外專用處理器核心39a、39b等等通常具有較小矽面積。此 方法之實例為IBM之PowerNP (例如,見由M. Heddes所著的 題為"IBM Power Network Processor architecture”,Proceedings of Hot Chips 12, Palo Alto, CA,USA,2000年 8 月,IEEE Computer Society之參考)及NEC之TCP/IP卸載引擎,(例如,見 http://www.tensilica.com/litml/pr_2003_05_12.html 上之題為 "NEC's New TCP/IP Offload Engine Powered by · 10 Tensilica Xtensa Processor Cores"之參考)。儘管此等系統可程式化,且 因此與固線式加速器相比更為可撓,但其遭受若干缺陷: a)當匯流排必須立刻支持指令與資料流至處理器加速器 時,其誘發SoC匯流排(例如,PLB 2 1)上之額外通訊流量, 從而可導致頻寬競爭並限制系統效能;b)在SoC系統中,通 常並不為多處理器效能而是為與標準化組件及連接協定之 相容性而最優化SoC匯流排;及c)處理器加速器39通常僅建 構極有限之指令組且使用組合語言,因而使得運行於處理 器加速器上之應用的發展及維護極困難及昂貴。 第三類型之SoC設計75為一經由交錯式交換器而連接之 98784.doc 1338231 肷入式處理|§核心,諸如M〇t〇r〇lai MPC 5554 Micr〇c〇n加 (Design News,2003年11月3曰,第#38頁),圖3中描繪其之 方塊圖。如圖3中所說明的,M〇t〇r〇la之s〇c設計由許多類 似於圖1及圖2之SoC設計的元件組成,其包含p〇werpc處理 器核心、記憶體及匯流排介面,然而,更顯著地,建構3 X 5父錯式父換器72作為用於區域匯流排中之一者的替代。藉 由將交錯式交換器72併入SoC設計中,處理器核心通信可^ • 由二(3)線同時工作而得以較快地發生,藉此在一定程度上 解決頻寬競爭問題。然而,S〇C仍然沒有為多處理器支持, 或如單SoC晶片内之協定轉換的更高級功能,或高速介面而 得以最優化。晶片内之1/0通信受到交錯式交換器之限制, 且仍需要與外部匯流排介面及主機系統匯流排通信從而 限制了微控制器(SoC晶片)對於任何將來升級的效能及可 撓性。任何協定轉換將需要在晶片外,於若干級或晶片中 被執行。此外,不能自置放於主機系統匯流排上之指令而 • 將資料封包退耦。在圖3之實例中,(例如)通常用於自動應 用中之FlexCan (CAN協定:"控制區域網路")資料流的一協 定,以及諸如DSPI (或"串列周邊介面,,)或eSCI(增強串列通 信介面)之其它協定現經由外部1/〇橋接器78而建構於 Motorola MPC 5554晶片中,其中每一協定或1/〇特定資料流 經過一 I/O橋接器、交錯式交換器,及通常一内部晶片匯流 排或外部匯流排介面而至系統匯流排。 ( 當前’·不存在今日位於單晶片内之協定轉換,且不存在 藉由附著至内部晶片匯流排之嵌入式核心而自獨立協定或 98784.doc 12 1338231 協定版本級轉換至完全新協定或版本級之協定轉換方法。 當前協定轉換僅發生於系統或卡級,其涉及如較早提及 之多個晶片’一實例為較早提及之用於SAN網路之Brocade Silkworm Fabric Application Server (例如,參看 http.//www.brocade.com/san/ extending_v alueof_S ANs.jsp) ,如圖4中所示。 在圖4中概念性描繪之先前技術Brocacje系統1 〇〇中,提供 了(例如)光纖通道至光纖通道(FC至FC)路由102、iSCSI至 FC橋接104,及光纖通道至FC_Ip轉譯11〇能力。01_〇以心之 設計為今日現存技術之改良,其改良之處在於:一光纖】/〇 埠卡可支持多個協定,且甚至可在相同1/〇卡上自一協定遷 移至另一協定,而不會干擾系統内之其它埠上的通訊流 量。此係藉由分離封包處理功能中之資料及控制訊框、具 有區域s己憶體及訊框緩衝器之若干流線RISC處理器 (in-line RISC pr〇Cessor)晶片、軟體預處理器,及處理器卡 φ 内之轉譯引擎而得以完成。此為標準單HBA卡上之改良, 其允許單個HBA卡内之兩個網路協定,消除了成本及空 間、變化協定之可撓性(而不會干㉟主系統匯流排上之通訊 流量)、資料傳送耗用’及主系統處理器記憶趙上之記憶體 競爭。Brocade之方法中的多處理器為完全管線式、附著至 區域記憶體的。 極需要在單晶片内而非單HBA卡或橋接器卡内併入此功 月匕從而使传此夠在單晶片入痒行正確協定轉換、在協定 轉換内處理資料及控制訊框以向區域就匯流排或系統 98784.doc •13· 匯机排傳遞一元成之封包。此將使得能夠達成卡之進一 /潛在減硬體(晶片S目)之節省,較少頻寬競爭、記憶 體競爭,並使得能夠達成較高協定速度及—SqC晶片内(或 附著至-區域系統匯流排)之更多處理器,及較高產出。 【發明内容】 如本發明之一目的為在單晶片上提供一種自含式協定轉換 器或將其提供為嵌人式SgCe#,其在不需要主機系統資源 之晴况下,疋全在該單晶片内或在該嵌入式巨集實施例内 執行協定轉換處理。 根據本發明之一態樣,在單個半導體晶片上提供一種有 效協定轉換器或將其提供為用於S()C類型設計之單晶片嵌 入式協疋轉換益巨集’該單晶片或嵌入式s〇c巨集實施例能 夠將-通信協定轉換成一獨立、新的通信協定,且/或能夠 將一通信協定版本級轉換成另-通信減版本級。舉例而 …嵌入式協定轉換器巨集或單晶片協定轉換器可經組 態以在該單晶片内或該嵌人式SqC巨集内將封包自一協定 版本級(例如’光纖通道2㈤S)轉換成另-協定版本級(例 光纖通道10叫或自-協定轉換成-完全不同之協 定(例如,光纖通道轉換成乙太網路或以匸“等等)。 無論建構為單晶片或建構為嵌入式巨集,協定轉換巧皆 t-或多個處理器核心總成,㈣一處理器核心總成 r.兩個或兩個以上微處理器裝置,其能夠執行操作以 建構協定轉換能力:一區域儲存裝置,其與該等兩個或兩 個以上微處理器裝置相關聯以將資料及指令中至少一者儲 98784.doc 1338231 存於每-處理器核心總成中;—或多個可組態介面裝置, 其能夠根據-或多個通信協定而接收及傳輸通信封包;及 -互連構件’其用於使得能夠在該等兩個或兩個以上微處 理器裝置與該等介面裝置之間進行通信。因此,有利地, 單晶片協定轉換器及叙入式巨集設計包括一用以將就類 型設計按比例縮放至高得多的協定速度之構件,且包括將 眾多處理器併入一 s〇c實施例内之能力。 • 可藉由利用元全官線式、多線程、多處理器晶片設計來 實現單晶片或嵌入式協定轉換器功能,其中將區域記憶體 併入該晶片(或作為s〇c附著巨集)内以處理協定轉換之所 有功能(改變尺寸、重定格式、控制、分割)來將一完成封包 傳遞至區域匯流排。 較佳地,單晶片協定轉換器及嵌入式巨集設計在不需要 主機系統匯流排資源之情況下執行大部分協定處理(意 即,處理發生在SoC附著巨集中),意即,當需要時,隨後 • 將任何經協定轉換之封包置放在區域S〇C或系統匯流排 上。協定處理指令係完全執行於soc協定巨集内或協定轉換 晶片内以用於單機設計之目的。可達成改良之匯流排效 能 '系統頻寬、系統内數目經增加之協定,及主機匯流排 附著卡之顯著減少或消除。 由於單晶片嵌入式巨集,故減除了在協定轉換應用中通 *所採用之主系統子卡,因此降低了成本且增加了效能。 此外’可容易地將SoC嵌入式協定轉換器巨集或單晶片協 定轉換器架構自一功能(意即’協定轉換)重組態成完全新的 98784.doc 1338231 功能(TCP/IP卸載、加速器‘、防火牆功能,等等)。因此可 將單晶片或嵌入式協定轉換器巨集之運作功能修改為—完 全新的運作功能,該完全新的運作功能可獨立於或不同於 • 第一運作功能(為此功能可將單晶片或嵌入式協定轉換器 巨集進行初始程式化)。此運作功能變化可基於多個因素, 其包含(但不限於):晶片中之處理器核心總成之數目(處理 裔叢集)’該等叢集内之處理器之數目,該等叢集内之區域 籲記憶體(例如,快取記憶體)之數量及與每一叢集相關聯之區 域記憶體(SRAM、DRAM等等)之數量。 根據另一實施例,在單晶片設計中’單晶片協定轉換器 積體電路(1C)或SoC協定轉換巨集核心實施例利用了嵌入 有足夠區域記憶體、控制邏輯、收集及工作佇列、一交錯 式父換益或其它交換子系統、協定控制、介面及匯流排橋 接1§ I/O功能的多線程、管線、多處理器核心。藉由將標準 匯流排橋接器I/O功能併入系統晶片(s〇c)區域匯流排,嵌 • 入式協定轉換器巨集額外地實現了更高密度、效率、改良 之主機處理器效能、頻寬,及記憶體競爭改良、耗用減少。 在多線程方法中,進行管線操作、採用較少數目之指令、 簡單處理器結構、嵌入式記憶體,及不行至處理器深處之 環境(context),可使得協定轉換器晶片或嵌入式巨集與起 初打具使用之原始協定轉換器晶片或嵌入式s〇c巨集相 比,對於多個協定、版本級及甚至獨立網路連接功能而言 為可高度適應且可組態的。 有利地,本發明之SoC嵌入式協定轉換器巨集或單晶片協 98784.doc 16 1338231 定轉換器可應用至自SAN網路、伺服器、家用網路、自動 網路、工業,及電信至簡單I/O協定資料流的許多應用。 【實施方式】 如本文將參看的,術語”協定”指任何特定輸入/輸出(I/O) 通信資料實體層流,通常藉由標準本體指定,或可為公司 内部專有介面,其具有多個實例,包括(但不限於):光纖通 道、超高速乙太網路、iSCSI、IP、TCP/IP、FC/IP、ESCON、 FCON、CAN、SAMBA、DSL、VoIP、MPLS、GMPLS,及 •更多。 在所述實施例中,協定為通信協定,諸如光纖通道、乙 太網路、iSCSI、ESCON、FCON、IP分層之協定,或諸如 FC/IP、IP/MPLS之封裝協定,等等。資料通信協定通常具 有以位元組、字組或組、訊框,及封包配置之資料位元, 其具有控制字元,諸如,訊框之開始、訊框之結束、源協 定、目標協定等等;以及在位元流之有效負載中的實際資 • 料。 本發明之協定轉換器採用特殊處理器且被建構為單機或 整合於SoC (系統晶片)類型設計中。圖5中說明可用作SoC 實施例之巨集的基本協定轉換器晶片350之方塊圖。 併入本文之共同擁有之同在申請中的於2003年7月25曰 申請之題為"Self-Contained Processor subsystem as component for System-on-Chip design"的相關美國專利申請 案第10/604,491號中描述了此核心之基本結構及運作,現 在本文中描述其運作。 98784.doc 1338231 簡5之,如圖5中所示,單晶片上之協定轉換器(或為s〇c 甘八入式巨集核心)為專用於協定轉換之自含式、基於處理器 之子系統350,但其可重組態成其它網路功能,包含一或多 個處理器叢集200、用於儲存資料及/或指令之一或多個區 域s己憶體組215,及一經建構為交錯式交換器(或者,可利 用構造交換器,或MP匯流排)之區域互連構件22〇或其它類 似交換構件。本發明之單晶片協定轉換器設計包含具有得 鲁自PowerPC架構之經減少通用指令組的許多簡單處理器核 〇 每一處理器叢集200包含一或多個處理核心2〇5,其各自 為具有四個級深度管線之單條目架構(single_issue architecture),其中每一處理器核心2〇5具有其自身之暫存 器檔案226、算術邏輯單元(ALU)225及指令序列器227。在 圖5中所描繪之單晶片協定轉換器及圖8中所描繪之用於協 疋轉換之SoC嵌入式巨集的實施例中,八個處理器核心205 • 連同一指令快取s己憶體208 —起係包裝在一處理器叢集2〇〇 中。h令快取s己憶體之尺寸為—設計選項,例如3 2让丑,其 足以用於網路應用。額外提供經由一區域匯流排而與至少 兩個處理器核心205相關聯之—區域SRAM記憶體單元 230。協定轉換器350中用以支持之足夠計算功率之處理器 叢集200的準確數目(例如一個、兩個或甚至丨6個處理器叢 集(包含1 28個核心))取決於應用需要。舉例而言,建構用於 光纖通道網路協定之功能需要少於更為複雜之丁以/^終 端、IP或用於iSCSI協定轉換實施例之計算功率的計算功 98784.doc -18- 1338231 率。 . - 本發明之基於處理器之子系統協定轉換器35〇之另一特 .徵為用於儲存應用程式、當前控制資訊及應用程式所使用 .之資料的嵌入式記憶體215的使用。用以在正常運作條件下 提供平穩運作之足量記憶體在未過度增加其尺寸的情況下 置放在協定轉換器令。與習知晶片外記憶體相比,嵌入式 圯憶體之另一優點在於:其提供較短及可預測存取時間, φ 在封包處理之時間預算估測中精確地考慮了該等存取時 間。 協疋轉換器晶片350中之所有元件經由交錯式交換器220 而仔以互連,该父錯式交換器220特定地互連處理器叢集 2〇〇、共用記憶體區塊215,及網路協定層硬體協助裝置或 嵌入式MAC介面175、185。當建構為SoC中之嵌入式巨集 時(諸如本文關於圖8至10所描述的),交錯式交換器22〇接著 藉由橋接器巨集(匯流排)224而連接至或直接附著至s〇c處 φ 理器區域匯流排2 1 0或外部系統匯流排223(例如,pci或 PCI-X等等)。可調適橋接器以適應不同速度、匯流排寬度、 机號’及發出訊號之協定。在巨集s〇c實施例中,協笔轉換 器巨集350與嵌入式處理器區域匯流排210 (例如,IBM之 CoreConnect 中的 PLB 或 ARMBA 中之 ARM、MIP,等等)之間 的標準介面之優點在於:其允許將協定轉換器整合為soC 組件庫中之巨集。 在網路協定之較低級進一步建構用於高時間攸關功能 (highly time-critical function)的為硬體加速器,其處理低級 98784.doc 19 1338231 協定任務’諸如,資料編碼/解碼、序列化/反序列化、鏈接 貧理以及CRC及校驗和計算(checksum calculation)。此等 任務係執行於所傳送封包之每一位元組上,且若建構於軟 雜中’則其計算將極昂貴。此等功能之硬體實施例係提供 為建構於光纖通道之網路介面175中及超高速乙太網路us 中之硬體加速器,網路介面175及超高速乙太網路185各自 僅需較小石夕面積且分別與個別光纖通道及超高速乙太網路 g 通信鏈接190、195進行接合。 由於協定轉換器核心350與處理器匯流排(單晶片實施例 中之SoC處理器區域匯流排或系統匯流排)之分離而產生之 額外優點為:1).協定核心與s〇c系統或系統匯流排之間僅 有的通訊流量為資料流通訊流量(資料接收及發送),因此最 小化頻寬競爭;及2).子系統互連構造(意即,交換器)在無 需適應總SoC之標準組件介面及連接協定、附著至交換器構 造之其它處理器,或主系統匯流排自身的情況下,為協定 φ 核心提供最佳高效能解決方案,從而容許了更高協定轉換 速度、在單個SoC或主機匯流排配接器卡内處理之更多協 定,及主系統匯流排上之更少競爭β 現描述當建構為協定轉換器(單機單晶片或作為嵌入式 S 〇 C巨集)時處理器子系統之運作。在一實施例中,單晶片 協定轉換器350(或SoC設計之嵌入式巨集)提供光纖通道 (FC)至超咼速乙太網路(GE)轉換。應瞭解,該設計考慮了 許多組合’諸如光纖通道至IP、光纖通道至iscsI、光纖通 道至無限頻帶(Infiniband)、TCP/IP至iSCSI,及本文所提及 98784.doc •20· 1338231 之任何其它協定 實際上,該實施例並不僅限於通信協定, 但可建構於自動網路、家庭,或工業環境中,諸如,類似 於用於諸如CAN之自動網路的Motorola MPC5554 Microcontroller,或用於家庭應用之samba網路。 圖6為圖5之單晶片協定核心35〇之例示性說明,其係組態 成自光’截通道至超面速乙太網路單晶片協定轉換器300 » 在圖6所不之協定核心中,建構了所需端點功能,以及兩 翁協疋之間的轉換所需之封包的改變尺寸及重定格式。此建 構之基礎為協定運作之分割以致可藉由晶片上之不同資源 來處理匕們。-處理器(或一群處理器)之每一協定運作(排 除一些靠近網路實體介面之時間攸關功能之外)係藉由硬 體加速益得以建構。現關於圖6來描述封包及處理流程如 下,藉由DMA邏輯將所接收之封包及一些狀態資訊自入埠 FIFO緩衝器傳送至嵌入式記憶體,該dma邏輯已自一自由 緩衝器清單接收了空記憶體區域之指標。藉由自記憶體獲 # 得控制資訊或若封包為新交換之第一個,則藉由產生新控 制資訊來檢查封包標頭以視需要判定封包環境及切換當前 裱境。此外,驗證所接收之封包以確保其遵循其所屬之交 換服務類別。若需將所接收封包之確認(ackn〇wUdgment) 發送回至源協定(例如,光纖通道中之類別2服務),則產生 確認封包。對確認封包之對應標頭資訊進行組合,且將該 封包發送至出埠光纖通道網路介面。在此說明書中將封包 界定為資料位元集合,其至少含有目標協定資訊’且通常 用於通信封包,亦用於標頭。 98784.doc -21 - 1338231 且5 了為所接收之封包產生超高速乙太網路封包標頭, =超问速乙太網路協定對該封包改變尺寸。將新形成 • = l (或多個封包)傳送至乙太網路(EMAC)介面硬體模組 ,立皁FIFO緩衝器。類似任務發生以執行相反協定轉 換二即,將封包自乙太網路傳送至光纖通道網路。圖6 中兒月了此原型單晶片光纖通道/乙太網路協定轉換器實 施例^之邏輯表示。此實施例使用14個處理器,其中彼等 參處理益運作於圖6中所示之處理區塊中所描繪的光纖通 、(FC)至乙太網路轉換’其中,在處理器η處接收冗輸入 ί包同日夺,圖6中之處理區塊27〇中描繪反向轉換處理。 把據圖6中所摇繪之處理流程來執行將協定任務指派給 硬體資源,其中執行如下:處理器Ρ1管理光纖通道入槔DMA 機,(setup)及目標記憶體區域指派;處理器基於封包標 頭貝訊而將封包分派給四個處理器p3至%中的一個,該封 包標頭資訊視需要執行環境切換、封包驗證,及確認封包 籲產生,處理益P7執行乙太網路標頭產生,傳送至乙太網路Architecture) (CCBA). A single embedded processor-based approach provides a cost-effective, integrated solution for some applications, but it may lack the computational power required by higher-demand applications 98784.doc 1338231, and for contract conversions or future agreements Increased speed flexibility, for example, 2.5 Gbps Fibre Channel to 10 Gbps Fibre Channel. In recent years, in many network connectivity applications, by adding a dedicated processor core (accelerator) 39 attached to a general bus (PLB) (as shown in Figure 2, operating in parallel with processor core 25) The computing power of the SoC of Figure 1 is enhanced. Such additional dedicated processor cores 39a, 39b, etc., typically have a smaller area as a result of eliminating many of the features found in typical general purpose processors (e.g., memory management units for supporting virtual addressing, etc.). An example of such a method is IBM's PowerNP (see, for example, by M. Heddes, "IBM Power Network Processor architecture", Proceedings of Hot Chips 12, Palo Alto, CA, USA, August 2000, IEEE Computer The Society's reference) and NEC's TCP/IP offload engine (see, for example, http://www.tensilica.com/litml/pr_2003_05_12.html titled "NEC's New TCP/IP Offload Engine Powered by · 10 Tensilica Xtensa Processor Cores") Although these systems are programmable and therefore more flexible than fixed-line accelerators, they suffer from several drawbacks: a) When the bus must support instruction and data flow to the processing immediately Accelerator, which induces additional traffic on the SoC bus (eg, PLB 2 1), which can result in bandwidth competition and limit system performance; b) in SoC systems, usually not multiprocessor performance Optimizing the SoC bus for compatibility with standardized components and connection protocols; and c) processor accelerator 39 typically only constructs a very limited set of instructions and uses a combined language, thus enabling operation The development and maintenance of applications on processor accelerators is extremely difficult and expensive. The third type of SoC design 75 is a 98784.doc connected via an interleaved switch. 1338231 Intrusive Processing|§ Core, such as M〇t〇r 〇lai MPC 5554 Micr〇c〇n Plus (Design News, November 3, 2003, page #38), a block diagram of which is depicted in Figure 3. As illustrated in Figure 3, M〇t〇r〇 The la s〇c design consists of many components similar to the SoC design of Figure 1 and Figure 2, which consists of the p〇werpc processor core, memory and bus interface, however, more significantly, the construction of 3 X 5 parent error The parental switcher 72 acts as an alternative to one of the regional busbars. By incorporating the interleaved switch 72 into the SoC design, the processor core communication can be operated simultaneously by the two (3) lines. It happens quickly, to solve the bandwidth competition problem to a certain extent. However, S〇C is still not supported for multi-processor, or optimized for higher-level functions such as protocol conversion in a single SoC chip, or high-speed interface. The 1/0 communication within the chip is limited by the interleaved switch and still needs Communicating with the external bus interface and host system bus limits the performance and flexibility of the microcontroller (SoC chip) for any future upgrades. Any contract conversion will need to be performed outside the wafer, in several stages or in a wafer. In addition, you cannot place the instructions placed on the bus of the host system and • decouple the data packets. In the example of Figure 3, for example, a convention for the FlexCan (CAN Protocol: "Control Area Network") data stream typically used in automated applications, and such as DSPI (or " tandem peripheral interface, Or other protocols of eSCI (Enhanced Serial Communication Interface) are now built into the Motorola MPC 5554 chip via an external 1/〇 bridge 78, where each protocol or 1/〇 specific stream passes through an I/O bridge, Interleaved switches, and typically an internal wafer bus or external bus interface to the system bus. (Currently - there is no protocol conversion in today's single-chip, and there is no independent agreement or 98784.doc 12 1338231 agreement version level conversion to full new agreement or version by embedded core attached to internal wafer bus Level agreement conversion method. The current protocol conversion only occurs at the system or card level, which involves multiple wafers as mentioned earlier. One example is the Brocade Silkworm Fabric Application Server mentioned earlier for SAN networks (eg See http://www.brocade.com/san/ending_v alueof_S ANs.jsp) as shown in Figure 4. In the prior art Brocacje system 1 概念 conceptually depicted in Figure 4, for example, Fibre Channel to Fibre Channel (FC to FC) routing 102, iSCSI to FC bridging 104, and Fibre Channel to FC_Ip translation capability. 01_〇 Designed as an improvement to today's existing technology, the improvement is: Fiber]/Leica can support multiple protocols and can even migrate from one agreement to another on the same 1/Leica without interfering with traffic on other ports in the system. Data and control frames from the packet processing function, several streamlined RISC processors (in-line RISC pr〇Cessor) chips with area s replies and frame buffers, software preprocessors, and processor cards This is done with the translation engine within φ. This is an improvement on the standard single HBA card, which allows two network protocols within a single HBA card, eliminating the cost and space, changing the flexibility of the agreement (and not doing 35) The communication traffic on the main system bus), the data transfer consumption 'and the main system processor memory Zhao Shangzhi memory competition. The multiprocessor in the Brocade method is completely pipelined and attached to the area memory. Incorporating this power in a single chip rather than a single HBA card or bridge card enables the transfer of the correct protocol conversion in a single wafer, processing of data and control frames within the protocol conversion to confluence to the area排排或系统98784.doc •13· The hoistway delivers a one-component packet. This will enable savings in the card's further/potentially-hardened body (chip S mesh), less bandwidth competition, memory competition, and Enable Achieving higher protocol speeds and more processors within the SqC wafer (or attached to the -area system bus), and higher yields. [Invention] It is an object of the present invention to provide a self on a single wafer. The inclusion protocol converter or provides it as an embedded SgCe# that performs protocol conversion processing within the single wafer or within the embedded macro embodiment without the need for host system resources. According to one aspect of the present invention, an efficient protocol converter is provided on a single semiconductor wafer or provided as a single-chip embedded cooperative conversion for the S(C) type design. The s〇c macro embodiment can convert a communication protocol into a separate, new communication protocol, and/or can convert a communication protocol version level to another communication minus version level. For example, an embedded protocol converter macro or a single-chip protocol converter can be configured to convert a packet from a protocol version level (eg, 'Fibre Channel 2 (5) S) within the single chip or within the embedded SqC macro. Into another-protocol version level (such as Fibre Channel 10 called or self-contracted to - completely different agreement (for example, Fibre Channel converted to Ethernet or 匸 "etc.). Whether constructed as a single chip or constructed as Embedded macros, protocol conversions are all t- or multiple processor core assemblies, (iv) one processor core assembly r. Two or more microprocessor devices capable of performing operations to construct protocol conversion capabilities: An area storage device associated with the two or more microprocessor devices to store at least one of data and instructions 98784.doc 1338231 in each processor core assembly; or more Configurable interface device capable of receiving and transmitting communication packets in accordance with - or a plurality of communication protocols; and - an interconnecting member 'for enabling two or more microprocessor devices and the interfaces Connect between devices Therefore, advantageously, the single-wafer protocol converter and the Syrian macro design include a means for scaling the type design to a much higher protocol speed, and including incorporating a plurality of processors into one s〇 c. Capabilities within the embodiment. • Single-wafer or embedded protocol converter functionality can be implemented by using a full-featured, multi-threaded, multi-processor chip design in which area memory is incorporated into the wafer (or The s〇c attach macro) handles all the functions of the protocol conversion (resize, reformat, control, split) to deliver a completed packet to the regional bus. Preferably, the single-chip protocol converter and the embedded giant The set design performs most of the protocol processing without the need for host system bus resources (that is, the processing takes place in a SoC attachment cluster), meaning that when needed, then • place any contracted conversion packets on The area S〇C or the system bus. The protocol processing instructions are fully executed within the soc protocol macro or in the protocol conversion chip for stand-alone design purposes. The convergence of the good bus performance 'system bandwidth, the number of systems increased, and the host bus bar attachment card is significantly reduced or eliminated. Because of the single-chip embedded macro, it is used in the agreement conversion application The main system daughter card, thus reducing costs and increasing performance. In addition, the SoC embedded protocol converter macro or single-chip protocol converter architecture can be easily reconfigured from a function (meaning 'convention conversion) to full New 98784.doc 1338231 features (TCP/IP offload, accelerator', firewall function, etc.). So the operational functions of the single chip or embedded protocol converter macro can be modified to - completely new operational functions, the complete The new operational functions can be independent or different from • The first operational function (for this function, the single-chip or embedded protocol converter macro can be initially programmed). This operational function change can be based on a number of factors including, but not limited to, the number of processor core assemblies in the chip (processing clusters) 'the number of processors within the clusters, the regions within the clusters The number of memory (eg, cache memory) and the amount of area memory (SRAM, DRAM, etc.) associated with each cluster. According to another embodiment, a single-chip protocol converter integrated circuit (1C) or SoC protocol conversion macro core embodiment utilizes sufficient area memory, control logic, collection and operation queues, An interleaved parent exchange or other switching subsystem, protocol control, interface, and bus, multi-threaded, pipelined, multi-processor core that bridges 1 § I/O functions. By incorporating standard bus-bridge I/O functionality into the system-on-a-chip (s〇c) area bus, the embedded protocol converter macro additionally enables higher density, efficiency, and improved host processor performance. , bandwidth, and memory competition improvement, consumption reduction. In a multi-threaded approach, pipeline operations, a smaller number of instructions, a simple processor architecture, embedded memory, and a context that is not deep into the processor can make a protocol converter chip or embedded giant The set is highly adaptable and configurable for multiple protocol, version level, and even standalone network connectivity functions compared to the original protocol converter chip or embedded s〇c macro originally used. Advantageously, the SoC Embedded Compact Converter Macro or Single Chip Association 98784.doc 16 1338231 converter of the present invention can be applied to self-SAN networks, servers, home networks, automatic networks, industrial, and telecommunications to Many applications of simple I/O protocol data streams. [Embodiment] As will be referred to herein, the term "agreement" refers to any specific input/output (I/O) communication material entity laminar flow, usually specified by a standard ontology, or may be a proprietary interface within a company, which has many Examples, including but not limited to: Fibre Channel, Ultra High Speed Ethernet, iSCSI, IP, TCP/IP, FC/IP, ESCON, FCON, CAN, SAMBA, DSL, VoIP, MPLS, GMPLS, and More. In the described embodiment, the agreement is a communication protocol, such as Fibre Channel, Ethernet, iSCSI, ESCON, FCON, IP layered protocols, or encapsulation protocols such as FC/IP, IP/MPLS, and the like. Data communication protocols typically have data bits in a byte, block or group, frame, and packet configuration with control characters such as the beginning of the frame, the end of the frame, the source agreement, the target agreement, etc. Etc; and the actual resources in the payload of the bit stream. The protocol converter of the present invention employs a special processor and is constructed as a stand-alone or integrated SoC (system chip) type design. A block diagram of a basic protocol converter die 350 that can be used as a macro of a SoC embodiment is illustrated in FIG. U.S. Patent Application Serial No. 10/604, filed on Jul. 25, 2003, which is hereby incorporated by reference in its entirety, the "Self-Contained Processor Sub-component for System-on-Chip design" The basic structure and operation of this core is described in 491, and its operation is described in this article. 98784.doc 1338231 Jane 5, as shown in Figure 5, the protocol converter on a single chip (or s〇c Ganyin macro core) is a self-contained, processor-based child dedicated to protocol conversion System 350, but reconfigurable to other network functions, including one or more processor clusters 200, one or more regions for storing data and/or instructions, and a construct A regional interconnect member 22 or other similar switching member of an interleaved exchanger (or, may utilize a construction exchanger, or an MP bus). The single-wafer protocol converter design of the present invention includes a number of simple processor cores with reduced common instruction sets from the PowerPC architecture. Each processor cluster 200 includes one or more processing cores 2, 5 each having A four-level deep pipeline single-issue architecture in which each processor core 2〇5 has its own scratchpad file 226, arithmetic logic unit (ALU) 225, and instruction sequencer 227. In the single-wafer protocol converter depicted in FIG. 5 and the embodiment of the SoC embedded macro for co-transformation depicted in FIG. 8, eight processor cores 205 are connected to the same instruction cache. The body 208 is packaged in a processor cluster 2〇〇. h Make the size of the cache suffix - design options, such as 3 2 make ugly enough for network applications. An area SRAM memory unit 230 associated with at least two processor cores 205 via a regional bus is additionally provided. The exact number of processor clusters 200 (e.g., one, two, or even six processor clusters (including 1 28 cores) in the protocol converter 350 to support sufficient computing power depends on the application needs. For example, constructing a function for a Fibre Channel network protocol requires less than a more complex computational power of the terminal, IP, or computational power for an iSCSI protocol conversion embodiment. 98784.doc -18- 1338231 rate . - Another feature of the processor-based subsystem protocol converter 35 of the present invention is the use of embedded memory 215 for storing information about applications, current control information, and applications. A sufficient amount of memory to provide smooth operation under normal operating conditions is placed in a contract converter order without excessively increasing its size. Another advantage of embedded memory compared to conventional off-chip memory is that it provides shorter and predictable access times, and φ accurately takes into account these accesses in the time budget estimation of packet processing. time. All of the components in the co-transformer chip 350 are interconnected via an interleaved switch 220 that specifically interconnects the processor cluster 2, the shared memory block 215, and the network. Protocol layer hardware assist device or embedded MAC interface 175, 185. When constructed as an embedded macro in the SoC (such as described herein with respect to Figures 8-10), the interleaved switch 22 is then connected or directly attached to the s by a bridge macro (bus) 224. 〇c at the φ processor area bus 2 1 0 or external system bus 223 (for example, pci or PCI-X, etc.). The bridge can be adapted to accommodate different speeds, busbar widths, machine numbers' and signalling agreements. In the macro s〇c embodiment, the standard between the co-author converter macro 350 and the embedded processor area bus 210 (eg, PLB in IBM CoreConnect or ARM, MIP in ARMBA, etc.) The advantage of the interface is that it allows the integration of the contract converter into a macro in the soC component library. At the lower level of the network protocol, a hardware accelerator for the high time-critical function is further constructed, which handles the low-level 98784.doc 19 1338231 protocol task 'such as data encoding/decoding, serialization /Deserialization, link deficiencies, and CRC and checksum calculations. These tasks are performed on each byte of the transmitted packet and are computationally expensive if constructed in soft. The hardware embodiments of these functions are provided as hardware accelerators built in the fiber channel network interface 175 and in the ultra high speed Ethernet us. The network interface 175 and the ultra high speed Ethernet 185 are only required. The smaller and smaller areas are joined to individual Fibre Channel and ultra-high speed Ethernet g communication links 190, 195, respectively. The additional advantages resulting from the separation of the negotiated converter core 350 from the processor bus (single-chip embodiment of the SoC processor area bus or system bus) are: 1) the protocol core and the s〇c system or system The only communication traffic between busbars is data stream traffic (data reception and transmission), thus minimizing bandwidth competition; and 2) subsystem interconnection architecture (ie, switch) does not need to adapt to the total SoC Standard component interface and connection protocol, other processors attached to the switch fabric, or the main system bus itself, providing the best high-performance solution for the agreed φ core, allowing for higher protocol conversion speeds, in a single More agreement between SoC or host bus adapter card processing, and less competition on the main system bus. β is now described when constructed as a protocol converter (single-machine single-chip or as an embedded S 〇C macro) The operation of the processor subsystem. In one embodiment, single-chip protocol converters 350 (or embedded macros of SoC designs) provide Fibre Channel (FC) to ultra-fast Ethernet (GE) conversion. It should be understood that this design considers many combinations 'such as Fibre Channel to IP, Fibre Channel to iscsI, Fibre Channel to Infiniband, TCP/IP to iSCSI, and any of 98784.doc • 20· 1338231 mentioned herein. Other Agreements In fact, this embodiment is not limited to communication protocols, but can be constructed in an automated network, home, or industrial environment, such as the Motorola MPC5554 Microcontroller for automatic networks such as CAN, or for home use. Application of the samba network. 6 is an illustrative illustration of the single-wafer protocol core 35 of FIG. 5 configured from a 'cross-channel' to a super-faceted Ethernet single-chip protocol converter 300 » the core of the agreement not shown in FIG. In this case, the required endpoint functions are constructed, as well as the size and re-formatting of the packets required for the conversion between the two associations. The basis of this structure is the division of the operation of the agreement so that it can be handled by different resources on the wafer. - Each protocol operation of the processor (or group of processors) (except for some time-critical functions close to the network entity interface) is constructed by hardware acceleration. Referring now to Figure 6, the packet and processing flow is as follows. The DMA logic transfers the received packet and some status information from the incoming FIFO buffer to the embedded memory. The DMA logic has received from a free buffer list. An indicator of the empty memory area. By obtaining control information from the memory or if the packet is the first one of the new exchange, the packet header is checked by generating new control information to determine the packet environment and switch the current dilemma as needed. In addition, the received packet is verified to ensure that it follows the switching service category to which it belongs. A acknowledgment packet is generated if the acknowledgment of the received packet (ackn〇wUdgment) is sent back to the source protocol (eg, Class 2 service in Fibre Channel). Combine the corresponding header information of the acknowledgment packet and send the packet to the outgoing Fibre Channel network interface. In this specification, a packet is defined as a collection of data bits that contain at least the target protocol information' and are typically used for communication packets and also for headers. 98784.doc -21 - 1338231 and 5 generated a super-fast Ethernet packet header for the received packet, = SuperSpeed Ethernet protocol changed the size of the packet. The newly formed • = l (or multiple packets) is transmitted to the Ethernet (EMAC) interface hardware module, and the soap FIFO buffer. A similar task occurs to perform the reverse protocol conversion, ie, the packet is transmitted from the Ethernet to the Fibre Channel network. Figure 6 shows the logical representation of this prototype single-wafer Fibre Channel/Ethernet protocol converter implementation. This embodiment uses 14 processors, where they participate in the Fibre Channel, (FC) to Ethernet conversion depicted in the processing block shown in Figure 6, where at processor η Receiving the redundant input ί packet is the same as the day, and the reverse conversion process is depicted in the processing block 27〇 in FIG. The assignment of the protocol task to the hardware resource is performed according to the process flow depicted in FIG. 6, where the execution is as follows: the processor 管理1 manages the Fibre Channel into the DMA machine, (setup) and the target memory area assignment; the processor is based on The packet header is sent to one of the four processors p3 to %, and the packet header information is required to perform environment switching, packet verification, and confirmation packet generation, and the processing P7 performs the Ethernet network road sign. Generated, transmitted to Ethernet
出璋網路介面之杳斗立A #枓的建立’並返回不再被鏈接自由緩衝 裔硐單所需要之記憶體區域區塊。類似地,藉由圖6中所描 1之處理盗P8至P14來處理自乙太網路至光纖通道網路之 封L資料机。將待傳輸至該乙太網路之封包的指標置放在 作仔列249中’且將待發送於光纖通道上之封包的指標置 放在光纖通道出埠工作佇列259上。 可合易地以類似方式建構其它網路協定或協定轉換。舉 例而。’在建構lScSWTcp/ip協定雄叠中可再次使用用 98784.doc -22· 1338231 二:::器(uniprocessor)實施例之現存程式碼,,僅需要適 :°又汁努力以使其適應該架構。更具體言之,須建構 -.匕分派及收集(標記為似^且標記為ρ9^】4之處理写 .^用於接收路徑及傳輸㈣)之任務,但網路協定係調適 成:標記為W〇至P13之處理器上幾乎無變化地並 订運仃。鬚根據任務複雜性來按比例縮放並行運行協定任 務之處,器的數目以滿足計時需要。舉例而言,在圖6中所 描繪之實例中’ lSCSI協定轉換可能需要"個以 _來執行單晶片協定轉換。 處理益 、可藉由以下方法來執行多個處理器核心上之封包處理: 遵循運订至完成方法(run_to_completi〇n _⑽叫其中將 =封包m執行所有處理操作之單個處理器丨或經由 管線操作,藉以將封包處理操作分割成指派給獨立處理器 之多個管線級。在本文所述之實施例中,管線式方法提供 :對如快取記憶體之硬體資源較好之利用。可指派給獨二 籲官線級之網路運作之實例為標頭處理、封包驗證、確切響 應之產生、封包重定序及訊息組合,及端對端:: (end-to-end control) ° 在初始化期間靜態地執行分派給處理器之協定任務的排 程,意即,每-處理器2〇5在各種封包上執行同組運作:同 樣地,為避免與動態記憶體管理相關聯之諸如垃圾收集 (⑽agec〇lleCtl〇n)耗用’使用靜態記憶體管理。在系統啟 動期間初始化所有使用之記憶體結構23〇。此等結構包括 於儲存資料封包之記憶體區域275、用於現存網路連^之= 98784.doc •23· !33823l 制及狀態資訊的記憶體280、程式碼285 .〜 中:明了用於該架構中之各種記憶體結構二圖 之提供使得封包協定轉換之所有子處理=冓 内或作為附著至SoC類型設計之嵌 :、皁曰曰 將最终完成之封包傳送至系統匯流排或内:^而匯^能夠 如圖7中所示,將儲存資料封包 排。 鍵接清㈣。將自鏈接清單所獲得之進域^組成為 自由緩衝器中。在封包處理期 :::於下- 體區域的指標在處理器之間傳遞。_==包之記憶 包被傳送至出蜂網路介面,且緩衝=成封包處理後,封 單。 欸衝盗返回至自由緩衝器清 如圖7中進一步描繪的, :::;Γ …在 ⑽二聯當:::緒準::處工理作的封包之指標的工-工作仵列得到下-申〜 切下—封包時,其自其 時,其將該封包之二封包的指標。當其完成處理 作佇列I為確伴::置放入該管線中之τ-執行緒的工 鎖定。為確保⑽體存取衝突中之正確運作,使用了After the network interface, the A #枓's establishment is returned and the memory area block that is no longer linked to the free buffer is selected. Similarly, the L-data machine from the Ethernet to the Fibre Channel network is handled by the process of stealing P8 to P14 as described in FIG. The indicator of the packet to be transmitted to the Ethernet is placed in the queue 249 and the indicator of the packet to be sent on the Fibre Channel is placed on the Fibre Channel outbound queue 259. Other network protocols or protocol conversions can be constructed in a similar manner. For example. 'In the construction of the lScSWTcp / ip agreement, you can use the existing program code of the 98784.doc -22· 1338231 2:::uniprocessor embodiment, only need to adapt: ° and effort to adapt it to Architecture. More specifically, it is necessary to construct -. Distribute and collect (marked as ^ and marked as ρ9^] 4 processing write. ^ for receiving path and transmission (four)) task, but the network protocol is adapted to: mark There is almost no change and ordering on the processor from W〇 to P13. The number of parallel running protocol tasks, the number of devices, must be scaled to meet timing needs based on task complexity. For example, in the example depicted in Figure 6, the 'lSCSI protocol conversion may require " to perform a single-wafer protocol conversion with _. Processing benefits, packet processing on multiple processor cores can be performed by: following the subscription to completion method (run_to_completi〇n _(10) called a single processor where = packet m performs all processing operations or via pipeline operation The packet processing operation is divided into a plurality of pipeline stages assigned to the independent processor. In the embodiments described herein, the pipelined method provides: better utilization of hardware resources such as cache memory. Examples of network operations for the second-level line are header processing, packet verification, exact response generation, packet reordering, and message composition, and end-to-end control: The scheduling of the agreed tasks assigned to the processor is statically executed during the period, meaning that each processor 2〇5 performs the same group operation on various packets: as such, to avoid association with dynamic memory management such as garbage collection ((10)agec〇lleCtl〇n) consumes 'using static memory management. Initializes all used memory structures during system startup. 23 These structures are included in the storage data block. The memory area 275, the memory 280 for the existing network connection = 98784.doc • 23 · !33823l and the status information, the code 285 . ~ : The various memory structures used in the architecture The provision of the two diagrams allows all sub-processes of the packet-contraction conversion to be included in the design of the SoC-type design: saponins transfer the final completed packet to the system bus or into the system: ^ and the sink can be as shown in Figure 7. As shown in the figure, the data packet will be stored. The key is cleared (4). The incoming field obtained from the link list is composed into a free buffer. In the packet processing period::: The lower-body area indicator is in the processor. Transfer between. _== The memory pack of the packet is transmitted to the outbound network interface, and the buffer = after the packet is processed, the seal is sealed. 欸 The thief returns to the free buffer clear as further depicted in Figure 7, ::: Γ 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在 在The index of the second packet. When it is processed, it is listed as I: Yes, it is placed in the pipeline. τ- locking thread of execution work. In order to ensure the proper functioning ⑽ body access to the conflict, the use of
二要考慮在於··所有管線…需要 視封包環境而==外:每一管線級處之處理時間可 時間取決於該封包是否為::序包處I 封包,其是否承載鏈接控制資訊,及其是否屬‘S 98784.doc -24- 1338231 請求訊息。若管線級中的_ 4 .個顯者慢於其它級,則其工作 Y丁列可能變得過載’從而變 ^ λ k為一瓶碩(bottleneck)。此藉由 採用若干處理器(例如,圓 口 ,甲之P1至P4)並行工作於相同管 線級而得以補救。 由於管線級中之處理時間可在封包間改變,故不可完全 利用所有處理益。實情為’藉由提供足夠緩衝及退耦邏輯 而在管線級之間達成匹配之產出。The second consideration is that all pipelines need to be viewed according to the packet environment and == outside: the processing time at each pipeline level depends on whether the packet is:: the I packet at the sequence packet, whether it carries the link control information, and Whether it is a request message of 'S 98784.doc -24- 1338231. If _4. in the pipeline stage is slower than the other stages, then its working Y-column may become overloaded, thus changing λ k to a bottleneck. This is remedied by using several processors (e.g., round ports, P1 to P4) operating in parallel at the same pipe level. Since the processing time in the pipeline stage can vary between packages, all processing benefits cannot be fully utilized. The reality is to produce a match between the pipeline stages by providing sufficient buffering and decoupling logic.
工作㈣同任務之多處理器的指派需要引人-任務分派 處理⑽如’圖7巾財為處理ΙΙΡ5«記為"MT")。封包 指派方法較簡單,以致其執行於較短處理時間中’且不會 藉由資源競爭及鎖定而導致效能降級。 實If為’對於光纖通道實施例而言,藉由單個處理器使 用導致所有封包處理屬於相同環境群的二進位分類演算 法將關於备別壤境之資訊存入(cache)處理器之暫存器樓 案中,從而減少了資源競爭及用於取得此資訊之平均存取 夺門藉由使用簡單雜凑功能而將分類耗用維持在較低 級。在-實施例中’封包分類及處理器指派任務僅引入約 50個才曰令。然而,應瞭解’此可視設計選擇而改變且可在 35至200個指令之範圍内隨意改變。在所描繪之實施例中, 使用了盡可能少的指令組’例如’在35至5〇個指令的範圍 内變化。在任何給定時間於典型網路通訊流量中,可能有 比^理器更多之主動環境群,可同時將若干不同環境指派 給單個處理器。在最糟狀況下,可能將所有封包僅指派給 -個處理器從而致使其過載。然而’運行實際應用之網路 98784.doc -25 · 通訊流量揭示’由於將該等環境群均句地分佈於並行運作 之處理器中,故此不成問題。 單晶片協定轉換ϋ之架構為蜂巢式,從而允許將設計定 製地(cust°m)按比例縮放。在料計中,可容易地根據應用 需要來調適處理器核心及嵌入式記憶艘區塊之數目,而無 需作出顯著設計變化。舉例而言,在以下網路應用中,以 10 Gb/S之線速度運作之多處理器協定轉換器之所需計算能 力可改變,如本文以下内容將描述的。應注意,在此方面, 協定轉換器設計實際上藉由層設計、嵌入式記憶體、藉由 不同處理來進行處理並委派(delegate)給每—子處理器之網 路及協定資源的分割而可"適用於”其它網路處理功能,,,不 受限制"意即,處理器獨立於一特殊網路功能,其不同於先 前技術中每-處理器僅具有_給定潛在功能,諸如TCP/IP 卸載功能、訊框分類器功能、預處理功能、硬體加速器、 ㈣C或資料處理功能,等等。在本發明之單晶片協定轉換 器350中,或作為嵌入式巨集核心55〇,只要允許具有足夠 處理功率來按比例縮放所打算之操作,則相同處理器及區 域記憶體可執行不同網路功能(意即,操作^下文列出一些 實例: 一 魅-轉換:14個處理器(意即,兩個8核心處理器叢集)。 一包括64位元組之卜快取記憶體、64 κ位元組之資料 SRAM、P〇werPC440(或其它處理器)及圓5及圖6中所示之其 它巨集的晶片在〇,13 m ASIC技術中將需要約35平方毫米。 T.CP/JP#p . 3 2個處理器,意即,四個處理器叢集, 98784.doc -26- 1338231 假定m κ位元組之】_快取記憶體及i28〖位元組之 SRAM,此在以上技術中將需要佔用5〇平方毫米。 . 128個處理器(估測),意即,16個處理器核 .心、t集。假定5UK位元組之!_快取記憶體及川尺位元組之 SRAM,所得之晶片將約為15〇平方毫米。 當網路速度或市場條件改變時,相同基本架構(吾人可在 -給定應用所需之晶片内或作為一 s〇c嵌入式巨集内建置 #更多子處理器)係可適用的。舉例而言,該架構係調適以將 晶片重組態成,,防火牆處理器,,或,,協定轉換器",或甚至重組 態成仍未經建構之完全新的設計或協定。因此,一基本設 計可擴展至許多應用及潛在功能。可在不重設計晶片之^ 況下,藉由僅選擇處理器及記憶體單元之數目,接著應用 適當軟體碼或版本級來改變晶片或嵌入式巨集就核心之 網路功能。藉由對所打算之新功能之核心效能的統計模 擬,來選擇用於新協定功能之所選處理器及記憶體單元之 • 數目。 如較早所提及的,可將協定轉換器建構為獨立半導體基 板上之單機積體電路晶片,或嵌入為s〇c類型設計、FPGA、 DSP等等中之巨集。圖8中描繪了根據本發明之第二態樣的 經建構為SoC (系統晶片)設計400中之嵌入式巨集核心的協 疋轉換器之實例。應瞭解,由於全部所需僅為一用以傳送 所完成之資料封包(經轉換或未經轉換)的標準匯流排介面 或橋接器,故該巨集不限於Soc設計,而亦可被建構於標準 SP 4控制器、fpga ' ASIC ’及微處理器中。術語"s〇c,· 98784.doc •27· 1338231 通常用以界定晶片上之系統,其具有至少一處理元件、記 憶體元件、I/O介面,及附著至一區域匯流排或多個晶片上 匯流排之核心。 如圖8中所示,包括嵌入式協定轉換器巨集核心550(亦在 圖5中描繪為單機晶片設計)之SoC 400之一實施例包含一 CPU或MPU元件425(此處圖示為IBM之PowerPC 440,然 而,應瞭解,除PowerPC之外,可建構諸如ARM、MIP及其 類似物之其它SoC處理器核心);一區域SoC匯流排210(圖8 中說明為IBM之CoreConnect PLB 210(處理器區域匯流 排));一可選慢速匯流排(圖8中說明為IBM之晶片上周邊匯 流排或0PB 240);及諸如圖1中所示之任何數目之SoC組件 (核心),其包括一 SRAM 415、DDR控制器418、PCI-X橋接 器422、DMA 426及DMA控制器428、0PB橋接器429,等等。 OPB 240連接包括以下裝置中一個或多個之其它裝置: RAM/R0M周邊控制器445a、外部匯流排主機445b、UART 裝置445c、1C間匯流排(I2C)介面445d、通用I/O介面445e, 及閘道介面445f。 圖8中所描繪之實施例包括自含式、基於處理器之協定轉 換器550,其係整合為單晶片協定轉換器或SoC系統400中之 嵌入式巨集核心,且經由橋接器224及PLB 210而與處理器 核心425匯流排通信。如所描述的,基於處理器之協定轉換 器巨集核心550包含一或多個處理器叢集200、一或多個用 於儲存資料及/或指令之區域記憶體組215、諸如所描繪之 實施例中之交錯式交換器220的區域互連構件,或等效地為 98784.doc -28- 1338231 一構造或Ν χ X交換器及其類似物,以及用於至少兩個網路 協定之至少兩個媒體存取控制(MAC)介面單元175、185(媒 體存取控制)。如圖8中所示,具有可為實體層晶片(PHY)、 SoC嵌入式MAC或PHY功能、或外部協定晶片之個別外部Work (4) Assignment of multi-processors with tasks requires invocation-task assignment processing (10) such as 'Figure 7 for the processing of ΙΙΡ5« as "MT"). The packet assignment method is simpler so that it is executed in a shorter processing time' and does not result in performance degradation due to resource contention and locking. Real If is 'for Fibre Channel embodiments, the binary classification algorithm that causes all packet processing to belong to the same environment group by a single processor to store the information about the backup domain into the cache of the processor In the case of the building, the resource competition is reduced and the average access for obtaining this information is maintained at a lower level by using the simple hash function. In the embodiment - the packet classification and processor assignment tasks only introduce about 50 commands. However, it should be understood that this visual design choice changes and can be arbitrarily changed within the range of 35 to 200 instructions. In the depicted embodiment, as few instruction sets as possible 'e.g.' are used to vary within the range of 35 to 5 instructions. In a typical network traffic at any given time, there may be more active environments than the processor, and several different environments can be assigned to a single processor at the same time. In the worst case, it is possible to assign all packets to only one processor, causing them to be overloaded. However, the network that runs the actual application is not a problem. The single-wafer protocol conversion architecture is cellular, allowing the design to be scaled (cust°m). In the meter, the number of processor cores and embedded memory blocks can be easily adapted to the needs of the application without significant design changes. For example, in the following network applications, the computing power required for a multi-processor protocol converter operating at a line speed of 10 Gb/s can be varied, as will be described below. It should be noted that in this respect, the protocol converter design actually processes and delegates to the network of each sub-processor and the division of the agreed resources by layer design, embedded memory, by different processing. "Applicable to" other network processing functions, without limitation, means that the processor is independent of a special network function, which differs from the prior art in that each processor only has a given potential function. Such as TCP/IP offload function, frame classifier function, pre-processing function, hardware accelerator, (4) C or data processing function, etc. In the single-chip protocol converter 350 of the present invention, or as an embedded macro core 55 Well, as long as there is enough processing power to scale the intended operation, the same processor and area memory can perform different network functions (ie, operation ^ some examples are listed below: one charm-conversion: 14 Processor (ie, two 8-core processor clusters). One includes 64-bit tubyte memory, 64 κ-bit data SRAM, P〇werPC440 (or other processor), and circle 5 The other macro chips shown in Figure 6 would require approximately 35 square millimeters in a 13 m ASIC technology. T.CP/JP#p . 3 2 processors, meaning four processor clusters, 98784 .doc -26- 1338231 Assuming the m κ byte of _ cache memory and i28 〖 byte of SRAM, this will require 5 〇 square millimeters in the above technology. 128 processors (estimated) That is, 16 processor cores. Heart, t set. Assuming 5UK bytes! _ cache memory and SRAM bit SRAM, the resulting chip will be about 15 〇 square millimeter. Or when the market conditions change, the same basic architecture (we can build # more sub-processors within the chip required for a given application or as a s〇c embedded macro) is applicable. For example The architecture is adapted to reconfigure the wafer into a firewall processor, or, a protocol converter " or even reconfigure into a completely new design or agreement that is still unconstructed. Therefore, a basic The design scales to many applications and potential functions. It can be selected by simply redesigning the wafer. The number of processors and memory units, followed by the appropriate software code or version level to change the core or network function of the chip or embedded macro. By statistical simulation of the core performance of the intended new function, select The number of selected processors and memory cells for the new protocol function. As mentioned earlier, the protocol converter can be constructed as a stand-alone integrated circuit chip on a separate semiconductor substrate, or embedded as a type of s〇c A macro of design, FPGA, DSP, etc. An example of a co-transformer constructed as an embedded macro core in SoC (system wafer) design 400 in accordance with a second aspect of the present invention is depicted in FIG. . It should be understood that since all required is only a standard bus interface or bridge for transmitting the completed data packet (converted or unconverted), the macro is not limited to the Soc design, but may also be constructed. Standard SP 4 controller, fpga 'ASIC' and microprocessor. The term "s〇c, · 98784.doc • 27· 1338231 is generally used to define a system on a wafer having at least one processing element, a memory element, an I/O interface, and attached to a regional bus or multiple The core of the bus on the wafer. As shown in FIG. 8, one embodiment of a SoC 400 including an embedded protocol converter macro core 550 (also depicted in FIG. 5 as a stand-alone wafer design) includes a CPU or MPU component 425 (here illustrated as IBM) PowerPC 440, however, it should be understood that in addition to PowerPC, other SoC processor cores such as ARM, MIP, and the like can be constructed); a regional SoC bus 210 (illustrated in Figure 8 as IBM CoreConnect PLB 210 ( Processor area bus)); an optional slow bus (illustrated in Figure 8 as IBM's on-wafer bus or OPB 240); and any number of SoC components (cores) such as those shown in Figure 1, It includes an SRAM 415, a DDR controller 418, a PCI-X bridge 422, a DMA 426 and DMA controller 428, an OPB bridge 429, and the like. The OPB 240 is connected to other devices including one or more of the following devices: a RAM/ROM peripheral controller 445a, an external bus master 445b, a UART device 445c, an inter-bus (I2C) interface 445d, and a general-purpose I/O interface 445e. And gateway interface 445f. The embodiment depicted in FIG. 8 includes a self-contained, processor-based protocol converter 550 that is integrated into a single-chip protocol converter or embedded macro core in SoC system 400, and via bridge 224 and PLB. 210 communicates with the processor core 425 bus. As depicted, the processor-based protocol converter macro core 550 includes one or more processor clusters 200, one or more regional memory banks 215 for storing data and/or instructions, such as the depicted implementations. The area interconnecting member of the interleaved exchanger 220 in the example, or equivalently 98784.doc -28-1338231 a construction or χX exchanger and the like, and at least for at least two network protocols Two media access control (MAC) interface units 175, 185 (media access control). As shown in Figure 8, there are individual externals that can be physical layer wafers (PHYs), SoC embedded MAC or PHY functions, or external protocol chips.
MAC介面裝置475、485的此等MAC單元175、185介面與SoC 或主機卡分離。亦即,圖8中所示之MAC 475、485可包含 光纖通道硬體協助核心及乙太網路1〇/1 〇〇/1 G EMAC,然 而,可包括用於任何協定之介面,及於晶片外被整合為獨 立MAC或PHY裝置(實體層晶片),或整合於區域卡上之 晶片的外部。在諸如自動應用或家庭網路連接之今日慢速 應用中’此可能為吾人所需要的。 圖9說明嵌入式s〇C内之單個封包至外部協定介面之協定 轉換的處理流程。當巨集内之區域記憶體控制封包之處理 與DMA傳送時,封包可在協定轉換自巨集出來之後,自第 介面傳送至第二I/O介面’或輸出至s〇c匯流排21〇且最終 至主機系統匯流排223(例如,如圖9中所描繪之PCI-X 133 MHz或類似均等物)。較佳地,通信為雙工(dupiex)的,意 即’包括能夠以發送與接收方向進行通信之鏈接。藉由圖9 中所描繪之實例,展示入至8封包轉換具有一根據第一協定 之封包,例如,其中,在S〇c外部協定晶片、巨集4EMAC(外 部乙太網路〗/〇)介面485處接收1G乙太網路封包,且將該1(3 乙太網路封包轉遞至轉換器巨集之EMAC185内部FIF〇,並 於乂錯式交換器220上進入該巨集之内部記憶體215中。巨 集之内部記憶體(SRAM、DRAM等等)藉由工作提示而收集 98784.doc •29- 乙太肩路封包,且晶片上控制器功能經由交錯式交換器而 將乙太網路封包傳送至如圖9中所示之,,叢集的子處 器應瞭解,如本文所述,由於並行、管線運作及多線 程,協定轉換處理在用於協定轉換之嵌入式協定轉換器巨 集核心55G内於若干子處理器中均等中止,j^干轉換處理 與一處理器相匹配。因此,即使僅有一輪,例如,描繪了 A自”proc.i”至”pr〇c 3"而行至"B",但實際上封包已在 ;轉換之若干處理器中被分割。儘管圖9中描繪了協定A 至B封包轉換,但替代處理將包含在"B完成"之另一側上使 協定B,封包進入並於協定#】(八側)上退出。應瞭解,b,及 A’處理流程將位於兩路雙工鏈接之另一側上。 在嵌入式協定轉換器巨集核心550中所包括之處理元件 上執仃實際協定轉換碼。巨集具有若干並行運行之處理 P0、——組用於每一方向(意即,接收及傳輸卜此等 處理中每一者係映射成標記為Proc.0 ' Pr〇c j、Pr〇c 2等等 之巨集處理元件中的一個。在所述實施例中提供三種不同 處理以使其運行於嵌入式SoC巨集之處理器上,該等處理勺 括: i 1 ‘金:向處理器配置任務之處理 2·1定處理:協定處理任務 3.达_1_ :設定DMA SoC控制器以將封包自核心之内部記 憶體傳送出來,以及在已將封包傳送之後執行一些記憶體 管理功能。 〜 此等處理之間的通信係經由諸如圖7中所描繪之記憶體 98784.doc -30· 1338231 中之基本專用區域的工作佇列得以完成。閒置處理藉由週 期性輪詢其工作仔列而判定其是否具有申請令之工作。 協疋巨集核心建構所有所需之特定協定任務,諸如將資 料分割成一系列1?封包、產生1?封包標頭、產生乙太網路 封包等等,且將封包移回至乙太網路MAC巨集。若存在再 人傳輸封包之需要,如協定所界定的,則此在無來自s〇c 區域處理11干擾之情況下發生,㈣包/資料傳送請求或實 • 際資料傳送為外部DMA或DDR記憶體所需要◊在封包"A” 至B之協定轉換之後,該封包被傳送回至區域晶片上巨集 。己隐體,且資料之一端為訊號。自彼處,區域巨集記憶體 及嵌入式區域DMA控制器經由交錯式交換器、光纖通道介 面及最終外部I/O介面而傳送經轉換之封包。或者,光纖通 道介面可具有一嵌入式控制器以傳輸最終經轉換封包。 若需要,外部SoC DDR 41 8或DMA 426可額外地請求封包 經由匯流排橋接器而被傳送至區域s〇c匯流排且最終到達 • 主機系統匯流排223上,其與自協定轉換器介面發送封包相 對。同樣地,主機匯流排223可向巨集發送用於協定轉換之 一封包或多個封包且接收一經轉換回的完成封包或視個別 協定及封包類型而傳送至外部協定介面475、485。 圖10說明一接收自主機匯流排223且傳送至外部s〇c:介面 485以用於傳輸之單個封包之協定轉換的例示性處理流 程。例如在圖10中所說明之實例處理流程中,自主機系統 匯流排223發送(源自該主機系統匯流排223) —光纖通道協 定封包並將其發送至SoC協定轉換器巨集35〇以用於轉換及 98784.doc -31 - 1338231 傳輸至外部乙太網路介面1 G EM AC介面485。如圖1 〇中所 不,SoC主處理器(P〇werpc 44〇)設定一資料處理請求且經 由匯流排橋接器224而將該請求及外部Ddr記憶體中之資 料的指標發送至協定轉換器巨集核心550。在所描繪之實施 例中產生中斷訊號,但此可藉由向專用暫存器或預先指 疋之3己憶體位置寫入資料來建構。 嵌入式協定轉換器巨集核心55〇識別該請求且啟動dma 引擎以將資料自外部主機或SoC區域記憶體傳送至巨集區 域6己憶體。經由區域s〇C匯流排及橋接器匯流排而將資料 (例如’封包# B)傳送至巨集之區域記憶體215。當傳輸了 所有資料時,SoC處理器被通告任務完成。此可藉由向 PowerPC44〇發送—中斷或寫入由p〇werpC44〇定期輪詢之 一些預先界定的位置而得以建構。 藉由工作仵列、收集序列及一作為任務分派處理器 (MT)(如圖7中所示)之處理器,該光纖通道封包⑻藉由如本 文所述之封包分割而得以自巨集之區域記憶體傳送至多個 子處里器 旦完成協定轉換,例如,自協定"b"(光纖通 〔類型)至協弋A"(超高速乙太網路類型),則所完成之封包 丄由交錯式交換器22〇而傳送回至區域巨集之記憶體。區域 DMA請求將封包·,Α,,自巨集之記憶體傳送至外部乙太網路 介面485以完成傳輸及轉換。 本文所述之方法考慮了數目經減少之I/O卡及晶片、經極 大改良之可撓性、網路功能較高密度(附著至一區域或主 機匯流排之更多處理器)、較高協定處理速度 '改良之頻 98784.doc -32- 1338231 寬、較少之記憶體競爭、終端系統用戶之可撓性、網路設 計/升級之簡易’及較之今日現存協定轉換而言經極大改良 之協定轉換。 儘管已結合本發明之說明性及經執行之實施例而特定地 展示及描述了本發明,但熟知此項技術者應瞭解,在不脫 離僅受限於附加申請專利範圍之範疇的本發明精神及範嘴 的情況下,可於其中進行形態及細節上的前述及其它改變。 _ 【圖式簡單說明】 圖1為說明根據先前技術之關於採用單個處理器之典型 SoC的方塊圖; 圖2為描繪根據先前技術之今日市場上採用處理加速器 之典型SoC的方塊圖; 圖3為描繪根據先前技術之M〇tor〇ia MPC5554微控制器 (併入交錯式交換器之SoC)的方塊圖; 圖4為描繪根據先前技術之用於s an網路的Brocade之 φ SilkwormTM構造應用飼服器的方塊圖; 圖5描繪根據本發明之一實施例之單晶片協定轉換器核 心設計的例示性總視圖; 圖6為根據本發明之一實施例的經組態成自光纖通道至 超高速乙太網路單晶片協定轉換器之協定核心的例示性說 明; 圖7指繪根據本發明之一實施例的單晶片協定轉換器内 之例示性記憶體配置; 圖8描繪根據本發明之一第二態樣的在SoC設計中經組態 98784.doc •33- 1338231 成嵌入式巨集的協定轉換器晶片; 圖9描繪根據本發明之自SoC巨集内至圖8系統外部I/O之 SoC協定轉換器封包資料流;且 圖10描繪根據本發明之自主機匯流排至SoC裝置外部封 包傳遞介面之例示性SoC協定轉換器封包資料流。 【主要元件符號說明】The MAC units 175, 185 of the MAC interface devices 475, 485 are separated from the SoC or host card. That is, the MAC 475, 485 shown in FIG. 8 may include a Fibre Channel hardware assist core and an Ethernet 1/1 〇〇/1 G EMAC, however, may include an interface for any protocol, and The outside of the wafer is integrated into a separate MAC or PHY device (solid layer wafer) or integrated outside the wafer on the area card. In today's slow applications such as automated applications or home network connections, this may be what we need. Figure 9 illustrates the processing flow for a contracted conversion of a single packet to an external protocol interface within the embedded s〇C. When the area memory control packet processing and DMA transfer in the macro set, the packet may be transferred from the interface to the second I/O interface or output to the s〇c bus line 21 after the protocol is converted from the macro. And eventually to the host system bus 223 (eg, PCI-X 133 MHz or similar equalizer as depicted in Figure 9). Preferably, the communication is dupiex, meaning "including a link capable of communicating in the direction of transmission and reception. With the example depicted in Figure 9, the display into 8 packet conversion has a packet according to the first protocol, for example, where the external protocol chip, macro 4EMAC (external Ethernet/〇) in S〇c The interface 485 receives the 1G Ethernet packet, and forwards the 1 (3 Ethernet packet to the EMAC 185 internal FIF port of the converter macro, and enters the interior of the macro on the error exchanger 220. In memory 215, the internal memory (SRAM, DRAM, etc.) of the macro collects 98784.doc • 29-Ether shoulder package, and the controller function on the chip passes the interleaved switch. The network packet is transmitted as shown in Figure 9, and the sub-sector of the cluster should understand that, as described in this paper, due to parallelism, pipeline operation, and multi-threading, the protocol conversion process is implemented in the embedded protocol conversion for protocol conversion. The macro of the macro 55G is equally suspended in several sub-processors, and the conversion process is matched with a processor. Therefore, even if there is only one round, for example, A is drawn from "proc.i" to "pr〇c". 3"and go to "B", but in fact the packet is already in; It is split among several processors. Although the protocol A to B packet conversion is depicted in Figure 9, the alternative processing will be included on the other side of "B completion" to make the agreement B, the packet enters and is agreed to #] ( Exit on the eight sides. It should be understood that the b, and A' processing flow will be on the other side of the two-way duplex link. The actual agreement is enforced on the processing elements included in the embedded protocol converter macro core 550. The conversion code. The macro has a number of parallel running processes P0, the group is used for each direction (ie, each of the processes of receiving and transmitting, etc. is mapped to be labeled Proc.0' Pr〇cj, Pr One of the macro processing elements of 〇c 2, etc. Three different processes are provided in the embodiment to operate on the processor of the embedded SoC macro, the processing spoons including: i 1 'Gold: Processing Tasks to the Processor 2. 1 Processing: Agreement Processing Task 3. Up_1_: Set the DMA SoC controller to transfer the packet from the internal memory of the core, and execute some memory after the packet has been transferred Management function. ~ between these processes The communication system is completed via a work queue such as the basic dedicated area in memory 98784.doc -30· 1338231 depicted in Figure 7. The idle process determines whether it has an application order by periodically polling its work queue. The work of the Coordination Hub core builds all the specific protocol tasks required, such as splitting the data into a series of 1 packets, generating 1 packet headers, generating Ethernet packets, etc., and moving the packets back to B. Too much network MAC macro. If there is a need for a retransmission packet, as defined by the agreement, this will occur without interference from the s〇c area, (4) packet/data transmission request or actual data. The transfer to external DMA or DDR memory requires that after the protocol "A" to B protocol conversion, the packet is transferred back to the macro on the regional wafer. It is hidden, and one end of the data is a signal. From there, the regional macro memory and embedded area DMA controllers transmit the converted packets via interleaved switches, Fibre Channel interfaces, and finally external I/O interfaces. Alternatively, the fiber channel interface can have an embedded controller to transmit the final converted packet. If desired, the external SoC DDR 41 8 or DMA 426 can additionally request that the packet be transferred to the regional s〇c bus via the bus bridge and ultimately to the host system bus 223, which is sent with the self-protocol converter interface The packet is relative. Similarly, host bus 223 can send a packet or packets for protocol conversion to the macro and receive a converted complete packet or transmit to external protocol interface 475, 485 depending on the individual protocol and packet type. Figure 10 illustrates an exemplary process flow for a contracted conversion of a single packet received from host bus 223 and transmitted to an external sc: interface 485 for transmission. For example, in the example process flow illustrated in FIG. 10, the slave system bus 223 is sent (from the host system bus 223) - the Fibre Channel protocol packet is sent to the SoC protocol converter macro 35. Transfer to the external Ethernet interface 1 G EM AC interface 485 for conversion and 98784.doc -31 - 1338231. As shown in FIG. 1 , the SoC main processor (P〇werpc 44〇) sets a data processing request and sends the request and the indicator of the data in the external Ddr memory to the protocol converter via the bus bridge 224. The core of the macro is 550. An interrupt signal is generated in the depicted embodiment, but this can be constructed by writing data to a dedicated register or a pre-pointed location. The embedded protocol converter macro core 55 identifies the request and launches the dma engine to transfer the data from the external host or SoC area memory to the macro area 6 memory. Data (e.g., 'packet #B) is transmitted to the regional memory 215 of the macro via the regional s〇C bus and the bridge bus. When all the data is transferred, the SoC processor is notified that the task is completed. This can be constructed by sending to the PowerPC 44 an interrupt or writing some pre-defined locations periodically polled by the p〇werp C44. The Fibre Channel packet (8) is self-assembled by packet partitioning as described herein by a work queue, a collection sequence, and a processor as a task dispatch processor (MT) (as shown in Figure 7). The area memory is transferred to multiple sub-machines to complete the protocol conversion, for example, from the agreement "b" (fiber-optic type) to the agreement A" (ultra-high-speed Ethernet type), then the completed packet is The interleaved switch 22 is transferred back to the memory of the regional macro. The area DMA request transfers the packet, Α, and memory from the macro to the external Ethernet interface 485 for transmission and conversion. The methods described herein take into account a reduced number of reduced I/O cards and chips, greatly improved flexibility, higher density of network functions (more processors attached to a zone or host bus), higher Agreement processing speed 'improved frequency 98784.doc -32- 1338231 wide, less memory competition, end system user flexibility, network design / upgrade easy' and compared to today's existing agreement conversion Improved agreement conversion. Although the present invention has been particularly shown and described with respect to the embodiments of the present invention and the embodiments of the present invention, it should be understood by those skilled in the art In the case of a versatile mouth, the foregoing and other changes in form and detail may be made therein. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram illustrating a typical SoC employing a single processor in accordance with the prior art; FIG. 2 is a block diagram depicting a typical SoC employing a processing accelerator on the market today according to the prior art; FIG. To depict a block diagram of a M〇tor〇ia MPC5554 microcontroller (incorporated with an interleaved switch SoC) according to the prior art; FIG. 4 is a diagram depicting Brocade's φ SilkwormTM construction application for s an network according to the prior art. FIG. 5 depicts an exemplary general view of a single wafer protocol converter core design in accordance with an embodiment of the present invention; FIG. 6 is configured from a fiber channel to an embodiment of the present invention to Illustrative illustration of a protocol core of an ultra-high speed Ethernet single-chip protocol converter; FIG. 7 illustrates an exemplary memory configuration within a single-wafer protocol converter in accordance with an embodiment of the present invention; FIG. One of the second aspects of the protocol converter chip configured 98784.doc • 33 - 1338231 into an embedded macro in the SoC design; Figure 9 depicts the self-SoC macro set according to the present invention to Figure 8 External system I / SoC packet data protocol converter stream of O; and Figure 10 depicts the present invention from the host bus to an external apparatus SoC interface seal embodiment of the packet transfer protocol converter SoC exemplary packet data flow. [Main component symbol description]
15 ' 230 ' 415 區域SRAM記憶體單元 18 、 418 DDR控制器 20 糸統晶片設計 21 區域處理器匯流排(PLB) 22 ' 422 PCI-X橋接器 24 晶片上周邊匯流排(OPB) 25 PPC 440(Power PC) 25 處理器核心/PPC440 26 、 426 DMA 28 、 428 DMA控制器 29 ' 429 OPB橋接器 33 處理器核心計時器 35 中斷控制器 39 專用處理器核心(加速器) 39a、39b 額外專用處理器核心 45a ' 445a RAM/ROM周邊控制器 45b、445b 外部匯流排主控器 45c 、 445c UART裝置 98784.doc •34- 133823115 ' 230 ' 415 Area SRAM Memory Unit 18 , 418 DDR Controller 20 System Chip Design 21 Area Processor Bus (PLB) 22 ' 422 PCI-X Bridge 24 Wafer Peripheral Bus (OPB) 25 PPC 440 (Power PC) 25 processor core / PPC440 26, 426 DMA 28, 428 DMA controller 29 ' 429 OPB bridge 33 processor core timer 35 interrupt controller 39 dedicated processor core (accelerator) 39a, 39b additional dedicated processing Core 45a ' 445a RAM/ROM Peripheral Controller 45b, 445b External Busbar Master 45c, 445c UART Device 98784.doc • 34- 1338231
45d ' 445d IC間匯流排(I2C)介面 45e ' 445e 通用I/O介面 45f > 445f 閘道介面 50 媒體存取控制(MAC)協定裝置 72 交錯式交換器 75 SoC設計 78 外部I/O橋接器 100 Brocade系統 102 光纖通道至光纖通道路由 104 iSCSI至FC橋接 110 光纖通道至FC-IP轉譯 175 、 185 媒體存取控制(MAC)介面單元 190 光纖通道通信鏈接 195 超高速乙太網路通信鏈接 200 處理器叢集 205 處理器核心 208 指令快取記憶體(I-快取記憶體) 210 SoC處理器區域匯流排 215 區域記憶體組 220 交錯式交換器 223 外部主機系統匯流排 224 匯流排橋接器巨集 225 算術邏輯單元(ALU) 226 暫存器檔案 98784.doc -35- 1338231 227 指令序列器 240 249 259 260 270 275 28045d ' 445d Inter-IC Bus (I2C) Interface 45e ' 445e Universal I/O Interface 45f > 445f Gateway Interface 50 Media Access Control (MAC) Protocol Device 72 Interleaved Switch 75 SoC Design 78 External I/O Bridge 100 Brocade System 102 Fibre Channel to Fibre Channel Routing 104 iSCSI to FC Bridging 110 Fibre Channel to FC-IP Translation 175, 185 Media Access Control (MAC) Interface Unit 190 Fibre Channel Communication Link 195 Ultra High Speed Ethernet Communication Link 200 Processor Cluster 205 Processor Core 208 Instruction Cache Memory (I-Cache Memory) 210 SoC Processor Area Bus 215 Area Memory Group 220 Interleaved Switch 223 External Host System Bus 224 Bus Cascade Macro 225 Arithmetic Logic Unit (ALU) 226 Register File 98784.doc -35- 1338231 227 Instruction Sequencer 240 249 259 260 270 275 280
285 290 300 350 400 425 OPB 工作佇列 出埠工作佇列 處理區塊 處理區塊 記憶體區域 記憶體 程式碼 工作佇列 光纖通道至超高速乙太網路之單晶 片協定轉換器 基本協定轉換器晶片 SoC(系統晶片)設計 CPU或MPU元件285 290 300 350 400 425 OPB Worklist Lists Work Lines Processing Blocks Processing Blocks Memory Area Memory Codes Work Array Fibre Channel to Ultra High Speed Ethernet Single Chip Protocol Converter Basic Compact Converter Chip SoC (System Chip) Design CPU or MPU Component
475 、 485 550 外部MAC介面裝置 協定轉換器巨集核心 98784.doc 36-475, 485 550 External MAC Interface Device Protocol Converter Macro Core 98784.doc 36-
Claims (1)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/768,828 US7412588B2 (en) | 2003-07-25 | 2004-01-30 | Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200540644A TW200540644A (en) | 2005-12-16 |
| TWI338231B true TWI338231B (en) | 2011-03-01 |
Family
ID=34911294
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW94100086A TWI338231B (en) | 2004-01-30 | 2005-01-03 | A single chip protocol converter |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP4088611B2 (en) |
| TW (1) | TWI338231B (en) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4376862B2 (en) | 2005-12-20 | 2009-12-02 | 富士通テン株式会社 | Communication message conversion apparatus and communication message conversion method |
| JP4807502B2 (en) * | 2006-03-10 | 2011-11-02 | 日本電気株式会社 | I/O bridge circuit and interrupt signal control method |
| JP4869123B2 (en) * | 2007-03-28 | 2012-02-08 | 株式会社日立製作所 | Storage system |
| US8489762B2 (en) * | 2007-07-05 | 2013-07-16 | Coherent Logix, Incorporated | Transmitting and receiving control information for use with multimedia streams |
| FR2925187B1 (en) * | 2007-12-14 | 2011-04-08 | Commissariat Energie Atomique | SYSTEM COMPRISING A PLURALITY OF TREATMENT UNITS FOR EXECUTING PARALLEL STAINS BY MIXING THE CONTROL TYPE EXECUTION MODE AND THE DATA FLOW TYPE EXECUTION MODE |
| US8700821B2 (en) * | 2008-08-22 | 2014-04-15 | Intel Corporation | Unified multi-transport medium connector architecture |
| JP2010278897A (en) * | 2009-05-29 | 2010-12-09 | Renesas Electronics Corp | Communication data processing circuit and communication data processing method |
| KR101101342B1 (en) * | 2010-02-18 | 2012-01-02 | 한국외국어대학교 연구산학협력단 | CAN-based TMO real time distributed inter-process communication method |
| JP2015065507A (en) * | 2013-09-24 | 2015-04-09 | 日本電気株式会社 | Gateway device, communication network and gateway device control method |
| US9311044B2 (en) * | 2013-12-04 | 2016-04-12 | Oracle International Corporation | System and method for supporting efficient buffer usage with a single external memory interface |
| US11811724B2 (en) * | 2020-06-20 | 2023-11-07 | Opticore Technologies, Inc. | Method and system for resolving UNI port information on an external SOC/switch based on a mac-table cache |
| CN115866081B (en) * | 2022-11-09 | 2024-02-27 | 燕山大学 | SOC-based industrial Ethernet protocol conversion method |
-
2004
- 2004-07-22 JP JP2004213847A patent/JP4088611B2/en not_active Expired - Fee Related
-
2005
- 2005-01-03 TW TW94100086A patent/TWI338231B/en not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| TW200540644A (en) | 2005-12-16 |
| JP2005216283A (en) | 2005-08-11 |
| JP4088611B2 (en) | 2008-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7412588B2 (en) | Network processor system on chip with bridge coupling protocol converting multiprocessor macro core local bus to peripheral interfaces coupled system bus | |
| JP4542845B2 (en) | Self-contained processor subsystem and network processor as building blocks for system-on-chip design | |
| TWI338231B (en) | A single chip protocol converter | |
| US8930618B2 (en) | Smart memory | |
| US8675681B2 (en) | Communication within an integrated circuit including an array of interconnected programmable logic elements | |
| Kavaldjiev et al. | A survey of efficient on-chip communications for soc | |
| Saponara et al. | Design of an NoC interface macrocell with hardware support of advanced networking functionalities | |
| Kim et al. | A scalable multi-chip YOLO accelerator with a lightweight inter-chip adapter | |
| Das | Architecture of multi-processor systems using networks on chip (NoC): An overview | |
| Wang et al. | A dynamic priority arbiter for Network-on-Chip | |
| Paramasivam | Network on-chip and its research challenges | |
| TWI498742B (en) | Dynamically configurable wireless data bus switch | |
| Attia et al. | Network interface sharing for SoCs based NoC | |
| Guruprasad et al. | Performance evaluation of network gateway design for NoC based system on FPGA platform | |
| Balle et al. | Inter-kernel links for direct inter-FPGA communication | |
| Fattah et al. | Transport layer aware design of network interface in many-core systems | |
| CN103744817A (en) | Communication transforming bridge device from Avalon bus to Crossbar bus and communication transforming method of communication transforming bridge device | |
| Siddagangappa et al. | An efficient asynchronous spatial division multiplexing router for network-on-chip on the hardware platform. | |
| TW594482B (en) | Information processing apparatus with open architectures | |
| Bertozzi et al. | An MPI implementation on the top of the Virtual Interface Architecture | |
| Ju et al. | Overview of inter-communication mechanism on multi-core processor | |
| Duarte | Networks on chip (NOC): design challenges | |
| Tudruj | " Connection by communication" paradigm for dynamically reconfigurable multi-processor systems | |
| Sekhar | Network on chip design on FPGA with advanced Hardware and Networking Functionalities. | |
| Rao | Contrast Enhancement Techniques for Gray Scale Images |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MK4A | Expiration of patent term of an invention patent |