[發(fā)明專利]一種非易失性內(nèi)存的磨損錯誤恢復(fù)方法和裝置無效
| 申請?zhí)枺?/td> | 201310024118.3 | 申請日: | 2013-01-22 |
| 公開(公告)號: | CN103092728A | 公開(公告)日: | 2013-05-08 |
| 發(fā)明(設(shè)計)人: | 胡事民;朱龍云;趙鵬;廖學(xué)良 | 申請(專利權(quán))人: | 清華大學(xué) |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14 |
| 代理公司: | 北京清亦華知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11201 | 代理人: | 張大威 |
| 地址: | 100084 北京*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 非易失性 內(nèi)存 磨損 錯誤 恢復(fù) 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,特別涉及一種非易失性內(nèi)存的磨損錯誤恢復(fù)方法和裝置。
背景技術(shù)
在非易失存儲介質(zhì)發(fā)展的過程中,新興的非易失性內(nèi)存NVRAM(Non-Volatile?Random?Access?Memory,非易失性隨機訪問存儲器)正在逐步成為易失性內(nèi)存的可替代產(chǎn)品。與DRAM(Dynamic?Random?Access?Memory,動態(tài)隨機存取存儲器)相比,非易失性內(nèi)存例如PCRAM(Phase-Change?Memory,相變存儲內(nèi)存),兩者的訪問速度相近,但在相同芯片面積上PCRAM可以提供更大的容量,擴展性更好,能耗低,且有數(shù)據(jù)非易失等特點。然而,大部分非易失性內(nèi)存技術(shù)包括PCRAM技術(shù)在內(nèi),都存在磨損問題,非易失性內(nèi)存的存儲單元在寫操作超過一定次數(shù)后,都會出現(xiàn)磨損錯誤,例如對于PCRAM的存儲單元,其寫次數(shù)上限為108—1010次。當PCRAM的寫次數(shù)超過該閾值時,PCRAM的存儲單元的值將固化在某一狀態(tài)上,例如為0或1,造成該bit(binary?digit,位)存儲單元的數(shù)據(jù)不能寫入,從而引起PCRAM存儲單元的磨損錯誤,造成該單元數(shù)據(jù)不能繼續(xù)寫入。如此便降低了非易失內(nèi)存的可靠性,縮短了其使用壽命。
發(fā)明內(nèi)容
本發(fā)明的目的旨在至少解決上述的技術(shù)缺陷之一。為此,本發(fā)明的第一個目的在于提出一種非易失性內(nèi)存的磨損錯誤恢復(fù)方法,采用該方法能夠提高非易失性內(nèi)存的可靠性,延長其使用壽命。本發(fā)明的第二個目的在于提出一種非易失性內(nèi)存的磨損錯誤恢復(fù)裝置。
為達到上述目的,本發(fā)明第一方面實施例提出一種非易失性內(nèi)存的磨損錯誤恢復(fù)方法,包括以下步驟:S1,將非易失性內(nèi)存行劃分為多個內(nèi)存塊;S2,檢測所述多個內(nèi)存塊中發(fā)生磨損錯誤的內(nèi)存塊;S3,將所述發(fā)生磨損錯誤的內(nèi)存塊重映射到備份內(nèi)存塊中;以及,S4,將所述發(fā)生磨損錯誤的內(nèi)存塊中的內(nèi)存地址讀寫請求重定向到所述備份內(nèi)存塊中的備份內(nèi)存地址。
根據(jù)本發(fā)明實施例的非易失性內(nèi)存的磨損錯誤恢復(fù)方法,通過將發(fā)生磨損錯誤的內(nèi)存塊重映射到備份內(nèi)存塊中,并在進行讀寫請求時,將發(fā)生磨損錯誤的內(nèi)存塊的讀寫請求重定向到其映射地址,提高了非易失性內(nèi)存的可靠性,延長了使用壽命。
較優(yōu)地,所述步驟S2具體包括:在所述多個內(nèi)存塊中的一個內(nèi)存塊寫入數(shù)據(jù)后,讀取所述一個內(nèi)存塊中的數(shù)據(jù),并將所述一個內(nèi)存塊中的數(shù)據(jù)與寫入的數(shù)據(jù)進行比對;若所述一個內(nèi)存塊中的數(shù)據(jù)與所述寫入的數(shù)據(jù)不相符,則判斷所述一個內(nèi)存塊發(fā)生磨損錯誤。
進一步地,所述步驟S3具體包括:判斷所述發(fā)生磨損錯誤的內(nèi)存塊所處的內(nèi)存行是否為首次發(fā)生磨損錯誤;如果是,觸發(fā)操作系統(tǒng)中斷,所述操作系統(tǒng)重新分配備份非易失性內(nèi)存行,并將所述備份內(nèi)存行的地址指針寫入到所述內(nèi)存行的元數(shù)據(jù)位置;如果否,從所述發(fā)生磨損錯誤的內(nèi)存塊所處的內(nèi)存行的元數(shù)據(jù)中讀取已分配的所述備份內(nèi)存行的映射地址指針。
另外,在所述步驟S3中,還包括:將所述備份內(nèi)存塊所處的備份內(nèi)存行的地址指針以N重冗余形式寫入所述發(fā)生磨損錯誤的內(nèi)存塊中,其中,N為正整數(shù)。
將地址指針以N重冗余形式寫入內(nèi)存塊中,能夠保證寫入的地址指針被正確讀取。
其中,所述備份內(nèi)存地址為所述備份內(nèi)存行的映射地址指針指向的映射地址。
為實現(xiàn)上述目的,本發(fā)明的第二方面實施例提出一種非易失性內(nèi)存的磨損錯誤恢復(fù)裝置,包括:劃分模塊,用于將非易失性內(nèi)存行劃分為多個內(nèi)存塊;檢測模塊,用于檢測所述多個內(nèi)存塊中發(fā)生磨損錯誤的內(nèi)存塊;重映射模塊,用于將所述發(fā)生磨損錯誤的內(nèi)存塊重映射到備份內(nèi)存塊中;以及,重定向模塊,用于將所述發(fā)生磨損錯誤的內(nèi)存塊中的內(nèi)存地址讀寫請求重定向到所述備份內(nèi)存塊中的備份內(nèi)存地址。
根據(jù)本發(fā)明實施例的非易失性內(nèi)存的磨損錯誤恢復(fù)裝置,通過重映射模塊將發(fā)生磨損錯誤的內(nèi)存塊重映射到備份內(nèi)存塊中,并在進行讀寫請求時,由重定向模塊將發(fā)生磨損錯誤的內(nèi)存塊的讀寫請求重定向到其映射地址,提高了非易失性內(nèi)存的可靠性,延長了使用壽命。
進一步地,所述檢測模塊還用于在所述多個內(nèi)存塊中的一個內(nèi)存塊寫入數(shù)據(jù)后,讀取所述一個內(nèi)存塊中的數(shù)據(jù),并將所述一個內(nèi)存塊中的數(shù)據(jù)與寫入的數(shù)據(jù)進行比對,以及在所述一個內(nèi)存塊中的數(shù)據(jù)與所述寫入的數(shù)據(jù)不相符時判斷所述一個內(nèi)存塊發(fā)生磨損錯誤。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于清華大學(xué),未經(jīng)清華大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310024118.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





