国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于校正從存儲器裝置訪問的數(shù)據(jù)中的錯誤的設(shè)備及方法

      文檔序號:6765551閱讀:562來源:國知局
      用于校正從存儲器裝置訪問的數(shù)據(jù)中的錯誤的設(shè)備及方法
      【專利摘要】本發(fā)明提供了一種用于校正在從存儲器裝置訪問的數(shù)據(jù)中的錯誤的設(shè)備及方法。執(zhí)行讀操作以從存儲器裝置輸出多個讀取符號。隨后根據(jù)多個讀取符號確定伴隨式信息,之后糾錯電路使用伴隨式信息執(zhí)行糾錯過程以定位含有錯誤的讀取符號并校正在這些定位讀取符號中的錯誤。若含有錯誤的讀取符號是隨機分布的,則可以此方式定位且校正多達(dá)PMAX個讀取符號。錯誤追蹤電路被配置在檢測到達(dá)到錯誤閾值條件時,將至少一個存儲器區(qū)域設(shè)置為擦除存儲器區(qū)域。糾錯電路將擦除存儲器區(qū)域的每個讀取符號視為含有錯誤的定位讀取符號,從而使得:當(dāng)執(zhí)行糾錯過程時,并非所有的待定位讀取符號都是隨機分布的且因此可定位及校正多于PMAX個含有錯誤的讀取符號。
      【專利說明】用于校正從存儲器裝置訪問的數(shù)據(jù)中的錯誤的設(shè)備及方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及用于校正從存儲器裝置訪問的數(shù)據(jù)中的錯誤的設(shè)備及方法。
      【背景技術(shù)】
      [0002]使用糾錯碼(error correction codes, ECC)來保護(hù)數(shù)據(jù)包免受各種形式的數(shù)據(jù)損壞是眾所周知的。通常,這是通過將數(shù)據(jù)包視為一系列固定長度的數(shù)據(jù)符號并接著添加若干ECC符號以使數(shù)據(jù)符號及ECC符號共同形成碼字來實現(xiàn)的。如果利用該技術(shù)在形成碼字時添加了 m個ECC符號,則多達(dá)m/2個隨機定位符號錯誤可在碼字內(nèi)被定位及校正。存在各種已知的用于生成碼字的符號的ECC編碼技術(shù)。舉例而言,一種技術(shù)使用里德所羅門碼(Reed Solomon code),里德所羅門碼是基于伽羅瓦域(Galois field)數(shù)學(xué)的并且具有使其適合于硬件實現(xiàn)的性質(zhì)。
      [0003]該ECC編碼技術(shù)的一種實際應(yīng)用是在存儲器裝置方面,例如使用DRAM (動態(tài)隨機存取存儲器)的存儲器裝置。這種存儲器裝置的一個已知布置包括提供若干的雙列存儲器模塊(Dual Inline Memory Module,DIMM),其中每個DIMM由電路板上的若干DRAM芯片組成,DIMM包括至少一個留作存儲ECC信息的芯片。通常,此類存儲器裝置是經(jīng)由突發(fā)訪問操作被訪問的,每個突發(fā)包含多個差拍(beat),并且DIMM的DRAM芯片在每一差拍期間被訪問。在這種布置中,公知的是:將要經(jīng)由突發(fā)寫訪問寫入存儲器裝置的全部數(shù)據(jù)視為形成的數(shù)據(jù)包,將接著生成的多個ECC碼添加至該數(shù)據(jù)包中從而形成碼字。如先前所述,如果碼字包括m個ECC符號,則當(dāng)隨后經(jīng)由突發(fā)讀訪問從存儲器中讀取數(shù)據(jù)時,校正多達(dá)m/2個隨機定位符號錯誤可被校正。
      [0004]作為具體實例,考慮由九個8位(bit)DRAM芯片(表示在突發(fā)訪問操作的每個差拍從每個DRAM芯片可存取八位數(shù)據(jù))組成的DIMM,然后可提供72位DRAM接口以使得能夠在每個差拍訪問九個DRAM芯片中的每一個芯片。如果將一個芯片留作存儲ECC符號,則每個差拍可存取八位的ECC數(shù)據(jù)。如果在此實例中再假定每個符號包含八位,則可以看出,在示例性八差拍讀操作期間,64個數(shù)據(jù)符號及8個ECC符號將被存取。這意味著,利用上述提及的特性,多達(dá)四個隨機定位符號能夠是錯誤的但仍然被校正了。
      [0005]然而,經(jīng)常有此種情況:突發(fā)中的差拍的數(shù)量超出m/2。舉例而言,在上述八差拍讀操作的具體實例中,存在八個讀取的ECC符號(B卩,m=8),但還存在八個差拍。此外,已經(jīng)發(fā)現(xiàn):錯誤傾向于累積在DIMM上的單個芯片中,如果DIMM內(nèi)的特定芯片發(fā)生故障,則很可能在特定突發(fā)讀操作期間從該芯片存取的全部符號都將是錯誤的。在此種情況下,將會超出ECC方案的糾錯能力。
      [0006]一種試圖提供對整個芯片故障的恢復(fù)力的已知方法是在DIMM內(nèi)提供更細(xì)粒度的芯片。舉例而言,考慮前述包含九個8位DRAM芯片的DMM的實例,等效DMM還可由十八個4位DRAM芯片(其中,每個DRAM芯片因此在每差拍提供四位(也稱為四位字(nibble))數(shù)據(jù))來提供。如果現(xiàn)在每個符號包含4位,則可以看出,兩個4位DRAM芯片可用來存儲ECC符號,因此在由整個八差拍突發(fā)傳輸形成的碼字內(nèi)產(chǎn)生十六個4位ECC符號。這會使八個4位隨機定位符號錯誤被檢測出并被校正,因此允許單個4位芯片故障(其中,對該芯片的所有八次存取輸出具有錯誤的符號)。該方式的問題是它需要更多的芯片及更小的符號大小。更小的符號大小的一個含義是它能限制伽羅瓦域的編碼,并因此限制碼字的形成。舉例而言,在里德所羅門碼中,最大的碼字是size)。
      [0007]另一個已知方式是實際上使突發(fā)傳輸?shù)拇笮〖颖叮也⑿性L問兩個DIMM??紤]先前每個DIMM由九個8位DRAM芯片組成的實例,該方式將產(chǎn)生每差拍包括兩個ECC符號(其中符號大小為8位)的144位DRAM接口。利用此配置,再次假定八差拍的突發(fā)傳輸,ECC方案顯然可用來使兩個DIMM中的一個避免發(fā)生單個8位芯片故障。或者,如果每個DIMM包括4位芯片,則此方式可使兩個4位芯片避免發(fā)生故障,因為使用4位芯片會產(chǎn)生每差拍四個ECC符號,或總計32個ECC符號(假定八差拍的突發(fā)傳輸),允許十六個隨機符號故障,等效于允許每差拍兩個符號故障。此方式的缺點是它要求數(shù)據(jù)在多個DIMM上分布,因此需要額外的存儲器資源且也增加了最小存儲器存取要求。此外,要假定兩個DIMM之間的電路板故障平均時間(Mean Time to Board Failure,MTBF)是不同的,因為不這樣的話,如果在兩個DIMM中可能同時發(fā)生芯片故障,則此方式將不會提供任何益處。
      [0008]因此,期望提供一種用于增強對存儲器裝置的區(qū)域內(nèi)的故障的恢復(fù)力的改良機制。

      【發(fā)明內(nèi)容】

      [0009]從第一方面來看,本發(fā)明提供了一種設(shè)備,該設(shè)備包含:存儲器裝置,包含多個存儲器區(qū)域,該存儲器裝置被配置為存儲數(shù)據(jù)符號及關(guān)聯(lián)的糾錯碼(ECC)符號;讀取電路,該讀取電路被配置為執(zhí)行讀操作以從該存儲器裝置輸出多個讀取符號,該多個讀取符號包含η個數(shù)據(jù)符號及關(guān)聯(lián)的m個糾錯碼符號,以及包含來自每個存儲器區(qū)域的多于一個讀取符號,η及m兩者都為大于I的整數(shù)值;伴隨式(syndrome)譯碼器,該伴隨式譯碼器被配置為根據(jù)該η個數(shù)據(jù)符號及關(guān)聯(lián)的m個糾錯碼符號確定伴隨式信息;糾錯電路,該糾錯電路被配置為:響應(yīng)于對指示至少一個讀取符號存在錯誤的該伴隨式信息,執(zhí)行糾錯過程來試圖定位含有錯誤的每個讀取符號并校正這些定位讀取符號中的每一個定位讀取符號的錯誤,若含有錯誤的讀取符號隨機分布于該多個讀取符號中,多個則該糾錯電路被配置為:如果該多個讀取符號中含有錯誤的讀取符號不多于PMAX個,使用該糾錯過程來定位且校正這些錯誤;以及錯誤追蹤電路,該錯誤追蹤電路被配置為追蹤含有錯誤的定位讀取符號來源于哪些存儲器區(qū)域,且在檢測到錯誤閾值條件達(dá)到時,將該多個存儲器區(qū)域的至少一個存儲器區(qū)域設(shè)置為擦除存儲器區(qū)域;該糾錯電路響應(yīng)于由該錯誤追蹤電路設(shè)置的擦除存儲器區(qū)域,將該擦除存儲器區(qū)域的每個讀取符號視為含有錯誤的定位讀取符號,以使得當(dāng)執(zhí)行該糾錯過程時,并非所有的待定位的讀取符號都是隨機分布的,且多個該錯誤校正電路被配置為:若該多個讀取符號的不多于X個讀取符號含有錯誤,則定位并校正錯誤,其中X大于PMAX0
      [0010]根據(jù)本發(fā)明,錯誤追蹤電路追蹤含有錯誤的讀取符號定位在存儲器裝置內(nèi)的何處,且具體是這些讀取符號來源于多個存儲器區(qū)域中的哪些存儲器區(qū)域。若達(dá)到錯誤閾值條件,則將至少一個存儲器區(qū)域設(shè)置為擦除存儲器區(qū)域。一旦已設(shè)置了擦除存儲器區(qū)域,則這影響糾錯過程如何使用伴隨式信息來試圖定位含有錯誤的讀取符號。具體而言,擦除存儲器區(qū)域的全部讀取符號都被視為含有錯誤,意指含有錯誤的讀取符號的分布不再視為完全隨機。這允許含有錯誤的讀取符號的數(shù)量增大,同時仍使得糾錯過程能夠識別且校正這些錯誤。
      [0011]一旦檢測到錯誤閾值條件,通過將至少一個存儲器區(qū)域視為擦除存儲器區(qū)域,就會因此在考慮到讀取符號內(nèi)給定數(shù)量III個2(1:符號的情況下擴展糾錯電路的校正能力。
      [0012]在一個實施例中,若擦除存儲器區(qū)域的讀取符號的總數(shù)為+則糾錯電路被配置為校正在該擦除存儲器區(qū)域的所有(1個讀取符號中的錯誤,且另外,校正在未設(shè)置為該擦除存儲器區(qū)域的任意存儲器區(qū)域的多達(dá)?個讀取符號中的錯誤,其中:1)=(111 — 0/2,其中III大于或等于+且?及(1為大于或等于0的整數(shù)值。
      [0013]因此,在沒有設(shè)置擦除存儲器區(qū)域的情況下,應(yīng)了解到聽0,且可被定位及校正的錯誤的最大數(shù)量即?嫩X,為!11/2。類似地,可在擦除存儲器區(qū)域內(nèi)被定位及校正的讀取符號的最大數(shù)量,本文稱為為%且在此情況下將理解的是?為0,即,將定位及校正擦除存儲器區(qū)域內(nèi)的全部III個讀取符號,但無法校正未設(shè)置為擦除存儲器區(qū)域的任何存儲器區(qū)域的其他讀取符號。實際上,一旦已設(shè)置擦除存儲器區(qū)域,則可定位及校正擦除存儲器區(qū)域內(nèi)的多達(dá)III個讀取符號,這些讀取符號的數(shù)量是在假定含有錯誤的讀取符號隨機分布時的情況中的讀取符號數(shù)量的兩倍。若錯誤有可能累積在一或幾個存儲器區(qū)域內(nèi),則這會特別有利。舉例而言,考慮前述包含多個0狀1芯片的0111的實例,每個芯片可形成存儲器區(qū)域,且上述方式使得至少一個芯片能被標(biāo)記為擦除存儲器區(qū)域,這增大了糾錯過程可校正由于該芯片故障而造成的錯誤的可能性。
      [0014]舉例而言,在一個實施例中,在讀操作期間由讀取電路輸出的多個讀取符號可包含每個存儲器區(qū)域的多于?嫩X個讀取符號。因此,在未設(shè)置擦除存儲器區(qū)域的情況下,不可能定位及校正下列情況:特定故障存儲器區(qū)域的每個讀取符號都是錯誤的。然而,若將該故障存儲器區(qū)域設(shè)置為擦 除存儲器區(qū)域,則這會增加可校正錯誤的數(shù)量。具體而言,若故障存儲器區(qū)域不含有多于III個的讀取符號,則可校正該存儲器區(qū)域的全部讀取符號。
      [0015]在一個實施例中,讀操作為包含多個差拍的突發(fā)讀操作,且每個存儲器區(qū)域在每個差拍期間被訪問。
      [0016]在一個實施例中,在該多個讀取符號中存在至少與存在于突發(fā)讀操作中的差拍一樣多的糾錯碼符號。在一特定實施例中,在突發(fā)讀操作中存在III個差拍,即,存在與存在于突發(fā)讀操作中的差拍相同數(shù)量的糾錯碼符號。因此,在該實施例中,若每個差拍從各個存儲器區(qū)域讀取的數(shù)據(jù)形成讀取符號,則一旦存儲器區(qū)域中的一個存儲器區(qū)域已經(jīng)設(shè)置為擦除存儲器區(qū)域,就可校正該存儲器區(qū)域的每個讀取符號。類似地,若在兩個連續(xù)差拍上從一個存儲器區(qū)域讀取的數(shù)據(jù)形成讀取符號,則一旦兩個存儲器區(qū)域已經(jīng)設(shè)置為擦除存儲器區(qū)域,就可校正多達(dá)兩個存儲器區(qū)域的全部讀取符號。
      [0017]在一個實施例中,存儲器裝置包含多個存儲器芯片,每個存儲器芯片形成一個存儲器區(qū)域。在一個特定實施例中,存儲器裝置包含雙列存儲器模塊(0111):每個存儲器芯片具有關(guān)聯(lián)的數(shù)據(jù)信道;并且讀操作為包含多個差拍的突發(fā)讀操作,在每個差拍期間從每個存儲器芯片經(jīng)由與其關(guān)聯(lián)的數(shù)據(jù)信道讀取至少一個數(shù)據(jù)單元。
      [0018]從每個存儲器芯片讀取的數(shù)據(jù)單元可采用各種形式。在一個實施例中,該數(shù)據(jù)單元為一個字節(jié)(即,8位)的數(shù)據(jù),而在另一個實施例中,該數(shù)據(jù)單元為四位字(即,4位)的數(shù)據(jù)。
      [0019]在一個特定實施例中,在每一拍期間,每個存儲器芯片輸出一個字節(jié),且每個讀取符號包含這些字節(jié)中的一個。在該實施例中,一旦一個故障存儲器芯片被識別為擦除存儲器區(qū)域,則可校正這個故障存儲器芯片的每個讀取符號。
      [0020]在替代實施例中,在每個差拍期間,每個存儲器芯片輸出一個四位字,且每個讀取符號由在連續(xù)差拍內(nèi)的通過相同數(shù)據(jù)信道輸出的兩個四位字形成。在該實施例中,一旦兩個故障存儲器芯片被識別為擦除存儲器區(qū)域,則可校正多達(dá)兩個故障存儲器芯片的每個讀取符號?;蛘?,一個故障芯片可被識別為擦除存儲器區(qū)域,允許校正該故障存儲器芯片的全部讀取符號,另外也可校正若干隨機分布的錯誤。
      [0021]讀取符號可采取各種形式,而在一個實施例中,讀取符號形成里德所羅門碼字。
      [0022]錯誤追蹤電路可以很多方式被配置來確定錯誤閾值條件是否已出現(xiàn)。在一個實施例中,錯誤追蹤電路被配置為至少基于下列指示來確定是否檢測到錯誤閾值條件,該指示為:對于當(dāng)前讀操作,含有錯誤的定位讀取符號來源于哪些存儲器區(qū)域。作為特定實例,若確定在當(dāng)前讀操作中已出現(xiàn)PMAX個隨機分布錯誤,但這些錯誤中的一些(可為這些錯誤的全部或少于全部)與特定存儲器區(qū)域相關(guān)聯(lián),則該模式的錯誤可使得錯誤閾值條件被檢測至IJ,且因此使得特定存儲器區(qū)域被標(biāo)記為擦除存儲器區(qū)域。
      [0023]在一個實施例中,錯誤追蹤電路還保存對于若干先前讀操作含有錯誤的定位讀取符號來源于哪些存儲器區(qū)域的歷史記錄,且在確定是否檢測到錯誤閾值條件時還參考該歷史記錄。因此,通過舉例的方式,錯誤追蹤電路可被布置為在第一次檢測到上述模式的錯誤時不設(shè)置擦除存儲器區(qū)域,而是僅在對于若干讀操作已檢測到該模式的錯誤之后設(shè)置擦除存儲器區(qū)域。這里,在不希望過早設(shè)置擦除存儲器區(qū)域但要在多于PMAX個隨機分布錯誤出現(xiàn)的情況出現(xiàn)之前設(shè)置擦除存儲器區(qū)域之間必須達(dá)到平衡,因為若存在多于PMAX個錯誤,且未設(shè)置擦除存儲器區(qū)域,則糾錯電路將通常不能定位且校正這些錯誤。
      [0024]在一個實施例中,一旦擦除存儲器區(qū)域已被設(shè)置,則錯誤追蹤電路被配置為保存設(shè)置的擦除存儲器區(qū)域直至執(zhí)行重置操作?;蛘?,錯誤追蹤電路可被配置為保存擦除存儲器區(qū)域中有多少讀取符號確實隨著時間產(chǎn)生錯誤的記錄,且若該數(shù)量開始降低到導(dǎo)致將設(shè)置擦除存儲器區(qū)域的數(shù)量(例如,因為在實踐中錯誤出現(xiàn)并非表示芯片故障,而僅為現(xiàn)在已消失的瞬時錯誤),則錯誤追蹤電路可被布置為清除擦除存儲器區(qū)域,允許在適當(dāng)時候再次重置擦除存儲器區(qū)域。
      [0025]糾錯過程可采用各種形式。在一個實施例中,由糾錯電路執(zhí)行的糾錯過程包含:a)試圖使用伴隨式信息作為輸入來求解錯誤位置多項式;b)若在該步驟(a)求解出錯誤位置多項式,則通過確定求解的錯誤位置多項式的根來識別含有錯誤的每個讀取符號;以及c)使用根及伴隨式信息來確定在步驟(b)識別的讀取符號的校正值。
      [0026]在一個實施例中,錯誤位置多項式具有多個參數(shù),該多個參數(shù)可在試圖求解錯誤位置多項式的步驟(a)期間變化,并且如果設(shè)置了擦除存儲器區(qū)域,則糾錯電路被配置為固定多個參數(shù)的至少一個子集的值,這些被固定的值取決于被設(shè)置為擦除存儲器區(qū)域的至少一個存儲器區(qū)域。
      [0027]若存儲器擦除區(qū)域未被設(shè)置,且在該步驟(a)無法求解錯誤位置多項式,則在一個實施例中可認(rèn)為,錯誤的數(shù)量超過PMAX,于是無法定位及校正這些錯誤。丨勺待定位的讀取符號都是隨機分布的,并且有錯誤,則該糾錯過程定位且校正錯誤,其
      「,該設(shè)備包含:存儲器器件,用于存儲數(shù)據(jù)包含多個存儲器區(qū)域;讀取器件,用于執(zhí)行述多個讀取符號包含II個數(shù)據(jù)符號及關(guān)聯(lián)域的多于一個讀取符號,II及III兩者都為大?個數(shù)據(jù)符號及關(guān)聯(lián)的III個糾錯碼符號確定漢符號存在錯誤的該伴隨式信息,用于執(zhí)行且校正這些定位讀取符號中的每一個定位I分布在該多個讀取符號中,并且如果該多:個,則該糾錯器件使用該糾錯過程來定位含有錯誤的定位讀取符號來源于哪些存儲捋所述多個存儲器區(qū)域的至少一個存儲器于由該錯誤追蹤器件設(shè)置的擦除存儲器區(qū)1為含有錯誤的定位讀取符號,以使得當(dāng)執(zhí)[0034]圖4八及圖48根據(jù)一個實施例示出了可在圖1的0111中使用的芯片以及在每個差拍期間存取的關(guān)聯(lián)數(shù)據(jù)單元的兩個示例布置;
      [0035]圖5八根據(jù)一個實施例示出了符號映射,而圖58根據(jù)該實施例示出了可使圖1的錯誤位置追蹤器將一個芯片設(shè)置為擦除存儲器區(qū)域的錯誤閾值條件的實例;以及
      [0036]圖6八根據(jù)替代實施例示出了符號映射,圖68示出了可導(dǎo)致一個芯片被設(shè)置為擦除存儲器區(qū)域的錯誤閾值條件的實例,并且圖6(:根據(jù)該替代實施例示出了可導(dǎo)致第二個芯片也被標(biāo)記為形成的擦除存儲器區(qū)域的另一個錯誤閾值條件的實例。
      【具體實施方式】
      [0037]圖1為根據(jù)一個實施例的設(shè)備的框圖。在此實施例中,011140由多個0狀1芯片42、44、46、48、50組成,并且對01麗40的寫訪問和讀訪問二者以包含多個差拍的突發(fā)訪問來執(zhí)行。寫/讀訪問單元35用于在突發(fā)訪問的每個差拍期間訪問01麗40。通常,對于突發(fā)寫操作,數(shù)據(jù)將在每個差拍期間被寫入每個芯片42、44、46、48、50中,且類似地,在突發(fā)讀操作期間,數(shù)據(jù)將在每個差拍期間從每個芯片中讀取。
      [0038]編碼器10用于生成與突發(fā)寫操作的數(shù)據(jù)相關(guān)聯(lián)的2(1:符號。對于每一差拍,通過路徑5為該差拍提供的數(shù)據(jù)被存儲在緩沖器15中,而其他的數(shù)據(jù)被提供至符號生成器
      20。符號生成器20將基于第一差拍的接收到的數(shù)據(jù)產(chǎn)生預(yù)定數(shù)量的2(1:符號。此后,當(dāng)每一后續(xù)差拍的數(shù)據(jù)被接收且被存儲在緩沖器15中時,該數(shù)據(jù)也會被提供至符號生成器20,使得2(1:符號生成器20根據(jù)接收到的最新數(shù)據(jù)更新預(yù)定數(shù)量的符號。到突發(fā)寫操作的所有差拍的數(shù)據(jù)都已經(jīng)被接收且緩存時,由符號生成器20生成的預(yù)定數(shù)量的符號接著將成為與突發(fā)寫操作的全部數(shù)據(jù)相關(guān)聯(lián)的符號。
      [0039]由2(1:符號生成器產(chǎn)生的符號的預(yù)定數(shù)量將取決于特定實現(xiàn)。然而,在一個實施例中,所生成的2(1:符號的數(shù)量與突發(fā)寫訪問中的差拍數(shù)量相同。因此,考慮其中突發(fā)寫訪問含有八個差拍的特定實例,則2冗符號生成器20將產(chǎn)生八個2(1:符號。
      [0040]在一個特定實施例中,編碼器10基于接收到的突發(fā)的寫入數(shù)據(jù)生成里德所羅門碼字,使用II個數(shù)據(jù)符號(含有寫入數(shù)據(jù))及關(guān)聯(lián)的砠個2(1:符號編碼該寫入數(shù)據(jù)。本領(lǐng)域技術(shù)人員將很好理解符號生成器用于生成與寫入數(shù)據(jù)相關(guān)聯(lián)的2(1:符號的操作,于是該操作在本文中將不進(jìn)行進(jìn)一步的討論。
      [0041]一旦2(1:符號生成器20生成2(1:符號,則將這些2(1:符號與來自緩沖器15的數(shù)據(jù)一起提供至合并區(qū)塊25,合并區(qū)塊產(chǎn)生含有數(shù)據(jù)符號及符號兩者的符號序列,該符號序列通過路徑30被提供至寫/讀訪問單元35。各種符號從寫/讀訪問單元35被寫入011140內(nèi)的相應(yīng)芯片中。具體而言,每一芯片將具有與其相關(guān)聯(lián)的數(shù)據(jù)信道(匕加),數(shù)據(jù)通過該數(shù)據(jù)信道被寫入芯片內(nèi)并且從芯片中被讀取。來自每一差拍的相應(yīng)數(shù)據(jù)通常將通過相關(guān)聯(lián)的數(shù)據(jù)信道寫入至相同芯片。通常,至少一個芯片將留作存儲2(1:符號。
      [0042]如上所述,在利用突發(fā)寫訪問將數(shù)據(jù)寫入01麗40后,數(shù)據(jù)還將經(jīng)由突發(fā)讀訪問從0111中被讀取。具體而言,當(dāng)執(zhí)行突發(fā)讀操作時,每一差拍的數(shù)據(jù)將通過寫/讀訪問單元35讀取并且被轉(zhuǎn)發(fā)至譯碼器60。通常,每一芯片將在每一差拍期間被訪問,并且數(shù)據(jù)單元(例如,1個字節(jié)數(shù)據(jù)或四位字?jǐn)?shù)據(jù))將通過與每一芯片關(guān)聯(lián)的數(shù)據(jù)信道被提供至寫/讀訪問單元35,該數(shù)據(jù)將從寫/讀訪問單元35經(jīng)由路徑55被傳送至譯碼器60。[0043]讀取數(shù)據(jù)最初被傳送至伴隨式譯碼器65,該伴隨式譯碼器65被布置為根據(jù)數(shù)據(jù)符號及關(guān)聯(lián)的ECC符號確定伴隨式信息。伴隨式譯碼器通過分析與突發(fā)讀訪問相關(guān)聯(lián)的全部讀取符號(數(shù)據(jù)符號及ECC符號兩者)來生成伴隨式信息。具體而言,伴隨式譯碼器將這些讀取符號除以生成多項式,該生成多項式用來在編碼器10內(nèi)產(chǎn)生ECC符號。若結(jié)果為零,則未檢測到錯誤,且通過路徑67輸出的數(shù)據(jù)可在無任何修改的情況下從修復(fù)電路70經(jīng)由路徑75被傳播出去。然而,若結(jié)果為非零,則將所得的伴隨式信息與路徑67上的數(shù)據(jù)通過路徑69 —起發(fā)送,以供修復(fù)電路70用于試圖定位及校正含有錯誤的任何讀取符號。
      [0044]以下將更詳細(xì)地討論修復(fù)電路70的操作,然而實質(zhì)上,修復(fù)電路70試圖使用伴隨式信息作為輸入來求解錯誤位置多項式。若求解了錯誤定位多項式,則通過確定所求解的錯誤位置多項式的根來識別含有錯誤的每個讀取符號。所識別的根及伴隨式信息隨后可用來確定已經(jīng)識別為有錯誤的讀取符號的校正值。
      [0045]首先,修復(fù)電路必須假定含有錯誤的讀取符號是隨機分布在突發(fā)讀訪問的多個讀取符號中。假定在突發(fā)讀操作期間從DIMM40讀取了 m個ECC符號,則在假定存在至多m/2個符號有錯誤的情況下,修復(fù)電路將能求解錯誤位置多項式。
      [0046]錯誤位置追蹤器85通過路徑80接收關(guān)于由修復(fù)電路識別為含有錯誤的符號的位置信息。具體而言,錯誤位置追蹤器85監(jiān)控芯片42、44、46、48、50中的哪個芯片已輸出帶有錯誤的符號。若錯誤模式指示已達(dá)到錯誤閾值條件,則錯誤位置追蹤器85將至少一個芯片設(shè)置為擦除存儲器區(qū)域,且該擦除存儲器區(qū)域信息通過路徑90被輸出至修復(fù)電路以供在后續(xù)突發(fā)讀操作期間使用。具體而言,一旦芯片被設(shè)置為擦除存儲器區(qū)域,則修復(fù)區(qū)域隨后將該芯片的每個讀取符號視為含有錯誤的定位讀取符號。因此,含有錯誤的讀取符號的分布不再視為完全隨機,這允許了含有錯誤的讀取符號數(shù)量的增大,而仍使得通過修復(fù)電路70執(zhí)行的糾錯過程能夠識別且校正這些錯誤。假定全部這些符號都在設(shè)置為擦除存儲器區(qū)域的特定芯片(或多個芯片)內(nèi),則此方式最多允許修復(fù)電路定位且校正多達(dá)m個含有錯誤的符號(即,校正與在突發(fā)讀操作中的ECC符號相同數(shù)量的符號)。
      [0047]圖2根據(jù)一個實施例更詳細(xì)地示出了設(shè)置于伴隨式譯碼器65及修復(fù)電路70內(nèi)的組件。伴隨式譯碼器65包括分離器區(qū)塊100,該分離器區(qū)塊100通過路徑67將數(shù)據(jù)符號傳送至修復(fù)電路70內(nèi)的緩沖器110,且還將數(shù)據(jù)及關(guān)聯(lián)的ECC符號兩者路由至伴隨式譯碼區(qū)塊105,該伴隨式譯碼區(qū)塊105用來產(chǎn)生通過路徑69輸出的伴隨式信息。若伴隨式信息為非零,則將使修復(fù)電路70內(nèi)的錯誤位置及量值計算區(qū)塊115執(zhí)行上述討論的試圖求解錯誤位置多項式的過程,一旦求解了,隨后確定所求解的錯誤位置多項式的根以識別含有錯誤的每個讀取符號。另外,錯誤位置及量值計算區(qū)塊115將確定對于定位讀取符號的校正值,且通過路徑117輸出作為修復(fù)模板(mask)的該信息。修復(fù)模板是具有與存儲在緩沖器110內(nèi)的讀訪問的數(shù)據(jù)相同大小的向量。此向量在對應(yīng)于錯誤的位置中包含非零值,而其他所有位置包含零。合并區(qū)塊120隨后通過路徑117接收修復(fù)模板及通過路徑112接收來自緩沖器110的數(shù)據(jù)兩者,且通過使用伽羅瓦域加法器(實施XOR函數(shù))將接收到的數(shù)據(jù)添加至修復(fù)模板來校正所接收到的數(shù)據(jù)中的錯誤。這會生成通過路徑75輸出的校正數(shù)據(jù)。
      [0048]圖3為根據(jù)一個實施例示出了在圖1的設(shè)備執(zhí)行突發(fā)讀操作時該設(shè)備執(zhí)行的步驟的流程圖。首先,在步驟200,突發(fā)讀操作的每個差拍的數(shù)據(jù)符號及關(guān)聯(lián)的ECC符號被讀取且被提供至伴隨式譯碼器65以使得伴隨式譯碼器能夠確定伴隨式信息。此后,在步驟205,伴隨式信息被輸出至修復(fù)電路70。在步驟210,修復(fù)電路70確定是否已設(shè)置了擦除條件,即,錯誤位置追蹤器是否已通過路徑90提供了任意設(shè)置的擦除存儲器區(qū)域信息。若否,貝0過程進(jìn)行至步驟215,其中修復(fù)電路迭代地試圖通過替換可調(diào)整參數(shù)來求解錯誤位置多項式。
      [0049]存在很多可以求解錯誤位置多項式的方式。一種已知方式是使用伯利坎普一梅西算法,該算法由于其對硬件資源的有效利用(例如,與歐幾里德(£11(3111 8)算法相比)而經(jīng)常被使用。該算法迭代地試圖通過求解一個接一個的方程式并更新錯誤位置多項式來求解錯誤位置多項式。若對于給定步驟該算法無法求解出方程式,則該算法計算錯誤且衡量該錯誤,增加錯誤多項式的大小并執(zhí)行另一迭代。假定提供了 III個2(1:符號,則需要最多III次迭代。對于2個符號錯誤,算法給出具有2個系數(shù)的多項式。然而,在沒有設(shè)置擦除條件的情況下,若2大于0/2,則將無法求解錯誤位置多項式,且數(shù)據(jù)將不可校正。
      [0050]因此,在步驟225,確定是否求解了錯誤位置多項式,若否,則過程進(jìn)行至步驟230,其中數(shù)據(jù)標(biāo)記為不可校正的,隨后,過程結(jié)束于步驟235。
      [0051]然而,假定求解了錯誤位置多項式,則過程進(jìn)行至步驟240,其中計算錯誤位置多項式的根以識別含有錯誤的符號的位置。用于求解根的最常用方法為陳氏尋根法((63116=8681-0^, 08).這是對可能符號的窮舉搜索,這些符號一個接一個地代入至錯誤多項式內(nèi)。若結(jié)果為零,則候選符號為根。
      [0052]在步驟240后,過程進(jìn)行至步驟245,計算錯誤量值,且據(jù)此產(chǎn)生校正的數(shù)據(jù)。在步驟240計算的根界定含有錯誤的符號位置但不界定錯誤的量值。根可與伴隨式一起使用以獲得實際錯誤值。這可使用例如?011167算法進(jìn)行。
      [0053]一旦已應(yīng)用算法,就會產(chǎn)生錯誤向量,在本文也稱為修復(fù)模板。錯誤向量在對應(yīng)于錯誤的位置中含有非零值,而其他所有位置含有零。如先前參閱圖2所描述的,合并區(qū)塊120使用伽羅瓦域加法器(使用乂01?函數(shù)實施)將從緩沖器110接收的數(shù)據(jù)與錯誤向量合并,并從伽羅瓦域加法器輸出為原始碼字(即,被寫入01麗40的原始數(shù)據(jù))的譯碼器估計。在步驟245后,過程結(jié)束于步驟235。[0054]根據(jù)上述圖1的實施例,錯誤位置追蹤器85執(zhí)行與由修復(fù)電路70執(zhí)行的步驟245并行的步驟250。在步驟250,錯誤位置追蹤器85記錄每個存儲器區(qū)域(即,圖1實施例中的每個芯片,其中每個芯片形成單獨的存儲器區(qū)域)的錯誤符號的數(shù)量,且隨后在步驟255確定是否已達(dá)到擦除閾值條件,該擦除閾值條件指示至少一個存儲器區(qū)域應(yīng)被設(shè)置為擦除存儲器區(qū)域。可能的錯誤閾值條件的討論將在下文中參閱圖5八、圖58、圖6八、圖68及圖6(:來提供。若檢測到錯誤閾值條件,則過程進(jìn)行至步驟260,為所識別的存儲器區(qū)域設(shè)置擦除條件,隨后過程結(jié)束于步驟235。然而,若在步驟255確定未檢測到錯誤閾值條件,則過程直接進(jìn)行至步驟235。
      [0055]一旦已設(shè)置擦除條件,則對于后續(xù)突發(fā)讀操作,在步驟210將檢測到對于該擦除條件的設(shè)置,且過程將分支到步驟220。在步驟220,用于錯誤位置多項式的至少一些可調(diào)整參數(shù)的值將基于為其設(shè)置了擦除條件的存儲器區(qū)域(或多個存儲器區(qū)域)來固定。具體而言,來自擦除存儲器區(qū)域的全部讀取符號被視為含有錯誤的定位讀取符號,在本文稱為擦除位置。這些擦除位置被獲取為擦除位置多項式(其中擦除位置形成該多項式的根隨后,該擦除位置多項式在修復(fù)過程開始時被裝載至伯利坎普-梅西(Berlekamp-Massey)位置多項式存儲內(nèi)。之后,過程進(jìn)行至步驟215。
      [0056]在經(jīng)由步驟220進(jìn)行至步驟215后,增加了求解錯誤位置多項式的可能性,因為某些參數(shù)將具有固定值。另外,由于已在步驟220設(shè)置的固定值,因而在此時并行而非順序地執(zhí)行一些迭代是可能的。
      [0057]應(yīng)了解的是,一旦設(shè)置了擦除條件,全部符號錯誤被隨機定位的情況就不再存在。若隨機定位錯誤的數(shù)量由變量P表示,已知位置的符號錯誤(即,擦除存儲器區(qū)域內(nèi)的符號)的數(shù)量由變量q表示,之后提供m個ECC符號,則m、p與q之間的關(guān)系如下:
      [0058]m = 2p+q。
      [0059]因此,可以理解的是,當(dāng)未設(shè)置擦除存儲器區(qū)域時,q = O且可校正最大數(shù)量的錯誤,即P為m/2。然而,一旦設(shè)置了擦除存儲器區(qū)域,則可校正的錯誤的總體數(shù)量會增加。當(dāng)擦除存儲器區(qū)域含有m個讀取符號,S卩,q = m時,出現(xiàn)可校正的錯誤的最大數(shù)量。在此情況下,可校正全部m個這些符號,但無法校正隨機定位錯誤,即,P = O。
      [0060]DIMM40內(nèi)的芯片42、44、46、48、50可采用各種形式。圖4A示出了一個實例,其中每個芯片300為8位DRAM芯片,意指在突發(fā)訪問操作的每個差拍期間通過關(guān)聯(lián)的字節(jié)信道315訪問的數(shù)據(jù)包括八位(即,I字節(jié))的數(shù)據(jù)。存儲陣列為了允許在突發(fā)寫轉(zhuǎn)移的每個差拍將八位數(shù)據(jù)寫入存儲陣列內(nèi),或允許在突發(fā)讀操作的每個差拍期間從存儲陣列305讀取出八位數(shù)據(jù),數(shù)據(jù)將被存儲在存儲陣列305內(nèi)并經(jīng)由多路布置310被訪問。因此一系列字帶320、322、324、326可在突發(fā)寫操作的差拍期間經(jīng)由字節(jié)信道315被存儲至芯片300內(nèi),且隨后相應(yīng)的數(shù)據(jù)可在突發(fā)讀操作的差拍期間讀取。
      [0061]圖4B示出了類似的布置,但在此實例中,芯片350為具有存儲陣列355及關(guān)聯(lián)的多路選擇器360的4位DRAM芯片。在突發(fā)訪問的每個差拍期間,4位數(shù)據(jù)塊(稱為四位字)可通過關(guān)聯(lián)的四位字信道365輸入或輸出,且因此通過四位字370、372、374、376所示的,四位字可在突發(fā)寫操作的每個差拍期間被寫入或在突發(fā)讀操作的每個差拍期間讀取。
      [0062]圖5A根據(jù)一個實施例示出了可使用的符號映射(symbol map) 400。在此實施例中,假定DI麗含有九個8位DRAM芯片300,芯片I至芯片8用來存儲數(shù)據(jù),芯片O用來存儲ECC碼。因此,這九個8位DRAM芯片為DMM提供了 72位DRAM接口。在此實例中,假定突發(fā)訪問為8差拍突發(fā)訪問,從而在每個差拍期間,每個芯片內(nèi)的I字節(jié)數(shù)據(jù)將被訪問。在此實例中,還假定每一符號是由在單個差拍內(nèi)從每個芯片訪問的數(shù)據(jù)的基本單位形成的,因此每個方塊405表示一個符號。因此,在此實例中,在突發(fā)讀操作期間,可以看出,64個字節(jié)數(shù)據(jù)將與8字節(jié)ECC碼(形成為八個ECC符號)一起被存取。由上述討論顯而易見的是,若假定含有錯誤的符號在符號映射400內(nèi)隨機分布,則使用八個ECC符號能夠校正符號的最大數(shù)量為四。
      [0063]圖5B示出了可使錯誤閾值條件達(dá)到的示例性情況。在此實例中,假定已定位四個錯誤(即,在假定符號錯誤隨機分布的情況下可定位及校正的最大數(shù)量)。然而,在此實例中,所有這四個錯誤都在相同的芯片內(nèi),即在芯片6內(nèi)(字母X用來表示含有錯誤的符號)。在一個實施例中,一旦檢測到與芯片6相關(guān)聯(lián)的字節(jié)信道存儲器存在四個錯誤,錯誤位置追蹤器85就將芯片6設(shè)置為擦除存儲器區(qū)域。此后,在后續(xù)讀操作期間,糾錯電路將芯片6內(nèi)的全部八個符號視為錯誤的,且因為這些位置將全部已知,故隨后能夠校正全部八個符號。在此實施例中,一旦將芯片中的一個設(shè)置為擦除存儲器區(qū)域,則(1=8且15=0。因此,雖然可校正芯片6內(nèi)的全部八個符號,但是不可容許其他的隨機分布錯誤。
      [0064]此方式是很有用的,因為已發(fā)現(xiàn),在01麗中常有下列情況:一個芯片在其他芯片故障之前發(fā)生故障,從而很可能認(rèn)為錯誤將累積在單個芯片內(nèi)。上述方式使得系統(tǒng)能夠繼續(xù)校正故障芯片內(nèi)的錯誤,從而有時間呼叫工程師以替換該芯片,并隨后清除擦除存儲器條件。
      [0065]圖6八示出了替代的符號映射450,其中十八個4位0狀1芯片被提供以存儲數(shù)據(jù)及 碼,此外訪問是利用八個差拍的突發(fā)來執(zhí)行的。在此實施例中,芯片0及芯片1兩者用
      來存儲2(1:碼,而剩余芯片用來存儲數(shù)據(jù)。由于芯片為4位0狀1芯片,故0111仍提供了 72位0狀1接口,因此在每個差拍期間72位數(shù)據(jù)及2(1:碼被訪問。在此實例中,符號仍視為包含八位,具體而言,每個讀取符號由在連續(xù)差拍內(nèi)通過相同四位字信道輸出的兩個四位字形成。因此,每個矩形方塊455表示一個符號。正如圖5八的實例,在突發(fā)讀操作的八個差拍的過程中接收八個符號。如現(xiàn)在將參閱圖68及圖6(:描述的,此方式使得能夠容納多達(dá)兩個故障芯片。
      [0066]具體而言,考慮圖68,其示出了已發(fā)現(xiàn)四個符號含有錯誤的情況,此為可容許的隨機分布錯誤符號的最大數(shù)量。然而,應(yīng)注意的是,兩個錯誤在一個芯片內(nèi),即在芯片3內(nèi)。在一個實施例中,通過錯誤位置追蹤器85對該錯誤模式的檢測可用來確定擦除條件的存在,以使芯片3被設(shè)置為擦除存儲器區(qū)域。此后,在后續(xù)讀操作期間,與芯片3相關(guān)聯(lián)的全部四個符號將假定為錯誤的??紤]前述方程式111=21)+(1可知,給定八個符號的情況,從而(1為4,?為2。因此,芯片3中可校正多達(dá)全部四個符號中的錯誤,同時仍能夠校正兩個隨機定位符號錯誤。
      [0067]現(xiàn)在考慮圖60,這表明了可使第二芯片被添加至擦除存儲器區(qū)域的錯誤的模式。問題標(biāo)記符號與芯片3的符號關(guān)聯(lián)使用,因為芯片3已設(shè)置為擦除存儲器區(qū)域,所以在此時這些符號是否實際上產(chǎn)生錯誤并不重要,因為在任何情況下芯片3中的每個符號都視為是錯誤的。除芯片3的四個符號外,已定位了兩個其他錯誤,并且確定兩個這樣的錯誤在芯片8內(nèi)。此時,錯誤位置追蹤器85可另外將芯片8設(shè)置為在擦除存儲器區(qū)域內(nèi),以使得對于后續(xù)讀取操作,芯片3內(nèi)的全部四個符號及芯片8內(nèi)的全部四個符號將假定為錯誤的??紤]之前的方程式111=21)+(1, ^現(xiàn)在等于8,且?為0。因此,可校正芯片3及芯片8內(nèi)的全部八個符號,但無法容許其他的隨機分布符號錯誤。
      [0068]如上述圖5八及圖58討論的方式,這樣的方式在0111內(nèi)是很有用的,因為常有個別芯片發(fā)生故障的情況,且該方式使得當(dāng)這些芯片中多達(dá)兩個芯片發(fā)生故障時仍能夠校正這些故障芯片中的錯誤,使得工程師有時間替換這些芯片且清除擦除條件。
      [0069]雖然在上述圖5及圖6的實例中,假定了一確定所描述的錯誤模式就設(shè)置擦除存儲器區(qū)域,但是在替代實施例中,錯誤位置追蹤器85可保持檢測到的錯誤位置的歷史記錄,而不是一檢測到符合的模式就立即設(shè)置擦除存儲器區(qū)域。舉例而言,考慮圖68,錯誤位置追蹤器85可以不在第一次檢測到該模式就設(shè)置擦除存儲器區(qū)域,而是如果在若干讀訪問中有規(guī)律地檢測到四個錯誤且至少兩個錯誤是經(jīng)常發(fā)現(xiàn)于芯片3內(nèi),則可決定將芯片3設(shè)置為擦除存儲器區(qū)域。
      [0070]在一個實施例中,一旦已設(shè)置擦除存儲器區(qū)域,則保持設(shè)置直至由工程師清除掉(例如替換故障芯片)。然而,另一個選擇是錯誤位置追蹤器85繼續(xù)保存錯誤位置的日志,如果在若干讀取操作之后發(fā)現(xiàn)在標(biāo)記為擦除存儲器區(qū)域的特定芯片內(nèi)錯誤數(shù)量未增加或事實上減少,則這可用來確定清除該芯片為擦除存儲器區(qū)域是合適的。再考慮圖6B的實例,例如有可能的是,在芯片3內(nèi)識別的兩個符號錯誤結(jié)果是瞬時錯誤且不表示芯片3開始發(fā)生故障。若為該情況,則在將芯片3設(shè)置為擦除存儲器區(qū)域后,將會看到,芯片3內(nèi)的符號錯誤的總體數(shù)量不增加且實際上甚至可能下降。
      [0071]上述實施例在其中錯誤趨于積累在特定存儲器區(qū)域內(nèi)的存儲器裝置內(nèi)提供了顯著改進(jìn)的可操作性。具體而言,根據(jù)所述實施例,當(dāng)已達(dá)到校正的界限(基于隨機定位符號錯誤的假定)時,且其中檢測到某些數(shù)量的錯誤符號在(與特定存儲器區(qū)域相關(guān)聯(lián)的)共同的數(shù)據(jù)信道內(nèi),則該存儲器區(qū)域被視為已經(jīng)發(fā)生故障,從而被設(shè)置為擦除存儲器區(qū)域。這擴展了糾錯電路的校正能力,從而在存儲器區(qū)域向該存儲器區(qū)域的總體故障惡化時允許系統(tǒng)繼續(xù)操作。在包含多個DRAM芯片的DIMM的特定實施例中,這提高了在給定數(shù)量的ECC符號的情況下對總體芯片故障的容忍度。
      [0072]盡管本文已描述特定實施例,但應(yīng)了解的是,本發(fā)明未受限于這些特定實施例,且可在本發(fā)明的范圍內(nèi)對本發(fā)明進(jìn)行很多修改及添加。舉例而言,在不脫離本發(fā)明范圍的情況下,可對從屬權(quán)利要求的特征與獨立權(quán)利要求的特征進(jìn)行各種組合。
      【權(quán)利要求】
      1.一種設(shè)備,包括: 存儲器裝置,包含多個存儲器區(qū)域并且被配置為存儲數(shù)據(jù)符號及關(guān)聯(lián)的糾錯碼ECC符號; 讀取電路,被配置為執(zhí)行讀操作以從所述存儲器裝置中輸出多個讀取符號,所述讀取符號包含η個數(shù)據(jù)符號及關(guān)聯(lián)的m個糾錯碼符號,以及包含來自每個存儲器區(qū)域的多于一個讀取符號,η及m兩者都為大于I的整數(shù)值; 伴隨式譯碼器,被配置為根據(jù)所述η個數(shù)據(jù)符號及關(guān)聯(lián)的m個糾錯碼符號確定伴隨式信息; 糾錯電路,被配置為響應(yīng)于指示至少一個讀取符號中存在錯誤的所述伴隨式信息,執(zhí)行糾錯過程來試圖定位每個含有錯誤的讀取符號并校正這些定位讀取符號中的每一個中的錯誤,如果含有錯誤的讀取符號隨機分布于所述多個讀取符號中,則所述糾錯電路被配置為:如果所述多個讀取符號中含有錯誤的讀取符號不多于PMAX,使用所述糾錯過程來定位且校正這些錯誤;以及 錯誤追蹤電路,被配置為追蹤含有錯誤的所述定位讀取符號來源于哪些存儲器區(qū)域,并且在檢測到達(dá)到錯誤閾值條件時,將來自所述多個存儲器區(qū)域的至少一個存儲器區(qū)域設(shè)置為擦除存儲器區(qū)域; 所述糾錯電路響應(yīng)于由所述錯誤追蹤電路設(shè)置的擦除存儲器區(qū)域,將來自所述擦除存儲器區(qū)域的每個讀取符號視為含有錯誤的定位讀取符號,從而使得當(dāng)執(zhí)行所述糾錯過程時,并非所有的待定位的所述讀取符號都是隨機分布的,并且如果所述多個讀取符號的不多于X個讀取符號含有錯誤,則所述糾錯電路被配置為定位及校正所述錯誤,其中X大于PMAX0
      2.如權(quán)利要求1所述的設(shè)備,其中: 如果所述擦除存儲器區(qū)域中的讀取符號的總數(shù)為q,則所述糾錯電路被配置為校正在來自所述擦除存儲器區(qū)域的所有q個讀取符號中的錯誤,另外,校正在未設(shè)置為所述擦除存儲器區(qū)域的任意存儲器區(qū)域中的多達(dá)P個讀取符號中的錯誤,其中:
      P= (m — q)/2, 其中m大于或等于q,P及q為大于或等于O的整數(shù)值。
      3.如權(quán)利要求1所述的設(shè)備,其中PMAX等于m/2。
      4.如權(quán)利要求1所述的設(shè)備,其中X的最大值QMAX為m。
      5.如權(quán)利要求3所述的設(shè)備,其中: 在所述讀操作期間,由所述讀取電路輸出的所述多個讀取符號包含來自每個存儲器區(qū)域的多于PMAX個讀取符號。
      6.如權(quán)利要求1所述的設(shè)備,其中所述讀操作為包含多個差拍的突發(fā)讀操作,且每個存儲器區(qū)域在每個差拍期間被訪問。
      7.如權(quán)利要求6所述的設(shè)備,其中在所述多個讀取符號中存在至少與存在于所述突發(fā)讀操作中的差拍一樣多的糾錯碼符號。
      8.如權(quán)利要求7所述的設(shè)備,其中所述突發(fā)讀操作中存在m個差拍。
      9.如權(quán)利要求1所述的設(shè)備,其中所述存儲器裝置包含多個存儲器芯片,每個存儲器芯片形成所述多個存儲器區(qū)域中的一個存儲器區(qū)域。
      10.如權(quán)利要求9所述的設(shè)備,其中: 所述存儲器裝置包含雙列存儲器模塊01麗; 每個存儲器芯片具有關(guān)聯(lián)的數(shù)據(jù)信道;以及 所述讀操作為包含多個差拍的突發(fā)讀操作,在每個差拍期間從每個存儲器芯片經(jīng)由與其關(guān)聯(lián)的數(shù)據(jù)信道讀取至少一個數(shù)據(jù)單元。
      11.如權(quán)利要求10所述的設(shè)備,其中所述數(shù)據(jù)單元為一個字節(jié)或者一個四位字。
      12.如權(quán)利要求11所述的設(shè)備,其中在每個差拍期間,每個存儲器芯片輸出一個字節(jié),并且每個讀取符號包含所述字節(jié)中的一個。
      13.如權(quán)利要求11所述的設(shè)備,其中在每個差拍期間,每個存儲器芯片輸出一個四位字,且每個讀取符號由在連續(xù)差拍內(nèi)的通過相同數(shù)據(jù)信道輸出的兩個四位字形成。
      14.如權(quán)利要求1所述的設(shè)備,其中所述讀取符號形成里德所羅門碼。
      15.如權(quán)利要求1所述的設(shè)備,其中所述錯誤追蹤電路被配置為至少基于以下指示來確定是否檢測到所述錯誤閾值條件,所述指示為:對于當(dāng)前讀操作,含有錯誤的定位讀取符號來源于哪些存儲器區(qū)域。
      16.如權(quán)利要求15所述的設(shè)備,其中所述錯誤追蹤電路被配置為保存對于若干先前讀操作含有錯誤的定位讀取符號來源于哪些存儲器區(qū)域的歷史記錄,并還被配置為在確定是否檢測到所述錯誤閾值條件時參考所述歷史記錄。
      17.如權(quán)利要求1所述的設(shè)備,其中一旦已設(shè)置所述擦除存儲器區(qū)域,所述錯誤追蹤電路就被配置為保存設(shè)置的擦除存儲器區(qū)域直至執(zhí)行重置操作。
      18.如權(quán)利要求1所述的設(shè)備,其中由所述糾錯電路執(zhí)行的所述糾錯過程包含: 試圖使用所述伴隨式信息作為輸入來求解錯誤位置多項式; 0若在所述步驟匕)求解出所述錯誤位置多項式,則通過確定求解的錯誤位置多項式的根來識別含有錯誤的每個讀取符號;以及 0?使用所述根及所述伴隨式信息來確定在所述步驟6)識別的所述讀取符號的校正值。
      19.如權(quán)利要求18所述的設(shè)備,其中所述錯誤位置多項式具有多個參數(shù),所述多個參數(shù)在試圖求解所述錯誤位置多項式的步驟匕)期間變化,并且如果設(shè)置了所述擦除存儲器區(qū)域,則所述糾錯電路被配置為固定對于所述多個參數(shù)的至少一個子集的值,所固定的值取決于設(shè)置為所述擦除存儲器區(qū)域的至少一個存儲器區(qū)域。
      20.一種校正從存儲器裝置訪問的數(shù)據(jù)中的錯誤的方法,所述存儲器裝置包含多個存儲器區(qū)域,并且被配置為存儲數(shù)據(jù)符號及關(guān)聯(lián)的糾錯碼符號,所述方法包含以下步驟: 執(zhí)行讀操作以從所述存儲器裝置中輸出多個讀取符號,所述讀取符號包含II個數(shù)據(jù)符號及關(guān)聯(lián)的砠個糾錯碼符號,并包含來自每個存儲器區(qū)域的多于一個讀取符號,II及砠兩者都為大于1的整數(shù)值; 根據(jù)所述II個數(shù)據(jù)符號及關(guān)聯(lián)的砠個糾錯碼符號確定伴隨式信息; 響應(yīng)于指示至少一個讀取符號存在錯誤的所述伴隨式信息,執(zhí)行糾錯過程以試圖定位含有錯誤的每個讀取符號并校正這些定位讀取符號中的每一個定位讀取符號的錯誤,若含有錯誤的讀取符號隨機分布在所述多個讀取符號中,并且如果所述多個讀取符號中含有錯誤的讀取符號不多于?心^,則所述糾錯過程定位并校正這些錯誤;追蹤含有錯誤的定位讀取符號來源于哪些存儲器區(qū)域,且在檢測到達(dá)到錯誤閾值條件時,將所述多個存儲器區(qū)域的至少一個存儲器區(qū)域設(shè)置為擦除存儲器區(qū)域;以及 響應(yīng)于由所述錯誤追蹤電路設(shè)置的擦除存儲器區(qū)域,將來自所述擦除存儲器區(qū)域中的每個讀取符號視為含有錯誤的定位讀取符號,從而使得當(dāng)隨后執(zhí)行所述糾錯過程時,并非所有的待定位的讀取符號都是隨機分布的,并且如果所述多個讀取符號中的不多于X個讀取符號含有錯誤,則所述糾錯過程定位并校正錯誤,其中X大于PMAX。
      21.—種設(shè)備,包含: 存儲器器件,用于存儲數(shù)據(jù)符號及關(guān)聯(lián)的糾錯碼符號,該存儲器器件包含多個存儲器區(qū)域; 讀取器件,用于執(zhí)行讀操作以從所述存儲器器件中輸出多個讀取符號,所述多個讀取符號包含η個數(shù)據(jù)符號及關(guān)聯(lián)的m個糾錯碼符號,并包含來自每個存儲器區(qū)域的多于一個讀取符號,η及m兩者都為大于I的整數(shù)值; 伴隨式譯碼器器件,用于根據(jù)所述η個數(shù)據(jù)符號及關(guān)聯(lián)的m個糾錯碼符號確定伴隨式信息; 糾錯器件,響應(yīng)于指示至少一個讀取符號存在錯誤的所述伴隨式信息,用于執(zhí)行糾錯過程來試圖定位含有錯誤的每個讀取符號且校正這些定位讀取符號中的每一個定位讀取符號的錯誤,若含有錯誤的讀取符號隨機分布在所述多個讀取符號中,并且如果所述多個讀取符號中的不多于PMAX個讀取符號含有錯誤,則所述糾錯器件使用所述糾錯過程來定位及更正這些錯誤;以及 錯誤追蹤器件,用于追蹤含有錯誤的定位讀取符號來源于哪些存儲器區(qū)域,且在檢測到達(dá)到錯誤閾值條件時,用于將所述多個存儲器區(qū)域中的至少一個存儲器區(qū)域設(shè)置為擦除存儲器區(qū)域; 糾錯器件,響應(yīng)于由所述錯誤追蹤器件設(shè)置的擦除存儲器區(qū)域,用于將來自所述擦除存儲器區(qū)域的每個讀取符號視為含有錯誤的定位讀取符號,以使得當(dāng)執(zhí)行所述糾錯過程時,并非所有的待定位的讀取符號都是隨機分布的,并且如果所述多個讀取符號中的不多于X個讀取符號含有錯誤,則所述糾錯器件定位并校正錯誤,其中X大于PMAX。
      【文檔編號】G11C29/42GK103839595SQ201310581828
      【公開日】2014年6月4日 申請日期:2013年11月19日 優(yōu)先權(quán)日:2012年11月20日
      【發(fā)明者】邁克爾·安德魯·坎貝爾, 蒂莫西·尼古拉斯·海 申請人:Arm 有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1