TWI253563B - Read-write switching method for a memory controller - Google Patents

Read-write switching method for a memory controller Download PDF

Info

Publication number
TWI253563B
TWI253563B TW092135045A TW92135045A TWI253563B TW I253563 B TWI253563 B TW I253563B TW 092135045 A TW092135045 A TW 092135045A TW 92135045 A TW92135045 A TW 92135045A TW I253563 B TWI253563 B TW I253563B
Authority
TW
Taiwan
Prior art keywords
request
write
library
read
read request
Prior art date
Application number
TW092135045A
Other languages
English (en)
Other versions
TW200413913A (en
Inventor
Bruce Christenson
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 TW200413913A publication Critical patent/TW200413913A/zh
Application granted granted Critical
Publication of TWI253563B publication Critical patent/TWI253563B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
  • Communication Control (AREA)
  • Vehicle Body Suspensions (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Dram (AREA)

Description

1253563 (” 玫、發明說明 【發明所屬之技術領域】 本發明的實施例係關於讀寫記憶體之記憶體控制器領 域。 【先前技術】 目前的雙倍資料傳輸率(DDR )及雙倍資料傳輸率〜 II ( DDR-Π )動態存取記憶體(DRAM )子系統,在執行 記憶體中的相同庫之背對背讀取時,呈現顯著的等待時 間。數個伺服器晶片組可以在總共提供4獨立記憶庫的單 排記憶體內操作。在此配置中重覆地隨機交通踫撞相同庫 之機率爲 1 : 4 ( 2 5 % )。在分頁空白存取的情形中(在伺 服器晶片組中這是很典型的),全部的庫衝突時間是「致 動至讀取」(tRCD )等待時間加上「讀取至預充電」 (tRPD )等待時間加上「預充電」至「致動」(tRP )等 待時間之總合,或是「致動至致動命令週期」(t R C ), 以時序限制較長者爲主。在D D R - 2 6 6的情形中,2 0 0 1年 8 月 14 曰公開的 Intel DDR-266 JEDEC Specification A d d e n d u m,R e v · 0 9中,此庫衝突持續時間典型上爲 6 5 ns。在2 0 0 1年6月25日公開之DDR-II- 5 3 3的情形中, 此庫衝突持續時間典型上爲60ns。相對地,對每一記憶 體技術而言,4 ( 3 2位元組)的猝發之全部資料等待時間 分別僅爲1 5 Π S及7 . 5 n s。 傳統的讀寫切換方法優先處理讀取請求直到寫入請求 -4 - (2) 1253563 佇列達到預設臨界値爲止。然後,將寫入請求的數量背對 背地「汲出」,且優先權歸還給讀取請求(在等待寫入汲 出時所佇列之讀取請求)。但是,此讀寫切換方法由於在 庫衝庫持續時間期間未執行額外的讀取或寫入,所以,是 緩慢及無效率的。 【發明內容】及【實施方式】 可以使用本發明的實施例以在dram記憶體通道中 提供更快速的寫入。記憶體裝置可以佇列對記憶體的寫入 請求。當對記憶體之連續讀取是對相同排、相同庫但不同 頁的記憶體連續讀取時,會有「記憶庫衝突」以及在對庫 發出的致動命令與致動命令之間發生等待時間。當讀取是 依排定執行時,寫入請求可以佇列在寫入請求佇列中。假 使有衝突時(亦即,有連續的讀取,且第二個讀取是對相 同排、相同庫,但不同頁時),當用於讀取動作的頁正等 待被致動時,可以對相同排內不同的庫執行寫入操作。取 決於列致動所需的時間,可以在相同排內其它庫上實施額 外的寫入。此方法會造成較快的寫入命令執行,及DRAM 記憶體裝置的較快效能。 或者,當寫入正在執行時,記憶體裝置可以佇列讀取 命令。當寫入命令被執行時,讀取命令可以被佇列。一旦 發生庫衝突時(亦即,對相同排相同庫但不同頁連續二次 寫入)’則當下一頁被致動時,讀取可以被執行。因此, dram可以更有效率地服務讀取及寫入操作。 (3) 1253563 圖]係顯示根據本發明的實施例之記憶體系統。記憶 體系統包含記憶體控制器及記憶體排1 05。記憶體排1 05 包含數個記憶體庫,舉例而言,庫A 1 1 0、庫b 1 1 5、庫 C 120、及庫D 125。記憶體控制器1〇〇可以與庫a 1 ] 0、 庫B 115、庫c 120、及庫D 125中的每一庫相通訊。雖 然圖1中僅顯示單一記憶體庫丨〇 5,但是,也可以使用多 個記憶體排。每一庫可以包含具有多個頁(亦即,列)及 行的儲存位置之陣列。藉由致動特定頁,可以對陣列中的 位置讀取或寫入資料。然後,可以從頁內的位置讀取資 料。爲了從不同頁讀取資料,可以在從第一頁讀出資料之 後,將不同頁預先充電及接著將其致動。 圖2係顯示根據本發明的實施例之記憶體控制器 1 〇 〇。記憶體控制器1 〇 〇包含讀取請求佇列2 0 0。當目前 正執行讀取時,以及當正執行寫入時,可以使用讀取請求 佇列2 0 0以佇列讀取請求。記憶體控制器1 〇 〇也包含寫入 請求佇列 2 0 5,當目前正執行讀取時’以及正執行寫入 時,寫入請求佇列2 0 5也可以用以佇列寫入請求。 記憶體控制器1 00也包含寫入資料緩衝器2 1 0 ’其可 以以相干及/或一致的方式快取資料。寫入資料緩衝器 2 1 〇可以儲存尙未被寫入至記憶體之寫入資料。寫入資料 緩衝器2 1 〇可以是一次登入的深度,但是,基於功效之考 量,典型上是大於一;欠登入深度°假使跟隨在較早的寫入 請求之後,對相同記憶體位址之讀取請求進入記憶體控制 器1 0 0,則記憶體控制器1 0 0可以使用來自寫入資料緩衝 -6- (4) 1253563 器2 1 0的資料以服務讀取請求,或是將寫入請求 中及接著將讀取請求列入排程中。 記憶體控制器1 0包含邏輯器220。邏輯器 以決定下一待決的讀取命令是否與先前列入排程 有協定衝突。協定衝突可以是dram時序限制 體控制器1 00將目前時計循環中的DRAM命令 之一條件。協定衝突包含庫衝突,在庫衝突中 排、庫、不同頁之背對背存取會在作動的命令與 被延遲特定的時間(導因於tRC DRAM時序限制 記憶體控制器1 00可以與處理器225通訊以 請求佇列 200、寫入請求佇列 2 0 5、寫入資3| 21〇、及邏輯器220中的每一者。處理器225接 儲存裝置2 3 0通訊。指令儲存裝置2 3 0可以含有 器2 2 5執行的指令(舉例而言,程式碼)。 記憶體控制器1 0 0可以使寫入在庫衝突所造 時間期間被執行。假使最老的佇入寫入未與目前 作衝突,則記憶體控制器1 〇〇可以使最老的佇入 衝突期間被列入排程。 圖3係顯示根據本發明的實施例之時序圖。 方的尺寸代表時間。舉例而言,每一數値單位 n s。A C T代表致動命令。當被讀取的頁被選取時 由ACT命令致動。如同所示,ACT命令可能會 間單位以使頁變成致動。此致動等待時間以 1 tRCD」代表(tRCD 是 time to activate foi· 列入排程 22 0可用 的命令具 禁止記憶 列入排程 ,對相同 命令之間 )° 控制讀取 斗緩衝器 著與指令 可由處理 成的等待 的讀取操 寫入在庫 時序圖上 代表 10 ’頁可以 宅費3時 寺間延遲 the read 1253563 (5) command 執行讀取 間單元以 料被真正 示(tCL i 中,C A S 縮寫)。 以時間延 制的總合 接著 令讀取資 處理可能 command 示。預充 生於相同 假使頁未 (相同排 頁)。頁 「PRE」 (可能是 存取,僅 接著 則會遇到 以及,在 (致動讀取命令的時間)的縮寫)。接著,可以 命令(以RD表示)。RD命令可能要耗掉1時 被執行,接著,又耗掉額外的2時間單元直到資 地讀取爲止。此等待時間以時間延遲「t C L」表 $ 表 time for CAS latency ( CAS 等待時間),其 是 c ο 1 u m n a c c e s s s t r 〇 b e (行存取選通脈衝)的 從當頁被致動時直到資料可以被讀取的整個時間 遲「tRCD + tCL」表示,其係tRCD與tCL時序限 ,且如同所示般耗掉6時間單元。 ,執行預充電指令(PRE ),且從先前的RD指 料(在時序圖上以「RD D ΑΤΑ」表示)。預充電 耗掉 3時間單元,以時間「tRP」(precharge duration (預充電命令持續時間)的縮寫)表 電命令(PRE )使庫中的頁解除致動。這必定發 庫中的另一頁已由致動(ACT)命令致動之前。 被預充電,則對該庫的下一存取將爲頁瞬時干擾 、庫、頁)或是頁遺漏(相同排、庫、不同 :瞬時千擾僅需要「RD」命令。頁遺漏需要 、「ACT」、然後「RD」。假使下次庫被存取時 更晚之後)頁被預充電,則下一存取將爲頁空白 需要「ACT」及接著「RD」。 ’假使資料是要從相同庫內的不同頁被讀取時, 增加的tRC延遲。ACT及RD可以再度被執行, 從下一頁讀取資料之前,會有增加的6時間單元
(6) 1253563 的時間週期消逝。接著,可以執行增加的PRE命令、等 等。 — 因此,如同所示,當從相同庫內不同的頁執行連續讀 耳又時,會出現時間週期tRCD所顯示的顯著等待時間(假 使從相同庫及排的相同頁執行連續讀取,則tRCD週期將 不會出現)。記憶體控制器1 00可以藉由在此tRCD等待 時間期間執行寫入以利用此時間週期,造成更有效率的及 更快的寫入命令排程。 圖4係顯示根據本發明的實施例,當在相同排內執行 寫入操作時具有庫衝突的讀取操作之時序圖。如同所示, 讚取命令及時間延遲與圖3中所示相同。但是,圖4的時 序圓中,記憶體控制器1 00藉由將資料寫至相同排內的不 同記憶體庫以利用tRC D等待時間。舉例而言,假使讀取 操作是對記憶體排1 〇 5的庫 a 1 1 0內的頁執行,則在 tR A S時間週期期間可以對其它庫(舉例而言,庫b 1 1 5、 庫C 120、庫D 125、但非庫A 110)之一執行寫入操 作。寫入操作(WR )可以在預充電操作期間的tRP時間 週期期間被執行,且在下一 t R C D時間週期期間,資料可 以被真正地寫入(WR D ΑΤΑ ) 。tWTR被稱爲「寫至讀取 命令延遲」,假使在寫至相同排之後有讀取,則必須滿足 延遲限制。這是爲什麼對記憶體控制器i 〇 〇而言,較佳的 是將對於不同於後續讀取的不同排之最後寫入列入排程。 因此,WR命令可以執行且資料會被寫至另一庫,而不會 不利地影響R D命令的執行。 -9- (7) 1253563 圖5顯示根據本發明的實施例’在不同排內執行多個 寫入操作時具有庫衝突的讀取操作之時序圖。如同所示’ 可以執行寫入操作以將資料寫至不同排中的庫。爲了避免 因爲tWTR延遲而影響第二讀取的等待時間,最後的寫入 執行將需要以不同於第二讀取之不同排爲目標。如同所 示,可以從「0」排內的庫讀取資料。在tRCD時間週期 期間,資料可以首先被寫至排「X」內的記憶體庫,接 著,資料可以被寫至排「i」內的記憶體庫。如同所示, 在tRP週期結束時,可以執行 WR命令以將資料寫至排 「X」內的記憶體庫。然後,當資料要真正地寫至記億體 庫時,可以執行寫入命令 W R1,接著,可以將資料寫至 排「1」內的記憶體庫。因此,可以執行一寫入操作而不 會不利地影響RD操作。 其它的實施例可以在具有庫衝突的二讀取之間,對相 同排插隊執行二寫入,以及,假使最後三個寫入命令是對 不同於讀取命令的排執行,則在具有庫衝突的二讀取之 間’可以插隊執行五或六寫入(視技術的協定時序而 定)。假使tRCD時序限制維持不變,但是,DRAM時計 週期增加(亦即,時計較快),則在庫衝突(tRCD )期 間可以列入排程的執行數目可以從i或2增加至很多。究 竟有很少個執行可以被列入排程而不會影響第二個原始執 行的等待時間,可以由系統中正使用的特定DRAM裝置 時序參數所決定。 S 6係顯不根據本發明的實施例,當有讀取庫衝突時 -10- (8) 1253563 執行多個寫入命令之方法。首先’系統決定下一讀取操作 是否有庫衝突6 0 0。假使爲「否」’則處理可以保持在運 算600。假使爲「是」,則處理可以進行至運算6 02。在 運算 6 0 2,系統可以將最老的行1列寫入命令從寫入請求佇 列205中載出。系統可以接者決定載出的寫入命令是否來 自相同排6 0 5。假使爲「否」,則處理進行至運算6 1 5。 假使爲「是」,則處理進行至運算6 1 0,其中,較新的寫 入命令會被移除610且下一佇例的寫入命令會被載入。在 運算610之後,處理可以回至運算605。在運算615,系 統可以決定載入的寫入命令是否針對與下一讀取相同的 庫。假使爲「否」,則處理進行至運算 625。假使爲 「是」,則處理進行至運算620,其中,衝突的寫入命令 會被移除 6 2 0,以及載入下一佇列的寫入命令。在運算 620之後,處理可以回至運算 605。在運算 625,在資料 被讀取之後,系統可以首先執行較老的寫入命令,然後執 行較新的寫入命令。在其它實施例中,較新的寫入命令可 以首先被執行。在其它實施例中,在讀取操作庫衝突期 間,可以執行多於二個寫入命令。在運算6 2 5之後,處理 可以回至運算6 0 0。 圖7 A顯示根據本發明的實施例之執行寫入命令的又 一方法之第一部份。如同所示,系統可以首先決定讀取請 求佇列2 0 0及寫入請求佇列2 5 〇是否均已是空的7 0 〇。假 使爲「是」,則處理保持在運算7 0 0。假使爲否,則處理 進行至運算7 0 5 ’其中,系統會決定寫入請求佇列2 05中 (9) 1253563 的寫入請求數目是否超過預設的臨界値。系統可以具有其 可能儲存的寫入請求數目之預設臨界値。一旦寫入請求的 數目超過臨界位準,則系統會授予執行請求的優先權’且 可以儘可能快地執行它們直到佇列的寫入請求之數目落在 臨界値之下。假使對於運算7 〇 5的答案爲「是」’則處理 前進至運算710。假使在運算705的答案爲「否」,則處 理前進至圖7B中所示的運算730。 在運算7 1 〇,系統會決定是否可以取得下一寫入請求 以執行。假使爲「是」,則處理進行至運算7 1 5,假使爲 否,則處理進行至運算7 2 0。在運算7 1 5,系統可以執行 下一寫入請求,及處理接著回至運算 700。在運算 720, 系統可以決定下一請求是否可以取得以用於執行。假使爲 「是」,則處理進行至運算7 2 5。假使爲否,則處理回至 運算700。接著,在運算725,系統會執行下一寫入請求 及處理接著回至運算700。 圖7 B顯示根據本發明的實施例,執行寫入命令之又 一方法的第一部份。在運算7 3 〇,系統可以決定下一讀取 請求是否可用於執行。在運算73〇,假使爲「是」,則處 理則進至運算7 3 5。假使爲「否」,則處理前進至運算 7 4 0在運算7。5,系統可以執行下一讀取請求,接著進 仃至運昇7 00。接著,在運算74〇,系統可以決定下一寫 入請求是否可用於執行。假使爲「是」,則處理進行至運 算?45。假使爲「否」,則處理進行至運算7⑽。在運算 7 4 5术統執行下一寫入請求,接著,處理回至運算 -12 - (10) 1253563 7 0 〇 〇 雖然上述說明參考本發明的特別實施例,但是,將瞭 解在不悖離其精神下,可以產生很多修改。後附之申請專 利範圍係涵蓋落在本發明的真正範圍及精神之內的修改。 因此,目前揭示的實施例在各方面應被視爲是說明性的而 非限定的,本發明的範圍係由後附之申請專利範圍而非前 述說明所意含,且落在申請專利範圍的均等意義及範圍之 內的所有改變因而被包含在其中。 【圖式簡單說明】 圖1係顯示根據本發明的實施例之記憶體系統; 圖2係顯示根據本發明的實施例之記憶體控制器; 圖3係顯示根據本發明的實施例之時序圖; 圖4係顯示根據本發明的實施例,在相同排內執行寫 入操作時具有庫衝突的讀取操作之時序圖; 圖5係顯示根據本發明的實施例,在不同排內執行多 重寫入操作時具有庫衝突的讀取操作之時序圖; 圖ό係顯示根據本發明的實施例,當有讀取庫衝突時 執行多重寫入命令的方法; 圖7 Α係顯示根據本發明的實施例,又一執行寫入命 令的方法之第一部份;及 圖7 B係顯示根據本發明的實施例,又一執行寫入命 令的方法之第二部份。 _ 13- (11) 1253563 (11)
【主要 元件對照 表 ] 1 00 記 憶 體 控 制 器 1 05 記 憶 體 排 110 庫 A 115 庫 B 12 0 庫 C 1 25 庫 D 200 讀 取 Ξ主 δ円 求 佇 列 205 寫 入 請 求 佇 列 2 10 寫 入 資 料 緩 衝器 220 趣 輯 225 處 理 器 23 0 指 令 儲 存 裝 置
-14 ^

Claims (1)

1253563 拾 (1) 申請專利範圍 义4 }105_更丨正太丨 附件2 : 第92 1 35045號專利申請案 中文申請專利範圍替換本 民國94年12月5日修正 1 . 一種記憶體系統,包括: 記憶體裝置,具有第一庫及第二庫;以及 記憶體控制器,具有寫入請求佇列以儲存寫入請求, 其中,當在對第一庫的第一讀取請求與對第一庫的第二讀 取請求之間存在讀取庫衝突時,在執行第一讀取請求之後 及在執行第二讀取請求之前,在延遲期間,對第二庫執行 第一寫入請求。 2 .如申請專利範圍第1項之記憶體系統,又包含讀取 請求佇列以儲存讀取請求。 3 .如申請專利範圍第1項之記憶體系統,又包含寫入 資料緩衝器以儲存寫入資料。 4 .如申請專利範圍第1項之記憶體系統,又包含邏輯 以決定第二讀取請求與第一寫入請求之一是否與第一讀取 請求具有協定衝突。 5 .如申請專利範圍第1項之記憶體系統,其中,該記 憶體裝置是動態隨機存取記憶體(DRAM )。 6 . —種記憶體系統,包括: 記憶體裝置,具有第一庫及第二庫;以及 記憶體控制器,具有讀取請求佇列以儲存讀取請求, 1253563 (2) 其中,當在對第〜庫的第一寫入請求與對第一庫的第二寫 入請求之間存在寫入庫衝突時,在執行第一寫入請求之後 及在執行第二寫入請求之前,在延遲期間,對第二庫執行 第一讀取請求。 7 .如申請專利範圍第6項之記憶體系統,又包含寫入 請求佇列以儲存寫入請求。 8 .如申請專利範圍第6項之記憶體系統,又包含邏輯 以決定第二寫入請求與第一讀取請求之一是否與第一寫入 請求具有協定衝突。 9 ·如申請專利範圍第6項之系統,其中,該記憶體裝 置是動態隨機存取記憶體(DRAM )。 10.—種管理記憶體之方法,包括: 將寫入請求儲存於寫入請求佇列中; 對記憶體裝置的第一庫執行第一讀取請求; 當第一讀取請求與第二讀取請求之間存在讀取庫衝突 時,在執行第一讀取請求之後,在延遲之後,對第一庫執 行第二讀取請求;及 在延遲期間,對第二庫執行第一寫入請求。 η ·如申請專利範圍第1 〇項之方法,其中,第一庫及 第二庫是在相同排內。 1 2.如申請專利範圍第1 〇項之方法,其中,第一庫與 第二庫不是在相同排內。 1 3 ·如申請專利範圍第1 0項之方法,又包含儲存第一 寫入請求於寫入請求佇入中。 -2 - 1253563 (3) 1 4 .如申請專利範圍第1 0項之方法,又包含決定第二 讀取請求與第一寫入請求之一是否與第一讀取請求具有協 定衝突。 1 5 . —種管理記憶體之方法,包括: 將讀取請求儲存於讀取請求佇列中; 對記憶體裝置的第一庫執行第一寫入請求; 當第一寫入請求與第二寫入請求之間存在寫入庫衝突 時,在執行第一寫入請求之後,在延遲之後,對第一庫執 行第二寫入請求;及 在延遲期間,對第二庫執行第一讀取請求。 1 6.如申請專利範圍第1 5項之方法,其中,第一庫及 第二庫是在相同排內。 1 7 .如申請專利範圍第1 5項之方法,其中,第一庫與 第二庫不是在相同排內。 1 8 .如申請專利範圍第1 5項之方法,又包含儲存第一 讀取請求於讀取請求佇入中。 1 9 .如申請專利範圍第1 5項之方法,又包含決定第二 寫入請求與第一讀取請求之一是否與第一寫入請求具有協 定衝突。 2 0.—種儲存媒體,該儲存媒體具有複數指令儲存於 其上,當該複數指令由機器執行時,會導致下述: 將寫入請求儲存於寫入請求佇列中; 對記憶體裝置的第一庫執行第一讀取請求; 當第一讀取請求與第二讀取請求之間存在讀取庫衝突 -3- 1253563 (4) 時,在執彳了第一讀取請求之後’在延遲之後’對第一庫執 行第二讀取請求;及 在延遲期間,對第二庫執行第一寫入請求。 2 1 .如申請專利範圍第2 0項之儲存媒體’其中,第一 庫及第二庫是在相同排內。 2 2.如申請專利範圍第20項之儲存媒體,其中,第一 庫與第二庫不是在相同排內。 23.如申請專利範圍第20項之儲存媒體,其中,該複 數指令又導致儲存第一寫入請求於寫入請求佇入中。 2 4.如申請專利範圍第20項之儲存媒體,其中,該複 數指令又導致決定第二讀取請求與第一寫入請求之一是否 與第一讀取請求具有協定衝突。 2 5.—種儲存媒體,該儲存媒體具有複數指令儲存於 其上,當該複數指令由機器執行時,會導致下述: 將讀取請求儲存於讀取請求佇列中; 對記憶體裝置的第一庫執彳了第一寫入請求; 當第一寫入請求與第二寫入請求之間存在寫入庫衝突 時,在執行第一寫入請求之後,在延遲之後,對第一庫執 行第一寫入請求;及 在延遲期間,對第二庫執行第一讀取請求。 26·如申請專利範圍第25項之儲存媒體,其中,第一 庫及第二庫是在相同排內。 2 7 .如申請專利範圍第2 5項之儲存媒體,其中,第一 庫與第二庫不是在相同排內。 -4 - 1253563 (5) 2 8 .如申請專利範圍第2 5項之儲存媒體,其中,該複 數指令又導致儲存第一讀取請求於讀取請求佇入中。 2 9 .如申請專利範圍第2 5項之儲存媒體,其中,該複 數指令又導致決定第二寫入請求與第一讀取請求之一是否 與第一寫入請求具有協定衝突。 3 0 . —種記憶體控制器,包括:
寫入請求佇列,以儲存寫入請求,其中,當在對記憶 體裝置的第一庫之第一讀取請求與對第一庫的第二讀取請 求之間存在讀取庫衝突時,在執行第二讀取請求之前的延 遲期間,對記憶體裝置的第二庫執行第一寫入請求。 3 1 .如申請專利範圍第3 0項之記憶體控制器,又包含 讀取請求佇列以儲存讀取請求。 3 2 .如申請專利範圍第3 0項之記憶體控制器,又包含 寫入資料緩衝器以儲存寫入資料。
3 3 .如申請專利範圍第3 0項之記憶體控制器,又包含 邏輯以決定第二讀取請求與第一寫入請求之一是否與第一 讀取請求具有協定衝突。 3 4 .如申請專利範圍第3 0項之記憶體控制器,其中, 該記憶體裝置是動態隨機存取記憶體(DRAM )。 3 5 . —種記憶體控制器,包括: 讀取請求佇列,以儲存讀取請求,其中,當在對記憶 體裝置的第一庫之第一寫入請求與對第一庫的第二寫入請 求之間存在寫入庫衝突時,在執行第二寫入請求之前的延 遲期間,對記憶體裝置的第二庫執行第一讀取請求。 -5- 1253563 (6) 3 6 .如申請專利範圍第3 5項之記憶體控制器,又包含 寫入請求佇列以儲存讀取請求。 3 7 .如申請專利範圍第3 5項之記憶體控制器,又包含 寫入資料緩衝器以儲存寫入資料。 3 8 .如申請專利範圍第3 5項之記憶體控制器,又包含 邏輯以決定第二讀取請求與第一寫入請求之一是否與第一 讀取請求具有協定衝突。
3 9 .如申請專利範圍第3 5項之記憶體控制器,其中, 該記憶體裝置是動態隨機存取記憶體(DRAM )。
TW092135045A 2002-12-31 2003-12-11 Read-write switching method for a memory controller TWI253563B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/335,485 US7093059B2 (en) 2002-12-31 2002-12-31 Read-write switching method for a memory controller

Publications (2)

Publication Number Publication Date
TW200413913A TW200413913A (en) 2004-08-01
TWI253563B true TWI253563B (en) 2006-04-21

Family

ID=32655361

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092135045A TWI253563B (en) 2002-12-31 2003-12-11 Read-write switching method for a memory controller

Country Status (9)

Country Link
US (1) US7093059B2 (zh)
EP (1) EP1579335B1 (zh)
KR (1) KR100865188B1 (zh)
CN (1) CN100476985C (zh)
AT (1) ATE405885T1 (zh)
AU (1) AU2003294679A1 (zh)
DE (1) DE60323151D1 (zh)
TW (1) TWI253563B (zh)
WO (1) WO2004061672A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127574B2 (en) * 2003-10-22 2006-10-24 Intel Corporatioon Method and apparatus for out of order memory scheduling
US8081182B2 (en) * 2004-03-03 2011-12-20 Qualcomm Incorporated Depth buffer for rasterization pipeline
US20060069888A1 (en) * 2004-09-29 2006-03-30 International Business Machines (Ibm) Corporation Method, system and program for managing asynchronous cache scans
US20060129726A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Methods and apparatus for processing a command
US8082396B2 (en) * 2005-04-28 2011-12-20 International Business Machines Corporation Selecting a command to send to memory
US8065457B2 (en) * 2005-09-09 2011-11-22 Advanced Micro Devices, Inc. Delayed memory access request arbitration
US7698498B2 (en) * 2005-12-29 2010-04-13 Intel Corporation Memory controller with bank sorting and scheduling
US7596647B1 (en) 2006-09-18 2009-09-29 Nvidia Corporation Urgency based arbiter
US8060692B2 (en) * 2008-06-27 2011-11-15 Intel Corporation Memory controller using time-staggered lockstep sub-channels with buffered memory
US20100250826A1 (en) * 2009-03-24 2010-09-30 Micron Technology, Inc. Memory systems with a plurality of structures and methods for operating the same
CN101557419B (zh) * 2009-05-06 2012-07-11 成都市华为赛门铁克科技有限公司 一种数据读写系统和数据管理方法
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US11275509B1 (en) * 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
JP5547154B2 (ja) * 2011-09-21 2014-07-09 株式会社東芝 メモリ・デバイス
US8996782B2 (en) 2012-03-23 2015-03-31 Kabushiki Kaisha Toshiba Memory system and bank interleaving method
KR102205899B1 (ko) * 2014-02-27 2021-01-21 삼성전자주식회사 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치
TWI541647B (zh) * 2015-02-06 2016-07-11 瑞昱半導體股份有限公司 記憶體控制器及相關的控制方法
US10180803B2 (en) 2015-07-28 2019-01-15 Futurewei Technologies, Inc. Intelligent memory architecture for increased efficiency
US10437480B2 (en) * 2015-12-01 2019-10-08 Futurewei Technologies, Inc. Intelligent coded memory architecture with enhanced access scheduler
US9837135B2 (en) 2016-03-03 2017-12-05 Samsung Electronics Co., Ltd. Methods for addressing high capacity SDRAM-like memory without increasing pin cost
US11048437B2 (en) 2019-02-28 2021-06-29 Micron Technology, Inc. Double threshold controlled scheduling of memory access commands
CN113177012A (zh) * 2021-05-12 2021-07-27 成都实时技术股份有限公司 Pcie-srio数据交互处理方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8401804D0 (en) 1984-01-24 1984-02-29 Int Computers Ltd Data storage apparatus
EP0425550B1 (en) 1988-06-30 1995-01-04 Wang Laboratories, Inc. Memory control unit
US5784582A (en) * 1996-10-28 1998-07-21 3Com Corporation Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline
US6272600B1 (en) 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
US5948081A (en) 1997-12-22 1999-09-07 Compaq Computer Corporation System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed
US6233661B1 (en) * 1998-04-28 2001-05-15 Compaq Computer Corporation Computer system with memory controller that hides the next cycle during the current cycle
US6219765B1 (en) 1998-08-03 2001-04-17 Micron Technology, Inc. Memory paging control apparatus
US6216178B1 (en) 1998-11-16 2001-04-10 Infineon Technologies Ag Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution
US6389520B2 (en) * 1998-12-23 2002-05-14 Micron Technology, Inc. Method for controlling out of order accessing to a multibank memory
US6393512B1 (en) * 1999-09-27 2002-05-21 Ati International Srl Circuit and method for detecting bank conflicts in accessing adjacent banks
US6393534B1 (en) * 1999-09-27 2002-05-21 Ati International Srl Scheduler for avoiding bank conflicts in issuing concurrent requests to main memory
US6622225B1 (en) * 2000-08-31 2003-09-16 Hewlett-Packard Development Company, L.P. System for minimizing memory bank conflicts in a computer system
US6662265B1 (en) * 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Mechanism to track all open pages in a DRAM memory system
US6938133B2 (en) * 2001-09-28 2005-08-30 Hewlett-Packard Development Company, L.P. Memory latency and bandwidth optimizations
US20040076044A1 (en) * 2002-07-09 2004-04-22 Farshid Nowshadi Method and system for improving access latency of multiple bank devices
US7127574B2 (en) * 2003-10-22 2006-10-24 Intel Corporatioon Method and apparatus for out of order memory scheduling

Also Published As

Publication number Publication date
KR20050093809A (ko) 2005-09-23
KR100865188B1 (ko) 2008-10-23
EP1579335A2 (en) 2005-09-28
WO2004061672A3 (en) 2004-10-14
AU2003294679A8 (en) 2004-07-29
US7093059B2 (en) 2006-08-15
AU2003294679A1 (en) 2004-07-29
DE60323151D1 (de) 2008-10-02
CN100476985C (zh) 2009-04-08
EP1579335B1 (en) 2008-08-20
TW200413913A (en) 2004-08-01
US20040128428A1 (en) 2004-07-01
WO2004061672A2 (en) 2004-07-22
CN1519854A (zh) 2004-08-11
ATE405885T1 (de) 2008-09-15
WO2004061672A8 (en) 2008-08-21

Similar Documents

Publication Publication Date Title
TWI253563B (en) Read-write switching method for a memory controller
US9904489B2 (en) Processing systems, memory controllers and methods for controlling memory access operations
JP6169658B2 (ja) 有向自動リフレッシュ同期
US5889714A (en) Adaptive precharge management for synchronous DRAM
US8281101B2 (en) Dynamic random access memory with shadow writes
JP6130594B2 (ja) 信頼性の高い動作に適したメモリコントローラを有するデータプロセッサ及び方法
CN108139994B (zh) 内存访问方法及内存控制器
US20070198782A1 (en) Memory controller
US6389520B2 (en) Method for controlling out of order accessing to a multibank memory
JP2008102932A (ja) メモリ・アクセスを実施する方法および装置
US6549991B1 (en) Pipelined SDRAM memory controller to optimize bus utilization
US6622222B2 (en) Sequencing data on a shared data bus via a memory buffer to prevent data overlap during multiple memory read operations
US6868486B1 (en) Providing multiple memory controllers on a memory bus
JPS63114000A (ja) ダイナミツク・ランダム・アクセス・メモリの制御方式
US9037806B2 (en) Reducing store operation busy times
JPH0668671A (ja) メモリ装置
GB2426841A (en) Providing a plurality of copies of program data in memory
JPH06324940A (ja) メモリ制御方法および装置

Legal Events

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