一種數(shù)據(jù)自精簡方法和系統(tǒng)及存儲裝置制造方法
【專利摘要】一種數(shù)據(jù)自精簡方法和系統(tǒng)及存儲裝置,該方法包括以下步驟:1.1初始化;1.2接收操作請求,如果是空間釋放或精簡卷刪除請求,則進入步驟1.5,如是寫請求,則進入步驟1.3;1.3接收寫入數(shù)據(jù)段,從信息映射表找到精簡池空閑空間的邏輯地址,將該數(shù)據(jù)段寫入對應的物理地址;1.4更新各映射表和空閑空間索引表,并在存儲設(shè)備或者存儲介質(zhì)中相應更新,如寫數(shù)據(jù)操作請求是覆蓋寫操作請求進入步驟1.5;1.5更新各映射表和空閑空間索引表完成空間釋放或者回收操作并進行相應更新。該系統(tǒng)用來執(zhí)行上述方法。該存儲裝置包括上述自精簡系統(tǒng)。本發(fā)明在空閑空間寫數(shù)據(jù)提高存儲系統(tǒng)寫性能,用寫時拷貝保證映射表一致性,及時告知存儲設(shè)備無效頁面地址。
【專利說明】一種數(shù)據(jù)自精簡方法和系統(tǒng)及存儲裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明主要涉及到數(shù)據(jù)存儲領(lǐng)域,特指一種適用于數(shù)據(jù)存儲設(shè)備的數(shù)據(jù)自精簡方法及系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)存儲系統(tǒng)中的邏輯卷在存儲設(shè)備或存儲介質(zhì)上所占用的物理空間大小,通常在邏輯卷被創(chuàng)建時就已經(jīng)由應用或用戶采用固定空間分配方法指定和分配;也就是說,邏輯卷在存儲設(shè)備或存儲介質(zhì)上獨占一個固定的物理空間。然而,在實際使用中,由于邏輯卷占用的存儲空間中很多部分沒有填滿數(shù)據(jù),因此將造成大量存儲設(shè)備或者存儲介質(zhì)上的存儲空間閑置。因此,傳統(tǒng)的固定空間分配方法的存儲空間利用率極為低下。
[0003]近些年來,越來越多的存儲系統(tǒng)在為邏輯卷分配空間時,采用自動精簡配置技術(shù)。在自動精簡配置技術(shù)中,存儲系統(tǒng)通常包含精簡卷、精簡池和映射表三部分。其中,精簡卷為建立在精簡池之上的邏輯卷;精簡池為精簡卷分配存儲設(shè)備上的物理空間;映射表包括多個表項,該映射表用于記錄精簡池存儲的數(shù)據(jù)的物理地址與該數(shù)據(jù)對應的精簡卷邏輯地址之間的對應關(guān)系。在自動精簡配置技術(shù)中,在為應用創(chuàng)建新的邏輯卷時,存儲系統(tǒng)并不會讓邏輯卷獨占存儲設(shè)備或存儲介質(zhì)上的物理空間,而是提供一個虛擬的精簡卷,多個精簡卷對應的精簡池共享存儲設(shè)備或者存儲介質(zhì)上的物理空間。當應用向精簡卷中寫入數(shù)據(jù)時,處理過程如下:精簡卷根據(jù)應用發(fā)出的請求寫入數(shù)據(jù)的命令,向精簡池申請存儲空間,精簡池從存儲設(shè)備或存儲介質(zhì)中分配物理空間,以使待寫入數(shù)據(jù)寫入精簡池分配的存儲空間中;在待寫入數(shù)據(jù)寫入精簡池分配的存儲空間后,映射表記錄該數(shù)據(jù)在精簡卷上對應的邏輯地址,與在精簡池中對應的存儲設(shè)備或存儲介質(zhì)上的物理地址,以指示該數(shù)據(jù)實際分配的物理空間。
[0004]傳統(tǒng)的數(shù)據(jù)自精簡技術(shù)存在以下幾個問題:
1.采用原地更新方法完成覆蓋寫操作,當覆蓋寫操作指向隨機地址時,數(shù)據(jù)在存儲設(shè)備或者存儲介質(zhì)上的物理位置也會隨機分布,導致存儲設(shè)備或者存儲介質(zhì)的寫性能降低。對于新型存儲介質(zhì)如閃存等,這種使數(shù)據(jù)分布在不同物理位置的隨機寫操作,還會急劇降低其使用壽命。
[0005]2.更新映射表時通常只能采用外部一致性機制如日志機制等,保存映射表的一致性,當對精簡卷進行映射表的更新操作時發(fā)生系統(tǒng)宕機,則可能會導致長時間的映射表恢復操作,甚至導致映射表的不一致。
[0006]3.現(xiàn)有的自動精簡配置方法通常只實現(xiàn)了邏輯層的空間回收,沒有利用新型的存儲介質(zhì)如閃存、PCM等本身的空間管理特性真正釋放物理層空間。比如,刪除一個文件時,現(xiàn)有的自動精簡配置方法通常只將映射表中相應的表項刪除,而不告知固態(tài)硬盤無效頁面地址。
【發(fā)明內(nèi)容】
[0007]本發(fā)明要解決的問題就在于:針對現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種在空閑空間寫數(shù)據(jù)、基于寫時拷貝技術(shù)保證映射表一致性、能夠及時告知存儲設(shè)備無效頁面地址的數(shù)據(jù)自精簡方法和系統(tǒng)及存儲裝置。
[0008]為了解決上述問題,本發(fā)明采用以下技術(shù)方案:
一種數(shù)據(jù)自精簡方法,包括以下步驟: (1.1)精簡控制層為每個精簡池建立信息映射表,表示每個精簡池的狀態(tài)信息和對應的物理存儲空間;為每個精簡卷中的已分配存儲空間的數(shù)據(jù)段建立地址映射表,表示所述數(shù)據(jù)段和精簡池上的邏輯地址的映射關(guān)系;為每個精簡池建立空閑空間索引表,表示該精簡層上的每一段空閑空間的邏輯地址和邏輯空間大?。徊⑺鲂畔⒂成浔砗偷刂酚成浔硪约翱臻e空間索引表寫入存儲設(shè)備或存儲介質(zhì)中;
(1.2)精簡控制層接收主機端對精簡卷的操作請求,如果該操作請求是空間釋放請求或者精簡卷刪除請求,則進入步驟(1.5);如果該操作請求是寫數(shù)據(jù)操作請求,則進入步驟(1.3);
(1.3)精簡控制層接收所述寫數(shù)據(jù)操作請求對應的寫入數(shù)據(jù)段,從所述信息映射表中找到有空閑邏輯空間的精簡池,從該精簡池的空閑空間索引表中找到空閑空間的邏輯地址,將所述寫入數(shù)據(jù)段寫入該邏輯地址對應的存儲設(shè)備或者存儲介質(zhì)中的物理地址中;
(1.4)精簡控制層更新所述信息映射表和地址映射表以及空閑空間索引表,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表;如果所述寫數(shù)據(jù)操作請求是覆蓋寫數(shù)據(jù)操作請求,被該操作請求指定的覆蓋寫的邏輯地址為待釋放的邏輯地址,進入步驟(1.5);否則,所述主機端對精簡卷的操作請求執(zhí)行完畢;
(1.5)針對每一個所述待釋放的邏輯地址,通過更新所述信息映射表和地址映射表以及空閑空間索引表完成對該邏輯地址的釋放或者回收操作,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表。
[0009]在步驟(1.1)中,所述信息映射表采用平衡樹結(jié)構(gòu),其中,關(guān)鍵字為精簡池對應的邏輯地址偏移,根節(jié)點和中間節(jié)點保存了所述關(guān)鍵字和關(guān)鍵字對應的地址指針,地址指針是關(guān)鍵字對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,所述信息平衡樹的葉節(jié)點中保存著多個關(guān)鍵字和信息索引段,一個信息索引段對應一個精簡池,表示為:物理卷信息數(shù)組,精簡池RAID類型,精簡池大小,精簡池剩余大小 > ;所述物理卷信息數(shù)組表示為:(設(shè)備ID,偏移),(設(shè)備ID,偏移),(設(shè)備ID,偏移)…;其中,所述設(shè)備ID用于表不物理存儲設(shè)備或者存儲介質(zhì)的唯一標識號,所述偏移表示設(shè)備ID對應的存儲設(shè)備或者存儲介質(zhì)中的起始位置,所述物理卷信息數(shù)組的長度由精簡池的RAID類型決定,所述精簡池RAID類型表示構(gòu)成精簡池的存儲設(shè)備或者存儲介質(zhì)的冗余組織方式,所述精簡池大小表示精簡池對應的物理存儲空間大小,所述精簡池剩余大小記錄精簡池中空閑的物理存儲空間大小。
[0010]作為本發(fā)明方法的進一步改進:
在步驟(1.1)中,所述地址映射表采用平衡樹結(jié)構(gòu),關(guān)鍵字為所述精簡卷標識符和所述精簡卷卷內(nèi)邏輯地址偏移,根節(jié)點和中間節(jié)點保存了關(guān)鍵字和關(guān)鍵字對應的地址指針,該地址指針是關(guān)鍵字對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,所述平衡樹的葉節(jié)點中保存著多個關(guān)鍵字和邏輯地址索引段,一個所述邏輯地址索引段對應于一個已經(jīng)被寫入存儲設(shè)備或存儲介質(zhì)的數(shù)據(jù)段,表示為:數(shù)據(jù)段邏輯地址,數(shù)據(jù)段長度,所述數(shù)據(jù)段邏輯地址表示該數(shù)據(jù)段在精簡池中的邏輯地址起始位置,所述數(shù)據(jù)段長度表示該數(shù)據(jù)段的數(shù)據(jù)長度。
[0011]在步驟(1.1)中,所述空閑空間索引表采用平衡樹結(jié)構(gòu),關(guān)鍵字為一段空閑空間在精簡池中的起始地址,根節(jié)點和中間節(jié)點保存了關(guān)鍵字和關(guān)鍵字對應的地址指針,該地址指針是關(guān)鍵字對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,所述平衡樹的葉節(jié)點中保存著多個關(guān)鍵字和空閑空間長度段。
[0012]在步驟(1.4)中,包括以下步驟:
(1.4.1)更新所述信息映射表,根據(jù)寫入數(shù)據(jù)段的大小重新計算被占用邏輯空間的精簡池的剩余大小,并修改該精簡池對應的精簡池剩余大小表項中的值;將該精簡池對應的新的信息索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的表項;
(1.4.2)更新所述地址映射表,在該表中增加一個邏輯地址索引段,表示所述寫入數(shù)據(jù)段占用的邏輯地址起始位置和該數(shù)據(jù)段的長度;將增加的索引段數(shù)據(jù)寫入存儲設(shè)備或者存儲介質(zhì)中;
(1.4.3)更新所述空閑空間索引表,刪除精簡池已被使用的空閑空間對應的表項,并將該精簡池剩余的空閑空間組織成為新的空閑空間索引表;將該精簡池對應的新的空閑空間索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的空閑空間索引表。
[0013]所述步驟(1.5)的具體流程為:
(1.5.1)更新所述信息映射表,根據(jù)釋放或者回收掉的數(shù)據(jù)段的大小重新計算被占用邏輯空間的精簡池的剩余大小,并修改該精簡池對應的精簡池剩余大小表項中的值;將該精簡池對應的新的信息索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的表項;
(1.5.2)更新所述地址映射表,刪除該表中對應的邏輯地址索引段,并重新組織該表;將該表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的地址映射表;
(1.5.3)更新所述空閑空間索引表,在該表中增加空閑空間節(jié)點,表示增加的空閑空間在精簡池中的邏輯地址起始和空閑空間大??;將增加的節(jié)點數(shù)據(jù)寫入存儲設(shè)備或者存儲介質(zhì)中。
[0014]所述步驟(1.5)中,所述精簡控制層告知存儲設(shè)備或者存儲介質(zhì)所述待釋放的物理地址對應的數(shù)據(jù)頁面為無效頁面,如果所述物理設(shè)備支持“標記刪除空間地址”指令,將每一個所述被刪除的所述地址映射表表項的內(nèi)容作為該指令的參數(shù),發(fā)送該指令到所述存儲設(shè)備。
[0015]在所述步驟(1.4)、步驟(1.5)中,采用寫時拷貝的方法更新所述信息映射表和地址映射表以及空閑空間索引表,具體流程為:
(2.1)在平衡樹中查找待更新的葉節(jié)點,并記錄從根節(jié)點到所述葉節(jié)點的路徑;
(2.2)為所述根節(jié)點分配一個新的空閑空間,將所述根節(jié)點拷貝到所述空閑空間中,生成一個新的根節(jié)點,將所述新的根節(jié)點作為當前節(jié)點,所述新的空閑空間段的地址作為所述當前節(jié)點的物理空間地址;
(2.3)如果當前節(jié)點是所述平衡樹的葉節(jié)點,則進入步驟(2.5);否則,進入步驟(2.4);(2.4)為當前節(jié)點對應的子節(jié)點分配一個新的空閑空間,將所述子節(jié)點拷貝到該空閑空間中,生成一個新的子節(jié)點。將所述新的空閑空間的地址作為所述新的子節(jié)點的物理空間地址,使用所述新的子節(jié)點的物理空間地址,填充所述當前節(jié)點中所述地址指針,將所述新的子節(jié)點作為當前節(jié)點,轉(zhuǎn)入步驟(2.3);
(2.5)更新當前節(jié)點內(nèi)容;
(2.6)將所述新的根節(jié)點的物理位置,記錄在所述存儲設(shè)備的固定位置。
[0016]本發(fā)明進一步一種數(shù)據(jù)自精簡系統(tǒng),包括:
第一模塊,用于使精簡控制層為每個精簡池建立信息映射表,表示每個精簡池的狀態(tài)信息和對應的物理存儲空間;為每個精簡卷中的已分配存儲空間的數(shù)據(jù)段建立地址映射表,表示所述數(shù)據(jù)段和精簡池上的邏輯地址的映射關(guān)系;為每個精簡池建立空閑空間索引表,表示該精簡層上的每一段空閑空間的邏輯地址和邏輯空間大??;并將所述信息映射表和地址映射表以及空閑空間索引表寫入存儲設(shè)備或存儲介質(zhì)中;
第二模塊,用于精簡控制層接收主機端對精簡卷的操作請求,如果該操作請求是空間釋放請求或者精簡卷刪除請求,則進入第五模塊;如果該操作請求是寫數(shù)據(jù)操作請求,則進入第三模塊;
第三模塊,用于使精簡控制層接收所述寫數(shù)據(jù)操作請求對應的寫入數(shù)據(jù)段,從所述信息映射表中找到有空閑邏輯空間的精簡池,從該精簡池的空閑空間索引表中找到空閑空間的邏輯地址,將所述寫入數(shù)據(jù)段寫入該邏輯地址對應的存儲設(shè)備或者存儲介質(zhì)中的物理地址中;
第四模塊,用于使精簡控制層更新所述信息映射表和地址映射表以及空閑空間索引表,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表;如果所述寫數(shù)據(jù)操作請求是覆蓋寫數(shù)據(jù)操作請求,被該操作請求指定的覆蓋寫的邏輯地址為待釋放的邏輯地址,進入第五模塊;否則,所述主機端對精簡卷的操作請求執(zhí)行完畢;
第五模塊,用于針對每一個所述待釋放的邏輯地址,通過更新所述信息映射表和地址映射表以及空閑空間索引表完成對該邏輯地址的釋放或者回收操作,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表。
[0017]本發(fā)明進一步提供一種存儲裝置,包括存儲介質(zhì)和存儲控制器,所述存儲控制器包括上述的數(shù)據(jù)自精簡系統(tǒng)。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點:
1.本發(fā)明提出的數(shù)據(jù)自精簡方法采用在空閑空間寫數(shù)據(jù)的技術(shù),由于空閑空間指向一段連續(xù)的物理地址,很好的避免了數(shù)據(jù)在存儲設(shè)備或者存儲介質(zhì)上的物理位置的隨機分布,從而提高了存儲設(shè)備或者存儲介質(zhì)的寫性能;對于新型存儲介質(zhì)如閃存等,這種使數(shù)據(jù)分布在連續(xù)物理位置的寫操作,還能很大程度提高其使用壽命。
[0019]2.本發(fā)明提出的數(shù)據(jù)自精簡方法采用寫時拷貝技術(shù)完成更新映射表操作,能夠很好的保存映射表的一致性,避免了映射表的更新操作時發(fā)生系統(tǒng)宕機時可能會導致的映射表長時間恢復操作和映射表不一致的情況。
[0020]3.本發(fā)明提出的數(shù)據(jù)自精簡方法能夠利用新型的存儲介質(zhì)如閃存、PCM等本身的空間管理特性真正釋放物理層空間,能夠提升存儲設(shè)備或者存儲介質(zhì)本身的寫性能。
[0021]4.本發(fā)明提出的數(shù)據(jù)自精簡方法采用了平衡樹結(jié)構(gòu)構(gòu)建地址映射表、信息映射表、空閑空間索引表,從而提高了對所述地址映射表、信息映射表、空閑空間索引表更新和查詢效率。[0022]
【專利附圖】
【附圖說明】
[0023]圖1是本發(fā)明方法的流程示意圖。
[0024]圖2是本發(fā)明在一個具體應用實例中實施后的存儲系統(tǒng)的結(jié)構(gòu)原理示意圖。
[0025]圖3是本發(fā)明在一個具體應用實例中實施時的原理示意圖。
[0026]圖4是本發(fā)明在一個具體應用實例中精簡池信息映射表的原理示意圖。
[0027]圖5是本發(fā)明在一個具體應用實例中精簡卷地址映射表的原理示意圖。
[0028]圖6是本發(fā)明在一個具體應用實例中精簡池空閑空間索引表的原理示意圖。
[0029]圖7是本發(fā)明在一個具體應用實例中采用寫時拷貝方法更新映射表的原理示意圖。
【具體實施方式】
[0030]以下將結(jié)合說明書附圖和具體實施例對本發(fā)明做進一步詳細說明。
[0031]如圖1所示,本發(fā)明的數(shù)據(jù)自精簡方法,包括如下步驟:
1.1精簡控制層為每個精簡池建立信息映射表,表示每個精簡池的狀態(tài)信息和對應的物理存儲空間信息;為每個精簡卷中的已分配存儲空間的數(shù)據(jù)段建立地址映射表,表示所述數(shù)據(jù)段和精簡池上的邏輯地址的映射關(guān)系;為每個精簡池建立空閑空間索引表,表示該精簡層上的每一段空閑空間的邏輯地址和邏輯空間大??;并將所述信息映射表、地址映射表以及空閑空間索引表寫入存儲設(shè)備或存儲介質(zhì)中;
1.2精簡控制層接收主機端101對精簡卷的操作請求,如果該操作請求是空間釋放請求或者精簡卷刪除請求,則進入步驟1.5 ;如果該操作請求是寫數(shù)據(jù)操作請求,則進入步驟
1.3 ;
1.3精簡控制層接收所述寫數(shù)據(jù)操作請求對應的寫入數(shù)據(jù)段,從所述信息映射表中找到有空閑邏輯空間的精簡池,從該精簡池的空閑空間索引表中找到空閑空間的邏輯地址,將所述寫入數(shù)據(jù)段寫入該邏輯地址對應的存儲設(shè)備或者存儲介質(zhì)中的物理地址中;
1.4精簡控制層更新所述信息映射表、地址映射表以及空閑空間索引表,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表、地址映射表以及空閑空間索引表;如果所述寫數(shù)據(jù)操作請求是覆蓋寫數(shù)據(jù)操作請求,被該操作請求指定的覆蓋寫的邏輯地址為待釋放的邏輯地址,進入步驟1.5 ;否則,所述主機端對精簡卷的操作請求執(zhí)行完畢;
1.5針對每一個所述待釋放的邏輯地址,通過更新所述信息映射表和地址映射表以及空閑空間索引表完成對該邏輯地址的釋放或者回收操作,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表、地址映射表以及空閑空間索引表。
[0032]如圖2所示,是本發(fā)明在一個具體應用實例中實施后的存儲系統(tǒng)結(jié)構(gòu)原理示意圖,以下將以該實例描述本發(fā)明的具體實現(xiàn)原理。其中,主機端101是發(fā)送讀寫操作的源主機。存儲系統(tǒng)102采用了本發(fā)明數(shù)據(jù)自精簡方法,該存儲系統(tǒng)102包括精簡控制層群104、存儲設(shè)備或存儲介質(zhì)群105 ;其中,精簡控制層群104中可以包括I個或多個精簡控制層,存儲設(shè)備或者存儲介質(zhì)群105可以包括例如硬盤、磁帶驅(qū)動器、半導體存儲器等單個存儲設(shè)備或存儲介質(zhì),也可以包括冗余陣列系統(tǒng)(例如獨立磁盤冗余陣列RAID)等多個存儲設(shè)備組成的裝置或者網(wǎng)絡附屬連接存儲系統(tǒng)等網(wǎng)絡存儲裝置。主機端101與存儲系統(tǒng)102之間通過網(wǎng)絡103連接,所述網(wǎng)絡103可以包括局域網(wǎng)、廣域網(wǎng)、無線網(wǎng)絡、IB網(wǎng)絡、光纖網(wǎng)絡和以太網(wǎng)絡或者實現(xiàn)網(wǎng)絡通信的其他任何網(wǎng)絡。通過網(wǎng)絡103相互連接之后,主機端101與存儲系統(tǒng)102之間互發(fā)消息,完成數(shù)據(jù)讀寫的操作。
[0033]圖3為實施本發(fā)明后的原理示意圖。以I個精簡控制層為例,在本實施例中,本發(fā)明的數(shù)據(jù)自精簡方法主要包括以下步驟:
1.1)存儲系統(tǒng)初始化步驟,具體包括:
精簡控制層為第一精簡池204和第二精簡池205建立信息映射表,表示每個精簡池的狀態(tài)信息和對應的物理存儲空間;本實例中,所述信息映射表采用B+樹結(jié)構(gòu),如圖4所示,其中,關(guān)鍵字401為精簡池對應的邏輯地址偏移,地址指針402是關(guān)鍵字401對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,根節(jié)點403和中間節(jié)點404保存了多個關(guān)鍵字和關(guān)鍵字對應的地址指針,該B+樹的葉節(jié)點中保存著多個關(guān)鍵字和信息索引段,如葉節(jié)點405包括關(guān)鍵字406和索引段407,一個信息索引段對應一個精簡池,表示為〈物理卷信息數(shù)組,精簡池RAID類型,精簡池大小,精簡池剩余大小 >,所述物理卷信息數(shù)組表示為〈(設(shè)備ID,偏移),(設(shè)備ID,偏移),(設(shè)備ID,偏移)… >,其中,所述設(shè)備ID用于表不物理存儲設(shè)備或者存儲介質(zhì)的唯一標識號,所述偏移表示設(shè)備ID對應的存儲設(shè)備或者存儲介質(zhì)中的起始位置,所述物理卷信息數(shù)組的長度由精簡池的RAID類型決定,所述精簡池RAID類型表示構(gòu)成精簡池的存儲設(shè)備或者存儲介質(zhì)的冗余組織方式,所述精簡池大小表示精簡池對應的物理存儲空間大小,所述精簡池剩余大小記錄精簡池中空閑的物理存儲空間大小;將該信息映射表寫入存儲設(shè)備中。
[0034]從信息映射表中,可以通過所述物理卷信息數(shù)組和所述精簡池RAID類型知道每個精簡池的邏輯空間指向的存儲設(shè)備或者存儲介質(zhì)中的物理地址。如圖3所示,第一信息映射表項215說明第一精簡池204的邏輯地址空間指向的是存儲設(shè)備或者存儲介質(zhì)上的第一存儲空間202,第二信息映射表項216說明第二精簡池205的邏輯地址空間指向的是存儲設(shè)備或者存儲介質(zhì)上的第二存儲空間203。
[0035]為第一精簡卷220、第二精簡卷221、第三精簡卷222中的已分配存儲空間的數(shù)據(jù)段建立地址映射表,表示所述數(shù)據(jù)段和精簡池上的邏輯地址的映射關(guān)系;本實例中,所述信息映射表采用B+樹結(jié)構(gòu),如圖5所示,其中,關(guān)鍵字501為所述精簡卷標識符和所述精簡卷卷內(nèi)邏輯地址偏移,地址指針502是關(guān)鍵字501對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,根節(jié)點503和中間節(jié)點504保存了多個關(guān)鍵字和關(guān)鍵字對應的地址指針,該B+樹的葉節(jié)點中保存著多個關(guān)鍵字和邏輯地址索引段,如葉節(jié)點505包括關(guān)鍵字506和索引段507,一個所述邏輯地址索引段對應于一個已經(jīng)被寫入存儲設(shè)備或存儲介質(zhì)的數(shù)據(jù)段,表示為〈數(shù)據(jù)段邏輯地址,數(shù)據(jù)段長度 >,所述數(shù)據(jù)段邏輯地址表示該數(shù)據(jù)段在精簡池中的邏輯地址起始位置,所述數(shù)據(jù)段長度表示該數(shù)據(jù)段的數(shù)據(jù)長度;將地址映射表寫入存儲設(shè)備或者存儲介質(zhì)中。
[0036]從地址映射表中,可以直接讀出精簡卷上的已存儲數(shù)據(jù)段對應的精簡池上的邏輯地址,如圖3所示,第一地址映射表表項214表示了第一精簡卷220上的第一個已存儲數(shù)據(jù)段A到第一精簡池204的第一個數(shù)據(jù)塊空間a的映射關(guān)系,第二地址映射表表項217表不了第二精簡卷221上的第三個已存儲數(shù)據(jù)段F到第二精簡池205的第一個數(shù)據(jù)塊空間f的映射關(guān)系。
[0037]為第一精簡池204和第二精簡池205建立空閑空間索引表,表示該精簡層上的每一段空閑空間,如空閑空間207的邏輯地址和邏輯空間大??;本實例中,所述信息映射表采用B+樹結(jié)構(gòu),如圖6所示,其中,關(guān)鍵字601為一段空閑空間在精簡池中的起始地址,地址指針602是關(guān)鍵字601對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,根節(jié)點603和中間節(jié)點604保存了多個關(guān)鍵字和關(guān)鍵字對應的地址指針,該B+樹的葉節(jié)點中保存著多個關(guān)鍵字和空閑空間的長度段,如葉節(jié)點605包括關(guān)鍵字606和空閑空間長度段607 ;將所述空閑空間索引表寫入存儲設(shè)備或存儲介質(zhì)中。
[0038]通過所述空閑空間索引表能夠定位每個空閑空間在精簡池上的邏輯地址,結(jié)合信息映射表可以計算出每個空閑空間在存儲設(shè)備或者存儲介質(zhì)上的物理地址。
[0039]在本發(fā)明提供的數(shù)據(jù)自精簡方法中,步驟1.1)為存儲系統(tǒng)初始化步驟,在使用本發(fā)明提供的數(shù)據(jù)自精簡方法的存儲系統(tǒng)中,只需要執(zhí)行一遍步驟1.1),即可使該存儲系統(tǒng)具備使用本發(fā)明提供的數(shù)據(jù)自精簡方法的前提條件。當該存儲系統(tǒng)的存儲設(shè)備更換時,步驟1.1)需要重新執(zhí)行一次。
[0040]1.2)確定操作請求類型,具體包括:
所述精簡控制層接收主機端101對精簡卷的操作請求,如果該操作請求是空間釋放請求或者精簡卷刪除請求,則進入步驟1.5);如果該操作請求是寫數(shù)據(jù)操作請求,則進入步驟
1.3);本實例中,操作請求為寫數(shù)據(jù)操作請求。
[0041]1.3)寫數(shù)據(jù)執(zhí)行步驟,具體包括:
所述精簡控制層接收所述寫數(shù)據(jù)操作請求對應的寫入數(shù)據(jù)段,在本實例中,所述寫數(shù)據(jù)操作請求表示要將數(shù)據(jù)段218寫入第一精簡卷220中,則從信息映射表中找到有空閑邏輯空間的第一精簡池204,從該精簡池的空閑空間索引表中找到空閑空間的邏輯地址219,將所述寫入數(shù)據(jù)段218寫入該邏輯地址對應的存儲設(shè)備或者存儲介質(zhì)中的物理地址中。
[0042]1.4)更新映射表操作,具體包括:
更新所述信息映射表,根據(jù)寫入數(shù)據(jù)段218的大小重新計算被占用邏輯空間的第一精簡池204的剩余大小,并修改該精簡池對應的精簡池剩余大小表項中的值;將該精簡池對應的新的信息索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的表項;
更新所述地址映射表,在該表中增加一個邏輯地址索引段,表示所述寫入數(shù)據(jù)段218占用邏輯空間219的邏輯地址起始位置和該數(shù)據(jù)段的長度;將增加的索引段數(shù)據(jù)寫入存儲設(shè)備或者存儲介質(zhì)中;
更新所述空閑空間索引表,刪除第一精簡池204已被使用的空閑空間219對應的表項,并將該精簡池剩余的空閑空間組織成為新的空閑空間索引表;將該精簡池對應的新的空閑空間索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的空閑空間索引表。
[0043]如果所述寫數(shù)據(jù)操作請求是覆蓋寫數(shù)據(jù)操作請求,被該操作請求指定的覆蓋寫的邏輯地址為待釋放的邏輯地址,進入步驟1.5);否則,所述主機端對精簡卷的操作請求執(zhí)行完畢;
1.5)釋放空間操作,針對每一個所述待釋放的邏輯地址,通過更新所述信息映射表和地址映射表以及空閑空間索引表完成對該邏輯地址的釋放或者回收操作,具體包括:
本實施例以釋放數(shù)據(jù)段211 (A)在精簡卷中占用的空間為例: 更新所述信息映射表,從所述地址映射表可以知道數(shù)據(jù)段211 (A)對應的邏輯地址為第一精簡池204上的第一個數(shù)據(jù)塊空間206 (a),根據(jù)數(shù)據(jù)段211 (A)的大小重新計算第一精簡池204的剩余大小,并修改該精簡池對應的精簡池剩余大小表項中的值;將該精簡池對應的新的信息索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的表項;
更新所述地址映射表,刪除該表中與數(shù)據(jù)段211 (A)對應的邏輯地址索引段,并重新組織該表;將該表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的地址映射表;
更新所述空閑空間索引表,在該表中增加對應第一精簡池204上空閑數(shù)據(jù)段206的空閑空間節(jié)點,表示增加的空閑空間段206在第一精簡池204中的邏輯地址起始和空閑空間大?。粚⒃黾拥墓?jié)點數(shù)據(jù)寫入存儲設(shè)備或者存儲介質(zhì)中。
[0044]上述步驟1.5)還進一步包括所述精簡控制層告知存儲設(shè)備或者存儲介質(zhì)所述待釋放的物理地址對應的數(shù)據(jù)頁面為無效頁面,如果所述物理設(shè)備支持“標記刪除空間地址”指令,將每一個所述被刪除的所述地址映射表表項的內(nèi)容作為該指令的參數(shù),發(fā)送該指令到所述存儲設(shè)備。
[0045]上述步驟1.4)和步驟1.5)采用寫時拷貝的方法更新所述信息映射表和地址映射表以及空閑空間索引表。
[0046]本實施例中,上述信息映射表、地址映射表以及空閑空間索引表均采用的是B+樹結(jié)構(gòu),上述步驟1.4)和步驟1.5)采用寫時拷貝的方法更新所述信息映射表和地址映射表以及空閑空間索引表為通用的過程,如圖7所示,具體步驟包括:
2.1)在平衡樹中查找待更新的葉節(jié)點706,并記錄從根節(jié)點701到葉節(jié)點706的路徑;
2.2)為根節(jié)點701分配一個新的空閑空間,將所述根節(jié)點拷貝到所述空閑空間中,生成一個新的根節(jié)點710。將所述新的根節(jié)點710作為當前節(jié)點,所述新的空閑空間段的地址作為所述當前節(jié)點的物理空間地址;
2.3)如果當前節(jié)點是所述B+樹的葉節(jié)點,則進入步驟2.5);否則,進入步驟2.4);
2.4)為所述路徑上當前節(jié)點對應的子節(jié)點704分配一個新的空閑空間,將所述子節(jié)點拷貝到該空閑空間中,生成一個新的子節(jié)點708,將所述新的空閑空間的地址作為新的子節(jié)點708的物理空間地址,使用所述新的子節(jié)點708的物理空間地址,填充所述當前節(jié)點中的所述地址指針,將所述新的子節(jié)點708作為當前節(jié)點,轉(zhuǎn)入步驟2.3);
2.5)更新當前節(jié)點709 ;
2.6)將所述新的根節(jié)點710的物理位置,記錄在所述存儲設(shè)備的固定位置。
[0047]本實施例中,所有對存儲設(shè)備或者存儲介質(zhì)的寫操作均采用順序?qū)懛椒?,以充分開發(fā)所述存儲設(shè)備或者存儲介質(zhì)的順序?qū)懺L問性能。
[0048]本發(fā)明進一步提供一種數(shù)據(jù)自精簡系統(tǒng),包括:
第一模塊,用于使精簡控制層為每個精簡池建立信息映射表,表示每個精簡池的狀態(tài)信息和對應的物理存儲空間;為每個精簡卷中的已分配存儲空間的數(shù)據(jù)段建立地址映射表,表示所述數(shù)據(jù)段和精簡池上的邏輯地址的映射關(guān)系;為每個精簡池建立空閑空間索引表,表示該精簡層上的每一段空閑空間的邏輯地址和邏輯空間大??;并將所述信息映射表和地址映射表以及空閑空間索引表寫入存儲設(shè)備或存儲介質(zhì)中;
第二模塊,用于精簡控制層接收主機端對精簡卷的操作請求,如果該操作請求是空間釋放請求或者精簡卷刪除請求,則進入第五模塊;如果該操作請求是寫數(shù)據(jù)操作請求,則進入第三模塊;
第三模塊,用于使精簡控制層接收所述寫數(shù)據(jù)操作請求對應的寫入數(shù)據(jù)段,從所述信息映射表中找到有空閑邏輯空間的精簡池,從該精簡池的空閑空間索引表中找到空閑空間的邏輯地址,將所述寫入數(shù)據(jù)段寫入該邏輯地址對應的存儲設(shè)備或者存儲介質(zhì)中的物理地址中;
第四模塊,用于使精簡控制層更新所述信息映射表和地址映射表以及空閑空間索引表,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表;如果所述寫數(shù)據(jù)操作請求是覆蓋寫數(shù)據(jù)操作請求,被該操作請求指定的覆蓋寫的邏輯地址為待釋放的邏輯地址,進入第五模塊;否則,所述主機端對精簡卷的操作請求執(zhí)行完畢;
第五模塊,用于針對每一個所述待釋放的邏輯地址,通過更新所述信息映射表和地址映射表以及空閑空間索引表完成對該邏輯地址的釋放或者回收操作,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表。
[0049]本發(fā)明進一步提供一種存儲裝置,包括存儲介質(zhì)和存儲控制器,所述存儲控制器包括上述的數(shù)據(jù)自精簡系統(tǒng)。
[0050]以上僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護范圍。應當指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,應視為本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種數(shù)據(jù)自精簡方法,其特征在于,包括以下步驟: (1.1)精簡控制層為每個精簡池建立信息映射表,表示每個精簡池的狀態(tài)信息和對應的物理存儲空間;為每個精簡卷中的已分配存儲空間的數(shù)據(jù)段建立地址映射表,表示所述數(shù)據(jù)段和精簡池上的邏輯地址的映射關(guān)系;為每個精簡池建立空閑空間索引表,表示該精簡層上的每一段空閑空間的邏輯地址和邏輯空間大??;并將所述信息映射表和地址映射表以及空閑空間索引表寫入存儲設(shè)備或存儲介質(zhì)中; (1.2)精簡控制層接收主機端對精簡卷的操作請求,如果該操作請求是空間釋放請求或者精簡卷刪除請求,則進入步驟(1.5);如果該操作請求是寫數(shù)據(jù)操作請求,則進入步驟(1.3); (1.3)精簡控制層接收所述寫數(shù)據(jù)操作請求對應的寫入數(shù)據(jù)段,從所述信息映射表中找到有空閑邏輯空間的精簡池,從該精簡池的空閑空間索引表中找到空閑空間的邏輯地址,將所述寫入數(shù)據(jù)段寫入該邏輯地址對應的存儲設(shè)備或者存儲介質(zhì)中的物理地址中; (1.4)精簡控制層更新所述信息映射表和地址映射表以及空閑空間索引表,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表;如果所述寫數(shù)據(jù)操作請求是覆蓋寫數(shù)據(jù)操作請求,被該操作請求指定的覆蓋寫的邏輯地址為待釋放的邏輯地址,進入步驟(1.5);否則,所述主機端對精簡卷的操作請求執(zhí)行完畢; (1.5)針對每一個所述待釋放的邏輯地址,通過更新所述信息映射表和地址映射表以及空閑空間索引表完成對該邏輯地址的釋放或者回收操作,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)自精簡方法,其特征在于,在步驟(1.0中,所述信息映射表采用平衡樹結(jié)構(gòu),其中,關(guān)鍵字為精簡池對應的邏輯地址偏移,根節(jié)點和中間節(jié)點保存了所述關(guān)鍵字和關(guān)鍵字對應的地址指針,地址指針是關(guān)鍵字對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,所述信息平衡樹的葉節(jié)點中保存著多個關(guān)鍵字和信息索引段,一個信息索引段對應一個精簡池,表示為:物理卷信息數(shù)組,精簡池RAID類型,精簡池大小,精簡池剩余大小 > ;所述物理卷信息數(shù)組表示為:(設(shè)備ID,偏移),(設(shè)備ID,偏移),(設(shè)備ID,偏移)…;其中,所述設(shè)備ID用于表示物理存儲設(shè)備或者存儲介質(zhì)的唯一標識號,所述偏移表示設(shè)備ID對應的存儲設(shè)備或者存儲介質(zhì)中的起始位置,所述物理卷信息數(shù)組的長度由精簡池的RAID類型決定,所述精簡池RAID類型表示構(gòu)成精簡池的存儲設(shè)備或者存儲介質(zhì)的冗余組織方式,所述精簡池大小表示精簡池對應的物理存儲空間大小,所述精簡池剩余大小記錄精簡池中空閑的物理存儲空間大小。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)自精簡方法,其特征在于,在步驟(1.0中,所述地址映射表采用平衡樹結(jié)構(gòu),關(guān)鍵字為所述精簡卷標識符和所述精簡卷卷內(nèi)邏輯地址偏移,根節(jié)點和中間節(jié)點保存了關(guān)鍵字和關(guān)鍵字對應的地址指針,該地址指針是關(guān)鍵字對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,所述平衡樹的葉節(jié)點中保存著多個關(guān)鍵字和邏輯地址索引段,一個所述邏輯地址索引段對應于一個已經(jīng)被寫入存儲設(shè)備或存儲介質(zhì)的數(shù)據(jù)段,表示為:數(shù)據(jù)段邏輯地址,數(shù)據(jù)段長度,所述數(shù)據(jù)段邏輯地址表示該數(shù)據(jù)段在精簡池中的邏輯地址起始位置,所述數(shù)據(jù)段長度表示該數(shù)據(jù)段的數(shù)據(jù)長度。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)自精簡方法,其特征 在于,在步驟(1.0中,所述空閑空間索引表采用平衡樹結(jié)構(gòu),關(guān)鍵字為一段空閑空間在精簡池中的起始地址,根節(jié)點和中間節(jié)點保存了關(guān)鍵字和關(guān)鍵字對應的地址指針,該地址指針是關(guān)鍵字對應的子節(jié)點在存儲設(shè)備或者存儲介質(zhì)上的物理位置,所述平衡樹的葉節(jié)點中保存著多個關(guān)鍵字和空閑空間長度段。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)自精簡方法,其特征在于,在步驟(1.4)中,包括以下步驟: (1.4.1)更新所述信息映射表,根據(jù)寫入數(shù)據(jù)段的大小重新計算被占用邏輯空間的精簡池的剩余大小,并修改該精簡池對應的精簡池剩余大小表項中的值;將該精簡池對應的新的信息索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的表項; (1.4.2)更新所述地址映射表,在該表中增加一個邏輯地址索引段,表示所述寫入數(shù)據(jù)段占用的邏輯地址起始位置和該數(shù)據(jù)段的長度;將增加的索引段數(shù)據(jù)寫入存儲設(shè)備或者存儲介質(zhì)中; (1.4.3)更新所述空閑空間索引表,刪除精簡池已被使用的空閑空間對應的表項,并將該精簡池剩余的空閑空間組織成為新的空閑空間索引表;將該精簡池對應的新的空閑空間索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的空閑空間索引表。
6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)自精簡方法,其特征在于,所述步驟(1.5)的具體流程為: (1.5.1)更新所述信息映射表,根據(jù)釋放或者回收掉的數(shù)據(jù)段的大小重新計算被占用邏輯空間的精簡池的剩余大小,并修改該精簡池對應的精簡池剩余大小表項中的值;將該精簡池對應的新的信息索引表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的表項; (1.5.2)更新所述地址映射表,刪除該表中對應的邏輯地址索引段,并重新組織該表;將該表寫入存儲設(shè)備或者存儲介質(zhì)中,刪除原有的地址映射表; (1.5.3)更新所述空閑空間索引表,在該表中增加空閑空間節(jié)點,表示增加的空閑空間在精簡池中的邏輯地址起始和空閑空間大??;將增加的節(jié)點數(shù)據(jù)寫入存儲設(shè)備或者存儲介質(zhì)中。
7.根據(jù)權(quán)利要求1所述的數(shù)據(jù)自精簡方法,其特征在于,所述步驟(1.5)中,所述精簡控制層告知存儲設(shè)備或者存儲介質(zhì)所述待釋放的物理地址對應的數(shù)據(jù)頁面為無效頁面,如果所述物理設(shè)備支持“標記刪除空間地址”指令,將每一個所述被刪除的所述地址映射表表項的內(nèi)容作為該指令的參數(shù),發(fā)送該指令到所述存儲設(shè)備。
8.根據(jù)權(quán)利要求1~7中任意一項所述的數(shù)據(jù)自精簡方法,其特征在于,在所述步驟(1.4)、步驟(1.5)中,采用寫時拷貝的方法更新所述信息映射表和地址映射表以及空閑空間索引表,具體流程為: (2.1)在平衡樹中查找待更新的葉節(jié)點,并記錄從根節(jié)點到所述葉節(jié)點的路徑; (2.2)為所述根節(jié)點分配一個新的空閑空間,將所述根節(jié)點拷貝到所述空閑空間中,生成一個新的根節(jié)點,將所述新的根節(jié)點作為當前節(jié)點,所述新的空閑空間段的地址作為所述當前節(jié)點的物理空間地址; (2.3)如果當前節(jié)點是所述平衡樹的葉節(jié)點,則進入步驟(2.5);否則,進入步驟(2.4); (2.4)為當前節(jié)點對應的子節(jié)點分配一個新的空閑空間,將所述子節(jié)點拷貝到該空閑空間中,生成一個新的子節(jié)點;將所述新的空閑空間的地址作為所述新的子節(jié)點的物理空間地址,使用所述新的子節(jié)點的物理空間地址,填充所述當前節(jié)點中所述地址指針,將所述新的子節(jié)點作為當前節(jié)點,轉(zhuǎn)入步驟(2.3); (2.5)更新當前節(jié)點內(nèi)容; (2.6)將所述新的根節(jié)點的物理位置,記錄在所述存儲設(shè)備的固定位置。
9.一種數(shù)據(jù)自精簡系統(tǒng),其特征在于,包括: 第一模塊,用于使精簡控制層為每個精簡池建立信息映射表,表示每個精簡池的狀態(tài)信息和對應的物理存儲空間;為每個精簡卷中的已分配存儲空間的數(shù)據(jù)段建立地址映射表,表示所述數(shù)據(jù)段和精簡池上的邏輯地址的映射關(guān)系;為每個精簡池建立空閑空間索引表,表示該精簡層上的每一段空閑空間的邏輯地址和邏輯空間大?。徊⑺鲂畔⒂成浔砗偷刂酚成浔硪约翱臻e空間索引表寫入存儲設(shè)備或存儲介質(zhì)中; 第二模塊,用于精簡控制層接收主機端對精簡卷的操作請求,如果該操作請求是空間釋放請求或者精簡卷刪除請求,則進入第五模塊;如果該操作請求是寫數(shù)據(jù)操作請求,則進入第三模塊; 第三模塊,用于使精簡控制層接收所述寫數(shù)據(jù)操作請求對應的寫入數(shù)據(jù)段,從所述信息映射表中找到有空閑邏輯空間的精簡池,從該精簡池的空閑空間索引表中找到空閑空間的邏輯地址,將所述寫入數(shù)據(jù)段寫入該邏輯地址對應的存儲設(shè)備或者存儲介質(zhì)中的物理地址中; 第四模塊,用于使精簡控制層更新所述信息映射表和地址映射表以及空閑空間索引表,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表;如果所述寫數(shù)據(jù)操作請求是覆蓋寫數(shù)據(jù)操作請求,被該操作請求指定的覆蓋寫的邏輯地址為待釋放的邏輯地址,進入第五模塊;否則,所述主機端對精簡卷的操作請求執(zhí)行完畢; 第五模塊,用于針對每一個所述待釋放的邏輯地址,通過更新所述信息映射表和地址映射表以及空閑空間索引表完成對該邏輯地址的釋放或者回收操作,并更新存儲設(shè)備或者存儲介質(zhì)中存儲的所述信息映射表和地址映射表以及空閑空間索引表。
10.一種存儲裝置,包括存儲介質(zhì)和存儲控制器,其特征在于,所述存儲控制器包括權(quán)利要求9所述的數(shù)據(jù)自精簡系統(tǒng)。
【文檔編號】G06F17/30GK103514249SQ201310246065
【公開日】2014年1月15日 申請日期:2013年6月20日 優(yōu)先權(quán)日:2013年6月20日
【發(fā)明者】易樂天, 錢凱, 趙朕毅 申請人:易樂天, 錢凱, 趙朕毅