(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-19
(45)【発行日】2023-12-27
(54)【発明の名称】メモリ制御回路及びメモリ装置
(51)【国際特許分類】
G06F 12/00 20060101AFI20231220BHJP
G11C 11/406 20060101ALI20231220BHJP
【FI】
G06F12/00 550B
G11C11/406 100
(21)【出願番号】P 2020090391
(22)【出願日】2020-05-25
【審査請求日】2023-02-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】小佐野 秀和
【審査官】松平 英
(56)【参考文献】
【文献】特開2012-198969(JP,A)
【文献】特開平9-106674(JP,A)
【文献】特開2005-310245(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F12/00-12/06
13/16-13/18
G11C11/401-11/4099
11/56
(57)【特許請求の範囲】
【請求項1】
リフレッシュが行われるメモリに対するリードまたはライトのリクエストを生成し、前記リクエストを出力するリクエスト生成部と、
前記メモリにおけるリクエスト受付期間中に、前記リクエストの第1の発行間隔が第1の閾値未満の場合、連続する一群のリクエスト群の発行状態であると判定するリクエスト連続性判定部と、
前記リフレッシュの第2の発行間隔が第2の閾値未満の場合、前記リクエスト群の発行状態であると判定されている間は、前記リフレッシュの発行を抑止し、前記第2の発行間隔が前記第2の閾値に達した場合、前記リフレッシュの発行を許容するリフレッシュ発行抑止部と、
を有するメモリ制御回路。
【請求項2】
前記リクエスト連続性判定部は、前記リクエスト生成部が前記リクエストの出力を終了した場合、前記第1の閾値の期間経過後に、前記リクエスト群の発行の終了を示す第1の信号を出力し、
前記リフレッシュ発行抑止部は、前記第1の信号が出力された場合、前記リフレッシュの発行を許容する、
請求項1に記載のメモリ制御回路。
【請求項3】
前記リクエスト連続性判定部は、前記リクエスト生成部が前記リクエストの出力を開始した場合、前記リクエスト群の発行の開始を示す第2の信号を出力し、
前記リフレッシュ発行抑止部は、前記第2の信号が出力された場合、前記リフレッシュの発行の抑止を開始する、
請求項2に記載のメモリ制御回路。
【請求項4】
前記リクエスト連続性判定部は、前記第1の発行間隔を計数するカウンタを有し、
前記カウンタは、前記第2の信号が出力されてから前記第1の信号が出力されるまでの間以外の期間は、計数動作を停止する、
請求項3に記載のメモリ制御回路。
【請求項5】
リフレッシュが行われるメモリと、
前記メモリに対するリードまたはライトのリクエストを生成し、前記リクエストを出力するリクエスト生成部と、前記メモリにおけるリクエスト受付期間中に、前記リクエストの第1の発行間隔が第1の閾値未満の場合、連続する一群のリクエスト群の発行状態であると判定するリクエスト連続性判定部と、前記リフレッシュの第2の発行間隔が第2の閾値未満の場合、前記リクエスト群の発行状態であると判定されている間は、前記リフレッシュの発行を抑止し、前記第2の発行間隔が前記第2の閾値に達した場合、前記リフレッシュの発行を許容するリフレッシュ発行抑止部と、を備えたメモリ制御回路と、
を有するメモリ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ制御回路及びメモリ装置に関する。
【背景技術】
【0002】
DRAM(Dynamic Random Access Memory)などの揮発性メモリ(以下単にメモリという)を制御するメモリ制御回路は、メモリに対するリードまたはライトのリクエストの受付期間中に、定期的にリフレッシュを発生させる。
【0003】
リフレッシュが必要なメモリでは、仕様上、リフレッシュを所定期間内に発生させなければならない。そのため、リクエストとリフレッシュが競合する場合、メモリ制御回路は、リクエストを待機させてリフレッシュを優先する制御を行うことがあった。
【0004】
従来、割り込みにより強制実施されるリフレッシュ処理によるリードやライト動作の遅延を抑制するため、バーストリードやバーストライト処理が実行されていないアイドル期間に、リフレッシュ処理を実行する技術があった(たとえば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところでリクエストの発行間隔は一定ではなく、発行間隔が短い場合にも、リクエストが発行されていない期間にリフレッシュを発生させる場合、リクエストの待機時間が長くなってしまう可能性がある。
【0007】
1つの側面では、本発明は、リクエストの待機時間を減らすことができるメモリ制御回路及びメモリ装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
1つの実施態様では、リフレッシュが行われるメモリに対するリードまたはライトのリクエストを生成し、前記リクエストを出力するリクエスト生成部と、前記メモリにおけるリクエスト受付期間中に、前記リクエストの第1の発行間隔が第1の閾値未満の場合、連続する一群のリクエスト群の発行状態であると判定するリクエスト連続性判定部と、前記リフレッシュの第2の発行間隔が第2の閾値未満の場合、前記リクエスト群の発行状態であると判定されている間は、前記リフレッシュの発行を抑止し、前記第2の発行間隔が前記第2の閾値に達した場合、前記リフレッシュの発行を許容するリフレッシュ発行抑止部と、を有するメモリ制御回路が提供される。
【0009】
また、1つの実施態様では、メモリ装置が提供される。
【発明の効果】
【0010】
1つの側面では、本発明は、リクエストの待機時間を減らすことができる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施の形態のメモリ装置及びメモリ制御回路の一例を示す図である。
【
図2】第2の実施の形態のメモリ装置の一例を示す図である。
【
図4】リクエスト連続性判定部の一例を示す図である。
【
図5】メモリ制御回路の動作の一例の流れを示すフローチャートである。
【
図7】メモリ制御回路の各部の信号の時間変化の一例を示すタイミングチャートである。
【
図8】リクエスト連続性判定部内における各部の信号の時間変化の一例を示すタイミングチャートである。
【
図10】比較例のメモリ装置のメモリ制御回路の各部の信号の時間変化の一例を示すタイミングチャートである。
【発明を実施するための形態】
【0012】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態のメモリ装置及びメモリ制御回路の一例を示す図である。
【0013】
メモリ装置10は、メモリ11とメモリ制御回路12を有する。
メモリ11は、DRAMやHBM(High Bandwidth Memory)など、データを保持するためのリフレッシュが行われるメモリである。
【0014】
メモリ制御回路12は、リクエスト生成部12a、リクエスト格納部12b、リクエスト連続性判定部12c、リフレッシュ生成部12d、選択部12eを有する。
リクエスト生成部12aは、たとえば、メモリ装置10の外部から入力される信号(たとえば、あるアドレスを指定したリード命令やライト命令)に基づいて、メモリ11に対するリードまたはライトのリクエストを生成し、リクエストを出力(発行)する。また、リクエスト生成部12aは、リクエストの発行状態であるか否かを示す信号(以下、リクエスト発行状態信号という)を出力する。
【0015】
リクエスト格納部12bは、たとえば、レジスタなどを有し、リクエスト生成部12aが発行したリクエストを一時的に格納する。メモリ11の仕様により、メモリ11がリクエストを受けられない期間があるためである。また、リクエスト格納部12bは、リクエスト生成部12aと選択部12eが異なるクロックドメインの回路である場合に、クロック乗り換えを行う。
【0016】
リクエスト連続性判定部12cは、メモリ11におけるリクエスト受付期間中に、リクエスト発行状態信号に基づいてリクエストの発行間隔を検出し、リクエストの発行間隔が第1の閾値未満の場合、連続する一群のリクエスト群の発行状態であると判定する。ライトデータやリードデータのデータサイズが大きい場合、(途中に少しの隙間はあってもよいが)ある程度連続したリクエスト群が形成されることが多い。リクエスト連続性判定部12cは、リクエストの発行間隔と第1の閾値とを比較することにより、このようなリクエスト群の発行状態であるか否かを判定できる。
【0017】
また、リクエスト連続性判定部12cは、リクエストの発行が終了した場合、第1の閾値の期間経過後に、上記リクエスト群の発行の終了を示す信号を出力する。さらにまた、リクエスト連続性判定部12cは、リクエスト生成部12aとリフレッシュ生成部12dが異なるクロックドメインの回路である場合に、クロック乗り換えを行ってもよい。リクエスト連続性判定部12cの回路例については後述する。
【0018】
第1の閾値は、たとえば、リクエストをリフレッシュよりも、どの程度優先するかに応じて適宜設定される。第1の閾値を大きくするほど、複数のリクエストは、発行間隔が広くても連続する一群のリクエスト群と判定されやすくなり、後述のリフレッシュ発行抑止部12d1の機能によりリフレッシュの発行が抑止されやすくなるため、リクエストの優先度が高まる。
【0019】
リフレッシュ生成部12dは、後述のリフレッシュ発行抑止部12d1の機能によりリフレッシュの発行が抑止されていない期間において、リフレッシュを発生させる信号を定期的に発行する。リフレッシュの発行間隔(リフレッシュを発生させる信号の発行間隔)は、一定でなくてもよく、メモリ11の仕様を満たす範囲で調整可能である。
【0020】
選択部12eは、リクエスト格納部12bの出力とリフレッシュ生成部12dの出力の何れか一方を選択して、メモリ11に供給する。メモリ11において、リフレッシュ用のバスとリクエスト用のバスが共通である場合、このような選択部12eが用いられる。
【0021】
図1の例では、リフレッシュ生成部12dは、リフレッシュ発行抑止部12d1を有する。
リフレッシュ発行抑止部12d1は、リフレッシュの発行間隔(リフレッシュが発行されていない期間)が第2の閾値未満の場合、連続する一群のリクエスト群の発行状態であると判定されている間は、リフレッシュの発行を抑止する。また、リフレッシュ発行抑止部12d1は、リフレッシュの発行間隔が第2の閾値に達した場合、リフレッシュの発行を許容する。
【0022】
第2の閾値は、たとえば、メモリ11の仕様に応じて設定されるリフレッシュの発行間隔の上限値である。また、本明細書において、「抑止」とは、ある一定期間についてはリフレッシュを発行せず、その期間に発行するはずであったリフレッシュを、その期間後に遅延して発行する動作を意味し、リフレッシュの発行自体を消滅させるという意味ではない。メモリ11においてリフレッシュ処理は、仕様に応じた所定の全リフレッシュ期間内に、所定の回数、実施されるためである。
【0023】
なお、メモリ制御回路12は、リフレッシュ生成部12dが発行したリフレッシュを一時的に格納して、メモリ11に対するリフレッシュの発行間隔を調整するリフレッシュ格納部を有していてもよい。その場合、リフレッシュ発行抑止部12d1は、リフレッシュ格納部に含まれていてもよい。
【0024】
図1には、メモリ制御回路12の一例の動作例が示されている。
リクエスト生成部12aがリクエストを発行すると、リクエスト発行状態信号の論理レベルがL(Low)レベルからH(High)レベルに立ち上がる(タイミングt1)。リクエスト連続性判定部12cは、この変化に応答して、連続する一群のリクエスト群の発行開始を示す論理レベルがHレベルのパルス信号(以下、リクエスト群発行開始信号という)を出力する。これにより、リフレッシュ発行抑止部12d1は、リフレッシュの発行の抑止を開始する。
【0025】
図1の例では、リクエスト生成部12aは、タイミングt2においてリクエストの発行を終了し、その後、タイミングt3において再びリクエストの発行を行っている。
図1のように、このときの2つのリクエストの発行間隔であるT(=t3-t2)が、前述の第1の閾値であるTth1未満である場合、リクエスト連続性判定部12cは、連続する一群のリクエスト群の発行状態であると判定する。この場合、リクエスト連続性判定部12cは、連続する一群のリクエスト群の発行終了を示す論理レベルがHレベルのパルス信号(以下、リクエスト群発行終了信号という)を出力しない。したがって、リフレッシュ発行抑止部12d1は、リフレッシュの発行の抑止を継続する。
【0026】
図1の例では、リクエスト生成部12aは、タイミングt4においてリクエストの発行を終了し、タイミングt4からTth1の期間経過しても次のリクエストを発行していない。このため、リクエスト連続性判定部12cは、Tth1の期間経過後に、リフレッシュ群発行終了信号を出力する(タイミングt5)。これにより、リフレッシュ発行抑止部12d1は、リフレッシュの発行を許容する。
【0027】
このように、第1の実施の形態のメモリ装置10のメモリ制御回路12は、メモリ11におけるリクエスト受付期間中にリクエストの連続性を判定し、リクエストの発行間隔が第1の閾値未満の場合、リフレッシュの発行を抑止する。これにより、リクエストの発行間隔が短い場合においても、リクエストの合間にリフレッシュが発行されることが抑制されるため、リクエストの待機が発生することが抑制される。このため、リクエストの待機時間を減らすことができる。また、リクエストの待機時間を減らすことができるため、リードやライト動作の遅延を減らせ、メモリ装置10の性能(リクエスト処理速度)を向上させることができる。
【0028】
(第2の実施の形態)
図2は、第2の実施の形態のメモリ装置の一例を示す図である。
図2において、
図1に示した要素と同じ要素については、同一符号が付されている。
【0029】
第2の実施の形態のメモリ装置20におけるメモリ制御回路21は、リフレッシュ生成部21bが定期的に発行したリフレッシュを発生させる信号を一時的に格納して、メモリ11に対するリフレッシュの発行間隔を調整するリフレッシュ格納部21cを有する。
【0030】
図3は、リフレッシュ格納部の一例を示す図である。
リフレッシュ格納部21cは、リフレッシュ発行間隔カウンタ21c1、上限設定レジスタ21c2、比較器21c3、OR回路21c4、リフレッシュ発行抑止部21c5、発行間隔調整回路21c6を有する。
【0031】
リフレッシュ発行間隔カウンタ21c1は、リフレッシュの発行間隔(リフレッシュが発行されていない期間)を計数するカウンタである。リフレッシュ発行間隔カウンタ21c1は、発行間隔調整回路21c6が、リフレッシュを発生させる信号を出力するまで、たとえば、図示しないクロック信号に同期して計数値をカウントアップする。発行間隔調整回路21c6がリフレッシュを発生させる信号を出力した場合、リフレッシュ発行間隔カウンタ21c1は、計数値をリセットする。
【0032】
上限設定レジスタ21c2は、リフレッシュの発行間隔の上限値が設定されるレジスタである。リフレッシュの発行間隔の上限値は、たとえば、メモリ装置20の初期設定時にメモリ11の仕様に応じて設定される。
【0033】
比較器21c3は、リフレッシュ発行間隔カウンタ21c1が計数した計数値と、上限値との比較結果を出力する。以下の例では、比較器21c3は、計数値が上限値に達するまでは、論理レベルがLレベルの信号を出力し、計数値が上限値に達した場合に論理レベルがHレベルの信号を出力するものとするが、これに限定されるものではない。
【0034】
比較器21c3の出力信号は、OR回路21c4と、リクエスト連続性判定部21aに供給される。比較器21c3の出力信号の論理レベルがHレベルの場合、リクエスト連続性判定部21aに、連続する一群のリクエスト群の発行の強制終了が指示される。
【0035】
OR回路21c4は、比較器21c3の出力信号と、リクエスト連続性判定部21aが出力するリフレッシュを発行するか否かを指示する信号(連続する一群のリクエスト群の発行が終了したか否かを示す信号)との論理和(OR)を出力する。OR回路21c4の出力信号は、論理レベルがHレベルの場合、前述のリクエスト群発行終了信号に相当し、リフレッシュの発行を指示するものとするが、これに限定されるものではない。
【0036】
リフレッシュ発行抑止部21c5は、OR回路21c4の出力信号と、リクエスト連続性判定部21aが出力するリフレッシュの発行を抑止するか否かを指示する信号(連続する一群のリクエスト群の発行が開始したか否かを示す信号)とを受ける。そして、リフレッシュ発行抑止部21c5は、OR回路21c4の出力信号の論理レベルがLレベルの場合、またはリフレッシュの発行の抑止を指示する信号を受けた場合、リフレッシュの発行を抑止させる。以下の例では、リフレッシュの発行を抑止するか否かを指示する信号は、論理レベルがHレベルの場合は、前述のリクエスト群発行開始信号に相当し、リフレッシュの発行の抑止を指示するものとするが、これに限定されるものではない。
【0037】
リフレッシュ発行抑止部21c5は、たとえば、セット端子とリセット端子とを有し、論理値“1”または論理値“0”を保持するリセット優先のフリップフロップである。この場合、リフレッシュの発行を抑止するか否かを指示する信号がセット端子に入力され、OR回路21c4の出力信号がリセット端子に入力される。そして、リフレッシュの発行を抑止するか否かを指示する信号の論理レベルがHレベルとなると、リフレッシュ発行抑止部21c5に“1”がセットされ、リフレッシュの発行を抑止させる論理レベルがHレベルの信号が出力される。以下、リフレッシュ発行抑止部21c5に、“1”がセットされている状態をリフレッシュ発行禁止状態という。
【0038】
また、リフレッシュの発行間隔が上限値に達するか、リフレッシュの発行を指示する信号が供給された場合、OR回路21c4の出力信号の論理レベルがHレベルになる。このとき、リフレッシュ発行抑止部21c5が“0”にリセットされ、リフレッシュ発行抑止部21c5は、論理レベルがLレベルの信号を出力する。
【0039】
発行間隔調整回路21c6は、たとえば、レジスタを有し、リフレッシュ生成部21bが発行したリフレッシュを発生させる信号を一時的に格納して、メモリ11に対するリフレッシュの発行間隔を調整する。また、発行間隔調整回路21c6は、リフレッシュ発行抑止部21c5によって、リフレッシュの発行の抑止が指示されている間、リフレッシュを発生させる信号を出力しない。
【0040】
図4は、リクエスト連続性判定部の一例を示す図である。
リクエスト連続性判定部21aは、リクエスト無期間カウンタ21a1、上限設定レジスタ21a2、比較器21a3、OR回路21a4,21a9、AND回路21a5,21a6,21a7,21a8、リクエスト群発行状態判定部21a10を有する。
【0041】
リクエスト無期間カウンタ21a1は、リセット優先のカウンタであり、連続する一群のリクエスト群の発行状態のときにリクエストが発行されていない期間(リクエスト間隔)をカウントする。リクエスト無期間カウンタ21a1は、OR回路21a9の出力信号の論理レベルがLレベルで、かつAND回路21a7の出力信号の論理レベルがHレベルの場合、たとえば、図示しないクロック信号に同期して計数値をカウントアップする。また、リクエスト無期間カウンタ21a1は、OR回路21a9の出力信号がHレベルの場合、計数値をリセットし、OR回路21a9の出力信号がHレベルの間は、計数動作を行わない。
【0042】
上限設定レジスタ21a2は、連続する一群のリクエスト群を判定するためのリクエスト間隔の上限値を保持する。リクエスト間隔の上限値は、たとえば、メモリ装置20の初期設定時に設定される。
【0043】
比較器21a3は、リクエスト無期間カウンタ21a1が計数した計数値と、上限値との比較結果を出力する。以下の例では、リクエスト無期間カウンタ21a1は、計数値が上限値に達するまでは、論理レベルがLレベルの信号を出力し、計数値が上限値に達した場合に論理レベルがHレベルの信号を出力するものとするが、これに限定されるものではない。
【0044】
OR回路21a4は、比較器21a3の出力信号と、
図3に示したリフレッシュ格納部21cの比較器21c3の出力信号との論理和(OR)を出力する。
AND回路21a5は、リクエスト生成部12aが出力するリクエスト発行状態信号と、リクエスト群発行状態判定部21a10の出力信号の論理レベルを反転させた信号との論理積(AND)を出力する。以下の例では、リクエスト発行状態信号は、論理レベルがHレベルの場合、リクエストの発行状態であることを示すものとするが、これに限定されるものではない。また、以下の例では、リクエスト群発行状態判定部21a10の出力信号は、論理レベルがHレベルの場合、連続する一群のリクエスト群の発行状態であることを示すものとするが、これに限定されるものではない。AND回路21a5の出力信号は、前述のリフレッシュの発行を抑止するか否かを指示する信号であり、リクエスト群発行状態判定部21a10と、リフレッシュ格納部21cに供給される。
【0045】
AND回路21a6は、OR回路21a4の出力信号と、リクエスト群発行状態判定部21a10の出力信号との論理積を出力する。AND回路21a6の出力信号は、前述のリフレッシュを発行するか否かを指示する信号であり、リクエスト群発行状態判定部21a10と、リフレッシュ格納部21cに供給される。
【0046】
AND回路21a7は、リクエスト生成部12aが出力するリクエスト発行状態信号の論理レベルを反転させた信号と、リクエスト群発行状態判定部21a10の出力信号との論理積を出力する。
【0047】
AND回路21a8は、リクエスト生成部12aが出力するリクエスト発行状態信号と、リクエスト群発行状態判定部21a10の出力信号との論理積を出力する。
OR回路21a9は、AND回路21a6の出力信号と、AND回路21a8の出力信号との論理和を出力する。
【0048】
リクエスト群発行状態判定部21a10は、AND回路21a5とAND回路21a6の出力信号に基づいて、連続する一群のリクエスト群の発行状態であるか否かを示す信号を出力する。
【0049】
リクエスト群発行状態判定部21a10は、たとえば、セット端子とリセット端子とを有し論理値“1”または論理値“0”を保持するフリップフロップである。この場合、AND回路21a5の出力信号がセット端子に入力され、AND回路21a6の出力信号がリセット端子に入力される。そして、リクエスト群発行状態判定部21a10の出力信号の論理レベルがLレベルのとき、リクエストが発行されると、AND回路21a5の出力信号の論理レベルがHレベルになる。このとき、リクエスト群発行状態判定部21a10に“1”がセットされ、連続する一群のリクエスト群の発行状態であることを示す論理レベルがHレベルの信号が出力される。以下、リクエスト群発行状態判定部21a10に“1”がセットされている状態を、リクエスト群発行状態という。
【0050】
また、リクエスト群発行状態であるとき、リクエスト間隔が上限値に達するか、リフレッシュの発行間隔が上限値に達した場合、AND回路21a6の出力信号の論理レベルがHレベルになる。このとき、リクエスト群発行状態判定部21a10が“0”にリセットされ、リクエスト群発行状態判定部21a10は、リクエスト群発行状態ではないこと(以下、リクエスト群非発行状態という)を示す論理レベルがLレベルの信号を出力する。
【0051】
なお、
図1に示した第1の実施の形態のメモリ制御回路12のリクエスト連続性判定部12cも、
図4に示すような回路にて実現できる。その場合、
図4のAND回路21a5,21a6の出力信号は、
図1のリフレッシュ生成部12dに供給される。また、リフレッシュ生成部12dは、
図3に示したような、リフレッシュ発行間隔カウンタ21c1、上限設定レジスタ21c2、比較器21c3、OR回路21c4を有することになり、比較器21c3の出力信号が、リクエスト連続性判定部12cに供給されることになる。
【0052】
以下、第2の実施の形態のメモリ制御回路21の動作例を示す図である。
図5は、メモリ制御回路の動作の一例の流れを示すフローチャートである。
リクエスト生成部12aがリクエストを発行すると(ステップS1)、リクエスト連続性判定部21aによってリクエスト群発行状態に設定されるとともに、リフレッシュ格納部21cによってリフレッシュ発行禁止状態に設定される(ステップS2)。
【0053】
そして、リフレッシュ発行間隔が上限値に達しておらず(ステップS3:NO)、リクエスト間隔も上限値に達していない場合(ステップS4:NO)、リクエスト群発行状態と、リフレッシュ発行禁止状態が維持される。
【0054】
リフレッシュ発行間隔が上限値に達した場合(ステップS3:YES)、またはリクエスト間隔が上限値に達した場合(ステップS4:YES)、リクエスト群発行状態と、リフレッシュ発行禁止状態が解除される(ステップS5)。これによってリフレッシュが発行される(ステップS6)。以上で、リクエストの発行から次にリフレッシュが発行されるまでの処理が終了する。
【0055】
図6は、メモリ制御回路の状態遷移図である。
図6には、リクエスト群発行状態、リクエスト群非発行状態、リフレッシュ発行禁止状態、リフレッシュ発行許容状態の4状態の間での状態遷移の例が示されている。
【0056】
リクエスト群非発行状態において、リクエストが発行された場合、リクエスト群非発行状態からリクエスト群発行状態への状態遷移が発生する。また、リクエスト連続性判定部21aからリフレッシュ格納部21cにリフレッシュの発行を抑止する指示(リフレッシュ抑止指示)がなされ、リフレッシュ発行許容状態からリフレッシュ発行禁止状態への状態遷移が発生する。
【0057】
リクエスト群発行状態において、リクエスト間隔が上限値に達した場合、リクエスト群発行状態からリクエスト群非発行状態への状態遷移が発生する。また、リクエスト連続性判定部21aからリフレッシュ格納部21cにリフレッシュの発行の指示(リフレッシュ発行指示)がなされ、リフレッシュ発行禁止状態からリフレッシュ発行許容状態への状態遷移が発生する。
【0058】
また、リフレッシュ発行禁止状態において、リフレッシュ発行間隔が上限値に達した場合、リフレッシュ発行禁止状態からリフレッシュ発行許容状態への状態遷移が発生する。また、リフレッシュ格納部21cからリクエスト連続性判定部21aにリクエスト群発行強制終了指示がなされ、リクエスト群発行状態からリクエスト群非発行状態への状態遷移が発生する。
【0059】
次に、メモリ制御回路21の各部の信号の時間変化についてタイミングチャートを用いて説明する。
図7は、メモリ制御回路の各部の信号の時間変化の一例を示すタイミングチャートである。
【0060】
図7には、リクエスト生成部12aが出力するリクエスト発行状態信号、リクエスト群発行開始信号、リクエスト群発行終了信号の時間変化が示されている。さらに、
図7には、リクエスト格納部12bのリクエストの格納状態と、リクエスト格納部12bのリクエストの出力状態の時間変化が示されている。リクエストの格納状態は、論理レベルがHレベルの場合、リクエストが格納されている状態を示し、論理レベルがLレベルの場合、リクエストが格納されていない状態(空の状態)を示す。リクエストの出力状態は、論理レベルがHレベルの場合、リクエスト格納部12bがリクエストを出力している状態を示し、論理レベルがLレベルの場合、リクエスト格納部12bがリクエストを出力していない状態を示す。リクエスト生成部12aが発行するリクエストが連続していても、リクエスト格納部12bからの読み出しが速い場合には、リクエスト格納部12bが一時的に空になる。
図7には、その例が示されている。
【0061】
また、
図7には、リフレッシュ発行抑止部21c5の出力信号、リフレッシュ格納部21cの出力信号(選択部12eに供給される信号(「リフレッシュ発生信号」と図示されている))の時間変化が示されている。さらに、
図7には、
図3では図示が省略されていたが、たとえば、リフレッシュ格納部21cがさらに出力する、リクエストの発行を抑止するか否かを示す信号の時間変化が示されている。リクエストの発行を抑止するか否かを示す信号は、リフレッシュ発生信号の論理レベルがHレベルからLレベルに立ち下がるタイミングから所定期間(リフレッシュが実行される期間)、論理レベルがHレベルとなる信号である。リクエストの発行を抑止するか否かを示す信号は、リクエスト格納部12bに供給される。
【0062】
図7の例では、タイミングt10において、リフレッシュ発生信号の論理レベルがLレベルからHレベルに立ち上がり、その後、タイミングt11においてリフレッシュ発生信号の論理レベルがHレベルからLレベルに立ち下がる。このとき、リクエストの発行を抑止するか否かを示す信号の論理レベルがLレベルからHレベルに立ち上がる。
【0063】
タイミングt12において、リクエスト生成部12aによってリクエストが発行されると、リクエスト群発行開始信号が出力される。これにより、リクエスト連続性判定部21aによりリフレッシュ格納部21cに対して前述のリフレッシュ抑止指示がなされ、タイミングt14において、リフレッシュ発行抑止部21c5の出力信号の論理レベルがLレベルからHレベルに立ち上がる。
【0064】
タイミングt13において、リクエスト格納部12bはリクエストを格納している状態となるが、リクエストの発行を抑止するか否かを示す信号の論理レベルがHレベルからLレベルに立ち下がるまでリクエストを出力しない。タイミングt14では、リクエストの発行を抑止するか否かを示す信号の論理レベルがHレベルからLレベルに立ち下がっている。これにより、リクエスト格納部12bはリクエストを出力する。
【0065】
リフレッシュ発行抑止部21c5の出力信号の論理レベルがHレベルの間は、リフレッシュ発行禁止状態となる。このため、タイミングt15,t17で、論理レベルがLレベルからHレベルに立ち上がるはずであったリフレッシュ発生信号は変化せず、リフレッシュは発行されない。なお、発行されなかったリフレッシュは、リフレッシュ発行抑止部21c5の出力信号の論理レベルがLレベルに立ち下がったあとに、遅延して発行されることになる。
【0066】
リクエストの発行が終了して(タイミングt16)、リクエスト間隔が上限値に達した場合、リクエスト群発行終了信号が出力される(タイミングt18)。これにより、リクエスト連続性判定部21aによりリフレッシュ格納部21cに対してリフレッシュ発行指示がなされ、タイミングt19において、リフレッシュ発行抑止部21c5の出力信号の論理レベルがHレベルからLレベルに立ち下がる。
【0067】
このため、タイミングt20において、リフレッシュ発生信号の論理レベルがLレベルからHレベルに立ち上がり、たとえば、タイミングt15で発行されるはずであったリフレッシュが発行される。
【0068】
図8は、リクエスト連続性判定部内における各部の信号の時間変化の一例を示すタイミングチャートである。
図8には、リクエスト生成部12aからリクエスト連続性判定部21aに供給されるリクエスト発行状態信号、リクエスト群発行状態判定部21a10によって判定されたリクエスト群の発行状態の時間変化が示されている。さらに、リクエスト無期間カウンタ21a1の計数値の時間変化、上限設定レジスタ21a2に設定される値(リクエスト間隔の上限値)、リクエスト群発行開始信号及びリクエスト群発行終了信号の時間変化が示されている。
【0069】
なお、
図8の例では、リクエスト無期間カウンタ21a1は、リクエスト群発行開始信号が出力してからリクエスト群発行終了信号が出力されるまでの間以外の期間(リクエスト群非発行状態の期間)においてはカウントアップ(計数動作)を行っていない。リクエスト無期間カウンタ21a1は、リクエスト群非発行状態においてもカウントアップを行ってもよいが、リクエスト群非発行状態における計数値は使用されないため、消費電力を削減するため、
図8のようにカウントアップをしないことが望ましい。また、
図8の例では、上限設定レジスタ21a2には上限値として3が設定されている。
【0070】
リクエスト群非発行状態において、リクエスト生成部12aがリクエストを発行すると(タイミングt30)、リクエスト連続性判定部21aのAND回路21a5は、リフレッシュ群発行開始信号を出力する。これにより、リクエスト群発行状態となる。
【0071】
図8の例では、リクエスト生成部12aは、タイミングt31においてリクエストの発行を終了し、その後、タイミングt32において再びリクエストの発行を行っている。
図8のように、このときの2つのリクエストの発行間隔(リクエスト無期間カウンタ21a1の計数値)は3未満であるため、リクエスト群発行状態が維持される。
【0072】
さらに
図8の例では、リクエスト生成部12aは、タイミングt33においてリクエストの発行を終了し、その後、タイミングt34において再びリクエストの発行を行っている。
図8のように、このときの2つのリクエストの発行間隔も3未満であるため、リクエスト群発行状態が維持される。
【0073】
その後、リクエスト生成部12aは、タイミングt35においてリクエストの発行を終了し、タイミングt35からのリクエスト無期間カウンタ21a1の計数値が3に達しても次のリクエストを発行していない。このため、AND回路21a6は、計数値が3に達するタイミングt36において、リフレッシュ群発行終了信号を出力する。これにより、リクエスト群発行状態がリクエスト群非発行状態に変わる。
【0074】
このように、第2の実施の形態のメモリ装置20のメモリ制御回路21は、メモリ11におけるリクエスト受付期間中にリクエストの連続性を判定し、リクエストの発行間隔が所定の上限値未満の場合、リフレッシュの発行を抑止する。これにより、第1の実施の形態のメモリ装置10及びメモリ制御回路12と同様の効果が得られる。
【0075】
以下、上記のようなメモリ装置20に対する比較例を示す。
(比較例)
図9は、比較例のメモリ装置である。
図9において、
図2に示したメモリ装置20と同じ要素については同一符号が付されている。
【0076】
メモリ装置30のメモリ制御回路31では、リクエスト格納部31aによるリクエストの格納状態に応じて、リフレッシュ格納部31bが、リフレッシュ発生信号の出力を抑止または許容する。
【0077】
図10は、比較例のメモリ装置のメモリ制御回路の各部の信号の時間変化の一例を示すタイミングチャートである。
図10には、リクエスト生成部12aが出力するリクエスト発行状態信号の時間変化、リクエスト格納部31aのリクエストの格納状態、リクエスト格納部31aのリクエストの出力状態の時間変化が示されている。また、
図10には、リクエスト発行禁止状態、リフレッシュ格納部31bの出力信号であるリフレッシュ発生信号、リフレッシュ格納部31bがさらに出力する、リクエストの発行を抑止するか否かを示す信号の時間変化が示されている。
【0078】
図10の例では、タイミングt40において、リクエスト生成部12aによってリクエストが発行されている。
比較例のメモリ制御回路31では、リクエスト格納部31aがリクエストを格納すると(タイミングt41)、リクエスト格納部31aからリフレッシュ格納部31bにリフレッシュ抑止指示がなされる。このため、リフレッシュ格納部31bでは、リフレッシュ発行禁止状態となり(タイミングt42)、リフレッシュは発行されない。
【0079】
また、リクエスト格納部31aが空になると(タイミングt43)、リクエスト格納部31aからリフレッシュ格納部31bにリフレッシュ発行指示がなされる。このため、リフレッシュ格納部31bでは、リフレッシュ発行禁止状態が解除され(タイミングt44)、リフレッシュ発生信号の論理レベルがLレベルからHレベルに立ち上がり(タイミングt45)、リフレッシュが発行される。
【0080】
この場合、リクエスト格納部31aは、リクエストが続けて発行されていても、リクエストの発行を抑止するか否かを示す信号の論理レベルがHレベルからLレベルに立ち下がるタイミングt46までリクエストを出力できない。
【0081】
このため、リクエスト間隔が過度に長くなり、リードやライト動作の遅延が生じ、メモリ装置30の性能を劣化させる可能性がある。
これに対して、第2の実施の形態のメモリ装置20のメモリ制御回路21は、リクエスト連続性判定部21aが、連続する一群のリクエスト群の開始と終了をリフレッシュ格納部21cに伝える。これにより、たとえリクエスト格納部12bが空になったとしてもリクエスト連続性判定部21aは、連続する一群のリクエスト群を転送中であると判断し、リフレッシュ格納部21cにリフレッシュの発行を抑止させリクエストの発行を優先させることができる。
【0082】
以上、実施の形態に基づき、本発明のメモリ制御回路及びメモリ装置の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【0083】
10 メモリ装置
11 メモリ
12 メモリ制御回路
12a リクエスト生成部
12b リクエスト格納部
12c リクエスト連続性判定部
12d リフレッシュ生成部
12d1 リフレッシュ発行抑止部
12e 選択部