(57)【要約】【課題】  簡単な構成で高いアクセス効率とメモリ効率を併せ持ったメモリ回路を備えた半導体集積回路装置を提供する。【解決手段】  メモリの読み出し制御回路において、読み出し命令／Ｒが与えられた次のサイクルに読み出し命令が与えられたか否かによりバースト長を変更する。また書き込み制御回路において、書き込み命令／Ｗが与えられた前のサイクルに書き込み命令が与えられたか否かによってバースト長を変更する。【選択図】      図４
2008112485.tif 000002
【特許請求の範囲】
【請求項１】
第１の読み出し命令が与えられたサイクルのひとつ後のサイクルで第２の読み出し命令が与えられているか否かにより、第１の読み出し命令による読み出しデータのバースト長が変更されることを特徴とする同期型メモリ回路。
【請求項２】
請求項１において、
上記第２の読み出し命令が与えられた場合の上記第１の読み出し命令による読み出しデータのバースト長は、上記第２の読み出し命令が与えられなかった場合の上記第１の読み出し命令による読み出しデータのバースト長よりも短いことを特徴とする同期型メモリ回路。
【請求項３】
請求項１において、
上記第１の読み出し命令または上記第２の読み出し命令と同じサイクルで書き込み命令を与えることが可能なことを特徴とする同期型メモリ回路。
【請求項４】
請求項３において、
複数のバンクを有し、上記第１の読み出し命令、上記第２の読み出し命令及び上記書き込み命令は、それぞれ異なるバンクに作用することを特徴とする同期型メモリ回路。
【請求項５】
第１の書き込み命令を与えたサイクルのひとつ前のサイクルで第２の書き込み命令が与えられているか否かにより、第１の書き込み命令による書き込みデータのバースト長が変更されることを特徴とする同期型メモリ回路。
【請求項６】
請求項５において、
上記第２の書き込み命令が与えられた場合の上記第１の書き込み命令による書き込みデータのバースト長は、上記第２の書き込み命令が与えられなかった場合の上記第１の書き込み命令による書き込みデータのバースト長よりも短いことを特徴とする同期型メモリ回路。
【請求項７】
請求項５において、
上記第１の書き込み命令または上記第２の書き込み命令と同じサイクルで読み出し命令を与えることが可能なことを特徴とする同期型メモリ回路。
【請求項８】
請求項７において、
複数のバンクを有し、上記第１の書き込み命令、上記第２の書き込み命令及び上記読み出し命令は、それぞれ異なるバンクに作用することを特徴とする同期型メモリ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は同期型メモリ回路に関する。
【背景技術】
【０００２】
シンクロナス  スタティック型ＲＡＭ等では、製品ごとにバースト長（データを連続して書き込み／読み出しするビット数）を変えているものがある。また、シンクロナス  ダイナミック型ＲＡＭ等では、書き込み／読み出し動作の前にモードレジスタセットによりバースト長をモード設定で可変にしているものがある。
【０００３】
しかし、いずれも書き込み／読み出し動作を開始した後のバースト長は固定であり、様々なビット数のデータを取り扱うアプリケーションでは、バーストデータの一部しか使用しないケースが存在してメモリ容量の使用効率が低下する場合があった。
【０００４】
本発明後に、バースト長を可変にできるメモリという観点で公知例調査を行ったところ、特許文献１のようなものが見出された。本公知例にはバースト長を変更するための専用命令を有するメモリ回路が開示されている。
【０００５】
【特許文献１】特開２０００−９０６６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
サーバー等のコンピュータシステムにおいては一般にデータをバイト単位（１バイト＝８ビット）で処理することが多く、メモリに書き込んだり読み出したりする動作も８ビットや４ビットを単位に行うことが多いため、バースト長も８や４に設定することが多い。これに対して、ネットワークシステム等においては扱うデータの長さがランダムなため、バースト長があまり長いとバーストの中で有効なデータは一部で、残りは無効なデータになり、メモリの使用効率が低下することがあった。そのため、バースト長を短く設定すると上記のような無効なデータの領域は減るが、メモリに対し頻繁に読み出し命令や書き込み命令を与える必要があり、制御の煩雑さや消費電力の増加を招く。さらに、メモリが読み出し命令や書き込み命令を受け取ることができる周期がバースト長より長い場合は、全データを読み出しまたは書き込みするまでの時間がかかり、システムの性能向上を妨げる要因となる。
【０００７】
そこで本発明者は、メモリのバースト長を自由に変更することができれば、格納したいデータの長さに応じてバースト長を変更してメモリの使用効率と性能向上、消費電力低減等が両立できると考えた。このためには従来のシンクロナス  ダイナミック型ＲＡＭのように電源投入後の書き込み、読み出し前にバースト長をモードレジスタで設定する機能では不十分で、書き込み、読み出しするその時々にデータの長さから最適なバースト長を判断して選択できることが望ましい。
【０００８】
本発明の目的は、簡単な構成で書き込み、読み出しするその時々にバースト長を変更可能にしたメモリ回路を備えた半導体集積回路装置を提供することにある。  この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。  メモリの読み出し制御回路において、読み出し命令が与えられた次のサイクルに読み出し命令が与えられたか否かを判断する回路を設け、その結果によってバースト長を変更する。  また書き込み制御回路において、書き込み命令が与えられた前のサイクルに書き込み命令が与えられたか否かを判断する回路を設け、その結果によってバースト長を変更する。
【発明の効果】
【００１０】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。読み出し命令または書き込み命令を与えるときにバースト長の切り替えが可能であるため、メモリ使用効率の向上と制御の簡便さが両立可能である。特に、本発明の同期型メモリ回路がデータ長のバリエーションが多いシステムにおいて有効である。
【発明を実施するための最良の形態】
【００１１】
図１に、半導体集積回路装置に搭載される同期型メモリ回路の機能ブロック図を示す。デコーダ102とメモリアレイ103とでそれぞれ独立に動作可能な単位であるバンク101を構成する。図１の例では、１６バンク(101-0〜101-15)を搭載している。例えば、メモリアレイ103はダイナミック型メモリセルで構成される６４Ｋ×１４４＝９Ｍビットから構成され、メモリ回路全体で１４４Ｍビットのメモリ容量を持っている。
【００１２】
なお、一つのバンクが読み出しまたは書き込みの動作を開始してからその動作を完結し、次の命令が受付可能になるためには５サイクルを要する。しかし、バンク101-0〜101-15はそれぞれ独立に動作することができるため、同期型メモリ回路としては異なるバンクを選択することにより、毎サイクル読み出しまたは書き込みの命令を受け取ることが可能になる。
【００１３】
同期型メモリ回路を制御する制御回路104には、クロック発生回路105から供給されるクロックのほか、読み出し命令信号／Ｒ、書き込み命令信号／Ｗ、データレート指示信号／Ｆ、その他命令が入力され、各種の制御信号を読み出し回路106、書き込み回路107に供給している。
【００１４】
図１に示されるように、読み出し回路106及び書き込み回路107は、複数のバンク101-0〜101-15に共通に設けられている。また、読み出し回路106と書き込み回路107とは独立に設けられていて、同期型メモリ回路としては一つのサイクルで読み出し命令／書き込み命令の両方を受け取ることができる。ただしその場合は、読み出し命令と書き込み命令とが別のバンクに与えられなければいけない。データバスも読み出し系Q[35:0]／書き込み系D[35:0]で分かれているため、命令の受け取りと同時に読み出し／書込みが可能となっている。読み出し回路106は、バンク101のメモリアレイ103から読み出しデータを一時的に格納する出力レジスタ108と、出力レジスタ108に格納された読み出しデータを選択的に読み出し系データバスに出力するセレクタ109とを備える。また、書き込み回路107は、書き込み系データバスからの書き込みデータを一時的に格納する入力レジスタ110と、入力レジスタ110に格納された書き込みデータのうち、アドレス（BA、SA）により指定されるバンク101のメモリアレイ103に書き込むべきデータが格納されるライトバッファ111とを備える。
【００１５】
書き込みデータはデータレート指示信号／Ｆの極性によりＳＤＲ（シングルデータレート）またはＤＤＲ（ダブルデータレート）で取り込まれる。詳細は後述するが、バースト長制御信号（書き込み）WRBL4Tにより、バースト長が４のときには３６：１４４のシリアル-パラレル変換が、バースト長が２のときには３６：７２のシリアル-パラレル変換が行われ、メモリアレイに書き込みを行う。また、読み出しデータは１回の命令で１４４ビットがメモリアレイ103から読み出され、１４４：３６のパラレル-シリアル変換が行われる。詳細は後述するが、バースト長制御信号（読み出し）RDBL4Tにより、バースト長が４のときには２サイクルかけて１４４ビット分全てがメモリ回路から読み出されるのに対し、バースト長が２のときには７２ビット分のみがメモリ回路から読み出される。
【００１６】
なお、以上本発明に特に関係のある部分を中心に説明したが、以下他の回路ブロックについても簡単に説明する。アドレスレジスタ112はアクセスするメモリアドレスを格納する。メモリアドレスはバンクアドレスBAとシンクロナスアドレスSAとからなる。クロック発生回路105は、例えばＰＬＬで構成され、この構成例では、基本クロック(K, /K)と出力クロック(C, /C)の２系統を有している。また、エコークロック(CQ, /CQ)として同期型メモリ回路の外部に供給される（図６参照）。インピーダンス制御回路113により、クロック(CQ, /CQ)ドライバ、読み出し系データバスへのドライバに対してインピーダンス制御が行われる。
【００１７】
図２（ａ），（ｂ）はそれぞれ、バースト長制御信号（読み出し／書き込み）RDBL4T/WRBL4Tを生成するバースト長制御回路（読み出し／書き込み）の構成例である。バースト長制御回路は、制御回路104に含まれる。また図３に、図２に示したバースト長制御信号（読み出し／書き込み）のタイミングチャートを示している。
【００１８】
まず、バースト長制御回路（読み出し）の動作について説明する。図３では、読み出し命令信号／Ｒが第１サイクルでHigh、第２〜第４サイクルでLow、第５サイクル以降が再度Highに戻っているような波形である場合のバースト長制御信号（読み出し）RDBL4Tの波形を示している。図２（ａ）の回路動作に基づき、バースト長制御信号（読み出し）RDBL4Tの波形は、第１〜第４サイクルでLow、第５サイクルでHigh、第６サイクル以降再度Lowが出力される。この場合、第１サイクルでは読み出し命令信号／ＲがHighであり、読み出し動作は実行されずNOP(No Operation)となっている。第２サイクルで読み出し命令信号／ＲがLowになって読み出し動作が実行される。第２サイクルではバースト長制御信号（読み出し）RDBL4TはLowであり、バースト長２の読み出し動作が行われる。読み出し命令信号／Ｒが連続してLowの間（第２〜第４サイクル）はバースト長２の読み出し動作が続き、読み出し命令信号／ＲがHighになると（第５サイクル）、バースト長制御信号（読み出し）RDBL4TがHighになり、バースト長４の読み出し動作が行われる。読み出し命令信号／ＲがHighということで新規のアドレスに対して読み出し動作は行われないが、バースト長が４になることで一つ前のアドレスに対する読み出しデータのうち出力されていなかったデータが出力され、データバスを埋めることができる。
【００１９】
図４を用いてバースト長制御回路（読み出し）の動作をさらに説明する。出力レジスタ108は、図１の構成では１４４ビットの容量を有し、これが３６ビットずつの４領域に分かれている。バースト長２の読み出しの場合はセレクタ109において２つの領域が選択され、読み出し系データバスに出力される。より詳細に図３の第３〜第５サイクルにおける読み出しデータについて説明する。第３サイクルでは、読み出し命令信号／Ｒ(Low)を受けて、アドレス信号(BA,SA)にしたがって、Ａ３〜Ｄ３（Ａ３〜Ｄ３はそれぞれ３６ビットの読み出しデータ）がメモリアレイから出力レジスタ108に読み出される。セレクタ109では、バースト長制御信号（読み出し）RDBL4TがLowであるため、そのうちの２領域の読み出しデータ（例えば、Ａ３，Ｂ３）の７２ビット分のデータをデータバスに読み出す（バースト長２の読み出し）。第４サイクルでは、読み出し命令信号／Ｒ(Low)を受けて、アドレス信号(BA,SA)にしたがって、Ａ４〜Ｄ４（Ａ４〜Ｄ４はそれぞれ３６ビットの読み出しデータ）が新たにメモリアレイから出力レジスタ108に読み出される。セレクタ109では、バースト長制御信号（読み出し）RDBL4TがLowであるため、そのうちの２領域の読み出しデータ（例えば、Ａ４，Ｂ４）の７２ビット分のデータをデータバスに読み出す。さらに、第５サイクルでは、読み出し命令信号／Ｒ(High)を受けて、新たなメモリアレイからの読み出しは行われず、一方、セレクタ109では、バースト長制御信号（読み出し）RDBL4TがHighであるため、残る２領域の読み出しデータ（上記の例では、Ｃ４，Ｄ４）の７２ビット分のデータをデータバスに読み出す。これによりバースト長４の読み出しが実現される。
【００２０】
次に、バースト長制御回路（書き込み）の動作について説明する。図３では、書き込み命令信号／Ｗが第１サイクルでHigh、第２〜第４サイクルでLow、第５サイクル以降が再度Highに戻っているような波形である場合のバースト長制御信号（書き込み）WRBL4Tの波形を示している。図２（ｂ）の回路動作に基づき、バースト長制御信号（書き込み）WRBL4Tの波形は、第１〜第２サイクルでHigh、第３〜第４サイクルでLow、第５サイクル以降再度Highが出力される。この場合、第１サイクルでは書き込み命令信号／ＷがHighであり、書き込み動作は実行されずNOP(No Operation)となっている。このとき、いつ書き込み命令がきても書き込み動作が開始できるように、毎サイクル書き込みデータをラッチしている。第２サイクルで書き込み命令信号／ＷがLowになると書き込み動作が実行される。このとき、バースト長制御信号（書き込み）WRBL4TはHighであり、バースト長４の書き込み動作が行われる。さらに、書き込み命令信号／Ｗが連続して２サイクル以上Lowになるとバースト長制御信号（書き込み）WRBL4TはLowになり（第３及び第４サイクル）、バースト長２の書き込み動作が行われる。
【００２１】
図５を用いてバースト長制御回路（書き込み）の動作をさらに説明する。入力レジスタ110は、図１の構成では１４４ビットの容量を有し、これが３６ビットずつの４領域に分かれている。より詳細に図３の第１〜第３サイクルにおける書き込みデータについて説明する。第１サイクルでは、書き込み命令信号／Ｗ(High)であるが、書き込みデータａ１，ｂ１（ａ１，ｂ１はそれぞれ３６ビットの書き込みデータ）をラッチしている。第２サイクルでは、書き込み命令信号／Ｗ(Low)となり、バースト長制御信号（書き込み）WRBL4TがHighであるため、書き込みデータｃ１，ｄ１（ｃ１，ｄ１はそれぞれ３６ビットの書き込みデータ）がラッチされ、書き込みデータａ１〜ｄ１の１４４ビットがライトバッファ111に転送され、指定されたアドレス（BA,SA）に書き込まれる（バースト長４の書き込み）。第３サイクルでは書き込み命令信号／Ｗ(Low)であり、バースト長制御信号（書き込み）WRBL4TがLowであるため、書き込みデータａ２，ｂ２がラッチされ、ラッチされた書き込みデータａ２，ｂ２の７２ビットがライトバッファ111に転送され、指定されたアドレス（BA,SA）に書き込まれる（バースト長２の書き込み）。バースト長制御信号（書き込み）WRBL4Tがライトバッファ111に入力されることにより、活性化される範囲を７２ビット分とするか、１４４ビット分とするか切り替えている。
【００２２】
なお、本実施例ではバースト長は２と４での切り替えを行っているため、ＮＯＰが２サイクル以上続くとデータバスの空きが生じるのに対し、バースト長を例えば８などに長くすることによって、読み出しＮＯＰが連続した時でもデータバス効率を上げることができる利点がある。しかしながら、バースト長が長いと、データが入力、出力されている間は新しいアドレスに対する読み出し、書き込み動作ができないので、システムとしての性能を逆に落とす可能性もある。切り替えするバースト長の長さは、本発明の同期型メモリ回路が使用されるシステム性能向上に有利なように定めればよい。
【００２３】
図６に読み出し／書き込みを同時に行っているときの図１に示した同期型メモリ回路のタイミングチャートの例を示す。この期間、データレート指示信号／ＦはLowであり、ＤＤＲで動作している場合のタイミングチャートを示している。サイクル＃０で読み出し命令信号／ＲがLowになることにより、バンクアドレス＃Ｂ０のアドレス＃Ａ０に対する読み出し命令が与えられている。この読み出し命令に対する読み出しデータは、サイクル＃５の後半からＤＤＲで２ビット（Ｑ０ａ、Ｑ０ｂ）である。サイクル＃１でも読み出し命令信号／ＲがLowで読み出し命令が与えられているので、サイクル＃０の読み出し命令に対する読み出しデータはバースト長２で上記２ビット（Ｑ０ａ、Ｑ０ｂ）のみとなる。サイクル＃２ではバンクアドレス＃Ｂ４のアドレス＃Ａ４に対し読み出し命令が与えられているが、次のサイクル＃３では読み出し命令が与えられていないためバースト長は４となり、サイクル＃７の後半からＤＤＲで４ビット（Ｑ４ａ、Ｑ４ｂ、Ｑ４ｃ、Ｑ４ｄ）が読み出される。
【００２４】
また、サイクル＃０では書き込み命令信号／ＷもLowになっており、サイクル＃０の後半で与えられているバンクアドレス＃Ｂ１のアドレス＃Ａ１に対し書き込み命令が与えられている。直前のサイクル＃（−１）は書き込み命令信号／ＷがHighであるのでバースト長４の書き込み動作となり、サイクル＃（−１）からＤＤＲで４ビット（Ｄ１ａ、Ｄ１ｂ、Ｄ１ｃ、Ｄ１ｄ）のデータが書き込まれる。次のサイクル＃１も書き込み命令信号／ＷはLowであるためバースト長は２となり、サイクル＃１からＤＤＲで２ビット（Ｄ３ａ、Ｄ３ｂ）のデータが書き込まれる。
【００２５】
図７には本発明を実施したメモリマクロをＬＳＩ内に実装した例を示す。また、図８には本発明を実施した集積回路装置をボード上に実装した例を示す。図７の例では、コントロール回路と図１の構成に相当するメモリマクロとが一チップ上に集積され、図８の例では、図７のコントロール回路が一チップのコントローラLSIに集積され、図１の構成に相当するメモリLSIが一チップに集積され、これら複数のチップがボード上に実装されている。いずれの場合もコントロール回路からメモリマクロへの制御信号（図７）あるいはコントローラLSIからメモリLSIへの制御信号（図８）は図に示されるような基本的な読み出しあるいは書き込み動作に必要な制御信号であり、バースト長を指示するための信号は有していない。
【図面の簡単な説明】
【００２６】
【図１】同期型メモリ回路の回路ブロック図である。
【図２】バースト長制御回路（読み出し／書き込み）の構成例である。
【図３】図２のバースト長制御回路（読み出し／書き込み）のタイミングチャートである。
【図４】読み出し動作をより詳細に説明するための図である。
【図５】書き込み動作をより詳細に説明するための図である。
【図６】図１の同期型メモリ回路のタイミングチャートである。
【図７】本発明を実施したメモリマクロをＬＳＩに実装した例である。
【図８】本発明を実施した集積回路装置（メモリLSI）をボードに実装した例である。
【符号の説明】
【００２７】
ＢＡ…バンクアドレス、ＳＡ…シンクロナスアドレス、／Ｒ…読み出し命令信号(ネガ極性)、／Ｗ…書き込み命令信号(ネガ極性)、／Ｆ…データレート指示信号、／ＢＷ…バイトライト命令信号(ネガ極性)、Ｋ…基本クロック(ポジ極性) 、／Ｋ…基本クロック(ネガ極性) 、Ｃ…出力用クロック(ポジ極性) 、／Ｃ…出力用クロック(ネガ極性) 、Ｑ…読み出しデータ信号、Ｄ…書き込みデータ信号、ＣＱ…エコークロック信号(ポジ極性) 、／ＣＱ…エコークロック信号(ネガ極性)。
【図１】
2008112485.tif 000003
【図２】
2008112485.tif 000004
【図３】
2008112485.tif 000005
【図４】
2008112485.tif 000006
【図５】
2008112485.tif 000007
【図６】
2008112485.tif 000008
【図７】
2008112485.tif 000009
【図８】
2008112485.tif 000010