JP2006269029A - メモリ制御装置およびメモリ制御方法 - Google Patents
メモリ制御装置およびメモリ制御方法 Download PDFInfo
- Publication number
- JP2006269029A JP2006269029A JP2005089489A JP2005089489A JP2006269029A JP 2006269029 A JP2006269029 A JP 2006269029A JP 2005089489 A JP2005089489 A JP 2005089489A JP 2005089489 A JP2005089489 A JP 2005089489A JP 2006269029 A JP2006269029 A JP 2006269029A
- Authority
- JP
- Japan
- Prior art keywords
- refresh
- processing
- address
- access
- command
- 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
- Dram (AREA)
Abstract
【課題】 DRAMのリフレッシュ処理と通常のメモリアクセス処理とが重なったときにもメモリバンド幅の低下を有効に回避させることが可能なメモリ制御装置およびメモリ制御方法を提供する。
【解決手段】 アクセス処理が発生したメモリのRowアドレスをフラグデータとして記憶する記憶部13、15と、リフレッシュ処理間隔の1/2期間である処理期間ごとにこのフラグデータを読み出してリフレッシュ処理が必要なアドレスを選択し、この選択したアドレスのリフレッシュ処理コマンドを生成するフラグ読み出し部16と、このリフレッシュ処理コマンドをメモリへのアクセス処理のコマンドシーケンスに埋め込む売りフレッシュ用コマンド埋め込み部17とを備え、処理時間を短縮させメモリバンド幅の低下を回避させる。
【選択図】 図1
【解決手段】 アクセス処理が発生したメモリのRowアドレスをフラグデータとして記憶する記憶部13、15と、リフレッシュ処理間隔の1/2期間である処理期間ごとにこのフラグデータを読み出してリフレッシュ処理が必要なアドレスを選択し、この選択したアドレスのリフレッシュ処理コマンドを生成するフラグ読み出し部16と、このリフレッシュ処理コマンドをメモリへのアクセス処理のコマンドシーケンスに埋め込む売りフレッシュ用コマンド埋め込み部17とを備え、処理時間を短縮させメモリバンド幅の低下を回避させる。
【選択図】 図1
Description
本発明は、記憶素子としてリフレッシュが必要なDRAMを用いてデータを保持するメモリを制御するメモリ制御装置およびメモリ制御方法に関する。
現在、コンピュータのメインメモリにはデータを記憶する記憶素子としてRAM(Random Access Memory)、特にDRAM(Dynamic Random Access Memory)が多く使用されている。このDRAMは回路が単純で集積度も簡単に上げることができ、価格も安いという利点がある。その一方、DRAMではデータの記憶が行われる電荷が時間とともに減少することから、記憶保持のために一定時間毎にそのデータにアクセスするかまたは、電荷を補充するリフレッシュ処理を行う必要があるという性質がある。
従来の一般的なDRAMでは、カウンタを用いて設定されたリフレッシュ処理間隔(以下、「リフレッシュサイクル」という。)を計測し、このリフレッシュサイクルに準じた間隔でリフレッシュ処理を一括して行わせるリフレッシュコマンドの発行要求が制御部に送信される。このため、設定されたリフレッシュサイクルですべてのアドレスにリフレッシュ処理が行われている。
特開2000−235789号公報
しかし、メモリへのアクセス状況に集中期間と閑散期間とが存在する場合、定期的に発行されるリフレッシュコマンドによるリフレッシュ処理がこの集中期間に重なると、アクセス待機時間が許容範囲を超えてしまい、バンド幅の低下やシステム動作の破綻を招くという問題があった。
この問題を解決するため、特許文献1では、設定されたリフレッシュサイクルよりも短い周期をカウントするリフレッシュカウンタとこの短い周期内にアクセスされたアドレスを記憶するアドレス記憶回路とを有し、この記憶されたアドレスを除外してリフレッシュ処理を行う装置が記載されている。
この装置では、一定期間内にアクセスされリフレッシュが不要なアドレスが除外されてリフレッシュ処理が行われるため、過剰なリフレッシュ処理による無駄な電力の消費とバンド幅の低下を防ぐことができる。
しかし、この特許文献1の装置でも、リフレッシュコマンドによるリフレッシュ処理は通常のメモリアクセス処理と多重化することができないため、処理が重なったときのメモリバンド幅の低下は充分には回避されない。
本発明は上記事情に鑑みてなされたものであり、DRAMのリフレッシュ処理と通常のメモリアクセス処理とが重なったときにもメモリバンド幅の低下を有効に回避させることが可能なメモリ制御装置およびメモリ制御方法を提供することを目的とする。
上記目的を達成するための本発明の請求項1に記載のメモリ制御装置は、データを入出力するアクセス処理を行うとともに、入力されたデータに予め設定されたリフレッシュ処理間隔でメモリに対するリフレッシュ処理を行い、アクセス処理が発生したときにこのアクセス処理のコマンドシーケンスを生成するコマンド生成部と、リフレッシュ処理間隔から算出される処理期間を計測する処理期間計測部と、アクセス処理およびリフレッシュ処理が行われたメモリのアドレスをデータとして記憶する記憶部と、処理期間ごとに、記憶部のデータを読み出し、このデータを基にリフレッシュ処理が必要なアドレスを選択し、この選択したアドレスのリフレッシュ処理コマンドを生成する読み出し部と、リフレッシュ処理コマンドをアクセス処理コマンドシーケンスに埋め込む埋め込み部とを備えることを特徴とする。
また、請求項2に記載のメモリ制御装置は、データを入出力するアクセス処理を行うとともに入力されたデータに予め設定されたリフレッシュ処理間隔でリフレッシュ処理を行い、複数のバンクを有するメモリを制御し、アクセス処理が発生したときにこのアクセス処理のコマンドシーケンスを生成するコマンド生成部と、リフレッシュ処理間隔から算出される処理期間を計測する処理期間計測部と、複数のバンクにそれぞれ対応し、処理期間ごとに対応するバンク内のアドレスのリフレッシュ回数を計数する複数のリフレッシュ回数カウンタと、アクセス処理されたアドレスのバンクと異なり且つ計数されたリフレッシュ回数値が最小のリフレッシュ回数カウンタに対応するバンクを選択し、このバンクにおける次のリフレッシュ処理アドレスを選定してこのアドレスのリフレッシュ処理コマンドを生成する選択部と、リフレッシュ処理コマンドをアクセス処理コマンドシーケンスに埋め込む埋め込み部とを備えることを特徴とする。
また、請求項3に記載のメモリ制御方法は、データを入出力するアクセス処理を行うとともに、入力されたデータに予め設定されたリフレッシュ処理間隔でメモリに対するリフレッシュ処理を行うものであり、アクセス処理が発生したときにこのアクセス処理のコマンドシーケンスを生成するステップと、リフレッシュ処理間隔から算出される処理期間を計測するステップと、アクセス処理およびリフレッシュ処理が行われたメモリのアドレスをデータとして記憶するステップと、処理期間ごとに、記憶されたデータを読み出し、このデータを基にリフレッシュ処理が必要なアドレスを選択し、この選択したアドレスのリフレッシュ処理コマンドを生成するステップと、リフレッシュ処理コマンドをアクセス処理コマンドシーケンスに埋め込むステップとを備えることを特徴とする。
また、請求項4に記載のメモリ制御方法は、データを入出力するアクセス処理を行うとともに、入力されたデータに予め設定されたリフレッシュ処理間隔でリフレッシュ処理を行い、複数のバンクを有するメモリを制御するものであり、アクセス処理が発生したときにこのアクセス処理のコマンドシーケンスを生成するステップと、リフレッシュ処理間隔から算出される処理期間を計測するステップと、複数のバンクにそれぞれ対応する複数のリフレッシュ回数カウンタにより、処理期間ごとに対応するバンク内のアドレスのリフレッシュ回数を計数するステップと、アクセス処理されたアドレスのバンクと異なり且つ計数されたリフレッシュ回数値が最小のリフレッシュ回数カウンタに対応するバンクを選択し、このバンクにおける次のリフレッシュ処理アドレスを選定してこのアドレスのリフレッシュ処理コマンドを生成するステップと、リフレッシュ処理コマンドをアクセス処理コマンドシーケンスに埋め込むステップとを備えることを特徴とする。
本発明のメモリ制御装置およびメモリ制御方法によれば、DRAMの記憶保持のための処理としてリフレッシュコマンドによるリフレッシュ処理ではなく通常のメモリアクセスと同様の処理を用いるため、この記憶保持のための処理以外の通常のメモリアクセス処理と重なった場合にもそれらの処理を多重化して処理時間を短縮することができ、バンド幅の低下を有効に回避することが可能である。
〈第一実施形態〉
本発明の第一実施形態におけるメモリ制御装置1の構成を図1を参照して説明する。
本発明の第一実施形態におけるメモリ制御装置1の構成を図1を参照して説明する。
本実施形態におけるメモリ制御装置1は、アクセスコマンド生成部11と、アドレスデコード部12と、書き込みアドレスフラグ記憶部13と、1/2リフレッシュ期間計測カウンタ14と、R/W(読み出し/書き込み)アドレスフラグ記憶部15と、フラグ読み出し部16と、コマンド埋め込み部17とを有する。そしてこのメモリ制御装置1は、メモリであるDDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory:以下「DDR」と称する)へのデータの入出力を制御する。
アクセスコマンド生成部11は、DDRへのデータ読み出し/書き込みアクセスが行われたときにこのアクセス処理のコマンドを生成して、アドレスデコード部12およびコマンド埋め込み部17に送信する。
アドレスデコード部12は、アクセスコマンド生成部11で生成されたコマンドシーケンスからDDRのワード線に対応するRowアドレス(行アドレス)をデコードする。このとき、DDRの初期化後、各Rowアドレス単位で1回目の書き込みアクセスがあったときは、デコードしたアドレスを書き込みアドレスフラグ記憶部13に送信する。また、各Rowアドレス単位で2回目以降の書き込みアクセスがあったときは、デコードしたアドレスをR/Wアドレスフラグ記憶部15に送信する。
書き込みアドレスフラグ記憶部13は、DDRのRowアドレス数に相当するW個のフラグFac1[ad](0≦ad≦W−1)を格納することが可能なフラグ格納部13aを有し、1回目の書き込みアクセスがあったRowアドレスに対応するフラグFac1[ad]を立てて記憶する。
1/2リフレッシュ期間計測カウンタ14は、リフレッシュ期間Trefの1/2期間である1/2リフレッシュ期間Tref/2を計測し、カウントを行う。
R/Wアドレスフラグ記憶部15は、DDRのRowアドレスワード数に相当するW個のフラグFac2[ad](0≦ad≦W−1)を格納することが可能な第1フラグ格納部15aおよび第2フラグ格納部15bを有する。R/Wアドレスフラグ記憶部15は、この第1フラグ格納部15aと第2フラグ格納部15bとを、1/2リフレッシュ期間Tref/2ごとにフラグ読み出し側とフラグ書き込み側とに切り替える。そして、Rowアドレス単位で2回目以降の書き込みアクセスがあったときは、フラグ書き込み側になっているフラグ格納部の対応するRowアドレスのフラグFac2[ad]を立てて記憶する。
ここで、第1フラグ格納部15aまたは第2フラグ格納部15bをフラグ読み出し側からフラグ書き込み側に切り替えるときは、それまで読み出し側であったフラグ記憶部に格納されているフラグデータを一旦初期化する。
フラグ読み出し部16は、書き込みアドレスフラグ記憶部13に格納されているフラグのデータ、および、R/Wアドレスフラグ記憶部15のフラグ読み出し側になっている第1フラグ格納部15aまたは第2フラグ格納部15bに格納されているフラグのデータをアドレス順に読み出す。そして、読み出したフラグのデータからリフレッシュが必要なアドレスを抽出する。
コマンド埋め込み部17は、フラグ読み出し部16で抽出されたリフレッシュが必要なアドレスのリフレッシュ処理のコマンドを、アクセスコマンド生成部11から送信された通常のメモリアクセス処理のコマンドシーケンスに埋め込んで多重化する。
次に、本実施形態におけるメモリ制御装置1の動作を図2のフローチャートを参照して説明する。
まず、初期化されたDDRにおいて(S1)、通常のDDRへの読み出し/書き込みのアクセスがあったときは(S2の「Yes」)、アクセスコマンド生成部11でこの読み出し/書き込みアクセスに関するコマンドR/W[ad]が生成される(S3)。生成されたコマンドR/W[ad]はアドレスデコード部12に送信され、DDRのRowアドレスがデコードされる(S4)。
そして、アドレスデコード部12では、このアクセスが各Rowアドレスに対して1回目の書き込みアクセスであったときは(S5の「Yes」)、デコードされたRowアドレスが書き込みアドレスフラグ記憶部13に送信される。また、2回目以降の書き込みアクセスであったときは、デコードされたRowアドレスがR/Wアドレスフラグ記憶部15に送信される。
書き込みアドレスフラグ記憶部13では、1回目の書き込みアクセスのRowアドレスが受信されたときは、このRowアドレスに対応するフラグ格納部13aのフラグFac1[ad]が立てられて記憶される(S6)。また、R/Wアドレスフラグ記憶部15では、2回目以降の書き込みアクセスのRowアドレスが受信されたときは、このRowアドレスに対応するフラグFac2[ad]が立てられて記憶される(S7)。
このR/Wアドレスフラグ記憶部15の動作について説明する。R/Wアドレスフラグ記憶部15では、1/2リフレッシュ期間計測カウンタ14により、1/2リフレッシュ期間Tref/2がカウントされる。
また、R/Wアドレスフラグ記憶部15は、第1フラグ格納部15aおよび第2フラグ格納部15bから構成され、1/2リフレッシュ期間Tref/2ごとにこの第1フラグ格納部15aと第2フラグ格納部15bとがフラグ読み出し側とフラグ書き込み側とに切り替えられる。そして、R/Wアドレスフラグ記憶部15で2回目以降の書き込みアクセスが行われたRowアドレスが受信されたときは(S5の「No」)、フラグ書き込み側になっている第1フラグ格納部15aまたは第2フラグ格納部15bのフラグFac2[ad]が立てられ記憶される(S7)。
ここで、第1フラグ格納部15aまたは第2フラグ格納部15bがフラグ読み出し側からフラグ書き込み側に切り替えられるときは、それまで読み出し側であった第1フラグ格納部15aまたは第2フラグ格納部15bに格納されていたフラグデータは一旦初期化される。
以上の処理が1/2リフレッシュ期間繰り返される(S8の「No」)。そして、1/2リフレッシュ期間経過ごとに(S8の「Yes」)、フラグ読み出し部16において書き込みアドレスフラグ記憶部13のフラグ格納部13aに格納されているフラグFac1と、R/Wアドレスフラグ記憶部15のフラグ読み出し側になっている第1フラグ格納部15aまたは第2フラグ格納部15bに格納されているフラグFac2とがアドレス順に読み出される(S9)。そして、読み出されたフラグFac1およびフラグFac2のデータからリフレッシュが必要なアドレスが抽出される。
フラグ読み出し部16においてリフレッシュが必要なアドレスが抽出される動作について説明する。
まず、書き込みアドレスフラグ記憶部13に格納されているフラグFac1が順にFac1[0]から読み出され(S10)、Rowアドレスごとに書き込みアクセスがあったかどうかが判断される。ここでフラグFac1[0]が立っていれば(S11の「Yes」)、1回目のアクセスがあったと判断される。
読み出されたフラグFac1[0]のデータから1回目の書き込みアクセス履歴がないと判断されたアドレスは(S11の「No」)リフレッシュ処理不要と判断される(S12)。そして、フラグFac1[W-1]になるまで(S13の「No」)順次アドレスのフラグFac1[ad]のデータが読み出され、リフレッシュ処理が必要がどうか判断される(S14)。
また、読み出されたフラグFac1[0]が立っている場合(S11の「Yes」)、つまり書き込みアクセス履歴があったと判断された場合は、R/Wアドレスフラグ記憶部15のフラグ読み出し側になっている第1フラグ格納部15aまたは第2フラグ格納部15bのフラグFac1[0]に対応するアドレスに格納されているフラグFac2[0]のデータが読み出される。読み出されたフラグFac2[0]が立っている場合は(S15の「No」)、1/2リフレッシュ期間Tref/2内に通常のメモリアクセス処理が行われておりリフレッシュ処理は不要と判断される(S12)。そして、順次アドレスのフラグFac1[ad]のデータが読み出され、リフレッシュ処理が必要がどうか判断される(S13、S14)。
また、フラグFac1[0]が立っていてこれに対応するFac2[0]が立っていない場合は(S15の「Yes」)リフレッシュ処理が必要なアドレスと判断され(S16)、リフレッシュ処理用コマンドが生成される(S17)。
このとき、リフレッシュ処理を一括して行う通常のリフレッシュコマンドによるリフレッシュ処理ではなく、アクティベイトとアクセス処理とプリチャージとから構成されるメモリアクセス処理と同様の処理が利用されて行われる。このうち、実際には前処理であるアクティベイトと後処理であるプリチャージが行われればリフレッシュ処理は有効であり、さらにこのアクティベイトのコマンドとプリチャージのコマンドとの間には別バンクのコマンドを埋め込むことが可能である。
コマンド埋め込み部17ではこの別バンクのコマンドを埋め込む処理を利用して、アクセスコマンド生成部11から送信される通常のメモリアクセス処理とこのリフレッシュ処理とが多重化される(S18)。
このリフレッシュ用コマンドの埋め込み処理について図3を参照して説明する。ここでは、通常の読み出しアクセス処理であるアクティベイトコマンドとリードコマンドとプリチャージコマンドとからなるコマンドシーケンスにリフレッシュ処理のアクティベイトコマンドとプリチャージコマンドとが埋め込まれ、多重化が行われる場合について説明する。
前述したように、リフレッシュ処理(a)としてリフレッシュアドレスへのアクティベイトおよびプリチャージが行われる。通常の読み出し処理(b)は、リードアクセスがあったアドレスへのアクティベイトと、このアクティベイトが有効なアドレス区間の読み出しと、プリチャージとが行われる。このリフレッシュ処理(a)と通常の読み出し処理(b)とはバンクが異なれば多重化処理(c)が可能であり、図3に示すように通常の読み出し処理(b)のコマンドシーケンスにリフレッシュ処理(a)のコマンドが埋め込まれる。
この多重化処理により、アクセスアドレスの分布が一定であれば、4バンクのDDRの場合、75%のリフレッシュ動作がオーバーヘッドなしで処理が可能である。
このようにしてリフレッシュ処理が行われると、このRowアドレスに対するフラグFac2[0]が立てられ、次の1/2リフレッシュ期間Tref/2ではこのRowアドレスはリフレッシュ処理が不要と判断される。以上のメモリ制御処理はDDRが初期化されるまで繰り返される(S18の「No」)。
以上の第一実施形態によれば、一定期間内にアクセスされリフレッシュが不要なアドレスが除外されてリフレッシュ処理が行われ、さらにDDRの記憶保持のための処理としてリフレッシュコマンドによるリフレッシュ処理ではなく通常のメモリアクセスと同様の処理を用いるため、リフレッシュ処理以外の通常のメモリアクセス処理と重なった場合にもこれらの処理を多重化して処理時間を短縮することができ、バンド幅の低下を有効に回避させることが可能である。
また、フラグ読み出し処理を1/2リフレッシュ期間Tref/2ごとに行うため、未リフレッシュ処理による記憶保持データの破綻を回避することができる。
本実施形態においては、アクセス処理またはリフレッシュ処理が行われたメモリのアドレスを検出する手段としてフラグを用いているがこれには限定されず、これらの処理が行われたアドレスが検出できる方法、例えばそのアドレスをそのまま記憶する方法などでもよい。
〈第二実施形態〉
本発明の第二実施形態におけるメモリ制御装置20の構成を図4を参照して説明する。
本発明の第二実施形態におけるメモリ制御装置20の構成を図4を参照して説明する。
本実施形態におけるメモリ制御装置20はメモリであるDDRを制御し、アクセスコマンド生成部11と、アドレスデコード部12と、期間計測カウンタ21と、リフレッシュ回数カウント部18と、リフレッシュアドレス選択部19と、コマンド埋め込み部17とを有する。これらのうち、アクセスコマンド生成部11、アドレスデコード部12、およびコマンド埋め込み部17の機能については第一実施形態と同様であるため説明を省略する。
期間計測カウンタ21は、DDRのリフレッシュ期間をTrefとし、DDRのRowアドレス数をW個としたとき、Tref/Wを処理期間として計測する。
リフレッシュ回数カウント部18は、バンク数に相当する数のリフレッシュ回数カウンタを有する。このリフレッシュ回数カウンタは、バンク内のアドレスにおけるリフレッシュ処理回数をカウントし、DDRのバンク数をB個としたとき0〜W/B-1までカウントした後、また0に戻るリングカウンタである。本実施形態においてはバンク数BはBank0〜Bank4の4個であり、リフレッシュ回数カウント部18はこのバンクBank0〜Bank4にそれぞれ対応しているBank0リフレッシュ回数カウンタ18a、Bank1リフレッシュ回数カウンタ18b、Bank2リフレッシュ回数カウンタ18c、および、Bank3リフレッシュ回数カウンタ18dの4個のリフレッシュ回数カウンタを有する。
リフレッシュアドレス選択部19は、バンクBank0〜Bank4のうち、現在処理中のメモリアクセス処理バンクと異なり、且つ対応するリフレッシュ回数カウンタ値が最小のバンクを選択する。そして、この選択されたバンク内の次のリフレッシュ対象アドレスをこの装置の次のリフレッシュ対象アドレスとして選定し、この選定したアドレスのリフレッシュ用コマンドを発行する。
次に、本実施形態におけるメモリ制御装置20の動作を図5のフローチャートを参照して説明する。
まず、初期化されたDDRにおいて(S21)、通常のDDRへの読み出し/書き込みのアクセスがあったときは(S22の「Yes」)、アクセスコマンド生成部11でこの読み出し/書き込みアクセスに関するコマンドR/W[ad]が生成される(S23)。生成されたコマンドR/W[ad]はアドレスデコード部12に送信されてDDRのRowアドレスがデコードされる。(S24)。
次に、リフレッシュアドレス選択部19において、このデコードされたRowアドレスおよび各リフレッシュ回数カウンタ18a〜18dの値を基に次に処理されるリフレッシュ対象アドレスが選択される(S25)。
このリフレッシュ対象アドレスの選択処理について説明する。
リフレッシュアドレス選択部19では、アドレスデコード部12から通常のメモリアクセス処理に用いられているRowアドレスが受信されてこのRowアドレスが該当するバンクが求められる。
さらにリフレッシュアドレス選択部19では、この求められたバンクと異なり、且つ期間計測カウンタ21でカウントされる処理期間Tref/Wごとに更新されるリフレッシュ回数カウンタ18a〜18dの値が最小のリフレッシュ回数カウンタに対応するバンクが求められる。
そして、この選択されたバンクにおける次のリフレッシュ対象アドレスがこの装置の次のリフレッシュ対象アドレスとして選定され、リフレッシュアドレス選択部19でリフレッシュ用のコマンドが発行される。
発行されたリフレッシュ用コマンドはコマンド埋め込み部17に送信され、通常のメモリアクセス処理コマンドシーケンスの中に埋め込まれる(S26)とともに、該当するバンクのリフレッシュ回数カウンタに送信され、該当するリフレッシュ回数カウンタが更新される(S27)。
コマンド埋め込み部17の動作について図6を参照して説明する。コマンド埋め込み部17において、(a)と(b)とが同一バンクであり多重化することができないときは(c)に示すように処理が行われ、通常のメモリアクセス処理(b)のプリチャージ後、さらにアクティビティ禁止期間Trpが経過してからリフレッシュアドレスへのアクティベイトが行われる。そしてこのリフレッシュアドレスへのアクティベイトの後はさらにプリチャージ禁止期間Trasが経過してからリフレッシュアドレスへのプリチャージが行われる。
しかし、本実施形態においては(a)と(b)とが異なるバンクであるため、第一実施形態と同様の方法で(d)に示されるようにリフレッシュ用処理(a)コマンドが通常のメモリアクセス処理(b)コマンドに埋め込まれ、多重化される。この多重化された(c)の処理時間は、多重化されない(d)の処理時間に比べ、有効に短縮される。
上記のメモリ制御処理はDDRが初期化されるまで繰り返される(S28の「No」)。
以上の第二実施形態によれば、現在処理中のバンクと異なるバンクを選択してコマンドの埋め込み処理を行うため、さらに高い精度で処理を多重化して処理時間を短縮することができ、バンド幅の低下を有効に回避させることが可能である。
また、第一実施形態および第二実施形態においては、メモリとしてDDR SDRAMを使用した例を示したがこれには限定されず、リフレッシュ処理を必要とするDRAMであれば適用可能である。
ここで、上記した第一実施形態と第二実施形態との効果の違いについて説明する。即ち、第一実施形態の効果は、有効になる確率はアクセスアドレスの順番に依存しており、アクセスアドレスの分布が一定の場合、約75%の確率で有効になることを見込むことができる程度の効果である。これに対して、第二実施形態の効果は、アクセスアドレスに依らず、ほぼ100%の確率で有効になるという効果がある。
10…メモリ制御装置
20…メモリ制御装置
11…アクセスコマンド生成部
12…アドレスデコード部
13…アドレスフラグ記憶部
13a…フラグ格納部
14…1/2リフレッシュ期間計測カウンタ
15…アドレスフラグ記憶部
15a…第1フラグ格納部
15b…第2フラグ格納部
16…フラグ読み出し部
17…コマンド埋め込み部
18…リフレッシュ回数カウント部
18a…Bank1リフレッシュ回数カウンタ
18b…Bank2リフレッシュ回数カウンタ
18c…Bank3リフレッシュ回数カウンタ
18d…Bank4リフレッシュ回数カウンタ
19…リフレッシュアドレス選択部
21…期間計測カウンタ
20…メモリ制御装置
11…アクセスコマンド生成部
12…アドレスデコード部
13…アドレスフラグ記憶部
13a…フラグ格納部
14…1/2リフレッシュ期間計測カウンタ
15…アドレスフラグ記憶部
15a…第1フラグ格納部
15b…第2フラグ格納部
16…フラグ読み出し部
17…コマンド埋め込み部
18…リフレッシュ回数カウント部
18a…Bank1リフレッシュ回数カウンタ
18b…Bank2リフレッシュ回数カウンタ
18c…Bank3リフレッシュ回数カウンタ
18d…Bank4リフレッシュ回数カウンタ
19…リフレッシュアドレス選択部
21…期間計測カウンタ
Claims (4)
- データを入出力するアクセス処理を行うとともに、入力されたデータに予め設定されたリフレッシュ処理間隔でメモリに対するリフレッシュ処理を行うメモリ制御装置であって、
前記アクセス処理が発生したときにこのアクセス処理のコマンドシーケンスを生成するコマンド生成部と、
前記リフレッシュ処理間隔から算出される処理期間を計測する処理期間計測部と、
前記アクセス処理および前記リフレッシュ処理が行われたメモリのアドレスをデータとして記憶する記憶部と、
前記処理期間ごとに、前記記憶部のデータを読み出し、このデータを基にリフレッシュ処理が必要なアドレスを選択し、この選択したアドレスのリフレッシュ処理コマンドを生成する読み出し部と、
前記リフレッシュ処理コマンドを前記アクセス処理コマンドシーケンスに埋め込む埋め込み部と、
を備えることを特徴とするメモリ制御装置。 - データを入出力するアクセス処理を行うとともに、入力されたデータに予め設定されたリフレッシュ処理間隔でリフレッシュ処理を行い、複数のバンクを有するメモリを制御するメモリ制御装置であって、
前記アクセス処理が発生したときにこのアクセス処理のコマンドシーケンスを生成するコマンド生成部と、
前記リフレッシュ処理間隔から算出される処理期間を計測する処理期間計測部と、
前記複数のバンクにそれぞれ対応し、前記処理期間ごとに前記対応するバンク内のアドレスのリフレッシュ回数を計数する複数のリフレッシュ回数カウンタと、
前記アクセス処理されたアドレスのバンクと異なり且つ計数されたリフレッシュ回数値が最小のリフレッシュ回数カウンタに対応するバンクを選択し、このバンクにおける次のリフレッシュ処理アドレスを選定してこのアドレスのリフレッシュ処理コマンドを生成する選択部と、
前記リフレッシュ処理コマンドを前記アクセス処理コマンドシーケンスに埋め込む埋め込み部と、
を備えることを特徴とするメモリ制御装置。 - データを入出力するアクセス処理を行うとともに、入力されたデータに予め設定されたリフレッシュ処理間隔でメモリに対するリフレッシュ処理を行うメモリ制御方法であって、
前記アクセス処理が発生したときにこのアクセス処理のコマンドシーケンスを生成するステップと、
前記リフレッシュ処理間隔から算出される処理期間を計測するステップと、
前記アクセス処理および前記リフレッシュ処理が行われたメモリのアドレスをデータとして記憶するステップと、
前記処理期間ごとに、前記記憶されたデータを読み出し、このデータを基にリフレッシュ処理が必要なアドレスを選択し、この選択したアドレスのリフレッシュ処理コマンドを生成するステップと、
前記リフレッシュ処理コマンドを前記アクセス処理コマンドシーケンスに埋め込むステップと、
を備えることを特徴とするメモリ制御方法。 - データを入出力するアクセス処理を行うとともに、入力されたデータに予め設定されたリフレッシュ処理間隔でリフレッシュ処理を行い、複数のバンクを有するメモリを制御するメモリ制御方法であって、
前記アクセス処理が発生したときにこのアクセス処理のコマンドシーケンスを生成するステップと、
前記リフレッシュ処理間隔から算出される処理期間を計測するステップと、
前記複数のバンクにそれぞれ対応する複数のリフレッシュ回数カウンタにより、前記処理期間ごとに前記対応するバンク内のアドレスのリフレッシュ回数を計数するステップと、
前記アクセス処理されたアドレスのバンクと異なり且つ計数されたリフレッシュ回数値が最小のリフレッシュ回数カウンタに対応するバンクを選択し、このバンクにおける次のリフレッシュ処理アドレスを選定してこのアドレスのリフレッシュ処理コマンドを生成するステップと、
前記リフレッシュ処理コマンドを前記アクセス処理コマンドシーケンスに埋め込むステップと、
を備えることを特徴とするメモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005089489A JP2006269029A (ja) | 2005-03-25 | 2005-03-25 | メモリ制御装置およびメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005089489A JP2006269029A (ja) | 2005-03-25 | 2005-03-25 | メモリ制御装置およびメモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006269029A true JP2006269029A (ja) | 2006-10-05 |
Family
ID=37204801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005089489A Pending JP2006269029A (ja) | 2005-03-25 | 2005-03-25 | メモリ制御装置およびメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006269029A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009043337A (ja) * | 2007-08-08 | 2009-02-26 | Hitachi Ltd | 情報記録再生装置及びメモリ制御方法 |
JP2011018427A (ja) * | 2009-07-10 | 2011-01-27 | Renesas Electronics Corp | 半導体記憶装置 |
WO2012074724A1 (en) * | 2010-12-03 | 2012-06-07 | Rambus Inc. | Memory refresh method and devices |
-
2005
- 2005-03-25 JP JP2005089489A patent/JP2006269029A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009043337A (ja) * | 2007-08-08 | 2009-02-26 | Hitachi Ltd | 情報記録再生装置及びメモリ制御方法 |
JP2011018427A (ja) * | 2009-07-10 | 2011-01-27 | Renesas Electronics Corp | 半導体記憶装置 |
WO2012074724A1 (en) * | 2010-12-03 | 2012-06-07 | Rambus Inc. | Memory refresh method and devices |
US9286965B2 (en) | 2010-12-03 | 2016-03-15 | Rambus Inc. | Memory refresh method and devices |
US9570144B2 (en) | 2010-12-03 | 2017-02-14 | Rambus Inc. | Memory refresh method and devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109727624B (zh) | 具有双单元模式的存储器件及其刷新方法 | |
KR100608370B1 (ko) | 메모리 장치의 리프레쉬 수행 방법 | |
US6879536B2 (en) | Semiconductor memory device and system outputting refresh flag | |
CN105654983B (zh) | 半导体器件及包括半导体器件的存储系统 | |
US20080212386A1 (en) | Semiconductor memory device, semiconductor device, memory system and refresh control method | |
KR100992470B1 (ko) | 반도체 메모리 및 시스템 | |
JPH11312386A (ja) | Dramチップ | |
US20110194358A1 (en) | Semiconductor memory device using internal high power supply voltage in self-refresh operation mode and related method of operation | |
US9129704B2 (en) | Semiconductor memory devices and semiconductor systems including the same | |
TW584857B (en) | Semiconductor memory | |
JP2008084426A (ja) | 半導体メモリおよびシステム | |
KR20120012056A (ko) | 메모리장치 | |
US7180806B2 (en) | Memory device, refresh control circuit to be used for the memory device, and refresh method | |
CN101169967A (zh) | 低功率动态随机存取存储器及其驱动方法 | |
KR20170130402A (ko) | 저장 엘리먼트들을 리프레시하는 시스템들 및 방법들 | |
KR102389232B1 (ko) | 메모리 장치 및 이를 포함하는 시스템 | |
JP2006269029A (ja) | メモリ制御装置およびメモリ制御方法 | |
US7263021B2 (en) | Refresh circuit for use in semiconductor memory device and operation method thereof | |
KR100631165B1 (ko) | 칩 면적을 줄인 반도체메모리소자 및 그의 구동방법 | |
US7167407B2 (en) | Dynamic semiconductor memory device and power saving mode of operation method of the same | |
JPH11339469A (ja) | 半導体記憶装置 | |
WO2009093548A1 (ja) | 半導体記憶装置 | |
JP4561089B2 (ja) | 記憶装置 | |
KR100286346B1 (ko) | 에스디램의 리프레쉬 회로 | |
KR20040029536A (ko) | 네트워크 상 높은 버스 효율을 갖는 메모리 장치 및 그동작 방법, 그리고 이를 포함하는 메모리 시스템 |