TWI503829B - 延伸單位元錯誤校正及多位元錯誤偵測 - Google Patents

延伸單位元錯誤校正及多位元錯誤偵測 Download PDF

Info

Publication number
TWI503829B
TWI503829B TW099108739A TW99108739A TWI503829B TW I503829 B TWI503829 B TW I503829B TW 099108739 A TW099108739 A TW 099108739A TW 99108739 A TW99108739 A TW 99108739A TW I503829 B TWI503829 B TW I503829B
Authority
TW
Taiwan
Prior art keywords
information
error
bit
groups
bits
Prior art date
Application number
TW099108739A
Other languages
English (en)
Other versions
TW201040974A (en
Inventor
David R Resnick
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW201040974A publication Critical patent/TW201040974A/zh
Application granted granted Critical
Publication of TWI503829B publication Critical patent/TWI503829B/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

延伸單位元錯誤校正及多位元錯誤偵測
用於電腦系統及各種電子裝置之資料及其他資訊通常由許多稱作位元之資訊組構成。每一位元皆具有一例如二進制0或二進制1之值。在某些情形中,諸如實體瑕疵、宇宙射線及不適當使用之因素可改變儲存於此等系統或裝置中之資料資訊之單個位元之值或多個位元之值。因此,在某些情形中可出現錯誤資料資訊。許多習用系統或裝置可包括用以偵測並校正資料資訊中之一些具體錯誤之錯誤偵測與校正組件。舉例而言,某些系統具有用以校正資料資訊之單個錯誤位元之組件。然而,甚至在包括錯誤偵測與校正組件之情況下,某些習用系統亦可不適當地偵測或錯誤地校正某些錯誤,從而導致潛在的系統誤操作。
圖1顯示根據本發明之一實施例具有一控制模組111之系統100之一方塊圖。系統100可包括或包括於一電子產品中,例如一電腦、一電視、一蜂巢式電話或其他電子產品。系統100包括一用以促進在一處理器120與一記憶體裝置140之間的線112及線114上傳送資料(資料)及其他資訊之記憶體控制器110。該資料資訊包括資料位元。
系統100使用控制模組111來產生當在系統100之一寫入操作中將資料資訊儲存至記憶體裝置140中時與該資料資訊相關聯之錯誤校正資訊(EC)。系統100亦使用控制模組111來產生當在系統100之一讀取操作中自記憶體裝置140擷取該資料資訊時與該資料資訊相關聯之其他錯誤校正資訊。控制模組111比較在寫入及讀取操作期間所產生之錯誤校正資訊兩者來確定該資料資訊中是否已出現一錯誤。端視該錯誤類型,控制模組111可校正該錯誤或將該錯誤指示為不可校正。舉例而言,若該錯誤係一單位元錯誤,則控制模組111可校正該錯誤,或者若該錯誤係一多位元錯誤,則控制模組111可發佈一通知該系統該錯誤為不可校正的或該資料資訊被敗壞之指示(例如,一信號或一旗標)。一單位元錯誤意謂該資料資訊之僅一個資料位元係錯誤的。一多位元錯誤意謂該資料資訊之兩個或兩個以上資料位元係錯誤的。可校正本文中所述之某些多位元錯誤。舉例而言,若一多位元錯誤具有僅奇數個屬於一特定群組之錯誤資料位元(如下文更詳細闡述),則可校正該奇數個錯誤資料位元。系統可經組態以校正此等多位元錯誤。
控制模組111可由硬體(例如,實體組件)、軟體(例如,程式化指令)、或韌體(硬體與軟體之一組合)、或硬體、軟體與韌體之某一組合實施。
圖1顯示作為一實例整個控制模組111位於記憶體控制器110中。然而,整個控制模組111可位於處理器112中或位於記憶體114中。另一選擇係,控制模組111之不同部分可分散於記憶體控制器110、處理器120及記憶體裝置140之中的不同位置中。
在某些情況下,整個系統100可包封於單個積體電路(IC)封裝(或IC晶片)中,以致於在此等情況下,系統100可稱作一系統或一晶片。另一選擇係,系統100之組件可包封於不同IC封裝中。舉例而言,記憶體控制器110及記憶體裝置140可包封於可包括其中形成記憶體控制器110及記憶體裝置140之組件之單個半導體晶片或多個半導體晶片之同一IC封裝中。
熟習此項技術者可認識到,系統100可包括未顯示以幫助著重於本文中所闡述之實施例之其他組件。系統100可包括下文參照圖2至圖18所述之系統之組件。
圖2顯示一根據本發明之一實施例包括一具有系統200可用於其寫入操作之組件之控制模組222之系統200之一局部方塊圖。舉例而言,系統200可在一寫入操作中激活一寫入命令(例如,寫入)。控制模組222包括一接收器205,該接收器用以在線212上接收具有資料位元之資料資訊(例如,資料寫入)並在線213上將該資料資訊傳送至一寫入遞送單元206。一例如一處理器(例如,圖1之處理器120)之裝置可在線212上將資料資訊提供至控制模組222。控制模組222亦包括一用以產生與該資料資訊相關聯之錯誤校正資訊(例如,EC寫入)之寫入錯誤校正資訊產生器225。回應於該寫入信號,記憶體裝置240儲存該資料資訊及該錯誤校正資訊。
圖3顯示根據本發明之一實施例包括一具有系統200可用於其讀取操作之組件之控制模組222之圖2之系統200之一局部方塊圖。如圖3中所示,系統200可在一讀取操作中激活一讀取命令(例如,讀取)。控制模組222(其係用於寫入操作之控制模組)包括一讀取遞送單元306,該讀取遞送單元用以自記憶體裝置240接收在一寫入操作(例如上文參照圖2所述之寫入操作)中儲存於記憶體裝置240中之資料資訊(例如,資料讀取)及錯誤校正資訊(例如,EC寫入)兩者。如圖3中所示,控制模組222亦包括一讀取錯誤校正資訊產生器325,該讀取錯誤校正資訊產生器用以產生當在一讀取操作中自記憶體裝置240擷取資料資訊(例如,資料讀取)時與該資料資訊相關聯之錯誤校正資訊(例如,EC讀取)。讀取錯誤校正資訊產生器325與圖2之寫入錯誤校正資訊產生器225可為相同之產生器,此乃因控制模組222基於相同之資料資訊產生讀取及寫入錯誤校正資訊。然而,若該資料資訊中已出現一錯誤,則該資料資訊可具有在其被儲存時與在其被擷取時不同之值。
控制模組222進一步包括一用以比較錯誤校正資訊EC讀取及EC寫入兩者並產生一比較結果(亦稱作一校驗子)之比較與校正單元326。端視該比較結果之值,比較與校正單元326可使該資料資訊在未偵測到錯誤時維持不變、校正該資料資訊或將該錯誤指示為不可校正。
舉例而言,若該比較結果指示錯誤校正資訊EC讀取與EC寫入之值相同,則控制模組222在線313上將該資料資訊傳送至一發射器305以供進一步處理而不修改該資料資訊。
於另一實例中,若該比較結果指示錯誤校正資訊EC讀取與EC寫入之值不同,則控制模組222確定該資料資訊中已出現一錯誤。若控制模組222將該錯誤識別為一單位元錯誤,則其可藉由例如下述方式來校正一錯誤資料位元:雙態觸變該錯誤資料位元之值,以使得一邏輯0值變為一邏輯1值,或者一邏輯1值變為一邏輯0值。若控制模組222將該錯誤識別為一多位元錯誤,則其可將該錯誤指示為不可校正。回應於該不可校正錯誤指示,系統200可執行適當之任務,例如異常中止其與該讀取操作相關之當前過程。然而,如上文所提及,可校正本文中所述之某些多位元錯誤。舉例而言,系統200可經組態以在一多位元錯誤具有僅奇數個屬於僅一個具體資料群組之錯誤資料位元之情況下校正該多位元錯誤。
系統200可以類似於或相同於下文參照圖4及圖5所述之系統400及500之方式之方式來組織資料資訊之資料位元及錯誤校正資訊之錯誤資訊位元。
圖4顯示根據本發明之一實施例具有組織成不同子集401、402、403及404之資料資訊450之系統400之一局部方塊圖。為幫助著重於本文中所述之實施例,圖4顯示可用於系統400之一寫入操作之系統400之僅一些組件。在一寫入操作期間,系統400可接收可在類似於或相同於圖1之線112或圖2之線212之線412上傳送之資料資訊450。線412可包括一用以同時接收(意謂並行接收)資料資訊之資料位元之128位元寬匯流排(128條單獨的線)。如圖4中所示,資料資訊450可包括128個資料位元(位元0(BIT0 )至位元127(BIT127 ))。系統400在線412自一裝置(例如類似於圖1之處理器120之處理器)同時接收資料資訊450之128個資料位元以使得在線412中之每一者上接收位元0(BIT0 )至位元127(BIT127 )中之每一者。
在此處所述之實施例中,系統400可將資料資訊450之資料位元組織成四個子集401、402、403及404,以使得每一子集皆包括相等數目個之32個資料位元。舉例而言,子集401包括位元0(BIT0 )至位元31(BIT31 ),子集402包括位元32(BIT32 )至位元63(BIT63 ),子集403包括位元64(BIT64 )至位元95(BIT95 ),且子集404包括位元96(BIT96 )至位元127(BIT127 )。
如圖4中所示,為便於說明本文中所述之實施例,資料資訊450之位元0(BIT0 )至位元127(BIT127 )標記為位元A、B、C及D。舉例而言,位元0(BIT0 )至位元31(BIT31 )標記為資料位元A0 至資料位元A31 。位元32(BIT32 )至位元63(BIT63 )標記為資料位元B0 至資料位元B31 。位元64(BIT64 )至位元95(BIT95 )標記為資料位元C0 至資料位元C31 。位元96(BIT96 )至位元127(BIT127 )標記為資料位元D0 至資料位元D31
圖4顯示作為一實例資料資訊450具有128個資料位元且組織成偶數個子集(例如四個子集401、402、403及404)。然而,資料位元之數目、子集之數目或兩者可改變且可係一奇數。舉例而言,該128個資料位元可組織成8個子集,其中每一子集具有16個資料位元。於另一實例中,該資料資訊可分組成16個群組,其中每一群組具有8個資料位元。
圖5顯示一根據本發明之一實施例具有分組成不同群組之資料資訊550之系統500之一局部方塊圖。為幫助著重於本文中所述之實施例,圖5顯示該系統可用於其寫入操作之系統500之僅一些組件。系統500可以類似於圖4之系統400之方式之方式來組織資料資訊550。舉例而言,系統500可在線512上接收資料資訊550之128個資料位元(例如,BIT0 至BIT127 )並將該128個資料位元組織成四個子集,包括一具有資料位元A0 至資料位元A31 之子集、一具有資料位元B0 至資料位元B31 之子集、一具有資料位元C0 至資料位元C31 之子集、一具有資料位元D0 至資料位元D31 之子集。線512分別類似於或相同於圖1、圖2及圖4中之線112、線212及線412。於圖5中,系統500可在單獨的傳送中傳送該等子集,以使得子集之數目(例如,4)等於傳送之數目(例如,4),如下文詳細闡述。
如圖5中所示,系統500亦將資料資訊550之資料位元分組成包括群組0(GRP 0)至群組31(GRP 31)之32個群組。該等群組中之每一者皆包括一個來自該等子集中之每一者之資料位元。舉例而言,群組0包括資料位元A0 、B0 、C0 及D0 ,群組1包括資料位元A1 、B1 、C1 及D1 ,且群組31包括資料位元A31 、B31 、C31 及D31
控制模組555包括一錯誤校正資訊產生器(EC產生器)525,該錯誤校正資訊產生器用以產生與資料資訊550相關聯之錯誤校正資訊551並在線514上將錯誤校正資訊551及資料資訊550傳送至記憶體裝置540。圖5顯示作為一實例系統500將資料資訊550及錯誤校正資訊551兩者儲存於記憶體裝置540中。系統500可作為選擇將錯誤校正資訊551之一部分或錯誤校正資訊551之全部儲存於一不同位置中,例如於一類似於或相同於圖1之記憶體控制器110之記憶體控制器中。
於圖5中,錯誤校正資訊551包括錯誤資訊位元EC0 至EC11 。系統500亦將錯誤校正資訊551分組成若干群組,例如一包括位元EC0 、EC3 、EC6 及EC9 之群組、一包括位元EC1 、EC4 、EC7 及EC10 之群組、及一包括位元EC2 、EC5 、EC8 及EC11 之群組。系統500將來自每一群組之錯誤資訊位元逐次傳送至線514中之每一者以使得在一不同之傳送中傳送同一群組之每一錯誤資訊位元。舉例而言,系統500將錯誤資訊位元EC0 、EC3 、EC6 及EC9 逐次傳送至線514中之每一者,以使得分別在傳送1、傳送2、傳送3及傳送4中傳送位元EC0 、EC3 、EC6 及EC9 。系統500亦在線514中之每一者上逐次傳送來自每一群組之資料位元,以使得在一不同之傳送中傳送同一群組之每一資料位元。舉例而言,系統500分別在四個不同傳送(例如傳送傳送1、傳送2、傳送3及傳送4)中在線514中之每一者上逐次傳送群組GRP 0之資料位元A0 、B0 、C0 及D0 。圖5顯示作為一實例按一如所示之順序(位元A、B、C及D)傳送資料資訊。然而,該順序可改變。此外,圖5顯示分組位元EC0 至EC11 之一實例。可執行分組錯誤校正位元之其他方式,例如,EC0 至EC3 處於一個群組中,EC4 至EC7 處於一第二群組中且EC8 至EC11 處於一第三群組中。
由於在線514中之一單獨線上傳送資料資訊550之該等群組中之每一者及錯誤校正資訊551之該等群組中之每一者,故線514之數目等於資料資訊550之群組之數目與錯誤校正資訊551之群組之數目之和。於此實例中,線514之數目為35(32個資料位元群組+3個錯誤資訊位元群組=35)。
當資料組織成如圖4及圖5中所示之子集及群組時,圖5之線514中之單個失常可造成單個群組中之多個資料位元失常。簡單錯誤校正方法(例如一經修改漢明碼)之錯誤校正能力可校正一單位元錯誤,偵測兩個位元之所有錯誤,且可誤偵測或誤校正且因此提供達三個或三個以上資料位元之錯誤之敗壞資料。
假設單個失常因此可有時允許未偵測到之資料敗壞,則需要一簡單錯誤校正方法之一延伸來至少允許偵測由彼等單一失常所造成之所有多位元錯誤。此處所示之延伸碼產生允許校正所有單位元錯誤,偵測但不校正所有偶數個位元錯誤並校正奇數個位元錯誤,其中該等位元錯誤出現在單個群組中。儘管可誤偵測或誤校正涉及多個群組之多位元錯誤,但那樣的機會通常極小。
雖然此處之實例顯示圍繞資料組織之群組多工成如圖5中所示之群組,但可使用任一圍繞常見失常機理組織之分組來次集合並分組資料以使得可可靠地偵測或校正此等群組中之多位元錯誤。
圖6顯示一根據本發明之一實施例包括一用以實施一矩陣660之控制模組666之系統600之一局部方塊圖。矩陣660含有資料資訊650與錯誤校正資訊651之間的一關係。矩陣660係在製造系統之前(例如,在系統600之設計階段)創建。基於矩陣660,組件(例如硬體、軟體、或韌體、或此等組件之組合)包括作為實施矩陣660之方式。矩陣660可使用硬體、軟體及韌體之各種組合部分地基於漢明碼創建。漢明碼可係奇權、單錯誤校正、雙錯誤偵測(SECDED)碼。因此,矩陣660亦可視為一基於奇權SECDED漢明碼創建之習用H矩陣之一修改形式。
基於資料資訊650,控制模組666在系統600之一寫入操作及系統600之一讀取操作兩者期間計算錯誤校正資訊651之錯誤資訊位元EC0 至EC11 之值。在一寫入操作中,錯誤資訊位元EC0 至EC11 之值(在該寫入操作期間由控制模組666計算)表示與欲儲存於系統600之一記憶體裝置中之資料資訊相關聯之錯誤校正資訊651之值。在一讀取操作中,錯誤資訊位元EC0 至EC11 之值(在該讀取操作期間由控制模組666計算)表示與自該記憶體裝置擷取之資料資訊相關聯之錯誤校正資訊651之值。由於控制模組666使用相同之矩陣來讀取並寫入,故其可包括相同或相似之組件以在寫入及讀取操作兩者中計算錯誤資訊位元EC0 至EC11 之值。
矩陣660含有資料資訊650與錯誤校正資訊651之間的該關係。控制模組666包括實施矩陣660以在寫入及讀取操作中基於資料資訊來計算錯誤資訊位元EC0 至EC11 之值之組件。在寫入及讀取操作中,錯誤資訊位元EC0 至EC11 之值允許控制模組666(或系統600)偵測錯誤並校正某些可能出現在該資料資訊中之具體錯誤。
圖6顯示控制模組666實施基於具有128個資料位元之資料資訊(例如,資料資訊650)及具有12個錯誤資訊位元之錯誤校正資訊(例如,錯誤校正資訊651)之一具體實例創建之矩陣660。然而,控制模組666可實施一基於具有不同組織之資料資訊及錯誤校正資訊創建之矩陣。
為便於說明本文中之各種實施例,矩陣660使用上文參照圖5所述之資料資訊550之相同資料組織(例如,子集)及分組來創建。因此,於圖6中,系統600使用具有組織成四個子集之128個資料位元之資料資訊650:一包括資料位元A0 至A31 之子集、一包括資料位元B0 至B31 之子集、一包括資料位元C0 至C31 之子集及一包括資料位元D0 至D31 之子集。該等子集分組成32個群組0至31。系統600在四個傳送(每一子集一個傳送)中傳送該四個子集。矩陣660可按下述方式來創建。
如圖6中所示,矩陣660包括兩個部分(一部分661(上部分)及一部分662(下部分))。每一部分皆包括列及行。
矩陣660之行數等於資料位元群組數(例如,32)與每一群組中之資料位元數(例如,4)之乘積加上錯誤資訊位元數(例如,12)。因此,於圖6中,矩陣660中之行數為(32x4)+12=140。為簡化說明,圖6省略此等群組下之行中之群組6至29之細節。
熟習此項技術者將容易認識到,為基於SECDED型漢明碼偵測並校正128個位元之資料資訊中之錯誤,除該等資料位元之外可使用九個錯誤資訊位元(類似於位元EC0 至EC11 )。因此,基於習用SECDED型漢明,創建一具有剛好九個錯誤資訊位元之矩陣(例如矩陣660)便足夠。
然而,由於系統600在一條線上在具有每一群組中之四個位元之四個傳送中傳送該等資料資訊群組,故創建具有多於九個錯誤資訊位元之矩陣660可提高系統600之效率,特別是,偵測中多個資料位元失常之情形之能力,而習用改進型漢明碼可誤偵測或誤校正此等失常。為傳送錯誤資訊位元,額外線(除用以傳送資料位元之線之外)可包括於系統600中。舉例而言,系統600可包括類似於用以傳送資料位元及錯誤資訊位元之圖5之線514之線。如圖5中所示,除用於傳送資料位元之線之外,還包括三條額外線以傳送錯誤資訊位元EC0 至EC11
於圖6之系統600中,若包括僅兩條額外線(而不是三個,如圖5中所示)以傳送錯誤資訊位元EC0 至EC11 且若系統600在四個傳送(其係相同數目個用於傳送資料位元之傳送)中在該兩條額外線上傳送兩個錯誤資訊位元,則該兩條線允許傳送僅八個錯誤資訊位元(每一傳送中之兩個位元乘以四個傳送)。對於基於SECDED型漢明碼來偵測並校正128個位元之資料資訊中之錯誤,八個額外錯誤資訊位元不夠。然而,若三條額外線(類似於用於傳送位元EC0 至EC11 之圖5中之該三條線)包括於系統600中以傳送錯誤資訊位元且若系統600在四個傳送中在該三條額外線上傳送資訊位元,則該三條線允許傳送12個資訊位元(每一傳送中之三個位元乘以四個傳送)。該12個錯誤資訊位元大於可用於基於SECDED型漢明碼來偵測並校正128個位元之資料資訊中之錯誤之九個錯誤資訊位元。因此,於系統600中(或於圖5之系統500中),12個位元可對於錯誤資訊位元。於矩陣660中,錯誤校正資訊651之行數係基於錯誤資訊位元數。如本文中所述,由於錯誤資訊位元選擇為12,故錯誤校正資訊651之行數為12,如圖6中所示。
矩陣660之部分662中之列數等於傳送之數目。由於系統600包括用以傳送資料資訊650之四個傳送(例如,圖5中之傳送5、傳送6、傳送7及傳送8),故部分662中之列數等於4(其在圖6中顯示為部分662中之「列下部」區段中之列1至列4)。在群組0至31中之每一者內,每一資料位元指派給部分662中之一不同列,以使得群組0至31中之每一者皆包括對角指派給部分662中之該等列及行之對應資料位元。如圖6中所示,群組0至31中之每一者中之部分662中之資料位元之對角指派類似於指派於一I矩陣中之值。
矩陣660之部分661中之列數可經選擇以滿足表示式R CT L。在此表示式中,R為列數,T為傳送之數目(其在此實例中為4),L為系統600在其上傳送資料資訊650及錯誤校正資訊651之線之數目,C代表組合,且「」意謂等於或大於(至少)。換言之,若已知R之值,則項R CT 表示可獲得之所有可能獨一無二組合(多少個獨一無二組合)之數目,其中每一獨一無二組合皆具有該R個列之中的「T」個不同列。因此,R CT L意謂由R CT 所表示之值(獨一無二組合之數目)應等於或大於L。於此處所述之實例中,已知T及L之值。T為4(傳送之數目)且L為35,其為可包括35位元寬資料路徑(35條單獨的線)以同時傳送32個資料位元加上該12個錯誤資訊位元中之三者之線(例如圖5之線514)之數目。基於T及L之已知值,可計算列數R以使得R CT L。舉例而言,根據計算,若R=7(7列),則R C4= 3535。若R=8,則R C4 =70。因此,若矩陣660中之部分661之一列選擇為R=7(R C4= 35)或R=8,則其滿足R C4 35。在創建矩陣660中,選擇R=8(儘管可使用R=7),此意謂矩陣660具有部分661中之八列,在圖6中顯示為部分661中之「列上部」區段中之列1至列8)。儘管可使用R=7,但如此處所述,選擇R=8列而不是R=7可提供矩陣660之部分661中之對稱性且可簡化系統600之設計。亦正如,在此處所示之各種實施方案中,存在用於12個錯誤資訊位元(其中四個位元係矩陣660之部分662中之位元)之空間從而為8個其他EC位元留出空間。
上文說明顯示如何選擇矩陣660之列及行。下文說明顯示如何在矩陣660之列及行中指派資料資訊650之資料位元及錯誤校正資訊651之錯誤資訊位元。
在群組0至31中之每一者內,可將屬於同一群組之每一資料位元指派給彼群組內之該等行中之一者,例如群組0中之該4行中之A0 、B0 、C0 及D0 。然後,可將該四個資料位元之示例(例如,示例A0 、B0 、C0 及D0 )指派給部分661中之列1至列8之中的任何四個不同列。將含有一個群組之該四個示例之列之組合選擇為相對於所有其他群組之列組合獨一無二。舉例而言,於群組0中,將A0 、B0 、C0 及D0 之示例指派給列1、列2、列3及列4。因此,於此實例中,將屬於群組0之資料位元指派給列1、列2、列3及列4之一組合。於群組1中,將A1 、B1 、C1 及D1 之示例指派給列1、列2、列3及列5。因此,於此實例中,將群組1之資料位元指派給列1、列2、列3及列5之一組合,其不同於群組0之列1、列2、列3及列4之組合,其亦不同於群組2之列組合,其係列1、列2、列3及列6。
在以上型樣之後,可將資料資訊650之資料位元指派給矩陣660之行及列,以將群組0至31中之每一者中之資料位元指派給矩陣660之部分661中之列1至列8之一獨一無二組合。圖6顯示指派群組0至31中之一些群組之列及行之僅一個實例。可創建其他指派,只要指派給群組0至31之列組合相對於彼此獨一無二。
指派給群組0至31中之每一者之獨一無二列組合創建矩陣660內之每一群組之一獨一無二簽名或識別符。每一群組之該獨一無二ID允許系統600在資料資訊650中出現某些具體錯誤且該錯誤出現在一特定群組中之情況下識別彼群組。任一特定群組之獨一無二ID對應於與僅彼特定群組之資料位元相關聯之位元EC0 至EC7 之一獨一無二組合,以使得彼特定群組之每一位元促成位元EC0 至EC7 之該獨一無二組合之一對應位元。舉例而言,如圖6中所示,位元EC0 、EC1 、EC2 及EC3 之組合與僅群組GRP 0之資料位元A0 、B0 、C0 及D0 相關聯,以使得僅資料位元A0 、B0 、C0 及D0 促成組合EC0 、EC1 、EC2 及EC3 之值。於其他實例中,位元EC0 、EC1 、EC2 及EC4 之組合與僅群組1之資料位元(例如,A1 、B1 、C1 及D1 )相關聯,且位元EC0 、EC1 、EC3 及EC4 之組合與僅群組5之資料位元(例如,A5 、B5 、C5 及D5 )相關聯。
控制模組666基於資料資訊650在一寫入或讀取操作期間計算錯誤資訊位元EC0 至EC11 中之每一者之值。控制模組666可在邏輯上組合(例如執行一互斥或邏輯運算)矩陣660之同一列之所有行中之資料位元之值以產生對應於彼列之錯誤資訊位元之值。舉例而言,如圖6之部分661中之列1中所示,控制模組666基於列1中之群組0至5之所有資料位元以及在群組6至29中任何一者具有其指派給列1之資料位元之一示例之情況下列1中之群組6至29之資料位元來計算錯誤資訊位元EC0 之值。如圖6之部分661中之列4中所示,控制模組666基於群組0、群組5、群組30之所有資料位元以及在群組6至29中任何一者具有其指派給列4之資料位元之一示例之情況下列4中之群組6至29之資料位元來計算錯誤資訊位元EC3 之值。如圖6之部分661中之列8中所示,控制模組666基於群組4、群組30、群組31之所有資料位元以及在群組6至29中任何一者具有其指派給列4之資料位元之一示例之情況下列4中之群組6至29之資料位元來計算錯誤資訊位元EC7 之值。如圖6之分部662中之「列下部」區段中之列1中所示,控制模組666基於群組0至31中之每一者之所有資料位元A0 至A31 來計算錯誤資訊位元EC8 之值,並基於群組0至31中之每一者之所有資料位元B0 至B31 來計算錯誤資訊位元EC9 之值。當在系統600中實施矩陣660時,將不具有資料位元指派之位置視為空或零。
系統600之控制模組666可包括用以基於矩陣660之資料資訊650與錯誤校正資訊651之間的關係來計算錯誤資訊位元EC0 至EC11 之值之組件,例如邏輯組件。舉例而言,控制模組666可包括下文參照圖7及圖8所述之邏輯組件。
圖7及圖8顯示一根據本發明之一實施例包括一具有用以產生錯誤資訊位元EC0 至EC11 之值之邏輯組件之控制模組777之系統700之一局部方塊圖。如圖7中所示,控制模組777包括互斥或邏輯組件(例如,邏輯閘)780至787。提供至互斥或邏輯組件780至787中之每一者之輸入之資料位元對應於指派給一矩陣之一上部分(類似於或相同於圖6之矩陣660之部分661)中之同一列之資料位元。舉例而言,互斥或邏輯組件780之輸入處之資料位元A0 …D5 …及「W」可對應於該矩陣之一上部分之一第一列(例如,圖6之部分661中之列1)。此處,「W」表示指派給一個群組之資料位元之一示例(若有)或指派給兩個或兩個以上群組之資料位元之示例(若有)。舉例而言,若圖6之矩陣660之661之部分之列1中之群組6至29中之一者(或多者)具有資料位元之一示例(或若干示例),則圖7中之「W」表示彼等資料位元。若圖6之矩陣660之661之部分之列1中之群組6至29概不具有資料位元之一示例,則圖7中之「W」表示無(在「W」處無資料位元輸入)。
類似地,端視該矩陣中之資料位元指派,互斥或邏輯組件781至787之輸入處之「X」、「Y」、「Z」、「WW」、「XX」、「YY」及「ZZ」既可表示亦可不表示該矩陣之該上部分之其他列(例如,列2至列8)處之資料位元之示例。
如圖8中所示,控制模組777亦可包括互斥或邏輯組件708至711。提供至互斥或邏輯組件708至711中之每一者之輸入之資料位元對應於指派給該矩陣之一下部分(類似於或相同於圖6之矩陣660之部分662)中之同一列之資料位元。舉例而言,互斥或邏輯組件708之輸入處之資料位元A0 至A31 可對應於該矩陣之一下部分之一第一列(例如,圖6之部分662中之列1)。於另一實例中,互斥或邏輯組件709之輸入處之資料位元B0 至B31 可對應於該矩陣之該下部分之一第二列(例如,圖6之部分662中之列2)。
熟習此項技術者將認識到,於圖7及圖8中,互斥或邏輯組件中之每一者顯示有此多個輸入僅為了便於說明本文中之實施例。然而,圖7及圖8中之互斥或邏輯組件中之每一者皆可使用一用以執行既定邏輯功能(例如,互斥或邏輯功能)之邏輯閘網路來實施。
圖7及圖8顯示控制模組777之僅一部分以集中於產生錯誤資訊位元EC0 至EC11 之組件。然而,控制模組777可包括類似於控制模組111(圖1)、控制模組222(圖2及圖3)、控制模組555(圖5)或控制模組666(圖6)之組件與功能之組件與功能。舉例而言,圖7及圖8中所示之組件可係類似於圖2及圖3之控制模組222之寫入及讀取遞送單元206及306之控制模組777之單元之部分。
在系統700之一寫入操作期間,控制模組777將資料資訊之資料位元及錯誤校正資訊之錯誤資訊位元儲存至系統700之一記憶體裝置中。類似於圖2及圖3之控制模組222之功能,在圖7及圖8之系統700之一讀取操作期間,控制模組777自系統700之該記憶體裝置擷取所儲存資料位元及所儲存錯誤資訊位元兩者。控制模組777亦基於所擷取資料資訊產生新的錯誤校正資訊。然後,控制模組777比較該新的錯誤校正資訊與所儲存錯誤校正資訊(其係在該讀取操作中擷取)以產生一比較結果(校驗子)。控制模組777可包括一用以執行該比較之比較與校正單元(未顯示於圖7及圖8中但可類似於圖3之控制模組222之單元326)。控制模組777然後基於該矩陣來比較該比較結果與資料資訊之群組之ID以確定是否已出現一錯誤且該錯誤(若出現)是否可校正。
圖9、圖10、圖11及圖12顯示其中分別在單個傳送中(例如在傳送1、傳送2、傳送3及傳送4中)偵測到一錯誤之實例。圖13顯示其中在偶數個傳送中偵測到一錯誤之實例。圖14顯示其中在奇數個傳送中偵測到一錯誤之實例,其中該奇數大於1。為便於闡述,圖9至圖14顯示與群組0至31中之僅一些群組相關之實例。該系統可以類似於下文參照圖9至圖14或參照圖16及17所述之方式之方式偵測或校正未在此等實例中或在其他實例中闡述之群組中之錯誤。
圖9顯示根據本發明之一實施例當在一第一資料資訊傳送中偵測到一單位元錯誤時寫入錯誤校正資訊951之一實例性值及讀取錯誤校正資訊901、902、903及904之各種實例性值。於圖9中,標籤「寫入實例」表示一系統中之一實例性寫入操作,其中基於在該實例性寫入操作期間儲存於該系統之一記憶體裝置中之資料資訊(例如圖5之資料資訊550)產生寫入錯誤校正資訊(EC寫入值)951。參照圖9所述之系統可包括上文參照圖1至圖8所述之系統。於圖9中,標籤「讀取實例1」至「讀取實例4」表示用以讀取在該實例性寫入操作期間儲存於該系統之該記憶體裝置中之資料資訊之不同實例性讀取操作。讀取錯誤校正資訊值(EC寫入值)901、902、903及904對應於可基於在該等不同實例性讀取操作期間自該系統之該記憶體裝置擷取之資料資訊產生之可能值。
參照圖9所述之系統可包括用以實施一矩陣(例如圖6之矩陣660)之組件,且使用彼等組件(例如互斥或邏輯組件)來產生EC寫入值951及EC讀取值901、902、903、904或905並使用此等EC寫入及EC讀取值來偵測在一讀取操作期間可能出現在該資料資訊中之錯誤。
下面段落闡述該寫入實例及讀取實例1;其他讀取實例(例如讀取實例2至讀取實例4)闡述於稍後段落中。如圖9中所示,EC寫入值951包括12個錯誤資訊位元EC0 至EC11 ,其中八個位元EC0 至EC7 形成EC寫入值951之一部分,且四個位元EC8 至EC11 形成EC寫入值951之另一部分。EC寫入值951之位元EC0 至EC11 之實例性值為1、0、1、0、1、1、1、1、0、0、1、1(在一寫入操作期間產生自寫入資料資訊)。
EC讀取值901亦包括12個錯誤資訊位元EC0 至EC11 ,其中八個位元EC0 至EC7 形成EC讀取值901之一部分,且四個位元EC8 至EC11 形成EC讀取值901之另一部分。EC讀取值901之位元EC0 至EC11 之實例性值為0、1、0、1、1、1、1、1、1、0、1、1(在一讀取操作期間產生自所讀取資料資訊)。
該系統比較EC寫入值951之位元EC8 至EC11 與EC讀取值901之對應位元EC8 至EC11 以偵測可能出現在在一讀取操作期間所擷取之資料資訊中之錯誤。如圖9中所示,EC寫入951之位元EC8 之值為「0」,且EC讀取寫入901之位元EC8 之值為「1」。具有EC寫入值951及EC讀取值901之位元EC8 至EC11 之部分中之位元中之一者之值之間的差指示偵測到一可能已出現在該資料資訊(所讀取資料資訊)中之錯誤(一單位元錯誤或一多位元錯誤)。在此實例中使用EC寫入值951及EC讀取值901之四個位元EC8 至EC11 來進行錯誤偵測,此乃因該系統使用四個傳送來傳送資料資訊及錯誤校正資訊。若該系統使用不同數目(例如,8)個傳送來傳送資料資訊及錯誤校正資訊,則該系統使用等於該數目(例如,8)個傳送之不同數目(例如,8)個錯誤資訊位元來進行錯誤偵測。
如上文實例中所述,EC寫入值951及EC讀取值901具有四個位元EC8 至EC11 之中的位元EC8 中之一值差。基於圖6之矩陣660中之資料資訊與錯誤校正資訊關係且基於圖8之組件,位元EC8 與傳送1相關聯。因此,傳送1中可能已出現該錯誤(如在圖9中指示為傳送1錯誤)。若該錯誤係一單位元錯誤,則傳送1之資料位元A0 至A31 中之一者可能係錯誤的。在此種情況下,該系統可識別資料位元A0 至A31 中哪一者係錯誤的並校正該錯誤。若EC8 至EC11 中之偶數個位元在寫入值951與讀取值901(此具體實例中之901)之間不同,則該錯誤為不可校正的。若EC8 至EC11 中之奇數個位元在寫入值951與該讀取值之間不同,則該等資料錯誤可能為可校正的,此視EC0 至EC7 值中之位元差而定,如下文所解釋。於圖9之實例中,該系統藉由比較具有EC寫入值951及EC讀取值901之8個錯誤資訊位元EC0 至EC7 (核對位元組)之部分來確定該錯誤是否係一可校正或不可校正錯誤。
如圖9中所示,EC寫入值951之位元EC0 至EC7 具有1、0、1、0、1、1、1、1之值,且EC讀取值901之位元EC0 至EC7 具有0、1、0、1、1、1、1、1之值。因此,EC寫入值951及EC讀取值901之對應位元EC0 、EC1 、EC2 及EC3 具有位元對位元值差。基於此等值差,該系統基於用於創建位元EC0 至EC7 之矩陣(例如,圖6之矩陣660)來檢驗相對於位元EC0 至EC7 之群組之指派以確定是否將位元EC0 、EC1 、EC2 及EC3 之組合指派給該矩陣中之任一群組(例如群組0至31中之一者)。若該等群組指派概不與位元EC0 、EC1 、EC2 及EC3 之組合相匹配,則該系統將該錯誤識別為不可校正的,此乃因在同一傳送中但在不同群組中之多個位元可係錯誤的。舉例而言,傳送1中之群組0至31中之兩者或兩者以上中之兩個或兩個以上資料位元A0 至A31 係錯誤的。在一多位元錯誤情況下,該系統可發佈該錯誤不可校正之一指示。
若具有位元對位元值差之位元之組合與該等群組中之僅一者之指派相匹配且EC寫入值與EC讀取值之間的位元EC8 至EC11 中之僅一者具有位元對位元值差,則該系統將該錯誤識別為一單位元錯誤並校正該錯誤位元。於此實例中,如圖6中所示,位元EC0 、EC1 、EC2 及EC3 之組合指派給僅群組0。因此,該系統將資料位元A0 識別為錯誤的並(例如)藉由下述方式來校正該錯誤:若當在該讀取操作期間擷取資料位元A0 時其具有一「0」之值(錯誤值),則將資料位元A0 之值由「0」改為「1」。在相反之資料方案中,若當在該讀取操作期間擷取資料位元A0 時其具有一「1」之值(錯誤值),則該系統將資料位元A0 之值由「1」改為「0」。在此實例中,識別資料位元A0 ,此乃因根據如上文所述之矩陣(例如,圖6之矩陣660),錯誤資訊位元EC8 指派給其中傳送群組0之位元A0 之傳送1。
於上文實例(圖9中之讀取實例1)中,若EC讀取值901及EC寫入值951具有相同值,則該系統確定未出現錯誤並使自該記憶體裝置擷取之資料資訊維持不變。舉例而言,若EC讀取值901及EC寫入值951兩者之錯誤資訊位元EC0 至EC11 具有相同值(例如,1、0、1、0、1、1、1、1、0、0、1、1(如EC寫入值951中所示),則該系統識別尚未出現錯誤。若該等值不同(指示偵測到一錯誤),則該系統可檢驗EC讀取值901及EC寫入值951兩者之位元EC8 至EC11 之值。若僅一個位元在EC讀取值901之該4位元組EC8 至EC11 與EC寫入值951之該4位元組EC8 至EC11 之間不同,則可能已出現一單位元錯誤。若不存在EC讀取值901之該4位元組EC8 至EC11 與EC寫入值951之該4位元組EC8 至EC11 之間的差,但存在該等EC0 至EC7 值之差,則可能已出現一不可校正錯誤。若存在EC讀取值901之該4位元集合EC8 至EC11 與EC寫入值951之該4位元集合EC8 至EC11 之間的兩個、三個或四個差,則可能已出現一多位元錯誤。
圖9亦顯示該系統可使用產生EC寫入值951之相同寫入操作在其他實例性讀取操作期間產生之其他實例性EC讀取值902、903及904。
若在一讀取操作期間產生EC讀取值902且在一寫入操作期間產生EC寫入值951,則該系統可基於包括位元EC8 至EC11 之該下部分中之僅一個錯誤資訊位元(EC8 )之一值差識別該資料資訊中可能已出現一單位元錯誤或一多位元錯誤。然後,該系統可進一步識別EC讀取值902(0、1、0、0、1、0、1、1)及EC寫入值951(1、0、1、0、1、1、1、1)之該上部分(位元EC0 至EC7 )具有EC讀取值902之位元EC0 、EC1 、EC2 及EC5 之組合與EC寫入值951之位元EC0 、EC1 、EC2 及EC5 之組合之間的位元對位元值差。基於圖6之矩陣,該系統識別位元EC0 、EC1 、EC2 及EC5 之組合指派給僅群組2。因此,於此實例中,該系統識別可能已出現一單位元錯誤。由於在群組2之傳送1中傳送資料位元A2 (基於該矩陣),故該系統將資料位元A2 識別為錯誤的並校正該錯誤。
若在一讀取操作期間產生EC讀取值903且在一寫入操作期間產生EC寫入值951,則該系統可基於包括位元EC8 至EC11 之該下部分中之僅一個錯誤資訊位元(EC8 )之一值差識別該資料資訊中可能已出現一單位元錯誤或一多單位元錯誤。然後,該系統可進一步識別EC讀取值903(0、1、1、1、0、1、1、1)及EC寫入值951(1、0、1、0、1、1、1、1)之該上部分(位元EC0 至EC7 )具有EC讀取值903之位元EC0 、EC1 、EC3 及EC4 之組合與EC寫入值951之位元EC0 、EC1 、EC3 及EC4 之組合之間的位元對位元值差。基於圖6之矩陣,該系統識別位元EC0 、EC1 、EC3 及EC4 之組合指派給僅群組5。因此,於此實例中,該系統識別可能已出現一單位元錯誤。由於在群組5之傳送1中傳送資料位元A5 (基於該矩陣),故該系統將資料位元A5 識別為錯誤的並校正該錯誤。
若在一讀取操作期間產生EC讀取值904且在一寫入操作期間產生EC寫入值951,則該系統可基於包括位元EC8 至EC11 之該下部分中之僅一個錯誤資訊位元(EC8 )之一值差識別該資料資訊中可能已出現一單位元錯誤或一多單位元錯誤。然後,該系統可進一步識別EC讀取值904(1、0、1、1、1、0、0、0)及EC寫入值951(1、0、1、0、1、1、1、1)之該上部分(位元EC0 至EC7 )具有EC讀取值903之位元EC3 、EC5 、EC6 及EC7 之組合與EC寫入值951之位元EC3 、EC5 、EC6 及EC7 之組合之間的位元對位元值差。基於圖6之矩陣,該系統識別位元EC3 、EC5 、EC6 及EC7 之組合指派給僅群組30。因此,於此實例中,該系統識別可能已出現一單位元錯誤。由於在群組30之傳送1中傳送資料位元A30 (基於該矩陣),故該系統將資料位元A30 識別為錯誤的並校正該錯誤。
圖10顯示根據本發明之一實施例當在一第二資料資訊傳送中偵測到一單位元錯誤時讀取錯誤校正資訊之各種實例性值。圖10中之實例使用相同之EC寫入值951(圖9)但使用不同之EC讀取值1005、1006、1007及1008。圖9與圖10之實例之間的差異在於圖10中之錯誤係在該資料資訊之一不同傳送中偵測到。於圖9中,傳送1具有該錯誤。然而,於圖10中,傳送2具有如由EC寫入值951與EC讀取值1005、1006、1007及1008中之每一者之間的位元EC9 中之值差所指示之錯誤。於圖9及圖10之實例中,該系統以類似方式偵測並識別該單位元錯誤及具有該錯誤之群組。然而,在圖10中,由於位元EC9 指派給其中傳送資料位元B0 至B31 之傳送2,故該系統將資料位元B0 、B2 、B5 或B30 (視識別哪一群組而定,如圖10中所示)識別為錯誤的並校正該錯誤。
圖11顯示根據本發明之一實施例當在一第三資料資訊傳送中偵測到一單位元錯誤時讀取錯誤校正資訊之各種實例性值。圖11中之實例使用相同之EC寫入值951(圖9)但使用不同之EC讀取值1109、1110、1111及1112。圖9與圖11之實例之間的差異在於在圖11中,傳送3具有如由EC寫入值951與EC讀取值1109、1101、1111及1112中之每一者之間的位元EC10 中之值差所指示之錯誤。於圖9及圖11之實例中,該系統以類似方式偵測並識別該單位元錯誤及具有該錯誤之群組。然而,於圖11中,由於位元EC10 指派給其中傳送資料位元C0 至C31 之傳送3,故該系統將資料位元C0 、C2 、C5 或C30 (視識別哪一群組而定,如圖11中所示)識別為錯誤的並校正該錯誤。
圖12顯示根據本發明之一實施例當在一第四資料資訊傳送中偵測到一單位元錯誤時讀取錯誤校正資訊之各種實例性值。圖12中之實例使用相同之EC寫入值951(圖9)但使用不同之EC讀取值1213、1214、1215及1216。圖9與圖12之實例之間的差異在於在圖12中,傳送4具有如由EC寫入值951與EC讀取值1213、1214、1215及1216中之每一者之間的位元EC11 中之值差所指示之錯誤。於圖9及圖12之實例中,該系統以類似方式偵測並識別該單位元錯誤及具有該錯誤之群組。然而,於圖12中,由於位元EC11 指派給其中傳送資料位元D0 至D31 之傳送4,故該系統將資料位元D0 、D2 、D5 或D30 (視識別哪一群組而定,如圖12中所示)識別為錯誤的並校正該錯誤。
圖13顯示根據本發明之一實施例當在偶數個資料資訊傳送中偵測到一錯誤時讀取錯誤校正資訊之各種實例性值。圖13中之實例使用相同之EC寫入值951(圖9)但使用不同之EC讀取值1317及1318。圖9與圖13之實例之間的差異在於在圖13中,多個傳送具有錯誤,例如偶數(2或4)個傳送具有錯誤。兩個傳送(例如傳送2及3)具有由EC讀取值1317之位元EC9 至EC10 與EC寫入值951之位元EC9 至EC10 之間的位元對位元值差所指示之錯誤。四個傳送(例如傳送1、2、3及4)具有由EC讀取值1318之位元EC8 、EC9 、EC10 及EC11 與EC寫入值951之位元EC8 、EC9 、EC10 及EC11 之間的位元對位元值差所指示之錯誤。
偶數個傳送(例如,圖13中之兩個或四個傳送)中之一錯誤指示已出現一多位元錯誤。該系統將與例如在圖13之實例中之偶數個傳送相關聯之多位元錯誤視為不可校正的。因此,若偵測到一多位元錯誤,如圖13之實例中所示,則該系統可發佈該錯誤不可校正之一指示。於該多位元錯誤中,位元EC0 至EC7 中之每一者之值既可產生亦可不產生一與單個群組之指派相匹配之組合。即使該組合與單個群組之指派相匹配,該組合亦可能係無效的。圖13以「0/1」形式顯示位元EC0 至EC7 中之每一者之值以指示不管此等位元中之每一者之值(「0」或「1」),若該系統偵測到(基於位元EC8 至EC11 之值)偶數個資料資訊傳送具有錯誤,則該系統可忽略位元EC0 至EC7 之值。
圖14顯示根據本發明之一實施例當在奇數個資料資訊傳送中偵測到一錯誤時讀取錯誤校正資訊之各種實例性值。圖14中之實例使用與圖13相同之EC寫入值951但使用不同之EC讀取值1419及1420。圖13與圖14之實例之間的差異在於圖13顯示偵測到偶數個具有一錯誤之傳送而圖14顯示偵測到奇數個具有一錯誤之傳送。
於圖14中,EC讀取值1419與EC讀取值1420之間的差異在於EC讀取值1419之位元EC0 至EC7 之值可能不允許識別群組0至31之中的一特定群組。與此相反,於EC讀取值1420中,位元EC0 至EC7 之值允許識別群組0至31之中的一特定群組。
奇數個傳送(例如,圖14中之3個傳送)中之一錯誤指示已出現一多位元錯誤。然而,在此種情況下,由於位元EC8 至EC11 之值指示奇數個錯誤資料位元(如在圖14之實例中),故可在位元EC0 至EC7 之值識別群組0至31之中的一特定群組之情況下校正該等錯誤資料位元。
在多位元錯誤情況下,例如在圖14之實例中,位元EC0 至EC7 中之每一者之值既可產生亦可不產生一與單個群組之指派相匹配之組合。圖14以「0/1」形式顯示EC讀取值1419中之位元EC0 至EC7 中之每一者之值以指示一其中EC寫入值951與EC讀取值1419之對應位元EC0 至EC7 之間的位元對位元比較不產生一與單個群組之指派相匹配之組合之實例。然而,EC寫入值951與EC讀取值1420之對應位元EC0 至EC7 之間的比較產生一與單個群組之指派相匹配之組合。
舉例而言,EC寫入值951之位元EC0 至EC7 具有1、0、1、0、1、1、1、1之值,而EC讀取值1420之位元EC0 至EC7 具有0、1、0、1、1、1、1、1之值。因此,EC寫入值951之位元EC0 、EC1 、EC2 及EC3 與EC讀取值1420之位元EC0 、EC1 、EC2 及EC3 具有位元對位元值差。基於此等位元對位元值差,該系統識別位元EC0 、EC1 、EC2 及EC3 之組合指派給圖6之矩陣660中之群組0。因此,在此種情況下,該系統確定已出現一具有多個錯誤資料位元之多位元錯誤,其中該多個錯誤資料位元屬於僅群組0。由於已識別一特定群組連同奇數個錯誤資料位元,故可校正該等錯誤資料位元。
於圖14中,EC讀取值1420亦允許識別奇數個可能已出現在群組0中之錯誤資料位元,此乃因EC寫入值951之位元EC8 、EC9 及EC11 與EC讀取值1420之位元EC8 、EC9 及EC11 之間的位元對位元值差指示三個不同之傳送(例如,圖5中之傳送1、2及4)具有錯誤。使用其中群組0具有分別在傳送1、2、3及4中傳送之資料位元A0 、B0 、C0 及D0 之圖5之實例,該奇數(3)個錯誤資料位元為位元A0 、B0 及D0
圖14顯示一其中奇數個屬於一特定群組之多個錯誤資料位元為3之實例。於某些系統或裝置中,每一群組皆可包括8個或8個以上資料位元。因此,於此等系統中,錯誤校正資訊亦可允許在已出現一為3、5、7之奇數個,或另一大於7之奇數個多個錯誤資料位元之錯誤且該多個錯誤資料位元屬於僅一特定群組之情況下識別彼特定群組。
某些習用系統或裝置有時可能不適當地偵測(例如,誤識別或忽略)或錯誤地校正一具有僅奇數個多個錯誤資料位元之錯誤,例如在與圖14中之EC讀取值1420相關聯之實例中所述之錯誤。在某些習用系統中不適當地偵測或校正錯誤可導致敗壞資料資訊及潛在系統誤操作。
然而,在本文中所述之系統中,適當地偵測一錯誤(例如在與圖14中之EC讀取值1420相關聯之實例中所述之錯誤)可防止誤識別多位元錯誤、或防止忽略多位元錯誤、或兩者,從而避免不適當地校正錯誤或防止出現敗壞資料資訊或潛在系統誤操作。
如上文所述,一系統或一裝置可具有若干群組,每一群組中具有M個資料位元。M係一大於1之整數且可係一奇數或一偶數。該系統或該裝置在該系統或該裝置之一單獨線上傳送每一群組之該M個資料位元。M亦可係因單個實際失常而引起之資料錯誤數;在此處以資料乘以4方式(128個資料位元發送於4個含有32個資料位元之傳送中)之實例中,單個線失常可造成多達4個資料錯誤。基於本文中之說明產生之錯誤校正資訊可允許該系統或裝置在已出現一具有多個錯誤資料位元之錯誤之情況下及在多個錯誤資料位元屬於該等群組之中的僅一特定群組之情況下識別彼特定群組。該多個錯誤資料位元之總數可係一奇數或一偶數。若錯誤資料位元之總數系一奇數,則其可大於1且至多等於M。若多於M個位元實際上係錯誤的,則將進行混迭/消除以使所得校驗子指示較少位元為錯誤的,例如M個位元。若錯誤資料位元之總數係一偶數,則其可大於1且至多等於M。可校正具有單個群組中之僅奇數個錯誤資料位元之多位元錯誤。
圖15顯示一根據本發明之一實施例包括一用以實施一具有一般資料資訊組織之矩陣1560之控制模組1555之系統1500之一局部方塊圖。可以類似於圖6之矩陣660之方式之方式來創建矩陣1560,只是用某些一般資料位元指派來替換矩陣660中之一些具體資料位元指派及值罷了。舉例而言,如圖15中所示,系統1500可將資料資訊1560組織成四個子集及N個群組,其中N係該等群組之數目且資料資訊1550之資料位元之總數等於N與每一群組中之行數之乘積。作為一實例,N等於圖6之矩陣660中之32。圖15顯示作為一實例每一群組具有四行。該行數可改變。圖15顯示矩陣1560以圖解說明可以上文參照圖6所述之方式之方式來創建一類似於矩陣660(圖6)之矩陣,以便亦可創建一不同於矩陣660之矩陣以用於一具有不同於用於使用矩陣660之系統或裝置中之資料位元組織及分組之資料位元組織及分組之系統或裝置中。
於圖15中,部分1550中之每一行對應於一單獨資料位元。部分1551中之每一行對應於一單獨錯誤資訊位元。部分1550之一列中之一1位元指示各別資料位元促成由部分1551中之該1位元識別之錯誤資訊位元之終值(總和)。
如圖15中所示,群組0至N-1中之每一者中之資料位元指派給矩陣1560之部分1561中之列1至列8之一獨一無二組合。圖15顯示具有一針對每一群組之具體列組合之矩陣1560之一實例然而,亦可使用其他指派,只要指派給群組0至N-1中之每一者之列組合彼此間獨一無二且每一群組中之1位元數始終相同且遵循先前所給出之「R CT L」規則。
指派給資料資訊1550之群組0至N-1中之每一者之部分1561中之該獨一無二列組合創建一獨一無二ID以允許系統1500在資料資訊1550中出現某些具體錯誤且該錯誤出現在一特定群組中之情況下識別彼特定群組。
舉例而言,基於矩陣1560,群組0之資料位元指派給部分1561之列1、2、3及4,不指派給部分1562之列5、6、7及8。如圖15中所示,部分1561之列1、2、3及4指派給錯誤資訊位元EC0 、EC1 、EC2 及EC4 。因此,群組0具有一11110000之ID。於一類似型樣中,群組1具有一11101000之ID,且群組N-1具有一00001111之ID。於部分1562中,每一群組之第一位元指派給部分1562之第一列,而每一群組之隨後位元指派給部分1562之連續列。
在某些情況下,資料資訊1550之群組可經配置以使得矩陣部分1550/1561可具有一對稱結構。舉例而言,若系統1500將資料資訊1550之128個位元組織成四個各自含有32個位元之子集,且錯誤校正資訊1551具有12個位元(如圖15中所示),則矩陣1560可經創建以使得群組0至N-1可對稱地配置於部分1561中。舉例而言,如圖15中所示,群組0之部分1561中之每一行皆具有一11110000(或0xF0)之矩陣值,且群組N-1之部分1561中之每一行皆具有一對稱(一位元反轉)於群組0之xF0之00001111(或0x0F)之矩陣值。群組1之部分1561中之每一行皆具有部分1561中之一11101000(或0xE8)之值,且群組N-2之部分1562中之每一行皆具有一對稱於群組1之0xE8之00010111(或0x17)之矩陣值,等等。一對稱矩陣可實現實施該矩陣之組件(例如,邏輯電路)之類似載入及輸入。
圖16顯示根據本發明之一實施例自一寫入錯誤校正資訊EC寫入值1651及不同讀取錯誤校正資訊EC讀取值1616、1617、1618及1619之值計算之不同校驗子1666、1677、1688及1699之不同實例性值。參照圖16所述之系統可包括用以實施圖15之矩陣1560以偵測並識別錯誤位元之組件。
圖16中之校驗子1666、1677、1688或1699之值允許該系統防止在多位元錯誤包括屬於該複數個群組中之僅一個特定群組之複數個錯誤資料位元之情況下及在該複數個群組中之其他群組概不具有錯誤之情況下誤識別該等多位元錯誤及忽略該等多位元錯誤中之至少一者。舉例而言,若一多位元錯誤包括總奇數個屬於僅一個特定群組之錯誤資料位元且若該複數個群組中之其他群組概不具有錯誤,則該系統可正確地偵測此多位元錯誤。於此實例中,基於該校驗子之值,該系統亦可識別彼特定群組之識別符且可校正該錯誤。
於圖16中,校驗子1666係基於EC寫入值1651與EC讀取值1616之位元之值之間的一位元對位元比較計算。因此,由於EC寫入值1651與EC讀取值1616中之每一者皆具有12位元,故校驗子1666亦具有12個位元。該系統可對寫入值1651及EC讀取值1616之位元EC0 至EC11 執行一位元對位元互斥或運算以計算校驗子1666中之對應位元之值。
若校驗子1666之所有該等位元皆為「0」,則該系統確定該資料資訊中尚未出現錯誤。然而,圖16顯示一其中校驗子1666之所有位元之值皆不為「0」但其具有部分1630(對應於位元EC0 至EC7 )中之一1111000之值及部分1646(對應於位元EC8 至EC11 )中之一1000之值。於此實例中,校驗子1666之部分1646之位元EC8 之值「1」指示偵測到該資料資訊中之一錯誤。回應於此偵測,該系統檢驗校驗子1666之部分1630及使用矩陣1560指派之群組之ID以確定部分1630之值是否對應於該等群組中之僅一者之一ID。若其對應,則校驗子1666將該錯誤識別為一單位元錯誤並校正該錯誤。一單位元錯誤係由一具有部分1646中之僅一個「1」之校驗子識別。若部分1630之值不對應於該等群組中之僅一者之一ID,則該系統可發佈該錯誤不可校正之一指示。
於校驗子1666之該實例中,部分1630中之值(11110000)對應於僅群組0之ID(11110000)。因此,該系統識別出現在群組0中之錯誤並識別群組0之行1(基於部分1646中之位元EC8 之「1」之值)中之資料位元(例如,矩陣660中之A0 )係錯誤的並校正該錯誤。
校驗子1677、1688及1699中之每一者皆顯示已出現一多位元錯誤。該系統可以一類似於用於計算校驗子1666之方式之方式來計算校驗子1677、1688及1699。如上文參照圖9至圖15所述,該系統將由位元(例如位元EC8 至EC11 )所指示之偶數個錯誤資料位元之一多位元錯誤視為不可校正的。因此,於其中偵測到偶數個錯誤資料位元之一多位元錯誤之圖16之實例中,該系統使該資料資訊維持不變且發佈該錯誤不可校正之一指示。然而,基於該校驗子(例如校驗子1677、1688及1699),若偵測到奇數個錯誤資料位元之一多位元錯誤且若該奇數個錯誤資料位元屬於僅一個特定群組(如校驗子1688中所示),則該系統可校正該等錯誤資料位元。另一選擇係,該系統可使該等不可校正錯誤資料位元維持不校正並發佈一不可校正或敗壞資料指示。
若一校驗子之一部分(例如圖16之部分1647、1648或1649)具有一數目(奇數或偶數)個帶有相同值(例如「1」)之多個位元數,則該系統可確定已出現一多位元錯誤。如圖16中所示,部分1647具有帶有相同值「1」之位元EC9 至EC10 ,部分1648具有帶有相同值「1」之位元EC8 、EC9 及EC11 ,且部分1649具有帶有相同值「1」之位元EC8 、EC9 、EC10 及EC11 。因此,基於部分1647、1648或1649中之位元之值,該系統可確定與校驗子1677、1688及1699相關聯之資料資訊中已出現一多位元錯誤。
圖17顯示一根據本發明之一實施例自一寫入錯誤校正資訊EC寫入值1751及一讀取錯誤校正資訊EC讀取值1701之值計算之校驗子1799之一實例性值。EC寫入值1751與EC寫入值1651(圖16)具有相同值。然而,圖17中之EC讀取值1701不同於圖16之EC讀取值1616。因此,圖17之校驗子1799具有一不同於圖16之校驗子1666之值之值。舉例而言,圖16之部分1630具有一不同於圖17之部分1730之11100100之值之11110000之值。
類似於圖16之實例,校驗子1799之部分1747之位元EC8 之值「1」指示偵測到該資料資訊中之一錯誤。基於校驗子1799之部分1730中之11100100之值,該系統識別值11100100對應於僅群組2之ID。該系統亦識別群組2之行1(基於部分1747之位元EC8 之「1」之值)中之第一資料位元(例如,矩陣660中之A2 )係錯誤的並校正該錯誤。
在某些情形中,若該校驗子具有僅一個帶有一「1」之值之位元且所有其他位元皆為「0」,例如000000001000(例如,位元EC8 至EC11 之中的一個「1」)或「000001000000」(例如,位元EC0 至EC7 之中的一個「1」)或與僅一個具有一「1」之值之位元之某一其他組合,則該系統可識別當在讀取操作期間自該記憶體裝置擷取該等錯誤資訊位元時該資料資訊之資料位元尚未出現錯誤但該等錯誤資訊位元中之僅一者可能已出現一錯誤。在此等情形中,該系統可忽略由該校驗子所識別之錯誤並使自該記憶體讀取之資料資訊維持不變並將該資料資訊視為有效。
在其他情形中,本文中所述之系統有時可能誤識別或誤校正一多位元錯誤。舉例而言,若出現來自同一列中之兩個或兩個以上群組之兩個或兩個以上錯誤位元,則該系統可能誤識別或誤校正一多位元錯誤。
於一系統或一裝置(例如本文中所述之系統及裝置)中,出現一多位元錯誤之可能性極小。因此,如上文所提及,該系統誤識別或誤校正一多位元錯誤之可能性亦極小以致於其通常可忽略不計。
圖18顯示一根據本發明之一實施例之系統1800。系統1800包括處理器1801與1802、一記憶體子系統1803、一影像感測裝置1820、一系統記憶體控制器1810、一圖形控制器1834、一輸入與輸出(I/O)控制器1850、一顯示器1852、一鍵盤1854、一指向裝置1856、一周邊裝置1858、一系統收發器1859及用以向及自系統1800無線發射及接收資訊之天線1870。系統1800亦可包括一用以在系統1800之各組件之中傳送資訊之匯流排1861及一其中附裝系統1800之該等組件中之一些組件之電路板1805(例如,母板)。端視其應用,系統1800可省略圖18中所示之組件中之一些組件或者或添加更多組件。
處理器1801及1802中之一者或兩者可包括一通用處理器、一應用專用積體電路(ASIC)或其他類型之處理器。端視其應用,系統1800可省略處理器1801及1802中之一者。處理器1801及1802中之一者或兩者可包括一單核處理器或一多核處理器。處理器1801及1802中之一者或兩者可執行一個或多個程式化命令以處理資料及其他資訊。該資訊包括由系統1800之系統記憶體控制器1810或其他組件提供之資訊。
影像感測裝置1820包括一具有一互補式金屬氧化物半導體(CMOS)像素陣列之CMOS影像感測器或具有一電荷耦合裝置(CCD)像素陣列之CCD影像感測器。
記憶體子系統1803包括一控制模組1888和記憶體裝置1840、1841及1842。圖18顯示一其中控制模組1888和記憶體裝置1840、1841及1842包封於同一IC封裝1807中之實例,其中控制模組1888和記憶體裝置1840、1841及1842可與該IC封裝之一板垂直地配置呈堆疊組態。另一選擇係,控制模組1888和記憶體裝置1840、1841及1842可分散於系統1800中之不同位置中。此外,控制模組1888之至少一部分或整個控制模組1888亦可包括於系統記憶體控制器1810中或包括於處理器1801及1802中之一者或兩者中。
記憶體子系統1803包括本文中所述之組件之各種實施例。舉例而言,記憶體子系統1803包括本文中所述之系統之至少一部分,例如上文參照圖1至圖17所述之控制模組。因此,圖18之控制模組1888可在寫入及讀取操作期間產生與資料資訊之資料位元群組相關聯之錯誤校正資訊且可基於該錯誤校正資訊來計算一校驗子以允許校正系統1800中之資料資訊中一單位元錯誤並偵測系統1800中之資料資訊中之一多位元錯誤。該校驗子亦可允許控制模組1888在偵測到一具有僅奇數個屬於該等群組之中的一特定群組之多個錯誤資料位元之多位元錯誤之情況下識別該特定群組。控制模組1888可校正該奇數個屬於該特定群組之錯誤資料位元。另一選擇係,控制模組1888可使該奇數個屬於該特定群組之可校正錯誤資料位元維持不校正且發出一不可校正或敗壞資料指示。控制模組1888亦可在該校驗子不指示一其中已出現具有僅奇數個多個錯誤資料位元之多位元錯誤之特定群組之情況下發佈一不可校正或敗壞資料指示。作為回應,處理器1801及1802中之一者或兩者可自控制模組1888接收此指示並執行適當任務。
記憶體裝置1840、1841及1842中之至少一者可包括一揮發性記憶體裝置、一非揮發性記憶體裝置、或兩者之一組合。舉例而言,記憶體裝置1840、1841及1842中之至少一者可包括一動態隨機存取記憶體(DRAM)裝置、一靜態隨機存取記憶體(SRAM)裝置、一快閃記憶體裝置、相變記憶體裝置、或此等記憶體裝置之一組合。
對設備(例如,系統100、200、400、500、600、700、1500及1800)之圖解說明旨在提供對各種實施例之結構之一般瞭解,而並非旨在提供對可能利用本文所述結構之設備及系統之所有組件及特徵之完全說明。
上文所述之組合中之任何一者皆可以多種方式(包括經由軟體之仿真)實施。因此,上文所述之設備之至少一部分或整個設備(例如,系統100、200、400、500、600、700、1500或1800)皆可表徵為本文中之「模組(modules)」(或「模組(module)」)。此等模組可根據該設備(例如,裝置100、200、400、500、600、700、1500或1800)之設計師所期望,且根據對於各種實施例之特定實施方案之需要包括硬體電路、單處理器及/或多處理器電路、記憶體電路、軟體程式模組及對象及/或韌體、及其組合。舉例而言,此等模組可包括於一系統操作仿真封裝中,例如一軟體電信號仿真封裝、一功率使用及分佈仿真封裝、一電容電感仿真封裝、一功率/熱量耗散仿真封裝、一信號發射接收仿真封裝、及/或用於操作或仿真各種潛在實施例之操作之軟體與硬體之一組合。
各種實施例之設備(例如,系統100、200、400、500、600、700、1500或1800)可包括或包括於用於高速電腦、通信及信號處理電路、單處理器或多處理器模組、單嵌入式處理器或多嵌入式處理器、多核處理器、資料開關、及包括多層、多晶片模組之應用專用模組中之電子電路中。此等裝置及系統可進一步包括為各種電子系統內之子集件,例如電視、蜂巢式電話、個人電腦(例如,膝上型電腦、桌上型電腦、手持式電腦、平板電腦等)、工作臺、無線電、視訊播放器、音訊播放器(例如,MP3(動態畫面專家組音訊層3)播放器)、車輛、醫學裝置(例如,心臟監測器、血壓監測器等)、機上盒及其他。
本文中所述之一個或多個實施例包括用以允許校正資料資訊之資料位元群組中之單位元錯誤並偵測資料資訊之資料位元群組中之多位元錯誤之裝置及方法。該等裝置及方法亦允許在一所偵測多位元錯誤具有奇數個屬於該等群組中之僅一特定群組之錯誤資料位元之情況下識別該特定群組。上文參照圖1至圖18闡述了包括額外裝置(例如,系統100、200、400、500、600、700、1500或1800)及方法之其他實施例。
上述說明及圖示圖解說明本發明之某些實施例以允許熟習此項技術者實踐本發明之各實施例。其他實施例可併入結構、邏輯、電、進程及其他改變。某些實施例之各部分及特徵可包含於其他實施例之部分及特徵中或替代其他實施例之部分及特徵。在閱讀並理解上文說明之後,熟習此項技術者將易知許多其它實施例。
本文提供發明摘要以遵循37 C.F.R. §1.72(b),其要求一將允許讀者快速探知技術揭示內容之本質及要旨之摘要。提交本摘要係基於如下理解:其並非用於解釋或限定申請專利範圍之範疇或含義。
100...系統
110...控制模組
112...線
114...線
120...處理器
140...記憶體裝置
200...系統
205...接收器
206...寫入遞送單元
212...線
213...線
222...控制模組
225...寫入錯誤校正資訊產生器
240...記憶體裝置
305...發射器
306...讀取遞送單元
313...線
325...讀取錯誤校正資訊產生器
326...比較與校正單元
400...系統
401...子集
402...子集
403...子集
404...子集
412...線
450...資料資訊
500...系統
512...線
514...線
525...錯誤校正資訊產生器
540...記憶體裝置
550...資料資訊
551...錯誤校正資訊
555...控制模組
600...系統
650...資料資訊
651...錯誤校正資訊
660...矩陣
661...部分
662...部分
666...控制模組
700...系統
708...互斥或邏輯組件
709...互斥或邏輯組件
710...互斥或邏輯組件
711...互斥或邏輯組件
777...控制模組
780...互斥或邏輯組件
781...互斥或邏輯組件
782...互斥或邏輯組件
783...互斥或邏輯組件
784...互斥或邏輯組件
785...互斥或邏輯組件
786...互斥或邏輯組件
787...互斥或邏輯組件
901...讀取錯誤校正資訊
902...讀取錯誤校正資訊
903...讀取錯誤校正資訊
904...讀取錯誤校正資訊
951...寫入錯誤校正資訊
1005...讀取錯誤校正資訊值
1006...讀取錯誤校正資訊值
1007...讀取錯誤校正資訊值
1008...讀取錯誤校正資訊值
1109...讀取錯誤校正資訊值
1110...讀取錯誤校正資訊值
1111...讀取錯誤校正資訊值
1112...讀取錯誤校正資訊值
1213...讀取錯誤校正資訊值
1214...讀取錯誤校正資訊值
1215...讀取錯誤校正資訊值
1216...讀取錯誤校正資訊值
1317...讀取錯誤校正資訊值
1318...讀取錯誤校正資訊值
1419...讀取錯誤校正資訊值
1420...讀取錯誤校正資訊值
1500...系統
1550...資料資訊
1551...部分
1555...控制模組
1560...矩陣
1561...部分
1562...部分
1616...讀取錯誤校正資訊值
1617...讀取錯誤校正資訊值
1618...讀取錯誤校正資訊值
1619...讀取錯誤校正資訊值
1630...部分
1646...部分
1647...部分
1648...部分
1649...部分
1651...寫入錯誤校正資訊值
1666...校驗子
1677...校驗子
1688...校驗子
1699...校驗子
1701...讀取錯誤校正資訊值
1730...部分
1747...部分
1751...寫入錯誤校正資訊值
1799...校驗子
1800...系統
1801...處理器
1802...處理器
1803...記憶體子系統
1805...電路板
1807...IC封裝
1810...系統記憶體控制器
1820...影像感測裝置
1834...圖形控制器
1840...記憶體裝置
1841...記憶體裝置
1842...記憶體裝置
1850...輸入與輸出(I/O)控制器
1852...顯示器
1854...鍵盤
1856...指向裝置
1858...周邊裝置
1859...系統收發器
1861...匯流排
1870...天線
1888...控制模組
圖1顯示一根據本發明之一實施例具有一控制模組111之系統之一方塊圖;
圖2顯示一根據本發明之一實施例包括一具有該系統可用於其寫入操作之組件之控制模組之系統之一局部方塊圖;
圖3顯示根據本發明之一實施例包括一具有該系統可用於其讀取操作之組件之控制模組之圖2之系統之一局部方塊圖;
圖4顯示一根據本發明之一實施例具有組織成不同子集之資料資訊之系統之一局部方塊圖;
圖5顯示一根據本發明之一實施例具有分組成不同群組之資料資訊之系統之一局部方塊圖;
圖6顯示一根據本發明之一實施例包括一用以實施一矩陣之控制模組之系統之一局部方塊圖;
圖7及圖8顯示一根據本發明之一實施例包括一具有用以產生錯誤資訊位元之值之邏輯組件之控制模組之系統之一局部方塊圖;
圖9顯示根據本發明之一實施例當在一第一資料資訊傳送中偵測到一單位元錯誤時寫入錯誤校正資訊之一實例性值及讀取錯誤校正資訊之各種實例性值;
圖10顯示根據本發明之一實施例當在一第二資料資訊傳送中偵測到一單位元錯誤時讀取錯誤校正資訊之各種實例性值;
圖11顯示根據本發明之一實施例當在一第三資料資訊傳送中偵測到一單位元錯誤時讀取錯誤校正資訊之各種實例性值;
圖12顯示根據本發明之一實施例當在一第四資料資訊傳送中偵測到一單位元錯誤時讀取錯誤校正資訊之各種實例性值;
圖13顯示根據本發明之一實施例當在偶數個資料資訊傳送中偵測到一錯誤時讀取錯誤校正資訊之各種實例性值;
圖14顯示根據本發明之一實施例當在奇數個資料資訊傳送中偵測到一錯誤時讀取錯誤校正資訊之各種實例性值;
圖15顯示一根據本發明之一實施例包括一用以實施一具有一般資料資訊組織之矩陣之控制模組之系統之一局部方塊圖;
圖16顯示根據本發明之一實施例自一寫入錯誤校正資訊EC寫入值及不同讀取錯誤校正資訊EC讀取值之值計算之不同校驗子之不同實例性值;
圖17顯示一根據本發明之一實施例自寫入錯誤校正資訊及讀取錯誤校正資訊之值計算之校驗子之一實例性值;及
圖18顯示一根據本發明一實施例包括一記憶體子系統之系統。
500...系統
512...線
514...線
525...錯誤校正資訊產生器
540...記憶體裝置
550...資料資訊
551...錯誤校正資訊
555...控制模組

Claims (74)

  1. 一種位元錯誤校正及偵測方法,其包含:在耦合至一裝置之線上傳送資料資訊,該資料資訊包括若干群組;產生與該資料資訊相關聯之錯誤校正資訊,其中部分地基於漢明碼產生該錯誤校正資訊;基於該錯誤校正資訊計算一校驗子;及防止在多位元錯誤包括屬於複數個群組中之僅一個特定群組之複數個錯誤資料位元之情況下及在該複數個群組中之其他群組概不具有錯誤之情況下基於該校驗子誤識別該等多位元錯誤及忽略該等多位元錯誤中之至少一者,其中該等群組中之每一者皆包括若干資料位元,且在一定數目個傳送中傳送該等群組中之每一者之該等資料位元,其中該校驗子包括一具有等於該等傳送之該數目之複數個位元之第一部分,其中在該等錯誤資料位元之總數係一奇數之情況下,該複數個位元具有在該奇數個位元中具有相同值的奇數個位元。
  2. 如請求項1之方法,其中該校驗子使得能夠識別該特定群組之一識別。
  3. 如請求項1之方法,其中該等錯誤資料位元之總數係一奇數。
  4. 如請求項1之方法,其中產生該錯誤校正資訊包括:當資料資訊被傳送至該裝置時,產生與該資料資訊相關聯之一第一錯誤校正資訊;及 當自該裝置傳送該資料資訊時,產生與該資料資訊相關聯之一第二錯誤校正資訊,且其中產生該校驗子包括當自該裝置傳送該第一錯誤校正資訊時比較該第一錯誤校正資訊與該第二錯誤校正資訊。
  5. 如請求項1之方法,其中在該裝置之一寫入操作期間傳送該資料資訊至該裝置,且在該裝置之一讀取操作期間自該裝置傳送該資料資訊。
  6. 如請求項1之方法,其中該校驗子包括一具有若干位元之第二部分,其中在所偵測到之該多位元錯誤屬於該特定群組之情況下該等位元之位元值用於識別該特定群組。
  7. 一種位元錯誤校正及偵測方法,其包含:給在一裝置中所傳送之資料資訊中之複數個群組中之每一群組指派一識別,以使得該複數個群組中之每一群組之該識別係唯一的;在該資料資訊中已出現單個錯誤位元之情況下且在該單個錯誤位元屬於該複數個群組中之一特定群組之情況下,識別該特定群組之該識別;及防止在多位元錯誤包括屬於僅該特定群組之複數個錯誤資料位元之情況下及在該複數個群組中之其他群組概不具有錯誤之情況下誤識別該等多位元錯誤及忽略該等多位元錯誤中之至少一者。
  8. 如請求項7之方法,其中該等錯誤資料位元之總數係一奇數。
  9. 如請求項8之方法,其進一步包含:在該複數個錯誤資料位元屬於僅該特定群組之情況下,識別該特定群組之該識別。
  10. 如請求項7之方法,其進一步包含:校正該特定群組之該等錯誤資料位元。
  11. 如請求項7之方法,其中基於一矩陣指派該識別係,該矩陣含有該資料資訊與和該資料資訊相關聯之錯誤校正資訊之間的一關係。
  12. 如請求項11之方法,其中部分地基於單錯誤校正、雙錯誤偵測(SECDED)漢明碼產生該矩陣。
  13. 如請求項7之方法,其進一步包含:將該資料資訊組織成若干子集以使得在一定數目個傳送中的同一個傳送中傳送該等子集中之每一者;將該資料資訊之資料位元編組成該複數個群組以使得該等子集中之每一者包括來自該複數個群組中之每一群組之一個資料位元;給該等傳送中之每一者指派該錯誤校正資訊之第一錯誤資訊位元中的一個錯誤資訊位元;及給該複數個群組中的多個群組之資料位元指派該錯誤校正資訊之第二錯誤資訊位元中的一個錯誤資訊位元,其中該等群組中之每一者之該識別對應於該等第二錯誤資訊位元之一唯一組合。
  14. 如請求項13之方法,其中將該等子集組織為偶數個子集。
  15. 如請求項13之方法,其中將該等子集組織為奇數個子集。
  16. 如請求項13之方法,其中將該等子集組織為總數為四的子集。
  17. 如請求項13之方法,其中將該資料資訊組織成使得該等子集中之每一者包括相同數目個資料位元。
  18. 一種位元錯誤校正及偵測設備,其包含:若干線,其等用以傳送包括複數個資料位元群組之資料資訊;及一模組,其經組態以計算一校驗子從而防止在多位元錯誤包括屬於該複數個群組中之僅一個特定群組之複數個錯誤資料位元之情況下及在該複數個群組中之其他群組概不具有錯誤之情況下基於該校驗子誤識別該等多位元錯誤及忽略該等多位元錯誤中之至少一者,其中該等線經組態以在複數個傳送中傳送該資料資訊,且其中該模組包括若干邏輯組件,該等邏輯組件經組態以對在該等傳送中之每一者中所傳送之該等資料位元執行一第一邏輯運算以產生該錯誤校正資訊之一第一部分之至少一個錯誤資訊位元,其用於計算該校驗子之至少一個位元之一值。
  19. 如請求項18之設備,其中該模組進一步經組態以在該等錯誤資料位元之總數係一奇數之情況下識別該特定群組之一識別。
  20. 如請求項18之設備,其中該模組經組態以基於漢明碼產 生與該資料資訊相關聯之一錯誤校正資訊,且其中該校驗子係基於該錯誤校正資訊計算出。
  21. 如請求項18之設備,其中該模組進一步經組態以校正該資料資訊中之一單位元錯誤。
  22. 如請求項18之設備,其中該模組進一步經組態以校正該複數個錯誤資料位元。
  23. 如請求項18之設備,其中該等邏輯組件進一步經組態以對該等群組中之至少兩者之該等資料位元執行一第二邏輯運算以產生該錯誤校正資訊之一額外部分之至少一個額外錯誤資訊位元,其用於計算該校驗子之至少一個額外位元之一值。
  24. 如請求項23之設備,其中該等邏輯組件包括:第一互斥或閘,其具有經組態以接收用於該第一邏輯運算之該等資料位元之若干輸入;及第二互斥或閘,其具有經組態以接收用於該第二邏輯運算之該等資料位元之若干輸入。
  25. 一種位元錯誤校正及偵測設備,其包含:若干線,其等經組態以傳送包括若干群組之資料資訊,該等群組中之每一者包括若干資料位元,該等線中之每一者經組態以在複數個傳送中連續地傳送該等群組中之一者之該等資料位元;及一模組,其經組態以實施一矩陣,該矩陣包括:一第一部分,其使得能夠偵測該複數個傳送中之奇數個傳送中之若干錯誤;及一第二部分,其使得能夠識別該等群 組中之僅一者之資料位元是否已出現該等所偵測錯誤。
  26. 如請求項25之設備,其中該模組經組態以基於漢明碼來實施該矩陣。
  27. 如請求項25之設備,其中該模組經組態以基於來自該等群組中之至少兩者之資料位元之值產生指派給該矩陣之該第一部分之每一錯誤資訊位元之一值。
  28. 如請求項27之設備,其中該模組進一步經組態以基於來自該等群組中之每一者之僅一個資料位元之值產生指派給該矩陣之該第二部分之每一錯誤資訊位元之一值。
  29. 如請求項28之設備,其中該第一部分具有等於T之第一錯誤資訊位元之總數,其中T係該等傳送之數目,且其中該第二部分具有至少等於該矩陣之該第二部分中之列之數目之第二錯誤資訊位元之總數,以使得該等列之唯一組合之數目乘以T至少等於用於傳送該資料資訊之該等線之數目加上用於傳送該等第一錯誤資訊位元及該等第二錯誤資訊位元之額外線之數目。
  30. 一種位元錯誤校正及偵測系統,其包含:一處理器;一記憶體裝置;及一模組,其經組態以經由若干線在該記憶體裝置與該處理器之間傳送資料資訊,該資料資訊包括若干資料位元群組,該模組進一步經組態以在偵測到一具有僅奇數個多個錯誤資料位元之錯誤之後計算一校驗子以識別該等群組之中之一特定群組之一識別,其中該多個錯誤資 料位元屬於僅該特定群組。
  31. 如請求項30之系統,其中該模組經組態以基於奇權單位元錯誤校正雙位元偵測(SECDED)漢明碼產生與該資料資訊相關聯之一錯誤校正資訊,且其中該校驗子係基於該錯誤校正資訊計算出。
  32. 如請求項30之系統,其中該模組經組態以在偵測到具有僅該奇數個多個錯誤資料位元之該錯誤之情況下將該資料資訊指示為不可校正,其中該多個錯誤資料位元屬於僅該特定群組。
  33. 如請求項30之系統,其中該處理器經組態以在偵測到具有僅該奇數個多個錯誤資料位元之該錯誤之情況下自該模組接收資料資訊中之一錯誤係不可校正之一指示,其中該多個錯誤資料位元屬於僅該特定群組。
  34. 如請求項30之系統,其中該處理器、該記憶體裝置及該模組中之至少兩者係包封於同一積體電路封裝中。
  35. 一種位元錯誤校正及偵測方法,其包含:在耦合至一裝置之線上傳送第一資訊,該第一資訊包括複數個群組;以及產生與該第一資訊相關聯之第二資訊以防止誤識別多位元錯誤,該誤識別是在該等多位元錯誤包括屬於該複數個群組中之一特定群組之複數個錯誤資料位元及在該複數個群組中之額外群組概不具有錯誤之情況下。
  36. 如請求項35之方法,其中產生該第二資訊係產生以進一步防止在該等多位元錯誤包括屬於該複數個群組中之一 特定群組之複數個錯誤資料位元及在該複數個群組中之額外群組概不具有錯誤之情況下忽略該等多位元錯誤。
  37. 如請求項35之方法,其中產生該第二資訊以進一步使得能夠識別該特定群組之一識別。
  38. 如請求項35之方法,其進一步包含:修正該等複數個錯誤資料位元。
  39. 如請求項35之方法,其中產生該第二資訊包含:當該第一資訊被傳送至該裝置時產生第一複數個錯誤資訊位元;及當自該裝置傳送該第一資訊時產生第二複數個錯誤資訊位元。
  40. 如請求項39之方法,其中在下述情況下偵測到該複數個錯誤資料位元:該第一複數個錯誤資訊位元之一部分之奇數個位元與該第二複數個錯誤資訊位元之一部分之奇數個位元具有位元對位元值差。
  41. 如請求項39之方法,其中在下述情況下偵測到該複數個錯誤資料位元:該第一複數個錯誤資訊位元之一部分之位元與該第二複數個錯誤資訊位元之一部分之位元具有位元對位元值差。
  42. 如請求項40之方法,其中該第一複數個錯誤資訊位元之該部分之該等位元之總數係一偶數,且該第二複數個錯誤資訊位元之該部分之該等位元之總數係一偶數。
  43. 如請求項35之方法,其中基於漢明碼產生該第二資訊。
  44. 如請求項35之方法,其中該等複數個群組中之每一者中 之該等資料位元之一數目等於M,其中M係一大於1的整數,且該等錯誤資料位元之總數大於1且至多等於M。
  45. 如請求項35之方法,其進一步包含:給在第一資訊中之複數個群組中之每一群組指派一識別,以使得該複數個群組中之每一群組之該識別係唯一的;及在該第一資訊中已出現一單個錯誤位元之情況下且在該單個錯誤位元屬於該特定群組之情況下,識別該複數個群組中之該特定群組之該識別。
  46. 如請求項45之方法,其中基於一矩陣指派該識別係,該矩陣含有該第一資訊與和該第一資訊相關聯之第二資訊之間的一關係。
  47. 一種位元錯誤校正及偵測設備,其包含:若干線,其等用以傳送包括複數個資料位元群組之資料資訊;及一模組,其經組態以計算一校驗子從而防止在多位元錯誤包括屬於該複數個群組中之一個特定群組之複數個錯誤資料位元之情況下及在該複數個群組中之額外群組概不具有錯誤之情況下基於該校驗子誤識別該等多位元錯誤。
  48. 如請求項47之設備,其中該模組進一步經組態以防止在該多位元錯誤包括屬於該複數個群組中之該特定群組之複數個錯誤資料位元之情況下及在該複數個群組中之額外群組概不具有錯誤之情況下基於該校驗子忽略該等多 位元錯誤。
  49. 如請求項47之設備,其中該模組進一步經組態以在該等複數個錯誤資料位元之總數係一奇數之情況下識別該特定群組之一識別。
  50. 如請求項47之設備,其中該模組進一步經組態以校正該資料資訊中之一單位元錯誤。
  51. 一種位元錯誤校正及偵測設備,其包含:若干線,其等經組態以傳送包括若干群組之第一資訊,該等群組中之每一者包括若干資料位元,該等線中之每一者經組態以在複數個傳送中連續地傳送該等群組中之一者之該等資料位元;及一模組,其經組態以實施一矩陣,該矩陣包括:一第一部分,其使得能夠偵測該複數個傳送中之多個傳送中之若干錯誤;及一第二部分,其使得能夠識別該等群組中之僅一者之資料位元是否已出現該等所偵測錯誤。
  52. 如請求項51之設備,其中該模組經組態以基於來自該等群組中之至少兩者之資料位元之值產生指派給該矩陣之該第一部分之每一錯誤資訊位元之一值。
  53. 如請求項52之設備,其中該模組進一步經組態以基於來自該等群組中之每一者之僅一個資料位元之值產生指派給該矩陣之該第二部分之每一錯誤資訊位元之一值。
  54. 如請求項51之設備,其中該模組經組態以在該等所偵測錯誤具有奇數個多個錯誤資料位元之情況下將該第一資訊指示為不可校正,其中該奇數個多個錯誤資料位元屬 於僅一特定群組。
  55. 一種位元錯誤校正及偵測設備,其包含:若干線,其等經組態以傳送包括若干群組之資訊,該等群組中之每一者包括若干位元,該等線中之每一者經組態以在複數個傳送中連續地傳送該等群組中之一者之該等位元;及一模組,其經組態以實施一矩陣,該矩陣包括:一第一部分,其使得能夠偵測該複數個傳送中之多個傳送中之若干錯誤;及一第二部分,其使得能夠識別該等群組中之一者之位元是否已出現該等所偵測錯誤。
  56. 如請求項55之設備,其中該模組經組態以基於來自該等群組中之至少兩者之位元之值產生指派給該矩陣之該第一部分之每一錯誤資訊位元之一值。
  57. 如請求項56之設備,其中該模組進一步經組態以基於來自該等群組中之每一者之一位元之值產生指派給該矩陣之該第二部分之每一錯誤資訊位元之一值。
  58. 如請求項57之設備,其中該第一部分具有等於T之第一錯誤資訊位元之總數,其中T係該等傳送之數目,且其中該第二部分具有至少等於該矩陣之該第二部分中之列之數目之第二錯誤資訊位元之總數,以使得該等列之唯一組合之數目乘以T至少等於用於傳送該資訊之該等線之數目加上用於傳送該等第一錯誤資訊位元及該等第二錯誤資訊位元之額外線之數目。
  59. 如請求項58之設備,其中該模組經組態以基於漢明碼來 實施該矩陣。
  60. 一種位元錯誤校正及偵測設備,其包含:若干線,其等經組態以傳送包括若干群組之資訊;及一模組,其經組態以:給在資訊中之複數個群組中之每一群組指派一識別;在該資訊中已出現單個錯誤位元之情況下且在該單個錯誤位元屬於該複數個群組中之一特定群組之情況下,識別該特定群組之該識別;及防止在多位元錯誤包括屬於該特定群組之複數個錯誤資料位元之情況下及在該複數個群組中之其他群組概不具有錯誤之情況下誤識別該等多位元錯誤及忽略該等多位元錯誤中之至少一者。
  61. 如請求項60之設備,其中該模組經組態以校正該特定群組之該等錯誤資料位元。
  62. 如請求項60之設備,其中該模組基於一矩陣指派該識別係,該矩陣含有該資訊與和該資訊相關聯之錯誤校正資訊之間的一關係。
  63. 如請求項62之設備,其中部分地基於單錯誤校正、雙錯誤偵測(SECDED)漢明碼產生該矩陣。
  64. 如請求項60之設備,其中該等錯誤資料位元之總數係一奇數。
  65. 如請求項64之設備,其中該模組經組態以在該複數個錯誤資料位元屬於僅該特定群組之情況下,識別該特定群 組之該識別。
  66. 如請求項60之設備,該模組經組態以:將該資訊組織成若干子集以使得在一定數目個傳送中的同一個傳送中傳送該等子集中之每一者;及將該資訊之資料位元編組成該複數個群組以使得該等子集中之每一者包括來自該複數個群組中之每一群組之一個資料位元。
  67. 如請求項66之設備,該模組經組態以:給該等傳送中之每一者指派該錯誤校正資訊之第一錯誤資訊位元中的一個錯誤資訊位元;及給該複數個群組中的多個群組之資料位元指派該錯誤校正資訊之第二錯誤資訊位元中的一個錯誤資訊位元,其中該等群組中之每一者之該識別對應於該等第二錯誤資訊位元之一唯一組合。
  68. 如請求項67之設備,其中該模組將該等子集組織為偶數個子集。
  69. 如請求項67之設備,其中該模組將該等子集組織為奇數個子集。
  70. 如請求項67之設備,其中該等子集被組織為總數為四的子集。
  71. 如請求項67之設備,其中該模組將該資訊組織成使得該等子集中之每一者包括相同數目個位元。
  72. 一種位元錯誤校正及偵測系統,其包含:一控制器; 一記憶體裝置;及一模組,其經組態以在複數個傳送中在該記憶體裝置與該控制器之間傳送資訊,該資訊包括若干群組,該若干群組之每一者包含若干個位元並且實施一矩陣,該矩陣包括:一第一部分,其使得能夠偵測該複數個傳送中之多個傳送中之若干錯誤;及一第二部分,其使得能夠識別該等群組中之一者之位元是否已出現該等所偵測錯誤。
  73. 如請求項72之系統,其中該控制器經組態以在一錯誤具有奇數個多個錯誤資料位元且該奇數個多個錯誤資料位元屬於僅該等群組之一者之情況下自該模組接收該資訊中之該錯誤係不可校正之一指示。
  74. 如請求項72之系統,其中該控制器、該記憶體裝置及該模組中之至少兩者係包封於同一積體電路封裝中。
TW099108739A 2009-04-02 2010-03-24 延伸單位元錯誤校正及多位元錯誤偵測 TWI503829B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/417,390 US8230305B2 (en) 2009-04-02 2009-04-02 Extended single-bit error correction and multiple-bit error detection

Publications (2)

Publication Number Publication Date
TW201040974A TW201040974A (en) 2010-11-16
TWI503829B true TWI503829B (zh) 2015-10-11

Family

ID=42827165

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099108739A TWI503829B (zh) 2009-04-02 2010-03-24 延伸單位元錯誤校正及多位元錯誤偵測

Country Status (5)

Country Link
US (3) US8230305B2 (zh)
KR (1) KR101573566B1 (zh)
CN (1) CN102378967B (zh)
TW (1) TWI503829B (zh)
WO (1) WO2010115038A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI798250B (zh) * 2017-12-15 2023-04-11 韓商愛思開海力士有限公司 錯誤校正方法和使用其的半導體裝置

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904789B1 (en) * 2006-03-31 2011-03-08 Guillermo Rozas Techniques for detecting and correcting errors in a memory device
US8230305B2 (en) * 2009-04-02 2012-07-24 Micron Technology, Inc. Extended single-bit error correction and multiple-bit error detection
US8419547B1 (en) 2010-11-04 2013-04-16 Wms Gaming, Inc. Iterative XOR-matrix forward error correction for gaming
US9246512B2 (en) * 2010-12-02 2016-01-26 Freescale Semiconductor, Inc. Error correcting device, method for monitoring an error correcting device and data processing system
WO2013105709A1 (ko) * 2012-01-10 2013-07-18 조선대학교산학협력단 확장형 오류검출코드 기반의 오류 검출 장치 및 그 오류 검출 장치를 포함하는 자가검사 프로그래머블 연산 유닛
KR101297318B1 (ko) * 2012-02-17 2013-08-16 조선대학교산학협력단 대소 비교 연산 유닛을 위한 확장형 오류검출코드 기반의 오류 검출 장치 및 그 오류 검출 장치를 포함하는 자가검사 대소 비교 연산 유닛
US8867272B2 (en) * 2012-07-24 2014-10-21 Skymedi Corporation Method of accessing a non-volatile memory
CN104637542B (zh) * 2013-11-11 2018-03-13 旺宏电子股份有限公司 储存对应于数据的错误更正码的存储器装置及其操作方法
WO2015153478A1 (en) * 2014-04-01 2015-10-08 Lattice Semiconductor Corporation Orthogonal data organization for error detection and correction in serial video interfaces
CN105023616A (zh) * 2014-04-30 2015-11-04 深圳市中兴微电子技术有限公司 一种基于汉明码存取数据的方法及集成随机存取存储器
US9754684B2 (en) * 2014-11-06 2017-09-05 Samsung Electronics Co., Ltd. Completely utilizing hamming distance for SECDED based ECC DIMMs
US9740558B2 (en) 2015-05-31 2017-08-22 Intel Corporation On-die ECC with error counter and internal address generation
KR102296738B1 (ko) * 2015-06-01 2021-09-01 삼성전자 주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
US20170005672A1 (en) * 2015-07-01 2017-01-05 Samsung Electronics Co., Ltd. Partial parity ecc checking mechanism with multi-bit hard and soft error correction capability
US9842021B2 (en) 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
US10176040B2 (en) * 2016-04-05 2019-01-08 Micron Technology, Inc. Error correction code (ECC) operations in memory
US10153788B2 (en) 2016-04-27 2018-12-11 International Business Machines Corporation Detection of multiple bit errors in random access memories
WO2018132982A1 (zh) 2017-01-18 2018-07-26 深圳市汇顶科技股份有限公司 码字生成方法、错误位确定方法及其电路
US10853163B2 (en) 2017-04-28 2020-12-01 Qualcomm Incorporated Optimized error-correcting code (ECC) for data protection
KR102511903B1 (ko) * 2018-02-26 2023-03-21 에스케이하이닉스 주식회사 고정된 에러정정능력의 에러정정코드 엔진을 이용하여 재구성할 수 있는 에러정정동작을 수행하는 메모리 시스템
KR20200142213A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템
US11095313B2 (en) 2019-10-21 2021-08-17 International Business Machines Corporation Employing single error correction and triple error detection to optimize bandwidth and resilience under multiple bit failures
US11404135B1 (en) * 2020-02-17 2022-08-02 Amazon Technologies, Inc. Runtime identification of bad memory cells based on difference between data pattern and read data
US11462292B1 (en) * 2021-04-12 2022-10-04 Samsung Electronics Co., Ltd. Error correction circuit of semiconductor memory device and semiconductor memory device including the same
KR20230055614A (ko) 2021-10-19 2023-04-26 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US11829242B2 (en) 2022-02-04 2023-11-28 Apple Inc. Data corruption tracking for memory reliability
US11934265B2 (en) 2022-02-04 2024-03-19 Apple Inc. Memory error tracking and logging

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080288845A1 (en) * 2007-05-15 2008-11-20 Texas Instruments Incorporated Range Extension and Noise Mitigation For Wireless Communication Links Utilizing a CRC Based Single and Multiple Bit Error Correction Mechanism

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852100A (en) * 1986-10-17 1989-07-25 Amdahl Corporation Error detection and correction scheme for main storage unit
US6367046B1 (en) 1992-09-23 2002-04-02 International Business Machines Corporation Multi-bit error correction system
US6024486A (en) * 1996-06-05 2000-02-15 Compaq Computer Corporation Data error detection and correction
US6604222B1 (en) 1999-04-30 2003-08-05 Rockwell Collins, Inc. Block code to efficiently correct adjacent data and/or check bit errors
US6480982B1 (en) * 1999-06-04 2002-11-12 International Business Machines Corporation Computer RAM memory system with enhanced scrubbing and sparing
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
US7080305B2 (en) 2002-12-23 2006-07-18 Sun Microsystems, Inc. System and method for correcting data errors
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US7350131B2 (en) * 2005-01-22 2008-03-25 Cisco Technology, Inc. Error protecting groups of data words
JP4643479B2 (ja) * 2006-03-22 2011-03-02 株式会社東芝 アクセス制御装置、アクセス制御システム、プロセッサ、アクセス制御方法およびメモリアクセス制御方法
US20070283207A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus timing improvements
JP2010009643A (ja) * 2008-06-24 2010-01-14 Toshiba Corp エラー訂正システム
US8230305B2 (en) 2009-04-02 2012-07-24 Micron Technology, Inc. Extended single-bit error correction and multiple-bit error detection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080288845A1 (en) * 2007-05-15 2008-11-20 Texas Instruments Incorporated Range Extension and Noise Mitigation For Wireless Communication Links Utilizing a CRC Based Single and Multiple Bit Error Correction Mechanism

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI798250B (zh) * 2017-12-15 2023-04-11 韓商愛思開海力士有限公司 錯誤校正方法和使用其的半導體裝置

Also Published As

Publication number Publication date
KR20110135985A (ko) 2011-12-20
US20100257432A1 (en) 2010-10-07
WO2010115038A3 (en) 2011-01-13
TW201040974A (en) 2010-11-16
US9071273B2 (en) 2015-06-30
WO2010115038A2 (en) 2010-10-07
US20140053045A1 (en) 2014-02-20
US8230305B2 (en) 2012-07-24
CN102378967B (zh) 2016-01-20
KR101573566B1 (ko) 2015-12-01
CN102378967A (zh) 2012-03-14
US8566677B2 (en) 2013-10-22
US20130047054A1 (en) 2013-02-21

Similar Documents

Publication Publication Date Title
TWI503829B (zh) 延伸單位元錯誤校正及多位元錯誤偵測
US11734106B2 (en) Memory repair method and apparatus based on error code tracking
JP6127086B2 (ja) 複数の半導体メモリユニットにおけるエラー訂正
US9195551B2 (en) Enhanced storage of metadata utilizing improved error detection and correction in computer memory
CN104798047A (zh) 错误检测和校正装置及方法
US20240095134A1 (en) Memory module with dedicated repair devices
KR100609343B1 (ko) 컴퓨터 메모리 시스템에서의 멀티-비트 에러 보호를 위한시스템 및 방법
US11836044B2 (en) Error coalescing
US11934263B2 (en) Parity protected memory blocks merged with error correction code (ECC) protected blocks in a codeword for increased memory utilization
US7478307B1 (en) Method for improving un-correctable errors in a computer system