(57)【要約】      （修正有）【課題】管理コントローラ（ＭＣ）を使用して、シリアル接続小型コンピュータシステムインタフェース（ＳＡＳ）／シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）ハードディスクドライブ（ＨＤＤ）ファームウェア（ＦＷ）を更新する方法及びシステムを提供する。【解決手段】方法は、ローカルエリアネットワーク（ＬＡＮ）を介してＭＣにＨＤＤ  ＦＷをアップロードする段階７０１と、ＨＤＤ  ＦＷを複数のチャンクに分割する段階７０３と、複数の書き込みコマンドを発行する段階と、複数のチャンクをＳＡＳ  ＨＤＤに書き込む段階７０６とを備える。【選択図】図７
2018190376.tif 000002
【特許請求の範囲】
【請求項１】
管理コントローラ（ＭＣ）を使用して、シリアル接続小型コンピュータシステムインタフェース（ＳＡＳ）ハードディスクドライブ（ＨＤＤ）ファームウェア（ＦＷ）を更新する方法であって、前記ＭＣによって実行され、
ローカルエリアネットワーク（ＬＡＮ）を介して前記ＳＡＳ  ＨＤＤ  ＦＷをアップロードする段階と、
前記ＳＡＳ  ＨＤＤ  ＦＷを複数のチャンクに分割する段階と、
前記複数のチャンクを有する複数の小型コンピュータシステムインタフェース（ＳＣＳＩ）ライトバッファコマンドを発行する段階と、
前記複数のチャンクをＳＡＳ  ＨＤＤに書き込む段階と
を備える方法。
【請求項２】
ＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続を確立する段階をさらに備える、請求項１に記載の方法。
【請求項３】
前記ＳＡＳ初期ポートと前記ＳＡＳターゲットポートとの間の前記接続を確立する前に、前記複数のチャンクを有する前記複数のＳＣＳＩライトバッファコマンドのうちの第１のチャンクを有する第１のＳＣＳＩライトバッファコマンドが発行され、
一たび前記ＳＡＳ初期ポートと前記ＳＡＳターゲットポートとの間の前記接続が確立されると、前記第１のチャンクは前記ＳＡＳ  ＨＤＤに書き込まれる、
請求項２に記載の方法。
【請求項４】
前記ＳＡＳ  ＨＤＤがエキスパンダを経由している場合、前記確立する段階は、前記エキスパンダを介して、前記ＳＡＳ初期ポートと前記ＳＡＳターゲットポートとの間の前記接続を確立する段階を有する、
請求項２または３に記載の方法。
【請求項５】
管理コントローラ（ＭＣ）を使用して、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）ハードディスクドライブ（ＨＤＤ）ファームウェア（ＦＷ）を更新する方法であって、前記ＭＣによって実行され、
ローカルエリアネットワーク（ＬＡＮ）を介して前記ＳＡＴＡ  ＨＤＤ  ＦＷをアップロードする段階と、
前記ＳＡＴＡ  ＨＤＤ  ＦＷを複数のチャンクに分割する段階と、
ダウンロードマイクロコードＡＴＡコマンドと前記複数のチャンクとを有する複数の小型コンピュータシステムインタフェース（ＳＣＳＩ）アドバンストテクノロジアタッチメント（ＡＴＡ）パススルーコマンドを発行する段階と、
前記複数のチャンクをＳＡＴＡ  ＨＤＤに書き込む段階と
を備える方法。
【請求項６】
シリアル接続小型コンピュータシステムインタフェース（ＳＡＳ）初期ポートとＳＡＳターゲットポートとの間の接続を確立する段階をさらに備える、請求項５に記載の方法。
【請求項７】
前記ＳＡＳ初期ポートと前記ＳＡＳターゲットポートとの間の前記接続が確立される前に、ダウンロードマイクロコードＡＴＡコマンドと前記複数のチャンクとを有する前記複数のＳＣＳＩ  ＡＴＡパススルーコマンドのうちのダウンロードマイクロコードＡＴＡコマンドと第１のチャンクとを有する第１のＳＣＳＩ  ＡＴＡパススルーコマンドが発行され、
一たび前記ＳＡＳ初期ポートと前記ＳＡＳターゲットポートとの間の前記接続が確立されると、前記第１のチャンクは前記ＳＡＴＡ  ＨＤＤに書き込まれる、
請求項６に記載の方法。
【請求項８】
前記ＳＡＳ初期ポートはホストバスアダプタ（ＨＢＡ）であり、前記ＳＡＳターゲットポートはエキスパンダである、請求項６または７に記載の方法。
【請求項９】
ハードディスクドライブ（ＨＤＤ）ファームウェア（ＦＷ）を更新するためのシステムであって、
管理コントローラ（ＭＣ）と、
ＨＤＤと、
管理ソフトウェア（ＳＷ）と
を備え、
前記管理ＳＷは、前記ＨＤＤ  ＦＷを前記ＭＣにアップロードし、
前記ＭＣは、前記アップロードされたＨＤＤ  ＦＷを複数のチャンクに分割し、書き込みコマンドを発行して前記複数のチャンクを前記ＨＤＤに書き込む、
システム。
【請求項１０】
前記ＨＤＤはシリアル接続小型コンピュータシステムインタフェース（ＳＡＳ）ＨＤＤ、または、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）ＨＤＤである、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、管理コントローラ（ＭＣ）によってハードディスクドライブ（ＨＤＤ）のファームウェア（ＦＷ）を更新するための方法及びシステムに関する。 
【背景技術】
【０００２】
従来技術では、シリアル接続小型コンピュータシステムインタフェース（ＳＡＳ）／シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）ＨＤＤ／ＳＳＤベンダまたはコンピュータメーカが、ＨＤＤ  ＦＷを更新するための、インバンドオペレーティングシステム（ＯＳ）上で動作する独自のＨＤＤ  ＦＷ更新ツールを提供する。いくつかのそのようなツールの例示的実施形態は、ＨＰ  ＳＵＭ（Ｓｍａｒｔ  Ｕｐｄａｔｅ  Ｍａｎａｇｅｒ）およびＤｅｌｌ  ＤＵＰ（Ｄｅｌｌ  Ｕｐｄａｔｅ  Ｐａｃｋａｇｅｓ）である。しかしながら、ＨＤＤ  ＦＷを更新するための全ての従来の方法及びシステムは、複数の異なる種類のＯＳへの対処を必要とし、それにより、さまざまな種類のＯＳへの準拠、複数のバージョンの異なる種類のＯＳのサポート等のような複数の複雑さおよび管理の問題をもたらす。
【０００３】
従来技術の利用可能なツールはどれも、ＨＤＤ  ＦＷの更新または上述された複雑さおよび管理の問題の軽減のためにＭＣアウトオブバンド（ＯＯＢ）管理は使用しない。したがって、ＢＭＣ  ＯＯＢによってＨＤＤ  ＦＷを更新するための別の解決手段が必要である。 
【０００４】
例えば、米国特許公開第ＵＳ  ８２７１９６８  Ｂ２号は、トランスペアレントなハードディスクドライブ更新のためのシステムおよび方法を提供する。情報処理システムハードディスクドライブファームウェア更新は、情報処理システムの動作を妨害することなく、ハードディスクドライブ上で開始される。ファームウェア更新は、キューに入れられたタスクをアボートしたり、またはシステムの同期を失ったりすることなく、実行可能な形態でハードディスクドライブのバッファにコピーされ、ハードディスクドライブのコントローラによって実行される。次に、コントローラは、ファームウェア更新の実行と並行してファームウェア更新をフラッシュメモリコピーし、これにより、ハードディスクドライブは、最小の性能劣化で動作する。
【発明の概要】
【０００５】
本技術の基本的な理解を提供すべく、以下で１または複数の実施形態の簡略化された概要を提示する。本概要は本技術の予期される全ての実施形態の広範囲な概要ではなく、全ての例の主要な要素または重要な要素を特定することも、本技術のいずれかの態様または全ての態様の範囲を詳述することも意図されていない。その唯一の目的は、後に提示されるより詳細な説明の前置きとして、１または複数の例のいくつかの概念を簡略化された形態で提示することである。
【０００６】
第１の実施形態において、管理コントローラ（ＭＣ）を使用してシリアル接続小型コンピュータシステムインタフェース（ＳＡＳ）ハードディスクドライブ（ＨＤＤ）ファームウェア（ＦＷ）を更新する方法が提供される。当該方法はＭＣによって実行され、ローカルエリアネットワーク（ＬＡＮ）を介してＨＤＤ  ＦＷをアップロードする段階と、ＨＤＤ  ＦＷを複数のチャンクに分割する段階と、複数のチャンクを有する複数の小型コンピュータシステムインタフェース（ＳＣＳＩ）ライトバッファコマンドを発行する段階と、複数のチャンクをＳＡＳ  ＨＤＤに書き込む段階とを備える。
【０００７】
当該方法はさらに、ＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続を確立する段階を備える。
【０００８】
当該方法において、複数のＳＣＳＩライトバッファコマンドは１つずつ発行される。
【０００９】
当該方法において、複数のチャンクを有する複数のＳＣＳＩライトバッファコマンドのうちの第１のチャンクを有する第１のＳＣＳＩライトバッファコマンドが、ＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続を確立する前に発行され、一たびＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続が確立されると、第１のチャンクはＳＡＳ  ＨＤＤに書き込まれる。
【００１０】
当該方法において、複数のチャンクを有する複数のＳＣＳＩライトバッファコマンドは、インターインテグレーテッドサーキット（Ｉ２Ｃ）を介して発行される。
【００１１】
当該方法はさらに、ＨＤＤ  ＦＷの更新が完了したか否かを判断する段階と、当該判断に基づいて、ＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続を切断する段階とを備える。
【００１２】
当該方法において、複数のチャンクを有する複数のＳＣＳＩライトバッファコマンドは、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）を介して管理コンポーネント転送プロトコル（ＭＣＴＰ）によって発行される。
【００１３】
当該方法において、ＳＡＳ  ＨＤＤがエキスパンダを経由している場合、確立する段階は、エキスパンダを介してＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続を確立する段階を有する。
【００１４】
第２の実施形態において、管理コントローラ（ＭＣ）を使用して、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）ハードディスクドライブ（ＨＤＤ）ファームウェア（ＦＷ）を更新する方法が提供される。当該方法は、ＭＣによって実行され、ローカルエリアネットワーク（ＬＡＮ）を介してＨＤＤ  ＦＷをアップロードする段階と、ＨＤＤ  ＦＷを複数のチャンクに分割する段階と、ダウンロードマイクロコードアドバンストテクノロジアタッチメント（ＡＴＡ）コマンドおよび複数のチャンクを有する複数の小型コンピュータシステムインタフェース（ＳＣＳＩ）ＡＴＡパススルーコマンドを発行する段階と、複数のチャンクをＳＡＴＡ  ＨＤＤに書き込む段階とを備える。
【００１５】
当該方法はさらに、シリアル接続小型コンピュータシステムインタフェース（ＳＡＳ）初期ポートとＳＡＳターゲットポートとの間の接続を確立する段階を備える。
【００１６】
当該方法において、ダウンロードマイクロコードＡＴＡコマンドを有する複数のＳＣＳＩ  ＡＴＡパススルーコマンドは、１つずつ発行される。
【００１７】
当該方法において、ダウンロードマイクロコードＡＴＡコマンドおよび複数のチャンクを有する複数のＳＣＳＩ  ＡＴＡパススルーコマンドのうちのダウンロードマイクロコードＡＴＡコマンドおよび第１のチャンクを有する第１のＳＣＳＩ  ＡＴＡパススルーコマンドが、ＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続を確立する前に発行され、一たびＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続が確立されると、第１のチャンクはＳＡＴＡ  ＨＤＤに書き込まれる。
【００１８】
当該方法において、ダウンロードマイクロコードＡＴＡコマンドおよび複数のチャンクを有する複数のＳＣＳＩ  ＡＴＡパススルーコマンドは、インターインテグレーテッドサーキット（Ｉ２Ｃ）を介して発行される。
【００１９】
当該方法はさらに、ＨＤＤ  ＦＷの更新が完了されたか否かを判断する段階と、当該判断に基づいてＳＡＳ初期ポートとＳＡＳターゲットポートとの間の接続を切断する段階とを備える。
【００２０】
当該方法において、ダウンロードマイクロコードＡＴＡコマンドおよび複数のチャンクを有する複数のＳＣＳＩ  ＡＴＡパススルーコマンドは、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）を介して管理コンポーネント転送プロトコル（ＭＣＴＰ）によって発行される。
【００２１】
当該方法において、ＳＡＳ初期ポートは、ホストバスアダプタ（ＨＢＡ）であり、ＳＡＳターゲットポートはエキスパンダである。
【００２２】
第３の実施形態において、シリアル接続小型コンピュータシステムインタフェース（ＳＡＳ）ハードディスクドライブ（ＨＤＤ）ファームウェア（ＦＷ）を更新するためのシステムが提供される。当該システムは、管理コントローラ（ＭＣ）とＳＡＳ  ＨＤＤと管理ソフトウェア（ＳＷ）とを備え、管理ＳＷは、ＳＡＳ  ＨＤＤ  ＦＷをＭＣにアップロードするよう構成され、ＭＣは、アップロードされたＨＤＤ  ＦＷを複数のチャンクに分割し、書き込みコマンドを発行して、複数のチャンクをＳＡＳ  ＨＤＤに書き込むよう構成される。
【００２３】
第４の実施形態において、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）ハードディスクドライブ（ＨＤＤ）ファームウェア（ＦＷ）を更新するためのシステムが提供される。当該システムは、管理コントローラ（ＭＣ）とＳＡＴＡ  ＨＤＤと管理ＳＷとを備え、管理ＳＷは、ＳＡＴＡ  ＨＤＤ  ＦＷをＭＣにアップロードするよう構成され、ＭＣは、アップロードされたＨＤＤ  ＦＷを複数のチャンクに分割し、書き込みコマンドを発行して、複数のチャンクをＳＡＳ  ＨＤＤに書き込むよう構成される。
【図面の簡単な説明】
【００２４】
本技術のこれらの、および他の例示的態様が、以下に続く詳細な説明および添付の特許請求の範囲において、ならびに添付の図面において説明される。
【００２５】
【図１】ＳＡＳ／ＳＡＴＡ  ＨＤＤの従来のトポロジを示す。
【００２６】
【図２】従来技術における、ＨＤＤ  ＦＷを更新するための、インバンドＯＳの視点からのＳＡＳプロトコルスタックを示す。
【００２７】
【図３】例示的実施形態に係る、ＨＤＤ  ＦＷを更新するための、ＢＭＣの視点からのＳＡＳプロトコルスタックを示す。
【００２８】
【図４】別の例示的実施形態に係る、異なるインテリジェントハードウェアコンポーネント間の通信をサポートするための、管理コンポーネント転送プロトコル（ＭＣＴＰ）による通信の流れを示す。
【００２９】
【図５】ＢＭＣによってＨＤＤ  ＦＷを更新するための例示的なシステムのブロック図を示す。
【００３０】
【図６】ＢＭＣを使用してＨＤＤ  ＦＷを更新するための、異なるハードウェアコンポーネント間の通信の流れを示すタイムチャートを描写する。
【００３１】
【図７】ＢＭＣ  ＯＯＢを使用してＨＤＤ  ＦＷを更新するためのプロセスを説明するフローチャートを描写する。
【発明を実施するための形態】
【００３２】
主題となる技術にしたがって、主題となる開示は、サーバシステムにおいてネットワーク構成を管理するための技術を提供する。本技術の様々な態様が、図面に関連して説明される。以下の説明において、説明の目的のために、多数の具体的な詳細を明らかにして、１または複数の態様の完全な理解を提供する。しかしながら、本技術がこれらの具体的な詳細なしに実行され得ることは明らかであろう。他の例において、これらの態様の説明を容易にすべく、周知の構造およびデバイスはブロック図の形態で示される。本明細書において「例示的な」という単語は、「例、事例、または例示としての役割を果たす」ことを意味すべく使用される。「例示的な」ものとして本明細書において説明される実施形態はいずれも、必ずしも他の実施形態より好適である、または有益であると解釈されるわけではない。
【００３３】
しかしながら、当業者ならば、本発明が、具体的な詳細のうちの１または複数がなくとも実行され得、または他の方法で実行され得ることを容易に認識するであろう。他の例において、本発明を不明瞭にしないように、周知の構造または動作は詳細には示されていない。本発明は動作またはイベントの示された順序付けによって限定されない。なぜなら、いくつかの動作は異なる順序で起こり得、および／または他の動作またはイベントと同時に起こり得るからである。さらに、示された全ての動作またはイベントが、本発明に係る方法論を実装するのに必要なわけではない。 
【００３４】
上述されたように、ＭＣ  ＯＯＢによってＨＤＤ  ＦＷを更新するための解決手段には大きな関心が寄せられている。上述の内容を考慮して、本開示は、図１から図７に描写された例示を使用してＨＤＤ  ＦＷの更新を説明する。ベースボード管理コントローラ（ＢＭＣ）に関連して、以下、複数の例示的実施形態が説明される。しかしながら、本開示の範囲はそれらに限定されず、ＨＤＤ  ＦＷを更新するためには任意の管理コントローラが使用されてよいことに注意されたい。
【００３５】
図１は、従来のＳＡＳ／ＳＡＴＡ  ＨＤＤのトポロジを示す。
【００３６】
図１に描写されているように、ＳＡＳトポロジは、互いにインタラクトできる全てのＳＡＳデバイスから成る。当該トポロジは、２つの部分から成り、１つはエンドデバイスであり、もう１つはサービスデリバリサブシステムである。エンドデバイスの例示的実施形態は、コマンドを発行するＳＡＳイニシエータと、それらのコマンドを実行するＳＡＳターゲットとを含む。サービスデリバリサブシステムの例示的実施形態は、エキスパンダとケーブルとを含む。以下、「エキスパンダ」という用語は、ＳＡＳエキスパンダおよび当該エキスパンダと関連付けられたケーブルの両方を指す。
【００３７】
ＳＡＳは、接続ベースのプロトコルを使用する。したがって、コマンドを送信する前に、ＳＡＳイニシエータは、接続要求を行うことによって接続を確立しなくてはならず、ＳＡＳターゲットは、接続要求に応答しなくてはならない。ＳＡＳイニシエータからの通信は、コマンドおよびデータの送信を含み、ＳＡＳターゲットからの通信は、データおよびステータス更新の送信を含む。ＳＡＳイニシエータのタスクが完了し次第、ＳＡＳイニシエータとＳＡＳターゲットとの間の接続は切断される。
【００３８】
ＳＡＳイニシエータとＳＡＳターゲットとの間の接続はポートを介して保持され、各ポートはポートアドレスを有する。全てのＳＣＳＩおよびＳＡＴＡの転送は、ポートアドレスを使用して実行される。ここで、各ポートは、１または複数の物理層（ＰＨＹ）から構成される。
【００３９】
ホストバスアダプタ（ＨＢＡ）の機能は、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）インタフェース（Ｉ／Ｆ）からのシリアルＳＣＳＩプロトコル（ＳＳＰ）／ＳＡＴＡトンネリングプロトコル（ＳＴＰ）／シリアル管理プロトコル（ＳＭＰ）トランスポート層要件の処理を含む。以下、種々のプロトコルがより詳細に定義される。
【００４０】
ＳＳＰは、ＳＡＳイニシエータとＳＡＳターゲットとの間でいかにしてＳＡＳ転送がＳＣＳＩコマンド、データ、応答（ステータス）、および制御を転送するかを定義する。
【００４１】
ＳＴＰは、ホストにおけるＡＴＡデバイスドライバが、ＳＡＳサービスデリバリサブシステムを介してＳＡＴＡ  ＨＤＤと通信することを可能にする。ＳＴＰはさらに、ＳＡＳ対応ＳＡＴＡホストとＳＡＴＡデバイスとの間でいかにしてＳＡＳ転送がＡＴＡコマンド、データ、ステータス、および制御を転送するかを定義する。ＳＡＴＡデバイスはＳＡＳ環境を認識しておらず、変換は、エキスパンダのＳＡＳからＳＡＴＡへのブリッジによって成される。
【００４２】
ＳＭＰは、いかにしてＳＡＳイニシエータがエキスパンダとＳＡＳサービスデリバリサブシステムとを構成および維持できるかを定義する。
【００４３】
ホストバスアダプタ（ＨＢＡ）およびエキスパンダのさらなる機能が以下で説明される。
【００４４】
電源がオンのとき、ＳＡＳ／ＳＡＴＡ  ＨＤＤの両方はエキスパンダとハンドシェイクしてよく、エキスパンダがルーティングテーブルを確立する補助をしてよい。ここで、ルーティングテーブルとは、どのＨＤＤがどのＰＨＹポートに接続されているかを示すマッピングテーブルである。ＨＢＡは、ＳＭＰプロトコルを使用して、管理をエキスパンダに引き渡してよい。ＨＢＡは、ＳＳＰプロトコルを使用して接続管理を引き渡してよく、ＳＣＳＩコマンド、データ、およびステータスを、直接接続されたＳＡＳ  ＨＤＤに転送してよい。ＨＢＡは、ＳＳＰプロトコルを使用して接続管理を引き渡してよく、ＳＣＳＩコマンド、データ、およびステータスをエキスパンダの背後のＳＡＳ  ＨＤＤに転送してよい。ここで、当該エキスパンダは、フレームをターゲットＳＡＳ  ＨＤＤに渡すためのルーティングテーブルを有する。ＨＢＡは、ＳＴＰプロトコルを使用して接続管理を引き渡してよく、ＡＴＡコマンド、データ、およびステータスをエキスパンダの後のＳＡＴＡ  ＨＤＤに転送してよい。ここで、当該エキスパンダは、フレームをターゲットＳＡＴＡ  ＨＤＤに渡すためのルーティングテーブルを有する。
【００４５】
エキスパンダは、ルーティングテーブルを使用してフレームを送信元ＰＨＹから送信先ＰＨＹまでルーティングするので、ネットワークスイッチまたはルータと同様である。ＳＡＴＡ  ＨＤＤと直接接続されたエキスパンダは、ＳＡＳからＳＡＴＡへのブリッジを含むことができる。ＣＰＵ側はエミュレーションされたＳＡＳデバイスであり、接続管理を含み、ＳＡＴＡデバイスに代わってＳＡＳアドレスを表す。もう一方の側は実際のＳＡＴＡデバイス１０９、１１０と通信するよう構成されるエミュレーションされたＳＡＴＡホストである。
【００４６】
ＳＡＳ／ＳＡＴＡ  ＨＤＤのトポロジの例示的実施形態に見られるように、ＬＡＮを介してＢＭＣ１０２に接続された管理ソフトウェア（ＳＷ）１０１が描写されている。例示的実施形態によると、ＢＭＣ１０２は、ＰＣＩｅを介してプラットフォームコントローラハブ（ＰＣＨ）１０３と通信し、インターインテグレーテッドサーキット（Ｉ２Ｃ）を介してＨＢＡ１０５に通信する。トポロジはさらに、ＣＰＵ１０４、複数のＳＡＳエキスパンダ１０６、１０７、ブリッジ、ＳＡＳ  ＨＤＤ１１１〜１１５、およびＳＡＴＡ  ＨＤＤ１０８〜１１０を含む。 
【００４７】
ルーティングテーブルの機能の例示的実施形態によると、図１を考慮して、ＳＡＳエキスパンダ＃１  １０６のＰＨＹ  ＩＤ２がＳＡＳ  ＨＤＤ＃２  １１２に接続される一方、ＳＡＳエキスパンダ＃１  １０６のＰＨＹ  ＩＤ３はＳＡＳ  ＨＤＤ＃３  １１３に接続されている。したがって、ＨＢＡ１０５がＳＡＳ  ＨＤＤ＃２  １１２上のデータへのアクセスを試みる場合、ＨＢＡ１０５からＳＡＳエキスパンダ＃１  １０６へと向けられたＳＡＳフレーム（ＳＣＳＩコマンド）は、ルーティングテーブルに基づいてＰＨＹ  ＩＤ２に転送され、それにより、当該フレームを正しいデバイス、すなわち、ＳＡＳ  ＨＤＤ＃２  １１２に向かわせる。
【００４８】
図２は、従来技術における、ＨＤＤ  ＦＷを更新するための、インバンドＯＳの視点からのＳＡＳプロトコルスタックを示す。
【００４９】
ＨＢＡ  ＦＷは、ＳＳＰ／ＳＴＰ／ＳＭＰトランスポート層２０４、２０５、２０６および下位層を備え、エキスパンダ、ＳＡＳ  ＨＤＤ、およびＳＡＴＡ  ＨＤＤ（ＳＡＴＡ  ＨＤＤに代わってＳＡＳエミュレーションされたＨＤＤ）と通信する。ＳＡＳエキスパンダＦＷは、リンク層および下位層を含み、ルーティングテーブルに基づいてフレームをルーティングすることに主に重点を置いている。ＳＡＳエキスパンダＦＷは、ＳＡＳからＳＡＴＡへのブリッジを含む。
【００５０】
ＳＡＳ  ＨＤＤ  ＦＷは、ＳＣＳＩアプリケーション層２０１を含み、対応するＳＣＳＩアプリケーションと通信し、ＳＡＴＡ  ＨＤＤ  ＦＷは、ＡＴＡアプリケーション層２０２を含み、対応するＳＡＴＡアプリケーションと通信する。
【００５１】
従来技術によると、インバンドＳＡＳ  ＨＤＤ  ＦＷ更新プロセスは、電源がオンのとき、エキスパンダが、ＳＡＳ  ＨＤＤを検出する段階とルーティングテーブルを確立する段階とを備える。この後、ＳＡＳ  ＨＤＤ  ＦＷが問題なく動作していることを確認する段階と、ＦＷを多数のブロックに分割することによってＦＷを更新する段階と、ＰＣＩｅを介して、第１のブロックを有する第１のＳＣＳＩライトバッファコマンドを発行する段階とが続く。 
【００５２】
従来技術によると、ＳＡＳイニシエータポートとＳＡＳターゲットポートとの間の接続がまず確立される。ＳＡＳ  ＨＤＤについては、接続は、ＨＢＡ（ＳＡＳイニシエータポート）とＳＡＳ  ＨＤＤ（ＳＡＳターゲットポート）２０７との間のものである。ＳＡＳ  ＨＤＤが近傍のエキスパンダ１０６、１０７を経由している場合、接続は、ルーティングテーブルに基づいて、近傍のエキスパンダ１０６、１０７を通りターゲットＳＡＳ  ＨＤＤにつながる。
【００５３】
一たび接続が確立されると、第１のブロックは、当該接続を介してＳＡＳ  ＨＤＤに書き込まれる。 
【００５４】
インバンドＳＡＳ  ＨＤＤ  ＦＷ更新プロセスはさらに、ＰＣＩｅおよび当該接続を介して後続のブロックを有する後続のＳＣＳＩライトバッファコマンドを１つずつ発行してＳＡＳ  ＨＤＤ  ＦＷを更新する段階を備える。一たび更新が完了されると、接続は切断される。
【００５５】
インバンドＳＡＴＡ  ＨＤＤ  ＦＷ更新プロセスは、エキスパンダが、ＳＡＴＡ  ＨＤＤを検出する段階およびルーティングテーブルを確立する段階を備える。当該プロセスはさらに、電源がオンのとき、ＳＡＴＡ  ＨＤＤ  ＦＷが問題なく動作していることを確認する段階を備える。次に、当該プロセスは、ＦＷを多数のブロックに分割することによってＦＷを更新する段階と、ＰＣＩｅを介して、ダウンロードマイクロコードＡＴＡコマンドを有する第１のＳＣＳＩ  ＡＴＡパススルーコマンドと、ＦＷの中の第１のブロックとを発行する段階とを備える。
【００５６】
ＳＡＳイニシエータポートとＳＡＳターゲットポートとの間の接続がまず確立される。ＳＡＴＡ  ＨＤＤについては、接続はＨＢＡ（ＳＴＰイニシエータポート）とエキスパンダ（ＳＴＰターゲットポート）との間で確立される。
【００５７】
一たび接続が確立されると、第１のブロックは、当該接続を介してＳＡＴＡ  ＨＤＤに書き込まれる。 
【００５８】
インバンドＳＡＴＡ  ＨＤＤ  ＦＷ更新プロセスはさらに、ダウンロードマイクロコードＡＴＡコマンドおよび後続のブロックを有する後続のＳＣＳＩ  ＡＴＡパススルーコマンドをＰＣＩｅおよび当該接続を介して１つずつ発行してＳＡＴＡ  ＨＤＤ  ＦＷを更新する段階を備える。一たび更新が完了されると、接続は切断される。
【００５９】
当技術分野において、電源がオンのとき、ＨＤＤコントローラはＦＷイメージをフラッシュからメモリにロードし、ＦＷはメモリ上で動作する。ＦＷのアップグレードを実行するとき、ＨＤＤコントローラは、ＳＣＳＩコマンド（ＳＣＳＩライトバッファコマンドまたはＳＣＳＩ  ＡＴＡパススルーコマンド）によって、更新するＦＷイメージを受信し、次に、それをフラッシュにプログラムする。したがって、インバンドＯＳまたはアプリケーションは依然としてＨＤＤデータにアクセスできる。なぜなら、そのアクセスはまた、ＳＣＳＩコマンドによっても得られるからである。しかしながら、アクセスＳＣＳＩコマンドは失敗する場合がある。なぜなら、コントローラは一度に１つのＳＣＳＩコマンドしか処理できないからである。したがって、ＨＤＤがオフラインモードに置かれる必要はない。
【００６０】
図２はさらに、ＳＣＳＩアプリケーション層２０１およびＡＴＡアプリケーション層２０２とともに管理アプリケーション層２０３と、ＳＳＰ／ＳＴＰ／ＳＭＰリンク層およびＳＡＳリンク層を備える接続管理層２０８と、符号化およびスピードネゴシエーションのためのＳＡＳ  ＰＨＹ層２０９と、ケーブルおよびコネクタを備えるＳＡＳ物理層２１０とを描写し、その全ては当技術分野において周知のものである。
【００６１】
図３は、例示的実施形態に係る、ＨＤＤ  ＦＷを更新するための、ＢＭＣの視点からのＳＡＳプロトコルスタックを示す。
【００６２】
本開示は、アプリケーション層のインバンドＯＳからＢＭＣへの置き換えに関し、それにより、ＨＤＤ  ＦＷの更新するためのＢＭＣ  ＯＯＢの使用を説明する。そのような置き換えは、複数の異なる種類のＯＳへの対処をなくし、そして、さまざまな種類のＯＳへの準拠、複数のバージョンの異なる種類のＯＳのサポート等のような複数の複雑さおよび管理の問題が生じるのを防止する。
【００６３】
本明細書において以下で説明されるのは、２つの異なる種類の接続を介してＢＭＣを使用してＨＤＤ  ＦＷを更新するためのプロセスおよびシステムである。説明は、Ｉ２Ｃ接続を介してＢＭＣを使用してＳＡＳ  ＨＤＤ  ＦＷおよびＳＡＴＡ  ＨＤＤ  ＦＷを更新するためのプロセスから始まる。それに続いて、ＰＣＩｅ接続を介してＢＭＣを使用してＳＡＳ  ＨＤＤ  ＦＷおよびＳＡＴＡ  ＨＤＤ  ＦＷを更新するためのプロセスが記載される。
【００６４】
図３に示されるように、ＢＭＣの視点からのＳＡＳプロトコルスタックが、Ｉ２Ｃ接続およびＰＣＩｅ接続を介してＳＳＰ／ＳＴＰ／ＳＭＰトランスポート層３０４、３０５、３０６の要件を処理するよう構成されたＨＢＡを描写する。図３に見られるように、ＳＣＳＩ３０１、ＡＴＡ３０２、および管理層３０３を備えるアプリケーション層は、インバンドＯＳからＢＭＣに置き換えられる。ＢＭＣは次に、ＳＳＰ／ＳＴＰ／ＳＭＰトランスポート層３０４、３０５、３０６と通信する。次に続くその他の下位層は、ＳＡＳポート層３０７、ＳＳＰ／ＳＴＰ／ＳＭＰリンク層３０８、ＳＡＳリンク層３０８、ＳＡＳ  ＰＨＹ層３０９、およびＳＡＳ物理層３１０を含み、その全てが当技術分野において周知のものである。
【００６５】
Ｉ２Ｃ接続を介してＳＡＳ  ＨＤＤ  ＦＷおよびＳＡＴＡ  ＨＤＤ  ＦＷを更新するためのプロセスが以下で説明される。
【００６６】
例示的実施形態によると、Ｉ２Ｃ接続を介してＢＭＣ  ＯＯＢを使用してＳＡＳ  ＨＤＤ  ＦＷを更新すべく、管理ソフトウェア（ＳＷ）は、ＬＡＮを介してＨＤＤ  ＦＷをＢＭＣにアップロードする。次に、ＢＭＣは、ＳＡＳ  ＨＤＤ  ＦＷをチェックして、ＦＷが何の問題もなく動作していることを確認する。 
【００６７】
次に、ＢＭＣは、ファームウェアを複数のチャンクに分割し、Ｉ２Ｃを介して、第１のチャンクを有する第１のＳＣＳＩライトバッファコマンドを発行する。
【００６８】
まず、ＳＡＳイニシエータポートとＳＡＳターゲットポートとの間の接続が確立される。ＳＡＳ  ＨＤＤについては、接続は、ＨＢＡ（ＳＡＳイニシエータポート）とＳＡＳ  ＨＤＤ（ＳＡＳターゲットポート）との間のものである。ＳＡＳ  ＨＤＤが近傍のエキスパンダを経由する場合、接続は、ルーティングテーブルに基づいて、近傍のエキスパンダを通りターゲットＳＡＳ  ＨＤＤにつながる。
【００６９】
一たび接続が確立されると、第１のチャンクはＳＡＳ  ＨＤＤに書き込まれる。それに続いて、ＢＭＣは、後続のチャンクを有する後続のＳＣＳＩライトバッファコマンドをＩ２Ｃおよび当該接続を介して１つずつ発行してＳＡＳ  ＨＤＤ  ＦＷを更新する。
【００７０】
一たび更新が完了されると、接続は切断される。
【００７１】
例示的実施形態によると、Ｉ２Ｃ接続を介してＢＭＣ  ＯＯＢを使用してＳＡＴＡ  ＨＤＤ  ＦＷを更新すべく、管理ソフトウェア（ＳＷ）は、上述のプロセスと同様に、ＬＡＮを介してＨＤＤ  ＦＷをＢＭＣにアップロードする。次に、ＢＭＣは、ＳＡＴＡ  ＨＤＤ  ＦＷをチェックして、ＦＷが何の問題もなく動作していることを確認する。 
【００７２】
次に、ＢＭＣは、ファームウェアを複数のチャンクに分割し、Ｉ２Ｃを介して、ダウンロードマイクロコードＡＴＡコマンドと、ファームウェアの中の第１のチャンクとを有する第１のＳＣＳＩ  ＡＴＡパススルーコマンドを発行する。
【００７３】
まず、ＳＡＳイニシエータポートとＳＡＳターゲットポートとの間の接続が確立される。ＳＡＴＡ  ＨＤＤについては、接続は、ＨＢＡ（ＳＴＰイニシエータポート）とエキスパンダ（ＳＴＰターゲットポート）との間のものである。 
【００７４】
一たび接続が確立されると、第１のチャンクはＳＡＴＡ  ＨＤＤに書き込まれる。それに続いて、ＢＭＣは、Ｉ２Ｃおよび当該接続を介して、ダウンロードマイクロコードＡＴＡコマンドと、ファームウェアの中の後続のチャンクとを有する後続のＳＣＳＩ  ＡＴＡパススルーコマンドを発行してＳＡＴＡ  ＨＤＤ  ＦＷを更新する。
【００７５】
一たび更新が完了されると、接続は切断される。
【００７６】
ＰＣＩｅ接続を介してＳＡＳ  ＨＤＤ  ＦＷおよびＳＡＴＡ  ＨＤＤ  ＦＷを更新するためのプロセスが、以下で説明される。
【００７７】
ＰＣＩｅ接続を介してＢＭＣ  ＯＯＢを使用してＳＡＳ  ＨＤＤ  ＦＷを更新すべく、電源がオンのとき、ＭＣＴＰバスオーナのＩｎｔｅｌマネジメントエンジン（ＭＥ）は、エンドポイントＩＤ（ＥＩＤ）を検出し、それをＭＣＴＰ対応ハードウェアコンポーネントに割り当てる。ＭＣＴＰ対応ハードウェアコンポーネントはこの場合、ＢＭＣおよびＨＢＡである。各ＥＩＤは、ＭＣＴＰ対応ハードウェアコンポーネント間の直接的なピアツーピア通信を可能にする。
【００７８】
例示的実施形態によると、管理ソフトウェア（ＳＷ）は、ＬＡＮを介してＨＤＤ  ＦＷをＢＭＣにアップロードする。 
【００７９】
次に、ＢＭＣは、ＳＡＳ  ＨＤＤ  ＦＷをチェックして、ＦＷが何の問題もなく動作していることを確認する。 
【００８０】
次に、ＢＭＣは、ファームウェアを複数のチャンクに分割し、ＰＣＩｅを介してＭＣＴＰによって第１のチャンクを有する第１のＳＣＳＩライトバッファコマンドを発行する。
【００８１】
まず、ＳＡＳイニシエータポートとＳＡＳターゲットポートとの間の接続が確立される。ＳＡＳ  ＨＤＤについては、接続は、ＨＢＡ（ＳＡＳイニシエータポート）とＳＡＳ  ＨＤＤ（ＳＡＳターゲットポート）との間のものである。ＳＡＳ  ＨＤＤが近傍のエキスパンダを経由する場合、接続は、ルーティングテーブルに基づいて、近傍のエキスパンダを通りターゲットＳＡＳ  ＨＤＤにつながる。
【００８２】
一たび接続が確立されると、第１のチャンクはＳＡＳ  ＨＤＤに書き込まれる。それに続いて、ＢＭＣは、ＰＣＩｅおよび当該接続を介してＭＣＴＰによって、後続のチャンクを有する後続のＳＣＳＩライトバッファコマンドを１つずつ発行してＳＡＳ  ＨＤＤ  ＦＷを更新する。
【００８３】
一たび更新が完了されると、接続は切断される。
【００８４】
ＰＣＩｅ接続を介してＢＭＣ  ＯＯＢを使用してＳＡＴＡ  ＨＤＤ  ＦＷを更新すべく、電源がオンのとき、ＭＣＴＰバスオーナのＩｎｔｅｌマネジメントエンジン（ＭＥ）は、エンドポイントＩＤ（ＥＩＤ）を検出し、それをＭＣＴＰ対応ハードウェアコンポーネントに割り当てる。ＭＣＴＰ対応ハードウェアコンポーネントはこの場合、ＢＭＣおよびＨＢＡである。各ＥＩＤは、ＭＣＴＰ対応ハードウェアコンポーネント間の直接的なピアツーピア通信を可能にする。
【００８５】
例示的実施形態によると、上述のプロセスと同様に、管理ソフトウェア（ＳＷ）は、ＬＡＮを介してＨＤＤ  ＦＷをＢＭＣにアップロードする。次に、ＢＭＣは、ＳＡＴＡ  ＨＤＤ  ＦＷをチェックして、ＦＷが何の問題もなく動作していることを確認する。
【００８６】
次に、ＢＭＣは、ファームウェアを複数のチャンクに分割し、ＰＣＩｅを介してＭＣＴＰによって、ダウンロードマイクロコードＡＴＡコマンドと、ファームウェアの中の第１のチャンクとを有する第１のＳＣＳＩ  ＡＴＡパススルーコマンドを発行する。
【００８７】
まず、ＳＡＳイニシエータポートとＳＡＳターゲットポートとの間の接続が確立される。ＳＡＴＡ  ＨＤＤについては、接続は、ＨＢＡ（ＳＴＰイニシエータポート）とエキスパンダ（ＳＴＰターゲットポート）との間のものである。
【００８８】
一たび接続が確立されると、第１のチャンクはＳＡＴＡ  ＨＤＤに書き込まれる。それに続いて、ＢＭＣは、ＰＣＩｅおよび当該接続を介してＭＣＴＰによって、ダウンロードマイクロコードＡＴＡコマンドと、ファームウェアの中の後続のチャンクとを有する後続のＳＣＳＩ  ＡＴＡパススルーコマンドを発行してＳＡＴＡ  ＨＤＤ  ＦＷを更新する。
【００８９】
一たび更新が完了されると、接続は切断される。
【００９０】
従来技術に関連して上述されたように、電源がオンのとき、ＨＤＤコントローラはＦＷイメージをフラッシュからメモリにロードし、ＦＷはメモリ上で動作する。ＦＷのアップグレードを実行するとき、ＨＤＤコントローラは、ＳＣＳＩコマンド（ＳＣＳＩライトバッファコマンドまたはＳＣＳＩ  ＡＴＡパススルーコマンド）によって更新するＦＷイメージを受信し、次に、それをフラッシュにプログラムする。したがって、インバンドＯＳまたはアプリケーションは依然としてＨＤＤデータにアクセスできる。なぜなら、そのアクセスはまた、ＳＣＳＩコマンドによっても得られるからである。しかしながら、アクセスＳＣＳＩコマンドは失敗する場合がある。なぜなら、コントローラは一度に１つのＳＣＳＩコマンドしか処理できないからである。したがって、ＨＤＤがオフラインモードの状態に置かれる必要はない。
【００９１】
図４は、別の例示的実施形態に係る、異なるインテリジェントハードウェアコンポーネント間の通信をサポートするための、ＭＣＴＰによる通信の流れを示す。
【００９２】
ＤＭＴＦ（分散管理タスクフォース）は、プラットフォーム管理サブシステムを作り上げるよう、異なるインテリジェントハードウェアコンポーネント間の通信をサポートする管理インタフェースＭＣＴＰを定義する。ＢＭＣおよびＨＢＡの両方がＭＣＴＰをサポートする場合、それは、ＢＭＣがＩ２ＣまたはＰＣＩｅ  Ｉ／Ｆを介してＭＣＴＰ規約によってＨＢＡと通信することを可能にし得る。図４は、ＰＣＩｅ  Ｉ／Ｆを介したＭＣＴＰ規約によるＢＭＣとＨＢＡとの間の通信を描写する。 
【００９３】
通信がＩ２Ｃを介したものである場合、ＢＭＣとＨＢＡとの間に直接的な接続が存在する。その一方で、通信がＰＣＩｅを介したものである場合、図４に示されるように、通信は異なるコンポーネント間を行き来できる。 
【００９４】
バスオーナとしての管理エンジンは、ＭＣＴＰ／ＰＣＩｅを初期化する。一たび通信がＰＣＩｅを介したものになると、ＢＭＣ４０１はＰＣＨ４０２と交互に通信でき、ＰＣＨはＣＰＵ４０３、４０４と交互に通信でき、ＣＰＵ４０３、４０４はＨＢＡカード４０５と交互に通信できる。ＨＢＡカード４０５は、ＭＣＴＰエンドポイント機能を含む。例示的実施形態によると、複数のＣＰＵ４０３、４０４の間の通信のために、カリフォルニア州Ｓａｎｔａ  ＣｌａｒａのＩｎｔｅｌ社によって開発されたポイントツーポイントプロセッサ相互接続技術であるＱｕｉｃｋＰａｔｈ相互接続（ＱＰＩ）またはＵｌｔｒａＰａｔｈ相互接続（ＵＰＩ）が使用されてよい。しかしながら、限定することなく、様々な実施形態において、任意の他のポイントツーポイントプロセッサ相互接続技術が使用され得る。例示的実施形態によると、ＰＣＨとＣＰＵとの間の通信は、ダイレクトメディアインタフェース（ＤＭＩ）を介して実行されてよい。
【００９５】
図５は、ＢＭＣを介してＨＤＤ  ＦＷを更新するための例示的なシステムのブロック図を示す。
【００９６】
本開示において説明されるシステムは、ＢＭＣ５０２およびインバンドＯＳ５０３を含むアプリケーション層を組み込む。例示的実施形態によると、上述されたように、管理ソフトウェア（ＳＷ）５０１は、ＬＡＮ接続を介してＨＤＤ  ＦＷをＢＭＣ５０２にロードしてよい。 
【００９７】
本開示において説明される様々な例示的実施形態は、複数の複雑さおよび管理の問題に対処しなくてすむように、ＢＭＣ  ＯＯＢを使用してＨＤＤ  ＦＷを更新することによって、複数の異なる種類のＯＳに対処する必要なくＨＤＤ  ＦＷを更新するためのシステムを提供することによって、従来技術の欠点を克服することに重点を置く。
【００９８】
図５に見られるように、ＢＭＣは、Ｉ２Ｃと、トランスポート層およびポート層を含むＨＢＡ５０４のインタフェースと次に通信するＭＣＴＰインタフェースとを有する。
【００９９】
本技術において、Ｉ２Ｃ  Ｉ／ＦとＰＣＩｅ  Ｉ／Ｆとを介したＨＢＡ５０４とＢＭＣ５０２との間の通信にはＯＯＢ規格がある。したがって、本開示は、ＳＡＳ規格のＳＣＳＩコマンドを発行してＳＡＳ／ＳＡＴＡ  ＨＤＤ  ＦＷを更新する上位層アプリケーションを定義する。したがって、図３および図４に関連して上記において詳細に説明され、図５のブロック図において描写された、ＢＭＣ  ＯＯＢを使用したＢＭＣ  ＯＯＢからのＨＤＤ  ＦＷの更新は、従来技術が直面する問題を克服するための容易な解決手段である。 
【０１００】
Ｉ２Ｃ  Ｉ／ＦとＰＣＩｅ  Ｉ／Ｆとの違いは、Ｉ２Ｃ  Ｉ／Ｆの帯域幅がＰＣＩｅ  Ｉ／Ｆよりもはるかに小さいということであり、そのことが、はるかに長い更新時間をもたらす。
【０１０１】
ＨＢＡ５０４はさらにＰＨＹ入出力（Ｉ／Ｏ）を有する。ＰＨＹ入出力（Ｉ／Ｏ）はさらに、下位層、すなわち、接続管理用リンク層、符号化および復号化用ＰＨＹ層、およびケーブル／コネクタ用物理層を組み込む。 
【０１０２】
ＳＡＳデリバリサブシステム５０５は、当技術分野において周知のように、ＨＢＡ５０４のＰＨＹ  Ｉ／Ｏ  とストレージコントローラ５０６との間の通信を可能にする。ストレージコントローラはさらに、ハードディスクドライブ５０７、５０８のファームウェアを更新するアプリケーション層を組み込む。
【０１０３】
図６に描写されているタイムチャートと図７に描写されているフローチャートとは、ＢＭＣ  ＯＯＢを使用してＨＤＤ  ＦＷを更新するプロセスをさらに説明するために以下で使用される。
【０１０４】
図６は、ＢＭＣを使用してＨＤＤ  ＦＷを更新するための、異なるハードウェアコンポーネント間の通信の流れを示すタイムチャートを描写する。
【０１０５】
図６に描写されているタイムチャートは、時間ｔ＝０における管理ＳＷとＢＭＣとの間の通信で開始する。この初期の通信は、ＨＤＤ  ＦＷのＢＭＣへのアップロードに関し、ＬＡＮを使用して実行されてよい。 
【０１０６】
次に、ＢＭＣは、ＳＡＳ  ＨＤＤと通信してＨＤＤ  ＦＷを更新した。ＨＤＤ  ＦＷを更新するためのプロセスは、使用されるプロトコルと、通信が実行される手段とに基づいて、図３から図５に関連して上述されたように変化する。 
【０１０７】
ＢＭＣははじめに、ＨＤＤ  ＦＷが何の問題もなく動作していることを確認すべくチェックを行い、次に、ＦＷを複数のチャンクに分割し始める。
【０１０８】
ＢＭＣは最後に、コマンドが送信されているチャネルに基づいて適切なコマンドを発行して、複数のチャンクをＨＤＤに書き込む。
【０１０９】
図６のタイムチャートに示されているように、複数のチャンクのうちの第１のチャンクがＨＤＤに書き込まれる前に、ＳＡＳイニシエータポートとＳＡＳターゲットポートとの間で通信が確立される。
【０１１０】
図７は、ＢＭＣ  ＯＯＢを使用してＨＤＤ  ＦＷを更新するためのプロセスを説明するフローチャートを描写する。
【０１１１】
図７に見られるように、当該プロセスは、段階７０１における管理ＳＷとＢＭＣとの間の通信で開始する。管理ＳＷは、ＨＤＤ  ＦＷをＢＭＣにアップロードする。例示的実施形態によると、このアップロードは、ＬＡＮを介して起こってよい。段階７０２において、ＢＭＣはＦＷをチェックして、エラーが何もないことと、ＦＷがアップロードの準備が整っていることとを確認する。
【０１１２】
次に、段階７０３において、ＢＭＣは、ＦＷを、ＨＤＤにアップロードされるべき複数のチャンクに分割する。 
【０１１３】
段階７０４において、ＨＤＤ上でＳＡＳイニシエータポートとＳＡＳターゲットポートとの間の接続が形成される。ＳＡＳイニシエータポートおよびＳＡＳターゲットポートの構成は、ＨＤＤの種類に依存する。ＳＡＳ  ＨＤＤについて、ＳＡＳイニシエータポートはＨＢＡによって形成され、ＳＡＳターゲットポートはＳＡＳ  ＨＤＤによって形成される。その一方で、例示的実施形態によると、ＳＡＴＡ  ＨＤＤについては、ＳＡＳイニシエータポートはＨＢＡによって形成され、ＳＡＳターゲットポートはエキスパンダによって形成される。
【０１１４】
ＳＡＳイニシエータポートとＳＡＳターゲットポートとの間の接続の形成に続いて、段階７０５において、ＢＭＣは書き込みコマンドを発行して、ＦＷの複数のチャンクをＨＤＤに書き込む。書き込みコマンドの種類は、更新されるＨＤＤの種類に依存する。ＳＡＳ  ＨＤＤが更新されている場合、ＢＭＣはＳＣＳＩライトバッファコマンドを発行する。ＳＡＴＡ  ＨＤＤが更新されている場合、ＢＭＣは、ダウンロードマイクロコードＡＴＡコマンドを有するＳＣＳＩ  ＡＴＡパススルーコマンドを発行する。
【０１１５】
適切なコマンドの発行に続いて、７０６においてＦＷの複数のチャンクがＨＤＤに書き込まれ、ＨＤＤ  ＦＷが更新される。
【０１１６】
本明細書において本開示と関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、本明細書において説明された機能を実行すべく設計された、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェアコンポーネント、またはその任意の組み合わせで実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替的に、当該プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、例えばＤＳＰとマイクロプロセッサとの組み合わせといったコンピューティングデバイスの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと併用した１または複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【０１１７】
本明細書において本開示と関連して説明された方法またはアルゴリズムの動作は、ハードウェアで直接、プロセッサによって実行されるソフトウェアモジュールで、またはその２つの組み合わせで具現化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または、当技術分野において公知の任意の他の形態のストレージ媒体に存在することができる。例示的なストレージ媒体は、プロセッサに接続され、これにより、プロセッサは当該ストレージ媒体から情報を読み出し、当該ストレージ媒体に情報を書き込むことができる。代替的に、ストレージ媒体は、プロセッサに統合され得る。プロセッサおよびストレージ媒体は、ＡＳＩＣ内に存在することができる。ＡＳＩＣは、ユーザ端末内に存在することができる。代替的に、プロセッサおよびストレージ媒体は、ユーザ端末内で別個のコンポーネントとして存在することができる。
【０１１８】
１または複数の例示的な設計において、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装され得る。ソフトウェアで実装された場合、機能は非一時的コンピュータ可読媒体上の１または複数の命令またはコードとして格納されるか、または伝送され得る。非一時的コンピュータ可読媒体は、コンピュータプログラムをある場所から別の場所へと転送することを容易にする任意の媒体を含む、コンピュータストレージ媒体および通信媒体の両方を含む。ストレージ媒体は、汎用または専用コンピュータがアクセス可能な任意の利用可能媒体であり得る。例示を目的として、および限定することなく、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ，ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令またはデータ構造の形態で所望のプログラムコード手段を保持または格納するために使用され得、かつ、汎用または専用コンピュータ、または汎用または専用プロセッサがアクセス可能な任意の他の媒体を含むことができる。本明細書において使用されるディスク（ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイディスクを含む。ここで、ディスク（ｄｉｓｋ）とは通常磁気的にデータを再生するものであり、一方ディスク（ｄｉｓｃ）とはレーザによって光学的にデータを再生するものである。上記の組み合わせもまた、非一時的コンピュータ可読媒体の範囲内に含まれるべきである。
【０１１９】
本発明の様々な実施形態が上述されたが、それらは限定ではなく例示のみを目的として提示されていることが理解されるべきである。開示された実施形態に対する多数の変更が、本発明の主旨または範囲から逸脱することなく、本明細書の本開示にしたがって成され得る。したがって、本発明の広さおよび範囲は、上述の実施形態のいずれによっても限定されるべきではない。むしろ、本発明の範囲は、以下の特許請求の範囲とそれらの均等物とにしたがって定義されるべきである。 
【図１】
2018190376.tif 000003
【図２】
2018190376.tif 000004
【図３】
2018190376.tif 000005
【図４】
2018190376.tif 000006
【図５】
2018190376.tif 000007
【図６】
2018190376.tif 000008
【図７】
2018190376.tif 000009
【外国語明細書】
2018190376000001.pdf