(57)【要約】【課題】メモリ制御装置における回路規模を抑制しつつ、データの転送効率を改善する。【解決手段】バンク状態情報生成部３１０は、選択部３９０から出力されたアクセス要求に基づいて、メモリシステム５００においてビジー状態にあるバンクのバンクアドレスおよびロウアドレスを示すバンク状態情報を生成する。リクエストマスク判定部３６０は、バスクライアント１１０乃至１４０からのリクエスト情報と、バンク状態情報とが同一のバンクアドレスを示し、かつ、互いに異なるロウアドレスを示す場合にはマスク信号を生成する。この場合においても、リクエストマスク判定部３６０は、待機時間計測部３５０からのリクエスト情報の待機時間が一定の閾値を超えた場合にはマスク信号を解除する。リクエストマスク処理部３７０は、リクエスト情報を選択部３９０に出力することをマスク信号に基づいて抑制する。【選択図】図７
2010218323.tif 000002
【特許請求の範囲】
【請求項１】
所定のクライアントからメモリにアクセスするために発行されたリクエスト情報を受け付けて前記受け付けられたリクエスト情報をアクセス要求として出力するアクセス要求出力部と、
前記メモリに含まれる複数のバンクのうちビジー状態にあるバンクのバンクアドレスおよびロウアドレスが示されたバンク状態情報を前記アクセス要求に基づいて生成するバンク状態情報生成部と、
前記メモリのバンクアドレスおよびロウアドレスが含まれるリクエスト情報を前記所定のクライアントから受け付けたタイミングに基づいて時間の計測を開始する時間計測部と、
前記バンク状態情報と前記リクエスト情報とが同一のバンクアドレスを示し、かつ、互いに異なるロウアドレスを示す場合には前記リクエスト情報を前記アクセス要求として前記アクセス要求出力部から出力させることを抑制するための待機信号を生成する待機信号生成部と、
前記時間計測部により計測された時間に基づいて前記待機信号を解除するための解除信号を生成する解除信号生成部と
を具備するメモリ制御装置。
【請求項２】
前記時間計測部により計測された時間に基づいて前記アクセス要求部から出力される順序の優先度を決定する優先度決定部をさらに具備し、
前記アクセス要求出力部は、前記優先度決定部により決定された優先度に基づいて前記アクセス要求を出力する
請求項１記載のメモリ制御装置。
【請求項３】
前記アクセス要求に示される書込み要求または読出し要求のうちいずれかの転送方向を保持する転送方向保持部と、
前記リクエスト情報の転送方向と前記転送方向保持部に保持された転送方向とが同一である場合には前記リクエスト情報の転送方向と前記転送方向保持部に保持された転送方向とが互いに異なるときに比べて前記アクセス要求部から出力される順序の優先度を高く設定する優先度設定部とをさらに具備し、
前記アクセス要求出力部は、前記優先度決定部により設定された優先度に基づいて前記アクセス要求を出力する
請求項１記載のメモリ制御装置。
【請求項４】
前記クライアントを識別するための情報が含まれる前記アクセス要求が前記アクセス要求出力部から出力されるたびに当該アクセス要求として出力された前記リクエスト情報を発行した前記クライアントの順位を最下位に更新する更新部をさらに具備し、
前記アクセス要求出力部は、複数の前記リクエスト情報を受け付けた場合には前記更新
部により更新された順位に基づいて前記複数のリクエスト情報のうち１つのリクエスト情報を前記アクセス要求として出力する
請求項１記載のメモリ制御装置。
【請求項５】
所定のクライアントからメモリにアクセスするために発行されたリクエスト情報を受け付けて前記受け付けられたリクエスト情報をアクセス要求として出力するアクセス要求出力手順と、
前記メモリに含まれる複数のバンクのうちビジー状態にあるバンクのバンクアドレスおよびロウアドレスが示されたバンク状態情報を前記アクセス要求に基づいて生成するバンク状態情報生成手順と、
前記メモリのバンクアドレスおよびロウアドレスが含まれるリクエスト情報を所定のクライアントから受け付けたタイミングに基づいて時間の計測を開始する時間計測手順と、
前記バンク状態情報と前記リクエスト情報とが同一のバンクアドレスを示し、かつ、互いに異なるロウアドレスを示す場合には前記リクエスト情報を前記アクセス要求として前記アクセス要求出力部から出力させることを抑制するための待機信号を生成する待機信号生成手順と、
前記時間計測部により計測された時間に基づいて前記待機信号を解除するための解除信号を生成する解除信号生成手順と
を具備するメモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置に関し、特に複数のバンクにより構成されるメモリを制御するメモリ制御装置およびその処理方法に関する。
【背景技術】
【０００２】
近年、メモリシステムとして、価格、バス帯域および容量の点において有利である同期ＤＲＡＭ（ＳＤＲＡＭ：Synchronous Dynamic Random Access Memory）が広く用いられている。この同期ＤＲＡＭは、複数のバンクにより構成され、任意のアドレスにデータの書込み、および、読出しを行うことがきるメモリである。このような構成の同期ＤＲＡＭにおいては、同一バンクにおいて互いに異なるロウに連続してアクセスする場合には、データ転送の効率が著しく低下する。これに対して、データ転送の効率低下を抑制するための手法が数多く考案されている。例えば、クライアントからのコマンドを複数保持して、その保持されたコマンドに示されたコマンド情報であるバンクアドレス、ロウアドレスおよびデータ転送量に基づいて、コマンドの順序を入れ替える手法が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６０４７２号公報（図１Ａ）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術では、複数のコマンドを保持して、その保持された複数のコマンドの各々におけるコマンド情報を互いに比較することによって、同一バンクの異なるロウに対して連続してアクセスすることを低減することができる。しかしながら、この場合においては、複数のコマンドを保持するための保持部および複数のコマンドを互いに比較するための回路が必要となり、メモリ制御装置の回路規模が大きくなってしまう。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、メモリ制御装置における回路規模を抑制しつつ、データの転送効率を改善することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、所定のクライアントからメモリにアクセスするために発行されたリクエスト情報を受け付けて上記受け付けられたリクエスト情報をアクセス要求として出力するアクセス要求出力部と、上記メモリに含まれる複数のバンクのうちビジー状態にあるバンクのバンクアドレスおよびロウアドレスが示されたバンク状態情報を上記アクセス要求に基づいて生成するバンク状態情報生成部と、上記メモリのバンクアドレスおよびロウアドレスが含まれるリクエスト情報を上記所定のクライアントから受け付けたタイミングに基づいて時間の計測を開始する時間計測部と、上記バンク状態情報と上記リクエスト情報とが同一のバンクアドレスを示し、かつ、互いに異なるロウアドレスを示す場合には上記リクエスト情報を上記アクセス要求として上記アクセス要求出力部から出力させることを抑制するための待機信号を生成する待機信号生成部と、上記時間計測部により計測された時間に基づいて上記待機信号を解除するための解除信号を生成する解除信号生成部とを具備するメモリ制御装置およびその処理方法である。これにより、所定のクライアントからのリクエスト情報をアクセス要求としてアクセス要求出力部から出力させることをバンク状態情報に基づいて抑制するための待機信号を生成し、時間計測部により計測された時間が一定の時間を超過したときには、その待機信号を解除してリクエスト情報を強制的に出力させるという作用をもたらす。
【０００７】
また、この第１の側面において、上記時間計測部により計測された時間に基づいて上記アクセス要求部から出力される順序の優先度を決定する優先度決定部をさらに具備し、上記アクセス要求出力部は、上記優先度決定部により決定された優先度に基づいて上記アクセス要求を出力するようにしてもよい。これにより、所定のクライアントから受け付けた複数のリクエスト情報ごとに、時間計測部により計測された時間に基づいて決定されるそれぞれの優先度のうち最も高い優先度のリクエスト情報をアクセス要求として出力させるという作用をもたらす。
【０００８】
また、この第１の側面において、上記アクセス要求に示される書込み要求または読出し要求のうちいずれかの転送方向を保持する転送方向保持部と、上記リクエスト情報の転送方向と上記転送方向保持部に保持された転送方向とが同一である場合には上記リクエスト情報の転送方向と上記転送方向保持部に保持された転送方向とが互いに異なるときに比べて上記アクセス要求部から出力される順序の優先度を高く設定する優先度設定部とをさらに具備し、上記アクセス要求出力部は、上記優先度決定部により設定された優先度に基づいて上記アクセス要求を出力するようにしてもよい。これにより、最新のアクセス要求の転送方向と同一の転送方向を示すリクエスト情報を優先してアクセス要求出力部から出力させるという作用をもたらす。
【０００９】
また、この第１の側面において、上記クライアントを識別するための情報が含まれる上記アクセス要求が上記アクセス要求出力部から出力されるたびに当該アクセス要求として出力された上記リクエスト情報を発行した上記クライアントの順位を最下位に更新する更新部をさらに具備し、上記アクセス要求出力部は、複数の上記リクエスト情報を受け付けた場合には上記更新部により更新された順位に基づいて上記複数のリクエスト情報のうち１つのリクエスト情報を上記アクセス要求として出力するようにしてもよい。これにより、更新部により、アクセス要求が出力されるたびに、アクセス要求として出力されたリクエスト情報を発行したクライアントの順位が最下位に更新され、複数のリクエスト情報を受け付けた場合には、複数のリクエスト情報に示されるクライアントのうち、更新部により更新された順位の高いクライアントから発行されたリクエスト情報をアクセス要求としてアクセス要求出力部から出力させるという作用をもたらす。
【発明の効果】
【００１０】
本発明によれば、メモリ制御装置における回路規模を抑制しつつ、データの転送効率を改善させるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１１】
【図１】一般的な集積回路の基本構成例およびメモリシステムを示すブロック図である。
【図２】同期ＤＲＡＭにより実現されるメモリシステム５００の一構成例を示すブロック図である。
【図３】メモリシステム５００におけるバンク（Ｂａｎｋ０）５６０に対する読出し動作に関する一例を示すタイミングチャートである。
【図４】メモリコントローラ４００によるバンクインターリーブ手法の一例を示すタイミングチャートである。
【図５】同一バンクの互いに異なるロウアドレスを指定するリクエスト情報を連続して受け付けた場合におけるデータ転送の動作を例示するタイミングチャートである。
【図６】図５に示されたアクセス線３０９からのアクセス要求を受け付けた場合におけるメモリコントローラ４００とメモリシステム５００との間のデータ転送の一例を示すタイミングチャートである。
【図７】本発明の実施の形態におけるアービタ３００の一構成例を示すブロック図である。
【図８】本発明の実施の形態におけるリクエストマスク判定部３６０の一構成例を示すブロック図である。
【図９】本発明の実施の形態における優先度決定部３８０の一構成例を示すブロック図である。
【図１０】本発明の実施の形態のアービタ３００において同一バンクの異なるロウにアクセスを要求するリクエスト情報を連続して受け付けた場合におけるデータ転送の一例を示すタイミングチャートである。
【図１１】図１０に示されたアクセス線３０９からのアクセス要求を受け付けた場合におけるメモリコントローラ４００とメモリシステム５００との間のデータ転送の一例を示すタイミングチャートである。
【図１２】本発明の実施の形態におけるリクエストマスク判定部３６０のマスク信号生成方法における処理手順例を示すフローチャートである。
【図１３】本発明の実施の形態における優先度決定部３８０の優先度決定方法における処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．メモリシステムに関する基本構成（メモリシステム制御：メモリシステムの動作例）
２．本発明の実施の形態（リクエスト情報のマスク制御：アービタの構成例）
【００１３】
＜１．メモリシステムに関する基本構成＞
［集積回路の構成例］
図１は、一般的な集積回路の基本構成例およびメモリシステムを示すブロック図である。集積回路１００は、バスクライアント１１０乃至１４０と、メモリバスシステム２００と、メモリコントローラ４００とを備える。この集積回路１００を構成するメモリバスシステム２００は、アービタ３００と、ライトセレクタ２１０と、ライトデータバッファ２２０と、リードセレクタ２３０と、リードデータバッファ２４０とを備える。なお、メモリバスシステム２００は、特許請求の範囲に記載のメモリ制御装置の一例である。
【００１４】
バスクライアント１１０は、メモリシステム５００に対するデータの書込み、および、メモリシステム５００に記憶されたデータの読出しを行う中央演算処理装置（ＣＰＵ：Central Processing Unit）である。また、バスクライアント１２０乃至１４０は、メモリシステム５００に対するデータの書込み、または、メモリシステム５００に記憶されたデータの読出しを行う機能ブロックである。ここでは、データの書込み、または、読出しのことをアクセスという。この例では、バスクライアント１１０および１２０は、メモリバスシステム２００を介して、メモリシステム５００に対するデータの書込み、および、メモリシステム５００に記憶されたデータの読出しの両方を行う。一方、バスクライアント１３０は、メモリバスシステム２００を介して、メモリシステム５００に対するデータの書込みのみを行う。また、バスクライアント１４０は、メモリバスシステム２００を介して、メモリシステム５００に記憶されたデータの読出しのみを行う。
【００１５】
具体的には、このバスクライアント１１０乃至１４０は、それぞれのリクエスト線１１１乃至１４１を介して、メモリシステム５００に対してアクセスを行うためのリクエスト情報をメモリバスシステム２００に発行する。このリクエスト情報には、例えば、メモリシステム５００におけるアクセスすべき位置を示すアドレス、バスクライアントを識別するための識別情報、データ量および転送方向が含まれている。ここにいう転送方向とは、データを書き込むための書込み要求（ライト転送）、または、データを読み出すための読出し要求（リード転送）のいずれであるかを指し示すものである。また、このバスクライアント１１０乃至１４０は、アービタ３００から許可信号線１１９乃至１４９を介して供給される許可信号に従って、メモリシステム５００に対するデータの書込み、または、メモリシステム５００に記憶されたデータの読出しを行う。
【００１６】
このバスクライアント１１０乃至１３０は、例えば、書込み要求を示すリクエスト情報を発行して、アービタ３００から許可信号が出力された場合には、メモリシステム５００に書き込むべきデータをライトセレクタ２１０に供給する。一方、バスクライアント１１０、１２０および１４０は、読出し要求を示すリクエスト情報を発行して、アービタ３００から許可信号が出力された場合には、メモリシステム５００から読み出されたデータをリードセレクタ２３０から受け取る。なお、バスクライアント１１０乃至１４０は、特許請求の範囲に記載の所定のクライアントの一例である。
【００１７】
アービタ３００は、バスクライアント１１０乃至１４０から発行されたリクエスト情報のうち、１つのリクエスト情報を選択して、メモリコントローラ４００に出力する調停回路である。このアービタ３００は、その選択された１つのリクエスト情報を発行したバスクライアント１１０乃至１４０に対して、メモリシステム５００に対するアクセスを許可するために許可信号を出力する。また、アービタ３００は、アクセス線３０９を介して、選択されたリクエスト情報をアクセス要求としてメモリコントローラ４００に供給する。
【００１８】
また、このアービタ３００は、そのアクセスを許可したバスクライアント１１０乃至１４０とメモリコントローラ４００との間でデータ転送を行うことができるように、ライトセレクタ２１０またはリードセレクタ２３０を制御する。例えば、バスクライアント１１０から発行された書込み要求を示すリクエスト情報を選択した場合には、アービタ３００は、切替線３０８を介して、バスクライアント１１０とライトデータバッファ２２０との間を接続させるためにライトセレクタ２１０を切り替える。また、バスクライアント１２０から発行された読出し要求を示すリクエスト情報を選択した場合には、アービタ３００は、切替線３０７を介して、バスクライアント１１０とリードデータバッファ２４０との間を接続させるためにリードセレクタ２３０を切り替える。
【００１９】
ライトセレクタ２１０は、アービタ３００からの制御に従って、バスクライアント１１０乃至１４０のうちいずれか１つのバスクライアントとライトデータバッファ２２０との間を接続するセレクタである。
【００２０】
リードセレクタ２３０は、アービタ３００からの制御に従って、バスクライアント１１０乃至１４０のうちいずれか１つのバスクライアントとリードデータバッファ２４０との間を接続するセレクタである。
【００２１】
ライトデータバッファ２２０は、１つのリクエスト情報に対してライトセレクタ２１０から供給されるデータを一時的に保持するバッファである。このライトデータバッファ２２０は、１つのリクエスト情報に対するデータを一時的に保持して、その保持されたデータをメモリコントローラ４００に供給する。
【００２２】
リードデータバッファ２４０は、１つのリクエスト情報に対してメモリコントローラ４００から供給されるデータを一時的に保持するバッファである。このリードデータバッファ２４０は、１つのリクエスト情報に対するデータを一時的に保持して、その保持されたデータをリードセレクタ２３０に供給する。
【００２３】
メモリコントローラ４００は、アービタ３００から出力されたアクセス要求を受け付けて、コマンド線５０１を介して、メモリシステム５００にメモリコマンドを発行する。例えば、アービタ３００から受け付けたアクセス要求が書込み要求を示す場合には、メモリコントローラ４００は、コマンド線５０１を介して、データを書き込むための書込み（ライト）メモリコマンドをメモリシステム５００に発行する。また、メモリコントローラ４００は、データ線５０２を介して、ライトデータバッファ２２０に保持されたデータをメモリシステム５００に供給する。これに対し、アービタ３００からのアクセス要求が読出し要求を示す場合には、メモリコントローラ４００は、メモリシステム５００に対してデータを読み出すための読出し（リード）メモリコマンドを発行する。これにより、メモリコントローラ４００は、メモリシステム５００に記憶されているデータを、データ線５０２を介して、メモリシステム５００から受け取る。そして、メモリコントローラ４００は、そのメモリシステム５００から出力されたデータをリードデータバッファ２４０に供給する。
【００２４】
メモリシステム５００は、バスクライアント１１０乃至１４０からのデータを記憶するものである。このメモリシステム５００は、メモリコントローラ４００からのメモリコマンドに従って、データの書込み、および、読出しを行う。このメモリシステム５００は、例えば、メモリコントローラ４００から書込みメモリコマンドを受け付けた場合には、メモリコントローラ４００から供給されるデータを書き込む。一方、このメモリシステム５００は、メモリコントローラ４００から読出しメモリコマンドを受け付けた場合には、記憶しているデータをメモリコントローラ４００に出力する。また、このメモリシステム５００は、同期ＤＲＡＭにより実現される。ここで、同期ＤＲＡＭにより実現されるメモリシステム５００における基本動作について、以下に図面を参照して説明する。
【００２５】
［メモリシステムの構成例］
図２は、同期ＤＲＡＭにより実現されるメモリシステム５００の一構成例を示すブロック図である。メモリシステム５００は、コマンドデコーダ５１０と、アドレスバッファ５２０と、バンクセレクタ５３０乃至５５０と、バンク５６０乃至５８０とを備える。さらに、メモリシステム５００は、ロウセレクタ５６１、５７１および５８１と、センスアンプ５６２、５７２および５８２と、カラムセレクタ５６３、５７３および５８３とを備える。
【００２６】
メモリシステム５００は、Ｘ（Ｘは２以上の整数）個のバンク（Ｂａｎｋ０乃至Ｘ−１）５６０乃至５８０により構成される。このバンク（Ｂａｎｋ０乃至Ｘ−１）５６０乃至５８０は、デジタル信号であるデータを記憶するものである。このバンク５６０乃至５８０の各々は、Ｙ（Ｙは２以上の整数）個のロウ（Ｒｏｗ０乃至Ｙ−１）により構成される。例えば、バンク（Ｂａｎｋ０）５６０は、ロウ（Ｒｏｗ０乃至Ｙ−１）５６６乃至５６９により構成される。さらに、このロウ（Ｒｏｗ０乃至Ｙ−１）５６６乃至５６９の各々は、Ｚ（Ｚは２以上の整数）個のカラムにより構成される。すなわち、このバンク５６０乃至５８０の各々は、Ｙ×Ｚ個の２次元マトリックス状に配列された記憶素子により構成される。なお、バンクの個数（Ｘ）、ロウの個数（Ｙ）およびカラムの個数（Ｚ）は、同期ＤＲＡＭの種類によって異なる。
【００２７】
コマンドデコーダ５１０は、メモリコントローラ４００から発行されたメモリコマンドを復号することによって、アドレスデータを生成するものである。このアドレスデータには、バンク５６０乃至５８０にアクセスすべきバンクアドレス、ロウアドレスまたはカラムアドレスが含まれる。このバンクアドレスは、アクセスすべきバンク５６０乃至５８０の番号を示す。また、ロウアドレスは、バンク５６０乃至５８０のうち、バンクアドレスにより示されたバンクにおいて、アクセスすべきロウの番号を示す。さらに、カラムアドレスは、ロウアドレスに示されたロウにおいて、アクセスすべきカラムの番号を示す。また、このコマンドデコーダ５１０は、生成されたアドレスデータをアドレスバッファ５２０に保持させる。
【００２８】
アドレスバッファ５２０は、コマンドデコーダ５１０により生成されたアドレスデータを保持するものである。このアドレスバッファ５２０は、その保持されたアドレスデータのうち、バンクアドレスをバンクセレクタ５３０乃至５５０に出力する。また、アドレスバッファ５２０は、アドレスデータのうち、ロウアドレスをバンクセレクタ５３０に出力し、カラムアドレスをバンクセレクタ５４０に出力する。
【００２９】
バンクセレクタ５３０は、アドレスバッファ５２０から出力されたバンクアドレスに基づいて、ロウセレクタ５６１、５７１および５８１のうち１つのロウセレクタを選択するものである。そして、このバンクセレクタ５３０は、その選択されたロウセレクタに対して、アドレスバッファ５２０から出力されたロウアドレスを供給する。
【００３０】
バンクセレクタ５４０は、アドレスバッファ５２０から出力されたバンクアドレスに基づいて、カラムセレクタ５６３、５７３および５８３のうち１つのカラムセレクタを選択するものである。そして、このバンクセレクタ５４０は、その選択されたカラムセレクタに対して、アドレスバッファ５２０から出力されたロウアドレスを供給する。
【００３１】
ロウセレクタ５６１、５７１および５８１は、バンクセレクタ５３０から供給されたロウアドレスに基づいて、Ｙ個のロウ（Ｒｏｗ０乃至Ｙ−１）のうち１つのロウを選択するものである。このロウセレクタ５６１、５７１および５８１は、そのロウアドレスに対応するロウと、センスアンプ５６２、５７２および５８２との間を接続する。このロウセレクタ５６１、５７１および５８１は、例えば、メモリコントローラ４００から発行されたコマンドが書込みメモリコマンドである場合には、センスアンプ５６２、５７２および５８２に保持されたデータをロウアドレスに対応するロウに書き込む。一方、メモリコントローラ４００から発行されたコマンドが読出しメモリコマンドである場合には、ロウアドレスに対応するロウに記憶されたデータをセンスアンプ５６２、５７２および５８２に読み出す。ここでは、ロウセレクタ５６１は、ロウ５６８とセンスアンプ５６２との間のデータ転送を行う。
【００３２】
センスアンプ５６２、５７２および５８２は、バンク５６０乃至５８０におけるロウに書き込まれるデータ、または、ロウに記憶されているデータを一時的に保持するものである。このセンスアンプ５６２、５７２および５８２は、メモリコントローラ４００から書込みメモリコマンドが発行された場合には、ロウアドレスに対応するロウに書き込むために、保持しているデータをロウセレクタ５６１、５７１および５８１に出力する。また、このセンスアンプ５６２、５７２および５８２は、メモリコントローラ４００から読出しメモリコマンドが発行された場合には、保持しているデータをカラムセレクタ５６３、５７３および５８３に出力する。そして、センスアンプ５６２、５７２および５８２は、元のロウに書き戻すため、ロウセレクタ５６１、５７１および５８１に対して保持しているデータを出力する。
【００３３】
カラムセレクタ５６３、５７３および５８３は、バンクセレクタ５４０から供給されたカラムアドレスに基づいて、センスアンプ５６２、５７２および５８２と、バンクセレクタ５４０との間を接続するものである。このカラムセレクタ５６３、５７３および５８３は、そのカラムアドレスに基づいて、センスアンプ５６２、５７２および５８２に保持されたＺ個のカラムデータのうち１つのカラムデータを読み出す、または、書き換える。このカラムセレクタ５６３、５７３および５８３は、書込みメモリコマンドが発行された場合には、センスアンプ５６２、５７２および５８２に保持されたデータのうちカラムアドレスに対応するデータを、メモリコントローラ４００からのデータに書き換える。また、メモリコントローラ４００から読出しメモリコマンドが発行された場合には、カラムセレクタ５６３、５７３および５８３は、センスアンプ５６２、５７２および５８２に保持されたデータのうち、カラムアドレスに対応するデータを読み出す。そして、カラムセレクタ５６３、５７３および５８３は、バンクセレクタ５５０を介して、その読み出したデータをメモリコントローラ４００に供給する。この例では、カラムセレクタ５７３は、センスアンプ５７２における左から第２番目のカラムと、バンクセレクタ５５０との間を接続する。
【００３４】
バンクセレクタ５５０は、アドレスバッファ５２０から出力されたバンクアドレスに基づいて、カラムセレクタ５６３、５７３および５８３のうち１つのカラムセレクタと、メモリコントローラ４００との間を接続するセレクタである。このバンクセレクタ５５０は、メモリコントローラ４００から書込みメモリコマンドが発行された場合には、そのバンクアドレスに対応するカラムセレクタ５６３、５７３および５８３に対してメモリコントローラ４００から供給されたデータを転送する。一方、このバンクセレクタ５５０は、メモリコントローラ４００から読出しメモリコマンドが発行された場合には、そのバンクアドレスに対応するカラムセレクタ５６３、５７３および５８３から供給されたデータをメモリコントローラ４００に転送する。
【００３５】
このように、メモリシステム５００は、センスアンプ５６２、５７２および５８２を設けることによって、複数のバンク５６０乃至５８０に記憶されたデータの読出しと、複数のバンク５６０乃至５８０に対するデータの書込みとを行う。ここで、バンク（Ｂａｎｋ０）５６０に記憶されたデータを読み出す読出し動作について、以下に図面を参照して説明する。
【００３６】
［バンクに対する読出し動作の例］
図３は、メモリシステム５００におけるバンク（Ｂａｎｋ０）５６０に対する読出し動作についての一例を示すタイミングチャートである。ここでは、コマンド線５０１、バンク（Ｂａｎｋ０）５６０およびデータ線５０２について説明する。コマンド線５０１には、メモリコントローラ４００から発行されたメモリコマンドが示され、バンク（Ｂａｎｋ０）５６０には、バンク（Ｂａｎｋ０）５６０の動作が示されている。また、データ線５０２には、バンク（Ｂａｎｋ０）５６０からメモリコントローラ４００に読み出されるデータが示されている。この例では、連続して発行された２つのアクセス要求であってバンク（Ｂａｎｋ０）５６０における互いに異なるロウにアクセスするためのアクセス要求をメモリコントローラ４００が受け付けた場合を想定している。また、ここでは、左から右に時間が経過する。
【００３７】
このタイミングチャートでは、まず、コマンド線５０１を介して、バンク第０番（Ｂ０：Ｂａｎｋ０）、ロウ第０番（Ｒ０：Ｒｏｗ０）を指定するアクティブ（ＡＣＴ：ＡＣＴｉｖｅ）コマンドがメモリコントローラ４００から発行される（６１１）。これにより、バンク（Ｂａｎｋ０）５６０に対応するセンスアンプ５６２に対して、第０番のロウ（Ｒ０）に記憶されたデータが読み出される（６１４）。
【００３８】
この読出し動作（６１４）の途中において、コマンド線５０１を介して、バンク第０番（Ｂ０）、カラム第０番（Ｃ０：Ｃｏｌｕｍｎ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６１２）。これにより、読出し動作（６１４）が完了した後に、データ線５０２を介して、センスアンプ５６２に読み出された第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータがメモリコントローラ４００に転送される（６１０および６１５）。
【００３９】
次に、コマンド線５０１を介して、バンク第０番（Ｂ０）を指定するプリチャージ（ＰＲＥ：ＰＲＥｃｈａｒｇｅ）コマンドが発行される（６１３）。そして、データ転送（６１０および６１５）が完了した後に、バンク（Ｂａｎｋ０）５６０における元のロウ（Ｒ０）に対してセンスアンプ５６２に保持されたデータが書き戻される（６１６）。
【００４０】
この書戻し動作（６１６）の途中において、コマンド線５０１を介して、バンク第０番（Ｂ０）、ロウ第１番（Ｒ１）を指定するアクティブ（ＡＣＴ）コマンドが発行される（６５１）。このアクティブコマンド（６５１）は、アクティブコマンド（６１１）と同一のバンクの異なるロウを指定するメモリコマンドである。このアクティブコマンド（６５１）の発行により、バンク（Ｂａｎｋ０）５６０に対応するセンスアンプ５６２に対して、第１番のロウ（Ｒ１）に記憶されたデータが読み出される（６５４）。
【００４１】
この読出し動作（６５４）の途中において、コマンド線５０１を介して、バンク第０番（Ｂ０）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６４２）。これにより、読出し動作（６５４）の完了後、データ線５０２を介して、センスアンプ５６２に読み出された第１番のロウ（Ｒ１）のデータのうち、第０番のカラム（Ｃ０）に対応するデータがメモリコントローラ４００に転送される（６５０および６５５）。
【００４２】
このように、同一バンク（Ｂａｎｋ０）５６０における互いに異なるロウに記憶されたデータを連続して読み出す場合には、データ転送（６１０）から次のデータ転送（６２０）までに空き時間（転送不可期間）が生じる。この転送不可期間は、センスアンプ５６２を介して行うバンク（Ｂａｎｋ０）５６０に対する書戻し動作および読出し動作に伴い生じるものであり、これによってメモリシステム５００におけるデータの転送効率が著しく低下してしまう。ここでは一例として、同一バンクにおいて連続して互いに異なるロウに記憶されたデータを読み出す例について説明したが、同一バンクにおいて互いに異なるロウに連続してデータを書き込む場合においても、同様に転送不可期間が生じる。すなわち、同一バンクにおいて互いに異なるロウに連続してアクセスする場合においては、センスアンプを用いることによる書込み動作（書戻し動作）および読出し動作によって、転送不可期間が生じる。このようなデータ転送効率の低下を防止するためのアクセス手法として、バンクインターリーブと呼ばれる手法が用いられる。ここで、このバンクインターリーブ手法について、以下に図面を参照して簡単に説明する。
【００４３】
［バンクインターリーブ手法によるアクセス例］
図４は、メモリコントローラ４００によるバンクインターリーブ手法の一例を示すタイミングチャートである。ここでは、コマンド線５０１、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９およびデータ線５０２について説明する。コマンド線５０１には、メモリコントローラ４００から発行されるメモリコマンドが示され、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９には、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９に関する動作が示されている。また、データ線５０２には、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９からメモリコントローラ４００に転送されるデータが示されている。また、ここでは、左から右に時間が経過することを想定している。
【００４４】
このタイミングチャートでは、まず、コマンド線５０１を介して、バンク第０番（Ｂ０）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドがメモリコントローラ４００から発行される（６１１）。これにより、バンク（Ｂａｎｋ０）５６０における第０番のロウ（Ｒ０）に記憶されたデータがセンスアンプ５６２に読み出される（６１４）。
【００４５】
この読出し動作（６１４）の途中において、コマンド線５０１を介して、バンク第０番（Ｂ０）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６１２）。続いて、バンク第１番（Ｂ１）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドが発行される（６２１）。これにより、バンク（Ｂａｎｋ１）５７０に対応するセンスアンプ５７２に対して、第０番のロウ（Ｒ０）に記憶されたデータが読み出される（６２４）。
【００４６】
次に、読出し動作（６１４）完了後、データ線５０２を介して、センスアンプ５６２に読み出された第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが、メモリコントローラ４００に転送される（６１０および６１５）。
【００４７】
このデータ転送（６１０および６１５）の開始とともに、コマンド線５０１を介して、バンク第１番（Ｂ１）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６２２）。続いて、バンク第２番（Ｂ１）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドが発行される（６３１）。これにより、バンク（Ｂａｎｋ２）５７９における第０番のロウ（Ｒ０）に記憶されたデータが、バンク（Ｂａｎｋ２）５７９に対応するセンスアンプに読み出される（６３４）。この読出し動作（６３４）の開始とともに、コマンド線５０１を介して、バンク第０番（Ｂ０）を指定するプリチャージ（ＰＲＥ）コマンドが発行される（６１３）。これにより、センスアンプ５６２に保持されたデータが、バンク（Ｂａｎｋ０）５６０における元のロウ（Ｒ０）に書き戻される（６１６）。
【００４８】
そして、プリチャージコマンドの発行（６１３）後、コマンド線５０１を介して、バンク第２番（Ｂ２）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６３２）。このとき、バンク（Ｂａｎｋ１）５７０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが、データ線５０２を介して、メモリコントローラ４００に転送される（６２０および６２５）。
【００４９】
続いて、リードコマンドの発行（６３２）後、コマンド線５０１を介して、バンク第３番（Ｂ３）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドが発行される（６４１）。これにより、バンク（Ｂａｎｋ３）５８０における第０番のロウ（Ｒ０）に記憶されたデータがセンスアンプ５８２に読み出される（６４４）。これとともに、コマンド線５０１を介して、バンク第１番（Ｂ１）を指定するプリチャージ（ＰＲＥ）コマンドが発行される（６２３）。これにより、センスアンプ５７２に保持されたデータが、バンク（Ｂａｎｋ１）５７０における元のロウ（Ｒ０）に書き戻される（６２６）。
【００５０】
そして、プリチャージコマンドの発行（６２３）後、コマンド線５０１を介して、バンク第３番（Ｂ３）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６４２）。このとき、データ線５０２を介して、バンク（Ｂａｎｋ２）５８０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが、メモリコントローラ４００に転送される（６３０および６３５）。
【００５１】
次に、リードコマンドの発行（６４２）後、コマンド線５０１を介して、バンク第０番（Ｂ０）、ロウ第１番（Ｒ１）を指定するアクティブ（ＡＣＴ）コマンドが発行される（６５１）。これにより、バンク（Ｂａｎｋ０）５６０における第１番のロウ（Ｒ１）に記憶されたデータがセンスアンプ５６２に読み出される（６５４）。このとき、コマンド線５０１を介して、バンク第２番（Ｂ２）を指定するプリチャージ（ＰＲＥ）コマンドが発行される（６３３）。これにより、バンク（Ｂａｎｋ２）５７９に対応するセンスアンプに保持されたデータが、バンク（Ｂａｎｋ２）５７９における元のロウ（Ｒ０）に書き戻される（６３６）。
【００５２】
続いて、プリチャージコマンドの発行（６３３）後、コマンド線５０１を介して、バンク第０番（Ｂ０）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６５２）。このリードコマンドの発行（６５２）とともに、データ線５０２を介して、バンク（Ｂａｎｋ３）５８０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが、メモリコントローラ４００に転送される（６４０および６４５）。
【００５３】
そして、リードコマンドの発行（６５２）後、コマンド線５０１を介して、バンク第１番（Ｂ１）、ロウ第１番（Ｒ１）を指定するアクティブ（ＡＣＴ）コマンドが発行される（６６１）。これにより、バンク（Ｂａｎｋ１）５７０における第１番のロウ（Ｒ１）に記憶されたデータがセンスアンプ５７２に読み出される（６６４）。
【００５４】
この読出し動作（６６４）の途中において、データ線５０２を介して、バンク（Ｂａｎｋ０）５６０における第１番のロウ（Ｒ１）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが、メモリコントローラ４００に転送される（６５０および６５５）。
【００５５】
このように、バンクインターリーブ手法では、複数のバンクに並列にアクセスを行うことができるようにメモリコマンドを発行することによって、メモリコントローラ４００との間のデータ転送における空き時間を削減する。しかしながら、このようなバンクインターリーブ手法においては、互いに異なるバンクにアクセスを要求するアクセス要求を複数受け付けた場合に有効であるが、以下に示すような場合には、データ転送効率が低下してしまう。
【００５６】
図５は、同一バンクの互いに異なるロウアドレスを指定するリクエスト情報を連続して受け付けた場合におけるデータ転送の動作を例示するタイミングチャートである。ここでは、リクエスト線１１１および１２１と、許可信号線１１９および１２９と、アクセス線３０９とについて説明する。リクエスト線１１１および１２１には、バスクライアント１１０および１２０から発行されるリクエスト情報が示され、許可信号線１１９および１２９には、アービタ３００により生成される許可信号が示されている。また、アクセス線３０９には、アービタ３００から出力されるアクセス要求が示されている。また、ここでは、左から右に時間が経過することを想定している。
【００５７】
このタイミングチャートでは、まず、リクエスト線１１１を介して、バンク第０番（Ｂ０）、ロウ第０番（Ｒ０）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報がバスクライアント１１０から発行される（７１１）。このとき、他のバスクライアント１２０乃至１４０からリクエスト情報が発行されていないため、許可信号線１１９を介して、アービタ３００から許可信号がバスクライアント１１０に出力される（７１３）。これとともに、アクセス線３０９を介して、リクエスト情報（７１１）がアクセス要求としてメモリコントローラ４００にアービタ３００から出力される（７３１）。
【００５８】
続いて、リクエスト線１１１を介して、バンク第０番（Ｂ０）、ロウ第１番（Ｒ１）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報が発行される（７１２）。このリクエスト情報（７１２）は、リクエスト情報（７１０）と同一バンクの異なるロウを指定するリクエスト情報である。このとき、他のバスクライアント１２０乃至１４０からリクエスト情報が発行されていないため、許可信号線１１９を介して、許可信号がバスクライアント１１０に出力される（７１４）。これとともに、アクセス線３０９を介して、リクエスト情報（７１１）がアクセス要求としてメモリコントローラ４００に出力される（７３２）。
【００５９】
次に、リクエスト線１２１を介して、バンク第１番（Ｂ１）、ロウ第０番（Ｒ０）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報がバスクライアント１２０から発行される（７２１）。このとき、他のバスクライアント１１０、１３０および１４０からリクエスト情報が発行されていないため、許可信号線１２９を介して、許可信号がバスクライアント１２０に出力される（７２４）。これとともに、アクセス線３０９を介して、リクエスト情報（７２１）がアクセス要求としてメモリコントローラ４００に出力される（７３３）。
【００６０】
その後、リクエスト線１２１を介して、バンク第２番（Ｂ２）、ロウ第０番（Ｒ０）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報が発行される（７２２）。このとき、他のバスクライアント１１０、１３０および１４０からリクエスト情報が発行されていないため、許可信号線１２９を介して、許可信号がバスクライアント１２０に出力される（７２５）。これとともに、アクセス線３０９を介して、リクエスト情報（７２２）がアクセス要求としてメモリコントローラ４００に出力される（７３４）。
【００６１】
その後、リクエスト線１２１を介して、バンク第３番（Ｂ３）、ロウ第０番（Ｒ０）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報が発行される（７２３）。このとき、他のバスクライアント１１０、１３０および１４０からリクエスト情報が発行されていないため、許可信号線１２９を介して、許可信号がバスクライアント１２０に出力される（７２６）。これとともに、アクセス線３０９を介して、リクエスト情報（７２３）がアクセス要求としてメモリコントローラ４００に出力される（７３５）。
【００６２】
このように、他のバンクアドレスを指定するリクエスト情報がなく、同一バンクの互いに異なるロウアドレスを指定するリクエスト情報（７１１および７１２）を連続して受け付けた場合には、同じ順番でアクセス要求（７３１および７３２）が出力される。続いて、図５に示したアクセス要求（７３１乃至７３５）をメモリコントローラ４００が受け付けた場合におけるメモリコントローラ４００とメモリシステム５００との間のデータ転送について以下に図面を参照して説明する。
【００６３】
図６は、図５に示されたアクセス線３０９からのアクセス要求を受け付けた場合におけるメモリコントローラ４００とメモリシステム５００との間のデータ転送の一例を示すタイミングチャートである。ここでは、アクセス線３０９と、コマンド線５０１と、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９とについて説明する。また、アクセス線３０９には、アービタ３００から出力されるアクセス要求が示され、コマンド線５０１には、メモリコントローラ４００から発行されるメモリコマンドが示されている。また、ここでは、左から右に時間が経過することを想定している。
【００６４】
アクセス線３０９には、図５に表わされたアクセス要求が示されている。コマンド線５０１には、メモリコントローラ４００から発行されるメモリコマンドが示されている。バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９には、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９に関する動作が示されている。また、データ線５０２には、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９からメモリコントローラ４００に転送されるデータが示されている。また、ここでは、アクセス線３０９に示したアクセス要求が図５に示したものと同様であるため、図５と同一符号を付してここでの詳細な説明を省略する。また、ここでは、左から右に時間が経過することを想定している。
【００６５】
このタイミングチャートでは、まず、コマンド線５０１を介して、バンク第０番（Ｂ０）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドが、アクセス要求（７３１）に基づいてメモリコントローラ４００から発行される（７４１）。これにより、バンク（Ｂａｎｋ０）５６０における第０番のロウ（Ｒ０）に記憶されたデータがセンスアンプ５６２に読み出される（７４４）。
【００６６】
この読出し動作（７４４）の途中において、コマンド線５０１を介して、バンク第０番（Ｂ０）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（７４２）。そして、読出し動作（７４４）の完了後、データ線５０２を介して、バンク（Ｂａｎｋ０）５６０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータがメモリコントローラ４００に転送される（７４０および７４５）。
【００６７】
このデータ転送（７４０および７４５）の途中において、コマンド線５０１を介して、バンク第０番（Ｂ０）を指定するプリチャージ（ＰＲＥ）コマンドが発行される（７４３）。これにより、センスアンプ５６２に保持されたデータが、バンク（Ｂａｎｋ０）５６０における元のロウ（Ｒ０）に書き戻される（７４６）。
【００６８】
この書戻し動作（７４６）の完了直前において、コマンド線５０１を介して、バンク第０番（Ｂ０）、ロウ第１番（Ｒ１）を指定するアクティブ（ＡＣＴ）コマンドがアクセス要求（７３２）に基づいてメモリシステム５００に発行される（７５１）。これにより、バンク（Ｂａｎｋ０）５６０における第１番のロウ（Ｒ１）に記憶されたデータがセンスアンプ５６２に読み出される（７５４）。
【００６９】
一方、アクティブコマンドの発行（７５１）後、コマンド線５０１を介して、バンク第１番（Ｂ１）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドがアクセス要求（７４２）に基づいて発行される（７６１）。これにより、バンク（Ｂａｎｋ１）５７０における第０番のロウ（Ｒ０）に記憶されたデータがセンスアンプ５７２に読み出される（７６４）。この読出し動作（７６４）の開始とともに、コマンド線５０１を介して、バンク第０番（Ｂ０）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（７５２）。続いて、バンク第２番（Ｂ２）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドがアクセス要求（７３４）に基づいて発行される（７７１）。これにより、バンク（Ｂａｎｋ２）５７９における第０番のロウ（Ｒ０）に記憶されたデータがバンク（Ｂａｎｋ２）５７９に対応するセンスアンプに読み出される（７７４）。
【００７０】
また、アクティブコマンドの発行（７７１）後、コマンド線５０１を介して、バンク第３番（Ｂ３）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドがアクセス要求（７４４）に基づいて発行される（７８１）。これにより、バンク（Ｂａｎｋ３）５８０における第０番のロウ（Ｒ０）に記憶されたデータがセンスアンプ５８２に読み出される（７８４）。この読出し動作（７８４）の開始とともに、コマンド線５０１を介して、バンク第１番（Ｂ１）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（７６２）。このリードコマンドの発行（７６２）とともに、データ線５０２を介して、バンク（Ｂａｎｋ０）５６０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータがメモリコントローラ４００に転送される（７５０および７５５）。
【００７１】
そして、データ転送（７５０および７５５）の完了後、データ線５０２を介して、バンク（Ｂａｎｋ１）５７０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが転送される（７６０および７６５）。これとともに、コマンド線５０１を介して、バンク第２番（Ｂ２）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（７７２）。
【００７２】
このように、同一バンクの互いに異なるロウアドレスを示す２つのアクセス要求（７１１および７１２）を連続してメモリコントローラ４００が受け付けた場合には、図３と同様に、データ線５０２にデータが転送されない空き時間（未転送期間）が生じる。すなわち、同一バンクの互いに異なるロウアドレスを指定するリクエスト情報（７１１および７１２）を連続して受け付けた場合には、データ転送（７４０）とデータ転送（７５０）との間に未転送期間が生じる。これにより、バスクライアント１１０乃至１４０とメモリシステム５００との間のデータ転送効率が著しく低下してしまう。このため、このようなメモリシステム５００におけるデータ転送の効率低下を抑制するように改良したものが、次に説明する本発明の実施の形態である。
【００７３】
＜２．本発明の実施の形態＞
［アービタの構成例］
図７は、本発明の実施の形態におけるアービタ３００の一構成例を示すブロック図である。アービタ３００は、バンク状態情報生成部３１０と、転送方向保持部３２０と、ＬＲＵ（Least Recently Used）順位管理部３３０と、待機時間計測部３５０と、リクエストマスク判定部３６０と、リクエストマスク処理部３７０とを備える。さらに、アービタ３００は、優先度決定部３８０および選択部３９０を備える。ここでは、待機時間計測部３５０、リクエストマスク判定部３６０、リクエストマスク処理部３７０および優先度決定部３８０は、バスクライアント１１０乃至１４０ごとに設けられていることを想定している。ここでは、バスクライアント１１０および１２０に対応する構成のみが示されている。
【００７４】
バンク状態情報生成部３１０は、選択部３９０により選択されたアクセス要求に基づいて、メモリシステム５００における動作状態を管理するものである。このバンク状態情報生成部３１０は、例えば、選択部３９０により選択されたアクセス要求に含まれるバンクアドレス、ロウアドレスおよびデータ転送量に基づいて、バンク（Ｂａｎｋ０乃至Ｘ−１）５６０乃至５８０の各々におけるバンク状態を推定する。すなわち、このバンク状態情報生成部３１０は、バンク（Ｂａｎｋ０乃至Ｘ−１）５６０乃至５８０の各々がビジー状態であるか否かをアクセス要求の発行タイミングに基づいて推定する。ここにいうビジー状態とは、バンク（Ｂａｎｋ０乃至Ｘ−１）５６０乃至５８０に対して既にアクセスを行っているため、新たに他のロウにデータの書込み、または、読出しを行うことができない状態をいう。このバンク状態情報生成部３１０は、例えば、センスアンプ５６２乃至５８２にデータを読み出す動作またはセンスアンプ５６２乃至５８２に保持されたデータをバンク５６０乃至５８０に書き込む動作に要する一定の期間などを用いてバンク状態を計算する。
【００７５】
また、バンク状態情報生成部３１０は、ビジー状態と推定されたバンク５６０乃至５８０のバンクアドレスおよびロウアドレスをバンク状態情報として、状態信号線３１１を介してリクエストマスク判定部３６０に出力する。なお、バンク状態情報生成部３１０は、特許請求の範囲に記載のバンク状態情報生成部の一例である。
【００７６】
転送方向保持部３２０は、選択部３９０により選択された最新のアクセス要求に示された書込み要求または読出し要求のうちいずれかの転送方向を保持するものである。この転送方向保持部３２０は、選択部３９０からアクセス要求の転送方向が供給されるたびに、保持している転送方向を、選択部３９０から新たに供給された転送方向に書き換えて保持する。また、転送方向保持部３２０は、信号線３２１を介して、その保持された転送方向を優先度決定部３８０に出力する。なお、転送方向保持部３２０は、特許請求の範囲に記載の転送方向保持部の一例である。
【００７７】
ＬＲＵ順位管理部３３０は、バスクライアント１１０乃至１４０からそれぞれ発行されたリクエスト情報が選択部３９０により選択された時からのそれぞれの経過時間に基づいて、アクセス要求を選択部３９０から出力させる優先順位を管理するものである。このＬＲＵ順位管理部３３０は、選択部３９０からアクセス要求が出力されるたびに、そのアクセス要求として出力されたリクエスト情報を発行したバスクライアント１１０乃至１４０の優先順位を最下位に更新する。このＬＲＵ順位管理部３３０は、例えば、バスクライアント１１０乃至１４０を識別する識別情報を一列に配列する。そして、ＬＲＵ順位管理部３３０は、選択部３９０からアクセス要求が出力されるたびに、そのアクセス要求に示されるバスクライアント１１０乃至１４０に対応する識別情報を最後尾に入れ替える。これにより、アクセス要求として出力されたリクエスト情報を発行したバスクライアント１１０乃至１４０の優先順位が最も低くなる。また、ＬＲＵ順位管理部３３０は、その更新されたバスクライアント１１０乃至１４０に対応する優先順位を選択部３９０に供給する。なお、ＬＲＵ順位管理部３３０は、特許請求の範囲に記載の更新部の一例である。
【００７８】
なお、ここではＬＲＵ順位管理部３３０として、選択部３９０からアクセス要求が出力された時からの経過時間に基づいて優先順位を管理する例について示したが、バスクライアント１１０乃至１４０ごとのアクセス要求の頻度を用いてもよい。この場合、ＬＲＵ順位管理部３３０は、そのアクセス要求に示されたバスクライアント１１０乃至１４０を識別するための識別情報に基づいて、バスクライアント１１０乃至１４０ごとにアクセス要求の頻度を算出する。そして、ＬＲＵ順位管理部３３０は、アクセス要求の頻度の低い順にバスクライアント１１０乃至１４０の優先順位を高く設定する。この例において、ＬＲＵ順位管理部３３０は、選択部３９０により選択されたアクセス要求の履歴のうち、選択部３９０により選択されてから一定の期間経過したアクセス要求の履歴のみを削除するようにしてもよい。これにより、ＬＲＵ順位管理部３３０は、削除されていないアクセス要求の履歴に基づいて、バスクライアント１１０乃至１４０ごとのアクセス要求の頻度を算出することができる。
【００７９】
待機時間計測部３５０は、バスクライアント１１０乃至１４０からリクエスト情報が発行されてから、選択部３９０によりそのリクエスト情報が選択されるまでの待機時間を計測するカウンタである。この待機時間計測部３５０は、バスクライアント１１０乃至１４０からのリクエスト情報を受け付けたタイミングに基づいて時間の計測を開始する。この待機時間計測部３５０は、例えば、バスクライアント１１０からリクエスト線１１１を介して送信されたリクエスト情報を受け付けたタイミングに基づいて、そのリクエスト情報の待機時間の計測を開始する。また、待機時間計測部３５０は、信号線３５１を介して、その計測された待機時間をリクエストマスク判定部３６０および優先度決定部３８０に供給する。また、待機時間計測部３５０は、選択部３９０により生成された許可信号に基づいて待機時間を初期化（リセット）する。なお、待機時間計測部３５０は、特許請求の範囲に記載の時間計測部の一例である。
【００８０】
リクエストマスク判定部３６０は、バンク状態情報生成部３１０から供給されるバンク状態情報に基づいて、バスクライアント１１０乃至１４０からのリクエスト情報を選択部３９０に出力しないように制御するものである。このリクエストマスク判定部３６０は、バスクライアント１１０乃至１４０からのリクエスト情報が、ビジー状態にあるバンク５６０乃至５８０におけるロウと異なるロウにアクセスするためのリクエスト情報であるか否かを判定する。そして、このリクエストマスク判定部３６０は、ビジー状態にあるバンクにおけるロウと異なるロウにアクセスするためのリクエスト情報であると判定された場合には、そのリクエスト情報を選択部３９０から出力させることを抑制するためのマスク信号を生成する。一方、このリクエストマスク判定部３６０は、ビジー状態にあるロウと異なるロウにアクセスを要求するリクエスト情報でないと判定された場合には、そのリクエスト情報を選択部３９０に出力させるためのマスク不要信号を生成する。
【００８１】
また、リクエストマスク判定部３６０は、待機時間計測部３５０からの待機時間が一定の強制解除閾値（Ｔｈ）を超える場合には、リクエスト情報が、ビジー状態にあるロウと異なるロウにアクセスするためのものと判定されても、マスク不要信号を生成する。また、リクエストマスク判定部３６０は、マスク信号線３６９を介して、その生成された信号をリクエストマスク処理部３７０に供給する。
【００８２】
リクエストマスク処理部３７０は、リクエストマスク判定部３６０により生成される信号に基づいて、バスクライアント１１０乃至１４０からのリクエスト情報をマスクするものである。すなわち、リクエストマスク処理部３７０は、リクエストマスク判定部３６０によりマスク信号が生成された場合には、そのリクエスト情報を選択部３９０に出力することを抑制する。一方、このリクエストマスク処理部３７０は、リクエストマスク判定部３６０によりマスク不要信号が生成された場合には、リクエスト情報を選択部３９０に出力する。
【００８３】
優先度決定部３８０は、バスクライアント１１０乃至１４０からのリクエスト情報に対して選択部３９０により選択される順序の優先度を決定するものである。この優先度決定部３８０は、バスクライアント１１０乃至１４０からのリクエスト情報に示された転送方向と、転送方向保持部３２０に保持された転送方向とに基づいて、そのリクエスト情報に対する優先度を決定する。また、この優先度決定部３８０は、待機時間計測部３５０により計測されたリクエスト情報の待機時間に基づいて、そのリクエスト情報に対する優先度を決定する。この優先度決定部３８０は、信号線３８９を介して、その決定された優先度を選択部３９０に出力する。
【００８４】
選択部３９０は、バスクライアント１１０乃至１４０に対応するリクエストマスク処理部３７０からそれぞれ供給されるリクエスト情報を受け付けて、その受け付けられたリクエスト情報をアクセス要求としてメモリコントローラ４００に出力するものである。この選択部３９０は、バスクライアント１１０乃至１４０から複数のリクエスト情報を同時に受け付けた場合には、優先度決定部３８０により決定された優先度に基づいて、複数のリクエスト情報のうち１つのリクエスト情報を選択する。この選択部３９０は、例えば、バスクライアント１１０からのリクエスト情報に対する優先度が他のバスクライアント１２０乃至１４０に比べて高い場合には、バスクライアント１１０からのリクエスト情報を選択する。
【００８５】
さらに、複数のリクエスト情報のうち優先度が最も高いリクエスト情報が複数ある場合には、この選択部３９０は、ＬＲＵ順位管理部３３０により管理されているバスクライアント１１０乃至１４０の優先順位に基づいて、１つのリクエスト情報を選択する。この選択部３９０は、例えば、バスクライアント１１０および１２０から発行されたリクエスト情報に対するそれぞれの優先度が同一であり、かつ、最も高い場合には、優先順位が最も高いバスクライアントからのリクエスト情報を選択する。すなわち、選択部３９０は、バスクライアント１１０または１２０から発行されたそれぞれのリクエスト情報のうち、アクセス要求として出力されていない時間が長いバスクライアント１１０または１２０のリクエスト情報を選択する。
【００８６】
また、選択部３９０は、アクセス線３０９を介して、その選択されたリクエスト情報をアクセス要求としてメモリコントローラ４００に発行する。これとともに、選択部３９０は、その選択したリクエスト情報に示される転送方向およびバスクライアント１１０乃至１４０の識別情報に基づいて、切替線３０８または３０７を介してライトセレクタ２１０またはリードセレクタ２３０に対する切替信号を出力する。例えば、バスクライアント１１０からの書込み要求を示すリクエスト情報を選択した場合には、選択部３９０は、切替線３０８を介して、バスクライアント１１０とライトデータバッファ２２０との間を接続させるための切替信号をライトセレクタ２１０に出力する。また、バスクライアント１４０からの読出し要求を示すリクエスト情報を選択した場合には、選択部３９０は、切替線３０７を介して、バスクライアント１４０とリードデータバッファ２４０との間を接続させるための切替信号をリードセレクタ２３０に出力する。
【００８７】
さらに、アクセス要求の発行とともに、選択部３９０は、その発行したアクセス要求に示されたバスクライアント１１０乃至１４０に対して、許可信号線１１９乃至１４９を介して、許可信号を出力する。また、選択部３９０は、発行したアクセス要求に示されたバンクアドレス、ロウアドレスおよびデータ転送量をバンク状態情報生成部３１０に供給する。
【００８８】
また、アクセス要求の発行とともに、選択部３９０は、その発行したアクセス要求に示された転送方向を転送方向保持部３２０に供給する。また、選択部３９０は、アクセス要求に示されるバスクライアント１１０乃至１４０をＬＲＵ順位管理部３３０に通知する。これにより、ＬＲＵ順位管理部３３０は、選択部３９０からの通知に基づいて、その通知されたクライアント１１０乃至１４０に対する優先順位を最下位に更新する。なお、選択部３９０は、特許請求の範囲に記載のアクセス要求出力部の一例である。
【００８９】
このように、バンク状態情報生成部３１０により生成されるバンク状態情報を用いることによって、１つ前のアクセス要求と同一バンクの異なるロウアドレスを示すアクセス要求が連続して発行されることを抑制することができる。これにより、データの転送効率の低下を低減することができる。また、優先度決定部３８０を設けることによって、複数のバスクライアント１１０乃至１４０からリクエスト情報を受け付けた場合には、リクエスト情報ごとの待機時間および転送方向に基づいて、複数のリクエスト情報からアクセス要求を選択することができる。さらに、ＬＲＵ順位管理部３３０を設けることによって、優先度が最も高いリクエスト情報を複数受け付けた場合には、アクセス要求を出力させる優先順位が高いリクエスト情報を選択してアクセス要求として出力することができる。
【００９０】
次に、リクエストマスク判定部３６０および優先度決定部３８０の一構成例について、以下に図面を参照して詳細に説明する。
【００９１】
［リクエストマスク判定部の構成例］
図８は、本発明の実施の形態におけるリクエストマスク判定部３６０の一構成例を示すブロック図である。ここでは、バスクライアント１１０に対応するリクエストマスク判定部３６０を想定している。この例では、リクエスト線１１１に含まれる信号線１１２および１１３には、バスクライアント１１０からのリクエスト情報に示されるバンクアドレスおよびロウアドレスがそれぞれ供給される。状態信号線３１１に含まれる信号線３１２および３１３には、ビジー状態にあるバンクのバンクアドレスおよびロウアドレスがバンク状態情報として、バンク状態情報生成部３１０からそれぞれ供給される。信号線３５１には、待機時間計測部３５０により計測された待機時間が供給される。
【００９２】
リクエストマスク判定部３６０は、アクセス可否判断部３６１と、待機可否判断部３６２と、待機時間閾値保持部３６３と、マスク信号生成部３６４とを備える。アクセス可否判断部３６１は、バスクライアント１１０からのリクエスト情報と、バンク状態情報生成部３１０からのバンク状態情報とに基づいて、そのリクエスト情報をアクセス要求として選択部３９０から出力させることを抑制するものである。このアクセス可否判断部３６１は、信号線１１２から供給されるリクエスト情報のバンクアドレスが、バンク状態情報として信号線３１２から供給されるバンクアドレスに含まれているか否かを判断する。
【００９３】
そして、リクエスト情報のバンクアドレスがバンク状態情報に含まれている場合には、アクセス可否判断部３６１は、信号線１１３からのリクエスト情報のロウアドレスと、リクエスト情報のバンクアドレスに対応する信号線３１３からのロウアドレスとを比較する。この場合において、アクセス可否判断部３６１は、リクエスト情報のロウアドレスと、バンク状態情報のロウアドレスとが互いに異なるときは、そのリクエスト情報をアクセス要求として選択部３９０から出力させることを抑制するための待機信号を生成する。すなわち、このアクセス可否判断部３６１は、バンク状態情報とリクエスト情報とが同一のバンクアドレスを示し、かつ、互いに異なるロウアドレスを示す場合には、待機信号を生成する。
【００９４】
一方、アクセス可否判断部３６１は、リクエスト情報のバンクアドレスがバンク状態情報にない場合には、待機信号を生成しない。さらに、リクエスト情報のバンクアドレスおよびロウアドレスと、バンク状態情報に含まれるバンクアドレスおよびロウアドレスとが一致する場合においても、アクセス可否判断部３６１は、待機信号を生成しない。これは、アクセスすべきデータが既にセンスアンプ５６２乃至５８２に保持されていることから、センスアンプ５６２乃至５８２に対する読出し、または、書込み動作が不要となるため、メモリシステム５００におけるデータ転送の効率を悪化させないからである。また、アクセス可否判断部３６１は、その生成された待機信号をマスク信号生成部３６４に供給する。このアクセス可否判断部３６１は、例えば、待機信号を生成する場合には、待機信号として「１」を出力し、これ以外の場合には、「０」を出力する。なお、アクセス可否判断部３６１は、特許請求の範囲に記載の待機信号生成部の一例である。
【００９５】
待機可否判断部３６２は、待機時間計測部３５０により計測された待機時間に基づいて、待機信号を解除するための解除信号を生成するものである。この待機可否判断部３６２は、待機時間計測部３５０により計測されている待機時間が待機時間閾値保持部３６３に保持された強制解除閾値（Ｔｈ）を超える場合には解除信号を生成する。また、待機可否判断部３６２は、その生成された解除信号をマスク信号生成部３６４に供給する。この待機可否判断部３６２は、例えば、解除信号を生成する場合には、解除信号として「０」を出力し、これ以外の場合には、「１」を出力する。なお、待機可否判断部３６２は、特許請求の範囲に記載の解除信号生成部の一例である。
【００９６】
待機時間閾値保持部３６３は、リクエスト情報の待機時間の上限である強制解除閾値（Ｔｈ）を保持するものである。この待機時間閾値保持部３６３は、その強制解除閾値（Ｔｈ）を待機可否判断部３６２に出力する。なお、この強制解除閾値（Ｔｈ）は、バスクライアント１１０によって事前に設定される。また、この強制解除閾値（Ｔｈ）は、例えば、メモリクロックの２００サイクルに相当する値に設定される。
【００９７】
マスク信号生成部３６４は、アクセス可否判断部３６１により生成される待機信号と、待機可否判断部３６２により生成される解除信号とに基づいて、リクエスト情報をマスクするためのマスク信号を生成するものである。このマスク信号生成部３６４は、待機可否判断部３６２からの解除信号がなく、かつ、アクセス可否判断部３６１から待機信号が供給された場合に限り、マスク信号を生成する。これ以外の場合には、このマスク信号生成部３６４は、マスク不要信号を生成する。これにより、このマスク信号生成部３６４は、アクセス可否判断部３６１から待機信号が供給されても、待機可否判断部３６２から解除信号が供給されることによって、強制的にマスクを解除することができる。また、マスク信号生成部３６４は、その生成された信号をリクエストマスク処理部３７０に供給する。
【００９８】
このマスク信号生成部３６４は、例えば、論理積回路により実現される。この場合において、このマスク信号生成部３６４は、例えば、アクセス可否判断部３６１から待機信号として「１」が供給され、待機可否判断部３６２から解除信号として「０」が供給されることによって、マスク不要信号として「０」を出力する。一方、マスク信号生成部３６４は、例えば、解除信号が生成されない場合には待機可否判断部３６２から「１」が供給され、アクセス可否判断部３６１から待機信号として「１」が供給されることによって、マスク信号として「１」を出力する。
【００９９】
このように、アービタ３００は、アクセス可否判断部３６１を設けることによって、バンク状態情報生成部３１０により生成されるバンク状態情報に基づいて、同一バンクの互いに異なるロウを指定する２つのアクセス要求の連続発行を抑制することができる。また、待機可否判断部３６２を設けることによって、待機時間が長すぎるリクエスト情報に対して、同一バンクの異なるロウに連続してアクセスすることになっても、強制的にアクセス要求として選択部３９０から出力させることができる。これにより、リクエスト情報が長時間待機状態となることを防止することができる。
【０１００】
［優先度決定部の構成例］
図９は、本発明の実施の形態における優先度決定部３８０の一構成例を示すブロック図である。ここでは、バスクライアント１１０に対応する優先度決定部３８０を想定している。この例では、リクエスト線１１１に含まれる信号線１１４には、バスクライアント１１０からのリクエスト情報に含まれる転送方向が供給される。信号線３２１には、転送方向保持部３２０に保持された転送方向が供給される。信号線３５１には、待機時間計測部３５０により計測された待機時間が供給される。
【０１０１】
優先度決定部３８０は、転送方向比較部３８１と、待機レベル判定部３８２と、待機時間閾値保持部３８３と、固定優先度取得部３８４と、固定優先度保持部３８５と、優先度算出部３８６とを備える。
【０１０２】
転送方向比較部３８１は、選択部３９０から出力された直近のアクセス要求の転送方向と、リクエスト情報の転送方向とを比較することによって、選択部３９０から出力されるアクセス要求の優先度を設定するものである。この転送方向比較部３８１は、転送方向保持部３２０に保持された転送方向とリクエスト情報の転送方向とが一致する場合には、転送方向保持部３２０に保持された転送方向とリクエスト情報の転送方向とが互いに異なるときに比べて、優先度を高く設定する。この転送方向比較部３８１は、例えば、転送方向保持部３２０に保持された転送方向と、リクエスト情報の転送方向が一致する場合には、優先度を「１」に設定する。一方、転送方向比較部３８１は、これらの転送方向が互いに異なる場合には、優先度を「０」に設定する。また、転送方向比較部３８１は、その設定された優先度を優先度算出部３８６に供給する。
【０１０３】
このように、転送方向保持部３２０に保持された転送方向と同一の転送方向を示すリクエスト情報の優先度を高く設定することによって、同一の転送方向を示すアクセス要求が連続して選択部３９０から出力され易くなる。このため、同一の転送方向のアクセス要求を纏めて順次出力することによって、読出し要求による動作と書込み要求による動作とを切り替える回数を減らすことができる。これにより、読出し要求による動作と書込み要求による動作との切替えの際に確保しなければならない一定サイクルの切替期間を削減することができる。すなわち、切替えにより生じる切替期間を減少させることによって、データが転送できない期間を短縮することができる。なお、転送方向比較部３８１は、特許請求の範囲に記載の優先度設定部の一例である。
【０１０４】
待機レベル判定部３８２は、待機時間計測部３５０により計測されている待機時間に基づいて、待機レベルを判定するものである。この待機レベル判定部３８２は、待機時間計測部３５０により計測されている待機時間と、待機時間閾値保持部３８３に保持された閾値とに基づいて待機レベルを判定する。また、待機レベル判定部３８２は、その判定された待機レベルを固定優先度取得部３８４に供給する。
【０１０５】
この待機レベル判定部３８２は、例えば、待機時間計測部３５０により計測された待機時間に基づいて、３つの待機レベルを設定する。この例において、待機時間閾値保持部３８３には、第１の判定閾値（Ｔｈ１）および第２の判定閾値（Ｔｈ２）が保持されている。ここで、第２の判定閾値（Ｔｈ２）は第１の判定閾値（Ｔｈ１）に比べて大きい値であるとする。このとき、待機レベル判定部３８２は、待機時間計測部３５０からの待機時間の値が第１の判定閾値（Ｔｈ１）以下である場合には、待機レベルを「０」に設定する。また、待機レベル判定部３８２は、待機時間の値が第１の判定閾値（Ｔｈ１）に比べて大きく、かつ、第２の判定閾値（Ｔｈ２）に比べて小さい場合には、待機レベルを「１」に設定する。そして、待機レベル判定部３８２は、待機時間の値が第２の閾値（Ｔｈ２）以上である場合には、待機レベルを「２」に設定する。なお、ここでは、待機レベルを３つのレベルに設定する例について説明したが、待機レベルの４つ以上に増加させてもよい。これにより、待機時間に基づく優先度をさらに柔軟に設定をすることができるようになる。
【０１０６】
待機時間閾値保持部３８３は、待機レベル判定部３８２の待機レベルを判定するための待機時間の閾値を保持するものである。待機時間閾値保持部３８３は、例えば、待機時間の閾値として、上述の第１および第２の判定閾値（Ｔｈ１およびＴｈ２）を保持する。この第１および第２の判定閾値（Ｔｈ１およびＴｈ２）は、例えば、メモリクロックの５０サイクルおよび１００サイクルに相当する値にそれぞれ設定される。また、待機時間閾値保持部３８３は、保持している待機時間の閾値を待機レベル判定部３８２に出力する。なお、この待機時間の閾値は、バスクライアント１１０によって事前に設定される。
【０１０７】
固定優先度取得部３８４は、待機レベル判定部３８２により判定された待機レベルに基づいて、待機レベルに対応する固定優先度を固定優先度保持部３８５から取得するものである。すなわち、固定優先度取得部３８４は、待機時間計測部３５０により計測された時間に基づいて、選択部３９０から出力されるアクセス要求の順序の優先度を決定する。この固定優先度取得部３８４は、例えば、待機レベルが「０」である場合には、第１の固定優先度（ｐ１）を、待機レベルが「１」である場合には、第２の固定優先度（ｐ２）を、待機レベルが「２」である場合には、第３の固定優先度（ｐ３）を取得する。また、固定優先度取得部３８４は、その取得された固定優先度を優先度算出部３８６に供給する。なお、固定優先度取得部３８４は、特許請求の範囲に記載の優先度決定部の一例である。
【０１０８】
固定優先度保持部３８５は、待機レベル判定部３８２により生成される判定レベルと関連付けられた固定優先度を保持するものである。この固定優先度保持部３８５は、固定優先度取得部３８４から出力された判定レベルに基づいて、その判定レベルに対応する固定優先度を固定優先度取得部３８４に供給する。この固定優先度保持部３８５は、例えば、判定レベル「０」、「１」および「２」に対応する固定優先度として、第１、第２および第３の固定優先度（ｐ１乃至ｐ３）をそれぞれ保持する。この第１、第２および第３の固定優先度（ｐ１乃至ｐ３）は、例えば、「０」、「２」および「４」に設定される。このように、転送方向比較部３８１により生成される優先度に比べて、第２および第３の固定優先度を高くすることによって、転送方向が一致するリクエスト情報よりも、待機時間の長いリクエスト情報を優先して選択部３９０から出力させることができる。
【０１０９】
また、固定優先度は、バスクライアント１１０乃至１４０ごとに異なる値を設定するようにしてもよい。これにより、固定優先度を高く設定したバスクライアント１１０乃至１４０のリクエスト情報が選択部３９０により選択され易くなる。例えば、バスクライアント１２０乃至１４０に対応する第１、第２および第３の固定優先度（ｐ１乃至ｐ３）を「０」、「２」および「４」に設定する。そして、バスクライアント１１０に対応する第１、第２および第３の固定優先度（ｐ１乃至ｐ３）を「２」、「４」および「６」に設定する。これにより、バスクライアント１１０からのリクエスト情報が優先して選択部３９０から出力される。なお、これらの固定優先度は、バスクライアント１１０により事前に設定される。
【０１１０】
優先度算出部３８６は、転送方向比較部３８１から供給される優先度と、固定優先度取得部３８４から供給される固定優先度に基づいて、新たに優先度を算出するものである。この優先度算出部３８６は、例えば、転送方向比較部３８１から供給された優先度と、固定優先度取得部３８４から供給される固定優先度とを加算することによって、新たな優先度を算出する。この優先度算出部３８６は、例えば、転送方向比較部から供給された優先度「１」と、固定優先度取得部３８４から供給された優先度「２」とを加算して、その加算された新たな優先度「３」を出力する。また、優先度算出部３８６は、信号線３８９を介して、算出された新たな優先度を選択部３９０に供給する。
【０１１１】
このように、待機レベル判定部３８２および固定優先度取得部３８４を設けることによって、待機時間の長いリクエスト情報に対する優先度を高く設定することができる。これにより、待機時間の長いリクエスト情報を優先してメモリシステム５００に出力させることができる。また、転送方向比較部３８１を設けることによって、転送方向が同一のアクセス要求が選択部３９０から連続して出力され易くなるため、メモリシステム５００におけるデータ転送効率の向上を図ることができる。さらに、優先度算出部３８６を設けることによって、転送方向比較部３８１による比較結果と、待機レベル判定部３８２による判定結果とを組み合わせた優先度を生成することができる。
【０１１２】
［アービタの動作例］
図１０は、本発明の実施の形態におけるアービタ３００において同一バンクの異なるロウにアクセスを要求するリクエスト情報を連続して受け付けた場合におけるデータ転送の一例を示すタイミングチャートである。ここでは、リクエスト線１１１および１２１と、許可信号線１１９および１２９と、状態信号線３１１と、アクセス線３０９とについて説明する。
【０１１３】
ここでは、リクエスト線１１１および１２１には、バスクライアント１１０および１２０から発行されるリクエスト情報が示されている。許可信号線１１９および１２９には、アービタ３００により生成される許可信号が示されている。また、状態信号線３１１には、バンク状態情報生成部３１０により生成されるバンク状態情報として各バンク（Ｂａｎｋ０乃至３）に関するバンク状態信号が示されている。マスク信号線３６９には、バスクライアント１１０に対応するリクエストマスク判定部３６０によって生成されるマスク信号が示されている。アクセス線３０９には、アービタ３００から出力されるアクセス要求が示されている。また、ここでは、左から右に時間が経過することを想定している。
【０１１４】
このタイミングチャートでは、リクエスト線１１１を介して、バンク第０番（Ｂ０）、ロウ第０番（Ｒ０）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報がバスクライアント１１０から発行される（８１１）。このとき、他のバスクライアント１２０乃至１４０からリクエスト情報が発行されていないため、許可信号線１１９を介して、選択部３９０により生成された許可信号がバスクライアント１１０に出力される（８１３）。これとともに、アクセス線３０９を介して、リクエスト情報（８１１）がアクセス要求として選択部３９０からメモリコントローラ４００に出力される（８５１）。これにより、許可信号（８１３）が解除されるとともに、状態信号線（Ｂａｎｋ０）３１１を介して、バンク状態情報生成部３１０からバンク（Ｂａｎｋ０）８５０がビジー状態であることを示すビジー信号が出力される（８３１）。
【０１１５】
そして、リクエスト情報の発行（８１１）後、リクエスト線１１１を介して、バンク第０番（Ｂ０）、ロウ第１番（Ｒ１）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報が発行される（８１２）。このとき、リクエスト情報（８１２）のバンクアドレス（Ｂ０）に対応する状態信号線（Ｂａｎｋ０）３１１にビジー信号（８３１）が出力されている。これに加え、バンク状態情報に示されたバンク（Ｂａｎｋ０）５６０のロウアドレス（Ｒ０）がリクエスト情報（８１２）のロウアドレス（Ｒ１）と異なるため、マスク信号線３６９を介して、リクエストマスク判定部３６０からマスク信号が出力される（８４０）。このマスク信号により、選択部３９０に対してリクエスト情報（８１２）が供給されないため、アクセス要求として選択部３９０から出力されない。これにより、リクエスト情報（８１１）と同一バンクの異なるロウにアクセスを要求するリクエスト情報（８１２）をアクセス要求として、アクセス要求（８５１）に続けて出力させることを抑制することができる。
【０１１６】
次に、リクエスト線１２１を介して、バンク第１番（Ｂ１）、ロウ第０番（Ｒ０）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報がバスクライアント１２０から発行される（８２１）。このとき、リクエスト情報（８２１）のバンクアドレス（Ｂ１）に対応する状態信号線（Ｂａｎｋ１）３１１にビジー信号が出力されていないため、許可信号線１２９を介して、許可信号がバスクライアント１２０に出力される（８２４）。これとともに、アクセス線３０９を介して、リクエスト情報（８２１）がアクセス要求としてメモリコントローラ４００に出力される（８５２）。これにより、許可信号（８２４）が解除されるとともに、バンク状態情報生成部３１０から状態信号線（Ｂａｎｋ１）３１１に対してビジー信号が出力される（８３２）。
【０１１７】
その後、リクエスト線１２１を介して、バンク第２番（Ｂ２）、ロウ第０番（Ｒ０）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報が発行される（８２２）。このとき、リクエスト情報（８２２）に示されたバンクアドレス（Ｂ２）に対応する状態信号線（Ｂａｎｋ２）３１１にビジー信号が出力されていないため、許可信号線１２９を介して、許可信号がバスクライアント１２０に出力される（８２５）。これとともに、アクセス線３０９を介して、リクエスト情報（８２２）がアクセス要求としてメモリコントローラ４００に出力される（８５３）。この後、許可信号（８２５）が解除されるとともに、バンク状態情報生成部３１０から状態信号線（Ｂａｎｋ２）３１１に対してビジー信号が出力される（８３３）。
【０１１８】
続いて、リクエスト線１２１を介して、バンク第３番（Ｂ２）、ロウ第０番（Ｒ０）、カラム第０番（Ｃ０）を指定する読出し要求（ＲＥＡＤ）を示すリクエスト情報が発行される（８２３）。このとき、リクエスト情報（８２３）のバンクアドレス（Ｂ２）に対応する状態信号線（Ｂａｎｋ３）３１１にビジー信号が出力されていないため、許可信号線１２９を介して、許可信号がバスクライアント１２０に出力される（８２６）。これとともに、アクセス線３０９を介して、リクエスト情報（８２３）がアクセス要求としてメモリコントローラ４００に出力される（８５４）。これにより、許可信号（８２６）が解除されるとともに、バンク状態情報生成部３１０から状態信号線（Ｂａｎｋ３）３１１に対してビジー信号が出力される（８３４）。
【０１１９】
この後、状態信号線（Ｂａｎｋ０）３１１に供給されていたビジー信号（８３１）が解除されることによって、マスク信号線３６９に出力されていたマスク信号（８４０）も解除されてマスク不要信号に切り替えられる。このため、リクエストマスク処理部３７０からリクエスト情報（８１２）が選択部３９０に供給され、他のリクエスト情報が発行されていないことから、選択部３９０においてリクエスト情報（８１２）が選択される。これにより、許可信号線１１９を介して、選択部３９０により生成された許可信号がバスクライアント１１０に出力される（８１４）。
【０１２０】
これとともに、アクセス線３０９を介して、リクエスト情報（８１２）がアクセス要求として選択部３９０からメモリコントローラ４００に出力される（８５５）。これにより、許可信号（８１４）が解除されるとともに、バンク状態情報生成部３１０から状態信号線（Ｂａｎｋ０）３１１に対してバンク（Ｂａｎｋ０）８５０がビジー状態であることを示すビジー信号が出力される（８３５）。
【０１２１】
このように、同一バンク（Ｂａｎｋ０）５６０の異なるロウアドレスを指定するリクエスト情報（８１１および８１２）が連続して発行されても、状態信号線（Ｂａｎｋ０）３１１におけるバンク状態情報により、リクエスト情報（８１２）の出力が抑制される。これにより、他のバンク（Ｂａｎｋ１乃至３）５７０、５７９および５８０を指定するリクエスト情報（８２１乃至８２３）を、リクエスト情報（８１２）より先にアクセス要求（８５２乃至８５４）として順次出力させることができる。次に、ここで示したアクセス要求（８５１乃至８５５）をメモリコントローラ４００が受け付けた場合におけるメモリコントローラ４００とメモリシステム５００との間のデータ転送について以下に図面を参照して説明する。
【０１２２】
［メモリコントローラおよびメモリシステムの動作例］
図１１は、図１０に示されたアクセス線３０９からのアクセス要求を受け付けた場合におけるメモリコントローラ４００とメモリシステム５００との間のデータ転送の一例を示すタイミングチャートである。ここでは、アクセス線３０９と、コマンド線５０１と、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９とについて説明する。
【０１２３】
アクセス線３０９には、図１０に表わされたアクセス要求が示されている。コマンド線５０１には、メモリコントローラ４００から発行されるメモリコマンドが示されている。バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９には、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９に関する動作が示されている。また、データ線５０２には、バンク（Ｂａｎｋ０乃至３）５６０乃至５８０および５７９からメモリコントローラ４００に転送されるデータが示されている。また、ここでは、左から右に時間が経過することを想定している。なお、ここでは、アクセス線３０９に示したアクセス要求が図１０に示したものと同様であるため、図１０と同一符号を付してここでの詳細な説明を省略する。また、図４に表わされた動作と同様の動作については、図４と同一符号を付している。
【０１２４】
コマンド線５０１を介して、バンク第０番（Ｂ０）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドが、アクセス要求（８５１）に基づいてメモリコントローラ４００からメモリシステム５００に発行される（６１１）。これにより、バンク（Ｂａｎｋ０）５６０における第０番のロウ（Ｒ０）に記憶されたデータがセンスアンプ５６２に読み出される（６１４）。
【０１２５】
この読出し動作（６１４）の途中において、コマンド線５０１を介して、バンク第０番（Ｂ０）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６１２）。続いて、バンク第１番（Ｂ１）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドがアクセス要求（８５２）に基づいて発行される（６２１）。これにより、バンク（Ｂａｎｋ１）５７０に対応するセンスアンプ５７２に対して、第０番のロウ（Ｒ０）に記憶されたデータが読み出される（６２３）。読出し動作（６１４）の完了後、バンク（Ｂａｎｋ０）５６０において、センスアンプ５６２に読み出された第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータがメモリコントローラ４００に転送される（６１０および６１５）。
【０１２６】
このデータ転送（６１０および６１５）の開始とともに、コマンド線５０１を介して、バンク第１番（Ｂ１）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６２２）。続いて、バンク第２番（Ｂ１）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドが、アクセス要求（８５３）に基づいて発行される（６３１）。これにより、バンク（Ｂａｎｋ２）５７９における第０番のロウ（Ｒ０）に記憶されたデータがバンク（Ｂａｎｋ２）５７９に対応するセンスアンプに読み出される（６３４）。このバンク（Ｂａｎｋ２）５７９における読出し動作（６３４）の開始とともに、コマンド線５０１を介して、バンク第０番（Ｂ０）を指定するプリチャージ（ＰＲＥ）コマンドが発行される（６１３）。これにより、センスアンプ５６２に保持されたデータが、バンク（Ｂａｎｋ０）５６０における元のロウ（Ｒ０）に書き戻される（６１６）。
【０１２７】
そして、プリチャージコマンドの発行（６１３）後、バンク第２番（Ｂ２）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６３２）。このとき、バンク（Ｂａｎｋ１）５７０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが、データ線５０２を介して、メモリコントローラ４００に転送される（６２０および６２５）。
【０１２８】
続いて、リードコマンドの発行（６３２）後、バンク第３番（Ｂ３）、ロウ第０番（Ｒ０）を指定するアクティブ（ＡＣＴ）コマンドが、アクセス要求（８５４）に基づいて発行される（６４１）。これにより、バンク（Ｂａｎｋ３）５８０における第０番のロウ（Ｒ０）に記憶されたデータがバンク（Ｂａｎｋ３）５８０に対応するセンスアンプ５８２に読み出される。このとき、コマンド線５０１を介して、バンク第１番（Ｂ１）を指定するプリチャージ（ＰＲＥ）コマンドが発行される（６２３）。これにより、センスアンプ５７２に保持されたデータが、バンク（Ｂａｎｋ１）５７０における元のロウ（Ｒ０）に書き戻される。
【０１２９】
そして、プリチャージコマンドの発行（６２３）後、コマンド線５０１を介して、バンク第３番（Ｂ３）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６４２）。このとき、バンク（Ｂａｎｋ２）５８０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが、データ線５０２を介して、メモリコントローラ４００に転送される（６３０および６３５）。
【０１３０】
リードコマンドの発行（６４２）後、バンク第０番（Ｂ０）、ロウ第１番（Ｒ１）を指定するアクティブ（ＡＣＴ）コマンドが、アクセス要求（８５５）に基づいて発行される（６５１）。これにより、バンク（Ｂａｎｋ０）５６０における第１番のロウ（Ｒ１）に記憶されたデータがセンスアンプ５６２に読み出される（５５４）。このとき、コマンド線５０１を介して、バンク第２番（Ｂ２）を指定するプリチャージ（ＰＲＥ）コマンドが発行される（６３３）。これにより、バンク（Ｂａｎｋ２）５７９に対応するセンスアンプに保持されたデータが、バンク（Ｂａｎｋ２）５７９における元のロウ（Ｒ０）に書き戻される（６３６）。
【０１３１】
次に、プリチャージコマンドの発行（６３３）後、バンク第０番（Ｂ０）、カラム第０番（Ｃ０）を指定するリード（ＲＥＡＤ）コマンドが発行される（６５２）。このリードコマンド発行（６５２）とともに、バンク（Ｂａｎｋ３）５８０における第０番のロウ（Ｒ０）のデータのうち、第０番のカラム（Ｃ０）に対応するデータがメモリコントローラ４００に転送される（６４０および６４５）。
【０１３２】
このデータ転送（６４０および６４５）完了後、バンク（Ｂａｎｋ０）５６０における第１番のロウ（Ｒ１）のデータのうち、第０番のカラム（Ｃ０）に対応するデータが、データ線５０２を介して、メモリコントローラ４００に転送される（６５０および６５５）。
【０１３３】
この場合、互いに異なるバンク（Ｂａｎｋ０乃至３）を指定するアクセス要求（８５１乃至８５５）がアクセス線３０９から順次出力されることにより、図６とは異なり転送不可期間を生じることなく、データ転送（６１０乃至６５０）を行なうことができる。このように、バンク状態情報生成部３１０により生成されるバンク状態情報を用いることによって、同一バンクの互いに異なるロウアドレスを指定するアクセス要求をメモリコントローラ４００に順次発行することを抑制することができる。これにより、メモリコントローラ４００とメモリシステム５００との間のデータ転送効率を低下させることを抑制することができる。
【０１３４】
次に本発明の実施の形態におけるアービタ３００におけるリクエストマスク判定部３６０および優先度決定部３８０の動作について図面を参照して説明する。
【０１３５】
［リクエストマスク判定部の動作例］
図１２は、本発明の実施の形態におけるリクエストマスク判定部３６０のマスク信号生成方法における処理手順例を示すフローチャートである。
【０１３６】
まず、アクセス可否判断部３６１により、バスクライアント１１０乃至１４０からのリクエスト情報に含まれるバンクアドレスおよびロウアドレスが取得される（ステップＳ９１１）。次に、バンク状態情報生成部３１０において、選択部３９０から出力されたアクセス要求に基づいて、複数のバンクのうちビジー状態にあるバンクを示すバンク状態情報が生成されて、アクセス可否判断部３６１により取得される（ステップＳ９１２）。このバンク状態情報には、ビジー状態にあるバンクのバンクアドレスおよびロウアドレスが含まれる。なお、ステップＳ９１２は、特許請求の範囲に記載のアクセス要求出力手順およびバンク情報生成手順の一例である。
【０１３７】
次に、ビジー状態にあるバンクのバンクアドレスが示されたバンク状態情報に、リクエスト情報のバンクアドレスが含まれているか否かが判断される（ステップＳ９１３）。そして、バンク状態情報にリクエスト情報のバンクアドレスが含まれていない場合には、マスク信号生成部３６４によりマスク不要信号が生成される（ステップＳ９１８）。
【０１３８】
一方、バンク状態情報にリクエスト情報のバンクアドレスが含まれている場合には、リクエスト情報のロウアドレスと、リクエスト情報のバンクアドレスに対応するバンク状態情報に示されたロウアドレスとが一致するか否かが判断される（ステップＳ９１４）。そして、両者のロウアドレスが一致する場合には、マスク信号生成部３６４によりマスク不要信号が生成される（ステップＳ９１８）。一方、両者のロウアドレスが互いに異なる場合には、アクセス可否判断部３６１により待機信号が生成される。そして、待機可否判断部３６２により、待機時間計測部３５０により計測された待機時間（ＷＴ）が取得される（ステップＳ９１５）。なお、ステップＳ９１３およびＳ９１４は、特許請求の範囲に記載の待機信号生成手順の一例である。また、ステップＳ９１５は、特許請求の範囲に記載の時間計測手順の一例である。
【０１３９】
そして、待機時間閾値保持部３６３に保持された強制解除閾値（Ｔｈ）に比べて、その待機時間（ＷＴ）の値が大きいか否かが判断される（ステップＳ９１６）。そして、待機時間（ＷＴ）の値が強制解除閾値（Ｔｈ）以下である場合には、マスク信号生成部３６４により、アクセス可否判断部３６１からの待機信号に基づいてマスク信号が生成される（ステップＳ９１７）。一方、待機時間（ＷＴ）の値が強制解除閾値（Ｔｈ）に比べて大きい場合には、マスク信号生成部３６４により、待機可否判断部３６２からの解除信号に基づいてマスク不要信号が生成される（ステップＳ９１８）。なお、ステップＳ９１６およびＳ９１８は、特許請求の範囲に記載の解除信号生成手順の一例である。
【０１４０】
［優先度決定部の動作例］
図１３は、本発明の実施の形態における優先度決定部３８０の優先度決定方法における処理手順例を示すフローチャートである。
【０１４１】
まず、転送方向比較部３８１により、バスクライアント１１０乃至１４０からのリクエスト情報に示される転送方向が取得される（ステップＳ９２１）。次に、待機レベル判定部３８２により、待機時間計測部３５０において計測された待機時間（ＷＴ）が取得される（ステップＳ９２２）。そして、待機時間閾値保持部３８３に保持された第１および第２の判定閾値（Ｔｈ１およびＴｈ２）のうち、待機時間の閾値の値が小さい第１の判定閾値（Ｔｈ１）に比べて待機時間（ＷＴ）が大きいか否かが判断される（ステップＳ９２３）。この第１および第２の閾値（Ｔｈ１およびＴｈ２）は、例えば、メモリクロックの５０サイクルおよび１００サイクルに相当する値である。そして、待機時間（ＷＴ）が第１の判定閾値（Ｔｈ１）以下である場合には、固定優先度取得部３８４により、選択部３９０から出力されるアクセス要求の順序の優先度（Ｐ）が第１の固定優先度（ｐ０）に設定される（ステップＳ９２９）。この第１の固定優先度（ｐ０）は、例えば、「０」である。
【０１４２】
一方、待機時間（ＷＴ）が第１の判定閾値（Ｔｈ１）に比べて大きい場合には、待機時間閾値保持部３８３に保持された第２の判定閾値（Ｔｈ２）に比べて待機時間（ＷＴ）が小さいか否かが判断される（ステップＳ９２４）。そして、待機時間（ＷＴ）の値が第２の判定閾値（Ｔｈ２）に比べて小さい場合には、固定優先度取得部３８４により、第１の固定優先度（ｐ０）に比べて高い値である第２の固定優先度（ｐ１）に優先度（Ｐ）が設定される（ステップＳ９２５）。この第２の固定優先度（ｐ１）は、例えば、「２」である。
【０１４３】
一方、待機時間（ＷＴ）の値が第２の判定閾値（Ｔｈ２）以上である場合には、固定優先度取得部３８４により、第２の固定優先度（ｐ１）に比べて高い値である第３の固定優先度（ｐ２）に優先度（Ｐ）が設定される（ステップＳ９３１）。この第３の固定優先度（ｐ０）は、例えば、「４」である。
【０１４４】
次に、転送方向比較部３８１により、選択部３９０において出力された直近のアクセス要求に示された転送方向が転送方向保持部３２０から取得される（ステップＳ９２６）。次に、リクエスト情報に示され転送方向と、転送方向保持部３２０から取得された転送方向とが一致するか否かが判断される（ステップＳ９２７）。そして、両者の転送方向が一致する場合には、優先度算出部３８６により、優先度（Ｐ）に「１」を加えた新たな優先度（Ｐ）が選択部３９０に出力される（ステップＳ９２８）。一方、両者の転送方向が一致しない場合には、優先度算出部３８６を介して、固定優先度取得部３８４により設定された優先度（Ｐ）がそのまま選択部３９０に出力されて、優先度決定処理が終了する。
【０１４５】
このように、本発明の実施の形態によれば、バンク状態情報生成部３１０により生成されるバンク状態情報を用いることによって、メモリバスシステム２００の回路規模を抑えつつ、メモリシステム５００におけるデータ転送効率を改善することができる。
【０１４６】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、上述のように特許請求の範囲における発明特定事項とそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０１４７】
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【符号の説明】
【０１４８】
１００  集積回路
１１０〜１４０  バスクライアント
２００  メモリバスシステム
２１０  ライトセレクタ
２２０  ライトデータバッファ
２３０  リードセレクタ
２４０  リードデータバッファ
３００  アービタ
３１０  バンク状態情報生成部
３２０  転送方向保持部
３３０  ＬＲＵ順位管理部
３５０  待機時間計測部
３６０  リクエストマスク判定部
３６１  アクセス可否判断部
３６２  待機可否判断部
３６３  待機時間閾値保持部
３６４  マスク信号生成部
３７０  リクエストマスク処理部
３８０  優先度決定部
３８１  転送方向比較部
３８２  待機レベル判定部
３８３  待機時間閾値保持部
３８４  固定優先度取得部
３８５  固定優先度保持部
３８６  優先度算出部
３９０  選択部
４００  メモリコントローラ
５００  メモリシステム
５１０  コマンドデコーダ
５２０  アドレスバッファ
５３０〜５５０  バンクセレクタ
５６０〜５８０  バンク
５６１、５７１，５８１  ロウセレクタ
５６２、５７２、５８２  センスアンプ
５６３、５７３、５８３  カラムセレクタ
５６６〜５６９  ロウ
【図１】
2010218323.tif 000003
【図２】
2010218323.tif 000004
【図３】
2010218323.tif 000005
【図４】
2010218323.tif 000006
【図５】
2010218323.tif 000007
【図６】
2010218323.tif 000008
【図７】
2010218323.tif 000009
【図８】
2010218323.tif 000010
【図９】
2010218323.tif 000011
【図１０】
2010218323.tif 000012
【図１１】
2010218323.tif 000013
【図１２】
2010218323.tif 000014
【図１３】
2010218323.tif 000015