JP6003449B2 - 半導体装置及びメモリの制御方法 - Google Patents

半導体装置及びメモリの制御方法 Download PDF

Info

Publication number
JP6003449B2
JP6003449B2 JP2012207076A JP2012207076A JP6003449B2 JP 6003449 B2 JP6003449 B2 JP 6003449B2 JP 2012207076 A JP2012207076 A JP 2012207076A JP 2012207076 A JP2012207076 A JP 2012207076A JP 6003449 B2 JP6003449 B2 JP 6003449B2
Authority
JP
Japan
Prior art keywords
signal
access
operation state
control unit
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012207076A
Other languages
English (en)
Other versions
JP2014063279A5 (ja
JP2014063279A (ja
Inventor
康之 江口
康之 江口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Socionext Inc filed Critical Socionext Inc
Priority to JP2012207076A priority Critical patent/JP6003449B2/ja
Priority to US14/028,249 priority patent/US9218855B2/en
Publication of JP2014063279A publication Critical patent/JP2014063279A/ja
Publication of JP2014063279A5 publication Critical patent/JP2014063279A5/ja
Application granted granted Critical
Publication of JP6003449B2 publication Critical patent/JP6003449B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/22Modifications for ensuring a predetermined initial state when the supply voltage has been applied

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Description

本発明は、半導体装置及びメモリの制御方法に関する。
半導体装置において、通常の動作状態と、通常の動作状態よりも消費電力が小さいスタンバイ状態との間で遷移が行われる際、負荷が変動して大きな電圧降下が生じ、不具合が生じる懸念がある。
そのため、パワーオンリセット期間またはスタンバイ状態と、通常の動作状態との間で遷移が行われる際、電源電流が急激に変化しないように、たとえば、段階的にクロック信号の周波数を変える手法が提案されている。
特開2005−339310号公報 特開2003−272380号公報
しかしながら、動作状態が制御される回路へのアクセスは様々な形態をとり、実際のアクセスに応じて動作状態の制御を行わないと、回路に不具合が生じる懸念があった。たとえば、回路へのアクセスが頻繁に途切れ、スタンバイ状態などのような低消費電力動作状態と、通常動作状態とが頻繁に繰り返されると、電源ノイズにより回路に不具合が発生するなどの懸念がある。
発明の一観点によれば、アクセス対象回路へのアクセスを検出し、前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第1の期間に達するまで、前記アクセス対象回路を第1の動作状態よりも消費電力が低い第2の動作状態に切り替えることを制限する信号を出力するアクセス検出部と、前記信号に応じて前記アクセス対象回路の動作を制御する動作制御部と、を備えた半導体装置が提供される。
また、発明の一観点によれば、アクセス検出部が、メモリへのアクセスを検出し、前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第1の期間に達するまで、前記メモリの動作を第1の動作状態よりも消費電力が低い第2の動作状態に切り替えることを制限する信号を出力し、動作制御部が、前記信号に応じて前記メモリの動作を制御する、メモリの制御方法が提供される。
開示の半導体装置及びメモリの制御方法によれば、アクセス対象の回路の不具合の発生を抑制することができる。
第1の実施の形態の半導体装置の一例とその動作例を示す図である。 第2の実施の形態の半導体装置の一例を示す図である。 アクセスモニタの一例を示す図である。 アクセスモニタの動作例を示す真理値表である。 tCK/DS制御部の一例を示す図である。 tCK/DS制御部の動作例を示す真理値表である。 通常動作時と低消費電力動作時のクロック信号、データ信号及び電流波形の一例を示す図である。 第2の実施の形態の半導体装置の動作例を示すフローチャートである。 第2の実施の形態の半導体装置の動作例を示すタイミングチャートである。 第3の実施の形態の半導体装置の一例を示す図である。 第3の実施の形態の半導体装置におけるアクセスモニタの一例を示す図である。 アクセスモニタの動作例を示す真理値表である。 プロトコル制御部、ベリファイタイミング制御部及びベリファイ制御部の一例を示す図である。 ベリファイの一例の流れを示すフローチャートである。 ライトベリファイの一例を示すタイミングチャートである。 リードベリファイの一例を示すタイミングチャートである。 第3の実施の形態の半導体装置の動作例を示すフローチャートである。 第3の実施の形態の半導体装置の動作例を示すタイミングチャートである。 第4の実施の形態の半導体装置の一例を示す図である。 レイテンシ調整レジスタの一例を示す図である。 レイテンシ調整レジスタの動作の一例を示す図である。 通常動作時のレイテンシと、低消費電力動作時のレイテンシの一例を示す図である。 ベリファイタイミング制御部の一例を示す図である。 第4の実施の形態の半導体装置の動作例を示すフローチャートである。 第4の実施の形態の半導体装置の動作例を示すタイミングチャートである。 第5の実施の形態の半導体装置の一例を示す図である。 ベリファイタイミング制御部の一例を示す図である。 第5の実施の形態の半導体装置の動作例を示すフローチャートである。 第5の実施の形態の半導体装置の動作例を示すタイミングチャートである。 変形例1の半導体装置の一例を示す図である。 変形例1の半導体装置の動作例を示すフローチャートである。 マルチバンク動作時とマルチバンク動作制限時の動作例を示すタイミングチャートである。 変形例2の半導体装置の一例を示す図である。 変形例2の半導体装置の動作例を示すフローチャートである。 マルチチャネル動作時とマルチチャネル動作制限時の動作例を示すタイミングチャートである。 変形例3の半導体装置の一例を示す図である。 変形例3の半導体装置の動作例を示すフローチャートである。 データバスの動作制限を有効としたときと、無効としたときの動作例を示すタイミングチャートである。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の半導体装置の一例とその動作例を示す図である。
半導体装置1は、アクセス検出部1aと動作制御部1bを有している。
アクセス検出部1aは、アクセス対象回路2へのアクセスを検出し、アクセスに応じた動作切り替え信号を動作制御部1bに送る。アクセス検出部1aは、アクセスがない期間が所定期間、継続するまでは、動作切り替え信号として、アクセス対象回路2を第1の動作状態よりも消費電力が低い第2の動作状態に切り替えることを制限する信号を出力する。アクセス対象回路2は、たとえば、メモリである。
また、アクセス検出部1aは、アクセス対象回路2が第2の動作状態のとき、所定の条件を満たすまでは、動作切り替え信号として、アクセス対象回路2の動作を第1の動作状態に切り替えることを制限する信号を出力する。
以下、第1の動作状態を通常動作状態、第2の動作状態を低消費電力動作状態と呼ぶ。
動作制御部1bは、アクセス検出部1aからの信号をもとに、アクセス対象回路2の動作を制御する。
以下、図1のタイミングチャートを用いて、半導体装置1の動作の一例を説明する。タイミングチャートには、アクセス対象回路2へのアクセスの有無(アクセスが発生している場合には、1(H(High)レベル)、アクセスが発生していない場合には、0(L(Low)レベル))が示されている。また、アクセス検出部1aから出力される動作切り替え信号の例が示されている。
また、動作切り替え信号が1のときは、低消費電力動作が許可され、通常動作状態に切り替わることが制限される。動作切り替え信号が0のときは、通常動作が許可され、低消費電力動作状態に切り替わることが制限される。
図1のように、動作切り替え信号が1のとき、アクセスが発生すると(タイミングt1)、アクセス検出部1aは、たとえば、アクセスが所定期間T1だけ継続するまでは、動作切り替え信号を1に維持する。これにより、動作制御部1bは、アクセス対象回路2の動作状態が、通常動作状態に切り替わることを制限する。また、このときクロック周波数を通常動作状態よりも下げたり、ドライバ能力を下げたり、ベリファイを実施したり、通常の動作状態よりも消費電力の低い動作を行うことで、通常動作状態に遷移するときの負荷変動による電圧の変化を抑えることができる。
アクセスが所定期間T1だけ継続すると、アクセス検出部1aは、動作切り替え信号を0にする(タイミングt2)。これにより、動作制御部1bは、アクセス対象回路2が通常動作を行うことを許容する。したがって、アクセスに応じた通常動作が行われる。
タイミングt3では、アクセスが途切れている。しかし、アクセス検出部1aは、アクセスがない期間が、所定期間T2だけ継続するまでは、動作切り替え信号を0のまま維持し、アクセス対象回路2が低消費電力動作状態に切り替わることを制限している。
タイミングt4で再びアクセスが発生し、タイミングt5〜t6の間では、頻繁にアクセスが途切れている。この場合も、アクセスがない期間が、所定期間T2に達していないため、アクセス検出部1aは、動作切り替え信号を0のまま維持し、アクセス対象回路2が低消費電力動作状態に切り替わることを制限している。
アクセスがない期間が、所定期間T2だけ継続すると、アクセス検出部1aは、動作切り替え信号を1にする(タイミングt7)。これにより、動作制御部1bは、アクセス対象回路2の動作状態を低消費電力動作状態とすることを許可する。
以上のように、第1の実施の形態の半導体装置1によれば、アクセス検出部1aは、アクセスがない期間が所定期間、継続するまでは、アクセス対象回路2が通常動作状態から低消費電力動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力動作状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるアクセス対象回路2での不具合の発生を抑制できる。
また、第1の実施の形態の半導体装置1によれば、アクセス検出部1aは、アクセス対象回路2が低消費電力状態のとき、アクセスがある期間が所定期間、継続するまでは、アクセス対象回路2が低消費電力状態から通常動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力動作状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるアクセス対象回路2での不具合の発生を抑制することができる。
(第2の実施の形態)
図2は、第2の実施の形態の半導体装置の一例を示す図である。
半導体装置10は、メモリコントローラであり、FIFO(First-In-First-Out)11、アービタ12、プロトコル制御部13、Qcnt生成部14、レジスタ15、アクセスモニタ16、tCK/DS制御部17、I/O(Input / Output)回路18を有している。
第2の実施の形態の半導体装置10では、アクセスモニタ16を用いて、図1に示したアクセス検出部1aの機能が行われ、tCK/DS制御部17を用いて、図1に示した動作制御部1bの機能が行われる。また、第2の実施の形態では、メモリ22がアクセス対象回路となっている。
FIFO11は、マスタ20−1〜20−nからのコマンドなどを保持する。アービタ12は、どのマスタ20−1〜20−nが、メモリ22にアクセスする優先権をもつか、などを決定する。プロトコル制御部13は、メモリ22のプロトコルに応じた処理を行う。たとえば、プロトコル制御部13は、プロトコルに応じたレイテンシで、コマンドをメモリ22に送信したりする。
Qcnt生成部14は、FIFO11に外部コマンドがあるか否かを検出して、メモリ22に対するアクセスがあるか否かを示す信号Qcntを生成する。以下の説明では、アクセスがある場合には、Qcnt=1(Hレベル)、アクセスがない場合には、Qcnt=0(Lレベル)であるとする。
レジスタ15は、低消費電力動作から通常動作へ遷移する際の閾値期間と、通常動作から低消費電力動作へ遷移する際の閾値期間を表すための値を保持している。本実施の形態では、閾値期間を規定するために、アクセスモニタ16が有する後述の2つのカウンタによるカウンタ値の、2つの上限値が保持されている。
アクセスモニタ16は、信号Qcnt、閾値期間に応じて、低消費電力動作を有効にするか無効にするかを示す信号SD_ENを生成する。以下の説明では、低消費電力動作を有効にする場合は、SD_EN=1、低消費電力動作を無効にする場合は、SD_EN=0とする。アクセスモニタ16は、信号Qcntを参照し、閾値期間の間、アクセスがないときには、SD_EN=1とし、閾値期間の間、アクセスが継続したときには、SD_EN=0とする。
tCK/DS制御部17は、信号SD_ENに応じたクロック信号CK及びドライバ能力設定信号DSを生成する。そして、tCK/DS制御部17は、生成したクロック信号CKを、半導体装置10の各部に供給する。また、tCK/DS制御部17は、生成したドライバ能力設定信号DSを、出力ドライバ18aを有するI/O回路18に供給する。また、半導体装置10内に含まれるトランジスタにドライバ能力設定信号DSが供給されるようにしてもよい。たとえば、tCK/DS制御部17は、SD_EN=1のときには、SD_EN=0のときよりも、低い周波数のクロック信号CKを生成するとともに、ドライバの能力を弱める旨を指定するドライバ能力設定信号DSを生成する。
なお、クロック信号CKを半導体装置10の各部に伝達する信号線については、図示が省略されている。
また、図示を省略しているが、tCK/DS制御部17には、たとえば、図示しないパワーオンリセット回路などから、電源投入時などに、CK信号の周期及びドライバ能力設定信号DSを初期化する信号INITが供給される。信号INITが1のときは初期化が行われる。
I/O回路18は、出力ドライバ18aを有し、制御信号などをメモリ22に出力する。
(アクセスモニタ16の一例)
図3は、アクセスモニタの一例を示す図である。
アクセスモニタ16は、ACTカウンタ30、STBカウンタ31、比較器32,33、AND回路34,35,36,37、インバータ38,39,40,41、OR回路42を有している。
ACTカウンタ30及びSTBカウンタ31は、クロック信号CKに同期してカウントを行う。また、ACTカウンタ30及びSTBカウンタ31は、リセット端子/RST1,/RST2を有している。
比較器32は、ACTカウンタ30から出力されるカウント値と、ACTカウンタ30のカウント値の上限値ACT_MAXとを比較する。比較器33は、STBカウンタ31から出力されるカウント値と、STBカウンタ31のカウント値の上限値STB_MAXとを比較する。比較器32は、ACTカウンタ30から出力されるカウント値が上限値ACT_MAX以上の場合には、1を出力し、カウント値が上限値ACT_MAXよりも小さい場合には、0を出力する。比較器33は、STBカウンタ31から出力されるカウント値が上限値STB_MAX以上の場合には、1を出力し、カウント値が上限値STB_MAXよりも小さい場合には、0を出力する。
AND回路34の一方の入力端子には、Qcnt生成部14で生成される信号Qcntが入力され、他方の入力端子には、アクセスモニタ16の出力信号である信号SD_ENが入力される。AND回路34の出力端子は、ACTカウンタ30のリセット端子/RST1に接続されている。
AND回路35の一方の入力端子には、信号Qcntがインバータ38を介して入力され、他方の入力端子には、信号SD_ENがインバータ39を介して入力される。AND回路35の出力端子は、STBカウンタ31のリセット端子/RST2に接続されている。
AND回路36の一方の入力端子には、比較器32の出力信号がインバータ40を介して入力され、他方の入力端子には、信号SD_ENが入力される。AND回路36の出力端子は、OR回路42の一方の入力端子に接続されている。
AND回路37の一方の入力端子には、比較器33の出力信号が入力され、他方の入力端子には、信号SD_ENがインバータ41を介して入力される。AND回路37の出力端子は、OR回路42の他方の入力端子に接続されている。OR回路42の出力端子からは、アクセスモニタの出力信号である信号SD_ENが出力される。
(アクセスモニタ16の動作例)
まず、ACTカウンタ30の動作を説明する。信号SD_ENが0のとき、信号Qcntの値にかかわらず、AND回路34の出力は0となり、ACTカウンタ30はリセット状態となり、0を出力する。信号SD_ENが1のとき、信号Qcntが0であると、ACTカウンタ30はリセット状態となり、0を出力する。信号SD_ENが1で、信号Qcntが1のときは、AND回路34の出力は1となり、ACTカウンタ30はクロック信号CKに同期してカウントアップ動作を行う。
次に、STBカウンタ31の動作を説明する。信号SD_ENが0のとき、信号Qcntが0であると、AND回路35の出力は1となり、STBカウンタ31はクロック信号CKに同期してカウントアップ動作を行う。信号SD_ENが0で、信号Qcntが1のとき、もしくは信号SD_ENが1のときには、AND回路35の出力は0となり、STBカウンタ31はリセット状態となり、0を出力する。
図4は、アクセスモニタの動作例を示す真理値表である。
信号ACT_OUTは、比較器32の出力信号、信号STB_OUTは比較器33の出力信号を示している。
まず、現在のメモリ22の動作状態が通常動作状態である場合について説明する。このとき、信号SD_ENは0となっている。
信号STB_OUTが0であると、信号ACT_OUTの値にかかわらず、信号SD_ENは0となり、次の動作状態も通常動作状態となる。信号STB_OUTが1であると、信号ACT_OUTの値にかかわらず、信号SD_ENが1となり、メモリ22は、低消費電力動作状態となる。
次に、現在のメモリ22の動作状態が低消費電力動作状態である場合について説明する。このとき、信号SD_ENは1となっている。
信号ACT_OUTが0であると、信号STB_OUTの値にかかわらず、信号SD_ENは1のままであり、次の動作状態も低消費電力動作状態となる。信号ACT_OUTが1であると、信号STB_OUTの値にかかわらず、信号SD_ENが0となり、メモリ22は、通常動作状態となる。
(tCK/DS制御部17の一例)
図5は、tCK/DS制御部の一例を示す図である。
tCK/DS制御部17は、選択回路50、通常動作用CK生成部51、通常動作用DS生成部52、低消費電力動作用CK生成部53、低消費電力動作用DS生成部54を有している。
選択回路50は、信号INIT,SD_ENに応じて、通常動作用CK生成部51、通常動作用DS生成部52、低消費電力動作用CK生成部53、低消費電力動作用DS生成部54のうちで有効にするものを選択する。
通常動作用CK生成部51は、たとえば、分周器を有し、通常動作用のクロック信号CKを生成する。通常動作用DS生成部52は、通常動作用のドライバ能力設定信号DSを生成する。
低消費電力動作用CK生成部53は、たとえば、分周器を有し、低消費電力動作用のクロック信号CKを生成する。低消費電力動作用のクロック信号CKは、通常動作用のものよりも周期tCKが長い(周波数が低い)。低消費電力動作用DS生成部54は、低消費電力動作用のドライバ能力設定信号DSを生成する。低消費電力動作用のドライバ能力設定信号DSは、通常動作用のもので指定されるドライバ能力より、ドライバ能力を下げるように指定するものである。
(tCK/DS制御部17の動作例)
図6は、tCK/DS制御部の動作例を示す真理値表である。
メモリ22の動作状態が通常動作状態である場合、信号SD_ENは0となっている。このとき、選択回路50は、信号INITの値によらず、通常動作用CK生成部51と、通常動作用DS生成部52を有効にし、低消費電力動作用CK生成部53と、低消費電力動作用DS生成部54を無効にする。これにより、クロック信号CKは、通常動作用の周期tCKとなり、ドライバ能力設定信号DSは、通常動作用のものとなる。
メモリ22の動作状態が低消費電力動作状態である場合、信号SD_ENは1となっている。このとき、選択回路50は、信号INITが0のときに、低消費電力動作用CK生成部53と、低消費電力動作用DS生成部54を有効にし、通常動作用CK生成部51と、通常動作用DS生成部52を無効にする。これにより、クロック信号CKは、低消費電力動作用の周期tCKとなり、ドライバ能力設定信号DSも低消費電力動作用のものとなる。
また、選択回路50は、信号INITが1のときに、通常動作用CK生成部51と、通常動作用DS生成部52を有効にし、低消費電力動作用CK生成部53と、低消費電力動作用DS生成部54を無効にする。これにより、クロック信号CKは、通常動作用の周期tCKとなり、ドライバ能力設定信号DSは、通常動作用のものとなる。
図7は、通常動作時と低消費電力動作時のクロック信号、データ信号及び電流波形の一例を示す図である。
図7では、コマンドとしてリードコマンドがFIFO11に供給された場合における、クロック信号CKとデータ信号DQ及び、半導体装置10内及びメモリ22内の消費電流の電流波形の例が示されている。
低消費電力動作時には、tCK/DS制御部17により、クロック信号CKの周期は、通常動作時よりも長くなるように調整されている。これにより、データ信号DQも、通常動作時よりもメモリ22からゆっくり読み出される。このためメモリ22の電流波形は通常動作の波形I1よりも低消費電力動作の波形I2のピーク電流値が低くなる。
また、半導体装置10の電流については、低消費電力動作時は、半導体装置10内のドライバ能力が制限されるので、電流波形は、通常動作時の波形I3よりもピーク電流値が小さく、スルーレート(電流の傾き)が小さい波形I4となる。
(半導体装置10の全体動作例)
図8は、第2の実施の形態の半導体装置の動作例を示すフローチャートである。
最初は、カウント値STB,ACT、信号SD_ENは、0であるとする。
アクセスモニタ16は、信号SD_ENが1であるか否かを判定する(ステップS1)。メモリ22が通常動作状態である場合には、SD_EN=0であるので、ステップS2の処理が行われる。たとえば、メモリ22が低消費電力動作状態である場合には、SD_EN=1であるので、ステップS7の処理が行われる。
ステップS2の処理では、アクセスモニタ16は、信号Qcntが0であるか否かを判定する。FIFO11にコマンドが供給され、メモリ22へのアクセスがある場合には、Qcnt=1となり、アクセスモニタ16のSTBカウンタ31はリセット状態となる。すなわち、STBカウンタ31でのカウント値STBは、STB=0となる(ステップS3)。その後、ステップS2からの処理が繰り返される。
FIFO11が空の状態のとき、Qcnt=0となり、アクセスモニタ16のSTBカウンタ31はカウントアップされ、STB=STB+1となる(ステップS4)。そして、アクセスモニタ16の比較器33は、上限値STB_MAXと、カウント値STBとを比較する(ステップS5)。STB<STB_MAXである場合には、ステップS2からの処理が繰り返される。STB≧STB_MAXである場合には、アクセスモニタ16は、信号SD_ENを1とする(ステップS6)。これにより、低消費電力動作が許容される状態となる。また、このとき、tCK/DS制御部17は、信号INITが1でなければ、低消費電力動作用の周期tCKのクロック信号を生成するとともに、低消費電力動作用のドライバ能力設定信号DSを生成し、各部に供給する。その後、たとえば、電源の供給が停止されるまで、ステップS1からの処理が繰り返される。
一方、ステップS1の処理時において、SD_EN=1である場合、ステップS7の処理では、アクセスモニタ16は、信号Qcntが0であるか否かを判定する。メモリ22へのアクセスがなく、FIFO11が空の状態のとき、Qcnt=0となり、アクセスモニタ16のACTカウンタ30はリセット状態となる。すなわち、ACTカウンタ30でのカウント値ACTは、ACT=0となる(ステップS8)。その後、ステップS7からの処理が繰り返される。
FIFO11にコマンドが供給され、メモリ22へのアクセスがある場合には、Qcnt=1となり、アクセスモニタ16のACTカウンタ30はカウントアップされ、ACT=ACT+1となる(ステップS9)。そして、アクセスモニタ16の比較器32は、上限値ACT_MAXと、カウント値ACTとを比較する(ステップS10)。ACT<ACT_MAXである場合には、ステップS7からの処理が繰り返される。ACT≧ACT_MAXである場合には、アクセスモニタ16は、信号SD_ENを0とする(ステップS11)。これにより、通常動作が許容される状態となる。また、このとき、tCK/DS制御部17は、通常動作用の周期tCKのクロック信号を生成するとともに、通常動作用のドライバ能力設定信号DSを生成し、各部に供給する。その後、たとえば、電源の供給が停止されるまで、ステップS1からの処理が繰り返される。
図9は、第2の実施の形態の半導体装置の動作例を示すタイミングチャートである。図9では、信号Qcnt、ACTカウンタ30のカウント値ACT、STBカウンタ31のカウント値STB、信号SD_EN、メモリ22の動作状態の一例の様子が示されている。クロック信号CKについては図示が省略されている。
信号SD_EN=0の状態のとき、信号Qcntが0であるとSTBカウンタ31のカウント値STBがクロック信号CKに同期してカウントアップされていく。そして、カウント値STBが、上限値STB_MAXに達すると、信号SD_ENが1となる(タイミングt10)。信号SD_ENが1の状態で、信号Qcntが1になると、メモリ22の動作状態は、低消費電力動作用の周期tCKのクロック信号CK及び低消費電力動作用のドライバ能力設定信号DSで動作する状態L1となる(タイミングt11)。
また、信号Qcntが1になると、ACTカウンタ30がクロック信号CKに同期してカウント値ACTをカウントアップしていく。そして、カウント値ACTが、上限値ACT_MAXに達すると、信号SD_ENが0となる。これにより、メモリ22の動作状態は、通常動作用の周期tCKのクロック信号CK及び通常動作用のドライバ能力設定信号DSで動作する状態N1となる(タイミングt12)。なお、タイミングt11からt12までの期間が、低消費電力動作状態から通常動作状態へ遷移することを許可する際の閾値期間T3であり、クロック信号CKの周期tCKと上限値ACT_MAXによって規定される。
図9のように、信号Qcntは、タイミングt13で、0になるが、カウント値STBが上限値STB_MAXには達しないタイミングt14でQcnt=1に戻るため、信号SD_ENは、0のままである。そのため、メモリ22は、アクセスが発生したタイミングt14から再び通常動作を行う状態N2となる。
タイミングt15〜t16の間では、信号Qcntが頻繁に0になったり1になったりしている。この場合も、カウント値STBが上限値STB_MAXに達しないため、信号SD_ENは、0のままである。そのため、メモリ22は、信号Qcntが1となっている期間、通常動作を行う状態N3,N4,N5となる。
信号Qcntが0の状態で、カウント値STBが、上限値STB_MAXに達すると、信号SD_ENが1となる(タイミングt17)。これにより、メモリ22の動作状態は、信号Qcntが1になるタイミングt18で、低消費電力動作用の周期tCKのクロック信号CK及び低消費電力動作用のドライバ能力設定信号DSで動作する状態L2となる。なお、タイミングt16からt17までの期間が、通常動作状態から低消費電力動作状態へ遷移することを許可する際の閾値期間T4であり、クロック信号CKの周期tCKと上限値STB_MAXによって規定される。
タイミングt18で、信号Qcntが1になることによって、ACTカウンタ30はクロック信号CKに同期してカウント値ACTをカウントアップしていく。しかし、カウント値ACTが上限値ACT_MAXに達しないうちに、Qcnt=0となるため(タイミングt19)、メモリ22は通常動作状態に遷移しない。
このように、アクセスモニタ16は、アクセスがない期間が所定期間(図9の例では閾値期間T4)、継続するまでは、メモリ22が通常動作状態から低消費電力状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ22での不具合の発生を抑制することができる。
また、アクセスモニタ16は、メモリ22が低消費電力状態のとき、アクセスがある期間が所定期間(図9の例では閾値期間T3)、継続するまでは、メモリ22が低消費電力状態から通常動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ22での不具合の発生を抑制することができる。
また、第2の実施の形態の半導体装置10では、スタンバイ状態などのような低消費電力動作状態から通常動作状態に遷移する際に、通常動作時よりクロック信号の周期を長くしたり、ドライバ能力を低下させた低消費電力動作を実行する。これにより、スタンバイ状態から通常動作状態に遷移するときの負荷変動による電圧の変化を抑えることができ、メモリ22に不具合が発生することを抑制できる。
(第3の実施の形態)
図10は、第3の実施の形態の半導体装置の一例を示す図である。図2に示した第2の実施の形態の半導体装置10と同様の要素については同一符号を付し、説明を省略する。
半導体装置10aは、メモリ22を低消費電力状態から通常動作状態に遷移させる際に、メモリ22に正常にデータが書き込まれたかなどの検証(ベリファイ)を行うものであり、ベリファイタイミング制御部60とベリファイ制御部61を有している。
ベリファイタイミング制御部60は、ベリファイを実施するタイミングを制御する。ベリファイ制御部61は、ベリファイタイミング制御部60で指定されたタイミングでベリファイを行い、検証結果Verifyをアクセスモニタ16aに出力する。
アクセスモニタ16aは、信号Qcntと、レジスタ15aに保持されている前述の上限値STB_MAX、及びベリファイ制御部61での検証結果Verifyに応じて、低消費電力動作を有効にするか無効にするか否かを示す信号SD_ENを生成する。アクセスモニタ16aは、メモリ22が低消費電力動作状態のとき、正しいライトまたはリードが行われたことを示す検証結果Verifyが得られると、信号SD_ENを0とし、メモリ22の動作を通常動作状態に切り替えることを許容する。以下の説明では、正しいライトまたはリードが行われたことを示す検証結果が、Verify=1であり、正しいライトまたはリードが行われていないことを示す検証結果が、Verify=0であるものとする。
(アクセスモニタ16aの一例)
図11は、第3の実施の形態の半導体装置におけるアクセスモニタの一例を示す図である。図3に示したアクセスモニタ16と同様の要素については同一符号を付し、説明を省略する。
第3の実施の形態の半導体装置10aのアクセスモニタ16aは、図示しないクロック信号生成部から供給されるクロック信号CKに同期して、ベリファイ制御部61での検証結果Verifyを保持するラッチ回路43を有している。ラッチ回路43の出力端子は、インバータ44の入力端子に接続され、インバータ44の出力端子は、AND回路36の一方の入力端子に接続されている。AND回路36の他方の入力端子には、アクセスモニタ16aの出力である信号SD_ENが入力される。AND回路36の出力端子は、OR回路42の一方の入力端子に接続されている。
図12は、アクセスモニタの動作例を示す真理値表である。
まず、現在のメモリ22の動作状態が通常動作状態である場合について説明する。このとき、信号SD_ENは0となっている。
比較器33の出力信号である信号STB_OUTが0であると、検証結果Verifyの値にかかわらず、次の動作状態も通常動作状態となり、信号SD_ENは0のままである。信号STB_OUTが1になると、検証結果Verifyの値にかかわらず、低消費電力動作を有効にする信号SD_ENが1となり、メモリ22は、低消費電力動作状態となる。
次に、現在のメモリ22の動作状態が低消費電力動作状態である場合について説明する。このとき、信号SD_ENは1となっている。
検証結果Verifyが0の場合、信号STB_OUTの値にかかわらず、信号SD_ENは1のままであり、次の動作状態も低消費電力動作状態となる。検証結果Verifyが1になると、信号STB_OUTの値にかかわらず、信号SD_ENが0となり、メモリ22は、通常動作状態となる。
(プロトコル制御部13a、ベリファイタイミング制御部60、ベリファイ制御部61の一例)
図13は、プロトコル制御部、ベリファイタイミング制御部及びベリファイ制御部の一例を示す図である。
ベリファイタイミング制御部60は、AND回路70、ラッチ回路71を有している。
AND回路70は、アクセスモニタ16から出力される信号SD_ENと、Qcnt生成部14から出力される信号Qcntを入力し、そのAND論理を出力する。
ラッチ回路71は、クロック信号CKに応じて、AND回路70の出力信号を取り込み、ベリファイを実施するか否かを指示する信号(以下、信号Veri_ENと表記する)を出力する。以下の説明では、Veri_EN=1のとき、ベリファイの実施が指示され、Veri_EN=0のとき、ベリファイを実施しないことが指示される。
ベリファイタイミング制御部60は、SD_EN=1のとき、メモリ22へのアクセスが発生し、信号Qcntが1になると、Veri_ENを1とし、信号SD_EN,Qcntの何れかが0である場合には、Veri_ENを0とする。
プロトコル制御部13aは、コマンド制御部72、データ制御部73、セレクタ74を有している。
コマンド制御部72は、FIFO11に格納されたコマンドを、アービタ12を介して受信し、プロトコルに応じてコマンドCMDをメモリ22側に通知する。また、コマンド制御部72は、受信したコマンドに応じて、コマンドがリード動作を指示するものか、ライト動作を指示するものかを示す信号(以下、信号R/Wと表記する)を出力する。以下の説明では、R/W=0の場合は、リード動作、R/W=1の場合は、ライト動作であるものとする。
データ制御部73は、ライト時に、FIFO11に格納されたライトデータWDataを、アービタ12を介して受信し、プロトコルに応じて出力し、リード時には、セレクタ74を介して送られてくるリードデータRDataを、アービタ12側に送る。
セレクタ74は、コマンド制御部72が出力する信号R/Wを受信し、リード時にはメモリ22から読み出されたリードデータRDataを選択してデータ制御部73に通知し、ライト時には、ライトデータWDataを選択してメモリ22側に出力する。また、セレクタ74は、信号Veri_EN,R/Wに応じて、メモリ22から読み出されたリードデータRDataまたはデータ制御部73から供給されるライトデータWDataを検証データとしてベリファイ制御部61に通知する。
ベリファイ制御部61は、レジスタ制御部75、レジスタ76,77、比較器78を有している。
レジスタ制御部75は、信号Veri_EN,R/Wに応じて、プロトコル制御部13aから通知された検証データをレジスタ76,77の何れかに格納する。比較器78は、レジスタ76,77に格納されたデータを比較し、両者が一致した場合に、検証結果Verifyとして1を出力する。レジスタ76,77に格納されたデータが異なる場合、比較器78は、検証結果Verifyとして0を出力する。
(プロトコル制御部13a、ベリファイタイミング制御部60、ベリファイ制御部61の動作例)
通常動作時には、SD_EN=0であり、ベリファイタイミング制御部60の出力はVeri_EN=0となる。このとき、R/W=0であればリード動作が実施され、メモリ22からのリードデータRDataが、セレクタ74によりデータ制御部73に送られる。そして、リードデータRDataは、データ制御部73からアービタ12、FIFO11を介してマスタ20−1〜20−n側に送られる。R/W=1であればライト動作が実施され、セレクタ74は、マスタ20−1〜20−nの何れかから、FIFO11、アービタ12、データ制御部73を介して送られてきたライトデータWDataを選択し、メモリ22側に出力する。
低消費電力動作時には、SD_EN=1であり、ベリファイタイミング制御部60の出力は、Qcnt=1のときに、Veri_EN=1となり、ベリファイが行われる。
図14は、ベリファイの一例の流れを示すフローチャートである。
なお、検証結果Verifyの初期値は0であるとする。
Veri_EN=1となり、ベリファイが開始されると、セレクタ74とレジスタ制御部75は、信号R/Wが0であるか否か判定する(ステップS20)。ライト動作時にはR/W=1となるので、ステップS21の処理が行われる。ステップS21の処理では、セレクタ74は、メモリへのライトデータWDataを検証データとしてレジスタ制御部75に供給する。そして、レジスタ制御部75はライトデータWDataを、1つ目のレジスタ76に格納する(ステップS21)。
さらに、セレクタ74は、ライトデータWDataをメモリ22側に出力する。これにより、ライトデータWDataがメモリ22にライトされる(ステップS22)。その後、ライトされたデータに対するリードが行われる(ステップS23)。
セレクタ74は、リードデータRDataをレジスタ制御部75に送り、レジスタ制御部75は、リードデータRDataを2つ目のレジスタ77に格納する(ステップS24)。比較器78は、レジスタ76,77に格納された値が等しいか判定し(ステップS25)、等しい場合には、Verify=1とし(ステップS31)、ベリファイを終了する。レジスタ76,77に格納された値が等しくない場合には、ステップS22から処理が繰り返される。
一方、リード動作時にはR/W=0となるので、ステップS26の処理が行われる。ステップS26の処理では、メモリ22内の領域が指定され、リードが行われる。セレクタ74は、リードデータRDataをレジスタ制御部75に送り、レジスタ制御部75は、リードデータRDataを1つ目のレジスタ76に格納する(ステップS27)。
次に、ステップS26の処理で指定されたメモリ22内の領域のリードが行われる(ステップS28)。セレクタ74は、リードデータRDataをレジスタ制御部75に送り、レジスタ制御部75は、リードデータRDataを2つ目のレジスタ77に格納する(ステップS29)。比較器78は、レジスタ76,77に格納された値が等しいか判定し(ステップS30)、等しい場合には、前述のステップS31の処理を行い、Verify=1とし、ベリファイを終了する。レジスタ76,77に格納された値が等しくない場合には、ステップS27から処理が繰り返される。
図15は、ライトベリファイの一例を示すタイミングチャートである。ライトベリファイ時の、クロック信号CK、信号SD_EN,Veri_EN,R/W、検証データVdata_In、レジスタ76,77の格納値、コマンドCMDの内容、メモリ22に入出力されるデータ、検証結果Verifyの一例の様子が示されている。
ライトベリファイ時には、信号SD_EN,Veri_EN,R/Wは1となっている。レジスタ制御部75は、検証データVdata_Inとして、セレクタ74からマスタ20−1〜20−n側からのデータDinを受信すると(タイミングt20)、そのデータDinをレジスタ76に格納する(タイミングt21)。ライトを指示するコマンドCMDが発行されると、データDinはメモリ22の所定の領域に書き込まれる(タイミングt22)。
リードを指示するコマンドCMDが発行されると(タイミングt23)、メモリ22から、タイミングt22で書き込みが行われた所定の領域のデータDoutが読み出される(タイミングt24)。読み出されたデータDoutは、検証データVdata_Inとしてレジスタ制御部75に供給され(タイミングt25)、レジスタ制御部75は、データDoutを、レジスタ77に格納する(タイミングt26)。
比較器78は、レジスタ76,77の格納値を比較する。図15の例では、データDinとデータDoutが等しいと判定され、検証結果Verifyが1となっている(タイミングt27)。これにより、アクセスモニタ16aの出力である信号SD_ENは、0となり(タイミングt28)、信号Veri_ENが0になり、たとえば、レジスタ制御部75の制御のもと、検証結果Verifyも0となる(タイミングt29)。
図16は、リードベリファイの一例を示すタイミングチャートである。リードベリファイ時の、クロック信号CK、信号SD_EN,Veri_EN,R/W、検証データVdata_In、レジスタ76,77の格納値、コマンドCMDの内容、メモリ22に入出力されるデータ、検証結果Verifyの一例の様子が示されている。
リードベリファイ時には、信号SD_EN,Veri_ENは1、信号R/Wは0となっている。リードを指示するコマンドCMDが発行されると(タイミングt30)、メモリ22から、所定の領域のデータDoutが読み出される(タイミングt31)。読み出されたデータDoutは、検証データVdata_Inとしてレジスタ制御部75に供給され(タイミングt32)、レジスタ制御部75は、データDoutを、レジスタ76に格納する(タイミングt33)。
また、タイミングt33では、再度リードを指示するコマンドCMDが発行されている。これにより、メモリ22から、上記の領域からデータDoutxが読み出される(タイミングt34)。読み出されたデータDoutxは、検証データVdata_Inとしてレジスタ制御部75に供給され(タイミングt35)、レジスタ制御部75は、データDoutxを、レジスタ77に格納する(タイミングt36)。
比較器78は、レジスタ76,77の格納値を比較する。図16の例では、データDoutとデータDoutxが等しいと判定され、検証結果Verifyは1となっている(タイミングt37)。これにより、アクセスモニタ16aの出力である信号SD_ENは、0となり(タイミングt38)、信号Veri_ENが0になり、たとえば、レジスタ制御部75の制御のもと、検証結果Verifyも0となる(タイミングt39)。
(第3の実施の形態の半導体装置10aの全体動作例)
図17は、第3の実施の形態の半導体装置の動作例を示すフローチャートである。
最初は、カウント値STB、信号SD_ENは、0であるとする。
ステップS40,S41,S42,S43,S44,S45は、図8に示したステップS1〜S6の処理と同じであるので説明を省略する。
ステップS40の処理時において、SD_EN=1である場合、ステップS46の処理では、アクセスモニタ16aは、信号Qcntが0であるか否かを判定する。メモリ22へのアクセスがなく、FIFO11が空の状態のとき、Qcnt=0となり、ステップS46の処理が繰り返される。
FIFO11にコマンドが供給され、メモリ22へのアクセスがある場合には、Qcnt=1となり、ベリファイタイミング制御部60から出力される信号Veri_ENは、1となり(ステップS47)、前述のベリファイが行われる。
そして、アクセスモニタ16aは、ベリファイ制御部61から送られてくる検証結果Verifyが1であるか否かを判定し(ステップS48)、Verify=0である場合には、ステップS46からの処理が繰り返される。Verify=1である場合には、アクセスモニタ16aは、信号SD_ENを0とする(ステップS49)。これによりベリファイ制御部61でのベリファイが終了し、メモリ22が通常動作状態となる。その後、たとえば、電源の供給が停止されるまで、ステップS40からの処理が繰り返される。
図18は、第3の実施の形態の半導体装置の動作例を示すタイミングチャートである。図18では、信号Qcnt、STBカウンタ31のカウント値STB、信号Veri_EN、検証結果Verify、信号SD_EN、メモリ22の動作状態の一例の様子が示されている。クロック信号CKについては図示が省略されている。
信号SD_EN=0の状態のとき、信号Qcntが0であるとSTBカウンタ31のカウント値STBが、クロック信号CKに同期してカウントアップされていく。そして、カウント値STBが、上限値STB_MAXに達すると、信号SD_ENが1となる(タイミングt40)。信号SD_ENが1の状態で、信号Qcntが1になると、信号Veri_ENが1となり、メモリ22のアクセスが制限され、ベリファイが行われる状態L10となる(タイミングt41)。
検証結果Verifyが1になると(タイミングt42)、通常動作を行う状態N10となる。また、このとき、信号SD_ENが0となり、それにより信号Veri_ENも0となる。そして、検証結果Verifyも0となる(タイミングt43)。
図18のように、信号Qcntは、タイミングt44で、0になるが、カウント値STBが上限値STB_MAXには達しないタイミングt45でQcnt=1に戻るため、SD_ENは、0のままである。このとき、状態L10の間、FIFO11に格納されたコマンドの実行が停止された分の遅れを補填するために、通常動作が行われる状態N10が継続する。
タイミングt46〜t48の間では、信号Qcntが頻繁に0になったり1になったりしている。この場合も、カウント値STBが上限値STB_MAXに達しないため、信号SD_ENは、0のままである。メモリ22は、前述のように状態L10の間、FIFO11に格納されたコマンドの実行が停止された分の遅れを補填するために、タイミングt47まで、通常動作が行われる状態N10を継続する。その後、メモリ22は、信号Qcntが1となっている期間、通常動作を行う状態N11,N12となる。
信号Qcntが0の状態で、カウント値STBが、上限値STB_MAXに達すると、信号SD_ENが1となる(タイミングt49)。これにより、メモリ22の動作状態は、信号Qcntが1になるタイミングt50で、再びベリファイが行われる状態L11となる。その後、図18の例では、タイミングt51で、検証結果Verifyとして1が得られている。
図18の例では、検証結果Verifyが1になったとき、信号Qcntが0になっているが、状態L11の間、FIFO11に格納されたコマンドの実行が停止された分の遅れを補填するため、メモリ22は、通常動作が行われる状態N13となる。
このように、アクセスモニタ16aは、アクセスがない期間が所定期間、継続するまでは、メモリ22が通常動作状態から低消費電力状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ22での不具合の発生を抑制することができる。
また、アクセスモニタ16aは、正しくライトまたはリードが行われたことを示す検証結果(Verify=1)を受信するまでは、アクセスの有無によらず、メモリ22が低消費電力状態から通常動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ22での不具合の発生を抑制することができる。
また、第3の実施の形態の半導体装置10aでは、スタンバイ状態などのような低消費電力動作状態から通常動作状態に遷移する際に、通常動作よりも消費電力が少ないベリファイを実行する。これにより、スタンバイ状態から通常動作状態に遷移するときの負荷変動による電圧の変化を抑えることができ、メモリ22に不具合が発生することを抑制できる。
(第4の実施の形態)
図19は、第4の実施の形態の半導体装置の一例を示す図である。図10に示した第3の実施の形態の半導体装置10aと同様の要素については同一符号を付し、説明を省略する。
半導体装置10bは、低消費電力動作状態のとき、tRCD(Row-to-Column Delay)やtRAS(Row Address Strobe)、tRC(Row Cycle)などにおけるレイテンシを、通常動作の場合よりも長いものを出力するレイテンシ調整レジスタ62を有する。
(レイテンシ調整レジスタ62の一例)
図20は、レイテンシ調整レジスタの一例を示す図である。
レイテンシ調整レジスタ62は、選択回路80、通常動作用レイテンシレジスタ81、低消費電力動作用レイテンシレジスタ82を有している。
選択回路80は、信号INITx,SD_ENに応じて、通常動作用レイテンシレジスタ81、低消費電力動作用レイテンシレジスタ82のうちで有効にするものを選択する。信号INITxは、レイテンシを初期化する(強制的に通常動作用レイテンシレジスタ81の値を指定する)信号である。たとえば、図示しないパワーオンリセット回路などから出力される初期化信号が信号INITxとして用いられる。
通常動作用レイテンシレジスタ81は、通常動作時に用いるtRCDやtRAS、tRCなどにおけるレイテンシを格納する。
低消費電力動作用レイテンシレジスタ82は、低消費電力動作時に用いるtRCDやtRAS、tRCなどにおけるレイテンシを格納する。
信号SD_ENが0、もしくは信号INITxが1のときには、通常動作用レイテンシレジスタ81が有効になり、低消費電力動作用レイテンシレジスタ82が無効になる。
信号SD_ENが1、かつ、信号INITxが0のときには、通常動作用レイテンシレジスタ81が無効になり、低消費電力動作用レイテンシレジスタ82が有効になる。
そして、通常動作用レイテンシレジスタ81と低消費電力動作用レイテンシレジスタ82のうち、有効になった方に格納されている値が、レイテンシltrc,ltras,ltrcdとして、プロトコル制御部13bのコマンド制御部72に通知される。これにより、コマンド制御部72では、受信したレイテンシltrc,ltras,ltrcdに応じたコマンドの制御が行われる。
レイテンシltrcは、tRCのレイテンシであり、レイテンシltrasは、tRASのレイテンシであり、レイテンシltrcdは、tRCDのレイテンシである。
(レイテンシ調整レジスタ62の動作例)
図21は、レイテンシ調整レジスタの動作の一例を示す図である。図21には、信号INITx,SD_ENと、レイテンシの一例が示されている。
信号INITxが1になると(タイミングt60)、選択回路80は、通常動作用レイテンシレジスタ81を有効にする。これにより、レイテンシ調整レジスタ62から出力されるレイテンシA1(前述したレイテンシltrc,ltras,ltrcd)は、通常動作時に用いるものとなる。
信号INITxが0になり、信号SD_ENが0から1になると(タイミングt61)、選択回路80は、通常動作用レイテンシレジスタ81を無効にし、低消費電力動作用レイテンシレジスタ82を有効にする。これにより、レイテンシ調整レジスタ62から出力されるレイテンシA2は、低消費電力動作時に用いるものとなる。
信号SD_ENが1から0になると(タイミングt62)、選択回路80は、低消費電力動作用レイテンシレジスタ82を無効にし、通常動作用レイテンシレジスタ81を有効にする。これにより、レイテンシ調整レジスタ62から出力されるレイテンシA3は、通常動作時に用いるものとなる。
信号SD_ENが再び0から1になると(タイミングt63)、選択回路80は、通常動作用レイテンシレジスタ81を無効にし、低消費電力動作用レイテンシレジスタ82を有効にする。これにより、レイテンシ調整レジスタ62から出力されるレイテンシA4は、再び低消費電力動作時に用いるものとなる。
図22は、通常動作時のレイテンシと、低消費電力動作時のレイテンシの一例を示す図である。図22には、クロック信号CKと、通常動作時と低消費電力動作時のコマンド、データ及びレイテンシの一例が示されている。
レイテンシltrcd_nmlは、通常動作時のtRCDのレイテンシを示している。レイテンシltrcd_nmlは、コマンド制御部72が、メモリ22側に対し、アクセスするバンクアドレスを指定するアクティブコマンドを供給するタイミングt70から、リードコマンドを供給するタイミングt71までの時間である。
レイテンシltras_nmlは、通常動作時のtRASのレイテンシを示している。レイテンシltras_nmlは、コマンド制御部72が、メモリ22側に対し、アクティブコマンドを供給するタイミングt70から、プリチャージコマンドを供給するタイミングt72までの時間である。また、図22の例では、通常動作の場合、タイミングt73で、メモリ22からデータD0,D1,D2,D3が読み出されている。
一方、レイテンシltrcd_slwは、低消費電力動作時のtRCDのレイテンシを示している。レイテンシltrcd_slwは、コマンド制御部72が、メモリ22側に対し、アクティブコマンドを供給するタイミングt70から、リードコマンドを供給するタイミングt73までの時間である。図22の例では、レイテンシltrcd_slwは、通常動作時のレイテンシltrcd_nmlの2倍の長さになっている。
レイテンシltras_slwは、低消費電力動作時のtRASのレイテンシを示している。レイテンシltras_slwは、コマンド制御部72が、メモリ22側に対し、アクティブコマンドを供給するタイミングt70から、プリチャージコマンドを供給するタイミングt76までの時間である。図22の例では、レイテンシltras_slwは、通常動作時のレイテンシltras_nmlの2倍の長さになっている。図22の例では、低消費電力動作の場合、タイミングt75で、メモリ22からデータD0,D1,D2,D3が読み出されている。
レイテンシltrc_nmlは、通常動作時のtRCのレイテンシを示している。レイテンシltrc_nmlは、コマンド制御部72が、メモリ22側に対し、アクティブコマンドを供給するタイミングt70から、次のアクティブコマンドを供給するタイミングt74までの時間である。
なお、図22では、低消費電力動作時のtRCのレイテンシについては図示を省略している。
上記のように低消費電力動作時は、通常動作時よりもレイテンシを長くすることで、メモリ22の消費電力が削減される。また、レイテンシ調整レジスタ62は、通常動作用レイテンシレジスタ81と、低消費電力動作用レイテンシレジスタ82で予め保持しているレイテンシを選択するだけで、簡単に通常動作と低消費電力動作を切り替えられる。
(ベリファイタイミング制御部60aの一例)
図23は、ベリファイタイミング制御部の一例を示す図である。
第4の実施の形態の半導体装置10bにおけるベリファイタイミング制御部60aは、ラッチ回路90、インバータ91、AND回路92を有している。
ラッチ回路90は、信号Qcntを、インバータ91を介して受信し、信号Qcntが0のときに、信号SD_ENの値を取り込む。AND回路92の一方の入力端子には、信号SD_ENが入力され、他方の入力端子には、ラッチ回路90の出力信号が入力される。AND回路92からは、前述したベリファイを有効または無効にする信号Veri_ENが出力される。
このようなベリファイタイミング制御部60aでは、低消費電力動作状態のとき(SD_EN=1)、メモリ22へのアクセスが途切れたとき(Qcnt=0)、Veri_EN=1となり、ベリファイが行われる。
なお、プロトコル制御部13bは、図13に示したものと同様の要素を有しているため図示を省略するが、レイテンシ調整レジスタ62から出力されるレイテンシに応じたコマンドの制御を行う。
(第4の実施の形態の半導体装置10bの全体動作例)
図24は、第4の実施の形態の半導体装置の動作例を示すフローチャートである。
最初は、カウント値STB、信号SD_EN、検証結果Verifyは0であるとする。また、信号INITxは0であるとする。
ステップS50,S51,S52,S53,S54,S55は、図8に示したステップS1〜S6の処理とほぼ同じである。ただし、SD_EN=0である場合、レイテンシ調整レジスタ62は、通常動作用レイテンシレジスタ81を有効にし、前述したように、通常動作用のレイテンシltrc,ltras,ltrcdを出力する。そのため、信号Qcntが1のときには、通常動作用のレイテンシltrc,ltras,ltrcdでの通常動作が行われる。
ステップS50の処理時において、SD_EN=1である場合、ステップS56の処理では、アクセスモニタ16aは、信号Qcntが0であるか否かを判定する。メモリ22へのアクセスがなく、FIFO11が空の状態のとき、Qcnt=0となり、ステップS56の処理が繰り返される。また、SD_EN=1である場合、レイテンシ調整レジスタ62は、低消費電力動作用レイテンシレジスタ82を有効にし、前述したように、通常動作状態よりも長いレイテンシltrc,ltras,ltrcdを出力する。
FIFO11にコマンドが供給され、メモリ22へのアクセスがある場合には、Qcnt=1となり、通常動作状態よりも長いレイテンシltrc,ltras,ltrcdによる動作が行われる(ステップS57)。アクセスモニタ16aは、信号Qcntが0であるか否かを判定する(ステップS58)。Qcnt=0であれば、ステップS59の処理が行われ、Qcnt=1であれば、ステップS57からの処理が繰り返される。
ステップS59の処理では、ベリファイタイミング制御部60aは信号Veri_ENを1とする(ステップS59)。これにより前述のベリファイが行われる。
そして、アクセスモニタ16aは、ベリファイ制御部61から送られてくる検証結果Verifyが1であるか否かを判定し(ステップS60)、Verify=0である場合には、ステップS59からの処理が繰り返される。Verify=1である場合には、アクセスモニタ16aは、信号SD_ENを0とする(ステップS61)。これによりベリファイ制御部61でのベリファイが終了し、レイテンシ調整レジスタ62は、通常動作用レイテンシレジスタ81を有効にし、前述したように、通常動作用のレイテンシltrc,ltras,ltrcdを出力する。これにより、メモリ22が通常動作状態となる。その後、たとえば、電源の供給が停止されるまで、ステップS50からの処理が繰り返される。
図25は、第4の実施の形態の半導体装置の動作例を示すタイミングチャートである。図25では、信号Qcnt、STBカウンタ31のカウント値STB、信号Veri_EN、検証結果Verify、信号SD_EN、メモリ22の動作状態の一例の様子が示されている。クロック信号CKについては図示が省略されている。
信号SD_EN=0の状態のとき、信号Qcntが0であるとSTBカウンタ31のカウント値STBが、クロック信号CKに同期してカウントアップされていく。そして、カウント値STBが、上限値STB_MAXに達すると、信号SD_ENが1となる(タイミングt80)。信号SD_ENが1の状態で、信号Qcntが1になると、通常動作状態よりも長いレイテンシltrc,ltras,ltrcdによる動作が行われる状態L20となる(タイミングt81)。
信号SD_ENが1の状態で、信号Qcntが0になると(タイミングt82)、信号Veri_ENが1となり、ベリファイが行われる状態V1となる。
検証結果Verifyが1になると(タイミングt83)、信号SD_ENが0になり、通常動作用のレイテンシltrc,ltras,ltrcdによる通常動作が行われる状態N20となる。
タイミングt84〜t85の間では、信号Qcntが頻繁に0になったり1になったりしている。しかし、カウント値STBが上限値STB_MAXに達しないため、信号SD_ENは、0のままである。そのため、メモリ22は、信号Qcntが1となっている期間、通常動作用のレイテンシltrc,ltras,ltrcdによる通常動作が行われる状態N21,N22,N23となる。
信号Qcntが0の状態で、カウント値STBが、上限値STB_MAXに達すると、信号SD_ENが1となる(タイミングt86)。これにより、メモリ22の動作状態は、信号Qcntが1になるタイミングt87で、通常動作状態よりも長いレイテンシltrc,ltras,ltrcdによる動作が行われる状態L21となる。
信号Qcntが再び0になると、信号Veri_ENが1となり、ベリファイが行われる状態V2となる。
このように、アクセスモニタ16aは、アクセスがない期間が所定期間、継続するまでは、メモリ22が通常動作状態から低消費電力状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ22での不具合の発生を抑制することができる。
また、アクセスモニタ16aは、正しくライトまたはリードが行われたことを示す検証結果(Verify=1)を受信するまでは、アクセスの有無によらず、メモリ22が低消費電力状態から通常動作状態へ切り替わることを制限する。これにより、アクセスの有無により、通常動作状態と低消費電力状態とが頻繁に切り替わることが抑制され、電源ノイズなどによるメモリ22での不具合の発生を抑制することができる。
さらに、SD_EN=1のときには、レイテンシを通常動作時よりも長くしてメモリ22の動作を継続するので、メモリ22へのアクセスがある際にベリファイを優先するのではなく、アクセスを優先して処理することができる。
また、半導体装置10bは、スタンバイ状態のような低消費電力動作状態から通常動作状態に遷移する際、通常動作よりも消費電力が少ない、レイテンシを通常動作時よりも長くしたメモリ22の動作や、ベリファイを実行する。これにより、スタンバイ状態から通常動作状態に遷移するときの負荷変動による電圧の変化を抑えることができ、メモリ22に不具合が発生することを抑制できる。
なお、低消費電力動作としてレイテンシを変える代わりに、第2の実施の形態の半導体装置10のように、クロック信号の周期や、ドライ能力を変更するようにしてもよい。
(第5の実施の形態)
図26は、第5の実施の形態の半導体装置の一例を示す図である。図19に示した第4の実施の形態の半導体装置10bと同様の要素については同一符号を付し、説明を省略する。
半導体装置10cのレジスタ15bは、第2の実施の形態の半導体装置10のレジスタ15と同様に、前述した上限値STB_MAX,ACT_MAXを格納している。そして上限値STB_MAXは、第3及び第4の実施の形態の半導体装置10a,10bと同様にアクセスモニタ16aで用いられる。一方の上限値ACT_MAXは、ベリファイタイミング制御部60bで用いられる。
(ベリファイタイミング制御部60bの一例)
図27は、ベリファイタイミング制御部の一例を示す図である。
第5の実施の形態の半導体装置10cにおけるベリファイタイミング制御部60bは、ラッチ回路100、ACTカウンタ101、比較器102、インバータ103、AND回路104,105,106、OR回路107を有している。
ラッチ回路100は、信号Qcntを、インバータ103を介して受信し、信号Qcntが0のときに、信号SD_ENの値を取り込む。AND回路105の一方の入力端子には、信号SD_ENが入力され、他方の入力端子には、ラッチ回路100の出力信号が入力される。AND回路105の出力端子は、OR回路107の一方の入力端子に接続されている。
ACTカウンタ101は、クロック信号CKに同期してカウントを行う。また、ACTカウンタ101は、リセット端子/RST3を有している。
比較器102は、ACTカウンタ101から出力されるカウント値ACTと、レジスタ15bから供給される上限値ACT_MAXとを比較する。比較器102は、ACTカウンタ101から出力されるカウント値ACTが上限値ACT_MAX以上の場合には、1を出力し、カウント値ACTが上限値ACT_MAXよりも小さい場合には、0を出力する。
AND回路104の一方の入力端子には、信号Qcntが入力され、他方の入力端子には、信号SD_ENが入力される。AND回路104の出力端子は、ACTカウンタ101のリセット端子/RST3に接続されている。
AND回路106の一方の入力端子には、比較器102の出力信号が入力され、他方の入力端子には、信号SD_ENが入力される。AND回路106の出力端子は、OR回路107の他方の入力端子に接続されている。OR回路107の出力端子からは、ベリファイタイミング制御部60bの出力信号である信号Veri_ENが出力される。
このようなベリファイタイミング制御部60bでは、低消費電力動作状態のとき(SD_EN=1)、メモリ22へのアクセスが途切れたとき(Qcnt=0)、Veri_EN=1となり、ベリファイが行われる。また、低消費電力動作状態のとき、アクセスがある期間(Qcnt=1の期間)が所定期間続き、ACTカウンタ101のカウント値ACTが上限値ACT_MAXに達したときにも、Veri_EN=1となり、ベリファイが行われる。
(第5の実施の形態の半導体装置10cの全体動作例)
図28は、第5の実施の形態の半導体装置の動作例を示すフローチャートである。
最初は、カウント値STB,ACT、信号SD_ENと検証結果Verifyは、0であるとする。また、信号INITxは0であるとする。
ステップS70,S71,S72,S73,S74,S75は、図24に示したステップS50〜S55の処理と同じであるので説明を省略する。
ステップS70の処理時において、SD_EN=1である場合、ステップS76の処理では、アクセスモニタ16aは、信号Qcntが0であるか否かを判定する。メモリ22へのアクセスがなく、FIFO11が空の状態のとき、Qcnt=0となり、ACTカウンタ101はリセットされ、ACTカウンタ101の出力であるカウント値ACTは0となり(ステップS77)、ステップS76からの処理が繰り返される。また、SD_EN=1である場合、レイテンシ調整レジスタ62は、低消費電力動作用レイテンシレジスタ82を有効にし、前述したように、通常動作状態よりも長いレイテンシltrc,ltras,ltrcdを出力する。
FIFO11にコマンドが供給され、メモリ22へのアクセスがある場合には、Qcnt=1となり、通常動作状態よりも長いレイテンシltrc,ltras,ltrcdによる動作が行われる(ステップS78)。このとき、クロック信号CKに同期して、カウント値ACTがカウントアップされる。
ベリファイタイミング制御部60bでは、ACT≧ACT_MAXであるか否かの判定(ステップS79)と、Qcnt=0であるか否かの判定(ステップS80)、が行われる。ACT≧ACT_MAX、または、Qcnt=0である場合には、ベリファイタイミング制御部60bは、信号Veri_ENを1とする(ステップS81)。これにより前述のベリファイが行われる。ACT<ACT_MAX及びQcnt=1である場合には、ステップS78からの処理が繰り返される。
そして、アクセスモニタ16aは、ベリファイ制御部61から送られてくる検証結果Verifyが1であるか否かを判定し(ステップS82)、Verify=0である場合には、ステップS81からの処理が繰り返される。Verify=1である場合には、アクセスモニタ16aは、信号SD_ENを0とする(ステップS83)。これによりベリファイ制御部61でのベリファイが終了し、レイテンシ調整レジスタ62は、通常動作用レイテンシレジスタ81を有効にし、前述したように、通常動作用のレイテンシltrc,ltras,ltrcdを出力する。その後、たとえば、電源の供給が停止されるまで、ステップS70からの処理が繰り返される。
図29は、第5の実施の形態の半導体装置の動作例を示すタイミングチャートである。図29では、信号Qcnt、カウント値STB,ACT、信号Veri_EN、検証結果Verify、信号SD_EN、メモリ22の動作状態の一例の様子が示されている。クロック信号CKについては図示が省略されている。
信号SD_EN=0の状態のとき、信号Qcntが0であるとSTBカウンタ31のカウント値STBがクロック信号CKに同期してカウントアップされていく。そして、カウント値STBが、上限値STB_MAXに達すると、信号SD_ENが1となる(タイミングt90)。信号SD_ENが1の状態で、信号Qcntが1になると、通常動作状態よりも長いレイテンシltrc,ltras,ltrcdによる動作が行われる状態L30となる(タイミングt91)。
信号Qcntが1になると、ベリファイタイミング制御部60bのACTカウンタ101がクロック信号CKに同期してカウント値ACTをカウントアップしていく。そして、カウント値ACTが、上限値ACT_MAXに達すると(タイミングt92)、信号Veri_ENが1となり、ベリファイが行われる状態V10となる。
検証結果Verifyが1になると(タイミングt93)、信号SD_ENが0になり、通常動作用のレイテンシltrc,ltras,ltrcdによる通常動作が行われる状態N30となる。
図29のように、信号Qcntは、タイミングt94で、0になるが、カウント値STBが上限値STB_MAXには達しないタイミングt95でQcnt=1に戻るため、信号SD_ENは、0のままである。そのため、メモリ22は、アクセスが発生したタイミングt95から再び通常動作を行う状態N31となる。
タイミングt96〜t97の間では、信号Qcntが頻繁に0になったり1になったりしている。しかし、カウント値STBが上限値STB_MAXに達しないため、信号SD_ENは、0のままである。そのため、メモリ22は、信号Qcntが1となっている期間、通常動作用のレイテンシltrc,ltras,ltrcdによる通常動作が行われる状態N32,N33,N34となる。
信号Qcntが0の状態で、カウント値STBが、上限値STB_MAXに達すると、信号SD_ENが1となる(タイミングt98)。これにより、メモリ22の動作状態は、信号Qcntが1になるタイミングt99で、通常動作状態よりも長いレイテンシltrc,ltras,ltrcdによる動作が行われる状態L31となる。
信号SD_ENが1の状態で、信号Qcntが再び0になると、信号Veri_ENが1となり、ベリファイが行われる状態V11となる。
以上のような半導体装置10cによれば、第4の実施の形態の半導体装置10bと同様の効果が得られるとともに、SD_EN=1のときに、Qcnt=1の状態が所定期間続いたときに、ベリファイを実行し、通常動作状態に遷移させることができる。つまり、低消費電力動作が許可される状態のときに、アクセスが途切れなくてもベリファイを実行させることができるため、迅速に通常動作状態に遷移させることができる。
ところで、低消費電力動作状態は、上記に示したようなものに限定されず、通常動作状態よりも1度に動作させる回路数を制限するような動作状態としてもよい。以下その3つの例を変形例1、変形例2、変形例3として説明する。
(変形例1)
図30は、変形例1の半導体装置の一例を示す図である。図2に示した半導体装置10と同じ要素については同一符号を付している。また、図30では、図2に示したQcnt生成部14やアクセスモニタ16などは図示を省略している。
変形例1では、アービタ12aは、アービタを実行するアービタ実行部110と、アクセス制御部111を有しており、プロトコル制御部13cは、複数(n個)のバンク制御部112−1〜112−nを有している。
バンク制御部112−1〜112−nは、図示しないメモリのn個のバンクを制御するものである。
アクセス制御部111は、図2に示したアクセスモニタ16から供給される信号SD_ENと、Qcnt生成部14から供給される信号Qcntに応じて、アービタ実行部110からアクセス要求があったときに、バンクへのアクセスを許容するか制限する。
アクセス制御部111は、信号SD_EN=1の場合には、複数のバンクを同時に使用した動作(マルチバンク動作)を制限することで、低消費電力動作を実現する。
図31は、変形例1の半導体装置の動作例を示すフローチャートである。
まず、アクセス制御部111は、信号SD_ENが1であるか否かを判定し(ステップS90)、SD_EN=0の場合には、アービタ実行部110からアクセス要求があるか否か(REQが1であるか否か)を判定する(ステップS91)。アクセス制御部111は、REQ=1である場合には、ステップS95の処理を行い、アクセス要求がない場合(REQ=0)には、REQ=1となるまでステップS91の処理を繰り返す。
一方、SD_EN=1の場合にも、アクセス制御部111は、REQが1であるか否かを判定し(ステップS92)、REQ=1であればステップS93の処理を行い、REQ=0の場合には、REQ=1となるまでステップS92の処理を繰り返す。
ステップS93の処理では、アクセス制御部111は、信号Qcntが0か否かを判定する。FIFO11にコマンドが供給されていて、Qcnt=1である場合には、アクセス制御部111は、アービタ実行部110に対して、アクセスを許可しない旨の信号(ACK=0)を通知する(ステップS94)。そして、アクセス制御部111は、FIFO11が空になり、Qcnt=0になるまで、ステップS93の処理を繰り返す。Qcnt=0の場合には、ステップS95の処理が行われる。
ステップS95の処理では、アクセス制御部111は、アクセス要求があった該当バンクがアクセス中であるか判定し、アクセス中であればステップS95の処理を繰り返し、アクセス中でなければ、ACK=1としアクセスを許可する(ステップS96)。
図32は、マルチバンク動作時とマルチバンク動作制限時の動作例を示すタイミングチャートである。クロック信号CK、コマンドCMD、選択されるバンク(BA)の番号、読み出されるデータの例が示されている。
マルチバンク動作時には、クロック信号の1周期ごとに、コマンドCMDとして、異なるバンクに対するコマンドCMDとして、アクティブコマンドACT、リードコマンドRDAが発行されていて、データD0〜D3も各バンクから次々と読み出される。
これに対し、マルチバンク動作制限時には、1つのバンクずつアクセスが行われる。たとえば、タイミングt110では、0番のバンクへアクティブコマンドACTが発行され、タイミングt111で、0番のバンクへリードコマンドRDAが発行され、タイミングt112からデータD0〜D3が読み出されている。
そして、タイミングt113で、1番のバンクへアクティブコマンドACTが発行され、タイミングt114で、1番のバンクへリードコマンドRDAが発行されている。
このようにアクセス制御部111が、一度にアクセスするバンク数を制限することで、メモリの消費電力を抑え、RAS電流とCAS(Column Address Strobe)電流を分離してピーク電流を下げることができ、低消費電力状態を実現できる。
(変形例2)
図33は、変形例2の半導体装置の一例を示す図である。図2に示した半導体装置10と同じ要素については同一符号を付している。また、図33では、図2に示したQcnt生成部14やアクセスモニタ16などは図示を省略している。
変形例2では、アービタ12bは、アービタ実行部110と、アクセス制御部111aを有している。プロトコル制御部13dは、複数のチャネル(図33の例では2つ)用の複数(n個)のCH0バンク制御部113−1〜113−n、CH1バンク制御部114−1〜114−nを有している。
CH0バンク制御部113−1〜113−nは、図示しないメモリのチャネルCH0のn個のバンクを制御するものである。CH1バンク制御部114−1〜114−nは、図示しないメモリのチャネルCH1のn個のバンクを制御するものである。
アクセス制御部111aは、図2に示したアクセスモニタ16から供給される信号SD_ENと、Qcnt生成部14から供給される信号Qcntに応じて、アービタ実行部110からアクセス要求があったときに、チャネルへのアクセスを許容するか制限する。
なお、変形例2では、信号QcntはチャネルごとにQcnt生成部14から供給されるものとする。すなわち、あるチャネルに対するコマンドがFIFO11に供給されている場合には、そのチャネルの信号Qcntは1となる。
アクセス制御部111aは、信号SD_EN=1の場合には、複数のチャネルを同時に使用した動作(マルチチャネル動作)を制限することで、低消費電力動作を実現する。
図34は、変形例2の半導体装置の動作例を示すフローチャートである。
まず、アクセス制御部111aは、信号SD_ENが1であるか否かを判定し(ステップS100)、SD_EN=0の場合には、アービタ実行部110からアクセス要求があるか否か(REQが1であるか否か)を判定する(ステップS101)。アクセス制御部111aは、REQ=1である場合には、ステップS105の処理を行い、アクセス要求がない場合(REQ=0)には、REQ=1となるまでステップS101の処理を繰り返す。
一方、SD_EN=1の場合にも、アクセス制御部111aは、REQが1であるか否かを判定し(ステップS102)、REQ=1であればステップS103の処理を行い、REQ=0の場合には、REQ=1となるまでステップS102の処理を繰り返す。
ステップS103の処理では、アクセス制御部111は、アクセス要求があった該当チャネルの信号Qcntが0か否かを判定する。FIFO11に該当チャネルに対するコマンドが供給されていて、Qcnt=1である場合には、アクセス制御部111aは、アービタ実行部110に対して、アクセスを許可しない旨の信号(ACK=0)を通知する(ステップS104)。そして、アクセス制御部111aは、FIFO11が空になり、該当チャネルのQcntが0になるまで、ステップS103の処理を繰り返す。Qcnt=0の場合には、ステップS105の処理が行われる。
ステップS105の処理では、アクセス制御部111aは、アクセス要求があった該当チャネルの該当バンクがアクセス中であるか判定する。アクセス制御部111aは、該当バンクがアクセス中であればステップS105の処理を繰り返し、アクセス中でなければ、ACK=1としアクセスを許可する(ステップS106)。
図35は、マルチチャネル動作時とマルチチャネル動作制限時の動作例を示すタイミングチャートである。クロック信号CK、各チャネルのコマンドCH0−CMD,CH1−CMDと読み出されるデータの例が示されている。
マルチチャネル動作時には、各チャネルCH0,CH1のコマンドCH0−CMD,CH1−CMDが並列に発行され、データも並列に読み出される。
これに対し、マルチチャネル動作制限時には、1つのチャネルごとにアクセスが行われる。たとえば、タイミングt120では、チャネルCH0へアクティブコマンドACTが発行され、タイミングt121ではチャネルCH1へリードコマンドRDAが発行されている。また、タイミングt122では再びチャネルCH0へアクティブコマンドACTが発行されている。
タイミングt124では、チャネルCH0のコマンドCH0−CMDへの発行は行われず、チャネルCH1へアクティブコマンドACTが発行される。タイミングt125では、チャネルCH1のコマンドCH1−CMDへの発行は行われず、チャネルCH0へリードコマンドRDAが発行される。タイミングt126からは、再びチャネルCH1へアクティブコマンドACTが発行される。
データについては、タイミングt120からチャネルCH1のデータD0〜D3が読み出され、タイミングt123からはチャネルCH0のデータD0〜D3が読み出される。
このようにアクセス制御部111aが、1度にアクセスされるチャネル数を制限することで、メモリの消費電力を抑え、低消費電力状態を実現できる。
(変形例3)
図36は、変形例3の半導体装置の一例を示す図である。図2に示した半導体装置10と同じ要素については同一符号を付している。また、図36では、図2に示したQcnt生成部14やアクセスモニタ16などは図示を省略している。
変形例3では、プロトコル制御部13eは、コマンド制御部115、データ制御部116を有している。
コマンド制御部115は、FIFO11に格納されたコマンドを、アービタ12を介して受信し、プロトコルに応じてコマンドCMDを図示しないメモリ側に通知する。また、コマンド制御部115は、SD_EN=1のときは、上位データビットUpper_DQ用のコマンドCMDと、下位データビットLower_DQ用のコマンドCMDをメモリ側に供給する。
データ制御部116は、ライトデータ及びリードデータの書き込みタイミングや読み出しタイミングをプロトコルに応じて制御する。また、データ制御部116は、SD_EN=1のときは、上位データビットUpper_DQと、下位データビットLower_DQを異なるタイミングでリードまたはライトする。
図37は、変形例3の半導体装置の動作例を示すフローチャートである。
コマンド制御部115とデータ制御部116とは、信号SD_ENが1であるか否かを判定する(ステップS110)。SD_EN=0の場合には、コマンド制御部115とデータ制御部116は、データバスの動作を制限することを無効とする(ステップS111)。この場合、上位データビットUpper_DQと、下位データビットLower_DQは同じタイミングでリードまたはライトされる。
一方、SD_EN=1の場合には、コマンド制御部115とデータ制御部116は、データバスの動作を制限することを有効とする(ステップS112)。この場合、上位データビットUpper_DQと、下位データビットLower_DQは異なるタイミングでリードまたはライトされる。たとえば、最初に上位データビットUpper_DQへのアクセスが行われ、次に下位データビットLower_DQへのアクセスが行われる。
ステップS111,S112の後は、たとえば、電源の供給が停止されるまで、ステップS110からの処理が繰り返される。
図38は、データバスの動作制限を有効としたときと、無効としたときの動作例を示すタイミングチャートである。クロック信号CK、コマンドCMDと上位データビットUpper_DQと、下位データビットLower_DQの例が示されている。また、メモリの消費電流の電流波形の例が示されている。
データバスの動作制限が無効である場合、たとえば、コマンドCMDとしてリードコマンドRDが発行されると(タイミングt130)、タイミングt132から、上位データビットUpper_DQと、下位データビットLower_DQが同時に読み出される。
これに対して、データバスの動作制限が有効である場合、上位データビットUpper_DQ用と、下位データビットLower_DQ用のリードコマンドRDが、異なるタイミング(t130,t131)で発行される。そして、タイミングt132から、上位データビットUpper_DQが読み出され、タイミングt133から下位データビットLower_DQが読み出される。
電流波形I10は、データバスの動作制限が無効であるときのものであり、電流波形I11は、データバスの動作制限が有効であるときのものである。図38のように、電流波形I11は、電流波形I10よりもピーク値が小さくなっている。
このようにコマンド制御部115とデータ制御部116が、データバスの動作を制限することで、所定の期間において、メモリの消費電力を抑え、低消費電力状態を実現できる。
なお、必ずしもバスのビット数の分け方を上位データビットと下位データビットの2つに分けなくてもよく、3つ以上に分けてもよい。
また、半導体装置は、メモリの通常動作状態が、DDR(Double-Data-Rate)方式である場合に、SDR(Single-Data-Rate)方式に切り替えて、低消費電力状態とするようにしてもよい。
以上、実施の形態に基づき、本発明の半導体装置及びメモリの制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
以上説明した複数の実施の形態に関し、さらに以下の付記を開示する。
(付記1)アクセス対象回路へのアクセスを検出し、前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第1の期間に達するまで、前記アクセス対象回路を第1の動作状態よりも消費電力が低い第2の動作状態に切り替えることを制限する信号を出力するアクセス検出部と、
前記信号に応じて前記アクセス対象回路の動作を制御する動作制御部と、
を有する半導体装置。
(付記2)前記アクセス検出部は、前記アクセス対象回路が前記第2の動作状態のとき、前記第1の動作状態への切り替えを可とする条件を満たすまでは、前記アクセス対象回路の動作を前記第1の動作状態に切り替えることを制限する信号を出力する、付記1に記載の半導体装置。
(付記3)前記アクセス検出部は、前記アクセス対象回路が前記第2の動作状態のとき、前記アクセスが継続し、前記アクセスが継続する期間が第2の期間に達するまで、前記アクセス対象回路の動作を前記第1の動作状態に切り替えることを制限する信号を出力する、付記1または2に記載の半導体装置。
(付記4)前記アクセス対象回路を検証し、検証結果を前記アクセス検出部に通知する検証制御部を有し、
前記アクセス検出部は、前記アクセス対象回路が前記第2の動作状態のとき、前記検証制御部から、前記検証結果を受けるまでは、前記アクセス対象回路の動作を前記第1の動作状態に切り替えることを制限する信号を出力する、
付記1または2に記載の半導体装置。
(付記5)前記第2の動作状態は、前記第1の動作状態よりも周期が長いクロック信号と、前記第1の動作状態よりも小さいドライ能力で、前記アクセス対象回路を動作させる動作状態である、付記1乃至4の何れか1つに記載の半導体装置。
(付記6)前記第2の動作状態は、前記アクセス対象回路の検証を行う動作状態である、付記1乃至4の何れか1つに記載の半導体装置。
(付記7)前記第2の動作状態は、前記第1の動作状態よりもコマンドを前記アクセス対象回路に供給する周期が長い動作状態である、付記1乃至4の何れか1つに記載の半導体装置。
(付記8)前記第2の動作状態は、前記第1の動作状態よりも1度に動作する回路数が制限された動作状態である、付記1乃至4の何れか1つに記載の半導体装置。
(付記9)前記アクセス対象回路は、複数のバンクを有するメモリであり、前記第2の動作状態は、前記第1の動作状態よりも1度にアクセスされるバンク数が制限された動作状態である、付記1乃至4の何れか1つに記載の半導体装置。
(付記10)前記アクセス対象回路は、複数のチャネルを有するメモリであり、前記第2の動作状態は、前記第1の動作状態よりも1度にアクセスされるチャネル数が制限された動作状態である、付記1乃至4の何れか1つに記載の半導体装置。
(付記11)前記第2の動作状態は、前記第1の動作状態よりも1度にアクセスされるバスのビット数が制限された動作状態である、付記1乃至4の何れか1つに記載の半導体装置。
(付記12)アクセス検出部が、
メモリへのアクセスを検出し、
前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第1の期間に達するまで、前記メモリの動作を第1の動作状態よりも消費電力が低い第2の動作状態に切り替えることを制限する信号を出力し、
動作制御部が、前記信号に応じて前記メモリの動作を制御する、
メモリの制御方法。
1、10 半導体装置
1a アクセス検出部
1b 動作制御部
2 アクセス対象回路
11 FIFO
12 アービタ
13 プロトコル制御部
14 Qcnt生成部
15 レジスタ
16 アクセスモニタ
17 tCK/DS制御部
18 I/O回路
18a 出力ドライバ
20−1〜20−n マスタ
22 メモリ

Claims (6)

  1. アクセス対象回路を検証し、検証結果を出力する検証制御部と、
    前記アクセス対象回路へのアクセスを検出し、前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第1の期間に達するまで、前記アクセス対象回路を第1の動作状態よりも消費電力が低い第2の動作状態に切り替えることを制限する第1の信号を出力し、前記アクセス対象回路が前記第2の動作状態のとき、前記検証制御部から、前記検証結果を受けるまでは、前記アクセス対象回路の動作を前記第1の動作状態に切り替えることを制限する第2の信号を出力するアクセス検出部と、
    前記第1の信号または前記第2の信号に応じて前記アクセス対象回路の動作を制御する動作制御部と、
    を有する半導体装置。
  2. 前記第2の動作状態は、前記第1の動作状態よりも周期が長いクロック信号と、前記第1の動作状態よりも小さいドライバ能力で、前記アクセス対象回路を動作させる動作状態である、請求項1に記載の半導体装置。
  3. 前記第2の動作状態は、前記アクセス対象回路の検証を行う動作状態である、請求項1に記載の半導体装置。
  4. 前記第2の動作状態は、前記第1の動作状態よりもコマンドを前記アクセス対象回路に供給する周期が長い動作状態である、請求項1に記載の半導体装置。
  5. 前記第2の動作状態は、前記第1の動作状態よりも1度に動作する回路数が制限された動作状態である、請求項1に記載の半導体装置。
  6. 検証制御部が、メモリを検証し、検証結果を出力し、
    アクセス検出部が、
    前記メモリへのアクセスを検出し、
    前回アクセスされてから次回アクセスされるまでの前記アクセスがない期間が継続し、前記アクセスがない期間が第1の期間に達するまで、前記メモリの動作を第1の動作状態よりも消費電力が低い第2の動作状態に切り替えることを制限する第1の信号を出力し、 前記メモリが前記第2の動作状態のとき、前記検証制御部から、前記検証結果を受けるまでは、前記メモリの動作を前記第1の動作状態に切り替えることを制限する第2の信号を出力し、
    動作制御部が、前記第1の信号または前記第2の信号に応じて前記メモリの動作を制御する、
    メモリの制御方法。
JP2012207076A 2012-09-20 2012-09-20 半導体装置及びメモリの制御方法 Active JP6003449B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012207076A JP6003449B2 (ja) 2012-09-20 2012-09-20 半導体装置及びメモリの制御方法
US14/028,249 US9218855B2 (en) 2012-09-20 2013-09-16 Semiconductor device and memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012207076A JP6003449B2 (ja) 2012-09-20 2012-09-20 半導体装置及びメモリの制御方法

Publications (3)

Publication Number Publication Date
JP2014063279A JP2014063279A (ja) 2014-04-10
JP2014063279A5 JP2014063279A5 (ja) 2015-07-16
JP6003449B2 true JP6003449B2 (ja) 2016-10-05

Family

ID=50274336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012207076A Active JP6003449B2 (ja) 2012-09-20 2012-09-20 半導体装置及びメモリの制御方法

Country Status (2)

Country Link
US (1) US9218855B2 (ja)
JP (1) JP6003449B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6341795B2 (ja) * 2014-08-05 2018-06-13 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びマイクロコンピュータシステム
JP2016036944A (ja) * 2014-08-06 2016-03-22 シャープ株式会社 画像形成装置
KR102319392B1 (ko) * 2015-06-09 2021-11-01 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US11200001B2 (en) * 2020-05-15 2021-12-14 Micron Technology, Inc. Management of power during memory device reset and initialization

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01260690A (ja) * 1988-04-08 1989-10-17 Fujitsu Ltd メモリアクセス制御方式
US5430881A (en) * 1990-12-28 1995-07-04 Dia Semicon Systems Incorporated Supervisory control method and power saving control unit for computer system
JP2868650B2 (ja) * 1991-07-24 1999-03-10 キヤノン株式会社 表示装置
US5835435A (en) * 1997-12-02 1998-11-10 Intel Corporation Method and apparatus for dynamically placing portions of a memory in a reduced power consumtion state
JPH11184554A (ja) * 1997-12-24 1999-07-09 Mitsubishi Electric Corp クロック制御タイプ情報処理装置
JP2002082829A (ja) * 2000-09-06 2002-03-22 Nec Kofu Ltd 消費電力制御装置及び消費電力制御方法
JP2002244917A (ja) * 2001-02-15 2002-08-30 Matsushita Electric Ind Co Ltd アクセス管理装置、およびプログラム
JP4458699B2 (ja) * 2001-03-06 2010-04-28 株式会社東芝 半導体集積回路
JP4765222B2 (ja) * 2001-08-09 2011-09-07 日本電気株式会社 Dram装置
JP4104886B2 (ja) 2002-03-20 2008-06-18 株式会社ルネサステクノロジ 半導体装置
JP2004103153A (ja) * 2002-09-11 2004-04-02 Seiko Epson Corp 不揮発性半導体記憶装置の電圧発生回路
JP2005115906A (ja) * 2003-09-19 2005-04-28 Ricoh Co Ltd メモリ駆動システム
JP2005340879A (ja) * 2004-05-24 2005-12-08 Ricoh Co Ltd 画像形成装置
JP2005339310A (ja) 2004-05-28 2005-12-08 Renesas Technology Corp 半導体装置
JP2006099569A (ja) * 2004-09-30 2006-04-13 Kyocera Mita Corp メモリインタフェース回路及びクロック制御方法
JP2006171952A (ja) * 2004-12-14 2006-06-29 Renesas Technology Corp 半導体集積回路装置
JP4834434B2 (ja) * 2006-03-17 2011-12-14 富士通株式会社 記憶装置の電源制御方法
JP4851962B2 (ja) 2007-02-28 2012-01-11 株式会社東芝 メモリシステム
JP5228468B2 (ja) * 2007-12-17 2013-07-03 富士通セミコンダクター株式会社 システム装置およびシステム装置の動作方法
US9032235B2 (en) * 2012-07-31 2015-05-12 Kabushiki Kaisha Toshiba Semiconductor storage device and method for controlling the semiconductor storage device

Also Published As

Publication number Publication date
JP2014063279A (ja) 2014-04-10
US20140078850A1 (en) 2014-03-20
US9218855B2 (en) 2015-12-22

Similar Documents

Publication Publication Date Title
US11195571B2 (en) Memory device and method with data input
US10566075B2 (en) Electronic device performing training on memory device by rank unit and training method thereof
US9851744B2 (en) Address and control signal training
KR101832552B1 (ko) Dram 당 주소 매김 능력 모드를 위한 방법, 장치 및 시스템
US9978437B2 (en) Apparatuses and methods for dynamic voltage and frequency switching for dynamic random access memory
US20150302907A1 (en) Apparatuses and methods for implementing masked write commands
JP6003449B2 (ja) 半導体装置及びメモリの制御方法
KR20170036544A (ko) 메모리 시스템 및 이의 동작 방법
JP2013065086A (ja) メモリインタフェース回路及びタイミング調整方法
KR102269899B1 (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
JP2007249738A (ja) メモリアクセス制御装置
US9442658B2 (en) Apparatuses and methods including selectively providing a single or separate chip select signals
US9570135B2 (en) Apparatuses and methods to delay memory commands and clock signals
US10242723B1 (en) Method and apparatus for background memory subsystem calibration
US9378791B2 (en) Apparatuses and methods for controlling a clock signal provided to a clock tree
US10423548B2 (en) Memory controller, control method for the memory controller, and control method for memory
US10019170B2 (en) Controlling timing and edge transition of a delayed clock signal and data latching methods using such a delayed clock signal
US10991403B2 (en) Memory calibration with end point replay
JP2014063279A5 (ja)
US20090116311A1 (en) Semiconductor memory device
CN115048041A (zh) 存储器设备的操作方法及包括其的电子设备的操作方法
US20200364165A1 (en) Memory system having memories of different capacities
JP6493044B2 (ja) マルチプロセッサシステム
US8635487B2 (en) Memory interface having extended strobe burst for write timing calibration
US9128511B2 (en) Semiconductor device and operation method thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150527

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160624

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160822

R150 Certificate of patent or registration of utility model

Ref document number: 6003449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150