大容量高速緩衝存儲器的製作方法
2023-10-22 03:54:42
專利名稱:大容量高速緩衝存儲器的製作方法
技術領域:
本發明涉及一種用於高速接口的大容量高速緩衝存儲器,尤指一種用於計算機系統大容量數據實時傳輸的大容量高速緩衝存儲器。
背景技術:
在目前的計算機結構中,為了提高處理器數據存取的速度,通常在處理器和主存儲器之間設置高速緩衝存儲器(Cache)。隨著計算機處理速度不斷提高,用戶對於數據帶寬要求的不斷增大,埠數據的傳輸速率也越來越高。在要求實時大容量數據傳輸,特別是在為多用戶傳輸實時視頻數據時,傳統的在接口晶片中加入緩衝器的方法已經不能滿足為高速接口提供高速緩衝存儲器的要求,所以需要額外的大容量高速緩衝存儲器來滿足用戶的需求。
為了給高速接口提供大容量的高速緩衝存儲器,很多設計中採用了硬碟作為高速緩衝器的方法,採用直接存儲器存儲(Direct Memory Access,以下簡稱DMA)的方式來為高速接口緩存輸入輸出數據。處理器單元將要發送的數據首先送入硬碟中緩存,然後高速接口單元採用DMA方式從硬碟讀出數據送給用戶。然而,硬碟埠讀寫數據速率比較小,最大帶寬數百兆比特每秒,且硬碟埠讀寫的時間間隔比較長,讀寫間隔時間數毫秒,不僅影響高速接口帶寬,還影響實時數據的響應速度。因此,當高速接口速率提高,特別是接口的速率達到千兆比特以後,採用硬碟作為高速緩衝器就不能滿足用戶的要求了。
與此同時,雙數據速率同步動態隨機存儲器內存條(Double DateSynchronous Dynamic Random Access Memory DIMM,以下簡稱DDRSDRAM DIMM)相比硬碟具有如「讀寫反應快速,可以提高高速接口實時數據傳輸的性能」及「單個DDR SDRAM DIMM的帶寬可以達到數千兆比特每秒」的優點,完全可以滿足高速接口單元高帶寬大流量實時不間斷數據存取的要求。
鑑於上述原因,本發明提出一種採用DDR SDRAM DIMM代替硬碟作為高速接口的大容量高速緩衝存儲器。
發明內容
本發明的目的在於提供一種大容量高速緩衝存儲器,以滿足高速接口訪問帶寬及實時高速傳輸的需求。
本發明目的通過以下技術方案實現大容量高速緩衝存儲器,包括高速緩衝存儲控制器及由DDR SDRAM內存條陣列組成的高速緩衝存儲器單元,各DDR SDRAM內存條存儲空間的地址依陣列序輪序變化。
該高速緩衝存儲控制器通過現場可編程門陣列(Field ProgrammableGate Array,FPGA)實現。
該高速緩衝存儲器單元中,各DDR SDRAM內存條陣列對稱分組,高速緩衝存儲控制器將數據依照字節地址、對應DDR SDRAM內存條的存儲空間地址,對各DDR SDRAM內存條組進行操作。
更進一步地說,DDR SDRAM內存條對稱分為二組,在進行寫操作時,高速緩衝存儲控制器將數據按照字節的奇偶地址、對應DDR SDRAM內存條的存儲奇偶地址,交替地對兩個DDR SDRAM內存條組進行寫操作。
在進行讀操作時,高速緩衝存儲控制器按照字節地址奇偶同時從兩個DDR SDRAM內存條組裡將數據讀出來並組合。
各DDR SDRAM內存條的存儲空間按照塊定義,各存儲空間地址依組序輪序變化。
高速緩衝存儲控制器在對DDR SDRAM內存條進行讀寫操作時,對該組內的DDR SDRAM內存條進行刷新操作。
大容量高速緩衝存儲器,包括高速緩衝存儲控制器及由DDR SDRAM內存條陣列組成的高速緩衝存儲器單元,各DDR SDRAM內存條存儲空間地址輪序變化,高速緩衝存儲控制器對DDR SDRAM內存條進行讀寫操作時,對該陣列內其他DDR SDRAM內存條進行刷新操作。
當所述高速緩衝存儲控制器對DDR SDRAM內存條的讀寫操作和刷新操作衝突時,高速緩衝存儲控制器通過調整刷新時間避免衝突。
與現有技術相比,本發明大容量高速緩衝存儲器採用DDR SDRAM內存條陣列作為高速接口的緩衝存儲器,可以為高速接口提供比較大的訪問帶寬和比較大的緩衝存儲器容量,還可以為高速接口提供比較小的讀寫訪問延時。
圖1為本發明大容量高速緩衝存儲器的實現框圖。
圖2為本發明大容量高速緩衝存儲器中高速緩衝存儲控制器與2×2陣列DDR Array之間的連接關係。
圖3為本發明大容量高速緩衝存儲器中DDR Array的物理存儲空間地址結構圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,下面結合附圖對本發明做進一步說明。
請參閱圖1所示,本發明大容量高速存儲緩衝器在高速接口晶片和數據處理模塊之間加入由雙數據速率同步動態隨機存儲器內存條陣列(DDRSDRAM DIMM Array,以下簡稱DDR Array)組成的Cache單元以及用現場可編程門陣列(Field Programmable Gate Array,以下簡稱FPGA)實現的Cache控制器單元。數據處理模塊可在DDR Array組成的Cache單元中存放數據,或者從Cache單元中根據需要讀取數據,高速接口單元通過Cache控制器與Cache單元交互數據。
DDR Array依照數據按字節地址奇偶或突發(Burst)的存儲/讀取方式,對應對稱地分為2或2n(n>1)組。每組共享一數據總線,同時每一DIMM均由Cache控制器單元獨立控制進行讀寫操作。在地址的物理空間分布上,各DIMM統一分配存儲地址空間,並依陣列按字節遞增,且各組組內DIMM的存儲空間地址同為奇偶;或地址換算為2n進位時,第m組DIMM的存儲空間地址尾數同為2n-m-1(2n>m≥0)。以下僅以數據按字節地址奇偶存儲/讀取,DDR Array分為2組的情況對本發明進行說明。
如圖2所示為Cache控制器和Cache單元內2×2陣列DDR Array之間的連接關係圖。Cache單元由4個DIMM構成,分成兩個DIMM組。DIMM1、DIMM2組成DIMM組一,共享數據總線一;DIMM3、DIMM4作為DIMM組二,共享數據總線二。每一個DIMM由Cache控制器單獨控制。所有DIMM的存儲空間按照塊定義,每一塊存儲空間的大小足夠一次讀寫訪問。在Cache地址的物理空間分布上,DIMM1、DIMM2、DIMM3、DIMM4統一分配存儲空間地址。其中,DIMM1、DIMM2物理空間如存儲塊1、3、5、7存儲空間的地址全部是偶數,並且是按照字節地址遞增的順序;DIMM3、DIMM4物理空間如存儲塊2、4、6、8存儲空間的地址全部是奇數,也是按照字節地址遞增的順序。各存儲空間的地址交替變化。DIMM1、DIMM2物理空間存儲的數據的字節地址全部是偶數,DIMM3、DIMM4物理空間存儲的數據的字節地址全部是奇數。
請進一步參閱圖3所示,DIMM組一和DIMM組二是結構上完全對稱的兩個物理存儲空間,兩者配置都完全相同。Cache控制器同時控制兩個DIMM組的讀寫,並且按照塊進行讀寫操作,每一塊存儲空間的大小足夠一次讀寫訪問,使得一次讀寫訪問不會跨越同一個DIMM組的兩個DIMM。在進行寫數據操作時,Cache控制器將數據按照字節的奇偶地址交替地存儲在兩個DIMM組,偶數字節地址的數據存儲在偶數地址空間,當存儲塊1存滿時,數據接著存儲在下一個偶數地址空間存儲塊3;奇數字節地址的數據存儲在奇數地址空間,同理,當存儲塊2存滿時,數據接著存儲在存儲塊4。這樣一塊連續地址的數據被存儲在兩個DIMM組中,偶數字節地址數據存儲在DIMM組一,奇數字節地址數據存儲在DIMM組二。在進行讀數據操作時,Cache控制器按照字節地址奇偶同時從兩個DIMM組裡將數據讀出來並組合。
由於DDR SDRAM是動態存儲器,必須進行定期刷新(Refresh),而DDRSDRAM在Refresh期間不能進行訪問,但是高速接口單元又要實時對Cache進行訪問,為了避免讀取DIMM數據與DIMM Refresh之間的衝突,Cache控制器可以在讀寫DIMM1、3的同時,對DIMM2、4發出DDR Refresh命令。這樣就可以實現在讀寫當前DIMM的同時,對其他DIMM進行DDRRefresh,避免了讀寫DIMM和DDR Refresh同時操作。同時,採用如圖3所示的地址空間分布,可以避免對當前DIMM的連續長時間訪問,讓當前DIMM在讀寫的空隙進行DDR Refresh,從而大大減少讀取DIMM數據與DIMM刷新衝突的概率。
由於Cache控制器控制著DIMM的讀寫和刷新,因此可以通過對這兩種操作的調度,進一步降低讀取DIMM數據與DIMM刷新衝突的概率,Cache的DIMM讀寫控制策略如下(a)DIMM讀寫操作與DDR Refresh不衝突寫數據操作時,偶數字節地址的數據寫入DIMM組一,奇數字節地址的數據寫入DIMM組二;讀數據操作時,從DIMM組一讀出的偶數字節地址的數據和從DIMM組二讀出的奇數字節地址的數據合併起來傳給高速接口。
(b)DIMM讀寫操作與DDR Refresh衝突當讀寫操作與DDR Refresh衝突時,如果讀寫操作正在進行,則通過滯後DDR Refresh的時間,等當前讀寫操作完成之後再進行DDR Refresh。如果讀寫操作還沒有進行,由於讀寫採用塊操作,所以,Cache控制器可以預知DIMM讀寫操作的時間,根據DIMM讀寫操作的時間可以動態調整DDRRefresh,向前提前或者向後推遲DDR Refresh。
本發明採用DDR SDRAM DIMM作為高速接口,利用DDR SDRAMDIMM存取速度快、單個DDR SDRAM DIMM帶寬可達數千兆比特每秒的特點,可以很好地滿足高速接口高速實時數據傳輸的要求,為高速接口提供比較小的讀寫訪問延時;同時採用並聯DDR數據總線,可以很好地為高速接口提供大的訪問帶寬。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.大容量高速緩衝存儲器,其特徵在於該高速緩衝存儲器包括高速緩衝存儲控制器及由DDR SDRAM內存條陣列組成的高速緩衝存儲器單元,各DDR SDRAM內存條存儲空間的地址依陣列序輪序變化。
2.如權利要求1所述的大容量高速緩衝存儲器,其特徵在於該高速緩衝存儲控制器通過現場可編程門陣列(Field Programmable Gate Array,FPGA)實現。
3.如權利要求1所述的大容量高速緩衝存儲器,其特徵在於所述高速緩衝存儲器單元中,各DDR SDRAM內存條陣列對稱分組,高速緩衝存儲控制器將數據依照字節地址、對應DDR SDRAM內存條的存儲空間地址,對各DDR SDRAM內存條組進行操作。
4.如權利要求3所述的大容量高速緩衝存儲器,其特徵在於所述DDRSDRAM內存條對稱分為二組,在進行寫操作時,高速緩衝存儲控制器將數據按照字節的奇偶地址、對應DDR SDRAM內存條的存儲奇偶地址,交替地對兩個DDR SDRAM內存條組進行寫操作。
5.如權利要求3所述的大容量高速緩衝存儲器,其特徵在於所述DDRSDRAM內存條對稱分為二組,在進行讀操作時,高速緩衝存儲控制器按照字節地址奇偶同時從兩個DDR SDRAM內存條組裡將數據讀出來並組合。
6.如權利要求3所述的大容量高速緩衝存儲器,其特徵在於各DDRSDRAM內存條的存儲空間按照塊定義,各存儲空間地址依組序輪序變化。
7.如權利要求3所述的大容量高速緩衝存儲器,其特徵在於所述高速緩衝存儲控制器在對DDR SDRAM內存條進行讀寫操作時,對該組內的其他DDR SDRAM內存條進行刷新操作。
8.如權利要求7所述的大容量高速緩衝存儲器,其特徵在於當所述高速緩衝存儲控制器對DDR SDRAM內存條的讀寫操作和刷新操作衝突時,高速緩衝存儲控制器通過調整刷新時間避免衝突。
9.大容量高速緩衝存儲器,其特徵在於該高速緩衝存儲器包括高速緩衝存儲控制器及由DDR SDRAM內存條陣列組成的高速緩衝存儲器單元,各DDR SDRAM內存條存儲空間地址輪序變化,高速緩衝存儲控制器對DDR SDRAM內存條進行讀寫操作時,對陣列內其他DDR SDRAM內存條進行刷新操作。
10.如權利要求9所述的大容量高速緩衝存儲器,其特徵在於當所述高速緩衝存儲控制器對DDR SDRAM內存條的讀寫操作和刷新操作衝突時,高速緩衝存儲控制器通過調整刷新時間避免衝突。
全文摘要
本發明大容量高速緩衝存儲器,包括高速緩衝存儲控制器及由DDRSDRAM內存條陣列組成的高速緩衝存儲器單元,各DDR SDRAM內存條存儲空間的地址依陣列序輪序變化。本發明採用DDR SDRAM內存條陣列作為高速接口的緩衝存儲器,可以為高速接口提供比較大的訪問帶寬和比較大的緩衝存儲器容量,還可以為高速接口提供比較小的讀寫訪問延時。
文檔編號G11C8/00GK1967713SQ20061015709
公開日2007年5月23日 申請日期2006年11月27日 優先權日2006年11月27日
發明者王曰孟 申請人:華為技術有限公司