(57)【特許請求の範囲】
【請求項１】
メモリアレイと、アドレス信号をデコードして上記メモリアレイ内の対応するメモリセルを選択するための信号を形成するデコーダ回路と、選択された上記メモリセルから読み出された信号を増幅する読出し回路とを備えたメモリ部と、
書込みと読出しの何れもが可能なｎ個（ｎは２以上の整数）の入出力ポートと、
上記ｎ個の入出力ポートの中からいずれか一つを上記メモリ部に接続するためのポート切換え手段とを有する半導体記憶装置において、
半導体記憶装置の内部サイクルをｎサイクルとするとともに、ｎサイクルのうちｎ番目のサイクルを書込み動作に必要な時間に設定し、１番目から（ｎ−１）番目の各サイクルをそれぞれ読出し動作に必要な時間に設定し、
上記ｎ個の入出力ポートのうち、ｍ個（ｍは０＜ｍ＜ｎなる整数）の入出力ポートに読出し指示がなされ、残りの（ｎ−ｍ）個の入出力ポートに書込み指示がなされた場合に、
第１〜第ｍサイクルにおいて、上記ｍ個の入出力ポートと上記メモリ部との接続が上記ポート切換え手段により順次切り換えられながら、これら各サイクルで上記メモリ部に接続された入出力ポートの読出し指示に応じた読出し動作がそれぞれ行なわれ、
第（ｍ＋１）〜第ｎサイクルにおいて、上記（ｎ−ｍ）個の入出力ポートと上記メモリ部との接続が上記ポート切換え手段により順次切り換えられながら、これら各サイクルで上記メモリ部に接続された入出力ポートの書込み指示に応じた書込み動作がそれぞれ行なわれることを特徴とする半導体記憶装置。
【請求項２】
上記ポート切換え手段により各入出力ポートが上記メモリ部に接続されるサイクルは、上記ｎ個の入出力ポートに外部より供給される読出しまたは書込みを指示する信号に基づいて割り当てられるように構成されていることを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
外部から供給される基準となるクロック信号を受けて上記ｎサイクルのうち１番目から（ｎ−１）番目の各サイクルに対応したタイミングで変化する第１の内部クロック信号および上記ｎ番目のサイクルに対応したタイミングで変化する第２の内部クロック信号を形成するタイミング発生回路を備え、これらの内部クロック信号に基づいて上記メモリ部への制御信号が形成されるように構成されていることを特徴とする請求項１または２に記載の半導体記憶装置。
【請求項４】
請求項１乃至請求項３のいずれかに記載の半導体記憶装置をキャッシュメモリとして備えてなることを特徴とするデータ処理システム。
【請求項５】
メモリアレイと、
読出しと書込みの何れもが可能なｎ個（ｎは２以上の整数）の入出力ポートと、
上記メモリアレイと上記複数の入出力ポートとの間に接続されるセレクタ回路と、
上記セレクタ回路と上記メモリアレイとの接続を制御するポート切換え制御回路とを有する半導体記憶装置において、
上記半導体記憶装置の内部サイクルをｎサイクルに分割し、
上記分割された内部サイクルのうち、最後のサイクルを第ｎサイクルとし、残りの内部サイクルを、第１サイクルから第（ｎ−１）サイクルとし、
第１サイクル乃至第（ｎ−１）サイクルの長さを同じ時間にし、
第ｎサイクルの長さを第１サイクルの長さよりも長くし、
上記ポート切換え制御回路は、外部より書込み及び読出しを指示する信号が上記ｎ個の入出力ポートにそれぞれ供給される時、上記ｎ個の入出力ポートを上記メモリアレイにそれぞれ接続するサイクルを上記ｎサイクルのうちの何れかに割り当てるとともに、
上記ｎ個の入出力ポートに対して読出しの指示と書込みの指示とが混在している場合に、上記のｎサイクル中、読出し指示のなされた入出力ポートを上記メモリアレイに接続するサイクルを、書込み指示のなされた入出力ポートを上記メモリアレイに接続するサイクルよりも前に割り当てて、各サイクルで当該サイクルに割り当てた入出力ポートを上記メモリアレイに接続させることを特徴とする半導体記憶装置。
【請求項６】
請求項５記載の半導体記憶装置において、上記第１乃至第（ｎ−１）サイクルで読出し動作または書込み動作が行なわれることを特徴とする半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体記憶技術さらには複数の入出力ポートを備えた高速ＲＡＭ（ランダム・アクセス・メモリ）に適用して有効な技術に関し、特に複数のポートに同時に読出しと書込みが入った場合のメモリ内の制御方式に利用して有効な技術に関する。
【０００２】
【従来の技術】
従来、マイクロプロセッサのキャッシュメモリとして、１つのメモリアレイに対して３個の入出力ポートを備え外部サイクルタイムの３倍の速度で内部動作することにより外部からはあたかも３個のＲＡＭが存在するかのように見えるように構成されたスタティック型の３ポートＲＡＭが提案されている（ISSCC94,A200MHx Internal/66MHz external 64kB Embedded Virtual Three port Cashe RAM）。この３ポートＲＡＭにおいては、外部から３つのポートに対して同時に読出しと書込みを並行して行なうことができるようにされている。
【０００３】
【発明が解決しようとする課題】
周知のように、スタティックＲＡＭは選択されたメモリセルがビット線に接続されたときの当該ビット線対の電位差を増幅して読出しを行なう一方、書込みはビット線対を書込みデータに応じてメモリセルを反転させるのに充分な比較的高い電位にチャージアップして行なうようにされているため、書込みサイクルは読出しサイクルよりも長い時間に設定される。仮に、書込みサイクルを短くして書込みサイクル後に読出しサイクルを実行すると、ビット線レベルがプリチャージレベルまで充分に回復する前に読出しが開始されるため、データの誤読出しが行なわれるおそれがあるためである。
【０００４】
前述の３ポートＲＡＭにおいては、外部サイクルに対して内部サイクルを単純に３分割するとともに、外部から３つのポートのいずれに対しても読出しと書込みを行なうことができるようにするため、各内部サイクルは書込みサイクルに必要な時間に設定されていた。逆に言うと、外部のサイクル時間は、ＲＡＭのアクセス時間に規定されるため、上記書込みサイクルに必要な時間に設定された内部サイクル時間の３倍に設定する必要があった。
【０００５】
本発明者は、前述の３ポートＲＡＭについて詳細に検討した結果、この３ポートＲＡＭにおいては、図２（Ａ）に示すように、複数のポートに対して読出しが連続して行なわれる場合には先の読出しによるビット線の電位が充分に回復して次の読出しが可能な状態になるにもかかわらず、書込みサイクルに必要な時間に設定されたサイクル時間ｔｃｗに従って次の読出しサイクルが実行されるため、無駄な時間ｔlossが生じていることを見いだした。
【０００６】
この発明の目的は、複数の入出力ポートを備えたＲＡＭのサイクル時間を短縮し、これによってこのＲＡＭを使用したデータ処理システムを高速化できるようにした半導体記憶技術を提供することにある。
【０００７】
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
【０００８】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
【０００９】
すなわち、例えばｎ個（ｎは正の整数）の入出力ポートを有するＲＡＭにおいて、１つの外部サイクルに対応してＲＡＭの内部サイクルをｎサイクルとするとともに、ｎサイクルのうち１つを書込みサイクルに必要な時間に設定し、残りの（ｎ−１）のサイクルを読出しサイクルに必要な時間に設定して、書込みサイクルを（ｎ−１）個の読出しサイクルの後に持って来て、読出しに係るポートを前のサイクルに順次割り当て書込みに係るポートを後の方のサイクルに割り当てるようにしたものである。
【００１０】
上記した手段によれば、外部サイクルに対応したｎサイクルのうち（ｎ−１）のサイクルが読出しサイクルに必要な時間に設定されているためＲＡＭの内部サイクルをすべて書込みサイクルに必要な時間に設定した場合に比べて外部サイクルを短くすることができ、これによってこのＲＡＭを使用したシステムを高速化することができるとともに、書込みサイクルに比べて短い読出しサイクルで書込み動作を実行して次の長い書込みサイクルで読出し動作が実行されることがないので、書込み後のビット線電位が充分に回復する前に読出し動作が開始されるのを確実に回避してデータの誤読出しを防止しつつサイクルタイムの短縮を図ることができる。
【００１１】
上記ポートの上記書込みサイクルまたは読出しサイクルへの割り当ては、当該ポートに外部より供給される読出し／書込みを指示する信号に基づいて行われるように構成する。これによって、上記ポートの切換えを行なう制御信号を内部で自動的に形成することができ、外部からそのような制御信号を与える必要がなく、システム設計が容易になるとともに当該メモリを制御するマイクロプロセッサ等のマスタ装置の負担を軽減することができる。
【００１２】
さらに、外部から供給される基準となるクロック信号を受けて上記読出しサイクルに対応したタイミングで変化する第１の内部クロック信号および上記書込みサイクルに対応したタイミングで変化する第２の内部クロック信号を形成するタイミング発生回路を設け、これらの内部クロック信号に基づいてメモリ部への制御信号が形成されるように構成する。これによって、上記読出しサイクルおよび書込みサイクルに従った制御信号の形成が容易に行なえるようになる。
【００１３】
さらに、上記のように構成されたメモリ（半導体記憶装置）を例えばマイクロプロセッサのキャッシュメモリとして使用したデータ処理システムを構成することにより、サイクルタイムが短く高速動作可能なシステムを実現することができる。
【００１４】
【発明の実施の形態】
以下、本発明の好適な実施例を図面に基づいて説明する。図１は本発明をマイクロプロセッサのキャッシュメモリとして好適な２ポートＲＡＭに適用した場合の一実施例を示すブロックである。
【００１５】
図１において、１０は汎用のスタティックＲＡＭとほぼ同様な構成を有するＳＲＡＭ部で、このＳＲＡＭ部１０は、各々がフリップフロップ型ラッチ回路と一対の選択用スイッチ素子とからなる複数のメモリセルがマトリックス状に配置されたメモリアレイ１１、Ｘアドレス信号をデコードして上記メモリアレイ１１内の対応するワード線を選択するＸデコーダ回路１２、Ｙアドレス信号をデコードして上記メモリアレイ１１内の対応するビット線対を選択するＹデコーダ回路１３、上記Ｘデコーダ回路１２にＸアドレス信号を供給するＸアドレスバッファ１４、上記Ｙデコーダ回路１３にＹアドレス信号を供給するＹアドレスバッファ１５、上記ビット線に読み出された信号を増幅したり、書込みデータに従ってビット線対に電位差を与えるセンスアンプ＆Ｉ／Ｏバス１６、センスアンプに書込みデータ信号を供給するデータ入力バッファ１７、センスアンプにより増幅されたリード信号を出力する出力バッファ１８、上記デコーダやバッファ回路等に対する制御信号を生成するメモリ制御回路１９等から構成されている。
【００１６】
この実施例の２ポートＲＡＭでは、２つのポート２０Ａ，２０Ｂと上記ＳＲＡＭ部１０との間にセレクタ回路２１Ａ，２１Ｂが設けられているとともに、上記ポート２０Ａ，２０Ｂから入力される各ポートの読出しまたは書込みを示すリード／ライト信号ＲＷに基づいて上記セレクタ回路２１Ａ，２１Ｂを制御して上記ポート２０Ａまたは２０Ｂのいずれか一方をＳＲＡＭ部１０に接続させる切換え制御信号ＣＰを形成するポート切換え制御回路２２が設けられている。上記セレクタ２１Ａ，２１Ｂのうち２１Ａはアドレス信号のセレクタでポート２０Ａまたは２０Ｂからのアドレスの一方をアドレスバッファ１４，１５に供給する。セレクタ２１Ｂはデータ信号用であり、ポート２０Ａまたは２０Ｂに入力されたデータの一方をデータ入力バッファ１７に供給するとともに、出力バッファ１８からの読出しデータをポート２０Ａまたは２０Ｂのいずれかに供給する双方向性の選択接続機能を備えている。
【００１７】
また、この実施例の２ポートＲＡＭには、外部から供給されるシステムクロック信号ＣＬＫに基づいて内部動作に必要なクロックφ１，φ２を形成して上記メモリ制御回路１９に供給するクロック生成回路２３が設けられている。
【００１８】
これとともに、本実施例の２ポートＲＡＭでは、上記メモリ制御回路１９が外部のシステムクロックＣＬＫの１サイクルＴ０を、第１サイクルｔｃ１と第２サイクルｔｃ２（ｔｃ１＜ｔｃ２）の２つの内部サイクルに分けて各サイクルｔｃ１，ｔｃ２内にそれぞれ読出しまたは書込み動作を実行させるようにＳＲＡＭ部１０に対して制御信号を出力する。上記第１サイクルｔｃ１はＳＲＡＭ部１０においてデータの読出しを行なった後にビット線が次の読出しに支障のない充分な電位まで回復するのに必要とされる時間ｔｃｒに設定され、上記第２サイクルｔｃ２はＳＲＡＭ部１０においてデータの書込みを行なった後にビット線が次の読出しに支障のない充分な電位まで回復するのに必要とされる時間ｔｃｗに設定されている。
【００１９】
この実施例では、上記クロック生成回路２３からメモリ制御回路１９に供給される上記内部クロックφ１は上記サイクルｔｃ１に対応したタイミングを有し、上記内部クロックφ２は上記サイクルｔｃ２に対応したタイミングを有するように形成される。
【００２０】
次の表１には、上記ポート切換え制御回路２２による２つのポートの第１サイクルｔｃ１と第２サイクルｔｃ２への割り当ての仕方の一例を示す。
【００２１】
【表１】
0003765452.tif 000002
表１に示されているように、この実施例の２ポートＲＡＭにおいては、ポートＡ（図１の２０Ａ）が読出し“Ｒｅａｄ”を、またポートＢ（２０Ｂ）が書込み“Ｗｒｉｔｅ”を指示しているときは、第１サイクルｔｃ１を読出しのポートＡに、また第２サイクルｔｃ２を書込みのポートＢに割り当ててリードライト動作を実行する。また、逆にポートＢ（２０Ｂ）が読出し“Ｒｅａｄ”を、またポートＡ（２０Ａ）が書込み“Ｗｒｉｔｅ”を指示しているときは、第１サイクルｔｃ１を読出しのポートＢに、また第２サイクルｔｃ２を書込みのポートＡに割り当ててリードライト動作を実行するように構成されている。さらに、ポートＡ（２０Ａ）とポートＢ（２０Ｂ）が共に書込み“Ｗｒｉｔｅ”を指示しているときおよび２つのポートが共に読出し“Ｒｅａｄ”を指示しているときは、第１サイクルｔｃ１をポートＡに、また第２サイクルｔｃ２をポートＢに割り当ててライト動作を実行するように構成されている。
【００２２】
図２（Ａ）にポートＡまたはＢのいずれか一方が読出しで他方が書込みの場合の従来方式を適用した２ポートＲＡＭのビット線の電位変化の様子が、また図２（Ｂ）に本実施例の２ポートＲＡＭにおいてポートＡまたはＢのいずれか一方が読出しで他方が書込みの場合のビット線の電位変化の様子が示されている。本実施例に従うと、Ａ，Ｂのいずれのポートが書込みの場合にも必ず短い方の第１サイクルに読出しポートが割り当てられ、長い方の第２サイクルに書込みポートが割り当てられるため、図２（Ａ）と（Ｂ）とを比較すると明らかなように、図２（Ａ）では読出しの第１サイクルｔｃ１でビット線のレベルが回復してから次の書込みが始まるまでに無駄な時間ｔlossが生じているのに対し、図２（Ｂ）ではそのような無駄な時間がない。従って、本実施例の方が従来方式に比べてｔloss時間だけ外部サイクルＴ０を短縮することができることが分かる。
【００２３】
図２（Ｃ）は、本実施例の２ポートＲＡＭにおいて２つのポートが共に書込みである場合のビット線の電位変化の様子を示す。この場合、時間の短い第１サイクルにも書込みが割り当てられるため、書込みサイクルが連続して実行され、第１サイクルの書込みによるビット線電位の変化が完全に回復する前に次の書込みサイクルが開始されることとなる。しかし、書込みの際には読出し時のしきい値レベルＶｒｔよりもずっと低い電位Ｖｗｔ以上にビット線が回復すれば次の書込みデータによるビット線の正しいチャージが行なえるので、図２（Ｃ）のように書込みが連続する場合にも誤ったデータの書込み動作が行なわれることがなく、何ら支障がない。
【００２４】
本実施例の２ポートＲＡＭにおいて２つのポートが共に読出しである場合のビット線の電位変化の様子は図示しないが、図２（Ｂ）の第２サイクルＴｃ２が図２（Ａ）の第１サイクルと同様となり、この場合には、第２サイクルで無駄な時間ｔlossが生じることとなるが、第１サイクルの方では無駄な時間をなくすことができるため、図２（Ａ）に示す従来方式よりは外部サイクルＴ０を短くすることができる。
【００２５】
図３には、第１サイクルｔｃ１が第２サイクルｔｃ２よりも短く設定された２ポートＲＡＭにおいて、書込みを第１サイクルｔｃ１に、また読出しを第２サイクルｔｃ２に割り当てたと仮定した場合のビット線の電位の変化の様子を示す。同図に示すように、書込みを第１サイクルに割り当てると第２サイクルの読出しの際にビット線対の電位が共に読出ししきい値レベルＶｒｔの近傍に来るため、正確なデータの判定が困難となることが分かる。しかしながら、上記実施例の２ポートＲＡＭにおいては図３に示すような動作は禁止されているため、不正確なデータ読出しを回避しつつ外部サイクル時間の短縮化が図られる。
【００２６】
なお、表１においては、ポートＡ（２０Ａ）とポートＢ（２０Ｂ）が共に書込み“Ｗｒｉｔｅ”を指示しているときおよび２つのポートが共に読出し“Ｒｅａｄ”を指示しているときは、第１サイクルｔｃ１をポートＡに、また第２サイクルｔｃ２をポートＢに割り当てて実行することを示しているが、ポートＡとＢが共に書込みまたは読出しを指示しているときはポートＢを第１サイクルｔｃ１に、またはポートＡを第２サイクルｔｃ２に割り当てるようにしても良い。つまり、２つのポートが共に読出しまたは書込みのときはいずれのポートを第１サイクルに割り当ててもよい。
【００２７】
以上、本発明を２ポートＲＡＭに適用した場合について説明したが、本発明は３ポート以上のＲＡＭに適用することも可能である。
【００２８】
図４には、本発明を適用した３ポートＲＡＭの概略構成図を示す。この実施例においては、外部のシステムクロックＣＬＫの１サイクルをｔｃ１，ｔｃ２，Ｔ３の３つのサイクルに分割し、第１と第２のサイクルを読出しサイクルに必要な時間ｔｃｒに設定し、第３サイクルｔｃ３を書込みサイクルに必要な時間ｔｃｗに設定している。すなわち、ｔｃ１＝ｔｃ２＜ｔｃ３の関係にある。表２に、上記のように設定された内部サイクルｔｃ１，ｔｃ２，ｔｃ３に対する３つのポートＡ，Ｂ，Ｃの割り当ての仕方の一例を示す。表２から明らかなように、読出しのポートと書込みのポートが存在する場合には、読出しのポートを前の方のサイクルに割り当て書込みのポートを後の方のサイクルに割り当てていることが分かる。２ポートの場合と同様、３つのポートが共に読出しまたは書込みのときはいずれのポートをどのサイクルに割り当ててもよい。
【００２９】
【表２】
0003765452.tif 000003
図５（Ａ）には３ポートＲＡＭにおいて、書込みポートが２つある場合に上記表２に従った割り当てを行なった場合のタイミングが、また図５（Ｂ）には書込みポートが２つある場合に上記表２に従った割り当てを行なった場合のタイミングがそれぞれ示されている。図５より、表２のような割り当てを行なうことにより、２ポートのＲＡＭと同様に、データの誤読出しを回避しつつ３つのサイクルをすべて書込みサイクルに必要な時間に設定する場合に比べてサイクル時間を２ｔlossだけ短くできることが分かる。
【００３０】
なお、図５（Ｂ）において第２サイクルと第３サイクルに書込みが連続する動作は、前記第１の実施例の２ポートＲＡＭにおいて２つのポートが共に書込みである場合のビット線の電位変化の様子を示す図２（Ｃ）と同様であり、この場合にも、第２サイクルの書込みによるビット線の電位変化が完全に回復する前に次の書込みサイクルが開始されることとなるが、書込みの際には読出し時より低い所定のレベルまでビット線が回復すれば次の書込みデータによるビット線の正しいチャージが行なえるので、誤まったデータの書込み動作が行なわれることがない。
【００３１】
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、前記実施例においては、２ポートＲＡＭと３ポートＲＡＭに適用した例について説明したが、本発明は４ポート以上のｎポートＲＡＭにも適用することができる。その場合にも、外部サイクルをｎ個に分割し、最後のサイクルを書込みに必要とされる時間ｔｃｗに設定するとともに残りのサイクルを読出しに必要とされる時間ｔｃｒに設定し、読出しポートを前の方のサイクルに順次割り当て、書込みポートを後の方のサイクルに割り当てるようにすれば良い。
【００３２】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるキャッシュメモリに好適なマルチポートのＳＲＡＭに適用した場合について説明したが、この発明はそれに限定されるものでなく、マルチポートのＤＲＡＭにも利用することができる。
【００３３】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００３４】
すなわち、
この発明の目的は、複数の入出力ポートを備えたＲＡＭのサイクル時間を短縮し、これを使用したデータ処理システムを高速化することができる。
【図面の簡単な説明】
【図１】本発明を適用した２ポートＲＡＭの一実施例を示すブロック図である。
【図２】従来方式および実施例の２ポートＲＡＭの各サイクルにおけるビット線電位の変化の様子を示す波形図である。
【図３】第１サイクルを第２サイクルよりも短く設定した２ポートＲＡＭにおいて第１サイクルで書込みを行ない第２サイクルで読出しを行なったと仮定した場合のビット線電位の変化の様子を示す波形図である。
【図４】本発明を適用した３ポートＲＡＭの実施例を示すブロック図である。
【図５】実施例の３ポートＲＡＭの各サイクルにおけるビット線電位の変化の様子を示す波形図である。
【符号の説明】
１０  ＳＲＡＭ部
１１  メモリアレイ
１２  Ｘデコーダ回路
１３  Ｙデコーダ回路
１４  Ｘアドレスバッファ
１５  Ｙアドレスバッファ
１６  センスアンプ＆Ｉ／Ｏバス
１７  データ入力バッファ
１８  データ出力バッファ
１９  メモリ制御回路
２０Ａ，２０Ｂ  ポート
２１Ａ，２１Ｂ  セレクタ回路
２２  ポート切換え制御回路
２３  タイミング発生回路
【図１】
0003765452.tif 000004
【図２】
0003765452.tif 000005
【図３】
0003765452.tif 000006
【図４】
0003765452.tif 000007
【図５】
0003765452.tif 000008