(57)【要約】      （修正有）【課題】コントローラーと、メモリモジュール内のリフレッシュバンクアドレスを有向自動リフレッシュ同期する。【解決手段】有向自動リフレッシュ（ＤＡＲＦ）モードにおいて、リフレッシュコマンドはコントローラーにより発行され、リフレッシュ行およびバンクアドレスはメモリモジュール内部に維持される。ＤＡＲＦモードに入ると、メモリ内部のバンクアドレスカウンターは第１の所定値にイニシャライズされる。メモリは、ＤＡＲＦコマンドに応答して現在アドレスされているバンクをリフレッシュし、所定のシーケンスでバンクアドレスカウンターをインクリメントする。コントローラーは、バンクアドレスを追跡し、メモリアクセスとリフレッシュが異なるバンクに向けられているならＤＡＲＦ動作が実行されている間１つ以上のメモリアクセスコマンドを発行してもよい。自己リフレッシュモードを抜け出すと、バンクアドレスカウンターは第２の所定値を持つ。【選択図】図１
2018137034.tif 000002
【特許請求の範囲】
【請求項１】
コントローラーにより、リフレッシュバンクアドレスをメモリモジュール内のリフレッシュバンクアドレスカウンターに同期させる方法において、
前記メモリモジュールに有向自動リフレッシュモードに入るように命令することと、
第１の所定のバンクアドレスで始まるメモリに有向自動リフレッシュサイクルを発行することと、を備えた方法。
【請求項２】
各有向自動リフレッシュサイクルを前記メモリに発行すると前記バンクアドレスをインクリメントすることをさらに備えた、請求項１の方法。
【請求項３】
有向自動リフレッシュサイクルが実行されている間にメモリアクセス動作を実行することをさらに備え、前記メモリアクセス動作は前記有向自動リフレッシュサイクルによりリフレッシュされなかったバンクにアドレスされる、請求項２の方法。
【請求項４】
前記メモリに自己リフレッシュモードに入るように指示することをさらに備え、前記自己リフレッシュモードを抜け出すと、第２の所定バンクアドレスで始まるメモリに有向自動リフレッシュサイクルを発行する、請求項１の方法。
【請求項５】
前記第２の所定バンクアドレスは固定である、請求項４の方法。
【請求項６】
前記第２の所定バンクアドレスは前記第１の所定バンクアドレスに等しい、請求項４の方法。
【請求項７】
前記第２の所定バンクアドレスはｎ＋１であり、ｎは前記自己リフレッシュモードの前に前記コントローラーにより発行された最後の有向自動リフレッシュサイクルに相当するバンクアドレスである、請求項４の方法。
【請求項８】
メモリモジュールにより複数のメモリバンクをリフレッシュする方法において、
コントローラーから同期コマンドを受理することと、
前記同期コマンドに応答してバンクリフレッシュカウンターを所定のバンクアドレスに設定することと、を備えた方法。
【請求項９】
前記コントローラーから有向自動リフレッシュコマンドを受信すると、前記アドレスメモリバンクをリフレッシュし所定の順番で前記バンクリフレッシュカウンターをインクリメントする、請求項８の方法。
【請求項１０】
前記バンクリフレッシュカウンターが前記複数のメモリバンクのすべてを循環させると、行アドレスカウンターをインクリメントする、請求項９の方法。
【請求項１１】
前記複数のメモリバンクの１つに向けられた前記コントローラーからの有向自動リフレッシュコマンドと別の前記複数のメモリバンクに向けられたメモリアクセス要求を受信すると、前記リフレッシュ動作と前記アクセス動作の両方を実行することをさらに備えた、請求項９の方法。
【請求項１２】
前記コントローラーから受信した自己リフレッシュコマンドに応答して自己リフレッシュモードに入ることと、前記コントローラーからリフレッシュコマンドを受信せずにデータを維持するのに十分なレートで前記メモリバンクをリフレッシュすることをさらに備えた、請求項８の方法。
【請求項１３】
前記バンクアドレスカウンターによりアドレスされる前記メモリバンクは前記リフレッシュコマンドを受信するとすぐにリフレッシュされる、請求項１２の方法。
【請求項１４】
前記すべてのメモリバンクは前記自己リフレッシュコマンドを受信するとすぐに同時にリフレッシュされる、請求項１２の方法。
【請求項１５】
前記自己リフレッシュモードを抜け出ると、前記バンクリフレッシュカウンターを第２の所定のバンクアドレスに設定することをさらに備えた、請求項１２の方法。
【請求項１６】
前記バンクリフレッシュカウンターを第２の所定のバンクアドレスに設定することは、連続するリフレッシュ動作を実行することと、前記バンクリフレッシュカウンターを前記第２の所定のバンクアドレスに設定するために必要に応じて前記バンクリフレッシュカウンターをインクリメントすることとを備えた、請求項１５の方法。
【請求項１７】
前記バンクリフレッシュカウンターを第２の所定のバンクアドレスに設定することは、すべてのバンクを同時にリフレッシュすることと、前記バンクリフレッシュカウンターを前記第２の所定のバンクアドレスに設定することを備えた、請求項１５の方法。
【請求項１８】
前記第２の所定のバンクアドレスは固定である、請求項１５の方法。
【請求項１９】
前記第２の所定のバンクアドレスは前記第１の所定のバンクアドレスに等しい、請求項１５の方法。
【請求項２０】
前記第２の所定のバンクアドレスはｎ＋１であり、ｎは前記自己リフレッシュモードの前に前記コントローラーから受信した最後の有向自動リフレッシュサイクルに相当するバンクアドレスである、請求項１５の方法。
【請求項２１】
電子装置において、
メモリモジュールに対してデータをリードおよびライトするように機能的に作用し、さらに、前記メモリモジュールを有向自動リフレッシュモードに設定し、有向自動リフレッシュコマンドを発行するように機能的に作用するコントローラーと、
ＤＲＡＭの少なくとも２つのバンクを有するメモリモジュールであって、各バンクはリフレッシュサイクルを実行するために別個にアドレス可能であり、前記メモリモジュールは有向自動リフレッシュモードにおいて１つのバンクに向けられたリフレッシュサイクルを実行するように機能的に作用し、前記コントローラーからのコマンドに応答して前記リフレッシュサイクルが実行されている間に異なるバンクに対してメモリアクセスサイクルを実行するように機能的に作用するメモリモジュールと、
前記メモリモジュールが有向自動リフレッシュモードに入ると、第１の所定値を持つように機能的に作用する前記メモリモジュール内のバンクアドレスカウンターと、を備えた電子装置。
【請求項２２】
前記バンクアドレスカウンターは、各有向自動リフレッシュサイクルに続いて所定のシーケンスにおいてインクリメントするようにさらに機能的に作用する、請求項２１の電子装置。
【請求項２３】
前記コントローラーはさらに前記メモリモジュールを自己リフレッシュモードに設定するように機能的に作用し、前記メモリモジュールは自己リフレッシュモードに入るとすぐにＤＲＡＭバンクに向けられたリフレッシュサイクルを実行する、請求項２１の電子装置。
【請求項２４】
前記コントローラーは、前記メモリモジュールを自己リフレッシュモードから取り除くように機能的に作用し、前記バンクアドレスカウンターは自己リフレッシュモードを抜け出すと第２の所定値を持つように機能的に作用する、請求項２３の電子装置。
【請求項２５】
前記メモリモジュールは前記ＤＲＡＭバンクに対して連続リフレッシュサイクルを実行し、自己リフレッシュモードを抜け出すと前記バンクアドレスカウンターを前記第２の所定値に設定するために必要に応じて前記バンクアドレスカウンターをインクリメントするように機能的に作用する、請求項２４の電子装置。
【請求項２６】
前記メモリモジュールはすべてのＤＲＡＭバンクを同時にリフレッシュし、自己リフレッシュモードを抜け出すと前記バンクアドレスを前記第２の所定値に設定するように機能的に作用する、請求項２４の電子装置。
【請求項２７】
前記第２の所定値は固定である、請求項２４の電子装置。
【請求項２８】
前記第２の所定バンクアドレスは前記第１の所定バンクアドレスに等しい、請求項２４の電子装置。
【請求項２９】
前記第２の所定値はｎ＋１であり、ｎは自己リフレッシュモードの前に前記コントローラーにより発行された最後の有向自動リフレッシュサイクルに相当するバンクアドレスである、請求項２４の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は一般にメモリの分野に関し、特に、有向自動リフレッシュモードにおいてコントローラーとメモリとの間のバンクアドレスを同期させるためのシステムおよび方法に関する。
【背景技術】
【０００２】
マイクロプロセッサー、デジタルシグナルプロセッサーおよび他のコントローラーは、ポータブル電子装置のような埋め込まれたアプリケーションを含む多種多様のアプリケーションにおいて計算タスクを実行する。各製品世代において、傾向は増大するメモリ並びに計算的に強力なプロセッサーを含むそのような装置の絶え間なく拡張する特徴セットと機能強化された機能性にある。ポータブル電子装置の他の傾向はかつてないほどに縮小しているフォームファクターである。この傾向の主なインパクトはコントローラー、メモリ、および装置内の他の電子機器に電力を供給するために使用されるバッテリの減少するサイズにあり、電力効率をますます重要な設計目標にさせる。従って、実行速度を増加させ電力消費を低減させるコントローラーおよび／またはメモリへの改良が望ましい。特にポータブル電子装置プロセッサーへの改良が望ましい。
【０００３】
ダイナミックランダムアクセスメモリ（ＤＲＡＭ）は、最も費用効率が高いソリッドステート、または電子のデータ記憶技術として技術的によく知られている。ＤＲＡＭは個々にアドレス可能な容量性回路をチャージまたはディスチャージすることによりバイナリデータを記憶する。高ビット密度を達成するために、それゆえビットあたりの低いコストを達成するために、このチャージを無制限に維持する回路はＤＲＡＭ技術において省略される。従って、チャージは漏れ電流により消える。ＤＲＡＭに記憶されたデータの状態を保存するために、ビット値を記憶する容量性回路は、周期的にチャージされなければならない、または「リフレッシュ」されなければならない。
【０００４】
ＤＲＡＭアレイは複数の行および列からなる、水平の長方形の２次元アレイとして一般に実施される。データビットは、行アドレスおよび行アドレスストローブ（ＲＡＳ）制御信号を供給し、続いて列アドレスおよび列アドレスストローブ（ＣＡＳ）を供給することによりアクセスされる。所定の行がアクセスされるとまたは「開かれる」と、多数のビット位置が列アドレスをインクリメントすることによりアクセスされてもよい。従って、行アドレスおよびＲＡＳ信号を供給する際の遅延は、多くの列アクセスに対して償却されてもよい。特に長いシーケンシャルなデータアクセスに対して償却されてもよい。この特徴は、技術的に知られているように、高速ページモード（ＦＰＭ）およびイクステンデッドデータアウト（ＥＤＯ）ＤＲＡＭ技術によりさらに利用される。より高密度のＤＲＡＭはモジュールにパッケージされるので、他の組織的な技術はメモリのセグメントを別個にアドレス可能なバンクに分割することである。代表的な実施において、メモリアドレスは以下に示すようにＤＲＡＭにマップしてもよい。
【０００５】
ＭＳＢ                                                          ＬＳＢ  ＲＯＷ                Ｂ１  Ｂ０  ＣＯＬＵＭＮ  ＢＹＴＥ  ＳＥＬＥＣＴ  
低位ビットは、バイトセレクトフィールドを含んでいてもよい。この場合、メモリモジュールは単一アクセスにおいて数バイトにまたがるデータを提供する。次の最上位ビットは列アドレスであり、同じ行内のデータが迅速にアクセスされることを可能にする。行アドレスの上にバンク選択ビットがある。バンク選択ビットは複数のＤＲＡＭバンク（この例では、４つのバンク）の１つを独立してアドレスする。行アドレスは、より意味のあるビットからなる。当業者は、メモリアドレスはさまざまな方法でメモリにマップされてもよいことを認識するであろう。上記マッピングは例証にすぎず制限するものではない。
【０００６】
伝統的なＤＲＡＭは、コントローラーの指示にもとづいて明示的にリフレッシュされる。コントローラーは行のアドレスをアドレスバス上でリフレッシュされるように設定し、その行内のすべてのメモリ記憶ロケーションをリフレッシュするためにＲＡＳ信号をアサートする。リフレッシュサイクル中に、すべてのメモリアクセス動作は停止される（すなわち、リフレッシュサイクル期間中にリードまたはライト動作は生じない）。コントローラー内のリフレッシュカウンターは、リフレッシュ行アドレスを供給し、カウンターは、各リフレッシュサイクルに続いてインクリメントされる。ＤＲＡＭアレイ内のすべての行はシーケンシャルにリフレッシュされてもよい。これはバーストリフレッシュとして技術的に知られており、メモリアレイの合計所要リフレッシュ時間内で一度実行されなければならない。あるいは、コントローラーは分散リフレッシュを実施してもよい。この場合、連続的な行を対象にしたリフレッシュサイクルは、メモリアクセスサイクルの中で散在される。
【０００７】
分散されたリフレッシュサイクル間の平均の許容可能な値は行の数により分割されたメモリアレイ合計所要リフレッシュ時間である。
【０００８】
ＲＡＳの前のＣＡＳのリフレッシュ（ＣＢＲリフレッシュ）の到来とともに、コントローラーはリフレッシュサイクルのために行アドレスを計算し供給する必要性が軽減された。ＣＢＲリフレッシュをサポートするメモリモジュールは内部行カウンターを含む。内部行カウンターはすべてのＣＢＲリフレッシュサイクルを受信するとインクリメントする。
【０００９】
コントローラーはいつでもどの行がリフレッシュされたか気づいていない。コントローラーは単に要求された時間期間内にＣＢＲリフレッシュサイクルを発行するように要求される。ＣＢＲリフレッシュは、ここでは自動リフレッシュとして広く呼ばれているものの一例である。この場合、コントローラーはリフレッシュサイクルを発行するようにメモリに指示するが、リフレッシュされる特定の行アドレスに気づいていない。最新のシンクロナスＤＲＡＭ（ＳＤＲＡＭ）実施において、自動リフレッシュサイクルは、一般に同時にアサートされるＲＡＳおよびＣＡＳ信号に応答して実行される。
【００１０】
従来の自動リフレッシュ技術（およびさらに、バンクが独立してリフレッシュされないなら、コントローラーはリフレッシュ行アドレスを供給する伝統的なリフレッシュ）の１つの利点は、自動リフレッシュコマンドを発行する前にメモリアクセス動作（すなわちリードおよびライトアクセス）に対してすべてのＤＲＡＭ行を閉じることを強制されることである。これはデータアクセスおよび／または命令フェッチを遅延させることによりプロセッサー性能に悪影響を及ぼすかもしれない。
【００１１】
バンクが独立してリフレッシュされる場合に、１つの解決法は、コントローラーが各リフレッシュコマンドに対して行アドレスおよびバンク選択情報を供給することにより明示的にリフレッシュプロセスを処理することである。この場合コントローラーは、残りのバンクに対するデータアクセス動作を同時に実行しながら、１つのＤＲＡＭバンクにリフレッシュサイクルを指示してもよい。高機能のコントローラーは、この能力を利用するようにそのメモリ動作を組織してもよく、従って性能を改良する。
【００１２】
しかしながら、このアプローチの欠点は、コントローラーが多くの最新のメモリ実施により提供される自己リフレッシュモードを利用することができないことである。自己リフレッシュモードはポータブル電子装置に対して特定の適用性を有する。自己リフレッシュモードにおいて、データは無活動の期間に、最小の電力消費でＤＲＡＭアレイに維持され、データアクセスは許されない。すなわち、自己リフレッシュモードの期間において、データはＤＲＡＭアレイに書かれなくてもよいし、ＤＲＡＭから読まれなくてもよい。自己リフレッシュモードを有したＤＲＡＭは、コントローラーを含む多くの回路がバッテリ電力を維持するために無活動または「スリープ」モードに入ることを可能にする。
【００１３】
自己リフレッシュ中に、ＤＲＡＭアレイを介したメモリモジュールサイクルは、データを維持するために必要な最小のリフレッシュ活動を実行する。これを遂行するために、メモリモジュールはコントローラーにアクセス可能でない内部行／バンクアドレスカウンターを維持する。自己リフレッシュモードを終了すると、コントローラーは、自己リフレッシュモードにおいてどの行が最後にリフレッシュされたかに気づかず、従ってシーケンス内のすべての行に対して最初にバーストリフレッシュを実行しない限り、明示的なリフレッシュ動作を継続することができない。
【発明の開示】
【００１４】
この出願は、２００４年１２月２８日に出願された米国仮出願第６０／６４０，１００の優先権を主張する。
【００１５】
有向自動リフレッシュ（ＤＡＲＦ）モードにおいて、リフレッシュコマンドはコントローラーにより発行され、リフレッシュ行およびバンクアドレスは、メモリモジュールに対して明示的に維持される。ＤＡＲＦモードに入るとメモリ内部のバンクアドレスカウンターが第１の所定値にイニシャライズされることを指定することによりコントローラーとメモリはバンクアドレスに対して同期される。メモリはリフレッシュコマンドを受信するとアドレスされたバンクに向けられたリフレッシュサイクルを実行し、リフレッシュサイクルに続く所定のシーケンスにおいてバンクアドレスカウンターをインクリメントする。メモリアクセス動作がリフレッシュされていないバンクに向けられているなら、コントローラーはバンクアドレスを追跡し、リフレッシュコマンドの実行中に１つ以上のメモリアクセス動作を発行してもよい。バンクアドレスカウンターが第２の所定値を取るように指定することにより自己リフレッシュモードを終了すると、自己リフレッシュモード期間中に失われた同期が再確立される。第２の所定値は固定であってもよいし、またはｎ＋１であってもよい。但し、ｎは自己リフレッシュモードが開始されたときのバンクアドレスカウンターの値である。
【００１６】
一実施形態は、コントローラーにより、メモリモジュール内のリフレッシュバンクアドレスカウンターを用いてリフレッシュバンクアドレスを同期する方法に関する。メモリモジュールは有向自動リフレッシュモードに入るように命令される。有向自動リフレッシュサイクルは第１の所定のバンクアドレスで始まるメモリに発行される。
【００１７】
他の実施形態は、メモリモジュールにより、複数のメモリバンクをリフレッシュする方法に関する。同期コマンドはコントローラーから受理する。バンクリフレッシュカウンターは同期コマンドに応じて所定のバンクアドレスに設定される。
【００１８】
他の実施形態は電子装置に関する。電子装置は、メモリモジュールに対してデータをリードおよびライトするように機能的に作用し、さらにメモリモジュールを有向自動リフレッシュモードに設定するように機能的に作用し、有向自動リフレッシュコマンドを発行するように機能的に作用するコントローラーを含む。電子装置は少なくとも２つのＤＲＡＭのバンクを有するメモリモジュールを含む。各バンクはリフレッシュサイクルを実行するために別個にアドレス可能である。メモリモジュールは、コントローラーからのコマンドに応答して１つのバンクに向けられたリフレッシュサイクルを実行するために、およびリフレッシュ動作の期間中に異なるバンクに対してメモリアクセスサイクルを実行するために有向自動リフレッシュモードにおいて機能的に作用する。メモリモジュールが有向自動リフレッシュモードに入るとメモリモジュール内のバンクアドレスカウンターは第１の所定値を取るように機能的に作用する。
【図面の簡単な説明】
【００１９】
【図１】図１はコントローラーとメモリモジュールの機能ブロック図である。
【図２】図２は、種々のモードにおいてリフレッシュ動作とバンクアドレスカウンターの値を描く時系列である。
【図３】図３はＤＲＡＭリフレッシュの方法のフロー図である。
【発明を実施するための形態】
【００２０】
図１はコントローラー１２とメモリモジュール１４を含む代表的なコンピューターシステムを描く。コントローラー１２は、マイクロプロセッサー、デジタルシグナルプロセッサー、ＦＰＧＡまたはＡＳＩＣで実施される高性能の状態機械、または他のコントローラーを含んでいてもよい。メモリモジュール１４は単一のＤＲＡＭチップ、マルチチップモジュール、ＤＲＡＭモジュールのＳＩＭＭまたはＤＩＭＭアレイまたは同種のものを含んでいてもよい。描かれた実施形態において、メモリモジュール１４は４つのＤＲＡＭバンク１６とリフレッシュ回路１８を含む。リフレッシュ回路１８は、バンクアドレスカウンター２０と行アドレスカウンター２１を含む。リフレッシュ回路１８は有向自動リフレッシュモードまたは自己リフレッシュモード中に自律的にコントローラー１２からのリフレッシュコマンドを受信するとＤＲＡＭバンク１６に対してリフレッシュサイクルを実行する。さらに、リフレッシュ回路は技術的に知られる他のリフレッシュモードをサポートしてもよい。また、メモリモジュール１４は行および列アドレスラッチ、センスアンプ、バスドライバー、およびＤＲＡＭメモリに共通している及び技術的に良く知られた種々の他の回路（図示せず）を含む。
【００２１】
図１に描かれた実施形態において、コントローラー１２は、メモリモジュール１４に対してリード動作およびライト動作を実行するように機能的に作用するメモリコントロール回路２２を含む。従って、図１はコントローラー１２内のメモリコントロール回路２２とメモリモジュール１４との間の共通アドレス、データ、及び制御信号（例えば、ＲＡＳ、ＣＡＳ、ＷＥ）接続を描く。これらの制御信号は見本にすぎず包括的ではない。そして、任意の所定の実施において、コントローラー１２とメモリ１４をインターフェースしてもよい種々の制御信号を含まない。
【００２２】
ＲＦＳＨ信号により描かれるように、少なくとも１つのモードにおいてメモリコントロール回路２２はさらにリフレッシュ信号を発生する。信号ＲＦＳＨは見本にすぎない。
【００２３】
任意の所定の実施において、メモリコントロール回路２２は他の制御信号を介して自動リフレッシュコマンドを発行してもよい。また、メモリコントロール回路２２はバンクアドレスカウンター２３を含む。バンクアドレスカウンター２３は有向自動リフレッシュモードの期間中にメモリモジュール１４内のバンクアドレスレジスタ２０の値を映す。
【００２４】
コントローラー１２はさらに拡張モードレジスタ（ＥＭＲ）２４を含む。このレジスタは、任意の所定の実施において、必要においてまたは要望に応じて複数のモードビットおよび他の構成情報を含んでいてもよい。一実施形態において、ＥＭＲ２４は有向自動リフレッシュ（ＤＡＲＦ）ビット２６を含む。ＥＭＲ２４はさらに自己リフレッシュ（ＳＲ）ビット２８を含む。コントローラー１２は技術的に良く知られたさまざまなさらなる回路、レジスタ、および他のコンポーネント（図示せず）を含んでいてもよい。
【００２５】
一実施形態によれば、メモリモジュール１４はコントローラー１２がＤＡＲＦビット２６をＥＭＲ２４に設定することに応答して有向自動リフレッシュモードに入る。ＤＡＲＦビット２６が設定されると、メモリバンクアドレスカウンター２０が所定値に設定され、コントローラーバンクアドレスカウンター２３は同じ値に設定される。一般に、バンクアドレスカウンター２０はゼロに設定されてもよい。しかしながら、当業者は、バンクアドレスは、コントローラー１２が利用される所定の値に気づいている限り任意の所定値に設定されてもよいことを認識するであろう。
【００２６】
各有向自動リフレッシュサイクルに続いてインクリメントされると、バンクアドレスカウンター２０はバンクアドレスを所定のシーケンスで循環させる。好適実施形態において、バンクアドレスカウンター２０はバイナリカウント（例えば、ｍバンクの場合、０、１、．．．ｍ−１）を循環させる。しかしながら、当業者は、コントローラー１２が利用される特定のシーケンスに気づいている限り、バンクアドレスカウンター２０は、任意のシーケンスでバンクアドレスビットを循環させてもよく、従ってバンクアドレスレジスタ２３は同じシーケンスを用いてもよいことを容易に認識するであろう。
【００２７】
１つの実施形態において、有向自動リフレッシュモード期間中に、コントローラー１２からリフレッシュコマンドを受信すると、メモリモジュール１４は対応するカウンター２１、２０内の行およびバンクアドレスビットに対してリフレッシュ動作を実行するであろう。次に、バンクアドレスカウンター２０はリフレッシュ動作に続いて１だけインクリメントされるであろう。バンクアドレスカウンター２０が完全なシーケンスを循環したとき（すなわち、所定の行アドレスに対して各バンクにリフレッシュサイクルを発行したとき）、行アドレスカウンター２１は１だけインクリメントされる。
【００２８】
コントローラー１２はバンクアドレスカウンター２０を映すためにバンクアドレスカウンター２３を維持し、自動リフレッシュコマンドがメモリモジュール１４に発行されるごとにバンクアドレスカウンター２３をインクリメントする。コントローラー１２とメモリモジュール１４は同じ所定のバンクアドレスにイニシャライズし、（各自動リフレッシュコマンドに続いて）ほぼ同じ時間に同じ量だけ同じ順番にバンクアドレスをインクリメントするので、コントローラー１２とメモリモジュール１４は有向自動リフレッシュモードにおいてバンクアドレスに対して同期される。
【００２９】
この同期は、コントローラー１２がリフレッシュコマンドを発行したときリフレッシュされるバンク１６に気づいているコントローラー１２がリフレッシュされているバンク１６以外の任意のＤＲＡＭバンク１６に対してリードアクセスおよびライトアクセスを実行することを継続可能にする。コントローラー１２はリフレッシュ行アドレスに気づいている必要が無いことに留意する必要がある。リフレッシュされているバンク１６においてのみリフレッシュ動作期間中にすべての行が閉じていなければならない。コントローラー１２は任意の他のバンク１６に任意のアドレスをリードまたはライトしてもよい。従って、有向自動リフレッシュサイクルがメモリアクセス性能に影響を与えないように、メモリアクセスをスケジューリングすることによりコントローラー１２は有向自動リフレッシュサイクルを「隠すことができる」。
【００３０】
図２はコントローラー１２とメモリモジュール１４との間のリフレッシュ活動の時系列一覧を描く。コントローラー１２の活動と状態は時系列の下に描かれる。リフレッシュサイクルは時系列の上に「一目盛り」として描かれ、バンクアドレスカウンター２０の値は時系列の上に描かれる。左端のポイント（関心のある時間の始め）において、コントローラー１２はリセットされる。これはイニシャルパワーアップ、ソフトウエアリセットまたは同種のものに相当してもよい。コントローラー１２が有向自動リフレッシュモードに入り最大メモリアクセス性能を得たいと望むなら、コントローラーはＤＡＲＦビット２６を設定する。これはメモリモジュール１４を有向自動リフレッシュモードに設定し、図２に描かれた実施形態におけるゼロのようにバンクアドレスカウンター２０を所定値に強制する。
【００３１】
コントローラー１２は次に続けて、時系列に沿った周期的ポイントにおいて、図２内の矢印により示すように有向自動リフレッシュコマンドを周期的に発行するメモリアクセス動作をメモリモジュール１４に対して実行する。所定の行内のすべてのＤＲＡＭバンク１６がリフレッシュされなければならない時刻が図２においてｔREFとして示される。
【００３２】
相応して、コントローラー１２は有向自動リフレッシュコマンド間のスペースを図示するようにｔREF／４の平均値に増加させてもよい。各有向自動リフレッシュコマンドを受信すると、メモリモジュール１４はバンクアドレスカウンター２０によりアドレスされるバンクに対してリフレッシュを実行し、次にバンクアドレスカウンター２０をインクリメントする。バンクアドレスカウンター２０が完全なシーケンス（描かれた実施形態において０、１、２、３）を循環すると、行アドレス２１はインクリメントされる。各有向自動リフレッシュコマンドを発行すると、コントローラーはバンクアドレスカウンター２３をインクリメントする。従って、メモリコントローラー２２はバンクアドレスカウンター２０の値に気が付いており、現在リフレッシュされているバンク１６以外のＤＲＡＭバンク１６にメモリアクセスを向けることにより有向自動リフレッシュ活動と同時にメモリモジュール１４に対してリード動作およびライト動作を実行してもよい。
【００３３】
この発明の１つ以上の実施形態によれば、コントローラー１２は、メモリモジュール１４の自己リフレッシュモードを利用してもよい。特に、コントローラー１２は、例えばＥＭＲ２４内のＳＲビット２８を設定することにより、メモリモジュール１４に自己リフレッシュモードに入るように命令してもよい。メモリモジュールに自己リフレッシュモードに入るおよび自己リフレッシュモードから抜け出すように命令するためにＳＲビット２８を使用することは見本に過ぎない。当業者は、ＳＲビット２８を設定する以外の様々な方法で、コントローラー１２は自己リフレッシュモードをメモリモジュールに通信してもよいことを認識するであろう。例えば、ＳＤＲＡＭを自己リフレッシュモードに向けるための一般的な技術はチップセレクト（ＣＳ）、ＲＡＳ、ＣＡＳおよびクロックイネーブル（ＣＫＥ）制御信号を同時のロウレベルに保持することである。ＣＫＥがハイレベルで戻されると自己リフレッシュが終了する。
【００３４】
有向自動リフレッシュモードの期間に、メモリモジュール１４は行およびバンクアドレスがリフレッシュされるように維持するがリフレッシュタイミングはコントローラー１２に任せる。従って、メモリモジュール１４が自己リフレッシュモードに入るためのコマンドを受信するとき、メモリモジュールは、最後の有向自動リフレッシュサイクルからの経過した時間に気づかない。従って、一実施形態によれば、メモリモジュール１４のリフレッシュ回路１８は自己リフレッシュモードに入るとすぐにリフレッシュサイクルを実行しなければならない。ここに使用されるように、「すぐに」という用語はｔREF／４に対して短い所定の時間期間内を意味する。リフレッシュサイクルは現在アドレスされているバンクに向けられてもよい。あるいはメモリモジュール１４は自己リフレッシュモードに入るとすぐにすべてのＤＲＡＭバンクを同時にリフレッシュしてもよい。
【００３５】
自己リフレッシュモードの期間に、メモリモジュール１４は、ＤＲＡＭバンク１６内のデータを維持するために必要に応じてリフレッシュサイクルを実行し続ける。一般に自己リフレッシュモードリフレッシュサイクルのタイミングは温度に依存し、リフレッシュサイクル間の時間はｔREF／４を越えてもよい。コントローラー１２はリフレッシュ活動への視認性を有さず、リフレッシュサイクルの数またはタイミングを知らず、バンクアドレスカウンター２０の内容を追跡することができない。すなわち、メモリモジュール１４が自己リフレッシュモードにあるとき、コントローラー１２とメモリモジュール１４はバンクアドレスに対して非同期化されるようになる。
【００３６】
自己リフレッシュモードを抜け出すと、同期化を再確立するために、バンクアドレスカウンター２３が同じ値に設定されてもよいように、バンクアドレスカウンター２０は所定の値を含まなければならない。さらに、コントローラー１２は自己リフレッシュモードの期間中に最後の内部リフレッシュサイクルがいつ生じたかを知らないので、リフレッシュ回路１８は自己リフレッシュモードを抜け出すコマンドを検出すると（例えば、例示した実施形態において、コントローラー１２がＳＲビット２８をクリアすると）、すぐに少なくとも１つのリフレッシュサイクルを発行する。これは、データの損失という危険を伴わずに別の有向自動リフレッシュコマンドを発行するためにコントローラー１２がtREF／４を有することを保証する。
【００３７】
一実施形態において、自己リフレッシュモードを抜け出すためのコマンドを検出すると、リフレッシュ回路１８は現在アドレスされているバンクに対してリフレッシュサイクルを実行し、バンクアドレスカウンター２０をインクリメントする。次に、バンクアドレスカウンター２０の内容が自己リフレッシュを抜け出す所定値と一致しないなら、バンクアドレスカウンター２０の内容が自己リフレッシュを抜け出す所定値と一致するまで、バンクアドレスカウンター２０はそのシーケンスおよびアドレスされたバンクに対して実行されたリフレッシュサイクルを通してインクリメントされる。バンクアドレスカウンター２０の内容が自己リフレッシュを抜け出す所定値に設定されると（およびそれに相応してバンクアドレスカウンター２３が設定されると）、コントローラー１２とメモリモジュール１４は再確立されたバンクアドレス同期を有する。従って、コントローラー１２はリフレッシュされているバンク以外のバンクに対してメモリアクセス動作を同時に実行しながら、有向自動リフレッシュコマンドを発行し続ける。
【００３８】
他の実施形態において、バンクアドレスカウンター２０が自己リフレッシュを抜け出す所定値に到達するまでシーケンシャルバンクリフレッシュサイクルを実行するよりも、メモリモジュール１４はすべてのバンクを同時にリフレッシュし、バンクアドレスカウンター２０を自己リフレッシュを抜け出す所定値に設定してもよい。このアプローチは、自己リフレッシュモードを抜け出すと、特に８以上の多数のバンクに対して、コントローラー１２からのメモリアクセス要求を受け入れて実行する準備ができるまでの待ち時間を低減することができる。
【００３９】
自己リフレッシュを抜け出す所定のバンクアドレスに対して２つの可能性がある。
【００４０】
一実施形態において、自己リフレッシュモードを抜け出すと、バンクアドレス２０は常に所定の値、例えばゼロに設定される。しかしながら、当業者は、コントローラー１２が利用される値に気がついている限りバンクアドレスカウンター２０は任意の所定値に設定してもよく、従ってバンクアドレスカウンター２３は同じ値に設定されてもよいことを容易に認識するであろう。
【００４１】
他の実施形態において、自己リフレッシュを抜け出す所定のバンクアドレスは、バンクアドレスカウンター２０が自己リフレッシュモードに入ったときのバンクアドレスカウンター２０の内容である。すなわち、自己リフレッシュモードの前に有向自動リフレッシュモードでリフレッシュされた最後のバンクがｎであったなら、自己リフレッシュを抜け出す所定バンクアドレスはｎ＋１である。この実施形態において、バンクアドレスカウンター２３はリセットされる必要がないか、そうでなければ、所定値に設定される。しかし、どちらかといえば、コントローラー１２は、あたかも自己リフレッシュモードで同期が中断されないように有向自動リフレッシュコマンドを発行し続けてもよい。
【００４２】
図３は１つ以上の実施形態に従って、メモリをリフレッシュする方法のフロー図を描く。
【００４３】
メモリ１４は例えばＤＡＲＦビット２６を検査することにより有向自動リフレッシュモードをチェックする（ブロック５０）。メモリ１４が有向自動リフレッシュモードに設定されないなら、メモリ１４は従来のリフレッシュサイクルを実行する（ブロック５２）。これらは典型的なリフレッシュモードで生じてもよい。この場合、コントローラー１２はリフレッシュ行アドレスまたは従来の自動リフレッシュモードを供給する。この場合、メモリモジュール１４は行アドレスを維持する。いずれにしても、メモリモジュール１４は（コントローラー１２とメモリ１４との間の行アドレスの同期がないので、従来のリフレッシュモードの場合にデータの損失の危険にもかかわらず）いつでも有向自動リフレッシュモードを命令されてもよい（ブロック５０）。
【００４４】
有向自動リフレッシュモードに入るためのコマンドを検出すると（ブロック５０）、メモリモジュール１４はバンクアドレスカウンター２０を、例えばゼロのように第１の所定のバンクアドレスに設定する（ブロック５４）。次に、メモリモジュール１４はコントローラー１２により命令されるように、ＤＲＡＭバンク１６に対して有向自動リフレッシュサイクルを実行する。各リフレッシュサイクルに続いて、メモリモジュール１４はバンクアドレスカウンター２０を所定の順番でインクリメントする（ブロック５６）。これは、バンクアドレスカウンター２３を同様にインクリメントすることにより、コントローラー１２がバンクアドレスカウンター２０の値を追跡することを可能にする。
【００４５】
コントローラー１２はメモリモジュール１４に自己リフレッシュモードに入るように命令してもよい（ブロック５８）。メモリモジュール１４が自己リフレッシュモードに設定されるなら、メモリモジュール１４は、最後の有向自動リフレッシュサイクルからの遅延に気が付いていないのですぐにリフレッシュサイクルを実行する（ブロック６０）。次に、メモリモジュール１４は、メモリのデータの状態を保存するために、必要に応じてＤＲＡＭリフレッシュサイクルを実行するであろう。自己リフレッシュモードにおいてはメモリアクセスサイクル（例えば、リードまたはライト）は実行されてなくてもよい。
【００４６】
自己リフレッシュモードから抜け出すように命令されると（ブロック６４）、メモリモジュール１４は少なくとも１つのリフレッシュサイクルを実行しなければならない（ブロック６６）。これは、自己リフレッシュモードで実行される最後のリフレッシュサイクルのタイミングに気づいていないコントローラー１２が、メモリモジュール１４に自己リフレッシュモードを抜け出し次の有向自動リフレッシュを発行するように命令した後でｔREF／４を有することを保証する。必要なら、メモリモジュール１４はさらなるリフレッシュサイクルを実行し、バンクアドレスカウンター２０をインクリメントし、第２の所定の値をバンクアドレスカウンター２０に残すであろう（ブロック６８）。これは、コントローラー１２と同期するために必要である。コントローラー１２はまたバンクアドレスカウンター２３に第２の所定値を有するであろう。次に、コントローラー１２はリフレッシュバンクアドレスに対してメモリモジュール１４と同期され、リフレッシュされているバンク以外のＤＲＡＭバンク１６に対してメモリアクセスサイクルを同時に実行しながら、有向自動リフレッシュサイクルを発行し続けてもよい。
【００４７】
この発明は特定の特徴、観点および実施形態に対してここに記載されたけれども、この発明の広い範囲内において多数の変形、変更及び他の実施形態が可能であることは明白であり、従って、すべての変形、変更および実施形態はこの発明の範囲内にあると見なされるべきである。それゆえ、この実施形態はあらゆる面で例証として解釈されるべきであり制限するものではなく、添付されたクレームの意味と等価な範囲内に入るすべての変更を包含することが意図される。
【図１】
2018137034.tif 000003
【図２】
2018137034.tif 000004
【図３】
2018137034.tif 000005
【手続補正書】
【提出日】平成30年5月7日(2018.5.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電子装置において、
メモリモジュールに対してデータをリードおよびライトするように機能的に作用し、さらに、前記メモリモジュールを有向自動リフレッシュモード(a directed auto-refresh mode)にセットし、有向自動リフレッシュコマンドを発行するように機能的に作用するコントローラーと、ここにおいて、前記コントローラーは、前記有向自動リフレッシュモードの間、前記メモリモジュール内のバンクアドレスカウンタに等しいリフレッシュバンクアドレスを前記コントローラーに維持する、
ダイナミックランダムアクセスメモリ（ＤＲＡＭ）の少なくとも２つのバンクを有する前記メモリモジュールと、各バンクは、リフレッシュサイクルを実行するために別個にアドレス可能であり、前記メモリモジュールは、前記有向自動リフレッシュモードにおいて、１つのバンクに向けられたリフレッシュサイクルを実行し、前記コントローラーからの前記有向自動リフレッシュコマンドに応答して、前記リフレッシュサイクルが実行されている間に異なるバンクに対してメモリアクセスサイクルを実行するように機能的に作用する、
前記メモリモジュールが有向自動リフレッシュモードに入ると、第１の所定値をとるように機能的に作用する、前記メモリモジュール内の前記バンクアドレスカウンタと、
を備え、
前記コントローラーはさらに、前記メモリモジュールを自己リフレッシュモードから解除するように機能的に作用し、前記バンクアドレスカウンタは、自己リフレッシュモードを終了すると、第２の所定値をとるように機能的に作用し、前記第２の所定値は任意の所定値であり、
前記メモリモジュールは自己リフレッシュモードを抜け出すように命令されると、すべてのＤＲＡＭバンクを同時にリフレッシュし、前記バンクアドレスカウンタを前記第２の所定値に設定するように機能的に作用する、電子装置。
【請求項２】
前記第２の所定値は固定である、請求項１の電子装置。
【請求項３】
前記第２の所定値は前記第１の所定値に等しい、請求項１の電子装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
この発明は特定の特徴、観点および実施形態に対してここに記載されたけれども、この発明の広い範囲内において多数の変形、変更及び他の実施形態が可能であることは明白であり、従って、すべての変形、変更および実施形態はこの発明の範囲内にあると見なされるべきである。それゆえ、この実施形態はあらゆる面で例証として解釈されるべきであり制限するものではなく、添付されたクレームの意味と等価な範囲内に入るすべての変更を包含することが意図される。
以下に出願当初の特許請求の範囲を付記する。
［Ｃ１］
コントローラーにより、リフレッシュバンクアドレスをメモリモジュール内のリフレッシュバンクアドレスカウンターに同期させる方法において、
前記メモリモジュールに有向自動リフレッシュモードに入るように命令することと、
第１の所定のバンクアドレスで始まるメモリに有向自動リフレッシュサイクルを発行することと、を備えた方法。
［Ｃ２］
各有向自動リフレッシュサイクルを前記メモリに発行すると前記バンクアドレスをインクリメントすることをさらに備えた、Ｃ１の方法。
［Ｃ３］
有向自動リフレッシュサイクルが実行されている間にメモリアクセス動作を実行することをさらに備え、前記メモリアクセス動作は前記有向自動リフレッシュサイクルによりリフレッシュされなかったバンクにアドレスされる、Ｃ２の方法。
［Ｃ４］
前記メモリに自己リフレッシュモードに入るように指示することをさらに備え、前記自己リフレッシュモードを抜け出すと、第２の所定バンクアドレスで始まるメモリに有向自動リフレッシュサイクルを発行する、Ｃ１の方法。
［Ｃ５］
前記第２の所定バンクアドレスは固定である、Ｃ４の方法。
［Ｃ６］
前記第２の所定バンクアドレスは前記第１の所定バンクアドレスに等しい、Ｃ４の方法。
［Ｃ７］
前記第２の所定バンクアドレスはｎ＋１であり、ｎは前記自己リフレッシュモードの前に前記コントローラーにより発行された最後の有向自動リフレッシュサイクルに相当するバンクアドレスである、Ｃ４の方法。
［Ｃ８］
メモリモジュールにより複数のメモリバンクをリフレッシュする方法において、
コントローラーから同期コマンドを受理することと、
前記同期コマンドに応答してバンクリフレッシュカウンターを所定のバンクアドレスに設定することと、を備えた方法。
［Ｃ９］
前記コントローラーから有向自動リフレッシュコマンドを受信すると、前記アドレスメモリバンクをリフレッシュし所定の順番で前記バンクリフレッシュカウンターをインクリメントする、Ｃ８の方法。
［Ｃ１０］
前記バンクリフレッシュカウンターが前記複数のメモリバンクのすべてを循環させると、行アドレスカウンターをインクリメントする、Ｃ９の方法。
［Ｃ１１］
前記複数のメモリバンクの１つに向けられた前記コントローラーからの有向自動リフレッシュコマンドと別の前記複数のメモリバンクに向けられたメモリアクセス要求を受信すると、前記リフレッシュ動作と前記アクセス動作の両方を実行することをさらに備えた、Ｃ９の方法。
［Ｃ１２］
前記コントローラーから受信した自己リフレッシュコマンドに応答して自己リフレッシュモードに入ることと、前記コントローラーからリフレッシュコマンドを受信せずにデータを維持するのに十分なレートで前記メモリバンクをリフレッシュすることをさらに備えた、Ｃ８の方法。
［Ｃ１３］
前記バンクアドレスカウンターによりアドレスされる前記メモリバンクは前記リフレッシュコマンドを受信するとすぐにリフレッシュされる、Ｃ１２の方法。
［Ｃ１４］
前記すべてのメモリバンクは前記自己リフレッシュコマンドを受信するとすぐに同時にリフレッシュされる、Ｃ１２の方法。
［Ｃ１５］
前記自己リフレッシュモードを抜け出ると、前記バンクリフレッシュカウンターを第２の所定のバンクアドレスに設定することをさらに備えた、Ｃ１２の方法。
［Ｃ１６］
前記バンクリフレッシュカウンターを第２の所定のバンクアドレスに設定することは、連続するリフレッシュ動作を実行することと、前記バンクリフレッシュカウンターを前記第２の所定のバンクアドレスに設定するために必要に応じて前記バンクリフレッシュカウンターをインクリメントすることとを備えた、Ｃ１５の方法。
［Ｃ１７］
前記バンクリフレッシュカウンターを第２の所定のバンクアドレスに設定することは、すべてのバンクを同時にリフレッシュすることと、前記バンクリフレッシュカウンターを前記第２の所定のバンクアドレスに設定することを備えた、Ｃ１５の方法。
［Ｃ１８］
前記第２の所定のバンクアドレスは固定である、Ｃ１５の方法。
［Ｃ１９］
前記第２の所定のバンクアドレスは前記第１の所定のバンクアドレスに等しい、Ｃ１５の方法。
［Ｃ２０］
前記第２の所定のバンクアドレスはｎ＋１であり、ｎは前記自己リフレッシュモードの前に前記コントローラーから受信した最後の有向自動リフレッシュサイクルに相当するバンクアドレスである、Ｃ１５の方法。
［Ｃ２１］
電子装置において、
メモリモジュールに対してデータをリードおよびライトするように機能的に作用し、さらに、前記メモリモジュールを有向自動リフレッシュモードに設定し、有向自動リフレッシュコマンドを発行するように機能的に作用するコントローラーと、
ＤＲＡＭの少なくとも２つのバンクを有するメモリモジュールであって、各バンクはリフレッシュサイクルを実行するために別個にアドレス可能であり、前記メモリモジュールは有向自動リフレッシュモードにおいて１つのバンクに向けられたリフレッシュサイクルを実行するように機能的に作用し、前記コントローラーからのコマンドに応答して前記リフレッシュサイクルが実行されている間に異なるバンクに対してメモリアクセスサイクルを実行するように機能的に作用するメモリモジュールと、
前記メモリモジュールが有向自動リフレッシュモードに入ると、第１の所定値を持つように機能的に作用する前記メモリモジュール内のバンクアドレスカウンターと、を備えた電子装置。
［Ｃ２２］
前記バンクアドレスカウンターは、各有向自動リフレッシュサイクルに続いて所定のシーケンスにおいてインクリメントするようにさらに機能的に作用する、Ｃ２１の電子装置。
［Ｃ２３］
前記コントローラーはさらに前記メモリモジュールを自己リフレッシュモードに設定するように機能的に作用し、前記メモリモジュールは自己リフレッシュモードに入るとすぐにＤＲＡＭバンクに向けられたリフレッシュサイクルを実行する、Ｃ２１の電子装置。
［Ｃ２４］
前記コントローラーは、前記メモリモジュールを自己リフレッシュモードから取り除くように機能的に作用し、前記バンクアドレスカウンターは自己リフレッシュモードを抜け出すと第２の所定値を持つように機能的に作用する、Ｃ２３の電子装置。
［Ｃ２５］
前記メモリモジュールは前記ＤＲＡＭバンクに対して連続リフレッシュサイクルを実行し、自己リフレッシュモードを抜け出すと前記バンクアドレスカウンターを前記第２の所定値に設定するために必要に応じて前記バンクアドレスカウンターをインクリメントするように機能的に作用する、Ｃ２４の電子装置。
［Ｃ２６］
前記メモリモジュールはすべてのＤＲＡＭバンクを同時にリフレッシュし、自己リフレッシュモードを抜け出すと前記バンクアドレスを前記第２の所定値に設定するように機能的に作用する、Ｃ２４の電子装置。
［Ｃ２７］
前記第２の所定値は固定である、Ｃ２４の電子装置。
［Ｃ２８］
前記第２の所定バンクアドレスは前記第１の所定バンクアドレスに等しい、Ｃ２４の電子装置。
［Ｃ２９］
前記第２の所定値はｎ＋１であり、ｎは自己リフレッシュモードの前に前記コントローラーにより発行された最後の有向自動リフレッシュサイクルに相当するバンクアドレスである、Ｃ２４の電子装置。
【外国語明細書】
2018137034000001.pdf