国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種動態(tài)存儲器的訪問方法

      文檔序號:6376399閱讀:231來源:國知局
      專利名稱:一種動態(tài)存儲器的訪問方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及存儲器技術(shù),尤其涉及一種動態(tài)存儲器的訪問方法。
      背景技術(shù)
      目前常見的動態(tài)存儲器(DRAM,如DDR SDRAM、SDR SDRAM)通常采用頁面式的存儲結(jié)構(gòu),如圖1所示。例如DDR(雙倍數(shù)據(jù)率)/SDR(單倍數(shù)據(jù)率)SDRAM(同步動態(tài)存儲器)是4頁面(Bank)結(jié)構(gòu),頁面中分行(Row)結(jié)構(gòu)和列(Column)結(jié)構(gòu),便于地址復(fù)用和內(nèi)部任務(wù)的分解處理。
      常見的DRAM存取操作過程如圖2所示,一般包括(1)選中和打開某一頁面的某一行,DDR/SDR SDRAM采用激活(Active)命令;(2)對已激活的行,按列地址進(jìn)行讀寫操作;(3)將處于開啟狀態(tài)的行關(guān)閉(Precharge,另自動關(guān)閉(Autoprecharge)雖然是由存儲器自動完成,但是過程依然存在,下面以非自動關(guān)閉為例闡述,自動關(guān)閉過程同理),否則無法對其他行進(jìn)行操作。
      現(xiàn)有的SDR/DDR SDRAM控制器,通常是按照SDRAM的正常操作順序(激活-->讀/寫-->關(guān)閉)對每個(gè)需要讀寫的整包進(jìn)行存取,即每個(gè)包的存取都是按激活相應(yīng)頁面的相應(yīng)行,然后進(jìn)行整個(gè)包的讀取或?qū)懭?,然后將該行關(guān)閉(Precharge),完成一次讀/寫操作;由于對SDRAM的激活和關(guān)閉都需要一定的命令周期,這就難免會對數(shù)據(jù)的存取引入開銷,影響效率,降低帶寬,如圖3A所示,同頁面訪問引入的激活和關(guān)閉開銷;圖3B所示,同頁面訪問周期可能引入附加的開銷。
      目前,性能較高的控制器普遍采用預(yù)激活的方式來盡可能避免這種開銷的引入,這種方式便是利用SDRAM的分頁面特性,當(dāng)激活或關(guān)閉某一個(gè)頁面的同時(shí);可以對其他頁面(此頁面需在已激活狀態(tài))進(jìn)行讀/寫操作,也可以說當(dāng)在對某個(gè)頁面(此頁面需在已激活狀態(tài))進(jìn)行讀/寫操作的同時(shí),對其他頁面進(jìn)行激活和關(guān)閉操作,利用這種特性,對下一次的讀寫操作進(jìn)行提前激活,并且在對當(dāng)前頁面的讀/寫操作結(jié)束的關(guān)閉的時(shí)間即開始對已預(yù)激活的頁面進(jìn)行讀/寫操作,通過這樣的方式可以有效的節(jié)省激活和關(guān)閉帶來的開銷,提高效率,如圖3C所示。
      根據(jù)DRAM的頁面訪問特性,在訪問完成(以結(jié)束激活狀態(tài)為標(biāo)志)某一頁面,可能不能立即再次訪問該頁面,而必須等待一個(gè)相當(dāng)長的恢復(fù)時(shí)間(即同頁面訪問周期),如某款DDR SDRAM的同Bank訪問周期為65ns,在此時(shí)間內(nèi)只能對其他頁面進(jìn)行訪問,同時(shí)另一方面,再次訪問相同頁面時(shí),需要經(jīng)過關(guān)閉過程和重新激活過程,從而導(dǎo)致連續(xù)的同頁面訪問勢必引入大量的等待開銷,影響帶寬和效率。而常見DRAM的多頁面結(jié)構(gòu)即是出于對回避這種開銷而設(shè)計(jì)的。
      目前對DRAM的訪問主要有兩種技術(shù)方案技術(shù)方案一通常按照DRAM的基本存取過程進(jìn)行讀寫控制,將需要存入和讀取的數(shù)據(jù)包,連續(xù)寫入或讀取某個(gè)頁面的某一行,當(dāng)執(zhí)行到該行的結(jié)束時(shí)才進(jìn)行換行(將原行關(guān)閉,發(fā)起新的激活->讀/寫->關(guān)閉操作),將該數(shù)據(jù)包的剩余部分從新的一行順序的寫入或讀出,從而完成對整個(gè)數(shù)據(jù)包的存取操作。有的應(yīng)用需要將整個(gè)數(shù)據(jù)包進(jìn)行分段存取(例如流量控制,數(shù)據(jù)包按照一段的帶寬存取),發(fā)起多個(gè)激活->讀/寫->關(guān)閉操作,將整個(gè)數(shù)據(jù)包分時(shí)分段寫入和讀取,但此時(shí)數(shù)據(jù)包依然是順序的存放在某個(gè)頁在的某一行,放不下時(shí)另起一行接續(xù)。以某DDR SDRAM為例,其行地址為13bit,Bank地址2bit,列地址9bit,則控制器對內(nèi)側(cè)邏輯模塊的簡單功能接口的地址(為13+2+9=24bit,其中高13bit對應(yīng)SDRAM的行地址,中2bit對應(yīng)SDRAM的Bank地址,低9bit對應(yīng)SDRAM的列地址,則實(shí)現(xiàn)存取控制的時(shí)序如圖4A、4B、4C所示,以寫入為例,讀出同理。圖中A代表激活操作(Active),w代表寫操作(Write),P代表關(guān)閉(Precharge),R代表行地址(Row address),C代表列地址(Column address);設(shè)定DDR SDRAM的Burst length參數(shù)=4(參考DDR SDRAM數(shù)據(jù)手冊);黑色部分表示上次操作的延續(xù)。圖4A為數(shù)據(jù)包跨行存入,跨行由于是不同頁面間,采用了提前激活頁面Bank0,因此沒有引入開銷,保證效率;圖4B為不同數(shù)據(jù)包存入不同頁面,兩個(gè)數(shù)據(jù)包由于是不同頁面間,采用提前激活頁面Bank3,沒有引入開銷,保證效率;圖4C為不同數(shù)據(jù)包存入同頁面,兩個(gè)數(shù)據(jù)包由于是存入同頁面,重新關(guān)閉和激活引入開銷,效率下降。
      對于同頁面(Bank)訪問,該方案采用自然等待(如果遇到則加入開銷進(jìn)行等待)沒有回避措施,即按隨機(jī)的概率分布來說,本次操作需要訪問的頁面與上一次訪問的頁面相同的概率為1/頁面數(shù)(即對與DDR/SDR SDRAM為1/4=25%),在帶寬要求不高時(shí),可認(rèn)為為小概率,影響可以接受,直接采用等待(等待滿足同bank訪問周期的時(shí)間,此時(shí)空閑,帶寬浪費(fèi))的方式來滿足同頁面訪問問題。
      技術(shù)一有以下缺點(diǎn)1、由于同頁面訪問周期限制帶來等待開銷,影響帶寬;2、存在同頁面訪問頻繁出現(xiàn)的概率,此時(shí)對帶寬抑制嚴(yán)重。
      與本發(fā)明相關(guān)的現(xiàn)有技術(shù)二(如沒有則1.3節(jié)不需提供,有更多則新建1.4節(jié)等)技術(shù)方案二由于技術(shù)方案一固有的缺點(diǎn),本方案增加了一些回避技術(shù)來改善,即采用預(yù)存方法,將出現(xiàn)同頁面訪問限制的數(shù)據(jù)包(或數(shù)據(jù)段)進(jìn)行DRAM外部緩存,先將下一個(gè)數(shù)據(jù)包(或數(shù)據(jù)段)進(jìn)行處理,然后再從外部緩存中取出因同頁面訪問而滯留未完成的數(shù)據(jù)包(或數(shù)據(jù)段),將其推遲完成,如某幾個(gè)數(shù)據(jù)包(或數(shù)據(jù)段)連續(xù)操作為讀頁面Bank0第n行-->讀頁面Bank0第m行-->讀頁面Bank3第x行,使本方案的控制器則轉(zhuǎn)為讀頁面Bank0第n行-->讀頁面Bankl第x行(同時(shí)緩存讀Bank0第m行的數(shù)據(jù)包)-->讀頁面Bank0第m行。也就是說調(diào)整數(shù)據(jù)包(或數(shù)據(jù)段)的存取順序,來盡量避免同頁面操作,而其它處理同技術(shù)方案一。
      雖然技術(shù)方案二在一定程序上能避免連續(xù)對同頁面操作,但存在以下不足1、需要復(fù)雜的同Bank訪問碰撞的管理,和存取控制,硬件實(shí)現(xiàn)復(fù)雜和耗費(fèi)資源;
      2、需要一系列DRAM外部緩存和相應(yīng)的管理,硬件實(shí)現(xiàn)復(fù)雜和耗費(fèi)資源;3、在連續(xù)的多次的同頁面訪問操作時(shí),依然會出現(xiàn)同頁面訪問的限制和必要的等待。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種動態(tài)存儲器的訪問方法,以解決現(xiàn)有技術(shù)中訪問動態(tài)存儲器存在較大開銷的問題。
      一種動態(tài)存儲器的訪問方法,所述動態(tài)存儲器為頁面式的存儲結(jié)構(gòu),由控制器控制數(shù)據(jù)段的存取操作,該方法包括步驟將待存取的數(shù)據(jù)包分解為與所述動態(tài)存儲器的多個(gè)頁面相對應(yīng)的子數(shù)據(jù)包;由控制器順序地訪問所述多個(gè)頁面,并且每次訪問向不同于上次訪問的頁面寫入一個(gè)所述子數(shù)據(jù)包或從不同于上次訪問的頁面讀取相應(yīng)的子數(shù)據(jù)包。
      其中下一數(shù)據(jù)包的存取操作從不同于上次存取操作結(jié)束時(shí)所訪問的頁面開始。
      采用預(yù)激活方式訪問動態(tài)存儲器的頁面。
      所述數(shù)據(jù)包分解由控制器在實(shí)現(xiàn)芯片內(nèi)側(cè)簡單用戶接口的地址到動態(tài)存儲器(DRAM)地址映射時(shí)將頁面地址劃分到每個(gè)連續(xù)寫入或讀出的數(shù)據(jù)包對應(yīng)的地址的內(nèi)部來實(shí)現(xiàn),即該數(shù)據(jù)包所占的地址空間分布到多個(gè)頁面中的多個(gè)子地址空間。
      所述數(shù)據(jù)包切分在數(shù)據(jù)包送入控制器之前進(jìn)行。
      在進(jìn)行數(shù)據(jù)包的讀取操作時(shí),控制器還將讀取的與存入時(shí)相對應(yīng)的多個(gè)子數(shù)據(jù)包組成為所需讀取的完整數(shù)據(jù)包。
      本發(fā)明有效的規(guī)避了常見分頁面(Bank)存儲結(jié)構(gòu)的DRAM(如DDR/SDRSDRAM)控制器進(jìn)行連續(xù)同頁面(Bank)訪問時(shí)引入的開銷,能減少帶寬的浪費(fèi),提高控制器效率。


      圖1為動態(tài)存儲器的頁面結(jié)構(gòu)示意圖;圖2為SDRM基本讀寫時(shí)序示意圖;圖3A為同頁面訪問引入開銷的示意圖;圖3B為同頁面訪問周期可能引入附加的開銷示意圖;圖3C為不同頁面訪問節(jié)省開銷示意圖;圖4A為數(shù)據(jù)包跨行存入的示意圖;圖4B為不同數(shù)據(jù)包存入不同頁面的示意圖;圖4C為不同數(shù)據(jù)包存入同頁面的示意圖;圖5為控制器在芯片內(nèi)部的位置示意圖;圖6為本發(fā)明的控制器寫數(shù)據(jù)的時(shí)序示意圖;圖7A為現(xiàn)有技術(shù)中一個(gè)數(shù)據(jù)包存入存儲器中的示意圖;圖7B為本發(fā)明的一個(gè)數(shù)據(jù)包存入存儲器中的示意圖。
      具體實(shí)施例方式
      參閱圖5所示,本文所指的控制器是指在內(nèi)嵌或外接動態(tài)存儲器(DRAM)的芯片內(nèi),用于控制對DRAM的存取操作的功能部分??刂破髋c其它功能邏輯模塊之間提供簡單的用戶控制界面,控制器與DRAM之間為復(fù)雜專用的DRAM控制界面,控制器完成復(fù)雜的DRAM控制功能實(shí)現(xiàn)數(shù)據(jù)在DRAM的存取。
      本發(fā)明將連續(xù)的數(shù)據(jù)包(或稱數(shù)據(jù)段,即連續(xù)的讀/寫多個(gè)時(shí)鐘周期的整段數(shù)據(jù))的存取操作(連續(xù)的讀/寫多個(gè)時(shí)鐘周期的數(shù)據(jù)),分解為多個(gè)對不同的頁面(Bank)進(jìn)行操作,使得下一個(gè)數(shù)據(jù)包(或數(shù)據(jù)段)的存取操作以不同于上一個(gè)數(shù)據(jù)包操作結(jié)束時(shí)所用的頁面開始操作,從而規(guī)避同頁面連續(xù)訪問。
      為真正有效的回避同頁面(Bank)連續(xù)訪問引入的等待所帶來的開銷對控制器效率和帶寬造成的影響,利用常見DRAM的分頁面(Bank)存儲結(jié)構(gòu)和不同頁面(Bank)間循環(huán)訪問時(shí)開銷抵消的高效訪問特性,打破每個(gè)數(shù)據(jù)包(或數(shù)據(jù)段)存取時(shí)只訪問一個(gè)頁面(Bank)(僅在訪問跨行時(shí),才被迫切換到另一個(gè)頁面)的原有設(shè)計(jì)思想,采用每個(gè)數(shù)據(jù)包(或數(shù)據(jù)段)存取時(shí)都順序訪問多個(gè)頁面(Bank),即將待存取的數(shù)據(jù)包分解為與所述動態(tài)存儲器的多個(gè)頁面相對應(yīng)的子數(shù)據(jù)包;由控制器順序地訪問所述多個(gè)頁面,并且每次向不同的頁面寫入一個(gè)所述子數(shù)據(jù)包或每次從不同的頁面讀取相應(yīng)的子數(shù)據(jù)包。
      以某DDR SDRAM控制器實(shí)例,定長讀寫64字節(jié)的數(shù)據(jù)段(一個(gè)數(shù)據(jù)包可以由多個(gè)數(shù)據(jù)段組成)。采用16bit數(shù)據(jù)線寬度的256Mb的X16 DDR SDRAM器件,與內(nèi)部功能模塊接口的簡單用戶控制界面,讀寫使能控制和數(shù)據(jù)接口及以64字節(jié)為單位的塊地址接口共21bit,地址映射為用戶地址高13bit對應(yīng)DDR SDRAM的行地址,用戶地址中間6bit對應(yīng)DDR SDRAM的列地址的高6bit,用戶地址的低2bit對應(yīng)DDR SDRAM的Bank地址,DDR SDRAM的列地址的低3bit以全0為起始地址。
      參閱圖6,其中,圖中A代表激活操作(Active),W代表寫操作(Write),P代表關(guān)閉(Precharge),R代表行地址(Row address),C代表列地址(Columnaddress)。在存取過程中隨地址的遞增,每隔一個(gè)時(shí)間段(圖6中為4個(gè)時(shí)鐘周期)頁面地址遞增一次,4個(gè)時(shí)間段遞增3次,4個(gè)頁面(Bank)全部切換一次,等到下一個(gè)數(shù)據(jù)包(或數(shù)據(jù)段)存取時(shí),頁面(Bank)地址回到頁面Bank0,即下一個(gè)數(shù)據(jù)包(或數(shù)據(jù)段)又從第0頁面開始存取。圖中“1”表示數(shù)據(jù)段1寫入的具體操作過程,“2”表示數(shù)據(jù)段2的寫入的具體操作過程(數(shù)據(jù)段2的后段部分未示出)。從上述方法的具體操作中可以清楚的看到,控制器在實(shí)現(xiàn)芯片內(nèi)側(cè)簡單用戶接口的地址到DRAM地址映射時(shí)將頁面地址劃分到每個(gè)連續(xù)寫入或讀出的數(shù)據(jù)包(或數(shù)據(jù)段)對應(yīng)的地址的內(nèi)部,則在該數(shù)據(jù)包(或數(shù)據(jù)段)的連續(xù)存取的操作過程中,隨著地址的遞增,每隔一段時(shí)間頁面地址的遞增導(dǎo)致讀寫頁面的切換,實(shí)現(xiàn)頁面(Bank)的倒換,而頁面(Bank)的順序倒換,使得下一次操作一定從新的頁面Bank0開始操作,從而避免了連續(xù)兩個(gè)數(shù)據(jù)包(或數(shù)據(jù)段)訪問同一頁面(Bank)引入的開銷,提高了存取效率。采用預(yù)激活方式訪問動態(tài)存儲器的頁面。
      例如對于DDR SDRAM控制器,執(zhí)行連續(xù)寫入8個(gè)時(shí)鐘周期的數(shù)據(jù)的用戶命令,原有的控制器直接將8個(gè)時(shí)鐘周期的數(shù)據(jù)順序的寫入相應(yīng)的頁面(Bank)如圖7A所示,本次操作與其他頁面(Bank)無關(guān),下一次緊接再次訪問該頁面(Bank)時(shí),便引入開銷;而本發(fā)明實(shí)現(xiàn)的控制器如圖7B所示,將連續(xù)寫入8個(gè)時(shí)鐘周期數(shù)據(jù)的用戶命令,由控制器分解到4個(gè)頁面(Bank),從最左每個(gè)頁面(Bank)依次寫入,每個(gè)頁面寫入順序的2個(gè)時(shí)鐘周期的數(shù)據(jù),對下一個(gè)用戶操作依此類推,取得的效果是,當(dāng)完成第7、8個(gè)時(shí)鐘周期數(shù)據(jù)時(shí),回到最左邊的頁面(Bank)時(shí),最左邊的頁面又可以馬上進(jìn)行新一輪操作,無同頁面(Bank)順序訪問的限制,從而保證的控制器效率和帶寬。
      讀取數(shù)據(jù)包時(shí)分解的原則與寫操作相同,且讀取的頁面和地址與寫入時(shí)相對應(yīng),將要讀取的數(shù)據(jù)包分解到與寫入時(shí)相對應(yīng)的多個(gè)頁面,并順序從這些頁面中的每一個(gè)頁面讀取相應(yīng)的子數(shù)據(jù)包,控制器將讀取的多個(gè)子數(shù)據(jù)包組成為完整的數(shù)據(jù)包。
      根據(jù)上述原理,也可在控制器前先將數(shù)據(jù)包(或數(shù)據(jù)段)切分為存入不同頁面(Bank)的多個(gè)數(shù)據(jù)段,即實(shí)質(zhì)上是將切分的過程移到控制器的簡單用戶接口外側(cè)實(shí)現(xiàn)。
      利用本技術(shù)原理,軟件在通過硬件進(jìn)行DRAM存取時(shí),軟件自行先將數(shù)據(jù)包(或數(shù)據(jù)段)拆分為存入不同頁面(Bank)的數(shù)據(jù)段,然后通過傳統(tǒng)控制器(原有技術(shù))方法存取,也可以改善存取效率。
      雖然本實(shí)施例以4個(gè)頁為例進(jìn)行說明,但本發(fā)明的方法并不限于4個(gè)頁面的存儲器,同樣適用于對2個(gè)、8個(gè)或其它個(gè)數(shù)的頁面(Bank)進(jìn)行倒換。
      本發(fā)明將用戶存取的數(shù)據(jù)包(或數(shù)據(jù)段,即連續(xù)的讀/寫多個(gè)時(shí)鐘周期的整段數(shù)據(jù)),分解為多個(gè)對不同的頁面(Bank)進(jìn)行存取操作的數(shù)據(jù)段完成存取操作,以達(dá)到每連續(xù)兩個(gè)不同的數(shù)據(jù)包(或數(shù)據(jù)段)連續(xù)的存取過程中不出現(xiàn)連續(xù)訪問同頁面(Bank),從而避免不同數(shù)據(jù)段連續(xù)訪問相同頁面(Bank)時(shí)帶來的開銷,提高了存取效率。
      權(quán)利要求
      1.一種動態(tài)存儲器的訪問方法,所述動態(tài)存儲器(DRAM)為頁面式的存儲結(jié)構(gòu),由控制器控制數(shù)據(jù)包的存取操作,其特征在于包括步驟將待存取的數(shù)據(jù)包分解為與所述動態(tài)存儲器的多個(gè)頁面相對應(yīng)的子數(shù)據(jù)包;由控制器順序地訪問所述多個(gè)頁面,并且每次訪問向不同于上次訪問的頁面寫入一個(gè)所述子數(shù)據(jù)包或從不同于上次訪問的頁面讀取相應(yīng)的子數(shù)據(jù)包。
      2.如權(quán)利要求1所述的方法,其特征在于,下一數(shù)據(jù)包的存取操作從不同于上一數(shù)據(jù)包存取操作結(jié)束時(shí)所訪問的頁面開始。
      3.如權(quán)利要求1或2所述的訪問方法,其特征在于,采用預(yù)激活方式訪問動態(tài)存儲器的頁面。
      4.如權(quán)利要求1所述的訪問方法,其特征在于,所述數(shù)據(jù)包分解由控制器在實(shí)現(xiàn)芯片內(nèi)側(cè)簡單用戶接口的地址到動態(tài)存儲器地址映射時(shí)將頁面地址劃分到每個(gè)連續(xù)寫入或讀出的數(shù)據(jù)包對應(yīng)的地址的內(nèi)部來實(shí)現(xiàn),即該數(shù)據(jù)包所占的地址空間分布到多個(gè)頁面中的多個(gè)子地址空間。
      5.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)包切分在數(shù)據(jù)包送入存儲器之前進(jìn)行。
      6.如權(quán)利要求1所述的方法,其特征在于,在進(jìn)行數(shù)據(jù)包的讀取操作時(shí),控制器還將讀取的與存入時(shí)相對應(yīng)的多個(gè)子數(shù)據(jù)包組成為所需讀取的完整數(shù)據(jù)包。
      全文摘要
      本發(fā)明公開了一種動態(tài)存儲器的訪問方法,所述動態(tài)存儲器(DRAM)為頁面式的存儲結(jié)構(gòu),由控制器控制數(shù)據(jù)包的存取操作,該方法為將待存取的數(shù)據(jù)包分解為與所述動態(tài)存儲器的多個(gè)頁面相對應(yīng)的子數(shù)據(jù)包;由控制器順序地訪問所述多個(gè)頁面,并且每次訪問向不同于上次訪問的頁面寫入一個(gè)所述子數(shù)據(jù)包或從不同于上次訪問的頁面讀取相應(yīng)的子數(shù)據(jù)包。
      文檔編號G06F12/08GK1581104SQ0315413
      公開日2005年2月16日 申請日期2003年8月12日 優(yōu)先權(quán)日2003年8月12日
      發(fā)明者慕光, 梁軍 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1