亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

調度io的方法和裝置制造方法

文檔序號:6521811閱讀:272來源:國知局
調度io的方法和裝置制造方法
【專利摘要】本發(fā)明實施例提供一種調度IO的方法和裝置,該方法包括:接收主機發(fā)送的第一讀IO,該第一讀IO用于讀取RAID的第一存儲區(qū)域中的第一數據;根據該第一讀IO和重構預讀IO生成第二讀IO,其中該重構預讀IO用于讀取該RAID的第二存儲區(qū)域中的第二數據,該第二存儲區(qū)域與該第一存儲區(qū)域具有至少部分交疊的存儲區(qū)域,該第二讀IO用于讀取該RAID的第三存儲區(qū)域中的第三數據,該第三存儲區(qū)域包括該至少部分交疊的存儲區(qū)域;向該RAID發(fā)送該第二讀IO。本發(fā)明實施例中,第一讀IO與重構預讀IO訪問的存儲區(qū)域部分交疊,利用第二讀IO讀取交疊部分的存儲區(qū)域,減少不同數據流對相同存儲區(qū)域的重復訪問,進而減少硬盤負擔,避免系統(tǒng)帶寬的浪費。
【專利說明】調度IO的方法和裝置
【技術領域】
[0001]本發(fā)明實施例涉及數據處理領域,更為具體地,涉及一種調度IO的方法和裝置。【背景技術】
[0002]RAID (Redundant Arrays of Independent Disks,獨立磁盤冗余陣列)將不同硬盤組成陣列的形式進行數據的存儲與讀寫。RAID (RAID0除外)具有冗余性,可以在單盤故障的情況下,對故障盤進行數據重構,并將重構后的數據寫入RAID的熱備存儲區(qū)域(又稱熱備空間,例如可以是熱備盤)中,以保證RAID數據的完整性、正確性以及一致性。
[0003]主機下發(fā)的數據流包括主機的讀IO (Input Output,輸入輸出)和主機的寫10。當主機下發(fā)的數據流對正在重構或待重構的存儲空間進行訪問時,重構數據流(重構預讀IO和重構寫10)與主機下發(fā)的數據流之間會分別對同一存儲空間進行多次訪問,增加硬盤負擔,浪費系統(tǒng)資源。

【發(fā)明內容】

[0004]本發(fā)明實施例提供一種調度IO的方法和裝置,以減少硬盤負擔,避免系統(tǒng)帶寬浪費。
[0005]第一方面,提供一種調度IO的方法,包括:接收主機發(fā)送的第一讀10,所述第一讀IO用于讀取RAID的第一存儲區(qū)域中的第一數據;根據所述第一讀IO和重構預讀IO生成第二讀10,其中所述重構預讀IO用于讀取所述RAID的第二存儲區(qū)域中的第二數據,所述第二存儲區(qū)域與所述第一存儲區(qū)域具有至少部分交疊的存儲區(qū)域,所述第二讀IO用于讀取所述RAID的第三存儲區(qū)域中的第三數據,所述第三存儲區(qū)域包括所述至少部分交疊的存儲區(qū)域;向所述RAID發(fā)送所述第二讀10。
[0006]結合第一方面,在第一方面的一種實現方式中,所述第三存儲區(qū)域為所述RAID的非故障存儲區(qū)域,且所述第三存儲區(qū)域包括所述第一存儲區(qū)域和所述第二存儲區(qū)域,所述根據所述第一讀IO和重構預讀IO生成第二讀10,包括:將所述第一讀IO和所述重構預讀IO合并為所述第二讀10。
[0007]結合第一方面或其上述實現方式的任一種,在第一方面的另一種實現方式中,還包括:根據所述第二讀10,從所述RAID接收所述第三數據;向所述主機返回包含在所述第三數據中的所述第一數據;根據包含在所述第三數據中的第二數據,重構所述RAID的故障存儲區(qū)域中的數據。
[0008]結合第一方面或其上述實現方式的任一種,在第一方面的另一種實現方式中,還包括:接收所述主機發(fā)送的寫10,所述寫IO用于將第四數據寫入所述RAID的第四存儲區(qū)域,其中所述第四存儲區(qū)域位于所述RAID的故障存儲區(qū)域;將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域。
[0009]結合第一方面或其上述實現方式的任一種,在第一方面的另一種實現方式中,所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域。[0010]結合第一方面或其上述實現方式的任一種,在第一方面的另一種實現方式中,所述將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域,包括:當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域;當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構所述第四存儲區(qū)域時,根據所述日志信息將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域,其中所述日志信息用于指示所述寫IO的邏輯地址。
[0011]第二方面,提供一種調度IO的方法,包括:接收主機發(fā)送的寫10,所述寫IO用于將第四數據寫入RAID的第四存儲區(qū)域,其中所述第四存儲區(qū)域位于所述RAID的故障存儲區(qū)域;將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域。
[0012]結合第二方面,在第二方面的一種實現方式中,所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域。
[0013]結合第二方面或其上述實現方式的任一種,在第二方面的另一種實現方式中,所述將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域,包括:當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域;當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構所述第四存儲區(qū)域時,根據所述日志信息將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域,其中所述日志信息用于指示所述寫IO的邏輯地址。
[0014]第三方面,提供一種調度IO的裝置,其特征在于,包括:第一接收單元,用于接收主機發(fā)送的第一讀10,所述第一讀IO用于讀取RAID的第一存儲區(qū)域中的第一數據;生成單元,用于根據所述第一接收單元接收到的所述第一讀IO和重構預讀IO生成第二讀10,其中所述重構預讀IO用于讀取所述RAID的第二存儲區(qū)域中的第二數據,所述第二存儲區(qū)域與所述第一存儲區(qū)域具有至少部分交疊的存儲區(qū)域,所述第二讀IO用于讀取所述RAID的第三存儲區(qū)域中的第三數據,所述第三存儲區(qū)域包括所述至少部分交疊的存儲區(qū)域;第一發(fā)送單元,用于向所述RAID發(fā)送所述生成單元生成的所述第二讀10。
[0015]結合第三方面,在第三方面的一種實現方式中,所述第三存儲區(qū)域為所述RAID的非故障存儲區(qū)域,且所述第三存儲區(qū)域包括所述第一存儲區(qū)域和所述第二存儲區(qū)域,所述生成單元具體用于將所述第一讀IO和所述重構預讀IO合并為所述第二讀10。
[0016]結合第三方面或其上述實現方式的任一種,在第三方面的另一種實現方式中,所述裝置還包括:第二接收單元,用于根據所述第二讀10,從所述RAID接收所述第三數據;第二發(fā)送單元,用于向所述主機返回包含在所述第二接收單元接收的所述第三數據中的所述第一數據;重構單元,用于根據包含在第二接收單元接收的所述第三數據中的第二數據,重構所述RAID的故障存儲區(qū)域中的數據。
[0017]結合第三方面或其上述實現方式的任一種,在第三方面的另一種實現方式中,還包括:第三接收單元,用于接收所述主機發(fā)送的寫10,所述寫IO用于將第四數據寫入所述RAID的第四存儲區(qū)域,其中所述第四存儲區(qū)域位于所述RAID的故障存儲區(qū)域;寫入單元,用于將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域。
[0018]結合第三方面或其上述實現方式的任一種,在第三方面的另一種實現方式中,所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域。
[0019]結合第三方面或其上述實現方式的任一種,在第三方面的另一種實現方式中,所述寫入單元具體用于當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域;當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構所述第四存儲區(qū)域時,根據所述日志信息將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域,其中所述日志信息用于指示所述寫IO的邏輯地址。
[0020]第四方面,提供一種調度IO的裝置,其特征在于,包括:接收單元,用于接收主機發(fā)送的寫10,所述寫IO用于將第四數據寫入RAID的第四存儲區(qū)域,其中所述第四存儲區(qū)域位于所述RAID的故障存儲區(qū)域;寫入單元,用于將所述接收單元接收的所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域。
[0021]結合第四方面,在第四方面的一種實現方式中,所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域。
[0022]結合第四方面或其上述實現方式的任一種,在第四方面的另一種實現方式中,所述寫入單元具體用于當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域;當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構所述第四存儲區(qū)域時,根據所述日志信息將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域,其中所述日志信息用于指示所述寫IO的邏輯地址。
[0023]本發(fā)明實施例中,第一讀IO與重構預讀IO訪問的存儲區(qū)域部分交疊,利用第二讀IO讀取交疊部分的存儲區(qū)域,減少不同數據流對相同存儲區(qū)域的重復訪問,進而減少硬盤負擔,避免系統(tǒng)帶寬的浪費。
【專利附圖】

【附圖說明】
[0024]為了更清楚地說明本發(fā)明實施例的技術方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0025]圖1是根據本發(fā)明實施例的調度IO的方法的結構框架圖。
[0026]圖2是根據本發(fā)明實施例的調度IO的方法的示意性流程圖。
[0027]圖3是根據本發(fā)明實施例的調度IO的方法的示意性流程圖。
[0028]圖4是根據本發(fā)明實施例的調度IO的方法的流程圖。
[0029]圖5是根據本發(fā)明實施例的調度IO的方法的流程圖。
[0030]圖6是根據本發(fā)明實施例的調度IO的裝置的示意性框圖。
[0031]圖7是根據本發(fā)明另一實施例的調度IO的裝置的示意性框圖。
[0032]圖8是根據本發(fā)明另一實施例的調度IO的裝置的示意性框圖。
[0033]圖9是根據本發(fā)明另一實施例的調度IO的裝置的示意性框圖。
【具體實施方式】[0034]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應屬于本發(fā)明保護的范圍。
[0035]在現有技術中,由于RAID具有冗余性,當RAID中的某個存儲區(qū)域出現故障時(例如硬盤發(fā)生故障),可以對該存儲區(qū)域中的數據進行恢復,該過程即為存儲區(qū)域的數據重構過程。在該數據重構過程中,發(fā)生故障的存儲區(qū)域可以分為正在重構的存儲區(qū)域和待重構的存儲區(qū)域。當主機數據流與重構數據流對RAID進行訪問時,基于故障存儲區(qū)域的上述劃分,采用不同的IO調度策略,減少不同數據流對相同存儲區(qū)域的重復訪問,進而降低硬盤負擔,避免系統(tǒng)帶寬的浪費。
[0036]具體地,如圖1所示,RAID130由n個磁盤組成,在主機的緩存110與RAID130之間設置“緩存-RAID適配器”(Cache-RAID Adaptor,簡稱CRA),可通過CRA控制根據本發(fā)明實施例的IO的調度,以降低相同存儲區(qū)域的重復訪問。該CRA可以是邏輯的功能實體,也可以是獨立的硬件裝置,本發(fā)明實施例對此不作具體限定。
[0037]圖2是根據本發(fā)明實施例的調度IO的方法的示意性流程圖。圖2的方法可由圖1中的CRA執(zhí)行。該方法包括:
[0038]210、接收主機發(fā)送的第一讀10,第一讀IO用于讀取RAID的第一存儲區(qū)域中的第
一數據。
[0039]220、根據第一讀IO和重構預讀IO生成第二讀10,其中重構預讀IO用于讀取RAID的第二存儲區(qū)域中的第二數據,第二存儲區(qū)域與第一存儲區(qū)域具有至少部分交疊的存儲區(qū)域,第二讀IO用于讀取RAID的第三存儲區(qū)域中的第三數據,第三存儲區(qū)域包括至少部分交置的存儲區(qū)域。
[0040]應理解,本發(fā)明實施例對步驟210中的第一存儲區(qū)域的具體位置不作限定,例如,第一存儲區(qū)域可以全部位于RAID的非故障存儲區(qū)域,也可以一部分位于RAID的非故障存儲區(qū)域、一部分位于RAID的故障存儲區(qū)域。
[0041]上述第三存儲區(qū)域可以是第一存儲區(qū)域和第二存儲區(qū)域的交疊區(qū)域,或者是第一存儲區(qū)域,或者是第三存儲區(qū)域,或者是第一存儲區(qū)域和第三存儲區(qū)域之和(即第一存儲區(qū)域和第三存儲區(qū)域的合集,假設第一存儲區(qū)域對應的存儲地址1000H?2000H,第三存儲區(qū)域的存儲地址為1050H?2050H,則第一存儲區(qū)域和第三存儲區(qū)域的合集為1000H?2050H),本發(fā)明實施例對此不作具體限定。
[0042]重構預讀IO是重構數據流的一部分,目的是通過讀取非故障存儲區(qū)域中的數據來重構故障存儲區(qū)域的數據。當第一讀IO與故障區(qū)域中某個重構預讀IO讀取的存儲區(qū)域部分重疊時,即可生成上述第二讀10。
[0043]230、向 RAID 發(fā)送第二讀 10。
[0044]本發(fā)明實施例中,第一讀IO與重構預讀IO訪問的存儲區(qū)域部分交疊,利用第二讀IO讀取交疊部分的存儲區(qū)域,減少不同數據流對相同存儲區(qū)域的重復訪問,進而減少硬盤負擔,避免系統(tǒng)帶寬的浪費。
[0045]可選地,作為一個實施例,第三存儲區(qū)域為RAID的非故障存儲區(qū)域,且第三存儲區(qū)域包括第一存儲區(qū)域和第二存儲區(qū)域,步驟220可包括:將第一讀IO和重構預讀IO合并為第二讀10。
[0046]具體地,在該實施例下,第三存儲區(qū)域可全部位于非故障存儲區(qū)域,第三存儲區(qū)域可取第一存儲區(qū)域和第二存儲區(qū)域的并集,上述將第一讀IO和重構預讀IO合并為第二讀IO具體可指:生成第二讀10,該第二讀IO讀取的存儲空間是第一讀IO和重構預讀IO讀取的存儲空間之和。
[0047]進一步地,圖2方法還可包括:根據第二讀10,從RAID接收第三數據;向主機返回包含在第三數據中的第一數據;根據包含在第三數據中的第二數據,重構RAID的故障存儲區(qū)域中的數據。
[0048]具體地,RAID根據第二讀IO將上述第三數據返回至CRA,由于第三存儲空間包括第一存儲空間和第二存儲空間,所以第三數據中包括第一數據和第二數據。當CRA獲得第三數據時,可以優(yōu)先向主機返回第一讀IO對應的第一數據,再根據第二數據異步計算重構數據,進而完成重構數據的下盤(即將重構數據寫入RAID的熱備存儲區(qū)域)。
[0049]可選地,作為另一個實施例,圖1的方法還可包括:接收主機發(fā)送的寫10,寫IO用于將第四數據寫入RAID的第四存儲區(qū)域,其中第四存儲區(qū)域位于RAID的故障存儲區(qū)域;將第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域。
[0050]本發(fā)明實施例中,通過將主機發(fā)送的寫IO的數據作為重構數據寫入RAID的熱備存儲區(qū)域,避免了重構寫IO和主機寫IO對同一熱備存儲區(qū)域的多次寫操作,避免了系統(tǒng)帶寬的浪費。
[0051]上述將第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域具體可指:將第四數據存儲至所述RAID的熱備存儲區(qū)域中的、用于存儲所述第四存儲區(qū)域的重構數據的存儲區(qū)域。
[0052]舉例說明,當數據重構以CHUNK為單位進行時,假設當前正在重構第i CHUNK,且第四存儲區(qū)域為該第i CHUNK中的存儲區(qū)域,那么在熱備存儲區(qū)域會建立一個與第i CHUNK對應的存儲區(qū)域i,用于存儲第i CHUNK的重構數據,此時僅需要將第四數據寫入該存儲區(qū)域i對應位置即可。
[0053]進一步地,如果第四存儲區(qū)域為待重構的存儲區(qū)域(不屬于第i CHUNK,屬于還未重構的CHUNK)時,可以采用預先劃分的方式,預先建立所有待重構的CHUNK在熱備存儲空間的對應區(qū)域,以存儲各自的重構數據。此時,即可根據預先劃分好的存儲區(qū)域,將第四數據存入熱備空間的對應位置即可。需要說明的是,為了避免重構第四存儲區(qū)域時,重構數據覆蓋了該寫IO的數據,可以先檢測第四存儲區(qū)域是否已經寫入了主機寫IO的數據,如果已經寫入主機寫10,則可以跳過第四存儲區(qū)域,繼續(xù)下一存儲區(qū)域的數據重構。
[0054]本發(fā)明實施例中,通過將主機發(fā)送的寫IO的數據作為重構數據寫入RAID的熱備存儲區(qū)域,避免了重構寫IO和主機寫IO對同一熱備存儲區(qū)域的多次寫操作,進而減少硬盤負擔,避免了系統(tǒng)帶寬的浪費。
[0055]應理解,上述第四存儲區(qū)域可以是正在重構的存儲區(qū)域或者待重構的存儲區(qū)域。當上述第四存儲區(qū)域為正在重構的存儲區(qū)域時,如果第四存儲區(qū)域中的數據還未重構成功,可以直接將該第四數據作為該第四存儲區(qū)域的重構數據;如果第四存儲區(qū)域已經重構完成,準備下盤,則可用該第四數據替換第四存儲區(qū)域中的重構數據,再寫入硬盤中。
[0056]可選地,作為另一個實施例,將第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域可包括:當第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域;當第四存儲區(qū)域為故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構第四存儲區(qū)域時,根據日志信息將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域,其中日志信息用于指示寫IO的邏輯地址。
[0057]具體地,上述日志信息可包括上述第四數據的內容、故障盤的邏輯ID、邏輯塊地址(LBA, Logic Block Address)、邏輯塊長度等,以便后續(xù)利用元數據和數據的映射關系恢復上述第四數據。
[0058]圖3是根據本發(fā)明實施例的調度IO的方法的示意性流程圖。圖3的方法可由圖1中的CRA執(zhí)行。該方法包括:
[0059]310、接收主機發(fā)送的寫10,寫IO用于將第四數據寫入RAID的第四存儲區(qū)域,其中第四存儲區(qū)域位于RAID的故障存儲區(qū)域;
[0060]320、將第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域。
[0061]本發(fā)明實施例中,通過將主機發(fā)送的寫IO的數據作為重構數據寫入RAID的熱備存儲區(qū)域,避免了重構寫IO和主機寫IO對同一熱備存儲區(qū)域的多次寫操作,避免了系統(tǒng)帶寬的浪費。
[0062]可選地,作為一個實施例,第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域。
[0063]可選地,作為另一個實施例,步驟320可包括:當第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域;當第四存儲區(qū)域為故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構第四存儲區(qū)域時,根據日志信息將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域,其中日志信息用于指示寫IO的邏輯地址。
[0064]下面結合具體例子,更加詳細地描述本發(fā)明實施例。應注意,圖4至圖5的例子僅僅是為了幫助本領域技術人員理解本發(fā)明實施例,而非要將本發(fā)明實施例限于所例示的具體數值或具體場景。本領域技術人員根據所給出的圖4至圖5的例子,顯然可以進行各種等價的修改或變化,這樣的修改或變化也落入本發(fā)明實施例的范圍內。
[0065]圖4是根據本發(fā)明實施例的調度IO的方法的流程圖。圖4的方法可以由圖1中的CRA執(zhí)行。在圖4的實施例中,主機發(fā)送的第一讀IO用于讀取第一存儲區(qū)域中的第一數據,該實施例以第一存儲區(qū)域為非故障存儲區(qū)域為例進行說明,當第一存儲區(qū)域位于故障存儲區(qū)域時,可以采用降級讀的方式,先記錄第一讀IO的日志,以便該故障存儲區(qū)域的數據重構后,根據該日志向主機返回第一數據。
[0066]410、接收主機發(fā)送的第一讀10。
[0067]該第一讀IO用于讀取RAID的第一存儲區(qū)域中的第一數據。
[0068]420、判斷第一讀IO與重構預讀IO是否可以合并,如果是,執(zhí)行步驟430 ;如果否,執(zhí)行步驟440。
[0069]具體地,可以搜索重構數據流中重構預讀10,當某個重構預讀IO讀取的第二存儲區(qū)域與第一存儲區(qū)域至少部分交疊時,即可判斷該重構預讀IO與第一讀IO可以合并。
[0070]430、與重構預讀IO合并,生成第二讀10。[0071]第二讀IO讀取第三存儲區(qū)域的第三數據,第三存儲區(qū)域可包括上述第一存儲區(qū)域和第二存儲區(qū)域。
[0072]440、向 RAID 發(fā)送第二讀 10。
[0073]即向RAID下發(fā)讀盤命令,讀取第三存儲區(qū)域的數據。
[0074]450、返回讀盤數據。
[0075]該讀盤數據即為上述第三數據。
[0076]460、優(yōu)先向主機返回第一數據;同時異步計算重構數據。
[0077]由于第三存儲區(qū)域包括第一存儲區(qū)域,所以第三數據包括第一數據,只需要從第三數據中提取出第一數據,并向主機返回即可。
[0078]進一步地,第三數據中包括第二數據,該第二數據用于重構上述重構預讀IO對應的故障存儲區(qū)域中的數據,所以需要異步計算重構數據。
[0079]470、在返回主機IO之后查看本次硬盤的讀是否有效提高硬盤讀命中,如果是則下次硬盤讀IO采用本次預讀策略,否則更換預讀策略。
[0080]本發(fā)明實施例中,緩存的預讀策略與故障存儲區(qū)域的重構順序有關(假設故障存儲區(qū)域的恢復以CHUNK為單位,該重構順序用于指示CHUNK恢復的先后順序)。當按照某種重構順序恢復數據時,可以計算出主機IO與重構預讀IO能夠合并的概率。如果該概率過低(如低于預設閾值),可以通過調整重構順序,相應地調整CACHE的預讀策略,以提高主機IO與重構預讀IO能夠合并的概率。
[0081]480、結束。
[0082]本發(fā)明實施例中,第一讀IO與重構預讀IO訪問的存儲區(qū)域部分交疊,利用第二讀IO讀取交疊部分的存儲區(qū)域,減少不同數據流對相同存儲區(qū)域的重復訪問,進而減少硬盤負擔,避免系統(tǒng)帶寬的浪費。
[0083]圖5是根據本發(fā)明實施例的調度IO的方法的流程圖。圖5的方法可以由圖1中的CRA執(zhí)行。
[0084]510、接收主機發(fā)送的寫10。
[0085]該寫IO用于將第四數據寫入RAID的第四存儲區(qū)域。
[0086]520、判斷第四存儲區(qū)域是否位于故障盤,如果是,執(zhí)行步驟530 ;如果不是,執(zhí)行步驟560。
[0087]530、判斷第四存儲區(qū)域的類型,當第四存儲區(qū)域為已重構的存儲區(qū)域時,執(zhí)行步驟560;當第四存儲區(qū)域為正在重構的存儲區(qū)域時,執(zhí)行步驟540 ;當第四存儲區(qū)域為待重構的存儲區(qū)域時,執(zhí)行步驟550。
[0088]540、將所述第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域,然后執(zhí)行步驟560。
[0089]當第四存儲區(qū)域的重構數據已經完成,準備寫盤時,可以用第四數據替換該重構數據;當第四存儲區(qū)域的重構數據還未開始重構或者完成重構時,直接將第四數據作為第四存儲區(qū)域的重構數據寫盤。
[0090]進一步地,如果本發(fā)明實施例中的RAID采用RAID5或RAID6,還可以更新寫校驗位,以提聞與數據的容錯率。
[0091]這種情況下可與Cache刷臟數據結合,優(yōu)先刷第四存儲區(qū)域所在數據塊。[0092]550、記錄寫IO的日志信息,然后執(zhí)行步驟570。
[0093]記錄寫IO的日志信息,以便重構第四存儲區(qū)域時,根據該日志信息將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域。具體地,上述日志信息可包括上述第四數據的內容、故障盤的邏輯ID、邏輯塊地址、邏輯塊長度等。
[0094]560、下發(fā)寫盤命令。
[0095]570、結束。
[0096]上文中結合圖1至圖5,詳細描述了根據本發(fā)明實施例的調度IO的方法,下面將結合圖6至圖9,詳細描述根據本發(fā)明實施例的調度IO的裝置。
[0097]圖6是根據本發(fā)明實施例的調度IO的裝置的示意性框圖。
[0098]應理解,圖6的裝置600能夠實現圖2至圖5流程中的各個步驟,為避免重復,不再詳細描述。
[0099]裝置600包括:第一接收單元610、生成單元620和第一發(fā)送單元630。
[0100]第一接收單元610,用于接收主機發(fā)送的第一讀10,第一讀IO用于讀取獨立磁盤冗余陣列RAID的第一存儲區(qū)域中的第一數據;
[0101 ] 生成單元620,用于根據第一接收單元610接收到的第一讀IO和重構預讀IO生成第二讀10,其中重構預讀IO用于讀取RAID的第二存儲區(qū)域中的第二數據,第二存儲區(qū)域與第一存儲區(qū)域具有至少部分交疊的存儲區(qū)域,第二讀IO用于讀取RAID的第三存儲區(qū)域中的第三數據,第三存儲區(qū)域包括至少部分交疊的存儲區(qū)域;
[0102]第一發(fā)送單元630,用于向RAID發(fā)送生成單元620生成的第二讀10。
[0103]本發(fā)明實施例中,第一讀IO與重構預讀IO訪問的存儲區(qū)域部分交疊,利用第二讀IO讀取交疊部分的存儲區(qū)域,減少不同數據流對相同存儲區(qū)域的重復訪問,進而減少硬盤負擔,避免系統(tǒng)帶寬的浪費。
[0104]可選地,作為一個實施例,第三存儲區(qū)域為RAID的非故障存儲區(qū)域,且第三存儲區(qū)域包括第一存儲區(qū)域和第二存儲區(qū)域,生成單元620具體用于將第一讀IO和重構預讀IO合并為第二讀10。
[0105]可選地,作為另一個實施例,裝置600還包括:第二接收單元,用于根據第二讀10,從RAID接收第三數據;第二發(fā)送單元,用于向主機返回包含在第二接收單元接收的第三數據中的第一數據;重構單元,用于根據包含在第二接收單元接收的第三數據中的第二數據,重構RAID的故障存儲區(qū)域中的數據。
[0106]可選地,作為另一個實施例,裝置600還包括:第三接收單元,用于接收主機發(fā)送的寫10,寫IO用于將第四數據寫入RAID的第四存儲區(qū)域,其中第四存儲區(qū)域位于RAID的故障存儲區(qū)域;寫入單元,用于將第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域。
[0107]本發(fā)明實施例中,通過將主機發(fā)送的寫IO的數據作為重構數據寫入RAID的熱備存儲區(qū)域,避免了重構寫IO和主機寫IO對同一熱備存儲區(qū)域的多次寫操作,避免了系統(tǒng)帶寬的浪費。
[0108]可選地,作為另一個實施例,第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域。
[0109]可選地,作為另一個實施例,寫入單元具體用于當第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域;當第四存儲區(qū)域為故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構第四存儲區(qū)域時,根據日志信息將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域,其中日志信息用于指示寫IO的邏輯地址。
[0110]圖7是根據本發(fā)明另一實施例的調度IO的裝置的示意性框圖。
[0111]應理解,圖7的裝置700能夠實現圖2至圖5流程中的各個步驟,為避免重復,不再詳細描述。
[0112]裝置700包括:接收單元710和寫入單元720。
[0113]接收單元710,用于接收主機發(fā)送的寫10,寫IO用于將第四數據寫入獨立磁盤冗余陣列RAID的第四存儲區(qū)域,其中第四存儲區(qū)域位于RAID的故障存儲區(qū)域;
[0114]寫入單元720,用于將接收單元710接收的第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域。
[0115]本發(fā)明實施例中,通過將主機發(fā)送的寫IO的數據作為重構數據寫入RAID的熱備存儲區(qū)域,避免了重構寫IO和主機寫IO對同一熱備存儲區(qū)域的多次寫操作,避免了系統(tǒng)帶寬的浪費。
[0116]可選地,作為一個實施例,第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域。
[0117]可選地,作為另一個實施例,寫入單元720具體用于當第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域;當第四存儲區(qū)域為故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構第四存儲區(qū)域時,根據日志信息將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域,其中日志信息用于指示寫IO的邏輯地址。
[0118]圖8是根據本發(fā)明另一實施例的調度IO的裝置的示意性框圖。
[0119]應理解,圖8的裝置800能夠實現圖2至圖5中的各個步驟,為避免重復,不再詳細描述。
[0120]裝置800包括:控制器810和存儲器820。
[0121]存儲器820,用于存儲程序。
[0122]控制器810,用于執(zhí)行存儲器820存儲的程序,程序被控制器810執(zhí)行時,用于接收主機發(fā)送的第一讀10,第一讀IO用于讀取RAID的第一存儲區(qū)域中的第一數據;根據接收到的第一讀IO和重構預讀IO生成第二讀10,其中重構預讀IO用于讀取RAID的第二存儲區(qū)域中的第二數據,第二存儲區(qū)域與第一存儲區(qū)域具有至少部分交疊的存儲區(qū)域,第二讀IO用于讀取RAID的第三存儲區(qū)域中的第三數據,第三存儲區(qū)域包括至少部分交疊的存儲區(qū)域;向RAID發(fā)送第二讀10。
[0123]本發(fā)明實施例中,第一讀IO與重構預讀IO訪問的存儲區(qū)域部分交疊,利用第二讀IO讀取交疊部分的存儲區(qū)域,減少不同數據流對相同存儲區(qū)域的重復訪問,進而減少硬盤負擔,避免系統(tǒng)帶寬的浪費。
[0124]可選地,作為一個實施例,第三存儲區(qū)域為RAID的非故障存儲區(qū)域,且第三存儲區(qū)域包括第一存儲區(qū)域和第二存儲區(qū)域,控制器810具體用于將第一讀IO和重構預讀IO合并為第二讀10。[0125]可選地,作為另一個實施例,控制器810還用于根據第二讀10,從RAID接收第三數據;向主機返回包含在第三數據中的第一數據;根據包含在第三數據中的第二數據,重構RAID的故障存儲區(qū)域中的數據。
[0126]可選地,作為另一個實施例,控制器810還用于接收主機發(fā)送的寫10,寫IO用于將第四數據寫入RAID的第四存儲區(qū)域,其中第四存儲區(qū)域位于RAID的故障存儲區(qū)域;將第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域。
[0127]本發(fā)明實施例中,通過將主機發(fā)送的寫IO的數據作為重構數據寫入RAID的熱備存儲區(qū)域,避免了重構寫IO和主機寫IO對同一熱備存儲區(qū)域的多次寫操作,避免了系統(tǒng)帶寬的浪費。
[0128]可選地,作為另一個實施例,第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域。
[0129]可選地,作為另一個實施例,控制器810具體用于當第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域;當第四存儲區(qū)域為故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構第四存儲區(qū)域時,根據日志信息將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域,其中日志信息用于指示寫IO的邏輯地址。
[0130]圖9是根據本發(fā)明另一實施例的調度IO的裝置的示意性框圖。
[0131]應理解,圖9的裝置900能夠實現圖2至圖5中的各個步驟,為避免重復,不再詳細描述。
[0132]裝置900包括:控制器910和存儲器920。
[0133]存儲器920,用于存儲程序。
[0134]控制器910,用于執(zhí)行存儲器920的程序,程序被控制器910執(zhí)行時,接收主機發(fā)送的寫10,寫IO用于將第四數據寫入RAID的第四存儲區(qū)域,其中第四存儲區(qū)域位于RAID的故障存儲區(qū)域;將第四數據作為第四存儲區(qū)域的重構數據寫入RAID的熱備存儲區(qū)域。
[0135]本發(fā)明實施例中,通過將主機發(fā)送的寫IO的數據作為重構數據寫入RAID的熱備存儲區(qū)域,避免了重構寫IO和主機寫IO對同一熱備存儲區(qū)域的多次寫操作,避免了系統(tǒng)帶寬的浪費。
[0136]可選地,作為一個實施例,第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域。
[0137]可選地,作為另一個實施例,控制器910具體用于當第四存儲區(qū)域為故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域;當第四存儲區(qū)域為故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構第四存儲區(qū)域時,根據日志信息將第四數據作為第四存儲區(qū)域的重構數據寫入熱備存儲區(qū)域,其中日志信息用于指示寫IO的邏輯地址。
[0138]本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發(fā)明的范圍。[0139]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0140]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0141]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0142]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0143]所述功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0144]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應所述以權利要求的保護范圍為準。
【權利要求】
1.一種調度輸入輸出IO的方法,其特征在于,包括: 接收主機發(fā)送的第一讀10,所述第一讀IO用于讀取獨立磁盤冗余陣列RAID的第一存儲區(qū)域中的第一數據; 根據所述第一讀IO和重構預讀IO生成第二讀10,其中所述重構預讀IO用于讀取所述RAID的第二存儲區(qū)域中的第二數據,所述第二存儲區(qū)域與所述第一存儲區(qū)域具有至少部分交疊的存儲區(qū)域,所述第二讀IO用于讀取所述RAID的第三存儲區(qū)域中的第三數據,所述第三存儲區(qū)域包括所述至少部分交疊的存儲區(qū)域; 向所述RAID發(fā)送所述第二讀10。
2.如權利要求1所述的方法,其特征在于,所述第三存儲區(qū)域為所述RAID的非故障存儲區(qū)域,且所述第三存儲區(qū)域包括所述第一存儲區(qū)域和所述第二存儲區(qū)域,所述根據所述第一讀IO和重構預讀IO生成第二讀10,包括: 將所述第一讀IO和所述重構預讀IO合并為所述第二讀10。
3.如權利要求2所述的方法,其特征在于,還包括: 根據所述第二讀10,從所述RAID接收所述第三數據; 向所述主機返回包含在所述第三數據中的所述第一數據; 根據包含在所述第三數據中的第二數據,重構所述RAID的故障存儲區(qū)域中的數據。
4.如權利要求1-3中任一項所述的方法,其特征在于,還包括: 接收所述主機發(fā)送的寫10,所述寫IO用于將第四數據寫入所述RAID的第四存儲區(qū)域,其中所述第四存儲區(qū)域位于所述RAID的故障存儲區(qū)域;` 將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域。
5.如權利要求4所述的方法,其特征在于,所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域。
6.如權利要求4所述的方法,其特征在于,所述將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域,包括: 當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域; 當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構所述第四存儲區(qū)域時,根據所述日志信息將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域,其中所述日志信息用于指示所述寫IO的邏輯地址。
7.—種調度輸入輸出IO的方法,其特征在于,包括: 接收主機發(fā)送的寫10,所述寫IO用于將第四數據寫入獨立磁盤冗余陣列RAID的第四存儲區(qū)域,其中所述第四存儲區(qū)域位于所述RAID的故障存儲區(qū)域; 將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域。
8.如權利要求7所述的方法,其特征在于,所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域。
9.如權利要求7所述的方法,其特征在于,所述將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域,包括: 當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域;當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構所述第四存儲區(qū)域時,根據所述日志信息將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域,其中所述日志信息用于指示所述寫IO的邏輯地址。
10.一種調度輸入輸出IO的裝置,其特征在于,包括: 第一接收單元,用于接收主機發(fā)送的第一讀IO,所述第一讀IO用于讀取獨立磁盤冗余陣列RAID的第一存儲區(qū)域中的第一數據; 生成單元,用于根據所述第一接收單元接收到的所述第一讀IO和重構預讀IO生成第二讀IO,其中所述重構預讀IO用于讀取所述RAID的第二存儲區(qū)域中的第二數據,所述第二存儲區(qū)域與所述第一存儲區(qū)域具有至少部分交疊的存儲區(qū)域,所述第二讀IO用于讀取所述RAID的第三存儲區(qū)域中的第三數據,所述第三存儲區(qū)域包括所述至少部分交疊的存儲區(qū)域; 第一發(fā)送單元,用于向所述RAID發(fā)送所述生成單元生成的所述第二讀IO。
11.如權利要求10所述的裝置,其特征在于,所述第三存儲區(qū)域為所述RAID的非故障存儲區(qū)域,且所述第三存儲區(qū)域包括所述第一存儲區(qū)域和所述第二存儲區(qū)域,所述生成單元具體用于將所述第一讀IO和所述重構預讀IO合并為所述第二讀IO。
12.如權利要求11所述的裝置,其特征在于,所述裝置還包括: 第二接收單元,用于根據所述第二讀IO,從所述RAID接收所述第三數據; 第二發(fā)送單元,用于向所述主機返回包含在所述第二接收單元接收的所述第三數據中的所述第一數據; 重構單元,用于根據包含在第二接收單元接收的所述第三數據中的第二數據,重構所述RAID的故障存儲區(qū)域中的數據。
13.如權利要求10-12中任一項所述的裝置,其特征在于,還包括: 第三接收單元,用于接收所述主機發(fā)送的寫IO,所述寫IO用于將第四數據寫入所述RAID的第四存儲區(qū)域,其中所述第四存儲區(qū)域位于所述RAID的故障存儲區(qū)域; 寫入單元,用于將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域。
14.如權利要求13所述的裝置,其特征在于,所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域。
15.如權利要求13所述的裝置,其特征在于,所述寫入單元具體用于當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域;當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構所述第四存儲區(qū)域時,根據所述日志信息將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域,其中所述日志信息用于指示所述寫IO的邏輯地址。
16.一種調度輸入輸出IO的裝置,其特征在于,包括: 接收單元,用于接收主機發(fā)送的寫IO,所述寫IO用于將第四數據寫入獨立磁盤冗余陣列RAID的第四存儲區(qū)域,其中所述第四存儲區(qū)域位于所述RAID的故障存儲區(qū)域; 寫入單元,用于將所述接收單元接收的所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述RAID的熱備存儲區(qū)域。
17.如權利要求16所述的裝置,其特征在于,所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域。
18.如權利要求16所述的裝置,其特征在于,所述寫入單元具體用于當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的正在重構的存儲區(qū)域時,將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域;當所述第四存儲區(qū)域為所述故障存儲區(qū)域中的待重構的存儲區(qū)域時,記錄日志信息,以便重構所述第四存儲區(qū)域時,根據所述日志信息將所述第四數據作為所述第四存儲區(qū)域的重構數據寫入所述熱備存儲區(qū)域,其中所述日志信息用于指示所述寫IO的邏輯地址。
【文檔編號】G06F3/06GK103677669SQ201310633914
【公開日】2014年3月26日 申請日期:2013年11月29日 優(yōu)先權日:2013年11月29日
【發(fā)明者】雷延釗 申請人:華為技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1