JP4206161B2 - 記憶媒体の照合装置 - Google Patents
記憶媒体の照合装置 Download PDFInfo
- Publication number
- JP4206161B2 JP4206161B2 JP37634698A JP37634698A JP4206161B2 JP 4206161 B2 JP4206161 B2 JP 4206161B2 JP 37634698 A JP37634698 A JP 37634698A JP 37634698 A JP37634698 A JP 37634698A JP 4206161 B2 JP4206161 B2 JP 4206161B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage medium
- verified
- value
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
この発明は記憶媒体の照合装置に関し、特に例えば半導体メモリやCD−ROMのような不揮発性記憶媒体又は固定的記憶媒体に書き込まれた複製データがマスタデータと同一か否かを比較照合するために使用される記憶媒体の照合装置に関する。
【0002】
【従来技術】
マスターデータを半導体メモリやCD−ROM等の記憶媒体に複製した場合、正しいデータが書き込まれたかどうかを照合する必要がある。従来の照合方法としては、ベリファイ方法、サムチェック方法、CRC(Cyclic Redundancy Check)方法等が知られている。
ベリファイ方法は、マスターデータと複製データとの間でバイト単位で全ビットを比較照合する方法である。サムチェック方法は、各アドレスのデータを順次加算して全データの総和を求め、全データの総和がマスターデータの総和と一致するか否かを比較照合することにより、書き込まれた複製データの適否を判断する方法である。CRC方法は、予め定める量のデータ単位毎にチェック用のデータ(チェックビット)を付加しておき、データ単位毎に比較して誤りを検出する方法である。
【0003】
【発明が解決しようとする課題】
上述の照合方法は、それぞれ以下の問題点を含んでいる。すなわち、ベリファイ方法は、最も確実で正確に判断できる反面、検査・照合のためには各バイト毎に比較しなければならず、照合のための時間が長くなり、記憶媒体の容量が増大する程に検査時間も長くなる。サムチェック方法は、マスターデータの書き込まれたフロッピーディスクを半導体メーカ(又はCD−ROMメーカ)に提供して、マスターデータを複製した半導体メモリ(又はCD−ROM)を製造する場合に、データ量が大きいと、フロッピーディスクが複数枚に分割されるときがあり、フロッピーディスクの順番の間違いによってデータの順番を誤って入れ替えられた複製上の誤りがあっても、チェックサムさえ同一であれば誤りを検出できないという問題点がある。また、半導体メモリの内部はいくつかのメモリブロックに分けて形成されるが、メモリセレクタの不良によりメモリブロック単位でデータが入れ替わる場合もあり、その場合にチェックサムが同じであれば複製誤りを検出できない。CRC方法は、誤り検出能力が高い反面、誤り検出のための計算処理の負担がサムチェックに比べて10倍程度であり、照合に時間がかかり、また照合のための回路構成が複雑になる。
【0004】
それゆえに、この発明の主たる目的は、検出精度が高く、比較照合のための時間を短縮でき、データの順番の入れ替えによる誤りも検出できる、記憶媒体の照合装置を提供することである。
【0005】
【課題を解決するための手段】
この発明は、記憶媒体に書き込まれた複製データがマスターデータと同一か否かを照合するための記憶媒体の照合装置であって、マスターデータに基づいて予め算出された基準となる第1の合計値を設定する基準値設定手段と、記憶媒体から複製データを読み出して被照合データとして出力する読出手段と、読出手段の被照合データの読み出しに関連しかつ予め定める規則性に従って変化するカウントデータを発生するカウント手段と、被照合データの各ビットデータとカウント手段によって発生されたカウントデータとのそれぞれのビット位置に対応するデータの排他的論理和を求める排他的論理和算出手段と、排他的論理和算出手段によって求められた全ビットの論理値を合計した第2の合計値を求める加算手段と、基準値設定手段によって設定された第1の合計値と加算手段によって求められた第2の合計値とを比較照合して記憶媒体の複製データが適正に書き込まれたか否かを判定する判定手段を備える。
【0006】
【作用】
予め、マスターデータに基づく基準となる第1の合計値を算出し、それを基準値設定手段に設定する。この第1の合計値は、この発明の照合装置と同じ原理(マスターデータとカウントデータの対応ビットの排他的論理和)によって算出しておく。
次に、照合対象となる半導体メモリ又はCD−ROM等の記憶媒体を読出(又は読取)手段にセットして、照合動作をスタートさせる。排他的論理和算出手段は、読出手段によって記憶媒体から読み出された被照合データと、カウント手段によって生成されたカウントデータとのそれぞれの対応ビットの排他的論理和を求める。このとき、カウント手段は、読出手段における被照合データの読み出しに同期して、その計数値を予め定める規則性に従って変化させる。加算手段は、全被照合データについての排他的論理和の合計値(第2の合計値)を算出する。判定手段は、第1の合計値と第2の合計値とを比較照合して、記憶媒体の複製データが適正に書き込まれたか否かを判定する。
【0007】
【発明の効果】
この発明によれば、単なるデータの総和ではなく、データとその読み出しに関連するカウントデータとの排他的論理和の総和を利用して比較照合しているため、データの順番の入れ替えによる誤りも検出できる。また、照合に必要な計算のための負担が従来技術に比べて小さいので、照合時間を短縮でき、さらに、照合装置の回路構成を簡単にすることができる。
【0008】
【発明の実施の形態】
図1はこの発明の一実施例の記憶媒体の照合装置のブロック図である。なお,本実施例では、マスターデータの記憶媒体および照合対象の記憶媒体がROMであり、被照合データのビット数が16ビットの場合を例として説明する。
図1において、記憶媒体の照合装置10は、ROM30から被照合データを読み出すための読出回路11と、排他的論理和回路12と、累算器13と、ゲート回路14と、終了検出回路15と、第1の合計値を記憶するためのレジスタ16(基準値設定手段)と、照合判定のための比較器17と、CPU18と、表示装置19と、入力用キーボード20と、制御プログラムが記憶されたROM21を含んで構成される。
【0009】
具体的には、読出回路11は、クロック発振器111と、アドレスカウンタ112と、ROMを接続するコネクタ113と、遅延回路114を含む。排他的論理和回路12は、ROMの出力端子数に相当する数の排他的論理和ゲートG0〜G15を含む。各排他的論理和ゲートG0〜G15には、一方入力として読出回路11によって読み出されたデータD0〜D15が与えられ、他方入力としてアドレスカウンタ112の計数値(アドレスデータ)の下位16ビットのデータA0〜A15が与えられる。各排他的論理和ゲートG0〜G15は、一方入力データD0〜D15と他方入力データA0〜A15のそれぞれ対応するビットの排他的論理和を求め、不一致のとき論理「1 」、一致したとき論理「0」を出力する。累算器13は、遅延回路114によって必要な時間だけ遅延されたクロック信号が与えられる毎に、直前の累算値と排他的論理和回路12からの出力値とを加算して、累算値を求める。終了検出回路15は、ROMの最終アドレス値を記憶するためのレジスタ151と、比較器152と、遅延回路153とを含む。この遅延回路153は、比較器152においてROMの全データの読み出し終了を検出した後、CPUにEnd信号を送る前に、データ読み出し以降の処理(排他的論理和回路12,累算器13,ゲート回路14および比較器17による処理)に必要な時間を待つための回路である。ROM21は、予め第1の合計値を算出するためのプログラムおよび照合プログラムを記憶している。
この照合装置10は、マスターデータに基づく基準となる第1の合計値を算出するモードと照合モードを有す。そのため、ゲート回路14はモードによって出力を切替えるものであって、第1の合計値算出モード時でありかつEnd信号が与えられとき、累算器13の累算結果をCPU18に与え、照合モード時でありかつEnd信号が与えられたとき、累算結果を比較器17に与えるように切り替える。以下の説明では、第1の合計値算出モードを「0」とし、照合モードを
「1」とする。
なお、マスターデータがフロッピーディスクに書き込まれている場合は、フロッピーディスク読取装置22aおよびRAM23が設けられ、RAM23の記憶データに基づいて第1の合計値の算出が行われる。また、被照合データがCD−ROMに書き込まれている場合は、CD−ROM読取装置22bおよびROM30に代えてRAM23が設けられ、RAM23の記憶データに基づいて第2の合計値の算出が行われる。CD−ROMの場合は、RAM23の記憶容量単位でデータを分割して、順次各単位ごとに照合作業を行う。
【0010】
図2は図1の実施例におけるROM21に記憶された第1の合計値算出プログラムのフローチャートである(但し、ステップ12ないしステップ14におけるかっこ内の処理は、後述の図6の実施例の場合の説明であるので、本実施例では除く)。
次に、図1および図2を参照して、照合作業に先立ち、第1の合計値の算出を行う場合を説明する。具体的には、操作者はマスターデータの記憶されたROMをコネクタ113に装着して、図2に示す第1の合計値算出プログラムを実行する。まず、ステップ11において、モード切替信号「0」がゲート回路14に与えられるが、この状態ではEnd信号が与えられていないため、ゲート回路14は何ら出力を導出しない。そして、ステップ12において、ROMの最終アドレス値の入力指示が行われる。ステップ13において、その入力値がレジスタ151にロードされる。CPU18は、ステップ14においてアドレスカウンタ112と累算器13をリセットした後、ステップ15において、終了検出回路15からのEnd信号(第1の合計値の算出終了の信号)が与えられるのを待つ。
【0011】
第1の合計値は、ステップ14においてアドレスカウンタ112と累算器13がリセットされた後、読出回路11,排他的論理和回路12および累算器13から成るハード回路の以下のような動作によって算出される。すなわち、読出回路11のアドレスカウンタ112は、クロック発振器111からクロックが与えられる毎にその計数値を歩進して、その計数値をマスターデータの記憶されたROMに読出アドレスとして与え、これに応じて、ROMから指定されたアドレスに対応するデータD0〜D15が読出され、このデータD0〜D15が排他的論理和回路12の排他的論理和(以下EXOR)ゲートG0〜G15の一方入力として与えられる。これと同時に、アドレスカウンタ112の計数値のアドレスデータ(下位16ビット)A0〜A15が、EXORゲートの他方入力として与えられる。各EXORゲートは、一方入力D0〜D15と他方入力A0〜A15の対応するビットの2入力が不一致のとき論理「1」を出力し、 2入力が一致したとき論理「0」を出力する。累算器13は、クロック信号が与えられるごとにEXORゲートG0〜G15からの出力を累算する。マスターデータの記憶されたROMの全番地について上記動作が繰り返されることによって、累算器13により第1の合計値が算出される。
【0012】
終了検出回路15は、レジスタ151に記憶されているROMの最終アドレス値とアドレスカウンタ112の計数値(アドレスデータ)を常時比較し、ROMの全データの読み出し終了を検出する。この読出終了検出信号が、遅延回路153によって一定時間遅延されて、End信号としてCPU18およびゲート回路14に与えられると、ゲート回路14は累算器13によって求められた第1の合計値をCPU18へ与える。
そして、ステップ15において、終了検出回路15からのEnd信号があったことが判断される。ステップ16において、CPU18は、ゲート回路14を介して与えられる第1の合計値を読み込み、ステップ17において、第1の合計値がレジスタ16にロードされるとともに表示装置19に表示される。このようにして、第1の合計値算出プログラムの処理が終了する。
なお、第1の合計値の算出モードにおいて、マスターデータがフロッピーディスクに書き込まれている場合は、まず初めに、フロッピーディスク読取装置22aによってフロッピーディスクから全データが読み出されて、CPU18によってRAM23に転送され、RAM23から読み出されたデータD0〜D15が排他的論理和回路12に与えられることになる。
【0013】
図3は図1の実施例におけるROM21に記憶された照合プログラムのフローチャートである(但し、ステップ22におけるかっこ内の処理は、後述の図6の実施例の場合の説明であるので、本実施例では除く)。
次に、照合モードの動作を説明する。なお、照合動作の開始に先立ち、レジスタ16には第1の合計値が、レジスタ151にはROMの最終アドレス値が記憶されているものとする。
図3に示す照合プログラムの開始に先立ち、照合対象のROM30をコネクタ113に装着する。ステップ21において、モード切替信号「1」がゲート回路14に与えられるが、この状態ではEnd信号が与えられていないので、ゲート回路14は何ら出力を導出しない。ステップ22において、アドレスカウンタ112と累算器13がリセットされる。ステップ23において、終了検出回路15からEnd信号(照合終了の検出信号)が与えられるのを待つ。
【0014】
この待機状態において、前述の第1の合計値の算出と同様にして、読出回路11,排他的論理和回路12および累算器13から成るハード回路によって第2の合計値の算出動作が行われる。すなわち、ROM30から読み出された被照合データD0〜D15と、アドレスカウンタ112の計数値であるアドレスデータA0〜A15のそれぞれ対応するビットが排他的論理和回路12のEXORゲートG0〜G15に入力されて、各ゲートにおいて排他的論理和値が算出される。EXORゲートG0〜G15によって求められた各番地毎の排他的論理和が累算器13によって累算される。この動作がROM30の全番地について繰り返されることによって、第2の合計値が算出される。
【0015】
一方、アドレスカウンタ112の計数値(アドレスデータ)が、レジスタ151に記憶されているROMの最終アドレス値になると、終了検出回路15はROM30の全データの読み出し終了を検出し、End信号を発生する。End信号に応じて、ゲート回路14が累算器13で算出された合計値を比較器17に与える。比較器17は、累算値(第2の合計値)とレジスタ16に記憶されている第1の合計値を比較し、その比較結果を照合結果としてCPU18に与える。
これに応じて、ステップ23においてEnd信号のあったことが検出されて、ステップ24へ進む。ステップ24において、照合結果が読み込まれ、ステップ25において、照合結果が判断される。照合結果が一致した場合は、ステップ26において表示装置19に“合格”と表示される。不一致の場合は、ステップ27において表示装置19に“不合格”と表示される。
なお、照合モードにおいて、被照合データがCD−ROMに書き込まれている場合は、まず初めに、CD−ROM読取装置22bによってCD−ROMからデータが読み出されて、CPU18によってRAM23に転送され、RAM23から読み出されたデータD0〜D15が排他的論理和回路12に与えられることになる。CD−ROMの場合は、RAM23の記憶容量単位でデータを分割して、順次各単位ごとに照合作業を行う。
【0016】
次に、図1の実施例を採用した場合に、データの順番の入れ替えによる誤りが検出できる理由を説明する。例えば、図4のようなマスターデータ(ビット数は4ビット)をROMに複製した場合に、0番地のデータと4番地のデータが入れ替わるという誤りに起因して、図5のような複製データとなったと仮定する。この場合は単にデータの順番が入れ替わっただけなので、サムチェック方法では誤りを検出できない。これに対して、図1の実施例の照合装置によれば、図4に示すように第1の合計値は「110101」となり、第2の合計値は図5に示すように「111101」となるので、合計値の不一致が生じ、誤りを検出できる。
【0017】
図6はこの発明の他の実施例の記憶媒体の照合装置のブロック図である。なお、本実施例も、マスターデータの記憶媒体および照合対象の記憶媒体がROMであり、被照合データのビット数が16ビットの場合を例として説明する。
図6において、この実施例の記憶媒体の照合装置40が、図1の実施例と異なる点は、排他的論理和回路12に与えるカウントデータのために、カウンタ回路24を追加したことである。カウンタ回路24は、カウンタ241と、比較器242と、カウントデータの最大値を記憶するためのレジスタ243を含む。カウンタ241の計数値C0〜C15は、アドレスカウンタ112の計数値を示すデータA0〜A15に代えて、排他的論理和回路12のEXORゲートG0〜G15に与えられる。
【0018】
カウンタ回路24の動作は次の通りである。カウンタ241は、クロック発振器111のクロック信号(Cl)によって歩進する。比較器242は、カウンタ241の値がレジスタ243に予め設定されている値と同じになったとき、リセット信号を発生してカウンタ241に与える。ここで、レジスタ243に設定される値(すなわちカウンタ241のカウントデータの最大値)は、被照合データのビット数で表現できる最大の素数から1減じた値を選ぶとよい(理由は後述する)。ビット数が16ビットの場合、カウントデータの最大値は65520(16ビットで表現できる最大の素数65521から1減じた値)である。カウントデータの最大値をこのように決めることによって、ROM30が容量の小さな複数のメモリブロックによって構成されていても、メモリブロック毎に異なるカウント値が与えられることになるので、メモリブロックの順序を入れ間違った場合に第1の合計値と第2の合計値が異なった値となり、誤りを検出できる。
【0019】
図6の実施例の照合装置40は、図1の実施例の照合装置と同様にマスターデータに基づく基準となる第1の合計値を算出するモードと、照合モードの2つのモードがあり、照合モードに先立って、第1の合計値の算出が行われる。具体的には、マスターデータの記憶されたROMをコネクタ113に装着して、図2に示す第1の合計値算出プログラムが実行される(なお、本実施例の場合は、ステップ12ないしステップ14における動作としてかっこ内に記載の処理も実行される)。
第1の合計値の算出は、ステップ14においてアドレスカウンタ112,累算器13およびカウンタ241がリセットされた後、読出回路11,排他的論理和回路12,累算器13およびカウンタ回路24のハード回路によって行われる。この場合、排他的論理和回路12のEXORゲートG0〜G15の他方入力として与えられるカウントデータは、カウンタ241の計数値C0〜C15である。カウンタ241は、クロック信号が与えられる毎にその計数値を歩進し、比較器242からリセット信号が与えられると計数値をリセットすることにより、0からレジスタ243に設定された最大値までの値を繰り返して計数する。この状態において、各EXORゲートは、一方入力のD0〜D15と他方入力C0〜C15の対応するビットの排他的論理和を求め、累算器13によって第1の合計値が算出される。
【0020】
次に照合モードを実行する。具体的には、照合対象のROM30をコネクタ113に装着して、図3に示す照合プログラムが実行される(なお、本実施例の場合は、ステップ22における動作としてかっこ内に記載の処理も実行される)。照合の処理は、図1の実施例と同様であるので説明を省略する。
【0021】
図6の実施例を採用した場合、図1の実施例に比べて、データの順番の入れ替えに対する誤り検出力が高い。マスターデータを複製する場合、次のような誤りが起こりやすい。すなわち、マスターデータを複数のフロッピーディスクに分けて書き込み、それを半導体メーカに提供し、半導体メーカがフロッピーディスクの順序を間違ってROMに複製する場合がある。また、大容量の半導体メモリは内部においていくつかのメモリブロックに分かれているが、メモリセレクタの不良によりメモリブロック単位でデータが入れ替わる場合がある。これらの場合、図1の実施例では複製誤りを検出できない場合もあるが、図6の実施例によれば、以下に説明する理由によって複製誤りを検出できる。
【0022】
図7は、照合対象のROMを構成する各メモリブロックとカウントデータとの対応関係を示したものである。“図1の実施例”の部分には図1の実施例の場合のカウントデータが、“図6の実施例”の部分には図6の実施例の場合のカウントデータが示されている。なお、この例において、一つのメモリブロックは128バイトであり、1データのビット数は8ビットの場合を示す。ROMを照合しようとするとき、図1の実施例では、0番目のブロック,2番目のブロック,4番目のブロック…,250番目のブロック,…についてメモリブロック内の同じアドレスに対して同じカウント値が与えられるので、これらのメモリブロックが入れ替わった場合に第1の合計値と第2の合計値は同じとなって、誤りを検出できない。同様に、1番目のブロック,3番目のブロック,5番目のブロック…,249番目のブロック,…が入れ替わった場合も誤りを検出できない。
これに対して、図6の実施例では、カウントデータの最大値は250(8ビットで表現できる最大の素数251から1減じた値)であるが、図7から明らかなように、メモリブロック内の同じアドレスに対して同じカウント値が与えられるのは、ブロック番号0に対してブロック番号251で初めて現れる。このように、図6の実施例は、図1の実施例と比較して入れ替わりの誤りを検出できないメモリブロックの組み合わせが少ない。
一般的に、ROMの照合作業者は照合対象のROMを構成しているメモリブロックの大きさを知らない場合が多いので、カウントデータの最大値を被照合データのビット数で表現できる最大の素数から1減じた値とすることによって、入れ替わりの誤りを検出できないメモリブロックの組み合わせを最も少なくすることができる。
【0023】
なお、マスターデータがフロッピーディスクに書き込まれている場合や、被照合データがCD−ROMに書き込まれている場合は、図1の実施例において説明したのと同様に、まず初めに、フロッピーディスク読取装置22aまたはCD−ROM読取装置22bによってフロッピーディスクまたはCD−ROMからデータが読み出されて、CPU18によってRAM23に転送され、RAM23から読み出されたデータD0〜D15が排他的論理和回路12に与えられることになる。CD−ROMの場合は、RAM23の記憶容量単位でデータを分割して、順次各単位ごとに照合作業を行う。
【0024】
図8はこの発明のさらに他の実施例の記憶媒体の照合装置のブロック図である。この実施例は、図6の実施例の照合装置40と同じ処理をソフトウェアで実現した実施例である。なお、本実施例も、マスターデータの記憶媒体および照合対象の記憶媒体がROMであり、被照合データのビット数が16ビットの場合を例として説明する。
図8において、記憶媒体の照合装置50は、コネクタ51と、表示装置52と、CPU53と、入力用キーボード54と、制御プログラムが記憶されたROM55と、RAM56を含んで構成される。ROM55は、予め第1の合計値算出プログラムおよび照合プログラムを記憶している。
図9は、図8の実施例におけるRAM56内のメモリマップである。
【0025】
図10は、ROM55に記憶された第1の合計値算出プログラムのフローチャートである。
次に、図8ないし図10を参照して、 第1の合計値の算出を行う場合を説明する。
具体的には、操作者がマスターデータの記憶されたROMをコネクタ51に装着して、図10に示す第1の合計値を算出するプログラムを実行する。まず、ステップ31において、各レジスタおよびカウンタの設定またはリセットが行われる。具体的には、ROMの最終アドレス値およびカウントデータの最大値の入力が操作者に要求され、入力された値がそれぞれのレジスタに設定される。さらに、第1の合計値レジスタとカウントデータ用カウンタとアドレスカウンタがリセットされる。ステップ32において、アドレスカウンタの計数値に基づいてROMからデータが読み出され、ステップ33において、読み出されたデータとカウントデータから排他的論理和が算出されて第1の合計値が累算される。そして、ステップ34において、第1の合計値の算出終了が判定される。ここで、第1の合計値の算出が未終了と判定された場合は、ステップ35において、アドレスカウンタが歩進され、ステップ36において、カウントデータが更新される。ステップ36においては、まず、ステップ361において、カウントデータが歩進される。そして、ステップ362において、カウントデータの最大値判定がされる。ここで、カウントデータがステップ31において操作者が入力したカウントデータの最大値より大きい場合は、ステップ363においてカウントデータが0にされて、ステップ32に戻る。ステップ362の判定において、カウントデータが最大値以下の場合は、そのままステップ32に戻る。
ステップ34の判定において、第1の合計値の算出が終了と判定された場合は、ステップ37に進み、算出された第1の合計値が表示装置52に表示される。
【0026】
図11は、ROM55に記憶された照合プログラムのフローチャートである。図8,図9および図11を参照して、照合を行う場合を説明する。なお、照合を開始する時点において、第1の合計値レジスタ,最終アドレス値レジスタ,カウントデータ最大値レジスタにはそれぞれの値が記憶されている。
具体的には、照合対象のROM30をコネクタ51に装着して、図11に示す照合プログラムを実行する。まず、ステップ41において、各レジスタおよびカウンタのリセットが行われる。具体的には、第2の合計値レジスタとカウントデータ用カウンタとアドレスカウンタがリセットされる。ステップ42において、アドレスカウンタの計数値に基づいてROM30から被照合データが読み出される。ステップ43において、読み出された被照合データとカウントデータから排他的論理和が算出されて第2の合計値が累算される。そして、ステップ44において、第2の合計値の算出終了が判定される。ここで、第2の合計値の算出が未終了と判定された場合は、ステップ45において、アドレスカウンタが歩進される。ステップ46において、カウントデータが更新される。このステップ46の動作を詳細に説明すると、ステップ461においてカウントデータが歩進され、ステップ462においてカウントデータの最大値判定がされる。ここで、カウントデータがステップ41において操作者が入力した最大値より大きい場合は、ステップ463においてカウントデータが0にされて、ステップ42に戻る。ステップ462の判定において、カウントデータが最大値以下の場合は、そのままステップ42に戻る。
一方、ステップ44の判定において、第2の合計値の算出が終了と判定された場合は、ステップ47に進み、第1の合計値と第2の合計値が比較される。比較の結果が一致した場合は、ステップ48において表示装置52に“合格”と表示される。不一致の場合は、ステップ49において表示装置52に“不合格”と表示される。
【0027】
なお、マスターデータの記憶された記憶媒体や照合対象の記憶媒体がフロッピーディスクやCD−ROMのようなディスクの場合は、ハードウェア構成として、さらに、フロッピーディスク読取装置57aまたはCD−ROM読取装置57bが設けられる。マスターデータが記憶された記憶媒体がフロッピーディスクのようなディスクの場合には、まず初めに、フロッピーディスク読取装置57aによってフロッピーディスクからRAM56内のデータ領域D1に全データが転送される。また、照合対象のROMがCD−ROMの場合も同様に、まず初めに、CD−ROM読取装置57bによってCD−ROMからRAM56内のデータ領域D1にデータが転送される。CD−ROMの場合は、RAM23の記憶容量単位でデータを分割して、順次各単位ごとに照合作業を行う。
また、図8の実施例と同様にして、図1の実施例の照合装置と同じ処理をソフトウェアで行うことも可能である。
【0028】
上述の3つの実施例(図1の実施例,図6の実施例,図8の実施例)において、ROMの最終アドレス値とカウントデータの最大値の設定は操作者の入力によることとしたが、照合装置が備える固定的記憶媒体に予め記憶しておいて、これから読み出す方法でもよい。
また、第1の合計値の算出は照合の度に行う必要はなく、一度算出した後はその値を固定的記憶媒体等に記憶しておいて、その後の照合作業ではその値を読み取って使用することにより、第1の合計値の算出を省略することができる。
【図面の簡単な説明】
【図1】この発明の一実施例の記憶媒体の照合装置のブロック図である。
【図2 】図1の実施例の第1の合計値算出プログラムのフローチャートである。
【図3 】図1の実施例の照合プログラムのフローチャートである。
【図4】図1の実施例の効果を説明するための表である。
【図5】図1の実施例の効果を説明するための表である。
【図6】この発明の他の実施例の記憶媒体の照合装置のブロック図である。
【図7】図6の実施例の効果を説明するための表である。
【図8】この発明のさらに他の実施例の照合装置であって、図6の実施例の照合装置と同じ処理をソフトウェアで実現した実施例のハードウェアブロック図である。
【図9】図8の実施例のRAMのメモリマップである。
【図10】図8の実施例の第1の合計値算出プログラムのフローチャートである。
【図11】図8の実施例の照合プログラムのフローチャートである。
【符号の説明】
10:図1の実施例の記憶媒体の照合装置
11:読出回路
12:排他的論理和算出回路
13:累算器
14:ゲート回路
15:終了検出回路
16:第1の合計値設定用レジスタ
17:比較器
18:CPU
19:表示装置
20:入力用キーボード
21:制御プログラムが記憶されたROM
22a:フロッピーディスク読取装置
22b:CD−ROM読取装置
23:RAM
24:カウンタ回路
30:照合対象のROM
40:図6の実施例の記憶媒体の照合装置
50:図8の実施例の記憶媒体の照合装置
Claims (6)
- 記憶媒体に書き込まれた複製データがマスターデータと同一か否かを照合するための記憶媒体の照合装置であって、
前記マスターデータに基づいて予め算出された基準となる第1の合計値を設定する基準値設定手段、
前記記憶媒体から複製データを読み出して、被照合データとして出力する読出手段、
前記読出手段の被照合データの読み出しに関連して、予め定める規則性に従って変化するカウントデータを発生するカウント手段、
前記被照合データの各ビットデータと前記カウント手段によって発生されたカウントデータとのそれぞれのビット位置に対応するデータの排他的論理和を求める排他的論理和算出手段、
前記排他的論理和算出手段によって求められた全ビットの論理値を合計した第2の合計値を求める加算手段、および前記基準値設定手段によって設定された第1の合計値と、前記加算手段によって求められた第2の合計値とを比較照合することにより、前記記憶媒体の複製データが適正に書き込まれたか否かを判定する判定手段を備え、
前記カウント手段は、前記読出手段に含まれるアドレスカウンタの読出アドレスの歩進に同期しかつ被照合データのビット数で表現できる最大数よりも小さな一定数になる毎にリセットされるカウンタによって構成される、記憶媒体の照合装置。 - 前記記憶媒体は、複製データを記憶保持する不揮発性半導体メモリであり、
前記読出手段は、前記半導体メモリの読出アドレスを指定するアドレスカウンタと、アドレスカウンタのアドレス値を歩進させるためのクロック信号を発生するクロック発振器と、半導体メモリから読み出された被照合データを前記排他的論理和手段に与える接続手段とを含む、請求項1に記載の記憶媒体の照合装置。 - 前記カウント手段は、前記アドレスカウンタで兼用されることを特徴とする、請求項2に記載の記憶媒体の照合装置。
- 前記排他的論理和算出手段は、被照合データの読み出しに関連するアドレスデータのビット数が被照合データのビット数より大きいとき、アドレスデータのうち被照合データのビット数に等しい下位のアドレスデータと被照合データとの排他的論理和を算出することを特徴とする、請求項3に記載の記憶媒体の照合装置。
- 前記リセットされる一定値は、被照合データのビット数で表現できる最大の素数から1減じた値である、請求項1に記載の記憶媒体の照合装置。
- 前記カウント手段は、カウント値を保持する第1のレジスタであり、
前記基準値設定手段は、基準値を設定記憶する第2のレジスタであり、
前記判定手段は、照合用プログラムに基づいて演算処理する処理手段を含み、
前記処理手段は、前記加算手段によって求められた第2の合計値と、前記第2のレジスタに記憶されている基準値とを照合する、請求項1に記載の記憶媒体の照合装置。
【0001】
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37634698A JP4206161B2 (ja) | 1998-12-22 | 1998-12-22 | 記憶媒体の照合装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37634698A JP4206161B2 (ja) | 1998-12-22 | 1998-12-22 | 記憶媒体の照合装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000187619A JP2000187619A (ja) | 2000-07-04 |
JP4206161B2 true JP4206161B2 (ja) | 2009-01-07 |
Family
ID=18506992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37634698A Expired - Fee Related JP4206161B2 (ja) | 1998-12-22 | 1998-12-22 | 記憶媒体の照合装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4206161B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5136416B2 (ja) * | 2006-07-25 | 2013-02-06 | 日本電気株式会社 | 擬似乱数生成装置、ストリーム暗号処理装置及びプログラム |
-
1998
- 1998-12-22 JP JP37634698A patent/JP4206161B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000187619A (ja) | 2000-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5502732A (en) | Method for testing ECC logic | |
JP5096161B2 (ja) | メモリ周辺装置における改良されたエラー検出のためのシステムおよび方法 | |
US20070234143A1 (en) | Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices | |
US20090313526A1 (en) | Apparatus and method for merging data blocks with error correction code protection | |
WO2006040900A1 (ja) | 誤り訂正符号が付加されたデータ列を記憶する被試験メモリを試験する試験装置及び試験方法 | |
JP2002023966A (ja) | 転送データを冗長化したディスクシステム | |
US6098194A (en) | Detecting memory problems in computers | |
CN108108262A (zh) | 具有检查所选择的存储器访问的硬件检查单元的集成电路 | |
JP4206161B2 (ja) | 記憶媒体の照合装置 | |
CN112395129A (zh) | 存储校验方法、装置、计算芯片、计算机设备及存储介质 | |
US7484147B2 (en) | Semiconductor integrated circuit | |
JP3011522B2 (ja) | アレイのメモリ・セルの障害を検査する装置及び方法 | |
CN112416891B (zh) | 数据检测方法、装置、电子设备及可读存储介质 | |
US11609813B2 (en) | Memory system for selecting counter-error operation through error analysis and data process system including the same | |
CN111737260A (zh) | 一种数据复制一致性检查的方法及系统 | |
WO2018218814A1 (zh) | 脱机交易记录保存方法、计算机设备和存储介质 | |
JP2907114B2 (ja) | Eepromの1ビット誤り訂正方法とその装置 | |
CN112463019A (zh) | 数据读取方法及装置 | |
CN117271225B (zh) | 一种fru信息备份方法、装置和服务器 | |
JPH0612274A (ja) | データ記憶読み出し方式 | |
JPH036760A (ja) | Ramの障害処理方式 | |
JP3242682B2 (ja) | 誤り訂正処理装置 | |
CN118069405A (en) | Recording control method for firmware with random code, storage medium and recorder | |
JP3055986B2 (ja) | データ書き込み方法 | |
CN114780020A (zh) | 数据校验方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080630 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080828 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080922 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081020 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111024 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111024 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111024 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121024 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121024 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121024 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131024 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |