[發明專利]一種通過軟件實現磁盤陣列中的緩存掉電保護方法無效
| 申請號: | 201110392516.1 | 申請日: | 2011-12-01 |
| 公開(公告)號: | CN102508727A | 公開(公告)日: | 2012-06-20 |
| 發明(設計)人: | 呂爍;楊帆 | 申請(專利權)人: | 浪潮電子信息產業股份有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 250014 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 通過 軟件 實現 磁盤陣列 中的 緩存 掉電 保護 方法 | ||
1.一種通過軟件實現磁盤陣列中的緩存掉電保護方法,其特征在于,是在整個高端盤陣系統掉電時,在UPS持續供電結束前將所有控制器中的緩存數據刷寫到指定磁盤上,確保緩存數據不丟失,系統包括:1)臟頁搜索模塊、2)IO錯誤處理模塊、3)并發處理模塊、4)元數據組織模塊和5)數據寫入模塊,其中:
所述1)臟頁搜索模塊與所述數據寫入模塊相連,用以搜索到內存中的臟頁,并調用數據寫入模塊將數據寫入到后端磁盤;
所述2)IO錯誤處理模塊與所述數據寫入模塊相連,用于處理將已經遞交到后端設備但還沒有返回的IO請求的處理;
所述3)并發處理模塊,用于屏蔽內核中并發的寫請求,使得處于調電狀態后數據僅由數據寫入模塊寫入后端磁盤;
所述4)元數據組織模塊與數據寫入模塊相連,用于組織數據,通知數據寫入模塊將數據寫入后端磁盤的固定位置;
所述5)數據寫入模塊與元數據組織模塊相連,用于將數據寫入到后端磁盤的固定位置;
緩存掉電數據保護步驟如下:
1)在UPS斷電時,由控制器管理進行檢測,通過在內核中新增加/proc/sys/vm/upsup?接口來通知內核此時系統已經在UPS供電方式下,緩存中的數據需要保護;
2)為了處理正在往JBOD上遞交寫請求但還沒有返回給內核的這種情況,包括如下步驟:
(1)此時系統掉電,需要在IO處理回調函數中進行錯誤識別,將寫到JBOD后端出錯的頁加入到指定的臟鏈表中頁,寫到后端JBOD的出錯處理觸發臟頁搜索模塊中,在檢測到系統掉電時,啟動臟頁搜索線程,將緩存內的臟頁搜索出來,并將臟頁寫到指定的磁盤上元數據與數據處理模塊:
(2)除了需要將數據塊寫到分區設備上外,還需要將數據塊的描述信息寫到分區設備上,如數據塊在后端存儲設備上的設備號,邏輯塊地址,長度數據恢復模塊:
(3)系統重新啟動后,需要判斷后端的JBOD是否可以訪問,如果是FINISH_FLUSHED標識,則表示需要啟動數據刷寫過程,首先從描述信息中讀取數據塊的描述信息,其記錄了對應的數據塊應該寫到后端磁盤上的哪個位置,然后根據描述信息中的索引計算數據塊在本地分區中的偏移量(1M+64K+1G+index*512B),由于需要寫入的后端磁盤不止一個,需要記錄塊設備與文件的對應關系鏈表,以便寫入時從查找對應的文件指針,從系統分區盤中讀出相應的塊數據,然后根據描述符的設備號以及在塊設備上的偏移量,將讀取的數據寫入后端設備的指定位置,當所有的數據往后端JBOD刷寫完成后,將超級塊標識清除,設置成FINISH_CLEAR;如果是FINISH_CLEAR標識,則不需要做任何處理,直接返回,將從描述信息中讀取的索引號經轉換計算得到指定分區上的偏移量,然后將讀取的數據寫入描述信息中記錄的后端JBOD上的指定位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮電子信息產業股份有限公司,未經浪潮電子信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110392516.1/1.html,轉載請聲明來源鉆瓜專利網。





