專利名稱:電信轉接器中的ampic dram系統的制作方法
技術領域:
本發明涉及下述共同未決美國專利申請中所描述的類型的動態隨機存取存儲器技術(DRAM):Mukesh Chatter 1995年12月29目提交并轉讓給本申請的共同受讓人的高性能通用多端口內部高速緩存動態隨機存取存儲器(AMPIC DRAM)系統、體系結構與方法,該系統消除了當前的系統帶寬限制與相關問題并提供顯著地增強的系統性能且降低成本,作為提供統一的存儲器體系結構的結果能夠基本上對許多應用通用。本發明更具體地涉及特別適用于ATM(異步傳遞方式)Sonet(同步光學網)交叉連接及WDM(波設計多路復用)及類似應用的系統中的改進。
更一般地,當將所述共同未決申請的技術用在擁有諸如中央處理單元(CPU)等具有并行數據端口及各連接在并爭用對公共系統總線接口的訪問的動態隨機存取存儲器(DRAM)的主控制器的系統中時,在于包括多端口內部高速緩沖存儲的DRAM(AMPIC DRAM)的改進的DRAM體系結構,其中提供了多個獨立的串行數據接口,各通過對應的緩沖器連接在獨立的外部I/O資源與內部DRAM存儲器之間。在諸如所述CPU等總線主控制器的動態邏輯的控制下在串行接口與緩沖器之間實行轉接,用于為I/O資源尋址的目的地中的所需要求的數據可確定路由性轉接適當的地址分配。為各種活躍的分組緩沖器與CPU之間的總線接口訪問執行仲裁,但通過串行接口從或向分組緩沖器接收或傳輸數據不需要仲裁。此外,AMPIC DRAM轉接模塊將任何緩沖器分配給任何串行接口而無須在緩沖器與核心DRAM之間傳送數據的任何中間步驟,并當作為端口定義時,各緩沖器具有同時與所有串行接口對接的能力,此外,各緩沖器是配置成與它所連接或對接的端口相同的端口尺寸的。
這一技術對于處理相對地大與短的數據報文是有用的并且總線爭用得以減少。
雖然通過盡可能多地高效利用數據端口高速緩存槽與DRAM體存取隨機化減少了對相對地大的報文的總線訪問爭用的仲裁要求,然而在提供相對地短或小的報文中,AMPIC DRAM陣列系統可能對高速緩沖存儲槽中的可利用的空間利用不足,而導致可利用的緩沖器槽的迅速耗盡。
發明目的從而,本發明雖然不是只考慮而是主要特別關心ATM與類似類型的系統操作來改進這種小報文槽空間的利用不足。本發明通過消除對外部控制與地址存儲的需求而使用內在的數據頭標目的地信息來做到這一點,并且這樣做將DRAM訪問的所有總線爭用降低到零,如下面更全面地說明的。
從而,本發明的主要目的,特別(雖然不僅僅)當作用在ATM與類似或相關的系統操作上時,為提供用于AMPIC DRAM操作的新的與改進的方法及系統,它消除了外部控制與尋址存儲器的必要,同時將DRAM訪問的所有總線爭用降低到零。
另一目的是提供一種新穎的系統,其中對與DRAM陣列的串行接口相關的數據高速緩沖存儲器槽空間實現更高效的利用,特別是更全面地利用這種空間于相對地短或小的報文。
本發明的另一目的為在消除了外部控制路徑與地址之外提供使用內在的首標目的地信息或“目的地標簽”的系統,它允許報文自我確定路由通過AMPIC設備。本發明允許將帶有相同標簽的所有報文的路由確定到同一DRAM體上,而不管這些報文始發自哪一個I/O資源。這一“分類能力”或帶有相同目的地的通信量的聚集極為適合于上述SONET交叉連接及WDM(波分多路復用)系統。
又另一目的為提供通過在寫DRAM體之前將報文組裝在一起來消除小報文槽空間利用不足的系統,這對于ATM及報文本質上是小的類似類型的系統操作特別有用。
此外,本發明的目的為提供上述特征同時在所有情況中將對DRAM訪問的總線爭用降低到零。
其它與進一步的目的將在下面說明并在所附的權利要求中更全面地描述。
下面將提出較佳與最佳模式設計及操作細節。
圖6為AMPIC DRAM內部系統總線的框圖,帶有位于各AMPIC DRAM端口緩沖器與DRAM陣列之間的縱橫轉接器;圖7示出本發明的較佳實施例,帶有專用于系統I/O資源的DRAM體、劃分成單元的專用DRAM體槽、及位于所有系統I/O資源與各槽之間的縱橫轉接器;以及圖8詳細展示緩沖器槽與對應的單元的實現,帶有將具有公共目的地的不同I/O數據寫端口上的多個數據流聚集到單個AMPIC DRAM體上并提出到單個I/O讀端口的單個數據流的實例;以及圖9為示出復制圖7與8中的系統來提供N等級服務及目的地體系結構排隊的框圖。
本發明的優選實施例在轉向本發明的較佳實現之前,為了更好地將本發明與所述共同未決申請的基本系統作一對比,相信首先參照
圖1與2簡要地回顧后者是有用的。共有未決的Chatter申請的AMPIC DRAM探討如前面所描述的,所述共同未決申請的AMPIC DRAM設備所提供的基本結構在作用在包括各設置有緩沖器高速緩沖存儲槽的數據端口上的系統I/O資源到位于AMPIC DRAM設備內的DRAM存儲器陣列體之間提供非常高的帶寬的連接。這一體系結構包含了通過改變DRAM體的數目,改變串行接口的數目及改變每一串行接口的數據端口的數目便能建立不同的AMPIC存儲器設備。系統I/O資源指稱需要讀與寫數據到AMPIC設備或一組AMPIC設備中的能力的邏輯塊。假定源系統I/O資源能通知目的地系統I/O資源它已將數據放置在目的地系統I/O資源的AMPIC設備中的特定地址上,則該AMPIC設備提供在圖1中的I/O資源1...n之間提供轉接傳送大量數據從一個系統I/O資源到另一個的機制。AMPIC設備包含內部DRAM體,各體中具有若干存儲器單元,其中可讀與寫可變大小的數據塊。最大的允許數據大小是由AMPIC設備的個體實現確定的。各AMPIC存儲器地址標識特定內部DRAM體中能通過所有串行數據接口對其寫與讀數據的特定存儲器單元,所有系統I/O資源都適應于通過它們連接在其上的串行接口讀與寫所有的AMPIC存儲器單元。
各系統I/O資源具有如在圖1中所標記的并在圖2中更全面地示出的連接在AMPIC設備串行接口之一上的寫控制總線與寫數據總線以便寫數據到AMPIC設備中。為了寫可變大小數據塊到AMPIC設備中,系統I/O資源在寫控制總線上發送AMPIC地址并在其寫數據總線上發送該可變大小數據塊。當AMPIC上的串行數據接口接收到地址與數據時,它便將其放在該串行數據接口的寫高速緩沖器槽中。完成了對特定系統I/O資源連接在其上的串行數據接口的當前寫操作之后,它能立即開始寫另一可變大小的數據脈沖串到另一AMPIC設備地址。隨著將更多的數據寫入一個串行數據接口上的AMPIC中,寫高速緩沖器槽可能比能清空它們更快地填滿。為了保持各串行接口上的寫高速緩沖存儲器不溢出,各串行接口具有停止(或暫時停止)當前數據線傳送直到在寫高速緩沖器中已釋放了足夠的空間來結束完成當前的寫傳送為止的裝置。當將數據寫入各串行數據接口的寫高速緩沖器中時,串行數據接口請求訪問AMPIC設備中的內部DRAM體。圖2中的DRAM體同意不同的串行數據接口訪問AMPIC設備的DRAM體,允許將串行數據接口轉接成將數據從寫高速緩沖器移至內部DRAM體的適當存儲器單元中。在多個串行數據接口試圖寫數據到同一DRAM體中時在串行數據接口中利用寫高速緩沖存儲來協助平息爭用時段。然而,當太多的請求未解決從不同的串行接口到同一DRAM體時,則強制一些串行接口停止當前的寫操作以便防止它們的寫高速緩沖器溢出。
如上所述,除了寫控制與寫數據總線,各系統I/O資源具有圖1與2中所示的連接在AMPIC設備串行接口之一上從該AMPIC設備讀數據的讀控制總線與讀數據總線。當系統I/O資源想要讀取位于特定AMPIC地址上的可變大小數據塊時,它將該地址寫到連接在其讀控制總線上的AMPIC串行數據接口中。AMPIC上的串行數據接口將地址放在讀高速緩沖器中直到它能得到其中存有該數據的內部DRAM的控制并將其讀出。檢索出數據之后,串行數據接口將該可變大小數據塊傳輸回系統I/O資源。由于從AMPIC地址讀數據中的延時的不確定性,將AMPIC設備設計成使其能請求來自若干地址的數據并在取出與返回第一個可變大小數據塊之前存儲在讀高速緩沖器中。這允許同時請求及從DRAM體檢索出多塊數據。然而,AMPIC保持地址的插入次序并能按這一次序將檢索到的數據傳輸回系統I/O資源。
此外,利用其將多個AMPIC設備‘堆積’成AMPIC設備陣列來建立更大的虛擬AMPIC設備的能力,可進一步改進AMPIC的靈活性,如圖3至5中所示。圖3中,為CPU數據位0-15的情況示范性示出AMPIC單元#0-3,體或陣列的各AMPIC設備與位0-15的各系統I/O資源#1-#4接口。圖4中概述了按照所述共同未決申請,系統I/O資源將地址與數據分配給這些AMPIC DRAM設備(在圖4中稱作“芯片”因為這是它們在商業上賦予的形式)的方法。將地址位(示例性系統I/O資源中央)饋送給所有AMPIC芯片設備#0-3,數據字節0(位0-7)的位作用在芯片0上;數據字節1(位8-15)在芯片1上;數據字節2(位16-23)在芯片2上;及數據字節3(位24-31)在芯片3上,等,并將跨若干DRAM部件的數據單元鏈接在一起。圖4中,地址針腳示出為與數據總線分離的針腳。特定的實現能最佳地多路復用地址與數據針腳來改進對AMPIC的數據傳送。
圖5詳細描述示范性AMPIC DRAM內部總線系統的體系結構,示出允許若干同時的小數據報文傳送或單個寬數據報文傳送的劃分。在這一圖示中,示出了1至M個DRAM體,各受外部控制及各設置有用于沿公共的共用總線作用來自各自的系統I/O資源#1...N的高速緩沖存儲在#1-n數據端口串行接口緩沖器高速緩沖存儲槽0-M中的數據的縱橫轉接輸入端(T/M位,其中T為總的數據總線寬度)。
這使之有可能調節來自AMPIC設備的陣列或虛擬AMPIC設備的數據總線,能將數據寫入或讀出單個AMPIC設備的數據速率提高“n”倍,并且還能將存儲在各存儲器單元上的最大數據量提高到單個AMPIC設備中的大小的“n”倍。
當將多個AMPIC設備聚集到AMPIC設備的陣列中并用作一個大的虛擬AMPIC設備時,如在上述圖3、4、5與6中所示,所有‘m’個AMPIC設備是時鐘周期同步的,意味著即使沒有控制線將這些AMPIC設備連接在一起,這‘m’個AMPIC設備仍然保持完全同步,因為同時在所有‘m’個設備上執行完全相同的讀與寫訪問。還應觀察到因為同時在所有‘m’個AMPIC設備上執行完全相同的讀與寫訪問,對于單個AMPIC具有與對虛擬AMPIC設備相同數目的AMPIC地址。因些這里將同步在一起的若干AMPIC設備稱作AMPIC設備的陣列或虛擬AMPIC設備,并將關于單個AMPIC設備的討論也直接應用在虛擬AMPIC設備上,反之亦然,因為虛擬AMPIC設備只是并行工作的多個AMPIC設備而己。
如圖1-3中所示,由于這些接口共用到DRAM體的相同內部DRAM總線來將數據放入DRAM體中及取出它,在一定的時間統計百分比上不可避免地會出現對這些共享的資源的爭用,從而導致從或向AMPIC存儲器內部的DRAM體讀出或寫入數據所占用的時間具有明顯的帶有一定有保證的上限的可變性。在緩和大多數爭用的努力中,設置了附加的緩沖存儲或高速緩沖存儲,使得如上所述,在到達必須停止到系統I/O資源之一的外部串行接口之一的點之前能夠存儲少量寫訪問。通過在串行接口中存儲少量寫操作,在必須停止外部串行數據接口中任何一個之前排除了出現了大多數爭用。類似地,為讀訪問提供了一定級別的高速緩沖存儲,使之能同時存儲與處理多個DRAM體的讀請求,降低了沒有數據提交發送給特定系統I/O資源的可能性。
概言之,如在詳細描述帶有位于各AMPIC DRAM端口緩沖器與DRAM陣列之間的縱橫轉接器的內部系統總線的圖6中更全面地示出的,各系統I/O資源連接在AMPIC DRAM設備內的數據端口上,而將各數據端口分成等于DRAM體的數目的若干緩沖器槽。m×n縱橫“轉接器”示出為放置在各系統I/O資源數據端口與DRAM陣列之間,其中該DRAM陣列包含m個體而數據端口包含n個槽。縱橫轉接器能通過非常寬的數據總線(用粗線示出)將任何槽驅動到DRAM體中任何一個中。如果在當前寫周期中出現對DRAM體的爭用,縱橫轉接器允許系統I/O資源利用空槽。當授予許可時,AMPIC將啟動該槽到寬數據總線上的正確DRAM體通道上。由于若干原因能出現上述對DRAM體的爭用正在進行讀周期;來自同一系統I/O資源的多個報文以同一DRAM體為目的地;來自其它系統I/O資源的報文以同一DRAM體為目的地。由于系統I/O資源數據端口包含有限數目的槽來緩沖存儲報文直到允許訪問,當數據端口沒有可利用的槽時,在該系統I/O資源上作用有背后壓力而系統性能下降。
在共同未決申請的典型AMPIC DRAM陣列系統中,通過大報文高效地利用槽及盡可能隨機化DRAM體訪問這一事實減少了爭用。另一方面如上所述,小報文對槽中的空間利用不足,導致可利用的槽迅速耗盡。
例如,考慮圖6中所示的包含16個I/O資源與16個堆積的AMPICDRAM設備的AMPIC DRAM陣列系統的情況。各AMPIC DRAM包含16個512位寬的DRAM體。這一體系結構得到每一設備8k位的內部寬數據總線,或跨所有堆積的AMPIC設備的128k位。在單個AMPIC設備上,各系統I/O資源數據端口包含16個槽,每一個槽512位存儲器。單個槽能跨所有16個堆積的AMPIC設備存儲8k位。
考慮將相對地短的424位ATM報文寫到跨整個AMPIC DRAM陣列的槽中的系統I/O資源,這一報文只占用5%的槽,并帶有到各AMPIC的4位寬數據路徑,這一事務只占用7個時鐘信號來完成。這一槽空間的低劣利用,結合DRAM體爭用能導致可利用的槽的迅速耗盡及最終導致系統性能降低。
現在為了描述本發明所實現的對所述共同未決申請的系統的修改,對于諸如ATM等某些應用完全消除任何爭用,及緩和對附加緩沖存儲的需要及上面關心的其它問題,同時附加消除對外部尋址控制的所有要求,及進一步為短數據報文啟動串行接口緩沖器中的高速緩沖存儲槽的更高效的使用。本發明這些目的及對利用小報文的存儲器應用達到非常高的系統帶寬,是由本發明通過新穎的體系結構完成的,如上所述完全消除AMPIC DRAM設備內的DRAM體爭用。如上所述,這對于進入報文大小只有424位的純ATM聯網系統(及諸如此類)是特別有用的。
圖7中利用上面的16個I/O資源的實例作為示例說明用于排除這些問題的本發明的較佳實施例。按照本發明各DRAM體具有用于存儲以該體為目的地的報文的單個專用的槽緩沖器。將各槽緩沖器劃分成預定數目的單元,其中該數目也表示系統I/O資源的數目。
單個單元能容納完整的ATM報文與某些附加控制信息,單元定義為每一個設備32位,或跨“AMPIC DRAM”陣列中所有16個設備512位。
在上面提出的16個系統I/O資源的實例中,單個槽具有跨AMPICDRAM陣列的8k位總存儲器(512位×16),因此能保持16個ATM報文。然而,各系統I/O資源具有到所有16個槽的唯一數據路徑。在各槽與所有系統I/O資源之間設置標記為m×n的縱橫轉接器,其中m表示系統I/O資源的數目而n表示每個槽的單元數。這使AMPIC設備能將進入報文導向到單個槽內的任何單元上。應指出這蘊含一個單元并不專用于一個系統I/O資源,而只是一個可利用的存儲空間。
這一新穎體系結構的重要特征是所有16個系統I/O資源同時寫完整的ATM(或類似的)報文到單個槽或任何數目的槽中的能力。從而這一體系結構通過將小報文組裝在一起而全面利用的內部寬存儲器總線上的高帶寬。
初看起來好象由于已將以同一體為目的地的報文一起組裝在同一槽中而消除了DRAM體爭用。然而,遺留的問題在于存儲在單個槽中的各該16個ATM報文雖然以同一體為目的地,但有可能具有不同的行地址。如果各報文與相關DRAM地址來自不同的系統I/O資源,這幾乎總會出現。因此要描述真正完全消除DRAM爭用的本發明的較佳為了在說明中模仿的目的,考慮各系統I/O資源以其專用的DRAM體作為信箱。信箱只包含獨占地擁有它的系統I/O資源的報文。從而圖7中的存儲器劃分消除了讀周期期間的爭用。這一體系結構要求DRAM體的數目等于或大于系統I/O資源的數目。進入ATM報文不再需要DRAM地址,只要唯一的信箱號碼。系統I/O資源連同報文一起注入這一信箱地址(目的地端口號)并根據信箱地址將報文的路由確定到適當的槽上。
然后通過上述m×n縱橫轉接器將報文拼接在單元中。圖8展示上述體系結構的實現細節。為了拼接報文及全面利用一個槽,各單元必須接納多個項。例如,可能產生只有一些單元保持有報文而導致部分填滿的槽的情況。DRAM不會寫數據因為該槽具有空單元而這會使DRAM存儲器利用不足。在更壞的情況中,I/O寫端口可能具有16個可用于寫的新報文,且所有報文都以同一DRAM體并從而同一槽為目的地。事實上,由于各I/O寫端口獨立地發送報文,可利用的單元與報文之間的失配實際上是通常發生的。通過將各單元實現為具有最小深度要求2的小fifo(先進先出)很容易糾正這一問題。這一新穎的實現保證槽能永遠接納16個報文。如果槽中fifo項的行一行是部分填滿的,縱橫轉接器便引導新報文順序地填充空單元,完成第一行。如果進入報文的數目大于第一行中的項數,則將剩余報文引導到fifo項的第二行。由于不存在對DRAM的寫周期的爭用,DRAM接受完整的第一行,清空fifo的頂部。圖8示出帶有示例數據流的這一體系結構。注意在某些情況中如果沒有可獲得的進入報文且DRAM寫邏輯感測到已違犯了最小系統等待時間,則部分填滿的槽可寫到DRAM體中。在本發明的其它實施例中,取決于爭用單元fifo體系結構可具有更深的深度。例如,在替代實現中,多個槽可競爭同一體,但單元fifo必須大于2深以便在等待訪問DRAM體時同時吸收報文。
在典型情況中,不是所有16個I/O資源都將發送報文給信箱,蘊含一些單元將是空的。AMPIC在讀周期中需要知道這一點,并能通過在未使用的單元中寫入一個無效位來跟蹤它。當系統I/O資源響應AMPIC信箱標志信號(可獲得報文)時,嚴格按照寫入它們的次序DRAM中讀出報文。這使其本身報從于ATM通信量協議,該協議提出來自單個系統I/O資源的報文必須保持次序。通過使用簡單的讀與寫地址計數器來跟蹤DRAM信箱中的數據,AMPIC保持次序。這服從ATM、Sonet交叉連接及WDM通信量協議,這些協議提出來自單個系統I/O資源的報文必須保持次序。
例如,考慮所有16個系統I/O資源都在發送多信道廣播報文到所有其它16個系統I/O資源的極端情況。本發明的獨一無二的體系結構能在跨16個槽的256個單元中接納全部256個報文。從而在寫周期中無論如何都沒有爭用。并且如上面指出的,由于各系統I/O資源擁有專用的信箱而無須與其它16個系統I/O資源爭用DRAM訪問,在讀周期上同樣不存在爭用。
除了提供零爭用,本發明還消除了所述共同未決申請的外部控制路徑與尋址的必要性。
不是使緩沖器將隨機地址饋送到AMPIC設備中及隨機地將它們寫入存儲器中,按照本發明,由于數據分組是接收與分解到緩沖器中的,在這一時間點上,系統通過簡單地觀察分組中的原始首標己知道了目的地。從而,一開始I/O資源模塊便知道該分組或緩沖器要去往的目的地(地址),從而當將緩沖器注入AMPIC DRAM系統中時,不是擁有隨機存儲器地址,它本質上擁有目的地I/O模塊的地址。
在圖6的示例性情況中,在具有16個I/O模塊的系統中,一個I/O模塊基本上具有來自首標的4位地址,說明這一特定緩沖器要去往特定的目的地。此外,由于按照本發明的這一體系結構上增強的AMPIC系統,各DRAM體是專用于一個I/O模塊的,寫入一個體中的一切都只以一個I/O模塊為目的地。在這一特殊情況中,可以說圖6的DRAM體1只包含I/O模塊1的緩沖器。DRAM體2只包含I/O模塊2的緩沖器,以此類推。這一特征具有若干優點。首先,如上所示,當I/O模塊進入AMPIC系統去讀緩沖器時,對特定的DRAM體不存在爭用,因為一個I/O模塊只從一個DRAM體讀取,并且不與其它DRAM體爭用。雖然所有I/O資源需要寫到所有體中,如圖7中底部所示,各I/O資源只從一個專用的DRAM體讀取,如圖7中頂部所示,有選擇地讀取。
因此,本發明的應用,得益于利用進入分組首標的4位目的地地址,基本上說明該特定緩沖器是以特定的I/O資源為目的地的并應去往DRAM體上專用于該I/O模塊的這一特定資源,消除了所述共同未決申請的外部控制及存儲器尋址。例如,如果I/O資源1擁有去往I/O模塊2的緩沖器數據,它將寫入DRAM體2。然而,在DRAM體的進入側上,需要能從所有端口取緩沖器數據的潛力,因為所有端口都可發送緩沖器給同一目的地。為了調節這一問題,本發明采用減小大小的緩沖器,從而可將DRAM行劃分成較小的緩沖器大小,即單元。這一體系結構允許報文自我確定路由通過AMPIC設備。這一“分類能力”或具有相同目的地的通信量聚集極為適合于Sonet交叉連接與WDM(波分多路復用)系統。
雖然按照所述共同未決申請的技術,采用512字節或256字節的緩沖器大小,本發明將緩沖器大小降低到例如64個字節,建立各跨越16個DRAM陣列的16個64字節的單元。當一個I/O資源饋入數據時,它將其寫入這些單元之一。即使所有16個資源都在試圖寫到同一DRAM,現在己有足夠的單元來接納所有這些16個I/O資源了。
與所述共同未決申請具有等于能一次性寫入DRAM的整個數量的緩沖器大小的當前體系結構不同,本發明提供能使一個DRAM體同時取來自每一個緩沖器的緩沖器數據的較小緩沖器大小的特征。不是具有512字節緩沖器大小,本發明的64字節使每一個緩沖器都能訪問DRAM,如上面說明的。
此外,應強調,對于本發明,縱橫轉接器是介于I/O資源與緩沖器單元(有時稱作SRAM)之間的,從而如果所有資源都不在寫到目的地DRAM中,則能組裝這些緩沖器以便不浪費存儲器空間。作為示例,假定I/O資源1與16正在寫到I/O模塊2。它們兩者都寫入I/O DRAM2中。然而,不是寫入槽1與16中,縱橫轉接器允許將這兩個緩沖器數據互相靠近放置在鄰接的單元1與2中,以免在存儲器中產生空洞或未使用的空間。
上述64字節選擇對于ATM應用等是完美的,因為53字節組正好能放進64字節空間中。但是由于同樣的原因,如果希望具有較大的緩沖器大小,通過用AMPIC的不同特點加寬總線或通過采用當前的特點而只是建立它們的列,便能容易地做到這一點。事實上,不僅用列還可通過放置諸如32個AMPIC設備來增加緩沖器大小,在這一情況中,64個字節變成了128個字節。
與所述共同未決申請的技術不同,本發明將16×16縱橫轉接器放在SRAM或單元緩沖器前面,直接在每一個DRAM下方。當緩沖器數據進入時,根據首標的預定目的地標簽(沒有存儲器地址)將其路由確定到特定的SRAM與DRAM。從而,根據在I/O資源上預定的目的地將進入的緩沖器數據的路由確定到DRAM體上,因此在AMPIC外部,標志幾乎象信箱標志一樣出現,而I/O資源將會進入并正好讀取其體及得到正好以該特定I/O模塊為目的地的所有緩沖器數據,并且不再需要在控制單元上圍繞系統發送地址到目的地模塊并且不再要求這一模塊在隨機存儲器單元上抽出緩沖器。各I/O模塊將進入并且它將知道只讀出所選擇的信箱與DRAM,這一DRAM體中的所有緩沖器的目的地都是這一I/O模塊。因此,現在只有一種功能,便是知道信箱中有東西及去讀取它。
利用本發明的與眾不同的設計圖,當寫到DRAM時,在上面討論的那種fifo體系結構中,沒有地址,只有計數器,一切都象它進入時那樣寫。模仿信箱的各DRAM體具有一個寫指針及一個讀指針,寫指針從0開始,而當緩沖器數據進入時,只是按次序寫它們。因此,根據緩沖器數據進入的次序維持次序,向聯網體系結構確認已維持了次序。
本發明還提供常用的服務與數據的8等級排隊,如圖9中所示。
對于這種服務等級,可將圖8的AMPIC DRAM體系結構的列分成優先級隊列0、優先級隊列1、等。進入的I/O資源能選擇到哪一隊列中去寫緩沖器數據。在附著在緩沖器上的I/O模塊外面,轉接器桿計算、控制優先級與其4位目的地,并根據隊列及對應的內部AMPIC進入適應的列,進入正確的信箱。例如,I/O模塊0發送給I/O模塊16,及其優先級1進入這一AMPIC并被加載到這一DRAM I/O模塊16中。至于先讀出哪一列的決策,明顯地是基于優先級服務的,并且將DRAM作為fifo體系結構使用,再一次不需要在系統中到處傳遞地址,并且保證不存在爭用。
雖然圖9示出用AMPIC的列實現服務器等級,其中列表示優先級隊列,應指出本發明的代替實施例可用DRAM的體在AMPIC中實現隊列。根據其目的地首標與優先級標簽將進入的報文的路由確定到一個體上。I/O讀端口擁有為該端保持分類與優先化的報文的專用的DRAM的體。
對于熟悉本技術的人員可產生進一步的修改,并且認為這些是落入在所附的權利要求中所定義的本發明精神與范圍內的。
權利要求
1.供在具有諸如中央處理單元等主控制器的系統中使用的改進的DRAM體系結構,該中央處理單元具有各連接在公共系統總線接口上的并行數據端口與隨機存取存儲器(DRAM),該改進的DRAM體系結構包括多端口內部高速緩沖存儲的DRAM體(AMPIC DRAM)的一陣列,各AMPIC DRAM包括通過對應的數據高速緩沖存儲多單元槽緩沖器連接在獨立的外部I/O數據寫入資源端口與對應的內部DRAM存儲器之間的多個獨立串行數據接口,各DRAM體連接在分別用于存儲以該體為目的地的緩沖存儲的數據及只將存儲的數據讀出到該專用的I/O數據讀出資源端口的各專用于該DRAM體的單個槽緩沖器及單個目的地I/O數據讀出資源端口上;介入各I/O數據寫入端口與對應的槽緩沖器之間的縱橫轉接器,但所有I/O數據寫入端口都連接在到各縱橫轉接器的輸入數據上,使得I/O數據寫入端口能寫入槽緩沖器中的任何單元中。
2.權利要求1中所要求的系統,其中各I/O數據寫入資源所提供的數據包含對應于I/O數據讀出資源端口的首標目的地地址,并設置了裝置用于將這一數據的路由確定到專用于連接在該目的地地址的I/O數據讀出資源端口上的該DRAM體的槽緩沖器上。
3.權利要求1中所要求的系統,其中各槽緩沖器的單元可利用作為所有系統I/O資源的存儲空間,而不是專用于特定系統I/O資源。
4.權利要求1中所要求的系統,其中各槽緩沖器是劃分成預定數目的單元的,并且該數目對應于系統I/O資源的數目。
5.權利要求4中所要求的系統,其中設置了m×n個縱橫轉接器位置,其中m為系統I/O資源的數目而n為每一個槽緩沖器的單元數目,借此使AMPIC DRAM能將進入的數據報文引入到單個槽緩沖器內的任何單元中。
6.權利要求1中所要求的系統,其中所有I/O數據寫入資源端口適應于寫到所有DRAM體,但各I/O數據讀出資源端口只從對應地專用的一個DRAM體讀取。
7.權利要求6中所要求的系統,其中使槽緩沖器大小為64字節的數量級。
8.權利要求7中所要求的系統,其中該數據包括ATM報文及所有系統I/O資源都同時啟動來將完整的ATM報文寫入單個槽緩沖器中。
9.權利要求8中所要求的系統,其中設置了一16DRAM陣列產生各跨該陣列的16個64字節的單元。
10.權利要求1中所要求的系統,其中設置了這些陣列的列,各列賦予用于不同服務與數據的排隊優先級,而DRAM則起到為其提供fifo體系結構的作用。
11.在多端口內部高速緩沖存儲的DRAM體(AMPIC DRAM)的一陣列中,其中通過對應的數據高速緩沖存儲多單元槽緩沖器在獨立的外部I/O數據寫入資源端口與對應的內部DRAM存儲器之間連接多個獨立串行數據接口,一種排除公共系統總線接口爭用的方法包括,將單個槽緩沖器專用于各DRAM體;將單個目的地I/O數據讀出資源端口專用于各DRAM體;在各I/O數據寫入端口與對應的槽緩沖器之間進行縱橫數據轉接;以及將所有I/O數據寫入端口連接在到各縱橫轉接的輸入數據上。
12.權利要求11中所要求的方法,其中各I/O數據寫入資源端口所提供的數據包含用于將這些數據的路由確定到專用于該DRAM體的槽緩沖器的首標目的地地址,該DRAM體又連接在該目的地地址的I/O數據讀出資源端口上。
13.權利要求12中所要求的方法,其中各槽緩沖器被劃分成預定數目的單元,并且該數目對應于系統I/O資源的數目。
14.權利要求13中所要求的方法,其中設置了m×n縱橫轉接,其中m為系統I/O資源的數目而n為每一個槽緩沖器的單元數,使得AMPIC DRAM能將進入的數據報文引入到單個槽緩沖器內的任何單元。
15.權利要求14中所要求的方法,其中所有系統I/O資源提供接連的單元用于存儲器存儲來組裝或填充槽緩沖器的單元而沒有未占用的空間。
16.權利要求15中所要求的方法,其中使所有I/O數據寫入資源端口都能寫到所有的DRAM體,而各I/O數據讀出資源端口只從對應地專用的一個DRAM體讀取。
17.權利要求16中所要求的方法,其中該槽緩沖器大小降低到64字節的數量級。
18.權利要求17中所要求的方法,其中該數據包括ATM報文及所有系統I/O資源都能同時寫完整的ATM報文到單個槽緩沖器中。
19.權利要求18中所要求的方法,其中設置了一16DRAM陣列產生各跨該陣列的16個64字節的單元。
20.權利要求11中所要求的方法,其中設置了這些陣列的列,各賦予用于不同服務與數據的排隊優先級,并且這些DRAM起到為其提供FIFO體系結構的作用。
21.權利要求11中所要求的方法,其中該數據是從ATM、SONET交叉連接及WDM之一的操作發出的。
22.權利要求1中所要求的裝置,其中該數據是從ATM、SONET交叉連接及WDM之一的操作發生的。
23.權利要求2中所要求的系統,其中數據首標目的地位及專用于獨立的DRAM體的槽緩沖器的使用消除了總線爭用及對外部控制路徑及隨機存儲器尋址的需求,并使報文能同時寫入單個槽緩沖器中。
24.權利要求12中所要求的方法,其中數據首標目的地位及專用于獨立的DRAM的槽緩沖器的使用消除了總線爭用及對外部控制路徑及隨機存儲器尋址的需求,并使報文能同時寫入單個槽緩沖器中。
25.在多端口內部高速緩沖存儲的DRAM體(AMPIC DRAM)的一陣列中,其中通過對應的數據高速緩沖存儲多單元槽緩沖器在獨立的外部I/O數據寫入資源端口與對應的內部DRAM存儲器之間連接多個獨立的串行數據接口的串行數據接口,一種排除公共系統總線接口爭用同時消除對外部控制路徑與尋址存儲的需求的方法,包括將單個槽緩沖器與單個目的地I/O數據讀出資源端口專用于各DRAM體;以及利用固有的首標目的地標簽使報文能自我確定路由通過AMPIC DRAM,不管報文從哪一個I/O資源始發都使帶有相同標簽的所有報文的路由確定到同一DRAM體上,借此使所有系統I/O資源能同時將報文寫入到單個槽緩沖器中。
全文摘要
一種用于消除多端口內部高速緩沖存儲動態隨機存取存儲器(AMPIC DRAM)系統中的總線爭用,同時消除對外部控制路徑與隨機存儲器尋址的需求的技術與系統,這是通過使用數據首標目的地位及將減小大小的槽緩沖器新穎地專用于獨立的DRAM體并類似地專用的I/O數據讀出資源端口達到的,對于相對地短的ATM報文聯網等特別有用,其中使所有系統I/O資源都能將完整的ATM報文寫入單個槽緩沖器中,并且也用于SONET交叉連接及WDM報文。
文檔編號G06F12/00GK1298593SQ99805498
公開日2001年6月6日 申請日期1999年3月22日 優先權日1998年3月27日
發明者薩蒂什·S·索曼, 蘇巴塞思·帕爾 申請人:奈克斯比特網絡公司