應用於網絡處理器中的ddr3存儲器的控制器的製作方法
2023-05-17 06:29:56 2
專利名稱:應用於網絡處理器中的ddr3存儲器的控制器的製作方法
技術領域:
本發明涉及控制器技術領域,特別是存儲器的控制器技術領域,具體是指一種應用於網絡處理器中的DDR3存儲器的控制器。
背景技術:
網絡處理器由於其速度快、可編程性能好而成為下一代網絡產品的核心器件,隨著網絡的不斷發展,網絡處理器的線速要 求越來越高;DDR3是目前比較通用的高速、大容量的雙速率同步存儲器,且價格低廉。所以網絡處理器中實時數據大量讀取和路由表頻繁訪問都通過DDR3進行,於是網絡處理器對DDR3接口的帶寬和速度都提出了較高的要求;且要求隨著網絡線速提升,DDR3控制器也隨之升級。傳統的DDR3控制器主要採用縮短延時機制,中國專利CN102543195A,(王宏斌,一種DDR控制器及其實現方法和晶片)公開了一種利用預判的方式來隱藏bank激活和預充電延時的機制(圖I所示),即通過先將命令緩存起來並預判斷該命令是否是和下一條命令在同一行中,如果是在同一行中,就繼續執行該隊列命令,否則跳轉到另一隊列執行命令。這種方式只能提高的效率有限,只有隱藏在不同bank或不同行的讀寫之間的延時,提高前的效率值為ribefOTe = η · t^/ (η ·,其中V, tEP, tECD分別代表一次讀寫時間,預充電時間和激活時間,且它們的值大小差不多;n的大小是由程式設計師來決定連續分配到同一bank同一行的數據個數,分配較均衡時該算法提高的效率十分有限,難以滿足網絡處理器中DDR3控制器的性能提升要求。
發明內容
本發明的目的是克服了上述現有技術中的缺點,提供一種採用並行接收與處理單元、兩級緩存結構及隱藏刷新延時,從而大幅度提高存儲器的訪存效率,滿足網絡處理器的要求,且結構簡單,成本低廉,應用範圍較為廣泛的應用於網絡處理器中的DDR3存儲器的控制器。為了實現上述的目的,本發明的應用於網絡處理器中的DDR3存儲器的控制器具有如下構成該應用於網絡處理器中的DDR3存儲器的控制器包括並行總線接口模塊、緩存模塊和DDR3存儲器接口模塊。所述的並行總線接口模塊包括至少兩路並行的總線接口,每一路總線接口均包括總線接口單元和與所述的總線接口單元相連的功能操作單元,所述的總線接口單元用以從總線獲得DDR3存儲器存訪命令,所述的功能操作單元用以執行所述的存訪命令,所述的各功能操作單元均分別連接所述的緩存模塊,所述的緩存模塊通過所述的DDR3存儲器接口模塊連接DDR3存儲器。該應用於網絡處理器中的DDR3存儲器的控制器中,所述的功能操作單元包括數據讀寫子單元、原子操作子單元和隊列操作子單元。該應用於網絡處理器中的DDR3存儲器的控制器中,所述的並行總線接口模塊包括四路並行的總線接口。該應用於網絡處理器中的DDR3存儲器的控制器中,所述的緩存模塊包括與所述的並行的總線接口數量相同的一級緩存和一個二級緩存,所述的各一級緩存均分別連接於一路總線接口的接口單元,並均連接所述的二級緩存,所述的一級緩存用以存儲最近寫入的且未被讀出的數據包以及最常用的路由表;所述的二級緩存連接所述的DDR3存儲器接口模塊,用以存儲常用路由表。該應用於網絡處理器中的DDR3存儲器的控制器中,所述的DDR3存儲器接口模塊包括六個FIFO、兩個計算器、兩個預判邏輯單元、一個狀態命令轉換單元和一個初始化邏
輯單元。
所述的六個FIFO中第一 FIFO和第二 FIFO為第一組命令FIFO、第三FIFO和第四 FIFO為第二組命令FIF0,所述的第一組命令FIFO和第二組命令FIFO用於存放所述的訪存命令,偶數bank的讀寫請求命令存儲於所述的第一 FIFO和第三FIF0,奇數bank的讀寫請求命令存儲於所述的第二 FIFO和第四FIF0,第五FIFO為讀數據FIF0,第六FIFO為寫數據FIFO ;兩個計算器中第一計數器分別連接於所述的第一組命令FIFO的第一 FIFO和第二FIF0,第二計數器分別連接於所述的第二組命令FIFO的第三FIFO和第四FIF0,用以在一個計數器所連接的該組命令FIFO進行讀寫處理時進行計數,並在達到刷新周期時,跳轉到另一組命令FIFO進行讀寫處理,以此隱藏刷新時鐘周期,達到隱藏刷新時延的目的;兩個預判邏輯單元中第一預判邏輯單元分別連接所述的第一組命令FIFO的第一FIFO和第二 FIF0,第二預判邏輯單元分別連接所述的第二組命令FIFO的第三FIFO和第四FIF0,所述的預判邏輯單元用以隱藏激活和預充電時鐘周期;狀態命令轉換單元分別通過所述的第一預判邏輯單元連接所述的第一組命令FIFO,通過所述的第二預判邏輯單元連接所述的第二組命令FIF0,並連接所述的讀數據FIFO和寫數據FIF0,用以根據控制所述的各FIFO ;初始化邏輯單元連接於所述的狀態命令轉換單元,用以實現所述的狀態命令轉換單元的初始化。該應用於網絡處理器中的DDR3存儲器的控制器中,所述的第一 FIFO、第二 FIFO、第三FIFO和第四FIFO的寬度均為27位,且該第一 FIFO、第二 FIFO、第三FIFO和第四FIFO的深度均為32個;所述的第五FIFO和第六FIFO的寬度均為128位,且該第五FIFO和第六FIFO的深度均為128個。採用了該發明的應用於網絡處理器中的DDR3存儲器的控制器,其包括並行總線接口模塊、緩存模塊和DDR3存儲器接口模塊。並行總線接口模塊包括至少兩路並行的總線接口,每一路總線接口均包括總線接口單元和與所述的總線接口單元相連的功能操作單元,各功能操作單元均分別連接緩存模塊;緩存模塊包括與所述的並行的總線接口數量相同的一級緩存和一個二級緩存,各一級緩存均分別連接於一路總線接口的接口單元,並均連接所述的二級緩存;所述的緩存模塊通過所述的DDR3存儲器接口模塊連接DDR3存儲器,DDR3存儲器接口模塊在實現隱藏bank激活和預充電延時的基礎上,進一步隱藏了刷新延時。從而整體上大幅度提高了 DDR3存儲器的訪存效率,能夠滿足網絡處理器的要求,且本發明的應用於網絡處理器中的DDR3存儲器的控制器的結構簡單,成本低廉,應用範圍較為廣泛。
圖I為現有技術中的DDR存儲控制器結構示意圖。圖2為本發明的應用於網絡處理器中的DDR3存儲器的控制器的結構示意圖。圖3為本發明的應用於網絡處理器中的DDR3存儲器的控制器的總線接口和功能操作部件的結構示意圖。圖4為本發明的應用於網絡處理器中的DDR3存儲器的控制器的DDR3接口單元的結構示意圖。
具體實施例方式為了能夠更清楚地理解本發明的技術內容,特舉以下實施例詳細說明。請參閱圖2所示,為本發明應用於網絡處理器中的DDR3存儲器的控制器的結構示意圖。在一種實施方式中,該應用於網絡處理器中的DDR3存儲器的控制器包括並行總線接口模塊、緩存模塊和DDR3存儲器接口模塊。所述的並行總線接口模塊包括四路並行的總線接口,每一路總線接口均包括總線接口單元和與所述的總線接口單元相連的功能操作單元。所述的總線接口單元用以從總線獲得DDR3存儲器存訪命令。所述的功能操作單元包括數據讀寫子單元、原子操作子單元和隊列操作子單元,各子單元用以執行相應的存訪命令。所述的各功能操作單元均分別連接所述的緩存模塊,所述的緩存模塊通過所述的DDR3存儲器接口模塊連接DDR3存儲器。在較優選的實施方式中,所述的緩存模塊包括與所述的並行的總線接口數量相同的一級緩存和一個二級緩存,所述的各一級緩存均分別連接於一路總線接口的接口單元,並均連接所述的二級緩存,所述的一級緩存用以存儲最近寫入的且未被讀出的數據包以及最常用的路由表;所述的二級緩存連接所述的DDR3存儲器接口模塊,用以存儲常用路由表。在更優選的實施方式中,所述的DDR3存儲器接口模塊包括六個FIFO、兩個計算器、兩個預判邏輯單元、一個狀態命令轉換單元和一個初始化邏輯單元。所述的六個FIFO中第一 FIFO和第二 FIFO為第一組命令FIFO、第三FIFO和第四FIFO為第二組命令FIF0,所述的第一組命令FIFO和第二組命令FIFO用於存放所述的訪存命令,偶數bank的讀寫請求命令存儲於所述的第一 FIFO和第三FIF0,奇數bank的讀寫請求命令存儲於所述的第二 FIFO和第四FIF0,第五FIFO為讀數據FIF0,第六FIFO為寫數據FIFO ;所述的第一 FIFO、第二 FIFO、第三FIFO和第四FIFO的寬度均為27位,且該第一FIFO、第二 FIFO、第三FIFO和第四FIFO的深度均為32個;所述的第五FIFO和第六FIFO的寬度均為128位,且該第五FIFO和第六FIFO的深度均為128個;兩個計算器中第一計數器分別連接於所述的第一組命令FIFO的第一 FIFO和第二FIF0,第二計數器分別連接於所述的第二組命令FIFO的第三FIFO和第四FIF0,用以在一個計數器所連接的該組命令FIFO進行讀寫處理時進行計數,並在達到刷新周期時,跳轉到另一組命令FIFO進行讀寫處理,隱藏了刷新時延;
兩個預判邏輯單元中第一預判邏輯單元分別連接所述的第一組命令FIFO的第一FIFO和第二 FIFO,第二預判邏輯單元分別連接所述的第二組命令FIFO的第三FIFO和第四FIFO,所述的預判邏輯單元用以隱藏激活和預充電時鐘周期;
所述的狀態命令轉換單元分別通過所述的第一預判邏輯單元連接所述的第一組命令FIF0,通過所述的第二預判邏輯單元連接所述的第二組命令FIF0,並連接所述的讀數據FIFO和寫數據FIF0,用以根據控制所述的各FIFO ;所述的初始化邏輯單元連接於所述的狀態命令轉換單元,用以實現所述的狀態命令轉換單元的初始化。在實際應用中,本發明的控制器的技術方案主要是一種多級優化的DDR3控制器,其包括以下特點a.包括多個總線接口單元,並行接收來自總線的命令,提高控制器數據吞吐量,並可以根據網絡線速需要提高接口並行度;每一個接口單元後接一個功能操作部件,以及時處理訪存命令。b.兩級cache單元,縮短訪存延時。c.在隱藏激活和預充電延時的基礎上,設計出一種可以進一步隱藏刷新延時的結構,使DDR3接口的利用率進一步提高。具體而言,本發明的應用於網絡處理器中的DDR3存儲器的控制器的結構包括以下特點I、總線接口和功能操作部件的結構如圖3所示。採用四個總線接收單元,分別與四條內部總線相連,可以四路並行接收來自於總線的命令請求,並將命令及時分配到不同的功能部件上做進一步處理。其包括總線命令轉換接口和功能操作部件,功能操作部件又根據命令的不同類型分為數據讀寫單元,原子操作單元,隊列操作單元。總線接口單元獨立從總線上接收命令,並將命令轉換到功能部件的相應操作單元上,操作單元獨立地執行命令,需進行數據交換時再和一級cache進行數據交換,如果一級cache未命中時再和二級cache進行數據交換,如果二級cache也未命中時再和DDR3進行數據交換。線速提高時,只需要增加該結構中的總線接口、功能操作部件和一級cache單元即可。2、層次化的cache單元是採用兩級cache單元進行數據緩存。其中第一級cache主要存儲剛寫入的數據包,一部分最近常使用的路由表,並將已經讀出的數據包丟棄;第二級cache主要是存儲較大一部分常用的路由表。通過這兩級cache的相互配合可提高DDR3中數據讀寫速率。兩級cache結構中的第一級cache大小為128K,第二級cache大小為1M,其中一級cache為多埠單元,它能夠並行提供上述幾個功能部件所需要的數據,並可以對數據進行鎖定操作,即在數據操作過程中禁止其他功能部件對數據進行操作。第二級cache也可以提供多路接口,方便和DDR3 SDRAM進行數據交換。3、對於DDR3接口單元,主要結構如附圖4所示,包括六個FIF0,其中前四個用於存放訪存命令,第五個是讀數據FIF0,第六個是寫數據FIFO ;兩個計算器;兩個預判邏輯單元;一個狀態命令轉換單元;一個初始化邏輯單元。在實現的過程中,首先將不同bank的訪存命令放入不同的FIFO中,其中0、2bank命令放入第一個FIFO中,l、3bank命令放入第二個FIFO中,依此類推。並且第一個計算器對第一、二個FIFO同時計數,一旦計數到刷新周期時就跳轉到第三、四個FIFO進行讀寫處理;並且奇偶bank的讀寫請求分開存儲,並通過預判邏輯可以隱藏激活和預充電時鐘周期。六個FIFO的大小分別為FIFOl 4是27位寬的32個深度,FIF05 6是128位寬128個FIFO深度,兩個計數器和兩個預判邏輯,初始化邏輯和一個狀態命令轉換邏輯構成。在實現的過程中,所述的四個命令FIFO (編號1、2、3、4的FIFO)分成兩組,第一組用於存儲bank0、l、2、3的讀寫命令,第二組用於存儲bank4、5、6、7的讀寫命令,數據操作時先執行第一組中的命令,並同時對第二組進行刷新操作,當第一組也計數到刷新請求時,就將執行命令單元切換到第二組執行,以此來隱藏第一組刷新延時,交替執行時可以隱藏刷新延時。每一組命令FIFO中奇偶bank的讀寫請求分開存儲,並通過預判邏輯可以隱藏激活和預充電時鐘周期。採用上述的實際應用結構能夠使本發明具有如下有益效果I、通過在該多級優化的DDR3控制器中第一級中採用並行的總線接收單元和功能部件單元及時接收來自總線的命令,增大了 DDR3接口的吞吐量,使DDR3的讀寫等操作命令不會產生擁塞現象,而且功能部件的增多可以及時的處理讀寫命令。並且可以根據網絡處理速度的需要,動態增加接口和功能操作部件以適應線速提升的需求。2、由於網絡處理器中會產生很多的讀修改寫等原子操作,採用本發明的第二級中的兩級cache結構放在該DDR3控制器中,有效的減少這些操作所帶來的延時。根據cache
的加速比公式
權利要求
1.一種應用於網絡處理器中的DDR3存儲器的控制器,其特徵在於,所述的控制器包括並行總線接口模塊、緩存模塊和DDR3存儲器接口模塊,所述的並行總線接口模塊包括至少兩路並行的總線接口,每一路總線接口均包括總線接口單元和與所述的總線接口單元相連的功能操作單元,所述的總線接口單元用以從總線獲得與DDR3存儲器訪存相關的命令,所述的功能操作單元用以執行所述的訪存相關的命令,所述的各功能操作單元均分別連接所述的緩存模塊,所述的緩存模塊通過所述的DDR3存儲器接口模塊連接DDR3存儲器。
2.根據權利要求I所述的應用於網絡處理器中的DDR3存儲器的控制器,其特徵在於,所述的功能操作單元包括數據讀寫子單元、原子操作子單元和隊列操作子單元。
3.根據權利要求I所述的應用於網絡處理器中的DDR3存儲器的控制器,其特徵在於,所述的並行總線接口模塊包括四路並行的總線接口。
4.根據權利要求I至3中任一項所述的應用於網絡處理器中的DDR3存儲器的控制器,其特徵在於,所述的緩存模塊包括與所述的並行的總線接口數量相同的一級緩存和一個二級緩存,所述的各個一級緩存均分別連接於一路總線接口的接口單元,並均連接所述的二級緩存,所述的一級緩存用以存儲最近寫入的且未被讀出的數據包以及最常用的路由表;所述的二級緩存連接所述的DDR3存儲器接口模塊,用以存儲常用路由表。
5.根據權利要求4所述的應用於網絡處理器中的DDR3存儲器的控制器,其特徵在於,所述的DDR3存儲器接口模塊包括 六個FIFO,其中第一 FIFO和第二 FIFO為第一組命令FIFO、第三FIFO和第四FIFO為第二組命令FIFO,所述的第一組命令FIFO和第二組命令FIFO用於存放所述的訪存命令,偶數bank的讀寫請求命令存儲於所述的第一 FIFO和第三FIFO,奇數bank的讀寫請求命令存儲於所述的第二 FIFO和第四FIFO,第五FIFO為讀數據FIFO,第六FIFO為寫數據FIFO ; 兩個計算器,第一計數器分別連接於所述的第一組命令FIFO的第一 FIFO和第二 FIFO,第二計數器分別連接於所述的第二組命令FIFO的第三FIFO和第四FIFO,用以在一個計數器所連接的該組命令FIFO進行讀寫處理時進行計數,並將達到刷新周期時,跳轉到另一組命令FIFO進行讀寫處理,以此隱藏刷新時鐘周期; 兩個預判邏輯單元,第一預判邏輯單元分別連接所述的第一組命令FIFO的第一 FIFO和第二 FIFO,第二預判邏輯單元分別連接所述的第二組命令FIFO的第三FIFO和第四FIFO,所述的預判邏輯單元用以隱藏激活和預充電時鐘周期; 一個狀態命令轉換單元,分別通過所述的第一預判邏輯單元連接所述的第一組命令FIFO,通過所述的第二預判邏輯單元連接所述的第二組命令FIFO,並連接所述的讀數據FIFO和寫數據FIFO,用以根據控制所述的各FIFO ; 一個初始化邏輯單元,連接於所述的狀態命令轉換單元,用以實現所述的狀態命令轉換單元的初始化。
6.根據權利要求5所述的應用於網絡處理器中的DDR3存儲器的控制器,其特徵在於,所述的第一 FIFO、第二 FIFO、第三FIFO和第四FIFO的寬度均為27位,且該第一 FIFO、第二FIFO、第三FIFO和第四FIFO的深度均為32個;所述的第五FIFO和第六FIFO的寬度均為128位,且該第五FIFO和第六FIFO的深度均為128個。
全文摘要
本發明涉及一種應用於網絡處理器中的DDR3存儲器的控制器,屬於控制器技術領域,該控制器包括並行總線接口模塊、緩存模塊和DDR3存儲器接口模塊。並行總線接口模塊包括至少兩路並行的總線接口,每一路總線接口均包括總線接口單元和功能操作單元;緩存模塊包括與並行的總線接口數量相同的一級緩存和一個二級緩存;緩存模塊通過DDR3存儲器接口模塊連接DDR3存儲器,DDR3存儲器接口模塊在實現隱藏bank激活和預充電延時的基礎上,進一步隱藏了刷新延時。從而整體上大幅度提高了DDR3存儲器的訪存效率,能夠滿足網絡處理器的要求,且本發明的應用於網絡處理器中的DDR3存儲器的控制器的結構簡單,成本低廉,應用範圍較為廣泛。
文檔編號G06F5/06GK102929815SQ20121048409
公開日2013年2月13日 申請日期2012年11月23日 優先權日2012年11月23日
發明者金胤丞, 馬鵬, 李苗 申請人:中國電子科技集團公司第三十二研究所