(57)【要約】【課題】アクセス対象の回路の不具合の発生を抑制する。【解決手段】アクセス検出部１ａは、アクセス対象回路２へのアクセスを検出し、前回アクセスされてから次回アクセスされるまでのアクセスがない期間が継続し、アクセスがない期間が第１の期間（Ｔ２）に達するまで、アクセス対象回路２の動作を第１の動作状態（通常動作状態）よりも、消費電力が低い第２の動作状態（低消費電力動作状態）に切り替えることを制限する信号を出力する。動作制御部１ｂは、その信号に応じてアクセス対象回路２の動作を制御する。【選択図】図１
2014063279.tif 000002
【特許請求の範囲】
【請求項１】
アクセス対象回路へのアクセスを検出し、前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第１の期間に達するまで、前記アクセス対象回路の動作を第１の動作状態よりも消費電力が低い第２の動作状態に切り替えることを制限する信号を出力するアクセス検出部と、
前記信号に応じて前記アクセス対象回路の動作を制御する動作制御部と、
を有する半導体装置。
【請求項２】
前記アクセス検出部は、前記アクセス対象回路が前記第２の動作状態のとき、前記第１の動作状態への切り替えを可とする条件を満たすまでは、前記アクセス対象回路の動作を前記第１の動作状態に切り替えることを制限する信号を出力する、請求項１に記載の半導体装置。
【請求項３】
前記アクセス検出部は、前記アクセス対象回路が前記第２の動作状態のとき、前記アクセスが継続し、前記アクセスが継続する期間が第２の期間に達するまで、前記アクセス対象回路の動作を前記第１の動作状態に切り替えることを制限する信号を出力する、請求項１または２に記載の半導体装置。
【請求項４】
前記アクセス対象回路を検証し、検証結果を前記アクセス検出部に通知する検証制御部を有し、
前記アクセス検出部は、前記アクセス対象回路が前記第２の動作状態のとき、前記検証制御部から、前記検証結果を受けるまでは、前記アクセス対象回路の動作を前記第１の動作状態に切り替えることを制限する信号を出力する、
請求項１または２に記載の半導体装置。
【請求項５】
前記第２の動作状態は、前記第１の動作状態よりも周期が長いクロック信号と、前記第１の動作状態よりも小さいドライブ能力で、前記アクセス対象回路を動作させる動作状態である、請求項１乃至４の何れか一項に記載の半導体装置。
【請求項６】
前記第２の動作状態は、前記アクセス対象回路の検証を行う動作状態である、請求項１乃至４の何れか一項に記載の半導体装置。
【請求項７】
前記第２の動作状態は、前記第１の動作状態よりもコマンドを前記アクセス対象回路に供給する周期が長い動作状態である、請求項１乃至４の何れか一項に記載の半導体装置。
【請求項８】
前記第２の動作状態は、前記第１の動作状態よりも１度に動作する回路数が制限された動作状態である、請求項１乃至４の何れか一項に記載の半導体装置。
【請求項９】
アクセス検出部が、
メモリへのアクセスを検出し、
前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第１の期間に達するまで、前記メモリの動作を第１の動作状態よりも消費電力が低い第２の動作状態に切り替えることを制限する信号を出力し、
動作制御部が、前記信号に応じて前記メモリの動作を制御する、
メモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びメモリの制御方法に関する。
【背景技術】
【０００２】
半導体装置において、通常の動作状態と、通常の動作状態よりも消費電力が小さいスタンバイ状態との間で遷移が行われる際、負荷が変動して大きな電圧降下が生じ、不具合が生じる懸念がある。
【０００３】
そのため、パワーオンリセット期間またはスタンバイ状態と、通常の動作状態との間で遷移が行われる際、電源電流が急激に変化しないように、たとえば、段階的にクロック信号の周波数を変える手法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３３９３１０号公報
【特許文献２】特開２００３−２７２３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、動作状態が制御される回路へのアクセスは様々な形態をとり、実際のアクセスに応じて動作状態の制御を行わないと、回路に不具合が生じる懸念があった。たとえば、回路へのアクセスが頻繁に途切れ、スタンバイ状態などのような低消費電力動作状態と、通常動作状態とが頻繁に繰り返されると、電源ノイズにより回路に不具合が発生するなどの懸念がある。
【課題を解決するための手段】
【０００６】
発明の一観点によれば、アクセス対象回路へのアクセスを検出し、前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第１の期間に達するまで、前記アクセス対象回路の動作を第１の動作状態よりも消費電力が低い第２の動作状態に切り替えることを制限する信号を出力するアクセス検出部と、前記信号に応じて前記アクセス対象回路の動作を制御する動作制御部と、を備えた半導体装置が提供される。
【０００７】
また、発明の一観点によれば、アクセス検出部が、メモリへのアクセスを検出し、前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第１の期間に達するまで、前記メモリの動作を第１の動作状態よりも消費電力が低い第２の動作状態に切り替えることを制限する信号を出力し、動作制御部が、前記信号に応じて前記メモリの動作を制御する、メモリの制御方法が提供される。
【発明の効果】
【０００８】
開示の半導体装置及びメモリの制御方法によれば、アクセス対象の回路の不具合の発生を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施の形態の半導体装置の一例とその動作例を示す図である。
【図２】第２の実施の形態の半導体装置の一例を示す図である。
【図３】アクセスモニタの一例を示す図である。
【図４】アクセスモニタの動作例を示す真理値表である。
【図５】ｔＣＫ／ＤＳ制御部の一例を示す図である。
【図６】ｔＣＫ／ＤＳ制御部の動作例を示す真理値表である。
【図７】通常動作時と低消費電力動作時のクロック信号、データ信号及び電流波形の一例を示す図である。
【図８】第２の実施の形態の半導体装置の動作例を示すフローチャートである。
【図９】第２の実施の形態の半導体装置の動作例を示すタイミングチャートである。
【図１０】第３の実施の形態の半導体装置の一例を示す図である。
【図１１】第３の実施の形態の半導体装置におけるアクセスモニタの一例を示す図である。
【図１２】アクセスモニタの動作例を示す真理値表である。
【図１３】プロトコル制御部、ベリファイタイミング制御部及びベリファイ制御部の一例を示す図である。
【図１４】ベリファイの一例の流れを示すフローチャートである。
【図１５】ライトベリファイの一例を示すタイミングチャートである。
【図１６】リードベリファイの一例を示すタイミングチャートである。
【図１７】第３の実施の形態の半導体装置の動作例を示すフローチャートである。
【図１８】第３の実施の形態の半導体装置の動作例を示すタイミングチャートである。
【図１９】第４の実施の形態の半導体装置の一例を示す図である。
【図２０】レイテンシ調整レジスタの一例を示す図である。
【図２１】レイテンシ調整レジスタの動作の一例を示す図である。
【図２２】通常動作時のレイテンシと、低消費電力動作時のレイテンシの一例を示す図である。
【図２３】ベリファイタイミング制御部の一例を示す図である。
【図２４】第４の実施の形態の半導体装置の動作例を示すフローチャートである。
【図２５】第４の実施の形態の半導体装置の動作例を示すタイミングチャートである。
【図２６】第５の実施の形態の半導体装置の一例を示す図である。
【図２７】ベリファイタイミング制御部の一例を示す図である。
【図２８】第５の実施の形態の半導体装置の動作例を示すフローチャートである。
【図２９】第５の実施の形態の半導体装置の動作例を示すタイミングチャートである。
【図３０】変形例１の半導体装置の一例を示す図である。
【図３１】変形例１の半導体装置の動作例を示すフローチャートである。
【図３２】マルチバンク動作時とマルチバンク動作制限時の動作例を示すタイミングチャートである。
【図３３】変形例２の半導体装置の一例を示す図である。
【図３４】変形例２の半導体装置の動作例を示すフローチャートである。
【図３５】マルチチャネル動作時とマルチチャネル動作制限時の動作例を示すタイミングチャートである。
【図３６】変形例３の半導体装置の一例を示す図である。
【図３７】変形例３の半導体装置の動作例を示すフローチャートである。
【図３８】データバスの動作制限を有効としたときと、無効としたときの動作例を示すタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の半導体装置の一例とその動作例を示す図である。
【００１１】
半導体装置１は、アクセス検出部１ａと動作制御部１ｂを有している。
アクセス検出部１ａは、アクセス対象回路２へのアクセスを検出し、アクセスに応じた動作切り替え信号を動作制御部１ｂに送る。アクセス検出部１ａは、アクセスがない期間が所定期間、継続するまでは、動作切り替え信号として、アクセス対象回路２の動作を第１の動作状態よりも消費電力が低い第２の動作状態に切り替えることを制限する信号を出力する。アクセス対象回路２は、たとえば、メモリである。
【００１２】
また、アクセス検出部１ａは、アクセス対象回路２が第２の動作状態のとき、所定の条件を満たすまでは、動作切り替え信号として、アクセス対象回路２の動作を第１の動作状態に切り替えることを制限する信号を出力する。
【００１３】
以下、第１の動作状態を通常動作状態、第２の動作状態を低消費電力動作状態と呼ぶ。
動作制御部１ｂは、アクセス検出部１ａからの信号をもとに、アクセス対象回路２の動作を制御する。
【００１４】
以下、図１のタイミングチャートを用いて、半導体装置１の動作の一例を説明する。タイミングチャートには、アクセス対象回路２へのアクセスの有無（アクセスが発生している場合には、１（Ｈ（High）レベル）、アクセスが発生していない場合には、０（Ｌ（Low）レベル））が示されている。また、アクセス検出部１ａから出力される動作切り替え信号の例が示されている。
【００１５】
また、動作切り替え信号が１のときは、低消費電力動作が許可され、通常動作状態に切り替わることが制限される。動作切り替え信号が０のときは、通常動作が許可され、低消費電力動作状態に切り替わることが制限される。
【００１６】
図１のように、動作切り替え信号が１のとき、アクセスが発生すると（タイミングｔ１）、アクセス検出部１ａは、たとえば、アクセスが所定期間Ｔ１だけ継続するまでは、動作切り替え信号を１に維持する。これにより、動作制御部１ｂは、アクセス対象回路２の動作状態が、通常動作状態に切り替わることを制限する。また、このときクロック周波数を通常動作状態よりも下げたり、ドライバ能力を下げたり、ベリファイを実施したり、通常の動作状態よりも消費電力の低い動作を行うことで、通常動作状態に遷移するときの負荷変動による電圧の変化を抑えることができる。
【００１７】
アクセスが所定期間Ｔ１だけ継続すると、アクセス検出部１ａは、動作切り替え信号を０にする（タイミングｔ２）。これにより、動作制御部１ｂは、アクセス対象回路２が通常動作を行うことを許容する。したがって、アクセスに応じた通常動作が行われる。
【００１８】
タイミングｔ３では、アクセスが途切れている。しかし、アクセス検出部１ａは、アクセスがない期間が、所定期間Ｔ２だけ継続するまでは、動作切り替え信号を０のまま維持し、アクセス対象回路２が低消費電力動作状態に切り替わることを制限している。
【００１９】
タイミングｔ４で再びアクセスが発生し、タイミングｔ５〜ｔ６の間では、頻繁にアクセスが途切れている。この場合も、アクセスがない期間が、所定期間Ｔ２に達していないため、アクセス検出部１ａは、動作切り替え信号を０のまま維持し、アクセス対象回路２が低消費電力動作状態に切り替わることを制限している。
【００２０】
アクセスがない期間が、所定期間Ｔ２だけ継続すると、アクセス検出部１ａは、動作切り替え信号を１にする（タイミングｔ７）。これにより、動作制御部１ｂは、アクセス対象回路２の動作状態を低消費電力動作状態とすることを許可する。
【００２１】
以上のように、第１の実施の形態の半導体装置１によれば、アクセス検出部１ａは、アクセスがない期間が所定期間、継続するまでは、アクセス対象回路２が通常動作状態から低消費電力動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力動作状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるアクセス対象回路２での不具合の発生を抑制できる。
【００２２】
また、第１の実施の形態の半導体装置１によれば、アクセス検出部１ａは、アクセス対象回路２が低消費電力状態のとき、アクセスがある期間が所定期間、継続するまでは、アクセス対象回路２が低消費電力状態から通常動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力動作状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるアクセス対象回路２での不具合の発生を抑制することができる。
【００２３】
（第２の実施の形態）
図２は、第２の実施の形態の半導体装置の一例を示す図である。
半導体装置１０は、メモリコントローラであり、ＦＩＦＯ（First-In-First-Out）１１、アービタ１２、プロトコル制御部１３、Ｑｃｎｔ生成部１４、レジスタ１５、アクセスモニタ１６、ｔＣＫ／ＤＳ制御部１７、Ｉ／Ｏ（Input / Output）回路１８を有している。
【００２４】
第２の実施の形態の半導体装置１０では、アクセスモニタ１６を用いて、図１に示したアクセス検出部１ａの機能が行われ、ｔＣＫ／ＤＳ制御部１７を用いて、図１に示した動作制御部１ｂの機能が行われる。また、第２の実施の形態では、メモリ２２がアクセス対象回路となっている。
【００２５】
ＦＩＦＯ１１は、マスタ２０−１〜２０−ｎからのコマンドなどを保持する。アービタ１２は、どのマスタ２０−１〜２０−ｎが、メモリ２２にアクセスする優先権をもつか、などを決定する。プロトコル制御部１３は、メモリ２２のプロトコルに応じた処理を行う。たとえば、プロトコル制御部１３は、プロトコルに応じたレイテンシで、コマンドをメモリ２２に送信したりする。
【００２６】
Ｑｃｎｔ生成部１４は、ＦＩＦＯ１１に外部コマンドがあるか否かを検出して、メモリ２２に対するアクセスがあるか否かを示す信号Ｑｃｎｔを生成する。以下の説明では、アクセスがある場合には、Ｑｃｎｔ＝１（Ｈレベル）、アクセスがない場合には、Ｑｃｎｔ＝０（Ｌレベル）であるとする。
【００２７】
レジスタ１５は、低消費電力動作から通常動作へ遷移する際の閾値期間と、通常動作から低消費電力動作へ遷移する際の閾値期間を表すための値を保持している。本実施の形態では、閾値期間を規定するために、アクセスモニタ１６が有する後述の２つのカウンタによるカウンタ値の、２つの上限値が保持されている。
【００２８】
アクセスモニタ１６は、信号Ｑｃｎｔ、閾値期間に応じて、低消費電力動作を有効にするか無効にするか否かを示す信号ＳＤ＿ＥＮを生成する。以下の説明では、低消費電力動作を有効にする場合は、ＳＤ＿ＥＮ＝１、低消費電力動作を無効にする場合は、ＳＤ＿ＥＮ＝０とする。アクセスモニタ１６は、信号Ｑｃｎｔを参照し、閾値期間の間、アクセスがないときには、ＳＤ＿ＥＮ＝１とし、閾値期間の間、アクセスが継続したときには、ＳＤ＿ＥＮ＝０とする。
【００２９】
ｔＣＫ／ＤＳ制御部１７は、信号ＳＤ＿ＥＮに応じたクロック信号ＣＫ及びドライバ能力設定信号ＤＳを生成する。そして、ｔＣＫ／ＤＳ制御部１７は、生成したクロック信号ＣＫを、半導体装置１０の各部に供給する。また、ｔＣＫ／ＤＳ制御部１７は、生成したドライバ能力設定信号ＤＳを、出力ドライバ１８ａを有するＩ／Ｏ回路１８に供給する。また、半導体装置１０内に含まれるトランジスタにドライバ能力設定信号ＤＳが供給されるようにしてもよい。たとえば、ｔＣＫ／ＤＳ制御部１７は、ＳＤ＿ＥＮ＝１のときには、ＳＤ＿ＥＮ＝０のときよりも、低い周波数のクロック信号ＣＫを生成するとともに、ドライバの能力を弱める旨を指定するドライバ能力設定信号ＤＳを生成する。
【００３０】
なお、クロック信号ＣＫを半導体装置１０の各部に伝達する信号線については、図示が省略されている。
また、図示を省略しているが、ｔＣＫ／ＤＳ制御部１７には、たとえば、図示しないパワーオンリセット回路などから、電源投入時などに、ＣＫ信号の周期及びＤＳ選択信号を初期化する信号ＩＮＩＴが供給される。信号ＩＮＩＴが１のときは初期化が行われる。
【００３１】
Ｉ／Ｏ回路１８は、出力ドライバ１８ａを有し、制御信号などをメモリ２２に出力する。
（アクセスモニタ１６の一例）
図３は、アクセスモニタの一例を示す図である。
【００３２】
アクセスモニタ１６は、ＡＣＴカウンタ３０、ＳＴＢカウンタ３１、比較器３２，３３、ＡＮＤ回路３４，３５，３６，３７、インバータ３８，３９，４０，４１、ＯＲ回路４２を有している。
【００３３】
ＡＣＴカウンタ３０及びＳＴＢカウンタ３１は、クロック信号ＣＫに同期してカウントを行う。また、ＡＣＴカウンタ３０及びＳＴＢカウンタ３１は、リセット端子／ＲＳＴ１，／ＲＳＴ２を有している。
【００３４】
比較器３２は、ＡＣＴカウンタ３０から出力されるカウント値と、ＡＣＴカウンタ３０のカウント値の上限値ＡＣＴ＿ＭＡＸとを比較する。比較器３３は、ＳＴＢカウンタ３１から出力されるカウント値と、ＳＴＢカウンタ３１のカウント値の上限値ＳＴＢ＿ＭＡＸとを比較する。比較器３２は、ＡＣＴカウンタ３０から出力されるカウント値が上限値ＡＣＴ＿ＭＡＸ以上の場合には、１を出力し、カウント値が上限値ＡＣＴ＿ＭＡＸよりも小さい場合には、０を出力する。比較器３３は、ＳＴＢカウンタ３１から出力されるカウント値が上限値ＳＴＢ＿ＭＡＸ以上の場合には、１を出力し、カウント値が上限値ＳＴＢ＿ＭＡＸよりも小さい場合には、０を出力する。
【００３５】
ＡＮＤ回路３４の一方の入力端子には、Ｑｃｎｔ生成部１４で生成される信号Ｑｃｎｔが入力され、他方の入力端子には、アクセスモニタ１６の出力信号である信号ＳＤ＿ＥＮが入力される。ＡＮＤ回路３４の出力端子は、ＡＣＴカウンタ３０のリセット端子／ＲＳＴ１に接続されている。
【００３６】
ＡＮＤ回路３５の一方の入力端子には、信号Ｑｃｎｔがインバータ３８を介して入力され、他方の入力端子には、信号ＳＤ＿ＥＮがインバータ３９を介して入力される。ＡＮＤ回路３５の出力端子は、ＳＴＢカウンタ３１のリセット端子／ＲＳＴ２に接続されている。
【００３７】
ＡＮＤ回路３６の一方の入力端子には、比較器３２の出力信号がインバータ４０を介して入力され、他方の入力端子には、信号ＳＤ＿ＥＮが入力される。ＡＮＤ回路３６の出力端子は、ＯＲ回路４２の一方の入力端子に接続されている。
【００３８】
ＡＮＤ回路３７の一方の入力端子には、比較器３３の出力信号が入力され、他方の入力端子には、信号ＳＤ＿ＥＮがインバータ４１を介して入力される。ＡＮＤ回路３７の出力端子は、ＯＲ回路４２の他方の入力端子に接続されている。ＯＲ回路４２の出力端子からは、アクセスモニタの出力信号である信号ＳＤ＿ＥＮが出力される。
【００３９】
（アクセスモニタ１６の動作例）
まず、ＡＣＴカウンタ３０の動作を説明する。信号ＳＤ＿ＥＮが０のとき、信号Ｑｃｎｔの値にかかわらず、ＡＮＤ回路３４の出力は０となり、ＡＣＴカウンタ３０はリセット状態となり、０を出力する。信号ＳＤ＿ＥＮが１のとき、信号Ｑｃｎｔが０であると、ＡＣＴカウンタ３０はリセット状態となり、０を出力する。信号ＳＤ＿ＥＮが１で、信号Ｑｃｎｔが１のときは、ＡＮＤ回路３４の出力は１となり、ＡＣＴカウンタ３０はクロック信号ＣＫに同期してカウントアップ動作を行う。
【００４０】
次に、ＳＴＢカウンタ３１の動作を説明する。信号ＳＤ＿ＥＮが０のとき、信号Ｑｃｎｔが０であると、ＡＮＤ回路３５の出力は１となり、ＳＴＢカウンタ３１はクロック信号ＣＫに同期してカウントアップ動作を行う。信号ＳＤ＿ＥＮが０で、信号Ｑｃｎｔが１のとき、もしくは信号ＳＤ＿ＥＮが１のときには、ＡＮＤ回路３５の出力は０となり、ＳＴＢカウンタ３１はリセット状態となり、０を出力する。
【００４１】
図４は、アクセスモニタの動作例を示す真理値表である。
信号ＡＣＴ＿ＯＵＴは、比較器３２の出力信号、信号ＳＴＢ＿ＯＵＴは比較器３３の出力信号を示している。
【００４２】
まず、現在のメモリ２２の動作状態が通常動作状態である場合について説明する。このとき、信号ＳＤ＿ＥＮは０となっている。
信号ＳＴＢ＿ＯＵＴが０であると、信号ＡＣＴ＿ＯＵＴの値にかかわらず、信号ＳＤ＿ＥＮは０となり、次の動作状態も通常動作状態となる。信号ＳＴＢ＿ＯＵＴが１であると、信号ＡＣＴ＿ＯＵＴの値にかかわらず、信号ＳＤ＿ＥＮが１となり、メモリ２２は、低消費電力動作状態となる。
【００４３】
次に、現在のメモリ２２の動作状態が低消費電力動作状態である場合について説明する。このとき、信号ＳＤ＿ＥＮは１となっている。
信号ＡＣＴ＿ＯＵＴが０であると、信号ＳＴＢ＿ＯＵＴの値にかかわらず、信号ＳＤ＿ＥＮは１のままであり、次の動作状態も低消費電力動作状態となる。信号ＡＣＴ＿ＯＵＴが１であると、信号ＳＴＢ＿ＯＵＴの値にかかわらず、信号ＳＤ＿ＥＮが０となり、メモリ２２は、通常動作状態となる。
【００４４】
（ｔＣＫ／ＤＳ制御部１７の一例）
図５は、ｔＣＫ／ＤＳ制御部の一例を示す図である。
ｔＣＫ／ＤＳ制御部１７は、選択回路５０、通常動作用ＣＫ生成部５１、通常動作用ＤＳ生成部５２、低消費電力動作用ＣＫ生成部５３、低消費電力動作用ＤＳ生成部５４を有している。
【００４５】
選択回路５０は、信号ＩＮＩＴ，ＳＤ＿ＥＮに応じて、通常動作用ＣＫ生成部５１、通常動作用ＤＳ生成部５２、低消費電力動作用ＣＫ生成部５３、低消費電力動作用ＤＳ生成部５４のうちで有効にするものを選択する。
【００４６】
通常動作用ＣＫ生成部５１は、たとえば、分周器を有し、通常動作用のクロック信号ＣＫを生成する。通常動作用ＤＳ生成部５２は、通常動作用のドライバ能力設定信号ＤＳを生成する。
【００４７】
低消費電力動作用ＣＫ生成部５３は、たとえば、分周器を有し、低消費電力動作用のクロック信号ＣＫを生成する。低消費電力動作用のクロック信号ＣＫは、通常動作用のものよりも周期ｔＣＫが長い（周波数が低い）。低消費電力動作用ＤＳ生成部５４は、低消費電力動作用のドライバ能力設定信号ＤＳを生成する。低消費電力動作用のドライバ能力設定信号ＤＳは、通常動作用のもので指定されるドライバ能力より、ドライバ能力を下げるように指定するものである。
【００４８】
（ｔＣＫ／ＤＳ制御部１７の動作例）
図６は、ｔＣＫ／ＤＳ制御部の動作例を示す真理値表である。
メモリ２２の動作状態が通常動作状態である場合、信号ＳＤ＿ＥＮは０となっている。このとき、選択回路５０は、信号ＩＮＩＴの値によらず、通常動作用ＣＫ生成部５１と、通常動作用ＤＳ生成部５２を有効にし、低消費電力動作用ＣＫ生成部５３と、低消費電力動作用ＤＳ生成部５４を無効にする。これにより、クロック信号ＣＫは、通常動作用の周期ｔＣＫとなり、ドライバ能力設定信号ＤＳは、通常動作用のものとなる。
【００４９】
メモリ２２の動作状態が低消費電力動作状態である場合、信号ＳＤ＿ＥＮは１となっている。このとき、選択回路５０は、信号ＩＮＩＴが０のときに、低消費電力動作用ＣＫ生成部５３と、低消費電力動作用ＤＳ生成部５４を有効にし、通常動作用ＣＫ生成部５１と、通常動作用ＤＳ生成部５２を無効にする。これにより、クロック信号ＣＫは、低消費電力動作用の周期ｔＣＫとなり、ドライバ能力設定信号ＤＳも低消費電力動作用のものとなる。
【００５０】
また、選択回路５０は、信号ＩＮＩＴが１のときに、通常動作用ＣＫ生成部５１と、通常動作用ＤＳ生成部５２を有効にし、低消費電力動作用ＣＫ生成部５３と、低消費電力動作用ＤＳ生成部５４を無効にする。これにより、クロック信号ＣＫは、通常動作用の周期ｔＣＫとなり、ドライバ能力設定信号ＤＳは、通常動作用のものとなる。
【００５１】
図７は、通常動作時と低消費電力動作時のクロック信号、データ信号及び電流波形の一例を示す図である。
図７では、コマンドとしてリードコマンドがＦＩＦＯ１１に供給された場合における、クロック信号ＣＫとデータ信号ＤＱ及び、半導体装置１０内及びメモリ２２内の消費電流の電流波形の例が示されている。
【００５２】
低消費電力動作時には、ｔＣＫ／ＤＳ制御部１７により、クロック信号ＣＫの周期は、通常動作時よりも長くなるように調整されている。これにより、データ信号ＤＱも、通常動作時よりもメモリ２２からゆっくり読み出される。このためメモリ２２の電流波形は通常動作の波形Ｉ１よりも低消費電力動作の波形Ｉ２のピーク電流値が低くなる。
【００５３】
また、半導体装置１０の電流については、低消費電力動作時は、半導体装置１０内のドライバ能力が制限されるので、電流波形は、通常動作時の波形Ｉ３よりもピーク電流値が小さく、スルーレート（電流の傾き）が小さい波形Ｉ４となる。
【００５４】
（半導体装置１０の全体動作例）
図８は、第２の実施の形態の半導体装置の動作例を示すフローチャートである。
最初は、カウント値ＳＴＢ，ＡＣＴ、信号ＳＤ＿ＥＮは、０であるとする。
【００５５】
アクセスモニタ１６は、信号ＳＤ＿ＥＮが１であるか否かを判定する（ステップＳ１）。メモリ２２が通常動作状態である場合には、ＳＤ＿ＥＮ＝０であるので、ステップＳ２の処理が行われる。たとえば、メモリ２２が低消費電力動作状態である場合には、ＳＤ＿ＥＮ＝１であるので、ステップＳ７の処理が行われる。
【００５６】
ステップＳ２の処理では、アクセスモニタ１６は、信号Ｑｃｎｔが０であるか否かを判定する。ＦＩＦＯ１１にコマンドが供給され、メモリ２２へのアクセスがある場合には、Ｑｃｎｔ＝１となり、アクセスモニタ１６のＳＴＢカウンタ３１はリセット状態となる。すなわち、ＳＴＢカウンタ３１でのカウント値ＳＴＢは、ＳＴＢ＝０となる（ステップＳ３）。その後、ステップＳ２からの処理が繰り返される。
【００５７】
ＦＩＦＯ１１が空の状態のとき、Ｑｃｎｔ＝０となり、アクセスモニタ１６のＳＴＢカウンタ３１はカウントアップされ、ＳＴＢ＝ＳＴＢ＋１となる（ステップＳ４）。そして、アクセスモニタ１６の比較器３３は、上限値ＳＴＢ＿ＭＡＸと、カウント値ＳＴＢとを比較する（ステップＳ５）。ＳＴＢ＜ＳＴＢ＿ＭＡＸである場合には、ステップＳ２からの処理が繰り返される。ＳＴＢ≧ＳＴＢ＿ＭＡＸである場合には、アクセスモニタ１６は、信号ＳＤ＿ＥＮを１とする（ステップＳ６）。これにより、低消費電力動作が許容される状態となる。また、このとき、ｔＣＫ／ＤＳ制御部１７は、信号ＩＮＩＴが１でなければ、低消費電力動作用の周期ｔＣＫのクロック信号を生成するとともに、低消費電力動作用のドライバ能力設定信号ＤＳを生成し、各部に供給する。その後、たとえば、電源の供給が停止されるまで、ステップＳ１からの処理が繰り返される。
【００５８】
一方、ステップＳ１の処理時において、ＳＤ＿ＥＮ＝１である場合、ステップＳ７の処理では、アクセスモニタ１６は、信号Ｑｃｎｔが０であるか否かを判定する。メモリ２２へのアクセスがなく、ＦＩＦＯ１１が空の状態のとき、Ｑｃｎｔ＝０となり、アクセスモニタ１６のＡＣＴカウンタ３０はリセット状態となる。すなわち、ＡＣＴカウンタ３０でのカウント値ＡＣＴは、ＡＣＴ＝０となる（ステップＳ８）。その後、ステップＳ７からの処理が繰り返される。
【００５９】
ＦＩＦＯ１１にコマンドが供給され、メモリ２２へのアクセスがある場合には、Ｑｃｎｔ＝１となり、アクセスモニタ１６のＡＣＴカウンタ３０はカウントアップされ、ＡＣＴ＝ＡＣＴ＋１となる（ステップＳ９）。そして、アクセスモニタ１６の比較器３２は、上限値ＡＣＴ＿ＭＡＸと、カウント値ＡＣＴとを比較する（ステップＳ１０）。ＡＣＴ＜ＡＣＴ＿ＭＡＸである場合には、ステップＳ７からの処理が繰り返される。ＡＣＴ≧ＡＣＴ＿ＭＡＸである場合には、アクセスモニタ１６は、信号ＳＤ＿ＥＮを０とする（ステップＳ１１）。これにより、通常動作が許容される状態となる。また、このとき、ｔＣＫ／ＤＳ制御部１７は、通常動作用の周期ｔＣＫのクロック信号を生成するとともに、通常動作用のドライバ能力設定信号ＤＳを生成し、各部に供給する。その後、たとえば、電源の供給が停止されるまで、ステップＳ１からの処理が繰り返される。
【００６０】
図９は、第２の実施の形態の半導体装置の動作例を示すタイミングチャートである。図９では、信号Ｑｃｎｔ、ＡＣＴカウンタ３０のカウント値ＡＣＴ、ＳＴＢカウンタ３１のカウント値ＳＴＢ、信号ＳＤ＿ＥＮ、メモリ２２の動作状態の一例の様子が示されている。クロック信号ＣＫについては図示が省略されている。
【００６１】
信号ＳＤ＿ＥＮ＝０の状態のとき、信号Ｑｃｎｔが０であるとＳＴＢカウンタ３１のカウント値ＳＴＢがクロック信号ＣＫに同期してカウントアップされていく。そして、カウント値ＳＴＢが、上限値ＳＴＢ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが１となる（タイミングｔ１０）。信号ＳＤ＿ＥＮが１の状態で、信号Ｑｃｎｔが１になると、メモリ２２の動作状態は、低消費電力動作用の周期ｔＣＫのクロック信号ＣＫ及び低消費電力動作用のドライバ能力設定信号ＤＳで動作する状態Ｌ１となる（タイミングｔ１１）。
【００６２】
また、信号Ｑｃｎｔが１になると、ＡＣＴカウンタ３０がクロック信号ＣＫに同期してカウント値ＡＣＴをカウントアップしていく。そして、カウント値ＡＣＴが、上限値ＡＣＴ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが０となる。これにより、メモリ２２の動作状態は、通常動作用の周期ｔＣＫのクロック信号ＣＫ及び通常動作用のドライバ能力設定信号ＤＳで動作する状態Ｎ１となる（タイミングｔ１２）。なお、タイミングｔ１１からｔ１２までの期間が、低消費電力動作状態から通常動作状態へ遷移することを許可する際の閾値期間Ｔ３であり、クロック信号ＣＫの周期ｔＣＫと上限値ＡＣＴ＿ＭＡＸによって規定される。
【００６３】
図９のように、信号Ｑｃｎｔは、タイミングｔ１３で、０になるが、カウント値ＳＴＢが上限値ＳＴＢ＿ＭＡＸには達しないタイミングｔ１４でＱｃｎｔ＝１に戻るため、信号ＳＤ＿ＥＮは、０のままである。そのため、メモリ２２は、アクセスが発生したタイミングｔ１４から再び通常動作を行う状態Ｎ２となる。
【００６４】
タイミングｔ１５〜ｔ１６の間では、信号Ｑｃｎｔが頻繁に０になったり１になったりしている。この場合も、カウント値ＳＴＢが上限値ＳＴＢ＿ＭＡＸに達しないため、信号ＳＤ＿ＥＮは、０のままである。そのため、メモリ２２は、信号Ｑｃｎｔが１となっている期間、通常動作を行う状態Ｎ３，Ｎ４，Ｎ５となる。
【００６５】
信号Ｑｃｎｔが０の状態で、カウント値ＳＴＢが、上限値ＳＴＢ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが１となる（タイミングｔ１７）。これにより、メモリ２２の動作状態は、信号Ｑｃｎｔが１になるタイミングｔ１８で、低消費電力動作用の周期ｔＣＫのクロック信号ＣＫ及び低消費電力動作用のドライバ能力設定信号ＤＳで動作する状態Ｌ２となる。なお、タイミングｔ１６からｔ１７までの期間が、通常動作状態から低消費電力動作状態へ遷移することを許可する際の閾値期間Ｔ４であり、クロック信号ＣＫの周期ｔＣＫと上限値ＳＴＢ＿ＭＡＸによって規定される。
【００６６】
タイミングｔ１８で、信号Ｑｃｎｔが１になることによって、ＡＣＴカウンタ３０はクロック信号ＣＫに同期してカウント値ＡＣＴをカウントアップしていく。しかし、カウント値ＡＣＴが上限値ＡＣＴ＿ＭＡＸに達しないうちに、Ｑｃｎｔ＝０となるため（タイミングｔ１９）、メモリ２２は通常動作状態に遷移しない。
【００６７】
このように、アクセスモニタ１６は、アクセスがない期間が所定期間（図９の例では閾値期間Ｔ４）、継続するまでは、メモリ２２が通常動作状態から低消費電力状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ２２での不具合の発生を抑制することができる。
【００６８】
また、アクセスモニタ１６は、メモリ２２が低消費電力状態のとき、アクセスがある期間が所定期間（図９の例では閾値期間Ｔ３）、継続するまでは、メモリ２２が低消費電力状態から通常動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ２２での不具合の発生を抑制することができる。
【００６９】
また、第２の実施の形態の半導体装置１０では、スタンバイ状態などのような低消費電力動作状態から通常動作状態に遷移する際に、通常動作時よりクロック信号の周期を長くしたり、ドライバ能力を低下させた低消費電力動作を実行する。これにより、スタンバイ状態から通常動作状態に遷移するときの負荷変動による電圧の変化を抑えることができ、メモリ２２に不具合が発生することを抑制できる。
【００７０】
（第３の実施の形態）
図１０は、第３の実施の形態の半導体装置の一例を示す図である。図２に示した第２の実施の形態の半導体装置１０と同様の要素については同一符号を付し、説明を省略する。
【００７１】
半導体装置１０ａは、メモリ２２を低消費電力状態から通常動作状態に遷移させる際に、メモリ２２に正常にデータが書き込まれたかなどの検証（ベリファイ）を行うものであり、ベリファイタイミング制御部６０とベリファイ制御部６１を有している。
【００７２】
ベリファイタイミング制御部６０は、ベリファイを実施するタイミングを制御する。ベリファイ制御部６１は、ベリファイタイミング制御部６０で指定されたタイミングでベリファイを行い、検証結果Ｖｅｒｉｆｙをアクセスモニタ１６ａに出力する。
【００７３】
アクセスモニタ１６ａは、信号Ｑｃｎｔと、レジスタ１５ａに保持されている前述の上限値ＳＴＢ＿ＭＡＸ、及びベリファイ制御部６１での検証結果Ｖｅｒｉｆｙに応じて、低消費電力動作を有効にするか無効にするか否かを示す信号ＳＤ＿ＥＮを生成する。アクセスモニタ１６ａは、メモリ２２が低消費電力動作状態のとき、正しいライトまたはリードが行われたことを示す検証結果Ｖｅｒｉｆｙが得られると、信号ＳＤ＿ＥＮを０とし、メモリ２２の動作を通常動作状態に切り替えることを許容する。以下の説明では、正しいライトまたはリードが行われたことを示す検証結果が、Ｖｅｒｉｆｙ＝１であり、正しいライトまたはリードが行われていないことを示す検証結果が、Ｖｅｒｉｆｙ＝０であるものとする。
【００７４】
（アクセスモニタ１６ａの一例）
図１１は、第３の実施の形態の半導体装置におけるアクセスモニタの一例を示す図である。図３に示したアクセスモニタ１６と同様の要素については同一符号を付し、説明を省略する。
【００７５】
第３の実施の形態の半導体装置１０ａのアクセスモニタ１６ａは、図示しないクロック信号生成部から供給されるクロック信号ＣＫに同期して、ベリファイ制御部６１での検証結果Ｖｅｒｉｆｙを保持するラッチ回路４３を有している。ラッチ回路４３の出力端子は、インバータ４４の入力端子に接続され、インバータ４４の出力端子は、ＡＮＤ回路３６の一方の入力端子に接続されている。ＡＮＤ回路３６の他方の入力端子には、アクセスモニタ１６ａの出力である信号ＳＤ＿ＥＮが入力される。ＡＮＤ回路３６の出力端子は、ＯＲ回路４２の一方の入力端子に接続されている。
【００７６】
図１２は、アクセスモニタの動作例を示す真理値表である。
まず、現在のメモリ２２の動作状態が通常動作状態である場合について説明する。このとき、信号ＳＤ＿ＥＮは０となっている。
【００７７】
比較器３３の出力信号である信号ＳＴＢ＿ＯＵＴが０であると、検証結果Ｖｅｒｉｆｙの値にかかわらず、次の動作状態も通常動作状態となり、信号ＳＤ＿ＥＮは０のままである。信号ＳＴＢ＿ＯＵＴが１になると、検証結果Ｖｅｒｉｆｙの値にかかわらず、低消費電力動作を有効にする信号ＳＤ＿ＥＮが１となり、メモリ２２は、低消費電力動作状態となる。
【００７８】
次に、現在のメモリ２２の動作状態が低消費電力動作状態である場合について説明する。このとき、信号ＳＤ＿ＥＮは１となっている。
検証結果Ｖｅｒｉｆｙが０の場合、信号ＳＴＢ＿ＯＵＴの値にかかわらず、信号ＳＤ＿ＥＮは１のままであり、次の動作状態も低消費電力動作状態となる。検証結果Ｖｅｒｉｆｙが１になると、信号ＳＴＢ＿ＯＵＴの値にかかわらず、信号ＳＤ＿ＥＮが０となり、メモリ２２は、通常動作状態となる。
【００７９】
（プロトコル制御部１３ａ、ベリファイタイミング制御部６０、ベリファイ制御部６１の一例）
図１３は、プロトコル制御部、ベリファイタイミング制御部及びベリファイ制御部の一例を示す図である。
【００８０】
ベリファイタイミング制御部６０は、ＡＮＤ回路７０、ラッチ回路７１を有している。
ＡＮＤ回路７０は、アクセスモニタ１６から出力される信号ＳＤ＿ＥＮと、Ｑｃｎｔ生成部１４から出力される信号Ｑｃｎｔを入力し、そのＡＮＤ論理を出力する。
【００８１】
ラッチ回路７１は、クロック信号ＣＫに応じて、ＡＮＤ回路７０の出力信号を取り込み、ベリファイを実施するか否かを指示する信号（以下、信号Ｖｅｒｉ＿ＥＮと表記する）を出力する。以下の説明では、Ｖｅｒｉ＿ＥＮ＝１のとき、ベリファイの実施が指示され、Ｖｅｒｉ＿ＥＮ＝０のとき、ベリファイを実施しないことが指示される。
【００８２】
ベリファイタイミング制御部６０は、ＳＤ＿ＥＮ＝１のとき、メモリ２２へのアクセスが発生し、信号Ｑｃｎｔが１になると、Ｖｅｒｉ＿ＥＮを１とし、信号ＳＤ＿ＥＮ，Ｑｃｎｔの何れかが０である場合には、Ｖｅｒｉ＿ＥＮを０とする。
【００８３】
プロトコル制御部１３ａは、コマンド制御部７２、データ制御部７３、セレクタ７４を有している。
コマンド制御部７２は、ＦＩＦＯ１１に格納されたコマンドを、アービタ１２を介して受信し、プロトコルに応じてコマンドＣＭＤをメモリ２２側に通知する。また、コマンド制御部７２は、受信したコマンドに応じて、コマンドがリード動作を指示するものか、ライト動作を指示するものかを示す信号（以下、信号Ｒ／Ｗと表記する）を出力する。以下の説明では、Ｒ／Ｗ＝０の場合は、リード動作、Ｒ／Ｗ＝１の場合は、ライト動作であるものとする。
【００８４】
データ制御部７３は、ライト時に、ＦＩＦＯ１１に格納されたライトデータＷＤａｔａを、アービタ１２を介して受信し、プロトコルに応じて出力し、リード時には、セレクタ７４を介して送られてくるリードデータＲＤａｔａを、アービタ１２側に送る。
【００８５】
セレクタ７４は、コマンド制御部７２が出力する信号Ｒ／Ｗを受信し、リード時にはメモリ２２から読み出されたリードデータＲＤａｔａを選択してデータ制御部７３に通知し、ライト時には、ライトデータＷＤａｔａを選択してメモリ２２側に出力する。また、セレクタ７４は、信号Ｖｅｒｉ＿ＥＮ，Ｒ／Ｗに応じて、メモリ２２から読み出されたリードデータＲＤａｔａまたはデータ制御部７３から供給されるライトデータＷＤａｔａを検証データとしてベリファイ制御部６１に通知する。
【００８６】
ベリファイ制御部６１は、レジスタ制御部７５、レジスタ７６，７７、比較器７８を有している。
レジスタ制御部７５は、信号Ｖｅｒｉ＿ＥＮ，Ｒ／Ｗに応じて、プロトコル制御部１３ａから通知された検証データをレジスタ７６，７７の何れかに格納する。比較器７８は、レジスタ７６，７７に格納されたデータを比較し、両者が一致した場合に、検証結果Ｖｅｒｉｆｙとして１を出力する。レジスタ７６，７７に格納されたデータが異なる場合、比較器７８は、検証結果Ｖｅｒｉｆｙとして０を出力する。
【００８７】
（プロトコル制御部１３ａ、ベリファイタイミング制御部６０、ベリファイ制御部６１の動作例）
通常動作時には、ＳＤ＿ＥＮ＝０であり、ベリファイタイミング制御部６０の出力はＶｅｒｉ＿ＥＮ＝０となる。このとき、Ｒ／Ｗ＝０であればリード動作が実施され、メモリ２２からのリードデータＲＤａｔａが、セレクタ７４によりデータ制御部７３に送られる。そして、リードデータＲＤａｔａは、データ制御部７３からアービタ１２、ＦＩＦＯ１１を介してマスタ２０−１〜２０−ｎ側に送られる。Ｒ／Ｗ＝１であればライト動作が実施され、セレクタ７４は、マスタ２０−１〜２０−ｎの何れかから、ＦＩＦＯ１１、アービタ１２、データ制御部７３を介して送られてきたライトデータＷＤａｔａを選択し、メモリ２２側に出力する。
【００８８】
低消費電力動作時には、ＳＤ＿ＥＮ＝１であり、ベリファイタイミング制御部６０の出力は、Ｑｃｎｔ＝１のときに、Ｖｅｒｉ＿ＥＮ＝１となり、ベリファイが行われる。
図１４は、ベリファイの一例の流れを示すフローチャートである。
【００８９】
なお、検証結果Ｖｅｒｉｆｙの初期値は０であるとする。
Ｖｅｒｉ＿ＥＮ＝１となり、ベリファイが開始されると、セレクタ７４とレジスタ制御部７５は、信号Ｒ／Ｗが０であるか否か判定する（ステップＳ２０）。ライト動作時にはＲ／Ｗ＝１となるので、ステップＳ２１の処理が行われる。ステップＳ２１の処理では、セレクタ７４は、メモリへのライトデータＷＤａｔａを検証データとしてレジスタ制御部７５に供給する。そして、レジスタ制御部７５はライトデータＷＤａｔａを、１つ目のレジスタ７６に格納する（ステップＳ２１）。
【００９０】
さらに、セレクタ７４は、ライトデータＷＤａｔａをメモリ２２側に出力する。これにより、ライトデータＷＤａｔａがメモリ２２にライトされる（ステップＳ２２）。その後、ライトされたデータに対するリードが行われる（ステップＳ２３）。
【００９１】
セレクタ７４は、リードデータＲＤａｔａをレジスタ制御部７５に送り、レジスタ制御部７５は、リードデータＲＤａｔａを２つ目のレジスタ７７に格納する（ステップＳ２４）。比較器７８は、レジスタ７６，７７に格納された値が等しいか判定し（ステップＳ２５）、等しい場合には、Ｖｅｒｉｆｙ＝１とし（ステップＳ３１）、ベリファイを終了する。レジスタ７６，７７に格納された値が等しくない場合には、ステップＳ２２から処理が繰り返される。
【００９２】
一方、リード動作時にはＲ／Ｗ＝０となるので、ステップＳ２６の処理が行われる。ステップＳ２６の処理では、メモリ２２内の領域が指定され、リードが行われる。セレクタ７４は、リードデータＲＤａｔａをレジスタ制御部７５に送り、レジスタ制御部７５は、リードデータＲＤａｔａを１つ目のレジスタ７６に格納する（ステップＳ２７）。
【００９３】
次に、ステップＳ２６の処理で指定されたメモリ２２内の領域のリードが行われる（ステップＳ２８）。セレクタ７４は、リードデータＲＤａｔａをレジスタ制御部７５に送り、レジスタ制御部７５は、リードデータＲＤａｔａを２つ目のレジスタ７６に格納する（ステップＳ２９）。比較器７８は、レジスタ７６，７７に格納された値が等しいか判定し（ステップＳ３０）、等しい場合には、前述のステップＳ３１の処理を行い、Ｖｅｒｉｆｙ＝１とし、ベリファイを終了する。レジスタ７６，７７に格納された値が等しくない場合には、ステップＳ２７から処理が繰り返される。
【００９４】
図１５は、ライトベリファイの一例を示すタイミングチャートである。ライトベリファイ時の、クロック信号ＣＫ、信号ＳＤ＿ＥＮ，Ｖｅｒｉ＿ＥＮ，Ｒ／Ｗ、検証データＶｄａｔａ＿Ｉｎ、レジスタ７６，７７の格納値、コマンドＣＭＤの内容、メモリ２２に入出力されるデータ、検証結果Ｖｅｒｉｆｙの一例の様子が示されている。
【００９５】
ライトベリファイ時には、信号ＳＤ＿ＥＮ，Ｖｅｒｉ＿ＥＮ，Ｒ／Ｗは１となっている。レジスタ制御部７５は、検証データＶｄａｔａ＿Ｉｎとして、セレクタ７４からマスタ２０−１〜２０−ｎ側からのデータＤｉｎを受信すると（タイミングｔ２０）、そのデータＤｉｎをレジスタ７６に格納する（タイミングｔ２１）。ライトを指示するコマンドＣＭＤが発行されると、データＤｉｎはメモリ２２の所定の領域に書き込まれる（タイミングｔ２２）。
【００９６】
リードを指示するコマンドＣＭＤが発行されると（タイミングｔ２３）、メモリ２２から、タイミングｔ２２で書き込みが行われた所定の領域のデータＤｏｕｔが読み出される（タイミングｔ２４）。読み出されたデータＤｏｕｔは、検証データＶｄａｔａ＿Ｉｎとしてレジスタ制御部７５に供給され（タイミングｔ２５）、レジスタ制御部７５は、データＤｏｕｔを、レジスタ７７に格納する（タイミングｔ２６）。
【００９７】
比較器７８は、レジスタ７６，７７の格納値を比較する。図１５の例では、データＤｉｎとデータＤｏｕｔが等しいと判定され、検証結果Ｖｅｒｉｆｙが１となっている（タイミングｔ２７）。これにより、アクセスモニタ１６ａの出力である信号ＳＤ＿ＥＮは、０となり（タイミングｔ２８）、信号Ｖｅｒｉ＿ＥＮが０になり、たとえば、レジスタ制御部７５の制御のもと、検証結果Ｖｅｒｉｆｙも０となる（タイミングｔ２９）。
【００９８】
図１６は、リードベリファイの一例を示すタイミングチャートである。リードベリファイ時の、クロック信号ＣＫ、信号ＳＤ＿ＥＮ，Ｖｅｒｉ＿ＥＮ，Ｒ／Ｗ、検証データＶｄａｔａ＿Ｉｎ、レジスタ７６，７７の格納値、コマンドＣＭＤの内容、メモリ２２に入出力されるデータ、検証結果Ｖｅｒｉｆｙの一例の様子が示されている。
【００９９】
リードベリファイ時には、信号ＳＤ＿ＥＮ，Ｖｅｒｉ＿ＥＮは１、信号Ｒ／Ｗは０となっている。リードを指示するコマンドＣＭＤが発行されると（タイミングｔ３０）、メモリ２２から、所定の領域のデータＤｏｕｔが読み出される（タイミングｔ３１）。読み出されたデータＤｏｕｔは、検証データＶｄａｔａ＿Ｉｎとしてレジスタ制御部７５に供給され（タイミングｔ３２）、レジスタ制御部７５は、データＤｏｕｔを、レジスタ７６に格納する（タイミングｔ３３）。
【０１００】
また、タイミングｔ３３では、再度リードを指示するコマンドＣＭＤが発行されている。これにより、メモリ２２から、上記の領域からデータＤｏｕｔｘが読み出される（タイミングｔ３４）。読み出されたデータＤｏｕｔｘは、検証データＶｄａｔａ＿Ｉｎとしてレジスタ制御部７５に供給され（タイミングｔ３５）、レジスタ制御部７５は、データＤｏｕｔｘを、レジスタ７７に格納する（タイミングｔ３６）。
【０１０１】
比較器７８は、レジスタ７６，７７の格納値を比較する。図１６の例では、データＤｏｕｔとデータＤｏｕｔｘが等しいと判定され、検証結果Ｖｅｒｉｆｙは１となっている（タイミングｔ３７）。これにより、アクセスモニタ１６ａの出力である信号ＳＤ＿ＥＮは、０となり（タイミングｔ３８）、信号Ｖｅｒｉ＿ＥＮが０になり、たとえば、レジスタ制御部７５の制御のもと、検証結果Ｖｅｒｉｆｙも０となる（タイミングｔ３９）。
【０１０２】
（第３の実施の形態の半導体装置１０ａの全体動作例）
図１７は、第３の実施の形態の半導体装置の動作例を示すフローチャートである。
最初は、カウント値ＳＴＢ、信号ＳＤ＿ＥＮは、０であるとする。
【０１０３】
ステップＳ４０，Ｓ４１，Ｓ４２，Ｓ４３，Ｓ４４，Ｓ４５は、図８に示したステップＳ１〜Ｓ６の処理と同じであるので説明を省略する。
ステップＳ４０の処理時において、ＳＤ＿ＥＮ＝１である場合、ステップＳ４６の処理では、アクセスモニタ１６ａは、信号Ｑｃｎｔが０であるか否かを判定する。メモリ２２へのアクセスがなく、ＦＩＦＯ１１が空の状態のとき、Ｑｃｎｔ＝０となり、ステップＳ４６の処理が繰り返される。
【０１０４】
ＦＩＦＯ１１にコマンドが供給され、メモリ２２へのアクセスがある場合には、Ｑｃｎｔ＝１となり、ベリファイタイミング制御部６０から出力される信号Ｖｅｒｉ＿ＥＮは、１となり（ステップＳ４７）、前述のベリファイが行われる。
【０１０５】
そして、アクセスモニタ１６ａは、ベリファイ制御部６１から送られてくる検証結果Ｖｅｒｉｆｙが１であるか否かを判定し（ステップＳ４８）、Ｖｅｒｉｆｙ＝０である場合には、ステップＳ４６からの処理が繰り返される。Ｖｅｒｉｆｙ＝１である場合には、アクセスモニタ１６ａは、信号ＳＤ＿ＥＮを０とする（ステップＳ４９）。これによりベリファイ制御部６１でのベリファイが終了し、メモリ２２が通常動作状態となる。その後、たとえば、電源の供給が停止されるまで、ステップＳ４０からの処理が繰り返される。
【０１０６】
図１８は、第３の実施の形態の半導体装置の動作例を示すタイミングチャートである。図１８では、信号Ｑｃｎｔ、ＳＴＢカウンタ３１のカウント値ＳＴＢ、信号Ｖｅｒｉ＿ＥＮ、検証結果Ｖｅｒｉｆｙ、信号ＳＤ＿ＥＮ、メモリ２２の動作状態の一例の様子が示されている。クロック信号ＣＫについては図示が省略されている。
【０１０７】
信号ＳＤ＿ＥＮ＝０の状態のとき、信号Ｑｃｎｔが０であるとＳＴＢカウンタ３１のカウント値ＳＴＢが、クロック信号ＣＫに同期してカウントアップされていく。そして、カウント値ＳＴＢが、上限値ＳＴＢ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが１となる（タイミングｔ４０）。信号ＳＤ＿ＥＮが１の状態で、信号Ｑｃｎｔが１になると、信号Ｖｅｒｉ＿ＥＮが１となり、メモリ２２のアクセスが制限され、ベリファイが行われる状態Ｌ１０となる（タイミングｔ４１）。
【０１０８】
検証結果Ｖｅｒｉｆｙが１になると（タイミングｔ４２）、通常動作を行う状態Ｎ１０となる。また、このとき、信号ＳＤ＿ＥＮが０となり、それにより信号Ｖｅｒｉ＿ＥＮも０となる。そして、検証結果Ｖｅｒｉｆｙも０となる（タイミングｔ４３）。
【０１０９】
図１８のように、信号Ｑｃｎｔは、タイミングｔ４４で、０になるが、カウント値ＳＴＢが上限値ＳＴＢ＿ＭＡＸには達しないタイミングｔ４５でＱｃｎｔ＝１に戻るため、ＳＤ＿ＥＮは、０のままである。このとき、状態Ｌ１０の間、ＦＩＦＯ１１に格納されたコマンドの実行が停止された分の遅れを補填するために、通常動作が行われる状態Ｎ１０が継続する。
【０１１０】
タイミングｔ４６〜ｔ４８の間では、信号Ｑｃｎｔが頻繁に０になったり１になったりしている。この場合も、カウント値ＳＴＢが上限値ＳＴＢ＿ＭＡＸに達しないため、信号ＳＤ＿ＥＮは、０のままである。メモリ２２は、前述のように状態Ｌ１０の間、ＦＩＦＯ１１に格納されたコマンドの実行が停止された分の遅れを補填するために、タイミングｔ４７まで、通常動作が行われる状態Ｎ１０を継続する。その後、メモリ２２は、信号Ｑｃｎｔが１となっている期間、通常動作を行う状態Ｎ１１，Ｎ１２となる。
【０１１１】
信号Ｑｃｎｔが０の状態で、カウント値ＳＴＢが、上限値ＳＴＢ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが１となる（タイミングｔ４９）。これにより、メモリ２２の動作状態は、信号Ｑｃｎｔが１になるタイミングｔ５０で、再びベリファイが行われる状態Ｌ１１となる。その後、図１８の例では、タイミングｔ５１で、検証結果Ｖｅｒｉｆｙとして１が得られている。
【０１１２】
図１８の例では、検証結果Ｖｅｒｉｆｙが１になったとき、信号Ｑｃｎｔが０になっているが、状態Ｌ１１の間、ＦＩＦＯ１１に格納されたコマンドの実行が停止された分の遅れを補填するため、メモリ２２は、通常動作が行われる状態Ｎ１３となる。
【０１１３】
このように、アクセスモニタ１６ａは、アクセスがない期間が所定期間、継続するまでは、メモリ２２が通常動作状態から低消費電力状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ２２での不具合の発生を抑制することができる。
【０１１４】
また、アクセスモニタ１６ａは、正しくライトまたはリードが行われたことを示す検証結果（Ｖｅｒｉｆｙ＝１）を受信するまでは、アクセスの有無によらず、メモリ２２が低消費電力状態から通常動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ２２での不具合の発生を抑制することができる。
【０１１５】
また、第３の実施の形態の半導体装置１０ａでは、スタンバイ状態などのような低消費電力動作状態から通常動作状態に遷移する際に、通常動作よりも消費電力が少ないベリファイを実行する。これにより、スタンバイ状態から通常動作状態に遷移するときの負荷変動による電圧の変化を抑えることができ、メモリ２２に不具合が発生することを抑制できる。
【０１１６】
（第４の実施の形態）
図１９は、第４の実施の形態の半導体装置の一例を示す図である。図１０に示した第３の実施の形態の半導体装置１０ａと同様の要素については同一符号を付し、説明を省略する。
【０１１７】
半導体装置１０ｂは、低消費電力動作状態のとき、ｔＲＣＤ（Row-to-Column Delay）やｔＲＡＳ（Row Address Strobe）、ｔＲＣ（Row Cycle）などにおけるレイテンシを、通常動作の場合よりも長いものを出力するレイテンシ調整レジスタ６２を有する。
【０１１８】
（レイテンシ調整レジスタ６２の一例）
図２０は、レイテンシ調整レジスタの一例を示す図である。
レイテンシ調整レジスタ６２は、選択回路８０、通常動作用レイテンシレジスタ８１、低消費電力動作用レイテンシレジスタ８２を有している。
【０１１９】
選択回路８０は、信号ＩＮＩＴｘ，ＳＤ＿ＥＮに応じて、通常動作用レイテンシレジスタ８１、低消費電力動作用レイテンシレジスタ８２のうちで有効にするものを選択する。信号ＩＮＩＴｘは、レイテンシを初期化する（強制的に通常動作用レイテンシレジスタ８１の値を指定する）信号である。たとえば、図示しないパワーオンリセット回路などから出力される初期化信号が信号ＩＮＩＴｘとして用いられる。
【０１２０】
通常動作用レイテンシレジスタ８１は、通常動作時に用いるｔＲＣＤやｔＲＡＳ、ｔＲＣなどにおけるレイテンシを格納する。
低消費電力動作用レイテンシレジスタ８２は、低消費電力動作時に用いるｔＲＣＤやｔＲＡＳ、ｔＲＣなどにおけるレイテンシを格納する。
【０１２１】
信号ＳＤ＿ＥＮが０、もしくは信号ＩＮＩＴｘが１のときには、通常動作用レイテンシレジスタ８１が有効になり、低消費電力動作用レイテンシレジスタ８２が無効になる。
信号ＳＤ＿ＥＮが１、かつ、信号ＩＮＩＴｘが０のときには、通常動作用レイテンシレジスタ８１が無効になり、低消費電力動作用レイテンシレジスタ８２が有効になる。
【０１２２】
そして、通常動作用レイテンシレジスタ８１と低消費電力動作用レイテンシレジスタ８２のうち、有効になった方に格納されている値が、レイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄとして、プロトコル制御部１３ｂのコマンド制御部７２に通知される。これにより、コマンド制御部７２では、受信したレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄに応じたコマンドの制御が行われる。
【０１２３】
レイテンシｌｔｒｃは、ｔＲＣのレイテンシであり、レイテンシｌｔｒａｓは、ｔＲＡＳのレイテンシであり、レイテンシｌｔｒｃｄは、ｔＲＣＤのレイテンシである。
（レイテンシ調整レジスタ６２の動作例）
図２１は、レイテンシ調整レジスタの動作の一例を示す図である。図２１には、信号ＩＮＩＴｘ，ＳＤ＿ＥＮと、レイテンシの一例が示されている。
【０１２４】
信号ＩＮＩＴｘが１になると（タイミングｔ６０）、選択回路８０は、通常動作用レイテンシレジスタ８１を有効にする。これにより、レイテンシ調整レジスタ６２から出力されるレイテンシＡ１（前述したレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄ）は、通常動作時に用いるものとなる。
【０１２５】
信号ＩＮＩＴｘが０になり、信号ＳＤ＿ＥＮが０から１になると（タイミングｔ６１）、選択回路８０は、通常動作用レイテンシレジスタ８１を無効にし、低消費電力動作用レイテンシレジスタ８２を有効にする。これにより、レイテンシ調整レジスタ６２から出力されるレイテンシＡ２は、低消費電力動作時に用いるものとなる。
【０１２６】
信号ＳＤ＿ＥＮが１から０になると（タイミングｔ６２）、選択回路８０は、低消費電力動作用レイテンシレジスタ８２を無効にし、通常動作用レイテンシレジスタ８１を有効にする。これにより、レイテンシ調整レジスタ６２から出力されるレイテンシＡ３は、通常動作時に用いるものとなる。
【０１２７】
信号ＳＤ＿ＥＮが再び０から１になると（タイミングｔ６３）、選択回路８０は、通常動作用レイテンシレジスタ８１を無効にし、低消費電力動作用レイテンシレジスタ８２を有効にする。これにより、レイテンシ調整レジスタ６２から出力されるレイテンシＡ４は、再び低消費電力動作時に用いるものとなる。
【０１２８】
図２２は、通常動作時のレイテンシと、低消費電力動作時のレイテンシの一例を示す図である。図２２には、クロック信号ＣＫと、通常動作時と低消費電力動作時のコマンド、データ及びレイテンシの一例が示されている。
【０１２９】
レイテンシｌｔｒｃｄ＿ｎｍｌは、通常動作時のｔＲＣＤのレイテンシを示している。レイテンシｌｔｒｃｄ＿ｎｍｌは、コマンド制御部７２が、メモリ２２側に対し、アクセスするバンクアドレスを指定するアクティブコマンドを供給するタイミングｔ７０から、リードコマンドを供給するタイミングｔ７１までの時間である。
【０１３０】
レイテンシｌｔｒａｓ＿ｎｍｌは、通常動作時のｔＲＡＳのレイテンシを示している。レイテンシｌｔｒａｓ＿ｎｍｌは、コマンド制御部７２が、メモリ２２側に対し、アクティブコマンドを供給するタイミングｔ７０から、プリチャージコマンドを供給するタイミングｔ７２までの時間である。また、図２２の例では、通常動作の場合、タイミングｔ７３で、メモリ２２からデータＤ０，Ｄ１，Ｄ２，Ｄ３が読み出されている。
【０１３１】
一方、レイテンシｌｔｒｃｄ＿ｓｌｗは、低消費電力動作時のｔＲＣＤのレイテンシを示している。レイテンシｌｔｒｃｄ＿ｓｌｗは、コマンド制御部７２が、メモリ２２側に対し、アクティブコマンドを供給するタイミングｔ７０から、リードコマンドを供給するタイミングｔ７３までの時間である。図２２の例では、レイテンシｌｔｒｃｄ＿ｓｌｗは、通常動作時のレイテンシｌｔｒｃｄ＿ｎｍｌの２倍の長さになっている。
【０１３２】
レイテンシｌｔｒａｓ＿ｓｌｗは、低消費電力動作時のｔＲＡＳのレイテンシを示している。レイテンシｌｔｒａｓ＿ｓｌｗは、コマンド制御部７２が、メモリ２２側に対し、アクティブコマンドを供給するタイミングｔ７０から、プリチャージコマンドを供給するタイミングｔ７６までの時間である。図２２の例では、レイテンシｌｔｒａｓ＿ｓｌｗは、通常動作時のレイテンシｌｔｒａｓ＿ｎｍｌの２倍の長さになっている。図２２の例では、低消費電力動作の場合、タイミングｔ７５で、メモリ２２からデータＤ０，Ｄ１，Ｄ２，Ｄ３が読み出されている。
【０１３３】
レイテンシｌｔｒｃ＿ｎｍｌは、通常動作時のｔＲＣのレイテンシを示している。レイテンシｌｔｒｃ＿ｎｍｌは、コマンド制御部７２が、メモリ２２側に対し、アクティブコマンドを供給するタイミングｔ７０から、次のアクティブコマンドを供給するタイミングｔ７４までの時間である。
【０１３４】
なお、図２２では、低消費電力動作時のｔＲＣのレイテンシについては図示を省略している。
上記のように低消費電力動作時は、通常動作時よりもレイテンシを長くすることで、メモリ２２の消費電力が削減される。また、レイテンシ調整レジスタ６２は、通常動作用レイテンシレジスタ８１と、低消費電力動作用レイテンシレジスタ８２で予め保持しているレイテンシを選択するだけで、簡単に通常動作と低消費電力動作を切り替えられる。
【０１３５】
（ベリファイタイミング制御部６０ａの一例）
図２３は、ベリファイタイミング制御部の一例を示す図である。
第４の実施の形態の半導体装置１０ｂにおけるベリファイタイミング制御部６０ａは、ラッチ回路９０、インバータ９１、ＡＮＤ回路９２を有している。
【０１３６】
ラッチ回路９０は、信号Ｑｃｎｔを、インバータ９１を介して受信し、信号Ｑｃｎｔが０のときに、信号ＳＤ＿ＥＮの値を取り込む。ＡＮＤ回路９２の一方の入力端子には、信号ＳＤ＿ＥＮが入力され、他方の入力端子には、ラッチ回路９０の出力信号が入力される。ＡＮＤ回路９２からは、前述したベリファイを有効または無効にする信号Ｖｅｒｉ＿ＥＮが出力される。
【０１３７】
このようなベリファイタイミング制御部６０ａでは、低消費電力動作状態のとき（ＳＤ＿ＥＮ＝１）、メモリ２２へのアクセスが途切れたとき（Ｑｃｎｔ＝０）、Ｖｅｒｉ＿ＥＮ＝１となり、ベリファイが行われる。
【０１３８】
なお、プロトコル制御部１３ｂは、図１３に示したものと同様の要素を有しているため図示を省略するが、レイテンシ調整レジスタ６２から出力されるレイテンシに応じたコマンドの制御を行う。
【０１３９】
（第４の実施の形態の半導体装置１０ｂの全体動作例）
図２４は、第４の実施の形態の半導体装置の動作例を示すフローチャートである。
最初は、カウント値ＳＴＢ、信号ＳＤ＿ＥＮ、検証結果Ｖｅｒｉｆｙは０であるとする。また、信号ＩＮＩＴｘは０であるとする。
【０１４０】
ステップＳ５０，Ｓ５１，Ｓ５２，Ｓ５３，Ｓ５４，Ｓ５５は、図８に示したステップＳ１〜Ｓ６の処理とほぼ同じである。ただし、ＳＤ＿ＥＮ＝０である場合、レイテンシ調整レジスタ６２は、通常動作用レイテンシレジスタ８１を有効にし、前述したように、通常動作用のレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄを出力する。そのため、信号Ｑｃｎｔが１のときには、通常動作用のレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄでの通常動作が行われる。
【０１４１】
ステップＳ５０の処理時において、ＳＤ＿ＥＮ＝１である場合、ステップＳ５６の処理では、アクセスモニタ１６ａは、信号Ｑｃｎｔが０であるか否かを判定する。メモリ２２へのアクセスがなく、ＦＩＦＯ１１が空の状態のとき、Ｑｃｎｔ＝０となり、ステップＳ５６の処理が繰り返される。また、ＳＤ＿ＥＮ＝１である場合、レイテンシ調整レジスタ６２は、低消費電力動作用レイテンシレジスタ８２を有効にし、前述したように、通常動作状態よりも長いレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄを出力する。
【０１４２】
ＦＩＦＯ１１にコマンドが供給され、メモリ２２へのアクセスがある場合には、Ｑｃｎｔ＝１となり、通常動作状態よりも長いレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる動作が行われる（ステップＳ５７）。アクセスモニタ１６ａは、信号Ｑｃｎｔが０であるか否かを判定する（ステップＳ５８）。Ｑｃｎｔ＝０であれば、ステップＳ５９の処理が行われ、Ｑｃｎｔ＝１であれば、ステップＳ５７からの処理が繰り返される。
【０１４３】
ステップＳ５９の処理では、ベリファイタイミング制御部６０ａは信号Ｖｅｒｉ＿ＥＮを１とする（ステップＳ５９）。これにより前述のベリファイが行われる。
そして、アクセスモニタ１６ａは、ベリファイ制御部６１から送られてくる検証結果Ｖｅｒｉｆｙが１であるか否かを判定し（ステップＳ６０）、Ｖｅｒｉｆｙ＝０である場合には、ステップＳ５９からの処理が繰り返される。Ｖｅｒｉｆｙ＝１である場合には、アクセスモニタ１６ａは、信号ＳＤ＿ＥＮを０とする（ステップＳ６１）。これによりベリファイ制御部６１でのベリファイが終了し、レイテンシ調整レジスタ６２は、通常動作用レイテンシレジスタ８１を有効にし、前述したように、通常動作用のレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄを出力する。これにより、メモリ２２が通常動作状態となる。その後、たとえば、電源の供給が停止されるまで、ステップＳ５０からの処理が繰り返される。
【０１４４】
図２５は、第４の実施の形態の半導体装置の動作例を示すタイミングチャートである。図２５では、信号Ｑｃｎｔ、ＳＴＢカウンタ３１のカウント値ＳＴＢ、信号Ｖｅｒｉ＿ＥＮ、検証結果Ｖｅｒｉｆｙ、信号ＳＤ＿ＥＮ、メモリ２２の動作状態の一例の様子が示されている。クロック信号ＣＫについては図示が省略されている。
【０１４５】
信号ＳＤ＿ＥＮ＝０の状態のとき、信号Ｑｃｎｔが０であるとＳＴＢカウンタ３１のカウント値ＳＴＢが、クロック信号ＣＫに同期してカウントアップされていく。そして、カウント値ＳＴＢが、上限値ＳＴＢ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが１となる（タイミングｔ８０）。信号ＳＤ＿ＥＮが１の状態で、信号Ｑｃｎｔが１になると、通常動作状態よりも長いレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる動作が行われる状態Ｌ２０となる（タイミングｔ８１）。
【０１４６】
信号ＳＤ＿ＥＮが１の状態で、信号Ｑｃｎｔが０になると（タイミングｔ８２）、信号Ｖｅｒｉ＿ＥＮが１となり、ベリファイが行われる状態Ｖ１となる。
検証結果Ｖｅｒｉｆｙが１になると（タイミングｔ８３）、信号ＳＤ＿ＥＮが０になり、通常動作用のレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる通常動作が行われる状態Ｎ２０となる。
【０１４７】
タイミングｔ８４〜ｔ８５の間では、信号Ｑｃｎｔが頻繁に０になったり１になったりしている。しかし、カウント値ＳＴＢが上限値ＳＴＢ＿ＭＡＸに達しないため、信号ＳＤ＿ＥＮは、０のままである。そのため、メモリ２２は、信号Ｑｃｎｔが１となっている期間、通常動作用のレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる通常動作が行われる状態Ｎ２１，Ｎ２２，Ｎ２３となる。
【０１４８】
信号Ｑｃｎｔが０の状態で、カウント値ＳＴＢが、上限値ＳＴＢ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが１となる（タイミングｔ８６）。これにより、メモリ２２の動作状態は、信号Ｑｃｎｔが１になるタイミングｔ８７で、通常動作状態よりも長いレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる動作が行われる状態Ｌ２１となる。
【０１４９】
信号Ｑｃｎｔが再び０になると、信号Ｖｅｒｉ＿ＥＮが１となり、ベリファイが行われる状態Ｖ２となる。
このように、アクセスモニタ１６ａは、アクセスがない期間が所定期間、継続するまでは、メモリ２２が通常動作状態から低消費電力状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ２２での不具合の発生を抑制することができる。
【０１５０】
また、アクセスモニタ１６ａは、正しくライトまたはリードが行われたことを示す検証結果（Ｖｅｒｉｆｙ＝１）を受信するまでは、アクセスの有無によらず、メモリ２２が低消費電力状態から通常動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ２２での不具合の発生を抑制することができる。
【０１５１】
さらに、ＳＤ＿ＥＮ＝１のときには、レイテンシを通常動作時よりも長くしてメモリ２２の動作を継続するので、メモリ２２へのアクセスがある際にベリファイを優先するのではなく、アクセスを優先して処理することができる。
【０１５２】
また、半導体装置１０ｂは、スタンバイ状態のような低消費電力動作状態から通常動作状態に遷移する際、通常動作よりも消費電力が少ない、レイテンシを通常動作時よりも長くしたメモリ２２の動作や、ベリファイを実行する。これにより、スタンバイ状態から通常動作状態に遷移するときの負荷変動による電圧の変化を抑えることができ、メモリ２２に不具合が発生することを抑制できる。
【０１５３】
なお、低消費電力動作としてレイテンシを変える代わりに、第２の実施の形態の半導体装置１０のように、クロック信号の周期や、ドライブ能力を変更するようにしてもよい。
（第５の実施の形態）
図２６は、第５の実施の形態の半導体装置の一例を示す図である。図１９に示した第４の実施の形態の半導体装置１０ｂと同様の要素については同一符号を付し、説明を省略する。
【０１５４】
半導体装置１０ｃのレジスタ１５ｂは、第２の実施の形態の半導体装置１０のレジスタ１５と同様に、前述した上限値ＳＴＢ＿ＭＡＸ，ＡＣＴ＿ＭＡＸを格納している。そして上限値ＳＴＢ＿ＭＡＸは、第３及び第４の実施の形態の半導体装置１０ａ，１０ｂと同様にアクセスモニタ１６ａで用いられる。一方の上限値ＡＣＴ＿ＭＡＸは、ベリファイタイミング制御部６０ｂで用いられる。
【０１５５】
（ベリファイタイミング制御部６０ｂの一例）
図２７は、ベリファイタイミング制御部の一例を示す図である。
第５の実施の形態の半導体装置１０ｃにおけるベリファイタイミング制御部６０ｂは、ラッチ回路１００、ＡＣＴカウンタ１０１、比較器１０２、インバータ１０３、ＡＮＤ回路１０４，１０５，１０６、ＯＲ回路１０７を有している。
【０１５６】
ラッチ回路１００は、信号Ｑｃｎｔを、インバータ１０３を介して受信し、信号Ｑｃｎｔが０のときに、信号ＳＤ＿ＥＮの値を取り込む。ＡＮＤ回路１０５の一方の入力端子には、信号ＳＤ＿ＥＮが入力され、他方の入力端子には、ラッチ回路１００の出力信号が入力される。ＡＮＤ回路１０５の出力端子は、ＯＲ回路１０７の一方の入力端子に接続されている。
【０１５７】
ＡＣＴカウンタ１０１は、クロック信号ＣＫに同期してカウントを行う。また、ＡＣＴカウンタ１０１は、リセット端子／ＲＳＴ３を有している。
比較器１０２は、ＡＣＴカウンタ１０１から出力されるカウント値ＡＣＴと、レジスタ１５ｂから供給される上限値ＡＣＴ＿ＭＡＸとを比較する。比較器１０２は、ＡＣＴカウンタ１０１から出力されるカウント値ＡＣＴが上限値ＡＣＴ＿ＭＡＸ以上の場合には、１を出力し、カウント値ＡＣＴが上限値ＡＣＴ＿ＭＡＸよりも小さい場合には、０を出力する。
【０１５８】
ＡＮＤ回路１０４の一方の入力端子には、信号Ｑｃｎｔが入力され、他方の入力端子には、信号ＳＤ＿ＥＮが入力される。ＡＮＤ回路１０４の出力端子は、ＡＣＴカウンタ１０１のリセット端子／ＲＳＴ３に接続されている。
【０１５９】
ＡＮＤ回路１０６の一方の入力端子には、比較器１０２の出力信号が入力され、他方の入力端子には、信号ＳＤ＿ＥＮが入力される。ＡＮＤ回路１０６の出力端子は、ＯＲ回路１０７の他方の入力端子に接続されている。ＯＲ回路１０７の出力端子からは、ベリファイタイミング制御部６０ｂの出力信号である信号Ｖｅｒｉ＿ＥＮが出力される。
【０１６０】
このようなベリファイタイミング制御部６０ｂでは、低消費電力動作状態のとき（ＳＤ＿ＥＮ＝１）、メモリ２２へのアクセスが途切れたとき（Ｑｃｎｔ＝０）、Ｖｅｒｉ＿ＥＮ＝１となり、ベリファイが行われる。また、低消費電力動作状態のとき、アクセスがある期間（Ｑｃｎｔ＝１の期間）が所定期間続き、ＡＣＴカウンタ１０１のカウント値ＡＣＴが上限値ＡＣＴ＿ＭＡＸに達したときにも、Ｖｅｒｉ＿ＥＮ＝１となり、ベリファイが行われる。
【０１６１】
（第５の実施の形態の半導体装置１０ｃの全体動作例）
図２８は、第５の実施の形態の半導体装置の動作例を示すフローチャートである。
最初は、カウント値ＳＴＢ，ＡＣＴ、信号ＳＤ＿ＥＮと検証結果Ｖｅｒｉｆｙは、０であるとする。また、信号ＩＮＩＴｘは０であるとする。
【０１６２】
ステップＳ７０，Ｓ７１，Ｓ７２，Ｓ７３，Ｓ７４，Ｓ７５は、図２４に示したステップＳ５０〜Ｓ５５の処理と同じであるので説明を省略する。
ステップＳ７０の処理時において、ＳＤ＿ＥＮ＝１である場合、ステップＳ７６の処理では、アクセスモニタ１６ａは、信号Ｑｃｎｔが０であるか否かを判定する。メモリ２２へのアクセスがなく、ＦＩＦＯ１１が空の状態のとき、Ｑｃｎｔ＝０となり、ＡＣＴカウンタ１０１はリセットされ、ＡＣＴカウンタ１０１の出力であるカウント値ＡＣＴは０となり（ステップＳ７７）、ステップＳ７６からの処理が繰り返される。また、ＳＤ＿ＥＮ＝１である場合、レイテンシ調整レジスタ６２は、低消費電力動作用レイテンシレジスタ８２を有効にし、前述したように、通常動作状態よりも長いレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄを出力する。
【０１６３】
ＦＩＦＯ１１にコマンドが供給され、メモリ２２へのアクセスがある場合には、Ｑｃｎｔ＝１となり、通常動作状態よりも長いレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる動作が行われる（ステップＳ７８）。このとき、クロック信号ＣＫに同期して、カウント値ＡＣＴがカウントアップされる。
【０１６４】
ベリファイタイミング制御部６０ｂでは、ＡＣＴ≧ＡＣＴ＿ＭＡＸであるか否かの判定（ステップＳ７９）と、Ｑｃｎｔ＝０であるか否かの判定（ステップＳ８０）、が行われる。ＡＣＴ≧ＡＣＴ＿ＭＡＸ、または、Ｑｃｎｔ＝０である場合には、ベリファイタイミング制御部６０ｂは、信号Ｖｅｒｉ＿ＥＮを１とする（ステップＳ８１）。これにより前述のベリファイが行われる。ＡＣＴ＜ＡＣＴ＿ＭＡＸ及びＱｃｎｔ＝１である場合には、ステップＳ７８からの処理が繰り返される。
【０１６５】
そして、アクセスモニタ１６ａは、ベリファイ制御部６１から送られてくる検証結果Ｖｅｒｉｆｙが１であるか否かを判定し（ステップＳ８２）、Ｖｅｒｉｆｙ＝０である場合には、ステップＳ８１からの処理が繰り返される。Ｖｅｒｉｆｙ＝１である場合には、アクセスモニタ１６ａは、信号ＳＤ＿ＥＮを０とする（ステップＳ８３）。これによりベリファイ制御部６１でのベリファイが終了し、レイテンシ調整レジスタ６２は、通常動作用レイテンシレジスタ８１を有効にし、前述したように、通常動作用のレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄを出力する。その後、たとえば、電源の供給が停止されるまで、ステップＳ７０からの処理が繰り返される。
【０１６６】
図２９は、第５の実施の形態の半導体装置の動作例を示すタイミングチャートである。図２９では、信号Ｑｃｎｔ、カウント値ＳＴＢ，ＡＣＴ、信号Ｖｅｒｉ＿ＥＮ、検証結果Ｖｅｒｉｆｙ、信号ＳＤ＿ＥＮ、メモリ２２の動作状態の一例の様子が示されている。クロック信号ＣＫについては図示が省略されている。
【０１６７】
信号ＳＤ＿ＥＮ＝０の状態のとき、信号Ｑｃｎｔが０であるとＳＴＢカウンタ３１のカウント値ＳＴＢがクロック信号ＣＫに同期してカウントアップされていく。そして、カウント値ＳＴＢが、上限値ＳＴＢ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが１となる（タイミングｔ９０）。信号ＳＤ＿ＥＮが１の状態で、信号Ｑｃｎｔが１になると、通常動作状態よりも長いレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる動作が行われる状態Ｌ３０となる（タイミングｔ９１）。
【０１６８】
信号Ｑｃｎｔが１になると、ベリファイタイミング制御部６０ｂのＡＣＴカウンタ１０１がクロック信号ＣＫに同期してカウント値ＡＣＴをカウントアップしていく。そして、カウント値ＡＣＴが、上限値ＡＣＴ＿ＭＡＸに達すると（タイミングｔ９２）、信号Ｖｅｒｉ＿ＥＮが１となり、ベリファイが行われる状態Ｖ１０となる。
【０１６９】
検証結果Ｖｅｒｉｆｙが１になると（タイミングｔ９３）、信号ＳＤ＿ＥＮが０になり、通常動作用のレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる通常動作が行われる状態Ｎ３０となる。
【０１７０】
図２９のように、信号Ｑｃｎｔは、タイミングｔ９４で、０になるが、カウント値ＳＴＢが上限値ＳＴＢ＿ＭＡＸには達しないタイミングｔ９５でＱｃｎｔ＝１に戻るため、信号ＳＤ＿ＥＮは、０のままである。そのため、メモリ２２は、アクセスが発生したタイミングｔ９５から再び通常動作を行う状態Ｎ３１となる。
【０１７１】
タイミングｔ９６〜ｔ９７の間では、信号Ｑｃｎｔが頻繁に０になったり１になったりしている。しかし、カウント値ＳＴＢが上限値ＳＴＢ＿ＭＡＸに達しないため、信号ＳＤ＿ＥＮは、０のままである。そのため、メモリ２２は、信号Ｑｃｎｔが１となっている期間、通常動作用のレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる通常動作が行われる状態Ｎ３２，Ｎ３３，Ｎ３４となる。
【０１７２】
信号Ｑｃｎｔが０の状態で、カウント値ＳＴＢが、上限値ＳＴＢ＿ＭＡＸに達すると、信号ＳＤ＿ＥＮが１となる（タイミングｔ９８）。これにより、メモリ２２の動作状態は、信号Ｑｃｎｔが１になるタイミングｔ９９で、通常動作状態よりも長いレイテンシｌｔｒｃ，ｌｔｒａｓ，ｌｔｒｃｄによる動作が行われる状態Ｌ３１となる。
【０１７３】
信号ＳＤ＿ＥＮが１の状態で、信号Ｑｃｎｔが再び０になると、信号Ｖｅｒｉ＿ＥＮが１となり、ベリファイが行われる状態Ｖ１１となる。
以上のような半導体装置１０ｃによれば、第４の実施の形態の半導体装置１０ｂと同様の効果が得られるとともに、ＳＤ＿ＥＮ＝１のときに、Ｑｃｎｔ＝１の状態が所定期間続いたときに、ベリファイを実行し、通常動作状態に遷移させることができる。つまり、低消費電力動作が許可される状態のときに、アクセスが途切れなくてもベリファイを実行させることができるため、迅速に通常動作状態に遷移させることができる。
【０１７４】
ところで、低消費電力動作状態は、上記に示したようなものに限定されず、通常動作状態よりも１度に動作させる回路数を制限するような動作状態としてもよい。以下その３つの例を変形例１、変形例２、変形例３として説明する。
【０１７５】
（変形例１）
図３０は、変形例１の半導体装置の一例を示す図である。図２に示した半導体装置１０と同じ要素については同一符号を付している。また、図３０では、図２に示したＱｃｎｔ生成部１４やアクセスモニタ１６などは図示を省略している。
【０１７６】
変形例１では、アービタ１２ａは、アービタを実行するアービタ実行部１１０と、アクセス制御部１１１を有しており、プロトコル制御部１３ｃは、複数（ｎ個）のバンク制御部１１２−１〜１１２−ｎを有している。
【０１７７】
バンク制御部１１２−１〜１１２−ｎは、図示しないメモリのｎ個のバンクを制御するものである。
アクセス制御部１１１は、図２に示したアクセスモニタ１６から供給される信号ＳＤ＿ＥＮと、Ｑｃｎｔ生成部１４から供給される信号Ｑｃｎｔに応じて、アービタ実行部１１０からアクセス要求があったときに、バンクへのアクセスを許容するか制限する。
【０１７８】
アクセス制御部１１１は、信号ＳＤ＿ＥＮ＝１の場合には、複数のバンクを同時に使用した動作（マルチバンク動作）を制限することで、低消費電力動作を実現する。
図３１は、変形例１の半導体装置の動作例を示すフローチャートである。
【０１７９】
まず、アクセス制御部１１１は、信号ＳＤ＿ＥＮが１であるか否かを判定し（ステップＳ９０）、ＳＤ＿ＥＮ＝０の場合には、アービタ実行部１１０からアクセス要求があるか否か（ＲＥＱが１であるか否か）を判定する（ステップＳ９１）。アクセス制御部１１１は、ＲＥＱ＝１である場合には、ステップＳ９５の処理を行い、アクセス要求がない場合（ＲＥＱ=０）には、ＲＥＱ＝１となるまでステップＳ９１の処理を繰り返す。
【０１８０】
一方、ＳＤ＿ＥＮ＝１の場合にも、アクセス制御部１１１は、ＲＥＱが１であるか否かを判定し（ステップＳ９２）、ＲＥＱ＝１であればステップＳ９３の処理を行い、ＲＥＱ=０の場合には、ＲＥＱ＝１となるまでステップＳ９２の処理を繰り返す。
【０１８１】
ステップＳ９３の処理では、アクセス制御部１１１は、信号Ｑｃｎｔが０か否かを判定する。ＦＩＦＯ１１にコマンドが供給されていて、Ｑｃｎｔ＝１である場合には、アクセス制御部１１１は、アービタ実行部１１０に対して、アクセスを許可しない旨の信号（ＡＣＫ=０）を通知する（ステップＳ９４）。そして、アクセス制御部１１１は、ＦＩＦＯ１１が空になり、Ｑｃｎｔ＝０になるまで、ステップＳ９３の処理を繰り返す。Ｑｃｎｔ＝０の場合には、ステップＳ９５の処理が行われる。
【０１８２】
ステップＳ９５の処理では、アクセス制御部１１１は、アクセス要求があった該当バンクがアクセス中であるか判定し、アクセス中であればステップＳ９５の処理を繰り返し、アクセス中でなければ、ＡＣＫ＝１としアクセスを許可する（ステップＳ９６）。
【０１８３】
図３２は、マルチバンク動作時とマルチバンク動作制限時の動作例を示すタイミングチャートである。クロック信号ＣＫ、コマンドＣＭＤ、選択されるバンク（ＢＡ）の番号、読み出されるデータの例が示されている。
【０１８４】
マルチバンク動作時には、クロック信号の１周期ごとに、コマンドＣＭＤとして、異なるバンクに対するコマンドＣＭＤとして、アクティブコマンドＡＣＴ、リードコマンドＲＤＡが発行されていて、データＤ０〜Ｄ３も各バンクから次々と読み出される。
【０１８５】
これに対し、マルチバンク動作制限時には、１つのバンクずつアクセスが行われる。たとえば、タイミングｔ１１０では、０番のバンクへアクティブコマンドＡＣＴが発行され、タイミングｔ１１１で、０番のバンクへリードコマンドＲＤＡが発行され、タイミングｔ１１２からデータＤ０〜Ｄ３が読み出されている。
【０１８６】
そして、タイミングｔ１１３で、１番のバンクへアクティブコマンドＡＣＴが発行され、タイミングｔ１１４で、１番のバンクへリードコマンドＲＤＡが発行されている。
このようにアクセス制御部１１１が、一度にアクセスするバンク数を制限することで、メモリの消費電力を抑え、ＲＡＳ電流とＣＡＳ（Column Address Strobe）電流を分離してピーク電流を下げることができ、低消費電力状態を実現できる。
【０１８７】
（変形例２）
図３３は、変形例２の半導体装置の一例を示す図である。図２に示した半導体装置１０と同じ要素については同一符号を付している。また、図３３では、図２に示したＱｃｎｔ生成部１４やアクセスモニタ１６などは図示を省略している。
【０１８８】
変形例２では、アービタ１２ｂは、アービタ実行部１１０と、アクセス制御部１１１ａを有している。プロトコル制御部１３ｄは、複数のチャネル（図３３の例では２つ）用の複数（ｎ個）のＣＨ０バンク制御部１１３−１〜１１３−ｎ、ＣＨ１バンク制御部１１４−１〜１１４−ｎを有している。
【０１８９】
ＣＨ０バンク制御部１１３−１〜１１３−ｎは、図示しないメモリのチャネルＣＨ０のｎ個のバンクを制御するものである。ＣＨ１バンク制御部１１４−１〜１１４−ｎは、図示しないメモリのチャネルＣＨ１のｎ個のバンクを制御するものである。
【０１９０】
アクセス制御部１１１ａは、図２に示したアクセスモニタ１６から供給される信号ＳＤ＿ＥＮと、Ｑｃｎｔ生成部１４から供給される信号Ｑｃｎｔに応じて、アービタ実行部１１０からアクセス要求があったときに、チャネルへのアクセスを許容するか制限する。
【０１９１】
なお、変形例２では、信号ＱｃｎｔはチャネルごとにＱｃｎｔ生成部１４から供給されるものとする。すなわち、あるチャネルに対するコマンドがＦＩＦＯ１１に供給されている場合には、そのチャネルの信号Ｑｃｎｔは１となる。
【０１９２】
アクセス制御部１１１ａは、信号ＳＤ＿ＥＮ＝１の場合には、複数のチャネルを同時に使用した動作（マルチチャネル動作）を制限することで、低消費電力動作を実現する。
図３４は、変形例２の半導体装置の動作例を示すフローチャートである。
【０１９３】
まず、アクセス制御部１１１ａは、信号ＳＤ＿ＥＮが１であるか否かを判定し（ステップＳ１００）、ＳＤ＿ＥＮ＝０の場合には、アービタ実行部１１０からアクセス要求があるか否か（ＲＥＱが１であるか否か）を判定する（ステップＳ１０１）。アクセス制御部１１１ａは、ＲＥＱ＝１である場合には、ステップＳ１０５の処理を行い、アクセス要求がない場合（ＲＥＱ=０）には、ＲＥＱ＝１となるまでステップＳ１０１の処理を繰り返す。
【０１９４】
一方、ＳＤ＿ＥＮ＝１の場合にも、アクセス制御部１１１ａは、ＲＥＱが１であるか否かを判定し（ステップＳ１０２）、ＲＥＱ＝１であればステップＳ１０３の処理を行い、ＲＥＱ=０の場合には、ＲＥＱ＝１となるまでステップＳ１０２の処理を繰り返す。
【０１９５】
ステップＳ１０３の処理では、アクセス制御部１１１は、アクセス要求があった該当チャネルの信号Ｑｃｎｔが０か否かを判定する。ＦＩＦＯ１１に該当チャネルに対するコマンドが供給されていて、Ｑｃｎｔ＝１である場合には、アクセス制御部１１１ａは、アービタ実行部１１０に対して、アクセスを許可しない旨の信号（ＡＣＫ=０）を通知する（ステップＳ１０４）。そして、アクセス制御部１１１ａは、ＦＩＦＯ１１が空になり、該当チャネルのＱｃｎｔが０になるまで、ステップＳ１０３の処理を繰り返す。Ｑｃｎｔ＝０の場合には、ステップＳ１０５の処理が行われる。
【０１９６】
ステップＳ１０５の処理では、アクセス制御部１１１ａは、アクセス要求があった該当チャネルの該当バンクがアクセス中であるか判定する。アクセス制御部１１１ａは、該当バンクがアクセス中であればステップＳ１０５の処理を繰り返し、アクセス中でなければ、ＡＣＫ＝１としアクセスを許可する（ステップＳ１０６）。
【０１９７】
図３５は、マルチチャネル動作時とマルチチャネル動作制限時の動作例を示すタイミングチャートである。クロック信号ＣＫ、各チャネルのコマンドＣＨ０−ＣＭＤ，ＣＨ１−ＣＭＤと読み出されるデータの例が示されている。
【０１９８】
マルチチャネル動作時には、各チャネルＣＨ０，ＣＨ１のコマンドＣＨ０−ＣＭＤ，ＣＨ１−ＣＭＤが並列に発行され、データも並列に読み出される。
これに対し、マルチバンク動作制限時には、１つのチャネルごとにアクセスが行われる。たとえば、タイミングｔ１２０では、チャネルＣＨ０へアクティブコマンドＡＣＴが発行され、タイミングｔ１２１ではチャネルＣＨ１へリードコマンドＲＤＡが発行されている。また、タイミングｔ１２２では再びチャネルＣＨ０へアクティブコマンドＡＣＴが発行されている。
【０１９９】
タイミングｔ１２４では、チャネルＣＨ０のコマンドＣＨ０−ＣＭＤへの発行は行われず、チャネルＣＨ１へアクティブコマンドＡＣＴが発行される。タイミングｔ１２５では、チャネルＣＨ１のコマンドＣＨ１−ＣＭＤへの発行は行われず、チャネルＣＨ０へリードコマンドＲＤＡが発行される。タイミングｔ１２６からは、再びチャネルＣＨ１へアクティブコマンドＡＣＴが発行される。
【０２００】
データについては、タイミングｔ１２０からチャネルＣＨ１のデータＤ０〜Ｄ３が読み出され、タイミングｔ１２３からはチャネルＣＨ０のデータＤ０〜Ｄ３が読み出される。
このようにアクセス制御部１１１ａが、１度にアクセスされるチャネル数を制限することで、メモリの消費電力を抑え、低消費電力状態を実現できる。
【０２０１】
（変形例３）
図３６は、変形例３の半導体装置の一例を示す図である。図２に示した半導体装置１０と同じ要素については同一符号を付している。また、図３６では、図２に示したＱｃｎｔ生成部１４やアクセスモニタ１６などは図示を省略している。
【０２０２】
変形例３では、プロトコル制御部１３ｅは、コマンド制御部１１５、データ制御部１１６を有している。
コマンド制御部１１５は、ＦＩＦＯ１１に格納されたコマンドを、アービタ１２を介して受信し、プロトコルに応じてコマンドＣＭＤを図示しないメモリ側に通知する。また、コマンド制御部１１５は、ＳＤ＿ＥＮ＝１のときは、上位データビットＵｐｐｅｒ＿ＤＱ用のコマンドＣＭＤと、下位データビットＬｏｗｅｒ＿ＤＱ用のコマンドＣＭＤをメモリ側に供給する。
【０２０３】
データ制御部１１６は、ライトデータ及びリードデータの書き込みタイミングや読み出しタイミングをプロトコルに応じて制御する。また、データ制御部１１６は、ＳＤ＿ＥＮ＝１のときは、上位データビットＵｐｐｅｒ＿ＤＱと、下位データビットＬｏｗｅｒ＿ＤＱを異なるタイミングでリードまたはライトする。
【０２０４】
図３７は、変形例３の半導体装置の動作例を示すフローチャートである。
コマンド制御部１１５とデータ制御部１１６とは、信号ＳＤ＿ＥＮが１であるか否かを判定する（ステップＳ１１０）。ＳＤ＿ＥＮ＝０の場合には、コマンド制御部１１５とデータ制御部１１６は、データバスの動作を制限することを無効とする（ステップＳ１１１）。この場合、上位データビットＵｐｐｅｒ＿ＤＱと、下位データビットＬｏｗｅｒ＿ＤＱは同じタイミングでリードまたはライトされる。
【０２０５】
一方、ＳＤ＿ＥＮ＝１の場合には、コマンド制御部１１５とデータ制御部１１６は、データバスの動作を制限することを有効とする（ステップＳ１１２）。この場合、上位データビットＵｐｐｅｒ＿ＤＱと、下位データビットＬｏｗｅｒ＿ＤＱは異なるタイミングでリードまたはライトされる。たとえば、最初に上位データビットＵｐｐｅｒ＿ＤＱへのアクセスが行われ、次に下位データビットＬｏｗｅｒ＿ＤＱへのアクセスが行われる。
【０２０６】
ステップＳ１１１，Ｓ１１２の後は、たとえば、電源の供給が停止されるまで、ステップＳ１１０からの処理が繰り返される。
図３８は、データバスの動作制限を有効としたときと、無効としたときの動作例を示すタイミングチャートである。クロック信号ＣＫ、コマンドＣＭＤと上位データビットＵｐｐｅｒ＿ＤＱと、下位データビットＬｏｗｅｒ＿ＤＱの例が示されている。また、メモリの消費電流の電流波形の例が示されている。
【０２０７】
データバスの動作制限が無効である場合、たとえば、コマンドＣＭＤとしてリードコマンドＲＤが発行されると（タイミングｔ１３０）、タイミングｔ１３２から、上位データビットＵｐｐｅｒ＿ＤＱと、下位データビットＬｏｗｅｒ＿ＤＱが同時に読み出される。
【０２０８】
これに対して、データバスの動作制限が有効である場合、上位データビットＵｐｐｅｒ＿ＤＱ用と、下位データビットＬｏｗｅｒ＿ＤＱ用のリードコマンドＲＤが、異なるタイミング（ｔ１３０，ｔ１３１）で発行される。そして、タイミングｔ１３２から、上位データビットＵｐｐｅｒ＿ＤＱが読み出され、タイミングｔ１３３から下位データビットＬｏｗｅｒ＿ＤＱが読み出される。
【０２０９】
電流波形Ｉ１０は、データバスの動作制限が無効であるときのものであり、電流波形Ｉ１１は、データバスの動作制限が有効であるときのものである。図３８のように、電流波形Ｉ１１は、電流波形Ｉ１０よりもピーク値が小さくなっている。
【０２１０】
このようにコマンド制御部１１５とデータ制御部１１６が、データバスの動作を制限することで、所定の期間において、メモリの消費電力を抑え、低消費電力状態を実現できる。
【０２１１】
なお、必ずしもバスのビット数の分け方を上位データビットと下位データビットの２つに分けなくてもよく、３つ以上に分けてもよい。
また、半導体装置は、メモリの通常動作状態が、ＤＤＲ（Double-Data-Rate）方式である場合に、ＳＤＲ（Single-Data-Rate）方式に切り替えて、低消費電力状態とするようにしてもよい。
【０２１２】
以上、実施の形態に基づき、本発明の半導体装置及びメモリの制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
以上説明した複数の実施の形態に関し、さらに以下の付記を開示する。
【０２１３】
（付記１）アクセス対象回路へのアクセスを検出し、前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第１の期間に達するまで、前記アクセス対象回路の動作を第１の動作状態よりも消費電力が低い第２の動作状態に切り替えることを制限する信号を出力するアクセス検出部と、
前記信号に応じて前記アクセス対象回路の動作を制御する動作制御部と、
を有する半導体装置。
【０２１４】
（付記２）前記アクセス検出部は、前記アクセス対象回路が前記第２の動作状態のとき、前記第１の動作状態への切り替えを可とする条件を満たすまでは、前記アクセス対象回路の動作を前記第１の動作状態に切り替えることを制限する信号を出力する、付記１に記載の半導体装置。
【０２１５】
（付記３）前記アクセス検出部は、前記アクセス対象回路が前記第２の動作状態のとき、前記アクセスが継続し、前記アクセスが継続する期間が第２の期間に達するまで、前記アクセス対象回路の動作を前記第１の動作状態に切り替えることを制限する信号を出力する、付記１または２に記載の半導体装置。
【０２１６】
（付記４）前記アクセス対象回路を検証し、検証結果を前記アクセス検出部に通知する検証制御部を有し、
前記アクセス検出部は、前記アクセス対象回路が前記第２の動作状態のとき、前記検証制御部から、前記検証結果を受けるまでは、前記アクセス対象回路の動作を前記第１の動作状態に切り替えることを制限する信号を出力する、
付記１または２に記載の半導体装置。
【０２１７】
（付記５）前記第２の動作状態は、前記第１の動作状態よりも周期が長いクロック信号と、前記第１の動作状態よりも小さいドライブ能力で、前記アクセス対象回路を動作させる動作状態である、付記１乃至４の何れか１つに記載の半導体装置。
【０２１８】
（付記６）前記第２の動作状態は、前記アクセス対象回路の検証を行う動作状態である、付記１乃至４の何れか１つに記載の半導体装置。
（付記７）前記第２の動作状態は、前記第１の動作状態よりもコマンドを前記アクセス対象回路に供給する周期が長い動作状態である、付記１乃至４の何れか１つに記載の半導体装置。
【０２１９】
（付記８）前記第２の動作状態は、前記第１の動作状態よりも１度に動作する回路数が制限された動作状態である、付記１乃至４の何れか１つに記載の半導体装置。
（付記９）前記アクセス対象回路は、複数のバンクを有するメモリであり、前記第２の動作状態は、前記第１の動作状態よりも１度にアクセスされるバンク数が制限された動作状態である、付記１乃至４の何れか１つに記載の半導体装置。
【０２２０】
（付記１０）前記アクセス対象回路は、複数のチャネルを有するメモリであり、前記第２の動作状態は、前記第１の動作状態よりも１度にアクセスされるチャネル数が制限された動作状態である、付記１乃至４の何れか１つに記載の半導体装置。
【０２２１】
（付記１１）前記第２の動作状態は、前記第１の動作状態よりも１度にアクセスされるバスのビット数が制限された動作状態である、付記１乃至４の何れか１つに記載の半導体装置。
【０２２２】
（付記１２）アクセス検出部が、
メモリへのアクセスを検出し、
前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第１の期間に達するまで、前記メモリの動作を第１の動作状態よりも消費電力が低い第２の動作状態に切り替えることを制限する信号を出力し、
動作制御部が、前記信号に応じて前記メモリの動作を制御する、
メモリの制御方法。
【符号の説明】
【０２２３】
１、１０  半導体装置
１ａ  アクセス検出部
１ｂ  動作制御部
２  アクセス対象回路
１１  ＦＩＦＯ
１２  アービタ
１３  プロトコル制御部
１４  Ｑｃｎｔ生成部
１５  レジスタ
１６  アクセスモニタ
１７  ｔＣＫ／ＤＳ制御部
１８  Ｉ／Ｏ回路
１８ａ  出力ドライバ
２０−１〜２０−ｎ  マスタ
２２  メモリ
【図１】
2014063279.tif 000003
【図２】
2014063279.tif 000004
【図３】
2014063279.tif 000005
【図４】
2014063279.tif 000006
【図５】
2014063279.tif 000007
【図６】
2014063279.tif 000008
【図７】
2014063279.tif 000009
【図８】
2014063279.tif 000010
【図９】
2014063279.tif 000011
【図１０】
2014063279.tif 000012
【図１１】
2014063279.tif 000013
【図１２】
2014063279.tif 000014
【図１３】
2014063279.tif 000015
【図１４】
2014063279.tif 000016
【図１５】
2014063279.tif 000017
【図１６】
2014063279.tif 000018
【図１７】
2014063279.tif 000019
【図１８】
2014063279.tif 000020
【図１９】
2014063279.tif 000021
【図２０】
2014063279.tif 000022
【図２１】
2014063279.tif 000023
【図２２】
2014063279.tif 000024
【図２３】
2014063279.tif 000025
【図２４】
2014063279.tif 000026
【図２５】
2014063279.tif 000027
【図２６】
2014063279.tif 000028
【図２７】
2014063279.tif 000029
【図２８】
2014063279.tif 000030
【図２９】
2014063279.tif 000031
【図３０】
2014063279.tif 000032
【図３１】
2014063279.tif 000033
【図３２】
2014063279.tif 000034
【図３３】
2014063279.tif 000035
【図３４】
2014063279.tif 000036
【図３５】
2014063279.tif 000037
【図３６】
2014063279.tif 000038
【図３７】
2014063279.tif 000039
【図３８】
2014063279.tif 000040