(57)【要約】【課題】非ＤＲＡＭインジケータ及びＤＲＡＭアレイ内に格納されていないデータにアクセスする方法【解決手段】  ＳＤＲＡＭモジュールのＤＲＡＭアレイに格納されていないデータ、例えば温度センサーの出力、は、前記ＤＲＡＭアレイ内のデータに向けられたＳＤＲＡＭ読み出し及び書き込みサイクルとともに継ぎ目なしに散在されている同期読み出しサイクルにおいて前記ＳＤＲＡＭから読み出される。ＤＲＡＭアレイに格納されていないデータの場合における非ＤＲＡＭインジケータを含む制御情報が、全読み出しサイクルに関して維持される。ＤＲＡＭアレイに格納されている戻されたデータ及びＤＲＡＭアレイに格納されていないデータが、まとめてバッファリングされる。読み出しデータを前記バッファから抽出時には、ＤＲＡＭアレイに格納されていないデータは、前記非ＤＲＡＭインジケータによって識別され、前記コントローラ内の回路に向けられる。前記ＤＲＡＭアレイに格納されていないデータが前記ＳＤＲＡＭダイの温度を示すときには、前記コントローラは、前記温度に応じてリフレッシュ速度を調整することができる。【選択図】図３
2008547151.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のＳＤＲＡＭモジュールを制御する方法であって、
ＳＤＲＡＭモジュールのＤＲＡＭアレイに格納されていないデータにアクセスするために前記ＳＤＲＡＭモジュールに対して１つ以上の同期読み出しサイクルを実行することと、
ＤＲＡＭアレイに格納されていないデータに関する各読み出しサイクルを非ＤＲＡＭインジケータと関連づけることと、
ＤＲＡＭアレイに格納されていない前記データがＳＤＲＡＭモジュールから受け取られた後に、前記非ＤＲＡＭインジケータに応じてＤＲＡＭアレイに格納されていない前記データを識別すること、とを具備する、方法。
【請求項２】
ＳＤＲＡＭモジュールのＤＲＡＭアレイに格納されたデータにアクセスするために前記ＳＤＲＡＭモジュールに対して１つ以上の読み出しサイクルを実行することをさらに具備する請求項１に記載の方法。
【請求項３】
ＤＲＡＭアレイに格納されていない前記受け取られたデータをＤＲＡＭアレイに格納された前記受け取られたデータとともにバッファリングすることをさらに具備する請求項２に記載の方法。
【請求項４】
ＤＲＡＭアレイに格納されていない前記データを抽出することは、ＤＲＡＭアレイに格納されていない前記データを、ＤＲＡＭアレイに格納されたデータ及びＤＲＡＭアレイに格納されていないデータの両方を含むバッファから抽出することを具備する請求項３に記載の方法。
【請求項５】
ＤＲＡＭアレイに格納されたデータを要求中のマスターデバイスに転送することと、ＤＲＡＭアレイに格納されていないデータをマスターデバイスに転送しないこと、とをさらに具備する請求項４に記載の方法。
【請求項６】
ＤＲＡＭメモリに格納されていない前記データに応じて前記ＳＤＲＡＭモジュールのうちの１つ以上がリフレッシュされる速度を変更することをさらに具備する請求項５に記載の方法。
【請求項７】
各読み出しサイクルと関連づけられた制御情報を維持することをさらに具備する請求項３に記載の方法。
【請求項８】
前記制御情報は、読み出しバースト長を含む請求項７に記載の方法。
【請求項９】
ＤＲＡＭアレイに格納されたデータに向けられた読み出しサイクルと関連づけられた前記制御情報は、要求中のマスターデバイスの識別を含む請求項７に記載の方法。
【請求項１０】
ＤＲＡＭアレイに格納されていないデータに向けられた読み出しサイクルと関連づけられた前記制御情報は、前記非ＤＲＡＭインジケータを含む請求項７に記載の方法。
【請求項１１】
ＳＤＲＡＭメモリモジュールから読み出されたデータ及び前記制御情報は、ＦＩＦＯにおいて各々バッファリングされる請求項１０記載の方法。
【請求項１２】
読み出しデータＦＩＦＯ及び制御情報ＦＩＦＯを同時にポッピングすることをさらに具備する請求項１１に記載の方法。
【請求項１３】
前記非ＤＲＡＭインジケータに応じてＤＲＡＭアレイに格納されていない前記データを識別することは、対応するポッピングされた制御情報が非ＤＲＡＭインジケータを含む場合はポッピングされた読み出しデータをＤＲＡＭアレイに格納されていないデータとして識別することを具備する請求項１２に記載の方法。
【請求項１４】
前記非ＤＲＡＭインジケータは、単一のビットを具備する請求項１に記載の方法。
【請求項１５】
前記非ＤＲＡＭインジケータは、複数のビットを具備し、前記非ＤＲＡＭインジケータビットの前記符号化は、ＤＲＡＭアレイに格納されていない前記関連づけられたデータが複数のメモリモジュールのうちのいずれから読み出されたかを示す請求項１に記載の方法。
【請求項１６】
ＳＤＲＡＭモジュールのＤＲＡＭアレイに格納されていないデータにアクセスするために前記ＳＤＲＡＭモジュールに対して１つ以上の読み出しサイクルを実行することは、前記ＳＤＲＡＭメモリモジュール上の温度検知回路に向けられた読み出しサイクルを定期的に実行することを具備する請求項１に記載の方法。
【請求項１７】
温度検知回路に向けられた読み出しサイクルを実行する前記期間は、プログラミング可能なカウンタによって決定される請求項１６に記載の方法。
【請求項１８】
前記ＳＤＲＡＭメモリモジュール上の温度検知回路に向けられた読み出しサイクルを実行することは、ソフトウェアコマンドに応じて行われる請求項１６に記載の方法。
【請求項１９】
前記メモリモジュールの前記温度に応じてリフレッシュ速度を調整することをさらに具備する請求項１６に記載の方法。
【請求項２０】
同期読み出しサイクルをメモリモジュールに対して発行するために動作可能なメモリコントローラであって、前記同期読み出しサイクルは、ＤＲＡＭアレイに格納されたデータ及びＤＲＡＭアレイに格納されていないデータに向けられ、
ＤＲＡＭアレイに格納された受け取られたデータ及びＤＲＡＭアレイに格納されていないデータをバッファリングするために動作可能な読み出しデータバッファと、
各同期読み出しサイクルと関連づけられた制御情報をバッファリングするために動作可能な読み出し制御バッファであって、前記情報は、ＤＲＡＭアレイに格納されていないデータに向けられた読み出しサイクルの場合は非ＤＲＡＭインジケータを含む読み出し制御バッファと、
前記読み出しデータバッファを制御し、さらに前記ＤＲＡＭインジケータに応じてＤＲＡＭアレイに格納されていないデータを識別して前記読み出しデータバッファから抽出するために動作可能な読み出し応答論理と、を具備する、メモリコントローラ。
【請求項２１】
前記読み出しデータバッファ及び読み出し制御バッファは、ＦＩＦＯである請求項２０に記載のコントローラ。
【請求項２２】
前記読み出しデータＦＩＦＯ及び読み出し制御ＦＩＦＯは、前記読み出し応答論理によって同時にポッピングされる請求項２１に記載のコントローラ。
【請求項２３】
前記非ＤＲＡＭインジケータは、単一のビットを具備する請求項２１に記載のコントローラ。
【請求項２４】
前記非ＤＲＡＭインジケータは、複数のビットを具備し、前記非ＤＲＡＭビットを前記符号化することは、ＤＲＡＭアレイに格納されていない前記関連づけられたデータが複数のメモリモジュールのうちのいずれから読み出されたかを示す請求項２１に記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、メモリ分野に関するものである。本発明は、より具体的には、ＤＲＡＭアレイに格納されていないデータをＳＤＲＡＭから読み出す効率的な方法に関するものである。
【背景技術】
【０００２】
携帯型電子デバイスは、現代生活においてあまねく存在する手回り品になっている。携帯型電子デバイスに関する絶え間のない２つの厳しい要求は、機能の向上及びよりいっそうの小型化である。機能向上は、より高い演算能力とより多くのメモリを要求する。小型の電池ほど格納できる電力及び提供できる電力が少ないため、携帯型電子デバイスの小型化は、電力消費量が重要である。従って、携帯型電子デバイスにとっては、性能を向上させてさらに電力消費量を低減させる進歩が有利である。
【０００３】
ほとんどの携帯型電子デバイスは、プロセッサ又はその他のコントローラに関する命令及びデータを格納するためのダイナミックランダムアクセスメモリ（ＤＲＡＭ）を含む。ＤＲＡＭは、利用可能なソリッドステートメモリ技術の中で対費用効果が最も高い技術である。ビット当たりの価格は、ディスクドライブ等の大量記憶技術のほうが低い一方で、大量記憶装置は、アクセスレーテンシーが高く、電力消費量が多く、衝撃又は振動による影響度が高いため、携帯型電子デバイスの多くの用途においては用いられない。
【０００４】
同期ＤＲＡＭ（ＳＤＲＡＭ）は、すべての制御信号及びデータ転送サイクルをクロックエッジに整合させることによって、従来のＤＲＡＭよりも向上された性能及び単純化されたインタフェース設計の両方を提供する。ダブルデータレート（ＤＤＲ）ＳＤＲＡＭは、クロックの立ち上がりエッジ及び立ち下がりエッジの両方におけるデータ転送を可能にし、それでもより高い性能を提供する。
【０００５】
ほとんどのＳＤＲＡＭモジュールは、ＣＡＳレーテンシー、バースト長等の構成可能なパラメータを格納するためのモードレジスタを含む。ＳＤＲＡＭ技術の複雑さが増して構成可能性が向上するのに応じて、多くのＳＤＲＡＭモジュールは、遅延ロックループ（ＤＬＬ）イネーブル、駆動強度等の追加の構成可能なパラメータを格納するための拡張モードレジスタを追加した。モードレジスタ及び拡張モードレジスタは両方とも書き込み専用である。すなわち、コントローラがこれらのレジスタの内容を読み出すための装備はない。モードレジスタ及び拡張モードレジスタの導入に伴い、ＤＲＡＭモジュールは、ＤＲＡＭアレイに書き込まれた又はＤＲＡＭアレイから読み出されたデータ以外の情報を初めて格納した。その結果、新たなデータ転送動作が要求された。
【０００６】
多くのＳＤＲＡＭモジュールは、希望されるパラメータをレジスタにローディングするためのモードレジスタセット（ＭＲＳ）動作及び拡張モードレジスタセット（ＥＭＲＳ）動作を含む。これらの動作は、ＣＳ、ＲＡＳ、ＣＡＳ、及びＷＥ制御信号を同時に駆動してロー状態にし、バンクアドレスビットを有するＭＲＳとＥＭＲＳとの間で選択し、選択されたレジスタに書き込むべき情報をアドレスラインＡ０乃至Ａ１１で提供することによって共通して実装される。ほとんどの実装においては、ＭＲＳ又はＥＭＲＳコマンド時においてはすべてのＤＲＡＭバンクが非アクティブでなければならず、例えば６クロックサイクル等の指定された最短継続期間中はどのような追加動作もＳＤＲＡＭモジュールに向けられない。モードレジスタ及び拡張モードレジスタの性質に起因して、これらのレジスタは初期設定時に書き込まれて絶対に変更されないため、これらの制約はＳＤＲＡＭの性能に対して悪影響を与えない。
【０００７】
第三世代グラフィックスダブルデータレート産業仕様（ＧＤＤＲ３）では、ＤＲＡＭアレイに格納されたデータ以外の情報をＳＤＲＡＭモジュールから読み出す能力を提供する。一オプションとして、ＥＭＲＳ動作中に、ＳＤＲＡＭは、ベンダーコード及びバージョン番号をデータバスで出力することができる（ＥＭＲＳ書き込み情報はアドレスバスで送信される）。ＥＲＭＳ動作の全制約（全バンクがアイドル状態であり、さらに６クロックサイクル等の最小限の非アクティブ継続期間が後続する）を遵守しなければならない。情報（ベンダーＩＤ及びバージョン番号）は静的な性質を有することに起因して、例えば初期設定中に１回読み出すだけでよく、ＥＭＲＳ動作に関する制限は性能に対して有意な影響を与えない。
【０００８】
ＤＲＡＭ動作の基本的な側面は、データ状態を保存するために各ビット位置においてデータを格納する容量性電荷を定期的に更新しなければならないことである。ＤＲＡＭアレイは、ロー別にリフレッシュされ、一部のＳＤＲＡＭモジュールは、複数のＤＲＡＭバンクにおける同じローを同時にリフレッシュすることができる。ＤＲＡＭアレイ内の各ローは、指定されたリフレッシュ期間内にリフレッシュしなければならない。ＤＲＡＭローは、１つのリフレッシュ期間ごとに１回順次リフレッシュすることができ、バーストリフレッシュと呼ばれる。しかしながら、この方法は、全ローを通じてサイクルするために必要な時間だけＤＲＡＭアレイにアクセスするのを妨げ、有意な性能劣化をもたらす。代替として、各ローに向けられたリフレッシュサイクルは、リフレッシュ期間全体に均一に分散させ、読み出し及び書き込みデータ転送とともに散在させることができる。このリフレッシュは、分散リフレッシュと呼ばれる。分散リフレッシュは、性能上の犠牲がより少ないため、より一般的に実装されている。
【０００９】
分散リフレッシュ動作において要求される総リフレッシュ期間、従ってリフレッシュサイクルの間隔は、ＤＲＡＭアレイダイの温度に依存する。一般的な経験則では、ＤＲＡＭアレイダイ温度が１０℃上昇するごとにリフレッシュ速度を２倍にしなければならない。ＳＤＲＡＭモジュールに関して指定されたリフレッシュ期間は、典型的には、ＤＲＡＭが予想される最高動作温度であるときにＤＲＡＭによって要求されるリフレッシュ期間である。従って、ＤＲＡＭアレイダイがそれよりも低い温度になるたびに、最長リフレッシュ期間がより長くなり、分散リフレッシュサイクルの間隔を広げることができ、それによってＤＲＡＭ読み出しアクセス及び書き込みアクセスへの影響を低減させることができる。このことは、不要なリフレッシュ活動を排除することによってプロセッサの性能を向上させさらに電力消費量を低減させることになる。
【００１０】
ＤＲＡＭアレイに格納されていないデータにＳＤＲＡＭモジュールからアクセスするための同期読み出しサイクルは、「通常の」ＳＤＲＡＭデータ、すなわち、ＳＤＲＡＭモジュールのＤＲＡＭアレイに格納されたデータ、にアクセスするための読み出し及び書き込みサイクルと継ぎ目なしに一体化することができる。ＤＲＡＭアレイに格納されていないデータにアクセスするために同期読み出しサイクルを用いることで、ＳＤＲＡＭモジュールの温度センサーの出力を、ＳＤＲＡＭモジュールのＤＲＡＭアレイに格納されたデータへのシステムアクセスに対して最小限の影響を与えるだけで読み出すことができる。例えば、ＧＤＤＳ３プロトコルを通じて拡張モードレジスタデータにアクセスする際の場合のように、全バンクを閉じる必要がなく、読み出しサイクル後にＳＤＲＡＭアクセスに対して待機期間が強いられない。
【００１１】
ＤＲＡＭアレイに格納されていないデータにアクセスするための同期読み取りサイクルは、タイミング及びシーケンスの点で、ＤＲＡＭアレイに格納されているデータにアクセスするための同期読み出しサイクルと実質的に類似するため、ＤＲＡＭアレイに格納されていない戻されたデータの識別及び抽出には問題がある。ＳＤＲＡＭコントローラは、パイプライン化された形でしばしば機能し、データバースト要求を出し、のちに（すなわち、モードレジスタのＣＡＳレーテンシーフィールドによって決定された遅延後に）データを受け取る。さらに、多くのＳＤＲＡＭコントローラは、ＦＩＦＯ又はその他のバッファ内の複数の読み出しサイクルからのデータをバッファリングし、データがコントローラによってＳＤＲＡＭモジュールから取得されたときからのさらなる遅延後に要求中のデバイスがデータを利用可能にすることによってメモリ読み出し動作をさらにパイプライン化する。
【００１２】
ほとんどの場合は、ＤＲＡＭアレイに格納されていないデータに向けられた読み出し動作は、システムモジュール（例えば、バス又はクロスバーインターコネクト内のマスターデバイス）によって要求されず、従ってＳＤＲＡＭコントローラによって転送されない。むしろ、ＤＲＡＭアレイに格納されていないデータは、ＳＤＲＡＭコントローラ自体による使用のために、すなわち、リフレッシュ速度を調整するための温度読み取り値を入手する、ＳＤＲＡＭモジュール識別を入手してタイミングパラメータを調整する、モードレジスタ又は拡張モードレジスタを読んでこれらのレジスタが適切に設定されていることを検証する等のために、ＳＤＲＡＭコントローラによってしばしば読み出される。従って、ＤＲＡＭアレイに格納されていない読み出しデータは、識別し、ＤＲＡＭアレイに格納されていて要求中のマスターデバイスに転送される読み出しデータストリームから抽出しなければならない。
【００１３】
ＤＲＡＭアレイに格納されていない読み出しデータを識別及び抽出する１つの手法は、ＳＤＲＡＭメモリモジュールからコントローラへの転送時点で直ちにデータを「トラップ」することである。しかしながら、この手法の場合は、数多くのメモリコントローラの重層パイプライン化されたアーキテクチャに起因して、コントローラは、ＤＲＡＭアレイに格納されていないデータに向けられたメモリアクセスサイクルを発行した時点で、前記データが戻されるまで「通常の」ＳＤＲＡＭ活動を停止させる必要があるため、性能に対して悪影響を与えることになる。最高の性能を確保するために、ＤＲＡＭアレイに格納されていないデータに向けられた読み出しサイクルが同期的な性質を有することは、これらの読み出しサイクルを通常の読み出しアクセスと継ぎ目なしに混合させることによって完全に利用すべきである。この利用は、例えばメモリコントローラが要求中のマスターデバイスに送るために読み出しデータをバッファから抽出するときに、ＤＲＡＭアレイに格納されていないデータをパイプラインのさらに奥深くまで識別して抽出するためのメカニズムを要求する。
【発明の開示】
【発明の概要】
【００１４】
１つ以上の実施形態により、ＳＤＲＡＭモジュールのＤＲＡＭアレイに格納されていないデータ、例えば温度センサーの出力、は、前記ＤＲＡＭアレイ内のデータに向けられたＳＤＲＡＭ読み出し及び書き込みサイクルとともに継ぎ目なしに分散されている同期読み出しサイクルにおいて前記ＳＤＲＡＭから読み出される。制御情報は、ＤＲＡＭアレイに格納されていないデータの場合は非ＤＲＡＭインジケータを含み、全読み出しサイクルに関して維持される。ＤＲＡＭアレイに格納されている戻されたデータ及びＤＲＡＭアレイに格納されていないデータがまとめてバッファリングされる。読み出しデータをバッファから抽出時には、ＤＲＡＭアレイに格納されていないデータは、前記非ＤＲＡＭインジケータによって識別され、コントローラ内の回路に送られる。前記ＤＲＡＭアレイに格納されていないデータがＳＤＲＡＭダイの温度を示すときには、前記コントローラは、前記温度に応じてリフレッシュ速度を調整することができる。
【００１５】
一実施形態は、１つ以上のＳＤＲＡＭモジュールを制御する方法に関するものである。ＳＤＲＡＭモジュールのＤＲＡＭアレイに格納されていないデータにアクセスするために前記ＳＤＲＡＭモジュールに向けられた１つ以上のメモリアクセスサイクルが実行される。ＤＲＡＭアレイに格納されていない前記データに関する各メモリアクセスサイクルは、非ＤＲＡＭデータ識別子と関連づけられる。ＤＲＡＭアレイに格納されていない前記データがＳＤＲＡＭモジュールから受け取られた後に、前記非ＤＲＡＭデータ識別子に応じてＤＲＡＭアレイに格納されていない前記データが抽出される。
【００１６】
他の実施形態は、メモリモジュールに同期読み出しサイクルを発行するために動作可能なメモリコントローラであって、前記同期読み出しサイクルは、ＤＲＡＭアレイに格納されているデータ及びＤＲＡＭアレイに格納されていないデータに向けられたメモリコントローラ、に関するものである。前記コントローラは、ＤＲＡＭアレイに格納されている受け取られたデータ及びＤＲＡＭアレイに格納されていないデータをバッファリングするために動作可能な読み出しデータバッファを含む。前記コントローラは、各同期読み出しサイクルと関連づけられた制御情報であって、ＤＲＡＭアレイに格納されていないデータに向けられた読み出しサイクルの場合は非ＤＲＡＭインジケータを含む情報、をバッファリングするために動作可能な読み出し制御バッファをさらに含む。さらに、前記コントローラは、前記読み出しデータバッファを制御し、さらに前記非ＤＲＡＭインジケータに応じてＤＲＡＭアレイに格納されていないデータを識別して前記読み出しデータバッファから抽出するために動作可能な読み出し応答論理を含む。
【発明を実施するための最良の形態】
【００１７】
機能ユニット間でのデータ転送は、あらゆるコンピュータシステムの基本動作である。ほとんどのコンピュータシステムは、１つ以上のマスターデバイス、例えば、プロセッサ、コプロセッサ、ダイレクトメモリアクセス（ＤＭＡ）エンジン、バスブリッジ、グラフィックスエンジン等を含む。マスターデバイスは、スレーブデバイスへの及び／又はスレーブデバイスからのデータ転送のためにシステムバス又はインターコネクトにおけるデータ転送動作を開始させることができるデバイスである。スレーブデバイスは、例えばメモリと、ディスクドライブと、入力／出力（Ｉ／Ｏ）回路と、グラフィックスコントローラと、リアルタイムクロックと、その他の数多くの回路及びデバイスと、を含むことができ、書き込みデータを受け入れる及び／又は読み出しデータを提供することによってシステムバス上でのデータ転送動作に応じる。スレーブデバイスは、バスデータ転送動作は開始させない。
【００１８】
図１は、高性能データ転送システムであり、一般的には数字１０によって示される。スイッチマトリクス１２は、クロスバースイッチとも呼ばれ、複数のマスターデバイス１４を複数のスレーブデバイス１６に相互接続し、最も一般的な場合は、あらゆるデバイスへのアクセスを有するあらゆるマスターデバイスが存在する。例えば、図２は、スレーブ１にアクセスするマスター１、及び同時に、スレーブ０にアクセスするマスター２を描く。幾つかの実装においては、スレーブデバイス１６のうちの１つ以上は、２つ以上のマスターデバイス１４による同時アクセスを可能にする２つ以上のアドレスバスを含むことができる。
【００１９】
図２に描かれた１つの型のスレーブデバイス１６は、メモリサブシステムである。メモリスレーブデバイス１６は、コントローラ５０と、１つ以上のメモリモジュール１００と、を含む。コントローラ５０は、プロセッサと、デジタル信号プロセッサと、マイクロコントローラと、ステートマシン等と、を具備することができる。典型的実施形態においては、メモリモジュール１００は、ＳＤＲＡＭモジュール１００を具備することができる。コントローラ５０は、当業においてよく知られる制御信号クロック（ＣＬＫ）、クロックイネーブル（ＣＫＥ）、チップセレクト（ＣＳ）、ローアドレスストローブ（ＲＡＳ）、カラムアドレスストローブ（ＣＡＳ）、ライトイネーブル（ＷＥ）、及びデータ修飾子（ＤＱＭ）によってＳＤＲＡＭモジュール１００に動作を向ける。コントローラ５０は、ＳＤＲＡＭモジュール１００への複数のアドレスラインを提供し、双方向データバスがこれらの２つを接続する。ＳＤＲＡＭモジュールは、ＤＲＡＭアレイ１０４を含み、ＤＲＡＭアレイ１０４は、複数のバンク１０６に分割することができる。ＤＲＡＭアレイは、命令及びデータを格納し、コントローラ５０の指示の下で、ＳＤＲＡＭ制御回路１０８から読み出される、ＳＤＲＡＭ制御回路１０８に書き込まれる、及びＳＤＲＡＭ制御回路１０８によってリフレッシュされる。
【００２０】
ＳＤＲＡＭモジュール１００は、モードレジスタ１１０と、拡張モードレジスタ１１２と、をさらに含む。ＳＤＲＡＭモジュール１００は、ベンダーＩＤ、バージョン番号、製造日、ダイ情報等の識別情報１１４をさらに含むことができる。識別情報１１４は、レジスタに格納することができ、代替として、ダイ内にハードワイヤ接続することができる。
【００２１】
ＳＤＲＡＭモジュール１００は、ＤＲＡＭアレイ１０４の近くに配置されてＤＲＡＭアレイダイの温度を検知するために動作可能なサーミスタ１１８等の１つ以上の温度センサーを含む温度検知回路１１６をさらに含む。モードレジスタ１１０及び拡張モードレジスタ１１２の内容、ＳＤＲＡＭモジュール識別１１４及び温度センサー１１６の出力はすべて、ＳＤＲＡＭモジュール１００から読み出し可能であるがＤＲＡＭアレイ１０４には格納されていないデータの例である。
【００２２】
図３は、スレーブメモリデバイス１６の他の図であり、典型的実施形態におけるコントローラ５０の機能ブロック図を示す。コントローラ５０は、システムインターコネクト１２に実装されたアービトレーションによる決定に従い、マスターデバイス１４からの読み出しデータ及び書き込みデータ転送要求に応じる。コントローラ５０は、ステートマシン５２の制御下で、読み出し及び書き込みメモリアクセスサイクルをメモリモジュール１００に向ける。ステートマシン５２は、ＣＳ、ＲＡＳ、ＣＡＳ、ＷＥ、ＤＱＭ等の制御信号の適切なタイミング及びシーケンスを生成するようにＩ／Ｏモジュール５４に指示する。Ｉ／Ｏブロック５４は、アドレスバスにおけるメモリアドレス、及びバンク選択信号をさらに出力する。同期読み出しサイクルは、ＤＲＡＭアレイ１０４内のメモリモジュール１１０に格納されているデータ、又はＤＲＡＭアレイ１０４に格納されていないデータ（例えば、ＳＤＲＡＭモジュール１００におけるレジスタ１１０、１１２、識別情報１１４、温度センサー１１６、又はその他の非ＤＲＡＭアレイ１０４データソース）に向けることができる。さらに、メモリスレーブデバイス１６の性能を最高にするために、ＤＲＡＭアレイ１０４に格納されているデータ及びＤＲＡＭアレイ１０４に格納されていないデータに向けられた同期読み出しサイクルを継ぎ目なしに混合することができる。
【００２３】
メモリモジュール１００から戻された読み出しデータは、Ｉ／Ｏブロック５６において、ＤＱＳストローブを用いてデータバス上で取得される。次に、読み出しデータは、ＦＩＦＯ５８等のデータ格納バッファにおいてバッファリングされる。要求中のマスターデバイスに読み出しデータを適切にディスパッチするために、コントローラ５０は、読み出し制御ＦＩＦＯ６０等のバッファ内において制御情報を維持する。制御情報は、読み出しサイクルのバースト長と、ＤＲＡＭアレイ１０４に格納されたデータに向けられた読み出しサイクルの場合における要求中のマスターデバイス１４の識別と、ＤＲＡＭアレイ１０４に格納されていないデータに向けられた読み出しサイクルの場合における非ＤＲＡＭインジケータと、オプションとしての非ＤＲＡＭアドレスと、を含むことができる。読み出し制御ＦＩＦＯ６０内における制御情報の各インスタンスは、読み出しデータＦＩＦＯ５８内の読み出しデータと一意で関連づけられる。
【００２４】
コントローラ５０は、読み出しデータ及び関連する制御情報を抽出し、読み出しデータをディスパッチする読み出し応答論理６２を含む。描かれている実施形態においては、読み出し応答論理６２は、読み出しデータＦＩＦＯ５８及び読み出し制御ＦＩＦＯ６０を同時にポッピングする。読み出し応答論理６２は、読み出しデータＦＩＦＯ５８からポッピングされた読み出しデータを、読み出し制御ＦＩＦＯ６０からポッピングされた関連する制御情報に基づいてディスパッチする。ＤＲＡＭアレイ１０４に格納された読み出しデータの場合は、読み出しデータは、システムインターコネクト１２を介して、要求中のマスターデバイス１４に戻される。
【００２５】
非ＤＲＡＭインジケータの存在によって示されるように、ＤＲＡＭアレイ１０４に格納されていないデータの場合は、読み出し応答論理は、コントローラ５０内の行先に読み出しデータを向かわせる。一実施形態においては、ＤＲＡＭアレイ１０４に格納されていない読み出しデータの１つのみのソースが存在し、本明細書においてはＳＤＲＡＭ状態レジスタと呼ばれる。ＳＤＲＡＭ状態レジスタは、記憶素子を具備する実際のレジスタである必要がない。むしろ、ＳＤＲＡＭ温度検知回路１１６の出力は、ＳＤＲＡＭ状態レジスタに直接アクセスすることによって読み出すことができる。一実施形態においては、同期読み出しサイクルがＳＤＲＡＭ状態レジスタに向けられた結果として温度及びＳＤＲＡＭ識別情報１１４の両方がコントローラ５０に戻される。その他の実施形態においては、追加データを連結させてＳＤＲＡＭ状態レジスタの一部として読み出すことができる。ＳＤＲＡＭ状態レジスタの読み出しに含まれるデータにかかわらず、読み出し応答論理６２は、非ＤＲＡＭインジケータに応じて、ＳＤＲＡＭ状態レジスタデータを、ＤＲＡＭアレイ１０４に格納されていないデータとして識別する。この識別に基づき、データは、要求中のマスターデバイス１４には向けられず、コントローラ５０内の該当回路にルーティングされる。
【００２６】
ＳＤＲＡＭ温度データは、リフレッシュカウンタ及び論理回路に向けられ、ＤＲＡＭアレイ１０４ダイの現在の実際の温度に基づく最適なリフレッシュ速度を計算することができる。リフレッシュカウンタ及び論理回路６４は、リフレッシュによって要求される信号を最適な速度でステートマシン５２に送信する。この送信は、ＳＤＲＡＭモジュール１００のデータ状態を保存するためにリフレッシュサイクルが可能な限り少ない回数で起こるように間隔をあけることによってコントローラが性能を最高にして電力消費量を最低にするのを可能にする。現在の温度データを入手するため及びリフレッシュ速度の変化が保証されているかどうかを決定するためにＳＤＲＡＭ状態レジスタが読み取られる間隔は、プログラミング可能なＤＲＡＭ温度サンプルタイマー６６によって決定される。代替として、ＳＤＲＡＭ状態レジスタの読み取りは、ソフトウェアコマンドによって開始させることができる。
【００２７】
ＳＤＲＡＭ識別情報は、デバイスＩＤ６８に向けられる。コントローラ５０は、デバイスＩＤレジスタ６８において反映されているのに従い、ＳＤＲＡＭデバイスＩＤに応じて様々なインタフェースパラメータ（タイミング、初期設定手順等）を変更することができる。
【００２８】
上述される実施形態においては、単一のＳＤＲＡＭ状態レジスタは、ＤＲＡＭアレイ１０４に格納されていないデータに向けられた読み出しサイクルの唯一のターゲットを具備し、読まれたＳＤＲＡＭ状態レジスタは、温度及びＳＤＲＡＭ  ＩＤ情報の両方を戻す。他の実施形態においては、同期読み出しサイクルは、ＤＲＡＭアレイ１０４に格納されていないデータに関する複数のアドレスに向けることができる。例えば、モードレジスタ１００及び拡張モードレジスタ１１２を読むことができる。この実施形態においては、温度検知回路１１６は、ＳＤＲＡＭ識別情報１１４とは別個に読むことができる。この実施形態においては、ＤＲＡＭアレイ１０４に格納されていない異なる型のデータを区別するために、非ＤＲＡＭアドレスは、非ＤＲＡＭインジケータとともに制御情報内、例えば読み出し制御ＦＩＦＯ６０内、に格納することができる。読み出し応答論理６２は、ＤＲＡＭアレイ１０４に格納されていないデータを識別してコントローラ５０内の該当回路に向けさせる際に非ＤＲＡＭアドレスを考慮する。
【００２９】
上記の実施形態においては、非ＤＲＡＭインジケータは、制御情報における単一のビットを具備することができる。一実施形態においては、スレーブデバイス１６内の単一のコントローラ５０は、複数のＳＤＲＡＭモジュール１００を制御することができる。この場合は、各ＳＤＲＡＭモジュール１００の温度は、各ＳＤＲＡＭモジュール１００に関するリフレッシュ速度を独立して最適化するために別々にモニタリングすることができる。この実施形態においては、非ＤＲＡＭインジケータは、複数のビットを具備することができる。さらに、これらのビットの符号化は、ＤＲＡＭアレイ１０４に格納されていないデータがＳＤＲＡＭモジュール１００のうちのいずれから読み出されたかを示すことができる。この実施形態においては、リフレッシュカウンタ及び論理６４、デバイスＩＤレジスタ６８、及びその他の回路は、要求又は希望に応じて複製することができ、又は各ＳＤＲＡＭモジュール１００に関して別々の値を維持するように設計することができる。
【００３０】
１つ以上のＳＤＲＡＭモジュールを制御する方法が図４において描かれ、一般的には数字１５０によって示される。コントローラ５０は、ＤＲＡＭアレイ１０４に格納されたデータに向けられた同期の読み出し及び書き込み動作を実行する（ブロック１５２）。この実行は、当然のことであるが、通常のＳＤＲＡＭコントローラ動作であり、単一のブロック又は方法ステップとして描かれているが、実際には継続中の活動である。ステートマシン５２、又はコントローラ５０内のその他の回路は、ＤＲＡＭアレイ１０４に格納されていないデータを読み出すための信号を受信する（ブロック１５４）。この受信は、ＤＲＡＭ温度サンプルタイマー６６からの「ＤＲＡＭ温度読み出し」信号を具備することができる。代替として、ソフトウェアコマンドであることができる。コントローラ５０は、例えば（温度情報を含む可能性がある）ＳＤＲＡＭ状態レジスタを読むために、又はＤＲＡＭアレイ１０４に格納されていないデータの１つ以上の個々のソースを直接読むために、ＤＲＡＭアレイ１０４に格納されていないデータに向けられた同期読み出し動作を実行する（ブロック１５６）。ステートマシン５２は、非ＤＲＡＭインジケータを含む制御情報を生成し、該制御情報を、ＤＲＡＭアレイ１０４に格納されていないデータに向けられた読み出しサイクルと関連づける（ブロック１５８）。
【００３１】
コントローラ５０は、ＳＤＲＡＭモジュール１００によって戻された読み出しデータを受け取ってバッファリングする（ブロック１６０）。このことは、「ループ」矢印によって示されるように、継続中の活動であり、メモリインタフェースパイプライン内の初期にコントローラ５０によって発行された読み出しサイクルに応じて発生する。バッファリングされたデータが処理のために現れるのに従い、読み出し応答論理６２は、制御情報（例えば、読み出し制御ＦＩＦＯ６０においてバッファリングされた制御情報）を検査して非ＤＲＡＭインジケータの有無を確認する（ブロック６２）。読み出し応答論理６２は、非ＤＲＡＭインジケータを用いて、その制御情報と関連づけられた読み出しデータをＤＲＡＭアレイ１０４に格納されていないデータとして識別する。この識別に基づき、読み出し応答論理６２は、ＤＲＡＭアレイ１０４に格納されていた読み出しデータを（例えば制御情報内のマスターデバイスＩＤによって識別された）要求中のマスターデバイス１４にディスパッチする。読み出し応答論理６２は、ＤＲＡＭアレイ１０４に格納されていなかった読み出しデータを、コントローラ５０内の該当回路、例えば、温度データに関するリフレッシュカウンタ及び制御論理６４に向かわせる（ブロック１６４）。コントローラは、ＤＲＡＭアレイ１０４に格納されていないデータに向けられた同期の読み出し及び書き込み動作を実行する継続中の活動を続ける（ブロック１５２）。
【００３２】
各読み出しサイクルに関して非ＤＲＡＭインジケータを生成して維持されている制御情報内に格納することは、ＤＲＡＭアレイ１０４に格納されていないデータに向けられた読み出しサイクルをＤＲＡＭアレイ１０４からのデータに向けられた読み出しサイクルとともに散在させることを可能にする。ＤＲＡＭアレイ１４に格納されていないデータに向けられた読み出しサイクルを実行するために、ＤＲＡＭアレイ１０４に格納されたデータに向けられた全メモリアクセスサイクルを停止させる必要がないため、上記の可能にすることは、メモリスレーブデバイス１６の性能を最高にする。
【００３３】
「モジュール」という用語は、本明細書においては、ＤＲＡＭアレイ１０４及び制御回路１０８を含む機能上のＳＤＲＡＭユニットを表すことを目的として一般的な意味で用いられる。特に、「モジュール」という用語は、シングルインラインメモリモジュール（ＳＩＭＭ）又はデュアルインラインメモリモジュール（ＤＩＭＭ）等の、前記用語を含む産業基準識別子に制限されない。
【００３４】
本発明は、本明細書においては、本発明の特定の特長、側面及び実施形態に関して説明されているが、本発明の広範な適用範囲内において数多くの変形、修正、及びその他の実施形態が可能であり、従って、あらゆる変形、修正及び実施形態が本発明の適用範囲内にあるとみなされるべきであることが明確になるであろう。従って、本明細書の実施形態は、あらゆる側面において例示するものであって制限するものではないと解釈すべきであり、添付された請求項の意味又は同等の意味の範囲内にある全変更は、本明細書に包含されることが意図されている。
【図面の簡単な説明】
【００３５】
【図１】システムインターコネクトの機能ブロック図である。
【図２】ＳＤＲＡＭモジュールの機能ブロックを描いた、コントローラ及びＳＤＲＡＭメモリモジュールを具備するスレーブデバイスの機能ブロック図である。
【図３】コントローラの機能ブロックを描いた、コントローラ及びＳＤＲＡＭメモリモジュールを具備するスレーブデバイスの機能ブロック図である。
【図４】１つ以上のＳＤＲＡＭモジュールを制御する方法を描いた流れ図である。
【図１】
2008547151.tif 000003
【図２】
2008547151.tif 000004
【図３】
2008547151.tif 000005
【図４】
2008547151.tif 000006
【国際調査報告】
2008547151.tif 000007
2008547151.tif 000008