TWI546815B - 錯誤檢測與校正之設備及方法 - Google Patents

錯誤檢測與校正之設備及方法 Download PDF

Info

Publication number
TWI546815B
TWI546815B TW102142830A TW102142830A TWI546815B TW I546815 B TWI546815 B TW I546815B TW 102142830 A TW102142830 A TW 102142830A TW 102142830 A TW102142830 A TW 102142830A TW I546815 B TWI546815 B TW I546815B
Authority
TW
Taiwan
Prior art keywords
error
feature group
errors
codeword
burst
Prior art date
Application number
TW102142830A
Other languages
English (en)
Other versions
TW201435895A (zh
Inventor
吳微
呂士濂
拉傑特 亞加沃
亨利 史塔柯夫斯基
Original Assignee
英特爾公司
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 英特爾公司 filed Critical 英特爾公司
Publication of TW201435895A publication Critical patent/TW201435895A/zh
Application granted granted Critical
Publication of TWI546815B publication Critical patent/TWI546815B/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
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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
    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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/11Error 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 using multiple parity bits
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

錯誤檢測與校正之設備及方法 發明領域
本發明一般論及一些微處理器和記憶體設備及方法,以及更明確論及一些用以檢測及校正多數錯誤類型之錯誤的設備及方法。
發明背景
近年來,小晶片堆疊技術可使多層動態隨機存取記憶體(DRAM)和/或邏輯性小晶片能被整合成一個垂直堆疊層。連同一個快速互連技術,一個堆疊式記憶體可能提供一個高頻寬和低延遲時間記憶體子系統。
堆疊式DRAM的一種前景看好之用途係作為一個記憶體側快取記憶體。使用DRAM作為一個快取記憶體通常亦需要實現一個標籤陣列。然而,整個標籤前置處理可能會過大而無法被儲存在晶片上面。舉例而言,一個64位元組區塊之1GB DRAM快取記憶體,可需要多達96 MB之標籤儲存器。一種解決方案係使標籤填項與資料一起儲存進DRAM內。此解決方案可能會負面地影響到可靠度。由於標籤和資料係一起儲存,該標籤中的一個位元反轉可 能會使得整行快取記憶體中的所有資料被誤用。
發明概要
依據本發明之一實施例,係特地提出一種供錯誤檢測與校正用之設備,其包含:一或多個錯誤檢測模組,其包括一或多個糾錯碼,彼等經配置以使用該等一或多個糾錯碼來檢測一個具有一個資料部分和相關聯之核對位元的碼字中之多數錯誤類型的錯誤之出現;和一或多個錯誤校正模組,其係與該等一或多個錯誤檢測模組相耦合,以及係被配置來校正藉由該等一或多個錯誤檢測模組檢測到的多數錯誤類型之錯誤。
100‧‧‧設備
110‧‧‧記憶體
112‧‧‧動態隨機存取記憶體(DRAM)
120‧‧‧記憶體控制器
122‧‧‧錯誤檢測模組
124‧‧‧錯誤校正模組
130‧‧‧處理器核心
200‧‧‧錯誤類型
210‧‧‧資料轉移Data_0
220‧‧‧資料轉移Data_1
230‧‧‧資料轉移Data_2
240‧‧‧資料轉移Data_3
250‧‧‧交錯位元
260‧‧‧鄰位位元失效
270‧‧‧單一電線失效
280‧‧‧隨機位元失效
32B‧‧‧半快取記憶體線
300‧‧‧脈衝串錯誤
310‧‧‧樣式編碼
320‧‧‧可臨別式錯誤位元樣式
330‧‧‧錯誤來源
340‧‧‧權量
402‧‧‧錯誤檢測模組
404‧‧‧錯誤校正模組
410‧‧‧第一特徵群計算器
420‧‧‧有效碼字過濾器
430‧‧‧第二特徵群計算器
440‧‧‧錯誤類型分類器
450‧‧‧多工器
460‧‧‧錯誤遮罩計算器
470‧‧‧脈衝串錯誤重複器
480‧‧‧錯誤校正器
500‧‧‧錯誤檢測與校正程序
510,520‧‧‧區塊
600‧‧‧錯誤檢測程序
610-670‧‧‧區塊
700‧‧‧錯誤校正程序
710-770‧‧‧區塊
800‧‧‧運算系統/裝置
810‧‧‧處理器
812‧‧‧錯誤檢測與校正邏輯
812‧‧‧錯誤檢測與校正邏輯
812‧‧‧錯誤檢測與校正邏輯
812‧‧‧錯誤檢測與校正邏輯
820‧‧‧控制邏輯
830‧‧‧記憶體
840‧‧‧非揮發性記憶體(NVM)/儲存器
850‧‧‧通訊介面
910‧‧‧製造產品
920‧‧‧儲存媒體
930‧‧‧被配置來體現錯誤檢測與校正之指令
彼等實施例將會因下文配合所附諸圖之詳細說明而輕易被理解。為促成此說明內容,類似之參考數字係指明類似之結構性元件。彼等實施例在所附諸圖之插圖中係藉由範例加以例示而非有限制意。
圖1係一個依據各種實施例用以例示一個合併本發明之屬性的範例性設備之方塊圖;圖2係例示多數依據各種實施例可能在其中應用本發明之屬性的錯誤類型;圖3係例示多數依據各種實施例可能在其中應用本發明之屬性的脈衝串錯誤;圖4係一個用以例示一個錯誤檢測模組和一個合併本發明之屬性的範例性錯誤校正模組之方塊圖; 圖5例示一個依據各種實施例合併有本發明之屬性的範例性錯誤檢測與校正程序;圖6例示一個依據各種實施例合併有本發明之屬性的範例性錯誤檢測程序;圖7例示一個依據各種實施例合併有本發明之屬性的範例性錯誤校正程序;圖8例示一個依據各種實施例可能在其中合併本發明之屬性的範例性運算系統/裝置;而圖9則例示一個依據各種實施例合併有本發明之屬性而具有程式規劃指令的製造產品。
較佳實施例之詳細說明
在以下之詳細說明中,係參照所附形成其之一部分的諸圖,其中,類似之數字整篇係指明類似之部件,以及其中係顯示一些可能被實行之例示性實施例。理應瞭解的是,有其他之實施例可能會被利用,以及在不違離本發明之界定範圍下可能完成一些結構上或邏輯上之改變。所以,以下之詳細說明不應有限制意,以及彼等實施例之界定範圍係由所附專利請求項和彼等之等效體來加以界定。
各種運作可能被說明為最有助於瞭解該等主張之主題的多重依次雜散性動作或運作。然而,所說明之順序不應被詮釋為暗示此等運作必然為順序相依性。特言之,此等運作可能並非要在所發表之順序中被執行。所說明之運作可能會在一個不同於所說明之實施例的順序中被執行。 有各種額外之運作可能會被執行,以及/或者所說明之運作可能會在一些額外之實施例中被省略。
為本發明之目的計,片語"A和/或B"係意謂(A)、(B)、或(A和B)。為本發明之目的計,片語"A、B和/或C"係意謂(A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或(A、B和C)。
在本發明列舉"一個"或"一個第一"元件或等效體之情況中,此等公佈內容係包括一或多個此等元件,既不需要亦不排除兩個或以上之此等元件。此外,一些用以識別元件之序數指標(舉例而言,第一、第二、或第三)係被使用來區分元件,以及並非指示或暗示此等元件的必需或受限之數目,彼等亦非指示此等元件的一個特定位置或順序,除非另有明確敘述。
本說明內容可能使用片語"在一個實施例中"、"在某一實施例中"、"在另一個實施例中"、"在一些實施例中"、"在各種實施例中"、或等等,彼等各可能論及一或多個相同或不同之實施例。此外,一些如參照本發明之實施例所使用的術語"包含"、"包括"、"具有"、和等等係屬同義字。
誠如本說明書所使用,術語"模組"可能論及為其之部分或包括一個特殊應用積體電路(ASIC)、一個電子電路、一個用以執行一或多個軟體或韌體程式之處理器(共用、專用、或成組)和/或記憶體(共用、專用、或成組)、一個用以提供所說明之功能性的組合邏輯電路和/或其他適當之組件。
茲參考圖1,所顯示之方塊圖係例示一個依據各種實施例合併本發明之屬性的範例性設備。在一些實施例中,一個類似資訊處理系統或電腦之設備100,可能包括一個記憶體110、記憶體控制器120、和一或多個處理器核心130。
在一些實施例中,該記憶體110亦稱作儲存器或電腦資料儲存器,可能包括電腦組件和用來保存數位資料之記錄媒體。在一個實施例中,該記憶體110可能為一些處理器暫存器和快取記憶體。在另一個實施例中,該記憶體110可能為一個線上大量儲存器裝置之形式,諸如一個作為次級儲存器之硬碟。一個線上大量儲存器裝置可能包括一個可能成各種形式之非揮發性記憶,其中包括但非受限之NAND(快閃)記憶體、鐵電隨機存取記憶體(FeTRAM)、奈米線式非揮發性記憶體、一個合併憶阻器技術之記憶體、MRAM、STT-MRAM、一個類似相改變記憶體(PCM)或PCM和開關(PCMS)之三維(3D)交叉點電阻式記憶體、和等等。在又一個實施例中,該記憶體110可能為一個離線大量儲存器裝置之形式,諸如一個作為三級儲存器之DVD-ROM。
在又一個實施例中,該記憶體110可能包括一些控制器卡和系統隨機存取記憶體(RAM),諸如動態隨機存取記憶體(DRAM)112。RAM可促使所儲存之資料能夠以類似之時間量的任何隨機順序被存取,而無關乎資料儲存器位置。主要形式之現代RAM包括但非受限之靜態RAM(SRAM)和動態RAM(DRAM)。SRAM可能被展現為資料剩 磁,而DRAM中之電容器電荷勢必要定期被更新以保留資訊。SRAM和DRAM兩者係屬揮發性,因為當該記憶體不供電時資料最後便會喪失。該DRAM 112中之電路可能會與傳統式水平或平面解決方案或現代小晶片堆疊技術相整合。小晶片堆疊技術亦知名為晶片堆疊技術或垂直積體化,係多重晶片之垂直安裝程序,以增加一個單一半導體封裝內之矽晶片的數量,以及達成電路間之較短的互連線路的較佳之電氣性能。小晶片堆疊技術可能會被應用至揮發性和非揮發性兩者之記憶體。
該記憶體控制器120可能會被配置來提供一個至該記憶體110之介面,以及管理來回於該記憶體110之資料流程。在一些實施例中,該記憶體控制器120可能為一個單一晶片或與該記憶體110相整合之形式。在一些實施例中,該記憶體控制器120可能會被體現在一片主機板上面,或者在該微處理器上面形成一個整合式記憶體控制器(IMC),以潛在可能地降低記憶體延遲時間。
在一些實施例中,該記憶體控制器120可能具有一個錯誤檢測模組122和錯誤校正模組124。在某些情況中,錯誤可能會在一個富含雜訊之通道中的傳輸期間被導入,如同許多通訊通道會蒙受通道雜訊。在其他之情況中,錯誤可能會被導入儲存器中。舉例而言,一個晶片之材料中的放射性原子可能會衰變。該衰變可能會產生一個粒子,其會撞擊一個記憶體晶元而改變其狀態,以及造成單粒子單一位元翻轉(SBU)或單粒子多位元翻轉(MBU)。藉由小晶 片堆疊技術,就影響位元而論同一粒子可能具有最大之衝擊力。在一些實施例中,該錯誤檢測模組122可能會被配置來檢測雜訊或其他缺損在傳輸或儲存期間所造成之錯誤;該錯誤校正模組124可能會被配置來盡最大努力重建最初之無錯誤資料。
錯誤檢測與校正通常可能會藉由對該資料添加某些冗餘性來達成,諸如一或多個核對位元,其稍後可被用來核實資料之完整性以及找回被決定屬訛化之資料。就一個範例而言,前向糾錯(FEC)或通道編碼可能會使用一個糾錯碼來編碼資料以及稍後在找回某一類型類似隨機錯誤之錯誤的能力下解碼該資料。在某些實施例中,該錯誤檢測模組122亦可能會被配置來檢測類似脈衝串錯誤加上隨機錯誤等多重錯誤類型之錯誤的出現。隨後,該錯誤校正模組124可能會被配置來校正一旦被該錯誤檢測模組122檢測到的多重錯誤類型之錯誤。
在某些實施例中,該處理器核心130可能具有一或多個中央處理器(CPU)或核心,其中,每個核心可讀取及執行一些類似增加、移動、分岔、讀取、寫入、和等等之CPU指令。在多重核心整合至一個單一積體電路小晶片或一個單一晶片封裝內的多重小晶片上面之下,一個多核心處理器係可按照平行運算做處理,因而增加整體之運算速度。
茲參照圖2,多數之錯誤類型200係顯示依據各種實施例可能在其中應用本公佈內容之屬性。錯誤可能會隨 機發生但具有某一定之概率量變曲線。錯誤亦可能主要發生在脈衝串中。所以,錯誤大體上可能被廣意聚集為隨機錯誤和脈衝串錯誤。在圖2中,四個資料轉移Data_0 210、Data_1 220、Data_2 230、和Data_3 240,舉例而言,來自一條快取記憶體線之半部,係顯示為在一個交錯方式250中被轉移。誠如所顯示,該等錯誤類型200可能包括隨機錯誤和脈衝串錯誤。彼等隨機錯誤可能係由一個隨機位元失效280所引起,而彼等脈衝串錯誤可能係由鄰位位元失效260和/或單一電線失效270所引起。在下文中,彼等錯誤類型亦可能被稱為錯誤之類型,彼等就本發明之目的計可能會被認為同義字,除非上下文另有清楚指示;以及因而該等術語可能會以可交換方式加以使用。
一個記憶體晶片之失效可能會造成一些即使是在重新啟動該系統之後亦無法被校正的硬錯誤。該記憶體晶片需要被替換以校正硬錯誤。相形之下,晶片級或系統級中之軟錯誤僅會改變一個程式中之資料或指令。軟錯誤可能藉由重寫正確之資料或在作業中由錯誤檢測與校正技術來加以校正。除隨機軟和硬錯誤外,上述作為該等處理器核心130與記憶體110間之鏈路的記憶體控制器120,可能會變為另一個錯誤來源。舉例而言,由於DRAM通道上面之脈衝串轉移所致,資料匯流排上面的一個單一電線失效270可就一個半快取記憶體線(32B)表明為一個橫跨Data_0 210、Data_1 220、Data_2 230、和Data_3 240的4-位元錯誤。就另一個範例而言,一個記憶體晶片內之多位元失效可能 會使得多重鄰位位元在Data_1 220中失效。
在一些實施例中,此等前述之失效可能會透過該等錯誤檢測模組122和錯誤校正模組124加以檢測及改正。在DRAM快取記憶體之情況中,資料完整性係需要廣泛地及有效率地受到保護。然而,一些傳統式DRAM糾錯碼(ECC)方案通常會因缺乏足夠之位元而無法應用至DRAM快取記憶體。該DIMM結構可能會被固定,亦即,每8資料晶片有一個ECC晶片。隨資料一起儲存標籤和元資料或將會直接減少為ECC所保留之位元的數目。此外,一些傳統式ECC技術,諸如雙錯誤校正和三錯誤檢測(DEC-TED),係無法校正多重類型之錯誤。該等錯誤檢測模組122和錯誤校正模組124,特別是一些特別設計之同位位元核對矩陣特性化的實施例,係可能以類似DEC-TED之低前置處理來校正隨機和脈衝串兩者之錯誤。
茲參照圖3,所顯示係依據各種實施例可能在其中應用本發明之屬性的多數之脈衝串錯誤300。誠如所顯示,該等多數之脈衝串錯誤300可能藉由在位元交錯後具有可臨別式錯誤位元樣式320之樣式編碼310來加以編號,其中,'1'係意謂位元失效,'0'係意謂屬有效,以及'-'係意謂一個有效位元但係來自不同之轉移。誠如所顯示,樣式編碼1-4係由單一電線差錯所引起,而樣式編碼5-8係藉由錯誤來源330下之鄰位位元差錯所引起。一個碼字之權量340係表示非零登錄項之數目,因而在數值上或為奇數或為偶數。
該等錯誤檢測模組122和錯誤校正模組124,特言 之,一些具有一些特別設計之同位位元核對矩陣所特性化的ECC之實施例,可能會保留隨機雙錯誤校正能力,但亦會校正如圖2中所顯示之單一電線和鄰位位元失效。基於圖2中之多位元錯誤樣式在除去單一和雙位元之情況後係被列舉在圖3中。回想就圖2中所例示作為範例的半快取記憶體線資料之實施例而言,該等四個轉移在傳輸期間會做位元交錯處理。一個單一電線差錯因而可能會被表明為四個毗連之位元中的一個錯誤,以及一個同一轉移中之鄰位位元差錯在該傳輸中可能會分開4個位元之距離。在任一情況中,位元反轉之正確數目可能取決於該等儲存之位元值。
茲參照圖4,一個錯誤檢測模組402和一個範例性錯誤校正模組404係例示依據各種實施例合併有本發明之屬性。誠如上文所說明,錯誤可能會隨機發生但具有某一定之概率量變曲線。該錯誤檢測模組402可能會被配置來檢測一個隨機錯誤和脈衝串錯誤之混合體,而該錯誤校正模組404可能會被配置來校正該隨機錯誤和脈衝串錯誤之混合體。所以,該等錯誤檢測模組402和錯誤校正模組404可能會被配置來集體地達成錯誤控制。
在一些實施例中,該錯誤檢測模組402在配置上係可能使用各種組件,類似如圖4中所顯示在運作上彼此耦合的一個第一特徵群計算器410、一個有效碼字過濾器420、一個第二特徵群計算器430、和一個錯誤類型分類器440。為便於理解計,該第二特徵群計算器430亦可能被稱作一個常態化特徵群計算器430。在一些實施例中,該錯誤校正模 組404可能會以各種組件來配置,類似如圖4中所顯示在運作上彼此耦合的一個多工器450、一個錯誤遮罩計算器460、一個脈衝串錯誤重複器470、和一個錯誤校正器480。
在一些實施例中,該第一個特徵群計算器410經配置可能基於特別配置之同位位元核對矩陣來計算一個特徵群。每個ECC可能係由其亦稱作H-矩陣之同位位元核對矩陣獨一地加以界定。該H-矩陣通常可能會決定錯誤特徵群組成、錯誤校正和檢測能力。第一特徵群計算器410中之H-矩陣在配置上可使被選定之脈衝串錯誤樣式,諸如圖3中所說明之單一電線差錯和鄰位位元差錯,可能排他地被識別及校正。
通常,一個脈衝串錯誤之錯誤特徵群,係與其第一錯誤位元之特徵群成比例,以及該標度就每個特定脈衝串樣式而言係一個常數。在一些實施例中,該同位位元核對矩陣中之行可能會被重新排列,以確保所有需要被校正之脈衝串錯誤既可被檢測又可被校正。如本說明書所使用,可被檢測論及之事實是,脈衝串錯誤之特徵群係非零以及對所有可校正之隨機錯誤係有所差別。可被校正如本說明書所使用論及之事實是,脈衝串錯誤之特徵群係非零以及相互不同。此外,在一些實施例中,該第一特徵群計算器410中所使用之新ECC,可能係基於BCH式DEC-TED碼,因而會保留該隨機雙錯誤校正能力。
一個用來保護晶片級快取記憶體的常見類型之ECC為BCH碼。一些來自某一類型的循環糾錯碼之BCH碼 係使用有限欄位來建造。該等BCH碼最初係在1959年或左右由Hocquenghem、Bose、和Ray-Chaudhuri開發出,其中,此等碼之名字包含該等發明人之姓名首字母。以下之方程式(1)係顯示傳統式DEC-TED BCH碼有關之標準H-矩陣。本技藝之專業人士可能瞭解的是,第一列中所有之1基本上係一個整體之同位位元。關於該特徵群中之整體同位位元,奇數錯誤可能會自動與偶數錯誤區分。
方程式(1)中的每一行可能會被對待為一個元素,以及方程式(1)中之H-矩陣可能會被重新寫成以下之方程式(2)。
H 1=[h 0 h 1 h 2 h 3...h i ...h N-2]其中h i =[1,a i ,a 3i ]-1 (2)
上述方程式中之H-矩陣可能會被使用來計算一個碼字之特徵群。任何有效之碼字勢必具有一個零特徵群。一些非零之特徵群係意謂該碼字屬無效,以及該特徵群之值係與錯誤位元相關。更明確而言,在一個線性碼中,該錯誤特徵群係等於對應於該等錯誤位元之H-矩陣行的和。舉例而言,若在i、j、和k之位元位置處有三個錯誤,該特徵群或將會等於h i +h j +h k
基於方程式(1)和方程式(2),可能觀察到的是h i+1 =h i * A,其中,A係等於[1,a,α 3],以及h i =h 0 * A i 。因此,方程式(2)中之H-矩陣可能會被重新寫成以下之方程式(3),其中,該等H-矩陣行係被表示在一個幾何序列。
H 1=[h 0 h 0 A h 0 A 2 h 0 A 3...h 0 A i ...h 0 A N-2]其中A=[1,a,a 3]-1 (3)
基於方程式(3),可能觀察到的是,一些脈衝串錯誤之特徵群可能由其第一錯誤位元之特徵群乘以一個固定之標度來表示。使用圖3之脈衝串錯誤300作為一個範例,令K n 稱作一個用以表示圖3中的第n個樣式有關之固定值的脈衝串係數。其中,若該等錯誤位於(i,i+1,i+2)之位元位置中,該錯誤特徵群或將為h i +h i+1+h i+2=h i *(1+A+A 2),其中,K 1=(1+A+A 2)為一個固定值,無論該第一位元由何處開始。就另一個範例而言,同理,就圖3中之樣式6(1---1---0---1)而言可能會見到K 6=(1+A 4+A 12)。藉由相同之權標,就圖3中的每個脈衝串樣式而言可能會有一個脈衝串係數被見到。
在該等錯誤檢測模組402和錯誤校正模組404中使用脈衝串係數可能會有許多優點。一個優點可能是使用此單一參數來表示一個群組之錯誤,因而有助於交叉比較所有之特徵群值及大幅降低所有比較之數目。否則該設計空間會變得如此龐大以致盲目搜尋會不切實際。另一個優點可能係使用此單一參數來協助識別該脈衝串類型。一個特徵群可能以每個脈衝串係數加以常態化。當該結果等於一個單一位元特徵群時,可能會有一個脈衝串樣式被見到。 再有的一個優點可能會使用此單一參數來簡化錯誤校正。一旦該隨後計得之常態化特徵群見到該第一錯誤位元(下文會做更完全之說明),該等其餘位元可能會依據其脈衝串樣式做補充以形成一個被完成之錯誤遮罩。
該錯誤檢測模組402中所用之H-矩陣可能會進一步被配置來確保圖3中之所有脈衝串樣式為可被檢測及可被校正。在一些實施例中,該H-矩陣可能會被配置來就至少具有一個錯誤之碼字而產生一個非零值。情況恰巧如此,因為DECTED具有漢明(Hamming)距離6,因而具有對一個有效字的一個錯誤假信號需要至少6位元之差。然而,圖3中之脈衝串樣式可能具有一個4之最大位元權量。所以,將沒有來自圖3所導出之特徵群會為零。此外,在一些實施例中,該H-矩陣可能會被配置來促成脈衝串錯誤特徵群與隨機錯誤特徵群之區分。此外,在一些實施例中,該H-矩陣可能會被配置來促成多數脈衝串錯誤特徵群之區分,此係為確保所有之脈衝串錯誤特徵群彼此不同。另外,該H-矩陣可能會被配置來促成一個奇數脈衝串特徵群與一個單一位元錯誤特徵群間、一個偶數脈衝串特徵群與一個雙位元錯誤特徵群間之區分。
在一些實施例中,該H-矩陣行可能會被重新排列以確保圖3中之所有脈衝串樣式為可被檢測及可被校正。依據該BCH碼定義,該H-矩陣行可以任何之順序重新排列,以及其結果仍係一個有效之H-矩陣。然而,若該等行係要使任意綴編,幾何序列之性質和因而之脈衝串係數或將會 喪失。在一些實施例中,該H-矩陣行可能會基於數論(number theory)中之費馬小定理(Fermat's Little Theorem)的重新排列性質而被重新排列。特言之,藉由每L行挑出一行可能重新排列該H-矩陣行,其中,L和(N-1)係互質,以及N為該BCH碼所依據之有限域GF(2m)的度。L可能被稱為經重新排列之H-矩陣的步幅。上述具有重新排列之H-矩陣(L)的步幅之H-矩陣(H 2)係顯示在以下之方程式(4)中。方程式(2)中之H-矩陣(H 1)在L=1時或將為一個特殊之情況 其中,就任何一個i而言h iL =h iL%N-1 (4)。
就一個範例而言,若一個DECTED碼係基於GF(29),(N-1)在此情況係等於29-1=511,以及就N而言之互質的總數為432。因此,在此可能有432種H-矩陣會被測試。藉由嘗試所有不同L之值,人們可能會找出一個步幅和因而之H-矩陣,以確保圖3中之所有脈衝串樣式為可被檢測及可被校正。
在一些實施例中,該第一特徵群計算器410計得之第一特徵群,可能會被傳送給該有效碼字過濾器420,以決定該碼字之有效性。回想一個有效碼字具有一個零特徵群。一個非零特徵群係意謂該碼字屬無效。一個有效之碼字可能不需要進一步之校正。一個無效之碼字可能會被進一步處理,以決定其之錯誤類型和/或錯誤子類型。
在一些實施例中,該第一計得之特徵群可能會進一步傳送給該第二特徵群計算器430,其可能會被配置來就 一些潛在之脈衝串錯誤計算該常態化之特徵群或第一位元特徵群。使用圖3中之脈衝串錯誤作為一個範例,在此有8種類型之脈衝串錯誤,和因而8個常態化之特徵群,自特徵群K1至特徵群K8,其中,一個常態化之特徵群係等於該第一計得之特徵群除以脈衝串係數K。
在一些實施例中,該常態化特徵群計算器430計得之常態化特徵群,加上該第一特徵群計算器410計得之第一計得特徵群,可能會被傳送給該錯誤類型分類器440。該錯誤類型分類器440可能會被配置來分類一個錯誤之錯誤類型。在一些實施例中,該錯誤類型分類器440可能會被配置來決定一個錯誤為一個可校正之錯誤或一個無法校正之錯誤,在一個可校正之錯誤的情況中,係決定其為一個隨機錯誤或為一個脈衝串錯誤。此外,該錯誤類型分類器440可能會被配置來決定一個錯誤之子類型。舉例而言,一個隨機錯誤可能會被分類為單一位元錯誤、雙位元錯誤、和無法校正之錯誤;一個脈衝串錯誤可能以其之脈衝串錯誤樣式加以分類。在一些實施例中,若有任何一個常態化之特徵群為一個有效之單一位元特徵群,該脈衝串錯誤樣式便可能被檢測到。否則,該錯誤便可能為一個隨機錯誤。
在一些實施例中,該錯誤校正模組404可能會接收一個來自該錯誤檢測模組402而具有第一計得之特徵群和/或常態化特徵群加上所舉為例包括錯誤類型和錯誤子類型之錯誤分類資訊的碼字。通常,彼等脈衝串錯誤可能藉由定位該第一錯誤位元及依據其之脈衝串樣式補充其餘 之位元來加以校正。在一些實施例中,該多工器450可能會被配置來選擇何者輸入,第一計得之特徵群或常態化之特徵群,應使提供給其餘之錯誤校正邏輯。此選擇可能係基於接收自該錯誤類型分類器440之信號和/或資訊。
在一些實施例中,該錯誤遮罩計算器460可能會被配置來基於該多工器450所傳送的第一計得之特徵群或常態化之特徵群來計算該錯誤遮罩。若該錯誤被分類為一個隨機錯誤,則該錯誤遮罩可能由該錯誤校正器480直接施加至上述具有該隨機錯誤之碼字上面。若該錯誤被分類為一個脈衝串錯誤,則出自該錯誤遮罩計算器460之錯誤遮罩可能僅會包含該第一錯誤位元。該脈衝串錯誤重複器470可能會被配置來補充其餘之錯誤位元給該第一錯誤位元,以形成整個錯誤遮罩。舉例而言,就圖3中之脈衝串樣式#3(1011)而言,該錯誤遮罩可能使該第200個位元被設定為1。該脈衝串錯誤重複器470後之完整錯誤遮罩,或將不僅包括第200個位元而且包括第202個和第203個位元。接著,該錯誤校正器480可能會被配置來將該錯誤遮罩加至該碼字。特言之,該等對應於該遮罩中之'1'的位元可能會被翻轉以及因而被校正。
圖5例示一個依據各種實施例合併有本發明之屬性的範例性錯誤檢測與校正程序500。誠如所顯示,該程序500可能會由該等錯誤檢測模組402和錯誤校正模組404來執行,以體現本發明的一或多個實施例。在一些實施例中,該程序可能會在區塊510處開始,其中,該錯誤檢測模組402 配合圖4中所揭示之各種實施例,可能檢測一個具有資料部分和相關聯之核對位元的碼字中之多數錯誤類型的錯誤。其次,在區塊520處,該錯誤校正模組404可能會校正在區塊510中檢測到該等錯誤時之多數錯誤類型的錯誤。在某些實施例中,該程序500可能接著會就額外之運作周期重複在區塊510處開始。在某些實施例中,該程序500可能會改為結束。
圖6例示一個依據各種實施例合併有本發明之屬性的範例性錯誤檢測程序600。在如所顯示之實施例中,該錯誤檢測程序600作為一個範例,可能會由該錯誤檢測模組402來執行,以體現該程序500之區塊510之運作的一或多個實施例。該程序可能會在區塊610處開始,其中,該第一特徵群計算器410作為一個範例,可能會就一個碼字計算一個第一特徵群。其次,在區塊620處,該有效碼字過濾器420作為一個範例,可能會決定該碼字之有效性。若其被決定並無可被檢測之錯誤存在,舉例而言,若該第一特徵群等於零,該程序600便可能會結束。若其被決定有一或多個可被檢測之錯誤存在,該程序600可能會繼續進行至區塊630。
在區塊630處,該常態化特徵群計算器430作為一個範例,可能會部份地基於該第一計得之特徵群來計算一個常態化之特徵群。在一些實施例中,該第一計得之特徵群可能會以每個脈衝串係數加以常態化。以該第一計得之特徵群和/或該常態化之特徵群,該程序600可能會繼續進 行錯誤類型決定。
在一個抉擇區塊640處可能做出一個抉擇,有關在該碼字中是否可能存在一些可被校正之脈衝串錯誤。在抉擇區塊640處,若其被決定至少有一個可被校正之脈衝串錯誤存在,該程序600可能會繼續進行至區塊650,其中,彼等脈衝串錯誤係要被分類成彼等之錯誤子類型,諸如圖3中之不同的脈衝串錯誤樣式。若其被決定並無可被校正之脈衝串錯誤存在,該程序600便可能繼續進行至區塊660以進一步決定錯誤類型。
同理,在該抉擇區塊660處可能會做出另一個抉擇,有關在該碼字中是否可能存在一些可被校正之隨機錯誤。在抉擇區塊660處,若其被決定有一或多個可被校正之隨機錯誤存在,該程序600可能會繼續進行至區塊670,其中,彼等隨機錯誤係要被分類成彼等之錯誤子類型,諸如單一位元錯誤、雙位元錯誤、等等。若其被決定並無可被校正之隨機錯誤存在,其會導致某種類型可被檢測但無法被校正之錯誤。若有一個可被檢測但無法被校正之錯誤存在,該程序600便可能會結束,以及其在某些實施例中亦可能會導致一個系統停機或電腦程式檢驗。
茲參照圖7,該圖例示了一個依據各種實施例合併有本發明之屬性的範例性錯誤校正程序700。誠如所顯示,該程序700可能會在區塊710處開始,其中,該錯誤校正模組404作為一個範例,可能會接收來自該錯誤檢測模組402而具有第一特徵群和/或常態化特徵群加上錯誤分類資訊 之碼字。其次,在抉擇區塊720處可能會做出一個抉擇,有關該碼字中是否可能有可被校正之錯誤存在。在抉擇區塊720處,若其被決定並無可被校正之錯誤存在,該程序700便可能會結束。若其被決定有一或多個可被校正之錯誤存在,包括脈衝串錯誤或隨機錯誤,該程序700可能會繼續進行至一個抉擇區塊730而做進一步之動作。在區塊730處,可能會做出一個抉擇,有關該碼字中是否可能有脈衝串錯誤存在。該多工器450作為一個範例,可能在各種實施例中會被配置來在區塊720和區塊730中做出如此之抉擇。
在抉擇區塊730處,若其被決定並無脈衝串錯誤存在,此係意謂該可被校正之錯誤通常為隨機錯誤類型。因此,該程序700可能會繼續至區塊770,其中,錯誤遮罩舉例而言係藉由該錯誤遮罩計算器460而以該第一特徵群來加以計算。然而,若其在區塊730處被決定有一或多個脈衝串錯誤存在,該程序700可能會繼續進行至區塊740,其中,錯誤遮罩舉例而言係藉由該錯誤遮罩計算器460而以該常態化之特徵群來加以計算。若該錯誤被分類為一個脈衝串錯誤,則該錯誤遮罩或將僅包含該第一錯誤位元。繼而,在區塊750處,其餘之錯誤位元可能接著會被補充,舉例而言藉由該脈衝串錯誤重複器470,以形成一個完整之錯誤遮罩。最後,在區塊760處,區塊750或770所傳送之錯誤遮罩,舉例而言可能會被該錯誤校正器480施加至該碼字以改正錯誤。
圖8例示一個依據各種實施例可能在其中合併本 發明之屬性的範例性運算系統/裝置800。誠如所例示,該範例性運算系統/裝置800可能包括一個耦合至至少一個處理器810之控制邏輯820、一個耦合一個控制邏輯820之記憶體830、一個耦合該控制邏輯820之非揮發性記憶體(NVM)/儲存器840、和一或多個耦合至該控制邏輯820之通訊介面850。在一些實施例中,該等一或多個處理器810各可能包括一或多個處理器核心。該記憶體830可能包括如圖1中較早所說明之記憶體110。
在一個實施例中,該控制邏輯820可能包括任何適當之介面控制器,以提供任何適當之介面給與該控制邏輯820相通訊的至少一個處理器810和/或任何適當之裝置或組件。在另一個實施例中,該控制邏輯820可能包括一或多個輸入/輸出(I/O)控制器,以提供一個介面給該等NVM/儲存器840和通訊介面850。在又一個實施例中,該控制邏輯820可能包括一或多個記憶體控制器,以提供一個介面給該記憶體830。該記憶體830可能會被用來載入及儲存所舉為例與該系統/裝置800有關之資料和/或指令。在一個實施例中,該記憶體830可能包括任何適當之揮發性記憶體,諸如舉例而言適當之動態隨機存取記憶體(DRAM)。在一些實施例中,該DRAM可能係以小晶片堆疊技術而使堆疊成。此外,該堆疊之DRAM可能會被用作一個記憶體側快取記憶體。
該NVM/儲存器840可能會被用來儲存資料和/或指令。在一些實施例中,該NVM/儲存器840可能包括任何 適當之非揮發性記憶體,其中包括但非受限之NAND(快閃)記憶體、鐵電隨機存取記憶體(FeTRAM)、奈米線式非揮發性記憶體、一個合併憶阻器技術之記憶體、MRAM、STT-MRAM、一個類似相改變記憶體(PCM)或PCM和開關(PCMS)之三維(3D)交叉點電阻式記憶體、和等等。在一些實施例中,該NVM/儲存器840舉例而言可能包括任何適當之非揮發性快取記憶體裝置,諸如一或多個硬碟機(HDD)、一或多個固態驅動器、一或多個小型光碟(CD)驅動器、和/或一或多個數位影音光碟(DVD)驅動器。
該NVM/儲存器840可能包括一個儲存器資源,其在實體上係屬一個其上安裝有該系統/裝置800之裝置的一部分,或者其可能為可被該裝置存取但非必然其之一部分。舉例而言,該NVM/儲存器840可能經由一個(些)通訊介面850透過一個網路而被存取。
該等記憶體830和NVM/儲存器840,可能特別包括該錯誤檢測與校正邏輯812之硬體和/或軟體實現體。該錯誤檢測與校正邏輯812之軟體部分,可能包括一些指令,彼等在被至少一個處理器810(或一個內嵌式控制器(末示出))時,會在該系統/裝置800中產生上文所說明的一或多個錯誤檢測與校正程序。在其他之實施例中,該錯誤檢測與校正邏輯812之硬體和/或軟體實現體,可能位於該等控制邏輯820和/或處理器810。
該(等)通訊介面850可能提供該系統/裝置800所需的一個介面,以透過一或多個網路及/或與任何其他適當 之裝置相通訊。該(等)通訊介面可能包括任何適當之硬體和/或韌體,諸如一個網路轉接器、一或多個天線、一個無線介面、和等等。在一些實施例中,該(等)通訊介面850可能包括該系統/裝置800所需的一個介面,使耦合至一個有線或無線、公用和/或私有、區域網路和/或寬域網路。在一些實施例中,該(等)通訊介面850可能包括該系統/裝置800所需的一個介面,以使用NFC、光學通訊(舉例而言,條碼)、藍芽(Bluetooth)、或其他類似之技術而直接(舉例而言,不含媒介)與另一個裝置相通訊。
就一個實施例而言,至少有一個處理器810可能會與該等控制邏輯820和/或錯誤檢測與校正邏輯812封裝在一起。就一個實施例而言,至少有一個處理器810可能會與該等控制邏輯820和/或錯誤檢測與校正邏輯812封裝在一起,以形成一個系統級封裝(SIP)。就一個實施例而言,至少有一個處理器810可能會與該等控制邏輯820和/或錯誤檢測與校正邏輯812整合在同一小晶片上面。就一個實施例而言,至少有一個處理器810可能會與該等控制邏輯820和/或錯誤檢測與校正邏輯812整合在同一小晶片上面,以形成一個系統級封裝(SIP)。
在各種實現體中,該系統/裝置800可能為一個膝上型電腦、隨身型易網機(netbook)、一個筆記電腦、一個次筆記型電腦、一個超極緻筆電(uultrabook®)、一個智慧型手機、一個平板電腦、一個個人數位助理、一個超級行動電腦、一個手機、一個桌上型電腦、一個伺服器、一個 印表機、一個掃描器、一個監視器、一個機上盒、一個娛樂控制單元(舉例而言,一個遊戲機)、一個數位相機、一個數位音樂播放器、或一個數位錄影機。另外,以上說明之相互作用中的其他裝置可能會被配置來執行各種揭示之技術。
圖9例示一個依據各種實施例合併有本發明之屬性而具有程式規劃指令的製造產品910。在各種實施例中,一個製造產品可能被採用來實現本發明之各種實施例。誠如所顯示,該製造產品910可能包括一個電腦可讀取式非暫時性儲存媒體920,其中存在被配置來體現該錯誤檢測與校正之指令930。該儲存媒體920可能代表本技藝習見大範圍之持久穩固式儲存媒體,其中包括但非受限之快閃記憶體、動態隨機存取記憶體、靜態隨機存取記憶體、一個光碟、一個磁碟、等等。該等指令930可能響應一個設備之執行彼等而促使該設備執行本說明書所說明之各種運作。舉例而言,該儲存媒體920依據本發明之實施例,可能包括一些指令930,彼等經配置會使一個設備或系統實行圖5之程序500的錯誤檢測與校正之某些或所有屬性。
因此,業已說明了一些與錯誤檢測和/或校正相關聯之設備、方法、和媒體。在一些實施例中,一個設備可能包括一或多個具有一或多個糾錯碼之錯誤檢測模組,彼等經配置可使用該等一或多個糾錯碼來檢測一個具有一個資料部分和相關聯之核對位元的碼字中之若干錯誤類型的錯誤之出現。該設備可能進一步包括一或多個錯誤校正 模組,彼等係與該等一或多個錯誤檢測模組相耦合,以及經配置可校正被該等一或多個錯誤檢測模組檢測到的若干錯誤類型之錯誤。
在一些實施例中,該等一或多個錯誤檢測模組可能包括:一個具有該等一或多個糾錯碼中的至少一個糾錯碼之第一特徵群計算模組,其經配置可至少部份基於該碼字以及使用該至少一個糾錯碼來計算一個第一特徵群;和一個第二特徵群計算模組,其係耦合至該第一特徵群計算模組,以及係被配置來計算一個至少部份基於該第一特徵群加以常態化之第二特徵群。該第一特徵群可能會促成該等若干錯誤類型之第一錯誤類型的錯誤之檢測,以及該第二特徵群可能會促成該等若干錯誤類型之第二錯誤類型的錯誤之檢測。
在一些實施例中,該等一或多個錯誤檢測模組可能包括一個與該第二特徵群計算模組相耦合之錯誤類型分類器模組,以及經配置可至少部份基於該第一特徵群來分類該第一錯誤類型的一或多個錯誤子類型,以及至少部份基於該第二特徵群來分類該第二錯誤類型的一或多個錯誤子類型。
在一些實施例中,該等一或多個錯誤校正模組可能包括一個多工器模組,其係與該等一或多個錯誤檢測模組中的至少一個模組相耦合,以及係被配置來選擇輸出該等第一特徵群或第二特徵群;一個錯誤遮罩計算模組,其係與該多工器模組相耦合,以及係被配置來計算一個第一 錯誤遮罩;和一個錯誤校正器模組,其係與該錯誤遮罩計算模組相耦合,以及經配置係藉由施加該第一錯誤遮罩至該碼字來校正該碼字中之若干錯誤類型的錯誤。
在一些實施例中,該等一或多個錯誤校正模組可能包括一個脈衝串錯誤重複器模組,其係與該錯誤遮罩計算模組相耦合,以及係被配置來補充若干漏失之錯誤位元給該第一錯誤遮罩以形成該第二錯誤遮罩。該錯誤校正器模組經配置可能藉由施加該第二錯誤遮罩至該碼字來校正該碼字中之若干錯誤類型的錯誤。
在一些實施例中,該多工器模組經配置可能至少部份基於接收自該錯誤類型分類器模組之資訊來選擇該等第一特徵群或第二特徵群。
在一些實施例中,該等一或多個糾錯碼可能被配置來就一個具有至少一個錯誤之碼字而產生一個非零值。該等一或多個糾錯碼可能被配置來促成一個脈衝串錯誤特徵群與一個隨機錯誤特徵群間之區分。該等一或多個糾錯碼可能係被配置來促成若干脈衝串錯誤特徵群之區分。該等一或多個糾錯碼可能被配置來促成一個奇數脈衝串特徵群與一個單一位元錯誤特徵群間之區分。該等一或多個糾錯碼可能被配置來促成一個偶數脈衝串特徵群與一個雙位元錯誤特徵群間之區分。
在一些實施例中,該設備可能為一個記憶體控制器。
在一些實施例中,該設備可能為一個微處理器, 其具有一個擁有若干動態隨機記憶體(DRAM)單元之快取記憶體;一個具有與該快取記憶體相耦合的一或多個錯誤檢測模組和一或多個錯誤校正模組之記憶體控制器;和一或多個與該快取記憶體控制器相耦合之處理器核心。
在一些實施例中,該等若干DRAM單元可能會相堆疊。該等若干DRAM單元可能會被用作一個記憶體側快取記憶體。
在一些實施例中,該設備可能為一個運算裝置,其具有一個系統記憶體和一個微處理器,後者係與該系統記憶體相耦合,以及具有一或多個錯誤檢測模組和一或多個錯誤校正模組。該設備可能為一個運算裝置,其係選擇自一個膝上型電腦、隨身型易網機、一個筆記電腦、一個超極緻筆電、一個智慧型手機、一個平板電腦、一個個人數位助理、一個超級行動電腦、一個手機、一個桌上型電腦、一個伺服器、一個印表機、一個掃描器、一個監視器、一個機上盒、一個娛樂控制單元、一個數位相機、一個數位音樂播放器、或一個數位錄影機。
在一些實施例中,一或多個具有若干指令之非暫時性電腦可讀取式儲存媒體可能被配置來:促使一個控制器響應該控制器之執行該等若干指令而使用一或多個糾錯碼來檢測一個具有一個資料部分和相關聯之核對位元的碼字中之若干錯誤類型的錯誤之出現;以及於檢測到該等錯誤時校正該等若干錯誤類型之錯誤。
在一些實施例中,該等若干指令可能會被配置來: 促使該控制器響應該控制器之執行該等若干指令而使用該等一或多個糾錯碼來就該碼字計算一個第一特徵群;以及至少部份基於該第一特徵群來計算一個第二特徵群。該第一特徵群可能促成該碼字之至少一個第一錯誤類型的一或多個錯誤之出現的檢測,以及該第二特徵群可能促成該碼字之至少一個第二錯誤類型的一或多個錯誤之出現的檢測。
在一些實施例中,該等若干指令可能促使該控制器響應該控制器之執行該等若干指令之執行而至少部份基於該第一特徵群來計算一個第一特徵群而計算一個第一錯誤遮罩;以及至少部份基於該第二特徵群來計算一個第二特徵群而校正該第二錯誤類型的一或多個錯誤。
雖然本說明書為說明計己例示及說明了某一定之實施例,有種類繁多為達成相同目的而計得之他型和/或等效實施例或實現體,可能取代所顯示及所說明之實施例,而不違離本發明之界定範圍。本申請案係意使涵蓋本說明書所討論之實施例的任何適配體或變更形式。所以,其顯然係意使本說明書所說明之實施例僅受限於專利申請範圍。
100‧‧‧設備
110‧‧‧記憶體
112‧‧‧動態隨機存取記憶體(DRAM)
120‧‧‧記憶體控制器
122‧‧‧錯誤檢測模組
124‧‧‧錯誤校正模組
130‧‧‧處理器核心

Claims (24)

  1. 一種供錯誤檢測與校正用之設備,其包含:一或多個錯誤檢測模組,其包括一或多個糾錯碼,該等糾錯碼經配置以使用該等一或多個糾錯碼來檢測在具有一資料部分和相關聯之核對位元的一碼字中之複數個錯誤類型的錯誤之出現,其中該等一或多個錯誤檢測模組之至少一錯誤檢測模組包含:一第一特徵群計算模組,其具有該等一或多個糾錯碼中的至少一者,且其經配置以使用該至少一糾錯碼而至少部份基於該碼字來計算一第一特徵群;及一第二特徵群計算模組,其與該第一特徵群計算模組相耦合,其被配置以至少部份地基於該第一特徵群來計算出被常態化之一第二特徵群;以及一或多個錯誤校正模組,其與該等一或多個錯誤檢測模組相耦合,且其被配置以在藉由該等一或多個錯誤檢測模組檢測到時基於一共用特徵群來校正多數錯誤類型之錯誤。
  2. 如請求項1之設備,其中,該第一特徵群會促成該等多數錯誤類型之一第一錯誤類型的錯誤之檢測,以及該第二特徵群會促成該等多數錯誤類型之一第二錯誤類型的錯誤之檢測。
  3. 如請求項2之設備,其中該等一或多個錯誤檢測模組進一步包含: 一錯誤類型分類器模組,其與該第二特徵群計算模組相耦合,且經配置以至少部份地基於該第一特徵群來分類該第一錯誤類型的一或多個錯誤子類型,以及至少部份基於該第二特徵群來分類該第二錯誤類型的一或多個錯誤子類型。
  4. 如請求項2至3中任一項之設備,其中該等一或多個錯誤校正模組係包含:一多工器模組,其係與該等一或多個錯誤檢測模組中的至少一者相耦合,以及係被配置來選擇性地輸出該第一特徵群或該第二特徵群;以及一錯誤遮罩計算模組,其係與該多工器模組相耦合,以及,當該多工器模組選擇性地輸出作為該共用特徵群之該第二特徵群時,該錯誤遮罩計算模組係被配置來計算一第一錯誤遮罩。
  5. 如請求項4之設備,其中該等一或多個錯誤校正模組進一步包含:一脈衝串錯誤重複器模組,其係與該錯誤遮罩計算模組相耦合,且其被配置來補充多數遺失之錯誤位元給該第一錯誤遮罩以形成一第二錯誤遮罩;以及一錯誤校正器模組,其與該脈衝串錯誤重複器模組相耦合,且其經配置以藉由施加該第二錯誤遮罩至該碼字來校正該碼字中之該等多數錯誤類型的錯誤。
  6. 如請求項4之設備,其中該多工器模組經配置以至少部份地基於接收自該錯誤類型分類器模組之資訊來選擇 該第一特徵群或該第二特徵群。
  7. 如請求項1之設備,其中該等一或多個糾錯碼被配置來就具有至少一錯誤之一碼字而產生一非零值。
  8. 如請求項7之設備,其中該等一或多個糾錯碼被配置來促成一脈衝串錯誤特徵群與一隨機錯誤特徵群間之區分。
  9. 如請求項8之設備,其中該等一或多個糾錯碼被配置來促成多數脈衝串錯誤特徵群之區分。
  10. 如請求項7至9中任一項之設備,其中該等一或多個糾錯碼被配置來促成一奇數脈衝串特徵群與一單一位元錯誤特徵群間之區分。
  11. 如請求項7至9中任一項之設備,其中該等一或多個糾錯碼被配置來促成一偶數脈衝串特徵群與一雙位元錯誤特徵群間之區分。
  12. 如請求項1至3或7至9中任一項之設備,其中該設備是一記憶體控制器。
  13. 如請求項1至3或7至9中任一項之設備,其中該設備是一微處理器,其包含:具有多數動態隨機記憶體(DRAM)單元之一快取記憶體;一記憶體控制器,其具有該等一或多個錯誤檢測模組和該等一或多個錯誤校正模組,且其與該快取記憶體相耦合;以及與該快取記憶體控制器相耦合之一或多個處理器核 心。
  14. 如請求項13之設備,其中該等複數個DRAM單元係為相堆疊。
  15. 如請求項14之設備,其中該等複數個DRAM單元被使用作為一記憶體側快取記憶體。
  16. 如請求項1至3或7至9中任一項之設備,其中該設備是一運算裝置,其包含:一個系統記憶體;以及一微處理器,其與該系統記憶體相耦合,且其具有該等一或多個錯誤檢測模組和該等一或多個錯誤校正模組。
  17. 如請求項16之設備,其中該運算裝置為下列各者中之一被選定者:一膝上型電腦、一隨身型易網機(netbook)、一筆記電腦、一超極緻筆電(uultrabook®)、一智慧型手機、一平板電腦、一個人數位助理、一超級行動電腦、一手機、一桌上型電腦、一伺服器、一印表機、一掃描器、一監視器、一機上盒、一娛樂控制單元、一數位相機、一數位音樂播放器或一數位錄影機。
  18. 一種具有複數個指令之一個或多個非暫態機器可讀儲存媒體,該等指令被組態以回應於藉由一控制器對該等複數個指令的執行而致使該控制器去進行下列步驟:使用一或多個糾錯碼來檢測在具有一資料部分及相關聯之核對位元的一碼字中之複數個錯誤類型的錯 誤之出現;使用該等一個或多個糾錯碼來計算出用於該碼字之一第一特徵群;至少部份地基於該第一特徵群來計算出一第二特徵群;以及在檢測到該等錯誤檢測時,基於一共用特徵群來校正該等複數個錯誤類型之錯誤。
  19. 如請求項18之一個或多個非暫態機器可讀儲存媒體,其中該第一特徵群會促成該碼字中至少一第一錯誤類型之一或多個錯誤的出現之檢測,且該第二特徵群會促成該碼字中至少一第二錯誤類型之一或多個錯誤的出現之檢測。
  20. 如請求項19之一個或多個非暫態機器可讀儲存媒體,其中該等複數個指令被組態以回應於藉由該控制器對該等複數個指令的執行而致使一控制器去進行下列步驟:至少部份基於該第一特徵群來計算一第一錯誤遮罩以校正該第一錯誤類型的一或多個錯誤;以及至少部份基於該第二特徵群來計算一第二錯誤遮罩以校正該等複數個錯誤類型的錯誤,其中該第二特徵群為該共用特徵群。
  21. 一種供錯誤檢測與校正用之方法,其包含下列步驟:藉由一個控制器,使用一個糾錯碼來檢測在具有一個資料部分和相關聯之核對位元的一碼字中之複數個錯誤類型的錯誤之出現;以及 藉由該控制器,使用該糾錯碼來計算出用於該碼字之一第一特徵群;藉由該控制器,至少部份地基於該第一特徵群來計算出一第二特徵群;以及藉由該控制器,在檢測到該等錯誤時,基於一共用特徵群來校正該等複數個錯誤類型之該等錯誤。
  22. 如請求項21之方法,其中,該第一特徵群會促成該碼字中的至少一第一錯誤類型的一或多個錯誤之出現的檢測,且該第二特徵群會促成該碼字中的至少一第二錯誤類型的一或多個錯誤之出現的檢測。
  23. 如請求項22之方法,其中該校正步驟包含下列步驟:藉由該控制器,至少部份基於該第一特徵群來計算一第一錯誤遮罩以校正該第一錯誤類型的一或多個錯誤;以及藉由該控制器,至少部份基於該第二特徵群來計算一第二錯誤遮罩以校正該等複數個錯誤類型的該等錯誤,其中該第二特徵群係為該共用特徵群。
  24. 如請求項21至23中任一項之方法,其中該等多數之錯誤類型包含一隨機錯誤類型和一脈衝串錯誤類型。
TW102142830A 2012-12-26 2013-11-25 錯誤檢測與校正之設備及方法 TWI546815B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/727,561 US9043674B2 (en) 2012-12-26 2012-12-26 Error detection and correction apparatus and method

Publications (2)

Publication Number Publication Date
TW201435895A TW201435895A (zh) 2014-09-16
TWI546815B true TWI546815B (zh) 2016-08-21

Family

ID=50976190

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102142830A TWI546815B (zh) 2012-12-26 2013-11-25 錯誤檢測與校正之設備及方法

Country Status (5)

Country Link
US (1) US9043674B2 (zh)
KR (1) KR101668972B1 (zh)
CN (1) CN104798047B (zh)
TW (1) TWI546815B (zh)
WO (1) WO2014105170A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI671637B (zh) * 2018-04-25 2019-09-11 點序科技股份有限公司 記憶體管理裝置及其操作方法

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140065678A (ko) * 2012-11-20 2014-05-30 에스케이하이닉스 주식회사 반도체 장치 및 이를 이용한 반도체 장치의 동작 방법
GB2520708A (en) * 2013-11-28 2015-06-03 Ibm Multi-stage codeword detector
GB2531756A (en) 2014-10-29 2016-05-04 Ibm Multi-chip device and method for storing data
JP2016126813A (ja) 2015-01-08 2016-07-11 マイクロン テクノロジー, インク. 半導体装置
US10115446B1 (en) 2015-04-21 2018-10-30 Spin Transfer Technologies, Inc. Spin transfer torque MRAM device with error buffer
US10163479B2 (en) 2015-08-14 2018-12-25 Spin Transfer Technologies, Inc. Method and apparatus for bipolar memory write-verify
CN107924369B (zh) * 2015-09-11 2021-08-31 东芝存储器株式会社 存储器装置
CN107925507B (zh) * 2015-09-26 2021-05-11 英特尔公司 多芯片封装链路错误检测
CN106708650B (zh) * 2015-11-17 2022-02-08 恩智浦美国有限公司 保护嵌入式非易失性存储器免受干扰
US10268539B2 (en) * 2015-12-28 2019-04-23 Intel Corporation Apparatus and method for multi-bit error detection and correction
US10153788B2 (en) * 2016-04-27 2018-12-11 International Business Machines Corporation Detection of multiple bit errors in random access memories
CN106021035A (zh) * 2016-05-25 2016-10-12 浪潮电子信息产业股份有限公司 一种实现在内存颗粒进行故障校验以增强模组条稳定性的方法
US10055155B2 (en) * 2016-05-27 2018-08-21 Wind River Systems, Inc. Secure system on chip
KR20180009558A (ko) * 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
US10268541B2 (en) 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
CN106330205A (zh) * 2016-08-17 2017-01-11 天津大学 一种针对长突发错误的译码算法
US10628316B2 (en) 2016-09-27 2020-04-21 Spin Memory, Inc. Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register
US10192602B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Smart cache design to prevent overflow for a memory device with a dynamic redundancy register
US10366774B2 (en) 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
US10546625B2 (en) 2016-09-27 2020-01-28 Spin Memory, Inc. Method of optimizing write voltage based on error buffer occupancy
US10437491B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register
US10437723B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device
US10192601B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers
US10360964B2 (en) 2016-09-27 2019-07-23 Spin Memory, Inc. Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device
US10446210B2 (en) 2016-09-27 2019-10-15 Spin Memory, Inc. Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers
US10460781B2 (en) 2016-09-27 2019-10-29 Spin Memory, Inc. Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank
US10818331B2 (en) 2016-09-27 2020-10-27 Spin Memory, Inc. Multi-chip module for MRAM devices with levels of dynamic redundancy registers
GB2564634B (en) 2017-05-12 2021-08-25 Xaar Technology Ltd A piezoelectric solid solution ceramic material
DE102018122826A1 (de) 2017-09-21 2019-03-21 Samsung Electronics Co., Ltd. Vorrichtung zum Unterstützen eines Fehlerkorrekturcodes und Testverfahren dafür
US10656994B2 (en) 2017-10-24 2020-05-19 Spin Memory, Inc. Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques
US10481976B2 (en) 2017-10-24 2019-11-19 Spin Memory, Inc. Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers
US10489245B2 (en) 2017-10-24 2019-11-26 Spin Memory, Inc. Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them
US10529439B2 (en) 2017-10-24 2020-01-07 Spin Memory, Inc. On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects
KR102455880B1 (ko) * 2018-01-12 2022-10-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11636014B2 (en) 2017-10-31 2023-04-25 SK Hynix Inc. Memory system and data processing system including the same
US10891997B2 (en) 2017-12-28 2021-01-12 Spin Memory, Inc. Memory array with horizontal source line and a virtual source line
US10424726B2 (en) 2017-12-28 2019-09-24 Spin Memory, Inc. Process for improving photoresist pillar adhesion during MRAM fabrication
US10395711B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Perpendicular source and bit lines for an MRAM array
US10811594B2 (en) 2017-12-28 2020-10-20 Spin Memory, Inc. Process for hard mask development for MRAM pillar formation using photolithography
US10360962B1 (en) 2017-12-28 2019-07-23 Spin Memory, Inc. Memory array with individually trimmable sense amplifiers
US10395712B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Memory array with horizontal source line and sacrificial bitline per virtual source
US10840436B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture
US10367139B2 (en) 2017-12-29 2019-07-30 Spin Memory, Inc. Methods of manufacturing magnetic tunnel junction devices
US10424723B2 (en) 2017-12-29 2019-09-24 Spin Memory, Inc. Magnetic tunnel junction devices including an optimization layer
US10546624B2 (en) 2017-12-29 2020-01-28 Spin Memory, Inc. Multi-port random access memory
US10840439B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Magnetic tunnel junction (MTJ) fabrication methods and systems
US10886330B2 (en) 2017-12-29 2021-01-05 Spin Memory, Inc. Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch
US10784439B2 (en) 2017-12-29 2020-09-22 Spin Memory, Inc. Precessional spin current magnetic tunnel junction devices and methods of manufacture
US10438996B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Methods of fabricating magnetic tunnel junctions integrated with selectors
US10438995B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Devices including magnetic tunnel junctions integrated with selectors
US10446744B2 (en) 2018-03-08 2019-10-15 Spin Memory, Inc. Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same
US10784437B2 (en) 2018-03-23 2020-09-22 Spin Memory, Inc. Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US11107978B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US11107974B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer
US10734573B2 (en) 2018-03-23 2020-08-04 Spin Memory, Inc. Three-dimensional arrays with magnetic tunnel junction devices including an annular discontinued free magnetic layer and a planar reference magnetic layer
US10411185B1 (en) 2018-05-30 2019-09-10 Spin Memory, Inc. Process for creating a high density magnetic tunnel junction array test platform
US10692569B2 (en) 2018-07-06 2020-06-23 Spin Memory, Inc. Read-out techniques for multi-bit cells
US10600478B2 (en) 2018-07-06 2020-03-24 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10559338B2 (en) 2018-07-06 2020-02-11 Spin Memory, Inc. Multi-bit cell read-out techniques
US10593396B2 (en) 2018-07-06 2020-03-17 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10650875B2 (en) 2018-08-21 2020-05-12 Spin Memory, Inc. System for a wide temperature range nonvolatile memory
US10699761B2 (en) 2018-09-18 2020-06-30 Spin Memory, Inc. Word line decoder memory architecture
US11621293B2 (en) 2018-10-01 2023-04-04 Integrated Silicon Solution, (Cayman) Inc. Multi terminal device stack systems and methods
US10971680B2 (en) 2018-10-01 2021-04-06 Spin Memory, Inc. Multi terminal device stack formation methods
KR20200044206A (ko) 2018-10-10 2020-04-29 삼성전자주식회사 전자 장치 및 이의 제어 방법
US11107979B2 (en) 2018-12-28 2021-08-31 Spin Memory, Inc. Patterned silicide structures and methods of manufacture
CN111863107B (zh) * 2019-04-28 2022-08-02 武汉海康存储技术有限公司 闪存纠错方法及装置
KR102162344B1 (ko) * 2019-06-10 2020-10-06 주식회사 다날핀테크 온라인 가맹점에서 가상통화 기반의 결제 처리를 지원하는 결제 서비스 장치 및 그 동작 방법
KR102258955B1 (ko) * 2019-06-10 2021-06-01 주식회사 다날핀테크 오프라인 가맹점에서의 포스 단말기와 연동하여 가상통화 기반의 결제 처리를 지원하는 결제 서비스 장치 및 그 동작 방법
CN112184802B (zh) * 2019-07-05 2023-10-20 杭州海康威视数字技术股份有限公司 标定框的调整方法、装置及存储介质
KR20210032810A (ko) * 2019-09-17 2021-03-25 삼성전자주식회사 메모리 컨트롤러 및 메모리 시스템
US11088712B2 (en) 2019-11-05 2021-08-10 Western Digital Technologies, Inc. Iterative decoder performance prediction using machine learning
KR20210080807A (ko) * 2019-12-23 2021-07-01 삼성전자주식회사 메모리 컨트롤러 및 메모리 시스템
KR20210122455A (ko) 2020-04-01 2021-10-12 삼성전자주식회사 반도체 메모리 장치
KR20210138241A (ko) 2020-05-12 2021-11-19 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈
US11942966B2 (en) * 2021-08-17 2024-03-26 Micron Technology, Inc. Managing error control information using a register
US11815997B2 (en) * 2021-11-10 2023-11-14 Samsung Electronics Co., Ltd. Memory controllers, memory systems, and memory modules
CN117555721B (zh) * 2024-01-12 2024-05-07 深圳疆泰科技有限公司 飞行器fpga的比特翻转的处理方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6276825A (ja) * 1985-09-30 1987-04-08 Hitachi Ltd 符号誤り訂正方法
JP3527873B2 (ja) * 1999-09-03 2004-05-17 松下電器産業株式会社 誤り訂正装置
US6532565B1 (en) * 1999-11-15 2003-03-11 Hewlett-Packard Company Burst error and additional random bit error correction in a memory
TW490941B (en) * 2000-10-02 2002-06-11 Syncomm Technology Corp Burst synchronization adjustment and error detection device and method making the same
US7272777B2 (en) * 2003-06-04 2007-09-18 International Business Machines Corporation Method for correcting a burst of errors plus random errors
US7127660B2 (en) * 2004-01-14 2006-10-24 Hitachi Global Storage Technologies Netherlands B.V. Method, apparatus and program storage device for correcting a burst of errors together with a random error using shortened cyclic codes
US7788570B1 (en) * 2005-03-23 2010-08-31 Marvell International Ltd. Optimized Reed-Solomon decoder
JP4790790B2 (ja) * 2006-02-15 2011-10-12 株式会社日立超エル・エス・アイ・システムズ 誤り検出訂正回路及び半導体メモリ
JP5162763B2 (ja) * 2007-08-07 2013-03-13 株式会社メガチップス メモリアクセスシステム
KR101466694B1 (ko) * 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
JP4564520B2 (ja) * 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US8103936B2 (en) * 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for data read of a synchronous serial interface NAND
EP2248010A4 (en) 2008-02-14 2012-02-29 Hewlett Packard Development Co METHOD AND SYSTEM FOR DETECTING AND CORRECTING PHASE GUSTING ERRORS, ERASURES, SYMBOL ERRORS AND BINARY ERRORS IN A RECEIVED SYMBOL CHAIN
WO2009108562A2 (en) 2008-02-25 2009-09-03 Rambus Inc. Code-assisted error-detection technique
US8209589B2 (en) * 2008-09-17 2012-06-26 Lsi Corporation Reed-solomon decoder with a variable number of correctable errors
KR101015655B1 (ko) 2009-05-29 2011-02-22 주식회사 하이닉스반도체 불휘발성 메모리 장치의 구동 방법
US8533564B2 (en) 2009-12-23 2013-09-10 Sandisk Technologies Inc. System and method of error correction of control data at a memory device
GB2490461A (en) * 2010-01-28 2012-10-31 Ibm Method, device and computer program product for decoding a codeword
CN102577206B (zh) * 2011-05-10 2014-07-30 华为技术有限公司 用于检测数字传输系统的dqpsk符号序列中的奇偶校验错误的方法和设备
CN102567134B (zh) * 2012-01-06 2015-01-07 威盛电子股份有限公司 存储器模块的错误检查与校正系统以及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI671637B (zh) * 2018-04-25 2019-09-11 點序科技股份有限公司 記憶體管理裝置及其操作方法

Also Published As

Publication number Publication date
TW201435895A (zh) 2014-09-16
KR101668972B1 (ko) 2016-10-24
CN104798047A (zh) 2015-07-22
US20140181618A1 (en) 2014-06-26
KR20150068452A (ko) 2015-06-19
WO2014105170A1 (en) 2014-07-03
CN104798047B (zh) 2017-08-11
US9043674B2 (en) 2015-05-26

Similar Documents

Publication Publication Date Title
TWI546815B (zh) 錯誤檢測與校正之設備及方法
US10019312B2 (en) Error monitoring of a memory device containing embedded error correction
US10218789B2 (en) Erasure correcting coding using temporary erasure data
TWI503829B (zh) 延伸單位元錯誤校正及多位元錯誤偵測
TWI501251B (zh) 區域錯誤檢測及全域錯誤校正技術
US20180034477A1 (en) Decoder with parallel decoding paths
US9092349B2 (en) Storage of codeword portions
TW201618119A (zh) 於非依電性記憶體中之回復演算法
KR101626040B1 (ko) 높은 신뢰도 메모리 컨트롤러
US10461777B2 (en) Error locator polynomial decoder and method
US9904491B2 (en) Memory device, memory system, and method of operating the device
US20170187391A1 (en) Error locator polynomial decoder and method
US11157359B2 (en) Techniques to implement a hybrid error correction code scheme
US9911509B2 (en) Counter to locate faulty die in a distributed codeword storage system
US10572189B2 (en) Method and decoder to adjust an error locator polynomial based on an error parity
US9626242B2 (en) Memory device error history bit
US11372720B2 (en) Systems and methods for encoding metadata
US11438015B2 (en) Two-level error correcting code with sharing of check-bits
US9304854B2 (en) Semiconductor device and operating method thereof
US20180097528A1 (en) Error locator polynomial decoder and method
US8661320B2 (en) Independent orthogonal error correction and detection
TW202329147A (zh) 記憶體裝置、錯誤校正碼電路及其操作方法
CN115732016A (zh) 存储器装置、存储器控制器和纠正数据错误的方法
KR20160050961A (ko) 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법
KR20230077606A (ko) 에러 정정 코드 회로, 에러 정정 코드 회로를 포함하는 메모리 장치, 및 에러 정정 코드 회로의 동작 방법