专利摘要:
本發明揭示一種支援錯誤偵測及校正(EDC)涵蓋之記憶體系統。該系統包含一記憶體控制器及一記憶體緩衝器。該記憶體緩衝器包含至一第一記憶體裝置群組之一介面及至一第二記憶體裝置群組之一介面。該記憶體緩衝器自該第一記憶體裝置群組存取資料及自該第二裝置群組存取對應於該資料之第一錯誤資訊。該記憶體緩衝器亦自該第二記憶體裝置群組存取額外資料及自該第一記憶體裝置群組中之一裝置存取對應於該額外資料之第二錯誤資訊。EDC涵蓋亦可由該記憶體控制器組態以使得某些資料存取具有EDC涵蓋且其他資料存取不具有EDC涵蓋。
公开号:TW201303880A
申请号:TW101119217
申请日:2012-05-29
公开日:2013-01-16
发明作者:Ian Shaeffer
申请人:Rambus Inc;
IPC主号:G06F11-00
专利说明:
用於錯誤偵測及校正涵蓋之記憶體系統
本發明係關於記憶體系統,且更特定而言係關於包含錯誤偵測及校正功能性之一記憶體系統之組件。
記憶體系統使用錯誤偵測及校正(EDC)技術來偵測及校正在記憶體存取期間發生之錯誤。藉由將資料連同一相關聯錯誤校正碼(ECC)儲存於記憶體中EDC技術操作。取決於可用ECC位元之數目及資料中之錯誤之數目,可偵測及/或修正錯誤。
藉由結合附圖考量以下詳細說明,可容易地理解本文中之實施例之教示內容。
本發明之實施例係關於支援EDC涵蓋之一記憶體系統之組件。在一項實施例中,一記憶體控制器產生存取資料之命令並將該等存取命令傳輸至一記憶體緩衝器。該記憶體緩衝器可係定位於包含至少兩個記憶體裝置群組之一記憶體模組上。在一個資料存取異動期間,該記憶體緩衝器自該第一記憶體裝置群組存取資料且自該第二記憶體裝置群組存取對應於該資料之錯誤資訊(例如,ECC)。在另一資料存取異動期間,該緩衝器自該第二記憶體裝置群組存取額外資料且自該第一記憶體裝置群組存取對應於該額外資料之錯誤資訊。透過一記憶體緩衝器處置資料存取允許在對現有無EDC之記憶體控制器無修改或對其僅最小修改之情況下添加EDC能力至記憶體系統。舉例而言,可在不使資料匯流排加寬8個位元用以攜載錯誤資訊或添加一額外記憶體裝置用以儲存錯誤資訊之情況下將EDC能力添加至具有一標準64位元寬之資料匯流排之一記憶體控制器。
在某些實施例中,記憶體緩衝器之EDC涵蓋係可組態的。EDC可係針對所有記憶體存取靜態啟動,或僅針對特定記憶體存取選擇性啟動。某些位址範圍亦可由記憶體控制器經程式化至記憶體緩衝器中作為應具備EDC涵蓋之位址。一可組態記憶體緩衝器之使用使得能夠根據一記憶體系統之特定需求裁適EDC涵蓋。
注意,本發明通篇中之術語「錯誤資訊」廣泛地定義為可與偵測及/或校正發生於儲存於一記憶體系統中之資料內之一錯誤一起使用或相關聯之任何資訊。此外,本規範通篇中之術語「錯誤校正碼」(ECC)指代用於一記憶體系統中用於錯誤偵測及校正之錯誤資訊。
現將詳細地參考本發明之數項實施例,其實例圖解說明於附圖中。注意,在任何可行之處圖中可使用相似或相同之元件符號且可指示相似或相同之功能性。圖繪示本發明之實施例僅出於圖解說明之目的。依據以下闡述,熟習此項技術者將容易認識到,在不背離本文中所述之本發明原理或其所高度評價之益處之情況下,可採用本文中所圖解說明之結構及方法之替代實施例。
圖1圖解說明根據一項實施例之用於EDC涵蓋之一記憶體系統100。記憶體系統100透過一主要命令/位址(PCA)鏈路154及主要資料(PDQ)鏈路150-1及150-2耦合至兩個記憶體模組110-1及110-2之一記憶體控制器104。PDQ鏈路150可攜載資料信號、資料選通信號、資料遮罩信號等。PCA鏈路154可攜載位址信號、記憶體庫位址信號、晶片選擇信號、時脈信號、時脈啟用信號、列位址選通(RAS)信號、行位址選通(CAS)信號、重置信號、寫入啟用信號等。在某些實施例中,PCA鏈路可係用於沿記憶體控制器104與記憶體模組110之間的兩個方向攜載信號之一雙向鏈路。
在一項實施例中,記憶體系統100具有一多點式拓撲。在一多點式拓撲中,每一記憶體模組110係直接連接至PDQ鏈路150-1及150-2兩者。在其他實施例中,系統100具有一動態點對點(DPP)拓撲。在一DPP拓撲中,PDQ鏈路150之每一半係直接連接至僅一單個記憶體模組110。舉例而言,PDQ鏈路150-1將直接連接至模組110-1且PDQ鏈路150-2將直接連接至模組110-2。若模組110-2不存在,則將在其位置中使用一連續模組以經由耦合於該連續模組與記憶體模組110-1兩者之間的一單獨鏈路(未展示)達成PDQ鏈路150-2與模組110-1之間的一連接。
每一記憶體模組110包含一記憶體緩衝器102及十六個記憶體裝置120。記憶體緩衝器102係透過次要命令/位址(SCA)鏈路(未展示)及次要資料(SDQ)鏈路(未展示)與記憶體裝置120連通之一積體電路裝置。記憶體緩衝器120經由PCA鏈路154自記憶體控制器104接收命令。在一項實施例中,該等命令係用於存取儲存於記憶體裝置120中之資料及ECC。記憶體緩衝器102解碼該等命令中之位址,藉助該等經解碼位址自記憶體裝置擷取資料及相關聯ECC,對資料執行EDC操作及經由PDQ 150鏈路將資料傳輸至記憶體控制器104。有益地,記憶體緩衝器102使得能夠在對現有無EDC之記憶體控制器無修改或對其僅最小修改之情況下添加EDC能力至記憶體系統。
在某些實施例中,記憶體緩衝器102自記憶體控制器104接收指示資料是否與ECC相關聯之資訊。某些資料存取可具有相關聯ECC,且其他資料存取可不具有相關聯ECC。若資料與ECC相關聯,則記憶體緩衝器102擷取ECC並執行EDC操作。
記憶體裝置120係表示任一類型之記憶體(舉例而言,動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)或非揮發性記憶體)之積體電路裝置。記憶體裝置120儲存可由記憶體緩衝器102存取之資料及相關聯ECC。在一項實施例中,ECC散佈於各種記憶體裝置120當中以使得ECC不集中於一單個記憶體裝置120內。每一記憶體裝置120之一部分因此經分配用於資料且每一記憶體裝置120之另一部分經分配用於ECC。在某些實施例中,針對一特定資料存取異動,將資料及與彼資料相關聯之ECC映射至單獨記憶體裝置120,此使得能夠同時擷取資料及用於資料之ECC。
一記憶體裝置120之內部儲存空間經劃分成記憶體庫、列及行。舉例而言,一單個記憶體裝置120可具有8個記憶體庫、32,768個列及4096個行。可藉由確證一晶片選擇信號至一記憶體裝置120及提供適當記憶體庫位址、列位址及行位址來將資訊(亦即,資料及ECC)儲存至記憶體裝置120及自其擷取。
每一模組110之記憶體裝置120經組織成邏輯排(logical rank)。在本發明之上下文中,一排係可針對一特定記憶體異動存取之一組記憶體裝置。如所示,記憶體模組110-1經劃分成四排記憶體裝置120。記憶體裝置120-1係位於記憶體模組110-1之前面上且形成一個記憶體裝置排。記憶體裝置120-2係位於記憶體模組110-1之背面上且形成一第二記憶體裝置排。記憶體裝置120-3係位於記憶體模組110-1之前面上且形成一第三記憶體裝置排。記憶體裝置120-4係位於記憶體模組110-1之背面上且形成一第四記憶體裝置排。在其他實施例中,所有記憶體裝置排可位於記憶體模組110-1之相同側上。記憶體模組110-2之組態係類似於記憶體模組110-1之組態。
記憶體裝置120之排亦經組織成「排群組」。排群組係由於(舉例而言)一資料鏈路之共用而具有一互依性之排之群組。排群組因缺少此互依性而彼此分離。舉例而言,參考模組110-1,形成兩個單獨記憶體排之記憶體裝置120-1及120-2係在排群組0(RG0)中。亦形成兩個單獨記憶體排之記憶體裝置120-3及120-4係在排群組1(RG1)中。一排群組(例如,RG0)中之記憶體裝置排係可藉由記憶體緩衝器102-1獨立於其他排群組(例如,RG1)中之記憶體裝置排而定址以使得可將不同同時命令傳輸至排群組RG0及RG1。類似地,模組110-2之記憶體裝置排亦可經劃分成單獨排群組(例如,RG2及RG3)。
雖然圖1圖解說明具有兩個記憶體模組110及每模組十六個記憶體裝置120之一記憶體系統100,但其他實施例可具有不同數目個記憶體模組110或記憶體裝置120。另外,圖1中之記憶體裝置120意欲表示一次傳送八個位元之資料之×8記憶體裝置。在其他實施例中,記憶體模組110可具有其他類型之記憶體裝置120,諸如,×4、×16或×32記憶體裝置。
現在參考圖2,圖解說明根據一實施例之來自圖1之記憶體系統100之一較詳細視圖。圖中展示一記憶體控制器104及一單個記憶體模組110-1。出於清晰目的,僅展示一個記憶體模組110-1。記憶體模組110-2之組態係類似於圖2中所示之模組110-1之組態。
記憶體控制器104包含產生存取命令及用於存取儲存於記憶體裝置120中之資料及錯誤資訊之其他控制資訊之一主機邏輯電路256。該等命令包含對應於資料及錯誤資訊在記憶體裝置120中之位置之位址資訊。主機邏輯電路256提供該等命令至一介面電路250,該介面電路250經由PCA鏈路154傳輸命令至記憶體模組110。主機邏輯電路256亦經由PDQ鏈路150及介面250自記憶體模組110傳輸及接收資料。一般而言,將在本文中經闡述為由記憶體控制器104執行之任何操作理解為由主機邏輯256及/或介面電路250予以執行。
記憶體模組110-1包含一記憶體緩衝器102-1及數個記憶體裝置120。記憶體裝置120經組織成排,該等排又組織成排群組,諸如排群組0及排群組1。每一排群組中之記憶體裝置120排係可獨立於其他排群組中之記憶體裝置120排而定址。排群組0中之裝置120排經由一次要命令/位址匯流排(SCA0)202自緩衝器102-1接收命令且經由一次要資料匯流排(SDQ0)206與緩衝器102-1傳送資料。排群組1中之裝置120排經由次要命令/位址匯流排(SCA1)204自緩衝器102-1接收命令且經由次要資料匯流排(SDQ1)208與緩衝器102-1傳送資料。
在一項實施例中,記憶體裝置120係由獨立晶片選擇信號控制。舉例而言,晶片選擇信號SCA0_CS[7:0]獨立地連接至排群組0中之記憶體裝置120中之每一者。晶片選擇信號SCA1_CS[7:0]係獨立地連接至排群組1中之記憶體裝置120中之每一者。經選擇之裝置120將對來自記憶體緩衝器102-1之傳入命令作出回應,而解除選擇之裝置120將忽略傳入命令。獨立晶片選擇信號之使用允許選擇一個記憶體裝置排用於接收一命令同時解除選擇相同排群組中之其他記憶體裝置排。此外,獨立晶片選擇信號之使用允許選擇一單個記憶體排內之一或多個記憶體裝置120用於接收一命令同時解除選擇相同排中之剩餘裝置。舉例而言,當存取ECC時,晶片選擇信號可經選擇性地確證以選擇一記憶體裝置120排中之一或多個記憶體裝置120。
記憶體緩衝器102-1包含用於與記憶體控制器104及記憶體裝置120傳遞信號之數個介面電路。記憶體緩衝器102-1經由介面294與記憶體控制器104連通。記憶體緩衝器102-1經由介面290與排群組0中之記憶體裝置120連通。記憶體緩衝器102-1經由介面292與排群組1中之記憶體裝置120連通。
記憶體緩衝器102-1亦包含一緩衝器控制電路240。在一項實施例中,緩衝器控制電路240經由介面294及PCA鏈路154自記憶體控制器104接收一或多個存取命令。該(等)存取命令包含用於自記憶體裝置120存取資料及ECC之一主要記憶體位址。緩衝器控制電路240將該主要位址解碼成用於存取資料及與該資料相關聯之ECC之多個次要位址。用於存取資料之次要位址在本文中稱作資料位址。用於存取ECC之次要位址在本文中稱作錯誤位址。結合圖5A至圖5D闡釋將主要位址解碼成次要位址之各種實施例。
可經由SCA0 202及SCA1 204將次要位址提供至記憶體裝置用以存取資料及用於該資料之ECC。在一項實施例中,記憶體緩衝器102藉助一或多個資料位址自一第一排群組(例如,排群組0)中之一記憶體裝置排存取資料同時藉助一錯誤位址自來自一第二排群組(例如,排群組1)中之一記憶體排之一或多個記憶體裝置存取對應於所存取資料之ECC。結合圖3A及圖3B更詳細闡釋此實施例。結合圖6及圖7闡釋存取資料及ECC之其他實施例。
記憶體裝置120經由次要資料匯流排206及208以及介面電路290及292將位於特定資料及錯誤位址處之資料及ECC傳輸至控制電路240。緩衝器控制電路240對資料及ECC位元執行一EDC操作以判定資料是否含有任何錯誤。若資料不含有錯誤,則緩衝器控制電路240經由PDQ 150鏈路將資料傳輸至記憶體控制器104。若資料含有一可校正錯誤,則緩衝器控制電路240校正錯誤並經由介面294及PDQ鏈路150將所校正資料傳輸至記憶體控制器104。若資料含有一不可校正錯誤,緩衝器控制電路240將未校正資料傳輸至記憶體控制器104。在一項實施例中,控制電路240可藉由傳輸錯誤之一指示來向記憶體控制器104指示一錯誤之存在。舉例而言,控制電路240可確證係PDQ鏈路150之一部分之一資料遮罩信號或確證係PCA鏈路154之一部分之一邊帶信號以指示所讀取資料中之一錯誤之存在。有益地,處置一記憶體緩衝器102-1中之EDC操作使得能夠在對傳統所用之無EDC記憶體控制器104幾乎無修改之情況下將EDC能力添加至具有記憶體控制器104之系統100。
類似於讀取存取執行寫入存取。針對寫入存取,緩衝器控制電路240經由PCA鏈路154自記憶體控制器104接收一主要位址並將該位址解碼成多個次要位址(例如,資料位址及錯誤位址)。緩衝器控制電路240亦經由PDQ鏈路150自記憶體控制器104接收資料並產生用於資料之ECC。緩衝器控制電路240使用資料位址將所接收資料儲存至記憶體裝置120中。控制電路240亦使用錯誤位址將用於資料之ECC儲存至記憶體裝置120中。
在一項實施例中,EDC涵蓋係選用的,意指並非所有資料存取將具有與其相關聯之ECC。在一項實施例中,針對所有記憶體存取而靜態啟用EDC涵蓋。在系統啟動期間,記憶體控制器104可傳輸一指示至記憶體緩衝器102以將所有資料存取命令視為具有EDC涵蓋。該指示可係(舉例而言)在PCA 154鏈路上傳輸之一單獨命令。在接收該指示時,記憶體緩衝器102-1將所有隨後資料存取命令視為具有EDC涵蓋。
在另一實施例中,EDC涵蓋係基於每存取而判定。記憶體控制器104向緩衝器102-1指示在每一資料存取異動之情況下資料是否具有相關聯EDC涵蓋。此指示可係(舉例而言)針對資料之一存取命令中之一旗標(例如,一特定位元或操作碼),或歸屬於經預定與EDC涵蓋相關聯之一特定位址範圍內之存取命令中之一位址。若緩衝器102-1依據指示判定用於存取之資料具有EDC涵蓋,則緩衝器102-1嘗試存取對應於該資料之ECC。若緩衝器102-1判定用於存取之資料不具有EDC涵蓋,則緩衝器102-1不存取對應於該資料之任何ECC。
在一項實施例中,在指示係歸屬於與EDC涵蓋相關聯之一預定位址範圍內之一位址之情況下,預定位址係可程式化。舉例而言,緩衝器控制電路240可具有可經設定為不同模式之一暫存器(未展示)。在一第一模式中,EDC涵蓋係針對所有列位址停用,有小弟停用EDC涵蓋。在一第二模式中,EDC涵蓋係針對所有列位址停用。在一第三模式中,針對歸屬於一特定列位址範圍內之列位址的一半(例如,以位元「1」開頭之位址)而啟用EDC涵蓋。在一第四模式中,針對歸屬於一特定列位址範圍內之列位址的四分之一(例如,以位元「11」開頭之位址)而啟用EDC涵蓋。記憶體控制器104可(舉例而言)藉由使用將暫存器設定為一特定模式之一命令在主機邏輯電路256中產生設定且然後經由介面250及PCA鏈路154將位址範圍設定傳輸至記憶體緩衝器102-1來設定暫存器。
在另一實施例中,與全位址空間涵蓋所需要之位址空間相比,位址空間之一較小部分經分配用於ECC。記憶體緩衝器102-1將來自記憶體控制器104之傳入記憶體位址重映射至經分配用於ECC之空間或至未分配用於ECC之空間(取決於存取命令)。該映射可儲存於指定傳入位址與記憶體裝置120之實際位址之間的映射之一查找表中。此實施例特別適用於使用位址重映射來解決平準化問題之非揮發性記憶體。
圖3A及圖3B圖解說明根據一項實施例之提供EDC涵蓋用於圖1之記憶體系統。圖3A及圖3B展示針對每一資料存取異動,自不同排群組讀取資料及用於資料之ECC。圖3A及圖3B中所示之記憶體存取亦意欲表示一系列記憶體存取。換言之,圖3A中之記憶體存取係在圖3B中之記憶體存取之後或之前。
參考圖3A,展示包含兩個記憶體模組110及一記憶體控制器104之圖1之記憶體系統100。記憶體控制器104經由PCA鏈路154發送一或多個命令至記憶體模組110-1之記憶體緩衝器102-1用以自記憶體模組110-1之記憶體裝置存取資料。該(等)命令包含記憶體緩衝器102-1將其解碼成多個次要位址之一主要位址。次要位址中之一或多者用於自排群組0存取資料。用於此資料存取之資料之位置係以字母「D」指示。同時,次要位址中之一或多者用於自排群組1中之一單個記憶體裝置320存取ECC。用於此資料存取之ECC之位置係以字母「E」指示。為減少ECC存取期間之電力消耗,可確證用於儲存ECC之記憶體裝置320之晶片選擇信號(未展示)同時可解除確證用於排群組1中之剩餘記憶體裝置之晶片選擇信號。記憶體緩衝器102-1依據自排群組1所擷取之ECC檢查自排群組0所擷取之資料以偵測及校正任何資料錯誤。然後經由PDQ鏈路150-1將所得資料傳輸至記憶體控制器104。
存取第一模組110-1中之資料僅取用PDQ鏈路150上可用之記憶體頻寬之一半。為利用所有可用頻寬(亦即,PDQ[31:0]鏈路150-1及PDQ[63:32]鏈路150-2兩者),記憶體控制器104亦經由PCA鏈路154發送一或多個命令至模組110-2之記憶體緩衝器102-2用以自模組110-2之記憶體裝置存取資料。該(等)命令包含緩衝器102-2將其解碼成多個次要位址之一主要位址。該等位址中之一或多者用於自排群組3存取資料。同時,該等位址中之一或多者用於自排群組2中之一單個記憶體裝置存取ECC。記憶體緩衝器102-2依據自排群組2所擷取之ECC檢查自排群組3所擷取之資料以偵測並校正任何資料錯誤。然後經由PDQ鏈路150-2將所得資料傳輸至記憶體控制器104。在一項實施例中,由記憶體控制器104傳輸至兩個記憶體模組110-1及110-2之命令在時間上彼此靠近後續以使得利用PDQ鏈路150之全頻寬。
圖3B係類似於圖3A中之系統且展示在圖3A中之資料存取異動之前或之後發生之不同資料存取異動。在圖3B中,記憶體控制器104經由PCA鏈路154發送一或多個命令至記憶體模組110-1之記憶體緩衝器102-1用以自記憶體模組110-1之記憶體裝置存取資料。該(等)命令包含緩衝器102-1將其解碼成多個次要位址之一位址。該等位址中之一或多者用於自排群組1存取資料。同時,該等位址中之一或多者用於自排群組0中之一單個記憶體裝置存取ECC。記憶體緩衝器102-1依據自排群組1所擷取之ECC檢查自排群組0所擷取之資料以偵測並校正任何資料錯誤。然後經由PDQ鏈路150-1將所得資料傳輸至記憶體控制器104。
記憶體控制器104亦經由PCA鏈路154發送一或多個命令至模組110-2之緩衝器102-2用以自模組110-2之記憶體裝置存取資料。該(等)命令包含緩衝器102-2將其解碼成多個次要位址之一位址。該等位址中之一或多者用於自排群組2存取資料。同時,該等位址中之一或多者用於自排群組3中之一單個記憶體裝置存取ECC。記憶體緩衝器102-2依據自排群組3所擷取之ECC檢查自排群組2所擷取之資料以偵測並校正任何資料錯誤。然後經由PDQ鏈路150-2將所得資料傳輸至記憶體控制器104。
圖4A及圖4B分別係圖3A及圖3B中之記憶體存取之時序圖。具體而言,圖4A展示記憶體控制器104如何自圖3A中之記憶體模組110-1存取資料。圖4B展示記憶體控制器104如何自圖3B中之記憶體模組110-1存取資料。時序圖並非針對記憶體控制器104及其他記憶體模組110-2之間的記憶體存取異動展示,儘管用於此等異動之時序係類似於圖4A至圖4B中針對記憶體模組110-1所示之時序。圖4A及圖4B係結合圖2及圖3A及圖3B所闡釋。
在圖4A中,記憶體控制器104經由PCA 154鏈路傳輸一主要啟動命令(ACT)(後續接著一主要讀取命令(RD))至記憶體緩衝器102。一啟動命令包含一列位址且意欲啟動記憶體之一特定記憶體庫之一特定列以準備一資料存取。一讀取命令包含一行位址且意欲自所啟動列之一特定行讀取資料。兩個命令亦包含用於選擇記憶體之一特定記憶體庫之一記憶體庫位址及用於選擇該等命令意欲用於之一或多個記憶體裝置之晶片選擇資訊。
記憶體模組110-1之記憶體緩衝器102-1將由所接收命令所指定之位址資訊(記憶體庫、列、行及晶片選擇位址)解碼成次要位址。該等次要位址用於自記憶體裝置120擷取資料及ECC。特定而言,ACT及RD經解碼成用於產生資料啟動(ACTD)命令及資料讀取(RD1及RD2)命令之兩個資料位址。該等命令係經由用於擷取資料之SCA0 202鏈路傳輸至排群組0中之裝置。排群組0中之一個記憶體裝置120排藉由在SDQ0 206鏈路上提供資料(DATA1)來對RD1命令作出回應。排群組0中之相同記憶體裝置排藉由在SDQ0 206鏈路上提供資料(DATA2)來對RD2命令作出回應。
ACT及RD亦經解碼成用於產生ECC啟動(ACTE)命令及ECC讀取(RDE)命令之一錯誤位址。ACTE命令及RDE命令係經由用於擷取ECC資訊之SCA1 204鏈路傳輸至排群組1中之裝置。排群組1中之一排中之記憶體裝置(例如,圖3A中之裝置320)中之一者藉由經由SDQ1 208鏈路提供用於資料之ECC(ECCDATA)來對RDE命令作出回應。在一項實施例中,晶片選擇信號係僅經確證至儲存與DATA1及DATA2相關聯之ECCDATA之一單個裝置。僅經選擇裝置將藉由在SDQ1鏈路上提供ECCDATA來對RDE命令作出回應同時排群組1中之剩餘裝置將不在SDQ1鏈路上傳輸任何資訊。
記憶體緩衝器102-1自記憶體裝置120接收DATA1、DATA2及ECCDATA並使用ECCDATA檢查DATA1及DATA2之錯誤。在圖4A之實施例中,經由PCA 154鏈路所接收之存取命令(ACT及RD)之每一組導致藉助排群組0中之所有記憶體裝置之兩個32位元資料存取,及藉助排群組1中之一單個裝置之一單個8位元ECC存取。因此,針對每64位元之資料存取8位元之ECC,此係執行單位元偵測雙錯誤偵測(SBC-DED)處理所需之ECC之準確量。
若不存在錯誤,則緩衝器102-1然後經由PDQ鏈路150-1將DATA1及DATA2傳輸至記憶體控制器104。若確實存在一錯誤,則緩衝器102-1可校正該錯誤及/或將偵測到一錯誤之一指示傳輸至記憶體控制器104。
在其他實施例中,如與一單個主要讀取命令相對,可經由PCA鏈路154接收兩個主要讀取命令。第一主要讀取命令經解碼成RD1命令且第二主要讀取命令經解碼成RD2命令。該兩個主要讀取命令中之僅一者經解碼成用於ECC存取之RDE命令,而另一主要讀取命令不導致一8位元ECC存取。每一主要讀取命令包含指示該命令是否繁衍一ECC存取之該命令中之一旗標,該旗標由緩衝器102-1使用以判定如何解碼該所接收命令。在其他實施例中,緩衝器可經組態以將每隔一讀取存取命令視為與ECC相關聯。
在其中接收兩個讀取命令之另一實施例中,讀取命令經解碼成兩個資料讀取命令(例如,RD1及RD2)及兩個ECC讀取命令。每一次要資料讀取命令導致一8位元叢發長度之資料存取,但每一ECC讀取命令產生僅一4位元叢發長度之ECC存取而非一8位元叢發長度ECC存取。在此情形下,仍存在針對每一64位元之資料所擷取之8位元之ECC。藉由重映射主要讀取位址之一個行位元判定預設8位元叢發長度中之哪4位元包含ECC資料。在一項實施例中,使用DRAM重新排序及叢發突變來截斷對錯誤資訊之存取以使得傳送錯誤資訊之校正位元。
圖4B係根據一實施例之圖3B中之記憶體存取之一時序圖。特定而言,時序圖展示記憶體控制器104如何自記憶體模組110-1存取資料。圖4B係類似於圖4A惟資料位址現在係經由SCA1 204鏈路傳輸且錯誤位址係經傳輸至SCA0 202鏈路。特定而言,記憶體緩衝器102-1將ACT命令及RD命令解碼成經由SCA0 202鏈路傳輸至排群組0之ACTE命令及RDE命令。回應於接收RDE命令,排群組0中之一經選擇記憶體裝置經由SDQ0鏈路將ECCDATA傳輸至記憶體緩衝器102-1。
記憶體緩衝器102-1亦將ACT命令及RD命令解碼成經由SCA1鏈路傳輸至排群組1之ACTD命令、RD1命令及RD2命令。回應於接收RD1命令及RD2命令,排群組1中之一記憶體裝置120排經由SDQ1鏈路將DATA1及DATA2傳輸至記憶體緩衝器102-1。在經由PDQ[31:0]150-1鏈路傳輸至記憶體控制器104之前,依據ECCDATA檢查DATA1及DATA2之錯誤。
圖5A、圖5B、圖5C及5D圖解說明根據記憶體緩衝器之各種實施例將一所接收記憶體位址解碼成次要位址。結合圖1及圖2闡釋圖5A至圖5D。在一項實施例中,回應於經由PCA鏈路154自記憶體控制器104接收一位址藉由記憶體緩衝器102-1執行解碼操作。緩衝器102-1解碼該位址且使用該經解碼位址來經由用於資料及ECC存取之SCA0 202及SCA1鏈路204將次要存取命令傳輸至記憶體裝置120。
圖5A圖解說明根據記憶體緩衝器之一第一實施例將一所接收記憶體位址解碼成次要位址。初始地,首先闡釋一記憶體裝置120之定址要求。藉助提供作為讀取命令或寫入命令之一部分之一記憶體位址505存取儲存於一記憶體裝置120中之資訊(例如,資料或ECC)。在一項實施例中,一裝置位址505包含一個三位元記憶體庫位址(BA[2:0]),一個十五位元列位址(Row[14:0])及一個十二位元行位址(Col[11:0])。在其他實施例中,裝置位址505可包含不同數目個位址位元。亦藉助選擇裝置或解除選擇裝置之一晶片選擇信號存取一記憶體裝置120。一經選擇裝置將對傳入命令作出回應,而一經解除選擇裝置將不對傳入命令作出回應。
仍參考圖5A,現在將闡釋係指如何將一所接收位址550解碼成用於自記憶體裝置120存取資料之資料位址(例如,552及554)之資料定址510。PCA位址550表示由緩衝器102-1經由PCA鏈路154所接收之位址資訊。PCA位址550包含一個三位元記憶體庫位址(BA[2:0])、一個十五位元列位址(Row[14:0])及一個十一位元行位址(Col[10:0])。PCA位址550亦包含表示PCA鏈路154中之晶片選擇信號之二進制編碼等效形式(亦即,四個晶片選擇信號可由一雙位元二進制值表示。)之兩個排位元(Rank[1:0])。
PCA位址550經解碼成用於存取記憶體裝置120中之資料之兩個資料位址552及554。特定而言,Rank[1]位元用於選擇一排群組用於資料存取。Rank[0]位元用於選擇經選擇排群組內之一排用於資料存取。此等兩個位元之值用於判定如何針對各種排及排群組確證晶片選擇信號。舉例而言,若Rank[0]及Rank[1]位元皆具有一值「0」,則可確證用於排群組0中之一裝置120-1排之晶片選擇。作為另一實例,若Rank[0]及Rank[1]位元皆具有一值「1」,則可確證用於排群組1中之一裝置120-4排之晶片選擇。
PCA位址550之三個記憶體庫位元係直接映射至資料位址552及554之記憶體庫位元。PCA位址550之十五個列位元係直接映射至資料位址552及554之列位元。PCA位址550之十一個行位元係映射至資料位址552及554之最高有效行位元。第一資料位址552之最低有效行位元係以位元值「0」填充。第二資料位址554之最低有效行位址係以位元值「1」填充。以此方式解碼第一資料位址552及第二資料位址554確保自不同行位址讀取資料。
仍參考圖5A,現在將闡釋係指如何將一所接收位址550解碼成用於自記憶體裝置存取ECC之一ECC位址556之ECC定址515。如所示,用於產生資料位址552及554之相同PCA位址550已經解碼成一ECC位址556。特定而言,Rank[0]位元用於選擇一排用於ECC存取。Rank[1]位元經反轉且用於選擇一排群組用於ECC存取。反轉Rank[1]位元意指將ECC映射至不同於其相關聯資料之一排群組。另外,將PCA位址550中之兩個最高有效列位址視為經解碼成每裝置晶片選擇信號之一截塊(slice)位址560。每裝置晶片選擇用於選擇經選擇排及排群組中之四個裝置中之一者用於ECC存取。
PCA位址550之Row[0]位元係映射至ECC位址556之Col[11]位元。PCA位址550之行位元係映射至ECC位址556之最低有效行位元。PCA位址550之三個記憶體庫位元BA[2:0]係映射至ECC位址556之記憶體庫位元BA[2:0]。PCA位址550之Row[12:1]位元係映射至ECC位址556之最低有效列位元。ECC位址556之三個最高有效列位元係以預設值「111」填充。以一預設值填充列位元有效地為ECC保留此等特定列位址。
圖5B圖解說明根據記憶體緩衝器之一第二實施例之將一所接收記憶體位址550解碼成次要位址。圖5B中之實施例係類似於圖5A中之實施例,惟圖5B中之ECC定址515係不同於圖5A中之ECC定址。如所示,現在將Row[2:1]位元解碼成用於選擇經選擇排及排群組中之四個裝置中之一者用於ECC存取之每裝置晶片選擇。PCA位址550之記憶體庫位元BA[2:0]係經映射至ECC位址556之最高有效列位元Row[14:12]中。PCA位址550之Row[14:3]位元係經映射至ECC位址556之最低有效列位元中。ECC位址556之記憶體庫位元係以預設值「111」填充。以一預設值填充記憶體庫位元有效地為ECC保留此等特定記憶體庫位址。
圖5C圖解說明根據記憶體緩衝器之一第三實施例之將一所接收記憶體位址解碼成次要位址。圖5C之實施例係類似於圖5A中之實施例。然而,PCA位址550現在僅包含一單個排位元且列位址包含一額外列位元,總計十六個列位元。
在資料定址510期間,PCA位址550之Row[15]位元現在用於選擇一排群組用於資料存取。PCA位址550之單個排位元用於選擇經選擇排群組中之一排用於資料存取。PCA位址550中之剩餘Row[14:0]位元係經映射至用於資料位址552及554之列位元。記憶體庫BA[2:0]及行位址之映射保持不自圖5A之實施例作改變。
在ECC定址515期間,PCA位址550之Row[15]位元經反轉且用於選擇一排群組用於ECC存取。PCA位址550中之Row[14:13]位元經解碼成用於選擇經選擇排及排群組中之四個裝置中之一者用於ECC存取之每裝置晶片選擇。PCA位址550之Row[12:1]位元係映射至ECC位址556之最低有效列位元。ECC位址556之最高有效列位元係以預設值「111」填充。
此實施例有益於藉由移除現有記憶體控制器104不期望之排群組間相依性而簡化排程。不完全知曉如何存取ECC之一控制器104並不計及對排群組0中之一記憶體庫之資料存取,亦導致針對ECC在排群組1之一裝置中打開一列。控制器104可稍後試圖打開儲存ECC資料之列,即使該列已經針對一ECC存取而打開。圖5C之記憶體位址映射消除此問題。記憶體控制器104僅追蹤兩個記憶體裝置排,因此自控制器觀點而言,有效停用排分組。對排群組0中之排0之記憶體庫0之任何資料存取亦將有效地勾劃出對排群組1中之排0之記憶體庫0之存取。
圖5D圖解說明根據記憶體緩衝器之一第四實施例之將一所接收記憶體位址解碼成次要位址。圖5D中所示之實施例意欲與具有×4記憶體裝置120之模組110一起操作。在一項實施例中,具有×4記憶體裝置120之一模組110具有經劃分成排及排群組之總計三十二個記憶體裝置120。因此,每一排群組具有十六個裝置且一排群組內之每一排具有八個裝置。
圖5D中之資料位址解碼510係類似於圖5A及圖5B中之資料位址解碼。然而,ECC定址係顯著不同的。在具有×8裝置之實施例中,自一單個ECC存取獲得之ECC係足以針對兩個單獨資料存取執行SBC-DED操作。在具有×4裝置之實施例中,需要兩個ECC存取以擷取足夠ECC以對資料執行SBC-DED操作。
在ECC定址515期間,PCA位址550之記憶體庫位元經解碼成經映射至用於選擇經選擇排及排群組中之八個裝置中之一者用於ECC存取之每裝置晶片選擇中之一截塊位址560。PCA位址之行位元係經映射至ECC位址558及559之最高有效行位元中。第一ECC位址558之最低有效行位元係以一「0」填充。第二ECC位址559之最低有效行位元係以一「1」填充。ECC位址558及559之記憶體庫位元係以預設值「111」填充。
一般而言,類似於圖5D之實施例存在用於其中一排中之記憶體裝置120之數目係等於一記憶體裝置120內之記憶體庫之數目之記憶體組態。在此等實施例中,記憶體庫位址直接映射至截塊位址560用於選擇記憶體裝置120中之一者用於ECC存取。
在圖5A至圖5D之實施例中,ECC定址515之預設值已經闡述為一3位元值「111」。在其他實施例中,預設值可係一不同位元值,舉例而言,「000」或「001」。在其他實施例中,較少或較多數目個位元可經設定為預設值以減少或增加為ECC所保留之位址空間之量。另外,儘管圖5A至圖5D之闡述參考最高有效位元及最低有效位元,但應理解,位址位元可以任何數目個方式映射且並不限定於最高有效位元與最低有效位元之映射。
圖6A圖解說明根據另一實施例之用於一記憶體系統之ECC涵蓋。圖6A中之實施例係類似於圖3A中所示之實施例。然而,在圖6A之實施例中,在連續步驟(如由步驟1及步驟2所指示)中存取資料及ECC。此外,記憶體模組610僅包含兩個記憶體排,且每一記憶體排包含八個記憶體裝置120。一個記憶體排係位於模組610之前側上且係由實線指示。另一記憶體排係位於模組610之後側上且係由虛線指示。圖6之模組610不具有排群組。
在步驟1中,記憶體緩衝器102經由PCA鏈路154自記憶體控制器154接收一或多個資料存取命令。該(等)命令包含由記憶體緩衝器602解碼成一資料位址及一錯誤位址之一主要記憶體位址。記憶體緩衝器602使用該資料位址來同時自記憶體裝置120之一整個排存取資料。如所示,資料係自以字母「D」標記之記憶體裝置中之每一者存取。
在步驟2中,緩衝器602使用ECC位址存取用於資料之ECC。將該ECC映射至自其存取資料之相同排中之一單個記憶體裝置。如所示,ECC係自以字母「E」所標記之記憶體裝置存取。在其他實施例中,可將ECC映射至與資料相同排中之其他裝置120或至其他排中之裝置120。緩衝器602對資料執行一EDC操作並經由PDQ鏈路150中之一者或兩者將所得資料傳輸至記憶體控制器104。
圖6B圖解說明根據圖6A之記憶體緩衝器602之一實施例之將一所接收記憶體位址解碼成次要位址。圖6B係類似於圖5A、5B、5C及5D之實施例。如所示,PCA位址550包含一個三位元記憶體庫位址(BA[2:0])、一個十五位元列位址(Row[14:0])、一個十二位元行位址(Col[11:0])及一單個排位元。
針對資料定址510,將PCA位址550直接映射至一單個資料位址652用以存取一記憶體裝置120排中之資料。針對ECC定址515,ECC位址656之三個最高有效行位元係以預設值「111」填充。PCA位址550中之三個最高有效行位元被視為經解碼成用於選擇經選擇記憶體裝置排中之一記憶體裝置用於ECC存取之每裝置晶片選擇信號之一截塊位址560。
返回參考圖6A,在一項實施例中,為改良PDQ鏈路150之利用,ECC存取可堆疊在一起。首先,記憶體緩衝器602自一全記憶體裝置120排存取資料,類似於圖6之步驟1中所示。其次,記憶體緩衝器602對兩個不同記憶體裝置進行兩個同時ECC存取。舉例而言,緩衝器可自排群組0中之一記憶體裝置存取ECC同時亦自排群組1中之一記憶體裝置存取ECC。第三,ECC存取後續接著一第二全排資料存取。兩個ECC存取中之一者用於自第一資料存取擷取與資料相關聯之ECC。另一ECC存取用於自第二資料存取擷取與資料相關聯之ECC。在其他實施例中,此等三個步驟之次序可互換。
圖7A圖解說明根據另一實施例之用於一記憶體系統之ECC涵蓋。圖7A中之實施例係類似於圖3A中之實施例,但記憶體緩衝器702及記憶體模組710之組態係不同的以允許自一全記憶體裝置排擷取資料同時自一不同記憶體排中之一記憶體裝置擷取對應於資料之ECC。如所示,記憶體模組710現在包含兩個記憶體裝置120排(例如,實線之裝置係一個排且以虛線繪示之裝置係另一排),且每一排包含八個記憶體裝置120。圖6之模組610不具有排群組。此外,記憶體緩衝器702現在包含支援不在記憶體排之間共用之多個次要資料匯流排(例如,720、722、724、726)之多組次要資料接腳。此係與圖2及圖3之其中次要資料匯流排(例如,SDQ0及SDQ1)在不同記憶體排之間共用之記憶體模組相反。
初始地,記憶體控制器104經由PCA鏈路154傳輸一或多個存取命令至記憶體緩衝器702。記憶體緩衝器702將存取命令中之位址資訊解碼成一資料位址及一ECC位址。資料位址用於自一個記憶體排(例如,以字母「D」標記之排)中之裝置存取資料。當存取資料時,緩衝器702使用ECC位址自其他記憶體排中之一裝置(例如,以字母「E」標記之裝置)存取ECC。緩衝器702依據ECC檢查資料以偵測並校正任何資料錯誤。然後經由PDQ鏈路150將所得資料傳輸至記憶體控制器104。藉由同時自一全記憶體裝置120排存取資料及自另一記憶體裝置120排存取ECC,圖7中之實施例僅藉助一單個記憶體模組710跨越PDQ鏈路150達成EDC涵蓋及全頻寬資料存取。
圖7B圖解說明根據圖7A之記憶體緩衝器702之一實施例將一所接收記憶體位址解碼成次要位址。圖7B係類似於圖5A、圖5B、圖5C及圖5D之實施例。如所示,PCA位址550包含一個三位元記憶體庫位址(BA[2:0])、一個十五位元列位址(Row[14:0])、一個十二位元行位址(Col[11:0])及一單個排位元。
針對資料定址510,將PCA位址550直接映射至用於存取一記憶體裝置120排中之資料之一單個資料位址652。針對ECC定址515,PCA位址550之排位元經反轉且用於選擇一排用於ECC存取。反轉排位元意指將ECC映射至不同於其相關聯資料之一排。將PCA位址550之記憶體庫位元BA[2:0]視為經解碼成用於選擇一記憶體裝置用於ECC存取之每裝置晶片選擇信號之一截塊位址560。另外,ECC位址756之三個記憶體庫位元係以預設值「111」填充。
在閱讀本發明時,熟習此項技術者將瞭解具有EDC功能性之記憶體系統之另外替代設計。因此,雖然已圖解說明及闡釋本發明之特定實施例及應用,但應理解本發明並不限於本文中所揭示之精確構造及組件。可在不背離如隨附申請專利範圍中所界定之本發明之精神及範疇之情況下對本文中之本發明之方法及裝置之配置、操作及細節作出熟習此項技術者將明瞭之各種修改、改變及變化。
100‧‧‧記憶體系統/系統
102-1‧‧‧記憶體緩衝器/緩衝器
102-2‧‧‧記憶體緩衝器/緩衝器
104‧‧‧記憶體控制器/控制器
110-1‧‧‧記憶體模組/模組/第一模組
110-2‧‧‧記憶體模組/模組
120‧‧‧記憶體裝置/裝置
120-1‧‧‧記憶體裝置/裝置
120-2‧‧‧記憶體裝置
120-3‧‧‧記憶體裝置
120-4‧‧‧記憶體裝置/裝置
150-1‧‧‧主要資料鏈路/主要資料[31:0]
150-2‧‧‧主要資料鏈路
154‧‧‧主要命令/位址鏈路/主要命令/位址
202‧‧‧次要命令/位址匯流排(SCA0)
204‧‧‧次要命令/位址匯流排(SCA1)/SCA1鏈路
206‧‧‧次要資料匯流排(SDQ0)
208‧‧‧次要資料匯流排(SDQ1)
240‧‧‧緩衝器控制電路/控制電路
250‧‧‧介面電路/介面
256‧‧‧主機邏輯電路/主機邏輯
290‧‧‧介面/介面電路
292‧‧‧介面/介面電路
320‧‧‧記憶體裝置
505‧‧‧記憶體位址/裝置位址
510‧‧‧資料定址/資料位址解碼
515‧‧‧錯誤校正碼定址
550‧‧‧位址/主要命令/位址位址/記憶體位址
552‧‧‧資料位址/第一資料位址
554‧‧‧資料位址/第二資料位址
556‧‧‧錯誤校正碼位址
558‧‧‧錯誤校正碼位址/第一錯誤校正碼位址
559‧‧‧錯誤校正碼位址/第二錯誤校正碼位址
560‧‧‧截塊位址
602‧‧‧記憶體緩衝器/緩衝器
610‧‧‧模組/記憶體模組
652‧‧‧資料位址
656‧‧‧錯誤校正碼位址
702‧‧‧記憶體緩衝器/緩衝器
710‧‧‧記憶體模組
720‧‧‧資料匯流排
722‧‧‧資料匯流排
724‧‧‧資料匯流排
726‧‧‧資料匯流排
756‧‧‧錯誤校正碼位址
ACT‧‧‧主要啟動命令
ACTD‧‧‧資料啟動
ACTE‧‧‧錯誤校正碼啟動
BA[2:0]‧‧‧三位元記憶體庫位址/記憶體庫/記憶體庫位元
Col[10:0]‧‧‧十一位元行位址
Col[11:0]‧‧‧十二位元行位址
D‧‧‧資料之位置
DATA1‧‧‧資料
DATA2‧‧‧資料
E‧‧‧錯誤校正碼之位置
ECCDATA‧‧‧用於資料之錯誤校正碼
Rank[1:0]‧‧‧排位元
RD‧‧‧主要讀取命令
RD1‧‧‧資料讀取
RD2‧‧‧資料讀取
RDE‧‧‧錯誤校正碼讀取
RG0‧‧‧排群組0/排群組
RG1‧‧‧排群組1/排群組
RG2‧‧‧排群組
RG3‧‧‧排群組
Row[12:1]‧‧‧位元
Row[14:0]‧‧‧十五位元列位址
Row[14:12]‧‧‧最高有效列位元
Row[14:3]‧‧‧位元
SCA0_CS[7:0]‧‧‧晶片選擇信號
SCA1_CS[7:0]‧‧‧晶片選擇信號
圖1圖解說明根據一項實施例之支援EDC涵蓋之一記憶體系統。
圖2圖解說明根據一項實施例之圖1之一記憶體系統之一較詳細視圖。
圖3A及圖3B圖解說明根據一項實施例提供EDC涵蓋於圖1之記憶體系統中。
圖4A及圖4B係根據一實施例之分別如圖3A及圖3B中所示之記憶體存取之時序圖。
圖5A、圖5B、圖5C及圖5D圖解說明根據各種實施例之將一主要記憶體位址解碼成次要位址。
圖6A及圖6B圖解說明根據另一實施例之提供EDC涵蓋於一記憶體系統中。
圖7A及圖7B圖解說明根據另一實施例之提供EDC涵蓋於一記憶體系統中。
100‧‧‧記憶體系統/系統
102-1‧‧‧記憶體緩衝器/緩衝器
102-2‧‧‧記憶體緩衝器/緩衝器
104‧‧‧記憶體控制器/控制器
110-1‧‧‧記憶體模組/模組/第一模組
110-2‧‧‧記憶體模組/模組
120-1‧‧‧記憶體裝置/裝置
120-2‧‧‧記憶體裝置
120-3‧‧‧記憶體裝置
120-4‧‧‧記憶體裝置/裝置
150-1‧‧‧主要資料鏈路/主要資料[31:0]
150-2‧‧‧主要資料鏈路
154‧‧‧主要命令/位址鏈路/主要命令/位址
RG0‧‧‧排群組0/排群組
RG1‧‧‧排群組1/排群組
RG2‧‧‧排群組
RG3‧‧‧排群組
权利要求:
Claims (50)
[1] 一種積體電路緩衝器裝置,其包括:一第一介面,其用於與一第一記憶體裝置群組連通;及一第二介面,其用於與一第二記憶體裝置群組連通,其中該緩衝器裝置經組態以經由該第一介面自該第一記憶體裝置群組存取第一資料及經由該第二介面自該第二記憶體裝置群組中之至少一個記憶體裝置存取對應於該第一資料之第一錯誤資訊,且其中該緩衝器裝置經組態以經由該第二介面自該第二記憶體裝置群組存取第二資料及經由該第一介面自該第一記憶體裝置群組中之至少一個記憶體裝置存取對應於該第二資料之第二錯誤資訊。
[2] 如請求項1之緩衝器裝置,其中該緩衝器裝置經組態以自該第二記憶體裝置群組中之一單個記憶體裝置存取該第一錯誤資訊。
[3] 如請求項2之緩衝器裝置,其中該緩衝器裝置經組態以產生用於在對該第一錯誤資訊之存取期間選擇該第二記憶體裝置群組中之該單個記憶體裝置及解除選擇該第二記憶體裝置群組中之剩餘記憶體裝置之複數個獨立晶片選擇信號。
[4] 如請求項2之緩衝器裝置,其中該緩衝器裝置經組態以接收一記憶體位址並將該位址解碼成用於存取該第一資料之一或多個資料位址及用於存取該第一錯誤資訊之一或多個錯誤位址。
[5] 如請求項4之緩衝器裝置,其中該緩衝器裝置藉由指派預設值給用於存取該第一錯誤資訊之一或多個錯誤位址之一或多個列位元而將該所接收位址解碼成該等錯誤位址。
[6] 如請求項4之緩衝器裝置,其中該緩衝器裝置藉由指派預設值給用於存取該第一錯誤資訊之一或多個錯誤位址之一或多個記憶體庫位元而將該所接收位址解碼成該等錯誤位址。
[7] 如請求項4之緩衝器裝置,其中該緩衝器裝置藉由將該所接收位址中之一或多個列位元映射至用於存取該第一錯誤資訊之一或多個錯誤位址之一或多個行位元而將該所接收位址解碼成該等錯誤位址。
[8] 如請求項4之緩衝器裝置,其中該緩衝器裝置藉由將該所接收位址中之一或多個記憶體庫位元映射至用於存取該第一錯誤資訊之一或多個錯誤位址之一或多個列位元而將該所接收位址解碼成該等錯誤位址。
[9] 如請求項4之緩衝器裝置,其中該緩衝器裝置藉由將該所接收位址中之一或多個列位元映射至對應於該第二記憶體裝置群組中之該單個記憶體裝置之一截塊位址而將該所接收位址解碼成用於存取該第一錯誤資訊之一或多個錯誤位址。
[10] 如請求項4之緩衝器裝置,其中該緩衝器裝置藉由將該所接收位址中之一或多個記憶體庫位元映射至對應於該第二記憶體裝置群組中之該單個記憶體裝置之一截塊位址而將該所接收位址解碼成用於存取該第一錯誤資訊之一或多個錯誤位址。
[11] 如請求項4之緩衝器裝置,其進一步包括用於與一記憶體控制器連通之一第三介面,其中該記憶體位址係作為一或多個資料存取命令之一部分而經由該第三介面接收。
[12] 如請求項1之緩衝器裝置,其中該緩衝器裝置經組態以:基於該第一錯誤資訊而偵測該第一資料中之一錯誤;及回應於偵測到該錯誤而傳輸一錯誤指示。
[13] 如請求項12之緩衝器裝置,其中該錯誤指示係經由一資料遮罩信號或邊帶信號中之至少一者而傳輸。
[14] 如請求項1之緩衝器裝置,其中該緩衝器裝置接收是否針對資料存取靜態啟用錯誤檢查之一指示,且其中在該指示指定針對資料存取靜態啟用錯誤檢查之情形下該緩衝器裝置存取該第一錯誤資訊及該第二錯誤資訊。
[15] 如請求項1之緩衝器裝置,其中該緩衝器裝置接收該第一資料是否與錯誤資訊相關聯之一指示,且其中在該指示指定該第一資料與錯誤資訊相關聯之情形下該緩衝器存取該第一錯誤資訊。
[16] 如請求項15之緩衝器裝置,其中該指示係作為針對該第一資料之一存取命令之一部分而接收之一旗標。
[17] 如請求項15之緩衝器裝置,其中該指示係作為針對該第一資料之一存取命令之一部分而接收之一位址,且在該位址歸屬於一預定位址範圍內之情形下該位址指定該第一資料與該第一錯誤資訊相關聯。
[18] 如請求項17之緩衝器裝置,其中該預定位址範圍在該緩衝器裝置中可程式化。
[19] 如請求項1之緩衝器裝置,其中該緩衝器裝置、該第一記憶體裝置群組及該第二記憶體裝置群組係安置於一記憶體模組上。
[20] 一種記憶體模組,其包括:一第一記憶體裝置群組;一第二記憶體裝置群組;及一積體電路緩衝器裝置,其中該緩衝器裝置自該第一記憶體裝置群組存取第一資料及自該第二記憶體裝置群組中之至少一個記憶體裝置存取對應於該第一資料之第一錯誤資訊,且其中該緩衝器裝置自該第二記憶體裝置群組存取第二資料及自該第一記憶體裝置群組中之至少一個記憶體裝置存取對應於該第二資料之第二錯誤資訊。
[21] 一種記憶體控制器,其包括:一電路,其用於產生用於存取第一資料之一第一命令,該第一命令包含該第一資料是否與錯誤資訊相關聯之一指示;及一介面,其用於將該第一命令傳輸至一記憶體緩衝器。
[22] 如請求項21之記憶體控制器,其中該第一指示係該第一命令中之一旗標。
[23] 如請求項21之記憶體控制器,其中該第一指示係該第一命令中之一位址,在該位址歸屬於一預定位址範圍內之情形下該指示指定該第一資料與該第一錯誤資訊相關聯。
[24] 如請求項23之記憶體控制器,其中該電路進一步產生用於以該預定位址範圍程式化該緩衝器之一位址範圍設定;且該介面將該位址範圍設定傳輸至該記憶體緩衝器。
[25] 如請求項21之記憶體控制器,其中該第一指示指定該第一資料與錯誤資訊相關聯;該電路進一步產生用於存取第二資料之一第二命令,該第二命令包含指定該第二資料不與錯誤資訊相關聯之一第二指示;且該介面進一步將該第二命令傳輸至該記憶體緩衝器。
[26] 一種一積體電路緩衝器裝置之操作方法,該方法包括:自一第一記憶體裝置群組存取第一資料及自一第二記憶體裝置群組中之至少一個記憶體裝置存取對應於該第一資料之第一錯誤資訊;及自該第二記憶體裝置群組存取第二資料及自該第一記憶體裝置群組中之至少一個記憶體裝置存取對應於該第二資料之第二錯誤資訊。
[27] 如請求項26之方法,其中存取該第一錯誤資訊包括:自該第二記憶體裝置群組中之一單個記憶體裝置存取該第一錯誤資訊。
[28] 如請求項27之方法,其中存取該第一錯誤資訊包括:產生用於在對該第一錯誤資訊之存取期間選擇該第二記憶體裝置群組中之該單個記憶體裝置且解除選擇該第二記憶體裝置群組中之剩餘記憶體裝置之複數個獨立晶片選擇信號。
[29] 如請求項27之方法,其中存取該第一資料及存取該第一錯誤資訊包括:將一所接收記憶體位址解碼成用於存取該第一資料之一或多個資料位址及用於存取該第一錯誤資訊之一或多個錯誤位址。
[30] 如請求項29之方法,其中解碼該所接收記憶體位址包括:指派預設值給該等錯誤位址之一或多個列位元。
[31] 如請求項29之方法,其中解碼該所接收記憶體位址包括:指派預設值給該等錯誤位址之一或多個記憶體庫位元。
[32] 如請求項29之方法,其中解碼該所接收記憶體位址包括:將該所接收位址中之一或多個列位元映射至該等錯誤位址之一或多個行位元。
[33] 如請求項29之方法,其中解碼該所接收記憶體位址包括:將該所接收位址中之一或多個記憶體庫位元映射至該等錯誤位址之一或多個列位元。
[34] 如請求項29之方法,其中解碼該所接收記憶體位址包括:將該所接收位址中之一或多個列位元映射至對應於該第二記憶體裝置群組中之該單個記憶體裝置之一截塊位址。
[35] 如請求項29之方法,其中解碼該所接收記憶體位址包括:將該所接收位址中之一或多個記憶體庫位元映射至對應於該第二記憶體裝置群組中之該單個記憶體裝置之一截塊位址。
[36] 如請求項29之方法,其中作為一或多個資料存取命令之一部分而自一記憶體控制器接收該記憶體位址。
[37] 如請求項26之方法,其進一步包括:基於該第一錯誤資訊而偵測該第一資料中之一錯誤;及回應於偵測到該錯誤而傳輸一錯誤指示。
[38] 如請求項37之方法,其中傳輸該錯誤指示包括:經由一資料遮罩信號或邊帶信號中之至少一者傳輸該錯誤指示。
[39] 如請求項26之方法,其進一步包括:接收是否針對資料存取靜態啟用錯誤檢查之一指示,且其中存取該第一錯誤資訊包括:在該指示指定靜態啟用錯誤檢查之情形下存取該第一錯誤資訊,且其中存取該第二錯誤資訊包括:在該指示指定靜態啟用錯誤檢查之情形下存取該第二錯誤資訊。
[40] 如請求項26之方法,其進一步包括接收該第一資料是否與錯誤資訊相關聯之一指示,且其中存取該第一錯誤資訊包括在該指示指定該第一資料與錯誤資訊相關聯之情形下存取該第一錯誤資訊。
[41] 如請求項40之方法,其中該指示係作為該第一資料之一存取命令之一部分而接收之一旗標。
[42] 如請求項40之方法,其中該指示係作為該第一資料之一存取命令之一部分而接收之一位址,且在該位址歸屬於一預定位址範圍內之情形下該位址指定該第一資料與該第一錯誤資訊相關聯。
[43] 如請求項42之方法,其進一步包括接收用於在該緩衝器裝置中程式化該預定位址範圍之一位址範圍設定。
[44] 如請求項26之方法,其中將該緩衝器裝置、該第一記憶體裝置群組及該第二記憶體裝置群組安置於一記憶體模組上。
[45] 一種包含一記憶體緩衝器、一第一記憶體裝置群組及一第二記憶體裝置群組之一記憶體模組之操作方法,該方法包括:藉助該記憶體緩衝器自該第一記憶體裝置群組存取第一資料及自該第二記憶體裝置群組中之至少一個記憶體裝置存取對應於該第一資料之第一錯誤資訊;及藉助該記憶體緩衝器自該第二記憶體裝置群組存取第二資料及自該第一記憶體裝置群組中之至少一個記憶體裝置存取對應於該第二資料之第二錯誤資訊。
[46] 一種一記憶體控制器之操作方法,該方法包括:產生用於存取第一資料之一第一命令,該第一命令包含該第一資料是否與錯誤資訊相關聯之一指示;及將該第一命令傳輸至一記憶體緩衝器。
[47] 如請求項46之方法,其中該第一指示係該第一命令中之一旗標。
[48] 如請求項46之方法,其中該第一指示係該第一命令中之一位址,在該位址歸屬於一預定位址範圍內之情形下該第一指示指定該第一資料與該第一錯誤資訊相關聯。
[49] 如請求項48之方法,其進一步包括:產生用於以該預定位址範圍程式化該緩衝器之一位址範圍設定;及將該位址範圍設定傳輸至該記憶體緩衝器。
[50] 如請求項46之方法,其進一步包括:產生用於存取第二資料之一第二命令,該第二命令包含指定該第二資料不與錯誤資訊相關聯之一第二指示;及將該第二命令傳輸至該記憶體緩衝器,其中該第一指示指定該第一資料與錯誤資訊相關聯。
类似技术:
公开号 | 公开日 | 专利标题
TWI508088B|2015-11-11|用於錯誤偵測及校正涵蓋之記憶體系統
US9165621B2|2015-10-20|Memory system components that support error detection and correction
US6418068B1|2002-07-09|Self-healing memory
EP1815338B1|2010-08-11|Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
US20060245226A1|2006-11-02|Fully buffered DIMM architecture and protocol
KR20070051930A|2007-05-18|메모리 디바이스 및 모듈과, 컴퓨팅 디바이스와, 메모리시스템과 디바이스 및 컨트롤러의 작동 방법
US20130060996A1|2013-03-07|System and Method for Controller Independent Faulty Memory Replacement
US8255771B2|2012-08-28|Memory device repair apparatus, systems, and methods
US10503589B2|2019-12-10|Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices
US9083382B2|2015-07-14|Memory with on-chip error correction
CN110085277A|2019-08-02|存储器装置、存储器系统和操作存储器装置的方法
US10818375B2|2020-10-27|Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices
US9734921B2|2017-08-15|Memory repair using external tags
US10956260B2|2021-03-23|Semiconductor memory devices, and methods of operating semiconductor memory devices
US10546649B2|2020-01-28|Post package repair for mapping to a memory failure pattern
KR20170054182A|2017-05-17|반도체 장치
JP6370528B2|2018-08-08|メモリデバイス群間でのチェックビットメモリデバイスの共有
US20210183462A1|2021-06-17|Shared error check and correct logic for multiple data banks
TWI514400B|2015-12-21|記憶體裝置修護技術
US20200394102A1|2020-12-17|Semiconductor memory devices having enhanced error correction circuits therein
KR20190106274A|2019-09-18|메모리 칩 및 그것을 포함하는 테스트 시스템
KR20160139155A|2016-12-07|에러 보정 기능을 갖는 메모리 장치 및 그의 에러 보정 방법
US20210373995A1|2021-12-02|Method for accessing semiconductor memory module
KR20210157862A|2021-12-29|메모리, 메모리 시스템 및 메모리 시스템의 동작 방법
US20180005672A1|2018-01-04|Memory apparatus and operating method thereof
同族专利:
公开号 | 公开日
TWI508088B|2015-11-11|
US9218243B2|2015-12-22|
WO2012170154A1|2012-12-13|
US20140108889A1|2014-04-17|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JP2583547B2|1988-01-13|1997-02-19|株式会社日立製作所|半導体メモリ|
US5166939A|1990-03-02|1992-11-24|Micro Technology, Inc.|Data storage apparatus and method|
US5774643A|1995-10-13|1998-06-30|Digital Equipment Corporation|Enhanced raid write hole protection and recovery|
US6851082B1|2001-11-13|2005-02-01|Network Appliance, Inc.|Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array|
KR100970730B1|2003-12-30|2010-07-16|삼성전자주식회사|저장 매체의 데이터 기록 및 재생 방법|
US7519894B2|2005-06-14|2009-04-14|Infineon Technologies Ag|Memory device with error correction code module|
DE102005033710B3|2005-07-19|2007-01-25|Infineon Technologies Ag|Halbleiterspeichermodul mit Fehlerkorrektur|
US7487428B2|2006-07-24|2009-02-03|Kingston Technology Corp.|Fully-buffered memory-module with error-correction code controller in serializing advanced-memory buffer that is transparent to motherboard memory controller|
US7870459B2|2006-10-23|2011-01-11|International Business Machines Corporation|High density high reliability memory module with power gating and a fault tolerant address and command bus|
US7949931B2|2007-01-02|2011-05-24|International Business Machines Corporation|Systems and methods for error detection in a memory system|
US7895502B2|2007-01-04|2011-02-22|International Business Machines Corporation|Error control coding methods for memories with subline accesses|
US7984355B2|2007-04-09|2011-07-19|Qimonda Ag|Memory module with ranks of memory chips|
US8234540B2|2008-07-01|2012-07-31|International Business Machines Corporation|Error correcting code protected quasi-static bit communication on a high-speed bus|
US8086783B2|2009-02-23|2011-12-27|International Business Machines Corporation|High availability memory system|
JP2010198209A|2009-02-24|2010-09-09|Toshiba Corp|半導体記憶装置|
WO2011025474A1|2009-08-25|2011-03-03|Hewlett-Packard Development Company, L.P.|Error correcting|
US8732557B2|2011-05-31|2014-05-20|Micron Technology, Inc.|Data protection across multiple memory blocks|
TWI467590B|2011-07-11|2015-01-01|Phison Electronics Corp|資料處理方法、記憶體控制器及記憶體儲存裝置|
US8468423B2|2011-09-01|2013-06-18|International Business Machines Corporation|Data verification using checksum sidefile|
US8694849B1|2011-12-19|2014-04-08|Pmc-Sierra Us, Inc.|Shuffler error correction code system and method|
EP2823398A1|2012-04-27|2015-01-14|Hitachi, Ltd.|Storage system and storage control apparatus|WO2016032784A1|2014-08-25|2016-03-03|Rambus Inc.|Buffer circuit with adaptive repair capability|
US10074417B2|2014-11-20|2018-09-11|Rambus Inc.|Memory systems and methods for improved power management|
US9946595B2|2015-09-30|2018-04-17|International Business Machines Corporation|Reducing uncorrectable errors based on a history of correctable errors|
JP6605359B2|2016-03-02|2019-11-13|ルネサスエレクトロニクス株式会社|半導体装置及びメモリアクセス制御方法|
US10613924B2|2017-05-17|2020-04-07|Rambus Inc.|Energy-efficient error-correction-detection storage|
US10705912B2|2017-06-07|2020-07-07|Rambus Inc.|Energy efficient storage of error-correction-detection information|
US10769013B1|2018-06-11|2020-09-08|Cadence Design Systems, Inc.|Caching error checking data for memory having inline storage configurations|
US10642684B1|2018-06-28|2020-05-05|Cadence Design Systems, Inc.|Memory command interleaving|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
US201161493934P| true| 2011-06-06|2011-06-06||
[返回顶部]