(57)【要約】    【課題】      半導体装置の端子数の増加を抑えつつ、データバスの使用効率を高めること。    【解決手段】  メモリコントローラ１２１を、行アドレスのみでアクセスできるＳＲＡＭ１２２、ＮＯＲ型フラッシュメモリ１２３と、行アドレスと列アドレスを指定してアクセスできるＳＤＲＡＭ１２４とに接続する。そして、データバス１０７を時分割で共用する構成とし、その他の制御線をＳＲＡＭ１２２、ＮＯＲ型フラッシュメモリ１２３とＳＤＲＡＭ１２４とに個別に接続する。アクセス先となる前記各メモリデバイスへのアクセス要求をＦＩＦＯメモリ２０１に蓄積し、ＳＤＲＡＭ１２４がアクセスを不可とするデータバスアイドル区間をＳＤＲＡＭアクセス区間判定装置２０４が検出する。アクセス不可区間に後続のＳＲＡＭ１２２へのアクセス要求を実行可能ならば当該ＳＲＡＭ１２２へのアクセス要求が先頭に来るようにＦＩＦＯメモリ２０１のクセス要求の順位を入れ替える。  【選択図】      図１
2005301739.tif 000002
【特許請求の範囲】
【請求項１】
単一アドレスを指定してデータの転送が可能な第１メモリ装置と行アドレス及び列アドレスを指定することによりデータ転送可能な第２メモリ装置とを制御するメモリコントローラにおいて、前記各メモリ装置に対するデータバスを時分割にて共用する構成とし、前記各メモリ装置に接続する制御線をそれぞれ独立にしたことを特徴とするメモリコントローラ。
【請求項２】
前記データバスのバス幅は、前記第１メモリ装置のバス幅と前記第２メモリ装置のバス幅とのうち大きい方のバス幅を選択することを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
アクセス先となる前記各メモリ装置へのアクセス要求を管理するＦＩＦＯメモリと、前記第２メモリ装置がアクセスを不可とする区間の開始と終了を検出するアクセス区間判定手段と、前記アクセス区間判定手段にてアクセス不可であると検出されたアクセス不可区間に前記ＦＩＦＯメモリに蓄積した後続の第１メモリ装置へのアクセス要求を実行可能ならば当該第１メモリ装置へのアクセス要求が先頭に来るように前記ＦＩＦＯメモリにおけるアクセス要求の順位を入れ替えるアクセス制御手段と、を具備する請求項１又は請求項２に記載のメモリコントローラ。
【請求項４】
前記ＦＩＦＯメモリに蓄積されるアクセス要求は、アクセス先となるメモリ装置の種別、アクセス長、リード・ライトの極性、アドレスを含んだ構成とし、前記アクセス区間判定手段は、前記アクセス要求に含まれた情報に基づいて前記第２メモリ装置がアクセスを不可とする区間の開始と終了を検出することを特徴とする請求項３記載のメモリコントローラ。
【請求項５】
前記アクセス区間判定手段は、前記第２メモリ装置について、プリチャージ、セルフリフレッシュ、パワーダウンモードの各動作状態と、前記アクセス要求に含まれた情報とに基づいて、前記第２メモリ装置に対するアクセス不可区間を検出することを特徴とする請求項４記載のメモリコントローラ。
【請求項６】
前記アクセス制御手段は、前記アクセス区間判定手段により検出されたアクセス不可区間と予め設定された閾値とを比較し、検出されたアクセス不可区間が閾値を超えた場合にアクセス要求の順位を入れ替えることを特徴とする請求項３から請求項５のいずれかに記載のメモリコントローラ。
【請求項７】
請求項１から請求項６のいずれかに記載のメモリコントローラを複数備えた半導体装置であって、前記各メモリコントローラが互いに協調して動作することを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＲＡＭに代表されるような行アドレスと列アドレスを指定してアクセスするメモリデバイスと、ＳＲＡＭに代表されるような行アドレスのみを指定してアクセスするメモリデバイスとの双方に対してアクセス可能なメモリコントローラおよびメモリコントローラを集積した半導体装置に関する。
【背景技術】
【０００２】
従来、ＳＤＲＡＭに代表される行アドレスと列アドレスを指定するメモリデバイスのメモリコントローラと、ＳＲＡＭに代表される行アドレスのみを指定するメモリデバイスのメモリコントローラとは、それぞれのメモリデバイスのアクセスインタフェースの違いより、別々のバスとして半導体装置に具備される方法が考えられていた。
【０００３】
図７にＳＲＡＭ１１２２とＮＯＲ型フラッシュメモリ１１２３、ＳＤＲＡＭ１１２４をメモリコントローラ１１２０に接続した例を示している。アドレスバス１１０２、クロック信号（ＣＬＫ）線１１０３、ライトイネーブル信号（ＷＥ）線１１０４、リードイネーブル信号（ＲＥ）線１１０５、バイトイネーブル信号（ＢＥ）線１１０６、データバス１１０７がＳＲＡＭ１１２２とＮＯＲ型フラッシュメモリ１１２３に共通の外部端子として接続されている。
【０００４】
また、アドレスバス１１１１、クロック信号（ＣＬＫ）線１１１３、クロックイネーブル信号（ＣＫＥ）線１１１４、ライトイネーブル信号（ＷＥ）線１１１５、リードイネーブル信号（ＲＥ）線１１１６、バンクセレクト信号（ＢＡ）線１１１７、バイトイネーブル信号（ＢＥ）線１１１８、データバス１１２１がＳＤＲＡＭ１１２４にのみ接続されている。
【０００５】
また、ＳＲＡＭ１１２２、ＮＯＲ型フラッシュメモリ１１２３、ＳＤＲＡＭ１１２４それぞれにチップセレクト信号（ＣＳ）線１１０１、１１０８、１１１２が接続されている。
【０００６】
これらの構成では、ＳＤＲＡＭ１１２４と、ＳＲＡＭ１１２２あるいはＮＯＲ型フラッシュメモリ１１２３のいずれかに同時アクセスが可能な機構を有している。
【０００７】
また、行アドレスと列アドレスを指定してアクセスするメモリデバイスと、行アドレスで指定してアクセスするメモリデバイスと、を制御するにあたり、ＣＳ信号以外の全ての外部端子を可能な限り共有する方法も考えられている。
【０００８】
一方、行アドレスのみを指定するメモリデバイスの代表としてフラッシュメモリのコントローラの類似性に着目し、共有接続可能な信号と個別接続信号に分類し、かつ柔軟なメモリアクセス制御を実現したものが考えられている（例えば、特許文献１参照）。なお、ＳＤＲＡＭに対しての共用化についてまでは述べられていない。
【特許文献１】特開２００３-１３１９４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ＳＤＲＡＭに代表される行アドレスと列アドレスを指定するメモリデバイスのコントローラと、ＳＲＡＭに代表される行アドレスのみを指定するメモリデバイスのコントローラを個別に実装すると、端子数が増大するという問題が発生する。一方、前記２種類のメモリデバイスの外部端子を可能な限り共用すると、ＳＲＡＭ側は逐次方式のインターフェースを採用しているのに対してＳＤＲＡＭ側はデータとアドレスを分離したパイプライン方式を採用しているような場合、ＳＲＡＭとＳＤＲＡＭの切替えが頻繁に発生すると、ＳＤＲＡＭ側のパイプライン制御の効果を発揮できず、データバスを使用できない区間が発生し、メモリへのアクセス効率が下がってしまうという問題が発生する。
【００１０】
本発明は、以上のような実情に鑑みてなされたものであり、行アドレスを指定してデータの転送が可能なメモリデバイスと、行アドレスと列アドレスを指定することによりデータ転送可能なメモリデバイスとを制御するにあたり、半導体装置の端子数の増加を抑えつつ、データバスの使用効率を高めることが可能なメモリコントローラ及び半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本メモリコントローラは、単一アドレスを指定してデータの転送が可能な第１メモリ装置と、行アドレスと列アドレスを指定することによりデータ転送可能な第２メモリ装置とを制御するにあたり、データバスを時分割で共用する構成となし、その他の制御線をそれぞれのメモリ装置に対して独立して接続する構成とした。
【００１２】
この構成により、ＳＲＡＭを代表とする単一アドレスを指定してデータの転送が可能な第１メモリ装置と、ＳＤＲＡＭを代表とする行アドレスと列アドレスを指定することによりデータ転送可能な第２メモリ装置とを制御するにあたり、個々のメモリ装置を独立に制御するよりもデータバスの端子数を抑えることが可能となる。
【００１３】
また、アクセス先となる前記各メモリ装置へのアクセス要求を管理するＦＩＦＯメモリと、前記第２メモリ装置がアクセスを不可とする区間の開始と終了を検出するアクセス区間判定手段と、前記アクセス区間判定手段にてアクセス不可であると検出されたアクセス不可区間に前記ＦＩＦＯメモリに蓄積した後続の第１メモリ装置へのアクセス要求を実行可能ならば当該第１メモリ装置へのアクセス要求が先頭に来るように前記ＦＩＦＯメモリにおけるアクセス要求の順位を入れ替えるアクセス制御手段とを具備するものとした。
【００１４】
これにより、第２メモリ装置に対してアクセス不可であると検出されたアクセス不可区間に、ＦＩＦＯメモリに蓄積した後続の第１メモリ装置へのアクセス要求を実行できるので、データバスの使用効率を改善することができる。
【発明の効果】
【００１５】
本発明によれば、単一アドレスを指定してデータの転送が可能な第１メモリ装置と、行アドレスと列アドレスを指定することによりデータ転送可能な第２メモリ装置とを制御するにあたり、半導体装置の端子数の増加を抑えつつ、データバスの使用効率を高めることが可能なメモリコントローラ及びそのようなメモリコントローラを備えた半導体装置を提供できる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明をメモリコントローラ及び半導体装置に適用した一実施の形態について、図面を用いて具体的に説明する。
【００１７】
図１は、本実施の形態に係るメモリコントローラ１２１と、メモリデバイスとしてＳＲＡＭ１２２と、ＮＯＲ型フラッシュメモリ１２３と、ＳＤＲＡＭ１２４との接続例を示している。メモリコントローラ１２１に対して、行アドレスを指定してデータの転送が可能なメモリデバイスとしてＳＲＡＭ１２２とＮＯＲ型フラッシュメモリ１２３が接続し、行アドレスと列アドレスを指定することによりデータ転送可能なメモリデバイスとしてＳＤＲＡＭ１２４が接続している。
【００１８】
メモリコントローラ１２１は、半導体装置としてのＬＳＩにおけるメモリインタフェース（端子部分）であり、ＬＳＩ側からのメモリアクセス要求に対応してメモリデバイスに対するリード／ライトを制御する働きをする。ＬＳＩの構成によるが、メモリコントローラ１２１に対して、例えばＣＰＵ，ＤＳＰ，ＤＭＡ，アクセラレータ等がアクセス要求を出す。
【００１９】
メモリコントローラ１２１からＳＲＡＭ１２２、ＮＯＲ型フラッシュメモリ１２３、ＳＤＲＡＭ１２４へのデータのリード／ライトは、共通のデータバス１０７を介して行う構成となっている。なお、データバス１０７のバス幅は、ＳＲＡＭ１２２及びＮＯＲ型フラッシュメモリ１２３で使用するバス幅と、ＳＤＲＡＭ１２４で使用するバス幅のうち大きい方のバス幅を選択するものとする。
【００２０】
以上のように、インターフェースの異なるメモリ装置についてデータバス１０７を共用化したことにより、例えば３２ビットのデータバスをメモリコントローラ１２１から各メモリデバイス（１２２、１２４）に別々に接続する場合に比べて、３２の端子数を削減することができる。
【００２１】
ＳＲＡＭ１２２とＮＯＲ型フラッシュメモリ１２３とは、アドレスバス１０２及びチップセレクト信号を除く制御信号の制御線（１０３，１０４，１０５，１０６）を共用しており、ＳＤＲＡＭ１２４はアドレスバス１１１及び全ての制御線（１１２〜１１８）が独立に接続している。すなわち、アドレスバス１０２および１１１、同期クロック信号（ＣＬＫ）線１０３および１１８、ライトイネーブル信号（ＷＥ）線１０４および１１５、リードイネーブル信号（ＲＥ）線１０５および１１６、バイトイネーブル信号（ＢＥ）線１０６および１１８はそれぞれのメモリデバイスにそれぞれ各一組ずつ接続され、チップセレクト信号（ＣＳ）線１０１、１０８、１１２はメモリデバイス毎に接続されている。また、ＳＤＲＡＭ１２４に対しては、バンクセレクト信号（ＢＡ）線１１７が接続されており、それぞれのメモリデバイスの共有信号として、データバス１０７が接続されている。
【００２２】
上記の構成にてＳＲＡＭ１２２あるいはＮＯＲ型フラッシュメモリ１２３へのデータアクセスと、ＳＤＲＡＭ１２４へのデータアクセスをデータバス１０７上にて時分割で行う構成を有する。
【００２３】
次に、図２を用いてメモリコントローラ１２１の構成と動作を説明する。図２に示すように、メモリコントローラ１２１は、ＦＩＦＯメモリ２０１と、メモリ制御信号生成装置２０２と、次回アクセス制御装置２０３と、ＳＤＲＡＭアクセス区間判定装置２０４とから構成されている。
【００２４】
ＦＩＦＯメモリ２０１は、ＬＳＩから与えられるメモリアクセス要求の順序を管理するバッファである。図３にメモリアクセス要求の具体的な内容を例示する。同図に示すように、メモリデバイスへのアクセス長３０１と、リード・ライト極性情報３０２と、アドレス情報３０３と、アクセスするメモリデバイスのＣＳ空間を示すアクセス先情報３０４とから構成されている。ＦＩＦＯメモリ２０１は、先頭に格納しているメモリアクセス要求を経路２１５にてメモリ制御信号生成装置２０２に通知する。
【００２５】
メモリ制御信号生成装置２０２は、メモリアクセス要求の内容にしたがって各種メモリデバイスに対してアクセスのための制御信号（データバス信号以外）を生成する。また、メモリ制御信号生成装置２０２は、ＳＤＲＡＭのアクセス状況をＳＤＲＡＭアクセス区間判定装置２０４に対して経路２１６を用いて通知する。ＳＤＲＡＭ１２４のアクセス状況には、ＳＤＲＡＭ１２４におけるプリチャージ、セルフリフレッシュ、パワーダウンモード等の動作状況に関する情報を含む。このようなアクセス状況情報は経路２１６を通してＳＤＲＡＭアクセス区間判定装置２０４に通知する。
【００２６】
ＳＤＲＡＭアクセス区間判定装置２０４は、ＦＩＦＯメモリ２０１に蓄積されたアクセス要求のアクセス先情報３０４、アドレス情報３０３、およびリード・ライト極性情報が経路２１１を経由して伝えられる。ＳＤＲＡＭアクセス区間判定装置２０４は、アクセス先情報３０４よりＳＤＲＡＭアクセスが連続していることを、アドレス情報３０３より同一バンクへの連続アクセスが要求されていることを、リード・ライト極性情報３０２によりリードアクセスからライトアクセスへアクセスが遷移することを観測することが可能となる。そして、ＳＤＲＡＭアクセス区間判定装置２０４は、経路２１１および経路２１６で得られた情報を元に、ＳＤＲＡＭアクセスが連続して発生する場合のデータバスアイドル区間を検出し、経路２１２を用いて次回アクセス制御装置２０３へ通知する。
【００２７】
次回アクセス制御装置２０３は、ＳＤＲＡＭアクセス区間判定装置２０４から通知されたデータバスアイドル区間とレジスタ２０５に記憶した閾値（クロック数）とを比較する。レジスタ２０５に記憶する閾値は、ＳＲＡＭ１２２又はＮＯＲ型フラッシュメモリ１２３に対する最小アクセス長に対応したクロック数とすることが望ましい。経路２１７を経由して次回アクセス制御装置２０３へ伝えられる。データバスアイドル区間にＳＲＡＭ１２２又はＮＯＲ型フラッシュメモリ１２３へのアクセスを実行することができるか否か判定するためのクロック数（サイクル数）を記憶している。
【００２８】
データバスアイドル区間が閾値よりも大きい場合、ＦＩＦＯメモリ２０１内に蓄積したアクセス要求の順位を制御する可能性がある。具体的には、ＳＤＲＡＭアクセスが連続して発生する場合に生じるデータバスアイドル区間を、後続のアクセス要求の処理で埋めることができる場合、後続のＳＲＡＭ１２２又はＮＯＲ型フラッシュメモリ１２３に対するアクセス要求を先頭に繰り上げる。ＦＩＦＯ２０１のアクセス要求の順番は経路２１３を経由して次回アクセス制御装置２０３へ伝えられ、アクセス要求の制御は経路２１４を経由してＦＩＦＯ２０１に伝えられる。
【００２９】
ここで、図４を参照して、ＳＤＲＡＭアクセスが連続した場合のデータバスアイドル区間の発生について説明する。図４に示すタイムチャートは、ＦＩＦＯメモリ２０１に図５に示す順番でアクセス要求が蓄積していた場合に、アクセス順位の制御を行わないで処理した場合のデータバス１０７の使用状況を示している。特に、同一バンクで異なる行アドレスに連続アクセスする場合を例示している。このようなケースはデータバスアイドル区間が発生する典型的な例の一つである。
【００３０】
メモリコントローラ１２１は、ＦＩＦＯメモリ２０１の先頭にＳＤＲＡＭ１２４に対するアクセス要求が位置した場合、チップセレクト信号（ＣＳ）線１１２によりＳＤＲＡＭ１２４を選択し、ＳＤＲＡＭ１２４へのアクセスのためにデータバス１０７を使用できるようにする。そして、ＳＤＲＡＭコマンドであるActivateにより行アドレスを発行し、そこから所定時間経過後にＳＤＲＡＭコマンドであるリード（Ａ）で列アドレスを発行する。列アドレスを発行してから所定時間経過後に、対象バンク（例えばバンクＡ）から読み出されたリードデータの先頭（Ａ０）がデータバス１０７上に出力される。先頭のリードデータ（Ａ０）から連続して残り３バースト分のリードデータ（Ａ１〜Ａ３）が連続してデータバス１０７上に出力される。
【００３１】
なお、行アドレスを発行してから列アドレスを発行するまでに要する時間並びに列アドレスを発行してからデータバス１０７上に先頭データが現れるまでに要する時間は、システム設計に応じた固定値である。
【００３２】
ＳＤＲＡＭ１２４は行アドレスと列アドレスとの組合せでアドレスを指定する。行アドレス及び列アドレスの発行にそれぞれ１クロック分要する。したがって、新たにＳＤＲＡＭ１２４にアクセスする場合、前記固定値とアドレス発行に要する時間との合計時間がデータバスアイドル区間となる。図４に示すように、ＳＤＲＡＭ１２４から先頭のリードデータＡ０がデータバス１０７に出力されるまでに、最初のデータバスアイドル区間が発生している。
【００３３】
なお、対象バンクからバッファ内に読み出されたデータは、ＳＤＲＡＭコマンドであるプリチャージにより元の位置に戻される。
【００３４】
図４に示す例では、ＳＤＲＡＭ１２４の同一バンクＡで異なる行アドレスにアクセスするアクセス要求が連続している場合を示している。すなわち、図５に示すアクセス順序において２番目のアクセス要求は１番目のアクセス要求と同一バンクＡであって異なる行アドレスにアクセスするアクセス要求であるものとする。
【００３５】
ところで、ＳＤＲＡＭ１２４は必ずプリチャージしてからでないと同一バンクでは異なる行アドレスを選択するActivateを発行できない。そのため、メモリ制御信号生成装置２０２は、プリチャージコマンドを発行してプリチャージを行う一方、最後のリードデータ（Ａ３）がデータバス１０７に出力した次のタイミングでクロック同期して行アドレスを選択するActivateを発行する。
【００３６】
図５における２番目のアクセス要求の実行では、Activateにより行アドレスを発行し、その後リード（Ｂ）により列アドレスを発行し、その後にデータバス１０７上にリードデータ（Ｂ０〜Ｂ３）が連続して出力される。
【００３７】
このように、２番目のアクセス要求の実行においても同一バンクＡで異なる行アドレスにアクセスするため、プリチャージしてから行アドレスの発行、列アドレスの発行を行うこととなり、上記同様のデータバスアイドル区間が発生している。
【００３８】
次に、図５において３番目のアクセス要求であるＳＲＡＭ１２２に対するアクセス要求がＦＩＦＯメモリ２０１の先頭に来る。メモリコントローラ１２１は、ＳＤＲＡＭ１２４へのアクセス（リードＢ）が終了すると、次のクロックに同期してＳＲＡＭ１２２に対するチップセレクト信号（ＣＳ）線１０１をアクティブにすると共に、ＳＲＡＭコマンドであるライト（Ｃ）によりアドレスバス１０２上にライトアドレス（単一アドレス）を出力する。ＳＲＡＭ１２２の場合、アクセス時のアドレス指定は単一アドレスを指定するだけでよく、ＳＤＲＡＭ１２４に対するアドレス指定の場合のような空きは生じない。ＳＲＡＭ１２２はライト要求と同時にデータバス１０７上にライトデータＣが出力され、当該データＣがＳＲＡＭ１２２に書き込まれる。
【００３９】
次に、図５において４番目のアクセス要求であるＳＲＡＭ１２２に対するアクセス要求がＦＩＦＯメモリ２０１の先頭に来る。そして、３番目のアクセス要求の実行が完了した次のクロックに同期して、リードＤによるリードアドレスが発行されると共に、ＳＲＡＭ１２２のリードアドレスからリードデータＤが読み出されてデータバス１０７上に出力される。
【００４０】
以上のように、ＳＤＲＡＭ１２４に対するアクセスでは、行アドレスを指定してから列アドレスを指定し、その後にデータバス１０７の使用を開始するので、図４（ａ）に示すように使用されていない帯域（データバスアイドル区間）が発生する。
【００４１】
本実施の形態では、ＳＤＲＡＭ１２４に対するアクセス時に生じるデータバスアイドル区間を判定し、そのデータバスアイドル区間に、後続のＳＲＡＭ１２２又はＮＯＲ型フラッシュメモリ１２３へのアクセス要求を割り込ませるだけの時間幅があれば、ＦＩＦＯメモリ２０１におけるアクセス要求の順位を操作して後続のＳＲＡＭ１２２又はＮＯＲ型フラッシュメモリ１２３へのアクセス要求を先に実行するものとした。
【００４２】
図６は、ＦＩＦＯメモリ２０１におけるアクセス要求の順位を操作した場合のタイムチャートである。当初にＦＩＦＯメモリ２０１に蓄積されたアクセス要求の順位は図５に示す通りである。図５に示すアクセス要求の内容及び順位を分析すると、図４（ａ）（ｂ）に示すように、１番目のアクセス要求によるＳＤＲＡＭ１２４アクセス時、並びに同一バンクＡの異なる行アドレスにアクセスすることとなる２番目のアクセス要求時のそれぞれにおいてデータバスアイドル区間が生じることが判明する。
【００４３】
ＳＤＲＡＭアクセス区間判定装置２０４は、ＦＩＦＯメモリ２０１に蓄積されたアクセス要求データを取り込んで、ＳＤＲＡＭ１２４へのアクセス要求からＳＤＲＡＭ１２４アクセス時のデータバスアイドル区間を検出する。また、メモリ制御信号生成装置２０２は、ＳＤＲＡＭ１２４におけるプリチャージ、セルフリフレッシュ、パワーダウンモードの各動作タイミングを管理・制御している。後続のＳＤＲＡＭアクセスがない場合、プリチャージを発行してからデータバス１０７を使わない区間が発生する。またセルフリフレッシュ、パワーダウンモードからの復帰時にはデータバス１０７を使わない区間が発生する。このようにデータバス１０７を使わない区間が発生する可能性のあるイベントをＳＤＲＡＭアクセス状況としてＳＤＲＡＭアクセス区間判定装置２０４へ通知する。
【００４４】
ＳＤＲＡＭアクセス区間判定装置２０４は、図５に示すＦＩＦＯメモリ２０１のアクセス要求情報から図４に示すＳＤＲＡＭアクセス時のデータバスアイドル区間を検出する。そして、検出したデータバスアイドル区間情報を次回アクセス制御装置２０３へ通知する。また、ＳＤＲＡＭアクセス区間判定装置２０４は、メモリ制御信号生成装置２０２から受け取ったＳＤＲＡＭアクセス状況からＳＤＲＡＭ１２４のアクセス期間中に、データバス１０７を不使用になる区間が生じるか否か判定する。不使用区間すなわちデータバスアイドル区間が発生する場合は次回アクセス制御装置２０３へ通知する。
【００４５】
次回アクセス制御装置２０３は、レジスタ２０５に予め記憶した閾値とＳＤＲＡＭアクセス区間判定装置２０４から通知されたデータバスアイドル区間とを比較する。図４に示す例では、最初のデータバスアイドル区間及び２番目のデータバスアイドル区間のそれぞれが閾値よりも大きい。すなわち、図６に示すように、最初のデータバスアイドル区間において図５における３番目のアクセス要求（ライトＣ）を実行することができ、２番目のデータバスアイドル区間において図５における４番目のアクセス要求（リードＤ）を実行することができる。
【００４６】
そこで、次回アクセス制御装置２０３は、図５における３番目のアクセス要求（ライトＣ）をＦＩＦＯメモリ２０１の先頭に移動し、図５における４番目のアクセス要求（リードＤ）をＳＤＲＡＭアクセス要求（リードＡ）の直後の３番目に移動する。このように、先行するＳＤＲＡＭアクセス要求によって発生するデータバスアイドル区間を、後続のＳＲＡＭアクセス要求又はＮＯＲ型フラッシュメモリアクセス要求で埋めるように順位操作を行う。順位操作した後の順番で順次アクセス要求を実行することにより、図６に示すようにデータバス１０７の使用効率を上げることができる。
【００４７】
このような本実施の形態によれば、安価なＳＤＲＡＭを使用頻度が高く、高価なＮＯＲ型フラッシュメモリやＳＲＡＭの使用頻度が低い場合に、データバスの使用効率を高めつつ、性能を維持することができ、端子数の増加を抑制することが可能となる。
【００４８】
なお、上記の構成は一例であり、構成するメモリデバイスを限定するものではない。また、使用するデバイスに依存した専用の制御信号を必要とするのであれば、その信号を追加する構成も本発明の示す範囲となる。
【００４９】
また、以上の説明では１つのメモリコントローラ１２１を用いた場合を説明したが、上記実施の形態と同じメモリコントローラを半導体装置上に複数併設し、各メモリコントローラがデータバスを時分割で共用するようにしても良い。この場合、メモリコントローラ間でアクセスが衝突しないように互いに協調してメモリアクセスを実行し、かつ各メモリコントローラにおいてＦＩＦＯに蓄積したアクセス要求の順位を上述したアルゴリズムにしたがって操作するようにしても良い。さらに、そのような半導体装置上に単一アドレスを指定してデータの転送が可能なメモリデバイスを制御可能なメモリコントローラを１つ又は複数設置し、各コントローラが協調して動作するように構成してもよい。
【産業上の利用可能性】
【００５０】
本発明は、行アドレスを指定してデータの転送が可能なメモリデバイスと、行アドレスと列アドレスを指定することによりデータ転送可能なメモリデバイスとを制御するにあたり、半導体装置の端子数の増加を抑えつつ、データバスの使用効率を高めることができ、メモリコントローラ及び半導体装置に適用可能である。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施の形態に係るメモリコントローラの接続例を示す図
【図２】図１に示すメモリコントローラの構成図
【図３】図２に示すＦＩＦＯに蓄積したアクセス要求のデータ構成図
【図４】（ａ）図５に示すアクセス要求を順位操作しないで実行した場合の前半部のタイミング図、（ｂ）図５に示すアクセス要求を順位操作しないで実行した場合の後半部のタイミング図
【図５】ＦＩＦＯに蓄積したアクセス要求の一例を示す図
【図６】図５に示すアクセス要求を順位操作した場合のタイミング図
【図７】従来のメモリコントローラの接続例を示す図
【符号の説明】
【００５２】
１０１、１１２  チップセレクト信号（ＣＳ）線
１０２、１１１  アドレスバス
１０３、１１３  同期クロック信号（ＣＬＫ）線
１０４、１１５  ライトイネーブル信号（ＷＥ）線
１０５、１１６  リードイネーブル信号（ＲＥ）線
１０６、１１８  バイトイネーブル信号（ＢＥ）線
１０７  データバス
１１７  バンクセレクト信号（ＢＡ）線
１２１  メモリコントローラ
１２２  ＳＲＡＭ
１２３  ＮＯＲ型フラッシュメモリ
１２４  ＳＤＲＡＭ
２０１  ＦＩＦＯ
２０２  メモリ制御信号生成装置
２０３  次回アクセス制御装置
２０４  ＳＤＲＡＭアクセス区間判定装置
２１１〜２１７  アクセス経路
３０１  メモリへのアクセス長
３０２  リード・ライト極性情報
３０３  アドレス情報
３０４  アクセス先情報
【図１】
2005301739.tif 000003
【図２】
2005301739.tif 000004
【図３】
2005301739.tif 000005
【図４】
2005301739.tif 000006
【図５】
2005301739.tif 000007
【図６】
2005301739.tif 000008
【図７】
2005301739.tif 000009