JP6884844B2 - オフボードフラッシュメモリ - Google Patents

オフボードフラッシュメモリ Download PDF

Info

Publication number
JP6884844B2
JP6884844B2 JP2019215171A JP2019215171A JP6884844B2 JP 6884844 B2 JP6884844 B2 JP 6884844B2 JP 2019215171 A JP2019215171 A JP 2019215171A JP 2019215171 A JP2019215171 A JP 2019215171A JP 6884844 B2 JP6884844 B2 JP 6884844B2
Authority
JP
Japan
Prior art keywords
flash memory
server
flash
centralized
rack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019215171A
Other languages
English (en)
Other versions
JP2020149667A (ja
Inventor
明宏 洪
明宏 洪
信宏 郭
信宏 郭
勤富 歐
勤富 歐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of JP2020149667A publication Critical patent/JP2020149667A/ja
Application granted granted Critical
Publication of JP6884844B2 publication Critical patent/JP6884844B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Description

本発明は、概して、ラックサーバシステム内のフラッシュメモリストレージシステムに関する。具体的には、集中型フラッシュメモリモジュールと、ブート、ファームウェア更新、リカバリ及びバックアップの関連する方法と、に関する。
サーバがパワーサイクルされる(power cycled)場合に、中央処理ユニット(CPU)によって行われる最初のアクションは、BIOS(Basic Input and Output System)を起動するメッセージの送信である。次に、BIOSは、POST(Power On Self-Test)と呼ばれる一連のテストを実行して、システムデバイスが正常に機能しているかどうかを確認する。BIOSは、サーバの動作に不可欠な機能を有効にする。BIOSが壊れていると、CPUは機能することができない。しかし、通常のBIOSは、破損した場合に、有効なBIOSイメージを復元することができる。これは、リカバリプログラムを、システム内で書き込み可能(in-system writable)でないフラッシュメモリに記憶することによって実現される。このようにして、リカバリプログラムが破損しないことが保証される。リカバリプログラムは、通常、最小限のシステムハードウェアを初期化して、フラッシュドライブ又は他のリムーバブルメディアから新たなコードイメージを取得する機能を有する単純なコードである。このパワーサイクル及び復元機能は、他のコントローラ(例えば、ベースボード管理コントローラ(baseboard management controller)やメモリスイッチコントローラ等)のファームウェアにも必要である。
本発明は、集中型フラッシュメモリモジュール(centralized flash memory module)を提供する。
集中型フラッシュメモリモジュールが提供される。集中型フラッシュメモリモジュールは、フラッシュメモリコンポーネント(flash memory component)と、フラッシュメモリ管理コントローラ(flash memory management controller:FMMC)と、コンプレックスプログラマブルロジックデバイス(complex programmable logic device:CPLD)と、を含む。各フラッシュメモリコンポーネントは、サーバデバイスに接続されている。サーバデバイスは、集中型フラッシュメモリモジュールから分離されている。FMMCは、フラッシュメモリコンポーネント及びラック管理デバイスに接続するように構成されている。ラック管理デバイスも、集中型フラッシュメモリモジュールから分離されている。CPLDは、FMMCをフラッシュメモリコンポーネントに接続するように構成されている。また、CPLDは、サーバデバイスをフラッシュメモリコンポーネントに接続するように構成されている。
いくつかの実施形態では、集中型フラッシュメモリモジュールは、ルーティングテーブル(routing table)を記憶するように構成された不揮発性ストレージデバイスを含むことができる。ルーティングテーブルは、フラッシュコンポーネント及びサーバデバイスのトポロジを含むことができる。FMMCは、ルーティングテーブルをラック管理デバイスに送信するように構成されてもよい。いくつかの実施形態では、各フラッシュメモリコンポーネントは、リカバリ目的のためのゴールデンイメージを含む。
サーバシステムも提供される。サーバシステムは、サーバデバイスを収容するラックデバイスと、ラックデバイスに収納されたラック管理デバイスと、各サーバデバイスに接続された集中型フラッシュメモリモジュールと、を含む。上述したように、集中型フラッシュメモリモジュールは、フラッシュメモリコンポーネントと、フラッシュメモリ管理コントローラ(FMMC)と、コンプレックスプログラマブルロジックデバイス(CPLD)と、を含む。
いくつかの実施形態では、集中型フラッシュメモリモジュールは、ラックデバイスに配置されている。別の実施形態では、集中型フラッシュメモリモジュールは、クラウドベース(cloud based)のサーバデバイス内に配置されている。各フラッシュメモリコンポーネントは、2つ以上のラックデバイスのリカバリを目的としたゴールデンイメージを含むことができる。
サーバシステムも提供される。サーバシステムは、サーバデバイスを収容するラックデバイスと、ラックデバイスに収納されたラック管理デバイスと、各サーバデバイスに接続された集中型フラッシュメモリモジュールと、フラッシュメモリ管理コントローラ(FMMC)と、コンプレックスプログラマブルロジックデバイス(CPLD)と、を含む。集中型フラッシュメモリモジュールは、フラッシュメモリコンポーネントを含むことができる。各フラッシュメモリコンポーネントは、サーバデバイスに接続されている。FMMCは、フラッシュメモリコンポーネントとラック管理デバイスとに接続するように構成されている。ラック管理デバイスは、集中型フラッシュメモリモジュールから分離されている。CPLDは、FMMCをフラッシュメモリコンポーネントに接続し、サーバデバイスをフラッシュメモリコンポーネントに接続するように構成されている。いくつかの実施形態では、集中型フラッシュメモリモジュールは、クラウドベースのサーバデバイス内に配置されている。
フラッシュメモリコンポーネントのフラッシュファームウェアイメージを更新する方法も提供される。方法は、フラッシュファームウェアイメージを検証する工程と、第1フラッシュファームウェアイメージを検証されたフラッシュファームウェアイメージに置き換えるように、フラッシュメモリコンポーネントを更新する工程と、を含む。フラッシュメモリコンポーネントは、集中型フラッシュメモリモジュールに収納されている。第1更新が成功したと判別すると、第2フラッシュファームウェアイメージを有効なフラッシュファームウェアイメージに置き換えるように、フラッシュメモリコンポーネントを更新する。第2フラッシュファームウェアイメージは、ゴールデンフラッシュイメージ(golden flash image)に関連する。また、方法は、フラッシュメモリ管理コントローラを用いて、第2フラッシュファームウェアイメージの置き換えに成功したフラッシュメモリコンポーネントを識別する工程を含む。そのフラッシュメモリコンポーネントに接続されたサーバデバイスがオンになる。
フラッシュメモリコンポーネントのフラッシュファームウェアイメージをブートする(booting)方法も提供される。方法は、フラッシュメモリコンポーネントのフラッシュファームウェアイメージを無効化する(invalidate)工程を含む。フラッシュメモリコンポーネントは、他のフラッシュメモリコンポーネントのうち集中型フラッシュメモリモジュールに記憶される。方法は、第2フラッシュメモリコンポーネントに記憶されたゴールデンフラッシュイメージ(golden flash image)を用いて、フラッシュファームウェアイメージのリカバリを実行する工程を含む。また、方法は、フラッシュメモリ管理コントローラからコマンドを受信して、フラッシュメモリコンポーネントに接続されたサーバデバイスをパワーサイクルする(power cycle)工程を含む。サーバデバイスがパワーサイクルされる。
本発明のさらなる特徴及び利点は、以下の説明に記載され、その一部は、説明から明らかになり、また、本明細書で開示されている原理を実施することで習得することができる。本発明のさらなる特徴及び利点は、添付の特許請求の範囲で特に指摘されている装置の手段及び組み合わせによって実現及び取得することができる。本発明のこれらの特徴及び他の特徴は、以下の説明及び添付の特許請求の範囲から十分に明らかになり、又は、本明細書に記載された原理の実施により習得することができる。
本発明によれば、各サーバデバイスのデュアルフラッシュデバイスの要求を解決することができる。
本発明の上述した利点及び特徴と他の利点及び特徴とが得られる方法を説明するために、上記の原理のより具体的な説明を、添付の図面に示す特定の実施形態を参照することによって行う。これらの図面は、本発明の例示的な態様のみを示しており、本発明を限定するものではないことを理解されたい。本発明の原理は、以下の図面を参照してさらなる特徴及び詳細と共に説明される。
従来技術において一般的に知られている従来のサーバシステムを示す図である。 本発明の一実施形態による例示的なサーバシステムを示す図である。 本発明の一実施形態による集中型フラッシュメモリモジュールを示す図である。 本発明の一実施形態による例示的なサーバシステムの集中型フラッシュメモリモジュールの例示的な位置を示す図である。 本発明の一実施形態によるファームウェアの更新、バックアップ及びリカバリのプロセスを示すフローチャートである。 本発明の一実施形態によるサーバシステム内のサーバデバイスをブート処理するプロセスを説明するフローチャートである。 本発明の一実施形態による集中型フラッシュメモリモジュールのビジュアルインジケータ(visual indicator)を示す図である。 本発明の一実施形態によるサーバシステム内の単一のサーバデバイスのデバッグツール(debug tool)を示す図である。
添付の図面を参照して本発明を説明する。図面において、類似又は同様の要素を示すために同様の符号が用いられている。図面は縮尺通りに示されておらず、これらは、本発明を単に例示するために提供されている。本発明のいくつかの態様を、例示的な用途を参照して以下に説明する。本発明の完全な理解を提供するために、多くの特定の詳細、関係及び方法が示されていることを理解されたい。しかし、当業者であれば、1つ以上の特定の詳細無しに又は他の方法を用いて本発明を実施することができることを容易に認識するであろう。他の例では、本発明が曖昧になるのを防ぐために、周知の構造又は動作を詳細に示していない。いくつかの動作が異なる順序で、及び/又は、他の動作や事象と同時に発生し得るので、本発明は、示された動作や事象の順序によって限定されない。さらに、本発明による方法を実施するために、示された全ての動作や事象が必要とされているわけではない。
図1は、従来技術において一般的に知られている従来のサーバシステム100を示す図である。サーバシステム100は、ラックデバイス10に収容されたサーバデバイス15を含むことができる。各サーバデバイス15は、通常、フラッシュメモリ管理コントローラ(FMMC)30と、複数のフラッシュデバイス20と、を含む。フラッシュデバイス20は、通常、マザーボード16に搭載されている。フラッシュデバイス20は、通常、ラック管理デバイス40に接続されていない。その結果、以下に説明するように、殆どの技術者がラック管理デバイス40と直接インタフェース(interface)するので、フラッシュデバイス20のリカバリを実行することが困難になる。
故障したフラッシュデバイス20を交換するために、技術者は、サーバデバイス15のシャーシを開けて、フラッシュデバイス20を物理的に交換しなければならない。何千ものラックデバイス10のデータセンタ内の無数のフラッシュデバイス20を潜在的に物理的に交換する負担を軽減するために、典型的に、同じサーバデバイス15に第2フラッシュデバイス20が収納される。これにより、第1フラッシュデバイス20が破損すると、第2フラッシュデバイス20が作動して(activated)、破損したデバイスをリカバリすることができる。言い換えれば、技術者は、潜在的に機密性の高い情報が漏れるのを抑制するために、フラッシュデバイス20を廃棄する(scrap)前に、手動で、全てのファームウェアを消去し、チップ情報を削除する必要がある。
各サーバデバイス15は、認定ユーザのみがデバイス内のコンテンツにアクセスすることを保証するように保護されている。フラッシュデバイス20を保護する一般的な方法は、UEFI(Unified Extensible Firmware Interface)セキュアブート(secure boot)又はセキュアフラッシュ(secure flash)に依存して信頼チェーン(trust chain)を確立することである。さらに、特定用途向け集積回路(ASIC)を各サーバデバイス15に実装して、フラッシュデバイス20のアクティビティを監視して、読み出し、書き込み又はコマンド実行の前に、アクセスを認証することができる。言い換えれば、現在の信頼チェーンの上で高度なセキュリティを実施するために、次の動作を承認する前に、フラッシュデバイス20のアクティビティを監視し、又は、サーバデバイス15上の両方のフラッシュデバイス20の内容を比較するために、別のASICを実装する必要がある。
本発明の実施形態は、サーバシステム100に関連する面倒なプロセスに対して独特な解決策を提供する。図2は、本発明の一実施形態による例示的なサーバシステムを示す図である。
図示するように、ラックデバイス10の各サーバデバイス15のフラッシュデバイス220は、集中型フラッシュメモリモジュール(CFMM)250に収納されている。CFMM250には、単一のフラッシュメモリ管理コントローラ(FMMC)230が収納されてもよい。各フラッシュデバイス220は、接続221によって、サーバデバイス15に接続されている。この実施形態では、故障したフラッシュデバイスを中央位置で修復することができる。フラッシュデバイス220が最早マザーボード16に配置されていないので、追加のセキュリティ対策を行わずにマザーボードを直接廃棄することができる。CFMM250内の各フラッシュデバイス220は、ラックデバイス10内の他のサーバデバイス15に再利用可能であるように設計されている。全てのフラッシュデバイス220を管理するには、単一のFMMC230が必要である。また、機能している各フラッシュデバイス220は、故障したフラッシュデバイスのゴールデンイメージ(golden image)(図示省略)とみなされ、これにより、各サーバデバイス15においてデュアルフラッシュデバイスが不要になる。
いくつかの実施形態では、CFMM250は、ラックデバイス10内のネットワークスイッチに類似する単なるボックスとして実装されてもよい。さらに、CFMM250は、1つ以上のサーバデバイス15のホットプラグモジュールとして実装されてもよい。転送インタフェース(transfer interface)は、FMMC230に接続するためのケーブル又は無線接続を含むことができる。これにより、FMMC230は、フラッシュデバイス220がブート可能又は書き込み可能であることを保証する(endorsing)前に、リカバリ及びセキュリティ認証を実行することができる。
開示される実施形態では、フラッシュデバイス220は、サーバデバイス15のマザーボード16上の空間を占有しない。代わりに、フラッシュデバイス220は、ケーブル、コネクタ又は無線接続221を介してサーバデバイス15に接続される。さらに、各サーバデバイス15は、自動リカバリのためにデュアルフラッシュデバイスを必要としなくなる。
図3は、本発明の一実施形態によるサーバシステム200内のCFMM250のトポロジを示す図である。トポロジは、サーバデバイス間の接続のマッピング(mapping)を指すことを理解されたい。フラッシュデバイス220及び各サーバデバイス15のトポロジは、FMMC230のみによって構成することができる。或いは、本明細書で示すように、コンプレックスプログラマブルロジックデバイス(CPLD)235等の補助デバイスをCFMM250内に実装して、トポロジを管理することができる。ルーティングテーブル(図示省略)を不揮発性ストレージデバイス(図示省略)に記憶して、パワーサイクルに亘るトポロジを管理することができる。
フラッシュデバイス220及び各サーバデバイス15のトポロジが変更された場合、ルーティングテーブルをラック管理デバイス40に送信することができる。ラック管理デバイス40は、サーバデバイス15の電力状態を制御することができる。また、ラック管理デバイス40は、ルーティングテーブルを参照して、何れのサーバデバイス15がオンライン/オフラインであるか、及び、任意の関連するエラーメッセージを判別することができる。これにより、ラック管理デバイス40は、インジケータ(例えば、「フラッシュメモリオフライン」)を、修復のために技術者に提供することができる。
いくつかの実施形態では、CFMM250を、ラックデバイス10内の全てのサーバデバイス15にサービスを提供するために、ラックデバイス10に搭載することができる。別の実施形態では、CFMM250を、データセンタ内の複数のラックデバイス10にサービスを提供するために、ラックデバイス10から離れて配置することができる。CFMM250上の単一のフラッシュデバイス220は、ゴールデンイメージ225として実装することができる。或いは、FMMC230は、任意のサーバデバイス15からゴールデンイメージをコピーし、CFMM250上の故障したフラッシュデバイス220を更新することができる。
図4は、本発明の一実施形態による例示的なサーバシステム300のCFMMの例示的な位置を示す図である。CFMM350’はラックデバイス10に対してローカルである(Local FMM)。或いは、CFMM350は、ラックデバイス10に対してバーチャルであってもよい(Remote CFMM)。バーチャルCFMM350が実施される場合、ローカルCPLD+FMMC275は、CFMM250(図3)に代わってファームウェアイメージを展開するために実施され得る。いくつかの実施形態では、CPLD+FMMC275を、クラウドベースのホストサーバ351内のCFMM350に無線接続することができる。或いは、CFMM350を、クラウドベースのホストサーバとして構成することができる。バーチャルCFMM350及びローカルCFMM350’内のデータは、CPLD+FMMC275によって共有及び管理することができる。このようにして、ローカルCFMM350’が十分である(suffice)場合、サーバシステム300は、バーチャルCFMM350無しに起動(boot)することができる。
いくつかの実施形態では、バーチャルCFMM350は、単一のラックデバイス10に限定されない。ラックデバイス10に設置されたサーバデバイス15が同じファームウェアを実行している限り、バーチャルCFMM350を任意のラックデバイス10にルーティングすることができる。さらに、ゴールデンイメージ225を、同じファームウェアを実行している全てのラックデバイス及びサーバデバイス15と共有することもできる。
図5は、本発明の一実施形態によるファームウェア更新、バックアップ及びリカバリのプロセス500を示すフローチャートである。ここに示すプロセス500は、図2及び図3のサーバシステム200のコンポーネントを参照して詳細に説明される。工程501において、CFMM250内の全てのファームウェアを、FMMC230を介して更新することができる。工程502において、新たなファームウェアイメージが有効であるか否かを検証するために、公開鍵を実装することができる。新たなファームウェアイメージが有効である場合、プロセス500は工程505に進む。新たなファームウェアイメージが無効である場合、プロセス500は工程504に進む。工程504において、FMMC230は、「フラッシュイメージ無効」を記録して、更新プロセス500を終了する。工程505において、更新プロセスが進行する。
工程505において、先ず、フラッシュデバイス(n−1)を更新する。予備のフラッシュデバイス(トポロジにおいて事前に指定されている)は、リカバリのために、ゴールデンイメージとして保存される。工程506において、更新されたフラッシュデバイスは、FMMC230に接続される。工程507において、更新されたフラッシュデバイスに関連するサーバデバイス15は、パワーサイクルする準備をする。これらのサーバデバイス15は、FMMC230に報告される。工程508において、サーバデバイス15がパワーサイクルされる。工程509において、ファームウェアが、オペレーティングシステム(OS)にブートされる。工程510において、新たなファームウェアのパスレート(pass rate)がFMMC230によって計算され、記録(logged)される。工程511において、FMMC230は、パスレートが所定の基準よりも高いか低いかを判別する。
工程511において、パスレートが所定の基準よりも低い場合、工程513において、FMMC230は、「フラッシュ更新失敗」を記録して、新たなファームウェアを拒否する。工程515において、FMMC230は、自動的に、元のファームウェアに戻す。元のファームウェアは、予約されたゴールデンイメージと同じである。工程511において、パスレートが所定の基準を満たす場合、工程512において、残りのサーバデバイスのファームウェアが更新される。工程514において、FMMC230は、「フラッシュ更新成功」を記録する。工程516において、更新が終了する。
図6は、本発明の一実施形態によるサーバシステム内のサーバデバイスをブートするプロセス600を示すフローチャートである。ここに示すプロセス600は、図2及び図3のサーバシステム200のコンポーネントを参照して詳細に説明される。
プロセスは、工程601で開始する。工程602において、フラッシュデバイス220は、対応するサーバデバイス15に接続する前に、FMMC230によって認証(authenticated)及び承認(endorsed)され得る。また、フラッシュデバイス220がオンになる。信頼のルート(root of trust)を確立するために、FMMC230は、他のサーバデバイス15(図4)より先にブートされる。ハッシュ署名(hash signature)を計算するために、同じ公開鍵が実装されている。工程603において、ハッシュ署名は、フラッシュデバイス220内の各ハッシュ署名と比較され、有効であるか否かが判別される。ハッシュ署名が有効である場合、プロセス600は工程605に進む。ハッシュ署名が無効である場合、プロセス600は工程604に進む。工程605において、フラッシュデバイス220は、FMMC230を用いてサーバデバイス15に接続される。工程608において、何れのサーバデバイス15がパワーサイクルを準備しているかがFMC230に通知される。工程609において、サーバデバイス15がパワーサイクルされる。工程610において、ブートが完了する。
フラッシュデバイス220のハッシュ署名が無効である場合、FMMC230は、「フラッシュメモリ無効」というイベントを記録し、インジケータをオンにする。一時的に図7Aを参照すると、CFMM701は、各フラッシュデバイスに関連するインジケータを含むことができる。いくつかの実施形態では、インジケータは、LEDデバイスを含むことができる。様々な色のLEDデバイスを利用して、CFMM701を管理する技術者に状態を示すことができる。例えば、緑色光は、フラッシュデバイスがオンラインであることを示すことができる。緑色の点滅光(green blinking light)は、フラッシュデバイスが更新中であることを示す。琥珀色の点滅光(amber blinking light)は、フラッシュデバイスがリカバリモード(recovery mode)にあることを示し、琥珀色光(amber light)は、フラッシュデバイスが故障(リカバリ不能)していることを示す。
図6に戻ると、工程606において、フラッシュデバイス220は、有効なイメージに更新される。工程607において、FMMC230は、「フラッシュメモリのリカバリ」を記録し、インジケータをオフにする。リカバリプロセスが完了すると、フラッシュデバイス220は、サーバデバイス15に接続され、パワーサイクルされる。
図7Bは、本発明の一実施形態によるサーバシステム内の単一のサーバデバイス15のデバッグツールを示す図である。新製品の導入(NPI)フェーズでは、技術者は、通常、デバッグ(debugging)を実行して新製品を実装する。フラッシュデバイス220を有するモジュール化されたデバイス700は、フラッシュデバイス220がCFMM(集中型フラッシュメモリモジュール)に移動したためにオフラインのパワーオン又は修復が必要なサーバデバイス15をデバッグするために実装されてもよい。サーバデバイス15をデバッグ又は修復するために、単一のフラッシュデバイス220は、モジュール化されたデバイス700に接続され、マザーボード16に接続される。モジュール化されたデバイス700は、ブートするためにフラッシュデバイス220とサーバデバイス15とを接続する通信インタフェースを実装する。
以上、本発明の特定の実施形態について説明してきたが、当業者には、より広い態様において本発明から逸脱することなく変更及び修正を行うことが可能であることが明らかであろう。したがって、添付の特許請求の範囲の目的は、本発明の真の趣旨及び範囲内にあるこのような変更及び修正の全てを網羅することである。上述した説明及び添付の図面に記載されている事項は、限定としてではなく、例示としてのみ提供されている。本発明の実際の範囲は、先行技術に基づく適切な視点で見た場合に、特許請求の範囲で定義されることを意図している。
本明細書で用いられる用語は、特定の実施形態のみを説明することを目的としており、本発明を限定することを意図していない。本明細書で使用されているように、「一」、「1つの」、「この」という単数形は、文脈が他のことを明確に示さない限り、複数形も含むことを意図している。さらに、「含む」、「有する」やこれらの変化形が、詳細な説明及び/又は特許請求の範囲に用いられており、このような用語の意味は、「備える」という用語と同様に包括的であることを意図している。特に定義されない限り、本明細書で使用される全ての用語(技術用語及び科学用語)は、当業者によって一般に理解されるのと同じ意味を有する。さらに、一般的に使用される辞書において定義されるような用語は、関連技術の文脈におけるこれらの意味と一致する意味を有するものとして解釈されるべきであり、本明細書において明示的に定義されない限り、理想化された意味又は過度に形式的な意味で解釈されない。
100,200,300…サーバシステム
10…ラックデバイス
15…サーバデバイス
16…マザーボード
20,220…フラッシュデバイス
30,230…フラッシュメモリ管理コントローラ
40…ラック管理デバイス
221…接続
225…ゴールデンイメージ
235…コンプレックスプログラマブルロジックデバイス
250,350,350’,701…集中型フラッシュメモリモジュール
275…CPLD+FMMC
351…ホストサーバ
500,600…プロセス
501〜516,601〜610…工程
700…モジュール化されたデバイス

Claims (9)

  1. 集中型フラッシュメモリモジュールであって、
    2つ以上のフラッシュメモリコンポーネントであって、前記集中型フラッシュメモリモジュールから分離された少なくとも1つのサーバデバイスにそれぞれ接続されている、2つ以上のフラッシュメモリコンポーネントと、
    前記2つ以上のフラッシュメモリコンポーネントに接続し、前記集中型フラッシュメモリモジュールから分離されたラック管理デバイスに接続するように構成されたフラッシュメモリ管理コントローラ(FMMC)と、
    前記FMMCを前記2つ以上のフラッシュメモリコンポーネントに接続し、前記少なくとも1つのサーバデバイスを前記2つ以上のフラッシュメモリコンポーネントに接続するように構成されたコンプレックスプログラマブルロジックデバイス(CPLD)と、
    を備えることを特徴とする集中型フラッシュメモリモジュール。
  2. 前記2つ以上のフラッシュメモリコンポーネント及び前記少なくとも1つのサーバデバイスのトポロジを含むルーティングテーブルを記憶するように構成された不揮発性ストレージデバイスをさらに備えることを特徴とする請求項1に記載の集中型フラッシュメモリモジュール。
  3. 前記FMMCは、前記ルーティングテーブルを前記ラック管理デバイスに送信するように構成されていることを特徴とする請求項2に記載の集中型フラッシュメモリモジュール。
  4. 前記2つ以上のフラッシュメモリコンポーネントの各々は、リカバリのためのゴールデンイメージを有することを特徴とする請求項3に記載の集中型フラッシュメモリモジュール。
  5. サーバシステムであって、
    複数のサーバデバイスを収容する少なくとも1つのラックデバイスと、
    前記少なくとも1つのラックデバイスに収納されたラック管理デバイスと、
    前記複数のサーバデバイスの各々に接続された少なくとも1つの集中型フラッシュメモリモジュールと、を備え、
    前記集中型フラッシュメモリモジュールは、
    2つ以上のフラッシュメモリコンポーネントであって、少なくとも1つのサーバデバイスにそれぞれ接続されている、2つ以上のフラッシュメモリコンポーネントと、
    前記2つ以上のフラッシュメモリコンポーネントに接続し、前記集中型フラッシュメモリモジュールから分離された前記ラック管理デバイスに接続するように構成されたフラッシュメモリ管理コントローラ(FMMC)と、
    前記FMMCを前記2つ以上のフラッシュメモリコンポーネントに接続し、前記少なくとも1つのサーバデバイスを前記2つ以上のフラッシュメモリコンポーネントに接続するように構成されたコンプレックスプログラマブルロジックデバイス(CPLD)と、
    を有することを特徴とするサーバシステム。
  6. 前記集中型フラッシュメモリモジュールは、前記少なくとも1つのラックデバイスに配置されていることを特徴とする請求項5に記載のサーバシステム。
  7. 前記集中型フラッシュメモリモジュールは、前記2つ以上のフラッシュメモリコンポーネント及び前記少なくとも1つのサーバデバイスのトポロジを含むルーティングテーブルを記憶するように構成された不揮発性ストレージデバイスをさらに備え、前記FMMCは、前記ルーティングテーブルを前記ラック管理デバイスに送信するように構成されていることを特徴とする請求項5に記載のサーバシステム。
  8. 前記2つ以上のフラッシュメモリコンポーネントの各々は、リカバリのためのゴールデンイメージを有することを特徴とする請求項5に記載のサーバシステム。
  9. 前記集中型フラッシュメモリモジュールは、クラウドベースのサーバデバイスに配置されており、
    前記2つ以上のフラッシュメモリコンポーネントのうち少なくとも1つは、前記少なくとも1つのラックデバイスのうち2つ以上のラックデバイスのリカバリのためのゴールデンイメージを有することを特徴とする請求項5に記載のサーバシステム。
JP2019215171A 2019-03-13 2019-11-28 オフボードフラッシュメモリ Active JP6884844B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/352,454 US10922071B2 (en) 2019-03-13 2019-03-13 Centralized off-board flash memory for server devices
US16/352,454 2019-03-13

Publications (2)

Publication Number Publication Date
JP2020149667A JP2020149667A (ja) 2020-09-17
JP6884844B2 true JP6884844B2 (ja) 2021-06-09

Family

ID=67658263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019215171A Active JP6884844B2 (ja) 2019-03-13 2019-11-28 オフボードフラッシュメモリ

Country Status (5)

Country Link
US (1) US10922071B2 (ja)
EP (1) EP3709149B1 (ja)
JP (1) JP6884844B2 (ja)
CN (1) CN111694760B (ja)
TW (1) TWI740158B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210216640A1 (en) * 2020-01-10 2021-07-15 Dell Products L.P. Systems and methods for hardware root of trust with protected redundant memory for authentication failure scenarios
US11422896B2 (en) * 2020-03-27 2022-08-23 Intel Corporation Technology to enable secure and resilient recovery of firmware data
EP3989478B1 (en) * 2020-10-22 2023-10-18 Moxa Inc. Computing system and device for handling a chain of trust
US11989551B2 (en) 2021-03-18 2024-05-21 Quanta Computer Inc. Modular firmware composition
CN117396855A (zh) * 2021-09-02 2024-01-12 铠侠股份有限公司 储存系统
US20230126350A1 (en) * 2021-10-25 2023-04-27 Nvidia Corporation Non-volatile memory storage and interface

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103761B2 (en) * 2001-08-07 2006-09-05 Hewlett-Packard Development Company, Lp. Server system with multiple management user interfaces
WO2004002055A1 (en) * 2002-06-21 2003-12-31 Thomson Licensing S.A. Broadcast router having a shared configuration repository
TWI220823B (en) 2003-09-09 2004-09-01 Inventec Corp Redundant management control arbitration system
US20050080887A1 (en) 2003-10-08 2005-04-14 Chun-Liang Lee Redundant management control arbitration system
US8402109B2 (en) * 2005-02-15 2013-03-19 Gytheion Networks Llc Wireless router remote firmware upgrade
US20110035540A1 (en) 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
TWM422693U (en) 2011-04-26 2012-02-11 nai-yuan Shi Cloud data backup apparatus
US10102170B2 (en) 2012-05-18 2018-10-16 Dell Products, Lp System and method for providing input/output functionality by an I/O complex switch
US9043638B1 (en) * 2014-11-14 2015-05-26 Quanta Computer Inc. Method for enhancing memory fault tolerance
US9807156B2 (en) 2015-05-26 2017-10-31 Microsoft Technology Licensing, Llc Cloud computing infrastructure
WO2017052500A1 (en) 2015-09-21 2017-03-30 Hewlett Packard Enterprise Development Lp Server node shutdown
US10127032B2 (en) * 2015-11-05 2018-11-13 Quanta Computer Inc. System and method for unified firmware management
TWI619031B (zh) * 2015-11-19 2018-03-21 財團法人資訊工業策進會 詮釋資料伺服器、網路裝置及自動資源管理方法
US10303646B2 (en) 2016-03-25 2019-05-28 Microsoft Technology Licensing, Llc Memory sharing for working data using RDMA
US10430333B2 (en) * 2017-09-29 2019-10-01 Intel Corporation Storage system with interconnected solid state disks

Also Published As

Publication number Publication date
TW202034176A (zh) 2020-09-16
JP2020149667A (ja) 2020-09-17
EP3709149B1 (en) 2023-02-08
US10922071B2 (en) 2021-02-16
TWI740158B (zh) 2021-09-21
US20200293306A1 (en) 2020-09-17
CN111694760B (zh) 2023-03-31
EP3709149A1 (en) 2020-09-16
CN111694760A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
JP6884844B2 (ja) オフボードフラッシュメモリ
CN105122258B (zh) 对系统进行配置的方法、计算系统以及物品
CN104850762B (zh) 防止计算机的动作不良的方法、计算机程序以及计算机
JP6850331B2 (ja) マルチノードストレージシステムにおけるファームウェアアップグレード方法
TW201715395A (zh) 基板管理控制器的回復方法及基板管理控制器
US7536604B2 (en) Method and system for reconfiguring functional capabilities in a data processing system with dormant resources
US11514193B2 (en) Validating secure assembly and delivery of multiple information handling systems installed in a shared chassis
DE112021000246T5 (de) Nachrichtenübermittlung von der peer-speicherungsvorrichtung über den steuerbus
US20220207126A1 (en) Validating secure assembly and delivery of information handling systems
US11574080B1 (en) Secure transfer of service identity for information handling systems
US11423180B2 (en) Secure identification of components installed in information handling systems
US20220207125A1 (en) Secure data collection for validation of installed components of information handling systems
US20230127223A1 (en) Physical port validation for information handling systems
US20230128572A1 (en) Customer validation of information handling systems
US20230127882A1 (en) Generating an inventory certificate for validation of information handling systems
US20220207463A1 (en) Validating secure modifications to information handling systems
CN116700801A (zh) 配置信息的管理方法、装置及服务器
JP5522178B2 (ja) 情報システム
TWI726477B (zh) 伺服器裝置及其可程式化邏輯單元之避免韌體更新失敗後無法再次更新之方法
TW202211057A (zh) 伺服裝置及伺服系統
US12099970B2 (en) Validating secure modifications to information handling systems
TWI789627B (zh) 儲存設備及其控制系統
JP3547208B2 (ja) マルチプロセッサシステム及びその構成方法
US20240256673A1 (en) Multi-party authorized secure boot system and method
US20240104215A1 (en) Systems and methods for secure firmware updates

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210512

R150 Certificate of patent or registration of utility model

Ref document number: 6884844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250