TWI335516B - Memory system with both single and consolidated commands - Google Patents
Memory system with both single and consolidated commands Download PDFInfo
- Publication number
- TWI335516B TWI335516B TW095147149A TW95147149A TWI335516B TW I335516 B TWI335516 B TW I335516B TW 095147149 A TW095147149 A TW 095147149A TW 95147149 A TW95147149 A TW 95147149A TW I335516 B TWI335516 B TW I335516B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- circuit
- mode
- commands
- write
- 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
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Dram (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Microcomputers (AREA)
Description
1335516 九、發明說明: 【發明所屬之技術領域3 發明領域 本發明之實施例係有關一種記憶體系統,其中一記憶 5 體控制器可於一第一模式與一第二模式之間動態改變,其 中該第一模式中,該記憶體控制器提供特定命令來作為分 離的單一命令,而該第二模式中,該記憶體控制器提供代 表該等單一命令之一合併命令。 【先前技術3 10 發明背景 本案提出針對一記憶體系統中之記憶體設備的各種不 同安排。例如,一典型的同步動態隨機存取記憶體(SDRAM) 系統中’記憶體設備透過单向貧料匯流排來傳遞資料’並 透過命令與位址匯流排來接收命令與位址。於一多點下傳 15 (耦合三個或更多點)之組態中,該等記憶體設備具有連接至 該等匯流排之短截。其他設計包括點對點發信號(耦合兩個 點)。該點對點發信號可以是單向或雙向。該發信號可以是 單一位置結束或於不同位置結束。某些系統中,位址、命 令、與寫入資料可位於相同導體上。 20 記憶體控制器提供各種不同的命令至記憶體設備。該 等命令包括一致動命令(ACT)、一預充電命令(PRE)、一讀 取命令(RD)、與一寫入命令(WR)。讀取與寫入命令有時稱 為CAS命令。 記憶體模組包括放置若干記憶體設備之一基體。該等 5 1335516 記憶體設備可僅放置於該基體之一側或該基體之兩側。某 些系統中,一緩衝器亦放置於該基體上。對至少某些信號 而言,該緩衝器介接於該模組之該記憶體控制器(或另一緩 衝器)與該等記憶體設備之間。該類緩衝系統中,該記憶體 5 控制器可以該緩衝器來使用與該緩衝器以及該等記憶體設 備使用的不同信號。多個模組可以是串列與/或並列。一系 統可包括一個或超過一個記憶體頻道。 某些電腦系統於一母板上具有某些内含的記憶體設 備,而於一記憶體模組上具有其他記憶體設備,或是於該 10 母板之一連接器中具有其他卡片。 某些記憶體系統中,該等記憶體設備接收信號並將其 複製至其他記憶體設備,並且提供要求之資料信號至下一 個記憶體設備。讀取資料信號可透過一點對點單向轉回鏈 接,從一序列記憶體設備中之最後一個記憶體設備,或從 15 該序列中非該最後一個記憶體設備之一記憶體設備,以一 種迴圈方式提供至該記憶體控制器。 記憶體控制器已使用於晶片組集線器以及包括一處理 器核心之一晶片中。某些電腦系統包括無線發射器與接收 器電路。 20 【發明内容】 發明概要 依據本發明之一較佳實施例,係特地提出一種晶片, 其包含:一用於包括寫入要求之要求佇列;用以將命令加 以排程之排程電路,該等命令包括響應於該等寫入要求之 6 命令;以及模式選定電路,其用於監控該要求糾,並用 以s應於4要求㈣而為該排程電路選定—第-或一第二 '气/、巾于該第-模式巾,該排程電路將狀命令排程 為分離的單一命令,而于該第二模式中,該排程電路對合 併命令排_絲朗-個分_單—命令。 圖式簡單說明 從以下給定之詳細說明以及從本發明實施例之該等伴 隨圖式可更π全了解本發明,然而’其不應視為將本發明 舰於所狀狀實_巾,而廳為了制與了解目的。 。第1圖是-根據本發明之某些實施例,包括—記憶體控 制器與-讀、體設備之—系統的方塊圖表示型態。 第2圖是一根據本發明之某些實施例,第丨圖之該記憶 體控制器的某些細部圖之方塊圖表示型態。 第3圖是一繪示本發明之某些實施例的某些觀點之流 程圖。 第4圖是一根據本發明之某些實施例,第丨圖之該記憶 體控制器的某些細部圖之方塊圖表示型態。 第5圖是一根據本發明之某些實施例,第1圖之該記憶 體設備的某些細部圖之方塊圖表示型態。 第6圖是一根據本發明之某些實施例,第5圖之一部分 的某些細部圖之方塊圖表示型態。 第7圖與第8圖之每一個是一繪示本發明之某些實施例 的某些觀點之時序圖。 第9圖至第π圖之每一個是一根據本發明之某些實施 例的一系統之方塊圖表示型態。
【實施冷式J 較佳實施例之詳細說明 參照第1圖,一系統1〇包括一記憶體控制器12與一記憶 體設備14。第1圖之該特定實施例中,信號透過一單向點對 點鏈接18從記憶體控制器12承載至記憶體設備14,並透過 一單向點對點鰱接2 〇從記憶體設備14承載至記憶體控制器 12。某些實施例中,鏈接18上之該等信號包括命令、位址、 與寫入資料信號,而鏈接20上之該等信號是讀取資料。如 範例所示,鏈接18包括六條導線而鏈接20包括八條導線, 其中每一條線可具有一個導體或具有不同信號之兩個導 體。傳統上’從記憶體控制器12至記憶體設備14之信號稱 為南向(SB),而從記憶體設備14至記憶體控制器12之信號 稱為北向(NB),但並不需此傳統說法。記憶體設備14可以 是一DRAM或其他類型之記憶體設備。 記憶體控制器12之某些不同實施例提供不同的命令至 記憶體設備14。該等命令包括單一命令(一單一致動命令 (ACT)、—預充電命令(PRE)、一單一讀取命令(RD)、一單 —寫入命令(WR))與合併命令(一合併致動/讀取命令 (ACT/RD)與一合併致動/寫入命令(ACT/WR))。讀取與寫入 命令有時參照為CAS命令。因此,該等ACT/RD與ACT/WR 命令可更普遍地參照為ACT/CAS命令。亦可有額外的命令。 第1圖之該範例中,有更多條線專屬於讀取資料而非該 命令、位址、寫入資料的一原因是,保持該等線路之總數 1335516 量低於一特定數量是令人期待的,而大多數應用傾向更多 的讀取密集度而非寫入密集度。然而,某些情況中,該SB 鏈接18之該可用頻寬(BW)會嚴重受限。用以放大鏈接18之 容量的一種方法是提供合併命令。 5 單一命令之一優點是其較可能作最佳化排程。(該上下 文中,’,最佳化”並不一定表示一數學上最佳化,但可表示 至少通常接近一數學上最佳化。)某些實施例中,藉由適時 (JIT)排程,該命令順序可於一稍後時間或甚至該最後的可 能時間時判定,以造成一最佳化排程。此外,藉由JIT排程, 10於5己憶體設備核心時序限制處附近排程會更有彈性。但不 巧地’具有該等單一命令之一潛在劣勢是鏈接18之命令訊 務流量會增加,因此降低該可用之寫入資wBW,而某些情 況中’會突顯該寫入BW限制的問題。 為了協助此問題,寫入資料訊務流量不是特別高時, 15排程電路32可排程單一命令,而寫入資料訊務流量特別高 時,其可排程合併命令。 第2圖繪示包括於記憶體控制器12之某些實施例中的 某些細部圖’但本發明並不揭限於該等細節中。第12圖包 括一讀取要求彳宁列26與一寫入要求仔列28。來自讀取要求 20佇列26之讀取要求與來自該寫入要求佇列28之寫入要求會 提供至該排程電路32,其可用以響應該等要求而排程記憶 體設備14之讀取與寫入命令。命令狀態選定電路30至少部 分根據寫入要求仵列28之一分析,來決定排程電路32是否 應位於該第一或第二模式中。該第一模式中,排程電路32 9 1335516 排程致動與讀取命令來作為分離的單一命令以及排程致 動與寫入命令來作為分離的單一命令。該第二模式中排 程電路32排程對應的合併致動/讀取以及致動/寫入命令。由 排程電路32排程之命令由發射器36提供至鏈接18。記憶體 5控制器12包括未繪示於第2圖之額外電路。 第3圖是一繪示某些實施例中之記憶體控制器12的某 些觀點之流程圖。其他實施例中,記憶體控制器12可以些 許不同方式來加以操作。參照第3圖,排程電路32考量下一 個命令來排程(方塊40)。若該下一個命令是一預充電命令, 10或是具有一頁面命中之一CAS命令(讀取或寫入),則排程電 路32將該等預充電、讀取、或寫入命令排程為一單一命令。 若欲考量之該下一個命令是一致動命令,則其表示一 讀取或寫入命令將會跟隨。該情況中,若記憶體控制器12 位於該第一模式,則排程電路32將該致動命令排程為一單 15 一命令(方塊42),而若記憶體控制器12位於該第二模式,則 排程電路32將該致動命令排程為一合併命令(act/RD或 ACT/WR)之一部分(方塊46)。決定方塊44代表是否將記憶 體控制器12放置於該第一或第二模式中的決定。 模式選定電路30決定排程電路32是否位於該第一或第 2〇二模式。模式選定電路3〇可具有各種不同的方式來作此判 定。一種方式是設定有關寫入要求佇列之飽滿度的一臨界 總量。該臨界值可以是寫入要求佇列28中之若干寫入要 求。某些實施例中,若寫入要求佇列28中之寫入要求的數 量與該臨界值具有一第一關係,則模式選定電路3〇使排程 10 電路32位於該第—似巾。若彳宁卿中之寫人要求的數量 與該臨界值具有—第二關係’則模式選;t電路3G使排程電 路32位於該第二模式中。某些實施例中,該第—關係是小 於而該第二_是大於或料。其他實_巾,該第一關 係疋小於或等於而該第二義是大於。然而,本發明並不 侷限於將寫人要求之實際數量與—臨界值作比較。 模式選定電路3〇可使用其他方絲蚊記憶體控制器 12應位於何種模式巾。例如,模式選定電㈣可監控不以 一正確的寫人要求來佔有之糾m龍4,而是監控佔 有之空間數量。該類情況中’該等第-與第二關係會不同。 亦可使用其他另外的方法。例如,若有超過-種類型之寫 入要求’職式敎電路30可給定不同的等待至不同的指 令:例如’某些實施例中,模式選定電路3()可根據寫入要 求是否包括一頁面未命中或一頁面命中來不同地加權寫入 要求。此外,一個加權系統中會有一個或兩個臨界值。某 些實施例中,模式選定電路30於決定該模式時,可考量諸 如記憶體設備14之熱度的其他因素。某些實施例中,排程 電路32位於該第一模式來作為一預設條件。 寫入要求之數量可快速超過或低於一臨界值。某些實 施例中,會有超過一個臨界值。例如,會有—個臨界值來 將該第一模式切換為該第二模式,而另一臨界值將該第二 模式切換為該第一模式。 除了有一個包括一讀取/寫入攔位5〇之組合讀取與寫入 要求佇列48之外,第4圖與第2圖相同。該等實施例中,模 1335516 式選定電路30可根據仵列48中正確項目的欄位50之内容, 來考夏有多少寫入要求位於佇列48中。 第5圖緣不根據本發明之某些實施例的記憶體設備14 之細部圖,雖然本發明並不侷限於該等細節中。第5圖中, 5來自鏈接18之錢由接收H 52來接收並提供至信號分離電 路54β寫入資料提供至寫入緩衝器62而命令提供至命令處 理電路56。寫入緩衝器62可如下使用。某些協定令,針對 一寫入要求,首先提供該寫入資料。之後提供一寫入命令 與位址。該寫入資料停留於寫入緩衝器62直到一相關聯命 i 〇令與位址使其寫人核心6 4 (或複製到—下—個記憶體設備 (參見第9圖))。核心64可包括多個觸排以及諸如解碼器之各 種不同其他電路。解碼器亦可包括於核心64之前。某些實 施例並不以此方法來包括一寫入緩衝器以保持寫入資料。 核心64將讀取資料送回内部資料鏈接7〇。發射器”從 15鏈接70接收讀取資料並將其提供至外部鏈接20。 第6圖顯示命令處理電路56之某些實施例的額外細部 圖,但其他實施例中,該電路是不同的而且額外電路可包 括於第6圖之該等實施财。第6圖巾,命令處理電路^包 括βρ $緩衝器86來保持命令與邏輯88,以判定該命令是 2〇否是一合併命令,若是如此,則將其轉譯為單一命令。 再次參照第5圖,若一特定的接收命令是一單一致動命 7、-早-讀取命令、或-單—寫人命令,則命令處理電 路56提供該特定命令至核心64以作為一單一命令然而, 若該讀取或寫入命令是一合併命令,則命令處理電路兄將 12 1335516 該合併命令轉譯為兩個單一命令以提供至核心64。第7圖與 第8圖提供該等說明之範例,但本發明並不褐限於第7圖與 第8圖之該等細節中。 第7圖繪示兩個單一命令(ACT與rD)設置於外部鏈接 5 18的情況。一段時間tPropSB後,其提供至内部命令鏈接 60。因為有兩個單一命令,所以命令處理電路56使其通過。 一時間tRCD是一致動與一讀取命令間之最小時間量。一時 間t C L是核心6 4接收一讀取命令與該讀取資料放置於内部 資料鏈接70之間的時間β 一時間tpropNB是從該讀取資料放 10 置於内部資料鏈接70時至記憶體控制器12透過外部資料鏈 接20將其接收時的時間。注意tRCD、tCL、tpropNB、該等 命令、與讀取資料之相關長度會選擇來便於建立第7圖,而 不意欲相當精確。 第8圖繪示一合併命令ACT/RD設置於外部鏈接18的情 15 況。命令處理電路56將合併命令ACT/RD轉譯為兩個單一命 令ACT與RD,並將其提供至内部命令鏈接60。如第7圖所 示,該讀取資料之後由核心64提供至内部鏈接7〇。 某些實施例中,第7圖之每一個分離命令佔有一個命令 訊框。某些實施例中’不由一命令佔有之任何命令訊框可 20 具有排程之寫入資料。 除了提供鏈接18中之更多可用的訊框’適當使用合併 命令可降低該記憶體設備之整體輸入/輸出電源。然而,如 上所述,使用合併命令會造成次佳的排程,其會依次造成 更多的排程命令。當該等ACT與CAS命令同時排程於鏈接 13 1335516 18時會發生此問題。該ACT命令部分仍是排程jit,但該CAS 部分是其已與JIT排程受排程之前的tRCD時排程。該時間 tRCD計時通過前’排程該CAS可能不再是最佳化。該次佳 排程會實際增加命令之數量而非減少。例如,對於一非最 5佳化排程而言,會發生更多的頁面未命中,其將造成更多 的命令。此將依次限制甚至更多的寫入頻寬。此外,某些 實施例中,該ACT與CAS必須至少分開tRCD的時距來接 收。因此,由於該等限制,排程該ACT之唯一方式是該記 憶體控制器是否可一次排程該ACT而至少tRCD的時距後排 10程該CAS兩者》相較於僅排程一命令,一次排程兩個命令 較不可能是最佳化作法。 本文說明之該需求式排程器可於排程單一命令與合併 命令之間切換。某些實施例中,該需求可根據該目前運作 的工作負載所需之寫入BW總量,其可由該寫入要求仵列之 15該瞬時深度來判定。該寫入BW超過一特定臨界值時,該記 憶體控制器可開始排程合併命令。否則,其將僅排程單一
命"7於是,對於讀取密集之應用而言,該所需之寫入BW 將相當低而該寫入要求佇列之該深度將相當小,所以該排 程器可排程單一命令。然而,對於該系統通常是以單一命 20令限制之寫入BW的寫入密集之應用而言,該寫入要求仔列 會易於變滿,而該記憶體控制器將開始合併命令以嚐試允 許更高的寫入BW。 在不遠離眾所皆知的許多效能情況下,該適合的合併 排程協定可允許使用合併命令提供之節省電源與命令 14 1335516 BW。若僅有該等合併命令受排程,則由於合併命令較不可 能是最佳排程所以效能會將低。若僅有單一命令受排程, 則由於潛在的受限寫入BW所以效能會將低。該適合的合併 演算法藉由僅根據該受測量與預測的寫入BW來合併,以嚐 5 試解決該等兩個缺點。 第7圖與第8圖之該等命令的位址可與該等命令共同以 封包形式來提供或分開提供。雖然不需要,但寫入資料可 與該等命令共同以封包形式來提供。若寫入資料與命令共 同以封包形式來提供,則對該寫入資料而言不需要該命令。 10 除了讀取資料並不用以響應一寫入命令而從核心64提 供之外,具有單一或合併寫入命令之該記憶體設備14的操 作類似第7圖與第8圖,某些實施例中,提供該相關聯寫入 命令之前,該寫入資料提供至寫入緩衝器62。 記憶體控制器12與記憶體設備14可於各種不同系統中 15 提供。每一個記憶體設備可以是一分離的晶片或者超過一 個記憶體設備可包括於一晶片中。參照第9圖,記憶體控制 器112可與記憶體控制器12相同或不同。記憶體設備 120-1... 120-N可與記憶體設備14相同或不同。某些實施例 中,記憶體設備120-1...120-N之每一個是包括於一記憶體 20 模組122之一基體124上的分離晶片。該等晶片可包括於基 體124之一側或每一側。記憶體設備130-1··. 130-N可位於一 記憶體模組132之一基體134上。導體116-1...116-N承載記 憶體模組122與記憶體設備12CM...120-N間之各種不同的 信號。導體126-1...126-N承載記憶體設備120-1...120-N與記 15 憶體設備130-1...i3〇-N間之各種不同的信號。某些實施例 中’導體128-1···128-Ν以一迴圈方式將信號從記憶體設備 13〇-1··.130-Ν提供至記憶體控制器12,但這並不需要。仍 有額外的導體未繪示》 5 某些實施例中,導體116-1 ··· 116-Ν與126-1._· 126-Ν於每 —方向包括單向導體(如第1圖)’而其他實施例中,其於遠 離記憶體控制器112之一方向中僅包括具有信號之單向導 體。其他實施例中,其包括某些雙向導體。信號可從記憶 體控制器112傳送至記憶體設備di — UO-N,而之後由記 10憶體設備120-1 ...120-N複製傳送至記憶體設備 UO-UO-N。導體 116-1.··116-Ν、126-1 …126-N、與 128-1_··128-Ν之每一個包括多條導線,每一導線可以是一 或兩個導體。其他某些實施例中’記憶體設備120-1 ...120-Ν 並不位於一記憶體模組之一基體上’而位於該母板上。此 15 情況中,基體124可代表該母板’而非一記憶體模組之該基 體。而第9圖或其他圖形顯示一單一記憶體設備,亦可有一 連串記憶體設備。 第10圖繪示記憶體設備170-1於一記憶體模 組基體160而記憶體設備19(Μ...19〇-Ν位於一記憶體模組 2〇 基體180之一系統。該等記憶體設備之每一個可與記憶體設 備14相同或不同。一記憶體控制器150可與記憶體控制器12 相同或不同。某些實施例中,記憶體控制器150與記憶體設 備17(M...170-Ν透過缓衝器丨62通訊’而記憶體控制器150 與記憶體設備190-1... 190-Ν透過緩衝器162與182通訊。該 16 1335516 類緩衝系統中,該記憶體控制器可以該緩衝器來使用與該 緩衝器以及該等記憶體設備使用的不同信號。某些實施例 可包括未顯示於第ίο圖之額外導體。 第11圖繪示耦合至一記憶體控制器202之第一與第二 5頻道2〇6與216,其可與記憶體控制器12相同或不同。頻道 • 206與216個別麵合至記憶體模組208與218,其包括諸如本 文所述之記憶體設備。 第12圖中,一記憶體控制器252(其代表任何一種前述 • 之記憶體控制器)包括於一晶片250中,其亦包括一或更多 10處理器核心254。一輸入/輸出控制器晶片256耦合至晶片 250並亦耦合至一無線發射器電路與無線接收器電路258。 第13圖中’記憶體控制器252包括於一集線器晶片274中。 集線器晶片274耦合於一晶片270(其包括一或更多處理器 核心272)與一輸入/輸出控制器晶片278之間。輸入/輸出控 15制器晶片278耦合至無線發射器電路與無線接收器電路 258。 @ 額外資tfl與實施例 本發明並不侷限於第1圖繪示之晶片間的相互連接。一 替代系統中,記憶體控制器12透過鏈接18耦合至記憶體設 2〇備14,但鏈接20耦合至一下一個記憶體設備(例如,同第9 圖之記憶體設備130-1)而非耦合至記憶體控制器12。該讀取 資料透過其他導體(諸如第9圖128-1)耦合至記憶體控制器 12。本案仍可使用其他安排。 除了本文說明之外,仍可使用其他單一與合併命令。 17 1335516 某些實施例中,會有(該揭示内容中未特別說明之)某些合併 命令出現在該第一或第二模式兩者當中。會有(該揭示内容 中未特別說明之)某些合併命令轉譯為三個單一命令。 本發明並不侷限於任何特定的發信號技術或協定。例 5 如,該發信號可以是單一位置結束或於不同位置結束。該 發信號可僅包括兩種電壓準位或超過兩種電壓準位。該發 信號可以是單一資料速率、兩倍資料速率、四倍資料速率、 或八倍資料速率。該發信號可包含編碼符號與/或分封化信 號。一時鐘(或選通)信號可分開從該等信號中發射或内嵌於 10 該等信號中。亦可使用各種不同的編碼技術。本發明並不 侷限於一特定類型的發射器與接收器。各種不同的計時技 術可用於發射器與接收器以及其他電路中。圖形中之該等 接收器符號可包括該初始接收電路以及相關閂鎖與計時電 路兩者。晶片間之每一個導體可以是點對點或者每一個可 15 以是一多點下載的安排,或者某些可以是點對點而其他是 一多點下載的安排。 顯示一或更多模組之該等圖形中,會有一或更多額外 的模組與該等所示之模組並聯與/或串聯。 該等圖形之系統的實際實施態樣中,會有額外的電 20 路、控制線、與或許未繪示之互相連接。當該等圖形顯示 透過導體連接之兩個區塊時,會有未繪示之中間電路。該 等區塊之外型與相關大小並不意欲與實際外型與相關大小 有關。 一實施例是本發明之一實施態樣或範例。規格說明中 18 參照為’’一實施例”某一實施例”、,’某些實施例,,、或,,其 他實施例”表示,與該等實施例相關説明之一特別的特徵、 結構、或特性包括於至少某些實施例中,但不需包括於本 發明之所有實施例中。出見各種不同的,,一實施例”、,,某— 實施例,,、或,,某些實施例,,不需全參照至該等相同的實施 例。 虽提及該元件”枘分至元件”B,,時,元件入可直接耦 合至元件B或透過,例如,元件c來間接耦合。 當該規格說明或申請專利範圍陳述一元件、特徵、結 10構、程序、或特性A”形成,,〜元件、特徵、結構、程序 特性B時,其表示”A”至少是, 虱 5小… & β的心刀因素,但亦可有 至^—個其他元件、特徵、結構、程 有 成,,Β”。 或特性來協助形 若該規格說明陳述一元件、特徵 ' 纟士 15性,,可,,、,,可能, 夠 構、程序、或特 結構、程序括在内,則該特定元件、特徵、 稱程序、或特性並不^括^ ^ h專利範圍參照為”,或,, 〃規格說明或申 該元件。 ,則不表示僅有一個 本發明並不揭限於本文說明之該等特定卜 前述說明與圖式之許多其他* 義本發明之料 利範圍包括其任何的改良⑴ c«式簡單說明】 第1圖是—根據本發明之某些實施例,包括-記憶㈣ 19 1335516 制器與一記憶體設備之一系統的方塊圖表示型態。 第2圖是一根據本發明之某些實施例,第1圖之該記憶 體控制器的某些細部圖之方塊圖表示型態。 第3圖是一繪示本發明之某些實施例的某些觀點之流 5 程圖。 第4圖是一根據本發明之某些實施例,第1圖之該記憶 體控制器的某些細部圖之方塊圖表示型態。 第5圖是一根據本發明之某些實施例,第1圖之該記憶 體設備的某些細部圖之方塊圖表示型態。 10 第6圖是一根據本發明之某些實施例,第5圖之一部分 的某些細部圖之方塊圖表示型態。 第7圖與第8圖之每一個是一繪示本發明之某些實施例 的某些觀點之時序圖。 第9圖至第13圖之每一個是一根據本發明之某些實施 15 例的一系統之方塊圖表示型態。 【主要元件符號說明】 30…命令狀態選定電路 32···排程電路 36…發射器 38…接收器 40…方塊 42…方塊 44…方塊 10…系統 12···記憶體控制器 14···記憶體設備 18…單向點對點鏈接 20…單向點對點鏈接 26…讀取要求仔列 28···寫入要求仵列 20 1335516
46…方塊 48…讀取與寫入要求佇列 50…讀取/寫入欄位 52…接收器 54···信號分離電路 56…命令處理電路 60…内部命令鍵接 62···緩衝器 64···核心 70…内部資料鏈接 72…發射器 86···命令緩衝器 88…邏輯 112···記憶體控制器 116-1〜116-N…導體 120-1〜120-N…記憶體設備 122···記憶體模組 124…基體 126-1〜126-N…導體 128-1〜128-N…導體 130-1〜130-N…記憶體設備 132…記憶體模組 134…基體 150···記憶體控制器 160…基體 162…緩衝器 170-1〜170-N···記憶體設備 180…基體 182…緩衝器 190-1〜190-N…記憶體設備 202…記憶體控制器 206···第一頻道 208…記憶體模組 216…第二頻道 218···記憶體模組 250…晶片 252…記憶體控制器 254···處理器核心 256···輸入/輸出控制器晶片 258···無線發射器電路與無線接 收器電路 270…晶片 21 1335516 272…處理器核心 278···輸入/輸出控制器晶片 274…集線器晶片
22
Claims (1)
1335516 用以將命令加以排程之排程電路,該等命令包括響 應於該等寫入要求之命令; ψ 模式選定電路,其用於監控該要求佇列,並用以響 應於該要求佇列而為該排程電路選定一第一或一第二 ’ · 5 模式,其中于該第一模式中,該排程電路將特定命令排 ,. 程為分離的單一命令,而于該第二模式中,該排程電路 對合併命令排程以代表超過一個分離的單一命令;與 用以發射該等已排程命令之發射器; ^ #合至該等發射器之-鏈路; 10 一第二晶片,其包括: 耦合至該鏈路並用以接收包括該等已排程命令之 信號的接收器; 用以將該等合併命令轉譯為分離的單一命令之命 令處理電路;以及 15 用以接收該等分離的單一命令之一記憶體核心。 ^ 21.如申請專利範圍第20項之系統,其中該等特定命令包括 • 合併成一致動/讀取命令之致動與讀取命令,且該等特 定命令包括合併成一致動/寫入命令之致動與寫入命 〇 •20 22.如申請專利範圍第20項之糸統’其中不論該排程電路處 於該第一或該第二模式中,在無一前置致動命令的情況 下,一讀取命令不會被合併。 23.如申請專利範圍第20項之系統,其中不論該排程電路處 於該第一或該第二模式中,一預充電命令不會被合併。 26 1335516 2 4.如申請專利範圍第2 0項之系統,其中該監控動作包括判 定該要求佇列中之寫入要求的一數量與一臨界值是否 具有一第一或一第二關係,且若該數量與該臨界值具有 一第一關係,則該模式選定電路選定該第一模式,而若 - 5 該數量與該臨界值具有一第二關係,則該模式選定電路 . 選定該第二模式。 25.如申請專利範圍第20項之系統,其中若該排程電路處於 該第一模式且該模式選定電路選定該第一模式,則該排 > 程電路維持不變。 10 26.如申請專利範圍第20項之系統,其中該記憶體裝置是一 第一記憶體裝置;而該記憶體系統更包含額外的鏈路、 以及用來接收來自該等額外鏈路的命令之類似該第一 記憶體裝置的額外記憶體裝置。 27. 如申請專利範圍第20項之系統,其更包含一緩衝器晶 15 片,而該等接收器透過該緩衝器晶片耦合至該鏈路。 28. 如申請專利範圍第20項之系統,其中該第一晶片包括至 少一個處理器核心。 29. 如申請專利範圍第20項之系統,其中該第一晶片耦合至 無線發射器電路與無線接收器電路。 20 27
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/318,028 US7673111B2 (en) | 2005-12-23 | 2005-12-23 | Memory system with both single and consolidated commands |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200732916A TW200732916A (en) | 2007-09-01 |
TWI335516B true TWI335516B (en) | 2011-01-01 |
Family
ID=37898834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW095147149A TWI335516B (en) | 2005-12-23 | 2006-12-15 | Memory system with both single and consolidated commands |
Country Status (6)
Country | Link |
---|---|
US (2) | US7673111B2 (zh) |
EP (1) | EP1963978A1 (zh) |
KR (1) | KR101032550B1 (zh) |
CN (1) | CN101313288B (zh) |
TW (1) | TWI335516B (zh) |
WO (1) | WO2007075316A1 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327115B2 (en) | 2006-04-12 | 2012-12-04 | Soft Machines, Inc. | Plural matrices of execution units for processing matrices of row dependent instructions in single clock cycle in super or separate mode |
US8271746B1 (en) * | 2006-11-03 | 2012-09-18 | Nvidia Corporation | Tiering of linear clients |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US7761669B2 (en) * | 2007-07-10 | 2010-07-20 | International Business Machines Corporation | Memory controller granular read queue dynamic optimization of command selection |
US20090019238A1 (en) * | 2007-07-10 | 2009-01-15 | Brian David Allison | Memory Controller Read Queue Dynamic Optimization of Command Selection |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8239875B2 (en) * | 2007-12-21 | 2012-08-07 | Spansion Llc | Command queuing for next operations of memory devices |
US8914340B2 (en) * | 2008-02-06 | 2014-12-16 | International Business Machines Corporation | Apparatus, system, and method for relocating storage pool hot spots |
US8423739B2 (en) * | 2008-02-06 | 2013-04-16 | International Business Machines Corporation | Apparatus, system, and method for relocating logical array hot spots |
US8055835B2 (en) * | 2008-06-23 | 2011-11-08 | International Business Machines Corporation | Apparatus, system, and method for migrating wear spots |
EP2414944A4 (en) * | 2009-03-30 | 2012-10-17 | Rambus Inc | MEMORY SYSTEM, CONTROL UNIT AND DEVICE SUPPORTING A FUSED MEMORY CONTROL PROTOCOL |
US8140767B2 (en) * | 2009-06-04 | 2012-03-20 | International Business Machines Corporation | Cache management through delayed writeback |
KR20120092220A (ko) * | 2011-02-11 | 2012-08-21 | 삼성전자주식회사 | 인터페이스 장치 및 이를 포함하는 시스템 |
EP2689326B1 (en) | 2011-03-25 | 2022-11-16 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
TWI603198B (zh) * | 2011-05-20 | 2017-10-21 | 英特爾股份有限公司 | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 |
KR101804521B1 (ko) * | 2011-08-16 | 2017-12-07 | 에스케이하이닉스 주식회사 | 집적회로 칩, 이를 포함하는 시스템 및 동작방법, 메모리 및 메모리 시스템 |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
KR102025088B1 (ko) * | 2012-09-03 | 2019-09-25 | 삼성전자 주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치 |
US9740485B2 (en) | 2012-10-26 | 2017-08-22 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
US9754648B2 (en) | 2012-10-26 | 2017-09-05 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9734097B2 (en) | 2013-03-15 | 2017-08-15 | Micron Technology, Inc. | Apparatuses and methods for variable latency memory operations |
CN105247484B (zh) | 2013-03-15 | 2021-02-23 | 英特尔公司 | 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法 |
KR102114453B1 (ko) * | 2013-07-19 | 2020-06-05 | 삼성전자주식회사 | 모바일 장치 및 그것의 제어 방법 |
US9727493B2 (en) | 2013-08-14 | 2017-08-08 | Micron Technology, Inc. | Apparatuses and methods for providing data to a configurable storage area |
KR102157769B1 (ko) | 2013-10-28 | 2020-09-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US10365835B2 (en) | 2014-05-28 | 2019-07-30 | Micron Technology, Inc. | Apparatuses and methods for performing write count threshold wear leveling operations |
US10310923B1 (en) | 2014-08-28 | 2019-06-04 | Seagate Technology Llc | Probabilistic aging command sorting |
US9530468B2 (en) * | 2014-09-26 | 2016-12-27 | Intel Corporation | Method, apparatus and system to manage implicit pre-charge command signaling |
JPWO2016114269A1 (ja) * | 2015-01-15 | 2017-09-21 | シャープ株式会社 | 情報処理装置およびその制御方法 |
US10831403B2 (en) | 2017-05-19 | 2020-11-10 | Seagate Technology Llc | Probabalistic command aging and selection |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0164735A3 (en) * | 1984-06-11 | 1988-11-09 | Nec Corporation | A microprocessor having a dynamic memory refresh circuit |
US6023745A (en) * | 1996-08-08 | 2000-02-08 | Neomagic Corporation | Scoreboarding for DRAM access within a multi-array DRAM device using simultaneous activate and read/write accesses |
US5991819A (en) * | 1996-12-03 | 1999-11-23 | Intel Corporation | Dual-ported memory controller which maintains cache coherency using a memory line status table |
US6098133A (en) * | 1997-11-28 | 2000-08-01 | Motorola, Inc. | Secure bus arbiter interconnect arrangement |
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 |
US7024518B2 (en) * | 1998-02-13 | 2006-04-04 | Intel Corporation | Dual-port buffer-to-memory interface |
US6295586B1 (en) * | 1998-12-04 | 2001-09-25 | Advanced Micro Devices, Inc. | Queue based memory controller |
JP2000252795A (ja) * | 1999-02-26 | 2000-09-14 | Oki Micro Design Co Ltd | 移動平均フィルタ |
US6430683B1 (en) * | 1999-06-25 | 2002-08-06 | International Business Machines Corporation | Processor and method for just-in-time delivery of load data via time dependency field |
US6273759B1 (en) * | 2000-04-18 | 2001-08-14 | Rambus Inc | Multi-slot connector with integrated bus providing contact between adjacent modules |
US6470433B1 (en) * | 2000-04-29 | 2002-10-22 | Hewlett-Packard Company | Modified aggressive precharge DRAM controller |
US6831924B1 (en) * | 2000-07-20 | 2004-12-14 | Silicon Graphics, Inc. | Variable mode bi-directional and uni-directional computer communication system |
JP2002063791A (ja) * | 2000-08-21 | 2002-02-28 | Mitsubishi Electric Corp | 半導体記憶装置およびメモリシステム |
US6799254B2 (en) | 2001-03-14 | 2004-09-28 | Hewlett-Packard Development Company, L.P. | Memory manager for a common memory |
US6674648B2 (en) * | 2001-07-23 | 2004-01-06 | Intel Corporation | Termination cards and systems therefore |
US6877071B2 (en) * | 2001-08-20 | 2005-04-05 | Technology Ip Holdings, Inc. | Multi-ported memory |
US6769050B1 (en) * | 2001-09-10 | 2004-07-27 | Rambus Inc. | Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules |
US6615326B1 (en) | 2001-11-09 | 2003-09-02 | Lsi Logic Corporation | Methods and structure for sequencing of activation commands in a high-performance DDR SDRAM memory controller |
US6766385B2 (en) * | 2002-01-07 | 2004-07-20 | Intel Corporation | Device and method for maximizing performance on a memory interface with a variable number of channels |
US20030217223A1 (en) * | 2002-05-14 | 2003-11-20 | Infineon Technologies North America Corp. | Combined command set |
US7043599B1 (en) * | 2002-06-20 | 2006-05-09 | Rambus Inc. | Dynamic memory supporting simultaneous refresh and data-access transactions |
US6954822B2 (en) * | 2002-08-02 | 2005-10-11 | Intel Corporation | Techniques to map cache data to memory arrays |
US20040236921A1 (en) * | 2003-05-20 | 2004-11-25 | Bains Kuljit S. | Method to improve bandwidth on a cache data bus |
US6785190B1 (en) * | 2003-05-20 | 2004-08-31 | Intel Corporation | Method for opening pages of memory with a single command |
US7519762B2 (en) * | 2003-09-30 | 2009-04-14 | Intel Corporation | Method and apparatus for selective DRAM precharge |
US7167946B2 (en) * | 2003-09-30 | 2007-01-23 | Intel Corporation | Method and apparatus for implicit DRAM precharge |
US7127574B2 (en) * | 2003-10-22 | 2006-10-24 | Intel Corporatioon | Method and apparatus for out of order memory scheduling |
US7243205B2 (en) * | 2003-11-13 | 2007-07-10 | Intel Corporation | Buffered memory module with implicit to explicit memory command expansion |
US7281079B2 (en) * | 2003-12-31 | 2007-10-09 | Intel Corporation | Method and apparatus to counter mismatched burst lengths |
KR100689746B1 (ko) * | 2005-02-16 | 2007-03-08 | 주식회사 부강샘스 | 무선 하드 디스크 드라이브 |
-
2005
- 2005-12-23 US US11/318,028 patent/US7673111B2/en not_active Expired - Fee Related
-
2006
- 2006-07-21 US US11/491,312 patent/US7752411B2/en not_active Expired - Fee Related
- 2006-12-07 KR KR1020087015261A patent/KR101032550B1/ko not_active IP Right Cessation
- 2006-12-07 WO PCT/US2006/047148 patent/WO2007075316A1/en active Application Filing
- 2006-12-07 CN CN200680043933.2A patent/CN101313288B/zh not_active Expired - Fee Related
- 2006-12-07 EP EP06839286A patent/EP1963978A1/en not_active Withdrawn
- 2006-12-15 TW TW095147149A patent/TWI335516B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1963978A1 (en) | 2008-09-03 |
US7673111B2 (en) | 2010-03-02 |
KR101032550B1 (ko) | 2011-05-06 |
CN101313288A (zh) | 2008-11-26 |
CN101313288B (zh) | 2014-12-10 |
TW200732916A (en) | 2007-09-01 |
KR20080069272A (ko) | 2008-07-25 |
US7752411B2 (en) | 2010-07-06 |
US20070150687A1 (en) | 2007-06-28 |
US20070150688A1 (en) | 2007-06-28 |
WO2007075316A1 (en) | 2007-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI335516B (en) | Memory system with both single and consolidated commands | |
US11151027B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
US8347005B2 (en) | Memory controller with multi-protocol interface | |
CN109690508B (zh) | 带虚拟控制器模式的存储器控制器 | |
US20070083701A1 (en) | Power throttling in a memory system | |
TW200931250A (en) | Memory controller for performing memory block initialization and copy | |
US11494316B2 (en) | Memory controller with a plurality of command sub-queues and corresponding arbiters | |
US20080016281A1 (en) | System, method and storage medium for providing data caching and data compression in a memory subsystem | |
KR20170104110A (ko) | 동기 혹은 비동기 메모리 장치들을 위한 적응 메커니즘 | |
US20120137090A1 (en) | Programmable Interleave Select in Memory Controller | |
US20060010279A1 (en) | Apparatus for use in a computer systems | |
JP7195486B1 (ja) | 異種メモリシステムに対するシグナリング | |
US7899940B2 (en) | Servicing commands | |
KR20200100151A (ko) | 집단화된 메모리 장치에 대한 메모리 요청 스케줄링 | |
US12112069B2 (en) | Memory module and computing device containing the memory module | |
TW200928751A (en) | An optimal solution to control data channels | |
US20070156937A1 (en) | Data transfer in multiprocessor system | |
US7272692B2 (en) | Arbitration scheme for memory command selectors | |
US20090013144A1 (en) | Integrated circuit, and integrated circuit system | |
US11010114B2 (en) | Read/write direction-based memory bank control for imaging | |
CN101739367A (zh) | 多类总线存储控制的方法与装置 | |
US10614001B1 (en) | Memory control method, memory control apparatus, and image forming method that uses memory control method | |
WO2016051436A1 (en) | Data transfer apparatus | |
KR101815601B1 (ko) | 스택형 메모리 시스템 및 이를 위한 인터리빙 제어 방법 | |
JP2005215980A (ja) | バス制御システムおよびバス制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |