(57)【要約】【課題】　複数ポートによるＳＲＡＭの効率的なアクセスを可能にする技術を提供する。【解決手段】マルチポートＲＡＭセルのＲＡＭセル書き込み回路は、第１のポート非書き込みビット線にゲートが接続された第１の電界効果トランジスタ（ＦＥＴ）と、第１のポート書き込みワード線にゲートが接続された第２のＦＥＴと、を備える。また、この回路は、第１のビット線及び第１のワード線によって制御され、前記第１のビット線及び前記第１のワード線が活動状態の場合、メモリ素子を第１の値に設定するクリア論理回路を備える。本発明によって、ＳＲＡＭセルにシングル・エンド書き込みが実施される。　 【選択図】図５
2004111027.tif 000002
【特許請求の範囲】
【請求項１】
　マルチポート・ランダム・アクセス・メモリ（ＲＡＭ）・セルのＲＡＭセル書き込み回路であって、
　第１のポートの非書き込みビット線にゲートが接続された第１の電界効果トランジスタ（ＦＥＴ）（５０１）と、
　第１のポートの書き込みワード線にゲートが接続された第２のＦＥＴ（５０２）と、
　を有するＲＡＭセル書き込み回路。
【請求項２】
　前記第１のＦＥＴ（５０１）及び前記第２のＦＥＴ（５０２）が、ＮＦＥＴ及びＰＦＥＴトランジスタから構成されるグループから選択される請求項１に記載のＲＡＭセル書き込み回路。
【請求項３】
　前記第１のＦＥＴ（５０１）のソースが低電圧レベルに電気的に接続されている請求項１に記載のＲＡＭセル書き込み回路。
【請求項４】
　前記第１のＦＥＴ（５０１）のドレインが前記第２のＦＥＴ（５０２）のソースに電気的に接続されている請求項１に記載のＲＡＭセル書き込み回路。
【請求項５】
　前記第１のＦＥＴ及び前記第２のＦＥＴがインバータとして協働する請求項１に記載のＲＡＭセル書き込み回路。
【請求項６】
　前記第１及び前記第２のＦＥＴがＮＦＥＴ及びＰＦＥＴから構成されるグループから選択される請求項５に記載のＲＡＭセル書き込み回路。
【請求項７】
　マルチポート・メモリ・セルであって、
　第１のビット線によって制御される第１の電界効果トランジスタ（ＦＥＴ）及び第１のワード線によって制御される第２のＦＥＴを有する第１の書き込みポートであって、前記第２のＦＥＴのソースが前記第１のＦＥＴのドレインに電気的に接続され、前記第２のＦＥＴのドレインがメモリ素子に電気的に接続されている第１の書き込みポートと、
　第１のビット線及び第１のワード線によって制御され、前記第１のビット線及び前記第１のワード線が活動状態の場合、前記メモリ素子を第１の値に設定するクリア論理回路と、
　を有するマルチポート・メモリ・セル。
【請求項８】
　前記第１のＦＥＴのソースがアースに電気的に接続されている請求項７に記載のメモリ・セル。
【請求項９】
　マルチポート・メモリ・セル内に値を記憶する方法であって、
　第１の電界効果トランジスタ（ＦＥＴ）のソースを低電圧に電気的に接続するステップと、
　前記第１のＦＥＴのゲートに第１の制御電圧を印加して、前記第１のＦＥＴにバイアスをかけるステップと、
　第２のＦＥＴのゲートに第２の制御電圧を印加して、前記第２のＦＥＴにバイアスをかけるステップと、
　前記バイアスのかかった第１及び第２のＦＥＴを介して、前記第１のＦＥＴの前記ソースからメモリ・セルに前記低電圧を接続するステップと、
　を含む方法。
【請求項１０】
　前記低電圧を接続する前記ステップによって、前記第１のＦＥＴ及び前記第２のＦＥＴに対するシングル・エンド書き込みが可能になる請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本出願は、同一出願人の「ＭＵＬＴＩ−ＰＯＲＴＥＤ　ＲＥＧＩＳＴＥＲ　ＳＴＲＵＣＴＵＲＥ　ＵＴＩＬＩＺＩＮＧ　Ａ　ＰＵＬＳＥ　ＷＲＩＴＥ　ＭＥＣＨＡＮＩＳＭ」と題する米国特許第６，２０８，５６５号及び「ＲＥＧＩＳＴＥＲ　ＳＴＲＵＣＴＵＲＥ　ＷＩＴＨ　Ａ　ＤＵＡＬ−ＥＮＤＥＤ　ＷＲＩＴＥ　ＭＥＣＨＡＮＩＳＭ」と題する米国特許第６，２２６，２１７号に関連したものである。
【０００２】
　本発明は、一般に、集積回路に関するものであり、とりわけ、スタティック・ランダム・アクセス・メモリにデータを記憶するための技法及び回路に関するものである。
【背景技術】
【０００３】
　コンピュータ・システムは、最高の階層レベルでは比較的高速で高価なメモリを、最低の階層レベルでは、比較的低速で低コストのメモリを備えた、マルチレベルのメモリ階層を用いることが可能である。最高レベルの高速で高価なメモリは、一般に、その容量が制限されるが、最低レベルの低速で低コストのメモリは、より容量の大きいメモリである。最高レベルのメモリ階層は、一般に、容量は制限されるが、極めて速いアクセスを可能にするレジスタ構造を利用して、実現することが可能である。こうしたレジスタ構造は、「レジスタ・ファイル」と呼ぶことが可能であり、整数レジスタ構造及び浮動小数点構造といった、さまざまなこうしたレジスタ構造をシステム内において実現することが可能である。あるレジスタ構造は、高速メモリ・アクセスを可能にし、一般に、１クロック・サイクル（すなわち、１プロセッサ・クロック・サイクル）でメモリ・アクセス要求（例えば、読み取りまたは書き込み要求）を満たすことが可能である。キャッシュと呼ばれる小型高速メモリを含むマルチレベル階層のメモリ内において、さまざまな低メモリ・レベルを実現することも可能である。キャッシュは、プロセッサ内に物理的に組み込むこともできるし、あるいは、速度対策として、プロセッサに物理的に近接して取り付けることも可能である。コンピュータ・システムのメイン・メモリ（例えば、ディスク・ドライブ）も、メモリ階層の一部である。
【０００４】
　スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）は、一般に、コンピュータ・システムにデータを記憶するためのレジスタ構造として実施される。一般に、ＳＲＡＭメモリは、極めて信頼性が高く、極めて高速である。ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）とは異なり、ＳＲＡＭは、その電荷を絶えずリフレッシュする必要がない。結果として、ＳＲＡＭメモリは、一般に、ＤＲＡＭメモリより高速で、信頼性が高い。あいにく、ＳＲＡＭメモリは、ＤＲＡＭメモリより生産コストが高くつく。その高コストのため、ＳＲＡＭは、一般に、メモリ・キャッシュのようなコンピュータの最も速度が重要な部分だけにしか導入されない。しかし、ＳＲＡＭメモリは、コンピュータ・システムの他のメモリ・コンポーネントにも導入することが可能である。さらに、他のタイプのメモリ（例えば、他のタイプのＲＡＭ）をコンピュータ・システム内に導入して、レジスタ構造を形成することも可能である。
【０００５】
　命令処理の効率を高めることができるように、コンピュータ・システム内に複数ポートまたはアクセス・ポイントを設けるのが一般的である。例えば、複数ポート（マルチポート）を導入して、各ポートが、他のメモリ・アクセス要求を満たす他のポートと並行して、メモリ・アクセス要求（例えば、読み取りまたは書き込み命令）を満たすことが可能である。換言すれば、複数ポートは、ＳＲＡＭ記憶場所を共用することが可能である。従って、複数ポートによるＳＲＡＭ記憶場所へのアクセスを可能にするため、さまざまなメモリ・キャッシュが開発されてきた。すなわち、複数ポートがメモリ・キャッシュにアクセスして、メモリ・アクセス要求を満たすことができるようにするには、マルチポートＲＡＭセル構造を使用するのが一般的である。典型的には、ある特定の時間にメモリ・キャッシュにアクセスするために一つのポートが使用される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
　このように複数ポートによるＳＲＡＭの効率的なアクセスを可能にする技術に対する必要性が存在する。
【課題を解決するための手段】
【０００７】
　本発明の構成は、特許請求の範囲に示され、その一形態では、マルチポートＲＡＭセルのＲＡＭセル書き込み回路である。この回路は、第１のポート非書き込みビット線にゲートが接続された第１の電界効果トランジスタ（ＦＥＴ）と、第１のポート書き込みワード線にゲートが接続された第２のＦＥＴと、を備える。また、この回路は、第１のビット線及び第１のワード線によって制御され、前記第１のビット線及び前記第１のワード線が活動状態の場合、メモリ素子を第１の値に設定するクリア論理回路を備える。
【発明を実施するための最良の形態】
【０００８】
　図１には、典型的な単一ポート・デュアル・エンド・スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）・セル１００が例示されている。先行技術のメモリ・キャッシュは、一般に、Ｎチャネル電界効果トランジスタ（ＮＦＥＴ）を介したラッチへのデュアル・エンド書き込みによって実施される。図１の単一ポートＳＲＡＭ構造には、データを記憶する（すなわち、１ビットのデータを記憶する）ための交差結合インバータ１０１及び１０２を含む典型的なＳＲＡＭセル１００が含まれている。ＮＦＥＴ１０３及び１０４は、第１のポート（すなわち、ポート０）からの書き込みを可能にする。図１において、ポート０は、ＢＩＴ＿Ｐ０　１０５及びＮＢＩＴ＿Ｐ０　１０６のラインに対応する。ＳＲＡＭセルへの書き込みは、ＮＦＥＴ１０３及び１０４を通過して、交差結合インバータ１０１及び１０２に電圧レベルを送り込むことによって実施される。図１のＳＲＡＭセル１００は、１ビットのデータ（すなわち、論理１または論理０）を記憶することが可能なメモリ・セルである。従って、所望の量のＳＲＡＭメモリが得られるようにするためには、こうしたＳＲＡＭセル１００を数多くシステム内に組み込まなければならない。メモリ内で多数のＳＲＡＭセルが用いられる場合には、ビット線及びワード線の組合せによって、正しいＳＲＡＭセルにおける読み取りまたは書き込みの実施が保証される。一般に、ワード線とビット線は、両方とも、いくつかのＳＲＡＭセルに接続されている。ワード線は、行をなすいくつかのメモリ・セルに接続されており、ビット線は、列をなすいくつかのメモリ・セルに接続されている。さらに、ビット線は、ランダム・アクセス・メモリ（ＲＡＭ）・セルに書き込まれる値を供給する。
【０００９】
　ＳＲＡＭセル１００に結合されたポート０は、メモリ・アクセス要求（例えば、メモリ書き込み要求）を満たすため、セルにデータを書き込むことが可能である。図示のように、ＢＩＴ＿Ｐ０　１０５、ＮＢＩＴ＿Ｐ０　１０６、及び、ＷＯＲＤ＿０線１０７は、ポート０によるＳＲＡＭセル１００への書き込みを可能にするために設けられている。ＢＩＴ＿Ｐ０　１０５は、ポート０のデータ・キャリアと呼ぶことが可能であり、ＮＢＩＴ＿Ｐ０　１０６は、ポート０の相補性データ・キャリアと呼ぶことが可能である。ＳＲＡＭセル１００の動作は既知のところであり、従って、本明細書では、簡単な解説しか加えないという点に留意されたい。一般に、ＢＩＴ＿Ｐ０線１０５は、低電圧レベル（すなわち、論理０）に能動的にプルダウンされない限り、高電圧レベル（すなわち、論理１）に保持される。例えば、ポート０からＳＲＡＭセル１００にデータを書き込む場合、ＢＩＴ＿Ｐ０線１０５は、能動的に低にされ、ＮＢＩＴ＿Ｐ０線１０６は、高電圧レベルに保持される。あるいはまた、外部ソースがＳＲＡＭセル１００に１を書き込みたい場合、ＢＩＴ＿Ｐ０線１０５は、高のままであり、ＮＢＩＴ＿Ｐ０線１０６は、低電圧レベルにプルダウンされる。次に、ＷＯＲＤ＿０線１０７が起動され（例えば、高電圧レベルに移行させられ）、その時点において、ＢＩＴ＿Ｐ０線１０５の値が、ＳＲＡＭセル１００に書き込まれる。ＷＯＲＤ＿０線１０７が起動すると、ＮＦＥＴ１０３及び１０４がバイアスをかけられて、オンになる。すなわち、ＢＩＴ＿Ｐ０の電圧レベルが、ＮＦＥＴ１０３を横切って転送され、ＮＢＩＴ＿Ｐ０の電圧レベルがＮＦＥＴ１０４を横切って転送されて、交差結合インバータ１０１及び１０２に対してＢＩＴ＿Ｐ０の値が書き込まれる。ＷＯＲＤ＿０線１０７が「オフ」またはゼロ値の場合、ＲＡＭセルに記憶されている値は不変のままである。
【００１０】
　図２には、先行技術の典型的な２ポート・デュアル・エンドＳＲＡＭセル２００が例示されている。図１の場合と同様、このメモリ・キャッシュは、一般に、ＮＦＥＴを介したラッチへのデュアル・エンド書き込みによって実施される。図２の２ポートＳＲＡＭ構造には、データを記憶する（すなわち、１ビットのデータを記憶する）ための交差結合インバータ１０１及び１０２を含む、典型的なＳＲＡＭセルが含まれている。さらに、第１のポート（すなわち、ＢＩＴ＿Ｐ０　１０５及びＮＢＩＴ＿Ｐ０　１０６のラインを備えたポート０）からの書き込みを可能にする、ＮＦＥＴ１０３及び１０４が設けられている。ＳＲＡＭセルに対する書き込みは、ＮＦＥＴ１０３、１０４間の電圧レベルを交差結合インバータ１０１及び１０２に送り込むことによって実施される。また、第２のポート（すなわち、ＢＩＴ＿Ｐ１　２０３及びＮＢＩＴ＿Ｐ１　２０４のラインを備えたポート１）は、第２のポート（ポート１）からＳＲＡＭセル２００への書き込みを可能にする、ＮＦＥＴ２０１及び２０２を追加することによって、ＳＲＡＭセル２００に結合されている。図２の２ポートＳＲＡＭ構造２００が、一般に、集積回路において実施されるという点に留意されたい。ＳＲＡＭセル２００は、１ビットのデータ（すなわち、論理１または論理０）を記憶することが可能なメモリ・セルである。従って、所望の量のＳＲＡＭメモリが得られるようにするためには、こうしたＳＲＡＭセル２００を数多くシステム内に組み込まなければならない。
【００１１】
　ＳＲＡＭセル２００に結合された２つのポートのいずれか（すなわち、ポート０またはポート１）は、メモリ・アクセス要求（例えば、メモリ書き込み要求）を満たすため、セルにデータを書き込むことが可能である。図示のように、ＢＩＴ＿Ｐ０　１０５、ＮＢＩＴ＿Ｐ０　１０６、及び、ＷＯＲＤ＿０線１０７は、ポート０によるＳＲＡＭセル２００への書き込みを可能にするために設けられており、ＢＩＴ＿Ｐ１　２０３、ＮＢＩＴ＿Ｐ１　２０４、及び、ＷＯＲＤ＿１　２０５は、ポート１によるＳＲＡＭセル２００への書き込みを可能にするために設けられている。ＢＩＴ＿Ｐ０線１０５及びＢＩＴ＿Ｐ１線２０３は、それぞれ、本明細書において、ポート０及びポート１のデータ・キャリアと呼ばれ、ＮＢＩＴ＿Ｐ０線１０６及びＮＢＩＴ＿Ｐ１線２０４は、それぞれ、本明細書において、ポート０及びポート１のための相補性データ・キャリアと呼ばれる。単一ポートＳＲＡＭセル１００に関連して上述のように、ＢＩＴ＿Ｐ０線１０５及びＢＩＴ＿Ｐ１線２０３は、それらの一方が低電圧レベル（すなわち、論理０）に能動的にプルダウンされない限り、高電圧レベル（すなわち、論理１）に保持される。例えば、ポート０からＳＲＡＭセル２００にデータを書き込む場合、ＢＩＴ＿Ｐ０線１０５は、外部ソース（例えば、プロセッサによって実行される命令）によって能動的に低にさせられ、ＮＢＩＴ＿Ｐ０線１０６は、高電圧レベルに保持される（ＢＩＴ＿Ｐ０の逆）。そうではなく、外部ソースが、ＳＲＡＭセル２００に１を書き込みたいという場合には、ＢＩＴ＿Ｐ０線１０５は高のままで、ＮＢＩＴ＿Ｐ０線１０６が低にプルダウンされる。その後、ＷＯＲＤ＿０線１０７が起動し（例えば、高電圧レベルに移行させられ）、その時点において、ＢＩＴ＿Ｐ０線１０５の値がＳＲＡＭセル２００に書き込まれる。すなわち、ＢＩＴ＿Ｐ０の電圧レベルが、ＮＦＥＴ１０３を横切って転送され、ＮＢＩＴ＿Ｐ０の電圧レベルが、ＮＦＥＴ１０４を横切って転送されて、交差結合インバータ１０１及び１０２に対してＢＩＴ＿Ｐ０の値が書き込まれる。
【００１２】
　ポート１からＳＲＡＭセル２００にデータを書き込む場合には、同様の操作が実施される。例えば、ポート１からＳＲＡＭセル２００にデータを書き込む場合には、ＢＩＴ＿Ｐ１線２０３が、外部ソース（例えば、プロセッサによって実行される命令）によって能動的に低にさせられ、ＮＢＩＴ＿Ｐ１線２０４は、高電圧レベルに保持される（ＢＩＴ＿Ｐ１線２０３とは逆）。そうではなく、外部ソースが、ＳＲＡＭセル２００に１を書き込みたいという場合には、ＢＩＴ＿Ｐ１線２０３は高のままで、ＮＢＩＴ＿Ｐ１線２０４が低にプルダウンされる。その後、ＷＯＲＤ＿１線２０５が起動し、その時点において、ＢＩＴ＿Ｐ１線２０３の値がＳＲＡＭセル２００に書き込まれる。すなわち、ＢＩＴ＿Ｐ１の電圧レベルが、ＮＦＥＴ２０１を横切って転送され、ＮＢＩＴ＿Ｐ１の電圧レベルが、ＮＦＥＴ２０２を横切って転送されて、交差結合インバータ１０１及び１０２に対してＢＩＴ＿Ｐ１の値が書き込まれる。ＳＲＡＭセル２００に書き込まれるデータ値（例えば、論理０または論理１）は、ＤＡＴＡと呼ぶことが可能であり、こうした値の補数は、ＮＤＡＴＡと呼ぶことが可能である。
【００１３】
　図１及び２に例示のＳＲＡＭメモリ・セルは、データ・キャリア（例えば、ＢＩＴ線）と相補性データ・キャリア（例えば、ＮＢＩＴ線）の両方を利用して、ＳＲＡＭセル１００または２００にデータ値を書き込むので、デュアル・エンド書き込み構造と呼ばれる。例えば、図２を参照すると、ポート０に関してＳＲＡＭセル２００に値を書き込むには、ＢＩＴ＿Ｐ０線１０５の値とＮＢＩＴ＿Ｐ０線１０６の値が、両方とも、必要になり、ポート１からＳＲＡＭセル２００に値を書き込むには、ＢＩＴ＿Ｐ１線２０３の値とＮＢＩＴ＿Ｐ１線２０４の値が必要になる。
【００１４】
　一般に、あるポートに関する一つのデータ・キャリア（例えば、ＢＩＴ線）及び一つの相補性データ・キャリア（例えば、ＮＢＩＴ線）には、複数ＳＲＡＭセルが接続されている。従って、あるポートに関して、一つのＢＩＴ線を利用して、複数ＳＲＡＭセルに／からデータを伝送することが可能である。従って、図１及び２には、単一ＳＲＡＭセルだけしか示されていないが、いうまでもなく、ポート０に関するＢＩＴ＿Ｐ０線１０５及びＮＢＩＴ＿Ｐ０線１０６、並びに、ポート１に関するＢＩＴ＿Ｐ１線２０３及びＮＢＩＴ＿Ｐ１線２０４に対して、多数のこうしたＳＲＡＭセルを接続すれば、ＳＲＡＭセル・グループを形成することが可能である。同様に、ＳＲＡＭセルに追加ポートを結合することも可能である。従って、ＳＲＡＭセル２００に結合されているポートは２つだけしか示されていないが（ポート０及びポート１）、別のＳＲＡＭセルには、任意の数のポートを結合することが可能である。一般に、ポート数を増す利点は、並列処理可能な命令数が増し、その結果、システムの効率が高まることにある。
【００１５】
　マルチポートＳＲＡＭ構造は、その実施に望ましくないほど多量の表面積を必要とするので、問題がある。すなわち、書込み操作の実施には、ＳＲＡＭセルに結合された各ポート毎に、望ましくないほど多数のコンポーネント及び高レベル金属トラックを設けることが必要とされる。従って、マルチポート・メモリ構造は、一般に、小型で比較的高速で高価であるが、容量に制限のあるメモリ・アレイに用いられる。単一ポート・メモリ構造は、一般に、大形で、比較的低速で、低コストであるが、容量の大きいメモリ・アレイに用いられる。
【００１６】
　図３には、４ポート・デュアル・エンドＳＲＡＭセル３００が例示されている。図３には、ＮＦＥＴ３０１及びＰチャネル電界効果トランジスタ（ＰＦＥＴ）３０２と、ＮＦＥＴ３０３及びＰＦＥＴ３０４が含まれている。協働するＮＦＥＴ及びＰＦＥＴが、インバータの働きをすることが可能であるという点に留意されたい。ＮＦＥＴ３０１及びＰＦＥＴ３０２は、共にインバータ３０５を構成し、ＮＦＥＴ３０３及びＰＦＥＴ３０４は、共にインバータ３０６を構成する。ＮＦＥＴ３０１とＰＦＥＴ３０２の組合せは、ＳＲＡＭセル３００のＢＩＴ部分と呼ぶことが可能である。ＮＦＥＴ３０３とＰＦＥＴ３０４の組合せは、ＳＲＡＭセル３００のＮＢＩＴ部分と呼ぶことが可能である。図３には、インバータ３０５の左側に、４つのＮＦＥＴ、すなわち、ＮＦＥＴ３０７、ＮＦＥＴ３０８、ＮＦＥＴ３０９、及び、ＮＦＥＴ３１０も含まれている。同様に、図３には、インバータ３０６の右側に、４つのＮＦＥＴ、すなわち、ＮＦＥＴ３１１、ＮＦＥＴ３１２、ＮＦＥＴ３１３、及び、ＮＦＥＴ３１４も含まれている。前述のように、ワード線に印加される電圧を利用して、ＮＦＥＴがバイアスをかけられ、オンになる。図３において、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５に印加される電圧によって、ＮＦＥＴ３０７とＮＦＥＴ３１１の両方がバイアスをかけられて、オンになり、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９のデータをＳＲＡＭセル３００に記憶することが可能になる。
【００１７】
　同様に、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ１　３１６に印加される電圧によって、ＮＦＥＴ３０８とＮＦＥＴ３１２の両方がバイアスをかけられて、オンになり、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ１　３２０のデータをＳＲＡＭセル３００に記憶することが可能になる。ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ２　３１７に印加される電圧によって、ＮＦＥＴ３０９とＮＦＥＴ３１３の両方がバイアスをかけられて、オンになり、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ２　３２１のデータをＳＲＡＭセル３００に記憶することが可能になる。ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ３　３１８に印加される電圧によって、ＮＦＥＴ３１０とＮＦＥＴ３１４の両方がバイアスをかけられて、オンになり、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３　３２２のデータをＳＲＡＭセル３００に記憶することが可能になる。これらの各アクションは、ＳＲＡＭセル３００のＤＡＴＡ側で行われる。
【００１８】
　ＮＤＡＴＡ側では、対応するビット線ポートの各値に、ＤＡＴＡ側の対応するビット線ポートで得られる値と逆の値が含まれる点を除けば、同様のアクションが行われる。ＮＤＡＴＡ側では、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ１　３１５が起動すると、ＮＦＥＴ３０７及びＮＦＥＴ３１１の両方がバイアスをかけられて、オンになり、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３によって、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９にその値と相補性の値が加えられる。同様に、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ１　３１６が起動すると、ＮＦＥＴ３０８及びＮＦＥＴ３１２の両方がバイアスをかけられて、オンになり、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ１　３２４によって、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ１　３２０にその値と相補性の値が加えられる。ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ２　３１７が起動すると、ＮＦＥＴ３０９及びＮＦＥＴ３１３の両方がバイアスをかけられて、オンになり、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ２　３２５によって、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ２　３２１にその値と相補性の値が加えられる。ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ３　３１８が起動すると、ＮＦＥＴ３１０及びＮＦＥＴ３１４の両方がバイアスをかけられて、オンになり、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３　３２６によって、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３　３２２にその値と相補性の値が加えられる。ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔに加えられるこれらの各相補値によって、ＳＲＡＭセル３００に正しい値が記憶されるという保証が得られる。
【００１９】
　図３のＳＲＡＭセル３００には、読み取り操作に用いられる８つのＮＦＥＴ（３２７〜３３４）も含まれている。読み取り及び書込み操作に同じＮＦＥＴを利用することもできるし、あるいは、異なるＮＦＥＴ間で、読み取り操作と書込み操作を分担することも可能であるという点に留意されたい。図示構成の場合、各読み取りポート毎に２つのＮＦＥＴが必要になる。個別読み取りＮＦＥＴを組み込むことによって、読み取り操作と書込み操作を異なるサイクル段階で実施することが可能になる。また、図３に示すように、ｒｅａｄ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ２　３４１及びｒｅａｄ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３　３４２が、両方とも、ＳＲＡＭセル３００に現在記憶されている値を正確に反映するため、変更が必要になる相補値を読み取ることになる点にも留意されたい。
【００２０】
　一般に、書込み操作の場合、ワード線ポートの電圧によってＮＦＥＴがバイアスをかけられ、その時点において、対応するｎｏｔ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔと協働する関連ビット線ポートの値が、ＲＡＭセルに結合される。一般に、読み取り時には、ワード線ポートの電圧によってＮＦＥＴがバイアスをかけられ、その時点において、実際のインバータによって、それらの値が関連ビット線に送り込まれる。次に、これらの値が、アレイから読み取られる。ＳＲＡＭセル３００に読み取り及び書き込みセクションを別々に組み込むことによって、読み取り操作と書込み操作を異なる段階において実施することが可能になる。一般に、読み取り操作は、書込み操作よりも時間がかかる。
【００２１】
　ＲＡＭセルに記憶されている記憶値が維持されないと、マルチポートＲＡＭに安定性の問題が生じる。ＲＡＭセルの安定性問題が生じる一例は、読み取りによって、ＲＡＭセルに記憶されている値が変化する場合である。一般に、読み取りまたは書き込みが実施される前に、ビット線には、予充電（プリチャージ）される（高電圧すなわち論理１が加えられる）。もう一度図３を参照すると、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０ないしｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３（３１９〜３２２）、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０ないしｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３（３２３〜３２６）、及び、ｒｅａｄ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０ないしｒｅａｄ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３（３３９〜３４２）は、それぞれ、読み取りまたは書き込み操作に先立って、予充電される。これらのビット線は、一般に、高電圧に保持されず、この高電圧レベルからの「浮動」が許される。ワード線が使用可能になると、関連ＮＦＥＴがバイアスをかけられてオンになり、ビット線に印加される電圧が、ＲＡＭセルで感知される。ＲＡＭセルにこの電圧を印加すると、ＲＡＭセルに記憶されている値を変化させる可能性がある。この問題は、「予充電」高電圧の印加時に、ＲＡＭセルの「０」側において生じる。ＲＡＭセルに記憶されている値を誤って変化させる安定性問題の可能性は、同時読み取り操作数が増すにつれて増大する。ｒｅａｄ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０ないしｒｅａｄ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ３（３３５〜３３８）を利用して、それぞれ、ＮＦＥＴ３２７〜３３０がバイアスをかけられるという点に留意されたい。
【００２２】
　図４Ａには、ＲＡＭセルの通常動作が例示されている。ＲＡＭセル３００に０を書き込むため、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５の値が、０から１に遷移し、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９の値が、１から０に遷移する。同時に、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３の値は、高電圧にとどまって、ＢＩＴ３０５に論理０が記憶され、一方、ＮＢＩＴ３０６には論理１が記憶される。
【００２３】
　図４Ｂには、４ポートＲＡＭセルに典型的な書き込み障害が例示されている。ＲＡＭセル３００に０を書き込むため、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５の値が、０から１に遷移し、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９の値が、１から０に遷移する。同時に、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３の値は、高電圧にとどまる。前述のように、一般に、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ１　３２０には、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３（３２０〜３２２）を介して、また、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ１　３２４には、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３（３２４〜３２６）を介して、１が加えられる。前述のように、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ１ないしｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ３　３２２、並びに、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ１　３２４ないしｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ１　３２６は、１になるように予充電されており、後続の書き込み中、浮動が許される。ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ１ないしｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ３（３１６〜３１８）も、これらのワード線と他のビット線の交差点を介して、他のメモリ・セルにアクセスするため、ポート１〜３のそれぞれに１が加えられている場合には、０から１に遷移することが可能である。これらの状況では、ＲＡＭセル３００に印加される高電圧のため、ＢＩＴ３０５に０を記憶することができず、ＮＢＩＴ３０６に１を記憶することができない。これが生じるのは、この時点において、ポート０がＲＡＭセルに「０」を加えている最中に、予充電ビット線が、ＲＡＭセルに「１」を加えているためであり、これは、「駆動闘争」と呼ばれる。駆動闘争は、適正な値の記憶を妨げる可能性がある。駆動闘争には、「１」を加える３つの予充電ポートと、「０」を加える単一ポートが含まれる可能性がある。
【００２４】
　図５には、本発明のＲＡＭセル５００の実施態様の１つが例示されている。図示のように、ＲＡＭセル５００の各書き込み回路には、この場合、２つのＮＦＥＴが含まれている。すなわち、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３は、ＮＦＥＴ５１０のゲートに電気的に接続されており、ＮＦＥＴ５０１のソ−スは、アースに電気的に接続されている。ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ３１５は、ＮＦＥＴ５０２のゲートに電気的に接続され、ＮＦＥＴ５０２のソースは、ＮＦＥＴ５０１のドレインに接続されている。ＮＦＥＴ５０２のドレインは、インバータ３０５に電気的に接続されている。
【００２５】
　第１の例として、現在１を記憶している、ＢＩＴ３０５への０の記憶に関して回路の動作を説明することにするが、ここで、０は、現在ＮＢＩＴ３０６に記憶されている。この場合、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３に１が加えられ、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９に０が加えられる。１の値は、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５にも加えられる。ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３に加えられた１によって、ＮＦＥＴ５０１がバイアスをかけられて、オンになり、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５に加えられた１によって、ＮＦＥＴ５０２がバイアスをかけられて、オンになる。ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５に加えられた１によって、ＮＦＥＴ５０４にもバイアスがかけられて、オンになるが、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９に加えられた０は、ＮＦＥＴ５０３がバイアスをかけられて、オフになるのを保証する。この構成の場合、ＢＩＴ３０５に対する０の所望の書き込みが行われるのは、バイアスのかかったＮＦＥＴ５０１のソースに接続された接地電圧(GND)が、ＮＦＥＴ５０１を通り、バイアスのかかったＮＦＥＴ５０２のソースに電気的に接続されているＮＦＥＴ５０１のドレインに送られる時であり、これによって、ＮＦＥＴ５０２のドレインに接地電圧が生じ、これが、さらにＢＩＴ３０５に電気的に接続される。ＢＩＴ３０５に接地電圧すなわち０が生じることによって、ＢＩＴ３０５は強制的に０を記憶させられる。前述の働きによって、ＢＩＴ３０５内においてシングル・エンド書き込みが行われることになる。ＢＩＴ３０５に０が記憶されるのに応答して、インバータは、ＮＢＩＴ３０６に１を記憶させることになる。
【００２６】
　図６には、図５のＳＲＡＭセル５００の動作が例示されている。その例に関して述べたように、始点において、ＢＩＴ３０５が１を記憶し、ＮＢＩＴ３０６が０を記憶する。ＢＩＴに０を記憶するため、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５に１が加えられ、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３に１が加えられ、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９に０が加えられる。これらの電圧印加によって、ＢＩＴ３０５に記憶されている１が０に置き換えられ、ＮＢＩＴに記憶されている値０が、インバータによって、１に置き換えられる。
【００２７】
　第２の例として、現在０を記憶しているＢＩＴ３０５に１を記憶することに関して、回路の動作を説明することにするが、ここで、１が現在ＮＢＩＴ３０６に記憶されている。この場合、ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９に１が加えられ、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３に０が加えられることになる。１の値は、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５にも加えられる。ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３１９に加えられた１によって、ＮＦＥＴ５０３がバイアスをかけられて、オンになり、ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５に加えられた１によって、ＮＦＥＴ５０４がバイアスをかけられて、オンになる。ｗｒｉｔｅ＿ｗｏｒｄｌｉｎｅ＿ｐｏｒｔ０　３１５に加えられた１によって、ＮＦＥＴ５０２もバイアスがかけられて、オンになるが、ｎｏｔ＿ｗｒｉｔｅ＿ｂｉｔｌｉｎｅ＿ｐｏｒｔ０　３２３に加えられた０が、ＮＦＥＴ５０１がバイアスをかけられて、オフになる。この構成の場合、ＮＢＩＴ３０６に対する０の所望の書き込みが行われるのは、バイアスのかかったＮＦＥＴ５０３のソースに接続された接地電圧が、ＮＦＥＴ５０３を通り、バイアスのかかったＮＦＥＴ５０４のソースに電気的に接続されたＮＦＥＴ５０３のドレインに送られる時である。これによって、ＮＦＥＴ５０４のドレインに接地電圧が生じ、これが、さらに、ＮＢＩＴ３０６に電気的に接続される。ＮＢＩＴ３０６に接地電圧すなわち０が生じると、ＮＢＩＴ３０６は強制的に０を記憶させられる。前述の働きによって、ＮＢＩＴ３０６内においてシングル・エンド書き込みが行われることになる。ＮＢＩＴ３０６に０が記憶されるのに応答して、インバータは、ＢＩＴ３０５に１を記憶させることになる。
【００２８】
　本発明によって、ＳＲＡＭセルにシングル・エンド書き込みが実施されるという点に留意されたい。ＢＩＴ３０５に１が記憶され、ＮＢＩＴ３０６に０が記憶されると、図５の左側から、ＢＩＴ３０５への０のシングル・エンド書き込みが行われ、その結果、インバータを介して、ＮＢＩＴ３０６に１が記憶されることになる。あるいはまた、ＢＩＴ３０５に０が記憶され、ＮＢＩＴ３０６に１が記憶されると、図５の右側から、ＮＢＩＴ３０６への０のシングル・エンド書き込みが行われ、その結果、ＢＩＴ３０５に１が記憶されることになる。
【図面の簡単な説明】
【００２９】
【図１】典型的な単一ポート・デュアル・エンドＳＲＡＭセルを例示した図である。
【図２】典型的な２ポート・デュアル・エンドＳＲＡＭセルを例示した図である。
【図３】４ポート・デュアル・エンドＳＲＡＭセルを例示した図である。
【図４Ａ】ＲＡＭセルの通常動作を例示した図である。
【図４Ｂ】４ポートＲＡＭセルの典型的な書き込み障害を例示した図である。
【図５】本発明の実施態様の１つにおけるＲＡＭセルの実施態様を例示した図である。
【図６】本発明の実施態様の１つにおけるＳＲＡＭセルの動作を例示した図である。
【符号の説明】
【００３０】
３１５　第１のポート書き込みワード線
３２３　第１のポート非書き込みビット線
５０１　第１のＦＥＴ
５０２　第２のＦＥＴ
【図１】
2004111027.tif 000003
【図２】
2004111027.tif 000004
【図３】
2004111027.tif 000005
【図４Ａ】
2004111027.tif 000006
【図４Ｂ】
2004111027.tif 000007
【図５】
2004111027.tif 000008
【図６】
2004111027.tif 000009