JP5147787B2 - 組み込みdram用リフレッシュ・コントローラ及びリフレッシュ制御方法 - Google Patents

組み込みdram用リフレッシュ・コントローラ及びリフレッシュ制御方法 Download PDF

Info

Publication number
JP5147787B2
JP5147787B2 JP2009149598A JP2009149598A JP5147787B2 JP 5147787 B2 JP5147787 B2 JP 5147787B2 JP 2009149598 A JP2009149598 A JP 2009149598A JP 2009149598 A JP2009149598 A JP 2009149598A JP 5147787 B2 JP5147787 B2 JP 5147787B2
Authority
JP
Japan
Prior art keywords
refresh
memory bank
signal
bank group
status
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009149598A
Other languages
English (en)
Other versions
JP2010033695A (ja
Inventor
ユ・フェイ・リー
ヨン・ルー
ハオ・ヤン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010033695A publication Critical patent/JP2010033695A/ja
Application granted granted Critical
Publication of JP5147787B2 publication Critical patent/JP5147787B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1636Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40611External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Description

本発明はDRAMのリフレッシュ制御に関するものであり、特に、組み込みDRAM用リフレッシュ・コントローラ及び組み込みDRAMのリフレッシュ制御方法に関するものである。
組み込みDRAM(eDRAM)は、従来の外部ダイナミック・ランダム・アクセス・メモリ(DRAM)よりも広い帯域幅で動作することができ、電力消費量及びチップ・ピン数も少なくなる。65nm世代技術では、組み込みDRAMの周波数性能は既に500MHzを超えている。しかしながら、従来のDRAMの場合と同様に、組み込みDRAMの保存データを保持するために、各メモリ要素に対して定期的なリフレッシュを実行しなければならない。リフレッシュ構造の遅延は、組み込みDRAMのシステム性能の向上を制約する恐れがある。
組み込みDRAMの同時リフレッシュ(concurrent refresh:CCR)・モードを用いると、リフレッシュ動作と読出し/書込み動作の同時実行が可能となる。しかしながら、CCRリフレッシュ動作では、組み込みDRAMのターゲット・メモリ・バンクと、読出し/書込み動作対象のメモリ・バンクとが異なっていなければならない。即ち、同一のメモリ・バンクに対してリフレッシュ動作と読出し/書込み動作を同時に実行することはできない。組み込みDRAMのCCRリフレッシュには複数のリフレッシュ・モードが存在する。シングルCCRは、1つのリフレッシュ・サイクル中に1つのバンクだけをリフレッシュするモードであり、デュアルCCRは、1つのリフレッシュ・サイクル中に2つのバンクをリフレッシュするモードである。同様に、クワッドCCRは、各サイクル中に4つのバンクをリフレッシュするモードである。更に、より高い動作周波数をサポートするために、組み込みDRAMの各リフレッシュ動作を複数のクロック・サイクルにわたって実行することもできる。組み込みDRAMは、各動作が1クロック・サイクル中に実行される1ステージ・パイプライン動作に加えてマルチ・ステージ・パイプライン動作モードもサポートすることができる。2ステージ・パイプライン動作では、リフレッシュ、読出し、及び書込みの各動作が2クロック・サイクル内に完了し、4ステージ・パイプライン動作では、各動作が4クロック・サイクル内に完了する。
従来技術では、様々なモードのCCRリフレッシュをサポートするために、様々なリフレッシュ方法が提供されている。例えば、米国特許第6195303号は、クロック・ベースのDRAMリフレッシュ・メカニズムを提供する。しかしながら、前記メカニズムは組み込みDRAMに適用することができない。米国特許第6393534号では、要求同時発生時のメモリ競合を回避するスケジューラ回路が提供されている。しかしながら、このスケジューラ回路はRDRAMでのみ適用可能であり、組み込みDRAMでは適用可能でない。また、実装及び統合の複雑さが高すぎる。米国特許第6967885号は、分散行アドレス・カウンタを用いた同時リフレッシュ・モードをサポートする組み込みDRAMを提供する。65nm世代技術では、前記リフレッシュ・モードは、1GHzの周波数を達成することができる。前記特許に係る技術は、組み込みDRAMの内部に行アドレス・カウンタを追加することによって実施されるものであり、組み込みDRAM自体に修正を施すものである。この特許に基づき、本発明では、組み込みDRAMの外部にリフレッシュ・コントローラを追加することによってCCRリフレッシュを制御する。
米国特許第6393534号 米国特許第6967885号
本発明の目的は、様々なリフレッシュ・モードのリフレッシュ動作を制御し、メモリ・バンクの競合を解消又は回避する、柔軟な組み込みDRAM用リフレッシュ・コントローラを提供することである。
この目的のために、本発明の第1の態様によれば、組み込みDRAM用リフレッシュ・コントローラであって、外部アクセス信号を受信し、リフレッシュ・イネーブル信号REFN、リフレッシュ・アドレス信号CRA、及び競合(コンフリクション)信号を生成し、前記リフレッシュ・イネーブル信号REFN及び前記リフレッシュ・アドレス信号CRAを、複数のメモリ・バンク・グループを含む前記組み込みDRAMに送信するように構成され、リフレッシュ間隔及びクロック・サイクルに従って前記リフレッシュ・イネーブル信号REFN及び最終リフレッシュ信号last_ccrを生成するように構成されたステータス制御モジュールと、前記複数のメモリ・バンク・グループから、前記リフレッシュ間隔中にリフレッシュすべき少なくとも1つのメモリ・バンク・グループを検索し、前記外部アクセス信号及び検索された前記メモリ・バンク・グループに従って前記リフレッシュ・アドレス信号CRAを生成するように構成されたリフレッシュ検索モジュールと、前記リフレッシュ・アドレス信号CRA及び前記外部アクセス信号に従って前記複数のメモリ・バンク・グループのそれぞれのステータスを記録するように構成されたスコアボード・モジュールと、前記外部アクセス信号、最終リフレッシュ信号last_ccr、及び前記メモリ・バンクのそれぞれの前記ステータスに従って前記競合信号を生成するように構成された競合検出モジュールと、を備えるリフレッシュ・コントローラが提供される。
本発明の第2の態様によれば、複数のメモリ・バンク・グループを備える組み込みDRAMのリフレッシュ制御方法であって、外部アクセス信号を受信するステップと、各リフレッシュ間隔中のクロック・サイクルに従ってリフレッシュ・イネーブル信号REFN及び最終リフレッシュ信号last_ccrを生成するステップと、前記複数のメモリ・バンク・グループから、前記リフレッシュ間隔中にリフレッシュすべき少なくとも1つのメモリ・バンク・グループを検索し、前記外部アクセス信号及び検索された前記メモリ・バンク・グループに従ってリフレッシュ・アドレス信号CRAを生成するステップと、前記リフレッシュ・アドレス信号CRA及び外部アクセス信号に従って前記複数のメモリ・バンク・グループのそれぞれのステータスを記録するステップと、前記外部アクセス信号、最終リフレッシュ信号last_ccr、及び前記メモリ・バンクのぞれぞれのステータスに従って競合信号を生成するステップと、前記リフレッシュ・イネーブル信号REFN及びリフレッシュ・アドレス信号CRAを前記組み込みDRAMに送信するステップと、を含むリフレッシュ制御方法が提供される。
本発明に係るリフレッシュ・コントローラ及び制御方法は、シングルCCR、デュアルCCR、クワッドCCR、及び様々なパイプライン動作の様々な組合せに適用可能であり、高い柔軟性及び構成可能性を実現する。本発明に係るコントローラ及び制御方法は、リフレッシュ・モード毎に単純且つ効率的なリフレッシュ制御を実行することができ、その結果、アクセス及びリフレッシュに起因する競合を回避することができる。
以下では、添付図面と併せて本発明の諸実施形態について説明する。
本発明の一実施形態に係るリフレッシュ・コントローラのシステム構造を示す図である。 ステータス制御モジュール12のワークフローを示す図である。 リフレッシュ検索モジュール13の例示的な構造を示す図である。 スコアボード・モジュール14内の任意のスコアボードXのワークフローを示す図である。 競合検出モジュール15のワークフローを示す図である。 図1のリフレッシュ・コントローラのリフレッシュ・ワークフローを示す図である。 図6のリフレッシュ・フローにおけるクロック・シーケンス図である。
以下では添付図面を参照して、本発明の実装形態を特定の実施形態と共に説明する。
図1は、本発明の一実施形態に係るリフレッシュ・コントローラのシステム構造を示す。図1のリフレッシュ・コントローラは、全体的に参照符号100で示される。組み込みDRAMに接続したコントローラ100は、メモリ・バンク宛て読出し/書込み信号baiを外部から受信し、リフレッシュ・イネーブル信号(refresh enabling signal)REFN、CCRリフレッシュ・アドレス信号(CCR refresh address signal)CRA、及び競合信号(confliction signal)を生成するように構成される。生成されたリフレッシュ・イネーブル信号REFN及びCCRリフレッシュ・アドレス信号CRAは、組み込みDRAMに送信され、当該組み込みDRAMのリフレッシュ制御を実現するのに利用される。競合信号は、読出し/書込み要求を開始した部分に競合の発生を知らせるために当該部分に送り返される。前記組み込みDRAMは、前記組み込みDRAMの様々な構成及びリフレッシュ・モードに従って複数のメモリ・バンク・グループに分割される複数のメモリ・バンクを備える。例えば、各メモリ・バンク・グループは、シングルCCRモードでは1つのメモリ・バンクに対応し、デュアルCCRモードでは、各リフレッシュ・サイクル中に2つのメモリ・バンクがリフレッシュされる故に2つのメモリ・バンクを含み、クワッドCCRモードでは、4つのメモリ・バンクを含む。
より具体的には、外部アクセス信号baiは、読出し要求信号であることも書込み要求信号であることもあり、アクセスすべきメモリ・バンクのアドレスを示すものである。リフレッシュ・イネーブル信号REFNは、組み込みDRAMが現在リフレッシュ状態にあるのか否かをそれぞれ示す2つのステータスを有する。CCRリフレッシュ・アドレス信号CRAは、リフレッシュすべきメモリ・バンク・グループのアドレスを示す。REFN信号とCRA信号とを組み合わせることにより、組み込みDRAMがリフレッシュ中であるのかどうか、及びどのメモリ・バンク・グループをリフレッシュすべきかに関する情報を示すことができる。
上記の各信号を生成及び処理するために、コントローラ100は、図示のとおり、ステータス制御モジュール12と、リフレッシュ検索モジュール13と、スコアボード・モジュール14と、競合検出モジュール15とを備える。
ステータス制御モジュール12は、リフレッシュ間隔及びクロック・サイクルを監視し、それに従ってリフレッシュ・イネーブル信号REFN及び最終リフレッシュ信号(last refresh signal)last_ccrを生成するために提供される。リフレッシュ検索モジュール13は、複数のメモリ・バンク・グループからリフレッシュすべきメモリ・バンク・グループを検索し、外部アクセス信号bai及び検索されたメモリ・バンク・グループに従ってCCRリフレッシュ・アドレス信号CRAを生成するために提供される。スコアボード・モジュール14は、CCRリフレッシュ・アドレス信号CRA及び外部アクセス信号baiに従って各メモリ・バンク・グループのステータスを記録するために提供される。競合検出モジュール15は、外部アクセス信号bai、最終リフレッシュ信号last_ccr、及び各メモリ・バンクのステータスに従って競合信号を生成するために提供される。
以下では、リフレッシュ動作の具体例と共にコントローラ100内の各モジュールのワークフローについて説明する。
一例では、65nm技術によるCu65タイプの組み込みDRAMに関して、各メモリ・セルのデータ保持時間はtREF=40,960nsと仮定する。このシステムのクロック・サイクルは、tCK=3nsである。前記組み込みDRAM内のメモリ・バンク数はN_BANKS=8であり、それ故、シングルCCRモードでは、メモリ・バンク・グループの数N_BGも8であり、各メモリ・バンク内の行数はM=256となる。各メモリ・セル内のデータが損失しないことを保証するために、各メモリ・バンク内の各行は、保持時間tREF内に少なくとも1回リフレッシュしなければならない。即ち、各メモリ・バンクについて、連続する2つのリフレッシュ動作間の平均間隔がtREF/tCK/Mクロック・サイクルを超えないようにする必要がある。しかしながら、メモリ・バンクのリフレッシュ動作は必ずしも常に同じ順序で実行されるとは限らないので、あるメモリ・バンクがあるリフレッシュ間隔で最初にリフレッシュされたとしても、次のリフレッシュ間隔では最後にリフレッシュされる可能性もある。上記の最悪条件下でも各メモリ・バンクが適時にリフレッシュされ得ることを保証するために、リフレッシュ間隔をtREF/tCK/M−N_BGクロック・サイクルに設定することができる。即ち、上記の例において、リフレッシュ間隔は、N_RFC=tREF/tCK/M−N_BG=45クロック・サイクルに設定される。当業者なら、このような手法はリフレッシュ間隔を設定する唯一の手法ではなく、また、メモリ・セルの適時リフレッシュを保証する上でより短いリフレッシュ間隔が適用され得ることを理解するだろう。
次に図2を参照して、リフレッシュ間隔をN_RFCと仮定したステータス制御モジュール12のワークフローについて説明する。一般に、リフレッシュ動作ができるだけ早く完了することを保証するために、各リフレッシュ間隔の開始時にメモリ・バンク・グループのリフレッシュを開始すること、具体的には各クロック・サイクルの開始時に新しいメモリ・バンク・グループのリフレッシュを開始することが組み込みDRAMに指示されるような方法で、ステータス制御モジュール12は、リフレッシュ・イネーブル信号REFN及び最終リフレッシュ信号last_ccrをクロック・シーケンスに基づいて生成する。REFN信号には、第1のステータスと第2のステータスの2つのステータスが存在する。ここで、第1のステータスREFN(0)は、組み込みDRAMが現在リフレッシュ中の状態にあることを示し、第2のステータスREFN(1)は、組み込みDRAMがリフレッシュ中でないことを示すものと仮定する。last_ccr信号にも2つのステータスが存在し、第1のステータスlast_ccr(0)は、リフレッシュすべきメモリ・バンク・グループが2つ以上存在することを示し、第2のステータスlast_ccr(1)は、現在のリフレッシュ・サイクル中にリフレッシュすべきメモリ・バンク・グループが1つだけ残っていることを示すものと仮定する。具体的には、第1のステータス及び第2のステータスが0で示されるのかそれとも1で示されるのかは、具体的な回路実装形態に関係する。以下の記載内容は、上記の仮定に基づく。
図2に示されるように、まずステップ20で、信号REFNと信号last_ccrは共に第1のステータスにセットされる。これは、新しいリフレッシュ間隔が開始したときにメモリ・バンクのリフレッシュが開始され、現時点でリフレッシュすべきメモリ・バンクが2つ以上存在する場合の、新しいリフレッシュ間隔の開始時点の初期設定である。なお、ステップ20では、クロック・サイクルをカウントするカウンタi_RFCが提供される。ステップ20では、i_RFCも新しいリフレッシュ間隔を示す0にセットされる。
次にステップ21で、クロック・サイクルの増加に伴ってi_RFCが1だけ増加する。
次にステップ22で、i_RFCと、あるリフレッシュ間隔N_RFC内のクロック数との比較が実行される。結果が等しければ、現在のリフレッシュ間隔の終了が示され、ステップ20に戻って次の新しいリフレッシュ間隔に移行する。結果が等しくなければ、現在のリフレッシュ間隔が終了していないことが示され、処理はステップ23に進む。
ステップ23で、i_RFCと、組み込みDRAM内のメモリ・バンク・グループの数N_BGとの関係が判定される。この場合、シングルCCRでは、メモリ・バンク・グループの数N_BGはメモリ・バンク数N_BANKSと等しくなり、デュアルCCRでは、各メモリ・バンク・グループはそれぞれ2つのメモリ・バンクを含み、N_BG=N_BANKS/2となり、クワッドCCRでは、N_BG=N_BANK/4となる。ステータス制御モジュール12は各クロック・サイクルの開始時に1つのメモリ・バンク・グループのリフレッシュを開始することから、i_RFCがN_BG以上となった場合は、すべてのメモリ・バンクがリフレッシュされ、新たなリフレッシュは必要ないものと結論付けることができる。したがって、ステップ24で、REFNは第2のステータスにセットされ、last_ccrは第1のステータスのままとなる。次にステップ21に戻り、現在のリフレッシュ間隔の終了までクロック・カウントが継続される。i_RFCがN_BG未満となった場合は、ステップ25に進む。
ステップ25で、i_RFCとN_BG−1とが比較される。結果が等しければ、リフレッシュが終了していないことが示され、また、リフレッシュされずに残っているメモリ・バンク・グループは最後の1つであることが示される。したがって、ステップ26で、last_ccrは第2のステータスにセットされ、REFN信号は第1のステータスのままとなる。結果が等しくない場合は、ステップ27でREFNとlast_ccrが共に第1のステータスにセットされる。ステップ26とステップ27はどちらもステップ21に進んで、現在のリフレッシュ間隔の終了までクロック・カウントが実行される。
図2のフローチャートによれば、ステータス制御モジュール12は、クロック・シーケンスに基づいてリフレッシュ・イネーブル信号REFN及び最終リフレッシュ信号last_ccrを生成し、信号REFNを組み込みDRAMに送信し、信号last_ccrをリフレッシュ検索モジュール13及び競合検出モジュール15に送信する。
リフレッシュ検索モジュール13は、外部アクセス信号bai及び最終リフレッシュ信号last_ccrを受信し、二重検索(double search)モードに基づいてリフレッシュすべきメモリ・バンク・グループを検索し、CCRリフレッシュ・アドレス信号CRAを生成する。図3は、リフレッシュ検索モジュール13の例示的な構造を示す。
図3に示されるように、リフレッシュ検索モジュール13は、第1の検索モジュール31と、第2の検索モジュール32と、比較器33と、マルチプレクサMUX 34とを備える。特定の一実施形態において、第1の検索モジュール31は、順方向検索モジュールであり、第2の検索モジュール32は、逆方向検索モジュールである。これらはいずれもスコアボード・モジュール14とリンクされており、それぞれメモリ・バンク・グループX及びYを順方向及び逆方向に検索する。即ち、メモリ・バンク・グループの双方向検索を実行する。リフレッシュすべきメモリ・バンク・グループが1つだけ残っている場合は、X=Yとなる。
双方向検索は、以下のように実施することができる。N_BG個のメモリ・バンク・グループは、0,1,...,N_BG−1として示される。順方向検索モジュールによって検索されるメモリ・バンク・グループのシーケンス番号は、X=0に初期化され、逆方向検索モジュールによって検索されるメモリ・バンク・グループのシーケンス番号は、Y=N_BG−1に初期化される。後続の各クロック・サイクルでは、それ以前のサイクルでリフレッシュされたメモリ・バンク・グループがどちらの探索モジュールから選択されたものであるかが確認される。該メモリ・バンク・グループが順方向検索モジュールから選択された場合には、X=X+1とし、Yは変更されず、逆方向検索モジュールから選択された場合には、Y=Y−1とし、Xは変更されない。X及びYは常に一定の方向に変化(増加又は減少)することから、リフレッシュすべきメモリ・バンク・グループは両端から順次検索され、そのため、各メモリ・バンク・グループが1つのリフレッシュ間隔内に一度だけリフレッシュされることが保証される。
第1の検索モジュール及び第2の検索モジュールは、リフレッシュすべきメモリ・バンク・グループの順次検索が可能である限り、他の検索アルゴリズムを利用した二重検索を実施することもできることが理解されるだろう。例えば、第1の検索モジュールは、奇数シーケンス番号のメモリ・バンク・グループを検索し、第2の検索モジュールは、偶数シーケンス番号のメモリ・バンク・グループを検索する。あるいは、以下のように検索を実施することもできる。第1の検索モジュールによって検索されるメモリ・バンク・グループのシーケンス番号をX=1に初期化し、第2の検索モジュールによって検索されるメモリ・バンク・グループのシーケンス番号をY=0に初期化する。後続の各クロック・サイクルでは、X=X+1とし、それ以前のサイクルでリフレッシュされたメモリ・バンク・グループがどちらの探索モジュールから選択されたものであるかを確認する。該メモリ・バンク・グループが第1の検索モジュールから選択された場合には、Yは変更せず、第2の検索モジュールから選択された場合には、Y=X−1、即ち、Yがそれ以前のサイクルのX、即ちリフレッシュ・プロセスの対象から外されたメモリ・バンク・グループと等しくなるようにする。当業者なら各自の必要に応じて様々なアルゴリズムを利用して上記の二重検索プロセスを実施することができるだろう。
第1の検索モジュール31及び第2の検索モジュール32がそれぞれリフレッシュすべきメモリ・バンク・グループX及びYを検索した後、それらの2つのメモリ・バンク・グループX及びYはマルチプレクサMUX 34に送信され、メモリ・バンク・グループXは同時に比較器33にも送信される。比較器33は、外部アクセス信号baiとメモリ・バンク・グループXとを比較し、比較信号を生成し、当該比較信号をMUX 34の制御信号としてMUX 34に出力する。具体的には、比較器33は、信号baiによって示されるメモリ・バンク・アドレスがメモリ・バンク・グループXに属するかどうかを判定する。比較器33は、「no」の結果が出た場合には、MUX 34を制御してX及びYからXを出力として選択させる第1のステータスの比較信号を生成し、baiによって示されるメモリ・バンク・アドレスがメモリ・バンク・グループXに属する場合には、MUX 34を制御してX及びYからYを出力として選択させる第2のステータスの比較信号を生成する。MUX 34からの出力信号(X又はY)は、次のクロック・サイクル中にリフレッシュすべきメモリ・バンク・グループを示すリフレッシュ・アドレス信号CRAの働きをする。このリフレッシュ・アドレス信号CRAは、該信号によって示されるメモリ・バンク・グループをリフレッシュするよう組み込みDRAMに命令するために出力される。一方、この信号は、スコアボード・モジュール14及び競合検出モジュール15にも送信される。
スコアボード・モジュールは、各メモリ・バンク・グループのステータスを記録するために提供される。一実施形態において、スコアボード・モジュール14は、スコアボード0、スコアボード1、...、スコアボードN_BG−1を備える。即ち、各スコアボードはそれぞれ1つのメモリ・バンク・グループに対応し、当該メモリ・バンク・グループのステータスを記録する。一例では、各スコアボードはカウンタによって実現される。カウントが0であるときは、対応するメモリ・バンク・グループXがフリー・ステータス(free status)にあることが示され、カウントが0でないときは、対応するメモリ・バンク・グループが何らかの処理を実行していることが示される。
図4は、スコアボード・モジュール14内の任意のスコアボードXのワークフローを示す。まずステップ41で、スコアボードXのカウントscore[X]がリフレッシュ間隔の開始時点で0にセットされる。次にステップ42で、メモリ・バンク・グループXがリフレッシュ対象であるのかそれともアクセス対象であるのかが判定される。この判定ステップは、メモリ・バンク・グループXと、外部アクセス信号bai及びCCRリフレッシュ・アドレス信号CRAとを比較することによって実行することができる。baiによって示されるアドレスがメモリ・バンク・グループXに属する場合には、グループXはアクセス対象となる。CRAによって示されるアドレスがメモリ・バンク・グループXである場合には、Xはリフレッシュ対象となる。
係る比較の結果、メモリ・バンク・グループXがリフレッシュ対象又はアクセス対象であることが示された場合は、ステップ43が実行され、スコアボードXのカウントscore[X]がS−1にセットされる。ここで、Sはパイプラインのステージ・レベル数に相当する。つまり、2ステージ・パイプライン動作ではS=2となり、ステップ43でscore[X]が1にセットされ、4ステージ・パイプライン動作ではS=4となり、score[X]が3にセットされることになる。次にステップ42に戻り、次のクロック・サイクルの判定が行われる。
ステップ42の判定結果により、メモリ・バンク・グループXが次のクロック・サイクルのリフレッシュ対象でもアクセス対象でもないことが示された場合は、ステップ44に進んでscore[X]が0であるかどうかが判定される。score[X]が0である場合には、ステップ45が実行され、score[X]の現在値が維持され、その後ステップ42に戻って次のクロック・サイクルの判定が継続される。score[X]が0でない場合には、ステップ46でscore[X]が1だけ減少される。即ちscore[X]=score[X]−1となる。次にステップ42に戻り、次のクロック・サイクルの判定が継続される。
上記のワークフローは、メモリ・バンク・グループがリフレッシュ対象又はアクセス対象である場合には、対応するスコアボード・カウントがS−1にセットされ、スコアボード・カウントが現時点で0でない場合には、その値が各クロック・サイクルにおいて1ずつ減少されることを意味する。というのも、Sステージ・パイプライン動作では各動作がSクロック・サイクル内に完了するからである。あるメモリ・バンク・グループが動作を開始したときに対応するスコアボード・カウントをS−1にセットすることにより、それに対応するメモリ・バンク・グループが動作状態に入ったことが示される。その後、0でない各スコアボード・カウントは、各サイクルにおいて1ずつ減少される。これにより、各メモリ・バンク・グループが動作状態(score[X]=S−1)に入ってからアイドル状態(score[X]=0)に戻るまでに必然的にS個のクロック・サイクルを経ることが保証される。前記S個のクロック・サイクルにおいて、対応するメモリ・バンク・グループは動作状態に維持される。1ステージ・パイプライン動作、即ちS=1の場合では、スコアボード・カウントは常に0となる。即ち、この場合スコアボードは機能しないことになる。
上述のスコアボード・モジュール14によって記録されている各メモリ・バンク・グループのステータスと、外部アクセス信号のターゲット・メモリ・バンクbaiと、CCRリフレッシュ・アドレス信号CRAとに基づいて、競合検出モジュール15は、競合が発生しているかどうかを検出し、競合信号を生成することができる。図5は、競合検出モジュール15のワークフローを示す。
図5に示されるように、ステップ50で、競合検出モジュール15は、メモリ・バンクbaiに対する読出し/書込み動作を要求する外部アクセス信号を受信する。次にステップ51で、メモリ・バンクbaiに対応するスコアボード・カウントが0であるかどうかを判定する。前記カウントが0であれば、当該メモリ・バンクに対する先行動作がまだ完了しておらず、それ故、当該メモリ・バンクは動作状態にありアクセス可能でないことが示される。したがって、ステップ52を実行して競合信号が生成され、即ち、conflictが1にセットされる。前記カウントが0であれば、当該メモリ・バンクはアイドル状態にあり、アクセス可能である。次にステップ53で更なる判定が実行される。
ステップ53では、last_ccrが第2のステータスにあるかどうかが判定される。上述のとおり、last_ccrが第1のステータスにあるときは、リフレッシュすべきメモリ・バンク・グループが2つ以上存在することになる。係る状態では、リフレッシュに際しアクセス信号と競合しないバンク・グループを常に発見することが可能である。したがって、last_ccrが第1のステータスと判定された場合には、ステップ54が実行され、conflict=0となり、即ち競合が想定されないため、メモリ・バンクbaiへのアクセスが許可される。last_ccrが第2のステータスにあるときは、現在のリフレッシュ間隔中にリフレッシュすべきメモリ・バンク・グループが1つだけ存在することになる。係る状態では、競合が発生する可能性があるため、ステップ55に進んで更なる判定が実行される。
ステップ55で、アクセス対象のメモリ・バンクbaiがリフレッシュ対象のメモリ・バンク・グループ、即ち、信号CRAによって示されるメモリ・バンク・グループに属するかどうかが判定される。baiが前記メモリ・バンク・グループに属さない場合には、競合は発生せず、ステップ54が実行される。baiがCRAによって示されるメモリ・バンク・グループに属する場合には、last_ccrが第2のステータスにあることから、当該メモリ・バンク・グループが唯一のリフレッシュ対象であることが示され、アクセスとリフレッシュの間で競合が発生する。係る状態では、ステップ56が実行される。即ち競合信号が生成される。
1ステージ・パイプライン動作では、上述のとおり各スコアボードのカウントは常に0となる。そのため、ステップ51の判定結果は常に「yes」となる。換言すると、1ステージ・パイプライン動作では各動作が単一のクロック・サイクル内に完了するため、先行動作が実行されているアクセス対象のメモリ・バンクに起因する競合が発生することはない。したがって、1ステージ・パイプライン動作ではステップ51及び52を省略することができ、処理を直接ステップ53から始めて判定を開始することができる。
CCRリフレッシュでは、メモリ・セルにデータを保持するために、リフレッシュ動作の優先順位はアクセス動作よりも高くなる。したがって、競合信号が生成されたとき、即ちconflict=1のときは、アクセス要求を開始した部分に対して競合信号が送り返され、競合がそれ以上生じなくなるまで当該アクセス要求を遅延させるように前記部分に知らせる
以上、ステータス制御モジュール12、リフレッシュ検索モジュール13、スコアボード・モジュール14、及び競合検出モジュール15のワークフローについてそれぞれ説明した。次に図6を参照して、リフレッシュ・コントローラ・システムのリフレッシュ・ワークフローについて説明する。
図6は、図1のリフレッシュ・コントローラのリフレッシュ・ワークフローを示す。図6に示されるように、最初のステップ60で、リフレッシュ・コントローラはアイドル状態にある。次に実行されるステップは、リフレッシュ・イネーブル信号REFN及び最終リフレッシュ信号last_ccrに従って選択される。上述のとおり、信号REFNと信号last_ccrは共に、図2に示されるそれぞれの特定の生成プロセスに従ってステータス制御モジュール12によって生成される。生成された信号REFNに関しては、ステップ61で、当該REFNが第2のステータスにあるかどうかが判定される。REFNが第2のステータス(1)である場合には、組み込みDRAMがリフレッシュ状態にないことが示される。したがって、リフレッシュ・コントローラは、前記組み込みDRAMに対してリフレッシュ制御を実行する必要がなく、単にステップ60に戻ってアイドル状態を維持するだけでよい。REFNが第1のステータス(0)である場合には、組み込みDRAMがリフレッシュ状態にあることが示され、リフレッシュ・コントローラは、当該組み込みDRAMに対してリフレッシュ制御を実行しなければならない。そのため、コントローラはステップ62に進んで更なる判定を実行する。
ステップ62で、リフレッシュ・コントローラは、最終リフレッシュ信号last_ccrが第2のステータス(1)にあるかどうかを判定する。last_ccrが第2のステータスにない場合には、現在のリフレッシュ間隔中にリフレッシュすべきメモリ・バンク・グループが依然として複数存在することが示される。したがって、コントローラはステップ63に進み、二重検索モードを使用してリフレッシュすべき2つのメモリ・バンク・グループX及びYを検索する。次にステップ64で、外部アクセス信号によって示されるメモリ・バンクbaiがメモリ・バンク・グループXに属するかどうかが判定される。baiがメモリ・バンク・グループXに属する場合には、ステップ65が実行され、Yが次にリフレッシュすべきメモリ・バンク・グループとして設定される。即ち、CCRリフレッシュ・アドレス信号CRAがメモリ・バンク・グループYを示すようになる。一方、メモリ・バンク・グループYに対応するスコアボードのカウントscore[Y]は、S−1にセットされる。ここで、Sはパイプラインのステージ数に相当する。baiがメモリ・バンク・グループXに属さない場合には、ステップ66が実行され、Xが次にリフレッシュすべきメモリ・バンク・グループとして設定される。即ち、CCRリフレッシュ・アドレス信号CRAがメモリ・バンク・グループXを示すようになる。一方、メモリ・バンク・グループXに対応するスコアボードのカウントscore[X]は、S−1にセットされる。ここで、ステップ63〜66の検索及び判定処理は、リフレッシュ検索モジュール13によって実行される。スコアボード・カウントをS−1にセットする意義は、図4のスコアボードのワークフローを参照すれば理解されるだろう。
ステップ62の判定結果でlast_ccrが第2のステータスにあることが示された場合には、現在のリフレッシュ間隔中にリフレッシュすべきメモリ・バンク・グループが1つだけ存在することが示される。係る状態では、コントローラはステップ67に進んで二重検索を実行し、唯一のリフレッシュ対象のメモリ・バンク・グループを検索する。次にステップ68で、前記メモリ・バンク・グループが次にリフレッシュすべきメモリ・バンク・グループとして設定される。即ち、CCRリフレッシュ・アドレス信号CRAが前記メモリ・バンク・グループを示すようになる。一方、前記メモリ・バンク・グループに対応するスコアボードのカウントは、S−1にセットされる。ステップ67及び68の検索処理も同様に、リフレッシュ検索モジュール13によって実行される。
上記のワークフローと同時に、競合検出モジュール15は、図5に示される判定方法を用いて、外部アクセス信号bai、CCRリフレッシュ・アドレス信号CRA、及びスコアボード・モジュールについて記録されているステータスに従って、競合が発生するかどうかを判定する。競合が発生する場合は、競合検出モジュール15は、アクセス要求を開始した部分に対して、競合がそれ以上発生しなくなるまで前記アクセス要求を遅延させることを競合信号の形で知らせる。そのため、リフレッシュ・フローの観点から、ステップ67でリフレッシュすべきメモリ・バンク・グループが検索されるとすぐに、当該メモリ・バンク・グループに対してリフレッシュを実行することができるようになる。競合検出モジュール15がアクセス要求を遅延させることによってアクセス競合が回避されるので、リフレッシュの順序はそのような競合の影響を受けることはない。
図7は、リフレッシュ・フローのクロック・シーケンス図である。図7には、リフレッシュ・イネーブル信号REFN、CCRリフレッシュ・アドレス信号CRA、及び最終リフレッシュ信号last_ccrの変化の様子がクロックと共に示されていることが分かるだろう。
具体的には、図7に示されるように、時間が複数のリフレッシュ間隔に分割され、各リフレッシュ間隔はN_RFCのクロック・サイクルを含む。リフレッシュ・コントローラは、信号REFN及びCRAを利用して各リフレッシュ間隔の開始時に組み込みDRAMにメモリ・バンク・グループのリフレッシュを開始させ、リフレッシュ動作を可能な限り早く完了させるように制御する。したがって、各リフレッシュ間隔中のクロック・サイクル0からクロック・サイクルN_BG−1までの間、各クロック・サイクル内に新しいメモリ・バンク・グループのリフレッシュが開始される。この期間中、信号REFNは、組み込みDRAMがリフレッシュ状態にあることを示すために低電圧状態、即ちREFN=0(第1のステータス)となる。
REFNが低電圧状態にある期間中も、双方向検索を利用してリフレッシュ・アドレスが信号CRAで指示されるので、リフレッシュ検索モジュールは、メモリ・バンク・グループの検索を継続する。その結果、CRA信号で指示されるメモリ・バンク・グループの数は、N_BGクロック・サイクル中にすべてのメモリ・バンク・グループがリフレッシュされるまで途切れなく変化することが図から分かるだろう。0番のメモリ・バンク・グループは1つ目のリフレッシュ間隔では最初にリフレッシュされるが、2つ目のリフレッシュ間隔では最後にリフレッシュされることが図から分かるだろう。上述のとおり、これは想定され得る最悪の条件である。この条件により、1つのリフレッシュ間隔中のクロック・サイクル数は、当初の数からメモリ・バンク・グループの数だけ減少させる必要がある。
全体のリフレッシュ間隔において、最終リフレッシュ信号last_ccrが高電圧状態、即ちlast_ccr=1(第2のステータス)となるのは1つのクロック・サイクル、即ちN_BG番目のクロック・サイクルのみである。これは、現在のリフレッシュ間隔中にリフレッシュすべきメモリ・バンク・グループが1つだけ残っていることを意味する。
上記の競合検出フローから、last_ccr=1(第2のステータス)であり、且つアクセス対象のメモリ・バンクbaiが次のリフレッシュ対象となるメモリ・バンク・グループCRAに属する場合にだけ、アクセスとリフレッシュの競合が生じることが分かるだろう。更に、図7のフローチャートから、last_ccr=1(第2のステータス)となる確率は1/N_RFCである。それ故、組み込みDRAM内のメモリ・バンクがクロック単位で順次アクセスされる場合、アクセスとリフレッシュの競合確率は、最大1/N_RFCと結論付けられる。
上述の各実施形態において、リフレッシュ・コントローラ及びその各種モジュール及び要素は主に、集積回路又はゲート・アレイ、トランジスタのような半導体、あるいはプログラマブル・ゲート・アレイやプログラマブル論理装置のようなハードウェア回路によって実現される。本発明のリフレッシュ・コントローラ及び各方法は、1ステージ・パイプライン動作、2ステージ・パイプライン動作、4ステージ・パイプライン動作、ならびにシングルCCR、デュアルCCR、クワッドCCRの各動作モードの様々な組合せに適用可能であり、高い柔軟性及び構成可能性を実現することが理解されるだろう。
以上、本発明の諸実施形態を具体例と共に説明した。しかしながら、本発明は上記で詳述した各実施形態に限定されるものではない。各実施形態には、本発明の趣旨及び範囲から逸脱しない限り様々な変更、変形及び修正を施すことができることが当業者には理解されるだろう。発明の保護範囲は、添付の特許請求範囲に記載の各請求項によって定められる。
12 ステータス制御モジュール
13 リフレッシュ検索モジュール
14 スコアボード・モジュール
15 競合検出モジュール
31 第1の検索モジュール
32 第2の検索モジュール
33 比較器
34 MUX

Claims (20)

  1. 組み込みDRAM用リフレッシュ・コントローラであって、アクセスすべきメモリ・バンクのアドレスを示す外部アクセス信号を受信し、リフレッシュ・イネーブル信号REFN、リフレッシュすべきメモリ・バンク・グループのアドレスを示すリフレッシュ・アドレス信号CRA、及び競合信号を生成し、前記リフレッシュ・イネーブル信号REFN及び前記リフレッシュ・アドレス信号CRAを、複数のメモリ・バンク・グループを含む前記組み込みDRAMに送信するように構成され、
    リフレッシュ間隔及びクロック・サイクルに従って前記リフレッシュ・イネーブル信号REFN及びリフレッシュすべきメモリ・バンク・グループが残り1つであるか否かを示す最終リフレッシュ信号last_ccrを生成するように構成されたステータス制御モジュールと、
    前記複数のメモリ・バンク・グループから、前記リフレッシュ間隔中にリフレッシュすべき少なくとも1つのメモリ・バンク・グループを検索し、前記外部アクセス信号及び検索された前記メモリ・バンク・グループに従って前記リフレッシュ・アドレス信号CRAを生成するように構成されたリフレッシュ検索モジュールと、
    前記リフレッシュ・アドレス信号CRA及び前記外部アクセス信号に従って前記複数のメモリ・バンク・グループのそれぞれについてアクセス又はリフレッシュの処理を行っているか否かを示すステータスを記録するように構成されたスコアボード・モジュールと、
    前記外部アクセス信号、最終リフレッシュ信号last_ccr、及び前記メモリ・バンク・グループのそれぞれの前記ステータスに従って、アクセスすべきメモリ・バンクが属するメモリ・バンク・グループが前記アクセス又はリフレッシュの処理を行っていない場合であっても、リフレッシュすべきメモリ・バンク・グループが残り1つ且つアクセスすべき前記メモリ・バンクがリフレッシュすべき前記メモリ・バンク・グループに属するときに、前記競合信号を生成するように構成された競合検出モジュールと、を備えるリフレッシュ・コントローラ。
  2. 前記ステータス制御モジュールは、各リフレッシュ間隔中のクロック・サイクルをカウントし、カウントされた数が前記メモリ・バンク・グループの数から1を引いた数よりも小さいときは、前記リフレッシュ・イネーブル信号REFNをリフレッシュ中の状態にあることを示すそれ自体の第1のステータスにセットし、前記最終リフレッシュ信号last_ccrをリフレッシュすべき前記メモリ・バンク・グループが残り1つではないことを示すそれ自体の第1のステータスにセットし、カウントされた数が前記メモリ・バンク・グループの数から1を引いた数と等しいときは、前記リフレッシュ・イネーブル信号REFNをそれ自体の第1のステータスにセットし、前記最終リフレッシュ信号last_ccrをリフレッシュすべき前記メモリ・バンク・グループが残り1つであることを示すそれ自体の第2のステータスにセットし、カウントされた数が前記メモリ・バンク・グループの数以上であるときは、前記リフレッシュ・イネーブル信号REFNをリフレッシュ中の状態にないことを示すそれ自体の第2のステータスにセットし、前記最終リフレッシュ信号last_ccrをそれ自体の第1のステータスにセットするように構成される、請求項1に記載のリフレッシュ・コントローラ。
  3. 前記リフレッシュ検索モジュールは、
    前記複数のメモリ・バンク・グループから、前記リフレッシュ間隔中にリフレッシュすべき1番目のメモリ・バンク・グループを検索するように構成された第1の検索モジュールと、
    前記複数のメモリ・バンク・グループから、前記リフレッシュ間隔中にリフレッシュすべき2番目のメモリ・バンク・グループを検索するように構成された第2の検索モジュールと、
    検索された前記1番目のメモリ・バンク・グループと前記外部アクセス信号とを比較し、比較信号を生成するように構成された比較器と、
    前記比較信号の制御下で前記1番目のメモリ・バンク・グループと前記2番目のメモリ・バンク・グループのいずれかを選択し、前記リフレッシュ・アドレス信号CRAを生成するように構成されたマルチプレクサと、
    を備える、請求項1又は2に記載のリフレッシュ・コントローラ。
  4. 前記第1の検索モジュール及び前記第2の検索モジュールによってそれぞれ検索される前記1番目のメモリ・バンク・グループ及び前記2番目のメモリ・バンク・グループは、前記最終リフレッシュ信号last_ccrがリフレッシュすべき前記メモリ・バンク・グループが残り1つであることを示すそれ自体の第2のステータスにあるときは同一のメモリ・バンク・グループとなる、請求項3に記載のリフレッシュ・コントローラ。
  5. 前記第1の検索モジュールは、前記複数のメモリ・バンク・グループ内を順方向に検索するように構成された順方向検索モジュールであり、前記第2の検索モジュールは、前記複数のメモリ・バンク・グループ内を逆方向に検索するように構成された逆方向検索モジュールである、請求項3に記載のリフレッシュ・コントローラ。
  6. 前記マルチプレクサは、前記比較信号が外部アクセス信号によって示される前記メモリ・バンクが属する前記メモリ・バンク・グループと前記1番目のメモリ・バンク・グループが異なる状態を表すそれ自体の第1のステータスにあるときは、前記1番目のメモリ・バンク・グループのアドレスを前記リフレッシュ・アドレス信号CRAとして選択し、前記比較信号が外部アクセス信号によって示される前記メモリ・バンクが属する前記メモリ・バンク・グループと前記1番目のメモリ・バンク・グループが等しい状態を表すそれ自体の第2のステータスにあるときは、前記2番目のメモリ・バンク・グループのアドレスを前記リフレッシュ・アドレス信号CRAとして選択するように構成される、請求項3に記載のリフレッシュ・コントローラ。
  7. 前記スコアボード・モジュールは、それぞれ前記複数のメモリ・バンク・グループの各グループに対応する複数のカウンタを備える、請求項1に記載のリフレッシュ・コントローラ。
  8. 前記スコアボード・モジュールは、前記外部アクセス信号又は前記リフレッシュ・アドレス信号CRAによって示される前記メモリ・バンク・グループに対応する前記カウンタを前記アクセス又はリフレッシュの処理を行っていることを示すそれ自体の第2のステータスにセットするように構成される、請求項7に記載のリフレッシュ・コントローラ。
  9. 前記競合検出モジュールは、前記最終リフレッシュ信号last_ccrがリフレッシュすべき前記メモリ・バンク・グループが残り1つであることを示すそれ自体の第2のステータスにあり、且つ前記外部アクセス信号によって示される前記メモリ・バンクが前記リフレッシュ・アドレス信号CRAによって示される前記メモリ・バンク・グループに属するときに、競合信号を生成するように構成される、請求項1に記載のリフレッシュ・コントローラ。
  10. 前記競合検出モジュールは、前記外部アクセス信号によって示される前記メモリ・バンクが属する前記メモリ・バンク・グループが前記アクセス又はリフレッシュの処理を行っていることを示すそれ自体の第2のステータスにあるときに、競合信号を生成するように構成される、請求項9に記載のリフレッシュ・コントローラ。
  11. 前記複数のメモリ・バンク・グループはそれぞれ、1つ、2つ、又は4つのメモリ・バンクを含む、請求項1に記載のリフレッシュ・コントローラ。
  12. 複数のメモリ・バンク・グループを備える組み込みDRAMのリフレッシュ制御方法であって、
    アクセスすべきメモリ・バンクのアドレスを示す外部アクセス信号を受信するステップと、
    各リフレッシュ間隔中のクロック・サイクルに従ってリフレッシュ・イネーブル信号REFN及びリフレッシュすべきメモリ・バンク・グループが残り1つであるか否かを示す最終リフレッシュ信号last_ccrを生成するステップと、
    前記複数のメモリ・バンク・グループから、前記リフレッシュ間隔中にリフレッシュすべき少なくとも1つのメモリ・バンク・グループを検索し、前記外部アクセス信号及び検索された前記メモリ・バンク・グループに従ってリフレッシュすべき前記メモリ・バンク・グループのアドレスを示すリフレッシュ・アドレス信号CRAを生成するステップと、
    前記リフレッシュ・アドレス信号CRA及び外部アクセス信号に従って前記複数のメモリ・バンク・グループのそれぞれについてアクセス又はリフレッシュの処理を行っているか否かを示すステータスを記録するステップと、
    前記外部アクセス信号、最終リフレッシュ信号last_ccr、及び前記メモリ・バンク・グループのぞれぞれのステータスに従って、アクセスすべきメモリ・バンクが属するメモリ・バンク・グループが前記アクセス又はリフレッシュの処理を行っていない場合であっても、リフレッシュすべきメモリ・バンク・グループが残り1つ且つアクセスすべき前記メモリ・バンクがリフレッシュすべき前記メモリ・バンク・グループに属するときに、競合信号を生成するステップと、
    前記リフレッシュ・イネーブル信号REFN及びリフレッシュ・アドレス信号CRAを前記組み込みDRAMに送信するステップと、
    を含むリフレッシュ制御方法。
  13. リフレッシュ・イネーブル信号REFN及び最終リフレッシュ信号last_ccrを生成する前記ステップは、各リフレッシュ間隔中のクロック・サイクルをカウントし、カウントされた数が前記メモリ・バンク・グループの数から1を引いた数よりも小さいときは、前記リフレッシュ・イネーブル信号REFNをリフレッシュ中の状態にあることを示すそれ自体の第1のステータスにセットし、前記最終リフレッシュ信号last_ccrをリフレッシュすべき前記メモリ・バンク・グループが残り1つではないことを示すそれ自体の第1のステータスにセットするステップと、カウントされた数が前記メモリ・バンク・グループの数から1を引いた数と等しいときは、前記リフレッシュ・イネーブル信号REFNをそれ自体の第1のステータスにセットし、前記最終リフレッシュ信号last_ccrをリフレッシュすべき前記メモリ・バンク・グループが残り1つであることを示すそれ自体の第2のステータスにセットするステップと、カウントされた数が前記メモリ・バンク・グループの数以上であるときは、前記リフレッシュ・イネーブル信号REFNをリフレッシュ中の状態にないことを示すそれ自体の第2のステータスにセットし、前記最終リフレッシュ信号last_ccrをそれ自体の第1のステータスにセットするステップと、を含む、請求項12に記載のリフレッシュ制御方法。
  14. 前記メモリ・バンク・グループを検索し、前記リフレッシュ・アドレス信号CRAを生成する前記ステップは、
    前記複数のメモリ・バンク・グループから、前記リフレッシュ間隔中にリフレッシュすべき1番目のメモリ・バンク・グループ及び2番目のメモリ・バンク・グループを検索するステップと、
    検索された前記1番目のメモリ・バンク・グループと前記外部アクセス信号とを比較し、比較信号を生成するステップと、
    前記比較信号の制御下で前記1番目のメモリ・バンク・グループと前記2番目のメモリ・バンク・グループのいずれかを選択し、前記リフレッシュ・アドレス信号CRAを生成するステップと、
    を含む、請求項12に記載のリフレッシュ制御方法。
  15. 検索された前記1番目のメモリ・バンク・グループ及び前記2番目のメモリ・バンク・グループは、前記最終リフレッシュ信号last_ccrがリフレッシュすべき前記メモリ・バンク・グループが残り1つであることを示すそれ自体の第2のステータスにあるときは同一のメモリ・バンク・グループとなる、請求項14に記載のリフレッシュ制御方法。
  16. リフレッシュすべき前記1番目のメモリ・バンク・グループ及び前記2番目のメモリ・バンク・グループを検索する前記ステップは、前記複数のメモリ・バンク・グループ内をそれぞれ順方向及び逆方向に検索するステップを含む、請求項14に記載のリフレッシュ制御方法。
  17. 前記1番目のメモリ・バンク・グループと前記2番目のメモリ・バンク・グループのいずれかを選択する前記ステップは、前記比較信号が外部アクセス信号によって示される前記メモリ・バンクが属する前記メモリ・バンク・グループと前記1番目のメモリ・バンク・グループが異なる状態を表すそれ自体の第1のステータスにあるときは、前記1番目のメモリ・バンク・グループのアドレスを前記リフレッシュ・アドレス信号CRAとして選択するステップと、前記比較信号が外部アクセス信号によって示される前記メモリ・バンクが属する前記メモリ・バンク・グループと前記1番目のメモリ・バンク・グループが等しい状態を表すそれ自体の第2のステータスにあるときは、前記2番目のメモリ・バンク・グループのアドレスを前記リフレッシュ・アドレス信号CRAとして選択するステップと、を含む、請求項14に記載のリフレッシュ制御方法。
  18. 前記複数のメモリ・バンク・グループのそれぞれのステータスを記録する前記ステップは、前記リフレッシュ・アドレス信号CRA又は前記外部アクセス信号によって示される前記メモリ・バンク・グループに対応するスコアボードを前記アクセス又はリフレッシュの処理を行っていることを示すそれ自体の第2のステータスにセットするステップを含む、請求項12に記載のリフレッシュ制御方法。
  19. 前記競合信号を生成するステップは、前記最終リフレッシュ信号last_ccrがリフレッシュすべき前記メモリ・バンク・グループが残り1つであることを示すそれ自体の第2のステータスにあり、且つ前記外部アクセス信号によって示されるターゲット・メモリ・バンクが前記リフレッシュ・アドレス信号CRAによって示される前記メモリ・バンク・グループに属するときに、前記競合信号を生成するステップを含む、請求項12に記載のリフレッシュ制御方法。
  20. 前記競合信号を生成するステップは、前記外部アクセス信号によって示される前記メモリ・バンクの属する前記メモリ・バンク・グループが前記アクセス又はリフレッシュの処理を行っていることを示すそれ自体の第2のステータスにあるときに、前記競合信号を生成するステップを含む、請求項12に記載のリフレッシュ制御方法。
JP2009149598A 2008-07-29 2009-06-24 組み込みdram用リフレッシュ・コントローラ及びリフレッシュ制御方法 Expired - Fee Related JP5147787B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2008101280786A CN101640065B (zh) 2008-07-29 2008-07-29 用于嵌入式dram的刷新控制器及刷新控制方法
CN200810128078.6 2008-07-29

Publications (2)

Publication Number Publication Date
JP2010033695A JP2010033695A (ja) 2010-02-12
JP5147787B2 true JP5147787B2 (ja) 2013-02-20

Family

ID=41608228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009149598A Expired - Fee Related JP5147787B2 (ja) 2008-07-29 2009-06-24 組み込みdram用リフレッシュ・コントローラ及びリフレッシュ制御方法

Country Status (4)

Country Link
US (1) US7885134B2 (ja)
JP (1) JP5147787B2 (ja)
KR (1) KR101020019B1 (ja)
CN (1) CN101640065B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104581B2 (en) * 2010-06-24 2015-08-11 International Business Machines Corporation eDRAM refresh in a high performance cache architecture
TWI473091B (zh) * 2011-10-19 2015-02-11 Winbond Electronics Corp 隨機存取記憶體及其刷新控制器
TWI498889B (zh) * 2012-03-26 2015-09-01 Etron Technology Inc 記憶體及更新記憶體的方法
KR101962874B1 (ko) * 2012-04-24 2019-03-27 삼성전자주식회사 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법
CN103700393B (zh) 2012-09-28 2016-08-03 国际商业机器公司 用于dram的中间电路和方法
US9870814B2 (en) 2012-10-22 2018-01-16 Hewlett Packard Enterprise Development Lp Refreshing a group of memory cells in response to potential disturbance
KR20150133857A (ko) * 2013-04-15 2015-11-30 쇼오트 아게 유리 및 유리 세라믹스의 투과율 변경 방법 및 이 방법에 따라 제조될 수 있는 유리 또는 유리 세라믹 물품
KR102553181B1 (ko) * 2016-07-12 2023-07-10 에스케이하이닉스 주식회사 메모리 장치 및 메모리 장치의 동작 방법
EP3605541A4 (en) * 2017-04-14 2020-04-01 Huawei Technologies Co., Ltd. MEMORY REFRESHING TECHNOLOGY AND COMPUTER SYSTEM
US12001697B2 (en) 2020-11-04 2024-06-04 Rambus Inc. Multi-modal refresh of dynamic, random-access memory

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628850A (ja) * 1992-07-07 1994-02-04 Mitsubishi Electric Corp ダイナミックramの制御回路
JPH10222979A (ja) * 1997-01-31 1998-08-21 Mitsubishi Electric Corp 情報処理装置
JP2000251467A (ja) * 1999-03-02 2000-09-14 Nec Ibaraki Ltd メモリリフレッシュ制御装置およびその制御方法
US6650586B1 (en) 2000-06-28 2003-11-18 Intel Corporation Circuit and system for DRAM refresh with scoreboard methodology
JP2005222581A (ja) * 2004-02-03 2005-08-18 Renesas Technology Corp 半導体記憶装置
KR100652380B1 (ko) * 2004-10-25 2006-12-01 삼성전자주식회사 버퍼를 이용하여 리프레쉬하는 메모리 장치 및 그 방법
US7953921B2 (en) * 2004-12-28 2011-05-31 Qualcomm Incorporated Directed auto-refresh synchronization
US7532532B2 (en) * 2005-05-31 2009-05-12 Micron Technology, Inc. System and method for hidden-refresh rate modification
US20080270683A1 (en) * 2007-04-25 2008-10-30 International Business Machines Corporation Systems and methods for a dram concurrent refresh engine with processor interface

Also Published As

Publication number Publication date
KR20100012807A (ko) 2010-02-08
CN101640065A (zh) 2010-02-03
KR101020019B1 (ko) 2011-03-09
US7885134B2 (en) 2011-02-08
JP2010033695A (ja) 2010-02-12
CN101640065B (zh) 2012-07-04
US20100027363A1 (en) 2010-02-04

Similar Documents

Publication Publication Date Title
JP5147787B2 (ja) 組み込みdram用リフレッシュ・コントローラ及びリフレッシュ制御方法
JP4912718B2 (ja) ダイナミック型半導体メモリ
US10049716B2 (en) Refresh request queuing circuitry
US7565479B2 (en) Memory with refresh cycle donation to accommodate low-retention-storage rows
US7583552B2 (en) Method and system for providing independent bank refresh for volatile memories
US7586805B2 (en) Method and system for providing directed bank refresh for volatile memories
US7088633B2 (en) Method and system for providing seamless self-refresh for directed bank refresh in volatile memories
US20070033338A1 (en) Memory with address-differentiated refresh rate to accommodate low-retention storage rows
JP2002015575A (ja) 自動プリチャージ機能を有するメモリ回路及び自動内部コマンド機能を有する集積回路装置
JP4459495B2 (ja) 半導体記憶装置のリフレッシュ制御方法、及び該制御方法を有する半導体記憶装置
US11037618B2 (en) Row hammer prevention circuit, a memory module including the row hammer prevention circuit, and a memory system including the memory module
US20050249021A1 (en) Semiconductor memory device having memory architecture supporting hyper-threading operation in host system
US8687450B2 (en) Semiconductor device
JP6751460B1 (ja) 疑似スタティックランダムアクセスメモリ及びそのデータ書き込み方法
US11551740B2 (en) Semiconductor memory device and refresh operation method, including input circuit, plurality of latches, plurality of counters and refresh controller for generating reset signals
JP5333566B2 (ja) ダイナミック型半導体メモリのリフレッシュ制御方法
US20130097388A1 (en) Device and data processing system
US6741516B2 (en) Semiconductor memory
JPH09128973A (ja) 同期式半導体メモリ装置
Zheng et al. Design of a dynamic memory access scheduler

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121127

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees