(57)【要約】  各々のポートが異なる速度で動作できる、２つ又はそれ以上のポート（１１０）を有するマルチポート・メモリ・デバイス（１００）である。マルチポート・メモリ・デバイスは、２つ又はそれ以上のポートを介してアクセスできるメモリ・バンクを含む。２つのクロック信号、すなわちシステム・クロック（ＳＣＫ）及びポート・クロック（ＰＣＫ）が、各々のポートに適用される。ポートの全てがメモリ・バンクに対して共通の速度で動作するように、システム・クロックをメモリ・バンクと接続するポート論理（２２０）に適用する。ポート・クロックが、各々のポートと関連付けられたクロック・デバイダ回路（２３０）に適用される。ポート・クロックは、所望の周波数に分割されるか、又は元の周波数に保持される。こうした構成は、ポートが、ポートごとに設定できる異なる速度で動作することを可能にする。【選択図】図２
2009532815.tif 000002
【特許請求の範囲】
【請求項１】
１つ又はそれ以上のメモリ・バンクと、
クロック信号を分配するためのクロック分配ネットワークと、
前記クロック分配網に接続され、かつ、前記１つ又はそれ以上のメモリ・バンクへのアクセスを提供する複数のポートと、を備え、
前記複数のポートの少なくとも一部は、ローカル・クロック信号を生成するために、前記クロック信号を受信し、該クロック信号を変更する関連したクロック・デバイダ回路を含み、前記ローカル・クロック信号は、ポート速度で動作するために、前記関連したポートによって利用されることを特徴とするマルチポート・メモリ・デバイス。
【請求項２】
前記ポート速度は、前記ポートに結合されたコンポーネントの速度を補完するように選択されることを特徴とする、請求項１に記載のマルチポート・メモリ・デバイス。
【請求項３】
前記クロック・デバイダ回路は、前記クロック信号を分割することによって該クロック信号を変更することを特徴とする、請求項１に記載のマルチポート・メモリ・デバイス。
【請求項４】
前記ローカル・クロック信号の周波数は、前記クロック信号の周波数の何分の一かであることを特徴とする、請求項３に記載のマルチポート・メモリ・デバイス。
【請求項５】
前記複数のポートと前記１つ又はそれ以上のメモリ・バンクとの間の通信は、第１のデータ速度で行なわれることを特徴とする、請求項１に記載のマルチポート・メモリ・デバイス。
【請求項６】
前記複数のポートと該複数のポートに結合された１つ又はそれ以上のコンポーネントとの間の通信は、第２のデータ速度で行なわれることを特徴とする、請求項５に記載のマルチポート・メモリ・デバイス。
【請求項７】
前記複数のポートと前記１つ又はそれ以上のメモリ・バンクとの間の通信は、パラレル方式で行なわれることを特徴とする、請求項１に記載のマルチポート・メモリ・デバイス。
【請求項８】
前記複数のポートと該複数のポートに結合された１つ又はそれ以上のコンポーネントとの間の通信は、シリアル方式で行なわれることを特徴とする、請求項１に記載のマルチポート・メモリ・デバイス。
【請求項９】
前記複数のポートの各々の前記ポート速度は、ポートごとに変え得ることを特徴とする、請求項１に記載のマルチポート・メモリ・デバイス。
【請求項１０】
前記クロック・デバイダ回路に結合されたコントローラをさらに備え、
前記コントローラは、前記クロック信号への変更を決定することを特徴とする、請求項１に記載のマルチポート・メモリ・デバイス。
【請求項１１】
前記コントローラが制御レジスタであることを特徴とする、請求項１０に記載のマルチポート・メモリ・デバイス。
【請求項１２】
１つ又はそれ以上のメモリ・バンクと、
前記１つ又はそれ以上のメモリ・バンクに結合され、かつ、前記複数のポートに結合されたコンポーネントに対して、前記１つ又はそれ以上のメモリ・バンクへのアクセスを提供する複数のポートと、を備え、
前記複数のポートと前記１つ又はそれ以上のメモリ・バンクとの間の通信が、共通の速度で行なわれ、該複数のポートと該複数のポートに結合された１つ又はそれ以上のコンポーネントとの通信が、ポートごとに設定することができる可変の速度で行なわれることを特徴とするマルチポート・メモリ・デバイス。
【請求項１３】
前記可変速度は、前記複数のポートの各々に結合された前記コンポーネントの通信速度に対して補完的であるように選択されることを特徴とする、請求項１０に記載のマルチポート・メモリ・デバイス。
【請求項１４】
前記複数のポートと前記１つ又はそれ以上のメモリ・バンクとの間の通信は、パラレル方式であることを特徴とする、請求項１０に記載のマルチポート・メモリ・デバイス。
【請求項１５】
前記複数のポートと該複数のポートに結合されたコンポーネントとの間の通信は、シリアル方式であることを特徴とする、請求項１０に記載のマルチポート・メモリ・デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
本出願は、２００６年３月３０日に出願され、引用によりここに組み入れられる、「ＩＮＴＥＧＲＡＴＥＤ  ＭＵＬＴＩ−ＰＯＲＴ  ＳＥＲＩＡＬ  ＭＥＭＯＲＹ  ＡＮＤ  ＩＮＴＥＲ−ＰＲＯＣＥＳＳＯＲ  ＣＯＭＭＵＮＩＣＡＴＩＯＮ」という名称の米国特許仮出願第６０／７８８，４０１号（代理人整理番号第５９４７２−８８２６．ＵＳ００）に基づく優先権を主張する。
【０００２】
携帯電話、携帯型メディアプレーヤー、携帯情報端末、及び他の移動体装置が普及するにつれて、製造業者は、絶えずデバイスのユーザに提供される機能を改善してきた。一般的には、付加的な機能を提供するには、製造業者が、デバイスの処理能力を向上させることが必要であった。現在の移動体装置においては、例えば、デバイスが、多数のコンピュータ・プロセッサ又は他の処理要素を含むことは珍しいことではない。例えば、携帯電話は、多くの場合、ベースバンド・プロセッサ、メディア・プロセッサ、及びＬＣＤコントローラを含む。移動体装置内の処理コンポーネントの各々は、オペレーティング・システム又は他のアプリケーションを格納する種々のメモリ領域にアクセスすることができる。処理コンポーネントは、異なる通信速度で、異なる通信プロトコルを用いて、メモリ及び他のコンポーネントと通信することができる。
【０００３】
移動体装置のサイズが縮小し続けるにつれて、製造業者は、デバイスのアーキテクチャを最適化し、デバイス内に含まれるコンポーネントの数を最小限に抑える必要があった。サイズの低減は、多くの場合、多くの半導体コンポーネントによる機能を単一の半導体コンポーネントに統合することによって達成される。しかしながら、製造業者が移動体装置内に含まれるコンポーネントの数を減少させようとしたとき、マルチプロセッサ環境において特に深刻な幾つかの問題が生じた。
第一に、単一のメモリ・コンポーネントと通信する幾つかの処理コンポーネントを有するには、全てのコンポーネントがメモリ・デバイスにアクセスできることを保証するための機構が必要であった。こうした問題は、２００１年１１月７日に出願され、その全体が引用によりここに組み入れられる、「Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｍｅｍｏｒｙ−Ｂａｓｅｄ  Ｄｅｖｉｃｅｓ」という名称の米国特許出願第１０／０４５，２９７号に開示されるマルチポート・デバイスのような、マルチポート・メモリ・デバイスの導入によって軽減された。マルチポート・メモリ・アーキテクチャは、アクセスしているコンポーネントが、専用ポートを介して一般的な共有メモリと通信することを可能にする。
第二に、移動体装置内の種々の処理コンポーネントは、異なるデータ速度で、互いに及びメモリ・デバイスと通信することができる。多数のコンポーネントを使用するとき、製造業者は、接続された処理コンポーネントの要件に合致した速度を有するメモリ・デバイスを選択することができた。しかしながら、コンポーネントの数を減らすことによって、処理コンポーネント及びメモリ・デバイスの送信通信速度と受信通信速度の間に非両立性が生じることがある。従って、種々のデータ通信速度で様々な処理コンポーネントと通信するのに適したマルチポート・メモリ・デバイスを開発することが有利である。
【発明を実施するための最良の形態】
【０００４】
各々のポートが異なる速度で動作できる２つ又はそれ以上のポートを有するマルチポート・メモリ・デバイスが開示される。マルチポート・メモリ・デバイスは、２つ又はそれ以上のポートを介してアクセスできるメモリ・バンクを含む。２つのクロック信号、すなわちシステム・クロック及びポート・クロックが、各々のポートに適用される。システム・クロックは、メモリ・バンクと接続するポート論理に適用されるので、ポートは、全てメモリ・バンクに対して共通の速度で動作する。ポート・クロックは、各々のポートと関連付けられたクロック・デバイダ回路に適用される。ポート・クロックは、所望の周波数に分割されるか、又はその元の周波数に保持される。こうした構成により、ポートが、ポート毎に設定できる異なる速度で動作することが可能になる。従って、ポートに結合されたコンポーネントは、異なるデータ速度でメモリ・デバイスと通信することができ、それによりメモリ・デバイスを用い得るアプリケーションの数が増加する。
【０００５】
可変の速度ポートを有するマルチポート・メモリ・デバイスの種々の例が、ここで説明される。以下の説明は、それらの例を完全に理解し、説明を可能にするための特定の詳細さを提供するものである。しかしながら、当業者であれば、それら多くの詳細な説明がなくとも本技術を実施できることを理解するであろう。加えて、種々の例と関連した説明を不必要に分かりにくくするのを避けるために、幾つかの周知の構造又は機能を詳細に図示せず又は説明しないことがある。以下に与えられる説明に用いられる専門用語は、本技術の特定の例の詳細な説明と併せて用いられるが、最も広義の妥当な方法で解釈されることを意図している。下記では、特定の用語がさらに強調されるが、制限された方法で解釈されることが意図されるいずれの専門用語も、この詳細な説明の部分などにおいて明白かつ具体的に定義されるであろう。
【０００６】
図１は、可変速度ポートを有するマルチポート・メモリ・デバイス１００が動作できる環境のブロック図である。マルチポート・メモリ・デバイスは、２つ又はそれ以上のシリアル・ポート１１０を含み、各々のポートは、システム・コンポーネント１２０に接続可能である。システム・コンポーネントは、ベースバンド・プロセッサ、メディア・プロセッサ、又はＬＣＤのような共有メモリを使用する、いずれのタイプのコンポーネントとすることもでき、かつ、ポートを構成し、制御するためのポート・マスターとして働くことができる。
メモリ・デバイス１００は、ポートを介してアクセスできるデータを格納する、１つ又はそれ以上のメモリ・バンク（図示せず）を含む。メモリ・バンクは、動的ランダム・アクセス・メモリ（ＤＲＡＭ）又は他の一般的なタイプのメモリから構成することができる。システム・コンポーネントは、接続された対応するポートを介して、データをメモリ・デバイスに送り、受信する。データは、システム・コンポーネントとポートの間ではシリアル方式で通信され、ポートとメモリ・バンクの間ではパラレル方式で通信される。システム・クロック１３０は、メモリ・デバイス１００及びコンポーネント１２０が使用できる共通のクロック信号を提供する。各々のコンポーネントは、適切な帯域幅及びジッタ要件をもつクロック回路（図示せず）を有する。
ここに説明されるように、システム・クロックは、各々のポート１１０において選択的に分割することができるので、各々のポートは、所望の速度で動作する。ポートごとにポート速度を構成することにより、ポート速度を、ポートに取り付けられた対応するコンポーネント１２０に対して最適化できるようになる。ポートと、取り付けられたコンポーネントとの間の通信は、構成された速度で行なわれるが、メモリ・デバイスの内側のポート間の通信は、共通の速度で行なわれる。
【０００７】
図２は、マルチポート・メモリ・デバイス内のポートについてのクロック分配システムのブロック図である。位相ロックループ（ｐｈａｓｅ−ｌｏｃｋｅｄ  ｌｏｏｐ）２１０は、ポート１１０に分配される２つのクロック信号、すなわちシステム・クロック（ｓｃｋ）及びポート・クロック（ｐｃｋ）を生成する。システム・クロックが、ポートからメモリ・バンクへのデータの並列処理及び通信といった、各ポートのポート論理２２０に適用され、全てのポート論理が共通の速度で動作することを可能にする。ポート・クロックが、各ポートと関連付けられたクロック・ドライバ回路２３０に適用される。本明細書中にさらに詳細に説明されるように、クロック・デバイダ回路は、ポートごとに、ポート・クロックを所望のクロック周波数に選択的に変更する。ポート・クロック周波数をポートごとに変更することにより、アナログ部分及びポートにおけるシリアル−パラレル変換といったポートの種々の物理層コンポーネント２４０が、所望の速度で動作することが可能になる。その結果、ポートごとに結合されたシステム・コンポーネントを用いて動作するように、各ポートの送信コンポーネント及び受信コンポーネントを構成することができる。図において、クロック・ドメイン境界２５０が示され、物理層の一部がローカル・ポート・クロック速度で動作すること、及び、物理層の一部がシステム・クロック速度で動作することを概念的に示す。図２に示されるシステムにおいて、システム・クロック速度は１５０ＭＨｚであり、ポート・クロック速度は７５０ＭＨｚであるが、システム・クロック速度及びポート・クロック速度は、開示されたアーキテクチャを用いるシステムに適合するように変えることができる。さらに、各ポートにクロック・デバイダ回路２３０が存在するように図示されているが、マルチポート・メモリ・デバイス内のポートの一部だけが、クロック・デバイダ回路を含んでもよいことが理解されるであろう。
【０００８】
図３は、クロック信号を所望の周波数に分割するクロック・デバイダ回路２３０の回路図である。デバイダ回路は、直列に接続された２つのマルチプレクサ３１０、３２０と、各々がクロック周波数を一定の量で分割する多数のクロック・デバイダ３３０とを含む。幾つかの実施形態においては、マルチプレクサ３１０及び３２０は、４対１マルチプレクサである。ポート・クロック（ｐｃｋ）は、第１のマルチプレクサ３１０の１つの入力部に直接接続され、かつ、１組のクロック・デバイダを介して第１のマルチプレクサの他の入力部の各々に接続される。図３に示される実装において、３つの入力部と関連したクロック・デバイダは、３／４、２／４及び１／４の値を有する。こうした実装において、第１のマルチプレクサは、元のポート・クロック周波数でクロック信号を出力することができ、或いは、第１のマルチプレクサは、その周波数が元のポート・クロック周波数の７５％、５０％、又は２５％に低減されるクロック信号を出力することができる。第１のマルチプレクサの出力は、モード・レジスタ（ＭＲＳ）の設定によって決定される。第１のマルチプレクサの出力は、第２のマルチプレクサ３２０の１つの入力部に直接接続され、かつ、一組のクロック・デバイダを介して第２のマルチプレクサの他の入力部に接続される。示される実装において、第２のマルチプレクサと関連したクロック・デバイダは、１／２、１／４及び１／８の値を有する。第２のマルチプレクサの出力も、モード・レジスタ（ＭＲＳ）の設定によって決定される。第２のマルチプレクサの出力は、ローカル・ポート・クロック（ｌｐｃｋ）である。第１のマルチプレクサ及び第２のマルチプレクサの設定に応じて、ローカル・ポート・クロックは、ポート・クロック（ｐｃｋ）と同じ周波数から、示される実施形態におけるポート・クロックの１／３２までの範囲に及ぶことができる。
【０００９】
幾つかの実施形態において、ローカル・ポート・クロックが、システム・クロックと同じ周波数を有することが望ましいことがある。こうした構成を可能にするため、クロック・デバイダ３４０は、第２のマルチプレクサ３２０の出力に結合される。クロック・デバイダ３４０は、ローカル・ポート・クロックを５で割る。ローカル・ポート・クロック（ｌｐｃｋ）がポート・クロック（ｐｃｋ）と同じ周波数になるように、第１のマルチプレクサ及び第２のマルチプレクサが設定され、図２及び図３に示される実施形態においては、ローカル・ポート・クロックを５で割ることにより、システム・クロック（ｓｐｋ）と同じ周波数を有するクロックが生成される（すなわち、５で割った７５０ＭＨは、１５０ＭＨｚのクロック信号をもたらす）。
【００１０】
図３は、２つのマルチプレクサ及び特定のクロック・デバイダ値を有するクロック・デバイダ回路を示すが、特定の用途に応じて、回路の構成を変更することができる。マルチプレクサの数、各マルチプレクサへの入力部の数、並びにクロック・デバイダの数及び値は全て、用途及び所望のクロック速度によって変化し得る。幾つかの実施形態において、クロック・デバイダ３３０の値は、調節可能である。
【００１１】
図４は、マルチポート・メモリ・デバイスにおけるクロック・ドメイン境界２５０を超えて延びる送信回路４００及び受信回路４１０の回路図である。図におけるクロック・ドメイン境界２５０の左側の回路部分は、システム・クロック（ｓｃｋ）ドメイン内で動作する。クロック・ドメイン境界２５０の右側の回路部分は、ローカル・システム・クロック（ｌｓｃｋ）ドメイン内で動作する。
【００１２】
送信回路４００は、ｐｌ＿ｔｘ＿ｄａｔａライン上で受信したデータを連続的にラッチする４つのレジスタ４３０の組から成る。データ・バーストが、レジスタに従った大きさにされた４つのセグメントで受信される。各々のレジスタからの出力は、４対１マルチプレクサ４５０の入力部に結合される。有限状態マシーン４４０が、シーケンス００、０１、１０、１１を通過し、シーケンスをマルチプレクサ４５０に適用して、各々のレジスタの出力を順に選択する。有限状態マシーンのシーケンスは、ｔｘ＿ｖａｌｉｄ信号が検出されたときのみ生成される。これにより、データは、ｐｌ＿ｔｘ＿ｄａｔａ＿ｌｓｃｋライン上で送信される。レジスタのオーバーフローを回避するために、以前の４−セグメントのデータ・バーストが処理されたときにのみ、新しいデータが受信される。
【００１３】
受信回路４１０は、ｌｐ＿ｒｘ＿ｄａｔａ＿ｌｓｃｋライン上で受信されるデータをラッチする一対のレジスタ４６０から成る。ｒｘ＿ｗｒ＿ｐｔｒ信号は、受信されたデータが各々のレジスタに交互にラッチされるように、０から１までの間を行ったり来たりする。特定のレジスタのデータに関して、読み取りコマンドがデータ書き込みコマンドと重ならないことを保証するために、２つのレジスタが用いられる。各々のレジスタからの出力が、マルチプレクサ４７０の入力部に結合される。有限状態マシーン４８０は、レジスタ４６０から適切な出力を選択し、ｌｐ＿ｒｘ＿ｄａｔａライン上で受信されたデータを提供するために、シーケンスを生成し、これをマルチプレクサに適用する。
【００１４】
最初にマルチポート・メモリ・デバイスを起動したとき、全てのポートが、各ポートが利用可能な最高速度設定で動作するように、ポートの全てを構成することができる。次に、ポート・マスターは、ポートの１つ又はそれ以上を選択的に変更し、所望の用途のためにポートを構成することができる。幾つかの実施形態においては、監視ポート・マスターが、デバイスのポートの全てを構成することができる。
【００１５】
以下に他に説明がない限り、本発明の様態は、従来のシステムと共に実施することができる。従って、図示される種々のブロックの構成及び動作は、従来の設計のものとすることができ、そうしたブロックは当業者には理解されるので、本発明を作製し、用いるために、それらをここでさらに詳細に説明する必要はない。システムの様態は、１又はそれ以上のコンピュータ又は他のデバイスによって実行される、プログラム・モジュールなどのコンピュータ実行可能命令を用いて実施することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、種々の実施形態において、プログラム・モジュールの機能を所望のように組み合わせる又は分配することができる。
【００１６】
本発明の特定の実施形態は例証のためにここに説明された。しかしながら、本発明の精神及び範囲から逸脱することなく種々の変更をなし得ることが理解されるであろう。従って、本発明は、添付の特許請求の範囲による以外に制限されるものではない。
【図面の簡単な説明】
【００１７】
【図１】可変のポート速度を有するマルチポート・メモリ・デバイスが動作できる代表的な環境のブロック図である。
【図２】マルチポート・メモリ・デバイス内のポートのためのクロック分配システムのブロック図である。
【図３】所望のクロック周波数を達成するためにクロック信号を分割するクロック・デバイダ回路の回路図である。
【図４】マルチポート・メモリ・デバイスにおける、クロック境界を超えて延びる送信回路及び受信回路の回路図である。
【図１】
2009532815.tif 000003
【図２】
2009532815.tif 000004
【図３】
2009532815.tif 000005
【図４】
2009532815.tif 000006
【国際調査報告】
2009532815.tif 000007
2009532815.tif 000008