(57)【特許請求の範囲】
【請求項１】
マスタとスレーブとの間で無線通信手段を介して非接触で交信されるデータを管理するためのデータ管理システムにおいて、
前記スレーブは、データと共に当該データの誤りを訂正するための冗長データが記憶された不揮発性記憶手段と、当該スレーブ全体の制御を行うスレーブ側制御部とを備え、
前記マスタは、前記無線通信手段を介したデータの読出し及び書込みを制御するマスタ側制御部を備え、
前記スレーブ側制御部又は前記マスタ側制御部によって、前記不揮発性記憶手段から読出したデータについて前記冗長データをもとに誤り検出処理を行い、その検出処理において誤りが検出された場合には誤り訂正処理を行う構成にあって、
前記冗長データは、データの各ビットが示す０，１の値の何れか一方を０１、他方を１０とするビット対として符号化したデータを含むとともに、データごとに生成される第１誤り検出符号と、前記データの同じビット位置ごとに生成される第２誤り検出符号とのうち少なくとも何れかの誤り検出符号を含み、
前記スレーブ側制御部又は前記マスタ側制御部は、
前記誤り検出処理において、前記不揮発性記憶手段から読出したデータについて前記ビット対をなす双方のビットの論理和演算を行い、その演算結果が０であれば前記ビット対に誤りが有ると判断し、
その誤りが検出された前記ビット対にデータ０，１（これらを代入データと称す）を代入して前記誤り検出符号をもとに誤り検出処理を行い、誤りが非検出となるまで誤り訂正処理を行うことを特徴とするデータ管理システム。
【請求項２】
前記ビット対のうち一方のビットと他方のビットは、前記不揮発性記憶手段において相互に異なるアドレスの同じビット位置に記憶されることを特徴とする請求項１記載のデータ管理システム。
【請求項３】
前記スレーブ側制御部又は前記マスタ側制御部は、前記ビット対をなす双方のビットの論理和演算に基づき誤りが検出されると、
誤りが検出されたアドレスごとに前記代入データと前記第１誤り検出符号とをもとに誤りが非検出となるまで誤り訂正処理を行う第１誤り訂正処理と、
同じビット位置の列ごとに前記代入データと前記第２誤り検出符号とをもとに誤りが非検出となるまで誤り訂正処理を行う第２誤り訂正処理とを実行することを特徴とする請求項１または２記載のデータ管理システム。
【請求項４】
前記誤り検出符号は、アドレスを１アドレス以上一定のパターンでずらし、且つビット位置を１ビット以上一定のパターンでずらしてなるビット列について生成される第３誤り検出符号を含むことを特徴とする請求項１から３の何れか一項記載のデータ管理システム。
【請求項５】
前記冗長データは、前記誤り検出符号の各ビットが示す０，１の値の何れか一方を０１、他方を１０とする誤り検出符号用のビット対として符号化したデータを含み、
前記スレーブ側制御部又は前記マスタ側制御部は、前記誤り検出符号用のビット対をなす双方のビットの論理和演算を行うことに基づき、前記誤り検出符号に誤りが有ると判断した場合には、その誤り検出符号が付加された本来のデータから新たな誤り検出符号を生成することを特徴とする請求項１から４の何れか一項記載のデータ管理システム。
【請求項６】
前記スレーブ側制御部又は前記マスタ側制御部は、前記不揮発性記憶手段にデータを書込む際、そのデータを書込むアドレス以外の全てのアドレスのデータを読出して、前記冗長データをもとに誤り検出処理と誤り訂正処理とを行うことを特徴とする請求項１から５の何れか一項記載のデータ管理システム。
【請求項７】
前記不揮発性記憶手段には、複数の異なる領域に同じデータが書込まれてデータが多重化されており、
前記スレーブ側制御部又は前記マスタ側制御部は、多重化された複数のデータ間で対応するビットごとに想定されるデータの誤りパターンに応じて論理演算を行い、その演算により得られたビット列について、前記冗長データをもとに誤り検出処理を行った結果、誤りが検出されなければ、当該ビット列のデータが正しいデータであると判断することを特徴とする請求項１から６の何れか一項記載のデータ管理システム。
【請求項８】
前記冗長データは、データのアドレスごとに生成される第１誤り検出符号と、同じビット位置ごとに生成される第２誤り検出符号とのうち少なくとも何れかの誤り検出符号を含み、
前記スレーブ側制御部又は前記マスタ側制御部は、前記ビット対と前記誤り検出符号とをもとに誤り検出処理及び誤り訂正処理を行い、その訂正処理後のデータに誤りが有ると、多重化された複数のデータ間で対応するビットごとに論理和演算を行うことを特徴とする請求項７記載のデータ管理システム。
【請求項９】
前記冗長データは、データを構成する各ビットに対して、互いに隣り合う当該ビットの組み合わせに対応して付加されたパリティ符号を含み、
前記スレーブ側制御部又は前記マスタ側制御部は、前記誤り訂正処理において、前記隣り合うビットのうち誤りが無いビットのデータと前記パリティ符号とをもとにビットの誤りを訂正することを特徴とする請求項１から８の何れか一項記載のデータ管理システム。
【請求項１０】
前記スレーブは、自身が動作するための電源を内蔵しており、
前記スレーブ側制御部は、
予め設定された所定時間毎に、若しくは他に優先する処理のない時に、前記不揮発性記憶手段からデータを読出す処理を行う構成にあって、前記マスタから前記無線通信手段を介して書込み用データを受信した際、その受信したデータから冗長データを生成して前記データと共に前記不揮発性記憶手段に書込み、前記マスタへ前記無線通信手段を介してデータを送信する際、その送信するデータに付された冗長データをもとに誤り検出処理と誤り訂正処理とを行うことにより、誤りの無いデータを送信することを特徴とする請求項１から９の何れか一項記載のデータ管理システム。
【請求項１１】
前記スレーブは、自身が動作するための電源を内蔵しており、
前記スレーブ側制御部は、
予め設定された所定時間毎に、若しくは他に優先する処理のない時に、前記不揮発性記憶手段からデータを読出す処理を行う構成にあって、
前記不揮発性記憶手段には、
前記スレーブ側制御部によって実行され、前記スレーブとして機能をなすための制御プログラム、及び当該制御プログラムの誤りを訂正するための冗長データと、
主訂正プログラム及び副訂正プログラム、並びにこれらの訂正プログラムの誤りを訂正するための冗長データとが記憶されており、
前記主訂正プログラム及び前記副訂正プログラムは、互いに同じプログラムであって、
前記主訂正プログラムは、自身以外のプログラム及びデータについて誤り検出処理及び誤り訂正処理の対象とし、前記副訂正プログラムは、前記主訂正プログラムを含むデータについて誤り検出処理及び誤り訂正処理の対象とすることを特徴とする請求項１から９の何れか一項記載のデータ管理システム。
【請求項１２】
前記スレーブ側制御部は、前記主訂正プログラムと前記副訂正プログラムとのうち一方の訂正プログラムに誤りが検出された場合において、冗長データに基づく誤り訂正処理が不能で且つ他方の訂正プログラムに誤りが無いと判断した時、一方の訂正プログラムの誤りが検出されたアドレスに他方の訂正プログラムの対応するアドレスの内容を書込むことにより誤りを訂正することを特徴とする請求項１１記載のデータ管理システム。
【請求項１３】
前記スレーブ側制御部は、前記主訂正プログラムと前記副訂正プログラムとのうち一方の訂正プログラムに誤りが検出された場合において、冗長データに基づく誤り訂正処理が不能で且つ他方の訂正プログラムにも誤りが有ると判断した時、一方の訂正プログラムの誤りが検出されたアドレスに、他方の訂正プログラムの対応するアドレスの内容に誤りが無ければ当該アドレスの内容をコピーする簡易訂正プログラムに基づいて、訂正プログラム相互間で誤りを訂正することを特徴とする請求項１１又は１２記載のデータ管理システム。
【請求項１４】
前記スレーブの電源が投入された時、前記スレーブ側制御部は、前記不揮発性記憶手段から読出したデータのうち少なくとも当該スレーブ側制御部により実行される制御プログラムについてその冗長データをもとに誤り検出処理を行うことを特徴とする請求項１１から１３の何れか一項記載のデータ管理システム。
【請求項１５】
前記マスタは、データを記憶するための不揮発性のマスタ側記憶手段を備え、
前記マスタ側記憶手段には、データと共に当該データの誤りを訂正するための冗長データが記憶されており、
前記冗長データは、データの各ビットが示す０，１の値の何れか一方を０１、他方を１０とするビット対として符号化したデータを含み、
前記マスタ側制御部は、前記マスタ側記憶手段から読出したデータについて前記ビット対をなす双方のビットの値が０であれば前記ビット対に誤りが有ると判断する誤り検出処理を行う構成にあって、
前記マスタ側記憶手段には、
前記マスタ側制御部によって実行される制御プログラム、及び当該制御プログラムの誤りを訂正するための冗長データと、
主訂正プログラム及び副訂正プログラム、並びにこれらの訂正プログラムの誤りを訂正するための冗長データとが記憶されており、
前記主訂正プログラム及び副訂正プログラムは、互いに同じプログラムであって、
前記主訂正プログラムは、自身以外のプログラム及びデータを誤り検出処理及び誤り訂正処理の対象とし、前記副訂正プログラムは、前記主訂正プログラムを誤り検出処理及び誤り訂正処理の対象としたことを特徴とする請求項１から１４の何れか一項記載のデータ管理システム。
【請求項１６】
前記マスタは、データを記憶するための不揮発性のマスタ側記憶手段を備え、
前記マスタ側記憶手段には、データと共に当該データの誤りを訂正するための冗長データが記憶されており、
前記冗長データは、データの各ビットが示す０，１の値の何れか一方を０１、他方を１０とするビット対として符号化したデータを含み、
前記マスタ側制御部は、前記マスタ側記憶手段から読出したデータについて前記ビット対をなす双方のビットの値が０であれば前記ビット対に誤りが有ると判断する誤り検出処理を行う構成にあって、
前記マスタの電源が投入された時、前記マスタ側制御部は、前記マスタ側記憶手段から読出したデータのうち少なくとも当該マスタ側制御部により実行される制御プログラムについてその冗長データをもとに誤り検出処理を行うことを特徴とする請求項１から１４の何れか一項記載のデータ管理システム。
【請求項１７】
外部の電子機器との間で、非接触でデータを交信するためのアンテナを備えたＲＦＩＤタグにおいて、
データと共に当該データの誤りを訂正するための冗長データが記憶された不揮発性記憶手段と、当該ＲＦＩＤタグ全体の制御を行う制御部とを備え、
前記制御部によって、前記不揮発性記憶手段から読出したデータについて前記冗長データをもとに誤り検出処理を行い、その検出処理において誤りが検出された場合には誤り訂正処理を行う構成にあって、
前記冗長データは、データの各ビットが示す０，１の値の何れか一方を０１、他方を１０とするビット対として符号化したデータを含むとともに、データごとに生成される第１誤り検出符号と、前記データの同じビット位置ごとに生成される第２誤り検出符号とのうち少なくとも何れかの誤り検出符号を含み、
前記制御部は、前記誤り検出処理において、前記不揮発性記憶手段から読出したデータについて前記ビット対をなす双方のビットの論理和演算を行い、その演算結果が０であれば前記ビット対に誤りが有ると判断し、
その誤りが検出された前記ビット対にデータ０，１（これらを代入データと称す）を代入して前記誤り検出符号をもとに誤り検出処理を行い、誤りが非検出となるまで誤り訂正処理を行うことを特徴とするＲＦＩＤタグ。
【請求項１８】
データと共に当該データの誤りを訂正するための冗長データが記憶された不揮発性記憶手段を有するＲＦＩＤタグとの間で、非接触でデータを交信するためのアンテナを備えたタグリーダ／ライタにおいて、
前記不揮発性記憶手段に対して前記アンテナを介したデータの読取り及び書込みを制御する制御部を備え、
前記制御部によって、前記不揮発性記憶手段から読出したデータについて前記冗長データをもとに誤り検出処理を行い、その検出処理において誤りが検出された場合には誤り訂正処理を行う構成にあって、
前記冗長データは、データの各ビットが示す０，１の値の何れか一方を０１、他方を１０とするビット対として符号化したデータを含むとともに、データごとに生成される第１誤り検出符号と、前記データの同じビット位置ごとに生成される第２誤り検出符号とのうち少なくとも何れかの誤り検出符号を含み、
前記制御部は、前記誤り検出処理において、前記不揮発性記憶手段から読出したデータについて前記ビット対をなす双方の論理和演算を行い、その演算結果が０であれば前記ビット対に誤りが有ると判断し、
その誤りが検出された前記ビット対にデータ０，１（これらを代入データと称す）を代入して前記誤り検出符号をもとに誤り検出処理を行い、誤りが非検出となるまで誤り訂正処理を行うことを特徴とするタグリーダ／ライタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スレーブ側電子機器とマスタとの間で無線通信手段を介して非接触で交信されるデータを管理するためのデータ管理システム、ＲＦＩＤタグ及びタグリーダ／ライタに関する。
【背景技術】
【０００２】
上記ＲＦＩＤ（Radio Frequency Identification）タグは、アンテナと当該アンテナに電気的に接続されたＩＣ（Integrated Circuit）チップ等のＲＦＩＤ回路とを備えており、ＲＦＩＤ回路に内蔵されたメモリ部に対して、アンテナを通じてタグリーダ／ライタにより非接触で情報の書込み及び読取りが行われるようになっている。この場合、ＲＦＩＤタグは、マスタたるタグリーダ／ライタに対するスレーブとして、ＲＦＩＤシステムを構成するもので、近年では商品の管理や物品の履歴のトレーサビリティー等を目的として様々な分野で導入されつつある。
【０００３】
ところで、ＲＦＩＤタグにおいてはその寿命等に起因して、メモリ部に記憶されたデータの異常、つまりデータエラーが発生することがある。そこで、例えば、特許文献１のＲＦＩＤタグでは、ＣＲＣチェックコードを用いてデータエラーを検出し、ＥＣＣチェックチェックコードをもとに、１ビットのエラーを訂正して正しいデータを復元するようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２５０４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、近年では、原子力発電所等の放射線被曝環境下においても、ＲＦＩＤタグによる種々の管理を行うことで事故の未然防止を図ることが要請されている。しかしながら、引用文献１のようにデータエラーの訂正が可能ＲＦＩＤタグでも、放射線によりデータエラーが発生する惧れがあるような特殊環境の下では、ＲＦＩＤタグを使用することはできない。つまり、ＲＦＩＤタグが放射線に晒されると、その放射線の照射時間の経過に伴いメモリ部におけるデータエラーが蓄積される。また、放射線量によっては、メモリ部にて複数ビットにわたる連続したバーストエラーが発生する虞もあり、１ビットのエラー訂正はもとより、データエラーの検出すらできない事態も生じうる。特許文献１では、放射線或は宇宙線に晒されるような特殊環境においてＲＦＩＤタグを使用することは想定されておらず、特許文献１のような対処では上記の特殊環境でＲＦＩＤタグを用いることは困難である。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、放射線に晒されるような特殊環境でデータエラーを確実且つ簡単に検出することができ、データエラーの発生を防止することができるデータ管理システム、ＲＦＩＤタグ及びタグリーダ／ライタを提供することである。
【課題を解決するための手段】
【０００７】
上記した目的を達成するために、本発明のデータ管理システムは、マスタとスレーブとの間で無線通信手段を介して非接触で交信されるデータを管理するためのデータ管理システムにおいて、前記スレーブは、データと共に当該データの誤りを訂正するための冗長データが記憶された不揮発性記憶手段と、当該スレーブ全体の制御を行うスレーブ側制御部とを備え、前記マスタは、前記無線通信手段を介したデータの読出し及び書込みを制御するマスタ側制御部を備え、前記スレーブ側制御部又は前記マスタ側制御部によって、前記不揮発性記憶手段から読出したデータについて前記冗長データをもとに誤り検出処理を行い、その検出処理において誤りが検出された場合には誤り訂正処理を行う構成にあって、前記冗長データは、データの各ビットが示す０，１の値の何れか一方を０１、他方を１０とするビット対として符号化したデータを含むとともに、データごとに生成される第１誤り検出符号と、前記データの同じビット位置ごとに生成される第２誤り検出符号とのうち少なくとも何れかの誤り検出符号を含み、前記スレーブ側制御部又は前記マスタ側制御部は、前記誤り検出処理において、前記不揮発性記憶手段から読出したデータについて前記ビット対をなす双方のビットの論理和演算を行い、その演算結果が０であれば前記ビット対に誤りが有ると判断し、その誤りが検出された前記ビット対にデータ０，１（これらを代入データと称す）を代入して前記誤り検出符号をもとに誤り検出処理を行い、誤りが非検出となるまで誤り訂正処理を行うことを特徴とする。
【発明の効果】
【０００８】
例えば透過放射線により、不揮発性記憶手段においてデータが"１"から"０"に片方向へ変化するデータエラーが生じる状況にあるとする。この場合、前記スレーブ側制御部又はマスタ側制御部によって、ビット対をなす双方のビットが値０であれば、当該ビット対により表現されたデータが誤りであると判定でき、ビット対をもとにデータエラーを確実且つ簡単に検出することができる。従って、放射線に晒される特殊環境でデータエラーの発生を防止することができ、データ管理システムとして正常に機能させることができる。よって、原子力産業や航空・宇宙産業等において、安全性及び信頼性を確保しつつ、設備の保守、作業効率化やトレーサビリティーの確立等を実現することができるデータ管理システムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態のデータ管理システムを概略的に示す全体図
【図２】ＲＦＩＤタグとタグリーダ／ライタの種類、並びにこれらの組合わせを説明するための図
【図３】（ａ）はアクティブ型のＲＦＩＤタグの電気的構成を示し、（ｂ）は、パッシブ型のＲＦＩＤタグ及びタグリーダ／ライタの電気的構成、並びにデータ管理システムの概略を示すブロック図
【図４】（ａ）及び（ｂ）は、アクティブ型のＲＦＩＤタグ及びタグリーダ／ライタにおけるメモリ部の夫々のマップイメージを示す図
【図５】パッシブ型のＲＦＩＤタグにおけるメモリ部のマップイメージを示す図
【図６】（ａ）並びに（ｂ）は、メインデータ及び第１誤り検出符号、並びに第２誤り検出符号を説明するための図
【図７】ＲＦＩＤタグにおけるメモリ部のメモリマップを示す図
【図８】メインデータ及び第１誤り検出符号の夫々のビット対と、各ビット対における実際の使用アドレスの例を説明するための図
【図９】パリティ符号を用いた誤り検出処理と誤り訂正処理を説明するための図
【図１０】（ａ）はビット対として符号化したデータを示す図、（ｂ）は、ビット対として符号化したメインデータ及び第１誤り検出符号の一例を示す図
【図１１】データが１から０に片方向へ変化するエラーと、代入データの代入パターンの一例を示す図
【図１２】データを書込む場合における全体の処理の流れを示すフローチャート
【図１３】データを読出す場合における全体の処理の流れを示すフローチャート
【図１４】同じアドレスについて連続してデータを読出す処理の一例を示すフローチャート
【図１５】関連データ読込み処理の流れを示すフローチャート
【図１６】各冗長データを用いた誤り訂正処理の流れを示すフローチャート
【図１７】第１誤り検出符号に係る誤り訂正処理の流れを示すフローチャート
【図１８】多重化に係る誤り訂正処理の流れを示すフローチャート
【図１９】パリティ符号に係る誤り訂正処理の流れを示すフローチャート
【図２０】第１誤り検出符号及び第２誤り検出符号に係る誤り訂正処理の流れを示すフローチャート
【図２１】二重化したデータに基づく誤り訂正処理を説明するための図
【図２２】第２実施形態を示すもので、三重化したデータに基づく誤り訂正処理を説明するための図
【図２３】第３実施形態を示す図１０（ｂ）相当図
【図２４】第４実施形態を示す図２３相当図
【図２５】第５実施形態を示すもので、ＩＤデータに関する誤り訂正処理の流れを示すフローチャート
【図２６】第６実施形態を示すもので、各種の誤り訂正プログラムについて、夫々の誤り訂正を行う対象を説明するための図
【図２７】主又は副誤り訂正プログラムによる処理内容を示すフローチャート
【図２８】簡易誤り訂正プログラムの処理内容を示すフローチャート
【図２９】第７実施形態を示す図６（ａ）相当図
【図３０】図２９相当図
【発明を実施するための形態】
【００１０】
＜第１実施形態＞
以下、本発明の第１実施形態について、図１〜図２１を参照しながら説明する。
図１に示すように、データ管理システム１１は、所謂データ担体或はデータキャリアとしてのＲＦＩＤタグ１０と、このＲＦＩＤタグ１０と非接触でデータの交信を行うタグリーダ／ライタ１２と、このタグリーダ／ライタ１２に通信回線１３ａで接続されたパソコン１４と、パソコン１４に通信回線（通信ネットワーク）１３を介して接続されたサーバ１５とから構成されている。
【００１１】
図２に示すように、前記ＲＦＩＤタグ１０は、電源を内蔵し内部回路の動作電力と電波を返送する電力に内部の電源を用いるアクティブ型のＲＦＩＤタグ１０Ａと、内部回路の動作電力にのみ内部の電源を用い、電波を返送する電力には外部から受信した電波をエネルギー源として動作するセミパッシブ型のＲＦＩＤタグ１０Ｂと、内部に電源を内蔵せず、外部から受信した電波をエネルギー源として動作するパッシブ型のＲＦＩＤタグ１０Ｃとに大別される。ＲＦＩＤタグ１０Ａ〜１０Ｃはマスタたるタグリーダ／ライタ１２に対するスレーブであって、当該タグ１０Ａ〜１０Ｃには夫々、スレーブ側制御部と、データを記憶するための不揮発性記憶手段とが内蔵されている。
【００１２】
具体的には、例えば図３（ａ）に示すＲＦＩＤタグ１０Ａは、例えば基板１ａに実装されたアンテナ２ａ、ＲＦＩＤ回路３ａ、電源（電池４ａ）等を備えている。アンテナ２ａは、ＲＦＩＤ回路３ａに対して電気的に接続されている。ＲＦＩＤ回路３ａは、制御部５ａを主体として、これに接続されるメモリ部６ａ、通信部７ａ及び外部インターフェイス（Ｉ／Ｆ）部８ａ等から構成されている。外部Ｉ／Ｆ部８ａには、外部環境を検出するための検出手段としてセンサ部９ａが接続されている。センサ部９ａとしては、例えば温度センサ、放射線センサ、振動センサ、音センサ等、ＲＦＩＤタグ１０Ａの用途に応じて各種の検出手段を用いることができる。
【００１３】
前記不揮発性記憶手段としてのメモリ部６ａは、通信部７ａや、センサ部９ａ、外部検出手段等から得たデータを書換え可能に記憶する。図４（ａ）に示すように、メモリ部６ａには、制御部５ａにより実行される制御プログラムを含む一般プログラム等が記憶されたプログラム領域１００、前記データと共に当該データの誤りを訂正するための冗長データが記憶されたデータ領域（ユーザ領域）１０１等の複数の記憶領域が設けられている。プログラム領域１００には、前記一般プログラム用の記憶領域１０２の他、後述の主誤り訂正プログラム、副誤り訂正プログラム、簡易誤り訂正プログラム用の記憶領域１０３〜１０５が設けられている。また、詳しくは後述するように、冗長データは、ビット対に係るデータ、誤り検出符号、パリティ符号等の付加データを含む。
【００１４】
制御部５ａは、ＲＦＩＤタグ１０Ａ全体の制御を司るスレーブ側制御部として、例えばＭＰＵ（Micro Processing Unit）から構成されている。通信部７ａは、アンテナ２ａで受信した電波に含まれるデータ信号が伝達されると、そのデータ信号を元のデータに復調する処理を行うもので、アンテナ２ａと共に無線通信手段を構成する。制御部５ａは、タグリーダ／ライタ１２からの命令（コマンド）の内容に従って、制御プログラムに基づきメモリ部６ａの記憶内容の書換え或は書込み等を行う。また、制御部５ａは、タグリーダ／ライタ１２からのコマンドの内容に従い、メモリ部６ａに保存しているデータを送信するための制御を通信部７ａに対して行い、メモリ部６ａから取出されたデータにより、通信部７ａにおいて所定の周波数帯の搬送波が変調され、アンテナ２ａからタグリーダ／ライタ１２側に送信される。
【００１５】
一方、図３（ｂ）に示すＲＦＩＤタグ１０Ｃはパッシブ型であり、上記ＲＦＩＤタグ１０Ａと異なり、電池４ａ、外部Ｉ／Ｆ部８ａ、センサ部９ａ等が省略されている。以下、相違点につき簡単に説明すると、ＲＦＩＤタグ１０Ｃは、例えばＰＥＴフィルムからなるフィルム基材１ｃに実装されたアンテナ２ｃ及びＲＦＩＤ回路３ｃを備えている。ＲＦＩＤ回路３ｃは、制御部５ｃ、メモリ部６ｃ及び通信部７ｃと、アンテナ２ｃで受信した電波から電源電圧を生成する電源電圧発生部４ｃとの機能をワンチップ化したＩＣチップであって、電源電圧発生部４ｃで得た電源電圧に基づいて動作する。
【００１６】
図５に示すように、メモリ部６ｃには、ＲＦＩＤタグ１０Ｃ固有のＩＤデータを含む識別データが記憶されるＴＩＤ記憶領域２００、ＲＦＩＤタグ１０Ｃの貼付対象物に関する電子製品コード(Electronic Product Code)等が記憶されるＥＰＣ記憶領域２０１、通信部７ｃ等から得た各種のデータと共に当該データの誤りを訂正するための冗長データが記憶されたデータ領域（ユーザ領域）２０２等の複数の記憶領域が設けられている。前記ＩＤデータは、ＲＦＩＤタグ１０Ｃが本来有するＩＤであって、ＴＩＤ記憶領域２００に書換え不能に記憶されている。
【００１７】
制御部５ｃは、ハードロジック回路からなり、タグリーダ／ライタ１２との交信時において、メモリ部６ｃへの書込みを行う処理や、メモリ部６ａに保存しているデータを送信するため処理等、所定の処理を行うようになっている。
【００１８】
尚、上記ＲＦＩＤタグ１０Ｃの制御部５ｃはＣＰＵを用いて構成してもよい。また、ＲＦＩＤタグ１０Ｂについては、電池４ｂ（図２参照）を内蔵する一方、タグリーダ／ライタ１２から受信した電波をエネルギー源として電波を発するセミパッシブ型であり、その詳細な説明を省略することとする。
【００１９】
前記タグリーダ／ライタ１２は、上記ＲＦＩＤタグ１０Ａ〜１０Ｃに対するマスタとして構成された読み書き装置である。即ち、図３（ｂ）に示すように、タグリーダ／ライタ１２は、基板１７に実装されたマスタ側制御部（制御部１８）を主体として、これに接続されるメモリ部１９、通信部２０及び外部Ｉ／Ｆ部２１を備えている。通信部２０は、アンテナ２２と共に無線通信手段を構成しており、外部Ｉ／Ｆ部２１は、前記パソコン１４等の上位装置に接続されている。詳細には、タグリーダ／ライタ１２としては、ハンディ型タグリーダ／ライタ１２Ａ、或は据置型タグリーダ／ライタ１２Ｂが用いられ（図１、図２参照）、パソコン１４との間で無線通信、或は通信回線１３ａを介した通信を行う。
【００２０】
タグリーダ／ライタ１２のメモリ部１９には、ＲＦＩＤタグ１０Ａのメモリ部６ａと同様に（図４参照）、制御部１８により実行される制御プログラムを含む一般プログラム等が記憶されたプログラム領域３００、データと共に当該データの誤りを訂正するための冗長データが記憶されたデータ領域（ユーザ領域）３０１等の複数の記憶領域が設けられている。プログラム領域３００には、前記一般プログラム用の記憶領域３０２の他、後述の主誤り訂正プログラム、副誤り訂正プログラム、簡易誤り訂正プログラム用の記憶領域３０３〜３０５が記憶されている。
【００２１】
そして、制御部１８は、一般プログラム記憶領域３０２の制御プログラムに基づいて、通信指令を通信部２０に対して行うことにより、通信部２０にて送信データを用いて変調した所定周波数の電波信号をアンテナ２２から送信する送信処理と、アンテナ２２で受信した電波信号より元のデータを復調する受信処理とを行う。
【００２２】
尚、ＲＦＩＤタグ１０Ａ〜１０Ｃのメモリ部６ａ〜６ｃ、並びにタグリーダ／ライタ１２Ａ，１２Ｂのメモリ部１９は、何れもフローティングゲートに電荷を保持することでデータを記録するタイプのメモリである。即ち、このようなメモリとしては、フラッシュメモリやＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）等、各種の不揮発性の半導体メモリを使用してもよく、メモリ部６ａ〜６ｃ、１９は不揮発性記憶手段として構成されている。
【００２３】
前記パソコン１４は情報処理／操作装置であって、その操作入力による指示データ等が通信回線１３ａ或は無線通信を介してタグリーダ／ライタ１２へ出力され、タグリーダ／ライタ１２から上記したＲＦＩＤタグ１０に係るデータがパソコン１４へと出力される。
【００２４】
ここで、図１では、データ管理システム１１を、例えば熱中性子炉等の原子力施設のように放射線に晒される設備２４の保全管理に適用した一例を示している。当該設備２４には、流路を形成する配管２４ａの温度を検出するための温度センサを配したＲＦＩＤタグ１０Ａや、設備２４における放射線量を検出するための放射線センサを内蔵したＲＦＩＤタグ１０Ａが設けられている。また、設備２４に対して搬入・搬出される物品２４ｂや、作業者のヘルメット２４ｃにＲＦＩＤタグ１０Ｃが貼付される等、様々な管理ポイントに対応したＲＦＩＤタグ１０が設けられている。パソコン１４は、例えば設備２４から隔離された操作室に配置され、通信回線１３を介してサーバ１５への指示やサーバ１５からの応答等、種々のデータのやり取りが行えるようになっている。サーバ１５のデータベース１５ａには、例えば設備２４や物品２４ｂの管理番号、点検／交換履歴、前記の各センサで検出されたデータ等、設備２４に係る各種データが記憶されており、サーバ１５からの呼び出しに応じてデータの取得、参照が行われ、または必要に応じてデータが書込まれる。
【００２５】
上記データ管理システム１１において、ハンディ型或は据置型タグリーダ／ライタ１２Ａ，１２Ｂを用いて、設備２４から離れた位置でＲＦＩＤタグ１０Ａ〜１０Ｃから各種の情報を得ることができる。また、ＲＦＩＤタグ１０Ａ〜１０Ｃに係る各種情報がデータベース１５ａによって総合的に管理され、パソコン１４により取得した情報を分析、把握することができる。そして、例えばＲＦＩＤタグ１０の温度センサから得られた温度データに基づいて、その温度の上昇傾向が識別される場合には、当該温度データが正常値の範囲内であっても、パソコン１４での画面や音声等を通じてシステム管理者に注意を喚起する。また、これと同様に、振動、放射線、音等のセンサ情報について夫々正常なデータの範囲内であっても、通常時のデータと異なる傾向を示す場合には、パソコン１４等の報知手段により報知する等して、異常が顕在化する前の注意喚起を行うことができる。従って、設備２４や機器の温度、放射線レベル等を集約監視することができ、設備２４等において異常が顕在化する前のメンテナンスを行うことができると共に、トレーサビリティーの確立と、保全管理の効率化を図ることができる。
【００２６】
さて、上記のような放射線環境下では、ＲＦＩＤタグ１０或はタグリーダ／ライタ１２において、透過放射線によりデータエラーが発生する事態が想定される。具体的には、例えばＲＦＩＤタグ１０Ｃのメモリ部６ｃにおいてマトリクス状に配列されたメモリセルのフローティングゲートに注入された電子（電荷）量が、例えばガンマ線の入射に基づく光電効果等に起因して低減する。この場合、メモリセルにおいて例えばデータが"１"から"０"に片方向へ変化するデータエラーが生じる虞があり、その損傷の度合いは、次の第１段階〜第３段階に分類される。
（第１段階）前記メモリセルの電子に対する放射線の衝突により損傷が発生しており、更なる放射線の衝突によりデータエラーに至る可能性がある段階。
（第２段階）メモリセルにおいて例えば８ビットからなるワードデータのうち１ビットのデータエラーが発生している段階。
（第３段階）メモリ部６ｃの損傷の度合いが大きく前記ワードデータにおいて２ビット以上のデータエラーが発生した段階であって、複数ビットにわたる連続したデータエラー（バーストエラー）、或は複数箇所に散在した１ビットのデータエラー（ランダムエラー）が発生している段階。
【００２７】
そこで、発明者は、放射線の照射に起因する全ての段階のエラー訂正が可能なデータ管理システム１１を構築した。ここで、前記ＲＦＩＤタグ１０の種類１０Ａ〜１０Ｃとタグリーダ／ライタ１２の種類１２Ａ，１２Ｂとの組合わせは（図２参照）、通信距離との関係上、
（ａ）アクティブ型の電池４ａ付きＲＦＩＤタグ１０Ａと、据置型タグリーダ／ライタ１２Ｂ
（ｂ）セミパッシブ型の電池４ｂ付きのＲＦＩＤタグ１０Ｂと、ハンディ型或は据置型タグリーダ／ライタ１２Ａ，１２Ｂ
（ｃ）パッシブ型のＲＦＩＤタグ１０Ｃと、ハンディ型或は据置型タグリーダ／ライタ１２Ａ，１２Ｂ
に分類されるが、以下では（ｃ）のＲＦＩＤタグ１０Ｃとハンディ型タグリーダ／ライタ１２Ａとの組合せにおけるエラー訂正について説明する。尚、ＲＦＩＤタグ１０Ｃの制御部５ｃ及びメモリ部６ｃを、タグ側制御部５ｃ及びタグ側メモリ部６ｃとし、タグリーダ／ライタ１２Ａの制御部１８をＲＷ側制御部１８とする。
【００２８】
図６（ａ）及び（ｂ）は、タグ側メモリ部６ｃに記憶されるデータに対して生成される冗長データを説明するための図である。前記データ領域２０２は、本来のデータたるメインデータを記憶するためのメインデータ領域２１０と、前記冗長データを記憶するための冗長領域２２０とを有する。ここでは、メインデータ領域２１０を８バイト分だけ示している。
【００２９】
冗長領域２２０に記憶されている冗長データは、ここでは、メインデータ領域２１０に記憶されているメインデータの誤りを訂正するための誤り検出符号であって、メインデータのアドレスごとに生成される横方向の第１誤り検出符号と、同じビット位置ごとに生成される縦方向の第２誤り検出符号とを含む。
【００３０】
前記誤り検出符号として例えばハミング符号が用いられ、２ビットの誤り検出ができるように設定されている。ここで、ハミング符号についてエラー訂正用ビットの数をｍとした時、その符号長は２m−１で表される。従って、例えばｍ＝４の場合、１１ビットのメインデータに対して、１５ビットの符号語（符号長）に置き換えるハミング符号が形成される。そこで、本実施形態では、後述する誤り検出処理の際、前記８ビット単位のメインデータに対して、３ビットのダミーデータを付して（つまりメインデータの上位３ビットを"０"にして）見かけ上、１１ビットのメインデータに付随する４ビットの誤り検出符号として誤り検出処理を行うようになっている。尚、上記ハミング符号にパリティビットを付加して、２ビット誤り検出と１ビット誤り訂正とを行うようにしてもよい。
【００３１】
図６（ａ）では、前記メインデータを記憶した領域２１０と第１誤り検出符号（第１冗長データ）を記憶した領域２２１において、同図中、縦方向の座標値（アドレス）をｘ、横方向の座標値（ビット位置）をｙとした場合における、メインデータＤ（ｘ、ｙ）及び第１誤り検出符号Ｅ（ｘ、ｙ）を示している。ここで、第１誤り検出符号Ｅ０，１〜Ｅ０，３及びＥ１，０〜Ｅ１，３は、同じアドレスの上位４ビット及び下位４ビットに書込まれている（図７のアドレス２００、図８（ａ）参照）。従って、２列のデータ列Ｄ０，０〜Ｅ０，３及びＤ１，０〜Ｅ１，３は、３バイトで表現されることとなる。また、図６（ｂ）には、冗長領域２２０のうち、第２誤り検出符号（第２冗長データ）を記憶した領域２２２において、上記メインデータＤ０，０〜Ｄ７，７の同じビット位置の列ごと生成された第２誤り検出符号Ｆ（ｘ、ｙ）と、第１誤り検出符号Ｅの同じビット位置の列ごと生成された第２誤り検出符号Ｇ（ｘ、ｙ）とを夫々示している。尚、図６に示す符号Ｄ（ｘ、ｙ）、Ｆ（ｘ、ｙ）、Ｇ（ｘ、ｙ）は、データの配列を説明するために便宜的に付したものであり、実際のデータビットの配列は、ＬＳＢ（Least Significant Bit：最下位ビット）ファースト、ＭＳＢ（Most Significant Bit：最上位ビット）ファーストの何れについても適用が可能である。
【００３２】
本実施形態のパリティ符号は、データを構成する各ビットに対して、互いに隣り合う当該ビットとの組合わせに対応して付加される。具体的には例えば、パリティ符号をもとに奇数パリティ検査を行うようになっており、メインデータＤ０，０の示す値が０、Ｄ０，１の示す値が１のとき、値が０のパリティビットを付加する（図９（ａ）（ｂ）参照）。従って例えば、メインデータＤ０，０〜Ｄ０，７及び第１誤り検出符号Ｅ０，０〜Ｅ０，３が示す値が「01000110…」のとき、その隣り合う値の組合せに対応した「0011010…」からなる奇数パリティ符号Ｐが生成される。このパリティ符号Ｐを用いて、メインデータＤ及び第１誤り検出符号Ｅについて誤り検出処理と誤り訂正処理が行われるようになっている。尚、パリティ符号Ｐは、偶数パリティ符号であってもよい。
【００３３】
本実施形態の冗長データの一種であるビット対は、データの各ビットが示す１，０の値の何れか一方を０１、他方を１０とするビット対として符号化したデータであり、１ビットデータを２ビットデータで表現する。具体的には例えば、図１０（ａ）に示すように、メインデータＤ０，０が示す０の値を１０、メインデータＤ０，１における１の値を０１とするビット対として符号化する。従って、図１０（ｂ）に示すメインデータＤ０，０〜Ｄ０，７及び第１誤り検出符号Ｅ０，０〜０，３が示す値が「01000110…」のとき、「0110010101101001…」からなるデータＤ０，０Ｆ〜Ｅ０，３Ｒが生成される。この場合、メインデータＤ０，０における本来のデータ０の値は、ビット対における一方のビット０（図１０（ａ）中、Ｆで示す）であり、他方のビット１（Ｒで示す）は当該０を反転させたデータである。
【００３４】
よって、図２２（ｂ）に示すように、ビット対として符号化された４列のデータＤ０，０Ｆ〜Ｅ１，３Ｒのうち、上から１列目のデータＤ０，０Ｆ〜Ｅ０，３Ｆは、図２２（ａ）のメインデータＤ０，０〜Ｄ０，７及び第１誤り検出符号Ｅ０，０〜Ｅ０，３と一致し［（Ｄ０，０Ｆ〜Ｅ０，３Ｆ）＝（Ｄ０，０〜Ｅ０，３）］、図２２（ｂ）の上から３列目のデータＤ０，０Ｒ〜Ｅ０，３Ｒは、１列目のデータＤ０，０Ｆ〜Ｅ０，３Ｆの反転データである。また、図７、図８（ｂ）に示すように、前記ビット対Ｆ，Ｒのうち一方のビットＦと他方のビットＲは、タグ側メモリ部６ｃのデータ領域２０２において、相互に異なるアドレスの同じビット位置に記憶される。換言すれば、符号化されたデータＤ０，０Ｆ〜Ｅ０，３Ｆ及び反転データＤ０，０Ｒ〜Ｅ０，３Ｒは、相互に異なるアドレスに記憶され、且つ対応する各ビットが示す値は相互に反転した内容となっている。
【００３５】
ここで、図１１は、メインデータＤ０，０〜Ｄ０，７における一部のビットの値が"１"から"０"に片方向へ変化する、前述したデータエラーが生じている状況を例示している。即ち、ビット対Ｆ，Ｒはその何れか一方のビットに１を含むことから、前記の片方向への変化を前提とした場合、００のビット対（図１１の網掛部分）がエラーパターンとなることで、そのエラーが発生した数とビット対Ｆ，Ｒの位置を特定することができるのである。例えば、各ビット対Ｆ，Ｒにおいて、一方のビットＦと他方のビットＲとの論理和演算を行うことにより、誤りを検出することができる。
【００３６】
上記の符号化と異なり、データの各ビットが示す０の値を０１、１の値を１０とするビット対として符号化してもよい。また、メモリがデータを記憶している状態に対する定義によっては、透過放射線により"０"から"１"の片方向の変化が生じるケースもあるが、０と１とを反転して扱えば足りるので、本実施形態では"１"から"０"への片方向への変化を前提として説明する。
【００３７】
前記冗長領域２２０は、多重化データを記憶するための多重化データ記憶領域２２４を含む（図７参照）。本実施形態では、例えば、メインデータＤ０，０〜Ｄ７，７のビット対Ｆ，Ｒが、メインデータ領域２１０と多重化データ記憶領域２２４とに書込まれることにより二重化されており、第１誤り検出符号Ｅ０，０〜Ｅ７，３のビット対Ｆ，Ｒも、第１誤り検出符号領域２２１と多重化データ記憶領域２２４とに書込まれることにより二重化されている。以下では、多重化されたメインデータ及び第１誤り検出符号について、Ｄ０，０Ｆ´〜Ｄ７，７Ｒ´及びＥ０，０Ｆ´〜Ｅ７，３Ｒ´の如く該当符号に「ダッシュ」を付すものとする（図７参照）。尚、第１誤り検出符号Ｅ、第２誤り検出符号Ｆ，Ｇ、パリティ符号Ｐの多重化、並びにこれら冗長データＥ，Ｆ，Ｇ、Ｐのビット対Ｆ，Ｒの多重化についても、必要に応じて行うことができる。また、第１誤り検出符号Ｅ、第２誤り検出符号Ｆ，Ｇ、パリティ符号Ｐの生成対象、並びにビット対Ｆ，Ｒとして符号化を行う対象は、本実施形態の記載に限定するものではなく、冗長データＥ，Ｆ，Ｇ、Ｐ相互間とするなど適宜設定することができる。
【００３８】
次に、上記構成の作用について、図１２〜図２０も参照しながら説明する。図１２は、ハンディ型タグリーダ／ライタ１２Ａを用いてＲＦＩＤタグ１０Ｃにデータを書込む場合の処理内容を示すフローチャートである。
【００３９】
先ず、タグリーダ／ライタ１２Ａの操作部（図示せず）が作業者により操作されると、ＲＷ側制御部１８は、その操作部から入力された操作信号に基づいて、書込むべきデータを受付けて処理する（ステップＡ１）。そして、詳しくは後述するように、ＲＷ側制御部１８は、その書込み用データをＲＦＩＤタグ１０Ｃに送信する前に、タグ側メモリ部６ｃから当該書込み用データを書込むアドレス以外の全てのアドレスのデータを読出して、前記冗長データをもとに誤りを検出して訂正するようになっている（ステップＡ２）。
【００４０】
ステップＡ２の読取り処理の後、ＲＷ側制御部１８は、書込み用データたるメインデータＤについてアドレスごとに第１誤り検出符号Ｅを生成すると共に、同じビット位置ごとに第２誤り検出符号Ｆ，Ｇを生成する処理を行う（ステップＡ３、Ａ４）。次いで、ＲＷ側制御部１８は、メインデータＤ及び第１誤り検出符号Ｅを構成する各ビットに対して、互いに隣り合う当該ビットの組み合せに対応してパリティ符号Ｐを生成する（ステップＡ５）。また、メインデータＤ、第１誤り検出符号Ｅ及びパリティ符号Ｐの各ビットが示す１と０の値は、０１と１０のビット対Ｆ，Ｒとして符号化される（ステップＡ６）。更に、メインデータＤ及び第１誤り検出符号Ｅの夫々のビット対Ｆ，Ｒは、ステップＡ７において二重化されることにより、メインデータＤ及び第１誤り検出符号Ｅのビット対Ｆ´，Ｒ´が生成される。こうして生成された、メインデータＤ及び第１誤り検出符号Ｅの夫々のビット対Ｆ，Ｒ、二重化されたビット対Ｆ´，Ｒ´、第２誤り検出符号Ｆ，Ｇ、並びにパリティ符号Ｐが送信されることにより、タグ側メモリ部６ｃに書込まれ（ステップＡ８）、タグリーダ／ライタ１２Ａを用いた書込み処理を終了する。これにより、ＲＦＩＤタグ１０Ｃに対して、メインデータＤのビット対Ｆと併せて各種の冗長データが記憶されることから、その冗長データをもとに誤り検出処理と誤り訂正処理を行うことが可能となる。
【００４１】
図１３は、上記の書込み処理に際して前記ステップＡ２で行われる読取り処理の内容を示すフローチャートである。
先ず、ＲＷ側制御部１８は、タグ側メモリ部６ｃから前記書込み用データを書込むアドレス以外の全てのアドレスのデータを読出す関連データ読込み処理を実行する（ステップＢ１、図１５のステップＣ１〜Ｃ１１参照）。即ち、関連データ読込み処理では、メインデータＤ及び第１誤り検出符号Ｅのビット対Ｆ，Ｒがタグ側メモリ部６ｃから読込まれる（ステップＣ１，Ｃ２）。次いで、これらメインデータＤ及び第１誤り検出符号Ｅのビット対Ｆ，Ｒが多重化されている場合は（ステップＣ３：ＹＥＳ）、多重化データとしてのメインデータＤ及び第１誤り検出符号Ｅのビット対Ｆ´，Ｒ´がタグ側メモリ部６ｃから読込まれる（ステップＣ４，Ｃ５）。また、パリティ符号Ｐが付加されている場合は（ステップＣ６：ＹＥＳ）、メインデータＤのパリティ符号Ｐ及び第１誤り検出符号Ｅのパリティ符号Ｐがタグ側メモリ部６ｃから読込まれる（ステップＣ７，Ｃ８）。更に、第２誤り検出符号Ｆ，Ｇが付加されている場合は（ステップＣ９：ＹＥＳ）、メインデータＤの第２誤り検出符号Ｆ、及び第１誤り検出符号Ｅの第２誤り検出符号Ｇがタグ側メモリ部６ｃから読込まれる（ステップＣ１０，Ｃ１１）。
【００４２】
尚、ＲＷ側制御部１８において、タグ側メモリ部６ｃの冗長領域２２０に記憶された冗長データが、メインデータＤ及び第１誤り検出符号Ｅに係るビット対Ｒのみと判断した場合は（ステップＣ３，Ｃ６，Ｃ９：ＮＯ）、ステップＣ１，Ｃ２でメインデータＤ及び第１誤り検出符号Ｅに係るビット対Ｆ，Ｒを読込みこんだ後、ステップＢ２（図１３参照）の誤り検出処理に移行する。また、上記のステップＢ１の読込み処理では、ＲＷ側制御部１８は、同じアドレスについて連続して少なくとも２度同じデータを読出すまで、繰り返しデータを読出す。具体的には、例えば８ビットのメインデータＤ０，０〜Ｄ０，７は、２回続けて読出され（図１４のステップＤ１，Ｄ２）、１回目と２回目のデータが異なる場合には（ステップＤ３：ＮＯ）、再度２回続けて読出される。即ち、放射線に晒された環境においてＲＦＩＤタグ１０Ｃからデータを出す場合、データを送信するＲＦＩＤタグ１０Ｃ側あるいは受信したタグリーダ／ライタ１２Ａ側で放射線によりデータが化ける可能性がある。そこで、ＲＷ側制御部１８は、連続して少なくとも２度同じデータを読出すまで繰り返しデータを取得することで、タグ側メモリ部６ｃからデータを読出す際のデータ化けを防止することができる。また、後述の誤り検出処理で誤りが検出されず（図１３のステップＢ３：ＮＯ）、誤り訂正処理が行われなくても、ステップＢ１（ステップＤ１〜Ｄ３）のデータ読出しの際、その読出しと同時に各メモリセルの電荷の再チャージ、つまりリフレッシュを行うことができる。従って、各メモリセルにおいて放射線の衝突により電子が失われていたとしても、前記第１段階にある損傷は修復されることになる。
【００４３】
ステップＢ２では、上記のようにして読出したメインデータＤ及び第１誤り検出符号Ｅの各ビット対Ｆ，Ｒについて、一方のビットＦと他方のビットＲとの論理和演算を行う。ここで、ＲＷ側制御部１８は、その演算結果が１であればビット対Ｆ，Ｒの何れかに誤りが無く（ステップＢ３：ＮＯ）、当該演算結果が０であればビット対Ｆ，Ｒに誤りが有ると判断して（ステップＢ３：ＹＥＳ）、誤り訂正処理（ステップＢ４、図１６のステップＥ１〜Ｅ１０）に移行する。
【００４４】
この誤り訂正処理では、先ず、メインデータＤ及び第１誤り検出符号Ｅのビット対Ｆ，Ｒに係る訂正処理が１バイトごとに行われる（ステップＥ１、図１７のステップＦ１〜Ｆ５）。具体的には、ＲＷ側制御部１８は、バイト数をカウントするためのカウンタＮをゼロクリアして（ステップＦ１）、メインデータＤ０，０Ｆ〜Ｄ０，７Ｆについて、メインデータＤ０，０Ｒ〜Ｄ０，７Ｒとのビットごとの論理和演算に基づき、０となるビット対Ｆ，Ｒが３つ以上有るか、或は演算結果が全て１かを判断する（ステップＦ２）。例えば図１１の網掛部分で示すように、メインデータＤ０，０〜Ｄ０，７のビット対Ｆ，Ｒのうち、その組合わせが００となっているメインデータＤ０，２及びＤ０，５のビット対Ｆ，Ｒは演算結果が０となる。このため、メインデータＤ０，２及びＤ０，５についてのビット対Ｆ，Ｒについて誤りと判断され（ステップＦ２：ＮＯ）、そのメインデータＤ０，２、Ｄ０，５の誤りを訂正する処理が行われる（ステップＦ３）。この場合、該当するメインデータＤ０，２、Ｄ０，５の夫々のビット対Ｆ，Ｒに、データ０１或は１０（これらを代入データと称す）を順次代入し、当該代入データを代入したメインデータＤ０，０Ｆ〜Ｄ０，７Ｆ、Ｄ０，０Ｒ〜Ｄ０，７Ｒについて、第１誤り検出符号Ｅ０，０Ｆ〜Ｅ０，３Ｆ、Ｅ０，０Ｒ〜Ｅ０，３Ｒをもとに誤り検出処理を行う。このとき、メインデータＤ０，２、Ｄ０，５のビット対Ｆ，Ｒに対する代入データの代入パターンとしては、メインデータＤ０，２のビット対Ｆ，Ｒにおける０１と１０、メインデータＤ０，５のビット対Ｆ，Ｒにおける０１と１０とで、計４通り存在する（図１１参照）。従って、１バイト内の２ビットのデータエラーは、前記の代入データと第１誤り検出符号Ｅとをもとに、多くても４回、誤り検出処理を行えば誤りが非検出となり、誤りを訂正することができる（第１誤り訂正処理）。
【００４５】
０バイト目の誤り訂正を終え、或は前記ステップＦ２でＹＥＳと判断された場合、７バイト目までの処理を終えていないことから（ステップＦ４：ＹＥＳ）、前記カウンタＮをインクリメントして（ステップＦ５）、１バイト目のメインデータＤ１，０Ｆ〜Ｄ１，７Ｆについても、メインデータＤ１，０Ｒ〜Ｄ１，７Ｒとの論理和演算の結果に基づき、データエラーとなるビット対Ｆ，Ｒが３つ以上あるか（或はエラーが無いか）を判断する（ステップＦ２）。そして、上記と同様にビット対Ｆ，Ｒの誤りが２つ若しくは１つ存在すれば、代入データを順次代入して第１誤り検出符号Ｅ１，０Ｆ〜Ｅ１，３Ｆ、Ｅ１，０Ｒ〜Ｅ１，３Ｒをもとに誤りを訂正する処理を行う（ステップＦ３）。こうして、ステップＦ２〜Ｆ５が繰り返し実行されることにより、１バイト目以降のメインデータＤについても１バイトずつ誤り検出処理と誤り訂正処理とが行われ、７バイト目の誤り訂正を終えることにより（ステップＦ４：ＮＯ）、図１６のステップＥ２に移行する。ステップＥ２において、ＲＷ側制御部１８は、タグ側メモリ部６ｃから読込んだ全てのデータについて、上記の誤り訂正処理によりデータエラーが解消されたと判断すると（ＹＥＳ）、その誤りの無いデータをタグ側メモリ部６ｃに書込んで（図１３のステップＢ５にリターン）、処理を終了する。尚、上記ステップＦ１〜Ｆ５では、メインデータＤの誤りを訂正する処理について説明したが、第１誤り検出符号Ｅについては、予めそのビット対Ｆ，Ｒをもとに誤り検出を行い、同じビット位置の列ごとに代入データと第２誤り検出符号Ｇとに基づく誤り訂正処理を行う（後述のステップＩ１〜Ｉ５参照）。つまり、予め第１誤り検出符号Ｅの誤り訂正処理を実行した後、ステップＦ１〜Ｆ５を実行するのである。
【００４６】
一方、上記メインデータＤ或は第１誤り検出符号Ｅのデータについて１バイトに３ビット以上のエラーが含まれ（図１６のステップＥ２：ＹＥＳ）或は他のデータについてエラーが含まれる場合には、データが多重化されているか否かを判断する（ステップＥ３）。データが多重化されている場合には（ＹＥＳ）、その多重化に係る訂正処理が行われる（ステップＥ４．図１８のステップＧ１〜Ｇ８）。即ち、ステップＧ１では、多重化したメインデータＤ´及び第１誤り検出符号Ｅ´について、前記ステップＥ１（つまりステップＦ１〜Ｆ５）と同様に、１バイトずつ誤り検出処理と誤り訂正処理とが行われる。ＲＷ側制御部１８は、この訂正処理によって、タグ側メモリ部６ｃから読込んだ全てのデータについてエラーが解消されたと判断すると（ステップＧ２：ＹＥＳ）、図１６のステップＥ５にリターンする。そして、ステップＥ５でも、同様にエラーが解消されたものとして（ＹＥＳ）、その誤りの無いデータをタグ側メモリ部６ｃに書込んで（図１３のステップＢ５にリターン）、処理を終了する。
【００４７】
ＲＷ側制御部１８は、図１８のステップＧ２でエラーが解消されていないと判断すると（ＮＯ）、バイト数をカウントするためのカウンタＮをゼロクリアする（ステップＧ３）。そして、ステップＧ４では、本来のメインデータＤと多重化したメインデータＤ´との間で対応するビットごとに論理和演算が行われると共に、第１誤り検出符号Ｅと多重化した第１誤り検出符号Ｅ´との論理和演算との間で対応するビットごとに論理和演算を行う（ステップＧ４）。例えば図２１において上側のメインデータＤ０，０Ｆ〜Ｄ０，７Ｆと、その直ぐ下側の多重化したメインデータＤ０，０Ｆ´〜Ｄ０，７Ｆ´との間で対応するビットごとに論理和演算を行う。尚、同図では、説明の便宜上、メインデータＤ０，０Ｒ〜Ｄ０，７Ｒ及びＤ０，０Ｒ´〜Ｄ０，７Ｒ´を併せて図示している。同図の網掛部分で示すように、メインデータＤ０，２、Ｄ０，６の夫々のビット対Ｆ，Ｒと、多重化したメインデータＤ０，３、Ｄ０，５の夫々のビット対Ｆ´，Ｒ´とが００となるデータエラーが生じていても、同じビット位置に正しいデータが存在すれば、そのビットの論理和演算の結果、データエラーを修復したビット列を得ることができる。
【００４８】
ステップＧ４の誤り訂正処理の後、ＲＷ側制御部１８は、メインデータＤ０，０Ｆ〜Ｄ０，７Ｆについて、ビットごとにメインデータＤ０，０Ｒ〜Ｄ０，７Ｒとの論理和演算を行い、演算結果が０となるビット対Ｆ，Ｒが３つ以上有るか、或は演算結果が全て１かを判断する（ステップＧ５）。ここで、前記ビット列に１つ２つの誤りが含まれていても（ＮＯ）、前記代入データと第１誤り検出符号とをもとに誤りが非検出となるまで誤り検出処理を行うことで、誤りは訂正される。
【００４９】
この０バイト目誤り訂正を終え、或は前記ステップＧ５でＹＥＳと判断された場合、７バイト目までの処理を終えていないことから（ステップＧ７：ＹＥＳ）、前記カウンタＮをインクリメントして（ステップＧ８）、１バイト目のメインデータＤ１，０Ｆ〜Ｄ１，７Ｆについて、多重化したメインデータＤ１，０Ｆ´〜Ｄ１，７Ｆ´との間で対応するビットごとに論理和演算を行う（ステップＧ４）。そして、その論理和演算から得られたビット列について、上記と同様に２ビット（或は１ビット）の誤りがあれば、代入データを順次代入して誤りを訂正する処理を行う（ステップＧ５，Ｇ６）。こうして、ステップＧ４〜Ｇ８が繰り返し実行されることにより、１バイト目以降のメインデータＤについても１バイトずつ誤り検出処理と誤り訂正処理とが行われ、７バイト目の誤り訂正を終えることにより（ステップＧ７：ＮＯ）、図１６のステップＥ５に移行する。ステップＥ５において、ＲＷ側制御部１８は、タグ側メモリ部６ｃから読込んだ全てのデータについて、上記の誤り訂正処理によりデータエラーが解消されたと判断すると（ＹＥＳ）、その誤りの無いデータをタグ側メモリ部６ｃに書込んで（図１３のステップＢ５にリターン）、処理を終了する。
【００５０】
上記の多重化に係る誤り訂正処理の後、未だデータにエラーが含まれる場合には（ステップＥ５：ＮＯ）、パリティ符号Ｐが付加されているか否かを判断する（ステップＥ６）。パリティ符号Ｐが付加されている場合には（ＹＥＳ）、そのパリティ符号Ｐに係る訂正処理が行われる（ステップＥ７、図１９のステップＨ１〜Ｈ８）。即ち、ＲＷ側制御部１８は、ビット数をカウントするためのカウンタＭをゼロクリアして（ステップＨ１）、訂正の対象となるアドレスのデータ、例えばメインデータＤ０，０Ｆ〜Ｄ０，７Ｆについて誤りを訂正する。具体的には、図９（ｂ）の破線で囲うように、メインデータＤ０，０Ｆの示す値０は、隣のデータＤ０，１Ｆの示す値１との関係上、奇数パリティ検査（パリティビットＰ０，０）により、誤りが無いと判断される（ステップＨ２：ＮＯ）。この０ビット目に続いて、１ビット目の処理を行うべくカウンタＭをインクリメントし（ステップＨ３、Ｈ４）、メインデータＤ０，１Ｆについても上記と同様に奇数パリティ検査を行う（ステップＨ２）。こうして、ステップＨ１〜Ｈ４が繰り返し実行される過程において、奇数パリティ検査に基づきメインデータＤ０，６Ｆに誤りが有ると判断されると（ステップＨ２：ＹＥＳ、図９（ｂ）参照）、左データたるＤ０，６Ｆと左パリティたるＰ０，５とに誤りが有るか否かが判断される（ステップＨ５）。両者Ｄ０，６Ｆ、Ｐ０，５に誤りがなければそのパリティビットＰ０，５をもとにＤ０，６Ｆの値が訂正される（ステップＨ６）。この点、左データＤ０，６や左パリティＰ０，５の何れかに誤りが存する場合でも（ステップＨ５：ＮＯ）、右データたるＤ０，７Ｆと右パリティたるＰ０，６とに誤りが無ければ（ステップＨ７：ＮＯ）、そのパリティビットＰ０，６をもとにＤ０，６Ｆの値を訂正することができる（ステップＨ８）。こうして、７バイト目まで訂正の対象となるアドレスの処理を終えることにより（ステップＨ３：ＮＯ）、図１６のステップＥ８に移行する。ステップＥ８において、ＲＷ側制御部１８は、タグ側メモリ部６ｃから読込んだ全てのデータについて、上記の誤り訂正処理によりデータエラーが解消されたと判断すると（ＹＥＳ）、その誤りの無いデータをタグ側メモリ部６ｃに書込んで（図１３のステップＢ５にリターン）、処理を終了する。
【００５１】
上記のパリティ符号に係る誤り訂正処理の後、未だデータにエラーが含まれる場合には（ステップＥ８：ＮＯ）、第２誤り検出符号Ｆ，Ｇが付加されているか否かを判断する（ステップＥ９）。第２誤り検出符号Ｆ，Ｇが付加されている場合には（ＹＥＳ）、その第２誤り検出符号Ｆ，Ｇに係る誤り訂正処理が行われる（ステップＥ１０、図２０のステップＩ１〜Ｉ１１）。この誤り訂正処理では、先ず、ビット数をカウントするためのカウンタＭがゼロクリアされ（ステップＩ１）、訂正の対象となるデータについて、同じビット位置の列ごとに誤りを検出する処理が行われる。具体的には例えば、メインデータＤ０，０Ｆ〜Ｄ７，０Ｆの列（図６参照）について、ビット対をなすＤ０，０Ｒ〜Ｄ７，０Ｒの列とビットごとの論理和演算を行い、３ビット以上の誤りが有るか或は誤りが無いかを判断する（ステップＩ２）。何れの条件も満たさない場合つまり２ビット若しくは１ビットの誤りがあれば（ＮＯ）、その誤りが検出されたメインデータＤ０，０〜Ｄ７，０のビット対Ｆ，Ｒに、前記代入データを順次代入して第２誤り検出符号Ｆ０，０Ｆ〜Ｆ３，０Ｆ、Ｅ０，０Ｒ〜Ｅ３，０Ｒをもとに誤りを訂正する処理を行う（ステップＩ３：第２誤り訂正処理）。
【００５２】
０ビット目の誤り訂正を終え、或は前記ステップＩ２でＹＥＳと判断された場合、１１ビット目までの処理を終えていないことから（ステップＩ４：ＹＥＳ）、前記カウンタＭをインクリメントして（ステップＩ５）、１ビット目以降のメインデータＤについても同じビット位置の列ごとに、ビット対Ｆ，Ｒに基づく誤り検出処理と（ステップＩ２）、代入データと第２誤り検出符号Ｆとに基づく誤り訂正処理を行う（ステップＩ３）。こうして、ステップＩ２〜Ｉ５を繰り返し実行し、８ビット目（実際には上位のビット）以降は、第１誤り検出符号Ｅについて、同じビット位置の列ごとにビット対Ｆ，Ｒに基づく誤り検出処理と（ステップＩ２）、代入データと第２誤り検出符号Ｇとに基づく誤り訂正処理を行う（ステップＩ３）。
【００５３】
そして、１１ビット目の誤り訂正を終えると（ステップＩ４：ＮＯ）、バイト数をカウントするためのカウンタＮをゼロクリアして（ステップＩ６）、今度は、アドレスごとに、ビット対Ｆ，Ｒに基づく誤り検出処理と（ステップＩ７）、前記代入データと第１誤り検出符号Ｅとに基づく誤り訂正処理を行う（ステップＩ８）。この０バイト目の処理を終えると、７バイト目までの訂正処理を行うべく（ステップＩ９：ＹＥＳ）、前記カウンタＮをインクリメントして（ステップＩ１０）、ステップＩ７にリターンする。そして、１バイト目以降のメインデータＤについてもアドレスごとに、ビット対Ｆ，Ｒに基づく誤り検出処理と（ステップＩ７）、代入データと第１誤り検出符号Ｅとに基づく誤り訂正処理を行う（ステップＩ８）。こうして、ＲＷ側制御部１８は、ステップＩ７〜Ｉ１０を繰り返し実行し、７ビット目の誤り訂正を終えると（ステップＩ９：ＮＯ）、全てのデータについてエラーが解消されたか否かを判断する（ステップＩ１１）。ここで、エラーが解消されていなければステップＩ１にリターンし（ＮＯ）、エラーが解消されていれば（ＹＥＳ）、その誤りの無いデータをタグ側メモリ部６ｃに書込んで（図１３のステップＢ５にリターン）、処理を終了する。
【００５４】
上記した一連の誤り訂正処理（ステップＥ１〜Ｅ１０）、特にはステップＥ１０（ステップＩ１〜Ｉ１０）では、そのステップＩ１〜Ｉ５における同じビット位置の列ごとの誤り訂正処理と、ステップＩ７〜Ｉ１０におけるアドレスことの誤り訂正処理とが夫々繰り返し実行されため、データエラーをより確実に解消することができる。即ち、例えばメインデータＤ０，０〜Ｄ７，７の各アドレス或は同じビット位置の列に、３ビット以上のバーストエラーが複数箇所に発生していたとする。この場合でも、前記ビット対をもとに当該エラーを確実に検出し、前記代入データと第１及び第２誤り検出符号Ｅ及びＦ，Ｇとに基づく誤り訂正処理を、アドレスごとに或は同じビット位置の列ごとに繰り返し実行することで、一部のデータが修復されれば、そのデータをもとに他のデータについても連鎖的に修復される。こうして、所謂訂正なだれが発生することで、タグ側メモリ部６ｃに前述したバーストエラーやランダムエラーが発生した第３段階の状態にあっても、その全てのエラーを訂正することが可能となるのである。
【００５５】
以上説明したように、データ管理システム１１において、前記冗長データは、データの各ビットが示す０，１の値の何れか一方を０１、他方を１０とするビット対Ｆ，Ｒとして符号化したデータを含み、ＲＷ側制御部１８は、前記誤り検出処理において、タグ側メモリ部６ｃから読出したデータについてビット対をなす双方のビットの値が０であれば当該ビット対に誤りが有ると判断する。これによれば、例えば透過放射線によりタグ側メモリ部６ｃのメモリセルにおいてデータが"１"から"０"に片方向へ変化するデータエラーが生じる状況にあっても、ＲＷ側制御部１８によって、ビット対Ｆ，Ｒをなす双方のビットが値０であれば、当該ビット対により表現されたデータが誤りであると判定できる。従って、ビット対Ｆ，Ｒをもとにデータエラーを確実且つ簡単に検出することができる。従って、放射線に晒される特殊環境でデータエラーの発生を防止し且つ正常に機能させることが可能なデータ管理システム１１を提供することができる。
【００５６】
また、ＲＷ側制御部１８は、前記の片方向へ変化するデータエラーが生じる状況にあっても、ビット対Ｆ，Ｒをなす双方のビットの論理和演算を行い、その演算結果が１であれば前記ビット対に誤りが無く、当該演算結果が０であれば前記ビットに誤りがあると判断する。即ち、ビット対Ｆ，Ｒは０１又は１０として生成され、何れもＦ，Ｒの論理和をとれば必ず１となるが、データエラーが発生すると００になり、その論理和をとれば０となる。従って、ＲＷ側制御部１８によって、タグ側メモリ部６ｃに記憶されたデータのエラーを簡単に特定し且つ確実に検出することができ、その処理速度を高めることができる。
【００５７】
しかも、前記ビット対Ｆ，Ｒのうち一方のビットＦと他方のビットＲは、タグ側メモリ部６ｃにおいて相互に異なるアドレスの同じビット位置に記憶されるため、一層、処理速度を高めることができる。
【００５８】
前記冗長データは、１バイトのデータごとに生成される第１誤り検出符号Ｅと、前記データの同じビット位置ごとに生成される第２誤り検出符号Ｆ，Ｇとのうち、少なくとも何れかの誤り検出符号を含む。従って、ＲＷ側制御部１８は、前記ビット対Ｆ，Ｒに基づく誤り検出のみならず、第１及び第２誤り検出符号Ｅ及びＦ，Ｇに基づく誤り検出を行うことができ、誤りをより確実に検出することができると共に誤り訂正処理による訂正確率を高めることができる。
【００５９】
ＲＷ側制御部１８は、前記ビット対Ｆ，Ｒをなす双方のビットの論理和演算に基づき誤りが検出されると、その誤りが検出されたビット対Ｆ，Ｒにデータ０，１（これらは前記代入データ）を代入して前記誤り検出符号をもとに誤り検出処理を行い、誤りが非検出となるまで誤り訂正処理を行う。従って例えば、データエラーが発生しているビット対Ｆ，Ｒが２組（この組数をｘとする）あるとき、当該２組のビット対Ｆ，Ｒに対する代入データの代入パターンは計４通り（つまり２x）存在する。よって、その代入データをもとにデータエラーを確実に修復することができる。
【００６０】
ＲＷ側制御部１８は、前記ビット対Ｆ，Ｒをなす双方のビットの論理和演算に基づき誤りが検出されると、誤りが検出されたアドレスごとに前記代入データと前記第１誤り検出符号Ｅとをもとに誤りが非検出となるまで誤り訂正処理を行う第１誤り訂正処理と、同じビット位置の列ごとに前記代入データと前記第２誤り検出符号Ｆ，Ｇとをもとに誤りが非検出となるまで誤り訂正処理を行う第２誤り訂正処理とを実行する。これによれば、例えば第１誤り訂正処理と第２誤り訂正処理とを繰り返し実行することで、一部のデータが修復されれば、そのデータをもとに他のデータについても連鎖的に修復することができる。よって、タグ側メモリ部６ｃに前述したバーストエラーやランダムエラーが発生した第３段階の状態にあっても、その全てのエラーを訂正できる確率を高めることができる。
【００６１】
ＲＷ側制御部１８は、タグ側メモリ部６ｃにデータを書込む際、そのデータを書込むアドレス以外の全てのアドレスのデータを読出して、前記冗長データをもとに誤り検出処理と誤り訂正処理とを行う（前記ステップＢ１〜Ｂ４）。これによれば、タグ側メモリ部６ｃにデータを書込む度に、当該メモリ部６ｃの全てのアドレスのデータについて誤りの無いデータを作成することができる。また、当該データエラーが無くても、全てのデータの読出すことにより各メモリセルの電荷の再チャージ、つまりリフレッシュを行うことができ、放射線照射によりフローティングゲート中の電子が失われていたとしても、前記第１段階にある損傷を修復することができる。
【００６２】
ＲＷ側制御部１８は、前記読出したデータについて誤り訂正処理を行った場合は、訂正したデータを前記不揮発性記憶手段に書込むことから（前記ステップＢ５）、タグ側メモリ部６ｃにデータを書込む度に、当該メモリ部６ｃの全てのアドレスのデータについて、誤りを訂正する機会を設けることができる。
【００６３】
タグ側メモリ部６ｃには、複数の異なる領域に同じデータが書込まれてデータが多重化されており、ＲＷ側制御部１８は、多重化された複数のデータの同一ビット間で、想定されるデータの誤りパターンに応じて論理演算を行い、その演算により得られたビット列について、前記冗長データをもとに誤り検出処理を行った結果、誤りが検出されなければ、当該ビット列のデータが正しいデータであると判断する。
【００６４】
これによれば、１バイトのデータのあるビットにデータエラーが生じていても、多重化した他方のデータの対応するビットに正しいデータが存在すれば、当該ビットとの論理和演算の結果、そのビット位置のデータについてエラーを確実に修復することができる。また、前記ビット列について冗長データをもとに誤りが無いことを判断することができ、データ管理システム１１の信頼性をより高めることができる。尚、透過放射線等により"０"から"１"の片方向の変化が生じる場合には、前記論理和演算に代えて論理積演算を行うことにより、上記と同様にエラーを修復することができる。
【００６５】
ＲＷ側制御部１８は、前記ビット対Ｆ，Ｒと誤り検出符号Ｅ、Ｆ，Ｇとをもとに誤り検出処理及び誤り訂正処理を行い、その訂正処理後のデータに誤りが有ると、多重化された複数のデータ間で対応するビットごとに論理和演算を行う。これによれば、上記の効果に加え、複数種の冗長データＲ，Ｅ，Ｆ，Ｇ，Ｆ´，Ｒ´を用いた重畳的な誤り訂正処理により、訂正確率を一層高めることができる。
【００６６】
前記冗長データは、データを構成する各ビットに対して、隣り合うビットとの組み合わせについて付加されたパリティ符号Ｐを含み、（ここも「ビット対」は止めた方が良いのでは）ＲＷ側制御部１８は、誤り訂正処理において、前記隣り合うビットのうち誤りが無いビットのデータとパリティ符号Ｐとをもとにビットの誤りを訂正する。これによれば、パリティ符号Ｐは、前記隣り合うビットの組み合わせに対応して付加されたものであるから、前記冗長データＲ，Ｅ，Ｆ，Ｇ，Ｆ´，Ｒ´に基づく訂正処理とは異なる訂正処理を行うことができ、より訂正確率を高めることができる。
【００６７】
ＲＷ側制御部１８は、タグ側メモリ部６ｃからデータを読出す場合、同じアドレスについて連続して少なくとも２度同じデータを読出すまで、繰り返しデータを読出す。例えば、上記のように通信の際、例えばＲＦＩＤタグ１０Ｃのアンテナ２ｃに照射された放射線によりデータが化ける可能性があるが、連続して少なくとも２度同じデータを読出すまで繰り返しデータを取得することで、タグリーダ／ライタ１２Ａ側からのデータ読出し時における化けを確実に防止することができる。
【００６８】
上記実施形態では、ハンディ型タグリーダ／ライタ１２Ａを用いてデータを書込む際に、データの読出し処理から訂正データの書込み処理まで（ステップＢ１〜Ｂ５）を行うこととしたが、例えば据置型タグリーダ／ライタ１２Ｂを用いて、予め設定された所定時間毎にタグ側メモリ部６ｃからデータを読出すようにしてもよい。ここで、前記所定時間は、放射線量としての放射線強度やその照射期間に応じて設定されるものであり、その放射線環境の下、タグ側メモリ部６ｃにおいて放射線照射等によりデータ破壊に至る時間よりも短い時間に設定する。そして、放射線量は、放射線源からの距離の２乗に反比例することから、例えばＲＦＩＤタグ１０Ｃが放射線源の近くで用いられる場合には、前記パソコン１４等の上位装置から比較的短い時間毎（例えば数分ごと）に指示が与えられることに基づき、タグリーダ／ライタ１２Ｂの制御部１８によって、ステップＢ１〜Ｂ５を実行するようにしてもよい。
【００６９】
尚、高温環境の下でも、放射線環境と同様に、前記の片方向へ変化するデータエラーが生じる虞がある。従って、データエラーに至るメモリ部６ａ，６ｃの温度特性等により、前記所定時間を適宜設定してステップＢ１〜Ｂ５を実行することで、上記と同様の効果を得ることができる。
【００７０】
この点、アクティブ型のＲＦＩＤタグ１０Ａでも同様に、自身が有するメモリ部６ａについて制御部５ａが主体となり、前記所定時間毎に、若しくは他に優先する処理の無い時に、ステップＢ１〜Ｂ５を実行するようにしてもよい。即ち、前述したように、ＲＦＩＤタグ１０Ａのメモリ部６ａには、タグリーダ／ライタ１２のメモリ部１９と同様の制御プログラムや誤り訂正プログラム等が記憶されると共に、タグ側メモリ部６ｃと同様の冗長データが記憶されている。従って、ＲＦＩＤタグ１０Ａにおいて、制御部５ａによりメモリ部６ａから読出したデータについてその冗長データをもとに誤り検出処理を行い、その検出処理において誤りが検出された場合には誤り訂正処理を行うことができる。
【００７１】
また、アクティブ型のＲＦＩＤタグ１０Ａにおいて、制御部５ａは、タグリーダ／ライタ１２から前記無線通信手段を介して書込み用データを受信した際、その受信したデータから前記冗長データを生成して前記データと共にメモリ部６ａに書込むようにする。そして、タグリーダ／ライタ１２へ前記無線通信手段を介してデータを送信する際、その送信するデータに付された冗長データをもとに誤り検出処理と誤り訂正処理とを行うことにより、誤りの無いデータを送信するようにしてもよい。つまり、アクティブ型のＲＦＩＤタグ１０Ａであれば、上記したタグリーダ／ライタ１２Ｂと同様の処理を行うことができることから、自身のメモリ部６ａに記憶されるデータ関して冗長データを生成し、或はステップＢ１〜Ｂ５を実行する等してデータを管理することができる。
【００７２】
ＲＦＩＤタグ１０Ａ〜１０Ｃは、何れもハンディ型或は据置型タグリーダ／ライタ１２Ａ，１２Ｂ（外部の電子機器）に対するスレーブとして構成されている。従って、上記データ管理システム１１の下、ＲＦＩＤタグ１０Ａ〜１０Ｃの信頼性を高めることができる。
【００７３】
タグリーダ／ライタ１２Ａ，１２Ｂは、ＲＦＩＤタグ１０Ａ〜１０Ｃの何れかのマスタ（電子機器）として構成されていることから、タグリーダ／ライタ１２Ａ，１２Ｂを用いて上記データ管理システム１１の信頼性を高めることができる。
【００７４】
図２２〜図３０は、第２〜第７実施形態を示すものであり、第１実施形態と同一部分には同一符号を付す等して説明を省略し、以下異なる点につき説明する。
＜第２実施形態＞
図２２は、本発明の第２実施形態を示す図２１相当図である。
【００７５】
多重化データ記憶領域２２４には、例えば、メインデータＤ０，０〜Ｄ７，７のビット対Ｆ´，Ｒ´と同じデータＦ´´，Ｒ´´が書込まれることにより、メインデータＤ０，０〜Ｄ７，７が三重化されている（図２２参照）。従って、前記多重化に係る訂正処理における論理和演算（図１８のステップＧ４）では、本来のメインデータＤと、多重化したメインデータＤ´とＤ´´との間で対応するビットごとに論理和演算が行われる。即ち、図２２の網掛部分で示すように、例えばメインデータＤ０，１、Ｄ０，２、Ｄ０，６については、三重化による３組のビット対Ｆ，Ｒ、Ｆ´，Ｒ´、Ｆ´´，Ｒ´´のうち、値が００となるデータエラーが生じたビット対が２組ずつ含まれている。このような場合でも、同じビット位置に正しいデータが１つでも存在すれば、そのビットの論理和演算の結果、データエラーを修復したビット列を得ることができる。
【００７６】
本実施形態と異なり、上記３組のビット対Ｆ，Ｒ、Ｆ´，Ｒ´、Ｆ´´，Ｒ´´のビット対について多数決に基づきビットごとに誤り訂正をすると、前記第３段階のデータエラーについては、誤りが過半数となって間違った訂正を行う虞がある。これに対し、本実施形態のように論理和演算をもとに誤り訂正を行うことで、同じビット位置に正しいデータが１つでも存在すれば、そのビットに対応する他の２組のビット対のデータエラーを完全に修復することができる。従って、データ管理システム１１の信頼性をより高めることができる。尚、多重化は、二重化や三重化に限定されるものではなく、四重化以上のデータを冗長データとして含むようにしてもよい。
【００７７】
＜第３実施形態＞
図２３は、本発明の第３実施形態を示す図１０（ｂ）相当図である。
前述したように、ＲＷ側制御部１８は、タグ側メモリ部６ｃから読出したメインデータＤ及び第１誤り検出符号Ｅの各ビット対Ｆ，Ｒについて、一方のビットＦと他方のビットＲとの論理和演算を行う（前記ステップＢ２）。そして、本実施形態では、前記ステップＳ３でビット対Ｆ，Ｒに誤りが有ると判断された場合（ＹＥＳ）、前記ステップＳ４に代えて、以下のステップを実行する。
【００７８】
即ち、図示は省略するが、メインデータＤのビット対Ｆ，Ｒに誤りが無く、且つ誤り検出符号（例えば第１誤り検出符号Ｅ）のビット対Ｆ，Ｒの誤りか否かを判断する。そして、メインデータＤのビット対Ｆ，Ｒに誤りがあれば前記ステップＢ４へ移行する一方、第１誤り検出符号Ｅのビット対Ｆ，Ｒにのみ誤りが発生していれば（図２３参照）、誤りのないメインデータＤのビット対Ｆ，Ｒをもとに、アドレスごとに新たに第１誤り検出符号を生成する。これにより、第１誤り検出符号Ｅのビット対Ｆ，Ｒの誤りを訂正することができ、その訂正データをタグ側メモリ部６ｃに書込むのである（前記ステップＢ５へ移行）。
【００７９】
ここで、図２３の網掛部分で示すように、メインデータＤのビット対Ｆ，Ｒに誤りが無く、且つ第１誤り検出符号Ｅ０，０、Ｅ０，２のビット対Ｆ，Ｒにのみ誤りが発生するケースも生じ得る。この点、上記したように、第１誤り検出符号Ｅもビット対Ｆ，Ｒとして符号化されていることから（誤り検出符号用のビット対）、そのビットＦ，Ｒの論理和演算を行うことにより、第１誤り検出符号Ｅにおける誤り検出を確実に行うことができ、誤りの無いメインデータＤのビット対Ｆ，Ｒをもとに、誤り訂正処理を確実に行うことができるのである。尚、第２誤り検出符号Ｆ，Ｇもビット対Ｆ，Ｒとして符号化してもよい。
【００８０】
＜第４実施形態＞
図２４は、本発明の第４実施形態を示す図２３相当図である。
第１実施形態の誤り訂正処理、例えば図１７に示すフローチャート（ステップＦ１〜Ｆ５）では、メインデータＤをその訂正の対象として、１バイトごとに代入データをもとに誤りを訂正する例を説明した。この点、図２４に示すように、メインデータＤ０，３のビット対Ｆ，Ｒと、第１誤り検出符号Ｅ０，２のビット対Ｆ，Ｒとに、夫々誤りが発生するケースも生じ得る。このような場合でも、ビット対Ｆ，Ｒの誤りが２つ以内であれば、該当するメインデータＤ０，３及び第１誤り検出符号Ｅ０，２の夫々のビット対Ｆ，Ｒに代入データを順次代入して、第１誤り検出符号Ｅ０，０Ｆ〜Ｅ０，３Ｒをもとに誤り検出処理を行い、誤りが非検出となるまで誤り訂正を行うことができる。つまり、誤り訂正処理は、その訂正の対象となる範囲（アドレスやビット位置）について、データの誤りパターン等に応じて適宜設定すればよい。
【００８１】
＜第５実施形態＞
図２５は、本発明の第５実施形態を示すものであり、ハンディ型タグリーダ／ライタ１２Ａを用いてＲＦＩＤタグ１０Ｃから前記ＩＤデータを取得する際の処理内容を示すフローチャートである。
【００８２】
タグリーダ／ライタ１２Ａは、その交信領域に存在する複数のＲＦＩＤタグ１０Ｃを識別する同時読取り処理が可能に構成されている。第５実施形態では、前述した設備２４において搬入・搬出される複数の物品２４ｂに夫々貼付されたＲＦＩＤタグ１０Ｃの同時読取りを例とする。また、ＩＤデータは、前述したように前記ＴＩＤ記憶領域２００（図５参照）に書換え不能に記憶される一方、ＩＤデータの冗長データが、前記冗長領域２２０における専用の領域（ＩＤデータ用の冗長領域）に記憶されている。このＩＤデータ用の冗長データは、ＩＤデータの各ビットが示す１，０の値の何れか一方を０１、他方を１０として符号化したビット対のうち、他方のビットＲ（つまり図７中、［ＩＤ］ＤＲで示す反転データＤＲ）を含む。また、冗長データは、例えばＩＤデータの反転データＤＲの誤りを訂正するための第１誤り検出符号（図７中、［ＩＤ］ＥＲで示す）を含む。そして、複数のＲＦＩＤタグ１０Ｃの同時読取りに際し、ＲＷ側制御部１８は、各ＲＦＩＤタグ１０Ｃにおけるタグ側メモリ部６ｃのＴＩＤ記憶領域２００からＩＤデータを夫々読出す（ステップＪ１）。尚、以下では１つのＲＦＩＤタグ１０Ｃに着目して説明するが、実際には、各ＲＦＩＤタグ１０ＣについてステップＪ１〜Ｊ６が夫々実行される。
【００８３】
ＲＷ側制御部１８は、前記ステップＪ１の後、タグ側メモリ部６ｃの前記の冗長領域からＩＤデータの反転データＤＲと第１誤り検出符号ＥＲとを読出して（ステップＪ２）、ＩＤデータと反転データＤＲとで対応するビットごとの論理和演算を行う。そして、この演算の結果、各ビットが全て１で無い場合には（ステップＪ３：ＹＥＳ）、反転データＤＲに係る訂正処理を行う（ステップＪ４）。この場合、誤りと判断されたビット対Ｒに、０或は１（代入データ）を順次代入し、当該代入データを代入した反転データＤＲについて第１誤り検出符号ＥＲをもとに誤り検出処理を行う。こうして、代入データと第１誤り検出符号ＥＲとをもとに誤りが非検出となるまで誤り訂正処理を行うことで、２ビットまでの誤りについては正しい反転データＤＲを得ることができる。この誤り訂正処理後の反転データＤＲは、タグ側メモリ部６ｃに書込まれ（ステップＪ５）、反転データＤＲを反転させたデータは、タグリーダ／ライタ１２Ａにおいて本来のＩＤデータとして利用され、当該ＩＤデータに基づき各種の処理が開始される（ステップＪ６）。
【００８４】
ステップＪ３で検出されるエラーは、ＴＩＤ記憶領域２００から読み出したＩＤデータに誤りがある場合と、冗長データ領域から読み出したその反転データＤＲ側に誤りがある場合とがある。前者の場合、ユーザはＴＩＤ記憶領域２００を書き換えることができないので、ステップＪ４では反転データＤＲに係る訂正処理を行う。そして以降は、どちらのデータに誤りがあったかに関係なく、ＴＩＤ記憶領域２００から読み出したＩＤデータではなく、反転データＤＲを反転させたデータをＩＤデータとして利用する。
【００８５】
以上のようにＲＷ側制御部１８は、タグ側メモリ部６ｃから読出したＩＤデータについてその冗長データＤＲ、ＥＲをもとに誤り検出処理を行うことから、ＩＤデータについて、第１実施形態と同様の効果を得ることができる。また、ＩＤデータは、ＲＦＩＤタグ１０Ｃにおける他のデータ（例えば製品コード等の識別情報）と関連付けられていることから、冗長データＤＲ、ＥＲをもとに誤り訂正処理を行うことで、誤り訂正処理後のＩＤデータと他のデータとを対応させることができ、各種の処理を支障なく実行することができる。尚、ＩＤデータの冗長データは、ビット対Ｒや第１誤り検出符号ＥＲに限定するものではなく、上記した各種の冗長データをもとに誤り検出処理及び誤り訂正処理を行うことができる。
【００８６】
また、第５実施形態と同様に、以下の第６実施形態以降についても、各種の冗長データをもとに誤り検出処理及び誤り訂正を行うことができることから、前記冗長データに基づく誤り検出処理及び誤り訂正処理について冗長データの符号を省略する等、その詳細な説明を省略する。
【００８７】
＜第６実施形態＞
図２６〜図２８は本発明の第６実施形態を示す。図２６は、図４（ａ）に示すＲＦＩＤタグ１０Ａにおけるメモリ部６ａのマップイメージに示した３種類の誤り訂正プログラムである、主誤り訂正プログラム，副誤り訂正プログラム及び簡易誤り訂正プログラムが、それぞれ誤り訂正を行う対象を示している。主誤り訂正プログラムが誤り訂正を行う対象は、データ領域１０１と、自身を除く一般プログラム領域１０２，副誤り訂正プログラム領域１０４及び簡易誤り訂正プログラム領域１０５であり、副誤り訂正プログラムが誤り訂正を行う対象は、主誤り訂正プログラム領域１０３のみである。
【００８８】
主，副誤り訂正プログラムは、全く同じ内容のプログラムであり、スタートアップ時の初期設定において、一方が主，他方が副として動作するように指定されることで、誤り訂正を行う領域（アドレスの範囲）が決定される。主，副誤り訂正プログラムは、上記各実施形態においてデータ領域１０１のデータについて行った誤り検出・誤り訂正と同様の処理を、プログラム領域１０２〜１０５の各プログラムについて行うようになっている。
【００８９】
また、簡易誤り訂正プログラムが誤り訂正を行う対象は、主誤り訂正プログラム領域１０３及び副誤り訂正プログラム領域１０４となっている。簡易誤り訂正プログラムは、主又は副誤り訂正プログラムが実行された結果、実行中である自身のプログラムに誤りが検出された場合に起動され、誤りがある方の訂正プログラムにおいて誤りが検出されたアドレスに、誤りが無い方の訂正プログラムにおいて対応するアドレスの内容をコピーすることで修復する。各プログラムは、例えばマルチタスクＯＳ（オペレーティング）上で動作するようになっており、そのマルチタスクＯＳがタスクスイッチングを行うことで各プログラムの実行状態が切り替えられる。
【００９０】
次に、第６実施形態の作用について図２７及び図２８を参照して説明する。図２７は、主又は副誤り訂正プログラムによる処理内容を示すフローチャートである。タスクスイッチングにより主又は副何れかの誤り訂正プログラムが指定されて起動されると（ステップＫ１）、主，副のそれぞれに応じて、訂正対象とするアドレス領域を取得する（ステップＫ２）。ここでは、訂正対象とする各プログラム領域１０２〜１０５又はデータ領域１０１と、対応する冗長データの領域とを一括して読出す。そして、訂正の対象がデータ領域１０１である場合は（ステップＫ３：ＮＯ）、誤り検出処理を行う（ステップＫ７）。ここで誤りが検出されなければ（ステップＫ８，ＮＯ）、ステップＫ２に戻る。
【００９１】
一方、ステップＫ３において訂正の対象がプログラム領域１０１〜１０５の何れかであり（ＹＥＳ）、それが自分自身のプログラム領域でなければ（ステップＫ４：ＮＯ）、訂正を行うため、動作を停止させる必要があるプログラムか否かを判断する（ステップＫ５）。すなわち、主誤り訂正プログラムが動作している場合は一般プログラム又は副誤り訂正プログラムか否か、副誤り訂正プログラムが動作している場合は主誤り訂正プログラムか否かを判断する。これらのプログラムである場合は（ＹＥＳ）、そのプログラムの起動を停止させる（ステップＫ６）。尚、ステップＫ５，Ｋ６の処理は、例えばマルチＣＰＵ等の構成において、複数のプログラムが並行して実行される可能性がある場合に必要な処理であり、シングルＣＰＵにおいてタスクスイッチングを実行する場合には不要である。
【００９２】
そして、ステップＫ７を実行した結果、誤りが検出されると（ステップＫ８：ＹＥＳ）、訂正対象が主又は副誤り訂正プログラムか否かを判断し（ステップＫ９）、訂正対象がデータ領域１０１であれば（ＮＯ）冗長データに基づいて誤り訂正処理を行う（ステップＫ１５）。一方、訂正対象が主又は副誤り訂正プログラムである場合は（ＹＥＳ）、冗長データに基づく通常の訂正処理が可能か否かを判断し（ステップＫ１０）、可能であれば（ＹＥＳ）ステップＫ１５に移行する。尚、各プログラムについて用意する冗長データは、データ領域１０１のデータと同様に、ビット対，パリティ符号，多重化データ，誤り検出符号等であり、誤り検出及び誤り訂正は、データ領域１０１のデータと同様に実行すれば良い。
【００９３】
ステップＫ１０において、主又は副誤り訂正プログラムの通常訂正処理が不能であれば（ＮＯ）、自身のプログラムについて冗長データに基づき誤り検出処理を行う（ステップＫ１１）。そして、誤りが無ければ（ステップＫ１２：ＮＯ）、ステップＫ８で検出された対象プログラムの誤り検出アドレスに、自身のプログラムの対応するアドレスの内容を書き込んでコピーする（ステップＫ１３）。一方、誤りがあれば（ＹＥＳ）、簡易誤り訂正プログラムを起動する（ステップＫ１４）。
【００９４】
図２８は、簡易誤り訂正プログラムの処理内容を示すフローチャートである。先ず、主誤り訂正プログラムについて誤りが生じたアドレスを検出すると（ステップＬ１）、そのアドレスに対応する副誤り訂正プログラムのアドレスの内容を検出する（ステップＬ２）。尚、ステップＬ１におけるアドレスの検出は、例えばステップＫ１２で誤りが検出された場合に、主又は副誤り訂正プログラムが、そのアドレス値を所定の領域に書き込んで記憶させておき、簡易誤り訂正プログラムがその領域を読出すことで行っても良い。また、簡易誤り訂正プログラムが、主誤り訂正プログラムについて冗長データに基づき改めて誤り検出を行っても良い。
【００９５】
続くステップＬ３において、副誤り訂正プログラムの対応するアドレスの内容に誤りが無ければ（ＮＯ）、当該アドレスの内容を主誤り訂正プログラムの誤りが生じたアドレスにコピーして、主誤り訂正プログラムを修復する（ステップＬ４）。以降のステップＬ５〜Ｌ８については、ステップＫ１２において副誤り訂正プログラム側に誤りが検出された場合に、対応する主誤り訂正プログラムのアドレスの内容によって副誤り訂正プログラムを修復する処理である。ステップＬ３，Ｌ７において、副誤り訂正プログラム，主誤り訂正プログラムに誤りがあった場合は（ＹＥＳ）、相手側のプログラムを修復することができないので処理を終了する。
【００９６】
ここで、ＲＦＩＤタグ１０Ａが、放射能や宇宙線等の被曝環境下や高温環境下に配置されている場合には、メモリ部６ａのプログラム領域１０２〜１０５に配置されている各プログラムについても、データ領域１０１に配置されているデータに等しい確率で誤りが発生する。そこで、第６実施形態では、上述のように主，副，簡易誤り訂正プログラムが動作することで、一般プログラムに誤りが生じた場合の訂正・修復を図っている。すなわち、一般プログラム，副及び簡易誤り訂正プログラムに誤りが発生すると、その誤りは主誤り訂正プログラムによって訂正され、主誤り訂正プログラムに誤りが発生すると、その誤りは副誤り訂正プログラムによって訂正される。
【００９７】
更に、主，副誤り訂正プログラムの一方に、冗長データでは訂正できない誤りが発生し、且つ他方のプログラムにも誤りが発生している場合には、簡易誤り訂正プログラムが起動されて、他方のプログラムの誤りが発生していない部分により修復が可能であれば、当該部分を一方の側にコピーして修復を図る。主，副誤り訂正プログラムは同一内容のプログラムであり、双方で同じプログラムステップに相当するアドレスに、同時に誤りが発生する確率は極めて低い。したがって、これらの作用により３重に誤り訂正を行うことが可能となっている。
【００９８】
ここでプログラムとして実行されるオブジェクトコードは、ビット対Ｆ，Ｒの片側、即ち、０を０１、１を１０とした元のプログラムと同じ値の側である。
以上のように第６実施形態によれば、ＲＦＩＤタグ１０Ａにおけるメモリ部６ａに、一般プログラムと共に、主誤り訂正プログラム，副誤り訂正プログラム及び簡易誤り訂正プログラムを配置し、データ領域１０１には、これらの各プログラムについて誤り訂正を行うための冗長データを配置する。そして、主誤り訂正プログラムは、一般プログラム，副及び簡易誤り訂正プログラムに発生した誤りを訂正し、副誤り訂正プログラムは、主誤り訂正プログラムに発生した誤りを訂正し、主，副誤り訂正プログラムの一方に、冗長データでは訂正できない誤りが発生し、且つ他方のプログラムにも誤りが発生している場合には、簡易誤り訂正プログラムによって、主，副誤り訂正プログラム中の誤りが発生していない部分を他方にコピーして修復するようにした。したがって、ＲＦＩＤタグ１０Ａが、放射能や宇宙線等の被曝環境下や高温環境下に配置されている場合でも、一般プログラムに発生した誤りを極めて高い確率で訂正することができる。
【００９９】
尚、上記の誤り検出・誤り訂正処理については、タグリーダ／ライタ１２Ａにおいても、図４（ｂ）に示すメモリ部１９のプログラム領域３０３〜３０５に、同様の主，副，簡易誤り訂正プログラムが配置されているので、プログラム領域３０２〜３０５及びデータ領域３０１について同様の処理が行われる。
【０１００】
＜第７実施形態＞
図２９及び図３０は、本発明の第７実施形態を示す。図２９は図６（ａ）相当図であり、ここではメインデータ領域２１０と、第１誤り検出符号（第１冗長データ）領域２２１に代わる第３冗長データ領域２２３とを示しており、第１誤り検出符号Ｅ，第２誤り検出符号Ｆ，Ｇとは異なる第３誤り検出符号データを用いる場合を説明する。図２９及び図３０に示す各ビットの図示パターン（網掛け等）は、同じパターンのビットが同じビット列に属することを示している。
【０１０１】
例えば図２９では、１アドレス増加する毎に、ビット位置を１ビットずつずらしたビットをとることで、８ビットを組み合わせたビット列を構成し、その８ビットデータについて４ビットの誤り検出符号を付加する（第３誤り検出符号）。例えば、データＤ０，０、Ｄ１，１、Ｄ２，２、〜Ｄ７，７が同一のビット列に属しており、このビット列に対して、同様に、アドレスが増加する毎にビット位置を１ビットずつずらした配列で、冗長データＥ０，０、Ｅ１，１、Ｅ２，２、Ｅ３，３が生成されている。また、第２ビットのデータＤ０，１から始まるビット列については、末尾のビットは第１ビットのデータＤ，０となり、第３ビットのデータＤ０，２から始まるビット列については、７ビット目は第１ビットのデータＤ６，０，末尾のビットは第２ビットのデータＤ７，１となる。
【０１０２】
図３０では、２アドレスが増加する毎に、ビット位置を１ビットずつずらしたビットをとることで、８ビットを組み合わせたビット列を構成している。例えば、データＤ０，０、Ｄ２，１、Ｄ６，３、Ｄ０，４、Ｄ２，５、Ｄ４，６、Ｄ６，７が同一のビット列に属しており、このビット列に対して、同様に、２アドレスが増加する毎にビット位置を１ビットずつずらした配列で、冗長データＥ０，０、Ｅ２，１、Ｅ４，２、Ｅ６，３が生成されている。すなわち、「アドレスが増加する毎に」と言ってもその範囲は１ワードのデータビット数で制限され、最初のビットを取得するアドレスから「＋７」を超えることはなく、「＋７」を超える分は「８」を減じたアドレスに折り返される。
【０１０３】
第３誤り検出符号を付すためのビット列を構成するパターンは、図２９，図３０に示すものに限らない。例えば１アドレスが増加する毎に、ビット位置を２ビットずつ，或いは３ビットずつずらしたビットをとっても良い。
【０１０４】
また、図２９，図３０では説明の都合上、第３冗長データ領域２２３を図６（ａ）に示す第１冗長データ領域２２１に置き換えて示しているが、実際にはこれらは異なるデータ領域であり独立に存在するので、第３誤り検出符号は、第１，第２誤り検出符号と併用して誤り検出に使用することが可能である。そして、第３冗長データ領域２２３については、必ずしも対応するビット列と同様の配列にする必要はなく、例えば第１誤り検出符号と同様の配列にしても良い。
【０１０５】
以上のように、第７実施形態によれば、アドレスが増加する毎にビット位置を１ビット以上ずつずらしてなるビット列について、第３誤り検出符号を付すようにした。これにより、データ領域２１０において、通常のデータ配列について誤りが連続するバースト誤りが発生しているとしても、上記のビット列に関しては、誤りが生じているビットの数を少なくすることができる。したがって、第３誤り検出符号に基づき誤り検出を行い、誤りを訂正すれば、より多くの誤りを訂正できる可能性を向上させることができる。
【０１０６】
本発明は上記し且つ図面に記載した実施形態にのみ限定されるものではなく、上記したデータ管理方法について、制御部によりデータの読取り及び書込みが行われる不揮発性記憶手段を備えた各種のメモリ装置に適用することができる。
【０１０７】
上記実施形態のタグリーダ／ライタ１２は、タグ側メモリ部６ｃから読出したデータについて誤り検出処理や誤り訂正処理を行う構成としたが、自身のメモリ部１９に係るデータについて誤り検出処理や誤り訂正処理を行うようにしてもよい。即ち、タグリーダ／ライタ１２も、内蔵するマスタ側記憶手段たるメモリ部１９に、前記データエラーが頻発する環境下で用いるケースも想定されることから、データと共に当該データの誤りを訂正するための冗長データを記憶させておく。そして、冗長データとして上記実施形態と同様のビット対等を用いて誤り検出処理や誤り訂正処理を行うことにより、タグリーダ／ライタ１２についても、データエラーの発生を防止し且つ正常に機能させることができる。
【０１０８】
また、マスタ側記憶手段たるメモリ部１９において、前述した主誤り訂正プログラム及び副誤り訂正プログラム、並びにこれらの誤り訂正プログラムの誤りを訂正するための冗長データ等について、タグリーダ／ライタ１２自身が正常に機能するためのデータとして構成することで、タグリーダ／ライタ１２もＲＦＩＤタグ１０Ｃと同様に信頼性を高めることができる。
【０１０９】
ここで、例えばハンディ型タグリーダ／ライタ１２Ａの電源が投入された時、制御部１８は、メモリ部１９から読出したデータのうち少なくとも当該制御部１８により実行される制御プログラムについてその冗長データをもとに誤り検出処理を行うように構成する。これによれば、メモリ部１９にデータエラーが発生していても、制御プログラムを実行する前に、そのプログラムの誤りを優先的に検出して訂正することができ、正常に起動させることができる。
【０１１０】
また、アクティブ型のＲＦＩＤタグ１０Ａの電源が投入された時、制御部５ａは、自身のメモリ部６ａから読出したデータのうち少なくとも当該制御部５ａにより実行される制御プログラムについてその冗長データをもとに誤り検出処理を行うように構成する。これによれば、ＲＦＩＤタグ１０Ａにおいて、上記と同様に制御プログラムを実行する前に、そのプログラムの誤りを優先的に検出して訂正することができ、正常に起動させることができる。
【０１１１】
例えば前記ＲＦＩＤタグ１０Ｃは別個に、他のＲＦＩＤタグ１０Ｃを備え、ビット対Ｆ，Ｒのうちの一方のビットＦを、一方のＲＦＩＤタグ１０Ｃのタグ側メモリ部６ｃに書込み、他方のビットＲを、他方のＲＦＩＤタグ１０Ｃのタグ側メモリ部６ｃに書込む。そして、ＲＷ側制御部１８は、双方のタグ側メモリ部６ｃ，６ｃからデータを読出することにより、ビット対Ｆ，Ｒに基づく誤り検出処理を行う。これによれば、一方のタグ側メモリ部６ｃには本来のデータが記憶され、そのデータを反転した反転データが他方のタグ側メモリ部６ｃに記憶されることから、一対のＲＦＩＤタグ１０Ｃを用いて第１実施形態と同様の効果を得ることができる。
【０１１２】
ＲＦＩＤタグ１０の種類１０Ａ〜１０Ｃとタグリーダ／ライタ１２の種類１２Ａ，１２Ｂとの各組合わせ（図２参照）に応じて、ＲＦＩＤタグ１０Ａ側が主体となり、或はタグリーダ／ライタ１２Ａ，１２Ｂ側が主体となって、上記した各種の処理を実行することで、ＲＦＩＤタグ１０とタグリーダ／ライタ１２との双方について信頼性を高めることのできるデータ管理方法を提供することができる。
【０１１３】
また、前記ハミング符号の他、拡張ゴレイ符号を用いて誤り検出処理を行い、或は誤り訂正処理を行うようにしてもよい。具体的には、例えば１２ビットのメインデータに対して、エラー訂正用ビットの数を１２として２４ビットの符号語に置き換える拡張ゴレイ符号を形成する。この場合、７ビット誤り検出機能を備えるか、或は４ビット誤り検出機能及び３ビット誤り訂正機能を備える等、適宜設定することができる。よって、ハミング符号に比し、多くの記憶領域が必要となるが、誤り検出機能或は誤り訂正機能を高めることができる。
【０１１４】
上記したデータ管理システム１１或はデータ管理方法は、制御部によってデータの読取り及び書込みが行われる不揮発性記憶手段を有する電子機器や記憶装置一般に適用できるものである。即ち、電子機器や記憶装置としては、データ及びプログラムと共に当該データ等の誤りを訂正するための前記冗長データが記憶された不揮発性記憶手段と、前記不揮発性記憶手段に対するデータの読取り及び書込みを制御する制御部とを備えたものであればよい。従って、電子機器や記憶装置としては、マスタとスレーブとの関係にあるＲＦＩＤタグやタグリーダ／ライタに限定するものではなく、パソコンや他の通信機器等において、上記した各種の冗長データをもとに誤り検出処理や誤り訂正処理を行うことで、各実施形態と同様の効果を得ることができる。
【０１１５】
この他、本発明は、上記ステップＤ１〜Ｄ３の処理を省略したりする等、適宜変更して実施することができ、これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１６】
図面中、２ａ〜２ｃはアンテナ（無線通信手段）、５ａ〜５ｃはスレーブ側制御部、６ａ〜６ｃは不揮発性記憶手段、７ａ〜７ｃは通信部（無線通信手段）、１０，１０Ａ〜１０ＣはＲＦＩＤタグ（スレーブ、記憶装置）、１１はデータ管理システム、１２，１２Ａ，１２Ｂはタグリーダ／ライタ（マスタ、電子機器、記憶装置）、１８はマスタ側制御部、２０は通信部（無線通信手段）、２２はアンテナ（無線通信手段）を示す。
【図１】
0005670687.tif 000002
【図２】
0005670687.tif 000003
【図３】
0005670687.tif 000004
【図４】
0005670687.tif 000005
【図５】
0005670687.tif 000006
【図６】
0005670687.tif 000007
【図７】
0005670687.tif 000008
【図８】
0005670687.tif 000009
【図９】
0005670687.tif 000010
【図１０】
0005670687.tif 000011
【図１１】
0005670687.tif 000012
【図１２】
0005670687.tif 000013
【図１３】
0005670687.tif 000014
【図１４】
0005670687.tif 000015
【図１５】
0005670687.tif 000016
【図１６】
0005670687.tif 000017
【図１７】
0005670687.tif 000018
【図１８】
0005670687.tif 000019
【図１９】
0005670687.tif 000020
【図２０】
0005670687.tif 000021
【図２１】
0005670687.tif 000022
【図２２】
0005670687.tif 000023
【図２３】
0005670687.tif 000024
【図２４】
0005670687.tif 000025
【図２５】
0005670687.tif 000026
【図２６】
0005670687.tif 000027
【図２７】
0005670687.tif 000028
【図２８】
0005670687.tif 000029
【図２９】
0005670687.tif 000030
【図３０】
0005670687.tif 000031