(57)【特許請求の範囲】
【請求項１】
通信回線を介して外部のデータ記憶装置と接続され，データに対して所定の処理を行うデータ処理装置であって，
データを記憶する記憶手段と，
前記記憶手段に前記データを書き込む書き込み手段と，
前記書き込み手段による前記記憶手段へのデータの書き込み前または書き込み後に，該データを前記通信回線を介して前記外部のデータ記憶装置に送信する送信手段と，
前記記憶手段に前記データを書き込む前に前記記憶手段から前記データが消去され，前記データが消去された後第１の時間経過後に前記記憶手段の障害の有無を検査するとともに，前記書き込み手段により前記データが前記記憶手段に書き込まれた後第２の時間経過後に前記記憶手段の障害の有無を検査する検査手段とを備え，
前記送信手段は前記検査手段により前記障害が検出されたときに前記データを前記外部のデータ記憶装置に送信することを特徴とするデータ処理装置。
【請求項２】
データを記憶する記憶手段にデータを書き込む前または書き込んだ後に，該データを，通信回線を介して接続された外部のデータ記憶装置に送信し，
前記記憶手段に前記データを書き込む前に前記記憶手段から前記データが消去され，前記データが消去された後第１の時間経過後に前記記憶手段の障害の有無を検査し，
前記データが前記記憶手段に書き込まれた後第２の時間経過後に前記記憶手段の障害の有無を検査し，
前記検査により前記記憶手段に障害が検出されると，前記外部のデータ記憶装置から前記通信回線を介してデータを受信する，
データ記憶方法。
【請求項３】
コンピュータに，
データを記憶する記憶手段にデータを書き込む前または書き込んだ後に，該データを，通信回線を介して接続された外部のデータ記憶装置に送信する手順と，
前記記憶手段に前記データを書き込む前に前記記憶手段から前記データが消去され，前記データが消去された後第１の時間経過後に前記記憶手段の障害の有無を検査する手順と，
前記データが前記記憶手段に書き込まれた後第２の時間経過後に前記記憶手段の障害の有無を検査する手順と，
前記検査により前記記憶手段に障害が検出されると，前記外部のデータ記憶装置から前記通信回線を介してデータを受信する手順と，
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，記憶装置に障害が発生しても処理を停止することなく続行可能なデータ処理装置，データ記憶方法，およびデータ読み出し方法に関する。
【０００２】
【従来の技術】
メモリ，たとえばフラッシュメモリに記憶されたプログラムがＣＰＵにより実行される処理装置では，フラッシュメモリの障害に起因するデータ（プログラム命令等）の誤りによって，処理装置がハングアップ（暴走）することがある。このため，このようなハングアップを防止するために，フラッシュメモリの障害が検出されると，ＣＰＵを停止させる等の処理が行われている。
【０００３】
たとえば，非同期転送モード（ＡＴＭ：Asynchronous Transfer Mode）により通信を行う加入者ライン端末装置（ＳＬＴ：Subscriber Line Terminal）は，該装置の監視制御に関する運用情報のバックアップやＣＰＵのアプリケーションプログラム（たとえば遠隔装置からの制御を受けるためのアプリケーションプログラム）をフラッシュメモリに記憶している。
【０００４】
このフラッシュメモリに障害が発生した場合に，ＳＬＴの処理を実行しているＣＰＵはその処理を停止する。そして，フラッシュメモリの取り替え等を行い，障害が回復した後に，処理が再開されるようになっている。
【０００５】
【発明が解決しようとする課題】
しかし，ＣＰＵ，すなわちＳＬＴが障害回復までの間処理を停止していると，監視機能が停止し，場合によっては，ユーザデータ（主信号）の運用面／非運用面の切り換えが行えず，回線断などの致命的な障害を引き起こすおそれがある。
【０００６】
また，遠隔装置からＳＬＴの制御ができなくなり，オペレータからＳＬＴの状態が見えなくなる障害が発生する。
【０００７】
本発明は，このような状況に鑑みなされたものであり，その目的は，記憶装置（メモリ）に記憶されたデータに基づいて処理を実行する処理装置において，該記憶装置に障害が発生した場合であっても，その処理を停止することなく継続できる処理装置を提供することにある。
【０００８】
【課題を解決するための手段】
前記目的を達成するために，本発明の第１の側面によるデータ処理装置は，通信回線を介して外部のデータ記憶装置と接続され，データに対して所定の処理を行うデータ処理装置であって，データを記憶する記憶手段と，前記記憶手段に前記データを書き込む書き込み手段と，前記書き込み手段による前記記憶手段へのデータの書き込み前または書き込み後に，該データを前記通信回線を介して前記外部のデータ記憶装置に送信する送信手段と，を備えている。
【０００９】
また，本発明の第１の側面によるデータ記憶方法は，データを記憶する記憶手段にデータを書き込む前または書き込んだ後に，該データを，通信回線を介して接続された外部のデータ記憶装置に送信し，前記記憶手段に障害が検出されると，前記外部のデータ記憶装置から前記通信回線を介してデータを受信するものである。
【００１０】
さらに，本発明の第１の側面によるプログラムは，前記データ記憶方法をコンピュータに実行させるものである。
【００１１】
本発明の第１の側面によると，記憶手段へのデータの書き込み前または書き込み後に，該データが前記通信回線を介して前記外部のデータ記憶装置に送信される。この送信されたデータは，外部のデータ記憶装置に記憶される。したがって，記憶手段に障害が発生し，記憶手段に記憶されたデータが正しく読み出せないまたは記憶手段にデータを正しく書き込めない場合であっても，データ処理装置はこのデータを外部の記憶装置からデータを受信し，受信したデータによって処理を実行することができる。これにより，記憶手段に障害が生じても，処理を停止することなく継続することができる。
【００１２】
本発明の第２の側面によるデータ処理装置は，バックアップ用のデータがあらかじめ記憶されている外部のデータ記憶装置と通信回線を介して接続され，データに対して所定の処理を行うデータ処理装置であって，データを記憶する記憶手段と，前記記憶手段に記憶されたデータを読み出す際に，前記記憶手段の障害の有無を検査する検査手段と，前記検査手段により障害が検出されると，前記読み出したデータのバックアップ用のデータを前記通信回線を介して前記外部のデータ記憶装置から受信する受信手段と，を備えている。
【００１３】
また，本発明の第２の側面によるデータ読み出し方法は，バックアップ用のデータがあらかじめ記憶されている外部のデータ記憶装置と通信回線を介して接続され，データに対して所定の処理を行うデータ処理装置のデータ読み出し方法であって，データを記憶する記憶手段に記憶されたデータを読み出す際に，前記記憶手段の障害の有無を検査し，前記検査により障害を検出すると，前記読み出したデータのバックアップ用のデータを前記通信回線を介して前記外部のデータ記憶装置から受信するものである。
【００１４】
本発明の第２の側面によると，記憶手段に記憶されたデータを読み出す際に，記憶手段の障害の有無が検査され，障害が検出されると，読み出したデータのバックアップ用のデータが通信回線を介して外部のデータ記憶装置から受信される。したがって，このデータを受信した装置は，受信したデータにより処理を実行することができる。したがって，記憶手段に障害が生じても，処理を停止することなく継続することができる。
【００１５】
【発明の実施の形態】
図１は，本発明の一実施の形態による通信システムの構成を示すブロック図である。この通信システムは，エレメントマネージャ１，加入者ライン端末（ＳＬＴ：Subscriber Line Terminal）２1および２2，光ライン端末装置（ＯＬＴ：Optical Line Termination）３1〜３4，ならびにユーザ端末４1〜４8を有する。
【００１６】
この通信システムは，ユーザ端末４1〜４8を使用するエンドユーザのデータ（ユーザの音声，テキストデータ，画像データ等であり，以下「ユーザデータ」という。）をスイッチング（交換）するデータ交換ネットワークである。
【００１７】
ここでは，一例として，２つのＳＬＴ２1および２2を示しているが，ＳＬＴは１つであってもよいし，３つ以上であってもよい。また，ＯＬＴも各ＳＬＴに対して２つずつ示しているが，これ以外の個数であってもよい。さらに，ユーザ端末も図示する個数以外のものが設けられてもよい。以下では，ＳＬＴ２1および２2を特に区別する必要がある場合を除き「ＳＬＴ２」と総称する。同様にして，ＯＬＴ３1〜３4をＯＬＴ３と総称し，ユーザ端末４1〜４8をユーザ端末４と総称する。
【００１８】
エレメントマネージャ１とＳＬＴ２との間は，通信ネットワーク（たとえばイーサネット等のＬＡＮ）５により接続されている。エレメントマネージャ１およびＳＬＴ２は，通信ネットワーク５における識別情報（たとえばＩＰアドレス）を有し，この識別情報に基づいて相互に通信する。
【００１９】
ＳＬＴ２同士の間，および，ＳＬＴ２とＯＬＴ３との間は，光ファイバケーブルにより接続され，これらの間では，非同期転送モード（ＡＴＭ：Asynchronous Transfer Mode）によりデータが通信される。ＯＬＴ３とユーザ端末４との間は，ユーザ端末４に応じて，光ファイバケーブルまたは電気回線により接続され，これらの間では，ユーザ端末に応じてＡＴＭ，ＩＰパケット等によりデータが通信される。
【００２０】
エレメントマネージャ１は，コンピュータ，ワークステーション等により構成される。エレメントマネージャ１は，ＳＬＴ２に必要なプログラム（たとえばファームウェア）をＳＬＴ２に通信ネットワーク５を介して送信するとともに，後述するように，ＳＬＴ２から通信ネットワーク５を介して送信されるプログラム，監視情報等のデータを記憶装置（ハードディスク，光ディスク，半導体メモリ等）１１にバックアップ用として記憶する。そして，ＳＬＴ２の内部のメモリに障害が発生し，ＳＬＴ２がメモリに記憶されたデータを使用できなくなった場合等に，エレメントマネージャ１は，バックアップ用として記憶装置１１に記憶されたデータをＳＬＴ２に送信する。
【００２１】
ユーザ端末４は，エンドユーザが使用する端末であり，たとえば電話器，パソコン等である。ユーザ端末４は，ユーザデータをＯＬＴ３に送信する。ＯＬＴ３は，自己に接続されたユーザ端末４またはＳＬＴ２からのユーザデータを他のユーザ端末４またはＳＬＴ２にスイッチング（交換）する。ＳＬＴ２は，ユーザ端末４からＯＬＴ３を介して送信されたユーザデータを他のＯＬＴ３または他のＳＬＴ２に交換する。
【００２２】
図２は，ＳＬＴ２の詳細な構成を示すブロック図である。ＳＬＴ２は，監視装置２１，スイッチ２２，およびインタフェース装置２３〜２５を有する。
【００２３】
インタフェース装置２３は他のＳＬＴ２に接続され，インタフェース装置２４および２５はＯＬＴ３に接続される。インタフェース装置２３〜２５は，電気信号と光信号の相互変換，レイヤ１（および２）の通信プロトコルの処理等を行う。インタフェース装置２３〜２５は，それぞれ２つ設けられ，一方に障害が発生した場合には，監視装置２１によって切り替えられ，他方が使用されるようになっている。
【００２４】
スイッチ２２は，インタフェース装置２４または２５を介して入力されるＯＬＴ３からのユーザデータおよびインタフェース装置２３を介して入力される他のＳＬＴ２からのユーザデータのスイッチングを行い，これらのユーザデータを他のインタフェース装置に出力する。
【００２５】
監視装置２１は，スイッチ２２およびインタフェース装置２３〜２４の状態の監視，インタフェース装置２３〜２５の切り替え等を行う。図３は，監視装置２１の詳細な構成を示すブロック図である。また，図４は，監視装置２１のフラッシュメモリユニット３６の詳細な構成を示すブロック図である。
【００２６】
監視装置２１は，ＬＡＮ（Local Area Network）ポート３１，ＣＰＵ３２，ブートＲＯＭ３３，管理情報格納用ＥＥＰＲＯＭ３４，ワーク用ＳＤＲＡＭ３５，およびフラッシュメモリユニット３６を有する。フラッシュメモリユニット３６は，４つのフラッシュメモリ４１ａ〜４１ｄ，４つのパリティチェック回路４２ａ〜４２ｄ，ならびにレジスタ４３および４４を有する。
【００２７】
ＣＰＵ３２，ＬＡＮポート３１，ブート用ＲＯＭ３３，管理情報格納用ＥＥＰＲＯＭ３４，ワーク用ＳＤＲＡＭ３５，およびフラッシュメモリユニット３６は，バス（アドレスバスおよびデータバスを含む。）により相互に接続されている。
【００２８】
ＬＡＮポート３１は，インターネット５を介してエレメントマネージャ１と通信するためのインタフェース装置であり，主としてレイヤ１および２の通信プロトコルの処理を実行する。
【００２９】
ブートＲＯＭ３３は，ＳＬＴ２（監視装置２１）の立ち上げ時に起動されるブートプログラムを記憶している。管理情報格納用ＥＥＰＲＯＭ３４には，このＳＬＴ２の識別情報（ＩＰアドレス，ＭＡＣアドレス）等の管理情報が記憶される。ワーク用ＳＤＲＡＭ３５は，ＣＰＵ３２のワーク領域に使用されるメモリであり，フラッシュメモリユニット３６に記憶されたプログラム，ＣＰＵ３２の処理により生成されるデータ等が一時的に記憶される。
【００３０】
フラッシュメモリユニット３６には，ＳＬＴ２のバックアップ用の運用情報，アプリケーションプログラム（ファームウェア）等が記憶される。アプリケーションプログラムは，複数種類のものが設けられても良い。この場合には，アプリケーションプログラムの種類の個数に応じたフラッシュメモリユニット３６が設けられることがある。
【００３１】
フラッシュメモリユニット３６のフラッシュメモリ４１ａ〜４１ｄは同一の構成を有するフラッシュメモリである。フラッシュメモリ４１ａ〜４１ｄのそれぞれの各メモリセルは一例として９ビットを有する。９ビットのうちの８ビットにはデータ（アプリケーションプログラムの命令，運用情報等）が記憶され，残りの１ビットには８ビットのデータに対するパリティチェックビットが記憶される。
【００３２】
フラッシュメモリ４１ａ〜４１ｄへのデータ書き込み時に，ＣＰＵ３２は，データの書き込み先のメモリセルを指定するアドレスおよび書き込むためのデータ（ならびに図示しない信号線により書き込み信号）をフラッシュメモリ４１ａ〜４１ｄに出力する。アドレスはフラッシュメモリ４１ａ〜４１ｄに同時に与えられる。書き込むためのデータは３２ビットであり，この３２ビットデータは，第１ビットから第３２ビットに向けて４つの８ビットデータに分けられ，各８ビットデータは，フラッシュメモリ４１ａ〜４１ｄにそれぞれ与えられ，アドレスが示すメモリセルに記憶される。
【００３３】
このデータ書き込み時に，各８ビットデータは，パリティチェック回路４２ａ〜４２ｄにも与えられる。パリティチェック回路４２ａ〜４２ｄは，各８ビットデータのパリティビットを生成し，このパリティビットを，アドレスで示されるフラッシュメモリ４１ａ〜４１ｄの各メモリセルの第９ビットにそれぞれ書き込む。パリティビットは，奇数パリティであってもよいし，偶数パリティであってもよい。
【００３４】
一方，フラッシュメモリ４１ａ〜４１ｄからのデータ読み出し時に，ＣＰＵ３２は，データの読み出し先のメモリセルを指定するアドレス（および図示しない信号線により読み出し信号）をフラッシュメモリ４１ａ〜４１ｄに出力する。フラッシュメモリ４１ａ〜４１ｄは，アドレスにより指定されたメモリセルから，それぞれ８ビットデータを出力する。これにより，合計３２ビットデータが読み出され，ＣＰＵ３２に与えられる。
【００３５】
このデータ読み出し時に，フラッシュメモリ４１ａ〜４１ｄからの各８ビットデータに加えて，各８ビットデータに対応するパリティチェックビットが，フラッシュメモリ４１ａ〜４１ｄからパリティチェック回路４２ａ〜４２ｄにそれぞれ与えられる。
【００３６】
パリティチェック回路４２ａ〜４２ｄは，フラッシュメモリ４１ａ〜４１ｄからそれぞれ与えられた８ビットデータおよびパリティチェックビットを照合することによりパリティチェックを行い，チェック結果をレジスタ４３に出力する。チェック結果は，たとえばパリティエラーが生じている場合には１ビットデータの“１”であり，正常な場合（パリティエラーが生じていない場合）には１ビットデータの“０”である。
【００３７】
レジスタ４３は，たとえば４ビットを有する。各ビットはパリティチェック回路４２ａ〜４２ｄにそれぞれ対応し，パリティチェック回路４２ａ〜４２ｄのチェック結果を記憶する。したがって，４ビットのいずれが“１”であるかによって，フラッシュメモリ４１ａ〜４１ｄのいずれがパリティエラーを起こしているかを判断することができる。
【００３８】
レジスタ４３に記憶されたチェック結果は，ＣＰＵ３２により読み出され，パリティエラーの有無がＣＰＵ３２により判断される。
【００３９】
レジスタ４４はたとえば４ビットを有し，各ビットはフラッシュメモリ４１ａ〜４１ｄのそれぞれのビジー信号の出力の有無を記憶する。このビジー信号は，フラッシュメモリ４１ａ〜４１ｄにデータを書き込んだ後，または，フラッシュメモリ４１ａ〜４１ｄに記憶されたデータを消去した後に，所定の時間の間，フラッシュメモリ４１ａ〜４１ｄから出力される信号である。このビジー信号が出力されている間，データの書き込みおよび消去を行うことができず，またデータを読み出す場合も，ビジー信号出力中は，データの値がトグル状態（後述）にあり，一定していないので，正確なデータを読み出すことはできない。
【００４０】
ビジー信号が出力される所定の時間は，フラッシュメモリ４１ａ〜４１ｄに使用されるメモリ回路（たとえば半導体チップ）の種類に応じてあらかじめ定まっている。また，データ書き込み後にビジー信号が出力される時間と，データ消去後にビジー信号が出力される時間とは，同じ場合もあるし，異なる場合もある。以下では，データ消去後にビジー信号が出力される時間をＴ１とし，データ書き込み後にビジー信号が出力される時間をＴ２とする。
【００４１】
なお，フラッシュメモリ４１にデータを書き込む場合には，一旦，データを書き込むアドレスのメモリセルのデータが消去された後，データが書き込まれる。
【００４２】
このビジー信号が出力されている間，レジスタ４４の対応するビットは“１”に設定され，ビジー信号の出力が停止すると，該ビットは“０”に設定される。
【００４３】
このレジスタ４４に記憶された４ビットデータは，ＣＰＵ３２により読み出される。ＣＰＵ３２は，データ書き込み後，たとえばウォッチドックタイマ等で時間Ｔ２を計測し，時間Ｔ２経過後もレジスタ４４のビットの値が“１”である場合には，そのビットに対応するフラッシュメモリに障害が発生していると判断することができる。
【００４４】
同様にして，ＣＰＵ３２は，データ消去後，時間Ｔ１を計測し，時間Ｔ１経過後もレジスタ４４のビットの値が“１”である場合には，そのビットに対応するフラッシュメモリに障害が発生していると判断することができる。
【００４５】
なお，ビジー信号の出力端子を有しないフラッシュメモリもある。この場合には，ポーリングにより障害の有無がチェックされる。すなわち，ＣＰＵ３２は，データ書き込み後，所定の時間間隔で書き込んだデータを読み出す。データ書き込み後の時間Ｔ２の間は，読み出されたデータの少なくとも１ビットは“０”と“１”とを交互に繰り返すトグル状態にある。一方，時間Ｔ２経過後，フラッシュメモリが正常である場合には，トグル状態が解消され，書き込んだデータを正確に読み出すことができるようになっている。フラッシュメモリに障害が発生している場合には，トグル状態が解消されず，書き込んだデータを正確に読み出すことはできない。
【００４６】
したがって，ＣＰＵ３２は，時間Ｔ２の経過後においても，フラッシュメモリがトグル状態にあるかどうかをポーリングにより判断することによって，フラッシュメモリが正常であるか，障害が発生しているかを判断することができる。
【００４７】
データ消去後も，同様にして時間Ｔ１経過後におけるトグル状態の有無をポーリングにより検知することによって，フラッシュメモリの障害の有無を判断することができる。
【００４８】
このような構成の通信システムにおいて，ＳＬＴ２のフラッシュメモリ４１ａ〜４１ｄ（以下，特に区別する必要がある場合を除き「フラッシュメモリ４１」と総称する。）に障害が発生した場合において，ＣＰＵ３２を停止することなく，処理を継続するためのＣＰＵ３２（ＳＬＴ２）の処理について以下に説明する。この処理には，いくつかの方法があるので，以下では分けて説明する。
【００４９】
（１）第１の方法
第１の方法は，パリティエラーの発生したデータの部分をエレメントマネージャ１から受け取るものである。図５は，第１の方法による処理の流れを示すフローチャートである。
【００５０】
ステップＳ２は，ＣＰＵ３２がたとえばブートＲＯＭ３３に記憶されたブートプログラム，または，フラッシュメモリ４１もしくはワーク用ＳＤＲＡＭ３５に記憶されたアプリケーションプログラムの実行中において，フラッシュメモリ４１にデータを書き込む際に実行される処理である。
【００５１】
ブートプログラムまたはアプリケーションプログラムの実行中にフラッシュメモリ４１へのデータ（たとえば監視情報）の書き込みが行われると（Ｓ１），ＣＰＵ３２は，フラッシュメモリ４１へのデータの書き込み後，同じデータをパケットにより，ＬＡＮポート３１を介してエレメントマネージャ１に送信する（Ｓ２）。
【００５２】
図６は，ＳＬＴ２からエレメントマネージャ１に送信されるパケット（ペイロード部）のデータ構造を示している。このパケットは，たとえばＩＰパケットであり，図６では，パケットのヘッダ部の図示を省略し，ペイロード部のみを図示している。パケットのペイロード部には，ＳＬＴ識別情報，フラッシュメモリ識別情報，アドレス，およびデータが含まれる。
【００５３】
「ＳＬＴ識別情報」は，データを送信するＳＬＴ２の識別情報（たとえばＩＰアドレス）である。
【００５４】
「フラッシュメモリ識別情報」は，フラッシュメモリをメモリ回路（半導体チップ）単位で識別するための情報である。たとえば，図４に示す構成では，フラッシュメモリ４１ａ〜４１ｄの個々を識別する情報がフラッシュメモリ識別情報となる。また，前述したようにフラッシュメモリユニット３６がアプリケーションプログラムの種類に応じて複数個設けられている場合に各フラッシュメモリユニット３６の識別情報および該フラッシュメモリユニット３６の内部におけるメモリ回路単位の識別情報である。
【００５５】
「アドレス」は，データを書き込んだフラッシュメモリ４１のアドレスであり，「データ」は，フラッシュメモリ４１に書き込まれたデータである。
【００５６】
なお，ＳＬＴ２から送信されるパケットがＩＰパケットの場合に，送信元のＳＬＴ２のＩＰアドレスはＩＰパケットのヘッダ部に含まれるので，この場合には「ＳＬＴ識別情報」は省略可能である。
【００５７】
エレメントマネージャ１は，ＳＬＴ２から送信されたパケットを自己の記憶装置１１に記憶する。エレメントマネージャ１の記憶装置１１に記憶されるデータ構造も，図６に示すパケットのペイロード部のデータ構造と同じである。
【００５８】
このようにして，ＣＰＵ３２がフラッシュメモリ４１に書き込んだデータと同一のデータがエレメントマネージャ１にバックアップ用として保存され，エレメントマネージャ１は，フラッシュメモリ４１に記憶されたデータと同一内容のデータを有する。なお，ステップＳ１の前にステップＳ２が実行されてもよい。
【００５９】
一方，ステップＳ４〜Ｓ７は，ＣＰＵ３２がたとえばブートプログラムまたはアプリケーションプログラムの実行中において，フラッシュメモリ４１にデータを書き込む際に実行される処理である。
【００６０】
ブートプログラムまたはアプリケーションプログラムの実行中にフラッシュメモリ４１へのデータの読み出しが行われると（Ｓ３），ＣＰＵ３２は，フラッシュメモリ４１からデータを読み出した後，レジスタ４３の内容を読み出す（Ｓ４）。このレジスタ４３には，ＣＰＵ３２により読み出されたデータのパリティチェック結果がパリティチェック回路４２ａ〜４２ｄによって格納されている。
【００６１】
続いて，ＣＰＵ３２は，レジスタ４３の値に基づいてパリティエラーが発生しているかどうかを判断する（Ｓ５）。パリティエラーが発生している場合（たとえば４ビットの少なくとも１ビットが“１”である場合）には（Ｓ５でＹＥＳ），ＣＰＵ３２は，パリティエラーの発生しているアドレスのデータ送信要求をパケットによりエレメントマネージャ１に送信する（Ｓ６）。
【００６２】
このデータ送信要求のパケットは，図６に示すパケットとほぼ同様に，ペイロード部に「ＳＬＴ識別情報」，「フラッシュメモリ識別情報」，および「アドレス」が含まれ，「データ」の部分には，データ送信要求を表す情報が含まれる。
【００６３】
エレメントマネージャ１は，ＳＬＴ２からデータ送信要求を受信すると，該データ送信要求に含まれるＳＬＴ識別情報，フラッシュメモリ識別情報，およびアドレスに対応するデータを記憶装置１１から読み出し，読み出したデータを，データ送信要求を送信したＳＬＴ２に返信する。これにより，パリティエラーが検出されたデータと同一のデータがエレメントマネージャ１からＳＬＴ２に返信される。
【００６４】
ＳＬＴ２のＣＰＵ３２は，返信されたデータを受信すると，このデータをたとえばワーク用ＳＤＲＡＭ３５に記憶し，以後，返信されたデータに基づいてプログラムの処理を継続する。
【００６５】
一方，ステップＳ５においてパリティエラーが発生していない場合には（Ｓ５でＮＯ），ＣＰＵ３２は読み出したデータに基づいてプログラムの処理を継続する。
【００６６】
このように，この第１の方法によると，フラッシュメモリ４１に障害が生じ，正確なデータが読み出せない場合であっても，ＣＰＵ３２はエレメントマネージャ１にバックアップ用に保存されたデータを利用することにより，その動作を停止することなく，プログラムの実行を継続することができる。
【００６７】
なお，ステップＳ７でエレメントマネージャ１から受信するデータは，４つのフラッシュメモリ４１ａ〜４１ｄから同時に読み出される３２ビットデータであってもよいし，３２ビットデータのうち，パリティエラーが検出された８ビットデータ（または１６ビット，２４ビットデータ）部分であってもよい。
【００６８】
また，ステップＳ２およびＳ４〜Ｓ７の処理は，ブートプログラムまたはアプリケーションプログラム内にプログラム命令として記述されていてもよいし，あるいは，フラッシュメモリ４１へのデータの書き込みまたは読み出し実行時にＣＰＵ３２に割り込みが発生するように構成されている場合には，この割り込み処理のプログラムとして記述されていてもよい。
【００６９】
さらに，フラッシュメモリ４１に記憶されているデータ（たとえばアプリケーションプログラム）が，エレメントマネージャ１からダウンロードされたものである場合には，エレメントマネージャ１の記憶装置１１にデータはあらかじめ記憶されているので，フラッシュメモリ４１へのデータの書き込みの際に実行されるステップＳ２の処理は省略可能である。
【００７０】
（２）第２の方法
第２の方法は，第１の方法に警報の送信を付加したものである。
【００７１】
第１の方法のステップＳ５（図５参照）において，パリティエラーが発生した場合に，ＣＰＵ３２は，エレメントマネージャ１に警報を送信するものである。この警報は，ステップＳ６のデータ送信要求とともに送信することもできるし，データ送信要求とは別に，データ送信要求の前または後で送信することもできる。警報をデータ送信要求とともに送信する場合には，図６に示すデータの後部に警報を示す情報が付加される。
【００７２】
警報を受信したエレメントマネージャ１は，警報を，表示装置（ＣＲＴディスプレイ，液晶ディスプレイ等）等に表示し，または，記憶装置に記憶する。これにより，フラッシュメモリ４１の交換が必要であることをエレメントマネージャ１のオペレータ，管理者等に通知することができる。
【００７３】
また，この表示または記憶される警報には，パリティエラーが検出されたフラッシュメモリ識別情報およびそのフラッシュメモリのアドレス（たとえば０ｘ１００番地）を含めることができる。これにより，障害が検出されたフラッシュメモリを容易に特定でき，修理やメンテナンス等に要する時間を短縮できる。
【００７４】
なお，ＳＬＴ２がこのような警報を送信することなく，エレメントマネージャ１が，ＳＬＴ２からデータ送信要求を受信した場合に，このデータ送信要求の受信により自動的に警報を表示／出力／記憶することもできる。
【００７５】
（３）第３の方法
第３の方法は，パリティエラーが発生した場合に，ＳＬＴ２がフラッシュメモリ４１のセグメント単位またはメモリ回路（半導体チップ）単位でデータをエレメントマネージャ１から受信し，ワーク用ＳＤＲＡＭ３５に記憶するものである。
【００７６】
セグメントとは，フラッシュメモリ４１の１つのメモリ回路（半導体チップ）の連続する複数のメモリセルを１つのまとまりとした単位である。たとえば１Ｋバイト単位，１６Ｋバイト単位等，種々の単位でセグメントが設定される。
【００７７】
この第３の方法は，図５の読み出し処理（Ｓ３〜Ｓ７）とほぼ同様であるが，ステップＳ６によりデータ送信要求をエレメントマネージャ１に送信すると，エレメントマネージャ１は，このデータ送信要求に含まれるアドレスを含むセグメントまたはメモリ回路の全データをＳＬＴ２に送信する。
【００７８】
ＳＬＴ２のＣＰＵ３２は，エレメントマネージャ１から送信されたデータを受信すると，このデータをワーク用ＳＤＲＡＭ３５に記憶し，その後，プログラムの処理を継続する。
【００７９】
以降のフラッシュメモリ２に該当するアドレスからのデータの読み出し／書き込みはワーク用ＳＤＲＡＭ３５のデータの読み出し／書き込みとなる。
【００８０】
このようにセグメント単位またはメモリ回路単位でデータをエレメントマネージャ１から受信することにより，同じフラッシュメモリ４１の異なるアドレスに障害（パリティエラー）が検出された場合であっても，データ送信要求および該要求に対応するデータのエレメントマネージャ１からの送信が省略される。これにより，パリティエラー検出直後に，通信ネットワーク５のトラフィック量が一時的に増大するものの，ＳＬＴ２とエレメントマネージャ１との間のデータ送受信回数が減少する。その結果，パリティエラー検出直後を除く通信ネットワーク５の通信品質を向上させることができる。
【００８１】
（４）第４の方法
工場出荷時等にフラッシュメモリ４１にデータ（アプリケーションプログラム等）があらかじめ記憶され，ＳＬＴ２の立ち上げ時（電源投入時，リセット時，電源瞬断後の電源回復時等）にこのデータを使用する場合（フラッシュメモリ４１に記憶されたデータ（アプリケーションプログラム等）をワーク用ＳＤＲＡＭ３５に複写（展開）する処理を含む。）において，フラッシュメモリ４１に障害が検出されたときは，フラッシュメモリ４１に記憶されたデータのすべてをエレメントマネージャ１からＳＬＴ２のワーク用ＳＤＲＡＭ３５にダウンロードして，該ダウンロードされたデータによってＳＬＴ２の立ち上げ処理を行うこともできる。
【００８２】
この場合に，フラッシュメモリ４１に記憶されたデータと同一のデータが，エレメントマネージャ１の記憶装置１１にもあらかじめ記憶されている。また，ＳＬＴ２の立ち上げ時のブートプログラムに，フラッシュメモリ４１に記憶された全データをエレメントマネージャ１からダウンロードする処理が組み込まれる。
【００８３】
このダウンロード処理では，前述した図５の読み出し処理におけるステップＳ６の送信要求がフラッシュメモリ４１の全データの送信要求となり，ステップＳ７におけるデータの受信がフラッシュメモリ４１の全データの受信となる。
【００８４】
これにより，電源投入時，電源瞬断時の回復後，リセット後等にフラッシュメモリ４１の障害が発生しても，ＣＰＵ３２を停止することなく，ＳＬＴ２を立ち上げることができ，また，立ち上げ後の運用も行うことができる。
【００８５】
（５）第５の方法
第５の方法は，フラッシュメモリ４１にデータを書き込み際の障害の検出および障害が検出された場合の対処方法である。
【００８６】
図７は，フラッシュメモリ４１へのデータ書き込み時の処理の流れを示すフローチャートである。フラッシュメモリ４１にデータを書き込む場合には，書き込み前に書き込み箇所のデータが消去される。したがって，まず，ＣＰＵ３２は，フラッシュメモリ４１のデータ（３２ビットデータ）を書き込むメモリセル（４つのフラッシュメモリ４１ａ〜４１ｄの各メモリセル）のデータを消去する（Ｓ１１）。
【００８７】
続いて，ＣＰＵ３２は，消去後の所定の時間Ｔ１経過後にレジスタ４３の値を読み出す（Ｓ１２）。レジスタ４３の４ビットの少なくとも１つの値が“１”である場合に，ＣＰＵ３２は，フラッシュメモリ４１に障害が発生したものと判断して（Ｓ１３でＹＥＳ），フラッシュメモリ４１のデータの書き込みを中止し，該データ（３２ビットデータ）をエレメントマネージャ１に送信する（Ｓ１８）。送信は，図６に示すパケットにより行われる。
【００８８】
エレメントマネージャ１は，受信したパケットを記憶装置１１に記憶する。以後，ＣＰＵ３２がこのデータを使用する場合には，エレメントマネージャ１からデータを受信し，使用することとなる（Ｓ１９）。
【００８９】
一方，レジスタ４３の値が０である場合に（Ｓ１３でＮＯ），ＣＰＵ３２は，フラッシュメモリ４１にデータ（３２ビットデータ）を書き込む（Ｓ１４）。
【００９０】
続いて，ＣＰＵ３２は，書き込み後の所定の時間Ｔ２経過後にレジスタ４３の値を読み出す（Ｓ１２）。レジスタ４３の４ビットのうちの少なくとも１つの値が“１”である場合に，ＣＰＵ３２は，フラッシュメモリ４１に障害が発生したと判断して（Ｓ１３でＹＥＳ），ステップＳ１４で書き込んだデータと同一のデータを図６に示すパケットによりエレメントマネージャ１に送信する（Ｓ１８）。以後，前述したステップＳ１９の処理が実行される
一方，ステップＳ１６でレジスタ４３の値が０である場合に（Ｓ１６でＮＯ），ＣＰＵ３２は，フラッシュメモリ４１に障害が発生しておらず，したがって，フラッシュメモリ４１に書き込まれたデータはフラッシュメモリ４１に有効に記憶されていると判断して，その後，書き込んだデータをフラッシュメモリ４１から読み出す（Ｓ１７）。
【００９１】
これにより，フラッシュメモリ４１へのデータの消去／書き込み時に障害が検出された場合であっても，ＳＬＴ２の処理を停止することなく，障害に対処することができる。
【００９２】
なお，前述した第２の方法と同様にして，消去時および／または書き込み時に障害が検出された場合には，ＣＰＵ３２は，エレメントマネージャ１に，フラッシュメモリ４１に障害が検出されたことを示す警報を送信することもできる。
【００９３】
（６）他の実施の形態
フラッシュメモリユニット３６と同一の構成の予備用のフラッシュメモリユニットを監視装置２１に設けることができる。
【００９４】
この場合に，前述した第１の方法のステップＳ２（図５参照）の処理に代えて，または，ステップＳ２の処理とともに，データを予備用のフラッシュメモリユニットのフラッシュメモリに書き込むこともできる。そして，ステップＳ６およびＳ７の処理に代えて，予備用のフラッシュメモリユニットのフラッシュメモリからデータを読み出してもよい。
【００９５】
また，第３の方法においても同様に，予備用のフラッシュメモリユニットにデータを記憶しておき，該予備用のフラッシュメモリユニットからデータをセグメント単位またはメモリ回路単位で読み出すこともできる。
【００９６】
第４の方法においても，予備用のフラッシュメモリユニットのフラッシュメモリにもアプリケーションプログラム等のデータを記憶しておき，フラッシュメモリ４１に障害が検出された場合には，予備用のフラッシュメモリユニットからデータを読み出すこともできる。また，第４の方法において，フラッシュメモリ４１の障害検出時に，エレメントマネージャ１からデータをダウンロードする場合も，ダウンロードされたデータを，ワーク用ＳＤＲＡＭではなく，予備用のフラッシュメモリユニットのフラッシュメモリに記憶することもできる。
【００９７】
さらに，第５の方法においても，消去後または書き込み後にフラッシュメモリ４１に障害が検出されたときは，エレメントマネージャ１ではなく，予備用フラッシュメモリユニットのフラッシュメモリにデータを記憶し，その後，この予備用のフラッシュメモリからデータを読み出し，使用することもできる。
【００９８】
フラッシュメモリユニット３６がアプリケーションプログラムの種類に応じて複数個設けられた場合に，複数個のフラッシュメモリユニット３６のそれぞれに対して予備用のフラッシュメモリユニット（フラッシュメモリの容量も同じ容量）を設けることもできるし，複数個のフラッシュメモリユニット３６に対して１つの共用の予備用フラッシュメモリユニットを設けることもできる。そして，複数個のフラッシュメモリユニット３６のいずれかに障害が検出された場合に，この予備用フラッシュメモリユニットにデータを記憶することができる。
【００９９】
さらに，予備用のフラッシュメモリユニットを複数個設けることにより，１つの予備用フラッシュメモリユニットに障害が検出された場合に，さらに他の予備用フラッシュメモリにデータを記憶することもできる。
【０１００】
（付記１）  通信回線を介して外部のデータ記憶装置と接続され，データに対して所定の処理を行うデータ処理装置であって，
データを記憶する記憶手段と，
前記記憶手段に前記データを書き込む書き込み手段と，
前記書き込み手段による前記記憶手段へのデータの書き込み前または書き込み後に，該データを前記通信回線を介して前記外部のデータ記憶装置に送信する送信手段と，
を備えているデータ処理装置。
【０１０１】
（付記２）  付記１において，
前記書き込み手段により前記記憶手段にデータを書き込んだ後に，前記記憶手段の障害の有無を検査する第１の検査手段をさらに備え，
前記送信手段は，前記第１の検査手段により障害が検出された場合に前記データを前記外部のデータ記憶装置に送信する，
データ処理装置。
【０１０２】
（付記３）  データに対して所定の処理を行うデータ処理装置であって，
データを記憶する記憶手段と，
前記データを記憶する補助記憶手段と，
前記記憶手段に前記データを書き込む書き込み手段と，
前記書き込み手段による前記記憶手段へのデータの書き込み前または書き込み後に，該データを前記補助記憶手段に書き込む補助書き込み手段と，
を備えているデータ処理装置。
【０１０３】
（付記４）  付記３において，
前記書き込み手段により前記記憶手段にデータを書き込んだ後に，前記記憶手段の障害の有無を検査する第１の検査手段をさらに備え，
前記補助書き込み手段は，前記第１の検査手段により障害が検出された場合に前記データを前記補助記憶手段に書き込む，
データ処理装置。
【０１０４】
（付記５）  付記２または４において，
前記記憶手段はフラッシュメモリであり，
前記第１の検査手段は，前記データを前記フラッシュメモリに書き込んだ後に，前記フラッシュメモリから所定の時間出力されるビジー信号が前記所定の時間を超えて出力されている場合には，前記フラッシュメモリに障害があると判断する，
データ処理装置。
【０１０５】
（付記６）  付記２または４において，
前記記憶手段はフラッシュメモリであり，
前記第１の検査手段は，前記データを前記フラッシュメモリに書き込んだ後に，該データを前記フラッシュメモリから所定の時間間隔で読み出し，該読み出したデータが所定の時間を超えて読み出すごとに変化している場合には，前記フラッシュメモリに障害があると判断する，
データ処理装置。
【０１０６】
（付記７）  付記１または２において，
前記記憶手段にデータを書き込む前に，該記憶手段の少なくとも該データを記憶する記憶場所のデータを消去する消去手段と，
前記消去手段によるデータの消去後に，前記記憶手段の障害の有無を検査する第２の検査手段と，
をさらに備え，
前記送信手段は，前記第２の検査手段により障害が検出された場合に前記データを前記外部のデータ記憶装置に送信する，
データ処理装置。
【０１０７】
（付記８）  付記３または４において，
前記記憶手段にデータを書き込む前に，該記憶手段の少なくとも該データを記憶する記憶場所のデータを消去する消去手段と，
前記消去手段によるデータの消去後に，前記記憶手段の障害の有無を検査する第２の検査手段と，
をさらに備え，
前記補助書き込み手段は，前記第２の検査手段により障害が検出された場合に前記データを前記補助記憶手段に書き込む，
データ処理装置。
【０１０８】
（付記９）  付記７または８において，
前記記憶手段はフラッシュメモリであり，
前記第２の検査手段は，前記フラッシュメモリのデータを前記消去手段により消去した後に，前記フラッシュメモリから所定の時間出力されるビジー信号が前記所定の時間を超えて出力されている場合には，前記フラッシュメモリに障害があると判断する，
データ処理装置。
【０１０９】
（付記１０）  付記７または８において，
前記記憶手段はフラッシュメモリであり，
前記第２の検査手段は，前記フラッシュメモリのデータを前記消去手段により消去した後に，該データを前記フラッシュメモリから所定の時間間隔で読み出し，該読み出したデータが所定の時間を超えて読み出すごとに変化している場合には，前記フラッシュメモリに障害があると判断する，
データ処理装置。
【０１１０】
（付記１１）  付記１，２または７において，
前記外部のデータ記憶装置は，前記記憶手段に記憶されたデータと同一のデータをあらかじめ記憶しており，
前記記憶手段からデータを読み出した際に，該記憶手段の障害の有無を検査する第３の検査手段と，
前記第３の検査手段により障害が検出された場合に，前記読み出したデータと同一のデータを前記通信回線を介して前記外部のデータ記憶装置から受信する受信手段と，
をさらに備えているデータ処理装置。
【０１１１】
（付記１２）  付記１１において，
前記記憶手段はフラッシュメモリであり，
前記第３の検査手段は，前記フラッシュメモリから読み出したデータのパリティチェックを行い，パリティチェックエラーの場合には，前記フラッシュメモリに障害があると判断する，
データ処理装置。
【０１１２】
（付記１３）  付記１１または１２において，
前記データ受信手段により受信されたデータを記憶する補助記憶手段をさらに備えているデータ処理装置。
【０１１３】
（付記１４）  付記２，７，１１，１２または１３において，
前記送信手段による前記データの送信の前後または送信とともに，前記記憶手段に障害が検出されたことを前記データ記憶装置に通知する障害通知手段をさらに備えている，データ処理装置。
【０１１４】
（付記１５）  バックアップ用のデータがあらかじめ記憶されている外部のデータ記憶装置と通信回線を介して接続され，データに対して所定の処理を行うデータ処理装置であって，
データを記憶する記憶手段と，
前記記憶手段に記憶されたデータを読み出す際に，前記記憶手段の障害の有無を検査する検査手段と，
前記検査手段により障害が検出されると，前記読み出したデータのバックアップ用のデータを前記通信回線を介して前記外部のデータ記憶装置から受信する受信手段と，
を備えているデータ処理装置。
【０１１５】
（付記１６）  データを記憶する記憶手段にデータを書き込む前または書き込んだ後に，該データを，通信回線を介して接続された外部のデータ記憶装置に送信し，
前記記憶手段に障害が検出されると，前記外部のデータ記憶装置から前記通信回線を介してデータを受信する，
データ記憶方法。
【０１１６】
（付記１７）  コンピュータに，
データを記憶する記憶手段にデータを書き込む前または書き込んだ後に，該データを，通信回線を介して接続された外部のデータ記憶装置に送信する手順と，前記記憶手段に障害が検出されると，前記外部のデータ記憶装置から前記通信回線を介してデータを受信する手順と，
を実行させるためのプログラム。
【０１１７】
（付記１８）  バックアップ用のデータがあらかじめ記憶されている外部のデータ記憶装置と通信回線を介して接続され，データに対して所定の処理を行うデータ処理装置のデータ読み出し方法であって，
データを記憶する記憶手段に記憶されたデータを読み出す際に，前記記憶手段の障害の有無を検査し，
前記検査により障害を検出すると，前記読み出したデータのバックアップ用のデータを前記通信回線を介して前記外部のデータ記憶装置から受信する，
データ読み出し方法。
【０１１８】
（付記１９）  バックアップ用のデータがあらかじめ記憶されている外部のデータ記憶装置と通信回線を介して接続され，データに対して所定の処理を行うコンピュータに，
データを記憶する記憶手段に記憶されたデータを読み出す際に，前記記憶手段の障害の有無を検査する手順と，
前記検査により障害を検出すると，前記読み出したデータのバックアップ用のデータを前記通信回線を介して前記外部のデータ記憶装置から受信する手順と，
を実行させるためのプログラム。
【０１１９】
【発明の効果】
本発明によると，記憶手段（たとえばフラッシュメモリ）の障害が生じても，データ処理装置（たとえばＳＬＴの監視装置）は，処理を停止することなくその処理を継続することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態による通信システムの構成を示すブロック図である。
【図２】ＳＬＴの詳細内構成を示すブロック図である。
【図３】監視装置の詳細な構成を示すブロック図である。
【図４】監視装置のフラッシュメモリユニットの詳細な構成を示すブロック図である。
【図５】フラッシュメモリに障害が検出された場合のＳＬＴの第１の方法による処理の流れを示すフローチャートである。
【図６】ＳＬＴからエレメントマネージャに送信されるパケットのデータ構造を示す。
【図７】フラッシュメモリへのデータ書き込み時の処理の流れを示すフローチャートである。
【符号の説明】
１  エレメントマネージャ
２1，２2  加入者ライン端末（ＳＬＴ）
２１  監視装置
３２  ＣＰＵ
３６  フラッシュメモリユニット
４１ａ〜４１ｄ  フラッシュメモリ
４２ａ〜４２ｄ  パリティチェック回路
４３，４４  レジスタ
【図１】
0004137450.tif 000002
【図２】
0004137450.tif 000003
【図３】
0004137450.tif 000004
【図４】
0004137450.tif 000005
【図５】
0004137450.tif 000006
【図６】
0004137450.tif 000007
【図７】
0004137450.tif 000008