(57)【要約】【課題】フラッシュメモリのデータを変更することなく、フラッシュメモリの診断を可能とするコンピュータシステムを提供する。【解決手段】ＣＰＵ１と、ＣＰＵ１に接続されるフラッシュメモリ部２とを備えたコンピュータシステムにおいて、フラッシュメモリ部２に、テストプログラムおよび運用ソフトウェア領域３、５と、ワーク領域６とを備え、テストプログラム領域３に格納しているテストプログラムに、テストプログラムおよび運用ソフトウェア領域３、５の情報をワーク領域６にバックアップ指示を行うバックアップ手段３ａと、バックアップが行われたテストプログラムおよび運用ソフトウェア領域３、５の領域診断を実施させる診断指示手段３ｂと、領域診断後にワーク領域６にバックアップされた情報をテストプログラムおよび運用ソフトウェア領域３、５の元の領域に戻す指示を行う戻し手段３ｃとを備えるものである。【選択図】        図１
2004151901.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、上記ＣＰＵに接続されるフラッシュメモリ部とを備えたコンピュータシステムにおいて、上記フラッシュメモリ部に、情報書き込み領域と、バックアップ領域とを備え、上記情報書き込み領域の一部にテストプログラム領域を備え、上記テストプログラム領域に、上記情報書き込み領域の情報を上記バックアップ領域にバックアップ指示を行うバックアップ手段と、上記バックアップが行われた上記情報書き込み領域の領域診断を実施させる診断指示手段と、上記領域診断後に上記バックアップ領域にバックアップされた上記情報を上記情報書き込み領域の元の領域に戻す指示を行う戻し手段とを備えたことを特徴とするコンピュータシステム。
【請求項２】
上記テストプログラム領域には上記フラッシュメモリ部の上記テストプログラム領域以外の領域の上記領域診断を行うためのテストプログラムが書き込まれ、上記診断指示手段は、上記バックアップ手段に上記テストプログラム領域以外の領域の情報のバックアップが行われると、上記テストプログラムに上記テストプログラム領域以外の上記領域診断の指示を行うことを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
上記情報書き込み領域の一部に補助テストプログラム領域を備え、上記補助テストプログラム領域には上記テストプログラム領域の領域診断を行うための補助テストプログラムが書き込まれ、上記診断指示手段は、上記バックアップ領域に上記テストプログラム領域の情報のバックアップが行われると、上記補助テストプログラムに上記テストプログラム領域の上記領域診断の指示を行うことを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
上記テストプログラム領域には、自己領域診断用テストプログラムが書き込まれ、上記診断指示手段は、上記バックアップ領域に上記テストプログラム領域の情報のバックアップが行われると、上記自己領域診断用テストプログラムに上記テストプログラム領域の上記領域診断の指示を行うことを特徴とする請求項２に記載のコンピュータシステム。
【請求項５】
上記バックアップ領域の大きさは、上記情報書き込み領域の大きさより小さく、上記バックアップ手段は、上記バックアップ領域の大きさに応じた上記情報書き込み領域の情報分毎にバックアップを行うことを特徴とする請求項１ないし請求項４のいずれかに記載のコンピュータシステム。
【請求項６】
上記診断指示手段は、上記バックアップ領域の領域診断を実行する指示を上記情報書き込み領域のバックアップより先に行うことを特徴とする請求項１ないし請求項５のいずれかに記載のコンピュータシステム。
【請求項７】
ＣＰＵと、上記ＣＰＵに接続されフラッシュメモリ部を有するＣＰＵカードとを備えたコンピュータシステムにおいて、上記ＣＰＵカードにＲＡＭ領域を備え、上記フラッシュメモリ部の情報を上記ＲＡＭ領域にバックアップ指示を行うバックアップ手段と、上記バックアップが行われた後の上記フラッシュメモリ部の領域診断を実行させる診断指示手段と、上記領域診断後に上記ＲＡＭ領域にバックアップされた上記情報を上記フラッシュメモリ部の元の領域に戻す指示を行う戻し手段とを備えたことを特徴とするコンピュータシステム。
【請求項８】
上記ＲＡＭ領域の領域は、上記フラッシュメモリ部の領域より大きく、上記バックアップ手段は上記フラッシュメモリ部の情報の全てを上記ＲＡＭ領域にバックアップする指示を行うことを特徴とする請求項７に記載のコンピュータシステム。
【請求項９】
上記領域診断として、ライト／リード／ベリファイチェック診断と、リードチェック診断との２モードを有し、上記テストプログラム領域に上記２モードを切り替える切り替え手段を備え、上記切り替え手段は、上記フラッシュメモリ部の連続動作時には、上記リードチェック診断のモードを、それ以外の時には、上記ライト／リード／ベリファイチェック診断のモードを用いるように切り替えることを特徴とする請求項１ないし請求項８のいずれかに記載のコンピュータシステム。
【請求項１０】
ＣＰＵと、上記ＣＰＵに接続されフラッシュメモリ部とを備えたコンピュータシステムにおいて、上記フラッシュメモリ部に、情報書き込み領域と、書き換え可能領域とを備え、上記書き換え可能領域でライト／リード／ベリファイチェック診断を行い、上記フラッシュメモリ部の工作不良にともなう全てのデータビットおよび制御信号のチェックを行う第１の診断手段と、上記フラッシュメモリ部の全てのアドレスビットの診断を行える分の、上記情報書き込み領域のサム値チェックを行い、上記フラッシュメモリ部の工作不良にともなうアドレスビットのチェックを行う第２の診断手段とを備えたことを特徴とするコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、フラッシュメモリなどの書き換え可能な不揮発性メモリを有するＣＰＵカードを備えたコンピュータシステムにおけるメモリ診断に関するものである。
【０００２】
【従来の技術】
従来、コンピュータシステムは、システム全体の制御を司るＣＰＵ、電源投入時に最初に実行されるプログラムを格納するためのブートＲＯＭ、コンピュータ内部の故障診断のための試験および診断を行うためのテストプログラムを格納しているテストプログラム内蔵ＲＯＭ、ハードウエアを制御するための各種のシステムＢＩＯＳ等が格納されているＢＩＯＳＲＯＭにて構成されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平７−３１９８５８号公報（段落００１４から段落００１９）
【０００４】
【発明が解決しようとする課題】
従来のコンピュータシステムは以上のように構成され、テストプログラム内蔵ＲＯＭおよびＢＩＯＳＲＯＭは故障発生時やプログラムのバージョンアップをオンボードで行うことが出来るようにするために、書き換え可能な不揮発性メモリであるフラッシュメモリなどで構成されている。ブートＲＯＭは電源投入時に最初に実行される領域であり、また、テストプログラム内蔵ＲＯＭおよびＢＩＯＳＲＯＭを書き換えるためのプログラムを備えていることから、書き換わってはいけない領域であるためオンボードで書き換え不可能なＲＯＭで構成されている。
【０００５】
しかし、近年は不揮発性メモリであるフラッシュメモリの中に、セクター毎に書き込みと消去の両方を無効にする保護機能を備えているものがあり、この機能を使用して、ブート領域を保護することにより、ブート領域、テストプログラム領域、ＢＩＯＳ領域を別々のメモリではなく、１個のフラッシュメモリ内に実装することが可能となっている。
【０００６】
これらのような従来のＣＰＵカードのフラッシュメモリ診断は、通常すべてのデータラインおよびアドレスラインをチェックするために全領域にデータをライトし、その後リードし、そのライトデータとリードデータとが一致することを確認する。しかし、この方法では診断するメモリに格納しているデータが書き換わってしまうため、そのメモリにブート領域、テストプログラム領域、ＢＩＯＳ領域などのプログラムを格納したい場合には、メモリの診断が完了してからプログラムを書き込む必要があった。
【０００７】
したがって、フラッシュメモリにプログラムを書き込みたい場合、基板実装前にフラッシュライタにて書き込んでおくことが出来ず、基板実装後、そしてメモリ診断後にＩＣＥなどを使用してプログラムを書き込む必要がある。よって、フラッシュメモリのプログラム書き込みに時間を要するという問題点があった。また、実利用後にフラッシュメモリの診断を行った場合も、その診断後に再度運用ソフトウェアを書き込まなければならないなどの問題点があった。
【０００８】
この発明は上記のような課題を解決するためになされたものであり、フラッシュメモリのデータを変更することなく、フラッシュメモリの診断を可能とするコンピュータシステムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
この発明に係るコンピュータシステムは、ＣＰＵと、ＣＰＵに接続されるフラッシュメモリ部とを備えたコンピュータシステムにおいて、フラッシュメモリ部に、情報書き込み領域と、バックアップ領域とを備え、情報書き込み領域の一部にテストプログラム領域を備え、そのテストプログラム領域に、情報書き込み領域の情報をバックアップ領域にバックアップ指示を行うバックアップ手段と、バックアップが行われた情報書き込み領域の領域診断を実施させる診断指示手段と領域診断後にバックアップ領域にバックアップされた情報を情報書き込み領域の元の領域に戻す指示を行う戻し手段とを備えたものである。
【００１０】
【発明の実施の形態】
実施の形態１．
図１はこの発明の実施の形態１のコンピューシステムの構成を示すブロック図である。図において、コンピュータシステムには、フラッシュメモリ部２と、このフラッシュメモリ部２全体をコントロールするためのＣＰＵ１とを備えている。そして、フラッシュメモリ部２は、テストプログラム領域３と、運用ソフトウェア領域５と、補助テストプログラム領域４と、ワーク領域６とから成る。
【００１１】
そして、テストプログラム領域３と、運用ソフトウェア領域５と、補助テストプログラム領域４とは書き換え不可な情報が記録されている情報書き込み領域である。ワーク領域６は書き換え可能な領域である。そして、テストプログラム領域３は、フラッシュメモリ部２内部の他の領域の各機能の試験および診断（領域診断を指す）を行うためのテストプログラム（情報）を格納している。
【００１２】
運用ソフトウェア領域５は、ブートプログラムやＢＩＯＳなどの運用ソフトウェア（情報）を格納している。補助テストプログラム領域４は、テストプログラス領域３の各機能の試験および診断（領域診断）を行うための補助テストプログラム（情報）を格納している。ワーク領域６は、情報をバックアップ格納するためのバックアップ領域である。
【００１３】
テストプログラム領域３と補助テストプログラム領域４とには、情報書き込み領域（テストプログラム領域３と、運用ソフトウェア領域５と、補助テストプログラム領域４とを指す）の情報をワーク領域６にバックアップ指示を行うバックアップ手段３ａ、４ａと、バックアップが行われた情報書き込み領域の領域診断を実施させる診断指示手段３ｂ、４ｂと、領域診断後にワーク領域６にバックアップされた情報を情報書き込み領域の元の領域に戻す指示を行う戻し手段３ｃ、４ｃとを有する。
【００１４】
またここでは、フラッシュメモリ部２の領域は０ｘ１０００＿００００番地から０ｘ１０７Ｆ＿ＦＦＦＦ番地であり、全体が８Ｍバイトある場合について説明する。そのうち、テストプログラム領域３は１Ｍバイトにて成り、アドレスは０ｘ１０００＿００００番地から０ｘ１００Ｆ＿ＦＦＦＦ番地までとする。また、運用ソフトウェア領域５は５Ｍバイトにて成り、アドレスは０ｘ１０１０＿００００番地から０ｘ１０５Ｆ＿ＦＦＦＦ番地までとする。補助テストプログラム領域４は１Ｍバイトにて成り、アドレスは０ｘ１０６０＿００００番地から０ｘ１０６Ｆ＿ＦＦＦＦ番地までとする。また、ワーク領域６は１Ｍバイトにて成り、アドレスは０ｘ１０７０＿００００番地から０ｘ１０７Ｆ＿ＦＦＦＦ番地までとする。
【００１５】
上記のように構成された実施の形態１のコンピュータシステムのフラッシュメモリ診断の動作について図２および図３のフローチャートに基づいて説明する。まず、フラッシュメモリ診断開始され、ＣＰＵ１により診断指示手段３ｂはテストプログラム領域３のテストプログラムにより処理の開始を指示する（図２のステップＳＴ１）。尚、テストプログラム領域３はフラッシュメモリ部２の他の領域、即ち、ワーク領域６、運用ソフトウェア領域５、補助テストプログラム領域４のメモリ診断機能を備えている。そして、このテストプログラム領域３のテストプログラム処理は、このステップＳＴ１から、補助テストプログラム領域４の補助テストプログラム処理に移るまでのステップＳＴ１７まで行なわれる。
【００１６】
まず、ワーク領域６の全領域をイレースし（図２のステップＳＴ２）、ワーク領域６の全領域にインクリメントデータをライトする（図２のステップＳＴ３）。次に、ワーク領域６の全領域をリードする（図２のステップＳＴ４）。次に、そのライトデータとリードデータとが一致しているかどうかを確認する（図２のステップＳＴ５）。そして、全てのデータが一致していれば、ワーク領域６の全領域のリードおよびライト機能の健全性が確認でき、次のステップに進む。また、一箇所でも一致していなければエラー発生としてエラー処理を行う。
【００１７】
次に、運用ソフトウェア領域５の情報をワーク領域６にバックアップできるデータ量毎、即ちここでは、１Ｍバイトのデータ量であるアドレス０ｘ１０１０＿００００番地から０ｘ１０１Ｆ＿ＦＦＦＦ番地のデータを、診断済みであるワーク領域６にバックアップするようにバックアップ手段３ａが指示する（図２のステップＳＴ６）。
【００１８】
次に、運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０１Ｆ＿ＦＦＦＦ番地をイレースする（図２のステップＳＴ７）。次に、運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０１Ｆ＿ＦＦＦＦ番地にインクリメントデータをライトする（図２のステップＳＴ８）。次に、運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０１Ｆ＿ＦＦＦＦ番地をリードする（図２のステップＳＴ９）。
【００１９】
そして、そのライトデータとリードデータとが一致しているかどうかを確認する（図２のステップＳＴ１０）。全てのデータが一致していれば、戻し手段３ｃが指示して、ワーク領域６にバックアップしておいたデータを運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０Ｆ＿ＦＦＦＦ番地に戻し（図２のステップＳＴ１１）、次のステップに進む。また、一箇所でも一致していなければ、エラー発生としてエラー処理を行う。
【００２０】
以上にて、運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地からｘ１０１Ｆ＿ＦＦＦＦ番地の全領域のリードおよびライト機能の健全性が確認できる。そして、この工程（ステップＳＴ６〜ステップＳＴ１１）の処理を運用ソフトウェアの領域０ｘ１０２０＿００００番地から０ｘ１０２Ｆ＿ＦＦＦＦ番地、０ｘ１０３０＿００００番地から０ｘ１０３Ｆ＿ＦＦＦＦ番地、０ｘ１０４０＿００００番地から０ｘ１０４Ｆ＿ＦＦＦＦ番地、０ｘ１０５０＿００００番地から０ｘ１０５Ｆ＿ＦＦＦＦ番地それぞれについて行うと、運用ソフトウェア領域５の全領域のリードおよびライト機能の健全性が確認できる。
【００２１】
次に、バックアップ手段３ａが指示して、補助テストプログラム領域４の全領域のデータを診断済みであるワーク領域６にバックアップする（図３のステップＳＴ１２）。次に、補助テストプログラム領域４の全領域をイレースし（図３のステップＳＴ１３）、補助テストプログラム領域４の全領域にインクリメントデータをライトする（図３のステップＳＴ１４）。次に、補助テストプログラム領域４の全領域をリードする（図３のステップＳＴ１５）。
【００２２】
次に、そのライトデータとリードデータとが一致しているかどうかを確認する（図３のステップＳＴ１６）。そして、全てのデータが一致していれば、戻し手段３ｃが指示して、ワーク領域６にバックアップしておいたデータを補助テストプログラム領域４に戻し（図３のステップＳＴ１７）、次のステップに進む。一箇所でも一致していなければエラー発生としてエラー処理を行う。以上により、補助テストプログラム領域４の全領域のリードおよびライト機能の健全性が確認できる。
【００２３】
次に、診断処理手段３ｂが指示して、診断処理を補助テストプログラム領域４の補助テストプログラムに移す（図３のステップＳＴ１８）。上記においても述べたが、補助テストプログラム領域４はテストプログラム領域３のメモリ診断するための補助テストプログラムを備えている。そして、この補助テストプログラム領域４の補助テストプログラム処理は、このステップＳＴ１８からステップＳＴ２４まで行なわれる。まず、バックアップ手段４ａが指示して、テストプログラム領域３の全領域のデータを診断済みであるワーク領域６にバックアップする（図３のステップＳＴ１９）。
【００２４】
次に、テストプログラム領域３の全領域をイレースし（図３のステップＳＴ２０）、テストプログラム領域３の全領域にインクリメントデータをライトする（図３のステップＳＴ２１）。次に、テストプログラム領域３の全領域をリードする（図３のステップＳＴ２２）。次に、そのライトデータとリードデータとが一致しているかどうかを確認する（図３のステップＳＴ２３）。
【００２５】
そして、全てのデータが一致していれば、戻し手段４ｃが指示して、ワーク領域６にバックアップしておいたテストプログラム領域３のデータをテストプログラム領域３に戻し（図３のステップＳＴ２４）、次のステップに進む。一箇所でも一致していなければエラー発生としてエラー処理を行う。以上により、テストプログラム領域３の全領域のリードおよびライト機能の健全性が確認できる。
【００２６】
上記のように構成された実施の形態１のコンピュータシステムでは、まず書き換え自由なワーク領域の診断を実施し、その後、書き換え不可能な領域を書き換え自由なワーク領域と同一の容量に分割し、その容量分毎に書き換え自由なワーク領域にバックアップをとり、書き換え不可能な領域のライト／リード／ベリファイチェックをした後、バックアップをとっていたデータを戻すことを繰り返すことにより、書き換え不可能な領域のデータを変更することなく、診断することができる。
【００２７】
また、テストプログラム領域を格納している領域を診断するための補助テストプログラム領域を別領域に設け、その補助テストプログラム領域の補助テストプログラムを実行することにより、テストプログラム領域の診断も行えるので、フラッシュメモリ部の全領域のリード機能およびライト機能の健全性を確認することができる。
【００２８】
以上により、フラッシュメモリ部のデータを変更することなく、フラッシュメモリ部の診断が可能となり、フラッシュライタによる基板実装前の運用ソフトウェア書き込みが可能で、フラッシュメモリ部ヘのデータ書き込み時間が短縮できる。また、運用後のフラッシュメモリ部の診断後の再運用ソフトウェア書き込みを不要とするため、その書き込み時間を削減できる。
【００２９】
実施の形態２．
上記実施の形態１では、テストプログラム領域の領域診断を行うための補助テストプログラムを格納する補助テストプログラム領域を備える例を示したが、これに限られることは無く、本実施の形態２においては、テストプログラム領域に自身の領域診断を行うことができるテストプログラムを備えるものについて説明する。
【００３０】
図４はこの発明の実施の形態２のコンピュータシステムの構成を示すブロック図である。図において、上記実施の形態１と同様の部分は同一符号を付して両略する。上記実施の形態１との違いは、補助テストプログラム領域を備えていない点。また、テストプログラム領域３のテストプログラムが、フラッシュメモリ部２のテストプログラム領域３以外の領域（ここでは運用ソフト領域５およびワーク領域６を指す）の領域診断およびテストプログラム領域３自体の領域診断をできるようなものとする点。また、運用ソフトウェア領域５のデータ量が、予備テストプログラム領域分を加算することができるため、６Ｍバイトと成る点であり、アドレスは０ｘ１０１０＿００００番地から０ｘ１０６Ｆ＿ＦＦＦＦ番地までとする。
【００３１】
上記のように構成された実施の形態２のコンピュータシステムのフラッシュメモリ診断の動作について図５および図６のフローチャートに基づいて説明する。まず、上記実施の形態１と同様に、フラッシュメモリ診断開始され、ＣＰＵ１により診断指示手段３ｂはテストプログラム領域３のテストプログラムの処理の開始を指示する（図５のステップＳＴ２５）。
【００３２】
尚、テストプログラム領域３はフラッシュメモリ部２の全の領域、即ち、テストプログラム領域３自身も含むメモリ診断機能を備えてる。そして、このテストプログラム領域３のテストプログラム処理は、このステップＳＴ２５からステップＳＴ４２まで行なわれることと成る。
【００３３】
まず、ワーク領域６の全領域をイレースし（図５のステップＳＴ２６）、ワーク領域６の全領域にインクリメントデータをライトする（図５のステップＳＴ２７）。次に、ワーク領域６の全領域をリードする（図５のステップＳＴ２８）。次に、そのライトデータとリードデータとが一致しているかどうかを確認する（図５のステップＳＴ２９）。そして、全てのデータが一致していれば、ワーク領域６の全領域のリードおよびライト機能の健全性が確認でき、次のステップに進む。また、一箇所でも一致していなければエラー発生としてエラー処理を行う。
【００３４】
次に、運用ソフトウェア領域５の情報をワーク領域６にバックアップできるデータ量毎、即ちここでは、１Ｍバイトのデータ量であるアドレス０ｘ１０１０＿００００番地から０ｘ１０１Ｆ＿ＦＦＦＦ番地のデータを、診断済みであるワーク領域６にバックアップするようにバックアップ手段３ａが指示する（図５のステップＳＴ３０）。
【００３５】
次に、運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０１Ｆ＿ＦＦＦＦ番地をイレースする（図５のステップＳＴ３１）。次に、運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０１Ｆ＿ＦＦＦＦ番地にインクリメントデータをライトする（図５のステップＳＴ３２）。次に、運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０１Ｆ＿ＦＦＦＦ番地をリードする（図５のステップＳＴ３３）。
【００３６】
そして、そのライトデータとリードデータとが一致しているかどうかを確認する（図５のステップＳＴ３４）。全てのデータが一致していれば、戻し手段３ｃが指示して、ワーク領域６にバックアップしておいたデータを運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０Ｆ＿ＦＦＦＦ番地に戻し（図５のステップＳＴ３５）、次のステップに進む。また、一箇所でも一致していなければ、エラー発生としてエラー処理を行う。
【００３７】
以上にて、運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地からｘ１０１Ｆ＿ＦＦＦＦ番地の全領域のリードおよびライト機能の健全性が確認できる。そして、この工程（ステップＳＴ３０〜ステップＳＴ３５）の処理を運用ソフトウェア領域５の領域０ｘ１０２０＿００００番地から０ｘ１０２Ｆ＿ＦＦＦＦ番地、０ｘ１０３０＿００００番地から０ｘ１０３Ｆ＿ＦＦＦＦ番地、０ｘ１０４０＿００００番地から０ｘ１０４Ｆ＿ＦＦＦＦ番地、０ｘ１０５０＿００００番地から０ｘ１０５Ｆ＿ＦＦＦＦ番地、０ｘ１０６０＿００００番地から０ｘ１０６Ｆ＿ＦＦＦＦ番地のそれぞれについて行うと、運用ソフトウェア領域５の全領域のリードおよびライト機能の健全性が確認できる。
【００３８】
次に、バックアップ手段３ａの指示により、テストプログラム領域３の全領域のデータを診断済みであるワーク領域６にバックアップする（図６のステップＳＴ３６）。もともとテストプログラム領域３にはテストプログラム領域３自身を領域診断するプログラムが組み込まれているため、診断指示手段３ｂの指示によりワーク領域６にバックアップしたテストプログラム領域３のテストプログラムに、テストプログラム領域３を診断する処理を移す（図６のステップＳＴ３７）。
【００３９】
次に、テストプログラム領域３全領域をイレースし（図６のステップＳＴ３８）、テストプログラム領域３の全領域にインクリメントデータをライトする（図６のステップＳＴ３９）。次に、テストプログラム領域３の全領域をリードし（図６のステップＳＴ４０）、そのライトデータとリードデータとが一致しているかどうかを確認する（図６のステップＳＴ４１）。
【００４０】
そして、全てのデータが一致していれば、戻し手段３ｃの指示により、ワーク領域６にバックアップしておいたデータをテストプログラム領域３に戻し（図６のステップＳＴ４２）、次のステップに進む。また、一箇所でも一致していなければエラー発生としてエラー処理を行う。以上により、テストプログラム領域３の全領域のリードおよびライト機能の健全性が確認できる。
【００４１】
上記のように構成された実施の形態２のコンピュータシステムは、上記実施の形態１と同様に、まず書き換え自由な領域の診断を実施し、その後、書き換え不可能な領域を書き換え自由な領域と同一の容量に分割し、その容量分毎に書き換え自由な領域にバックアップをとり、書き換え不可能な領域のライト／リード／ベリファイチェックをした後、バックアップをとっていたデータを戻すことを繰り返すことにより、書き換え不可能な領域のデータを変更することなく、診断することができる。
【００４２】
また、テストプログラムを格納しているテストプログラム領域を診断するためのテストプログラムをテストプログラム領域自身内に設け、そのテストプログラム領域を書き換え自由なワーク領域にバックアップした後、そのバックアップしたワーク領域上でテストプログラム領域のライト／リード／ベリファイチェックを実行することにより、テストプログラム領域の診断も行えるので、フラッシュメモリ部の全領域のリード機能およびライト機能の健全性を確認することができる。よって、テストプログラム領域の領域診断のために、フラッシュメモリ部の他の領域を使用することが無くなり、フラッシュメモリ部の運用ソフトウェア領域の使用領域を多く確保することができる。
【００４３】
以上により、上記実施の形態１と同様に、フラッシュメモリ部のデータを変更することなく、フラッシュメモリ部の診断が可能となり、フラッシュライタによる基板実装前の運用ソフトウェア書き込みが可能で、フラッシュメモリ部ヘのデータ書き込み時間が短縮できる。また、運用後のフラッシュメモリ部の診断後の再運用ソフトウェア書き込みを不要とするため、その書き込み時間を削減できる。
【００４４】
実施の形態３．
上記実施の形態１および実施の形態２では、フラッシュメモリ部の領域の一部にバックアップ領域を備える例を示したが、これに限られることは無く、本実施の形態３においては、フラッシュメモリ部とは別にＲＡＭ部を備えるものについて説明する。
【００４５】
図７はこの発明の実施の形態３のコンピュータシステムの構成を示すブロック図である。図において、上記実施の形態２と同様の部分は同一符号を付して説明を省略する。上記各実施の形態との違いは、ＣＰＵ１にバス接続されたＣＰＵカード１００にフラッシュメモリ部２とＲＡＭ部７とを備えた点であり、このＲＡＭ部７の容量はフラッシュメモリ部２の容量より大きい容量にてなる。
【００４６】
ここでは、例として、ＣＰＵ１から見たフラッシュメモリ部２の領域は０ｘ１０００＿００００番地から０ｘ１０７Ｆ＿ＦＦＦＦ番地であり８Ｍバイト有するものとする。その内、テストプログラム領域１の領域は０ｘ１０００＿００００番地から０ｘ１００Ｆ＿ＦＦＦＦ番地で、１Ｍバイト有するものとする。また、運用ソフトウェア領域５の領域は０ｘ１０１０＿００００番地から０ｘ１０７Ｆ＿ＦＦＦＦ番地で、７Ｍバイト有するものとする。また、ＣＰＵ１から見たＲＡＭ部７の領域は０ｘ００００＿００００番地から０ｘ００ＦＦ＿ＦＦＦＦ番地で、１６Ｍバイト有するものとする。
【００４７】
次に上記のように構成された実施の形態３のコンピュータシステムにフラッシュメモリ診断方法について、図８のフローチャートに基づいて説明する。フラッシュメモリ診断開始され、ＣＰＵ１により診断指示手段３ｂはテストプログラム領域３のテストプログラムの処理の開始を指示する（図８のステップＳＴ４４）。
【００４８】
尚、テストプログラム領域３はフラッシュメモリ部２の全領域、即ち、テストプログラム領域３自身の含むメモリ診断機能を備えてる。そして、このテストプログラム領域３のテストプログラム処理は、このステップＳＴ４４からステップＳＴ５２まで行なわれることと成る。
【００４９】
まず、テストプログラム領域３の全領域をＲＡＭ部７の０ｘ００１０＿００００番地から０ｘ００１Ｆ＿ＦＦＦＦ番地にコピーする（図８のステップＳＴ４５）。そして、テストプログラム領域３をコピーしたＲＡＭ部７上のテストプログラムに処理を移し（図８のステップＳＴ４６）、以降、このコピーしたプログラムをＲＡＭ部７上で実行する。次に、テストプログラム領域３と運用ソフトウェア領域５の全領域をＲＡＭ部７の０ｘ００２０＿００００番地から０ｘ００９Ｆ＿ＦＦＦＦ番地にバックアップする（図８のステップＳＴ４７）。
【００５０】
次に、テストプログラム領域３と運用ソフトウェア領域５との全領域をイレースする（図８のステップＳＴ４８）。次に、テストプログラム領域３と運用ソフトウェア領域５の全領域にインクリメントデータをライトする（図８のステップＳＴ４９）。次に、テストプログラム領域３と運用ソフトウェア領域５との全領域をリードし（図８のステップＳＴ５０）、そのライトデータとリードデータとが一致しているかどうかを確認する（図８のステップＳＴ５１）。
【００５１】
そして、全てのデータが一致していれば、戻し手段３ｃの指示により、ＲＡＭ部７のＲＡＭ部７の０ｘ００２０＿００００番地から０ｘ００９Ｆ＿ＦＦＦＦ番地にバックアップしておいたデータをテストプログラム領域３および運用ソフトウェア領域５に戻し（図８のステップＳＴ５２）、次のステップに進む。一箇所でも一致していなければエラー発生としてエラー処理を行う。以上により、テストプログラム領域３と運用ソフトウェア領域５との全領域のリードおよびライト機能の健全性が確認できる。
【００５２】
上記のように構成された実施の形態３のコンピュータシステムは、フラッシュメモリ診断において、まずテストプログラム領域をＲＡＭ部上にコピーし、そのＲＡＭ部上のテストプログラムを実行し、フラッシュメモリ部の書き換え不可能な領域をＲＡＭ部上にバックアップし、書き換え不可能な領域のライト／リード／ベリファイチェックをした後、バックアップしていたデータを戻すことにより、書き換え不可能な領域のデータを変更することなく、診断することができる。
【００５３】
以上により、上記各実施の形態と同様に、ＣＰＵカードのフラッシュメモリ部のデータを変更することなく、フラッシュメモリ部の診断が可能となり、フラッシュライタによる基板実装前の運用ソフトウェア書き込みが可能で、フラッシュメモリ部ヘのデータ書き込み時間が短縮できる。また、運用後のフラッシュメモリ部の診断後の再運用ソフトウェア書き込みを不要とするため、その書き込み時間を削減できる。
【００５４】
さらに、本実施の形態３においては、ＣＰＵカード上に充分なＲＡＭ部容量が確保できるため、上記実施の形態１および実施の形態２のような構成ではフラッシュメモリ部上に書き換え可能な領域を充分確保出来ない場合に特に有効である。
【００５５】
実施の形態４．
上記各実施の形態では、フラッシュメモリ部の領域の一部またはＲＡＭ部に情報をバックアップしてフラッシュメモリ部の領域診断を行う例を示したが、これに限られることは無く、本実施の形態４においては、フラッシュメモリ部の工作不良（例えばはんだによる不良などの実装不良を指す）を検出するものについて説明する。
【００５６】
図９はこの発明の実施の形態４のコンピュータシステムの構成を示すブロック図である。図において、上記実施の形態２の同様の部分は同一符号を付して説明を省略する。テストプログラム領域３には第１の診断手段３ｄと、第２の診断手段３ｅとを備える。第１の診断手段３ｄは、書き換え可能領域、ここではワーク領域６でライト／リード／べリファイチェック診断を行い、フラッシュメモリ部の工作不良にともなう全てのデータビットおよび制御信号のチェックを行う。第２の診断手段３ｅはフラッシュメモリ部２の全てのアドレスビットの診断を行える分の、情報書き込み領域、ここでは運用ソフトウェア領域５のサム値チェックを行い、フラッシュメモリ部の工作不良にともなうアドレスビットのチェックを行う。
【００５７】
次に上記のように構成された実施の形態４のコンピュータシステムの診断の動作について図１０のフローチャートに基づいて説明する。まず、あらかじめテストプログラム領域３には運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０４Ｆ＿ＦＦＦＦ番地のデータサム値の情報を格納しておく。
【００５８】
また、フラッシュメモリ部のデータはデータ幅が１６ビットのメモリであるものとする。次に、ＣＰＵ１に形成されている例えば第１の診断手段ワーク領域６の先頭セクタをイレースし（図１０のステップＳＴ５３）、イレースしたワーク領域６の先頭セクタのうちアドレス０ｘ１０７０＿００００番地から０ｘ１０７０＿００１Ｆ番地までに、図１１に示すデータをライトする（図１０のステップＳＴ５４）。
【００５９】
次にワーク領域６の先頭セクタのうちアドレス０ｘ１０７０＿００００番地から０ｘ１０７０＿００１Ｆ番地をリードする（図１０のステップＳＴ５５）。次に、そのライトデータとリードデータとが一致するかどうかを確認する（図１０のステップＳＴ５６）。全てのデータが一致していればワーク領域６の先頭セクタをクリアして（図１０のステップＳＴ５７）、次のステップに進む。一箇所でも一致していなければエラー発生としてエラー処理を行う。
【００６０】
ステップＳＴ５４からステップＳＴ５６にて、ワーク領域６のアドレス０ｘ１０７０＿００００番地から０ｘ１０７０＿００１Ｆ番地にライト／リード／ベリファイするデータを図１１に示す。データラインの最下位ビット０から最上位ビット１５まで、順に“１”をシフトさせたものである。よって、データラインの全てのビット（ここではデータ幅を１６ビットとしているため）の工作不良の検出および、フラッシュメモリ制御信号の工作不良の検出が可能である。
【００６１】
次に、運用ソフトウェア領域５の領域のうち０ｘ１０１０＿００００番地から０ｘ１０４Ｆ＿ＦＦＦＦ番地をリードし、そのチェックサム値を計算する（図１０のステップＳＴ５８）。また、テストプログラム領域３にあらかじめ格納されている運用ソフトウェア領域５の領域０ｘ１０１０＿００００番地から０ｘ１０４Ｆ＿ＦＦＦＦ番地のチェックサム値をリードする（図１０のステップＳＴ５９）。
【００６２】
そのリードしたサム値がステップＳＴ５８で計算したサム値と一致するかどうかを確認するし（図１０のステップＳＴ６０）、一致していれば次のステップに進む。一致していなければエラー発生としてエラー処理を行う。以上より、運用ソフトウェア領域５の領域のうち０ｘ１０１０＿００００番地から０ｘ１０４Ｆ＿ＦＦＦＦ番地に対するリード確認が行える。
【００６３】
この領域へのアクセスによりフラッシュメモリ部２で使用しているアドレス２２ビット分の全において“０”、“１”の変化を行い、確認することができるため、全てのアドレスラインの工作不良の検出が可能である。
【００６４】
上記のように構成された実施の形態４のコンピュータシステムは、フラッシュメモリ診断による書き換え不可能な領域の一部（全アドレスビットを“０”、“１”変化させることのできる領域）でサム値チェックすることにより、全てのアドレスラインの工作不良の検出をおこない、書き換え可能な領域でライト／リード／ベリファイチェックをすることにより全てのデータラインおよび制御ラインの工作不良の検出を行うことができるので、フラッシュメモリ部のデータを変更することなく、全てのデータラインとアドレスラインと制御ラインとの工作不良の検出が可能となる。
【００６５】
よって、フラッシュライタによる基板実装前の運用ソフトウェア書き込みが可能で、フラッシュメモリヘのデータ書き込み時間が短縮できる。また、運用後のフラッシュメモリの診断後の再運用ソフトウェア書き込みを不要とするため、その書き込み時間を削減できる。さらに、全領域のライト／リード／ベリファイチェックが不要となるためフラッシュメモリ診断自体に要する時間を短縮することができる。
【００６６】
実施の形態５．
上記各実施の形態では、フラッシュメモリ部の診断においてライト／リード／ベリファイチェックの方法を用いる例を示したが、フラッシュメモリ部の書き換え回数には制限があるため、環境試験などフラッシュメモリ部の診断プログラムを繰返し実行させる必要がある場合、書き換え回数の制限を越えてしまう可能性がある。
【００６７】
そこで、本実施の形態５においては、ライト／リード／ベリファイチェック診断するモードとリードチェック診断するモードと２モードを設け、テストプログラム領域にこの２モードを切り替える切り替え手段を備えるようにしておく。そして、フラッシュメモリ部が環境試験など連続動作時には、リードチェック診断のモードを使用する。そしてそれ以外の時には、ライト／リード／ベリファイチェック診断するモード用いるようにする。そして、上記のような書き換え回数の制限を越えることが発生しないようにする。
【００６８】
図１２のフローチャートに基づいて実施の形態５の動作について説明する。まず、フラッシュメモリ部の診断の先頭で切り替え手段がモードの判別を行う（図１２のステップＳＴ６１）。モードの設定はスイッチにて設定可能にしておき、ＣＰＵの切り替え手段からそのスイッチの状態をリードすることにより環境試験モードか、それ以外の試験モードに設定されているかを判別する。
【００６９】
環境試験以外のモードに設定されている場合は、まずライト診断を実行し（図１２のステップＳＴ６２）、リード診断を実行し（図１２のステップＳＴ６３）フラッシュメモリ診断を終了する。ライト診断／リード診断とは上記各実施の形態のライト／リード／ベリファイチェック診断と同様動作を指すものである。
【００７０】
図１２のステップＳＴ６１にて環境試験モードに設定されていた場合は、リードチェック診断のみを実行する（図１２のステップＳＴ６４）。そして、これを繰り返す。
【００７１】
上記のように構成された実施の形態５のコンピュータシステムは、環境試験など連続動作のフラッシュメモリ部の診断を行う必要がある場合は、環境試験のモードとしてリードチェック診断のみを行うモードを設けることにより、試験時にフラッシュメモリ部の書き換え可能回数を超えて、書き換えが行うことができなくなることを防ぐことができる。
【００７２】
【発明の効果】
以上のようにこの発明によれば、ＣＰＵと、ＣＰＵに接続されフラッシュメモリ部とを備えたコンピュータシステムにおいて、フラッシュメモリ部に、情報書き込み領域と、バックアップ領域とを備え、ＣＰＵに、情報書き込み領域の情報をバックアップ領域にバックアップ指示を行うバックアップ手段と、バックアップが行われた情報書き込み領域の領域診断を実施させる診断指示手段と領域診断後にバックアップ領域にバックアップされた情報を情報書き込み領域の元の領域に戻す指示を行う戻し手段とを備えので、フラッシュメモリのデータを変更することなく、フラッシュメモリの診断を可能とするコンピュータシステムを提供することが可能となる。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるコンピュータシステムの構成を示すブロック図である。
【図２】図１に示したコンピュータシステムのフラッシュメモリ診断の動作を説明するためのフローチャートを示した図である。
【図３】図１に示したコンピュータシステムのフラッシュメモリ診断の動作を説明するためのフローチャートを示した図である。
【図４】この発明の実施の形態２によるコンピュータシステムの構成を示すブロック図である。
【図５】図４に示したコンピュータシステムのフラッシュメモリ診断の動作を説明するためのフローチャートを示した図である。
【図６】図４に示したコンピュータシステムのフラッシュメモリ診断の動作を説明するためのフローチャートを示した図である。
【図７】この発明の実施の形態３によるコンピュータシステムの構成を示すブロック図である。
【図８】図７に示したコンピュータシステムのフラッシュメモリ診断の動作を説明するためのフローチャートを示した図である。
【図９】この発明の実施の形態４によるコンピュータシステムの構成を示すブロック図である。
【図１０】図９に示したコンピュータシステムのフラッシュメモリ診断の動作を説明するためのフローチャートを示した図である。
【図１１】図９に示したコンピュータシステムのフラッシュメモリ診断にて使用するデータ例を示した図である。
【図１２】この発明の実施の形態５によるコンピュータシステムのフラッシュメモリ診断のフローチャートを示す図である。
【符号の説明】
１  ＣＰＵ、３ａ，４ａ  バックアップ手段、３ｂ，４ｂ  診断指示手段、
３ｃ，４ｃ  戻し手段、３ｄ  第１の診断手段、３ｅ  第２の診断手段、
２  フラッシュメモリ部、３  テストプログラム領域、
４  補助テストプログラム領域、５  運用ソフトウェア領域、６  ワーク領域、
１００  ＣＰＵカード。
【図１】
2004151901.tif 000003
【図２】
2004151901.tif 000004
【図３】
2004151901.tif 000005
【図４】
2004151901.tif 000006
【図５】
2004151901.tif 000007
【図６】
2004151901.tif 000008
【図７】
2004151901.tif 000009
【図８】
2004151901.tif 000010
【図９】
2004151901.tif 000011
【図１０】
2004151901.tif 000012
【図１１】
2004151901.tif 000013
【図１２】
2004151901.tif 000014