(58)【調査した分野】(Int.Cl.,DB名)
前記ロウアドレス選択部は、前記n個のロウアドレスのうちアクセス頻度が所定の低頻度条件を満たす1つを選択することを特徴とする請求項2または請求項3に記載のアクセス回数カウント装置。
前記m組のうちの1つの組における前記ロウアドレス選択部は、前記選択条件として所定の低頻度条件を適用し、他の組における前記ロウアドレス選択部は、前記選択条件として所定の高頻度条件を適用することを特徴とする請求項5に記載のアクセス回数カウント装置。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0019】
(第1の実施の形態)
本発明の第1の実施の形態としてのメモリシステム1の構成を
図1に示す。
図1において、メモリシステム1は、アクセス回数カウント装置10と、メモリセルアレイ30とを備える。メモリセルアレイ30は、ロウアドレスおよびカラムアドレスにより特定されるメモリセルからなる。上位装置は、ロウアドレスおよびカラムアドレスを指定することによりメモリセルにアクセスする。アクセス回数カウント装置10は、上位装置からメモリセルアレイ30へのアクセスにおいて指定されるロウアドレスを、入力として取得するよう構成される。
【0020】
ここで、アクセス回数カウント装置10の機能ブロック構成を
図2に示す。
図2において、アクセス回数カウント装置10は、ロウアドレス格納部11と、カウント部12と、ロウアドレス選択部13と、リセット制御部14と、集中アクセス検出部15とを含む。
【0021】
ロウアドレス格納部11は、メモリセルに対するアクセスにおいて指定されるロウアドレスを所定数n個まで格納する。ここで、nは、1以上の整数である。また、nは、ロウアドレスの本数より少ない整数であることが望ましい。例えば、nは、リフレッシュ間隔、アクセスサイクルおよび許容アクセス回数に基づく値であってもよい。例えば、nは、次式(1)により求められる。
【0022】
n=[(リフレッシュ間隔÷アクセスサイクル)÷許容アクセス回数]・・・(1)
ここで[X]は、Xを超えない最大の整数を表す。また、(リフレッシュ間隔÷アクセスサイクル)は、リフレッシュ間隔の間に発生するアクセス回数を表す。また、許容アクセス回数とは、1本のロウアドレスについて、隣接ロウアドレスにおいてデータ化けを起こさないために許容される最大のアクセス回数であり、あらかじめ定められる。式(1)により求められる所定数nは、リフレッシュ間隔の間に、許容アクセス回数に達するロウアドレスの最大本数に相当する。
【0023】
具体的には、例えば、リフレッシュ間隔が64ms(ミリ秒)であり、アクセスサイクルが50ns(ナノ秒)であり、許容アクセス回数が200,000回と定められているとする。この場合、リフレッシュ間隔の間に発生するアクセス回数は、64(ms)/50(ns)=1,280,000回である。この場合、式(1)を用いて、所定数nは、[1,280,000/200,000]=[6.4]=6となる。
【0024】
カウント部12は、ロウアドレス格納部11に格納された各ロウアドレスについてアクセス頻度をカウントする。つまり、カウント部12は、最大でn個のロウアドレスについて、それぞれアクセス頻度をカウントする。
【0025】
ロウアドレス選択部13は、ロウアドレス格納部11に格納されているn個のロウアドレス以外の新たなロウアドレスが指定されるアクセスが発生した場合、それらn個のロウアドレスのうちの1つをアクセス頻度に基づき選択する。例えば、ロウアドレス選択部13は、アクセス頻度が所定の低頻度条件を満たすロウアドレスを選択してもよい。所定の低頻度条件とは、例えば、アクセス頻度が最も小さいという条件であってもよい。
【0026】
リセット制御部14は、ロウアドレス選択部13によって選択されたロウアドレスについて、そのロウアドレスに置換して新たなロウアドレスを格納するようロウアドレス格納部11に通知する。また、リセット制御部14は、アクセス頻度が上述の許容アクセス回数に達したロウアドレスについて、そのロウアドレスを破棄するようロウアドレス格納部11に通知する。また、リセット制御部14は、置換または破棄したロウアドレスについてのアクセス頻度をリセットするよう、カウント部12に通知する。
【0027】
また、リセット制御部14は、リフレッシュ間隔として規定された時間が経過してリフレッシュが実行されると、格納されている各ロウアドレスを全てリセット(破棄)するようロウアドレス格納部11に通知する。また、リセット制御部14は、保持されている各カウンタ値を全てリセットして0にするようカウント部12に通知する。
【0028】
集中アクセス検出部15は、アクセス頻度が上述の許容アクセス回数に達したロウアドレスを検出する。例えば、集中アクセス検出部15は、検出したロウアドレスを外部に出力してもよい。また、例えば、集中アクセス検出部15は、検出したロウアドレスの隣接ロウアドレスに対してリフレッシュを発行してもよい。
【0029】
以上のように構成されたアクセス回数カウント装置10の動作について、図面を参照して説明する。
【0030】
まず、アクセス回数カウント装置10におけるリフレッシュ間隔毎のリセット動作を
図3に示す。
【0031】
図3にでは、まず、リセット制御部14は、前回のリフレッシュ動作から所定のリフレッシュ間隔の期間が経過したか否かを判定する(ステップS1)。
【0032】
ここで、所定のリフレッシュ間隔の期間が経過した場合、リセット制御部14は、ロウアドレス格納部11に対して、格納している各ロウアドレスをリセット(破棄)するよう通知する。また、リセット制御部14は、カウント部12に対して、保持している各カウンタ値をリセットして0にするよう通知する(ステップS2)。
【0033】
以上で、アクセス回数カウント装置10は、リフレッシュ間隔毎のリセット動作を終了する。
【0034】
次に、アクセス回数カウント装置10における入力ロウアドレスの格納動作を
図4に示す。
【0035】
図4では、まず、アクセス回数カウント装置10には、メモリセルに対するアクセスで指定されるロウアドレスが入力される(ステップS11)。
【0036】
ここで、入力されたロウアドレスが、ロウアドレス格納部11に既に格納されているロウアドレスのいずれとも等しくなく(ステップS12でNo)、ロウアドレス格納部11に格納されているロウアドレスの個数がn個未満である(ステップS13でNo)場合について説明する。
【0037】
この場合、ロウアドレス格納部11は、入力されたロウアドレスを格納する(ステップS14)。また、この場合、カウント部12は、入力されたロウアドレスについてアクセス頻度を1つカウントアップして1とする(ステップS15)。
【0038】
一方、入力されたロウアドレスが、ロウアドレス格納部11に既に格納されているロウアドレスのいずれかと等しい(ステップS12でYes)場合について説明する。
【0039】
この場合、カウント部12は、入力されたロウアドレスについてアクセス頻度を1つカウントアップする(ステップS15)。
【0040】
また、入力されたロウアドレスが、ロウアドレス格納部11に既に格納されているロウアドレスのいずれとも等しくなく(ステップS12でNo)、ロウアドレス格納部11に格納されているロウアドレスの個数がn個である(ステップS13でYes)場合について説明する。
【0041】
この場合、ロウアドレス選択部13は、カウント部12に格納されているn個のアクセス頻度を比較することにより、ロウアドレス格納部11に格納されているn個のロウアドレスのいずれかを選択する(ステップS16)。例えば、前述のように、ロウアドレス選択部13は、カウント部12に格納されているn個のアクセス頻度のうち所定の低頻度条件を満たすものに対応するロウアドレスを選択してもよい。
【0042】
次に、リセット制御部14は、選択されたロウアドレスに置換して新たなロウアドレスを格納するよう、ロウアドレス格納部11に通知する(ステップS17)。これにより、ロウアドレス格納部11には、ステップS11で入力されたロウアドレスが格納される。
【0043】
次に、リセット制御部14は、ステップS17で置換したロウアドレスについてのアクセス頻度をリセットするようカウント部12に通知する(ステップS18)。
【0044】
次に、カウント部12は、入力されたロウアドレスについてアクセス頻度を1つカウントアップする(ステップS15)。
【0045】
以上で、アクセス回数カウント装置10は、入力ロウアドレスの格納動作を終了する。
【0046】
次に、アクセス回数カウント装置10における集中アクセス検出動作を
図5に示す。
【0047】
図5では、まず、カウント部12においてカウントされるアクセス頻度が許容アクセス回数に達すると(ステップS31でYes)、集中アクセス検出部15は、そのアクセス頻度に対応するロウアドレスを検出して出力する(ステップS32)。
【0048】
次に、リセット制御部14は、アクセス頻度が許容アクセス回数に達したロウアドレスを破棄するようロウアドレス格納部11に通知する(ステップS33)。
【0049】
次に、リセット制御部14は、ステップS33で破棄したロウアドレスについてのアクセス頻度をリセットするようカウント部12に通知する(ステップS34)。
【0050】
以上で、アクセス回数カウント装置10は、動作を終了する。
【0051】
次に、アクセス回数カウント装置10の実装構成の一例を
図6に示す。
【0052】
図6において、アクセス回数カウント装置10は、レジスタ101_1〜101_nと、コンパレータ102_1〜102_nと、カウンタ103_1〜103_nとを含む。また、アクセス回数カウント装置10は、カウンタ値比較回路104と、レジスタ番号発生回路105と、隣接アドレス発生回路106と、リフレッシュコマンド発生回路107とを含む。ここで、レジスタ101_1〜101_nおよびコンパレータ102_1〜102_nは、ロウアドレス格納部11の一実施形態を構成する。また、カウンタ103_1〜103_nは、カウント部12の一実施形態を構成する。また、カウンタ値比較回路104は、ロウアドレス選択部13の一実施形態を構成する。また、レジスタ番号発生回路105は、リセット制御部14の一実施形態を構成する。また、隣接アドレス発生回路106およびリフレッシュコマンド発生回路107は、集中アクセス検出部15の一実施形態を構成する。なお、以降、レジスタ101_1〜101_nを、総称してレジスタ101とも記載する。また、各レジスタ101を、レジスタ101_iとも記載する。また、以降、コンパレータ102_1〜102_nを、総称してコンパレータ102とも記載する。また、各コンパレータ102を、コンパレータ102_iとも記載する。また、以降、カウンタ103_1〜103_nを、総称してカウンタ103とも記載する。また、各カウンタ103を、カウンタ103_iとも記載する。
【0053】
レジスタ101_iは、イネーブル信号が入力されると、外部から入力されるロウアドレスを格納する。また、レジスタ101_iは、リセット信号が入力されると、格納しているロウアドレスを破棄する。また、レジスタ101_iは、格納しているロウアドレスを、隣接アドレス発生回路106に出力する。
【0054】
コンパレータ102_iは、外部から入力されるロウアドレスと、対応するレジスタ101_iに格納されているロウアドレスとを比較し、一致または不一致を表すマッチ信号を、対応するレジスタ101_i、カウンタ103_iおよびカウンタ値比較回路104に出力する。
【0055】
カウンタ103_iは、リセットされた状態では0のカウンタ値を保持している。また、カウンタ103_iは、対応するコンパレータ102_iから一致を表すマッチ信号が入力されると、カウンタ値を1つカウントアップする。また、カウンタ103_iは、カウンタ値をカウンタ値比較回路104に出力する。また、カウンタ103_iは、入力ピン等により、外部から許容アクセス回数が設定可能となっている。また、カウンタ103_iは、カウンタ値が許容アクセス回数に達すると、最大到達信号を、レジスタ番号発生回路105および隣接アドレス発生回路106に出力する。また、カウンタ103_iは、リセット信号が入力されると、カウンタ値を0にリセットする。
【0056】
カウンタ値比較回路104は、全てのコンパレータ102_1〜102_nから不一致を表すマッチ信号が入力されると、カウンタ103_1〜103_nから入力されるカウンタ値を比較して、最小のものを1つ選択する。そして、カウンタ値比較回路104は、選択したカウンタ値の入力元であるカウンタ103_iの番号iを示す選択信号をレジスタ番号発生回路105に出力する。
【0057】
レジスタ番号発生回路105は、カウンタ値比較回路104から選択信号が入力されると、選択信号の示す番号iのレジスタ101_iに対して、イネーブル信号を出力する。また、レジスタ番号発生回路105は、選択信号の示す番号iのカウンタ103_iに対して、リセット信号を出力する。また、レジスタ番号発生回路105は、カウンタ103_iから最大到達信号が入力されると、対応するレジスタ101_iおよびカウンタ103_iに対して、リセット信号を出力する。
【0058】
隣接アドレス発生回路106は、カウンタ103_iから最大到達信号が入力されると、対応するレジスタ101_iから入力されるロウアドレスを用いて、その隣接ロウアドレスを算出する。そして、隣接アドレス発生回路106は、算出した隣接ロウアドレスを、リフレッシュコマンド発生回路107に出力する。
【0059】
リフレッシュコマンド発生回路107は、隣接ロウアドレスが入力されると、その隣接ロウアドレスに対するリフレッシュコマンドを発生する。
【0060】
以上に説明したアクセス回数カウント装置10の動作を具体例で説明する。なお、以下の具体的な動作の開始時において、レジスタ101_1〜101_nにはロウアドレスが格納されていないものとする。
【0061】
まず、アクセス回数カウント装置10に、ロウアドレス1が入力されたとする(ステップS11)。この場合、コンパレータ102_1〜102_nは、いずれもロウアドレス1を格納していないので、不一致を示すマッチ信号を出力する。そして、カウンタ値比較回路104は、カウンタ103_1〜103_nから入力されるカウンタ値を比較して最小のものを1つ選択する。ここでは、全てのカウンタ値が0であるため、そのうちの1つであるカウンタ103_1からのカウンタ値を選択したものとする。そして、レジスタ番号発生回路105は、選択したカウンタ値に対応するレジスタ101_1に対してイネーブル信号を出力し、カウンタ103_1に対してリセット信号を出力する。これにより、レジスタ101_1は、ロウアドレス1を格納する(ステップS12でNo、ステップS13でNo、ステップS14)。
【0062】
次に、コンパレータ102_1は、入力されたロウアドレス1と、レジスタ101_1に格納されたロウアドレス1とを比較し、一致を示すマッチ信号を、カウンタ103_1に出力する。これにより、カウンタ103_1は、カウンタ値を1にカウントアップする(ステップS15)。
【0063】
次に、アクセス回数カウント装置10に、ロウアドレス2〜nが順次入力されたとする。この場合、アクセス回数カウント装置10は、ロウアドレス1が入力された場合と略同様に動作する。その結果、レジスタ101_2〜101_nは、ロウアドレス2〜nをそれぞれ格納する。また、カウンタ103_2〜103_2は、それぞれカウンタ値1を格納する。
【0064】
次に、アクセス回数カウント装置10に、ロウアドレス2が入力されたとする。この場合、コンパレータ102_2は、入力されたロウアドレス2と、対応するレジスタ101_2に格納しているロウアドレス2とを比較し、一致を示すマッチ信号をカウンタ103_2に出力する。これにより、カウンタ103_2は、カウンタ値を2にカウントアップする。
【0065】
その後、ロウアドレス1〜nのいずれかが順次入力されると、アクセス回数カウント装置10は、上記と略同様に動作する。これにより、カウンタ103_1〜103_nは、それぞれのカウンタ値をカウントアップして保持する。
【0066】
次に、アクセス回数カウント装置10に、ロウアドレス1〜n以外のロウアドレスnewが入力されたとする。この場合、コンパレータ102_1〜102_nは、いずれもロウアドレスnewを格納していないので、不一致を示すマッチ信号を出力する。そして、カウンタ値比較回路104は、カウンタ103_1〜103_nから入力されるカウンタ値を比較して最小のものを1つ選択する。ここでは、最小のカウンタ値を有するカウンタ103_x(1≦x≦n)が選択されたものとする(ステップS16)。そして、レジスタ番号発生回路105は、レジスタ101_xに対してイネーブル信号を出力し、カウンタ103_xに対してリセット信号を出力する。これにより、レジスタ101_xは、ロウアドレスxに置換してロウアドレスnewを格納する(ステップS17)。そして、カウンタ103_xは、コンパレータ102_xからの一致を示すマッチ信号により、リセット信号により0となったカウンタ値を1つカウントアップして1とする(ステップS18、ステップS15)。
【0067】
その後、ロウアドレスが順次入力されると、アクセス回数カウント装置10は、上記と略同様に動作する。
【0068】
次に、カウンタ103_y(1≦y≦n)のカウンタ値が許容アクセス回数に到達したとする(ステップS31でYes)。そこで、カウンタ103_yは、最大到達信号を、レジスタ番号発生回路105および隣接アドレス発生回路106に出力する。
【0069】
隣接アドレス発生回路106は、カウンタ103_yから最大到達信号が入力されたので、レジスタ101_yから入力されるロウアドレスの隣接ロウアドレスを算出し、リフレッシュコマンド発生回路107に出力する。
【0070】
そして、リフレッシュコマンド発生回路107は、入力された隣接ロウアドレスに対して、リフレッシュコマンドを発生する。
【0071】
また、レジスタ番号発生回路105は、カウンタ103_yから最大到達信号が入力されたので、対応するレジスタ101_yおよびカウンタ103_yに対して、リセット信号を出力する。これにより、レジスタ101_yは空になる。また、カウンタ103_yのカウンタ値は0となる。
【0072】
以上で、アクセス回数カウント装置10の実装構成例およびその動作の具体例の説明を終了する。
【0073】
次に、本発明の第1の実施の形態の効果について述べる。
【0074】
本発明の第1の実施の形態としてのアクセス回数カウント装置は、半導体メモリにおいて、ロウアドレスへのアクセス回数のカウントをより少ない回路規模でカウントすることができる。その結果、本実施の形態は、消費電力増加およびアクセス性能低下を生じさせることなく、リフレッシュ間隔の間にアクセスが集中したロウアドレスを、より少ない回路規模で検出することができる。
【0075】
その理由は、ロウアドレス格納部が、メモリセルに対するアクセスにおいて指定されるロウアドレスを所定数n個まで格納し、カウント部が、ロウアドレス格納部に格納される各ロウアドレスについてアクセス頻度をカウントし、ロウアドレス選択部が、ロウアドレス格納部に格納されているn個のロウアドレス以外の新たなロウアドレスが指定されるアクセスが発生した場合、n個のロウアドレスのうちの1つをアクセス頻度に基づき選択するからである。そして、リセット制御部が、ロウアドレス選択部によって選択されたロウアドレスについて、該ロウアドレスに置換して新たなロウアドレスを格納するようロウアドレス格納部に通知し、アクセス頻度が許容アクセス回数に達したロウアドレスについて、該ロウアドレスを破棄するようロウアドレス格納部に通知し、置換または破棄したロウアドレスについてのアクセス頻度をリセットするようカウント部に通知し、集中アクセス検出部が、アクセス頻度が許容アクセス回数に達したロウアドレスを検出するからである。
【0076】
これにより、本実施の形態のアクセス回数カウント装置は、カウント部に、ロウアドレスの本数分のカウンタ回路を設ける必要がなく、n個のカウンタ回路を設けるだけで、リフレッシュ間隔の間に許容アクセス回数に達するロウアドレスを効率よく検出することができる。これにより、本実施の形態は、リフレッシュ間隔の間にアクセスが集中したロウアドレスを検出するための回路規模をより小さくすることができる。また、本実施の形態は、リフレッシュ間隔を短縮する必要がないため、消費電力の増加およびアクセス性能の低下を招くことがない。なお、本実施の形態は、ロウアドレス格納部が、n個のロウアドレスを格納する前に(つまり、n個のレジスタがロウアドレスで埋まる前に)、いずれかのロウアドレスについてのカウンタ値が許容アクセス回数に達して対応するロウアドレスがリセットされる(つまり、対応するレジスタが空く)ことが多いケースにおいて、特に効果を奏する。
【0077】
なお、本実施の形態において、アクセス回数カウント装置は、リフレッシュ間隔、アクセスサイクルおよび許容アクセス回数を、外部から設定可能に構成されてもよい。この場合、アクセス回数カウント装置は、設定されたリフレッシュ間隔、アクセスサイクルおよび許容アクセス回数に基づいて所定数nを決定することができ、異なる性能の半導体メモリに対応可能となる。これにより、例えば、アクセス回数カウント装置は、所定数nとして想定される最大数N個のレジスタ、コンパレータ、カウンタを実装した上で、設定により決定されたnがNより小さい場合、使用しないレジスタ、コンパレータ、カウンタを他の用途に利用することも可能である。
【0078】
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
【0079】
まず、本発明の第2の実施の形態としてのメモリシステム2の構成を
図7に示す。
図7において、メモリシステム2は、本発明の第1の実施の形態としてのメモリシステム1に対して、アクセス回数カウント装置10に替えてアクセス回数カウント装置20を備える点が異なる。なお、アクセス回数カウント装置20は、本発明の第1の実施の形態におけるアクセス回数カウント装置10と同様に、上位装置からメモリセルアレイ30へのアクセスにおいて指定されるロウアドレスを、入力として取得するよう構成される。
【0080】
次に、本発明の第2の実施の形態におけるアクセス回数カウント装置20の機能ブロック構成を
図8に示す。
図8において、アクセス回数カウント装置20は、ロウアドレス格納部11、カウント部12、ロウアドレス選択部23およびリセット制御部14の組み合わせをm(mは2以上の整数)組と、集中アクセス検出部25とを含む。
【0081】
ここで、ロウアドレス格納部11、カウント部12、リセット制御部14は、本発明の第1の実施の形態における各機能ブロックと同様に構成される。ただし、本実施の形態では、メモリセルに対するアクセスにおいて指定されるロウアドレスがアクセス回数カウント装置20に入力されると、そのロウアドレスは、各組のロウアドレス格納部11に入力される。なお、
図8には、m=2である例を示しているが、本発明におけるmの数を限定するものではない。
【0082】
ロウアドレス選択部23は、本発明の第1の実施の形態におけるロウアドレス選択部13と略同様に構成される。ただし、ロウアドレス選択部23は、その組のロウアドレス格納部11に格納されたn個のロウアドレスのうち1つをアクセス頻度に基づき選択するための選択条件として、他の組と異なる選択条件を適用する。
【0083】
例えば、m組のうち1つの組におけるロウアドレス選択部23は、選択条件として所定の低頻度条件(例えば、アクセス頻度が最小)を適用し、他の組におけるロウアドレス選択部23は、選択条件として所定の高頻度条件(例えば、アクセス頻度が最大)を適用してもよい。
【0084】
集中アクセス検出部25は、本発明の第1の実施の形態における集中アクセス検出部15と略同様に構成されるが、各組において許容アクセス回数に達したロウアドレスを検出する。例えば、集中アクセス検出部25は、検出したロウアドレスの隣接ロウアドレスに対してリフレッシュを発行してもよい。
【0085】
以上のように構成されたアクセス回数カウント装置20の動作について説明する。
【0086】
まず、アクセス回数カウント装置20のリフレッシュ間隔毎のリセット動作について説明する。m組の各リセット制御部14は、
図3に示したステップS1〜S2まで、本発明の第1の実施の形態と同様にそれぞれ動作する。これにより、アクセス回数カウント装置20は、リフレッシュ間隔の期間が経過するごとに、m組の各ロウアドレス格納部11およびカウント部12をリセットする。
【0087】
次に、アクセス回数カウント装置20のロウアドレス格納動作について説明する。
【0088】
ここでは、まず、アクセス回数カウント装置20に、メモリセルに対するアクセスで指定されるロウアドレスが入力されると、そのロウアドレスは、m組の各ロウアドレス格納部11に入力される。
【0089】
以降、各組においてロウアドレス格納部11、カウント部12、ロウアドレス選択部23、リセット制御部14は、
図4に示したステップS11〜S18まで、本発明の第1の実施の形態と略同様に動作する。ただし、ステップS16において、各組のロウアドレス選択部23は、他の組のロウアドレス選択部23とは異なる選択条件を用いて、n個のロウアドレスのうちの1つを選択する。
【0090】
次に、アクセス回数カウント装置20の集中アクセス検出動作について説明する。
【0091】
ここでは、まず、集中アクセス検出部25は、いずれかの組において許容アクセス回数に達したロウアドレスを検出する(
図5のステップS31〜S32)。そして、集中アクセス検出部25は、その隣接ロウアドレスに対してリフレッシュコマンドを発行してもよい。そして、ステップS32において許容アクセス回数に達したロウアドレスが検出された組のリセット制御部14は、ステップS33〜34まで、本発明の第1の実施の形態と略同様に動作する。これにより、その組のロウアドレス格納部11およびカウント部12において、該当するロウアドレスおよびアクセス頻度がリセットされる。
【0092】
以上で、アクセス回数カウント装置20の動作の説明を終了する。
【0093】
次に、アクセス回数カウント装置20の実装構成の一例を
図9に示す。
図9では、m=2であるものとする。
【0094】
図9において、アクセス回数カウント装置20は、レジスタ101_1〜101_n、コンパレータ102_1〜102_n、カウンタ103_1〜103_n、カウンタ値比較回路204およびレジスタ番号発生回路105の組み合わせを2組含む。さらに、アクセス回数カウント装置20は、隣接アドレス発生回路206と、リフレッシュコマンド発生回路107とを含む。以降、一方の組をグループAと記載し、他方の組をグループBと記載する。また、グループAに含まれるカウンタ値比較回路204を、カウンタ値比較回路204aとも記載する。また、グループBに含まれるカウンタ値比較回路204を、カウンタ値比較回路204bとも記載する。
【0095】
カウンタ値比較回路204aは、全てのコンパレータ102_1〜102_nから不一致を示すマッチ信号が入力されると、カウンタ103_1〜103_nから入力されるカウンタ値を比較して最小のものを1つ選択する。
【0096】
カウンタ値比較回路204bは、全てのコンパレータ102_1〜102_nから不一致を示すマッチ信号が入力されると、カウンタ103_1〜103_nから入力されるカウンタ値を比較して最大のものを1つ選択する。ただし、カウンタ値比較回路204bは、カウンタ103_1〜103_nから入力されるカウンタ値のうち0を示すものがあれば、0を示すカウンタ値を選択する。
【0097】
また、各組のカウンタ値比較回路204は、選択したカウンタ値の入力元であるカウンタ103_iの番号iを示す選択信号をレジスタ番号発生回路105に出力する。
【0098】
隣接アドレス発生回路206は、グループAまたはBのカウンタ103_iから最大到達信号が入力されると、そのグループのレジスタ101_iから入力されるロウアドレスを用いて、その隣接ロウアドレスを算出する。そして、隣接アドレス発生回路206は、算出した隣接ロウアドレスを、リフレッシュコマンド発生回路107に出力する。
【0099】
なお、
図9に示した実装構成例におけるその他の各要素については、本発明の第1の実施の形態における実装構成例の各要素と同様に構成される。
【0100】
以上のように構成されるアクセス回数カウント装置20の動作を具体例で説明する。なお、以下の具体的な動作の開始時において、グループAおよびBのレジスタ101_1〜101_nにはロウアドレスが格納されていないものとする。
【0101】
まず、アクセス回数カウント装置20に、ロウアドレス1〜nまでが順次入力されると、グループAおよびBのレジスタ101_2〜101_nは、本発明の第1の実施の形態における具体例と略同様に動作して、ロウアドレス2〜nをそれぞれ格納する。また、グループAおよびBのカウンタ103_2〜103_2は、それぞれカウンタ値1を格納する。
【0102】
その後、ロウアドレス1〜nのいずれかが順次入力されると、アクセス回数カウント装置20においてグループAおよびBは、本発明の第1の実施の形態における具体例と略同様に動作する。これにより、グループAおよびBのカウンタ103_1〜103_nは、それぞれのカウンタ値をカウントアップしていく。
【0103】
次に、アクセス回数カウント装置20に、ロウアドレス1〜n以外のロウアドレスnewが入力されたとする。
【0104】
このとき、グループAでは、コンパレータ102_1〜102_nは、いずれもロウアドレスnewを格納していないので、不一致を示すマッチ信号を出力する。そして、カウンタ値比較回路204aは、カウンタ103_1〜103_nから入力されるカウンタ値を比較して最小のものを1つ選択する。ここでは、最小のカウンタ値を有するカウンタ103_x1(1≦x1≦n)を選択したものとする。そして、レジスタ番号発生回路105は、レジスタ101_x1に対してイネーブル信号を出力し、カウンタ103_x1に対してリセット信号を出力する。これにより、レジスタ101_x1は、ロウアドレスx1に置換してロウアドレスnewを格納する(ステップS4)。そして、カウンタ103_x1は、コンパレータ102_x1からの一致を示すマッチ信号により、リセット信号により0となったカウンタ値を1つカウントアップして1とする。
【0105】
また、このとき、グループBでは、コンパレータ102_1〜102_nは、いずれもロウアドレスnewを格納していないので、不一致を示すマッチ信号を出力する。そして、カウンタ値比較回路204bは、カウンタ103_1〜103_nから入力されるカウンタ値を比較して最大のものを1つ選択する。ここでは、最大のカウンタ値を有するカウンタ103_x2(1≦x2≦n)を選択したものとする。そして、レジスタ番号発生回路105は、レジスタ101_x2に対してイネーブル信号を出力し、カウンタ103_x2に対してリセット信号を出力する。これにより、レジスタ101_x2は、ロウアドレスx2に置換してロウアドレスnewを格納する(ステップS4)。そして、カウンタ103_x2は、コンパレータ102_x2からの一致信号により、リセット信号により0となったカウンタ値を1つカウントアップして1とする。
【0106】
以上の動作を繰り返すことにより、グループAおよびグループBのn個ずつのレジスタ101には、異なる組み合わせのn個ずつのロウアドレスが格納される。
【0107】
そして、グループAにおいて、カウンタ103_y1(1≦y1≦n)のカウンタ値が許容アクセス回数に到達したとする。そこで、カウンタ103_y1は、最大到達信号を、レジスタ番号発生回路105および隣接アドレス発生回路206に出力する。
【0108】
隣接アドレス発生回路206は、グループAのカウンタ103_y1から最大到達信号が入力されたので、このグループのレジスタ101_y1から入力されるロウアドレスの隣接ロウアドレスを算出し、リフレッシュコマンド発生回路107に出力する。
【0109】
そして、リフレッシュコマンド発生回路107は、入力された隣接ロウアドレスに対して、リフレッシュコマンドを発生する。
【0110】
また、レジスタ番号発生回路105は、グループAのカウンタ103_y1から最大到達信号が入力されたので、このグループの対応するレジスタ101_y1およびカウンタ103_y1に対して、リセット信号を出力する。これにより、グループAのレジスタ101_y1は空になる。また、カウンタ103_y1のカウンタ値は0となる。
【0111】
以上で、アクセス回数カウント装置20の実装構成例およびその動作の具体例の説明を終了する。
【0112】
次に、本発明の第2の実施の形態の効果について述べる。
【0113】
本発明の第2の実施の形態としてのアクセス回数カウント装置は、ロウアドレスへのアクセス回数のカウントをより少ない回路規模でカウントすることができる。その結果、本実施の形態は、半導体メモリにおいて、消費電力増加およびアクセス性能低下を生じさせることなく、より少ない回路規模で、リフレッシュ間隔の間にアクセスが集中したロウアドレスを検出する精度を高めることができる。
【0114】
その理由は、本発明の第1の実施の形態と略同様に構成されるロウアドレス格納部、前記カウント部、ロウアドレス選択部、および、リセット制御部の組み合わせをm(mは2以上の整数)組備え、メモリアクセスにおいて指定されるロウアドレスは、各組のロウアドレス格納部に格納されるからである。そして、各組においてロウアドレス選択部は、その組におけるロウアドレス格納部に格納されたn個のロウアドレス以外の新たなロウアドレスが指定されるアクセスが発生した場合、n個のロウアドレスのうち1つをアクセス頻度に基づき選択するための選択条件として、他の組と異なる選択条件を適用し、集中アクセス検出部は、各組においてアクセス頻度が許容アクセス回数に達したロウアドレスを検出するからである。
【0115】
これにより、本実施の形態は、ロウアドレス格納部が、n個のロウアドレスを格納している状態(つまり、n個のレジスタがロウアドレスで埋まっている状態)で、新たなロウアドレスを指定するアクセスが発生することが多いケースであっても、ロウアドレスの本数分のカウンタ回路を設けるよりも遥かに少ない回路規模で、アクセスが集中する可能性の高い各ロウアドレスについてのアクセス頻度を効率よくカウントすることができる。
【0116】
なお、本発明の第2の実施の形態において、mが2である例を中心に説明したが、本発明において、ロウアドレス格納部、カウント部、ロウアドレス選択部およびリセット制御部の組み合わせ数を限定するものではない。
【0117】
また、上述した本発明の各実施の形態の動作の具体例の説明において、ロウアドレス1〜nが順次入力される例について説明したが、各実施の形態において入力されるロウアドレスの発生順序や頻度は、これに限定されるものではない。
【0118】
また、上述した本発明の各実施の形態において、ロウアドレス選択部が適用する選択条件として、低頻度条件や高頻度条件を例示したが、ロウアドレス選択部が適用する選択条件は、アクセス頻度に基づきn個から1つを選択するためのその他の条件であってもよい。
【0119】
また、上述した本発明の各実施の形態において、集中アクセス検出部が、検出したロウアドレスの隣接ロウアドレスに対してリフレッシュを発行する例を中心に説明した。これに限らず、各実施の形態の集中アクセス検出部は、検出したロウアドレスに基づくその他の処理を行ってもよい。また、各実施の形態は、半導体メモリにおいてアクセスの集中したロウアドレスに対する処理を行う他の装置に対して、検出したロウアドレスを出力するよう構成されてもよい。
【0120】
次に、本発明の最小構成について、
図10を参照して説明する。
【0121】
図10は、本発明によるアクセス回数カウント装置の最小構成の一例を示す図である。
図10において、アクセス回数カウント装置100は、ロウアドレス格納部11と、カウント部12と、リセット制御部104とを含む。
【0122】
ロウアドレス格納部11およびカウント部12は、本発明の第1および第2の実施の形態で説明したロウアドレス格納部11およびカウント部12と同様に構成される。
【0123】
リセット制御部104は、ロウアドレス格納部11に格納されるn個のロウアドレスのうちの1つを、新たなロウアドレスに置換または破棄するようロウアドレス格納部11に通知する。例えば、リセット制御部104は、新たなロウアドレスに置換または破棄するロウアドレスとして、アクセスカウント対象としての重要度が他より低いと判定可能なものを選択すればよい。そして、リセット制御部104は、置換または破棄したロウアドレスについてのアクセス頻度をリセットするようカウント部12に通知する。
【0124】
このような構成により、本発明の最小構成を備えるアクセス回数カウント装置100は、カウント部に、ロウアドレスの本数分のカウンタ回路を設ける必要がなく、n個のカウンタ回路を設けるだけでよい。その結果、アクセス回数カウント装置100は、n本のロウアドレスのうちアクセスカウント対象として重要度の高いものへのアクセス回数を、効率よくカウントすることができる。
【0125】
このように、本発明の最小構成により、半導体メモリにおけるロウアドレスへのアクセスを、より少ない回路規模でカウントすることができる。
【0126】
なお、上述した本発明の各実施の形態および本発明の最小構成において、アクセス回数カウント装置は、半導体メモリ装置内に実現されてもよいし、CPU(Central Processing Unit)または半導体メモリコントローラ集積回路内に実現されてもよい。また、アクセス回数カウント装置の各機能ブロックは、半導体メモリ装置、CPU、半導体メモリコントローラ等の複数の装置内に分散されて実現されてもよい。
【0127】
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
【0128】
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【0129】
また、上述した各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
メモリセルに対するアクセスにおいて指定されるロウアドレスを所定数n(nは1以上の整数)個まで格納するロウアドレス格納部と、
前記ロウアドレス格納部に格納されている各ロウアドレスについてアクセス頻度をカウントするカウント部と、
前記n個のロウアドレスのうちの1つを、新たなロウアドレスに置換または破棄するよう前記ロウアドレス格納部に通知し、置換または破棄したロウアドレスについてのアクセス頻度をリセットするよう前記カウント部に通知するリセット制御部と、
を備えたアクセス回数カウント装置。
(付記2)
前記ロウアドレス格納部に格納されているn個のロウアドレス以外の新たなロウアドレスが指定されるアクセスが発生した場合、前記n個のロウアドレスのうちの1つを前記アクセス頻度に基づき選択するロウアドレス選択部をさらに備え、
前記リセット制御部は、前記ロウアドレス選択部によって選択されたロウアドレスについて、該ロウアドレスに置換して前記新たなロウアドレスを格納するよう前記ロウアドレス格納部に通知し、置換したロウアドレスについてのアクセス頻度をリセットするよう前記カウント部に通知することを特徴とする付記1に記載のアクセス回数カウント装置。
(付記3)
前記リセット制御部は、
前記アクセス頻度が所定の許容アクセス回数に達したロウアドレスについて、該ロウアドレスを破棄するよう前記ロウアドレス格納部に通知し、破棄したロウアドレスについてのアクセス頻度をリセットするよう前記カウント部に通知することを特徴とする付記1または付記2に記載のアクセス回数カウント装置。
(付記4)
前記ロウアドレス選択部は、前記n個のロウアドレスのうちアクセス頻度が所定の低頻度条件を満たす1つを選択することを特徴とする付記2または付記3に記載のアクセス回数カウント装置。
(付記5)
前記ロウアドレス格納部、前記カウント部、前記ロウアドレス選択部、および、前記リセット制御部の組み合わせをm(mは2以上の整数)組備え、
前記アクセスにおいて指定されるロウアドレスは、各組の前記ロウアドレス格納部に格納され、
各組における前記ロウアドレス選択部は、その組における前記ロウアドレス格納部に格納された前記n個のロウアドレス以外の新たなロウアドレスが指定されるアクセスが発生した場合、前記n個のロウアドレスのうち1つを前記アクセス頻度に基づき選択するための選択条件として、他の組と異なる選択条件を適用することを特徴とする付記2から付記4のいずれか1つに記載のアクセス回数カウント装置。
(付記6)
前記m組のうちの1つの組における前記ロウアドレス選択部は、前記選択条件として所定の低頻度条件を適用し、他の組における前記ロウアドレス選択部は、前記選択条件として所定の高頻度条件を適用することを特徴とする付記5に記載のアクセス回数カウント装置。
(付記7)
前記nは、リフレッシュ間隔、アクセスサイクルおよび前記許容アクセス回数に基づく値であることを特徴とする付記1から付記6のいずれか1つに記載のアクセス回数カウント装置。
(付記8)
前記アクセス頻度が前記許容アクセス回数に達したロウアドレスを検出する集中アクセス検出部をさらに備えたことを特徴とする付記1から付記7のいずれか1つに記載のアクセス回数カウント装置。
(付記9)
前記集中アクセス検出部は、検出したロウアドレスの隣接ロウアドレスに対してリフレッシュを発行することを特徴とする付記8に記載のアクセス回数カウント装置。
(付記10)
付記1から付記9のいずれか1つに記載のアクセス回数カウント装置と、
前記メモリセルからなるメモリセルアレイと、
を備えたメモリシステム。
(付記11)
メモリセルに対するアクセスにおいて指定されるロウアドレスを所定数n(nは1以上の整数)個まで格納し、
格納した各ロウアドレスについてアクセス頻度をカウントし、
前記n個のロウアドレスのうちの1つを新たなロウアドレスに置換または破棄し、
置換または破棄したロウアドレスについてのアクセス頻度をリセットする、アクセス回数カウント方法。