(57)【要約】  【課題】  ＲＡＩＤアダプタに負担をかけず、ディスク・アレイの残り部分またはネットワークに対するアクセスを混乱させず、様々なディスク関連保守動作を実行する。  【解決手段】  ストレージ・システムは、ＲＡＩＤアダプタ、ディスク・アレイ・スイッチ、サブ・プロセッサ、およびハード・ディスク・ドライブ（ＨＤＤ）を含む。ＲＡＩＤアダプタにおいてディスク関連動作が開始する。ＲＡＩＤアダプタは、１つ以上のドライブに対する動作をディスク・アレイ・プロセッサ（またはサブ・プロセッサ）が実行するために、エンクロージャのプロセッサに対してコマンドを送出する。アダプタは、ディスク・アレイ・スイッチを介して単一エンクロージャ内の１つのプロセッサに、または上流エンクロージャのスイッチを介して多数のエンクロージャ内のプロセッサに、コマンドを送出することができる。次いで、アダプタは、他の機能を自由に実行する。プロセッサは、一度に１つずつ順番に、または一度に２つ以上（または全て）同時に、１つ以上の選択されたドライブに対して指定された動作を開始する。動作が完了すると、結果をプロセッサが送信し、アダプタが受信する。従って、分散したサブ・プロセッサにタスクをオフロードすることによって、ＲＡＩＤアダプタに対する負担が著しく軽減され、システム帯域幅の使用を減らし、エンクロージャ内の（および他のエンクロージャ内の）他のドライブに対するアクセスは維持することができる。かかる方法でオフロードすることができるタスクには、ドライブ・ファームウェアの更新、ドライブ・スクラビング、およびセキュリティ保護されたデータ消去が含まれるが、これらに限定されるわけではない。【選択図】  図１
2009530728.tif 000002
【特許請求の範囲】
【請求項１】
ＲＡＩＤアダプタと、少なくとも１つのアレイ・エンクロージャと、接続ファブリックと、を有するＲＡＩＤストレージ・システムにおいて、命令を実行するための方法であって、各エンクロージャは、各々がストレージ・ドライブのアレイに結合された１対の冗長ディスク・アレイ・スイッチと、双方のスイッチに結合されたディスク・アレイ・プロセッサと、を含み、この方法が、
前記ＲＡＩＤアダプタにおいて指定された動作を開始するステップと、
前記ＲＡＩＤアダプタからディスク・アレイ・プロセッサに、前記少なくとも１つのエンクロージャ内の１つ以上の選択されたストレージ・ドライブに対する動作を前記ディスク・アレイ・プロセッサが実行するために、コマンドを送出するステップと、
前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行するステップと、
前記動作の結果を前記ＲＡＩＤアダプタに送信するステップと、
前記ＲＡＩＤアダプタにおいて前記ディスク・アレイ・プロセッサから前記結果を受信するステップと、
を含む、方法。
【請求項２】
前記指定された動作がドライブ・ファームウェアの更新を含み、前記動作を実行するステップが、
ａ）  前記ＲＡＩＤアダプタからドライブ・ファームウェアを受信するステップと、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルするステップと、
ｃ）  前記ファームウェアを前記１つのストレージ・ドライブにアップロードするステップと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記指定された動作がドライブ・スクラビングを含み、前記動作を実行するステップが、
ａ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルするステップと、
ｂ）  前記１つのストレージ・ドライブの媒体上のセクタにアクセスするステップと、
ｃ）  前記１つのドライブの前記媒体におけるいずれかの潜在的な欠陥を識別するステップと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すステップと、
を含む、請求項１に記載の方法。
【請求項４】
前記結果を送信するステップが、前記１つのドライブの識別およびいずれかの識別された潜在的な媒体の欠陥の通知を前記ＲＡＩＤアダプタに送信することを含む、請求項３に記載の方法。
【請求項５】
前記指定された動作がセキュリティ保護された消去を含み、前記動作を実行するステップが、
ａ）  前記ＲＡＩＤアダプタからドライブ消去アルゴリズムを受信するステップと、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルするステップと、
ｃ）  前記１つのストレージ・ドライブに対して前記消去アルゴリズムを実行するステップと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すステップと、
を含む、請求項１に記載の方法。
【請求項６】
前記指定された動作を実行するステップが、２つ以上のアレイ・エンクロージャにおいて同時に少なくとも１つのストレージ・ドライブに対して前記指定された動作を実行することを含む、前出の請求項のいずれかに記載の方法。
【請求項７】
ＲＡＩＤアダプタと通信を行うように適合され、ディスク・ドライブのアレイと、各々が各ディスク・ドライブに結合された１対の冗長なディスク・アレイ・スイッチと、エンクロージャ・プロセッサと、を含むインテリジェントなストレージ・エンクロージャであって、前記エンクロージャ・プロセッサが前記ＲＡＩＤアダプタによってオフロードされる命令を実行するように構成され、前記命令が、
前記ＲＡＩＤアダプタにおいて指定された動作を開始することと、
前記ＲＡＩＤアダプタからディスク・アレイ・プロセッサに、前記エンクロージャ内の１つ以上の選択されたストレージ・ドライブに対する動作を前記ディスク・アレイ・プロセッサが実行するために、コマンドを送出することと、
前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行することと、
前記動作の結果を前記ＲＡＩＤアダプタに送信することと、
前記ＲＡＩＤアダプタにおいて前記ディスク・アレイ・プロセッサから前記結果を受信することと、
を含む、ストレージ・エンクロージャ。
【請求項８】
前記指定された動作が、ドライブ・ファームウェアの更新、ドライブ・データのスクラブ、およびセキュリティ保護されたドライブ消去から成る群から選択される、請求項７に記載のストレージ・エンクロージャ。
【請求項９】
ディスク・アレイ・ストレージ・システムであって、
ＲＡＩＤアダプタと、
少なくとも１つのアレイ・エンクロージャであって、各々が、
１対の冗長なアレイ・スイッチと、
ストレージ・ドライブのアレイであって、各ストレージ・ドライブが双方のスイッチに結合された、ストレージ・ドライブのアレイと、
双方のスイッチに結合されたアレイ・プロセッサと、
を含む、アレイ・エンクロージャと、
接続ファブリックと、
前記ＲＡＩＤアダプタにおいて指定された動作を開始するための手段と、
を含み、前記ＲＡＩＤアダプタが、前記アレイ・エンクロージャの少なくとも１つにおける前記ディスク・アレイ・プロセッサに、前記エンクロージャ内の１つ以上の選択されたストレージ・ドライブに対する動作を前記ディスク・アレイ・プロセッサが実行するために、コマンドを送出するための手段を含み、
前記アレイ・プロセッサが、
前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行するための手段と、
前記動作の結果を前記ＲＡＩＤアダプタに送信するための手段と、
を含み、前記ＲＡＩＤアダプタが、更に、前記ＲＡＩＤアダプタにおいて前記ディスク・アレイ・プロセッサから前記結果を受信するための手段を含む、システム。
【請求項１０】
前記送出するための手段がドライブ・ファームウェアの更新を送出するための手段を含み、前記指定された動作を実行するための前記手段が、
ａ）  前記ＲＡＩＤアダプタからドライブ・ファームウェアを受信するための手段と、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルするための手段と、
ｃ）  前記ファームウェアを前記１つのストレージ・ドライブにアップロードするための手段と、
ｄ）  ａ）からｃ）において記載された前記手段が、他の選択された各ストレージ・ドライブごとに、前記受信、指示、指示およびアップロードをそれぞれ繰り返すことを命令するための手段と、
を含む、請求項９に記載のシステム。
【請求項１１】
前記送出するための手段がドライブ・スクラビングの命令を送出するための手段を含み、前記指定された動作を実行するための前記手段が、
ａ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルするための手段と、
ｂ）  前記１つのストレージ・ドライブの媒体上のセクタにアクセスするための手段と、
ｃ）  前記１つのドライブの前記媒体におけるいずれかの潜在的な欠陥を識別するための手段と、
ｄ）  ａ）からｃ）において記載された前記手段が、他の選択された各ストレージ・ドライブごとに、前記指示、指示、アクセスおよび識別をそれぞれ繰り返すことを命令するための手段と、
を含む、請求項９に記載のシステム。
【請求項１２】
前記結果を送信するための手段が、前記１つのドライブの識別およびいずれかの識別された潜在的な媒体の欠陥の通知を前記ＲＡＩＤアダプタに送信するための手段を含む、請求項１１に記載のシステム。
【請求項１３】
前記送出するための手段がセキュリティ保護された消去の命令を送出するための手段を含み、前記指定された動作の実行が、
ａ）  前記ＲＡＩＤアダプタからドライブ消去アルゴリズムを受信することと、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルすることと、
ｃ）  前記１つのストレージ・ドライブに対して前記消去アルゴリズムを実行することと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すことと、
を含む、請求項９に記載のシステム。
【請求項１４】
前記指定された動作を実行するための前記手段が、２つ以上のアレイ・エンクロージャにおいて同時に少なくとも１つのストレージ・ドライブに対して前記指定された動作を実行するための手段を含む、請求項９に記載のシステム。
【請求項１５】
ホスト・アダプタと通信を行うように適合されたインテリジェント・ストレージ・エンクロージャであって、
各々がＲＡＩＤアダプタに結合された１対の冗長なアレイ・スイッチと、
各々が各ポートを介して双方のスイッチに結合されたストレージ・ドライブのアレイと、
双方のスイッチに結合されたアレイ・プロセッサと、
を含み、前記アレイ・プロセッサが、
ａ）  前記ＲＡＩＤアダプタからコマンドを受信して、前記アレイにおける１つ以上の選択されたストレージ・ドライブに対して指定された動作を実行し、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルし、
ｃ）  前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行し、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返し、
ｅ）  前記動作の結果を前記ＲＡＩＤアダプタに送信する、
ように構成されている、ストレージ・エンクロージャ。
【請求項１６】
前記指定された動作が、ドライブ・ファームウェアの更新、ドライブ・データのスクラブ、およびセキュリティ保護されたドライブ消去から成る群から選択される、請求項１５に記載のストレージ・エンクロージャ。
【請求項１７】
プログラマブル・コンピュータと共に使用可能なコンピュータ読み取り可能媒体のコンピュータ・プログラムであって、ＲＡＩＤアダプタと、少なくとも１つのアレイ・エンクロージャと、接続ファブリックと、を有するＲＡＩＤストレージ・システムにおいて命令を実行するためのコンピュータ読み取り可能コードがこのコンピュータ・プログラムにおいて具現化され、各エンクロージャは、各々がストレージ・ドライブのアレイに結合された１対の冗長ディスク・アレイ・スイッチと、双方のスイッチに結合されたディスク・アレイ・プロセッサと、を含み、前記コンピュータ読み取り可能コードが、
前記ＲＡＩＤアダプタにおいて指定された動作を開始し、
前記ＲＡＩＤアダプタからディスク・アレイ・プロセッサに、前記少なくとも１つのエンクロージャ内の１つ以上の選択されたストレージ・ドライブに対する動作を前記ディスク・アレイ・プロセッサが実行するために、コマンドを送出し、
前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行し、
前記動作の結果を前記ＲＡＩＤアダプタに送信し、
前記ＲＡＩＤアダプタにおいて前記ディスク・アレイ・プロセッサから前記結果を受信する、
ための命令を含む、コンピュータ・プログラム。
【請求項１８】
前記指定された動作がドライブ・ファームウェアの更新を含み、前記動作を実行するための前記命令が、
ａ）  前記ＲＡＩＤアダプタからドライブ・ファームウェアを受信し、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルし、
ｃ）  前記ファームウェアを前記１つのストレージ・ドライブにアップロードし、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返す、
ための命令を含む、請求項１７に記載のコンピュータ・プログラム。
【請求項１９】
前記指定された動作がドライブ・スクラビングを含み、前記動作を実行するための前記命令が、
ａ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルし、
ｂ）  前記１つのストレージ・ドライブの媒体上のセクタにアクセスし、
ｃ）  前記１つのドライブの前記媒体におけるいずれかの潜在的な欠陥を識別し、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返す、
ための命令を含む、請求項１７に記載のコンピュータ・プログラム。
【請求項２０】
前記結果を送信するための前記命令が、前記１つのドライブの識別およびいずれかの識別された潜在的な媒体の欠陥の通知を前記ＲＡＩＤアダプタに送信するための命令を含む、請求項１９に記載のコンピュータ・プログラム。
【請求項２１】
前記指定された動作がセキュリティ保護された消去を含み、前記動作を実行するための前記命令が、
ａ）  前記ＲＡＩＤアダプタからドライブ消去アルゴリズムを受信し、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルし、
ｃ）  前記１つのストレージ・ドライブに対して前記消去アルゴリズムを実行し、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返す、
ための命令を含む、請求項１７に記載のコンピュータ・プログラム。
【請求項２２】
前記指定された動作を実行するための前記命令が、２つ以上のアレイ・エンクロージャにおいて同時に少なくとも１つのストレージ・ドライブに対して前記指定された動作を実行するための命令を含む、請求項１７に記載のコンピュータ・プログラム。
【請求項２３】
コンピューティング・インフラストラクチャを展開するための方法であって、ＲＡＩＤアダプタと、少なくとも１つのアレイ・エンクロージャと、接続ファブリックと、を有するＲＡＩＤストレージ・システムにコンピュータ読み取り可能コードを統合することを含み、各エンクロージャは、各々がストレージ・ドライブのアレイに結合された１対の冗長ディスク・アレイ・スイッチと、双方のスイッチに結合されたディスク・アレイ・プロセッサと、を含み、前記コードが、前記コンピューティング・システムと組み合わせて、
前記ＲＡＩＤアダプタにおいて指定された動作を開始することと、
前記ＲＡＩＤアダプタからディスク・アレイ・プロセッサに、前記少なくとも１つのエンクロージャ内の１つ以上の選択されたストレージ・ドライブに対する動作を前記ディスク・アレイ・プロセッサが実行するために、コマンドを送出することと、
前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行することと、
前記動作の結果を前記ＲＡＩＤアダプタに送信することと、
前記ＲＡＩＤアダプタにおいて前記ディスク・アレイ・プロセッサから前記結果を受信することと、
を実行することができる、方法。
【請求項２４】
前記指定された動作がドライブ・ファームウェアの更新を含み、前記動作を実行することが、
ａ）  前記ＲＡＩＤアダプタからドライブ・ファームウェアを受信することと、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルすることと、
ｃ）  前記ファームウェアを前記１つのストレージ・ドライブにアップロードすることと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すことと、
を含む、請求項２３に記載の方法。
【請求項２５】
前記指定された動作がドライブ・スクラビングを含み、前記動作を実行することが、
ａ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルすることと、
ｂ）  前記１つのストレージ・ドライブの媒体上のセクタにアクセスすることと、
ｃ）  前記１つのドライブの前記媒体におけるいずれかの潜在的な欠陥を識別することと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すことと、
を含む、請求項２３に記載の方法。
【請求項２６】
前記結果を送信することが、前記１つのドライブの識別およびいずれかの識別された潜在的な媒体の欠陥の通知を前記ＲＡＩＤアダプタに送信することを含む、請求項２５に記載の方法。
【請求項２７】
前記指定された動作がセキュリティ保護された消去を含み、前記動作を実行することが、
ａ）  前記ＲＡＩＤアダプタからドライブ消去アルゴリズムを受信することと、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルすることと、
ｃ）  前記１つのストレージ・ドライブに対して前記消去アルゴリズムを実行することと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すことと、
を含む、請求項２３に記載の方法。
【請求項２８】
前記指定された動作を実行することが、２つ以上のアレイ・エンクロージャにおいて同時に少なくとも１つのストレージ・ドライブに対して前記指定された動作を実行することを含む、請求項２３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本出願の提出日に申請された、本発明の譲受人に譲渡された同時係属中の「ENCLOSURE-BASED RAID PARITY ASSIST」と題する米国出願連続番号第１１／３８６０６６号および「ISOLATING FAILING DRIVE FROM DISK ARRAY FOR DIAGNOSTIC OPERATIONS」と題する第１１／３８５３８８号に関連する。
【背景技術】
【０００２】
本発明は、一般にＲＡＩＤストレージ・システムに関し、具体的には、ＲＡＩＤアダプタおよびシステムのバランスに対する影響を最小限にしてドライブ関連タスクを実行することに関する。
【０００３】
今日、多くのコンピュータ関連システムは、高い信頼性および可用性のために、冗長なコンポーネントを含む。例えば、ＲＡＩＤストレージ・システムにおいては、エンクロージャはハード・ディスク・ドライブ（ＨＤＤ）のアレイを含み、これらのドライブは各々、独立したポートを介して、１対の冗長ディスク・アレイ・スイッチの双方に結合されている。スイッチの一方に、１対の冗長サブ・プロセッサの一方を結合すると共に、スイッチの他方に、１対のサブ・プロセッサの他方を結合することができる。あるいは、双方のスイッチに単一のサブ・プロセッサを結合し、このサブ・プロセッサを２つの画像に論理的に分割し、各々をスイッチの一方に論理的に結合することも可能である。サブ・プロセッサは、電力通知および他のエンクロージャ管理機能を処理する。また、各スイッチは、ファブリック（fabric）またはネットワークを介して、エンクロージャの外部の１対の冗長ＲＡＩＤアダプタの双方にも結合することができる。アダプタは、スイッチのポートを通して、ファブリックを介してサブ・プロセッサと通信を行う。このシステムは追加のエンクロージャを含む場合があるが、それらのエンクロージャは各々、ネットワークにおいて、前のエンクロージャのディスク・アレイ・スイッチにデイジーチェーン結合される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来、ＲＡＩＤアダプタ（複数のアダプタ）によって、ディスクに関連した多くのタスクが実行される。ドライブにアクセスするために、ＲＡＩＤアダプタは、ドライブに対する「開放」を起動する。アダプタとドライブとの間に配置されたどのスイッチも、ドライブをアダプタに接続するために専用の必要ポートを確立するように構成されている。選択されたドライブが一連のディスク・エンクロージャの「底部」にある場合、それより上の全てのエンクロージャ内のスイッチは、アダプタからドライブへの経路を確立するために関与しなければならない。また、経路を介してアクセスを行っている間、関係しているポートを他のドライブへのデータ送信および他のドライブからのデータ送信に用いることができない。
【０００５】
例えば、ディスク・ドライブ・ファームウェアを更新しようとする場合、ＲＡＩＤアダプタはドライブに伴う経路を開放して、ドライブをオフラインにし、ファームウェアをダウンロードしてドライブを更新し、ついでドライブをオンラインに戻す。この手順は各ドライブごとに行われ、著しいアダプタおよびファブリックのリソースを必要とする。アダプタから更新しているデバイスまでの経路を確立するように構成された全ポートは、他のデバイスにアクセスするために用いることができず、全体としてシステムに破壊的である。
【０００６】
別の例として、潜在的な媒体エラーについてディスクを調べるために、「データ・スクラビング（data scrubbing）」が行われる。欠陥のあるディスク領域に書き込まれた特定のデータがあまり頻繁に読み出されない場合、エラーが検出されるまでに長い時間がかかり、結果としてデータの喪失につながる恐れがある。各ディスクのセクタに系統的にアクセスすることによって、かかる欠陥を識別し、実際のドライブ故障が起こる前に補正措置を取ることができる。しかしながら、この場合も、この手順は著しいアダプタおよびファブリックのリソースを必要とし、全体としてシステムにとって破壊的である傾向がある。
【０００７】
第３の例として、機密上重要なデータの不注意による公開は、様々な業界のいずれにとってもますます大きな問題となっている。かかるデータは、小数の例を挙げると、機密の書類、業界の極秘事項および経理記録等を含み得る。かかるデータをストアしたハード・ドライブが利用されなくなった場合、データは、「消去」されたにもかかわらず、ディスク上にストアされたままである場合がある。更に、確実にデータを取り消し不能に破壊するには、低レベルの再フォーマットでは充分でない。なぜなら、ディスク上の残った磁気からデータを回復させることが可能であり得るからである。従って、データの破壊を確実とするために実施可能な多くのプロトコルがある。粉砕および消磁によって物理的にディスクを破壊することの他に、ディスク上の各位置に規定シーケンスで指定データ・パターンを何度も上書きすることを規定するアルゴリズムが開発されている。いくつかの方法では、ディスクの位置にストアされたデータが最後に更新されたパターンであることの検証が必要である。データを確実に消去したと見なすには、この方法の手順および動作確認を厳守することが必要である。通常、ユーティリティは、オペレーティング・システムがタスクを実行するために書かれている。ＲＡＩＤアレイにおいて実施されると、著しいアダプタおよびシステム・リソースの使用が必要である。
【０００８】
従って、ＲＡＩＤアダプタに負担をかけることなく、また、ディスク・アレイの残り部分またはネットワークに対するアクセスを混乱させることなく、様々なディスク関連保守動作を実行することを可能とする必要性がある。
【課題を解決するための手段】
【０００９】
本発明は、ＲＡＩＤアダプタ、ディスク・アレイ・スイッチ、サブ・プロセッサ、およびハード・ディスク・ドライブ（ＨＤＤ）を含むストレージ・システムを含む。ＲＡＩＤアダプタにおいてディスク関連動作が開始する。ＲＡＩＤアダプタは、１つ以上のドライブに対する動作をディスク・アレイ・プロセッサ（またはサブ・プロセッサ）が実行するために、エンクロージャのプロセッサに対してコマンドを送出する。次いで、アダプタは、他の機能を自由に実行する。アダプタは、ディスク・アレイ・スイッチを介して単一エンクロージャ内の１つのプロセッサに、または上流エンクロージャのスイッチを介して多数のエンクロージャ内のプロセッサに、コマンドを送出することができる。プロセッサは、一度に１つずつ順番に、または一度に２つ以上（または全て）同時に、１つ以上の選択されたドライブに対して指定された動作を開始する。動作が完了すると、結果をプロセッサが送信し、アダプタが受信する。従って、分散したサブ・プロセッサにタスクをオフロードすることによって、ＲＡＩＤアダプタに対する負担が著しく軽減され、システム帯域幅の使用を減らし、エンクロージャ内の（および他のエンクロージャ内の）他のドライブに対するアクセスは維持することができる。かかる方法でオフロードすることができるタスクには、ドライブ・ファームウェアの更新、ドライブ・スクラビング、およびセキュリティ保護されたデータ消去が含まれるが、これらに限定されるわけではない。
【００１０】
これより、添付図面を参照して、一例としてのみ本発明について説明する。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明を実施可能なＲＡＩＤストレージ・システム１００のブロック図である。システム１００は、１つ以上のサーバに結合された冗長な１対のＲＡＩＤアダプタまたはコントローラ１１０Ａ、１１０Ｂ（まとめて１１０とする）を含む。システム１００は、更に、１対の冗長ディスク・アレイ・スイッチ１２０Ａおよび１２０Ｂ（まとめて１２０とする）を収容するエンクロージャ１１５を含む。また、エンクロージャ１１５は、ハード・ディスク・ドライブ（ＨＤＤ）群１３０Ａ、１３０Ｂ、１３０Ｃ、１３０Ｄ、１３０Ｅ、１３０Ｆ（まとめて１３０とする）を収容する。各ＨＤＤは、ポート１２２を介して、双方のスイッチに結合されている。また、システム１００は、ＳＣＳＩエンクロージャ・サービス（ＳＥＳ）プロセッサ等の、１対の冗長サブ・プロセッサまたはサービス・プロセッサ１４０Ａ、１４０Ｂ（まとめて１４０とする）を含む。これらは各々、ファブリックまたはネットワーク１４２を介して、スイッチ１２０Ａ、１２０Ｂの一方に結合されている。サブ・プロセッサ１４０Ａ、１４０Ｂは、プロセッサ間リンク１４４を介して相互に結合されている。例示するシステム１００において、サービス・プロセッサ１４０Ａ、１４０Ｂは、ＳＣＳＩエンクロージャ・サービス（ＳＥＳ）・プロセッサであり、スイッチ機能およびエンクロージャ環境を管理する。アダプタ１１０は、ファブリックまたはネットワーク・リンク１１２を介してスイッチ１２０に結合されている。図２に示すように、システム２００は多数のエンクロージャ１１５、１５０、および１６０を含み、各々を上流のエンクロージャのポートにデイジーチェーン結合することができる。従って、アダプタ１１０とエンクロージャ内のスイッチまたはＨＤＤとの間のいかなる通信も、上流のエンクロージャのスイッチを通る。
【００１２】
システム１００は、ＦＣ−ＡＬ（fibrechannel-arbitrated loop）・アーキテクチャ、ＳＡＳ（serialattached SCSI）アーキテクチャ、またはデュアル・ポートＨＤＤコンフィギュレーションを含む他のアーキテクチャに基づいたものとすることができる。
【００１３】
図３のフローチャートを参照すると、ＲＡＩＤアダプタ１１０においてディスク関連動作が開始する（ステップ３００）。ＲＡＩＤアダプタ１１０は、エンクロージャ１１５内の１つ以上のドライブ１３０に対する動作をディスク・アレイ・プロセッサ１４０（またはサブ・プロセッサ）に実行させるために、エンクロージャ１１５内のプロセッサ１４０に対してコマンドを送出する（ステップ３０２）。アダプタ１１０は、ディスク・アレイ・スイッチを介して単一エンクロージャ内の１つのプロセッサに、または上流エンクロージャのスイッチを介して多数のエンクロージャ内のプロセッサに、コマンドを送出することができる。次いで、アダプタは、他の機能を自由に実行する（ステップ３０４）。プロセッサ１４０は、一度に１つずつ順番に、または一度に２つ以上（または全て）同時に、１つ以上の選択されたドライブ１３０に対して指定された動作を開始する（ステップ３０６）。動作が完了すると、「成功」等の結果の通知を、プロセッサ１４０が送信し（ステップ３０８）、アダプタ１１０が受信する（ステップ３１０）。従って、分散したサブ・プロセッサ１４０にタスクをオフロードすることによって、ＲＡＩＤアダプタ１１０に対する負担は著しく軽減される。サブ・プロセッサと目標のドライブとの間のスイッチ・リンクにファブリック・トラヒックを局所化することによって、システム帯域幅の使用を減らす。エンクロージャ内の（および他のエンクロージャ内の）他のドライブに対するアクセスは維持することができる。
【００１４】
選択された動作がドライブ・ファームウェアの更新である場合（図４）、アダプタ１１０はファームウェアを、１つ以上の選択されたドライブ１３０を収容するエンクロージャ１１５のためのエンクロージャに基づいたタスクを管理するプロセッサ１４０に転送する（ステップ４００）。また、アダプタは、プロセッサ（複数のプロセッサ）１４０に、更新対象のドライブの識別を含む「更新」コマンドを送出し（ステップ４０２）、次いで、他の動作を再開することができる（ステップ４０４）。プロセッサ１４０は、スイッチ１２０を介して選択されたドライブ（複数のドライブ）１３０への経路を確立し（ステップ４０６）、ファームウェアの更新を実行する（ステップ４０８）。更新動作は分離されており、エンクロージャ１１５内の他のドライブへのアクセスは影響されない。更新が完了すると、プロセッサ１４０は、更新が成功したことまたは失敗したことの通知をＲＡＩＤアダプタ１１０に送信する（ステップ４１０）。プロセッサ１４０は、選択された各ドライブが更新された後にかかる通知を送信することができ、または、全ての選択されたドライブが更新された後に単一のバッチ通知を送信することができる。エンクロージャ内の２つ以上のドライブのファームウェアを順次または同時に更新可能であること、および、２つ以上のエンクロージャ内のドライブのファームウェアを同時に更新可能であることは認められよう。
【００１５】
選択された動作がデータ・スクラビング動作である場合（図５）、アダプタ１１０は、スクラブ対象の１つ以上のドライブの識別を含む適切なコマンドを、選択されたドライブ（複数のドライブ）１３０を収容するエンクロージャ１１５のためのエンクロージャに基づいたタスクを管理するプロセッサ１４０に送出する（ステップ５００）。次いで、アダプタ１１０は他の動作を再開することができる（ステップ５０２）。プロセッサ１４０は、スイッチ１２０を介して選択されたドライブ１３０への経路を確立し（ステップ５０４）、選択されたドライブ１３０の各セクタへのアクセスを試みる（ステップ５０６）。スクラビング動作は分離されており、エンクロージャ１１５内の他のドライブへのアクセスは影響されない。エラーが検出された場合（ステップ５０８）、影響を受けたセクタが識別され（ステップ５１０）、アダプタ１１０にエラー通知を送信して（ステップ５１２）、このアダプタは適切な手順を開始することができる（ステップ５１４）。エラーが検出されない場合、プロセッサ１４０は、「成功」の通知をアダプタ１１０に送信する（ステップ５１６）。そして、サブ・プロセッサのタスクが完了する（ステップ５１８）。この場合も、エンクロージャ内の２つ以上のドライブのデータ・スクラビングを順次または同時に実行可能であること、および、２つ以上のエンクロージャ内のドライブを同時にスクラビング可能であることは認められよう。
【００１６】
選択された動作がセキュリティ保護されたデータ消去動作である場合（図６）、アダプタ１１０は、消去対象のデータを有する１つ以上のドライブの識別および使用する消去アルゴリズムを含む適切なコマンドを、選択されたドライブ（複数のドライブ）１３０を収容するエンクロージャ１１５のためのエンクロージャに基づいたタスクを管理するプロセッサ１４０に送出する（ステップ６００）。次いで、アダプタ１１０は他の動作を再開することができる（ステップ６０２）。プロセッサ１４０は、スイッチ１２０を介して選択されたドライブ（複数のドライブ）１３０への経路を確立し（ステップ６０４）、必要な反復書き込みおよび検証サイクルを実行することによって、ドライブ（複数のドライブ）１３０に対してセキュリティ保護されたアルゴリズムを実行する（ステップ６０６）。消去動作は分離されており、エンクロージャ１１５内の他のドライブへのアクセスは影響されない。消去が完了し確認が行われると（ステップ６０８）、選択されたドライブ１３０はシステムに再び解放され（ステップ６１０）、プロセッサ１４０は、消去が成功したことまたは失敗したことの通知をＲＡＩＤアダプタ１１０に送信する（ステップ６１２）。プロセッサ１４０は、選択された各ドライブが消去された後にかかる通知を送信することができ、または、全ての選択されたドライブが消去された後に単一のバッチ通知を送信することができる。エンクロージャ内の２つ以上のドライブのデータを順次または同時に消去可能であること、および、２つ以上のエンクロージャ内のドライブのデータを同時に消去可能であることは認められよう。アダプタおよび他のシステム・リソースに対する負担を軽減することに加えて、本発明に従ってデータを消去することにより、単一の消去方法を認証することができ、ディスク・エンクロージャがサポートする全てのオペレーティング・システムについて別個の方法を必要とすることはない。
【００１７】
本発明について、完全に機能するデータ処理システムの状況で説明したが、本発明のプロセスは、命令のコンピュータ読み取り可能媒体の形態および様々な形態で分散可能であること、更に、本発明は、この分散を実行するために実際に用いられる特定種類の信号記録媒体には無関係に適用されることは、当業者には理解されるであろうことを注記するのは重要なことである。コンピュータ読み取り可能媒体の例は、フロッピ・ディスク、ハード・ディスク・ドライブ、ＲＡＭ、およびＣＤ−ＲＯＭ等の記録可能型の媒体、ならびに、デジタルおよびアナログ通信リンク等の伝送型の媒体を含む。
【００１８】
本発明の説明は、例示および記載の目的のために与えたものであり、網羅的であることも、開示した本発明の形態に限定することも意図していない。当業者には多くの変更および変形が明らかであろう。実施形態は、本発明の原理、実際の適用を最良に説明するために、更に、考えられる具体的な使用に適するように様々な変更を加えた様々な実施形態について当業者が本発明を理解することができるように、選択し記載した。また、方法およびシステムに関連付けて説明したが、ＲＡＩＤストレージ・システムにおいて命令を実行するための命令を含むコンピュータ・プログラム、または、ＲＡＩＤストレージ・システムにおいて命令を実行するためのコンピューティング・システムにコンピュータ読み取り可能コードを統合することを含むコンピューティング・インフラストラクチャを展開するための方法によっても、当技術分野における必要性を満足させることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明を実施可能なＲＡＩＤストレージ・システム１００のブロック図である。
【図２】多数のエンクロージャを有するＲＡＩＤストレージ・システムのブロック図である。
【図３】本発明の方法のフローチャートである。
【図４】本発明に従ったドライブ・ファームウェア更新の方法のフローチャートである。
【図５】本発明に従ったドライブ・データ・スクラビングの方法のフローチャートである。
【図６】本発明に従ったセキュリティ保護されたデータ消去の方法のフローチャートである。
【図１】
2009530728.tif 000003
【図２】
2009530728.tif 000004
【図３】
2009530728.tif 000005
【図４】
2009530728.tif 000006
【図５】
2009530728.tif 000007
【図６】
2009530728.tif 000008
【手続補正書】
【提出日】平成21年2月26日(2009.2.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＲＡＩＤアダプタと、少なくとも１つのアレイ・エンクロージャと、接続ファブリックと、を有するＲＡＩＤストレージ・システムにおいて、命令を実行するための方法であって、各エンクロージャは、各々がストレージ・ドライブのアレイに結合された１対の冗長ディスク・アレイ・スイッチと、双方のスイッチに結合されたディスク・アレイ・プロセッサと、を含み、この方法が、
前記ＲＡＩＤアダプタにおいて指定された動作を開始するステップと、
前記ＲＡＩＤアダプタからディスク・アレイ・プロセッサに、前記少なくとも１つのエンクロージャ内の１つ以上の選択されたストレージ・ドライブに対する動作を前記ディスク・アレイ・プロセッサが実行するために、コマンドを送出するステップと、
前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行するステップと、
前記動作の結果を前記ＲＡＩＤアダプタに送信するステップと、
前記ＲＡＩＤアダプタにおいて前記ディスク・アレイ・プロセッサから前記結果を受信するステップと、
を含み、
前記指定された動作がセキュリティ保護された消去を含み、前記動作を実行するステップが、
ａ）  前記ＲＡＩＤアダプタからドライブ消去アルゴリズムを受信するステップと、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルするステップと、
ｃ）  前記１つのストレージ・ドライブに対して前記消去アルゴリズムを実行するステップと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すステップと、
を含む、方法。
【請求項２】
前記指定された動作を実行するステップが、２つ以上のアレイ・エンクロージャにおいて同時に少なくとも１つのストレージ・ドライブに対して前記指定された動作を実行することを含む、請求項１に記載の方法。
【請求項３】
ＲＡＩＤアダプタと、少なくとも１つのアレイ・エンクロージャと、接続ファブリックと、を有するＲＡＩＤストレージ・システムであって、
各エンクロージャは、各々がストレージ・ドライブのアレイに結合された１対の冗長ディスク・アレイ・スイッチと、双方のスイッチに結合されたディスク・アレイ・プロセッサと、を含み、
前記ＲＡＩＤアダプタにおいて指定された動作を開始し、
前記ＲＡＩＤアダプタからディスク・アレイ・プロセッサに、前記少なくとも１つのエンクロージャ内の１つ以上の選択されたストレージ・ドライブに対する動作を前記ディスク・アレイ・プロセッサが実行するために、コマンドを送出し、
前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行し、
前記動作の結果を前記ＲＡＩＤアダプタに送信し、
前記ＲＡＩＤアダプタにおいて前記ディスク・アレイ・プロセッサから前記結果を受信することを含み、
前記指定された動作がセキュリティ保護された消去を含み、前記動作を実行することが、
ａ）  前記ＲＡＩＤアダプタからドライブ消去アルゴリズムを受信し、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルし、
ｃ）  前記１つのストレージ・ドライブに対して前記消去アルゴリズムを実行し、
ｄ）  他の選択された各ストレージ・ドライブごとにａ）からｃ）を繰り返す、
システム。
【請求項４】
前記指定された動作を実行することが、２つ以上のアレイ・エンクロージャにおいて同時に少なくとも１つのストレージ・ドライブに対して前記指定された動作を実行することを含む、請求項３に記載のシステム。
【請求項５】
ＲＡＩＤアダプタと、少なくとも１つのアレイ・エンクロージャと、接続ファブリックと、を有するＲＡＩＤストレージ・システムにおいて、命令を実行するためのプログラムであって、各エンクロージャは、各々がストレージ・ドライブのアレイに結合された１対の冗長ディスク・アレイ・スイッチと、双方のスイッチに結合されたディスク・アレイ・プロセッサと、を含み、このプログラムが、
前記ＲＡＩＤアダプタにおいて指定された動作を開始するステップと、
前記ＲＡＩＤアダプタからディスク・アレイ・プロセッサに、前記少なくとも１つのエンクロージャ内の１つ以上の選択されたストレージ・ドライブに対する動作を前記ディスク・アレイ・プロセッサが実行するために、コマンドを送出するステップと、
前記１つ以上の選択されたストレージ・ドライブに対して前記動作を実行するステップと、
前記動作の結果を前記ＲＡＩＤアダプタに送信するステップと、
前記ＲＡＩＤアダプタにおいて前記ディスク・アレイ・プロセッサから前記結果を受信するステップと、
を含む命令を実行し、
前記指定された動作がセキュリティ保護された消去を含み、前記動作を実行するステップが、
ａ）  前記ＲＡＩＤアダプタからドライブ消去アルゴリズムを受信するステップと、
ｂ）  前記エンクロージャ内の前記スイッチの１つに指示して前記選択されたストレージ・ドライブの１つをイネーブルするステップと、
ｃ）  前記１つのストレージ・ドライブに対して前記消去アルゴリズムを実行するステップと、
ｄ）  他の選択された各ストレージ・ドライブごとにステップａ）からｃ）を繰り返すステップと、
を含む、プログラム。
【請求項６】
前記指定された動作を実行するステップが、２つ以上のアレイ・エンクロージャにおいて同時に少なくとも１つのストレージ・ドライブに対して前記指定された動作を実行することを含む、請求項５に記載のプログラム。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2009530728.tif 000009
【国際調査報告】
2009530728.tif 000010
2009530728.tif 000011
2009530728.tif 000012