(57)【要約】  複数ランク・メモリー・プロトコルの方法及び装置。いくつかの実施例では、装置は、メモリー制御装置（ＭＣ）、及び前記メモリー制御装置と連動する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー（ＤＲＡＭ）素子、を有し、前記ＭＣと前記複数のランク付けされたＤＲＡＭ素子との間、及び前記複数のランク付けされたＤＲＡＭ素子間の動作のタイミング及び開始は前記ＭＣにより制御される。いくつかの実施例では、方法は、要求を複数のランク付けされたＤＲＡＭ素子の１つにアドレス指定する段階、前記要求を、前記複数のランク付けされたＤＲＡＭ素子と連動するメモリー制御装置（ＭＣ）から送信する段階、及び前記要求を、前記ＭＣから、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記アドレス指定されたランク付けされたＤＲＡＭ素子へ伝搬する段階、を有し、前記要求は前記要求と関連付けられたデータを有する。
2008544424.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
メモリー制御装置（ＭＣ）、及び
前記メモリー制御装置と連動する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー（ＤＲＡＭ）素子、を有し、前記ＭＣと前記複数のランク付けされたＤＲＡＭ素子との間、及び前記複数のランク付けされたＤＲＡＭ素子間の動作のタイミング及び開始は前記ＭＣにより制御される、装置。
【請求項２】
前記ＭＣと接続され及び前記複数のランク付けされたＤＲＡＭ素子と接続された通信接続は、前記ＭＣ及び前記複数のランク付けされたＤＲＡＭ素子により１つずつ駆動され得る双方向接続である、請求項１記載の装置。
【請求項３】
コマンドは前記ＭＣから送信され、そして前記複数のランク付けされたＤＲＡＭ素子のランクに基づく所定の順序で、前記複数のランク付けされたＤＲＡＭ素子を通じて伝搬する、請求項１記載の装置。
【請求項４】
前記コマンドは、前記ランク付けされたＤＲＡＭ素子の１つと関連付けられた少なくとも１つのアドレス・ランク、及びアドレス指定されたランク付けされたＤＲＡＭ素子の列アドレスを有する、請求項３記載の装置。
【請求項５】
アドレス指定されたランク付けされたＤＲＡＭ素子と関連付けられた読み出しデータは、前記アドレス指定されたランク付けされたＤＲＡＭ素子から、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記ＭＣへ伝搬され、及び前記ＭＣからアドレス指定されたランクを読み出すための待ち時間は、前記アドレス指定されたランク付けされたＤＲＡＭ素子と前記ＭＣとの間にある複数のＤＲＡＭ素子のそれぞれと関連付けられた、可変のランクに依存する遅延に基づく、請求項１記載の装置。
【請求項６】
アドレス指定されたランク付けされたＤＲＡＭ素子と関連付けられた読み出しデータは、前記アドレス指定されたランク付けされたＤＲＡＭ素子から、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記ＭＣへ、延期された読み出し動作に基づき伝搬され、読み出しデータは、前記読み出しデータを前記ＭＣへ伝搬するため、前記アドレス指定されたランク付けされたＤＲＡＭ素子と前記ＭＣとの間にある複数のランク付けされたＤＲＡＭ素子のそれぞれに対応するローカル・バッファーに連続的に格納される、請求項１記載の装置。
【請求項７】
アドレス指定されたランク付けされたＤＲＡＭ素子と関連付けられた書き込みデータは、前記ＭＣから、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記アドレス指定されたランク付けされたＤＲＡＭ素子へ伝搬され、及び前記ＭＣからアドレス指定されたランクへ書き込むための待ち時間は、前記ＭＣと前記アドレス指定されたランク付けされたＤＲＡＭ素子との間にある複数のＤＲＡＭ素子のそれぞれと関連付けられた固定遅延に基づく、請求項１記載の装置。
【請求項８】
アドレス指定されたランク付けされたＤＲＡＭ素子と関連付けられた書き込みデータは、前記ＭＣから、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記アドレス指定されたランク付けされたＤＲＡＭ素子へ、通知された書き込み動作に基づき伝搬され、書き込みデータは、前記書き込みデータを前記アドレス指定されたランク付けされたＤＲＡＭ素子へ伝搬するため、前記ＭＣと前記アドレス指定されたランク付けされたＤＲＡＭ素子との間にある複数のランク付けされたＤＲＡＭ素子のそれぞれに対応するローカル・バッファーに連続的に格納される、請求項１記載の装置。
【請求項９】
方法であって、
要求を複数のランク付けされたダイナミック・ランダム・アクセス・メモリー（ＤＲＡＭ）素子の１つにアドレス指定する段階、
前記要求を、前記複数のランク付けされたＤＲＡＭ素子と連動するメモリー制御装置（ＭＣ）から送信する段階、及び
前記要求を、前記ＭＣから、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記アドレス指定されたランク付けされたＤＲＡＭ素子へ伝搬する段階、を有し、前記要求は前記要求と関連付けられたデータを有する、方法。
【請求項１０】
前記要求は前記要求と関連付けられたコマンド及びデータを有する、請求項９記載の方法。
【請求項１１】
前記要求は前記複数のランク付けされたＤＲＡＭ素子の１つにアドレス指定された読み出しコマンドであり、前記方法は、
読み出しデータを、前記アドレス指定されたランク付けされたＤＲＡＭ素子から、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記ＭＣへ伝搬する段階、を更に有し、前記ＭＣからアドレス指定されたランクを読み出すための待ち時間は、前記アドレス指定されたランク付けされたＤＲＡＭ素子と前記ＭＣとの間にある複数のＤＲＡＭ素子のそれぞれと関連付けられた、可変のランクに依存する遅延に基づく、請求項９記載の方法。
【請求項１２】
前記要求は前記複数のランク付けされたＤＲＡＭ素子の１つにアドレス指定された読み出しコマンドであり、前記方法は、
読み出しデータを、前記アドレス指定されたランク付けされたＤＲＡＭ素子から、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記ＭＣへ、延期された読み出し動作に基づき伝搬する段階、を更に有し、前記読み出しコマンドと関連付けられた読み出しデータは、前記読み出しデータを前記ＭＣへ伝搬するため、前記アドレス指定されたランク付けされたＤＲＡＭ素子と前記ＭＣとの間にある複数のランク付けされたＤＲＡＭ素子のそれぞれに対応するローカル・バッファーに連続的に格納される、請求項９記載の方法。
【請求項１３】
前記要求は前記複数のランク付けされたＤＲＡＭ素子の１つにアドレス指定された書き込みコマンドであり、前記方法は、
前記書き込みコマンドと関連付けられた書き込みデータを、前記ＭＣから、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記アドレス指定されたランク付けされたＤＲＡＭ素子へ伝搬する段階、を更に有し、及び前記ＭＣからアドレス指定されたランクへ書き込むための待ち時間は、前記ＭＣと前記アドレス指定されたランク付けされたＤＲＡＭ素子との間にある複数のＤＲＡＭ素子のそれぞれと関連付けられた固定遅延に基づく、請求項９記載の方法。
【請求項１４】
前記要求は前記複数のランク付けされたＤＲＡＭ素子の１つにアドレス指定された書き込みコマンドであり、前記方法は、
書き込みデータを、前記ＭＣから、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記アドレス指定されたランク付けされたＤＲＡＭ素子へ、通知された書き込み動作に基づき伝搬する段階、を更に有し、書き込みデータは、前記書き込みデータを前記アドレス指定されたランク付けされたＤＲＡＭ素子へ伝搬するため、前記ＭＣと前記アドレス指定されたランク付けされたＤＲＡＭ素子との間にある複数のランク付けされたＤＲＡＭ素子のそれぞれに対応するローカル・バッファーに連続的に格納される、請求項９記載の方法。
【請求項１５】
前記ＭＣと接続され及び前記複数のランク付けされたＤＲＡＭ素子と接続された通信接続は、前記ＭＣ及び前記複数のランク付けされたＤＲＡＭ素子により１つずつ駆動され得る双方向接続である、請求項９記載の方法。
【請求項１６】
前記要求及びタイミング動作は前記ＭＣにより制御される、請求項９記載の方法。
【請求項１７】
前記要求は前記ＭＣから送信され、そして前記複数のランク付けされたＤＲＡＭ素子のランクに基づく所定の順序で、前記複数のランク付けされたＤＲＡＭ素子を通じて伝搬する、請求項９記載の方法。
【請求項１８】
前記コマンドは、前記複数のランク付けされたＤＲＡＭ素子の１つと関連付けられた少なくとも１つのアドレス・ランク、及び前記アドレス指定されたランク付けされたＤＲＡＭ素子の列アドレスを有する、請求項１０記載の方法。
【請求項１９】
システムであって、
ダブル・データ・レート・メモリー、
メモリー制御装置（ＭＣ）、及び
前記メモリー制御装置と連動する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー（ＤＲＡＭ）素子、を有し、前記ＭＣと前記複数のランク付けされたＤＲＡＭ素子との間、及び前記複数のランク付けされたＤＲＡＭ素子間の動作のタイミング及び開始は前記ＭＣにより制御される、システム。
【請求項２０】
アドレス指定されたランク付けされたＤＲＡＭ素子と関連付けられた読み出しデータは、前記アドレス指定されたランク付けされたＤＲＡＭ素子から、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記ＭＣへ伝搬され、及び前記ＭＣからアドレス指定されたランクを読み出すための待ち時間は、前記アドレス指定されたランク付けされたＤＲＡＭ素子と前記ＭＣとの間にある複数のＤＲＡＭ素子のそれぞれと関連付けられた、ランクに依存する遅延に基づく、請求項１９記載のシステム。
【請求項２１】
アドレス指定されたランク付けされたＤＲＡＭ素子と関連付けられた読み出しデータは、前記アドレス指定されたランク付けされたＤＲＡＭ素子から、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記ＭＣへ、延期された読み出し動作に基づき伝搬され、読み出しデータは、前記読み出しデータを前記ＭＣへ伝搬するため、前記アドレス指定されたランク付けされたＤＲＡＭ素子と前記ＭＣとの間にある複数のランク付けされたＤＲＡＭ素子のそれぞれに対応するローカル・バッファーに連続的に格納され、請求項１９記載のシステム。
【請求項２２】
アドレス指定されたランク付けされたＤＲＡＭ素子と関連付けられた書き込みデータは、前記ＭＣから、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記アドレス指定されたランク付けされたＤＲＡＭ素子へ伝搬され、及び前記ＭＣからアドレス指定されたランクへ書き込むための待ち時間は、前記ＭＣと前記アドレス指定されたランク付けされたＤＲＡＭ素子との間にある複数のＤＲＡＭ素子のそれぞれと関連付けられた固定遅延に基づく、請求項１９記載のシステム。
【請求項２３】
アドレス指定されたランク付けされたＤＲＡＭ素子と関連付けられた書き込みデータは、前記ＭＣから、前記複数のランク付けされたＤＲＡＭ素子を通じ、前記アドレス指定されたランク付けされたＤＲＡＭ素子へ、通知された書き込み動作に基づき伝搬され、書き込みデータは、前記書き込みデータを前記アドレス指定されたランク付けされたＤＲＡＭ素子へ伝搬するため、前記ＭＣと前記アドレス指定されたランク付けされたＤＲＡＭ素子との間にある複数のランク付けされたＤＲＡＭ素子のそれぞれに対応するローカル・バッファーに連続的に格納され、請求項１９記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＲＡＭの並列処理を向上するシステム及び方法に関する。
【背景技術】
【０００２】
コンピューター・システムは、ダイナミック・ランダム・アクセス・メモリー（ＤＲＡＭ）素子のようなメモリー装置を用い、プロセッサーによりアクセスされるデータを格納する。メモリー装置は、コンピューター・システム内のシステム・メモリーを用いて良い。いくつかのコンピューター・システムでは、プロセッサーはプロセッサー・バス及びメモリー制御装置を通じてシステム・メモリーと通信する。プロセッサーは、読み出し又は書き込みコマンドのようなメモリー・コマンド及びどのデータ又は命令が読み出される又は書き込まれるべきかを指定するアドレスを有するメモリー要求を発行して良い。メモリー制御装置は、プロセッサーからのコマンドを用い、適切なコマンド信号並びにシステム・メモリーに適用される行及び列アドレスを生成して良い。コマンド及びアドレスに応答して、データはシステム・メモリーとプロセッサーとの間で転送される。メモリー制御装置はしばしば、システム制御装置の一部である。システム制御装置はまた、プロセッサー・バスを拡張バスと結合するバス・ブリッジ回路を有して良い。
【０００３】
一般に、プロセッサーの動作速度の連続増量は、メモリー装置及びプロセッサーと連動するメモリー装置及びメモリー制御装置により得られる伸び率を上回る。従って、いくつかのコンピューター・システムでは、プロセッサーとメモリー装置との間のデータ帯域幅は制限され得る。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従って一般的に、ＤＲＡＭ素子の管理及び制御を含む、効率的なメモリー管理及び制御プロトコルのための方法及び装置が必要である。
【発明を実施するための最良の形態】
【０００５】
本願明細書に記載されるいくつかの実施例は、単に説明を目的とする。実施例は、本願明細書に記載される要素の、現在知られている又は今後知られる如何なる版も含んで良い。従って当業者は、本願明細書から、種々の変更及び代替を有する別の実施例が実施され得ることを理解するだろう。
【０００６】
図１は、本願明細書のいくつかの実施例の実施を有し得るコンピューター・システム１００のブロック図である。システム１００は、データを処理するプロセッサー１０５を有する。プロセッサー１０５は多数の命令セットを実装し及び１又は複数のコア・プロセッサーを有して良い。プロセッサー１０５は、プロセッサー１０５とシステム１００の他の構成要素及び装置との間の接続を提供するＣＰＵバス１１０と接続される。
【０００７】
例えば、メモリー制御装置（ＭＣ）はバス１１０と接続される。ＭＣ１１５は、メモリー１２０とプロセッサー１０５と、例えばディスプレイ１３０及びグラフィック・サブシステム１３５のような他の構成要素との間のデータ・トラヒック及び動作を指示又は制御して良い。グラフィック・サブシステム１３５は画像を処理及び再生して良く、またディスプレイ１３０はグラフィック・サブシステム１３５により再生される画像を表示して良い。メモリー１２０は、ランダム・アクセス・メモリー（ＲＡＭ）素子、ダブル・データ・メモリー素子、ダイナミック・ランダム・アクセス・メモリー（ＤＲＡＭ）素子であって良い。本願明細書のいくつかの実施例では、メモリー１２０は、複数ランク・プロトコルに従い共に接続された多数のＤＲＡＭ素子を有して良い。複数ランク・プロトコルにより共に接続されたＤＲＡＭ素子は、本願明細書では集合的に複数ランクＤＲＡＭ素子として参照される。
【０００８】
理解されるべき点は、システム１００は、いくつかの実施例では、本願明細書のいくつかの実施例に従い図１に示されたものより追加の、少数の、及び代替の構成要素及び素子を有して良い。
【０００９】
図２は、図１のＭＣ１１５及びメモリー１２０の例を示す。メモリー１２０は、いくつかの実施例では、複数のＤＲＡＭ素子２１０、２１５、２２０、２２５を有して良い。例えばＤＲＡＭ２１０とＭＣ１１５との間のＤＲＡＭ接続は、ＤＲＡＭ（例えば２１０、２１５、２２０、及び２２５）間の接続と同様に、複数ランク・プロトコルに従う。本願明細書のいくつかの実施例によると、複数ランク・プロトコルは複数のＤＲＡＭのそれぞれにランクを割り当てる。ＤＲＡＭに割り当てられるランクは、少なくともＭＣ１１５からのＤＲＡＭが位置する距離に基づいて良い。
【００１０】
図２を参照すると、メモリー１２０は、ＤＲＡＭ２１０（ランク０）、ＤＲＡＭ２１５（ランク１）、ＤＲＡＭ２２０（ランク２）、及びＤＲＡＭ２２５（ランク３）を有する。各ランク付けされたＤＲＡＭに関連付けられた遅延が測定可能である。各ランク付けされたＤＲＡＭに関連付けられた測定可能な遅延は、ＭＣ１１５とＤＲＡＭ２１０との間の電気接続による伝搬遅延、及び各ランク付けされたＤＲＡＭの内部伝搬遅延（つまり流入遅延）から生じ得る。ここで、ランク付けされたＤＲＡＭ間の電気接続に起因する遅延は、当該ＤＲＡＭ間の電気接続が短いことに基づき、ゼロと見なされる。
【００１１】
本願明細書のいくつかの実施例では、ＭＣ１１５とランク付けされたＤＲＡＭ２２０―２２５との間の動作の全てのタイミングは、ＭＣ１１５により制御される。また、全てのこのような動作の開始は、ＭＣ１１５により達成される。更に、ＭＣ１１５とＤＲＡＭ２１０（ランク０）との間の通信、及び複数のランク付けされたＤＲＡＭ２２０―２２５間の通信は、一方向接続又は双方向接続を介し生じて良い。例えば、ＭＣ１１５とＤＲＡＭ２１０との間の要求を転送する接続２３０は、一方向又は双方向であって良い。また、２個の隣接するＤＲＡＭ（例えば、２１０と２１５、２１５と２２０、２２０と２２５）の間に設けられた接続２４０及び２４５は、一方向又は双方向であって良い。
【００１２】
本願明細書のいくつかの実施例の双方向接続は、接続の方向の変化によるターンアラウンド時間（つまり遅延）を有する。双方向接続は、ＤＲＡＭ素子の内部及び接続の外部の両方で用いられ、要求及びデータ信号の競合を回避する。双方向接続は、ＭＣ１１５及びＤＲＡＭ素子２１０−２２５により駆動されて良い。しかしながら、ＭＣ１１５及びＤＲＡＭ素子２１０−２２５のうち１つだけは、如何なる所与の時にも双方向接続を駆動して良い。
【００１３】
本願明細書のいくつかの実施例の一方向接続は、入力及び出力のために別個の信号接続を有して良い。一方向接続に関し、反対方向のトラヒックは別個の接続に存在するので、反対方向のトラヒックは同時に駆動されて良い。また、一方向接続のトラヒックは単一の方向に制約されないので、一方向接続は当該一方向接続に関連付けられたターンアラウンド遅延を有さない。
【００１４】
いくつかの実施例では、要求及び関連データは、ＭＣ１１５とＤＲＡＭ１２０との間で別個のピン又は接続で転送されて良い。図２に示されるように、要求又はコマンドは、ＭＣ１１５からＤＲＡＭ２１０へ接続２３０で提供される。再び、ＭＣ１１５は全ての動作を開始する。コマンドは、必要に応じてランク付けされたＤＲＡＭ素子１２０を通じて伝搬される。コマンド接続２３０及び２４０は一方向である。ＭＣ１１５とＤＲＡＭ素子２１０との間のデータ接続２３５、及び隣接するＤＲＡＭ素子間のデータ接続２４５は、双方向であり、及びＭＣ１１５へ又はＭＣ１１５から離れて駆動されて良い。コマンドは上述の遅延を伴い伝搬して良い。
【００１５】
種々の要求は、本願明細書ではＭＣにより開始され、いくつかの実施例の複数ランクＤＲＡＭ素子へアクセスする動作又は処理を実現して良い。２つの要求、つまりＲＥＡＤコマンド及びＷＲＩＴＥコマンドは、当該コマンドに関連付けられたデータを有し、及びデータ接続を用いる。本願明細書のいくつかの実施例では、コマンドは、例えばＲＥＡＤ又はＷＲＩＴＥコマンドに加え情報を有して良い。このような追加情報は、コマンドによりアドレス指定されたランク付けされたＤＲＡＭのアドレス・ランク、及びＤＲＡＭの列アドレスを有して良い。
【００１６】
ＭＣがＲＥＡＤコマンドを開始する例では、ＲＥＡＤコマンドは本願明細書による複数ランク装置及び方法を用い実施されて良い。ＲＥＡＤコマンドは、可変読み出し待ち時間処理を用い達成されて良い。可変読み出し待ち時間処理に従い、各ランク付けされたＤＲＡＭは異なる読み出し待ち時間を割り当てられる。各ランク付けされたＤＲＡＭの読み出し待ち時間は異なり、及び各ＤＲＡＭと関連付けられた伝搬遅延に基づき、及びＭＣからのＤＲＡＭ素子が位置付けられた距離に依存して変化する。従って、ＭＣからランクを読み出すための待ち時間は、ランクに依存する。
【００１７】
図３は本発明のいくつかの実施例の処理３００のフロー図の例である。動作３０５で、ＭＣはＲＥＡＤコマンドを開始し及びメモリー制御装置と連動する多数のランク付けされたＤＲＡＭ素子の１つにアドレス指定する。ＭＣは、ＭＣと複数のランク付けされたＤＲＡＭ素子との間、及び複数のランク付けされたＤＲＡＭ素子間の全てのタイミング及び動作の開始を制御する。開始されたＲＥＡＤコマンドは、データが読み出されるべき１つのランク付けされたＤＲＡＭ素子のアドレスを有する。動作３１０で、ＲＥＡＤコマンドは、ＭＣから当該ＭＣと連動する複数のランク付けされたＤＲＡＭ素子へ送信される。動作３１５で、ＲＥＡＤコマンドは、ＭＣから複数のランク付けされたＤＲＡＭ素子を通じ、ＲＥＡＤコマンドによりアドレス指定されたＤＲＡＭ素子へ伝搬される。
【００１８】
動作３２０で、アドレス指定されたランク付けされたＤＲＡＭ素子から読み出したデータは、当該ＤＲＡＭ素子とＭＣとの間にある複数のランク付けされたＤＲＡＭ素子を通じ、ＭＣへ送信される。要求されたデータをアドレス指定されたランク付けされたＤＲＡＭ素子から読み出すことに関連付けられた待ち時間は可変であり、及びＲＥＡＤ動作で横切った複数のランク付けされたＤＲＡＭ素子のそれぞれと関連付けられた、ランクに依存する遅延に基づく。
【００１９】
図４は、本発明のいくつかの実施例の、ＲＥＡＤ動作のタイミング図の例である。タイミング図４００は、複数のランク付けされたＤＲＡＭ装置を通じたＲＥＡＤコマンドのタイミングを示す。当該ＤＲＡＭ装置は、例えばＤＲＡＭ素子２１０、２１５、２２０、及び２２５のような、全部で４個のランク付けされたＤＲＡＭ素子を有する。ＤＲＡＭ素子は以下のように０乃至４にランク付けされる。ＤＲＡＭ素子２１０は０にランク付けされ、ＤＲＡＭ素子２１５は１にランク付けされ、ＤＲＡＭ素子２２０は２にランク付けされ、及びＤＲＡＭ素子２２５は４にランク付けされる。
【００２０】
タイミング図４０５に示されるように、ＭＣによりランク０へ発行されたＲＥＡＤコマンドは、ＭＣから、要求されたデータが読み出される０にランク付けされたＤＲＡＭ素子へ伝搬し、そしてＭＣへ伝搬して戻る。このＲＥＡＤ動作に関連付けられた待ち時間は１２単位である。ランク３のＤＲＡＭ素子へのＲＥＡＤコマンドでは、コマンドはＭＣから、ランク０、１、及び２を通じて、要求されたデータが読み出されるランク３のＤＲＡＭ素子へ伝搬し、そしてＭＣへ伝搬して戻る。このＲＥＡＤ動作に関連付けられた待ち時間は、ＭＣから見て１８単位である。タイミング図４０５−４２０は、それぞれランク０−４にアドレス指定されたＲＥＡＤコマンドに対し要求されるタイミングを示す。ＭＣは、要求されたデータが利用可能である場合、アドレス指定されたランク付けされたＤＲＡＭ素子からＭＣへの戻り経路全体のスケジューリング（つまりタイミング）に関与する。経路全体がＲＥＡＤ動作に割り当てられない場合、ＲＥＡＤコマンドは経路が割り当て可能になるまで遅延されなければならない。
【００２１】
図５は、本発明のいくつかの実施例による、ＲＥＡＤ動作のタイミング図５００の例である。図５０５−５２０は、それぞれランク０−４にアドレス指定されたＲＥＡＤコマンドの場合に、データ経路全体をＲＥＡＤコマンドに割り当てることの影響を示すタイミング図である。ターンアラウンド（ＴＡ）時間がタイミング図に追加されており、タイミング遅延のために挿入されている。ＲＥＡＤコマンドへチャネルを割り当てると、双方向接続でＷＲＩＴＥコマンドのためにチャネルを利用できない（つまり、Ｃａｎｎｏｔ  Ｄｒｉｖｅ）。アドレス指定されたランク付けされたＤＲＡＭ素子がＭＣから遠いほど、チャネル利用可能性の制約が増大する。
【００２２】
図６は本発明のいくつかの実施例のフロー図の例である。処理６００は、図７のタイミング図を参照することにより一層理解される。処理６００は延期された読み出し処理を対象とする。通信接続全体の割り当ては、コンピューター・システム内で生成される所与の多くの要求を実施するには困難である。延期された読み出し処理６００は、ＭＣと複数のランク付けされたＤＲＡＭ素子との間の接続を介し効率的に管理され得る部分にＲＥＡＤ動作を分割することにより、この困難を解決する。
【００２３】
延期された読み出し処理６００は、ＲＥＡＤコマンド及びデータ・ビットに加え、実施時にコマンド・ビットを用いて良い。追加コマンド・ビットは、複数のランク付けされたＤＲＡＭ素子のそれぞれに関連付けられたローカル・バッファー記憶装置へのＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲコマンドを表して良い。ＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲコマンド・ビットは、ＭＣに、各ランク付けされたＤＲＡＭ素子の内部に保持されたローカル記憶装置であるＤＲＡＭバッファーを管理する機構を提供する。アサートされたＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲコマンドは、ランク（ｎ＋１）のＤＲＡＭ素子乃至ランク（ｎ）のＤＲＡＭ素子により接続が駆動されることを可能にする。アサートされたＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲコマンドは、ＭＣにより制御され、例えば、要求された読み出しデータをＭＣへ伝搬する処理で、ランク２のＤＲＡＭ素子（例えば、ＤＲＡＭ素子２２０）にランク１のＤＲＡＭ素子（例えば、ＤＲＡＭ素子２１５）へデータを駆動するよう割り当てて良い。本願明細書に示された４ランクのシステムでは、４個のＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲビットが用いられて良い。
【００２４】
ランク０へアドレス指定されたＲＥＡＤコマンドでは、延期された読み出し処理は、可変待ち時間読み出し処理３００及び図４及び５に示されたものと同様の処理に帰着する。
【００２５】
動作６０５で、ＭＣは、ＭＣと連動する多数のランク付けされたＤＲＡＭ素子の１つへのＲＥＡＤコマンドを開始する。ＭＣは、ＭＣと複数のランク付けされたＤＲＡＭ素子との間、及び複数のランク付けされたＤＲＡＭ素子間の全てのタイミング及び動作の開始を制御する。開始されたＲＥＡＤコマンドは、データが読み出されるべきランク付けされたＤＲＡＭ素子のアドレスを有する。
【００２６】
動作６１０で、ＲＥＡＤコマンドは、ＭＣから当該ＭＣと連動する複数のランク付けされたＤＲＡＭ素子へ送信される。動作６１５で、ＲＥＡＤコマンドは、ＭＣから複数のランク付けされたＤＲＡＭ素子を通じ、ＲＥＡＤコマンドによりアドレス指定されたＤＲＡＭ素子へ伝搬される。
【００２７】
動作６２０で、アドレス指定されたランク付けされたＤＲＡＭ素子から読み出したデータは、当該ＤＲＡＭ素子とＭＣとの間にある複数のランク付けされたＤＲＡＭ素子を通じ、ＭＣへ伝搬される。ＲＥＡＤコマンドが例えばランク２へ発行された場合、ＭＣはランク（Ｎ＝２）とランク（Ｎ−１＝２−１＝１）との間のデータ経路のみをＲＥＡＤコマンドに対し割り当てる。ランク１で受信された読み出しデータは、ＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲコマンドがランク１に対しアサートされるまで、ランク１のＤＲＡＭ素子と関連付けられたローカル・バッファーに格納される。ランク１のＤＲＡＭ素子の対応するＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲがＭＣによりアサートされた場合、ランク１のＤＲＡＭ素子のローカル・バッファー内の読み出しデータは、ランク（Ｎ−１＝１−１＝０）へ駆動され、そしてＭＣに到達するまで同様である。
【００２８】
示されたように、可変待ち時間読み出し処理３００に関連付けられた書き込み制限は除去され、またターンアラウンド遅延は簡略化される。留意すべき点は、処理６００が、ＭＣに到達するまで、要求された読み出しデータを対応するランク付けされたＤＲＡＭ素子のバッファーからバッファーへ移動するための追加情報であるＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲビットのコストも有することである。ＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲビット７１２、７１７、及び７１９は、処理６００で用いられる追加ビットを説明するため、タイミング図７１０、７１５、及び７２０に示される。
【００２９】
いくつかの実施例では、複数の未処理のＲＥＡＤ動作は、ＤＲＡＭ素子毎に複数の記憶素子を用い対応されて良い。複数の未処理のＲＥＡＤは、先入れ先出し（ＦＩＦＯ）方式で処理されて良い。例えば、あるランクがＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲのアサートを受信した場合、当該ランクは当該ランクの関連する最初のデータ・バッファーをデータ信号に移動させ、そして残りのデータを上位にずらす。あるランクが如何なる格納されたデータも有さない場合、ＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲコのアサートは明示されない。
【００３０】
図８は、本発明のいくつかの実施例による、ローカル・バッファーを有するＤＲＡＭ素子のいくつかの実施例を実施するために用いられ得る回路の概略図の例である。回路８００は、ＲＥＡＤ  ＦＩＦＯバッファー８０５、及び２つのデータ・マルチプレクサー８１０、８１５を有する。回路８００は、ＲＥＡＤ  ＦＩＦＯ８０５への参照をバイパスするバイパス選択肢を有する。バイパス選択肢は、ＤＲＡＭから直接にデータを読み出す、マルチプレクサー８１５の入力により示される。ＲＥＡＤ  ＦＩＦＯ８０５が空の場合、ＥＮＡＢＬＥ  ＲＥＡＤ  ＢＵＦＦＥＲはアサートされ、そしてデータが次のランクから同時に到着する。回路８００の動作は、以下の表１を参照することにより一層理解される。
【００３１】
【表１】
2008544424.tif 000003
図９は本発明のいくつかの実施例による処理９００のフロー図の例である。処理９００は、図１０のタイミング図１０００を参照することにより一層理解される。処理９００は書き込みの経験を対象とする。データ信号は、ＭＣからのＷＲＩＴＥコマンドに対しアドレス指定されたランク付けされたＤＲＡＭ素子に割り当てられる。例えば、ランク３のＤＲＡＭ素子にアドレス指定されたＷＲＩＴＥコマンドは、全ての介在するランク（つまり、ランク０、１、及び２）のデータ信号を予約する。
【００３２】
動作９０５で、ＭＣは、ＭＣと連動する多数のランク付けされたＤＲＡＭ素子の１つへのＷＲＩＴＥコマンドを開始する。ＭＣは、ＭＣと複数のランク付けされたＤＲＡＭ素子との間、及び複数のランク付けされたＤＲＡＭ素子間の全てのタイミング及び動作の開始を制御する。開始されたＷＲＩＴＥコマンドは、データが書き込まれるべき１つのランク付けされたＤＲＡＭ素子のアドレスを有する。
【００３３】
動作９１０で、ＷＲＩＴＥコマンドは、ＭＣから当該ＭＣと連動する複数のランク付けされたＤＲＡＭ素子へ送信される。動作９１５で、ＷＲＩＴＥコマンドは、ＭＣから複数のランク付けされたＤＲＡＭ素子を通じ、ＷＲＩＴＥコマンドによりアドレス指定されたＤＲＡＭ素子へ伝搬される。ＷＲＩＴＥコマンドと関連付けられたデータは、固定単位数だけ遅延されて良い。ＭＣは、複数のランク付けされたＤＲＡＭ素子の伝搬を通じるデータ経路を管理する。
【００３４】
動作９２０で、アドレス指定されたランク付けされたＤＲＡＭ素子へのＷＲＩＴＥデータは、ＭＣから、複数のランク付けされたＤＲＡＭ素子を通じ、アドレス指定されたＤＲＡＭ素子へ伝搬される。要求されたデータをアドレス指定されたランク付けされたＤＲＡＭ素子へ書き込むことに関連付けられた待ち時間は、ＷＲＩＴＥ動作で横切った複数のランク付けされたＤＲＡＭ素子に対し均一な固定遅延に基づく。
【００３５】
データ接続へのＷＲＩＴＥは、ＲＥＡＤが先に完了することを妨げる。図１１は、ＷＲＩＴＥコマンド動作に接続全体を割り当てることの影響を示す。示されるように、ＷＲＩＴＥコマンドと書き込みデータとの間には固定遅延がある。また、ターンアラウンド（ＴＡ）による時間遅延、及び他のコマンドを犠牲にしてＷＲＩＴＥコマンドを完了するために必要な時間期間（Ｎｏ  Ｒｅｃｅｉｖｅ）が示される。
【００３６】
図１２は本発明のいくつかの実施例のフロー図の例である。処理１２は、図１３のタイミング図１３００を参照することにより一層理解される。処理１２は通知された書き込み処理を対象とする。通信接続全体の割り当ては、コンピューター・システム内で生成される所与の多くの要求を実施するには困難である。通知された書き込み処理１２００は、ＭＣと複数のランク付けされたＤＲＡＭ素子との間の接続を効率的に管理し得る部分にＷＲＩＴＥ動作を分割することにより、この困難を解決する。
【００３７】
通知された書き込み処理１２００は、ＷＲＩＴＥコマンド及びデータ・ビットに加え、実施時にコマンド・ビットを用いて良い。追加コマンド・ビットは、複数のランク付けされたＤＲＡＭ素子のそれぞれに関連付けられたローカル・バッファー記憶装置へのＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲコマンドを表して良い。ＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲコマンド・ビットは、ＭＣに、各ランク付けされたＤＲＡＭ素子の内部に保持されたローカル記憶装置であるＤＲＡＭバッファーを管理する機構を提供する。アサートされたＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲコマンドは、ランク（Ｎ）のＤＲＡＭ素子乃至ランク（Ｎ＋１）のＤＲＡＭ素子により接続が駆動されることを可能にする。アサートされたＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲコマンドは、ＭＣにより制御され、例えば、書き込みデータをアドレス指定されたＤＲＡＭ素子へ伝搬する処理で、ランク２のＤＲＡＭ素子（例えば、ＤＲＡＭ素子２２０）にランク３のＤＲＡＭ素子（例えば、ＤＲＡＭ素子２２５）へデータを駆動するよう割り当てて良い。本願明細書に示された４ランクのシステムでは、４個のＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲビットが用いられて良い。データは処理９００と同様の方法でランク０に書き込まれる。しかしながら、データは、ランク０にアドレス指定されない場合には書き込まれなくて良く、又はランク０にアドレス指定された場合にはＤＲＡＭ素子に書き込まれて良い。
【００３８】
動作１２０５で、ＭＣは、ＭＣと連動する多数のランク付けされたＤＲＡＭ素子の１つへのＷＲＩＴＥコマンドを開始する。ＭＣは、ＭＣと複数のランク付けされたＤＲＡＭ素子との間、及び複数のランク付けされたＤＲＡＭ素子間の全てのタイミング及び動作の開始を制御する。開始されたＷＲＩＴＥコマンドは、データが書き込まれるべき１つのランク付けされたＤＲＡＭ素子のアドレスを有する。
【００３９】
動作１２１０で、ＷＲＩＴＥコマンドは、ＭＣから当該ＭＣと連動する複数のランク付けされたＤＲＡＭ素子へ送信される。動作１２１５で、ＷＲＩＴＥコマンドは、ＭＣから複数のランク付けされたＤＲＡＭ素子を通じ、ＷＲＩＴＥコマンドによりアドレス指定されたＤＲＡＭ素子へ伝搬される。
【００４０】
動作１２２０で、アドレス指定されたランク付けされたＤＲＡＭ素子へのＷＲＩＴＥデータは、ＭＣから、複数のランク付けされたＤＲＡＭ素子を通じ、アドレス指定されたＤＲＡＭ素子へ伝搬される。ＷＲＩＴＥコマンドが例えばランク２へ発行された場合、ＭＣはＭＣとランク０との間のデータ経路のみをＷＲＩＴＥコマンドに対し割り当てる。ランク０で受信した書き込みデータは、ＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲコマンドがランク０に対しアサートされるまで、ランク０のＤＲＡＭ素子と関連付けられたローカル・バッファーに格納される。ランク０のＤＲＡＭ素子の対応するＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲがＭＣによりアサートされた場合、ランク０のＤＲＡＭ素子のローカル・バッファー内の書き込みデータは、ランク（Ｎ＋１＝０＋１＝１）へ駆動され、そしてアドレス指定されたランクに到達するまで同様である。従って、通知された書き込み処理のための記憶は、ＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲビットと共に渡される全てのランク及びアドレス情報のための記憶を含む。
【００４１】
図１３００に示されるように、通知された書き込み処理と関連付けられた書き込み制限は、図１０の書き込み処理の通過と関連付けられた書き込み制限よりも複雑でない。留意すべき点は、処理１３００が、アドレス指定されたＤＲＡＭ素子に到達するまで、要求された読み出しデータを対応するランク付けされたＤＲＡＭ素子のバッファーからバッファーへ移動するための追加情報であるＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲビットのコストも有することである。
【００４２】
いくつかの実施例では、複数の未処理のＷＲＩＴＥ動作は、ＤＲＡＭ素子毎に複数の記憶素子を用い対応されて良い。複数の未処理のＷＲＩＴＥは、先入れ先出し（ＦＩＦＯ）方式で処理されて良い。例えば、あるランクがＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲのアサートを受信した場合、当該ランクは当該ランクの関連する最初のデータ・バッファーをデータ信号に移動させ、そして残りのデータを上位にずらす。あるランクが如何なる格納されたデータも有さない場合、ＥＮＡＢＬＥ  ＷＲＩＴＥ  ＢＵＦＦＥＲコのアサートは、バイパス動作を起動する。
【００４３】
図１４は、本発明のいくつかの実施例による、ローカル・バッファーを有するＤＲＡＭ素子のいくつかの実施例を実施するために用いられ得る回路の概略図の例である。回路１４００は、ＷＲＩＴＥ  ＦＩＦＯバッファー１４０５、及びデータ・マルチプレクサー１４１０を有する。回路８００は、ＷＲＩＴＥ  ＦＩＦＯへの参照をバイパスするバイパス選択肢を有する。バイパス選択肢は、「ＷＩＲＴＥ  ＢＵＦＦＥＲ  ＥＭＰＴＹ」と付されたマルチプレクサー１４１０の入力により示される。ＷＩＲＴＥ  ＢＵＦＦＥＲ  ＥＭＰＴＹ信号がマルチプレクサー１４１０により受信される例では、データ出力は、進行中のＤＲＡＭ素子又はＭＣからＤＲＡＭへ提供される書き込みデータである。
【００４４】
本開示は、本発明の特定の例である実施例に関連して説明された。しかしながら、特許請求の範囲に記載された広範な精神及び範囲から逸脱することなく、これら実施例に種々の修正及び変更がなされ得ることが明らかである。
【図面の簡単な説明】
【００４５】
【図１】本発明のいくつかの実施例によるシステムのブロック図の例である。
【図２】本発明のいくつかの実施例による装置の例である。
【図３】本発明のいくつかの実施例によるフロー図の例である。
【図４】本発明のいくつかの実施例によるタイミング図の例である。
【図５】本発明のいくつかの実施例によるタイミング図の例である。
【図６】本発明のいくつかの実施例によるフロー図の例である。
【図７】本発明のいくつかの実施例によるタイミング図の例である。
【図８】本発明のいくつかの実施例による概略図である。
【図９】本発明のいくつかの実施例によるフロー図の例である。
【図１０】本発明のいくつかの実施例によるタイミング図の例である。
【図１１】本発明のいくつかの実施例によるタイミング図の例である。
【図１２】本発明のいくつかの実施例によるフロー図の例である。
【図１３】本発明のいくつかの実施例による概略図の例である。
【図１４】本発明のいくつかの実施例による概略図である。
【図１】
2008544424.tif 000004
【図２】
2008544424.tif 000005
【図３】
2008544424.tif 000006
【図４】
2008544424.tif 000007
【図５】
2008544424.tif 000008
【図６】
2008544424.tif 000009
【図７】
2008544424.tif 000010
【図８】
2008544424.tif 000011
【図９】
2008544424.tif 000012
【図１０】
2008544424.tif 000013
【図１１】
2008544424.tif 000014
【図１２】
2008544424.tif 000015
【図１３】
2008544424.tif 000016
【図１４】
2008544424.tif 000017
【国際調査報告】
2008544424.tif 000018
2008544424.tif 000019