使用QDR-IV設(shè)計(jì)高性能網(wǎng)絡(luò)系統(tǒng)——第一部分
掃描二維碼
隨時(shí)隨地手機(jī)看文章
流媒體視頻、云服務(wù)和移動(dòng)數(shù)據(jù)推動(dòng)了全球網(wǎng)絡(luò)流量的持續(xù)增長(zhǎng)。為了支持這種增長(zhǎng),網(wǎng)絡(luò)系統(tǒng)必須提供更快的線路速率和每秒處理數(shù)百萬個(gè)數(shù)據(jù)包的性能。在網(wǎng)絡(luò)系統(tǒng)中,數(shù)據(jù)包的到達(dá)順序是隨機(jī)的,且每個(gè)數(shù)據(jù)包的處理需要好幾個(gè)存儲(chǔ)動(dòng)作。數(shù)據(jù)包流量需要每秒鐘訪問數(shù)億萬次存儲(chǔ)器,才能在轉(zhuǎn)發(fā)表中找到路徑或完成數(shù)據(jù)統(tǒng)計(jì)。
數(shù)據(jù)包速率與隨機(jī)存儲(chǔ)器訪問速率成正比。如今的網(wǎng)絡(luò)設(shè)備需要具有很高的隨機(jī)訪問速率(RTR)性能和高帶寬才能跟上如今高速增長(zhǎng)的網(wǎng)絡(luò)流量。其中,RTR是衡量存儲(chǔ)器可以執(zhí)行的完全隨機(jī)存儲(chǔ)(讀或?qū)?的次數(shù),即隨機(jī)存儲(chǔ)速率。該度量值與存取處理過程的處理位數(shù)無關(guān)。RTR是以百萬次/每秒(MT/s)為單位計(jì)量的。
相比于高性能網(wǎng)絡(luò)系統(tǒng)需要處理的隨機(jī)流量的速率,當(dāng)今高性能DRAM能夠處理的要少一些。QDR-IV SRAM旨在提供同類最佳的RTR性能,以滿足苛刻的網(wǎng)絡(luò)功能要求。圖1量化了QDR-IV相比于其它類型的存儲(chǔ)器在RTR性能方面的優(yōu)勢(shì)。即使與最高性能的存儲(chǔ)器相比,QDR-IV仍能提供兩倍于后者的RTR性能,因此,它是那些需要執(zhí)行要求苛刻的操作-如更新統(tǒng)計(jì)數(shù)據(jù)、跟蹤數(shù)據(jù)流狀態(tài)、調(diào)度數(shù)據(jù)包、進(jìn)行表查詢-的高性能網(wǎng)絡(luò)系統(tǒng)的理想選擇。
在本系列的第一部分中,我們將探討兩種類型的QDR-IV存儲(chǔ)器、時(shí)鐘、讀/寫操作和分組操作。
不同類型的QDR-IV:XP和HP
QDR-IV 有兩種類型。HP在較低頻率下工作,而且不使用分組操作。 XP面向最高性能的應(yīng)用,可以使用分組操作方案,并在較高頻率下工作。
QDR-IV的讀寫時(shí)延由運(yùn)行速度決定。表1 定義了工作模式和每個(gè)模式所支持的頻率。
QDR-IV SRAM具有兩個(gè)端口,即端口A和端口B。由于可以獨(dú)立訪問這兩個(gè)端口,所以對(duì)存儲(chǔ)器陣列進(jìn)行的任何讀/寫訪問組合均可得到最大的隨機(jī)數(shù)據(jù)傳輸速率。在QDR-IV中,對(duì)每個(gè)端口進(jìn)行訪問時(shí)需要使用雙倍數(shù)據(jù)速率的通用地址總線(A)。端口A的地址在輸入時(shí)鐘(CK)的上升沿上被鎖存,而端口B的地址在輸入時(shí)鐘(CK)的下降沿上或在CK#的上升沿上被鎖存??刂菩盘?hào)(LDA#、LDB#、RWA#和RWB#)以單倍數(shù)據(jù)速率(SDR)工作,并用于確定執(zhí)行讀操作還是寫操作。兩個(gè)數(shù)據(jù)端口(DQA和DQB)均配備了雙倍數(shù)據(jù)速率(DDR)接口。該器件具有2字突發(fā)的架構(gòu)。器件的數(shù)據(jù)總線帶寬為 × 18或 × 36。
QDR-IV SRAM包括指定為端口A和端口B的兩個(gè)端口。因?yàn)閷?duì)兩個(gè)端口的訪問是獨(dú)立的,所以對(duì)于對(duì)存儲(chǔ)器陣列的讀/寫訪問的任何組合,隨機(jī)事務(wù)速率被最大化。 對(duì)每個(gè)端口的訪問是通過以雙倍數(shù)據(jù)速率(即時(shí)鐘的兩個(gè)邊沿)運(yùn)行的公共地址總線(A)。 端口A的地址在輸入時(shí)鐘(CK)的上升沿鎖存,端口B的地址在CK的下降沿或CK#的上升沿鎖存。 控制信號(hào)(LDA#,LDB#,RWA#和RWB#)以單數(shù)據(jù)速率(SDR)運(yùn)行,它們決定是執(zhí)行讀操作還是寫操作。 兩個(gè)數(shù)據(jù)端口(DQA和DQB)都配有雙倍數(shù)據(jù)速率(DDR)接口。 該器件采用2字突發(fā)架構(gòu)。 它提供×18和×36數(shù)據(jù)總線寬度。
QDR-IV XP SRAM器件具有一個(gè)組切換選項(xiàng)。分組操作一節(jié)描述了如何使用組切換,讓器件能夠以更高的頻率和RTR工作。
時(shí)鐘信號(hào)說明
CK/CK#時(shí)鐘與以下地址和控制引腳相關(guān)聯(lián):An-A0、AINV、LDA#、LDB#、RWA#以及RWB#。CK/CK#時(shí)鐘與地址和控制信號(hào)中心對(duì)齊。
DKA/DKA#和DKB/DKB#是與輸入寫數(shù)據(jù)相關(guān)聯(lián)的輸入時(shí)鐘。這些時(shí)鐘與輸入寫數(shù)據(jù)中心對(duì)齊。
根據(jù)QDR-IV SRAM器件的數(shù)據(jù)總線寬度配置,表2顯示了輸入時(shí)鐘與輸入寫數(shù)據(jù)之間的關(guān)系。為了確保指令和數(shù)據(jù)周期的正確時(shí)序,并確保正確的數(shù)據(jù)總線返回時(shí)間,DKA/DKA#和DKB/DKB#時(shí)鐘必須符合各自數(shù)據(jù)表中給出的CK‑to‑DKx斜率 (tCKDK)。
QKA/QKA#和QKB/QKB#是與讀取數(shù)據(jù)相關(guān)聯(lián)的輸出時(shí)鐘。這些時(shí)鐘與輸出讀取數(shù)據(jù)邊沿對(duì)齊。
QK/QK#是數(shù)據(jù)輸出時(shí)鐘,由內(nèi)部鎖相環(huán)(PLL)生成。它與CK/CK#時(shí)鐘同步,并符合各自數(shù)據(jù)表中給出的CK‑to‑QKx斜率 (tCKQK)。
根據(jù)QDR-IV SRAM器件的數(shù)據(jù)總線帶寬的配置情況,表3顯示了輸出時(shí)鐘與讀取數(shù)據(jù)之間的關(guān)系。
讀/寫操作
讀和寫指令由控制輸入(LDA#、RWA#、LDB#和RWB#)和地址輸入驅(qū)動(dòng)。在輸入時(shí)鐘(CK)的上升沿上對(duì)端口A控制輸入進(jìn)行采樣。在輸入時(shí)鐘的下降沿上對(duì)端口B控制輸入進(jìn)行采樣。
表4顯示的是端口A和端口B的讀/寫操作條件。
如圖2 和圖3 所示,對(duì)于QDR-IV HP SRAM,端口A的讀取數(shù)據(jù)在CK的上升沿后整五個(gè)讀取延遲(RL)時(shí)鐘周期后才從DQA 引腳上輸出;對(duì)于QDR-IVXP SRAM,則需要八個(gè)讀延遲(RL)時(shí)鐘周期。CK信號(hào)的上升沿發(fā)生,同時(shí)讀取指令發(fā)出,經(jīng)過指定的RL時(shí)鐘周期后才可獲取數(shù)據(jù)。
對(duì)于QDR-IV HP SRAM,端口A的寫入數(shù)據(jù)在CK的上升沿后整三個(gè)寫入延遲(WL)時(shí)鐘周期才傳輸至DQA 引腳;對(duì)于QDR-IV XP SRAM,則需要五個(gè)寫延遲(WL) 時(shí)鐘周期。CK信號(hào)的上升沿發(fā)生,同時(shí)寫入指令發(fā)出,經(jīng)過指定的RL時(shí)鐘周期后才可獲取數(shù)據(jù)。
對(duì)于QDR-IV HP SRAM,端口B的讀取數(shù)據(jù)在CK的上升沿后整五個(gè)RL 時(shí)鐘周期才從DQB引腳上輸出;對(duì)于QDR-IV XP SRAM,則需要八個(gè)RL 時(shí)鐘周期。CK信號(hào)的上升沿發(fā)生,同時(shí)讀取指令發(fā)出,經(jīng)過指定的RL時(shí)鐘周期后才可獲取數(shù)據(jù)。
對(duì)于QDR-IV HP SRAM,端口B的寫入數(shù)據(jù)在CK的上升沿后整三個(gè)WL 時(shí)鐘周期才傳輸至DQB引腳;對(duì)于QDR-IV XP SRAM,則需要五個(gè)WL 時(shí)鐘周期。CK信號(hào)的上升沿發(fā)生,同時(shí)寫入指令發(fā)出,經(jīng)過指定的RL時(shí)鐘周期后才可獲取數(shù)據(jù)。
QVLDA/QVLDB 信號(hào)表示相應(yīng)端口上的有效輸出數(shù)據(jù)。在總線上驅(qū)動(dòng)第一個(gè)數(shù)據(jù)字的半周期前置位QVLDA 和QVLDB信號(hào),并在總線上驅(qū)動(dòng)最后一個(gè)數(shù)據(jù)字的半周期前取消置位它們。最后數(shù)據(jù)字后的數(shù)據(jù)輸出是三態(tài)的。
旨在實(shí)現(xiàn)高速運(yùn)行的分組操作
QDR-IV XP SRAM 的設(shè)計(jì)是為了支持頻率更高的八組模式(最大工作頻率 = 1066 MHz),而QDR-IV HP SRAM 則支持頻率較低的無分組模式(最大工作頻率 = 667 MHz)。
QDR-IV XP 中較低的三個(gè)地址引腳(A2、A1 和A0)選擇了在讀或?qū)懫陂g將要訪問的組。唯一的分組限制是在每個(gè)時(shí)鐘周期內(nèi)該組僅能被訪問一次。QDR-IV XP SRAM 的組訪問規(guī)則要求在端口B 上訪問的組地址與在端口A 上訪問的組地址不相同。
如果不符合分組限制,那么由于在時(shí)鐘的上升沿時(shí)已經(jīng)對(duì)讀/寫操作進(jìn)行采樣,在端口A 上則不會(huì)限制讀/寫操作,但會(huì)禁止端口B 上的讀/寫操作。QDR-IV HP SRAM 并沒有任何分組限制。
QDR-IV XP SRAM 上的分組限制可作為某些應(yīng)用的一個(gè)優(yōu)點(diǎn),在這些應(yīng)用中,存儲(chǔ)器中的每一組都有不同的用途,并且都不能在同一個(gè)時(shí)鐘周期中被訪問兩次。一個(gè)網(wǎng)絡(luò)路由器能夠在QDR-IV XP SRAM 的每一組內(nèi)儲(chǔ)存不同的路由表便是一個(gè)實(shí)例。如果在同一個(gè)時(shí)鐘周期內(nèi)特定的路由表僅能被訪問一次,則有可能實(shí)現(xiàn)高TRT (隨機(jī)數(shù)據(jù)傳輸速率)。在該情況下,工作頻率為1066 MHz 時(shí),可獲得的最高隨機(jī)數(shù)據(jù)傳輸速率為2132 MT/s。
分組限制不會(huì)影響到數(shù)據(jù)傳輸速率的另一種情況是使用物理層上的多個(gè)端口進(jìn)行設(shè)計(jì),通過每一個(gè)端口可以直接訪問存儲(chǔ)器中一組。這些端口將被復(fù)用到QDR-IV XP SRAM 的端口A 和端口B。在該設(shè)計(jì)中,因?yàn)槊恳粋€(gè)組都連接了物理層上不同的端口,因此任何一個(gè)組都不能在同一個(gè)時(shí)鐘周期內(nèi)被訪問兩次。
不過,如果第一次訪問某一組是通過當(dāng)前時(shí)鐘周期的下降沿上端口B 進(jìn)行的,并且第二次訪問則是通過下一個(gè)時(shí)鐘周期的上升沿上端口A 進(jìn)行的,那么可以在一個(gè)時(shí)鐘周期內(nèi)再次對(duì)同一組進(jìn)行訪問。如圖6所示,在進(jìn)行寫操作期間,端口B 和端口A 都可以在一個(gè)時(shí)鐘周期內(nèi)訪問組Y。同樣,在進(jìn)行讀操作期間,端口B 和端口A 可以在一個(gè)時(shí)鐘周期內(nèi)訪問組X。