(57)【要約】【課題】ＢＩＯＳの書き換え作業中に、不意に停電等のトラブルが発生した場合であっても、コンピュータの起動が不能にならないデータ格納装置及びデータアクセス方法を提供すること。【解決手段】予め制御用のプログラムデータが格納されており、１回に限り、データの書き込みが可能なＯＴＰメモリ１０と、複数回のデータの書き込みが可能であり、強誘電体材料によりメモリセルが構成されるＦｅＲＡＭ１１と、外部から供給されたプログラムデータの更新データと、ＯＴＰメモリ１０に予め格納されているプログラムデータとを比較して差分データを生成し、生成した差分データをＦｅＲＡＭ１１に格納する差分データ生成部１２と、ＯＴＰメモリ１０に予め格納されているプログラムデータと、ＦｅＲＡＭ１１に格納されている差分データとを結合するデータ結合部１３と、データ格納装置１の全体を制御する制御部１４とを備える。【選択図】図１
2007323488.tif 000002
【特許請求の範囲】
【請求項１】
予め制御用のプログラムデータが格納されており、１回に限り、データの書き込みが可能な第１の不揮発性記憶手段と、
複数回のデータの書き込みが可能であり、強誘電体キャパシタによりメモリセルが構成される第２の不揮発性記憶手段と、
外部から供給された前記プログラムデータの更新データと、前記第１の不揮発性記憶手段に予め格納されている前記プログラムデータとを比較して差分データを生成し、生成した前記差分データを前記第２の不揮発性記憶手段に格納する差分データ生成格納手段と、
前記第１の不揮発性記憶手段に予め格納されている前記プログラムデータと、前記第２の不揮発性記憶手段に格納されている前記差分データとを結合するデータ結合手段とを備えることを特徴とするデータ格納装置。
【請求項２】
請求項１記載のデータ格納装置において、
前記第１の不揮発性記憶手段は、ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ）ＲＯＭであり、
前記第２の不揮発性記憶手段は、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であることを特徴とするデータ格納装置。
【請求項３】
請求項１記載のデータ格納装置において、
前記第２の不揮発性記憶手段には、設定情報及びセキュリティ情報が格納されていることを特徴とするデータ格納装置。
【請求項４】
請求項１記載のデータ格納装置において、
前記第１の不揮発性記憶手段には、予め、ＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）で使用されるハードウェアの固有の情報が格納されていることを特徴とするデータ格納装置。
【請求項５】
請求項１記載のデータ格納装置において、
前記第１の不揮発性記憶手段は、アクセスが制限される制限領域と、アクセスが制限されない非制限領域とを有し、
前記第２の不揮発性記憶手段は、ダミーデータが格納されるダミーデータ領域を有し、
前記第１の不揮発性記憶手段及び前記第２の不揮発性記憶手段からデータを読み出す読出手段と、
前記制限領域へのアクセスを許可するかどうかを判断するアクセス判断手段とを備え、
前記読出手段は、前記アクセス判断手段によりアクセスを許可しないと判断された場合、前記制限領域からデータが読み出されるときに、前記ダミーデータ領域に格納されている前記ダミーデータで上書きして読み出すことを特徴とするデータ格納装置。
【請求項６】
予め制御用のプログラムデータが格納されており、１回に限り、データの書き込みが可能な第１の不揮発性記憶部と、複数回のデータの書き込みが可能な第２の不揮発性記憶部とを備えるデータ格納装置によって行われるデータアクセス方法において、
データを更新する場合には、
外部から供給された前記プログラムデータの更新データと、前記第１の不揮発性記憶部に予め格納されている前記プログラムデータとを比較して差分データを生成し、
生成した前記差分データを、強誘電体キャパシタによりメモリセルが構成される前記第２の不揮発性記憶部に格納し、
更新データを読み出す場合には、
前記第１の不揮発性記憶部に予め格納されている前記プログラムデータと、前記第２の不揮発性記憶部に格納されている前記差分データとを結合して読み出すことを特徴とするデータアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の不揮発性メモリを有し、当該不揮発性メモリに更新データが格納され、格納されている更新データを読み出すデータ格納装置及びデータアクセス方法に関する。
【背景技術】
【０００２】
一般的に、コンピュータの起動処理においては、予めメモリ部に格納されているＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）にしたがって処理が実行される。ここで、ＢＩＯＳとは、ファームウェアの一つであり、コンピュータに搭載されたプログラムのうち、ハードウェア（ディスクドライブ、キーボード、ビデオカード等の周辺機器）との間において、最も低レベルの入出力制御を行うためのプログラムである。
【０００３】
また、旧式のコンピュータでは、ＢＩＯＳは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納され、コンピュータのマザーボードに組み込まれた形で提供されていた。また、ＢＩＯＳを書き換える（更新する）場合には、専用のＲＯＭライターが必要であった。
【０００４】
一方、近年においては、ＢＩＯＳは、書き換え可能なフラッシュメモリ（不揮発性メモリ）に書き込まれており、バグの対応や新機能のサポート時に必要となる書き換え（更新）作業においては、ＲＯＭライターのような特殊な装置は必要でなく、簡易に書き換えが行えるようになった。
【０００５】
ところで、ＢＩＯＳは、コンピュータの起動の際に必須のプログラムであり、ＢＩＯＳの書き換え作業中に、不意に停電等のトラブルが発生し、ＢＩＯＳの書き換えに失敗した場合には、コンピュータの起動が不能となる問題がある。なお、コンピュータは、正しくＢＩＯＳを読み出すことができない場合には、再セットアップが不能となる。
【０００６】
このような状況を回避すべく、例えば、差分更新法等の種々の技術が提案されている（例えば、特許文献１参照）。特許文献１によれば、差分データに基づく各区画の更新処理において、差分データからの新データの復元処理と、復元した新データの書き換え対象データに対する上書き処理とを分離しており、さらに、ある区画の復元処理が終了した場合には、その区画の新データの上書きは行わず、ひとつ前の区画で復元している新データの上書きを行う。このようにして分割差分更新処理を行うことにより、データの更新中に電源の遮断が生じても、電源が復帰した後にその区画から更新処理を再開することができるものである。
【特許文献１】特開２００４−１９９１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、このような分割差分更新処理では、複雑な処理が必要な上、差分データを格納する専用のメモリと、差分データを復元した最新のデータ（又は復元する前の旧データ）を格納するメモリが必要となり高価な構成となってしまう。また、特許文献１によれば、差分データを復元する際にデータを細かく分割して、それぞれに対してデータの復元と更新を繰り返すため、大きなデータブロックでデータを書き換える様な安価な不揮発性メモリの使用ができない。また、オリジナルのデータを上書きしてゆくため、複数のバージョン・データを格納する構成となっていない。
【０００８】
また、ＢＩＯＳには、ハードウェアの起動の順番等を設定する項目、いわゆるＢＩＯＳメニューがあり、当該メニューで設定した情報は、一般的に、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）に格納されている。しかし、ＣＭＯＳは、データを保持するために外部電源が必要であるため、専用の電源（リチウムバッテリー等）でバックアップされており、電源の交換時にデータが消去されてしまい、再度設定をし直す必要がある。また、ＢＩＯＳメニューには、パワーオン・パスワードの設定機能も含まれており、電源の交換作業に伴って消去されてしまい、セキュリティを確保する上での問題がある。
【０００９】
本発明では、ＢＩＯＳの書き換え作業中に、不意に停電等のトラブルが発生した場合であっても、コンピュータの起動を不能とすることなく、かつ、ＢＩＯＳメニューの保持に電源を必要としない不揮発性メモリを利用しつつ、安価に構成可能なデータ格納装置及びデータアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のデータ格納装置は、上述の課題を解決するために、予め制御用のプログラムデータが格納されており、１回に限り、データの書き込みが可能な第１の不揮発性記憶手段と、複数回のデータの書き込みが可能であり、強誘電体キャパシタによりメモリセルが構成される第２の不揮発性記憶手段と、外部から供給された前記プログラムデータの更新データと、前記第１の不揮発性記憶手段に予め格納されている前記プログラムデータとを比較して差分データを生成し、生成した前記差分データを前記第２の不揮発性記憶手段に格納する差分データ生成格納手段と、前記第１の不揮発性記憶手段に予め格納されている前記プログラムデータと、前記第２の不揮発性記憶手段に格納されている前記差分データとを結合するデータ結合手段とを備えることを特徴とする。
【００１１】
この発明によれば、制御用のプログラムデータであるＢＩＯＳの情報が、１回に限りデータの書き込みが可能なメモリに予め格納されているため、オリジナルのＢＩＯＳ情報が失われることがなく、ＢＩＯＳ情報の更新時に、不意の電源断等によって更新作業が失敗しても、オリジナルのＢＩＯＳの情報を読み出すことができるので、コンピュータの起動が不能になることがない。また、この発明によれば、ＢＩＯＳ情報の更新の際には、オリジナルのＢＩＯＳ情報との差分データのみを他のメモリに格納し、また、起動時においては、オリジナルのＢＩＯＳ情報と差分データとから更新後のＢＩＯＳ情報を生成するので、ユーザの選択によってオリジナルのＢＩＯＳ情報を読み出すことも可能であり、また、更新後のＢＩＯＳ情報を読み出すことも可能となる。
【００１２】
また、データ格納装置では、第１の不揮発性記憶手段は、ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ）ＲＯＭであり、第２の不揮発性記憶手段は、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であることを特徴とする。
【００１３】
この発明によれば、ＯＴＰＲＯＭには、書き換えたくないオリジナルのＢＩＯＳ情報等を格納し、ＦｅＲＡＭには、ＢＩＯＳ情報の差分データや、必要に応じて書き換えたいパスワード等のセキュリティ情報を格納することができ、メモリの特徴を有効に活用しつつ、情報の格納を行うことができる。
【００１４】
また、データ格納装置では、第２の不揮発性記憶手段には、設定情報及びセキュリティ情報が格納されていることを特徴とする。
【００１５】
この発明によれば、設定情報及びセキュリティ情報が不揮発メモリに格納されているので、従来のように、バッテリー消滅等により当該情報が失われることがない。
【００１６】
また、データ格納装置では、第１の不揮発性記憶手段には、予め、ＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）で使用されるハードウェアの固有の情報が格納されている。
【００１７】
この発明によれば、一度書き込んだデータの消去及び書き換えが不能な第１の不揮発性記憶手段にハードウェアの固有の情報が格納されるので、ＴＰＭに対応したシステムの構築を実現することができる。この発明によれば、例えば、あるアプリケーションは、特定のハードウェア上でしか動かない、というようなシステムを構築できる。
【００１８】
また、データ格納装置では、第１の不揮発性記憶手段は、アクセスが制限される制限領域と、アクセスが制限されない非制限領域とを有し、前記第２の不揮発性記憶手段は、ダミーデータが格納されるダミーデータ領域を有し、前記第１の不揮発性記憶手段及び前記第２の不揮発性記憶手段からデータを読み出す読出手段と、前記制限領域へのアクセスを許可するかどうかを判断するアクセス判断手段とを備え、前記読出手段は、前記アクセス判断手段によりアクセスを許可しないと判断された場合、前記制限領域からデータが読み出されるときに、前記ダミーデータ領域に格納されている前記ダミーデータで上書きして読み出すことを特徴とする。
【００１９】
この発明によれば、不揮発性メモリの制限領域に書き込まれている秘密データを読み出す際に、アクセスの許可がない場合には、第２の不揮発性記憶手段のダミーデータ領域から読み出されるダミーデータで上書きされるため、当該秘密データを保守することができる。
【００２０】
また、本発明のデータアクセス方法は、上述の課題を解決するために、予め制御用のプログラムデータが格納されており、１回に限り、データの書き込みが可能な第１の不揮発性記憶部と、複数回のデータの書き込みが可能な第２の不揮発性記憶部とを備えるデータ格納装置によって行われるデータアクセス方法において、データを更新する場合には、外部から供給された前記プログラムデータの更新データと、前記第１の不揮発性記憶部に予め格納されている前記プログラムデータとを比較して差分データを生成し、生成した前記差分データを、強誘電体キャパシタによりメモリセルが構成される前記第２の不揮発性記憶部に格納し、更新データを読み出す場合には、前記第１の不揮発性記憶部に予め格納されている前記プログラムデータと、前記第２の不揮発性記憶部に格納されている前記差分データとを結合して読み出すことを特徴とする。
【００２１】
この発明によれば、制御用のプログラムデータであるＢＩＯＳの情報が、１回に限りデータの書き込みが可能なメモリに予め格納されているため、オリジナルのＢＩＯＳ情報が失われることがなく、ＢＩＯＳ情報の更新時に、不意の電源断等によって更新作業が失敗しても、オリジナルのＢＩＯＳの情報を読み出すことができるので、コンピュータの起動が不能になることがない。また、この発明によれば、ＢＩＯＳ情報の更新の際には、オリジナルのＢＩＯＳ情報との差分データのみを他のメモリに格納し、また、起動時においては、オリジナルのＢＩＯＳ情報と差分データとから更新後のＢＩＯＳ情報を生成するので、ユーザの選択によってオリジナルのＢＩＯＳ情報を読み出すことも可能であり、また、更新後のＢＩＯＳ情報を読み出すことも可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態を図面に基づいて説明する。
【００２３】
本発明に係るデータ格納装置１は、図１に示すように、予め制御用のプログラムデータが格納されており、１回に限り、データの書き込みが可能な第１の不揮発性記憶部（以降、ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ）メモリという。）１０と、複数回のデータの書き込みが可能であり、強誘電体材料によりメモリセルが構成される第２の不揮発性記憶部（以降、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）という。）１１と、外部から供給されたプログラムデータの更新データと、ＯＴＰメモリ１０に予め格納されているプログラムデータとを比較して差分データを生成し、生成した差分データをＦｅＲＡＭ１１に格納する差分データ生成部１２と、ＯＴＰメモリ１０に予め格納されているプログラムデータと、ＦｅＲＡＭ１１に格納されている差分データとを結合するデータ結合部１３と、データ格納装置１の全体を制御する制御部１４とを備える。
【００２４】
ＯＴＰメモリ１０は、データを１回のみ書き込み可能なメモリであり、工場出荷時にＢＩＯＳデータが書き込まれている。このＢＩＯＳデータは、オリジナルなものであり、変更・消去が不可能なものである。また、ＯＴＰメモリ１０には、ハードウェアの固有の情報が格納される構成であっても良い。このような構成の場合には、格納されている固有のハードウェア情報は、消去、改変される恐れがないため、ＴＰＭ等のセキュリティ手段に用いることができ、セキュリティレベルの一層の向上に役立てることができる。
【００２５】
ＦｅＲＡＭ１１は、強誘電体膜（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｆｉｌｍ）をデータ保持用のキャパシタに利用したメモリである。ここで、強誘電体膜とは、自発分極特性を有し、印加される電界方向に応じて分極方向が反転する性質を有している。ＦｅＲＡＭ１１は、この分極反転を記憶保持に利用している。また、強誘電体膜の材料としては、主に、ＰＺＴ（ジルコン酸チタン酸鉛）等のペロブスカイト化合物系や、ＳＢＺ（チタン酸バリウム・ストロンチウム）等の層状ペロブスカイト化合物系が用いられている。
【００２６】
また、ＦｅＲＡＭ１１は、データ保持のための電源を不要とする、いわゆる不揮発性メモリであり、また、高速書き込み等も可能であり、その構造はＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）に似ている。このようなＦｅＲＡＭ１１には、更新されたデータの差分データや、バージョン情報等の書き換え対象となるデータが格納される。また、ＦｅＲＡＭ１１は、不揮発性メモリであるため、パスワード等のセキュリティ情報を格納しても良い。したがって、バックアップ電源を取り外すことにより、簡易にパスワードの初期化が行われるという事態を回避することができる。
【００２７】
ここで、ＦｅＲＡＭ１１の構造（１Ｔ／１Ｃ型）について説明する。なお、以下では、ＦｅＲＡＭ１１の一つのセル（メモリセル）について説明する。
【００２８】
メモリセル１００は、図２に示すように、トランジスタ１０１と、強誘電体膜から構成される強誘電体キャパシタ１０２とから構成されており、トランジスタ１０１のゲート端子にワードライン（ＷＬ）１０３が接続され、トランジスタ１０１のドレイン端子（又はソース端子）にビットライン（ＢＬ）１０４が接続され、トランジスタ１０１のソース端子（又はドレイン端子）に強誘電体キャパシタ１０２の一方側の端子が接続され、強誘電体キャパシタ１０２の他方側の端子にプレートライン（ＰＬ）１０５が接続されている。また、メモリセル１００は、センスアンプ回路１０６を有している。
【００２９】
また、強誘電体キャパシタ１０２は、図３に示すようなヒステリシス特性を有している。なお、図３中において、Ａ点は、「０」の状態を示し、Ｂ点は、「１」の状態を示す。ここで、「０」の状態とは、ＢＬ１０４側の電位を基準として、強誘電体キャパシタ１０２のＰＬ１０５が接続されている側の電位を正方向に電圧印加した場合に記憶されるデータの状態をいい、また、「１」の状態とは、ＢＬ１０４側の電位を基準として、強誘電体キャパシタ１０２のＰＬ１０５が接続されている側の電位を負方向に電圧印加した場合に記憶されるデータの状態をいう。
【００３０】
また、詳細は後述するが、データの読み出し時には、ＢＬ１０４側を基準電位（図３中Ｃ点）として、強誘電体キャパシタ１０２のＰＬ１０５に正方向の電圧を印加する。そうすると、強誘電体キャパシタ１０２が「０」の状態に保持されている場合の電荷量（図３中Ｖ１）に比べ、強誘電体キャパシタ１０２が「１」の状態に保持されている場合の電荷量（図３中Ｖ２）の方が高く（多く）なる。センスアンプ回路１０６は、このＢＬ１０４の電位の違いを検出し、データ読み出し動作を行う。
【００３１】
つぎに、メモリセル１００にデータを書き込む動作について説明する。メモリセル１００は、強誘電体キャパシタ１０２の両端子間に所定電圧（Ｖｃｃ）が印加されることにより、「１」及び「０」のデータが書き込まれる。例えば、メモリセル１００は、ＷＬ１０３が選択状態（トランジスタ１０１をＯＮ状態）にされ、ＢＬ１０４が０Ｖにされ、ＰＬ１０５にＶｃｃが印加されることにより「０」が書き込まれ、また、ＢＬ１０４にＶｃｃが印加され、ＰＬ１０５が０Ｖにされることにより「１」が書き込まれる。
【００３２】
また、メモリセル１００は、ＷＬ１０３が非選択状態（トランジスタ１０１がＯＦＦ状態）になっても書き込まれたデータを保持する。
【００３３】
つぎに、メモリセル１００に書き込まれているデータを読み出す動作について説明する。メモリセル１００は、ＢＬ１０４がオープン状態（０Ｖ）にされ、ＷＬ１０３が選択状態にされ、ＰＬ１０５にＶｃｃが印加されることにより、ＢＬ１０４を介してセンスアンプ回路１０６に所定の電圧が供給される。センスアンプ回路１０６は、強誘電体キャパシタ１０２の分極状態に応じて異なる電圧が供給され、それぞれの電圧に基づいて増幅を行う。メモリセル１００は、センスアンプ回路１０６による増幅後の電圧に応じて「１」又は「０」が読み出される。
【００３４】
ここで、データの読み出し動作についてさらに詳述する。まず、外部からアドレス信号並びに読み出しを行うための読み出し制御信号が供給される。また、供給されたアドレス信号は、図示しないアドレスデコーダ回路部により、ＷＬ１０３とＰＬ１０５とを選択するためのＸデコード信号にデコードされ、センスアンプ回路１０６やＢＬ１０４を選択するためのＹデコード信号にデコードされる。
【００３５】
また、Ｘデコード信号は、ＷＬ１０３に備えられている図示しないＷＬ駆動部と、ＰＬ１０５に備えられている図示しないＰＬ駆動部に供給される。ＷＬ駆動部は、Ｘデコード信号に基づいて任意のＷＬ１０３を選択する。また、ＰＬ駆動部は、Ｘデコード信号に基づいて任意のＰＬ１０５を選択する。
【００３６】
また、Ｙデコード信号は、ＢＬ１０４に備えられている図示しないＢＬ駆動部に供給される。ＢＬ駆動部は、Ｙデコード信号に基づいて任意のＢＬ１０４とセンスアンプ回路１０６とを選択する。
【００３７】
また、外部から供給されたアドレス信号にしたがって、ＷＬ１０３並びにＰＬ１０５が選択されたメモリセル１００は、強誘電体キャパシタ１０２に記憶されているデータに応じた電圧をＢＬ１０４上に出力する。
【００３８】
一方、外部から供給された読み出し制御信号は、図示しない制御部に供給され、ＢＬ１０４並びにセンスアンプ回路１０６を動作させるタイミングを制御するための信号として用いられる。
【００３９】
また、ＢＬ１０４上に出力された電圧は、制御部によるＢＬ１０４を選択するタイミングと、センスアンプ回路１０６を動作させるタイミングとにしたがって、増幅された後、読み出しデータとして外部に出力される。
【００４０】
また、メモリセル１００は、データの読み出し動作において、「１」が読み出された場合には、強誘電体キャパシタ１０２の分極が「１」の状態から「０」の状態に反転されてしまい、いわゆるデータの破壊読み出しになってしまう。
【００４１】
そこで、ＦｅＲＡＭ１１においては、強誘電体キャパシタ１０２の分極を「１」の状態に維持するために、「１」のデータを読み出した後には、再び「１」のデータを書き込む、いわゆる再書き込み動作を行っている。
【００４２】
ここで、データ格納装置１を用いて更新データの更新処理の手順について図４に示すフローチャートを参照しながら説明する。なお、以降では、ＯＴＰメモリ１０には、図５に示すように、オリジナル・バージョンのＢＩＯＳデータが所定のデータサイズごとに分割され、固有のアドレスが付されて格納されているものとする。
【００４３】
ステップＳ１において、制御部１４は、外部からバージョンアップのデータ（更新データ）が供給された場合、ＯＴＰメモリ１０の指定アドレスに格納されているＢＩＯＳデータを当該アドレスの情報とともに読み出し、差分データ生成部１２に供給する。なお、最初の処理の場合には、ＯＴＰメモリ１０の先頭アドレスに格納されているＢＩＯＳデータ、すなわちアドレス「００００」のデータ「ＦＦ」が読み出される。また、外部から供給される更新データは、ＯＴＰメモリ１０のデータサイズと同等のデータサイズに分割されているものとする（図６参照）。
【００４４】
ステップＳ２において、差分データ生成部１２は、ステップＳ１の工程により読み出されたデータと、外部から供給された更新データとを比較し、両データの一致又は不一致を判断する。一致する場合には、ステップＳ４の工程に進み、不一致の場合には、ステップＳ３の工程に進む。
【００４５】
ステップＳ３において、差分データ生成部１２は、比較結果に基づいて、不一致と判断した場合には、更新データと、アドレスの情報とを差分データとして、ＦｅＲＡＭ１１に格納する。また、差分データには、更新データのバージョン情報が含まれているものとする。
【００４６】
ステップＳ４において、制御部１４は、ステップＳ１の工程により読み出したアドレスが最終アドレスかどうかを判断し、最終アドレスでない場合には、ステップＳ５の工程に進み、最終アドレスの場合には、処理を終了する。
【００４７】
ステップＳ５において、制御部１４は、指定アドレスを一つインクリメントし、ステップＳ１の工程に戻る。また、制御部１４は、ステップＳ１の工程からステップＳ５の工程を最終アドレスになるまで繰り返す。
【００４８】
また、更新データの更新処理が終了した場合には、ＦｅＲＡＭ１１には、図７に示すように、アドレス情報とともに更新データが差分データとして格納される。図７に示す例では、ＯＴＰメモリ１０のアドレス「０００４」、「００１０」、「００１１」、「０３４３」、「０３４４」、「０５９０」に対応するオリジナル・バージョンのデータが更新データと不一致であると判断されたことを意味している。
【００４９】
また、ＦｅＲＡＭ１１を複数の領域に分割し、各領域に異なるバージョンの差分データを格納するような構成であっても良い。このような構成の場合には、本発明に係るデータ格納装置１を利用するユーザは、自由にバージョンを選択することができる。
【００５０】
つぎに、ＯＴＰメモリ１０及びＦｅＲＡＭ１１に格納されているデータを読み出す手順について、図８に示すフローチャートを参照しながら説明する。
【００５１】
ステップＳ１１において、制御部１４は、外部から供給されるコマンドに応じて、ＯＴＰメモリ１０及び／又はＦｅＲＡＭ１１からデータを読み出し、データ結合部１３へ供給する。詳細には、制御部１４は、任意のアドレスを指定してＯＴＰメモリ１０からデータを読み出し、データ結合部１３へ供給し、つぎに、当該アドレスと同一のアドレスを指定してＦｅＲＡＭ１１から差分データを読み出し、データ結合部１３へ供給する。
【００５２】
ステップＳ１２において、データ結合部１３は、ＯＴＰメモリ１０から読み出されたデータにＦｅＲＡＭ１１から読み出された差分データを上書きした後のデータ又は、ＦｅＲＡＭ１１から読み出された差分データそのものを外部に出力する。
【００５３】
なお、ステップＳ１１の工程では、指定したアドレスに対応する差分データがＦｅＲＡＭ１１内に存在しない場合、すなわち、オリジナル・バージョンのＢＩＯＳデータと同一の場合には、データ結合部１３へは当該アドレスに対応する差分データは供給されない。この場合には、データ結合部１３は、ＯＴＰメモリ１０から読み出されたデータを外部に出力する。
【００５４】
ステップＳ１３において、制御部１４は、ステップＳ１１の工程により指定したアドレスが最終アドレスかどうかを判断し、最終アドレスでない場合には、ステップＳ１４の工程に進み、最終アドレスの場合には、読み出し処理を終了する。
【００５５】
ステップＳ１４において、制御部１４は、指定アドレスを一つインクリメントし、ステップＳ１１の工程に戻る。また、制御部１４は、ステップＳ１１の工程からステップＳ１４の工程を指定アドレスが最終アドレスになるまで繰り返す。
【００５６】
また、具体的には、オリジナル・バージョンのＢＩＯＳデータが格納されているＯＴＰメモリ１０には、図５に示すように、アドレス「００００」にデータ「ＦＦ」が格納され、アドレス「０００１」にデータ「１Ｆ」が格納され、アドレス「０００２」にデータ「０Ｂ」が格納され、アドレス「０００３」にデータ「１２」が格納され、アドレス「０００４」にデータ「３３」が格納され、アドレス「０００５」にデータ「４５」が格納され、アドレス「０００６」にデータ「１０」が格納され、アドレス「０００７」にデータ「ＤＥ」が格納されており、ＢＩＯＳデータのバージョンアップに係る差分データが格納されているＦｅＲＡＭ１１には、図７に示すように、アドレス「０００４」に差分データ「３６」が格納されている場合には、アドレス「０００４」のデータ「３３」が差分データ「３６」に上書きされ、データ「ＦＦ」、「１Ｆ」、「０Ｂ」、「１２」、「３６」、「４５」、「１０」、「ＤＥ」、・・・が外部に出力される。
【００５７】
また、ステップＳ１の工程からステップＳ５の工程における更新データの更新処理の最中に、電源の遮断等のトラブルが発生し、バージョンアップに失敗した場合におけるＢＩＯＳデータの読み出し処理について、図９に示すフローチャートを参照して説明する。
【００５８】
ステップＳ２１において、制御部１４は、ステップＳ１１の工程乃至ステップＳ１４の工程によるＢＩＯＳデータの読み出し処理によって、ＢＩＯＳのバージョンアップが成功したかどうかを判断する。ＢＩＯＳのバージョンアップが成功しない場合には、ステップＳ２２の工程に進む。
【００５９】
ステップＳ２２において、制御部１４は、ＯＴＰメモリ１０からオリジナル・バージョンのＢＩＯＳデータを読み出す処理を実行する。また、ＦｅＲＡＭ１１が複数の領域に分割され、各領域にバージョンごとの差分データがそれぞれ格納されている場合には、バージョンアップが失敗したバージョンのひとつ前のバージョンの差分データをＦｅＲＡＭ１１から読み出す処理を実行する。
【００６０】
このようにして本発明に係るデータ格納装置１は、セキュリティ関連のデータや、オリジナル・バージョンのＢＩＯＳデータ等の消失、改変されてしまっては困るデータの格納用メモリにＯＴＰメモリ１０を用いるので、装置全体を安価に構成することができる。
【００６１】
また、本発明に係るデータ格納装置１では、ＢＩＯＳデータのオリジナル・バージョンはＯＴＰメモリ１０に永久保持しつつ、バージョンアップの情報とオリジナル・バージョンとの差分データのみをＦｅＲＡＭ１１に保持するので、万が一、ＦｅＲＡＭ１１への差分データの書き込み最中に不意の事故が発生し、差分データの書き込みに失敗した場合であっても、ＯＴＰメモリ１０からデフォルト（オリジナル・バージョン）のＢＩＯＳデータを読み出すことが可能なため、ＢＩＯＳデータを使用したシステムが動作不能な状態に陥ることを回避することができる。なお、ＦｅＲＡＭ１１は、一般的に、データの書き込みに要する時間がＥＥＰＲＯＭの４倍以上早いため、突然の電源断が生じてもバージョンアップに失敗する確率が低いものと考えられる。
【００６２】
また、本発明では、ＦｅＲＡＭ１１のようにビット単位でデータを書き換え可能な不揮発メモリを使用するので、パスワードのような小容量のデータを簡易に書き換えることができる。フラッシュメモリのような大きなブロック単位でデータを書き換えるタイプの不揮発メモリでは、小容量のデータの書き換え時において、書き換える必要がないデータも同時に書き換えられてしまうため、パスワードの書き換え後に、書き換えが不要だったデータが誤って書き換えられてしまう可能性がある。
【００６３】
また、データ格納装置１は、図１０に示すように、アクセスが制限される制限領域と、アクセスが制限されない非制限領域を有するＯＴＰメモリ１０と、ダミーデータが格納されるダミーデータ領域を有するＦｅＲＡＭ１１と、ＯＴＰメモリ１０及びＦｅＲＡＭ１１からデータを読み出す読出部２０と、制限領域へのアクセスを許可するかどうかを判断するアクセス判断部２１とを備える構成であっても良い。
【００６４】
このような構成の場合には、読出部２０は、アクセス判断部２１によりアクセスを許可しないと判断された場合、制限領域からデータが読み出されるときに、ダミーデータ領域に格納されているダミーデータで上書きして読み出す。
【００６５】
したがって、データ格納装置１は、ＯＴＰメモリ１０の制限領域に書き込まれている固有のＩＤ情報やセキュリティ情報等の秘密データを読み出す際に、アクセスの許可がない場合には、ＦｅＲＡＭ１１のダミーデータ領域から読み出されるダミーデータで上書きされるため、秘密データの安易な読出を回避し、秘密データを保守することができる。
【００６６】
また、データ格納装置１では、ＯＴＰメモリ１０の一部に未書換領域を有する構成にしても良い。このような構成によれば、例えば、未書換領域をソフトウェアライセンスのような追記する必要があるセキュリティ情報の格納用の領域として用いることができる。
【００６７】
また、本発明に係るデータ格納装置１は、ＯＴＰメモリ１０に稼動時間等の管理情報を格納するような構成であっても良く、例えば、当該管理情報をレファレンスすることによりメーカー保証等の適用範囲内であるか範囲外であるかを判別する目的で使用することができる。
【００６８】
また、本発明に係るデータ格納装置１は、ＯＴＰメモリ１０にハードウェア情報やトラブル発生時のタイムスタンプ等を格納するような構成であっても良く、修理時の故障解析に利用することができる。
【００６９】
また、本発明に係るデータ格納装置１は、ＦｅＲＡＭ１１に任意に設定可能なパスワード情報の他、ＢＩＯＳメニュー等で設定されるハードウェアを構成する機器の電源投入の順番情報や、機器の使用設定情報等を格納することができる。
【００７０】
また、本発明に係るデータ格納装置１は、ＦｅＲＡＭ１１に格納されているパスワード等のセキュリティデータに対して不正なサーチが実行されたり、ＦｅＲＡＭ１１に供給されている電圧等が故意に変動させられたりした場合には、ＦｅＲＡＭ１１から当該パスワード等のセキュリティデータを消去し、以降、予め設定された手順を踏まない限りＯＴＰメモリ１０やＦｅＲＡＭ１１へアクセスができなくなるように構成されても良い。このような構成の場合には、ＦｅＲＡＭ１１に格納されているパスワード等のセキュリティデータに対して不正なアクセスがあった場合、当該データの使用を不能とし、一般的な方法（電源をＯＦＦにし、その後、ＯＮにする等）によっては、ハードウェアの使用を制限することができる。
【００７１】
また、データ格納装置１では、複数回のデータの書き込みが可能な不揮発性記憶メモリを備える構成であっても良い。不揮発性記憶メモリには、データ結合部１３により結合されたデータが格納される。このような構成によれば、不揮発性記憶メモリからバージョンアップ後のデータを読み出すことができ、ステップＳ１１の工程乃至ステップＳ１４の工程を不要とすることができる。
【図面の簡単な説明】
【００７２】
【図１】本発明に係るデータ格納装置の構成を示すブロック図である。
【図２】本発明に係るデータ格納装置に備えられているＦｅＲＡＭのメモリセルの構成を示す模式図である。
【図３】強誘電体キャパシタのヒステリシス特性を示す図である。
【図４】データ更新処理の手順を示すフローチャートである。
【図５】ＯＴＰメモリに格納されているデータのアドレス配置を示す模式図である。
【図６】外部から供給されるデータ列を示す模式図である。
【図７】ＦｅＲＡＭに格納されている差分データのアドレス配置を示す模式図である。
【図８】ＯＴＰメモリ及びＦｅＲＡＭに格納されているデータを読み出す手順を示すフローチャートである。
【図９】バージョンアップに失敗した場合におけるＢＩＯＳデータの読み出し処理の手順を示すフローチャートである。
【図１０】本発明に係るデータ格納装置の他の構成を示すブロック図である。
【符号の説明】
【００７３】
１…データ格納装置、１０…第１の不揮発性記憶部（ＯＴＰ（Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ）メモリ）、１１…第２の不揮発性記憶部（ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））、１２…差分データ生成部、１３…データ結合部、１４…制御部、２０…読出部、２１…アクセス判断部、１００…メモリセル、１０１…トランジスタ、１０２…強誘電体キャパシタ、１０３…ワードライン（ＷＬ）、１０４…ビットライン（ＢＬ）、１０５…プレートライン（ＰＬ）、１０６…センスアンプ回路。
【図１】
2007323488.tif 000003
【図２】
2007323488.tif 000004
【図３】
2007323488.tif 000005
【図４】
2007323488.tif 000006
【図５】
2007323488.tif 000007
【図６】
2007323488.tif 000008
【図７】
2007323488.tif 000009
【図８】
2007323488.tif 000010
【図９】
2007323488.tif 000011
【図１０】
2007323488.tif 000012