(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022114622
(43)【公開日】2022-08-08
(54)【発明の名称】半導体記憶装置
(51)【国際特許分類】
G11C 11/406 20060101AFI20220801BHJP
【FI】
G11C11/406 460
G11C11/406 140
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021010986
(22)【出願日】2021-01-27
(11)【特許番号】
(45)【特許公報発行日】2022-05-17
(71)【出願人】
【識別番号】512167426
【氏名又は名称】華邦電子股▲ふん▼有限公司
【氏名又は名称原語表記】Winbond Electronics Corp.
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】佐々木 純一
【テーマコード(参考)】
5M024
【Fターム(参考)】
5M024AA22
5M024BB22
5M024BB39
5M024EE17
5M024EE22
5M024EE24
5M024EE29
5M024PP01
5M024PP07
(57)【要約】
【課題】消費電力の増大を抑制するとともに、ロウハンマー問題によるデータ破壊を回避することの可能な半導体記憶装置を提供する。
【解決手段】半導体記憶装置は、メモリのリフレッシュ動作の間隔を制御する制御部10であって、所定期間におけるメモリに対する読み出し又は書き込みアクセス要求の頻度が高いほどメモリのリフレッシュ動作の間隔を短くするように制御する制御部10を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
メモリのリフレッシュ動作の間隔を制御する制御部であって、所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど前記メモリのリフレッシュ動作の間隔を短くするように制御する制御部を備える、
半導体記憶装置。
【請求項2】
前記制御部は、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、前記メモリのリフレッシュ動作を実行するために間隔をおいて生成されるリフレッシュ要求の間隔を短くするように制御する、請求項1に記載の半導体記憶装置。
【請求項3】
前記制御部は、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、前記メモリのリフレッシュ動作を実行するために間隔をおいて生成されるリフレッシュ要求に対して実行されるリフレッシュ動作の数を増加するように制御する、請求項1に記載の半導体記憶装置。
【請求項4】
前記制御部は、連続するロウアドレスの複数のブロック毎にリフレッシュ動作の間隔を制御する、請求項1~3の何れかに記載の半導体記憶装置。
【請求項5】
リフレッシュ要求に応じて、リフレッシュ動作が実行されるロウアドレスを指定するリフレッシュアドレスカウンタを前記複数のブロック毎に備え、
前記制御部は、前記複数のブロック毎に、対応するリフレッシュアドレスカウンタによって指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御する、請求項4に記載の半導体記憶装置。
【請求項6】
リフレッシュ要求に応じて、リフレッシュ動作が実行されるロウアドレスを指定するリフレッシュアドレスカウンタを備え、
前記制御部は、前記複数のブロック毎に、前記リフレッシュアドレスカウンタによって指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御する、請求項4に記載の半導体記憶装置。
【請求項7】
前記制御部は、前記リフレッシュアドレスカウンタによって指定されたロウアドレスが、対応するブロックにおける読み出し又は書き込みアクセス要求の頻度が高いほど多くなるように設定された1つ以上の所定のロウアドレスの何れかと一致する場合に、前記指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御する、請求項6に記載の半導体記憶装置。
【請求項8】
前記所定のロウアドレスは、同一のブロックがリフレッシュ動作の対象として選択される毎に変更可能に設定されている、請求項7に記載の半導体記憶装置。
【請求項9】
前記制御部は、前記所定期間が経過する毎に、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度に応じて前記メモリのリフレッシュ動作の間隔を制御する、請求項1~8の何れかに記載の半導体記憶装置。
【請求項10】
前記メモリに対する読み出し又は書き込みアクセス要求の頻度は、所定数に分類されている、請求項1~9の何れかに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体記憶装置に関する。
【背景技術】
【0002】
半導体記憶装置の一種であるDRAM(Dynamic Random Access Memory)は、キャパシタ(コンデンサ)に電荷を蓄えることによって情報を記憶し、電源が供給されなくなると、記憶された情報が失われる揮発性メモリである。コンデンサに蓄えられた電荷は、一定時間が経過すると放電するため、DRAMは、定期的に電荷をチャージするリフレッシュという記憶保持動作が必要になる(例えば、特許文献1~3)。
【0003】
ところで、リフレッシュが行われる間に、同一のロウ(Row)アドレスに対して多くの読み出し及び/又は書き込み要求が集中すると、ロウハンマー(Row Hammer)問題が発生する可能性がある。ロウハンマー問題とは、一定時間内に同一のロウアドレスに対して多くのアクセスが集中した場合に、当該ロウアドレスに対して物理的に隣接するロウアドレスに対応するデータビットの電荷が放電することによって、データ破壊を引き起こす問題である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】中国特許公開公報第107924697号
【特許文献2】米国特許公報第9741421号
【特許文献3】台湾特許公開公報第201535366号
【発明の概要】
【発明が解決しようとする課題】
【0005】
かかるロウハンマー問題を解決するために、例えば、メモリのリフレッシュ間隔をより短く設定することが考えられる。しかしながら、この場合には、リフレッシュが短い間隔で頻繁に行われるようになることから、半導体記憶装置の消費電力が増大する虞があった。
【0006】
本発明は上記課題に鑑みてなされたものであり、消費電力の増大を抑制するとともに、ロウハンマー問題によるデータ破壊を回避することの可能な半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、メモリのリフレッシュ動作の間隔を制御する制御部であって、所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど前記メモリのリフレッシュ動作の間隔を短くするように制御する制御部を備える、半導体記憶装置を提供する(発明1)。
【0008】
かかる発明(発明1)によれば、例えば、所定期間内に読み出し又は書き込みアクセスが頻繁に要求された場合には、これに応じてメモリのリフレッシュ動作を頻繁に行うことが可能になる。これにより、ロウハンマー問題によるデータ破壊を回避することができる。一方、所定期間における読み出し又は書き込みアクセス要求の頻度が低いほど、メモリのリフレッシュ動作を比較的長い間隔で行うことが可能になるので、リフレッシュ動作が常に短い間隔で行われる場合と比較して、リフレッシュ動作が行われる回数を低減することが可能になる。これにより、半導体記憶装置の消費電力が増大するのを抑制することができる。
【0009】
上記発明(発明1)においては、前記制御部は、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、前記メモリのリフレッシュ動作を実行するために間隔をおいて生成されるリフレッシュ要求の間隔を短くするように制御してもよい(発明2)。
【0010】
かかる発明(発明2)によれば、所定期間におけるメモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、リフレッシュ要求をより短い間隔で生成することが可能になる。これにより、メモリのリフレッシュ動作を頻繁に行うことができ、ロウハンマー問題によるデータ破壊を回避することができる。
【0011】
上記発明(発明1)においては、前記制御部は、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、前記メモリのリフレッシュ動作を実行するために間隔をおいて生成されるリフレッシュ要求に対して実行されるリフレッシュ動作の数を増加するように制御してもよい(発明3)。
【0012】
かかる発明(発明3)によれば、所定期間におけるメモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、間隔をおいて生成されるリフレッシュ要求に対して実行されるリフレッシュ動作の数を増加する(すなわち、リフレッシュ動作の実行回数を増加する)ことが可能になる。これにより、メモリのリフレッシュ動作を頻繁に行うことができ、ロウハンマー問題によるデータ破壊を回避することができる。
【0013】
上記発明(発明1~3)においては、前記制御部は、連続するロウアドレスの複数のブロック毎にリフレッシュ動作の間隔を制御してもよい(発明4)。
【0014】
かかる発明(発明4)によれば、例えば、複数のブロックのうち読み出し又は書き込みアクセス要求の頻度が高いブロックではリフレッシュ動作の間隔が短くなるように制御し、複数のブロックのうち読み出し又は書き込みアクセス要求の頻度が低いブロックではリフレッシュ動作の間隔が長くなるように制御することが可能になる。これにより、メモリ全体において短い間隔でリフレッシュ動作が実行される場合と比較して、リフレッシュ動作の実行回数を低減することができるので、半導体記憶装置の消費電力が増大するのをさらに抑制することができる。
【0015】
上記発明(発明4)においては、リフレッシュ要求に応じて、リフレッシュ動作が実行されるロウアドレスを指定するリフレッシュアドレスカウンタを前記複数のブロック毎に備え、前記制御部は、前記複数のブロック毎に、対応するリフレッシュアドレスカウンタによって指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御してもよい(発明5)。
【0016】
かかる発明(発明5)によれば、複数のブロックのうち何れかのブロックに対してリフレッシュ動作が実行される場合に、リフレッシュ動作が実行されるロウアドレスを、リフレッシュアドレスカウンタを用いて容易に指定することが可能になる。
【0017】
上記発明(発明4)においては、リフレッシュ要求に応じて、リフレッシュ動作が実行されるロウアドレスを指定するリフレッシュアドレスカウンタを備え、前記制御部は、前記複数のブロック毎に、前記リフレッシュアドレスカウンタによって指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御してもよい(発明6)。
【0018】
かかる発明(発明6)によれば、複数のブロックのうち何れかのブロックに対してリフレッシュ動作が実行される場合に、リフレッシュ動作が実行されるロウアドレスを、1つのリフレッシュアドレスカウンタを用いて容易に指定することが可能になる。
【0019】
上記発明(発明6)においては、前記制御部は、前記リフレッシュアドレスカウンタによって指定されたロウアドレスが、対応するブロックにおける読み出し又は書き込みアクセス要求の頻度が高いほど多くなるように設定された1つ以上の所定のロウアドレスの何れかと一致する場合に、前記指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御してもよい(発明7)。
【0020】
かかる発明(発明7)によれば、複数のブロックのうち何れかのブロックに対する読み出し又は書き込みアクセス要求の頻度が高いほど、当該何れかのブロックにおいてリフレッシュ動作が実行されるロウアドレスの数を増加することが可能になる。これにより、1つのリフレッシュアドレスカウンタを用いた場合であっても、リフレッシュ動作の実行回数を、対応するブロックにおける読み出し又は書き込みアクセス要求の頻度に応じて複数のブロック毎に制御することが可能になる。
【0021】
上記発明(発明7)においては、前記所定のロウアドレスは、同一のブロックがリフレッシュ動作の対象として選択される毎に変更可能に設定されていてもよい(発明8)。
【0022】
かかる発明(発明8)によれば、例えば、同一のブロックがリフレッシュ動作の対象として所定回数選択されることによって、当該ブロック内の全てのロウアドレスに対してリフレッシュ動作を実行することが可能になる。
【0023】
上記発明(発明1~8)においては、前記制御部は、前記所定期間が経過する毎に、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度に応じて前記メモリのリフレッシュ動作の間隔を制御してもよい(発明9)。
【0024】
かかる発明(発明9)によれば、メモリのリフレッシュ動作の実行回数を所定期間毎に変更することが可能になる。
【0025】
上記発明(発明1~9)においては、前記メモリに対する読み出し又は書き込みアクセス要求の頻度は、所定数に分類されていてもよい(発明10)。
【0026】
かかる発明(発明10)によれば、分類された読み出し又は書き込みアクセス要求の頻度に基づいてリフレッシュ動作の間隔を制御することが可能になる。
【発明の効果】
【0027】
本発明の半導体記憶装置によれば、消費電力の増大を抑制するとともに、ロウハンマー問題によるデータ破壊を回避することができる。
【図面の簡単な説明】
【0028】
【
図1】本発明の第1実施形態に係る半導体記憶装置の構成例を示すブロック図である。
【
図3】半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【
図4】本発明の第2実施形態に係る半導体記憶装置における制御部の構成例を示すブロック図である。
【
図5】半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【
図6】本発明の第3実施形態に係る半導体記憶装置における制御部の構成例を示すブロック図である。
【
図7】半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【
図8】本発明の変形例に係る半導体記憶装置における制御部の構成例を示すブロック図である。
【
図9】(a)~(c)は、ルックアップテーブルの構成例を示す図である。
【
図10】(a)~(d)は、半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【
図11】(a)~(d)は、半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【
図12】(a)~(d)は、半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【発明を実施するための形態】
【0029】
以下、本発明の実施形態に係る半導体記憶装置について添付図面を参照して詳細に説明する。ただし、この実施形態は例示であり、本発明はこれに限定されるものではない。
【0030】
(第1実施形態)
図2は、本発明の第1実施形態に係る半導体記憶装置の構成例を示すブロック図である。半導体記憶装置は、制御部10と、メモリ20と、を備える。制御部10及びメモリ20の各々は、専用のハードウェアデバイスや論理回路によって構成されてもよい。
【0031】
本実施形態に係る半導体記憶装置は、制御部10及びメモリ20を備え、リフレッシュ動作を内部で制御するように構成されたpSRAM(pseudo-Static Random Access Memory)であってもよい。従来のDRAMでは、例えば、ディスターブワード線アドレスを登録し、追加のリフレッシュ動作でデータを回復する等によってロウハンマー問題を解決するように構成された専用の回路が設けられているものが存在する。一方、pSRAMは、従来のDRAMと比較して小型化が進んでいるため、このような専用の回路を設けるためのスペースを確保することが困難である。また、仮に、このような専用の回路をpSRAMに設けた場合には、pSRAMのコストが嵩む虞がある。
【0032】
そこで、本実施形態に係る半導体記憶装置がpSRAMである場合には、このような専用の回路を設けることなく、消費電力の増大を抑制するとともに、ロウハンマー問題によるデータ破壊を回避することができるので、好適である。
【0033】
制御部10は、メモリ20のリフレッシュ動作の間隔を制御するように構成されている。また、制御部10は、所定期間におけるメモリ20に対する読み出し又は書き込みアクセス要求の頻度が高いほどメモリ20のリフレッシュ動作の間隔を短くするように制御する。
【0034】
また、制御部10は、所定期間におけるメモリ20に対する読み出し又は書き込みアクセス要求の頻度が高いほど、メモリ20のリフレッシュ動作を実行するために間隔をおいて生成されるリフレッシュ要求(本実施形態では、後述するリフレッシュ信号REF)の間隔を短くするように制御してもよい。これにより、所定期間におけるメモリ20に対する読み出し又は書き込みアクセス要求の頻度が高いほど、リフレッシュ要求をより短い間隔で生成することが可能になる。したがって、メモリ20のリフレッシュ動作を頻繁に行うことができ、ロウハンマー問題によるデータ破壊を回避することができる。なお、制御部10の詳細な構成については後述する。
【0035】
さらに、制御部10は、所定期間が経過する毎に、当該所定期間におけるメモリ20に対する読み出し又は書き込みアクセス要求の頻度に応じてメモリ20のリフレッシュ動作の間隔を制御してもよい。これにより、メモリ20のリフレッシュ動作の実行回数を所定期間毎に変更することが可能になる。
【0036】
ここで、メモリ20に対する読み出し又は書き込みアクセス要求の頻度は、所定数(本実施形態では、「Low」、「Middle」、「High」の3つ)に分類されていてもよい。これにより、分類された読み出し又は書き込みアクセス要求の頻度に基づいてリフレッシュ動作の間隔を制御することが可能になる。
【0037】
メモリ20は、リフレッシュを必要とする半導体メモリ(例えば、DRAM等)である。なお、メモリ20は、半導体記憶装置の外部に存在し、半導体記憶装置との間で信号の送受信を行うように構成されてもよい。
【0038】
図1を参照してメモリ20の構成例について説明する。メモリ20は、コマンドデコーダ21と、ロウ制御部22と、カラム制御部23と、メモリセルアレイ24と、を備える。なお、ここでは、説明を簡略化するために、例えば入出力用のインタフェース部(インタフェースピン等)等の他の周知の構成が示されていない。
【0039】
コマンドデコーダ21は、外部から供給されるコマンド信号を解読し、コマンド制御信号を生成する。そして、コマンドデコーダ21は、外部から供給されたコマンドが読み出しコマンドであった場合には、読み出し動作のトリガ信号CMDRDをロウ制御部22及びカラム制御部23に出力する。また、コマンドデコーダ21は、外部から供給されたコマンドが書き込みコマンドであった場合には、書き込み動作のトリガ信号CMDWRをロウ制御部22及びカラム制御部23に出力する。
【0040】
ロウ制御部22は、各トリガ信号CMDRD,CMDWRや後述するリフレッシュ信号REF等に応じて、メモリセルアレイ24内の対応するメモリアレイの活性/非活性を制御する。例えば、ロウ制御部22は、読み出し又は書き込みアクセスやリフレッシュ等を行うために選択されたロウワード線を活性化するための信号WLONと、当該ロウワード線を非活性化するための信号WLOFFと、をメモリセルアレイ24に出力する。
【0041】
また、ロウ制御部22は、センスアンプを活性化するための信号SAENをメモリセルアレイ24及びカラム制御部23に出力する。さらに、ロウ制御部22は、読み出し又は書き込みアクセスが要求されたことを示す信号ACCESSと、メモリセルアレイ24に対する読み出し又は書き込みアクセスの頻度を示す信号ACCFREQと、を制御部10に出力する。
【0042】
ここで、メモリセルアレイ24に対する読み出し又は書き込みアクセスの頻度は、例えば、ロウ制御部22に設けられたカウンタ(図示省略)を用いてトリガ信号CMDRD,CMDWRの数をカウントすることによって求められてもよい。また、ロウ制御部22は、所定期間が経過する毎に、当該所定期間内の読み出し又は書き込みアクセスの頻度(例えば、頻度が第1閾値未満である場合には「Low」、頻度が第1閾値以上第2閾値(第1閾値<第2閾値)未満である場合には「Middle」、頻度が第2閾値以上である場合には「High」等)を示す信号ACCFREQを、制御部10に出力してもよい。
【0043】
さらにまた、ロウ制御部22は、制御部10からハイレベルのリフレッシュ信号REFが入力されると、制御部10から出力されたリフレッシュアドレス信号RFAにおいて示されたロウアドレスに対してリフレッシュ動作を行う。
【0044】
カラム制御部23は、各トリガ信号CMDRD,CMDWR等に応じて、読み出し又は書き込みアクセス等を行うために選択されたカラムビット線を活性化するための信号CLENをメモリセルアレイ24に出力する。
【0045】
なお、メモリセルアレイ24に対するアドレス及びデータ制御の詳細については周知の技術と同様であるため、本実施形態では説明を省略する。
【0046】
本実施形態では、コマンドデコーダ21、ロウ制御部22、カラム制御部23及びメモリセルアレイ24がメモリ20に設けられている場合を一例として説明したが、例えば、メモリ20が半導体記憶装置の外部に存在する場合には、各部21~24のうち少なくとも1つが、制御部10と共に半導体記憶装置に設けられてもよい。
【0047】
次に、
図2を参照して、制御部10の構成について説明する。制御部10は、オシレータ100と、カウンタ110と、ルックアップテーブル120と、コンパレータ130と、タイミングジェネレータ140と、シーケンサ150と、リフレッシュアドレスカウンタ160と、を備える。
【0048】
オシレータ100は、リフレッシュ動作用の発振信号SROSCを所定間隔で生成して、カウンタ110に出力する。
【0049】
カウンタ110は、オシレータ100から出力された発振信号SROSCのパルスをカウントし、パルスのカウント値を示すn+1(nは、正の整数)ビットの信号SRCNT<n:0>を、コンパレータ130及びタイミングジェネレータ140に出力する。また、カウンタ110は、カウント値を初期値(例えば、0)にリセットするための信号SRRSTがコンパレータ130から入力されると、カウント値を初期値にリセットする。
【0050】
ルックアップテーブル120は、所定期間内の読み出し又は書き込みアクセスの頻度を示す信号ACCFREQがロウ制御部22から入力される毎に、信号ACCFREQに対応する発振信号SROSCのパルス数を示すn+1(nは、正の整数)ビットの信号SRDIV<n:0>を、コンパレータ130に出力する。ここで、ルックアップテーブル120は、所定期間内の読み出し又は書き込みアクセスの頻度の高低に応じて異なるパルス数が対応付けられているように構成されてもよい。また、ルックアップテーブル120は、所定期間内の読み出し又は書き込みアクセスの頻度が低いほど、発振信号SROSCのパルス数が多くなるように構成されてもよい。
【0051】
なお、本実施形態では、ルックアップテーブル120は、信号ACCFREQが低頻度(Low)を示す場合に、パルス数が12であることを示す信号SRDIV<n:0>をコンパレータ130に出力し、信号ACCFREQが中頻度(Middle)を示す場合に、パルス数が6であることを示す信号SRDIV<n:0>をコンパレータ130に出力し、信号ACCFREQが高頻度(High)を示す場合に、パルス数が3であることを示す信号SRDIV<n:0>をコンパレータ130に出力するように構成されている。
【0052】
コンパレータ130は、発振信号SROSCのパルス数を示す信号SRCNT<n:0>がカウンタ110から入力されると、発振信号SROSCのパルス数(後述する
図3に示す例では、信号SRCNT<n:0>+1の値)と、ルックアップテーブル120から入力された信号SRDIV<n:0>の値とを比較する。そして、コンパレータ130は、発振信号SROSCのパルス数と信号SRDIV<n:0>の値とが一致する場合に、信号SRRSTをカウンタ110に出力する。
【0053】
タイミングジェネレータ140は、カウンタ110から出力された信号SRCNT<n:0>の値が0の場合に、ハイレベルのリフレッシュトリガ信号SRTRGをシーケンサ150に出力する。
【0054】
シーケンサ150は、タイミングジェネレータ140からハイレベルのリフレッシュトリガ信号SRTRGが入力されると、ハイレベルのリフレッシュ信号REFをリフレッシュアドレスカウンタ160及びロウ制御部22に出力する。また、シーケンサ150は、例えば、読み出し又は書き込みアクセスが要求されたことを示す信号ACCESSと、ハイレベルのリフレッシュトリガ信号SRTRGと、が殆ど同じタイミングで入力された場合に、各信号ACCESS,SRTRG間でアービトレート(調停)を行い、リフレッシュ信号REFの出力タイミングを調整してもよい。
【0055】
リフレッシュアドレスカウンタ160は、リフレッシュ動作の対象となるロウアドレスを示す信号RFAをロウ制御部22に出力する。また、リフレッシュアドレスカウンタ160は、リフレッシュ動作が行われる(つまり、シーケンサ150からハイレベルのリフレッシュ信号REFが入力される)毎に、リフレッシュ動作の対象となるロウアドレスをインクリメントするように構成されている。リフレッシュアドレスカウンタ160は、例えば、リフレッシュ信号REFのパルスが立ち下がった場合に、ロウアドレスをインクリメントしてもよい。
【0056】
次に、本実施形態の半導体記憶装置の動作について
図3を参照して説明する。
図3は、半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【0057】
時刻t1において、所定期間内の読み出し又は書き込みアクセスが低頻度(Low)であることを示す信号ACCFREQがルックアップテーブル120に入力されると、ルックアップテーブル120は、低頻度(Low)に対応するパルス数(ここでは、12)を示す信号SRDIV<n:0>をコンパレータ130に出力する。また、タイミングジェネレータ140は、信号SRCNT<n:0>の値が0であることから、ハイレベルのリフレッシュトリガ信号SRTRGをシーケンサ150に出力する。さらに、シーケンサ150は、ハイレベルのリフレッシュ信号REFをリフレッシュアドレスカウンタ160及びロウ制御部22に出力する。これにより、信号RFAにおいて示されるロウアドレス(図の例では、「0」)に対するリフレッシュ動作が実行される。さらにまた、リフレッシュアドレスカウンタ160は、リフレッシュ信号REFのパルスが立ち下がった後の時刻t2において、信号RFAにおいて示されるロウアドレスをインクリメント(図の例では、「0」から「1」にインクリメント)する。
【0058】
このようにして、所定期間内の読み出し又は書き込みアクセスの頻度が低頻度(Low)である場合には、オシレータ100によって生成された発振信号SROSCのパルスの数が12に達する毎に1つのリフレッシュ信号REFが生成される。
【0059】
次に、時刻t3において、所定期間内の読み出し又は書き込みアクセスが高頻度(High)であることを示す信号ACCFREQがルックアップテーブル120に入力されると、ルックアップテーブル120は、高頻度(High)に対応するパルス数(ここでは、3)を示す信号SRDIV<n:0>をコンパレータ130に出力する。また、タイミングジェネレータ140は、ハイレベルのリフレッシュトリガ信号SRTRGをシーケンサ150に出力する。さらに、シーケンサ150は、ハイレベルのリフレッシュ信号REFをリフレッシュアドレスカウンタ160及びロウ制御部22に出力する。これにより、信号RFAにおいて示されるロウアドレス(図の例では、「1」)に対するリフレッシュ動作が実行される。さらにまた、リフレッシュアドレスカウンタ160は、リフレッシュ信号REFのパルスが立ち下がった場合に、信号RFAにおいて示されるロウアドレスをインクリメント(図の例では、「1」から「2」にインクリメント)する。
【0060】
また、コンパレータ130は、発振信号SROSCのパルス数が3つであることを示す信号SRCNT<n:0>がカウンタ110から入力されると、発振信号SROSCのパルス数及び信号SRDIV<n:0>の値が一致することから、信号SRRSTをカウンタ110に出力する。このとき、カウンタ110は、発振信号SROSCのパルスのカウント値を初期値にリセットする。
【0061】
そして、時刻t4及び時刻t5の各々において、ハイレベルのリフレッシュ信号REFがリフレッシュアドレスカウンタ160及びロウ制御部22に出力されることによって、信号RFAにおいて示されたロウアドレス(図の例では、「2」及び「3」の各々)に対するリフレッシュ動作が実行される。
【0062】
このようにして、所定期間内の読み出し又は書き込みアクセスが高頻度(High)である場合には、オシレータ100によって生成された発振信号SROSCのパルスの数が3に達する毎に1つのリフレッシュ信号REFが生成される。
【0063】
次に、時刻t6において、所定期間内の読み出し又は書き込みアクセスが中頻度(Middle)であることを示す信号ACCFREQがルックアップテーブル120に入力されると、ルックアップテーブル120は、中頻度(Middle)に対応するパルス数(ここでは、6)を示す信号SRDIV<n:0>をコンパレータ130に出力する。また、タイミングジェネレータ140は、ハイレベルのリフレッシュトリガ信号SRTRGをシーケンサ150に出力する。さらに、シーケンサ150は、ハイレベルのリフレッシュ信号REFをリフレッシュアドレスカウンタ160及びロウ制御部22に出力する。これにより、信号RFAにおいて示されるロウアドレス(図の例では、「4」)に対するリフレッシュ動作が実行される。さらにまた、リフレッシュアドレスカウンタ160は、リフレッシュ信号REFのパルスが立ち下がった場合に、信号RFAにおいて示されるロウアドレスをインクリメント(図の例では、「4」から「5」にインクリメント)する。
【0064】
また、コンパレータ130は、発振信号SROSCのパルス数が6であることを示す信号SRCNT<n:0>がカウンタ110から入力されると、発振信号SROSCのパルス数及び信号SRDIV<n:0>の値が一致することから、信号SRRSTをカウンタ110に出力する。このとき、カウンタ110は、発振信号SROSCのパルスのカウント値を初期値にリセットする。
【0065】
そして、時刻t7において、ハイレベルのリフレッシュ信号REFがリフレッシュアドレスカウンタ160及びロウ制御部22に出力されることによって、信号RFAにおいて示されるロウアドレス(図の例では、「5」)に対するリフレッシュ動作が実行される。
【0066】
このようにして、所定期間内の読み出し又は書き込みアクセスが中頻度(Middle)である場合には、オシレータ100によって生成された発振信号SROSCのパルスの数が6に達する毎に1つのリフレッシュ信号REFが生成される。
【0067】
なお、本実施形態では、信号SRCNT<n:0>の値が初期値(ここでは、0)の場合にリフレッシュ動作が実行される場合を一例として説明したが、本発明はこの場合に限られない。例えば、信号SRCNT<n:0>の値が0以外の他の値の場合にリフレッシュ動作が実行されてもよい。
【0068】
以上述べたように、本実施形態では、所定期間におけるメモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、リフレッシュ要求(ここでは、リフレッシュ信号REF)をより短い間隔で生成することが可能になる。
【0069】
上述したように、本実施形態の半導体記憶装置によれば、例えば、所定期間内に読み出し又は書き込みアクセスが頻繁に要求された場合には、これに応じてメモリ20のリフレッシュ動作を頻繁に行うことが可能になる。これにより、ロウハンマー問題によるデータ破壊を回避することができる。一方、所定期間における読み出し又は書き込みアクセス要求の頻度が低いほど、メモリ20のリフレッシュ動作を比較的長い間隔で行うことが可能になるので、リフレッシュ動作が常に短い間隔で行われる場合と比較して、リフレッシュ動作が行われる回数を低減することが可能になる。これにより、半導体記憶装置の消費電力が増大するのを抑制することができる。
【0070】
(第2実施形態)
以下、本発明の第2実施形態について説明する。本実施形態の半導体記憶装置は、制御部10が、所定期間におけるメモリ20に対する読み出し又は書き込みアクセス要求の頻度が高いほど、メモリ20のリフレッシュ動作を実行するために間隔をおいて生成されるリフレッシュ要求に対して実行されるリフレッシュ動作の数を増加するように制御する点において、第1実施形態と異なっている。以下、第1実施形態と異なる構成について説明する。
【0071】
図4に、第2実施形態に係る半導体記憶装置における制御部10の構成例を示す。本実施形態において、制御部10は、オシレータ100と、タイミングジェネレータ140と、シーケンサ150と、リフレッシュアドレスカウンタ160と、カウンタ170と、リフレッシュスキップ制御部180と、リフレッシュスキップ部190と、を備える。ここで、オシレータ100、シーケンサ150及びリフレッシュアドレスカウンタ160の構成は、上述した第1実施形態と同様である。
【0072】
本実施形態において、タイミングジェネレータ140は、オシレータ100から発振信号SROSCが入力される毎に、発振信号SROSCと同じパルスのリフレッシュ要求信号SRREQをカウンタ170及びリフレッシュスキップ部190に出力してもよい。
【0073】
カウンタ170は、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQのパルスをカウントし、パルスのカウント値を示すn+1(nは、正の整数)ビットの信号SRREQCNT<n:0>をリフレッシュスキップ制御部180に出力する。また、カウンタ170は、カウント値を初期値(例えば、0)にリセットするための信号(図示省略)がリフレッシュスキップ制御部180から入力されると、カウント値を初期値にリセットしてもよい。
【0074】
リフレッシュスキップ制御部180は、初期値の信号SRREQCNT<n:0>がカウンタ170から入力されると、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力する。また、リフレッシュスキップ制御部180は、信号SRREQCNT<n:0>によって示されるリフレッシュ要求信号SRREQのパルス数が、ロウ制御部22から入力された信号ACCFREQによって示されるアクセスの頻度に対応するパルス数に達する毎に、カウント値を初期値にリセットするための信号(図示省略)をカウンタ170に出力してもよい。ここで、信号ACCFREQによって示されるアクセスの頻度に対応するパルス数は、上述したルックアップテーブル120と同様に、所定期間内の読み出し又は書き込みアクセスの頻度が低いほど多くなるように設定されてもよい。
【0075】
リフレッシュスキップ部190は、ローレベルのリフレッシュスキップ信号REFSKIPがリフレッシュスキップ制御部180から入力されている場合に、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをローレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力する。また、リフレッシュスキップ部190は、ハイレベルのリフレッシュスキップ信号REFSKIPがリフレッシュスキップ制御部180から入力されている場合に、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをハイレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力する。
【0076】
次に、本実施形態の半導体記憶装置の動作について
図5を参照して説明する。
図5は、半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【0077】
時刻t11において、リフレッシュスキップ制御部180は、所定期間内の読み出し又は書き込みアクセスが低頻度(Low)であることを示す信号ACCFREQが入力されている場合に、初期値の信号SRREQCNT<n:0>がカウンタ170から入力されると、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力する。また、リフレッシュスキップ部190は、ハイレベルのリフレッシュスキップ信号REFSKIPがリフレッシュスキップ制御部180から入力されているので、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをハイレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力する。さらに、シーケンサ150は、ハイレベルのリフレッシュ信号REFをリフレッシュアドレスカウンタ160及びロウ制御部22に出力する。これにより、信号RFAにおいて示されるロウアドレス(図の例では、「0」)に対するリフレッシュ動作が実行される。さらにまた、リフレッシュアドレスカウンタ160は、リフレッシュ信号REFのパルスが立ち下がった場合に、信号RFAにおいて示されるロウアドレスをインクリメント(図の例では、「0」から「1」にインクリメント)する。
【0078】
このようにして、所定期間内の読み出し又は書き込みアクセスが低頻度(Low)である場合には、所定数(図の例では、12)のリフレッシュ要求信号SRREQが生成される毎に1つのリフレッシュ信号REFが生成される(つまり、リフレッシュ動作が1回実行される)。
【0079】
次に、時刻t12において、リフレッシュスキップ制御部180は、所定期間内の読み出し又は書き込みアクセスが高頻度(High)であることを示す信号ACCFREQが入力されている場合に、初期値の信号SRREQCNT<n:0>がカウンタ170から入力されると、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力する。また、リフレッシュスキップ部190は、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをハイレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力する。さらに、シーケンサ150は、ハイレベルのリフレッシュ信号REFをリフレッシュアドレスカウンタ160及びロウ制御部22に出力する。これにより、信号RFAにおいて示されるロウアドレス(図の例では、「1」)に対するリフレッシュ動作が実行される。さらにまた、リフレッシュアドレスカウンタ160は、リフレッシュ信号REFのパルスが立ち下がった場合に、信号RFAにおいて示されるロウアドレスをインクリメント(図の例では、「1」から「2」にインクリメント)する。
【0080】
また、リフレッシュスキップ制御部180は、信号SRREQCNT<n:0>によって示されるリフレッシュ要求信号SRREQのパルス数が、ロウ制御部22から入力された信号ACCFREQによって示されるアクセスの頻度に対応するパルス数(図の例では、3つ)に達すると、カウント値を初期値にリセットするための信号(図示省略)をカウンタ170に出力する。このとき、カウンタ170は、リフレッシュ要求信号SRREQのパルスのカウント値を初期値にリセットする。
【0081】
そして、時刻t13及び時刻t14の各々において、ハイレベルのリフレッシュ信号REFがリフレッシュアドレスカウンタ160及びロウ制御部22に出力されることによって、信号RFAにおいて示されるロウアドレス(図の例では、「2」及び「3」の各々)に対するリフレッシュ動作が実行される。
【0082】
このようにして、所定期間内の読み出し又は書き込みアクセスが高頻度(High)である場合には、所定数(図の例では、3つ)のリフレッシュ要求信号SRREQが生成される毎に1つのリフレッシュ信号REFが生成される(つまり、リフレッシュ動作が1回実行される)。
【0083】
次に、時刻t15において、リフレッシュスキップ制御部180は、所定期間内の読み出し又は書き込みアクセスが中頻度(Middle)であることを示す信号ACCFREQが入力されている場合に、初期値の信号SRREQCNT<n:0>がカウンタ170から入力されると、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力する。また、リフレッシュスキップ部190は、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをハイレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力する。さらに、シーケンサ150は、ハイレベルのリフレッシュ信号REFをリフレッシュアドレスカウンタ160及びロウ制御部22に出力する。これにより、信号RFAにおいて示されるロウアドレス(図の例では、「4」)に対するリフレッシュ動作が実行される。さらにまた、リフレッシュアドレスカウンタ160は、リフレッシュ信号REFのパルスが立ち下がった場合に、信号RFAにおいて示されるロウアドレスをインクリメント(図の例では、「4」から「5」にインクリメント)する。
【0084】
また、リフレッシュスキップ制御部180は、信号SRREQCNT<n:0>によって示されるリフレッシュ要求信号SRREQのパルス数が、ロウ制御部22から入力された信号ACCFREQによって示されるアクセスの頻度に対応するパルス数(図の例では、6つ)に達すると、カウント値を初期値にリセットするための信号(図示省略)をカウンタ170に出力する。このとき、カウンタ170は、リフレッシュ要求信号SRREQのパルスのカウント値を初期値にリセットする。
【0085】
そして、時刻t16において、ハイレベルのリフレッシュ信号REFがリフレッシュアドレスカウンタ160及びロウ制御部22に出力されることによって、信号RFAにおいて示されるロウアドレス(図の例では、「5」)に対するリフレッシュ動作が実行される。
【0086】
このようにして、所定期間内の読み出し又は書き込みアクセスが中頻度(Middle)である場合には、所定数(図の例では、6つ)のリフレッシュ要求信号SRREQが生成される毎に1つのリフレッシュ信号REFが生成される(つまり、リフレッシュ動作が1回実行される)。
【0087】
なお、本実施形態では、信号SRCNT<n:0>の値が初期値(ここでは、0)の場合にリフレッシュ動作が実行される場合を一例として説明したが、本発明はこの場合に限られない。例えば、信号SRCNT<n:0>の値が0以外の他の値の場合にリフレッシュ動作が実行されてもよい。
【0088】
以上述べたように、本実施形態に係る半導体記憶装置によれば、所定期間におけるメモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、間隔をおいて生成されるリフレッシュ要求信号SRREQに対して実行されるリフレッシュ動作の数を増加する(すなわち、リフレッシュ動作の実行回数を増加する)ことが可能になる。これにより、メモリのリフレッシュ動作を頻繁に行うことができ、ロウハンマー問題によるデータ破壊を回避することができる。
【0089】
(第3実施形態)
以下、本発明の第3実施形態について説明する。本実施形態の半導体記憶装置は、制御部10が、連続するロウアドレスの複数のブロック毎にリフレッシュ動作の間隔を制御する点において、上記の各実施形態と異なっている。以下、上記の各実施形態と異なる構成について説明する。
【0090】
本実施形態において、半導体記憶装置は、リフレッシュ要求に応じて、リフレッシュ動作が実行されるロウアドレスを指定するリフレッシュアドレスカウンタを複数(ここでは、4つ)のブロック毎に備えている。また、制御部10は、複数のブロック毎に、対応するリフレッシュアドレスカウンタによって指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御する。これにより、複数のブロックのうち何れかのブロックに対してリフレッシュ動作が実行される場合に、リフレッシュ動作が実行されるロウアドレスを、リフレッシュアドレスカウンタを用いて容易に指定することが可能になる。
【0091】
なお、連続するロウアドレスの数は、複数のブロック毎に同じであってもよいし、異なっていてもよい。
【0092】
図6に、第3実施形態に係る半導体記憶装置における制御部10の構成例を示す。本実施形態において、制御部10は、オシレータ100と、タイミングジェネレータ140と、シーケンサ150と、リフレッシュアドレスカウンタ160と、複数のブロック(図の例では、ブロック0~ブロック3の4つのブロック)毎に設けられたリフレッシュアドレスカウンタ161,162,163,164と、リフレッシュスキップ制御部180と、リフレッシュスキップ部190と、を備える。ここで、オシレータ100、タイミングジェネレータ140、シーケンサ150、カウンタ170及びリフレッシュスキップ部190の構成は、上述した第2実施形態と同様である。
【0093】
本実施形態において、リフレッシュアドレスカウンタ160は、リフレッシュ要求信号SRREQがタイミングジェネレータ140から入力されるように構成されてもよい。この場合、リフレッシュアドレスカウンタ160は、リフレッシュ要求信号SRREQのパルスの数を所定範囲(例えば、0~3)内で循環するようにカウントしてもよい。さらに、リフレッシュアドレスカウンタ160は、例えば、0番目からカウントして所定番目(例えば、4番目)のリフレッシュ要求信号SRREQのパルスの立ち上がりエッジ毎に、リフレッシュ動作の対象となるブロックを他のブロックに切り替えるための信号RFA(BLOCK)を、リフレッシュスキップ制御部180に出力してもよい。また、リフレッシュアドレスカウンタ160は、信号RFA(BLOCK)を出力している間、シーケンサ150から入力されたリフレッシュ信号REFを、各ブロックのリフレッシュアドレスカウンタ161~164のうち当該信号RFA(BLOCK)で指定したブロック(例えば、ブロック0)に対応するリフレッシュアドレスカウンタ(例えば、リフレッシュアドレスカウンタ161)に出力する。
【0094】
ブロック0のリフレッシュアドレスカウンタ161は、リフレッシュ動作の対象となるブロック0内のロウアドレスを示す信号RFA BLK0をロウ制御部22に出力する。また、リフレッシュアドレスカウンタ161は、ブロック0に対してリフレッシュ動作が行われる毎に、リフレッシュ動作の対象となるブロック0内のロウアドレスをインクリメントするように構成されている。
【0095】
ブロック1のリフレッシュアドレスカウンタ162は、リフレッシュ動作の対象となるブロック1内のロウアドレスを示す信号RFA BLK1をロウ制御部22に出力する。また、リフレッシュアドレスカウンタ162は、ブロック1に対してリフレッシュ動作が行われる毎に、リフレッシュ動作の対象となるブロック1内のロウアドレスをインクリメントするように構成されている。
【0096】
ブロック2のリフレッシュアドレスカウンタ163は、リフレッシュ動作の対象となるブロック2内のロウアドレスを示す信号RFA BLK2をロウ制御部22に出力する。また、リフレッシュアドレスカウンタ161は、ブロック2に対してリフレッシュ動作が行われる毎に、リフレッシュ動作の対象となるブロック2内のロウアドレスをインクリメントするように構成されている。
【0097】
ブロック3のリフレッシュアドレスカウンタ164は、リフレッシュ動作の対象となるブロック3内のロウアドレスを示す信号RFA BLK3をロウ制御部22に出力する。また、リフレッシュアドレスカウンタ164は、ブロック3に対してリフレッシュ動作が行われる毎に、リフレッシュ動作の対象となるブロック3内のロウアドレスをインクリメントするように構成されている。
【0098】
本実施形態において、リフレッシュスキップ制御部180は、初期値の信号SRREQCNT<n:0>がカウンタ170から入力されると、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力する。また、リフレッシュスキップ制御部180は、信号SRREQCNT<n:0>によって示されるリフレッシュ要求信号SRREQのパルス数が、リフレッシュアドレスカウンタ160から入力されたRFA(BLOCK)信号によって示されるブロックに対するアクセスの頻度(ロウ制御部22から入力された信号ACCFREQによって示される)に対応するパルス数に達する毎に、カウント値を初期値にリセットするための信号(図示省略)をカウンタ170に出力してもよい。ここで、信号ACCFREQは、所定期間内の読み出し又は書き込みアクセス要求の頻度を複数のブロック0~3毎に示すように構成されてもよい。
【0099】
次に、本実施形態の半導体記憶装置の動作について
図7を参照して説明する。
図7は、半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【0100】
なお、ここでは、
図7に示すように、ブロック0に対するアクセスの頻度(ACCFREQ(BLK0))及びブロック3に対するアクセスの頻度(ACCFREQ(BLK3))が低頻度(Low)であり、ブロック1に対するアクセスの頻度(ACCFREQ(BLK1))が中頻度(Middle)であり、ブロック2に対するアクセスの頻度(ACCFREQ(BLK2))が高頻度(High)である場合を一例として説明する。
【0101】
また、ここでは、
図7に示すように、ブロックに対するアクセスが低頻度(Low)の場合に、4つのリフレッシュ要求信号SRREQ毎に1つのリフレッシュ信号REFが生成され、ブロックに対するアクセスが中頻度(Middle)の場合に、4つのリフレッシュ要求信号SRREQ毎に2つのリフレッシュ信号REFが生成され、ブロックに対するアクセスが高頻度(High)の場合に、4つのリフレッシュ要求信号SRREQの各々に対してリフレッシュ信号REFが生成される場合を一例として説明する。
【0102】
時刻t21において、リフレッシュアドレスカウンタ160は、ブロック0をリフレッシュ動作の対象として指定するための信号RFA(BLOCK)を、リフレッシュスキップ制御部180に出力する。リフレッシュスキップ制御部180は、リフレッシュアドレスカウンタ160から入力された信号RFA(BLOCK)と、ロウ制御部22から入力された信号ACCFREQとに基づいて、アクセスが低頻度であるブロック0がリフレッシュ動作の対象として指定されたと判別する。
【0103】
ここで、リフレッシュスキップ制御部180は、初期値の信号SRREQCNT<n:0>がカウンタ170から入力されると、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力してもよい。また、リフレッシュスキップ制御部180は、初期値以外の値の信号SRREQCNT<n:0>がカウンタ170から入力されると、ローレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力してもよい。
【0104】
これにより、初期値の信号SRREQCNT<n:0>がリフレッシュスキップ制御部180に入力された場合に、信号RFA BLK0において示されるロウアドレス(図の例では、「0」)に対するリフレッシュ動作が実行される。また、ブロック0のリフレッシュアドレスカウンタ161は、リフレッシュ信号REFのパルスが立ち下がった場合に、信号RFA BLK0において示されるロウアドレスをインクリメント(図の例では、「0」から「1」にインクリメント)する。
【0105】
このようにして、所定期間内の読み出し又は書き込みアクセスが低頻度(Low)であるブロック0に対して1つのリフレッシュ信号REFが生成される(つまり、リフレッシュ動作が1回実行される)。
【0106】
リフレッシュアドレスカウンタ160は、時刻t22において、所定数のリフレッシュ信号REF(例えば、4つのリフレッシュ信号REF)を受信すると、カウント値を1つ増加させ、ブロック1がリフレッシュ動作の対象であることを示す信号RFA(BLOCK)をリフレッシュスキップ制御部180に出力する。リフレッシュスキップ制御部180は、リフレッシュアドレスカウンタ160から入力された信号RFA(BLOCK)と、ロウ制御部22から入力された信号ACCFREQとに基づいて、アクセスが中頻度であるブロック1がリフレッシュ動作の対象として指定されたと判別する。
【0107】
ここで、リフレッシュスキップ制御部180は、初期値の信号SRREQCNT<n:0>がカウンタ170から入力されると、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力してもよい。また、リフレッシュスキップ制御部180は、初期値以外の所定値(ここでは、2)の信号SRREQCNT<n:0>がカウンタ170から入力されると、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力してもよい。
【0108】
これにより、初期値の信号SRREQCNT<n:0>がリフレッシュスキップ制御部180に入力された場合に、信号RFA BLK1において示されるロウアドレス(図の例では、「0」)に対するリフレッシュ動作が実行される。このとき、ブロック1のリフレッシュアドレスカウンタ162は、リフレッシュ信号REFのパルスが立ち下がった場合に、信号RFA BLK1において示されるロウアドレスをインクリメント(図の例では、「0」から「1」にインクリメント)する。
【0109】
また、初期値以外の所定値(ここでは、2)の信号SRREQCNT<n:0>がリフレッシュスキップ制御部180に入力された場合に、信号RFA BLK1において示されるロウアドレス(図の例では、「1」)に対するリフレッシュ動作が実行される。ブロック1のリフレッシュアドレスカウンタ162は、リフレッシュ信号REFのパルスが立ち下がった場合に、信号RFA BLK1において示されるロウアドレスをインクリメント(図の例では、「1」から「2」にインクリメント)する。
【0110】
このようにして、所定期間内の読み出し又は書き込みアクセスが中頻度(Middle)であるブロック1に対して2つのリフレッシュ信号REFが生成される(つまり、リフレッシュ動作が2回実行される)。
【0111】
リフレッシュアドレスカウンタ160は、時刻t23において、所定数のリフレッシュ信号REF(例えば、4つのリフレッシュ信号REF)を受信すると、カウント値を1つ増加させ、ブロック2がリフレッシュ動作の対象であることを示す信号RFA(BLOCK)をリフレッシュスキップ制御部180に出力する。リフレッシュスキップ制御部180は、リフレッシュアドレスカウンタ160から入力された信号RFA(BLOCK)と、ロウ制御部22から入力された信号ACCFREQとに基づいて、アクセスが高頻度であるブロック2がリフレッシュ動作の対象として指定されたと判別する。
【0112】
ここで、リフレッシュスキップ制御部180は、信号SRREQCNT<n:0>がカウンタ170から入力される毎に、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力してもよい。
【0113】
これにより、信号SRREQCNT<n:0>がリフレッシュスキップ制御部180に入力される毎に、信号RFA BLK2において示されるロウアドレス(図の例では、「0」、「1」、「2」、「3」)に対するリフレッシュ動作が順次実行される。このとき、ブロック1のリフレッシュアドレスカウンタ162は、信号RFA BLK2において示されるロウアドレスをインクリメント(図の例では、「0」~「4」までインクリメント)する。
【0114】
このようにして、所定期間内の読み出し又は書き込みアクセスが高頻度(High)であるブロック2に対して4つのリフレッシュ信号REFが生成される(つまり、リフレッシュ動作が4回実行される)。
【0115】
リフレッシュアドレスカウンタ160は、時刻t24において、所定数のリフレッシュ信号REF(例えば、4つのリフレッシュ信号REF)を受信すると、カウント値を1つ増加させ、ブロック3がリフレッシュ動作の対象であることを示す信号RFA(BLOCK)をリフレッシュスキップ制御部180に出力する。リフレッシュスキップ制御部180は、リフレッシュアドレスカウンタ160から入力された信号RFA(BLOCK)と、ロウ制御部22から入力された信号ACCFREQとに基づいて、アクセスが低頻度であるブロック3がリフレッシュ動作の対象として指定されたと判別する。
【0116】
なお、ブロック3に対するリフレッシュ動作に関する処理は、上述したブロック0に対するリフレッシュ動作に関する処理と同様である。
【0117】
リフレッシュアドレスカウンタ160は、時刻t25において、所定数のリフレッシュ信号REF(例えば、4つのリフレッシュ信号REF)を受信した場合であって、カウント値が所定の閾値(例えば、3)に達した場合に、カウント値を初期値(例えば、0)にリセットし、ブロック0がリフレッシュ動作の対象であることを示す信号RFA(BLOCK)をリフレッシュスキップ制御部180に出力する。この場合、ブロック0のリフレッシュアドレスカウンタ161は、リフレッシュ信号REFが入力されると、信号RFA BLK0において示されるロウアドレスをインクリメント(図の例では、「1」から「2」にインクリメント)する。
【0118】
リフレッシュアドレスカウンタ160は、時刻t26において、所定数のリフレッシュ信号REF(例えば、4つのリフレッシュ信号REF)を受信すると、カウント値を1つ増加させ、ブロック1がリフレッシュ動作の対象であることを示す信号RFA(BLOCK)をリフレッシュスキップ制御部180に出力する。この場合、ブロック1のリフレッシュアドレスカウンタ161は、リフレッシュ信号REFが入力されると、信号RFA BLK1において示されるロウアドレスをインクリメント(図の例では、「2」から「4」にインクリメント)する。
【0119】
なお、本実施形態では、ブロックに対するアクセスが低頻度(Low)であって信号SRCNT<n:0>の値が初期値(ここでは、0)の場合に、及び、ブロックに対するアクセスが中頻度(Middle)であって信号SRCNT<n:0>の値が初期値(ここでは、0)又は所定値(ここでは、2)の場合にリフレッシュ動作が実行される場合を一例として説明したが、本発明はこの場合に限られない。例えば、信号SRCNT<n:0>の値が他の任意の値の場合にリフレッシュ動作が実行されてもよい。
【0120】
以上述べたように、本実施形態に係る半導体記憶装置によれば、例えば、複数のブロック0~3のうち読み出し又は書き込みアクセス要求の頻度が高いブロックではリフレッシュ動作の間隔が短くなるように制御し、複数のブロックのうち読み出し又は書き込みアクセス要求の頻度が低いブロックではリフレッシュ動作の間隔が長くなるように制御することが可能になる。これにより、メモリ全体において短い間隔でリフレッシュ動作が実行される場合と比較して、リフレッシュ動作の実行回数を低減することができるので、半導体記憶装置の消費電力が増大するのをさらに抑制することができる。
【0121】
以下、上述した第3実施形態の変形例について説明する。
(変形例)
上記の第3実施形態では、リフレッシュアドレスカウンタ161~164が複数のブロック0~3毎に設けられている場合を一例として説明したが、本発明はこの場合に限られない。例えば、制御部10は、リフレッシュアドレスカウンタ161~164を用いることなく、複数のブロック毎に、リフレッシュアドレスカウンタ160(
図8に示す)によって指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御してもよい。これにより、複数のブロックのうち何れかのブロックに対してリフレッシュ動作が実行される場合に、リフレッシュ動作が実行されるロウアドレスを、1つのリフレッシュアドレスカウンタ160を用いて容易に指定することが可能になる。
【0122】
また、本変形例において、制御部10は、リフレッシュアドレスカウンタ160によって指定されたロウアドレスが、対応するブロックにおける読み出し又は書き込みアクセス要求の頻度が高いほど多くなるように設定された1つ以上の所定のロウアドレスの何れかと一致する場合に、指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御してもよい。この場合、複数のブロックのうち何れかのブロックに対する読み出し又は書き込みアクセス要求の頻度が高いほど、当該何れかのブロックにおいてリフレッシュ動作が実行されるロウアドレスの数を増加することが可能になる。これにより、1つのリフレッシュアドレスカウンタ160を用いた場合であっても、リフレッシュ動作の実行回数を、対応するブロックにおける読み出し又は書き込みアクセス要求の頻度に応じて複数のブロック毎に制御することが可能になる。
【0123】
ここで、所定のロウアドレスは、同一のブロックがリフレッシュ動作の対象として選択される毎に変更可能に設定されていてもよい。これにより、例えば、同一のブロックがリフレッシュ動作の対象として所定回数選択されることによって、当該ブロック内の全てのロウアドレスに対してリフレッシュ動作を実行することが可能になる。
【0124】
図8に、変形例に係る半導体記憶装置における制御部10の構成例を示す。本変形例において、制御部10は、オシレータ100と、カウンタ110と、ルックアップテーブル120と、コンパレータ130と、タイミングジェネレータ140と、シーケンサ150と、リフレッシュアドレスカウンタ160と、リフレッシュスキップ制御部180と、リフレッシュスキップ部190と、を備える。ここで、オシレータ100、カウンタ110、ルックアップテーブル120、コンパレータ130、タイミングジェネレータ140及びシーケンサ150の構成は、上述した第1実施形態と同様である。
【0125】
本変形例において、リフレッシュアドレスカウンタ160は、上述した第1実施形態と同様に、信号RFAをロウ制御部22に出力する。また、本変形例において、リフレッシュアドレスカウンタ160は、信号RFAをリフレッシュスキップ制御部180にも出力する。さらに、リフレッシュアドレスカウンタ160は、リフレッシュ動作が行われる毎に、及び、リフレッシュ動作の対象となるロウアドレスをインクリメントするための信号RFAINCがリフレッシュスキップ部190から入力される毎に、リフレッシュ動作の対象となるロウアドレスをインクリメントするように構成されている。なお、本変形例では、ロウアドレスは、例えば、所定範囲(例えば、0~3)内で循環するようにインクリメントされてもよい。
【0126】
さらにまた、リフレッシュアドレスカウンタ160は、メモリセルアレイ24内の全てのロウアドレスが一通りカウントされる毎に、全てのロウアドレスの周回数をインクリメントし、周回数を示す信号CNTをリフレッシュスキップ制御部180に出力するように構成されている。ここで、周回数は、例えば、所定範囲(例えば、0~3)内で循環するようにインクリメントされてもよい。また、
図8には示されていないが、リフレッシュアドレスカウンタ160は、上述した第2実施形態と同様に、リフレッシュ動作の対象となるブロックを指定するための信号RFA(BLOCK)をリフレッシュスキップ制御部180に出力してもよい。
【0127】
本変形例において、リフレッシュスキップ制御部180は、リフレッシュアドレスカウンタ160から入力されたRFA(BLOCK)信号によって示されるブロックに対するアクセスの頻度(ロウ制御部22から入力された信号ACCFREQ(BLOCK)によって示される)と、リフレッシュアドレスカウンタ160から入力された信号RFA及び信号CNTとに基づいて、信号RFAによって示されたロウアドレスに対してリフレッシュを実行するか否かを示すリフレッシュスキップ信号REFSKIPを、リフレッシュスキップ部190に出力する。
【0128】
ここで、リフレッシュスキップ制御部180は、例えば、
図9に示すルックアップテーブルを用いて、信号RFAによって示されたロウアドレスに対してリフレッシュを実行するか否かを判別してもよい。
図9(a)~(c)は、ルックアップテーブルの構成例を示す図である。ルックアップテーブルは、
図9(a)~(c)に示すように、信号RFAの値(図の例では、0~3)毎及び信号CNTの値(図の例では0~3)毎に、リフレッシュ動作が実行されるか否か(リフレッシュ動作がスキップされる)を示す情報が対応付けられているように構成されてもよい。
【0129】
図9(a)には、RFA(BLOCK)信号によって示されるブロックに対するアクセスの頻度が低頻度(Low)である場合の信号CNTの値と信号RFAの値との関係の一例が示されている。
図9(a)に示す例では、信号CNTの値が0の場合に、0番目のロウアドレス(RFA<1:0>の値が「0」)に対してリフレッシュ動作が実行され、1~3番目のロウアドレス(RFA<1:0>の値が「1」~「3」)に対してリフレッシュ動作が実行されない(リフレッシュ動作がスキップされる)ように設定されている。すなわち、この場合には、0番目のロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。また、信号CNTの値が1の場合には、1番目のロウアドレスのみに対してリフレッシュ動作が実行されるように設定されている。すなわち、この場合には、1番目のロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。さらに、信号CNTの値が2の場合には、2番目のロウアドレスのみに対してリフレッシュ動作が実行されるように設定されている。すなわち、この場合には、2番目のロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。さらにまた、信号CNTの値が3の場合には、3番目のロウアドレスのみに対してリフレッシュ動作が実行されるように設定されている。すなわち、この場合には、3番目のロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。つまり、ブロックに対するアクセスの頻度が低頻度(Low)の場合には、メモリセルアレイ24内の全てのアドレスの周回毎に、当該ブロック内のアドレス0~3のうち1つのアドレスに対してリフレッシュ動作が実行され、所定のロウアドレスは、当該ブロックがリフレッシュ動作の対象として選択される毎に変更されるようになっている。また、メモリセルアレイ24内の全てのアドレスの4回の周回(すなわち、このブロックがリフレッシュ動作の対象として4回選択されること)によって、当該ブロック内の全てのアドレス0~3がリフレッシュされることになる。
【0130】
図9(b)には、RFA(BLOCK)信号によって示されるブロックに対するアクセスの頻度が中頻度(Middle)である場合の信号CNTの値と信号RFAの値との関係の一例が示されている。
図9(b)に示す例では、信号CNTの値が0の場合に、0番目及び2番目のロウアドレス(RFA<1:0>の値が「0」及び「2」)に対してリフレッシュ動作が実行され、1番目及び3番目のロウアドレス(RFA<1:0>の値が「1」及び「3」)に対してリフレッシュ動作が実行されない(リフレッシュ動作がスキップされる)ように設定されている。すなわち、この場合には、0番目及び2番目のロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。また、信号CNTの値が1の場合には、1番目及び3番目のロウアドレスのみに対してリフレッシュ動作が実行されるように設定されている。すなわち、この場合には、1番目及び3番目のロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。さらに、信号CNTの値が2の場合には、0番目及び2番目のロウアドレスのみに対してリフレッシュ動作が実行されるように設定されている。すなわち、この場合には、0番目及び2番目のロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。さらにまた、信号CNTの値が3の場合には、1番目及び3番目のロウアドレスのみに対してリフレッシュ動作が実行されるように設定されている。すなわち、この場合には、1番目及び3番目のロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。つまり、ブロックに対するアクセスの頻度が中頻度(Middle)の場合には、メモリセルアレイ24内の全てのアドレスの周回毎に、当該ブロック内のアドレス0~3のうち2つのアドレスに対してリフレッシュ動作が実行され、所定のロウアドレスは、当該ブロックがリフレッシュ動作の対象として選択される毎に変更されるようになっている。また、メモリセルアレイ24内の全てのアドレスの2回の周回(すなわち、このブロックがリフレッシュ動作の対象として2回選択されること)によって、当該ブロック内の全てのアドレス0~3がリフレッシュされることになる。
【0131】
図9(c)には、RFA(BLOCK)信号によって示されるブロックに対するアクセスの頻度が高頻度(High)である場合の信号CNTの値と信号RFAの値との関係の一例が示されている。
図9(c)に示す例では、信号CNTの値が0の場合に、0番目~3番目のロウアドレス(RFA<1:0>の値が「0」~「3」)の各々に対してリフレッシュ動作が実行されるように設定されている。すなわち、この場合には、0番目~3番目の全てのロウアドレスが、リフレッシュ動作が実行される所定のロウアドレスとして設定されている。また、信号CNTの値が1~3の場合にも、0番目~3番目のロウアドレスの各々に対してリフレッシュ動作が実行されるように設定されている。つまり、ブロックに対するアクセスの頻度が高頻度(High)の場合には、メモリセルアレイ24内の全てのアドレスの周回毎(すなわち、このブロックがリフレッシュ動作の対象として選択される毎)に、当該ブロック内の全てのアドレス0~3に対してリフレッシュ動作が実行されることになる。
【0132】
リフレッシュスキップ制御部180は、
図9(a)~(c)に示すルックアップテーブルを用いて、信号RFAによって示されたロウアドレスに対してリフレッシュ動作を実行するか否かを判別する。そして、リフレッシュスキップ制御部180は、リフレッシュ動作を実行すると判別した場合に、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力し、リフレッシュ動作を実行しない(スキップする)と判別した場合に、ローレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力する。
【0133】
本変形例において、リフレッシュスキップ部190は、ハイレベルのリフレッシュスキップ信号REFSKIPがリフレッシュスキップ制御部180から入力されている場合に、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをハイレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力する。また、リフレッシュスキップ部190は、ローレベルのリフレッシュスキップ信号REFSKIPがリフレッシュスキップ制御部180から入力されている場合に、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをローレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力し、信号RFAINCをリフレッシュアドレスカウンタ160に出力する。
【0134】
次に、本変形例の半導体記憶装置の動作について
図10~
図12を参照して説明する。
図10~
図12は、半導体記憶装置内の各部の信号の電圧の推移を示すタイムチャートである。
【0135】
なお、ここでは、ブロック0及びブロック3に対するアクセスの頻度(ACCFREQ(BLOCK))が低頻度(Low)であり、ブロック1に対するアクセスの頻度が中頻度(Middle)であり、ブロック2に対するアクセスの頻度(ACCFREQ(BLK2))が高頻度(High)である場合を一例として説明する。
【0136】
図10は、ブロック0の各ロウアドレス0~3に対してリフレッシュ動作を実行する場合を一例として示している。先ず、リフレッシュアドレスカウンタ160は、周回が0回目であることを示す信号CNTと、リフレッシュ動作の対象が0番目のロウアドレスであることを示す信号RFAと、リフレッシュ動作の対象がブロック0であることを示す信号RFA(BLOCK)と、をリフレッシュスキップ制御部180に出力する。この場合、リフレッシュスキップ制御部180は、リフレッシュアドレスカウンタ160から入力された各信号と、
図9(a)に示すルックアップテーブルとを用いて、0番目のロウアドレスに対してリフレッシュ動作を実行すると判別する。そして、リフレッシュスキップ制御部180は、ハイレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力する。このとき、リフレッシュスキップ部190は、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをハイレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力する。そして、シーケンサ150からリフレッシュ信号REFが出力されることによって、0番目のロウアドレスに対してリフレッシュ動作が実行される。
【0137】
また、リフレッシュアドレスカウンタ160は、シーケンサ150からリフレッシュ信号が入力されると、リフレッシュ動作の対象が1番目のロウアドレスであることを示す信号RFAを、リフレッシュスキップ制御部180に出力する。ここで、リフレッシュスキップ制御部180は、リフレッシュアドレスカウンタ160から入力された各信号と、
図9(a)に示すルックアップテーブルとを用いて、1番目のロウアドレスに対してリフレッシュ動作を実行しない(リフレッシュ動作をスキップ)すると判別する。そして、リフレッシュスキップ制御部180は、ローレベルのリフレッシュスキップ信号REFSKIPをリフレッシュスキップ部190に出力する。このとき、リフレッシュスキップ部190は、タイミングジェネレータ140から出力されたリフレッシュ要求信号SRREQをローレベルのリフレッシュトリガ信号SRTRGに変換してシーケンサ150に出力する。また、リフレッシュスキップ部190は、リフレッシュ動作の対象となるロウアドレスをインクリメントするための信号RFAINCをリフレッシュアドレスカウンタ160に出力する。そして、シーケンサ150からローレベルのリフレッシュ信号REFが出力されることによって、1番目のロウアドレスに対するリフレッシュ動作がスキップされる。
【0138】
次に、リフレッシュアドレスカウンタ160は、リフレッシュスキップ部190から信号RFAINCが入力されると、リフレッシュ動作の対象が2番目のロウアドレスであることを示す信号RFAを、リフレッシュスキップ制御部180に出力する。この場合、リフレッシュスキップ制御部180は、
図9(a)に示すルックアップテーブルに基づいて、1番目のロウアドレスに対してリフレッシュ動作を実行しない(リフレッシュ動作をスキップ)すると判別する。よって、1番目のロウアドレスの場合と同様に、2番目のロウアドレスに対するリフレッシュ動作がスキップされる。また、リフレッシュ動作の対象が3番目のロウアドレスであることを示す信号RFAがリフレッシュアドレスカウンタ160から出力された場合も同様に、3番目のロウアドレスに対するリフレッシュ動作がスキップされる。
【0139】
このようにして、
図10(a)に示すように、0回目の周回(信号CNTの値が「0」)の場合には、ブロック0(信号RFA(BLOCK)の値が0)の0番目のロウアドレス(RFA[1:0]の値が「0」)に対してリフレッシュ動作が実行される。また、
図10(b)に示すように、1回目の周回(信号CNTの値が「1」)の場合には、ブロック0の1番目のロウアドレス(RFA[1:0]の値が「1」)に対してリフレッシュ動作が実行される。さらに、
図10(c)に示すように、2回目の周回(信号CNTの値が「2」)の場合には、ブロック0の2番目のロウアドレス(RFA[1:0]の値が「2」)に対してリフレッシュ動作が実行される。そして、
図10(d)に示すように、3回目の周回(信号CNTの値が「3」)の場合には、ブロック0の3番目のロウアドレス(RFA[1:0]の値が「3」)に対してリフレッシュ動作が実行される。
【0140】
したがって、ブロック0に対するアクセスの頻度が低頻度(Low)の場合には、メモリセルアレイ24内の全てのアドレスの周回毎に、ブロック0内のアドレス0~3のうち1つのアドレスに対してリフレッシュ動作が実行され、4回の周回によって、ブロック0内の全てのアドレス0~3がリフレッシュされる。
【0141】
図11は、ブロック1の各ロウアドレス0~3に対してリフレッシュ動作を実行する場合を一例として示している。
図11(a)に示すように、0回目の周回(信号CNTの値が「0」)の場合には、ブロック1(信号RFA(BLOCK)の値が1)の0番目のロウアドレス(RFA[1:0]の値が「0」)及び2番目のロウアドレス(RFA[1:0]の値が「2」)に対してリフレッシュ動作が実行される。次に、
図10(b)に示すように、1回目の周回(信号CNTの値が「1」)の場合には、ブロック1の1番目のロウアドレス(RFA[1:0]の値が「1」)及び3番目のロウアドレス(RFA[1:0]の値が「3」)に対してリフレッシュ動作が実行される。次いで、
図11(c)に示すように、2回目の周回(信号CNTの値が「2」)の場合には、ブロック1の0番目のロウアドレス及び2番目のロウアドレスに対してリフレッシュ動作が実行される。そして、
図11(d)に示すように、3回目の周回(信号CNTの値が「3」)の場合には、ブロック1の1番目のロウアドレス及び3番目のロウアドレスに対してリフレッシュ動作が実行される。
【0142】
このようにして、ブロック1に対するアクセスの頻度が中頻度(Middle)の場合には、メモリセルアレイ24内の全てのアドレスの周回毎に、ブロック1内のアドレス0~3のうち2つのアドレスに対してリフレッシュ動作が実行され、2回の周回によって、ブロック1内の全てのアドレス0~3がリフレッシュされる。
【0143】
図12は、ブロック2の各ロウアドレス0~3に対してリフレッシュ動作を実行する場合を一例として示している。
図12(a)に示すように、0回目の周回(信号CNTの値が「0」)の場合には、ブロック2(信号RFA(BLOCK)の値が2)の0~3番目のロウアドレス(RFA[1:0]の値が「0」~「3」)の各々に対してリフレッシュ動作が実行される。そして、
図12(b)~(d)に示すように、1~3回目の周回(信号CNTの値が「1」~「3」)の場合においても、ブロック2の0~3番目のロウアドレス(RFA[1:0]の値が「0」~「3」)の各々に対してリフレッシュ動作が実行される。
【0144】
このようにして、ブロック2に対するアクセスの頻度が高頻度(High)の場合には、メモリセルアレイ24内の全てのアドレスの周回毎に、ブロック2内の全てのアドレス0~3に対してリフレッシュ動作が実行される。
【0145】
なお、ブロック3に対するリフレッシュ動作に関する処理は、上述したブロック0に対するリフレッシュ動作に関する処理と同様である。
【0146】
また、本変形例では、複数のブロック0~3毎に4つのロウアドレス0~3が設定されている場合を一例として説明したが、本発明はこの場合に限られない。例えば、複数のブロック0~3毎に4つ以外の複数のロウアドレスが設定されていてもよい。
【0147】
以上述べたように、本変形例に係る半導体記憶装置によれば、第3実施形態と同様の作用及び効果を発揮することができる。
【0148】
以上説明した各実施形態及び変形例は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記各実施形態及び変形例に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【0149】
例えば、上述した第3実施形態及び変形例では、制御部10が、4つのブロック毎にリフレッシュ動作の間隔を制御する場合を一例として説明したが、本発明はこの場合に限定されない。例えば、制御部10は、4つ以外の複数のブロック毎にリフレッシュ動作の間隔を制御してもよい。
【0150】
また、上述した各実施形態では、アクセスの頻度が3つ(低頻度、中頻度、高頻度)に分類されている場合を一例として説明したが、本発明はこの場合に限定されない。例えば、アクセスの頻度は、2つ又は4つ以上に分類されてもよい。
【0151】
さらに、上述した各実施形態及び変形例における制御部10の構成は一例であり、適宜変更されてもよいし、他の様々な構成が採用されてもよい。
【符号の説明】
【0152】
10…制御部
20…メモリ
160…リフレッシュアドレスカウンタ
161…ブロック0のリフレッシュアドレスカウンタ
162…ブロック1のリフレッシュアドレスカウンタ
163…ブロック2のリフレッシュアドレスカウンタ
164…ブロック3のリフレッシュアドレスカウンタ
REF…リフレッシュ信号
SRREQ…リフレッシュ要求信号
【手続補正書】
【提出日】2022-03-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メモリのリフレッシュ動作の間隔を制御する制御部であって、所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど前記メモリのリフレッシュ動作の間隔を短くするように制御する制御部を備え、
前記制御部は、連続するロウアドレスの複数のブロック毎にリフレッシュ動作の間隔を制御し、
リフレッシュ要求に応じて、リフレッシュ動作が実行されるロウアドレスを指定するリフレッシュアドレスカウンタを前記複数のブロック毎に備え、
前記制御部は、前記複数のブロック毎に、対応するリフレッシュアドレスカウンタによって指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御する、
半導体記憶装置。
【請求項2】
メモリのリフレッシュ動作の間隔を制御する制御部であって、所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど前記メモリのリフレッシュ動作の間隔を短くするように制御する制御部を備え、
前記制御部は、連続するロウアドレスの複数のブロック毎にリフレッシュ動作の間隔を制御し、
リフレッシュ要求に応じて、リフレッシュ動作が実行されるロウアドレスを指定するリフレッシュアドレスカウンタを備え、
前記制御部は、前記複数のブロック毎に、前記リフレッシュアドレスカウンタによって指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御する、
半導体記憶装置。
【請求項3】
前記制御部は、前記リフレッシュアドレスカウンタによって指定されたロウアドレスが、対応するブロックにおける読み出し又は書き込みアクセス要求の頻度が高いほど多くなるように設定された1つ以上の所定のロウアドレスの何れかと一致する場合に、前記指定されたロウアドレスに対してリフレッシュ動作が実行されるように制御する、請求項2に記載の半導体記憶装置。
【請求項4】
前記所定のロウアドレスは、同一のブロックがリフレッシュ動作の対象として選択される毎に変更可能に設定されている、請求項3に記載の半導体記憶装置。
【請求項5】
前記制御部は、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、前記メモリのリフレッシュ動作を実行するために間隔をおいて生成されるリフレッシュ要求の間隔を短くするように制御する、請求項1~4の何れかに記載の半導体記憶装置。
【請求項6】
前記制御部は、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度が高いほど、前記メモリのリフレッシュ動作を実行するために間隔をおいて生成されるリフレッシュ要求に対して実行されるリフレッシュ動作の数を増加するように制御する、請求項1~4の何れかに記載の半導体記憶装置。
【請求項7】
前記制御部は、前記所定期間が経過する毎に、前記所定期間における前記メモリに対する読み出し又は書き込みアクセス要求の頻度に応じて前記メモリのリフレッシュ動作の間隔を制御する、請求項1~6の何れかに記載の半導体記憶装置。
【請求項8】
前記メモリに対する読み出し又は書き込みアクセス要求の頻度は、所定数に分類されている、請求項1~7の何れかに記載の半導体記憶装置。