[發明專利]一種寫入和檢測數據的方法及裝置在審
| 申請號: | 201410283450.6 | 申請日: | 2014-06-23 |
| 公開(公告)號: | CN104035883A | 公開(公告)日: | 2014-09-10 |
| 發明(設計)人: | 邱東升 | 申請(專利權)人: | 北京君正集成電路股份有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京眾合誠成知識產權代理有限公司 11246 | 代理人: | 龔燮英 |
| 地址: | 100193 北京市海淀區東北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 寫入 檢測 數據 方法 裝置 | ||
技術領域
本發明涉及通信電子技術領域,尤其涉及一種寫入和檢測數據的方法及裝置。
背景技術
目前NandFlash存儲技術已經被廣泛的應用在智能設備中,其以方便、快捷以及大容量的存儲量占據了一定市場優勢。NandFlash包括四種類型,其中三種類型如下:
第一種,多層單元閃存(MLC?NandFlash),其特點是每個硬件單元中存儲2位數據;
第二種,TLC?NandFlash,其特點是每個硬件單元存儲3位數據;
第三種,QLC?NandFlash,其特點是每個硬件單元存儲4位數據。
NandFlash中包括多個塊(Block),每個Block中存儲了一組頁(Page),數據通過SharedPage方式存儲于NandFLash中,以MLC?NandFlash為例數據存儲方式如下,參考圖1:
由于MLC的每個硬件單元可存儲兩位數據,其中存儲低位數據的被稱為LSBPage,存儲高位數據的被稱為MSBPage,假設圖1中Page0用于存儲LSBPage所對應的數據,Page6中用于存儲MSBpage所對應的數據,則Page0和Page6共用NandFlash中的一組硬件單元,當Page6中的數據損壞后則會直接影響Page0中的數據,即為SharedPage方式。用戶可通過文件系統向NandFlash中的Page按順序寫入數據。
但本發明人發現由于SharedPage方式中存在了對應的Page之間的關聯方式,導致如果在進行某些原子寫操作時,遇到突然斷電的情況時會導致當前正在寫的Page數據丟失,并直接影響與該Page對應的Page的數據丟失或者錯誤,而原子寫操作是不可被打斷也不可出現錯誤的。如圖2所示,例如當文件系統正在連續進行兩個原子寫操作時,第一個原子寫操作已經寫完,且寫到了Page0?~Page5中,第二個原子寫操作需要寫到Page6?~?Page11,但在寫到Page8的時候,出現了異常斷電的情況,Page8損壞,根據SharedPage的特性,Page3也可能被損壞。當再次開機時,若在文件系統運行中需讀取Page3的數據時,如果Page3數據已損壞,則文件系統將會拿到錯誤的數據。這種問題輕則導致已寫入的文件損壞,重則導致文件系統無法正常運行。
發明內容
本發明提供一種寫入和檢測數據的方法及裝置,用于解決在斷電或者系統出錯的情況下避免使用之前寫入錯誤的數據而導致文件損壞系統不能正常運行的情況出現。
一種寫入數據的方法,所述方法包括:
判斷是否為第一次寫操作,如果是,則在當前存儲單元中的起始頁中寫入下一存儲單元的起始地址信息;如果不是,在所述起始頁中寫入下一存儲單元的起始地址信息以及上一存儲單元的起始地址信息;所述當前存儲單元與所述下一存儲單元中的數據相對應。
一種檢測數據的方法,所述方法包括:
步驟A,判斷當前存儲單元中的數據是否正確,如果不正確,找到當前頁所在的當前存儲單元的起始頁,從該起始頁中提取上一存儲單元的起始地址信息,并丟棄當前存儲單元中的數據;
步驟B,判斷上一存儲單元的起始地址信息所指向的數據是否正確,如果不正確,將所述上一存儲單元中的數據丟棄,并將所述上一存儲單元的上一級存儲單元作為當前存儲單元并執行步驟A。
一種寫入數據的裝置,所述裝置包括:
寫入判斷單元,用于判斷是否為第一次寫操作;
操作單元,用于當所述寫入判斷單元確定是第一次寫操作時,則在當前存儲單元中的起始頁中寫入下一存儲單元的起始地址信息;當所述寫入判斷單元確定不是第一次寫操作時,在所述起始頁中寫入下一存儲單元的起始地址信息以及上一存儲單元的起始地址信息。
一種檢測數據的裝置,所述裝置包括:
檢測判斷單元,用于判斷當前存儲單元中的數據是否正確;以及,判斷上一存儲單元的起始地址信息所指向的數據是否正確;
處理單元,用于當所述檢測判斷單元確定所述當前存儲單元中的數據正確時,找到當前頁所在的當前存儲單元的起始頁,從該起始頁中提取上一存儲單元的起始地址信息,并丟棄當前存儲單元中的數據;當所述檢測判斷單元確定上一存儲單元的起始地址信息所指向的數據不正確時,將所述上一存儲單元中的數據丟棄,并將所述上一存儲單元的上一級存儲單元作為當前存儲單元。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京君正集成電路股份有限公司,未經北京君正集成電路股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410283450.6/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





