JP2014026349A - メモリーコントローラー - Google Patents

メモリーコントローラー Download PDF

Info

Publication number
JP2014026349A
JP2014026349A JP2012164208A JP2012164208A JP2014026349A JP 2014026349 A JP2014026349 A JP 2014026349A JP 2012164208 A JP2012164208 A JP 2012164208A JP 2012164208 A JP2012164208 A JP 2012164208A JP 2014026349 A JP2014026349 A JP 2014026349A
Authority
JP
Japan
Prior art keywords
timing parameter
value
command
timing
management unit
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.)
Granted
Application number
JP2012164208A
Other languages
English (en)
Other versions
JP5752091B2 (ja
Inventor
Ryuta Tamura
竜太 田邨
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2012164208A priority Critical patent/JP5752091B2/ja
Publication of JP2014026349A publication Critical patent/JP2014026349A/ja
Application granted granted Critical
Publication of JP5752091B2 publication Critical patent/JP5752091B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】 低コストで、動作周波数がメモリーデバイスの動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイスを高速に制御するメモリーコントローラーを得る。
【解決手段】 論理層1内のデバイス管理部16およびコマンド発行部17は、動作周波数設定データの値であるnに基づくメモリーデバイスの動作周波数のn分の1の周波数で動作する。そして、デバイス管理部16は、コマンド発行部17によるコマンドの発行タイミングを制限するタイミングパラメーターの値を、デバイス管理部16およびコマンド発行部17がメモリーデバイス3の動作周波数で動作する際のタイミングパラメーターの設定値をそのnで除算した値にセットし、コマンド発行部17は、デバイス管理部16により値をセットされたタイミングパラメーターに違反しないようにコマンドを発行する。
【選択図】 図1

Description

本発明は、メモリーコントローラーに関するものである。
半導体プロセスの微細化が進み、SoC(System On a Chip)の内部動作周波数は、日々高くなってきている。その一方で、メモリーデバイスの動作周波数も高くなってきているとともに、メモリーインターフェイス規格も改良されており、例えば、DDR3−SDRAM(Double Data Rate 3 - Synchronous Dynamic Random Access Memory)では、1GHz以上の動作周波数が達成されている。
メモリーデバイスとSoC内部のシステムバスとの間には、メモリーコントローラーが設けられており、SoC内部のシステムバスのプロトコルを解釈し、メモリーデバイスの仕様に準じたコマンドに変換し、そのコマンドをメモリーデバイスに対して出力し、データのリード・ライトを行う(例えば特許文献1参照)。このとき、メモリーコントローラーは、メモリーデバイスの状態に基づき、各種コマンドについて、コマンドの発行タイミングがメモリーデバイスについて規定されているタイミング規約に違反しないようにコマンドを発行する。
DDR3−SDRAMといった最新のメモリーデバイスでは、リードレべリング、ライトレべリングといった細かいタイミング調整が行われるため、メモリーデバイスのベンダーによって、メモリーデバイスを直接的に制御する物理層の標準ライブラリーが提供されることが多い。また、このようなメモリーコントローラーの物理層と、その上位に設けられる論理層との間のインターフェイスとしては、個々に開発されたものや、DFIといった規格のものが使用される。
特開2007−241799号公報
メモリーコントローラーの物理層および論理層は、メモリーデバイスの動作周波数と同一の動作周波数で動作させることが好ましい。これは、同一の動作周波数であれば、異なる周波数のドメインの境界においてFIFO(First-In First-Out)などのバッファーが不要となり、レイテンシーの増加が抑えられるからである。
しかしながら、近年のメモリーデバイスの動作周波数は高いため、メモリーコントローラーを、メモリーデバイスの動作周波数と同一の動作周波数で動作させることは困難である。そのような場合、メモリーデバイスの動作周波数をn分の1(n>1)である低速の動作周波数で、メモリーコントローラーは動作する。
メモリーコントローラーの少なくとも論理層が、メモリーデバイスの動作周波数をn分の1(n>1)で動作する場合、論理層からのコマンド発行の単位時間(最小間隔)がメモリーデバイスのnクロックとなるため、メモリーデバイスから見て、コマンドの発行周期が必要以上に長くなり、帯域やレイテンシーが悪化する可能性がある。
なお、メモリーデバイスに対するコマンド発行をn系統に並列させることでそのような帯域やレイテンシーの悪化を回避することも考えられるが、メモリーコントローラーの回路構成が複雑になり、メモリーコントローラーのコストが増加してしまう。
本発明は、上記の問題に鑑みてなされたものであり、低コストで、動作周波数がメモリーデバイスの動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイスを高速に制御するメモリーコントローラーを得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係るメモリーコントローラーは、メモリーデバイスの状態を管理するデバイス管理部と、メモリーデバイスに対してコマンドを発行させるコマンド発行部とを備える。デバイス管理部およびコマンド発行部は、動作周波数設定データの値であるnに基づくメモリーデバイスの動作周波数のn分の1(n>1)の周波数で動作する。そして、デバイス管理部は、コマンド発行部によるコマンドの発行タイミングを制限するタイミングパラメーターの値を、デバイス管理部およびコマンド発行部がメモリーデバイスの動作周波数で動作する際のタイミングパラメーターの設定値をそのnで除算した値にセットし、コマンド発行部は、デバイス管理部により値をセットされたタイミングパラメーターに違反しないようにコマンドを発行する。
これにより、タイミングパラメーターの値がn分の1となることで、コマンドがメモリーデバイスの動作周波数に合わせて発行されやすくなる。したがって、低コストで、動作周波数がメモリーデバイスの動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイスを高速に制御することができる。
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、上述の動作周波数設定データの値は切り替え可能である。
これにより、メモリーデバイスの動作周波数などに応じて、メモリーコントローラーの動作周波数を適宜設定することができ、その設定された動作周波数に応じた値がタイミングパラメーターにセットされる。
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、上述の除算において端数が発生する場合、タイミングパラメーターの種別に応じて、端数を切り上げるか、切り捨てる。
これにより、上述の除算において端数が発生した場合においても、デバイス管理部およびコマンド発行部がメモリーデバイスの動作周波数で動作する際のタイミング規約に違反することなく、コマンドが発行される。
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、タイミングパラメーターが上限値を指定するものである場合、上述の端数を切り捨てる。
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、タイミングパラメーターが下限値を指定するものである場合、上述の端数を切り上げる。
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、コマンドの発行タイミングに関するある期間の開始までの時間の上限値を示す第1タイミングパラメーターと、その期間の長さの下限値を示す第2タイミングパラメーターについて、第1タイミングパラメーターについて端数を切り捨てるとき、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値に第1のタイミングパラメーターについての除算余りを加算した値を上述のnで除算する。コマンド発行部は、デバイス管理部により値をセットされた第1タイミングパラメーターおよび第2タイミングパラメーターに違反しないようにコマンドを発行する。
これにより、上述の期間の長さの下限値を示す第2タイミングパラメーターをそのままnで除算する場合に比べ、上述の期間の終わりが適切にセットされる。
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、ある期間の開始までの時間の下限値を示す第1タイミングパラメーターと、その期間の長さの上限値を示す第2タイミングパラメーターについて、第1タイミングパラメーターについて端数を切り上げるとき、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値から第1のタイミングパラメーターについての除算余りを減算した値を上述のnで除算する。コマンド発行部は、デバイス管理部により値をセットされた第1タイミングパラメーターおよび第2タイミングパラメーターに違反しないようにコマンドを発行する。
これにより、上述の期間の長さの上限値を示す第2タイミングパラメーターをそのままnで除算する場合に比べ、上述の期間の終わりが適切にセットされる。
また、本発明に係るメモリーコントローラーは、上記のメモリーコントローラーに加え、次のようにしてもよい。この場合、デバイス管理部は、複数のタイミングパラメーターを含む演算式の値でコマンドの発行タイミングが制限される場合、デバイス管理部およびコマンド発行部がメモリーデバイスの動作周波数で動作する際の複数のタイミングパラメーターの設定値を含む演算式の値を上述のnで除算する。コマンド発行部は、デバイス管理部による除算結果の値に違反しないようにコマンドを発行する。
これにより、上述の複数のタイミングパラメーターの1つ1つを別々にnで除算する場合に比べ、コマンドの発行タイミングが適切に規制される。
本発明によれば、低コストで、動作周波数がメモリーデバイスの動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイスを高速に制御するメモリーコントローラーを得ることができる。
図1は、本発明の実施の形態に係るメモリーコントローラーの構成を示すブロック図である。 図2は、図1におけるデバイス管理部の構成を示すブロック図である。 図3は、図2に示すデバイス管理部によるタイミングパラメーターtRCのセットを説明するフローチャートである。 図4は、図2に示すデバイス管理部によるタイミングパラメーターtREFIのセットを説明するフローチャートである。 図5は、図2に示すデバイス管理部によるODTについてのタイミングパラメーターのセットを説明するフローチャートである。
以下、図に基づいて本発明の実施の形態を説明する。
実施の形態1.
図1は、本発明の実施の形態に係るメモリーコントローラーの構成を示すブロック図である。図1に示すメモリーコントローラーは、論理層1および物理層2を有し、物理層2は、外部のメモリーデバイス3を直接的に制御し、論理層1は、物理層2に対して各種信号を供給して物理層2を動作させてメモリーデバイス3を制御する。メモリーデバイス3は、DDR3−SDRAMなどといったSDRAM形式の揮発性メモリーである。論理層1と物理層2とは、別々のクロックドメイン(周波数ドメイン)とされる。
論理層1は、ホストインターフェイス11、調停部12、ストローブ信号生成部13、リフレッシュコントローラー14、トランザクションバッファー15、デバイス管理部16、コマンド発行部17、コマンド出力部18、および物理層インターフェイス19を有する。
ホストインターフェイス11は、システムバスを介してメモリーデバイス3に対するアクセス要求を受け付け、そのアクセス要求を調停部12に出力する。また、ライトアクセス要求の場合、ホストインターフェイス11は、ライト対象のデータを受け付け、ストローブ信号生成部13に出力する。リードアクセス要求の場合、ホストインターフェイス11は、リード対象のデータをストローブ信号生成部13から受け付け、システムバスを介して、リードアクセス要求の発行元に出力する。
調停部12は、ホストインターフェイス11からのアクセス要求、リフレッシュコントローラー14からのリフレッシュ要求などの各種要求を調停し、それらの要求を順番にトランザクションバッファー15に登録する。
ストローブ信号生成部13は、ストローブ信号を生成し、物理層インターフェイス19を介して物理層2との間でアクセス対象のデータの送受を行う。
リフレッシュコントローラー14は、図示せぬレジスターに設定された周期で定期的にリフレッシュ要求を出力する。
トランザクションバッファー15は、調停部12により登録される要求をキューイングし順番に出力する。
図2は、図1におけるデバイス管理部16の構成を示すブロック図である。デバイス管理部16は、係数設定部21、タイミングパラメーター設定部22、および状態監視部23を有する。
係数設定部21は、メモリーデバイス3の種別、動作周波数などに応じて、動作周波数設定データを設定する。デバイス管理部16およびコマンド発行部17は、論理層1内にあり、その動作周波数設定データの値n(以下、係数nという)に基づくメモリーデバイス3の動作周波数のn分の1(n>1,nは整数)の周波数で動作する。
実施の形態1では、論理層1において、その動作周波数設定データの値は切り替え可能である。
タイミングパラメーター設定部22は、コマンド発行部17によるコマンドの発行タイミングを制限するタイミングパラメーターの値をセットする。タイミングパラメーター設定部22は、タイミングパラメーターの値を、論理層1(つまり、デバイス管理部16およびコマンド発行部17)がメモリーデバイス3の動作周波数で動作する際のタイミングパラメーターの設定値を上述の係数nで除算した値にセットする。コマンド発行部17は、その値をセットされたタイミングパラメーターに違反しないようにコマンドを発行する。なお、このタイミングパラメーターの設定値は、例えば図示せぬインターフェイスを介してホスト装置から設定され、論理層1において予め記憶されている。
実施の形態1では、タイミングパラメーター設定部22は、上述の除算において端数が発生する場合、タイミングパラメーターの種別に応じて、その端数を切り上げるか、切り捨てる。具体的には、タイミングパラメーター設定部22は、タイミングパラメーターが上限値を指定するものである場合、その端数を切り捨て、タイミングパラメーターが下限値を指定するものである場合、その端数を切り上げる。
タイミングパラメーターの値はクロック数で表現されており、整数演算としての除算が実行される。
例えば、タイミングパラメーターtRCは、ACT(Active)コマンドの発行から、COLコマンド(RD(Read)コマンド、RDA(Read with auto-close)コマンド、WR(Write)コマンド、またはWRA(Write with auto-close)コマンド)の発行までの最低時間を規定する、DDR2−SDRAMおよびDDR3−SDRAMのタイミングパラメーターである。このタイミングパラメーターtRCは下限値を設定するものであるので、タイミングパラメーターtRCについての除算において端数が発生した場合には、端数を切り上げられた除算結果の値がタイミングパラメーターtRCとしてセットされる。
例えば、タイミングパラメーターtREFIは、REF(Auto refresh)コマンドの最大間隔を規定する、DDR2−SDRAMおよびDDR3−SDRAMのタイミングパラメーターである。このタイミングパラメーターtREFIは所定回数のREFコマンドの平均間隔の上限値を設定するものであるので、タイミングパラメーターtREFIについての除算において端数が発生した場合には、端数を切り捨てられた除算結果の値がタイミングパラメーターtREFIとしてセットされる。
実施の形態1では、タイミングパラメーター設定部22は、コマンドの発行タイミングに関するある期間の開始までの時間の上限値を示す第1タイミングパラメーターと、その期間の長さの下限値を示す第2タイミングパラメーターについて、第1タイミングパラメーターについて上述の端数を切り捨てるとき、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値に第1のタイミングパラメーターについての除算余りを加算した値を上述の係数nで除算する。コマンド発行部17は、タイミングパラメーター設定部22により値をセットされた第1タイミングパラメーターおよび第2タイミングパラメーターに違反しないようにコマンドを発行する。
例えば、リードコマンドおよびライトコマンドからODT(On Die Termination)オン開始までの期間の上限値を示す第1タイミングパラメーター、およびそのODTオン期間の下限値を示す第2パラメーターの場合、第1タイミングパラメーターについて上述の係数nで除算したときに端数が発生しその端数を切り捨てる除算結果の値が、第1タイミングパラメーターにセットされ、その端数を切り捨てた除算結果の値が第1タイミングパラメーターにセットされたときには、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値に第1のタイミングパラメーターについての除算余りを加算した値が上述の係数nで除算され、その除算結果(その除算結果に端数がある場合には、その端数を切り上げた値)が、第2タイミングパラメーターにセットされる。
また、同様に、実施の形態1では、タイミングパラメーター設定部22は、ある期間の開始までの時間の下限値を示す第1タイミングパラメーターと、その期間の長さの上限値を示す第2タイミングパラメーターについて、第1タイミングパラメーターについて端数を切り上げるとき、第2タイミングパラメーターについて、第2タイミングパラメーターの設定値から第1のタイミングパラメーターについての除算余りを減算した値を上述の係数nで除算する。コマンド発行部17は、タイミングパラメーター設定部22により値をセットされた第1タイミングパラメーターおよび第2タイミングパラメーターに違反しないようにコマンドを発行する。
状態監視部23は、コマンド発行に対応してコマンド発行部17から供給される状態遷移指令に基づいて、所定のコマンドの発行からの期間を計時して、タイミングパラメーター設定部22により値をセットされたタイミングパラメーターにより指定される条件をその計測時間が満たすか否かを示すフラグをセットし、そのフラグの値をデバイス状態情報としてコマンド発行部17に供給する。
また、コマンド発行部17は、トランザクションバッファー15から、順番に、ROWコマンド要求、COLコマンド要求、ROWアドレス、およびCOLアドレスを受け付け、それらのコマンドについてのコマンド発行要求をそれらのアドレスとともにコマンド出力部18に供給する。また、コマンド発行部17は、上述のデバイス状態情報に基づいて、上述の条件を満たすように各種コマンドについてのコマンド発行要求をそれらのアドレスとともにコマンド出力部18に供給する。
コマンド発行部17は、コマンド発行要求を発行すると、そのコマンドの種別を示す通知(状態遷移指令)をデバイス管理部16に供給する。
コマンド出力部18は、コマンド発行部17からのコマンド発行要求に従って、要求されるコマンドを実行するための各種信号を物理層インターフェイス19に供給する。コマンド出力部18は、データ転送トリガーをストローブ信号生成部13に供給し、ストローブ信号生成部13は、そのデータ転送トリガーに従ってデータ転送を行う。
物理層インターフェイス19は、論理層1と物理層2との間のインターフェイスであって、異なるクロックドメインに属する論理層1および物理層2の間で各種信号を転送する。
次に、上記メモリーコントローラーの動作について説明する。ここでは、タイミングパラメーターtRC,tREFIおよびODTに関する上述のタイミングパラメーターに関連するデバイス管理部16の動作について説明する。
(1)タイミングパラメーターtRCのセット
図3は、図2に示すデバイス管理部11によるタイミングパラメーターtRCのセットを説明するフローチャートである。
デバイス管理部16において、タイミングパラメーターtRCについて、タイミングパラメーター設定部22は、動作周波数設定データから上述の係数nを特定するとともに、タイミングパラメーターtRCの設定値を特定する(ステップS1)。
次に、タイミングパラメーター設定部22は、タイミングパラメーターtRCの設定値を係数nで除算する(ステップS2)。
タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS3)、その除算結果に端数がある場合、その除算結果を切り上げた値を、タイミングパラメーターtRCの値とする(ステップS4)。
例えば、タイミングパラメーターtRCの設定値tRCdが奇数であって、係数nが2である場合、端数が発生するので、タイミングパラメーターtRCの設定値は、tRCd/2より大きい整数のうちのtRCd/2に最も近い整数とされる。
タイミングパラメーター設定部22は、このタイミングパラメーターtRCの値を状態監視部23にセットする(ステップS5)。つまり、除算結果に端数がある場合には、切り上げ後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
(2)タイミングパラメーターtREFIのセット
図4は、図2に示すデバイス管理部11によるタイミングパラメーターtREFIのセットを説明するフローチャートである。
デバイス管理部16において、タイミングパラメーターtREFIについて、タイミングパラメーター設定部22は、動作周波数設定データから上述の係数nを特定するとともに、タイミングパラメーターtREFIの設定値を特定する(ステップS11)。
次に、タイミングパラメーター設定部22は、タイミングパラメーターtREFIの設定値を係数nで除算する(ステップS12)。
タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS13)、その除算結果に端数がある場合、その除算結果を切り捨てた値を、タイミングパラメーターtREFIの値とする(ステップS14)。
例えば、タイミングパラメーターtREFIの設定値tREFIdが奇数であって、係数nが2である場合、端数が発生するので、タイミングパラメーターtREFIの設定値は、tREFId/2より小さい整数のうちのtREFId/2に最も近い整数とされる。
タイミングパラメーター設定部22は、このタイミングパラメーターtREFIの値を状態監視部23にセットする(ステップS15)。つまり、除算結果に端数がある場合には、切り捨て後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
(3)ODTについてのタイミングパラメーターのセット
図5は、図2に示すデバイス管理部11によるODTについてのタイミングパラメーターのセットを説明するフローチャートである。
デバイス管理部16において、第1タイミングパラメーター(ODTオン開始までの時間の上限値)および第2パラメーター(ODTオン期間の長さの下限値)について、タイミングパラメーター設定部22は、動作周波数設定データから上述の係数nを特定するとともに、その第1および第2タイミングパラメーターの設定値を特定する(ステップS21)。
次に、タイミングパラメーター設定部22は、第1タイミングパラメーターの設定値を係数nで除算する(ステップS22)。
タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS23)、その除算結果に端数がある場合、その除算結果を切り捨てた値を、第1タイミングパラメーターの値とする(ステップS24)。
タイミングパラメーター設定部22は、この第1タイミングパラメーターの値を状態監視部23にセットする(ステップS25)。つまり、除算結果に端数がある場合には、切り捨て後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
次に、タイミングパラメーター設定部22は、第1タイミングパラメーターについての除算結果に端数があったか否かを判定する(ステップS26)。
第1タイミングパラメーターについての除算結果に端数があった場合、タイミングパラメーター設定部22は、第1タイミングパラメーターについての除算の余りを、第2タイミングパラメーターの設定値に加算する(ステップS27)。タイミングパラメーター設定部22は、その設定値とその余りとの和を係数nで除算する(ステップS28)。タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS29)、その除算結果に端数がある場合、その除算結果を切り上げた値を、第2タイミングパラメーターの値とする(ステップS30)。タイミングパラメーター設定部22は、この第2タイミングパラメーターの値を状態監視部23にセットする(ステップS31)。つまり、除算結果に端数がある場合には、切り上げ後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
一方、ステップS26において、第1タイミングパラメーターについての除算結果に端数がなかったと判定された場合、タイミングパラメーター設定部22は、第2タイミングパラメーターの設定値を係数nで除算する(ステップS32)。タイミングパラメーター設定部22は、その除算結果に端数があるか否か(つまり余りがあるか否か)を判定し(ステップS29)、その除算結果に端数がある場合、その除算結果を切り上げた値を、第2タイミングパラメーターの値とする(ステップS30)。タイミングパラメーター設定部22は、この第2タイミングパラメーターの値を状態監視部23にセットする(ステップS31)。つまり、除算結果に端数がある場合には、切り上げ後の値がセットされ、除算結果に端数がない場合には、除算結果がそのままセットされる。
(4)デバイス管理部16の状態監視部23およびコマンド発行部17の動作
以上のようにして各タイミングパラメーターの値が状態監視部23にセットされ、状態監視部23は、各タイミングパラメーターに対応する計時開始タイミングからの経過時間(経過クロック数)に応じて、各タイミングパラメーターに対応するフラグの値をセットする。そして、コマンド発行部17は、そのフラグの値に応じて、各タイミングパラメーターに対応するコマンドの発行を禁止するか否かを決定する。
例えば、タイミングパラメーターtRCについては、ACTコマンドの発行からの時間(クロック数)が計測され、その計測時間が、タイミングパラメーターtRCを超えると、タイミングパラメーターtRCに対応するフラグの値が所定の第1値から所定の第2値へ変化する。コマンド発行部17は、このフラグの値がその第1値であるときに、RDコマンド、RDAコマンド、WRコマンド、およびWRAコマンドを発行し、このフラグの値がその第2値であるときには、RDコマンド、RDAコマンド、WRコマンド、およびWRAコマンドの発行を禁止する。
以上のように、上記実施の形態1によれば、論理層1内のデバイス管理部16およびコマンド発行部17は、動作周波数設定データの値であるnに基づくメモリーデバイスの動作周波数のn分の1(n>1)の周波数で動作する。そして、デバイス管理部16は、コマンド発行部17によるコマンドの発行タイミングを制限するタイミングパラメーターの値を、デバイス管理部16およびコマンド発行部17がメモリーデバイス3の動作周波数で動作する際のタイミングパラメーターの設定値をそのnで除算した値にセットし、コマンド発行部17は、デバイス管理部16により値をセットされたタイミングパラメーターに違反しないようにコマンドを発行する。
これにより、タイミングパラメーターの値がn分の1となることで、コマンドがメモリーデバイスの動作周波数に合わせて発行されやすくなる。したがって、低コストで、動作周波数がメモリーデバイス3の動作周波数をn分の1(n>1)であっても効率よくコマンドを発行しメモリーデバイス3を高速に制御することができる。
実施の形態2.
本発明の実施の形態2に係るメモリーコントローラーでは、デバイス管理部16は、複数のタイミングパラメーターを含む演算式の値でコマンドの発行タイミングが制限される場合、その複数のタイミングパラメーターの設定値を含む演算式の値を上述のnで除算し、コマンド発行部17は、デバイス管理部16による除算結果の値に違反しないようにコマンドを発行する。
例えば、メモリーデバイス3がDDR2−SDRAMである場合、WRコマンドの発行からRDコマンドの発行までの最小時間は、3つのタイミングパラメーターWL,BL,tWTRの演算式WL+BL/2+tWTで規定される。
このとき、タイミングパラメーター設定部22は、演算式(WL+BL/2+tWT)の演算結果を上述の係数nで除算する。そして、この除算において端数が発生した場合には、除算結果を切り上げた値が、WRコマンドの発行からRDコマンドの発行までの最小時間を示す値として、状態監視部23にセットされる。
なお、実施の形態2に係るメモリーコントローラーのその他の構成および動作については実施の形態1と同様であるので、その説明を省略する。
以上のように、上記実施の形態2によれば、上述の複数のタイミングパラメーターの1つ1つを別々にnで除算する場合に比べ、コマンドの発行タイミングが適切に規制される。
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記各実施の形態において、メモリーデバイス3が複数のランクを有する場合、ランクごとに独立したタイミングパラメーターが設定されるようにしてもよい。
また、上記各実施の形態において、ある期間の上限値を指定するタイミングパラメーター(例えば、上述のtREFI)については、除算の端数が発生した場合、その除算の余りを、そのタイミングパラメーター自体の値は変更せずに、次回の除算時に、そのタイミングパラメーターの値とその除算余りとの和を上述のnで除算するようにしてもよい。これにより、期間の上限値の平均が、タイミングパラメーターの値に合わせることができる。
また、上記各実施の形態においてタイミングパラメーターを例示しているが、例示していないタイミングパラメーターについても同様に値がセットされる。
また、上記各実施の形態において、係数nの値が固定値である場合には、係数nに関する上述の演算結果の値を予め保持しておき、係数nに関する上述の演算を行わずに、その保持している演算結果の値を使用するようにしてもよい。
本発明は、例えば、DDR2−SDRAM、DDR3−SDRAMなどのメモリーコントローラーに適用可能である。
1 論理層
2 物理層
3 メモリーデバイス
16 デバイス管理部
17 コマンド発行部

Claims (8)

  1. メモリーデバイスの状態を管理するデバイス管理部と、
    前記メモリーデバイスに対してコマンドを発行させるコマンド発行部とを備え、
    前記デバイス管理部および前記コマンド発行部は、動作周波数設定データの値であるnに基づく前記メモリーデバイスの動作周波数のn分の1(n>1)の周波数で動作し、
    前記デバイス管理部は、前記コマンド発行部によるコマンドの発行タイミングを制限するタイミングパラメーターの値を、前記デバイス管理部および前記コマンド発行部が前記メモリーデバイスの動作周波数で動作する際の前記タイミングパラメーターの設定値を前記nで除算した値にセットし、
    前記コマンド発行部は、前記デバイス管理部により値をセットされた前記タイミングパラメーターに違反しないように前記コマンドを発行すること、
    を特徴とするメモリーコントローラー。
  2. 前記動作周波数設定データの値は切り替え可能であることを特徴とする請求項1記載のメモリーコントローラー。
  3. 前記デバイス管理部は、前記除算において端数が発生する場合、前記タイミングパラメーターの種別に応じて、前記端数を切り上げるか、切り捨てることを特徴とする請求項1記載のメモリーコントローラー。
  4. 前記デバイス管理部は、前記タイミングパラメーターが上限値を指定するものである場合、前記端数を切り捨てることを特徴とする請求項3記載のメモリーコントローラー。
  5. 前記デバイス管理部は、前記タイミングパラメーターが下限値を指定するものである場合、前記端数を切り上げることを特徴とする請求項3記載のメモリーコントローラー。
  6. 前記デバイス管理部は、前記コマンドの発行タイミングに関するある期間の開始までの時間の上限値を示す第1タイミングパラメーターと、その期間の長さの下限値を示す第2タイミングパラメーターについて、前記第1タイミングパラメーターについて前記端数を切り捨てるとき、前記第2タイミングパラメーターについて、前記第2タイミングパラメーターの前記設定値に前記第1のタイミングパラメーターについての除算余りを加算した値を前記nで除算し、
    前記コマンド発行部は、前記デバイス管理部により値をセットされた前記第1タイミングパラメーターおよび前記第2タイミングパラメーターに違反しないように前記コマンドを発行すること、
    を特徴とする請求項1または請求項3記載のメモリーコントローラー。
  7. 前記デバイス管理部は、前記コマンドの発行タイミングに関するある期間の開始までの時間の下限値を示す第1タイミングパラメーターと、その期間の長さの上限値を示す第2タイミングパラメーターについて、前記第1タイミングパラメーターについて前記端数を切り上げるとき、前記第2タイミングパラメーターについて、前記第2タイミングパラメーターの前記設定値から前記第1のタイミングパラメーターについての除算余りを減算した値を前記nで除算し、
    前記コマンド発行部は、前記デバイス管理部により値をセットされた前記第1タイミングパラメーターおよび前記第2タイミングパラメーターに違反しないように前記コマンドを発行すること、
    を特徴とする請求項1または請求項3記載のメモリーコントローラー。
  8. 前記デバイス管理部は、複数のタイミングパラメーターを含む演算式の値で前記コマンドの発行タイミングが制限される場合、前記デバイス管理部および前記コマンド発行部が前記メモリーデバイスの動作周波数で動作する際の前記複数のタイミングパラメーターの設定値を含む演算式の値を前記nで除算し、
    前記コマンド発行部は、前記デバイス管理部による前記除算結果の値に違反しないように前記コマンドを発行すること、
    を特徴とする請求項1記載のメモリーコントローラー。
JP2012164208A 2012-07-24 2012-07-24 メモリーコントローラー Expired - Fee Related JP5752091B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012164208A JP5752091B2 (ja) 2012-07-24 2012-07-24 メモリーコントローラー

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012164208A JP5752091B2 (ja) 2012-07-24 2012-07-24 メモリーコントローラー

Publications (2)

Publication Number Publication Date
JP2014026349A true JP2014026349A (ja) 2014-02-06
JP5752091B2 JP5752091B2 (ja) 2015-07-22

Family

ID=50199959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012164208A Expired - Fee Related JP5752091B2 (ja) 2012-07-24 2012-07-24 メモリーコントローラー

Country Status (1)

Country Link
JP (1) JP5752091B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297606A (ja) * 1995-04-26 1996-11-12 Ricoh Co Ltd 画像形成装置
JP2004139422A (ja) * 2002-10-18 2004-05-13 Sony Corp 情報処理装置、情報記憶装置、情報処理方法、及び情報処理プログラム
US20110238934A1 (en) * 2010-03-29 2011-09-29 Freescale Semiconductor, Inc. Asynchronously scheduling memory access requests

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297606A (ja) * 1995-04-26 1996-11-12 Ricoh Co Ltd 画像形成装置
JP2004139422A (ja) * 2002-10-18 2004-05-13 Sony Corp 情報処理装置、情報記憶装置、情報処理方法、及び情報処理プログラム
US20110238934A1 (en) * 2010-03-29 2011-09-29 Freescale Semiconductor, Inc. Asynchronously scheduling memory access requests

Also Published As

Publication number Publication date
JP5752091B2 (ja) 2015-07-22

Similar Documents

Publication Publication Date Title
EP2973571B1 (en) A memory system
JP2020170532A (ja) センサデータ検出に基づくインピーダンス補償
KR101695338B1 (ko) 동적 주파수 메모리 제어
US20120159002A1 (en) Memory control device and semiconductor processing apparatus
JP6146128B2 (ja) データ処理装置
US20160062930A1 (en) Bus master, bus system, and bus control method
JP2006260472A (ja) メモリアクセス装置
JP2009193107A (ja) メモリアクセス装置
KR101525872B1 (ko) 반도체 메모리 시스템의 동작 방법
TW201719379A (zh) 記憶體管理系統和方法
KR20180003000A (ko) 메모리 컨트롤러, 비동기식 메모리 버퍼칩 및 이를 포함하는 메모리 시스템
US20060026375A1 (en) Memory controller transaction scheduling algorithm using variable and uniform latency
JP2009251713A (ja) キャッシュメモリ制御装置
US9360915B1 (en) Dynamically controlling clocking rate of a processor based on user defined rule
JP5917307B2 (ja) メモリコントローラ、揮発性メモリの制御方法及びメモリ制御システム
US8180990B2 (en) Integrated circuit including a plurality of master circuits transmitting access requests to an external device and integrated circuit system including first and second interated circuits each including a plurality of master circuits transmitting access requests
JP5752091B2 (ja) メモリーコントローラー
JP2009116702A (ja) 半導体集積回路
JP2011034214A (ja) メモリ制御装置
EP1513069A2 (en) Resource management apparatus
JP6274774B2 (ja) メモリインターフェース装置及びその制御方法
JP4843216B2 (ja) メモリ制御装置
JP2004310394A (ja) Sdramアクセス制御装置
JPWO2007007599A1 (ja) メモリ制御装置
US11842071B2 (en) Data transfer device and data transfer method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150304

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: 20150423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150519

R150 Certificate of patent or registration of utility model

Ref document number: 5752091

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees