TWI284261B - Method for dynamically adjusting a memory page closing policy - Google Patents

Method for dynamically adjusting a memory page closing policy Download PDF

Info

Publication number
TWI284261B
TWI284261B TW092100020A TW92100020A TWI284261B TW I284261 B TWI284261 B TW I284261B TW 092100020 A TW092100020 A TW 092100020A TW 92100020 A TW92100020 A TW 92100020A TW I284261 B TWI284261 B TW I284261B
Authority
TW
Taiwan
Prior art keywords
memory
page
access
policy
group
Prior art date
Application number
TW092100020A
Other languages
English (en)
Other versions
TW200305803A (en
Inventor
Opher D Kahn
Jeffrey R Wilcox
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200305803A publication Critical patent/TW200305803A/zh
Application granted granted Critical
Publication of TWI284261B publication Critical patent/TWI284261B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Storage Device Security (AREA)

Description

12842610) 玖、發明說明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 發明領域 本發明通常涉及電腦記憶體(如,DRAM)之使用與運作; 而更特定言之,係關於動態調整DRAM頁關閉方針與記憶體 控制之方法,以及實現本方法之電路。 發明背景 記憶體控制電路可以用於各種電腦系統(如,桌上型個人 電腦,筆記型電腦,個人數位助理,等等)中,以利用電腦 系統之處理器存取記憶體晶片。這些記憶體晶片一般包含 電腦系統之主記憶體,其通常包括複數個動態隨機存取記 憶體(DRAM)晶片,舉例來說,包括同步DRAM (SDRAM),延 伸資料讀出(EDO) DR AM晶片,Rambus (R) DRAM晶片,雙倍 資料數率(DDR) SDR AM晶片,等等。記憶體控制器提供連接 一個或更多個這種DRAM晶片的記憶體介面,以及連接到系 統處理器的系統介面。記憶體控制器以這些介面,在處理 器與DRAM晶片之間,使用適當的位址與控制信號發送資料。 現代電腦中使用的DRAM晶片通常組織成群,並且安裝在 一個或更多個「記憶體模組」上。目前最常用的記憶體模 組稱為雙直列記憶體模組(DIMM),其包括一個基座上有168 針腳之雙面連接器的小電路板,其上安裝複數個DRAM晶片 與一個或更多個控制器晶片。(或者是,DRAM晶片可能已經 嵌入内建的控制器電路中。)其他通用的記憶提模組包含用 於膝上型電腦之144針腳的小輪廓DIMMS (S0DIMMS),與單 直列記憶體模組(S I MMs ),以及各種其他類型的配置。 1284261 (2) 發明說晦績議 U ^ «、 r : t ' · 現代的DIMM通常可以儲存32,64,128,256,與512百萬 位元(Mb)的記憶體,其對應於DIMM上記憶體晶片的全部記 憶容量。每一個DRAM晶片上的記憶體係以記憶體陣列的方 式邏輯地配置的,其包括複數行與列之記憶「單元」。每一 個記憶單元具有特定之位址,並儲存單一位元之資料。接 著,此一記憶陣列邏輯地分成一個或更多個記憶「組 (bank)」。在DRAM晶片中,有四個記憶體組。在現代DRAM 晶片,如頁模式,EDO,與SDRAM晶片中,記憶體是在頁的 基礎上存取的,其中一組中已知行的記憶單元包括一「頁」 記憶體。記憶體頁通常包括512,1 024 ( 1K),2048 (2K), 4096 (4K) , 8,192 (8K) , 16384 (16K),或 32,768 (32K) 位元之資料。 存取DRAM通常是多步驟的過程,其由記憶體控制器以下 列方式執行。首先,識別對應於要求之資料與指令的頁。 一旦知道頁,便決定對應於該頁之適當組(bank)。接著, 記憶體控制斋「打開」適當的組與適當的頁。要求之資料 的特殊頁’初始時將是下列三種狀態之一:頁選中 hi t),頁 /月工(page empty),頁遺漏(page mi ss)。如果狀 悲是頁選中,所需之頁已载入讀出放大器(amps)之組中, 此一讀出放大器對應於儲存頁之記憶體組。如果遇到的是 頁清空,對應於所需之頁的資料在其可以存取之前,必須 經由一「啟動(activate)」之指令,將其載入適當的讀出 放大益組中。如果頁之狀態是頁遺漏的,則特定之組包含 不同於所要求之資料頁。首先,需要「關閉」此一存在之 (3 1284261 wwmm 頁,其 接著必 上述 該頁已 需要啟 一個花 (亦即 及每一 是頁選 的。 典型 時機制 漏,其 要刷新 完全進 機制, 定的組 循環而 這種情 的實例 計時器 實施方 本文 例,以 包括使用「預充電」指令,將其寫回記憶體陣列, 須使用指令,將適當之頁載入讀出放大蒸組。 三種狀態對存取等待4間有料。頁選中狀態意指 經準備好存取,而無额外之等待時間。頁清空狀態 動才曰7而頁遺漏則需要預先充電與啟動指令,每 費-個或更多個時脈循環。每—種存取之實際補償 '延遲)取決於記憶體技術,記憶體組織與結構,以 種記憶體技術之其他特定規則。可是,一般的規則 中是最快的’頁清空是較慢的,而頁遺漏則是最慢 之現存的頁管理方針含「頁打開」,「頁關閉」與計 。在頁打開的方針下,頁保持打開,直到由於頁遣 需要被1閉(或由於某些其他記憶體結誠則,如需 記憶體,而需要被關閉)。在頁關閉方針下,在電流 入後,以「預先充電」指令儘迷關閉頁◊至於計時 使用「閒置」計時器來決定記憶體是在一般,或特 中,尤其是閒置N個時脈循環時。如果超過N個時脈 無存取,便關閉頁。計數器可以是每一個組的,在 况下,當計時器過期時,只有關閉該組之頁。其他 叮月b母行或所有系統記憶體有—個計時器,盆中在 過期時’將關閉行中或所有系统記憶體的所有頁。 式 敘述動態調整DRAM頁關閉方針之方法的具體實施 及實現本方法之記憶體控制電路。在下列敘述中, (4) 1284261 mmm 將陳述許客4生一 Λ π 寻疋、、、田郎’以提供本發明之具體實施例完整的 了解0 可阜 _ t _ ’无、和此藝之士將了解,可以不用一個或更多 個特定 、、、即’或其他方法,組件,材料等等,而能夠實現 在其他貫例中’未顯示或詳細敘述已知之結構, 材料與操作’以避免使本發明模糊不清。 在本忒明書中所提及的「一個具體實施例」或「一具體 實施例I,咅社 忍知所敘述之關於具體實施例的特定特點,結 -奇性’至少包含於本發明之一個具體實施例中。因 在本說明書中各個地方出現的「在一個具體實施例中」 或「在_且 一 一具體實施例中」不必指相同的具體實施例。此外, 斗寺 4^ ψ μ. ,. ' ,、…構,或特性,可以以任何適當的方式,結 合於—個或更多個具體實施例中。 傳、先之電腦系統中,記憶體控制器通常以靜態的方式 忠】| -g. 針模、關閉方針。舉例來說,啟動期間可以設定頁關閉方 模式,其中讀出放大器之特定組(bank)或所有組在頁遺 /馬上預奂古φ 、、 、尤兄^,以關閉頁,否則組將獨自留下。在其他情 方依據冑型」之預定記憶體存取圖案,設定頁關閉 腦),。在:個作業執行期間(亦即,從啟動到關閉或重置電 題心維持單一的頁關閉管理模式。此〜靜態方法的問 同的統上執行的不同應用程式1能呈現完全不 ΰ隐體存取問題。一種應用程式可 一 取根★、曰& ^ ^不半隨機之存 、式,取佳性能需要「頁關閉」,然而其 局部性Γ 1T版 ^ 、他可能呈現好的 丨王、亦即,重複存取相同的記憶體 要「百h问 刀最佳性能需 只打開」或「計時」機制。即使是相 1〗的應用程式, -9- 1284261 (5) 在其執行之各個階段,可能表現不同的存取模式行為。 本發明藉由提供一機制來處理此一問題,其中該機制使 頁管理方針能夠依據實際存取模式,動態地調整。結果, 為每一個應用程式(或存取相同記憶體組之應用程式組)調 整頁關閉方針,以便提供適當之方針給該應用程式(組)。 在下面將進一步詳細敘述的具體實施例中,使用應用程式 之記憶體使用的綜合歷史記錄,以所預測之未來的記憶體 存取方式,設定頁關閉方針。 架構1 0對應於本發明之一可仿效具體實施例,其說明處 理器12,記憶體控制器集線器(MCH) 14與DRAM晶片16之間 的各種交互作用’其中DRAM晶片16包含於圖1所示之DIMM 1 8上。如上所討論的,本發明提供一種機制,其中記憶體 控制器(在此一情況中,為MCH 1 4 )之頁關閉方針可以動態 地調整以配合實際的記憶體存取模式,而實際之記憶體存 取模式係在記憶體組接組的基礎上,於處理器1 〇上運轉一 個或更多個應用程式的執行期間,所產生的模式。 為了更了解調整頁關閉方針的好處,並了解其運作,現 在將敘述依據架構1 0之典型的記憶體存取次序。當在電腦 系統處理器(如,處理器1 〇 )上執行的應用程式(或,當作該 應用之代理的操作系統模組)做了一個或更多個資料位元 組或指令之要求時,序列便開始。記憶體要求通常參考一 段記憶體位址範圍,其對應於儲存於系統記憶體中的所需 資料或指令。舉例來說,要求載入子程序將識別對應於儲 存子程序指令之記憶單元的起始與終止位址。在所說明的 -10- 1284261 ⑹ mmm 饥得:¾到 具體實施例中 經由系統匯流排2 2编合到處理器1 2。系統匯流排2 2提供複 數個系統資料匯流排線’系統位址匯流排線,與系統控制 線’其使資料與要求能夠在處理器與連接到系統匯流排地 其他系統組件之間傳輸,其他的系統組件包含由北橋晶片 組20所提供之各種組件。 北橋晶片組通常用於電腦系統中,此一電腦系統使用周 邊零件連接介面(PCD裝置與周邊’如使用英特爾(Intei) 處理器之電腦。北橋晶片組通常提供複數個功能,其能夠 在多晶片或單晶片中實現。it些功能通常包含由記憶體控 制器,如MCH 14,所提供之記憶體介面功能。或者是,mch U (或類似之記憶體控制器)也可以經由系統匯流排(未顯 示配置),直接連接到處理器1 2。 依據接收記憶體存取要求,MCH 14決定儲存記憶之特定 5己憶體組,並產生適當的位址信號24與控制信號μ,以執 ,組之記憶體存取。如上所討論的,每—個_晶片包括 早-陣列’其邏輯地分割成一個或更多個組。這描繪成圖工 憶體陣列28與組ο,1,2,3。單獨之記憶體單元由其 字::行與列位址識別。資料與指令通常以資料位元組或 子’纟中每-位元組包括人個鄰接位元,而每一個字 I儲存於同一行之Μ鄰接記憶體單元中的資 干全ΛΑ Η — 町貝枓,其中Μ表 …、長度。為了存取特定的字,通常以指明 、擇貝訊,k供字之第一個位元組的位址。 :& 4士〜, _此,為了存 取锊疋位元組或字(如,關的資 Λ^日7 ),將提供這些 -11 - 1284261 ⑺ 卿說明續頁1 * ** 、' · t,》!/,·»- f ( ◊ 資料或指令的位址範圍給MCH 1 4。可是,不是只有存取所 提供之位址範圍内的資料/指令,在最現代的DRAM中,是藉 由打開那些頁,取回對應於包含該位址範圍之一個或更多 (必要時)頁的資料。為了說明之目的,在目前之實例中, 將假設存取儲存於組〇中之單一記憶體頁3 〇。 打開記憶體頁包括使記憶體控制器傳送啟動(activate) 指令至DRAM晶片16(經由DIMM 18),其中適當的控制信號集 26與位址信號24,透過電腦系統之記憶體匯流排,傳送到 D I MM 1 8。在所說明之具體實施例中,控制信號包含晶片選 擇(CS#)信號,啟動寫入(we#)信號,列存取閘門(CAS#)信 號,與行存取閘門(RAS#)信號,其由DRAM晶片16中的控制 與刷新電路區塊32接收。注意,在一些DIMM結構中,控制 信號與其他各種信號,係由DIMM(描繪成DIMM 18上的控制 晶片3 3)上之一個或更多個控制晶片接收,其被用來提供 DIMM DRAM晶片之頂級控制操作。因此,在這些配置中,控 制晶片解譯控制信號,並產生與/或傳送適當之控制信號到 適當的DRAM晶片,此一 DRAM晶片對應於位址信號所指定之 頁位址。響應DRAM接收控制信號ACTIVATE指令,ACTIVATE 指令打開或啟動由目前之行位址信號所指定的行,其中該 行位址信號被閉鎖到所說明之具體實施例中的行位址緩衝 區32中。依據記憶體控制器與記憶體匯流排之特殊結構, 行與列位址信號可以在單一多重系列之位址信號線上面, 或經由分開的位址信號線群傳送。響應READ或WRITE指令 (如由適當系列之CS#,WE#,CAS#,與RAS#信號的邏輯電平 (8)1284261 發腎, 所指定),以類似閉鎖行位址的方式,將列位址資料閉鎖到 列位址緩衝區36中。接著,如行解碼器38與多路複用列解 碼益40所描述的,DRAM晶片16中的内部電路將儲存於行與 列位址緩衝區中的列與行位址解碼,以識別相對應之組與 頁,其中該組與頁包含要求之記憶體存取位址範圍。
如上所討論的,在現代DRAMs中,資料通常以頁為基準來 存取,而非以位元組或字為基準。乍看之下,可能認為其 可能直接存取所選擇之記憶體組中的資料行。可是,因為 DRAM記憶體單元的作用方式,資料並不是直接從記憶體單 元存取。DRAM晶片稱為「動態」RAM,因為其記憶體單元必 須以頻率(如,> 1 000或甚至>10,〇〇〇次/秒)為基準,動態地 刷新。這是因為每-個記憶體單元包括—@㉟漏」電容 器,其僅能保持電荷一段非常短的時間…保持資料, 對應於邏輯i之單元必須使用刷新循環來刷新(亦即,充 電),此-刷新循環係由控制與刷新電路區塊%以連續的方 式自動執行。結果,如果置牙革古r~
禾早70疋直接「讀取」的,其將漏 失其電壓,進而遺失其資料。 為了避免這些問題,咖伙用複數個讀出放大器42, -列線-個讀出放大器。因此’讀出放大器被分割成讀 放大益組,其中每一個組的寬度對應於其各自相應之記 體陣列組的頁長度。此等讀出放大器執行兩項功能。一 功能,-如其名,是「讀出」相應於其各自之列與目前 打的記憶體單以所保持的電荷,接著放大讀出之信號 舉例來說,如果讀出已知單元中的電荷為預定臨界值 -13- 1284261 (9) _學明_ ——? **i;*':· '- ——一 ’ 上,則讀出放大器產生一個對應於邏輯Γ 1」的電壓信號輸 出,而如果讀出之電荷低於臨界值,則讀出放大器產生一 個對應於邏輯「0」的電壓信號輸出。讀出放大器所提供之 第二個功能是緩衝功能,因此可以存取放大信號而不會不 利地影響健存於記憶體中之資料的電壓。 在所說明之具體實施例中,讀出放大器係經由輸入/輸出 (I/O)選通區塊44存取,其響應I/O控制區塊48及控制與刷 新電路區塊3 4所產生之控制信號,傳輸資料到資料I / 〇緩衝 區46,或自其接收資料。注意圖1中所描述的結構只是例 子,也可以使用技藝中熟知之各種其他結構,以於讀出玫 大器與資料I/O緩衝區之間傳輸(或直接傳輸到無緩衝之 DIMMs)。接著MCH 14可以使用對應於READ與WRITE指令之適 當系列的控制信號26,透過記憶體資料匯流排5〇,取出铸 存於資料I / 0緩衝區4 6中的資料。 通常使用序列機制,將頁中的各種位元組或字讀取出 來。舉例來說,某些DRAMs提供突發模態,其中使用單_之 讀取指令,可以迅速地將複數個循序鄰接之位元組與/或字 讀取出來。此一排序通常藉由插入單一之行位址,同時迅 速地固定CAS#信號與提供循序改變之列存取資料來執行。 一旦從已知頁存取資料,相應之資料便保持於對應到該 頁之讀出放大器組中。為了存取相同組中的另一個資料 頁,便發佈PRECHARGE指令。這回復對應於初始頁記憶體單 元之行與組中的電荷(亦稱為寫回),並預備新資料頁之讀 出放大器組。通常經由CS#,WE#,CAS#與RAS#信號之組合 -14- 1284261 (10) 靜_| 系列,發佈PRECHARGE指令。對許多記憶體控制指令集是普 遍的一個具體實施例中,PRECHARGE指令信號集包括cs#, WE#’ CAS#與RAS#之各自信號(L,L,H,L)。所使用之作號 的特定組合,對MCH (或類似之記憶體控制器)所提供之控制 信號來說,是結構特殊的;此等信號組合乃技藝中熟知, 因此,本文中不進一步討論這些不同的組合。一旦發佈 PRECHARGE指令,直到通過預定(取決於結構)時間,後續存 取均沒有組(bank)。此外,組一旦預先充電,其便處於閒 置(清空)狀態,並且在READ或WRITE指令發佈至該組之前, 必須以ACTIVATE指令啟動。 很明顯地,從前述討論,在各種記憶體存取模式下,有 不同的等待時間。舉例來說,如果頁關閉方針提供每一頁 存取自動的頁關閉,則此一方針對於具有不良局部性之應 用転式(如不重複存取相同記憶體頁之應用程式)是有益 的,但其對具有良好局部性之應用程式則提供高的等待時 門相反地’僅於頁遺漏發生時關閉頁之方針,對於具有 良好局部性之應用程式是有益的,但當應用程式具有不良 之局部性時,其提供不良之性能。 、根據本發明之原理,提供可動態調整之頁關閉方針,其 二、/、有各種不同類型之記憶體存取模式的應用程式,產生 改善之等待時間。一般來說,啟動此一功能之機制,係基 2測量實際之存取模式,接著依據測量之存取模式,在未 =存取模式將與先前之存取模式平行的原則下,調整頁關 閉方針。可是,將了解的是實際存取模式的測量也是動態 -15-
1284261 (ii) 的,因此可以動態地調整頁關閉方針,以適應存取記憶體 組之應用程式,或存取記憶體組之分享組的一系列應用程 式中,記憶體存取模式的改變。
根據一具體實施例,以每一組為基準,實現計時機制。 在此一具體實施例中,每一記憶體組之存取係由記憶體控 制器(如,MCH 1 4 )追縱,而記憶體控制器每一個組使用— 個計時器來決定何時關閉頁。如果計時器行程點設定成 0 (或一些其他特殊指示),則在其最後存取(亦即,READ或
WRITE)完成後,將儘速關閉頁 方針是相同的。在其他極端上,如果計時器行程點設定居 最大,則控制器將不關閉頁,除非其必須(由於其他的DRa 結構規則),或在很長的時間之後,其將關閉頁。這與以』 討論之1頁打開」方針是相同的。對於這兩著極端之間每 方針,計時器行程點將決定何時關閉頁。計時器行程點肩 一個數值,其被動態地調整至對應於最近之記憶體存取名 為。小的行程數值將使機制表現得更類似於頁關閉方針, 然而較大的行程值將表現得更類似於頁打開方針。此一賴 制進一步實現檢索操作,其儲存對每一組開啟之最後頁的 識別2換句話說,控制器記得特定組中哪一個頁被打開, 即使是在其被關閉之後,除非其已經開啟新的頁。 、明f考圖2,在電腦系統實現本發明之操作期間,以每組 為基準之頁闕閉方針調整機制執^下列操作。過程始於方 =:中每一組之行程點設定為初始值。初始值可以是 手均值或特別對特定應用之集合。舉例來冑,如果進一步 -16- (12) 1284261 發明說明賴 知道應用程式通常提供良好之局部性,/一 >· ⑷仃程點之初始值 可以設定成高的值,初始化機制方針 叮馮以與頁打開方 針相對應。相反地’如果已知應用具有隨機之記憶體存取 (亦即,不良…性),則初始行程點可以設定成較低的 值(或甚至〇)’因而初始化機制之行為是針對頁關 的。在一具體實施例中,可以使用電腦 %、s e t - u p)參數 來設定所有組之行程點的初始值,如在 仕逯立刼作期間可存 取的那些,其通常可於系統啟動次序期間取得。在另一呈 體實施例中,應、用程式或操作系統可以傳送資訊到記憶: 控制II ’以設定或調整初始行程點數值。在所有具體: 例中,仃程點數值可以使用各種熟知之儲存方法儲存 建立參數之CMOS,與運轉時間設定之專子如 w n "己〖思體或暫在
^ i等等。還要注意,在很多例子中,既然演算法之動離 本質會依據實際存取模式之局部特性,迅速地調整^ 頁關閉方針至最佳值,初始行程點數值是實質上不相干思的一 在-具體實施例中,每一組行程點被儲存於相應:的哭 中,如描繪於圖1中之暫存器52。由參考數字「彳^ W 扣一 ΛΑ iX〜所 曰不、,已知記憶體結構之組(bank)數目 19斗、、节已栝4,8, ^ ,取決於每一 DIMM之結構,以及安梦# i DIMM數目。舉例央^ ^ 女裝於糸統中的 WMM,則组的叙 再且糸統包含4個 、J、、且的數目將是16。通常提供分開的暫存哭认— 個組。視愔、、^ 子-、、、σ母一 — 脣况,依據暫存器長度與其他結構考量, 、 J暫存器以谷納對應於兩個或更多組的資訊。 、 如刼作循裱所描繪的,在設定初始行程點之後,圖2中方 -17 - (13) 1284261 !100下面所示之操作,係在前進的基準上執行。在此同 % ’圖3所不與下面討論之操作,係在實 上,連續地執行。在一具體實施例中,各種非 = 明之新顆的)之記憶體控制器操作,可以理 供二圖1所描綠的’其為⑽“實現之邏輯的一部;二 之士所了解的’组管理器通常使用記憶體控制器 電中*見的嵌入軟體或閘極電位邏輯來實現。 操作循環始於方塊1 0 2,甘士 — t /、中記憶體控制器(如MCH 1 4) …器1〇接收-要求以存取記憶體,並決定記憶體存取 之組與頁。接著,在方塊1G钟,記憶體控制器嘗試存取記 體頁’並決U存取企圖是否導致選擇方塊iG6中的頁遺 漏頁^中,或頁清空狀態。如果已經經由先前的存取載 入頁,將產生頁選中,使邏輯流向方塊1〇8,其中組管理器 5/增加目前之組的行程點。通常行程點將增加預設的數 =,其正比於計時器的速率(與/或計時分割因子);為了簡 皁起見,在此一實例中,行程點將增加j。 如果碩出放大器組中已經载入另一頁,則將產生頁遺漏 狀%,使邏輯流向方塊11〇,其中使用pRECHARGE指令關閉 頁。接著,在方塊112中,使用ACTIVATE指令(與適當之位 址貝訊)載入新頁。(注意,方塊i i 〇與丨i 2中執行的操作, 均為控制器讀出頁遺漏狀態時,記憶體控制器自動執行之 正常操作。) 在關閉該頁並啟動新頁之後,邏輯進入決定方塊丨丨4,其 中決定行程點是否大於0。如果答案是YES (正確的),則在 -18· 1284261 (14) 發_明親: 方塊1 1 6中,組管理器54增加行程點。以類似於增加行程點 的方式’行程點將減少預設的數目,其正比於計時器速率 (與/或計時分割因子)。為了簡單起見,在此一實例中,行 程點將減少1。 在增加或減少行程點之後,或者如果決定方塊114的結果 是N0(錯誤的),則邏輯流向方塊118,其中執行頁存取。其 通常包括記憶體READ或記憶體WRITE,由熟知之傳統記憶體 控制器操作自動地處理。接著,在方塊12〇中,(必要時) 更新「最後頁」識別符。最後頁識別符(如,頁之位址或類 似之頁識別標記)係用來儲存資訊,此一資訊識別從相應記 憶體組存取之最後頁。在一具體實施例中,每一 之最後 頁係儲存於MCH 14之複數個各自之暫存器中,或使用另一 種用來記錄傳統記憶體控制器中之頁存取資訊的儲存機 制。在一具體實施例中,用來儲存行程點之相同暫存器, 亦用來儲存最後頁識別符。接著,邏輯循環回到方塊丨〇 2, 以響應記憶體存取之下一個要求。 如果已經事先發佈PRECHARE指令,並且未啟動頁,決定 方塊1 06的結果將對應於頁清空狀態。在此一情況中,於方 塊122中啟動新頁,而邏輯則進到決定方塊124。如果檢查 該組儲存之頁識別符(如,在頁識別符係儲存於暫存器之具 體實施例中,執行暫存器檢索),在最後precharge指令仍 然有效之前,頁駐留於組中’則此—決定方塊執行檢查, 以查知存取是否已導致頁遺漏或頁選中狀態。如果存取已 經導致頁遺漏狀態,則邏輯流向決定方塊114(與同樣適當 •19· 1284261 、^ mmmm: ----- 之方塊U6),其中如果行程點大於〇,則減少行程點。如果 頁存取已導致頁選中狀態,則邏輯流向方塊108,以增加 程點。 τ 不是用以上所討論之傳統方式之一關閉頁,本發明使用 t時器與行程點數值,決定關閉頁(除了反應正常方式之頁 退漏,關閉頁之外)。實現此一機制之邏輯顯示於圖3,並 以開始方塊150中每一組之計時器來起始。為此一目的,可 以使用各種類型的計時器。舉例來說,MCH丨4可以包含一 個或更多個專門的計數器,其可能由MCH 14或系統時脈所 提供之計時信號驅動。視需要,可以使用其他各種類型的 系統計時器。在方塊1 52中,計時器是增加的。通常當計數 器用作計時器時,計數器接收新的時脈循環時(如,當其咸 知引導邊緣,或用來驅動它之時脈信號中的邏輯電位改變 時),便增加一個計時。 其次,在決定方塊1 54中,決定計時器是否已經超出行程 點。如果還沒有,則決定方塊154的決定是NO(錯誤的),而 邏輯則循環回到方塊1 5 2,以增加計時,其中重複方塊1 5 2 與1 54之邏輯,直到計時器超出行程點。當其超過行程點 時,決定方塊154的答案將是YES(正確的),而且邏輯將進 到決定方塊1 5 6,其中決定頁是否是清空的(亦即,先前關 閉,沒新頁之後續載入)。如果答案是YES(正確的),則邏 輯進入方塊1 5 8,其中重設計時器,接著循環回到方塊1 5 2。 如果頁是清空的,則於方塊160中發佈PRECHARGE指令以關 閉頁,接著在方塊1 5 8中重設計時器。將了解的是,用來關 -20- (16) 1284261 聊陶讀羣: 閉頁與重設計時器的實際次序是選擇性的,例如’在適當 的情況下,計時器可以在關閉頁之前重設,反之亦然無 論如何,是實作要求次序。 實現本發明之可仿效電腦系統: 請參考圖4,其說明一般之傳統電腦2〇〇,其適合用來當 作實現本發明之電腦系統。傳統之電腦2 〇 〇例證適合實現本 發明之各種類型的電腦系統,包含運行視窗(ffind〇ws)95, 98, 2000, ME,XP或NT操作系統之Pc等級的系統,運行基 於UNIX操作系統之UNIX工作站,與使用LINUX操作系統之各 種電腦架構。電腦200亦傾向於包含各種伺服器結構,與具 有多處理器之電腦。 如通常為熟諳此藝之士所熟知的,電腦2 〇 〇包含一處理器 底盤2 02,其中安裝一軟碟機204, 一硬碟機2〇6,一主機板 208’其上裝載適當之積體電路,包含記憶體2i〇(如,⑽am DIMMs),一個或更多個處理器(CPUs)212,與電源供應器(未 顯示)。主機板208進一步包含一記憶體控制器(未顯示)其 配置來執行以上討論,由MCH 14所提供之操作。在可仿效 具體實施例中,處理器212包括一個英特爾(Intel) PENTIUM IinPENTIUM IVTM處理器,與包括支援這些處 理器之各種MCH之一的記憶體控制器,如英特爾(intei) 82845 MCH或828 1 5 (E)MCH。應了解的是硬碟1〇6可以包括 單一單元,多硬碟,而且可視情況放在電腦2〇〇外面。包含 監視器2 1 4,以顯示電腦運行之軟體程式與程式模組產生的 圖案與文字。滑鼠216(或其他指標裝置)可以連接到處理器 -21 - 1284261 (17) rnmrnmm
底盤202邊緣的序列埠(或到或匯流排埠或USB埠),而來自 滑鼠2 1 6的信號被傳輸到主機板,以控制顯示器上的游標, 並错由電腦上執亍的軟體應用程式與模纽,選擇顯示於監 視器2 1 6上的文字’選單選項’與圖形組件。此外,為了輸 入使用者文字與指令’鍵盤218連接到主機板,其中指令影 響電腦上執行之軟體程式的運行。電腦2〇〇亦包含内建網路 接合器之網路介面卡2 2 0 ’以將電腦連線到電腦網路,如區 域網路,廣域網路,或網際網路。
電腦2 00也可以視情況包含唯讀光碟(CD_R〇M)機222,其 中可以插入CD-ROM,使得光碟上的執行檔或資料可以讀取 傳輸到記憶體與/或電腦200之硬碟機2〇6上的儲存器中。可 以包s其他大篁記憶儲存裝置,如先學記錄媒體或。包 括使CPU實現以上所討論之本發明之功能之軟體的機械指 令,適合分佈於機械可讀取媒體上,如軟碟機或CD_R0MS (或其他記憶媒體)’並且儲存於硬碟機中,直到載入隨機 存取記憶體(關,由CPU來執行。此外,機械可讀取媒體 可以包含傳播之信號,#電子,光學,聲學或其他形式的 傳播信號(如,載體波,紅外線信號,數位信號,等等), 其使機械指令經由電腦網路载入。 雖然已經參考實 發明,熟諳此藝之 範圍内,對本發明 不希望本發明之範 列申請專利範圍來 現本發明之較佳形式 士將了解,可以在下 做很多其他的修改。 圍受限於以上敘述, 決定。 與其修改來敘述本 列申請專利範圍的 因此,無論如何, 而希望完全參考下 -22- I284261 (18) [iiii»7 圖式簡單說明: 參考以上詳細說明,連同下列附圖,將更迅速地了解本 發明之前述態樣與許多伴隨的優點,其中: 圖1係一概圖’說明對應於本發明之一可仿效具體實施例 · 的結構,藉此一結構,可以實現本發明之動態調整頁關閉 , 方針機制; 圖2係一流程圖,說明調整用來決定何時關閉記憶體頁之 叶時器行程點時,記憶體控制器所使用之邏輯,其係根據 肇 本發明之動態調整頁關閉方針機制的具體實施例。 圖3係一流程圖,說明記憶控制器依據電流計時值與計時 器行程點關閉頁之邏輯,其係根據圖2之具體實施例;及 圖4係可仿效電腦系統之概圖,其適合用來實現本發明。 圖式代表符號說明 10 架構,處理器 12, 212 處理器 14 記憶體控制器集線器 16 動態隨機存取記憶體(dram)晶片 18 雙直列記憶體模級 20 北橋晶片組 22 系統匯流排 24 位址信號 26 控制信號 28 記憶體陣列 0,1,2,3 組 -23- 1284261 _ (19) 發嘢說麵雨 30 記憶 CS# 晶片 WE# 啟動 CAS# 列存 RAS# 行存 32 控制 33 控制 36 列位 38 行解 40 多路 34 控制 42 感測 44 輸入 46 資料 48 輸入 54 組管 200 電腦 202 處理 204 軟碟 206 硬碟 208 主機 210 記憶 214 監視 216 滑鼠 體頁 選擇信號 寫入信號 取閘門信號 取閘門信號 與刷新電路區塊 晶片 址緩衝區 碼器 複用列解碼器 與刷新電路區塊 放大器 /輸出選通區塊 輸入/輸出緩衝區 /輸出控制區塊 理器 器底盤 機 機 板 體 器
-24- 1284261 (20) 變__ 218 鍵盤 220 網路介面卡 222 唯讀光碟機 -25-

Claims (1)

  1. 月戶修(^正替換頁 1284量δΦ〇〇〇2〇號專利申章 中文申請專利範圍替換羊(9$年
    1. 一種用於動態調整記憶體頁關閉方針之方法,該方法包 括: 監視對記憶體組之記憶體存取;及 依據其記憶體存取之局部性特徵,動態地調整記憶體 組之記憶體頁關閉方針; 其中監視記憶體存取包括決定每一個記憶體頁存取 是否導致頁遺漏或頁選中狀態;及 動態地調整記憶體頁關閉方針,如果所監視之頁選 中狀態比頁遺漏狀態多,便偏向頁打開方針,其中頁打 •開方針使頁打開,直到其頁遺漏或記憶體組件結構要求 而需要關閉;否則,如果頁遺漏狀態比頁選中狀態多, 則動態地調整記憶體頁關閉方針至頁關閉方針,其中頁 關閉方針在完成存取記憶體頁之後,便立即關閉記憶體 2.如申請專利範圍第1項之方法,進一步包括: 追蹤從記憶體組存取之最後記憶體頁;及 決定記憶體頁存取是否導致頁清空狀態,而如果頁存 取的確導致頁清空狀態,則: 動態地調整記憶體頁關閉方針,如果已產生頁選中 狀態,而最後記憶體頁仍已被載入記憶體組中,便偏向 頁打開方針;否則 動態地調整記憶體頁關閉方針,如果已產生頁遺漏 82984-960109.doc 1284261 年月曰修d)正替換貢
    狀態,而最後記憶體頁仍已被載入記憶體組中,便偏向 頁關閉方針。 3. 如申請專利範圍第1項之方法,其中該方法用於電腦系 統中,此一電腦系統具有分成複數個記憶體組之系統記 憶體,而此一方法之操作同時實現於每一個該複數個記 憶體組,為一記憶體組動態地調整各自之頁關閉方針。 4. 一種用來動態地調整記憶體頁關閉方針之方法,包括: 初始化記憶體關閉行程點; 開始計時器計數; 存取記憶體組中的記憶體頁,並做回應: 打開記憶體頁; 決定記憶體頁是否產生頁遺漏或頁選中狀態; 如果記憶體頁存取導致頁選中狀態,便增加記憶體 關閉行程點; 如果記憶體頁存取導致頁遺漏狀態,便減少記憶體 關閉行程點,關閉記憶體頁,並重新開始計時器計數; 重複存取記憶體組中的記憶體頁,響應並執行前述操 作,同時決定計時器計數是否已超出記憶體行程點;及 當計時器計數超過記憶體關閉行程點時,於任何目前 對記憶體頁之存取完成後,關閉任何打開的記憶體頁。 5. 如申請專利範圍第4項之方法,進一步包括: 追蹤從記憶體組存取之最後記憶體頁;及 決定記憶體頁存取是否導致頁清空狀態,而如果頁存 取的確導致頁清空狀態,則: 82984-960109.doc 1284261 9a
    如果已產生頁選中狀態,而最後記憶體頁仍已被載入 記憶體組中,便增加記憶體關閉行程點;否則 如果已產生頁遺漏狀態,而最後記憶體頁仍已被載 入記憶體組中,便減少記憶體關閉行程點。 6. 如申請專利範圍第5項之方法,其中識別從記憶體組存 取之最後記憶體頁的資料,被儲存於一暫存器中。 7. 如申請專利範圍第4項之方法,其中該方法用於電腦系 統中,此一電腦系統具有分成複數個記憶體組之系統記 憶體,而此一方法之操作同時實現於每一個該複數個記 憶體組,為一記憶體組動態地調整各自之頁關閉方針。 8. 如申請專利範圍第5項之方法,其中該方法用於電腦系 統中,此一電腦系統具有分成複數個記憶體組之系統記 憶體,而此一方法之操作同時實現於每一個該複數個記 憶體組,為一記憶體組動態地調整各自之頁關閉方針。 9. 如申請專利範圍第8項之方法,其中識別從記憶體組存 取之最後記憶體頁的標記,被儲存於各自之暫存器中。 1 0. —種用於動態調整記憶體頁關閉方針之電路,該電路包 括: 記憶體控制器之介面,其控制電腦系統之記憶體存 取,此一電腦系統具有分割成複數個記憶體組之系統記 憶體; 嵌入邏輯,當其於電腦系統中運作時,使電路執行操 作,其包含: 對每一該複數個記憶體組,監視記憶體存取模式; 82984-960109.doc 1284261
    對每一個記憶體存取模式,決定各自之局部性特 徵; 依據該記憶體組之局部性特徵,對每一該記憶體 組,動態地調整記憶體頁關閉方針;及 對每一該複數個記憶體組,提供對應於記憶體頁關 閉方針之標記給記憶體控制器; 其中決定記憶體存取模式之局部性特徵包括: 決定每一個記憶體頁存取是否導致頁遺漏或頁選中 狀態;及 對已知記憶體組,動態地調整記憶體頁關閉方針,如 果所監視之頁選中狀態比頁遺漏狀態多,便偏向頁打開 方針,其中頁打開方針使頁保持打開,直到頁遺漏或記 憶體組件結構要求而需要關閉;否則 如果頁遺漏狀態比頁選中狀態多,則對已知記憶體 組,動態地調整記憶體頁關閉方針至頁關閉方針,其中 頁關閉方針在完成存取記憶體頁之後,便立即關閉記憶 體頁。 11.如申請專利範圍第10項之電路,其中嵌入邏輯進一步執 行操作: 追蹤從每一個該複數個記憶體組存取之最後記憶體 頁;及 決定對已知記憶體組存取是否導致頁清空狀態,而如 果頁存取的確導致頁清空狀態,則: 如果已產生頁選中狀態,而最後記憶體頁仍已被載 82984-960109.doc Ϊ284261
    入記憶體組中,便對該記憶體組,往頁 _ 打開方針,動態 也調整記憶體頁開關方針;否則 如果已產生頁遺漏狀態,而最後記憶體頁仍已被載 :記憶體組中’便對該記憶體組’往頁關閉方針,動態 地調整記憶體頁開關方針。 12二申請專利範圍第10項之電路,其中該電路包括記憶體 控制器集線器中的一部分電路。 13·如申請專利範圍第1G項之電路,其中該電路包括北橋晶 片組組件中的一部分電路。 斗· 種記憶體控制組件,包括: 一系統介面,其有效地將記憶體控制組件耦合到電腦 系統中的處理器,其中電腦系統具有有效地耦合到記憶 體匯流排,並分割成複數個記憶體組之系統記憶體; 一記憶體介面,其有效地將記憶體控制組件耦合到記 憶體匯流排; 嵌入邏輯,當其於電腦系統中運作時,使記憶體控制 組件執行操作,其包含: 至少對一個記憶體組,初始化記憶體關閉行程點; 開始計時器計數; 回應來自處理器之記憶體存取要求,執行對記憶體 組之記憶體頁存取,並做回應: 打開記憶體頁; 決定記憶體頁是否產生頁遺漏或頁選中狀態; 如果記憶體頁存取導致頁選中狀態,便增加記憶 82984-960109.doc 1284261
    月 El修(&)正替換頁
    體關閉行程點; 如果記憶體頁存取導致頁遺漏狀態,便減少記憶 體關閉行程點,關閉記憶體頁,並重新開始計時器計數; 重複存取記憶體組中的記憶體頁’響應並執行前述 操作’同時決定計時器計數是否已超出記憶體行程點; 及 當計時器計數超過記憶體關閉行程點時,於任何目 前對記憶體頁之存取完成後,關閉任何打開的記憶體 頁0 15.如申請專利範圍第14項之記憶體控制組件,其中嵌入邏 輯在每一個該複數個記憶體組上同時執行操作,以為每 一記憶體組,動態地調整各自之記憶體頁關閉方針。 16·如申請專利範圍第14項之記憶體控制組件,其中嵌入邏 輯進一步執行下列操作: 追蹤從記憶體組存取之最後記憶體頁;及 決定對記憶體頁存取是否導致頁清空狀態,而如果頁 存取的確導致頁清空狀態,則·· 如果已產生頁選中狀態,而最後記憶體頁仍已被載 入記憶體組中’便增加記憶體關閉行程點;否則 如果已產生頁遺漏狀態,而最後記憶體頁仍已被載 入記憶體組中’便減少記憶體關閉行程點。 17·如申請專利範圍第16項之記憶體控制組件,進一步包括 從記憶體組存取之 儲存於與其相對應 複數個暫存器,每一個暫存器將識別 一個或更多個最後記憶體頁的標記, 82984-960109.doc 1284261
    月日修替換頁
    之記憶體組。 18.如申請專利範圍第14項之記憶體控制組件,進一步包括 複數個計時器,每一個計時器為各自之記憶體組提供計 時器計數。 1 9.如申請專利範圍第14項之記憶體控制組件,其中記憶體 控制組件包括記憶體控制器集線器。 20.如申請專利範圍第14項之記憶體控制組件,其中記憶體 控制組件包括北橋晶片組之一部分。 82984-960109.doc
TW092100020A 2002-01-03 2003-01-02 Method for dynamically adjusting a memory page closing policy TWI284261B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/039,087 US6799241B2 (en) 2002-01-03 2002-01-03 Method for dynamically adjusting a memory page closing policy

Publications (2)

Publication Number Publication Date
TW200305803A TW200305803A (en) 2003-11-01
TWI284261B true TWI284261B (en) 2007-07-21

Family

ID=21903596

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092100020A TWI284261B (en) 2002-01-03 2003-01-02 Method for dynamically adjusting a memory page closing policy

Country Status (9)

Country Link
US (1) US6799241B2 (zh)
EP (1) EP1461706B1 (zh)
KR (1) KR100626770B1 (zh)
CN (1) CN1284086C (zh)
AT (1) ATE431590T1 (zh)
AU (1) AU2002359868A1 (zh)
DE (1) DE60232367D1 (zh)
TW (1) TWI284261B (zh)
WO (1) WO2003058456A1 (zh)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6906978B2 (en) * 2002-03-19 2005-06-14 Intel Corporation Flexible integrated memory
US6976122B1 (en) * 2002-06-21 2005-12-13 Advanced Micro Devices, Inc. Dynamic idle counter threshold value for use in memory paging policy
US6910114B2 (en) * 2002-11-15 2005-06-21 Intel Corporation Adaptive idle timer for a memory device
JP4250989B2 (ja) * 2003-03-26 2009-04-08 日本電気株式会社 メモリアクセス制御装置
US20050060533A1 (en) * 2003-09-17 2005-03-17 Steven Woo Method, device, software and apparatus for adjusting a system parameter value, such as a page closing time
US7076617B2 (en) * 2003-09-30 2006-07-11 Intel Corporation Adaptive page management
US20050204113A1 (en) * 2004-03-09 2005-09-15 International Business Machines Corp. Method, system and storage medium for dynamically selecting a page management policy for a memory controller
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7457926B2 (en) 2005-05-18 2008-11-25 International Business Machines Corporation Cache line replacement monitoring and profiling
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US7609567B2 (en) 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8169233B2 (en) 2009-06-09 2012-05-01 Google Inc. Programming of DIMM termination resistance values
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US7472220B2 (en) 2006-07-31 2008-12-30 Metaram, Inc. Interface circuit system and method for performing power management operations utilizing power management signals
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US7590796B2 (en) * 2006-07-31 2009-09-15 Metaram, Inc. System and method for power management in memory systems
KR100714396B1 (ko) * 2005-07-18 2007-05-04 삼성전자주식회사 메모리의 처리속도를 향상시킨 컴퓨터 시스템
US7379316B2 (en) 2005-09-02 2008-05-27 Metaram, Inc. Methods and apparatus of stacking DRAMs
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) * 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7409516B2 (en) * 2006-03-30 2008-08-05 Intel Corporation Pending request scoreboard for out-of-order memory scheduler
US7587547B2 (en) * 2006-03-30 2009-09-08 Intel Corporation Dynamic update adaptive idle timer
US7594055B2 (en) * 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
KR100885783B1 (ko) * 2007-01-23 2009-02-26 주식회사 하이닉스반도체 플래시 메모리 장치 및 동작 방법
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US20080282029A1 (en) * 2007-05-09 2008-11-13 Ganesh Balakrishnan Structure for dynamic optimization of dynamic random access memory (dram) controller page policy
US20080282028A1 (en) * 2007-05-09 2008-11-13 International Business Machines Corporation Dynamic optimization of dynamic random access memory (dram) controller page policy
KR100879463B1 (ko) * 2007-05-11 2009-01-20 삼성전자주식회사 억세스 권한 이양 시 프리차아지 스킵을 방지하는 동작을갖는 멀티패쓰 억세스블 반도체 메모리 장치
US8874831B2 (en) * 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
KR101598828B1 (ko) * 2008-12-22 2016-03-02 삼성전자주식회사 메모리 장치의 페이지 오픈 시간 조절 방법 및 이를 이용한메모리 시스템
US8347020B2 (en) * 2009-03-20 2013-01-01 Qualcomm Incorporated Memory access controller, systems, and methods for optimizing memory access times
US20120059983A1 (en) * 2010-09-03 2012-03-08 David Wilkins Nellans Predictor-based management of dram row-buffers
US20120317376A1 (en) * 2011-06-10 2012-12-13 Advanced Micro Devices, Inc. Row buffer register file
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US9684600B2 (en) * 2011-11-30 2017-06-20 International Business Machines Corporation Dynamic process/object scoped memory affinity adjuster
CN102662713B (zh) 2012-04-12 2014-04-16 腾讯科技(深圳)有限公司 提高应用程序运行速度的方法、装置及终端
CN103136120B (zh) * 2012-12-31 2016-01-27 北京北大众志微系统科技有限责任公司 行缓冲管理策略确定方法和装置、bank划分方法和装置
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
WO2014158154A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Regulating memory activation rates
CN105229742A (zh) 2013-04-30 2016-01-06 惠普发展公司,有限责任合伙企业 存储器访问速率
US9436600B2 (en) 2013-06-11 2016-09-06 Svic No. 28 New Technology Business Investment L.L.P. Non-volatile memory storage for multi-channel memory system
US9378127B2 (en) * 2013-06-21 2016-06-28 Intel Corporation Dynamic memory page policy
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
JP6378364B2 (ja) * 2014-04-22 2018-08-22 華為技術有限公司Huawei Technologies Co.,Ltd. ファイル管理方法およびファイルシステム
KR20160042224A (ko) * 2014-10-07 2016-04-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10484519B2 (en) 2014-12-01 2019-11-19 Hewlett Packard Enterprise Development Lp Auto-negotiation over extended backplane
WO2016122585A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Modifying characteristics of a memory segment
CN105068940B (zh) * 2015-07-28 2018-07-31 北京工业大学 一种基于Bank划分的自适应页策略确定方法
EP3284218B1 (en) 2015-10-12 2020-01-01 Hewlett-Packard Enterprise Development LP Switch network architecture
EP3258382B1 (en) * 2016-06-14 2021-08-11 Arm Ltd A storage controller
CN106874106A (zh) * 2016-12-23 2017-06-20 北京北大众志微系统科技有限责任公司 一种主存bank划分方法及装置
US10191689B2 (en) * 2016-12-29 2019-01-29 Intel Corporation Systems and methods for page management using local page information
JP6905195B2 (ja) * 2017-11-16 2021-07-21 富士通株式会社 データ転送装置、演算処理装置及びデータ転送方法
CN108595124A (zh) * 2018-04-27 2018-09-28 江苏华存电子科技有限公司 一种提升多颗闪存平行写入校能的管理方法
US10559348B2 (en) 2018-05-16 2020-02-11 Intel Corporation System, apparatus and method for simultaneous read and precharge of a memory
US10776047B2 (en) 2018-08-30 2020-09-15 Micron Technology, Inc. Memory characteristic based access commands
CN111372369B (zh) 2018-12-25 2023-07-07 奥特斯科技(重庆)有限公司 具有部件屏蔽的部件承载件及其制造方法
KR20200089886A (ko) * 2019-01-18 2020-07-28 에스케이하이닉스 주식회사 데이터 저장 시스템 및 이를 위한 프리차지 정책 설정 방법
US11114150B2 (en) 2019-04-18 2021-09-07 Rambus Inc. Memory system with multiple open rows per bank
US11216386B2 (en) * 2019-09-26 2022-01-04 Intel Corporation Techniques for setting a 2-level auto-close timer to access a memory device
CN112487340A (zh) * 2020-12-23 2021-03-12 深圳市哈哈丫丫互联网有限公司 一种极速简约防盗Linux全屏浏览器的创新技术
US11449267B1 (en) 2021-04-28 2022-09-20 Micron Technology, Inc. Determination of durations of memory device temperatures

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269433B1 (en) 1998-04-29 2001-07-31 Compaq Computer Corporation Memory controller using queue look-ahead to reduce memory latency
US6389514B1 (en) 1999-03-25 2002-05-14 Hewlett-Packard Company Method and computer system for speculatively closing pages in memory
US6604186B1 (en) * 1999-10-19 2003-08-05 Intel Corporation Method for dynamically adjusting memory system paging policy

Also Published As

Publication number Publication date
KR100626770B1 (ko) 2006-09-25
CN1284086C (zh) 2006-11-08
WO2003058456A1 (en) 2003-07-17
EP1461706A1 (en) 2004-09-29
ATE431590T1 (de) 2009-05-15
US6799241B2 (en) 2004-09-28
EP1461706B1 (en) 2009-05-13
CN1613064A (zh) 2005-05-04
TW200305803A (en) 2003-11-01
DE60232367D1 (de) 2009-06-25
KR20040064742A (ko) 2004-07-19
AU2002359868A1 (en) 2003-07-24
US20030126354A1 (en) 2003-07-03

Similar Documents

Publication Publication Date Title
TWI284261B (en) Method for dynamically adjusting a memory page closing policy
US11614866B2 (en) Nonvolatile memory device and operation method thereof
US20220181302A1 (en) Method and device for controlling operation using temperature deviation in multi-chip
CN107068175B (zh) 易失性存储器设备、其信息提供方法及其刷新控制方法
Chang et al. Low-cost inter-linked subarrays (LISA): Enabling fast inter-subarray data movement in DRAM
US6687172B2 (en) Individual memory page activity timing method and system
US5889714A (en) Adaptive precharge management for synchronous DRAM
US7496719B2 (en) Universal nonvolatile memory boot mode
US7451263B2 (en) Shared interface for components in an embedded system
US20050078506A1 (en) Posted precharge and multiple open-page ram architecture
US8935467B2 (en) Memory system, and a method of controlling an operation thereof
MX2008014859A (es) Dispositivo de memoria hibrida con interfase individual.
US20170206165A1 (en) Method for accessing heterogeneous memories and memory module including heterogeneous memories
US10929064B2 (en) Methods of operating mixed device type memory modules, and processors and systems configured for operating the same
TW201635152A (zh) 記憶體控制器的操作方法
TW200416535A (en) Method and apparatus for determining a dynamic random access memory page management implementation
US20230139864A1 (en) Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
CN114115715A (zh) 执行存储器的低时延存取的设备和方法
US20230273668A1 (en) Semiconductor memory device, electronic device and method for setting the same
KR102513903B1 (ko) 불휘발성 메모리 모듈 및 메모리 시스템
US7080217B2 (en) Cycle type based throttling
CN113454720B (zh) 存储设备及其控制方法
KR102475547B1 (ko) 불휘발성 메모리 모듈 및 그것의 동작 방법
KR102538246B1 (ko) 불휘발성 메모리 모듈
TW201740278A (zh) 用於存取異質記憶體的方法及含異質記憶體的記憶體模組

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees