一種用于磁盤陣列存儲系統(tǒng)中固態(tài)硬盤的擦除碼配置方法
【專利摘要】本發(fā)明涉及一種用于磁盤陣列存儲系統(tǒng)中固態(tài)硬盤的擦除碼配置方法,與現(xiàn)有技術(shù)相比解決了數(shù)據(jù)計算量大、循環(huán)次數(shù)多的缺陷。本發(fā)明包括以下步驟:初始化處理,將一定時間內(nèi)的請求文件全部集中到固態(tài)硬盤的工作負載內(nèi),根據(jù)索引信息將所有文件按文件的大小進行升序排列;文件的分割與合并,根據(jù)預(yù)置的自定義閾值,將所有文件進行分割或合并,形成統(tǒng)一標(biāo)準區(qū)塊數(shù)據(jù)塊;生成同位數(shù)據(jù)塊,通過標(biāo)準區(qū)塊數(shù)據(jù)塊生成同位數(shù)據(jù)塊;新數(shù)據(jù)寫入,將標(biāo)準區(qū)塊數(shù)據(jù)塊和同位數(shù)據(jù)塊分別寫入相應(yīng)的數(shù)組,并按照文件的分割與合并中重新排列的順序?qū)懭胂鄳?yīng)的固態(tài)硬盤中。本發(fā)明減少了固態(tài)硬盤寫循環(huán)操作復(fù)雜度,優(yōu)化可靠性和容錯性,改進了擦除碼配置策略。
【專利說明】-種用于磁盤陣列存儲系統(tǒng)中固態(tài)硬盤的擦除碼配置方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及固態(tài)硬盤存儲【技術(shù)領(lǐng)域】,具體來說是一種用于磁盤陣列存儲系統(tǒng)中固 態(tài)硬盤的擦除碼配置方法。
【背景技術(shù)】
[0002] 基于閃存的固態(tài)盤是一種新型的大容量存儲設(shè)備,固態(tài)硬盤的損耗是影響他們 可靠性的主要因素,加速固態(tài)硬盤損耗的主要因子是在閃存芯片上實施寫循環(huán)的數(shù)量,而 基于固態(tài)硬盤的磁盤子系統(tǒng)中寫循環(huán)的數(shù)量則主要取決于RAIDS(Redundant Array Of Independent Disks,獨立磁盤冗余陣列)上應(yīng)用的擦除碼。擦除碼在存儲系統(tǒng)中用于保 護數(shù)據(jù)免受磁盤錯誤影響,在這些代碼中,η塊數(shù)據(jù)被編碼成m塊同位數(shù)據(jù)塊和η塊數(shù)據(jù)塊 的組合,使之可以承受m塊差錯。這些代碼通常應(yīng)用在有η+2個磁盤子系統(tǒng)的RAIDS中, 能夠承受任意兩個數(shù)據(jù)塊或者同位數(shù)據(jù)塊的并發(fā)差錯。目前采用的擦除碼主要有以下: Reed-Solomon、EVEN0DD。
[0003] 1、REED SOLOMON
[0004] 目前較流行常用的技術(shù),廣泛應(yīng)用在通信和存儲系統(tǒng)中。其主要優(yōu)勢在于,它的可 擴展性能夠恢復(fù)m(m> = 2)塊數(shù)據(jù)塊或者同位數(shù)據(jù)塊。然而這種代碼由于伽瓦羅域算術(shù)的 使用,給編碼和解碼操作都增加了復(fù)雜計算量。伽瓦羅域算術(shù)中使用的復(fù)雜操作,將表查找 引入來減少計算強度。因此,復(fù)雜計算是RS的主要缺陷,使得它未能廣泛應(yīng)用于企業(yè)應(yīng)用。
[0005] 2.EVEN0DD
[0006] 其定義矩陣為(p-l)*(p+2),p是質(zhì)數(shù)。數(shù)據(jù)和同位數(shù)據(jù)分別存儲在相應(yīng)的前p列 和最后2列。使用兩個同位磁盤,這樣能夠承受兩塊磁盤故障。行校驗和對角校驗分別由 數(shù)據(jù)塊的行和對角經(jīng)過X0R異或運算后得來。在計算主對角數(shù)據(jù)塊的異或運算時引入一個 S調(diào)整因數(shù)。同樣,具有龐大、復(fù)雜的計算量。
[0007] 如何開發(fā)出一種計算量少、循環(huán)次數(shù)低的擦除碼配置方法已經(jīng)成為急需解決的技 術(shù)問題。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中數(shù)據(jù)計算量大、循環(huán)次數(shù)多的缺陷,提供一 種用于磁盤陣列存儲系統(tǒng)中固態(tài)硬盤的擦除碼配置方法來解決上述問題。
[0009] 為了實現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:
[0010] 一種用于磁盤陣列存儲系統(tǒng)中固態(tài)硬盤的擦除碼配置方法,包括以下步驟:
[0011] 初始化處理,將一定時間內(nèi)的請求文件全部集中到固態(tài)硬盤的工作負載內(nèi),根據(jù) 索引信息將所有文件按文件的大小進行升序排列;
[0012] 文件的分割與合并,根據(jù)預(yù)置的自定義閾值,將所有文件進行分割或合并,形成統(tǒng) 一標(biāo)準區(qū)塊數(shù)據(jù)塊;
[0013] 生成同位數(shù)據(jù)塊,通過標(biāo)準區(qū)塊數(shù)據(jù)塊生成同位數(shù)據(jù)塊;
[0014] 新數(shù)據(jù)寫入,將標(biāo)準區(qū)塊數(shù)據(jù)塊和同位數(shù)據(jù)塊分別寫入相應(yīng)的數(shù)組,并按照文件 的分割與合并中重新排列的順序?qū)懭胂鄳?yīng)的固態(tài)硬盤中。
[0015] 所述的文件的分割與合并包括以下步驟:
[0016] 根據(jù)固態(tài)硬盤閃存所允許的最大緩沖區(qū)大小設(shè)定自定義閾值;
[0017] 將所有讀入工作負載并且重排索引后的文件集合設(shè)為
[0018]
【權(quán)利要求】
1. 一種用于磁盤陣列存儲系統(tǒng)中固態(tài)硬盤的擦除碼配置方法,其特征在于,包括以下 步驟: 11) 初始化處理,將一定時間內(nèi)的請求文件全部集中到固態(tài)硬盤的工作負載內(nèi),根據(jù)索 引信息將所有文件按文件的大小進行升序排列; 12) 文件的分割與合并,根據(jù)預(yù)置的自定義閾值,將所有文件進行分割或合并,形成統(tǒng) 一標(biāo)準區(qū)塊數(shù)據(jù)塊; 13) 生成同位數(shù)據(jù)塊,通過標(biāo)準區(qū)塊數(shù)據(jù)塊生成同位數(shù)據(jù)塊; 14) 新數(shù)據(jù)寫入,將標(biāo)準區(qū)塊數(shù)據(jù)塊和同位數(shù)據(jù)塊分別寫入相應(yīng)的數(shù)組,并按照文件的 分割與合并中重新排列的順序?qū)懭胂鄳?yīng)的固態(tài)硬盤中。
2. 根據(jù)權(quán)利要求1所述的一種用于磁盤陣列存儲系統(tǒng)中固態(tài)硬盤的擦除碼配置方法, 其特征在于,所述的文件的分割與合并包括以下步驟: 21) 根據(jù)固態(tài)硬盤閃存所允許的最大緩沖區(qū)大小設(shè)定自定義閾值; 22) 將所有讀入工作負載并且重排索引后的文件集合設(shè)為 F= {fi,f2,f3, . . . ,fm,fm+1, -,flast}; 23) 將所有文件與自定義閾值比較大小, 將大于自定義閾值的文件分割成為標(biāo)準區(qū)塊數(shù)據(jù),將等于自定義閾值的文件歸為標(biāo)準 區(qū)塊數(shù)據(jù),并組合成組Fni, Fm = {f\,f2,f3,…,fj, 將小于自定義閾值的文件、分割后小于自定義閾值的文件均合并成為標(biāo)準區(qū)塊數(shù)據(jù), 并組合成組Fy Fr{fm+1 ' ? ? ? 'fIast^ ' 其中,
3. 根據(jù)權(quán)利要求1所述的一種用于磁盤陣列存儲系統(tǒng)中固態(tài)硬盤的擦除碼配置方法, 其特征在于,所述的生成同位數(shù)據(jù)塊包括以下步驟: 31) 定義同位數(shù)據(jù)塊置于數(shù)據(jù)表的最后兩行,生成兩行同位數(shù)據(jù)行; 32) 針對組Fm和組^中的標(biāo)準區(qū)塊數(shù)據(jù)依次計算相應(yīng)的同位數(shù)據(jù)塊, 設(shè)Ca,b表示第a行、第b列的符號,同位數(shù)據(jù)塊Cn_2,,和Clri,,的計算公式如下:
其中,i= 0、1、? ? ?、n_l, <x>n =Xmodn〇
【文檔編號】G06F11/10GK104268031SQ201410507945
【公開日】2015年1月7日 申請日期:2014年9月28日 優(yōu)先權(quán)日:2014年9月28日
【發(fā)明者】鄭烇, 謝飛, 謝貽富 申請人:安徽中科大國禎信息科技有限責(zé)任公司