(57)【特許請求の範囲】
【請求項１】
デバイスの各アドレスに対してデータの書込みを実行し、データの書込みを実行後にそのデータを読み出し、読み出したデータと書き込んだデータとを比較し、その比較結果が一致したことと、比較動作の開始時点において上記デバイスが出力する状態信号が書込みの完了を表す状態を出力していることとを確認して書込完了と判定するポーリング動作によって書込みの完了を判定し、各アドレスにデータを書き込む方式で動作するデバイス書込装置において、
デバイスの各アドレスにおいて上記ポーリング動作を複数回にわたって実行したことを検出して待ち時間増加手段により待ち時間を増加させ、待ち時間の増加により上記ポーリング動作の開始タイミングを上記状態信号のタイミングに対して遅延させ、この遅延動作によって上記ポーリング動作の回数を１回に収束させるように制御することを特徴とするデバイス書込装置の制御方法。
【請求項２】
デバイスの各アドレスに対してデータの書込みを実行し、データの書込みを実行後にそのデータを読み出し、読み出したデータと書き込んだデータとを比較し、その比較結果が一致したことと、比較動作の開始時点において上記デバイスが出力する状態信号が書込みの完了を表す状態を出力していることとを確認して書込完了と判定するポーリング動作によって書込みの完了を判定し、各アドレスにデータを書き込む方式で動作するデバイス書込装置において、
デバイスに書込みを開始する初期状態においてデバイス書込装置の待ち時間挿入手段に待ち時間の初期値を設定し、各アドレスに書込みを実行後に行われるポーリング動作が１回で書込みを完了するごとに上記待ち時間の初期値を一定時間ずつ減少させ、この待ち時間の減少処理によって上記ポーリング動作の開始タイミングを上記状態信号のタイミングに対して進み方向に移相させ、最少時間でポーリング動作を終了させる状態に制御することを特徴とするデバイス書込装置の制御方法。
【請求項３】
請求項１記載の待ち時間増加処理と、請求項２記載の待ち時間減少処理の双方を実行してポーリング動作時間を最少時間に調整可能としたことを特徴とするデバイス書込装置の制御方法。
【請求項４】
Ａ．デバイスの各アドレスに対してデータの書込みを実行する書込制御手段と、
Ｂ．デバイスにデータの書込みが終了した後にポーリング動作により、上記デバイスにデータが書き込まれたことを確認するポーリング制御手段と、
Ｃ．上記デバイスの各アドレスごとにデータの書込み後に実行される上記ポーリング動作の実行回数が複数回にわたることを検出して待ち時間を増加処理する待ち時間増加処理手段と、
Ｄ．この待ち時間増加処理手段で増加処理された待ち時間に従って、上記ポーリング動作の開始タイミングを上記待ち時間の増加に伴って漸次遅延させる待ち時間挿入手段と、
によって構成したことを特徴とするデバイス書込装置。
【請求項５】
Ａ．デバイスの各アドレスに対してデータの書込みを実行する書込制御手段と、
Ｂ．デバイスにデータの書込みが終了した後にポーリング動作により、上記デバイスにデータが書き込まれたことを確認するポーリング制御手段と、
Ｃ．上記デバイスの各アドレスごとにデータの書込み後に実行される上記ポーリング動作の実行ごとにポーリング回数が１回で終了する場合は、上記待ち時間を一定時間ずつ減少させる待ち時間減少処理手段と、
Ｄ．上記ポーリング動作の開始タイミングを上記待ち時間減少処理に伴って漸次進み方向に制御する待ち時間挿入手段と、
によって構成したことを特徴とするデバイス書込装置。
【請求項６】
請求項４に記載の待ち時間増加処理手段と、請求項５記載の待ち時間減少処理手段とを具備して構成したことを特徴とするデバイス書込装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は例えば半導体集積回路素子によって構成されるＲＯＭのようなデバイスにデータを書き込むデバイス書込装置に関する。
【０００２】
【従来の技術】
従来より半導体集積回路素子或いはその他のヒューズ等を記憶素子とするＲＯＭにデータを書き込む際にポーリングと呼ばれる動作により書込みが完了したことを確認し、次のアドレスに書込みを行うことを繰り返して全てのアドレスにデータを書き込んでいる。
【０００３】
ポーリング動作とはデバイスにデータを書込み、その後読出動作を実行し、読出動作終了時点で比較動作を開始するが、比較結果を真として判定するにはこの比較動作の開始に当たってデバイスが出力する状態信号が書込みが完了していることを表す状態に反転していることが条件とされている。
図６を用いてポーリング動作について説明する。図６Ａはデバイス（データを書き込むＲＯＭ）に与える書込アドレスを示す。アドレスｎをアクセスした状態で書込装置は、図６Ｂに示すようにデータの書込みを実行する。書込みを実行するとデバイスは状態信号ＦＳ（図６Ｃ）をＬ論理に立下げ、書込中を表す状態を出力する。書込みの実行後に状態信号ＦＳは一定時間ＴDEV が経過すると、Ｈ論理に立上がり、書込完了を表示する。
【０００４】
一方、書込装置は書込動作終了後、一定時間を経て書込をしたアドレスからデータを読み込む。この読み込んだデータと書き込んだデータとを比較する。この比較の開始時点Ｔ0 （図６Ｂ参照）において状態信号ＳＦが書込完了を表すＨ論理でなければその比較動作の結果は虚と判定し、比較動作終了後、再度読み込みを実行する。２回目の読込動作後に比較動作を開始する。この比較動作の開始時点Ｔ1 で状態信号ＳＦがＨ論理であれば、その比較結果は真であり，比較動作終了後にアドレスを＋１し、次のアドレスに書込みを行う。
【０００５】
図７にデバイス書込装置の動作を制御する制御装置のポーリング動作を実行するプログラムの概要を示す。ステップＳＰ１でデータの書込みを実行する。ステップＳＰ２でデバイスからデータを読み込む。データを読み込んだ直後にステップＳＰ３で状態信号ＳＦの状態が書込中を表すＬ論理であるか、書込終了を表すＨ論理であるかを判定する。状態信号ＳＦがＨ論理であった場合は、ステップＳＰ４でフラッグＦをＦ＝１に設定する。状態信号ＳＦがＬ論理であった場合は、ステップＳＰ５でフラッグＦをＦ＝０に設定する。フラッグＦの設定が終了した時点でステップＳＰ６で比較動作を実行する。この比較動作はデバイスから読み込んだデータとデバイスに書き込んだデータとを比較し、一致しているか否かを判定する。
【０００６】
なお、比較動作において不一致が検出された場合、本来はそのアドレスのデータは不良であると判定して不良記憶メモリ等に、そのアドレスを記憶する等の不良解析処理を実行するが、この発明はその不良解析処理に関しては特に関係しないから、ここでは単にポーリング動作に関してのみ説明をすることにする。
比較動作の結果が出力された状態でステップＳＰ７でフラッグＦの状態がＦ＝１と判定された場合は比較結果を真と判定し、Ｆ＝０であった場合は比較結果を虚と判定する。比較結果が虚である場合はステップＳＰ２に戻り、２回目のポーリング動作に入る。これに対し比較結果が真である場合は、そのアドレスに対して書込みが完了したと判定し、ステップＳＰ８でアドレスを＋１してステップＳＰ１に戻り、次のアドレスにデータの書込みを実行する。この動作を繰り返して全てのアドレスにデータを書き込んでいる。
【０００７】
以上によりデータ書込装置で実行されるポーリング動作が理解されよう。以下ではポーリング動作の回数をポーリング回数１，ポーリング回数２と称することにする。
【０００８】
【発明が解決しようとする課題】
ここでデバイスが出力する状態信号ＳＦが書込完了を表すＨ論理に反転するまでの時間、つまり書込中を表す時間ＴDEV はデバイス固有の時間値を持ち、常に一定ではない。仮に書込中を表す時間ＴDEV がデバイスごとに一定値であるならば、比較動作の開始時点Ｔ0 を図６に示す例ではわずかに遅らせることによりポーリング回数１で真の比較結果を得ることができる。しかしながら、上述したように、書込中を表す時間ＴDEV はデバイスごとにバラツキを持つため比較動作の開始点を各デバイスごとに最適値に設定することはむずかしい。
【０００９】
このような理由から従来はポーリング動作を複数回実行しながらデバイスにデータを書き込むから、全てのアドレスにデータを書き込むには時間が掛かる欠点がある。つまり、ポーリング回数１以降のポーリングに要する時間は無駄な損失時間ＴLOSSとなる。この損失時間ＴLOSSの存在により特にＲＯＭの容量も増加の傾向にあることから、書込みに要する時間も長くなる不都合がある。因みに図６に損失時間ＴLOSSが仮に１μs の場合、８Ｍバイトのデバイスに書込みを行うと約８秒程度の無駄な時間を費やすことになる。図６に示した例では２回目のポーリング動作時に真の比較結果が得られた場合を説明したが、２回目以後のポーリング動作時に真の比較結果が得られる場合もある。このような場合には、更に損失時間ＴLOSSが長くなり、書込みに要する時間も長くなる欠点がある。
【００１０】
この発明の目的はデバイスごとに書込中を表す時間ＴDEV が変化しても、常に比較動作の開始点を最適値に自動調整し、各デバイスごとに最短時間で書込みを完了することができるデバイス書込装置の制御方法及びこの制御方法を用いたデバイス書込装置を提供しようとするものである。
【００１１】
【課題を解決するための手段】
この発明ではデバイスへの書込み開始と共に、比較結果が虚となるポーリング回数を計数し、そのポーリング回数に対応させて比較動作の開始点を、アドレスが更新されるごとに順次遅延させ、最終的に１回目のポーリング動作によって真の比較結果が得られるように制御するデバイス書込装置の制御方法とその制御方法を適用したデバイス書込装置を提案するものである。
【００１２】
この発明によるデバイス書込装置の制御方法及びこの制御方法を適用したデバイス書込装置によれば、書込を行うべきデバイスが出力する状態信号の書込中を表す時間ＴDEV の長短に対応して比較動作開始点を自動調整し、最終的に１回目のポーリング動作により真の比較結果を得る状態で動作するように自動制御されるので、デバイス書込開始時点から状態信号ＳＦが立上がるまでの時間ＴDEV がデバイスごとに変化しても、どのデバイスに対しても最適な比較動作の開始点に設定される。よって、どのデバイスでも最短時間で書込を実行することができる利点が得られる。
【００１３】
【発明の実施の形態】
図１を用いてこの発明によるデバイス書込装置の制御方法について説明する。
図１に示すアドレスｎのタイミングの期間はデバイスへの書込開始初期の状態（書込アドレスがｎアドレスまで進んだ状態）を示す。図１に示す例では書込アドレスがｎまで達するまでの間に、この発明るよるデバイス書込装置の制御方法により待ち時間ＷＴがわずかに挿入されている様子を示す。
【００１４】
つまり、この発明では各書込アドレスごとにポーリング回数１で書込みが完了しない場合は、ポーリング回数２に進むが、ポーリング回数が２以上に達すると待ち時間ＷＴを一定時間ずつ増加させる制御方法を採る。従って、書込アドレスが更新されるごとに待ち時間ＷＴが漸次増加し、読み込みと比較動作の開始のタイミングが状態信号ＳＦに対して相対的に遅延され、最終的には１回のポーリング動作によって書込みが完了する状態に収束する。図１に示す例では、書込アドレスがｍに達した状態で待ち時間ＷＴの累積加算値が最適値に達したことにより１回目のポーリング動作によって書込完了と判定することができる状態に達した様子を示す。
【００１５】
従って、アドレスｎをアクセスしていた時点で書込完了までに要する時間がＴADR1であったものがアドレスｍをアクセスする状態では、この時間ＴADR1より短い時間ＴADR2で書込みが完了することになる。
図２にこの発明によるデバイス書込装置の一実施例を示す。図中１０はこの発明によるデバイス書込装置、２０はデータの書込みを行う書込デバイスを示す。
書込デバイス２０にはデバイス書込装置１０から導出されたアドレスバスラインＡＤＲＢＵＳと、データバスラインＤＡＴＢＵＳとが接続され、アドレスバスラインＡＤＲＢＵＳを通じて書込アドレスが与えられ、更にデータバスラインＤＡＴＢＵＳを通じて書き込むべきデータが与えられ、書込指令信号Ｗに従って書込動作が実行される。更にデバイス書込装置１０は書込デバイス２０に読出指令信号Ｒを与え、書き込んだアドレスからデータを読み出す。この読み出されたデータはデータバスラインＤＡＴＢＵＳを通じて今度は書込デバイス２０からデバイス書込装置に送り出されるデバイス書込装置１０に読み込まれる。
【００１６】
デバイス書込装置１０は、例えばＣＰＵ等と呼ばれる演算処理装置によって構成されるコントローラ１１と、このコントローラ１１を所定の順序に従って動作させるプログラムを格納したプログラム格納手段１２と、書込デバイス２０に書き込むべきデータを格納した書込データ格納手段１３とを具備して構成される。
書込データ格納手段１３は一般にＲＡＭのようなメモリによって構成され、コントローラ１１から与えられるアドレス信号によって各アドレスに格納しているデータをコントローラ１１に転送し、コントローラ１１に転送したデータをデータバスラインＤＡＴＢＵＳから書込デバイス２０に送り込み、各アドレスごとにデータの書込みを実行する。
【００１７】
なお、図２に示す点線の部分は同時に複数のメモリにデータを書き込む場合の構成を示す。
プログラム格納手段１２は従来より書込制御手段１２Ａとポーリング制御手段１２Ｂとを有し、書込動作とポーリング動作を実行できる構成とされる。
この発明ではプログラム格納手段１２に待ち時間増加処理手段１２Ｃと、待ち時間挿入手段１２Ｄを設けた構成を特徴とするものである。
【００１８】
書込デバイスの最初のアドレスにデータを書き込む場合は、待ち時間ＷＴをＷＴ＝０に初期設定する。従って最初のアドレスにデータを書き込む際には、待ち時間ＷＴ＝０の状態でポーリング動作を実行する。状態信号ＳＦがポーリング回数１の範囲内でＨ論理に反転しない場合には、ポーリング回数２以後に書込みが完了することになる。
【００１９】
ポーリング回数２を実行すると、待ち時間増加処理手段１２Ｃは待ち時間ＷＴを一定時間、例えばΔＴずつ加算する処理を実行する。この増加処理によって待ち時間ＷＴはＷＴ＝０の状態からアドレスが更新される毎にΔＴずつ増加し、この待ち時間ＷＴの増加に伴ってポーリング動作の実行タイミングが遅れ方向に移され、最終的にポーリング回数１の期間内で書込完了とすることができる。
【００２０】
図３及び図４にこの発明によるデータ書込装置を動作させるための制御プログラムの概要を示す。図３はポーリング回数１を実行するルーチンを示す。書込デバイス２０に対して書込みを開始する際に、ステップＳＰ１では待ち時間ＷＴをＷＴ＝０に初期設定する。初期設定の後ステップＳＰ２でデータの書込みを実行する。データの書込後、待ち時間ＷＴを待つ、先頭アドレスではＷＴ＝０であるから、待ち時間なしでデータの読み出しをステップＳＰ４で行う。データを読み出した後に、ステップＳＰ５で状態信号ＳＦの状態がＨ論理であるか否かを判定し、Ｈ論理でなければフラッグＦをステップＳＰ６でＦ＝０に設定し、Ｈ論理に立上がっている場合はフラッグＦをＦ＝１にステップＳＰ７で設定する。
【００２１】
フラッグＦの設定が終了した時点でステップＳＰ８で比較動作を実行する。比較結果が判明した時点でステップＳＰ９でフラッグＦが１か０かを判定し、フラッグＦがＦ＝１であった場合は、アドレスを＋１してステップＳＰ２に戻り、次のアドレスの書込みを実行する。フラッグＦがＦ＝０であった場合は、図４に示すポーリング回数２以後の実行ルーチンに進む。
【００２２】
ポーリング回数２以後の実行ルーチンはステップＳＰ１０で２回目のデータの読出を実行し、読出が終了した時点で状態信号ＳＦの状態を読み込み、状態信号ＳＦがＬ論理であればステップＳＰ１２でフラッグＦをＦ＝０に設定し、状態信号ＳＦがＨ論理であればステップＳＰ１３でフラッグＦをＦ＝１に設定する。
フラッグＦの設定後、ステップＳＰ１５でフラッグＦが１か０かを判定し、フラッグＦが１であればポーリング回数２で書込みが完了したと判定し、ステップＳＰ１６で待ち時間ＷＴにΔＴを加算し、待ち時間ＷＴの増加処理を施し、ステップＳＰ１７でアドレスを＋１し、ステップＳＰ２に戻り、次のアドレスの書込みを実行する。
【００２３】
ステップＳＰ１５でフラッグＦがＦ＝０であった場合はステップＳＰ１０に戻り、３回目のポーリングを実行する。従って、書込完了が検出されるまでの間、ステップＳＰ１０からステップＳＰ１５までのルーチンを繰り返してポーリング動作を繰り返し、書込完了を確認する。
一方、アドレスを＋１してステップＳＰ２に戻った場合には、待ち時間ＷＴは待ち時間増加処理によってΔＴだけ増加しているから、次回以後はステップＳＰ３で待ち時間ＷＴが与えられる。このようにして各書込アドレスにおいて、ポーリング回数２以降を実行するごとに、待ち時間ＷＴがΔＴずつ増加し、データの読み込みのタイミング及び比較動作の開始のタイミングが遅れ方向にずらされ、最終的にはポーリング回数１で書込完了を検出できる状態に収束する。
【００２４】
なお、上述では待ち時間ＷＴを増加する方向だけに制御した場合を説明したが、図５に示すように初期設定をＷＴ＝Ｋに設定し、初期状態で一定の待ち時間Ｋを与えて、ポーリング回数１で書込完了が検出された場合はステップＳＰ１８で待ち時間減少処理を施し、待ち時間を漸次減少させて最適待ち時間に設定するように構成することもできる。また、この待ち時間減少処理と待ち時間増加処理とを併用することもできる。このように増加処理と減少処理の双方を実行させる制御方法を採った場合には、どのようなタイミングで状態信号ＳＦがＨ論理に反転しても自動的に最適な待ち時間に収束させることができる。
【００２５】
【発明の効果】
以上説明したように、この発明によればポーリング動作により書込が完了したことを確認しながら、各アドレスにデータを書き込むデータ書込装置において、
必ず１回目のポーリング動作で書込完了を確認できるように自動制御を行うよう構成したから、デバイスの状態信号ＳＦの応答がどのようなタイミングにずれても最短時間で書込完了を確認することができる。よって記憶容量が大きいメモリに書込を行っても短時間に書込を完了することができ、その効果は実用に供して頗る大である。
【図面の簡単な説明】
【図１】この発明によるデバイス書込装置の制御方法を説明するためのタイミングチャート。
【図２】この発明による制御方法を適用したデバイス書込装置の一実施例を説明するためのブロック図。
【図３】図２に示したこの発明によるデバイス書込装置を動作させるためのプログラムの概要を説明するためのフローチャート。
【図４】図３と同様のフローチャート。
【図５】図３に示したフローチャートの変形例を説明するためのフローチャート。
【図６】従来のデバイス書込装置の制御方法を説明するためのタイミングチャート。
【図７】従来のデバイス書込装置を動作させるためのプログラムの概要を説明するためのフローチャート。
【符号の説明】
１０      デバイス書込装置
１１      コントローラ
１２      プログラム格納手段
１２Ａ      書込制御手段
１２Ｂ      ポーリング制御手段
１２Ｃ      待ち時間増加処理手段
１２Ｄ      待ち時間挿入手段
１３      書込データ格納手段
２０      書込デバイス
ＳＦ      状態信号
【図１】
0003862395.tif 000002
【図２】
0003862395.tif 000003
【図３】
0003862395.tif 000004
【図４】
0003862395.tif 000005
【図５】
0003862395.tif 000006
【図６】
0003862395.tif 000007
【図７】
0003862395.tif 000008