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





