一種數(shù)據(jù)恢復(fù)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及忍片設(shè)計(jì)技術(shù)領(lǐng)域,更具體地說,設(shè)及一種數(shù)據(jù)恢復(fù)方法及裝置。
【背景技術(shù)】
[0002] 隨著忍片中使用的RAM(Random-AccessMemo巧,隨機(jī)存取存儲器)越來越多,規(guī) 模越來越大,提高RAM的RAS(Reli油ility、Avail油ility及Service油ility,可靠性、可 用性及可服務(wù)性)性能成為提高整個(gè)忍片的可靠性與可用性,進(jìn)而降低忍片的使用成本的 關(guān)鍵因素之一。
[0003] 但是由于制造或者時(shí)間等原因,RAM可能會(huì)出現(xiàn)存儲的數(shù)據(jù)出錯(cuò)的情況,一旦RAM 存儲的數(shù)據(jù)出錯(cuò),將會(huì)導(dǎo)致忍片失效或者忍片效率下降?,F(xiàn)有技術(shù)中用于對RAM存儲的數(shù) 據(jù)進(jìn)行糾錯(cuò)的較優(yōu)的一種方法為ECC巧rror化eckingandCorrection,錯(cuò)誤檢查和修正) 校驗(yàn)算法,然而,傳統(tǒng)的ECC校驗(yàn)算法只能糾正一位數(shù)據(jù)出錯(cuò)的情況,一旦出現(xiàn)多位數(shù)據(jù)出 錯(cuò),則無能為力,因此,導(dǎo)致RAM的數(shù)據(jù)可靠性較低。
[0004] 綜上所述,現(xiàn)有技術(shù)中用于對RAM存儲的數(shù)據(jù)進(jìn)行糾錯(cuò)的技術(shù)方案存在可靠性較 低的問題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是提供一種數(shù)據(jù)恢復(fù)方法及裝置,W解決現(xiàn)有技術(shù)對RAM存儲的數(shù) 據(jù)進(jìn)行糾錯(cuò)的技術(shù)方案中存在的可靠性較低的問題。
[0006] 為了實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案: 陽007] -種數(shù)據(jù)恢復(fù)方法,包括:
[0008] 如果由指定區(qū)域讀取到的指定數(shù)據(jù)存在錯(cuò)誤,則讀取預(yù)先將原始數(shù)據(jù)存儲至指定 區(qū)域時(shí)對該原始數(shù)據(jù)的指定位進(jìn)行異或得到的原異或信息、按照指定算法對該原始數(shù)據(jù)進(jìn) 行計(jì)算得到的原校驗(yàn)碼及該原始數(shù)據(jù)在具有與所述原校驗(yàn)碼一致的校驗(yàn)碼的全部數(shù)據(jù)中 所處位置的原位置信息;
[0009] 生成與所述原異或信息對應(yīng)的N個(gè)初選數(shù)據(jù),并按照所述指定算法計(jì)算每個(gè)初選 數(shù)據(jù)的目標(biāo)校驗(yàn)碼;
[0010] 確定與所述原校驗(yàn)碼一致的目標(biāo)校驗(yàn)碼對應(yīng)的初選數(shù)據(jù)為終選數(shù)據(jù),并確定所 述終選數(shù)據(jù)在具有與所述原校驗(yàn)碼一致的校驗(yàn)碼的全部數(shù)據(jù)中所處的位置為目標(biāo)位置信 息;
[0011] 確定與所述原位置信息一致的目標(biāo)位置信息對應(yīng)的終選數(shù)據(jù)為原始數(shù)據(jù)。
[0012] 優(yōu)選的,對所述原始數(shù)據(jù)的指定位進(jìn)行異或得到原異或信息,包括:
[0013] 對所述原始數(shù)據(jù)中相鄰的兩位數(shù)據(jù)進(jìn)行異或,得到其長度等于所述原始數(shù)據(jù)長度 的一半的原異或信息。
[0014] 優(yōu)選的,按照指定算法對所述原始數(shù)據(jù)進(jìn)行計(jì)算得到原校驗(yàn)碼,包括:
[0015] 利用ECC校驗(yàn)算法對所述原始數(shù)據(jù)進(jìn)行計(jì)算,得到所述原校驗(yàn)碼。
[0016]優(yōu)選的,確定所述原始數(shù)據(jù)的位置信息包括:
[0017] 將具有與所述原校驗(yàn)碼一致的校驗(yàn)碼的全部數(shù)據(jù)按照預(yù)設(shè)規(guī)律進(jìn)行排序,得到數(shù) 據(jù)序列,并確定所述原始數(shù)據(jù)在所述數(shù)據(jù)序列中所處的位置為所述原位置信息。 陽01引優(yōu)選的,還包括:
[0019] 由所述指定區(qū)域中讀取到指定數(shù)據(jù),并利用ECC校驗(yàn)算法判斷所述指定數(shù)據(jù)中是 否存在錯(cuò)誤數(shù)據(jù)位,如果是,則判斷所述錯(cuò)誤數(shù)據(jù)位是否為1位,如果所述錯(cuò)誤數(shù)據(jù)位為1 位,則按照所述ECC校驗(yàn)算法得到原始數(shù)據(jù),如果所述錯(cuò)誤數(shù)據(jù)位不為1位,則獲取所述原 異或信息、原校驗(yàn)碼及原位置信息。
[0020] 一種數(shù)據(jù)恢復(fù)裝置,包括:
[0021] 讀取模塊,用于如果由指定區(qū)域讀取到的指定數(shù)據(jù)存在錯(cuò)誤,則讀取原異或信息、 原校驗(yàn)碼及原位置信息;
[0022] 異或模塊,用于預(yù)先將原始數(shù)據(jù)存儲至指定區(qū)域時(shí)對該原始數(shù)據(jù)的指定位進(jìn)行異 或得到原異或信息;
[0023]校驗(yàn)碼模塊,用于預(yù)先將原始數(shù)據(jù)存儲至指定區(qū)域時(shí)按照指定算法對該原始數(shù)據(jù) 進(jìn)行計(jì)算得到原校驗(yàn)碼;
[0024]位置模塊,用于預(yù)先將原始數(shù)據(jù)存儲至指定區(qū)域時(shí)確定該原始數(shù)據(jù)在具有與所述 原校驗(yàn)碼一致的校驗(yàn)碼的全部數(shù)據(jù)中所處的位置為原位置信息;
[00巧]生成模塊,用于生成與所述原異或信息對應(yīng)的N個(gè)初選數(shù)據(jù),并按照所述指定算 法計(jì)算每個(gè)初選數(shù)據(jù)的目標(biāo)校驗(yàn)碼;
[00%] 第一確定模塊,用于確定與所述原校驗(yàn)碼一致的目標(biāo)校驗(yàn)碼對應(yīng)的初選數(shù)據(jù)為終 選數(shù)據(jù),并確定所述終選數(shù)據(jù)在具有與所述原校驗(yàn)碼一致的校驗(yàn)碼的全部數(shù)據(jù)中所處的位 置為目標(biāo)位置信息;
[0027]第二確定模塊,用于確定與所述原位置信息一致的目標(biāo)位置信息對應(yīng)的終選數(shù)據(jù) 為原始數(shù)據(jù)。
[0028]優(yōu)選的,異或模塊包括:
[0029] 異或單元,用于對所述原始數(shù)據(jù)中相鄰的兩位數(shù)據(jù)進(jìn)行異或,得到其長度等于所 述原始數(shù)據(jù)長度的一半的原異或信息。
[0030]優(yōu)選的,校驗(yàn)碼模塊包括:
[0031]校驗(yàn)碼單元,用于利用ECC校驗(yàn)算法對所述原始數(shù)據(jù)進(jìn)行計(jì)算,得到所述原校驗(yàn) 碼。
[0032]優(yōu)選的,位置模塊包括:
[0033]位置單元,用于將具有與所述原校驗(yàn)碼一致的校驗(yàn)碼的全部數(shù)據(jù)按照預(yù)設(shè)規(guī)律進(jìn) 行排序,得到數(shù)據(jù)序列,并確定所述原始數(shù)據(jù)在所述數(shù)據(jù)序列中所處的位置為所述原位置 信息。
[0034]優(yōu)選的,還包括:
[0035]觸發(fā)獲取模塊,用于由所述指定區(qū)域中讀取到指定數(shù)據(jù),并利用ECC校驗(yàn)算法判 斷所述指定數(shù)據(jù)中是否存在錯(cuò)誤數(shù)據(jù)位,如果是,則判斷所述錯(cuò)誤數(shù)據(jù)位是否為1位,如果 所述錯(cuò)誤數(shù)據(jù)位為1位,則按照所述ECC校驗(yàn)算法得到原始數(shù)據(jù),如果所述錯(cuò)誤數(shù)據(jù)位不為 1位,則獲取所述原異或信息、原校驗(yàn)碼及原位置信息。
[0036] 本發(fā)明提供的一種數(shù)據(jù)恢復(fù)方法及裝置,該方法包括:如果由指定區(qū)域讀取到的 指定數(shù)據(jù)存在錯(cuò)誤,則讀取預(yù)先將原始數(shù)據(jù)存儲至指定區(qū)域時(shí)對該原始數(shù)據(jù)的指定位進(jìn)行 異或得到的原異或信息、按照指定算法對該原始數(shù)據(jù)進(jìn)行計(jì)算得到的原校驗(yàn)碼及該原始數(shù) 據(jù)在具有與原校驗(yàn)碼一致的校驗(yàn)碼的全部數(shù)據(jù)中所處位置的原位置信息;生成與原異或信 息對應(yīng)的N個(gè)初選數(shù)據(jù),并按照指定算法計(jì)算每個(gè)初選數(shù)據(jù)的目標(biāo)校驗(yàn)碼;確定與原校驗(yàn) 碼一致的目標(biāo)校驗(yàn)碼對應(yīng)的初選數(shù)據(jù)為終選數(shù)據(jù),并確定終選數(shù)據(jù)在具有與原校驗(yàn)碼一致 的校驗(yàn)碼的全部數(shù)據(jù)中所處的位置為目標(biāo)位置信息;確定與原位置信息一致的目標(biāo)位置信 息對應(yīng)的終選數(shù)據(jù)為原始數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本申請中當(dāng)讀取到的指定數(shù)據(jù)存在錯(cuò)誤 時(shí),利用與原始數(shù)據(jù)對應(yīng)的原異或信息得到N個(gè)初選數(shù)據(jù),進(jìn)而確定驗(yàn)證碼與原始數(shù)據(jù)的 原驗(yàn)證碼匹配的初選數(shù)據(jù)為終選數(shù)據(jù),最后確定位置信息與原始數(shù)據(jù)的原位置信息匹配的 終選數(shù)據(jù)為原始數(shù)據(jù),由此,無論指定數(shù)據(jù)中出現(xiàn)錯(cuò)誤的位數(shù)為幾位,均可W基于原異或信 息、原校驗(yàn)碼及原位置信息確定出正確的原始數(shù)據(jù),通過運(yùn)種由上述信息反推得到正確的 原始數(shù)據(jù)的糾錯(cuò)方式,保證了數(shù)據(jù)可靠性,解決了現(xiàn)有技術(shù)對RAM存儲的數(shù)據(jù)進(jìn)行糾錯(cuò)的 技術(shù)方案中存在的可靠性較低的問題。
【附圖說明】
[0037] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可W根據(jù) 提供的附圖獲得其他的附圖。
[003引圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)恢復(fù)方法的流程圖;
[0039] 圖2為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)恢復(fù)方法中執(zhí)行步驟S11至步驟S14的觸發(fā) 流程圖;
[0040] 圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)恢復(fù)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0041] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0042] 請參閱圖1,其示出了本發(fā)明實(shí)施例提供的一種數(shù)據(jù)恢復(fù)方法的流程圖,可W包括 W下步驟:
[0043] S11 :如果由指定區(qū)域讀取到的指定數(shù)據(jù)存在錯(cuò)誤,則讀取預(yù)先將原始數(shù)據(jù)存儲至 指定區(qū)域時(shí)對該原始數(shù)據(jù)的指定位進(jìn)行異或得到的原異或信息、按照指定算法對該原始數(shù) 據(jù)進(jìn)行計(jì)算得到的