專利名稱:借助細粒度的預(yù)充電管理來提高存儲器吞吐量的制作方法
技術(shù)領(lǐng)域:
本公開總體上涉及電子領(lǐng)域。更具體地,本發(fā)明的實施例涉及借助細粒度的預(yù)充 電管理來提高存儲器吞吐量。
背景技術(shù):
計算系統(tǒng)通常依靠存儲器設(shè)備來存儲信息。這種存儲器設(shè)備可以分為兩種通常的 類型。第一,易失性存儲器設(shè)備,其需要電源來保持所存儲的信息的正確性。第二,非易失 性存儲器設(shè)備,其即使在切斷電源后也能保持所存儲的信息。一種常用類型的易失性存儲器設(shè)備是動態(tài)隨機存取存儲器(DRAM)。DRAM設(shè)備與 機械存儲設(shè)備(例如,硬盤)相比通常提供明顯改善的性能,同時提供比靜態(tài)隨機存取存儲 器(SRAM)設(shè)備更低的成本。DRAM通常在集成電路內(nèi)分立的電容中存儲數(shù)據(jù)的每個比特。由于電容會泄露電 荷,所以信息最終將消失,除非定期地刷新電容電荷。由于這種刷新需求和其它設(shè)計考慮, DRAM設(shè)計者將各種定時約束施加給DRAM中的操作,以保持正確性。一個這樣的約束是預(yù) 充電要求。具體地說,當請求訪問DRAM中的不同的行(也稱為位線(BL))時,必須通過發(fā) 出“預(yù)充電”命令來首先停用當前行。預(yù)充電命令將使得讀出放大器切斷,并使得位線預(yù)充 電,以匹配在高邏輯電平和低邏輯電平之間的中間的電壓。在一定的行預(yù)充電時間段延遲 (也稱為tRP)之后,可以發(fā)出“激活”命令,以激活待訪問的下一行。然而,當前的DRAM使得不能在發(fā)出預(yù)充電命令之后并發(fā)地訪問DRAM中的不同的 存儲體。具體地說,單個定時值用于覆蓋整個DRAM設(shè)備的預(yù)充電操作。而且,僅在來自任 何預(yù)充電命令的延遲tRP之后,才能發(fā)出DRAM設(shè)備中用于開啟存儲器的一行的“激活”命 令。
參照附圖提供了詳細的描述。在圖中,附圖標記最左邊的數(shù)字標識該附圖標記第 一次在其中出現(xiàn)的圖。不同圖中相同附圖標記的使用指示相似的或相同的項目。圖1、5和6示出了計算系統(tǒng)的實施例的框圖,該計算系統(tǒng)可以用于實現(xiàn)本文所討 論的各個實施例。圖2示出了可以用于實現(xiàn)各個實施例的DRAM的框圖。圖3示出了根據(jù)一些實施例的DRAM訪問波形。圖4示出了根據(jù)本發(fā)明實施例的方法的流程圖。
具體實施例方式在以下描述中闡述了大量的具體細節(jié),以提供對各個實施例的透徹理解。然而,可 以在沒有這些具體細節(jié)的情況下實現(xiàn)一些實施例。在其它情況下,沒有詳細描述公知的方 法、過程、部件和電路,以避免模糊特定的實施例。
在一些實施例中,借助細粒度的預(yù)充電管理來提高存儲器吞吐量。在一個實施例 中,可以使用三個獨立的預(yù)充電定時,例如,最優(yōu)化的每個存儲器存儲體、每個存儲器存儲 體組和/或每個存儲器設(shè)備。也可以使用其它等級的粒度(例如,每個存儲體存儲器單元 類型、每個存儲體狀態(tài)等)。一些實施例可以用在存儲器設(shè)備中,例如,參照圖1-6所討論的 存儲器設(shè)備。更具體地,圖1示出了根據(jù)本發(fā)明實施例的計算系統(tǒng)100的框圖。系統(tǒng)100可以 包括一個或多個處理器102-1到102-N(在本文中通常稱為“多個處理器102”或“處理器 102”)。處理器102可以通過互連或總線104進行通信。每個處理器均可包括各種部件, 為了清楚起見,僅參照處理器102-1討論了其中的一些部件。因此,剩余處理器102-2到 102-N中的每一個可以包括與參照處理器102-1討論的部件相同或相似的部件。在一個實施例中,處理器102-1可以包括一個或多個處理器內(nèi)核106-1到 106-M(本文中稱為“多個內(nèi)核106”,或者更一般地稱為“內(nèi)核106”)、高速緩存108(在各 個實施例中,其可以是共享高速緩存或?qū)S酶咚倬彺?和/或路由器110。處理器內(nèi)核106 可以在單個集成電路(IC)芯片上實現(xiàn)。此外,該芯片可以包括一個或多個共享和/或?qū)S?高速緩存(例如,高速緩存108)、總線或互連(例如,總線或互連112)、存儲器控制器(例 如,參照圖5和6所討論的那些)或者其它部件。在一個實施例中,路由器110可以用于在處理器102-1和/或系統(tǒng)100的各個部件 之間進行通信。此外,處理器102-1可以包括不止一個路由器110。此外,大量路由器(110) 可以進行通信,以實現(xiàn)處理器102-1內(nèi)部或外部的各個部件之間的數(shù)據(jù)路由。高速緩存108可以存儲由處理器102-1的一個或多個部件(例如內(nèi)核106)使用 的數(shù)據(jù)(例如,包括指令)。例如,高速緩存108可以對存儲在存儲器114中的數(shù)據(jù)本地地 進行高速緩存,以便處理器102的部件更快地訪問。如圖1中所示,存儲器114可以通過互 連104與處理器102進行通信。在一個實施例中,高速緩存108(可以是共享的)可以具有 各個層級,例如,高速緩存108可以是中級高速緩存和/或末級高速緩存(LLC)。而且,每個 內(nèi)核106可以包括1級(Li)高速緩存(116-1)(本文中通常稱為“Li高速緩存116”)。處 理器102-1的各個部件可以直接地、通過總線(例如,總線112)和/或存儲器控制器或存 儲器中心與高速緩存108進行通信。如圖1所示,存儲器114可以通過存儲器控制器120耦接到系統(tǒng)100的其它部件。 盡管將存儲器控制器120示出為耦接在互連102與存儲器114之間,但是存儲器控制器120 可以位于系統(tǒng)100中的其他地方。例如,在一些實施例中,可以在一個處理器102內(nèi)部提供 存儲器控制器120。而且,在一些實施例中,系統(tǒng)100可以包括邏輯(例如,預(yù)充電拆分邏輯 125或其它邏輯,例如內(nèi)核106),以便例如基于功率管理的考慮(如本文中參照圖4所進一 步討論的)來確定是否將預(yù)充電命令拆分成多個預(yù)充電命令。圖2示出了 DRAM 200的框圖,DRAM 200可以用于實現(xiàn)各個實施例。在一個實施 例中,圖1的存儲器114可以包括DRAM 200。DRAM 200可以包括多個存儲器存儲體(例 如,示出了 16個存儲體)。在一些實施例中,存儲器存儲體可以具有不同類型的存儲器單元 (例如,其中一種類型可能比其它類型快,或者與其它存儲器單元類型相比可能消耗更多或 更少的電能)。此外,各種類型的DRAM可以用于圖2所示的存儲器存儲體,包括例如圖形 DRAM、快速DRAM、低功率DRAM等。而且,每個存儲體可以具有不同的狀態(tài),例如激活的或未
5激活的(例如,處于睡眠模式,以在不使用時節(jié)約電能)。如圖2所示,可以將存儲器存儲體組合成存儲體組(例如,示出4個存儲體組)。在 圖2所示的實施例中,每個存儲體組由4個存儲體(例如,存儲體0-3、4-7、8-11和12-15) 組成。在DRAM的核心中存在單個共享的讀寫總線202,其路由到所有的存儲體組。總線202 可以傳輸數(shù)據(jù)和命令(例如,本文中參照圖1和圖3-6所討論的傳輸?shù)紻RAM 200的各個存 儲體的預(yù)充電命令)。如圖2所示,每個存儲器存儲體可以包括數(shù)據(jù)路徑(例如,用于讀/ 寫數(shù)據(jù))、行鎖存和解碼邏輯(例如,用于緩沖和解碼與諸如所示出的字線(WL)A的行對應(yīng) 的與行相關(guān)的命令)、讀出放大器(例如,每個均包括位于位線之間的一對交叉連接的反相 器,用于平衡所存儲的電荷)和列解碼邏輯(例如,用于解碼與列相關(guān)的命令)。圖3示出了根據(jù)一些實施例的DRAM訪問波形300。特別地,圖3示出了針對外部 總線(例如,圖2的總線202)上的命令何時啟用和禁用WL和讀出放大器(SA)。在這種情 況下,從BLO讀取“1”。81^0#可以用作SA的基準輸入。作為預(yù)充電命令303(以及寫回到 DRAM設(shè)備的核心的內(nèi)容)的結(jié)果,禁用SA。本文將參照圖4討論關(guān)于預(yù)充電命令303的進 一步細節(jié)。位線被恢復(fù)到1/2VCC電平。存儲器控制器必須等待tRP(其代表行預(yù)充電時間 段延遲)。tRP通常指在可以發(fā)出“激活”命令以激活待訪問的下一行之前所需的定時延遲 (例如,在一些情況下以時鐘周期的數(shù)量表示)。另外,在圖3中,tRCD是指在定義給定的 存儲塊的行和列與對該位置的實際讀或?qū)懖僮髦g所需要經(jīng)過的時間(或時鐘周期的數(shù) 量)O圖4示出了根據(jù)本發(fā)明實施例的向存儲器設(shè)備的一部分發(fā)出預(yù)充電命令的方法 400的實施例的流程圖。在一個實施例中,參照圖1-3和5-6討論的各個部件可以用于執(zhí)行 參照圖4所討論的一個或多個操作。例如,方法400可以用于向存儲器設(shè)備(例如,圖2的 DRAM或圖1的存儲器114)發(fā)出一個或多個預(yù)充電命令。參見圖1-4,在操作402,可以確定(例如,由諸如本文中所討論的那些存儲器控制 器)是否接收到存儲器訪問請求(例如,從圖1、5或6的一個部件,諸如處理器(例如,102、 502或602),或者網(wǎng)絡(luò)/通信設(shè)備530或646)。在可選的操作404,可以確定發(fā)出什么類型或多少預(yù)充電命令來服務(wù)所接收到的 存儲器訪問請求。例如,在一個實施例中,邏輯(例如,預(yù)充電拆分邏輯125或諸如內(nèi)核106 的其它邏輯)可以確定是否要發(fā)出不止一個預(yù)充電命令來服務(wù)所接收到的存儲器訪問請 求。例如,操作404可以基于電源管理的考慮(例如,在給定的電源下可以同時預(yù)充電多少 存儲器存儲體)來確定預(yù)充電命令的數(shù)量。在一個實施例中,當在移動計算設(shè)備中采用電 池組來給系統(tǒng)供電時(并且在一個實施例中根據(jù)電池組的電荷水平),操作404可以產(chǎn)生不 止一個預(yù)充電命令,它們可以在時間上交錯,以確保不會超過功耗水平的閾值。在一些實施例中,可以使用三個獨立的預(yù)充電定時來提高DRAM設(shè)備的吞吐量(1)針對給定存儲體的預(yù)充電定時被定義為tRP,并且相應(yīng)的預(yù)充電命令被定義 為P。因此,P命令預(yù)充電指定的存儲體。(2)針對給定的存儲體組的預(yù)充電定時被定義為tRP_g,并且相應(yīng)的預(yù)充電命令 被定義為Pg。因此,Pg命令預(yù)充電特定的存儲體組。(3)用于預(yù)充電所有存儲體的預(yù)充電定時被定義為tRP_a,并且相應(yīng)的預(yù)充電命 令被定義為Pa。
在一些實施例中,期望tRP_g定時參數(shù)的定時值比tRP大。類似地,期望tRP_a比 tRP_g大。特定實現(xiàn)中的DRAM可以錯開預(yù)充電操作,以減小瞬時的電流流出(或功耗)。而 且,一些實現(xiàn)可能限制同時向所有的存儲體發(fā)出預(yù)充電,從而導(dǎo)致較大。此外,如果向特定的存儲體發(fā)出了 P命令,那么可以向包括同一存儲體組中的存 儲體的DRAM中的任何其它存儲體發(fā)出激活,而不用等待tRP時段期滿。假定頁面已經(jīng)打開, 那么也可以在tRP時段期間發(fā)出讀或?qū)懨?。此外,如果向特定的存儲體組發(fā)出了 Pg命令, 那么可以向不同存儲體組中的任何存儲體發(fā)出激活,而不用等待tRP_g時段期滿。在一些 實施例中,通過提供三個不同的預(yù)充電選項,存儲器控制器在管理DRAM資源方面具有更大 的靈活性。如果在存儲器設(shè)備中實現(xiàn)了每存儲體組地刷新,那么這也允許以更靈活的方式 來管理刷新,例如因為對存儲器設(shè)備的一部分的刷新操作可以與對其它部分的預(yù)充電同時 執(zhí)行。此外,刷新操作可以包括“激活”和“預(yù)充電”命令或操作的發(fā)出。如果最優(yōu)化了預(yù)充 電定時,那么每存儲體(或存儲體組)實現(xiàn)的刷新在定時和并發(fā)上可以具有類似的改進。參見圖1-4,在操作406,可以向存儲器設(shè)備的第一部分(例如,圖2的DRAM 200 的一個或多個存儲體)發(fā)出第一預(yù)充電命令(例如,由諸如本文討論的那些存儲器控制器 發(fā)出)。在可選的操作408,可以向存儲器設(shè)備的第二部分(例如,圖2的DRAM 200的一個 或多個剩余的存儲體)發(fā)出第二預(yù)充電命令(例如,由諸如本文討論的那些存儲器控制器 發(fā)出)ο在操作410,例如在第一行預(yù)充電時間延遲之后,可以向存儲器設(shè)備的第一部分發(fā) 出激活命令(例如,由諸如本文討論的那些存儲器控制器發(fā)出)。在一個實施例中,操作410 也可以在第二行預(yù)充電時間延遲之后向存儲器設(shè)備的第二部分發(fā)出激活命令,其中,第二 行預(yù)充電時間延遲不同于第一時間延遲,例如上文針對不同類型的預(yù)充電定時所討論的。圖5示出了根據(jù)本發(fā)明實施例的計算系統(tǒng)500的框圖。計算系統(tǒng)500可以包括通 過互連網(wǎng)絡(luò)(或總線)504通信的一個或多個中央處理單元(CPU) 502或處理器。處理器 502可以包括通用處理器、網(wǎng)絡(luò)處理器(其處理通過計算機網(wǎng)絡(luò)503傳輸?shù)臄?shù)據(jù))或其它類 型的處理器(包括精簡指令集計算機(RISC)處理器或復(fù)雜指令集計算機(CISC))。此外, 處理器502可以具有單內(nèi)核或多內(nèi)核設(shè)計。具有多內(nèi)核設(shè)計的處理器502可以在同一集成 電路(IC)管芯上集成不同類型的處理器內(nèi)核。而且,具有多內(nèi)核設(shè)計的處理器502可以被 實現(xiàn)為對稱的或非對稱的多處理器。在一個實施例中,一個或多個處理器502可以與圖1的處理器102相同或類似。例 如,一個或多個處理器502可以包括一個或多個內(nèi)核106和/或高速緩存108。而且,參照 圖1-5所討論的操作可以由系統(tǒng)500的一個或多個部件執(zhí)行。芯片組506也可以與互連網(wǎng)絡(luò)504進行通信。芯片組506可以包括圖形和存儲器 控制中心(GMCH) 508。GMCH 508可以包括與存儲器114進行通信的存儲器控制器510 (在 一個實施例中其可以與圖1的存儲器控制器120相同或相似)。存儲器114可以存儲數(shù)據(jù), 其包括由CPU 502或計算系統(tǒng)500中包括的任何其它設(shè)備所執(zhí)行的指令序列。在本發(fā)明的 一個實施例中,存儲器114可以包括一個或多個易失性存儲(或存儲器)設(shè)備,例如,隨機 存取存儲器(RAM)、動態(tài)RAM(DRAM)、同步DRAM (SDRAM)、靜態(tài)RAM(SRAM)或其它類型的存儲 設(shè)備。也可以采用非易失性存儲器,例如,硬盤。另外的設(shè)備可以借助互連網(wǎng)絡(luò)504進行通 信,例如,多個CPU和/或多個系統(tǒng)存儲器。
7
GMCH 508還可以包括與圖形加速器516通信的圖形接口 514。在本發(fā)明的一個實 施例中,圖形接口 514可以借助加速圖形端口(AGP)與圖形加速器516進行通信。在本發(fā) 明的實施例中,顯示器(例如平板顯示器)可以例如通過信號轉(zhuǎn)換器與圖形接口 514進行 通信,該信號轉(zhuǎn)換器將存儲在存儲設(shè)備(例如,視頻存儲器或系統(tǒng)存儲器)中的圖像的數(shù)字 表示轉(zhuǎn)換成由顯示器解析并顯示的顯示信號。顯示設(shè)備產(chǎn)生的顯示信號在由顯示器解析并 隨后顯示在顯示器上之前可以經(jīng)過各種控制設(shè)備。中心接口 518可以允許GMCH 508和輸入/輸出控制中心(ICH) 520進行通信。ICH 520可以向與計算系統(tǒng)500進行通信的I/O設(shè)備提供接口。ICH 520可以通過外圍橋接器 (或控制器)524(例如,外圍部件互連(PCI)橋接器)、通用串行總線(USB)控制器或其它 類型的外圍橋接器或控制器與總線522進行通信。橋接器524可以提供在CPU 502與外圍 設(shè)備之間的數(shù)據(jù)路徑??梢圆捎闷渌愋偷耐負洹6?,多個總線可以例如通過多個橋接 器或控制器與ICH 520進行通信。此外,在本發(fā)明的各個實施例中,與ICH 520通信的其它 外圍設(shè)備可以包括電子集成驅(qū)動器(IDE)或小型計算機系統(tǒng)接口(SCSI)硬驅(qū)動、USB端口、 鍵盤、鼠標、并行端口、串行端口、軟盤驅(qū)動器、數(shù)字輸出支持(例如,數(shù)字視頻接口(DVI)), 或其它設(shè)備。總線522可以與音頻設(shè)備526、一個或多個盤驅(qū)動器528以及網(wǎng)絡(luò)接口設(shè)備 530 (其與計算機網(wǎng)絡(luò)503通信)進行通信。其它設(shè)備可以經(jīng)由總線522進行通信。而且, 在本發(fā)明的一些實施例中,各個部件(例如,網(wǎng)絡(luò)接口設(shè)備530)可以與GMCH 508進行通 信。此外,可以將處理器502和GMCH508組合以形成單個芯片。此外,在本發(fā)明的其它實施 例中,圖像加速器516可以包括在GMCH 508內(nèi)。此外,計算系統(tǒng)500可以包括易失性和/或非易失性存儲器(或存儲設(shè)備)。例 如,非易失性存儲器可以包括以下的一種或多種只讀存儲器(ROM)、可編程ROM(PROM)、可 擦除 PROM (EPROM)、電 EPROM (EEPROM)、盤驅(qū)動器(例如,528)、軟盤、壓縮盤 ROM (CD-ROM)、數(shù) 字多功能盤(DVD)、閃速存儲器、磁-光盤或能存儲電子數(shù)據(jù)(例如,包括指令)的其它類型 的非易失性機器可讀介質(zhì)。圖6示出了根據(jù)本發(fā)明實施例的按照點對點(PtP)配置安排的計算系統(tǒng)600。特 別地,圖6示出了一個系統(tǒng),其中處理器、存儲器和輸入/輸出設(shè)備由多個點對點接口互連。 參照圖1-5討論的操作可以由系統(tǒng)600的一個或多個部件執(zhí)行。如圖6所示,系統(tǒng)600可以包括若干個處理器,為了清楚起見,僅示出其中的兩個 處理器602和604。處理器602和604各自包括本地存儲器控制器中心(MCH) 606和608, 以實現(xiàn)與存儲器610和612的通信。存儲器610和/或612可以存儲各種數(shù)據(jù),例如參照 圖1和/或5的存儲器114所討論的那些。而且,在一些實施例中,MCH 606和608可以包 括圖1的存儲器控制器120和/或邏輯125。在實施例中,處理器602和604可以是參照圖5所討論的處理器502中的一個。處 理器602和604可以分別使用PtP接口電路616和618經(jīng)由點對點(PtP)接口 614來交換 數(shù)據(jù)。而且,處理器602和604可以各自使用點對點接口電路626、628、630和632經(jīng)由各 個PtP接口 622和624與芯片組620交換數(shù)據(jù)。芯片組620還可以例如使用PtP接口電路 637經(jīng)由高性能圖形接口 636進一步與高性能圖形電路634交換數(shù)據(jù)。如圖6所示,圖1的一個或多個內(nèi)核106和/或高速緩存108可以位于處理器602和604內(nèi)。然而,本發(fā)明的其它實施例可以存在于圖6的系統(tǒng)600內(nèi)的其它電路、邏輯單元 或設(shè)備中。此外,本發(fā)明的其它實施例可以分布在圖6所示的若干電路、邏輯單元或設(shè)備 中。芯片組620可以使用PtP接口電路641與總線640進行通信。總線640可以具有 與其通信的一個或多個設(shè)備,例如,總線橋接器642和I/O設(shè)備643。經(jīng)由總線644,總線橋 接器643可以與其它設(shè)備進行通信,該其它設(shè)備例如鍵盤/鼠標645、通信設(shè)備646 (例如, 調(diào)制解調(diào)器、網(wǎng)絡(luò)接口設(shè)備或可以與計算機網(wǎng)絡(luò)503進行通信的其它通信設(shè)備)、音頻I/O 設(shè)備和/或數(shù)據(jù)存儲設(shè)備648。數(shù)據(jù)存儲設(shè)備648可以存儲可由處理器602和/或604執(zhí) 行的代碼649。在本發(fā)明的各個實施例中,本文例如參照圖1-6所討論的操作可以被實現(xiàn)為硬件 (例如,電路)、軟件、固件、微代碼或其組合,它們可以作為計算機程序產(chǎn)品(例如,包括上 面存儲有用于編程計算機以執(zhí)行本文討論的過程的指令(或軟件程序)的機器可讀或計算 機可讀介質(zhì))而被提供。而且,術(shù)語“邏輯”可以包括例如軟件、硬件或軟件與硬件的組合。 機器可讀介質(zhì)可以包括諸如參照圖1-6所討論的那些存儲設(shè)備。此外,這種計算機可讀介質(zhì)可以作為計算機程序產(chǎn)品而被下載,其中,可以通過數(shù) 據(jù)信號的方式(例如通過載波或其它傳播介質(zhì))經(jīng)由通信鏈路(例如,總線、調(diào)制解調(diào)器或 網(wǎng)絡(luò)連接)從遠程計算機(例如,服務(wù)器)將程序轉(zhuǎn)移到請求計算機(例如,客戶端)。在說明書中提及的“一個實施例”或“實施例”意味著結(jié)合該實施例描述的特定特 征、結(jié)構(gòu)或特性可以包括在至少一個實現(xiàn)中。在說明書中各個位置出現(xiàn)的短語“在一個實施 例中,,可以是或不是總指代同一實施例。而且,在說明書和權(quán)利要求書中,可以使用術(shù)語“耦接”和“連接”以及它們的派生 詞。在本發(fā)明的一些實施例中,“連接”可以用于指示兩個或更多個元件彼此直接物理接觸 或電接觸?!榜罱印笨梢砸馕吨鴥蓚€或更多個元件直接物理接觸或電接觸。然而,“耦接”也 可以意味著兩個或更多個元件彼此不直接接觸,但是仍可以彼此協(xié)作或交互。因此,盡管已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動作的語言描述了本發(fā)明的實施 例,但是應(yīng)該理解,所要求的主題可以不限于所述的具體特征或動作。相反,是作為實現(xiàn)所 要求的主題的示例形式來公開該具體特征和動作。
9
權(quán)利要求
一種裝置,包括存儲器設(shè)備;和存儲器控制器,其用于向所述存儲器設(shè)備的第一部分發(fā)出第一預(yù)充電命令;以及在第一行預(yù)充電時間延遲之后,向所述存儲器設(shè)備的所述第一部分發(fā)出激活命令。
2.如權(quán)利要求1所述的裝置,其中,所述存儲器控制器用于 向所述存儲器設(shè)備的第二部分發(fā)出第二預(yù)充電命令;以及在不同于所述第一時間延遲的第二行預(yù)充電時間延遲之后,向所述存儲器設(shè)備的所述 第二部分發(fā)出激活命令。
3.如權(quán)利要求1所述的裝置,其中,所述存儲器設(shè)備包括動態(tài)隨機存取存儲器(DRAM)。
4.如權(quán)利要求1所述的裝置,其中,所述存儲器控制器用于在所述第一時間延遲期滿 之前向所述存儲器設(shè)備的第二部分發(fā)出激活命令。
5.如權(quán)利要求1所述的裝置,其中所述存儲器包括動態(tài)隨機存取存儲器(DRAM);所述存儲器控制器用于向所述存儲器設(shè)備的第二部分發(fā)出第二預(yù)充電命令;以及 所述存儲器設(shè)備的所述第一部分和所述第二部分中的每一個均包括所述DRAM的一個 或多個存儲體。
6.如權(quán)利要求1所述的裝置,其中所述存儲器控制器用于向所述存儲器設(shè)備的第二部分發(fā)出第二預(yù)充電命令; 所述存儲器設(shè)備的所述第一部分包括第一類型的一個或多個存儲器單元;以及 所述存儲器設(shè)備的所述第二部分包括與所述第一類型不同的第二類型的一個或多個 存儲器單元。
7.如權(quán)利要求1所述的裝置,其中所述存儲器控制器用于向所述存儲器設(shè)備的第二部分發(fā)出第二預(yù)充電命令; 所述存儲器設(shè)備的所述第一部分包括具有第一狀態(tài)的一個或多個存儲器單元;以及 所述存儲器設(shè)備的所述第二部分包括具有與所述第一狀態(tài)不同的第二狀態(tài)的一個或 多個存儲器單元。
8.如權(quán)利要求1所述的裝置,其中,所述存儲器設(shè)備的所述第一部分包括一個或多個 存儲器單元的第一集合和一個或多個存儲器單元的第二集合,其中,所述存儲器控制器用 于響應(yīng)于對向所述第一部分發(fā)出單個預(yù)充電命令會引起功耗超過閾值的確定,來向所述一 個或多個存儲器單元的第一集合和所述一個或多個存儲器單元的第二集合中的每一個發(fā) 出獨立的預(yù)充電命令。
9.如權(quán)利要求1所述的裝置,還包括一個或多個處理器內(nèi)核,用于訪問所述存儲器設(shè)備。
10.如權(quán)利要求9所述的裝置,其中,所述一個或多個處理器內(nèi)核的至少之一和所述存 儲器控制器處于同一管芯上。
11.一種方法,包括向存儲器設(shè)備的第一部分發(fā)出第一預(yù)充電命令,其中,所述存儲器設(shè)備包括多個存儲 器單元,并且所述存儲器設(shè)備的所述第一部分包括的存儲器單元少于所有所述多個存儲器單元;以及在第一行預(yù)充電時間延遲之后向所述存儲器設(shè)備的所述第一部分發(fā)出激活命令。
12.如權(quán)利要求11所述的方法,還包括在所述第一行預(yù)充電時間延遲期滿之前向所 述存儲器設(shè)備的第二部分發(fā)出激活命令。
13.如權(quán)利要求11所述的方法,還包括向所述存儲器設(shè)備的第二部分發(fā)出第二預(yù)充電命令;以及在不同于所述第一時間延遲的第二行預(yù)充電時間延遲之后,向所述存儲器設(shè)備的所述 第二部分發(fā)出激活命令。
14.如權(quán)利要求11所述的方法,還包括向所述存儲器設(shè)備的第二部分發(fā)出第二預(yù)充電命令,其中,所述存儲器設(shè)備的所述第 一部分包括第一類型的一個或多個存儲器單元,并且所述存儲器設(shè)備的所述第二部分包括 與所述第一類型不同的第二類型的一個或多個存儲器單元。
15.如權(quán)利要求11所述的方法,還包括向所述存儲器設(shè)備的第二部分發(fā)出第二預(yù)充電命令,其中,所述存儲器設(shè)備的所述第 一部分包括具有第一狀態(tài)的一個或多個存儲器單元,并且所述存儲器設(shè)備的所述第二部分 包括具有與所述第一狀態(tài)不同的第二狀態(tài)的一個或多個存儲器單元。
16.如權(quán)利要求11所述的方法,還包括確定向所述存儲器設(shè)備的所述第一部分發(fā)出單個預(yù)充電命令是否會引起功耗超過閾 值,其中,所述存儲器設(shè)備的所述第一部分包括一個或多個存儲器單元的第一集合和一個 或多個存儲器單元的第二集合;以及響應(yīng)于對向所述存儲器設(shè)備的所述第一部分發(fā)出單個預(yù)充電命令會引起功耗超過閾 值的確定,向所述一個或多個存儲器單元的第一集合和所述一個或多個存儲器單元的第二 集合中的每一個發(fā)出獨立的預(yù)充電命令。
17.如權(quán)利要求11所述的方法,還包括響應(yīng)于讀訪問或?qū)懺L問所述存儲器設(shè)備的請 求,產(chǎn)生所述第一預(yù)充電命令。
18.一種系統(tǒng),包括存儲器設(shè)備,其具有多個存儲器單元;處理器,其用于訪問所述存儲器設(shè)備;和存儲器控制器,其用于向所述存儲器設(shè)備的第一部分發(fā)出第一預(yù)充電命令;以及在第一行預(yù)充電時間延遲之后向所述存儲器設(shè)備的所述第一部分發(fā)出激活命令。
19.如權(quán)利要求18所述的系統(tǒng),其中,所述存儲器控制器用于在所述第一時間延遲期 滿之前向所述存儲器設(shè)備的第二部分發(fā)出激活命令。
20.如權(quán)利要求18所述的系統(tǒng),其中,所述存儲器控制器用于向所述存儲器設(shè)備的第二部分發(fā)出第二預(yù)充電命令;以及在不同于所述第一時間延遲的第二行預(yù)充電時間延遲之后,向所述存儲器設(shè)備的所述 第二部分發(fā)出激活命令。
全文摘要
描述了用于提高存儲器設(shè)備吞吐量的方法和裝置。在一個實施例中,借助細粒度的預(yù)充電管理來提高存儲器吞吐量。在一個實施例中,可以使用三個獨立的預(yù)充電定時,例如,最優(yōu)化的每個存儲器存儲體、每個存儲器存儲體組和/或每個存儲器設(shè)備。還公開并聲明了其它實施例。
文檔編號G06F12/06GK101981548SQ200980110790
公開日2011年2月23日 申請日期2009年6月25日 優(yōu)先權(quán)日2008年6月30日
發(fā)明者J·B·哈爾伯特, K·S·貝恩斯 申請人:英特爾公司