用于智能刷新動態(tài)隨機(jī)存取存儲器的方法和系統(tǒng)的制作方法
【專利說明】用于智能刷新動態(tài)隨機(jī)存取存儲器的方法和系統(tǒng)
【背景技術(shù)】
[0001] 動態(tài)隨機(jī)存取存儲器值RAM)是由單元的集合構(gòu)造的存儲器裝置,每個單元均由 晶體管和電容器構(gòu)成。DRAM單元布置成具有多行和多列單元的矩陣。單元的每行被稱為 "頁(page)",DRAM單元的矩陣被稱為"組化ank)"。將多個組結(jié)合W形成DRAM裝置。DRAM 進(jìn)行操作W通過將電荷存儲在電容器中并將晶體管用作存取開關(guān)來在各個單元中保留信 息。電容器可W對應(yīng)于例如1或0的存儲值而進(jìn)行充電或放電??蒞將對一位置寫入"0" 或"1"視為"刷新",其中,在其中寫入該值的刷新循環(huán)的持續(xù)時間內(nèi)保持該值。例如,如果 對頁進(jìn)行寫入,則可W將該頁視為在刷新循環(huán)的持續(xù)時間內(nèi)刷新。
[0002] 隨時間推移,電容器最終會"泄露",或者失去其電荷,從而需要周期性地刷新 DRAM。取決于諸如溫度等的系統(tǒng)因素或其他因素,電容器耗電(化ain)時間(即電容器完 全失去電荷需要的時間)的值約為64ms。有時在放電時間消逝前,應(yīng)當(dāng)發(fā)生刷新W維持被 充電單元的充電狀態(tài)。
[0003] 可W通過執(zhí)行由DRAM制造者提供的、并且可W由例如其中嵌入有DRAM的或DRAM 所禪接到的片上系統(tǒng)(SoC)上的存儲器控制器來周期性地發(fā)出的刷新命令(RE巧來實(shí)現(xiàn)刷 新。REF命令無需頁的地址。相反,當(dāng)發(fā)出REF命令時,基于內(nèi)部邏輯的操作而在DRAM內(nèi) 部計(jì)算用于刷新的地址。在與REF命令相關(guān)聯(lián)的典型的刷新期間,刷新整個DRAM中的單個 頁(每個組刷新),或者刷新DRAM中的每個組中的一頁(所有組刷新)。在REF刷新操作 或任意刷新操作期間,包含正在經(jīng)歷刷新的頁的組不可用于存取。對于所有組刷新來說,整 個DRAM變得不可用。
[0004] 在刷新期間的不可用性負(fù)面地影響DRAM存取性能。在64ms周期內(nèi)將刷新命令施 加至DRAM的不同區(qū)段,而不是同時迭代地刷新所有頁(運(yùn)會導(dǎo)致刷新整個DRAM的刷新W 及存取的完全不可用性)。由此,對于基于逐頁的整個DRAM的刷新,在64ms內(nèi)刷新每個頁, 并且一次僅一個頁或所有組中的一個頁不可用。通過按照上述方式傳來擴(kuò)散刷新命令,會 發(fā)出更多的刷新命令。取決于存儲器的密度和架構(gòu),頁刷新間隔變?yōu)?. 9US或7. 8US。例 如,對于具有8K(8192,或2")個頁的DRAM,頁刷新間隔可m十算為64ms/8192 = 7. 8us。傳統(tǒng)的DRAM具有追蹤接下來要刷新的頁的內(nèi)部邏輯。裝置中的內(nèi)部邏輯可W被配 置成W順序的方式循環(huán)訪問所有頁。如DRAM制造者定義的,存儲器控制器可W在每個tuwi 發(fā)出REF命令。為了減少服F對DRAM性能的影響,DRAM供應(yīng)商可W同時內(nèi)部地刷新兩個 或更多頁。由DRAM供應(yīng)商提供的傳統(tǒng)REF命令沒有被配置成接受與頁位置相關(guān)聯(lián)的地址 或針對多個位置的多個地址。因此,系統(tǒng)設(shè)計(jì)者具有極少靈活性來控制DRAM刷新操作的方 面。因此,不能夠?qū)崿F(xiàn)在DRAM刷新可控的情況下可實(shí)現(xiàn)的潛在效率增益。
【發(fā)明內(nèi)容】
陽0化]各方面提供了用于對追蹤小表中的頁的存儲器狀態(tài)的動態(tài)存儲器裝置(例如,DRAM)進(jìn)行讀取、寫入和刷新的方法和裝置,其中當(dāng)頁不包括數(shù)據(jù)或全零時,該小表可W用 于消除一些讀取、清除(即,寫入零)W及刷新操作。
[0006] 一方面方法可W包括:設(shè)定第一查找表中的與動態(tài)存儲器裝置中的存儲器單元的 頁相關(guān)聯(lián)的第一值W指示何時頁包括全零的有效數(shù)據(jù),并控制根據(jù)頁刷新間隔而執(zhí)行的頁 刷新,W便抑制存儲器單元的頁的刷新,其中在第一查找表中的存儲器單元的頁相關(guān)聯(lián)的 第一值指示頁包括全零的有效數(shù)據(jù)。在另一方面中,當(dāng)查找表中的第一值指示與讀取請求 相關(guān)聯(lián)的存儲器單元的頁包括全零的有效數(shù)據(jù)時,可W抑制對該存儲器單元的頁的存取, 并且可W響應(yīng)于讀取請求返回一個或多個零,而無需存取該頁。在另一方面中,當(dāng)查找表中 的第一值指示與寫入請求相關(guān)聯(lián)的存儲器單元的頁包括全零的有效數(shù)據(jù),并且寫入值包括 待寫入至頁的一個或多個零時,可W抑制該存儲器單元的頁的存取,在運(yùn)種情況下,響應(yīng)于 寫入請求可W返回成功的寫入操作的指示,而不進(jìn)行該寫入操作。在另一方面中,當(dāng)查找表 中的第一值指示與清除請求相關(guān)聯(lián)的存儲器單元的頁包括全零的有效數(shù)據(jù)時,可W抑制對 頁的存取,在運(yùn)種情況下,響應(yīng)于清除請求可W返回成功的清除操作的指示,而不進(jìn)行該清 除操作。
[0007] 在另一方面中,可W在第二查找表中設(shè)置存儲器單元的頁的第二值,W指示存取 已經(jīng)發(fā)生頁上,并且可W控制根據(jù)頁刷新間隔而執(zhí)行頁刷新,W便抑制存儲器單元的頁的 刷新,其中存儲器單元的頁的相關(guān)聯(lián)的第二值指示讀取存取或?qū)懭氪嫒∫呀?jīng)發(fā)生并且存儲 器單元的頁的第一查找表中相關(guān)聯(lián)的第一值指示頁包括其中的至少一些不為零的有效數(shù) 據(jù)。在另一方面中,在包含存儲器裝置的系統(tǒng)的啟動時可W清除第一查找表,并且在刷新間 隔末尾時可W清除第二查找表。在另一方面中,控制根據(jù)頁刷新間隔而執(zhí)行的頁刷新可W 包括:發(fā)出激活(ACT)-預(yù)充電(PR巧命令對,該命令對包括存儲器單元的頁的頁地址,其中 該存儲器單元的頁的相關(guān)聯(lián)的第一值指示非全零的有效數(shù)據(jù)存在于存儲器單元的頁中并 且該存儲器單元的頁的相關(guān)聯(lián)的第二值指示還未發(fā)生讀取存取或?qū)懭氪嫒?。替代地,或額 外地,頁刷新可W被控制,使得當(dāng)待刷新的存儲器裝置中頁的數(shù)量超出闊值時,可W發(fā)出針 對存儲器裝置的刷新(RE巧命令。
[0008] 在另一方面中,可W使用第一查找表中的值來確定包含非全零的有效數(shù)據(jù)的動態(tài) 存儲器裝置的頁的數(shù)量,并且可W基于動態(tài)存儲器裝置的溫度和包含非全零的有效數(shù)據(jù)的 動態(tài)存儲器裝置的頁的數(shù)量來調(diào)節(jié)頁刷新間隔。在另一方面中,可W使用第二查找表中的 值來確定待刷新的動態(tài)存儲器裝置的頁的數(shù)量,并且可W基于動態(tài)存儲器裝置的溫度、包 含非全零的有效數(shù)據(jù)的動態(tài)存儲器裝置的頁的數(shù)量、W及待刷新的動態(tài)存儲器裝置的頁的 數(shù)量來調(diào)節(jié)頁刷新間隔。在另一方面中,可W監(jiān)測與動態(tài)存儲器裝置相關(guān)聯(lián)的命令隊(duì)列W 確定何時與頁相關(guān)聯(lián)的激活(ACT)命令存在于命令隊(duì)列中,并且可W控制根據(jù)頁刷新間隔 而執(zhí)行的頁刷新,W便抑制W下存儲器單元的頁的刷新:(i)其中活動命令存在于命令隊(duì) 列中,(ii)其相關(guān)聯(lián)的第二值指示讀取存取或?qū)懭氪嫒∵€未發(fā)生在該頁上,W及(iii)其 相關(guān)聯(lián)的第一值指示頁包括其中的至少一些不為零的有效數(shù)據(jù)。
[0009] 另一個方面包括計(jì)算裝置,其包括存儲器和禪接至存儲器的處理器,該處理器利 用處理器可執(zhí)行指令配置W執(zhí)行上述方法的操作。另一個方面包括計(jì)算裝置,其包括存儲 器和用于執(zhí)行上述方法的功能的模塊。
[0010] 另一個方面包括非暫時性處理器可讀或計(jì)算機(jī)可讀存儲介質(zhì),其具有存儲在其上 的被配置成使得處理器執(zhí)行上述方法的操作的處理器可執(zhí)行指令。
【附圖說明】
[0011] 被并入至本文并構(gòu)成本說明書的一部分的附圖示出了本發(fā)明的示例性方面,并且 與上文給出的概括說明和下文給出的詳細(xì)說明一起用于解釋本發(fā)明的特征。
[0012] 圖1A是示出了在各種方面中的具有動態(tài)隨機(jī)存取存儲器值RAM)模塊的示例性系 統(tǒng)的框圖。
[0013] 圖1B是示出了在各種方面中的DRAM模塊的示例性部分的圖。
[0014] 圖1C是示出了在各種方面中的DRAM模塊的示例性單元的圖。
[0015] 圖2A是示出了在各種方面中的DRAM模塊的示例性命令解碼器和其他部分的圖。
[0016] 圖2B是示出了一個或多個方面中的示例性時序信號波形的時序圖。
[0017] 圖3A是示出了一個或多個額外方面中的DRAM模塊的示例性命令解碼器和其他部 分的圖。
[0018] 圖3A是示出了在各種方面中的示例性電力軌紋波切換波形和切換波形的圖。
[0019] 圖3B是示出了一個或多個額外方面中的示例性時序信號波形的時序圖。
[0020] 圖3C是示出了在各種方面中的與刷新相關(guān)聯(lián)的示例性能量節(jié)省的圖。
[0021] 圖3D是示出了在各種方面中的與刷新相關(guān)聯(lián)的示例性時間節(jié)省的圖。
[0022] 圖4是示出了用于DRAM頁刷新的一個方面方法的流程圖。
[0023] 圖5A是示出了用于DRAM頁刷新的另一個方面方法的流程圖。
[0024] 圖5B是示出了用于DRAM頁刷新的另一個方面方法的流程圖。
[00巧]圖6是適于各種方面的實(shí)施的示例性移動裝置的部件框圖。
[00%] 圖7是適于各種方面的實(shí)施的示例性移動計(jì)算裝置的部件框圖。
【具體實(shí)施方式】
[0027] 將參照附圖對各種方面進(jìn)行詳細(xì)描述。在任何可能之處,將在整個圖中使用相同 的附圖標(biāo)記來指代相同或相似的部分。對特性示例和實(shí)施的參考是為了說明性目的,并且 不旨在限制本發(fā)明或權(quán)利要求的范圍。
[0028] 本文所用的詞"示例性"表示"用作示例、實(shí)例或例子"。本文中描述為"示例性" 的任意實(shí)施不必被解釋為比其他實(shí)施更佳或有利。
[0029] 本文所用的術(shù)語"計(jì)算裝置"是指W下中的一個或全部:蜂窩電話、智能電話、個人 或移動多媒體播放器、個人數(shù)據(jù)助理(PDA)、膝上型計(jì)算機(jī)、臺式計(jì)算機(jī)、平板計(jì)算機(jī)、智能 本、掌上計(jì)算機(jī)、無線電子郵件接收機(jī)、具有多媒體互聯(lián)網(wǎng)功能的蜂窩電話、電視、智能TV、 智能TV機(jī)上伙伴盒、集成式智能TV、流媒體播放器、智能電纜盒、機(jī)頂盒、數(shù)字視頻錄像機(jī) 值VR)、數(shù)字媒體播放機(jī)、W及包括可編程處理器和存儲器的類似個人電子裝置。
[0030] 本文所說明的各種方面解決且克服現(xiàn)有DRAM刷新方法的缺點(diǎn),其中存儲器控制 器、控制器、處理器或其他控制裝置或邏輯(諸如可W為可在其中實(shí)施根據(jù)各方面的DRAM 的示例性SoC的一部分)可W控制DRAM刷新W及與DRAM相關(guān)聯(lián)的其他操作。各種方面 可W使得能夠繞過或抑制冗余且不必要的DRAM刷新,并且使能可W提高性能并減少諸如 DRAM裝置等的存儲器裝置的能耗的其他特征。SoC、存儲器、系統(tǒng)控制器、或控制裝置可W 被提供有與如何存取DRAM、已刷新的頁和包含有效數(shù)據(jù)的頁相關(guān)的信息,W及與何時需要 刷新特定頁相關(guān)聯(lián)的信息。通過將與各種方面相關(guān)聯(lián)的邏輯集成至DRAM存儲器控制器中, 可W進(jìn)一步提高性能,例如,通過使刷新命令交錯或并行化。被配置成處理DRAM刷新的邏 輯可W是復(fù)雜的,并且可W基于各種信息、控制程序或邏輯而智能地處理刷新W及諸如存 儲器存取等的其他任務(wù),從而相比于依賴于刷新整個DRAM裝置的傳統(tǒng)DRAM刷新方法提供 了額外的優(yōu)點(diǎn)。在各個方面中,可W根據(jù)需要逐頁地依次刷新DRAM,或者通過根據(jù)可W提供 信息使得可W(或可W不)基于最近存取和信息內(nèi)容而刷新頁的示例性查找表來進(jìn)行,從 而選擇性地刷新DRAM,并且可W實(shí)施額外的存儲器控制。另外,可W利用DRAM命令的序列 (即,激活后(ACT)接著預(yù)充電(PRE))來執(zhí)行刷新。ACT和PRE命令均需要正在被刷新的 頁的地址。ACT和PRE命令可W與頁地址組合,W選擇性地刷新在刷新間隔期間還未被存取 的那些頁。
[0031] 在圖1A-1C中顯示了示出各種方面的一系列圖。在圖1A中,典型的計(jì)算系統(tǒng)100 或系統(tǒng)的一部分的簡化框圖包括可W分別通過總線連接111和112連接至總線101的SoC 110和動態(tài)隨機(jī)存取存儲器裝置(例如存儲器120)。如圖1B中所示,存儲器120可W被提 供有典型的DRAM存儲器130、存儲器控制器140和存儲器單元陣列150。例如,DRAM存儲 器130還可W被提供有例如感測放大器134、列地址解碼器135、W及行地址解碼器136。在 操作期間,可W通過向行地址解碼器136提供適當(dāng)?shù)牡刂穪磉x擇"行