(57)【特許請求の範囲】
【請求項１】
１つ以上のメモリ領域、およびコマンドに応答して前記１つ以上のメモリ領域へのアクセスを制御するための制御回路をその各々が備えた２つ以上のポートと、
２つ以上の前記ポートの前記制御回路の間においてコマンドを通信するための少なくとも１つのポート間制御バスと、を備えており、
前記２つ以上のポートのうちの第１ポートの前記制御回路は、前記第１ポートの前記制御回路に接続されている第１外部制御バス、または前記第１ポートの前記制御回路に接続されているポート間制御バスのいずれかから受信したコマンドに選択的に応答するように構成されており、
前記２つ以上のポートのうちの第２ポートの前記制御回路は、前記第２ポートの前記制御回路に接続されている第２外部制御バス、または前記第２ポートの前記制御回路に接続されているポート間制御バスのいずれかから受信したコマンドに選択的に応答するように構成されている、メモリ。
【請求項２】
前記ポートの全てではないいくつかはポート間制御バスに連結されている、請求項１に記載のメモリ。
【請求項３】
前記ポート各々の前記制御回路は、外部制御バスまたはポート間制御バスのいずれかから受信したコマンドに選択的に応答するように構成されている、請求項１に記載のメモリ。
【請求項４】
少なくとも１つの前記ポートの前記制御回路は、当該制御回路に連結されたポート間制御バスから、当該制御回路を選択的に絶縁するようにさらに構成されている、請求項１〜３のいずれか１項に記載のメモリ。
【請求項５】
２つ以上の前記ポートの前記制御回路の間においてコマンドを通信するための少なくとも１つのポート間制御バスは、前記第１ポートの前記制御回路と前記第２ポートの前記制御回路との間に連結された特定のポート間制御バスを含み、前記第１外部制御バスは外部デバイスから受信したコマンドを前記第１ポートの前記制御回路に供給し、前記第２外部制御バスは外部デバイスから受信したコマンドを前記第２ポートの前記制御回路に供給する、請求項１〜３のいずれか１項に記載のメモリ。
【請求項６】
前記ポート間制御バスは少なくとも二組のポートの前記制御回路の間を連結している、請求項５に記載のメモリ。
【請求項７】
前記ポート各々の前記制御回路は、外部デバイスから受信したコマンドを、前記ポート間制御バスに選択的に伝達するように構成されている、請求項１または３に記載のメモリ。
【請求項８】
前記１つ以上のメモリ領域から外部デバイスにデータ値を通信し、かつ外部デバイスから前記１つ以上のメモリ領域にデータ値を通信するための内部データバスと、
ポート各組の前記制御回路の間を連結するポート間制御バスと、をさらに備えており、
前記ポート各々の前記制御回路は、外部デバイスまたはポート間制御バスからのコマンドを受信するように構成されており、
少なくとも１つの前記ポートの前記制御回路は、外部デバイスから受信したコマンドを、前記制御回路に連結された少なくとも１つのポート間制御バスに転送するように構成されており、
少なくとも１つの前記ポートの前記制御回路は、前記制御回路に連結されたポート間制御バスから受信したコマンドに応答するように構成されている、請求項１または３に記載のメモリ。
【請求項９】
それ自体に連結されたポート間制御バスから受信したコマンドに応答するように構成された前記制御回路は、それ自体に連結されたポート間制御バスの１つのみから受信したコマンドに応答するように構成された制御回路を含む、請求項８に記載のメモリ。
【請求項１０】
１つ以上のメモリ領域、および前記１つ以上のメモリ領域へのアクセスを制御する制御回路をその各々が備えた２つ以上のポートを有するマルチポート・メモリを制御するための方法であって、
第１外部バスから、前記マルチポート・メモリの第１ポートの前記制御回路においてコマンドを受信することと、
前記第１ポートの前記制御回路から、前記マルチポート・メモリのうちの第２ポートの前記制御回路に前記第１ポートの前記制御回路と前記第２ポートの前記制御回路との間に接続されているポート間制御バスを通じて前記コマンドを転送することと、
前記第２ポートの前記制御回路が、前記ポート間制御バスを通じて前記第２ポートの前記制御回路において受信したコマンド、または第２外部バスからの前記第２ポートの前記制御回路において受信したコマンドのいずれに応答するかを選択するために、前記第２ポートの前記制御回路を使用することと、
前記第２ポートの前記制御回路が、前記ポート間制御バスを通じて前記第２ポートの前記制御回路において受信したコマンドに応答することを選択すると、前記第１ポートおよび前記第２ポートのメモリ領域に同時にアクセスするように、前記第１ポートの前記制御回路において前記コマンドを処理し、前記第２ポートの前記制御回路において前記コマンドを処理することと、
前記第２ポートの前記制御回路が、前記第２外部バスからの前記第２ポートの前記制御回路において受信したコマンドに応答することを選択すると、前記第１ポートの前記制御回路においては前記コマンドを処理し、前記第２ポートの前記制御回路においては前記コマンドを無視することと、を含む、方法。
【請求項１１】
前記コマンドの受信は読み出しコマンドまたは書き込みコマンドを受信することを含む、請求項１０に記載の方法。
【請求項１２】
前記コマンドの受信は前記コマンドに関連するアドレスを受信することをさらに含む、請求項１１に記載の方法。
【請求項１３】
前記コマンドの処理は、前記コマンドに関連する前記アドレスが特定のポートのメモリ領域のアドレスに一致しない場合に、前記特定のポートの前記制御回路において前記コマンドを無視することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記コマンドの転送は１つのポートの前記制御回路から連続するポートの前記制御回路に前記コマンドを順次伝えることをさらに含む、請求項１０〜１３のいずれか１項に記載の方法。
【請求項１５】
前記コマンドの転送は残りのポート各々の前記制御回路に前記コマンドを転送することをさらに含む、請求項１０〜１３のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に半導体メモリに関するものであり、特に、１つ以上の実施形態において、本開示はマルチポート・メモリおよびその動作に関するものである。
【背景技術】
【０００２】
マルチポート・メモリは、メモリのサブ部分またはバンクなどの領域を制御する１つ以上の独立した物理または論理インターフェースを有するメモリである。各物理インターフェースは、コマンドおよびアドレス信号を受信する制御バス、並びにメモリ動作を制御し、メモリへ、かつそれからのデータを伝達するデータ信号を通信するためのデータバスなどの制御機構を含む。メモリの個々の領域を個別に制御して、メモリ動作の電力および待ち時間を低減する能力の故に、マルチポート・メモリに関心が集まっている。
【０００３】
不揮発性メモリは半導体メモリの重要な形態である。通常、不揮発性メモリは、電力を供給しなくても、長期間にわたってそのデータ値を保持する。フラッシュメモリデバイスは、広範囲の電子用途向けに、不揮発メモリのよく知られた供給源として展開されている。フラッシュメモリデバイスは、典型的に、高メモリ密度、高信頼性、および低電力消費を可能にする１トランジスタメモリセルを使用する。電荷蓄積ノードのプログラミング（例えばフローティングゲートまたはトラッピング層）、または他の物理現象（例えば、相変化または分極）を通して、セルの閾値電圧の変化は、各セルのデータ値を決定する。個別データ値に対応するために閾値電圧の２つ以上の範囲を規定することにより、１つ以上のビット情報が各セルに格納されてもよい。
【０００４】
半導体メモリの別の重要な形態は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）などの揮発性メモリを含む。揮発性メモリは、データ入力およびデータ出力の両方においてメモリアレイへの高速アクセスが所望される多くの場合に用いられる。通常、ＤＲＡＭなどの揮発性メモリは、多くの不揮発性メモリよりもアクセスタイムが速いが、データ値の損失を回避するための定期的なリフレッシュが要求される。
【０００５】
半導体メモリの一般的な用途は、パーソナルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電化製品、車両、ワイヤレス機器、携帯電話、および着脱式メモリモジュールを含み、不揮発性メモリの用途は拡大し続けている。メモリの用途が拡大し、それに対する要求が大きくなるにつれて、より柔軟性が望まれるようになってきている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述の理由、および本明細書を読み、理解した当業者に明らかになる他の理由により、代替的なマルチポート・メモリおよびその動作が当業界で要求されている。
【図面の簡単な説明】
【０００７】
【図１】電子システムの一部として、プロセッサに連結された従来技術のマルチポート・メモリを示す簡略化したブロック図である。
【図２Ａ】それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。
【図２Ｂ】それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。
【図２Ｃ】それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。
【図２Ｄ】それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。
【図２Ｅ】それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサに連結されたマルチポート・メモリを示す簡略化したブロック図である。
【図３】本開示の実施形態に従う、マルチポート・メモリの動作方法を説明するフローチャートである。
【発明を実施するための形態】
【０００８】
本実施形態の以下の詳細な説明では、本実施形態の一部を示し、実施可能な例示の特定の実施形態において示される添付図面が参照される。これらの実施形態は、当業者が本発明を実施可能な程度に詳細が記載され、本開示の範囲から逸脱することなく、他の実施形態が利用され得、処理、電気的または機械的な変更が実現され得ることが理解される。以下の詳細な説明は、それ故、限定的な意味を有するものではない。
【０００９】
図１は電子システムの一部として、プロセッサ１０２と通信する（例えば、それに連結された）従来技術のマルチポート・メモリ１００を示す簡略化したブロック図である。電子システムの例は、パーソナルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電化製品、車両、ワイヤレス機器、携帯電話などを含む。プロセッサ１０２はメモリコントローラ、または他の外部プロセッサでもよい。
【００１０】
メモリ１００は２つ以上のポート１０４を含む。この例では、４つのポート１０４０〜１０４３が記載される。各ポート１０４は、対応する外部制御バス１１４および外部データバス１１６からのデータを受信するように構成される。プロセッサ１０２はシングルプロセッサとして示したが、それぞれが１つ以上のポート１０４に連結された２つ以上のプロセッサでもよい。同様に、各プロセッサ１０２は２つ以上のメモリ１００と通信可能であってもよい。メモリ１００のポート１０４はそれぞれに対応する外部制御バス１１４を通じて、（コマンド信号方式の）コマンドおよび、（アドレス信号方式の）アドレスを受信する。外部制御バス１１４は、順次または同時方式のいずれかでコマンドおよびアドレスを受信するための１つ以上の通路を含んでもよい。
【００１１】
メモリ１００のポート１０４は、対応する外部データバス１１６を通じて、（データ信号方式の）データを送信または受信する。外部データバス１１６は、順次または同時方式のいずれかでデータを送信または受信するための１つ以上の通路を含み得る。各通路は、外部制御バス１１４または外部データバス１１６に関わらずに、単一の値を伝達する。例えば、３２の通路を有する外部制御バス１１４を通じて、３２ビットのコマンドがメモリ１００に同時に伝達され得る。別の例では、１２８の通路を有する外部データバス１１６を通じて、１２８ビットのデータワードがメモリ１００に、またはそれから同時に伝達され得る。通路は１つ以上の物理的接続に相当し得る。例えば、シングルエンド通信の利用では、通路は単一の物理的接続として示され、差動通信の利用では、通路は一方が目標値を伝達し、他方が目標値の補数を伝達する２つの物理的接続として示される。
【００１２】
各ポート１０４は制御回路１０６を含む。制御回路１０６は、対応する外部制御バス１１４を通じて受信したコマンドおよびアドレスに応答して、対応するポート１０４のメモリ１０８における１つ以上の領域へのアクセスを制御する。例えば、メモリ領域１０８はメモリセルバンクに相当し得る。メモリ領域１０８は揮発性または不揮発性メモリセルを含み得る。内部制御バス１１０は制御回路１０６と対応するメモリ領域１０８とを連結し、制御回路１０６からそのメモリ領域１０８にコマンドを通信する。内部データバス１１２は対応するメモリ領域１０８と外部データバス１１６とを連結し、そのメモリ領域１０８とその外部データバス１１６との間でデータを通信する。
【００１３】
本開示の実施形態は、１つのポートにおいて受信したコマンド（および適切な場合には、関連するアドレス）を、１つ以上の増設ポートに伝達するために、ポート間制御バスとして本明細書に称される増設した制御バスを含むという点で図１に示すマルチポート・メモリとは異なる。このようなマルチポート・メモリは、外部制御バスを通じて、すなわち外部デバイスから受信したコマンド、またはポート間制御バスを通じて、すなわち別のポートから受信したコマンドに応答するように構成され得る個々のポートを有する。これにより、異なる用途に応じたメモリの性能特性の調整が可能になるような、メモリ帯域幅または待ち時間を変化させるポートの様々な組み合わせが容易に実現できる。例示として１２８ビットの内部データバスを有する４ポート・メモリの使用において、外部制御バスから受信したコマンド、またはポート間制御バスから受信したコマンドのいずれかに応答するように、ポートの制御回路を選択的に構成することにより、その各々が１２８ビットの内部データバスを有する４ポート・メモリ、その各々が２５６ビットの内部データバスを有する２ポート・メモリ、その各々が５１２ビットの内部データバスを有するシングルポート・メモリ、およびそれ以上のものとして構成され得る。この方法では、異なる性能要件における種々の用途において、単独で組み立てられた部分が用いられ得る。
【００１４】
図２Ａ〜図２Ｅは、それぞれ、本開示の実施形態に従う、電子システムの一部として、プロセッサ２０２に連結されたマルチポート・メモリ２００を示す簡略化したブロック図である。電子システムの一部の例は、パーソナルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電化製品、車両、ワイヤレス機器、携帯電話などを含む。プロセッサ２０２はメモリコントローラ、または他の外部プロセッサでもよい。
【００１５】
図２Ａ〜図２Ｅは、多くの共通の機能を有する。各メモリ２００は２つ以上のポート２０４を含む。これらの例では、４つのポート２０４０〜２０４３を示すが、種々の実施形態では、より少ないまたは多いポート２０４を含んでもよい。各ポート２０４は、プロセッサ２０２から対応する外部制御バス２１４および外部データバス２１６を通じてデータを受信するように構成される。ただし、特定の実施形態では、プロセッサ２０２に連結された１つ以上の制御バス２１４を利用しない。つまり、各ポート２０４は外部制御バス２１４に連結されてもよく、代替的な手段が用いられてもよい。プロセッサ２０２はシングルプロセッサとして示したが、その各々が１つ以上のポート２０４に連結された２つ以上のプロセッサでもよい。同様に、プロセッサ２０２は２つ以上のメモリ２００に連結されてもよい。
【００１６】
メモリ２００のポート２０４は、対応する外部制御バス２１４を通じて、すなわち外部デバイスから（コマンド信号方式の）コマンド、および（アドレス信号方式の）アドレスを受信する。外部制御バス２１４は、順次または同時方式のいずれかでコマンドおよびアドレスを受信するための１つ以上の通路を含み得る。メモリ２００のポート２０４は、対応する外部データバス２１６を通じて、（データ信号方式の）データを送信または受信する。外部データバス２１６は、順次または同時方式のいずれかでデータを送信または受信するための１つ以上の通路を含み得る。各通路は、外部制御バス２１４または外部データバス２１６に関わらずに、単一の値を伝達する。例えば、３２の通路を有する外部制御バス２１４を通じて、３２ビットのコマンドがメモリ２００に同時に伝達され得る。別の例では、１２８の通路を有する外部データバス２１６を通じて、１２８ビットのデータワードがメモリ２００に、またはそれから同時に伝達され得る。さらなる例では、３２ビットのコマンドが外部制御バス２１４の単一通路を通じてメモリ２００に順次伝達されていてもよく、この場合、コマンドの単一の値がある種のシリアルプロトコルの時間間隔ごとに伝達され、３２の時間間隔を要してコマンド全体を受信してもよい。通路は１つ以上の物理的接続に相当し得る。例えば、シングルエンド通信の利用では、通路は単一の物理的接続として示され、差動通信の利用では、通路は一方が目標値を伝達し、他方が目標値の補数を伝達する２つの物理的接続として示される。
【００１７】
各ポート２０４は制御回路２０６を含む。制御回路２０６は、対応する外部制御バス２１４を通じて受信したコマンド（適切な場合にはコマンドに対応するアドレスを含む）に応答して、対応するポート２０４のメモリ２０８における１つ以上の領域へのアクセスを制御する。例えば、メモリ領域２０８はメモリセルバンクに相当し得る。メモリ領域２０８は揮発性または不揮発性メモリセル、および種々のアーキテクチャを含み得る。メモリの性質およびアーキテクチャは本開示において特に重要ではなく、その各々は本明細書に記載されたように機能し得る。各ポート２０４に２つのメモリ領域２０８を示したが、より少ないまたは多いメモリ領域２０８が用いられてもよい。内部制御バス２１０は制御回路２０６と対応するメモリ領域２０８とを連結し、制御回路２０６からそのメモリ領域２０８にコマンドを通信する。内部データバス２１２は対応するメモリ領域２０８と外部データバス２１６とを連結し、そのメモリ領域２０８とその外部データバス２１６との間のデータ、すなわち外部デバイスに、またはそれからのデータ値を通信する。
【００１８】
図２Ａ〜図２Ｅでは、それらのポート２０４内にメモリ領域２０８の物理的な位置を示したが、メモリ２００内におけるそれらの物理的な位置は重要ではない。それへのアクセスがポート２０４の制御回路２０６により制御され、そのデータＩ／Ｏがそのポート２０４の内部データバス２１２を通じる場合に、本明細書に用いられるようなメモリ領域２０８はポート２０４の構成要素となる。
【００１９】
各メモリ２００は少なくとも２つのポート２０４の制御回路２０６同士を連結する少なくとも１つのポート間制御バス２１８をさらに含む。各ポート間制御バス２１８は、１つのポート２０４の制御回路２０６が受信したコマンド信号を、他の１つ以上のポート２０４の制御回路２０６に伝達可能なように構成される。コマンドがメモリの１つ以上のターゲット領域、またはこれらのメモリ領域の一部を指し示すアドレスに関連する場合に、読み出しコマンドまたは書き込みコマンドなどの本明細書に用いられるコマンドの伝達が、コマンドの一部とみなされる関連アドレスの伝達をも意味することに留意されたい。外部制御バス２１４からのコマンドを受信するように構成された、ポート間制御バス２１８に連結された各制御回路２０６はさらに、どの制御バスが応答するかを選択するように構成される。例えば、（ハードプログラムの）製造中、または（動的な）ユーザコマンドのいずれかを通じて、制御回路２０６が外部制御バス２１４またはポート間制御バス２１８から受信したコマンドに応答するか否かを示すために、レジスタ、ヒューズ、アンチヒューズ、ボンドワイヤのオプション、製造された金属層、または他の制御機構を設定してもよい。例えば、外部制御バス２１４またはポート間制御バス２１８から受信したコマンドに応答するか否かを１ビットレジスタが示し得る。さらなる例では、制御回路２０６が２つのポート間制御バスに連結された場合には、外部制御バス２１４、第１ポート間制御バス２１８、または第２ポート間制御バス２１８から受信したコマンドに応答するか否かを２ビットレジスタが示し得る。この方法では、メモリ２００のポート２０４の数は、意図される用途に基づいて選択され得る。
【００２０】
特定の実施形態では、ポート間制御バス２１８に連結されており、外部制御バス２１４からのコマンドを受信するように構成された各制御回路２０６は、その外部制御バス２１４から受信したコマンドをポート間制御バス２１８の１つに転送するか否かを選択するようにも構成される。製造中、またはユーザコマンドのいずれかを通じて、制御回路２０６がポート間制御バス２１８の１つ以上を駆動するか否かを示すために、ここでも、レジスタ、ヒューズ、アンチヒューズ、ボンドワイヤのオプション、製造された金属層、または他の制御機構を設定してもよい。例えば、制御回路２０６が２つのポート間制御バス２１８に連結された場合には、そのコマンドを、第１ポート間制御バス２１８、第２ポート間制御バス２１８に転送するか、またはそれらのどちらにも転送しないか否かを２ビットレジスタが示し得る。下により詳しく記載するように、制御回路２０６が外部制御バス２１４またはポート間制御バス２１８に応答するか否かを選択することにより、種々の実施形態において、Ｎ個のポート２０４を有するメモリ２００は１個〜Ｎ個のポート２０４を有するメモリであるように動作し得る。
【００２１】
図２Ａは本開示の実施形態に従う、プロセッサ２０２Ａに連結されたメモリ２００Ａを示す簡略化したブロック図である。図２Ａの実施形態では、各制御回路２０６の間にポート間制御バス２１８が連結されている。例えば、ポート２０４０／２０４１、２０４１／２０４２、および２０４２／２０４３の各組の制御回路２０６同士をポート間制御バス２１８が連結している。この例示の実施形態では、プロセッサ２０２Ａから各ポート２０４に連結された外部制御バス２１４および外部データバス２１６を示す。このような実施形態は、ポート２０４の制御回路２０６が、例えば、１つ以上の再設定可能なレジスタによるプログラミングまたは他の制御機構を通じて、対応するポート間制御バス２１８に選択的に応答し、それを駆動し得るように構成された種々の構造を備え得る。例えば、例示として４つのポート２０４およびｎビットの外部データバス２１６を備えると想定されるメモリ２００Ａは、４ｎビットデータワードを出力するシングルポート・メモリ、２つの２ｎビットデータワードまたはｎビットデータワードおよび３ｎビットデータワードを出力する２ポート・メモリ、２ｎビットデータワードおよび２つのｎビットデータワードを出力する３ポート・メモリ、または４つのｎビットデータワードを出力する４ポート・メモリを模倣するように構成され得る。
【００２２】
一例として、図２Ａのメモリ２００Ａは、外部制御バス２１４０から受信したコマンドに応答して、それらのコマンドをポート間制御バス２１８０１に伝達するように、ポート２０４０の制御回路２０６を構成することにより、図２Ｂのメモリ２００Ｂの動作を示すように構成され得る。ポート２０４１の制御回路２０６は、ポート間制御バス２１８０１から受信したコマンドに応答して、それらのコマンドをポート間制御バス２１８１２に伝達するように構成され得る。ポート２０４２の制御回路２０６は、ポート間制御バス２１８１２から受信したコマンドに応答して、それらのコマンドをポート間制御バス２１８２３に伝達するように構成され得る。ポート２０４３の制御回路２０６は、ポート間制御バス２１８２３から受信したコマンドに応答するように構成され得る。各ポート２０４は対応する外部データバス２１６を通じて、同時に、そのデータ出力を供給し、そのデータ入力を受信する。
【００２３】
別の例では、図２Ａのメモリ２００Ａは、外部制御バス２１４０から受信したコマンドに応答するが、それらのコマンドをポート間制御バス２１８０１に伝達しない、ポート２０４０の制御回路２０６を構成することにより、図２Ｃのメモリ２００Ｃの動作を示すように構成され得る。ポート２０４１の制御回路２０６は、外部制御バス２１４１から受信したコマンドに応答するが、それらのコマンドをポート間制御バス２１８１２に伝達しないように構成され得る。ポート２０４２の制御回路２０６は、外部制御バス２１４２から受信したコマンドに応答し、それらのコマンドをポート間制御バス２１８２３に伝達するように構成され得る。ポート２０４３の制御回路２０６は、ポート間制御バス２１８２３から受信したコマンドに応答するように構成され得る。各ポート２０４２およびポート２０４３は、対応する外部データバス２１６を通じて、同時に、そのデータ出力を供給し、そのデータ入力を受信する。参考のためのこのような例示により、他の構成も理解され得る。
【００２４】
図２Ｂは本開示の実施形態に従う、プロセッサ２０２Ｂに連結されたメモリ２００Ｂを示す簡略化したブロック図である。図２Ｂの実施形態では、ポート間制御バス２１８が一対の制御回路２０６同士を連結する。この例示の実施形態はプロセッサ２０２Ｂから各ポート２０４に連結された外部データバス２１６を示すが、ポート２０４０に１つの外部制御バス２１４０のみが連結されてもよい。ポート２０４０の制御回路２０６は、外部制御バス２１４０から受信したコマンドに応答し、それらのコマンドをポート間制御バス２１８０１に伝達するように構成される。ポート２０４１の制御回路２０６は、ポート間制御バス２１８０１から受信したコマンドに応答し、それらのコマンドをポート間制御バス２１８１２に伝達するように構成される。ポート２０４２の制御回路２０６は、ポート間制御バス２１８１２から受信したコマンドに応答し、それらのコマンドをポート間制御バス２１８２３に伝達するように構成される。ポート２０４３の制御回路２０６は、ポート間制御バス２１８２３から受信したコマンドに応答するように構成される。各ポート２０４は、対応する外部データバス２１６を通じて、同時に、そのデータ出力を供給し、そのデータ入力を受信する。この実施形態は、例示として４つのポート２０４およびｎビットの外部データバス２１６を備えると想定され、４ｎビットデータワードを出力するシングルポート・メモリ、すなわち４ワイドポートの動作を模倣する。
【００２５】
さらなる実施形態では、ポート間制御バス２１８０１、２１８１２、および２１８２３は、各制御回路２０６同士を連結する単一のポート間制御バス２１８に置換可能である（例えば、スイッチ２２０を備えていない図２Ｅのポート間制御バス２１８を参照）。この実施形態では、それらのコマンドを転送するための、ポート２０４１〜２０４３の制御回路２０６を構成する必要がない。例えば、各制御回路２０６は、外部制御バス２１４から受信したコマンドを転送するためのみに構成され得る。
【００２６】
図２Ｃは本開示の実施形態に従う、プロセッサ２０２Ｃに連結されたメモリ２００Ｃを示す簡略化したブロック図である。図２Ｃの実施形態では、ポート２０４２の制御回路２０６とポート２０４３の制御回路２０６との間のみにポート間制御バス２１８が連結される。つまり、１つ以上のポート間制御バス２１８が、メモリ２００のポート２０４のいくつかの制御回路２０６に連結されている。この例示の実施形態はプロセッサ２０２Ｃから各ポート２０４に連結された外部データバス２１６を示すが、ポート２０４０〜２０４２に外部制御バス２１４のみが連結されていてもよい。ポート２０４０の制御回路２０６は、外部制御バス２１４０から受信したコマンドに応答する独立ポートとして構成される。ポート２０４１の制御回路２０６は、外部制御バス２１４１から受信したコマンドに応答する独立ポートとして構成される。ポート２０４２の制御回路２０６は、外部制御バス２１４２から受信したコマンドに応答し、それらのコマンドをポート間制御バス２１８２３に伝達するように構成される。ポート２０４３の制御回路２０６は、ポート間制御バス２１８２３から受信したコマンドに応答するように構成されており、これにより、ポート２０４２および２０４３は１つの２ワイドポートとして機能する。各ポート２０４２および２０４３は、それぞれに対応する外部データバス２１６を通じて、同時に、そのデータ出力を供給し、そのデータ入力を受信する。この実施形態は、例示として４つのポート２０４およびｎビットの外部データバス２１６を備えると想定され、２ｎビットデータワードおよび２つのｎビットデータワードを出力する３ポート・メモリの動作を模倣する。
【００２７】
図２Ｄは本開示の実施形態に従う、プロセッサ２０２Ｄに連結されたメモリ２００Ｄを示す簡略化したブロック図である。図２Ｄの実施形態では、各制御回路２０６の間にポート間制御バス２１８が連結される。この実施形態は図２Ａの実施形態に類似するが、ポート間制御バス２１８の１つ以上が、それ自体を通じる通信を選択的にブロックし、対応する制御回路２０６とそれに隣接する制御回路２０６とを選択的に絶縁する、制御回路２０６に応答するスイッチ２２０を含む。この例示の実施形態は、プロセッサ２０２Ｄから各ポート２０４に連結された外部制御バス２１４および外部データバス２１６を示す。この実施形態は図２Ａの実施形態に類似するが、ポート２０４の制御回路２０６が、例えば、１つ以上の再設定可能なレジスタによるプログラミングまたは他の制御機構を通じて、それらのポート間制御バス２１８に選択的に応答、それを駆動、および絶縁し得るように構成された種々の構造を備え得る。例えば、２つの２ワイドポートを模倣する構成は、制御バス２１８０１および２１８２３のスイッチを作動させて、制御バス２１８１２のスイッチを切り、外部制御バス２１４０または２１４１のいずれかから受信したコマンドに応答するポート２０４０および２０４１を構成し、外部制御バス２１４２または２１４３のいずれかから受信したコマンドに応答するポート２０４２および２０４３を構成することにより達成され得る。各スイッチ２２０は作動すると、そのポート間制御バス２１８の各通路におけるコマンド値を伝達するように、また、スイッチが切られると、そのポート間制御バス２１８の各通路におけるコマンド値をブロックするように構成される。
【００２８】
図２Ｅは本開示の実施形態に従う、プロセッサ２０２Ｅに連結されたメモリ２００Ｅを示す簡略化したブロック図である。図２Ｅの実施形態では、１つのポート間制御バス２１８が各制御回路２０６同士を連結する。この実施形態ではさらに、ポート間制御バス２１８と各制御回路２０６との間の通信を選択的にブロックし、１つの制御回路２０６を残りの制御回路２０６各々から選択的に絶縁し、その各制御回路２０６からの制御信号に応答するスイッチ２２０を利用して、各制御回路２０６をポート間制御バス２１８から選択的に絶縁する。各スイッチ２２０は作動すると、対応するポート間制御バス２１８の各通路におけるコマンド値を伝達するように、また、スイッチが切られると、対応するポート間制御バス２１８の各通路におけるコマンド値をブロックするように構成される。この例示の実施形態は各ポート２０４に連結されたプロセッサ２０２Ｅからの外部制御バス２１４および外部データバス２１６を示す。この実施形態は、ポート２０４の制御回路２０６が、例えば、１つ以上の再設定可能なレジスタによるプログラミングまたは他の制御機構を通じて、ポート間制御バス２１８に選択的に応答、それを駆動、および絶縁し得るように構成された種々の構造を備え得る。例えば、例示として４つのポート２０４およびｎビットの外部データバス２１６を備えると想定されるメモリ２００Ｅは、４ｎビットデータワードを出力するシングルポート・メモリ、２つの２ｎビットデータワードまたはｎビットデータワードおよび３ｎビットデータワードを出力する２ポート・メモリ、２ｎビットデータワードおよび２つのｎビットデータワードを出力する３ポート・メモリ、または４つのｎビットデータワードを出力する４ポート・メモリを模倣するように構成され得る。前述の実施形態では、隣接するポート２０４はシングルポートとして機能するように一体化されたが、図２Ｅの実施形態では、隣接しないポート２０４同士の連結が容易になることに留意されたい。例えば、ポート２０４０および２０４２のスイッチ２２０が切断された場合には、ポート２０４１と２０４３とが連結され得、すなわち１つの外部制御バス２１４からのコマンドに応答するように構成され、ポート２０４０および２０４２は独立ポートとして構成され得る。
【００２９】
図３は本開示の実施形態に従う、マルチポート・メモリの動作方法を説明するフローチャートである。この方法は、ボックス３３０において、マルチポート・メモリの第１ポートの制御回路がコマンドを受信することを含む。例えば、マルチポート・メモリ２００のポート２０４０の制御回路２０６が、外部制御バス２１４０を通じてプロセッサ２０２からのコマンドを受信できる。コマンドは、例えば、メモリ２００の１つ以上のメモリ領域２０８からデータ値を取り出す読み出しコマンド、またはメモリ２００の１つ以上のメモリ領域２０８にデータ値を書き込む書き込みコマンドでもよい。コマンドは各メモリ領域２０８のターゲット部のアドレスをとるためのアドレス信号を含む。コマンドはマルチポート・メモリ２００のうちの特定のポートのアドレスをとるためのアドレス信号をさらに含んでもよい。
【００３０】
この方法は、ボックス３３２において、マルチポート・メモリの１つ以上の増設ポートの制御回路にコマンドを転送することをさらに含む。例えば、ポート２０４０の制御回路２０６はコマンドを、隣接するポート２０４１の制御回路２０６、または１つ以上の代替的または増設ポート２０４の制御回路２０６に転送できる。コマンドはそれを受信する各制御回路２０６に連結された１つのポート間制御バス２１８に伝達され得る。代替的に、コマンドは１つのポート２０４の制御回路２０６を通って、連続するポート２０４の制御回路２０６に順次伝えられ得る。１つ以上のポート２０４はコマンドを無視するか、互いから絶縁される。
【００３１】
この方法はなおも、ボックス３３４において、第１ポートおよび１つ以上の増設ポートの制御回路がコマンドを処理することをさらに含む。読み出しコマンドにより、１つ以上のメモリ領域２０８のターゲット部からデータ値が取り出され、それがメモリ２００からプロセッサ２０２などの外部デバイスに出力するための内部データバス２１２に供給される。書き込みコマンドにより、プロセッサ２０２などの外部デバイスから内部データバス２１２にデータ値が供給され、１つ以上のメモリ領域２０８のターゲット部に書き込まれる。コマンドの処理は、コマンドを受信するポート２０４のメモリ領域２０８のアドレスにコマンドに関連するアドレスが一致しない場合に、コマンドを無視することをさらに含んでもよい。
【００３２】
種々の実施形態を記載したが、前述の実施形態を考慮した他の構成が理解される。さらに、特定の実施形態は、不要な外部制御バス２１４の接続を含む、すなわちその制御回路２０６が外部制御バス２１４を無視するように構成され得る場合でさえも、ポート２０４が外部制御バス２１４に接続された。しかしながら、不要な接続は削除され得る。同様に、１つの制御回路２０６が外部制御バス２１４を無視するように構成され、ポート２０４への接続として外部制御バス２１４が示されない場合でも、外部制御バス２１４は各ポートに連結され得る。例えばこれは、制御回路２０６の構成がユーザコマンドを通じて実行され得、それ故、使用中に構成を変更可能な場合に望ましい。通常、結合されるポート２０４の数がより多くなると、データワード、入力または出力のサイズが増大し、それ故、１つのコマンドに対応する帯域幅が増大する。同様に、独立ポート２０４を含む、結合されたポート２０４の数がより少なくなると、データワードのサイズが縮小されるが、より多くの並列処理が実行され得る待ち時間が改善される。
【００３３】
前述の実施形態はさらに、結合されたポート２０４の並列動作を意図したが、ポートアドレスが対応するポート２０４のアドレスに一致する場合に、外部制御バス２１４またはポート間制御バス２１８から受信したか否かにかかわらず、ポート２０４がコマンドのみに応答するように、コマンドプロトコルにポートアドレスが追加されてもよい。
【００３４】
特定の実施形態を本明細書に示し、記載したが、同じ目的を達成するように予測される任意の構造が、示す特定の実施形態と置換可能であることを当業者は理解する。本開示の多くの適応は当業者に明らかである。したがって、この出願は、本開示のいかなる適応または変更を含むように意図される。
【図１】
0005549897.tif 000002
【図２Ａ】
0005549897.tif 000003
【図２Ｂ】
0005549897.tif 000004
【図２Ｃ】
0005549897.tif 000005
【図２Ｄ】
0005549897.tif 000006
【図２Ｅ】
0005549897.tif 000007
【図３】
0005549897.tif 000008