1 - doc/0 02 第8 £1 1 0 3 3 7 2號,¾明書修正貞
3 期 88/5/5 濟 部 智 慧 財 產 局 員 工 消 费 合 作 社 印 製 五、發明說明(兮) 憶體之貝料則,必須送出相關之命令給記憶體,例如預充 電(piechaige)及啓動(actiVate)命令,用來關閉已開啓 之記憶頁及開啓所需之記憶頁。 記憶頁管理裝置100中主要包括比對電路u〇、頁暫 存電路120、利用率暫存電路130、及確認電路14〇。― 於頁暫存電路120中具有資料儲存表125,於資料儲 存表U5中,具有多個儲存單元,可供儲存關於追蹤記憶 體存取之相關資料。資料儲存表125可使用第2圖之表格 來表不。以表格中之每一個橫列(row)爲一個儲存單元, 在此以8個儲存單元(A〜H)爲例。在每一個列,即每個儲 存單元中儲存關於記憶體存取之資料。其中儲存欄BKVC 爲用來儲存VC-SDRAM之位址資枓。儲存欄BNK爲用來儲 存SDRAM或VC-SDRAM之區塊或副區塊(sub-bank)之位址 資料。儲存欄SEG爲用來儲存VC-SDRAM之節段(segment) 之位址資料。儲存欄PAG爲用來儲存SDRAM或VC-SDRAM 之記憶頁之位址資料。儲存欄LRU爲該儲存單元被參考到 之利用率(utilization)之等級資料。儲存欄VLD代表該 儲存單元之資料是否爲有效的(valid)。當然’習知此技 藝者可知道,在資料儲存表125中,並不限定於儲存上述 資料,還可按實際需要,儲存關於記憶體存取控制所需之 其他資料。另外,資料儲存表125中的各個欄位’亦可視 實際電路設計而定,設計在不同的電路方塊中’例如’儲 存欄LRU可設計於利用率暫存電路丨30中’而儲存欄VLD 可設計在確認電路140之中。 請參照第3圖,其繪示比對電路11〇之較詳細之方塊 1 0 本紙張尺度適用中國國家標準(CNS)A4規格(21GX 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝--------訂-------1*線 經濟部中央標準局食工消背合作'社印策 416032 A7 4 2 1 0 t. w = . d c c: / s' ·:; h By , 五、發明説明(I ) 本發明是有關於一種記憶體管理裝置及方法,且特別 是有關於一種可追蹤記憶體存取情形以提昇命中率及減少 記憶體存取延遲之記憶頁管理裝置及方法。 在今日多工的電腦作業系統中,每一記慷體主控電路 (memo r y . ma s t e r )的連續數個存取動作大都在記憶體中的 某一個位址區域,因此如何使記憶體主控電路之存取記憶 體的耗費時間(overhead)降至最少以及減少存取之延遲時 間(1 a t e n c y ),變成目前最重要的課題。 習知之同步動態隨機存取記憶體(Synchronous Dynamic Random Access Memory,簡稱 SDRAM)最多有 4 個副區塊(sub-bank),因爲每個副區塊僅可開啓一個記憶 頁,也就是最多可以開啓4個記憶頁,因此習知之記憶體 控制器針對每個記憶區塊(bank)設計固定的控制電路來分 別管理DRAM的記憶頁,例如最多可以同時開啓2個記憶 頁或4個記憶頁,則要有4組控制電路。 因此習知做法的缺點爲: 1. 若是某個記憶區塊上並沒有插上SDRAM,或是有插 上SDRAM,但此SDRAM只有兩個副區塊,此時因爲未被用 到的控制電路不能被其他記憶區塊使用,因此未被用到的 控制電路就浪費了 u 2. 假如在系統中使用的是虛擬通道SDRAM(VinUal Channel SDRAM,簡稱 VC-SDRAM),因爲 VC-SDRAM 最多可 以同時開啓16個通道,因此若是只做4組控制電路,則 有12個通道無法使用。相對的’假如做16組控制電路, 則控制電路會佔用太大的面積,不符合經濟效益,且因爲 (讀先閱讀背面之注意事項再填寫本頁) -訂 線 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) A7 B7 416032 4210twfl.doc/002 五、發明說明(/(?) 選擇電路420則根據閂鎖電路4!〇、利用率暫存電路130 ' 及確認電路140送來之信號產生信號SEL’用來選擇資料 儲存表125中的儲存單元。然後’依攄其他的輸入信號, 例如信號 BANK、LDA[27:11 ]、SEGMENT、及 VCSDRAM ’ 針 對被選擇到的儲存單元進行資料更新。如前所述’資料儲 存表125中儲存位址資料43丨〜438,並且,這些位址資料 可供比對電路1丨〇運作時使用。 請參照第5A圖’其繪示利用率暫存電路130之較詳 細之電路圖。如圖所示’利用率暫存電路是用來更新 LRU的値。其構想爲’將對應至所選擇到之儲存單元之LRU 値設爲0,亦即代表其資料爲最近使用過。並且將比所選 擇到之儲存單元之原來之LRU値小的LRlj値都加一,用以 使其他的LRU値都比被選擇到之LRU値大。其關鍵爲每一 個儲存單元之LRU値必須是唯一的,以具有八個儲存單元 之LRU値爲例,每一個儲存單兀^之LRU値必須是0至7之 中的一個,並且是唯一的,即所有的LRU値的總和必須等 於28,亦即指定至每一項目之LRU値之0至7的値的總和。 否則此裝置的運作即會出現問題。更新LRU之値是在接收 到比較信號PGCMP或更新信號PGUPD的一個週期之後進 行,一個週期的延遲時間可供計算新的LRU値。當其命中 記憶區塊時,則在比對之後,確定其爲命中某個儲存單元 之位址資料,故在信號PGCMP的一個週期之後進行LRU値 的更新,相對的,在其他未命中任何儲存單兀的情況時’ 則在更新儲存單元之資料時,更新其LRU値’故在信號 PGUPD的一個週期之後進行LRU値的更新-在此裝置最初 ------------^--------訂·------ί 線 (請先閱讀背面之沒意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規柊(210 X 297公釐) 416032 4210twf.doc A7 B7 經濟部中央標準局貝工消费合作社印製 五、發明説明(7 ) 電路太大造成延遲太大,故不適用於高速的系統中,另外, 若是使用SDRAM,則至少有12組控制電路會被浪費。 因此針對上述問題以及其他目的’本發明提出i種用 以追蹤記憶體存取之記憶頁管理裝置’利用最久未使用 (Least Recently Used,簡稱LRU)的演算法,不論系統使 用何種記憶體,例如EDO DRAM、SDRAM、或是VC-SDRAM, 皆可共用,具有彈性之最大優點。 本發明提出之用以追蹤記憶體存取之記億頁管理裝置 包括一頁暫存電路、一比對電路、-利用率暫存電路、及 一確認電路。 在頁暫存電路中具有複數個儲存單元,用以供儲存複 數個記憶頁之位址資料,其中每一該儲存單元存放一個記 憶頁之位址資料。 該比對電路耦接至該頁暫存電路,用以接受一存取位 址,並根據該存取位址與該頁暫存電路之資料之比對結 果,輸出一命中信號,當該存取位址命中該頁暫存電路中 儲存之該些記憶頁之位址資料之一時,該命中信號爲作 用。 該利_率暫存電路耦接至該頁暫存電路,用以掌控該 些儲存單元之使用情形。該確認電路耦接至該頁暫存電 路,用以判斷該些儲存單元之資料是否有效° 依照本發明的一較佳實施例,該頁暫存電路包括-資 料儲存表、-閂鎖電路、及一選擇電路,該些儲存單元位 於該資料儲存表中,該閂鎖電路耦接至該比對電路,用以 將該比對電路輸出之該命中信號閂鎖住,該選擇電路耦接 T·--------A------ir------ (請先閲讀背面之注意事項再填寫本頁) 本紙張尺度適用中國因家榡準(CNS > A4規格(210X297公釐) 4 玉 3^ doc / 0 02 A7 B7 五、發明說明(丨f ) 開始運作時’亦需將每個儲存單元的LRU値啓始化,以供 其後之選擇動作。 . 請發照第5B圖’其繪示確認電路丨4〇之較詳細之電 路圖。如圖所示’確認電路14〇可以依據輸入之信號輸出 對應於每一儲存單元之確認位元,用以確認對應之儲存單 元之儲存値是否爲有效之資料。例如,當其確認位元爲設 定(set)(如設爲1)時’表示其對應之儲存單元之儲存値爲 有效之記憶頁位址,可供比對電路u〇用來與輸入之位址 信號做比對。而當確認位元爲未設定(reset)(如設爲〇) 時,則其對應之儲存單元爲尙未儲存有效資料或是所儲存 之資料爲無效的。 依照以上所敘述之本發明之記憶頁管理裝置1〇〇,在 運作時主要包括下述幾個主要的步驟: 第一,在開始時,將資料儲存表之每一儲存單元之內 容設定爲預設値(例如,將位址資料設成〇),以避免任何 的不確定資料影響正確的比較。 第一 ’將現行之記億體存取之位址與資料儲存表之內 容比較*以決定要更新或是取代資枓儲存表的內容。 經濟部智懸財產局8工消费合作社印製 (請先閱讀背面之注音?事項再填寫本頁) 第二’結合最久未使用(Least Recently Used,簡稱 LRU)與確認位元1以決定那一個儲存單元要更新或是被取 代。 請參照第第6圖’其繪不依照本發明之實施例之記憶 頁管理裝置之運作流程圖。 如圖所示,開始之後,在步驟610,接受記憶體主控 電路送出之存取位址。 本紙張尺度適用t國國家標準(CNS)A4規格<210 X 297公釐) 經濟部中央標準局員工消費合作社印製 416Q?2 f α〇 ο Αν . 五、發明説明(;?) 至該閂鎖電路、該利用率暫存電路、該確認電路、及該資 料儲存表,用以根據閂鎖住之該命中信號及該利用率暫存 電路與該確認電路之輸出信號選擇該資料儲存表之該些儲 存單元之中的一個。 另外,在記憶頁管理裝置之中更具有複數個確認位 元,每一確認位元分別對應至該些儲存單元之一,當該確 認位元爲設定時,儲存於對應之該儲存單元之資料才是有 效的。並且該比對電路根據該些確認位元判斷該些儲存單 元之資料是否爲有效,該比對電路亦負責更新該些確認位 元的値。 該記憶頁管理裝置中亦具有複數個利用率資料,每一 利用率資料對應至該些儲存單元之一,用以代表該些儲存 單元之利用率。該利用率暫存電路根據該些利用率資料掌 控該些儲存單元之使用情形,並負責更新該些利用率資 料。 依照本發明的一較佳實施例,其中該些利用率資料可 以用數字代表對應之該儲存單元之利用率,當該利用率資 料之値越大,代表對應之該儲存單元越久未被使用。 該記憶頁管理裝置於運作時,當該存取位址未命中該 些儲存單元中儲存之該些記憶頁之位址資料時,將該存取 位址儲存至對應至一最大利用率値之該儲存單元。並且, 當對應至該Μ大利闬率資料値之該儲存單元之確認位元爲 有效時,在將該存取位址儲存至對應至該最大利用奉値之 該儲存單元之前,根據該儲存單元之位址資料產生一復原 位址,用以復原對應之一記憶頁之狀態。 (讀先閎讀背面之注意事項再填寫本頁) 訂 竦 本紙張尺度適用中國圉家榇準(CNS ) Α4規格(2丨0X297公釐) A7 B7 416032 4 2 1〇twf1 * doc / 0 0 2 五、發明說明(丨l) 在步驟612,將得到的存取位址與資料表之位址値比 對,判斷是否命中某個儲存單元的位址値。 假如得到的存取位址命中某個儲存單元的位址値,則 至步驟614,送出命中信號,再到步驟628’更新相關之LRU 値,亦即將命中之儲存單元的LRU値設爲0 ’並將比其原 LRU値小的各個儲存單元的LRU値分別加一 ’然後至結束 的步驟,完成現行存取位址之處理。 假如得到的存取位址未命中任何一個儲存單兀的位址 値,則至步驟620,在資料表中找出具有最大的LRU値的 儲存單元。 在步驟622,判斷所找出的具有最大的LRU値的儲存 單元的VLD値是否爲有效。 假如所找出的具有最大的LRU値的儲存單元的VLD値 爲有效,表示該儲存單元已經儲存有效的位址資料’則至 步驟624,根據該儲存單元儲存之位址値產生復原位址, 用以關閉已開啓之對應之記憶頁,然後至步驟626。_ 假如所找到的具有最大的LRU値的儲存單元的VLD値 爲無效,表示該儲存單元尙未儲存有效的位址資料,則直 接至步驟626。 在步驟626,將剛接收到的現行存取位址放入所找到 的具有最大的LRU値的儲存單元中。 在步驟628,更新相關之LRU値,亦即將所找到的具 有最大的LRU値的儲存單元的LRU値設爲0,而其他的儲 存單元的LRU値則分別加一。然後至結束之步驟,完成現 行存取位址之處理。 ^紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) .:------------^—— (請先閱讀背面之注意事項再填寫本頁) 1T---------線 經濟部智慧財產局員工消费合作社印製 經濟部中央標準局員工消費合作社印製 ____B7 五、發明説明(& ) 依照本發明之另一作法,該記憶頁管理裝置接#--存 取位址,並輸出.--頁命中信號及一區塊命中信號,而該記 億頁管理裝置包括.·-頁暫存電路、一比對電路、一利用率 暫存電路、及一確認電路。 其中該頁暫存電路具有複數個儲存單元,用以供儲存 複數個記憶頁之位址資料,其中每一該儲存單元存放一個 記憶頁之位址資料,每一該位址資料包括一區塊位址資料 及一頁位址資料。 該比對電路耦接至該頁暫存電路,用以接受一存取位 址,並根據該存取位址與該頁暫存電路之資料之比對結 果’輸出該頁命中信號及該區塊命中信號,當該存取位址 命中該頁暫存電路中儲存之該些記憶頁之位址資料之一之 區塊位址資料時,該區塊命中信號爲作用,當該存取位址 命中該頁暫存電路中儲存之該些記憶頁之位址資料之一之 該區塊位址資料及該頁位址資料時,該區塊命中信號及該 頁命中信號同時作用。 該利用率暫存電路耦接至該頁暫存電路,用以-控該 些儲存單元之使用情形,當該存取位址未命中該些記憶頁 之位址資料時,依據該利用率暫存電路由該些儲存單元中 找出-最久未使用之儲存單元,並將該存位址存入該最久 未使用之儲存單元。 該確認電路耦接至該頁暫存電路,用以判斷該些儲存 單元之資料是否有效。 依照本發明的…較佳實施例,當該存取位址命中該頁 暫存電路中儲存之該些記憶頁之位址資料之…之區塊位址 -.1.--------’本------tr------^ , (請先聞讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(210Χ2ί>7公釐)
B7 L
Otwf1,doc/002 五、發明說明(丨歹〉 爲了更淸楚描述以上所述之運作原則,以下將配合圖 式說明其運作過程。 請參照第7A圖至第7G圖,其所繪示爲資料表之運作 之示意圖。爲了使解釋更簡潔易懂,圖示中之資料表並未 包括所有的項目,如僅以位址値代表記憶頁及記億區塊的 位址。雖然如此,習知此技藝者仍應能夠瞭解,其運作原 理仍是一致的。 請參照第7A圖,其所繪示爲資料表之啓始狀態。所 有儲存單元之位址値皆設定爲預設値,如圖所示所有的位 址値皆設定爲0,使其在運作時,能夠避免因資料表中存 在不確定之位址値而影響正確的比對。因爲所有的位址値 都是沒用的,因此所有的儲存單元的VLD値皆設定爲無效 的,如圖所示皆設爲0。每一儲存單元之LRU則設定爲唯 —的LRU値,如圖所示,儲存單元A~H分別設定爲7〜〇。 請參照第7B圖所繪示,當記憶體主控電路對記憶體 進行第一次存取時,假設其送出之記憶頁之位址値爲 “10”,因爲此時所有的儲存單元皆未使用,所以選擇表中 LRU値爲最大的儲存單元A,將位址存入其中之位址値欄, 並設定其VLD値,即由〇改變爲1,然後將所屬之LRU値 設爲0,並將資料表中之其他儲存單元之小於7的LRU値 皆加一,即將儲存單元B〜Η之LRU値皆加一。 請參照第7C圖所繪示,當記憶體主控電路對記憶體 進行第二次存取時,假設其送出之記憶頁之位址値爲 “20”。與資料表中的現有資料比對,並未命中資料表之任 何一筆資料。因此找出資料表中LRU値最大的儲存單元, 本紙張尺度適用中國國家標準(CNS>A4規格(210x297公釐> '*:------------^--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局貝工消費合作社印製 416032 A7 B7 經濟部中央標準局貝工消费合作社印策 五、發明説明(含) 資料但未命中該頁位址資料時’則根據該存取位址更新該 頁位址資料。 依照上述之本發明之記憶頁管理裝置’本發明提出一 種用以追蹤記憶體存取之記憶頁管理方法’包括下列步 驟: 提供複數個儲存單元,用以儲存複數個記憶頁之位址 資料; 接受-存取位址; 將該存取位址與該些儲存單元之位址資料比對; 當該存取位址命中該些儲存單元之一之位址資料時, 送出一命中信號; 當該存取位址未命中該些儲存單元之-之位埤資料 時,由該些儲存單元找出一最久未使用之儲存單元,將該 存取位址存入該最久未使用之儲存單元;以及 當該存取位址未命中該些儲存單元之一之位址資料且 該最久未使用之儲存單元已儲存有效之位址資料時,在將 該存取位址存入該最久未使用之儲存單元之前,根據該最 久未使用之儲存單元原先儲存之位址資料產生一復原位址 信號,用以復原對應之一記憶頁之狀態。 依照上述本發明所提出之用以追蹤記憶體存取之記憶 頁管理裝置,可經由追蹤記憶體主控電路之存取動作,除 r可以增加贾命中率及資料可供記憶體主控電路分享之 外,並且可以預先判斷下一個管線式存取(pipel ined access)是否需要預充電,用以在進行現行的存取時,即 先送預充電(precharge)命令給另一個記憶區塊,預先對 ^--------^------1T------^ I (諳先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4坑格(210X297公董) 41純⑽ fl.doc/002
經濟部智慧財產局員工消费合作社印製 五、發明說明(V) 即LRU値爲7的儲存單元B,然後將位址値存入其中,並 設定其所屬之VLD値,例如,從原來的〇改變1,再將其 所屬之LRU値設爲0,並將所有小於7之LRU値加一。 請參照第7D圖所繪示,當對記憶體進行過數次存取 之後,資料表中的所有儲存單元的資料皆爲有效的,資料 表最後的位址値、LRU値、及VLD値如圖所示。 請參照第7E圖,當再次對記憶體進行存取時,假設 其送出之記憶頁之位址値爲“90”。與資料表中的現有資料 比對,並未命中資料表中的任何一筆資料,因此找出資料 表中LRU値最大的儲存單元,即LRU値爲7的儲存單元A, 然後將位址値存入其中,其VLD値原來已經是設定的,無 需再設定,最後,將其所屬之LRU値設爲0,並將所有小 於7之LRU値加一。因爲儲存單元A 的VLD値原來已 經是設定的,因此在更新爲新的位址値之前,需按照原來 的位址値,將已開啓的記憶頁關閉,例如,送出預充電命 令來進行預充電的動作。 請參照第7F圖,當再次對記憶體進行存取時,假設 其送出之記憶頁之位址値爲“40”。與資料表中的現有資料 比對後,確定命中資料表中的儲存單元D之位址資料,因 此不需改變其位址値及VLD値,只需更新相關之LRU値, 即將其LRU値由原來之5改設爲0,並將所有LRU値小於 5之其他儲存單元,例如儲存單元A、D、F、G及Η,所屬 之LRU値加一。 請參照第7F圖,當CPU再次對記憶體進行存取時’ 假設其送出之記憶頁之位址値爲“22”,假設其與位址値爲 本紙張尺度適用中國园家標準(CNS)A4規格(210 X 297公釐) I------------------訂 --------線 . {請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局負工消费合作社印製 416032 A7 4 I: 0 r· -.v 0 :: · ' d 7 五、發明说明u ) 另…個記憶區塊進行預充電,可以減少存取之延遲時間β 爲讓本發明之上述和其他目的、特徵、和優點能更明 顯易懂,下'文特舉較佳實施例,並配合所附圖式,作詳細 說明如下。 圖式之簡單說明: 第丨圖是本發明之用以追蹤記憶體存取之記憶頁管理 裝置之方塊圖。 . 第2圖是本發明之記憶頁管理裝置中使用之資料儲存 表之示意圖。 第3圖是木發明之記憶頁管理裝置之比對電路之較詳 細之方塊圖。 第4圖是本發明之記憶頁管理裝置之頁暫存電路之較 詳細之方塊圖。 第5Α圖是本發明之記憶頁管理裝置之利用率暫存電 路之較詳細之電路圖。 第5Β圖是本發明之記憶頁管理裝置之確認電路之較 詳細之電路圖。 第6圖是本發明之記憶頁管理裝置之運作流程圖。 第7Α圖至第7G圖是本發明之記憶頁管理裝置之資料 表之運作過程之示意圖。 第8Α圖至第8D圖及第9Α圖至第9Β圖是本發明之記 憶頁管理裝置於不同運作情形下之時序圖。 圖式中標示之簡單說明: 100記憶頁管理裝置 110比對電路 120頁暫存電路 125資料儲存表 --------’衣-------ST------迳 | (請先閲讀背面之注意事項再填寫本頁) 本紙乐尺度適用中國國家襟準(CNS ) Α4規格(210X297公釐) 經濟部智慧財產局員工消費合作社印裂 4 1 β 0^3 2t wfl .doc/002 jp. }!| B7 v.'"v.、 五、發明說明"f) “20”之記憶頁在同一個記憶區塊。因此將位址値“22”與資 料表中的儲存單元B之位址資料比對後*發現爲區塊命中 (bank hit)。因爲在问一'個記憶區塊中,在同一時間內, 只能開啓一個記憶頁。因此保留其VLD値不變,但將其位 址更新爲新的位址値“22”,並且更新相關之LRU値,即其 原來之LRU値爲7,故將其所屬之LRU値設爲0,並將所 有小於7之LRU値加一。其中,在開啓新的記憶頁之前, 必須依照原有之位址値將同一記憶區塊中之已開啓之記憶 頁關閉。 請參照第8A圖至第8D圖及第9A圖至第9B圖,其所 繪示爲本發明之記憶頁管理裝置100於不同運作情形下之 時序圖。其中,所有電路之運作皆參考共同之時脈信號 DCLK,因此於時序圖中將以時脈信號DCLK爲基準來解釋。 請參照第8A圖所繪示,其爲頁命中之存取(或是VC-SDRAM之節命中(segment-hit)),因爲其記憶區塊及已啓 動之列位址之資訊已儲存在資料表之儲存單元內,因此無 需更動其位址內容,只需更新其LRU値,例如設爲0。如 圖所示,假設所命中的爲儲存單元A的資料,當存取位址 送出之後,經過比對電路110的比對之後,在週期T0之 後,將其輸出信號0NPAG及BKHIT變爲高電位,表示頁命 中及區塊命中,然後,在週期T7之後,PGCMP變爲高電位* 用以將比對電路110送出之信號閂鎖住,做爲資料更新之 用。在週期T9之後的信號LRILA的變化,是將儲存單元A 所屬之LRU値設爲0。 請參照第8B圖所繪示,其爲區塊命中但記憶頁未命 本紙張尺度適用♦國國家標準(CNS)A4規格(210 X 297公釐) ---------- [ . -------—訂·--------¾ (請先閲讀背面之江意事項再填寫本頁) 經濟部中央標隼局貞工消費合作社印装 416032 五、發明説明(1) Π0利用率暫存電路 140確認電路 310頁比對電路 320區塊比對電路 330 ' 340 、及 350 NAND 閘 4H)閂鎖電路 412連線 420選擇電路 較佳實施例 爲了達成追蹤每一記憶體主控電路之功能,於系統記 憶體控制器內建資料儲存表(page table),如此可讓系統 記憶體控制器根據記憶體主控電路存取記憶體之過程,記 錄開啓之記憶頁及記憶區塊之資訊,然後在隨後的存取 時,可與資料儲存表之內容比較,如此可以提昇頁命中率 (page hit rate)以及促進資料分享,亦可減少耗費時間。 請參照第1圖,其繪示依照本發明一較佳實施例的一 種用以追蹤記憶體存取之記憶頁管理裝置之示意圖。 如圖所示,記憶頁管理裝置100可接受位址資料之信 號 DA[27:11] ' SEGIN[1:0]、及 BANK[9:0],再與內部儲 存之資料比對,然後送出命中信號,其中信號DA[27:11]、 SEGIN[l:〇]、及BANK[9:0]可以是由記憶體主控電路 (mas le〇(未繪出)所送出的位址信號並經解碼電路(未繪 出)所得到,另外,命中信號可以包括頁命中(page, hi t) 信號ONPAG、區塊命中(bank hit)信號BKHIT、及節命中 (segment hit )信號SEGHIT等。記憶頁管理裝置100送出 之命中信號可供記憶體控制電路控制記憶體時之參考,例 如根據位址信號所得到之命中信號爲不作用,則表示其存 取之位址是在記憶體之關閉之記憶頁,因此在進行存取記 本紙張尺度適用中國國家標準(CNS ) A4規格(210X2?7公釐) —M, n I I^I n „ I n i (請先閑讀背面之注^一^項再填寫本頁) f 1 . doc/00 A7 B7 年 經濟部智慧財產局員工消费合作社印製 五、發明說明(丨[;) 中(page-miss)之存取情形。因爲在S的一個記憶區 塊中,在同一時間內,只允許啓動一個列(即開啓一個記 憶頁),因此根據配合存取動作所送出之位址所選擇到的 儲存單元,其中所存放對應至同一的記憶塊的記憶頁之位 址需要更新爲此次存取之位址。如圖所示,在週期了0之 後’由比對電路n0送出之信號,只有信號BKHIT變爲高 電位。此時,依照資料表之位址資料關閉已開啓之記憶頁。 然後,信號PGCMP在週期T5之後變爲高電位,用以將比 對電路送出之信號閂鎖住,以選擇所命中之儲存單元’ 以及用來更新所選擇到的儲存單元的記憶頁資訊。在週期 Ή之後,更新相關之LRU値,並且在週期T10之後’配合 信號PGUPD及PAG_A來更新記憶頁之資訊’並且開啓所需 之新的記憶頁。 當進行記憶體的存取時’其位址與資料表之資料比對 後’其結果爲區塊未命中(bank-mi s s)的情況時,則必須 由資料表中找一個儲存單元來存放最近使用過的資料,在 此情形下,可分成兩種情況來討論,分別配合圖式敘述如 下。 請參照第8C圖所繪示,其爲區塊未命中之存取情形’ 並且在資料表中仍有未使用的儲存單元。由比對電路110 比對記憶體存取之位址,確定未命中任何一個儲存單冗之 資料’故信號ONPAG及BKHIT皆未變化,在週期T1之後’ 由信號PGCMP將信號閂鎖住,再選擇VLD値爲未設定的儲 存單元,依照前面所述之運作方式,必須選擇LRU値最大 的儲存單元,例如LRU値爲7之儲存單元,在此假設所選 本紙張尺度逋用中闼國家標準(CNS)A4規格(210 X 297公釐) -I-----------^--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 1 - doc/0 02 第8 £1 1 0 3 3 7 2號,¾明書修正貞
3 期 88/5/5 濟 部 智 慧 財 產 局 員 工 消 费 合 作 社 印 製 五、發明說明(兮) 憶體之貝料則,必須送出相關之命令給記憶體,例如預充 電(piechaige)及啓動(actiVate)命令,用來關閉已開啓 之記憶頁及開啓所需之記憶頁。 記憶頁管理裝置100中主要包括比對電路u〇、頁暫 存電路120、利用率暫存電路130、及確認電路14〇。― 於頁暫存電路120中具有資料儲存表125,於資料儲 存表U5中,具有多個儲存單元,可供儲存關於追蹤記憶 體存取之相關資料。資料儲存表125可使用第2圖之表格 來表不。以表格中之每一個橫列(row)爲一個儲存單元, 在此以8個儲存單元(A〜H)爲例。在每一個列,即每個儲 存單元中儲存關於記憶體存取之資料。其中儲存欄BKVC 爲用來儲存VC-SDRAM之位址資枓。儲存欄BNK爲用來儲 存SDRAM或VC-SDRAM之區塊或副區塊(sub-bank)之位址 資料。儲存欄SEG爲用來儲存VC-SDRAM之節段(segment) 之位址資料。儲存欄PAG爲用來儲存SDRAM或VC-SDRAM 之記憶頁之位址資料。儲存欄LRU爲該儲存單元被參考到 之利用率(utilization)之等級資料。儲存欄VLD代表該 儲存單元之資料是否爲有效的(valid)。當然’習知此技 藝者可知道,在資料儲存表125中,並不限定於儲存上述 資料,還可按實際需要,儲存關於記憶體存取控制所需之 其他資料。另外,資料儲存表125中的各個欄位’亦可視 實際電路設計而定,設計在不同的電路方塊中’例如’儲 存欄LRU可設計於利用率暫存電路丨30中’而儲存欄VLD 可設計在確認電路140之中。 請參照第3圖,其繪示比對電路11〇之較詳細之方塊 1 0 本紙張尺度適用中國國家標準(CNS)A4規格(21GX 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝--------訂-------1*線 4160 抑 f1 . doc/0 02 A7 B7 Λ 經濟部智慧財產局貝工消費合作社印製 五、發明說明(K)) 擇到的是儲存單元A。然後,在週期T4之後,配合信號 PGUPD’將信號PAG„A& BNK_A之位址資料寫入儲存單元a, 同時由信號VLD_A設定其VLD値,再經過一個週期後,經 由信號LRU_A將其LRU値設爲0,同時亦將其他有關之儲 存單元之LRU値更新,即將小於7之LRU値皆加一。 請參照第8D圖所繪示’其爲區塊未命中之存取情形, 並且資料表中之儲存單元皆已存放資料。在此情形時,必 須由資料表中找出最久未使用(Least Recently Used,簡 稱LRU)之儲存單元來存放新的資料,例如LRU値爲7之儲 存單元。如圖所示,由比對電路110比對記憶體存取之位 址,確定未命中任何一個儲存單元之資料,故信號ONPAG 及BKHIT皆未變化,在週期T1之後,由信號PGCMP將信 號閂鎖住,並且找出LRU値最大之儲存單元,例如LRU値 爲7之儲存單元,假設所選擇到的儲存單元A。在以新的 値取代所選擇到之儲存單元之原有之資料前,必須先根據 原來的記憶區塊資料對SDRAM做預充電(precharge)之動 作,用以關閉原先之記憶區塊及副區塊(sub-bank)。這可 以使用掃描正反器(Hip flop)來達成,在信號PGCMP出 現時之時脈信號之上昇緣時,即週期T7之上昇緣,將所 選擇到之儲存單元之原來之資料閂鎖住,以產生信號LPGBK 及LPGSB之記憶區塊及次區塊之預充電命令。然後,在週 期T6之後,配合信號PGUPD,將信號PAG_A& BNK_A送出 之資料寫入資料表中所選擇到的儲存單元。並且在週期T8 之後,更新相關之LRU値,即將所選擇到之儲存單元之LRU 値設爲0,並且將其他所有儲存單元之LRU値加一。 泰纸張尺度適用中國固家標準(CNS)A4規格(210 X 297公釐) ------------1 i!li1Til!---,^ {請先閱讀背面之注意事項再填寫本頁) 416032 4210twfl.doc/002 A7 B7 經濟部智慧財產局員工消f合作社印製 五、發明說明(彳) 圖。如圖所示,比對電路110包括頁比對電路310、區塊 比對電路320、以及反及(NAND)閘330、340 '與350。其 中頁比對電路310將輸入之信號DA[27:11]及信號 SEGIN[l:〇]與位址資料3U〜318比對,然後輸出信號 PAGHIT[7:0]及SEGHIT[7:0],如前所述,位址資料3丨1〜318 可以是儲存在資料儲存表125中之資料PAG'SEG'及BKVC, 並且以“PAG_A”代表儲存單元A之PAG値,其他資料之標 示亦參照此方式。區塊比對電路320將信號BANKIN[9:0] 與位址資料 321-328比對,然後輸出之信號 BKHIT_[H:A]_、PGHIT_[H:A]—、及 SGHIT_[H:A]_,如前所 述,位址資料321〜328可以是儲存在資料儲存表125中之 資料BNK及VLD。在此實施例中,信號ΒΚΗΙΤ_[Η:Α]_、 PGHIT_[H:A]_、及SGHIT_[H:A]_是以低電位表示該信號爲 作用。因此’信號 ΒΚΗΙΤ_[Η:Α]_、PGHIT_[H:A]_、及 SGHIT_[H:A]_再經NAND閘330、340、及350以產生命中 信號BKHIT、ONPAG、及SEGHIT,這三個命中信號亦是以 低電位代表其爲作用。 請參照第4圖,其繪示頁暫存電路120之較詳細之方 塊圖。如圖所示,於頁暫存電路120中除了具有儲存記憶 體運作所需之位址資料之資料儲存表125之外’尙包括問 鎖電路410及選擇電路420。閂鎖(latch)電路410可將比 對電路110送出之信號及其他電路(未繪出)送來之信號問 鎖住,由閂鎖電路410閂鎖住之信號經連線4丨2送至選擇 電路420,連線412具有對應於閂鎖電路410之輸入信號 之多條信號線,用以將閂鎖住之信號送至選擇電路420 ° 本紙張尺度適用中固國家標準(CNS)A4規格(21〇 x 297公釐) ------------ * -------訂---------轉 (請先Μ讀背面之注意事項再填寫本頁) nmi doc/0 0 2 nmi doc/0 0 2 經濟部智慧財產局員工消費合作社印製 A7: Β7ί 五、發明說明(β) 對於以上所提到之信號LPGBK及LPGSB,假設系統中 具有八個記憶區塊,則以八位元寬的信號LPGBK[0:7]來表 示’其中每一位元對應至一個記憶區塊,且信號lpgbk[o] 代表系統之第一個記億區塊。並且,假設每一個記憶區塊 中具有四個次區塊,則以兩個位元的信號LPGSB[ 1:0]來表 示。當使用VC-SDRAM時,假如所選到之儲存單元已有資 料’亦需產生復原(restore)資訊(RXPAG[27:11], RXSEG[1:0])以供復原週期(rest〇re cycle)。 因爲在電腦系統中可能同時使用不同型式之記憶體, 因此必須考慮配合不同的記憶體之控制方式,在控制方式 上予以配合。例如在電腦系統中同時使用EDO/FP DRAM及 SDRAM時,EDO/FP DRAM的8位元寬的信號CAS#[7:0]是與 SDRMAM —起使用的。另外在執行DRAM更新(refresh)之 前,所有的記憶區塊必須在閒怠(idle)狀態,即經過預充 電。頁更新信號PGFLH即是用來將確認位元設爲無效(即 將對應之VLD値設爲0),用以做爲記憶體更新週期及由 EDO/FP DRAM切換至SDRAM時之用。接下來將配合時序圖 討論由EDO/FP DRAM切換至SDRAM之情形。 請參照第9A圖,其所繪示爲區塊未命中而且要由 EDO/FP DRAM切換至SDRAM時之存取情形。如圖所示,假 設前一次存取是存取EDO/FP DRAM的資料,在週期Π時, 根據前一次的存取,配合信號PGUPD,將信號PAG_A& BNK_A 之位址資料存入儲存單元A,並且在週期T3 ’經信號LRU_A 將其LRU値設爲0,信號VLD_A則保持爲設定。接著,在 週期T4出現之信號PGCMP,爲對SDRAM之存取’經比對電 本纸張尺度適用中囤國家標準(CNS)A4規格(2】0 X 297公釐) ------------- 裝--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) A7 B7 416032 4210twfl.doc/002 五、發明說明(/(?) 選擇電路420則根據閂鎖電路4!〇、利用率暫存電路130 ' 及確認電路140送來之信號產生信號SEL’用來選擇資料 儲存表125中的儲存單元。然後’依攄其他的輸入信號, 例如信號 BANK、LDA[27:11 ]、SEGMENT、及 VCSDRAM ’ 針 對被選擇到的儲存單元進行資料更新。如前所述’資料儲 存表125中儲存位址資料43丨〜438,並且,這些位址資料 可供比對電路1丨〇運作時使用。 請參照第5A圖’其繪示利用率暫存電路130之較詳 細之電路圖。如圖所示’利用率暫存電路是用來更新 LRU的値。其構想爲’將對應至所選擇到之儲存單元之LRU 値設爲0,亦即代表其資料爲最近使用過。並且將比所選 擇到之儲存單元之原來之LRU値小的LRlj値都加一,用以 使其他的LRU値都比被選擇到之LRU値大。其關鍵爲每一 個儲存單元之LRU値必須是唯一的,以具有八個儲存單元 之LRU値爲例,每一個儲存單兀^之LRU値必須是0至7之 中的一個,並且是唯一的,即所有的LRU値的總和必須等 於28,亦即指定至每一項目之LRU値之0至7的値的總和。 否則此裝置的運作即會出現問題。更新LRU之値是在接收 到比較信號PGCMP或更新信號PGUPD的一個週期之後進 行,一個週期的延遲時間可供計算新的LRU値。當其命中 記憶區塊時,則在比對之後,確定其爲命中某個儲存單元 之位址資料,故在信號PGCMP的一個週期之後進行LRU値 的更新,相對的,在其他未命中任何儲存單兀的情況時’ 則在更新儲存單元之資料時,更新其LRU値’故在信號 PGUPD的一個週期之後進行LRU値的更新-在此裝置最初 ------------^--------訂·------ί 線 (請先閱讀背面之沒意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規柊(210 X 297公釐) 41fi〇ta2i .doc/002
經濟部智慧財產局員工消费合作社印製 五、發明說明(/今) 路110比對之後,確定未命中任何一個儲存單元之資料, 因爲EDO/FP DRAM之不使用時,不能保持開啓之記憶頁, 因此仍用儲存單元A來存放此次存取之資料。在週期T5 之後,信號PGFLH變爲高電位,之後在週期T6時使信號 VLD_A變爲低電位,用來關閉EDO/FP DRAM,然後,在週 期T7,配合信號PGUPD,將信號PAG_A及BNK_A之SDRAM 之位址資訊存入儲存單元A,並且開啓所需之記憶頁,同 時在週期T8時將信號VLD_A恢復爲高電位,用以將其VLD 値設定爲有效,其LRU値則維持爲0。 請照第9B圖’其所繪不爲命中SDRAM之記億區塊而 且要由EDO/FPDRAM切換至SDRAM之存取情形。如圖所示, 假設前一次存取是存取EDO/FP DRAM的資料,在週期T1 時,根據前一次的存取,配合信號PGUPD,將信號PAG_A 及BNFLA之位址資料存入儲存單元A,並且在週期T3,經 信號LRU_A將其LRU値設爲0,同時信號LRU_B亦隨之變 化,例如將儲存單元B之LRU値加一,信號VLD_A則保持 爲設定。接著,在週期T3出現之信號PGCMP,爲對SDRAM 之存取,經比對電路110比對之後,確定其命中儲存單元 B之資料,因此在週期T5之後,直接更新相關之LRU値, 即由信號LRU_B將儲存單元B之LRU値設爲0,而比儲存 單元B之原來之LRU値小的LRU値則加一,例如,經由信 號LRU_A將儲存單元A之LRU値由0改變爲1。並且,在 週期T5之後,信號PGFLH變爲高電位,使信號VLD__A變 爲低電位,用以關閉EDO/FP DRAM。 至於在記憶體之更新週期,則與前面敘述之情況有所 (請先閱讀背面之注意事項再填寫本頁) τ_ 裝 -------訂-------!錄 本紙張尺度適用中S國家標準(CNS)A4規格(210x 297公釐) 4 玉 3^ doc / 0 02 A7 B7 五、發明說明(丨f ) 開始運作時’亦需將每個儲存單元的LRU値啓始化,以供 其後之選擇動作。 . 請發照第5B圖’其繪示確認電路丨4〇之較詳細之電 路圖。如圖所示’確認電路14〇可以依據輸入之信號輸出 對應於每一儲存單元之確認位元,用以確認對應之儲存單 元之儲存値是否爲有效之資料。例如,當其確認位元爲設 定(set)(如設爲1)時’表示其對應之儲存單元之儲存値爲 有效之記憶頁位址,可供比對電路u〇用來與輸入之位址 信號做比對。而當確認位元爲未設定(reset)(如設爲〇) 時,則其對應之儲存單元爲尙未儲存有效資料或是所儲存 之資料爲無效的。 依照以上所敘述之本發明之記憶頁管理裝置1〇〇,在 運作時主要包括下述幾個主要的步驟: 第一,在開始時,將資料儲存表之每一儲存單元之內 容設定爲預設値(例如,將位址資料設成〇),以避免任何 的不確定資料影響正確的比較。 第一 ’將現行之記億體存取之位址與資料儲存表之內 容比較*以決定要更新或是取代資枓儲存表的內容。 經濟部智懸財產局8工消费合作社印製 (請先閱讀背面之注音?事項再填寫本頁) 第二’結合最久未使用(Least Recently Used,簡稱 LRU)與確認位元1以決定那一個儲存單元要更新或是被取 代。 請參照第第6圖’其繪不依照本發明之實施例之記憶 頁管理裝置之運作流程圖。 如圖所示,開始之後,在步驟610,接受記憶體主控 電路送出之存取位址。 本紙張尺度適用t國國家標準(CNS)A4規格<210 X 297公釐) d〇c / 〇 〇 2 五、發明說明(W) 不同,必須將所有的儲存單元之VLD値設爲無效,因爲所 有的記憶區塊都必須進行預充電。在記憶體更新之後,則 按前面所敘述之原則運作。另外,當使用VC-SDRAM時, 因爲其使用自動預充電命令,故不需要更新其相關之儲存 資訊。 依照以上所敘述用以追蹤記憶體存取之記憶頁管理裝 置,具有下列之優點,經由追蹤記憶體主控電路之每一個 存取動作,不只可以增加頁命中率及資料可供記憶體主控 電路分享,並且可以預先判斷下一個管線式存取 (pipelined access)是否需要預充電,如此可在進行現行 的存取時,即先送預充電命令給另一個記憶區塊,用以預 先對另一個記憶區塊進行預充電,可以減少存取之延遲時 間。 雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何熟習此技藝者,在不脫離本發明之精神 和範圍內,當可作少許之更動與潤飾,因此本發明之保護 範圍當視後附之申請專利範圍所界定者爲準。 f請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工诮費合作杜印製 I度 一尺 張 ί NS) π I標 i(2 j格 規 97 A7 B7 416032 4 2 1〇twf1 * doc / 0 0 2 五、發明說明(丨l) 在步驟612,將得到的存取位址與資料表之位址値比 對,判斷是否命中某個儲存單元的位址値。 假如得到的存取位址命中某個儲存單元的位址値,則 至步驟614,送出命中信號,再到步驟628’更新相關之LRU 値,亦即將命中之儲存單元的LRU値設爲0 ’並將比其原 LRU値小的各個儲存單元的LRU値分別加一 ’然後至結束 的步驟,完成現行存取位址之處理。 假如得到的存取位址未命中任何一個儲存單兀的位址 値,則至步驟620,在資料表中找出具有最大的LRU値的 儲存單元。 在步驟622,判斷所找出的具有最大的LRU値的儲存 單元的VLD値是否爲有效。 假如所找出的具有最大的LRU値的儲存單元的VLD値 爲有效,表示該儲存單元已經儲存有效的位址資料’則至 步驟624,根據該儲存單元儲存之位址値產生復原位址, 用以關閉已開啓之對應之記憶頁,然後至步驟626。_ 假如所找到的具有最大的LRU値的儲存單元的VLD値 爲無效,表示該儲存單元尙未儲存有效的位址資料,則直 接至步驟626。 在步驟626,將剛接收到的現行存取位址放入所找到 的具有最大的LRU値的儲存單元中。 在步驟628,更新相關之LRU値,亦即將所找到的具 有最大的LRU値的儲存單元的LRU値設爲0,而其他的儲 存單元的LRU値則分別加一。然後至結束之步驟,完成現 行存取位址之處理。 ^紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) .:------------^—— (請先閱讀背面之注意事項再填寫本頁) 1T---------線 經濟部智慧財產局員工消费合作社印製
B7 L
Otwf1,doc/002 五、發明說明(丨歹〉 爲了更淸楚描述以上所述之運作原則,以下將配合圖 式說明其運作過程。 請參照第7A圖至第7G圖,其所繪示爲資料表之運作 之示意圖。爲了使解釋更簡潔易懂,圖示中之資料表並未 包括所有的項目,如僅以位址値代表記憶頁及記億區塊的 位址。雖然如此,習知此技藝者仍應能夠瞭解,其運作原 理仍是一致的。 請參照第7A圖,其所繪示爲資料表之啓始狀態。所 有儲存單元之位址値皆設定爲預設値,如圖所示所有的位 址値皆設定爲0,使其在運作時,能夠避免因資料表中存 在不確定之位址値而影響正確的比對。因爲所有的位址値 都是沒用的,因此所有的儲存單元的VLD値皆設定爲無效 的,如圖所示皆設爲0。每一儲存單元之LRU則設定爲唯 —的LRU値,如圖所示,儲存單元A~H分別設定爲7〜〇。 請參照第7B圖所繪示,當記憶體主控電路對記憶體 進行第一次存取時,假設其送出之記憶頁之位址値爲 “10”,因爲此時所有的儲存單元皆未使用,所以選擇表中 LRU値爲最大的儲存單元A,將位址存入其中之位址値欄, 並設定其VLD値,即由〇改變爲1,然後將所屬之LRU値 設爲0,並將資料表中之其他儲存單元之小於7的LRU値 皆加一,即將儲存單元B〜Η之LRU値皆加一。 請參照第7C圖所繪示,當記憶體主控電路對記憶體 進行第二次存取時,假設其送出之記憶頁之位址値爲 “20”。與資料表中的現有資料比對,並未命中資料表之任 何一筆資料。因此找出資料表中LRU値最大的儲存單元, 本紙張尺度適用中國國家標準(CNS>A4規格(210x297公釐> '*:------------^--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局貝工消費合作社印製 41純⑽ fl.doc/002
經濟部智慧財產局員工消费合作社印製 五、發明說明(V) 即LRU値爲7的儲存單元B,然後將位址値存入其中,並 設定其所屬之VLD値,例如,從原來的〇改變1,再將其 所屬之LRU値設爲0,並將所有小於7之LRU値加一。 請參照第7D圖所繪示,當對記憶體進行過數次存取 之後,資料表中的所有儲存單元的資料皆爲有效的,資料 表最後的位址値、LRU値、及VLD値如圖所示。 請參照第7E圖,當再次對記憶體進行存取時,假設 其送出之記憶頁之位址値爲“90”。與資料表中的現有資料 比對,並未命中資料表中的任何一筆資料,因此找出資料 表中LRU値最大的儲存單元,即LRU値爲7的儲存單元A, 然後將位址値存入其中,其VLD値原來已經是設定的,無 需再設定,最後,將其所屬之LRU値設爲0,並將所有小 於7之LRU値加一。因爲儲存單元A 的VLD値原來已 經是設定的,因此在更新爲新的位址値之前,需按照原來 的位址値,將已開啓的記憶頁關閉,例如,送出預充電命 令來進行預充電的動作。 請參照第7F圖,當再次對記憶體進行存取時,假設 其送出之記憶頁之位址値爲“40”。與資料表中的現有資料 比對後,確定命中資料表中的儲存單元D之位址資料,因 此不需改變其位址値及VLD値,只需更新相關之LRU値, 即將其LRU値由原來之5改設爲0,並將所有LRU値小於 5之其他儲存單元,例如儲存單元A、D、F、G及Η,所屬 之LRU値加一。 請參照第7F圖,當CPU再次對記憶體進行存取時’ 假設其送出之記憶頁之位址値爲“22”,假設其與位址値爲 本紙張尺度適用中國园家標準(CNS)A4規格(210 X 297公釐) I------------------訂 --------線 . {請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印裂 4 1 β 0^3 2t wfl .doc/002 jp. }!| B7 v.'"v.、 五、發明說明"f) “20”之記憶頁在同一個記憶區塊。因此將位址値“22”與資 料表中的儲存單元B之位址資料比對後*發現爲區塊命中 (bank hit)。因爲在问一'個記憶區塊中,在同一時間內, 只能開啓一個記憶頁。因此保留其VLD値不變,但將其位 址更新爲新的位址値“22”,並且更新相關之LRU値,即其 原來之LRU値爲7,故將其所屬之LRU値設爲0,並將所 有小於7之LRU値加一。其中,在開啓新的記憶頁之前, 必須依照原有之位址値將同一記憶區塊中之已開啓之記憶 頁關閉。 請參照第8A圖至第8D圖及第9A圖至第9B圖,其所 繪示爲本發明之記憶頁管理裝置100於不同運作情形下之 時序圖。其中,所有電路之運作皆參考共同之時脈信號 DCLK,因此於時序圖中將以時脈信號DCLK爲基準來解釋。 請參照第8A圖所繪示,其爲頁命中之存取(或是VC-SDRAM之節命中(segment-hit)),因爲其記憶區塊及已啓 動之列位址之資訊已儲存在資料表之儲存單元內,因此無 需更動其位址內容,只需更新其LRU値,例如設爲0。如 圖所示,假設所命中的爲儲存單元A的資料,當存取位址 送出之後,經過比對電路110的比對之後,在週期T0之 後,將其輸出信號0NPAG及BKHIT變爲高電位,表示頁命 中及區塊命中,然後,在週期T7之後,PGCMP變爲高電位* 用以將比對電路110送出之信號閂鎖住,做爲資料更新之 用。在週期T9之後的信號LRILA的變化,是將儲存單元A 所屬之LRU値設爲0。 請參照第8B圖所繪示,其爲區塊命中但記憶頁未命 本紙張尺度適用♦國國家標準(CNS)A4規格(210 X 297公釐) ---------- [ . -------—訂·--------¾ (請先閲讀背面之江意事項再填寫本頁) f 1 . doc/00 A7 B7 年 經濟部智慧財產局員工消费合作社印製 五、發明說明(丨[;) 中(page-miss)之存取情形。因爲在S的一個記憶區 塊中,在同一時間內,只允許啓動一個列(即開啓一個記 憶頁),因此根據配合存取動作所送出之位址所選擇到的 儲存單元,其中所存放對應至同一的記憶塊的記憶頁之位 址需要更新爲此次存取之位址。如圖所示,在週期了0之 後’由比對電路n0送出之信號,只有信號BKHIT變爲高 電位。此時,依照資料表之位址資料關閉已開啓之記憶頁。 然後,信號PGCMP在週期T5之後變爲高電位,用以將比 對電路送出之信號閂鎖住,以選擇所命中之儲存單元’ 以及用來更新所選擇到的儲存單元的記憶頁資訊。在週期 Ή之後,更新相關之LRU値,並且在週期T10之後’配合 信號PGUPD及PAG_A來更新記憶頁之資訊’並且開啓所需 之新的記憶頁。 當進行記憶體的存取時’其位址與資料表之資料比對 後’其結果爲區塊未命中(bank-mi s s)的情況時,則必須 由資料表中找一個儲存單元來存放最近使用過的資料,在 此情形下,可分成兩種情況來討論,分別配合圖式敘述如 下。 請參照第8C圖所繪示,其爲區塊未命中之存取情形’ 並且在資料表中仍有未使用的儲存單元。由比對電路110 比對記憶體存取之位址,確定未命中任何一個儲存單冗之 資料’故信號ONPAG及BKHIT皆未變化,在週期T1之後’ 由信號PGCMP將信號閂鎖住,再選擇VLD値爲未設定的儲 存單元,依照前面所述之運作方式,必須選擇LRU値最大 的儲存單元,例如LRU値爲7之儲存單元,在此假設所選 本紙張尺度逋用中闼國家標準(CNS)A4規格(210 X 297公釐) -I-----------^--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 4160 抑 f1 . doc/0 02 A7 B7 Λ 經濟部智慧財產局貝工消費合作社印製 五、發明說明(K)) 擇到的是儲存單元A。然後,在週期T4之後,配合信號 PGUPD’將信號PAG„A& BNK_A之位址資料寫入儲存單元a, 同時由信號VLD_A設定其VLD値,再經過一個週期後,經 由信號LRU_A將其LRU値設爲0,同時亦將其他有關之儲 存單元之LRU値更新,即將小於7之LRU値皆加一。 請參照第8D圖所繪示’其爲區塊未命中之存取情形, 並且資料表中之儲存單元皆已存放資料。在此情形時,必 須由資料表中找出最久未使用(Least Recently Used,簡 稱LRU)之儲存單元來存放新的資料,例如LRU値爲7之儲 存單元。如圖所示,由比對電路110比對記憶體存取之位 址,確定未命中任何一個儲存單元之資料,故信號ONPAG 及BKHIT皆未變化,在週期T1之後,由信號PGCMP將信 號閂鎖住,並且找出LRU値最大之儲存單元,例如LRU値 爲7之儲存單元,假設所選擇到的儲存單元A。在以新的 値取代所選擇到之儲存單元之原有之資料前,必須先根據 原來的記憶區塊資料對SDRAM做預充電(precharge)之動 作,用以關閉原先之記憶區塊及副區塊(sub-bank)。這可 以使用掃描正反器(Hip flop)來達成,在信號PGCMP出 現時之時脈信號之上昇緣時,即週期T7之上昇緣,將所 選擇到之儲存單元之原來之資料閂鎖住,以產生信號LPGBK 及LPGSB之記憶區塊及次區塊之預充電命令。然後,在週 期T6之後,配合信號PGUPD,將信號PAG_A& BNK_A送出 之資料寫入資料表中所選擇到的儲存單元。並且在週期T8 之後,更新相關之LRU値,即將所選擇到之儲存單元之LRU 値設爲0,並且將其他所有儲存單元之LRU値加一。 泰纸張尺度適用中國固家標準(CNS)A4規格(210 X 297公釐) ------------1 i!li1Til!---,^ {請先閱讀背面之注意事項再填寫本頁) nmi doc/0 0 2 nmi doc/0 0 2 經濟部智慧財產局員工消費合作社印製 A7: Β7ί 五、發明說明(β) 對於以上所提到之信號LPGBK及LPGSB,假設系統中 具有八個記憶區塊,則以八位元寬的信號LPGBK[0:7]來表 示’其中每一位元對應至一個記憶區塊,且信號lpgbk[o] 代表系統之第一個記億區塊。並且,假設每一個記憶區塊 中具有四個次區塊,則以兩個位元的信號LPGSB[ 1:0]來表 示。當使用VC-SDRAM時,假如所選到之儲存單元已有資 料’亦需產生復原(restore)資訊(RXPAG[27:11], RXSEG[1:0])以供復原週期(rest〇re cycle)。 因爲在電腦系統中可能同時使用不同型式之記憶體, 因此必須考慮配合不同的記憶體之控制方式,在控制方式 上予以配合。例如在電腦系統中同時使用EDO/FP DRAM及 SDRAM時,EDO/FP DRAM的8位元寬的信號CAS#[7:0]是與 SDRMAM —起使用的。另外在執行DRAM更新(refresh)之 前,所有的記憶區塊必須在閒怠(idle)狀態,即經過預充 電。頁更新信號PGFLH即是用來將確認位元設爲無效(即 將對應之VLD値設爲0),用以做爲記憶體更新週期及由 EDO/FP DRAM切換至SDRAM時之用。接下來將配合時序圖 討論由EDO/FP DRAM切換至SDRAM之情形。 請參照第9A圖,其所繪示爲區塊未命中而且要由 EDO/FP DRAM切換至SDRAM時之存取情形。如圖所示,假 設前一次存取是存取EDO/FP DRAM的資料,在週期Π時, 根據前一次的存取,配合信號PGUPD,將信號PAG_A& BNK_A 之位址資料存入儲存單元A,並且在週期T3 ’經信號LRU_A 將其LRU値設爲0,信號VLD_A則保持爲設定。接著,在 週期T4出現之信號PGCMP,爲對SDRAM之存取’經比對電 本纸張尺度適用中囤國家標準(CNS)A4規格(2】0 X 297公釐) ------------- 裝--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 41fi〇ta2i .doc/002
經濟部智慧財產局員工消费合作社印製 五、發明說明(/今) 路110比對之後,確定未命中任何一個儲存單元之資料, 因爲EDO/FP DRAM之不使用時,不能保持開啓之記憶頁, 因此仍用儲存單元A來存放此次存取之資料。在週期T5 之後,信號PGFLH變爲高電位,之後在週期T6時使信號 VLD_A變爲低電位,用來關閉EDO/FP DRAM,然後,在週 期T7,配合信號PGUPD,將信號PAG_A及BNK_A之SDRAM 之位址資訊存入儲存單元A,並且開啓所需之記憶頁,同 時在週期T8時將信號VLD_A恢復爲高電位,用以將其VLD 値設定爲有效,其LRU値則維持爲0。 請照第9B圖’其所繪不爲命中SDRAM之記億區塊而 且要由EDO/FPDRAM切換至SDRAM之存取情形。如圖所示, 假設前一次存取是存取EDO/FP DRAM的資料,在週期T1 時,根據前一次的存取,配合信號PGUPD,將信號PAG_A 及BNFLA之位址資料存入儲存單元A,並且在週期T3,經 信號LRU_A將其LRU値設爲0,同時信號LRU_B亦隨之變 化,例如將儲存單元B之LRU値加一,信號VLD_A則保持 爲設定。接著,在週期T3出現之信號PGCMP,爲對SDRAM 之存取,經比對電路110比對之後,確定其命中儲存單元 B之資料,因此在週期T5之後,直接更新相關之LRU値, 即由信號LRU_B將儲存單元B之LRU値設爲0,而比儲存 單元B之原來之LRU値小的LRU値則加一,例如,經由信 號LRU_A將儲存單元A之LRU値由0改變爲1。並且,在 週期T5之後,信號PGFLH變爲高電位,使信號VLD__A變 爲低電位,用以關閉EDO/FP DRAM。 至於在記憶體之更新週期,則與前面敘述之情況有所 (請先閱讀背面之注意事項再填寫本頁) τ_ 裝 -------訂-------!錄 本紙張尺度適用中S國家標準(CNS)A4規格(210x 297公釐) d〇c / 〇 〇 2 五、發明說明(W) 不同,必須將所有的儲存單元之VLD値設爲無效,因爲所 有的記憶區塊都必須進行預充電。在記憶體更新之後,則 按前面所敘述之原則運作。另外,當使用VC-SDRAM時, 因爲其使用自動預充電命令,故不需要更新其相關之儲存 資訊。 依照以上所敘述用以追蹤記憶體存取之記憶頁管理裝 置,具有下列之優點,經由追蹤記憶體主控電路之每一個 存取動作,不只可以增加頁命中率及資料可供記憶體主控 電路分享,並且可以預先判斷下一個管線式存取 (pipelined access)是否需要預充電,如此可在進行現行 的存取時,即先送預充電命令給另一個記憶區塊,用以預 先對另一個記憶區塊進行預充電,可以減少存取之延遲時 間。 雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何熟習此技藝者,在不脫離本發明之精神 和範圍內,當可作少許之更動與潤飾,因此本發明之保護 範圍當視後附之申請專利範圍所界定者爲準。 f請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工诮費合作杜印製 I度 一尺 張 ί NS) π I標 i(2 j格 規 97