TWI269971B - Method and apparatus for memory access scheduling to reduce memory access latency - Google Patents
Method and apparatus for memory access scheduling to reduce memory access latency Download PDFInfo
- Publication number
- TWI269971B TWI269971B TW091122151A TW91122151A TWI269971B TW I269971 B TWI269971 B TW I269971B TW 091122151 A TW091122151 A TW 091122151A TW 91122151 A TW91122151 A TW 91122151A TW I269971 B TWI269971 B TW I269971B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- page frame
- read request
- command
- access
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
1269971
發明背景 發明範疇 本發明關於記憶體控制器,而更特別的是—種用以減少 記憶體存取所需時間並改善頻寬的方法及裝置。 本發明相關技藝 近來的記憶體,如動態隨機存取記憶體①汉八撾衫皮用於整 個電腦工業。記憶體被组織成頁框。記憶體的各個頁框^ 含-些連續的記憶體位置。而記憶體元件,如dram,進 一步被組織成每一DRAM元件有少量的儲存體(例如,四個 儲存體)。此些元件各自的每一儲存體皆具有許多頁框。一 次僅可從—儲存體存取一單一的頁框。而從一儲存體内存 取一特疋頁框之前,必須使用一“啟動,,命令打開該頁框。 該啟動命令也如所熟悉的一“列,,命令。需要打開一頁框的 記憶體請求稱為-頁框空白存取請求1於已經打開的頁 框的記憶體請求’是所熟知的頁框命中存取請求。隨著預 充電命令可關閉頁框。 如果頁框P0是打開的,當接收一請求以存取頁框ρι的位 置時,碰巧被定位於同一記憶儲存體如p〇 ,因此打開頁框 Pi之前,必須先關閉頁框P0。例如,當打開所希望的頁框 P1之前必須關閉一頁框時,會發生頁框衝突。此狀態為熟 悉的頁框未命中存取。 頁框未命中的記憶體存取所需時間比頁框命中大得 多。可插入頁框命中與頁框空白存取不同的記憶儲存體, 以便維持可用的資料頻寬。然而,頁框未命中通常會導致 -5 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 1269971 A7 B7 五、發明説明(2 ) 可用資料頻寬的減少。因而,頁框未命中特別不利於dram 的性能。 同步DRAM雙資料傳輸率(SDRAM/DDR)記憶體技術具有 少量的DRAM儲存體。SDRAM/DDR記憶體為SDRAM類型, 在各時鐘週期的兩邊支援資料傳輸,加倍影響該記憶體晶 片的資料總處理量。由於SDRAM/DDR記憶體包含少量的記 憶儲存體,因頁框未命中與頁框空白,會導致性能瓶頸。 該性能瓶頸會導致增加記憶體所需時間及較低的頻寬,因 此,降低平台性能。於記憶體控制器中有一難題,即是否 保持頁框打開,直到在該頁框關閉點發生頁框衝突,或者 強制性地關閉此些頁框。然而,對於所有的工作負載,此 些技術中無一是理想的。 SDRAM/DDRJ己憶體提供一種稱為自動預充電的機械裝 置,一旦完成一記憶體請求,能夠用於自動預充電(關閉) 一記憶儲存體。於開發中的頁框關閉中,上述是有用的, 更適合於SDRAM/DDR記憶體元件。當具有自動預充電的政 策與發出顯式自動預充電命令的政策相比較,會發現一優 點,即排除顯式自動預充電命令的需要。上述能夠減少 DRAM命令匯流排可用的頻寬。因而,釋放命令匯流排槽 給其他的命令。然而,自動預充電政策不僅轉換所有的頁 框未命中存取成為頁框空白存取(即,減少所需時間),而 且該自動預充電政策也對所有的頁框命中存取執行上述, 因而,導致較長的存取所需時間,恰好再使用為了較早的 請求而打開的頁框。根據該存取流中出現的區域的量,會 -6 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 1269971 A7 B7
五、發明説明(4 圖3說月本發明包括具有一智慧型自動預充電程序的記 憶體控制器的實施例。 圖4說明顯式預充電命令與本發明具有一智慧塑自動預 充電程序的貫施例相比較的對照。 圖5說明本發明包括一頁框表的實施例。 圖6說明本發明具有一智慧型自動預充電程序的實施例 的區塊圖。 圖7說月本發明包括一具有頁框存取預測程序的記憶體 控制器的實施例 圖8A說明本發明具有頁框存取預測程序的實施例的區 塊圖。 圖8B說明本發明具有頁框存取預測程序的實施例的區 塊圖 塊圖。 圖8C說明本發明具有頁框存取預測程序的實施例的區 圖8D說明本發明具有平行處理 一微命令排程器的實施例的命令流 與一連續排程器的重疊排程器的對照。
實施例的區塊圖。 圖9說明本發明具有一 一頁框存取預測程序的 -8 - 1269971 A7 B7 五、發明説明(5 ) 圖11B說明本發明具有以命令排程為基礎的微作業的實 施例的區塊圖。 圖12說明本發明具有一機會寫入清除程序的實施例。 圖13A說明本發明具有機會寫入清除的實施例的區塊 圖13B說明本發明具有機會寫入清除的實施例的區塊 圖。 圖14說明本發明具有一預先計算查找表的實施例。 圖15說明本發明具有一頁框存取導向以區塊為主的排 程程序。 ~ 發明的詳述 本發明大體而言有關減少起因於記憶體控制排程與記 憶體存取所需時間的方法與裝置。參考此些圖示,現在將 描述本發明的示範實施例。該示範實施例係提供用以說明 本發明,但不應被視為限制本發明的範圍。 圖2說明本發明包括系統200的實施例。系統200包括中央 處理器(CPU)與快取210、記憶體控制器220、輸入/輸出 (1/0)230、主記憶體240及記憶體匯流排250。注意,CPU與 快取210及記憶體控制器220可常駐在同一晶片上。主記憶 體240可以為動態隨機存取記憶體(DRAM)、同步 DRAM(SDRAM)、SDRAM/雙倍資料傳輸率(SDRAM/DDR)、 Ram匯流排 DRAM(RDRAM) ’寺寺。於本發明的實施例 中,記憶體控制器220包括智慧型自動預充電程序215。 圖3說明本發明具有減少記憶體存取所需時間的排程裝 -9 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971
廷牙王序215的實施例相比較的對照 智慧型自動預充電程序215如何用 頁框未命中存取(轉換成頁框空白 的次數以改善性能。 。從品質上講,圖4說明 以典型的方法,藉由減少 ’以及所需時間的減少) 如所看到的,於時間線41 〇 ,笛_二主+、j , p丄 A 于门果41〇罘清求415存取儲存體〇, 頁框〇的位置(即’ B0’R0)。第二請求416存取儲存體i,頁 框〇的位置(即,B1,R0)。記憶體第三請求417存取儲存體〇, 頁框1的位置(即,B0,R1;與請求415的儲存體相同,但記 憶體頁框不同)。智慧型自動預充電42〇有類似的請求一 415、請求二416與請求三417。然而,智慧型自動預充電42〇 使用本發明具有智慧型自動預充電程序215的實施例。於顯 式預充電410與420中,在第一請求415之後,發生第一讀= 430。於顯式預充電41〇中,當發生讀取請求44〇,儲存體〇 需要一預充電的要求(即關閉儲存體〇)。反之,於智慧型自 動預充電420中,取消該預充電的要求。因而,與顯式預充 電410相比較,不需要所需時間就發生第三請求4η。 於本發明的實施例中,記憶體控制器22〇的智慧型自動預 充電程序215根據變動的系統負載,動態地決定預充電一記 憶體頁框’或不預充電一記憶體頁框。於本發明的該實施 例中,根據記憶體控制器220的請求佇列中,存在(或沒有) 的其他請求,判斷是否預充電關於一 CAS作業所發佈的存 取記憶體頁框。 於本發明的實施例中,根據下面的情況,決定是否預充 電一記憶體頁框。第一種情況為記憶體控制器220的請求佇 -11 - 本紙張尺度適用中國國家標準(CNS) Α4規格(210 X 297公釐) 1269971 A7 -------B7 五、發明説明(8 ) 列疋2的。換5 (,在現行的時間,記憶體控制器22〇沒有 任何其他的請求。於該情況中,該頁框仍然是打開的而 且取消與該CAS命令相關的自動預充電作業。 另一種情況為記憶體控制器22〇的請求佇列不是空的,然 而,對同-頁桓,該請求仵列不包含任何其他的請求。於 該情況中’不會取消該自動預充電作業,而且於完成該cas 作業時、,自動關閉該頁框。 進一步的情況為記憶體控制器22〇的請求佇列不是空 的’而且-後續的請求尋找同一頁框。於該情況中,該頁 框仍然是打開的’而且取消與該CAS命令相關的自動預充 電作業。 圖5說明本發明具有頁框表52〇、表項目525、讀取請求佇 列530、秦慧型自動預充電程序215與命令佇列的實施 例。於本發明的實施例中,各個表項目525包括槽#欄位 526,該槽#欄位526包含命令佇列34〇中的槽號碼。對於一 分頁記憶體,槽#攔位526係用於指向命令佇列34〇中的先前 攔位址信號(CAS)命令。一旦已初始化,槽#欄位兄6每一期 間減量一次,命令佇列340轉移該移位暫存器。槽#攔位526 的寬度比計數所有位於命令佇列34〇的槽所需要的位元數 寬一位元。一旦槽#攔位526超出運轉(例如,從〇〇〇〇到 1111),該減量停止。因而,該最重要的位元指出自己的槽 #攔位526是否有效。各個頁框表項目525也包括記憶體頁框 號碼529、有效位元528與關閉位元527。關閉位元527指示 該頁框在排程點是否關閉。於本發明的實施例中,命令佇 -12 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公袭)
裝 訂
1269971 A7 B7 五、發明説明(9 ) 列340有複數個項目,各個項目包含一命令、一位址與一自 動預充電控制位元的欄位。請注意,其他熟知的技術能夠 實行於本發明的其他實施例,不需偏離頁框表520的功能。 於本發明的實施例中,智慧型自動預充電程序215使用頁 框表項目525如下:如果發出一分頁記憶體的一存取命令, 而且該頁框沒有項目於該頁框表中,或者該頁框表指示該 頁框現在是關閉的,智慧型自動預充電程序215於命令佇列 340中排程一存儲體啟動(ACT)命令,而且接著於命令佇列 340中排程一 CAS命令。該CAS命令具有該自動預充電位元 暫時性的設定。智慧型自動預充電程序215更新頁框表項目 525指向被排程的CAS命令的槽。一但該CAS命令到達命令 佇列340的頂端,以該自動預充電位元的現行值,發出該 CAS命令。然而,如果於命令佇列340中,早先已存取該頁 框,而且沒有任何頁框衝突,智慧型自動預充電程序215 清除由該頁框表項目所指出的命令佇列340的槽的自動預 充電位元。為了現行的存取,智慧型自動預充電程序215 接著排程一 CAS命令,並且更新頁框表項目525指向排程該 CAS命令的命令佇列340的槽。然而,如果有頁框衝突,允 許由該自動預充電命令關閉該頁框,而且更新該頁框表指 示該頁框已關閉。當該頁框的後續存取到達,重複執行上 述。 圖6說明本發明具有智慧型自動預充電程序600的實施 例的區塊圖。當一記憶體對一頁框“P”的請求送達時,程序 600開始執行區塊605,判斷頁框“P”是否與該頁框表的任何 -13 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
裝 訂
線 1269971 A7 B7 五、發明説明(10 ) 其他打開的頁框“Q”相衝突,該頁框表具有同一排記憶體 的同一儲存體。如果區塊605判斷一頁框P與任何其他頁框 Q相衝突,則程序600繼續執行區塊606,設定頁框Q的關閉 位元。程序600從區塊606繼續執行區塊610。然而,如果區 塊605判斷該頁框P沒有與另一頁框Q相衝突,則程序600直 接繼續執行區塊610。區塊610在該頁框表中查找頁框P。程 序600接著繼續執行區塊615,判斷頁框P是否有項目存在, 而且是否已設定該有效位元。如果頁框P有項目存在,而 且已設定該有效位元,程序600繼續執行區塊617。 區塊617判斷頁框表中的框P是否打開。如果區塊617判斷 頁框表中的頁框P是打開的,則程序600繼續執行區塊619。 區塊619判斷槽#欄位526是否有效(注意,於本發明的一實 施例中,一有效狀態意指該最重要的位元為“〇”,對本發明 的其他實施例而言,此些位元設定的另一選擇,意指槽# 欄位526是有效的)。如果區塊619判斷槽#欄位526是有效 的,程序600繼續執行區塊665。如果區塊619判斷槽#攔位 526是無效的,程序600繼續執行區塊670。 如果區塊617判斷頁框表中的頁框P不是打開的,則程序 600繼續執行區塊620。區塊620將頁框P的ACT命令排入命 令佇列340。接著,區塊621將頁框P的CAS命令排入命令佇 列340。區塊622接著更新頁框表項目525中頁框P的槽#欄位 526,以包含排程該CAS命令的槽號碼。區塊623接著設定 命令佇列340中該CAS命令的自動預充電位元。區塊624接 著清除該關閉的位元。 -14 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971 A7 __B7 五、發明説明(11 ) 然而’如果在區塊610,於該頁框表中查找頁框p之後, 頁框P的項目沒有出現,則程序600繼續執行區塊630。區塊 630在頁框表520中配置一新的項目(例如,使用設定於槽# 襴位526中最重要的位元,回收利用最近最少使用的項 目),而且如果需要,取消配置一頁框。區塊635接著將頁 框P的頁框號碼設定於頁框號碼攔529 〇區塊640設定有效位 元528。區塊645接著清除關閉位元527。然後,區塊650設 定槽#欄位526中最重要的位元。程序6〇〇從區塊650繼續執 行區塊605。 區塊655由頁框P的頁框表項目525中的槽#攔位526所指 示,清除命令佇列340中該槽的自動預充電位元。區塊67〇 接著將頁框P的CAS命令排入命令佇列340。區塊675接著更 新頁框表項目525中頁框P的槽#攔位526,以包含排程該 CAS命令於命令佇列340的槽號碼。區塊676接著設定命令 仔列340中該CAS命令的自動預充電位元。程序6〇〇繼續執 行區塊605。 由於根據該請求佇列以保持頁框打開或頁框關閉,智慧 型自動預充電程序215適合用於工作負載與改善性能。然 而’幾乎沒有工作負載的類型能降低本發明具有智慧型自 動預充電程序215的實施例的性能。例如,一工作負載除了 在同一頁框的相繼請求間具有足夠大的間隔外,也具有高 度的局部性,因此等到該記憶體命令匯流排必須發出一請 求時,該頁框的下一請求尚未到達。因而,智慧型自動預 充電程序215會關閉該頁框,導致頁框空白取代頁框命中。
裝. 訂
-15 -
1269971 A7 -------- B7 五、發明説明(12 ) 為了克服工作負載類型對智慧型自動預充電程序215可 说降低的性能’本發明的實施例使用先前記憶體請求的資 訊,以預測近期内對同一頁框有一後續的請求,因此該頁 框保持打開。另一選擇,本發明的實施例判斷近期内對同 一頁框很可能沒有請求,因此關閉該頁框。 圖7說明本發明具有減少記憶體存取所需時間的排程裝 置’以及改善包括頁框存取預測程序71〇的頻寬的實施例。 本發明於圖7中所說明的實施例包括記憶體控制器22〇、頁 框存取預測程序71〇、頁框歷史表72〇與頁框表52〇。頁框表 520具有複數個頁框表項目525。各個頁框表項目78〇具有一 計時器欄位790。頁框歷史表72〇包括複數個頁框歷史項目 725。頁框歷史項目725具有覆蓋攔位726、現行存取期間的 衝突自由存取號碼727、最後存取期間的衝突自由存取號碼 728、正在使用位元729與記憶體頁框號碼欄位73〇。 頁框歷史表720包含之前所存取的頁框的資訊,以及存取 現行打開的頁框的資訊。最後在關閉該頁框之前,假設盡 可说保持該頁框是打開的,藉由對該頁框存取多少次的保 存軌跡來決定(概念上)該衝突自由存取的號碼。在衝突之 後的該第一時間打開一頁框,開始計算該基準,而且計數 存取同一頁框的次數,直到因衝突而關閉該頁框覆蓋欄位 726,其為已存取的總頁框的分數。於本發明的實施例中, 使用一位元因子實行覆蓋欄位726,其中各個位元指示是否 已存取一具有該頁框的特定快取線。 於本發明的實施例中,頁框歷史表720中該最後存取一頁 -16 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公羡) 1269971 A7 ------ B7 五、發明説明(13 ) 框(最後存取期間的衝突自由存取號碼728)的歷史資訊係 用於預測,於下一存取期間,何時可關閉該頁框。如果該 歷史資訊是不可用的(因該頁框不是之前存取的,或是很久 以前存取的’且自己的資訊已被逐出該頁框歷史表),接著 早先存取該頁框的歷史資訊係用於預測何時關閉該頁框。 圖8說明本發明具有頁框存取預測程序8〇0的區塊圖。頁 框存取預測程序800開始於區塊8〇5,由記憶體控制器22〇接 收頁框P的請求。區塊810判斷是否可在頁框歷史表720中能 找到所要求的頁框“P”的匹配。如果無法找到頁框p的匹 配,程序800繼續執行區塊82〇。區塊820取消配置頁框歷史 表720中最久的項目。接著,區塊821使用頁框歷史表72〇中 已取消配置的項目,以配置現行請求的頁框號碼的資訊。 區塊822初始化最後存取期間的衝突自由存取#728成為頁 框歷史表720中最新項目的現行存取期間的衝突自由存取 #727。區塊823將現行存取期間的衝突自由存取#727設定為 0。區塊824將覆蓋726設定為〇。區塊825設定頁框正在使用 位元729。 如果於頁框歷史表720中可找到合頁框p的匹配,程序8〇〇 繼續執行區塊811 ^區塊811擷取最後存取期間的衝突自由 存取#728與現行存取期間的衝突自由存取#727。區塊815判 斷頁框P疋否已經標TF為正在使用。如果該頁框已辦授示 為正在使用’則程序800繼續執行區塊816,以掏取該覆業。 如果該頁框尚未標示為正在使用,則程序8〇〇繼續執行如前 面所描述的區塊824。 -17 - 本紙張尺度適用中國國家標準(CNS) Α4規格(210X 297公釐) 1269971
完成區塊825之後,程序800繼續執行區塊83〇,判斷現行 ^斤要求的頁框的排程對同一儲存體與同一排的另一頁框 “Q”是否會產生衝突。如果判斷與另一頁框“Q”相衝突,接 著區塊831關閉頁框Q。更新頁框卩相關的頁框歷史項目725 如下。於區塊832中,將最後存取期間的衝突自由存取#728 設定為現行存取期間的衝突自由存取#727。區塊833接著將 頁框Q的現行存取期間的衝突自由存取#設定為〇。區塊 834接著將頁框p的現行存取期間的衝突自由存取#設定為 〇。區塊83 5接著清除正在使用位元729。 如果沒有衝突存在,或者完成區塊835之後,程序8〇〇繼 續執行區塊836。於區塊836中,排程對頁框P的請求。於區 塊840中,判斷頁框P的最後存取期間的衝突自由存取#728 是否大於頁框p的現行存取期間的衝突自由存取#727。如果 判斷最後存取期間的衝突自由存取#728不大於現行存取期 間的衝突自由存取#727,則於區塊847關閉頁框p。 如果區塊840判斷最後存取期間的衝突自由存取#728大 於現行存取期間的衝突自由存取#727,則程序800繼續執行 區塊845。區塊845判斷覆蓋是否小於1〇〇%。如果覆蓋不小 於1〇〇%,則程序800由區塊847繼續執行,並將頁框p關閉。 如果覆蓋小於100%。則程序800繼續執行區塊846,將頁框P 保持打開。 程序800繼續執行區塊850,增加現行存取期間的衝突自 由存取#727。區塊851接著更新覆蓋欄位726。區塊855判斷 該頁框是否因衝突而被關閉。如果該頁框未因衝突而被關 -18 - 本紙張尺度逋用中國國家標準(CNS) A4規格(210X297公釐)
裝 訂
1269971
閉、,則區塊856清除正在使用位元729。如果該頁框因衝突 而被關閉,則程序800繼續執行區塊8〇5。
圖8D說明子程序89〇。於本發明的實施例中,子程序 與f序800平行運轉。程序89〇開始於區塊86〇。區塊86〇判 斷是否打開該頁框。如果已打開該頁框,則區塊重設頁 框表項目780中的計時器欄位79〇。如果區塊86〇判斷未打開 該頁框,則區塊870判斷該頁框是否打開比該最後存取的預 定時間長。如果區塊870判斷該頁框已經打開比該最後存取 的預足時間長,區塊871接著關閉該頁框。 裝 接著區塊872設定最後存取期間的衝突自由存取#728成 為現行存取期間的衝突自由存取#727。區塊873接著設定現 行存取期間的衝突自由存取#727為〇。區塊874清除正在使 用位兀729。程序890接著轉回區塊860。區塊865完成之後, 程序890繼續執行區塊86〇。 訂
於一實施例中,智慧型自動預充電程序215與記憶體控制 器220的頁框存取預測程序710相結合。然而,請注意,頁 框存取預測程序710或智慧型自動預充電程序215與現狀記 憶體排程器耦合,以改善執行一頁框是否打開的決定。另 外也請注意,頁框存取預測程序710也能夠利用有關未來請 求可用於電腦系統中的其他資訊,例如處理器或晶片組預 收件器與記憶體請求進行通信,也可用於改善保持一頁框 打開的決定,或者關閉該頁框以改善記憶體控制器22〇的性 能,還是改善來自該處理器的通信資訊。 於本發明的實施例中,排程意指減少記憶體存取所需時 -19 -
1269971 A7 __________B7__ 五、發明説明(16 ) 間’並且改善包括一微命令的排程器程序的頻寬。於本發 明的實施例中,該排程器包括具有智慧型自動預充電程序 215與頁框存取預測程序710的記憶體控制器220,同樣的已 修改的排程,將各個記憶體命令當作一獨立的可排程項 目。於本發明的實施例中,對於該現行的記憶體請求,允 許後續記憶體請求的記憶體命令插入此些記憶體命令間的 閒置槽。因而,連續不斷的記憶體請求的記憶體命令變成 重疊,使記憶體命令匯流排的頻寬得到最佳利用。 圖9說明本發明具有一微命令排程器的實施例,與一重 宜排程器及一連續排程器的比較。重疊記憶體命令排程以 處理命令集為基礎,為了該現行記憶體請求,必須被產生 如一嚴密的實體,一記憶體排程器試圖覆蓋在此些記憶體 命令已存在的排程的最上面。 然而’對於成功地完成所有的案例,該方法太沒有彈 性’而記憶體計時限制的確信價值與該連續的方法相比 較’無法顯示任何的好處。由時間線920示範於圖9。該時 間線920說明具有叢發長度為8位元的重疊排程器,該排程 器無法改善性能。 參考圖9,該第一動作(Actl)係對該儲存體B〇與列r〇進行 清求。该第二請求(Act2 960)係對不同於Actl的儲存體B 1 進行請求。從該特定的命令序列,能夠瞭解圖9 ,具有一叢 發長度為8位元的重疊排程器(由時間線92〇標示)與一連績 排程器(由時間線940標示),顯示本發明實施例的時間線9 j 〇 的改進。於本發明的實施例中,微命令排程能夠被應用於 -20 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公爱) 1269971
簡單的排程器(即連續的)與一重疊排程器,以改善性能。 圖10說明本發明具有使用重疊命令排程器的微命令排 程器的實施例,與一簡單排程器的對照。圖10的對照顯示 對不同儲存體有兩請求(Act 1與Act2),時間線1010說明本發 明具有以重疊排程器的記憶體命令排程為基礎的微作業的 實施例。時間線1020說明一簡單排程器的基本記憶體命令 排程。於本發明的實施例中,以記憶體命令排程為基礎的 微作業’插入一獨立請求的所有可能記憶體命令,確保僅 涉及最少的計時限制。 然而’不排除放寬(延長)若干計時限制(預充電啟動延遲 tRP與RAS-CAS延遲tRCD)的優點。由於允許延長此些限 制’本發明具有以命令排程為基礎的微作業的實施例,由 於連續的記憶體存取,會重疊的可能性更高,因此除了已 揭露的記憶體存取外,隱瞒若干的延長。 圖11說明本發明具有以命令排程為基礎的微作業的實施 例的區塊圖。程序11〇〇開始於區塊1110,於記憶體控制器 220從請求佇列530選擇下一個請求,並判斷該請求一系列 的記憶體命令必須被依序發出。區塊1120判斷該系列的記 憶體命令。區塊1120判斷該系列的記憶體命令可能為下列 之一:頁框衝突:預充電,啟動CAS ;頁框空白:啟動, CAS ;頁框命中:CAS。 如果區塊1120根據一表查找,判斷會產生一頁框衝突, 接著程序1100繼續執行區塊1125 ^於區塊1125中,該現行 頁框的最後命令受下面的限制管制之後,具有本發明實施 -21 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971
例的記憶體排程器試圖將該作業排入該第一可用的命令 槽。區塊1130判斷在所選擇的位置中插入預充電命令,是 否會妨礙或使假設用於放置前請求的記憶體命令的頁框表 播效。如果區塊1130判斷在所選擇的位置中插入預充電命 令不會妨礙或使假設的頁框表無效,則程序丨1〇〇繼續執行 區塊1135。否則程序11〇〇繼續回到區塊1125,以尋找下一 可用的命令槽。 如果區塊1130判斷在所選擇的位置中插入預充電命令, 不會妨礙或使假設用於放置前請求的記憶體命令的頁框表 無效,則程序1100繼續執行區塊U35。區塊1135判斷是否 涉及前面命令的計時限制。如果不涉及前面命令的計時限 制,則程序1100繼續回到區塊1125。 如果已經涉及前面命令的計時限制,則程序11〇〇繼續執 行區塊1136,將一預充電命令插入第一可用槽,接著,程 序1100繼續執行區塊1142。 如果區塊1120從該頁框表判斷請求尋找的頁框是空白 的,程序1100繼續執行區塊1142。為了插入一啟動命令, 區塊1142選擇該第一(下一)可用的命令槽。區塊1143判斷在 所選擇的位置插入一啟動命令,是否會妨礙或使假設用於 放置前請求的記憶體命令的頁框表無效。 如果區塊1143判斷啟動命令的插入,會妨礙或使假設用 於前請求的頁框表無效,則程序1100繼續執行區塊1142。 如果區塊1143判斷啟動命令的插入,不會妨礙或使假設用 於前請求的頁框表無效,則程序1100繼續執行區塊1144。 -22 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)
裝 訂
1269971 五、發明説明(19 區塊1144判斷是否已涉及前面命令的計時限制、CAS命 令與資料傳輸。如果涉及前面命令的計時限制,程序11⑼ 繼續執行區塊1145。區塊1145插入該啟動命令。程序丨1〇〇 繼續執行區塊II46,以插入一 CAS命令。 如果區塊1120根據記憶體頁框表尋求,判斷一頁框命中 被排序,程序11〇〇繼續執行區塊1153。關於該CAS作業(讀/ 窝程式),在前面所請求的CAS作業之後,允許將該命令插 在一命令佇列的最早位置上。如果對一請求產生一啟動命 令’必須涉及有關該啟動命令的時間限制。 區塊1153在前面所請求的CAS作業之後,允許將該cAS 命令插入該命令佇列的最早位置(關於計時限制)。程序 11 〇〇接著繼續執行區塊1110。 於本發明的實施例中,減少記憶體存取所需的時間,並 且改善包括一機會寫入清除政策頻寬的排程裝置。於本發 明的實施例中,記憶體控制器220允許機會寫入清除具有^ 入先佔、窝入區段外週期與非先入先出(FIF0)窝入的選擇 動作。該實施例考慮到寫入清除序列的機會啟動、一旦新 的讀取請求到達,先佔一窝入清除序列、寫入先佔發生後, 窝入區段外週期最小化轉回循環、以及為了最小化 社 求的記憶體資源消耗量,選擇非先入先出寫入選擇‘。" 圖12說明本發明具有寫入緩衝器32〇、非FiF〇寫入選擇 1210機曰寫入π除1235、寫入區段外程序12〇5與寫入先 佔程序1225。於圖12中,該範例顯示為項目125〇,顯示左 側大部分在連續窝入的最前面的兩個窝入之後,一讀取請 -23 - 本紙張尺度適财0 Η家標準(CNS;!4規格&腦297公 1269971 A7 ___;___ B7 五、發明説明(20 ) 求到達。該謂取請求迅速地先佔有該寫入清除序列。先佔 的讀取到達之後,制定一寫入區段外週期,以防止經常讀/ 取轉回。 圖13A-B說明本發明具有機會寫入清除的實施例的區塊 圖。程序1300開始於區塊13 1 〇,選擇寫入緩衝器的定限。 相依完成所選擇的定限。區塊1320判斷是否有讀取請求存 在於請求佇列530。如果區塊132〇判斷沒有讀取請求存在於 請求彳宁列530’則程序1300繼續執行區塊1330。區塊1330判 斷寫入緩衝器320的内容是否超過於區塊bio中所選擇的 定限。如果區塊13 3 0判斷該寫入緩衝器的内容大於所選擇 的定限,則允許開始執行機會寫入清除。 區塊1335啟動該窝入清除序列。根據一寫入清除序列的 啟動,記憶體控制器220從窝入緩衝器320選擇一寫入請求 如下。區塊1340判斷一寫入請求是否以已經打開的記憶體 頁框為目標。如果區塊1340發現預定的請求為一已經打開 的兄憶體頁框’則區塊13 41指定第一優先權給該請求。如 果區塊1340發現預定的請求不是一已經打開的記憶體頁 框,或區塊1341已完成,則程序13〇〇繼續執行區塊1345。 區塊1345判斷一寫入請求是否以閒置的記憶儲存體為目 標(以避免與已經打開的頁框衝突)^如果區塊1345判斷發 現一寫入請求以閒置的記憶儲存體為目標,則區塊1346指 足第一優先權給此些請求。程序1300繼續執行區塊1350 , 判斷是否沒有發現第一優先權或第二優先權的請求。如果 區塊1350判斷沒有發現第一優先權或第二優先權的請求, -24 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971
A B 接著區塊1351選擇該寫入緩衝器中最久的寫入請求。 如果區塊1350判斷有發現第一優先權或第二優先權的請 求’或者區塊1351已完成,接著區塊1352以優先順序清除 此些寫入請求,如果存在一優先權,或者假設沒有發現第 一或第二優先權的請求,則清除於區塊135丨所選擇的寫入 清求。除非一新的讀取請求到達讀取請求彳宁列53〇,或者未 超過區塊1310所選擇的定限,程序1300接著繼續執行區塊 1320,並且重複一連串的步驟。 如果一新的讀取請求到達讀取請求佇列530,而記憶體控 制器220正處於一寫入清除序列中,記憶體控制器220立刻 停止清除新的寫入請求,並且執行如下。區塊132〇判斷一 新的讀取請求出現在請求佇列530中,程序1300接著繼續執 行區塊1360。區塊1360停止該寫入清除序列。程序13〇〇接 著繼績執行區塊13 7 0 ’其中服務最近接收的讀取請求。完 成區塊1370之後’區塊1380執行一寫入區段外週期。於該 寫入區段外週期,記憶體控制器220可服務另外的讀取請 求,但無法開始一新的寫入清除序列。該寫入區段外週期 是為了防止經常在讀與寫之間替換而設的。 若干的折衷與準確的設定該區段外週期的歷時相關。如 果該區段外週期歷時被設定的太高,由於無能力對記憶體 清除寫入請求,而降低性能。如果該區段外週期歷時被設 定的太低,會發生讀取與寫入之間的迅速替換,因而導致 增加轉回並降低性能。區塊1390判斷是否已接收一新的讀 取請求,而且程序1300是否仍然處於該區段外週期。如果 -25 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971 A7 _____ _ B7 五、發明説明(22 ) 區塊1390判斷已經接收一新的讀取請求,而且程序13〇〇仍 然處於該區段外週期,程序1300繼續執行區塊136〇。然而, 如果區塊1390判斷已接收一新的讀取請求,而且程序13〇〇 不再處於該區段外週期,則程序1300繼續執行區塊132〇。 於本發明的實施例中,排程構件用以減少記憶體存取所 需的時間’以及改善包括頁框存取導向此些讀取請求以區 段為主的排程的頻寬。於本發明的實施例中,記憶體控制 姦220使用頁框存取導向以區段為主的讀取請求的排程。於 本發明的實施例中,每當記憶體控制器220已準備發出一新 的請求給記憶體,代替在請求佇列53〇的前端選擇該請求, 檢查在請求佇列530前端的一區段請求。計算該區段中各請 求的頁框存取特徵之後,記憶體控制器22〇使用所計算的特 徵作為索引,進入預先計算查找表中,用於決定最先發出 所選擇區段内的某特定請求。 圖14說明本發明具有預先計算查找表141〇的實施例。由 於決定該區段的各個請求的頁框存取特徵(頁框命中,頁框 空白、頁框未命中)為一個別的值,所以由散列定址法製作 表索引。接著將該值作為進入預先計算查找表141〇的索引。 由於使用頁框存取導向以區段為主的讀取請求的排 私’能夠避免由於過度的頁框衝突,而產生的非最佳頁框 存取序列。因而,減少存取一新頁框之前,先關閉一已經 打開的頁框需要更多的時間。 圖15說月本發明具有頁框存取導向以區段為主的讀取 清求的排程的程序1500的實施例的區塊圖。程序15〇〇總是 -26 - 本紙張尺度適用中國國冢標準(CNS) 1269971 A7 B7 五、發明説明(23~) ―, " 執行於記憶體控制器:220已準備發出一新妁讀取請求。區塊 1510選擇區段大小為N。於實施例中,區段大小以是二 或三。然而,請注意,該區段大小Ν可以為任彳可合適的大 小。於區塊152〇,選擇一讀取保持定限。 區塊1530判斷一讀取請求存在請求彳宁列530是否比該選 擇的定限久’如果區塊1530判斷一讀取請求存在請求彳宁列 530中比該選擇的定限久,程序1500繼續執行區塊1533。區 塊1533發出該讀取請求到記憶體。完成區塊1533之後,程 序1500繼續執行區塊1560。如果區塊1530判斷一讀取請求 存在請求佇列530中沒有比該選擇的定限久,程序丨5〇〇繼續 執行區塊1535。 區塊1535從請求佇列530的前面選擇N請求的區段(於區 塊1510選擇)。區塊1536使用現行的記憶體頁框表狀態,以 計算該請求是否會有頁框衝突、頁框空白或頁框命中存 取。由於區塊1536係用於區塊1537。區塊1537根據區塊1536 所判斷的資訊建立一預先計算查找表。於區塊15 3 7建立的 預先計算查找表1410,對於區塊1536中聚集的頁框表查找 計算的每一可能值有一,目。各個項目的值規定現行區段 中的此些請求的某個應先發出給記憶體。 區塊1540判斷所選擇區段N的最後請求在區塊1536是否 已起作用。如果1540判斷所選擇區段N的最後請求在區塊 1536尚未起作用,程序1500繼續執行區塊1536。如果區塊 1540判斷區塊1536已使用所選擇區段N的最後請求計算一 請求的狀態,程序1500繼續執行區塊1550。區塊1550將區 塊1536所計算的結果組合成一聚合值。 -27 - 本纸張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971 A7 ____ B7 五、發明説明(24 ) " 一 於本發明的實施例中,使用一散列函數合併區塊Μ%所 產生的個別頁框查找的組合。於本發明的實施例中,區塊 1550組合區塊1536使用優先解碼的計算結果。請注意該 技藝的其他技術也可用於組合個別的頁框查找結果f 人 私序1500繼續執行區塊1560。區塊1550中所建立的值, 係用作預先計算查找表141〇的索引。程序15〇〇繼續執行區 塊1565,其中區塊1560的索引係用於決定所選擇的請求之 一被發出到記憶體。程序1500繼續執行區塊157〇,其中區 塊1565所決定的請求被發出。區塊1575保留nj個未使用的 請求在請求佇列530的前面。 上述的貫施例也能夠被儲存在一裝置或機器可讀媒 體,而且由一機器讀取來執行此些指令。該機器可讀媒體 包括任何機械裝置,由機器(例如電腦)提供(即儲存和/或傳 輸)可讀取形式的資訊。例如,一機器可讀媒體包括唯讀記 憶體(ROM);隨機存取記憶體(ram);磁碟儲存媒體;光學 儲存媒體;快閃記憶體裝置;電子,光學,音響或其他傳 播信號的形式(例如,載波、紅外線波、數位信號等等)。 該裝置或機器可讀媒體可包括一固態記憶體裝置和/或一 旋轉的磁性或光碟。當部分指令已經分到不同的機器時, 可分散該元件或機器可讀媒體,例如遍及電腦的互連。 儘管已描述某些示範的實施例,並且顯示附加的圖示, 應瞭解此些實施例僅用於說明,但不限制本廣泛的發明, 而且本發明不受限於所顯示的該特定的架構與配置的描 述’因此對熟悉此項技藝之人士而言,會發生各種其他的 修改。 -28 - 張尺度適财S @轉準(CNS) A4規格(210X297公釐)
Claims (1)
- f!. Ι269$Ί)1ΐ122151號專利申請案 中文申請專利範圍替換本(93年6月) 申請專利範圍 1 · 一種裝置,包括: 、屺L制器,具有用以減少記憶體存取所需時 間並提高頻寬的排程構件; 一耦合該記憶體控制器的讀取請求佇列; 一耦合該記憶體控制器的命令佇列;以及 一搞合孩疋憶體控制器的記憶體頁框表,該頁框表 具有複數個頁框表項目,該複數個頁框表項目具有一 結構1以儲存一記憶體頁框號碼、一記憶體頁框有效 的狀態、一記憶體頁框關閉狀態、以及一指向該命令 佇列的一移位暫存器的槽的索引。 2.如申請專利範圍第!項之裝置,其中該排程構件用以減 少記憶體存取所需時間,並改善包括一智慧型自動預 充電程序的頻寬。 3 ·如申請專利範圍第1項之裝置,進一步包括: 一耦合該記憶體控制器的記憶體頁框歷史表,該記 憶體頁框歷史表具有複數個頁框歷史表項目。 4·如申請專利範圍第3項之裝置,該複數個頁框歷史表項 目具有一結構,以儲存一記憶體頁框號碼、一正在使 用狀態、一些第一無衝突存取、一些第二無衝突存取、 以及一覆蓋。 5·如申請專利範圍第1項之裝置,其中該排程構件用以減 少記憶體存取所需時間,並改善包括一頁框存取預測 程序的頻寬。 6.如申請專利範圍第1項之裝置,其中該排程構件用以減 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971 、申請專利範圍 A8 B8 C8 D8 少记憶體所需時間,並改善包括一微命令排程程序的 頻寬。 7·如申請專利範圍第丨項之裝置,其中該排程構件用以減 少包括一機會寫入清除政策的記憶體所需時間,該機 會寫入清除政策具有寫入清除序列的機會啟動、根據 接獲的新讀取請求先佔寫入清除序列、寫入區段外週 期、以及非先進先出(FIF〇)的寫入選擇。 8·如申請專利範圍第3項之裝置,進一步包括: 一摘合該記憶體控制器的預先計算查找表。 9·如申請專利範圍第8項之裝置,其中該排程構件用以減 少包括一頁框存取導向以區段為主的讀取請求排程程 序的記憶體所需時間。 10· —種裝置,包括: 一記憶體控制器; 一隸合該記憶體控制器的讀取請求佇列; 一耦合該記憶體控制器的命令佇列; 一輕合該記憶體控制器的記憶體頁框表,該頁框表 具有複數個頁框表項目; 一隸合該記憶體控制器的記憶體頁框歷史表,該記 憶體歷史表具有複數個頁枢歷史表項目,該複數個頁 框表項目具有一結構,以儲存一記憶體頁框號碼、一 記憶體頁框有效的狀態、一記憶體頁框關閉狀態、以 及一指向該命令佇列的一移位暫存器的槽的索引;以 及 -2- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 1269971 A8 Β8 C8 二---—— --D8 A、申請專利範圍 一耦合該記憶體控制器的預先計算查找表;其中該 记fe體控制器包括一減少記憶體存取所需時間的記憶 體排程的程序。 U·如申請專利範圍第10項之裝置,其中該排程的程序包 括一智慧型自動預充電程序。 12.如申請專利範圍第1〇項之裝置,其中該排程的程序包 括一頁框存取預測程序。 以如申請專利範圍第10項之裝置,其中該排程的程序包 括一微命令排程的程序。 14.如申請專利範圍第1〇項之裝置,其中該排程的程序包 括一機會窝入清除政策,該機會窝入清除政策具有寫 入清除序列的機會啟動、根據接獲的新讀取請求先佔 寫入清除序列、窝入區段外週期與非先進先出(FIF0) 的寫入選擇。 15·如申請專利範圍第10項之裝置,其中該排程的程序包 括一頁框存取導向以區段為主的讀取請求排程的程 序。 16· —種系統,包括: 一處理器; 一耦合該處理器的記憶體控制器; 一耦合該記憶體控制器的匯流排; 一编合該匯流排與該記憶體控制器的記情㈣· 用以減少記憶體存取所需時間的排程構件& 一耦合該記憶體控制器的讀取請求件列· -3 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) A8 B8 C81269971 搞合違冗憶體控制器的命令彳宁列;以及 一耦合該記憶體控制器的記憶體頁框表,該頁框表 具有複數個頁框表項目,該複數個頁框表項目具有一 結構,以儲存一記憶體頁框號碼、一記憶體頁框有效 的狀態、一記憶體頁框關閉狀態、以及一指向該命令 佇列的一移位暫存器的槽的索引。 V 17·如申請專利範圍第16項之系統,其中該排程構件用以 減少包括一智慧型自動預充電程序的記憶體存取 時間。 而 18. 如申請專利範圍第17項之系統,進一步包括: 一耦合孩記憶體控制器的記憶體頁框歷史表,該 憶體歷史表具有複數個頁框歷史表項目。 19. 如申請專利範圍第18項之系㉟,該複數個頁框歷史 項目具有-結構,以儲存一記憶體頁框號碼、一正 使用狀態、一些第一無衝突存取、一些第二 取、以及一覆蓋。 20·如申請專利範圍第16項之系統,其中該排程構件用 $f包括-頁框存取預測程序的記憶體存取所需 21·如申請專利範圍第16項之系统,其中該排程構件用 減少包括-微命令排程程序的記憶體的所需時間。 22·如申請專利範圍第16項之系絲,其中該排程構件用 減少包括一機會窝入清除政策的記憶體所需時間 機會寫入清除政策具有寫入清除序列的機會】::: -4- 本紙張尺度目®家鮮(CNS) A4規格(21Gx297^jy;----------裝 訂 A BCD 1269971 申請專利範圍 據接獲的新讀取請求先佔寫入清除序列、寫入區段外 週期與非先進先出(FIFO)的寫入選擇。 23·如申請專利範圍第1 8項之系統,進一步包括: 一耦合該記憶體控制器的預先計算查找表。 24. 如申請專利範圍第23項之系統,其中該排程構件用以 減少包括一頁框存取導向以區段為主的讀取請求排程 程序的記憶體所需時間。 25. —種系統,包括: 一處理器; 一耦合該處理器的記憶體控制器; 一耦合該記憶體控制器的匯流排; 一輕合該匯流排與該記憶體控制器的記憶體; 一1麵合该*己fe體控制為的謂取請求/[宁列; 一搞合該記憶體控制器的命令彳宁列; 一耦合該1己憶體控制器的記憶體頁框表,該頁框表 具有複數個頁框表項目; 一耦合該記憶體控制器的記憶體頁框歷史表,該記 憶體歷史表具有複數個頁框歷史表項目,該複數個頁 框表項目具有一結構,以儲存一記憶體頁框號碼、一 有效的狀態、一記憶體頁框關閉狀態、以及一指向該 命令佇列的一移位暫存器的槽的索引;以及 一搞合该记彳思體技制器的預先計算杏找表· 其中該記憶體控制器包括一記憶體排程程序,以減 少記憶體存取所需時間。 -5- 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 126997126. ,申請專利第25項之_,該複數個頁框歷史表 項目具有一記憶體頁框號碼欄位、一正在使用的狀態 襴位、一些第一無衝突存取襴位、一些第二無衝突存 取襴位與一覆蓋攔位。 27. 如申請專利範圍第25項之系統,其中該排程的程序包 括一智慧型自動預充電程序。 如申μ專利範圍第25項之系統,其中該排程的程序包 括一頁框存取預測程序。 29. 如申請專利範圍第25項之系統’其中該排程的程序包 括一微命令排程的程序。 30. 如申請專利範圍第25項之系統,其中該排程的程序包 括一機會寫入清除政策,該機會窝入清除政策具有寫 入清除序列的機會啟動、根據接獲的新讀取請求先佔 寫入清除序列、寫入區段外週期與非先進先出(fif〇) 的寫入選擇。 31. 如申請專利範圍第乃項之系統,其中該排程的程序包 捂一頁框存取導向以區段為主的讀取請求排程的程 序。 32·—種方法,包括: 決定排程至少一記憶體頁框的自動預充電與防止排 程至少一記憶體頁框的自動預充電之一; 為了一記憶體控制器的存取,預測何時保持至少一 記憶體頁框打開; 將複數個記憶體命令各自獨立地排程插入一記憶體 -6- 本紙張尺度適财8 S家鮮(CNS) A4規格(21GX297公董) 1269971 戠 C8 D8 六、申請專利範圍 命令流,而放寬複數個記憶體命令的計時限制; 執行機會記憶體寫入命令清除序列的啟動;以及 處理順序紊亂的頁框導向記憶體讀取請求。 33. 如申請專利範圍第32項之方法,決定排程至少一記憶 體頁框的自動預充電與防止排程至少一記憶體頁框的 自動預充電之一,包括: 判斷一第一記憶體頁框與一第二記憶體頁框是否衝 突; 判斷該第一記憶體頁框是否存在一項目,以及該第 一記憶體頁框是否有效; 如果該第一記憶體頁框的項目存在,而且該該第一 記憶體頁框是有效的,則排程記憶體命令並更新複數 個頁框表項目; 如果該第一記憶體頁框的項目不存在,而且該第一 記憶體頁框是無效的,判斷一第一命令是否存在該第 一記憶體頁框的第一佇列中; 如果該第一命令存在該第一記憶體頁框的第一佇列 中,則排程記憶體命令並更新複數個頁框表項目;以 及 設定一預充電狀態位元。 34. 如申請專利範圍第32項之方法,為了一記憶體控制器 的存取,預測何時保持至少一記憶體頁框打開,包括: 於一記憶體頁框歷史表中搜尋一第一記憶體頁框; 在該第一記憶體頁框的一第一週期與一第二週期, 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) A8 B8 C8 D8 1269971 專利範園 決定無衝突存取; 決定該第一記憶體頁框的覆蓋; 決足一第三週期,該第三週期為該記憶體控制器存 取已打開的該第一頁框的時間長度; 根據該覆蓋、該第一週期、該第二週期與該第三週 期’決定保留存取的該第一頁框打開,或者關閉該第 一頁框;以及 更新該頁框歷史表中的複數個項目。 35·如申請專利範圍第32項之方法,將複數個記憶體命令 各自獨立地排程插入該記憶體命令流,包括: 根據一 1己憶體請求命令仵列中的記憶體請求,決定 一系列的記憶體命令; 決定複數個記憶體命令的計時限制;以及 根據該複數個記憶體命令的計時限制及一頁框表的 狀態,決定該系列的記憶體命令的排程順序。 36·如申請專利範圍第32項之方法,執行機會記憶體寫入 命令清除,包括: 根據接收的記憶體讀取請求,先佔一寫入清除順序; 決定複數個寫入區段外週期;以及 為了減少;己fe體貝源的消耗量,以非先入先出(Fif〇) 的方法選擇複數個記憶體寫入命令。 37.如申請專利範圍第36項之方法,進一步包括: 選擇一寫入緩衝器的定限; 判fet疋否有一纪fe、體碩取請求存在一讀取請求彳宁列 -8- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971 A8 B8 C8 D8 六 、申請專利範園 中; 如果該憶體讀取請求存在該讀取請求佇列中,停止 一窝入清除序列; 如果該憶體讀取請求存在該讀取請求佇列中,實施 複數個寫入區段外週期之一; 如果寫入緩衝器的内容超過該定限,啟動一窝入清 除序列; 決定一第一記憶體讀取請求的優先權;以及 排程一寫入清除請求。 38·如申請專利範圍第32項之方法,處理順序紊亂的頁框 導向記憶體讀取請求包括: 、 選擇一區段的大小; 選擇一讀取保留的定限週期; 決定一讀取請求繼續存在一讀取請求佇列的週期· 如果该謂取請求繼續存在該讀取請求仵列中比兮钱 取保留的定限週期長,發出該讀取請求給一記情體項 根據該區段的大小,從該讀取請求佇列的前面選擇 一區段的讀取請求; 、 決定該區段讀取請求的狀態; 使用所決定的狀態,建立一預先計算的查找表. 將該區段謂取請求的狀態組成一值;以及 根據該值與該預先計算的查找表,決定^ 請求。 39· —種包括機器可讀取媒體的裝置,當由一機哭執"p -9 本紙張尺度適用中家標準(CNS) A4規格(210X297公釐) 1269971包含的指令時’使該機器執行的作業包括·· 決定排程至少-記憶體頁框的自動預充電愈防止排 程至少—記憶體頁框的自動預充電之一; 為了一記憶體控制器的存取,預測何時保少一 記憶體頁框打開; 八將複數個記憶體命令各自獨立地排程插入一記憶體 命令流,而放寬複數個記憶體命令計時限制; 執仃機會記憶體寫入命令清除序列的啟動;以及 處理順序紊亂的頁框導向記憶體讀取請求。 4〇·如:請專利範圍第39項之裝置,其中決定排程至少一 記憶體頁框的自動預充電與防止排程至少一記憶體的 自動預充電,進一步由一機器執行所包含指令時,使 該機器執行的作業包括: 判fet —第一記憶體頁框與一第二記憶體頁框是否衝 突; 判斷該第一記憶體頁框是否存在一項目,以及該第 一記憶體頁框是否有效; 如果該項目存在該第一記憶體頁框,而且該第一記 憶體頁框是有效的,則排程記憶體命令並更新此痤頁 框表項目; 如果該項目不存在該第一記憶體頁框,而且該第^ $己fe體頁框是無效的,判斷一第一命令是否存在該第 一記憶體頁框的第一佇列中; 如果該第一命令存在該第一頁框的第一佇列中,則 -10- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐)訂 1269971 έ88 C8 D8 六、申請專利範圍 排程記憶體命令並更新此些頁框表項目;以及 設定一預充電狀態位元。 41. 如申請專利範圍第39項之裝置,其中為了一記憶體控 制器的存取,預測何時保持至少一記憶體頁框打開, 進一步由一機器執行所包含的指令時,使該機器執行 的作業包括: 於一記憶體頁框歷史表中搜尋一第一記憶體頁框; 在該第一記憶體頁框的一第一週期與一第二週期, 決定衝突自由存取; 決定該第一記憶體頁框的覆蓋; 決定一第三週期,該第三週期為該記憶體控制器存 取已打開的該第一頁框的時間度; 根據該覆蓋、該第一週期、該第二週期與該第三週 期,決定保留存取的該第一頁框打開,或者關閉該第 一頁框;以及 更新該頁框歷史表中的複數個項目。 42. 如申請專利範圍第39項之裝置,其中將複數個記憶體 命令各自獨立地排程插入該記憶體命令流,進一步由 一機器執行所包含的指令時,使該機器執行的作業包 括: 根據一記憶體請求命令佇列中的記憶體請求,決定 一系列的記憶體命令; 決定複數個記憶體命令的計時限制;以及 根據該複數個記憶體命令的計時限制及此些頁框表 -11 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) A8 B8 C8 D81269971 六、申請專利範圍 W狀怨,決定該系列的記憶體命令的排程順 43·如申請專利範圍第39項之裝置,其中 她。、 冩^命令清除,進-步由-機器執行所包含二=體 使該機器執行的作業包括: ° 、曰V ’ 根據接收的一記憶體讀取請求,先佔一、 序; 一寫入清除順 決定複數個窝入區段外週期;以及 為了減少記憶體資源的消耗量,以非 的方法選擇此些記憶體寫入命令。 入先出(FIFO) 44.如申請專利範圍第43項之裝置,進一 所包含的指令時,使該機器執行的作業包括機詻執行 選擇一寫入緩衝器的定限; 中判斯是否有一記憶體讀取請求存在—讀取請求挣列 j該域n讀取請求存在該讀取請切 止一寫入清除序列; τ 如果該讀取請求存在該讀取請求佇列中,备、> 個寫入區段外週期之一; ⑤她複數 除=寫入緩衝器的内容超過該定限’啟動一寫入清 以及 順序紊亂的 器執行所包 決足弟一·己憶體讀取請求的優先權; 排程一窝入清除請求。 45.如申請專利範圍第39項之裝置,其中處理 頁框導向記憶體讀取請求,進一步由一機 -12- 1269971 韶 C8 D8 六、申請專利範圍 含的指令時,使該機器執行的作業包括: 選擇一區段的大小; 選擇一讀取保留的定限期間; 決定一讀取請求繼續存在一讀取請求佇列的期間; 如果該讀取請求繼續存在該讀取請求佇列中比該讀 取保留定限的期間長,發出該讀取請求給一記憶體; 根據該區段的大小,從該讀取請求仵列的前面選擇 一區段的讀取請求; 決定該區段讀取請求的狀態; 使用所決定的狀態,建立一預先計算的查找表; 將該區段讀取請求的狀態組成一值;以及 根據該值與該預先計算的查找表,決定發出一讀取 請求。 46. —種裝置,包括: 一記憶體控制器,具有用以減少記憶體存取所需時 間並提高頻寬的排程構件; 一耦合該記憶體控制器的讀取請求佇列; 一耦合該記憶體控制器的命令佇列;以及 一耦合該記憶體控制器的記憶體頁框表,該頁框表 具有複數個頁框表項目; 一耦合該記憶體控制器的記憶體頁框歷史表,該記 憶體頁框歷史表具有複數個頁框歷史表項目,該複數 個頁框歷史表項目具有一結構,以儲存一記憶體頁框 號碼、一正在使用狀態、一些第一無衝突存取、一些 -13- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) A8 Βδ C81269971 第二無衝突存取、以及_ 47. —種裝置,包括: 一記憶體控制器,具有 間並提高頻寬的排程構件 覆蓋。 用以減少記憶體存取所需時 其中該排程構件用以減少白姑 ... < v包括一機會寫入清除政策的 記ί思體所需時間’該機备宣λ、太 风曰罵入清除政策具有寫入清除 序列的機會啟動、根據拉猶^ 脉接獲的新讀取請求先佔寫入清 除序列、寫入區段外週期、α η a Λ 、月 以及非先進先出(FIFO)的 窝入選擇。 48·如申請專利範圍第47項之裝置,進一步包括·· 一搞合該記憶體控制器的記憶體頁框i史表,該記 憶體頁框歷史表具有複數個頁框歷史表項目。 49.如申請專利範圍第48項之裝置’該複數個頁框歷史表 項目具有-結構,以儲存一記憶體頁框號碼、一正在 使用狀態、-些第-無衝突存取 '一些第二無衝突存 取、以及一覆蓋。 50. —種裝置,包括: 一記憶體控制器; 一耦合該記憶體控制器的讀取請求彳宁列; 一耦合該記憶體控制器的命令件列; 一耦合m記憶體控制器的記憶體頁框表,該頁框表 具有複數個頁框表項目,該複數個頁框 且 結構,以儲存-記憶體頁框號碼、-正在使用狀^ 一些第一無衝突存取、一些第二無衝突存取、以及— -14- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 1269971 - C8 ____—___ D8 六、申請專利範園 覆蓋; 一耦合該記憶體控制器的記憶體頁框歷史表,該記 憶體歷史表具有複數個頁框歷史表項目;以及 一摘合該記憶體控制器的預先計算查找表; 其中該記憶體控制器包括一減少記憶體存取所需時間 的記憶體排程的程序。 51·如申請專利範圍第50項之裝置,其中該排程的程序包 括一智慧型自動預充電程序。 52·如申凊專利範圍第5〇項之裝置,其中該排程的程序包 括一頁框存取預測程序。 53·如申请專利範圍第5 〇項之裝置,其中該排程的程序包 括一微命令排程的程序。 54.如申請專利範圍第5〇項之裝置,進一步包括: 一 _合該記憶體控制器的讀取請求佇列; 一李禹合該記憶體控制器的命令彳宁列; 一輪合該記憶體控制器的記憶體頁框表,該頁框表 具有複數個頁框表項目; 一耦合該記憶體控制器的記憶體頁框歷史表,該記 fe m歷史表具有複數個頁框歷史表項目,該複數個頁 框表項目具有一結構,以儲存一記憶體頁框號碼、一 記憶體頁框有效的狀態、一記憶體頁框關閉狀態、以 及一指向該命令佇列的一移位暫存器的槽的索引;以 及 一耦合該記憶體控制器的預先計算查找表。 15- I紙張尺度適财®目家鮮(CNS) A4規格(21Gx 297公爱) " ---裝 η 着
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/966,957 US6785793B2 (en) | 2001-09-27 | 2001-09-27 | Method and apparatus for memory access scheduling to reduce memory access latency |
Publications (1)
Publication Number | Publication Date |
---|---|
TWI269971B true TWI269971B (en) | 2007-01-01 |
Family
ID=25512111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW091122151A TWI269971B (en) | 2001-09-27 | 2002-09-26 | Method and apparatus for memory access scheduling to reduce memory access latency |
Country Status (7)
Country | Link |
---|---|
US (1) | US6785793B2 (zh) |
EP (1) | EP1481326A2 (zh) |
KR (1) | KR100610730B1 (zh) |
CN (1) | CN100587675C (zh) |
AU (1) | AU2002330170A1 (zh) |
TW (1) | TWI269971B (zh) |
WO (1) | WO2003027867A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI409701B (zh) * | 2010-09-02 | 2013-09-21 | Univ Nat Central | Execute the requirements registration and scheduling method |
TWI468945B (zh) * | 2008-05-21 | 2015-01-11 | Samsung Electronics Co Ltd | 基於先前執行的記憶體命令的歷史對執行用之記憶體命令進行排程的系統及其方法 |
Families Citing this family (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356030B2 (en) * | 2000-11-17 | 2008-04-08 | Foundry Networks, Inc. | Network switch cross point |
US7596139B2 (en) | 2000-11-17 | 2009-09-29 | Foundry Networks, Inc. | Backplane interface adapter with error control and redundant fabric |
US7236490B2 (en) | 2000-11-17 | 2007-06-26 | Foundry Networks, Inc. | Backplane interface adapter |
US6918019B2 (en) | 2001-10-01 | 2005-07-12 | Britestream Networks, Inc. | Network and networking system for small discontiguous accesses to high-density memory devices |
US7085866B1 (en) * | 2002-02-19 | 2006-08-01 | Hobson Richard F | Hierarchical bus structure and memory access protocol for multiprocessor systems |
US6959372B1 (en) * | 2002-02-19 | 2005-10-25 | Cogent Chipware Inc. | Processor cluster architecture and associated parallel processing methods |
US6983353B2 (en) * | 2002-04-29 | 2006-01-03 | Emc Corporation | Method and apparatus for enhancing operations in disk array storage devices |
US7468975B1 (en) * | 2002-05-06 | 2008-12-23 | Foundry Networks, Inc. | Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability |
US20120155466A1 (en) | 2002-05-06 | 2012-06-21 | Ian Edward Davis | Method and apparatus for efficiently processing data packets in a computer network |
US7187687B1 (en) | 2002-05-06 | 2007-03-06 | Foundry Networks, Inc. | Pipeline method and system for switching packets |
US7266117B1 (en) * | 2002-05-06 | 2007-09-04 | Foundry Networks, Inc. | System architecture for very fast ethernet blade |
US7143412B2 (en) * | 2002-07-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for optimizing performance in a multi-processing system |
US7159066B2 (en) * | 2002-08-27 | 2007-01-02 | Intel Corporation | Precharge suggestion |
US20040088472A1 (en) * | 2002-10-31 | 2004-05-06 | Nystuen John M. | Multi-mode memory controller |
US6910114B2 (en) * | 2002-11-15 | 2005-06-21 | Intel Corporation | Adaptive idle timer for a memory device |
US7469316B2 (en) * | 2003-02-10 | 2008-12-23 | Intel Corporation | Buffered writes and memory page control |
JP4250989B2 (ja) * | 2003-03-26 | 2009-04-08 | 日本電気株式会社 | メモリアクセス制御装置 |
US6901072B1 (en) | 2003-05-15 | 2005-05-31 | Foundry Networks, Inc. | System and method for high speed packet transmission implementing dual transmit and receive pipelines |
WO2004111860A2 (en) * | 2003-06-16 | 2004-12-23 | Koninklijke Philips Electronics N.V. | Data processing circuit with multiplexed memory |
US7111153B2 (en) * | 2003-09-30 | 2006-09-19 | Intel Corporation | Early data return indication mechanism |
JP5005350B2 (ja) | 2003-12-09 | 2012-08-22 | トムソン ライセンシング | メモリコントローラ |
DE102004009428A1 (de) * | 2004-02-24 | 2005-09-08 | Deutsche Thomson-Brandt Gmbh | Speicher-Controller |
JP4435588B2 (ja) * | 2004-01-30 | 2010-03-17 | 株式会社日立製作所 | ストレージシステム |
US7817659B2 (en) * | 2004-03-26 | 2010-10-19 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US8730961B1 (en) | 2004-04-26 | 2014-05-20 | Foundry Networks, Llc | System and method for optimizing router lookup |
US7222224B2 (en) * | 2004-05-21 | 2007-05-22 | Rambus Inc. | System and method for improving performance in computer memory systems supporting multiple memory access latencies |
US7657703B1 (en) | 2004-10-29 | 2010-02-02 | Foundry Networks, Inc. | Double density content addressable memory (CAM) lookup scheme |
US20060136681A1 (en) * | 2004-12-21 | 2006-06-22 | Sanjeev Jain | Method and apparatus to support multiple memory banks with a memory block |
US7328315B2 (en) * | 2005-02-03 | 2008-02-05 | International Business Machines Corporation | System and method for managing mirrored memory transactions and error recovery |
US9542352B2 (en) * | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US20070014168A1 (en) * | 2005-06-24 | 2007-01-18 | Rajan Suresh N | Method and circuit for configuring memory core integrated circuit dies with memory interface integrated circuit dies |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8060774B2 (en) * | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8438328B2 (en) * | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
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 |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
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 |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8090897B2 (en) * | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect 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 |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US7609567B2 (en) | 2005-06-24 | 2009-10-27 | Metaram, Inc. | System and method for simulating an aspect of a memory circuit |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8619452B2 (en) | 2005-09-02 | 2013-12-31 | Google Inc. | Methods and apparatus of stacking DRAMs |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US20070005868A1 (en) * | 2005-06-30 | 2007-01-04 | Osborne Randy B | Method, apparatus and system for posted write buffer for memory with unidirectional full duplex interface |
US7426621B2 (en) * | 2005-12-09 | 2008-09-16 | Advanced Micro Devices, Inc. | Memory access request arbitration |
US8448162B2 (en) | 2005-12-28 | 2013-05-21 | Foundry Networks, Llc | Hitless software upgrades |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
JP2007249837A (ja) * | 2006-03-17 | 2007-09-27 | Nec Electronics Corp | メモリ制御装置、メモリ制御方法及び携帯機器 |
US20070288690A1 (en) * | 2006-06-13 | 2007-12-13 | Foundry Networks, Inc. | High bandwidth, high capacity look-up table implementation in dynamic random access memory |
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 |
US7903654B2 (en) * | 2006-08-22 | 2011-03-08 | Foundry Networks, Llc | System and method for ECMP load sharing |
US7644248B2 (en) * | 2006-09-27 | 2010-01-05 | Intel Corporation | Mechanism to generate logically dedicated read and write channels in a memory controller |
US20080103529A1 (en) * | 2006-10-26 | 2008-05-01 | Old Dominion University | Apparatus and methods for performing cellular electro-manipulations |
US8238255B2 (en) | 2006-11-22 | 2012-08-07 | Foundry Networks, Llc | Recovering from failures without impact on data traffic in a shared bus architecture |
US20080162852A1 (en) * | 2006-12-28 | 2008-07-03 | Surya Kareenahalli | Tier-based memory read/write micro-command scheduler |
US8155011B2 (en) | 2007-01-11 | 2012-04-10 | Foundry Networks, Llc | Techniques for using dual memory structures for processing failure detection protocol packets |
US8271859B2 (en) | 2007-07-18 | 2012-09-18 | Foundry Networks Llc | Segmented CRC design in high speed networks |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
US8037399B2 (en) * | 2007-07-18 | 2011-10-11 | Foundry Networks, Llc | Techniques for segmented CRC design in high speed networks |
US9588810B2 (en) | 2007-08-08 | 2017-03-07 | Microsoft Technology Licensing, Llc | Parallelism-aware memory request scheduling in shared memory controllers |
US7761656B2 (en) * | 2007-08-22 | 2010-07-20 | Advanced Micro Devices, Inc. | Detection of speculative precharge |
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 |
US8149839B1 (en) | 2007-09-26 | 2012-04-03 | Foundry Networks, Llc | Selection of trunk ports and paths using rotation |
WO2009067496A1 (en) * | 2007-11-19 | 2009-05-28 | Rambus Inc. | Scheduling based on turnaround event |
US8180975B2 (en) * | 2008-02-26 | 2012-05-15 | Microsoft Corporation | Controlling interference in shared memory systems using parallelism-aware batch scheduling |
CN101587461B (zh) * | 2008-05-20 | 2012-03-07 | 上海奇码数字信息有限公司 | 存储器访问调度装置、调度方法与存储器访问控制系统 |
US7996647B2 (en) * | 2008-07-23 | 2011-08-09 | Microchip Technology Incorporated | Enhanced microprocessor or microcontroller |
CN101639817B (zh) * | 2009-03-13 | 2012-01-25 | 青岛海信信芯科技有限公司 | 一种存储器的控制方法、存储器控制器和存储器控制系统 |
US8090901B2 (en) | 2009-05-14 | 2012-01-03 | Brocade Communications Systems, Inc. | TCAM management approach that minimize movements |
WO2010144624A1 (en) | 2009-06-09 | 2010-12-16 | Google Inc. | Programming of dimm termination resistance values |
CN101625887B (zh) * | 2009-08-14 | 2011-11-02 | 西北工业大学 | 访存请求调度装置以及用该装置进行访存请求调度的方法 |
US8599850B2 (en) | 2009-09-21 | 2013-12-03 | Brocade Communications Systems, Inc. | Provisioning single or multistage networks using ethernet service instances (ESIs) |
WO2011090537A2 (en) * | 2010-01-19 | 2011-07-28 | Rambus Inc. | Adaptively time-multiplexing memory references from multiple processor cores |
US8463229B2 (en) * | 2010-01-27 | 2013-06-11 | Nokia Corporation | Coexistence for cognitive radio |
US8572322B2 (en) * | 2010-03-29 | 2013-10-29 | Freescale Semiconductor, Inc. | Asynchronously scheduling memory access requests |
US8560796B2 (en) * | 2010-03-29 | 2013-10-15 | Freescale Semiconductor, Inc. | Scheduling memory access requests using predicted memory timing and state information |
US9842068B2 (en) | 2010-04-14 | 2017-12-12 | Qualcomm Incorporated | Methods of bus arbitration for low power memory access |
US8539129B2 (en) * | 2010-04-14 | 2013-09-17 | Qualcomm Incorporated | Bus arbitration techniques to reduce access latency |
CN102236622A (zh) * | 2010-04-30 | 2011-11-09 | 中兴通讯股份有限公司 | 提高动态存储器带宽利用率的动态存储器控制器及方法 |
US8635385B2 (en) * | 2010-07-16 | 2014-01-21 | Advanced Micro Devices, Inc. | Mechanism to handle peripheral page faults |
WO2012024699A1 (en) * | 2010-08-20 | 2012-02-23 | Mosys, Inc. | Data synchronization for circuit resources without using a resource buffer |
CN102456391B (zh) * | 2010-10-26 | 2015-01-28 | 中兴通讯股份有限公司 | 提高ddr控制器效率的方法和装置 |
CN102855195B (zh) * | 2011-06-30 | 2015-05-27 | 重庆重邮信科通信技术有限公司 | 第二代低功耗双倍速率存储控制器及访问命令处理方法 |
US8949547B2 (en) * | 2011-08-08 | 2015-02-03 | Arm Limited | Coherency controller and method for data hazard handling for copending data access requests |
US8379457B1 (en) | 2012-01-26 | 2013-02-19 | Stec, Inc. | Auto calibration of storage memory controller |
US20130205089A1 (en) * | 2012-02-08 | 2013-08-08 | Mediatek Singapore Pte. Ltd. | Cache Device and Methods Thereof |
CN104471645B (zh) * | 2012-03-26 | 2017-04-12 | 英特尔公司 | 采用检错编码的事务的存储器设备的定时优化装置和方法 |
KR101949382B1 (ko) | 2012-04-04 | 2019-02-18 | 삼성전자주식회사 | 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법 |
KR101919903B1 (ko) | 2012-09-14 | 2018-11-19 | 삼성전자 주식회사 | 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법 |
US10445243B2 (en) | 2013-03-14 | 2019-10-15 | Nvidia Corporation | Fault buffer for resolving page faults in unified virtual memory system |
DE102013022169A1 (de) | 2013-03-14 | 2014-09-18 | Nvidia Corporation | Fehlerpuffer zur verfolgung von seitenfehlern in einem vereinheitlichten virtuellen speichersystem |
US9423978B2 (en) * | 2013-05-08 | 2016-08-23 | Nexgen Storage, Inc. | Journal management |
US9336855B2 (en) * | 2013-05-14 | 2016-05-10 | Qualcomm Incorporated | Methods and systems for smart refresh of dynamic random access memory |
CN105229619B (zh) * | 2013-05-16 | 2021-05-07 | 超威半导体公司 | 具有指定区域存储器访问调度的存储器系统 |
WO2014203029A1 (en) * | 2013-06-17 | 2014-12-24 | Freescale Semiconductor, Inc. | Efficient scheduling in asynchronous contention-based system |
US9811453B1 (en) * | 2013-07-31 | 2017-11-07 | Juniper Networks, Inc. | Methods and apparatus for a scheduler for memory access |
US10310923B1 (en) | 2014-08-28 | 2019-06-04 | Seagate Technology Llc | Probabilistic aging command sorting |
TWI512609B (zh) * | 2014-09-05 | 2015-12-11 | Silicon Motion Inc | 讀取命令排程方法以及使用該方法的裝置 |
TWI553483B (zh) * | 2014-10-13 | 2016-10-11 | 瑞昱半導體股份有限公司 | 處理器及存取記憶體的方法 |
KR20160061704A (ko) | 2014-11-24 | 2016-06-01 | 삼성전자주식회사 | 페이지 상태 알림 기능이 있는 메모리 장치 |
WO2016089355A1 (en) | 2014-12-01 | 2016-06-09 | Hewlett Packard Enterprise Development Lp | Auto-negotiation over extended backplane |
KR101993028B1 (ko) * | 2015-02-05 | 2019-06-26 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 |
CN107250980B (zh) * | 2015-03-26 | 2021-02-09 | 英特尔公司 | 具有图形和系统存储器冲突检查的计算方法和设备 |
US10025685B2 (en) * | 2015-03-27 | 2018-07-17 | Intel Corporation | Impedance compensation based on detecting sensor data |
KR102076196B1 (ko) * | 2015-04-14 | 2020-02-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 |
CN107534590B (zh) | 2015-10-12 | 2020-07-28 | 慧与发展有限责任合伙企业 | 网络系统 |
US10437480B2 (en) * | 2015-12-01 | 2019-10-08 | Futurewei Technologies, Inc. | Intelligent coded memory architecture with enhanced access scheduler |
CN105550152B (zh) * | 2015-12-11 | 2018-03-30 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于时间的gjb289数据总线命令调度电路及方法 |
US10222853B2 (en) | 2016-03-03 | 2019-03-05 | Qualcomm Incorporated | Power saving techniques for memory systems by consolidating data in data lanes of a memory bus |
US10140181B1 (en) | 2016-05-19 | 2018-11-27 | Vexata, Inc. | Endurance aware raid scheme for flash based SSDS with FPGA optimized implementation |
US10134473B1 (en) * | 2016-05-19 | 2018-11-20 | Vexata, Inc. | Input output scheduling for solid state media |
CN106155586B (zh) * | 2016-05-31 | 2019-03-08 | 华为技术有限公司 | 一种存储方法、服务器及存储控制器 |
CN106095611A (zh) * | 2016-06-20 | 2016-11-09 | 中国航天科技集团公司第九研究院第七七研究所 | 一种快速响应ahb访问的容错型sdram控制方法 |
US10402120B2 (en) * | 2016-07-15 | 2019-09-03 | Advanced Micro Devices, Inc. | Memory controller arbiter with streak and read/write transaction management |
US9684461B1 (en) | 2016-10-31 | 2017-06-20 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on memory interface bus utilization |
US9892066B1 (en) | 2016-10-31 | 2018-02-13 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on interconnect bus utilization |
US10831403B2 (en) | 2017-05-19 | 2020-11-10 | Seagate Technology Llc | Probabalistic command aging and selection |
US10621094B2 (en) | 2017-06-28 | 2020-04-14 | Intel Corporation | Coarse tag replacement |
US10803000B2 (en) | 2017-12-04 | 2020-10-13 | Synopsys, Inc. | Phase-aware control and scheduling |
US11442634B2 (en) * | 2018-04-12 | 2022-09-13 | Micron Technology, Inc. | Replay protected memory block command queue |
US10725696B2 (en) * | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
CN110729006B (zh) * | 2018-07-16 | 2022-07-05 | 超威半导体(上海)有限公司 | 存储器控制器中的刷新方案 |
US11327656B2 (en) * | 2018-08-03 | 2022-05-10 | Mobileye Vision Technologies Ltd. | Accessing a dynamic memory module |
US10545701B1 (en) * | 2018-08-17 | 2020-01-28 | Apple Inc. | Memory arbitration techniques based on latency tolerance |
CN110858121B (zh) * | 2018-08-23 | 2023-07-11 | 阿里巴巴集团控股有限公司 | 后台操作的调度方法及装置 |
KR102254501B1 (ko) * | 2018-10-19 | 2021-05-21 | 한양대학교 산학협력단 | 부분 순서 보장 기반의 입출력 스케줄러 및 그 방법 |
CN109656846B (zh) * | 2018-12-20 | 2020-11-17 | 湖南国科微电子股份有限公司 | 电子终端及存储器可用延时参数区间寻优方法与装置 |
KR102679774B1 (ko) * | 2019-04-10 | 2024-06-28 | 에스케이하이닉스 주식회사 | 히스토리 기반 메모리 시스템 및 그 제어 방법 |
US10860388B1 (en) * | 2019-07-09 | 2020-12-08 | Micron Technology, Inc. | Lock management for memory subsystems |
CN110362516B (zh) * | 2019-07-23 | 2020-11-10 | 南京凯鼎电子科技有限公司 | 一种提高ddr存储总线利用率的方法和装置 |
CN112468481B (zh) * | 2020-11-23 | 2022-09-16 | 西安西热电站信息技术有限公司 | 一种基于CAS的单页和多页web应用身份集成认证方法 |
CN112767978B (zh) * | 2021-01-11 | 2022-10-14 | 湖南国科微电子股份有限公司 | 一种ddr命令调度方法、装置、设备及介质 |
US11656797B2 (en) * | 2021-07-28 | 2023-05-23 | Western Digital Technologies, Inc. | Data storage device executing runt write commands as free commands |
CN114296896A (zh) * | 2021-12-27 | 2022-04-08 | 合肥大唐存储科技有限公司 | 一种实现命令调度的方法、装置、计算机存储介质及终端 |
CN118245397A (zh) * | 2024-03-29 | 2024-06-25 | 海光信息技术股份有限公司 | 一种内存页面访问方法及相关设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278967A (en) | 1990-08-31 | 1994-01-11 | International Business Machines Corporation | System for providing gapless data transfer from page-mode dynamic random access memories |
US6154826A (en) * | 1994-11-16 | 2000-11-28 | University Of Virginia Patent Foundation | Method and device for maximizing memory system bandwidth by accessing data in a dynamically determined order |
EP0940757A3 (en) | 1997-12-05 | 2000-05-24 | Texas Instruments Incorporated | Traffic controller using priority and burst control for reducing access latency |
US6173345B1 (en) | 1998-11-03 | 2001-01-09 | Intel Corporation | Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem |
US6510497B1 (en) * | 1998-12-09 | 2003-01-21 | Advanced Micro Devices, Inc. | Method and system for page-state sensitive memory control and access in data processing systems |
US6546439B1 (en) * | 1998-12-09 | 2003-04-08 | Advanced Micro Devices, Inc. | Method and system for improved data access |
US6418525B1 (en) | 1999-01-29 | 2002-07-09 | International Business Machines Corporation | Method and apparatus for reducing latency in set-associative caches using set prediction |
US7421572B1 (en) | 1999-09-01 | 2008-09-02 | Intel Corporation | Branch instruction for processor with branching dependent on a specified bit in a register |
US6631440B2 (en) * | 2000-11-30 | 2003-10-07 | Hewlett-Packard Development Company | Method and apparatus for scheduling memory calibrations based on transactions |
-
2001
- 2001-09-27 US US09/966,957 patent/US6785793B2/en not_active Expired - Lifetime
-
2002
- 2002-09-26 TW TW091122151A patent/TWI269971B/zh not_active IP Right Cessation
- 2002-09-27 KR KR1020047004589A patent/KR100610730B1/ko not_active IP Right Cessation
- 2002-09-27 EP EP02766433A patent/EP1481326A2/en not_active Withdrawn
- 2002-09-27 WO PCT/US2002/031161 patent/WO2003027867A2/en not_active Application Discontinuation
- 2002-09-27 AU AU2002330170A patent/AU2002330170A1/en not_active Abandoned
- 2002-09-27 CN CN02819006A patent/CN100587675C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI468945B (zh) * | 2008-05-21 | 2015-01-11 | Samsung Electronics Co Ltd | 基於先前執行的記憶體命令的歷史對執行用之記憶體命令進行排程的系統及其方法 |
TWI409701B (zh) * | 2010-09-02 | 2013-09-21 | Univ Nat Central | Execute the requirements registration and scheduling method |
Also Published As
Publication number | Publication date |
---|---|
US20030061459A1 (en) | 2003-03-27 |
US6785793B2 (en) | 2004-08-31 |
CN1735869A (zh) | 2006-02-15 |
KR20040037187A (ko) | 2004-05-04 |
EP1481326A2 (en) | 2004-12-01 |
WO2003027867A3 (en) | 2004-09-23 |
AU2002330170A1 (en) | 2003-04-07 |
WO2003027867A2 (en) | 2003-04-03 |
KR100610730B1 (ko) | 2006-08-09 |
CN100587675C (zh) | 2010-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI269971B (en) | Method and apparatus for memory access scheduling to reduce memory access latency | |
JP5305542B2 (ja) | 投機的なプリチャージの検出 | |
JP4472186B2 (ja) | 外部デバイスへのアクセスを優先順序付けるための方法および装置 | |
JP4695761B2 (ja) | コマンド再順序付けシステム | |
US6832280B2 (en) | Data processing system having an adaptive priority controller | |
US6799257B2 (en) | Method and apparatus to control memory accesses | |
US7127574B2 (en) | Method and apparatus for out of order memory scheduling | |
US20070162642A1 (en) | A dma controller with multiple intra-channel software request support | |
US20050033906A1 (en) | Memory arbiter with intelligent page gathering logic | |
JP2003535380A (ja) | メモリ要求の再順序付けによりバス稼働率を向上させるメモリコントローラ | |
JP2002530743A (ja) | ページタグレジスタを使用して、メモリデバイス内の物理ページの状態を追跡すること | |
US8356143B1 (en) | Prefetch mechanism for bus master memory access | |
US7490201B2 (en) | Method and bus prefetching mechanism for implementing enhanced buffer control | |
US6976110B2 (en) | Method and apparatus for reducing interrupt latency by dynamic buffer sizing | |
JP2004500608A (ja) | ユニバーサルリソースアクセスコントローラ | |
US7035984B2 (en) | Memory arbiter with grace and ceiling periods and intelligent page gathering logic | |
JP3838405B2 (ja) | 中央処理装置および中央処理システム | |
JP2000090003A (ja) | 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ | |
JPH1131072A (ja) | メモリ先行ロード装置 | |
JPH08249229A (ja) | 入出力制御装置 | |
JPH10177540A (ja) | バス制御方式 | |
JPH04153847A (ja) | バッファ記憶制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |