一種基于日志方式的存儲空間管理方法和裝置制造方法
【專利摘要】本發(fā)明提供一種基于日志方式的存儲空間管理方法,該方法應(yīng)用于存儲設(shè)備,該方法包括:在申請存儲空間或釋放存儲空間的時候,在預(yù)設(shè)大小的第二映射區(qū)域SMR中記錄對應(yīng)的申請或者釋放日志,該申請或者釋放日志記錄申請或者釋放存儲空間的起始位置以及大小信息;按照一定的策略,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作,并在所述SMR中記錄本次產(chǎn)生的合并日志,所述合并日志記錄了空閑的存儲空間的起始位置以及大小。本發(fā)明的技術(shù)方案解決了現(xiàn)有存儲空間管理中大量隨機存儲空間釋放導(dǎo)致的設(shè)備性能降低的問題,并且對存儲設(shè)備的內(nèi)存容量要求不高。
【專利說明】—種基于日志方式的存儲空間管理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲【技術(shù)領(lǐng)域】,尤其涉及一種基于日志方式的存儲空間管理方法和裝置。
【背景技術(shù)】
[0002]無論是基于文件系統(tǒng)還是基于其它塊設(shè)備的應(yīng)用,都有兩個基本的要求:1、記錄數(shù)據(jù)存儲在塊設(shè)備的哪些塊上;2、塊設(shè)備的哪些塊是空閑狀態(tài)。
[0003]從原則上來說,可以不用記錄塊設(shè)備的哪些塊是空閑的,而只記錄數(shù)據(jù)存儲在哪些塊上即可。因為塊的狀態(tài)只有兩種:使用狀態(tài)或者空閑狀態(tài)。所以,可以通過已使用的塊來推算出哪些塊是空閑的。但是,這又意味著需要遍歷所有已使用的塊。為了使申請空閑塊的效率更高,絕大多數(shù)塊設(shè)備都會記錄哪些塊是空閑的。
[0004]目前記錄塊是空閑狀態(tài)還是已使用狀態(tài)主要有兩種方法,一是bitmap的方式,一是b-tree的方式。當(dāng)然,最常用的還是bitmap的方式。bitmap是用一段連續(xù)空間的第N個比特位來表述塊設(shè)備的第N個塊是空閑的還是被占用的。相對而言,bitmap的資源消耗比較小,對于4KB的塊大小,其資源消耗僅為1/(4096*8) = 0.003% (其8代表一個字節(jié)8個比特位)。對于IGB大小的文件系統(tǒng)而言,bitmap所需要的空間大小為32KB ;而對于ITB大小的文件系統(tǒng)而言,則需要的空間大小為2MB。這個大小對于系統(tǒng)的內(nèi)存來說,還是可以接受的,但是從查找效率的角度來說,相對就比較低了。而如果對于IPB的文件系統(tǒng)而言,bitmap需要的大小則變?yōu)?2GB,這個大小對于大多數(shù)設(shè)備的內(nèi)存來說都是不可以接受的。這就意味著每次需要獲取塊狀態(tài)時,都需要從磁盤讀取,這將嚴(yán)重影響文件系統(tǒng)的性能。
[0005]針對上述問題,一個比較容易想到的方法是:將bitmap分為多個小的bitmap,再用bitmap來映射劃分后的小的bitmap,請參圖1所示。這樣就可以通過最頂層的bitmap來找出哪些小的bitmap是有空閑塊的;如果小的bitmap不在內(nèi)存中,則將小的bitmap從磁盤中讀取出來。
[0006]但是,這樣仍會存在如下問題:不論是申請還是釋放塊資源,bitmap都需要更新。對于申請塊資源的操作,可以對bitmap的更新進行控制,但是對于釋放塊資源的操作則很難進行控制,因為釋放操作是上層應(yīng)用觸發(fā)的。頻繁進行塊資源的釋放,就意味著頻繁更新bitmap,就意味著有很多的讀寫10。更甚,若bitmap的更新涉及到很多小的bitmap,即bitmap的更新具有很大的隨機性時,系統(tǒng)將不堪重負。
[0007]B-tree則是采用extent (—段連續(xù)的存儲空間)的方式來管理連續(xù)的塊(block) ο Extent的方式采用偏移加長度的方法來管理空閑的塊空間。但是b-tree與bitmap存在上述同樣的問題。
【發(fā)明內(nèi)容】
[0008]有鑒于此,本發(fā)明提供一種基于日志方式的存儲空間管理方法。
[0009]該方法應(yīng)用于存儲設(shè)備,包括:在申請存儲空間或釋放存儲空間的時候,在預(yù)設(shè)大小的第二映射區(qū)域SMR中記錄對應(yīng)的申請或者釋放日志,該申請或者釋放日志記錄申請或者釋放存儲空間的起始位置以及大小信息;按照一定的策略,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作,并在所述SMR中記錄本次產(chǎn)生的合并日志,所述合并日志記錄了空閑的存儲空間的起始位置以及大小。
[0010]優(yōu)選地,日志在SMR中的記錄采用循環(huán)覆蓋的方式進行;所述按照一定的策略,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作包括:當(dāng)上一次合并產(chǎn)生的合并日志以及當(dāng)前未被合并的申請或釋放日志總數(shù)量占SMR內(nèi)容區(qū)域日志總?cè)菁{量的比值達到預(yù)設(shè)閾值時,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作;或者,在申請存儲空間且沒有滿足該申請所需大小的存儲空間時,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作。
[0011]優(yōu)選地,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作包括:順序針對當(dāng)前每條未被合并的申請或釋放日志,按照日志中記錄的起始位置和大小,判斷是否可以和紅黑樹中當(dāng)前的節(jié)點進行合并,如果可以則進行合并;合并后將新生成的節(jié)點插入到紅黑樹中,并刪除被合并的節(jié)點;該新生成的節(jié)點的內(nèi)容為:本次合并后空閑存儲空間的起始位置和大小。
[0012]優(yōu)選地,所述SMR中記錄的日志包括:表示是釋放空間操作還是申請空間操作的信息;表示是真實申請釋放操作的日志還是合并操作的日志的信息;日志的編號Cur_j0Urnal_id,該編號隨著日志的增加依次增加;所述順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作為按照日志編號遞增的順序依次執(zhí)行所述合并的操作。
[0013]優(yōu)選地,磁盤存儲空間被劃分為若干個區(qū)域reg1n,每個reg1n包括數(shù)據(jù)區(qū)域DR和映射區(qū)域MR ;其中MR包括主映射區(qū)域PMR和第二映射區(qū)域SMR ;PMR包括頭部區(qū)域和記錄了屬于該PMR管理的各SMR的位置以及下一個PMR位置的內(nèi)容區(qū)域;SMR包括頭部區(qū)域和記錄所述日志的內(nèi)容區(qū)域。
[0014]優(yōu)選地,存儲設(shè)備啟動工作后,將從磁盤中讀取PMR信息、SMR信息到內(nèi)存中,并基于內(nèi)存中的PMR信息和SMR信息進行存儲空間的管理。
[0015]優(yōu)選地,若從磁盤中讀取到內(nèi)存中的SMR內(nèi)容區(qū)域中的編號最大的日志是合并日志,在需要進一步進行合并操作時,需要重新將所述合并日志之前的上一次合并日志、上一次合并日志之后的申請日志、釋放日志重新進行一次合并操作。
[0016]優(yōu)選地,在申請存儲空間時,如果SMR管理的DR中存在若干個滿足申請條件的連續(xù)可用的空間,則選擇邏輯塊地址Iba小的所述可用空間。
[0017]相較于現(xiàn)有技術(shù),本發(fā)明的技術(shù)方案解決了現(xiàn)有存儲空間管理中大量隨機存儲空間釋放導(dǎo)致的設(shè)備性能降低的問題,并且對存儲設(shè)備的內(nèi)存容量要求不高。
【專利附圖】
【附圖說明】
[0018]圖1是一種多層bitmap映射示意圖。
[0019]圖2是本發(fā)明實施例流程圖。
[0020]圖3是本發(fā)明實施例存儲空間的劃分結(jié)構(gòu)圖。
[0021]圖4是本發(fā)明實施例日志內(nèi)容圖。
[0022]圖5是本發(fā)明實施例日志合并示例圖。
[0023]圖6(a)?圖6(b)是本發(fā)明實施例另一日志合并示例圖。
【具體實施方式】
[0024]針對【背景技術(shù)】中提到的技術(shù)問題,本發(fā)明主要提供一種基于日志方式進行存儲空間管理的技術(shù)方案。該技術(shù)方案解決了現(xiàn)有存儲空間管理中大量隨機存儲空間釋放導(dǎo)致的設(shè)備性能降低的問題。以下通過具體實施例詳細說明。
[0025]請參圖2所示的本發(fā)明實施例流程圖。
[0026]S21、在申請存儲空間或釋放存儲空間的時候,在預(yù)設(shè)大小的第二映射區(qū)域SMR中記錄對應(yīng)的申請或者釋放日志,該申請或者釋放日志記錄申請或者釋放存儲空間的起始位置以及大小信息。
[0027]S22、按照一定的策略,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作,并在所述SMR中記錄本次產(chǎn)生的合并日志,所述合并日志記錄了空閑的存儲空間的起始位置以及大小。
[0028]上述方法在進行存儲空間申請或釋放的時候,僅是記錄對應(yīng)的申請或釋放操作日志;當(dāng)滿足一定的條件之后,再對上述申請或釋放日志進行合并操作(合并操作的本質(zhì)是:統(tǒng)計出存儲空間中哪些空間已被釋放,將連續(xù)已被釋放的空間,即extent,進行合并,并且將該合并操作結(jié)果作為合并日志追加到SMR區(qū)域中作為一新的日志進行記錄)。這樣就避免了頻繁的進行存儲空間的管理,提升了存儲設(shè)備的性能。另,該合并日志記錄了空閑存儲空間的起始位置和大小,新的存儲空間的申請操作可以根據(jù)該起始位置和大小判斷是否滿足申請需求,如果滿足,則直接申請該存儲空間。
[0029]請進一步參圖3,作為一個例子,可以針對存儲設(shè)備的存儲空間按照圖3的方式進行分割。存儲空間被劃分為若干個區(qū)域reg1n,每個reg1n包括數(shù)據(jù)區(qū)域DR(datareg1n)和映射區(qū)域MR (map reg1n);其中MR包括主映射區(qū)域PMR和映射區(qū)域SMR ;PMR包括頭部區(qū)域(map reg1n head)和記錄了屬于該PMR管理的各SMR的位置(SMR Entry)以及下一個PMR位置(Next PMR Entry)的內(nèi)容區(qū)域;SMR包括頭部區(qū)域(Map Reg1n Head)和記錄所述日志(Map Reg1n Journal)的內(nèi)容區(qū)域。
[0030]該存儲空間采用的是兩級映射的方式,每個區(qū)域reg1n可以按照一定的大小進行劃分,比如說128GB。這樣整個存儲空間將被分為若干的reg1n,每個reg1n均包含上述的兩級映射結(jié)構(gòu),單獨進行管理。
[0031]作為一個例子,SMR的內(nèi)容區(qū)域記錄的日志Map Reg1n Journal (MRJ)請參圖4。每條MRJ包括:2bit的Reserved (預(yù)留)位。占2bit的0ps_f lag,其中低比特位表示釋放空間或申請空間的操作,比如說釋放操作為0,申請操作為I ;高比特位表示該日志是真實的申請/釋放日志,還是合并生成的日志,比如說真實的申請/釋放日志為0,合并生成的日志為I。分別占28bit的(也表示DR最大容量為(2~28-l)*4KB ^ 1TB) Offset及Size,該Offset表示操作涉及的空間在DR中的偏移(相對位置,以4KB為單位),Size表示操作涉及的大小。Cur_journal_id表示當(dāng)前日志的id,每記一條日志該id就會自加一次。上文中日志記錄的存儲空間的起始位置在這個例子中用Offset來表示。
[0032]上述PMR信息、SMR信息被保存在存儲設(shè)備的內(nèi)存中;其他信息則記錄在磁盤空間中。由于PMR信息、SMR信息所需占用的空間較少,所以對內(nèi)存大小要求較低。當(dāng)然,內(nèi)存中還可以進一步保存SMR對應(yīng)的DR最近一次被訪問的存儲空間的信息,這樣在后續(xù)申請存儲空間時,如果該存儲空間滿足申請的要求,直接從該其中劃取空間即可。
[0033]由于用于記錄日志的SMR內(nèi)容區(qū)的大小是預(yù)先設(shè)定的,而申請操作、釋放操作、合并操作對應(yīng)的日志是不斷增加的,所以這里采用循環(huán)覆蓋的方式將日志記錄在SMR中。
[0034]為了準(zhǔn)確的對存儲空間進行管理,需要對于日志的合并采取一定的策略。策略一:當(dāng)上一次合并產(chǎn)生的合并日志以及當(dāng)前未被合并的申請或釋放日志總數(shù)量占SMR內(nèi)容區(qū)域日志總?cè)菁{量的比值達到預(yù)設(shè)閾值時,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作;策略二:在申請存儲空間且沒有滿足該申請所需大小的存儲空間時,順序?qū)λ錾暾埢蜥尫湃罩荆约吧弦淮蔚暮喜⑷罩緢?zhí)行存儲空間合并的操作。這里只是舉例兩個例子,本實施例不排除其他存儲空間管理的策略。
[0035]請參圖5給出的一個例子,第一行中“MRJ 45”表示第45條日志,第一行中的“ I ”表示該第45條日志是合并生成的日志;其他各行相同的釋義。從該例中可以看出,第45條日志之前的日志已經(jīng)經(jīng)過合并處理,并且形成了兩條合并日志45和46,該45和46條合并日志是上一次合并產(chǎn)生的合并日志;之后,又新生成了若干條真實的(非合并的)操作日志:47、48、49、50、51、52。這樣上一次合并產(chǎn)生的合并日志以及當(dāng)前未被合并的日志即為以下日志:45?52,共8條,這里的SMR內(nèi)容區(qū)域日志的總?cè)菁{量為10,所以其占比為80%。當(dāng)上述策略一中的預(yù)設(shè)閾值為78%時,則當(dāng)前需要對日志45?52進行合并操作。該合并策略可以及時避免有效日志未經(jīng)處理而被覆蓋的情況出現(xiàn)。
[0036]策略二在申請存儲空間時,若要申請的空間大小大于當(dāng)前空閑的空間大小時,則可以采用日志合并的方式看看合并得到的新日志對應(yīng)的空閑空間的大小是否滿足申請的要求,若是,則申請操作將成功,直接將合并后的空間的offset值反饋給上層。
[0037]本實施例針對日志進行存儲空間的合并操作時,可以依賴紅黑樹進行該合并操作。比如說針對每條未被合并的申請或者釋放日志,按照該申請或者釋放日志記錄空間的起始位置和大小,判斷是否可以和紅黑樹中當(dāng)前的節(jié)點進行合并,如果可以則進行合并;合并后將新生成的節(jié)點插入到紅黑樹中,并刪除被合并的節(jié)點。該新生成的節(jié)點的內(nèi)容為:合并后空閑存儲空間的起始位置和大小。紅黑樹的每個節(jié)點均記錄空閑空間的起始位置和大小信息,索引值為所述起始位置。上述可以合并的原則是,紅黑樹中節(jié)點記錄的空閑空間信息和日志中記錄的申請/釋放空間重合、部分重合、連續(xù)。
[0038]下面舉幾個例子來說明上述合并操作:
[0039]例1:紅黑樹中已有一代表空閑空間的節(jié)點:offset值為32,size值為16K ;假設(shè)每4K,offset值增加I。當(dāng)前需要對offset值為36,size為4K的釋放日志進行合并操作。根據(jù)上述offset值和size值,判斷當(dāng)前日志可以和該節(jié)點進行合并,合并后的新節(jié)點對應(yīng)的offset值為32,size值為20。所以將該新節(jié)點根據(jù)其索引值32插入到紅黑樹中,并將原來的offset值為32,size值為16K的節(jié)點從紅黑樹中刪除。并在SMR中生成一條合并日志,該合并日志的內(nèi)容為:釋放操作,offset值為32,size值為20。
[0040]例2、紅黑樹中已有一代表空閑空間的節(jié)點:offset值為32,size值為16K ;假設(shè)每4K,offset值增加I。當(dāng)前需要對offset值為31,size值為4KB的釋放日志進行合并操作。根據(jù)上述offset值和size值,判斷當(dāng)前日志可以和該節(jié)點進行合并,合并后的新節(jié)點對應(yīng)的offset值為31,size值為20。所以將該新節(jié)點根據(jù)其索引值31插入到紅黑樹中,并將原來的offset值為32,size值為16K的節(jié)點從紅黑樹中刪除。并在SMR中生成一條合并日志,該合并日志的內(nèi)容為:釋放操作,offset值為31,size值為20。
[0041]例3、紅黑樹中已有一代表空閑空間的節(jié)點:offset值為32,size值為16K ;假設(shè)每4K,offset值增加I。當(dāng)前需要對offset值為32,size值為16KB的釋放日志進行合并操作。直接忽略該條釋放日志,不需作任何處理。
[0042]例4、紅黑樹中已有一代表空閑空間的節(jié)點:offset值為32,size值為16K ;假設(shè)每4K,offset值增加I。當(dāng)前需要對offset值為34,size值為4KB,的申請日志進行合并。此時,需要將原有節(jié)點拆分成兩個,并將原有的結(jié)點刪除。新生成的節(jié)點其offset分別為32,35, size值分別為8K,4K。此時需要進一步在SMR中生成兩條合并日志。
[0043]例5、紅黑樹中已有一代表空閑空間的節(jié)點:offset值為32,size值為16K ;假設(shè)每4K,offset值增加I。當(dāng)前需要對offset值為35,size值為4KB的申請日志進行合并。此時,刪除原節(jié)點,新生成的節(jié)點的offset值為32,size值為12K ;實際上只需要把原節(jié)點的size值直接改為12K即可。進一步在SMR中生成該新節(jié)點對應(yīng)的合并日志。
[0044]例6、紅黑樹中已有一代表空閑空間的節(jié)點:offset值為32,size值為16K ;假設(shè)每4K,offset值增加I。當(dāng)前需要對offset值為32,size值為4KB的申請日志進行合并。此時,刪除原節(jié)點,新生成的節(jié)點的offset值為33,size值為12K。進一步在SMR中生成該新節(jié)點對應(yīng)的合并日志。
[0045]這里有一種情況需要說明,在存儲設(shè)備啟動時,首先需要將磁盤中的PMR信息、SMR信息讀取到內(nèi)存中。此時可能會出現(xiàn)圖6(a)或者圖6(b)所示的情況。在圖6(a)中,由于編號journal_id最大的MRJ是真實的申請或者釋放日志,所以此時若要進行合并操作只需要將journal_id為09、10、11三條MRJ參與日志合并;而圖6(b)中,由于編號journal,id最大的MRJ是合并日志,所以此時若要進行合并操作,則需要將journal_id為06、07、08,09的這四條日志參與合并即可。其中journal_id為06、07的日志為上一次產(chǎn)生的合并日志;journal_id為08、09的日志為上一次合并日志產(chǎn)生后新生成的真實的申請/釋放日志。如果合并的結(jié)果和當(dāng)前journal_id為10、11日志的結(jié)果一致,則不需要進行任何操作。若合并的結(jié)果除了當(dāng)前journal_id為10、11日志的結(jié)果外,還包括其他合并結(jié)果,則進一步增加該其他合并結(jié)果的日志,這種情況有可能是系統(tǒng)關(guān)機或其它情況導(dǎo)致上次的合并未完全完成。
[0046]另外,還有一點需要說明,在申請存儲空間時,除了考慮SMR管理的DR中連續(xù)可用空間的大小外,還需要考慮該可用空間盡可能在邏輯塊地址Iba小的位置。這主要是因為對于現(xiàn)有硬盤,小的Iba對應(yīng)的磁道在硬盤的外側(cè),在硬盤盤片旋轉(zhuǎn)速率為定值時,外側(cè)有更高的線速度,也就意味著更快的讀寫速率(外側(cè)磁道與內(nèi)側(cè)磁道平均速率比為2:1)。
[0047]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
【權(quán)利要求】
1.一種基于日志方式的存儲空間管理方法,該方法應(yīng)用于存儲設(shè)備,其特征在于,該方法包括: 在申請存儲空間或釋放存儲空間的時候,在預(yù)設(shè)大小的第二映射區(qū)域SMR中記錄對應(yīng)的申請或者釋放日志,該申請或者釋放日志記錄申請或者釋放存儲空間的起始位置以及大小信息; 按照一定的策略,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作,并在所述SMR中記錄本次產(chǎn)生的合并日志,所述合并日志記錄了空閑的存儲空間的起始位置以及大小。
2.如權(quán)利要求1所述的方法,其特征在于,日志在SMR中的記錄采用循環(huán)覆蓋的方式進行; 所述按照一定的策略,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作包括: 當(dāng)上一次合并產(chǎn)生的合并日志以及當(dāng)前未被合并的申請或釋放日志總數(shù)量占SMR內(nèi)容區(qū)域日志總?cè)菁{量的比值達到預(yù)設(shè)閾值時,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作;或者, 在申請存儲空間且沒有滿足該申請所需大小的存儲空間時,順序?qū)λ錾暾埢蜥尫湃罩?,以及上一次的合并日志?zhí)行存儲空間合并的操作。
3.如權(quán)利要求1所述的方法,其特征在于,順序?qū)λ錾暾埢蜥尫湃罩荆约吧弦淮蔚暮喜⑷罩緢?zhí)行存儲空間合并的操作包括:順序針對當(dāng)前每條未被合并的申請或釋放日志,按照日志中記錄的起始位置和大小,判斷是否可以和紅黑樹中當(dāng)前的節(jié)點進行合并,如果可以則進行合并;合并后將新生成的節(jié)點插入到紅黑樹中,并刪除被合并的節(jié)點;該新生成的節(jié)點的內(nèi)容為:本次合并后空閑存儲空間的起始位置和大小。
4.如權(quán)利要求1所述的方法,其特征在于,所述SMR中記錄的日志包括:表示是釋放空間操作還是申請空間操作的信息;表示是真實申請釋放操作的日志還是合并操作的日志的信息;日志的編號Cur_journal_id,該編號隨著日志的增加依次增加; 所述順序?qū)λ錾暾埢蜥尫湃罩荆约吧弦淮蔚暮喜⑷罩緢?zhí)行存儲空間合并的操作為按照日志編號遞增的順序依次執(zhí)行所述合并的操作。
5.如權(quán)利要求1所述的方法,其特征在于,該方法還包括,磁盤存儲空間被劃分為若干個區(qū)域reg1n,每個reg1n包括數(shù)據(jù)區(qū)域DR和映射區(qū)域MR ;其中MR包括主映射區(qū)域PMR和第二映射區(qū)域SMR5PMR包括頭部區(qū)域和記錄了屬于該PMR管理的各SMR的位置以及下一個PMR位置的內(nèi)容區(qū)域;SMR包括頭部區(qū)域和記錄所述日志的內(nèi)容區(qū)域。
6.如權(quán)利要求5所述的方法,其特征在于,所述存儲設(shè)備啟動工作后,將從磁盤中讀取PMR信息、SMR信息到內(nèi)存中,并基于內(nèi)存中的PMR信息和SMR信息進行存儲空間的管理。
7.如權(quán)利要求6所述的方法,其特征在于,若從磁盤中讀取到內(nèi)存中的SMR內(nèi)容區(qū)域中的編號最大的日志是合并日志,在需要進一步進行合并操作時,需要重新將所述合并日志之前的上一次合并日志、上一次合并日志之后的申請日志、釋放日志重新進行一次合并操作。
8.如權(quán)利要求1所述的方法,其特征在于,在申請存儲空間時,如果SMR管理的DR中存在若干個滿足申請條件的連續(xù)可用的空間,則選擇邏輯塊地址Iba小的所述可用空間。
【文檔編號】G06F11/34GK104281517SQ201410548611
【公開日】2015年1月14日 申請日期:2014年10月16日 優(yōu)先權(quán)日:2014年10月16日
【發(fā)明者】蔡和 申請人:浙江宇視科技有限公司