欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Dram部分刷新的方法和裝置的制作方法

文檔序號:6755783閱讀:279來源:國知局
專利名稱:Dram部分刷新的方法和裝置的制作方法
背景技術
計算機系統不斷被設計來滿足兩個通常相反的目標,一個是提高的速度,另一個是降低的功耗。在諸如便攜計算機系統(包括筆記本計算機和手持計算機)的電子設備的情況下,同時滿足這兩個目標的努力變得非常明顯。隨著這類電子設備的使用越來越多,就需要比以往更多的處理能力,包括更快的處理器、更多的存儲器等。然而,與此同時,隨著這類設備的使用越來越多,也愈發(fā)想要使它們更加便攜,以便將這類設備更容易攜帶到可以用新發(fā)現的方式使用它們的地方。
這種努力導致試圖找到減少這類電子設備中的每個組件(包括存儲器器件)所需功率量的方式。已知的方法包括建立降低功率模式(通常被稱為“睡眠模式”或“冬眠模式”),當這類電子設備不被主動使用時,它們可進入這些模式。已經創(chuàng)造出了具有較低功率模式的DRAM(動態(tài)隨機訪問存儲器)器件,其中,較低功率模式包括在DRAM器件業(yè)內俗稱的“自刷新”模式。在自刷新模式中,DRAM器件和其他組件之間的交互被最小化,其中包括以下交互向DRAM器件常規(guī)發(fā)送命令,以完成刷新DRAM器件內的存儲單元,防止存儲在這些存儲單元內的數據丟失的功能。自刷新模式使得可以用內建于DRAM器件中的最少量的邏輯來允許DRAM器件自主地實現刷新DRAM器件的存儲單元的功能。
然而,減少DRAM器件功耗的這些方法還未解決以下問題即便在諸如自刷新模式一類的降低功率模式中,為了刷新不包含需要保留數據的大量存儲單元,會不必要地浪費功率。


參考以下詳細描述,本領域的技術人員將會清楚本發(fā)明的目的、特征和優(yōu)點,其中圖1是采用存儲器器件的實施方案的框圖。
圖2是采用計算機系統的實施方案的框圖。
圖3是一個實施方案的方法的流程圖。
圖4是另一個實施方案的方法的流程圖。
圖5是又一個實施方案的方法的流程圖。
圖6a和6b是采用存儲器總線的實施方案的時序圖。
圖7是采用計算機系統的另一個實施方案的框圖。
具體實施例方式
在以下描述中,為了解釋闡述了大量細節(jié),以提供對本發(fā)明的實施方案的完整理解。然而,本領域的技術人員將會清楚,這些具體的細節(jié)對于實現所要求保護的本發(fā)明來說不是必要的。
本發(fā)明的實施方案關系到包含對以下功能的支持將對DRAM器件的存儲單元的刷新限制到DRAM器件中僅具有包含需要保留的數據的存儲單元的那些部分,從而減少用來刷新不包含這類數據的存儲單元的功率量。雖然以下描述集中于DRAM器件,但是本領域的技術人員將會理解,所要求保護的本發(fā)明可被實現來支持具有需要每隔一定時間刷新或以其他方式維護以保留其內容的多個單元的任何存儲器器件類型。本領域的技術人員還會理解,雖然以下描述集中于存儲單元按二維行列陣列來組織的存儲器器件,但是存儲單元可以用多種方式來組織,包括被組織成多個庫(bank)并且進行或不進行交織,被組織成二維以上的陣列,被組織成可內容尋址的,等等。另外,雖然以下討論中至少有一部分集中于計算機系統內的存儲器,但是本領域的技術人員將會理解,所要求保護的本發(fā)明可以結合具有存儲器器件的其他電子設備或系統來實現。
圖1是采用存儲器器件的一個實施方案的簡化框圖。存儲器器件100至少部分地由存儲器陣列110、控制邏輯130、行地址譯碼器134、列地址譯碼器136、數據列復用器138、外部控制接口154、外部地址接口156和外部數據接口158組成。存儲器器件(包括DRAM器件)設計領域的技術人員很容易認識到,圖1相對簡單地描繪了組成DRAM器件的組件,DRAM器件內的組件的準確排列和配置可以被減少、增加或以其他方式更改,而不會偏離本發(fā)明所要求保護的精神和范圍。具體地說,雖然存儲器器件100被描繪為只具有一個存儲器陣列110,意味著為了簡化討論,存儲器器件100只有一個被組織為單個二維陣列的存儲單元“庫”,但是本領域的技術人員將會理解,可以用多種方式中的任意一種來組織存儲器器件100的存儲單元,包括用一個以上的存儲器陣列來提供一個以上的庫,或者將單個存儲器陣列配置為在功能上相當于多個庫。
外部控制接口154、外部地址接口156和外部數據接口158共同提供了存儲器器件100和附接于存儲器器件100的外部設備(未示出)之間的接口。通過耦合到控制邏輯130的外部控制接口154,存儲器器件100接收命令以完成讀、寫和其他操作。通過耦合到控制邏輯130的外部地址接口156,存儲器器件100接收用于指定存儲器陣列110內的哪個(哪些)存儲單元參與讀、寫和其他操作的地址。通過至少耦合到數據列復用器138的外部數據接口158,存儲器器件100既可以將從存儲器陣列110中取出的數據發(fā)送到外部設備,又可以接收由外部設備發(fā)送的數據以存儲在存儲器陣列110中。
控制邏輯130在經由外部地址接口156接收到或者沒有接收到地址和/或其他信息的情況下,協調經由外部控制接口154接收到的命令的完成。存儲器陣列110的存儲單元被組織成多行多列的二維陣列,以便控制邏輯130通過向耦合到控制邏輯130的行地址譯碼器134發(fā)送行地址并且向耦合到控制邏輯130的列地址譯碼器136發(fā)送列地址,來選擇存儲器陣列110中為完成讀、寫或其他操作而要訪問的部分。行地址譯碼器134譯碼從控制邏輯130接收的行地址,并使用譯碼后的行地址來選擇存儲器陣列110內要訪問的一行存儲單元。類似地,列地址譯碼器136譯碼從控制邏輯130接收的列地址,并使用譯碼后的列地址來控制數據列復用器138(列地址譯碼器136與其耦合)從行地址譯碼器134選出的一行存儲單元中選擇要訪問的(多個)存儲單元。
構成控制邏輯130一部分的是刷新控制邏輯140,其響應于完成刷新操作的請求,選擇性地完成刷新存儲器陣列110內被標記為有數據要保留的多行存儲單元的刷新操作。無論是從外部設備接收命令的結果而請求刷新操作,還是響應于過去了預定的時間間隔而觸發(fā)內部請求,刷新控制邏輯140首先確定被請求刷新的行是否被標記為有數據要保留。如果被請求刷新的行未被標記為有數據要保留,則刷新邏輯140不對該行進行刷新操作(其實就是刷新邏輯140“忽視”所述請求),從而避免不必要地消耗功率來刷新沒有數據要保留的行。否則,如果被請求刷新的行被標記為有數據要保留,則刷新控制邏輯140使用行地址譯碼器134來選擇被請求刷新的那一行存儲單元,選擇的方式與選擇一行存儲單元作為讀或寫操作的一部分進行訪問的方式別無二致。對有數據要保留或者沒有數據要保留的行的選擇和標記由耦合到存儲器器件100的外部設備(未示出)來完成,存儲器器件100從該外部設備接收致使一行或多行被標記為有或沒有數據要保留的命令。
當存儲器器件100運行于非降低功率模式時,刷新控制邏輯140選擇性地執(zhí)行經由外部控制接口154從外部設備接收的命令,以刷新存儲器陣列110內的一行或多行存儲單元。在一個實施方案中,經由外部控制接口154接收的完成刷新操作的命令伴隨有通過外部控制接口154和/或外部地址接口156而來的一個有關存儲器陣列110內的一個特定行將被刷新的指示,此時,如果指定的行被標記為有數據要保留,則該行的行地址被提供給行地址譯碼器134以選擇要刷新的指定行。在另一個實施方案中,經由外部控制接口154接收的完成刷新操作的命令沒有伴隨著有關某一具體行將被刷新的指示,此時,刷新控制邏輯140內的計數器142提供將被刷新的行的行地址,如果該行被標記為有數據要保留,則來自計數器142的行地址被提供給行地址譯碼器134以選擇要刷新的行。無論該行是否已被標記為有數據要保留,計數器142隨后都會遞增,以便提供另一個行地址以供響應于這樣一種未指定任何行的刷新命令的再次出現而使用。
當存儲器器件100運行于降低功率模式,例如“自刷新”模式時,刷新控制邏輯140無需經由從外部設備接收的命令的催促,就自主地、有選擇地完成多行存儲單元的刷新。在這種降低功率模式中,刷新控制邏輯140內的計數器142提供將被刷新的行的行地址,如果該行被標記為有數據要保留,則所述行地址被提供給行地址譯碼器134以選擇要刷新的行。無論一行是否被標記為有數據要保留,計數器142都會遞增,以提供在后續(xù)的刷新操作中使用的另一個行地址。
在一些實施方案中,標記緩沖器144構成刷新控制邏輯140的一部分,并且保留有關存儲器陣列110內的哪些行存儲單元被標記為有數據要保留,而哪些行被標記為沒有的標記數據,并且刷新控制邏輯140訪問標記緩沖器144以確定是否應當對一個給定的行執(zhí)行刷新操作。在這類實施方案的一些變體中,耦合到存儲器器件100的外部設備使用耦合到外部控制接口154的控制線和耦合到外部地址接口156的地址線的組合來選擇將用標記數據寫入的標記緩沖器144,從而發(fā)送命令來標記存儲器器件100中的一行或多行,其中所述標記數據將存儲器陣列110內的一行或多行標記為有數據要保留或者沒有??梢允褂民詈系酵獠靠刂平涌?54和/或外部地址接口156的可用的控制線和/或地址線將標記數據提供給存儲器器件100,或者可替換地,可以使用耦合到外部數據接口158的數據線將標記數據提供給存儲器器件。
在其他實施方案中,存儲器陣列110內的一行或多行存儲單元被分配來保留標記數據,這些標記數據指示了哪些行被標記為有數據要保留,哪些行沒有數據要保留。在這類實施方案的一些變體中,耦合到存儲器器件100的外部設備發(fā)送寫命令,以用指示了一行或多行有或者沒有數據要保留的標記數據來寫用于保存標記數據的一行中的至少一部分。這種寫命令可以遵從某種協議,并且其時序關系類似于在對存儲器器件100內不用來存儲標記數據的其他存儲單元進行正常數據寫的寫命令中所采用的時序??商鎿Q地,在其他變體中,耦合到存儲器器件100的外部設備使用耦合到外部控制接口154的控制線和耦合到外部地址接口156的地址線的組合來選擇將用標記數據寫入的行和/或一行內的(多)列,從而發(fā)送命令來標記存儲器器件100中的一行或多行,其中所述標記數據將一行或多行標記為有數據要保留或者沒有。這樣的命令可以用某種協議和/或不同于正常寫命令的時序關系來配置,從而力圖減少向存儲器器件100發(fā)送命令所需的復雜度和/或時間量,也許可以通過避免使用耦合到外部數據接口158的數據線來實現。
在使用存儲器陣列110內的一行或多行存儲單元來存儲標記數據的實施方案中,可以認為刷新控制邏輯140需要至少部分地由標記緩沖器144組成,該緩沖器對于從用于存儲標記數據的一行或多行中讀出的標記數據而言起到一種緩存的作用。作為每次可能的刷新操作的前奏來訪問一行以獲取標記數據,從而確定是否應當實際執(zhí)行刷新操作,這一過程可能被認為花費了太長的時間和/或被認為使用了過多的功率。因此,可以對存儲標記數據的行進行訪問,以讀取該行內的標記數據的至少一部分,并將一份拷貝存儲在標記緩沖器144中。為了適應標記緩沖器144的這種使用,可能需要標記緩沖器144比外部數據接口158(它通過數據列復用器138耦合到存儲器陣列110)更直接地耦合到存儲器陣列110,從而與標記緩沖器144通過數據列復用器138耦合到存儲器陣列110的可能情況相比,使得具有標記數據的選定行中有更多列的數據可被標記緩沖器144獲得,以存儲標記數據的拷貝。可替換地,考慮到為在標記緩沖器144內保留標記數據的拷貝所需的功率量,可能不需要在刷新控制邏輯140內提供標記緩沖器144。實際上,事實證明作為每次可能的刷新操作的前奏,更希望從存儲器陣列110中的一行獲得標記,在這種情況下,標記緩沖器144實際上可以通過數據列復用器138耦合到存儲器陣列110。
圖2是采用計算機系統的一個實施方案的框圖。計算機系統200至少部分地由CPU(中央處理單元)210、系統邏輯220和存儲器器件250a-250c組成。系統邏輯220耦合到CPU 210并完成多種功能以支持CPU 210的指令執(zhí)行,包括使CPU 210可以訪問系統邏輯220通過系統邏輯220內的存儲器控制器240同樣耦合到的存儲器器件250a-250c。CPU210、系統邏輯220和存儲器器件250a-250c構成了計算機系統200的一種形式的內核,能夠支持CPU 210對機器可讀指令的執(zhí)行以及數據(包括指令)在存儲器器件250a-250c內的存儲。
在多種實施方案中,CPU 210可以是多種類型的CPU中的任何一種,包括能夠執(zhí)行眾所公知并且廣為使用的“x86”指令集的至少一部分的CPU,在其他多種實施方案中,可能有一個以上的CPU。在多種實施方案中,存儲器器件250a-250c可以是多種類型的DRAM中的任何一種,包括快速頁模式(FPM)、擴展數據輸出(EDO)、單數據率(SDR)或雙數據率(DDR)形式的同步動態(tài)RAM(SDRAM),采用RAMBUSTM接口的各種技術的RAM等。存儲器控制器240為邏輯220提供用于存儲器器件250a-250c的適當接口,無論是哪種DRAM類型。雖然有很多種可能類型的DRAM,但是存儲器器件250a-250c中的至少一部分存儲單元被組織為多行多列的二維存儲器陣列,例如存儲器陣列251a-251c。為了訪問存儲器陣列251a-251c的任一個中的存儲單元,必須至少指定行地址和列地址,所述行地址用于從組成陣列的多行中選擇一行存儲單元,所述列地址從選定行的存儲單元中選擇要訪問的一個子集。本領域的技術人員將認識到,圖2中描繪的三個存儲器器件,即存儲器器件250a-250c只是可以伴宿CPU的存儲器系統的一個例子,可以使用更多或更少數量的存儲器器件,而不會偏離本發(fā)明所要求保護的精神和范圍。
在一些實施方案中,系統邏輯220被耦合到CPU 210并向其提供訪問存儲設備260的通路,利用該通路可以對存儲介質261所攜帶的數據和/或指令進行訪問。實際上,在一些實施方案中,存儲介質261攜帶機器可訪問指令,這些指令將由CPU 210執(zhí)行來致使CPU 210將存儲器器件250a-250c內的一行或多行標記為包含要保留的數據或者不包含,下面將會進行描述。存儲介質261可以是基于本領域的技術人員可以理解的多種技術的多種類型之一,包括CD或DVD ROM、磁盤或光盤、磁光盤、磁帶、半導體存儲器、紙帶或其他材料上的字符或打孔、等等。
在一些實施方案中,非易失性存儲器器件230耦合到系統邏輯220(或者計算機系統200的其他部分),并且用于存儲在計算機系統200“重啟”或初始化(例如,當計算機系統200開機或加電時)時執(zhí)行的初始指令系列,以完成為準備計算機系統200用于正常使用所需的任務。在這類實施方案的一些變體中,一旦計算機系統200初始化或者重啟,CPU210就訪問非易失性存儲器器件230以取出要執(zhí)行的指令,使存儲器控制器240準備好正常用于向CPU 210提供對存儲器器件250a-250c的訪問。有可能這些相同的取出指令被執(zhí)行來使系統邏輯220準備好正常用于提供對存儲設備260的訪問,無論存儲設備260可以使用何種形式的存儲介質261。
無論在計算機系統200初始化或重啟時將由CPU 210執(zhí)行的指令序列源于何處,都會致使CPU 210初始化要使用的存儲器器件250a-250c,包括配置刷新邏輯254a-254c以及用于標記數據的伴隨存儲區(qū),所述標記數據將存儲器器件250a-250c至少之一內的若干行存儲器標記為具有要通過執(zhí)行刷新操作而保留的數據或者沒有這樣的數據。在一個實施方案中,存儲器器件250a的刷新邏輯254a包含標記緩沖器255a,用于存儲指定存儲器陣列251a內的哪些行存儲單元包含要保留的數據的標記數據,在這種情況下,通過執(zhí)行一個指令序列而致使CPU 210使用存儲器控制器240向存儲器器件250a發(fā)送命令和/或數據,以將標記緩沖器255a內的條目初始化為存儲器陣列251a內沒有一行被標記為有數據要保留的狀態(tài)。在另一個實施方案中,刷新邏輯254a包含標記緩沖器255a作為從存儲器陣列251a內的一行或多行獲得的標記數據的緩存,在這種情況下,可以致使CPU 210與存儲器控制器240協作來選擇存儲器陣列251a的哪些行將被用于存儲標記數據,和/或可以致使CPU210將用來存儲標記數據的若干行存儲單元初始化為存儲器陣列251a內的行被標記為沒有數據要保留的狀態(tài)。在另外一個實施方案中,刷新邏輯254a不包含象標記緩沖器255a這樣的標記緩沖器,在這種情況下,也可以使CPU 210選擇用于存儲標記數據的行和/或將用于存儲標記數據的行中的存儲單元初始化為存儲器陣列251a內的行被標記為沒有數據要保留的狀態(tài)。
在計算機系統200的正常操作期間,CPU 210執(zhí)行指令,這些指令致使CPU 210向存儲器器件內組成存儲器陣列(例如存儲器器件250a的存儲器陣列251a)的一行或多行寫入數據(也許包括指令)。在將這樣的數據寫入存儲器器件250a內的行之前或與此同時,還致使CPU 210通過存儲器控制器240向存儲器器件250a發(fā)送命令,以將正寫入這些數據的行標記為有數據要保留。在一個實施方案中,標記數據被存儲在獨立于存儲器陣列251a的緩沖器,例如標記緩沖器255a中,在這種情況下,標記緩沖器255a的一部分將被寫入,以將那一行標記為有數據要保留。在另一個實施方案中,標記數據被存儲在存儲器陣列251a內的(多)行中,在這種情況下,存儲有標記數據的行的一部分將被寫入,以將正寫入數據的行標記為有數據要保留。結果,當刷新邏輯254a被存儲器控制器240命令來刷新那一行時,具體地說,或者當刷新邏輯254a內的計數器在將要執(zhí)行刷新操作時提供一個指定那一行的行地址時,刷新邏輯254a將獲得對應于那一行的標記數據,將確定應當實際執(zhí)行刷新操作以便刷新那一行,并且將對那一行執(zhí)行刷新操作。
在計算機系統200的正常操作期間,CPU 210執(zhí)行指令,這些指令致使CPU 210通過存儲器控制器240向存儲器器件250a發(fā)送命令,以將一行標記為沒有數據要保留。在一個實施方案中,標記數據被存儲在獨立于存儲器陣列251a的緩沖器,例如標記緩沖器255a中,在這種情況下,標記緩沖器255a的一部分將寫入一個值,該值將那一行標記為沒有數據要保留。在另一個實施方案中,標記數據被存儲在存儲器陣列251a內的一行或多行中,在這種情況下,存儲有標記數據的行的一部分將寫入一個值,該值將那一行標記為沒有數據要保留。結果,當刷新邏輯254a被存儲器控制器240命令來刷新那一行時,具體地說,或者當刷新邏輯254a內的計數器在將要執(zhí)行刷新操作時提供一個指定那一行的行地址時,刷新邏輯254a將獲得對應于那一行的標記數據,將確定不應執(zhí)行刷新操作來刷新那一行,并且將不會對那一行執(zhí)行刷新操作。
在一些實施方案中,當計算機系統200處于降低功率狀態(tài)時,組成計算機系統200的存儲器器件,例如存儲器器件250a從存儲器控制器240接收到進入降低功率狀態(tài)(例如自刷新狀態(tài))的命令,在降低功率狀態(tài)下,存儲器控制器240和存儲器器件250a之間在計算機系統200處于非降低功率狀態(tài)下的正常操作期間所發(fā)生的至少一部分交互將停止。在這種自刷新狀態(tài)期間,存儲器器件250a必須自主地完成對存儲器陣列251a內的多行存儲單元進行刷新的刷新操作,并且執(zhí)行刷新指定行的刷新操作的請求可以在刷新邏輯254a內由計數器以預定的時間間隔生成,而不是從存儲器控制器240接收的。響應于執(zhí)行刷新一行的刷新操作的每個請求(計數器已為之生成了行地址),刷新邏輯254a訪問標記數據,無論該數據是位于專用的緩沖器例如標記緩沖器255a內還是位于在存儲器陣列251a內分配的行內,以確定已被請求刷新的行是否被標記為有數據要保留。如果已被請求執(zhí)行刷新操作的行被標記為有數據要保留,則執(zhí)行刷新操作,從而有助于保證該行的內容不會丟失。否則,如果已為之發(fā)出請求的行未被標記為有數據要保留,則不執(zhí)行刷新操作。
圖3是實施方案的流程圖。當要保留的數據正被寫入存儲器器件中的一行存儲單元時,或者當要保留的數據就要被寫入一行存儲單元時(在310),該行被標記為有數據要保留(在320),如果該行尚未被如此標記的話。在一個實施方案中,CPU執(zhí)行構成監(jiān)視軟件一部分的一系列指令,所述監(jiān)視軟件至少監(jiān)視當CPU執(zhí)行另一系列指令時該CPU對存儲器器件進行的訪問,并且監(jiān)視軟件致使CPU將那些行中的一行或多行標記為有數據要保留。
圖4是實施方案的另一個流程圖。在電子設備的正常操作期間,當被標記為有數據要保留的行不再有數據要被實際保留時(在410),該行被標記為沒有數據要保留(在420)。在一個實施方案中,CPU執(zhí)行構成監(jiān)視軟件一部分的一系列指令,所述監(jiān)視軟件至少監(jiān)視正在由CPU執(zhí)行的另一系列指令對存儲器中多個塊的位置的重新分配,并且當存儲器中多個塊的位置的重新分配導致一行或多行實際上不再有數據要保留時,監(jiān)視軟件致使CPU將一行或多行標記為沒有數據要保留。
圖5是實施方案的另外一個流程圖。在510,接收到刷新存儲器器件內的一行存儲單元的請求。在一些實施方案中,該請求是由位于存儲器器件之外的設備發(fā)出的,而在其他實施方案中,該請求例如是在存儲器器件處于降低功率模式(例如“自刷新”模式)時,由存儲器器件內的計數器生成的,該計數器以定期的間隔提供待刷新的行的行地址。在520,檢查該行是否被標記為有數據要保留。如果該行被標記為有數據要保留,則在530對該行執(zhí)行刷新操作。
圖6a和6b是在存儲器總線上進行信號傳輸的實施方案的時序圖。圖6a和6b都描繪了向一個或多個存儲器器件發(fā)送標記命令,以將一行存儲單元標記為有數據要保留或者沒有。雖然這些附圖和相應的討論都集中于其上發(fā)生的事務與時鐘信號同步的存儲器總線的實施方案,但是本領域的技術人員很容易理解,其他實施方案可以采用其他形式的時序關系或者可以是異步的。
參考圖6a,在一個實施方案中,時序關系被配置為與一種或多種已知的SDRAM接口兼容,在這種情況下,標記命令被嵌入在激活命令中,從而產生一個組合命令給一個或多個存儲器器件,該命令既激活要訪問的特定行,又將該行標記為有數據要保留或者沒有。雖然圖6a及其相關討論集中于將標記命令嵌入在激活命令中,但是其他實施方案可以將標記命令嵌入在一個或多個其他可能的命令中。在這種實施方案的一些變體中,可以向正常情況下與已知的SDRAM接口一起使用的一組現有命令信號線添加附加的命令信號線。該附加的信號線只是被用來使可在現在擴增的一組命令信號線上進行二進制編碼的不同命令的數目加倍。可替換地,這樣附加的信號線可以單獨地用作以下目的將標記命令作為嵌入命令添加到多個可能的現有命令中的任何命令。
如果需要的話,在帶有嵌入標記命令的激活命令的實際傳送之前可以在時間點687和688之間(在這之間不發(fā)生任何命令、地址或數據的傳送)在CK和-CK信號線上發(fā)生預定數量的時鐘跳變,這取決于給定的SDRAM接口和/或所要標記的行所在的存儲器器件的時序要求。激活命令和嵌入的標記命令在時間點688上傳送,并且在該實施方案的一個變體中,在傳送這些命令的同時,庫地址信號BA0和BA1傳送受影響的行所在的庫的庫地址(如果給定的存儲器器件有多個庫的話),并且地址信號A0-A11被用來指定該庫中受影響的行。如果需要的話,在還是不發(fā)生任何活動的時間點288和289之間,在CK和-CK信號線上的另一組預定數量的時鐘跳變可以跟在預充電命令的傳送之后。
參考圖6b,在類似于圖6a所示的方案的另一個實施方案中,并且該方案也被配置為具有與一種或多種已知的同步DRAM接口相互兼容的時序,在這種情況下,標記命令被嵌入在數據訪問命令,例如讀或寫命令中,產生一個組合命令給一個或多個存儲器器件,以讀或寫數據,同時將數據訪問中所涉及的行標記為有數據要保留或者沒有。雖然圖6b及其相關討論集中于將標記命令嵌入在數據訪問命令中,但是其他實施方案完全可以將標記命令嵌入在一個或多個其他可能的命令中。
同樣,如果需要的話,在帶有嵌入標記命令的數據訪問命令的實際傳送之前和/或之后,可以分別在不發(fā)生任何命令、地址或數據傳送的時間點687和688之間和/或時間點688和689之間,在CK和-CK信號線上發(fā)生預定數量的時鐘跳變,這取決于給定的SDRAM接口和/或所要訪問和標記的行所在的存儲器器件的時序要求。數據訪問(讀或寫)命令在時間點688上傳送,并且在該實施方案的一個變體中,在傳送這一命令的同時,庫地址信號BA0和BA1傳送受影響的行所在的庫的庫地址(如果給定的存儲器器件有多個庫的話),并且地址信號A0到A9(取決于可用的列的數目)被用來指定在該庫中受影響的行內所要訪問的列。
同樣與數據訪問命令的傳送同時發(fā)生的是地址信號A11上高狀態(tài)的傳送,從而指示用于將受影響的行標記為有數據要保留或者沒有的標記命令被嵌入在數據訪問命令中。在該實施方案的一些變體中,可以提供一種方式,指示嵌入的標記命令意圖將受影響的行標記為有數據要保留或者沒有??商鎿Q地,在該實施方案的其他變體中,地址信號A11的這種使用可以成為一個協議的一部分,在該協議中,將標記命令與寫命令嵌入在一起被解釋為將受影響的行標記為有數據要保留的命令,而將標記命令與讀命令嵌入在一起被解釋為將受影響的行標記為沒有數據要保留的命令。此外與數據訪問命令的傳送同時發(fā)生的還可以有地址信號A10上高狀態(tài)的傳送,從而指示在完成數據訪問后關閉該行的自動預充電命令也已被嵌入在數據訪問命令中。
在圖6a和6b描繪的實施方案中,做出有關哪些命令和/或地址信號線可被用來傳送標記命令的選擇是為了促成與已知的同步DRAM接口之間的互操作性,所述同步DRAM接口例如但不限于是當前廣為使用的同步DRAM接口的DDR變體。不管涉及使用哪條具體的信號線,例如地址線A11,本領域的技術人員都很容易認識到命令和/或地址信號線的任意組合都可以用于實現傳送標記命令和/或提供與現有的DDR變體之間的互操作性,而不會偏離所要求保護的本發(fā)明的精神和范圍。
圖7是采用計算機系統的另一個實施方案的框圖。與圖2的計算機系統200并非不同,計算機系統700至少部分地是由CPU 710、系統邏輯720和存儲器器件750a-750c組成的。系統邏輯720耦合到CPU 710并完成多種功能以支持CPU 710的指令執(zhí)行,包括使CPU710可以訪問系統邏輯720通過系統邏輯720內的存儲器控制器740以及存儲器總線780同樣耦合到的存儲器器件750a-750c。CPU 710、系統邏輯720和存儲器器件750a-750c構成了計算機系統700的一種形式的內核,能夠支持CPU 710對機器可讀指令的執(zhí)行以及數據(包括指令)在存儲器器件750a-750c內的存儲。
與計算機系統200一樣,在計算機系統700的多種實施方案中,CPU 710可以是多種類型的CPU中的任何一種,存儲器器件750a-750c可以是多種類型的DRAM中的任何一種,并且存儲器控制器740為邏輯720提供通過存儲器總線780與存儲器器件750a-750c之間的適當接口,無論DRAM類型如何。本領域的技術人員將認識到,圖7中描繪的三個一組的存儲器器件,即存儲器器件750a-750c只是可以伴宿CPU的存儲器系統的一個例子,可以使用更多或更少數量的存儲器器件,而不會偏離本發(fā)明所要求保護的精神和范圍。
在一些實施方案中,系統邏輯720被耦合到CPU 710并向其提供訪問存儲設備760的通路,利用該通路可以對存儲介質761所攜帶的數據和/或指令進行訪問,這些指令在由CPU 710執(zhí)行時可以致使CPU 710將存儲器器件750a-750c內的一行或多行標記為包含要保留的數據或者不包含,如下面將會進行的描述。存儲介質261可以是基于本領域的技術人員可以理解的多種技術的多種類型之一。在一些實施方案中,非易失性存儲器器件730耦合到系統邏輯720(或者計算機系統700的其他部分),用于存儲在計算機系統700重啟或初始化時執(zhí)行的初始指令系列,以完成為準備計算機系統700用于正常使用所需的任務,這可以使存儲器控制器740準備好正常用于為CPU 710提供對存儲器器件750a-750c的訪問,和/或使系統邏輯720準備好正常用于提供對存儲設備760的訪問,無論存儲設備760可以使用何種形式的存儲介質761。
無論在計算機系統700初始化或重啟時將由CPU 710執(zhí)行的指令序列源于何處,都會致使CPU 710初始化要使用的存儲器器件750a-750c,包括配置存儲器控制器740和存儲器控制器740內的標記緩沖器745,以將存儲器器件750a-750c至少之一內的若干行存儲器標記為具有要通過執(zhí)行刷新操作而保留的數據或者沒有這樣的數據??梢酝ㄟ^執(zhí)行一個指令序列而致使CPU 710將標記緩沖器745內的條目初始化為存儲器陣列751a-751c的一個或多個內沒有一行被標記為有數據要保留的狀態(tài)。
在計算機系統700的正常操作期間,CPU 710執(zhí)行指令,這些指令致使CPU 710向存儲器器件內組成存儲器陣列(例如存儲器器件750a的存儲器陣列751a)的一行或多行寫入數據(也許包括指令)。在將這樣的數據寫入存儲器器件750a內的行之前或與此同時,還致使CPU 710向標記緩沖器745中寫入標記數據,以將存儲器陣列751a內正寫入這些數據的行標記為有數據要保留。結果,當存儲器控制器740命令對存儲器陣列751a內的一行進行刷新時,存儲器控制器740將從標記緩沖器745獲得標記數據,以識別被標記為有數據要保留的行,也許正好是CPU 710剛剛被致使標記為有數據要保留的那行。然后,存儲器控制器740將與刷新命令一起向存儲器器件750a發(fā)送標識該行的行地址,使得存儲器器件750a對存儲器陣列751a內的該特定行執(zhí)行刷新操作。
在計算機系統700的正常操作期間,CPU 710執(zhí)行指令,這些指令致使CPU 710向標記緩沖器745中寫入標記數據,以將存儲器陣列(例如存儲器器件750a的存儲器陣列751a)內的行標記為沒有數據要保留。結果,當存儲器控制器740命令對存儲器陣列751a內的一行進行刷新時,存儲器控制器740將從標記緩沖器745獲得標記數據,以識別被標記為有數據要保留的行,所識別出的行將是與CPU 710剛剛被致使標記為沒有數據要保留的那行不同的一行。然后,存儲器控制器740將與刷新命令一起向存儲器器件750a發(fā)送標識該不同行的行地址,使得存儲器器件750a對存儲器陣列751a內的該特定行執(zhí)行刷新操作。
在一些實施方案中,當計算機系統700處于降低功率狀態(tài)時,組成計算機系統700的存儲器器件,例如存儲器器件750a從存儲器控制器740接收到進入降低功率狀態(tài)(例如自刷新狀態(tài))的命令。在這種自刷新狀態(tài)期間,存儲器器件750a必須自主地完成對存儲器陣列751a內的多行存儲單元進行刷新的刷新操作,并且執(zhí)行刷新指定行的刷新操作的請求可以在刷新邏輯754a內由計數器以預定的時間間隔生成,而不是從存儲器控制器740接收的。由于不同于圖2的存儲器器件250a,存儲器器件750a的刷新邏輯754a沒有標記緩沖器,所以存儲器器件750a可以刷新存儲器陣列751a內的所有行,無論存儲器陣列751a內的哪些行在標記緩沖器745中被標記為有數據要保留而哪些行被標記為沒有。這可能很有必要,因為需要通過停止存儲器控制器740和存儲器器件750a之間的至少某些形式的交互而節(jié)約功率,作為進入自刷新狀態(tài)的一部分,正常情況下都會這樣做,本領域的技術人員是知道的。
已經結合優(yōu)選實施方案描述了本發(fā)明。很明顯,參考以上描述,本領域的技術人員將會清楚大量替換、修改、變化和使用。本領域的技術人員將理解,本發(fā)明可被實現來支持具有多種可能存儲器器件的多種類型的電子設備,在上述存儲器器件中,存儲單元不斷地需要某種形式的“刷新”或其他定期的維護活動,以防止數據丟失。本領域的技術人員還將理解,本發(fā)明可被實現來支持不同于計算機系統的其他電子設備,例如音頻/視頻娛樂設備、車輛中的控制設備、電子電路控制的電器等。
權利要求
1.一種裝置,包括具有多個存儲單元的存儲器陣列,所述多個存儲單元被組織為多行,每行含有多個存儲單元;標記緩沖器,其存儲有關所述存儲器陣列內的哪些行存儲單元被標記為有數據要保留的指示;以及刷新邏輯,如果一行存儲單元在所述標記緩沖器中被標記為有數據要保留,則所述刷新邏輯選擇性地刷新該行存儲單元。
2.如權利要求1所述的裝置,還包括接收對一行存儲單元執(zhí)行刷新操作的命令的接口。
3.如權利要求2所述的裝置,其中所述接口被配置為接收與執(zhí)行刷新操作的命令相伴隨的值,該值標識出選擇性地對其執(zhí)行所命令的刷新操作的特定行存儲單元。
4.如權利要求2所述的裝置,其中所述刷新邏輯還包括計數器,該計數器提供的值標識出響應于接收到對一行存儲單元執(zhí)行刷新操作的命令,選擇性地對其執(zhí)行所命令的刷新操作的特定行存儲單元。
5.如權利要求1所述的裝置,還包括接收進入降低功率狀態(tài)的命令的接口,在所述降低功率狀態(tài)中,執(zhí)行刷新操作的命令不是從外部設備接受的;以及計數器,其提供的值標識出響應于過去了預定的時間間隔,選擇性地對其執(zhí)行刷新操作的特定行存儲單元。
6.如權利要求1所述的裝置,其中所述標記緩沖器由構成所述存儲器陣列的一行或多行存儲單元組成。
7.一種裝置,包括CPU存儲器器件,該器件具有多個存儲單元,這些存儲單元被組織為多行,每行含有多個存儲單元,并且該器件具有用于接收將一行存儲單元標記為沒有數據要保留的命令的接口;以及耦合到所述CPU和所述存儲器器件的存儲器控制器,其被配置為向所述存儲器器件發(fā)送將一行存儲單元標記為沒有數據要保留的命令。
8.如權利要求7所述的裝置,其中所述存儲器器件還包括刷新邏輯,其被配置為不對被標記為沒有數據要保留的一行存儲單元進行刷新,而不管刷新該行存儲單元的請求。
9.如權利要求8所述的裝置,其中所述存儲器器件從所述存儲器控制器接收刷新特定行存儲單元的請求。
10.如權利要求8所述的裝置,其中所述刷新邏輯包括計數器,該計數器提供一行存儲單元的地址,以生成刷新該行存儲單元的請求。
11.如權利要求7所述的裝置,其中所述存儲器控制器還被配置為向所述存儲器器件發(fā)送將一行存儲單元標記為有數據要保留的命令,并且所述存儲器器件的接口被配置為接收將一行存儲單元標記為有數據要保留的命令。
12.一種方法,包括發(fā)送將存儲器器件內的一行存儲單元標記為沒有數據要保留的命令;以及如果所述存儲器器件內的一行存儲單元被標記為沒有數據要保留,那么盡管接收到對一行存儲單元執(zhí)行刷新操作的請求,也會選擇性地不對該行存儲單元執(zhí)行刷新操作。
13.如權利要求12所述的方法,還包括發(fā)送將存儲器器件內的一行存儲單元標記為有數據要保留的命令;以及響應于接收到對一行存儲單元執(zhí)行刷新操作的請求,如果所述存儲器器件內的一行存儲單元被標記為有數據要保留,則對該行存儲單元執(zhí)行刷新操作。
14.如權利要求12所述的方法,其中接收到對一行存儲單元執(zhí)行刷新操作的請求的操作包括所述存儲器器件接收到由位于該存儲器器件之外的設備發(fā)送的、對一行存儲單元執(zhí)行刷新操作的請求。
15.如權利要求12所述的方法,其中接收到對一行存儲單元執(zhí)行刷新操作的請求的操作包括在所述存儲器器件內生成對一行執(zhí)行刷新操作的請求,該行是由所述存儲器器件內的計數器所生成的地址來標識的。
16.如權利要求15所述的方法,其中生成對一行執(zhí)行刷新操作的請求的操作是響應于所述存儲器器件從位于該存儲器器件之外的設備接收到進入降低功率狀態(tài)的命令而發(fā)生的。
18.一種包括代碼的機器可訪問介質,所述代碼在由電子設備內的處理器執(zhí)行時導致該電子設備向所述電子設備內的存儲器器件發(fā)送將該存儲器器件內的一行存儲單元標記為有數據要保留的命令;以及向該行存儲單元中寫入數據。
19.如權利要求18所述的機器可訪問介質,還導致所述處理器向所述存儲器器件發(fā)送將一行存儲單元標記為沒有數據要保留的命令。
全文摘要
根據存儲器器件內的每一行存儲單元是否被標記為有數據要保留,選擇性地刷新每一行存儲單元的存儲器器件、刷新邏輯和方法。
文檔編號G11C11/406GK1839446SQ200480024197
公開日2006年9月27日 申請日期2004年6月30日 優(yōu)先權日2003年7月1日
發(fā)明者史俊, 阿尼美什·米什拉 申請人:英特爾公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
井研县| 子长县| 会泽县| 封丘县| 固原市| 山西省| 夹江县| 长海县| 渝北区| 凤山市| 黑河市| 邢台县| 鄂伦春自治旗| 石门县| 喀喇| 昭平县| 嵊州市| 瑞昌市| 淮阳县| 搜索| 普兰店市| 宜兰市| 观塘区| 慈溪市| 沂南县| 长海县| 凤凰县| 滨海县| 汽车| 腾冲县| 太康县| 建水县| 启东市| 蒙自县| 石狮市| 陆丰市| 建瓯市| 什邡市| 崇左市| 焦作市| 锦屏县|