(57)【特許請求の範囲】
【請求項１】
メモリアクセスの効率的で柔軟な制御のための電子機器（２００）であって、
前記機器（２００）は、
少なくとも１つのメモリアクセスユニット（２０２）に接続され、
少なくとも１つの物理的なメモリモジュール（２０３）を有するメモリ（１００）に接続されており、
前記機器（２００）は、
少なくとも２つのアクセスチャネル回路（３００）と、
前記少なくとも２つのアクセスチャネル回路（３００）を動的に制御する制御構成回路（２０１）とを有し、
前記制御構成回路（２０１）はさらなるアクセスチャネル回路（３００）の簡単な追加実装を可能にし、
少なくとも１つのアクセスチャネル回路（３００）は、少なくとも１つのシステムバス（３０４；３０８）を介して前記少なくとも１つのメモリアクセスユニット（２０２）と、前記少なくとも１つの物理的なメモリモジュール（２０３）とに接続され、
前記少なくとも１つのアクセスチャネル回路（３００）は、前記メモリ（１００）の少なくとも一部への前記少なくとも１つのメモリアクセスユニット（２０２）によるメモリアクセスを提供することを特徴とする電子機器。
【請求項２】
前記少なくとも２つのアクセスチャネル回路（３００）夫々は、前記メモリ（１００）の少なくとも一部への少なくとも１つのメモリアクセスユニット（２０２）によるメモリアクセスを提供し、これにより、異なるアクセスチャネル回路（３００）に接続されたメモリアクセスユニット（２０２）が、前記メモリ（１００）の異なる部分に対して、独立に、そして同時／並列的なアクセスを可能にすることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記機器は、少なくとも２つのアクセスチャネル回路（３００）を有し、該回路各々は単一のシステムバス（３０４、３０８）を介して単一のメモリアクセスユニット（２０２）に接続され、該回路各々は前記メモリ（１００）の少なくとも一部からの情報／データを受信するために接続されている（２１０）ことを特徴とする請求項１又は２に記載の電子機器。
【請求項４】
前記機器（２００）は、単一のシステムバス（３０４、３０８）を介して少なくとも２つのメモリアクセスユニット（２０２）に接続された１つのアクセスチャネル回路（３００）を有し、
前記１つのアクセスチャネル回路（３００）は、前記メモリ（１００）の少なくとも一部からデータ／情報を受信することと、前記メモリ（１００）の少なくとも一部に対してデータ／情報を送信することとの少なくともいずれかのために接続されている（２１０）ことを特徴とする請求項１乃至３のいずれか１項に記載の電子機器。
【請求項５】
アクセスチャネル回路（３００）はさらに、メモリアクセスユニット（２０２）が前記データ／情報を取り出すのに先立ち、前記メモリ（１００）の第１の物理的メモリモジュール（２０３）から前記メモリ（１００）の第２の物理的メモリモジュール（２０３）へデータ／情報を転送する自動データ転送エンジン（３０１）を有することを特徴とする請求項１乃至４のいずれか１項に記載の電子機器。
【請求項６】
複数のアクセスチャネル回路（３００）の自動データ転送エンジンは、自動データ転送エンジンのチェインを形成するように接続されており、
各データ転送エンジン（３０１）は前記データ／情報の異なる部分の転送を担当することを特徴とする請求項５に記載の電子機器。
【請求項７】
前記少なくとも１つのアクセスチャネル回路（３００）は、少なくとも１つの特別な目的のレジスタを有し、前記制御構成回路（２０１）に接続されており（３０７）、
前記制御構成回路（２０１）は前記少なくとも１つの特別な目的のレジスタの内容を変更するために適合されており、これにより、動作中に他のアクセスチャネル（３００）に影響を与えることなく、個々のアクセスチャネル回路（３００）の再構成を可能にしていることを特徴とする請求項１乃至６のいずれか１項に記載の電子機器。
【請求項８】
前記再構成は、前記メモリ（１００）の機能モードと少なくとも１つのアクセス領域との内の少なくともいずれかを構成することを含むことを特徴とする請求項７に記載の電子機器。
【請求項９】
前記機器（２００）は接続されたメモリアクセスユニット（２０２）各々ための１つのアクセスチャネル回路（３００）を有し、
各アクセスチャネル回路（３００）は前記メモリ（１００）の各メモリモジュール（２０３）に接続されていることを特徴とする請求項１乃至８のいずれか１項に記載の電子機器。
【請求項１０】
アクセスチャネル回路（３００）は、
メモリアクセスユニット（２０２）に接続された入力側のシステムバス（３０４）とメモリアクセスユニットに接続された出力側のシステムバス（３０８）とを、接続されることになる与えられたメモリバス（２０９）を表現する第１の識別子のために監視するために適合され、前記第１の識別子に基づいて、前記与えられたメモリバス（２０９）と前記与えられたメモリバス（２０９）がどこに接続されるのかを表現する第１の制御信号／コードを提供するメモリアクセスコントローラ（３０１）と、
前記メモリ（１００）のメモリモジュール（２０３）に接続されたメモリバス（２０９）へ、前記入力側システムバス（３０４）或いは前記メモリアクセスコントローラ（３０１）からのアクセスを、前記メモリアクセスコントローラ（３０１）から受信した前記第１の制御信号／コードに依存して可能にするソース及び宛先セレクタ（３０３）と、
第２のユニークな識別子に依存して、特定のメモリモジュール（２０３）の与えられた読出しアクセスの間に、どのメモリモジュール（２０３）が前記メモリアクセスユニット（２０２）に接続された出力側システムバス（３０８）に接続されることになるのかを選択するメモリモジュールセレクタ（３０２）とを有することを特徴とする請求項１乃至９のいずれか１項に記載の電子機器。
【請求項１１】
少なくとも１つのメモリアクセスユニット（２０２）と少なくとも１つの物理的なメモリモジュール（２０３）を有するメモリ（１００）との間のメモリアクセスの効率的で柔軟な制御のための方法であって、
前記方法は、
少なくとも２つのアクセスチャネル回路（３００）の少なくとも１つにより、前記メモリ（１００）の少なくとも一部への前記少なくとも１つのメモリアクセスユニット（２０２）によるメモリアクセスを提供する工程と、
制御構成回路（２０１）により前記少なくとも２つのアクセスチャネル回路（３００）を動的に制御する工程とを有し、
前記制御構成回路（２０１）はさらなるアクセスチャネル回路（３００）の簡単な追加実装を可能にし、
前記少なくとも１つのアクセスチャネル回路（３００）は、少なくとも１つのシステムバス（３０４；３０８）を介して前記少なくとも１つのメモリアクセスユニット（２０２）と、前記少なくとも１つの物理的なメモリモジュール（２０３）とに接続されることを特徴とする方法。
【請求項１２】
前記少なくとも２つのアクセスチャネル回路（３００）を介して、前記メモリ（１００）の少なくとも一部への少なくとも２つのメモリアクセスユニット（２０２）による同時的なメモリアクセスを提供する工程をさらに有し、
各アクセスチャネルが、前記メモリ（１００）の異なる部分に対する独立のアクセスを提供し、
これにより、異なるアクセスチャネル回路（３００）に接続されたメモリアクセスユニット（２０２）が、前記メモリ（１００）の異なった部分への並列的なアクセスを可能にすることを特徴とする請求項１１に記載の方法。
【請求項１３】
少なくとも２つのアクセスチャネル回路（３００）による前記メモリ（１００）の少なくとも一部からのメモリアクセスを提供する工程をさらに有し、
前記少なくとも２つのアクセスチャネル回路各々は単一のシステムバス（３０４、３０８）を介して単一のメモリアクセスユニット（２０２）に接続され、前記メモリ（１００）の少なくとも一部からの情報／データを受信するために接続されている（２１０）ことを特徴とする請求項１１又は１２に記載の方法。
【請求項１４】
単一のシステムバス（３０４、３０８）を介して少なくとも２つのメモリアクセスユニット（２０２）に接続された単一のアクセスチャネル回路（３００）により、前記メモリ（１００）の少なくとも一部から前記少なくとも２つのメモリアクセスユニット（２０２）へのメモリアクセスを提供する工程をさらに有し、
前記単一のアクセスチャネル回路（３００）は、前記メモリ（１００）の少なくとも一部からデータ／情報を受信することと、前記メモリ（１００）の少なくとも一部に対してデータ／情報を送信することとの内少なくともいずれかのために接続されている（２１０）ことを特徴とする請求項１１乃至１３のいずれか１項に記載の方法。
【請求項１５】
メモリアクセスユニット（２０２）が前記データ／情報を取り出すのに先立ち、前記メモリ（１００）の第１の物理的メモリモジュール（２０３）から前記メモリ（１００）の第２の物理的メモリモジュール（２０３）へデータ／情報を転送する自動データ転送エンジン（３０１）を有するアクセスチャネル回路（３００）によりデータ／情報の自動データ転送を提供する工程をさらに有することを特徴とする請求項１１乃至１４のいずれか１項に記載の方法。
【請求項１６】
データ／情報の自動データ転送を提供する工程をさらに有し、
複数のアクセスチャネル回路（３００）の複数の自動データ転送エンジン（３０１）は、自動データ転送エンジンのチェインを形成するように接続されており、
各データ転送エンジン（３０１）は前記データ／情報の異なる部分の転送を担当することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記制御構成回路（２０１）により、前記制御構成回路（２０１）に接続された（３０７）少なくとも１つのアクセスチャネル回路（３００）に含まれた少なくとも１つの特別な目的のレジスタの内容を変更し、これにより、動作中に他のアクセスチャネル（３００）に影響を与えることなく、個々のアクセスチャネル回路（３００）の再構成を可能にしていることを特徴とする請求項１１乃至１６のいずれか１項に記載の方法。
【請求項１８】
前記再構成は、前記メモリ（１００）の機能モードと少なくとも１つのアクセス領域との内の少なくともいずれかを構成することを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
メモリアクセスは、接続されたメモリアクセスユニット（２０２）各々ための１つのアクセスチャネル回路（３００）により備えられ、
各アクセスチャネル回路（３００）は前記メモリ（１００）の各メモリモジュール（２０３）に接続されていることを特徴とする請求項１１乃至１８のいずれか１項に記載の方法。
【請求項２０】
アクセスチャネル回路（３００）に含まれるメモリアクセスコントローラ（３０１）により、メモリアクセスユニット（２０２）に接続された入力側のシステムバス（３０４）とメモリアクセスユニットに接続された出力側のシステムバス（３０８）とを、接続されることになる与えられたメモリバス（２０９）を表現する第１の識別子のために監視する工程と、
前記メモリアクセスコントローラ（３０１）により、前記第１の識別子に基づいて、前記与えられたメモリバス（２０９）と前記与えられたメモリバス（２０９）がどこに接続されるのかを表現する第１の制御信号／コードを提供する工程と、
ソース及び宛先セレクタ（３０３）による、前記メモリ（１００）のメモリモジュール（２０３）に接続されたメモリバス（２０９）へ、前記入力側システムバス（３０４）或いは前記メモリアクセスコントローラ（３０１）からのアクセスを、前記メモリアクセスコントローラ（３０１）から受信した前記第１の制御信号／コードに依存して可能にする工程と、
メモリモジュールセレクタ（３０２）により、第２のユニークな識別子に依存して、特定のメモリモジュール（２０３）の与えられた読出しアクセスの間に、どのメモリモジュール（２０３）が前記メモリアクセスユニット（２０２）に接続された出力側システムバス（３０８）に接続されることになるのかを選択する工程とをさらに有することを特徴とする請求項１１乃至１９のいずれか１項に記載の方法。
【請求項２１】
請求項１乃至１０のいずれか１項に記載の電子機器（２００）を用いたことを特徴とする移動体通信端末（５０１）。
【請求項２２】
請求項１１乃至２０のいずれか１項に記載の方法を用いたことを特徴とする移動体通信端末（５０１）。
【請求項２３】
請求項１１乃至２０のいずれか１項に記載の方法を処理装置に実行させる命令が格納されたコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は効率的で柔軟性のあるメモリアクセス制御を行う電子機器に関する。
【０００２】
また、本発明は効率的で柔軟性のあるメモリアクセス制御の方法に関する。
【０００３】
加えて、本発明はコンピュータに本発明の方法を実行させるプログラムを有したコンピュータ可読媒体に関する。
【背景技術】
【０００４】
ＡＳＩＣ（アプリケーション専用集積回路）による解決策と、特に、例えば、移動体電話におけるベースバンドとアプリケーション処理のための他の種類の集積回路において、通常、メモリにアクセスするいくつかのユニットがあり、それは、例えば、１つ以上のＣＰＵ、１つ以上のＤＳＰ、１つ以上の通信リンク（無線、ＵＡＲＴ、ＵＳＢなど）、また潜在的には特定のアプリケーション、ルーティン、手順などのためのハードウェアアクセラレータなどの内の少なくともいずれかである。更にその上、そのシステムはいくつかのインスタンスと複数種類のメモリとの内、少なくともいずれかを含んでいる。それらメモリの種類には、オフチップ揮発性、オフチップ不揮発性、異種オンチップメモリなどを含んでいるかもしれない。これらのメモリは、メモリアクセスを行う種々のユニットによって完全に、或いは部分的に共有される傾向がある。従って、そのメモリユニットからメモリアクセスを行うユニットへ、そして、そのメモリアクセスを行うユニットからメモリユニットへのメモリアクセスをできる限り効率的にルーティングするメモリコントローラの必要性がある。
【０００５】
たいていの組み込み型システムにおいて、メモリコントローラは一度に１つだけのユニットが共用されるメモリのいずれかにアクセスが可能なようにしており、即ち、これらのメモリへのアクセスは完全に順次化している。これは複雑さの少ない解決策であり、アクセスユニットは単一のメモリバスを共用し、それらのメモリは全てこの共用バスに接続される。これに対して、そのような処理システムの性能はたいしたものではなく、リアルタイム性が大切なソフトウェアを有するときの衝撃は破壊的である。つまり、リアルタイム性が重要なタスクが定常的にメモリアクセスの高い優先度をもち、他のタスクは“飢餓状態”となる結果となるか、システムがリアルタイム性に乏しい特性を示すかの内、少なくともいずれかになる。
【０００６】
他の解決策では、データリンク或いはバスのネットワークは、ユニットのメモリ要求が独立に対象メモリへとルーティングされるようにサポートされており、１つ以上のユニットが同じ物理的なメモリモジュール或いは別々にアクセス可能なメモリバンクをアクセスするときにのみメモリ競合が現れる。そのような解決策はかなりより良い性能を提供することになるが、一方で、その解決策は、実際のシリコン領域（それは重要度が少なくなっているが）からのみならず電力消費や開発労力の点からも、かなり複雑なものになると従来は考えられてきた。後者においては、そのような解決策のたいていのものは特定のシステムや実装のためにユニークに設計されたものであり、スケーラブルであるように設計されたものではないことが理由となっている。この文脈において、スケーラブルとは、同じ基本設計とアーキテクチュアとが、ローエンド、むしろ低い機能性と小さな領域での実装と、ハイエンド、機能性に富みかつ性能が要求される実装との両方に用いることができることを意味している。
【０００７】
ＤＭＡ（ダイレクトメモリアクセス）のようなデータ転送のサポートは、複雑性と機能性とにおいてバラエティに富んでいる。多くの現在の組み込み型システムでは単純なＤＭＡユニットを有し、ＣＰＵによるセットアップの後、プログラム可能なメモリ領域から別のプログラム可能なメモリ領域へプログラム可能な量のデータを転送する。その転送は、（プログラミング／セットアップ段階を除いて）プロセッサによる介在なしに実行される。そのデータ転送が他のアクセスユニットとは別のメモリを占有するなら、そして、そのメモリコントローラ／ネットワークがそのような並列的なアクセスをサポートするなら、そのデータ転送は何のオーバヘッドを生じさせることはない。もし、アクセスユニットがＤＭＡデータ転送と同じメモリ或いはメモリバンクを対象にするなら、通常は２つの異なる方式がある。トランスペアレントＤＭＡは、メモリが一時的にアイドル状態にあるときにのみ、細かな個々のアクセスについてＤＭＡアクセスが実行されることを可能にしているが、ノン−トランスペアレントＤＭＡではより大きな塊のデータが転送され、これは他のユニットが関与するメモリから長引いた時間の間、ロックアウトされる結果を導くものとなる。
【０００８】
いくつかのＤＭＡコントローラはより精巧なものであり、ある内部接続能力によって定義された各物理チャネルがプログラムされ数多くの異なる進行中のデータチャネルを扱うことができるように、別の多くの物理チャネル上にマップされたある数の仮想チャネルをサポートする。これらデータチャネル各々は、与えられた領域のデータをあるメモリから別のメモリへと転送するためにセットアップされるか、或いは、ＵＡＲＴ或いはＵＳＢインタフェースバッファから他のバッファへと到来データを、ＵＡＲＴ或いはＵＳＢからのシグナリングに依存して移動させるためにセットアップされる。ここで、そのバッファアドレスは前もって定義されたパターン（例えば、夫々は次々にデータで埋められる二重、三重バッファリング）などに従って動的に変更される。そのようなＤＭＡコントローラはしばしば、メモリコントローラからは分離されている。しかし、そのようなＤＭＡコントローラはメモリコントローラへの１つ或いはいくつかのデータチャネルをもっている。さらにその上、そのようなＤＭＡコントローラはしばしば、設計の一部として挿入されるように設計されたむしろ複雑な回路であり、スケーラブルではない。
【０００９】
データ転送をサポートするメモリコントローラの多くの以前の実装と機構とが存在する。しかしながら、効率性と、相対的に小さな複雑性と、スケーラブルな解決策との内、少なくともいずれかの必要性がある将来の世代のアーキテクチュアに重要である、ある特徴が共通に見出されてはいない。
【００１０】
第１に、その解決策はスケーラブルでなければならないため、拡がりをもつ設計をサポートしなければならず、これにより、過度に複雑であってもならない。同時に、性能とリアルタイムの問題についての１つの要求とは、異なるユニットが競合なく独立に異なるメモリ或いはメモリバンクにアクセスできなければならない点である。加えて、自動データ転送についての適切なサポートが必須であり、そして、異なる特徴をもった種々のソフトウェアのために、動的にセットアップされて動作することが可能であるべきである。独立したアクセスの並列的な処理、自動データ転送についての動的なサポート、スケーラビリティ、及び、むしろ小さい複雑性の組み合わされた要求は、一般に知られた解決策を不適切なものにしている。ローエンドの実装はメモリにアクセスする２，３のユニットしかもたず、性能要求もむしろ小さいものであるが、それらの複雑さはむしろ小さなものに維持されねばならず、シリコン領域も小さなものに保たれねばならない。これとは反対に、ハイエンドの実装は、高性能要求があり、より多くのメモリやメモリバンクにアクセスするより多くのユニットがある。伝統的に、これはＡＳＩＣ設計と、ソフトウェア設計と、試験と検証の複雑さを増し加える完全に異なる設計につながってしまう。
【００１１】
特許文献１は、メモリアクセスを改善するために設計された複数の並列的な仮想アクセスチャネルに結合された主メモリを有するメモリシステムを開示している。
【特許文献１】米国特許第６，３２７，６４２号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、アクセスチャネルに関係したキャッシュの使用は設計の複雑さを増し加えることになる。加えて、メモリの部分間でのＤＭＡ／データ転送のサポートはない。またさらに、柔軟性を与えるプリフェッチ、チェイン、動的制御のサポートについても開示されていない。
【００１３】
本発明の目的は、効率的で柔軟性が高くスケーラブルな実装が可能なメモリアクセス制御を行う電子機器を提供することである。
【００１４】
さらなる目的は、メモリアクセス機器間のメモリアクセスに関する競合の危険性を少なくすることが可能なメモリアクセス制御を行う電子機器を提供することである。
【課題を解決するための手段】
【００１５】
（中でも）これらの目的は、メモリアクセスの効率的で柔軟な制御を行う電子機器によって達成され、前記機器は、
・少なくとも１つのメモリアクセスユニットに接続され、
・少なくとも１つの物理的なメモリモジュールを有するメモリに接続されており、
前記機器は、少なくとも２つのアクセスチャネル回路を有し、少なくとも１つのアクセスチャネル回路は、少なくとも１つのシステムバスを介して前記少なくとも１つのメモリアクセスユニットと、前記少なくとも１つの物理的なメモリモジュールとに接続され、前記少なくとも１つのアクセスチャネル回路は、前記メモリの少なくとも一部への前記少なくとも１つのメモリアクセスユニットによるメモリアクセスを提供する。
【００１６】
これによって、全てのメモリアクセスユニットは、それらがメモリの同じ部分にアクセスしない限り、それらによって必要とされるメモリへアクセスすることができる。さらに、不必要な競合を避けることができる。即ち、もし、２つのユニットがメモリの異なる部分、異なるメモリ、異なるメモリモジュール、或いは異なるメモリバンクにアクセスするなら、それら２つのユニットが独立である限り、互いを遅延させることなく、それらはそのようにすることができる。
【００１７】
そのメモリは、複数のメモリアクセスユニットにより、完全に或いは部分的に共用されていても良い。即ち、いくつかのメモリアクセスユニットはそのメモリの同じ部分にアクセスしても良い。
【００１８】
好適な実施例においては、前記少なくとも２つのアクセスチャネル回路夫々は、そのメモリの少なくとも一部への少なくとも１つのメモリアクセスユニットによるメモリアクセスを提供し、これにより、異なるアクセスチャネル回路に接続されたメモリアクセスユニットが、そのメモリの異なる部分に対して、独立に、そして同時／並列的なアクセスを可能にしている。
【００１９】
これによって、異なるメモリアクセスユニットの並列的なメモリアクセスを、結果として得られるメモリ機器を相対的にはあまり複雑にすることなく達成する。個々のデータ転送を担当するアクセスチャネル回路は動的に制御されセットアップされ、独立に動作しても良いので、制御構成回路の柔軟な動的制御を可能にしている。
【００２０】
加えて、そのメモリコントローラは、単一の或いは多数のアクセスチャネルを必要とするシステムに実装して構成するのが簡単である。
【００２１】
このようにして、メモリアクセスとメモリコントローラとを制御するスケーラブルな機器が達成される。なぜなら、（実装時）スケーラビリティは、より多くの接続性とより高度のアクセス並列処理とが、実装時のアクセスチャネル各々の複雑さを増し加えるのではなくむしろ、単により多くのアクセスチャネルを追加するだけで成し遂げられるようにアクセスチャネルの設計を行うことによって達成されるからである。付加的なアクセスチャネル回路を実装するのに必要な求められる付加的な配線、接続などは、その付加的なアクセスチャネル回路と制御構成回路との間の単に１つの接続に過ぎない。
【００２２】
このようにして、メモリに対する並列的で独立なアクセスチャネルの数は、与えられるシステム要求、必要性などに最も合致するように調整される。
【００２３】
１つの実施例では、その機器は、前記少なくとも２つのアクセスチャネル回路を動的に制御する制御構成回路を有し、前記制御構成回路はさらなるアクセスチャネル回路の簡単な追加実装を可能にしている。
【００２４】
１つの実施例に従えば、前記機器は、少なくとも２つのアクセスチャネル回路を有し、それらの回路各々は単一のシステムバスを介して単一のメモリアクセスユニットに接続され、それらの回路各々は前記メモリの少なくとも一部からの情報／データを受信するために接続されている。
【００２５】
これによって、両方のシステムバスを介してデータ／情報が取り出され送信されるので、並列的で独立なデータ／情報転送速度の増加が得られる。これは、メモリアクセスユニットが２つの接続されたシステムバスにおいて到来するデータ／情報を取り扱うことができることを要求する。また、速度の増加により、アクセスチャネル回路が占有される時間が短くなり、これによって、メモリアクセス競合の危険性も小さくなる。２つの異なるアクセスチャネル回路は同時に同じメモリの異なる部分（即ち、物理的に異なるメモリモジュール）をアクセスしても良い。もし、それらがそのメモリの同じ部分をアクセスするなら、そのメモリはある方式に従ってそのアクセスを順次的にし、１つのアクセスチャネル回路は他の回路のために待機しなければならないだろう。メモリアクセスユニットとアクセスチャネル回路との間のシステムバスは分離した異なるシステムバスである。
【００２６】
１つの実施例では、前記機器は、単一のシステムバスを介して少なくとも２つのメモリアクセスユニットに接続された１つのアクセスチャネル回路を有し、前記１つのアクセスチャネル回路は、前記メモリの少なくとも一部からのデータ／情報を受信することと、前記メモリの少なくとも一部に対してデータ／情報を送信することとの内少なくともいずれかのために接続されている。
【００２７】
これはメモリコントローラの全体的な複雑さをさらに少なくするものであるが、競合の危険性は増大するかもしれない。しかしながら、もし２つ以上のメモリアクセス機器が同時に物理的に同じメモリモジュールにアクセスする必要が決してないか、或いはほとんどないなら、その危険性は最小にされるか、或いは完全に回避される。即ち、２つ以上のメモリアクセス機器は、本発明に従うメモリコントローラの効率性と妥協することなく同じシステムバスに接続されることになる良い候補である。
【００２８】
１つの実施例では、アクセスチャネル回路はさらに、メモリアクセスユニットが前記データ／情報を取り出すのに先立ち、そのメモリの第１の部分／第１の物理的メモリモジュールからそのメモリの第２の部分／第２の物理的メモリモジュールへデータ／情報を転送する自動データ転送エンジンを有している。その自動データ転送は、制御構成回路からの特定のコマンド、アドレス範囲などにより、（特定のアクセスチャネルに対して）入力側のシステムバスにおけるパターンマッチングなどにより起動されても良い。
【００２９】
このようにして、ダイレクトメモリアクセス（ＤＭＡ）のサポートや、１つのメモリからデータを読出し可能であり、それを別のメモリに（セットアップのため以外には）ＣＰＵの介在なしに格納する制御ユニットが単純な方法で得られる。これにより、例えば、大容量のデータ、コード、情報などを、アクセスユニット（例えば、ＣＰＵ）によるデータの利用に先立って、メモリ間で（例えば、低速メモリから高速メモリに）転送することが可能であり、これにより、低速メモリのアクセス待ち時間を隠し、情報取り出し処理を高速化することができる。
【００３０】
１つの実施例では、複数のアクセスチャネル回路の自動データ転送エンジンは、自動データ転送エンジンのチェインを形成するように接続されており、各データ転送エンジンは前記データ／情報の異なる部分の転送を担当する。
【００３１】
このようにして、メモリアクセスシーケンスの最適化と個々のリンク或いは制御ユニットの平均占有時間の削減が可能になる。
【００３２】
１つの実施例では、前記少なくとも１つのアクセスチャネル回路は、少なくとも１つの特別な目的のレジスタを有しており、前記制御構成回路に接続されており、前記制御構成回路は、前記少なくとも１つの特別な目的のレジスタの内容を変更するために適合されており、これにより、動作中に他のアクセスチャネルに影響を与えることなく、個々のアクセスチャネル回路の再構成を可能にしている。
【００３３】
これにより、与えられたアクセスチャネル回路の動作モードの簡単な動的構成が可能になる。
【００３４】
１つの実施例では、前記再構成は、前記メモリの機能モードと少なくとも１つのアクセス領域との内の少なくともいずれかを構成することを含む。
【００３５】
１つの実施例では、前記機器は、接続されたメモリアクセスユニット各々ための１つのアクセスチャネル回路を有し、各アクセスチャネル回路は前記メモリの各メモリモジュールに接続される。
【００３６】
このようにして、複数のアクセスユニットが同時に同じメモリモジュールにアクセスするときにのみ、唯一の競合が発生する可能性がある。このことは、種々のメモリアクセスユニットによりメモリアクセス競合の危険性を非常に少なくし、メモリコントローラの性能を著しく改善する。このことは特に、リアルタイム或いは実質的にリアルタイムのアプリケーション、運用などに対して重要である。
【００３７】
１つの実施例では、アクセスチャネル回路は、
・メモリアクセス機器に接続された入力側のシステムバスとメモリアクセス機器に接続された出力側のシステムバスとを、接続されることになる与えられたメモリバスを表現する（例えば、メモリバスのアドレスを表現する）第１の識別子のために監視するために適合され、前記第１の識別子に基づいて、前記与えられたメモリバスと前記与えられたメモリバスがどこに接続されるのかを表現する第１の制御信号／コードを提供するメモリアクセスコントローラと、
・前記メモリのメモリモジュールに接続されたメモリバスへ、前記入力側システムバス或いは前記メモリアクセスコントローラからのアクセスを、前記メモリアクセスコントローラから受信した前記第１の制御信号／コードに依存して可能にするソース及び宛先セレクタと、
・第２のユニークな識別子に依存して、特定のメモリモジュールの与えられた読出しアクセスの間に、どのメモリモジュールが前記メモリアクセス機器に接続された出力側システムバスに接続されることになるのかを選択するメモリモジュールセレクタとを有する。
【００３８】
本発明はまた、本発明に従う前記機器（及びその実施例）と同じ目的と利点とをもつメモリアクセスを制御する方法（及びその実施例）に関する。
【００３９】
このことは、少なくとも１つのメモリアクセスユニットと少なくとも１つの物理的なメモリモジュールを有するメモリとの間のメモリアクセスの効率的で柔軟な制御の方法によって達成され、その方法は、
・少なくとも２つのアクセスチャネル回路の少なくとも１つにより、前記メモリの少なくとも一部への前記少なくとも１つのメモリアクセスユニットによるメモリアクセスを提供する工程を有し、前記少なくとも１つのアクセスチャネル回路は、少なくとも１つのシステムバスを介して前記少なくとも１つのメモリアクセスユニットと、前記少なくとも１つの物理的なメモリモジュールとに接続される。
【００４０】
１つの実施例では、その方法は、前記少なくとも２つのアクセスチャネル回路を介して、そのメモリの少なくとも一部への前記少なくとも２つのメモリアクセスユニットによる同時的なメモリアクセスを提供する工程を有し、各アクセスチャネルが、そのメモリの異なる部分に対する独立のアクセスを提供し、これにより、異なるアクセスチャネル回路に接続されたメモリアクセスユニットが、そのメモリの異なった部分への並行的なアクセスを可能にしている。
【００４１】
１つの実施例では、その方法はさらに、
・制御構成回路により前記少なくとも２つのアクセスチャネル回路を動的に制御する工程を有し、前記制御構成回路はさらなるアクセスチャネル回路の簡単な追加実装を可能にする。
【００４２】
１つの実施例では、その方法はさらに、
・少なくとも２つのアクセスチャネル回路による前記メモリの少なくとも一部から単一のメモリアクセスユニットに対するメモリアクセスを提供する工程を有し、前記少なくとも２つのアクセスチャネル回路各々は単一のシステムバスを介してその単一のメモリアクセスユニットに接続され、前記メモリの少なくとも一部からの情報／データを受信するために接続されている。
【００４３】
１つの実施例では、その方法はさらに、
・単一のシステムバスを介して少なくとも２つのメモリアクセスユニットに接続された単一のアクセスチャネル回路により、前記メモリの少なくとも一部から前記少なくとも２つのメモリアクセスユニットへのメモリアクセスを提供する工程を有し、前記単一のアクセスチャネル回路は、前記メモリの少なくとも一部からデータ／情報を受信することと、前記メモリの少なくとも一部に対してデータ／情報を送信することとの内少なくともいずれかのために接続されている。
【００４４】
１つの実施例では、その方法はさらに、
・メモリアクセス機器が前記データ／情報を取り出すのに先立ち、そのメモリの第１の物理的メモリモジュールからそのメモリの第２の物理的メモリモジュールへデータ／情報を転送する自動データ転送エンジンを有するアクセスチャネル回路によりデータ／情報の自動データ転送を提供する工程を有する。
【００４５】
１つの実施例では、その方法はさらに、
・データ／情報の自動データ転送を提供する工程をさらに有し、複数のアクセスチャネル回路の複数の自動データ転送エンジンは、自動データ転送エンジンのチェインを形成するように接続されており、
・各データ転送エンジンは前記データ／情報の異なる部分の転送を担当する。
【００４６】
１つの実施例では、その方法はさらに、
・前記制御構成回路により、前記制御構成回路に接続された少なくとも１つのアクセスチャネル回路に含まれた少なくとも１つの特別な目的のレジスタの内容を変更し、これにより、動作中に他のアクセスチャネルに影響を与えることなく、個々のアクセスチャネル回路の再構成を可能にしている。
【００４７】
１つの実施例では、その再構成は、前記メモリの機能モードと少なくとも１つのアクセス領域との内の少なくともいずれかを構成することを含む。
【００４８】
１つの実施例では、そのメモリアクセスは、接続されたメモリアクセスユニット各々ための１つのアクセスチャネル回路により備えられ、各アクセスチャネル回路は前記メモリの各メモリモジュールに接続されている。
【００４９】
１つの実施例では、その方法はさらに、
・アクセスチャネル回路に含まれるメモリアクセスコントローラにより、メモリアクセス機器に接続された入力側のシステムバスと、メモリアクセス機器に接続された出力側のシステムバスとを、接続されることになる与えられたメモリバスを表現する第１の識別子のために監視する工程と、
・前記メモリアクセスコントローラにより、前記第１の識別子に基づいて、前記与えられたメモリバスと前記与えられたメモリバスがどこに接続されるのかを表現する第１の制御信号／コードを提供する工程と、
・ソース及び宛先セレクタによる、前記メモリのメモリモジュールに接続されたメモリバスへ、前記入力側システムバス或いは前記メモリアクセスコントローラからのアクセスを、前記メモリアクセスコントローラから受信した前記第１の制御信号／コードに依存して可能にする工程と、
・メモリモジュールセレクタにより、第２のユニークな識別子に依存して、特定のメモリモジュールの与えられた読出しアクセスの間に、どのメモリモジュールが前記メモリアクセス機器に接続された出力側システムバスに接続されることになるのかを選択する工程とを有する。
【００５０】
本発明はまた、移動体通信端末において用いられる本発明に従う電子機器と方法との内少なくともいずれかの使用に関する。
【００５１】
さらに本発明は、上述の方法を処理装置或いはコンピュータシステムに実行させる命令が格納されたコンピュータ可読媒体に関する。コンピュータ可読媒体は、例えば、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＡＭ／ＲＯＭ、フロッピィディスク、ハードディスク、スマートカード、ネットワーク接続を介してアクセス可能なネットワーク、ＲＯＭ、ＲＡＭ、フラッシュメモリなどの内の少なくともいずれかで良く、或いは、一般にはコンピュータシステムにどのように指示／命令が実行されるべきであるのかに関する情報を提供する何か別の種類の媒体でも良い。
【００５２】
これにより、コンピュータは上述したようなコンピュータ可読媒体の内容のシーケンスとしての電子情報を取りだすようにされ、本発明に従う対応する方法に関連して述べた利点を得ることができる。
【００５３】
添付図面を参照して、本発明を以下より詳細に説明する。
【発明を実施するための最良の形態】
【００５４】
図１は本発明の図形的に示したものである。示されているのは、メモリへのアクセス（読出しと書込みとの内、少なくともいずれか）が必要なＣＰＵ（中央処理装置）、専用或いは汎用処理ユニット、ＤＳＰ（デジタル信号プロセッサ）、或いは他のタイプのプロセッサ／ユニットのような数多く（１つ以上であれば良い）のメモリアクセスユニット（２０２）である。１つ以上のメモリアクセスユニット（２０２）はまた、次のように指定されたマスタ機器でもある。
【００５５】
また、少なくとも１つの物理的なメモリモジュール、回路、バンクなど（２０３）を有するメモリ（１００）も示されている。そこには、データや情報の内少なくともいずれかが、格納され、読み出され、取り出され、移動されたりなどされるか、或いはされても良いが、少なくともいずれかであれば良い。メモリ（１００）はオフチップ揮発性メモリ、オフチップ不揮発性メモリ、異なる種類のオンチップメモリの内、少なくともいずれかを有している。そのメモリは種々のメモリアクセスユニット（２０２）によって完全に或いは部分的に共有される。即ち、いくつかのメモリアクセスユニット（２０２）が同じメモリモジュール、その一部、同じメモリ（アドレス）範囲などの内少なくともいずれかにアクセスしても良いのである。メモリ（１００）は好適には数多くの物理的メモリモジュール（２０３）を有しており、そこではメモリモジュール（２０３）は、多くの異なった公知の方法で構成された１つ或いはいくつかの物理的メモリを含むことができる。
【００５６】
加えて、本発明に従うメモリコントローラ／メモリアクセス制御を行う機器（２００）が図示されている。メモリコントローラ（２００）は、制御構成回路（例えば、図２を参照）と数多く（１つ以上であれば良い）のロジック“アクセスチャネル”（１０２）とを有しており、１つ以上のアクセスチャネル（１０２）が（同じ或いは異なる）メモリアクセスユニット（２０２）に接続され、メモリコントローラ（２００）の制御下でメモリ（１００）の少なくとも一部に対する読出しと書込みとの内少なくともいずれかのアクセスを可能とすることを担当している。各アクセスチャネル（１０２）は、少なくとも１つの物理的メモリモジュール（２０３）に接続されている。そのモジュールは単一或いは多数のメモリバンクに編成されていても良いし、そうでなくても良い。アクセスチャネル（１０２）は、例えば、図３に関連して示されたものの（３００）ようなメモリアクセス回路によって実装されている。図３では、そのような回路の１実施例が示されている。加えて、メモリコントローラ（２００）は、次に説明するような物理的なメモリモジュール（２０３）間の自動データ転送を提供する少なくとも１つのアクセスチャネル（１０２）を有していても良い。自動データ転送のために用いられるアクセスチャネル（１０２）はメモリアクセスユニット（２０２）に（そうであっても良いが）接続されなければならない必要はない。加えて、そのようなアクセスチャネル（１０２）は、以下に説明することでもあるが、共にリンクされていても良い。
【００５７】
本発明により、異なるアクセスチャネル（１０２）に接続されたメモリアクセスユニット（２０２）と異なる物理的なメモリモジュール（２０３）とが競合の危険性がないか或いはほとんどなく動作することが可能になる。各アクセスユニット（２０２）が分離したアクセスチャネル（１０２）に接続され、各アクセスチャネルが全てのメモリモジュール（２０２）、即ち、完全なメモリ（１００）に接続されるという１つの代表的な実施例では、複数のアクセスユニット（２０２）が同時に同じメモリモジュール（２０３）にアクセスするときにのみ、メモリアクセス競合が発生する可能性がある。このことは、種々のメモリアクセスユニット（２０２）によりメモリアクセスの競合の危険性を著しく低下させ、メモリコントローラの性能をいちじるしく改善する。このことは特に、リアルタイム、或いは実質的にリアルタイムのアプリケーションや動作などで重要である。
【００５８】
代替の実施例では、
同じアクセスチャネル（１０２）に接続したいくつかのメモリアクセス機器（２０２）（これはメモリコントローラの全体的な複雑さを少なくするが、競合の危険性は高まるかもしれない。しかしながら、もし、いくつかの（即ち、２以上）のメモリアクセス機器（２０２）が同時にメモリにアクセスする必要とメモリ（１００）の同じ物理的な部分にアクセスする必要との内、少なくともいずれかが決してないか或いはほとんどないかなら、その危険性は最小にされるか或いは完全に回避される）と、
同じメモリアクセス機器（２０２）に接続したいくつかのアクセスチャネル（１０２）と、
メモリ（１００）の一部或いはメモリモジュール（２０３）に排他的に接続された１つのアクセスチャネル（１０２）（即ち、メモリの排他的部分は特定のアクセスチャネルを介してのみアクセス可能である）と、
各メモリモジュール（２０３）に接続された複数のアクセスチャネル（１０２）の内のいくつかだけ（これはメモリコントローラの全体的な複雑さを小さくするが、特定のアクセス機器（２０２）とその目的とに大きく依存して競合の危険性がわずかに大きくなるかもしれない）と、
１つ以上のメモリアクセス機器（２０２）に接続された１つのアクセスチャネル（１０２）と、
これらの組み合わせの内の少なくともいずれかとを含む。
【００５９】
本発明に従う設計のスケーラビリティの原理は、メモリコントローラ（２００）の設計段階でアクセスチャネル各々の複雑さを増し加えるというよりはむしろ、単により多くのアクセスチャネル（１０２）を追加することにより、より多くの接続性とより多くのアクセス並列的処理が達成されるようにアクセスチャネル（１０２）の設計を行うことにより到達するものである。これはスケーラビリティを獲得する上で非常に単純で複雑ではない方法を与えるものである。一旦、特定の設計に従って特定のコントローラが実装されるか、或いは、与えられたタスクや情況などに合致するための少なくともいずれで、アクセスチャネル（１０２）の数は固定される。
【００６０】
加えて、与えられたメモリコントローラのアクセスチャネル回路は、与えられた実施形に依存して、完全に同一である必要はない。
【００６１】
メモリコントローラ（２００）の制御構成回路（例えば、図２を参照）は、メモリコントローラ（２００）における論理アクセスチャネル（１０２）のアクセスチャネル回路（図２では３００であり、それに関連して説明する）を制御し構成するのに用いられる。制御構成回路とメモリコントローラ（２００）における付加的なアクセスチャネルの設計の残りに対する影響は、その制御構成回路が単に既存のバスに接続されるより多くのアクセスチャネルを収容することが単に必要なだけであるので、最小に抑えられる。
【００６２】
好適には全てのアクセスチャネル（１０２）は同じであるが、独立に構成され、制御構成回路の制御下で異なるモードの機能性やメモリ（１００）の複数のアクセス領域をもつようにしても良い。各アクセスチャネル（１０２）は好適には、自動データ転送エンジンを有している。そのエンジンは、例えば、制御構成回路によって発行された特定のコマンドについて、（アクセスチャネルに対して）入力側の関連バスなどにおけるパターンマッチングによりトリガが与えられる。好適には、アクセスチャネル（１０２）の構成は、次に説明するように、通常の動作モードにおいて他のアクセスチャネルを妨害することなくなされると良い。
【００６３】
自動データ転送エンジンは、データ、情報、コードなどを、異なる物理的なメモリ（２０３）間やメモリ（１００）の異なる部分間の少なくともいずれかで転送することを担当する。加えて、自動データ転送セションをセットアップすることにより、即ち、自動データ転送エンジンを用いることにより、（例えば、ＣＰＵのような）アクセスユニットによってデータを利用する前に、物理的なメモリ間で（例えば、低速メモリから高速メモリへと）、例えば、大量のデータ或いはコードを転送することが可能であり、これにより、より低速メモリのアクセス待ち時間を隠し、情報取り出し処理を高速化する。好適には、自動データ転送エンジンは図３に関連して説明するようにメモリアクセスコントローラによって実現される。
【００６４】
専用アクセスチャネル（１０２）をもつ各メモリアクセスユニット（２０２）は、他のアクセスチャネル（１０２）からは独立であるその専用チャネル（１０２）を介してメモリ（１００）に並列的にアクセスできる。即ち、例えば、各々が自分自身の専用チャネル（１０２）をもつ２つのアクセスユニット（２０２）は並列的に／同時にメモリ（１００）にアクセスすることができる（それらが、同時に同じメモリ部分／アドレス／範囲或いはメモリモジュール（２０３）にアクセスしない限り）。これにより、メモリコントローラが存在するアクセスチャネルと同数の並列的メモリアクセスセションをサポートすることが可能になる（メモリパーティショニング、即ち、アクセスチャネル（１０２）がメモリ（１００）のどの部分に接続されるのかに依存して）。
【００６５】
さらに、簡単な方法で、（アクセスチャネル（１０２）の数に依存して）異なるアクセスチャネル（１０２）におけるデータ転送エンジンを共に１つ或いはいくつかの転送チェインへとリンクすることが可能である。そのチェインは、例えば、特定のメモリアクセスシーケンスのために用いられるかもしれない。データ転送チェインを用いることにより、特定のアクセスチャネルにマップされる大きなメモリトランザクションは多数の、しかし、より小さなトランザクションへと分割される。これにより、特定のアクセスチャネルがブロックされる時間が削減され、これにより、ジョブがより迅速に実行されるので、潜在的な資源競合も削減され、メモリの利用性／アクセスも増大する。
【００６６】
メモリアクセス（２００）を制御するメモリコントローラ／機器を図２に関連してより詳細に説明する。
【００６７】
図２は本発明に従う実施例をより詳細に図式的に示したものである。示されているのは、本発明に従うメモリコントローラ２００に含まれる（第１のマスタ機器が“０”に指定されている場合に用いられる表記では）（Ｌ＋１）個のアクセスチャネル回路（３００）に接続された（Ｌ＋１）個のマスタ機器／メモリアクセスユニット（２０２）である。この特定の実施例では、メモリコントローラ（２００）に接続された各マスタ機器（２０２）は専用アクセスチャネル（３００）を有しており、そのアクセスチャネルを通して、マスタ機器（２０２）が直接に、（この実施例のように完全に、或いは部分的に）中央集中型の共用メモリの少なくとも１つの物理的なメモリモジュール（２０３）と通信できる。そのメモリでは、メモリモジュール（２０３）／メモリが、例えば、異なる種類の（揮発性か非揮発性、異なる速度、サイズ、レイアウトなど）のオンチップ或いはオフチップの少なくともいずれかで配置されていても良い。Ｌの値は、特定の実施例／実施形に依存して０以上の値である。この特定の実施例では、次に説明するように他の実施形に対しては他のレイアウトが適用可能であるかもしれないが、マスタ機器（２０２）は各々、システムバス（３０４、３０８）を介して単一の異なるアクセスチャネル回路（３００）に接続されている。また、各マスタ機器（２０２）は、そのマスタ機器（２０２）が接続されている各アクセスチャネル回路（３００）からの割込み信号を接続（３０５）を介して受信するために接続されていても良い。その割込み信号は、例えば、接続されたマスタ機器（２０２）に対してアクセスチャネル回路（３００）がタスクの実行を終了したことを信号で伝えるために用いられるかもしれない。或いは、ポーリングが用いられても良く、これにより、割込み接続（３０５）は冗長であり、１つ以上のマスタ機器（２０２）／アクセスチャネル回路（３００）については省略されても良い。マスタ機器（２０２）の数は、多数のマスタ機器（２０２）が同じシステムバス（３０４、３０８）そしてこれにより同じアクセスチャネル回路（３００）に接続されても良いので、アクセスチャネル（３００）の数と同じである必要はない。加えて、各マスタ機器（２０２）は、どこか他で説明したように、１つ以上のアクセスチャネル回路（３００）に接続されても良い。
【００６８】
各アクセスチャネル回路（３００）は、１つ以上のメモリバス（２０９）を介して１つ以上の物理的メモリモジュール（２０３）に対して情報／データを通信し、そして、接続（２１０）を介して１つ以上のメモリモジュールから情報を受信するために接続されている。この特定の実施例では、各アクセスチャネル回路（３００）は（Ｎ＋１）個のメモリモジュール（２０３）に接続され、（Ｎ＋１）個の接続（２１０）を介して情報／データを受信し、そして、（Ｍ＋１）個のメモリバス（２０９）を介して情報／データを送信、アドレッシングなどを行う。ＮとＭとは両方とも、０以上の値であり、互いに等しくても良いし、或いは異なっていても良い。
【００６９】
この特定の実施例では、１つだけの物理的なメモリモジュール（２０３）が各メモリバス（２０９）に接続され、即ち、ＭとＮとは等しいが、いくつかのメモリモジュール（２０３）は単一のメモリバス（２０９）を共用し、メモリデコーディングロジック（不図示、図３を参照（３０２））はどのメモリモジュール（２０３）がアクセスされるのかを決定する。或いは、ＭはＮより大きくても良く、その逆でも良い。
【００７０】
加えて、メモリコントローラ（２００）は、物理的なメモリモジュール（２０３）間での自動データ転送のためだけに用いられるアクセスチャネル（３００）を有していても良く、そのモジュールでは、これらの種類のアクセスチャネルがシステムバス（３０４、３０８）に接続されている必要はないか、或いは割込み接続（３０５）をもっている。これは、情報／データのマスタ機器（２０２）への転送に先立って、例えば、低速の物理的なメモリからより高速の物理的なメモリへとデータを移動させるのに用いられる。
【００７１】
この図式的な表現では、物理的なメモリモジュール（２０３）は、物理的なメモリとメモリインタフェースとの両方を表している。
【００７２】
メモリコントローラ（２００）は、システムバス＃０（３０４、３０８）に接続された専用の“構成制御回路（２０１）”によって構成され制御されても良い。構成制御回路（２０１）とアクセスチャネル回路（３００）とにおける特殊用途のレジスタは好適には、システムバス＃０（３０８）上へと、全てのアドレスがマップされている。アクセスチャネル回路専用のレジスタへのアクセス中、接続（２０５）を介してシステムバス＃０（３０４）において構成制御回路（２０１）により受信されたアドレスは内部メモリコントローラのアドレスへと変換される。内部メモリコントローラアドレスはその時、内部メモリコントローラバス（３０７）を介して適切なアクセスチャネル回路（３００）における特定のレジスタをアクセスするのに用いられる。接続（２０５）は好適には、アクセスチャネル回路（３００）の目的とする機能の状態と変更との内の少なくともいずれかのためにだけ用いられると良い。内部バス（３０６）はまた、アクセスチャネル回路（３００）から接続構成回路（２０１）へデータ／情報を送信するのに用いられても良い。このデータ／情報は、例えば、ステータス情報とメモリモジュール（２０３）から取り出されたデータとの内、少なくともいずれかで良い。システムバス＃０（３０８）上のマルチプレクサ（２０４）が、データが構成制御回路（２０１）から読み出されることになるのか、或いはアクセスチャネル＃０（３００）に接続されたメモリモジュール（２０３）から読み出されることになるのかを選択するために用いられる。構成制御回路（２０１）が読出し目的のためにシステムバス＃０（３０４）を介してアドレスされるとき、マルチプレクサ（２０４）は構成制御回路（２０１）からの出力信号（２０６）を、これもまた構成制御回路（２０１）から制御信号（２０７）に基づいて選択する。他の全ての目的のために、システムバス（２０８（＝３０８、図３ではアクセスチャネル＃０に関して））は好適には、マルチプレクサ（２０４）により出力側のシステムバス＃０（３０８）に接続される。即ち、マルチプレクサ（２０４）はマスタ機器＃０が構成制御回路（２０１）からのデータ／情報を読み出すか、或いは構成制御回路（２０１）からの制御信号（２０６）に基づいてアクセスチャネル回路＃０（３００）から読み出すのかを決定する。示された例では、ＭＤ＃０だけが制御及び構成コマンドを発行／開始することができる。しかしながら、他のＭＤに、例えば、接続（２０５）を他の入力側システムバス（３０４）に伸長することにより、設計と実装におけるわずかな変形だけでこれを行うようにさせることが可能である。
【００７３】
アクセスチャネル回路（３００）の実施例を図３に関連してさらに詳細に説明する。
【００７４】
読出し過程は例えば次のようにして生じる。
【００７５】
マスタ機器＃０（２０２）は、指示、コマンド、特定のパターンなどを発行して、例えば、読出し過程の表示／識別子とともに、単に、バス（３０４）上にメモリ範囲／アドレスを置くことにより、入力側システムバス＃０（３０４）で与えられたメモリ範囲／アドレスの内容の取りだし／読出しを行う。これはアクセスチャネル回路＃０（３００）により受信され、その回路では、もし、アクセスチャネル回路＃０がその情報を有する物理的なメモリモジュール（２０３）に接続されているなら、要求されたメモリ範囲／アドレスとメモリモジュール（２０３）に関連したメモリバス（２０９）に対応する／を有する物理的なメモリモジュール（２０３）を決定する。その時、指示が選択されたメモリバス（２０９）（例えば、メモリバス＃２）を介して適切なメモリモジュール（２０３）（例えば、メモリモジュール＃２）に送信される。そのメモリモジュールは要求されたメモリ範囲に格納されたデータ／情報をメモリモジュールの接続（２１０）（例えば、接続＃２）を介してアクセスチャネル回路＃０（３００）に返す。その時、アクセスチャネルは取り出された情報／データを出力側のシステムバス（２０８）と（３０８）に、要求を行ったマスタ機器＃０（２０２）へのマルチプレクサ（２０４）を介して提供しても良い。もし、アクセスチャネル回路＃０が要求した情報／データを有するメモリモジュール（２０３）に接続されていないなら、内部バス（３０６）と（３０７）と制御構成回路（２０１）は、適用可能なメモリモジュール（２０３）に接続されたアクセスチャネルにその要求を転送するために用いられる。情報／データは同じようにしてアクセスチャネル回路（３００）＃０に送信される。しかしながら、各アクセスチャネル回路（３００）は好適には、各物理的なメモリモジュール（２０３）に接続される。この読出し過程は、複数のマスタ機器が同時に同じ特定の物理的なメモリモジュールにアクセスしない限り、そのメモリにアクセスしている他のマスタ機器と並列的に実行されても良い。
【００７６】
プリフェッチ／自動データ転送動作は、例えば、次のようにして生じる。
【００７７】
マスタ機器＃０（２０２）は、相対的に低速の物理的なメモリに置かれた与えられたメモリ範囲／アドレスのデータ／情報内容のために入力側システムバス＃０（３０４）でのプリフェッチ／自動データ転送指示を発行する。この指示は、第１の接続されたアクセスチャネル回路＃０（３００）により受信され、その回路では、その時、もし、それがアクセスされている関連する物理的なメモリモジュールに接続されているか、或いは、その情報を取りだすために、内部バス（３０６）と（３０７）と接続構成回路（２０１）とを介して別のアクセスチャネル回路（３００）（例えば、＃１）に信号を送信するなら、取り出し過程それ自身を開始する。第１の、或いは別のアクセスチャネル回路（３００）（例えば、＃１）は、適切なメモリバス（２０９）を相対的に低速のメモリに対して選択することにより情報の取り出しを開始し、その相対的に低速のメモリに接続されているメモリモジュール接続（２１０）を介してその情報を受信する。その情報が第１或いは他のアクセスチャネル回路（３００）により受信された後、それは適切なメモリバス（２０９）を介して相対的に高速の物理的なメモリモジュール（２０３）に格納される。その情報は、もし第１或いは他のアクセスチャネルがメモリバス（２１０）を介して直接に相対的に高速のメモリに接続されているなら、直接にそれらのチャネルにより格納されても良い。さもなければ、内部バス（３０６）と（３０７）と制御構成回路（２０１）とは相対的に高速のメモリに接続されたアクセスチャネルにその情報を転送するのに用いられる。
【００７８】
その情報／データが相対的に高速のメモリに移動された後、割込みが割込み接続（３０５）を介してマスタ機器に対して発行されるかもしれない。そのマスタ機器は、その時、相対的に高速のメモリから情報／データの転送を開始する。相対的に低速のメモリから相対的に高速のメモリへの移動は、マスタ機器への実際の転送を高速化し、低速メモリのアクセス待ち時間を隠してしまう。
【００７９】
さらに、付加的なアクセスチャネル（１つ以上）が、自動データ転送／プリフェッチを実行するときに、リンク／チェインされても良い。このようにして、各アクセスチャネルは完全な内容の一部を取り出したり格納したりすることを担当する。これにより、特定のアクセスチャネル上にマップされた相対的に大きなメモリトランザクションが、多数の、しかしより小さなトランザクションへと分割され、これによりアクセスチャネルが占有される時間を短縮すると良い。
【００８０】
自動データ転送の一部として用いられる付加的なアクセスチャネルはマスタ機器に接続されることを要求されていない。しかしながら、これでは、余分のアクセスチャネルが自動データ転送以外の何にも用いることができないことになるので、多数のマスタをもつシステムに良い解決策とは言えないかもしれない。単一のマスタシステムでは、このことは、最終的なメモリアーキテクチュアに依存する良い解決策である。
【００８１】
また、自動データ転送は、相対的に低速のメモリから相対的に高速の物理的なメモリへデータ／情報を転送する以外のタスクを実行するために用いられても良い。１つの例として、異なるメモリモジュールに常駐するデータ／情報が、マスタ機器への連続的なデータ転送を許している単一のメモリモジュールに移動／コピーされても良い。
【００８２】
書込み動作は、例えば、次のようにして生じる。
【００８３】
マスタ機器＃０（２０２）は、書込み指示、書込まれ／格納されるデータ／情報、そして、そのデータ／情報が入力側システムバス＃０（３０４）で書込まれることになるメモリアドレス範囲或いは開始アドレスを発行する。これは、適切な物理的なメモリモジュール（２０３）（例えば、＃Ｎ）と対応するメモリバス（２０９）（例えば、＃１）とを決定する接続されたアドレスチャネル回路＃０（３００）で受信される。書込まれる情報／データは、その時、選択されたメモリバス（２０９）を介して送信され、物理的なメモリモジュール（２０３）に書込み／格納される。確認応答が、ポーリングなどにより、例えば、割込み接続（３０５）を介してマスタ機器＃０に信号を発信するアクセスチャネル回路（３００）に対して送信されても良い。この書込み過程は、同時に同じ特定の物理的なメモリモジュールにアクセスすることがない限り、他のメモリアクセスと並列的に実行されても良い。もし、そのマスタ機器に接続されたアクセスチャネル回路が、データが格納されることになるメモリモジュールに直接に接続されていないなら、内部バス（３０６）と（３０７）と制御構成回路（２０１）とが、適用可能なメモリモジュール（２０３）に接続されたアクセスチャネルに要求と情報／データを転送するのに用いられても良い。
【００８４】
単一のアクセスチャネル回路をもつ実施形は、例えば、単一の接続されたメモリアクセス機器／マスタにメモリアクセスを提供し、そのマスタ機器がそのメモリにアクセスしていないときに自動データ転送ユニットとして用いられても良い。
【００８５】
図３は本発明の実施例に従うメモリコントローラにおける単一アクセスチャネル回路の実施例を図式的に示したものである。示されているのは、“ソース宛先セレクタ（３０３）”、“メモリアクセスコントローラ（３０１）”、及び“メモリモジュールセレクタ（３０２）”を有するアクセスチャネル回路（３００）の実施例である。特定のアクセスチャネル回路（３００）は、特定の論理アクセスチャネルを表現する。この特定の例では、アクセスチャネル回路（３００）は番号ｋであり、システムバス＃ｋ（３０４、３０８）を介して単一のマスタ機器＃ｋ（例えば、図２の（２０２）を参照）に接続されている。システムバス＃ｋ（３０４、３０８）は、（アクセスチャネル回路（３００）に対して）入力側システムバス（３０４）と出力側システムバス（３０８）とを有する。あるいは、いくつかの（１個以上）マスタ機器が、具体的な実装と必要性との内少なくともいずれかに依存して、システムバス＃ｋ（３０４、３０８）を介し、アクセスチャネル回路（３００）に接続されても良い。
【００８６】
ソース宛先セレクタ（３０３）は入力側システムバス＃ｋ（３０４）を介して接続されたマスタ機器からと、接続（３１１）を介してメモリアクセスコントローラ（３０１）からの内、少なくともいずれかからのデータ／情報を受信する。接続（３１２）を介したメモリアクセスコントローラ（３０１）からソース宛先セレクタ（３０３）への制御信号は、ソース宛先セレクタ（３０３）におけるデータ／情報の経路、即ち、システムバス＃ｋ（３０４）或いはメモリアクセスコントローラ（３０１）のいずれから提供された情報がメモリバス（２０９）へと転送されることになるのかを決定する。ソース宛先セレクタ（３０３）は受信データ／情報或いはその一部を（第１のメモリバスを“０”と指定する場合に用いられる表記では）（Ｍ＋１）個の接続された物理的なメモリモジュール（例えば、図２の（２０３）を参照）に（Ｍ＋１）個のメモリバス（２０９）を介して送信する。Ｍの値は、具体的な実施例や実施形に依存して、即ち、何個のメモリバス（２０９）が特定のアクセスチャネル回路に接続されるのかに依存して、“０”以上であれば良い。単一のメモリバス（２０９）は好適には、この特定の実施例において、アクセスチャネル回路（３００）がアクセスすることが必要な物理的なメモリモジュール各々に対して用いられる。ソース宛先セレクタ（２０９）はまた、与えられたデータセグメントに対してどの具体的なメモリバス（２０９）やどの複数のメモリバス（２０９）がアドレスされるのかを決定する。
【００８７】
メモリアクセスコントローラ（３０１）はまた、入力側システムバス＃ｋ（３０４）を介して接続されたマスタ機器からのデータ／情報も受信する。加えて、もし適切であるなら、制御及びセットアップ＃ｋ接続（３０７）を介して“制御構成回路（例えば、図２（２０１）を参照）”からの制御／セットアップ、データ／情報を受信しても良い。メモリアクセスコントローラ（３０１）はまた、メモリモジュールセレクタ（３０２）からのデータ／情報の受信のために出力側システムバス＃ｋ接続（３０８）に接続される。このようにして、例えば、メモリアクセスコントローラ（３０１）は、出力側システムバス＃ｋ（３０８）におけるデータ／情報をバス／接続（３１１）を介してソース宛先セレクタ（３０３）に、新しいメモリアドレス、範囲、部分などで書込まれるようにルーティング／送信することができる。このことは、例えば、低速メモリ部から高速メモリ部へのデータ／情報を移動させるのに用いられても良い。例えば、マスタモジュールが相対的に低速の物理的なメモリモジュールから取りだす必要があるときにはむしろ、プリフェッチ動作の一部が所望のデータ／情報を高速の物理的なメモリモジュールにあるようにさせ、これにより、データ転送を高速化し、アドレスチャネル回路（３００）の占有時間を削減する。そのプリフェッチ動作は、例えば、接続されたマスタ機器から入力側システムバス＃ｋ（３０４）を介して受信された情報／データについてのパターンマッチングを実行することに基づくか、或いは、制御及びセットアップ＃ｋ接続（３０７）を介して受信した制御構成コマンドなどに基づくかの内、少なくともいずれかに基づいて開始されても良い。メモリアクセスコントローラ（３０１）はまた、システムバス＃ｋに接続されたマスタ機器にも、接続されたマスタ機器に対して割込みを発行する、例えば、与えられたタスク、処理など（例えば、プリフェッチ動作）がなされたことをシグナリングするために用いられる割込み接続（３０５）を介して接続される。もし、いくつかのマスタ機器がシステムバス＃ｋに接続されるなら、ただ１つの割込み接続がマスタ機器全てに対して利用可能であることが好適であり、その割込み接続が１つ以上のマスタ機器に接続されていても良い。即ち、その割込み接続は同じシステムバスに接続された各マスタ機器に接続される必要はない。さらに、メモリアクセスコントローラ（３０１）は、データ／情報と制御信号とを夫々送信するために用いられる接続（３１１）と接続（３１２）を介してソース宛先セレクタ（３０３）に接続される。制御信号（３１２）は、システムバス＃ｋ（３０４）或いはメモリアクセスコントローラ（３０１）の内、どちらから選択されるデータ／情報がメモリバス（２０９）に転送されることになるのかを指定する。即ち、もし、データ／情報がメモリアクセスコントローラ（３０１）から受信されることになるなら、それは、このことを接続（３１２）を介してシグナリングする。メモリアクセスコントローラ（３０１）はまた、制御及びセットアップ＃ｋ接続（３０７）と（３０６）とを夫々介して、レジスタ、コマンド、構成などのデータ／情報を“（図２の（２０１）に示されている）制御構成回路”から受信したり、これらを“制御構成回路”に送信しても良い。このようにして、アクセスチャネル回路（３００）に関連した特殊用途のレジスタが、（図２（２０１）に示された）“制御構成回路”により書込み／更新されたり、或いは読み出されたりしても良い。
【００８８】
メモリモジュールセレクタ（３０２）は、（第１のメモリバスを“０”と指定する場合に用いられる表記では）（Ｎ＋１）個の接続された物理的なメモリモジュールからメモリモジュール入力接続（２１０）を介してデータ／情報を受信する。Ｎの値は、具体的な実施例や実施形に依存して、即ち、何個の物理的なメモリモジュールが特定のアクセスチャネル回路（３００）に接続されるのかに依存して、“０”以上であれば良い。メモリモジュールセレクタ（３０２）はまた、適用可能であるときには、出力側システムバス＃ｋ（３０８）を介して接続されたマスタ機器に対するか、或いは、システムバス（３０８）を介してメモリアクセスコントローラ（３０１）に対するか、少なくともいずれかに対して、データ／情報を提供する。
【００８９】
メモリモジュールセレクタ（３０２）は、特定のメモリモジュールの読出しアクセスの間、どの具体的な物理的なメモリモジュール入力（２１０）が出力側のシステムバス＃ｋ（３０８）に対して接続されることになるのかを選択することを担当して、メモリアクセスを要求するマスタ機器が適切なメモリモジュールに接続されるようにする。アクセスチャネル回路／チャネル（３００）によってアクセスされているメモリモジュールのメモリインタフェースは好適には、その特定のアクセスチャネル回路（３００）に、識別コードやアドレスなどのようなユニークな識別子でタグを付けたり、関係させたりなどする。各ユニークな識別子は特定のアクセスチャネル回路（３００）を識別する。或いは、他の方式が用いられても良い。その識別コード／アドレスは、その時、物理的なメモリモジュール（２０３）のメモリインタフェースから、メモリモジュールバス（２１０）を介して同じメモリモジュール（２０３）に接続された全てのアドレスチャネルに対して送信される。ｉｄコード／アドレスに依存して、正しいアクセスチャネル回路（３００）のメモリモジュールセレクタ（３０３）は適切なメモリモジュールバス（２０９）を、正しいアクセスチャネル回路（３００）における入力側システムバス（３０４）へと接続する。
【００９０】
ソース宛先セレクタ（３０３）は、特定のアクセスチャネル回路（３００）に接続されたシステムバス（３０４）か或いはメモリアクセスコントローラ（３０１）に接続されたバス／接続（３１１）からいずれかのメモリバス（２０９）へのアクセスを可能にすることを担当している。ソース宛先セレクタ（３０３）を通したデータ経路はメモリアクセスコントローラ（３０１）からの制御信号により決定される。
【００９１】
メモリアクセスコントローラ（３０１）はシステムバス（３０４、３０８、３０７）を監視する。例えば、与えられたメモリアドレスの形式で、これらのバス（３０４、３０８、３０７）上の情報／データに依存して、対応するメモリバス（２０９）が、メモリアクセスコントローラ（３０１）からソース宛先セレクタ（３０３）への制御信号（３１２）による出力として選択される。好適には、特定のメモリバス（２０９）へのバスアドレスのマッピングは、各メモリバス（２０９）に対する１対のレジスタ（不図示）を通してプログラム可能である。これらのレジスタは、与えられたメモリバス（２０９）上にマップされることになる特定のアドレス範囲に対する下位アドレスと上位アドレスとを指定する。これにより、与えられたアクセスチャネル回路（３００）のメモリアクセスは動作中に動的に変更可能とされるので、メモリコントローラ（２００）の柔軟性を高度なものにすることができる。
【００９２】
メモリアクセスコントローラ（３０１）は、異なる“トリガ”、コード、コマンドなどに基づいて、物理的なメモリ間の自動データ転送／自動プリフェッチ動作を開始させることができる。そのトリガは、接続（３０７）を介した制御構成回路（図２の２０１を参照）から受信した直接の命令か、或いは、入力側システムバス（３０４）（ソース宛先セレクタ回路（３０３）とメモリアクセスコントローラ（３０１）とに対する入力バス）上の前もって定義されたアドレスの検出によっても良い。メモリアクセスコントローラ（３０１）は好適には多数のレジスタを有しており、これらのレジスタを介して、前述のように、１つ以上のアドレスの多数のアドレス領域を構成することが可能になる。例えば、システムバス（３０４）上の現在のアドレスはこれらのアドレス領域の１つへとマップするなら、メモリアクセスコントローラ（３０１）は自動メモリアクセスシーケンスを、構成可能な数のサイクル後に開始する。そのサイクル数は、例えば、特殊用途のレジスタにおいて構成されても良い。自動データ転送を発行するマスタ機器は、２つの方法、即ち、前述のように、ポーリングと割込みにより完了が通知される。制御構成回路（図２の２０１を参照）は、好適には、自動転送が完了し、それからマスタ機器（図２の２０１）がそのレジスタを読出し、そして、その情報を抽出できるときに、各アクセスチャネルから特殊用途レジスタを介して通知される。そのメモリアクセスコントローラはまた、好適には、例えば、図２と図３において接続３０５によって示されているように、割込み信号が特定のマスタ機器（図２の２０２）に直接に接続される自動データ転送の完了時に割り込みを生成するようにセットアップされる。
【００９３】
加えて、アクセスチャネル回路（３００）を、例えば、メモリからの大量のデータ／情報の取り出しに対して（２つ以上のチャネル（３００）の）チェインで動作可能にさせるすることもでき、各チャネル（３００）がそれら自身のシステムバスを介して並列的に情報の一部を取りだすことを担当するようになる。これは、特定のチャネル（３００）が同じシステムバスを介して大量の情報を要求している同じマスタ機器に接続されていることを必要とする。これは、各アクセスチャネルの負荷を“分散”し、情報取り出しによって用いられる時間を削減する。これはまた、より少量のデータに対する場合でもある。
【００９４】
もしアクセスチャネル回路（３００）が自動データ転送だけのために用いられるなら、内部バス（３０６）が取り出された情報／データを他のアクセスチャネル回路（３００）と制御構成回路との内少なくともいずれかに対して提供するために用いられても良いので、システムバス（３０４、３０８）に対して接続される必要はない（しかし、接続されても良い）。他のアクセスチャネル回路（３００）はその時、内部バス（３０７）を介して情報を受信することができる。
【００９５】
次に、アクセスチャネル回路（３００）における情報／データの流れの２、３の例が与えられて、この特定の実施例において、その回路がどのように作用するのかについてもっと良く説明する。
【００９６】
メモリ範囲は個々のアクセスチャネルと制御構成ブロックのセットアップ及び構成期間の間に（ソフトウェアを介して）マップされる。そのマッピングは、各アクセスチャネルが、異なる実施形に対しては変化することもある物理的なメモリモジュールに対してどのように接続されるのかに依存している。最も柔軟性のある実施形は全てのアクセスチャネルを全ての物理的なメモリモジュールに接続することである。
【００９７】
読出し過程は、例えば、次のようにして生じる。
【００９８】
与えられたメモリ範囲／アドレスと、例えば、メモリ範囲或いは開始アドレスとオフセットの内容の取り出し／読出しのための指示、コマンド、特定のパターンなどが入力側システムバス＃ｋ（３０４）で受信され、これにより、メモリアクセスコントローラ（３０１）とソース宛先セレクタ（３０３）により受信される。メモリアクセスコントローラ（３０１）ではその指示とメモリ範囲との内少なくともいずれかを解釈して、メモリアクセスのタイプと、アクセスチャネル回路（３００）がそれ自身による要求を処理することができるかどうか、即ち、アクセスチャネル回路（３００）がその情報を有する特定の物理的なメモリモジュール（２０３）に接続されているかどうかを決定する。もし、アクセスチャネル回路（３００）が、その要求を扱うことができるなら、制御信号（３１２）が、（メモリアクセスコントローラ（３０１）ではなく）システムバス＃ｋ（３０４）から提供された情報がメモリバス（２０９）に転送されることを決定するソース宛先セレクタ（３０３）に発行される。それから、ソース宛先セレクタ（３０３）は、特定のメモリモジュール（２０３）に関係する要求されたメモリ範囲／アドレスとメモリバス（２０９）に対応する／を有する物理的なメモリモジュール（２０３）を決定し、選択されたメモリバス（２０９）（例えば、メモリバス＃２）を介して適切なメモリモジュール（２０３）（例えば、メモリモジュール＃２）に指示を送信する。そのメモリモジュールは要求されたメモリ範囲に格納されたデータ／情報をメモリモジュールセレクタ（３０２）へのメモリモジュール接続（２１０）（例えば、接続＃２）を介してアクセスチャネル回路＃０（３００）に返す。メモリモジュールセレクタ（３０２）は、どのメモリモジュール入力が出力側のシステムバス＃ｋ（３０８）に接続されることになるのかを選択する。好ましくは、アクセスチャネル回路（３００）によりアクセスされるメモリモジュールのメモリインタフェースはその特定のアクセスチャネル回路（３００）に、同じメモリモジュールバス（２１０）に接続される全てのアクセスチャネル回路（３００）に送信されるユニークな識別子（例えば、コード、アドレスなど）でタグを付ける。このユニークな識別子に基づいて、メモリモジュールセレクタ（３０２）は正しいアクセスチャネル回路（３０２）における正しいメモリモジュールバス（２１０）をその出力側システムバス＃ｋ（３０８）に接続して、取出される／読出される情報が接続されたマスタ機器に対して利用可能となる。
【００９９】
もし、アクセスチャネル回路＃ｋ（３００）が要求された情報／データを有するメモリモジュール（２０３）に接続されないなら、内部バス（３０６）と（３０７）と制御構成回路（２０１）とは適用可能なメモリモジュール（２０３）に接続されたアクセスチャネル回路（３００）への要求を転送するために用いられる。情報／データは同じようにしてアクセスチャネル回路（３００）＃ｋに送信される。しかしながら、各アクセスチャネル回路（３００）は好適には物理的なメモリモジュール各々（２０３）に接続される。この読出し過程は、複数のマスタ機器が同時に同じ特定の物理的なメモリモジュールにアクセスしない限り、そのメモリをアクセスする他のマスタ機器と並列的になされても良い。
【０１００】
書込み動作は、例えば、次のようにして生じる。
【０１０１】
書込み指示、コマンド、特定のパターンなどと、与えられたメモリ範囲／アドレスに書込まれることになるデータ／情報が、メモリアクセスコントローラ（３０１）とソース宛先セレクタ（３０３）により入力側システムバス＃ｋ（３０４）で受信される。メモリアクセスコントローラ（３０１）は、その指示とメモリ範囲との内少なくともいずれかを解釈して、メモリアクセスのタイプと、アクセスチャネル回路（３００）がそれ自身による要求を処理することができるかどうか、即ち、アクセスチャネル回路（３００）が書込まれる特定の物理的なメモリモジュール（２０３）に接続されているかどうかを決定する。もし、アクセスチャネル回路（３００）が、その要求を扱うことができるなら、制御信号（３１２）が、（メモリアクセスコントローラ（３０１）ではなく）システムバス＃ｋ（３０４）から提供された情報がメモリバス（２０９）に転送されることを決定するソース宛先セレクタ（３０３）に発行される。それから、ソース宛先セレクタ（３０３）は、特定のメモリモジュール（２０３）に関係する要求されたメモリ範囲／アドレスとメモリバス（２０９）に対応する／を有する物理的なメモリモジュール（２０３）を決定し、選択されたメモリバス（２０９）（例えば、メモリバス＃２）を介して適切なメモリモジュール（２０３）（例えば、メモリモジュール＃２）に対して書込み指示と書込まれる内容とを送信する。
【０１０２】
その情報がメモリモジュール（２０３）に格納された後、確認応答が、ポーリングなどにより、例えば、割込み接続（３０５）を介してマスタ機器＃０に信号を発信するアクセスチャネル回路（３００）に対して送信されても良い。この書込み過程は、同時に同じ特定の物理的なメモリモジュールにアクセスすることがない限り、他のメモリアクセスと並列的に実行されても良い。もし、そのマスタ機器に接続されたアクセスチャネル回路が、データが格納されることになるメモリモジュールに直接に接続されていないなら、内部バス（３０６）と（３０７）と制御構成回路（２０１）とが、適用可能なメモリモジュール（２０３）に接続されたアクセスチャネルに要求と情報／データを転送するのに用いられても良い。
【０１０３】
プリフェッチ／自動データ転送過程は、例えば、次のようにして生じる。
【０１０４】
与えられたソース側のメモリ範囲／アドレスから与えられた対象側のメモリ範囲／アドレスに移動される内容の取り出し／読出しのためのプリフェッチ／自動データ転送指示、コマンド、特定のパターンなどが入力側システムバス＃ｋ（３０４）で受信され、これにより、メモリアクセスコントローラ（３０１）とソース宛先セレクタ（３０３）により受信される。メモリアクセスコントローラ（３０１）ではその指示とメモリ範囲との内少なくともいずれかを解釈して、メモリアクセスのタイプと、アクセスチャネル回路（３００）がそれ自身による要求を処理することができるかどうか、即ち、アクセスチャネル回路（３００）がコピー／移動されることになる情報を有する特定の物理的なメモリモジュール（２０３）に接続されているかどうかを決定する。もし、アクセスチャネル回路（３００）が、その要求を扱うことができるなら、その情報／データは読出し過程に関連して上述した方法で取り出される。
【０１０５】
コピー／移動されることになるデータ／情報がメモリモジュール接続（２１０）を介して出力側システムバス＃ｋ（３０８）で提供されるとき、メモリアクセスコントローラ（３０１）はこのデータ／情報を直接に出力側システムバス＃ｋ（３０８）への接続を介して直接に取り出し、これを接続（３１１）上の情報／データが特定の対象アドレス／メモリ範囲に書込まれることを指定する制御信号（３１２）とともに、接続（３１１）を介して、ソース宛先セレクタ（３０３）に提供する。情報／データの書込みは、書込み過程に関連して上述したように実行される。
【０１０６】
その情報／データが対象となるメモリに移動／コピーされた後、割込みがメモリアクセスコントローラ（３０１）により、割込み接続（３０５）を介してマスタ機器に対して発行されても良い。そのマスタ機器は、その時、相対的に高速のメモリから情報／データの転送を開始する。
【０１０７】
もし、アクセスチャネル回路＃ｋ（３００）が、ソースと対象となるメモリモジュール（２０３）との内少なくともいずれかに接続されていないなら、内部バス（３０６）と（３０７）と制御構成回路（２０１）とが、適用可能なメモリモジュール（２０３）に接続されたアクセスチャネル回路（３００）への要求を転送するのに用いられても良い。その情報／データは同じ方法でアクセスチャネル回路（３００）＃ｋに送信される。しかしながら、各アクセスチャネル回路（３００）は好適には各物理的なメモリモジュール（２０３）に接続される。
【０１０８】
さらに、付加的なアクセスチャネル（１つ以上）が、自動データ転送／プリフェッチを実行するときに、リンク／チェインされても良い。このようにして、各アクセスチャネルは完全な内容の一部を取り出したり格納したりすることを担当する。これにより、特定のアクセスチャネル上にマップされた相対的に大きなメモリトランザクションが、多数の、しかしより小さなトランザクションへと分割され、これによりアクセスチャネルが占有される時間を短縮すると良い。
【０１０９】
なお、自動データ転送の一部として用いられる他のアクセスチャネルは、マスタ機器に接続されないか（さもなければ、図面上に示されているように）、或いは、自動データ転送の間、アイドル上にあることを要求している。
【０１１０】
図４ａ〜４ｃはアクセスチャネル回路の構成の異なる実施例を図示したものである。これらの例においては、ただ２つのメモリモジュール（２０３）と２つのアクセスチャネル回路（３００）だけが示されている。２つのアクセスチャネル回路（３００）が、２つのメモリモジュール接続＃０と＃１（２１０）を介して２つのメモリモジュール（２０３）に接続されている。
【０１１１】
図４ａは、各メモリモジュール（２０３）が同じメモリバス（２０９）（メモリバス＃０）に接続される以外は図２に示した構成に対応している。これにより、設計の複雑さが少なくなる、しかしながら、メモリアクセス時におけるマスタ機器＃ｋと＃ｎ（２０２）との間の競合の危険性は、マスタ機器（２０２）が非常に頻繁に或いは必ず同時にアクセスする必要があったりするなら大きくなる。マスタ機器（２０２）がそのメモリに同時に決して或いはほとんどアクセスしないなら、競合の危険性を著しく増し加えることなく複雑度をさらに少なくすることは、例えば、第２のアクセスチャネル回路＃ｎ（３００）をもたないこと（即ち、メモリバス＃０のみを用いること）であるかもしれない。しかしながら、第２のアクセスチャネル回路＃ｎ（３００）は自動データ転送などに用いられる。
【０１１２】
図４ｂには、複数のアクセスチャネル回路（３００）の１つだけが自動データ転送エンジン（アクセスチャネル＃ｎ）として機能する構成が示されている。この例は、複数の転送エンジンが共にチェインとなった例を示している。即ち、アクセスチャネル回路＃ｋと＃ｎ（３００）が同じシステムバス＃１（３０４；３０８）に接続されている。アクセスチャネル回路＃ｎ（３００）はまたシステムバス＃１（３０４；３０８）にも接続されているので、データ転送が直接にマスタ機器＃ｋ（２０２）に対して可能である。さもなければ、それはただ内部メモリコピー（例えば、低速メモリから高速メモリへ）に対してのみ用いられる。
【０１１３】
図４ｃには、２つのマスタ機器（２０２）が同じシステムバス（３０８）（システムバス＃１）を介して接続され、１つのアクセスチャネル回路＃ｋ（３００）が単一のメモリバス＃０（２０９）を介して接続される一方、他方のアクセスチャネル回路＃ｎ（３００）が２つのメモリバス＃０と＃１（２０９）各々により特定のメモリモジュール＃０或いは＃１（２０３）に夫々接続されている構成が示されている。このようにして、１つのメモリバス（＃０）（２０９）が、複数のアクセスチャネル回路（３００）間で共用される。加えて、接続されたマスタ機器＃ｋと＃ｎ（２０２）が同じシステムバス＃１（３０４；３０８）にも接続されて／共用している。
【０１１４】
図５は本発明の好適な実施例を図示したものであり、メモリコントローラを含むか、本発明に従う方法を使用するかの内、少なくともいずれかであれば良い。示されているものは、ディスプレイ（５０４）、キーパッド、タッチパッド、タッチ型スクリーンなどような入力手段（５０５）、無線通信トランシーバ（５０２）、マイクロフォンなどのような音声捕捉ユニット（５０６）、スピーカなどのような音声生成ユニット（５０３）などを有する移動体電話、スマート電話、ＰＤＡなどのような移動体通信端末（５０１）である。前記メモリコントローラと前記方法との内、少なくともいずれかを含むことにより、効率的で非常に柔軟なメモリアクセスが提供される。加えて、本発明で備えられたスケーラビリティにより、メモリアクセスのメモリコントローラ／方法の特定の実施例が適切なニーズ（速度、柔軟性など）に対して調整可能となる。さらに、メモリアクセス機器間の競合の危険性を少なくしたりその危険性をなくしたりすることが可能になる。しかしながら、一般には、本発明はメモリアクセスが用いられるＡＳＩＣ、ＦＰＧＡ、ＰＬＤ、その他のデジタル回路に関連して利用可能であり、これらのメモリアクセスを改善／最適化する。
【図面の簡単な説明】
【０１１５】
【図１】本発明を図式的に表現した図である。
【図２】本発明に従う実施例をより詳細に図式的に表現した図である。
【図３】本発明の実施例に従うメモリコントローラの単一のアクセスチャネル回路の実施例を図式的に示す図である。
【図４ａ】、
【図４ｂ】、
【図４ｃ】アクセスチャネル回路の構成の異なる実施例を示した図である。
【図５】本発明に従うメモリコントローラを含むか、本発明に従う方法を用いるかの内少なくともいずれかである、本発明の好適な実施例を示す図である。
【図１】
0004459903.tif 000002
【図２】
0004459903.tif 000003
【図３】
0004459903.tif 000004
【図４ａ】
0004459903.tif 000005
【図４ｂ】
0004459903.tif 000006
【図４ｃ】
0004459903.tif 000007
【図５】
0004459903.tif 000008