两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

存儲器控制器的制作方法

文檔序號:6567784閱讀:254來源:國知局
專利名稱:存儲器控制器的制作方法
技術領域
本發(fā)明涉及一種存儲器控制器和一種用于將網(wǎng)絡和存儲器相連的 方法。
背景技術
隨著高級移動和便攜裝置復雜性的增加,這種裝置更大的需求應 用,復雜性、適應性和可編程性的需求增加了裝置內(nèi)部的數(shù)據(jù)交換。實 現(xiàn)這些應用的裝置通常由幾個功能或處理模塊組成,在這里稱為子系統(tǒng)。
典型地,將這些子系統(tǒng)實現(xiàn)為作為分立的集成電路(s印arateICs),每 一所述集成電路均具有不同的內(nèi)部結(jié)構,所述結(jié)構由局部處理器、總線 和存儲器等等組成??蛇x擇地,可以將各種子系統(tǒng)集成到一個集成電路 (IC)中。在系統(tǒng)級水平,這些子系統(tǒng)經(jīng)由最高級的互聯(lián)彼此通信,這 提供了可靠的且通常具有實時支持的服務。其中,作為移動電話結(jié)構的 一個例子,我們還可以具有基帶處理器、顯示器、媒體處理器或存儲元 件。為了支持多媒體應用,這些子系統(tǒng)以數(shù)據(jù)流方式交換大部分數(shù)據(jù)。 作為數(shù)據(jù)流的一個例子,可以參考通過媒體處理器從局部存儲器中讀出 MP3編碼的音頻文件并發(fā)送解碼流到揚聲器。附圖1示出了這種通信的 基本表示圖,可以經(jīng)由FIFO緩沖器B連接的處理器PI-P4來表示。這樣 的表示經(jīng)常稱為Kahn處理網(wǎng)??梢詫ahn處理網(wǎng)映射到系統(tǒng)結(jié)構上, 如E. A. de Kock等人的"YAPI: Application modeling for signal processing systems"文章中所述的,發(fā)表于Proc. of the 37th. Design Automation Conference, Los Angeles, CA, 了une 2000, pages 402-405. IEEE, 2000。在這種結(jié)構中,將處理P映射到子系統(tǒng)S上、存儲器SMEM 上的FIFO緩沖器上,并且在系統(tǒng)級水平的互聯(lián)IM上進行通信。
在相關的處理之間的數(shù)據(jù)流的適當支持中,緩沖是必不可少的。典
型地,將FIFO緩沖器用于數(shù)據(jù)流,所述數(shù)據(jù)流與數(shù)據(jù)流應用的(有界限 的)Kahn處理網(wǎng)模型一致。隨著能夠同時運行的多媒體處理數(shù)量的增加, 程序、實時數(shù)據(jù)流的數(shù)量、以及與FIFOs相關的數(shù)量實質(zhì)上也在增加。
對于存儲器使用和FIFOs分配,存在兩種極端的流實現(xiàn)方式。第一 種使用物理分布的存儲器,其中FIFO緩沖器位于子系統(tǒng)的局部存儲器 中,第二種使用物理和邏輯統(tǒng)一的存儲器,其中江南所有的FIFO緩沖器 被分配在一個共享的、通常在片外的存儲器中。也可能采用它們的結(jié)合 的方式。
FIFO緩沖器可以采用外部DRAM存儲技術在共享存儲器中實現(xiàn)。 SDRAM和DDR-SDRAM是能以低成本提供大容量外部存儲器的技術,相對 于硅面積比具有非常有吸引力的成本優(yōu)勢。
圖2示出了一個具有共享存儲器流框架的片上系統(tǒng)的基本結(jié)構。處 理單元C、 S經(jīng)由緩沖器B彼此通信。處理單元C、 S和緩沖器的每一個 均與接口單元IU相關聯(lián),用于將它們與互聯(lián)設備IM相連。在共享存儲 器數(shù)據(jù)交換的情況下,存儲器也能用作其它目的。例如,存儲器可以用 于代碼執(zhí)行或用于在主處理器上處理程序運行進行動態(tài)存儲分配。
包括互聯(lián)裝置、接口單元以及處理單元C、 S和緩沖器B的這種通 信結(jié)構或網(wǎng)絡可以提供特定的傳輸工具和獨立的下部結(jié)構來給以確定的 數(shù)據(jù)傳輸保證,例如保證信息吞吐量或保證數(shù)據(jù)的無誤傳遞或作為同步 源和終端元件的同步服務,例如由于緩沖器的欠載或過載也不會丟失數(shù) 據(jù)。如果系統(tǒng)執(zhí)行實時流處理并且為所有部件提供實時支持,那么上面 這種情況就變得很重要。
在圖2所示的許多芯上系統(tǒng)(SoC)和微處理器系統(tǒng)內(nèi)部,后臺存 儲器(DRAM)用于數(shù)據(jù)的緩沖。當數(shù)據(jù)以流方式通信并以緩沖為存儲器 中的流時,可以使用預取緩沖。這意味著從SDRAM中預先讀取數(shù)據(jù)并且 保存在特定的(預取)緩沖器中。當讀取請求到達時,可以從局部預取 緩沖器中提供數(shù)據(jù), 一般情況下在片上SRAM中執(zhí)行,不用由后臺存儲器 (DRAM)另外引入的反應時間。這種方式類似于公知的用于處理器的隨機 數(shù)據(jù)超高速緩存技術(caching techniques of random data)。對于數(shù) 據(jù)流,預取緩沖器中使用數(shù)據(jù)的連續(xù)(或最好稱為可預測的)尋址,而不是在超高速緩存中使用的隨機尋址。更詳細的,請參考J. L. Hennessy
禾口 D. A. Patterson的"Computer Architecture--A Quantitative
Approach"論文。
另一方面,由于DRAM技術,最好是以突發(fā)模式存取(讀取或?qū)懭? DRAM。因此,通常實現(xiàn)了回寫緩沖器,這樣聚集許多單一數(shù)據(jù)存入確定 長度的存取序列, 一旦對于第一DRAM存取的初始程序完成,每個緊鄰的 具有與在前的數(shù)據(jù)字(例如下一個、前一個取決于序列策略)確定關系 的地址的數(shù)據(jù)字能夠不用任何延遲(在l個周期內(nèi))的以指定的存取量 (例如2/4/8整頁)存入每個緊鄰的存儲器的循環(huán)。因此,通過流存儲 到存儲器,對于同樣方式的每次存取(例如連續(xù)尋址)當?shù)刂吩黾踊驕p 小時,序列存取以最低的功耗提供了最好的性能。關于DRAM存儲器的原 理的更多信息,請參考Micron'sl28-MbitDDRRAM的說明,在此一并作 為參考,網(wǎng)址如下
http://download, micron, eom/pdf/datasheets/dram/ddr/128MbDDRx4x 8x1 6.pdf
為了通過(外部)存儲器交換流數(shù)據(jù),寫入存儲器的數(shù)據(jù)首先被 存儲在回寫緩沖器中,而從外部存儲器讀出的數(shù)據(jù)首先被存儲在預取緩 沖器中,對類似這樣的緩沖器的要求是它們應該足夠大來盡可能降低延 時或反應時間,而不是僅大于需要的空間,類似于不會有空間被浪費并 用作其它目的。

發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種存儲器控制器,用于將網(wǎng)絡和存儲器 相連,本發(fā)明也提供一種用來將網(wǎng)絡和存儲器相連的方法,該方法提供 多個數(shù)據(jù)流到存儲器的有效緩沖。
本發(fā)明的這個目的通過如權利要求1所述的存儲器控制器和如權利 要求5所述的用來將網(wǎng)絡和存儲器相連的方法來解決。
提供一種存儲器控制器用來將存儲器與網(wǎng)絡相連。所述的存儲器控
制器包括第一接口、流存儲單元和第二接口。所述第一接口將所述存儲 器控制器與所述網(wǎng)絡相連,用于接收和傳輸多個數(shù)據(jù)流。所述流存儲單 元與所述第一接口相連,用來控制在所述網(wǎng)絡和所述存儲器之間的多個 數(shù)據(jù)流,所述流存儲單元包括緩沖器用來暫時存儲至少一部分多個數(shù)據(jù) 流,并且流存儲單元還包括緩沖管理單元用來管理在緩沖器中的數(shù)據(jù)流 存儲和為多個數(shù)據(jù)流的至少一個動態(tài)地分配緩沖器。所述第二接口與所 述流存儲單元相連,用來將所述流存儲器控制器與所述存儲器相連,并 以突發(fā)模式與所述存儲器交換數(shù)據(jù)。此外,提供緩沖器大小確定單元根 據(jù)所述數(shù)據(jù)流中的至少一個計算緩沖器的大小。
因此,在運行時,可以為緩沖器計算并分配準確且最佳的容量,因 而增加了整個系統(tǒng)的容量。
按照本發(fā)明的一個方面,將第一接口實現(xiàn)為PCI-Express接口,使 得PCI-Express標準網(wǎng)絡的性能和網(wǎng)絡服務通過存儲器控制器來實現(xiàn)。
按照本發(fā)明的進一步的一個方面,提供仲裁器用來在所述數(shù)據(jù)流中 對所述存儲器的存取進行仲裁,以使得每個數(shù)據(jù)流在一個時隙內(nèi)訪問所 述存儲器,該一個時隙足夠存取所述存儲器(MEM)的至少一個存儲頁, 考慮到功耗,象DMM這樣的存儲器以突發(fā)模式是最好操作的,這樣的存 儲器控制器將因此可以在低功耗下實現(xiàn)智能仲裁。
本發(fā)明也涉及一種用來將存儲器與網(wǎng)絡相連的方法,經(jīng)由第一接口 接收和傳輸數(shù)據(jù)流,所述第一接口將存儲器控制器與網(wǎng)絡相連,通過流 存儲單元控制在所述網(wǎng)絡和所述存儲器之間的所述數(shù)據(jù)流,在緩沖器中 暫時存儲所述數(shù)據(jù)流的至少一部分,管理在所述緩沖器中暫時存儲的所 述數(shù)據(jù)流和為所述數(shù)據(jù)流中的至少一個動態(tài)分配緩沖器,連接所述流存 儲器控制器到所述存儲器,通過第二接口和以突發(fā)模式與所述存儲器交 換數(shù)據(jù),為所述數(shù)據(jù)流中的至少一個確定緩沖器的大小。
本發(fā)明涉及計算緩存量的概念,如考慮到流帶寬、通信網(wǎng)絡表現(xiàn)和 DRAM仲裁的細節(jié),在運行期間存儲器控制器會進行預取和回寫緩存。提 供緩沖器大小確定單元來確定存儲器控制器中的緩沖器的大小,特別的, 依照緩沖器大小確定單元來確定預取緩沖器和回寫緩沖器,預取緩存和 回寫緩存的最佳緩存量能夠在存入存儲器時達到零延遲,這樣的延遲對
應于存儲器的一個存儲頁并且在長的最壞情形的隊列時間下傳送的大量 字節(jié),具有這樣的緩存量,由存儲器控制器引入的延遲被有效地減小到 最小值,小的緩沖器將會導致增加延遲,而大的緩沖器將會減小用作其 它目的的可用存儲空間。
本發(fā)明的其它方面服從于其依賴的權利要求。
本發(fā)明的這些和其它方面是顯然的并且參考下面的實施例和附圖 來說明。


附圖1為Kahn處理網(wǎng)的基本結(jié)構及其到共享存儲器結(jié)構上的映射;
附圖2為具有共享存儲器流框架的片上系統(tǒng)的基本結(jié)構附圖3為按照第一實施例的流存儲器控制器SMC的方框附圖4為按照第二實施例的流存儲器控制器SMC的邏輯視圖的方框附圖5為最壞情形下的延遲對緩沖器大小的影響的曲線附圖6為反應時間相對緩沖器大小的影響的曲線圖;以及
附圖7為功率對緩沖器大小的影響的曲線圖。
具體實施例方式
附圖3為按照第一實施例的流存儲器控制器SMC的方框圖,流存儲器 控制器SMC包括PCI-Express接口PI,流存儲單元SMU和更多的接口MI作為 到(外部)SDRAM存儲器MEM的接口 ,流存儲單元SMU包括緩沖管理單元BMU, 緩沖器B,緩沖器B可以作為SRAM存儲器來執(zhí)行,還包括仲裁器ARB,在SRAM 中執(zhí)行緩沖的流存儲單元SMU和緩存管理器BMU共同通過到SDRAM的 PCI-Express接口來用作緩沖存取,為了管理緩沖器(更新指針記錄)和 從/向緩沖器(SRAM)及從/向SDRAM傳遞數(shù)據(jù),緩沖管理單元BMU適于對 從PCI-E鄧ress接口到SDRAM的讀或?qū)懘鎯Ψ磻?,特別的,緩沖管理單元 BMU可以包括FIFO管理器。
流存儲單元進一步包括緩沖器大小確定單元BDU,緩沖器大小確定 單元BDU確定緩存器B的大小,緩沖器大小確定單元BDU確定緩沖器的大小,例如為了在存入SDRAM存儲器時確保零等待來預存取和回復緩存,基 于流帶寬和仲裁通道量來執(zhí)行上述操作。有了類似這樣的緩沖器大小確 定單元BDU,在運行期間,能夠計算和分配預取和回寫緩存及其它緩存的 準確且最佳的緩存量,進一步,存入SDRAM的低延遲被實現(xiàn),如果需要的 話,在可用存儲空間、已分配的存儲器和時間延遲之間實現(xiàn)平衡。在SDRAM
存儲器中,可執(zhí)行預取緩沖和回寫緩沖。
流存儲器控制器SMC調(diào)整由網(wǎng)絡(基于PCI-Express標準的網(wǎng)絡)產(chǎn) 生的通信量以適合外部存儲器MEM的指定行為,該外部存儲器MEM可以作 為一個SDRAM被執(zhí)行。換句話說,流存儲器控制器SMC用來為每一個流提 供一個帶寬保證,而且提供受限的傳遞時間和從或到外部存儲器MEM的數(shù) 據(jù)無誤傳輸。當流存儲器控制器SMC用來設計成控制外部存儲器的存取 時,在流存儲器控制器SMC中的帶寬仲裁與在網(wǎng)絡中的仲裁具有相同的概 念,例如,時隙和實隙分配,然而,時隙的大小不得不被調(diào)整以適應SDRAM 的性能。
換句話說,流存儲單元SMU向外部存儲器MEM執(zhí)行PCI-Express網(wǎng)絡 的網(wǎng)絡服務。因此,為對外部SDRAM存儲器存取,流存儲單元SMU將來自 PCI-Express網(wǎng)絡的數(shù)據(jù)流譯成突發(fā)以使得將該SDRAM的總的有用帶寬劃 分為多個突發(fā)存取。突發(fā)存取的數(shù)量可以賦給來自于網(wǎng)絡的流以實現(xiàn)這 些流的帶寬需求。流存儲單元SMU也可以執(zhí)行同步機制以服從 PCI-Express網(wǎng)絡的流控制機制。該同步機制可以包括各個需求的一個阻 塞。當流存儲器控制器SMC被設計用來處理幾個獨立的流時,流存儲單元 SMU被設計為建立、維護以及管理所需求的緩存。
由圖3知,流存儲器控制器SMC有兩個接口 一個朝向PCI-Express 結(jié)構,第二個朝向存儲器(例如,DRAM)。流存儲器控制器SMC的 PCI-Express接口為遵守PCI-Express的通信規(guī)則必須對從SDRAM存儲器 恢復的數(shù)據(jù)執(zhí)行通信整形。在流存儲器控制器SMC的另外一個接口上,對 DRAM存儲器的訪問是按組來進行的,因為這種訪問存儲在DRAM存儲器中 數(shù)據(jù)的模式對于能量消耗有最大的優(yōu)點。流存儲器控制器SMC本身必須提 供在不同的流中對DRAM進行存取的智能仲裁以保證存取的吞吐量和延遲 時間。此外,SMC也可以提供智能FIFO緩存管理的功能。
P
CI-Express網(wǎng)絡的基本思想在"PCI Express Base Specification, Revision 1. 0", PCI-SIG, July 2002, www.pcisig.org,中有相應的描 述,這里,將此作為參考。在設計流存儲器控制器時,所考慮的 PCI-Express的特點是支持數(shù)據(jù)的同步傳輸,流控制,以及特殊的地址 配置。同步支持主要基于同步和異步通信的分離利用虛擬通道VCs。因此, 網(wǎng)絡資源如帶寬和緩存在交換結(jié)構中可以明確地為某個特定的流而保 留,因而在不同的虛擬通道中流之間保證不會有沖突。此外,在交換結(jié) 構中,同步通信通過時序被調(diào)整,即允許控制服務。
在第一個實施例中,使用了一個(DDR) SDRAM存儲器。作為舉例, 可以查閱在Micron公司的128-Mbit DDRRAM說明書中描述的128-Mbit DDR-SDRAM 存 儲 器 ,
http://download, micron, eom/pdf/datasheets/dram/ddr/1 28MbDDRx4x8xl 6.pdf,這里提出來作為參考。這種技術是非??扇〉模?br> 因為它提供了滿意的能量消耗和定時行為。然而,設計被參數(shù)化,并且 存儲器控制器SMC也要配置單數(shù)據(jù)率存儲器進行工作。因為DDR-SDRAM和 SDRAM的工作方式是相同的,除了數(shù)據(jù)線的定時,因此我們用SDRAM的概
念解釋其基本要點。
PCI-Express網(wǎng)絡PCIE提供網(wǎng)絡服務,例如保證數(shù)據(jù)的實時傳輸,
通過在實時流經(jīng)過的設備中保留專用的資源/帶寬。當被一個標準控制器 支持的一個外部DRAM連接到PCI-Express結(jié)構,而在它們之間沒有連接任 何智能存儲器控制器,帶寬延遲和其他的被PCI-Express能提供的典型的 保證,都不能通過存儲器實現(xiàn),因為它不能給出任何保證并且其對于輸 入的通信量只擔當一個從屬的角色。
標準存儲器控制器的設計集中在以最可能少的反應時間來獲得最 可能高的帶寬。這樣的方法適合處理機對數(shù)據(jù)和指令(高速緩存存取器) 的存取,而不適合同步通信。為了能夠提供PCI-Express網(wǎng)絡被外部DRAM 擴充后的可預測的性能,需要一個流存儲器控制器,它能保證,對流來 說,外部存儲器的可預測的性能。另外,根據(jù)本發(fā)明的存儲器控制器的
設計,其目的不僅能夠保證吞吐量和延遲時間,而且當對DRAM存取時還 能減少能量消耗。
圖4根據(jù)第二實施例顯示出了流存儲器控制器SMC的邏輯視圖的方 框圖。這里,顯示出了一個多流緩沖過程的邏輯視圖。流ST1-ST4中的每 一個都與一個獨立的緩沖器相關。當數(shù)據(jù)進入所需要的外部SDRAM時,這 些緩沖器可以被分成兩部分,例如, 一個往返緩沖器PFB和一個回寫緩沖 器WBB。在僅有一個流可以進入外部SDRAM的時候, 一個仲裁器ARB被提供 用來與一個多路復用器MUX聯(lián)合執(zhí)行仲裁以解決不同流在根據(jù)其帶寬需 求而進入存儲緩沖器時之間的沖突。
不同實時流之間的內(nèi)存存取仲裁是保證吞吐量和限定存取延遲所 必需的。假設無論何時當數(shù)據(jù)被寫入或從內(nèi)存中讀出,最好一整頁(或 者多頁)被讀寫,例如,以突發(fā)的模式進行存取。存取一頁(對讀寫操 作來說略有不同)所需要的時間被稱為一個時隙TS。每個流能對其在一 個時隙TS內(nèi)可以執(zhí)行作為一個SDRAM的存儲器MEM進行控制,在該時隙TS 中,該SDRAM中例如一頁的數(shù)據(jù)被存取。 一個服務周期SC可以包括一固定 數(shù)目的時隙。在每個服務周期開始的時候,存取序列重復和重置。
時隙的大小從原理上來說是能夠設計的。時隙的大小應當反映存儲 器的性能,以及數(shù)據(jù)所期望的大小,例如,在SDRAM和連接(例如, PCI-Express)之間傳送的內(nèi)部存儲器控制器緩沖區(qū)的大小。因此,對每 個系統(tǒng)和每個存儲器來說時隙都將是不同的。時隙的大小能在運行中調(diào) 整。如果提出缺少內(nèi)部存儲器(例如,被其他的流緩沖器占用)而要為 當前的流創(chuàng)建一個最佳的緩沖器時, 一個權衡在緩沖器大小而浪費的能 量和反映非最佳的緩沖(例如,較小的緩沖器)的時隙調(diào)整之間被執(zhí)行。 對一個PCI-Express網(wǎng)絡和一個SDRAM, SDRAM存取一個整頁的時隙
的計算如下
在一個時隙中,任何一個流訪問SDRAM的一個整頁。對Micron公司 的128Mb DDR-RAM (4Meg * 8 * 4Banks)來說,該頁的大小為lKbytes。 1Kbytes等于8個基本包大小(128 Bytes)的PCI-Express包。
假定16-bit字節(jié),讀取l頁(重復激活)的最少的時間等于2 (激活到讀取的周期)+512 (讀取的周期)+2 (預充電到激活的周期)=516 個時鐘周期=516 * 7. 5 ns = 3.87 ps
寫入l頁(重復激活)的最少的時間等于2 (激活到寫入的周期) +512 (寫入的周期)+1.25 (tQDSSmax) +2 (tWR) +2 (預充電到激活的 周期)=519.25個時鐘周期=519 * 7. 5 ns = 3.894 ps。
因此, 一個時隙至少為3.894iis (或520個內(nèi)存時鐘周期)。因而, 對SDRAM來說每秒可達到(最大)256,805的頁面存取。
在上述假設下,SDRAM最大可能的數(shù)據(jù)率(帶寬)是256.805 Mbytes/S,需要注意的是,這些數(shù)值是對于上述描述的DDR-RAM而言的。 對其他的DRAM來說是另外的值。
作為一個例子,SDRAM FIF0緩沖器的總數(shù)被選定為4個是為了計算 最壞情形下由仲裁引入的包的延遲,例如, 一個包在離開存儲器控制器 SMC與它進入存儲器控制器的時間的差別。進一步,假設所有的數(shù)據(jù)流有 相同的優(yōu)先權,例如,基于循環(huán)(round robin)方式執(zhí)行仲裁。存儲器 控制器SMC的緩沖器的大小為8個包或lKbytes。讀取和寫入SDRAM的流的 數(shù)據(jù)率相同。因此,SDRAM中每個FIF0緩沖器在提供的一個具有8個時隙 窗口中被寫入和讀取,如果有足夠的數(shù)據(jù)的話。
T 二 tl + t2 + t3 + t4+ t5 + t6 + t7
tl對應于對數(shù)據(jù)解包并送到存儲器控制器SMC中時被PCI-Express 占用的時間。t2對應于有多少包保留在存儲器控制器SMC的回寫緩沖器中 的時間。t3對應于在向SDRAM寫入包時消耗的時間。t4對應于包保留在 SDRAM FIF0的FIF0中的時間。t5對應于從SDRAM讀出包時所消耗的時間。 t6對應于有多少包保留在存儲器控制器的預取緩沖器中的時間。t7對應 于從存儲器控制器接收數(shù)據(jù)并形成包時被PCI-Express所占用的時間。
作為舉例,t2, t3, t5和t6在一些假設條件下被計算。對最壞情形 下的延遲,假設一個包首先到達存儲器控制器的回寫緩沖器,然后等待 多于7個的包(為了填滿回寫緩沖器),再然后它還必須等待7個時隙才能 進入SDRAM (7個其它的流首先進入SDRAM)。同樣地,對于最壞的情形, 假設包要等待7個時隙且多于7個的包被讀取。
假設對于舉例的流而言,兩個包之間的時間是945jas (單音頻通道 44. lKHz * 24 bit = 1058.4 kbps = 1058包/秒)。
對于最壞的情況t2 = 7 * 945 二 6615|is, t6 二 7 * 945 = 6615|is。
然而,在最壞的情況下,t2和t6的時間是專有的,因為在SRAM中任 何包都必須等待在回寫緩沖器中的7個其它的包(最壞情形),然后這個 包才能成為第一個被讀取的包。
因此,可以導出總的時間t2 + t6 = 6615ps。最壞情形下t3和t5的 值是對SDRAM進行8個頁存取的時間,因為在最壞情形下任何流都不得不 等待7個時隙然后才能完成頁存取。因而,總的時間就是等待(7個時隙) 和實際的讀/寫(l個時隙)。t3 = t5 = 8 * 3.894 二 31.2ps,當作為 一個SDRAM的時隙(頁存取)為之前所計算的3.894ps時。
假設t' 二 tl + t4 + t7是一個不依賴流參數(shù)的常數(shù)值,那么最壞 情形下的延遲T = 6615 + 31.2 +31.2 + t, ^Sec = 6.7 mSec + t,.
假設(對其他情形)12.8 MB/sec的數(shù)據(jù)率(每lC^s—個包),最 壞情形下的延遲為T 二 70 + 31. 2 + 31. 2 + t' pSec = 132. 4 + t, pSec
在SDRAM的這種存取原則(整頁存取)下,需要的能量是最小的,
但是最壞情形下的延遲要比那些有較小數(shù)據(jù)率(帶寬)的流要大。
圖5的曲線圖是在數(shù)據(jù)率為128Mbits/s ,使用頁突發(fā)的一個128Mb DDR- RAM(4 Meg * 8 * 4 Banks),以及假設所有流具有相同的分配帶寬 時的最壞情形延遲的情況下計算出來的。如圖5所示,最壞情形下的延遲 WCD隨著緩沖器的大小BS線性增加。
圖6的曲線圖解釋了回寫緩沖器的緩存大小對存儲器控制器SMC的 反應時間LT的影響。當存儲器控制器SMC中的預取緩沖器或回寫緩沖器出 現(xiàn)對SDRAM的存取需求時,需要一個限定的時間(如上述計算的t5)以進 行存取。在最壞的情形下,這個需求被所有較高優(yōu)先級的流所延遲。假 設所有其它7個流首先將被以循環(huán)(Round Robin)的方式處理。如果在 這個時間當中緩沖器有任何需求出現(xiàn),緩沖器都將需要足夠多的額外空 間(超過SDRAM—頁數(shù)據(jù)的基本大小)去完成該需求。否則,該需求將被 阻塞因為緩沖器將不得不等待直到它能進行SDRAM的存取。為提供非阻塞
存取,緩沖器中所需的額外空間依賴于流的數(shù)據(jù)率。
圖6中的曲線圖是在128 Mb DDR-謹(4 Meg * 8 * 4 Banks)以及假 設所有的流具有相同的分配帶寬時的平均反應時間的情況下計算出來 的。
當預取緩沖器變空而DRAM的整頁要傳送到預取緩沖器時,在最壞情 形下8個時隙( 8*516周期二32 ias)是需要的。如果緩沖器的大小等于 DRAM的一個頁,那么第一個包的存取(讀需求的完成)需要32ps,而剩 余的包理想地被存取(讀需求的完成)在單個時鐘周期內(nèi)。因此,對于 任何包來說平均反應時間為517 ( (8*516+7)/8 )個時鐘周期。該平均反 應時間與數(shù)據(jù)率無關。
由圖6知,對于高數(shù)據(jù)率的流所需要的緩存大小也更大,因為它要 供應更多的數(shù)據(jù)在SDRAM存取時間內(nèi)進行非阻塞存取。在SDRAM的存取時
間中,對高數(shù)據(jù)率的流來說,更多的包被需求。
在存儲器控制器SMC (對于本例)中,提供零延遲的SDRAM存取的最 佳的緩沖器的大小二l DMM的頁+當需求在隊列中時的緩存包(max 32 Hs)= 1 KB +對每個4 Mbit/s的數(shù)據(jù)率來說l個額外空間包(128 Bytes)。
圖7的曲線圖解釋了緩沖器的大小BS對消耗的能量P的影響。這里, 當緩沖器的大小被調(diào)整時,又一個設計權衡被執(zhí)行和計算。SDRAM支持 1,2,4,8大小的突發(fā)長度和頁突發(fā)。當突發(fā)大小增加時,對SDRAM來說處 于激活ACTIVE模式下的時間就會減小,并且SDRAM能被提早進入待命狀態(tài) (SELF REFRESH,自刷新)。因此,當突發(fā)增加時,SDRAM中的能量消耗 減少。
圖7中的曲線圖是在對SDRAM讀取數(shù)據(jù)為10 Mbit/s以及128 Mb DDR-RAM(4 Meg * 8 * 4 Banks)的情況下計算出來的。該圖顯示出了頁 突發(fā)消耗了最低的能量。不同的突發(fā)所消耗的能量的差別越大,SDRAM 所需要的帶寬越多。
以上所描述的思想也能在需要對SDRAM存取進行實時仲裁(如一個
流存取)的系統(tǒng)中實施,當滿足小的能量需求的時候。這里可以舉出帶 有音頻/視頻功能的移動電話的例子。
因此,以上提到的本發(fā)明實施例的原理能應用于所有包括一個互連 基礎結(jié)構如一條總線或者一個網(wǎng)絡,并當其他的(外部的)設備不能實 施該網(wǎng)絡服務時,可以支持特定的服務的系統(tǒng)。作為一個互連基礎結(jié)構
例子的PCI-express標準網(wǎng)絡,能夠執(zhí)行帶寬分配服務,流控制服務或 其他類似服務,當(外部的)SDRAM存儲器不能執(zhí)行這些服務時。
盡管在以上的實施例中,僅有一個存儲器MEM被描述,但對于每個 PCI-Express標準的流的處理來說,以上提到的配置都能夠使用,尤其是 對于順序地址,如一個直接存儲器存取DMA的地址,本發(fā)明的以上原理也 可用于有兩個或更多獨立存儲器的分布式存儲器系統(tǒng)中。在這種情形下, 每個存儲器都應當被提供一個獨立的存儲器控制器,其中每個存儲器都 應當包括一個獨立的設備地址。這里,流緩沖器的數(shù)量不局限于8個。
當通過改變參數(shù)(如,緩沖器和緩沖器的大小,仲裁策略)來調(diào)整 設計時,對片外存儲器的實時流存儲器控制器的設計中,為了獲得結(jié)果 而進行實驗成為可能以進一步優(yōu)化和權衡設計指標(Trade-offs)。這些 優(yōu)化和權衡設計指標(trade-offs)的例子,其在練習設計的過程中能 夠被體現(xiàn)出來,在相對于在數(shù)據(jù)存取時最壞情形下的延遲的突發(fā)大小和 輸入/輸出緩沖器的大小,外部存儲器的能量浪費,禾BSMC中的反應時間 之間是相互聯(lián)系的。
根據(jù)本發(fā)明的實時流存儲器控制器支持片外網(wǎng)絡服務而且對以流 的方式訪問外部DRAM提供了實時保證。
存儲器控制器SMC已被設計成允許訪問來自于PCI Express標準的網(wǎng) 絡中的外部DRAM。該存儲器控制器SMC用VHDL設計,綜合和驗證。根據(jù)消 耗的硅和能量可得到復雜性圖。另外,作為一個特殊的應用可以探索設 計空間,某種設計指標的優(yōu)化和權衡(trade-offs)也能在使用不同的 參數(shù)和仲裁原則練習設計的過程中得到體現(xiàn)。
這里,存儲器控制器SMC能被實現(xiàn)在低能量的模式下給出進行SDRAM 存取的帶寬保證。仲裁算法,盡管要保證帶寬,但仍然可以靈活的應付 網(wǎng)絡的波動和不穩(wěn)定。PC工Express限定8流獨立地被仲裁。對SMC設計中 有一些重要的權衡Trade-offs,如緩沖器大小(費用)與能量的比值,
以及存取延遲。1/0緩沖器的增加可以緩解仲裁,降低存取反應時間,以
及減少來自于SDRAM累積的帶寬需求。
應當注意到,上述提到的實施例是用來解釋而非限制本發(fā)明,能用 來設計多個可替換的實施例的技術手段沒有脫離權利要求書的范圍。在 權利要求中,括號里的任何參考標記都不限定該權利要求。在權利要求 中,詞"包括"不排除已有的元件或方法除了列出來的之外。在元件前 的詞"一個"不排除存在多個該元件。在裝置權利要求以列舉的多種方 式,這些方式中的多種能通過一個相同的硬件設備概括。某些屬于相互 不同的從屬權利要求的步驟不表示它們的結(jié)合是沒有優(yōu)點的。
進一步,權利要求中的任何附圖標記不構成對權利要求保護范圍的 限制。
權利要求
1.一種存儲器控制器(SMC),用來將存儲器(MEM)網(wǎng)絡(N)相連,包括第一接口(PI),用于將所述存儲器控制器(SMC)與所述網(wǎng)絡(N)相連,所述第一接口配置用來接收和發(fā)射多個數(shù)據(jù)流(ST1-ST4);流存儲單元(SMU),與所述第一接口(PI)相連,用于控制在所述網(wǎng)絡(N)和所述存儲器(MEM)之間的所述多個數(shù)據(jù)流(ST1-ST4);所述流存儲單元(SMU)包括緩沖器(B),用來暫時存儲至少一部分所述多個數(shù)據(jù)流(ST1-ST4);緩沖管理單元(BMU),用來動態(tài)地為所述多個數(shù)據(jù)流(ST1-ST4)的至少一個分配緩沖器(PFB,WBB);以及緩沖器大小確定單元(BDU),用于針對所述數(shù)據(jù)流(ST1-ST4) 中的至少一個計算緩沖器(B、PFB、WBB)的大?。灰约暗诙涌?,與所述流存儲單元(SMU)相連,用來將所述流存儲器控制器(SMC)與所述存儲器(MEM)相連,并按照突發(fā)模式與所述存儲器(MEM)交換數(shù)據(jù)。
2. 根據(jù)權利要求l所述的存儲器控制器,其中 所述第一接口 (PI)是PCI express接口。
3. 根據(jù)權利要求1所述的存儲器控制器,其中 將用來在所述數(shù)據(jù)流(ST1-ST4)中對所述存儲器的存取進行仲裁仲裁器(ARB)配置為使得每個數(shù)據(jù)流(ST卜ST4)在時隙期間訪問所述 存儲器(MEM),所述時隙足夠存取所述存儲器(MEM)的至少一個存儲頁。
4. 根據(jù)權利要求3所述的存儲器控制器,其中所述緩沖器(B) 包括至少一個預取緩沖器(PFB)和一個回寫緩沖器(WBB),其中所述緩沖器大小確定單元(BDU)確定所述預取緩沖器(PFB) 和所述回寫緩沖器(WBB)的大小,使所述大小與所述存儲器(MEM)的 一個存儲頁和針對數(shù)據(jù)流在最壞情形的隊列時間期間傳輸?shù)奈粩?shù)相對 應。
5. —種將存儲器(MEM)與網(wǎng)絡(N)相連的方法,包括以下步驟 經(jīng)由第一接口 (PI)接收和發(fā)射數(shù)據(jù)流(ST1-ST4),所述第一接口 用于將存儲器控制器(SMC)與所述網(wǎng)絡(N)相連;通過流存儲單元(SMU)控制在所述網(wǎng)絡(N)和所述存儲器(MEM) 之間的所述數(shù)據(jù)流(ST1-ST4);在緩沖器(B)中暫時存儲所述數(shù)據(jù)流(SH-ST4)的至少一部分;管理在所述緩沖器(B)中暫時存儲所述數(shù)據(jù)流(ST1-ST4)以及針 對所述數(shù)據(jù)流(ST1-ST4)中的至少一個動態(tài)地分配緩沖器;經(jīng)由第二接口將所述流存儲器控制器(SMC)與所述存儲器(MEM) 相連,并且按照突發(fā)模式與所述存儲器(MEM)交換數(shù)據(jù);針對所述數(shù)據(jù)流(ST1-ST4)中的至少一個來確定緩沖器的大小。
6. —種數(shù)據(jù)處理系統(tǒng),包括多個處理單元;網(wǎng)絡,用于連接所述處理單元;以及 根據(jù)權利要求1-4中任一項所述的存儲器控制器。
全文摘要
一種存儲器控制器(SMC),配置用于將存儲器(MEM)網(wǎng)絡(N)相連。存儲器控制器(SMC)包括第一接口(PI)、流存儲器單元(SMU)和第二接口。所述第一接口(PI)用來將所述存儲器控制器與用于來接收和發(fā)射數(shù)據(jù)流(ST1-ST4)的所述網(wǎng)絡相連。所述流存儲單元(SMU)與用來控制在所述網(wǎng)絡(N)和所述存儲器(MEM)之間的數(shù)據(jù)流(ST1-ST4)的所述第一接口(PI)相連。所述流存儲單元(SMU)包括緩沖器(B),用來臨時存儲至少一部分數(shù)據(jù)流(ST1-ST4);以及緩沖管理單元(BMU),用來管理在緩沖器(B)中暫時存儲的數(shù)據(jù)流(ST1-ST4)以及用于為至數(shù)據(jù)流(ST1-ST4)的至少一個動態(tài)地分配緩存器(PFB、WBB)。所述第二接口與用來將所述存儲器控制器(SMC)連接到所述存儲器(MEM)的所述流存儲單元(SMU)相連,以便按照突發(fā)模式與所述存儲器(MEM)交換數(shù)據(jù)。另外,緩存器大小確定單元(BDU)配置用于至少其中一個數(shù)據(jù)流(ST1-ST4)確定緩存器(B)的大小。
文檔編號G06F13/16GK101198941SQ200680021094
公開日2008年6月11日 申請日期2006年6月13日 優(yōu)先權日2005年6月13日
發(fā)明者阿圖爾·P·S·尚漢, 阿特爾·伯查德 申請人:Nxp股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
静乐县| 嘉荫县| 黄陵县| 长汀县| 湘西| 丰县| 图木舒克市| 资源县| 石棉县| 万盛区| 安泽县| 抚宁县| 江阴市| 民丰县| 韩城市| 开阳县| 巴林左旗| 凤庆县| 康平县| 青岛市| 洛宁县| 奇台县| 娄底市| 贵定县| 外汇| 江西省| 资中县| 乳源| 武强县| 山东| 天气| 礼泉县| 上栗县| 固安县| 峨边| 固镇县| 祁阳县| 岳西县| 陈巴尔虎旗| 于田县| 青神县|