(57)【要約】【課題】過去に行ったメモリアクセス要求を元に、コマンド発行を遅らせることなく、アービタ回路の優先度に影響を与えずに、コマンド発行順序の並び替えを行う。【解決手段】コマンドキューが少なくとも３以上のメモリアクセス要求を蓄えられるように構成され、メモリ制御部は、コマンドキューに蓄えられている全てのメモリアクセス要求に基づいてメモリコマンドを決定する。メモリ制御装置は、メモリ制御部の前段に複数の回路からのコマンド要求を優先度に応じて調停を行うアービタ回路と、複数のコマンドキューを保持するコマンド履歴バッファと、コマンド履歴バッファに保持された過去のコマンド発行履歴と新たに要求された２つ以上のコマンドに基づいて、発行するコマンドの順序の変更を行うように制御する順序判定部とを備える。【選択図】図１
2014154119.tif 000002
【特許請求の範囲】
【請求項１】
外部からのメモリアクセス要求を蓄えることができるコマンドキューと、
前記コマンドキューに蓄えられた前記メモリアクセス要求によりコマンド制御ステートマシンが動作してメモリに対してメモリコマンドを発行するメモリ制御部とを備え、
アドレス空間が複数のバンクに分割されている前記メモリにアクセスするメモリ制御装置であって、
前記コマンドキューが少なくとも３以上のメモリアクセス要求を蓄えられるように構成され、前記メモリ制御部は、前記コマンドキューに蓄えられている全てのメモリアクセス要求に基づいて前記メモリコマンドを決定し、
前記メモリ制御装置は、
前記メモリ制御部の前段に複数の回路からのコマンド要求を優先度に応じて調停を行うアービタ回路と、
複数のコマンドキューを保持するコマンド履歴バッファと、
前記コマンド履歴バッファに保持された過去のコマンド発行履歴と新たに要求された２つ以上のコマンドに基づいて、発行するコマンドの順序の変更を行うように制御する順序判定部とを備えたことを特徴とするメモリ制御装置。
【請求項２】
前記順序判定部は、前記コマンド履歴バッファにアドレス情報のすべてではなく一部を保持するように制御することを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記アービタ回路と前記メモリ制御部とが別々のクロックで動作するように構成されたことを特徴とする請求項１又は２記載のメモリ制御装置。
【請求項４】
請求項１から３までのうちのいずれか１つに記載のメモリ制御装置を備えたことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローアドレスとカラムアドレスを異なるタイミングで出力してアクセスする同期式のメモリを制御するメモリ制御装置、及び当該メモリ制御装置を備えた半導体記憶装置に関する。
【背景技術】
【０００２】
大容量メモリとして使用されるＤＲＡＭ（Dynamic Random Access Memory）には、ＤＤＲ１−ＳＤＲＡＭやＤＤＲ２−ＳＤＲＡＭまたはＤＤＲ３−ＳＤＲＡＭのようなＤＤＲ（ダブルデータレート）方式の同期式ＤＲＡＭ（ＳＤＲＡＭ）が主流である。将来的にはＤＤＲ４−ＳＤＲＡＭの規格も策定されつつあり、メモリの動作速度および容量は世代が交代する毎に速く、大きくなっていく。現在最も高速な動作をするＤＤＲ３−ＳＤＲＡＭにはデータレートが８００ＭＨｚから１．６ＧＨｚを超える仕様がＪＥＤＥＣ（Joint Electron Device Engineering Council）により規格化されている。
【０００３】
これらのメモリは、ローアドレスを一度選択（ＤＤＲ方式メモリにおいてはバンクアクティブコマンドに相当、一般的にページオープンとも呼ばれている）すれば、その後カラムアドレスを選択して実際のリードまたはライトを実施する場合、カラムアドレスの変更だけなら連続して行うことができ、このことにより動作効率が上がる。しかし、ローアドレスを異なるアドレスに選択し直す場合は、再選択するためのコマンドを発行する時間や、再選択に必要な待ち時間が生じ、効率が下がってしまう。
【０００４】
ここで、上述したＤＤＲ２−ＳＤＲＡＭなどの同期式ＤＲＡＭを対象としたメモリ制御装置において、メモリのリードまたはライトを行うために必要なことを三つのケースに分けて説明する。
【０００５】
第一のケース、該当するバンクのページ（ローアドレス）がオープンされていない場合：まず該当ページのオープンが必要である。そのためには、オープンするバンクアドレスとローアドレスの指定を含むバンクアクティブコマンドを発行する。その次にメモリに対し実際のリードまたはライトをするため、カラムアドレスの指定を含むリードコマンドまたはライトコマンドを発行する必要がある。その後、必要ならページをクローズさせるためにプリチャージコマンドを発行しても良い。
【０００６】
第二のケース、該当するバンクのページが既にオープンされており、同じページ（同じローアドレスが指定されている）の場合：バンクアクティブコマンドを発行する必要はなく、メモリに対し実際のリードまたはライトをするためのカラムアドレスの指定を含むリードコマンドまたはライトコマンドを発行する。その後、必要ならページをクローズさせるためにプリチャージコマンドを発行しても良い。
【０００７】
第三のケース、該当するバンクのページが既にオープンされており、異なるページ（異なるローアドレスが指定されている）の場合：まず、オープンされているページのクローズが必要である。そのために、プリチャージコマンドを発行する。その後、異なるページをオープンするために、バンクアドレスとローアドレスの指定を含むバンクアクティブコマンドを発行する。バンクアクティブコマンドを発行した後の動作は、第一のケースと同様である。
【０００８】
なお、リードコマンドまたはライトコマンドを発行後、ページを必ずクローズする場合は、プリチャージ付きリードコマンドまたはプリチャージ付きライトコマンドを、リードコマンドまたはライトコマンドの代わりに発行すれば、別途プリチャージコマンドを発行する必要は無い。
【０００９】
このような動作をするメモリ制御装置は、一般的に以下の二種類のアクセス方法のどちらかが選択されている。またはどちらかを最初に選択することで動作させている。
（Ａ）異なるページをアクセスするまでページをオープンし続ける方式。同じページを連続してアクセスすれば効率が上がるように構成されている（以下、オープンバンク方式という。例えば特許文献１、２を参照）。
（Ｂ）毎回ページをオープンしクローズする方式。異なるバンクを連続してアクセスすれば効率が上がるように構成されている（以下、インターリーブ方式という。例えば特許文献３、４を参照）。
【００１０】
オープンバンク方式は同じバンクの異なるページのアクセスが連続する場合に効率を落とすことになり、インターリーブ方式は同じバンクのアクセスが連続すると効率を落とすことになるという問題があった。また、オープンバンク方式はメモリが例えば、ＤＤＲ３−ＳＤＲＡＭの場合、リフレッシュサイクルを実施する際に、オープンしているバンクを一旦クローズするためにプリチャージコマンドを発行した後、しかるべき時間を待ってからリフレッシュコマンドを発行しなければならないため、インターリーブ方式に比べリフレッシュ期間ごとに非効率になるサイクルが生じることになるという問題があった。
【００１１】
上記の問題点を解決するため、ローアドレスとカラムアドレスを異なるタイミングで出力してアクセスする同期式のメモリにアクセスする際に効率良くアクセスすることができるメモリ制御装置が例えば特許文献５において開示されている。当該メモリ制御装置では、外部からのメモリアクセス要求を蓄えることができるコマンドキューと、前記コマンドキューに蓄えられた前記メモリアクセス要求によりコマンド制御ステートマシンが動作してメモリに対してメモリコマンドを発行するメモリ制御部と、を備え、アドレス空間が複数のバンクに分割されている前記メモリにアクセスするメモリ制御装置において、前記コマンドキューが少なくとも３以上のメモリアクセス要求を蓄えられるように構成され、前記メモリ制御部が、前記コマンドキューに蓄えられている全てのメモリアクセス要求に基づいて前記メモリコマンドを決定するように構成されている。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来技術に係るメモリ制御装置においては、メモリコントローラ内のコマンドキューに蓄えられている全てのメモリアクセス要求に基づいてメモリコマンドを判定する機能をもっているが、コマンドそのものの順序を入れ換えることはできない。ここで、ローアドレスを異なるアドレスに選択し直す場合は、プリチャージ期間によりバンクの再選択するためのコマンドを発行する時間や、再選択に必要な待ち時間が生じてコマンドの発行待ちが発生して効率が下がってしまうという問題点があった。
【００１３】
本発明の目的は以上の問題点を解決し、過去に行ったメモリアクセス要求を元に、コマンド発行を遅らせることなく、アービタ回路の優先度に影響を与えずに、コマンド発行順序の並び替えを行うことができるメモリ制御装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の一態様に係るメモリ制御装置は、
外部からのメモリアクセス要求を蓄えることができるコマンドキューと、
前記コマンドキューに蓄えられた前記メモリアクセス要求によりコマンド制御ステートマシンが動作してメモリに対してメモリコマンドを発行するメモリ制御部とを備え、
アドレス空間が複数のバンクに分割されている前記メモリにアクセスするメモリ制御装置であって、
前記コマンドキューが少なくとも３以上のメモリアクセス要求を蓄えられるように構成され、前記メモリ制御部は、前記コマンドキューに蓄えられている全てのメモリアクセス要求に基づいて前記メモリコマンドを決定し、
前記メモリ制御装置は、前記メモリ制御部の前段に複数の回路からのコマンド要求を優先度に応じて調停を行うアービタ回路を備え、
前記メモリ制御部は、複数のコマンドキューを保持するコマンド履歴バッファを備え、過去のコマンド発行履歴と新たに要求された２つ以上のコマンドに基づいて、発行するコマンドの順序の変更を行うように制御することを特徴とする。
【発明の効果】
【００１５】
従って、本発明に係るメモリ制御装置によれば、過去に行ったメモリアクセス要求を元に、コマンド発行を遅らせることなく、アービタ回路の優先度に影響を与えずに、特定のバンクでプリチャージ動作中である場合に先に処理が可能なコマンドを判断してコマンド発行順序の並び替えを行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るメモリ制御装置１００の構成を示すブロック図である。
【図２】図１のコマンド履歴バッファ及び出力回路３及びコマンド受付回路４の詳細構成を示ブロック図である。
【図３】従来例に係るメモリ制御装置においてコマンドを入れ換える回路を有しない場合のコマンド履歴バッファ及び出力回路の動作を示すタイミングチャートである。
【図４】図２のコマンド履歴バッファ及び出力回路３の動作を示すタイミングチャートである。
【図５】図２のコマンド履歴バッファ及び出力回路３の変形例に係る動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００１８】
図１は本発明の一実施形態に係るメモリ制御装置１００の構成を示すブロック図である。また、図２は図１のコマンド履歴バッファ及び出力回路３及びコマンド受付回路４の詳細構成を示ブロック図である。
【００１９】
図１において、本実施形態に係るメモリ制御装置１００は、例えば３個以上の複数Ｎ個のコマンド発行元回路５−１〜５−Ｎとメモリ２との間に設けられ、アービタ回路４Ａにてなるコマンド受付回路４と、コマンド履歴バッファ及び出力回路３と、メモリコマンド制御ステートマシンにてなるメモリコントローラ１とを備えて構成される。ここで、メモリコントローラ１は、コマンドキューと、メモリ制御部とを備え、メモリ２と接続される。メモリコントローラ１の内部回路のコマンドキューは、ｎ個の待機コマンドバッファ＃１〜＃ｎ（ｎは３以上の整数）から構成されたキューであり、各待機コマンドバッファには、メモリコントローラ１の外部回路から少なくともメモリ２へアクセスするバンクとローアドレスがそれぞれ記憶される。コマンドキューは、コマンドバッファ＃１が先のエントリー順で、＃２，＃３と＃ｎに向かってエントリー順が後ろになるように蓄えられる。メモリ制御部は、発行コマンド判定部と、要求受付制御部と、メモリコマンド制御ステートマシンとを備える。
【００２０】
メモリ２は、例えばＤＤＲ−ＳＤＲＡＭといった同期式ＤＲＡＭであって、ローアドレスをバンクアクティブコマンド、カラムアドレスをリードコマンド、ライトコマンド、プリチャージ付きリードコマンド、プリチャージ付きライトコマンドに含めて異なるタイミングで出力してアクセスする。コマンド受付回路４は、コマンドを発行するもととなる複数Ｎ個のコマンド発行元回路５−１〜５−Ｎからのコマンドを受け取り、システムの設定された優先度をもとにコマンドを出力する。コマンド履歴バッファ及び出力回路３は、過去に発行されたコマンドをエントリー順に一定数を蓄えられるコマンド履歴バッファ１２（図２）を有する。コマンド履歴バッファ及び出力回路３は、コマンド履歴バッファの内容に基づいて、複数のコマンド要求が入った際に、プリチャージを必要とするバンクの切り替えが必要なコマンドより先にアクセス可能な別のコマンドを先に発行する。
【００２１】
図２において、コマンド履歴バッファ及び出力回路３は、発行コマンド順序判定部１１と、コマンド履歴バッファ１２と、コマンド出力回路１３とを備えて構成される。
【００２２】
図２において、複数Ｎ個のコマンド発行元回路５−１〜５−Ｎから同時にコマンドが発行された場合、コマンド受付回路４でアービタの優先度を元にコマンドを後段のコマンド履歴バッファ及び出力回路３内のコマンド出力回路１３に渡す。発行コマンド順序判定部１１は、過去に発行したコマンド情報を元に順番を入れ換えてもメモリへのアクセスが遅くならず、先にメモリアクセス可能なコマンドについては順番を入れ換える指示をコマンド出力回路１３に出力する。コマンド出力回路１３でその判定結果の順序でコマンドを順に出力する。もしくは、発行コマンド順序判定部１１の判定結果を元にコマンド出力回路１３で順番を入れ換えて出力するのではなく、判定したらその順序でコマンド出力回路１３へコマンドを発行する。
【００２３】
以下、図３において、コマンドを入れ換える回路が無い場合、図４にて今回の実施例による回路の場合のコマンドの発行順の例を示します。すなわち、図３は従来例に係るメモリ制御装置においてコマンドを入れ換える回路を有しない場合のコマンド履歴バッファ及び出力回路の動作を示すタイミングチャートである。また、図５は図２のコマンド履歴バッファ及び出力回路３の変形例に係る動作を示すタイミングチャートである。
【００２４】
図３において、Ｂａｎｋ＝Ｂ０のプリチャージ期間中に＃９のＢ０へのコマンドが発生し、さらに同時に＃１０，１１のＢ３，Ｂ２のコマンドが発生していることを示しています。この場合、Ｂ０のプリチャージ期間完了を待ってから、システムの優先度によってそのままＢ０，Ｂ３，Ｂ２のコマンド発行が行われます。
【００２５】
図４において、同一の条件の時にＢ０へのコマンドが発生しているが、プリチャージ期間であるため、発行コマンド順序判定部１１はＢ３，Ｂ２のコマンドを先に発行し、その後に図３のＢ０発行時間に対して図４のＢ０は遅くなることなくプリチャージ完了後Ｂ０のコマンドを発行する。
【００２６】
図５は図２のコマンド履歴バッファ及び出力回路３の変形例に係る動作を示すタイミングチャートである。図５では、４個のメモリバンクを有し、４個のメモリバンクとも開いた状態で別のメモリバンクにアクセスが必要な際にメモリバンクを閉じてアクセスしたいメモリバンクに切り替えるまでの時間に、既にメモリバンクがあいているコマンド発行Ｂ３があり、Ｂ４のコマンド発行時間に影響が出ない場合Ｂ３を先にコマンド発行することを示す。
【００２７】
以上のように構成された本実施形態によれば、複数のコマンドキューを保持するコマンド履歴バッファ１２と、コマンド履歴バッファ１２に保持された過去のコマンド発行履歴と新たに要求された２つ以上のコマンドに基づいて、発行するコマンドの順序の変更を行うように制御する順序判定部１１とを備える。これにより、過去に行ったメモリアクセス要求を元に、コマンド発行を遅らせることなく、アービタ回路４Ａの優先度に影響を与えずに、コマンド発行順序の並び替えを行うことができる。これにより、過去のメモリアクセス履歴を保持し利用することにより全体のパフォーマンスを落とさずに効率よいコマンドを発行することができる。
【００２８】
また、コマンド履歴バッファ１２に保持するアドレス情報を全ビット保持するのではなく、バンク及びローアドレスの判定に必要なビットのみを保持するように制御する。これにより、全てのアドレス情報ではなく一部のアドレスに絞ることにより、コマンド履歴バッファに保持するために必要なバッファの量を削減することができる。
【００２９】
さらに、メモリコントローラ１は、高速なクロックによる動作を必要とするが、クロックコマンド履歴バッファ及び出力回路３とコマンド受付回路４、複数あるコマンド発行元回路５−１〜５−Ｎはそれぞれの回路からコマンド要求が発行されるのでメモリコントローラ１と同じ高速クロックでなく、低速の別のクロックを使用する構成としてもよい。例えばメモリコントローラがある一定の期間に１つのコマンドを処理できるとする場合、複数あるコマンド発行元回路５−１〜５−Ｎからその期間内に２つのコマンドが発行されるとき、メモリコントローラ１側の２分の１の周波数でも性能を落とすことなく動作が可能になる。すなわち、メモリコントローラ１とは異なる低速のクロックでコマンド履歴バッファ１２やコマンド受付回路４及びコマンド発行元回路５−１〜５−Ｎを動作させることが可能なため、回路全体をレイアウトする際にタイミングの調整がしやすくなる。
【符号の説明】
【００３０】
１…メモリコントローラ、
２…メモリ、
３…コマンド履歴バッファ及び出力回路、
４…コマンド受付回路、
４Ａ…アービタ回路、
５−１〜５−Ｎ…コマンド発行元回路、
１１…発行コマンド順序判定部、
１２…コマンド履歴バッファ、
１３…コマンド出力回路、
１００…メモリ制御装置。
【先行技術文献】
【特許文献】
【００３１】
【特許文献１】特開２００４−３１０３９４号公報
【特許文献２】特表２００２−５３０７４３号公報
【特許文献３】特開２００６−１６４０９９号公報
【特許文献４】特開２００７−２４９８３７号公報
【特許文献５】特開２０１１−０６０１６２号公報
【図１】
2014154119.tif 000003
【図２】
2014154119.tif 000004
【図３】
2014154119.tif 000005
【図４】
2014154119.tif 000006
【図５】
2014154119.tif 000007