TWI637394B - 記憶體系統、用於記憶體保護之方法以及相關非暫態電腦可讀取媒體 - Google Patents
記憶體系統、用於記憶體保護之方法以及相關非暫態電腦可讀取媒體 Download PDFInfo
- Publication number
- TWI637394B TWI637394B TW102143835A TW102143835A TWI637394B TW I637394 B TWI637394 B TW I637394B TW 102143835 A TW102143835 A TW 102143835A TW 102143835 A TW102143835 A TW 102143835A TW I637394 B TWI637394 B TW I637394B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- bit
- pin
- symbols
- symbol
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- 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/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/105—Aspects related to pads, pins or terminals
Abstract
一記憶體控制器係基於一碼字而與多個接腳相聯結的一記憶體介接。該碼字係包含多個n-位元符號。該碼字的一n-位元符號係隨著時間從與該記憶體的該等接腳中之一者相聯結的多個n叢訊形成。
Description
本發明係有關於用以基於叢訊形成符號之記憶體控制器。
可信度乃使用記憶體的電腦系統之一項重大挑戰。但記憶體經常可能成為系統故障來源。記憶體錯誤可能發生在記憶體晶片或記憶體/次系統接腳。隨著不同的記憶體晶片封裝與排列的發展,電腦系統容忍記憶體故障甚至變成更為要緊。
依據本發明之一實施例,係特地提出一種系統包含一記憶體控制器以根據包含多個n-位元符號的一碼字而介接與多個接腳相聯結的一記憶體;其中該碼字之一n-位元符號係隨著時間從與該記憶體的該等多個接腳中之一者相聯結的多個n叢訊形成。
100、200‧‧‧系統
102、202‧‧‧匯流排
110、210‧‧‧記憶體控制器
120、220、320A-B‧‧‧記憶體
122、222、322A-B‧‧‧接腳
130、230‧‧‧碼字
132、232‧‧‧符號
134‧‧‧叢訊
222‧‧‧I/O接腳
224、234、324A-B‧‧‧晶片、記憶體晶片
230‧‧‧ECC碼字
231‧‧‧SEC-DED碼字、平坦碼字
326A-B‧‧‧堆疊記憶體結構
340B‧‧‧通孔
400‧‧‧流程圖
410-430‧‧‧方塊
圖1為依據一實施例包括碼字的一系統之方塊圖。
圖2為依據一實施例包括碼字的一系統之方塊圖。
圖3A為依據一實施例的一記憶體之方塊圖。
圖3B為依據一實施例的一記憶體之方塊圖。
圖4為依據一實施例基於形成一碼字之流程圖。
一電腦系統實施例可提供加強的記憶體保護方案以更佳地容忍記憶體錯誤。一系統可包括一記憶體控制器以介接具有多個接腳的一記憶體。該記憶體控制器可根據包括多個n-位元符號的一碼字而與該記憶體互動。該碼字的一n-位元符號可從隨著時間來自於該記憶體之該等多個接腳中之一者的多個n叢訊形成。該碼字可用以檢測及/或校正記憶體錯誤,許可該系統容忍諸如晶片故障及/或接腳故障等錯誤。
圖1為依據一實施例包括碼字130的一系統100之方塊圖。記憶體控制器110係透過匯流排102(例如資料通道)耦接至記憶體120以傳輸該碼字130。記憶體120可透過接腳122而介接匯流排102。碼字130可包含多個符號132。一符號可包含多個叢訊134。
一記憶體保護機制可藉施用一單一位元錯誤校正及雙重位元錯誤檢測(SEC-DED)碼而作動以容忍1-位元錯誤。舉例言之,SEC-DED可容忍一接腳故障,原因在於一接腳故障顯然為可經校正的每次存取的1-位元錯誤。
SEC-DED可使用具有72位元寬度資料路徑的一記憶體系統組織,含64資料接腳及8ECC接腳(例如圖2所示)。
記憶體保護機制也可為以符號為基礎。圖1之碼
字130可根據其符號132的組織及一基於符號的錯誤校正碼(ECC)而用以提供錯誤檢測及/或校正。一符號132可針對ECC決定大小及組織以利用該符號132。於一個實施例中,該符號大小可為8位元。一符號132可為某個數目的位元寬度。例如一符號132可構成為8位元寬(水平)。
容忍接腳故障對新穎封裝技術諸如記憶體晶粒/
晶片的封裝體於封裝體上或3D堆疊可能變得更為重要。其它技術/組織亦屬可能(例如除了前述8-位元寬及平坦符號組織實施例外,任意位元寬度的其它符號組織)。如此,一記憶體保護機制能夠容忍更大數目的接腳122故障而無需增加ECC額外負擔。
此處描述之實施例可槓桿運用一基於符號的技
術,該技術可使用里德-所羅門(RS)錯誤校正碼以利用一垂直符號組織,例如使用由8個1-位元資料的叢訊134所組成的1-位元寬8-位元符號132。本實施例可靶定接腳故障,及符號132可從得自記憶體120的單一接腳122的資料構成。因此,基於一單一接腳122的一符號132可受該單一接腳122的錯誤影響,而不受其它接腳122的錯誤影響。從單一接腳122的輸出構成一符號132可使得一基於符號的錯誤校正碼(ECC)容忍更大數目的接腳故障而不降級隨機位元故障效能。垂直地組織受單一輸入/輸出(I/O)接腳122的影響的符
號132,可最大化I/O接腳的容忍能力。匯流排102可包括多個通道以攜載接腳資料,及符號組織可經排列以適應匯流排102的布局。
從單一接腳122構成一符號132可藉記憶體120中
的叢訊存取能力輔助,例如於雙倍資料速率(DDRx)動態隨機存取記憶體(DRAM)系統。DRAM系統可提供n-位元預提取及叢訊n存取以介接該DRAM核心速度與更快的匯流排速度,於該處針對單資料速率同步DRAM(SDRAM)的n為1,針對DDR為2,針對DDR2為4,及針對DDR3為8等(例如DDR4)。因此,針對一給定時間窗,叢訊存取可傳輸一大資料區塊,而DRAM內部核心操作係以更慢速率進行。假設DDR3(或DDR4),DRAM存取可透過多個位元的一叢訊,諸如叢訊-8存取完成。因此,可達成從1-位元的8-叢訊構成一8-位元符號而不影響DRAM排程或DRAM存取表現。因此,此處描述之實施例可運用64-位元資料通道,及每次存取單一雙排型記憶體模組(DIMM),及基於垂直符號組織而容忍更大數目的接腳故障。
圖2為依據一實施例包括碼字230的一系統200之
方塊圖。記憶體控制器210係透過匯流排202(例如資料通道)耦接至記憶體220以傳輸該碼字230。記憶體220包括具有接腳222的多個晶片224。碼字230可包含多個符號232(例如垂直符號)。一符號可包含多個叢訊234。
記憶體220顯示一型記憶體晶片224的布局及接
腳222的記憶體通道組態。記憶體220可為根據72-位元寬介
面的一DRAM模組(於該處64位元可為資料,及8位元可為ECC)。若不使用ECC,則八個晶片224可用以運用64位元的通道寬度而提供64位元的資料。如圖所示,該通道寬度為根據9 x8 DRAM晶片224的72位元,提供x8記憶體模組組態。實施例可運用其它型別的晶片224。舉例言之,藉由於此種組態中使用兩倍數目的x4 DRAM晶片,利用x4 DRAM可獲得所示72位元的相同通道寬度。
ECC方案可利用SEC-DED具現,藉此一
SEC-DED碼字231可形成為一寬的單一叢訊72-位元值。此種SEC-DED機制(並非基於符號)用於位元錯誤校正及/或晶片故障校正,例如,基於使用72-位元寬ECC DIMM的一又寬又平坦(例如1-位元高)的碼字231,可能具有有限的接腳故障容忍能力。於利用該SEC-DED碼字231的一記憶體組態中,一接腳故障可呈現為1-位元錯誤,因此SEC-DED可容忍至多1個接腳故障。雖然晶片故障容忍機制可校正比基於SEC-DED碼字231的機制更多接腳故障,但若此等接腳故障影響同一個單一晶片224,若記憶體220可經組配成具有128-位元資料及16-位元ECC的寬通道組態,則此種接腳故障可經校正。使用一寬碼字的基於符號之容錯-校正記憶體系統可能需要一窄寬度DRAM晶片(例如4-位元寬晶片)連同寬記憶體通道(例如128-位元寬通道,可由兩個64-位元記憶體模組並排耦接形成)。有些容錯記憶體系統可使用更寬的記憶體通道,諸如144-位元寬記憶體通道,於該種情況下,兩個72-位元記憶體模組係並接用以提供該寬碼字。
根據x8 DRAM晶片,有多個記憶體模組220並
接,使用里德-所羅門編碼許可用於該等兩個記憶體模組的2個檢查符號以校正一個符號錯誤。此項技術將共使用18個DRAM晶片,其中有16個資料DRAM晶片及2個ECC DRAM晶片。記憶體存取將提供(16x8)=128資料位元加(2x8)=16 ECC位元,作動2個檢查符號ECC碼。此種碼可校正具有平坦符號的平坦碼字231中之單一符號錯誤,及可容忍一晶片故障。但比較無需額外記憶體模組220(及其它效率)的運用較高符號之範例記憶體技術,前述技術可能更昂貴且要求支援額外記憶體(例如2記憶體模組)的額外電力。
但藉由使用垂直符號232排列,不需要額外負折
或改變記憶體存取行為,且有關平坦碼字231及其平坦符號,比較前文描述的水平符號排列,可能有一項記憶體技術能夠容忍遠更多的接腳故障,提供更穩健的技術。
圖2也顯示此種垂直符號記憶體方案,8-位元符
號232係使用1-位元的8-叢訊構成。可施加以符號為基礎的RS碼,及碼字230可形成為72位元組區塊具有64個8-位元垂直資料符號及8個8-位元垂直檢查符號。如此,符號232可包括取決於特定具現排列的資料符號或檢查符號。運用此種垂直符號組織,一接腳故障可訛誤一單一符號232,及該符號232可被一單一接腳222所訛誤。八個檢查符號為可資利用,例如得自可用於ECC的單一晶片224之8-叢訊輸出。
由於8-檢查符號RS碼具現可校正至多4個符號錯誤,故所提示之資料/ECC組織可容忍至多4個接腳故障。又,若記憶體
控制器210校正一接腳故障,及然後儲存該硬接腳故障之一指示,使用抹除編碼技術,所提示的方案甚至可容忍更大量接腳故障。例如使用抹除編碼可容忍高達7個接腳故障。
用於抹除編碼,當遭遇故障時,可儲存確實發生
故障指示(例如藉記憶體控制器210)。下次記憶體控制器210存取記憶體220時,已知何處確切發生故障。藉此而事先已知其位置的該特定故障可稱作為抹除。甚至只使用一個檢查符號即可執行抹除校正。抹除編碼可使用里德-所羅門碼以定位一符號232,及若該符號232具有硬故障,則記憶體控制器210可記憶該硬故障的所在位置。記憶體控制器210可存取知曉該故障的記憶體220以容忍甚至更多個接腳故障(例如範例使用8個檢查符號/碼字可容忍至多7個接腳故障)。
如此,所提示的垂直符號方案可容忍更大數目的
接腳故障而無需寬通道容錯-校正組態。又復,實施例可容忍接腳故障而無需全部故障都在一個DRAM晶片,例如此處提供的所提示實施例機制可容忍隨機4-接腳故障。隨著DRAM(或其它型別的記憶體)晶粒或封裝體之集積成為共享接腳的堆疊體(3D堆疊技術),此項容忍更大數目的隨機接腳故障的能力變成益發有價值。換言之,因於未來DRAM設計中,各個接腳可與愈來愈多個記憶體晶片/晶粒相聯結,故處理更多個接腳故障的機制變成益發有價值。
此外,根據垂直符號排列之於此處提供的ECC方
案實施例,當使用4-位元寬DRAM晶片時,可容忍4接腳故
障且可校正一晶片故障。即便當使用8-位元寬DRAM晶片224時,所提示的方案可檢測晶片故障(例如8接腳故障)。實施例可擴大至超出所示x8 DRAM晶片的具現,諸如x4、x8、x16等組態之晶片,諸如典型DDR3 DRAM晶片。x32或其它組態的晶片可出現於其它型別的記憶體,諸如低功率DDR(LPDDR)、行動DDR(mDDR)、圖形DDR(GDDR)及其它型別的記憶體。
實施例可以垂直方式組成符號232,故支援叢訊
記憶體異動(例如叢訊8或長叢訊)可使用此等機制。舉例言之,藉一起形成得自一記憶體接腳222的n叢訊,可組成任意大小(例如高度)的n-位元符號。實施例並不限於特定型別的記憶體,諸如x4、x8、x16等,原因在於全部皆為可相容。
於一個實施例中,x4記憶體可根據具有四個I/O接腳222的DRAM晶片。針對72-位元寬x4晶片的記憶體通道,可產生72個符號。如此根據本實施例的ECC可容忍至多4個符號錯誤。因此,於該特定實施例組態中,即便整個x4晶片已經故障,可容忍該晶片故障,原因在於由於具有72個符號(例如可包括8個ECC符號)故可容忍全部四個接腳的錯誤。容忍接腳故障的能力係不受特定晶片I/O組織所限。容忍高達4接腳故障乃根據x4、x8、x16、x32等的記憶體組織之能力。
I/O接腳故障容忍能力可由在所構成的ECC碼字230內的檢查符號之數目定義。於本實施例中,可使用64資料符號及8檢查符號,其可容忍(例如校正)4接腳故障。
圖3A為依據一實施例記憶體320A之方塊圖。記
憶體320A包括由多個晶片324A所形成的堆疊記憶體結構326A。多個晶片324A可藉共用接腳322A而耦合彼此。
圖3B為依據一實施例記憶體320B之方塊圖。記
憶體320B包括由多個晶片324B所形成的堆疊記憶體結構326B。多個晶片324B可藉共用通孔340B(例如貫穿矽通孔(TSV))而耦合彼此。通孔340B可與接腳322B通訊。雖然並未特別顯示,但實施例可包括額外邏輯,例如TSV與其它晶粒及/或接腳間。又,TSV可或可不直接地連結至一接腳(包括外部接腳)。
圖3A及3B示例說明封裝技術諸如封裝體上封裝
體(實體導線連結多個DRAM封裝體)及3D-堆疊記憶體諸如混成記憶體立方體(HMC)。故障諸如接腳(或TSV)故障可能影響許多堆疊晶片324A、324B。通孔340B可垂直地連通貫穿多個裝置,且如同導線/接腳般可攜載資料傳輸。舉例言之,底晶粒可為邏輯晶粒,其它堆疊晶粒可為記憶體晶粒。
資料可經由通孔340B傳輸至底邏輯晶粒,及然後傳輸至裝置外部(例如經由通孔340B,傳輸出記憶體320B之頂或底,及/或經由接腳322B)。如此處使用,接腳一詞也係指通孔340B。如此,解決接腳故障的能力針對此等技術為特別重要,於該處一個接腳可影響大量記憶體組件。
圖4為依據一實施例基於形成一碼字的流程圖
400。於方塊圖410,與多個接腳相聯結的一記憶體係藉一記憶體控制器介接。舉例言之,該記憶體控制器可藉具有一位元寬度以因應該記憶體的一通道/匯流排連結。於方塊
圖420,一個n-位元符號係藉記憶體控制器隨著時間,根據與該記憶體的多個接腳中之一者相聯結的多個n叢訊形成。舉例言之,針對各個接腳,該記憶體控制器可形成一個符號,結果導致垂直資料符號及垂直檢查符號。針對一給定通道寬度,可用的檢查符號之數目增加,輔助ECC的應用,使用檢查符號以檢測及/或校正與該資料符號相關的錯誤。又復,窄接腳可不受其本身的單一接腳以外的接腳影響。於方塊圖430,藉該記憶體控制器根據多個n-位元符號形成一個碼字,其中該等多個n-位元符號包括多個資料符號及多個檢查符號。該記憶體控制器可使用碼字以確保記憶體方案的功能,及可使用諸如抹除編碼技術以增加容忍的錯誤數目。
熟諳技藝人士將瞭解聯結此處接示的實施例描述之示例說明組件、模組、及方塊可具現為電子硬體、電腦軟體、或二者的組合。如此,圖1-4之方塊實施例可使用軟體模組、硬體模組或組件、或軟及硬體模組或組件的組合而具現。於另一個實施例中,圖1-4之方塊中之一或多者可包含儲存在一電腦可讀取儲存媒體上的可由處理器執行的軟體碼。如此處使用,不定冠詞「一a」及/或「一an」可指示所述物件中之一者或多於一者。如此,舉例言之,「一處理器」可包括一個或多於一個處理器,諸如於一多核心處理器中叢集或並列處理排列。處理器可為執行或解譯指令、資料異動、代碼或信號的硬體與軟體的任一項組合。舉例言之,處理器可為微處理器、特定應用積體電路
(ASIC)、分散式處理器諸如處理器或運算裝置之叢集或網路、或虛擬機器。處理器可耦接至記憶體資源,諸如用以執行儲存於有形非過渡媒體的依電性及/或非依電性記憶體。非過渡機器可讀取媒體可包括依電性及/或非依電性記憶體,諸如隨機存取記憶體(RAM)、磁性記憶體諸如硬碟、軟碟及/或磁帶記憶體、固態驅動裝置(SSD)、快閃記憶體、相變記憶體等。電腦可讀取媒體可具有電腦可讀取指令儲存於其上,該等指令係由處理器執行以使得系統(例如速率限制管理器以指導硬碟限速器)以具現依據本文揭示之多個實施例。
Claims (19)
- 一種記憶體系統,其係包含:一記憶體,包含多個接腳;以及一記憶體控制器,用以基於包含多個n-位元符號的一碼字而與該記憶體介接,其中該碼字之一n-位元符號,係從隨時間的由該記憶體的該等多個接腳中之一單一接腳輸出的多個位元之一叢訊形成,該記憶體控制器使用從該等多個位元之該叢訊形成的該n-位元符號校正該記憶體之一錯誤。
- 如請求項1之系統,其中該記憶體係包括多個動態隨機存取記憶體(DRAM)晶片,及該等多個DRAM晶片之一個別的DRAM晶片係與跟該個別的DRAM晶片的接腳數目相對應的符號數目相關聯。
- 如請求項1之系統,其中該記憶體包含一72-接腳雙排型記憶體模組(DIMM),及該碼字係包括基於叢訊資料傳輸的64個8-位元垂直資料符號及8個8-位元垂直檢查符號,該等64個8-位元垂直資料符號中之每個8-位元垂直資料符號係從來自該DIMM之一個別單一接腳的8個位元之一叢訊形成,且該等8個8-位元垂直檢查符號中之每個8-位元垂直檢查符號係從來自該DIMM之一個別單一接腳的8個位元之一叢訊形成。
- 如請求項3之系統,其中該記憶體控制器係基於一錯誤校正碼(ECC)代碼及該等8個8-位元垂直檢查符號校正多至4個符號錯誤。
- 如請求項1之系統,其中該記憶體控制器係基於一先前已校正的接腳故障而儲存該記憶體之一第一接腳的一硬接腳故障之一指示,及基於所儲存的該指示、一檢查符號、及抹除編碼而容忍多個接腳故障。
- 如請求項1之系統,其中該記憶體之該等多個接腳中之一接腳係由多個堆疊記憶體晶粒所共享。
- 如請求項1之系統,其中該碼字之該等多個n-位元符號係包括針對多個n-位元資料符號有一個n-位元檢查符號。
- 如請求項1之系統,其中該記憶體包含雙倍資料速率(DDRx)同步動態隨機存取記憶體(SDRAM),其中x為大於1的一整數且相對應於n叢訊之一叢訊資料傳輸速率。
- 如請求項1之系統,其中該等多個n-位元符號中之一第一n-位元符號係從由該記憶體之一第一接腳輸出的多個位元之一叢訊形成,且該等多個n-位元符號中之一第二n-位元符號係從由該記憶體之一第二接腳輸出的多個位元之一叢訊形成,其中除了該第一接腳之外的該等多個接腳中之其它接腳中之錯誤不影響該第一n-位元符號。
- 如請求項1之系統,其中由該單一接腳輸出之隨時間的該等多個位元之該叢訊,係一雙倍資料速率(DDR)記憶體的一叢訊接取之一部分。
- 如請求項1之系統,其中從該等多個位元之該叢訊形成的該n-位元符號,係從只由該等多個接腳中之一第一接腳輸出的該等多個位元之該叢訊形成的一第一n-位元符號,以及其中該記憶體控制器係用來:從只由該等多個接腳中之一第二接腳輸出的多個位元之一叢訊形成一第二n-位元符號,以及使用該第一及第二n-位元符號校正該記憶體之該錯誤。
- 一種用於記憶體保護之方法,其係包含:藉一記憶體控制器介接包含多個接腳的一記憶體;藉該記憶體控制器,基於來自該記憶體的該等多個接腳中之一第一接腳之隨時間的多個位元之一叢訊,形成一n-位元符號;及藉該記憶體控制器基於多個n-位元符號形成一碼字,其中該等多個n-位元符號包括多個資料符號及多個檢查符號;以及藉該記憶體控制器使用該碼字校正該記憶體之一錯誤。
- 如請求項12之方法,其係進一步包含基於一72-位元寬通道,基於64-位元資料及8-位元錯誤校正碼(ECC)而存取該記憶體以每次存取存取該記憶體之一單一記憶體模組。
- 如請求項12之方法,其係進一步包含基於該等檢查符號之使用而施加一錯誤校正碼(ECC)至該碼字。
- 如請求項14之方法,其中該ECC為一里德-所羅門碼(Reed-Solomon code)。
- 如請求項12之方法,其係進一步包含儲存一錯誤之一指示,及基於該所儲存的指示及抹除編碼而容忍錯誤。
- 如請求項12之方法,其中該n-位元符號係基於只來自該第一接腳之隨時間的該等多個位元之該叢訊,該方法進一步包含:由該記憶體控制器基於只來自該等多個接腳中之一第二接腳之隨時間的多個位元之一叢訊形成一第二n-位元符號,其中該碼字包括該第一及第二n-位元符號。
- 一種裝置,包含:一記憶體控制器,用來:介接具有多個接腳的一記憶體;基於只由該記憶體的該等多個接腳中之一第一接腳輸出的隨時間的多個位元之一叢訊形成一第一n-位元符號;及基於只由該記憶體的該等多個接腳中之一第二接腳輸出的隨時間的多個位元之一叢訊形成一第二n-位元符號;基於多個n-位元符號形成包括該第一及第二n-位元符號的一碼字,其中該等多個n-位元符號包括多個資料符號及多個檢查符號;以及使用該碼字校正該記憶體之一錯誤。
- 如請求項18之裝置,其中該第一n-位元符號係基於只由該第一接腳輸出之隨時間的n個位元之一叢訊,以及該第二n-位元符號係基於只由該第二接腳輸出之隨時間的n個位元之一叢訊,其中n係大於1。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/067391 WO2014084855A1 (en) | 2012-11-30 | 2012-11-30 | Memory controllers to form symbols based on bursts |
??PCT/US12/67391 | 2012-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201435896A TW201435896A (zh) | 2014-09-16 |
TWI637394B true TWI637394B (zh) | 2018-10-01 |
Family
ID=50828321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102143835A TWI637394B (zh) | 2012-11-30 | 2013-11-29 | 記憶體系統、用於記憶體保護之方法以及相關非暫態電腦可讀取媒體 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10621040B2 (zh) |
EP (1) | EP2926341B1 (zh) |
CN (1) | CN104813400A (zh) |
TW (1) | TWI637394B (zh) |
WO (1) | WO2014084855A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US10268541B2 (en) * | 2016-08-15 | 2019-04-23 | Samsung Electronics Co., Ltd. | DRAM assist error correction mechanism for DDR SDRAM interface |
CN107039058B (zh) * | 2017-01-04 | 2019-09-17 | 华邦电子股份有限公司 | 存储器装置 |
US10784986B2 (en) | 2017-02-28 | 2020-09-22 | Intel Corporation | Forward error correction mechanism for peripheral component interconnect-express (PCI-e) |
US10771189B2 (en) * | 2018-12-18 | 2020-09-08 | Intel Corporation | Forward error correction mechanism for data transmission across multi-lane links |
US11637657B2 (en) | 2019-02-15 | 2023-04-25 | Intel Corporation | Low-latency forward error correction for high-speed serial links |
US11249837B2 (en) | 2019-03-01 | 2022-02-15 | Intel Corporation | Flit-based parallel-forward error correction and parity |
US10997111B2 (en) | 2019-03-01 | 2021-05-04 | Intel Corporation | Flit-based packetization |
US11296994B2 (en) | 2019-05-13 | 2022-04-05 | Intel Corporation | Ordered sets for high-speed interconnects |
US11403172B2 (en) * | 2019-08-05 | 2022-08-02 | Cypress Semiconductor Corporation | Methods for error detection and correction and corresponding systems and devices for the same |
CN110727401B (zh) * | 2019-09-09 | 2021-03-02 | 无锡江南计算技术研究所 | 一种访存系统 |
US11740958B2 (en) | 2019-11-27 | 2023-08-29 | Intel Corporation | Multi-protocol support on common physical layer |
US11556248B2 (en) | 2020-04-07 | 2023-01-17 | Micron Technology, Inc. | Apparatuses and methods for different burst lengths for stacked die |
US11404136B2 (en) | 2020-12-16 | 2022-08-02 | Micron Technology, Inc. | Memory device protection using interleaved multibit symbols |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126905A1 (en) * | 2006-11-29 | 2008-05-29 | Matsushita Electric Industrial Co., Ltd. | Memory control device, computer system and data reproducing and recording device |
US20100287445A1 (en) * | 2008-01-31 | 2010-11-11 | International Business Machines Corporation | System to Improve Memory Reliability and Associated Methods |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537421A (en) * | 1988-10-07 | 1996-07-16 | Advanced Micro Devices, Inc. | Single chip error processor |
US6751769B2 (en) * | 2000-06-06 | 2004-06-15 | International Business Machines Corporation | (146,130) error correction code utilizing address information |
US7028248B2 (en) * | 2001-02-28 | 2006-04-11 | International Business Machines Corporation | Multi-cycle symbol level error correction and memory system |
US7530008B2 (en) | 2003-08-08 | 2009-05-05 | Sun Microsystems, Inc. | Scalable-chip-correct ECC scheme |
US7203890B1 (en) * | 2004-06-16 | 2007-04-10 | Azul Systems, Inc. | Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
JP2006190425A (ja) * | 2005-01-07 | 2006-07-20 | Nec Electronics Corp | 半導体記憶装置 |
US7979666B2 (en) * | 2006-12-08 | 2011-07-12 | William Marsh Rice University | System and method for context-independent codes for off-chip interconnects |
US8055976B2 (en) * | 2007-08-13 | 2011-11-08 | International Business Machines Corporation | System and method for providing error correction and detection in a memory system |
US8185801B2 (en) | 2008-01-31 | 2012-05-22 | International Business Machines Corporation | System to improve error code decoding using historical information and associated methods |
US8239737B2 (en) | 2009-12-10 | 2012-08-07 | Intel Corporation | Data line storage and transmission utilizing both error correcting code and synchronization information |
US8566669B2 (en) * | 2010-07-07 | 2013-10-22 | Ocz Technology Group Inc. | Memory system and method for generating and transferring parity information |
US8429495B2 (en) | 2010-10-19 | 2013-04-23 | Mosaid Technologies Incorporated | Error detection and correction codes for channels and memories with incomplete error characteristics |
-
2012
- 2012-11-30 EP EP12889067.0A patent/EP2926341B1/en active Active
- 2012-11-30 WO PCT/US2012/067391 patent/WO2014084855A1/en active Application Filing
- 2012-11-30 US US14/648,290 patent/US10621040B2/en active Active
- 2012-11-30 CN CN201280077395.4A patent/CN104813400A/zh active Pending
-
2013
- 2013-11-29 TW TW102143835A patent/TWI637394B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126905A1 (en) * | 2006-11-29 | 2008-05-29 | Matsushita Electric Industrial Co., Ltd. | Memory control device, computer system and data reproducing and recording device |
US20100287445A1 (en) * | 2008-01-31 | 2010-11-11 | International Business Machines Corporation | System to Improve Memory Reliability and Associated Methods |
Also Published As
Publication number | Publication date |
---|---|
CN104813400A (zh) | 2015-07-29 |
WO2014084855A1 (en) | 2014-06-05 |
TW201435896A (zh) | 2014-09-16 |
EP2926341A4 (en) | 2016-07-20 |
EP2926341A1 (en) | 2015-10-07 |
US10621040B2 (en) | 2020-04-14 |
EP2926341B1 (en) | 2020-02-19 |
US20150309873A1 (en) | 2015-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI637394B (zh) | 記憶體系統、用於記憶體保護之方法以及相關非暫態電腦可讀取媒體 | |
CN109074851B (zh) | 利用额外系统位的内部错误校验和校正(ecc) | |
US10169126B2 (en) | Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation | |
CN107924349B (zh) | 存储器装置管芯上错误校验和纠正代码 | |
KR102553704B1 (ko) | 에러 타입에 기초하는 ecc의 동적 적용 | |
TWI710892B (zh) | 動態隨機存取記憶體的錯誤更正方法 | |
US10580719B2 (en) | Semiconductor memory device providing analysis and correcting of soft data fail in stacked chips | |
US9043674B2 (en) | Error detection and correction apparatus and method | |
CN108268340B (zh) | 校正存储器中的错误的方法 | |
US20190042358A1 (en) | Shared parity check for correcting memory errors | |
US20190034270A1 (en) | Memory system having an error correction function and operating method of memory module and memory controller | |
JP6101807B2 (ja) | 高信頼性メモリコントローラ | |
US8966348B2 (en) | Memory error identification based on corrupted symbol patterns | |
CN106205728B (zh) | 奇偶校验电路及包括该奇偶校验电路的存储器装置 | |
US11157359B2 (en) | Techniques to implement a hybrid error correction code scheme | |
US11409601B1 (en) | Memory device protection | |
US10725672B2 (en) | Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation | |
Kwon et al. | Understanding ddr4 in pursuit of in-dram ecc | |
CN114816829A (zh) | 分布ecc比特以为元数据分配ecc比特 | |
US20190012230A1 (en) | Memory device, memory system including the same, and operating method of memory system | |
TWI774749B (zh) | 電子設備 | |
CN116783654A (zh) | 自适应错误校正以提高系统存储器可靠性、可用性和可服务性(ras) | |
KR20180040474A (ko) | 칩 단위의 페일 정보를 레포팅하는 메모리 모듈, 메모리 모듈 및 메모리 컨트롤러의 동작 방법 | |
KR20230123801A (ko) | Dwa 인코더 및 dwa 디코더를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN117795466A (zh) | 使用子命令的存取请求管理 |