一種在網(wǎng)絡(luò)設(shè)備中進行查表的方法和裝置制造方法
【專利摘要】一種裝置,包括多個內(nèi)存器件。每個內(nèi)存器件包含多個內(nèi)存庫、一個內(nèi)存控制器(和內(nèi)存器件耦合在一起,用來控制并從多個內(nèi)存器件中篩選出一個來用以內(nèi)存操作)、多條地址/命令總線(和多個內(nèi)存器件以及內(nèi)存控制器耦合在一起,包括至少一條地址/命令總線,在多個內(nèi)存器件中的至少幾個之間共享)、多條數(shù)據(jù)總線(和多個內(nèi)存器件以及內(nèi)存控制器耦合在一起,包括至少一條數(shù)據(jù)總線,在多個內(nèi)存器件中的至少幾個之間共享)。其中,在使用時分復(fù)用(TDM)技術(shù)時,內(nèi)存控制器使用內(nèi)存交錯和庫仲裁機制來訪問多個內(nèi)存器件和內(nèi)存庫。
【專利說明】一種在網(wǎng)絡(luò)設(shè)備中進行查表的方法和裝置
[0001]相關(guān)申請案交叉申請
[0002]本申請要求于2011年10月31日由宋浩宇等人提交給美國專利局、專利序列號為13/285728、專利名稱為“一種在網(wǎng)絡(luò)設(shè)備中進行查表的方法和裝置”的美國專利的優(yōu)先權(quán),其全部內(nèi)容通過引用結(jié)合在本申請中。
【技術(shù)領(lǐng)域】
[0003]本申請涉及通信網(wǎng)絡(luò),尤其涉及一種在網(wǎng)絡(luò)設(shè)備中進行查表的方法和裝置。
【背景技術(shù)】
[0004]針對路由器和交換機的網(wǎng)絡(luò)應(yīng)用,查表功能要求一種低成本、低功耗、高性能的解決方案。網(wǎng)絡(luò)查找對內(nèi)存操作有三個特點:只讀,隨機訪問,且每次訪問讀取的數(shù)據(jù)相對較小。關(guān)于雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)設(shè)備,其輸入/輸出(I/O)的頻率已經(jīng)在穩(wěn)步增長,從而在單位時間內(nèi),可以發(fā)布更多數(shù)量的命令,更多的數(shù)據(jù)能寫入內(nèi)存,或從內(nèi)存讀取。但是,考慮到基于某些DDRx時序參數(shù)的時序限制,要實現(xiàn)高效率的查表性能和高I/O頻率,會需要顯著增加搜索引擎的I/O引腳數(shù)量。雖然查表功能可以由靜態(tài)隨機存儲存儲器(SRAM)設(shè)備或三重內(nèi)容尋址內(nèi)存(TCAM)設(shè)備執(zhí)行,但是DDRx SDRAM較之SRAM或TCAM,價格更低廉,節(jié)能效果更佳。
【發(fā)明內(nèi)容】
[0005]一方面,本發(fā)明公開了一種裝置,包括多個內(nèi)存器件。每個內(nèi)存器件包含多個內(nèi)存庫、一個內(nèi)存控制器(和內(nèi)存器件I禹合在一起,用來控制并從多個內(nèi)存器件中篩選出一個來用以內(nèi)存操作)、多條地址/命令總線(和多個內(nèi)存器件以及內(nèi)存控制器耦合在一起,包括至少一條地址/命令總線,在多個內(nèi)存器件中的至少幾個之間共享)、多條數(shù)據(jù)總線(和多個內(nèi)存器件以及內(nèi)存控制器耦合在一起,包括至少一條數(shù)據(jù)總線,在多個內(nèi)存器件中的至少幾個之間共享)。其中,在使用時分復(fù)用(TDM)技術(shù)時,內(nèi)存控制器使用內(nèi)存交錯和內(nèi)存庫仲裁機制來訪問多個內(nèi)存器件和內(nèi)存庫。其中,內(nèi)存器件包含某一代雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)。
[0006]另一方面,本發(fā)明公開了一種網(wǎng)絡(luò)器件,包括接收器,用來接收多個查表請求,和邏輯單元,用來生成多條命令,其中,該命令通過至少一條共享地址/命令總線和一條共享數(shù)據(jù)總線來指示訪問多個交錯內(nèi)存芯片和多個交錯內(nèi)存庫。
[0007]在第三方面,本發(fā)明公開了一種網(wǎng)絡(luò)裝置的實現(xiàn)方法,包括,利用控制器從多個內(nèi)存芯片中選擇內(nèi)存芯片,利用控制器從多個分配給內(nèi)存芯片的內(nèi)存庫中選擇內(nèi)存庫,通過某些內(nèi)存芯片之間共享的地址/命令總線的輸入/輸出(Input/Output,I/O)引腳來發(fā)送命令,通過某些內(nèi)存芯片之間共享的數(shù)據(jù)總線來發(fā)送數(shù)據(jù)字。其中,在復(fù)用的機制下,通過共享地址/命令總線來發(fā)送命令,通過共享數(shù)據(jù)總線發(fā)送數(shù)據(jù)字。
[0008]結(jié)合如圖和權(quán)利要求的詳細描述,可以更清楚地了解這些特點和其他特點?!緦@綀D】
【附圖說明】
[0009]結(jié)合以下附圖的簡要描述以及詳細描述,能夠?qū)Ρ景l(fā)明所公開的內(nèi)容進行更加全面的理解,其中,不同的參考號碼代表了不同的部分。
[0010]圖1是本發(fā)明實施例提供的一種典型DDRx SDRAM系統(tǒng)的示意圖。
[0011]圖2是本發(fā)明實施例提供的另一種典型DDRx SDRAM系統(tǒng)的不意圖。
[0012]圖3是本發(fā)明實施例提供的一種增強型DDRx SDRAM系統(tǒng)的示意圖。
[0013]圖4是本發(fā)明實施例提供的另一種增強型DDRx SDRAM系統(tǒng)的不意圖。
[0014]圖5是本發(fā)明實施例提供的一種DDRx SDRAM架構(gòu)的示意圖。
[0015]圖6是本發(fā)明實施例提供的一種時序圖的示意圖,對應(yīng)圖5中的DDRx SDRAM架構(gòu)。
[0016]圖7是本發(fā)明實施例提供的另一種DDRx SDRAM架構(gòu)的示意圖。
[0017]圖8是本發(fā)明實施例提供的一種時序圖的示意圖,對應(yīng)圖7中的DDRx SDRAM架構(gòu)。
[0018]圖9是本發(fā)明實施例提供的另一種時序圖的示意圖,對應(yīng)圖7中的DDRx SDRAM架構(gòu)。
[0019]圖10是本發(fā)明實施例提供的一種查表方法的流程圖。
[0020]圖11是本發(fā)明實施例提供的一種網(wǎng)絡(luò)單元的示意圖。
[0021]圖12是本發(fā)明實施例提供的一種通用計算機系統(tǒng)的示意圖。
【具體實施方式】
[0022]首先要注意的是,雖然下文詳細說明了一個或多個實施例的實現(xiàn)方式,其公開的系統(tǒng)和/或方法可以通過許多其他已知或現(xiàn)存的技術(shù)來實現(xiàn)。本發(fā)明并未局限于下文描述的具體實現(xiàn)方式、附圖以及技術(shù),包括本文描述說明的較佳設(shè)計以及實現(xiàn)方式,但是可以在以下權(quán)利要求的范圍內(nèi)結(jié)合其對應(yīng)內(nèi)容的全部范圍進行修改。
[0023]正如文中所應(yīng)用的,DDRx代表第X代的DDR內(nèi)存。例如,DDR2表示第二代DDR內(nèi)存,DDR3表示第三代DDR內(nèi)存,DDR4表示第四代DDR內(nèi)存,以此類推。
[0024]DDRx SDRAM的性能會受時序參數(shù)的限制,包括,行周期時間(tRC)、四個窗口激活時間(tFAW)和行單元到行單元的延時(tRRD)等等。例如,在同一個tRC時間段內(nèi),無法兩次訪問同一個內(nèi)存庫。對兩個庫的訪問需要間隔至少一個tRRD時間段。在一個tFAW時間段內(nèi),無法同時訪問超過4個庫。隨著技術(shù)的進步,這些時序參數(shù)較之I/O頻率的增加的速度,進步相對較慢。
[0025]雖然,由于DDRx SDRAM相對較長的隨機訪問時延(即,大約48納秒的tRC)以及相對較低的核心頻率(即,DDR3-1600的核心頻率為200兆赫(MHz)),一般認為DDRxSDRAM的速度較慢,但是,DDRx SDRAM的芯片容量會較大(B卩,每芯片一千兆字節(jié)(Gb)),內(nèi)存庫數(shù)量較多(即,一個DDR3包括八個庫),I/O接口頻率較高(即,DDR3為800MHz,SDRAM路標中的未來的DDRx設(shè)備可以為3.2千兆赫(GHz))。在一個方案中運用這些特性可以補償時序帶來的限制。
[0026]為了實現(xiàn)較高的查表效率,可以復(fù)制內(nèi)存庫來作為提高存儲效率的折衷方案。雖然DDRx隨機訪問效率受tRC限制,但若多個庫都持有同樣一份關(guān)于所要查找的表的拷貝,就可以交替訪問這些庫,即,利用庫交錯,從而提高查表效率。但是,當時鐘頻率較高的時候,再兩個時序限制,tFAW和tRRD會限制庫復(fù)制的范圍。例如,在tFAW的時間窗限制內(nèi),芯片激活的庫不會多于4個,連續(xù)訪問兩個庫需要隔至少一個tRRD時間段。
[0027]以400MHz的DDR3-800設(shè)備為例,tFAW約為40納秒,而tRRD約為10納秒。鑒于一個讀請求需要約兩個時鐘周期來發(fā)送命令,400MHz的設(shè)備只能約每5納秒來讀取一次內(nèi)存訪問請求,而在40納秒的時間窗內(nèi),有八個請求發(fā)送給八個內(nèi)存庫。但是,因為tFAW和tRRD這兩個時序限制,在40納秒的時間窗內(nèi),只有四個請求發(fā)送給四個庫,即每10納秒一個請求,而不是將八個請求發(fā)送給八個庫。如果頻率為400MHz,此方案對性能不會造成限制,因為DDRx的突發(fā)長度大約是八個字,即,完成一次突發(fā)需要四個時鐘周期(約10納秒)。所以,在最大允許的命令速率(關(guān)于收發(fā)命令的速率)情況下,可以充分利用數(shù)據(jù)總線的帶寬,無需再提高地址總線的利用率。
[0028]但是,如果以800MHz的DDR3-1600設(shè)備為例,雖然接口時鐘的頻率翻倍了,tFAW和tRRD依然保持不變,或者和400MHz的DDR3-800設(shè)備中的大約一致。如果使用和400MHz的DDR3-800設(shè)備中基本相同的命令速率,800MHz的DDR3-1600設(shè)備對數(shù)據(jù)總線的利用率只有約50%。如果時鐘頻率相對較高,數(shù)據(jù)總線帶寬的利用率只會更低。因此,如果I/O頻率增高,查表效率不一定隨之提高。相反,增加芯片數(shù)量可以提高查表效率。但是,通過增加芯片數(shù)量來提升性能對引腳數(shù)量的要求較高。
[0029]在400MHz的DDR3-800設(shè)備的例子中,支持每秒鐘搜索約100兆次,即,每10納秒一條讀請求??紤]到由許多其他限制因素,例如刷新以及表更新,引起的帶寬損耗,搜索頻率下降為每秒鐘約80兆次。通過一條共享地址總線輪流訪問兩個芯片,即執(zhí)行乒乓操作,從而將二者稱合在一起,基于此的解決方案能夠?qū)⑺阉黝l率提聞到每秒鐘約160兆次,其中,無論是共享的地址/命令總線還是單獨的數(shù)據(jù)總線都可以得到充分利用。該解決方案需要約65個引腳,對于線路速度約為40吉比特每秒(Gigabit per second,Gbps)來說,可以支持對每個數(shù)據(jù)包進行兩次查表(一次為入接口檢查,一次為出接口檢查)。如上所說,包大小約為64字節(jié),在速率為40Gbps的以太網(wǎng)中,最大報文速率為每秒鐘約60兆個數(shù)據(jù)包(Million packets per second, Mpps)。如果為了支持類型相似的查表,且線路速度為400Gbps (即600Mpps),采用以上關(guān)于兩個芯片的解決方案,需要約650個引腳,此舉不切實際且價值不菲。
[0030]本發(fā)明公開了一種系統(tǒng)和方法,用來操作一個或多個產(chǎn)品以及低成本的DDRxSDRAM設(shè)備,即DDR3SDRAM或DDR4SDRAM,從而實現(xiàn)高速的隨機訪問查表功能,且不需要顯著增加引腳數(shù)量。為了避免違反關(guān)鍵時序限制,例如tRC、tFAW和tRRD,可以選擇利用較高的I/O時鐘頻率來應(yīng)用共享內(nèi)存庫以及芯片訪問交錯技術(shù)。如此一來,就可以通過增高I/O頻率來提升查表效率,且無需顯著增加I/O引腳數(shù)量。因此,可以保障系統(tǒng)性能利用DDRx技術(shù)的進步,沿著平穩(wěn)的路徑演進。
[0031]本發(fā)明實施例提供的高性能系統(tǒng)基于多DDRx SDRAM芯片,該芯片共享一條命令/地址總線和一條數(shù)據(jù)總線,采用時分復(fù)用(time-division multiplexing,TDM)技術(shù)。通過交錯訪問這些芯片及其內(nèi)存庫,且當I/O頻率較高時,即大于等于約400MHz,命令總線和數(shù)據(jù)總線能夠得到絕大部分或充分利用。該交錯方案還有一個優(yōu)點,就是按照DDRx時序限制來合理分隔對各芯片的訪問。此項方案使得查表性能可以隨允許利用I/O頻率來來提高,且無需顯著增加引腳數(shù)量。此外,還可以并行搜索多個表,而每個待查找的表都可以用來支持不同的查找頻率,即將存儲/效率二者折衷。
[0032]在不同的實施例中使用上述方案,400MHz的DDR3SDRAM能夠支持線路速度約為IOOGbps的查表功能,800MHz的DDR3SDRAM能夠支持約200Gbps的查表功能,而1.6GHz的DDR3/4SDRAM能夠支持線路速度約為400Gbps的查表功能。例如,利用多DDR3-1600芯片(包括約80個引腳連接到搜索引擎)可以實現(xiàn)線路速度約為200Gbps的查表功能。在另一個場景下,利用多個DDR4SDRAM(I/0頻率約為1.6GHz)和少于約100個引腳,可以實現(xiàn)線路速度約為400Gbps的查表功能。內(nèi)存芯片供貨商(例如Micron)可以將多個硅片封裝在一起,從而支持高性能的應(yīng)用。如上所述,基于多DDR3-1600芯片的系統(tǒng)可以針對網(wǎng)絡(luò)應(yīng)用進行DDRx SDRAM垂直娃片堆疊和封裝。在某一實施例中,娃穿孔堆疊(through siliconvia,TSV)技術(shù)可以用來生成相對緊湊的查表芯片封裝。進一步地,該封裝無需使用串行器/去串行器(serializer/deserializer, SerDes),可以降低時延和功率。
[0033]圖1展示了本發(fā)明實施例提供的一種典型的DDRx SDRAM系統(tǒng)100,可以用于網(wǎng)絡(luò)系統(tǒng)。DDRx SDRAM系統(tǒng)100可以包括一個DDRx 50狀11控制器110、約四個001^50狀1160、約4條雙向數(shù)據(jù)總線,分別是126、136、146、156,寬度都是16位。在其他實施例中,DDRxSDRAM系統(tǒng)100包括的器件數(shù)量可以和圖1所示的不同。DDRxSDRAM系統(tǒng)100的器件可以按照圖1所示進行排列。[0034]DDRx SDRAM控制器110可以用來和DDRx SDRAM160交換控制信號。DDRxSDRAM控制器 110 可以控制 DDRx SDRAM160 (可以包括 DDR3SDRAM、DDR4SDRAM、其他 DDRx SDRAM或其組合)。DDRx SDRAM控制器110可以和DDRx SDRAM160耦合在一起,利用約4條對應(yīng)的地址 / 控制(Addr/CtrI)線路,包括 120 (Addr/CtrlO) > 130 (Addr/Ctrl I) > 140 (Addr/Ctrl2)、150 (Addr/Ctrl3),約 4 條時鐘(CLK)線路,包括 122 (CLKO)、132 (CLKl)、142 (CLK2)、152 (CLK3),約 4 條芯片選擇(CS)線路,包括 124 (CS0#)、134 (CS1#)、144 (CS2#)、154 (CS3#)。每條線路都用來交換相應(yīng)的信號。地址/控制信號(此處也叫做地址/命令信號)、時鐘信號、芯片選擇信號都是針對DDRx SDRAM160的輸入信號。地址/控制信號可以包括地址和/或控制信息,時鐘信號可以用來給DDRx SDRAM160提供定時。進一步地,DDRx SDRAM控制器110可以將芯片選擇信號降為低電平,從而選擇一個理想的芯片。雙向數(shù)據(jù)總線126、136、146、156 可以耦合到 DDRx SDRAM160 以及 DDRx SDRAM 控制器 110,用來在 DDRx SDRAM控制器110和各DDRx SDRAM160之間傳輸約16位的數(shù)據(jù)字。一般來說,要提高DDRxSDRAM系統(tǒng)的查表性能,需要增加芯片數(shù)、內(nèi)存控制器以及引腳的數(shù)量。但是,這種通過提升典型的DDRx SDRAM系統(tǒng)性能,例如DDRx SDRAM系統(tǒng)100,來提高查表性能的方法會導(dǎo)致、或引入設(shè)計瓶頸,因為引腳數(shù)量以及所要求的控制器資源都增加了。
[0035]圖2展示了本發(fā)明實施例提供的另一種典型的DDRx SDRAM系統(tǒng)200,可以用于網(wǎng)絡(luò)系統(tǒng),即使用低于約400MHz的I/O頻率。DDRx SDRAM系統(tǒng)200可以包括一個DDRxSDRAM控制器210、約2個DDRx SDRAM260、約兩條雙向數(shù)據(jù)總線226和236,寬度都是16位。DDRxSDRAM控制器210可以和DDRx SDRAM260耦合在一起,利用約兩條相應(yīng)的Addr/Ctrl線路220 (Addr/CtrlO)和 230 (Addr/Ctrl I)、約兩條時鐘(CLK)線路 222 (CLKO)和 232 (CLKl)以及約兩條CS線路224 (CS0#)和234 (CS1#)。
[0036]每條線路都可以用來交換相應(yīng)的信號。地址/控制信號、時鐘信號、芯片選擇信號都可以是針對DDRx SDRAM260的輸入信號。地址/控制信號可以包括地址和/或控制信息,時鐘信號可以用來給DDRx SDRAM260提供定時。進一步地,DDRx SDRAM控制器210可以把芯片選擇信號降為低電平,從而選擇理想的芯片。雙向數(shù)據(jù)總線226和236可以耦合到DDRx SDRAM260和DDRx SDRAM控制器210,用來在DDRx SDRAM控制器210和各DDRxSDRAM260之間傳輸約16位的數(shù)據(jù)字。在其他實施例中,DDRx SDRAM系統(tǒng)200包括的器件數(shù)量可以和圖2所示不一致。DDRx SDRAM系統(tǒng)200的各器件可以按照圖2所示進行排列。DDRx SDRAM系統(tǒng)200的器件可以和DDRx SDRAM系統(tǒng)100中對應(yīng)的器件進行相類似的配置。
[0037]圖3展示了本發(fā)明實施例提供的一種增強型DDRx SDRAM系統(tǒng)300,可以彌補DDRxSDRAM系統(tǒng)100的一些缺點。DDRx SDRAM系統(tǒng)300可以包括一個DDRx SDRAM控制器310、約兩個DDRx SDRAM360、兩個DDRx SDRAM362、約兩條共享的雙向數(shù)據(jù)總線326和334(S卩,寬度為16位的數(shù)據(jù)總線)以及一個時鐘調(diào)整器370。DDRx SDRAM系統(tǒng)300的各器件可以按照圖3所示進行排列。
[0038]DDRx SDRAM控制器310可以用來和DDRx SDRAM360以及362交換控制信號。DDRxSDRAM 控制器 310 可以控制 DDRx SDRAM360 和 362 (可以包括 DDR3SDRAM、DDR4SDRAM、其他DDRx SDRAM或其組合)。DDRx SDRAM控制器310可以和DDRxSDRAM360以及362耦合在一起,利用約一條共享的Addr/Ctrl線路320 (Addr/CtrlO),約4條時鐘(CLK)線路,包括322 (CLKO)、332 (CLKl)、342(CLK2)、352 (CLK3),約 4 條 CS 線路,包括 324 (CSO#)、334(CS1#)、344(CS2#)、354(CS3#)。每條線路都可以用來交換一種相應(yīng)的信號,正如以上所述。雙向數(shù)據(jù)總線326和334可以和DDRx SDRAM360、362以及DDRx SDRAM控制器310耦合在一起,用來在DDRxSDRAM控制器310和DDRx SDRAM360以及362之間傳輸約16位的數(shù)據(jù)字。DDRxSDRAM控制器310也可以是一種搜索引擎或邏輯單元。例如,在某些實施例中,DDRxSDRAM控制器310可以是現(xiàn)場可編程門陣列(field-programmable gate array,FPGA)、專用集成電路(Application-Specific Integrated Circuit,ASIC)或網(wǎng)絡(luò)處理器(network processingunit, NPU)。
[0039]具體地,DDRx SDRAM360可與共享的數(shù)據(jù)總線326耦合,用來共享數(shù)據(jù)總線326,從而進行數(shù)據(jù)傳輸(和DDRx SDRAM控制器310)。類似地,DDRx SDRAM362可與共享的數(shù)據(jù)總線334耦合,用來共享數(shù)據(jù)總線334,從而進行數(shù)據(jù)傳輸。數(shù)據(jù)總線共享涉及一個仲裁方案,即輪轉(zhuǎn)仲裁,在此期間內(nèi),將總線的訪問權(quán)限以特定的次序賦予DDRxSDRAM360或DDRxSDRAM362。在某一實施例中,DDRx SDRAM系統(tǒng)300的1/0頻率可以是約800MHz,而查表性能的速率可以達到約400Mpps。
[0040]DDRx SDRAM系統(tǒng)300可以通過擴容來提高查表的性能,而無需顯著增加引腳的數(shù)量和控制器資源。圖4展示了本發(fā)明實施例提供的一種擴容的DDRx SDRAM系統(tǒng)400。DDRxSDRAM系統(tǒng)400可以包括一個DDRx SDRAM控制器410、約兩個DDRx SDRAM460、約兩個DDRxSDRAM462、約兩個DDRx SDRAM464、約兩個DDRx SDRAM466、約4條共享的(16位)雙向數(shù)據(jù)總線426、442、466、474。DDRx SDRAM系統(tǒng)400的各器件可以按照圖4所示進行排列。
[0041]DDRx SDRAM 控制器 410 可以控制 DDRx SDRAM460、462、464、466 (可以包括DDR3SDRAM、DDR4SDRAM、其他 DDRx SDRAM 或其組合)。DDRx SDRAM 控制器 410 可以和 DDRxSDRAM460、462、464、466 耦合在一起,利用一條共享的 Addr/Ctrl 線路 420 (Addr/CtrlO),8 條時鐘(CLK)線路,包括 422 (CLKO)、430 (CLKl)、450 (CLK2)、470 (CLK3)、440 (CLK4)、442 (CLK5)、480(CLK6)、490(CLK7),8 條芯片選擇(CS)線路,包括 424 (CSO#)、432(CS1#)、454 (CS2#)、474 (CS3#)、(CSO#)、432 (CS1#)、454 (CS2#)、474 (CS3#)。每條線路都可以用來交換一種相應(yīng)的信號,正如以上所述。雙向總線426、442、466、474可以和DDRx SDRAM460、462、464、466以及DDRx SDRAM控制器410耦合在一起,用來在DDRx SDRAM控制器410和各DDRx SDRAM之間傳輸16位的數(shù)據(jù)字。
[0042]具體地,DDRx SDRAM460可與共享的數(shù)據(jù)總線426耦合,用來共享數(shù)據(jù)總線426,從而進行數(shù)據(jù)傳輸(和DDRx SDRAM控制器410)。類似地,DDRx SDRAM462.464和466可以分別與共享的數(shù)據(jù)總線442、468和474耦合,用來共享數(shù)據(jù)總線442、468和474,從而進行數(shù)據(jù)傳輸。數(shù)據(jù)總線共享涉及一個仲裁方案,即輪轉(zhuǎn)仲裁,在此期間內(nèi),將總線的訪問權(quán)限以特定的次序賦予DDRx SDRAM460、462、464和466。在某一實施例中,DDRx SDRAM系統(tǒng)400的I/O頻率可以是約1.6GHz,而查表性能的速率可以達到約800Mpps。
[0043]不同的DDRx SDRAM配置可以包括不同的I/O頻率、芯片數(shù)量、和/或引腳數(shù)量,因此,會導(dǎo)致不同的查表效率。表1總結(jié)了,在不同的實施例中,當I/o頻率不同時,不同的DDRx SDRAM配置所帶來的不同的查表性能,其中,所有的實施例都可以采用相同的時序參數(shù)。例如,如果一個系統(tǒng)的I/O頻率為大約400MHz,芯片數(shù)量為大約2,引腳數(shù)量為大約X (其中,X是整數(shù)),則能夠提供每秒鐘大約200兆次(Mega searches per second, Msps)的搜索能力,即200Msps ;如果一個系統(tǒng)的I/O頻率為大約800MHz,芯片數(shù)量為大約4,引腳數(shù)量為大約X+2(其中,實際的引腳數(shù)量可能會稍微大于X+2,因為類似時鐘、ODT等引腳無法共享,這里的2只反映額外使用的CS引腳),則能夠提供大約400Msps的搜索能力;如果一個系統(tǒng)的I/O頻率為大約1066MHz,芯片數(shù)量為大約6,引腳數(shù)量為大約X+4(其中,實際的引腳數(shù)量可能會稍微大于X+4,因為類似時鐘、ODT等引腳無法共享,這里的4只反映額外使用的CS引腳),則能夠提供大約533Msps的搜索能力;如果系統(tǒng)的I/O頻率為大約
1.6GHz,芯片數(shù)量為大約8,引腳數(shù)量為大約X+6 (其中,實際的引腳數(shù)量可能會稍微大于X+6,因為類似時鐘、ODT等引腳無法共享,這里的6只反映額外使用的CS引腳),則可以提供大約800Msps的搜索能力;如果一個系統(tǒng)的I/O頻率為大約3.2GHz,芯片數(shù)量為大約16,引腳數(shù)量為大約X+14(其中,實際的引腳數(shù)量可能會稍微大于X+14,因為類似時鐘、ODT等引腳無法共享,這里的14只反映額外使用的CS引腳),則可以提供每秒鐘大約1.6千兆次(Giga searches per second, Gsps,即每秒鐘搜索)的搜索能力。上述DDRx SDRAM系統(tǒng)300和400都是基于DDRx SDRAM配置,分別包括大約4個和大約8個芯片,正如表1所示。
[0044]表1:不同DDRx SDRAM配置下的查表性能
[0045]
【權(quán)利要求】
1.一種裝置,其特征在于,包括: 多個內(nèi)存器件,每個器件包括多個內(nèi)存庫; 一個內(nèi)存控制器,和所述內(nèi)存器件耦合在一起,用來控制,并從所述多個內(nèi)存器件中選擇一個進行內(nèi)存操作; 多條地址/命令總線,和所述多個內(nèi)存器件耦合在一起,且所述內(nèi)存控制器包括至少一條共享地址/命令總線,所述總線在所述多個內(nèi)存器件中的至少幾個之間共享; 多條數(shù)據(jù)總線,和所述多個內(nèi)存器件耦合在一起,且所述內(nèi)存控制器包括至少一條數(shù)據(jù)總線,所述總線在至少幾個內(nèi)存器件之間共享, 其中,在采用時分復(fù)用技術(shù)(TDM)時,所述內(nèi)存控制器使用內(nèi)存交錯及庫仲裁機制來訪問所述多個內(nèi)存器件以及內(nèi)存庫, 其中,所述內(nèi)存器件包括一代的雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,其中,所述多個內(nèi)存器件包括多個雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,其中,所述內(nèi)存交錯及庫仲裁機制可以用來提升多個內(nèi)存器件的查表性能,其中,所述共享地址/命令總線以及共享數(shù)據(jù)總線,可以用來減少所要求的輸入/輸出(I/O)引腳的數(shù)量,還可以用于耦合內(nèi)存器件的邏輯單元。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,其中,所述多個內(nèi)存器件可以劃分為多個器件組,每個組利用所述共享數(shù)據(jù)總線耦合到所述內(nèi)存控制器。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,其中,所述各器件組都利用所述共享地址/命令總線耦合到所述內(nèi)存控制器。
6.根據(jù)權(quán)利要求4所述的裝置,其特征在于,其中,可以利用硅片堆疊技術(shù)封裝所述各器件組,而無需使用串行器/去串行器(SerDes),且各器件組共享至少一條所述數(shù)據(jù)總線以及地址/命令總線。
7.根據(jù)權(quán)利要求2所述的裝置,其特征在于,其中,DDRxSDRAM芯片包括多個DDR3SDRAM芯片、多個DDR4SDRAM芯片、或二者的組合。
8.根據(jù)權(quán)利要求2所述的裝置,其特征在于,其中,所述DDRxSDRAM芯片可以是具有內(nèi)在時序限制的DDR3SDRAM芯片,限制包括四個窗口激活時間(tFAW),大約40納秒(ns),行單元到行單元的延時(tRRD),大約10ns,以及行周期時間(tRC),大約48ns。
9.根據(jù)權(quán)利要求2所述的裝置,其特征在于,其中,所述內(nèi)存控制器利用兩條相應(yīng)的共享數(shù)據(jù)總線以及一條共享地址/命令總線從而耦合到兩個芯片組,每個芯片組包括兩個DDR3SDRAM芯片,其中,每個DDR3SDRAM芯片利用時鐘信號總線以及芯片選擇信號總線從而耦合到所述內(nèi)存控制器,其中,DDR3SDRAM芯片中,輸入/輸出(Input/Output,I/O)總頻率為約800兆赫茲(MHz),查表性能為每秒鐘約400兆個數(shù)據(jù)包(Mpps)。
10.根據(jù)權(quán)利要求2所述的裝置,其特征在于,其中,所述內(nèi)存控制器利用四條相應(yīng)的共享數(shù)據(jù)總線以及一條共享地址/命令總線從而耦合到四個芯片組,每個芯片組包括兩個DDR SDRAM芯片,且突發(fā)大小為16位,其中,每個DDR SDRAM芯片利用一條時鐘信號總線以及一條芯片選擇信號總線從而耦合到所述內(nèi)存控制器,其中,DDR SDRAM芯片中,輸入/輸出(I/O)總頻率約為1.6千兆赫(GHz),查表性能約為每秒鐘800兆個數(shù)據(jù)包(Mpps)。
11.一種網(wǎng)絡(luò)器件,其特征在于,包括: 接收器,用來接收多個查表請求; 邏輯單元,用來生成多條命令,所述命令通過至少一條共享地址/命令總線和一條共享數(shù)據(jù)總線來指示訪問多個交錯內(nèi)存芯片和多個交錯內(nèi)存庫。
12.根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)器件,其特征在于,其中,交替訪問共享了地址/命令總線以及數(shù)據(jù)總線的內(nèi)存芯片,其中,并行訪問不共享任何總線的內(nèi)存芯片。
13.根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)器件,其特征在于,其中,在所述多個內(nèi)存芯片中,至少有幾個包括約兩個雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)芯片,此外,輸入/輸出(I/O)頻率為約400兆赫茲(MHz),查表效率為每秒鐘約200兆次搜索(Msps),且無需給內(nèi)存芯片增加額外的引腳。
14.根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)器件,其特征在于,其中,一個內(nèi)存芯片包括約四個雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)芯片,此外,輸入/輸出(I/O)頻率為約800兆赫茲(MHz),查表效率為每秒鐘約400兆次搜索(Msps),需要給內(nèi)存芯片增加2個引腳以作芯片選擇信號。
15.根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)器件,其特征在于,其中,一個內(nèi)存芯片包括約六個雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)芯片,此外,輸入/輸出(I/O)頻率為約1066兆赫茲(MHz),查表效率為每秒鐘約533兆次搜索(Msps),需要給內(nèi)存芯片增加4個引腳以作芯片選擇信號。
16.根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)器件,其特征在于,其中,通過給內(nèi)存芯片增加6個引腳用于芯片選擇信號,一個內(nèi)存芯片包括約八個雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)芯片,此外,輸入/輸出(I/O)頻率為約1.6千兆赫(GHz),查表效率為每秒鐘約800兆次搜索(Msps)。
17.根據(jù)權(quán)利要求11所述的網(wǎng)絡(luò)器件,其特征在于,其中,通過給內(nèi)存芯片增加6個引腳用于芯片選擇信號,一個內(nèi)存芯片包括約16個雙倍數(shù)據(jù)速率(DDR)同步動態(tài)隨機存取存儲器(SDRAM)芯片,此外,輸入/輸出(I/O)頻率為約3.2千兆赫(GHz),查表效率為每秒鐘約1.6千兆次搜索(Gsps)。
18.—種網(wǎng)絡(luò)裝置實現(xiàn)方法,其特征在于,包括: 利用一個內(nèi)存控制器從多個內(nèi)存芯片中選擇一個內(nèi)存芯片; 利用所述內(nèi)存控制器,從多個分配給內(nèi)存芯片的內(nèi)存庫中選擇一個內(nèi)存庫; 通過某些所述內(nèi)存芯片之間共享的地址/命令總線的輸入/輸出(Input/Output,I/O)引腳來發(fā)送命令; 通過某些所述內(nèi)存芯片之間共享的數(shù)據(jù)總線來發(fā)送數(shù)據(jù)字, 其中,在復(fù)用的機制下,通過所述共享地址/命令總線來發(fā)送命令,通過所述共享數(shù)據(jù)總線發(fā)送數(shù)據(jù)字。
19.根據(jù)權(quán)利要求18所述的網(wǎng)絡(luò)裝置實現(xiàn)方法,其特征在于,其中,所有的內(nèi)存芯片操作一致,其中,對每個內(nèi)存芯片進行多個庫復(fù)制,從而支持查一個或多個表。
20.根據(jù)權(quán)利要求19所述的網(wǎng)絡(luò)裝置實現(xiàn)方法,其特征在于,其中,復(fù)制8個內(nèi)存庫來支持查一個表,復(fù)制4個內(nèi)存庫來支持查兩個表,復(fù)制2個內(nèi)存庫來支持查4個表。
21.根據(jù)權(quán)利要求18所述的網(wǎng)絡(luò)裝置實現(xiàn)方法,其特征在于,其中,所有的內(nèi)存芯片操作一致,其中, 不對內(nèi)存芯片進行內(nèi)存庫復(fù)制。
【文檔編號】G11C5/06GK103918032SQ201280053051
【公開日】2014年7月9日 申請日期:2012年10月31日 優(yōu)先權(quán)日:2011年10月31日
【發(fā)明者】宋浩宇, 王心遠, 曹瑋 申請人:華為技術(shù)有限公司