JP2015014836A - メモリ制御装置及び情報処理装置 - Google Patents
メモリ制御装置及び情報処理装置 Download PDFInfo
- Publication number
- JP2015014836A JP2015014836A JP2013139811A JP2013139811A JP2015014836A JP 2015014836 A JP2015014836 A JP 2015014836A JP 2013139811 A JP2013139811 A JP 2013139811A JP 2013139811 A JP2013139811 A JP 2013139811A JP 2015014836 A JP2015014836 A JP 2015014836A
- Authority
- JP
- Japan
- Prior art keywords
- clock signal
- memory
- signal
- reference signal
- data
- 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.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
Abstract
【課題】それぞれが異なる周波数のクロック信号で動作する複数のメモリを単一の基準信号に基づいて駆動しつつ、データの読み書きのタイミングマージンを確保したメモリ制御装置などを提供する。【解決手段】メモリコントローラ40は、基準となる信号(基準信号CK)を発生する位相同期回路PLL41、基準信号CKの周波数Fを1/m(mは2以上の整数)に分周してクロック信号CK0を生成する分周器42、同様に基準信号CKの周波数Fを1/n(nは2以上の整数であって、m<n)に分周してクロック信号CK1を生成する分周器43、揮発性RAM20及び不揮発性RAM30へのデータの読み書きのタイミングを設定するタイミング設定部44を備えている。【選択図】図2
Description
本発明は、メモリ制御装置及び情報処理装置に関する。
公報記載の従来技術として、入力されるクロック信号に基づいて、新たなクロック信号を生成するクロック発生装置において、前記入力クロック信号から、入力クロック信号とはデューティの異なる複数クロック信号を発生させる手段と、前記複数のクロック信号の1つをクロック信号の1つのサイクル毎に選択するセレクタとを備え、前記入力クロックと周波数が同一で、毎サイクルデューティの異なるクロック信号を発生させるクロック発生装置が存在する(特許文献1参照)。
本発明は、それぞれが異なる周波数のクロック信号で動作する複数のメモリを単一の基準信号に基づいて駆動しつつ、データの読み書きのタイミングマージンを確保したメモリ制御装置などを提供する。
請求項1に記載の発明は、第1のクロック信号で動作する第1のメモリに、基準信号に基づいて当該第1のクロック信号を生成して供給する第1のクロック信号生成供給部と、前記第1のクロック信号より周波数が低い第2のクロック信号で動作する第2のメモリに、前記基準信号に基づいて当該第2のクロック信号を生成して供給する第2のクロック信号生成供給部と、前記基準信号に基づいて、前記第1のメモリ及び前記第2のメモリへのデータの書き込みタイミング及び読み出しタイミングを設定するタイミング設定部とを備えるメモリ制御装置である。
請求項2に記載の発明は、前記基準信号を発生する基準信号発生部をさらに備えることを特徴とする請求項1に記載のメモリ制御装置である。
請求項3に記載の発明は、算術演算および論理演算を行う演算部と、第1のクロック信号で動作する第1のメモリと、前記第1のクロック信号より周波数が低い第2のクロック信号で動作する第2のメモリと、予め定められた周波数の基準信号を発生する基準信号発生部と、前記基準信号に基づいて前記第1のクロック信号を生成して、前記第1のメモリに供給する第1のクロック信号生成供給部と、前記基準信号に基づいて前記第2のクロック信号を生成して、前記第2のメモリに供給する第2のクロック信号生成供給部と、前記基準信号に基づいて、前記第1のメモリ及び前記第2のメモリへのデータの書き込みタイミング及び読み出しタイミングを設定するタイミング設定部とを備える情報処理装置である。
請求項4に記載の発明は、前記第1のメモリは、読み書き可能な揮発性メモリであり、前記第2のメモリは、読み書き可能な不揮発性メモリであることを特徴とする請求項3に記載の情報処理装置である。
請求項5に記載の発明は、前記第2のメモリは、MRAM、FeRAM、PRAM、ReRAMのいずれかであることを特徴とする請求項3又は4に記載の情報処理装置である。
請求項2に記載の発明は、前記基準信号を発生する基準信号発生部をさらに備えることを特徴とする請求項1に記載のメモリ制御装置である。
請求項3に記載の発明は、算術演算および論理演算を行う演算部と、第1のクロック信号で動作する第1のメモリと、前記第1のクロック信号より周波数が低い第2のクロック信号で動作する第2のメモリと、予め定められた周波数の基準信号を発生する基準信号発生部と、前記基準信号に基づいて前記第1のクロック信号を生成して、前記第1のメモリに供給する第1のクロック信号生成供給部と、前記基準信号に基づいて前記第2のクロック信号を生成して、前記第2のメモリに供給する第2のクロック信号生成供給部と、前記基準信号に基づいて、前記第1のメモリ及び前記第2のメモリへのデータの書き込みタイミング及び読み出しタイミングを設定するタイミング設定部とを備える情報処理装置である。
請求項4に記載の発明は、前記第1のメモリは、読み書き可能な揮発性メモリであり、前記第2のメモリは、読み書き可能な不揮発性メモリであることを特徴とする請求項3に記載の情報処理装置である。
請求項5に記載の発明は、前記第2のメモリは、MRAM、FeRAM、PRAM、ReRAMのいずれかであることを特徴とする請求項3又は4に記載の情報処理装置である。
請求項1の発明によれば、本構成を備えない場合に比べ、それぞれが異なる周波数のクロック信号で動作する複数のメモリを単一の基準信号に基づいて駆動しつつ、データの読み書きのタイミングマージンを確保できる。
請求項2の発明によれば、本構成を備えない場合に比べ、ノイズの影響による誤動作が抑制できる。
請求項3の発明によれば、本構成を備えない場合に比べ、それぞれが異なる周波数のクロック信号で動作する複数のメモリを単一の基準信号に基づいて駆動しつつ、データの読み書きのタイミングマージンを確保して、情報処理ができる。
請求項4の発明によれば、本構成を備えない場合に比べ、情報処理装置が動作可能になるまでの待ち時間を短くできる。
請求項5の発明によれば、本構成を備えない場合に比べ、情報処理装置が動作可能になるまでの待ち時間をさらに短くできる。
請求項2の発明によれば、本構成を備えない場合に比べ、ノイズの影響による誤動作が抑制できる。
請求項3の発明によれば、本構成を備えない場合に比べ、それぞれが異なる周波数のクロック信号で動作する複数のメモリを単一の基準信号に基づいて駆動しつつ、データの読み書きのタイミングマージンを確保して、情報処理ができる。
請求項4の発明によれば、本構成を備えない場合に比べ、情報処理装置が動作可能になるまでの待ち時間を短くできる。
請求項5の発明によれば、本構成を備えない場合に比べ、情報処理装置が動作可能になるまでの待ち時間をさらに短くできる。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
(情報処理装置1)
図1は、本実施の形態が適用される情報処理装置1の全体構成の一例を示した図である。
情報処理装置1は、論理演算及び算術演算を行うALU(Alithmetic Logical Unit:論理算術演算ユニット)などを備えた演算部の一例としての中央演算処理ユニット(CPUと表記する。)10、読み書き可能な第1のメモリの一例としての揮発性RAM20、揮発性RAM20に比べて読み書きの速度が遅い読み書き可能な第2のメモリの一例としての不揮発性RAM30を備えている。ここでは、揮発性RAM20、不揮発性RAM30をそれぞれ区別しないときはメモリと表記する。そして、情報処理装置1は、揮発性RAM20、不揮発性RAM30を制御するメモリ制御装置の一例としてのメモリコントローラ40、CPU10とメモリコントローラ40との間で、命令(コマンド)、アドレス、定数などのデータを転送するバス50を備えている。なお、バス50は、並行する複数の配線で構成され、それぞれの配線上をデータが電気信号として伝送される。
(情報処理装置1)
図1は、本実施の形態が適用される情報処理装置1の全体構成の一例を示した図である。
情報処理装置1は、論理演算及び算術演算を行うALU(Alithmetic Logical Unit:論理算術演算ユニット)などを備えた演算部の一例としての中央演算処理ユニット(CPUと表記する。)10、読み書き可能な第1のメモリの一例としての揮発性RAM20、揮発性RAM20に比べて読み書きの速度が遅い読み書き可能な第2のメモリの一例としての不揮発性RAM30を備えている。ここでは、揮発性RAM20、不揮発性RAM30をそれぞれ区別しないときはメモリと表記する。そして、情報処理装置1は、揮発性RAM20、不揮発性RAM30を制御するメモリ制御装置の一例としてのメモリコントローラ40、CPU10とメモリコントローラ40との間で、命令(コマンド)、アドレス、定数などのデータを転送するバス50を備えている。なお、バス50は、並行する複数の配線で構成され、それぞれの配線上をデータが電気信号として伝送される。
揮発性RAM20又は不揮発性RAM30には、CPU10によって順に読み込まれて実行されるプログラムが“1”/“0”のデータとして記憶されている。また、プログラムには、CPU10に実行させる命令(コマンド)の他に、次に実行する命令や読み出す定数が記憶されたアドレスなども含まれる。ここでは、揮発性RAM20又は不揮発性RAM30に記憶されているプログラム、アドレス、定数などをデータ又はデータ(“1”/“0”)と表記する。
なお、CPU10とバス50との間に、バスブリッジを設けてもよい。バスブリッジには、揮発性RAM20、不揮発性RAM30に接続されるバス50の他に、情報処理装置1に接続される周辺デバイスとのインタフェース(I/F)に接続されて、データを伝送するPCIバスなどが接続される。一般に、バス50は、PCIバスなどに比べて、データなどの転送速度が速い。この場合、バス50は、メモリバスと表記されることがある。
次に、情報処理装置1における接続関係を説明する。
CPU10及びメモリコントローラ40は、バス50に並列に接続されている。そして、CPU10とメモリコントローラ40との間で、データが双方向に送受信可能になっている。
そして、メモリコントローラ40に、揮発性RAM20、不揮発性RAM30が並列に接続されている。そして、メモリコントローラ40と揮発性RAM20又は不揮発性RAM30との間でデータを送受信できるようになっている。すなわち、本実施の形態では、揮発性RAM20、不揮発性RAM30は、一つのメモリコントローラ40によって制御されている。
なお、揮発性RAM20又は不揮発性RAM30に対してアドレスが送信され、そのアドレスで指定された領域からデータを読み出すこと、又はそのアドレスで指定された領域にデータを書き込んで記憶させることを、データ(“1”/“0”)を読み書きすると表記する。
CPU10及びメモリコントローラ40は、バス50に並列に接続されている。そして、CPU10とメモリコントローラ40との間で、データが双方向に送受信可能になっている。
そして、メモリコントローラ40に、揮発性RAM20、不揮発性RAM30が並列に接続されている。そして、メモリコントローラ40と揮発性RAM20又は不揮発性RAM30との間でデータを送受信できるようになっている。すなわち、本実施の形態では、揮発性RAM20、不揮発性RAM30は、一つのメモリコントローラ40によって制御されている。
なお、揮発性RAM20又は不揮発性RAM30に対してアドレスが送信され、そのアドレスで指定された領域からデータを読み出すこと、又はそのアドレスで指定された領域にデータを書き込んで記憶させることを、データ(“1”/“0”)を読み書きすると表記する。
情報処理装置1は、CPU10が、揮発性RAM20又は不揮発性RAM30に記憶された命令に基づいて、揮発性RAM20又は不揮発性RAM30に記憶されたデータに対して論理演算及び算術演算などを行なうことにより、所謂情報処理を行なう。
なお、情報処理装置1は、前述した周辺デバイスの例として、ディスプレイなどで構成された表示装置、キーボード、マウスなどの入力装置、通信回線との間でデータの送受信を行なう送受信装置などと接続するためのインタフェース(I/F)をさらに備えていてもよい。また、情報処理装置1は、表示装置、入力装置、送受信装置などを含んだものとしてもよい。
なお、情報処理装置1は、前述した周辺デバイスの例として、ディスプレイなどで構成された表示装置、キーボード、マウスなどの入力装置、通信回線との間でデータの送受信を行なう送受信装置などと接続するためのインタフェース(I/F)をさらに備えていてもよい。また、情報処理装置1は、表示装置、入力装置、送受信装置などを含んだものとしてもよい。
(揮発性RAM20)
ここで、揮発性RAM20を説明する。
揮発性RAM20は、例えばDRAM(Dynamic RAM)やSRAM(Static RAM)であって、電源が供給されていなければ、記憶しているデータ(“1”/“0”)を保持することができない揮発性メモリによって構成されている。
DRAMは、データの読み書きに要する時間(アクセス時間)を短くできるように構成され、1ビットの当たりに占める面積も小さい。このため、大容量且つ高速なアクセスを必要とする場合に使用される。最近では、DRAMの外部のクロック信号(外部クロック信号)の立上りタイミング及び立下りタイミングにおいてデータの読み書きができるDDR(Double Data Rate)のシンクロナス型DRAM(DDR SDRAM)が使用されるようになっている。これにより、外部クロック信号の立上りタイミング又は立下りタイミングのいずれか一方においてデータの読み書きを行なうSDR(Single Data Rate) SDRAMに比べて、倍の速度でデータの読み書きができる。
ここで、揮発性RAM20を説明する。
揮発性RAM20は、例えばDRAM(Dynamic RAM)やSRAM(Static RAM)であって、電源が供給されていなければ、記憶しているデータ(“1”/“0”)を保持することができない揮発性メモリによって構成されている。
DRAMは、データの読み書きに要する時間(アクセス時間)を短くできるように構成され、1ビットの当たりに占める面積も小さい。このため、大容量且つ高速なアクセスを必要とする場合に使用される。最近では、DRAMの外部のクロック信号(外部クロック信号)の立上りタイミング及び立下りタイミングにおいてデータの読み書きができるDDR(Double Data Rate)のシンクロナス型DRAM(DDR SDRAM)が使用されるようになっている。これにより、外部クロック信号の立上りタイミング又は立下りタイミングのいずれか一方においてデータの読み書きを行なうSDR(Single Data Rate) SDRAMに比べて、倍の速度でデータの読み書きができる。
また、DRAMの内部に比べて、DRAMが外部とデータのやり取りを行なうインタフェース部分は、ラッチとバッファとで構成されるので、高速化が可能である。よって、後述するDDR2 SDRAM、DDR3 SDRAMの規格では、DRAMの内部におけるクロック信号(内部クロック信号)の周波数に比べて、DRAMの外部すなわちインタフェース部分のクロック信号(外部クロック信号)の周波数を高くして、DRAMにおけるアクセスの高速化が図られている。
なお、DDR SDRAMの規格では、内部クロック信号の1クロックにおける読み書きの最小単位は連続する2ワードである。しかし、DDRでは、外部クロック信号の立上りタイミング及び立下りタイミングにおいて読み書きが行なわれるので、内部クロック信号の周波数と外部クロック信号の周波数とは同じである。
なお、DDR SDRAMの規格では、内部クロック信号の1クロックにおける読み書きの最小単位は連続する2ワードである。しかし、DDRでは、外部クロック信号の立上りタイミング及び立下りタイミングにおいて読み書きが行なわれるので、内部クロック信号の周波数と外部クロック信号の周波数とは同じである。
一方、DDR2 SDRAMの規格では、内部クロック信号の1クロックにおける読み書きの最小単位は連続する4ワードである。よって、外部クロック信号の周波数は、内部クロック信号の周波数の2倍である。
さらに、DDR3 SDRAMの規格では、内部クロック信号の1クロックにおける読み書きの最小単位は連続する8ワードである。よって、外部クロック信号の周波数は、内部クロック信号の周波数の4倍である。
外部クロック信号の周波数を高くする傾向は、今後も続くと考えられる。
ここでは、一例として、揮発性RAM20は、DDR3 SDRAMであるとする。
さらに、DDR3 SDRAMの規格では、内部クロック信号の1クロックにおける読み書きの最小単位は連続する8ワードである。よって、外部クロック信号の周波数は、内部クロック信号の周波数の4倍である。
外部クロック信号の周波数を高くする傾向は、今後も続くと考えられる。
ここでは、一例として、揮発性RAM20は、DDR3 SDRAMであるとする。
上述したように、DDR3 SDRAMなどでは、外部クロック信号の立上りタイミングと立下りタイミングにおいて、データを読み書きする。よって、外部クロック信号の周波数が高くなって、データを読み書きするタイミングがずれると、データの正常な読み書きができなくなるおそれがある。すなわち、データを読み書きするタイミングが重要となる。
データを読み書きするタイミングのずれは、配線などによる遅延、プロセスのばらつき、電圧の変動及び温度などにより発生する。
特に、外部クロック信号の周波数が高くなればなるほど1クロックの期間が短くなるため、データの読み書きタイミングは遅延などの影響を受けやすくなる。したがって、外部クロック信号の周波数を単に高くしただけでは、DDR3 SDRAMを正常に動作させることが難しくなる。
データを読み書きするタイミングのずれは、配線などによる遅延、プロセスのばらつき、電圧の変動及び温度などにより発生する。
特に、外部クロック信号の周波数が高くなればなるほど1クロックの期間が短くなるため、データの読み書きタイミングは遅延などの影響を受けやすくなる。したがって、外部クロック信号の周波数を単に高くしただけでは、DDR3 SDRAMを正常に動作させることが難しくなる。
そこで、DDR3 SDRAMなどでは、外部クロック信号の立上りタイミング又は/及び立下りタイミングに対して、データの読み書きのタイミングをずらし(遅延させ)て、読み書きにおけるタイミングのマージン(タイミングマージン)を最大にすることが行なわれる(キャリブレーションと表記されることがある。)。
キャリブレーションは、例えば予め設定されたデータのパターンを、予め定められた複数の読み書きタイミングにて読み書きし、正常に読み書きができる読み書きタイミングを探索する。そして、データの読み書きにおけるタイミングマージンが最大になるように、読み書きタイミングを設定することで行なわれる。すなわち、データの読み書きにおけるタイミングマージンを確保することが求められる。
キャリブレーションは、例えば予め設定されたデータのパターンを、予め定められた複数の読み書きタイミングにて読み書きし、正常に読み書きができる読み書きタイミングを探索する。そして、データの読み書きにおけるタイミングマージンが最大になるように、読み書きタイミングを設定することで行なわれる。すなわち、データの読み書きにおけるタイミングマージンを確保することが求められる。
(不揮発性RAM30)
次に、不揮発性RAM30を説明する。
不揮発性RAM30は、例えば磁気メモリ(magnetoresistive RAM:MRAMと表示する。)、強誘電体メモリ(ferroelectric RAM:FeRAMと表記する。)、相変化メモリ(phase change RAM:PRAMと表記する。)、抵抗メモリ(resistance RAM:ReRAMと表記する。)などであって、電源が供給されていなくとも、記憶しているデータ(“1”/“0”)を保持することができる不揮発性メモリによって構成されている。
MRAMは、トンネル磁気抵抗膜を二つの磁性積層膜で挟み、二つの磁性積層膜の相対的な磁化方向によってトンネル磁気抵抗膜の磁気抵抗(magnetoresistive:MR)が変化する現象を利用してデータを保持する。FeRAMは、PZT(Pb(Zr、Ti)O3)などの強誘電体の分極を利用してデータを保持する。PRAMは、カルコゲナイドの相変化にともなう抵抗変化を利用してデータを保持する。ReRAMは、電圧の印加による電気抵抗の大きな変化(CER(colossal electro−resistance)効果)を利用してデータを保持する。
次に、不揮発性RAM30を説明する。
不揮発性RAM30は、例えば磁気メモリ(magnetoresistive RAM:MRAMと表示する。)、強誘電体メモリ(ferroelectric RAM:FeRAMと表記する。)、相変化メモリ(phase change RAM:PRAMと表記する。)、抵抗メモリ(resistance RAM:ReRAMと表記する。)などであって、電源が供給されていなくとも、記憶しているデータ(“1”/“0”)を保持することができる不揮発性メモリによって構成されている。
MRAMは、トンネル磁気抵抗膜を二つの磁性積層膜で挟み、二つの磁性積層膜の相対的な磁化方向によってトンネル磁気抵抗膜の磁気抵抗(magnetoresistive:MR)が変化する現象を利用してデータを保持する。FeRAMは、PZT(Pb(Zr、Ti)O3)などの強誘電体の分極を利用してデータを保持する。PRAMは、カルコゲナイドの相変化にともなう抵抗変化を利用してデータを保持する。ReRAMは、電圧の印加による電気抵抗の大きな変化(CER(colossal electro−resistance)効果)を利用してデータを保持する。
MRAM、FeRAM、PRAM、ReRAMなどは、DRAM、SRAMと同様に、半導体基板上にメモリセル(1ビットのデータを保持する領域)をマトリクス状に高密度に配置でき、一体形成された駆動回路により、DRAMなどと同様に読み書きができる。さらに、情報を書き換える回数(書き換え回数)の制限が原理的にない、または書き換え可能な回数が極めて大きい(以下では、書き換え回数の制限が小さいと表記する)。
このため、MRAM、FeRAM、PRAM、ReRAMなどは、不揮発性RAM30に適用しやすい。
ここでは、一例として、不揮発性RAM30は、MRAMであるとする。
このため、MRAM、FeRAM、PRAM、ReRAMなどは、不揮発性RAM30に適用しやすい。
ここでは、一例として、不揮発性RAM30は、MRAMであるとする。
なお、電源が供給されていなくとも、記憶しているデータ(“1”/“0”)を保持することができる不揮発性メモリには、MOSトランジスタのゲート電極(フローティングゲート)に蓄積した電荷の有無によりデータを保持するフラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)などもある。フラッシュメモリおよびEEPROMは、電気的にデータの読み書きができるが、前述のMRAM、FeRAM、PRAM、ReRAMなどに比べ、読み書きの速度、特に書き込みの速度が遅い。そして、フラッシュメモリ、EEPROMは、書き換え回数に制限がある。また、DRAMなどと異なる読み書き手順を使用する。
揮発性RAM20は、電源が供給されていなければ記憶しているデータを保持することができないので、電源をオフからオンにした時、初期化及びデータの書き込みを行うことが必要である。
すなわち、基本プログラムであるOS(Operating System)や、OS上で実行されて周辺デバイスを制御するプログラムであるアプリケーションなどを、揮発性RAM20に記憶させる場合には、電源をオフからオンにした際に、別途設けられたHDD(Hard Disk Drive)やROM(Read Only Memory)などからOSやアプリケーションなどを読み出して、揮発性RAM20に記憶させることが必要となる。このために、情報処理装置1が動作可能な状態になるまでに時間がかかる。
すなわち、基本プログラムであるOS(Operating System)や、OS上で実行されて周辺デバイスを制御するプログラムであるアプリケーションなどを、揮発性RAM20に記憶させる場合には、電源をオフからオンにした際に、別途設けられたHDD(Hard Disk Drive)やROM(Read Only Memory)などからOSやアプリケーションなどを読み出して、揮発性RAM20に記憶させることが必要となる。このために、情報処理装置1が動作可能な状態になるまでに時間がかかる。
これに対して、不揮発性RAM30は、電源が供給されていなくても記憶したデータを保持できるので、データが記憶されていれば、電源をオフからオンにした場合であっても、初期化及びデータの書き込みを行なうことを要しない。
よって、情報処理装置1のOSやアプリケーションなどを不揮発性RAM30上で動作させれば、電源をオフにした後に再び電源をオンにした場合に、情報処理装置1が動作可能になるまでの待ち時間が短くなるとともに、情報処理装置1を電源がオフにされた時点から引き続いて動作させることができる。
よって、情報処理装置1のOSやアプリケーションなどを不揮発性RAM30上で動作させれば、電源をオフにした後に再び電源をオンにした場合に、情報処理装置1が動作可能になるまでの待ち時間が短くなるとともに、情報処理装置1を電源がオフにされた時点から引き続いて動作させることができる。
しかし、不揮発性RAM30の読み書きに要する時間(アクセス時間)が揮発性RAM20に比べ遅い場合などには、揮発性RAM20と不揮発性RAM30とを併用することが好ましい。
例えば、情報処理装置1のOSやアプリケーションなどを不揮発性RAM30上で動作させるとともに、揮発性RAM20をワークエリアとして使用して情報処理を行なうようにすることができる。揮発性RAM20上のデータが一時的なデータであって、電源をオフにしたときに失われてもよい場合には、不揮発性RAM30のみを用いた場合と同様に、情報処理装置1が動作可能になるまでの待ち時間が短くなるとともに、情報処理装置1を電源がオフにされた時点から引き続いて動作させることができる。
例えば、情報処理装置1のOSやアプリケーションなどを不揮発性RAM30上で動作させるとともに、揮発性RAM20をワークエリアとして使用して情報処理を行なうようにすることができる。揮発性RAM20上のデータが一時的なデータであって、電源をオフにしたときに失われてもよい場合には、不揮発性RAM30のみを用いた場合と同様に、情報処理装置1が動作可能になるまでの待ち時間が短くなるとともに、情報処理装置1を電源がオフにされた時点から引き続いて動作させることができる。
揮発性RAM20と不揮発性RAM30とは、ともにデータを記憶するデバイスであるので、読み書きを制御する制御命令や読み書きの手順を同じにすることができる。
この場合、揮発性RAM20と不揮発性RAM30とでアクセス時間が異なることに起因して、クロック信号の周波数が異なるメモリコントローラを個別に用意することは、回路基板の面積及びコストの増大の点から好ましくない。すなわち、それぞれが異なる周波数のクロック信号で動作する複数のメモリを単一の基準信号に基づいて駆動できることが好ましい。
この場合、揮発性RAM20と不揮発性RAM30とでアクセス時間が異なることに起因して、クロック信号の周波数が異なるメモリコントローラを個別に用意することは、回路基板の面積及びコストの増大の点から好ましくない。すなわち、それぞれが異なる周波数のクロック信号で動作する複数のメモリを単一の基準信号に基づいて駆動できることが好ましい。
(メモリコントローラ40)
図2は、本実施の形態におけるメモリコントローラ40の構成の一例を示す図である。図2では、メモリコントローラ40において揮発性RAM20に対するクロック信号CK0と不揮発性RAM30に対するクロック信号CK1を生成する部分及び読み書きのタイミングを設定する部分を示している。これらの部分は、所謂PHY(物理層インタフェース)と呼ばれる部分である。
なお、クロック信号CK0、CK1は、上述の外部クロック信号に該当する。以下では、揮発性RAM20及び不揮発性RAM30のそれぞれの内部クロック信号については説明を省略する。
図2は、本実施の形態におけるメモリコントローラ40の構成の一例を示す図である。図2では、メモリコントローラ40において揮発性RAM20に対するクロック信号CK0と不揮発性RAM30に対するクロック信号CK1を生成する部分及び読み書きのタイミングを設定する部分を示している。これらの部分は、所謂PHY(物理層インタフェース)と呼ばれる部分である。
なお、クロック信号CK0、CK1は、上述の外部クロック信号に該当する。以下では、揮発性RAM20及び不揮発性RAM30のそれぞれの内部クロック信号については説明を省略する。
メモリコントローラ40は、前述したようにバス50に接続されるとともに、揮発性RAM20及び不揮発性RAM30に接続されている。図2では、メモリコントローラ40は1個の揮発性RAM20及び1個の不揮発性RAM30に接続されているとする。
メモリコントローラ40は、バス50を構成する複数の配線のそれぞれに対応した複数の配線で、バス50に接続されている。
一方、メモリコントローラ40は、揮発性RAM20又は不揮発性RAM30に対してアドレス信号ADRを送信するADR端子、揮発性RAM20又は不揮発性RAM30からデータ信号DQの読み出し、揮発性RAM20又は不揮発性RAM30へのデータ信号DQの書き込みのためのDQ端子を備えている。さらに、メモリコントローラ40は、揮発性RAM20を選択するためのチップセレクト信号CS0を送信するCS0端子、不揮発性RAM30を選択するためのチップセレクト信号CS1を送信するCS1端子を備えている。
ここでは、データ信号DQをメモリコントローラ40と揮発性RAM20及び不揮発性RAM30とで送受信される信号とし、データ信号DQで送受信される内容をデータとする。
一方、メモリコントローラ40は、揮発性RAM20又は不揮発性RAM30に対してアドレス信号ADRを送信するADR端子、揮発性RAM20又は不揮発性RAM30からデータ信号DQの読み出し、揮発性RAM20又は不揮発性RAM30へのデータ信号DQの書き込みのためのDQ端子を備えている。さらに、メモリコントローラ40は、揮発性RAM20を選択するためのチップセレクト信号CS0を送信するCS0端子、不揮発性RAM30を選択するためのチップセレクト信号CS1を送信するCS1端子を備えている。
ここでは、データ信号DQをメモリコントローラ40と揮発性RAM20及び不揮発性RAM30とで送受信される信号とし、データ信号DQで送受信される内容をデータとする。
図2では図示を省略しているが、ADR端子は複数の端子からなり、それぞれの端子に供給されるデータ(“1”/“0”)によりビットパラレル(例えば14ビット)で、揮発性RAM20及び不揮発性RAM30においてデータが記憶されている領域を指定する。なお、ADR端子は、揮発性RAM20及び不揮発性RAM30に並行に接続されているので、アドレス信号ADRは揮発性RAM20及び不揮発性RAM30に同時に供給される。
また、DQ端子も、ADR端子と同様に、複数の端子(例えば8個)からなり、それぞれにデータ信号DQが供給される。
DQ端子も、揮発性RAM20及び不揮発性RAM30に並行に接続されているので、データ信号DQは揮発性RAM20及び不揮発性RAM30に同時に供給される。
また、DQ端子も、ADR端子と同様に、複数の端子(例えば8個)からなり、それぞれにデータ信号DQが供給される。
DQ端子も、揮発性RAM20及び不揮発性RAM30に並行に接続されているので、データ信号DQは揮発性RAM20及び不揮発性RAM30に同時に供給される。
メモリコントローラ40のCS0端子は、揮発性RAM20のCS端子に接続され、CS1端子は、不揮発性RAM30のCS端子に接続されている。
CS0端子から送信されるチップセレクト信号CS0とCS1端子から送信されるチップセレクト信号CS1とにより、揮発性RAM20又は不揮発性RAM30のいずれか一方が選択されるようになっている。すなわち、チップセレクト信号CS0、CS1は、排他的に“1”/“0”が設定されるようになっている。
よって、アドレス信号ADR及びデータ信号DQが、揮発性RAM20及び不揮発性RAM30に同時に供給されても、チップセレクト信号CS0、CS1により選択された揮発性RAM20又は不揮発性RAM30のいずれか一方のみで有効になる。
CS0端子から送信されるチップセレクト信号CS0とCS1端子から送信されるチップセレクト信号CS1とにより、揮発性RAM20又は不揮発性RAM30のいずれか一方が選択されるようになっている。すなわち、チップセレクト信号CS0、CS1は、排他的に“1”/“0”が設定されるようになっている。
よって、アドレス信号ADR及びデータ信号DQが、揮発性RAM20及び不揮発性RAM30に同時に供給されても、チップセレクト信号CS0、CS1により選択された揮発性RAM20又は不揮発性RAM30のいずれか一方のみで有効になる。
すなわち、揮発性RAM20は、メモリコントローラ40のCK0端子から供給されるクロック信号CK0により駆動され、不揮発性RAM30は、メモリコントローラ40のCK1端子から供給されるクロック信号CK1により駆動される。
そして、CS0端子から送信されるチップセレクト信号CS0とCS1端子から送信されるチップセレクト信号CS1とにより、揮発性RAM20又は不揮発性RAM30のいずれか一方が選択されるようになっている。
そして、CS0端子から送信されるチップセレクト信号CS0とCS1端子から送信されるチップセレクト信号CS1とにより、揮発性RAM20又は不揮発性RAM30のいずれか一方が選択されるようになっている。
次に、メモリコントローラ40の内部の構成について説明する。
メモリコントローラ40は、周波数Fの基準となる信号(基準信号CK)を発生する基準信号発生部の一例としての位相同期回路PLL(Phase Locked Loop)41(以下ではPLL41と表記する。)、基準信号CKの周波数Fを1/m(mは2以上の整数)に分周して第1のクロック信号の一例としてのクロック信号CK0(周波数F0)を生成する第1のクロック信号生成供給部の一例としての分周器42、同様に基準信号CKの周波数Fを1/n(nは2以上の整数であって、m<n)に分周して第2のクロック信号の一例としてのクロック信号CK1を生成する第2のクロック信号生成供給部の一例としての分周器43、揮発性RAM20及び不揮発性RAM30へのデータの読み書きのタイミングを設定するタイミング設定部44を備えている。
メモリコントローラ40は、周波数Fの基準となる信号(基準信号CK)を発生する基準信号発生部の一例としての位相同期回路PLL(Phase Locked Loop)41(以下ではPLL41と表記する。)、基準信号CKの周波数Fを1/m(mは2以上の整数)に分周して第1のクロック信号の一例としてのクロック信号CK0(周波数F0)を生成する第1のクロック信号生成供給部の一例としての分周器42、同様に基準信号CKの周波数Fを1/n(nは2以上の整数であって、m<n)に分周して第2のクロック信号の一例としてのクロック信号CK1を生成する第2のクロック信号生成供給部の一例としての分周器43、揮発性RAM20及び不揮発性RAM30へのデータの読み書きのタイミングを設定するタイミング設定部44を備えている。
タイミング設定部44は、遅延同期回路DLL(Deley Locked Loop)51(以下ではDLL51と表記する。)、セレクタSEL52、53、54(以下ではSEL52、53、54と表記する。)、フリップフロップFF55−1〜55−4、56−1〜56−4(以下ではFF55−1〜55−4、56−1〜56−4と表記する。)を備えている。
PLL41は、周波数Fの入力信号と、電圧に応じて周波数が変化する電圧制御発振器(VCO)の出力信号からのフィードバック信号との位相差を、そのVCOに入力することにより、入力信号と出力信号との位相を同期させる回路である。PLL41の出力端子からは、周波数Fの安定した基準信号CKが出力される。
DLL51は、周波数Fの入力信号を可変の遅延線で遅延させた出力信号を生成する回路である。入力端子における入力信号と出力端子における出力信号からのフィードバック信号との位相差が360°になるように、入力端子と出力端子との間に遅延を挿入して同期させる。遅延線は、レジスタ、バッファなどの回路で構成され、遅延線の途中において、入力信号の1周期(1/F)内において、入力信号を複数の遅延量で遅延させた信号の組を出力させることができる。
なお、図2においては、DLL51は、遅延させた信号の組を2組取り出せるように構成されている。例えば、図2に示すように、遅延線の長さを2周期として、それぞれの周期においてそれぞれで遅延させた信号の組を取り出せるようにしてもよく、1周期の遅延線から取り出した遅延させた信号の組から分岐して2組の遅延させた信号の組を取り出してもよい。
なお、図2においては、DLL51は、遅延させた信号の組を2組取り出せるように構成されている。例えば、図2に示すように、遅延線の長さを2周期として、それぞれの周期においてそれぞれで遅延させた信号の組を取り出せるようにしてもよく、1周期の遅延線から取り出した遅延させた信号の組から分岐して2組の遅延させた信号の組を取り出してもよい。
SEL52、53、54は、複数の入力端子と複数の出力端子との間において、接続される関係が切り替えられる回路である。
FF55−1〜55−4、56−1〜56−4は、それぞれが2個の入力端子と1個の出力端子とを備え、2個の入力端子の論理値(“1”/“0”)の組合せにより、出力端子の論理値(“1”/“0”)が決まる回路である。FF55−1〜55−4、56−1〜56−4には、例えばRS型、JK型などのフリップフロップが使用できる。
FF55−1〜55−4、56−1〜56−4は、それぞれが2個の入力端子と1個の出力端子とを備え、2個の入力端子の論理値(“1”/“0”)の組合せにより、出力端子の論理値(“1”/“0”)が決まる回路である。FF55−1〜55−4、56−1〜56−4には、例えばRS型、JK型などのフリップフロップが使用できる。
次に、メモリコントローラ40の内部の接続関係について説明する。
PLL41の出力端子は、分周器42及び分周器43のそれぞれの入力端子に並行して接続されている。これにより、PLL41が発生する基準信号CK(周波数F)が、分周器42及び分周器43のそれぞれの入力端子に並行して供給される。
分周器42の出力端子は、メモリコントローラ40のCK0端子を介して揮発性RAM20のCK端子に接続されている。分周器42は、基準信号CKの周波数Fを1/mに分周して周波数F0(=F/m)のクロック信号CK0を生成し、揮発性RAM20に供給する。
同様に、分周器43の出力端子は、メモリコントローラ40のCK1端子を介して不揮発性RAM30のCK端子に接続されている。これにより、分周器43は、基準信号CKの周波数Fを1/nに分周して周波数F1(=F/n)のクロック信号CK1を生成し、不揮発性RAM30に供給する。
なお、分周器42の出力端子を分周器43の入力端子に接続し、クロック信号CK1をクロック信号CK0を分周して生成するように構成してもよい。
PLL41の出力端子は、分周器42及び分周器43のそれぞれの入力端子に並行して接続されている。これにより、PLL41が発生する基準信号CK(周波数F)が、分周器42及び分周器43のそれぞれの入力端子に並行して供給される。
分周器42の出力端子は、メモリコントローラ40のCK0端子を介して揮発性RAM20のCK端子に接続されている。分周器42は、基準信号CKの周波数Fを1/mに分周して周波数F0(=F/m)のクロック信号CK0を生成し、揮発性RAM20に供給する。
同様に、分周器43の出力端子は、メモリコントローラ40のCK1端子を介して不揮発性RAM30のCK端子に接続されている。これにより、分周器43は、基準信号CKの周波数Fを1/nに分周して周波数F1(=F/n)のクロック信号CK1を生成し、不揮発性RAM30に供給する。
なお、分周器42の出力端子を分周器43の入力端子に接続し、クロック信号CK1をクロック信号CK0を分周して生成するように構成してもよい。
さらに、PLL41の発生する基準信号CKは、DLL51に供給される。DLL51は、入力端子に入力した基準信号CKから、それぞれ遅延量の異なる遅延した信号の組を生成し、複数の出力端子から出力する。DLL51の複数の出力端子は、SEL52において対応する複数の入力端子に接続されている。
そして、SEL52は4個の出力端子を備え、それぞれの出力端子は、基準信号CKの1周期に対して0°、90°、180°、270°に相当する遅延量で基準信号CKを遅延した信号を出力する。
そして、0°の遅延量の信号を出力する出力端子は、FF55−1の2個の入力端子の一方の端子に、90°の遅延量の信号を出力する出力端子は、FF55−2の2個の入力端子の一方の端子に、180°の遅延量の信号を出力する出力端子は、FF55−3の2個の入力端子の一方の端子に、270°の遅延量の信号を出力する出力端子は、FF55−4の2個の入力端子の一方の端子に接続されている。
そして、SEL52は4個の出力端子を備え、それぞれの出力端子は、基準信号CKの1周期に対して0°、90°、180°、270°に相当する遅延量で基準信号CKを遅延した信号を出力する。
そして、0°の遅延量の信号を出力する出力端子は、FF55−1の2個の入力端子の一方の端子に、90°の遅延量の信号を出力する出力端子は、FF55−2の2個の入力端子の一方の端子に、180°の遅延量の信号を出力する出力端子は、FF55−3の2個の入力端子の一方の端子に、270°の遅延量の信号を出力する出力端子は、FF55−4の2個の入力端子の一方の端子に接続されている。
同様に、DLL51は、入力端子に入力した基準信号CKから、それぞれ遅延量の異なる1組の遅延した信号の他の組を生成し、それぞれ遅延量の異なる遅延した信号の他の組を生成し、他の複数の出力端子から出力する。DLL51の他の複数の出力端子は、SEL53において対応する複数の入力端子に接続されている。
そして、SEL53は、4個の出力端子を備え、それぞれの出力端子は、基準信号CKの1周期に対して0°、90°、180°、270°に相当する遅延量で基準信号CKを遅延した信号を出力する。
そして、0°の遅延量の信号を出力する出力端子は、FF56−1の2個の入力端子の一方に、90°の遅延量の信号を出力する出力端子は、FF56−2の2個の入力端子の一方に、180°の遅延量の信号を出力する出力端子は、FF56−3の2個の入力端子の一方に、270°の遅延量の信号を出力する出力端子は、FF56−4の2個の入力端子の一方に接続されている。
そして、SEL53は、4個の出力端子を備え、それぞれの出力端子は、基準信号CKの1周期に対して0°、90°、180°、270°に相当する遅延量で基準信号CKを遅延した信号を出力する。
そして、0°の遅延量の信号を出力する出力端子は、FF56−1の2個の入力端子の一方に、90°の遅延量の信号を出力する出力端子は、FF56−2の2個の入力端子の一方に、180°の遅延量の信号を出力する出力端子は、FF56−3の2個の入力端子の一方に、270°の遅延量の信号を出力する出力端子は、FF56−4の2個の入力端子の一方に接続されている。
SEL54は、1個の入力端子と2個の出力端子を備え、1個の入力端子にはデータ信号DQが入力する。すなわち、SEL54は、入力端子に入力されたデータ信号DQを、2個の出力端子の一方又は他方に切り替えて出力する。
そして、2個の出力端子の一方は、FF55−1〜FF55−4の2個の入力端子のそれぞれの他方に共通に、他方は、FF56−1〜FF56−4の2個の入力端子のそれぞれの他方に共通に接続されている。
すなわち、SEL54は、揮発性RAM20及び不揮発性RAM30の読み書きにおいて、入力したデータ信号DQをクロック信号CK0又はクロック信号CK1の立上りタイミングで読み書きするか、立下りタイミングで読み書きするかを選択する。
そして、2個の出力端子の一方は、FF55−1〜FF55−4の2個の入力端子のそれぞれの他方に共通に、他方は、FF56−1〜FF56−4の2個の入力端子のそれぞれの他方に共通に接続されている。
すなわち、SEL54は、揮発性RAM20及び不揮発性RAM30の読み書きにおいて、入力したデータ信号DQをクロック信号CK0又はクロック信号CK1の立上りタイミングで読み書きするか、立下りタイミングで読み書きするかを選択する。
例えば、データの書き込において、立上りタイミングで書き込む場合には、SEL54により、入力されたデータ信号DQを、FF55−1〜FF55−4に供給するようにする。これにより、入力されたデータ信号DQがSEL52で設定された遅延量で遅延されて、メモリコントローラ40のDQ端子に供給される。
一方、立下りタイミングで書き込む場合には、SEL54により、タイミング設定部44に入力されたデータ信号DQを、FF56−1〜FF56−4に供給するようにする。これにより、タイミング設定部44に入力されたデータ信号DQがSEL53で設定された遅延量で遅延されて、メモリコントローラ40のDQ端子に供給される。
このようにして、立上りタイミングで書き込む場合及び立下りタイミングで書き込む場合のそれぞれに対して遅延量が設定できるようになっている。
なお、上記では、データを書き込む場合を説明したが、データを読み出す場合も同様である。
一方、立下りタイミングで書き込む場合には、SEL54により、タイミング設定部44に入力されたデータ信号DQを、FF56−1〜FF56−4に供給するようにする。これにより、タイミング設定部44に入力されたデータ信号DQがSEL53で設定された遅延量で遅延されて、メモリコントローラ40のDQ端子に供給される。
このようにして、立上りタイミングで書き込む場合及び立下りタイミングで書き込む場合のそれぞれに対して遅延量が設定できるようになっている。
なお、上記では、データを書き込む場合を説明したが、データを読み出す場合も同様である。
図2に示すメモリコントローラ40では、DLL51に基準信号CKが入力されているので、設定される遅延量は、基準信号CKの周波数F(周期)に基づいて設定される。
クロック信号CK0に基づいて設定する場合には、クロック信号CK0をDLL51の入力端子に供給すればよい。
クロック信号CK0に基づいて設定する場合には、クロック信号CK0をDLL51の入力端子に供給すればよい。
なお、SEL52、53、54を制御する制御信号は、メモリコントローラ40の図2において不図示の部分より供給されるとする。また、アドレス信号ADR、チップセレクト信号CS0、CS1は、CPU10(図1参照)から供給されるとし、接続の関係の記載を省略する。
また、揮発性RAM20と不揮発性RAM30とで、別々に遅延量を設定してもよく、この場合は、チップセレクト信号CS0、CS1に同期して、SEL52、53による選択を変更すればよい。
また、揮発性RAM20と不揮発性RAM30とで、別々に遅延量を設定してもよく、この場合は、チップセレクト信号CS0、CS1に同期して、SEL52、53による選択を変更すればよい。
次に、メモリコントローラ40の動作を説明する。
図3は、メモリコントローラ40の動作を説明するタイミングチャートである。ここでは、一例として、基準信号CKの周波数Fを1600MHz、分周器42におけるmを2、分周器43におけるnを4として説明する。
時刻がアルファベット順に経過するとし、時系列で説明する。
図3は、メモリコントローラ40の動作を説明するタイミングチャートである。ここでは、一例として、基準信号CKの周波数Fを1600MHz、分周器42におけるmを2、分周器43におけるnを4として説明する。
時刻がアルファベット順に経過するとし、時系列で説明する。
基準信号CKは、「L」と「H」とが交互に繰り返す波形である。時刻aにおいて、「L」から「H」に移行し、時刻cにおいて「H」から「L」に移行する。そして、時刻eにおいて、「L」から「H」に移行する。そして、時刻e以降において、時刻aから時刻eまでの波形を繰り返す。ここでは、時刻aから時刻cまでの時間と時刻cから時刻eまでの時間を同じとする。
すなわち、基準信号CKは、時刻aから時刻eまでの期間を1周期とする波形である。前述したように、基準信号CKの周波数Fを1600MHzとすると、1周期は0.625nsである。
すなわち、基準信号CKは、時刻aから時刻eまでの期間を1周期とする波形である。前述したように、基準信号CKの周波数Fを1600MHzとすると、1周期は0.625nsである。
mを2としたので、分周器42は基準信号CKの1/2の周波数F0(800MHz)のクロック信号CK0を生成する。すなわち、クロック信号CK0は、図3における時刻aにおいて、「L」から「H」に移行し、時刻eにおいて、「H」から「L」に移行する。そして、時刻fにおいて、「L」から「H」に移行する。そして、時刻f以降において、時刻aから時刻fまでの波形を繰り返す。
さらに、nを4としたので、分周器43は基準信号CKの1/4の周波数F1(400MHz)のクロック信号CK1を生成する。すなわち、図3における時刻aにおいて、「L」から「H」に移行し、時刻fにおいて、「H」から「L」に移行する。そして、時刻gにおいて、「L」から「H」に移行する。そして、時刻g以降において、時刻aから時刻gまでの波形を繰り返す。
さらに、nを4としたので、分周器43は基準信号CKの1/4の周波数F1(400MHz)のクロック信号CK1を生成する。すなわち、図3における時刻aにおいて、「L」から「H」に移行し、時刻fにおいて、「H」から「L」に移行する。そして、時刻gにおいて、「L」から「H」に移行する。そして、時刻g以降において、時刻aから時刻gまでの波形を繰り返す。
次に、揮発性RAM20への読み書きのタイミングを説明する。
揮発性RAM20への読み書きは、クロック信号CK0の立上りタイミング及び立下りタイミングで行なわれる。よって、図3に示すように、データ信号DQに示すデータD1−1、D1−2、D1−3、…のように読み書きがされる。このとき、キャリブレーションにより、遅延量が90°、180°、270°のいずれかが選択された場合には、図3に示すように、読み書きのタイミングがずれることになる。なお、図3では、立上りタイミング及び立下りタイミングの遅延量を同じとしているが、立上りタイミングと立下りタイミングとをそれぞれ別々に選択してもよい。
揮発性RAM20への読み書きは、クロック信号CK0の立上りタイミング及び立下りタイミングで行なわれる。よって、図3に示すように、データ信号DQに示すデータD1−1、D1−2、D1−3、…のように読み書きがされる。このとき、キャリブレーションにより、遅延量が90°、180°、270°のいずれかが選択された場合には、図3に示すように、読み書きのタイミングがずれることになる。なお、図3では、立上りタイミング及び立下りタイミングの遅延量を同じとしているが、立上りタイミングと立下りタイミングとをそれぞれ別々に選択してもよい。
同様に、不揮発性RAM30への読み書きは、クロック信号CK1の立上りタイミング及び立下りタイミングで行なわれる。よって、図3に示すように、データ信号DQに示すデータD2−1、D2−2、D2−3、…のように読み書きがされる。このとき、キャリブレーションにより、遅延量が90°、180°、270°のいずれかが選択された場合には、図3に示すように、読み書きのタイミングがずれることになる。なお、図3では、立上りタイミング及び立下りタイミングの遅延量を同じとしているが、立上りタイミングの遅延量と立下りタイミングの遅延量とをそれぞれ別に選択してもよい。
図3から分かるように、不揮発性RAM30への読み書きは、例えば時刻aから時刻fまでの期間に行われればよい。これに対して、揮発性RAM20への読み書きは、例えば時刻aから時刻eまでの期間に行うことが必要となる。すなわち、図3に示す場合では、揮発性RAM20への読み書きに可能なタイミングマージンは、不揮発性RAM30への読み書きに可能なタイミングマージンに比べて1/2となる。
よって、揮発性RAM20の読み書きに設定する遅延量と、不揮発性RAM30の読み書きに設定する遅延量とを異なる値に設定してもよい。
よって、揮発性RAM20の読み書きに設定する遅延量と、不揮発性RAM30の読み書きに設定する遅延量とを異なる値に設定してもよい。
以上説明したように、本実施の形態では、揮発性RAM20に供給されるクロック信号CK0と不揮発性RAM30に供給されるクロック信号CK1とで周波数が異なっても、1個の基準信号CKからクロック信号CK0及びクロック信号CK1を生成し、さらに基準信号CKに基づいて、揮発性RAM20及び不揮発性RAM30の読み書きのタイミングを設定できる。
よって、揮発性RAM20と不揮発性RAM30とでそれぞれ個別にメモリコントローラ40を設けることを要しないとともに、読み書きのタイミングマージンを大きくして、読み書きにおけるエラーの発生を抑制している。
よって、揮発性RAM20と不揮発性RAM30とでそれぞれ個別にメモリコントローラ40を設けることを要しないとともに、読み書きのタイミングマージンを大きくして、読み書きにおけるエラーの発生を抑制している。
なお、図2において、メモリコントローラ40に接続される揮発性RAM20又は不揮発性RAM30は、それぞれが複数であってもよい。その場合は、揮発性RAM20及び不揮発性RAM30のそれぞれにチップセレクト信号(チップセレクト信号CS0、CS1など)を設定し、それぞれのメモリを個別に選択できるようにすればよい。また、それぞれのメモリに対して読み書きのタイミングに対する遅延量を設定してもよい。この場合、チップセレクト信号CSと組み合わせて、遅延量を設定すればよい。
また、本実施の形態では、PLL41が発生する基準信号CKを、分周器42、43にて分周して、クロック信号CK0、CK1を生成した。逆に、基準信号CKを逓倍して、クロック信号CK0、CK1を生成してもよい。この場合、逓倍した信号をDLL51に入力すればよい。
さらに、本実施の形態では、メモリコントローラ40がPLL41を備えるとして説明した。メモリコントローラ40がPLL41を備えず、メモリコントローラ40の外部に基準信号CKの発生部(PLL41など)を設けるように構成してもよい。この場合、メモリコントローラ40は、外部で生成された基準信号CK(例えば1600MHz)を分周してクロック信号CK0、CK1を生成するように構成してもよく、外部で生成された基準信号CK(例えば100MHz)を逓倍してクロック信号CK0、CK1を生成するように構成してもよい。基準信号CKをメモリコントローラ40の内部で発生すれば、ノイズによる影響が抑制できる。
さらに、本実施の形態では、メモリコントローラ40がPLL41を備えるとして説明した。メモリコントローラ40がPLL41を備えず、メモリコントローラ40の外部に基準信号CKの発生部(PLL41など)を設けるように構成してもよい。この場合、メモリコントローラ40は、外部で生成された基準信号CK(例えば1600MHz)を分周してクロック信号CK0、CK1を生成するように構成してもよく、外部で生成された基準信号CK(例えば100MHz)を逓倍してクロック信号CK0、CK1を生成するように構成してもよい。基準信号CKをメモリコントローラ40の内部で発生すれば、ノイズによる影響が抑制できる。
なお、本実施の形態における情報処理装置1は、紙等の記録材に画像を形成する画像形成部と、紙等の記録材に記録された画像を読み取る画像読取部と、ユーザからスキャン機能、プリント機能、コピー機能およびファクシミリ機能を用いた動作に関連する指示を受け付けるとともに、ユーザに対してメッセージを表示するユーザインタフェース(UI)と、ネットワークを介して外部のファクシミリ装置等との間でデータの送受信を行う送受信部などを備えた画像形成装置において、画像形成部、画像読取部、UI及び送受信部の動作を制御する制御部などに適用できる。
1…情報処理装置、10…CPU、20…揮発性RAM、30…不揮発性RAM、40…メモリコントローラ、41…PLL、42、43…分周器、44…タイミング設定部、50…バス、51…DLL、52、53、54…SEL、55−1〜55−4、56−1〜56−4…FF、ADR…アドレス信号、CK…基準信号、CK0、CK1…クロック信号、CS0、CS1…チップセレクト信号、DQ…データ信号
Claims (5)
- 第1のクロック信号で動作する第1のメモリに、基準信号に基づいて当該第1のクロック信号を生成して供給する第1のクロック信号生成供給部と、
前記第1のクロック信号より周波数が低い第2のクロック信号で動作する第2のメモリに、前記基準信号に基づいて当該第2のクロック信号を生成して供給する第2のクロック信号生成供給部と、
前記基準信号に基づいて、前記第1のメモリ及び前記第2のメモリへのデータの書き込みタイミング及び読み出しタイミングを設定するタイミング設定部と
を備えるメモリ制御装置。 - 前記基準信号を発生する基準信号発生部をさらに備えることを特徴とする請求項1に記載のメモリ制御装置。
- 算術演算および論理演算を行う演算部と、
第1のクロック信号で動作する第1のメモリと、
前記第1のクロック信号より周波数が低い第2のクロック信号で動作する第2のメモリと、
予め定められた周波数の基準信号を発生する基準信号発生部と、
前記基準信号に基づいて前記第1のクロック信号を生成して、前記第1のメモリに供給する第1のクロック信号生成供給部と、
前記基準信号に基づいて前記第2のクロック信号を生成して、前記第2のメモリに供給する第2のクロック信号生成供給部と、
前記基準信号に基づいて、前記第1のメモリ及び前記第2のメモリへのデータの書き込みタイミング及び読み出しタイミングを設定するタイミング設定部と
を備える情報処理装置。 - 前記第1のメモリは、読み書き可能な揮発性メモリであり、前記第2のメモリは、読み書き可能な不揮発性メモリであることを特徴とする請求項3に記載の情報処理装置。
- 前記第2のメモリは、MRAM、FeRAM、PRAM、ReRAMのいずれかであることを特徴とする請求項3又は4に記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013139811A JP2015014836A (ja) | 2013-07-03 | 2013-07-03 | メモリ制御装置及び情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013139811A JP2015014836A (ja) | 2013-07-03 | 2013-07-03 | メモリ制御装置及び情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015014836A true JP2015014836A (ja) | 2015-01-22 |
Family
ID=52436547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013139811A Pending JP2015014836A (ja) | 2013-07-03 | 2013-07-03 | メモリ制御装置及び情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015014836A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6325181B1 (ja) * | 2015-04-29 | 2018-05-16 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | メモリ電力低減のための方法および装置 |
JP2019102115A (ja) * | 2017-12-06 | 2019-06-24 | 正仁 櫨田 | コンピューターのcpuの動作速度の倍速化法 |
-
2013
- 2013-07-03 JP JP2013139811A patent/JP2015014836A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6325181B1 (ja) * | 2015-04-29 | 2018-05-16 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | メモリ電力低減のための方法および装置 |
JP2018518741A (ja) * | 2015-04-29 | 2018-07-12 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | メモリ電力低減のための方法および装置 |
JP2019102115A (ja) * | 2017-12-06 | 2019-06-24 | 正仁 櫨田 | コンピューターのcpuの動作速度の倍速化法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200286544A1 (en) | Semiconductor memory device having clock generation scheme based on command | |
US9620193B2 (en) | Semiconductor memory devices, memory systems including refresh control circuit and method of performing weak refresh operation on the weak pages thereof | |
US10186309B2 (en) | Methods of operating semiconductor memory devices and semiconductor memory devices | |
US10254783B2 (en) | External clock based clock generator | |
CN107093459B (zh) | 非易失性存储器设备及其读取方法和存储器系统 | |
KR102401526B1 (ko) | 입력 클록 신호와 다상 클록 신호 간의 위상 관계를 결정하기 위한 장치 및 방법 | |
US7675810B2 (en) | Semiconductor memory device | |
CN110390974B (zh) | 半导体器件 | |
US11315614B2 (en) | Memory device including interface circuit and method of operating the same | |
KR102141464B1 (ko) | 집적회로 및 메모리 장치 | |
US10847195B2 (en) | Semiconductor device having ranks that performs a termination operation | |
JP2011060353A (ja) | レイテンシカウンタ及びこれを備える半導体記憶装置、並びに、データ処理システム | |
US9147452B2 (en) | Synchronous semiconductor memory device having dual delay locked loop circuit and method of managing dual delay locked loop circuit | |
KR20180000218A (ko) | 반도체 메모리 장치의 지연 회로, 반도체 메모리 장치 및 이의 동작 방법 | |
CN112634954A (zh) | 接口电路设备、存储器设备及存储器系统 | |
US10403334B2 (en) | Semiconductor devices | |
US20130106478A1 (en) | Clock buffer circuit and data output circuit including the same | |
CN110718245B (zh) | 半导体器件 | |
JP2015014836A (ja) | メモリ制御装置及び情報処理装置 | |
JP5673842B2 (ja) | 半導体装置 | |
US20130222851A1 (en) | Information processor, control device, and image forming apparatus | |
US8576656B2 (en) | Latency counter, semiconductor memory device including the same, and data processing system | |
CN109817249B (zh) | 数据输出电路、包括其的存储装置和存储装置的操作方法 | |
TW201203261A (en) | Nonvolatile memory apparatus and method for processing configuration information thereof | |
CN112068797B (zh) | 读取时钟生成电路以及包括其的数据处理电路 |