(57)【特許請求の範囲】
【請求項１】
完成品の補正パラメータを保存するためのプログラマブルメモリであって、
各ワンタイムプログラマブル（ＯＴＰ）メモリ行が複数のＯＴＰメモリセルを有するＮ個（ただし、Ｎは正の整数である）のＯＴＰメモリ行；
前記Ｎ個のＯＴＰメモリ行の全てのデータを受信して、各ＯＴＰメモリ行におけるプログラムされたＯＴＰメモリセルの個数に従って１ビットのデータを得ることにより、元の補正パラメータであるＮビットの出力データを生成する出力モジュール；
前記出力データおよび新たな補正パラメータであるＮビットの入力データを受信し、前記出力データの各ビットデータと前記入力データの各ビットデータとを比較して、前記出力データのＭ番目（ただし、Ｍは１〜Ｎの正の整数である）のビットデータが前記入力データのＭ番目のビットデータと異なる場合に、書き込み制御データのＭ番目のビットデータがイネーブルとされ、他の場合に前記書き込み制御データのＭ番目のビットデータがディセーブルとされることにより、Ｎビットの書き込み制御データを生成する判定モジュール；および
前記書き込み制御データを受信し、前記書き込み制御データのＭ番目のビットデータがイネーブルである場合に、対応するＭ番目のＯＴＰメモリ行のプログラムされていない１つのＯＴＰメモリセルに所定のビットデータを記録する書き込みモジュール；
を備え、
前記Ｎ個のＯＴＰメモリ行の一行がＢ個のＯＴＰメモリセルを有し、前記Ｎ個のＯＴＰメモリ行の他の一行がＣ個のＯＴＰメモリセルを有し、Ｃの値はＢの値と同じではなく、ＢおよびＣは自然数である。
【請求項２】
請求項１のプログラマブルメモリであって、
前記出力モジュールはＮ個の演算ユニットを有し、各演算ユニットはその対応するＯＴＰメモリ行の全てのＯＴＰメモリセルからのデータを受信し、前記プログラマブルメモリの出力データの１つのビットデータを生成する。
【請求項３】
請求項１のプログラマブルメモリであって、
前記出力モジュールが、
前記Ｎ個のＯＴＰメモリ行のＮ組のデータを受信し、ビット選択信号に従って１組の出力データを演算データとして選択する第１マルチプレクサ；
前記第１マルチプレクサから出力された前記演算データを受信し、演算ビットデータを生成する演算ユニット；および
前記ビット選択信号に従って前記演算ビットデータを記憶し、記憶したデータをＮビットの出力データとして出力するＮビットレジスタ；
を備える。
【請求項４】
請求項３のプログラマブルメモリであって、
前記判定モジュールが、
前記入力データを受信し、前記ビット選択信号に従って前記入力データの１つのビットデータを入力ビットデータとして選択する第２マルチプレクサ；および
前記第２マルチプレクサから出力された前記入力ビットデータ、および、書き込み制御信号を出力するための前記演算ビットデータを前記書き込み制御データとして受信し、前記入力ビットデータが前記演算ビットデータと異なる場合に前記書き込み制御信号をイネーブルとする判定ユニット；
を備える。
【請求項５】
請求項４のプログラマブルメモリであって、
前記書き込みモジュールが、
前記Ｎ個のＯＴＰメモリ行の前記Ｎ組のデータを受信し、前記ビット選択信号に従って１組のデータをメモリセルデータとして選択する第３マルチプレクサ；
前記書き込み制御データおよび前記第３マルチプレクサから出力された前記メモリセルデータを受信し、前記書き込み制御データがイネーブルである場合に書き込み信号を生成する書き込みユニット；および
前記書き込みユニットから出力された前記書き込み信号を受信し、前記ビット選択信号に従って前記書き込み信号に対応する１つのＯＴＰメモリ行のプログラムされていないＯＴＰメモリセルに前記書き込み信号を保存するデマルチプレクサ；
を備える。
【請求項６】
請求項２のプログラマブルメモリであって、
前記判定モジュールが前記Ｎビットの入力データおよび前記Ｎビットの出力データを受信して、前記Ｎビットの書き込み制御データを生成するＮ個の判定ユニットを備え、
前記入力データのＭ番目のビットデータが前記出力データのＭ番目のビットデータと異なる場合に、前記書き込み制御データのＭ番目のビットデータがイネーブルとされる。
【請求項７】
請求項６のプログラマブルメモリであって、
前記書き込みモジュールは、前記Ｎビットの書き込み制御データおよび前記Ｎ個のＯＴＰメモリ行のＮ組のデータを受信し、前記書き込み制御データに対応する前記ビットデータがイネーブルである場合に、対応するＯＴＰメモリ行のプログラムされていないＯＴＰメモリセルに前記所定のビットデータを保存するＮ個の書き込みユニットを有する。
【請求項８】
請求項２のプログラマブルメモリであって、
前記判定モジュールが、
Ｎビットの入力データを受信し、ビット選択信号に従って前記入力データの１つのビットデータを入力ビットデータとして選択する第１マルチプレクサ；
前記Ｎビットの出力データを受信し、前記出力データの１つのビットデータを出力ビットデータとして選択する第２マルチプレクサ；および
前記第１マルチプレクサから出力された前記入力ビットデータ、および、前記第２マルチプレクサから出力された前記出力ビットデータを受信し、前記入力ビットデータが前記出力ビットデータと異なる場合にイネーブルとされた書き込み制御信号を前記書き込み制御データとして出力する判定ユニット；
を備える。
【請求項９】
請求項８のプログラマブルメモリであって、
前記書き込みモジュールが、
前記Ｎ個のＯＴＰメモリ行のＮ組のデータを受信し、前記ビット選択信号に従って１組のデータをメモリセルデータとして選択する第３マルチプレクサ；
前記書き込み制御データおよび前記第３マルチプレクサから出力された前記メモリセルデータを受信し、前記書き込み制御データがイネーブルである場合に書き込み信号を生成する書き込みユニット；および
前記書き込みユニットの前記書き込み信号を受信し、前記ビット選択信号に従って前記書き込み信号に対応する１つのＯＴＰメモリ行のプログラムされていないＯＴＰメモリセルに前記書き込み信号を保存するデマルチプレクサ；
を備える。
【請求項１０】
各ワンタイムプログラマブル（ＯＴＰ）メモリ行が複数のＯＴＰメモリセルを有するＮ個（ただし、Ｎは正の整数である）のＯＴＰメモリ行を有する、完成品の補正パラメータを保存するためのプログラマブルメモリに新たな補正パラメータであるＮビットの入力データを保存するために使用される書き込み方法であって、
前記Ｎ個のＯＴＰメモリ行の全てのデータを受信して、各ＯＴＰメモリ行におけるプログラムされたＯＴＰメモリセルの個数に従って１ビットのデータを得ることにより、元の補正パラメータであるＮビットの出力データを生成する工程；
前記出力データおよび前記入力データを受信し、前記出力データの各ビットデータと前記入力データの各ビットデータとを比較して、前記出力データのＭ番目（ただし、Ｍは１〜Ｎの正の整数である）のビットデータが前記入力データのＭ番目のビットデータと異なる場合に、書き込み制御データのＭ番目のビットデータがイネーブルとされ、他の場合に前記書き込み制御データのＭ番目のビットデータがディセーブルとされることにより、Ｎビットの書き込み制御データを生成する工程；および
前記書き込み制御データを受信し、前記書き込み制御データのＭ番目のビットデータがイネーブルである場合に、対応するＭ番目のＯＴＰメモリ行のプログラムされていない１つのＯＴＰメモリセルに所定のビットデータを記録する工程；
を備え、
前記Ｎ個のＯＴＰメモリ行の一行がＢ個のＯＴＰメモリセルを有し、前記Ｎ個のＯＴＰメモリ行の他の一行がＣ個のＯＴＰメモリセルを有し、Ｃの値はＢの値と同じではなく、ＢおよびＣは自然数である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラマブルメモリおよびそのアクセス方法に関し、特に、Ｎ行のワンタイムプログラマブル（ＯＴＰ）メモリセルにより、マルチタイムプログラマブル（ＭＴＰ）記録を行うプログラマブルメモリおよびそのアクセス方法に関するものである。
【背景技術】
【０００２】
ウエハ、スーパーツイストネマチック液晶表示装置（ＳＴＮ−ＬＣＤ）、または薄膜トランジスタ液晶表示装置（ＴＦＴ−ＬＣＤ）の製造においては、完成品がそれぞれの電気的または光学的特性を有する可能性がある。製造歩留まりを向上するための典型的な方法では、目標の特性パラメータと比較されるべき実際の特性パラメータが測定され、その後、調整工程により補正される。ここで、その調整工程は容易に実現され、永久に維持される必要がある。例えば、補正された値はヒューズの焼切や不揮発性メモリにより記録されてもよい。ヒューズはレーザにより、あるいは、高電圧または高電流を与えることにより焼き切られてもよい。さらに、不揮発性メモリはワンタイムプログラマブルメモリ（ＯＴＰメモリ）、またはマルチタイムプログラマブルメモリ（ＭＴＰメモリ）であってもよく、それらは異なった構造により互いに区別される。また、実現の困難さによっては、調整工程は完成品や完成品に設けられたメモリセルに直接行われてもよい。
【０００３】
調整手段、ヒューズ、または不揮発性メモリが何度も繰り返し設定可能である場合は、より多くの柔軟性が製造途上にもたらされることは明らかである。それにより、仕様変更の後に、新たに補正された値を設定することができるからである。しかしながら、ヒューズなどのワンタイムプログラマブルメモリセルと比較すると、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなどのマルチタイムプログラマブルメモリには、追加の回路や複雑な製造プロセスが必要であり、製造コストが高くなってしまう。さらに、マルチタイムプログラマブルメモリの歩留まりは半導体製造工場において使用される半導体製造プロセスに密接に関係しているため、最大リスクが増大する。
【０００４】
したがって、マルチタイムプログラマブル記録がワンタイムプログラマブルメモリセルにより実現されるならば、マルチタイムの設定の柔軟性が維持される状況下で製造プロセスが簡素化され、製造コストが減少することとなる。
【０００５】
図１は、米国特許第６，７２８，１３７号に記載のプログラマブルメモリの構造を示すブロック図である。図１を参照すると、マルチタイムプログラマブル記録を実現するために、複数組のワンタイムプログラマブルメモリブロック１５がプログラマブルメモリ１０において使用されている。プログラマブルメモリ１０は、制御回路１１により制御される行デコーダ１２および列デコーダ１３を介してデータの書き込みおよび読み出しを行う。しかしながら、プログラマブルメモリ１０には、いずれのプログラマブルメモリブロックがプログラムされたのかを記録するために追加の記録エレメント１４が必要である。
【０００６】
図２は、米国公開番号２００５０２３２０３９に記載の他のプログラマブルメモリの構造を示すブロック図である。図２を参照すると、図１に示すプログラマブルメモリ１０と類似のマルチタイムプログラマブルメモリ２０は、マルチタイムプログラマブル記録を実現するために、複数組の調整ワンタイムプログラマブル（ＯＴＰ）メモリブロック２２を含む。新たなデータが１つのＯＴＰメモリブロック２２に保存されると、プログラマブルメモリ２０の書き込みデバイス２１は、ＯＴＰメモリブロック２２に対応して選択の目的に利用されるＯＴＰエレメント２４に同時に設定を行うことができる。すなわち、図１に示す記録エレメント１４はＯＴＰエレメント２４に置き換えられる。さらに、プログラマブルメモリ２０の複数の選択デバイス２３は最新の更新されたデータを出力するために用いられる。
【０００７】
図３は、米国公開番号２００５０２５３６２４に記載の他のプログラマブルメモリの構造を示すブロック図である。図３を参照すると、マルチタイムプログラマブルメモリ３０は、図２に示されるマルチタイムプログラマブルメモリ２０と類似しており、複数組の調整ワンタイムプログラマブル（ＯＴＰ）メモリブロック２２がマルチタイムプログラマブル記録を実現するために用いられる。しかしながら、図３に示すように、図２に示すＯＴＰエレメント２４は複数の判定デバイス３４に置き換えられる。したがって、ＯＴＰエレメント２４に関する追加の記録は必要ではなくなる。
【０００８】
通常、ＯＴＰセルとして機能する破壊可能なヒューズ構造は、典型的にはレーザにより、または高電圧や高電流を与えることにより焼き切られるため、ヒューズの構造を広げて周囲の回路に影響が及ぶことを避けるためには広い領域が確保されなければならない。一方、典型的な電荷蓄積型のＯＴＰメモリを使用する場合、その保存されたデータは高温、強電磁場、高強度の照明などの不利な環境で失われる可能性があり、設定された補正済みの値は永久には保存されなくなる。この環境では、電圧調整キャパシタを増加させる、電源の電圧を制限するまたは電流を制限する、ＩＣレイアウトに使用する金属の保護層を形成するなどの特別な処理を回路の設計に対して施す必要がある。しかしながら、従来の各ＭＴＰメモリビットと比較すると、このような修正によって各ＯＴＰメモリビットの領域が何倍も大きくなってしまう。さらに、プログラムすべきビットの数が増加すればするほど、プログラムの失敗が生じる可能性も高くなってしまう。例えば、付与される電圧または電流の強さが不十分である場合は、破壊可能なヒューズ構造は焼き切られなくなる。また、付与される電圧または電流の強さが大きい場合は、繰り返される焼切動作に起因する非常に強いストレスによってＩＣチップが損傷する可能性がある。
【０００９】
上述の３つのメモリの構造を比較すると、それらは書き込み手順に類似点を有することがわかる。具体的には、変更されるべきビットデータの量がどんなに大きくても、変更されたビットデータを保存するために新しい１組のＯＴＰメモリセルが常に設けられる。例えば、１つのビットのみが変更されるべきであっても、新しい１組のＯＴＰメモリセルが設けられなければならない。さらに、上記の３つのメモリの構造では、各メモリセルセットは同数のメモリセルを有し、出力データは１つのメモリセルセットのビットデータしか含まない。
【発明の開示】
【発明の概要】
【００１０】
したがって、本発明の目的は、完成品の補正パラメータを保存するのに必要とされるメモリのビットが最小限に抑えられ、補正パラメータの設定の精度が改善されるように、プログラムの記録回数を減らすことができるプログラマブルメモリおよびそのアクセス方法を提供することである。
【００１１】
本発明のもう１つの目的は、各ビットデータに対する事前判断を用いて、そのビットデータを変更する必要があるかどうかを決定するプログラマブルメモリおよびそのアクセス方法を提供することである。
【００１２】
本発明によれば、完成品の補正パラメータを保存するためのプログラマブルメモリは、複数のワンタイムプログラマブル（ＯＴＰ）メモリセルを有するＮ個のＯＴＰメモリ行、出力モジュール、判定モジュール、および、書き込みモジュールを含む。前記出力モジュールは、前記ＯＴＰメモリ行のN組のデータを受信し、元の補正パラメータであるＮビットの出力データを生成する、ここにおいて、前記出力データの各ビットデータは、前記ビットデータに対応するＯＴＰメモリ行の全てのデータに対して行われる演算により生成される。前記判定モジュールは、前記Nビットの出力データおよび新たな補正パラメータであるＮビットの入力データを受信し、前記出力データの各ビットデータと前記入力データの各ビットデータとを比較して、前記出力データおよび前記入力データに従ってＮビットの書き込み制御データを生成する。前記出力データのＭ番目のビットデータが前記入力データのＭ番目のビットデータと異なる場合に、前記書き込み制御データのＭ番目のビットがイネーブルとされる。前記書き込みモジュールは前記Ｎビットの書き込み制御データを受信し、前記書き込みデータの対応するビットがイネーブルである場合に、ＯＴＰメモリ行のプログラムされていない１つのＯＴＰメモリセルに所定のビットデータを保存する。前記Ｎ個のＯＴＰメモリ行の一行はＢ個のＯＴＰメモリセルを有し、前記Ｎ個のＯＴＰメモリ行の他の一行はＣ個のＯＴＰメモリセルを有し、Ｃの値はＢの値と同じではなく、ＢおよびＣは自然数である。
【００１３】
本発明の設計によって、前記入力データおよび各ビットに対する前記保存データに対して前もった判断が行われて更新動作が必要かどうかが決定されるため、反復プログラマブル動作の許容範囲が増加し、プログラム時間およびプログラミングの失敗の可能性がすべて減少する。
【００１４】
本発明は後に与えられる詳細な説明、および、実例としてのみ与えられる添付図面によってより深く理解されることとなるが、それらは本発明を限定するものではない。
【発明を実施するための最良の形態】
【００１５】
添付の図面を参照して、本発明のプログラマブルメモリおよびそのアクセス方法について説明する。
【００１６】
図４は、本発明のプログラマブルメモリを示すブロック図である。図４を参照すると、プログラマブルメモリ４０は判定モジュール４１、書き込みモジュール４２、ワンタイムプログラマブル（ＯＴＰ）メモリモジュール４３、および、出力モジュール４４を含む。
【００１７】
ＯＴＰメモリモジュール４３はＮ行のＯＴＰメモリセルを含み、各行は複数のＯＴＰメモリセルを有する。出力モジュール４４は、ＯＴＰメモリモジュール４３における全てのＯＴＰメモリセルのＮ組の出力データＹを受信し、演算を行うことによりＮビットのデータＯを生成する。具体的には、ＯＴＰメモリセルの各行は１つのビット出力データを生成するものであってよい。例えば、１つのＯＴＰメモリ行の全てのデータが奇数個の値１を含む場合は、その行の出力ビットデータは値１とされ、一方、１つのＯＴＰメモリ行の全てのデータが偶数個の値１を含む場合は、その行の出力ビットデータは値０とされる。
【００１８】
判定モジュール４１は、Ｎビットの入力データＩおよびＮビットの出力データＯの各ビットデータを受信し、それらを比較してＮビットの書き込み制御データＺを生成する。入力データＩのＭ番目のビットデータが出力データＯのＭ番目のビットデータと異なる場合、これは、異なるビットデータが書き込まれる必要があることを示すため、そのＭ番目のビットに対する書き込み制御データＺがイネーブルとされる（例えば、ロジック「Ｈ」として設定される）。一方、入力データＩのＭ番目のビットデータが出力データＯのＭ番目のビットデータと同一である場合、これは、ビットデータが書き込まれる必要がないことを示すため、そのＭ番目のビットに対する書き込み制御データＺがディセーブルとされる（例えば、ロジック「Ｌ」として設定される）。書き込みモジュール４２はＮ行のＯＴＰメモリセルのＮ組の出力データＹ、および、Ｎビットの書き込み制御データＺを受信し、書き込み制御データＺの少なくとも１つのビットがイネーブルである場合に、書き込みモジュール４２はＯＴＰメモリセルのまだプログラムされていない１個のセルに所定のデータ（ｄａｔｕｍ）（値１など）を保存する。例えば、ＯＴＰメモリセルの出力データＹの値０は、対応するメモリセルがまだプログラムされていないことを示す。
【００１９】
図５は、本発明の関連技術を示すブロック図である。図５を参照すると、プログラマブルメモリ５０はＮ個の判定ユニット４１１〜４１Ｎ、Ｎ個の書き込みユニット４２１〜４２Ｎ、Ｎ行のＯＴＰメモリセル４３１〜４３Ｎ、および、Ｎ個の演算ユニット４４１〜４４Ｎを含む。図４に示すように、Ｎ個の判定ユニット４１１〜４１Ｎは判定モジュール４１を構成し、Ｎ行のＯＴＰメモリセル４３１〜４３ＮはＯＴＰメモリモジュール４３を構成し、Ｎ個の演算ユニット４４１〜４４Ｎは出力モジュール４４を構成する。
【００２０】
Ｎ個の判定ユニット４１１〜４１ＮはＮビットの入力データＩ１〜ＩＮおよびＮビットの出力データＯ１〜ＯＮをそれぞれ受信し、Ｎビットの書き込み制御データＺ１〜ＺＮを生成する。入力データＩ１が出力データＯ１と同一である場合、書き込み制御データＺ１はディセーブルとされ（すなわち、値０として設定され）、これはビットデータが変更される必要がないことを示す。一方、入力データＩ１が出力データＯ１と異なる場合は、書き込み制御データＺ１はイネーブルとされ（すなわち、値１として設定され）、これはビットデータが変更される必要があることを示す。残りのデータＩ２〜ＩＮも同様にして導き出される。
【００２１】
書き込みユニット４２１〜４２ＮはＮビットの書き込み制御データＺ１〜ＺＮ、および、Ｎ行のＯＴＰメモリセル４３１〜４３ＮのＮ組の出力データＹ１〜ＹＮをそれぞれ受信する。そして、書き込みデータＺ１〜ＺＮの少なくとも１つがイネーブルとされる場合に、まだプログラムされていないＯＴＰメモリセルの１つに所定の値が保存される。例えば、入力データＩ１が出力データＯ１と異なる場合、書き込み制御データＺ１はイネーブルとされる。例を挙げると、出力ビットデータが［１００］である３つのＯＴＰメモリセルをＯＴＰメモリ行４３１が有する場合、書き込みユニット４２１により生成される書き込みビットデータＸ１は［０１０］であり、所定の値がＯＴＰメモリセルＭ１２に保存される。
【００２２】
本関連技術では、Ｎ個のＯＴＰメモリ行４３１〜４３Ｎのそれぞれはデータを保存するＢ個のＯＴＰメモリセルを有する。
【００２３】
Ｎ個の演算ユニット４４１〜４４ＮはＮ行のＯＴＰメモリセル４３１〜４３ＮのＮ組の出力データＹ１〜ＹＮをそれぞれ受信する。そして、１つの演算ユニットが１つの対応するＯＴＰメモリ行の出力データＹ１〜ＹＮにおける値１の数を算出して出力データＯ１〜ＯＮを生成する。演算ユニットは排他的ＯＲゲート、排他的ＮＯＲゲート、２進加算器、または同様の機能を果たすことができる他のデバイスであってもよい。
【００２４】
図６は、本発明の一の実施の形態を示すブロック図である。図６を参照すると、プログラマブルメモリ５０と類似のプログラマブルメモリ５０’は、Ｎ個の判定ユニット４１１〜４１Ｎ、Ｎ個の書き込みユニット４２１〜４２Ｎ、Ｎ行のＯＴＰメモリ４３１〜４３Ｎ、および、Ｎ個の演算ユニット４４１〜４４Ｎを含む。主な違いは、プログラマブルメモリ５０’では、ＯＴＰメモリ行４３１’〜４３Ｎ’のそれぞれは異なる数のＯＴＰメモリセルを有し得ることである。例えば、１番目のＯＴＰメモリ行がＢ個のＯＴＰメモリセルを有する場合、２番目のＯＴＰメモリ行はＣ個のＯＴＰメモリセルを有し、Ｃの値はＢの値と同じではない。ＢおよびＣは自然数である。
【００２５】
標準仕様を満たすように完成品の特性を制御するために用いられる典型的な方法には、製造前計画（適切な原料および製造方法を選択すること）、製造における制御、および製造後の修正が含まれる。その修正は、完成品の歩留まりが向上するように、特定の特性パラメータの平均を標準仕様の許容範囲の中心に近づけつつ標準偏差を低下させることを目的としてしてる。統計的法則によれば、大量の完成品の特性はしばしばガウス分布に従って表される。すなわち、大部分の完成品は分布曲線の平均的な位置に分布し、それらはほとんどは標準偏差の３倍の範囲外には分布しない。さらに、ＯＴＰメモリでは、最下位ビット（ＬＳＢ）のデータを変更する可能性は最上位ビット（ＭＳＢ）よりも高い。そのため、最下位ビット（ＬＳＢ）に対する要求を満たして反復プログラマブル動作の許容範囲を効果的に増加させるためにより多くのＯＴＰメモリセルが設けられるべきである。したがって、本実施の形態に係るプログラマブルメモリ５０’では、変更される可能性が低いＯＴＰメモリ行のメモリセルの一部は省略されてもよく、また変更される可能性が高いＯＴＰメモリ行に変更して設けられてもよい。それによって、ＯＴＰメモリセルの必要数を減らすことができる。
【００２６】
図７は、本発明に係る判定モジュールおよび書き込みモジュールの他の実施の形態を示すブロック図である。図５および図６では、プログラマブルメモリの判定モジュール４１はＮ個の判定ユニット４１１〜４１Ｎを含む。これと比べて、プログラマブルメモリの判定モジュール４１は判定ユニット７１を１つだけ含み、異なるビットデータを選択するために第１マルチプレクサ７２および第２マルチプレクサ７３を追加的に使用する。第１マルチプレクサ７２はＮビットの入力データＩ１〜ＩＮを受信し、ビット選択信号に従って１つのビットデータを出力する。第２マルチプレクサ７３はＮビットの出力データＯ１〜ＯＮを受信し、このビット選択信号に従って１つのビットデータを出力する。判定ユニット７１は、第１マルチプレクサ７２および第２マルチプレクサ７３の出力データを受信して比較し、書き込み制御データ（ｄａｔｕｍ）を書き込み制御データＺとして生成する。書き込み制御データＺは１ビットのデータであってもよい。
【００２７】
さらに、図５および図６に示すＮ個の書き込みユニット４２１〜４２Ｎとは異なって、図７に示す書き込みモジュール４２は書き込みユニット７４を１つだけ含み、異なるビットデータを選択するためにデマルチプレクサ７５および第３マルチプレクサ７６を追加的に使用する。第３マルチプレクサ７６はＮ組のＯＴＰメモリ行からＮ組の出力データＹ１〜ＹＮを受信し、ビット選択信号に従って１組のデータ（メモリセルデータ）を出力する。書き込みユニット７４は書き込み制御データＺ（書き込み制御データ（ｄａｔｕｍ））を受信し、書き込み制御データＺがイネーブルである場合に、第３マルチプレクサ７６の出力データに従って１組の書き込みデータを生成する。デマルチプレクサ７５は書き込みデータを受信し、ビット選択信号に従って対応するプログラマブルメモリ行に出力する。
【００２８】
図８は、本発明のプログラマブルメモリに係る出力モジュールの他の実施の形態を示すブロック図である。図５および図６に示すＮ個の演算ユニット４４１〜４４Ｎとは異なって、図８に示す出力モジュール４４は１つの演算ユニット８２および１つのレジスタユニット８３を含み、また出力モジュール４４は異なるビットデータを選択するためにマルチプレクサ８１を用いる。マルチプレクサ８１はＮ組のＯＴＰメモリ行からＮ組の出力データＹ１〜ＹＮを受信し、ビット選択信号に従って１組のデータを出力する。演算ユニット８２はマルチプレクサ８１の出力データを受信してビットデータを生成し、レジスタ８３の対応するビットアドレスにそのビットデータを記憶する。この動作は、マルチプレクサ８１の出力データを合計し、最下位ビットの値をビットデータとして選択する、または、マルチプレクサ８１の出力データに排他的論理和演算を行うことにより実現される。あるいは、演算ユニット８２はマルチプレクサ８１の出力データ中の値１の数を計算してもよく、マルチプレクサ８１の出力データが奇数個の値１を含む場合は出力ビットデータは値１とされ、他の場合は、出力ビットデータは値０とされる。出力ビットデータはビット選択信号に従ってレジスタ８３のビットアドレスに記憶され、記憶された全てのビットデータはＮビットの出力データＯ１〜ＯＮとして出力される。演算ユニット８２は排他的ＯＲゲート、排他的ＮＯＲゲート、２進加算器、または同様の機能を果たすことができる他のデバイスであってもよい。
【００２９】
図９は、本発明のプログラマブルメモリに係る判定モジュールおよび書き込みモジュールの他の実施の形態を示すブロック図である。まず、図７に戻って参照すると、判定モジュール４１は判定ユニット７１を含み、また異なるビットデータを選択するために第１マルチプレクサ７２および第２マルチプレクサ７３を用いる。図７に示す第２マルチプレクサ７３および図８に示す出力モジュールのマルチプレクサ８１は同一の機能を有するため、図９に示されるように、図８に示す出力モジュールが利用される場合は、判定モジュール４１’の第２マルチプレクサ７３は省略することができる。したがって、判定モジュール４１’の判定ユニット７１は第１マルチプレクサ７２の出力データ、および、出力モジュールの演算ユニット８２の出力（演算ビットデータ）Ｏ’を直接受信することができる。
【００３０】
図１０は、本発明に係るＯＴＰメモリに対する書き込み手順を示すフローチャートを示しており、ここでＯＴＰメモリはＮ行のＯＴＰメモリセルからなる。
【００３１】
ステップＳ１００２：  開始。
【００３２】
ステップＳ１００４：  Ｎビットの書き込みデータおよびＮビットの出力データを読み出す。
【００３３】
ステップＳ１００６：  Ｎビットの書き込みデータの各ビットデータをＮビットの出力データの各ビットデータと比較する。
【００３４】
ステップＳ１００８：  ビットデータの比較がなされた後、書き込み動作を行う。入力データのビットデータが出力データのビットデータと同一である場合は、ビットデータはそのビットに対応するＯＴＰメモリ行のＯＴＰメモリセルに保存されない。一方、入力データのビットデータが出力データのビットデータと異なる場合は、所定のビットデータ（１など）がそのビットに対応するＯＴＰメモリ行のプログラムされていないＯＴＰメモリセルに保存される。
【００３５】
ステップＳ１０１０：  終了。
【００３６】
図１１は、本発明に係るＯＴＰメモリに対する読み出し手順を示すフローチャートであり、ここでＯＴＰメモリはＮ行のＯＴＰメモリセルからなる。
【００３７】
ステップＳ１１０２：  開始。
【００３８】
ステップＳ１１０４：  Ｎ行のＯＴＰメモリセルのデータを読み出す。
【００３９】
ステップＳ１１０６：  各ＯＴＰメモリ行の全てのデータに論理演算を行い、１つのＯＴＰメモリ行における値１の数を求める。その数が奇数である場合は出力ビットデータは値１とされ、他の場合は、出力ビットデータは値０とされる。
【００４０】
ステップＳ１１０８：  終了。
【００４１】
本発明の設計によって、各ビットに対する入力データおよび保存データに対して前もった判断が行われ、更新した書き込み値が必要かどうかを決定する。書き込み値は値１または値０であるため、再書き込み動作が不要とされる確率は５０％である。したがって、反復プログラマブル動作の許容範囲が増加し、プログラム時間およびプログラミングの失敗の可能性がすべて減少する。従来のメモリの構造に戻って参照すると、それらはすべてメモリセルセットに同数のメモリセルを有し、出力データは１つのメモリセルセットのビットデータしか含んでいないことがわかる。一方、本発明のプログラマブルメモリは、Ｎ行のＯＴＰメモリセルによりＮビットのデータを出力することができ、各行は異なる数のメモリセルを有することができる。さらに、本発明によれば、ビットは書き込みまたは読み出し動作の単位であり、出力ビットデータは各ＯＴＰメモリ行に保存されている全てのデータに対する演算が行われた後に出力される。
【００４２】
さらに、従来のメモリの構造では、ＯＴＰメモリセルセットの数は再書き込みの回数に等しく、ビット数は１つのＯＴＰメモリセルセットの幅で決まる。一方、本発明によれば、ＯＴＰメモリ行の数はプログラマブルメモリに保存されているデータのビット数に等しく、再書き込みの回数は１つのＯＴＰメモリ行のセル数および記録されるべきデータにより決定される。最小記録回数は１つのＯＴＰメモリ行のセル数に等しい。
【００４３】
本発明は、一例として、好ましい実施の形態について述べられてきたが、本発明は開示された実施の形態には限定されないと理解されるべきである。反対に、当業者にとって明らかであろう様々な改良および類似の装置を含むことも意図されている。例えば、図７に示す第２マルチプレクサ７３は省略可能であり、マルチプレクサ８１の出力信号は判定ユニットに直接与えられてもよい。したがって、添付の特許請求の範囲には、このような改良および類似の装置をすべて包含するように最も広い解釈が与えられるべきである。
【図面の簡単な説明】
【００４４】
【図１】米国特許第６７２８１３７号に記載のプログラマブルメモリの構造を示すブロック図である。
【図２】米国公開番号２００５０２３２０３９に記載の他のプログラマブルメモリの構造を示すブロック図である。
【図３】米国公開番号２００５０２５３６２４に記載の他のプログラマブルメモリの構造を示すブロック図である。
【図４】本発明のプログラマブルメモリを示すブロック図である。
【図５】本発明の関連技術を示すブロック図である。
【図６】本発明の一の実施の形態を示すブロック図である。
【図７】本発明に係る判定モジュールおよび書き込みモジュールの他の実施の形態を示すブロック図である。
【図８】本発明のプログラマブルメモリに係る出力モジュールの他の実施の形態を示すブロック図である。
【図９】本発明のプログラマブルメモリに係る判定モジュールおよび書き込みモジュールの他の実施の形態を示すブロック図である。
【図１０】本発明に係るＯＴＰメモリに対する書き込み手順を示すフローチャートである。
【図１１】本発明に係るＯＴＰメモリに対する読み出し手順を示すフローチャートである。
【符号の説明】
【００４５】
４０    プログラマブルメモリ
４１    判定モジュール
４２    書き込みモジュール
４４    出力モジュール
７１    判定ユニット
７２    第１マルチプレクサ
７３    第２マルチプレクサ
７４    書き込みユニット
７５    デマルチプレクサ
７６    第３マルチプレクサ
８１    マルチプレクサ
８３    レジスタ
４１１    判定ユニット
４２１    書き込みユニット
４３１    ＯＴＰメモリセル
４４１    演算ユニット
Ｉ    入力データ
Ｏ    （プログラマブルメモリの）出力データ
Ｏ’    演算ビットデータ
Ｙ    （ＯＴＰメモリ行の）出力データ
Ｚ    書き込み制御データ
Ｓ１００４，Ｓ１００６，Ｓ１００８    ステップ
【図１】
0004339344.tif 000002
【図２】
0004339344.tif 000003
【図３】
0004339344.tif 000004
【図４】
0004339344.tif 000005
【図５】
0004339344.tif 000006
【図６】
0004339344.tif 000007
【図７】
0004339344.tif 000008
【図８】
0004339344.tif 000009
【図９】
0004339344.tif 000010
【図１０】
0004339344.tif 000011
【図１１】
0004339344.tif 000012