TW589822B - Ethernet switching architecture and dynamic memory allocation method for the same - Google Patents

Ethernet switching architecture and dynamic memory allocation method for the same Download PDF

Info

Publication number
TW589822B
TW589822B TW091101859A TW91101859A TW589822B TW 589822 B TW589822 B TW 589822B TW 091101859 A TW091101859 A TW 091101859A TW 91101859 A TW91101859 A TW 91101859A TW 589822 B TW589822 B TW 589822B
Authority
TW
Taiwan
Prior art keywords
link
packet
patent application
address
memory
Prior art date
Application number
TW091101859A
Other languages
Chinese (zh)
Inventor
Meng-Chi Hsu
Wei-Ren Lo
Original Assignee
Admtek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Admtek Inc filed Critical Admtek Inc
Priority to TW091101859A priority Critical patent/TW589822B/en
Priority to US10/150,252 priority patent/US7088730B2/en
Application granted granted Critical
Publication of TW589822B publication Critical patent/TW589822B/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing

Abstract

A dynamic memory allocation method of an Ethernet switching architecture includes providing a plurality of input ports and output ports, a shared memory, a first link RAM (random access memory), and a second link RAM. The second link RAM is employed as a FIFO (first in first out) device in sharing of both get-link and release-link operations. And six packet segments of a packet are linked with the first link RAM by a single linked-list. Accordingly, the transportation port counts and bandwidth can be increased.

Description

589822 五、發明說明(1) 【發明背景 本發明係關 置方法,尤其關 接收至傳輸的過 以動態配置一共 取’俾達提升網 目關拮% 鏈結串列 的寫入及言賣 於一種乙太網路交換結構之記憶體動態酉己 於一種乙太網路交換結構,其在一封包ώ 程中,提供了一最佳化的單一 享記憶體上該封包之封包分段 路交換之傳輸頻寬的目的。 _之据试 一共享記憶 封包在輸入埠及 埠之接收資料路 包將被儲存在此 輸出埠之傳輸資 由於其具有低成 優點,因此通常 Swi tching)的主 體結構係利用一单· 共 輸出璋之間的'一個交換 徑(path of data rece 共享記憶體,以及會被 料路徑(path of data 本、簡化設計需求、及 被用來當做區域網路交 要結構。589822 V. Description of the invention (1) [Background of the invention The present invention relates to a closing method, and particularly to receiving and transmitting the data through a dynamic configuration to obtain a total of 俾 up to increase the network threshold. The memory dynamics of the Ethernet switching structure is a kind of Ethernet switching structure, which provides an optimized single shared memory for the packet segment switching of the packet during a packet sale process. Purpose of transmission bandwidth. _According to the test, a shared memory packet will be stored in the input port and the received data packet will be stored in this output port. Because of its low cost, usually the main structure of SWITCHING uses a single · common output A 'path of data rece' shared memory, and a path of data, simplified design requirements, and used as the main structure of the regional network.

同記憶 機構。 iving) 分配及 transm 實施上 換(LAN 體做為網路 經由一輪入 所到達的封 傳輸至適f i 11 i ng) 〇 車乂為谷易的 在乙太網路交換中,一種簡單的配置方法係將一共享 δ己憶體劃分成複數個固定長度(f i xecj — 1 ength)為2K位元組 的連續 >料緩衝區(contiguous data buffers),將立當 作一先進先出(FIFO)裝置’以儲存自複數輸入埠所接收的 封包以及傳輸該封包至適當的輸出埠上。儘管這在硬體實 施上具有簡便性’然而當所接收的封包長度係相當小於該 固定長度時,將大大地降低了共享記憶體的使用效率。 在習知技術中’為了解決此一問題,通常將一共享記Same memory organization. iving) allocation and transm implementation (the LAN body is used as the network to reach the appropriate fi 11 in ng via a round-trip packet) 〇 The car is Gu Yi ’s simple configuration method in the Ethernet exchange. Divide a shared delta memory into a plurality of continuous > contiguous data buffers with fixed length (fi xecj — 1 ength) of 2K bytes, and treat the stand as a first-in-first-out (FIFO) device 'To store the packets received from the plural input ports and transmit the packets to the appropriate output port. Although this is convenient in terms of hardware implementation, when the length of the received packet is considerably smaller than the fixed length, the efficiency of using shared memory will be greatly reduced. In the conventional technology ’, in order to solve this problem,

第5頁 589822 五、發明說明(2) --- 憶體配置成複數個固定長度為256位元組的非連續資料緩 衝區(discontiguous data buffers)區塊,以儲存自複數 輸入埠所接收之封包分段(packet segments)。當複數封 包分段自各個不同的輸入埠到達之後,便開始將該共享記 憶體中空白的資料緩衝區指定給該複數封包分段。在此同 時,一和該共享記憶體有映射關係的鏈結RAM,會儲存該 複數封包分段所在區塊位址(bl〇ck address)對應的鏈結 位址(1 inked address)及其鏈結串列。藉由判斷該複數封 包分段所在區塊位址、對應的鏈結位址、以及所欲前往 輸出埠等資訊,該複數封包分段將分別被加入至其所欲 往之適當輸出埠的適當輸出佇列(〇utput queue)上。該輸 出仔列係代表著在傳輸資料路徑中這些等待著被傳輸至一 相對應輸出埠的封包流(Streain 〇f packets)。 圖1係一習知乙太網路交換結構。如圖所示,一共享 圮憶體1 0係配置成複數具有相同大小之資料緩衝區區塊 1、1,其包含:自由緩衝區儲槽(free buffer p〇〇1)12以及 複數已指定緩衝區(assign ed buffers)13,其中該自由緩 衝區儲槽12係貯有即將指定給待接收封包分段21的空白區 塊、以及該複數已指定緩衝區丨3中已被讀取完畢之封包分 段所釋回的空白區塊,以及該複數已指定緩衝區丨3係存 已從複數輸入埠2 0接受到的封包分段。此外,一鏈結 RAM30之鏈結位址空間31的個數,係配置成與該共享σ記憶 體10之區塊數目相同,其鏈結位址33和該共享記憶體1〇之 區塊位址1 4為一映射關係1 5。Page 5 589822 V. Description of the invention (2) --- The memory is configured into a plurality of discontiguous data buffers with a fixed length of 256 bytes to store the data received from the complex input port. Packet segments. After the plural packet segments arrive from different input ports, the blank data buffer in the shared memory is assigned to the plural packet segments. At the same time, a link RAM that has a mapping relationship with the shared memory will store the link address (1 inked address) and the link corresponding to the block address where the plurality of packet segments are located. Knot string. By judging the block address, the corresponding link address, and the desired output port of the multiple packet segment, the multiple packet segment will be added to the appropriate output port of the appropriate The output queue (〇utput queue). The output queue represents these packet streams (Streain 0f packets) in the transmission data path waiting to be transmitted to a corresponding output port. Figure 1 shows a conventional Ethernet switching structure. As shown in the figure, a shared memory 10 is configured as a plurality of data buffer blocks 1 and 1 having the same size, which includes: free buffer storage slot (free buffer p〇〇1) 12 and a plurality of designated buffers Area (assign ed buffers) 13, in which the free buffer storage tank 12 stores blank blocks to be assigned to the packet segment 21 to be received, and packets in the plurality of designated buffers 3 that have been read The blank block returned by the segment, and the plural designated buffer area 3, store the packet segments that have been received from the plural input port 20. In addition, the number of link address spaces 31 of a link RAM 30 is configured to be the same as the number of blocks of the shared sigma memory 10, and the link address 33 and the block bits of the shared memory 10 Address 14 is a mapping relationship 15.

589822589822

wί t! ΓD ,—已接收封包之六個封包分段之鏈結串列 3 =結位址分別為圖1中的#4、6、8、9、13及“,因 記憶體i。上的映射至此六個鍵結位址在該共旱 1〇〇、11〇 及 14〇 由 七分別為&5〇、70、9〇_ 田於这/、個封包分段的最後一個鏈結位 ^ 見被鏈結至下一已接收封包之第一個封包分段的鏈 = J因此,在此會以一旗標(flas)35將該鏈結位 址 θ至忒下一已接收封包之第一個封包分段的鏈結位 址# 1 0 |SJ時表不該鏈結位址# i 4所對應的區塊係最後一 2封包刀奴所在之區塊。另一方面,在該鏈結RAM30上以 虛線表不的一鏈結串列%之鏈結位址#〇、7、n、12、 1 5、3及5係則一已接收封包於讀取完畢後所釋放的鏈結位 址空間,其分別對應至該共享記憶體1〇上該自由緩衝區儲 槽12中的工白區塊&5、15、25、35、45、55及65,該等鏈 結位址空間可供下一待接收封包之封包分段鏈結所用,以 及其對應的空白區塊可供該下一待接收封包之封包分段儲 存所用。在單一傳送(Unicast)的條件下,一個封包係傳 輸至一個其所欲前往之輸出埠,因此,一個封包之各個封 包分段參照其鏈結位址3 3所構成的鏈結串列3 4,會依照其 欲前往的輸出埠40,被加入(insert)至一適當的對應輪/出 佇列37上,俾達成自該輸出埠40傳送該封包的目的^ 在一個封包之數個封包分段自接收至傳輸的過程中, 該鏈結RAM會依序進行下述四個步驟:第_步謂之獲取鍵 結(get link),亦即在一共享記憶體將其未使^用的資料緩wί t! ΓD, the link sequence of the six packet segments of the received packet 3 = the node addresses are # 4, 6, 8, 9, 13 and "in Figure 1, respectively, due to the mapping on memory i. At this point, the six link addresses are the last link positions of the packet segments at 100, 11 and 14 respectively, and 7 & 50, 70, and 90 respectively. See the chain of the first packet segment that is linked to the next received packet = J. Therefore, the link address θ will be marked to the first of the next received packet with a flag 35. The link address of a packet segment # 1 0 | SJ indicates that the block corresponding to the link address # i 4 is the block where the last 2 packets are located. On the other hand, in the chain The link address # of the link on the RAM30 is represented by a dotted line. The link address # 0, 7, n, 12, 15, 3, and 5 are links that are released after a received packet is read. Address space, which corresponds to the white blocks & 5, 15, 25, 35, 45, 55, and 65 in the free buffer storage tank 12 on the shared memory 10, respectively, such link addresses Space for the next packet to be received Used by the link, and its corresponding blank block can be used for packet storage of the next packet to be received. Under the condition of unicast, a packet is transmitted to an output port to which it wants to go. Therefore, each packet segment of a packet with reference to the link sequence 3 4 formed by its link address 3 3 will be inserted into an appropriate corresponding round / out according to the output port 40 to which it is going. On queue 37, the purpose of transmitting the packet from the output port 40 is achieved ^ In the process of receiving and transmitting several packets of a packet in segments, the link RAM will perform the following four steps in order: _Get predicate (get link), that is, in a shared memory to buffer its unused data

589822 五、發明說明(4) 衝區區塊指定給該數個封包分段時,在該鏈結RAM上找到 相應的鏈結位址空間;第二步謂之構成鏈結(make link),亦即將該數個封包分段的鏈結位址串接起來,形 成鏈結串列;第三步謂之讀取鏈結(read Hnk),為該鏈 結串列的讀取;以及第四步謂之釋放鏈結(release 1 ink),亦即將讀取完畢之鏈結串列的鏈結位址空間釋 放。以下的描述將分別從接收及傳輸兩方面來加以說明。 在接收方面,一封包之封包分段係先經由一輸入埠20 獲取可用的鏈結位址空間31,然後再寫入該等封包分段 21、以及將該等封包分段21構成一鍵結串列^並加入一輸 出仔列3J ’俾完成該等封包分段之接收。圖2係圖工習知乙 太網路交換結構在一封包接收過程中的控制流程圖之一 例。在圖1之輔助參照之下,說明其包含下列步驟: 步驟201 :獲取六個鏈結位址空間;即一個輸入埠2〇 判斷鏈結ram30上可供其使用的空白鏈結位址空間是i少 二9六個;是則繼續獲取鏈結位址空1否則跳至步驟 ^02 ° 步驟202 ·該輸入埠判斷是否存在—待 則進行步驟203,否則結束。 了匕疋 *門Λα驟二3夕收封包;即自所獲取之該六個鏈結位址 免間(如圖1之#4、β 〇 所映射區地Γ如ϋΜ 13及14)在共享記憶體10上 之區塊&50、70、90、100、140 及 150) 之第一區塊開始進行寫入。589822 V. Description of the invention (4) When the punch block is assigned to the packet segments, the corresponding link address space is found on the link RAM; the second step is to make the link (make link), also That is, the link addresses of the packet segments are concatenated to form a link series; the third step is to read the link (read Hnk), which is the read of the link series; and the fourth step This is called release 1 ink, and the link address space of the read chain sequence is about to be released. The following description will be explained from two aspects of reception and transmission. In terms of reception, the packet segmentation of a packet is obtained through an input port 20 first, and then the available link address space 31 is obtained, and then the packet segmentation 21 is written, and the packet segmentation 21 constitutes a key link. Concatenate ^ and add an output queue 3J '俾 to complete the reception of these packet segments. Fig. 2 is an example of a control flow chart of the Ethernet switching structure of a graphics worker in the process of receiving a packet. Under the auxiliary reference of FIG. 1, it is explained that it includes the following steps: Step 201: Obtain six link address spaces; that is, one input port 20 determines whether the blank link address space on the link ram30 is available for use. i less two 9 six; if yes, continue to obtain the link address empty 1 otherwise skip to step ^ 02 ° step 202 · The input port judges whether it exists-go to step 203 if not, otherwise end. After receiving the packet on the 2nd and 3rd of the evening, the gate Λα was received; that is, the six link addresses obtained from the acquisition (such as # 4 and β 〇 in the mapping area Γ such as ϋ 13 and 14) are shared. The first block of blocks & 50, 70, 90, 100, 140, and 150) on the memory 10 begins to be written.

589822 五、發明說明(5) 步驟m :寫入封包資料;依照目前該封包之封包分 段21在該鏈結RAM30上的鏈結位址33(如圖i之#4、6、8、 9、13及14)及其鏈結、以及在該共享記憶體1〇上的映射區 塊位址1 4寫入該封包的資料。 步驟205 :判斷是否已完成該封包之寫入;是則跳至 步驟2 0 8,否則跳至步驟2 〇 6。 步驟206 :判斷是否已完成一個區塊之寫入;是則跳 至步驟207,否則在該共享記憶體1()±進行下 入,回至步驟204。 步驟207 :進行鏈結,回至步驟204,進行下—區塊之 Ϊ進行鏈結包含:當該完成寫入之區塊為第-次鏈 :下一鏈結位址指定給目前的鏈結位址而不做 m二當該完成寫入之區塊不為第—次,則除 結位址鏈結至上一的鍵結位址外,並將目前的鏈 步驟208 :判斷該封包是否為好的封 位址騰給下-待接收封包再使用 2。 是則跳至步_,否:足夠的緩衝二 R上的鏈結位址空間包=收,並將該鍵姑 回至步驟2 02。 間31騰給下-待接收封包再使用’ 二驟21 0 ·判斷㈣包是否為第—個到達其輸出谭4〇 之封包;是進行步驟212,否則便跳至步驟川。589822 V. Description of the invention (5) Step m: write the packet information; according to the current link address 33 of the packet segment 21 of the packet on the link RAM 30 (see # 4, 6, 8, 9 in Figure i) , 13 and 14) and their links, and the mapped block address 14 on the shared memory 10 is written into the data of the packet. Step 205: Determine whether the writing of the packet has been completed; if yes, skip to step 208; otherwise, skip to step 206. Step 206: Determine whether the writing of one block has been completed; if yes, skip to step 207, otherwise proceed to the shared memory 1 () ±, and return to step 204. Step 207: Perform a link, and return to step 204, and proceed to the next-block. The link includes: when the completed block is the first-time chain: the next link address is assigned to the current link Address instead of m. When the completed writing block is not the first time, the link address is linked to the previous key address, and the current chain step 208: determine whether the packet is The good address is vacated to the next-to receive the packet and then use 2. If yes, go to step _, no: sufficient buffering the link address space packet on R = receive, and return this key to step 202. Time 31 is given to the next time-to-be-received packet and reused 'Second step 21 0 · Determine whether the packet is the first packet that reaches its output Tan 40; if yes, go to step 212, otherwise skip to step Chuan.

589822 五、發明說明(6) 步驟2 1 1 ·構成鏈結;即將該封包 入至該輸出埠40之後端位址(taii address)=:。串列加 封包j該鏈結RAM30上最後鏈結位址的旗標⑴⑻以寫入該 /驟212 ··寫入該封包在該鏈結ram 二r該封包在該鏈結_°上的^ 告知其輸出埠4 〇。 哪、、、口位址 ,傳輸方面,其係先讀取該等封包分段所在 結位址空間釋;==再將輸出璋上讀取完畢的鏈 包傳輸過程中的控制4圖1知二太:路交換結構在-封 下,說明其包圖之一例。在圖1之辅助參照之 =驟22G :-輪出埠4()判斷是否存在· 是則進行步驟221,否則結束。 Μ封包, 埠40之輸出仔列37上讀取其前端位址(一自錢出 步驟2^)。38以取件第一區塊位址,同時進行步驟222及589822 V. Description of the invention (6) Step 2 1 1 · Form a link; that is, put the packet into the output port 40 after the terminal address (taii address) = :. Add the packet in series. Flag of the last link address on the link RAM30 to write this / step 212. · Write the packet to the link ram II r The packet to the link _ ° ^ Tell its output port 4 〇. Which ,,, and port address, and transmission, it is to read the address space of the packet segment where these packets are segmented; == then control the process of transmission of the read chain packet on the output port 4 Figure 1 Second too: The road switching structure is under the seal, and an example of its packet diagram is explained. In the auxiliary reference of FIG. 1 = Step 22G:-Wheel exit port 4 () to determine whether it exists · If yes, go to step 221, otherwise end. The M packet reads its front-end address from the output array 37 of the port 40 (from the money out step 2 ^). 38 to pick up the address of the first block, and proceed to steps 222 and

W222 ·讀取鏈結;即依序讀取該封包之鏈結串列 34的鏈結位址,進行步驟224。 甲歹J 社:!取封包資料;即依照目前該封包在該鏈 上的鏈結位址33、以及在該共享記憶體10上的映 射區塊位址14進行封包資料的讀取,並跳至步驟227。 步驟224 ·判斷是否已完成最後一區塊之鍵結讀取;W222 Read link; that is, sequentially read the link addresses of the link sequence 34 of the packet, and proceed to step 224. A Jia J: Get the packet data; that is, read the packet data according to the current link address 33 of the packet on the chain and the mapping block address 14 on the shared memory 10, and skip Go to step 227. Step 224: Determine whether the key reading of the last block has been completed;

第10頁 五、發明說明(7) 是則跳至步驟225,否目,丨π 步驟m:判斷=至步驟222。 步驟226,否則跳至步驟2^在。下一待傳輸封包;是則跳至 步驟226 :載入最徭_ 之封包分段之最後區塊的一益區^龙之位址;載入該傳輪封包 封包之前端位址,進行步=7位址’以做為該下一待傳輪 步驟2 2 7 :判斷該待僖 失敗;是則進行步驟22t傳ί封包疋否已讀取完畢或傳送 步_ :釋::判斷。 段在該輸出埠上的鏈沾°相,即依序釋放已讀取完畢封包分 半驟9〇η ·、,鍵、、、°位址空間31,進行步驟229。 已办艾釋放· s判丨斷該鏈結RAM30上該鏈結位址空間31是否 已兀王釋放,疋則回至步驟220,否則回至步驟228。 如圖2及圖3所示’ _封包自接收至傳輸的過程中,其 封包之鏈結串列的進行所歷經的獲取鏈結、構成鏈結、讀 取鏈結及釋放鏈結四個步驟係由一鏈結RAM30所管理。就 此而言,每個封包自接收至傳輸所花費的時間,為該四個 鍵結步驟進行時所花費時間(4 χ時脈週期(cl〇ck period))、所使用的區塊數目(bi〇ck counts)、以及傳輪 埠數目(port counts)的乘積。雖然,在10/100 MB/s的乙 太網路交換中’此種鏈結串列方式尚不會對所需的頻寬造 成限制’然而在高速乙太網路交換中,由於一個封包的傳 輸時間必須小於672ns(即頻寬為iGb/s以上)、以及傳輸埠 數目與封包的傳輸時間成比例,因而傳輸埠數亦受到限 制0Page 10 V. Description of the invention (7) If yes, skip to step 225, otherwise, step m: judgement = go to step 222. Step 226, otherwise skip to Step 2 ^ is. The next packet to be transmitted; if yes, skip to step 226: Load the address of the benefit area ^ dragon of the last block of the most fragmented packet segment; load the front end address of the round packet, and proceed to step = 7 address' is taken as the next round to be transferred. Step 2 2 7: Judging the pending transfer fails; if yes, proceed to step 22t to transfer the packet. Whether the packet has been read or transmitted. _: Explain :: Judgment. The chain of the segment on the output port is in phase, that is, sequentially release the read packet in half step 90n · ,, key, ,, ° address space 31, and then proceed to step 229. A release has been performed. It is judged whether the link address space 31 on the link RAM 30 has been released by the king, and then returns to step 220, otherwise returns to step 228. As shown in Figure 2 and Figure 3, _ during the process of receiving and transmitting a packet, the packet chain has undergone four steps: obtaining the link, forming the link, reading the link, and releasing the link. It is managed by a link RAM30. In this regard, the time it takes for each packet to be received and transmitted is the time it takes to perform the four bonding steps (4 x clock period (cloc period)) and the number of blocks used (bi 〇ck counts) and the number of port counts. Although, in the 10/100 MB / s Ethernet exchange, 'this kind of link serialization method does not yet limit the required bandwidth', however, in high-speed Ethernet exchange, due to the The transmission time must be less than 672ns (that is, the bandwidth is more than iGb / s), and the number of transmission ports is proportional to the transmission time of the packet, so the number of transmission ports is also limited.

589822 五、發明說明(8) " ---- 在解決此一頻寬問題的方法上,雖然已有利用提高系 統時脈頻率(clock frequency)來縮短封包的傳輸時間以、 提昇頻寬,然而,這將會導致功率消耗以及可靠度不佳的 問題,因此必須尋求一種方法,係可以不用提高時脈至一 非容許範圍,而能獲致多埠以及高頻寬的乙太網路交換。 【發明的綜合說明】 本發明之一目的係為解決上述之乙太網路交換之傳輸 頻寬及其傳輸埠數受限的問題。本發明的另一目的在於提 供一種乙太網路交換結構之記憶體動態配置方法,俾提昇 乙太網路父換之傳輸頻寬及允許傳輸埠數增多的實施。 一本發明之乙太網路交換結構主要包含了一共享記憶 體、一第一鏈結RAM及一第二鏈結ram。 該二士589822 V. Description of the invention (8) " ---- In the method of solving this bandwidth problem, although the system clock frequency has been improved to shorten the transmission time of the packet to increase the bandwidth, However, this will cause problems of poor power consumption and reliability. Therefore, it is necessary to find a method that can achieve multi-port and high-bandwidth Ethernet switching without increasing the clock to a non-permissible range. [Comprehensive description of the invention] One of the objectives of the present invention is to solve the above-mentioned problem that the transmission bandwidth and the number of transmission ports of the Ethernet exchange are limited. Another object of the present invention is to provide a memory dynamic configuration method for an Ethernet switching structure, which can improve the implementation of the transmission bandwidth and allowable increase in the number of transmission ports of an Ethernet parent switch. An Ethernet switching structure of the present invention mainly includes a shared memory, a first link RAM and a second link ram. The two

Ram係做為一 a准杰山继苗 、u ^ 马先進先出表置,以共同管理一封包之封包分 二,寫入該共享記憶體時,其鏈結串列之鏈結位址空間在 处=輸入埠上的獲取、以及該等封包分段被讀取後,其鏈 =串列之鏈結位址空間在對應輸出埠上的釋放,藉此可將 術中鏈結步驟所花費的時間減半。此外,該封包並 ^ Γ 一鏈結位址」所形成之鏈結串列「一次」將所有該 紝》i分段之區塊位址寫入該共享記憶體,因此於構成鏈 2讀取鏈結日寺,其所花費的時間均與該共享記憶體上所 的區塊數無關。如此一來,封包傳輸的總時間將減至 μ沾的時脈時間與傳輸埠數的乘積。因此,在不提昇時 閒况下,吾人不只可獲得高頻寬的性能,同時亦可增The Ram system is used as a standard, first-in-first-out, and first-out-first-out table to jointly manage the packet address of a packet into two. When writing to the shared memory, the link address space of its chain is in series. At = the acquisition on the input port, and after the packet segments are read, its chain = the release of the link address space of the chain on the corresponding output port, so that the intraoperative link steps can be used. Time halved. In addition, the link sequence formed by the packet and ^ Γ a link address "writes all the block addresses of the 纴" i segment to the shared memory at a time, so it is read in the constituent chain 2. The time spent linking the Risi Temple has nothing to do with the number of blocks on the shared memory. In this way, the total packet transmission time will be reduced to the product of the clock time and the number of transmission ports. Therefore, in the idle state without improving, we can not only obtain high-frequency performance, but also increase

第12頁 589822Page 12 589822

加其傳輸埠數。 【較佳實施例的詳細說明】 圖4係依據本發明較佳實施例之乙太網路交 一簡單示意圖,其中相同的數字係參考 ^ 之 構兀件’而主要不同處有二:第一、提供了 —先』的、、口 構的自由鏈結RAM50,第二、提供了一較佳的「軍先出&结 串列」34a。其中,該自由鏈結RAM5〇之自由鍵結位—鍵介结 51之個數與鍵結rAM30之鏈結位址空間3丨之個數均二間 與共享記憶體ίο之區塊數目相同、以及該自由鍵結ram5〇 之自由鏈結位址寬度52係小於該鏈結RAM30之鏈結位址寬 度32,其作用在於共同管理一封包之數個封包分Q段之鏈結 串列構成前以及讀取後其鏈結位址空間之獲取及釋放。° !例而言’ 一已接收封包之六個封包分段係分別儲存 於共旱記憶體10上區塊位址為&60、8〇、100、11〇、12〇及 140的緩衝區區塊,以及其對應的鏈結位址分別為、 6、8、9、1 3及1 4。在本實施例中,由於該六個封包分段 結位址的構成及讀取係「一次完成」,因此該已接收 封匕之第一個封包的鏈結位址# 4將「一次鏈結」至下一 ^,收封包之第一個封包分段的鏈結位址#丨〇,而形成一 :「鏈結串列34a。另一方面,由於該自由鏈結RAM5〇為一 …進先出記憶體,因此當前一已接收封包之封包分段讀取 元畢後,其所釋放之鏈結位址# 0、7、11、1 2、1 5、3、5 將由該自由鏈結RAM50以先進先出的方式依序管理,俾供Add its transmission port number. [Detailed description of the preferred embodiment] FIG. 4 is a simple schematic diagram of an Ethernet network in accordance with a preferred embodiment of the present invention, in which the same numerals refer to the structural elements of the reference ^ and there are two main differences: the first Provides-first ", free link RAM50 of mouth structure, and second, provides a better" military first out & knot series "34a. Among them, the number of free bond locations of the free link RAM50—the number of bond links 51 and the link address space 3 of the bond rAM30 are both the same as the number of blocks in the shared memory, And the free link address width 52 of the free bond ram50 is smaller than the link address width 32 of the link RAM30, and its role is to jointly manage a number of packets in a packet and divide it into Q segments. Acquisition and release of its link address space. ° For example, 'the six packet segments of a received packet are stored in the buffer area on the co-dry memory 10, with the buffer addresses & 60, 80, 100, 110, 120, and 140, respectively. The blocks and their corresponding link addresses are, 6, 8, 9, 13 and 14 respectively. In the present embodiment, since the composition and reading of the six packet segment address are “one-time completed”, the link address # 4 of the first packet of the received packet will “link once” ”To the next ^, the link address # 丨 〇 of the first packet segment of the received packet forms one:“ link series 34a. On the other hand, since the free link RAM50 is one ... The memory is first out, so after the packet of the current received packet is read in segments, the released link address # 0, 7, 11, 1, 2, 1, 5, 3, and 5 will be released by the free link. RAM50 is managed sequentially in a first-in, first-out manner.

第13頁 589822 五、發明說明(10) 下一待接收封包鏈結之用。而該釋放之鏈結位址對應的缓 衝區區塊將釋回至共享記憶體1 〇上的自由緩衝區1 2,俾供 下一待接收封包儲存。 圖5係依據本發明較佳實施例之乙太網路交換詰構’ 描述其在一封包接收過程中構成鏈結之控制流程圖之一 例。而圖7係依據本發明較佳實施例之乙太網路交換詰 構’描述其在圖5中獲取鏈結之控制流程圖之一例。在 此,吾人將習知技術中的獲取鏈結控制給獨立出來,而由 該自由鏈結R A Μ 5 0負責管理。因此,在圖4之輔助參照下’ 將分別就同時進行之獲取鏈結及封包寫入兩者來說明其包 含步驟如下: (獲取鏈結,見圖7 ) 步驟300 :判斷一輸入埠20上所獲取的自由鏈結位址 空間5 1是否少於六個;是則進行步驟3 〇 1 ,否則進行 302。 步驟JU1 ·该輸入琿20向該自由鏈結RAM5()請求至,丨、_ 個自由鏈結位址空間5 1,回至步驟3 〇 〇。 ^ 步驟302 :判斷是否存在一待接收封包;是 驟3 0 0,否則結束。 、w王步 (封包寫入,見圖5 ) 步驟302 :判斷是否存在一待接收 驟303,否則結束。 封匕,疋則進行步 步驟303 :判斷在共享記憶體1〇上是否存在至、一 供該輸入瑋20使用之空白區,免;是則跳至步驟3〇4二二Page 13 589822 V. Description of the invention (10) Use of the next packet to be received. The buffer block corresponding to the released link address will be released back to the free buffer 12 on the shared memory 10 for storage for the next packet to be received. Fig. 5 is an example of a control flow chart for describing a link formation during a packet receiving process according to the Ethernet switching architecture 'according to a preferred embodiment of the present invention. FIG. 7 is an example of a control flowchart for acquiring a link in FIG. 5 according to the Ethernet switching architecture 'according to a preferred embodiment of the present invention. Here, I control the acquisition link in the conventional technology to be independent, and the free link R A 50 is responsible for management. Therefore, with the auxiliary reference in FIG. 4, the simultaneous acquisition link and packet write are described to illustrate the steps involved: (acquisition link, see FIG. 7) Step 300: determine an input port 20 If the obtained free link address space 51 is less than six; if yes, go to step 3 001; otherwise, go to 302. Step JU1 · The input 珲 20 requests the free link RAM 5 () to 丨, _ free link address spaces 51, and returns to step 3 00. ^ Step 302: Determine whether there is a packet to be received; Yes, step 3 0 0, otherwise end. W step (packet write, see Figure 5) Step 302: Determine whether there is a pending step 303, otherwise end. Seal the dagger, and then proceed to step Step 303: determine whether there is a to, a blank area for the input 20 in the shared memory 10, exempt; if yes, skip to step 304 22

第14頁 589822 五、發明說明(11) 放棄該封包之接收,跳回步驟3 0 2。 步驟3 0 4 ·接收封包;即刻接收該封包,並自該空白 區塊開始進行寫入,進行步驟305。 步驟305 :寫入封包資料;依照目前該封包之封包分 段在該鏈結RAM30上的鏈結位址33、以及該封包在該共享 記憶體1 0上的映射區塊位址1 4寫入該封包的資 ^行步 驟306 〇 f •,是則跳至 ;是則跳至 -位址的寫 步驟306 :判斷是否已完成該封包之寫入 步驟3 0 9,否則跳至步驟3 〇 7。 步驟307 :判斷是否已完成一區塊之寫入 步驟3 08,否則將在該共享記憶體丨〇上進 入,回至步驟305。 卜 步驟308 :進行鏈結;亦即 前鏈結位址,在該共享$愔_彳、 m位址指定給目 並回至步驟305。 卜&塊的寫入 步驟309 :判斷該寫入封 至步驟310,否則拒絕接收該 為好的封包;是則跳 回至步驟 鏈結位址空間31騰給下一彡/ 匕,並將該鏈結RAM3〇上的 302。 待接收封包再使用, 步驟310 :判斷輪出埠4〇 則跳至步驟311,否則玫棄談令具有足夠的緩衝區;是 上的鏈結位址空間31騰^封包之接收,將該鏈結30 驟302。 、、、°下一待接收封包再使用,回至步 步驟311 一次 $該封包之所有封包分段的區塊Page 14 589822 V. Description of the invention (11) Abandon the reception of the packet and skip to step 3 02. Step 3 0 4 Receive the packet; receive the packet immediately, and start writing from the blank block, proceed to step 305. Step 305: Write the packet data; write the packet address of the packet on the link RAM 30 on the link RAM 30, and the mapped block address 14 of the packet on the shared memory 10 to write Step 306 of the packet's data line • If yes, skip to; if yes, skip to-address write step 306: Determine whether the packet has been written to step 309, otherwise skip to step 3 〇7 . Step 307: Determine whether the writing of a block has been completed. Step 3 08, otherwise, it will be entered on the shared memory and return to step 305. Step 308: Perform linking; that is, the address of the front link, and the addresses $ 愔 _ 彳 and m are assigned to the target in this share, and the process returns to step 305. Bu & block write step 309: judge the write packet to step 310, otherwise refuse to accept the good packet; if yes, skip back to step link address space 31 to make room for the next frame / dagger, and This link is 302 on RAM30. Wait for the packet to be received and reuse it. Step 310: If the port is judged to be out of port 40, skip to step 311. Otherwise, there will be enough buffers for the talk; End 30 step 302. ,,, ° Reuse the next packet to be received, and go back to step 311 Once $ Block of all packet segments of the packet

589822 五、發明說明(12) — ~ ---- =;=2記。憶體10上已指定緩衝區13中的緩衝區 第Ξ,I:Λ斷該封包是否為到達其前往輸出瑋40之 第一封包,疋則進行步驟314,否則跳至步驟313。 _〇步上驟二3 :=結;將該封包之封包分段在該鍵結 = Μ30上的早-鏈結串聰3加人至該輸出物之後端位址 4 〇 ° ^驟314 :寫人該封包的旗標,以及將該封包之封包 ^段在該鏈結RAM30上初始鏈結位址(如#4)告知該輸出埠 圖6係依據本發明實施例之乙太網路交換結構,描述 其在-封包傳輸過程中讀取鏈結的流 係依據本發明實施例之乙女_政$ a u 例而圖8 釋放鏈結之流程圖』3”:交=;,描述其圖6中 釋放鏈結控制給獨立出來由^ '、將習知技術中的 理。在圖4之輔助參照下來;^該H鍵賴副負責管 封包讀取兩者說明其包含步刀驟别如^時進行之釋放鏈結及 (釋放鏈結,見圖8 ) 步驟320·判斷一輪ψ^:含ytnie 放的鏈結位址空間31 ;是出則埠』°之疋二有讀取封包後所釋 步驟321 :釋放鏈紝.f订’,1,否則結束。 交由該自由鏈_〇二==的鏈結位址空間 位址53之後端位址進行管 /依序掛入其鏈結 (封包讀取,見圖6)理回至步驟㈣。589822 V. Description of the invention (12) — ~ ---- =; = 2 notes. The buffer in buffer 13 on memory 10 has been designated. First, I: Λ judges whether the packet is the first packet to reach its output 40, and then proceeds to step 314, otherwise skips to step 313. _〇 step 2 on step 3: = knot; segment the packet on the bond = early-link Chuan Cong 3 on M30 and add it to the end address 4 〇 ° ^ step 314: Write the flag of the packet, and the initial link address (such as # 4) of the packet ^ segment on the link RAM30 to inform the output port. Figure 6 is an Ethernet exchange according to an embodiment of the present invention. Structure, describing the flow of reading the link during the packet transmission process. According to the example of Otome_ 政 $ au in the embodiment of the present invention, and FIG. 8 is a flowchart of releasing the link. “3”: cross = ;, describing FIG. 6 The release chain control is independent from the principle of the conventional technology. Refer to the auxiliary reference in Figure 4; ^ The H key is responsible for reading the packet. Both instructions indicate that it contains a step knife. ^ Release the link at the time and (Release link, see Figure 8) Step 320 · Judge a round of ψ ^: Link address space containing ytnie put 31; it is the second port after reading the packet. Interpretation step 321: release the link 纴 .f order ', 1, otherwise end. The free address _〇 二 == the link address space address 53 after the end address for pipe / sequential hanging Link (read packet, see FIG. 6) back to the processing step (iv).

589822589822

發明說明(13) 步驟3 2 2 :判斷早π + 驟323,否則結^ 否存在一待傳輸封包丨是則跳至步 步驟323 :靖孢鉍,, 出蟑40之輸出〆列37'出,列上之前端位址;亦即自該輸 塊之料H 上讀取其前端位址38,以取得第一區 *牛。同時進行步驟3 2 4及步驟3 2 6。 1 4 . 「一次」讀取該共享記憶體10上該封包之 、刀4又所在的區塊位址1 4,進行步驟3 2 5。 步驟325 :讀取封包資料;依照目前該封包在該鏈結 \AM30上的鏈結位址33、以及在該共享記憶體丨〇上的映射 區塊位址14進行該封包資料的讀取,並跳至步驟328。 步驟3 2 6 ·判斷是否有下一待傳輸封包;是則跳至步 驟3 2 7 ’否則跳至步驟3 2 8。 步驟327 :讀取鏈結;讀取該封包在該鏈結RAM30上的 單一鏈結串列34a,以及該封包在該鏈結RAM30上的鏈結串 列位址表(如 #4 — — , 做為下一待傳輪封包加入該封包之對應輸出佇列37之前端 位址參照,進行步驟3 2 8。Description of the invention (13) Step 3 2 2: determine early π + step 323, otherwise it will end ^ if there is a packet to be transmitted 丨 if yes, then skip to step 323: bismuth jing, output 40 of the roach 40 'out , List the front end address; that is, read the front end address 38 from the material H of the input block to obtain the first area * cattle. Perform steps 3 2 4 and 3 2 6 simultaneously. 1 4. Read the block address 14 of the packet on the shared memory 10 and the knife 4 again, and go to step 3 2 5. Step 325: Read the packet data; read the packet data according to the current link address 33 of the packet on the link \ AM30 and the mapping block address 14 on the shared memory. And skip to step 328. Step 3 2 6 • Determine whether there is the next packet to be transmitted; if yes, skip to step 3 2 7 ′; otherwise, skip to step 3 2 8. Step 327: Read the link; read the single link string 34a of the packet on the link RAM30, and the link string address table of the packet on the link RAM30 (such as # 4 — —, As the next to-be-passed round packet, add the front end address reference of the corresponding output queue 37 of the packet, and go to step 3 2 8.

第17頁 步驟3 2 8 ·判斷該封包是否已完全讀取完畢抑或傳送 失敗;是則回至步驟322,否則繼續本判斷 、 Η 589822 圖式簡單說明 圖1係一種習知乙太網路交換結構之簡單示音圖。 ., 双、、、同路父換、、古構在一封包接收禍妒士 的控制流程圖之一例。 m要收過私中 圖3係圖1習知乙太维ϊ >士接— 的控制流程圖n 4路父換⑽構在—封包傳輸過程中 f圖4立係国依據本發明較佳實施例之乙太網路交換結構之 間早不思圖。 圖5係依據本發明較佳實施例之乙太網路交換結構在 封包接收過私中構成鏈結的控制流程圖之一例。 圖6係依據本發明較佳實施例之乙太網路交換結構在 一封包傳輸過程中讀取鏈結的控制流程圖之一例。 圖7係依據本發明較佳實施例之乙太網路交換結構 圖5中獲取鏈結之控制流程圖之一例。 圖8係依據本發明較佳實施例之乙太網路交換結構 圖6中釋放鏈結之控制流程圖之一例。 ° 【符號說明】 1 〇〜共享記憶體 11〜緩衝區區塊 12〜自由緩衝區儲槽 1 3〜已指定緩衝區 14〜區塊位址 1 5〜映射 20〜輸入埠Step 3 2 8 on page 17 · Determine whether the packet has been completely read or the transmission has failed; if yes, go back to step 322, otherwise continue with this judgment. Η 589822 The diagram briefly illustrates that Figure 1 is a conventional Ethernet network exchange Simple phonogram of the structure. ., An example of the control flow chart of double ,, and the same father changing, and the ancient structure received a curse in a packet. Figure 3 is a private flowchart in Figure 1. Figure 4 shows the control flow of a conventional EtherVariety.> 4-way parent switch configuration in the packet transmission process. Figure 4 The Ethernet switching structures of the embodiments do not think about it. FIG. 5 is an example of a control flow chart of the Ethernet switching structure forming a link in a packet received privately according to a preferred embodiment of the present invention. Fig. 6 is an example of a control flow chart for reading a link during a packet transmission process of an Ethernet switching structure according to a preferred embodiment of the present invention. FIG. 7 is an example of a control flow chart for obtaining a link in FIG. 5 according to an Ethernet switching structure according to a preferred embodiment of the present invention. Fig. 8 is an example of a control flow chart for releasing a link in Fig. 6 according to a preferred embodiment of the Ethernet switching structure of the present invention. ° [Symbol description] 1 0 ~ shared memory 11 ~ buffer block 12 ~ free buffer storage slot 1 3 ~ designated buffer 14 ~ block address 1 5 ~ map 20 ~ input port

第18頁 589822 圖式簡單說明 21〜封包分段 30〜鏈結RAM 31〜鏈結位址空間 32〜鏈結位址寬度 3 3〜鍵結位址 3 4〜鍵結串列 3 4 a〜單一鏈結串列 3 5〜旗標 3 6〜鏈結串列 3 7〜輸出作列 3 8〜前端位址 4 0〜輸出埠 42〜前端位址 4 3〜後端位址 50〜自由鏈結RAM 51〜自由鏈結位址空間 5 2〜自由鍵結位址寬度 5 3〜自由鏈結位址Page 18 589822 Brief description of the diagram 21 ~ packet segment 30 ~ link RAM 31 ~ link address space 32 ~ link address width 3 3 ~ link address 3 4 ~ link string 3 4 a ~ Single link series 3 5 to flag 3 6 to link series 3 7 to output queue 3 8 to front end address 4 0 to output port 42 to front end address 4 3 to back end address 50 to free chain Junction RAM 51 ~ Free link address space 5 2 ~ Free bond address width 5 3 ~ Free link address

Claims (1)

589822 六、申請專利範圍 含:1.—種乙太網路交換結構之記憶體動態配置方法,包 複數=複數輸人埠及複數輪料,分別用以接收及傳逆 複數封包之封包分段; 久得适 在兮享記憶體,係—動態隨機存取記憶體,用以 琿傳送之前,儲存該等封包分=接收之後、自该複數輪出 #,第一鏈結RAM,其與又該共享記憶體為-映射關 _ . 早°己隐體上寫入該複數封包時,控制久加 該複數封包的封包分段之一翠 =控制各個 取4後數封包時,控制該等單一 貝 袒 平鏈、乡口串列的讀取;以及 η戽^仏I ΐ 一鏈結RAM,做為一先進先出裝置,用以並 輸入埠上的獲取、以及該等匕3結?址空間在對應 位址空間在對應輸出埠上的釋放。 ,、鏈、、,。 由上t申請專利範圍第1項之記憶體動態配置方法,其 _的位址寬度。 寬度係配置成不大於該第-鏈結 2ΐ申請專利範圍第1項之記憶體動態配置方法,盆 中该共享記憶體係配置成複壑且相 始,^ β^ 取稷數具相同大小資料緩衝區之區 塊以及该第-鏈結RAM及該第二鍵結 數鏈結位址空間,其數目均斑, 己f成複 的數目相同。 ’…亥-享5己憶體之該複數區塊 4.如申請專利範圍第3項之記憶體動態配置方法,其 589822 六、申請專利範圍 中該複二料緩衝區之區塊大小為256位元組。 • 申明專利範圍第3項之記情體動離配詈古、土 立 中該複數封包之-封句异夕 己隐發動先、配置方法,其 塊。 f匕最夕可寫滿該共享記憶體之六個區 士 ;£r 6其如:Γ f"利範圍第3項之記憶體動態配置方法,其 =IΞ該等單—鏈結串列構成’,其鏈結位址空間在對 應輸入車上的獲取係當該鏈結位址空間少於 時,,向該第二鏈結議請求一個自由鏈結位址空疋間個數 二中該固定個數由一封包之最大長度除以該資料緩衝 區區塊之大小決定;以及 叮自由鍵結位址空間係對應至該第一鍵結議之 一可用鏈結位址空間。 7 ·如申明專利範圍第6項之記憶體動態配置方,立 中該固定個數為6。 … 8.如申請專利範圍第3項之記憶體動態配置方法,昱 體上寫入該複數封包時,控制各個該複數 封L的封包/刀段之一早一鏈結串列的構成包含 寫入一封包資料,包含: π/^ 向該共享記憶體請求至少一個空白區塊· 自遠共旱δ己憶體上所請求到Ρ換 J 寫入; 3 R&塊之第一區塊開始 依照目前該封包的大小、該封包之 第一鍵結RAM上的鏈結位土止、以及該等封包匕刀\在以 記憶體上的區塊位址寫入該等封包分f从次又牡A /、手 刀丰又的資料;以及 589822 六、申請專利範圍 記憶體將所有該等封包分段之區塊位址寫入該共享 包之出璋Ϊ第一封包時1寫入該封 、 及將"亥封包之封包分段在該第一 g D Λ M ,初=鏈結位址告知該二 埠之第—封包時,則構成鏈結。 為其别在輸出 士#9搖t申請專利範圍第8項之記憶體動態配置方法,立 輸出埠之後端位址。 。平列加入至該 10.如申請專利範圍第3項之記憶體動態 中該管理該等單一鏈結串列讀取後、其鍵結位=在; 應輸出埠上的釋放係藉由該第二鏈結RAM以先 將該第-鏈結RAM上已完成讀取鏈結之鏈結位址; 第二鏈結RAM的後端位址依序加入。 工間目以 11 ·如申請專利範圍第3項之記憶體動態配直 中讀取該複數封包時,控制該等單一鍵結串列的讀取包ς 下列步驟: 讀取該輸出埠之輸出佇列上的前端位址,以一 包之第一封包分段的鏈結位址; 于 、 一次讀取該共享記憶體上該封包之所有封包分 塊位址,以及同時判斷是否有下一待傳輸封包; 依照目前該等封包分段在該第一鏈結RAM上 址、以及其在戎共享記憶體上的區塊位址讀取該勺次 料; μ 、i 一貝 六、申請專利範圍 等封ί:: iT封包存在時,便自~ ::;Γ:Μ上的鏈結串列位址表/該等封包分段在該 二輸出仔列的前端位址 俾該下一待傳輪封包 當該封包已完全讀取完畢 一待傳輸封包之讀取。 或傳送失敗時,則進行該下 12·種乙太網路交換纟士摇 複數輸入埠,用以接收 广含·· 複數輸出槔,用以傳送該等封 包分段; 一共享記憶體,係一動能 上刀·^又, 等封包分段自該複數輪入璋取,憶體,用以在該 送之前,儲存該複數網路封包分段後、自该複數輸出埠傳 一第一鏈結RAM,1鱼兮 用以在該共享記憶體上V、入V複:上體為一映射關係’ 數封包之封包分段之控制各個該複 ^ 早鍵、⑺串列的構成、以及讀取該 複數封包時,控制該等單—鏈結串列的讀取;以及 -第二鏈結RAM ’其係一先進先出裝置,用以共同管 理該等單一鏈結串列構成前,其鏈結位址空間在對應輸入 蟀上的獲取、以及忒荨單一鏈結串列被讀取後,其鏈結位 址空間在對應輸出埠上的釋放。 1 3 ·如申請專利範圍第1 2項之乙太網路交換結構,其 中該第二鏈結RAM的位址寬度不大於該第一鏈結ram的位址 寬度。 1 4 ·如申請專利範圍第1 2項之乙太網路交換結構,其 第23頁 589822589822 6. The scope of patent application includes: 1.—A kind of dynamic memory configuration method for Ethernet switch structure, including plural = multiple input port and plural rounds, which are used to receive and transmit inverse plural packet segments. ; Jiudeshi enjoys the memory, which is dynamic random access memory, used to store the packets before transmission, after receiving, from the plural rounds out, the first link RAM, and its The shared memory is-mapping off_. When the plural packets are written on the hidden body, one of the packet segments that add the plural packets for a long time is controlled. When each of the next four packets is taken, the single ones are controlled. Read the Bei Ping chain and the Xiangkou series; and η 戽 ^ 仏 I ΐ a link RAM, as a first-in-first-out device, for the input on the port and the dagger 3 knots? Release of address space on corresponding output port. ,,chain,,,. The method of dynamic memory allocation for the first item of the scope of patent application by the above application, its _ address width. The width is configured to be no larger than the first link of the 2nd patent application scope of the dynamic memory allocation method. The shared memory system in the basin is configured to be complex and related, and ^ β ^ takes a number of data buffers of the same size. The number of blocks in the area and the first-link RAM and the second-link number link address space are all the same, and the number of complex numbers is the same. '... Hai-Xiang 5 complex memory block 4. If the memory allocation method of item 3 of the patent application is dynamically allocated, it is 589822. 6. The block size of the complex buffer area in the patent application is 256. Bytes. • Affirmed that the third aspect of the patent scope is that the emotional body moves away from ancient times and the ancient times, and that the plural packets of the plural-sentences are different. The latest version of the shared memory can be filled with six daggers; £ r 6 is as follows: Γ f " Dynamic range memory allocation method of item 3, which = IΞThese single-link series ', The acquisition of the link address space on the corresponding input car is when the link address space is less, requesting a second link to request a free link address space The fixed number is determined by dividing the maximum length of a packet by the size of the data buffer block; and the free bond address space corresponds to one of the available link address spaces of the first key negotiation. 7 · If the memory allocation method of item 6 of the patent scope is declared, the fixed number is 6 immediately. … 8. According to the method of dynamic memory allocation of item 3 in the scope of patent application, when writing the plural packets on the Yu body, control the composition of one of the packets / knife segments of the plural L in the early link sequence including writing A packet of data contains: π / ^ Requests at least one blank block from the shared memory. • Requests to write from P to J from the remote shared delta memory; 3 The first block of the R & block starts to follow At present the size of the packet, the link position on the first bond RAM of the packet, and the packet dagger \ write the packets in the block address on the memory. A /, hand knife Fengyou's data; and 589822 VI. Patent application memory writes the block addresses of all such packet segments into the shared packet. When the first packet is written, 1 is written into the packet, and When the packet of the " Hai packet is segmented at the first g D Λ M, the link address is notified to the first-packet of the second port, which constitutes a link. For the purpose of outputting the memory dynamic allocation method of the patent application No. 8 in the patent application # 9, the end address of the output port is established. . The parallel rank is added to the 10. If the management of the single link series reads in the memory dynamics of item 3 of the patent application scope, the bond bit = on; the release on the output port should be released by the first The second link RAM is to first add the link address of the first link RAM that has completed reading the link; the back end address of the second link RAM is added in order. In the workshop, if you read the plurality of packets in the memory dynamic alignment of item 3 of the patent application, control the read packets of the single-key string sequence. The following steps: Read the output of the output port The front-end address on the queue is the link address of the first packet segment of a packet; at once, read all the packet block addresses of the packet on the shared memory, and determine whether there is the next one at the same time Packets to be transmitted; read the scoop according to the current segmented addresses of the packets on the first link RAM and its block address on the shared memory; μ, i, six, patent application Ranges such as ί :: iT packets exist from ~: ;; Γ: Μ chain link address table / these packets are segmented at the front-end addresses of the two output queues 俾 the next wait When the packet is transmitted, the packet to be transmitted is read. Or, if the transmission fails, the following 12 types of Ethernet exchange driver shake multiple input ports are used to receive a wide range of complex output signals, which are used to transmit these packet fragments; a shared memory, A kinetic energy is sent to the knife. Also, when the packet is segmented into the plurality of rounds, the memory is used to store the plurality of network packet segments before the transmission, and then transmit a first chain from the plurality of output ports. In the RAM, 1 is used for V and V in the shared memory: the upper body is a mapping relationship. The control of packet segmentation of several packets is controlled by the early key, the structure of the ⑺ series, and the reading. When fetching the plurality of packets, control the reading of the single-link series; and-the second link RAM 'It is a first-in-first-out device, which is used to jointly manage the single-link series before they are formed. After the link address space is acquired on the corresponding input port and the single link string of the link net is read, the link address space is released on the corresponding output port. 1 3 If the Ethernet switching structure of item 12 of the patent application scope, wherein the address width of the second link RAM is not greater than the address width of the first link ram. 1 4 · If the Ethernet switching structure of item 12 of the patent application scope, its page 23 589822 中忒共享記憶體包含複數相同大小資料 及該第-鏈結RAM及該第二鏈結RAM係各J配:,以 ;址空間’其數目均與該複數資料緩衝區區塊的:目:結 15.如申請專利範圍第14項之乙太網 中該複數資料緩衝區區塊之大小為256位元=換、、、。構,其 二6.:丄請專利範圍第14項之乙太網路交換結構,盆 中忒複數封包之一封包的封包分段最多 /、 體之六個區塊。 夕j罵滿该共旱記憶 17·如申請專利範圍第14項之乙太網路交換結構,i 中該共旱記憶體之該複數資料緩衝區之區塊包含: 八 一自由緩衝區儲槽之複數空白區塊;以及 複數已指定緩衝區之複數寫入區塊。 18.如申請專利範圍第17項之乙太網路交換結構,其 中該自由緩衝區儲槽之該複數空白區塊包含: 即將心疋給該等封包分段之待接收者的空白區塊·,以 及 該複數已指定緩衝區之該複數寫入區塊之被讀取完畢 者所釋回的空白區塊。 1 9·如申請專利範圍第丨7項之乙太網路交換結構,其 中該自由缓衝區儲槽之該複數空白區塊係對應至該第二鍵 結R A Μ之该專複數鍵結位址空間。 20·如申請專利範圍第丨2項之乙太網路交換結構,其 中該管理该專單一鏈結串列構成前,其鏈結位址空間在辦The shared shared memory contains a plurality of data of the same size and each of the first-link RAM and the second-link RAM is configured with:, the number of address spaces is the same as that of the buffer area of the plural data: head: end 15. If the size of the plurality of data buffer blocks in the Ethernet of the scope of application for patent No. 14 is 256 bits = change ,,,. Structure, the second 6 .: The Ethernet switching structure of item 14 of the patent scope is requested, and a packet of a plurality of packets in the basin is divided into a maximum of six blocks. Xi j is full of the shared drought memory 17. If the Ethernet exchange structure of the 14th patent application scope, the block of the plural data buffer of the shared drought memory includes: Bayi free buffer storage slot A plurality of blank blocks; and a plurality of write blocks of a plurality of designated buffers. 18. If the Ethernet switching structure of item 17 of the patent application scope, wherein the plurality of blank blocks of the free buffer storage tank includes: blank blocks to be sent to the recipients who are about to receive the packet segments. , And a blank block released by a person who has read the plural write block of the plural designated buffer. 19 · If the Ethernet switching structure of item 7 of the patent application scope, wherein the plurality of blank blocks in the free buffer storage slot corresponds to the specific plural number of the second key RA M Address space. 20 · If the Ethernet switching structure of item 2 in the scope of patent application is applied, before the management of the single link series, the link address space is in operation. 第24頁 589822 六、申請專利範圍 應輸入埠上的獲取係當該鏈結位址空間少於一固定個數 時’向該第二鏈結RAM請求至少一自由鏈結位址空間· 其中該自由鏈結位址空間係對應至該第—鍵結Ram 一可用鏈結位址空間。 、° 之 2 1 ·如申請專利範圍第2 〇項之乙太網路交換結構,並 中該固定個數為6。 〇 八 2 2 ·如申請專利範圍第1 2項之乙太網路交換結構,其 中該管理該等單一鏈結串列讀取後,其鏈結位址°空間在對 應輸出埠上的釋放係該第二鏈結RAM以先進先出方"式0將該’ 第一鏈結RAM上已完成讀取鏈結所釋放的鏈結位址空間自^ 該第二鏈結R A Μ的後端位址依序加入。 2 3 ·如申請專利範圍第1 2項之乙太網路交換結構,其 中該複數封包之一封包的最大長度為1 536位元組。 24·如申請專利範圍第1 2項之乙太網路交換結構,其 中該共享記憶體係一SRAM或DRAM。 2 5 ·如申請專利範圍第1 2項之乙太網路交換結構,其 中該第一鏈結RAM係一SRAM或DRAM。 2 6 ·如申請專利範圍第1 2項之乙太網路交換結構,其 中該第二鏈結RAM係一SRAM或DRAM。Page 24 589822 6. The scope of patent application should be obtained on the input port. When the link address space is less than a fixed number, 'request at least one free link address space from the second link RAM. The free link address space corresponds to the first-link Ram, an available link address space. 2 ° of °, such as the Ethernet switching structure of patent application No. 20, and the fixed number is 6. 〇 22.2 · If the Ethernet switching structure of item 12 of the scope of patent application, the management of the release of these single links in series, the release address of the link address ° space on the corresponding output port The second link RAM uses the first-in-first-out formula "quotation 0" to free the link address space released by the completed read link on the first link RAM from the back end of the second link RAM. Addresses are added sequentially. 2 3 · If the Ethernet switching structure of item 12 of the patent application scope, the maximum length of one packet of the plurality of packets is 1 536 bytes. 24. If the Ethernet switching structure of item 12 of the patent application scope, wherein the shared memory system is SRAM or DRAM. 25. If the Ethernet switching structure of item 12 of the patent application scope, wherein the first link RAM is a SRAM or a DRAM. 2 6 · If the Ethernet switching structure of item 12 of the patent application scope, wherein the second link RAM is a SRAM or a DRAM. 第25頁Page 25
TW091101859A 2002-02-01 2002-02-01 Ethernet switching architecture and dynamic memory allocation method for the same TW589822B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW091101859A TW589822B (en) 2002-02-01 2002-02-01 Ethernet switching architecture and dynamic memory allocation method for the same
US10/150,252 US7088730B2 (en) 2002-02-01 2002-05-15 Ethernet switching architecture and dynamic memory allocation method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW091101859A TW589822B (en) 2002-02-01 2002-02-01 Ethernet switching architecture and dynamic memory allocation method for the same

Publications (1)

Publication Number Publication Date
TW589822B true TW589822B (en) 2004-06-01

Family

ID=27657722

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091101859A TW589822B (en) 2002-02-01 2002-02-01 Ethernet switching architecture and dynamic memory allocation method for the same

Country Status (2)

Country Link
US (1) US7088730B2 (en)
TW (1) TW589822B (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100724438B1 (en) * 2001-12-26 2007-06-04 엘지전자 주식회사 Memory control apparatus for bsae station modem
KR100442439B1 (en) * 2002-10-07 2004-07-30 엘지전자 주식회사 Apparatus and method for queue assignment in multi link of Access Pointer Controller
US8184652B2 (en) * 2003-08-07 2012-05-22 Broadcom Corporation System and method for linking list transmit queue management
US7802028B2 (en) * 2005-05-02 2010-09-21 Broadcom Corporation Total dynamic sharing of a transaction queue
US20160098279A1 (en) * 2005-08-29 2016-04-07 Searete Llc Method and apparatus for segmented sequential storage
US7644258B2 (en) * 2005-08-29 2010-01-05 Searete, Llc Hybrid branch predictor using component predictors each having confidence and override signals
US8275976B2 (en) * 2005-08-29 2012-09-25 The Invention Science Fund I, Llc Hierarchical instruction scheduler facilitating instruction replay
US8296550B2 (en) * 2005-08-29 2012-10-23 The Invention Science Fund I, Llc Hierarchical register file with operand capture ports
US9176741B2 (en) * 2005-08-29 2015-11-03 Invention Science Fund I, Llc Method and apparatus for segmented sequential storage
US20070083735A1 (en) 2005-08-29 2007-04-12 Glew Andrew F Hierarchical processor
JP5748287B2 (en) * 2011-12-27 2015-07-15 日本電信電話株式会社 Packet buffer device and packet buffer control method
CN104717152B (en) * 2013-12-17 2019-07-19 深圳市中兴微电子技术有限公司 A kind of method and apparatus realizing interface caching and dynamically distributing
US10826964B2 (en) * 2018-09-05 2020-11-03 At&T Intellectual Property I, L.P. Priority-based tile transmission system and method for panoramic video streaming
CN111212150A (en) * 2020-04-21 2020-05-29 成都甄识科技有限公司 Optical fiber reflection shared memory device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456590B1 (en) * 1998-02-13 2002-09-24 Texas Instruments Incorporated Static and dynamic flow control using virtual input queueing for shared memory ethernet switches

Also Published As

Publication number Publication date
US7088730B2 (en) 2006-08-08
US20030147410A1 (en) 2003-08-07

Similar Documents

Publication Publication Date Title
TW589822B (en) Ethernet switching architecture and dynamic memory allocation method for the same
TWI284477B (en) Color burst queue for a shared memory controller in a color sequential display system
US8656071B1 (en) System and method for routing a data message through a message network
CN101094183B (en) Buffer memory management method and device
CN104133784B (en) A kind of packet buffer management method and device
US7461214B2 (en) Method and system for accessing a single port memory
WO2017157110A1 (en) Method of controlling high-speed access to double data rate synchronous dynamic random access memory, and device
US20060031565A1 (en) High speed packet-buffering system
TW201703475A (en) Method and apparatus for using multiple linked memory lists
WO2016078313A1 (en) Data writing method and device
US8327047B2 (en) Buffer manager and methods for managing memory
US7627672B2 (en) Network packet storage method and network packet transmitting apparatus using the same
CN109388590A (en) Promote the dynamic buffering block management method and device of multi-channel DMA access performance
US7991926B1 (en) Scalable memory architecture for high speed crossbars using variable cell or packet length
US7126959B2 (en) High-speed packet memory
TWI526927B (en) Data buffer memory, data buffer memory system, and data storage method thereof
JP7138190B2 (en) Network switch queue
CN112084136A (en) Queue cache management method, system, storage medium, computer device and application
WO2011015055A1 (en) Method and system for storage management
WO2016019554A1 (en) Queue management method and apparatus
TW580619B (en) Buffer control device and the management method
US6601116B1 (en) Network switch having descriptor cache and method thereof
JP2002510813A (en) AMPIC DRAM system in telecommunications exchange
US9063841B1 (en) External memory management in a network device
CN105335323B (en) A kind of buffer storage and method of data burst

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees