專利名稱:一種存儲器接口訪問控制方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及DDR(Double Data Rate,雙倍速率同步動態(tài)隨機(jī)存儲器)技術(shù)領(lǐng)域,更具體地,涉及一種存儲器接口訪問方法及裝置。
背景技術(shù):
DDRX類型存儲器在各種通信設(shè)備中得到廣泛應(yīng)用,包括DDR、DDRII以及DDRIII 等采用雙倍速率的數(shù)據(jù)總線存儲器,相對于SSRAM(Synchronous Static Random Access Memory,同步靜態(tài)隨機(jī)存取存儲器),以單位存儲密度大(單顆??蛇_(dá)mbit),接口速率高 (最高可達(dá)1.333(ihZ),成本低,等優(yōu)勢,成為存儲器中最重要的器件之一。為了實(shí)現(xiàn)上述種種的優(yōu)異特性,在器件的設(shè)計上也必然需要付出很多代價。為實(shí)現(xiàn)單片更大存儲容量的指標(biāo),需要在每個存儲單元盡可能采用更少的晶體管(SSRAM每個存儲單元至少需要六個晶體管),但同時也使得訪問控制電路的復(fù)雜性提高。為提高接口速率,則需要采用更高的預(yù)存取倍數(shù)。由于單顆粒地址空間提高,為減少地址管腳的數(shù)量,外部地址尋址都采用行列尋址方式,將尋址命令分解兩步完成,等等。這些技術(shù)使得存儲器的讀寫訪問接口日趨復(fù)雜,指令帶寬比例也隨著提高。DDRX存儲器接口速率已經(jīng)提高到吉赫茲數(shù)量級,但是實(shí)際接口訪問帶寬卻并不能達(dá)到很高的利用率。
圖1示出了一個典型的DDRX接口讀寫訪問時序圖,主要的操作步驟包括上電初始化、模式寄存器加載、Active (激活)Jrite (寫)、Read (讀)、Precharge (預(yù)充電)、RefreSh(刷新)等。上電初始化和模式寄存器只在Power up (上電)時執(zhí)行一次, 對效率影響不大。因此,對存儲的單元訪問主要圍繞著Active、Write, Read、Precharge, Refresh這幾個命令展開。以DDR器件為例,Burst (突發(fā))長度為8時,有效帶寬44 %, Burst長度為4時,有效帶寬降到22%,Burst長度為2時,有效帶寬降到11%。當(dāng)然,如果使讀寫地址始終都能夠連續(xù)操作,讀寫帶寬理論可以達(dá)到99%,但這僅限于器件的理論值, 在實(shí)際應(yīng)用中讀寫地址分布是隨機(jī)的。除了必要開銷操作以外,DDRX訪問時序還有一些限制,以DDR器件為例,涉及的主要參數(shù)如下表1所示。表 權(quán)利要求
1.一種存儲器訪問接口控制裝置,其特征在于,所述裝置包括依次相連的地址控制器、指令隊(duì)列和指令隊(duì)列掃描器,其中,所述地址控制器與數(shù)據(jù)存儲應(yīng)用層相連,所述指令隊(duì)列掃描器與所述存儲器的接口控制器相連,所述地址控制器用于,將所述數(shù)據(jù)存儲應(yīng)用層發(fā)出的指令分別映射到存儲器的不同空間,并將不同空間的讀寫指令發(fā)送到相應(yīng)的指令隊(duì)列中;指令隊(duì)列用于,緩存收到的讀寫指令;隊(duì)列掃描器用于,依次從所述各指令隊(duì)列中讀取讀寫指令,發(fā)送到所述存儲器的接口控制器。
2.如權(quán)利要求1所述的裝置,其特征在于,所述地址控制器用于,根據(jù)所述讀寫指令中的數(shù)據(jù)存儲應(yīng)用層訪問地址,將所述讀寫指令的地址映射到所述存儲器的相應(yīng)空間中。
3.如權(quán)利要求1或2所述的裝置,其特征在于,所述指令隊(duì)列的個數(shù)與所述存儲器的片(BANK)的數(shù)目相同。
4.如權(quán)利要求3所述的裝置,其特征在于,所述地址控制器用于,按照以下方式將所述讀寫指令映射到所述存儲器的不同空間中設(shè)數(shù)據(jù)存儲應(yīng)用層的地址訪問空間大小為M,存儲器的空間大小為P,存儲器的BANK數(shù)為N,則數(shù)據(jù)存儲應(yīng)用層訪問地址m經(jīng)過映射后轉(zhuǎn)換后的訪問地址m’為
5.如權(quán)利要求1或2所述的裝置,其特征在于,所述隊(duì)列掃描器用于,依次掃描各指令隊(duì)列,如果當(dāng)前指令隊(duì)列不為空,則從當(dāng)前指令隊(duì)列中讀取一條讀寫指令存入所述隊(duì)列掃描器內(nèi)部的緩存器中,如果當(dāng)前指令隊(duì)列為空, 則掃描下一個指令隊(duì)列;如果經(jīng)過2次或2次以上全部指令隊(duì)列掃描后,判斷只有一個指令隊(duì)列始終不為空,且其他指令隊(duì)列始終為空,則增大每次從指令隊(duì)列中讀取讀寫指令的條數(shù),將讀取的地址連續(xù)的讀寫指令合并為一條讀寫指令,并調(diào)整讀寫指令的突發(fā)(Burst)參數(shù)。
6.一種存儲器接口訪問控制方法,其特征在于,所述方法包括將數(shù)據(jù)存儲應(yīng)用層發(fā)出的讀寫指令分別映射到存儲器的不同空間中;依次從所述存儲器的各個空間讀取讀寫指令,發(fā)送到所述存儲器的接口控制器中。
7.如權(quán)利要求6所述的方法,其特征在于,在將所述讀寫指令映射到所述存儲器的不同空間中后,所述方法還包括將所述存儲器的不同空間的讀寫指令分別發(fā)送到相應(yīng)的指令隊(duì)列中,其中所述指令隊(duì)列的個數(shù)與所述存儲器的BANK的數(shù)目相同;依次從所述各指令隊(duì)列中讀取讀寫指令,發(fā)送到所述存儲器的接口控制器。
8.如權(quán)利要求6或7所述的方法,其特征在于,根據(jù)所述讀寫指令中的數(shù)據(jù)存儲應(yīng)用層訪問地址,將所述讀寫指令的地址映射到所述存儲器的相應(yīng)空間中。
9.如權(quán)利要求8所述的方法,其特征在于,按照以下方式將所述讀寫指令映射到所述存儲器的不同空間中 設(shè)數(shù)據(jù)存儲應(yīng)用層的地址訪問空間大小為M,存儲器的空間大小為P,存儲器的BANK數(shù)為N,則數(shù)據(jù)存儲應(yīng)用層訪問地址m經(jīng)過映射后轉(zhuǎn)換后的訪問地址m’為俯Pjfi]/[τ = round\—xN]x一 + m- round\—xN]x—; MNMN其中,roimd[X]為取整運(yùn)算。
10.如權(quán)利要求7所述的方法,其特征在于,在依次從所述各個指令隊(duì)列中讀取讀寫指令時,依次掃描各指令隊(duì)列,如果當(dāng)前指令隊(duì)列不為空,則從當(dāng)前指令隊(duì)列中讀取一條讀寫指令存入內(nèi)部緩存器中,如果當(dāng)前指令隊(duì)列為空,則掃描下一個指令隊(duì)列;如果經(jīng)過2次或2次以上全部指令隊(duì)列掃描后,判斷只有一個指令隊(duì)列始終不為空,且其他指令隊(duì)列始終為空,則增大每次從指令隊(duì)列中讀取讀寫指令的條數(shù),將讀取的地址連續(xù)的讀寫指令合并為一條讀寫指令,并調(diào)整讀寫指令的Burst參數(shù)。
全文摘要
本發(fā)明公開了一種存儲器訪問接口控制方法及裝置,所述裝置包括依次相連的地址控制器、指令隊(duì)列和指令隊(duì)列掃描器,其中,地址控制器與數(shù)據(jù)存儲應(yīng)用層相連,指令隊(duì)列掃描器與存儲器的接口控制器相連,地址控制器用于,將數(shù)據(jù)存儲應(yīng)用層發(fā)出的指令分別映射到存儲器的不同空間,并將不同空間的讀寫指令發(fā)送到相應(yīng)的指令隊(duì)列中;指令隊(duì)列用于,緩存收到的讀寫指令;隊(duì)列掃描器用于,依次從各指令隊(duì)列中讀取讀寫指令,發(fā)送到存儲器的接口控制器。本發(fā)明能夠有效提高DDRX存儲器的吞吐帶寬,且對讀操作和寫操作均能達(dá)到同樣效果,并且提高了存儲器的訪問效率,從而提升設(shè)備的整體性能。
文檔編號G06F13/16GK102541769SQ20101058687
公開日2012年7月4日 申請日期2010年12月13日 優(yōu)先權(quán)日2010年12月13日
發(fā)明者黃科 申請人:中興通訊股份有限公司