種可能的實現方式中,在第2列所對應的校驗碼對第二錯誤比特302糾錯成功后,還可以通過第2行所對應的校驗碼對第三錯誤比特303進行糾錯。以此,實現了對第2行出現的兩個錯誤比特進行糾錯成功,提高了對存儲數據的糾錯能力,同時也提高了存儲器對數據存儲的準確性。
[0038]一種可能的實現方式中,所述校驗所述第一數據集合的校驗碼以及所述校驗所述第二數據集合的校驗碼均由所述存儲器的芯片獨立生成。
[0039]為了提高校驗碼生成的速率,第一數據集合的校驗碼有存儲器的芯片獨立生成,即存儲面中的所有行所對應的校驗碼由存儲器的芯片獨立生成;第二數據集合的校驗碼亦同。這樣,行和列的校驗碼都不用處理器調度校驗碼函數進行計算生成,提高了校驗碼生成的速率,提高了對數據集合校驗的效率。
[0040]另一種可能的實現方式中,所述校驗所述第一數據集合的校驗碼由所述存儲器的芯片獨立生成,所述校驗所述第二數據集合的校驗碼由處理器通過調用校驗碼函數生成。
[0041]由于現有的存儲器中,在生產廠商對存儲器進行生成時,則固定了存儲器的芯片只能對第一數據集合的校驗碼進行獨立生成,即只能對所有行的校驗碼通過存儲器的芯片獨立生成,或者只能對所有列的校驗碼通過存儲器的芯片獨立生成,為了使得已經生產的存儲器適用于本申請所提供的二維糾錯方法,所以對于所述第二數據集合的校驗碼,可以通過處理器通過調用校驗碼函數進行生成,即無需對存儲器的芯片進行改動,通過軟實現的方式使用本方法,提高了產品的兼容性。
[0042]另一種可能的實現方式中,所述校驗碼為漢明碼。
[0043]由于漢明碼校驗為現有中比較常用的且糾錯查錯成功率較高的一種校驗碼,為了提高本申請所提供的二維糾錯方法的糾錯成功率,本申請所采用的校驗碼也可以通過漢明碼實現。
[0044]參照圖4所示,本申請提供一種存儲器400,所述存儲器400存儲有第一數據集合和第二數據集合,所述存儲器包括糾錯單元401和確定單元402;
[0045]所述糾錯單元401用于:當所述第一數據集合內出現錯誤比特時,通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯;
[0046]詳細內容參照101所述。
[0047]所述確定單元402用于:若無法通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯,確定所述存儲器內的第二數據集合,所述第一數據集合與所述第二數據集合存在預設關聯關系,所述第二數據集合內包含所述錯誤比特;
[0048]詳細內容參照102所述。
[0049]所述糾錯單元401還用于:通過校驗所述第二數據集合的校驗碼對所述錯誤比特進行糾錯;
[0050]詳細內容參照103所述。
[0051 ] 一種可能的實現方式中,所述錯誤比特為兩個或兩個以上。
[0052]一種可能的實現方式中,所述校驗所述第一數據集合的校驗碼以及所述校驗所述第二數據集合的校驗碼均由所述存儲器的芯片獨立生成。
[0053]—種可能的實現方式中,所述校驗所述第一數據集合的校驗碼由所述存儲器的芯片獨立生成,所述校驗所述第二數據集合的校驗碼由處理器通過調用校驗碼函數生成。
[0054]一種可能的實現方式中,所述校驗碼為漢明碼。
[0055]參照圖5所示,本申請提供一種存儲器500,所述存儲器500包括I/O接口 501、控制器502、緩存503以及存儲介質504,其中存儲介質504包括η個,所述I/O接口 501與所述控制器502連接,所述控制器502與所述緩存503連接,所述緩存503與所述存儲介質504連接;所述存儲介質504內存儲有第一數據集合和第二數據集合,所述控制器502用于實現以下方法:
[0056]當所述存儲介質504內的第一數據集合內出現錯誤比特時,通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯;
[0057]若無法通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯,確定所述存儲介質504內的第二數據集合,所述第一數據集合與所述第二數據集合存在預設關聯關系,所述第二數據集合內包含所述錯誤比特;
[0058]通過校驗所述第二數據集合的校驗碼對所述錯誤比特進行糾錯。
[0059]所述存儲器500可以包括易失性存儲器(英文volatile memory),例如隨機存取存儲器(英文:random-access memory,縮寫:RAM);存儲器也可以包括非易失性存儲器(英文:non-volatile memory),例如快閃存儲器(英文:flash memory),硬盤(英文:hard diskdrive,縮寫:HDD)或固態硬盤(英文:solid-state drive,縮寫:SSD);存儲器500還可以包括上述種類的存儲器的組合。
[0060]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0061]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0062]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0063]以上所述,以上實施例僅用以說明本申請的技術方案,而非對其限制;盡管參照前述實施例對本申請進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本申請各實施例技術方案的精神和范圍。
【主權項】
1.一種存儲單元失效糾錯的方法,應用于存儲器,其特征在于,所述方法包括: 所述存儲器存儲有第一數據集合; 當所述第一數據集合內出現錯誤比特時,通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯; 若通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯失敗,則確定所述存儲器內的第二數據集合,所述第一數據集合與所述第二數據集合存在預設關聯關系,所述第二數據集合內包含所述錯誤比特; 通過校驗所述第二數據集合的校驗碼對所述錯誤比特進行糾錯。2.根據權利要求1所述的方法,其特征在于,所述錯誤比特為兩個或兩個以上。3.根據權利要求1或2所述的方法,其特征在于,所述校驗所述第一數據集合的校驗碼以及所述校驗所述第二數據集合的校驗碼均由所述存儲器的芯片獨立生成。4.根據權利要求1或2所述的方法,其特征在于,所述校驗所述第一數據集合的校驗碼由所述存儲器的芯片獨立生成,所述校驗所述第二數據集合的校驗碼由處理器通過調用校驗碼函數生成。5.根據權利要求1至4其中任意一項所述的方法,其特征在于,所述校驗碼為錯誤檢查和糾正ECC碼。6.—種存儲器,其特征在于,所述存儲器存儲有第一數據集合和第二數據集合,所述存儲器包括糾錯單元和確定單元; 所述糾錯單元用于:當所述第一數據集合內出現錯誤比特時,通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯; 所述確定單元用于:若無法通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯,確定所述存儲器內的第二數據集合,所述第一數據集合與所述第二數據集合存在預設關聯關系,所述第二數據集合內包含所述錯誤比特; 所述糾錯單元還用于:通過校驗所述第二數據集合的校驗碼對所述錯誤比特進行糾錯O7.根據權利要求6所述的存儲器,其特征在于,所述錯誤比特為兩個或兩個以上。8.根據權利要求6或7所述的存儲器,其特征在于,所述校驗所述第一數據集合的校驗碼以及所述校驗所述第二數據集合的校驗碼均由所述存儲器的芯片獨立生成。9.根據權利要求6或7所述的存儲器,其特征在于,所述校驗所述第一數據集合的校驗碼由所述存儲器的芯片獨立生成,所述校驗所述第二數據集合的校驗碼由處理器通過調用校驗碼函數生成。10.根據權利要求6至9其中任意一項所述的存儲器,其特征在于,所述校驗碼為漢明碼。11.一種存儲器,其特征在于,所述存儲器包括I/O接口、控制器、緩存以及存儲介質,所述I/O接口與所述控制器連接,所述控制器與所述緩存連接,所述緩存與所述存儲介質連接;所述存儲介質內存儲有第一數據集合和第二數據集合,所述控制器用于實現以下方法: 當所述存儲介質內的第一數據集合內出現錯誤比特時,通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯; 若無法通過校驗所述第一數據集合的校驗碼對所述錯誤比特進行糾錯,確定所述存儲介質內的第二數據集合,所述第一數據集合與所述第二數據集合存在預設關聯關系,所述第二數據集合內包含所述錯誤比特; 通過校驗所述第二數據集合的校驗碼對所述錯誤比特進行糾錯。
【專利摘要】本申請公開了一種存儲單元失效糾錯的方法,應用于存儲器,方法包括:存儲器存儲有第一數據集合;當第一數據集合內出現錯誤比特時,通過校驗第一數據集合的校驗碼對錯誤比特進行糾錯;若通過校驗第一數據集合的校驗碼對錯誤比特進行糾錯失敗,則確定存儲器內的第二數據集合,第一數據集合與第二數據集合存在預設關聯關系,第二數據集合內包含錯誤比特;通過校驗第二數據集合的校驗碼對錯誤比特進行糾錯。這樣,一個數據集合內即使出現了多個錯誤的比特,導致該數據集合的校驗碼無法進行糾錯時,也能夠通過另外的同樣包含有該錯誤比特的數據集合的校驗碼對該錯誤比特進行一一糾錯,提高了糾錯的成功率。
【IPC分類】G11C29/38
【公開號】CN105575439
【申請號】CN201510937441
【發明人】劉偉
【申請人】華為技術有限公司
【公開日】2016年5月11日
【申請日】2015年12月15日