專利名稱:雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,具體地說,涉及到一種靈活提高DDRSDRAM存取控制效率的方法。
背景技術(shù):
DDR SDRAM(Double-Data-Rate SDRAM,雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)是一種高速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,目前的容量大小有64Mb,128Mb,256Mb,512Mb和1Gb等序列,其應(yīng)用范圍非常廣泛,最常見的是用在個(gè)人電腦和網(wǎng)絡(luò)通訊系統(tǒng)。個(gè)人電腦性能的提高需要速度更快、效率更高并且容量更大但是價(jià)錢更便宜的存儲(chǔ)器。在網(wǎng)絡(luò)通訊市場,提供更好的性能同樣需要更高的數(shù)據(jù)帶寬,這依然需要性能更好的存儲(chǔ)器。DDR SDRAM在網(wǎng)絡(luò)通訊領(lǐng)域最主要的用途是用作包緩存器(網(wǎng)絡(luò)處理機(jī)發(fā)送一個(gè)包頭信息時(shí)常常需要在存儲(chǔ)器中存儲(chǔ)了完整的包)。
DDR SDRAM的雙倍速率架構(gòu)基于可以在一個(gè)時(shí)鐘內(nèi)傳送兩個(gè)數(shù)據(jù),從而使同一時(shí)鐘周期傳送的數(shù)據(jù)量是SDR SDRAM(Single-Data-RateSDRAM)的兩倍,至于尋址與控制信號(hào)則與SDR SDRAM相同,可以看出,在同樣的地址和命令控制下,DDR SDRAM可以提供更高的數(shù)據(jù)速率。對DDR SDRAM的單個(gè)讀或?qū)懖僮鞣譃閮蓚€(gè)部分,一邊是在控制電路中一個(gè)時(shí)鐘傳送2n位寬的數(shù)據(jù),另一邊是在I/O口兩次以半個(gè)時(shí)鐘周期傳送n位寬的數(shù)據(jù)。DDR SDRAM的地址包含三個(gè)方面頁(Bank)、行(Row)和列(Column)。
雙向數(shù)據(jù)選通信號(hào)(DQS)與雙向數(shù)據(jù)一起傳送,用于在接收端獲取數(shù)據(jù)。讀操作時(shí)由DDR SDRAM發(fā)出,寫操作時(shí)由存儲(chǔ)控制器發(fā)出。雙向數(shù)據(jù)選通信號(hào)在讀操作時(shí)與數(shù)據(jù)的沿對齊,寫操作時(shí)與數(shù)據(jù)的中點(diǎn)對齊。DDRSDRAM用一對反相的時(shí)鐘進(jìn)行操作(CK和CK,CK變高且CK變低時(shí)稱為CK的正跳沿)。命令(地址和控制信號(hào))在CK的正跳沿鎖存。輸入數(shù)據(jù)在雙向數(shù)據(jù)選通信號(hào)的正跳沿和負(fù)跳沿鎖存,輸出數(shù)據(jù)同時(shí)參考雙向數(shù)據(jù)選通信號(hào)的雙沿和CK的雙沿。對DDR SDRAM的讀和寫操作都是突發(fā)(Burst)的,從某一位置開始,連續(xù)進(jìn)行一個(gè)設(shè)定長度的存取。存取從激活(ACTIVE)命令開始,接著是讀或?qū)懨?。與激活命令同時(shí)寄存的地址位用于選擇頁和行,與讀(READ)或?qū)?WRITE)命令同時(shí)寄存的地址位用于選擇頁地址和突發(fā)存取的開始列地址。DDR SDRAM的兩個(gè)命令之間,一般需要有一定的時(shí)間間隔,例如從激活命令到讀或?qū)懨钪g有最短時(shí)間要求,即激活到讀寫的延遲時(shí)間(′RCD),發(fā)送一個(gè)激活命令后,需要滿足激活到讀寫的延遲時(shí)間才可以發(fā)送讀或?qū)懨?,如圖1,不同的DDR SDRAM具有不同的激活到讀寫的延遲時(shí)間。毫無疑問,這些在設(shè)計(jì)中必須保證的命令間隔時(shí)間降低了DDR SDRAM的存取效率。DDR SDRAM提供可配置的突發(fā)長度為2,4或8。自動(dòng)預(yù)充電(AUTO PRECHARGE)功能以提供在突發(fā)存取結(jié)束后自動(dòng)開始預(yù)充電。與SDR SDRAM一樣,流水線式、多頁結(jié)構(gòu)的DDR SDRAM允許并行操作,從而可以通過隱藏行預(yù)充電和激活的時(shí)間而提供更高的有效帶寬。DDR SDRAM優(yōu)越的性價(jià)比使其獲得了越來越廣泛的使用,如何獲得更高的效率就引起極大的關(guān)注。
DDR SDRAM在正常操作之前,必須經(jīng)過一個(gè)初始化過程。下面講述器件初始化、寄存器定義、命令描述和器件操作的詳細(xì)信息。
初始化過程如下上電過程中時(shí)鐘使能信號(hào)(CKE)保持為低,以保證數(shù)據(jù)和雙向數(shù)據(jù)選通信號(hào)輸出處于高阻狀態(tài),直到被正常工作模式驅(qū)動(dòng)(讀操作),在所有電源和參考電源以及時(shí)鐘穩(wěn)定以后,在接收命令之前DDRSDRAM需要200us的時(shí)間延遲,一旦200us延遲得到滿足,應(yīng)用DESELECT或NOP(NO OPERATION)命令,并拉高時(shí)鐘使能信號(hào)。NOP命令之后,應(yīng)用PRECHARGE ALL命令,再之后對擴(kuò)展模式寄存器用MODEREGISTER SET命令,使能DLL,再對模式寄存器用MODE REGISTERSET命令,復(fù)位DLL,并配置操作參數(shù)。
DLL復(fù)位與其后任何可執(zhí)行的命令之間需要200個(gè)時(shí)鐘周期,應(yīng)用PRECHARGE ALL命令,使DDR SDRAM的所有頁處于空閑(1DLE)狀態(tài)。一旦進(jìn)入空閑狀態(tài),必須執(zhí)行兩個(gè)自動(dòng)刷新(AUTO REFRESH)周期。此外,必須對模式寄存器執(zhí)行MODE REGISTER SET命令,其中復(fù)位DLL位無效(即在不復(fù)位DLL的情況下配置操作參數(shù))。最后DDR SDRAM進(jìn)入正常工作模式。
在正常工作模式下對DDR SDRAM進(jìn)行讀寫操作,首先需要激活DDRSDRAM的頁和行,滿足一定的時(shí)間后才可以發(fā)送讀或者寫命令對DDRSDRAM進(jìn)行讀、寫操作,讀、寫操作結(jié)束以后,可以馬上關(guān)閉激活的行,也可以選擇讓這一行保持激活,但是如果要對這一頁的另一行進(jìn)行讀、寫操作,就必須關(guān)閉已經(jīng)激活的行。這些激活、關(guān)閉操作降低了DDR SDRAM的存取效率,然而在實(shí)際應(yīng)用中卻常常是不可缺少的。
在一般的設(shè)計(jì)中,為了靈活對DDR SDRAM進(jìn)行讀、寫操作,常常把讀、寫突發(fā)長度設(shè)為可配置的,有4個(gè)2n位寬的數(shù)據(jù)時(shí),就把長度設(shè)為8,有2個(gè)2n位寬的數(shù)據(jù)時(shí),就把長度設(shè)為4,有1個(gè)2n位寬的數(shù)據(jù)時(shí),就把長度設(shè)為2。但是頻繁的對DDR SDRAM進(jìn)行配置,會(huì)降低DDR SDRAM的存取效率,因?yàn)閷DR SDRAM進(jìn)行配置需要占用時(shí)間,而且需要在所有的頁和行都處在關(guān)閉的時(shí)候才可以進(jìn)行。
把讀寫突發(fā)長度固定設(shè)為8可以提高效率,但是這也有很多缺點(diǎn),并不是一種可以普遍適用的方法,因?yàn)镈DR SDRAM只能終止讀命令,不能終止寫命令。所以對DDR SDRAM進(jìn)行一次寫操作,需要預(yù)先準(zhǔn)備4個(gè)2n位寬的數(shù)據(jù),如果不足4個(gè)2n位寬的數(shù)據(jù),那么就必須一直等待才可以把剩余的數(shù)據(jù)寫入DDR SDRAM,這常常是以犧牲反應(yīng)速度為代價(jià)的。另外,我們來看一下把讀寫突發(fā)長度設(shè)為8時(shí)進(jìn)行一次讀操作的效率。對DDRSDRAM來說,完成一次完整的讀操作需要三個(gè)命令激活、讀和預(yù)充電(PRECHARGE)命令,應(yīng)該說其中的預(yù)充電命令并不是每次都是必需的,如果可以保證下一次讀、寫數(shù)據(jù)還在這一頁的這一行,那么兩次讀、寫命令之間可以不需要預(yù)充電命令,第二次的讀、寫命令還可以省去激活命令,但在設(shè)計(jì)中這種情況只能說是很理想的一種情況,只能作為特例,在數(shù)據(jù)通訊領(lǐng)域的設(shè)計(jì)中經(jīng)常碰到的是常常需要讀寫地址不停地在不同的頁、行間轉(zhuǎn)換。
工作在100MHz時(shí),把讀寫突發(fā)長度設(shè)為8的完整的讀操作時(shí)序圖如圖2所示,通常,DDR SDRAM工作在100MHz時(shí),激活命令到讀命令最少需要兩個(gè)時(shí)鐘周期,讀命令到數(shù)據(jù)出現(xiàn)在總線上的時(shí)間最少為兩個(gè)時(shí)鐘周期(CL=2),預(yù)充電命令需要兩個(gè)時(shí)鐘周期,所以讀操作的示意圖如圖2。圖2中CMD為COMMAND,ACT為ACTIVE,PRE為PRECHARGE,NOP為NO OPERATION的縮寫,DQ是數(shù)據(jù)。
從圖2中可以計(jì)算出,讀操作的效率為4/(4+5)=44.44%,上式中的4是指讀出的4個(gè)2n位寬的數(shù)據(jù),相當(dāng)于圖2的D1~D8占用的4個(gè)時(shí)鐘周期。
另外,在設(shè)計(jì)中通過隱藏行預(yù)充電和激活的時(shí)間也可以提供更高的有效帶寬,這種方法在對DDR SDRAM的一個(gè)頁中的一個(gè)行發(fā)出讀或?qū)懨詈?,馬上激活另一個(gè)頁的某一行,這樣在一些情況下可以節(jié)省一個(gè)激活命令的時(shí)間從而提高讀寫效率,但是這增加了設(shè)計(jì)的復(fù)雜度和難度,因?yàn)镈DRSDRAM提供的命令接口、數(shù)據(jù)接口和地址接口是唯一的,因此同時(shí)激活不同的頁和行需要在時(shí)序上嚴(yán)格控制,否則將引起在數(shù)據(jù)總線上的沖突,這是我們不愿意看到的。另一個(gè)方面,這也對數(shù)據(jù)在不同頁間的存儲(chǔ)策略提出了更高的要求,并且加大了在驗(yàn)證上的難度。目前驗(yàn)證在ASIC和FPGA設(shè)計(jì)中所占用的時(shí)間越來越長,再人為的加大驗(yàn)證的難度應(yīng)該不是一種可取的方法。
從上面對目前DDR SDRAM的現(xiàn)狀和在效率上的提高方法上看,雖然DDR SDRAM具有很高的性價(jià)比,但在使用上還比較復(fù)雜,通常的提高效率的方法也具有很大的局限性,并不具有普遍性。而在數(shù)據(jù)通訊領(lǐng)域,更高的效率意味著更好的性能,因此,簡單靈活地提高DDR SDRAM的效率一直是DDR SDRAM使用上的核心問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是克服現(xiàn)有技術(shù)中使用DDR SDRAM效率不高、DDR SDRAM控制復(fù)雜的問題,以期提出一種靈活提高DDR SDRAM效率、簡化控制的雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法。
本發(fā)明提供的雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法,包括以下步驟(1)DDR SDRAM進(jìn)入正常工作模式后,一直判斷是否存在需要寫入或者讀出的數(shù)據(jù),如果是寫入數(shù)據(jù),則轉(zhuǎn)步驟(2),如果是讀出數(shù)據(jù),則轉(zhuǎn)步驟(3);(2)需要寫入DDR SDRAM的數(shù)據(jù)預(yù)先存在一個(gè)FIFO(First_inFirst_out)中,在對DDR SDRAM進(jìn)行寫操作的過程中,一直判斷FIFO中是否有數(shù)據(jù),如果有數(shù)據(jù)則一直對DDR SDRAM進(jìn)行寫操作,如沒有數(shù)據(jù)則判斷是否進(jìn)行讀操作;(3)在對DDR SDRAM進(jìn)行讀操作的過程中,一直判斷DDR SDRAM中是否有數(shù)據(jù),如果有數(shù)據(jù)則一直對DDR SDRAM進(jìn)行讀操作,如沒有數(shù)據(jù)則判斷是否進(jìn)行寫操作;其特征在于,在DDR SDRAM控制器中,把讀寫突發(fā)長度設(shè)為一個(gè)固定數(shù)值,當(dāng)工作在DDR SDRAM的同一頁同一行時(shí),根據(jù)實(shí)際設(shè)計(jì)連續(xù)發(fā)送讀、寫命令。
所述固定數(shù)值為2。
在實(shí)際中,為了平衡讀、寫操作,使讀、寫操作在理論上各占用一半的時(shí)間,可以對連續(xù)進(jìn)行讀操作或者寫操作的次數(shù)進(jìn)行限制。
寫入數(shù)據(jù)過程具體包括以下步驟(1)需要寫入DDR SDRAM的數(shù)據(jù)預(yù)先存在一個(gè)FIFO中,當(dāng)有數(shù)據(jù)時(shí),向DDR SDRAM控制模塊發(fā)出寫請求;(2)當(dāng)DDR SDRAM控制模塊接收到FIFO的寫請求,向DDR SDRAM發(fā)出激活命令和頁地址以及行地址,激活DDR SDRAM相應(yīng)的頁和行;(3)經(jīng)過DDR SDRAM本身需要的激活命令到讀寫命令的延遲時(shí)間后向DDR SDRAM發(fā)出寫命令以及列地址;(4)FIFO中已經(jīng)不存在數(shù)據(jù)或者達(dá)到設(shè)定的連續(xù)寫操作最大次數(shù)或者在一個(gè)行中的列地址達(dá)到最大值,向DDR SDRAM發(fā)出空操作命令,使DDRSDRAM跳出寫操作;(5)向DDR SDRAM發(fā)出預(yù)充電命令,關(guān)閉寫操作打開的頁和行。
讀出數(shù)據(jù)過程具體包括以下步驟(1)判斷DDR SDRAM是否存在數(shù)據(jù),沒有數(shù)據(jù)則不進(jìn)行讀操作,有數(shù)據(jù)則轉(zhuǎn)入相應(yīng)的讀操作命令;(2)向DDR SDRAM發(fā)出激活命令和頁地址以及行地址,激活DDRSDRAM相應(yīng)的頁和行;(3)經(jīng)過DDR SDRAM本身需要的激活到讀寫的延遲時(shí)間后向DDRSDRAM發(fā)出讀命令以及列地址;(4)DDR SDRAM中已經(jīng)不存在數(shù)據(jù)或者達(dá)到設(shè)定的連續(xù)讀操作最大次數(shù)或者在一個(gè)行中的列地址達(dá)到最大值,向DDR SDRAM發(fā)出空操作命令,使DDR SDRAM跳出讀操作;(5)向DDR SDRAM發(fā)出預(yù)充電命令,關(guān)閉讀操作打開的頁和行。
本發(fā)明所述方法中,對DDR SDRAM連續(xù)進(jìn)行讀操作或者連續(xù)進(jìn)行寫操作,這樣可以節(jié)省激活和預(yù)充電命令,與現(xiàn)有技術(shù)相比,本發(fā)明使得對DDRSDRAM的控制更加簡單而靈活,存儲(chǔ)效率更高,把連續(xù)讀寫命令的次數(shù)調(diào)整為64,那么DDR SDRAM的效率最高可以達(dá)到92.75%,而且沒有增加額外的成本。
圖1是激活和激活命令以及讀/寫命令的時(shí)間間隔關(guān)系。
圖2是讀寫突發(fā)長度為8的完整讀操作時(shí)序圖。
圖3是本發(fā)明所述方法流程示意圖。
圖4是讀寫突發(fā)長度為2,連續(xù)發(fā)送5個(gè)讀命令的時(shí)序圖。
具體實(shí)施例方式
下面結(jié)合附圖,對本發(fā)明做進(jìn)一步的詳細(xì)描述。
本發(fā)明所述靈活提高DDR SDRAM效率的讀寫方法如下核心方法是在DDR SDRAM控制器中,把讀寫突發(fā)長度固定設(shè)為2,當(dāng)工作在DDR SDRAM的同一頁同一行時(shí),根據(jù)實(shí)際設(shè)計(jì)連續(xù)發(fā)送讀、寫命令,節(jié)省激活和預(yù)充電命令時(shí)間,從而提高DDR SDRAM的存儲(chǔ)效率。
為了實(shí)現(xiàn)能夠連續(xù)發(fā)送讀、寫命令,需要在DDR SDRAM進(jìn)入正常工作模式后一直判斷是否存在需要寫入或者讀出的數(shù)據(jù)。需要寫入DDRSDRAM的數(shù)據(jù)預(yù)先存在一個(gè)FIFO(First_in First_out)中,在對DDRSDRAM進(jìn)行寫操作的過程中,一直判斷FIFO中是否有數(shù)據(jù),如果有數(shù)據(jù)則一直對DDR SDRAM進(jìn)行寫操作,如沒有數(shù)據(jù)則判斷是否進(jìn)行讀操作;在對DDR SDRAM進(jìn)行讀操作的過程中,一直判斷DDR SDRAM中是否有數(shù)據(jù),如果有數(shù)據(jù)則一直對DDR SDRAM進(jìn)行讀操作,如沒有數(shù)據(jù)則判斷是否進(jìn)行寫操作。在實(shí)際中,為了平衡讀、寫操作,使讀、寫操作在理論上各占用一半的時(shí)間,可以對連續(xù)進(jìn)行讀操作或者寫操作的次數(shù)進(jìn)行限制。比如設(shè)定連續(xù)寫操作的最大次數(shù)為64,那么當(dāng)對DDR SDRAM連續(xù)進(jìn)行了64次寫操作以后,即使FIFO中還存在有數(shù)據(jù),也不再進(jìn)行寫操作,而去判斷DDR SDRAM是否需要進(jìn)行讀操作。當(dāng)對DDR SDRAM進(jìn)行了64次讀操作后,即使DDR SDRAM中還存在有數(shù)據(jù),也不再進(jìn)行讀操作,而去判斷DDR SDRAM是否需要進(jìn)行寫操作。完整的讀寫控制操作如圖3所示。
本方法中,對DDR SDRAM連續(xù)進(jìn)行讀操作或者連續(xù)進(jìn)行寫操作,這樣可以節(jié)省激活和預(yù)充電命令,圖4是讀寫突發(fā)長度為2,連續(xù)發(fā)送5個(gè)讀命令的時(shí)序圖,從ACT命令到最后的數(shù)據(jù)D10出來組成一個(gè)完整的讀操作。DDR SDRAM的效率計(jì)算為5/(5+5)=50%。這里并不能體現(xiàn)出算法的優(yōu)勢,但連續(xù)的讀命令次數(shù)達(dá)到32次時(shí),DDR SDRAM的效率就為32/(32+5)=86.49%,這個(gè)效率已經(jīng)是讀寫突發(fā)長度為8的效率的兩倍。如果把連續(xù)讀命令的次數(shù)調(diào)整為64,那么DDR SDRAM的效率就為92.75%。更重要的是,這種方法克服了把讀寫突發(fā)長度設(shè)為8的一些缺點(diǎn),降低了DDR SDRAM控制的難度,讀寫突發(fā)長度為8時(shí),需要有4個(gè)2n位寬的數(shù)據(jù)才可以對DDR SDRAM進(jìn)行寫操作,現(xiàn)在這種方法只要有一個(gè)2n位寬的數(shù)據(jù),就可以對DDR SDRAM進(jìn)行寫操作,減少了等待數(shù)據(jù)的時(shí)間。
圖1是激活和激活命令以及讀/寫命令的時(shí)間間隔關(guān)系。ACT是ACTIVE的縮寫,NOP是NO OPERATION的縮寫,RD/WR是READ/WRITE的縮寫。不同器件的激活到讀寫的延遲時(shí)間可能不一樣。在實(shí)際使用中,把這個(gè)時(shí)間換算成時(shí)鐘周期的整數(shù)倍。假設(shè)這個(gè)時(shí)鐘間隔為20ns,那么當(dāng)DDRSDRAM在100MHz時(shí)鐘(時(shí)鐘周期為10ns)下工作時(shí),就是2個(gè)時(shí)鐘周期,當(dāng)DDR SDRAM在133MHz時(shí)鐘(時(shí)鐘周期為7.5ns)下工作時(shí),為2.7個(gè)時(shí)鐘周期,使用時(shí)實(shí)際用3個(gè)時(shí)鐘周期。
圖2是讀寫突發(fā)長度為8的完整讀操作時(shí)序圖。ACT是ACTIVE的縮寫,NOP是NOOPERATION的縮寫,PRE是PRECHARGE的縮寫,D1到D8是讀出的數(shù)據(jù)。設(shè)置突發(fā)長度為8時(shí),一個(gè)讀命令一次連續(xù)讀出8個(gè)數(shù)據(jù),在每一個(gè)時(shí)鐘周期都送出兩個(gè)數(shù)據(jù)。
圖3是完整的讀寫操作示意圖。在初始化時(shí)設(shè)置讀寫突發(fā)長度為2,在接收讀寫請求這個(gè)階段需要判斷DDR SDRAM是否需要進(jìn)行刷新,因?yàn)镈DR SDRAM本身有一個(gè)器件刷新時(shí)間間隔,如果需要進(jìn)行刷新,就發(fā)出自刷新命令,否則如果接收到讀或?qū)懻埱?,就發(fā)出激活命令激活相應(yīng)的頁和行,開始對DDR SDRAM進(jìn)行讀寫操作,在讀操作的時(shí)候,連續(xù)向DDRSDRAM發(fā)出讀命令,一直到DDR SDRAM中已經(jīng)不存在數(shù)據(jù)或者達(dá)到設(shè)定的連續(xù)讀操作最大次數(shù)或者在一個(gè)行中的列地址達(dá)到最大值,向DDRSDRAM發(fā)出空操作命令,使DDR SDRAM跳出讀操作,然后關(guān)閉相應(yīng)的頁和行,在寫操作的時(shí)候,連續(xù)向DDR SDRAM發(fā)出寫命令,一直到?jīng)]有數(shù)據(jù)寫入或者達(dá)到設(shè)定的連續(xù)寫操作最大次數(shù)或者在一個(gè)行中的列地址達(dá)到最大值,向DDR SDRAM發(fā)出空操作命令,使DDR SDRAM跳出寫操作,然后關(guān)閉相應(yīng)的頁和行。在關(guān)閉頁和行后,完成一次完整的讀操作或者寫操作。
圖4是讀寫突發(fā)長度為2,連續(xù)發(fā)送5個(gè)讀命令的時(shí)序圖。ACT是ACTIVE的縮寫,NOP是NOOPERATION的縮寫,PRE是PRECHARGE的縮寫,D1到D10是讀出的數(shù)據(jù)。連續(xù)發(fā)送5個(gè)讀命令,所以DDR SDRAM在5個(gè)時(shí)鐘周期內(nèi)一共送出10個(gè)數(shù)據(jù)。
權(quán)利要求
1.一種雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法,包括以下步驟(1)雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器進(jìn)入正常工作模式后,一直判斷是否存在需要寫入或者讀出的數(shù)據(jù),如果是寫入數(shù)據(jù),則轉(zhuǎn)步驟(2),如果是讀出數(shù)據(jù),則轉(zhuǎn)步驟(3);(2)需要寫入雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的數(shù)據(jù)預(yù)先存在一個(gè)先入先出緩存器中,在對雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器進(jìn)行寫操作的過程中,一直判斷先入先出緩存器中是否有數(shù)據(jù),如果有數(shù)據(jù)則一直對雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器進(jìn)行寫操作,如沒有數(shù)據(jù)則判斷是否進(jìn)行讀操作;(3)在對雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器進(jìn)行讀操作的過程中,一直判斷雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中是否有數(shù)據(jù),如果有數(shù)據(jù)則一直對雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器進(jìn)行讀操作,如沒有數(shù)據(jù)則判斷是否進(jìn)行寫操作;其特征在于,在雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器控制器中,把讀寫突發(fā)長度設(shè)為一個(gè)固定數(shù)值,當(dāng)工作在雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的同一頁同一行時(shí),根據(jù)實(shí)際設(shè)計(jì)連續(xù)發(fā)送讀、寫命令。
2.根據(jù)權(quán)利要求1所述的雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法,其特征在于,所述固定數(shù)值為2。
3.根據(jù)權(quán)利要求1或2所述的雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法,其特征在于,對連續(xù)進(jìn)行讀操作或者寫操作的次數(shù)進(jìn)行限制。
4.根據(jù)權(quán)利要求1或2所述的雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法,其特征在于,寫入數(shù)據(jù)過程具體包括以下步驟(1)需要寫入雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的數(shù)據(jù)預(yù)先存在一個(gè)先入先出緩存器中,當(dāng)有數(shù)據(jù)時(shí),向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器控制模塊發(fā)出寫請求;(2)當(dāng)雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器控制模塊接收到先入先出緩存器的寫請求,向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器發(fā)出激活命令和頁地址以及行地址,激活雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器相應(yīng)的頁和行;(3)經(jīng)過雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器本身需要的激活命令到讀寫命令的延遲時(shí)間后向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器發(fā)出寫命令以及列地址;(4)先入先出緩存器中已經(jīng)不存在數(shù)據(jù)或者達(dá)到設(shè)定的連續(xù)寫操作最大次數(shù)或者在一個(gè)行中的列地址達(dá)到最大值,向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器發(fā)出空操作命令,使雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器跳出寫操作;(5)向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器發(fā)出預(yù)充電命令,關(guān)閉寫操作打開的頁和行。
5.根據(jù)權(quán)利要求1或2所述的雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法,其特征在于,讀出數(shù)據(jù)過程具體包括以下步驟(1)判斷雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器是否存在數(shù)據(jù),沒有數(shù)據(jù)則不進(jìn)行讀操作,有數(shù)據(jù)則轉(zhuǎn)入相應(yīng)的讀操作命令;(2)向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器發(fā)出激活命令和頁地址以及行地址,激活雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器相應(yīng)的頁和行;(3)經(jīng)過雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器本身需要的激活到讀寫的延遲時(shí)間后向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器發(fā)出讀命令以及列地址;(4)雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器中已經(jīng)不存在數(shù)據(jù)或者達(dá)到設(shè)定的連續(xù)讀操作最大次數(shù)或者在一個(gè)行中的列地址達(dá)到最大值,向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器發(fā)出空操作命令,使雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器跳出讀操作;(5)向雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器發(fā)出預(yù)充電命令,關(guān)閉讀操作打開的頁和行。
全文摘要
本發(fā)明公開了一種計(jì)算機(jī)領(lǐng)域中的雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的讀寫方法,包括以下步驟雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器進(jìn)入正常工作模式后,一直判斷是否存在需要寫入或者讀出的數(shù)據(jù),需要寫入雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的數(shù)據(jù)預(yù)先存在一個(gè)先入先出緩存器中,在對雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器進(jìn)行寫操作的過程中,一直判斷先入先出緩存器中是否有數(shù)據(jù),如果有數(shù)據(jù)則一直對雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器進(jìn)行寫操作,如沒有數(shù)據(jù)則判斷是否進(jìn)行讀操作;在讀出數(shù)據(jù)過程中類似操作;在雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器控制器中,把讀寫突發(fā)長度設(shè)為一個(gè)固定數(shù)值。本發(fā)明克服了現(xiàn)有技術(shù)中使用雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器效率不高、雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器控制復(fù)雜的問題,能夠靈活提高雙倍速動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器效率、簡化控制。
文檔編號(hào)G11C7/00GK1783332SQ20041009608
公開日2006年6月7日 申請日期2004年11月29日 優(yōu)先權(quán)日2004年11月29日
發(fā)明者徐昌發(fā) 申請人:中興通訊股份有限公司