用於粉碎數據的方法和存儲控制器的製作方法
2023-05-30 04:00:36 4
專利名稱:用於粉碎數據的方法和存儲控制器的製作方法
技術領域:
本發明一般涉及數據毀滅(粉碎(shredding)),特別涉及提供靈活的、基於存儲控制器的粉碎策略。
背景技術:
由於商業、安全、規章或政府的要求,被存儲但是過時或不再需要的客戶數據可能需要以不可恢復的方式安全地被擦除或刪除(被稱為數據粉碎)。粉碎涉及覆寫存儲了客戶數據的物理介質的區域。覆寫典型地用諸如全部0、全部1的各種位模式之一替換數據。然而,因為在覆寫操作期間可能發生錯誤,所以某些安全協議要求多遍覆寫,以便確保沒有遺留原始數據的殘餘。這樣,一種政府的粉碎策略要求寫入指定模式七次。另一種更嚴格的策略要求用數據的補碼對其進行覆寫,然後用全部1覆寫,然後用全部0覆寫,最後用指定模式覆寫七次。其它粉碎策略也在使用中,並且可以根據應用和主管機構(regulating authority)而變化。
過去,磁帶驅動器和光碟機動器實現了以固定模式對整個卷執行覆寫或擦除的固定命令。諸如IBMData Retention 450的較新數據保持產品基於磁碟驅動器,並且包括伺服器(或主機)和外部盤控制器。圖1是示例性數據保持設備100的方框圖,其包括主機110、存儲控制器120和附連的盤驅動器(其可以包括RAID陣列)130。主機120內的軟體122跟蹤要粉碎邏輯卷的哪些扇區,並且引導執行粉碎操作。
過去用來從磁帶和光碟機動器破壞數據的固定擦除命令不夠靈活以滿足較新且變化的規章粉碎要求。此外,為了覆寫數據扇區,主機必須將覆寫模式如同實際數據一樣發送到存儲控制器。在網絡環境中,該數據的傳送使用了昂貴的帶寬。
另外,在存儲陣列130中,邏輯卷的扇區典型地分散在陣列130的多個物理驅動器上。這些驅動器中的一個可能離線或處於降級狀態,該情形已為控制器120所知,但主機110不知。在這樣的情況下,雖然主機110認為粉碎操作成功,但是離線或降級的驅動器上的數據仍未被粉碎。
因此,需要一種靈活的粉碎系統,其適應各種粉碎要求,降低帶寬要求,並且考慮到離線或降級的驅動器。
發明內容
本發明提供了用於在存儲控制器中執行基於策略的數據粉碎的方法、系統、電腦程式產品以及用於部署計算基礎結構的方法。針對存儲在存儲設備的存儲介質上的位置中的卷,創建粉碎策略。將策略存儲到控制器中,當接收到粉碎卷的命令時,控制器根據策略執行命令。策略包括要在介質位置上執行的寫入遍數和要在介質位置上寫入的模式。策略還可以表明是在多遍寫入的每一遍的期間還是僅僅在第一遍更新奇偶校驗區域。卷可以與任何數目的可能粉碎策略相關聯;來自主機的粉碎命令表明要執行哪一種策略。
在一個實施例中,例如通過使用write_verify(寫入核實)命令的控制字節內的廠商專用位,將粉碎命令嵌入到SCSI write_verify命令中。所使用的位數代表卷可用的可能策略的數目。
在控制器中存儲並執行策略比執行基於主機的粉碎更有效,並且需要使用更少的主機和控制器之間的寶貴帶寬。另外,控制器知道存儲陣列中的每個驅動器的故障、降級和離線狀態,從而能夠在必要時終止或修改粉碎操作。
圖1是示例性數據保持設備的方框圖;圖2是可以實現本發明的粉碎管理的存儲控制器的方框圖;圖3是示例性邏輯卷的圖示;圖4示出了可以用作粉碎命令的SCSI write_verify命令的位;圖5是基於粉碎命令的位值而選擇的可能粉碎策略的表;圖6是基於粉碎命令的位值而選擇的可能粉碎策略的可替換表。
具體實施例方式
圖2是可以實現本發明的粉碎管理的存儲控制器200的方框圖。控制器200直接地或通過網絡260,經由主機接口202附連到主機250。控制器還通過一個或多個設備接口204附連到盤驅動器或RAID陣列270。數據可以被存儲在單個驅動器內的代表邏輯卷的物理扇區中。在陣列270中,邏輯卷300的數據被存儲在分散於各個驅動器上的扇區中。在兩種配置中,都由控制器200維護物理存儲到邏輯卷的映射。圖3是示例性邏輯卷300的圖示,其具有數據區域302和奇偶校驗區域304。控制器200還包括存儲了軟體指令的存儲器210、以及可操作以執行指令的處理器206。在存儲器210中所存儲的軟體指令當中有粉碎管理模塊212。
粉碎管理模塊212包括針對存儲在驅動器270中的每個邏輯卷的策略。策略包括代表在粉碎卷時要被執行的覆寫遍數的參數、以及代表用來覆寫原始客戶數據的模式的參數。一些模式例子包括(但不限於)用於政府應用的安全標準指定模式;全部0;全部1;原始客戶數據的補碼,隨後是另一模式;原始客戶數據的邏輯或或者異或,隨後是另一模式;或某種其它任意模式。
策略還可以包括表明要對奇偶校驗區域304做什麼的參數。例如,如果要在每一遍覆寫期間更新奇偶校驗區域,則可以將標誌或其它指示符設成第一狀態,而如果僅僅在第一遍覆寫期間更新奇偶校驗區域,則可以將標誌或其它指示符設成第二狀態。
可以為策略分配允許高效標識多個策略的號碼或描述名(以下被稱為「策略句柄」)。在一個實施例中,每個邏輯卷可以具有由它們各自的句柄標識的幾種可能粉碎策略。在操作中,從主機250到控制器200的用於粉碎卷的命令可以因此而包括要由控制器200執行的粉碎策略的句柄。兩位粉碎命令將標識四種可能粉碎策略中的一種。在一個實施例中,例如其中主機250通過SCSI命令接口附連到控制器200,可以將粉碎命令嵌入到現有的write_verify命令400的兩個廠商專用位(如位6和7)402和404。如圖5的表所示,兩個位的不同組合代表可供在卷上使用的四種可能粉碎策略。可以使用不同的表來指定每個邏輯卷可用的可能粉碎策略。表可以引用預定義的策略(圖5)或者可以通過條目定義策略(圖6),其中條目設定了要被執行的寫入遍數、要覆寫原始數據的模式、以及(如果需要的話)是執行奇偶校驗的一次覆寫還是執行多次覆寫。應當理解,可以使用不同的位數來提供更多或更少的可能粉碎策略,並且write_verify的其它位和其它命令可以用來從主機250向控制器200傳達策略選擇。此外,粉碎管理模塊212可以提供接口,以允許系統管理員定義和存儲附加的粉碎策略。
在現有技術中,粉碎卷要求主機110(圖1)將用來覆寫原始客戶數據的模式傳送到控制器120。事實上,模式採取實際數據的形式,並具有與實際數據相同的尺寸,因此需要相同的傳送帶寬。此外,如果要多次寫入該模式,則可能必須使用更多的帶寬將其傳送多次。然而,相反地,在本發明中,因為策略被存儲在控制器200中,並且由控制器200執行,所以除了傳送單個粉碎命令本身之外,不需要使用主機250和控制器200之間的寶貴帶寬。
有時,盤驅動器或陣列270的驅動器中的一個可能出故障、可能處於降級狀態、或者離線,這是主機250不知而為控制器200所知的情形。如果從主機250執行粉碎管理,則在事實上粉碎操作完全或部分地失敗時,可能認為它成功。在控制器200中實現的本發明的粉碎管理給控制器200提供了確認這種情形的能力。例如,如果要被粉碎的數據所在的驅動器或多個驅動器之一270被降級或離線,則預設地,控制器200可以終止粉碎操作,並且向主機250通知失敗。可替換地,控制器200預設地可以粉碎任何可得數據,並且通知主機250。作為另一可替換方案,粉碎命令可以表明如果驅動器或多個驅動器之一270被降級或離線,則要執行兩個(或其它)操作中的哪一個。
值得注意的是,雖然本發明是在全功能數據處理系統的上下文中描述的,但是本領域的普通技術人員應當理解,本發明的處理能夠以包含指令的計算機可讀介質的形式和各種形式發行,並且本發明都同樣適用,而與實際用來執行發行的信號承載介質的特定類型無關。計算機可讀介質的例子包括諸如軟盤、硬碟驅動器、RAM和CD-ROM的可記錄型介質,以及諸如數字和模擬通信鏈路的傳輸型介質。
對本發明的描述是為了示例說明的目的而提供的,而不旨在是徹底無遺漏的,或者局限於所公開的形式。很多修改和變更對於本領域的普通技術人員將是明顯的。選擇和描述該實施例是為了最佳地說明本發明的原理及其實際應用,並且使得本領域的其他普通技術人員能夠理解本發明,以便實現具有適於特定預期用途的各種修改的各種實施例。此外,雖然上面是關於設備來描述的,但是通過管理粉碎操作的方法、包含用於管理粉碎操作的指令的電腦程式產品、或者包括將計算機可讀代碼集成到用於管理粉碎操作的計算系統中以部署計算基礎結構的方法,也可以滿足本技術領域內的需要。
權利要求
1.一種用於粉碎存儲在存儲介質上的數據的方法,包括針對存儲在存儲設備的存儲介質上的位置中的卷,創建粉碎策略;將粉碎策略存儲到存儲控制器中;在存儲控制器中從主機設備接收粉碎卷的命令;以及在存儲控制器中根據針對卷的策略執行粉碎卷的命令。
2.如權利要求1所述的方法,其中創建粉碎策略包括設定要在存儲卷的介質位置上執行的寫入遍數;以及設定要在介質位置上寫入的模式。
3.如權利要求2所述的方法,其中創建粉碎策略還包括如果要在多遍寫入的每一遍期間更新卷的奇偶校驗區域,則將標誌設成第一狀態;以及如果僅僅要在多遍寫入的第一遍期間更新卷的奇偶校驗區域,則將標誌設成第二狀態。
4.如權利要求1所述的方法,其中創建粉碎策略包括為卷設定多種可能的粉碎策略;接收粉碎命令包括接收要執行該多種粉碎策略中的哪一種的指示;以及執行粉碎命令包括根據在粉碎命令中表明的策略來粉碎卷。
5.如權利要求4所述的方法,其中接收粉碎命令包括通過SCSI命令接口接收粉碎命令。
6.如權利要求5所述的方法,其中粉碎命令包括write_verify命令的N個位。
7.如權利要求6所述的方法,其中N等於二,從而多種可能的粉碎策略為四種。
8.如權利要求6所述的方法,其中N個位包括write_verify命令的控制字節內的N個廠商專用位。
9.如權利要求4所述的方法,其中設定多種可能的粉碎策略包括針對卷創建表;並且創建表包括,針對每種可能的粉碎策略設定表明要在存儲卷的介質位置上執行的寫入遍數的第一條目;以及設定表明要在介質位置上寫入的模式的第二條目。
10.如權利要求9所述的方法,其中創建表還包括,針對每種可能的粉碎策略,設定第三條目如果要在多遍寫入的每一遍期間更新卷的奇偶校驗區域,則設成第一狀態;以及如果僅僅要在多遍寫入的第一遍期間更新卷的奇偶校驗區域,則設成第二狀態。
11.如權利要求1所述的方法,還包括如果存儲設備處於降級狀態,則終止粉碎命令的執行。
12.如權利要求1所述的方法,還包括如果存儲設備處於降級狀態,則粉碎卷的一部分。
13.一種存儲控制器,包括主機接口,通過其附連主機設備;存儲接口,通過其附連存儲設備;處理器;針對存儲在存儲設備的存儲介質上的位置中的卷的粉碎策略;以及粉碎管理軟體,當由處理器執行時,其可操作以便從主機設備接收粉碎卷的命令;以及根據所存儲的粉碎策略引導粉碎卷。
14.如權利要求13所述的存儲控制器,其中粉碎策略包括要在存儲卷的介質位置上執行的寫入遍數;以及要在介質位置上寫入的模式的標識。
15.如權利要求14所述的存儲控制器,其中粉碎策略還包括標誌如果要在多遍寫入的每一遍期間更新卷的奇偶校驗區域,則設成第一狀態;以及如果僅僅要在多遍寫入的第一遍期間更新卷的奇偶校驗區域,則設成第二狀態。
16.如權利要求13所述的存儲控制器,其中粉碎策略包括針對卷的多種可能粉碎策略,從而所接收命令包括要執行多種可能粉碎策略中的哪一種的標識。
17.如權利要求16所述的存儲控制器,其中主機接口包括SCSI命令接口。
18.如權利要求17所述的存儲控制器,其中粉碎命令包括write_verify命令的N個位。
19.如權利要求18所述的存儲控制器,其中N等於二,從而多種可能的粉碎策略是四種。
20.如權利要求18所述的存儲控制器,其中N個位包括write_verify命令的控制字節內的N個廠商專用位。
21.如權利要求16所述的存儲控制器,還包括用於存儲多種粉碎策略的表,針對每一種可能的粉碎策略,其包括表明要在存儲卷的介質位置上執行的寫入遍數的第一條目;以及表明要在介質位置上寫入的模式的第二條目。
22.如權利要求21所述的存儲控制器,其中針對每一種可能的粉碎策略,該表還包括第三條目如果要在多遍寫入的每一遍期間更新卷的奇偶校驗區域,則設成第一狀態;以及如果僅僅要在多遍寫入的第一遍期間更新卷的奇偶校驗區域,則設成第二狀態。
23.如權利要求13所述的存儲控制器,還包括如果存儲設備處於降級狀態,則終止粉碎命令的執行。
24.如權利要求13所述的存儲控制器,還包括如果存儲設備處於降級狀態,則粉碎卷的一部分。
25.一種可與可編程計算機一起使用的計算機可讀介質的電腦程式產品,該電腦程式產品中包含有計算機可讀代碼,用於粉碎存儲在存儲介質上的數據,該計算機可讀代碼包括用於實施如前述方法權利要求中的任一方法的指令。
26.一種用於部署計算基礎結構的方法,包括將計算機可讀代碼集成到計算系統中,其中該代碼在與計算系統相組合時,能夠執行以下操作針對存儲在存儲設備的存儲介質上的位置中的卷,創建多種可能的粉碎策略;將可能的粉碎策略存儲到存儲控制器中;在存儲控制器中從主機設備接收粉碎卷的命令,粉碎命令包括要執行該多種粉碎策略中的哪一種的指示;以及在存儲控制器中根據粉碎命令中表明的策略,執行粉碎卷的命令。
27.如權利要求26所述的方法,其中創建多種可能的粉碎策略中的每一種包括設定表明要在存儲卷的介質位置上執行的寫入遍數的第一參數;以及設定表明要在介質位置上寫入的模式的參數條目;設定第三參數如果要在多遍寫入的每一遍期間更新卷的奇偶校驗區域,則設成第一狀態;以及如果僅僅要在多遍寫入的第一遍期間更新卷的奇偶校驗區域,則設成第二狀態。
28.如權利要求26所述的方法,還包括如果存儲設備處於降級狀態,從包括終止粉碎命令的執行和粉碎卷的一部分的組中選擇一個操作。
29.如權利要求26所述的方法,其中粉碎命令包括write_verify命令的N個位。
全文摘要
提供了要在存儲控制器中執行的基於策略的數據粉碎。存儲在諸如磁碟驅動器的介質上的邏輯卷可以被分配一個或多個可能的粉碎策略。在控制器中存儲並執行策略比執行基於主機的粉碎更有效,並且需要使用更少的主機和控制器之間的寶貴帶寬。另外,控制器知道陣列中的每個驅動器的故障、降級和離線狀態,從而能夠在必要時終止或修改粉碎操作。每一種策略包括要在存儲卷的介質位置上執行的寫入遍數和要在介質位置上寫入的模式。策略還可以表明是在多遍寫入的每一遍的期間還是僅僅在第一遍更新奇偶校驗區域。
文檔編號G06F3/06GK1825268SQ20061000926
公開日2006年8月30日 申請日期2006年2月15日 優先權日2005年2月23日
發明者道格拉斯.W.杜威 申請人:國際商業機器公司