[發明專利]一種FTL數據回收時掉電保護的方法有效
| 申請號: | 201410751433.0 | 申請日: | 2014-12-09 |
| 公開(公告)號: | CN105740171B | 公開(公告)日: | 2020-06-12 |
| 發明(設計)人: | 林琳;李利;王招凱;楊飛虎 | 申請(專利權)人: | 航天信息股份有限公司 |
| 主分類號: | G06F12/16 | 分類號: | G06F12/16 |
| 代理公司: | 北京工信聯合知識產權代理有限公司 11266 | 代理人: | 李勇 |
| 地址: | 100195 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 ftl 數據 回收 掉電 保護 方法 | ||
1.一種FTL數據回收時掉電保護的方法,其特征在于,包括以下步驟:
步驟(1)、FTL數據保存至Nand-Flash非易失存儲介質中,存儲FTL數據的塊為FTL塊,FTL塊中每個頁為FTL頁;
步驟(2)、初始化相關參數,計算出存儲FTL數據所需占用的頁數,把FTL頁分配給FTL塊,其中所述FTL頁分為有效FTL頁和無效FTL頁,FTL塊中有效FTL頁的數量設定為一常數;
步驟(3)、當更新FTL數據時,找到該FTL數據所在的FTL塊,在所述FTL塊中存儲最新的FTL數據,當頁邏輯地址達到塊內頁數量的最大值時,分配一個新塊作為FTL塊,并將原FTL塊中有效FTL頁中的有效FTL數據搬移至新FTL塊;
步驟(4)、如果系統在搬移有效FTL數據至新FTL塊時意外掉電,再次上電初始化時,掃描所有的FTL塊并對FTL數據是否有效進行分析;
步驟(5)、當所述FTL塊中有效FTL頁數量小于所述設定的常數時,則表明該FTL塊中的有效FTL數據未被完全搬移,擦除該FTL塊,恢復至更新前的FTL數據。
2.根據權利要求1所述的FTL數據回收時掉電保護的方法,其特征在于:所述步驟(2)中具體包括:
系統初始化相關參數,根據Nand-Flash的頁大小、每個頁物理地址的存儲空間占用字節數和Nand-Flash所有有效使用頁的數量,計算出存儲FTL數據所需占用的頁數;
把FTL頁平均分配給若干個FTL塊;
FTL頁通過更新標識區分為有效FTL頁和無效FTL頁;
FTL塊中有效FTL頁的數量設定為一常數。
3.根據權利要求1或2所述的FTL數據回收時掉電保護的方法,其特征在于:設定的所述常數小于FTL塊中最大頁數量的1/4。
4.根據權利要求1所述的FTL數據回收時掉電保護的方法,其特征在于:所述步驟(3)具體包括:
當更新FTL數據時,對一虛擬地址寫入FTL數據,根據所述虛擬地址計算出該FTL數據所在的FTL塊,將所述FTL數據寫入所述FTL塊中;
判斷所述FTL塊是否已經寫滿;
如果未寫滿,按照頁邏輯地址遞增的順序存儲最新的FTL數據后執行結束;
如果已經寫滿即當頁邏輯地址達到FTL塊內頁數量的最大值時,則分配一個新塊作為FTL塊;
搬移原FTL塊中有效FTL頁中的有效FTL數據至所述新FTL塊;
搬移成功后將原FTL塊擦除釋放。
5.根據權利要求1或2或4任一所述的FTL數據回收時掉電保護的方法,其特征在于:如果系統在搬移有效FTL數據至新FTL塊時意外掉電,則執行所述步驟(4)和(5),具體包括:
再次上電時初始化所述步驟(2)中的相關參數;
從所述Nand-Flash的第0塊開始,掃描所述塊第0頁;
判斷當前塊是否為FTL塊;
如果該塊為FTL塊,分析該塊內的所有FTL頁,并計算出該FTL塊內所有FTL頁編號的個數;
判斷該FTL頁編號的個數是否符合初始化時設定的所述常數;
如果不符合,則擦除該FTL塊,并將從該FTL塊中讀出的FTL數據丟棄;
當判斷當前塊為非FTL塊或者判斷FTL頁編號的個數符合所述常數或者擦除該FTL塊后,判斷該塊是否為所述Nand-Flash最后一個塊;
如果該塊不是所述Nand-Flash最后一個塊,則將塊號加1后返回判斷當前塊是否為FTL塊的步驟;
如果該塊是所述Nand-Flash最后一個塊,則執行結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于航天信息股份有限公司,未經航天信息股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410751433.0/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





