(57)【要約】【課題】  ＲＤＲＡＭメモリコントローラのバーストリフレッシュ発行時のオーバーヘッドを低減する。【解決手段】  リフレッシュバンクアドレス生成手段は、リフレッシュコマンドのバースト発行に先立ち、あらかじめバンクアドレスを順次生成する機能を持ち、ページ管理手段はＮＡＰＥｘｉｔコマンド発行後これらバンクアドレスをその時点でオープンされているページのバンクアドレスと比較し、競合を検知した場合には競合検出信号とともに該競合ページのアドレス情報を出力する。コマンド発行手段は競合の場合ページアドレス情報出力に基づいて該ページをクローズするコマンドを発行し、ＮＡＰＥｘｉｔ完了後リフレッシュコマンドをバースト発行する。このときリフレッシュバンクアドレス生成手段は再度最初のリフレッシュバンクアドレスから生成する。【選択図】  図３
2006107614.tif 000002
【特許請求の範囲】
【請求項１】
外部から書き込み、読み出し要求を受け、前記書き込み、読み出し要求に応じて一つ無いし複数の記憶デバイスに対して、前記要求が書き込みである場合には、外部より受け取ったデータを前記記憶デバイスに書き込み、前記要求が読み出しである場合には、前記記憶デバイスから読み出したデータを外部に出力する記憶デバイスの制御装置であって、
前記記憶デバイスはダイナミック型半導体メモリであって、
前記ダイナミック型半導体メモリに記憶保持動作を行わせる指示を、一度に複数与える機能を有し、
前記半導体メモリは複数の部分から構成され、
前記複数の部分はそれぞれが独自の状態をとることができ、
前記半導体メモリの前記複数部分における状態と、前記複数の記憶保持動作とが競合するかどうかを前もって判定する手段を有し、
前記判定手段の結果に応じて、前記複数の記憶保持動作を行う前に、前記半導体メモリの前記複数部分における状態が、前記複数の記憶保持動作と競合しないように状態を変更するよう指示を与える機能を有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置における半導体記憶装置、とりわけDRAMの制御方法に関する。
【背景技術】
【０００２】
コンピュータシステムにおける中央演算処理装置の処理能力の向上は今日まで留まるところを知らず、その基本動作クロック周波数は1GHzを超えるまでになった。一方で主記憶を成す半導体メモリデバイスの速度はそれほどには向上しておらず、両者のギャップは広がる一方である。
【０００３】
そのため従来よりCPUと主記憶との間に低容量ではあるがより高速なメモリ（キャッシュメモリ）を設け、記憶装置を階層化することで速度ギャップを緩衝することを計ってきた(例えば特許文献１参照)。これはCPUがメモリにアクセスする際の参照の局所性が高いことを利用し、小容量高速のキャッシュメモリにほとんどのアクセスが行われるように構成することで、主記憶の動作速度の遅さを隠蔽するものである。今日では2階層以上のキャッシュメモリを持つコンピュータシステムも珍しくはない。
【０００４】
しかしながら、アクセスがキャッシュにミスした場合の損失は、記憶階層が増加すると共に、また主記憶とCPUの速度さが大きくなると共に相対的に増大する。近年では動画像のようなストリーム型のデータを扱うアプリケーションが増えたことにより、データアクセスの局所性が相対的に低下し、それによりキャッシュの効果が小さくなり、CPU単体の性能が向上してもシステム全体の性能を上げることが難しくなってきた。
【０００５】
この問題に対する本質的な解決方法は主記憶の動作速度を上げることである。しかしながら今日のほとんどのコンピュータシステムの主記憶を構成しているDRAMのデバイス速度そのものをCPUのように大幅に上げることは難しい。従ってDRAMデバイスを中核とする周辺回路のアーキテクチャを工夫することにより実効的な動作速度を向上させなければならない。従来よりこのような考え方の下に様々な種類のDRAMが考案されてきた。近年実用化された代表的なものにはEDO-DRAM,SDRAM,DDR-SDRAMなどがある。その中でもDirectRDRAM（DRDRAM）はインターフェース部分に高いクロック周波数を用い、アクセスをパケット単位のプロトコルで行うことと、深いパイプライン処理によって高い実効転送レートを実現したものである。
【０００６】
図２にDRDRAMを用いたメモリシステムの構成を示す。DRDRAMではチャネルを構成するCTM/CTMN,CFM/CFMN,RQ[7:0]{ROW[2:0],COL[4:0]},DQA[8:0],DQB[8:0]およびSCK,CMD,SIOの合計33本の信号線によりメモリコントローラとの間で通信する。
【０００７】
メモリコントローラから個々のDRDRAMに対し、RQ[7:0]信号線上にCFM/CFMNに同期するパケットに構成されたコマンドが与えられる。パケットはRQ信号線のうちROW[2:0]を使うROWパケットとCOL[4:0]を使うCOLパケットに分けられ、それぞれ対象となるデバイスのデバイスアドレス、バンクアドレス、及びロウアドレス（ROWパケット）ないしカラムアドレス（COLパケット）を含んでいる。コマンドが書き込みコマンドである場合はそれに続いてDQA/DQB信号線上に書き込みデータが送られる。読み出しコマンドである場合はそれに続いて対象デバイスからDQA/DQB信号線上に読み出しデータが返される。
【０００８】
図３にROWパケット、図４にCOLパケットの詳しい構成を示す。
【０００９】
次にメモリコントローラがDRDRAMデバイスに対してアクセスする場合の基本動作を説明する。まずROWパケットにより対象となるデバイスの対象バンク内の１ページ（1つのロウアドレスに対応）をアクティベートする。メモリコントローラ内のコマンド発行手段はアクセスが書きこみの場合には、次いでtRCD時間以降にCOLパケット(WRコマンド)を発行し対象デバイスの対象ページ内の位置アドレス(カラムアドレス)に書きこみを行うことを通知する。このとき、オートプリチャージモードであればtRTP後に自動的にプリチャージを行わせることを同時に示す(WRAコマンド)。そしてtCWDの間隔を空けてDQA/DQBに書きこみデータをパケットとして送出する。図５に書き込み時のタイミングチャートを示す。
【００１０】
アクセスが読み出しの場合には、同様にtRCD時間以降にCOLパケット(RDコマンド)を発行し対象デバイスの対象ページ内の位置アドレス(カラムアドレス)から読み出しを行うことを通知する。このとき、オートプリチャージモードであればtRDP後に自動的にプリチャージを行わせることを同時に示す(RDAコマンド)。対象デバイスはtCＡＣの間隔を空けてDQA/DQBに読み出しデータをパケットとして送出する。実際はチャネル上でメモリコントローラから各デバイスまで1クロックサイクル以上の伝播遅延が許容されているため、各デバイスはそれを考慮したタイミングで読み出しデータをチャネル上に送出する。図６にメモリコントローラの位置で見た読み出し時のタイミングチャートを示す。
【００１１】
これら読み出し、書き込み動作は、デバイス/バンクアドレス/ページ(ロウ)アドレスが競合しない限り最大4段のパイプライン的に行うことができる。図７に読み出し・書き込みをパイプラインで行った場合のタイミングチャートを示す。
【００１２】
以上はアクセス毎にページのオープン(アクティベート)・クローズ(プリチャージ)を行うクローズページポリシーを適用した場合であるが、同一ページに連続してアクセスする場合には一旦当該ページを1つのROWパケットでオープンした後、必要なだけCOLパケットを連続して発行し、最後にページをクローズするようにする(オープンページポリシー)ことで、途中のページアクティベート/プリチャージに要する時間を省くことができ、アクセスのバンド幅を大幅に向上することができる。このためにメモリコントローラ内にオープンされているページの情報を管理するページ管理手段を備え、新たにアクセスするアドレスに対応するページが既にオープンされている(ページヒット)か、あるいは競合する(ページミス、バンク競合)かを判定し、その結果に応じてコマンドを発行する。
【００１３】
図８に読み出し時においてオープンページポリシーを適用した場合のタイミングチャートを示す。
【００１４】
DRDRAMも内部の記憶部分は通常のDRAMと同一の構造であるため、リフレッシュ動作が必要である。リフレッシュはページ毎に行われるが、ROWパケットによりデバイスアドレス(通常はブロードキャスト)、バンクアドレスを指定したREFA(アクティベート)、REFP(プリチャージ)コマンドの対によって各デバイスに動作指示される。ロウアドレスは各デバイスが内部で管理する。
【００１５】
あるバンクアドレスに対するこのREFAコマンドとREFPコマンドの間隔はｔRASであり、REFAコマンドと次ぎのREFAコマンドとの間隔はｔRCである。ただしこれらのコマンドも読み出し、書き込みアクセスと同様、バンクアドレスが競合しない限りパイプラン的に発行することができ、リフレッシュにかかるオーバーヘッドを大きく低減することができる。
【００１６】
このためメモリコントローラは内部に連続するリフレッシュコマンドのバンクアドレスが競合しないようなリフレッシュバンクアドレスを生成する手段を持つ。例えばこのリフレッシュバンクアドレス生成手段はDRDRAMのバンク構成が隣接バンク間でセンスアンプを共有する32バンク構成である場合、(0,2,4,8,10,12,14,16,...,30,1,3,....29,31)といった順にバンクアドレスを生成する。
【００１７】
図９にREFA/REFPコマンドをバースト発行した場合のタイミングチャートを示す。
【００１８】
リフレッシュコマンドをバースト発行することは、特にNAPモードを利用したパワーマネジメントを行う場合に重要である。DRDRAMは図１０に示すような6つのパワーモードを持つ。このうち低消費電力モードはNAPモードおよびPowerdownモードである。DRDRAMはインターフェース部分に高周波数クロックを用いるため、動作時には多量の電力を消費する。
【００１９】
そのため、特にチャネル上に多数のデバイスが存在する場合、システムの消費電力を抑えるためにはアクセスを行わないデバイスは低消費電力モードにする必要がある。しかしPowerdownモードは通常モードに復帰するまでに時間がかかりすぎるため、システムが動作中はアクセス発生時に通常モードに戻るまでの時間が比較的短いNAPモードが用いられる。ただしNAPモードはインターフェース部分のクロックを停止するため、同期の維持の必要性からデバイスを長時間NAPモードに留めることができず、例えば最長でも10usといった制約がある。またNAP状態にあるときにはREFA/REFPコマンドを受け取ることができない。
【００２０】
従ってNAPモードを用いる場合には10us毎に全デバイスを通常モードに戻し、REFA/REFPコマンドによってリフレッシュを行い、その後もともと通常モードにあったもの以外は再度NAPモードに移行させることが行われている。リフレッシュを平均的に行うとすれば10us間に必要なリフレッシュの回数は複数回になる。このとき前述の如くリフレッシュをバースト発行することでリフレッシュに係るオーバーヘッドを低減することができる。
【特許文献１】特開昭６１−２６９２９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、前述のオープンページポリシーを適用する場合、これからリフレッシュが行われるバンクに存在するページが既にオープンされた状態にあることが起こり得る。その場合、リフレッシュに先立って先ずそのページをクローズしなければならない。もし3つのリフレッシュコマンドを発行しようとするとき、それらのバンクアドレスがオープンされているどのページとも競合しない場合には、前述の如く3つのリフレッシュをバースト発行することができる。しかし、もしいずれかのページと競合する場合は先ずそれらページをクローズし、その後リフレッシュコマンドを発行しなければならない。図１３にリフレッシュを行うための従来フローを示す。まずNAP状態にあるデバイスを通常モードに復帰させるためNAP Exitコマンドを発行する。これはSCK,CMD,SIO及びDQA[5:0]の信号を用いて行われる。これにはおよそ100ns以上かかる。DQA[5:0]にはNAPから復帰させるデバイスアドレスを指定するが、ここではブロードキャストを指定する。この場合、NAP状態に無いデバイスはNAP Exitコマンドは無視する。次いで、前記リフレッシュバンクアドレス生成手段からの出力と、前記ページ管理手段の保持する現在オープン状態にあるページのバンクアドレスとを比較する。もし両者が競合するようであれば、当該ページを前もってクローズする。これにはROWパケットのPRERコマンドを用いる。競合するページは複数有り得るので、これを競合するページが全てクローズされるまで行う。次いで当該バンクに対するREFAコマンドを発行する。リフレッシュはブロードキャストで全デバイス一斉に行うため、PRERコマンドとREFAコマンドとの間にはtRPの間隔が必要である。
【００２２】
次いで前記リフレッシュバンクアドレス生成手段にバンクアドレスを更新させる。これをリフレッシュのバースト発行回数分繰り返す。
【００２３】
図１１に３つのリフレッシュコマンドそれぞれに一つのページが競合する場合のタイミングチャートを示す。
【００２４】
このようにオープンページポリシーを適用した場合、リフレッシュ時に競合するページをクローズせねばならず、リフレッシュのオーバーヘッドが増大してしまうという問題がある。
【課題を解決するための手段】
【００２５】
係る課題を解決するため、本発明においてはメモリコントローラ内の前記リフレッシュバンクアドレス生成手段に、リフレッシュコマンドのバースト発行に先立ち、あらかじめバンクアドレスを順次生成する機能を追加する。NAP Exitコマンド発行後、これらバンクアドレスを前記ページ管理手段に入力し、前記ページ管理手段はその時点でオープンされているページのバンクアドレスと順次入力されるバンクアドレスとを比較し、競合を検知した場合には競合検出信号とともに該競合ページのアドレス情報を出力する。前記コマンド発行手段は前記競合検出信号を入力し、競合の場合前記ページアドレス情報出力に基づいて該ページをクローズするコマンドを発行する。これをバースト回数分繰り返すことによりバースト発行されるリフレッシュコマンドのバンクアドレスに競合するページは全てクローズされるので、NAP Exitが完了した後リフレッシュコマンドをバースト発行する。このとき前記リフレッシュバンクアドレス生成手段は再度最初のリフレッシュバンクアドレスから生成する。
【００２６】
これらページクローズコマンドとNAP Exitは並行して行うことができるため、リフレッシュに係るオーバーヘッドを従来より低減することができる。
【発明の効果】
【００２７】
以上説明したように、本発明によれば、オープンページポリシーを適用した場合のバーストリフレッシュ発行時のオーバーヘッドを低減することが可能で、これによりメモリシステムの実効バンド幅を向上させることができる。
【発明を実施するための最良の形態】
【００２８】
（実施形態１）
上記した本発明の実施の形態について更に詳細に説明すべく、本発明の一実施例について、図面を参照して詳細に説明する。
【００２９】
図１は本発明に係るメモリコントローラの一実施形態の構成を説明する図である。図１において、101はシステムバスインターフェース回路、102はメモリインターフェース回路であり、それぞれ外部とインターフェースするための回路である。メモリに対する書き込み、読み出し要求はシステムバス200を通じてメモリコントローラに指令され、チャネル300を通じてメモリに伝えられる。103はコマンド発行手段であり、前記要求に応じた書き込み、読み出し命令あるいはリフレッシュ命令を生成し、前記メモリインターフェース部102に与える。前記メモリインターフェース部102はこれを前述のようなコマンドパケットに変換し前記チャネル300上に送出する。104はページ管理手段であり、現在オープンされているページのアドレス情報を保持し、また新たなアドレスとの比較を行い、ページのヒット、ミス、バンク競合等を判定し、前記コマンド発行手段に伝える。105はリフレッシュタイミング生成手段であり、あらかじめ設定された時間に基づき、リフレッシュを行うべきタイミングをコマンド発生手段に通知する。106はリフレッシュバンクアドレス生成手段であり、連続するバンクアドレスが互いに競合しないようなアドレスを順次生成する。また必要に応じてアドレス生成系列を元に戻すことができる。例えば4つのバンクアドレスを順次生成した後、再度1番目のアドレスから順に同じアドレスを４つ生成したのち、次のアドレスに移ることができる。107、108はライトデータバッファ、リードデータバッファであり、それぞれ書き込み、読み出しデータを一旦保持しておき、必要なタイミングで出力するためのものである。
【００３０】
さて、オープンされているページが無い状態から、前記システムバス200を通じ、順にアドレスA,Bに対する書き込み、アドレスCからの読み出し要求があったとする。本実施例において、アドレスAはデバイスアドレスda, バンクアドレスba,ロウアドレスraにカラムアドレスcaに割り当てられている。これを{da,ba,ra,ca}と表記する。同様にアドレスBは{db,bb,rb,cb},アドレスCは{dc,bc,rc,cc}に割り当てられている。これらアドレスA,B,Cは互いに競合しない別のページに存在する。すなわち、da,db,dcは互いに異なるか、あるいは同一デバイスであってもba,bb,bcが互いに同一でなくかつセンスアンプを共有しないバンクである。さらに前記リフレッシュバンクアドレス生成手段106がba+1,bb,bc-1の順に連続にアドレスを生成しかついまリフレッシュバンクアドレス生成手段106はバンクアドレスba+1を出力している。
【００３１】
するとオープンページポリシーを適用する場合これら３つのアクセスが終了した時点でこの３つのページがオープンされていることになる。このとき前記リフレッシュタイミング生成手段105よりバーストリフレッシュ周期に達したことが通知されると、この後バンクアドレスba+1,bb,bc-1の順にリフレッシュが行われるが、baとba+1,bcとbc-1がそれぞれ競合するとすれば、現在オープンされている前記3つページはこれらリフレッシュバンクアドレスと競合することになる。
【００３２】
本発明の一実施例に係るリフレッシュ時のフローチャートを図１４に示す。本発明においては前述の従来例におけるフローとは異なり、始めにNAP Exitを開始した後、その終了を待たずに次ぎのステップに進む。次のステップでは前記リフレッシュバンクアドレス生成手段106出力、すなわちba+1と、前記ページ管理手段104の保持する現在オープン状態にあるページのバンクアドレス、すなわちba,bb,bcとを比較する。その結果バンクアドレスがbaであるアドレスAの存在するページが競合することが判明するので、当該ページをクローズする。これにはROWパケットのPRERコマンドを用いる。バンクアドレスba+1と競合するページは他に無いので、次いで前記リフレッシュバンクアドレス生成手段106のバンクアドレスが更新されbbとなる。これはバンクアドレスがbbであるアドレスBの存在するページと競合するので、当該ページをPRERコマンドによりクローズする。バンクアドレスbbと競合するページは他に無いので、前記リフレッシュバンクアドレス生成手段106のバンクアドレスが更新されbc-1となる。これはバンクアドレスがbcであるアドレスCの存在するページと競合するので、当該ページをPRERコマンドによりクローズする。
【００３３】
リフレッシュのバースト発行回数が３であれば、ここで前記リフレッシュバンクアドレス生成手段106のバンクアドレスを初めのアドレス、すなわちba+1に戻す。
【００３４】
その後、もはやリフレッシュと競合するオープン状態のページが存在しないので、NAP Exitが完全に終了したのち、バンクアドレスba+1,bb,bc-1に対してバーストリフレッシュを発行する。
【００３５】
このように、本発明においてはNAP Exitの開始とともにあらかじめリフレッシュと競合するページをクローズするようにすることで、オープンページポリシーを適用した場合のリフレッシュに関わるオーバーヘッドを低減することができる。
【００３６】
以上において、本発明が特定の実施例に関して図示されかつ説明されたが、さらに他の修正および改善が可能であることは言うまでも無い。例えば、本実施例においては前記リフレッシュバンクアドレス生成手段を1組のみ持つが、これを2組持ち、オープンされているページアドレスとの比較のためのアドレスの生成と、リフレッシュコマンド発行時のアドレスの生成をそれぞれ個別の手段で行っても良い。
【００３７】
本実施例においては全ての競合するページをクローズした後、NAP Exit終了判定ステップの前に前記リフレッシュバンクアドレス生成手段の出力アドレスを始まりの状態に戻しているが、これを判定終了後に行っても良いことは言うまでも無い。
【００３８】
したがって、本発明は示された特定の形式に限定されるものではなく、かつ添付の特許請求の範囲において本発明の精神および範囲から離れることのない全ての修正をカバーすることを考えていることが理解されるべきである。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施の一形態の構成を示すブロック図。
【図２】RDRAMを用いたメモリサブシステムの構成を説明する図。
【図３】ROWパケットの構成を示す図。
【図４】COLパケットの構成を示す図。
【図５】書き込み動作時におけるチャネル上の信号のタイミングを示す図。
【図６】読み出し動作時におけるチャネル上の信号のタイミングを示す図。
【図７】チャネル上のパイプライン動作を説明する図。
【図８】オープンページ時の読み出し動作のタイミングを説明する図。
【図９】リフレッシュコマンドをバースト発行する場合のタイミングを説明する図。
【図１０】RDRAMのパワーモードを説明する図。
【図１１】従来例におけるリフレッシュ時のタイミングを示す図。
【図１２】本発明の一実施例におけるリフレッシュ時のタイミングを示す図。
【図１３】従来例におけるリフレッシュ時の動作フローを説明する図。
【図１４】本発明の一実施例におけるリフレッシュ時の動作フローを説明する図。
【符号の説明】
【００４０】
101  システムバスインターフェース回路
102  メモリインターフェース回路
103  コマンド発行手段
104  ページ管理手段
105  リフレッシュタイミング生成手段
107  ライトデータバッファ
108  リードデータバッファ
200  システムバス
300  チャネル
400  メモリコントローラ
410〜440  RDRAM
450  チャネル
460  終端子
470  クロック発振器
【図１】
2006107614.tif 000003
【図２】
2006107614.tif 000004
【図３】
2006107614.tif 000005
【図４】
2006107614.tif 000006
【図５】
2006107614.tif 000007
【図６】
2006107614.tif 000008
【図７】
2006107614.tif 000009
【図８】
2006107614.tif 000010
【図９】
2006107614.tif 000011
【図１０】
2006107614.tif 000012
【図１１】
2006107614.tif 000013
【図１２】
2006107614.tif 000014
【図１３】
2006107614.tif 000015
【図１４】
2006107614.tif 000016