(57)【要約】  複数のＣＰＵを有するシステム用のメモリインタフェースが、各ＣＰＵが外部メモリへアクセスすることのできる、予め規定された複数のタイムスロットを提供する。各ＣＰＵに割り当てられるタイムスロットは、ＣＰＵの予期されるメモリ必要量に従って規定することができる。このようにして、各ＣＰＵは、外部メモリへの専用帯域を最小量所有することを保証される。予め規定されたタイムスロットは、システムのレイテンシを既知とすることを可能とするため、実時間ベースのアプリケーションに有用である。さらに、各ＣＰＵは自らに割り当てられたタイムスロットの期間中、自分自身のクロックを用いて外部メモリを制御することができるので、システム内で様々なクロックドメインを許容できる。メモリリフレッシュ及びデータ保護機能もまた提供される。この要約書は、サーチャ又は他の読者が技術的な開示の主題を素速く確かめることを可能とするという、要約書に要求される規則を満たすために提供される。この要約書は、請求項の範囲や意味を解釈したり制限するためには用いられないという理解とともに提出される。
2007508607.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御プロセッサから１つの外部メモリへのアクセスを許可するための方法であって、
第１のタイムスロット及び第２のタイムスロットを規定するステップと、
前記第１の規定されたタイムスロットの間、第１の制御プロセッサに前記外部メモリへのアクセスを許可するステップと、
前記第２の規定されたタイムスロットの間、第２の制御プロセッサに前記外部メモリへのアクセスを許可するステップとを有することを特徴とする方法。
【請求項２】
前記第１の制御プロセッサが、第１のクロックを有する第１のメモリコントローラを介して前記外部メモリにアクセスし、
前記第２の制御プロセッサが、第２のクロックを有する第２のメモリコントローラ及び前記外部メモリにアクセスし、
前記第１及び前記第２のメモリコントローラの前記第１及び前記第２のクロックが、前記第１及び前記第２の制御プロセッサの第１及び第２のクロックとそれぞれ同期していることを特徴とする請求項１記載の方法。
【請求項３】
前記アクセスを許可するステップが、前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２のメモリコントローラを前記外部メモリへそれぞれ多重化するステップを有することを特徴とする請求項２記載の方法。
【請求項４】
前記第１及び前記第２の制御プロセッサが、１つのメモリコントローラを介して前記外部メモリへアクセスすることを特徴とする請求項１記載の方法。
【請求項５】
前記アクセスを許可するステップが、前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２の制御プロセッサを前記外部メモリへそれぞれ多重化するステップを有することを特徴とする請求項４記載の方法。
【請求項６】
前記アクセスを許可するステップが、前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２の制御プロセッサの第１のクロック及び第２のクロックをそれぞれ、前記外部メモリへ多重化するステップをさらに有することを特徴とする請求項５記載の方法。
【請求項７】
前記第１及び前記第２の制御プロセッサの各々によってアクセス可能な前記外部メモリ内の領域を規定するステップをさらに有することを特徴とする請求項１記載の方法。
【請求項８】
前記第２の制御プロセッサによってアクセス可能な領域を前記第１の制御プロセッサがアクセスできないようにするステップと、
前記第１の制御プロセッサによってアクセス可能な領域を前記第２の制御プロセッサがアクセスできないようにするステップとをさらに含むことを特徴とする請求項７記載の方法。
【請求項９】
前記第１及び前記第２の制御プロセッサが、１つの集積回路内に存在することを特徴とする請求項１記載の方法。
【請求項１０】
前記第１及び前記第２の制御プロセッサが、異なるクロック周波数を有することを特徴とする請求項９記載の方法。
【請求項１１】
前記第１のタイムスロット及び前記第２のタイムスロットの少なくとも一方の長さを、前記第１及び前記第２の制御プロセッサの少なくとも一方のメモリアクセス動作に基づいて調整するステップをさらに有することを特徴とする請求項１記載の方法。
【請求項１２】
前記外部メモリが、前記外部メモリへのアクセスを許可されたメモリコントローラのクロックと同期したクロックを有することを特徴とする請求項２記載の方法。
【請求項１３】
前記第２の制御プロセッサに前記外部メモリへのアクセスを許可する前に、前記外部メモリへのアクセス要求の対象であるデータ又はプログラムコードを認証するように要求するステップをさらに有することを特徴とする請求項１記載の方法。
【請求項１４】
複数の制御プロセッサが１つの外部メモリへアクセスすることを可能とするためのメモリインタフェースであって、
第１の制御プロセッサと、
第２の制御プロセッサと、
前記第１及び前記第２の制御プロセッサの１つと相互動作可能に接続されるとともに同期させられるアービタを有し、
前記アービタが、
第１の予め規定されたタイムスロットの間は前記第１の制御プロセッサに前記外部メモリへのアクセスを許可し、
第２の予め規定されたタイムスロットの間は前記第２の制御プロセッサに前記外部メモリへのアクセスを許可するように構成されることを特徴とするメモリインタフェース。
【請求項１５】
第１のメモリコントローラ及び第２のメモリコントローラをさらに有し、
前記第１の制御プロセッサが、第１のクロックを有する前記第１のメモリコントローラを介して前記外部メモリにアクセスし、
前記第２の制御プロセッサが、前記外部メモリ及び、第２のクロックを有する前記第２のメモリコントローラにアクセスし、
前記第１及び前記第２のメモリコントローラの前記第１及び前記第２のクロックが、前記第１及び前記第２の制御プロセッサの第１及び前記第２のクロックとそれぞれ同期していることを特徴とする請求項１４記載のメモリインタフェース。
【請求項１６】
前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２のメモリコントローラを前記外部メモリへそれぞれ多重化するように構成される多重化器をさらに有することを特徴とする請求項１５記載のメモリインタフェース。
【請求項１７】
１つのメモリコントローラをさらに有し、前記第１及び前記第２の制御プロセッサが、前記１つのメモリコントローラを介して前記外部メモリへアクセスするように構成されることを特徴とする請求項１４記載のメモリインタフェース。
【請求項１８】
前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２の制御プロセッサを前記外部メモリへそれぞれ多重化するように構成される多重化器をさらに有することを特徴とする請求項１７記載のメモリインタフェース。
【請求項１９】
多重化器が、さらに、前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２の制御プロセッサの第１及び前記第２のクロックを前記外部メモリへそれぞれ多重化するように構成されることを特徴とする請求項１７記載のメモリインタフェース。
【請求項２０】
前記アービタが、さらに、前記第１及び前記第２の制御プロセッサの各々によってアクセス可能な前記外部メモリ内の領域を規定するように構成されることを特徴とする請求項１４記載のメモリインタフェース。
【請求項２１】
前記アービタが、さらに、前記第２の制御プロセッサによってアクセス可能な領域を前記第１の制御プロセッサがアクセスできないようにするとともに、前記第１の制御プロセッサによってアクセス可能な領域を前記第２の制御プロセッサがアクセスできないようにするように構成されることを特徴とする請求項２０記載のメモリインタフェース。
【請求項２２】
前記第１及び前記第２の制御プロセッサが、１つの集積回路内に存在することを特徴とする請求項１４記載のメモリインタフェース。
【請求項２３】
前記第１及び前記第２の制御プロセッサが、異なるクロック周波数を有することを特徴とする請求項２２記載のメモリインタフェース。
【請求項２４】
前記アービタが、さらに、前記第１のタイムスロット及び前記第２のタイムスロットの少なくとも一方の長さを、前記第１及び前記第２の制御プロセッサの少なくとも一方のメモリアクセス活性に基づいて調整するようにされることを特徴とする請求項１４記載のメモリインタフェース。
【請求項２５】
前記外部メモリが、前記外部メモリへのアクセスを許可されたメモリコントローラのクロックと同期したクロックを有することを特徴とする請求項１５記載のメモリインタフェース。
【請求項２６】
前記第２の制御プロセッサに前記外部メモリへのアクセスを許可する前に、前記外部メモリへのアクセス要求の対象であるデータ又はプログラムコードを認証するように要求するステップをさらに有することを特徴とする請求項１４記載のメモリインタフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は、何れも「複数のＣＰＵと１つのメモリを有するシステムのための高性能且つ高信頼性なメモリインタフェース」という名称を有する、米国仮出願第６０／５０９，５０３号（２００３年１０月８日出願）、同６０／５１０，０７４号（２００３年１０月９日出願）及び同６０／５３０，９６０号（２００３年１２月１９日出願）の優先権を主張すると共に、それらを参照により本明細書に組み入れるものである。
【０００２】
本発明はメモリシステムに関し、特には複数のプロセッサによってアクセス可能なメモリシステムのためのインタフェースに関する。
【背景技術】
【０００３】
中央処理装置（ＣＰＵ）は、動作にメモリを必要とする。メモリは、ディジタル特定用途向け集積回路（ＡＳＩＣ）の場合のように、ＣＰＵと同じ集積回路や”チップ”上に設けられたり、外部に設けられたりする。オンチップメモリは外部メモリよりも高速であるという利点がある反面、高価で、あまりスケーラブルではない。そのため、大半のディジタルＡＳＩＣにおいて、オンチップメモリの容量は比較的小さい。一方で、外部メモリはコストが低く、スケーラブルである。従って、存在するであろうオンチップメモリに加え、比較的大容量の外部メモリが設けられるのが通常である。通信バスは、ＣＰＵと外部メモリ間におけるデータ転送を容易にする。通信バスは、通常、外部メモリインタフェースによって制御される。外部メモリインタフェースは、通信バスへのアクセスを統制する。
【０００４】
一部のシステムでは、それぞれがメモリへのアクセスを必要とする、複数のＣＰＵが存在するかも知れない。そのようなシステムに対する全体的なシステムコストを低く維持するには、複数のＣＰＵが同じ外部メモリを共用する必要があるだろう。例えば、あるシステムでは、制御プロセッサ及びダイレクトメモリアクセスコントローラが同じ外部メモリをアクセスする。１度に１つだけのＣＰＵが外部メモリを制御するであろうから、メモリインタフェースの設計においては多くの難問が存在する。特に、メモリインタフェースは個々のＣＰＵに、外部メモリへの、ある必要最小限の帯域を与えることが可能でなければならない。メモリインタフェースはまた、外部メモリへの同時アクセスを処理可能でなければならない。他の課題には、メモリのリフレッシュ（即ち、どのＣＰＵがリフレッシュを実行するか）、あるＣＰＵのデータが他のＣＰＵに改変されないようにすること、各ＣＰＵについての待ち時間やレイテンシを決定することなどが含まれる。
【０００５】
既存のメモリインタフェースは、複数のＣＰＵを取り扱うために非同期の要求−許可システムを用いている。典型的には、ある１つのＣＰＵが外部メモリにアクセスする必要がある場合、そのＣＰＵはメモリアクセス要求信号をメモリインタフェースに送信する。メモリインタフェースは、そのＣＰＵに、要求が受信されたことを確認する応答信号を返送する。そして、メモリインタフェースは、ある予め定められた手法に基づいて、その要求を許可するかどうかを決定する。この手法としては、例えば、ファーストインファーストアウト手法、優先度に基づく手法、ランダムアクセス手法などであってよい。その後メモリインタフェースは、許可信号をそのＣＰＵへ送信する。ＣＰＵは受信確認信号をメモリインタフェースに返送することにより応答してもよい。そして、外部メモリへのアクセスを行なうことが可能となる。
【０００６】
【特許文献１】欧州公開特許公報第ＥＰ １ １３２ ８１８ Ａ号
【特許文献２】米国公開特許公報第２００２／１６６０１７ Ａ１号
【特許文献３】米国公開特許公報第２００１／０２９５９０ Ａ１号
【発明の開示】
【０００７】
メモリインタフェースは、複数のＣＰＵの各々が外部メモリへアクセスすることのできる、予め規定された複数のタイムスロットを提供する。各ＣＰＵに割り当てられるタイムスロットは、ＣＰＵの予期されるメモリ必要量に従って規定することができる。各ＣＰＵには、外部メモリへの専用帯域が所定量保証される。予め規定されたタイムスロットは、システムのレイテンシを既知とすることを可能とするため、実時間ベースのアプリケーションに有用である。さらに、各ＣＰＵは自らに割り当てられたタイムスロットの期間中、自分自身のクロックを用いて外部メモリを制御することができるので、システム内で様々なクロックドメインを許容できる。メモリリフレッシュ及びデータ保護機能もまた提供される。
【０００８】
ある側面において、本発明は概して、複数の制御プロセッサから１つの外部メモリへのアクセスを許可する方法を対象としている。この方法は、第１のタイムスロット及び第２のタイムスロットを規定するステップと、第１の予め規定されたタイムスロットの間、第１の制御プロセッサに外部メモリへのアクセスを許可するステップと、第２の予め規定されたタイムスロットの間、第２の制御プロセッサに外部メモリへのアクセスを許可するステップとを有する。
【０００９】
ある側面において、本発明は概して、複数の制御プロセッサに１つの外部メモリへのアクセスを許可するためのメモリインタフェースを対象としている。このメモリインタフェースは、第１の制御プロセッサ、第２の制御プロセッサ及び、第１及び第２の制御プロセッサの１つと相互動作可能に接続されるとともに同期させられるアービタを有する。アービタは、第１の予め規定されたタイムスロットの間は第１の制御プロセッサに外部メモリへのアクセスを許可し、第２の予め規定されたタイムスロットの間は第２の制御プロセッサに外部メモリへのアクセスを許可するように構成される。
【００１０】
なお、本明細書において「含む／有する」という語が用いられる場合、説明された機能、整数、ステップ又は構成部品の存在を特定するものとして解釈されるが、他の機能、整数、ステップ、構成部品又はそのグループの１つ又はそれより多くの存在や付加を排除するものではない点に留意されたい。
本発明の上述した利点及び他の利点は、図面の参照及び以下の詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００１１】
以下、同一又は類似要素に対しては同じ参照ラベルが用いられる図面を参照して、本発明の例示的な実施形態を詳細に説明する。なお、”アクセス”という語が”外部メモリ”という語とともに用いられる場合、任意のメモリ操作を意味及び言及する。任意のメモリ操作には、読み出し操作、書き込み操作及びリフレッシュ操作が含まれるが、それらに限定されるものではない。
【００１２】
非同期要求−許可システムはそこそそうまく機能するが、いくつかの部分で改良が望まれる。例えば、ＣＰＵ−メモリインタフェース間で発生する様々なハンドシェークは、貴重な帯域を消費しうる。さらに、一端許可されたメモリアクセスは、通常そのＣＰＵが終了するまでは中断されないので、所与のＣＰＵについてのシステムレイテンシを、いくらかの精度をもって予測することは困難である。この、未知で、かつ長いかも知れない待ち時間は、他のＣＰＵにとって、特に実時間ベースのアプリケーションにおいては問題となりうる。
【００１３】
従って、メモリインタフェースは、ＣＰＵに対して外部メモリへのアクセスを許可するため、予め規定されたタイムスロットを用いることができる。各ＣＰＵに割り当てられるタイムスロットは、ＣＰＵの予期されるメモリ必要量に従って規定することができる。このようにして、各ＣＰＵは、外部メモリへの専用帯域を最小量所有することを保証される。予め規定されたタイムスロットを有することにより、システムのレイテンシを知ることも可能となり、実時間ベースのアプリケーションにとって有用である。
【００１４】
図１は、メモリインタフェース１００を説明するブロック図である。メモリインタフェース１００は第１のＣＰＵ（ＣＰＵ１）及び第２のＣＰＵ（ＣＰＵ２）を、１つの外部メモリ１０２に接続する。多くのディジタルＡＳＩＣの場合と同様、ＣＰＵ１及びＣＰＵ２は何れも１つのチップ内に存在していても良いし、或いは個別のチップに存在していても良い。ＣＰＵ１及びＣＰＵ２が１つのチップ内に存在する場合、メモリインタフェース１００はそれらＣＰＵと同じチップ内に配置されても良いし、個別のチップに配置されても良い。ＣＰＵ１及びＣＰＵ２は同一の機能を実行しても良いし、個々のＣＰＵが異なる機能（例えば、ネットワークアクセスとアプリケーションの実行）を行なっても良い。後者の場合、ＣＰＵ１及びＣＰＵ２は外部メモリ１０２に関して異なる帯域要求を有しているだけでなく、異なるクロック周波数を有していても良い。
【００１５】
メモリインタフェース１００はＣＰＵ１及びＣＰＵ２の各々に対する別個のメモリコントローラを含んでいる。そのため、図１に示す例において、ＣＰＵ１はメモリコントローラ１０４に、ＣＰＵ２は別のコントローラ１０６にそれぞれ接続されている。メモリコントローラ１０４及び１０６は、ライトイネーブル、リードイネーブル、メモリアクセス、データ等を含む、適切な制御信号を外部メモリ１０２へ供給可能な任意かつ適切なメモリコントローラであって良い。メモリコントローラ１０４及び１０６の各々は、多重化器１０８を介して外部メモリ１０２に接続される。多重化器１０８は、例えば連結多重化器(combinatorial multiplexer)であってよい。
【００１６】
アービタ１１０は多重化器１０８に接続される。アービタ１１０は任意の適切な論理デバイスであってよく、その時々において、メモリコントローラ１０４及び１０６の何れを外部メモリ１０２へ多重化するかを制御するように構成される。外部メモリ１０２へのアクセスはタイムスロットに基づいて許可され、メモリコントローラ１０４又は１０６は、特定の時間有効にされる。タイムスロットの長さは、例えば、ＣＰＵの外部メモリ要求量、ＣＰＵのクロック周波数又は他の要因に基づいて予め規定しておくことが可能である。このように、各ＣＰＵは、外部メモリ１０２に関して所定の最小帯域と所定の最大レイテンシを有する。アービタ１１０は、タイムスロットの長さを必要に応じて時々調整できるよう、プログラマブルであっても良い。
【００１７】
動作時、メモリコントローラ１０４及び１０６の各々は、ＣＰＵ１又はＣＰＵ２と同期させられる。つまり、メモリコントローラ１０４はＣＰＵ１と同期させられ、メモリコントローラ１０６はＣＰＵ２と同期させられる。これにより、各メモリコントローラはそれぞれが対応するＣＰＵのクロック周波数で動作することが可能となる。このように、あるＣＰＵ（例えばＣＰＵ１又はＣＰＵ２）が外部メモリ１０２へのアクセスを許可される際、そのＣＰＵから外部メモリ１０２へ、またその逆の方向への同期パスが存在する。同様にして、アービタ１１０もまたＣＰＵの１つ（例えばＣＰＵ１）と同期させられる。通常、アービタ１１０は、最高のタイムスロット解像度を実現するため、最も速いクロックを有するＣＰＵと同期させられる。アービタ１１０はまた、そのＣＰＵに対するメモリコントローラ（例えばメモリコントローラ１０４）とも同期させられるが、他のＣＰＵに対するメモリコントローラとの同期は不要である。
【００１８】
ＣＰＵ１又はＣＰＵ２のいずれかが外部メモリ１０２へのアクセスを希望する場合、アクセスするＣＰＵは、１つ以上の所望のアドレスを、対応するメモリコントローラ（即ち、メモリコントローラ１０４又は１０６）に対して単に与えればよい。書き込み動作を伴う場合、アクセスするＣＰＵは外部メモリ１０２に書き込むデータも与える。いずれにせよ、対応するメモリコントローラはアクセスするＣＰＵ専用なので、アクセスするＣＰＵと対応するメモリコントローラとの間では、要求−許可ハンドシェークを一切行なう必要がない。アクセスするＣＰＵのタイムスロットが始まると、アービタ１１０は対応するメモリコントローラに有効化信号を送信するとともに、多重化器１０８に、そのメモリコントローラから外部メモリ１０２への制御信号を多重化させる。通常、”ready”、”data available”又は”wait”信号が、現在のデータ転送（データ書き込み又はデータ読みだし）の完了を通知するために用いられる。これにより、ＣＰＵは、正確なレイテンシを知る必要なしにデータをアクセスすることが可能である。その後、メモリ操作はタイムスロットが終了するまで通常通り進行し、次のＣＰＵのタイムスロットにおいて同様の処理が繰り返される。
【００１９】
ＣＰＵ１及びＣＰＵ２それぞれのデータが保護されることを確実にするため、本発明のある実施形態において、アービタ１１０はＣＰＵ１及びＣＰＵ２の各々についてのメモリパラメータを格納するレジスタ（図示せず）を含むことができる。このレジスタは例えば、外部メモリ１０２のどの領域がどのＣＰＵによってアクセス可能であるのか、外部メモリ１０２のどの領域が両方のＣＰＵによりアクセス可能であるのかを規定することが可能である。ＣＰＵから所望の１つ以上のアドレスを受信すると、メモリコントローラは受信したアドレス情報をアービタ１１０に転送する。アービタ１１０はその後そのアドレス情報をアービタ１１０のレジスタに格納された情報に対してチェックし、そのＣＰＵが外部メモリ１０２のその領域に対するアクセス権を有しているかどうかを判別する。もしアクセス権を有していると判別されたならば、アービタ１１０はそのメモリ操作を通常通り進めることを許可する。もし、アクセス権がないと判別された場合には、アービタ１１０はそのメモリコントローラを無効とし、ＣＰＵに対してエラー状況が報告される。
【００２０】
本発明のある実施形態において、アービタ１１０はまた、外部メモリ１０２のリフレッシュ機能を含みうる。このリフレッシュ機能は本技術分野に属する当業者に周知であるため、これ以上の説明は行なわない。別のオプションとして、リフレッシュ機能がＣＰＵの１つ、例えばアービタ１１０が接続されるＣＰＵに備わっていても良く、リフレッシュ機能はそのＣＰＵのメモリアクセスタイムスロットの間に実行される。
【００２１】
図１にはＣＰＵが２つしか記載されていないが、必要に応じてＣＰＵを追加可能であることを本技術分野に属する当業者は理解するであろう。さらに、各ＣＰＵに対して独立したメモリコントローラが示されているが、以下に説明するように、１つのメモリコントローラを用いうることを当業者は理解するであろう。
【００２２】
図２に、１つのメモリコントローラとともに用いるためのメモリインタフェース２００を示す。メモリインタフェース２００は第１のＣＰＵ（１００）及び第２のＣＰＵ（ＣＰＵ２）を、１つの外部メモリ２０２に接続する点で、図１におけるメモリインタフェース１００と同様である。しかし、各ＣＰＵに対する個別のメモリコントローラに代わって、メモリインタフェース２００はＣＰＵ１及びＣＰＵ２の両方に対する１つのメモリコントローラ２０４を含んでいる。多重化器２０６は、各ＣＰＵを、そのＣＰＵについてのクロック信号とともにメモリコントローラ２０４へ多重化する。多重化器２０６により、メモリコントローラは事実上１つのＣＰＵ専用とされるため、やはりＣＰＵとメモリコントローラ２０４との間に要求−許可ハンドシェークは不要である。アービタ２０８は、どのＣＰＵが多重化器２０６によってメモリコントローラ２０４へ多重化されるかを、タイムスロットベースで制御する。
【００２３】
クロックドメインが異なることによる（さらに、帯域が狭い可能性があることによる）問題を解決するため、メモリコントローラ２０４によって用いられるクロックは、アクセスするＣＰＵから選択される。このようにして、ＣＰＵ１及びＣＰＵ２が互いに非同期に動作している場合であっても、メモリコントローラ２０４内のロジックはアクセスするＣＰＵと同期して動作する。
【００２４】
図２と図１との他の相異点は、図２では、ＣＰＵ毎のメモリコントローラが使用していた領域が節約されることである。また、メモリそれ自身の制御機能（例えばバンク選択等）も、メモリコントローラが１つの方が簡単になるだろう。一方、図１に示すように複数のメモリコントローラを用いることの利点としては、他のＣＰＵがアクセスを許可された際も、メモリコントローラの状態が維持される点があるだろう。
【００２５】
本発明のある実施形態において、様々なＣＰＵの要求に応じて、あるＣＰＵが通常よりも長いタイムスロットを一時的に与えられることもあり得る。例えば、１つのＣＰＵがリアルタイムタスクを実行中である場合、そのＣＰＵはメモリインタフェース及びメモリトランザクションの固定割り当てを保証されるべきであり、一方で他のＣＰＵの割り当てはより柔軟に行なわれる。しかし、リアルタイムＣＰＵの動作があまり活発でない期間があるような場合であって、その期間が頻繁なメモリアクセスを必要とする他のＣＰＵにおけるプログラム切り替えと重なる場合には、他のＣＰＵに、通常の割り当てよりも多く外部メモリアクセスを許可するようにしてもよい。従って、アービタは、リアルタイムＣＰＵの休止(inactivity)が検出されると、他のＣＰＵに割り当てられているタイムスロットを一時的に拡張するように設計されても良い。他のオプションとして、タイムスロットの代りに、アービタは他のＣＰＵにより多くのメモリトランザクションを許可するように設計されても良い。一時的な割り当てが終了すると、アービタは例えば元の固定割り当てに戻すことができる。
【００２６】
メモリアクセス制御機能に加え、上述のアービタはゲートキーパー機能を提供しても良い。例えば、一部の実施形態において、アービタは、例えばＣＰＵ２など、アービタと非同期なクロックを有する１つのＣＰＵで動作中の複数のアプリケーションが、外部メモリにアクセス可能であるような方法を制御するためにも用いられ得る。具体的には、これらアプリケーションが、外部メモリに格納されたデータ又はプログラムコードにアクセスを希望する場合、アービタはそれらアプリケーションにそのデータ又はプログラムコードが格納されているメモリ領域へのアクセスを許可する前に、アプリケーションに対し、外部メモリに格納されているそのデータ又はプログラムコードを（ＣＰＵ２を介して）認証することを要求する。認証は例えば、本技術分野に属する当業者に既知の、何らかの適切な技術を用いて行なうことができる。この方法において、外部メモリに格納されたデータ又はプログラムコードが有効である（すなわち、アプリケーションによって認証可能である）場合、アービタは、そのデータ又はプログラムコードをそれらアプリケーションが利用可能とする。しかし、無効なデータ又はプログラムコード（すなわち、認証できないデータ又はプログラムコード）は、無効なデータ又はプログラムコードがシステムに何らかの悪さや損害を与えることの無いよう、アプリケーションによる利用が許可されないであろう。
【００２７】
本発明を１つ又はそれより多い実施形態に関連して説明してきたが、本技術分野に属する当業者は本発明の精神及び範囲を逸脱することなくそれら実施形態に多くの変更を行なうことが可能であることを理解するであろう。これら実施形態の各々並びに自明なバリエーションは、特許請求の範囲に記載される本発明の精神及び範囲に含まれることが意図されている。
【図面の簡単な説明】
【００２８】
【図１】各ＣＰＵ用に個別のメモリコントローラを有する例示的なメモリインタフェースのブロック図である。
【図２】全ＣＰＵに共通した１つのメモリコントローラを有する例示的なメモリインタフェースのブロック図である。
【図１】
2007508607.tif 000003
【図２】
2007508607.tif 000004
【手続補正書】
【提出日】平成18年11月7日(2006.11.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の制御プロセッサから１つの外部メモリへのアクセスを許可するための方法であって、前記複数の制御プロセッサの各々は、割り当てられたタイムスロットの間前記外部メモリへのアクセスを許可される方法において、
第１の規定されたタイムスロットの間、第１のメモリコントローラを介し、第１の制御プロセッサに前記外部メモリへのアクセスを許可するステップと、
第２の規定されたタイムスロットの間、第２のメモリコントローラを介し、第２の制御プロセッサに前記外部メモリへのアクセスを許可するステップとを有し、
前記第１及び前記第２のメモリコントローラが第１のクロック及び第２のクロックをそれぞれ含み、前記第１及び前記第２のメモリコントローラの前記第１及び前記第２のクロックが、前記第１及び前記第２の制御プロセッサの第１クロック及び第２のクロックとそれぞれ同期することを特徴とする方法。
【請求項２】
前記アクセスを許可する複数のステップが、前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２のメモリコントローラを前記外部メモリへそれぞれ多重化するステップを有することを特徴とする請求項１記載の方法。
【請求項３】
前記第１及び前記第２の制御プロセッサの各々によってアクセス可能な前記外部メモリ内の領域を規定するステップをさらに有することを特徴とする請求項１記載の方法。
【請求項４】
前記第２の制御プロセッサによってアクセス可能な領域を前記第１の制御プロセッサがアクセスできないようにするステップと、
前記第２の制御プロセッサによってアクセス可能な領域を前記第１の制御プロセッサがアクセスできないようにするステップとをさらに含むことを特徴とする請求項３記載の方法。
【請求項５】
前記第１及び前記第２の制御プロセッサを、１つの集積回路内に実装するステップをさらに有することを特徴とする請求項１記載の方法。
【請求項６】
前記第１及び前記第２の制御プロセッサが、異なるクロック周波数を有するようにするステップをさらに有することを特徴とする請求項１記載の方法。
【請求項７】
前記第１のタイムスロット及び前記第２のタイムスロットの少なくとも一方の長さを、前記第１及び前記第２の制御プロセッサの少なくとも一方のメモリアクセス動作に基づいて調整するステップをさらに有することを特徴とする請求項１記載の方法。
【請求項８】
前記外部メモリが、前記外部メモリへのアクセスを許可されたメモリコントローラのクロックと同期したクロックを有することを特徴とする請求項１記載の方法。
【請求項９】
前記第２の制御プロセッサに前記外部メモリへのアクセスを許可する前に、前記外部メモリへのアクセス要求の対象であるデータ又はプログラムコードを認証するように要求するステップをさらに有することを特徴とする請求項１記載の方法。
【請求項１０】
複数の制御プロセッサから１つの外部メモリへのアクセスを許可するための方法であって、前記複数の制御プロセッサの各々は、割り当てられたタイムスロットの間前記外部メモリへのアクセスを許可される方法において、
１つのメモリコントローラにより、第１のタイムスロット及び第２のタイムスロットの間、第１の制御プロセッサ及び第２の制御プロセッサを、前記外部メモリへそれぞれ多重化するステップを有し、
前記第１及び前記第２のタイムスロットの間、前記第１の制御プロセッサの第１のクロック及び前記第２の制御プロセッサの第２のクロックが、前記外部メモリへそれぞれ多重化されることを特徴とする方法。
【請求項１１】
複数の制御プロセッサが１つの外部メモリへアクセスすることを可能とするためのメモリインタフェースであって、前記複数の制御プロセッサの各々は、割り当てられたタイムスロットの間前記外部メモリへのアクセスを許可され、
第１の制御プロセッサ用の第１のプロセッサクロックと、
第２の制御プロセッサ用の第２のプロセッサクロックと、
第１のコントローラクロックを有する第１のメモリコントローラと、
第２のコントローラクロックを有する第２のメモリコントローラと、
前記第１及び前記第２の制御プロセッサの１つと相互動作可能に接続されるとともに同期させられるアービタを有し、
前記アービタが、
第１の予め規定されたタイムスロットの間は前記第１の制御プロセッサに前記第１のメモリコントローラを介して前記外部メモリへのアクセスを許可し、
第２の予め規定されたタイムスロットの間は前記第２の制御プロセッサに前記第２のメモリコントローラを介して前記外部メモリへのアクセスを許可するように構成され、
前記第１及び前記第２のメモリコントローラの前記第１及び前記第２のコントローラクロックが、前記第１及び前記第２の制御プロセッサの前記第１及び前記第２のプロセッサクロックとそれぞれ同期していることを特徴とするメモリインタフェース。
【請求項１２】
前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２のメモリコントローラを前記外部メモリへそれぞれ多重化するように構成される多重化器をさらに有することを特徴とする請求項１１記載のメモリインタフェース。
【請求項１３】
前記アービタが、さらに、前記第１及び前記第２の制御プロセッサの各々によってアクセス可能な前記外部メモリ内の領域を規定するように構成されることを特徴とする請求項１１記載のメモリインタフェース。
【請求項１４】
前記アービタが、さらに、前記第２の制御プロセッサによってアクセス可能な領域を前記第１の制御プロセッサがアクセスできないようにするとともに、前記第１の制御プロセッサによってアクセス可能な領域を前記第２の制御プロセッサがアクセスできないようにするように構成されることを特徴とする請求項１１記載のメモリインタフェース。
【請求項１５】
前記第１及び前記第２の制御プロセッサが、１つの集積回路内に存在することを特徴とする請求項１１記載のメモリインタフェース。
【請求項１６】
前記第１及び前記第２の制御プロセッサが、異なるクロック周波数を有することを特徴とする請求項１１記載のメモリインタフェース。
【請求項１７】
前記アービタが、さらに、前記第１のタイムスロット及び前記第２のタイムスロットの少なくとも一方の長さを、前記第１及び前記第２の制御プロセッサの少なくとも一方のメモリアクセス活性に基づいて調整するように構成されることを特徴とする請求項１１記載のメモリインタフェース。
【請求項１８】
前記外部メモリが、前記外部メモリへのアクセスを許可されたメモリコントローラのクロックと同期したクロックを有することを特徴とする請求項１１記載のメモリインタフェース。
【請求項１９】
前記第２の制御プロセッサに前記外部メモリへのアクセスを許可する前に、前記外部メモリへのアクセス要求の対象であるデータ又はプログラムコードを認証するように要求する手段をさらに有することを特徴とする請求項１１記載のメモリインタフェース。
【請求項２０】
複数の制御プロセッサが１つの外部メモリへアクセスすることを可能とするためのメモリインタフェースであって、第１の制御プロセッサ及び第２の制御プロセッサが、割り当てられたタイムスロットの間、１つのメモリコントローラにより前記外部メモリへのアクセスを許可され、
前記第１及び前記第２の制御プロセッサの１つと相互動作可能に接続されるとともに同期させられるアービタであって、
第１の規定されたタイムスロットの間、前記メモリコントローラを介し、前記第１の制御プロセッサに前記外部メモリへのアクセスを許可し、
第２の規定されたタイムスロットの間、前記メモリコントローラを介し、前記第２の制御プロセッサに前記外部メモリへのアクセスを許可するように構成されたアービタと、
前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２の制御プロセッサの第１クロック及び第２のクロックを前記外部メモリへそれぞれ多重化するように構成される多重化器とを有することを特徴とするメモリインタフェース。
【請求項２１】
前記第１及び前記第２のタイムスロットの間、前記第１及び前記第２の制御プロセッサを前記外部メモリへそれぞれ多重化するように構成される第２の多重化器をさらに有することを特徴とする請求項２０記載のメモリインタフェース。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
本発明を１つ又はそれより多い実施形態に関連して説明してきたが、本技術分野に属する当業者は本発明の範囲を逸脱することなくそれら実施形態に多くの変更を行なうことが可能であることを理解するであろう。これら実施形態の各々並びに自明なバリエーションは、特許請求の範囲に記載される本発明の範囲に含まれることが意図されている。
【国際調査報告】
2007508607.tif 000005
2007508607.tif 000006
2007508607.tif 000007
2007508607.tif 000008
2007508607.tif 000009
2007508607.tif 000010