(57)【特許請求の範囲】
【請求項１】
マルチチャネルダイナミックランダムアクセスメモリ(DRAM)システムにおける負荷分散のための方法であって、
2つ以上のメモリチャネルにわたってメモリデータをインターリーブするステップと、
メモリコントローラにより前記メモリチャネルへのアクセスを制御するステップと、
相互接続システムを介して前記メモリコントローラにバスマスタを結合するステップと、
前記バスマスタから前記メモリコントローラにメモリ要求を送信するステップと、
第1のメモリコントローラへのメモリ要求に応答して、第1のメモリチャネルにおける混雑状態を検出するステップであって、前記メモリ要求が書き込み動作である、ステップと、
前記第1のメモリチャネルに関する混雑状態信号を生成するステップと、
前記バスマスタに前記混雑状態信号を送信するステップと、
前記混雑状態信号に応答して、第2のメモリコントローラに前記メモリ要求を再ルーティングするステップと
を含み、
前記第2のメモリコントローラは、前記第1のメモリチャネルとは異なる第2のメモリチャネルへのアクセスを制御する、方法。
【請求項２】
メモリ要求に応答して、第1のメモリチャネルにおける混雑状態を検出するステップは、前記第1のメモリコントローラへの未処理のメモリ要求を追跡するステップと、未処理のメモリ要求の所定のしきい値数を上回った場合に混雑状態を検出するステップとを含む、請求項1に記載の方法。
【請求項３】
前記混雑状態信号は、混雑状態を表すための単一の2進ビットを含む、請求項1に記載の方法。
【請求項４】
前記混雑状態信号は、混雑状態レベルの範囲を表すための2つ以上の2進ビットを含む、請求項1に記載の方法。
【請求項５】
前記混雑状態信号に応答して、前記第1のメモリコントローラへの前記メモリ要求をバック・オフするステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記DRAMシステムが少なくとも1つの半導体ダイに組み込まれる、請求項1に記載の方法。
【請求項７】
前記DRAMシステムは、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータからなる群から選択されたデバイスに組み込まれる、請求項1に記載の方法。
【請求項８】
2つ以上のメモリチャネルにわたってインターリーブされたメモリデータと、
前記メモリチャネルへのアクセスを制御するためのメモリコントローラと、
相互接続システムを介して前記メモリコントローラに結合されたバスマスタであって、前記メモリコントローラにメモリ要求を送信するように構成されたバスマスタと、
メモリ要求に応答して、第1のメモリコントローラに結合された第1のメモリチャネルに関する混雑状態信号を生成するための論理であって、前記メモリ要求が書き込み動作である、論理と、
前記混雑状態信号に応答して、第2のメモリコントローラに前記メモリ要求を再ルーティングするための論理と
を含み、
前記第2のメモリコントローラは、前記第1のメモリチャネルとは異なる第2のメモリチャネルへのアクセスを制御するように構成される、マルチチャネルダイナミックランダムアクセスメモリ(DRAM)システム。
【請求項９】
混雑状態信号を生成するための論理は、前記第1のメモリコントローラへの未処理のメモリ要求を追跡し、未処理のメモリ要求の所定のしきい値数を上回った場合に混雑状態信号を生成するための論理を含む、請求項8に記載のDRAMシステム。
【請求項１０】
前記混雑状態信号は、混雑状態を示すための単一の2進ビットを含む、請求項8に記載のDRAMシステム。
【請求項１１】
前記混雑状態信号は、混雑状態レベルの範囲を示すための2つ以上の2進ビットを含む、請求項8に記載のDRAMシステム。
【請求項１２】
前記バスマスタに前記混雑状態信号を送信するための論理をさらに含む、請求項8に記載のDRAMシステム。
【請求項１３】
前記混雑状態信号に応答して、前記第1のメモリコントローラへの前記メモリ要求をバック・オフするための論理をさらに含む、請求項12に記載のDRAMシステム。
【請求項１４】
少なくとも1つの半導体ダイに組み込まれる、請求項8に記載のDRAMシステム。
【請求項１５】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータからなる群から選択されたデバイスに組み込まれる、請求項8に記載のDRAMシステム。
【請求項１６】
メモリデータにアクセスするためのチャネル手段と、
2つ以上のチャネル手段にわたって前記メモリデータをインターリーブするための手段と、
前記チャネル手段へのアクセスを制御するためのコントローラ手段と、
相互接続手段を介して前記コントローラ手段にバスマスタを結合するための手段と、
前記バスマスタから前記コントローラ手段にメモリ要求を送信するための手段と、
メモリ要求に応答して、第1のコントローラ手段に結合された第1のチャネル手段に関する混雑状態指示を生成するための手段であって、前記メモリ要求が書き込み動作である、手段と、
前記混雑状態指示に応答して、第2のコントローラ手段に前記メモリ要求を再ルーティングするための手段と
を含み、
前記第2のコントローラ手段は、前記第1のチャネル手段とは異なる第2のチャネル手段へのアクセスを制御するように構成される、マルチチャネルダイナミックランダムアクセスメモリ(DRAM)システム。
【請求項１７】
混雑状態指示を生成するための手段は、前記第1のコントローラ手段への未処理のメモリ要求を追跡するための手段と、未処理のメモリ要求の所定のしきい値数を上回った場合に前記混雑状態指示を生成するための手段とを含む、請求項16に記載のDRAMシステム。
【請求項１８】
前記混雑状態指示は、混雑状態を示すための2進信号を含む、請求項16に記載のDRAMシステム。
【請求項１９】
前記混雑状態指示は、混雑状態レベルの範囲を示すための2進信号を含む、請求項16に記載のDRAMシステム。
【請求項２０】
前記バスマスタに前記混雑状態指示を送信するための手段をさらに含む、請求項16に記載のDRAMシステム。
【請求項２１】
前記混雑状態指示に応答して、前記第1のコントローラ手段への前記メモリ要求をバック・オフするための手段をさらに含む、請求項20に記載のDRAMシステム。
【請求項２２】
少なくとも1つの半導体ダイに組み込まれる、請求項16に記載のDRAMシステム。
【請求項２３】
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータからなる群から選択されたデバイスに組み込まれる、請求項16に記載のDRAMシステム。
【請求項２４】
マルチチャネルダイナミックランダムアクセスメモリ(DRAM)システムにおける負荷分散のための方法であって、
2つ以上のメモリチャネルにわたってメモリデータをインターリーブするためのステップと、
メモリコントローラにより前記メモリチャネルへのアクセスを制御するためのステップと、
相互接続システムを介して前記メモリコントローラにバスマスタを結合するためのステップと、
前記バスマスタから前記メモリコントローラにメモリ要求を送信するためのステップと、
第1のメモリコントローラへのメモリ要求に応答して、第1のメモリチャネルにおける混雑状態を検出するためのステップであって、前記メモリ要求が書き込み動作である、ステップと、
前記第1のメモリチャネルに関する混雑状態信号を生成するためのステップと、
前記バスマスタに前記混雑状態信号を送信するためのステップと、
前記混雑状態信号に応答して、第2のメモリコントローラに前記メモリ要求を再ルーティングするためのステップと
を含み、
前記第2のメモリコントローラは、前記第1のメモリチャネルとは異なる第2のメモリチャネルへのアクセスを制御する、方法。
【請求項２５】
メモリ要求に応答して、第1のメモリチャネルにおける混雑状態を検出するためのステップは、前記第1のメモリコントローラへの未処理のメモリ要求を追跡するためのステップと、未処理のメモリ要求の所定のしきい値数を上回った場合に混雑状態を検出するためのステップとを含む、請求項24に記載の方法。
【請求項２６】
前記混雑状態信号は、混雑状態を表すための単一の2進ビットを含む、請求項24に記載の方法。
【請求項２７】
前記混雑状態信号は、混雑状態レベルの範囲を表すための2つ以上の2進ビットを含む、請求項24に記載の方法。
【請求項２８】
前記混雑状態信号に応答して、前記第1のメモリコントローラへの前記メモリ要求をバック・オフするためのステップをさらに含む、請求項24に記載の方法。
【請求項２９】
前記DRAMシステムが少なくとも1つの半導体ダイに組み込まれる、請求項24に記載の方法。
【請求項３０】
前記DRAMシステムは、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定ロケーションデータユニット、およびコンピュータからなる群から選択されたデバイスに組み込まれる、請求項24に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
同時係属特許出願の参照
本特許出願は、以下の同時係属米国特許出願に関する。
本出願の譲受人に譲渡され、本明細書と同時に出願された代理人整理番号090713のFeng Wangらによる「NON-UNIFORM INTERLEAVING SCHEME IN MULTIPLE CHANNEL DRAM SYSTEM」が参照により本明細書に明確に組み込まれる。
【０００２】
開示する実施形態は、マルチチャネルダイナミックランダムアクセスメモリ(DRAM)システムに関する。より詳細には、実施形態は、マルチチャネルDRAMシステムにおける負荷分散方式に関する。
【背景技術】
【０００３】
DRAMシステムは、コンピュータで使用される最も一般的で最も安価なメモリシステムの1つである。DRAMシステムは、スタティックランダムアクセスメモリ(SRAM)システムと比較してサイズが小さく、サイズが小さいことが、高密度DRAMシステムの製造を可能にしている。しかしながら、従来型のDRAMシステムは、SRAMよりも遅く、メモリに記憶されているデータを維持するために周期的にリフレッシュしなければならない。したがって、DRAMを制御するうえで重要な考慮事項の1つは、データがメモリから読み取られ得る、またはメモリに書き込まれ得る速度である。
【０００４】
DRAMとの間のアクセス速度を上げるための一般的な技法は、インターリービングと呼ばれている。メモリシステムは、並列にアクセスできる2つ以上のメモリチャネルに分割される。連続してアドレス指定されるメモリロケーションにおけるデータが、メモリチャネル間で分配され、それにより、連続してアドレス指定されるデータワードに並列にアクセスすることができる。連続してアドレス指定されるデータワードにアクセスすることを求めるコンピュータの処理ユニットからの要求は、そのようなインターリーブシステムにおいてメモリコントローラによって、これらのデータワードが特定のメモリチャネルに順次記憶されている場合よりも速く並列に実行できる。
【０００５】
インターリーブメモリアクセス方式において、データはメモリチャネルごとに別個に、かつ他のメモリチャネルと並列に流れることができる。メモリシステムはまた、各メモリチャネルが特定のメモリアドレスにマッピングされ、データがメモリアドレスのマッピングに基づいてメモリチャネルとの間で伝送され得るように設計できる。
【０００６】
所与の時間にメモリシステムへのアクセスを要求するアプリケーションの性質に応じて、特定のメモリチャネル上のトラフィックが劇的に増加することがある。その結果、そのメモリチャネルは渋滞し、さらなるアクセスが停滞し得る。たとえば、メモリシステムが4つのメモリチャネルを備えている場合、順次アドレス指定されるデータワードにおけるデータは、4つのデータワードごとに特定のメモリチャネルに割り振られるように分配され得る。特定のアプリケーションにおける連続する命令が、メモリ内の4つのデータワードごとに対する順次アクセスを要求した場合、すべてのメモリ要求が単一のメモリチャネルにルーティングされ、メモリチャネルの渋滞を引き起こす。このシナリオでは、他のメモリチャネルは比較的空いていることもあるが、それらの利用可能な帯域幅は効果的に利用されていない。時々、例外または割込みも、特定のメモリチャネルへのアクセスを停滞させ得る。
【０００７】
様々なメモリチャネル間でトラフィック負荷を再分配し、分散するために、特定のメモリチャネルに割り当てられたメモリアドレスを再マッピングするのに、負荷分散方式が一般に採用されている。一般的な負荷分散方式では、メモリトランザクションのシーケンスを並べ替えることによって、アクセスパターンが静的に生成され、それにより、順次トランザクションが2つ以上のチャネルを通じて並列に進行することができる。
【０００８】
しかしながら、従来型の手法は性質上静的であり、アクセスパターンに強く依存しているので、メモリチャネルのリアルタイムの混雑状態は、従来型の負荷分散方式によって効果的に対処されていない。たとえば、例外または割込みは、チャネルにおけるトラフィックを予測不可能な形で変えることがある。従来型の手法は、所与の時間枠内の負荷を分散するように適合することができない。チャネル間のトラフィックが効果的に分配されないので、所与の時間枠において十分に利用されていないチャネルにおける利用可能な帯域幅が用いられないことになる。従来型技法における限界によって妨げられない負荷分散技法が必要である。
【発明の概要】
【課題を解決するための手段】
【０００９】
例示的な実施形態は、マルチチャネルDRAMシステムにおける負荷分散のためのシステムおよび方法を対象とする。
【００１０】
例示的な一実施形態は、マルチチャネルDRAMシステムにおける負荷分散のための方法を対象とし、本方法は、2つ以上のメモリチャネルにわたってメモリデータをインターリーブするステップと、メモリコントローラによりメモリチャネルへのアクセスを制御するステップと、相互接続システムを介してメモリコントローラにバスマスタを結合するステップとを含む。バスマスタからのメモリ要求が、メモリコントローラに送信される。本方法は、第1のメモリチャネルにおける混雑状態を検出するステップと、混雑状態が検出された場合に混雑状態信号を生成するステップと、バスマスタに混雑状態信号を送信するステップとを含む。
【００１１】
別の例示的な実施形態は、2つ以上のメモリチャネルにわたってインターリーブされたメモリデータと、メモリチャネルへのアクセスを制御するためのメモリコントローラと、相互接続システムを介してメモリコントローラに結合されたバスマスタとを含むDRAMシステムを対象とする。バスマスタからメモリコントローラにメモリ要求が送信される。システムは、メモリ要求に応答して第1のメモリチャネルにおける混雑状態を検出し、第1のメモリチャネルに関する混雑状態信号を生成するための論理を含む。
【００１２】
さらに別の例示的な実施形態は、2つ以上のチャネル手段にわたってメモリデータをインターリーブするための手段と、チャネル手段へのアクセスを制御するためのコントローラ手段と、相互接続手段を介してコントローラ手段にバスマスタを結合するための手段とを含むDRAMシステムを対象とする。バスマスタからコントローラ手段にメモリ要求が送信される。システムは、第1のチャネル手段における混雑状態を検出し、混雑状態が検出された場合に混雑状態指示を生成するための手段を含む。
【００１３】
さらなる例示的な一実施形態は、マルチチャネルDRAMシステムにおける負荷分散のための方法を対象とし、本方法は、2つ以上のメモリチャネルにわたってメモリデータをインターリーブするためのステップと、メモリコントローラによりメモリチャネルへのアクセスを制御するためのステップと、相互接続システムを介してメモリコントローラにバスマスタを結合するためのステップとを含む。バスマスタからのメモリ要求が、メモリコントローラに送信される。本方法は、第1のメモリチャネルにおける混雑状態を検出するためのステップと、混雑状態が検出された場合に混雑状態信号を生成するためのステップと、バスマスタに混雑状態信号を送信するためのステップとを含む。
【００１４】
添付図面は、本発明の実施形態に関する説明において助けとなるように与えられており、本発明の限定ではなく、実施形態の例示のみのために提供されている。
【図面の簡単な説明】
【００１５】
【図１】相互接続システムを通じて複数のスレーブメモリコントローラに複数のバスマスタが結合されている従来型のマルチチャネルDRAMシステムを示す図である。
【図２】例示的な一実施形態におけるバスマスタからのメモリ要求に応答してメモリコントローラによって生成された混雑状態信号を示す図である。
【図３】例示的な一実施形態における混雑状態信号に応答して再マッピングされたバスマスタからのメモリ要求を示す図である。
【図４】例示的な一実施形態による負荷分散方式を示すフローチャートである。
【発明を実施するための形態】
【００１６】
本発明の特定の実施形態を対象とする以下の説明および関連する図面で、本発明の態様を開示する。本発明の範囲から逸脱することなく、代替的な実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
【００１７】
「例示的な」という言葉は、「一例、実例または例として」を意味するために本明細書で使用される。「例示的」として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
【００１８】
本明細書で用いられる用語は、特定の実施形態の説明のみを目的とするものであり、本発明の実施形態を限定することは意図されない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用する「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことを理解されたい。
【００１９】
さらに、多くの実施形態が、たとえば、コンピューティングデバイスの要素によって実行すべき一連のアクションに関して説明される。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行できることが認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で完全に具現化されるものと見なすことができる。したがって、本発明の様々な態様は、すべてが特許請求される主題の範囲内に入ることが企図されているいくつかの異なる形式で具現化できる。さらに、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式を、たとえば、記載のアクションを実行する「ように構成された論理」として本明細書で説明することがある。
【００２０】
図1は、例示的なインターリーブDRAMシステムを示している。DRAMメモリ102は、シリコン貫通積層(TSS:Through Silicon Stacking)スタックDDR(stacked DDR)であってよい。相互接続104は、専用ポイントツーポイントインターフェースを介して複数のスレーブに複数のバスマスタを選択的に相互接続するスイッチングネットワークである。図1は、「n」個のバスマスタP1〜Pnを示しており、これらは、DRAMメモリ102へのアクセスを要求するコンピュータシステムまたは周辺デバイスを含み得る。図1はまた、「m」個のメモリチャネルCH1〜CHmを含む。m個のチャネルCH1〜CHmの各々へのアクセスは、「m」個のメモリコントローラMC1〜MCmによって制御されている。
【００２１】
メモリコントローラMC1〜MCmは、バスマスタP1〜Pnからのメモリアクセス要求を受信し、相応に応答するスレーブデバイスである。mの値はnに等しくないこともある。いくつかのバスマスタが、所与の時点にシングルチャネルにメモリアクセスを要求し得る。さらに、すべてに満たないメモリチャネルが、所与の時点に完全に利用されることがある。メモリシステムの最適パフォーマンスを実現するには、要求される帯域幅がすべてのメモリチャネルにわたって効率的に分配されるのが望ましい。
【００２２】
メモリ要求キュー(不図示)のようなキューイング機構をメモリコントローラで採用してもよい。複数のメモリアクセス要求が、単一のバスマスタまたは複数のバスマスタのいずれかから特定のメモリコントローラ(スレーブ)に対し行われた場合、メモリ要求キューは、未処理のメモリ要求のしきい値数に達したときに飽和状態となり得る。未処理の要求がすべて処理されるまで、関連するメモリチャネルへのアクセスは停滞する。そのようなメモリ停滞は、メモリシステムのパフォーマンスに著しく影響する。従来型のインターリーブメモリシステムは、飽和状態のチャネルにおける未処理の要求を、要求を処理することができる帯域幅を有し得る代替チャネルにリダイレクトする能力を欠いている。例示的な実施形態は、混雑状態信号を生成するために、アクセス履歴に関する情報をメモリ要求キューに照会する技法を含む。
【００２３】
図2は、「r」個のメモリ要求MR1〜MRrを示している。メモリ要求MR1〜MRrは、これらのメモリ要求を処理することに関連するデータトラフィックを取り入れるように、両側矢印を使用して示されている。図示の例では、バスマスタP1からのメモリ要求MR1〜MR2およびバスマスタP2からのメモリ要求MR3〜MR4が、メモリコントローラMC1に対して行われている。4つのメモリ要求MR1〜MR4に関連するデータトラフィックは、メモリチャネルCH1の最大帯域幅を上回っている。すべての要求MR1〜MR4を処理しようとして、メモリチャネルCH1への今後のアクセスを停滞させる可能性をもたらす代わりに、メモリコントローラMC1は、この混雑状態を認識し、混雑状態信号CS1およびCS2をそれぞれバスマスタP1およびP2向けに生成する。
【００２４】
上記の例では、未処理のメモリ要求が所定の持続時間にサンプリングされ、未処理のメモリ要求の所定のしきい値数に達したときに、混雑状態信号が生成される。一代替実施形態では、メモリコントローラは、アクセスを拒否されたメモリ要求の数を追跡することができる。拒否のしきい値数に達したとき、混雑状態信号が生成される。
【００２５】
混雑状態信号は、関連するメモリチャネルが混雑しているか否かを示す1桁の2進値であってよい。例示的な実施形態は、「混雑状態の程度」を特徴付けるために、2ビット幅以上である混雑状態信号を採用することができる。たとえば、2ビットの混雑状態信号では、2進コード化00は、メモリチャネルの最低限の混雑状態であるか、または自由にアクセスできることを示すことができる。2進コード化01および10は、中程度の混雑状態レベルであることを表すことができ、11は、混雑状態が最高であり、今後の要求はすべて、混雑状態が和らぐまで停滞する見込みであることを示すことができる。混雑状態が和らぐと、メモリ要求キューからの情報に基づいて、混雑状態信号は、適切にアサートが停止されるか、または最低混雑状態値に設定される。
【００２６】
混雑状態信号CS1の単一ビットの実装形態を仮定すると、0は、混雑していないことを示し、1は、メモリチャネルが混雑していることを示しており、バスマスタP1は、1にアサートされた混雑状態信号CS1を受信したとき、混雑状態信号CS1のアサートが停止されるまで、メモリ要求MR1およびMR2の一方または両方をバック・オフすることができる。代替的に、メモリ要求MR1およびMR2の一方または両方を、混雑状態信号がアサートされていない代替メモリチャネルに再ルーティングすることもできる。
【００２７】
メモリ要求の再ルーティングは、特定のメモリチャネルに割り当てられたメモリアドレスを再マッピングすることによって達成される。DRAMシステムでは通常、メモリ管理ユニット(MMU)が採用されている。例示的なMMUは、メモリアクセス要求アドレスとメモリチャネルにおける物理アドレスとの間の関連性が維持されているテーブルを含む。あるチャネルから別のチャネルにメモリ要求を再ルーティングするために、テーブル内のアドレスマッピングをMMUが変更して、混雑していない代替メモリチャネルにおける物理アドレスにメモリアクセス要求アドレスをマッピングする。
【００２８】
バスマスタP2は、混雑状態信号CS2に応答して同様に動作する。図3は、例示的な一実施形態を示しており、バスマスタP1がメモリ要求MR2を、メモリコントローラMC2を通じてメモリチャネルCH2に再マッピングしている。メモリコントローラMC2の混雑状態信号CS2は、アサートが停止されている。同様に、バスマスタP2はメモリ要求MR4をメモリコントローラMC2に再マッピングする。
【００２９】
動的負荷分散のための上記の技法が、図4のフローチャートに示されている。ブロック402において、例示的なメモリコントローラが混雑状態信号を0に維持しており、バスマスタに対し、対応するメモリチャネルがメモリ要求を処理できることを表している。ブロック404において、新しいメモリ要求がバスマスタから受信される。メモリチャネルが混雑しているか否かを判断するために、メモリ要求キューにおけるアクセス履歴情報がブロック406において照会される。メモリチャネルが混雑していない場合、混雑状態信号が0に維持され、要求が処理される。プロセスは402に戻る。
【００３０】
一方、ブロック406において、メモリチャネルが混雑していると判断された場合、408において、メモリコントローラは混雑状態信号を1に設定する。ブロック410において、バスマスタは、混雑状態信号がアサートされたことを認識し、これに応答してMMUは、代替メモリチャネルにメモリ要求を再マッピングする。
【００３１】
したがって、開示する負荷分散方式は、利用可能な帯域幅を効率的に利用し、混雑状態に関連するメモリ停滞を最低限に抑えることによって、マルチチャネルメモリシステムのパフォーマンスを改善する。
【００３２】
情報および信号は、多種多様な技術および技法のいずれかを使用して表すことができることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００３３】
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、概してそれらの機能に関して上記で説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００３４】
本明細書で開示した実施形態と関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
【００３５】
したがって、本発明の一実施形態は、マルチチャネルDRAMシステムにおける分散負荷のための方法を実施するコンピュータ可読媒体を含んでもよい。したがって、本発明は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる手段も、本発明の実施形態中に含まれる。
【００３６】
本開示の実施形態は、試験および特性評価のための、メモリおよびオンチップ回路を含む能動的な集積回路を含む、任意のデバイスにおいて適切に利用され得る。
【００３７】
前述の開示されたデバイスおよび方法は、通常、コンピュータ可読記憶媒体に保存されるGDSIIおよびGERBERコンピュータファイルとなるように、設計され構成される。次いでこれらのファイルは、これらのファイルに基づいてデバイスを製造する製造担当者に与えられる。得られる製品は半導体ウェハであり、このウェハは次いで、半導体ダイに切断され、半導体チップにパッケージングされる。そして、このチップが、上で説明されたデバイスで利用される。
【００３８】
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく本明細書において様々な変更および修正を行うことができることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび/またはアクションを特定の順序で実行しなくてもよい。さらに、本発明の要素は、単数形で説明または特許請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００３９】
102  DRAMメモリ
104  相互接続
MR1〜MRr  メモリ要求
P1〜Pn  バスマスタ
MC1〜MCm  メモリコントローラ
CH1〜CHm  メモリチャネル
CS1  混雑状態信号
CS2  混雑状態信号
【図１】
0005625114.tif 000002
【図２】
0005625114.tif 000003
【図３】
0005625114.tif 000004
【図４】
0005625114.tif 000005