複数の記憶装置と、ストレージシステムに結合されたホストコンピュータからコマンドを受信し、かつ前記複数の記憶装置を制御するストレージコントローラとを備えるストレージシステムであって、サニタイズのコマンドの受信に応じて、前記ストレージコントローラは、前記コマンドに従う前記複数の記憶装置のいずれかが初期化機能を含むか否かを判断し、前記初期化機能を有する前記複数の記憶装置のうちの前記いずれかの記憶装置の前記初期化機能を呼び出すストレージシステム。前記複数の記憶装置は、複数のRAIDグループにグループ化され、前記サニタイズのコマンドが前記RAIDグループの少なくとも1つに対するものである場合、前記ストレージコントローラは、前記コマンドに従う前記RAIDグループのうちの前記少なくとも1つのRAIDグループの各々について、前記コマンドに従う前記複数の記憶装置のいずれかが初期化機能を有するか否かを判断する際に、前記RAIDグループのうちの前記少なくとも1つのRAIDグループの前記記憶装置が前記初期化機能を有するか否かを判断する請求項1に記載のストレージシステム。前記複数の記憶装置は、ハードディスクドライブ及びフラッシュメモリデバイスを備え、前記ストレージコントローラは、前記サニタイズのコマンドの受信に応じて、前記記憶装置の各々について記憶媒体のタイプを識別し、前記タイプがハードディスクドライブHDDと識別され、かつ前記HDDが初期化機能を有さない場合、前記ストレージコントローラは、書き込みパターンを使用することによって前記HDDをサニタイズする請求項1に記載のストレージシステム。前記サニタイズのコマンドが、書き込みパターンを有するハードディスクドライブHDDシュイレッディングコマンドである場合、前記コマンドに従う前記複数の記憶装置の前記いずれかの記憶装置が前記初期化機能を有する場合、前記ストレージコントローラは、前記初期化機能を呼び出すために前記コマンドを変換する請求項1に記載のストレージシステム。前記コマンドに従う前記複数の記憶装置のうちの前記いずれかの記憶装置は、少なくとも1つのフラッシュメモリデバイスを備え、前記ストレージコントローラは、最後のパターンが前記初期化機能の初期化データパターンと等しいか否かを判断し、そして前記最後のパターンが前記初期化データパターンと等しくない場合は、前記少なくとも1つのフラッシュメモリデバイスに設定データを書き込むために前記書き込みパターンを使用する請求項4に記載のストレージシステム。前記ストレージコントローラは、複数の論理ボリュームとして前記ホストコンピュータに前記複数の記憶装置を提供し、かつ前記サニタイズのコマンドに従う前記RAIDグループのうちの前記少なくとも1つのRAIDグループの各々に含まれるオンライン論理ボリュームが存在するか否かをチェックし、前記オンライン論理ボリュームが存在する場合、前記ストレージコントローラは、前記オンライン論理ボリュームを移動する請求項2に記載のストレージシステム。前記サニタイズのコマンドに従う前記複数の記憶装置のうちの前記いずれかの記憶装置が、前記初期化機能を含むHDDである場合は、前記ストレージコントローラは、最後のパターンが前記初期化機能の初期化データパターンと等しいか否かを判断し、前記最後のパターンが前記初期化データパターンと等しくない場合は、前記ハードディスクドライブに設定データを書き込むために前記書き込みパターンを使用する請求項3に記載のストレージシステム。前記複数の記憶装置は、RAIDグループにグループ化され、各RAIDグループは、前記複数の記憶装置の少なくとも1つを備え、前記サニタイズのコマンドは、前記複数の記憶装置のすべてに対するものであり、前記ストレージコントローラは、前記RAIDグループの各々について、前記RAIDグループの各々における前記複数の記憶装置のうちの前記少なくとも1つの記憶装置が前記初期化機能を含むか否かを判断し、RAIDグループによって前記サニタイズを実行する請求項1に記載のストレージシステム。複数の記憶装置を備えたストレージシステムのためのストレージコントローラであって、前記ストレージシステムに結合されたホストコンピュータからコマンドを受信し、かつ前記複数の記憶装置を制御するストレージコントローラであり、前記ストレージシステムは、サニタイズのコマンドの受信に応じて、前記コマンドに従う前記複数の記憶装置のいずれかが初期化機能を含むか否かを判断することと、前記初期化機能を有する前記複数の記憶装置のうちの前記いずれかの記憶装置の前記初期化機能を呼び出すこととを含むプロセスを実行するストレージコントローラ。前記複数の記憶装置は、複数のRAIDグループにグループ化され、前記サニタイズのコマンドが前記RAIDグループの少なくとも1つに対するものである場合、前記コマンドに従う前記複数の記憶装置のいずれかが初期化機能を含むか否かを判断することは、前記コマンドに従う前記RAIDグループのうちの前記少なくとも1つのRAIDグループの各々について、前記RAIDグループのうちの前記少なくとも1つのRAIDグループの前記記憶装置が前記初期化機能を有するか否かを判断することをさらに含む請求項9に記載のストレージコントローラ。前記プロセスは、前記サニタイズのコマンドの受信に応じて、前記記憶装置の各々について記憶媒体のタイプを識別することと、前記タイプがハードディスクドライブHDDと識別され、かつ前記HDDが初期化機能を有さない場合、書き込みパターンを使用することによって前記HDDをサニタイズすることとをさらに含み、前記複数の記憶装置は、ハードディスクドライブ及びフラッシュメモリデバイスを備える請求項9に記載のストレージコントローラ。前記サニタイズのコマンドが、書き込みパターンを有するハードディスクドライブHDDシュイレッディングコマンドである場合、前記プロセスは、前記コマンドに従う前記複数の記憶装置の前記いずれかの記憶装置が前記初期化機能を有する場合、前記初期化機能を呼び出すために前記コマンドを変換することをさらに含む請求項9に記載のストレージコントローラ。前記コマンドに従う前記複数の記憶装置のうちの前記いずれかの記憶装置は、少なくとも1つのフラッシュメモリデバイスを備え、前記プロセスは、最後のパターンが前記初期化機能の初期化データパターンと等しいか否かを判断することと、前記最後のパターンが前記初期化データパターンと等しくない場合は、前記少なくとも1つのフラッシュメモリデバイスに設定データを書き込むために前記書き込みパターンを使用することとをさらに含む請求項12に記載のストレージコントローラ。前記ストレージコントローラは、複数の論理ボリュームとして前記ホストコンピュータに前記複数の記憶装置を提供し、かつ前記サニタイズのコマンドに従う前記RAIDグループのうちの前記少なくとも1つのRAIDグループの各々に含まれるオンライン論理ボリュームが存在するか否かをチェックし、前記オンライン論理ボリュームが存在する場合、前記ストレージコントローラは、前記オンライン論理ボリュームを移動する請求項10に記載のストレージコントローラ。前記サニタイズのコマンドに従う前記複数の記憶装置のうちの前記いずれかの記憶装置が、前記初期化機能を含むHDDである場合は、前記ストレージコントローラは、最後のパターンが前記初期化機能の初期化データパターンと等しいか否かを判断し、前記最後のパターンが前記初期化データパターンと等しくない場合は、前記ハードディスクドライブに設定データを書き込むために前記書き込みパターンを使用する請求項11に記載のストレージコントローラ。前記複数の記憶装置は、RAIDグループにグループ化され、各RAIDグループは、前記複数の記憶装置の少なくとも1つを備え、前記サニタイズのコマンドは、前記複数の記憶装置のすべてに対するものであり、前記プロセスは、前記RAIDグループの各々について、前記RAIDグループの各々における前記複数の記憶装置のうちの前記少なくとも1つの記憶装置が前記初期化機能を含むか否かを判断することと、RAIDグループによって前記サニタイズを実行することとをさらに含む請求項9に記載のストレージコントローラ。ストレージコントローラと、複数の記憶装置とを備えたストレージシステムをサニタイズする方法であって、サニタイズのコマンドの受信に応じて、前記ストレージコントローラをして、前記コマンドに従う前記複数の記憶装置のいずれかが初期化機能を含むか否かを判断させることと、前記初期化機能を有する前記複数の記憶装置のうちの前記いずれかの記憶装置の前記初期化機能を呼び出させることとを含む方法。前記複数の記憶装置は、複数のRAIDグループにグループ化され、前記サニタイズのコマンドが前記RAIDグループの少なくとも1つに対するものである場合、前記コマンドに従う前記複数の記憶装置のいずれかが初期化機能を含むか否かを判断することは、前記コマンドに従う前記RAIDグループのうちの前記少なくとも1つのRAIDグループの各々について、前記RAIDグループのうちの前記少なくとも1つのRAIDグループの前記記憶装置が前記初期化機能を有するか否かを判断することをさらに含む請求項17に記載の方法。前記サニタイズのコマンドの受信に応じて、前記ストレージコントローラをして、前記記憶装置の各々について記憶媒体のタイプを識別させることと、前記タイプがハードディスクドライブHDDと識別され、かつ前記HDDが初期化機能を有さない場合、書き込みパターンを使用することによって、前記ストレージコントローラをして前記HDDをサニタイズさせることとをさらに含み、前記複数の記憶装置は、ハードディスクドライブ及びフラッシュメモリデバイスを備える請求項17に記載の方法。前記サニタイズのコマンドが、書き込みパターンを有するHDDシュイレッディングコマンドである場合、前記コマンドに従う前記複数の記憶装置の前記いずれかの記憶装置が前記初期化機能を有する場合、前記初期化機能を呼び出すために、前記ストレージコントローラをして前記コマンドを変換させることをさらに含む請求項17に記載の方法。最後のパターンが前記初期化機能の初期化データパターンと等しいか否かを前記ストレージコントローラに判断させることをさらに含む方法であって、前記コマンドに従う前記複数の記憶装置のうちの前記いずれかの記憶装置は、少なくとも1つのフラッシュメモリデバイスを備え、前記最後のパターンが前記初期化データパターンと等しくない場合は、前記少なくとも1つのフラッシュメモリデバイスに設定データを書き込むために前記書き込みパターンを使用することとをさらに含む請求項20に記載の方法。前記ストレージコントローラをして、複数の論理ボリュームとしてホストコンピュータに前記複数の記憶装置を提供させることと、前記サニタイズのコマンドに従う前記RAIDグループのうちの前記少なくとも1つのRAIDグループの各々に含まれるオンライン論理ボリュームが存在するか否かをチェックすることと、前記オンライン論理ボリュームが存在する場合、前記オンライン論理ボリュームを移動することとをさらに含む請求項18に記載の方法。前記サニタイズのコマンドに従う前記複数の記憶装置のうちの前記いずれかの記憶装置が、前記初期化機能を含むHDDである場合は、前記ストレージコントローラをして、最後のパターンが前記初期化機能の初期化データパターンと等しいか否かを判断させることと、前記最後のパターンが前記初期化データパターンと等しくない場合は、前記ハードディスクドライブに設定データを書き込むために前記書き込みパターンを使用することとをさらに含む請求項19に記載の方法。前記複数の記憶装置は、RAIDグループにグループ化され、各RAIDグループは、前記複数の記憶装置の少なくとも1つを備え、前記サニタイズのコマンドは、前記ストレージシステム内の前記複数の記憶装置のすべてに対するものであり、前記ストレージコントローラは、前記RAIDグループの各々について、前記RAIDグループの各々における前記複数の記憶装置のうちの前記少なくとも1つの記憶装置が前記初期化機能を含むか否かを判断し、かつRAIDグループによって前記サニタイズを実行する請求項17に記載の方法。12本明細書に組み込まれ、かつ本明細書の一部を成す添付の図面は、本発明の実施形態を例示するものであり、以下の説明とともに、発明技術の原則を説明し例証する役割を果たすものである。28以下の詳細な説明では、添付の図面を参照しており、これらの添付の図面では、同一の機能要素には同様の番号が指定されている。上述の添付の図面は、限定ではなく例示として、本発明の原則に一致した特定の実施態様及び実施を示す。これらの実施については、当業者が本発明を実施することができるようにするために十分に詳細に記載されており、その他の実施も利用できること、及び本発明の範囲及び精神から逸することなく、構造上の変更及び/又は様々な要素の代替がなされる得ることが理解される。従って、以下の詳細な説明は、限定された意味では解釈されない。さらに、説明される通りの様々な本発明の実施形態が、汎用コンピュータ上で実行されるソフトウェアの形態で、専用ハードウェアの形態で、又はソフトウェアとハードウェアの組み合わせで実施され得る。29フラッシュメモリFMデバイスは、FMデバイス内の全ブロックを消去する初期化機能を有し得る。ストレージシステムは、このようなフラッシュメモリデバイスとHDDの混合を含み得る。よって、基本的な本発明の実施形態に従って、ストレージシステムがその媒体をシュレッドするように命令された場合に、ストレージシステムは、命令された媒体を判断する。命令された媒体がHDDである場合は、ストレージシステムは、単にこれらを上書きしてもよい。しかし、これらがFMデバイスである場合は、ストレージシステムは、その初期化機能を呼び出すために、FMデバイスに初期化コマンドを送信する。30HDDはまた、同様の初期化機能を含み得る。本発明の他の基本的な実施形態に従って、ストレージシステムは、媒体タイプだけでなく初期化機能の存在をチェックし、デバイスのために最適化されたサニタイジングプロセスを選択かつ実行する。31第1の実施形態RAIDRedundantArrayofInexpensiveDisksのサニタイズ32RAIDグループを備えるストレージシステムをサニタイズ又はシュレッドするために、ホストコンピュータからコマンドが発行される。このコマンドは、ストレージシステムに、又はストレージシステム内の特定のRAIDグループに向けられてもよい。RAIDグループをサニタイズする命令を受信した際に、ストレージコントローラは、RAIDグループの記憶媒体の各タイプをチェックし、また初期化機能が利用できる場合には、繰り返し上書きすることによってサニタイズする代わりに、ストレージコントローラは、サニタイズを行うために記憶媒体の初期化機能を使用することができる。ストレージコントローラは、サニタイズのコマンドを記憶媒体の初期化機能を呼び出すコマンドに変換し、かつ初期化コマンドを記憶媒体に送信することによって、サニタイズを達成することができる。33基本的なシステム構成34図1は、本発明の実施形態に従った例示的な物理システム構成を示す。物理システムの多様な可能な構成要素は、本発明の実施形態に従って、以下のように示される。システムは、データを格納し、またストレージコントローラ120及びディスクユニット130を含み得るストレージシステム110を含み得る。ストレージシステム110のストレージコントローラ120は、ストレージシステム110とホスト140又は管理コンピュータ150との間の相互作用を容易にし得る。ストレージエリアネットワークインタフェース121は、ストレージエリアネットワーク160を介してホストコンピュータ140及び管理コンピュータ150と接続する。さらに、ローカルエリアネットワーク170を介してホストコンピュータ140及び管理コンピュータ150と接続するために、ローカルエリアネットワークインタフェース124を設けてもよい。また、ストレージシステムは、ストレージシステム110のための操作メモリ125からプログラム、テーブルを読み出すこと、又はテーブルをメモリ125に書き込み、メモリ125から読み出したプログラムを実行することを含むを処理するCPU122も使用し得る。さらに、メモリは、ストレージシステム110のプログラム及びテーブルを格納するために操作可能とすることができる。また、ストレージシステム110のためのキャッシュデータを格納するために、キャッシュ126を設けることもできる。また、I/Oインタフェース123及び管理インタフェース127もあってもよい。I/Oインタフェース123は、ディスク131、132と接続し、ディスク131、132に/から読み出し/書き込みコマンド及びデータを転送する。管理インタフェース123は、ディスク131、132と接続し、ディスク131、132に初期化/大量書き込みコマンドを転送し、I/Oディスクインタフェース123と組み合わせてもよい。ストレージコントローラ120内の多様な構成要素を接続するために、必要に応じて内部ネットワーク128を設けることができる。ディスクユニット130は、複数のタイプの媒体フラッシュメモリデバイス131及びHDD132などを含むディスク/記憶媒体を格納する。ディスクユニットは、RAIDレベルに応じて構成されるRAIDグループによってグループ化される。RAIDグループは、同じタイプの記憶媒体を使用して形成される。多様な可能な記憶媒体は、システム内で可能である。ディスクユニットにデータを格納するための1つの可能な記憶媒体は、フラッシュメモリデバイス131である。MRAMなどの不揮発性メモリである他の半導体メモリを使用してもよい。ディスクユニットにデータを格納する別の可能な記憶媒体は、HDD132である。HDDは、初期化機能を含み得る。HDD132内で、単一書き込み技術は、複数のトラックの幅を有するヘッドを使用することによって大量書き込みを許可することができる。このような技術は、初期化機能と統合することができる。35ストレージシステムの他の可能な構成要素は、可用性又は性能を向上させるために複数のディスク131、132を含むRAIDグループを含む。ストレージエリアネットワークSAN160は、ストレージシステム110ストレージエリアネットワークインタフェース121を介して、ホストコンピュータ140、及び管理コンピュータ150の間を接続し、これらの相互作用を容易にすることができる。同様に、ローカルエリアネットワークLAN170は、ストレージシステム110ローカルエリアネットワークインタフェース124を介して、ホストコンピュータ140、及び管理コンピュータ150の間を接続し、これらの相互作用を容易にする。ホストコンピュータ140は、SAN160を介してストレージシステムにI/Oコマンドを送信し、またSAN160を介してストレージシステム110からデータを送受信し得る。また、ホストは、LAN170又はSAN160を介してストレージシステム110への命令を送信し得る。管理コンピュータ150は、ストレージシステム110についての情報を提供し、またLAN170又はSAN160を介してストレージシステム110への命令を送信し得る。36図2は、本発明の実施形態に従った例示的なフラッシュメモリデバイス構成131を示す。フラッシュメモリデバイスは、HDDと同じコマンドファイバチャネルを受信できるインタフェースを含み得る。フラッシュメモリデバイス131はサイズと機能を考慮してHDDと互換性があるが、マザーボードにFMチップを備える集中型FMコントローラがあるアプリケーションがあってもよい。フラッシュメモリデバイスの多様な可能な構成要素が、本発明の実施形態に従って、以下に示される。フラッシュメモリコントローラ210は、フラッシュメモリデバイスの機能性を扱うための多様な構成要素を含む。読み出し/書き込みインタフェース211及び管理インタフェース212は、ストレージコントローラ102と相互作用する。読み出し/書き込みインタフェース211は、読み出し/書き込みI/Oコマンドを容易にし、かつ/又は読み出し/書き込み操作を実行するための命令を受信する。管理インタフェース212は、初期化コマンドを容易にし、かつ/又は初期化操作を実行する命令を受信するために、ストレージコントローラ120と相互作用する。また、管理インタフェースは、読み出し/書き込みインタフェース211と組み合わせられてもよい。CPU213は、FMデバイス210のための操作を扱う。また、必要に応じてFM220からのリードデータ及びライトデータを一時的に格納するために、バッファ214を設けてもよい。さらに、論理アドレスディスクI/OとFM220上の物理ページアドレスとの間のマップを示すために、マップ215を設けてもよく、書き込み/ウェアレベリングプロセスの間にマップ215を修正することができる。制御プログラム216は、読み出し/書き込み/消去/マッピングのコマンドに従って実行する。書き込みプロセスでは、データは別のページに書き込まれ、マップはそれに応じて変更される。また、制御プログラムは、周期的に消去/ウェアレベリングを実行する。消去/ウェアレベリングにおいて、ブロック中の効率的なページは新しいブロックに移動され、古いブロックは消去される。初期化プログラム217は、FM220上の全ブロックを消去し、初期化コマンドに従って実行する。しかし、フラッシュメモリデバイス131のタイプ/型式によっては、利用できる初期化機能又はプログラムがないかもしれない。フラッシュメモリチップ220は、複数のブロックを使用することによってデータを格納する。各ブロックは、複数のメモリページを含む。37図3は、本発明の実施形態に従った例示的なメモリ構造125を示す。メモリの多様な可能な構成要素は、以下のように示される。メモリ構造は、RAIDグループ情報テーブル301を含んでもよく、これはディスク131、132及びそれぞれのRAIDグループのための物理構造管理の情報を示す。ディスク情報テーブル302は、ディスク構成管理のための情報を含むために提供されてもよい。さらに、デバイスモデル情報テーブル303は、ストレージシステムの記憶媒体のためのデバイス情報のデータベースを提供する。他のテーブルも、論理ボリュームの参照管理情報を提供するための論理ボリューム情報テーブル304、及びサニタイジングプロセスの間に使用する可能な書き込みデータパターンを提供するためのサニタイジングパターン情報テーブル305を含み得る。38また、いくつかのプログラムも、メモリ構造125に含まれ得る。このようなプログラムは、ストレージシステムのための読み出し/書き込みコマンドを実行かつ管理し、キャッシュ126とSANインタフェース121の間のデータ転送を容易にするボリュームI/O制御プログラム306を含み得る。ディスクI/O制御プログラム307は、キャッシュ126とディスクインタフェース123の間のデータ転送を容易にするために使用することができる。また、サニタイズコマンドに従ってサニタイズプロセスを実行するために、サニタイジングプログラム308を使用してもよい。FMデバイス131については、FMデバイス管理プログラム309は、初期化コマンドを送信するためにサニタイジングプロセスを実行する。これは、サニタイズのコマンドをFMデバイスの初期化機能を呼び出すためのコマンドに変換することによって実行してもよい。39テーブル構造40本発明の実施形態で使用される例示的なテーブル構造が以下で説明される。41図4は、本発明の実施形態に従ったRAIDグループ情報テーブル301の例示的な構造を示す。RAIDグループ情報テーブルの多様な可能な要素は、本発明の実施形態に従って、以下のように説明される。RAIDグループ情報テーブル301は、ストレージシステムのRAIDグループ133のIDを示すためのRAIDグループ番号401のエントリを含み得る。RAIDタイプ402のエントリは、特定のRAIDグループのRAIDレベル、データの比率、及びパリティを示す。追加のエントリは、RAIDグループ133の一部であるディスク131、132のIDを示すディスク番号403と、ストライピングデータサイズを示すストライピングサイズ404とを含み得る。ステータスインジケータ405は、RAIDグループ133のステータスを提供する。通常は、RAIDグループが正常に機能していることを示す。フォーマッティング及びサニタイジングは、RAIDグループがそれぞれフォーマッティング又はサニタイジングのプロセスを経ていることを示す。遮断は、RAIDグループが移動又はエラー又は他の問題でアクセス不可であるかもしれないことを示す。42図5は、本発明の実施形態に従った例示的なディスク情報テーブル302を示す。ディスク情報テーブルの多様な可能な要素は、本発明の実施形態に従って、以下のように説明される。例えば、ディスク番号501は、ディスク131、132のIDを示すために設けてもよい。同様に、型式も、ディスクモデルのIDを示すことができる。RAIDグループ番号503は、ディスクが属するRAIDグループ133のIDを示す。ステータスは、ディスク131、132のステータスを示す。通常は、ディスクが通常アクセス可能であることを示す。フォーマッティング及びサニタイジングは、ディスクがそれぞれフォーマッティング又はサニタイジングのプロセスを経ていることを示す。遮断は、ディスクが移動又はエラー又は他の問題でアクセス不可であるかもしれないことを示す。43図6は、本発明の実施形態に従った例示的なデバイスモデル情報テーブル306を示す。ディスクモデル情報テーブルの多様な可能な要素は、本発明の実施形態に従って、以下のように示される。型番号601は、記憶媒体のデバイスモデルのIDを示すために含めてもよい。また、タイプ602も、記憶媒体のタイプを示すための情報テーブルに含めてもよく、また、アクセスのためのアドレスを含む記憶媒体の使用可能容量を示すために、使用可能容量603を設けることもできる。予備容量604は、記憶媒体によって内部で使用される容量を示す。ディスク131、132は、書き込み及び消去/ウェアレベリングプロセスのための予備容量を含み得る。予備容量は、既知の場合は設定することができ、又はユーザが必要に応じて設定することができる。初期化機能サポート605のエントリは、記憶媒体が初期化機能217をサポートするか否かについてのインディケータを提供する。初期化機能は、ブロック消去EXTコマンド、上書きEXTコマンド、及び暗号スクランブルコマンドを含み得るもので、これらは記憶媒体がサポートするATA/ATAPIコマンドセットATA8-ACSである。ブロック消去EXTコマンドは、全ユーザデータ上のブロック消去操作を引き起こす。上書きEXTコマンドは、コマンドのLBAフィールドでパスされる4バイトパターンでユーザデータ領域を満たす。このコマンドを受信した場合のパラメータは、複数の上書のカウント及び連続的な上書きパスの間の4バイトパターンを反転させるオプションを含む。暗号スクランブルコマンドは、ユーザデータのために使用される内部暗号キーを変更し、これは、解読される内部暗号鍵と一緒に格納されるデータを禁止する。初期データパターン606は、初期化機能が呼び出される時に使用されるデータパターンであり、これは固定又は任意のパターン、又は状況によってはユーザ定義でさえあり得る。ストレージコントローラは、さらに、デバイス識別コマンドなどの問い合わせコマンドを記憶媒体に送信することによって取得される情報に基づいた初期化機能サポート605の情報を格納してもよい。記憶媒体がストレージコントローラによって最初に認識された時、又は記憶媒体が管理又はホストコンピュータからのサニタイジングコマンドを初めて受けた時に、問い合わせコマンドが送信され得る。44図7は、本発明の実施形態に従った例示的な論理ボリューム情報テーブル304を示す。ストレージコントローラ120は、ディスクユニットの記憶装置を論理ボリュームとしてホストに提供する。論理ボリューム情報テーブルの多様な可能な要素は、本発明の実施形態に従って、以下のように示される。例示的な論理ボリューム情報テーブルは、論理ボリュームのIDを示すためのボリューム番号701を含み得る。容量702エントリも、論理ボリュームの容量を示すために含まれる。RAIDグループ番号703は、論理ボリュームデータが格納されるRAIDグループのIDを示す。オフセット704は、RAIDグループ内の開始アドレスを示す。ステータスインジケータ705は、論理ボリュームのステータスを含み、これは上記のように通常/遮断/フォーマッティングを含み得る。このステータスは、サニタイズコマンドに従うRAIDグループがI/O操作又は移動の対象とならないかを判断するために必要である。サニタイズコマンドは、物理ベースRAIDグループで実行され得るが、I/O操作及びデータ処理は、論理ベース論理ボリュームで実行される可能性があり、よって照会が必要となるだろう。45図8は、本発明の実施形態に従った例示的なサニタイジングパターン情報テーブル305を示す。サニタイジングパターン情報テーブル305は、いくつかの要素を含み得る。例えば、サニタイジングパターン情報テーブル305は、サニタイジングパターンのIDを示すためのパターン番号801を含み得る。ディスクをサニタイズするために必要な上書き回数802についてのインジケータも含み得る。なぜならば、サニタイズを実行することが必要な場合が1回以上あり得るからである。書き込みパターン803は、ディスクをサニタイズするために使用される上書きデータパターンを示す。ディスクが数回上書きされる場合は、オーダー書き込みパターンを使用してもよい。サニタイジングコマンドによって示される上書きデータパターンのサイズを示すために、示されたデータパターンサイズ804によって上書きデータパターンのサイズを示しても良い。サニタイジングプロセスを助けるためにサニタイジングパターン情報テーブルに他の要素を含んでもよい。46例示的なフローチャート47図9は、本発明の実施形態に従ったサニタイジングプロセスの例示的なフローチャートを示す。サニタイジングのプロセスは、ステップ901で始まる。ステップ901では、ストレージシステム110は、LAN170を介して管理コンピュータ150からサニタイジングコマンドを受信する。このようなコマンドは、ホストコンピュータ140から作成され、SAN160を介して受信されてもよい。サニタイジングコマンドは、ストレージシステム全体ディスクユニット130内の全記憶装置又は特定の1つの記憶装置をターゲットとしてもよいが、この例では、RAIDグループに対して実行される。このようなコマンドは、RAIDグループ番号401及びサニタイジングパターン番号801を含み得る。コマンドがストレージシステム全体をターゲットとする場合は、コマンドは、各RAIDグループによって実行されることになる。コマンドをリストすることができる。サニタイジングパターンが示されたパターンを有する場合は、コマンドは、示されたデータパターンも含み得る。ストレージシステムは、示されたデータパターンをメモリに格納する。ステップ902では、ストレージシステム110は、論理ボリューム情報304上のステータス705を参照することによって、サニタイジングが許可されるか否かを判断するために、RAIDグループ405、ディスク504、及び論理ボリューム705のステータスをチェックする。サニタイジングが許可される場合は、ストレージシステムは、RAIDグループ405のステータスをサニタイジングに変更する。そのRAIDグループにサニタイジングを受諾できないいくつかの論理ボリューム例えば、オンライン論理ボリュームが存在する場合は、ストレージシステムは、論理ボリュームのデータを他のRAIDグループに移動した後でサニタイズしてもよい。あるいは、ストレージコントローラ120は、エラー指示を戻すだけでもよい。ステップ903では、ストレージシステムは、RAIDグループ情報テーブル301を使用してRAIDグループ番号をディスク番号に変換する。ステップ904では、ストレージシステムは、ディスク情報テーブル303を使用することによって、ディスクタイプ602を決定する。ディスクタイプがFMデバイス131である場合は、FMデバイスのためのサニタイジングプロセスを実行するためにステップ905に進む。ディスクタイプがHDD132である場合は、プロセスは、HDDのためのサニタイジングプロセスを実行するためにステップ906に進む。ステップ907では、ストレージシステムは、RAIDグループのディスクユニットのすべてが処理されるか否かをチェックし、処理されない場合は、プロセスはステップ904に進む。各ディスクのプロセスは、並行に行われてもよい。ステップ908では、ストレージシステムは、RAIDグループ405のステータスを通常に変更する。48図10は、本発明の実施形態に従ったフラッシュメモリFMデバイスのためのサニタイジングプロセス905の例示的なフローチャートを示す。このプロセスは、ステップ1001で開始し、ここでストレージシステム110は、ディスクモデル情報テーブル303を使用することによって、FMデバイス131が初期化機能217をサポートするか否かを判断する。初期化機能サポート605のために格納された情報がない場合は、ストレージコントローラは、記憶媒体が初期化機能をサポートし、かつ情報をディスクモデル情報テーブル303に格納するか否かを判断するために、問い合わせコマンドをFMデバイスに送信し得る。サニタイジングコマンドがそれほど頻繁に発行されない場合は、例えば、記憶媒体がストレージシステムから除去される時にのみサニタイジングコマンドが発行される場合は、ストレージシステムは、初期化機能の情報を必ずしも維持しないかもしれず、むしろ、ストレージコントローラが管理又はホストコンピュータからサニタイジングコマンドを受信する度に、問い合わせをターゲット記憶媒体に送信し得る。ステップ1002では、FMデバイスが初期化機能217をサポートする場合、ストレージコントローラは、FMデバイス131に初期化するように命令する。ステップ1003では、FMデバイス131は、初期化コマンドを受信した後で全ブロックを消去する。予備容量を含む全領域が、初期化機能によって消去される。初期化コマンドをFMデバイス131に送信した後で所定の時間が経過した場合、ストレージシステム110は、サニタイズステータスEXTコマンドをFMデバイス131に対して送信し得る。サニタイズステータスEXTコマンドによって、ストレージコントローラが、初期化コマンドが完了したか否かをチェックすることが可能になる。例えば、物理セクタのサニタイズが成功しなかった場合は、FMデバイス131からエラー出力が送信されることになる。ステップ1004では、ストレージシステムは、サニタイジングの最後のパターンが初期化データパターンと同じであるか否かを判断する。最後のパターンが同じである場合は、プロセスは終了する。しかし、最後のパターンが同じではない場合は、プロセスは、ステップ1005に進み、ここでストレージコントローラが最後のデータパターンを設定する。ステップ1006では、ストレージコントローラは、データパターンに従ってFMデバイスの全領域に書き込む。しかし、ステップ1004~1006は、必要であれば、スキップしてもよい。例えば、単にユーザがサニタイズしたいだけで、最後のパターンを気にしない場合は、これらのステップをスキップしてもよい。FMデバイスが初期化機能をサポートしない場合は、プロセスはステップ1007に進み、ここでストレージコントローラが最初の書き込みパターンを設定する。ステップ1008では、ストレージコントローラは、設定データをFMデバイス131の全領域ヘッドからエンドアドレスまでに書き込む。ステップ1009では、ストレージコントローラは、FMデバイス131のヘッドから予備容量までヘッドから予備容量アドレスまで書き込む。このプロセスは、データが予備領域に残ることを防ぐ。ステップ1010では、ストレージコントローラは、上書きパターンが終了したか否かを判断する。上書きパターンがまだ終了していない場合は、ストレージコントローラは、ステップ1007に戻り、次の書き込みパターンを設定する。パターンが終了した場合は、プロセスは終了する。49よって、シュレッディングパターンを含む管理コンピュータ又はホストコンピュータによるコマンドにかかわらず、ストレージコントローラ120は、シュレッディングコマンドを初期化コマンドに変換することになる。これによって、サニタイズ処理時間が、実際にパターンを書き込むよりも短くなることが可能になるであろう。50図11は、本発明の実施形態に従ったハードディスクドライブHDDのためのサニタイジングプロセス906の例示的なフローチャートを示す。このプロセスは、ステップ1101で開始し、ここでストレージシステム110は、HDD132が初期化機能1517をサポートし、かつディスクモデル情報テーブル303を使用することによって、初期データパターン606を設定するか否かを判断する。初期化機能サポート605のために格納された情報がない場合は、ストレージコントローラは、HDDが初期化機能をサポートし、かつ情報をディスクモデル情報テーブル303に格納するか否かを判断するために、問い合わせコマンドをHDD132に送信し得る。サニタイズコマンドがそれほど頻繁に発行されない場合は記憶媒体がストレージシステムから除去される場合のみなど、ストレージシステムは、初期化機能の情報を維持しないかもしれず、むしろ、ストレージコントローラが管理又はホストコンピュータからサニタイジングコマンドを受信する度に、ターゲット記憶媒体に問い合わせを送出し得る。HDDが初期化機能1517をサポートし、初期データパターンの設定をサポートする場合は、プロセスはステップ1102に進み、ここでストレージコントローラは、最初のデータパターンを設定する。ステップ1103では、ストレージコントローラは、HDD132に対して、コマンドによってその初期化機能を呼び出すことによって初期化するように命令する。ステップ1104では、HDD132は、その書き込み機能を使用することによって、初期化する命令を受信した後で全ブロックを書き込む。ステップ1105では、ストレージコントローラは、上書きパターンが終了したか否かを判断する。パターンがまだ終了していない場合は、ストレージコントローラは、ステップ1102に戻り、次の書き込みパターンを設定する。パターンが終了した場合は、プロセスは終了する。HDDデバイスが初期化機能1517及び/又は初期データパターンの設定をサポートしない場合は、プロセスは、ステップ1106に進み、ここでストレージコントローラは、最初の書き込みパターンを設定する。ステップ1107では、ストレージコントローラは、設定データをHDD133の全領域ヘッドからエンドアドレスまでを書き込み、これは何度も上書きされてもよい。ステップ1108では、ストレージコントローラは、上書きパターンが終了したか否かを判断する。パターンがまだ終了していない場合は、ストレージコントローラは、ステップ1106に戻り、次の書き込みパターンを設定する。パターンが終了した場合は、プロセスは終了する。51第2の実施形態RAIDグループのフォーマッティング52この実施形態では、システム構成は、第1の実施形態と同じである。しかし、サニタイズプロセスとは異なり、フォーマッティングは、複数の上書きを必要とせず、記憶領域は1回だけ上書きされ得る。53図12は、本発明の実施形態に従ったフォーマッティングプロセスの例示的なフローチャートを示す。このプロセスは、ステップ1201で開始し、ここでストレージシステムは、LANを介して管理コンピュータからフォーマッティングコマンドを受信する。このコマンドは、RAIDグループ番号を含む。ステップ1202では、フォーマッティングが可能である場合、ストレージシステム110は、RAIDグループ405、ディスク504、及び論理ボリューム705のステータスをチェックする。フォーマッティングが可能である場合は、ストレージシステムは、RAIDグループ405のステータスをフォーマッティングに変更する。プロセスは、次に、同様に図9に進むが、ディスクがFMデバイスであると判断されると、プロセスはステップ1205に進み、ここでストレージシステムはFMデバイスのためのフォーマッティングプロセスを実行する。しかし、ディスクがHDDであると判断されると、プロセスはステップ1206に進み、ここでストレージシステムはHDDのためのフォーマッティングプロセスを実行する。ステップ1207では、ストレージシステムは、RAIDグループの全ディスクが処理されるまでループする。全ディスクがフォーマットされた後で、プロセスはステップ1208に進み、ここでストレージシステムは、RAIDグループ405のステータスを通常に変更する。54図13は、本発明の実施形態に従ったFMデバイス1205のためのフォーマッティングプロセスの例示的なフローチャートを示す。このプロセスは、ステップ1301で開始し、ここでストレージシステムは、ディスクモデル情報テーブル303を使用して、FMデバイスが初期化機能をサポートするか否かを判断する。ストレージシステムはまた、初期化データパターンがフォーマットパターンと同じであるか否かを判断する。初期化機能サポート605のために格納された情報がない場合は、ストレージコントローラは、記憶媒体が初期化機能をサポートするか否かを判断し、かつディスクモデル情報テーブル303に情報を格納するために、FMデバイス131に問い合わせコマンドを送信してもよい。サニタイズコマンドがそれほど頻繁に発行されない場合記憶媒体がストレージシステムから除去される場合のみなど、ストレージシステムは、初期化機能の情報を維持しないかもしれず、むしろストレージコントローラが管理又はホストコンピュータからサニタイジングコマンドを受信する度に、ターゲット記憶媒体に問い合せを送出し得る。FMデバイスが初期化機能をサポートする場合は、プロセスはステップ1302に進み、ここでストレージコントローラは、初期化機能を呼び出すためにFMデバイスにコマンドを送信する。ステップ1303では、FMデバイスは、初期化を受信した後で全ブロックを消去する。初期化コマンドをFMデバイスに送信した後で所定の時間が経過した場合、ストレージシステム110は、FMデバイスに対してサニタイズステータスEXTコマンドを送信し得る。サニタイズステータスEXTコマンドによって、ストレージコントローラが、初期化コマンドが完了したか否かをチェックすることが可能になるだろう。例えば、物理セクタのサニタイズが成功しなかった場合は、FMデバイスからエラー出力が送信されることになる。しかし、FMデバイスが初期化機能をサポートしない場合は、プロセスはステップ1304に進み、ここでストレージコントローラがフォーマットデータパターンをFMデバイスの全容量領域ヘッドからエンドアドレスまでを書き込む。サニタイジングプロセスとは異なり、予備容量領域を上書きすることは必要ないかもしれない。55図14は、本発明の実施形態に従ったHDD1206のためのフォーマッティングプロセスの例示的なフローチャートを示す。このプロセスは、ステップ1401で開始し、ここでストレージシステムは、ディスクモデル情報テーブルを使用して、HDDが初期化機能及びパターン設定をサポートするか否かを判断する。初期化機能サポート605のために格納された情報が存在しない場合は、ストレージコントローラは、記憶媒体が初期化機能をサポートし、情報をディスクモデル情報テーブル303に格納するか否かを判断するために、問い合わせコマンドをHDDに送信し得る。サニタイズコマンドがそれほど頻繁に発行されない場合記憶媒体がストレージシステムから除去される場合のみなど、ストレージシステムは、初期化機能の情報を維持しないかもしれず、むしろ、ストレージコントローラが管理又はホストコンピュータからサニタイジングコマンドを受信する度に、ターゲット記憶媒体に問い合わせを送出し得る。HDDが初期化機能及びデータパターンの設定をサポートする場合、プロセスはステップ1402に進み、ここでストレージコントローラは、フォーマットパターンを設定し、HDDに対してその初期化機能を呼び出すように命令する。ステップ1403では、HDD132は、その書き込み機能を使用して、初期化コマンドを受信した後で全ブロックに書き込む。HDDが初期化機能をサポートしない場合は、プロセスはステップ1404に進み、ここでストレージコントローラは、HDDの全容量領域にフォーマットデータパターンを書き込む。56図15は、本発明の実施形態に従って例示的なHDD構成132を示す。HDDの多様な構成要素をここで説明する。HDDコントローラ1510は、ハードディスクデバイスの機能性を扱うための多様な構成要素を含む。読み出し/書き込みインタフェース1511及び管理インタフェース1512は、ストレージコントローラ120に接続される。読み出し/書き込みインタフェース1511は、読み出し/書き込みI/Oコマンドを容易にし、管理インタフェース1512は、初期化コマンドを容易にする。あるいは、管理インタフェース1512を読み出し/書き込みインタフェース1511と組み合わせてもよい。CPU1513は、HDD132のための機能性を扱う。また、磁気ディスク1520からのリードデータ及び磁気ディスク1520へのライトデータを一時的に格納するために、バッファ1514を設けてもよく、この磁気ディスク1520は、データのより恒久的な格納を扱う。マップ1515は、論理アドレスディスクI/Oと磁気ディスク1520上の対応する物理ページアドレスとの間のマップを示す。このマップは、上書きプロセスの間に修正されてもよい。しかし、HDDの型式によっては、マップはHDDに存在しないかもしれない。読み出し/書き込み制御プログラム1516は、読み出し/書き込みコマンドを実行してもよい。大量書き込みのために、初期化機能プログラム1517は、磁気ディスク1520上の複数のブロック/トラックへの書き込みを可能にするために提供される。初期化機能プログラム1517は、書き込み/大量書き込みコマンドに従って実行する。しかし、HDDの型式によっては、初期化機能プログラム1517は存在しないかもしれない。57さらに、本発明の他の実施は、本明細書に開示された本発明の仕様及び実施を考慮することにより当業者にとっては明らかなものとなるであろう。説明された実施態様の様々な態様及び/又は構成要素は、フォーマッティングによる又はサニタイズによるストレージシステム内のデータのシュレッディングにおいて単独で又はあらゆる組み合わせで使用され得る。本明細書及び実施例は単なる例示として考慮されることが意図されており、本発明の真の範囲及び精神は、以下の請求項によって示される。