【誤訳訂正書】
【提出日】平成24年6月11日(2012.6.11)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
メモリコントローラ（１０２）に第１のメモリアクセス要求をディスパッチするステップと、
前記第１のメモリアクセス要求によって表されるメモリアクセスオペレーションの完了を予測したことに応答して、前記メモリコントローラ（１０２）に提供されるべく利用可能な複数のメモリアクセス要求から第２のメモリアクセス要求を選択するステップと、
前記メモリコントローラ（１０２）に前記第２のメモリアクセス要求をディスパッチするステップと、を有する方法。
【請求項２】
前記メモリアクセスオペレーションの前記完了の予測は、メモリ（１０４）と前記メモリコントローラ（１０２）との間の信号伝達によって表される請求項１に記載の方法。
【請求項３】
前記第１のメモリアクセス要求は、リードアクセス要求またはライトアクセス要求のいずれか一方であって、
前記リードアクセス要求の場合、前記信号伝達には、要求されたデータが前記メモリ（１０４）と前記メモリコントローラ（１０２）とを接続するバス線上で利用可能であることを示す信号が含まれており、
前記ライトアクセス要求の場合、前記信号伝達には、書込データが前記メモリコントローラ（１０２）から前記メモリ（１０４）に提供されていることを示す信号が含まれている、請求項２に記載の方法。
【請求項４】
前記メモリアクセスオペレーションの前記完了の予測は、前記メモリアクセスオペレーションが実際に完了する前の所定の期間によって表される請求項２に記載の方法。
【請求項５】
前記複数のメモリアクセス要求から前記第２のメモリアクセス要求を選択することには、前記複数のメモリアクセス要求の優先順位に基づいて前記第２のメモリアクセス要求を選択することが含まれる請求項１に記載の方法。
【請求項６】
前記第２のメモリアクセス要求を選択するステップは、前記完了が予測されたことに応答して、前記メモリコントローラ（１０２）からバスインタフェースユニット（１０６）に信号（１３４）を提供するステップを有し、前記バスインタフェースユニット（１０６）は、前記信号（１３４）を受け取ったことに応答して、複数のメモリアクセス要求から前記第２のメモリアクセス要求を選択する請求項１に記載の方法。
【請求項７】
メモリ（１０４）に結合され、メモリアクセス要求を処理するためのメモリコントローラ（１０２）と、
前記メモリコントローラ（１０２）に結合されたバスインタフェースユニット（１０６）と、を有し、前記バスインタフェースユニット（１０６）は、
１つ以上のメモリアクセス要求を記憶するためのバッファ（１３２）と、
メモリアクセス要求を受け取るために前記バッファに結合された第１の入力、および前記メモリコントローラ（１０２）から信号（１３４）を受け取る第２の入力を有するアービタ（１３０）と、を有し、前記アービタ（１３０）は、前記信号（１３４）に応答して、前記メモリコントローラ（１０２）にディスパッチするために第２のメモリアクセス要求を選択し、
前記メモリコントローラ（１０２）は、前記メモリコントローラ（１０２）に既にディスパッチされている第１のメモリアクセス要求によって表されるメモリアクセスオペレーションの完了が予測されたことに応答して、前記信号（１３４）を提供するシステム（１００）。
【請求項８】
前記第１のメモリアクセス要求は、リードアクセス要求またはライトアクセス要求のいずれか一方であって、
前記リードアクセス要求の場合、前記信号（１３４）は、要求されたデータが前記メモリ（１０４）と前記メモリコントローラ（１０２）とを接続するバス線上で利用可能であることが示されたことに応答して提供され、
前記ライトアクセス要求の場合、前記信号（１３４）は、前記メモリコントローラ（１０２）によって前記メモリ（１０４）に書込データが提供されていることが示されたことに応答して提供される、請求項７に記載のシステム。
【請求項９】
前記メモリアクセスオペレーションの前記完了の予測は、前記メモリアクセスオペレーションが実際に完了する前の所定の期間によって表される請求項７に記載のシステム。
【請求項１０】
前記アービタ（１３０）は、前記１つ以上のメモリアクセス要求に関連する優先度に基づいて、前記第２のメモリアクセス要求を選択する請求項７に記載のシステム。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】０００３
【訂正方法】変更
【訂正の内容】
【０００３】
しかし、従来の方法では、メモリコントローラが次のメモリアクセス要求をバッファまたは処理できるようになった直後に、メモリコントローラにメモリアクセス要求をディスパッチする。このため、メモリコントローラが、次のメモリアクセス要求を受け取れるようになった後に、優先度の高い特定のメモリアクセス要求が選択可能となると、この優先度の高いメモリアクセス要求が、最も効率的な方法で処理されるとは限らなくなる。例を挙げると、メモリコントローラにおける次の要求を受け取るという能力に起因して、優先度の低いメモリアクセス要求がディスパッチされた直後に優先度の高いメモリアクセス要求を受け取った場合には、メモリコントローラが、次のメモリアクセス要求を再び受け取れるようになるまで、優先度の高いメモリアクセス要求の処理が遅れることがある。
【誤訳訂正３】
【訂正対象書類名】明細書
【訂正対象項目名】０００６
【訂正方法】変更
【訂正の内容】
【０００６】
本開示の一態様によれば、メモリアクセス要求の遅延アービトレーションのための方法は、メモリコントローラに第１のメモリアクセス要求をディスパッチするステップと、前記第１のメモリアクセス要求によって表されるメモリアクセスオペレーションの完了を予測したことに応答して、前記メモリコントローラに第２のメモリアクセス要求をディスパッチするステップと、を有する。
【誤訳訂正４】
【訂正対象書類名】明細書
【訂正対象項目名】００１２
【訂正方法】変更
【訂正の内容】
【００１２】
スケジュールマネージャ１２８が、選択されたメモリアクセス要求の処理を開始すると、メモリコントローラ１０２は、処理されようとしている、選択されたメモリアクセス要求がなくなって空になったキューのエントリ１２２，１２４の１つから、あるいはセレクタ１２６を介して直接ＢＩＵ１０６から、別のメモリアクセス要求を受け取れるようになる。しかし、一実施形態では、スケジュールマネージャ１２８は、メモリコントローラ１０２が、ＢＩＵ１０６から次のメモリアクセス要求を受け取ることができるようになった直後に、ディスパッチする次のメモリアクセス要求をアービタ１３０に選択させるのではなく、メモリ１０４を使用して現在処理されているメモリアクセスオペレーションの完了に近づくまで（すなわち、メモリアクセスオペレーションの完了が予測されるまで）、次のメモリアクセス要求をアービタ１３０に合図するのを遅らせる。
スケジュールマネージャ１２８は、現在のメモリアクセスオペレーションの完了が近いと判定すると、ｄｉｓｐａｔｃｈ＿ｒｅｑ信号１３４をアサートして、メモリコントローラ１０２に次のメモリアクセス要求をディスパッチするように、アービタ１３０に合図する。アービタ１３０は、信号１３４に応答して、優先度やタイムスタンプ等の１つ以上の特徴に基づいてキュー１３２からメモリアクセス要求を選択して、一時的にバッファしてから処理するために、選択されたメモリアクセス要求をメモリコントローラ１０２にディスパッチする。このため、図１の処理システム１００は、従来のシステムが実施しているように、メモリコントローラ１０２にメモリアクセス要求の空きができると直ちに、メモリアクセス要求をディスパッチするようにアービタ１３０に指示する代わりに、遅延させたアービトレーション法を実装している。これにより、メモリコントローラにディスパッチされる次のメモリアクセス要求が、メモリアクセス要求を選択すべきほぼ直前の時点まで選択されない。この結果、メモリコントローラ１０２が、メモリアクセス要求を受け取り可能となった最初の時点の後に、ＢＩＵ１０６が受け取る優先度の高いメモリアクセス要求が、アービタ１３０によって選択されて、メモリコントローラ１０２にディスパッチされるようになり、システム１００の効率が向上する。
【誤訳訂正５】
【訂正対象書類名】明細書
【訂正対象項目名】００１３
【訂正方法】変更
【訂正の内容】
【００１３】
スケジュールマネージャ１２８は、さまざまな方法を使用して、メモリアクセス要求をディスパッチするようにアービタ１３０に合図するために、メモリアクセスオペレーションの完了が予測されることを判定することができる。一実施形態では、メモリアクセスオペレーションの完了の予測は、メモリ１０４とメモリコントローラ１０２との間の信号伝達によって行うことができる。例えば、リードアクセスオペレーション中に、メモリ１０４は、次のクロックサイクル中にデータがラッチされるように、メモリコントローラ１０２とメモリ１０４との間を接続しているバス線において、要求されたデータが利用可能であることを示す信号を、メモリコントローラ１０２に提供しうる。したがって、この例では、メモリコントローラ１０２は、メモリ１０４からこの信号を受けるとｄｉｓｐａｔｃｈ＿ｒｅｑ信号１３４をアサートして、次のメモリアクセス要求のディスパッチを開始するようにアービタ１３０に合図しうる。別例では、メモリアクセスオペレーションにはライトアクセスオペレーションが含まれており、信号伝達には、メモリコントローラへのまたはメモリへの信号であって、メモリコントローラ１０２とメモリ１０４との間を接続しているバスに書込データが出力中であることを示す信号が含まれる。メモリ１０４は、これに応答して、次のサイクル中にこのデータをラッチしうる。この例では、スケジュールマネージャ１２８が、メモリ１０４に、あるいはメモリ１０４からメモリコントローラ１０２に提供される、書込データが利用可能であるという信号がアサートされると、信号１３４をアサートすることができる。
別の実施形態では、メモリコントローラ１０２によって処理されたメモリアクセスオペレーションの一部またはその全てが、所定の期間行われ得る。例えば、メモリコントローラ１０２は、特定のタイプのリードアクセスオペレーションが、決まったクロックサイクルを要することを認識していてもよい。したがって、このようなリードアクセスオペレーションの完了の予測は、メモリアクセスオペレーションの実際の完了が予測される前の所定の期間で表すことができる。例えば、メモリアクセスオペレーションが８クロックサイクルを要することがわかっている場合、このメモリアクセスオペレーションの完了の予測は、例えば、７番目のクロックサイクルで発生し、この時点で、スケジュールマネージャ１２８は、ｄｉｓｐａｔｃｈ＿ｒｅｑ信号１３４をアサートして、メモリコントローラ１０２に次のメモリアクセス要求をディスパッチするように、アービタ１３０に合図しうる。
【誤訳訂正６】
【訂正対象書類名】明細書
【訂正対象項目名】００１４
【訂正方法】変更
【訂正の内容】
【００１４】
図２を参照すると、本開示の少なくとも１つの実施形態による、遅延させたメモリアクセス要求をメモリコントローラにディスパッチするための例示的な方法２００が示されている。この方法２００はブロック２０２から開始し、メモリコントローラ１０２が、ＢＩＵ１０６から受け取った選択されたメモリアクセス要求によって表される、メモリ１０４へのメモリアクセスオペレーションを開始する。ブロック２０４において、スケジュールマネージャ１２８はこのメモリアクセスオペレーションをモニタして、スケジュールマネージャ１２８が、現在のメモリアクセスオペレーションの予測された完了時点が識別されたことに応答して、ブロック２０６において、スケジュールマネージャ１２８は、ｄｉｓｐａｔｃｈ＿ｒｅｑ信号１３４をアサートするか、あるいは別の方法によって、ＢＩＵ１０６から次のメモリアクセス要求のディスパッチを開始するように、アービタ１３０に合図する。ブロック２０８において、アービタ１３０は、アサートされたｄｉｓｐａｔｃｈ＿ｒｅｑ信号１３４を受け取る。これに応答して、ブロック２１０において、アービタ１３０は、メモリコントローラ１０２にディスパッチするために、キュー１３２からメモリアクセス要求を選択する。上記のように、アービタ１３０は、例えば、ＢＩＵ１０６でメモリアクセス要求を受け取った優先度順などさまざまな特徴に基づいて次のメモリアクセス要求を選択しうる。ブロック２１２において、アービタ１３０は、選択したメモリアクセス要求をメモリコントローラ１０２にディスパッチする。ブロック２１４において、ディスパッチされたメモリアクセス要求が、メモリコントローラ１０２で受信され、このメモリアクセス要求キュー１２０にバッファされるか、あるいは、即時に処理するために、セレクタ１２６を使用してスケジュールマネージャ１２８に直接提供される。このセレクタは、スケジュールマネージャ１２８またはメモリコントローラ１０２の他の部品によって制御されうる。
【誤訳訂正７】
【訂正対象書類名】明細書
【訂正対象項目名】００１８
【訂正方法】変更
【訂正の内容】
【００１８】
これに対して、図２の方法２００の例示的な実装を示すディスパッチシーケンス３０６は、メモリコントローラ１０２でメモリアクセス要求のアービトレーションと選択を可能なほぼ最後の時点まで（メモリコントローラ１０２によって実行されているメモリアクセスオペレーションの完了の予測によって示すことができる）遅らせることによって、メモリアクセス要求のより有効なアービトレーションを実現することができる。例を挙げると、スケジュールマネージャ１２８は、時点Ａ’において、現在処理中のメモリアクセスオペレーションの完了が近いと判定する。これに応答して、スケジュールマネージャ１２８は、ｄｉｓｐａｔｃｈ＿ｒｅｑ信号１３４をアサートし、これをアービタ１３０が受け取る。信号１３４がアサートされると、アービタ１３０は、キュー１３０内のその時点で利用可能なメモリアクセス要求（すなわち、メモリアクセス要求Ｒ６とＲ０）から選択する。この場合、メモリアクセス要求Ｒ０はメモリアクセス要求Ｒ６よりも優先度が高いため、アービタ１３０によって、メモリコントローラ１０２にディスパッチするために選択される。シーケンス３０６は、時点Ａまで進み、この時点で、メモリコントローラ１０２は、現在のメモリアクセスオペレーションを完了するが、従来の方法と異なり、メモリコントローラ１０２が、別のメモリアクセス要求を受け取れるようになっても、スケジュールマネージャ１２８が、次のメモリアクセス要求を合図しない。その代わり、スケジュールマネージャ１２８は、時点Ｂ’で、次のメモリアクセスオペレーションの完了が予測されるまで待機し、その時点で、信号１３４をアサートする。時点Ｂ’で信号１３４がアサートされると、アービタは、メモリコントローラ１０２にディスパッチする次のメモリアクセス要求を選択する。シーケンス３０２に示すように、メモリコントローラ１０２が、次のメモリアクセス要求を受け取れるように最初になった時点Ａと、メモリコントローラ１０２で現在のメモリアクセスオペレーションの完了が近い時点Ｂとの間に遅れがあるため、ＢＩＵ１０６が優先度の高いメモリアクセス要求Ｒ３を受け取ることが可能となる。したがって、時点Ｂ’で信号１３４がアサートされると、アービタ１３０は、キュー１３２でメモリアクセス要求Ｒ３を利用可能であり、これが、キュー１３２で優先度が最も高い要求であるため、アービタ１３０は、時点Ｂ’の後に、メモリコントローラ１０２にディスパッチするためにメモリアクセス要求Ｒ３を選択する。同様に、時点Ｃでメモリコントローラ１０２によって実行されているメモリアクセスオペレーションの完了が近くなると、スケジュールマネージャ１２８は信号１３４をアサートし、これに対して、アービタ１３０はメモリコントローラ１０２にディスパッチするためにメモリアクセス要求Ｒ１を選択する。