(57)【要約】【課題】  必須コンポーネント・データ等の特定のデータをストアするための、従来テクニックに比較してより柔軟な、空間効率の高い、あるいはそのほかの利点を有する保護されたフォーマットを提供する。【解決手段】  ヘッダＥＣＣ、目次記述子、および目次ＥＣＣ記述子を包含する固定長のヘッダ、複数のエントリであって、それぞれがレコード記述子および対応するレコードＥＣＣ記述子を含む複数のエントリを包含する可変長の目次、目次内の複数のエントリに対応する複数の可変長のレコード、および、ＥＣＣ記述子に対応するオプションのＥＣＣを含む、一様でないデータ・レコードのための柔軟なフォーマット。好ましくは、このフォーマットが、コンピュータ・システムの現場交換可能ユニットの不揮発性メモリ内において必須コンポーネント・データ用に使用され、システムによって読み出されてユニットの識別ならびにシステムのコンフィグレーションが行われる。【選択図】  図３
2004246893.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル・データ処理デバイスのための現場交換可能ユニットであって、
前記現場交換可能ユニットに関連付けされた機能を実行するための少なくとも１つの機能コンポーネント、および、
不揮発性メモリを備え、前記不揮発性メモリが、
（ａ）あらかじめ定義済みの長さのヘッダであって、前記ヘッダ内の第１のあらかじめ定義済みのロケーションにヘッダＥＣＣを、前記ヘッダ内の第２のあらかじめ定義済みのロケーションに目次記述子を、前記ヘッダ内の第３のあらかじめ定義済みのロケーションに目次ＥＣＣ記述子をそれぞれ包含しているヘッダ、
（ｂ）１ないしは複数の前記エントリを包含する目次であり、各前記エントリがそれぞれのデータ・レコード記述子およびそれぞれの対応するデータ・レコードＥＣＣ記述子を包含しているとする目次であって、前記目次記述子によって定義されるロケーションを有している目次、
（ｃ）１ないしは複数のデータ・レコードであって、各データ・レコードは前記目次内の前記１ないしは複数のエントリのそれぞれのエントリに対応しており、かつ各データ・レコードは前記目次内の前記対応するそれぞれのエントリ内の前記データ・レコード記述子によって定義されるロケーションを有している１ないしは複数のデータ・レコード、
（ｄ）前記目次ＥＣＣ記述子がヌルでないＥＣＣを指定している場合には、目次ＥＣＣであって、前記目次ＥＣＣ記述子によって定義されるロケーションを有している目次ＥＣＣ、および、
（ｅ）前記データ・レコードＥＣＣ記述子のいずれかがヌルでないＥＣＣを指定している場合には、ヌルでないＥＣＣを指定するデータ・レコードＥＣＣ記述子を有する前記目次内のエントリに対応する各データ・レコードに関するそれぞれのデータ・レコードＥＣＣであって、それぞれは前記対応するデータ・レコードＥＣＣ記述子によって定義されるロケーションを有しているデータ・レコードＥＣＣ、
をストアしている、現場交換可能ユニット。
【請求項２】
前記不揮発性メモリが、シリアルＥＰＲＯＭデバイスである、請求項１に記載の現場交換可能ユニット。
【請求項３】
前記不揮発性メモリが、スマート・チップ・デバイスである、請求項１に記載の現場交換可能ユニット。
【請求項４】
前記目次記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記目次の開始アドレスを指定し、前記長さフィールドは、前記目次の長さを指定し、かつ、
前記目次ＥＣＣ記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記目次ＥＣＣの開始アドレスを指定し、前記長さフィールドは、前記目次ＥＣＣの長さを指定する、請求項１に記載の現場交換可能ユニット。
【請求項５】
前記目次ＥＣＣ記述子内の前記長さフィールドがゼロの長さを指定している場合には、前記目次ＥＣＣ記述子が、ヌルの目次ＥＣＣを指定し、かつ、
前記目次ＥＣＣ記述子内の前記長さフィールドがゼロ以外の長さを指定している場合には、前記目次ＥＣＣ記述子が、ヌルでない目次ＥＣＣを指定する、請求項４に記載の現場交換可能ユニット。
【請求項６】
前記目次内のエントリ内のそれぞれのデータ・レコード記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記データ・レコード記述子に対応するデータ・レコードの開始アドレスを指定し、前記長さフィールドは、前記データ・レコード記述子に対応する前記データ・レコードの長さを指定し、かつ、
前記目次内のエントリ内のそれぞれのデータ・レコードＥＣＣ記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記データ・レコードＥＣＣ記述子に対応するデータ・レコードＥＣＣの開始アドレスを指定し、前記長さフィールドは、前記データ・レコードＥＣＣ記述子に対応する前記データ・レコードＥＣＣの長さを指定する、請求項４に記載の現場交換可能ユニット。
【請求項７】
前記目次記述子が、さらに名前フィールドを包含し、前記名前フィールドは、前記目次に関する名前を指定する、請求項４に記載の現場交換可能ユニット。
【請求項８】
前記データ・レコードが、前記現場交換可能ユニットが取り付けられるコンピュータ・システムに対して前記現場交換可能ユニットを識別するための必須コンポーネント・データを含む、請求項１に記載の現場交換可能ユニット。
【請求項９】
構造化されたデータをストアしている不揮発性メモリであって、前記構造化されたデータが、
（ａ）あらかじめ定義済みの長さのヘッダであって、前記ヘッダ内の第１のあらかじめ定義済みのロケーションにヘッダＥＣＣを、前記ヘッダ内の第２のあらかじめ定義済みのロケーションに目次記述子を、前記ヘッダ内の第３のあらかじめ定義済みのロケーションに目次ＥＣＣ記述子をそれぞれ包含しているヘッダ、
（ｂ）１ないしは複数の前記エントリを包含する目次であり、各前記エントリがそれぞれのデータ・レコード記述子およびそれぞれの対応するデータ・レコードＥＣＣ記述子を包含しているとする目次であって、前記目次記述子によって定義されるロケーションを有している目次、
（ｃ）１ないしは複数のデータ・レコードであって、各データ・レコードは前記目次内の前記１ないしは複数のエントリ内のそれぞれのエントリに対応しており、かつ各データ・レコードは前記目次内の前記対応するそれぞれのエントリ内の前記データ・レコード記述子によって定義されるロケーションを有している１ないしは複数のデータ・レコード、
（ｄ）前記目次ＥＣＣ記述子がヌルでないＥＣＣを指定している場合には、目次ＥＣＣであって、前記目次ＥＣＣ記述子によって定義されるロケーションを有している目次ＥＣＣ、および、
（ｅ）前記データ・レコードＥＣＣ記述子のいずれかがヌルでないＥＣＣを指定している場合には、ヌルでないＥＣＣを指定するデータ・レコードＥＣＣ記述子を有する前記目次内のエントリに対応する各データ・レコードに関するそれぞれのデータ・レコードＥＣＣであって、それぞれは前記対応するデータ・レコードＥＣＣ記述子によって定義されるロケーションを有しているデータ・レコードＥＣＣ、
を包含している、不揮発性メモリ。
【請求項１０】
前記不揮発性メモリが、シリアルＥＰＲＯＭデバイスである、請求項９に記載の不揮発性メモリ。
【請求項１１】
前記不揮発性メモリが、スマート・チップ・デバイスである、請求項９に記載の不揮発性メモリ。
【請求項１２】
前記目次記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記目次の開始アドレスを指定し、前記長さフィールドは、前記目次の長さを指定し、かつ、
前記目次ＥＣＣ記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記目次ＥＣＣの開始アドレスを指定し、前記長さフィールドは、前記目次ＥＣＣの長さを指定する、請求項９に記載の不揮発性メモリ。
【請求項１３】
前記目次ＥＣＣ記述子内の前記長さフィールドがゼロの長さを指定している場合には、前記目次ＥＣＣ記述子が、ヌルの目次ＥＣＣを指定し、かつ、
前記目次ＥＣＣ記述子内の前記長さフィールドがゼロ以外の長さを指定している場合には、前記目次ＥＣＣ記述子が、ヌルでない目次ＥＣＣを指定する、請求項１２に記載の不揮発性メモリ。
【請求項１４】
前記目次内のエントリ内のそれぞれのデータ・レコード記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記データ・レコード記述子に対応するデータ・レコードの開始アドレスを指定し、前記長さフィールドは、前記データ・レコード記述子に対応する前記データ・レコードの長さを指定し、かつ、
前記目次内のエントリ内のそれぞれのデータ・レコードＥＣＣ記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記データ・レコードＥＣＣ記述子に対応するデータ・レコードＥＣＣの開始アドレスを指定し、前記長さフィールドは、前記データ・レコードＥＣＣ記述子に対応する前記データ・レコードＥＣＣの長さを指定する、請求項１２に記載の不揮発性メモリ。
【請求項１５】
前記目次記述子が、さらに名前フィールドを包含し、前記名前フィールドは、前記目次に関する名前を指定する、請求項１２に記載の不揮発性メモリ。
【請求項１６】
構造化されたデータを検索するためのコンピュータ・プログラム・プロダクトであって、
信号担持メディア上に記録された複数の実行可能インストラクションを包含し、前記インストラクションは、ディジタル・コンピューティング・デバイスの少なくとも１つのプロセッサによって実行されたときに前記デバイスに、
（ａ）既知のロケーションにおいて前記構造化されたデータに関するヘッダを読み出すステップであって、前記ヘッダは、前記ヘッダ内の第１のあらかじめ定義済みのロケーションにヘッダＥＣＣを、前記ヘッダ内の第２のあらかじめ定義済みのロケーションに目次記述子を、前記ヘッダ内の第３のあらかじめ定義済みのロケーションに目次ＥＣＣ記述子をそれぞれ包含しているものとするステップ、
（ｂ）前記ヘッダＥＣＣを使用して前記ヘッダの内容を検証するステップ、
（ｃ）前記目次記述子によって定義されるロケーションにおいて目次を読み出すステップであって、前記目次は１ないしは複数のエントリを包含し、各前記エントリはそれぞれのデータ・レコード記述子およびそれぞれの対応するデータ・レコードＥＣＣ記述子を包含しているものとするステップ、
（ｄ）前記目次ＥＣＣ記述子がヌルでないＥＣＣを指定している場合には、前記目次ＥＣＣ記述子によって定義されるロケーションにおいて目次ＥＣＣを読み出し、前記目次ＥＣＣを使用して前記目次を検証するステップ、
（ｅ）前記目次内の前記１ないしは複数のエントリのそれぞれのエントリについて、前記それぞれのデータ・レコード記述子によって定義されるロケーションにおいて対応するデータ・レコードを読み出すステップ、および、
（ｆ）前記目次内の前記１ないしは複数のエントリのそれぞれのエントリについて、前記それぞれのデータ・レコードＥＣＣ記述子がヌルでないＥＣＣを指定している場合には、前記それぞれのデータ・レコードＥＣＣ記述子によって定義されるロケーションにおいて対応するデータ・レコードＥＣＣを読み出し、前記対応するデータ・レコードＥＣＣを使用して前記対応するデータ・レコードを検証するステップ、
を実行させる、コンピュータ・プログラム・プロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル・データ処理に関し、より詳しく述べれば、ディジタル・データ処理システムのコンポーネント内の特定の必須コンフィグレーション・データのストアならびに保護に関する。
【背景技術】
【０００２】
２０世紀の後半に情報改革として知られる事件が起こった。情報改革は、１つの出来事またはマシンというより広い見方の歴史的な展開を指すが、ディジタル電子コンピュータを超えた情報改革を表すデバイスは１つとして登場していない。コンピュータ・システムの発展こそが、まさに革命であったと言える。年ごとにコンピュータ・システムの成長は高速化し、より多くのデータをストアし、より多くの応用をユーザに提供するようになっている。
【０００３】
今日のコンピュータ・システムは、極めて複雑なマシンであり、一般に多数のサブ‐パーツまたはサブシステムを有し、そのそれぞれが部分的には独立した態様ではあるが、同時に異なる機能を協働して実行する。通常、システムは、１ないしは複数の中央処理ユニット（ＣＰＵ）を備え、それがシステムの心臓部を形成し、コンピュータ・プログラム内に含まれているインストラクションを実行する。インストラクションおよびそのほかの、ＣＰＵが実行するプログラムが必要とするデータはメモリ内にストアされており、しばしばそれが、多くの多様なコンポーネントを含み、かつ設計においては階層的であり、ベース・メモリまたはメイン・メモリおよび各種のキャッシュを１ないしは複数のレベルに含む。もう１つのレベルにおいては、データが、回転ディスク・ドライブ、テープ・ドライブ等の大容量ストレージ・デバイスにもストアされ、そこからデータの検索ならびにメモリへのロードが行われる。またシステムには、入力／出力コントローラ等の外部の世界との通信に必要となるハードウエア、それに取り付けられるキーボード、モニタ、プリンタ等のＩ／Ｏデバイス、およびほかのディジタル・システムとの通信のための外部通信デバイスも含まれている。内部通信バスおよびインターフェースは、各種のシステム・コンポーネント間におけるデータ通信のためのパスを提供するが、これもまたも多くのコンポーネントを含み、かつ階層的あるいはそのほかの設計に従って構成され得る。
【０００４】
多くの理由からコンピュータ・システムは、通常、複数のモジュラ・コンポーネントから物理的に構成され、そのそれぞれがほかの１ないしは複数のコンポーネントに対するあらかじめ定義済みのインターフェースを有している。システムの観点からは、モジュラ・コンポーネントをあらかじめ定義済みのインターフェースに適合する『ブラック・ボックス』として見ることができる。同一のあらかじめ定義済みのインターフェースに適合するあらゆるコンポーネントは、その内部的な構造と関わりなく、コンピュータ・システムの設計における現存するコンポーネントを置き換えることが可能である。このアプローチは、コンピュータ・システムの設計ならびにコンフィグレーションにおいて多くの柔軟性をもたらす。システムのほかのコンポーネントに影響を与えることなく、（同一インターフェースに適合させつつ）モジュラ・コンポーネントの内部設計を改良することによって、コンピュータ・システムの設計を向上させることが可能である。
【０００５】
コンピュータ・コンポーネントのモジュール化は、一般に、複数のレベルのいずれにおいても見ることができる。比較的低いレベルにおいては、半導体チップ上の個別のロジック・ゲートを、モジュラ・コンポーネントと考えることができる。チップ内の機能ユニット、すなわちプロセッサ内の加算器あるいはインストラクション・デコーダ等は、より高いレベルのモジュラ・コンポーネントである。全体のチップそのものも、さらに高いレベルのモジュラ・コンポーネントである。このチップは、一般に、そのほかのチップ、コネクタ、およびディスクリート・コンポーネントとともにプリント回路基板上にマウントされ、プリント回路基板アッセンブリは、モジュール化における別のレベルとなる。複数の回路基板またはそのほかのコンポーネントを、モジュール化におけるさらに高いレベルの機能ユニットとして構成することもできる。
【０００６】
モジュール化のいくつかのレベルにおいて、コンピュータ・システムの製造後に等価のコンポーネントを用いた物理的な交換を可能とするべくコンポーネントを設計することができる。すなわち、コンポーネントは、製造後の着脱用に設計された電気的コネクタ、クリップ、ねじ止め等を使用してシステム内の別のコンポーネントと結合されることになる。この種の物理的に交換可能なコンポーネントは、『現場交換可能ユニット』（ＦＲＵ）と呼ばれる。すべてのコンポーネントが正しい位置にソルダリングされて完成した電子回路基板アッセンブリが、しばしばそれ自体がＦＲＵとして設計されるが、集積回路チップについては、通常行われない。
【０００７】
この種の現場交換可能ユニットの使用は、単に、システムの製造後に瑕疵のあるコンポーネントを同一タイプの新しいコンポーネントと交換することを容易にするだけではない。現存するユニットに関するより新しい、あるいは強化されたバージョンのＦＲＵの置換によって現存する物理的なコンピュータ・システムの再コンフィグレーションまたはアップグレードも容易にする。たとえば、メモリ・カード（つまり、複数のメモリ・チップを備えた電子回路カード・アッセンブリ）が、同一のインターフェースに適合するが、より多くのメモリもしくはより高速なメモリを備えるか、あるいはそのほかの向上を伴う別のメモリ・カードを用いて交換されることも少なくない。それに加えて、コンピュータ・システムが未使用のソケットを伴って構成され、その未使用のソケットに追加のＦＲＵを取り付けることによる、その後のコンピュータ・システムのアップグレードのサポートが提供されることもある。汎用のソケットに取り付けられた複数のタイプのＦＲＵの使用は、基本的なコンピュータ・システム設計を、非常に多くのコンフィグレーションの組み合わせの１つに従って構成することを可能にする。
【０００８】
各種のオペレーティング・システムおよび診断機能の任意のサポートを行うために、概してシステムのどこかにコンピュータ・システムの物理的なコンフィグレーションに関する情報を維持しておく必要がある。初期のコンピュータ・システムにおいては、その種のコンフィグレーション情報が、しばしばシステム管理者によってマニュアル入力されていた。システムの進化に伴って、複雑化を続けるシステムに対処するため、および多くのシステムが習熟した常勤の管理者を有していないという事実からコンフィグレーション情報の収集および維持を行うタスクが格段に自動化されるようになった。コンフィグレーション、診断、およびそのほかの自動化された機能をサポートするためには、ＦＲＵ自体の中に、各ＦＲＵに関する自己識別および診断データを維持していることが望ましい。したがって、いくつかのコンピュータ・システム設計においては、各ＦＲＵが特定の必須コンポーネント・データを収めたオンボードの不揮発性データ・ストレージを備えている。この必須コンポーネント・データには、特に、デバイスのタイプ、シリアル番号、部品番号、バージョン番号、機能パラメータ（メモリ・カード上において利用可能なメモリの量等）等が含まれる。必須コンポーネント・データは、各種のシステム機能によって、コンポーネントの互換性の検証、ロー‐レベルのオペレーティング・システム機能のコンフィグレーション、システム障害の分離等の目的から使用されることがある。またオンボードの不揮発性データ・ストレージは、生成されたエラー・コードの履歴等の、より重要性の低いデータのストアに使用することもできる。
【０００９】
必須コンポーネント・データは、概して、システムが適正なオペレーションのためにそのデータを必要とし、かつそのデータのあらゆる改ざん（たとえ単一のビットでも）がオペレーションに深刻な結果をもたらす可能性を持つという意味において必須である。ほとんどの従来のメモリ・デバイスにおいては、ランダム・ビット・エラーは極めてまれである。しかしながら、ＦＲＵが過酷な輸送、保管、および取り扱いの条件を受けることがあるという事実は、ランダム・ビット・エラーの可能性を増大させる。必須データにおけるあらゆるエラーが許容不能であることから、必須データは、しばしばなんらかのデータ冗長形式、あるいはエラー訂正コード（ＥＣＣ）を使用して保護される。
【００１０】
ＥＣＣは、あらかじめ定義済みの長さおよびフォーマットのビットのセットであり、あらかじめ定義済みの長さのデータ・ビットのストリングにおける特定のエラーを検出し、訂正することができる。データをあらかじめ定義済みの長さのセグメントに分割し、既知のサイズならびにフォーマットのＥＣＣの対応するセグメントに加えることによって、任意のデータ・ストリングを単一ビット・エラーから保護することが可能になり、場合によっては多ビット・エラーを訂正することもできる。
【００１１】
ＥＣＣの要件の１つは、データ・ビットとＥＣＣのビットが区別可能でなければならないことから、データおよびＥＣＣセグメントが既知のあらかじめ定義済みのフォーマットを有していることとされる。これは、保護されるべきレコードが既知の、規則的な一定のサイズを有している場合に良好に機能する。残念ながら、必須コンポーネント・データは、本質的に多様となる傾向にある。必須コンポーネント・データ内の各レコードは、異なるサイズのものとなり得る。さらに、異なるタイプのＦＲＵが、異なる必須コンポーネント・パラメータを採用していることもある。同一タイプのＦＲＵのより新しいバージョンが、旧レベルのバージョンに含まれていなかった追加の必須コンポーネント・データ・レコードを含んでいることもあり、あるいは旧レベルのバージョンとは異なるサイズのデータ・レコードを含んでいることもある。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
データならびにＥＣＣの一定サイズのブロック内に必須コンポーネント・データをストアすることは可能であるが、このアプローチは、概してストレージ空間の無駄（パディングまたは重要度の低いデータの不必要な保護による）を招くか、あるいは必須コンポーネント・データのレコードの再定義に対する柔軟性を低減する。必須コンポーネント・データ等の特定のデータを、従来テクニックに比較してより柔軟な、空間効率の高い、あるいはそのほかの利点を有する保護されたフォーマットでストアすることが望ましい。
【課題を解決するための手段】
【００１３】
複数の可変長のレコードを有する可変長の一様でないデータが、ヘッダＥＣＣ、目次記述子、および目次ＥＣＣ記述子を包含する固定長のヘッダ、複数のエントリであって、それぞれがレコード記述子および対応するレコードＥＣＣ記述子を含む複数のエントリを包含する可変長の目次、目次内の複数のエントリに対応する複数の可変長のレコード、および、ＥＣＣ記述子に対応するオプションのＥＣＣとしてストアされる。
【００１４】
好ましい実施態様においては、現場交換可能ユニットに関する必須コンポーネント・データがＦＲＵのオンボード不揮発性メモリ内にストアされる。サービス・プロセッサもしくはそのほかのプロセッサが必須コンポーネント・データを読み出し、対応するＥＣＣを用いて各レコードの検証を行い、発見されたエラーをそれらのＥＣＣを用いて訂正する。有効な訂正済みデータは、コンフィグレーションならびに互換性検証の目的、故障診断、あるいはそのほかの目的でシステムに対する当該ＦＲＵの識別に使用される。
【００１５】
データをストアするためのこの柔軟なフォーマットは、ほかのレコードがＥＣＣを含むか否かとは独立に、各レコードがオプションでＥＣＣを含むことができる設計になっている（固定フォーマットであり、ＥＣＣを含んでいなければならないヘッダを除く）。これは、目次内に各レコードに関するそれぞれのＥＣＣ記述子を提供することによって達成される。各レコードは、ＥＣＣ記述子を有していなければならないが、当該記述子は、ヌルＥＣＣを指定することができる。好ましい実施態様においては、すべての必須データがＥＣＣによって保護されており、それには目次自体も含まれる。しかしながら、あまり重要度の高くないいくつかのデータを非保護とすること、つまり対応するＥＣＣを含ませないことも可能である。
【００１６】
本発明の好ましい実施態様に従ったデータ記録フォーマットは、異なる長さの一様でないデータ・レコードに、効率的かつ柔軟な態様で適合し、レコード・サイズの修正ならびに新しいレコードの追加よる、基礎をなす現場交換可能ユニットの向上されたバージョンのサポートを容易にする。
【００１７】
本発明の詳細は、その体系ならびに動作ともに、添付図面の参照によってもっともよく理解され、それらの図面においては、類似の参照番号が類似部分の参照に用いられている。
【発明を実施するための最良の形態】
【００１８】
図面を参照すると、複数の図を通して類似の番号が類似の部分を表しており、図１は、本発明の好ましい実施態様に従って特別にフォーマットされた必須コンポーネント・データを有する現場交換可能ユニットを使用するコンピュータ・システム１００の主要なハードウエア・コンポーネントを示したハイ‐レベルのブロック図である。図１に示されているシステム１００の主要なコンポーネントは、機能レベルごとに破線内にまとめられている。これらのコンポーネントは、１ないしは複数の中央処理ユニット（ＣＰＵ）１０１、メイン・メモリ１０２、サービス・プロセッサ１０３、端末インターフェース１０６、ストレージ・インターフェース１０７、通信インターフェース１０８、およびその他のインターフェース１０９を備え、そのすべてが１ないしは複数のバス１０５を介してコンポーネント間通信のために結合されている。
【００１９】
ＣＰＵ１０１は、１ないしは複数の汎用プログラマブル・プロセッサであり、メモリ１０２内にストアされているインストラクションを実行する。システム１００は、単一ＣＰＵもしくは複数ＣＰＵを含ものとすることができ、いずれの場合にも図１のＣＰＵ１０１によって集合的に表され、また１ないしは複数レベルのオンボード・キャッシュを含めることもできる。メモリ１０２は、データおよびプログラムをストアするためのランダム‐アクセス半導体メモリである。メモリ１０２は、概念的に単一のモノリシックなエンティティであり、しばしば、キャッシュならびにそのほかのメモリ・デバイスの階層内に配置されるものと理解されている。それに加えて、メモリ１０２は、各種のいわゆる非一様メモリ・アクセス（ＮＵＭＡ）コンピュータ・システム・アーキテクチャのいずれかにおける場合のように、特定のＣＰＵまたはＣＰＵのセットおよび特定のバスに関連付けされる部分に分割されることもある。
【００２０】
サービス・プロセッサ１０３は、システムの初期化、維持、およびそのほかのロー‐レベルの機能を行うために使用される専用機能ユニットである。概して言えば、ＣＰＵ１０１のようにこれがユーザ・アプリケーション・プログラムを実行することはない。好ましい実施態様においては、サービス・プロセッサ１０３が、ここで詳細に述べるように、システム１００内の各現場交換可能ユニット（ＦＲＵ）から必須コンポーネント・データの読み出しならびに検証を行う。好ましくは、このサービス・プロセッサは、コントロール・プログラム１１４の実行用にプログラマブル・プロセッサ（図示せず）および常駐メモリを備え、したがってそれ自体がコンピュータ内の小型コンピュータであると言える。しかしながら、必須コンポーネント・データの読み出しおよび検証をほかのシステム・コンポーネントによって実行することも可能であり、システム１００が専用のサービス・プロセッサを必ずしも備えている必要はない。
【００２１】
端末インターフェース１０６は、１ないしは複数のユーザ端末１２１Ａ〜Ｃ（包括的に１２１として参照する）の取り付けのための接続を提供し、各種の方法に従って実装することができる。多くの大型サーバ・コンピュータ・システム（メインフレーム）は、端末インターフェースＩ／Ｏプロセッサを介して複数の端末の直接取り付けをサポートしており、通常はそれが１ないしは複数の電子回路カードとなる。それに代えて端末インターフェース１０６が、端末１２１が取り付けられるローカル・エリア・ネットワークへの接続を提供することもある。このほかの各種の代替手段が可能である。データ・ストレージ・インターフェース１０７は、１ないしは複数のデータ・ストレージ・デバイス１２２Ａ〜Ｃ（包括的に１２２として参照する）に対するインターフェースを提供し、好ましくはこれらのストレージ・デバイスを回転磁気ハードディスク・ユニットとするが、そのほかのタイプのデータ・ストレージ・デバイスを使用することも可能である。通信インターフェース１０８は、システム１００からほかのディジタル・デバイスおよびコンピュータ・システムへ向かう１ないしは複数の通信パスを提供する。この種のパスには、たとえばインターネット接続、ローカル・エリア・ネットワーク、リモート・デバイス通信リンク、ワイヤレス接続その他を含めることができる。その他のデバイス・インターフェース１０９は、システム１００に備わるこのほかのタイプのデバイスおよびコンポーネント（図示せず）に対するインターフェースを提供する。これらには、プリンタ、ファクシミリ・マシン、磁気リーダ等のＩ／Ｏデバイス、あるいはまた、電源、スイッチ、冷却ファン等の補助サポート・システムを含めることができる。
【００２２】
バス１０５は、各種のシステム・コンポーネント間の通信パスを提供する。図１には、単一の概念的なバス・エンティティ１０５によって代表されているが、一般的なコンピュータ・システムは複数のバスを有することができ、階層内ポイント‐ツー‐ポイント・リンク、星形または網型コンフィグレーション、多階層バス、並列および冗長パスといった複雑なトポロジで配置されることもしばしばであり、アドレスまたはステータス情報等の特定の情報の通信のために個別のバスが存在し得ることを理解されよう。好ましい実施態様においては、サービス・プロセッサが備えられているＦＲＵからシステム内の別のＦＲＵへ特殊なバスが走り、正常システム・オペレーションの間におけるデータ転送のために使用される高速データ・バスと独立してサービス・プロセッサが各種の機能を実行することを可能にする。しかしながらその種の特殊なバスは、必ずしも必要とされるものではない。
【００２３】
物理的に、主要な機能ユニットは、１ないしは複数の現場交換可能ユニットから構成される。その種の現場交換可能ユニットは、電子回路カード・アッセンブリとなることも少なくない。しかしながらＦＲＵを必ずしも電子回路カード・アッセンブリとする必要はなく、それに代えてディスク・ドライブ・ストレージ・デバイス１２２、端末１２１、電源その他とすることもできる。それに加えて、単一のＦＲＵが、それ自体の中に１ないしは複数のＦＲＵを有することもある。より大規模なシステムについては、ＣＰＵ１０１またはメモリ１０２といった単一の主要機能コンポーネントが、しばしば電子回路カード・アッセンブリ形式の現場交換可能ユニットを複数備えることになるが、それに代えて単一のＦＲＵ内に１を超える数の主要機能コンポーネントを常駐させることも可能である。図１においては、ＣＰＵ１０１が２つのＦＲＵ１１１Ａ〜Ｂを含むものとして、メモリ１０２が６つのＦＲＵ１１２Ａ〜１１２Ｆを含むものとして、サービス・プロセッサ１０３が単一のＦＲＵ１１３を含むものとして、バス１０５が３つのＦＲＵ１１５Ａ〜Ｃを含むものとして、端末インターフェース１０６が３つのＦＲＵ１１６Ａ〜１１６Ｃを含むものとして、ストレージ・インターフェース１０７が２つのＦＲＵ１１７Ａ〜１１７Ｂを含むものとして、通信インターフェース１０８が２つのＦＲＵ１１８Ａ〜Ｂを含むものとして、さらにその他のデバイス・インターフェース１０９が２つのＦＲＵ１１９Ａ〜Ｂを含むものとしてそれぞれ表されている。
【００２４】
ここで理解される必要があるが、図１には一例のシステム１００の代表的な主要コンポーネントをハイ‐レベルで図示することが意図されており、個別のコンポーネントは図１に表されるよりはるかに複雑となり、この種の機能ユニットならびにＦＲＵの数、タイプ、およびコンフィグレーションは極めて多様となり得る。さらにここで理解されるであろうが、図１に示されているコンポーネントの必ずしもすべてが特定のコンピュータ・システム内に存在するとは限らず、ここに示されている以外のコンポーネントが存在することもあり得る。システム１００は、複数端末を有するマルチ‐ユーザ・システムとして図示されているが、それに代えてシステム１００を、通常は単一のユーザ・ディスプレイおよびキーボード入力だけを備える単一ユーザ・システムとすることも可能である。
【００２５】
図２は、好ましい実施態様に従って特別にフォーマットされた必須コンポーネント・データの使用に関して示した代表的な現場交換可能ユニット（ＦＲＵ）２００の簡略化した表現である。図２に示されているＦＲＵ２００は、電子回路カード・アッセンブリである。しかしながらここで理解される必要があるが、好ましい実施態様に従ったＦＲＵを、電子回路カード・アッセンブリ以外のものとすることは可能である。回路カード・アッセンブリは、薄く、平たい部材であり、電気的導体ワイヤのパターンをファイバガラス等の絶縁基材上に備えている。通常、複雑な回路カードは、導体パターンのレイヤを複数有しており、それらは絶縁レイヤによって分離されてサンドウィッチ構造を構成している。電子コンポーネントは、回路カードの片面もしくは両面にマウントされる。回路カードの構成およびそれに対するコンポーネントのマウントについては、周知の、あるいは将来において開発される各種の適切なテクニックのいずれを使用してもよい。
【００２６】
ＦＲＵ２００にマウントされているコンポーネントには、各種ある任意の集積回路モジュールをはじめ、抵抗、キャパシタ、ダイオード等（図示せず）のディスクリート・コンポーネントを含めることができる。ＦＲＵ２００は、少なくとも１つの差し込み可能なコネクタ２０１を有し、それが相補コネクタと嵌合して電気的接続を形成し、それによってシステム１００内のほかの回路カードもしくはほかのコンポーネントとの通信が得られる。さらに図２には、コネクタ２０１を通る信号の送受を行う電子インターフェース・モジュール２０３、およびＦＲＵ２００に関連付けされたいくつかの機能を実行する複数の機能モジュール２０５Ａ〜Ｈが示されている。たとえば機能モジュール２０５Ａ〜Ｈは、メモリ・カードのメモリ・モジュールとすることができる。なお機能モジュール２０５Ａ〜Ｈは、必ずしもその必要はないが、同一のものとことができるが。
【００２７】
ＦＲＵ２００は、さらにこのＦＲＵに関連付けされている必須コンポーネント・データをストアするための不揮発性メモリ２０２を備えている。不揮発性メモリ２０２は、ＦＲＵに対する電源の供給がない場合においてもデータをストアするものであれば、任意のものとすることができる。好ましい実施態様においては、不揮発性メモリ２０２が『Ｉ２Ｃ』シリアルＥＰＲＯＭ半導体チップ・モジュールになる。しかしながらメモリ２０２を別のタイプの不揮発性メモリとすることは可能であり、たとえば読み出し専用メモリまたは紫外線消去可能メモリ、さらには磁気メモリ等の半導体メモリ以外のメモリとすることもできる。特に、これらに代えてメモリ２０２を『スマート・チップ』とすることができる。メモリ２０２からのデータの読み出しはまれに行われるだけであり、概してその読み出しも大きな塊、または全体で行われることから、メモリ２０２をランダム・アクセス・メモリとする必要はない。
【００２８】
図２は、一般的なＦＲＵ（この場合は回路カード・アッセンブリ）のハイ‐レベル表現と指定とされており、このＦＲＵは、８つの機能モジュール２０５Ａ〜Ｈ、１つのインターフェース２０３、１つの不揮発性メモリ２０３、および１つのコネクタ２０１を備えている。しかしながら、ここでは、本発明に従ったＦＲＵ２００上にマウントされるコンポーネントの数ならびにタイプが多様となり得ることを理解されよう。
【００２９】
本発明の好ましい実施態様によれば、必須コンポーネント・データを含む各ＦＲＵに関連する特定のデータが、ＦＲＵの不揮発性メモリ２０２内に、可変数のレコード、可変長のレコード、データのＥＣＣ保護を選択的ベースでサポートする柔軟なフォーマットを用いてストアされている。
【００３０】
図３は、好ましい実施態様に従って必須コンポーネント・データをメモリ２０２内にストアするときに用いられる柔軟なフォーマットを概括した説明図である。この概括されたフォーマットは、５つの部分から構成される。すなわち、ヘッダ３０１、目次３０２、１ないしは複数のデータ・レコード３０３、オプションの目次ＥＣＣ３０４、および１ないしは複数のオプションのデータ・レコードＥＣＣ３０５である。
【００３１】
ヘッダ３０１内の目次記述子３０７は、目次３０２のロケーションを識別する（図３においては矢印によって表されている）。目次ＥＣＣ記述子３０８は、目次用のＥＣＣ３０４が存在するか否かを識別し、存在する場合には、そのロケーションを識別する（矢印によって表されている）。目次は、複数のレコード・インデクス・エントリ３０９を含み、そのそれぞれは、対応するデータ・レコード３０３のロケーションを識別するレコード記述子３１０（矢印によって表されている）、およびそれに対応する、データ・レコード用のＥＣＣ３０５が存在する場合にそのロケーションを識別するレコードＥＣＣ記述子３１１を含む。つまり、ヘッダ３０１のロケーションおよびフォーマットを知るだけで、必須コンポーネント・データのすべてのコンポーネント・レコードのロケーションを決定することが可能になる。
【００３２】
図４は、好ましい実施態様に従ったヘッダ３０１のフォーマットをさらに詳細に示している。ヘッダ３０１は、全体の長さおよびフォーマットが固定されている。これには、ヘッダＥＣＣ３０６、目次記述子３０７、および目次ＥＣＣ記述子３０８が含まれる。ヘッダＥＣＣ３０６は、ヘッダ成分、すなわち目次記述子３０７および目次ＥＣＣ記述子３０８に関するにエラー訂正コードを含んでいる。ヘッダＥＣＣ３０６は、ヘッダが既知のフォーマットを有していなければならないことから、ほかのすべてのＥＣＣ成分がオプションであるにもかかわらず必要になる。これらのヘッダ・フィールドのすべては、固定の長さおよびヘッダ３０１内のロケーションを有している。
【００３３】
目次記述子３０７は、メモリ２０２内のいずれのデータが目次を構成するかについての決定を行う充分な情報を有している。好ましい実施態様においては目次記述子がレコード名フィールド４０２、レコード・タイプ・フィールド４０３、オフセット４０４、および長さ４０５を含む。長さ４０５は、バイト数で表した目次の長さであり、オフセット４０４は、メモリ２０２内におけるその目次の開始ロケーションに対するポインタである（好ましくは、ヘッダの開始からのオフセットとして表される）。Ｉ２ＣシリアルＥＰＲＯＭメモリおよびそのほかの多くのタイプの不揮発性メモリについては、オフセット４０４内の情報および長さ４０５があれば、目次の識別に充分である。好ましい実施態様においては、目次記述子が名前フィールド４０２も含み、それが目次レコードの名前を含んでいる。このフィールドは、ヘッダ内に厳密に必要とされているものではないが、追加の柔軟性ならびに冗長性のために含められている。特定のスマート・チップ・メモリは、レコード名に従ってデータへアクセスし、したがって固定されたヘッダ・フォーマット内にレコード名フィールドを備えておくことは、その種の代替メモリ・テクノロジがＦＲＵ内に使用された場合における目次へのアクセスのための代替方法を提供する。レコード・タイプを提供するレコード・タイプ・フィールド４０３もまた、特定のスマート・チップ応用において使用される。
【００３４】
目次ＥＣＣ記述子３０８は、目次に関するＥＣＣがある場合には、メモリ２０２内のいずれのデータがそれを構成するかについての決定を行う充分な情報を有している。好ましい実施態様においては、ＴＯＣ・ＥＣＣ記述子３０８が、オフセット・フィールド４０６および長さフィールド４０７を含んでおり、それらが、ＴＯＣ記述子のオフセット４０４および長さ４０５と類似の態様で機能する。
【００３５】
好ましい実施態様においては、目次用のＥＣＣがない場合に、ＴＯＣ・ＥＣＣ長さフィールド４０７がゼロを含む。この場合に、オフセット・フィールド４０６はＥＣＣのロケーションの決定に使用されずに、考えられる任意のものを含むことができる（ただし長さフィールド４０７は、ヘッダ内のあらかじめ定義済みのロケーションに現れなければならない）。ここで理解されることになろうが、これに代えてほかの各種の方法のいずれかを用いてＥＣＣの不在を示すことも可能であり、たとえばオフセット・フィールド内の特種文字、特殊なフラグ・フィールド、オフセット・フィールド内のゼロもしくは特殊な予約アドレス等が挙げられる。
【００３６】
図５は、好ましい実施態様に従った目次レコード３０２のフォーマットを詳細に示している。目次３０２は、区切り文字５０１から開始し、それにレコードの長さフィールド５０３（ヘッダの長さフィールド４０５の情報を繰り返す）が続く。この情報の後に、オプションの１ないしは複数の修飾子５０４が続くが、好ましくはそれをキーワード、パラメータに関する長さ、およびパラメータ・データの順組の形式とする。たとえば順組に、名前を示すキーワード、４バイト等の名前の長さ、および目次のレコード名（名前フィールド４０２の情報を繰り返す）を含ませることができる。
【００３７】
実際の目次エントリもまた、順組の形式になる。より具体的には、特別なキーワードおよび長さ５０５が目次インデクス・エントリの開始ならびにエントリの長さを識別する。これに『パラメータ・データ』が続くが、この場合においては、それが１ないしは複数のレコード・インデクス・エントリ３０９であり、各レコード・インデクス・エントリ３０９は、必須コンポーネント・データのデータ・レコード部分３０３、およびデータ・レコード部分３０５に関するオプションのＥＣＣに対応している。インデクス・エントリ３０９の数（および相応じたデータ・レコード３０３の数）は、アーキテクチャ的に固定されてなく、したがってサービス・プロセッサもしくはそのほかのエンティティによる必須コンポーネント・データの読み出しに先行して既知になることはない。この種のエントリの数は、順組の長さ部分（開始文字列５０５内）から決定される。
【００３８】
各インデクス・エントリは、データ・レコード記述子３１０およびそのデータ・レコードに関するＥＣＣ記述子部分３１１を含む。レコード記述子３１０は、メモリ２０２内のいずれのデータが対応するレコード３０３を構成するかについての決定を行う充分な情報を含んでいる。好ましい実施態様においては、レコード記述子がレコード名フィールド５１１、レコード・タイプ・フィールド５１２、オフセット・フィールド５１３、および長さフィールド５１４を有する。オフセット・フィールド５１３は、対応するレコード３０３の開始アドレスを含み、それがヘッダの開始からのオフセットとして表される。長さフィールド５１４には、対応するレコード３０３の長さが含まれる。Ｉ２Ｃメモリが使用されることを前提とすると、オフセット５１３および長さ５１４があれば、協働してメモリ２０２内のいずれのバイトが対応するレコード３０３を構成するかについての決定に充分である。レコード名５１１およびタイプ５１２は、そのレコードに関する追加の識別データを提供し、スマート・チップ内にストアされているデータのアクセスにオフセットに代えて名前が使用されるスマート・チップ・メモリ実装においては、それらを使用することができる。
【００３９】
レコードＥＣＣ記述子３１１は、対応するレコードに関するＥＣＣがある場合に、メモリ２０２内のいずれのデータがそれを構成するかについての決定を行う充分な情報を有している。好ましい実施態様においては、レコードＥＣＣ記述子３１１がオフセット・フィールド５１５および長さフィールド５１６を含んでおり、それらがレコード記述子のオフセット５１３および長さ５１４と類似の態様で機能する。レコード用のＥＣＣがない場合には、レコードＥＣＣの長さフィールド５１６がゼロにセットされ、オフセット・フィールド５１５が定義されない（任意のデータに使用できる）。
【００４０】
レコード・インデクス・エントリ３０９の後には、パディング５０６が続き、さらに終了区切り文字５０２が続く。パディング５０６もまた順組の形式であり、特殊なキーワードならびに長さ、およびダミー・データを使用する。パディング５０６は、目次レコード３０２をワードの境界で終了させるために含められる。
【００４１】
目次の各部分を順組としてフォーマットとすることは、前述したように、目次への追加のデータの追加を可能にするだけでなく、インデクス・エントリのフォーマット自体における、より大きな柔軟性をもたらす。つまり、将来のＦＲＵのバージョンにおいて、各インデクス・エントリ３０９への情報の追加が望ましいとされた場合には、インデクスの開始５０５を示す新しいキーワードを定義することが可能であり、このことは、個々のインデクス・エントリ用の異なるフォーマットを意味することになる。当然ではあるが、サービス・プロセッサは、新しい方はもとより、古いＦＲＵ内の必須コンポーネント・データを読み出すために、古いキーワードおよび新しいキーワードをともに認識できなければならない。それぞれの新しいＦＲＵは、一方は古いフォーマット、他方は新しいフォーマットを使用した、二重のインデクス・エントリを持つことができる。それにより任意の旧レベルのサービス・プロセッサは、古いフォーマットを読み出すことが可能になり（認識できない新しいキーワードを無視する）、新しいサービス・プロセッサは、両方のキーワードを認識するが、古い方を無視する。
【００４２】
レコード３０３には、アーキテクチャ的に固定されたフォーマットがない。レコードの長さは、レコード記述子３１０内の長さフィールド５１４によって指定される。各レコードの開始および終了は、区切り文字によって行われるが、レコード内のデータのフォーマットに関するアーキテクチャ上の制限はない。レコード内におけるデータのフォーマットは、レコード名によって決定される。すなわち、レコードの名前がそれにストアされているデータのタイプならびにそのフォーマットを定義する。新しいレコード名を定義することによって、ＦＲＵの将来的なバージョンに新しいフォーマットおよび新しい情報を追加することが可能である。
【００４３】
図３に示されている必須コンポーネント・データの各種の部分は、隣接していることもあれば隣接していないこともあり、また図３の図示とは異なる順序に従って現れることもあるが、好ましい実施態様のフォーマットは、目次自体が隣接してメモリ内に常駐すること、および各個別のレコード自体が隣接してメモリ内に常駐することを期待する。ここで理解されることになろうが、図３には１つのデータレコード３０３および１つのデータ・レコードＥＣＣだけが図示されているが、その種のレコードならびにＥＣＣの実際の数は多様となり得る。
【００４４】
ＦＲＵ内の必須コンポーネント・データは、各種の目的に使用することができる。概して言えば、必須コンポーネント・データはＦＲＵおよびシステムに対するその特性を識別する。データが不揮発性メモリ２０２内にストアされることから、ＦＲＵがシステムから電力を受けない場合、さらにＦＲＵがいずれのシステムにも取り付けられていない場合であってもそのデータがＦＲＵ内に残る。ＦＲＵの製造時に、特定の決定的な必須コンポーネント・データを不揮発性メモリ２０２内に書き込むことが予測される。その後、いくつかのデータを追加することもオプションとして可能である。具体的には、ＦＲＵのタイプを識別するデータ（たとえば、メモリ・カード、プロセッサ・カード等）、基本的な動作パラメータ（たとえば、メモリ・カードの場合であればカード上のメモリの量）、シリアル番号、バージョンまたはレベル等の比較的永続するデータが、製造時にＦＲＵに書き込まれることになる。メンテナンス、保証およびその他の用途、たとえばエラー統計、パワー‐オン時間数等に関する現場履歴データについては、コンピュータ・システム内に取り付けられた後におけるＦＲＵへの書き込みおよび定期的な更新を行うことができる。
【００４５】
ＦＲＵ２００がコンピュータ・システム１００内に取り付けられると、各種トリガ・イベントのいずれかの発生に応答してサービス・プロセッサ１０３のコントロール・プログラムがメモリ２０２内の必須コンポーネント・データを読み出す。好ましくは、サービス・プロセッサ１０３が、パワー‐アップ時のシステムの初期化、あるいは再初期化コマンドもしくは再初期化を強制するそのほかの条件に必ず応答してシステム内のすべてのＦＲＵの必須コンポーネント・データを読み出す。それに加えてサービス・プロセッサは、システム・コンフィグレーションに変更があったとき（それが再初期化をトリガするか否かによらず）、たとえばシステムにＦＲＵが追加された場合には必ず必須コンポーネント・データを読み出す。そのほかの、特定のエラー条件等の各種条件が必須コンポーネント・データの読み出しをトリガすることも考えられる。好ましい実施態様においては、必須コンポーネント・データがサービス・プロセッサ上において実行されるコントロール・プログラムによって読み出されているが、ＣＰＵの１つ上において実行される類似のプログラムによって、あるいはそのほかのシステム・コンポーネントによって読み出されることも可能である。
【００４６】
サービス・プロセッサは、任意の各種目的に対して必須コンポーネント・データを使用することができるが、特に、システムの自動コンフィグレーションのために使用される。各ＦＲＵは、実際上それ独自のデバイス識別ならびに重要な動作パラメータを、人的介入を必要とせずにサービス・プロセッサにレポートする。このデータから、サービス・プロセッサは、システムのレコードを構築し、それに従って特定のロー‐レベルのシステム動作パラメータを構成することができる。たとえば、サービス・プロセッサは、使用可能なプロセッサの数ならびにタイプ（したがって、合計の処理容量の測度）、使用可能なメイン・メモリのサイズ、バスおよび特定のＩ／Ｏデバイスの数等を決定することができる。
【００４７】
図６および７（以下においては集合的に図６と呼ぶ）は、ハイ‐レベルのフローチャートであり、好ましい実施態様に従ってサービス・プロセッサのコントロール・プログラムによって実行されるＦＲＵからの必須コンポーネント・データの読み出しおよび解釈のプロセスを示している。図６は、単一ＦＲＵ内のデータを読み出すプロセスを表しており、ここで理解されようが、好ましい実施態様においては、サービス・プロセッサが、通常、システム・コンフィグレーションもしくは初期化プロセスの一部としてすべてのＦＲＵから必須コンポーネント・データを読み出す。
【００４８】
好ましい実施態様においては、デコーディングのために不揮発性メモリ２０２の全体がサービス・プロセッサ内に読み込まれる（ステップ６０１）。Ｉ２ＣＥＰＲＯＭがシリアル・アクセスを使用することから、この方法が用いられる。使用されるメモリ・テクノロジに応じ、それに代えてメモリの大きなブロックもしくは個別のレコードを必要に応じて読み出すことも可能である。特に必須コンポーネント・データのストアにスマート・チップが使用される場合には、スマート・チップに対してレコード名を指定することによってデータを読み出す、一度に１つのレコードの読み出しが行われる傾向がある。その場合には、オペレーションのシーケンスが図６に示されているものからわずかに変化することを理解されよう。
【００４９】
この時点においてサービス・プロセッサには、データ・ストリームにおけるヘッダ３０１のロケーションおよびフォーマットだけが既知となっている。サービス・プロセッサは、ヘッダＥＣＣ３０６をデータ・ストリームから抽出し、ヘッダの内容を検証し、必要であればヘッダＥＣＣ３０６を使用してヘッダの内容を訂正する（ステップ６０２）。
【００５０】
必要な訂正の後に、ヘッダが有効であると決定されると、ステップ６０３から『Ｙ』分岐が選択される。その場合にサービス・プロセッサは、ヘッダから目次記述子の情報３０７ならびに目次ＥＣＣ記述子３０８を抽出し、それによって目次のロケーションならびに長さ、およびそれに関連付けされているＥＣＣを決定する（ステップ６０４）。ヘッダが有効でない場合には、ステップ６０３から『Ｎ』分岐が選択され、ステップ６１８において適切なアクションが取られる。
【００５１】
目次ＥＣＣ記述子が目次に関するＥＣＣを指定している（つまり長さフィールド４０７がゼロでない）場合にはステップ６０５から『Ｙ』分岐が選択される。その場合にサービス・プロセッサは、メモリ２０２から読み出したデータ・ストリームから、目次ＥＣＣ記述子３０８によって示されたロケーションにおいて目次ＥＣＣ３０４を抽出する。目次記述子３０７は、目次３０２のロケーションを示す。その後このＴＯＣ・ＥＣＣ３０４が使用されて目次３０２の検証が行われ、エラーがあれば必要に応じて目次ＥＣＣ３０４を使用して訂正する（ステップ６０６）。
【００５２】
必要な訂正の後に、目次３０２が有効であると決定されると、ステップ６０７から『Ｙ』分岐が選択され、ステップ６０８における目次の処理へ進む。目次が有効でなかった場合には、ステップ６０７から『Ｎ』分岐が選択され、ステップ６１８において適切なアクションが取られる。
【００５３】
ステップ６０５においてＴＯＣ・ＥＣＣ記述子が、ＴＯＣ・ＥＣＣを指定していない場合には（長さフィールド４０７がゼロにセットされている場合）ステップ６０５から『Ｎ』分岐が選択され、ステップ６０６ならびに６０７がバイパスされる。
【００５４】
目次の識別ならびに検証が完了すると、サービス・プロセッサは、目次の個別の成分を処理する。まず、長さフィールド５０３ならびにそのほかの修飾子５０４、およびインデクス・エントリ５０５の開始ならびに長さを識別する（ステップ６０８）。その後、各種のインデクス・エントリが、それぞれの対応するレコードとともに個別に識別される。
【００５５】
次のインデクス・エントリ３０９が、目次から選択される（ステップ６０９）。対応するレコード（レコードＮとして示す）に関するレコード記述子３１０、およびレコードＮのＥＣＣ記述子３１１が抽出されて、レコードＮのロケーションならびにそのＥＣＣが決定される（ステップ６１０）。レコードＥＣＣ記述子３１１が、対応するレコード用のＥＣＣが存在することを示している場合には（つまり長さフィールド５１６がゼロでない場合）、ステップ６１１から『Ｙ』分岐が選択される。その場合にサービス・プロセッサは、メモリ２０２から読み出したデータ・ストリームから、レコードＮのＥＣＣ記述子３１１によって示されたロケーションにおいてレコードＮのＥＣＣ３０５を抽出する。レコードＮの記述子３１０（より詳細には、オフセット５１３および長さ５１４）は、レコードＮ３０３のロケーションを示す。その後レコードＮのＥＣＣ３０５が使用されて、対応するレコードＮ３０３の検証が行われ、エラーがあれば必要に応じてレコードＮのＥＣＣを使用した訂正が行われる（ステップ６１２）。
【００５６】
必要な訂正の後に、レコードＮ３０３が有効であると決定されると、ステップ６１３から『Ｙ』分岐が選択され、ステップ６１５における対応するレコードの処理へ進む。レコードＮが有効でなかった場合には、ステップ６１３から『Ｎ』分岐が選択され、ステップ６１４、６１６および６１８において適切なアクションが取られる。
【００５７】
ステップ６１１においてレコードＮのＥＣＣ記述子が、対応するレコード用のＥＣＣを指定していない場合には（長さフィールド５１６がゼロにセットされている場合）、ステップ６１１から『Ｎ』分岐が選択され、ステップ６１２ならびに６１３がバイパスされる。
【００５８】
レコードＮが有効であるか（ステップ６１３から『Ｙ』分岐を選択する場合）、あるいはＥＣＣをチェックしない場合（ステップ６１１から『Ｎ』分岐を選択する場合）においては、サービス・プロセッサがレコードＮ内のデータは適正であると仮定し、相応じてそのデータを処理する（ステップ６１５）。データがどのように処理されるかについては、レコードの性質に依存する。たとえば、レコードからのデータが、使用中のコンフィグレーション・テーブルに追加されて、コンピュータ・システム１００のモデルが構築されるといったことが考えられる。
【００５９】
目次３０２内にまだインデクス・エントリ３０９が残っている場合には、ステップ６１７から『Ｙ』分岐が選択されて、次のエントリが選択される。すべてのエントリの処理が完了すると、ステップ６１７から『Ｎ』分岐が選択され、ＦＲＵの必須コンポーネント・データの読み取りを終了する。
【００６０】
ステップ６１３において、レコードＮが無効データを含むと決定された場合には、『Ｎ』分岐が選択されて、ステップ６１４に進む。その場合にサービス・プロセッサは、無効データの重要性を決定する。特定のタイプの必須コンポーネント・データは、システムの動作に非常に重要であり、そのデータがない場合にはＦＲＵを使用することが不可能になる。たとえば、ＦＲＵデバイスのタイプを定義するレコードは、メモリ・カードとプロセッサの間の差をシステムが見極めなければならないことから、概して必要不可欠なものとなる。そのほかの、シリアル番号等の情報は、システムの動作にとってそれほど決定的ではない（ただし、法的もしくはライセンス上の理由から、その種のデバイスのディセーブルが決定されることはある）。さらに別の情報がシステムの動作に有用となることもあるが、ある程度まで避けることが可能である。たとえば、メモリ・カードのメモリ・アクセス速度を定義するレコードをシステムが使用して、より高速のメモリ・カードをより重要なデータに対して使用するように、またはカードの速度を使用してプロセッサの速度を制限するように、あるいはそのほかの方法に従ってメモリのコンフィグレーションを行うことができる。その場合においては、必須コンポーネント・データから無効レコードに関して可能性のあるもっとも保守的な仮定が行われたとしてもシステムは機能する。
【００６１】
無効レコードが必要不可欠でないデータを含んでいた場合には、ステップ６１４から『Ｎ』分岐が選択されて、サービス・プロセッサが無効なレコードＮのデータの報告もしくは回復を行う（ステップ６１６）。この種のステップは、パラメータの喪失に関する最悪例仮定を行うか、かつ／またはシステム・オペレータに対してエラー・メッセージの生成を行うものとすることができる。その後サービス・プロセッサは、ステップ６１７に進み、処理の必要なインデクス・エントリがまだ残っているか否かを決定する。
【００６２】
ステップ６１４において、無効レコードが必要不可欠なデータを含んでいた場合、またはステップ６０３もしくは６０７から『Ｎ』分岐が選択された場合には、ＦＲＵの必須コンポーネント・データは使用不能であると見なされる。その場合にサービス・プロセッサは、エラーを阻止するために必要なアクションを行う（ステップ６１８）。概してこれは、そのＦＲＵをディセーブルし、適切なエラー・メッセージをシステム・オペレータに対して生成することを意味する。
【００６３】
概して言えば、例示した本発明の実施態様の実装のために実行されるルーチンは、オペレーティング・システムもしくは特定のアプリケーション、プログラム、オブジェクト、サービス・プロセッサ等の特殊なデバイス内のモジュールも含めたモジュールまたはインストラクションのシーケンスの一部として実装されるか否かにかかわらず、ここでは『プログラム』もしくは『コントロール・プログラム』と呼んでいる。これらのプログラムは、通常、本発明と無矛盾のコンピュータ・システムにおいて、デバイスもしくはシステム内の１ないしは複数のプロセッサによって読み出され、実行されたときに、本発明の各種側面を具体化するステップの実行もしくはエレメントの生成に必要なステップをそれらのデバイスもしくはシステムに実行させるインストラクションを含んでいる。さらに、本発明は、以上ならびに以下において完全に機能的なコンピュータ・システムに関連して述べられているが、本発明の各種実施態様は、各種形式のプログラム・プロダクトとして配布可能であり、本発明は、実際の配布の実施に使用される特定の信号担持メディアのタイプとは無関係に適用できる。信号担持メディアの例としては、限定を意図するわけではないが、揮発性ならびに不揮発性メモリ・デバイス、フレキシブル・ディスク、ハードディスク・ドライブ、ＣＤ‐ＲＯＭ、ＤＶＤ、磁気テープ等の記録可能タイプのメディア、およびワイヤレス通信リンクを含むディジタルならびにアナログ通信リンク等の伝送タイプのメディアが挙げられる。図１には、信号担持メディアの例として、システム・メモリ１０２、コントロール・プログラム・メモリ１１４、およびデータ・ストレージ・デバイス１２２が示されており、図２には、不揮発性メモリ２０２が示されている。
【００６４】
これまで説明してきたように、目次ＥＣＣ用にゼロの長さを指定し、実質的に目次に関するＥＣＣの不在を示すことが可能である。目次が保護されていない場合に、データ・レコードの保護にほとんど意味がないことから、この特徴に疑問を持たれることもあろう。ＥＣＣを指定しなくてよいこと（必ず必要となるヘッダＥＣＣ３０６を除く）は、ＥＣＣが望ましいとされるメモリ・テクノロジ、およびそれらが不必要とされるメモリ・テクノロジに対して同一のフォーマットを使用することを可能にする。特定のメモリ・テクノロジは、組み込み冗長性を有していることがあり、明示的なＥＣＣが不要になるか、あるいはＥＣＣを不要としても本質的に信頼できると見なされる。同一の共通フォーマットによりゼロ長のＥＣＣの指定を可能にすることによって、サービス・プロセッサのコントロール・プログラム内における単一の必須コンポーネント解釈ルーチンを、不揮発性メモリ２０２に使用されるメモリ・テクノロジにかかわらず、すべてのＦＲＵに使用することが可能になる。それに加えて、すでに説明したように、一部のレコードをＥＣＣを用いて保護し、ほかを保護しないことも可能である。この特徴は、いくつかのデータがあまり重要でないと考えられる場合に有用となろう。
【００６５】
好ましい実施態様においては、『記述子』が、名前、タイプ、長さ、およびオフセットといった特定のフィールド成分を有している。概して言えば、『記述子』は、不揮発性メモリのいずれのバイトが対応するレコードを構成するかについて決定するあらかじめ定義済みのフォーマットに従った任意のデータとし得ることを理解される必要がある。好ましい実施態様に使用される記述子データの変形の例を示せば、限定を意図するわけではないが次のようなものがある。すなわち、開始アドレスおよび終了アドレス、開始アドレスのみ（たとえば、すべてのレコードが隣接している場合には、次のレコードの開始が現在のレコードの終了を示す）、名前フィールドのみ（スマート・チップもしくは類似の応用の場合）、等である。
【００６６】
以上、特定の変形とともに本発明の特定の実施態様について説明してきたが、当業者にあっては、形式ならびに詳細における追加の変形が、特許請求の範囲から逸脱することなく可能であることを認識されよう。
【００６７】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００６８】
（１）ディジタル・データ処理デバイスのための現場交換可能ユニットであって、
前記現場交換可能ユニットに関連付けされた機能を実行するための少なくとも１つの機能コンポーネント、および、
不揮発性メモリを備え、前記不揮発性メモリが、
（ａ）あらかじめ定義済みの長さのヘッダであって、前記ヘッダ内の第１のあらかじめ定義済みのロケーションにヘッダＥＣＣを、前記ヘッダ内の第２のあらかじめ定義済みのロケーションに目次記述子を、前記ヘッダ内の第３のあらかじめ定義済みのロケーションに目次ＥＣＣ記述子をそれぞれ包含しているヘッダ、
（ｂ）１ないしは複数の前記エントリを包含する目次であり、各前記エントリがそれぞれのデータ・レコード記述子およびそれぞれの対応するデータ・レコードＥＣＣ記述子を包含しているとする目次であって、前記目次記述子によって定義されるロケーションを有している目次、
（ｃ）１ないしは複数のデータ・レコードであって、各データ・レコードは前記目次内の前記１ないしは複数のエントリのそれぞれのエントリに対応しており、かつ各データ・レコードは前記目次内の前記対応するそれぞれのエントリ内の前記データ・レコード記述子によって定義されるロケーションを有している１ないしは複数のデータ・レコード、
（ｄ）前記目次ＥＣＣ記述子がヌルでないＥＣＣを指定している場合には、目次ＥＣＣであって、前記目次ＥＣＣ記述子によって定義されるロケーションを有している目次ＥＣＣ、および、
（ｅ）前記データ・レコードＥＣＣ記述子のいずれかがヌルでないＥＣＣを指定している場合には、ヌルでないＥＣＣを指定するデータ・レコードＥＣＣ記述子を有する前記目次内のエントリに対応する各データ・レコードに関するそれぞれのデータ・レコードＥＣＣであって、それぞれは前記対応するデータ・レコードＥＣＣ記述子によって定義されるロケーションを有しているデータ・レコードＥＣＣ、
をストアしている、現場交換可能ユニット。
（２）前記不揮発性メモリが、シリアルＥＰＲＯＭデバイスである、上記（１）に記載の現場交換可能ユニット。
（３）前記不揮発性メモリが、スマート・チップ・デバイスである、上記（１）に記載の現場交換可能ユニット。
（４）前記目次記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記目次の開始アドレスを指定し、前記長さフィールドは、前記目次の長さを指定し、かつ、
前記目次ＥＣＣ記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記目次ＥＣＣの開始アドレスを指定し、前記長さフィールドは、前記目次ＥＣＣの長さを指定する、上記（１）に記載の現場交換可能ユニット。
（５）前記目次ＥＣＣ記述子内の前記長さフィールドがゼロの長さを指定している場合には、前記目次ＥＣＣ記述子が、ヌルの目次ＥＣＣを指定し、かつ、
前記目次ＥＣＣ記述子内の前記長さフィールドがゼロ以外の長さを指定している場合には、前記目次ＥＣＣ記述子が、ヌルでない目次ＥＣＣを指定する、上記（４）に記載の現場交換可能ユニット。
（６）前記目次内のエントリ内のそれぞれのデータ・レコード記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記データ・レコード記述子に対応するデータ・レコードの開始アドレスを指定し、前記長さフィールドは、前記データ・レコード記述子に対応する前記データ・レコードの長さを指定し、かつ、
前記目次内のエントリ内のそれぞれのデータ・レコードＥＣＣ記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記データ・レコードＥＣＣ記述子に対応するデータ・レコードＥＣＣの開始アドレスを指定し、前記長さフィールドは、前記データ・レコードＥＣＣ記述子に対応する前記データ・レコードＥＣＣの長さを指定する、上記（４）に記載の現場交換可能ユニット。
（７）前記目次記述子が、さらに名前フィールドを包含し、前記名前フィールドは、前記目次に関する名前を指定する、上記（４）に記載の現場交換可能ユニット。
（８）前記データ・レコードが、前記現場交換可能ユニットが取り付けられるコンピュータ・システムに対して前記現場交換可能ユニットを識別するための必須コンポーネント・データを含む、上記（１）に記載の現場交換可能ユニット。
（９）構造化されたデータをストアしている不揮発性メモリであって、前記構造化されたデータが、
（ａ）あらかじめ定義済みの長さのヘッダであって、前記ヘッダ内の第１のあらかじめ定義済みのロケーションにヘッダＥＣＣを、前記ヘッダ内の第２のあらかじめ定義済みのロケーションに目次記述子を、前記ヘッダ内の第３のあらかじめ定義済みのロケーションに目次ＥＣＣ記述子をそれぞれ包含しているヘッダ、
（ｂ）１ないしは複数の前記エントリを包含する目次であり、各前記エントリがそれぞれのデータ・レコード記述子およびそれぞれの対応するデータ・レコードＥＣＣ記述子を包含しているとする目次であって、前記目次記述子によって定義されるロケーションを有している目次、
（ｃ）１ないしは複数のデータ・レコードであって、各データ・レコードは前記目次内の前記１ないしは複数のエントリ内のそれぞれのエントリに対応しており、かつ各データ・レコードは前記目次内の前記対応するそれぞれのエントリ内の前記データ・レコード記述子によって定義されるロケーションを有している１ないしは複数のデータ・レコード、
（ｄ）前記目次ＥＣＣ記述子がヌルでないＥＣＣを指定している場合には、目次ＥＣＣであって、前記目次ＥＣＣ記述子によって定義されるロケーションを有している目次ＥＣＣ、および、
（ｅ）前記データ・レコードＥＣＣ記述子のいずれかがヌルでないＥＣＣを指定している場合には、ヌルでないＥＣＣを指定するデータ・レコードＥＣＣ記述子を有する前記目次内のエントリに対応する各データ・レコードに関するそれぞれのデータ・レコードＥＣＣであって、それぞれは前記対応するデータ・レコードＥＣＣ記述子によって定義されるロケーションを有しているデータ・レコードＥＣＣ、
を包含している、不揮発性メモリ。
（１０）前記不揮発性メモリが、シリアルＥＰＲＯＭデバイスである、上記（９）に記載の不揮発性メモリ。
（１１）前記不揮発性メモリが、スマート・チップ・デバイスである、上記（９）に記載の不揮発性メモリ。
（１２）前記目次記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記目次の開始アドレスを指定し、前記長さフィールドは、前記目次の長さを指定し、かつ、
前記目次ＥＣＣ記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記目次ＥＣＣの開始アドレスを指定し、前記長さフィールドは、前記目次ＥＣＣの長さを指定する、上記（９）に記載の不揮発性メモリ。
（１３）前記目次ＥＣＣ記述子内の前記長さフィールドがゼロの長さを指定している場合には、前記目次ＥＣＣ記述子が、ヌルの目次ＥＣＣを指定し、かつ、
前記目次ＥＣＣ記述子内の前記長さフィールドがゼロ以外の長さを指定している場合には、前記目次ＥＣＣ記述子が、ヌルでない目次ＥＣＣを指定する、上記（１２）に記載の不揮発性メモリ。
（１４）前記目次内のエントリ内のそれぞれのデータ・レコード記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記データ・レコード記述子に対応するデータ・レコードの開始アドレスを指定し、前記長さフィールドは、前記データ・レコード記述子に対応する前記データ・レコードの長さを指定し、かつ、
前記目次内のエントリ内のそれぞれのデータ・レコードＥＣＣ記述子が、アドレス・フィールドおよび長さフィールドを包含し、前記アドレス・フィールドは、前記データ・レコードＥＣＣ記述子に対応するデータ・レコードＥＣＣの開始アドレスを指定し、前記長さフィールドは、前記データ・レコードＥＣＣ記述子に対応する前記データ・レコードＥＣＣの長さを指定する、上記（１２）に記載の不揮発性メモリ。
（１５）前記目次記述子が、さらに名前フィールドを包含し、前記名前フィールドは、前記目次に関する名前を指定する、上記（１２）に記載の不揮発性メモリ。
（１６）構造化されたデータを検索するためのコンピュータ・プログラム・プロダクトであって、
信号担持メディア上に記録された複数の実行可能インストラクションを包含し、前記インストラクションは、ディジタル・コンピューティング・デバイスの少なくとも１つのプロセッサによって実行されたときに前記デバイスに、
（ａ）既知のロケーションにおいて前記構造化されたデータに関するヘッダを読み出すステップであって、前記ヘッダは、前記ヘッダ内の第１のあらかじめ定義済みのロケーションにヘッダＥＣＣを、前記ヘッダ内の第２のあらかじめ定義済みのロケーションに目次記述子を、前記ヘッダ内の第３のあらかじめ定義済みのロケーションに目次ＥＣＣ記述子をそれぞれ包含しているものとするステップ、
（ｂ）前記ヘッダＥＣＣを使用して前記ヘッダの内容を検証するステップ、
（ｃ）前記目次記述子によって定義されるロケーションにおいて目次を読み出すステップであって、前記目次は１ないしは複数のエントリを包含し、各前記エントリはそれぞれのデータ・レコード記述子およびそれぞれの対応するデータ・レコードＥＣＣ記述子を包含しているものとするステップ、
（ｄ）前記目次ＥＣＣ記述子がヌルでないＥＣＣを指定している場合には、前記目次ＥＣＣ記述子によって定義されるロケーションにおいて目次ＥＣＣを読み出し、前記目次ＥＣＣを使用して前記目次を検証するステップ、
（ｅ）前記目次内の前記１ないしは複数のエントリのそれぞれのエントリについて、前記それぞれのデータ・レコード記述子によって定義されるロケーションにおいて対応するデータ・レコードを読み出すステップ、および、
（ｆ）前記目次内の前記１ないしは複数のエントリのそれぞれのエントリについて、前記それぞれのデータ・レコードＥＣＣ記述子がヌルでないＥＣＣを指定している場合には、前記それぞれのデータ・レコードＥＣＣ記述子によって定義されるロケーションにおいて対応するデータ・レコードＥＣＣを読み出し、前記対応するデータ・レコードＥＣＣを使用して前記対応するデータ・レコードを検証するステップ、
を実行させる、コンピュータ・プログラム・プロダクト。
【図面の簡単な説明】
【００６９】
【図１】本発明の好ましい実施態様に従ってフォーマットされた必須コンポーネント・データを有する現場交換可能ユニットを使用するコンピュータ・システムの主要なハードウエア・コンポーネントを示したハイ‐レベルのブロック図である。
【図２】好ましい実施態様に従って特別にフォーマットされた必須コンポーネント・データの使用に関して示した代表的な現場交換可能ユニット（ＦＲＵ）の簡略化した説明図である。
【図３】好ましい実施態様に従って必須コンポーネント・データをＦＲＵの不揮発性メモリ内にストアするときに用いられる柔軟なフォーマットを概括した説明図である。
【図４】好ましい実施態様に従った必須コンポーネント・データのヘッダのフォーマットをさらに詳細に示した説明図である。
【図５】好ましい実施態様に従った必須コンポーネント・データに関する目次レコードのフォーマットをさらに詳細に示した説明図である。
【図６】好ましい実施態様に従って行われるＦＲＵからの必須コンポーネント・データの読み出しおよび解釈のプロセスを示したハイ‐レベルのフローチャートである。
【図７】好ましい実施態様に従って行われるＦＲＵからの必須コンポーネント・データの読み出しおよび解釈のプロセスを示したハイ‐レベルのフローチャートである。
【符号の説明】
【００７０】
１００  コンピュータ・システム／システム
１０１  中央処理ユニット（ＣＰＵ）
１０２  システム・メモリ／メイン・メモリ／メモリ
１０３  サービス・プロセッサ
１０５  バス
１０６  端末インターフェース
１０７  ストレージ・インターフェース／データ・ストレージ・インターフェース
１０８  通信インターフェース
１０９  その他のインターフェース／その他のデバイス・インターフェース
１１１Ａ〜Ｂ  ＦＲＵ
１１２Ａ〜Ｆ  ＦＲＵ
１１３  ＦＲＵ
１１４  コントロール・プログラム／コントロール・プログラム・メモリ
１１５Ａ〜Ｃ  ＦＲＵ
１１６Ａ〜Ｃ  ＦＲＵ
１１７Ａ〜Ｂ  ＦＲＵ
１１８Ａ〜Ｂ  ＦＲＵ
１１９Ａ〜Ｂ  ＦＲＵ
１２１  端末
１２１Ａ〜Ｃ  ユーザ端末
１２２  ディスク・ドライブ・ストレージ・デバイス／データ・ストレージ・デバイス
１２２Ａ〜Ｃ  データ・ストレージ・デバイス
２００  ＦＲＵ／現場交換可能ユニット（ＦＲＵ）
２０１  コネクタ
２０２  メモリ／不揮発性メモリ
２０３  インターフェース／電子インターフェース・モジュール
２０５Ａ〜Ｈ  機能モジュール
３０１  ヘッダ
３０２  目次／目次レコード
３０３  データ・レコード／データ・レコード部分／レコード
３０４  ＥＣＣ／ＴＯＣ  ＥＣＣ／目次ＥＣＣ
３０５  データ・レコードＥＣＣ
３０６  ヘッダＥＣＣ
３０７  目次記述子
３０８  目次ＥＣＣ記述子
３０９  インデクス・エントリ／レコード・インデクス・エントリ
３１０  レコード記述子
３１１  ＥＣＣ記述子部分／レコードＥＣＣ記述子
４０２  レコード名フィールド／名前フィールド
４０３  レコード・タイプ・フィールド
４０４  オフセット
４０５  長さ
４０６  オフセット・フィールド
４０７  ＴＯＣ  ＥＣＣ長さフィールド／長さフィールド
５０１  区切り文字
５０２  終了区切り文字
５０３  レコードの長さフィールド
５０４  そのほかの修飾子／修飾子
５０５  インデクス・エントリ／インデクスの開始／キーワードおよび長さ／開始文字列
５０６  パディング
５１１  レコード名／レコード名フィールド
５１２  タイプ／レコード・タイプ・フィールド
５１３  オフセット・フィールド
５１４  長さフィールド
５１５  オフセット・フィールド
５１６  長さフィールド
【図１】
2004246893.tif 000003
【図２】
2004246893.tif 000004
【図３】
2004246893.tif 000005
【図４】
2004246893.tif 000006
【図５】
2004246893.tif 000007
【図６】
2004246893.tif 000008
【図７】
2004246893.tif 000009