(57)【要約】  メモリデバイス内のメモリセルの他の行をオープンするアクティベートコマンドの送信の一部として、メモリデバイス内のメモリセルの行をクローズするコマンドを暗示的に送信する装置及び方法である。
2007507831.tif 000002
【特許請求の範囲】
【請求項１】
複数の行のメモリセルに構成されたメモリセルを有する少なくとも１つのバンクと、
前記少なくとも１つのバンクに結合され、特定の行をオープンする行アクティベートコマンドのメモリデバイスによる受信に応じて、前記行アクティベートコマンドが受信されたときに行がオープンでない場合に、前記少なくとも１つのバンク内の特定の行がオープンになり、前記行アクティベートコマンドが受信されたときに前記バンクの特定の行と異なる行がオープンである場合に、前記異なる行がクローズになり、前記特定の行がオープンになる制御ロジックと
を有するメモリデバイス。
【請求項２】
請求項１に記載のメモリデバイスであって、
前記メモリデバイスは、ダイナミック・ランダム・アクセス・メモリであり、
前記行アクティベートコマンドは、前記メモリデバイスに結合されたメモリバスを介して受信され、
前記メモリバスを通じたデータの転送は、データの一部が各半クロック周期で転送され得るように、前記メモリバスを通じて送信されるクロック信号と同期するメモリデバイス。
【請求項３】
請求項１に記載のメモリデバイスであって、
前記制御ロジックは、明示のプレチャージコマンドの受信のみに応じて、前記異なる行をクローズするようにプログラム可能であるメモリデバイス。
【請求項４】
請求項１に記載のメモリデバイスであって、
前記メモリデバイスは、前記メモリデバイスが結合されたメモリバスを介して他のデバイスにより読み取り可能な、前記メモリデバイスの制御ロジックの機能の指示を提供し、特定の行をオープンにする行アクティベートコマンドの受信に応じて、特定の行をオープンにして異なる行をクローズにするメモリデバイス。
【請求項５】
請求項５に記載のメモリデバイスであって、
前記指示は、異なる行をクローズするために前記メモリデバイスにより必要な期間の指定を更に提供するメモリデバイス。
【請求項６】
請求項５に記載のメモリデバイスであって、
行アクティベートコマンドに応じて特定の行をオープンにして異なる行をクローズするための前記メモリデバイスの前記制御ロジックの機能の指示が読み取られ得る別々にアクセス可能な不揮発性メモリ記憶装置を更に有するメモリデバイス。
【請求項７】
メモリデバイス内のメモリセルのバンク内の行に関するデータが格納される第１の記憶位置と、
前記第１の記憶位置に結合され、前記第１の記憶位置内のデータをチェックし、前記バンク内で特定の行が既にオープンであるか否かを決定し、前記特定の行がまだオープンでない場合に、前記第１の記憶位置内のデータをチェックし、異なる行がオープンであるか否かを決定し、前記特定の行がオープンでないと決定され、前記バンクを含むアクセスコマンドを送信する前に前記バンク内の他の行がオープンでない場合に、行アクティベートコマンドを送信し、特定の行をオープンにする行アクティベートコマンドが実行される第１の所定の期間を待機し、前記特定の行がオープンでないと決定され、前記バンクを含むアクセスコマンドを送信する前に異なる行が前記バンク内でオープンである場合に、プレチャージコマンドを更に暗示する行アクティベートコマンドを送信し、前記特定の行をオープンにする前記行アクティベートコマンドと前記異なる行をクローズにする前記暗示のプレチャージコマンドとが実行される第２の所定の期間を待機する制御ロジックと
を有する制御デバイス。
【請求項８】
請求項７に記載の制御デバイスであって、
行アクティベートコマンドは、前記制御デバイスとメモリデバイスとの双方に結合されたメモリバスを介して前記制御ロジックにより前記メモリデバイスに送信され、
前記メモリバスを通じたデータの転送は、データの一部が各半クロック周期で送信可能であるように、前記メモリバスを通じて送信されるクロック信号と同期する制御デバイス。
【請求項９】
請求項７に記載の制御デバイスであって、
前記制御ロジックに結合され、メモリデバイスがバンクの特定の行をオープンにする行アクティベートコマンドの受信に応答可能であるか否かについて、メモリデバイスからの指示を格納する第２の記憶位置を更に有し、異なる行は、前記異なる行をクローズするプレチャージ動作を実行し、前記特定の行をオープンにする行アクティベートコマンドを実行することにより、オープンになる制御デバイス。
【請求項１０】
請求項９に記載の制御デバイスであって、
前記第２の記憶位置は、前記異なる行をクローズする前記プレチャージ動作を実行するために前記メモリデバイスにより必要な期間の長さの指示を前記メモリデバイスから更に格納する制御デバイス。
【請求項１１】
請求項９に記載の制御デバイスであって、
前記制御ロジックは、前記第２の記憶位置にアクセスし、所定のメモリデバイスがバンクの特定の行をオープンする行アクティベートコマンドの受信に応答可能か否かをチェックし、異なる行は、前記異なる行をクローズするプレチャージ動作を実行し、前記特定の行をオープンする行アクティベートコマンドを実行することにより、オープンになる制御デバイス。
【請求項１２】
プロセッサと、
複数のメモリセルが行に構成された少なくとも１つのバンクを有するメモリデバイスと、
前記プロセッサ及び前記メモリデバイスに結合され、前記メモリデバイスの少なくとも１つのバンク内の特定の行をオープンする行アクティベートコマンドを送信し、前記少なくとも１つのバンク内にオープンの行が存在しない場合に、前記特定の行にデータアクセスコマンドを送信する前に、行アクティベート動作が前記メモリデバイスにより実行される第１の所定の期間を待機し、前記メモリデバイスの前記少なくとも１つのバンク内の特定の行をオープンする行アクティベートコマンドを送信し、前記特定の行以外の異なる行がオープンである場合に、前記特定の行にデータアクセスコマンドを送信する前に、異なる行をクローズするプレチャージ動作と行アクティベート動作との双方が実行される第２の所定の期間を待機するメモリコントローラと
を有するコンピュータシステム。
【請求項１３】
請求項１２に記載のコンピュータシステムであって、
前記メモリコントローラは、前記少なくとも１つのバンクで異なる行がオープンである場合に、前記異なる行をクローズするプレチャージ動作を実行して、前記特定の行をオープンにする行アクティベート動作を実行することにより、前記メモリデバイスが前記少なくとも１つのバンク内の特定の行をオープンにする前記メモリコントローラによる行アクティベートコマンドの送信に応答可能であるか否かについて、前記メモリデバイスから指示を受信するロジックを更に有するコンピュータシステム。
【請求項１４】
請求項１３に記載のコンピュータシステムであって、
前記メモリコントローラは、前記プレチャージ動作を実行するために必要な期間について、前記メモリデバイスから指示を受信し、第２の所定の期間を待機するロジックを更に有し、
前記第２の所定の期間の長さは、前記プレチャージ動作を実行するために必要な期間に関して前記メモリデバイスからの指示に少なくとも部分的に基づいて決定されるコンピュータシステム。
【請求項１５】
請求項１２に記載のコンピュータシステムであって、
前記メモリコントローラ及び前記メモリデバイスは、データの転送がバスを通じて送信されるクロック信号に同期するメモリバスを介して結合され、
データの一部は、各半クロック周期で少なくとも転送され得るコンピュータシステム。
【請求項１６】
複数のメモリセルがメモリデバイス内の行に構成されたメモリセルのバンク内の特定の行がオープンであるか否かを決定し、
前記特定の行がクローズである場合に、前記バンク内の異なる行がオープンであるか否かを決定し、
前記バンク内で行がオープンでないことが決定された場合に、前記特定の行をオープンする行アクティベートコマンドを前記メモリデバイスに送信し、前記メモリデバイスに前記特定の行を含むデータアクセス動作のコマンドを送信する前に、行アクティベート動作が前記メモリデバイスにより実行される第１の所定の期間を待機し、
前記バンク内で異なる行がオープンであると決定された場合に、行アクティベートコマンドを前記メモリデバイスに送信し、前記特定の行を含むデータアクセス動作のコマンドを前記メモリデバイスに送信する前に、前記特定の行をオープンする行アクティベート動作と異なる行をクローズするプレチャージ動作とが前記メモリデバイスにより実行されるための第２の所定の期間を待機することを有する方法。
【請求項１７】
請求項１６に記載の方法であって、
前記特定の行がクローズであり異なる行がオープンであるときに、前記異なる行をクローズするプレチャージ動作を実行し、前記特定の行をオープンする行アクティベート動作を実行することにより、前記メモリデバイスが前記バンク内の特定の行をオープンする行アクティベートコマンドに応答する機能を有するか否かについて、前記メモリデバイスから指示を受信する方法。
【請求項１８】
請求項１７に記載の方法であって、
前記メモリデバイスがプレチャージコマンドを送信せずに異なる行をクローズするプレチャージ動作を実行することをサポートするという前記メモリデバイスからの指示が存在しない場合に、オープンになっている前記バンクの異なる行をクローズするために、前記メモリデバイスにプレチャージコマンドを送信すると共に、前記バンク内の特定の行をオープンするために、前記メモリデバイスに行アクティベートコマンドを送信することを先行することを更に有する方法。
【請求項１９】
複数のメモリセルが行に構成されたメモリセルのバンク内で特定の行をオープンにする行アクティベートコマンドを受信し、
前記バンクで行がオープンでない場合に、前記特定の行をオープンにする行アクティベート動作を実行し、
前記特定の行がクローズであり異なる行がオープンである場合に、異なる行をクローズにするプレチャージ動作と前記特定の行をオープンにする行アクティベート動作とを実行することを有する方法。
【請求項２０】
請求項１９に記載の方法であって、
前記特定の行がクローズであり、前記異なる行がオープンである場合に、前記特定の行をオープンにする行アクティベートコマンドを実行することに加えて、バンク内の異なる行をクローズするプレチャージコマンドを実行することにより、バンク内の特定の行をアクティベートする行アクティベートコマンドの送信に応答する機能を有するという指示をメモリコントローラに提供することを更に有する方法。
【請求項２１】
電子装置内のプロセッサにより実行されると、前記電子装置に対して、
メモリ装置が、特定の行がクローズであり異なる行がオープンである場合に、異なる行をクローズするプレチャージ動作と前記特定の行をオープンにする行アクティベート動作とを実行することにより、行に構成された複数のメモリセルを有するメモリセルのバンクの特定の行をオープンにする行アクティベートコマンドに応答可能であるか否かをチェックさせ、
前記特定の行がクローズであり異なる行がオープンである場合にバンクの特定の行をアクティベートする行アクティベートコマンドを送信し、前記特定の行を含むデータアクセスコマンドを前記メモリデバイスに送信する間に、前記異なる行をクローズするプレチャージコマンドと前記特定の行をオープンする行アクティベートコマンドとを実行するようにメモリコントローラにプログラムさせるコードを有する機械アクセス可能媒体。
【請求項２２】
請求項２１に記載の機械アクセス可能媒体であって、
行アクティベートコマンドの受信に応じてプレチャージ動作を実行するために必要な期間についての前記メモリデバイスからの指示に基づいて、所定の期間の長さを前記プロセッサに更に決定させる機械アクセス可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ダイナミック・ランダム・アクセス・メモリ（DRAM：dynamic  random  access  memory）デバイスは、他のメモリ技術（特に、スタティック・ランダム・アクセス・メモリ（SRAM：static  random  access  memory）デバイスを含む）と比較して、高い記録密度及び低い消費電力の利益を提供する。しかし、これらの利益は、読み取りと、書き込みと、DRAMデバイス内のメモリセル及び他の構成要素が後のアクセスに準備ができることを可能にする他の機能とについての各アクセスの前及び／又は後の様々な所要の遅延を招くというコストを生じる。このような遅延の例は、行プレチャージ、リフレッシュ動作、行アクティベーション等である。これらの無数の遅延を効率的に管理する試みは、これらの様々な遅延が招かれる時間が正確に制御されることを可能にするコマンドの生成を生じている。しかし、これは、読み取りアクセスと書き込みアクセスとの間に送信される必要のある更なるコマンドの更なるオーバーヘッドを生成する。
【０００２】
複数の機能を様々な信号入力及び出力に多重化することにより、DRAMデバイスのコスト及び物理サイズを低減するようにすることも、一般的になっている。しかし、この多重化は、コマンド及び／又はアドレスを送信するために複数のフェーズを必要とし、様々な信号入力及び出力がまず１つの機能を果たして次に少なくとも次の機能（それ以上機能がない場合）を果たすことを可能にするために時間が必要な場合に、信号の物理的分離を時間的分離に効率的に交換する。このような時間のコストをもたらす多重化の一例は、DRAMデバイスに送信されるアドレスを、同じ入力信号に多重化される少なくとも２つの部分（通常では少なくとも行アドレス及び列アドレス）に分離することから生じる。それにより、アドレスの第１の部分は１つの別個の期間中に送信される必要があり、それに続いてアドレスの少なくとも第２の部分は少なくとも１つの別個の期間中に送信される必要がある。この別個のフェーズへの時間的分離は、必要な無数のコマンドのオーバーヘッドを更に増加させる。
【０００３】
DRAMデバイスは、DRAMデバイスを作るDRAMセル及びDRAMセルを作るために使用されるトランジスタ等の設計の進歩の結果として進歩的に高速になってきているため、DRAMデバイスの多重化入出力信号を構成するインタフェースが動作する速度も増加する必要がある。コマンドとアドレスとデータとの送信の整合性を維持する一方で、高速のインタフェース速度を実現するために、多重化入力及び出力により実行される様々なフェーズ及び機能を、クロック信号に同期させ、様々な入力及び出力の状態が適切な時間に送信及びラッチされることを確保することが一般的になってきている。まず、メモリバスでのイベントの時間基準として、一般的に全クロック周期が使用される。しかし、高速のDRAMデバイスは、近年ではメモリバスでのイベントの時間基準として半クロック周期の採用を行っている。その結果、信号の“ダブルクロッキング（double-clocking）”と呼ばれているもの、又は“DDR”又は“ダブルデータレート（double  data  rate）”デバイスとして一般的なSDRAM（synchronous  DRAM）デバイスに関して一般的に呼ばれているものを生じている。インタフェースの更なる速度は、多数の所要なコマンドのオーバーヘッドに十分に適合する機会を提供するように思えるが、このような高速のインタフェース速度では、無数のコマンド及び／又はアドレスのそれぞれの送信に必要な様々なフェーズのそれぞれの送信において、厳しい信号設定及びホールドのタイミング要件を満たすときに、問題が生じてきている。これらの問題は、コマンド及び／又はアドレスが、“2nクロッキング（2n  clocking）”と呼ばれているものでデータが転送されるクロックレートの半分までしか送信されないことが提示されているものであり、コマンド及び／又はアドレスの送信に対するダブルクロッキングの利点を否定する。
【０００４】
コマンド及び／又はアドレスを送信する際のこれらの様々な問題から生じる累積の時間の不利な条件は、DRAMセルがアクセスされるように準備する時間ロスに対抗する程度まで大きくなり始める。実際に、アドレス及び／又はコマンドを転送するために必要なオーバーヘッドは、実際のデータの転送に必要なものより、メモリバスの利用可能帯域を多く占めることがあるという懸念の増加が存在する。
【発明を実施するための最良の形態】
【０００５】
本発明の目的、特徴及び利点は、以下の詳細な説明を検討することで当業者に明らかになる。
【０００６】
以下の説明において、本発明の完全なる理解を提供するために、説明目的で多数の詳細が示されている。しかし、本発明を実施するために、これらの特定の詳細は必要ないことが当業者に明らかになる。
【０００７】
本発明の実施例は、必要なコマンドの数を低減し、それによりコマンドを送信してプレチャージ動作を開始するために必要な帯域を低減するように、メモリデバイス内のメモリセルのバンクにおけるオープンの行（open  row）でプレチャージ動作の暗示通信のサポートを組み込むことに関する。以下の説明は、メモリセルが行及び列の１つ以上の２次元配列に構成されているDRAMデバイスを中心とするが、特許請求の範囲に記載の本発明は、如何なる複数の方法（インターリーブされたバンク、２次元より大きい配列（すなわち２つの部分より多いアドレス）、コンテント・アドレッサブル（content-addressable）等を含む）で構成されたメモリセルを有する如何なる形式のメモリデバイスのサポートにも実行され得ることが、当業者にわかる。また、以下の説明の少なくとも一部は、コンピュータシステム内のメモリデバイスを中心とするが、特許請求の範囲に記載の本発明は、メモリデバイスを有する他の電子装置に関して実行され得ることが、当業者にわかる。
【０００８】
図１は、メモリシステムを使用した一実施例の簡略化ブロック図である。メモリシステム100は、共にメモリバス180を介して結合されたメモリコントローラ170と、メモリデバイス190とから少なくとも部分的に構成される。メモリシステムの設計分野の当業者は、図１は比較的簡単なメモリシステムの１つの形式を示しており、特許請求の範囲に記載の本発明の要旨及び範囲を逸脱することなく、構成要素の正確な配置及び構成が減少、追加又は変更され得る代替実施例が可能であるということを容易に認識する。例えば、メモリシステム100は、以下の説明を簡単にするために、唯一のメモリバス180と、唯一のメモリデバイス190とを有するものとして示されているが、メモリシステム100の他の可能な実施例は複数のメモリバス及び／又はデバイスから構成され得ることが、当業者に容易にわかる。
【０００９】
メモリコントローラ170は、メモリコントローラ170に結合された外部デバイス（図示せず）にメモリデバイス190へのアクセスを提供する一部として、メモリデバイス190により実行される機能を制御する。特に、メモリコントローラ170に結合された外部デバイスは、メモリコントローラ170にコマンドを発行し、メモリデバイス190内にデータを格納し、また、メモリデバイス190から格納されたデータを取り出す。メモリコントローラ170は、これらのコマンドを受信し、メモリデバイス190とメモリバス180との間のインタフェースを構成するメモリバス180及び／又は制御ロジック191とデータバッファ197との組み合わせに互換性のあるタイミング及びプロトコルを有するフォーマットで、それらをメモリデバイス190に中継する。実際に、メモリコントローラ170は、外部デバイスからの読み取り及び書き込みコマンドに応じて、メモリデバイス190内のメモリセルに対して行われたアクセスを調整する。様々な実施例におけるこれらの機能をサポートして、メモリコントローラ170はまた、メモリデバイス190内に格納されたデータが保護されることを確保するために実行される必要のある様々なメンテナンス動作（定期リフレッシュ動作の開始と、必要に応じたアクセス間でのプレチャージ動作の発生とを含む）を調整する。
【００１０】
メモリバス180は、メモリコントローラ170とメモリデバイス190とを共に結合する様々な制御、アドレス及びデータ信号線で構成される。メモリバス180の様々な可能な実施例を構成する様々な信号線の正確な量及び特性は、如何なる複数の可能なメモリインタフェースと相互運用可能に構成され得る（周知の形式のメモリデバイスと互換性のあることになっているものを含む、例えば、FPM（fast  page  mode）メモリデバイス、EDO（extended  data  out）、デュアルポートVRAM（video  random  access  memory）、ウィンドウRAM、SDR（single  data  rate）、DDR（double  data  rate）、RAMBUSTM  DRAM等のようなDRAM（dynamic  random  access  memory）デバイス）。ある実施例では、様々な信号線のアクティビティがクロック信号で調整されることになっている場合、１つ以上の信号線（場合によっては制御信号線）は、メモリコントローラ170とメモリデバイス190との間でクロック信号を送信する役目をする。ある実施例では、１つ以上の制御信号及びアドレス信号は、共通の信号線に多重化されてもよく、それにより、制御信号及びアドレス信号は、メモリコントローラ170とメモリデバイス190との間で信号を運ぶ共通の導体で異なる時間に送信される。また、ある実施例では、１つ以上のアドレス信号及びデータ信号は、共通の信号線に多重化されてもよい。
【００１１】
メモリデバイス190は、メモリバス180と相互運用可能なように構成された制御ロジックとデータバッファ197とで構成されるインタフェースを備えたDRAMメモリデバイスである。ある実施例では、メモリデバイス190は単一の集積回路である。他の実施例では、メモリデバイス190は、取り外し可能なメモリモジュールの複数の集積回路（SIMM（single  inline  memory  module）、SIPP（single  inline  pin  package）、DIMM（dual  inline  memory  module）等）から構成される。
【００１２】
メモリデバイス190のメモリセルは、バンク199a-199dのように、複数のバンクにグループ化され、各バンクは、行及び列を有するメモリセルの２次元配列に構成される。ある実施例では、制御ロジック191は、メモリバス180を通じてメモリコントローラ170から少なくともいくつかのコマンド及びアドレスを受信し、行アドレスデコーダ193a-193d、列アドレスデコーダ194及び／又はバンク選択ロジック192を使用してこれらのコマンドを実行し、１つ以上のバンク199a-199dの１つ以上の特定の部分にアクセスする。基本的には、メモリデバイス190内のメモリセルへのアクセスを得るために、そのメモリセルのアドレスは、メモリコントローラ170によりメモリバス180でメモリデバイス190に送信される３つの部分から構成される。すなわち、所定のメモリセルのバンクと行と列である。メモリコントローラ170から受信した少なくとも読み取り及び書き込みコマンドに応じて、I/O選択マルチプレクサ195及びデータバッファ197は、１つ以上のメモリセルにデータを格納し、又は１つ以上のメモリセルからデータを取り出すために使用される。
【００１３】
ある実施例では、メモリコントローラ170は、対応するバンクの行がオープンであるか否かと、その行の行アドレスとに関する情報について、メモリデバイス190のバンク199a-199dに対応するバンク状態バッファ179a-179dを維持する。メモリコントローラ170は、バンク状態バッファ179a-179dの内容に依存し、行アクティベートコマンドを送信して所定のバンク内の所定の行をアクセスされるように準備する必要があるか否か、及び同じバンク内の異なる行が既にオープンであるため、アクティベートコマンドに応じて所定の行がオープンになる前にその異なる行がプレチャージ動作でクローズになるために更なる時間が必要であるか否かを決定する。
【００１４】
より具体的には、ある実施例では、メモリコントローラ170が所定のバンク内の所定の行にアクセスしている場合、メモリコントローラ170は、バンク状態バッファ179a-179dのいずれか１つの内容が所定のバンクに対応することをチェックし、所定の行が既にオープンであるか否かを決定し、所定の行がオープンでない場合には、異なる行がオープンであるか否かを決定する。一例として、メモリコントローラ170がバンク199a内の所定の行にアクセスしようとしているとき、メモリコントローラ170はバンク状態バッファ179aの内容をチェックし、所定の行が既にオープンであるか否かを決定する。所定の行が既にオープンである場合、所定の行をオープンにする行アクティベーションコマンドの送信は不要である。しかし、所定の行がまだオープンでない場合、メモリコントローラ170は、バンク状態バッファ179aの内容をチェックし、バンク199a内の異なる行がオープンであるか否かを決定する。バンク199a内の全ての行がオープンでない場合（場合によっては“ページエンプティ（page  empty）”状態と呼ばれる）、メモリコントローラ170は、行アクティベーションコマンドをメモリデバイス190に送信し、アクセスされる準備に向けてバンク199a内の所定の行をオープンにしなければならず、メモリコントローラ170は、所定の行がアクセスされる準備のために、アクティベーションコマンドの送信と所定の行にアクセスすることとの間に十分な時間が生じることを可能にしなければならない。代替として、所定の行がまだオープンでないが、異なる行がオープンである場合（場合によっては“ページミス（page  miss）”状態と呼ばれる）、メモリコントローラ170は、（暗示のプレチャージコマンドを備えて）行アクティベーションコマンドをメモリデバイス190に送信し、異なる行をクローズし、アクセスされる準備に向けてバンク199a内の所定の行をオープンにしなければならず、メモリコントローラ170は、プレチャージ動作を介した異なる行のクローズのため及び所定の行がアクセスされる準備のために、アクティベーションコマンドの送信と所定の行にアクセスすることを実行することとの間に十分な時間が生じることを可能にしなければならない。
【００１５】
図２ａ及び２ｂは、メモリバスを通じた信号の送信を使用した実施例の対応する効果のタイミング図である。図２ａ−ｂは、メモリのバンク299（すなわちバンク299）内のメモリセルの行をアクティベートするアクティベートコマンドの送信に続いて、オープンの行でメモリ位置にアクセスしてデータの部分を取り出す又は格納する読み取り又は書き込みコマンドの送信を示している。図２ａ及び２ｂは、複数のメモリのバンク（その唯一がバンク299である）を有する例示的なメモリデバイスをサポートして、既知のシンクロナスDRAMインタフェースと互換性のある信号及びタイミングの使用を示している。これらの図面及び付随する説明は、クロック信号と同期したトランザクションが行われるメモリバスの実施例を中心とするが、他の実施例は他の形式のタイミング調整を使用してもよく、非同期でもよいことが、当業者に容易にわかる。
【００１６】
図２ａにおいて、バンク299内でアクセスされる行をオープンするために行アクティベートコマンドが送信された時点286で、メモリセルの行はバンク299内でオープンではない。アクティベートコマンドの送信と同時に、バンク（この場合ではバンク299）でアクティベートコマンドが適用するバンク及び／又は行アドレスの送信が存在してもよい。アクセスされる行をオープンする処理が終了するのに十分な時間を許容するため、最小の所定数のクロック周期が時間間隔中287に生じる。当業者にわかるように、他のコマンド、アドレス及び／又はデータが時間間隔287の間に送信されてもよい。場合によっては、これらのコマンド、アドレス及び／又はデータの送信は他のバンク及び／又はメモリデバイスを含む。アクセスされる行のオープンに関係のないメモリ制御の他の側面に適合するために、時間間隔287はアクセスされる行のオープンに単に必要な期間より長くてもよいことは、当業者に明らかである。時点288において、アクセスされる行の実際のアクセスが読み取り又は書き込みコマンドの送信と共に開始される。読み取り又は書き込みコマンドの送信と同時に、読み取り又は書き込みコマンドが適用するバンク及び／又は列アドレスの送信が存在してもよい。
【００１７】
図２ｂにおいて、バンク299内でアクセスされる行をオープンするために行アクティベートコマンドが送信された時点286で、アクセスされる行以外の異なる行のメモリセルがバンク299で既にオープンになっている。図２ａと同様に、アクティベートコマンドの送信と同時に、バンク（この場合にも同様にバンク299）でアクティベートコマンドが適用するバンク及び／又は行アドレスの送信が存在してもよい。この場合も同様に、様々な無関係なコマンド、アドレス及び／又はデータが送信され得る時間間隔287の間に、最小の所定数のクロック周期が生じる。しかし、図２ａに示すものとは異なり、所定数のクロック周期は、時点286で既にオープンになっていた異なる行をプレチャージ（すなわちクローズ）する暗示の処理と、アクセスされる行をオープンする命令された行アクティベーションの処理との完了に十分な時間を提供することになる。従って、図２ｂで完了される双方の処理について時間間隔287の間に必要なクロック周期の最小数は、図２ａの時間間隔287より長い。時点288において、アクセスされる行の実際のアクセスは、読み取り又は書き込みコマンドの送信と共に開始され、読み取り又は書き込みコマンドが適用するバンク及び／又は列アドレスの送信と同時でもよい。
【００１８】
図２ａ及び２ｂの双方の時間間隔287の長さに関して、時点286での行アクティベートコマンド及び／又は時点288での読み取り／書き込みコマンドを送信するデバイスは、ある実施例では何らかの形式のバッファ、レジスタセット及び／又は他の記憶装置を使用して、バンク299で行がオープンであるか否かに関する現情報を維持し、そうである場合にはその行のアドレスを維持してもよい。このような情報は、所定の行アクティベートコマンドが暗示のプレチャージコマンドを有するものとして解釈されるべきか否かを決定するために使用されてもよい。このような決定を行うときに、このような情報は、プレチャージ動作なしに生じる行アクティベート動作と、暗示のプレチャージ動作を伴う行アクティベート動作との双方が完了するのに十分な時間を備えることを確保するために必要な時間間隔287の最小の長さを決定するために使用されてもよい。ある実施例では、時間間隔287の長さは、図２ａ及び２ｂを参照して説明するように、複数のクロック変化又は全クロック周期により測定及び／又は分配されてもよい。代替として、非同期タイミングの使用を含んでもよい他の実施例では、時間間隔287の長さは、他の方法で測定及び／又は分配されてもよい。また、図２ａ及び２ｂに示す実施例において特定のコマンドの送信と同時にバンク、行及び列アドレスを送信する特定の言及にもかかわらず、既存のDDR仕様との相互運用性を提供するため、又は特許請求の範囲に記載の本発明の要旨及び範囲を逸脱しない他の理由で、行アクティベート及び／又は読み取り／書き込みコマンドの送信と同時に、信号、アドレス及び／又はコマンドの如何なる組み合わせが送信されてもよいことが、当業者が容易に認識する。
【００１９】
図３は、メモリバスを通じた複数のメモリデバイスへの信号の送信を使用した実施例のタイミング図であり、２つのメモリデバイスへの行アクティベートと読み取り／書き込みコマンドの送信を示す。そのメモリデバイスから／にアドレス、コマンド及び／又はデータを受信／送信する一部としてチップ選択線CS0をロー状態に駆動することにより、一方のメモリデバイスが選択され、同様にチップ選択線CS1をロー状態に駆動することにより、他方のメモリデバイスが選択される。双方のメモリデバイスは、既にオープンになっている異なる行を最初にクローズさせた後に、行アクティベートコマンドでアクセスされる行をオープンにするのに適したコマンドを受信するものとして示されている。この場合も同様に、この図面及び付随の説明は、クロック信号と同期してトランザクションが行われるメモリバスの実施例を中心にするが、他の実施例は他の形式のタイミング調整を使用してもよく、非同期でもよいことが、当業者に容易にわかる。
【００２０】
CS0を介して選択されたメモリデバイスは、今日のDDRプロトコルと一致するように制御される。今日のDDRプロトコルでは、行プレチャージコマンドの明示の送信を介して同じバンクの異なる行が最初に明示的にクローズされた後にのみ、アクセスされる行がアクセスに対してオープンになり得る。時点381において、場合によっては明示のプレチャージコマンドが適用するメモリのバンクのバンクアドレスの送信と同時に、このような明示のプレチャージコマンドの送信が生じる。時点381と383との間の期間が経過することが許可され、アクセスされる行をオープンにする行アクティベートコマンドが時点383で送信される前に、明示的に命令されたプレチャージ動作が完了することが可能になる。今日のDDRの実装のタイミング及び／又はプロトコルに準拠することになっている実施例では、行アクティベートコマンドが適用するバンク及び／行アドレスはまた、行アクティベートコマンドの送信と一致して送信されてもよい。時点383と385との間の他の期間が経過することが許可され、場合によっては対応するバンク及び／又は列アドレスと一致して、読み取り／書き込みコマンドが時点385で送信される前に行アクティベート動作が完了することが可能になる。
【００２１】
それに対して、CS1を介して選択される他のメモリデバイスは、CS0を介して選択されるメモリデバイスに関して前述したものと同じ動作を実行するように制御されるが、プレチャージコマンドの明示の送信を用いない。具体的には、時点387において、場合によってはアクティベート及びプレチャージコマンドが適用するバンクアドレスの対応する送信と共に、及び／又は場合によってはアクティベートコマンドが適用する行の行アドレスの対応する送信と共に、暗示のプレチャージコマンドを備えた行アクティベートコマンドが送信される。時点387と389との間の期間が経過することが許可され、場合によっては対応するバンク及び／又は列アドレスと一致して、読み取り／書き込みコマンドが時点389で送信される前に暗示のコマンドのプレチャージ動作と明示のコマンドのアクティベート動作との双方が完了することが可能になる。
【００２２】
CS0及びCS1を介して選択されたメモリデバイスのそれぞれへのコマンドの送信について別々に説明したが、メモリデバイスにコマンドを送信することができるメモリコントローラ（又はメモリコントローラとして使用される他の装置）の様々な実施例は、明示的に送信されるプレチャージコマンド又は送信アクティベートコマンドを伴う暗示的なプレチャージコマンドを使用して切り替えることができるサポートを組み込んでもよい。このようなメモリコントローラは、暗示のプレチャージコマンドをサポートするメモリデバイスと、サポートしない他のメモリデバイスとの組み合わせを可能にしてもよい。暗示のプレチャージコマンドのサポートが存在しない限られた現在のDDRの変形との相互運用性を促進するために、メモリコントローラの何らかの実施例は、１つ以上の制御レジスタに１ビット以上を組み込み、明示のプレチャージコマンドの選択的な送信を可能にし、メモリデバイスの限られた現在のDDRの変形をサポートしてもよい。更に、暗示のプレチャージコマンドの使用をサポートしないメモリデバイスの変形は、１つ以上の制御レジスタ又は他の記憶装置に１ビット以上を組み込み、暗示のプレチャージコマンドをサポートすることにより現在のDDRの変形を凌ぐ機能を有する指標を提供し、このような機能の存在が特定されることを可能にしてもよい。
【００２３】
図４は、コンピュータシステムを使用した実施例の簡略化ブロック図である。コンピュータシステム400は、CPU（central  processing  unit）410と、システムロジック420と、メモリデバイス490とから少なくとも部分的に構成される。システムロジック420はCPU410に結合され、システムロジック420内のメモリコントローラ470を使用してシステムロジック420も結合されたメモリデバイス490へのアクセスをCPU410に提供することを含み、CPU410をサポートする様々な機能を実行する。CPU410、システムロジック420及びメモリデバイス490は、CPU410による機械読取可能命令の実行と、メモリデバイス490内のデータ及び命令の格納とをサポートすることができるコンピュータシステム400のコアを形成する。
【００２４】
様々な実施例では、CPU410は、周知で使用されている“x86”命令セットの少なくとも一部を実行することができるCPUを含み、様々な形式のCPUのうち如何なるものでもよい。他の様々な実施例では、１つより多いCPUが存在してもよい。様々な実施例では、メモリデバイス490は、FPM（fast  page  mode）、EDO（extended  data  out）、SDR（single  data  rate）又はDDR（double  data  rate）の形式のシンクロナス・ダイナミックRAM（SDRAM）、RAMBUSTMインタフェースを使用した様々な技術のRAM等を含み、様々な形式のダイナミック・ランダム・アクセス・メモリ（RAM）のうち如何なるものでもよく、メモリコントローラ470は、メモリの形式に適したインタフェースをロジック420に提供する。メモリデバイス490のメモリセルの少なくとも一部は、バンク499a-dに分割され、そのそれぞれは、２次元メモリ配列の行及び列に構成されたメモリセルで構成される。メモリデバイス490内のメモリセルの一部にアクセスするために、その部分は、バンクと行と列とのアドレスの組み合わせでメモリコントローラ470によりアドレス指定されなければならない。当業者にわかるように、４つのバンクのメモリセル（すなわちバンク499a-499d）を備えた単一のメモリデバイス490の表示は、コンピュータシステムの一部になり得るメモリシステムの例であり、特許請求の範囲に記載の本発明の要旨及び範囲を逸脱することなく、多数のメモリデバイス及び／又はメモリデバイス内の異なる数のバンクが使用されてもよい。
【００２５】
ある実施例では、システムロジック420はCPU410に結合され、記憶媒体461により運ばれるデータ及び／又は命令がアクセスされ得る記憶装置460へのアクセスをCPU410に提供する。記憶媒体461は、CD又はDVD  RAM、磁気又は光ディスク、光磁気ディスク、テープ、半導体メモリ、紙又は他の素材での文字又は穴等を含み、当業者がわかる様々な形式及び技術のうち如何なるものでもよい。ある実施例では、不揮発性メモリデバイス430がシステムロジック420（又はコンピュータシステム400の他の部分）に結合され、コンピュータシステム400が“リセット”又は初期化された時点（例えばコンピュータシステム400が“オン”又は“パワーアップ”されたとき）に、コンピュータシステム400を通常の使用のための準備をするために必要なタスクを実行するために実行される命令の最初の連続の記憶装置を提供する。このような実施例のある変更では、コンピュータシステム400の初期化又はリセットのときに、CPU410のアクセスをメモリデバイス490に提供する際に、CPU410は不揮発性メモリデバイス430にアクセスし、実行される命令を取り出し、メモリコントローラ470を通常の使用のための準備をする。記憶装置460及びどんな形式であれ記憶装置460により使用され得る記憶媒体461へのアクセスを提供する際に、これらの同じ取り出された命令は、システムロジック420を通常の使用のために準備するために実行されてもよい。
【００２６】
ある実施例では、記憶媒体461は、CPU410により実行される機械アクセス可能命令を運び、メモリデバイス49の１つ以上のテストをCPU410に実行させ、メモリデバイス490が何の形式のDRAMデバイスであり得るか及び／又はメモリデバイス490が何の機能をサポートし得るかを決定する。前述のように、メモリデバイス490が送信された行アクティベートコマンドに埋め込まれた暗示のプレチャージコマンドの使用をサポートすることができると決定されると、CPU410はこのような暗示のプレチャージコマンドを使用するようにメモリコントローラ470にプログラム又は構成させてもよい。メモリコントローラ470がこのようにプログラムされた実施例では、メモリコントローラ470は、メモリデバイス490内の様々な行の状態に関するデータを維持する行アクセスバッファ479のような記憶装置にアクセスしてもよく、そのような装置を組み込んでもよい。このようなデータは、行アクセスバッファ479のような特定のバッファに格納されようと格納されまいと、バンク499a-dのうち何がオープンの行を有しているかという指示と、これらのオープンの行のアドレスとを提供してもよい。メモリコントローラ470は、このようなデータにアクセスし、バンク499a-dのうち所定のもののアクセスされる行が既にオープンであるか否かを決定してもよく、オープンでない場合、同じバンクの異なる行が既にオープンであるか否かを決定してもよい。アクセスされる行が既にオープンであると決定されると、行アクティベートコマンドの送信をせずに、アクセスが実行されてもよい。しかし、アクセスされる行がまだオープンでないと決定されると、行アクティベートコマンドの送信及び所定の最小期間の経過は、アクセスされる行に対して行われる如何なるアクセスにも先行する。また、既にオープンになっている同じバンク内の異なる行が存在することが決定されると、行アクティベートコマンドは、異なる行をクローズする暗示のプレチャージコマンドであるとしてメモリデバイス490により解釈され、異なる行のクローズとアクセスされる行のオープンとの双方を可能にするために、所定の最小期間は長くなる。
【００２７】
図５は、実施例のフローチャートである。510において、アクセスされる行が既にオープンであるか否かについて決定が行われる。アクセスされる行が既にオープンである場合、512において、読み取り、書き込み等のために行がアクセスされる。しかし、アクセスされる行がまだオープンでない場合、520において、異なる行が既にオープンであるか否かについて決定が行われる。異なる行がまだオープンでない場合、522において、アクセスされる行をオープンにする行アクティベートコマンドが送信され、524において、アクセスされる行のアクティベーションを完了するために必要な期間が経過することを許容され、512において、アクセスが行われる。しかし、異なる行が既にオープンである場合、530において、異なる行及びアクセスされる行の双方が配置されたバンクを有するメモリデバイスが暗示のプレチャージコマンドの使用をサポートするか否かについて決定が行われる。メモリデバイスが暗示のプレチャージコマンドをサポートする場合、542において、暗示のプレチャージコマンドを備えた行アクティベートコマンドがメモリデバイスに送信され、524においてアクセスされる行をアクティベートするための期間と共に、異なる行のプレチャージ（クローズ）を完了するために必要な期間が544で経過することを許容され、512において、アクセスが行われる。しかし、メモリデバイスが暗示のプレチャージコマンドをサポートしない場合、532において、異なる行をクローズする明示のプレチャージコマンドが送信され、534において、異なる行のクローズに必要な期間の完了が経過することを許容され、524において、アクティベーションが生じ得るのに十分な時間の経過と共に、522において、アクセスされる行をオープンするアクティベートコマンドの送信が生じ、512において、アクセスが生じる。
【００２８】
様々な可能な実施例に関して、本発明を詳細に説明した。前述の説明を鑑みて、多数の代替形態、変更形態、変形形態及び使用が当業者に明らかになることは明白である。本発明は、複数の可能なメモリ技術のうち如何なるものをも使用して、多数の可能な形式のメモリデバイスをサポートして実行され得ることが、当業者にわかる。本発明は、オーディオ／ビデオ・エンターテインメント装置、乗物の制御装置、電子回路により制御された装置等のように、コンピュータシステム以外の電子装置をサポートして実施され得ることも、当業者にわかる。
【図面の簡単な説明】
【００２９】
【図１】メモリシステムを使用して実施例のブロック図
【図２ａ】メモリバスを使用した実施例について対応するイベントの効果のタイミング図
【図２ｂ】メモリバスを使用した実施例について対応するイベントの効果のタイミング図
【図３】メモリバスを使用する実施例のタイミング図
【図４】コンピュータシステムを使用する実施例のブロック図
【図５】実施例のフローチャート
【図１】
2007507831.tif 000003
【図２ａ】
2007507831.tif 000004
【図２ｂ】
2007507831.tif 000005
【図３】
2007507831.tif 000006
【図４】
2007507831.tif 000007
【図５】
2007507831.tif 000008
【国際調査報告】
2007507831.tif 000009
2007507831.tif 000010
2007507831.tif 000011