(57)【要約】      （修正有）【課題】オフボードフラッシュメモリを提供する。【解決手段】サーバシステム２００のラックデバイス１０において、集中型フラッシュメモリモジュール（ＣＦＭＭ）２５０を備える。集中型フラッシュメモリモジュールは、フラッシュデバイス２２０と、フラッシュメモリ管理コントローラ（ＦＭＭＣ）２３０と、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）２３５と、を含む。各フラッシュメモリデバイスは、集中型フラッシュメモリモジュールから分離されたサーバデバイス１５に接続されている。ＦＭＭＣは、集中型フラッシュメモリモジュールから分離されたフラッシュメモリデバイス及びラック管理デバイス４０に接続されている。ＣＰＬＤは、ＦＭＭＣをフラッシュメモリコンポーネントに接続し、サーバデバイスをフラッシュメモリコンポーネントに接続する。【選択図】図３
2020149667.tif 000002
【特許請求の範囲】
【請求項１】
集中型フラッシュメモリモジュールであって、
２つ以上のフラッシュメモリコンポーネントであって、前記集中型フラッシュメモリモジュールから分離された少なくとも１つのサーバデバイスにそれぞれ接続されている、２つ以上のフラッシュメモリコンポーネントと、
前記２つ以上のフラッシュメモリコンポーネントに接続し、前記集中型フラッシュメモリモジュールから分離されたラック管理デバイスに接続するように構成されたフラッシュメモリ管理コントローラ（ＦＭＭＣ）と、
前記ＦＭＭＣを前記２つ以上のフラッシュメモリコンポーネントに接続し、前記少なくとも１つのサーバデバイスを前記２つ以上のフラッシュメモリコンポーネントに接続するように構成されたコンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）と、
を備えることを特徴とする集中型フラッシュメモリモジュール。
【請求項２】
前記２つ以上のフラッシュメモリコンポーネント及び前記少なくとも１つのサーバデバイスのトポロジを含むルーティングテーブルを記憶するように構成された不揮発性ストレージデバイスをさらに備えることを特徴とする請求項１に記載の集中型フラッシュメモリモジュール。
【請求項３】
前記ＦＭＭＣは、前記ルーティングテーブルを前記ラック管理デバイスに送信するように構成されていることを特徴とする請求項２に記載の集中型フラッシュメモリモジュール。
【請求項４】
前記２つ以上のフラッシュメモリコンポーネントの各々は、リカバリのためのゴールデンイメージを有することを特徴とする請求項３に記載の集中型フラッシュメモリモジュール。
【請求項５】
サーバシステムであって、
複数のサーバデバイスを収容する少なくとも１つのラックデバイスと、
前記少なくとも１つのラックデバイスに収納されたラック管理デバイスと、
前記複数のサーバデバイスの各々に接続された少なくとも１つの集中型フラッシュメモリモジュールと、を備え、
前記集中型フラッシュメモリモジュールは、
２つ以上のフラッシュメモリコンポーネントであって、少なくとも１つのサーバデバイスにそれぞれ接続されている、２つ以上のフラッシュメモリコンポーネントと、
前記２つ以上のフラッシュメモリコンポーネントに接続し、前記集中型フラッシュメモリモジュールから分離された前記ラック管理デバイスに接続するように構成されたフラッシュメモリ管理コントローラ（ＦＭＭＣ）と、
前記ＦＭＭＣを前記２つ以上のフラッシュメモリコンポーネントに接続し、前記少なくとも１つのサーバデバイスを前記２つ以上のフラッシュメモリコンポーネントに接続するように構成されたコンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）と、
を有することを特徴とするサーバシステム。
【請求項６】
前記集中型フラッシュメモリモジュールは、前記少なくとも１つのラックデバイスに配置されていることを特徴とする請求項５に記載のサーバシステム。
【請求項７】
前記集中型フラッシュメモリモジュールは、前記２つ以上のフラッシュメモリコンポーネント及び前記少なくとも１つのサーバデバイスのトポロジを含むルーティングテーブルを記憶するように構成された不揮発性ストレージデバイスをさらに備え、前記ＦＭＭＣは、前記ルーティングテーブルを前記ラック管理デバイスに送信するように構成されていることを特徴とする請求項５に記載のサーバシステム。
【請求項８】
前記２つ以上のフラッシュメモリコンポーネントの各々は、リカバリのためのゴールデンイメージを有することを特徴とする請求項５に記載のサーバシステム。
【請求項９】
前記集中型フラッシュメモリモジュールは、クラウドベースのサーバデバイスに配置されており、
前記２つ以上のフラッシュメモリコンポーネントのうち少なくとも１つは、前記少なくとも１つのラックデバイスのうち２つ以上のラックデバイスのリカバリのためのゴールデンイメージを有することを特徴とする請求項５に記載のサーバシステム。
【請求項１０】
２つ以上のフラッシュメモリコンポーネントのフラッシュファームウェアイメージを更新する方法であって、
前記フラッシュファームウェアイメージを検証する工程と、
第１フラッシュファームウェアイメージを検証されたフラッシュファームウェアイメージに置き換えるように、前記２つ以上のフラッシュメモリコンポーネントを更新する工程であって、前記２つ以上のフラッシュメモリコンポーネントは、集中型フラッシュメモリモジュールに収納されている、工程と、
第１更新が成功したと判別すると、第２フラッシュファームウェアイメージを有効なフラッシュファームウェアイメージに置き換えるように、前記２つ以上のフラッシュメモリコンポーネントを更新する工程であって、前記第２フラッシュファームウェアイメージは、ゴールデンフラッシュイメージに関連する、工程と、
フラッシュメモリ管理コントローラを用いて、前記第２フラッシュファームウェアイメージの置き換えに成功した少なくとも１つのフラッシュメモリコンポーネントを識別する工程と、
前記集中型フラッシュメモリモジュールに収納された少なくとも１つのフラッシュメモリコンポーネントに接続されている少なくとも１つのサーバデバイスをパワーオンする工程と、
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、ラックサーバシステム内のフラッシュメモリストレージシステムに関する。具体的には、集中型フラッシュメモリモジュールと、ブート、ファームウェア更新、リカバリ及びバックアップの関連する方法と、に関する。
【背景技術】
【０００２】
サーバがパワーサイクルされる（power cycled）場合に、中央処理ユニット（ＣＰＵ）によって行われる最初のアクションは、ＢＩＯＳ（Basic Input and Output System）を起動するメッセージの送信である。次に、ＢＩＯＳは、ＰＯＳＴ（Power On Self-Test）と呼ばれる一連のテストを実行して、システムデバイスが正常に機能しているかどうかを確認する。ＢＩＯＳは、サーバの動作に不可欠な機能を有効にする。ＢＩＯＳが壊れていると、ＣＰＵは機能することができない。しかし、通常のＢＩＯＳは、破損した場合に、有効なＢＩＯＳイメージを復元することができる。これは、リカバリプログラムを、システム内で書き込み可能（in-system writable）でないフラッシュメモリに記憶することによって実現される。このようにして、リカバリプログラムが破損しないことが保証される。リカバリプログラムは、通常、最小限のシステムハードウェアを初期化して、フラッシュドライブ又は他のリムーバブルメディアから新たなコードイメージを取得する機能を有する単純なコードである。このパワーサイクル及び復元機能は、他のコントローラ（例えば、ベースボード管理コントローラ（baseboard management controller）やメモリスイッチコントローラ等）のファームウェアにも必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、集中型フラッシュメモリモジュール（centralized flash memory module）を提供する。
【課題を解決するための手段】
【０００４】
集中型フラッシュメモリモジュールが提供される。集中型フラッシュメモリモジュールは、フラッシュメモリコンポーネント（flash memory component）と、フラッシュメモリ管理コントローラ（flash memory management controller：ＦＭＭＣ）と、コンプレックスプログラマブルロジックデバイス（complex programmable logic device：ＣＰＬＤ）と、を含む。各フラッシュメモリコンポーネントは、サーバデバイスに接続されている。サーバデバイスは、集中型フラッシュメモリモジュールから分離されている。ＦＭＭＣは、フラッシュメモリコンポーネント及びラック管理デバイスに接続するように構成されている。ラック管理デバイスも、集中型フラッシュメモリモジュールから分離されている。ＣＰＬＤは、ＦＭＭＣをフラッシュメモリコンポーネントに接続するように構成されている。また、ＣＰＬＤは、サーバデバイスをフラッシュメモリコンポーネントに接続するように構成されている。
【０００５】
いくつかの実施形態では、集中型フラッシュメモリモジュールは、ルーティングテーブル（routing table）を記憶するように構成された不揮発性ストレージデバイスを含むことができる。ルーティングテーブルは、フラッシュコンポーネント及びサーバデバイスのトポロジを含むことができる。ＦＭＭＣは、ルーティングテーブルをラック管理デバイスに送信するように構成されてもよい。いくつかの実施形態では、各フラッシュメモリコンポーネントは、リカバリ目的のためのゴールデンイメージを含む。
【０００６】
サーバシステムも提供される。サーバシステムは、サーバデバイスを収容するラックデバイスと、ラックデバイスに収納されたラック管理デバイスと、各サーバデバイスに接続された集中型フラッシュメモリモジュールと、を含む。上述したように、集中型フラッシュメモリモジュールは、フラッシュメモリコンポーネントと、フラッシュメモリ管理コントローラ（ＦＭＭＣ）と、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）と、を含む。
【０００７】
いくつかの実施形態では、集中型フラッシュメモリモジュールは、ラックデバイスに配置されている。別の実施形態では、集中型フラッシュメモリモジュールは、クラウドベース（cloud based）のサーバデバイス内に配置されている。各フラッシュメモリコンポーネントは、２つ以上のラックデバイスのリカバリを目的としたゴールデンイメージを含むことができる。
【０００８】
サーバシステムも提供される。サーバシステムは、サーバデバイスを収容するラックデバイスと、ラックデバイスに収納されたラック管理デバイスと、各サーバデバイスに接続された集中型フラッシュメモリモジュールと、フラッシュメモリ管理コントローラ（ＦＭＭＣ）と、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）と、を含む。集中型フラッシュメモリモジュールは、フラッシュメモリコンポーネントを含むことができる。各フラッシュメモリコンポーネントは、サーバデバイスに接続されている。ＦＭＭＣは、フラッシュメモリコンポーネントとラック管理デバイスとに接続するように構成されている。ラック管理デバイスは、集中型フラッシュメモリモジュールから分離されている。ＣＰＬＤは、ＦＭＭＣをフラッシュメモリコンポーネントに接続し、サーバデバイスをフラッシュメモリコンポーネントに接続するように構成されている。いくつかの実施形態では、集中型フラッシュメモリモジュールは、クラウドベースのサーバデバイス内に配置されている。
【０００９】
フラッシュメモリコンポーネントのフラッシュファームウェアイメージを更新する方法も提供される。方法は、フラッシュファームウェアイメージを検証する工程と、第１フラッシュファームウェアイメージを検証されたフラッシュファームウェアイメージに置き換えるように、フラッシュメモリコンポーネントを更新する工程と、を含む。フラッシュメモリコンポーネントは、集中型フラッシュメモリモジュールに収納されている。第１更新が成功したと判別すると、第２フラッシュファームウェアイメージを有効なフラッシュファームウェアイメージに置き換えるように、フラッシュメモリコンポーネントを更新する。第２フラッシュファームウェアイメージは、ゴールデンフラッシュイメージ（golden flash image）に関連する。また、方法は、フラッシュメモリ管理コントローラを用いて、第２フラッシュファームウェアイメージの置き換えに成功したフラッシュメモリコンポーネントを識別する工程を含む。そのフラッシュメモリコンポーネントに接続されたサーバデバイスがオンになる。
【００１０】
フラッシュメモリコンポーネントのフラッシュファームウェアイメージをブートする（booting）方法も提供される。方法は、フラッシュメモリコンポーネントのフラッシュファームウェアイメージを無効化する（invalidate）工程を含む。フラッシュメモリコンポーネントは、他のフラッシュメモリコンポーネントのうち集中型フラッシュメモリモジュールに記憶される。方法は、第２フラッシュメモリコンポーネントに記憶されたゴールデンフラッシュイメージ（golden flash image）を用いて、フラッシュファームウェアイメージのリカバリを実行する工程を含む。また、方法は、フラッシュメモリ管理コントローラからコマンドを受信して、フラッシュメモリコンポーネントに接続されたサーバデバイスをパワーサイクルする（power cycle）工程を含む。サーバデバイスがパワーサイクルされる。
【００１１】
本発明のさらなる特徴及び利点は、以下の説明に記載され、その一部は、説明から明らかになり、また、本明細書で開示されている原理を実施することで習得することができる。本発明のさらなる特徴及び利点は、添付の特許請求の範囲で特に指摘されている装置の手段及び組み合わせによって実現及び取得することができる。本発明のこれらの特徴及び他の特徴は、以下の説明及び添付の特許請求の範囲から十分に明らかになり、又は、本明細書に記載された原理の実施により習得することができる。
【発明の効果】
【００１２】
本発明によれば、各サーバデバイスのデュアルフラッシュデバイスの要求を解決することができる。
【００１３】
本発明の上述した利点及び特徴と他の利点及び特徴とが得られる方法を説明するために、上記の原理のより具体的な説明を、添付の図面に示す特定の実施形態を参照することによって行う。これらの図面は、本発明の例示的な態様のみを示しており、本発明を限定するものではないことを理解されたい。本発明の原理は、以下の図面を参照してさらなる特徴及び詳細と共に説明される。
【図面の簡単な説明】
【００１４】
【図１】従来技術において一般的に知られている従来のサーバシステムを示す図である。
【図２】本発明の一実施形態による例示的なサーバシステムを示す図である。
【図３】本発明の一実施形態による集中型フラッシュメモリモジュールを示す図である。
【図４】本発明の一実施形態による例示的なサーバシステムの集中型フラッシュメモリモジュールの例示的な位置を示す図である。
【図５】本発明の一実施形態によるファームウェアの更新、バックアップ及びリカバリのプロセスを示すフローチャートである。
【図６】本発明の一実施形態によるサーバシステム内のサーバデバイスをブート処理するプロセスを説明するフローチャートである。
【図７Ａ】本発明の一実施形態による集中型フラッシュメモリモジュールのビジュアルインジケータ（visual indicator）を示す図である。
【図７Ｂ】本発明の一実施形態によるサーバシステム内の単一のサーバデバイスのデバッグツール（debug tool）を示す図である。
【発明を実施するための形態】
【００１５】
添付の図面を参照して本発明を説明する。図面において、類似又は同様の要素を示すために同様の符号が用いられている。図面は縮尺通りに示されておらず、これらは、本発明を単に例示するために提供されている。本発明のいくつかの態様を、例示的な用途を参照して以下に説明する。本発明の完全な理解を提供するために、多くの特定の詳細、関係及び方法が示されていることを理解されたい。しかし、当業者であれば、１つ以上の特定の詳細無しに又は他の方法を用いて本発明を実施することができることを容易に認識するであろう。他の例では、本発明が曖昧になるのを防ぐために、周知の構造又は動作を詳細に示していない。いくつかの動作が異なる順序で、及び／又は、他の動作や事象と同時に発生し得るので、本発明は、示された動作や事象の順序によって限定されない。さらに、本発明による方法を実施するために、示された全ての動作や事象が必要とされているわけではない。
【００１６】
図１は、従来技術において一般的に知られている従来のサーバシステム１００を示す図である。サーバシステム１００は、ラックデバイス１０に収容されたサーバデバイス１５を含むことができる。各サーバデバイス１５は、通常、フラッシュメモリ管理コントローラ（ＦＭＭＣ）３０と、複数のフラッシュデバイス２０と、を含む。フラッシュデバイス２０は、通常、マザーボード１６に搭載されている。フラッシュデバイス２０は、通常、ラック管理デバイス４０に接続されていない。その結果、以下に説明するように、殆どの技術者がラック管理デバイス４０と直接インタフェース（interface）するので、フラッシュデバイス２０のリカバリを実行することが困難になる。
【００１７】
故障したフラッシュデバイス２０を交換するために、技術者は、サーバデバイス１５のシャーシを開けて、フラッシュデバイス２０を物理的に交換しなければならない。何千ものラックデバイス１０のデータセンタ内の無数のフラッシュデバイス２０を潜在的に物理的に交換する負担を軽減するために、典型的に、同じサーバデバイス１５に第２フラッシュデバイス２０が収納される。これにより、第１フラッシュデバイス２０が破損すると、第２フラッシュデバイス２０が作動して（activated）、破損したデバイスをリカバリすることができる。言い換えれば、技術者は、潜在的に機密性の高い情報が漏れるのを抑制するために、フラッシュデバイス２０を廃棄する（scrap）前に、手動で、全てのファームウェアを消去し、チップ情報を削除する必要がある。
【００１８】
各サーバデバイス１５は、認定ユーザのみがデバイス内のコンテンツにアクセスすることを保証するように保護されている。フラッシュデバイス２０を保護する一般的な方法は、ＵＥＦＩ（Unified Extensible Firmware Interface）セキュアブート（secure boot）又はセキュアフラッシュ（secure flash）に依存して信頼チェーン（trust chain）を確立することである。さらに、特定用途向け集積回路（ＡＳＩＣ）を各サーバデバイス１５に実装して、フラッシュデバイス２０のアクティビティを監視して、読み出し、書き込み又はコマンド実行の前に、アクセスを認証することができる。言い換えれば、現在の信頼チェーンの上で高度なセキュリティを実施するために、次の動作を承認する前に、フラッシュデバイス２０のアクティビティを監視し、又は、サーバデバイス１５上の両方のフラッシュデバイス２０の内容を比較するために、別のＡＳＩＣを実装する必要がある。
【００１９】
本発明の実施形態は、サーバシステム１００に関連する面倒なプロセスに対して独特な解決策を提供する。図２は、本発明の一実施形態による例示的なサーバシステムを示す図である。
【００２０】
図示するように、ラックデバイス１０の各サーバデバイス１５のフラッシュデバイス２２０は、集中型フラッシュメモリモジュール（ＣＦＭＭ）２５０に収納されている。ＣＦＭＭ２５０には、単一のフラッシュメモリ管理コントローラ（ＦＭＭＣ）２３０が収納されてもよい。各フラッシュデバイス２２０は、接続２２１によって、サーバデバイス１５に接続されている。この実施形態では、故障したフラッシュデバイスを中央位置で修復することができる。フラッシュデバイス２２０が最早マザーボード１６に配置されていないので、追加のセキュリティ対策を行わずにマザーボードを直接廃棄することができる。ＣＦＭＭ２５０内の各フラッシュデバイス２２０は、ラックデバイス１０内の他のサーバデバイス１５に再利用可能であるように設計されている。全てのフラッシュデバイス２２０を管理するには、単一のＦＭＭＣ２３０が必要である。また、機能している各フラッシュデバイス２２０は、故障したフラッシュデバイスのゴールデンイメージ（golden image）（図示省略）とみなされ、これにより、各サーバデバイス１５においてデュアルフラッシュデバイスが不要になる。
【００２１】
いくつかの実施形態では、ＣＦＭＭ２５０は、ラックデバイス１０内のネットワークスイッチに類似する単なるボックスとして実装されてもよい。さらに、ＣＦＭＭ２５０は、１つ以上のサーバデバイス１５のホットプラグモジュールとして実装されてもよい。転送インタフェース（transfer interface）は、ＦＭＭＣ２３０に接続するためのケーブル又は無線接続を含むことができる。これにより、ＦＭＭＣ２３０は、フラッシュデバイス２２０がブート可能又は書き込み可能であることを保証する（endorsing）前に、リカバリ及びセキュリティ認証を実行することができる。
【００２２】
開示される実施形態では、フラッシュデバイス２２０は、サーバデバイス１５のマザーボード１６上の空間を占有しない。代わりに、フラッシュデバイス２２０は、ケーブル、コネクタ又は無線接続２２１を介してサーバデバイス１５に接続される。さらに、各サーバデバイス１５は、自動リカバリのためにデュアルフラッシュデバイスを必要としなくなる。
【００２３】
図３は、本発明の一実施形態によるサーバシステム２００内のＣＦＭＭ２５０のトポロジを示す図である。トポロジは、サーバデバイス間の接続のマッピング（mapping）を指すことを理解されたい。フラッシュデバイス２２０及び各サーバデバイス１５のトポロジは、ＦＭＭＣ２３０のみによって構成することができる。或いは、本明細書で示すように、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）２３５等の補助デバイスをＣＦＭＭ２５０内に実装して、トポロジを管理することができる。ルーティングテーブル（図示省略）を不揮発性ストレージデバイス（図示省略）に記憶して、パワーサイクルに亘るトポロジを管理することができる。
【００２４】
フラッシュデバイス２２０及び各サーバデバイス１５のトポロジが変更された場合、ルーティングテーブルをラック管理デバイス４０に送信することができる。ラック管理デバイス４０は、サーバデバイス１５の電力状態を制御することができる。また、ラック管理デバイス４０は、ルーティングテーブルを参照して、何れのサーバデバイス１５がオンライン／オフラインであるか、及び、任意の関連するエラーメッセージを判別することができる。これにより、ラック管理デバイス４０は、インジケータ（例えば、「フラッシュメモリオフライン」）を、修復のために技術者に提供することができる。
【００２５】
いくつかの実施形態では、ＣＦＭＭ２５０を、ラックデバイス１０内の全てのサーバデバイス１５にサービスを提供するために、ラックデバイス１０に搭載することができる。別の実施形態では、ＣＦＭＭ２５０を、データセンタ内の複数のラックデバイス１０にサービスを提供するために、ラックデバイス１０から離れて配置することができる。ＣＦＭＭ２５０上の単一のフラッシュデバイス２２０は、ゴールデンイメージ２２５として実装することができる。或いは、ＦＭＭＣ２３０は、任意のサーバデバイス１５からゴールデンイメージをコピーし、ＣＦＭＭ２５０上の故障したフラッシュデバイス２２０を更新することができる。
【００２６】
図４は、本発明の一実施形態による例示的なサーバシステム３００のＣＦＭＭの例示的な位置を示す図である。ＣＦＭＭ３５０’はラックデバイス１０に対してローカルである（Local FMM）。或いは、ＣＦＭＭ３５０は、ラックデバイス１０に対してバーチャルであってもよい（Remote CFMM）。バーチャルＣＦＭＭ３５０が実施される場合、ローカルＣＰＬＤ＋ＦＭＭＣ２７５は、ＣＦＭＭ２５０（図３）に代わってファームウェアイメージを展開するために実施され得る。いくつかの実施形態では、ＣＰＬＤ＋ＦＭＭＣ２７５を、クラウドベースのホストサーバ３５１内のＣＦＭＭ３５０に無線接続することができる。或いは、ＣＦＭＭ３５０を、クラウドベースのホストサーバとして構成することができる。バーチャルＣＦＭＭ３５０及びローカルＣＦＭＭ３５０’内のデータは、ＣＰＬＤ＋ＦＭＭＣ２７５によって共有及び管理することができる。このようにして、ローカルＣＦＭＭ３５０’が十分である（suffice）場合、サーバシステム３００は、バーチャルＣＦＭＭ３５０無しに起動（boot）することができる。
【００２７】
いくつかの実施形態では、バーチャルＣＦＭＭ３５０は、単一のラックデバイス１０に限定されない。ラックデバイス１０に設置されたサーバデバイス１５が同じファームウェアを実行している限り、バーチャルＣＦＭＭ３５０を任意のラックデバイス１０にルーティングすることができる。さらに、ゴールデンイメージ２２５を、同じファームウェアを実行している全てのラックデバイス及びサーバデバイス１５と共有することもできる。
【００２８】
図５は、本発明の一実施形態によるファームウェア更新、バックアップ及びリカバリのプロセス５００を示すフローチャートである。ここに示すプロセス５００は、図２及び図３のサーバシステム２００のコンポーネントを参照して詳細に説明される。工程５０１において、ＣＦＭＭ２５０内の全てのファームウェアを、ＦＭＭＣ２３０を介して更新することができる。工程５０２において、新たなファームウェアイメージが有効であるか否かを検証するために、公開鍵を実装することができる。新たなファームウェアイメージが有効である場合、プロセス５００は工程５０５に進む。新たなファームウェアイメージが無効である場合、プロセス５００は工程５０４に進む。工程５０４において、ＦＭＭＣ２３０は、「フラッシュイメージ無効」を記録して、更新プロセス５００を終了する。工程５０５において、更新プロセスが進行する。
【００２９】
工程５０５において、先ず、フラッシュデバイス（ｎ−１）を更新する。予備のフラッシュデバイス（トポロジにおいて事前に指定されている）は、リカバリのために、ゴールデンイメージとして保存される。工程５０６において、更新されたフラッシュデバイスは、ＦＭＭＣ２３０に接続される。工程５０７において、更新されたフラッシュデバイスに関連するサーバデバイス１５は、パワーサイクルする準備をする。これらのサーバデバイス１５は、ＦＭＭＣ２３０に報告される。工程５０８において、サーバデバイス１５がパワーサイクルされる。工程５０９において、ファームウェアが、オペレーティングシステム（ＯＳ）にブートされる。工程５１０において、新たなファームウェアのパスレート（pass rate）がＦＭＭＣ２３０によって計算され、記録（logged）される。工程５１１において、ＦＭＭＣ２３０は、パスレートが所定の基準よりも高いか低いかを判別する。
【００３０】
工程５１１において、パスレートが所定の基準よりも低い場合、工程５１３において、ＦＭＭＣ２３０は、「フラッシュ更新失敗」を記録して、新たなファームウェアを拒否する。工程５１５において、ＦＭＭＣ２３０は、自動的に、元のファームウェアに戻す。元のファームウェアは、予約されたゴールデンイメージと同じである。工程５１１において、パスレートが所定の基準を満たす場合、工程５１２において、残りのサーバデバイスのファームウェアが更新される。工程５１４において、ＦＭＭＣ２３０は、「フラッシュ更新成功」を記録する。工程５１６において、更新が終了する。
【００３１】
図６は、本発明の一実施形態によるサーバシステム内のサーバデバイスをブートするプロセス６００を示すフローチャートである。ここに示すプロセス６００は、図２及び図３のサーバシステム２００のコンポーネントを参照して詳細に説明される。
【００３２】
プロセスは、工程６０１で開始する。工程６０２において、フラッシュデバイス２２０は、対応するサーバデバイス１５に接続する前に、ＦＭＭＣ２３０によって認証（authenticated）及び承認（endorsed）され得る。また、フラッシュデバイス２２０がオンになる。信頼のルート（root of trust）を確立するために、ＦＭＭＣ２３０は、他のサーバデバイス１５（図４）より先にブートされる。ハッシュ署名（hash signature）を計算するために、同じ公開鍵が実装されている。工程６０３において、ハッシュ署名は、フラッシュデバイス２２０内の各ハッシュ署名と比較され、有効であるか否かが判別される。ハッシュ署名が有効である場合、プロセス６００は工程６０５に進む。ハッシュ署名が無効である場合、プロセス６００は工程６０４に進む。工程６０５において、フラッシュデバイス２２０は、ＦＭＭＣ２３０を用いてサーバデバイス１５に接続される。工程６０８において、何れのサーバデバイス１５がパワーサイクルを準備しているかがＦＭＣ２３０に通知される。工程６０９において、サーバデバイス１５がパワーサイクルされる。工程６１０において、ブートが完了する。
【００３３】
フラッシュデバイス２２０のハッシュ署名が無効である場合、ＦＭＭＣ２３０は、「フラッシュメモリ無効」というイベントを記録し、インジケータをオンにする。一時的に図７Ａを参照すると、ＣＦＭＭ７０１は、各フラッシュデバイスに関連するインジケータを含むことができる。いくつかの実施形態では、インジケータは、ＬＥＤデバイスを含むことができる。様々な色のＬＥＤデバイスを利用して、ＣＦＭＭ７０１を管理する技術者に状態を示すことができる。例えば、緑色光は、フラッシュデバイスがオンラインであることを示すことができる。緑色の点滅光（green blinking light）は、フラッシュデバイスが更新中であることを示す。琥珀色の点滅光（amber blinking light）は、フラッシュデバイスがリカバリモード（recovery mode）にあることを示し、琥珀色光（amber light）は、フラッシュデバイスが故障（リカバリ不能）していることを示す。
【００３４】
図６に戻ると、工程６０６において、フラッシュデバイス２２０は、有効なイメージに更新される。工程６０７において、ＦＭＭＣ２３０は、「フラッシュメモリのリカバリ」を記録し、インジケータをオフにする。リカバリプロセスが完了すると、フラッシュデバイス２２０は、サーバデバイス１５に接続され、パワーサイクルされる。
【００３５】
図７Ｂは、本発明の一実施形態によるサーバシステム内の単一のサーバデバイス１５のデバッグツールを示す図である。新製品の導入（ＮＰＩ）フェーズでは、技術者は、通常、デバッグ（debugging）を実行して新製品を実装する。フラッシュデバイス２２０を有するモジュール化されたデバイス７００は、フラッシュデバイス２２０がＣＦＭＭ（集中型フラッシュメモリモジュール）に移動したためにオフラインのパワーオン又は修復が必要なサーバデバイス１５をデバッグするために実装されてもよい。サーバデバイス１５をデバッグ又は修復するために、単一のフラッシュデバイス２２０は、モジュール化されたデバイス７００に接続され、マザーボード１６に接続される。モジュール化されたデバイス７００は、ブートするためにフラッシュデバイス２２０とサーバデバイス１５とを接続する通信インタフェースを実装する。
【００３６】
以上、本発明の特定の実施形態について説明してきたが、当業者には、より広い態様において本発明から逸脱することなく変更及び修正を行うことが可能であることが明らかであろう。したがって、添付の特許請求の範囲の目的は、本発明の真の趣旨及び範囲内にあるこのような変更及び修正の全てを網羅することである。上述した説明及び添付の図面に記載されている事項は、限定としてではなく、例示としてのみ提供されている。本発明の実際の範囲は、先行技術に基づく適切な視点で見た場合に、特許請求の範囲で定義されることを意図している。
【００３７】
本明細書で用いられる用語は、特定の実施形態のみを説明することを目的としており、本発明を限定することを意図していない。本明細書で使用されているように、「一」、「１つの」、「この」という単数形は、文脈が他のことを明確に示さない限り、複数形も含むことを意図している。さらに、「含む」、「有する」やこれらの変化形が、詳細な説明及び／又は特許請求の範囲に用いられており、このような用語の意味は、「備える」という用語と同様に包括的であることを意図している。特に定義されない限り、本明細書で使用される全ての用語（技術用語及び科学用語）は、当業者によって一般に理解されるのと同じ意味を有する。さらに、一般的に使用される辞書において定義されるような用語は、関連技術の文脈におけるこれらの意味と一致する意味を有するものとして解釈されるべきであり、本明細書において明示的に定義されない限り、理想化された意味又は過度に形式的な意味で解釈されない。
【符号の説明】
【００３８】
１００，２００，３００…サーバシステム
１０…ラックデバイス
１５…サーバデバイス
１６…マザーボード
２０，２２０…フラッシュデバイス
３０，２３０…フラッシュメモリ管理コントローラ
４０…ラック管理デバイス
２２１…接続
２２５…ゴールデンイメージ
２３５…コンプレックスプログラマブルロジックデバイス
２５０，３５０，３５０’，７０１…集中型フラッシュメモリモジュール
２７５…ＣＰＬＤ＋ＦＭＭＣ
３５１…ホストサーバ
５００，６００…プロセス
５０１〜５１６，６０１〜６１０…工程
７００…モジュール化されたデバイス
【図１】
2020149667.tif 000003
【図２】
2020149667.tif 000004
【図３】
2020149667.tif 000005
【図４】
2020149667.tif 000006
【図５】
2020149667.tif 000007
【図６】
2020149667.tif 000008
【図７Ａ】
2020149667.tif 000009
【図７Ｂ】
2020149667.tif 000010