(57)【要約】【課題】  メモリの電源立ち上げ時等において初期化シーケンスが正常動作しない場合でも、電源ノイズ等の影響の少ない状態での初期化シーケンスを再実行可能で、システムのデッドロックを防止する、メモリコントローラ及びメモリ初期化方法を提供する。【解決手段】  パワーオンリセット回路２からメモリ初期化回路７へのリセット信号発信による初期化シーケンスに失敗した場合、メモリ制御部５は、初期化制御回路６を制御して、メモリ初期化回路７に初期化制御信号を発信させ、再度、メモリ初期化回路７に初期化シーケンスを実行させる。【選択図】図１
2009026019.tif 000002
【特許請求の範囲】
【請求項１】
メモリの初期化の処理を行なうメモリ初期化回路と、
前記メモリ初期化回路に前記メモリの初期化の処理を行なわせるために、初期化制御信号を発信する初期化制御回路と、
メモリの制御を行なうメモリ制御部とを備え、
前記メモリ制御部が、前記初期化制御回路を制御して、前記初期化制御信号を発信させ、任意のタイミングで前記初期化の処理を行なうことを特徴とするメモリコントローラ。
【請求項２】
前記メモリ初期化回路は、リセット信号により前記メモリの初期化の処理を行ない、前記メモリ制御部は、前記初期化の処理が正常に終了したか判定を行い、該初期化の処理が正常に終了しなかったと判定した場合、前記初期化制御回路に前記初期化制御信号を発信させることを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
リセット信号によりメモリの初期化の処理を行なうステップと、
前記初期化の処理が正常に終了したか判定を行なうステップと、
該初期化の処理が正常に終了しなかったと判定した場合、制御信号を発信して前記メモリの初期化の処理を再実行するステップとを備え、
任意のタイミングで前記初期化の処理の再実行をすることを特徴とするメモリ初期化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリの初期化を行なう回路に関し、特にメモリを制御するメモリコントローラで用いられるメモリの初期化の技術に関する。
【背景技術】
【０００２】
近年、画像処理の大容量化や高速化に伴って、画像処理半導体などの画像処理装置で用いられるメモリも大容量化や高速化が図られている。大容量・高速化メモリとして、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の中でもアクセススピードの速いＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）メモリ、ＤＤＲメモリを更に高速化したＤＤＲ２（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ２）メモリ等のメモリが用いられている。
【０００３】
ＤＤＲメモリは、アドレス（読み書きする位置）／コマンド（読み書きなどの指示）信号の転送タイミングについてはクロック信号の１周期ごとに行われるが、データをクロック信号の１／２周期で転送することにより、データ転送を２倍速化するものである。
【０００４】
このデータ転送等のタイミングを決めるクロック信号には、差動クロック信号が採用されている。差動クロック信号は、正のクロック（ＣＫ)信号がＨＩＧＨへ、ＣＫ信号と同周期でＣＫ信号と逆位相の負のクロック（／ＣＫ）信号がＬＯＷへ向かう遷移を論理上のクロック信号の立ち上がりエッジと見なす。これにより、高い動作クロックへの対応が可能となっている。
【０００５】
このＤＤＲメモリとのデータインターフェースの手法としては、データを送る側のデバイスがデータ信号と、そのデータ信号に同期もしくは一定の位相差を持ったストローブ（ＤＱＳ）信号を同時に送信し、受け取り側デバイスでそのストローブ信号を用いることにより、データを取り込むタイミングを識別してデータを内部に取り込む手法が一般的である。
【０００６】
コマンド信号、制御信号及びアドレス信号は、クロック信号の立ち上がりエッジで取り込むことになり、入力データは、各ストローブ信号の両エッジで取り込み、出力データは各ストローブ信号の両エッジで参照されることになる。
【０００７】
ところで、米国電子工業会（ＥＩＡ、Ｅｌｅｃｔｒｏｎｉｃ  Ｉｎｄｕｓｔｒｉｅｓ  Ａｌｌｉａｎｃｅ）の管轄で、電子部品の標準化を推進するアメリカの業界団体ＪＥＤＥＣ（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ）が規定したＤＤＲメモリの規格、ＪＥＤＥＣ  ＳｔａｎｄａｒｄのＪＥＳＤ７９Ｅに示されているが、ＤＤＲメモリでは、電源立ち上げ時には、ＤＤＲメモリ内部回路の論理状態が不安定であることから、正常な動作を確保するために、メモリの初期化の処理である初期化シーケンスの実行が必要となっている。
【０００８】
図３は、ＤＤＲメモリの従来の初期化シーケンスを示すタイミングチャートである。
はじめに、電源電圧・内部回路用（ＶＤＤ）、電源電圧・Ｉ／Ｏバッファ用（ＶＤＤＱ）、参照電圧（ＶＲＥＦ）、終端電圧（ＶＴＴ）の順に電源を投入する。
【０００９】
ここで、データ入出力（ＤＱ）端子及びストローブ（ＤＱＳ）端子をハイ・インピーダンス（ｈｉｇｈ  ｉｍｐｅｄａｎｃｅ）状態に保つため、この間は、クロックイネーブル（ＣＫＥ）信号をＬＯＷに保つ。
【００１０】
電源電圧、参照電圧、クロックが安定してから、コマンド信号を入力するまで、２００μｓ以上、この状態を保持する。
【００１１】
上記の２００μｓ後に、クロックイネーブル信号をＬＯＷからＨＩＧＨへ変更することで、初期化シーケンスを開始する。
【００１２】
まず、状態を維持するノー・オペレーションコマンド（ＮＯＰ）を発行し、続いて、全バンクのプリチャージを開始するため、プリチャージコマンド（ＰＲＥ、ＡｌｌＢａｎｋｓ）を発行し、拡張モード・レジスタ設定コマンド（ＥＭＲＳ）で、外部からのクロック信号とＤＤＲメモリ内部クロック信号との位相を合わせるよう調整するＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ、遅延ロックループ）を有効（ｅｎａｂｌｅ）にし、モード・レジスタ設定コマンド（ＭＲＳ）で、ＣＡＳレーテンシ、バースト・シーケンス、バースト長などの動作モードを設定し、ＤＬＬをリセットする。ここで、ＤＬＬをリセットしてから最初のコマンド入力まで、クロック信号最小２００サイクル確保する必要がある。
【００１３】
そして、再度、全バンクに対し、プリチャージコマンド（ＰＲＥ、ＡｌｌＢａｎｋｓ）を発行し、２回以上のオート・リフレッシュコマンド（ＡＲ）を発行、モード・レジスタ設定コマンド（ＭＲＳ）でＤＬＬを非リセット状態に設定し、所定のタイミングを満たしてから、通常動作が可能になる。
【００１４】
ＤＤＲメモリを制御するＤＤＲメモリコントローラは、このタイミングチャートに従って初期化シーケンスを実行するメモリ初期化回路を内蔵している。
【００１５】
図４は、従来のＤＤＲメモリ制御システムの構成を示すブロック図である。
ＤＤＲメモリ制御システムは、外部クロック信号から内部クロック信号を発生させるクロック発生回路１と、リセット信号を発信するパワーオンリセット回路２と、ＤＤＲメモリ３と、ＤＤＲメモリ３を制御するＤＤＲメモリコントローラ１１とを含んで構成され、ＤＤＲメモリコントローラ１１は、メモリ制御部１２と、上述したような初期化シーケンスを実行するメモリ初期化回路１３とを含んで構成されている。
【００１６】
図５は、従来の初期化シーケンス実行の処理を示すフローチャートである。
Ｓ２１において、電源投入によりＤＤＲメモリが立ち上げられると、パワーオンリセット回路２からＤＤＲメモリコントローラ１１に、リセット信号がアサートされる。Ｓ２２において、リセット信号は、メモリ初期化回路１３に伝わり、ＤＤＲメモリ３に対し、上述した初期化シーケンスを実行する。
【００１７】
この後、初期化シーケンスが正常に終了したか否かをチェックするために、Ｓ２３において、メモリ制御部１２の制御により、メモリ初期化回路１３は、ＤＤＲメモリ３にライト・コマンド（ＷＲＩＴＥ）を入力し、続いてリード・コマンド（ＲＥＡＤ）を入力して読み書きのチェックを行なう。ライト・リードのデータが一致すれば（Ｓ２３において「ＹＥＳ」）、初期化シーケンスが正常終了したとして、本処理を終了する。
【００１８】
ライト・リードのデータが不一致の場合（Ｓ２３において「ＮＯ」）、Ｓ２４において、メモリ制御部１２は、パワーオンリセット回路２に、リセット信号を発信するように制御信号を伝達し、メモリ初期化回路１３に、再度、リセット信号が入力され、初期化シーケンスが実行される。
【００１９】
初期化シーケンス終了後、Ｓ２５において、メモリ制御部１２の制御によりメモリ初期化回路１３は、ＤＤＲメモリ３に、ライト・コマンド（ＷＲＩＴＥ）及びリード・コマンド（ＲＥＡＤ）を入力し、読み書きのチェックを行なう。ライト・リードのデータが一致すれば（Ｓ２５において「ＹＥＳ」）、本処理を終了する。
【００２０】
ライト・リードのデータが不一致の場合（Ｓ２５において「ＮＯ」）、Ｓ２４の処理に戻り、初期化シーケンスに成功するまで繰り返す。
【００２１】
また、ＤＤＲメモリコントローラ１１は、電源投入時以外にも電源が入った状態でリセットを実行する場合がある。この場合もリセット信号をトリガとして、メモリ初期化回路１３が動作開始し、図３のタイミングチャートの手順に従って、初期化シーケンスを実行する。
【００２２】
正常に初期化シーケンスを実行するために、誤ったシーケンスで印加されたコマンドの受付を拒否するメモリについての技術が開示されている。
【特許文献１】特開２０００−３０４４２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
しかしながら、上述したＤＤＲメモリコントローラ１１のメモリ初期化回路１３は、電源投入により立ち上げられた時や、リセット等により再起動された時に、初期化シーケンスが実行されるように、ハードウェア的に固定されている。従って、電源投入時の初期化シーケンス、リセット時の初期化シーケンス実行時に、基板の電源ノイズ等による電源やクロック信号の不安定状態が発生すると、初期化シーケンスが正常に実行できないという問題点があった。
【００２４】
また、特許文献１の技術は、初期化シーケンスのコマンドを正しく実行することにより初期化の精度を上げようとしているが、電源ノイズ等に起因する電源やクロックの不安定な状態により初期化シーケンスが正常に実行できなかった場合、ＤＤＲメモリ３は正常動作できず、ＤＤＲメモリコントローラ１１を用いたＤＤＲメモリ制御システムがデッドロックしてしまうという問題点もあった。
【００２５】
本発明は、このような状況に鑑みてなされたものであり、メモリの電源立ち上げ時等において初期化シーケンスが正常動作しない場合でも、電源ノイズ等の影響の少ない状態での初期化シーケンスを再実行可能で、システムのデッドロックを防止する、メモリコントローラ及びメモリ初期化方法を提供することを目的とする。
【課題を解決するための手段】
【００２６】
斯かる実情に鑑み、第１の発明によるメモリコントローラは、メモリの初期化の処理を行なうメモリ初期化回路と、前記メモリ初期化回路に前記メモリの初期化の処理を行なわせるために、初期化制御信号を発信する初期化制御回路と、メモリの制御を行なうメモリ制御部とを備え、前記メモリ制御部が、前記初期化制御回路を制御して、前記初期化制御信号を発信させ、任意のタイミングで前記初期化の処理を行なうことを特徴とする。
【００２７】
また、第２の発明によるメモリコントローラは、前記メモリ初期化回路が、リセット信号により前記メモリの初期化の処理を行ない、前記メモリ制御部は、前記初期化の処理が正常に終了したか判定を行い、該初期化の処理が正常に終了しなかったと判定した場合、前記初期化制御回路に前記初期化制御信号を発信させることを特徴とする。
【００２８】
また、第３の発明によるメモリ初期化方法は、リセット信号によりメモリの初期化の処理を行なうステップと、前記初期化の処理が正常に終了したか判定を行なうステップと、該初期化の処理が正常に終了しなかったと判定した場合、制御信号を発信して前記メモリの初期化の処理を再実行するステップとを備え、任意のタイミングで前記初期化の処理の再実行をすることを特徴とする。
【発明の効果】
【００２９】
本発明によれば、メモリコントローラは、電源投入時等のリセット信号、又は任意のタイミングで初期化制御回路が発信する制御信号により、メモリの初期化処理（初期化シーケンス）を実行できるため、電源投入又はリセットに起因する、電源ノイズ又はクロック信号の不安定等による初期化シーケンスの不具合を避けることができる。
【００３０】
また、初期化シーケンスに失敗した後のリセット信号による初期化シーケンス再実行のタイミングは、ハードウェア的に固定されているが、任意のタイミングでのメモリ制御部のモジュールの制御による初期化シーケンスの再実行もでき、メモリ初期化時のデッドロックを回避することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明に係るＤＤＲメモリコントローラの実施形態について、添付図面を参照して説明する。また、図中、図４と同一の符号を付した部分は同一物を表わしており、基本的な構成は図４に示す従来のものと同様である
【００３２】
図１は、本発明の一実施形態におけるＤＤＲメモリ制御システム構成の一例を示すブロック図である。まず、図１を用いて、ＤＤＲメモリ制御システムの構成を説明する。
【００３３】
ＤＤＲメモリ制御システムは、外部クロック信号から内部クロック信号を発生させるクロック発生回路１と、リセット信号を発信するパワーオンリセット回路２と、ＤＤＲメモリ３と、ＤＤＲメモリ３を制御するＤＤＲメモリコントローラ４とを含んで構成され、ＤＤＲメモリコントローラ４は、メモリ制御部５と、初期化制御信号を出力する初期化制御回路６と、初期化シーケンスを実行するメモリ初期化回路７とを含んで構成されている。
【００３４】
ＤＤＲメモリコントローラ４は、ＤＤＲメモリ３へ、クロック信号（ＣＫ、ＣＫＢ）、クロックイネーブル信号（ＣＫＥ）、コマンド信号（ＣＯＭＭＡＮＤ）、バンク信号（ＢＡＮＫ）及びアドレス信号（ＡＤＤＲＥＳＳ）等を出力する。ＤＤＲメモリ３では、クロックイネーブル信号、コマンド信号、バンク信号及びアドレス信号をクロック信号で取り込むことでコマンドを解釈し、コマンドに従って動作する。
【００３５】
また、ＤＤＲメモリコントローラ４は、ＤＤＲメモリ３とデータマスク信号（ＤＭ）、データストローブ信号（ＤＱＳ）、データ信号（ＤＱ）を上記コマンドに従ってやり取りすることで、データの読み書きを行う。
【００３６】
次に、本願発明に係るＤＤＲメモリコントローラ４を用いたＤＤＲメモリ制御システムでの制御処理に関して説明する。
【００３７】
図２は、本発明の一実施形態におけるメモリ初期化処理を示すフローチャートである。
Ｓ１１において、電源投入によりＤＤＲメモリが立ち上げられると、パワーオンリセット回路２からＤＤＲメモリコントローラ４に、リセット信号がアサートされる。Ｓ１２において、リセット信号は、メモリ初期化回路７に伝わり、メモリ初期化回路７がＤＤＲメモリ３に対し、初期化シーケンスを実行する。本実施形態での初期化シーケンスは、従来例と同様なので、ここでの説明は省略する。
【００３８】
この後、初期化シーケンスが正常に終了したか否かをチェックするために、Ｓ１３において、メモリ制御部５の制御により、メモリ初期化回路７は、ＤＤＲメモリ３にライト・コマンド（ＷＲＩＴＥ）を入力し、続いてリード・コマンド（ＲＥＡＤ）を入力して読み書きのチェックを行なう。ライト・リードのデータが一致すれば（Ｓ１３において「ＹＥＳ」）、初期化シーケンスが正常終了したとして、本処理を終了する。
【００３９】
ライト・リードのデータが不一致の場合（Ｓ１３において「ＮＯ」）、初期化シーケンスに失敗したと判定し、Ｓ１４において、メモリ制御部５は、パワーオンリセット回路２に、リセット信号を発信するように制御信号を伝達し、メモリ初期化回路７に、再度、リセット信号が入力され、初期化シーケンスが実行される。
【００４０】
初期化シーケンス終了後、Ｓ１５において、メモリ制御部５の制御によりメモリ初期化回路７は、ＤＤＲメモリ３に、ライト・コマンド（ＷＲＩＴＥ）及びリード・コマンド（ＲＥＡＤ）を入力し、読み書きのチェックを行なう。ライト・リードのデータが一致すれば（Ｓ１５において「ＹＥＳ」）、本処理を終了する。
【００４１】
ライト・リードのデータが不一致の場合（Ｓ１５において「ＮＯ」）、初期化シーケンスが失敗したと判定し、メモリ制御部５は、Ｓ１６において、初期化制御回路６を制御し、初期化制御信号をメモリ初期化回路７に出力させる。
【００４２】
この初期化シーケンスに失敗した後の初期化シーケンス再実行のタイミングは、従来技術では、ハードウェア的に固定されていたのに対し、本発明においては、メモリ制御部５のモジュールの制御により初期化シーケンスの再実行を行なえることに特徴がある。
【００４３】
初期化シーケンス終了後、Ｓ１７において、メモリ制御部５の制御によりメモリ初期化回路７は、ＤＤＲメモリ３に、ライト・コマンド（ＷＲＩＴＥ）及びリード・コマンド（ＲＥＡＤ）を入力し、読み書きのチェックを行なう。ライト・リードのデータが一致すれば（Ｓ１７において「ＹＥＳ」）、システムはＤＤＲメモリ３への通常の読み書きを行なう。
【００４４】
ライト・リードのデータが不一致の場合（Ｓ１７において「ＮＯ」）、メモリ制御部５は、初期化シーケンスが失敗したと判定し、Ｓ１６の処理に戻り、初期化シーケンスが成功するまで繰り返す。
【００４５】
ここで、従来のＤＤＲメモリ制御システムでの動作フローを考えると、リセット信号をトリガとした初期化シーケンスしか実行できないことがわかる。この場合に初期化シーケンスに失敗した場合、再度リセット信号をアサートすることでしか初期化シーケンスを再実行できない。
【００４６】
初期化シーケンスの条件として、クロック信号、電源電圧が安定していることがあげられるが、リセット直後は電源ノイズ発生、クロック信号不安定の状態に陥る可能性が高いため、リセット信号による初期化シーケンスの信頼性は高くないと考えられる。
【００４７】
従って、初期化シーケンス成功の信頼性を高めるためには、電源投入時やリセット時以外に、メモリ制御部５の制御による任意のタイミングで、初期化シーケンス実行可能であることが必要となる。
【００４８】
本発明において、リセット信号以外に、メモリ制御部５が初期化制御回路６を制御して初期化制御信号を発信させる構成としたことにより、ＤＤＲメモリ制御システムを安定動作させることが可能になる。
【００４９】
尚、本発明のメモリコントローラ及びメモリ初期化方法は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施形態におけるメモリ制御システム構成の一例を示すブロック図である。
【図２】本発明の一実施形態におけるメモリ初期化処理を示すフローチャートである。
【図３】ＤＤＲメモリの初期化シーケンスを示すタイミングチャートである。
【図４】従来のメモリ制御システムの構成を示すブロック図である。
【図５】従来のメモリ初期化処理を示すフローチャートである。
【符号の説明】
【００５１】
１  クロック発生回路
２  パワーオンリセット回路
３  ＤＤＲメモリ
４、１１  ＤＤＲメモリコントローラ
５、１２  メモリ制御部
６  初期化制御回路
７、１３  メモリ初期化回路
【図１】
2009026019.tif 000003
【図２】
2009026019.tif 000004
【図４】
2009026019.tif 000005
【図５】
2009026019.tif 000006
【図３】
2009026019.tif 000007