(57)【特許請求の範囲】
【請求項１】
メモリ装置であって、
ロウとカラムに組み立てられたデータ要素を備えるメモリアレイであって、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であるメモリアレイと、
連続する選択されたロウアドレスのセットの選択されたロウアドレスを保持するための少なくとも１つのロウアドレスバッファと、
連続する選択されたロウアドレスの前記セットに対応する選択されたロウの各内容を保持するためのロウデータバッファのセットと、
前記少なくとも１つのロウアドレスバッファと前記メモリアレイとに結合され、前記選択されたロウアドレスを受信するとともに、前記選択されたロウアドレスを復号して前記メモリアレイの選択されたロウにアクセスするためのロウデコーダと、
前記メモリアレイに結合されるとともにロウデータバッファの前記セットに結合され、前記選択されたロウを読み取って、前記選択されたロウの内容を前記ロウデータバッファの１つに転送するとともに、前記選択されたロウの内容を前記選択されたロウに書き戻すためのセンス増幅器のアレイと、
センス増幅器の前記アレイと、ロウデータバッファの前記セットとに結合され、前記選択されたロウの前記内容をセンス増幅器の前記アレイから前記ロウデータバッファの前記１つに供給するためのデマルチプレクサと、
第１のコマンドを受信して復号するための制御回路であって、前記第１のコマンドは特定されたロウアドレスと、開放すべきロウの数を特定するロウモードインジケータとを含み、前記制御回路は前記ロウモードインジケータを保持するためのメモリモードレジスタを備える、制御回路と、
を備えるメモリ装置。
【請求項２】
前記少なくとも１つのロウアドレスバッファは、前記連続する選択されたロウアドレスを一度に１つずつ保持するように構成された単一のレジスタであり、前記連続する選択されたロウアドレスは、前記連続する選択されたロウアドレスの第１から動的に計算され、ロウデータバッファの前記セットはそれぞれ、前記連続する選択されたロウアドレスに対応するロウの内容を保持するように構成される請求項１に記載のメモリ装置。
【請求項３】
前記少なくとも１つのロウアドレスバッファはそれぞれ、連続する選択されたロウアドレスの前記セットを保持するように構成されたロウドレスバッファのセットであり、前記ロウアドレスバッファの前記セットは、ロウデータバッファの前記セットに対応し、前記メモリ装置はさらに、
ロウアドレスバッファの前記セットに結合されるとともに、前記ロウデコーダに結合され、前記ロウアドレスバッファの選択された１つに保持されているロウアドレスを選択するとともに、前記選択されたロウアドレスを前記ロウデコーダに供給するためのマルチプレクサをさらに備える、請求項１に記載のメモリ装置。
【請求項４】
センス増幅器の前記アレイは、前記選択されたロウの内容の前記ロウデータバッファの前記１つへの送信の完了で、前記選択されたロウの前記内容を前記選択されたロウに書き戻すように構成される請求項１に記載のメモリ装置。
【請求項５】
前記制御回路は、前記メモリアレイに、前記特定されたロウアドレスから開始して前記特定された数のロウを開放させるように構成され、前記開放された特定された数のロウの内容は、保持のために、対応するロウデータバッファに転送される、請求項１に記載のメモリ装置。
【請求項６】
前記制御回路は、前記第１のコマンドに続いて第２のコマンドを受信するように構成され、前記第２のコマンドは前記開放された特定された数のロウの特定されたロウからの読み取りを要求し、前記特定されたロウの前記読み取りは、対応するロウデータバッファからの読み取りによって実行される、請求項５に記載のメモリ装置。
【請求項７】
前記制御回路は、前記第１のコマンドに続いて第３のコマンドを受信するように構成され、前記第３のコマンドは前記開放された特定された数のロウの特定されたロウへの書き込みを要求し、前記特定されたロウの内容は対応するロウデータバッファに保持され、前記書き込みは前記対応するロウデータバッファへの書き込みによって実行される、請求項５に記載のメモリ装置。
【請求項８】
前記制御回路は、前記第１のコマンドに続いて第４のコマンドを受信するように構成され、前記第４のコマンドはプリチャージを要求し、前記プリチャージは、前記対応するロウデータバッファの内容と、センス増幅器の前記アレイとを使用して、前記メモリアレイにおける前記開放されたロウの特定された数に一度に１つずつ書き戻すとともに、前記開放された特定された数のロウを閉じることによって実行される、請求項５記載のメモリ装置。
【請求項９】
ロウデータバッファの前記セットは、４個のロウデータバッファを備える、請求項１に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］ここに開示された実施形態は、メモリ装置の分野に向けられており、より詳細には、開放されたロウの好適する数（an adaptable number of open rows）をもつことが可能なメモリ装置に関する。
【背景技術】
【０００２】
［０００２］シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）は、システムクロック信号などの外部クロック信号に同期して動作する種々のタイプのダイナミックランダムアクセスメモリ（ＤＲＡＭ）である。ＳＤＲＡＭの入力及び出力データは、システムクロック信号のアクティブエッジに同期される。倍速（ＤＤＲ）ＳＤＲＡＭは、従来のＳＤＲＡＭの２倍の動作速度を提供するより高速なメモリ装置である。ＤＤＲ  ＳＤＲＡＭは、システムクロック信号の立ち上がりエッジと立ち下がりエッジの両方でのデータ転送を可能にする。ＤＤＲ  ＳＤＲＡＭは概して、マルチコアシステムにおいて用いられる。
【０００３】
［０００３］ＳＤＲＡＭあるいはＤＤＲ  ＳＤＲＡＭは、メモリアレイのセット（バンクとも呼ぶ）を備える。各メモリアレイはロウとカラムに組み立てられたデータ要素を備える。ロウにおけるデータ要素の各々はカラムアドレスによってアドレシングされ、概してデータワードである。ロウはまた、ページとも呼ばれる。現時点では、ＳＤＲＡＭまたはＤＤＲ  ＳＤＲＡＭにおいて、ただ１つのロウのみが一度に開放される。開放されたロウの内容がいったんロウデータバッファにラッチされると、当該開放されたロウにおける異なるカラムアドレスへの次のメモリ要求は、ロウデータバッファから迅速にサービス提供される。そのようなメモリアクセスは、ロウヒット（row hit）と呼ばれる。異なるロウが要求されて異なるロウが開放される必要がある場合、メモリアクセスは、ロウミス（row miss）と呼ばれる。ロウヒットにおいてはロウデータバッファのみが使用され、メモリアレイへのアクセスは必要とされない。
【０００４】
［０００４］ＳＤＲＡＭあるいはＤＤＲ  ＳＤＲＡＭは概して、マルチコアシステムにおいて使用される。マルチコアシステムは複数のプロセッサを備える。プロセッサは概して多様なメモリアクセスパターンでメモリアクセスを要求する。要求者の多様なメモリアクセスパターンのために、ＳＤＲＡＭまたはＤＤＲ  ＳＤＲＡＭの固定ロウサイズは、ＳＤＲＡＭあるいはＤＤＲ  ＳＤＲＡＭの半最適な電力あるいは半最適なパフォーマンスを招いてしまう。
【０００５】
［０００５］大きなロウサイズを使用することにより、概してロウヒットの数は増大するが、ロウを開放するときの電力消費が増大してしまう。小さなロウサイズを使用することによりロウを開放するときの電力消費を低減することができるが、高いアクセス局所性（access locality）をもつ要求者に対するロウヒットが少なくなるのでパフォーマンスが低下してしまう。
【発明の概要】
【０００６】
［０００６］本発明の例示的実施形態は、開放されたロウの好適する数をもつメモリ装置、そのような装置においてロウを開放する方法、そのようなメモリ装置をアクセスするためのメモリコントローラ、そして、そのようなメモリ装置を含むシステムに向けられている。
【０００７】
［０００７］本発明の一実施形態は、メモリ装置である。メモリ装置は、メモリアレイと、少なくとも１つのロウアドレスバッファと、ロウデータバッファのセットと、ロウデコーダと、センス増幅器のアレイと、デマルチプレクサと、を備える。メモリアレイは、ロウとカラムに組み立てられたデータ要素を備える。ロウの各々は、ロウアドレスによってアドレシングされる。ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシング可能である。少なくとも１つのロウアドレスバッファは、連続する選択されたロウアドレスのセットの選択されたロウアドレスを保持するのに使用される。ロウデータバッファのセットは、連続する選択されたロウアドレスのセットに対応する選択されたロウの各内容を保持するのに使用される。少なくとも１つのロウアドレスバッファとメモリアレイとに結合されたロウデコーダは、選択されたロウアドレスを受信するとともに、選択されたロウアドレスをデコードしてメモリアレイの選択されたロウにアクセスするために使用される。メモリアレイに結合されるとともに、ロウデータバッファのセットに結合されたセンス増幅器のアレイは、選択されたロウを読み取って、選択されたロウの内容をロウデータバッファの１つに転送するとともに、選択されたロウの内容を選択されたロウに書き戻すために使用される。センス増幅器のアレイと、ロウデータバッファのセットに結合されたデマルチプレクサは、センス増幅器のアレイからの選択されたロウの内容をロウデータバッファの１つに供給するために使用される。
【０００８】
［０００８］本発明の一実施形態は、メモリ装置におけるロウを開放する方法である。メモリ装置は、ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含み、ロウの各々はロウアドレスによってアドレシングされ、ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシングされる。方法は、（ａ）ロウを開放すべく第１のコマンドを受信することであって、コマンドは選択されたロウアドレスと、選択されたロウアドレスから開始して開放すべきロウの数を特定するロウモードインジケータとを含むことと、（ｂ）選択されたロウアドレスを少なくとも１つのロウアドレスバッファにローディングすることと、（ｃ）ロウデコーダを用いて、選択されたロウアドレスをデコードしてメモリアレイにおける選択されたロウにアクセスすることと、（ｄ）センス増幅器のアレイを用いて、選択されたロウを読み取って、選択されたロウの内容をロウデータバッファのセットの対応するロウデータバッファに転送することであって、開放すべきロウの特定された数が１よりも大きいならば、（ｅ）選択されたロウアドレスに基づいて連続する選択されたロウアドレスを計算することと、（ｆ）選択されたロウアドレスを連続する選択されたロウアドレスによって置き換えながら、動作（ｂ）、（ｃ）および（ｃ）を反復することと、を備える。
【０００９】
［０００９］本発明の一実施形態は、メモリ装置にアクセスするためのメモリコントローラである。メモリ装置は、ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含む。ロウの各々は、ロウアドレスによってアドレシングされ、ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシングされる。メモリ装置は、開放されたロウの好適する数をもつことができる。メモリコントローラは、アービタと、メモリマッパと、コマンド生成器と、を備える。アービタは、要求器からのメモリアクセス要求を受信してスケジューリングするために用いられる。メモリアクセス要求は論理アドレスを含む。アービタはメモリアクセス要求に対する開放されたロウの好適する数を決定するように構成される。メモリマッパはアービタに結合され、論理アドレスを、ロウアドレスとカラムアドレスとを含む物理アドレスに変換するのに用いられる。コマンド生成器は、メモリマッパおよびアービタに結合され、メモリアクセス要求に対応するコマンドの列を生成して、コマンドの列をメモリ装置に送信する。コマンドの列の１つのコマンドは開放されたロウの好適する数を特定するロウモードインジケータを含む。
【００１０】
［００１０］本発明の１つの実施形態は開放されたロウの好適する数をもつことができるメモリ装置と、メモリコントローラと、プロセッサとを備えるシステムである。メモリ装置はロウとカラム組み立てられたデータ要素を備えるメモリアレイを含み、ロウの各々はロウアドレスによってアドレシングされ、ロウにおけるデータ要素の各々はカラムアドレスによってアドレシングされる。メモリ装置はロウの好適する数の内容を保持するためのロウデータバッファのセットを備える。メモリコントローラは要求器からのメモリアクセス要求を受信するように構成されるとともに、メモリ装置にアクセスするためにメモリ装置に結合される。プロセッサはメモリコントローラに結合される。プロセッサはロウ決定モジュールを実行することができる。開放されたロウの好適する数は、メモリコントローラにより要求器のメモリアクセスパターンを監視することによってあるいは、プロセッサによりロウ決定モジュールを実行することによって決定される。
【図面の簡単な説明】
【００１１】
［００１１］添付の図面は、本発明の実施形態の説明を助けるために提示され、実施形態の説明のためのみに提供されるが、それらに限定されない。
【図１】［００１２］図１は、本発明の一実施形態が実施されるシステムを示す図である。
【図２】［００１３］図２は、本発明の一実施形態に従って構成されたメモリ装置の実施形態を示す。
【図３】［００１４］図３は、本発明の一実施形態に従って構成されたメモリ装置における開放されたロウのプロセスを示すフローチャートである。
【図４】［００１５］図４は、本発明の一実施形態に従って構成されたメモリ装置におけるロウからの読み取りを要求するコマンドに応答するプロセスを示すフローチャートである。
【図５】［００１６］図５は、本発明の一実施形態に従って構成されたメモリ装置におけるロウへの書込みを要求するコマンドに応答するプロセスを示すフローチャートである。
【図６】［００１７］図６は、本発明の一実施形態に従って構成されたメモリ装置におけるプリチャージを要求するコマンドに応答するプロセスを示すフローチャートである。
【図７】［００１８］図７は、図１に示されるメモリコントローラ１２０の実施形態を示す図である。
【図８】［００１９］図８は、従来技術のＳＤＲＡＭの簡略化された状態図を示す。
【図９】［００２０］図９は、従来の一般的なＳＤＲＡＭの同一のメモリアレイにおける２つの異なるロウの２つの活性化のタイミングを示す図である。
【図１０】［００２１］図１０は、本発明の一実施形態に従って構成されたＳＤＲＡＭの同一のメモリアレイにおける２つの異なるロウの２つの活性化のタイミングを示す図である。
【図１１】［００２２］図１１は、本発明の一実施形態に従って構成されたＳＤＲＡＭの簡略化された状態図を示す図である。
【発明を実施するための形態】
【００１２】
［００２３］本発明の側面は、本発明の特定の実施形態に向けられた以下の説明及び関連する図面において開示される。本発明の範囲から逸脱することなしに他の実施形態が考案されることができる。さらに、本発明のよく知られた要素については詳細には説明されず、本発明の関連する詳細があいまいになるのを避けるために省略される。
【００１３】
［００２４］本実施形態の１つの開示された特徴は、フローチャート、フロー図、構造図、あるいはブロック図として通常示されるプロセスとして説明されることができる。フローチャートは動作を順次なプロセスとして説明するが、同動作の多くは並列にあるいは同時に実行されることができる。動作の順番は再配列されることができる。その動作が完了したときにプロセスは停止される。プロセスは方法、プログラム、プロシージャ、等に対応することができる。１つの実施形態は物理構造を示す概要図によって説明されることができる。概要図は基本的な概念を示し、拡大縮小されたものではなく、また、実際の大きさを示すものでもない。
【００１４】
［００２５］ここにおいて用いられる術語“結合される”は“電気的連絡がある”ことを意味し、必ずしも“直接接続されている”ことを意味しない。共に結合される要素は、互いに直接接続されるかあるいは１つ以上の介在する要素を介して互いに電気的連絡がなされることができる。
【００１５】
［００２６］本発明の実施形態は、開放されたロウの好適する数をもつメモリ装置、そのような装置における開放されたロウの方法、そのようなメモリ装置にアクセスするためのメモリコントローラ、そして、そのようなメモリ装置を含むシステムに向けられている。
【００１６】
［００２７］図１は、本発明の一実施形態が実施されるシステム１００を示す図である。システム１００は中央処理システム１１０、メモリコントローラ１２０、メモリ装置１３０、そして複数の要求器１４０i（ｉ＝１、２、・・・ｎ）を備える。
【００１７】
［００２８］中央処理システム１１０はプロセッサ１１２を含む。プロセッサ１１２は関連するキャッシュメモリ及びメモリ管理ユニットを備えるプロセッサコアの形態であることができる。プロセッサ１１２は、ハイパースレッド、セキュリティ、ネットワーク、デジタルメディア技術を用いるプロセッサ、単一コアプロセッサ、マルチコアプロセッサ、埋め込みプロセッサ、モバイルプロセッサ、マイクロプロセッサ、デジタルシグナルプロセッサ、スーパースカラコンピュータ、ベクトルプロセッサ、単一命令マルチデータ（ＳＩＭＤ）コンピュータ、コンプレックス命令セットコンピュータ（ＣＩＳＣ）、減少命令セットコンピュータ（ＲＩＳＣ）、ベリロング命令ワード（ＶＬＩＷ）あるいはハイブリッドアーキテクチャなどの、任意のタイプのアーキテクチャの中央処理ユニットを表す。
【００１８】
［００２９］プロセッサ１１２は、ロウ決定モジュール１１６を含む。ロウ決定モジュール１１６は、使用状況（use case）に基づいて、メモリ装置１３０において開放すべきロウの好適する数を計算することができる。ロウ決定モジュール１１６はハードウエアモジュールあるいはソフトウエアモジュールとして実装されることができる。一実施形態において、ロウ決定モジュール１１６は、メモリ装置１３０を監視するとともに、メモリ装置１３０内で開放すべきロウの好適する数を計算するために、プロセッサ１１２上で動作するソフトウエアスレッドとして実装される。一実施形態において、プロセッサ１１２は、開放すべきロウの好適する数を取得するために、ロウ決定モジュール１１６を実行するとともに、開放すべき好適する数をメモリコントローラ１２０に供給する。
【００１９】
［００３０］中央処理システム１１０は、バス１５０を介して、メモリコントローラ１２０及び要求器１４０i（ｉ＝１、２、・・・、ｎ）と通信することができる。
【００２０】
［００３１］要求器１４０i（ｉ＝１、２、・・・、ｎ）は、バス１５０を介して、メモリアクセス要求をメモリコントローラ１２０に送ることができる異なるプロセッサあるいは他の装置であることができる。
【００２１】
［００３２］メモリコントローラ１２０は、バス１５０を介して、中央処理システム１１０および要求器１４０i（ｉ＝１、２、・・・、ｎ）からメモリアクセス要求を受信するとともに、メモリバス１２５を介してメモリ装置１３０にアクセスするように構成される。
【００２２】
［００３３］メモリコントローラ１２０は、異なる要求器（すなわち、中央処理システム１１０および要求器１４０i（ｉ＝１、２、・・・、ｎ）の間で仲裁を行い、異なる要求器に優先度を与え、スケジューリングされた方法で一度に１回ずつ要求器の各々に対してサービスを許可する。メモリコントローラ１２０は、各メモリアクセス要求をコマンドの列に変換し、コマンドの列をメモリ装置１３０に送る。コマンドの列の１つのコマンドは、メモリ装置１３０におけるロウの数を開放するための要求を含む。開放すべきロウの数は好適にすることができる。開放可能なロウの最大数は、メモリ装置１３０のメモリアレイにおけるロウデータバッファの数に等しい。
【００２３】
［００３４］一実施形態において、メモリコントローラ１２０は、サービスが提供される要求器のメモリアクセスパターンを監視することによって、開放すべきロウの好適する数を決定する。サービスが提供される要求器は中央処理システム１１０かあるいは要求器１４０i （ｉ＝１、２、・・・、ｎ）の１つであることができる。メモリアクセス局所性（locality）は、サービス提供される要求器のメモリアクセスパターンから決定されることができる。メモリアクセス局所性は、特定のメモリ位置が特定の時間で要求されたならば、直後において、隣のメモリ位置が要求される可能性が高いという概念を意味する。
【００２４】
［００３５］開放されるべきロウの好適する数は、コントローラ１２０によりサービス提供されている要求器のメモリアクセスパターンを監視するか、あるいは、プロセッサ１１２によりロウ決定モジュールを実行することによって決定される。
【００２５】
［００３６］メモリ装置１３０は、メモリアレイのセット（バンクとも呼ばれる）を含む。各メモリアレイはロウとカラムに組み立てられたデータ要素を備える。ロウの各々はロウアドレスによってアドレシング可能である。ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシング可能である。メモリ装置１３０はメモリアレイにおける開放されたロウの好適する数をもつことができる。メモリ装置１３０は、開放されたロウの好適する数の内容を保持するためのロウデータバッファのセットを備える。
【００２６】
［００３７］メモリ装置１３０は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、倍速シンクロナスダイナミックランダムアクセスメモリ（ＤＤＲＡＭ）あるいは任意の他のタイプのダイナミックランダムアクセスメモリ（ＤＲＡＭ）であることができる。
【００２７】
［００３８］開放されたロウの好適する数をもつメモリ装置１３０の特徴は、好適するページサイズを持つ特徴と考えることができる。ここにおいて、開放されたページは、従来技術のようなただ１つの開放されたロウではなく、開放されたロウの好適する数を含むことができる。
【００２８】
［００３９］図２は、本発明の一実施形態にしたがって構成されたメモリ装置の実施形態２００を示す。システム２００はメモリアレイのセットを備え、各メモリアレイは対応する周辺回路を有する。説明を簡単にするために図２は、ただ１つのメモリアレイ２６０をもつシステム２００を示す。システム２００は、制御回路２１０と、ロウアドレスバッファ２３０のセットと、マルチプレクサ２４０と、ロウデコーダ２５０と、メモリアレイ２６０と、センス増幅器２７０のアレイと、デマルチプレクサ２７５と、ロウデータバッファ２８０のセットと、カラムデコーダ２９０と、を備える。
【００２９】
［００４０］制御回路２１０は、制御ロジック２１２と、アドレシング回路２２０とを備える。
【００３０】
［００４１］制御ロジック２１２は、入力として制御信号２０２を受信するように構成される。制御信号２０２は、コマンドを含む。制御ロジック２１２は、コマンドをデコードするとともにシステム２００の残りの回路を駆動するように構成される。一実施形態において、制御信号２０２は、システムクロック（ＣＫ）信号、クロックイネーブル（ＣＫＥ）信号、ロウアドレスストローブ（ＲＡＳ）信号、カラムアドレスストローブ（ＣＡＳ）信号、書き込みイネーブル（ＷＥ）信号、そしてチップセレクト（ＣＳ）信号を含む。ＣＫ及びＣＫＥ信号は、外部システムクロックをもつメモリ装置２００の動作を同期するのに使用される。ＲＡＳ、ＣＡＳ、ＷＥ、そしてＣＳの異なる組み合わせは、制御ロジック２１２によって受信される異なるコマンドを定義する。コマンドが、メモリアレイ２６０における特定されたロウを開放すべき活性化コマンドであるならば、制御信号２０２はまた、ロウモードインジケータを制御ロジック２１２のメモリモードレジスタ２１４にローディングするためにロードモードレジスタコマンドを含む。
【００３１】
［００４２］アドレシング回路２２０は制御ロジック２１２に結合される。アドレシング回路２２０は制御ロジック２１２からのデコードされた制御信号を受信する。アドレシング回路２２０は入力としてアドレス信号を受信する。アドレス信号２０４はコマンドのアドレス部分を提供する。アドレシング回路２２０は活性化コマンドによってアドレス信号２０４からロウアドレスを受信する。アドレシング回路２２０は受信したロウアドレスを、ロウアドレスバッファ２３０のセットの第１のバッファＲＡＢ０に供給する。メモリモードレジスタ２１４におけるロウモードインジケータが、開放すべきロウの数がＭ（例えばＭは４に等しい）であることを示すならば、アドレシング回路２２０は、受信したロウアドレスからのＭ−１個の連続するロウアドレスを計算して、Ｍ−１個の連続するロウアドレスを、ロウデータバッファ２３０のセットの残りのロウアドレスバッファＲＡＢ１、ＲＡＢ２、ＲＡＢ３に供給する。アドレシング回路２２０は、簡単な増加（increment）を使用することによって受信したロウアドレスからのＭ−１個の連続するロウアドレスを計算する。この実施形態において、ロウアドレスバッファ２３０のセットにおけるロウアドレスバッファの数は、ロウデータバッファ２８０のセットにおけるロウデータバッファの数に等しいことに注意されたい。ロウデータバッファ２８０のセットの中にＮ個のロウデータバッファが存在するならば、ロウモードインジケータは開放すべきＭ個のロウを特定することができる。但し、ＭはＮに等しいかあるいはＮ未満であることを条件とする。アドレシング回路２２０は、読み取りあるいは書き込みコマンドによってアドレス信号２０４」からカラムアドレスを受信する。アドレシング回路２２０は受信したカラムアドレスをカラムデコーダ２９０に供給する。
【００３２】
［００４３］実施形態において、ロウアドレスバッファ２３０のセットは、連続するロウアドレスを一度に１つずつ保持するように構成される単一のレジスタを用いて実装される。アドレシング回路２２０は、受信したロウアドレスから連続するロウアドレスを動的に計算する。ロウアドレスバッファ２８０のセットは、ロウが一度に１つずつメモリアレイ２６０から読み取られるときに、連続するロウアドレスに対応するロウの内容をそれぞれ保持するように構成される。この実施形態において、ロウデータバッファ２８０のセットにおいてＮ個のロウデータバッファが存在するならば、ロウモードインジケータは開放すべきＭ個のロウを特定することができる。但し、ＭはＮに等しいかあるいはＮ未満であることを条件とする。この実施形態において、単一のレジスタがロウアドレスバッファ２３０を実装するのに使用される場合には、マルチプレクサ２４０は不要となる。
【００３３】
［００４４］図２の実施形態ではロウアドレスバッファ２３０のセットは、１つ以上のロウアドレスバッファを含み、マルチプレクサ２４０は、ロウアドレスバッファ２３０のセットに結合されるとともに、ロウデコーダ２５０に結合され、ロウアドレスバッファ２３０の選択された１つに保持されているロウアドレスを選択して、当該選択されたロウアドレスをロウデコーダ２５０に供給する。
【００３４】
［００４５］ロウデコーダ２５０は、メモリアレイ２６０に結合される。ロウデコーダ２５０はマルチプレクサ２４０（あるいは、ロウデータバッファ２３０を実装するのに単一のレジスタが使用される実施形態における単一のレジスタ）から選択されたロウアドレスを受信して、当該選択されたロウアドレスに対応する選択されたロウにアクセスする。
【００３５】
［００４６］メモリアレイ２６０は、ロウとカラムに組み立てられたデータ要素を備える。ロウの各々はロウアドレスによってアドレシング可能である。ロウにおけるデータ要素の各々はカラムアドレスによってアドレシング可能である。
【００３６】
［００４７］センス増幅器２７０のアレイは、デマルチプレクサ２７５を介して、メモリアレイ２６０に結合されるとともに、ロウデータバッファ２８０のセットに結合される。センス増幅器２７０のアレイは、選択されたロウを読み取って、選択されたロウの内容をロウデータバッファ２８０の１つに転送する。センス増幅器２７０のアレイはまた、プリチャージコマンドが制御回路２１０によって受信されたときに、選択されたロウの内容をメモリアレイ２６０の選択されたロウに書き戻すために使用される。プリチャージコマンドが制御回路２１０によって受信されたとき、ロウデータバッファ２８０における内容は、センス増幅器２７０のアレイを用いて、メモリアレイ２６０における開放されたロウに１つずつ書き戻される。
【００３７】
［００４８］プリチャージコマンドが上記したように受信されたときにロウデータバッファ２８０における内容を用いて１つずつすべての開放されたロウに書き戻すのではなく、一実施形態において、センス増幅器２７０のアレイは、選択されたロウの内容がロウデータバッファ２８０の１つに送信されることの完了をもって、選択されたロウの内容を選択されたロウに書き戻すように構成される。
【００３８】
［００４９］デマルチプレクサ２７５は、センス増幅器２７０のアレイに結合されるとともに、ロウデータバッファ２８０のセットに結合される。デマルチプレクサ２７５は、選択されたロウの内容をセンス増幅器のアレイからロウデータバッファ２８０の１つに供給する。選択されたロウの内容を受信するロウデータバッファ２８０の１つは、選択されたロウアドレスを保持するロウアドレスバッファ２３０の１つに対応する。
【００３９】
［００５０］ロウデータバッファ２８０のセットは、ロウアドレスバッファ２３０のセットに対応する。ロウデータバッファ２８０のセットにおける各ロウデータバッファは、ロウアドレスバッファ２３０のセットにおける対応するロウアドレスバッファ内に保持される選択されたロウアドレスに対応する選択されたロウの内容を保持するために使用される。ロウアドレスバッファ２８０のセットは、ロウアドレスバッファ２３０内に保持されている連続する選択されたロウアドレスのセットに対応する選択されたロウの各々の内容を保持するのに使用される。ロウデータバッファ２８０のセットは、システム２００のための入力／出力バッファとして使用される。一実施形態において、ロウデータバッファ２８０のセットは、図２に示すように、４つのロウデータバッファを備える。他の実施形態において、ロウデータバッファ２８０のセットは、２つのデータバッファを備える。ロウデータバッファ２８０はフリップフロップあるいはパルスラッチあるいは他の記憶構造を用いて実装される。
【００４０】
［００５１］読み取りコマンドあるいは書き込みコマンドによって、アドレシング回路２２０は、アドレス信号２０４からカラムアドレスを受信する。読み取りコマンドは受信されたカラムアドレスで開放されたロウの特定の１つからの読出しを要求する。書き込みコマンドは、受信されたカラムアドレスで開放されたロウの特定の１つに対する書き込みを要求する。開放されたロウの特定の１つは、ロウデータバッファ２８０のロウデータバッファに対応する。アドレシング回路２２０は、受信したカラムアドレスをカラムデコーダ２９０に供給する。カラムデコーダ２９０は開放されたロウの特定された１つに対応する内容を保持するロウデータバッファにアクセスするとともに、カラムアドレスに対応する内容内の位置にアクセスする。次に、当該位置でロウデータバッファの内容に対して、読み取りまたは書き込みが行われる。読み取り要求は、データをロウデータバッファから入力／出力ポート２９５に転送することによって実行される。書き込み要求の場合、入力／出力ポート２９５から到来するデータは、ロウデータバッファ２８０の１つに書き込まれる。
【００４１】
［００５２］活性化コマンドに続いて、プリチャージコマンドが制御回路２１０によって受信されたときに、対応するロウデータバッファの内容およびセンス増幅器のアレイを用いて一度に１つずつメモリアレイ内の開放されたロウに書き戻すことによって、及び、メモリアレイ内の開放されたロウを閉じることによって、プリチャージコマンドが発行される。開放されたロウのアドレスは、ロウアドレスバッファ２３０のセットから取得される。ロウアドレスバッファのセットを実装するためにただ１つのレジスタが用いられる実施形態において、開放されたロウのアドレスは、容易に再計算される。
【００４２】
［００５３］図３は、本発明の一実施形態に従って構成されるメモリ装置における開放されたロウのプロセス３００を示すフローチャートである。メモリ装置は、ロウとカラムに組み立てられたデータ要素を備え、ロウの各々はロウアドレスによってアドレシングされ、ロウにおけるデータ要素の各々は、カラムアドレスによってアドレシングされる。
【００４３】
［００５４］開始にあたって、プロセス３００は、ロウを開放すべく第１のコマンドを受信する（ブロック３０２）。コマンドは選択されたロウアドレスとロウモードインジケータとを含む。ロウモードインジケータは、選択されたロウアドレスから開始して開放すべくロウの数を特定する。プロセス３００は選択されたロウアドレスを少なくとも１つのロウアドレスバッファにローディングする（ブロック３０４）。プロセス３００は次に、メモリアレイにおける選択されたロウにアクセスするために、ロウデコーダを用いて選択されたロウアドレスをデコードする（ブロック３０６）。プロセス３００は、センス増幅器のアレイを用いて、選択されたロウを読み取って、選択されたロウの内容をロウデータバッファのセットの対応するロウデータバッファに転送する（ブロック３０８）。開放すべきロウの特定された数が１よりも大きくないときには、プロセス３００は終了となる。開放すべきロウの特定された数が１よりも大きいならば、プロセス３００は選択されたロウアドレスに基づいて、連続する選択されたロウアドレスを計算するとともに（ブロック３１０）、選択されたロウアドレスを連続する選択されたロウアドレスによって置き換えながら、ブロック３０４、３０６、および３０８における動作を反復する（ブロック３１２）。開放すべきロウの特定された数がＮに等しいならば（ここでＮは２よりも大きい数である）、プロセス３００は、メモリアレイから読み取られた特定されたＮの内容がロウデータバッファのセットの対応するロウデータバッファに保持されるまで、ブロック３１０および３１２における動作を反復する（ブロック３１４）。次にプロセス３００は終了となる。
【００４４】
［００５５］図４は、本発明の実施形態に従って構成されたメモリ装置におけるロウからの読出しを要求するコマンドに応答するプロセス３００を示すフローチャートである。読み取りコマンドは活性化コマンドに続く。
【００４５】
開始にあたって、プロセス４００は、ロウの開放された特定された数の特定されたロウからの読出しを要求するコマンドを受信する（ブロック４１０）。特定されたロウの内容はロウデータバッファのセットの対応するロウデータバッファ内に保持される。プロセス４００はコマンドに応答して対応するロウデータバッファから読み取る（ブロック４２０）。次にプロセス４００は終了となる。
【００４６】
［００５６］図５は、本発明の一実施形態に従った構成されたメモリ装置におけるロウに対する書き込みを要求するコマンドに応答するプロセス５００を示すフローチャートである。書き込みコマンドは活性化コマンドに続く。
【００４７】
［００５７］開始にあたって、プロセス５００は開放されたロウの特定されたロウに対する書き込みを要求するコマンドを受信する（ブロック５１０）。コマンドは入力データを備える。特定されたロウの内容は対応するロウデータバッファ内に保持される。プロセス５００は入力データを、特定されたロウの内容を保持する対応するロウデータバッファに書き込む（ブロック５２０）。次にプロセス５００は終了となる。
【００４８】
［００５８］図６は、本発明の一実施形態に従って構成されたメモリ装置におけるプリチャージを要求するコマンドに応答するプロセス６００を示すフローチャートである。プリチャージコマンドは活性化コマンドに続く。
【００４９】
［００５９］開始にあたって、プロセス６００は、プリチャージを要求するコマンドを受信する（ブロック６１０）。プロセス６００は、対応するロウデータバッファの内容と、センス増幅器のアレイとを用いて、一度に１つずつメモリアレイにおける開放されたロウに書き戻す（ブロック６２０）。開放されたロウのロウアドレスはロウアドレスバッファのセット内に保持される。プロセス６００は次に、メモリアレイにおける開放されたロウを閉じる（ブロック６３０）。次にプロセス６００となる。
【００５０】
［００６０］図７は、図１に示されるメモリコントローラ１２０の実施形態７００を示す図である。システム７００はアービタ７１０と、メモリマッパ７２０と、コマンド生成器７３０と、を備える。
【００５１】
［００６１］アービタ７１０は、複数の要求器からのメモリアクセス要求を受信するように構成される。アービタ７１０は、一度に１つの要求器に対してサービス提供するように要求器の間で仲裁を行う。アービタ７１０は順番にサービス提供のためのメモリアクセス要求をスケジューリングする。要求器からのメモリアクセス要求は、データ要素の論理的アドレスを含む。アービタ７１０はまた、サービス提供されるメモリアクセス要求に対してメモリアレイにおいて開放すべきロウの数を決定するように構成される。
【００５２】
［００６２］本発明の一実施形態において、アービタ７１０は、中央処理システム１１０に含まれるプロセッサ１１２から受信される命令に従ってメモリアレイにおいて開放すべきロウの数を決定する。プロセッサ１１２からの命令は、メモリアレイにおいて開放すべきロウの数を特定する。中央処理システム１１０のプロセッサ１１２はプロセッサ１１２において含まれるロウ決定モジュール１１６を実行することができる。実行されたロウ決定モジュール１１６は、システム７００を監視することによって取得される使用状況（use case）に基づいて、メモリアレイ２６０において開放されるべきロウの数を決定する。
【００５３】
［００６３］本発明の他の実施形態において、アービタ７１０は、サービス提供される要求器のメモリアクセスパターンを監視することによって、メモリアレイにおいて開放されるべきロウの数を決定する。アービタ７１０はメモリアクセス局所性を測定するために要求器のメモリ使用パターンを監視する。一実施形態において、アービタ７１０は、ロウヒットに対するロウミスの比率を監視することによって、要求器のメモリアクセスパターンを監視するとともに、ロウヒットに対するロウミスの比率がしきい値を越えるならば、開放すべきロウの数を１つ以上のロウであると決定するように構成される。他の実施形態において、要求器のメモリアクセスパターンを監視して、開放すべきロウの数を決定することは、メモリコントローラ１２０に含まれる他のモジュールによって実行される。
【００５４】
［００６４］開放されたロウの内容がいったんロウデータバッファ内にラッチされる（あるいは複数の開放されたロウの場合には、開放されたロウの内容（複数）がロウデータバッファ（複数）内にラッチされる）と、開放されたロウ（あるいは開放されたロウ（複数））における異なるカラムアドレスに対する次のメモリ要求は、ロウデータバッファ（あるいはロウデータバッファ（複数））から迅速にサービス提供される。そのようなメモリアクセスはロウヒットと名付けられる。異なるロウが要求され、ロウデータバッファ（ロウデータバッファ（複数））の内容（あるいは内容（複数））を変更する必要があるならば、メモリアクセスはロウミスと名付けられる。ロウヒットに関しては、ロウデータバッファ２８０のみが利用され、メモリアレイ２６０に対するアクセスは必要とされない。
【００５５】
［００６５］メモリマッパ７２０はアービタ７１０に結合される。メモリマッパ７２０は、データ要素の論理的アドレスをロウアドレスとカラムアドレスを含む物理アドレスに変換するように構成される。
【００５６】
［００６６］コマンド生成器７３０はメモリマッパ７２０とアービタ７１０とに結合される。コマンド生成器７３０はメモリアクセス要求に対応するコマンドの列を生成するとともに、当該コマンドの列をメモリ装置１３０に送信するように構成される。コマンドの列の１つのコマンドは、開放すべきロウの数を特定するロウモードインジケータを含む。例えば、ロードモードレジスタコマンドは、ロウモードインジケータを、メモリ装置１３０のメモリモードレジスタにローディングするために、メモリ装置１３０に送信される。
【００５７】
［００６７］従来技術の一般的なＳＤＲＡＭにおいて、メモリアレイに対してただ１つのロウが開放可能である。ロウは、メモリコントローラのいわゆる“オープンページ”方針のもとに開放状態にとどまる。同じメモリアレイにおいて新たなロウが開放されることを要求されたならば、ＳＤＲＡＭは現在開放しているロウを閉じその後、新たなロウを活性化してロングラテンシーペナルティ（long latency penalty）を引き起こす。一般的なＳＤＲＡＭの動作において用いられる種々のコマンド及び時間遅延が以下に説明される。
【００５８】
［００６８］図８は従来技術のＳＤＲＡＭの簡略化された状態図を示す。ＳＤＲＡＭは種々の状態を持つ簡略化された状態マシンとして記述することができる。説明を簡単にするために、図８は、以下の状態のみを示す：アイドル、アクティブ、読み取り、自動プリチャージ有り読み取り、書き込み、自動プリチャージ有り書き込み、そしてプリチャージ動作。他の状態は省略される。説明を簡略化するために、状態図はただ１つのメモリアレイに関してのみ説明される。１つの状態から他の状態への推移はコマンドによってトリガーされ、状態マシンが他のコマンドに応答する準備ができる前に最小の遅延時間が要求される。状態図に関して、状態の推移は矢印として示され、当該状態の推移に対するトリガーコマンドの列は、矢印の近くに示される。状態図において、細い幅を有する矢印は、コマンドの列によってトリガーされる状態の推移を示し、太い幅を持つ矢印は、自動シーケンスによってトリガーされた状態の推移を示す。
【００５９】
［００６９］初期化シーケンスが実行された後あるいはリフレッシュ動作の後、ＳＤＲＡＭはアイドル状態になる。アイドル状態において、メモリアレイはプリチャージされる。
【００６０】
［００７０］ＳＤＲＡＭが読み取りあるいは書き込みコマンドに応答する準備ができる前に、メモリアレイにおけるロウはまず開放すなわち活性化される必要がある。メモリアレイにおけるロウを活性化するために、メモリコントローラはメモリアレイとアクセスすべきロウを特定する活性化（ＡＣＴ）コマンドを送信する。活性化コマンドに応答して、状態マシンはアイドル状態からアクティブ状態に移行する。ロウを活性化するのに要する時間はロウーカラム遅延と呼ばれる。またこの時間はロウコマンド遅延あるいはロウコマンドからカラムコマンドへの遅延と呼ばれ、記号ｔRCDと記述される。この変数ｔRCDは、ＳＤＲＡＭの制御回路のコマンドインタフェースで活性化コマンドをラッチし、制御回路をプログラミングし、メモリアレイにおける特定されたロウからのデータ内容をセンス増幅器のアレイ内に読み込み、ロウの内容内における特定されたカラムアドレスへのアクセスの準備のためにデータ内容をロウデータバッファにラッチするのに必要な最小時間を示している。
【００６１】
［００７１］特定されたロウが活性化された後、センス増幅器のアレイ及びロウデータバッファは特定されたロウの内容を含む。特定されたロウからセンス増幅器のアレイへのこの読出しは特定されたロウに対して破壊的である。この時点で、アクセスすべき開始カラムアドレスを特定する、読み取り（ＲＤ）あるいは書き込み（ＷＲ）コマンドが発行される。読み取り（ＲＤ）コマンドに応答して、状態マシンはアクティブ状態から読み取り状態に推移する。書き込み（ＷＲ）コマンドに応答して、状態マシンはアクティブ状態から書き込み状態に推移する。開放されたロウから特定されたカラムアドレスでデータを読み出すための時間はカラムアドレスストローブ（ＣＡＳ）ラテンシーと呼ばれ、記号ｔCASによって表記される。変数ｔCASは、ＳＤＲＡＭの制御回路のコマンドインタフェースでコマンドをラッチし、制御回路をプログラミングし、ロウデータバッファから要求されたデータを分岐（gate）させ、データをメモリバス上に置くのに必要な最小時間を表す。
【００６２】
［００７２］従来技術のＳＤＲＡＭにおいて、メモリアレイごとにただ１つのロウが一度に開放されることができる。同じメモリアレイにおける他のロウにアクセスするためには、まず開放されたロウを閉じなければならない。ロウが開放状態にある限りにおいて、メモリコントローラは他の読み取り（ＲＤ）コマンドを同じ開放されたロウに発行することができ、状態マシンは読出し状態に留まる。同様にして、ロウが開放に留まる限りにおいて、メモリコントローラは他の書き込み（ＷＲ）コマンドを同じ開放されたロウに発行することができ、状態マシンは書き込む状態に留まる。新たな読み取りあるいは書き込みコマンドなしにある時間間隔が経過したとき、状態マシンは自動的にアクティブ状態に戻る。開放されたロウがもはや必要でないときあるいはメモリアレイにおける他のロウを開放する必要があるとき、メモリコントローラは開放されたロウを閉じるためにプリチャージ（ＰＲ）コマンドを発行する。プリチャージ（ＰＲ）コマンドに応答して、状態マシンはアクティブ状態からプリチャージ状態さらにアイドル状態に推移する。他のロウを開放すべくメモリコントローラは、他の活性化（ＡＣＴ）コマンドを発行し、状態マシンは上記したように、アイドル状態からアクティブ状態に移動する。
【００６３】
［００７３］自動プリチャージ（ＲＤＡ）コマンド有りの読み取りコマンドあるいは自動プリチャージ（ＷＲＡ）有りの書き込みコマンドがメモリコントローラによって送信される。これは、ＳＤＲＡＭの制御回路がある条件（（１）活性化コマンドが発行されてから最小のバンク活性化時間（さらにＲＡＳ活性化時間、ｔRASと記述される）が経過した（２）最近の読み取りコマンドが発行されてから読み取りからプリチャージへの最小の遅延（ｔRTPと記述される）が経過した）が満たされると同時に、開放されたロウを自動的に閉じることを可能にする。自動プリチャージ（ＲＤＡ）有り読み取りに応答して、状態マシンはまず自動プリチャージ状態有りの読み取り、次にプリチャージ状態、次にアイドル状態に移動する。自動プリチャージ（ＷＲＡ）有りの書き込みに応答して、状態マシンはまず自動プリチャージ状態有りの書き込みに移行し、次にプリチャージ状態に、次にアイドル状態に移動する。
【００６４】
［００７４］プリチャージ動作はデータラインおよびＳＤＲＡＭのセンス増幅器のアレイが、センス増幅器のアレイ内に記憶された電荷をデータ要素の開放されたロウ内に送信する準備をする。プリチャージ動作はＳＤＲＡＭコアにデータ要素の次のロウを開放する準備をさせる。開放されたロウをプリチャージするための時間は、ロウアクセスストローブプリチャージ遅延と呼ばれる。この時間はまた、バンクプリチャージ遅延とも呼ばれ、記号ｔRPによって表記される。同じメモリアレイに対する連続する活性化コマンド間の最小時間間隔は、メモリ装置のロウサイクル時間と呼ばれ、記号ｔRCによって記述される。ロウサイクル時間（ｔRC）は、バンク活性化時間（ｔRAS）と、バンクプリチャージ遅延（ｔRP）との和に等しい。ＳＤＲＡＭにおける２つの異なるメモリアレイに対する２つの活性化コマンド間の最小時間間隔は、読み取りー読み取り遅延と呼ばれ、記号ｔRRDによって表記される。上記したすべての時間間隔（遅延とも呼ばれる）はクロックサイクルによって表現される。要求された時間遅延を満足するために、ノーオペレーション（Ｎｏｐと記述する）を要求するコマンドが、他のコマンド間においてメモリコントローラによって送信される。
【００６５】
［００７５］図９は従来技術の一般的なＳＤＲＡＭの同一のメモリアレイにおいて２つの異なるロウの２つの活性化のタイミング図を示す図である。
【００６６】
［００７６］図９を参照すると、第１のラインはメモリコントローラから受信したクロック信号ＣＫ及びその相補的クロック信号ＣＫ＃とを示す。ここにおいて時間軸は左から右に進む。図９の第２のラインは、図９の第３のラインに関して示されるコマンドに関連するアドレス信号を示す。アドレス信号及びコマンドはメモリコントローラから受信される。図９に示される、ロウ−カラム遅延（ｔRCDによって記述される）、読み取りー読み取り遅延（ｔRRDによって記述される）、バンク活性化時間（ｔRASによって記述される）、バンクプリチャージ遅延（ｔRPによって記述される）、そしてロウサイクル時間（ｔRCによって記述される）は図８の記述において説明される。
【００６７】
［００７７］図９を参照すると、第２の活性化コマンドに続く第２の読み取りコマンドは、図９に示されていない。第１の読み取りコマンドと同様に、第２の読み取りコマンドは、同一のロウ−カラム遅延（ｔRCD）が第２の活性化コマンドから経過した後に発行される。すなわち、第１の読み取り動作の完了から第２の読み取りコマンドの開始までを計数すると、引き起こされるラテンシーはバンクプリチャージ遅延（ｔRP）とロウ−カラム遅延（ｔRCD）の和に等しい。
【００６８】
［００７８］図１０は本発明の実施形態に従って構成されたＳＤＲＡＭの同一のメモリアレイにおける２つの異なるロウの２つの活性化のタイミング図を示す図である。活性化コマンドがメモリコントローラ１２０から受信された後、１つ以上のロウが特定されたロウアドレスから開始して開放される。開放されたロウがもはや不要となるまであるいは現在開放していないロウを活性化するためのコマンドが受信されるまでオープン状態に留まる。開放すべきロウの数は好適化可能であり、メモリコントローラ１２０によって決定される。開放されたロウ間の新たなロウにアクセスするときに、現在の開放されたロウを閉じる必要はなく（すなわち、メモリアレイをプリチャージする必要はなく）、新たなロウを活性化する必要がない。図１０はそのような状況を示す。図１０は、すでに開放しているロウの間の新たなロウに対する読み取りコマンドは、プリチャージコマンド及び新たな活性化コマンドに干渉することを必要としないで以前の読み取り動作の完了で発行されることが可能である。すなわち、第１の読み取りに続いて、第２の読み取りがすでに開放しているロウの間の異なるロウに対して行われる場合において、そのタイミング図が図９に示される従来技術のＳＤＲＡＭとは異なり、従来技術のＳＤＲＡＭにおける第２の読み取りに関連する、ロウ−カラム遅延（ｔRCD）およびバンクプリチャージ遅延（ｔRP）に起因するラテンシーは存在しない。
【００６９】
［００７９］図１１は、本発明の実施形態に従って構成されたＳＤＲＡＭの簡略化された状態図を示す図である。本発明の実施形態に従って構成されたＳＤＲＡＭは種々の状態をもつ単純な状態マシンとして記述されることができる。説明の簡単さのために、図１１は以下の状態のみを示している。すなわち、アイドル、アクティブ、読み取り、マルチロウ読み取り、マルチロウ書き込み、自動プリチャージ有りの読み取り、書き込み、自動プリチャージ有りの書き込み、そしてプリチャージ動作である。他の状態は省略されている。説明を簡単にするために、状態図はただ１つのメモリアレイのみに関して説明される。１つの状態から他の状態への推移はコマンドによってトリガーされ、状態マシンが他のコマンドに応答する準備ができる前に最小の遅延を必要とする。図１１の状態図に関して、状態推移は矢印で示されるとともに、状態推移に対するトリガーコマンドは矢印の近くに示される。状態図において、細い幅を持つ矢印はコマンドの列によってトリガーされた状態推移を示し、太い幅をもつ矢印は自動シーケンスによってトリガーされた状態遷移を示す。図１１の状態図は、マルチロウ読み取り状態及びマルチロウ書き込み状態が追加された点において図８の状態図とは異なっている。
【００７０】
［００８０］初期化シーケンスが実行された後あるいはリフレッシュ動作の後、ＳＤＲＡＭはアイドル状態に移行する。アイドル状態において、メモリアレイはプリチャージされる。
【００７１】
［００８１］ＳＤＲＡＭにおけるロウを開放すべくメモリコントローラはメモリアレイ及びアクセスすべきロウのアドレスを特定する活性化（ＡＣＴ）コマンドを送信する。活性化コマンドはまた、開放すべき連続するロウの数を特定するためにロウモードインジケータを含む。アクティブコマンドに応答して、状態マシンはアイドル状態からアクティブ状態に移行する。
【００７２】
［００８２］ロウモードインジケータがただ１つのみのロウが開放していることを特定するならば、特定されたロウアドレスをもつロウのみが活性化される。特定されたロウが活性化された後、センス増幅器のアレイ及びロウデータバッファは特定されたロウの内容を含む。特定されたロウからセンス増幅器のアレイへのこの読み取りは特定されたロウに対して破壊的である。この時点で、読み取り（ＲＤ）あるいは書き込み（ＷＲ）コマンドが発行可能であり、アクセスすべき開始カラムアドレスを特定する。読み取り（ＲＤ）コマンドに応答して、状態マシンはアクティブ状態から読み取りコマンドへ移行する。書き込み（ＷＲ）コマンドに応答して、状態マシンはアクティブ状態から書き込み状態へと移行する。特定されたロウが開放状態に維持される限り、メモリコントローラは他の読み取り（ＲＤ）コマンドを同一の開放されたロウに発行することができ、状態マシンは読み取り状態に維持される。同様にして、特定されたロウが開放状態に維持される限り、メモリコントローラは他の書込む（ＷＲ）コマンドを同一の開放されたロウに対して発行することができ、状態マシンは書き込み状態に留まる。新たな読み取りあるいは書き込みコマンドなしにある時間間隔が経過したときに、状態マシンは自動的にアクティブ状態に戻る。
【００７３】
［００８３］ロウモードインジケータが開放すべきＮ個のロウを特定するならば、（ここにおいて、Ｎは１よりも大きく、ＳＤＲＡＭ内のロウデータバッファの全数に等しいかそれよりも小さい）特定されたロウ及びＮ−１個の連続するロウは一度に１つずつ活性化される。Ｎ個のロウの各々が活性化されたとき、活性化されているロウの内容がメモリアレイにおけるロウから、センス増幅器のアレイへ、その後、Ｎ個の対応するロウデータバッファに読み出される。読み取り（ＲＤ）コマンドに応答して、状態マシンはアクティブ状態からマルチロウ読み取り状態に移行する。書き込み（ＷＲ）コマンドに応答して、状態マシンは、アクティブ状態からマルチロウ書き込み状態に移行する。
【００７４】
［００８４］Ｎ個のロウが開放状態を維持する限り、メモリコントローラは他の読み取り（ＲＤ）コマンドをＮ個の開放されたロウのいずれかに発行することができ、状態マシンはマルチロウ読み取り状態に維持する。同様にして、Ｎ個のロウが開放状態を維持する限り、メモリコントローラは他の書き込み（ＷＲ）コマンドをＮ個の開放されたロウのいずれかに発行することができ、状態マシンはマルチロウ書き込み状態に維持される。読み取りあるいは書き込みコマンドなしにある時間間隔が経過したとき、状態マシンは自動的にアクティブ状態に戻る。Ｎ個の開放されたロウがもはや必要でないときあるいはメモリアレイにおける開放されていないロウが開放される必要があるとき、メモリコントローラはＮ個の開放されたロウを閉じるためにプリチャージ（ＰＲ）コマンドを発行する。プリチャージ（ＰＲ）コマンドに応答して、状態マシンはアクティブ状態からプリチャージ状態へ、その後、アイドル状態に移行する。他のロウを開放すべくメモリコントローラは他の活性化（ＡＣＴ）コマンドを発行し、状態マシンは上記したようにアイドル状態からアクティブ状態に移行する。
【００７５】
［００８５］自動プリチャージ（ＲＤＡ）有り読み取りコマンドあるいは自動プリチャージ（ＷＲＡ）有り書き込みコマンドは、メモリコントローラによって送信されることができる。これは、ある条件（（１）活性化コマンドが発行されてから最小のバンク活性化時間（ＲＡＳ活性化時間と呼ばれ、ｔRASと記述される）が経過した（２）もっとも最近の読み取りコマンドが発行されてから最小の読み取りからプリチャージ遅延（ｔRTP）が経過した）が満たされるとすぐに、ＳＤＲＡＭの制御回路が開放されたロウを一度に１つずつ開放されたロウを自動的に閉じることを可能にする。自動プリチャージ有りの読み取りに応答して、状態マシンはまず自動プリチャージ有りの読み取り状態からプリチャージ状態へ、その後、アイドル状態に移行する。自動プリチャージ（ＷＲＡ）コマンド有りの書き込みコマンドに応答して、状態マシンはまず、自動プリチャージ有りの書き込み状態へ、その後、プリチャージ状態へ、その後、アイドル状態に移行する。
【００７６】
［００８６］用語“例示的”はここでは、“例、例証、あるいは実例として寄与すること”を意味するのに用いられる。ここにおいて“例示的”として記述される実施形態は、他の実施形態と比較して好ましいあるいは有利であると解釈されるべきではない。同様にして、“本発明の実施形態”という術語は、本発明の全ての実施形態が上記した特徴、利点、動作のモードを含むことを要求されるわけではない。
【００７７】
［００８７］ここに用いられる術語は、特定の実施形態について説明するためのみに用いられ、本発明の実施形態を制限することを意図していない。ここに用いられるように、単数形である“１つの（a、an、the）”は、文脈が他の意味であることを明確にしていない限り、複数形をも含むことを意図している。さらに、ここで使用される、術語“備える（comprises）”、“備えること（comprising）”、“含む（includes）”及び／または“含むこと（including）”は、述べられた特徴、整数、ステップ、動作、要素、及び／またはコンポーネントの存在を特定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び／又はそれらのグループの存在あるいは追加を除外するものではない。
【００７８】
［００８８］さらに、一部の実施形態は、例えば計算装置の要素によって実行されるべき動作の順番に従って記述される。ここに記述される種々の動作は、特定の回路（例えば特定用途向け集積回路（ＡＳＩＣ））によって、１つ以上のプロセッサによって実行されるべきプログラム命令によって、あるいは両方の組み合わせによって実行されることを認識すべきである。すなわち、本発明の種々の側面は、多数の異なる形態において具現化されることができるが、そのすべては、請求された主題の範囲内にある。さらに、ここに記述された実施形態の各々に関して、そのような実施形態の対応する形態はここでは、例えば、記述された動作を実行する“ように構成された論理”として記述される。
【００７９】
［００８９］さらに、特定の特徴、機能に従ったアプリケーションによって種々の手段によって実装されることができる。これらの手段は、ハードウエア、ソフトウエア、あるいはファームウエア、あるいはそれらの組み合わせを含むことができる。
【００８０】
［００９０］当業者ならば、情報及び信号は種々の異なる技術及び手法を使用して表されることを理解するであろう。例えば、上記説明の全体にわたって参照された、データ、命令、コマンド、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁波、磁界あるいは粒子、光界あるいは粒子、あるいはそれらの組み合わせによって表される。
【００８１】
［００９１］さらに、当業者ならば、個々に開示された実施形態に関連して記述された種々の例示的論理ブロック、モジュール、回路そしてアルゴリズムは、電子的ハードウエア、コンピュータソフトウエア、あるいは両方の組み合わせ、として実装されることができる。ハードウエアとソフトウエアのこのような交換性を明確に例示するために、種々の例示的コンポーネント、ブロック、モジュール、回路、そしてステップがこの機能性にしたがって上述された。そのような機能性がハードウエアあるいはソフトウエアとして実装されるかどうかは特定のアプリケーションおよびシステム全体に課せられる設計上の制限による。当業者ならば、各特別なアプリケーションに対して種々の方法によって記述された機能性を実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００８２】
［００９２］したがって、本発明は、例示された例に限定されることはなく、ここに記述された機能性を実行するための手段は、本発明の実施形態に含まれるものである。
【００８３】
［００９３］上記した開示は本発明の例示的実施形態を示すものであるが、添付の請求項によって規定される発明の範囲から逸脱することなしに種々の変更及び改善が可能であることに注意すべきである。個々に記述された本発明の実施形態にしたがった方法に係る請求の範囲の機能、ステップ及び／又は動作は特定の順番で実行される必要はない。さらに、本発明の要素は単数形で記述あるいは請求されるが、単数形に対する制限が明示的に述べられている場合を除いて複数形についても考量することができる。
以下に本願出願当初の特許請求の範囲を付記する。
[Ｃ１]
メモリ装置であって、
ロウとカラムに組み立てられたデータ要素を備えるメモリアレイであって、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であるメモリアレイと、
連続する選択されたロウアドレスのセットの選択されたロウアドレスを保持するための少なくとも１つのロウアドレスバッファと、
連続する選択されたロウアドレスの前記セットに対応する選択されたロウの各内容を保持するためのロウデータバッファのセットと、
前記少なくとも１つのロウアドレスバッファと前記メモリアレイとに結合され、前記選択されたロウアドレスを受信するとともに、前記選択されたロウアドレスを復号して前記メモリアレイの選択されたロウにアクセスするためのロウデコーダと、
前記メモリアレイに結合されるとともにロウデータバッファのセットに結合され、前記選択されたロウを読み取って、前記選択されたロウの内容を前記ロウデータバッファの１つに転送するとともに、前記選択されたロウの内容を前記選択されたロウに書き戻すためのセンス増幅器のアレイと、
センス増幅器の前記アレイと、ロウデータバッファの前記セットとに結合され、前記選択されたロウの前記内容をセンス増幅器の前記アレイから前記ロウデータバッファの前記１つに供給するためのデマルチプレクサと、を備えるメモリ装置。
[Ｃ２]
前記少なくとも１つのロウアドレスバッファは、前記連続する選択されたロウアドレスを一度に１つずつ保持するように構成された単一のレジスタであり、前記連続する選択されたロウアドレスは、前記連続する選択されたロウアドレスの第１から動的に計算され、ロウデータバッファの前記セットはそれぞれ、前記連続する選択されたロウアドレスに対応するロウの内容を保持するように構成されるＣ１に記載のメモリ装置。
[Ｃ３]
前記少なくとも１つのロウアドレスバッファはそれぞれ、連続する選択されたロウアドレスの前記セットを保持するように構成されたロウドレスバッファのセットであり、前記ロウアドレスバッファの前記セットは、ロウデータバッファの前記セットに対応し、前記メモリ装置はさらに、
ロウアドレスバッファの前記セットに結合されるとともに、前記ロウデコーダに結合され、前記ロウアドレスバッファの選択された１つに保持されているロウアドレスを選択するとともに、前記選択されたロウアドレスを前記ロウデコーダに供給するためのマルチプレクサをさらに備える、Ｃ１に記載のメモリ装置。
[Ｃ４]
センス増幅器の前記アレイは、前記選択されたロウの内容の前記ロウデータバッファの前記１つへの送信の完了で、前記選択されたロウの前記内容を前記選択されたロウに書き戻すように構成されるＣ１に記載のメモリ装置。
[Ｃ５]
第１のコマンドを受信して復号するための制御回路であって、前記第１のコマンドは特定されたロウアドレスと、ロウモードインジケータとを含み、前記ロウモードインジケータは開放すべきロウの数を特定し、前記ロウモードインジケータを保持するためのメモリモードレジスタを備える制御回路をさらに備える、Ｃ１に記載のメモリ装置。
[Ｃ６]
前記制御回路は、前記メモリアレイに、前記特定されたロウアドレスから開始してロウの前記特定された数を開放させるように構成され、ロウの前記開放された特定された数の内容は、保持のために、対応するロウデータバッファに転送される、Ｃ５に記載のメモリ装置。
[Ｃ７]
前記制御回路は、前記第１のコマンドに続いて第２のコマンドを受信するように構成され、前記第２のコマンドはロウの前記開放された特定された数の特定されたロウからの読み取りを要求し、前記特定されたロウの前記読み取りは、対応するロウデータバッファからの読み取りによって実行される、Ｃ６に記載のメモリ装置。
[Ｃ８]
前記制御回路は、前記第１のコマンドに続いて第３のコマンドを受信するように構成され、前記第３のコマンドはロウの前記開放された特定された数の特定されたロウへの書き込みを要求し、前記特定されたロウの内容は対応するロウデータバッファに保持され、前記書き込みは前記対応するロウデータバッファへの書き込みによって実行される、Ｃ６に記載のメモリ装置。
[Ｃ９]
前記制御回路は、前記第１のコマンドに続いて第４のコマンドを受信するように構成され、前記第４のコマンドはプリチャージを要求し、前記プリチャージは、対応するロウデータバッファの内容と、センス増幅器の前記アレイとを使用して、前記メモリアレイにおけるロウの前記開放された特定された数に一度に１つずつ書き戻すとともに、ロウの前記開放された特定された数を閉じることによって実行される、Ｃ６記載のメモリ装置。
[Ｃ１０]
ロウデータバッファの前記セットは、４個のロウデータバッファを備える、Ｃ１に記載のメモリ装置。
[Ｃ１１]
メモリ装置におけるロウを開放する方法であって、前記メモリ装置はロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含み、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、前記方法は、
（ａ）ロウを開放すべく第１のコマンドを受信し、前記コマンドは選択されたロウアドレスと、前記選択されたロウアドレスから開始して開放すべきロウの数を特定するロウモードインジケータと、を含み、
（ｂ）前記選択されたロウアドレスを少なくとも１つのロウアドレスバッファにローディングし、
（ｃ）ロウデコーダを使用して前記選択されたロウアドレスをデコードして、前記メモリアレイにおける選択されたロウにアクセスし、
（ｄ）センス増幅器のアレイを使用して前記選択されたロウを読み取って、前記選択されたロウの内容をロウデータバッファのセットの対応するロウデータバッファに転送し、
開放すべきロウの前記特定された数が１よりも大きいならば、
（ｅ）前記選択されたロウアドレスに基づいて、連続する選択されたロウアドレスを計算し、
（ｆ）前記選択されたロウアドレスを前記連続する選択されたロウアドレスによって置き換えながら、動作（ｂ）、（ｃ）及び（ｄ）を反復する、動作を備える、方法。
[Ｃ１２]
開放すべきロウの前記特定された数はＮに等しく、該Ｎは２よりも大きく、前記方法はさらに、
前記メモリアレイから読み出された前記特定されたＮ個のロウの内容が、ロウデータバッファの前記セットの対応するロウデータバッファ内に保持されるまで動作（ｅ）及び（ｆ）を反復することをさらに備えるＣ１１に記載の方法。
[Ｃ１３]
前記第１のコマンドに続いて第２のコマンドを受信することであって、前記第２のコマンドはロウの前記開放された特定された数の特定されたロウからの読み出しを要求し、前記特定されたロウの内容は、対応するロウデータバッファに保持されることと、
前記第２のコマンドに応答して、前記対応するロウデータバッファから読み取ることと、をさらに備える、Ｃ１１に記載の方法。
[Ｃ１４]
前記第１のコマンドに続いて第３のコマンドを受信することであって、前記第３のコマンドはロウの前記開放された特定された数の特定されたロウへの書き込みを要求し、入力データを備え、前記特定されたロウの内容は対応するロウデータバッファに保持されることと、
前記特定されたロウの内容を保持する前記対応するロウデータバッファに前記入力データを書き込むことと、をさらに備える、Ｃ１１に記載の方法。
[Ｃ１５]
前記第１のコマンドに続いて第４のコマンドを受信することであって、前記第４のコマンドはプリチャージを要求することと、
前記対応するロウデータバッファの内容とセンス増幅器の前記アレイとを使用して、前記メモリアレイにおけるロウの前記開放された特定された数に一度に１つずつ書き戻すことと、
前記メモリアレイにおけるロウの前記開放された特定された数を閉じることと、をさらに備えるＣ１１に記載の方法。
[Ｃ１６]
メモリ装置にアクセスするためのメモリコントローラであって、前記メモリ装置は、ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含み、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、前記メモリ装置は、開放されたロウの好適する数をもつことができ、前記メモリコントローラは、
要求器からのメモリアクセス要求を受信してスケジューリングするためのアービタであって、前記メモリアクセス要求は論理アドレスを含み、前記メモリアクセス要求に対して開放されたロウの前記好適する数を決定するように構成されたアービタと、
前記アービタに結合されて、前記論理アドレスをロウアドレスとカラムアドレスとを含む物理アドレスに変換するためのメモリマッパと、
前記メモリマッパと前記アービタとに結合されて、前記メモリアクセス要求に対応するコマンドの列を生成するとともに、コマンドの前記列を前記メモリ装置に送信するコマンド生成器であって、コマンドの前記列の１つのコマンドは、ロウモードと、開放されたロウの前記好適する数を特定するロウモードインジケータと、を含む、コマンド生成器と、を備えるメモリコントローラ。
[Ｃ１７]
前記アービタは、前記要求器のメモリアクセスパターンを監視して、開放されたロウの前記好適する数を決定するように構成される、Ｃ１６に記載のメモリコントローラ。
[Ｃ１８]
前記アービタは、ロウヒットに対するロウミスの比率を監視することによって前記要求器の前記メモリアクセスパターンを監視するとともに、ロウヒットに対するロウミスの前記比率がしきい値を越えるならば、開放されたロウの前記好適する数を１つ以上のロウであると決定するように構成される、Ｃ１６に記載のメモリコントローラ。
[Ｃ１９]
前記アービタは、プロセッサから受信された命令に従って開放されたロウの前記好適する数を決定するように構成され、前記命令は開放されたロウの前記好適する数を特定する、Ｃ１６に記載のメモリコントローラ。
[Ｃ２０]
システムであって、
ロウとカラムに組み立てられたデータ要素を備えるメモリアレイを含むメモリ装置であって、前記ロウの各々はロウアドレスによってアドレシング可能であり、前記ロウの各々における前記データ要素の各々はカラムアドレスによってアドレシング可能であり、開放されたロウの前記好適する数の内容を保持するためのロウデータバッファのセットを備えるメモリ装置と、
要求器からのメモリアクセス要求を受信するように構成されるとともに、前記メモリ装置にアクセスするために前記メモリ装置に結合されるメモリコントローラと、
前記メモリコントローラに結合されたプロセッサであって、前記プロセッサ内に含まれたロウ決定モジュールを実行することが可能なプロセッサと、を備え、
開放されたロウの前記好適する数は、前記メモリコントローラにより前記要求器のメモリアクセスパターンを監視することによってあるいは、前記プロセッサにより前記ロウ決定モジュールを実行することによって、決定される、システム。
【図１】
0005956089.tif 000002
【図２】
0005956089.tif 000003
【図３】
0005956089.tif 000004
【図４】
0005956089.tif 000005
【図５】
0005956089.tif 000006
【図６】
0005956089.tif 000007
【図７】
0005956089.tif 000008
【図８】
0005956089.tif 000009
【図９】
0005956089.tif 000010
【図１０】
0005956089.tif 000011
【図１１】
0005956089.tif 000012